@dharma-ai-labs/agent-fabric 0.2.107 → 0.2.108

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 (40) hide show
  1. package/README.md +15 -0
  2. package/dist/codexBoundSession.d.ts +42 -0
  3. package/dist/codexBoundSession.d.ts.map +1 -0
  4. package/dist/codexBoundSession.js +106 -0
  5. package/dist/codexBoundSession.js.map +1 -0
  6. package/dist/codexBoundSession.test.d.ts +2 -0
  7. package/dist/codexBoundSession.test.d.ts.map +1 -0
  8. package/dist/codexBoundSession.test.js +619 -0
  9. package/dist/codexBoundSession.test.js.map +1 -0
  10. package/dist/codexInboxSession.d.ts +75 -0
  11. package/dist/codexInboxSession.d.ts.map +1 -0
  12. package/dist/codexInboxSession.js +157 -0
  13. package/dist/codexInboxSession.js.map +1 -0
  14. package/dist/cooperativeInboxSession.d.ts +89 -0
  15. package/dist/cooperativeInboxSession.d.ts.map +1 -0
  16. package/dist/cooperativeInboxSession.js +195 -0
  17. package/dist/cooperativeInboxSession.js.map +1 -0
  18. package/dist/cooperativeInboxSession.test.d.ts +2 -0
  19. package/dist/cooperativeInboxSession.test.d.ts.map +1 -0
  20. package/dist/cooperativeInboxSession.test.js +354 -0
  21. package/dist/cooperativeInboxSession.test.js.map +1 -0
  22. package/dist/index.d.ts +1 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +2 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/index.test.js +2 -2
  27. package/dist/providerSessionChannel.d.ts +129 -0
  28. package/dist/providerSessionChannel.d.ts.map +1 -0
  29. package/dist/providerSessionChannel.js +249 -0
  30. package/dist/providerSessionChannel.js.map +1 -0
  31. package/dist/providerSessionChannel.test.d.ts +2 -0
  32. package/dist/providerSessionChannel.test.d.ts.map +1 -0
  33. package/dist/providerSessionChannel.test.js +246 -0
  34. package/dist/providerSessionChannel.test.js.map +1 -0
  35. package/dist/providerSessionReplyRecovery.d.ts +33 -0
  36. package/dist/providerSessionReplyRecovery.d.ts.map +1 -0
  37. package/dist/providerSessionReplyRecovery.js +58 -0
  38. package/dist/providerSessionReplyRecovery.js.map +1 -0
  39. package/dist/schemas/provider-session-completion.schema.json +22 -0
  40. package/package.json +7 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codexBoundSession.test.js","sourceRoot":"","sources":["../src/codexBoundSession.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { openCodexBoundSession } from './codexBoundSession.js';
