@dharma-ai-labs/agent-fabric 0.2.128 → 0.2.130

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.
Files changed (47) hide show
  1. package/README.md +44 -0
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +131 -20
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.test.js +2 -0
  7. package/dist/index.test.js.map +1 -1
  8. package/dist/namedSessionPackageGate.d.ts +22 -0
  9. package/dist/namedSessionPackageGate.d.ts.map +1 -0
  10. package/dist/namedSessionPackageGate.js +135 -0
  11. package/dist/namedSessionPackageGate.js.map +1 -0
  12. package/dist/namedSessionPackageGate.test.d.ts +2 -0
  13. package/dist/namedSessionPackageGate.test.d.ts.map +1 -0
  14. package/dist/namedSessionPackageGate.test.js +20 -0
  15. package/dist/namedSessionPackageGate.test.js.map +1 -0
  16. package/dist/namedSessionRepositoryState.d.ts +47 -0
  17. package/dist/namedSessionRepositoryState.d.ts.map +1 -0
  18. package/dist/namedSessionRepositoryState.js +36 -0
  19. package/dist/namedSessionRepositoryState.js.map +1 -0
  20. package/dist/namedSessionRepositoryState.test.d.ts +2 -0
  21. package/dist/namedSessionRepositoryState.test.d.ts.map +1 -0
  22. package/dist/namedSessionRepositoryState.test.js +73 -0
  23. package/dist/namedSessionRepositoryState.test.js.map +1 -0
  24. package/dist/namedSessionService.d.ts +4 -1
  25. package/dist/namedSessionService.d.ts.map +1 -1
  26. package/dist/namedSessionService.js +10 -1
  27. package/dist/namedSessionService.js.map +1 -1
  28. package/dist/namedSessionService.test.js +32 -3
  29. package/dist/namedSessionService.test.js.map +1 -1
  30. package/dist/relaySupervisor.test.js +9 -4
  31. package/dist/relaySupervisor.test.js.map +1 -1
  32. package/dist/repositoryOnboardingFlow.test.js +3 -2
  33. package/dist/repositoryOnboardingFlow.test.js.map +1 -1
  34. package/dist/repositoryPackageDelivery.test.js +34 -1
  35. package/dist/repositoryPackageDelivery.test.js.map +1 -1
  36. package/dist/repositoryRelaySupervisor.d.ts +21 -1
  37. package/dist/repositoryRelaySupervisor.d.ts.map +1 -1
  38. package/dist/repositoryRelaySupervisor.js +66 -9
  39. package/dist/repositoryRelaySupervisor.js.map +1 -1
  40. package/dist/repositoryRelaySupervisor.test.js +83 -1
  41. package/dist/repositoryRelaySupervisor.test.js.map +1 -1
  42. package/dist/schemas/codex-task-observation.schema.json +94 -0
  43. package/dist/skillPreparationCache.test.js +2 -0
  44. package/dist/skillPreparationCache.test.js.map +1 -1
  45. package/dist/skillPreparationCaller.test.js +6 -4
  46. package/dist/skillPreparationCaller.test.js.map +1 -1
  47. package/package.json +5 -5
