@vorionsys/atsf-core 0.2.0 → 0.2.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/README.md +12 -12
- package/dist/api/server.js +4 -4
- package/dist/api/server.js.map +1 -1
- package/dist/basis/parser.d.ts +210 -210
- package/dist/basis/parser.js.map +1 -1
- package/dist/chain/index.d.ts +147 -0
- package/dist/chain/index.d.ts.map +1 -0
- package/dist/chain/index.js +219 -0
- package/dist/chain/index.js.map +1 -0
- package/dist/common/adapters.d.ts +9 -9
- package/dist/common/adapters.d.ts.map +1 -1
- package/dist/common/adapters.js +6 -6
- package/dist/common/config.d.ts +152 -152
- package/dist/common/types.d.ts +32 -15
- package/dist/common/types.d.ts.map +1 -1
- package/dist/common/types.js.map +1 -1
- package/dist/enforce/index.d.ts +226 -16
- package/dist/enforce/index.d.ts.map +1 -1
- package/dist/enforce/index.js +196 -49
- package/dist/enforce/index.js.map +1 -1
- package/dist/index.d.ts +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -3
- package/dist/index.js.map +1 -1
- package/dist/intent/index.d.ts +127 -10
- package/dist/intent/index.d.ts.map +1 -1
- package/dist/intent/index.js +121 -16
- package/dist/intent/index.js.map +1 -1
- package/dist/langchain/executor.d.ts +19 -5
- package/dist/langchain/executor.d.ts.map +1 -1
- package/dist/langchain/executor.js +287 -36
- package/dist/langchain/executor.js.map +1 -1
- package/dist/langchain/index.d.ts +2 -1
- package/dist/langchain/index.d.ts.map +1 -1
- package/dist/langchain/index.js +3 -1
- package/dist/langchain/index.js.map +1 -1
- package/dist/langchain/tools.d.ts.map +1 -1
- package/dist/langchain/tools.js +2 -1
- package/dist/langchain/tools.js.map +1 -1
- package/dist/langchain/types.d.ts +41 -0
- package/dist/langchain/types.d.ts.map +1 -1
- package/dist/layers/index.d.ts +1 -1
- package/dist/layers/index.d.ts.map +1 -1
- package/dist/persistence/file.d.ts +35 -3
- package/dist/persistence/file.d.ts.map +1 -1
- package/dist/persistence/file.js +138 -11
- package/dist/persistence/file.js.map +1 -1
- package/dist/persistence/index.d.ts +10 -1
- package/dist/persistence/index.d.ts.map +1 -1
- package/dist/persistence/index.js +15 -1
- package/dist/persistence/index.js.map +1 -1
- package/dist/persistence/sqlite.d.ts +135 -0
- package/dist/persistence/sqlite.d.ts.map +1 -0
- package/dist/persistence/sqlite.js +372 -0
- package/dist/persistence/sqlite.js.map +1 -0
- package/dist/phase6/ceiling.d.ts +177 -0
- package/dist/phase6/ceiling.d.ts.map +1 -0
- package/dist/phase6/ceiling.js +463 -0
- package/dist/phase6/ceiling.js.map +1 -0
- package/dist/phase6/context.d.ts +207 -0
- package/dist/phase6/context.d.ts.map +1 -0
- package/dist/phase6/context.js +603 -0
- package/dist/phase6/context.js.map +1 -0
- package/dist/phase6/index.d.ts +79 -0
- package/dist/phase6/index.d.ts.map +1 -0
- package/dist/phase6/index.js +152 -0
- package/dist/phase6/index.js.map +1 -0
- package/dist/phase6/presets.d.ts +148 -0
- package/dist/phase6/presets.d.ts.map +1 -0
- package/dist/phase6/presets.js +467 -0
- package/dist/phase6/presets.js.map +1 -0
- package/dist/phase6/provenance.d.ts +148 -0
- package/dist/phase6/provenance.d.ts.map +1 -0
- package/dist/phase6/provenance.js +545 -0
- package/dist/phase6/provenance.js.map +1 -0
- package/dist/phase6/role-gates/index.d.ts +7 -0
- package/dist/phase6/role-gates/index.d.ts.map +1 -0
- package/dist/phase6/role-gates/index.js +7 -0
- package/dist/phase6/role-gates/index.js.map +1 -0
- package/dist/phase6/role-gates/kernel.d.ts +84 -0
- package/dist/phase6/role-gates/kernel.d.ts.map +1 -0
- package/dist/phase6/role-gates/kernel.js +258 -0
- package/dist/phase6/role-gates/kernel.js.map +1 -0
- package/dist/phase6/role-gates/policy.d.ts +110 -0
- package/dist/phase6/role-gates/policy.d.ts.map +1 -0
- package/dist/phase6/role-gates/policy.js +157 -0
- package/dist/phase6/role-gates/policy.js.map +1 -0
- package/dist/phase6/role-gates.d.ts +164 -0
- package/dist/phase6/role-gates.d.ts.map +1 -0
- package/dist/phase6/role-gates.js +536 -0
- package/dist/phase6/role-gates.js.map +1 -0
- package/dist/phase6/types.d.ts +1827 -0
- package/dist/phase6/types.d.ts.map +1 -0
- package/dist/phase6/types.js +450 -0
- package/dist/phase6/types.js.map +1 -0
- package/dist/phase6/weight-presets/canonical.d.ts +93 -0
- package/dist/phase6/weight-presets/canonical.d.ts.map +1 -0
- package/dist/phase6/weight-presets/canonical.js +122 -0
- package/dist/phase6/weight-presets/canonical.js.map +1 -0
- package/dist/phase6/weight-presets/deltas.d.ts +144 -0
- package/dist/phase6/weight-presets/deltas.d.ts.map +1 -0
- package/dist/phase6/weight-presets/deltas.js +184 -0
- package/dist/phase6/weight-presets/deltas.js.map +1 -0
- package/dist/phase6/weight-presets/index.d.ts +8 -0
- package/dist/phase6/weight-presets/index.d.ts.map +1 -0
- package/dist/phase6/weight-presets/index.js +8 -0
- package/dist/phase6/weight-presets/index.js.map +1 -0
- package/dist/phase6/weight-presets/merger.d.ts +79 -0
- package/dist/phase6/weight-presets/merger.d.ts.map +1 -0
- package/dist/phase6/weight-presets/merger.js +161 -0
- package/dist/phase6/weight-presets/merger.js.map +1 -0
- package/dist/proof/index.d.ts +2 -0
- package/dist/proof/index.d.ts.map +1 -1
- package/dist/proof/index.js +24 -0
- package/dist/proof/index.js.map +1 -1
- package/dist/proof/merkle.d.ts +195 -0
- package/dist/proof/merkle.d.ts.map +1 -0
- package/dist/proof/merkle.js +412 -0
- package/dist/proof/merkle.js.map +1 -0
- package/dist/proof/zk-proofs.d.ts +218 -0
- package/dist/proof/zk-proofs.d.ts.map +1 -0
- package/dist/proof/zk-proofs.js +531 -0
- package/dist/proof/zk-proofs.js.map +1 -0
- package/dist/trust-engine/ceiling-enforcement/audit.d.ts +98 -0
- package/dist/trust-engine/ceiling-enforcement/audit.d.ts.map +1 -0
- package/dist/trust-engine/ceiling-enforcement/audit.js +160 -0
- package/dist/trust-engine/ceiling-enforcement/audit.js.map +1 -0
- package/dist/trust-engine/ceiling-enforcement/index.d.ts +6 -0
- package/dist/trust-engine/ceiling-enforcement/index.d.ts.map +1 -0
- package/dist/trust-engine/ceiling-enforcement/index.js +6 -0
- package/dist/trust-engine/ceiling-enforcement/index.js.map +1 -0
- package/dist/trust-engine/ceiling-enforcement/kernel.d.ts +112 -0
- package/dist/trust-engine/ceiling-enforcement/kernel.d.ts.map +1 -0
- package/dist/trust-engine/ceiling-enforcement/kernel.js +158 -0
- package/dist/trust-engine/ceiling-enforcement/kernel.js.map +1 -0
- package/dist/trust-engine/context-policy/enforcement.d.ts +62 -0
- package/dist/trust-engine/context-policy/enforcement.d.ts.map +1 -0
- package/dist/trust-engine/context-policy/enforcement.js +104 -0
- package/dist/trust-engine/context-policy/enforcement.js.map +1 -0
- package/dist/trust-engine/context-policy/factory.d.ts +75 -0
- package/dist/trust-engine/context-policy/factory.d.ts.map +1 -0
- package/dist/trust-engine/context-policy/factory.js +130 -0
- package/dist/trust-engine/context-policy/factory.js.map +1 -0
- package/dist/trust-engine/context-policy/index.d.ts +6 -0
- package/dist/trust-engine/context-policy/index.d.ts.map +1 -0
- package/dist/trust-engine/context-policy/index.js +6 -0
- package/dist/trust-engine/context-policy/index.js.map +1 -0
- package/dist/trust-engine/creation-modifiers/index.d.ts +5 -0
- package/dist/trust-engine/creation-modifiers/index.d.ts.map +1 -0
- package/dist/trust-engine/creation-modifiers/index.js +5 -0
- package/dist/trust-engine/creation-modifiers/index.js.map +1 -0
- package/dist/trust-engine/creation-modifiers/types.d.ts +112 -0
- package/dist/trust-engine/creation-modifiers/types.d.ts.map +1 -0
- package/dist/trust-engine/creation-modifiers/types.js +166 -0
- package/dist/trust-engine/creation-modifiers/types.js.map +1 -0
- package/dist/trust-engine/index.d.ts +54 -1
- package/dist/trust-engine/index.d.ts.map +1 -1
- package/dist/trust-engine/index.js +118 -1
- package/dist/trust-engine/index.js.map +1 -1
- package/dist/trust-engine/phase6-types.d.ts +123 -0
- package/dist/trust-engine/phase6-types.d.ts.map +1 -0
- package/dist/trust-engine/phase6-types.js +88 -0
- package/dist/trust-engine/phase6-types.js.map +1 -0
- package/package.json +19 -7
|
@@ -0,0 +1,467 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Q4: Federated Weight Presets with Derivation Chains
|
|
3
|
+
*
|
|
4
|
+
* Implements 3-Tier Federation:
|
|
5
|
+
* - Tier 1: ACI Canonical (immutable, spec-defined)
|
|
6
|
+
* - Tier 2: Vorion Reference (platform defaults)
|
|
7
|
+
* - Tier 3: Axiom Deployment (org-specific derivations)
|
|
8
|
+
*
|
|
9
|
+
* Key Features:
|
|
10
|
+
* - Cryptographic derivation chains
|
|
11
|
+
* - Delta tracking (what changed from parent)
|
|
12
|
+
* - Regulator-verifiable lineage
|
|
13
|
+
* - Weight normalization (sum to 1.0)
|
|
14
|
+
*
|
|
15
|
+
* @packageDocumentation
|
|
16
|
+
*/
|
|
17
|
+
import { createLogger } from '../common/logger.js';
|
|
18
|
+
import { ACI_CANONICAL_PRESETS, trustPresetSchema, presetLineageSchema, trustWeightsSchema, } from './types.js';
|
|
19
|
+
const logger = createLogger({ component: 'phase6:presets' });
|
|
20
|
+
// =============================================================================
|
|
21
|
+
// HASH UTILITIES
|
|
22
|
+
// =============================================================================
|
|
23
|
+
/**
|
|
24
|
+
* Calculate SHA-256 hash for preset integrity
|
|
25
|
+
*/
|
|
26
|
+
async function calculateHash(data) {
|
|
27
|
+
const encoder = new TextEncoder();
|
|
28
|
+
const dataBuffer = encoder.encode(data);
|
|
29
|
+
const hashBuffer = await crypto.subtle.digest('SHA-256', dataBuffer);
|
|
30
|
+
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
|
31
|
+
return hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Hash preset data deterministically
|
|
35
|
+
*/
|
|
36
|
+
async function hashPresetData(preset) {
|
|
37
|
+
const data = {
|
|
38
|
+
presetId: preset.presetId,
|
|
39
|
+
name: preset.name,
|
|
40
|
+
source: preset.source,
|
|
41
|
+
version: preset.version,
|
|
42
|
+
weights: preset.weights,
|
|
43
|
+
parentPresetId: preset.parentPresetId,
|
|
44
|
+
createdAt: preset.createdAt.toISOString(),
|
|
45
|
+
createdBy: preset.createdBy,
|
|
46
|
+
};
|
|
47
|
+
return calculateHash(JSON.stringify(data));
|
|
48
|
+
}
|
|
49
|
+
// =============================================================================
|
|
50
|
+
// WEIGHT UTILITIES
|
|
51
|
+
// =============================================================================
|
|
52
|
+
/**
|
|
53
|
+
* Normalize weights to sum to 1.0
|
|
54
|
+
*/
|
|
55
|
+
export function normalizeWeights(weights) {
|
|
56
|
+
const sum = weights.observability + weights.capability + weights.behavior + weights.governance + weights.context;
|
|
57
|
+
if (Math.abs(sum - 1.0) < 0.001) {
|
|
58
|
+
return weights; // Already normalized
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
observability: weights.observability / sum,
|
|
62
|
+
capability: weights.capability / sum,
|
|
63
|
+
behavior: weights.behavior / sum,
|
|
64
|
+
governance: weights.governance / sum,
|
|
65
|
+
context: weights.context / sum,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Validate weights sum to 1.0
|
|
70
|
+
*/
|
|
71
|
+
export function validateWeights(weights) {
|
|
72
|
+
const result = trustWeightsSchema.safeParse(weights);
|
|
73
|
+
if (!result.success) {
|
|
74
|
+
return { valid: false, reason: result.error.message };
|
|
75
|
+
}
|
|
76
|
+
return { valid: true };
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Calculate delta between two weight sets
|
|
80
|
+
*/
|
|
81
|
+
export function calculateWeightsDelta(parent, child) {
|
|
82
|
+
const delta = {};
|
|
83
|
+
if (Math.abs(child.observability - parent.observability) > 0.001) {
|
|
84
|
+
delta.observability = child.observability - parent.observability;
|
|
85
|
+
}
|
|
86
|
+
if (Math.abs(child.capability - parent.capability) > 0.001) {
|
|
87
|
+
delta.capability = child.capability - parent.capability;
|
|
88
|
+
}
|
|
89
|
+
if (Math.abs(child.behavior - parent.behavior) > 0.001) {
|
|
90
|
+
delta.behavior = child.behavior - parent.behavior;
|
|
91
|
+
}
|
|
92
|
+
if (Math.abs(child.governance - parent.governance) > 0.001) {
|
|
93
|
+
delta.governance = child.governance - parent.governance;
|
|
94
|
+
}
|
|
95
|
+
if (Math.abs(child.context - parent.context) > 0.001) {
|
|
96
|
+
delta.context = child.context - parent.context;
|
|
97
|
+
}
|
|
98
|
+
return delta;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Apply delta to weights
|
|
102
|
+
*/
|
|
103
|
+
export function applyWeightsDelta(base, delta) {
|
|
104
|
+
return normalizeWeights({
|
|
105
|
+
observability: base.observability + (delta.observability ?? 0),
|
|
106
|
+
capability: base.capability + (delta.capability ?? 0),
|
|
107
|
+
behavior: base.behavior + (delta.behavior ?? 0),
|
|
108
|
+
governance: base.governance + (delta.governance ?? 0),
|
|
109
|
+
context: base.context + (delta.context ?? 0),
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
// =============================================================================
|
|
113
|
+
// TIER 1: ACI CANONICAL PRESETS (IMMUTABLE)
|
|
114
|
+
// =============================================================================
|
|
115
|
+
/**
|
|
116
|
+
* Get an ACI canonical preset by ID
|
|
117
|
+
*/
|
|
118
|
+
export function getACIPreset(presetId) {
|
|
119
|
+
return ACI_CANONICAL_PRESETS[presetId];
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Get all ACI canonical presets
|
|
123
|
+
*/
|
|
124
|
+
export function getAllACIPresets() {
|
|
125
|
+
return Object.values(ACI_CANONICAL_PRESETS);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Verify ACI preset is authentic (hash matches known value)
|
|
129
|
+
*/
|
|
130
|
+
export function verifyACIPreset(preset) {
|
|
131
|
+
const canonical = ACI_CANONICAL_PRESETS[preset.presetId];
|
|
132
|
+
if (!canonical)
|
|
133
|
+
return false;
|
|
134
|
+
return preset.presetHash === canonical.presetHash;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Derive a new preset from a parent
|
|
138
|
+
* Maintains cryptographic link to parent for lineage tracking.
|
|
139
|
+
*/
|
|
140
|
+
export async function derivePreset(input) {
|
|
141
|
+
const { parentPreset, weightOverrides, ...rest } = input;
|
|
142
|
+
// Calculate new weights
|
|
143
|
+
let newWeights;
|
|
144
|
+
let delta;
|
|
145
|
+
if (weightOverrides) {
|
|
146
|
+
// Apply overrides and normalize
|
|
147
|
+
newWeights = normalizeWeights({
|
|
148
|
+
observability: weightOverrides.observability ?? parentPreset.weights.observability,
|
|
149
|
+
capability: weightOverrides.capability ?? parentPreset.weights.capability,
|
|
150
|
+
behavior: weightOverrides.behavior ?? parentPreset.weights.behavior,
|
|
151
|
+
governance: weightOverrides.governance ?? parentPreset.weights.governance,
|
|
152
|
+
context: weightOverrides.context ?? parentPreset.weights.context,
|
|
153
|
+
});
|
|
154
|
+
delta = calculateWeightsDelta(parentPreset.weights, newWeights);
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
// Copy parent weights exactly
|
|
158
|
+
newWeights = { ...parentPreset.weights };
|
|
159
|
+
}
|
|
160
|
+
// Validate weights
|
|
161
|
+
const weightResult = validateWeights(newWeights);
|
|
162
|
+
if (!weightResult.valid) {
|
|
163
|
+
throw new Error(`Invalid weights: ${weightResult.reason}`);
|
|
164
|
+
}
|
|
165
|
+
// Validate source hierarchy
|
|
166
|
+
const sourceOrder = ['aci', 'vorion', 'axiom'];
|
|
167
|
+
const parentSourceIdx = sourceOrder.indexOf(parentPreset.source);
|
|
168
|
+
const childSourceIdx = sourceOrder.indexOf(input.source);
|
|
169
|
+
if (childSourceIdx < parentSourceIdx) {
|
|
170
|
+
throw new Error(`Cannot derive ${input.source} preset from ${parentPreset.source} - must be same level or lower in hierarchy`);
|
|
171
|
+
}
|
|
172
|
+
const now = new Date();
|
|
173
|
+
const presetData = {
|
|
174
|
+
presetId: rest.presetId,
|
|
175
|
+
name: rest.name,
|
|
176
|
+
description: rest.description,
|
|
177
|
+
source: rest.source,
|
|
178
|
+
version: 1,
|
|
179
|
+
weights: newWeights,
|
|
180
|
+
parentPresetId: parentPreset.presetId,
|
|
181
|
+
parentHash: parentPreset.presetHash,
|
|
182
|
+
derivationDelta: delta,
|
|
183
|
+
createdAt: now,
|
|
184
|
+
createdBy: rest.createdBy,
|
|
185
|
+
comment: rest.comment,
|
|
186
|
+
};
|
|
187
|
+
const presetHash = await hashPresetData(presetData);
|
|
188
|
+
const preset = {
|
|
189
|
+
...presetData,
|
|
190
|
+
presetHash,
|
|
191
|
+
};
|
|
192
|
+
// Validate with Zod
|
|
193
|
+
const parsed = trustPresetSchema.safeParse(preset);
|
|
194
|
+
if (!parsed.success) {
|
|
195
|
+
throw new Error(`Invalid preset: ${parsed.error.message}`);
|
|
196
|
+
}
|
|
197
|
+
logger.info({
|
|
198
|
+
presetId: preset.presetId,
|
|
199
|
+
source: preset.source,
|
|
200
|
+
parentPresetId: parentPreset.presetId,
|
|
201
|
+
}, 'Preset derived');
|
|
202
|
+
return Object.freeze(preset);
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Create a Vorion reference preset from ACI canonical
|
|
206
|
+
*/
|
|
207
|
+
export async function createVorionPreset(presetId, name, description, aciPresetId, weightOverrides, comment, createdBy) {
|
|
208
|
+
const aciPreset = getACIPreset(aciPresetId);
|
|
209
|
+
if (!aciPreset) {
|
|
210
|
+
throw new Error(`ACI preset ${aciPresetId} not found`);
|
|
211
|
+
}
|
|
212
|
+
return derivePreset({
|
|
213
|
+
presetId,
|
|
214
|
+
name,
|
|
215
|
+
description,
|
|
216
|
+
source: 'vorion',
|
|
217
|
+
parentPreset: aciPreset,
|
|
218
|
+
weightOverrides,
|
|
219
|
+
comment,
|
|
220
|
+
createdBy,
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Create an Axiom deployment preset from Vorion reference
|
|
225
|
+
*/
|
|
226
|
+
export async function createAxiomPreset(presetId, name, description, vorionPreset, weightOverrides, comment, createdBy) {
|
|
227
|
+
if (vorionPreset.source !== 'vorion' && vorionPreset.source !== 'aci') {
|
|
228
|
+
throw new Error(`Axiom preset must derive from Vorion or ACI preset, got ${vorionPreset.source}`);
|
|
229
|
+
}
|
|
230
|
+
return derivePreset({
|
|
231
|
+
presetId,
|
|
232
|
+
name,
|
|
233
|
+
description,
|
|
234
|
+
source: 'axiom',
|
|
235
|
+
parentPreset: vorionPreset,
|
|
236
|
+
weightOverrides,
|
|
237
|
+
comment,
|
|
238
|
+
createdBy,
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
// =============================================================================
|
|
242
|
+
// LINEAGE TRACKING
|
|
243
|
+
// =============================================================================
|
|
244
|
+
/**
|
|
245
|
+
* Build complete lineage for a preset
|
|
246
|
+
*/
|
|
247
|
+
export async function buildPresetLineage(preset, presetRegistry) {
|
|
248
|
+
const chain = [];
|
|
249
|
+
const hashes = [];
|
|
250
|
+
let current = preset;
|
|
251
|
+
while (current) {
|
|
252
|
+
chain.unshift(current.presetId);
|
|
253
|
+
hashes.unshift(current.presetHash);
|
|
254
|
+
if (current.parentPresetId) {
|
|
255
|
+
// Check ACI presets first
|
|
256
|
+
current = ACI_CANONICAL_PRESETS[current.parentPresetId] ?? presetRegistry.get(current.parentPresetId);
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
current = undefined;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
const lineage = {
|
|
263
|
+
leafPresetId: preset.presetId,
|
|
264
|
+
chain,
|
|
265
|
+
hashes,
|
|
266
|
+
verified: false, // Needs regulator verification
|
|
267
|
+
};
|
|
268
|
+
// Validate with Zod
|
|
269
|
+
const parsed = presetLineageSchema.safeParse(lineage);
|
|
270
|
+
if (!parsed.success) {
|
|
271
|
+
throw new Error(`Invalid lineage: ${parsed.error.message}`);
|
|
272
|
+
}
|
|
273
|
+
return lineage;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Verify preset lineage integrity
|
|
277
|
+
*/
|
|
278
|
+
export async function verifyPresetLineage(lineage, presetRegistry) {
|
|
279
|
+
const issues = [];
|
|
280
|
+
if (lineage.chain.length !== lineage.hashes.length) {
|
|
281
|
+
issues.push('Chain and hash lengths mismatch');
|
|
282
|
+
return { valid: false, issues };
|
|
283
|
+
}
|
|
284
|
+
// Verify each link in the chain
|
|
285
|
+
for (let i = 0; i < lineage.chain.length; i++) {
|
|
286
|
+
const presetId = lineage.chain[i];
|
|
287
|
+
const expectedHash = lineage.hashes[i];
|
|
288
|
+
// Find preset
|
|
289
|
+
const preset = ACI_CANONICAL_PRESETS[presetId] ?? presetRegistry.get(presetId);
|
|
290
|
+
if (!preset) {
|
|
291
|
+
issues.push(`Preset ${presetId} not found in registry`);
|
|
292
|
+
continue;
|
|
293
|
+
}
|
|
294
|
+
if (preset.presetHash !== expectedHash) {
|
|
295
|
+
issues.push(`Hash mismatch for ${presetId} - expected ${expectedHash}, got ${preset.presetHash}`);
|
|
296
|
+
}
|
|
297
|
+
// Verify parent link (except for root)
|
|
298
|
+
if (i > 0) {
|
|
299
|
+
const expectedParentId = lineage.chain[i - 1];
|
|
300
|
+
if (preset.parentPresetId !== expectedParentId) {
|
|
301
|
+
issues.push(`Parent link broken: ${presetId} should reference ${expectedParentId}, references ${preset.parentPresetId}`);
|
|
302
|
+
}
|
|
303
|
+
const expectedParentHash = lineage.hashes[i - 1];
|
|
304
|
+
if (preset.parentHash !== expectedParentHash) {
|
|
305
|
+
issues.push(`Parent hash mismatch for ${presetId}`);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
return {
|
|
310
|
+
valid: issues.length === 0,
|
|
311
|
+
issues,
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Mark lineage as verified by regulator
|
|
316
|
+
*/
|
|
317
|
+
export function markLineageVerified(lineage, verifiedBy) {
|
|
318
|
+
return {
|
|
319
|
+
...lineage,
|
|
320
|
+
verified: true,
|
|
321
|
+
verifiedAt: new Date(),
|
|
322
|
+
verifiedBy,
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
// =============================================================================
|
|
326
|
+
// PRESET SERVICE
|
|
327
|
+
// =============================================================================
|
|
328
|
+
/**
|
|
329
|
+
* Service for managing federated weight presets
|
|
330
|
+
*/
|
|
331
|
+
export class PresetService {
|
|
332
|
+
vorionPresets = new Map();
|
|
333
|
+
axiomPresets = new Map();
|
|
334
|
+
lineages = new Map();
|
|
335
|
+
/**
|
|
336
|
+
* Get all presets (combined)
|
|
337
|
+
*/
|
|
338
|
+
getAllPresets() {
|
|
339
|
+
const all = new Map();
|
|
340
|
+
// Add ACI canonical
|
|
341
|
+
for (const [id, preset] of Object.entries(ACI_CANONICAL_PRESETS)) {
|
|
342
|
+
all.set(id, preset);
|
|
343
|
+
}
|
|
344
|
+
// Add Vorion reference
|
|
345
|
+
for (const [id, preset] of this.vorionPresets) {
|
|
346
|
+
all.set(id, preset);
|
|
347
|
+
}
|
|
348
|
+
// Add Axiom deployment
|
|
349
|
+
for (const [id, preset] of this.axiomPresets) {
|
|
350
|
+
all.set(id, preset);
|
|
351
|
+
}
|
|
352
|
+
return all;
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Get preset by ID (searches all tiers)
|
|
356
|
+
*/
|
|
357
|
+
getPreset(presetId) {
|
|
358
|
+
return (ACI_CANONICAL_PRESETS[presetId] ??
|
|
359
|
+
this.vorionPresets.get(presetId) ??
|
|
360
|
+
this.axiomPresets.get(presetId));
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Create and register a Vorion reference preset
|
|
364
|
+
*/
|
|
365
|
+
async createVorionPreset(presetId, name, description, aciPresetId, weightOverrides, comment, createdBy = 'system') {
|
|
366
|
+
const preset = await createVorionPreset(presetId, name, description, aciPresetId, weightOverrides, comment ?? '', createdBy);
|
|
367
|
+
this.vorionPresets.set(presetId, preset);
|
|
368
|
+
// Build and store lineage
|
|
369
|
+
const lineage = await buildPresetLineage(preset, this.getAllPresets());
|
|
370
|
+
this.lineages.set(presetId, lineage);
|
|
371
|
+
return preset;
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* Create and register an Axiom deployment preset
|
|
375
|
+
*/
|
|
376
|
+
async createAxiomPreset(presetId, name, description, parentPresetId, weightOverrides, comment, createdBy = 'system') {
|
|
377
|
+
const parentPreset = this.getPreset(parentPresetId);
|
|
378
|
+
if (!parentPreset) {
|
|
379
|
+
throw new Error(`Parent preset ${parentPresetId} not found`);
|
|
380
|
+
}
|
|
381
|
+
const preset = await createAxiomPreset(presetId, name, description, parentPreset, weightOverrides, comment ?? '', createdBy);
|
|
382
|
+
this.axiomPresets.set(presetId, preset);
|
|
383
|
+
// Build and store lineage
|
|
384
|
+
const lineage = await buildPresetLineage(preset, this.getAllPresets());
|
|
385
|
+
this.lineages.set(presetId, lineage);
|
|
386
|
+
return preset;
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Get lineage for a preset
|
|
390
|
+
*/
|
|
391
|
+
getLineage(presetId) {
|
|
392
|
+
return this.lineages.get(presetId);
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* Verify a preset's lineage
|
|
396
|
+
*/
|
|
397
|
+
async verifyLineage(presetId) {
|
|
398
|
+
const lineage = this.lineages.get(presetId);
|
|
399
|
+
if (!lineage) {
|
|
400
|
+
return { valid: false, issues: ['Lineage not found'] };
|
|
401
|
+
}
|
|
402
|
+
return verifyPresetLineage(lineage, this.getAllPresets());
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* Mark lineage as regulator-verified
|
|
406
|
+
*/
|
|
407
|
+
markVerified(presetId, verifiedBy) {
|
|
408
|
+
const lineage = this.lineages.get(presetId);
|
|
409
|
+
if (!lineage) {
|
|
410
|
+
throw new Error(`Lineage for ${presetId} not found`);
|
|
411
|
+
}
|
|
412
|
+
this.lineages.set(presetId, markLineageVerified(lineage, verifiedBy));
|
|
413
|
+
logger.info({ presetId, verifiedBy }, 'Lineage marked as verified');
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Get statistics
|
|
417
|
+
*/
|
|
418
|
+
getStats() {
|
|
419
|
+
const verifiedCount = Array.from(this.lineages.values()).filter((l) => l.verified).length;
|
|
420
|
+
return {
|
|
421
|
+
aciPresets: Object.keys(ACI_CANONICAL_PRESETS).length,
|
|
422
|
+
vorionPresets: this.vorionPresets.size,
|
|
423
|
+
axiomPresets: this.axiomPresets.size,
|
|
424
|
+
verifiedLineages: verifiedCount,
|
|
425
|
+
};
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Create a new preset service instance
|
|
430
|
+
*/
|
|
431
|
+
export function createPresetService() {
|
|
432
|
+
return new PresetService();
|
|
433
|
+
}
|
|
434
|
+
// =============================================================================
|
|
435
|
+
// VORION REFERENCE PRESETS (Built-in)
|
|
436
|
+
// =============================================================================
|
|
437
|
+
/**
|
|
438
|
+
* Initialize Vorion reference presets
|
|
439
|
+
* These are the platform defaults derived from ACI canonical.
|
|
440
|
+
*/
|
|
441
|
+
export async function initializeVorionPresets(service) {
|
|
442
|
+
// High-security preset (emphasizes observability + governance)
|
|
443
|
+
await service.createVorionPreset('vorion:preset:high-security', 'High Security', 'For high-risk operations requiring maximum visibility', 'aci:preset:conservative', {
|
|
444
|
+
observability: 0.35,
|
|
445
|
+
governance: 0.30,
|
|
446
|
+
behavior: 0.20,
|
|
447
|
+
capability: 0.10,
|
|
448
|
+
context: 0.05,
|
|
449
|
+
}, 'Vorion platform default for T4+ agents in regulated environments', '@vorion/platform');
|
|
450
|
+
// Balanced autonomy preset (for general use)
|
|
451
|
+
await service.createVorionPreset('vorion:preset:balanced-autonomy', 'Balanced Autonomy', 'Default preset for most agents', 'aci:preset:balanced', undefined, // Use ACI balanced weights exactly
|
|
452
|
+
'Vorion platform default for general-purpose agents', '@vorion/platform');
|
|
453
|
+
// Performance-focused preset (emphasizes capability)
|
|
454
|
+
await service.createVorionPreset('vorion:preset:performance', 'Performance Focused', 'For agents where capability is primary concern', 'aci:preset:capability-focused', {
|
|
455
|
+
capability: 0.40,
|
|
456
|
+
behavior: 0.25,
|
|
457
|
+
observability: 0.15,
|
|
458
|
+
governance: 0.10,
|
|
459
|
+
context: 0.10,
|
|
460
|
+
}, 'Vorion platform default for compute-intensive agents', '@vorion/platform');
|
|
461
|
+
logger.info('Vorion reference presets initialized');
|
|
462
|
+
}
|
|
463
|
+
// =============================================================================
|
|
464
|
+
// EXPORTS
|
|
465
|
+
// =============================================================================
|
|
466
|
+
export { ACI_CANONICAL_PRESETS, } from './types.js';
|
|
467
|
+
//# sourceMappingURL=presets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/phase6/presets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Q5: Provenance Capture + Policy Interpretation
|
|
3
|
+
*
|
|
4
|
+
* Separates immutable provenance (what) from mutable policy (how to interpret):
|
|
5
|
+
* - AgentProvenance: IMMUTABLE - captured at instantiation
|
|
6
|
+
* - CreationModifierPolicy: MUTABLE - can evolve independently
|
|
7
|
+
*
|
|
8
|
+
* Key Features:
|
|
9
|
+
* - Tamper-proof provenance records
|
|
10
|
+
* - Policy versioning with supersession chains
|
|
11
|
+
* - Condition-based modifier evaluation
|
|
12
|
+
* - Full audit trail for regulator review
|
|
13
|
+
*
|
|
14
|
+
* @packageDocumentation
|
|
15
|
+
*/
|
|
16
|
+
import { type AgentProvenance, type CreationModifierPolicy, type CreationModifierConditions, type ModifierEvaluationRecord, CreationType } from './types.js';
|
|
17
|
+
/**
|
|
18
|
+
* Input for creating agent provenance
|
|
19
|
+
*/
|
|
20
|
+
export interface CreateProvenanceInput {
|
|
21
|
+
agentId: string;
|
|
22
|
+
creationType: CreationType;
|
|
23
|
+
parentAgentId?: string;
|
|
24
|
+
parentProvenance?: AgentProvenance;
|
|
25
|
+
createdBy: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Create immutable agent provenance record
|
|
29
|
+
* This captures the origin story of an agent and cannot be modified.
|
|
30
|
+
*/
|
|
31
|
+
export declare function createProvenance(input: CreateProvenanceInput): Promise<AgentProvenance>;
|
|
32
|
+
/**
|
|
33
|
+
* Verify provenance integrity
|
|
34
|
+
*/
|
|
35
|
+
export declare function verifyProvenance(provenance: AgentProvenance): Promise<{
|
|
36
|
+
valid: boolean;
|
|
37
|
+
reason?: string;
|
|
38
|
+
}>;
|
|
39
|
+
/**
|
|
40
|
+
* Default modifiers per creation type
|
|
41
|
+
*/
|
|
42
|
+
export declare const DEFAULT_CREATION_MODIFIERS: Record<CreationType, number>;
|
|
43
|
+
/**
|
|
44
|
+
* Input for creating modifier policy
|
|
45
|
+
*/
|
|
46
|
+
export interface CreateModifierPolicyInput {
|
|
47
|
+
policyId: string;
|
|
48
|
+
creationType: CreationType;
|
|
49
|
+
baselineModifier?: number;
|
|
50
|
+
conditions?: CreationModifierConditions;
|
|
51
|
+
effectiveFrom?: Date;
|
|
52
|
+
effectiveUntil?: Date;
|
|
53
|
+
createdBy: string;
|
|
54
|
+
supersedes?: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Create a new creation modifier policy
|
|
58
|
+
*/
|
|
59
|
+
export declare function createModifierPolicy(input: CreateModifierPolicyInput): Promise<CreationModifierPolicy>;
|
|
60
|
+
/**
|
|
61
|
+
* Create a new version of an existing policy
|
|
62
|
+
*/
|
|
63
|
+
export declare function updateModifierPolicy(existingPolicy: CreationModifierPolicy, updates: Partial<Omit<CreateModifierPolicyInput, 'policyId' | 'creationType' | 'createdBy'>>, updatedBy: string): Promise<CreationModifierPolicy>;
|
|
64
|
+
/**
|
|
65
|
+
* Evaluation context for modifier calculation
|
|
66
|
+
*/
|
|
67
|
+
export interface ModifierEvaluationContext {
|
|
68
|
+
provenance: AgentProvenance;
|
|
69
|
+
parentProvenance?: AgentProvenance;
|
|
70
|
+
parentTrustScore?: number;
|
|
71
|
+
organizationId?: string;
|
|
72
|
+
attestations?: string[];
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Evaluate modifier for a provenance record
|
|
76
|
+
*/
|
|
77
|
+
export declare function evaluateModifier(context: ModifierEvaluationContext, policies: CreationModifierPolicy[]): Promise<ModifierEvaluationRecord>;
|
|
78
|
+
/**
|
|
79
|
+
* Service for managing agent provenance and modifier policies
|
|
80
|
+
*/
|
|
81
|
+
export declare class ProvenanceService {
|
|
82
|
+
private provenances;
|
|
83
|
+
private policies;
|
|
84
|
+
private evaluations;
|
|
85
|
+
/**
|
|
86
|
+
* Create and register provenance for an agent
|
|
87
|
+
*/
|
|
88
|
+
createProvenance(input: CreateProvenanceInput): Promise<AgentProvenance>;
|
|
89
|
+
/**
|
|
90
|
+
* Get provenance for an agent
|
|
91
|
+
*/
|
|
92
|
+
getProvenance(agentId: string): AgentProvenance | undefined;
|
|
93
|
+
/**
|
|
94
|
+
* Create a new modifier policy
|
|
95
|
+
*/
|
|
96
|
+
createPolicy(input: CreateModifierPolicyInput): Promise<CreationModifierPolicy>;
|
|
97
|
+
/**
|
|
98
|
+
* Update an existing policy
|
|
99
|
+
*/
|
|
100
|
+
updatePolicy(policyId: string, updates: Partial<Omit<CreateModifierPolicyInput, 'policyId' | 'creationType' | 'createdBy'>>, updatedBy: string): Promise<CreationModifierPolicy>;
|
|
101
|
+
/**
|
|
102
|
+
* Get current version of a policy
|
|
103
|
+
*/
|
|
104
|
+
getPolicy(policyId: string): CreationModifierPolicy | undefined;
|
|
105
|
+
/**
|
|
106
|
+
* Get all policy versions
|
|
107
|
+
*/
|
|
108
|
+
getPolicyVersions(policyId: string): readonly CreationModifierPolicy[];
|
|
109
|
+
/**
|
|
110
|
+
* Get all active policies
|
|
111
|
+
*/
|
|
112
|
+
getActivePolicies(): CreationModifierPolicy[];
|
|
113
|
+
/**
|
|
114
|
+
* Evaluate modifier for an agent
|
|
115
|
+
*/
|
|
116
|
+
evaluateModifier(agentId: string): Promise<ModifierEvaluationRecord>;
|
|
117
|
+
/**
|
|
118
|
+
* Get evaluation history for an agent
|
|
119
|
+
*/
|
|
120
|
+
getEvaluationHistory(agentId: string): readonly ModifierEvaluationRecord[];
|
|
121
|
+
/**
|
|
122
|
+
* Verify provenance chain for an agent
|
|
123
|
+
*/
|
|
124
|
+
verifyProvenanceChain(agentId: string): Promise<{
|
|
125
|
+
valid: boolean;
|
|
126
|
+
chain: string[];
|
|
127
|
+
issues: string[];
|
|
128
|
+
}>;
|
|
129
|
+
/**
|
|
130
|
+
* Get statistics
|
|
131
|
+
*/
|
|
132
|
+
getStats(): {
|
|
133
|
+
provenanceCount: number;
|
|
134
|
+
policyCount: number;
|
|
135
|
+
evaluationCount: number;
|
|
136
|
+
byCreationType: Record<CreationType, number>;
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Create a new provenance service instance
|
|
141
|
+
*/
|
|
142
|
+
export declare function createProvenanceService(): ProvenanceService;
|
|
143
|
+
/**
|
|
144
|
+
* Initialize default modifier policies
|
|
145
|
+
*/
|
|
146
|
+
export declare function initializeDefaultPolicies(service: ProvenanceService): Promise<void>;
|
|
147
|
+
export { type AgentProvenance, type CreationModifierPolicy, type CreationModifierConditions, type ModifierEvaluationRecord, CreationType, } from './types.js';
|
|
148
|
+
//# sourceMappingURL=provenance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../src/phase6/provenance.ts"],"names":[],"mappings":"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"}
|