@longarc/mdash 3.0.0
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 +278 -0
- package/dist/checkpoint/engine.d.ts +208 -0
- package/dist/checkpoint/engine.d.ts.map +1 -0
- package/dist/checkpoint/engine.js +369 -0
- package/dist/checkpoint/engine.js.map +1 -0
- package/dist/context/engine.d.ts +197 -0
- package/dist/context/engine.d.ts.map +1 -0
- package/dist/context/engine.js +392 -0
- package/dist/context/engine.js.map +1 -0
- package/dist/core/commitment.d.ts +154 -0
- package/dist/core/commitment.d.ts.map +1 -0
- package/dist/core/commitment.js +305 -0
- package/dist/core/commitment.js.map +1 -0
- package/dist/core/crypto.d.ts +100 -0
- package/dist/core/crypto.d.ts.map +1 -0
- package/dist/core/crypto.js +243 -0
- package/dist/core/crypto.js.map +1 -0
- package/dist/index.d.ts +121 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +234 -0
- package/dist/index.js.map +1 -0
- package/dist/mcca/engine.d.ts +260 -0
- package/dist/mcca/engine.d.ts.map +1 -0
- package/dist/mcca/engine.js +518 -0
- package/dist/mcca/engine.js.map +1 -0
- package/dist/physics/engine.d.ts +165 -0
- package/dist/physics/engine.d.ts.map +1 -0
- package/dist/physics/engine.js +371 -0
- package/dist/physics/engine.js.map +1 -0
- package/dist/tee/engine.d.ts +285 -0
- package/dist/tee/engine.d.ts.map +1 -0
- package/dist/tee/engine.js +505 -0
- package/dist/tee/engine.js.map +1 -0
- package/dist/warrant/engine.d.ts +195 -0
- package/dist/warrant/engine.d.ts.map +1 -0
- package/dist/warrant/engine.js +409 -0
- package/dist/warrant/engine.js.map +1 -0
- package/dist/zk/engine.d.ts +243 -0
- package/dist/zk/engine.d.ts.map +1 -0
- package/dist/zk/engine.js +489 -0
- package/dist/zk/engine.js.map +1 -0
- package/package.json +25 -0
- package/src/__tests__/phase1.test.ts +1120 -0
- package/src/__tests__/phase2-4.test.ts +898 -0
- package/src/checkpoint/engine.ts +532 -0
- package/src/context/engine.ts +598 -0
- package/src/core/commitment.ts +438 -0
- package/src/core/crypto.ts +304 -0
- package/src/index.ts +320 -0
- package/src/mcca/engine.ts +778 -0
- package/src/physics/engine.ts +563 -0
- package/src/tee/engine.ts +810 -0
- package/src/warrant/engine.ts +625 -0
- package/src/zk/engine.ts +730 -0
- package/tsconfig.json +21 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mdash v3.0 Protocol
|
|
3
|
+
*
|
|
4
|
+
* "The best defense is the fastest seal."
|
|
5
|
+
*
|
|
6
|
+
* Liability infrastructure for autonomous AI agents.
|
|
7
|
+
* Cryptographic sealing at execution speed.
|
|
8
|
+
*
|
|
9
|
+
* Architecture:
|
|
10
|
+
* - L1: Commitment Layer (<1ms)
|
|
11
|
+
* - L2: TEE Attestation (<10ms)
|
|
12
|
+
* - L3: ZK Proofs (async)
|
|
13
|
+
* - MCCA: Manifold-Constrained Context Architecture
|
|
14
|
+
*
|
|
15
|
+
* @version 3.0.0
|
|
16
|
+
* @author Long Arc Studios
|
|
17
|
+
*/
|
|
18
|
+
export * from './core/crypto.js';
|
|
19
|
+
export * from './core/commitment.js';
|
|
20
|
+
export * from './warrant/engine.js';
|
|
21
|
+
export * from './checkpoint/engine.js';
|
|
22
|
+
export * from './context/engine.js';
|
|
23
|
+
export * from './physics/engine.js';
|
|
24
|
+
export * from './tee/engine.js';
|
|
25
|
+
export * from './zk/engine.js';
|
|
26
|
+
export { MCCAEngine, ManifoldRegion, InfluenceBudget, MCCAConfig, ManifoldFragment, ManifoldCommitmentProof, DEFAULT_CONFIG as MCCA_DEFAULT_CONFIG } from './mcca/engine.js';
|
|
27
|
+
import { CommitmentEngine, LatencyMonitor } from './core/commitment.js';
|
|
28
|
+
import { WarrantEngine, WarrantTier, WarrantConstraints, Warrant } from './warrant/engine.js';
|
|
29
|
+
import { CheckpointEngine, Checkpoint } from './checkpoint/engine.js';
|
|
30
|
+
import { SealedContextEngine } from './context/engine.js';
|
|
31
|
+
import { PhysicsEngine, PhysicsValidation } from './physics/engine.js';
|
|
32
|
+
import { TEEAttestationEngine, AttestationDocument, AttestationBridge, TEEPlatform } from './tee/engine.js';
|
|
33
|
+
import { ZKProofsEngine, ZKProofDocument } from './zk/engine.js';
|
|
34
|
+
import { MCCAEngine, ContextWindowManager } from './mcca/engine.js';
|
|
35
|
+
import { WarrantId } from './core/crypto.js';
|
|
36
|
+
export interface MdashConfig {
|
|
37
|
+
sealKey: string;
|
|
38
|
+
maxTreeDepth?: number;
|
|
39
|
+
enableLatencyMonitoring?: boolean;
|
|
40
|
+
teePlatform?: TEEPlatform;
|
|
41
|
+
enableZKProofs?: boolean;
|
|
42
|
+
zkConcurrency?: number;
|
|
43
|
+
enableMCCA?: boolean;
|
|
44
|
+
maxContextTokens?: number;
|
|
45
|
+
}
|
|
46
|
+
export interface MdashStats {
|
|
47
|
+
commitment: ReturnType<CommitmentEngine['getStats']>;
|
|
48
|
+
warrant: ReturnType<WarrantEngine['getCacheStats']>;
|
|
49
|
+
checkpoint: ReturnType<CheckpointEngine['getStats']>;
|
|
50
|
+
context: ReturnType<SealedContextEngine['getStats']>;
|
|
51
|
+
physics: ReturnType<PhysicsEngine['getStats']>;
|
|
52
|
+
tee?: ReturnType<TEEAttestationEngine['getStats']>;
|
|
53
|
+
zk?: ReturnType<ZKProofsEngine['getStats']>;
|
|
54
|
+
mcca?: ReturnType<MCCAEngine['getStats']>;
|
|
55
|
+
}
|
|
56
|
+
export declare class MdashProtocol {
|
|
57
|
+
private config;
|
|
58
|
+
private initialized;
|
|
59
|
+
readonly commitment: CommitmentEngine;
|
|
60
|
+
readonly warrant: WarrantEngine;
|
|
61
|
+
readonly checkpoint: CheckpointEngine;
|
|
62
|
+
readonly context: SealedContextEngine;
|
|
63
|
+
readonly physics: PhysicsEngine;
|
|
64
|
+
readonly latency: LatencyMonitor;
|
|
65
|
+
readonly tee: TEEAttestationEngine;
|
|
66
|
+
readonly bridge: AttestationBridge;
|
|
67
|
+
readonly zk: ZKProofsEngine | null;
|
|
68
|
+
readonly mcca: MCCAEngine | null;
|
|
69
|
+
readonly contextWindow: ContextWindowManager | null;
|
|
70
|
+
constructor(config: MdashConfig);
|
|
71
|
+
initialize(): Promise<void>;
|
|
72
|
+
isInitialized(): boolean;
|
|
73
|
+
execute<T>(params: {
|
|
74
|
+
agentId: string;
|
|
75
|
+
action: string;
|
|
76
|
+
actionParams: Record<string, unknown>;
|
|
77
|
+
execute: () => Promise<T>;
|
|
78
|
+
generateZKProof?: boolean;
|
|
79
|
+
}): Promise<{
|
|
80
|
+
result: T;
|
|
81
|
+
warrant: Warrant;
|
|
82
|
+
startCheckpoint: Checkpoint;
|
|
83
|
+
endCheckpoint: Checkpoint;
|
|
84
|
+
validation: PhysicsValidation;
|
|
85
|
+
attestation: AttestationDocument;
|
|
86
|
+
zkProof?: ZKProofDocument;
|
|
87
|
+
}>;
|
|
88
|
+
prestageWarrant(params: {
|
|
89
|
+
agentId: string;
|
|
90
|
+
policyId: string;
|
|
91
|
+
tier: WarrantTier;
|
|
92
|
+
constraints: WarrantConstraints;
|
|
93
|
+
durationMs: number;
|
|
94
|
+
issuedBy: string;
|
|
95
|
+
}): Promise<Warrant>;
|
|
96
|
+
revokeWarrant(warrantId: WarrantId, reason: string, actor: {
|
|
97
|
+
type: 'user' | 'system';
|
|
98
|
+
id: string;
|
|
99
|
+
}): Promise<Warrant>;
|
|
100
|
+
generateAuditProof(params: {
|
|
101
|
+
description: string;
|
|
102
|
+
claim: Record<string, unknown>;
|
|
103
|
+
commitmentIds?: string[];
|
|
104
|
+
attestationIds?: string[];
|
|
105
|
+
priority?: 'low' | 'normal' | 'high';
|
|
106
|
+
}): Promise<ZKProofDocument>;
|
|
107
|
+
getStats(): MdashStats;
|
|
108
|
+
checkSLAs(): Record<string, {
|
|
109
|
+
withinSLA: boolean;
|
|
110
|
+
metrics: unknown;
|
|
111
|
+
}>;
|
|
112
|
+
shutdown(): void;
|
|
113
|
+
}
|
|
114
|
+
export declare function createMdash(config: MdashConfig): MdashProtocol;
|
|
115
|
+
export declare const VERSION: {
|
|
116
|
+
readonly protocol: "3.0.0";
|
|
117
|
+
readonly codename: "Sealed Execution";
|
|
118
|
+
readonly releaseDate: "2026-01";
|
|
119
|
+
readonly features: readonly ["L1 Commitment Layer (<1ms)", "L2 TEE Attestation (AWS Nitro/SGX, <10ms)", "L3 ZK Proofs (Plonky2, async)", "MCCA v3 (Manifold-Constrained Context Architecture)", "Speculative Warrant Issuance (<10ms activation)", "Event-driven Checkpoints", "Incremental Merkle Sealing", "Physics Engine with Hot-swap Policies", "Insurance-grade Audit Trails"];
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mdash v3.0 Protocol
|
|
3
|
+
*
|
|
4
|
+
* "The best defense is the fastest seal."
|
|
5
|
+
*
|
|
6
|
+
* Liability infrastructure for autonomous AI agents.
|
|
7
|
+
* Cryptographic sealing at execution speed.
|
|
8
|
+
*
|
|
9
|
+
* Architecture:
|
|
10
|
+
* - L1: Commitment Layer (<1ms)
|
|
11
|
+
* - L2: TEE Attestation (<10ms)
|
|
12
|
+
* - L3: ZK Proofs (async)
|
|
13
|
+
* - MCCA: Manifold-Constrained Context Architecture
|
|
14
|
+
*
|
|
15
|
+
* @version 3.0.0
|
|
16
|
+
* @author Long Arc Studios
|
|
17
|
+
*/
|
|
18
|
+
// Re-export core primitives
|
|
19
|
+
export * from './core/crypto.js';
|
|
20
|
+
export * from './core/commitment.js';
|
|
21
|
+
// Re-export engines
|
|
22
|
+
export * from './warrant/engine.js';
|
|
23
|
+
export * from './checkpoint/engine.js';
|
|
24
|
+
export * from './context/engine.js';
|
|
25
|
+
export * from './physics/engine.js';
|
|
26
|
+
// Re-export L2 TEE Attestation
|
|
27
|
+
export * from './tee/engine.js';
|
|
28
|
+
// Re-export L3 ZK Proofs
|
|
29
|
+
export * from './zk/engine.js';
|
|
30
|
+
// Re-export MCCA v3 (excluding SourceClass which is already exported from context)
|
|
31
|
+
export { MCCAEngine, DEFAULT_CONFIG as MCCA_DEFAULT_CONFIG } from './mcca/engine.js';
|
|
32
|
+
// Import for runtime
|
|
33
|
+
import { CommitmentEngine, LatencyMonitor } from './core/commitment.js';
|
|
34
|
+
import { WarrantEngine } from './warrant/engine.js';
|
|
35
|
+
import { CheckpointEngine } from './checkpoint/engine.js';
|
|
36
|
+
import { SealedContextEngine } from './context/engine.js';
|
|
37
|
+
import { PhysicsEngine } from './physics/engine.js';
|
|
38
|
+
import { TEEAttestationEngine, AttestationBridge } from './tee/engine.js';
|
|
39
|
+
import { ZKProofsEngine, ClaimBuilder } from './zk/engine.js';
|
|
40
|
+
import { MCCAEngine, ContextWindowManager } from './mcca/engine.js';
|
|
41
|
+
import { generateTimestamp } from './core/crypto.js';
|
|
42
|
+
export class MdashProtocol {
|
|
43
|
+
config;
|
|
44
|
+
initialized = false;
|
|
45
|
+
commitment;
|
|
46
|
+
warrant;
|
|
47
|
+
checkpoint;
|
|
48
|
+
context;
|
|
49
|
+
physics;
|
|
50
|
+
latency;
|
|
51
|
+
tee;
|
|
52
|
+
bridge;
|
|
53
|
+
zk;
|
|
54
|
+
mcca;
|
|
55
|
+
contextWindow;
|
|
56
|
+
constructor(config) {
|
|
57
|
+
this.config = config;
|
|
58
|
+
this.commitment = new CommitmentEngine(config.maxTreeDepth);
|
|
59
|
+
this.warrant = new WarrantEngine(this.commitment);
|
|
60
|
+
this.checkpoint = new CheckpointEngine(this.commitment);
|
|
61
|
+
this.context = new SealedContextEngine(this.commitment);
|
|
62
|
+
this.physics = new PhysicsEngine();
|
|
63
|
+
this.tee = new TEEAttestationEngine(this.commitment, { platform: config.teePlatform || 'simulated' });
|
|
64
|
+
this.bridge = new AttestationBridge(this.tee, this.commitment);
|
|
65
|
+
this.zk = config.enableZKProofs !== false ? new ZKProofsEngine(this.commitment, config.zkConcurrency || 4) : null;
|
|
66
|
+
this.mcca = config.enableMCCA !== false ? new MCCAEngine(this.commitment, { maxTokens: config.maxContextTokens || 100000 }) : null;
|
|
67
|
+
this.contextWindow = this.mcca ? new ContextWindowManager(this.mcca, config.maxContextTokens || 100000) : null;
|
|
68
|
+
this.latency = new LatencyMonitor();
|
|
69
|
+
}
|
|
70
|
+
async initialize() {
|
|
71
|
+
const startTime = performance.now();
|
|
72
|
+
await Promise.all([
|
|
73
|
+
this.commitment.initialize(this.config.sealKey),
|
|
74
|
+
this.warrant.initialize(this.config.sealKey),
|
|
75
|
+
this.checkpoint.initialize(this.config.sealKey),
|
|
76
|
+
this.context.initialize(this.config.sealKey),
|
|
77
|
+
this.physics.initialize(this.config.sealKey),
|
|
78
|
+
]);
|
|
79
|
+
await this.tee.initialize(this.config.sealKey);
|
|
80
|
+
if (this.zk)
|
|
81
|
+
await this.zk.initialize(this.config.sealKey);
|
|
82
|
+
if (this.mcca)
|
|
83
|
+
await this.mcca.initialize(this.config.sealKey);
|
|
84
|
+
this.initialized = true;
|
|
85
|
+
const elapsed = performance.now() - startTime;
|
|
86
|
+
console.log(`mdash v3.0 initialized in ${elapsed.toFixed(2)}ms`);
|
|
87
|
+
}
|
|
88
|
+
isInitialized() { return this.initialized; }
|
|
89
|
+
async execute(params) {
|
|
90
|
+
if (!this.initialized)
|
|
91
|
+
throw new Error('Protocol not initialized');
|
|
92
|
+
const authParams = {
|
|
93
|
+
agent_id: params.agentId,
|
|
94
|
+
action: params.action,
|
|
95
|
+
amount: typeof params.actionParams.amount === 'number' ? params.actionParams.amount : undefined,
|
|
96
|
+
domain: typeof params.actionParams.domain === 'string' ? params.actionParams.domain : undefined,
|
|
97
|
+
};
|
|
98
|
+
const warrant = await this.warrant.checkAuthorization(authParams);
|
|
99
|
+
if (!warrant)
|
|
100
|
+
throw new Error(`No valid warrant for agent ${params.agentId}`);
|
|
101
|
+
const startCheckpoint = await this.checkpoint.onActionStart({
|
|
102
|
+
agent_id: params.agentId,
|
|
103
|
+
warrant_id: warrant.id,
|
|
104
|
+
action: params.action,
|
|
105
|
+
params: params.actionParams,
|
|
106
|
+
});
|
|
107
|
+
const physicsAction = {
|
|
108
|
+
action_id: `${params.action}-${Date.now()}`,
|
|
109
|
+
type: params.action,
|
|
110
|
+
agent_id: params.agentId,
|
|
111
|
+
warrant_id: warrant.id,
|
|
112
|
+
params: params.actionParams,
|
|
113
|
+
timestamp: generateTimestamp(),
|
|
114
|
+
};
|
|
115
|
+
const validation = await this.physics.validate(physicsAction, warrant);
|
|
116
|
+
if (!validation.valid) {
|
|
117
|
+
await this.checkpoint.onError({
|
|
118
|
+
agent_id: params.agentId,
|
|
119
|
+
warrant_id: warrant.id,
|
|
120
|
+
action: params.action,
|
|
121
|
+
error: `Physics validation failed`,
|
|
122
|
+
});
|
|
123
|
+
throw new Error(`Physics validation failed`);
|
|
124
|
+
}
|
|
125
|
+
const { attestation } = await this.bridge.commitAndAttest({ warrant_id: warrant.id, action: params.action, params: params.actionParams }, `action:${params.agentId}:${Date.now()}`);
|
|
126
|
+
let result;
|
|
127
|
+
try {
|
|
128
|
+
result = await params.execute();
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
await this.checkpoint.onError({
|
|
132
|
+
agent_id: params.agentId,
|
|
133
|
+
warrant_id: warrant.id,
|
|
134
|
+
action: params.action,
|
|
135
|
+
error: String(error),
|
|
136
|
+
});
|
|
137
|
+
throw error;
|
|
138
|
+
}
|
|
139
|
+
const endCheckpoint = await this.checkpoint.onActionComplete({
|
|
140
|
+
agent_id: params.agentId,
|
|
141
|
+
warrant_id: warrant.id,
|
|
142
|
+
action: params.action,
|
|
143
|
+
params: params.actionParams,
|
|
144
|
+
result,
|
|
145
|
+
physics_score: validation.score,
|
|
146
|
+
});
|
|
147
|
+
let zkProof;
|
|
148
|
+
if (params.generateZKProof && this.zk) {
|
|
149
|
+
zkProof = await this.zk.requestProof(new ClaimBuilder('action_compliance')
|
|
150
|
+
.withDescription(`Action proof for ${params.action}`)
|
|
151
|
+
.withClaim('agent_id', params.agentId)
|
|
152
|
+
.withClaim('action', params.action)
|
|
153
|
+
.withClaim('warrant_id', warrant.id)
|
|
154
|
+
.withAttestations(attestation.id)
|
|
155
|
+
.build('normal'));
|
|
156
|
+
}
|
|
157
|
+
return { result, warrant, startCheckpoint, endCheckpoint, validation, attestation, zkProof };
|
|
158
|
+
}
|
|
159
|
+
async prestageWarrant(params) {
|
|
160
|
+
if (!this.initialized)
|
|
161
|
+
throw new Error('Protocol not initialized');
|
|
162
|
+
return this.warrant.createSpeculative({
|
|
163
|
+
agent_id: params.agentId,
|
|
164
|
+
policy_id: params.policyId,
|
|
165
|
+
tier: params.tier,
|
|
166
|
+
constraints: params.constraints,
|
|
167
|
+
duration_ms: params.durationMs,
|
|
168
|
+
issued_by: params.issuedBy,
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
async revokeWarrant(warrantId, reason, actor) {
|
|
172
|
+
if (!this.initialized)
|
|
173
|
+
throw new Error('Protocol not initialized');
|
|
174
|
+
return this.warrant.revoke(warrantId, reason, actor);
|
|
175
|
+
}
|
|
176
|
+
async generateAuditProof(params) {
|
|
177
|
+
if (!this.zk)
|
|
178
|
+
throw new Error('ZK proofs not enabled');
|
|
179
|
+
return this.zk.requestProof(new ClaimBuilder('audit_trail')
|
|
180
|
+
.withDescription(params.description)
|
|
181
|
+
.withClaim('audit', params.claim)
|
|
182
|
+
.withCommitments(...(params.commitmentIds || []))
|
|
183
|
+
.withAttestations(...(params.attestationIds || []))
|
|
184
|
+
.build(params.priority || 'normal'));
|
|
185
|
+
}
|
|
186
|
+
getStats() {
|
|
187
|
+
const stats = {
|
|
188
|
+
commitment: this.commitment.getStats(),
|
|
189
|
+
warrant: this.warrant.getCacheStats(),
|
|
190
|
+
checkpoint: this.checkpoint.getStats(),
|
|
191
|
+
context: this.context.getStats(),
|
|
192
|
+
physics: this.physics.getStats(),
|
|
193
|
+
};
|
|
194
|
+
stats.tee = this.tee.getStats();
|
|
195
|
+
if (this.zk)
|
|
196
|
+
stats.zk = this.zk.getStats();
|
|
197
|
+
if (this.mcca)
|
|
198
|
+
stats.mcca = this.mcca.getStats();
|
|
199
|
+
return stats;
|
|
200
|
+
}
|
|
201
|
+
checkSLAs() {
|
|
202
|
+
const ops = ['commitment_seal', 'merkle_proof', 'context_chunk_seal', 'checkpoint_create', 'execute'];
|
|
203
|
+
const results = {};
|
|
204
|
+
for (const op of ops) {
|
|
205
|
+
results[op] = { withinSLA: this.latency.isWithinSLA(op), metrics: this.latency.getMetrics(op) };
|
|
206
|
+
}
|
|
207
|
+
return results;
|
|
208
|
+
}
|
|
209
|
+
shutdown() {
|
|
210
|
+
if (this.zk)
|
|
211
|
+
this.zk.stopProcessing();
|
|
212
|
+
console.log('mdash v3.0 shutdown complete');
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
export function createMdash(config) {
|
|
216
|
+
return new MdashProtocol(config);
|
|
217
|
+
}
|
|
218
|
+
export const VERSION = {
|
|
219
|
+
protocol: '3.0.0',
|
|
220
|
+
codename: 'Sealed Execution',
|
|
221
|
+
releaseDate: '2026-01',
|
|
222
|
+
features: [
|
|
223
|
+
'L1 Commitment Layer (<1ms)',
|
|
224
|
+
'L2 TEE Attestation (AWS Nitro/SGX, <10ms)',
|
|
225
|
+
'L3 ZK Proofs (Plonky2, async)',
|
|
226
|
+
'MCCA v3 (Manifold-Constrained Context Architecture)',
|
|
227
|
+
'Speculative Warrant Issuance (<10ms activation)',
|
|
228
|
+
'Event-driven Checkpoints',
|
|
229
|
+
'Incremental Merkle Sealing',
|
|
230
|
+
'Physics Engine with Hot-swap Policies',
|
|
231
|
+
'Insurance-grade Audit Trails',
|
|
232
|
+
],
|
|
233
|
+
};
|
|
234
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mdash v3.0 - MCCA v3 (Manifold-Constrained Context Architecture)
|
|
3
|
+
*
|
|
4
|
+
* Based on DeepSeek's research on constrained context windows.
|
|
5
|
+
* Implements manifold commitment proofs and influence budgets.
|
|
6
|
+
*
|
|
7
|
+
* Core Concepts:
|
|
8
|
+
* - Manifold: A bounded region of valid agent behavior
|
|
9
|
+
* - Influence Budget: Maximum context influence per source
|
|
10
|
+
* - Commitment Proofs: Cryptographic proof of context integrity
|
|
11
|
+
* - Drift Detection: Identifies context manipulation attempts
|
|
12
|
+
*
|
|
13
|
+
* @version 3.0.0
|
|
14
|
+
*/
|
|
15
|
+
import { Hash, Seal, Timestamp, FragmentId } from '../core/crypto.js';
|
|
16
|
+
import { CommitmentEngine } from '../core/commitment.js';
|
|
17
|
+
export type SourceClass = 'system' | 'user' | 'agent' | 'tool' | 'memory' | 'external';
|
|
18
|
+
export type ManifoldRegion = 'core' | 'task' | 'history' | 'reference' | 'ephemeral';
|
|
19
|
+
export type DriftSeverity = 'none' | 'low' | 'medium' | 'high' | 'critical';
|
|
20
|
+
/**
|
|
21
|
+
* Influence budget allocation per source class
|
|
22
|
+
* Total budget must sum to 1.0
|
|
23
|
+
*/
|
|
24
|
+
export interface InfluenceBudget {
|
|
25
|
+
system: number;
|
|
26
|
+
user: number;
|
|
27
|
+
agent: number;
|
|
28
|
+
tool: number;
|
|
29
|
+
memory: number;
|
|
30
|
+
external: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Default influence budget (conservative)
|
|
34
|
+
*/
|
|
35
|
+
export declare const DEFAULT_INFLUENCE_BUDGET: InfluenceBudget;
|
|
36
|
+
/**
|
|
37
|
+
* Context fragment with manifold positioning
|
|
38
|
+
*/
|
|
39
|
+
export interface ManifoldFragment {
|
|
40
|
+
/** Fragment ID */
|
|
41
|
+
id: FragmentId;
|
|
42
|
+
/** Content hash */
|
|
43
|
+
content_hash: Hash;
|
|
44
|
+
/** Source classification */
|
|
45
|
+
source_class: SourceClass;
|
|
46
|
+
/** Manifold region */
|
|
47
|
+
region: ManifoldRegion;
|
|
48
|
+
/** Position in manifold (normalized 0-1) */
|
|
49
|
+
position: {
|
|
50
|
+
x: number;
|
|
51
|
+
y: number;
|
|
52
|
+
z: number;
|
|
53
|
+
};
|
|
54
|
+
/** Influence weight */
|
|
55
|
+
influence: number;
|
|
56
|
+
/** Tokens in fragment */
|
|
57
|
+
token_count: number;
|
|
58
|
+
/** Creation time */
|
|
59
|
+
timestamp: Timestamp;
|
|
60
|
+
/** Seal */
|
|
61
|
+
seal: Seal;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Manifold commitment proof
|
|
65
|
+
* Proves the context state at a point in time
|
|
66
|
+
*/
|
|
67
|
+
export interface ManifoldCommitmentProof {
|
|
68
|
+
/** Proof ID */
|
|
69
|
+
id: string;
|
|
70
|
+
/** Timestamp of commitment */
|
|
71
|
+
timestamp: Timestamp;
|
|
72
|
+
/** Merkle root of all fragments */
|
|
73
|
+
merkle_root: Hash;
|
|
74
|
+
/** Fragment count */
|
|
75
|
+
fragment_count: number;
|
|
76
|
+
/** Total influence by source class */
|
|
77
|
+
influence_distribution: Record<SourceClass, number>;
|
|
78
|
+
/** Budget compliance */
|
|
79
|
+
budget_compliant: boolean;
|
|
80
|
+
/** Drift score (0 = no drift, 1 = maximum drift) */
|
|
81
|
+
drift_score: number;
|
|
82
|
+
/** L1 commitment reference */
|
|
83
|
+
commitment_id: string;
|
|
84
|
+
/** Seal */
|
|
85
|
+
seal: Seal;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Drift detection result
|
|
89
|
+
*/
|
|
90
|
+
export interface DriftAnalysis {
|
|
91
|
+
/** Overall drift score */
|
|
92
|
+
score: number;
|
|
93
|
+
/** Severity classification */
|
|
94
|
+
severity: DriftSeverity;
|
|
95
|
+
/** Drift by source class */
|
|
96
|
+
by_source: Record<SourceClass, number>;
|
|
97
|
+
/** Specific violations */
|
|
98
|
+
violations: Array<{
|
|
99
|
+
type: 'budget_exceeded' | 'region_overflow' | 'influence_spike' | 'position_anomaly';
|
|
100
|
+
source: SourceClass;
|
|
101
|
+
expected: number;
|
|
102
|
+
actual: number;
|
|
103
|
+
message: string;
|
|
104
|
+
}>;
|
|
105
|
+
/** Recommendations */
|
|
106
|
+
recommendations: string[];
|
|
107
|
+
}
|
|
108
|
+
export interface MCCAConfig {
|
|
109
|
+
/** Influence budget allocation */
|
|
110
|
+
budget: InfluenceBudget;
|
|
111
|
+
/** Maximum fragments in manifold */
|
|
112
|
+
maxFragments: number;
|
|
113
|
+
/** Maximum total tokens */
|
|
114
|
+
maxTokens: number;
|
|
115
|
+
/** Drift threshold for alerts */
|
|
116
|
+
driftThreshold: number;
|
|
117
|
+
/** Enable automatic pruning */
|
|
118
|
+
autoPrune: boolean;
|
|
119
|
+
/** Region size limits (tokens) */
|
|
120
|
+
regionLimits: Record<ManifoldRegion, number>;
|
|
121
|
+
}
|
|
122
|
+
export declare const DEFAULT_CONFIG: MCCAConfig;
|
|
123
|
+
export declare class MCCAEngine {
|
|
124
|
+
private key;
|
|
125
|
+
private config;
|
|
126
|
+
private commitmentEngine;
|
|
127
|
+
private fragments;
|
|
128
|
+
private fragmentsByRegion;
|
|
129
|
+
private fragmentsBySource;
|
|
130
|
+
private proofs;
|
|
131
|
+
private totalTokens;
|
|
132
|
+
private influenceBySource;
|
|
133
|
+
constructor(commitmentEngine: CommitmentEngine, config?: Partial<MCCAConfig>);
|
|
134
|
+
/**
|
|
135
|
+
* Initialize the MCCA engine
|
|
136
|
+
*/
|
|
137
|
+
initialize(sealKey: string): Promise<void>;
|
|
138
|
+
/**
|
|
139
|
+
* Add a fragment to the manifold
|
|
140
|
+
* Automatically positions it based on source and content
|
|
141
|
+
*/
|
|
142
|
+
addFragment(params: {
|
|
143
|
+
content: unknown;
|
|
144
|
+
source_class: SourceClass;
|
|
145
|
+
region: ManifoldRegion;
|
|
146
|
+
token_count: number;
|
|
147
|
+
influence?: number;
|
|
148
|
+
}): Promise<ManifoldFragment>;
|
|
149
|
+
/**
|
|
150
|
+
* Calculate base influence for a fragment
|
|
151
|
+
*/
|
|
152
|
+
private calculateBaseInfluence;
|
|
153
|
+
/**
|
|
154
|
+
* Calculate position in manifold
|
|
155
|
+
*/
|
|
156
|
+
private calculatePosition;
|
|
157
|
+
/**
|
|
158
|
+
* Prune a region to make space
|
|
159
|
+
*/
|
|
160
|
+
private pruneRegion;
|
|
161
|
+
/**
|
|
162
|
+
* Remove a fragment from the manifold
|
|
163
|
+
*/
|
|
164
|
+
removeFragment(id: FragmentId): Promise<void>;
|
|
165
|
+
/**
|
|
166
|
+
* Get region token count
|
|
167
|
+
*/
|
|
168
|
+
private getRegionTokens;
|
|
169
|
+
/**
|
|
170
|
+
* Generate a manifold commitment proof
|
|
171
|
+
*/
|
|
172
|
+
generateCommitmentProof(): Promise<ManifoldCommitmentProof>;
|
|
173
|
+
/**
|
|
174
|
+
* Compute merkle root from hashes
|
|
175
|
+
*/
|
|
176
|
+
private computeMerkleRoot;
|
|
177
|
+
/**
|
|
178
|
+
* Check if current state complies with budget
|
|
179
|
+
*/
|
|
180
|
+
checkBudgetCompliance(): {
|
|
181
|
+
compliant: boolean;
|
|
182
|
+
violations: string[];
|
|
183
|
+
};
|
|
184
|
+
/**
|
|
185
|
+
* Analyze drift from expected manifold state
|
|
186
|
+
*/
|
|
187
|
+
analyzeDrift(): Promise<DriftAnalysis>;
|
|
188
|
+
/**
|
|
189
|
+
* Get fragment by ID
|
|
190
|
+
*/
|
|
191
|
+
getFragment(id: FragmentId): ManifoldFragment | null;
|
|
192
|
+
/**
|
|
193
|
+
* Get all fragments in a region
|
|
194
|
+
*/
|
|
195
|
+
getRegionFragments(region: ManifoldRegion): ManifoldFragment[];
|
|
196
|
+
/**
|
|
197
|
+
* Get fragments by source
|
|
198
|
+
*/
|
|
199
|
+
getSourceFragments(source: SourceClass): ManifoldFragment[];
|
|
200
|
+
/**
|
|
201
|
+
* Get current manifold state
|
|
202
|
+
*/
|
|
203
|
+
getState(): {
|
|
204
|
+
totalFragments: number;
|
|
205
|
+
totalTokens: number;
|
|
206
|
+
influenceBySource: Record<SourceClass, number>;
|
|
207
|
+
tokensByRegion: Record<ManifoldRegion, number>;
|
|
208
|
+
};
|
|
209
|
+
/**
|
|
210
|
+
* Get engine statistics
|
|
211
|
+
*/
|
|
212
|
+
getStats(): {
|
|
213
|
+
fragments: number;
|
|
214
|
+
tokens: number;
|
|
215
|
+
proofs: number;
|
|
216
|
+
budgetCompliance: {
|
|
217
|
+
compliant: boolean;
|
|
218
|
+
violations: string[];
|
|
219
|
+
};
|
|
220
|
+
config: MCCAConfig;
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Higher-level context window management
|
|
225
|
+
* Uses MCCA engine underneath
|
|
226
|
+
*/
|
|
227
|
+
export declare class ContextWindowManager {
|
|
228
|
+
private mcca;
|
|
229
|
+
private maxTokens;
|
|
230
|
+
constructor(mcca: MCCAEngine, maxTokens?: number);
|
|
231
|
+
/**
|
|
232
|
+
* Add system prompt
|
|
233
|
+
*/
|
|
234
|
+
addSystemPrompt(content: string, tokens: number): Promise<ManifoldFragment>;
|
|
235
|
+
/**
|
|
236
|
+
* Add user message
|
|
237
|
+
*/
|
|
238
|
+
addUserMessage(content: string, tokens: number): Promise<ManifoldFragment>;
|
|
239
|
+
/**
|
|
240
|
+
* Add agent response
|
|
241
|
+
*/
|
|
242
|
+
addAgentResponse(content: string, tokens: number): Promise<ManifoldFragment>;
|
|
243
|
+
/**
|
|
244
|
+
* Add tool output
|
|
245
|
+
*/
|
|
246
|
+
addToolOutput(content: unknown, tokens: number): Promise<ManifoldFragment>;
|
|
247
|
+
/**
|
|
248
|
+
* Add retrieved memory
|
|
249
|
+
*/
|
|
250
|
+
addMemory(content: unknown, tokens: number): Promise<ManifoldFragment>;
|
|
251
|
+
/**
|
|
252
|
+
* Get context health
|
|
253
|
+
*/
|
|
254
|
+
getHealth(): Promise<{
|
|
255
|
+
healthy: boolean;
|
|
256
|
+
drift: DriftAnalysis;
|
|
257
|
+
utilization: number;
|
|
258
|
+
}>;
|
|
259
|
+
}
|
|
260
|
+
//# sourceMappingURL=engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/mcca/engine.ts"],"names":[],"mappings":"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"}
|