@dharma-ai-labs/agent-fabric 0.2.111 → 0.2.113

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 (88) hide show
  1. package/AGENT_FABRIC_ONBOARDING.md +13 -0
  2. package/dist/codexBoundSession.d.ts +30 -5
  3. package/dist/codexBoundSession.d.ts.map +1 -1
  4. package/dist/codexBoundSession.js +49 -2
  5. package/dist/codexBoundSession.js.map +1 -1
  6. package/dist/codexBoundSession.test.js +17 -0
  7. package/dist/codexBoundSession.test.js.map +1 -1
  8. package/dist/codexInboxSession.d.ts +50 -0
  9. package/dist/codexInboxSession.d.ts.map +1 -1
  10. package/dist/codexInboxSession.js +32 -3
  11. package/dist/codexInboxSession.js.map +1 -1
  12. package/dist/codexPeerTools.d.ts +62 -0
  13. package/dist/codexPeerTools.d.ts.map +1 -0
  14. package/dist/codexPeerTools.js +53 -0
  15. package/dist/codexPeerTools.js.map +1 -0
  16. package/dist/codexPeerTools.test.d.ts +2 -0
  17. package/dist/codexPeerTools.test.d.ts.map +1 -0
  18. package/dist/codexPeerTools.test.js +77 -0
  19. package/dist/codexPeerTools.test.js.map +1 -0
  20. package/dist/demoPackage.d.ts +32 -0
  21. package/dist/demoPackage.d.ts.map +1 -1
  22. package/dist/demoPackage.js +24 -4
  23. package/dist/demoPackage.js.map +1 -1
  24. package/dist/demoPackage.test.js +19 -1
  25. package/dist/demoPackage.test.js.map +1 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +275 -8
  28. package/dist/index.js.map +1 -1
  29. package/dist/namedCodexThread.d.ts +3 -0
  30. package/dist/namedCodexThread.d.ts.map +1 -0
  31. package/dist/namedCodexThread.js +22 -0
  32. package/dist/namedCodexThread.js.map +1 -0
  33. package/dist/namedCodexThread.test.d.ts +2 -0
  34. package/dist/namedCodexThread.test.d.ts.map +1 -0
  35. package/dist/namedCodexThread.test.js +63 -0
  36. package/dist/namedCodexThread.test.js.map +1 -0
  37. package/dist/namedSessionBudget.d.ts +21 -0
  38. package/dist/namedSessionBudget.d.ts.map +1 -0
  39. package/dist/namedSessionBudget.js +70 -0
  40. package/dist/namedSessionBudget.js.map +1 -0
  41. package/dist/namedSessionBudget.test.d.ts +2 -0
  42. package/dist/namedSessionBudget.test.d.ts.map +1 -0
  43. package/dist/namedSessionBudget.test.js +40 -0
  44. package/dist/namedSessionBudget.test.js.map +1 -0
  45. package/dist/namedSessionService.d.ts +39 -0
  46. package/dist/namedSessionService.d.ts.map +1 -0
  47. package/dist/namedSessionService.js +269 -0
  48. package/dist/namedSessionService.js.map +1 -0
  49. package/dist/namedSessionService.test.d.ts +2 -0
  50. package/dist/namedSessionService.test.d.ts.map +1 -0
  51. package/dist/namedSessionService.test.js +158 -0
  52. package/dist/namedSessionService.test.js.map +1 -0
  53. package/dist/namedSessionTrust.d.ts +21 -0
  54. package/dist/namedSessionTrust.d.ts.map +1 -0
  55. package/dist/namedSessionTrust.js +64 -0
  56. package/dist/namedSessionTrust.js.map +1 -0
  57. package/dist/namedSessionTrust.test.d.ts +2 -0
  58. package/dist/namedSessionTrust.test.d.ts.map +1 -0
  59. package/dist/namedSessionTrust.test.js +178 -0
  60. package/dist/namedSessionTrust.test.js.map +1 -0
  61. package/dist/onboardingStage.d.ts +1 -1
  62. package/dist/onboardingStage.d.ts.map +1 -1
  63. package/dist/onboardingStage.js.map +1 -1
  64. package/dist/providerSessionChannel.d.ts +1 -0
  65. package/dist/providerSessionChannel.d.ts.map +1 -1
  66. package/dist/providerSessionChannel.js +5 -1
  67. package/dist/providerSessionChannel.js.map +1 -1
  68. package/dist/providerSessionChannel.test.js +10 -3
  69. package/dist/providerSessionChannel.test.js.map +1 -1
  70. package/dist/repositoryOnboardingCaller.test.js +19 -0
  71. package/dist/repositoryOnboardingCaller.test.js.map +1 -1
  72. package/dist/studyExactTaskSelector.d.ts +3 -0
  73. package/dist/studyExactTaskSelector.d.ts.map +1 -0
  74. package/dist/studyExactTaskSelector.js +27 -0
  75. package/dist/studyExactTaskSelector.js.map +1 -0
  76. package/dist/studyExactTaskSelector.test.d.ts +2 -0
  77. package/dist/studyExactTaskSelector.test.d.ts.map +1 -0
  78. package/dist/studyExactTaskSelector.test.js +25 -0
  79. package/dist/studyExactTaskSelector.test.js.map +1 -0
  80. package/dist/usage.d.ts +1 -1
  81. package/dist/usage.d.ts.map +1 -1
  82. package/dist/usage.js +1 -1
  83. package/dist/usage.js.map +1 -1
  84. package/dist/usage.test.d.ts +2 -0
  85. package/dist/usage.test.d.ts.map +1 -0
  86. package/dist/usage.test.js +18 -0
  87. package/dist/usage.test.js.map +1 -0
  88. package/package.json +5 -5
