@vorionsys/atsf-core 0.2.0 → 0.2.2
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/CHANGELOG.md +67 -0
- package/LICENSE +190 -0
- package/README.md +305 -181
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +86 -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 +35 -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/governance/index.d.ts +2 -0
- package/dist/governance/index.d.ts.map +1 -1
- package/dist/governance/index.js +1 -0
- package/dist/governance/index.js.map +1 -1
- package/dist/governance/proof-bridge.d.ts +86 -0
- package/dist/governance/proof-bridge.d.ts.map +1 -0
- package/dist/governance/proof-bridge.js +139 -0
- package/dist/governance/proof-bridge.js.map +1 -0
- package/dist/index.d.ts +11 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -4
- 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 +1829 -0
- package/dist/phase6/types.d.ts.map +1 -0
- package/dist/phase6/types.js +452 -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 +6 -0
- package/dist/proof/index.d.ts.map +1 -1
- package/dist/proof/index.js +56 -6
- 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/sandbox-training/challenges.d.ts +16 -0
- package/dist/sandbox-training/challenges.d.ts.map +1 -0
- package/dist/sandbox-training/challenges.js +561 -0
- package/dist/sandbox-training/challenges.js.map +1 -0
- package/dist/sandbox-training/graduation.d.ts +25 -0
- package/dist/sandbox-training/graduation.d.ts.map +1 -0
- package/dist/sandbox-training/graduation.js +143 -0
- package/dist/sandbox-training/graduation.js.map +1 -0
- package/dist/sandbox-training/index.d.ts +19 -0
- package/dist/sandbox-training/index.d.ts.map +1 -0
- package/dist/sandbox-training/index.js +22 -0
- package/dist/sandbox-training/index.js.map +1 -0
- package/dist/sandbox-training/promotion-service.d.ts +76 -0
- package/dist/sandbox-training/promotion-service.d.ts.map +1 -0
- package/dist/sandbox-training/promotion-service.js +117 -0
- package/dist/sandbox-training/promotion-service.js.map +1 -0
- package/dist/sandbox-training/runner.d.ts +58 -0
- package/dist/sandbox-training/runner.d.ts.map +1 -0
- package/dist/sandbox-training/runner.js +388 -0
- package/dist/sandbox-training/runner.js.map +1 -0
- package/dist/sandbox-training/scorer.d.ts +40 -0
- package/dist/sandbox-training/scorer.d.ts.map +1 -0
- package/dist/sandbox-training/scorer.js +79 -0
- package/dist/sandbox-training/scorer.js.map +1 -0
- package/dist/sandbox-training/types.d.ts +162 -0
- package/dist/sandbox-training/types.d.ts.map +1 -0
- package/dist/sandbox-training/types.js +32 -0
- package/dist/sandbox-training/types.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 +42 -12
- package/dist/audit/key-manager.d.ts +0 -118
- package/dist/audit/key-manager.d.ts.map +0 -1
- package/dist/audit/key-manager.js +0 -565
- package/dist/audit/key-manager.js.map +0 -1
- package/dist/carbon-aware/carbon-metrics.d.ts +0 -151
- package/dist/carbon-aware/carbon-metrics.d.ts.map +0 -1
- package/dist/carbon-aware/carbon-metrics.js +0 -370
- package/dist/carbon-aware/carbon-metrics.js.map +0 -1
- package/dist/carbon-aware/carbon-router.d.ts +0 -101
- package/dist/carbon-aware/carbon-router.d.ts.map +0 -1
- package/dist/carbon-aware/carbon-router.js +0 -400
- package/dist/carbon-aware/carbon-router.js.map +0 -1
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Q4: Weight Presets - Weight Merger
|
|
3
|
+
* Combines canonical ACI weights with Axiom deltas to produce final trust weights
|
|
4
|
+
*
|
|
5
|
+
* Architecture:
|
|
6
|
+
* - Deterministic merge process
|
|
7
|
+
* - Audit trail of all weight decisions
|
|
8
|
+
* - Supports multiple merge strategies
|
|
9
|
+
* - Version tracking
|
|
10
|
+
*/
|
|
11
|
+
import { CANONICAL_TRUST_WEIGHTS, TOTAL_TRUST_WEIGHT, getCanonicalWeightMetrics, } from './canonical.js';
|
|
12
|
+
import { validateDeltaAdjustments } from './deltas.js';
|
|
13
|
+
/**
|
|
14
|
+
* Merge canonical weights with delta adjustments
|
|
15
|
+
*/
|
|
16
|
+
export function mergeWeights(deltas = [], strategy = 'deltaOverride') {
|
|
17
|
+
const canonical = CANONICAL_TRUST_WEIGHTS;
|
|
18
|
+
switch (strategy) {
|
|
19
|
+
case 'canonical':
|
|
20
|
+
// Ignore deltas, return canonical
|
|
21
|
+
return { ...canonical };
|
|
22
|
+
case 'deltaOverride':
|
|
23
|
+
// Apply deltas directly as overrides
|
|
24
|
+
{
|
|
25
|
+
const adjusted = { ...canonical };
|
|
26
|
+
for (const delta of deltas) {
|
|
27
|
+
// Check expiration
|
|
28
|
+
if (delta.expiresAt && new Date() > delta.expiresAt) {
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
const metric = delta.metric;
|
|
32
|
+
adjusted[metric] = Math.max(0, adjusted[metric] + delta.adjustment);
|
|
33
|
+
}
|
|
34
|
+
return adjusted;
|
|
35
|
+
}
|
|
36
|
+
case 'blended':
|
|
37
|
+
// Blend canonical and deltas proportionally
|
|
38
|
+
{
|
|
39
|
+
const adjusted = { ...canonical };
|
|
40
|
+
const validDeltas = deltas.filter((d) => !d.expiresAt || new Date() <= d.expiresAt);
|
|
41
|
+
if (validDeltas.length === 0) {
|
|
42
|
+
return adjusted;
|
|
43
|
+
}
|
|
44
|
+
// Average the adjustments across all deltas
|
|
45
|
+
const deltaMap = {};
|
|
46
|
+
for (const delta of validDeltas) {
|
|
47
|
+
const metric = delta.metric;
|
|
48
|
+
if (!deltaMap[metric]) {
|
|
49
|
+
deltaMap[metric] = [];
|
|
50
|
+
}
|
|
51
|
+
deltaMap[metric].push(delta.adjustment);
|
|
52
|
+
}
|
|
53
|
+
// Apply averaged adjustments
|
|
54
|
+
for (const [metric, adjustments] of Object.entries(deltaMap)) {
|
|
55
|
+
const avgAdjustment = adjustments.reduce((a, b) => a + b, 0) / adjustments.length;
|
|
56
|
+
adjusted[metric] = Math.max(0, adjusted[metric] + avgAdjustment);
|
|
57
|
+
}
|
|
58
|
+
return adjusted;
|
|
59
|
+
}
|
|
60
|
+
default:
|
|
61
|
+
throw new Error(`Unknown merge strategy: ${strategy}`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Merge weights and validate the result
|
|
66
|
+
*/
|
|
67
|
+
export function mergeAndValidateWeights(deltas = [], strategy = 'deltaOverride') {
|
|
68
|
+
// Validate deltas first
|
|
69
|
+
const canonicalRecord = CANONICAL_TRUST_WEIGHTS;
|
|
70
|
+
const validation = validateDeltaAdjustments(canonicalRecord, deltas);
|
|
71
|
+
if (!validation.valid) {
|
|
72
|
+
return {
|
|
73
|
+
weights: { ...CANONICAL_TRUST_WEIGHTS },
|
|
74
|
+
valid: false,
|
|
75
|
+
errors: validation.errors,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
// Merge weights
|
|
79
|
+
const weights = mergeWeights(deltas, strategy);
|
|
80
|
+
// Perform post-merge validation
|
|
81
|
+
const errors = [];
|
|
82
|
+
// Check all metrics are non-negative
|
|
83
|
+
for (const [metric, value] of Object.entries(weights)) {
|
|
84
|
+
if (value < 0) {
|
|
85
|
+
errors.push(`${metric} is negative: ${value}`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
weights,
|
|
90
|
+
valid: errors.length === 0,
|
|
91
|
+
errors,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Create an audit record for weight computation
|
|
96
|
+
*/
|
|
97
|
+
export function createWeightAuditRecord(canonicalWeights, appliedDeltas, finalWeights, strategy = 'deltaOverride', agentId, domain) {
|
|
98
|
+
const totalWeight = Object.values(finalWeights).reduce((sum, w) => sum + w, 0);
|
|
99
|
+
return {
|
|
100
|
+
timestamp: new Date(),
|
|
101
|
+
agentId,
|
|
102
|
+
domain,
|
|
103
|
+
strategy,
|
|
104
|
+
canonicalWeights,
|
|
105
|
+
appliedDeltas,
|
|
106
|
+
finalWeights,
|
|
107
|
+
totalWeight,
|
|
108
|
+
valid: totalWeight >= 900 && totalWeight <= 1100, // Allow 10% variance
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Compare canonical vs. merged weights to show impact of deltas
|
|
113
|
+
*/
|
|
114
|
+
export function compareWeights(finalWeights, canonicalWeights = CANONICAL_TRUST_WEIGHTS) {
|
|
115
|
+
const comparison = {};
|
|
116
|
+
for (const metric of Object.keys(canonicalWeights)) {
|
|
117
|
+
const key = metric;
|
|
118
|
+
const can = canonicalWeights[key];
|
|
119
|
+
const fin = finalWeights[key];
|
|
120
|
+
const delta = fin - can;
|
|
121
|
+
const percentChange = can !== 0 ? (delta / can) * 100 : 0;
|
|
122
|
+
comparison[metric] = {
|
|
123
|
+
canonical: can,
|
|
124
|
+
final: fin,
|
|
125
|
+
delta,
|
|
126
|
+
percentChange,
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
return comparison;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Format weights for display
|
|
133
|
+
*/
|
|
134
|
+
export function formatWeightsForDisplay(weights) {
|
|
135
|
+
const metrics = getCanonicalWeightMetrics();
|
|
136
|
+
const lines = ['Trust Weight Distribution:', ''];
|
|
137
|
+
for (const metric of metrics) {
|
|
138
|
+
const value = weights[metric.name.toLowerCase().replace(/ /g, '')];
|
|
139
|
+
if (value !== undefined) {
|
|
140
|
+
const percentage = ((value / TOTAL_TRUST_WEIGHT) * 100).toFixed(1);
|
|
141
|
+
lines.push(`${metric.name.padEnd(25)} ${value.toString().padEnd(4)} pts (${percentage}%)`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
const total = Object.values(weights).reduce((sum, w) => sum + w, 0);
|
|
145
|
+
lines.push('');
|
|
146
|
+
lines.push(`Total: ${total} points`);
|
|
147
|
+
return lines.join('\n');
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Compute agent's final trust score using merged weights
|
|
151
|
+
*/
|
|
152
|
+
export function computeTrustScore(weights, metrics) {
|
|
153
|
+
const score = metrics.successRatio * weights.successRatio +
|
|
154
|
+
metrics.authorizationHistory * weights.authorizationHistory +
|
|
155
|
+
metrics.cascadePrevention * weights.cascadePrevention +
|
|
156
|
+
metrics.executionEfficiency * weights.executionEfficiency +
|
|
157
|
+
metrics.behaviorStability * weights.behaviorStability;
|
|
158
|
+
// Clamp to 0-1000
|
|
159
|
+
return Math.max(0, Math.min(1000, Math.round(score)));
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=merger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merger.js","sourceRoot":"","sources":["../../../src/phase6/weight-presets/merger.ts"],"names":[],"mappings":"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"}
|
package/dist/proof/index.d.ts
CHANGED
|
@@ -98,6 +98,10 @@ export declare class ProofService {
|
|
|
98
98
|
* Calculate hash for a proof record
|
|
99
99
|
*/
|
|
100
100
|
private calculateHash;
|
|
101
|
+
/**
|
|
102
|
+
* Calculate SHA3-256 hash for a proof record (integrity anchor)
|
|
103
|
+
*/
|
|
104
|
+
private calculateHash3;
|
|
101
105
|
/**
|
|
102
106
|
* Sign data with Ed25519 private key
|
|
103
107
|
* @returns Base64-encoded signature, or empty string if no key configured
|
|
@@ -131,4 +135,6 @@ export declare class ProofService {
|
|
|
131
135
|
* @param config Optional signing configuration
|
|
132
136
|
*/
|
|
133
137
|
export declare function createProofService(config?: SigningConfig): ProofService;
|
|
138
|
+
export { type MerkleNode, type MerkleProof, type MerkleAnchor, type ExternalAnchor, type BatchAggregationResult, type MerkleAggregationConfig, buildMerkleTree, generateMerkleProof, verifyMerkleProof, MerkleAggregationService, createMerkleAggregationService, } from './merkle.js';
|
|
139
|
+
export { type PedersenCommitment, type RangeProof, type ThresholdProof, type MembershipProof, type TrustTierProof, type CompositeProof, type ZKVerificationResult, type ZKProofConfig, createCommitment, verifyCommitment, generateRangeProof, verifyRangeProof, generateThresholdProof, verifyThresholdProof, generateMembershipProof, verifyMembershipProof, generateTrustTierProof, verifyTrustTierProof, ZKProofService, createZKProofService, } from './zk-proofs.js';
|
|
134
140
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/proof/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAItE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,cAAc,CAMhD;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,EAAE,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,CAAC;IACd,QAAQ,CAAC,EAAE,EAAE,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,CAAC,EAAE,aAAa;IAwBlC;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/proof/index.ts"],"names":[],"mappings":"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"}
|
package/dist/proof/index.js
CHANGED
|
@@ -66,14 +66,16 @@ export class ProofService {
|
|
|
66
66
|
inputs: request.inputs,
|
|
67
67
|
outputs: request.outputs,
|
|
68
68
|
hash: '', // Will be calculated
|
|
69
|
+
hash3: '', // SHA3-256 integrity anchor
|
|
69
70
|
previousHash: this.lastHash,
|
|
70
71
|
signature: '', // Will be signed after hash calculation
|
|
71
72
|
createdAt: new Date().toISOString(),
|
|
72
73
|
};
|
|
73
|
-
// Calculate
|
|
74
|
+
// Calculate dual hashes
|
|
74
75
|
proof.hash = await this.calculateHash(proof);
|
|
76
|
+
proof.hash3 = this.calculateHash3(proof);
|
|
75
77
|
this.lastHash = proof.hash;
|
|
76
|
-
// Sign the proof hash
|
|
78
|
+
// Sign the proof hash (primary SHA-256)
|
|
77
79
|
proof.signature = this.sign(proof.hash);
|
|
78
80
|
// Store
|
|
79
81
|
this.proofs.set(proof.id, proof);
|
|
@@ -130,11 +132,18 @@ export class ProofService {
|
|
|
130
132
|
verifiedAt: new Date().toISOString(),
|
|
131
133
|
};
|
|
132
134
|
}
|
|
133
|
-
// Verify
|
|
134
|
-
const { hash: _existingHash, ...
|
|
135
|
-
const expectedHash = await this.calculateHash(
|
|
135
|
+
// Verify SHA-256 hash
|
|
136
|
+
const { hash: _existingHash, hash3: _existingHash3, ...proofWithoutHashes } = proof;
|
|
137
|
+
const expectedHash = await this.calculateHash(proofWithoutHashes);
|
|
136
138
|
if (proof.hash !== expectedHash) {
|
|
137
|
-
issues.push('
|
|
139
|
+
issues.push('SHA-256 hash mismatch');
|
|
140
|
+
}
|
|
141
|
+
// Verify SHA3-256 hash (if present — absent on pre-upgrade records)
|
|
142
|
+
if (proof.hash3) {
|
|
143
|
+
const expectedHash3 = this.calculateHash3(proofWithoutHashes);
|
|
144
|
+
if (proof.hash3 !== expectedHash3) {
|
|
145
|
+
issues.push('SHA3-256 hash mismatch');
|
|
146
|
+
}
|
|
138
147
|
}
|
|
139
148
|
// Verify signature
|
|
140
149
|
if (proof.signature) {
|
|
@@ -209,6 +218,23 @@ export class ProofService {
|
|
|
209
218
|
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
|
210
219
|
return hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');
|
|
211
220
|
}
|
|
221
|
+
/**
|
|
222
|
+
* Calculate SHA3-256 hash for a proof record (integrity anchor)
|
|
223
|
+
*/
|
|
224
|
+
calculateHash3(proof) {
|
|
225
|
+
const data = JSON.stringify({
|
|
226
|
+
id: proof.id,
|
|
227
|
+
chainPosition: proof.chainPosition,
|
|
228
|
+
intentId: proof.intentId,
|
|
229
|
+
entityId: proof.entityId,
|
|
230
|
+
decision: proof.decision,
|
|
231
|
+
inputs: proof.inputs,
|
|
232
|
+
outputs: proof.outputs,
|
|
233
|
+
previousHash: proof.previousHash,
|
|
234
|
+
createdAt: proof.createdAt,
|
|
235
|
+
});
|
|
236
|
+
return nodeCrypto.createHash('sha3-256').update(data).digest('hex');
|
|
237
|
+
}
|
|
212
238
|
/**
|
|
213
239
|
* Sign data with Ed25519 private key
|
|
214
240
|
* @returns Base64-encoded signature, or empty string if no key configured
|
|
@@ -271,4 +297,28 @@ export class ProofService {
|
|
|
271
297
|
export function createProofService(config) {
|
|
272
298
|
return new ProofService(config);
|
|
273
299
|
}
|
|
300
|
+
// =============================================================================
|
|
301
|
+
// MERKLE AGGREGATION
|
|
302
|
+
// =============================================================================
|
|
303
|
+
export {
|
|
304
|
+
// Functions
|
|
305
|
+
buildMerkleTree, generateMerkleProof, verifyMerkleProof,
|
|
306
|
+
// Service
|
|
307
|
+
MerkleAggregationService, createMerkleAggregationService, } from './merkle.js';
|
|
308
|
+
// =============================================================================
|
|
309
|
+
// ZERO-KNOWLEDGE PROOFS
|
|
310
|
+
// =============================================================================
|
|
311
|
+
export {
|
|
312
|
+
// Primitives
|
|
313
|
+
createCommitment, verifyCommitment,
|
|
314
|
+
// Range proofs
|
|
315
|
+
generateRangeProof, verifyRangeProof,
|
|
316
|
+
// Threshold proofs
|
|
317
|
+
generateThresholdProof, verifyThresholdProof,
|
|
318
|
+
// Membership proofs
|
|
319
|
+
generateMembershipProof, verifyMembershipProof,
|
|
320
|
+
// Trust tier proofs
|
|
321
|
+
generateTrustTierProof, verifyTrustTierProof,
|
|
322
|
+
// Service
|
|
323
|
+
ZKProofService, createZKProofService, } from './zk-proofs.js';
|
|
274
324
|
//# sourceMappingURL=index.js.map
|
package/dist/proof/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/proof/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/proof/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Merkle Tree Aggregation Service
|
|
3
|
+
*
|
|
4
|
+
* Implements batch proof aggregation using Merkle trees for:
|
|
5
|
+
* - Efficient batch verification
|
|
6
|
+
* - External anchoring (blockchain, timestamping services)
|
|
7
|
+
* - Privacy-preserving proof disclosure
|
|
8
|
+
*
|
|
9
|
+
* Key Features:
|
|
10
|
+
* - SHA-256 based Merkle tree construction
|
|
11
|
+
* - Incremental tree building
|
|
12
|
+
* - Compact inclusion proofs
|
|
13
|
+
* - Anchor commitments for external verification
|
|
14
|
+
*
|
|
15
|
+
* @packageDocumentation
|
|
16
|
+
*/
|
|
17
|
+
import type { Proof } from '../common/types.js';
|
|
18
|
+
/**
|
|
19
|
+
* Merkle tree node
|
|
20
|
+
*/
|
|
21
|
+
export interface MerkleNode {
|
|
22
|
+
hash: string;
|
|
23
|
+
left?: MerkleNode;
|
|
24
|
+
right?: MerkleNode;
|
|
25
|
+
data?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Merkle inclusion proof
|
|
29
|
+
*/
|
|
30
|
+
export interface MerkleProof {
|
|
31
|
+
/** Leaf hash being proven */
|
|
32
|
+
leafHash: string;
|
|
33
|
+
/** Proof path (sibling hashes) */
|
|
34
|
+
path: Array<{
|
|
35
|
+
hash: string;
|
|
36
|
+
position: 'left' | 'right';
|
|
37
|
+
}>;
|
|
38
|
+
/** Root hash */
|
|
39
|
+
root: string;
|
|
40
|
+
/** Leaf index in tree */
|
|
41
|
+
leafIndex: number;
|
|
42
|
+
/** Total leaves in tree */
|
|
43
|
+
treeSize: number;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Merkle tree anchor commitment
|
|
47
|
+
*/
|
|
48
|
+
export interface MerkleAnchor {
|
|
49
|
+
/** Unique anchor ID */
|
|
50
|
+
anchorId: string;
|
|
51
|
+
/** Merkle root hash */
|
|
52
|
+
rootHash: string;
|
|
53
|
+
/** Number of leaves in tree */
|
|
54
|
+
leafCount: number;
|
|
55
|
+
/** Timestamp of anchor creation */
|
|
56
|
+
timestamp: Date;
|
|
57
|
+
/** External anchor references */
|
|
58
|
+
externalAnchors: ExternalAnchor[];
|
|
59
|
+
/** Signature of root by anchor service */
|
|
60
|
+
signature?: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* External anchor reference
|
|
64
|
+
*/
|
|
65
|
+
export interface ExternalAnchor {
|
|
66
|
+
/** Type of external anchor */
|
|
67
|
+
type: 'ethereum' | 'bitcoin' | 'rfc3161' | 'custom';
|
|
68
|
+
/** Transaction hash or reference ID */
|
|
69
|
+
reference: string;
|
|
70
|
+
/** Anchor timestamp */
|
|
71
|
+
timestamp?: Date;
|
|
72
|
+
/** Confirmation status */
|
|
73
|
+
confirmed: boolean;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Batch aggregation result
|
|
77
|
+
*/
|
|
78
|
+
export interface BatchAggregationResult {
|
|
79
|
+
/** Anchor record */
|
|
80
|
+
anchor: MerkleAnchor;
|
|
81
|
+
/** Proofs for each item */
|
|
82
|
+
proofs: Map<string, MerkleProof>;
|
|
83
|
+
/** Time taken in ms */
|
|
84
|
+
durationMs: number;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Build Merkle tree from leaf hashes
|
|
88
|
+
*/
|
|
89
|
+
export declare function buildMerkleTree(leafHashes: string[]): MerkleNode | null;
|
|
90
|
+
/**
|
|
91
|
+
* Generate Merkle proof for a leaf
|
|
92
|
+
*/
|
|
93
|
+
export declare function generateMerkleProof(leafHashes: string[], leafIndex: number): MerkleProof | null;
|
|
94
|
+
/**
|
|
95
|
+
* Verify a Merkle proof
|
|
96
|
+
*/
|
|
97
|
+
export declare function verifyMerkleProof(proof: MerkleProof): boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Merkle aggregation configuration
|
|
100
|
+
*/
|
|
101
|
+
export interface MerkleAggregationConfig {
|
|
102
|
+
/** Minimum items before auto-anchor */
|
|
103
|
+
minBatchSize: number;
|
|
104
|
+
/** Maximum items before forced anchor */
|
|
105
|
+
maxBatchSize: number;
|
|
106
|
+
/** Maximum time before auto-anchor (ms) */
|
|
107
|
+
maxBatchAgeMs: number;
|
|
108
|
+
/** Enable external anchoring */
|
|
109
|
+
enableExternalAnchoring: boolean;
|
|
110
|
+
/** External anchor service URLs */
|
|
111
|
+
externalAnchorServices?: {
|
|
112
|
+
ethereum?: string;
|
|
113
|
+
bitcoin?: string;
|
|
114
|
+
rfc3161?: string;
|
|
115
|
+
};
|
|
116
|
+
/** Signing key for anchors */
|
|
117
|
+
signingKey?: string;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Merkle Aggregation Service
|
|
121
|
+
*
|
|
122
|
+
* Aggregates proofs into Merkle trees for efficient batch verification
|
|
123
|
+
* and external anchoring.
|
|
124
|
+
*/
|
|
125
|
+
export declare class MerkleAggregationService {
|
|
126
|
+
private config;
|
|
127
|
+
private pending;
|
|
128
|
+
private anchors;
|
|
129
|
+
private proofsByAnchor;
|
|
130
|
+
private anchorTimer;
|
|
131
|
+
private signingKey;
|
|
132
|
+
constructor(config?: Partial<MerkleAggregationConfig>);
|
|
133
|
+
/**
|
|
134
|
+
* Add an item for aggregation
|
|
135
|
+
*/
|
|
136
|
+
addItem(id: string, data: string): Promise<void>;
|
|
137
|
+
/**
|
|
138
|
+
* Add a proof for aggregation
|
|
139
|
+
*/
|
|
140
|
+
addProof(proof: Proof): Promise<void>;
|
|
141
|
+
/**
|
|
142
|
+
* Force anchor current batch
|
|
143
|
+
*/
|
|
144
|
+
anchor(): Promise<BatchAggregationResult | null>;
|
|
145
|
+
/**
|
|
146
|
+
* Submit to external anchoring services
|
|
147
|
+
*/
|
|
148
|
+
private submitExternalAnchors;
|
|
149
|
+
/**
|
|
150
|
+
* Submit RFC 3161 timestamp request
|
|
151
|
+
*/
|
|
152
|
+
private submitRFC3161Timestamp;
|
|
153
|
+
/**
|
|
154
|
+
* Submit Ethereum anchor
|
|
155
|
+
*/
|
|
156
|
+
private submitEthereumAnchor;
|
|
157
|
+
/**
|
|
158
|
+
* Get anchor by ID
|
|
159
|
+
*/
|
|
160
|
+
getAnchor(anchorId: string): MerkleAnchor | undefined;
|
|
161
|
+
/**
|
|
162
|
+
* Get proof for an item
|
|
163
|
+
*/
|
|
164
|
+
getProof(anchorId: string, itemId: string): MerkleProof | undefined;
|
|
165
|
+
/**
|
|
166
|
+
* Verify item inclusion in an anchor
|
|
167
|
+
*/
|
|
168
|
+
verifyInclusion(anchorId: string, itemId: string, data: string): boolean;
|
|
169
|
+
/**
|
|
170
|
+
* Get all anchors
|
|
171
|
+
*/
|
|
172
|
+
getAllAnchors(): MerkleAnchor[];
|
|
173
|
+
/**
|
|
174
|
+
* Get pending count
|
|
175
|
+
*/
|
|
176
|
+
getPendingCount(): number;
|
|
177
|
+
/**
|
|
178
|
+
* Get statistics
|
|
179
|
+
*/
|
|
180
|
+
getStats(): {
|
|
181
|
+
totalAnchors: number;
|
|
182
|
+
totalProofs: number;
|
|
183
|
+
pendingItems: number;
|
|
184
|
+
externalAnchors: number;
|
|
185
|
+
};
|
|
186
|
+
/**
|
|
187
|
+
* Cleanup resources
|
|
188
|
+
*/
|
|
189
|
+
destroy(): void;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Create a Merkle aggregation service
|
|
193
|
+
*/
|
|
194
|
+
export declare function createMerkleAggregationService(config?: Partial<MerkleAggregationConfig>): MerkleAggregationService;
|
|
195
|
+
//# sourceMappingURL=merkle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merkle.d.ts","sourceRoot":"","sources":["../../src/proof/merkle.ts"],"names":[],"mappings":"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"}
|