@openprose/reactor 0.1.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +231 -0
- package/dist/adapters/agent-sdk-passthrough/index.d.ts +8 -0
- package/dist/adapters/agent-sdk-passthrough/index.d.ts.map +1 -0
- package/dist/adapters/agent-sdk-passthrough/index.js +25 -0
- package/dist/adapters/clock-system/index.d.ts +9 -0
- package/dist/adapters/clock-system/index.d.ts.map +1 -0
- package/dist/adapters/clock-system/index.js +39 -0
- package/dist/adapters/connector-static/index.d.ts +11 -0
- package/dist/adapters/connector-static/index.d.ts.map +1 -0
- package/dist/adapters/connector-static/index.js +35 -0
- package/dist/adapters/event-sink-memory/index.d.ts +10 -0
- package/dist/adapters/event-sink-memory/index.d.ts.map +1 -0
- package/dist/adapters/event-sink-memory/index.js +20 -0
- package/dist/adapters/index.d.ts +10 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +25 -0
- package/dist/adapters/json.d.ts +3 -0
- package/dist/adapters/json.d.ts.map +1 -0
- package/dist/adapters/json.js +61 -0
- package/dist/adapters/model-gateway-record-replay/index.d.ts +24 -0
- package/dist/adapters/model-gateway-record-replay/index.d.ts.map +1 -0
- package/dist/adapters/model-gateway-record-replay/index.js +55 -0
- package/dist/adapters/sandbox-null/index.d.ts +3 -0
- package/dist/adapters/sandbox-null/index.d.ts.map +1 -0
- package/dist/adapters/sandbox-null/index.js +8 -0
- package/dist/adapters/storage-fs/index.d.ts +14 -0
- package/dist/adapters/storage-fs/index.d.ts.map +1 -0
- package/dist/adapters/storage-fs/index.js +65 -0
- package/dist/adapters/storage-memory/index.d.ts +11 -0
- package/dist/adapters/storage-memory/index.d.ts.map +1 -0
- package/dist/adapters/storage-memory/index.js +34 -0
- package/dist/adapters/types.d.ts +22 -0
- package/dist/adapters/types.d.ts.map +1 -0
- package/dist/adapters/types.js +97 -0
- package/dist/composition/index.d.ts +79 -0
- package/dist/composition/index.d.ts.map +1 -0
- package/dist/composition/index.js +280 -0
- package/dist/cost/index.d.ts +49 -0
- package/dist/cost/index.d.ts.map +1 -0
- package/dist/cost/index.js +206 -0
- package/dist/evidence-plan/index.d.ts +57 -0
- package/dist/evidence-plan/index.d.ts.map +1 -0
- package/dist/evidence-plan/index.js +164 -0
- package/dist/forecast/index.d.ts +39 -0
- package/dist/forecast/index.d.ts.map +1 -0
- package/dist/forecast/index.js +119 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +29 -0
- package/dist/judge/index.d.ts +29 -0
- package/dist/judge/index.d.ts.map +1 -0
- package/dist/judge/index.js +138 -0
- package/dist/kernel/index.d.ts +170 -0
- package/dist/kernel/index.d.ts.map +1 -0
- package/dist/kernel/index.js +637 -0
- package/dist/memo/index.d.ts +59 -0
- package/dist/memo/index.d.ts.map +1 -0
- package/dist/memo/index.js +189 -0
- package/dist/policy/index.d.ts +249 -0
- package/dist/policy/index.d.ts.map +1 -0
- package/dist/policy/index.js +1463 -0
- package/dist/projection/index.d.ts +119 -0
- package/dist/projection/index.d.ts.map +1 -0
- package/dist/projection/index.js +506 -0
- package/dist/reactor/index.d.ts +54 -0
- package/dist/reactor/index.d.ts.map +1 -0
- package/dist/reactor/index.js +1861 -0
- package/dist/receipt/index.d.ts +190 -0
- package/dist/receipt/index.d.ts.map +1 -0
- package/dist/receipt/index.js +646 -0
- package/dist/sdk/exit-bundle.d.ts +144 -0
- package/dist/sdk/exit-bundle.d.ts.map +1 -0
- package/dist/sdk/exit-bundle.js +1034 -0
- package/dist/sdk/index.d.ts +201 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/index.js +418 -0
- package/package.json +89 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/memo/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InMemoryMemoStoreV0 = exports.MEMO_KEY_VERSION = exports.MEMO_KEY_SCHEMA = void 0;
|
|
4
|
+
exports.computeMemoKeyV0 = computeMemoKeyV0;
|
|
5
|
+
exports.normalizeMemoKeyInput = normalizeMemoKeyInput;
|
|
6
|
+
exports.createMemoHitReceiptV0 = createMemoHitReceiptV0;
|
|
7
|
+
exports.createMemoizedVerdictEntryV0 = createMemoizedVerdictEntryV0;
|
|
8
|
+
exports.namespaceKey = namespaceKey;
|
|
9
|
+
const receipt_1 = require("../receipt");
|
|
10
|
+
exports.MEMO_KEY_SCHEMA = "openprose.memo-key";
|
|
11
|
+
exports.MEMO_KEY_VERSION = 0;
|
|
12
|
+
class InMemoryMemoStoreV0 {
|
|
13
|
+
namespaces = new Map();
|
|
14
|
+
lookup(namespace, memoKey) {
|
|
15
|
+
const scoped = this.namespaces.get(namespaceKey(namespace));
|
|
16
|
+
if (scoped === undefined) {
|
|
17
|
+
return { outcome: "miss", reason: "namespace-empty" };
|
|
18
|
+
}
|
|
19
|
+
const entry = scoped.get(memoKey);
|
|
20
|
+
if (entry === undefined) {
|
|
21
|
+
return { outcome: "miss", reason: "absent" };
|
|
22
|
+
}
|
|
23
|
+
return { outcome: "hit", entry };
|
|
24
|
+
}
|
|
25
|
+
store(namespace, entry) {
|
|
26
|
+
const verification = (0, receipt_1.verifyReceiptV0)(entry.receipt);
|
|
27
|
+
if (!verification.ok) {
|
|
28
|
+
throw new Error("memo entry receipt must verify before storage");
|
|
29
|
+
}
|
|
30
|
+
if (verification.content_hash !== entry.verdict_receipt_hash) {
|
|
31
|
+
throw new Error("memo entry receipt hash must match verdict_receipt_hash");
|
|
32
|
+
}
|
|
33
|
+
if (entry.reusable_tokens <= 0 || !Number.isSafeInteger(entry.reusable_tokens)) {
|
|
34
|
+
throw new Error("memo entry reusable_tokens must be a positive safe integer");
|
|
35
|
+
}
|
|
36
|
+
const key = namespaceKey(namespace);
|
|
37
|
+
const scoped = this.namespaces.get(key) ?? new Map();
|
|
38
|
+
scoped.set(entry.memo_key, entry);
|
|
39
|
+
this.namespaces.set(key, scoped);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.InMemoryMemoStoreV0 = InMemoryMemoStoreV0;
|
|
43
|
+
function computeMemoKeyV0(input) {
|
|
44
|
+
const normalized = normalizeMemoKeyInput(input);
|
|
45
|
+
return (0, receipt_1.hashCanonicalReceiptV0)((0, receipt_1.canonicalizeForReceiptV0)(normalized));
|
|
46
|
+
}
|
|
47
|
+
function normalizeMemoKeyInput(input) {
|
|
48
|
+
assertContentHash(input.contract_revision, "contract_revision");
|
|
49
|
+
const evidenceReceipts = normalizeReceiptHashSet(input.evidence_receipts, "evidence_receipts");
|
|
50
|
+
const dependencyReceipts = normalizeDependencyReceipts(input.dependency_receipts);
|
|
51
|
+
return {
|
|
52
|
+
schema: exports.MEMO_KEY_SCHEMA,
|
|
53
|
+
v: exports.MEMO_KEY_VERSION,
|
|
54
|
+
contract_revision: input.contract_revision,
|
|
55
|
+
evidence_receipts: evidenceReceipts,
|
|
56
|
+
dependency_receipts: dependencyReceipts,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function createMemoHitReceiptV0(input) {
|
|
60
|
+
const verification = (0, receipt_1.verifyReceiptV0)(input.source_receipt);
|
|
61
|
+
if (!verification.ok) {
|
|
62
|
+
throw new Error("source receipt must verify before memo reuse");
|
|
63
|
+
}
|
|
64
|
+
const totalReused = input.source_receipt.cost.tokens.fresh + input.source_receipt.cost.tokens.reused;
|
|
65
|
+
if (totalReused <= 0) {
|
|
66
|
+
throw new Error("source receipt must contain reusable token work");
|
|
67
|
+
}
|
|
68
|
+
const eventCause = input.event_cause ?? input.source_receipt.core.event_cause;
|
|
69
|
+
const core = {
|
|
70
|
+
responsibility_id: input.source_receipt.core.responsibility_id,
|
|
71
|
+
contract_revision: input.source_receipt.core.contract_revision,
|
|
72
|
+
event_cause: eventCause,
|
|
73
|
+
...(eventCause === "forecast-recheck"
|
|
74
|
+
? { recheck_kind: input.recheck_kind ?? "plan-age" }
|
|
75
|
+
: {}),
|
|
76
|
+
memo_key: input.source_receipt.core.memo_key,
|
|
77
|
+
evidence_input_ids: input.source_receipt.core.evidence_input_ids,
|
|
78
|
+
as_of: input.as_of,
|
|
79
|
+
role: input.source_receipt.core.role,
|
|
80
|
+
};
|
|
81
|
+
return (0, receipt_1.createReceiptV0)({
|
|
82
|
+
core,
|
|
83
|
+
sig: (0, receipt_1.createNullSignerReceiptSignatureV0)(),
|
|
84
|
+
verdict: input.source_receipt.verdict,
|
|
85
|
+
freshness: {
|
|
86
|
+
as_of: input.as_of,
|
|
87
|
+
next_forecast_recheck: input.next_forecast_recheck,
|
|
88
|
+
...(input.source_receipt.freshness.transitive_freshness_policy_ref === undefined
|
|
89
|
+
? {}
|
|
90
|
+
: {
|
|
91
|
+
transitive_freshness_policy_ref: input.source_receipt.freshness.transitive_freshness_policy_ref,
|
|
92
|
+
}),
|
|
93
|
+
...(input.source_receipt.freshness.consumed_freshness_evaluated === undefined
|
|
94
|
+
? {}
|
|
95
|
+
: {
|
|
96
|
+
consumed_freshness_evaluated: input.source_receipt.freshness.consumed_freshness_evaluated,
|
|
97
|
+
}),
|
|
98
|
+
},
|
|
99
|
+
composition: input.source_receipt.composition,
|
|
100
|
+
cost: {
|
|
101
|
+
provider: "memo",
|
|
102
|
+
model: "memoized-verdict",
|
|
103
|
+
role: input.source_receipt.core.role,
|
|
104
|
+
tags: ["memo-hit", ...input.source_receipt.cost.tags],
|
|
105
|
+
responsibility_id: input.source_receipt.core.responsibility_id,
|
|
106
|
+
run_id: `memo-hit-${input.as_of}`,
|
|
107
|
+
as_of: input.as_of,
|
|
108
|
+
tokens: {
|
|
109
|
+
fresh: 0,
|
|
110
|
+
reused: totalReused,
|
|
111
|
+
},
|
|
112
|
+
surprise_cause: eventCause,
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
function createMemoizedVerdictEntryV0(memoKey, receipt) {
|
|
117
|
+
const verification = (0, receipt_1.verifyReceiptV0)(receipt);
|
|
118
|
+
if (!verification.ok) {
|
|
119
|
+
throw new Error("memoized verdict receipt must verify");
|
|
120
|
+
}
|
|
121
|
+
return {
|
|
122
|
+
memo_key: memoKey,
|
|
123
|
+
verdict_receipt_hash: verification.content_hash,
|
|
124
|
+
reusable_tokens: receipt.cost.tokens.fresh + receipt.cost.tokens.reused,
|
|
125
|
+
stored_as_of: receipt.core.as_of,
|
|
126
|
+
receipt,
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
function namespaceKey(namespace) {
|
|
130
|
+
if (namespace.policy_artifact_namespace.length === 0 ||
|
|
131
|
+
namespace.policy_artifact_revision.length === 0) {
|
|
132
|
+
throw new Error("policy artifact namespace and revision must be non-empty");
|
|
133
|
+
}
|
|
134
|
+
return (0, receipt_1.canonicalizeForReceiptV0)({
|
|
135
|
+
policy_artifact_namespace: namespace.policy_artifact_namespace,
|
|
136
|
+
policy_artifact_revision: namespace.policy_artifact_revision,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
function normalizeDependencyReceipts(refs) {
|
|
140
|
+
const seen = new Set();
|
|
141
|
+
const normalized = refs.map((ref, index) => {
|
|
142
|
+
assertContentHash(ref.upstream_content_hash, `dependency_receipts[${index}].upstream_content_hash`);
|
|
143
|
+
assertContentHash(ref.contract_revision, `dependency_receipts[${index}].contract_revision`);
|
|
144
|
+
const acceptableSignerSet = normalizeSignerSet(ref.acceptable_signer_set, `dependency_receipts[${index}].acceptable_signer_set`);
|
|
145
|
+
const key = `${ref.upstream_content_hash}\0${ref.contract_revision}\0${acceptableSignerSet.join("\0")}`;
|
|
146
|
+
if (seen.has(key)) {
|
|
147
|
+
throw new Error(`duplicate dependency receipt ref ${ref.upstream_content_hash}`);
|
|
148
|
+
}
|
|
149
|
+
seen.add(key);
|
|
150
|
+
return {
|
|
151
|
+
upstream_content_hash: ref.upstream_content_hash,
|
|
152
|
+
contract_revision: ref.contract_revision,
|
|
153
|
+
acceptable_signer_set: acceptableSignerSet,
|
|
154
|
+
};
|
|
155
|
+
});
|
|
156
|
+
return normalized.sort((left, right) => left.upstream_content_hash.localeCompare(right.upstream_content_hash));
|
|
157
|
+
}
|
|
158
|
+
function normalizeReceiptHashSet(refs, path) {
|
|
159
|
+
const seen = new Set();
|
|
160
|
+
for (const [index, ref] of refs.entries()) {
|
|
161
|
+
assertContentHash(ref, `${path}[${index}]`);
|
|
162
|
+
if (seen.has(ref)) {
|
|
163
|
+
throw new Error(`duplicate ${path} ref ${ref}`);
|
|
164
|
+
}
|
|
165
|
+
seen.add(ref);
|
|
166
|
+
}
|
|
167
|
+
return [...refs].sort((left, right) => left.localeCompare(right));
|
|
168
|
+
}
|
|
169
|
+
function normalizeSignerSet(signers, path) {
|
|
170
|
+
if (signers.length === 0) {
|
|
171
|
+
throw new Error(`${path} must not be empty`);
|
|
172
|
+
}
|
|
173
|
+
const seen = new Set();
|
|
174
|
+
for (const signer of signers) {
|
|
175
|
+
if (signer.length === 0) {
|
|
176
|
+
throw new Error(`${path} contains an empty signer`);
|
|
177
|
+
}
|
|
178
|
+
if (seen.has(signer)) {
|
|
179
|
+
throw new Error(`${path} contains duplicate signer ${signer}`);
|
|
180
|
+
}
|
|
181
|
+
seen.add(signer);
|
|
182
|
+
}
|
|
183
|
+
return [...signers].sort((left, right) => left.localeCompare(right));
|
|
184
|
+
}
|
|
185
|
+
function assertContentHash(value, path) {
|
|
186
|
+
if (!/^sha256:[a-f0-9]{64}$/.test(value)) {
|
|
187
|
+
throw new Error(`${path} must be a sha256 content address`);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import { type JudgedActivations, type KernelBackstopEvaluation, type KernelFacts, type KernelPolicyArtifactValidation, type KernelPredicateExpression, type PredicateEvaluation, type RollbackOutcome } from "../kernel";
|
|
2
|
+
import { type ContentHashV0, type ReceiptEventCauseV0, type ReceiptRoleV0, type ReceiptV0, type ReceiptVerdictStatusV0 } from "../receipt";
|
|
3
|
+
import type { ReactorAgentSdkAdapterV0, ReactorRegistrySnapshotV0 } from "../sdk";
|
|
4
|
+
export declare const POLICY_ARTIFACT_SCHEMA: "openprose.reactor.policy-artifact";
|
|
5
|
+
export declare const POLICY_ARTIFACT_VERSION: 0;
|
|
6
|
+
export declare const POLICY_AUTHOR_REQUEST_SCHEMA: "openprose.reactor.policy-author.request";
|
|
7
|
+
export declare const POLICY_AUTHOR_HISTORY_QUERY_SCHEMA: "openprose.reactor.policy-author.history-query";
|
|
8
|
+
export declare const POLICY_AUTHOR_ARTIFACT_RESPONSE_SCHEMA: "openprose.reactor.policy-author.artifact-response";
|
|
9
|
+
export declare const POLICY_ARTIFACT_VALIDATOR_ID: "@openprose/reactor/policy.validatePolicyArtifactV0";
|
|
10
|
+
export declare const POLICY_DRIFT_FACTS_SCHEMA: "openprose.reactor.policy-drift.facts";
|
|
11
|
+
export declare const POLICY_DRIFT_EVALUATION_SCHEMA: "openprose.reactor.policy-drift.evaluation";
|
|
12
|
+
export declare const POLICY_RECOMPILE_DECISION_SCHEMA: "openprose.reactor.policy-recompile.decision";
|
|
13
|
+
export declare const POLICY_RECOMPILE_EXECUTION_SCHEMA: "openprose.reactor.policy-recompile.execution";
|
|
14
|
+
export declare const POLICY_ROLLBACK_DECISION_SCHEMA: "openprose.reactor.policy-rollback.decision";
|
|
15
|
+
export declare const POLICY_DRIFT_FACT_IDS_V0: readonly ["cost.fresh_tokens_per_maintained_day", "receipt.escalation_precision_7d", "kernel.deep_shallow_contradiction_count_7d"];
|
|
16
|
+
export type PolicyLiveObservableSourceV0 = "connector" | "receipt-log" | "kernel-backstop" | "cost-ledger" | "human-label-stream";
|
|
17
|
+
export type PolicyDriftKnownFactIdV0 = (typeof POLICY_DRIFT_FACT_IDS_V0)[number];
|
|
18
|
+
export interface PolicyLiveObservableV0 {
|
|
19
|
+
readonly id: string;
|
|
20
|
+
readonly source: PolicyLiveObservableSourceV0;
|
|
21
|
+
readonly description: string;
|
|
22
|
+
}
|
|
23
|
+
export interface PolicyCadenceV0 {
|
|
24
|
+
readonly shallow_recheck_ms: number;
|
|
25
|
+
readonly plan_audit_ms: number;
|
|
26
|
+
readonly deep_revalidation_ms: number;
|
|
27
|
+
}
|
|
28
|
+
export interface PolicyHysteresisV0 {
|
|
29
|
+
readonly min_recompile_interval_ms: number;
|
|
30
|
+
readonly enter_degraded_threshold: number;
|
|
31
|
+
readonly exit_degraded_threshold: number;
|
|
32
|
+
readonly warmup_judged_activations: number;
|
|
33
|
+
}
|
|
34
|
+
export interface PolicyThresholdsV0 {
|
|
35
|
+
readonly max_calibration_divergence_multiplier: number;
|
|
36
|
+
readonly escalation_precision_floor: number;
|
|
37
|
+
readonly backstop_deep_contradiction_count: number;
|
|
38
|
+
readonly stale_brief_minutes: number;
|
|
39
|
+
readonly fresh_tokens_per_day_ceiling: number;
|
|
40
|
+
}
|
|
41
|
+
export type PolicyTransitiveFreshnessFunctionV0 = {
|
|
42
|
+
readonly kind: "kernel-default";
|
|
43
|
+
} | {
|
|
44
|
+
readonly kind: "minimum-remaining-freshness-ms";
|
|
45
|
+
readonly minimum_remaining_ms: number;
|
|
46
|
+
};
|
|
47
|
+
export declare const DEFAULT_TRANSITIVE_FRESHNESS_FUNCTION_V0: PolicyTransitiveFreshnessFunctionV0;
|
|
48
|
+
export interface PolicyAuthorReceiptSummaryV0 {
|
|
49
|
+
readonly content_hash: ContentHashV0;
|
|
50
|
+
readonly contract_revision: ContentHashV0;
|
|
51
|
+
readonly as_of: string;
|
|
52
|
+
readonly role: ReceiptRoleV0;
|
|
53
|
+
readonly event_cause: ReceiptEventCauseV0;
|
|
54
|
+
readonly verdict_status: ReceiptVerdictStatusV0;
|
|
55
|
+
readonly next_forecast_recheck: string;
|
|
56
|
+
readonly surprise_cause: ReceiptEventCauseV0;
|
|
57
|
+
}
|
|
58
|
+
export interface PolicyAuthorHistoryQueryV0 {
|
|
59
|
+
readonly schema: typeof POLICY_AUTHOR_HISTORY_QUERY_SCHEMA;
|
|
60
|
+
readonly v: typeof POLICY_ARTIFACT_VERSION;
|
|
61
|
+
readonly selected_receipt_hashes: readonly ContentHashV0[];
|
|
62
|
+
readonly rationale?: string;
|
|
63
|
+
}
|
|
64
|
+
export interface PolicyArtifactProvenanceV0 {
|
|
65
|
+
readonly contract_revision: ContentHashV0;
|
|
66
|
+
readonly receipt_history_summary_hash: ContentHashV0;
|
|
67
|
+
readonly explored_receipt_hashes: readonly ContentHashV0[];
|
|
68
|
+
readonly history_query: PolicyAuthorHistoryQueryV0;
|
|
69
|
+
}
|
|
70
|
+
export interface AuthoredPolicyArtifactV0 {
|
|
71
|
+
readonly schema: typeof POLICY_ARTIFACT_SCHEMA;
|
|
72
|
+
readonly v: typeof POLICY_ARTIFACT_VERSION;
|
|
73
|
+
readonly responsibility_id: string;
|
|
74
|
+
readonly registry_id: string;
|
|
75
|
+
readonly policy_revision: string;
|
|
76
|
+
readonly no_anchor: boolean;
|
|
77
|
+
readonly live_observables: readonly PolicyLiveObservableV0[];
|
|
78
|
+
readonly cadence: PolicyCadenceV0;
|
|
79
|
+
readonly hysteresis: PolicyHysteresisV0;
|
|
80
|
+
readonly thresholds: PolicyThresholdsV0;
|
|
81
|
+
readonly transitive_freshness_function: PolicyTransitiveFreshnessFunctionV0;
|
|
82
|
+
readonly falsification_predicate: KernelPredicateExpression;
|
|
83
|
+
readonly backstop_divergence_predicate?: KernelPredicateExpression;
|
|
84
|
+
readonly provenance: PolicyArtifactProvenanceV0;
|
|
85
|
+
}
|
|
86
|
+
export interface PolicyAuthorHistoryQueryRequestV0 {
|
|
87
|
+
readonly schema: typeof POLICY_AUTHOR_REQUEST_SCHEMA;
|
|
88
|
+
readonly v: typeof POLICY_ARTIFACT_VERSION;
|
|
89
|
+
readonly step: "history-query";
|
|
90
|
+
readonly responsibility_id: string;
|
|
91
|
+
readonly contract_revision: ContentHashV0;
|
|
92
|
+
readonly contract_summary: string;
|
|
93
|
+
readonly no_anchor: boolean;
|
|
94
|
+
readonly live_observables: readonly PolicyLiveObservableV0[];
|
|
95
|
+
readonly receipt_history_summary: readonly PolicyAuthorReceiptSummaryV0[];
|
|
96
|
+
}
|
|
97
|
+
export interface PolicyAuthorArtifactRequestV0 {
|
|
98
|
+
readonly schema: typeof POLICY_AUTHOR_REQUEST_SCHEMA;
|
|
99
|
+
readonly v: typeof POLICY_ARTIFACT_VERSION;
|
|
100
|
+
readonly step: "author-artifact";
|
|
101
|
+
readonly responsibility_id: string;
|
|
102
|
+
readonly contract_revision: ContentHashV0;
|
|
103
|
+
readonly contract_summary: string;
|
|
104
|
+
readonly no_anchor: boolean;
|
|
105
|
+
readonly live_observables: readonly PolicyLiveObservableV0[];
|
|
106
|
+
readonly receipt_history_summary_hash: ContentHashV0;
|
|
107
|
+
readonly history_query: PolicyAuthorHistoryQueryV0;
|
|
108
|
+
readonly selected_receipts: readonly ReceiptV0[];
|
|
109
|
+
}
|
|
110
|
+
export type PolicyAuthorRequestPayloadV0 = PolicyAuthorHistoryQueryRequestV0 | PolicyAuthorArtifactRequestV0;
|
|
111
|
+
export interface AuthorPolicyArtifactV0Input {
|
|
112
|
+
readonly responsibility_id: string;
|
|
113
|
+
readonly contract_revision: ContentHashV0;
|
|
114
|
+
readonly contract_summary: string;
|
|
115
|
+
readonly no_anchor: boolean;
|
|
116
|
+
readonly live_observables: readonly PolicyLiveObservableV0[];
|
|
117
|
+
readonly receipt_history: readonly ReceiptV0[];
|
|
118
|
+
readonly agentSdk: Pick<ReactorAgentSdkAdapterV0, "launch">;
|
|
119
|
+
readonly policy_artifact_namespace?: string;
|
|
120
|
+
}
|
|
121
|
+
export type PolicyArtifactValidationV0 = {
|
|
122
|
+
readonly ok: true;
|
|
123
|
+
readonly artifact: AuthoredPolicyArtifactV0;
|
|
124
|
+
readonly bytes: string;
|
|
125
|
+
readonly content_hash: ContentHashV0;
|
|
126
|
+
readonly kernel_validation: Extract<KernelPolicyArtifactValidation, {
|
|
127
|
+
ok: true;
|
|
128
|
+
}>;
|
|
129
|
+
} | {
|
|
130
|
+
readonly ok: false;
|
|
131
|
+
readonly errors: readonly string[];
|
|
132
|
+
readonly live_observable_refs: readonly string[];
|
|
133
|
+
readonly kernel_validation?: KernelPolicyArtifactValidation;
|
|
134
|
+
};
|
|
135
|
+
export interface DerivePolicyDriftFactsV0Input {
|
|
136
|
+
readonly receipts: readonly ReceiptV0[];
|
|
137
|
+
readonly as_of?: string;
|
|
138
|
+
readonly responsibility_id?: string;
|
|
139
|
+
readonly contract_revision?: ContentHashV0;
|
|
140
|
+
}
|
|
141
|
+
export interface PolicyDriftFactsV0 {
|
|
142
|
+
readonly schema: typeof POLICY_DRIFT_FACTS_SCHEMA;
|
|
143
|
+
readonly v: typeof POLICY_ARTIFACT_VERSION;
|
|
144
|
+
readonly as_of: string | null;
|
|
145
|
+
readonly facts: KernelFacts;
|
|
146
|
+
readonly supported_fact_ids: readonly string[];
|
|
147
|
+
readonly unsupported_fact_ids: readonly string[];
|
|
148
|
+
readonly evidence_receipt_hashes: readonly ContentHashV0[];
|
|
149
|
+
}
|
|
150
|
+
export interface EvaluatePolicyDriftV0Input {
|
|
151
|
+
readonly artifact: AuthoredPolicyArtifactV0;
|
|
152
|
+
readonly receipts: readonly ReceiptV0[];
|
|
153
|
+
readonly as_of?: string;
|
|
154
|
+
}
|
|
155
|
+
export interface EvaluatePolicyDriftV0Options {
|
|
156
|
+
readonly as_of?: string;
|
|
157
|
+
}
|
|
158
|
+
export interface PolicyDriftEvaluationV0 {
|
|
159
|
+
readonly schema: typeof POLICY_DRIFT_EVALUATION_SCHEMA;
|
|
160
|
+
readonly v: typeof POLICY_ARTIFACT_VERSION;
|
|
161
|
+
readonly outcome: "not-tripped" | "tripped" | "indeterminate";
|
|
162
|
+
readonly as_of: string | null;
|
|
163
|
+
readonly policy_artifact_content_hash: ContentHashV0;
|
|
164
|
+
readonly policy_artifact_revision: string;
|
|
165
|
+
readonly facts: KernelFacts;
|
|
166
|
+
readonly evidence_receipt_hashes: readonly ContentHashV0[];
|
|
167
|
+
readonly predicate: PredicateEvaluation;
|
|
168
|
+
readonly missing_fact_ids: readonly string[];
|
|
169
|
+
readonly unsupported_fact_ids: readonly string[];
|
|
170
|
+
}
|
|
171
|
+
export type PolicyRecompileDecisionOutcomeV0 = "no-recompile-needed" | "recompile-requested" | "recompile-delayed" | "needs-judgment";
|
|
172
|
+
export type PolicyRecompileRequestSourceV0 = "policy-drift" | "backstop:max_policy_age" | "backstop:max_policy_age_no_anchor" | "backstop:max_calibration_divergence";
|
|
173
|
+
export interface PlanPolicyRecompileV0Input {
|
|
174
|
+
readonly artifact: AuthoredPolicyArtifactV0;
|
|
175
|
+
readonly receipts: readonly ReceiptV0[];
|
|
176
|
+
readonly as_of: string;
|
|
177
|
+
readonly last_policy_revalidated_at: string;
|
|
178
|
+
readonly last_recompile_at: string;
|
|
179
|
+
readonly observed_calibration_divergence_multiplier?: number;
|
|
180
|
+
readonly calibration_evidence_as_of?: string;
|
|
181
|
+
readonly max_calibration_evidence_age_ms?: number;
|
|
182
|
+
readonly policy_warmup_judged_activations?: number;
|
|
183
|
+
readonly warmup_judged_activations?: number;
|
|
184
|
+
readonly last_unforced_deep_at?: string;
|
|
185
|
+
}
|
|
186
|
+
export interface PolicyRecompileDecisionV0 {
|
|
187
|
+
readonly schema: typeof POLICY_RECOMPILE_DECISION_SCHEMA;
|
|
188
|
+
readonly v: typeof POLICY_ARTIFACT_VERSION;
|
|
189
|
+
readonly outcome: PolicyRecompileDecisionOutcomeV0;
|
|
190
|
+
readonly as_of: string;
|
|
191
|
+
readonly responsibility_id: string;
|
|
192
|
+
readonly contract_revision: ContentHashV0;
|
|
193
|
+
readonly policy_artifact_content_hash: ContentHashV0;
|
|
194
|
+
readonly policy_artifact_revision: string;
|
|
195
|
+
readonly requested_by: readonly PolicyRecompileRequestSourceV0[];
|
|
196
|
+
readonly reasons: readonly string[];
|
|
197
|
+
readonly drift: PolicyDriftEvaluationV0;
|
|
198
|
+
readonly evidence_receipt_hashes: readonly ContentHashV0[];
|
|
199
|
+
readonly backstops: KernelBackstopEvaluation;
|
|
200
|
+
readonly delayed_by?: "min_recompile_interval";
|
|
201
|
+
readonly retry_after_ms?: number;
|
|
202
|
+
}
|
|
203
|
+
export type PolicyRollbackDecisionOutcomeV0 = RollbackOutcome;
|
|
204
|
+
export interface PlanPolicyRollbackV0Input {
|
|
205
|
+
readonly fresh_policy_revision: string;
|
|
206
|
+
readonly fresh_policy_judged_activations_before_trip: number;
|
|
207
|
+
readonly last_known_good_revision?: string;
|
|
208
|
+
readonly last_known_good_judged_activations_before_trip?: number;
|
|
209
|
+
}
|
|
210
|
+
export interface PolicyRollbackDecisionV0 {
|
|
211
|
+
readonly schema: typeof POLICY_ROLLBACK_DECISION_SCHEMA;
|
|
212
|
+
readonly v: typeof POLICY_ARTIFACT_VERSION;
|
|
213
|
+
readonly fresh_policy_revision: string;
|
|
214
|
+
readonly last_known_good_revision?: string;
|
|
215
|
+
readonly fresh_policy_judged_activations_before_trip: JudgedActivations;
|
|
216
|
+
readonly last_known_good_judged_activations_before_trip?: JudgedActivations;
|
|
217
|
+
readonly outcome: PolicyRollbackDecisionOutcomeV0;
|
|
218
|
+
readonly reason: string;
|
|
219
|
+
readonly target_policy_revision?: string;
|
|
220
|
+
}
|
|
221
|
+
export interface ExecutePolicyRecompileV0Input {
|
|
222
|
+
readonly decision: PolicyRecompileDecisionV0;
|
|
223
|
+
readonly author_input?: AuthorPolicyArtifactV0Input;
|
|
224
|
+
}
|
|
225
|
+
export type PolicyRecompileExecutionV0 = {
|
|
226
|
+
readonly schema: typeof POLICY_RECOMPILE_EXECUTION_SCHEMA;
|
|
227
|
+
readonly v: typeof POLICY_ARTIFACT_VERSION;
|
|
228
|
+
readonly outcome: "recompile-authored";
|
|
229
|
+
readonly decision: PolicyRecompileDecisionV0;
|
|
230
|
+
readonly registry: ReactorRegistrySnapshotV0;
|
|
231
|
+
} | {
|
|
232
|
+
readonly schema: typeof POLICY_RECOMPILE_EXECUTION_SCHEMA;
|
|
233
|
+
readonly v: typeof POLICY_ARTIFACT_VERSION;
|
|
234
|
+
readonly outcome: "not-executed";
|
|
235
|
+
readonly decision: PolicyRecompileDecisionV0;
|
|
236
|
+
readonly reason: string;
|
|
237
|
+
};
|
|
238
|
+
export declare function authorPolicyArtifactV0(input: AuthorPolicyArtifactV0Input): ReactorRegistrySnapshotV0;
|
|
239
|
+
export declare function validatePolicyArtifactV0(value: unknown): PolicyArtifactValidationV0;
|
|
240
|
+
export declare function canonicalizePolicyArtifactV0(artifact: AuthoredPolicyArtifactV0): string;
|
|
241
|
+
export declare function normalizePolicyTransitiveFreshnessFunctionV0(value: unknown, path?: string): PolicyTransitiveFreshnessFunctionV0;
|
|
242
|
+
export declare function derivePolicyDriftFactsV0(receipts: readonly ReceiptV0[]): PolicyDriftFactsV0;
|
|
243
|
+
export declare function derivePolicyDriftFactsV0(input: DerivePolicyDriftFactsV0Input): PolicyDriftFactsV0;
|
|
244
|
+
export declare function evaluatePolicyDriftV0(input: EvaluatePolicyDriftV0Input): PolicyDriftEvaluationV0;
|
|
245
|
+
export declare function evaluatePolicyDriftV0(artifact: AuthoredPolicyArtifactV0, receipts: readonly ReceiptV0[], options?: EvaluatePolicyDriftV0Options): PolicyDriftEvaluationV0;
|
|
246
|
+
export declare function planPolicyRecompileV0(input: PlanPolicyRecompileV0Input): PolicyRecompileDecisionV0;
|
|
247
|
+
export declare function executePolicyRecompileV0(input: ExecutePolicyRecompileV0Input): PolicyRecompileExecutionV0;
|
|
248
|
+
export declare function planPolicyRollbackV0(input: PlanPolicyRollbackV0Input): PolicyRollbackDecisionV0;
|
|
249
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/policy/index.ts"],"names":[],"mappings":"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"}
|