@@ -0,0 +1,62 @@
1
+ import type { CodexToolHandler } from '@dharma-ai-labs/agent-fabric-provider-adapters/experimental/codex-session';
2
+ import type { createProviderSessionChannel } from './providerSessionChannel.js';
3
+ export declare const CODEX_PEER_TOOLS: ({
4
+ type: string;
5
+ name: string;
6
+ description: string;
7
+ inputSchema: {
8
+ type: string;
9
+ additionalProperties: boolean;
10
+ properties: {
11
+ category: {
12
+ type: string;
13
+ minLength: number;
14
+ maxLength: number;
15
+ };
16
+ question: {
17
+ type: string;
18
+ minLength: number;
19
+ maxLength: number;
20
+ };
21
+ taskId: {
22
+ type: string;
23
+ format: string;
24
+ };
25
+ targetBindingId: {
26
+ type: string;
27
+ format: string;
28
+ };
29
+ };
30
+ required: string[];
31
+ };
32
+ } | {
33
+ type: string;
34
+ name: string;
35
+ description: string;
36
+ inputSchema: {
37
+ type: string;
38
+ additionalProperties: boolean;
39
+ properties: {
40
+ questionId: {
41
+ type: string;
42
+ format: string;
43
+ };
44
+ taskId: {
45
+ type: string;
46
+ format: string;
47
+ };
48
+ targetBindingId: {
49
+ type: string;
50
+ format: string;
51
+ };
52
+ };
53
+ required: string[];
54
+ };
55
+ })[];
56
+ export declare function createCodexPeerToolHandler(input: {
57
+ channel(): Pick<ReturnType<typeof createProviderSessionChannel>, 'ask' | 'read'>;
58
+ maximumProviderCostCents: number;
59
+ authorize(): Promise<boolean>;
60
+ authorizeContent(content: string): Promise<boolean>;
61
+ }): CodexToolHandler;
62
+ //# sourceMappingURL=codexPeerTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codexPeerTools.d.ts","sourceRoot":"","sources":["../src/codexPeerTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2EAA2E,CAAC;AAClH,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAIhF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAU5B,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,4BAA4B,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;IACjF,wBAAwB,EAAE,MAAM,CAAC;IACjC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrD,GAAG,gBAAgB,CAkCnB"}
@@ -0,0 +1,53 @@
1
+ const uuid = { type: 'string', format: 'uuid' };
2
+ const common = { taskId: uuid, targetBindingId: uuid };
3
+ export const CODEX_PEER_TOOLS = [
4
+ { type: 'function', name: 'dharma_peer_ask', description: 'Ask a specific same-repository peer session a bounded question tied to a task. Queued is delivery, not an answer. No broader permissions are granted.',
5
+ inputSchema: { type: 'object', additionalProperties: false, properties: { ...common,
6
+ category: { type: 'string', minLength: 1, maxLength: 64 }, question: { type: 'string', minLength: 1, maxLength: 2000 } },
7
+ required: ['taskId', 'targetBindingId', 'category', 'question'] } },
8
+ { type: 'function', name: 'dharma_peer_reply', description: 'Read the durable answer to your task-bound peer question. Pending, failed, expired and unavailable are not successful execution.',
9
+ inputSchema: { type: 'object', additionalProperties: false, properties: { ...common, questionId: uuid },
10
+ required: ['taskId', 'targetBindingId', 'questionId'] } },
11
+ ];
12
+ export function createCodexPeerToolHandler(input) {
13
+ const id = (value) => typeof value === 'string'
14
+ && /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$(?![\s\S])/i.test(value);
15
+ const result = (success, value) => ({ success,
16
+ contentItems: [{ type: 'inputText', text: JSON.stringify(value) }] });
17
+ return async (params) => {
18
+ const deny = (code) => result(false, { code });
19
+ const ask = params.tool === 'dharma_peer_ask', read = params.tool === 'dharma_peer_reply';
20
+ if (Object.keys(params).some(key => !['threadId', 'turnId', 'callId', 'namespace', 'tool', 'arguments'].includes(key))
21
+ || (!ask && !read) || params.namespace != null || !params.arguments || typeof params.arguments !== 'object'
22
+ || Array.isArray(params.arguments))
23
+ return deny('codex_peer_tool_invalid');
24
+ const args = params.arguments;
25
+ const keys = ask ? ['taskId', 'targetBindingId', 'category', 'question'] : ['taskId', 'targetBindingId', 'questionId'];
26
+ if (Object.keys(args).length !== keys.length || Object.keys(args).some(key => !keys.includes(key))
27
+ || !id(args.taskId) || !id(args.targetBindingId)
28
+ || (ask ? typeof args.category !== 'string' || args.category.length > 64 || !/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$(?![\s\S])/.test(args.category)
29
+ || typeof args.question !== 'string' || !args.question.trim() || args.question.length > 2000
30
+ || /[\u0000-\u001f\u007f]/.test(args.question) : !id(args.questionId)))
31
+ return deny('codex_peer_tool_invalid');
32
+ if (!await input.authorize())
33
+ return deny('codex_peer_tool_not_authorized');
34
+ try {
35
+ const receipt = ask
36
+ ? await input.channel().ask({ targetBindingId: args.targetBindingId, taskId: args.taskId,
37
+ category: args.category, question: args.question,
38
+ maximumProviderCostCents: input.maximumProviderCostCents })
39
+ : await input.channel().read(args.questionId, args.taskId, args.targetBindingId);
40
+ if (!await input.authorize())
41
+ return deny('codex_peer_tool_authority_changed');
42
+ const answer = receipt.answer;
43
+ if (typeof answer === 'string' && !await input.authorizeContent(answer))
44
+ return deny('codex_peer_tool_content_blocked');
45
+ return result(true, receipt);
46
+ }
47
+ catch {
48
+ // A timeout may have queued a question; never invent success or silently resend it.
49
+ return deny('codex_peer_tool_delivery_unconfirmed');
50
+ }
51
+ };
52
+ }
53
+ //# sourceMappingURL=codexPeerTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codexPeerTools.js","sourceRoot":"","sources":["../src/codexPeerTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=codexPeerTools.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codexPeerTools.test.d.ts","sourceRoot":"","sources":["../src/codexPeerTools.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,77 @@
1
+ import assert from 'node:assert/strict';
2
+ import test from 'node:test';
3
+ import { CODEX_PEER_TOOLS, createCodexPeerToolHandler } from './codexPeerTools.js';
4
+ const id = '40000000-0000-4000-8000-000000000001';
5
+ function fixture() {
6
+ const calls = [];
7
+ const input = { maximumProviderCostCents: 25, authorize: async () => true,
8
+ authorizeContent: async (_content) => true,
9
+ channel: () => ({ ask: async (args) => {
10
+ calls.push(args);
11
+ return { state: 'queued', questionId: id,
12
+ taskId: args.taskId, targetBindingId: args.targetBindingId, replay: false, correlationId: id };
13
+ },
14
+ read: async (...args) => {
15
+ calls.push(args);
16
+ return { state: 'answered', answer: 'Use the logical job identity.',
17
+ questionId: args[0], taskId: args[1], targetBindingId: args[2], failureCode: null,
18
+ replyReceiptHash: 'sha256:' + 'a'.repeat(64), correlationId: id };
19
+ } }) };
20
+ return { input, calls };
21
+ }
22
+ const ask = { tool: 'dharma_peer_ask', namespace: null,
23
+ arguments: { taskId: id, targetBindingId: id, category: 'code-review', question: 'Which retry identity is canonical?' } };
24
+ const read = { tool: 'dharma_peer_reply', arguments: { taskId: id, targetBindingId: id, questionId: id } };
25
+ test('tools expose bounded schemas, not authentication or permission parameters', () => {
26
+ assert.equal(CODEX_PEER_TOOLS.length, 2);
27
+ for (const tool of CODEX_PEER_TOOLS) {
28
+ assert.equal(tool.type, 'function');
29
+ assert.equal(tool.inputSchema.additionalProperties, false);
30
+ assert.equal(JSON.stringify(tool).includes('credentials'), false);
31
+ }
32
+ });
33
+ test('peer tools delegate exact scopes and distinguish queued from answered', async () => {
34
+ const f = fixture(), handler = createCodexPeerToolHandler(f.input);
35
+ const queued = await handler(ask);
36
+ assert.equal(JSON.parse(queued.contentItems[0].text).state, 'queued');
37
+ assert.deepEqual(f.calls[0], { ...ask.arguments, maximumProviderCostCents: 25 });
38
+ const answered = await handler(read);
39
+ assert.equal(JSON.parse(answered.contentItems[0].text).state, 'answered');
40
+ assert.deepEqual(f.calls[1], [id, id, id]);
41
+ });
42
+ test('malformed or broader arguments never reach the signed channel', async () => {
43
+ const f = fixture(), handler = createCodexPeerToolHandler(f.input);
44
+ for (const call of [{ ...ask, tool: 'approve_device' }, { ...ask, namespace: 'other' },
45
+ { ...ask, arguments: { ...ask.arguments, credentials: 'never' } },
46
+ { ...ask, arguments: { ...ask.arguments, category: 'invalid_category' } },
47
+ { ...ask, arguments: { ...ask.arguments, question: 'x'.repeat(2001) } },
48
+ { ...ask, arguments: { ...ask.arguments, taskId: 'foreign' } }]) {
49
+ assert.equal((await handler(call)).success, false);
50
+ }
51
+ assert.equal(f.calls.length, 0);
52
+ });
53
+ test('revocation, post-dispatch authority changes and secrets cannot become successful tool answers', async () => {
54
+ const f = fixture();
55
+ f.input.authorize = async () => false;
56
+ assert.equal((await createCodexPeerToolHandler(f.input)(ask)).success, false);
57
+ assert.equal(f.calls.length, 0);
58
+ let checks = 0;
59
+ f.input.authorize = async () => ++checks === 1;
60
+ const changed = await createCodexPeerToolHandler(f.input)(ask);
61
+ assert.equal(changed.success, false);
62
+ assert.equal(JSON.parse(changed.contentItems[0].text).code, 'codex_peer_tool_authority_changed');
63
+ f.input.authorize = async () => true;
64
+ f.input.authorizeContent = async () => false;
65
+ assert.equal((await createCodexPeerToolHandler(f.input)(read)).success, false);
66
+ });
67
+ test('uncertain delivery is not replayed or described as success', async () => {
68
+ const f = fixture();
69
+ f.input.channel = () => ({ ask: async (args) => { f.calls.push(args); throw new Error('private provider body'); },
70
+ read: async () => { throw new Error('private provider body'); } });
71
+ const result = await createCodexPeerToolHandler(f.input)(ask);
72
+ assert.equal(result.success, false);
73
+ assert.equal(JSON.parse(result.contentItems[0].text).code, 'codex_peer_tool_delivery_unconfirmed');
74
+ assert.equal(f.calls.length, 1);
75
+ assert.equal(JSON.stringify(result).includes('private provider body'), false);
76
+ });
77
+ //# sourceMappingURL=codexPeerTools.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codexPeerTools.test.js","sourceRoot":"","sources":["../src/codexPeerTools.test.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,26 @@ export declare function demoRepositoryPackage(input: {
20
20
  candidate: import("./repositoryCandidateSync.js").RepositoryCandidateReceipt | null;