@@ -0,0 +1,22 @@
1
+ export declare function requireNamedSessionSignedPackage(installation: {
2
+ signedLifecycleReady: boolean;
3
+ activeBundleId: string | null;
4
+ signedMarkerBundleId: string | null;
5
+ }, sharedRepositoryReady: boolean): string;
6
+ export interface NamedSessionPackageContent {
7
+ bundleId: string;
8
+ bundleHash: string;
9
+ manifestHash: string;
10
+ catalogHash: string;
11
+ skillsHash: string;
12
+ }
13
+ export declare function readNamedSessionPackageContent(installation: {
14
+ signedLifecycleReady: boolean;
15
+ activeBundleId: string | null;
16
+ signedMarkerBundleId: string | null;
17
+ activeBundleHash: string | null;
18
+ workspaceId: string | null;
19
+ nativeSkillPath: string;
20
+ }, sharedRepositoryReady: boolean): Promise<NamedSessionPackageContent>;
21
+ export declare function verifyNamedSessionVisibleSkill(installation: Parameters<typeof readNamedSessionPackageContent>[0], sharedRepositoryReady: boolean): Promise<string>;
22
+ //# sourceMappingURL=namedSessionPackageGate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namedSessionPackageGate.d.ts","sourceRoot":"","sources":["../src/namedSessionPackageGate.ts"],"names":[],"mappings":"AAyCA,wBAAgB,gCAAgC,CAC9C,YAAY,EAAE;IAAE,oBAAoB,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3E,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EACvC,qBAAqB,EAAE,OAAO,GAC7B,MAAM,CAOR;AAqCD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,8BAA8B,CAClD,YAAY,EAAE;IAAE,oBAAoB,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3E,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,EACvD,qBAAqB,EAAE,OAAO,GAC7B,OAAO,CAAC,0BAA0B,CAAC,CAmCrC;AAED,wBAAsB,8BAA8B,CAClD,YAAY,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,GACjG,OAAO,CAAC,MAAM,CAAC,CAEjB"}
@@ -0,0 +1,135 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { constants } from 'node:fs';
3
+ import { lstat, open, opendir } from 'node:fs/promises';
4
+ import { basename, dirname, resolve } from 'node:path';
5
+ import { calculateBundleHash } from '@dharma-ai-labs/agent-fabric-skill-manager';
6
+ const BUNDLE_ID = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
7
+ const MAX_SKILL_BYTES = 5 * 1024 * 1024;
8
+ const MAX_FILE_BYTES = 262_144;
9
+ async function readStableFile(path, maximumBytes) {
10
+ const before = await lstat(path);
11
+ if (!before.isFile() || before.isSymbolicLink() || before.nlink !== 1 || before.size > maximumBytes) {
12
+ throw new Error('named_session_skill_tree_invalid');
13
+ }
14
+ const handle = await open(path, constants.O_RDONLY | (constants.O_NOFOLLOW || 0) | (constants.O_NONBLOCK || 0));
15
+ try {
16
+ const opened = await handle.stat();
17
+ if (!opened.isFile() || opened.nlink !== 1 || opened.size !== before.size
18
+ || opened.ino !== before.ino || opened.dev !== before.dev) {
19
+ throw new Error('named_session_skill_tree_changed');
20
+ }
21
+ const buffer = Buffer.alloc(before.size + 1);
22
+ let size = 0;
23
+ while (size < buffer.length) {
24
+ const result = await handle.read(buffer, size, buffer.length - size, size);
25
+ if (!result.bytesRead)
26
+ break;
27
+ size += result.bytesRead;
28
+ }
29
+ const after = await handle.stat();
30
+ const current = await lstat(path);
31
+ if (size !== before.size || !current.isFile() || current.nlink !== 1
32
+ || current.ino !== before.ino || current.dev !== before.dev
33
+ || after.size !== before.size || after.mtimeMs !== before.mtimeMs || after.ctimeMs !== before.ctimeMs
34
+ || current.mtimeMs !== after.mtimeMs || current.ctimeMs !== after.ctimeMs) {
35
+ throw new Error('named_session_skill_tree_changed');
36
+ }
37
+ return buffer.subarray(0, size);
38
+ }
39
+ finally {
40
+ await handle.close();
41
+ }
42
+ }
43
+ export function requireNamedSessionSignedPackage(installation, sharedRepositoryReady) {
44
+ if (!sharedRepositoryReady || installation.signedLifecycleReady !== true
45
+ || !installation.activeBundleId || !BUNDLE_ID.test(installation.activeBundleId)
46
+ || installation.signedMarkerBundleId !== installation.activeBundleId) {
47
+ throw new Error('named_session_repository_package_pending');
48
+ }
49
+ return installation.activeBundleId;
50
+ }
51
+ async function skillTree(root) {
52
+ const files = new Map();
53
+ const hash = createHash('sha256');
54
+ let entries = 0, totalBytes = 0;
55
+ async function visit(path, prefix, depth) {
56
+ if (++entries > 4096 || depth > 12)
57
+ throw new Error('named_session_skill_tree_limit');
58
+ const before = await lstat(path);
59
+ if (before.isSymbolicLink())
60
+ throw new Error('named_session_skill_tree_invalid');
61
+ if (before.isDirectory()) {
62
+ const names = [];
63
+ const directory = await opendir(path);
64
+ for await (const entry of directory) {
65
+ if (names.length >= 4096)
66
+ throw new Error('named_session_skill_tree_limit');
67
+ names.push(entry.name);
68
+ }
69
+ for (const name of names.sort())
70
+ await visit(resolve(path, name), `${prefix}${name}/`, depth + 1);
71
+ const after = await lstat(path);
72
+ if (after.ino !== before.ino || after.dev !== before.dev || after.mtimeMs !== before.mtimeMs
73
+ || after.ctimeMs !== before.ctimeMs)
74
+ throw new Error('named_session_skill_tree_changed');
75
+ return;
76
+ }
77
+ if (!before.isFile() || before.nlink !== 1 || before.size > MAX_FILE_BYTES) {
78
+ throw new Error('named_session_skill_tree_invalid');
79
+ }
80
+ const bytes = await readStableFile(path, MAX_FILE_BYTES);
81
+ totalBytes += bytes.length;
82
+ if (totalBytes > MAX_SKILL_BYTES)
83
+ throw new Error('named_session_skill_tree_limit');
84
+ const relative = prefix.slice(basename(root).length + 1, -1);
85
+ files.set(relative, createHash('sha256').update(bytes).digest('hex'));
86
+ hash.update(prefix.slice(0, -1));
87
+ hash.update('\0');
88
+ hash.update(bytes);
89
+ hash.update('\0');
90
+ }
91
+ await visit(root, `${basename(root)}/`, 0);
92
+ return { contentHash: `sha256:${hash.digest('hex')}`, files };
93
+ }
94
+ export async function readNamedSessionPackageContent(installation, sharedRepositoryReady) {
95
+ const bundleId = requireNamedSessionSignedPackage(installation, sharedRepositoryReady);
96
+ if (!installation.workspaceId || !installation.activeBundleHash) {
97
+ throw new Error('named_session_repository_package_pending');
98
+ }
99
+ const nativeRoot = dirname(dirname(installation.nativeSkillPath));
100
+ const activeRoot = resolve(nativeRoot, '.dharma-managed', 'workspaces', installation.workspaceId, 'active');
101
+ const authorizationPath = resolve(activeRoot, 'AUTHORIZATION.json');
102
+ const authorizationBytes = await readStableFile(authorizationPath, 1_048_576);
103
+ const bundle = JSON.parse(authorizationBytes.toString('utf8'));
104
+ const { signature: _signature, bundleHash: _bundleHash, ...unsigned } = bundle;
105
+ const skill = bundle.skills?.find(entry => entry.skillId === 'dharma-agent-fabric');
106
+ if (bundle.bundleId !== bundleId || bundle.bundleHash !== installation.activeBundleHash
107
+ || calculateBundleHash(unsigned) !== installation.activeBundleHash
108
+ || bundle.operation !== 'install' || !skill || skill.path !== '.agents/skills/dharma-agent-fabric') {
109
+ throw new Error('named_session_repository_package_pending');
110
+ }
111
+ const active = await skillTree(resolve(activeRoot, 'dharma-agent-fabric'));
112
+ if (active.contentHash !== skill.contentHash)
113
+ throw new Error('named_session_repository_package_pending');
114
+ const visible = await skillTree(dirname(installation.nativeSkillPath));
115
+ const marker = '.dharma-agent-fabric.json';
116
+ const markerPresent = visible.files.delete(marker);
117
+ active.files.delete(marker);
118
+ if (!markerPresent || active.files.size !== visible.files.size
119
+ || [...active.files].some(([path, hash]) => visible.files.get(path) !== hash)
120
+ || [...visible.files.keys()].some(path => !active.files.has(path))) {
121
+ throw new Error('named_session_repository_package_pending');
122
+ }
123
+ if (!authorizationBytes.equals(await readStableFile(authorizationPath, 1_048_576))) {
124
+ throw new Error('named_session_repository_package_pending');
125
+ }
126
+ const manifestHash = active.files.get('MANIFEST.json'), catalogHash = active.files.get('knowledge/CATALOG.json');
127
+ if (!manifestHash || !catalogHash)
128
+ throw new Error('named_session_repository_package_pending');
129
+ return { bundleId, bundleHash: bundle.bundleHash, skillsHash: skill.contentHash,
130
+ manifestHash: `sha256:${manifestHash}`, catalogHash: `sha256:${catalogHash}` };
131
+ }
132
+ export async function verifyNamedSessionVisibleSkill(installation, sharedRepositoryReady) {
133
+ return (await readNamedSessionPackageContent(installation, sharedRepositoryReady)).bundleId;
134
+ }
135
+ //# sourceMappingURL=namedSessionPackageGate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namedSessionPackageGate.js","sourceRoot":"","sources":["../src/namedSessionPackageGate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=namedSessionPackageGate.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namedSessionPackageGate.test.d.ts","sourceRoot":"","sources":["../src/namedSessionPackageGate.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import assert from 'node:assert/strict';
2
+ import test from 'node:test';
3
+ import { requireNamedSessionSignedPackage } from './namedSessionPackageGate.js';
4
+ const bundleId = '11111111-1111-4111-8111-111111111111';
5
+ test('named work requires the active signed repository package', () => {
6
+ assert.equal(requireNamedSessionSignedPackage({ signedLifecycleReady: true,
7
+ activeBundleId: bundleId, signedMarkerBundleId: bundleId }, true), bundleId);
8
+ for (const [installation, sharedReady] of [
9
+ [{ signedLifecycleReady: false, activeBundleId: bundleId, signedMarkerBundleId: bundleId }, true],
10
+ [{ signedLifecycleReady: true, activeBundleId: null, signedMarkerBundleId: bundleId }, true],
11
+ [{ signedLifecycleReady: true, activeBundleId: 'unverified', signedMarkerBundleId: 'unverified' }, true],
12
+ [{ signedLifecycleReady: true, activeBundleId: bundleId, signedMarkerBundleId: null }, true],
13
+ [{ signedLifecycleReady: true, activeBundleId: bundleId,
14
+ signedMarkerBundleId: '22222222-2222-4222-8222-222222222222' }, true],
15
+ [{ signedLifecycleReady: true, activeBundleId: bundleId, signedMarkerBundleId: bundleId }, false],
16
+ ]) {
17
+ assert.throws(() => requireNamedSessionSignedPackage(installation, sharedReady), { message: 'named_session_repository_package_pending' });
18
+ }
19
+ });
20
+ //# sourceMappingURL=namedSessionPackageGate.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namedSessionPackageGate.test.js","sourceRoot":"","sources":["../src/namedSessionPackageGate.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AAEhF,MAAM,QAAQ,GAAG,sCAAsC,CAAC;AAExD,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;IACpE,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,EAAE,oBAAoB,EAAE,IAAI;QACxE,cAAc,EAAE,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC/E,KAAK,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,IAAI;QACxC,CAAC,EAAE,oBAAoB,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC;QACjG,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC;QAC5F,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,EAAE,IAAI,CAAC;QACxG,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC;QAC5F,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ;gBACrD,oBAAoB,EAAE,sCAAsC,EAAE,EAAE,IAAI,CAAC;QACvE,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC;KACzF,EAAE,CAAC;QACX,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,gCAAgC,CAAC,YAAY,EAAE,WAAW,CAAC,EAC7E,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,47 @@
1
+ import type { LocalVault, LocalProviderSessionBinding } from '@dharma-ai-labs/agent-fabric-local-vault';
2
+ import type { CodexLocalWorkCapture } from '@dharma-ai-labs/agent-fabric-provider-adapters/experimental/codex-session';
3
+ import { type RepositoryPackageSnapshot } from './repositoryPackage.js';
4
+ export interface NamedSessionRepositoryState {
5
+ schema: 'dharma.named-session-repository-state/v1';
6
+ workId: string;
7
+ captureHash: string;
8
+ sourceSnapshotHash: string;
9
+ resultSnapshotHash: string;
10
+ sourceContentHash: string;
11
+ resultContentHash: string;
12
+ activeBundleId: string;
13
+ activeBundleHash: string;
14
+ packageContent?: {
15
+ manifestHash: string;
16
+ catalogHash: string;
17
+ skillsHash: string;
18
+ };
19
+ providerContext?: {
20
+ retainedContextHash: string;
21
+ contextContentHash: string;
22
+ runtimeVersion: string;
23
+ requestedModel: string;
24
+ executedModel: null;
25
+ replayMode: 'task_level';
26
+ };
27
+ acceptedLearningObservation: false;
28
+ }
29
+ export type NamedSessionRepositoryStateDisposition = NamedSessionRepositoryState | {
30
+ state: 'not_authorized';
31
+ acceptedLearningObservation: false;
32
+ } | {
33
+ state: 'blocked';
34
+ code: 'source_state_unavailable' | 'public_context_unavailable' | 'runtime_version_unavailable';
35
+ acceptedLearningObservation: false;
36
+ };
37
+ export declare function retainNamedSessionRepositoryState(input: {
38
+ vault: LocalVault;
39
+ binding: LocalProviderSessionBinding;
40
+ workId: string;
41
+ capture: CodexLocalWorkCapture;
42
+ before: RepositoryPackageSnapshot;
43
+ after: RepositoryPackageSnapshot;
44
+ activeBundleId: string;
45
+ activeBundleHash: string;
46
+ }): Promise<NamedSessionRepositoryState>;
47
+ //# sourceMappingURL=namedSessionRepositoryState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namedSessionRepositoryState.d.ts","sourceRoot":"","sources":["../src/namedSessionRepositoryState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACxG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2EAA2E,CAAC;AACvH,OAAO,EAAsC,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAE5G,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,0CAA0C,CAAC;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACnF,eAAe,CAAC,EAAE;QAAE,mBAAmB,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAClG,cAAc,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,IAAI,CAAC;QAAC,UAAU,EAAE,YAAY,CAAA;KAAE,CAAC;IAC1E,2BAA2B,EAAE,KAAK,CAAC;CACpC;AAED,MAAM,MAAM,sCAAsC,GAAG,2BAA2B,GAC5E;IAAE,KAAK,EAAE,gBAAgB,CAAC;IAAC,2BAA2B,EAAE,KAAK,CAAA;CAAE,GAC/D;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,0BAA0B,GAAG,4BAA4B,GAAG,6BAA6B,CAAC;IAAC,2BAA2B,EAAE,KAAK,CAAA;CAAE,CAAC;AAG9J,wBAAsB,iCAAiC,CAAC,KAAK,EAAE;IAC7D,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,2BAA2B,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,qBAAqB,CAAC;IAC/B,MAAM,EAAE,yBAAyB,CAAC;IAClC,KAAK,EAAE,yBAAyB,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CA+BvC"}
@@ -0,0 +1,36 @@
1
+ import { serializeRepositoryPackageSnapshot } from './repositoryPackage.js';
2
+ // Local inventory proves captured bytes, not an independent grade or server acceptance.
3
+ export async function retainNamedSessionRepositoryState(input) {
4
+ const { binding, capture, before, after } = input;
5
+ for (const key of ['organizationId', 'repositoryBindingId', 'workspaceId', 'deviceId',
6
+ 'endpointId', 'membershipId', 'bindingId', 'provider']) {
7
+ if (capture[key] !== binding[key])
8
+ throw new Error('named_session_repository_state_scope_mismatch');
9
+ }
10
+ if (capture.workId !== input.workId || capture.providerThreadId !== binding.sessionId
11
+ || !/^sha256:[a-f0-9]{64}$/.test(input.activeBundleHash) || !input.activeBundleId) {
12
+ throw new Error('named_session_repository_state_scope_mismatch');
13
+ }
14
+ const source = before.manifest.sourceAuthorization, result = after.manifest.sourceAuthorization;
15
+ if (!source || !result || source.receiptId !== result.receiptId
16
+ || source.revision !== result.revision || source.policyHash !== result.policyHash) {
17
+ throw new Error('named_session_repository_state_policy_changed');
18
+ }
19
+ for (const snapshot of [before, after]) {
20
+ if (snapshot.manifest.organizationId !== binding.organizationId
21
+ || snapshot.manifest.workspaceId !== binding.workspaceId
22
+ || snapshot.manifest.sourceAuthorization?.repositoryBindingId !== binding.repositoryBindingId) {
23
+ throw new Error('named_session_repository_state_scope_mismatch');
24
+ }
25
+ }
26
+ const sourceBytes = serializeRepositoryPackageSnapshot(before);
27
+ const resultBytes = serializeRepositoryPackageSnapshot(after);
28
+ return { schema: 'dharma.named-session-repository-state/v1', workId: capture.workId,
29
+ captureHash: await input.vault.putBlob(Buffer.from(JSON.stringify(capture)), 'raw-provider-turn'),
30
+ sourceSnapshotHash: before.manifest.snapshotHash, resultSnapshotHash: after.manifest.snapshotHash,
31
+ sourceContentHash: await input.vault.putBlob(Buffer.from(sourceBytes), 'named-session-source-state'),
32
+ resultContentHash: await input.vault.putBlob(Buffer.from(resultBytes), 'named-session-result-state'),
33
+ activeBundleId: input.activeBundleId, activeBundleHash: input.activeBundleHash,
34
+ acceptedLearningObservation: false };
35
+ }
36
+ //# sourceMappingURL=namedSessionRepositoryState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namedSessionRepositoryState.js","sourceRoot":"","sources":["../src/namedSessionRepositoryState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kCAAkC,EAAkC,MAAM,wBAAwB,CAAC;AAsB5G,wFAAwF;AACxF,MAAM,CAAC,KAAK,UAAU,iCAAiC,CAAC,KASvD;IACC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAClD,KAAK,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,UAAU;QACnF,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,CAAU,EAAE,CAAC;QAClE,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACtG,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,gBAAgB,KAAK,OAAO,CAAC,SAAS;WAChF,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QACpF,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAChG,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS;WAC1D,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC;QACpF,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;QACvC,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,KAAK,OAAO,CAAC,cAAc;eAC1D,QAAQ,CAAC,QAAQ,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW;eACrD,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAChG,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,kCAAkC,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,kCAAkC,CAAC,KAAK,CAAC,CAAC;IAC9D,OAAO,EAAE,MAAM,EAAE,0CAA0C,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM;QACjF,WAAW,EAAE,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,mBAAmB,CAAC;QACjG,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY;QACjG,iBAAiB,EAAE,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,4BAA4B,CAAC;QACpG,iBAAiB,EAAE,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,4BAA4B,CAAC;QACpG,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QAC9E,2BAA2B,EAAE,KAAK,EAAE,CAAC;AACzC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=namedSessionRepositoryState.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namedSessionRepositoryState.test.d.ts","sourceRoot":"","sources":["../src/namedSessionRepositoryState.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,73 @@
1
+ import assert from 'node:assert/strict';
2
+ import { createHash, randomBytes, randomUUID } from 'node:crypto';
3
+ import { mkdir, mkdtemp, readFile, rm, writeFile } from 'node:fs/promises';
4
+ import { tmpdir } from 'node:os';
5
+ import { join } from 'node:path';
6
+ import test from 'node:test';
7
+ import { canonicalize } from '@dharma-ai-labs/agent-fabric-contracts';
8
+ import { LocalVault } from '@dharma-ai-labs/agent-fabric-local-vault';
9
+ import { inventoryRepositoryPackage } from './repositoryPackage.js';
10
+ import { retainNamedSessionRepositoryState } from './namedSessionRepositoryState.js';
11
+ import { initializeRepositoryKnowledge } from './repositoryKnowledge.js';
12
+ test('task source states retain approved bytes encrypted and reject foreign or changed authority', async (t) => {
13
+ const root = await mkdtemp(join(tmpdir(), 'named-state-'));
14
+ t.after(() => rm(root, { recursive: true, force: true }));
15
+ const vault = await LocalVault.open({ root: join(root, 'vault'), masterKey: randomBytes(32) });
16
+ t.after(() => vault.close());
17
+ const binding = { schema: 'dharma.local-provider-session-binding/v1',
18
+ organizationId: 'org_synthetic', workspaceId: randomUUID(), repositoryBindingId: randomUUID(),
19
+ endpointId: randomUUID(), membershipId: randomUUID(), deviceId: randomUUID(), bindingId: randomUUID(),
20
+ provider: 'codex', sessionId: randomUUID(), owner: 'dharma_bridge', workspaceRoot: root,
21
+ createdAt: new Date().toISOString(), expiresAt: new Date(Date.now() + 60000).toISOString(), maximumProviderCostCents: 10 };
22
+ const policy = { action: 'authorize', confirmed: true,
23
+ requestId: randomUUID(), repositoryBindingId: binding.repositoryBindingId, expectedRevision: 0,
24
+ allowedContentClasses: ['approved_outputs', 'repository_content', 'repository_skills'], approvedRepositoryPaths: ['README.md'], approvedOutputFolders: [],
25
+ automaticValidatedPublication: true, retentionDays: 30, maximumFileBytes: 262144,
26
+ maximumSnapshotBytes: 4194304, maximumDailyUploadBytes: 8388608, expiresAt: null };
27
+ const generationId = randomUUID();
28
+ const sourceAuthorization = {
29
+ schema: 'dharma.repository-source-authorization/v1', organizationId: binding.organizationId,
30
+ workspaceId: binding.workspaceId, repositoryBindingId: binding.repositoryBindingId, repositoryAgentId: randomUUID(),
31
+ revision: 1, generationId, receiptId: `repo_consent_${generationId}`, policyRevision: `repository-source-${generationId}`,
32
+ confirmedAt: new Date().toISOString(), policyHash: `sha256:${createHash('sha256').update(canonicalize(policy)).digest('hex')}`, policy
33
+ };
34
+ const snapshotInput = { workspace: root, organizationId: binding.organizationId, workspaceId: binding.workspaceId,
35
+ repositoryAgentId: sourceAuthorization.repositoryAgentId, repositoryBindingId: binding.repositoryBindingId, sourceAuthorization };
36
+ const skillRoot = join(root, '.agents/skills/dharma-agent-fabric');
37
+ await mkdir(skillRoot, { recursive: true });
38
+ await writeFile(join(skillRoot, '.dharma-agent-fabric.json'), JSON.stringify({ managedBy: 'dharma-agent-fabric', workspaceId: binding.workspaceId }));
39
+ await initializeRepositoryKnowledge(snapshotInput);
40
+ await writeFile(join(root, 'README.md'), 'SYNTHETIC_BEFORE_CANARY');
41
+ await writeFile(join(root, 'private-grader.txt'), 'PRIVATE_GRADER_MUST_NOT_BE_CAPTURED');
42
+ const before = await inventoryRepositoryPackage(snapshotInput);
43
+ await writeFile(join(root, 'README.md'), 'SYNTHETIC_AFTER_CANARY');
44
+ const after = await inventoryRepositoryPackage(snapshotInput);
45
+ const workId = randomUUID(), closedAt = new Date().toISOString();
46
+ const capture = { schema: 'dharma.codex-local-work-capture/v1', captureId: randomUUID(),
47
+ organizationId: binding.organizationId, repositoryBindingId: binding.repositoryBindingId,
48
+ workspaceId: binding.workspaceId, endpointId: binding.endpointId, membershipId: binding.membershipId,
49
+ deviceId: binding.deviceId, provider: 'codex', bindingId: binding.bindingId, workId,
50
+ providerThreadId: binding.sessionId, providerTurnId: randomUUID(), startedAt: closedAt, closedAt,
51
+ workOutcome: 'completed', providerTurnState: 'completed', captureScope: 'turn_notifications', coverage: 'observed',
52
+ limitations: [], droppedEvents: 0, acceptedLearningObservation: false, executedModel: null,
53
+ events: [], eventsHash: `sha256:${createHash('sha256').update('[]').digest('hex')}` };
54
+ const input = { vault, binding, workId, capture, before, after, activeBundleId: randomUUID(), activeBundleHash: `sha256:${'a'.repeat(64)}` };
55
+ const receipt = await retainNamedSessionRepositoryState(input);
56
+ assert.notEqual(receipt.sourceSnapshotHash, receipt.resultSnapshotHash);
57
+ assert.equal(receipt.acceptedLearningObservation, false);
58
+ for (const [contentHash, canary] of [[receipt.sourceContentHash, 'SYNTHETIC_BEFORE_CANARY'],
59
+ [receipt.resultContentHash, 'SYNTHETIC_AFTER_CANARY']]) {
60
+ const stored = JSON.parse((await vault.getBlob(contentHash)).toString());
61
+ assert.ok(stored.blobs.some((blob) => Buffer.from(blob.contentBase64, 'base64').toString() === canary));
62
+ assert.equal(stored.manifest.files.some((file) => file.relativePath === 'private-grader.txt'), false);
63
+ const hash = contentHash.slice(7);
64
+ assert.equal((await readFile(join(root, 'vault/blobs', hash.slice(0, 2), `${hash}.blob`))).includes(Buffer.from(canary)), false);
65
+ }
66
+ assert.equal(JSON.stringify(receipt).includes('CANARY'), false);
67
+ await assert.rejects(retainNamedSessionRepositoryState({ ...input, workId: randomUUID() }), /scope_mismatch/);
68
+ await assert.rejects(retainNamedSessionRepositoryState({ ...input, binding: { ...binding, deviceId: randomUUID() } }), /scope_mismatch/);
69
+ await assert.rejects(retainNamedSessionRepositoryState({ ...input, after: { ...after, manifest: { ...after.manifest,
70
+ sourceAuthorization: { ...sourceAuthorization, revision: 2 } } } }), /policy_changed/);
71
+ await assert.rejects(retainNamedSessionRepositoryState({ ...input, after: { ...after, blobs: [] } }), /blob is missing/);
72
+ });
73
+ //# sourceMappingURL=namedSessionRepositoryState.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namedSessionRepositoryState.test.js","sourceRoot":"","sources":["../src/namedSessionRepositoryState.test.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,10 @@ export declare function runNamedSessionService(input: {
33
33
  localWriteRoots: string[];