2
+ import { createProviderSessionChannel } from './providerSessionChannel.js';
3
+ export declare function openCodexInboxSession(input: Parameters<typeof openCodexBoundSession>[0] & {
4
+ channelTransport: Parameters<typeof createProviderSessionChannel>[0]['transport'];
5
+ expectedRevision?: number;
6
+ authorizeContent: Parameters<typeof createProviderSessionChannel>[0]['authorizeContent'];
7
+ }): Promise<{
8
+ close: (options?: {
9
+ retire?: boolean;
10
+ }) => Promise<{
11
+ serverDetached: boolean;
12
+ providerClosed: true;
13
+ }>;
14
+ retire: () => Promise<{
15
+ serverDetached: boolean;
16
+ providerClosed: true;
17
+ }>;
18
+ runNext(): Promise<{
19
+ state: "reply_pending";
20
+ questionId: string;
21
+ taskId: string;
22
+ completionHash: string;
23
+ reasonCode: "content_or_contract_blocked" | "receipt_invalid" | "delivery_unconfirmed";
24
+ replyReceiptHash?: undefined;
25
+ correlationId?: undefined;
26
+ } | {
27
+ state: "reply_pending";
28
+ questionId: string;
29
+ taskId: string;
30
+ completionHash: string;
31
+ reasonCode: "answer_conflict" | "remote_not_answered";
32
+ replyReceiptHash?: undefined;
33
+ correlationId?: undefined;
34
+ } | {
35
+ state: "reply_reconciled";
36
+ questionId: string;
37
+ taskId: string;
38
+ completionHash: string;
39
+ replyReceiptHash: string;
40
+ correlationId: string;
41
+ reasonCode?: undefined;
42
+ } | {
43
+ state: "idle";
44
+ questionId?: undefined;
45
+ taskId?: undefined;
46
+ completionHash?: undefined;
47
+ reasonCode?: undefined;
48
+ providerShutdownConfirmed?: undefined;
49
+ } | {
50
+ state: "budget_denied";
51
+ questionId: string;
52
+ taskId: string;
53
+ completionHash?: undefined;
54
+ reasonCode?: undefined;
55
+ providerShutdownConfirmed?: undefined;
56
+ } | {
57
+ completionHash: string;
58
+ questionId: string;
59
+ taskId: string;
60
+ targetBindingId: string;
61
+ state: "queued" | "accepted" | "answered" | "failed";
62
+ replay: boolean;
63
+ correlationId: string;
64
+ reasonCode?: undefined;
65
+ providerShutdownConfirmed?: undefined;
66
+ } | {
67
+ state: "reply_pending";
68
+ questionId: string;
69
+ taskId: string;
70
+ completionHash: string;
71
+ reasonCode: string;
72
+ providerShutdownConfirmed: boolean;
73
+ }>;
74
+ }>;
75
+ //# sourceMappingURL=codexInboxSession.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codexInboxSession.d.ts","sourceRoot":"","sources":["../src/codexInboxSession.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAK3E,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,GAAG;IAC/F,gBAAgB,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAClF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;CAC1F;sBAqC+B;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE;wBAVuB,OAAO;wBAAkB,IAAI;;;wBAA7B,OAAO;wBAAkB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EvG"}
@@ -0,0 +1,157 @@
1
+ import { canonicalize } from '@dharma-ai-labs/agent-fabric-contracts';
2
+ import { openCodexBoundSession } from './codexBoundSession.js';
3
+ import { createProviderSessionChannel } from './providerSessionChannel.js';
4
+ import { reconcileProviderSessionReply } from './providerSessionReplyRecovery.js';
5
+ // Only a bridge-owned thread can be driven through app-server. Cooperative desktop
6
+ // chats must consume in their own session; knowing a thread ID is not ownership.
7
+ export async function openCodexInboxSession(input) {
8
+ const binding = input.vault.getProviderSessionBinding(input.bindingId, input.identity);
9
+ if (!binding || binding.owner !== 'dharma_bridge' || binding.provider !== 'codex') {
10
+ throw new Error('codex_inbox_binding_unavailable');
11
+ }
12
+ const scope = {
13
+ organizationId: binding.organizationId, repositoryBindingId: binding.repositoryBindingId,
14
+ workspaceId: binding.workspaceId, endpointId: binding.endpointId, membershipId: binding.membershipId,
15
+ deviceId: binding.deviceId, bindingId: binding.bindingId, provider: binding.provider,
16
+ expiresAt: binding.expiresAt, maximumProviderCostCents: binding.maximumProviderCostCents,
17
+ };
18
+ let current = null;
19
+ let channel;
20
+ const owner = await openCodexBoundSession({ ...input, verifier: {
21
+ resolvePublicKey: keyVersion => input.verifier.resolvePublicKey(keyVersion),
22
+ consume: async (questionId) => {
23
+ if (!current || current.questionId !== questionId)
24
+ return false;
25
+ await channel.accept(questionId, current.taskId);
26
+ return input.verifier.consume(questionId);
27
+ },
28
+ } });
29
+ channel = createProviderSessionChannel({ transport: input.channelTransport, scope, mode: 'bridge_owned',
30
+ expectedRevision: input.expectedRevision ?? 0, assertOwner: owner.assertActive,
31
+ verifier: input.verifier, authorizeContent: input.authorizeContent });
32
+ try {
33
+ await (input.expectedRevision === undefined ? channel.reconnect() : channel.attach());
34
+ }
35
+ catch (error) {
36
+ try {
37
+ await owner.close();
38
+ }
39
+ catch { /* Keep the fence if shutdown is unconfirmed. */ }
40
+ throw error;
41
+ }
42
+ let stopped = false, running = false, closing = null;
43
+ let pulse = null;
44
+ const timer = setInterval(() => {
45
+ if (stopped || pulse)
46
+ return;
47
+ pulse = channel.heartbeat().then(() => undefined).catch(async () => {
48
+ stopped = true;
49
+ clearInterval(timer);
50
+ try {
51
+ await owner.close();
52
+ }
53
+ catch { /* The retained owner remains fenced. */ }
54
+ }).finally(() => { pulse = null; });
55
+ }, 20_000);
56
+ timer.unref();
57
+ async function close(options = {}) {
58
+ if (closing)
59
+ return closing;
60
+ stopped = true;
61
+ clearInterval(timer);
62
+ closing = (async () => {
63
+ if (pulse)
64
+ await pulse;
65
+ let serverDetached = false;
66
+ if (options.retire) {
67
+ try {
68
+ await channel.detach();
69
+ serverDetached = true;
70
+ }
71
+ catch { /* Remote presence expires; it is not reported as detached. */ }
72
+ }
73
+ await owner.close();
74
+ return { serverDetached, providerClosed: true };
75
+ })();
76
+ try {
77
+ return await closing;
78
+ }
79
+ catch (error) {
80
+ closing = null;
81
+ throw error;
82
+ }
83
+ }
84
+ return {
85
+ close,
86
+ retire: () => close({ retire: true }),
87
+ async runNext() {
88
+ if (stopped)
89
+ throw new Error('codex_inbox_session_unavailable');
90
+ if (running)
91
+ throw new Error('codex_inbox_session_busy');
92
+ running = true;
93
+ try {
94
+ const recovered = await reconcileProviderSessionReply({ vault: input.vault, bindingId: input.bindingId,
95
+ identity: input.identity, channel });
96
+ if (recovered) {
97
+ if (recovered.state === 'reply_pending')
98
+ await close();
99
+ return recovered;
100
+ }
101
+ const offers = await channel.inbox();
102
+ const offer = offers[0];
103
+ if (!offer)
104
+ return { state: 'idle' };
105
+ current = offer;
106
+ let result;
107
+ try {
108
+ result = await owner.runQuestion({ question: offer });
109
+ }
110
+ catch (error) {
111
+ if (error instanceof Error && error.message === 'codex_session_budget_unavailable') {
112
+ return { state: 'budget_denied', questionId: offer.questionId, taskId: offer.taskId };
113
+ }
114
+ throw error;
115
+ }
116
+ const completionHash = await input.vault.stageProviderSessionReply(input.bindingId, input.identity, offer.questionId, Buffer.from(canonicalize({
117
+ schema: 'dharma.provider-session-completion/v1', organizationId: scope.organizationId,
118
+ repositoryBindingId: scope.repositoryBindingId, membershipId: scope.membershipId,
119
+ deviceId: scope.deviceId, workspaceId: scope.workspaceId, endpointId: scope.endpointId,
120
+ ...result,
121
+ }), 'utf8'));
122
+ try {
123
+ const receipt = await channel.reply({ questionId: offer.questionId, taskId: offer.taskId,
124
+ outcome: 'answered', answer: result.answer, failureCode: null });
125
+ input.vault.acknowledgeProviderSessionReply(input.bindingId, input.identity, offer.questionId, completionHash);
126
+ return { ...receipt, completionHash };
127
+ }
128
+ catch (error) {
129
+ // Preserve the encrypted completed result. Never repeat the provider turn
130
+ // because its upload was denied or the network acknowledgement was lost.
131
+ let providerShutdownConfirmed = false;
132
+ try {
133
+ providerShutdownConfirmed = (await close()).providerClosed;
134
+ }
135
+ catch { /* An unconfirmed shutdown retains the fence. */ }
136
+ const reasonCode = error instanceof Error && error.message === 'provider_session_channel_input' ? 'content_or_contract_blocked'
137
+ : error instanceof Error && error.message === 'provider_session_channel_response' ? 'receipt_invalid'
138
+ : 'delivery_unconfirmed';
139
+ return { state: 'reply_pending', questionId: offer.questionId, taskId: offer.taskId,
140
+ completionHash, reasonCode, providerShutdownConfirmed };
141
+ }
142
+ }
143
+ catch (error) {
144
+ try {
145
+ await close();
146
+ }
147
+ catch { /* Fail closed without reporting successful termination. */ }
148
+ throw error;
149
+ }
150
+ finally {
151
+ current = null;
152
+ running = false;
153
+ }
154
+ },
155
+ };
156
+ }
157
+ //# sourceMappingURL=codexInboxSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codexInboxSession.js","sourceRoot":"","sources":["../src/codexInboxSession.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import { type SessionQuestion, type SessionQuestionVerifier } from '@dharma-ai-labs/agent-fabric-contracts';
2
+ import type { LocalProviderSessionIdentity, LocalVault } from '@dharma-ai-labs/agent-fabric-local-vault';
3
+ import { createProviderSessionChannel } from './providerSessionChannel.js';
4
+ export interface CooperativeSessionContext {
5
+ provider: 'codex';
6
+ sessionId: string;
7
+ workspaceRoot: string;
8
+ active: boolean;
9
+ }
10
+ export declare function openCooperativeInboxSession(input: {
11
+ vault: LocalVault;
12
+ bindingId: string;
13
+ identity: LocalProviderSessionIdentity;
14
+ currentSession(): Promise<CooperativeSessionContext | null>;
15
+ channelTransport: Parameters<typeof createProviderSessionChannel>[0]['transport'];
16
+ verifier: SessionQuestionVerifier;
17
+ budget: {
18
+ reserve(input: {
19
+ questionId: string;
20
+ maximumCostCents: number;
21
+ }): Promise<boolean>;
22
+ };
23
+ authorizeContent: Parameters<typeof createProviderSessionChannel>[0]['authorizeContent'];
24
+ }): Promise<{
25
+ close: () => Promise<{
26
+ serverDetached: boolean;
27
+ consumerClosed: true;
28
+ }>;
29
+ retire(): Promise<{
30
+ serverDetached: boolean;
31
+ consumerClosed: true;
32
+ }>;
33
+ runNext(answerInCurrentSession: (offer: SessionQuestion) => Promise<string>): Promise<{
34
+ questionId: string;
35
+ taskId: string;
36
+ targetBindingId: string;
37
+ state: "queued" | "accepted" | "answered" | "failed";
38
+ replay: boolean;
39
+ correlationId: string;
40
+ } | {
41
+ state: "reply_pending";
42
+ questionId: string;
43
+ taskId: string;
44
+ completionHash: string;
45
+ reasonCode: "content_or_contract_blocked" | "receipt_invalid" | "delivery_unconfirmed";
46
+ replyReceiptHash?: undefined;
47
+ correlationId?: undefined;
48
+ } | {
49
+ state: "reply_pending";
50
+ questionId: string;
51
+ taskId: string;
52
+ completionHash: string;
53
+ reasonCode: "answer_conflict" | "remote_not_answered";
54
+ replyReceiptHash?: undefined;
55
+ correlationId?: undefined;
56
+ } | {
57
+ state: "reply_reconciled";
58
+ questionId: string;
59
+ taskId: string;
60
+ completionHash: string;
61
+ replyReceiptHash: string;
62
+ correlationId: string;
63
+ reasonCode?: undefined;
64
+ } | {
65
+ state: "idle";
66
+ questionId?: undefined;
67
+ taskId?: undefined;
68
+ completionHash?: undefined;
69
+ } | {
70
+ state: "budget_denied";
71
+ questionId: string;
72
+ taskId: string;
73
+ completionHash?: undefined;
74
+ } | {
75
+ completionHash: string;
76
+ questionId: string;
77
+ taskId: string;
78
+ targetBindingId: string;
79
+ state: "queued" | "accepted" | "answered" | "failed";
80
+ replay: boolean;
81
+ correlationId: string;
82
+ } | {
83
+ state: "reply_pending";
84
+ questionId: string;
85
+ taskId: string;
86
+ completionHash: string;
87
+ }>;
88
+ }>;
89
+ //# sourceMappingURL=cooperativeInboxSession.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cooperativeInboxSession.d.ts","sourceRoot":"","sources":["../src/cooperativeInboxSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoF,KAAK,eAAe,EAC7G,KAAK,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,KAAK,EAAE,4BAA4B,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACzG,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAG3E,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;CAC9E;AAID,wBAAsB,2BAA2B,CAAC,KAAK,EAAE;IACvD,KAAK,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,4BAA4B,CAAC;IAC7E,cAAc,IAAI,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAC;IAC5D,gBAAgB,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAClF,QAAQ,EAAE,uBAAuB,CAAC;IAClC,MAAM,EAAE;QAAE,OAAO,CAAC,KAAK,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,gBAAgB,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC;IAC/F,gBAAgB,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;CAC1F;;;;;;;;;oCA+DyC,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEpF"}
@@ -0,0 +1,195 @@
1
+ import { canonicalize, inspectSessionQuestionForBinding, sha256 } from '@dharma-ai-labs/agent-fabric-contracts';
2
+ import { createProviderSessionChannel } from './providerSessionChannel.js';
3
+ import { reconcileProviderSessionReply } from './providerSessionReplyRecovery.js';
4
+ // The embedding agent owns this callback. No provider transport, external resume,
5
+ // fresh-worker fallback, desktop injection or idle-chat wake mechanism exists here.
6
+ export async function openCooperativeInboxSession(input) {
7
+ const binding = input.vault.getProviderSessionBinding(input.bindingId, input.identity);
8
+ if (!binding || binding.provider !== 'codex' || binding.owner !== 'cooperative_session') {
9
+ throw new Error('cooperative_session_binding_unavailable');
10
+ }
11
+ const lease = input.vault.tryAcquireProviderSessionLease(input.bindingId, input.identity);
12
+ if (!lease)
13
+ throw new Error('cooperative_session_lease_unavailable');
14
+ let stopped = false, running = false, released = false;
15
+ let settle = null, activeRun = null;
16
+ let pulse = null;
17
+ function release() { if (!released) {
18
+ lease.release();
19
+ released = true;
20
+ } }
21
+ async function assertOwner() {
22
+ if (stopped || !await lease.assertHeld())
23
+ return false;
24
+ const context = await input.currentSession();
25
+ return !stopped && await lease.assertHeld() && context?.active === true
26
+ && context.provider === binding.provider && context.sessionId === binding.sessionId
27
+ && context.workspaceRoot === binding.workspaceRoot;
28
+ }
29
+ async function requireOwner() {
30
+ if (!await assertOwner())
31
+ throw new Error('cooperative_session_owner_lost');
32
+ }
33
+ const scope = {
34
+ organizationId: binding.organizationId, repositoryBindingId: binding.repositoryBindingId,
35
+ workspaceId: binding.workspaceId, endpointId: binding.endpointId, membershipId: binding.membershipId,
36
+ deviceId: binding.deviceId, bindingId: binding.bindingId, provider: binding.provider,
37
+ expiresAt: binding.expiresAt, maximumProviderCostCents: binding.maximumProviderCostCents,
38
+ };
39
+ const channel = createProviderSessionChannel({ transport: input.channelTransport, scope, mode: 'cooperative',
40
+ expectedRevision: 0, assertOwner, verifier: input.verifier, authorizeContent: input.authorizeContent });
41
+ function requireOffer(offer) {
42
+ const inspected = inspectSessionQuestionForBinding(offer, scope, input.verifier, new Date());
43
+ if (!inspected.ok)
44
+ throw new Error(`cooperative_session_${inspected.reason}`);
45
+ }
46
+ try {
47
+ await requireOwner();
48
+ await channel.reconnect();
49
+ }
50
+ catch (error) {
51
+ stopped = true;
52
+ release();
53
+ throw error;
54
+ }
55
+ const timer = setInterval(() => {
56
+ if (stopped || pulse)
57
+ return;
58
+ pulse = channel.heartbeat().then(() => undefined).catch(() => {
59
+ stopped = true;
60
+ clearInterval(timer);
61
+ if (!running)
62
+ release();
63
+ }).finally(() => { pulse = null; });
64
+ }, 20_000);
65
+ timer.unref();
66
+ function stop() { stopped = true; clearInterval(timer); }
67
+ async function close() {
68
+ stop();
69
+ if (pulse)
70
+ await pulse;
71
+ if (activeRun)
72
+ await activeRun;
73
+ release();
74
+ return { serverDetached: false, consumerClosed: true };
75
+ }
76
+ return {
77
+ close,
78
+ async retire() {
79
+ if (running)
80
+ throw new Error('cooperative_session_busy');
81
+ let serverDetached = false;
82
+ try {
83
+ await requireOwner();
84
+ await channel.detach();
85
+ serverDetached = true;
86
+ }
87
+ finally {
88
+ stop();
89
+ if (pulse)
90
+ await pulse;
91
+ input.vault.revokeProviderSessionBinding(input.bindingId, input.identity);
92
+ release();
93
+ }
94
+ return { serverDetached, consumerClosed: true };
95
+ },
96
+ async runNext(answerInCurrentSession) {
97
+ if (stopped)
98
+ throw new Error('cooperative_session_unavailable');
99
+ if (running)
100
+ throw new Error('cooperative_session_busy');
101
+ running = true;
102
+ activeRun = new Promise(resolve => { settle = resolve; });
103
+ try {
104
+ await requireOwner();
105
+ const recovered = await reconcileProviderSessionReply({ vault: input.vault, bindingId: input.bindingId,
106
+ identity: input.identity, channel });
107
+ await requireOwner();
108
+ if (recovered) {
109
+ if (recovered.state === 'reply_pending')
110
+ stop();
111
+ return recovered;
112
+ }
113
+ const offer = (await channel.inbox())[0];
114
+ if (!offer)
115
+ return { state: 'idle' };
116
+ Object.freeze(offer.authority.readPaths);
117
+ Object.freeze(offer.authority);
118
+ Object.freeze(offer.source);
119
+ Object.freeze(offer.target);
120
+ Object.freeze(offer);
121
+ await requireOwner();
122
+ // Content authorization and reserved cost must precede acceptance and the
123
+ // durable replay claim. Delivery cannot authorize broader chat actions.
124
+ if (!await input.authorizeContent(offer.question, 'question')) {
125
+ throw new Error('cooperative_session_content_denied');
126
+ }
127
+ await requireOwner();
128
+ const reserved = await input.budget.reserve({ questionId: offer.questionId,
129
+ maximumCostCents: offer.authority.maximumProviderCostCents });
130
+ await requireOwner();
131
+ if (!reserved)
132
+ return { state: 'budget_denied', questionId: offer.questionId, taskId: offer.taskId };
133
+ requireOffer(offer);
134
+ await channel.accept(offer.questionId, offer.taskId);
135
+ await requireOwner();
136
+ if (!await input.verifier.consume(offer.questionId))
137
+ throw new Error('cooperative_session_replayed');
138
+ await requireOwner();
139
+ requireOffer(offer);
140
+ let answer;
141
+ try {
142
+ answer = await answerInCurrentSession(offer);
143
+ }
144
+ catch {
145
+ await requireOwner();
146
+ requireOffer(offer);
147
+ try {
148
+ return await channel.reply({ questionId: offer.questionId, taskId: offer.taskId,
149
+ outcome: 'failed', answer: '', failureCode: 'execution_failed' });
150
+ }
151
+ catch {
152
+ throw new Error('cooperative_session_failure_delivery_unconfirmed');
153
+ }
154
+ }
155
+ await requireOwner();
156
+ requireOffer(offer);
157
+ if (typeof answer !== 'string' || answer.trim().length === 0 || answer.length > 2000
158
+ || /[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/.test(answer)) {
159
+ throw new Error('cooperative_session_answer_invalid');
160
+ }
161
+ const completionHash = await input.vault.stageProviderSessionReply(input.bindingId, input.identity, offer.questionId, Buffer.from(canonicalize({
162
+ schema: 'dharma.provider-session-completion/v1', organizationId: scope.organizationId,
163
+ repositoryBindingId: scope.repositoryBindingId, membershipId: scope.membershipId,
164
+ deviceId: scope.deviceId, workspaceId: scope.workspaceId, endpointId: scope.endpointId,
165
+ questionId: offer.questionId, taskId: offer.taskId, bindingId: scope.bindingId,
166
+ targetEndpointId: scope.endpointId, answer, answerHash: sha256(answer),
167
+ }), 'utf8'));
168
+ await requireOwner();
169
+ try {
170
+ const receipt = await channel.reply({ questionId: offer.questionId, taskId: offer.taskId,
171
+ outcome: 'answered', answer, failureCode: null });
172
+ input.vault.acknowledgeProviderSessionReply(input.bindingId, input.identity, offer.questionId, completionHash);
173
+ return { ...receipt, completionHash };
174
+ }
175
+ catch {
176
+ stop();
177
+ return { state: 'reply_pending', questionId: offer.questionId, taskId: offer.taskId, completionHash };
178
+ }
179
+ }
180
+ catch (error) {
181
+ stop();
182
+ throw error;
183
+ }
184
+ finally {
185
+ running = false;
186
+ settle?.();
187
+ settle = null;
188
+ activeRun = null;
189
+ if (stopped)
190
+ release();
191
+ }
192
+ },
193
+ };
194
+ }
195
+ //# sourceMappingURL=cooperativeInboxSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cooperativeInboxSession.js","sourceRoot":"","sources":["../src/cooperativeInboxSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gCAAgC,EAAE,MAAM,EAC/B,MAAM,wCAAwC,CAAC;AAE/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAMlF,kFAAkF;AAClF,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,KAOjD;IACC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,qBAAqB,EAAE,CAAC;QACxF,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1F,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACrE,IAAI,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC;IACvD,IAAI,MAAM,GAAwB,IAAI,EAAE,SAAS,GAAyB,IAAI,CAAC;IAC/E,IAAI,KAAK,GAAyB,IAAI,CAAC;IACvC,SAAS,OAAO,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAC,KAAM,CAAC,OAAO,EAAE,CAAC;QAAC,QAAQ,GAAG,IAAI,CAAC;IAAC,CAAC,CAAC,CAAC;IAC5E,KAAK,UAAU,WAAW;QACxB,IAAI,OAAO,IAAI,CAAC,MAAM,KAAM,CAAC,UAAU,EAAE;YAAE,OAAO,KAAK,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;QAC7C,OAAO,CAAC,OAAO,IAAI,MAAM,KAAM,CAAC,UAAU,EAAE,IAAI,OAAO,EAAE,MAAM,KAAK,IAAI;eACnE,OAAO,CAAC,QAAQ,KAAK,OAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,OAAQ,CAAC,SAAS;eAClF,OAAO,CAAC,aAAa,KAAK,OAAQ,CAAC,aAAa,CAAC;IACxD,CAAC;IACD,KAAK,UAAU,YAAY;QACzB,IAAI,CAAC,MAAM,WAAW,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,KAAK,GAAwB;QACjC,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QACxF,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY;QACpG,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ;QACpF,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,wBAAwB,EAAE,OAAO,CAAC,wBAAwB;KACzF,CAAC;IACF,MAAM,OAAO,GAAG,4BAA4B,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa;QAC1G,gBAAgB,EAAE,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC1G,SAAS,YAAY,CAAC,KAAsB;QAC1C,MAAM,SAAS,GAAG,gCAAgC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,SAAS,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,CAAC;QAAC,MAAM,YAAY,EAAE,CAAC;QAAC,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;IAAC,CAAC;IACxD,OAAO,KAAK,EAAE,CAAC;QAAC,OAAO,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,CAAC;QAAC,MAAM,KAAK,CAAC;IAAC,CAAC;IACzD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,IAAI,OAAO,IAAI,KAAK;YAAE,OAAO;QAC7B,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAC3D,OAAO,GAAG,IAAI,CAAC;YAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,OAAO;gBAAE,OAAO,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,EAAE,MAAM,CAAC,CAAC;IACX,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,SAAS,IAAI,KAAK,OAAO,GAAG,IAAI,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzD,KAAK,UAAU,KAAK;QAClB,IAAI,EAAE,CAAC;QACP,IAAI,KAAK;YAAE,MAAM,KAAK,CAAC;QACvB,IAAI,SAAS;YAAE,MAAM,SAAS,CAAC;QAC/B,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,IAAa,EAAE,CAAC;IAClE,CAAC;IACD,OAAO;QACL,KAAK;QACL,KAAK,CAAC,MAAM;YACV,IAAI,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACzD,IAAI,cAAc,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC;gBAAC,MAAM,YAAY,EAAE,CAAC;gBAAC,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;gBAAC,cAAc,GAAG,IAAI,CAAC;YAAC,CAAC;oBACpE,CAAC;gBACP,IAAI,EAAE,CAAC;gBAAC,IAAI,KAAK;oBAAE,MAAM,KAAK,CAAC;gBAC/B,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAAC,OAAO,EAAE,CAAC;YACvF,CAAC;YACD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,IAAa,EAAE,CAAC;QAC3D,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,sBAAmE;YAC/E,IAAI,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAChE,IAAI,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACzD,OAAO,GAAG,IAAI,CAAC;YACf,SAAS,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC;gBACH,MAAM,YAAY,EAAE,CAAC;gBACrB,MAAM,SAAS,GAAG,MAAM,6BAA6B,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;oBACpG,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;gBACvC,MAAM,YAAY,EAAE,CAAC;gBACrB,IAAI,SAAS,EAAE,CAAC;oBAAC,IAAI,SAAS,CAAC,KAAK,KAAK,eAAe;wBAAE,IAAI,EAAE,CAAC;oBAAC,OAAO,SAAS,CAAC;gBAAC,CAAC;gBACrF,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,CAAC,KAAK;oBAAE,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,CAAC;gBAC9C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACzE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/E,MAAM,YAAY,EAAE,CAAC;gBACrB,0EAA0E;gBAC1E,wEAAwE;gBACxE,IAAI,CAAC,MAAM,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;oBAC9D,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACxD,CAAC;gBACD,MAAM,YAAY,EAAE,CAAC;gBACrB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU;oBACxE,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,wBAAwB,EAAE,CAAC,CAAC;gBAChE,MAAM,YAAY,EAAE,CAAC;gBACrB,IAAI,CAAC,QAAQ;oBAAE,OAAO,EAAE,KAAK,EAAE,eAAwB,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC9G,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACrD,MAAM,YAAY,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBACrG,MAAM,YAAY,EAAE,CAAC;gBACrB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,MAAc,CAAC;gBACnB,IAAI,CAAC;oBAAC,MAAM,GAAG,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBAAC,CAAC;gBACrD,MAAM,CAAC;oBACL,MAAM,YAAY,EAAE,CAAC;oBAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBAC1C,IAAI,CAAC;wBACH,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM;4BAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBACtE,CAAC;oBAAC,MAAM,CAAC;wBAAC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;oBAAC,CAAC;gBAClF,CAAC;gBACD,MAAM,YAAY,EAAE,CAAC;gBACrB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI;uBAC/E,gDAAgD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACnE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACxD,CAAC;gBACD,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAChG,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;oBACzC,MAAM,EAAE,uCAAuC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc;oBACrF,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChF,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU;oBACtF,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC9E,gBAAgB,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;iBACvE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;gBACf,MAAM,YAAY,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM;wBACtF,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpD,KAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;oBAC/G,OAAO,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,CAAC;gBACxC,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,EAAE,CAAC;oBACP,OAAO,EAAE,KAAK,EAAE,eAAwB,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;gBACjH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAAC,IAAI,EAAE,CAAC;gBAAC,MAAM,KAAK,CAAC;YAAC,CAAC;oBAChC,CAAC;gBACP,OAAO,GAAG,KAAK,CAAC;gBAAC,MAAM,EAAE,EAAE,CAAC;gBAAC,MAAM,GAAG,IAAI,CAAC;gBAAC,SAAS,GAAG,IAAI,CAAC;gBAC7D,IAAI,OAAO;oBAAE,OAAO,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cooperativeInboxSession.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cooperativeInboxSession.test.d.ts","sourceRoot":"","sources":["../src/cooperativeInboxSession.test.ts"],"names":[],"mappings":""}