21
21
  ready: boolean;
22
22
  activationState: string;
23
+ candidateId?: undefined;
24
+ candidateState?: undefined;
25
+ errorCode?: undefined;
26
+ correlationId?: undefined;
27
+ sourceSync?: undefined;
28
+ installed?: undefined;
29
+ acknowledgement?: undefined;
30
+ firstLearning?: undefined;
31
+ } | {
32
+ ok: boolean;
33
+ stage: string;
34
+ repositoryId: string;
35
+ repositoryPackageState: string;
36
+ candidateId: unknown;
37
+ candidateState: unknown;
38
+ errorCode: {} | null;
39
+ correlationId: unknown;
40
+ ready: boolean;
41
+ activationState: string;
42
+ candidate?: undefined;
23
43
  sourceSync?: undefined;
24
44
  installed?: undefined;
25
45
  acknowledgement?: undefined;
@@ -41,6 +61,10 @@ export declare function demoRepositoryPackage(input: {
41
61
  };
42
62
  ready: boolean;
43
63
  activationState: string;
64
+ candidateId?: undefined;
65
+ candidateState?: undefined;
66
+ errorCode?: undefined;
67
+ correlationId?: undefined;
44
68
  installed?: undefined;
45
69
  acknowledgement?: undefined;
46
70
  firstLearning?: undefined;
@@ -74,6 +98,10 @@ export declare function demoRepositoryPackage(input: {
74
98
  };
75
99
  ready: boolean;
76
100
  activationState: string;
101
+ candidateId?: undefined;
102
+ candidateState?: undefined;
103
+ errorCode?: undefined;
104
+ correlationId?: undefined;
77
105
  firstLearning?: undefined;
78
106
  } | {
79
107
  ok: boolean;
@@ -90,6 +118,10 @@ export declare function demoRepositoryPackage(input: {
90
118
  };
91
119
  ready: boolean;
92
120
  activationState: string;
121
+ candidateId?: undefined;
122
+ candidateState?: undefined;
123
+ errorCode?: undefined;
124
+ correlationId?: undefined;
93
125
  sourceSync?: undefined;
94
126
  installed?: undefined;
95
127
  acknowledgement?: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"demoPackage.d.ts","sourceRoot":"","sources":["../src/demoPackage.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAC9G,OAAO,EAE+B,KAAK,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAGhH,OAAO,EAAqD,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAyB9G,MAAM,WAAW,uBAAuB;IAAG,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CAAE;AA6flH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IACjD,KAAK,EAAE,eAAe,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,EAAE,IAAI,GAAE,uBAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4GpC"}
1
+ {"version":3,"file":"demoPackage.d.ts","sourceRoot":"","sources":["../src/demoPackage.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAC9G,OAAO,EAE+B,KAAK,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAGhH,OAAO,EAAqD,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAyB9G,MAAM,WAAW,uBAAuB;IAAG,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CAAE;AA6flH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IACjD,KAAK,EAAE,eAAe,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,EAAE,IAAI,GAAE,uBAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+HpC"}
@@ -561,10 +561,30 @@ export async function demoRepositoryPackage(input, deps = {}) {
561
561
  throw new Error('Published Demo package has no verified source parent.');
562
562
  }
563
563
  const nativeSkillDirectory = input.nativeSkillDirectory ?? resolve(input.workspace, '.agents/skills');
564
- const installed = await installActiveDemoPackage({ scope,
565
- workspaceId: view.workspaceId, provider: input.provider ?? 'codex',
566
- nativeSkillDirectory,
567
- authorization: sourceAuthorization }, deps);
564
+ let installed;
565
+ try {
566
+ installed = await installActiveDemoPackage({ scope,
567
+ workspaceId: view.workspaceId, provider: input.provider ?? 'codex',
568
+ nativeSkillDirectory,
569
+ authorization: sourceAuthorization }, deps);
570
+ }
571
+ catch (error) {
572
+ if (!(error instanceof Error)
573
+ || error.message !== 'Demo release is not signed by a currently trusted organization key.')
574
+ throw error;
575
+ const recovery = await signedJson(scope, 'POST', `${root}/signing-epoch-republish`, { expectedReleaseId: view.activeReleaseId }, deps);
576
+ if (recovery.organizationId !== scope.organizationId || recovery.repositoryId !== scope.repositoryId
577
+ || !UUID.test(String(recovery.candidateId || ''))
578
+ || !['accepted', 'processing', 'published', 'blocked'].includes(String(recovery.state))) {
579
+ throw new Error('Demo signing-epoch recovery receipt is incomplete.');
580
+ }
581
+ return { ok: true, stage: 'demo_repository_package_republishing',
582
+ repositoryId: scope.repositoryId, repositoryPackageState: 'published',
583
+ candidateId: recovery.candidateId, candidateState: recovery.state,
584
+ errorCode: recovery.errorCode ?? null,
585
+ correlationId: recovery.correlationId, ready: false,
586
+ activationState: 'signed_delivery_pending' };
587
+ }
568
588
  if (installed && 'policyTransition' in installed) {
569
589
  if (installed.releaseId !== view.activeReleaseId) {
570
590
  throw new Error('Demo active release changed during policy transition.');
@@ -1 +1 @@
1
- {"version":3,"file":"demoPackage.js","sourceRoot":"","sources":["../src/demoPackage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"demoPackage.js","sourceRoot":"","sources":["../src/demoPackage.ts"],"names":[],"mappings":"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"}
@@ -236,7 +236,8 @@ async function fixture(options = {}) {
236
236
  if (url.pathname.endsWith('/packages/active'))
237
237
  return Response.json({ ok: true,
238
238
  organizationId, repositoryId, repositoryPackageState: options.activePackage ? 'published' : 'pending',
239
- package: release ? { releaseId: release.releaseId, envelope: release.envelope,
239
+ package: release ? { releaseId: release.releaseId, envelope: options.staleSigner
240
+ ? { ...release.envelope, signature: 'expired-signature' } : release.envelope,
240
241
  bundle: release.bundle, index: release.index } : options.activePackage ? {
241
242
  releaseId: '90000000-0000-4000-8000-000000000001',
242
243
  envelope: { descriptor: { policyHash: sourceAuthorization.policyHash,
@@ -244,6 +245,13 @@ async function fixture(options = {}) {
244
245
  releaseId: '90000000-0000-4000-8000-000000000001' } },
245
246
  bundle: {}, index: {},
246
247
  } : null });
248
+ if (url.pathname.endsWith('/signing-epoch-republish')) {
249
+ assert.equal(options.staleSigner, true);
250
+ assert.deepEqual(JSON.parse(body), { expectedReleaseId: release?.releaseId });
251
+ return Response.json({ ok: true, organizationId, repositoryId,
252
+ candidateId: '80000000-0000-4000-8000-000000000003',
253
+ state: 'accepted', correlationId: 'epoch-republish-test' }, { status: 202 });
254
+ }
247
255
  if (release && url.pathname.includes('/packages/') && url.pathname.includes('/chunks/')) {
248
256
  const parts = url.pathname.split('/');
249
257
  const fileIndex = Number(parts.at(-2));
@@ -409,6 +417,16 @@ test('a published package cannot install without the browser-pinned signing anch
409
417
  assert.equal(f.uploads.length, 0);
410
418
  await assert.rejects(readFile(resolve(f.workspace, '.agents/skills/dharma-agent-fabric/SKILL.md')));
411
419
  });
420
+ test('an enrolled client queues epoch republication without installing an old-key package', async () => {
421
+ const f = await fixture({ sourcePolicy: true, packagePublished: true,
422
+ activePackage: 'valid', staleSigner: true });
423
+ const result = await demoRepositoryPackage({ scope: f.scope, workspace: f.workspace }, { store: f.store, fetcher: f.fetcher });
424
+ assert.equal(result.stage, 'demo_repository_package_republishing');
425
+ assert.equal(result.candidateId, '80000000-0000-4000-8000-000000000003');
426
+ assert.equal(result.ready, false);
427
+ assert.equal(f.acknowledgements.length, 0);
428
+ await assert.rejects(readFile(resolve(f.workspace, '.agents/skills/dharma-agent-fabric/SKILL.md')));
429
+ });
412
430
  test('a published signed package installs once under the scoped provider and reuses its protected receipt', async () => {
413
431
  const f = await fixture({ sourcePolicy: true, packagePublished: true, activePackage: 'valid' });
414
432
  const nativeSkillDirectory = resolve(f.workspace, '.agents/skills');