34
34
  authorizeLocalWork(): Promise<boolean>;
35
35
  queueEvidence?(capture: CodexLocalWorkCapture): Promise<NamedSessionEvidenceReceipt>;
36
- withActivationBoundary<T>(operation: () => Promise<T>): Promise<T>;
36
+ retainRepositoryState?(capture: CodexLocalWorkCapture): Promise<import('./namedSessionRepositoryState.js').NamedSessionRepositoryStateDisposition>;
37
+ withActivationBoundary<T>(operation: () => Promise<T>, work?: {
38
+ workId: string;
39
+ }): Promise<T>;
37
40
  signal: AbortSignal;
38
41
  }): Promise<{
39
42
  ok: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"namedSessionService.d.ts","sourceRoot":"","sources":["../src/namedSessionService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,4BAA4B,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACzG,OAAO,EAAoB,KAAK,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACxG,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2EAA2E,CAAC;AAEvH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAE7E,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,yBAAyB,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,4BAA4B,CAAC;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;CAClB;AAwBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;;EAO3D;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAS3G;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,iBAOnF;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,oCAyBrG;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE;IAClD,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,wBAAwB,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC;IACxE,aAAa,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IAC5E,gBAAgB,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAClF,QAAQ,EAAE,uBAAuB,CAAC;IAClC,gBAAgB,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAClF,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,aAAa,CAAC,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACrF,sBAAsB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,EAAE,WAAW,CAAC;CACrB;;;GA0LA"}
1
+ {"version":3,"file":"namedSessionService.d.ts","sourceRoot":"","sources":["../src/namedSessionService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,4BAA4B,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACzG,OAAO,EAAoB,KAAK,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACxG,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2EAA2E,CAAC;AAEvH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAE7E,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,yBAAyB,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,4BAA4B,CAAC;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;CAClB;AAwBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;;EAO3D;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAS3G;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,iBAOnF;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,oCAyBrG;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE;IAClD,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,wBAAwB,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC;IACxE,aAAa,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IAC5E,gBAAgB,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAClF,QAAQ,EAAE,uBAAuB,CAAC;IAClC,gBAAgB,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAClF,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,aAAa,CAAC,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACrF,qBAAqB,CAAC,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,kCAAkC,EAAE,sCAAsC,CAAC,CAAC;IACnJ,sBAAsB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9F,MAAM,EAAE,WAAW,CAAC;CACrB;;;GA+LA"}
@@ -237,6 +237,15 @@ export async function runNamedSessionService(input) {
237
237
  ...(capture.schema === 'dharma.codex-local-work-capture/v2' ? { requestHash: capture.requestHash } : {}),
238
238
  coverage: capture.coverage, limitations: capture.limitations, providerTurnState: capture.providerTurnState,
239
239
  acceptedLearningObservation: false };
240
+ if (input.retainRepositoryState) {
241
+ try {
242
+ nativeEvidence.repositoryState = await input.retainRepositoryState(capture);
243
+ }
244
+ catch {
245
+ nativeEvidence.repositoryState = { state: 'blocked', code: 'repository_state_retention_failed',
246
+ acceptedLearningObservation: false };
247
+ }
248
+ }
240
249
  if (input.queueEvidence) {
241
250
  let synchronization;
242
251
  try {
@@ -258,7 +267,7 @@ export async function runNamedSessionService(input) {
258
267
  }
259
268
  nativeEvidence.synchronization = synchronization;
260
269
  }
261
- } }));
270
+ } }), { workId: request.workId });
262
271
  const receipt = { ...result, intentHash: intent, nativeEvidence };
263
272
  const blob = await input.vault.putBlob(Buffer.from(JSON.stringify(receipt)), 'named-session-work');
264
273
  budget.finishWork(request.workId, 'completed', blob);
@@ -1 +1 @@
1
- {"version":3,"file":"namedSessionService.js","sourceRoot":"","sources":["../src/namedSessionService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"namedSessionService.js","sourceRoot":"","sources":["../src/namedSessionService.ts"],"names":[],"mappings":"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"}