@dharma-ai-labs/agent-fabric 0.1.7 → 0.1.10
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 +9 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +819 -47
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +303 -7
- package/dist/index.test.js.map +1 -1
- package/dist/schemas/evidence-request-v2.schema.json +143 -0
- package/dist/schemas/evidence-request.schema.json +14 -1
- package/dist/schemas/organization-policy-v2.schema.json +254 -0
- package/dist/schemas/trajectory-capsule.schema.json +57 -0
- package/package.json +8 -8
package/dist/index.test.js
CHANGED
|
@@ -1,14 +1,48 @@
|
|
|
1
1
|
import assert from 'node:assert/strict';
|
|
2
2
|
import { execFile } from 'node:child_process';
|
|
3
|
-
import { createHash } from 'node:crypto';
|
|
4
|
-
import { mkdir, mkdtemp, readFile, realpath, symlink, writeFile } from 'node:fs/promises';
|
|
3
|
+
import { createHash, generateKeyPairSync } from 'node:crypto';
|
|
4
|
+
import { mkdir, mkdtemp, readFile, realpath, symlink, unlink, writeFile } from 'node:fs/promises';
|
|
5
5
|
import { tmpdir } from 'node:os';
|
|
6
6
|
import { join } from 'node:path';
|
|
7
7
|
import test from 'node:test';
|
|
8
8
|
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
9
9
|
import { promisify } from 'node:util';
|
|
10
|
-
import { activateAgyPlugin, assertTaskSkillPin, installNativeAgentFabricBootstrap, installRepositoryAgentFabricSkill, isDirectExecution, materializeWorkspacePolicy, materializeInlineSkillFiles, nativeSkillDirectory, rawLocalRetentionDays, relayProcessState, run, taskResponsePreview, taskSkillPinFailureCode, verifyAgentFabricSkillInstallation, } from './index.js';
|
|
10
|
+
import { activateAgyPlugin, assertCapsuleAuthorizedByCurrentPolicy, assertTaskSkillPin, installNativeAgentFabricBootstrap, installRepositoryAgentFabricSkill, isDirectExecution, materializeWorkspacePolicy, applyServerEvidencePolicy, materializeInlineSkillFiles, nativeSkillDirectory, rawLocalRetentionDays, relayProcessState, releaseDailyContentUpload, reserveDailyContentUpload, run, taskResponsePreview, taskSkillPinFailureCode, verifyAgentFabricSkillInstallation, } from './index.js';
|
|
11
|
+
import { canonicalize, signCanonicalObject } from '@dharma-ai-labs/agent-fabric-contracts';
|
|
11
12
|
const execFileAsync = promisify(execFile);
|
|
13
|
+
function memorySecureStore() {
|
|
14
|
+
const values = new Map();
|
|
15
|
+
return {
|
|
16
|
+
backend: 'linux-secret-service',
|
|
17
|
+
async get(account) { return values.get(account) ?? null; },
|
|
18
|
+
async put(account, value) { values.set(account, value); },
|
|
19
|
+
async delete(account) { values.delete(account); },
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function signedPolicyAuthorization(policy, organizationId = 'org_northstar', workspaceId = 'workspace-northstar') {
|
|
23
|
+
const keys = generateKeyPairSync('ed25519');
|
|
24
|
+
const sourceEvidence = policy.evidence && typeof policy.evidence === 'object' && !Array.isArray(policy.evidence)
|
|
25
|
+
? policy.evidence : {};
|
|
26
|
+
const signedPolicy = {
|
|
27
|
+
...policy,
|
|
28
|
+
evidence: {
|
|
29
|
+
...sourceEvidence,
|
|
30
|
+
maximumExpansionBytes: sourceEvidence.maximumExpansionBytes ?? 100_000,
|
|
31
|
+
excludePaths: sourceEvidence.excludePaths ?? ['**/.env', '**/*.key'],
|
|
32
|
+
pseudonymizeIdentity: true,
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
const unsigned = {
|
|
36
|
+
schema: 'dharma.workspace-policy-authorization/v1', organizationId, workspaceId, policy: signedPolicy,
|
|
37
|
+
issuedAt: new Date(Date.now() - 60_000).toISOString(), expiresAt: new Date(Date.now() + 86_400_000).toISOString(),
|
|
38
|
+
keyVersion: 'test-key',
|
|
39
|
+
};
|
|
40
|
+
const publicJwk = keys.publicKey.export({ format: 'jwk' });
|
|
41
|
+
return {
|
|
42
|
+
envelope: { ...unsigned, signature: signCanonicalObject(unsigned, keys.privateKey) },
|
|
43
|
+
publicKeyEd25519: publicJwk.x,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
12
46
|
test('organization raw evidence retention is validated and defaults explicitly', () => {
|
|
13
47
|
assert.equal(rawLocalRetentionDays({ retention: {} }), 30);
|
|
14
48
|
assert.equal(rawLocalRetentionDays({ retention: { rawLocalDays: 7 } }), 7);
|
|
@@ -16,7 +50,7 @@ test('organization raw evidence retention is validated and defaults explicitly',
|
|
|
16
50
|
assert.throws(() => rawLocalRetentionDays({ retention: { rawLocalDays: 1.5 } }), /between 1 and 3650/);
|
|
17
51
|
});
|
|
18
52
|
test('version is parser-safe structured output', async () => {
|
|
19
|
-
assert.deepEqual(await run(['version']), { version: '0.1.
|
|
53
|
+
assert.deepEqual(await run(['version']), { version: '0.1.10' });
|
|
20
54
|
});
|
|
21
55
|
test('help is successful and direct basic commands keep stdout and stderr clean', async () => {
|
|
22
56
|
assert.match(String(await run(['--help'])), /^Usage: dharma/);
|
|
@@ -40,6 +74,10 @@ test('global npm symlinks still execute the CLI entrypoint', async () => {
|
|
|
40
74
|
test('unknown commands fail as usage errors', async () => {
|
|
41
75
|
await assert.rejects(() => run(['unknown']), /Usage:/);
|
|
42
76
|
});
|
|
77
|
+
test('documented direct-sync commands enforce their required arguments', async () => {
|
|
78
|
+
await assert.rejects(() => run(['workspace', 'sync', 'workspace-test', '--apply']), /Missing required option --policy-revision/);
|
|
79
|
+
await assert.rejects(() => run(['evidence', 'sync', '--workspace-id', 'workspace-test', '--policy', '.dharma/approved-policy.json']), /Missing required option --file/);
|
|
80
|
+
});
|
|
43
81
|
test('status reports verified relay state and hides local identifiers by default', async () => {
|
|
44
82
|
const home = await mkdtemp(join(tmpdir(), 'dharma-cli-status-'));
|
|
45
83
|
const previous = process.env.DHARMA_HOME;
|
|
@@ -52,7 +90,7 @@ test('status reports verified relay state and hides local identifiers by default
|
|
|
52
90
|
organizationId: 'org_private', deviceId: 'device_private',
|
|
53
91
|
}));
|
|
54
92
|
const status = await run(['status']);
|
|
55
|
-
assert.deepEqual(status, { version: '0.1.
|
|
93
|
+
assert.deepEqual(status, { version: '0.1.10', enrolled: true, relay: 'running' });
|
|
56
94
|
const diagnostic = await run(['status', '--verbose']);
|
|
57
95
|
assert.equal(diagnostic.organizationId, 'org_private');
|
|
58
96
|
assert.equal(diagnostic.deviceId, 'device_private');
|
|
@@ -116,7 +154,7 @@ test('single capture selects an older session exactly and advances a changing se
|
|
|
116
154
|
'evidence', 'capture', '--workspace', workspace, '--provider', 'codex', '--source-root', sessions,
|
|
117
155
|
'--policy', policyPath, '--session-ids-file', allowlist,
|
|
118
156
|
]);
|
|
119
|
-
assert.
|
|
157
|
+
assert.match(String(first.sessionId), /^sha256:[a-f0-9]{64}$/);
|
|
120
158
|
assert.equal(first.revision, 1);
|
|
121
159
|
events.push({ type: 'turn_context', payload: { turn_id: firstTurn, cwd: canonicalWorkspace }, timestamp: '2026-08-12T03:00:00Z' }, { type: 'event_msg', payload: { type: 'agent_message', message: 'older task completed later' }, timestamp: '2026-08-12T03:00:01Z' });
|
|
122
160
|
await writeFile(source, events.map((value) => JSON.stringify(value)).join('\n'));
|
|
@@ -124,7 +162,7 @@ test('single capture selects an older session exactly and advances a changing se
|
|
|
124
162
|
'evidence', 'capture', '--workspace', workspace, '--provider', 'codex', '--source-root', sessions,
|
|
125
163
|
'--policy', policyPath, '--session-ids-file', allowlist,
|
|
126
164
|
]);
|
|
127
|
-
assert.equal(second.sessionId,
|
|
165
|
+
assert.equal(second.sessionId, first.sessionId);
|
|
128
166
|
assert.equal(second.revision, 2);
|
|
129
167
|
assert.equal(second.previousRevisionHash, first.capsuleHash);
|
|
130
168
|
const retry = await run([
|
|
@@ -161,6 +199,7 @@ test('repository onboarding skill records scoped API metadata without local path
|
|
|
161
199
|
const skill = await readFile(join(workspace, result.skillPath), 'utf8');
|
|
162
200
|
const connection = await readFile(join(workspace, result.connectionPath), 'utf8');
|
|
163
201
|
assert.match(skill, /structured, task-bound handoff/);
|
|
202
|
+
assert.match(skill, /local deterministic self-analysis/);
|
|
164
203
|
assert.match(skill, /dharma skills verify --provider codex --workspace \./);
|
|
165
204
|
assert.match(skill, /dharma skills verify --provider claude --workspace \./);
|
|
166
205
|
assert.match(skill, /dharma skills verify --provider agy --workspace \./);
|
|
@@ -204,9 +243,266 @@ test('blank-slate onboarding creates a conservative executable workspace policy'
|
|
|
204
243
|
assert.deepEqual(generated.policy.tasks.writePaths, ['src/**']);
|
|
205
244
|
assert.equal(generated.policy.tasks.defaultNetwork, 'deny');
|
|
206
245
|
assert.equal(generated.policy.skills.automaticPromotionMaxRisk, 'R2');
|
|
246
|
+
assert.deepEqual(generated.policy.evidence.automaticDisclosure, { mode: 'local_analysis' });
|
|
207
247
|
const persisted = JSON.parse(await readFile(join(workspace, generated.relativePath), 'utf8'));
|
|
208
248
|
assert.equal(persisted.organizationId, 'org_northstar');
|
|
209
249
|
});
|
|
250
|
+
test('applies only a server-issued bounded content grant to the local workspace policy', async () => {
|
|
251
|
+
const workspace = await mkdtemp(join(tmpdir(), 'dharma-server-policy-'));
|
|
252
|
+
const secureStore = memorySecureStore();
|
|
253
|
+
const previousHome = process.env.DHARMA_HOME;
|
|
254
|
+
process.env.DHARMA_HOME = workspace;
|
|
255
|
+
await writeFile(join(workspace, 'device.json'), JSON.stringify({
|
|
256
|
+
schema: 'dharma.device-config/v1', hqUrl: 'https://www.dharma-ai.io', organizationId: 'org_northstar',
|
|
257
|
+
deviceId: 'device-test', relayUrl: 'wss://relay.dharma-ai.io',
|
|
258
|
+
}));
|
|
259
|
+
const signed = signedPolicyAuthorization({
|
|
260
|
+
revision: 'agent-fabric-content-11111111-1111-4111-8111-111111111111',
|
|
261
|
+
evidence: {
|
|
262
|
+
automaticDisclosure: { mode: 'customer_authorized_content', consentReceiptId: 'consent_11111111-1111-4111-8111-111111111111', allowedContentClasses: ['native_provider_payload'] },
|
|
263
|
+
maximumCapsuleBytes: 500_000, maximumDailyUploadBytes: 50_000_000,
|
|
264
|
+
},
|
|
265
|
+
});
|
|
266
|
+
const generated = await materializeWorkspacePolicy({
|
|
267
|
+
workspace,
|
|
268
|
+
organizationId: 'org_northstar',
|
|
269
|
+
revision: 'portal-bootstrap',
|
|
270
|
+
serverPolicyAuthorization: signed.envelope,
|
|
271
|
+
serverPublicKeyEd25519: signed.publicKeyEd25519,
|
|
272
|
+
workspaceId: 'workspace-northstar',
|
|
273
|
+
secureStore,
|
|
274
|
+
});
|
|
275
|
+
if (previousHome === undefined)
|
|
276
|
+
delete process.env.DHARMA_HOME;
|
|
277
|
+
else
|
|
278
|
+
process.env.DHARMA_HOME = previousHome;
|
|
279
|
+
assert.equal(generated.policy.revision, 'agent-fabric-content-11111111-1111-4111-8111-111111111111');
|
|
280
|
+
assert.deepEqual(generated.policy.evidence.automaticDisclosure, {
|
|
281
|
+
mode: 'customer_authorized_content',
|
|
282
|
+
consentReceiptId: 'consent_11111111-1111-4111-8111-111111111111',
|
|
283
|
+
allowedContentClasses: ['native_provider_payload'],
|
|
284
|
+
});
|
|
285
|
+
assert.equal(generated.policy.evidence.maximumCapsuleBytes, 500_000);
|
|
286
|
+
assert.equal(generated.policy.tasks.defaultNetwork, 'deny');
|
|
287
|
+
assert.throws(() => applyServerEvidencePolicy(generated.policy, { ...signed.envelope, signature: 'tampered' }, signed.publicKeyEd25519, 'org_northstar', 'workspace-northstar'), /signature is invalid/);
|
|
288
|
+
});
|
|
289
|
+
test('server evidence updates preserve existing workspace command and write authority', async () => {
|
|
290
|
+
const workspace = await mkdtemp(join(tmpdir(), 'dharma-existing-policy-'));
|
|
291
|
+
const secureStore = memorySecureStore();
|
|
292
|
+
const previousHome = process.env.DHARMA_HOME;
|
|
293
|
+
process.env.DHARMA_HOME = workspace;
|
|
294
|
+
await writeFile(join(workspace, 'device.json'), JSON.stringify({
|
|
295
|
+
schema: 'dharma.device-config/v1', hqUrl: 'https://www.dharma-ai.io', organizationId: 'org_northstar',
|
|
296
|
+
deviceId: 'device-test', relayUrl: 'wss://relay.dharma-ai.io',
|
|
297
|
+
}));
|
|
298
|
+
await mkdir(join(workspace, '.dharma'), { recursive: true });
|
|
299
|
+
const initial = await materializeWorkspacePolicy({ workspace, organizationId: 'org_northstar', revision: 'initial' });
|
|
300
|
+
initial.policy.tasks.allowedCommands['customer.check'] = { argv: ['node', '--check', 'src/index.js'], timeoutSeconds: 60 };
|
|
301
|
+
initial.policy.tasks.writePaths = ['customer-src/**'];
|
|
302
|
+
await writeFile(join(workspace, initial.relativePath), JSON.stringify(initial.policy));
|
|
303
|
+
const signed = signedPolicyAuthorization({
|
|
304
|
+
revision: 'agent-fabric-local-analysis-v2',
|
|
305
|
+
evidence: { automaticDisclosure: { mode: 'local_analysis' }, maximumCapsuleBytes: 500_000, maximumDailyUploadBytes: 5_000_000 },
|
|
306
|
+
});
|
|
307
|
+
const updated = await materializeWorkspacePolicy({
|
|
308
|
+
workspace, organizationId: 'org_northstar', revision: 'ignored', serverPolicyAuthorization: signed.envelope,
|
|
309
|
+
serverPublicKeyEd25519: signed.publicKeyEd25519, workspaceId: 'workspace-northstar', secureStore,
|
|
310
|
+
});
|
|
311
|
+
if (previousHome === undefined)
|
|
312
|
+
delete process.env.DHARMA_HOME;
|
|
313
|
+
else
|
|
314
|
+
process.env.DHARMA_HOME = previousHome;
|
|
315
|
+
assert.deepEqual(updated.policy.tasks.allowedCommands['customer.check']?.argv, ['node', '--check', 'src/index.js']);
|
|
316
|
+
assert.deepEqual(updated.policy.tasks.writePaths, ['customer-src/**']);
|
|
317
|
+
});
|
|
318
|
+
test('daily content disclosure ledger is durable, bounded, and idempotent by capsule hash', async () => {
|
|
319
|
+
const previous = process.env.DHARMA_HOME;
|
|
320
|
+
const home = await mkdtemp(join(tmpdir(), 'dharma-content-ledger-'));
|
|
321
|
+
process.env.DHARMA_HOME = home;
|
|
322
|
+
try {
|
|
323
|
+
const secureStore = memorySecureStore();
|
|
324
|
+
await writeFile(join(home, 'device.json'), JSON.stringify({ schema: 'dharma.device-config/v1',
|
|
325
|
+
hqUrl: 'https://www.dharma-ai.io', organizationId: 'org_northstar', deviceId: 'device-ledger', relayUrl: 'wss://relay.dharma-ai.io' }));
|
|
326
|
+
const signed = signedPolicyAuthorization({
|
|
327
|
+
revision: 'content-v1',
|
|
328
|
+
evidence: {
|
|
329
|
+
automaticDisclosure: { mode: 'customer_authorized_content', consentReceiptId: 'consent-ledger', allowedContentClasses: ['native_provider_payload'] },
|
|
330
|
+
maximumCapsuleBytes: 1_000, maximumDailyUploadBytes: 700, maximumExpansionBytes: 100,
|
|
331
|
+
},
|
|
332
|
+
});
|
|
333
|
+
const generated = await materializeWorkspacePolicy({
|
|
334
|
+
workspace: home, organizationId: 'org_northstar', revision: 'content', workspaceId: 'workspace-northstar',
|
|
335
|
+
serverPolicyAuthorization: signed.envelope, serverPublicKeyEd25519: signed.publicKeyEd25519,
|
|
336
|
+
secureStore,
|
|
337
|
+
});
|
|
338
|
+
const policy = generated.policy;
|
|
339
|
+
const signCapsule = (unsigned) => ({
|
|
340
|
+
...unsigned,
|
|
341
|
+
capsuleHash: `sha256:${createHash('sha256').update(canonicalize(unsigned)).digest('hex')}`,
|
|
342
|
+
});
|
|
343
|
+
const first = signCapsule({ automaticDisclosureMode: 'customer_authorized_content', text: 'x'.repeat(300) });
|
|
344
|
+
const second = signCapsule({ automaticDisclosureMode: 'customer_authorized_content', text: 'y'.repeat(300) });
|
|
345
|
+
await reserveDailyContentUpload(first, policy, secureStore);
|
|
346
|
+
await reserveDailyContentUpload(first, policy, secureStore);
|
|
347
|
+
await assert.rejects(() => reserveDailyContentUpload(second, policy, secureStore), /daily content upload limit/i);
|
|
348
|
+
await releaseDailyContentUpload(first, policy, secureStore);
|
|
349
|
+
await reserveDailyContentUpload(second, policy, secureStore);
|
|
350
|
+
}
|
|
351
|
+
finally {
|
|
352
|
+
if (previous === undefined)
|
|
353
|
+
delete process.env.DHARMA_HOME;
|
|
354
|
+
else
|
|
355
|
+
process.env.DHARMA_HOME = previous;
|
|
356
|
+
}
|
|
357
|
+
});
|
|
358
|
+
test('deleting the advisory local quota ledger does not bypass the authoritative server quota', async () => {
|
|
359
|
+
const previous = process.env.DHARMA_HOME;
|
|
360
|
+
const home = await mkdtemp(join(tmpdir(), 'dharma-content-ledger-delete-'));
|
|
361
|
+
process.env.DHARMA_HOME = home;
|
|
362
|
+
try {
|
|
363
|
+
const secureStore = memorySecureStore();
|
|
364
|
+
await writeFile(join(home, 'device.json'), JSON.stringify({ schema: 'dharma.device-config/v1',
|
|
365
|
+
hqUrl: 'https://www.dharma-ai.io', organizationId: 'org_northstar', deviceId: 'device-delete', relayUrl: 'wss://relay.dharma-ai.io' }));
|
|
366
|
+
const signed = signedPolicyAuthorization({
|
|
367
|
+
revision: 'content-delete-v1',
|
|
368
|
+
evidence: {
|
|
369
|
+
automaticDisclosure: { mode: 'customer_authorized_content', consentReceiptId: 'consent-ledger-delete', allowedContentClasses: ['native_provider_payload'] },
|
|
370
|
+
maximumCapsuleBytes: 1_000, maximumDailyUploadBytes: 700, maximumExpansionBytes: 100,
|
|
371
|
+
},
|
|
372
|
+
});
|
|
373
|
+
const input = {
|
|
374
|
+
workspace: home, organizationId: 'org_northstar', revision: 'content-delete', workspaceId: 'workspace-northstar',
|
|
375
|
+
serverPolicyAuthorization: signed.envelope, serverPublicKeyEd25519: signed.publicKeyEd25519,
|
|
376
|
+
secureStore,
|
|
377
|
+
};
|
|
378
|
+
await materializeWorkspacePolicy(input);
|
|
379
|
+
await unlink(join(home, 'relay', 'evidence-upload-ledger.json'));
|
|
380
|
+
await materializeWorkspacePolicy(input);
|
|
381
|
+
assert.equal(JSON.parse(await readFile(join(home, 'relay', 'evidence-upload-ledger.json'), 'utf8')).totalBytes, 0);
|
|
382
|
+
}
|
|
383
|
+
finally {
|
|
384
|
+
if (previous === undefined)
|
|
385
|
+
delete process.env.DHARMA_HOME;
|
|
386
|
+
else
|
|
387
|
+
process.env.DHARMA_HOME = previous;
|
|
388
|
+
}
|
|
389
|
+
});
|
|
390
|
+
test('queued content must match the current signed consent and policy revision', async () => {
|
|
391
|
+
const base = await materializeWorkspacePolicy({ workspace: await mkdtemp(join(tmpdir(), 'dharma-current-grant-')), organizationId: 'org_northstar', revision: 'local' });
|
|
392
|
+
const signed = signedPolicyAuthorization({
|
|
393
|
+
revision: 'content-v2',
|
|
394
|
+
evidence: {
|
|
395
|
+
automaticDisclosure: { mode: 'customer_authorized_content', consentReceiptId: 'consent-current', allowedContentClasses: ['native_provider_payload'] },
|
|
396
|
+
maximumCapsuleBytes: 1_000, maximumDailyUploadBytes: 1_000, maximumExpansionBytes: 100,
|
|
397
|
+
},
|
|
398
|
+
});
|
|
399
|
+
const policy = applyServerEvidencePolicy(base.policy, signed.envelope, signed.publicKeyEd25519, 'org_northstar', 'workspace-northstar');
|
|
400
|
+
const current = { organizationId: 'org_northstar', workspaceId: 'workspace-northstar', automaticDisclosureMode: 'customer_authorized_content', events: [], redactionReceipt: { disclosureMode: 'customer_authorized_content', policyRevision: 'content-v2', consentReceiptId: 'consent-current' } };
|
|
401
|
+
assert.doesNotThrow(() => assertCapsuleAuthorizedByCurrentPolicy(current, policy));
|
|
402
|
+
assert.throws(() => assertCapsuleAuthorizedByCurrentPolicy({ ...current, redactionReceipt: { disclosureMode: 'customer_authorized_content', policyRevision: 'content-v1', consentReceiptId: 'consent-old' } }, policy), /no longer authorized/);
|
|
403
|
+
assert.throws(() => assertCapsuleAuthorizedByCurrentPolicy(current, { ...policy, evidence: { ...policy.evidence, automaticDisclosure: { mode: 'local_analysis' } } }), /invalid|no longer authorized/);
|
|
404
|
+
});
|
|
405
|
+
test('reduced capsules cannot disguise provider content as local analysis', async () => {
|
|
406
|
+
const base = await materializeWorkspacePolicy({ workspace: await mkdtemp(join(tmpdir(), 'dharma-reduced-boundary-')), organizationId: 'org_northstar', revision: 'local' });
|
|
407
|
+
const reduced = {
|
|
408
|
+
organizationId: 'org_northstar', workspaceId: 'workspace-northstar', deviceId: '22222222-2222-4222-8222-222222222222',
|
|
409
|
+
provider: 'codex', sessionId: `sha256:${'a'.repeat(64)}`, taskId: null,
|
|
410
|
+
evidenceMode: base.policy.evidence.defaultMode, status: 'completed',
|
|
411
|
+
coverage: { state: 'observed', admittedSessions: 1, excludedSessions: 0, missingFields: [] },
|
|
412
|
+
automaticDisclosureMode: 'local_analysis', repoState: {}, skillState: {}, validationResults: [], contentIndex: [],
|
|
413
|
+
events: [{
|
|
414
|
+
schema: 'dharma.agent-event/v1', eventId: '33333333-3333-4333-8333-333333333333',
|
|
415
|
+
organizationId: 'org_northstar', deviceId: '22222222-2222-4222-8222-222222222222', workspaceId: 'workspace-northstar',
|
|
416
|
+
provider: 'codex', sessionId: `sha256:${'a'.repeat(64)}`, sequence: 0, occurredAt: '2026-08-12T00:00:00.000Z', kind: 'user_message', coverage: 'observed', contentRefs: [],
|
|
417
|
+
payload: { nativeKind: 'user_message', recordBytes: 10, contentOmitted: true },
|
|
418
|
+
source: { nativeEventId: null, sourceKind: 'user_message', localLocatorId: null }, skillBundleId: null, providerModel: null,
|
|
419
|
+
}],
|
|
420
|
+
localAnalysis: {
|
|
421
|
+
schema: 'dharma.local-trajectory-analysis/v1', analyzer: 'deterministic', recordCount: 1,
|
|
422
|
+
recordBytes: { total: 10, maximum: 10 }, eventKinds: { user_message: 1 },
|
|
423
|
+
toolDiscipline: { calls: 0, results: 0, unmatchedCalls: 0, orphanResults: 0 },
|
|
424
|
+
outcomeSignals: { errorRecords: 0, incomplete: false, coverage: 'observed' }, durationMs: 1,
|
|
425
|
+
semanticReviewRecommended: false, reasonCodes: [],
|
|
426
|
+
},
|
|
427
|
+
redactionReceipt: { disclosureMode: 'local_analysis', policyRevision: base.policy.revision, consentReceiptId: null, disclosedClasses: ['local_deterministic_analysis'], excludedClasses: ['native_provider_payload'], classes: [] },
|
|
428
|
+
};
|
|
429
|
+
assert.doesNotThrow(() => assertCapsuleAuthorizedByCurrentPolicy(reduced, base.policy));
|
|
430
|
+
assert.throws(() => assertCapsuleAuthorizedByCurrentPolicy({
|
|
431
|
+
...reduced,
|
|
432
|
+
events: [{
|
|
433
|
+
kind: 'user_message',
|
|
434
|
+
payload: { nativeKind: 'user_message', recordBytes: 10, contentOmitted: true, nativeProviderPayload: 'private prompt' },
|
|
435
|
+
source: { nativeEventId: null, sourceKind: 'user_message' },
|
|
436
|
+
}],
|
|
437
|
+
}, base.policy), /unauthorized provider content/i);
|
|
438
|
+
assert.throws(() => assertCapsuleAuthorizedByCurrentPolicy({
|
|
439
|
+
...reduced,
|
|
440
|
+
events: [{
|
|
441
|
+
kind: 'user_message', payload: { nativeKind: 'private prompt', recordBytes: 10, contentOmitted: true },
|
|
442
|
+
source: { nativeEventId: null, sourceKind: 'user_message' },
|
|
443
|
+
}],
|
|
444
|
+
}, base.policy), /unauthorized provider content/i);
|
|
445
|
+
assert.throws(() => assertCapsuleAuthorizedByCurrentPolicy({
|
|
446
|
+
...reduced,
|
|
447
|
+
contentIndex: [{ contentId: `sha256:${'a'.repeat(64)}`, kind: 'private prompt', bytes: 10, uploaded: false,
|
|
448
|
+
availableLocally: true, mimeType: 'application/x-ndjson', normalizedPath: null }],
|
|
449
|
+
}, base.policy), /unauthorized content descriptor/i);
|
|
450
|
+
assert.throws(() => assertCapsuleAuthorizedByCurrentPolicy({
|
|
451
|
+
...reduced, repoState: { source: 'private code' },
|
|
452
|
+
}, base.policy), /unauthorized auxiliary content/i);
|
|
453
|
+
assert.throws(() => assertCapsuleAuthorizedByCurrentPolicy({
|
|
454
|
+
...reduced, localAnalysis: { ...reduced.localAnalysis, reasonCodes: ['secret=customer-token'] },
|
|
455
|
+
}, base.policy), /invalid free-form analysis/i);
|
|
456
|
+
assert.throws(() => assertCapsuleAuthorizedByCurrentPolicy({
|
|
457
|
+
...reduced,
|
|
458
|
+
events: [{ ...reduced.events[0], providerModel: 'customer-secret-in-metadata' }],
|
|
459
|
+
}, base.policy), /unauthorized event descriptors/i);
|
|
460
|
+
assert.throws(() => assertCapsuleAuthorizedByCurrentPolicy({
|
|
461
|
+
...reduced,
|
|
462
|
+
events: [{ ...reduced.events[0], source: { ...reduced.events[0].source, localLocatorId: 'customer-secret-in-metadata' } }],
|
|
463
|
+
}, base.policy), /unauthorized event descriptors/i);
|
|
464
|
+
assert.throws(() => assertCapsuleAuthorizedByCurrentPolicy({
|
|
465
|
+
...reduced, redactionReceipt: { ...reduced.redactionReceipt, classes: ['secret=customer-token'] },
|
|
466
|
+
}, base.policy), /invalid redaction receipt classes/i);
|
|
467
|
+
assert.throws(() => assertCapsuleAuthorizedByCurrentPolicy({
|
|
468
|
+
...reduced, coverage: { ...reduced.coverage, missingFields: ['customer-secret-in-metadata'] },
|
|
469
|
+
}, base.policy), /unauthorized identity or policy metadata/i);
|
|
470
|
+
assert.throws(() => assertCapsuleAuthorizedByCurrentPolicy({
|
|
471
|
+
...reduced, redactionReceipt: { ...reduced.redactionReceipt, disclosedClasses: ['customer-secret-in-metadata'] },
|
|
472
|
+
}, base.policy), /invalid redaction receipt classes/i);
|
|
473
|
+
});
|
|
474
|
+
test('server withdrawal resets a workspace to local analysis without retaining a consent receipt', async () => {
|
|
475
|
+
const workspace = await mkdtemp(join(tmpdir(), 'dharma-local-policy-'));
|
|
476
|
+
const signed = signedPolicyAuthorization({
|
|
477
|
+
revision: 'agent-fabric-local-analysis-v1',
|
|
478
|
+
evidence: { automaticDisclosure: { mode: 'local_analysis' }, maximumCapsuleBytes: 1_048_576, maximumDailyUploadBytes: 50_000_000 },
|
|
479
|
+
});
|
|
480
|
+
const generated = await materializeWorkspacePolicy({
|
|
481
|
+
workspace,
|
|
482
|
+
organizationId: 'org_northstar',
|
|
483
|
+
revision: 'content-policy-old',
|
|
484
|
+
serverPolicyAuthorization: signed.envelope,
|
|
485
|
+
serverPublicKeyEd25519: signed.publicKeyEd25519,
|
|
486
|
+
workspaceId: 'workspace-northstar',
|
|
487
|
+
});
|
|
488
|
+
assert.equal(generated.policy.revision, 'agent-fabric-local-analysis-v1');
|
|
489
|
+
assert.deepEqual(generated.policy.evidence.automaticDisclosure, { mode: 'local_analysis' });
|
|
490
|
+
});
|
|
491
|
+
test('server may withdraw content to metadata-only and dry-run does not mutate the workspace policy', async () => {
|
|
492
|
+
const workspace = await mkdtemp(join(tmpdir(), 'dharma-metadata-policy-'));
|
|
493
|
+
const policyPath = join(workspace, '.dharma', 'approved-policy.json');
|
|
494
|
+
const signed = signedPolicyAuthorization({
|
|
495
|
+
revision: 'agent-fabric-metadata-only-v1',
|
|
496
|
+
evidence: { automaticDisclosure: { mode: 'metadata_only' }, maximumCapsuleBytes: 1_048_576, maximumDailyUploadBytes: 50_000_000 },
|
|
497
|
+
});
|
|
498
|
+
const generated = await materializeWorkspacePolicy({
|
|
499
|
+
workspace, organizationId: 'org_northstar', revision: 'old', serverPolicyAuthorization: signed.envelope,
|
|
500
|
+
serverPublicKeyEd25519: signed.publicKeyEd25519, workspaceId: 'workspace-northstar', dryRun: true,
|
|
501
|
+
});
|
|
502
|
+
assert.equal(generated.applied, false);
|
|
503
|
+
assert.equal(generated.policy.evidence.automaticDisclosure?.mode, 'metadata_only');
|
|
504
|
+
await assert.rejects(() => readFile(policyPath, 'utf8'), /ENOENT/);
|
|
505
|
+
});
|
|
210
506
|
test('materializes signed inline files without repository credentials and rejects traversal', async () => {
|
|
211
507
|
const root = await mkdtemp(join(tmpdir(), 'dharma-inline-skill-'));
|
|
212
508
|
const content = Buffer.from('# Private remediation\n');
|
package/dist/index.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.dharma-ai.io/evidence-request/v2",
|
|
4
|
+
"title": "Evidence Request v2",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": [
|
|
8
|
+
"schema",
|
|
9
|
+
"requestId",
|
|
10
|
+
"organizationId",
|
|
11
|
+
"deviceId",
|
|
12
|
+
"workspaceId",
|
|
13
|
+
"trajectoryId",
|
|
14
|
+
"purpose",
|
|
15
|
+
"selectors",
|
|
16
|
+
"maximumBytes",
|
|
17
|
+
"retentionClass",
|
|
18
|
+
"requestedBy",
|
|
19
|
+
"authorityDecisionId",
|
|
20
|
+
"createdAt",
|
|
21
|
+
"expiresAt",
|
|
22
|
+
"nonce",
|
|
23
|
+
"capsuleRevision",
|
|
24
|
+
"capsuleHash",
|
|
25
|
+
"keyVersion",
|
|
26
|
+
"signature"
|
|
27
|
+
],
|
|
28
|
+
"properties": {
|
|
29
|
+
"schema": {
|
|
30
|
+
"const": "dharma.evidence-request/v2"
|
|
31
|
+
},
|
|
32
|
+
"requestId": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"format": "uuid"
|
|
35
|
+
},
|
|
36
|
+
"organizationId": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"minLength": 1
|
|
39
|
+
},
|
|
40
|
+
"deviceId": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"minLength": 1
|
|
43
|
+
},
|
|
44
|
+
"workspaceId": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"minLength": 1
|
|
47
|
+
},
|
|
48
|
+
"trajectoryId": {
|
|
49
|
+
"type": "string",
|
|
50
|
+
"format": "uuid"
|
|
51
|
+
},
|
|
52
|
+
"capsuleRevision": {
|
|
53
|
+
"type": "integer",
|
|
54
|
+
"minimum": 1
|
|
55
|
+
},
|
|
56
|
+
"capsuleHash": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"pattern": "^sha256:[a-f0-9]{64}$"
|
|
59
|
+
},
|
|
60
|
+
"purpose": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"enum": [
|
|
63
|
+
"evaluation",
|
|
64
|
+
"remediation_validation",
|
|
65
|
+
"incident_response",
|
|
66
|
+
"customer_review",
|
|
67
|
+
"support"
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
"selectors": {
|
|
71
|
+
"type": "array",
|
|
72
|
+
"minItems": 1,
|
|
73
|
+
"items": {
|
|
74
|
+
"type": "object",
|
|
75
|
+
"additionalProperties": false,
|
|
76
|
+
"required": [
|
|
77
|
+
"contentId"
|
|
78
|
+
],
|
|
79
|
+
"properties": {
|
|
80
|
+
"contentId": {
|
|
81
|
+
"type": "string",
|
|
82
|
+
"pattern": "^(sha256|blake3):[A-Fa-f0-9]{32,128}$"
|
|
83
|
+
},
|
|
84
|
+
"range": {
|
|
85
|
+
"type": [
|
|
86
|
+
"object",
|
|
87
|
+
"null"
|
|
88
|
+
],
|
|
89
|
+
"additionalProperties": false,
|
|
90
|
+
"properties": {
|
|
91
|
+
"start": {
|
|
92
|
+
"type": "integer",
|
|
93
|
+
"minimum": 0
|
|
94
|
+
},
|
|
95
|
+
"end": {
|
|
96
|
+
"type": "integer",
|
|
97
|
+
"minimum": 0
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"reason": {
|
|
102
|
+
"type": "string"
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"maximumBytes": {
|
|
108
|
+
"type": "integer",
|
|
109
|
+
"minimum": 1
|
|
110
|
+
},
|
|
111
|
+
"retentionClass": {
|
|
112
|
+
"type": "string"
|
|
113
|
+
},
|
|
114
|
+
"requestedBy": {
|
|
115
|
+
"type": "string",
|
|
116
|
+
"minLength": 1
|
|
117
|
+
},
|
|
118
|
+
"authorityDecisionId": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"minLength": 1
|
|
121
|
+
},
|
|
122
|
+
"createdAt": {
|
|
123
|
+
"type": "string",
|
|
124
|
+
"format": "date-time"
|
|
125
|
+
},
|
|
126
|
+
"expiresAt": {
|
|
127
|
+
"type": "string",
|
|
128
|
+
"format": "date-time"
|
|
129
|
+
},
|
|
130
|
+
"nonce": {
|
|
131
|
+
"type": "string",
|
|
132
|
+
"minLength": 1
|
|
133
|
+
},
|
|
134
|
+
"keyVersion": {
|
|
135
|
+
"type": "string",
|
|
136
|
+
"minLength": 1
|
|
137
|
+
},
|
|
138
|
+
"signature": {
|
|
139
|
+
"type": "string",
|
|
140
|
+
"minLength": 1
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|