Primitree
API reference

Core policy API

Governance policy functions and types from @primitree/core/policy.

Interfaces

PolicyLayerInput

Properties

id

readonly id: string

roots

readonly roots: readonly string[]

values

readonly values: PolicyValueRule

references

readonly references: readonly string[]


PolicyOwnershipInput

Properties

default?

readonly optional default?: readonly string[]

paths?

readonly optional paths?: Readonly<Record<string, readonly string[]>>


PolicyInput

Properties

id

readonly id: string

viewId

readonly viewId: string

layers

readonly layers: readonly PolicyLayerInput[]

ownership?

readonly optional ownership?: PolicyOwnershipInput


PolicyLayer

Properties

id

readonly id: string

roots

readonly roots: readonly string[]

values

readonly values: PolicyValueRule

references

readonly references: readonly string[]


PolicyOwnership

Properties

default

readonly default: readonly string[]

paths

readonly paths: Readonly<Record<string, readonly string[]>>


Policy

Properties

id

readonly id: string

viewId

readonly viewId: GraphViewId

layers

readonly layers: readonly PolicyLayer[]

ownership

readonly ownership: PolicyOwnership


PolicyFinding

Properties

findingId

readonly findingId: PolicyFindingId

ruleId

readonly ruleId: PolicyRuleId

tokenId

readonly tokenId: TokenId

path

readonly path: readonly string[]

message

readonly message: string

owners

readonly owners: readonly string[]

disposition

readonly disposition: PolicyFindingDisposition

layerId?

readonly optional layerId?: string

targetTokenId?

readonly optional targetTokenId?: TokenId


PolicyReport

Properties

policyId

readonly policyId: string

viewId

readonly viewId: GraphViewId

findings

readonly findings: readonly PolicyFinding[]

summary

readonly summary: object

active

readonly active: number

baseline

readonly baseline: number


PolicyEvaluationOptions

Properties

baseline?

readonly optional baseline?: readonly PolicyFindingId[]


PolicyDiagnostic

Properties

code

readonly code: string

phase

readonly phase: "policy"

message

readonly message: string

Type Aliases

PolicyFindingId

PolicyFindingId = string & object

Type Declaration

[policyFindingIdBrand]

readonly [policyFindingIdBrand]: "PolicyFindingId"


PolicyValueRule

PolicyValueRule = "literal" | "reference" | "either"


PolicyRuleId

PolicyRuleId = "PT1001" | "PT1003" | "PT1004" | "PT1005"


PolicyFindingDisposition

PolicyFindingDisposition = "active" | "baseline"


PolicyResult

PolicyResult<Value> = { ok: true; value: Value; diagnostics: readonly []; } | { ok: false; diagnostics: readonly [PolicyDiagnostic]; }

Type Parameters

Value

Value

Functions

createPolicy()

createPolicy(input): PolicyResult<Policy>

Checks and copies a policy configuration.

Parameters

input

unknown

Returns

PolicyResult<Policy>


parsePolicy()

parsePolicy(input): PolicyResult<Policy>

Reads a policy from JSON or an object.

Parameters

input

unknown

Returns

PolicyResult<Policy>


evaluatePolicy()

evaluatePolicy(snapshot, policy, options?): PolicyResult<PolicyReport>

Checks one graph view against a policy.

Parameters

snapshot

GraphSnapshot

policy

Policy

options?

PolicyEvaluationOptions

Returns

PolicyResult<PolicyReport>