@dsh-enhanced/assistant-delivery 0.1.3

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 (56) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +225 -0
  3. package/cordis.patch.yml +29 -0
  4. package/lib/agent-runtime.d.ts +112 -0
  5. package/lib/agent-runtime.d.ts.map +1 -0
  6. package/lib/agent-runtime.js +1866 -0
  7. package/lib/agent-runtime.js.map +1 -0
  8. package/lib/canonical.d.ts +18 -0
  9. package/lib/canonical.d.ts.map +1 -0
  10. package/lib/canonical.js +83 -0
  11. package/lib/canonical.js.map +1 -0
  12. package/lib/coordinator.d.ts +124 -0
  13. package/lib/coordinator.d.ts.map +1 -0
  14. package/lib/coordinator.js +676 -0
  15. package/lib/coordinator.js.map +1 -0
  16. package/lib/inbound-images.d.ts +38 -0
  17. package/lib/inbound-images.d.ts.map +1 -0
  18. package/lib/inbound-images.js +267 -0
  19. package/lib/inbound-images.js.map +1 -0
  20. package/lib/index.d.ts +12 -0
  21. package/lib/index.d.ts.map +1 -0
  22. package/lib/index.js +12 -0
  23. package/lib/index.js.map +1 -0
  24. package/lib/operator.d.ts +23 -0
  25. package/lib/operator.d.ts.map +1 -0
  26. package/lib/operator.js +38 -0
  27. package/lib/operator.js.map +1 -0
  28. package/lib/service.d.ts +269 -0
  29. package/lib/service.d.ts.map +1 -0
  30. package/lib/service.js +1698 -0
  31. package/lib/service.js.map +1 -0
  32. package/lib/session-commands.d.ts +17 -0
  33. package/lib/session-commands.d.ts.map +1 -0
  34. package/lib/session-commands.js +39 -0
  35. package/lib/session-commands.js.map +1 -0
  36. package/lib/sqlite.d.ts +8 -0
  37. package/lib/sqlite.d.ts.map +1 -0
  38. package/lib/sqlite.js +411 -0
  39. package/lib/sqlite.js.map +1 -0
  40. package/lib/store.d.ts +353 -0
  41. package/lib/store.d.ts.map +1 -0
  42. package/lib/store.js +2614 -0
  43. package/lib/store.js.map +1 -0
  44. package/lib/tools.d.ts +4 -0
  45. package/lib/tools.d.ts.map +1 -0
  46. package/lib/tools.js +54 -0
  47. package/lib/tools.js.map +1 -0
  48. package/lib/types.d.ts +329 -0
  49. package/lib/types.d.ts.map +1 -0
  50. package/lib/types.js +2 -0
  51. package/lib/types.js.map +1 -0
  52. package/lib/version.d.ts +2 -0
  53. package/lib/version.d.ts.map +1 -0
  54. package/lib/version.js +2 -0
  55. package/lib/version.js.map +1 -0
  56. package/package.json +122 -0
package/lib/store.d.ts ADDED
@@ -0,0 +1,353 @@
1
+ import type { ImageAttachmentRef } from '@deepseek-ai/dsh-attachment';
2
+ import type { ConversationBinding, ConversationModelSelection, ConversationRef, DeliveryAttachment, DeliveryPrincipal, DeliveryReceipt, ExternalPrincipalKey, InboundEnvelope, InboxRecord, OutboundIntent, ModelPickerIntent, ModelPickerState, ModelRouteRef, OutboxRecord, PairingChallenge, PermissionPickerIntent } from './types.js';
3
+ export type DeliveryStoreErrorCode = 'conflict' | 'idempotency-conflict' | 'invalid-binding' | 'invalid-envelope' | 'invalid-intent' | 'not-found' | 'pairing-expired' | 'pairing-invalid' | 'pairing-locked' | 'pairing-principal-mismatch' | 'pairing-replayed' | 'receipt-mismatch' | 'stale-fence' | 'unauthorized-principal' | 'version-conflict';
4
+ export declare class DeliveryStoreError extends Error {
5
+ readonly code: DeliveryStoreErrorCode;
6
+ constructor(code: DeliveryStoreErrorCode, message: string);
7
+ }
8
+ interface DeliveryStoreOptions {
9
+ path: string;
10
+ now?: () => number;
11
+ codeGenerator?: () => string;
12
+ maxTextBytes?: number;
13
+ }
14
+ type InboundDispatchBindingSnapshot = Pick<ConversationBinding, 'conversation' | 'generation' | 'id' | 'principal' | 'sessionId' | 'version'>;
15
+ export interface ApprovalDispatchCursor {
16
+ createdAt: number;
17
+ proposalId: string;
18
+ }
19
+ export interface ApprovalDispatchCursorState {
20
+ version: number;
21
+ after?: ApprovalDispatchCursor;
22
+ }
23
+ export declare class DeliveryStore {
24
+ private readonly database;
25
+ private readonly databaseInstanceId;
26
+ private readonly now;
27
+ private readonly codeGenerator;
28
+ private readonly maxTextBytes;
29
+ private closed;
30
+ constructor(options: DeliveryStoreOptions);
31
+ instanceId(): string;
32
+ issuePairing(input: ExternalPrincipalKey, options: {
33
+ ttlMs: number;
34
+ maxAttempts: number;
35
+ }): {
36
+ challenge: PairingChallenge;
37
+ code: string;
38
+ };
39
+ confirmPairing(input: {
40
+ challengeId: string;
41
+ principal: ExternalPrincipalKey;
42
+ code: string;
43
+ }): DeliveryPrincipal;
44
+ /**
45
+ * Trusted local owner rotation. Unlike an ordinary pairing, this promotes
46
+ * the exact replacement principal and retires every previous active owner in
47
+ * one SQLite transaction, so setup can never leave two active owners or turn
48
+ * the newly discovered owner into a merely linked identity.
49
+ */
50
+ handoffOwner(input: ExternalPrincipalKey): DeliveryPrincipal;
51
+ isAuthorizedPrincipal(input: ExternalPrincipalKey): boolean;
52
+ getPrincipal(input: ExternalPrincipalKey): DeliveryPrincipal | undefined;
53
+ createBinding(input: {
54
+ conversation: ConversationRef;
55
+ principal: ExternalPrincipalKey;
56
+ workspace: string;
57
+ agentPreset: string;
58
+ sessionId: string;
59
+ policyRef: string;
60
+ expectedGeneration?: number;
61
+ }): ConversationBinding;
62
+ /**
63
+ * Snapshot the generation a newly-created session must use. `createBinding`
64
+ * revalidates this value under `BEGIN IMMEDIATE` when passed as
65
+ * `expectedGeneration`, so a concurrent generation change fails closed.
66
+ */
67
+ nextBindingGeneration(input: ConversationRef): number;
68
+ getActiveBinding(input: ConversationRef): ConversationBinding | undefined;
69
+ getBinding(id: string): ConversationBinding | undefined;
70
+ listBindings(input: ConversationRef): ConversationBinding[];
71
+ /** Read-only operator query. Callers must apply their own exact route checks. */
72
+ listActiveBindings(): ConversationBinding[];
73
+ getBindingBySession(sessionId: string): ConversationBinding | undefined;
74
+ getModelSelection(input: ConversationRef): ConversationModelSelection | undefined;
75
+ setModelSelection(input: ConversationRef, route: ModelRouteRef): ConversationModelSelection;
76
+ clearModelSelection(input: ConversationRef): boolean;
77
+ beginModelCommand(input: ConversationRef): number;
78
+ commitModelCommand(input: {
79
+ conversation: ConversationRef;
80
+ expectedEpoch: number;
81
+ route?: ModelRouteRef;
82
+ }): {
83
+ applied: false;
84
+ } | {
85
+ applied: true;
86
+ selection?: ConversationModelSelection;
87
+ };
88
+ rotateBinding(input: {
89
+ bindingId: string;
90
+ expectedVersion: number;
91
+ sessionId: string;
92
+ }): ConversationBinding;
93
+ /**
94
+ * Consume one exact `/new` Inbox while rotating its binding.
95
+ *
96
+ * The Inbox transition is part of the same SQLite commit as revoking the
97
+ * previous binding and inserting its successor. Consequently a provider
98
+ * replay can observe either the entirely old state or the entirely new
99
+ * state, never a rotated binding paired with an unconsumed command.
100
+ */
101
+ rotateBindingAndQueueCommand(input: {
102
+ bindingId: string;
103
+ expectedVersion: number;
104
+ sessionId: string;
105
+ inboxId: string;
106
+ }): {
107
+ binding: ConversationBinding;
108
+ inbox: InboxRecord;
109
+ };
110
+ acceptInbound(input: InboundEnvelope): {
111
+ duplicate: boolean;
112
+ record: InboxRecord;
113
+ };
114
+ listAttachments(input: {
115
+ ownerKind: 'inbox' | 'outbox';
116
+ ownerId: string;
117
+ }): DeliveryAttachment[];
118
+ /**
119
+ * Return complete durable image references in the provider descriptor order.
120
+ * `undefined` means the image descriptors have not been materialized yet.
121
+ */
122
+ listReadyInboundImageRefs(inboxId: string): readonly ImageAttachmentRef[] | undefined;
123
+ /** Atomically persist one ordered image batch while the caller still owns the live inbox lease. */
124
+ commitInboundImageRefs(input: {
125
+ inboxId: string;
126
+ ownerId: string;
127
+ fencingToken: number;
128
+ images: readonly {
129
+ ref: ImageAttachmentRef;
130
+ contentSha256: string;
131
+ }[];
132
+ }): readonly ImageAttachmentRef[];
133
+ queueInbox(inboxId: string, bindingId: string): InboxRecord;
134
+ /**
135
+ * Establish a durable command boundary before `/stop` or `/new` is queued.
136
+ *
137
+ * Every earlier record in the same binding that has not crossed the exact
138
+ * dispatch marker becomes terminal in one transaction. A normal claim
139
+ * carrying `dispatch-started` is deliberately left live because the external
140
+ * Agent may have observed it already. Exact permission commands instead get
141
+ * a durable cancelled-recovery marker before the runtime is asked to abort.
142
+ */
143
+ cancelUndispatchedInboxBefore(input: {
144
+ bindingId: string;
145
+ beforeInboxId: string;
146
+ failureCode: string;
147
+ }): {
148
+ cancelled: number;
149
+ dispatching: number;
150
+ claimedInboxIds: string[];
151
+ dispatchingInboxIds: string[];
152
+ };
153
+ getInbox(id: string): InboxRecord | undefined;
154
+ getInboxByProviderEvent(channel: string, account: string, eventId: string): InboxRecord | undefined;
155
+ /** Return the oldest durable admission that did not finish before another Inbox. */
156
+ findPendingInboundBefore(input: {
157
+ conversation: ConversationRef;
158
+ principal: ExternalPrincipalKey;
159
+ beforeInboxId: string;
160
+ }): InboxRecord | undefined;
161
+ listInbox(input?: {
162
+ bindingId?: string;
163
+ limit?: number;
164
+ }): InboxRecord[];
165
+ health(): {
166
+ pendingInbox: number;
167
+ deadLetterInbox: number;
168
+ pendingOutbox: number;
169
+ deadLetterOutbox: number;
170
+ unknownOutbox: number;
171
+ };
172
+ getApprovalDispatchCursor(): ApprovalDispatchCursorState;
173
+ advanceApprovalDispatchCursor(input: {
174
+ expectedVersion: number;
175
+ after?: Readonly<ApprovalDispatchCursor>;
176
+ }): ApprovalDispatchCursorState;
177
+ deadLetterInbox(inboxId: string, failureCode: string): InboxRecord;
178
+ claimInbox(input: {
179
+ ownerId: string;
180
+ leaseMs: number;
181
+ limit: number;
182
+ maxAttempts: number;
183
+ maintenanceLimit?: number;
184
+ }): {
185
+ record: InboxRecord;
186
+ fencingToken: number;
187
+ }[];
188
+ finishInbox(input: {
189
+ inboxId: string;
190
+ ownerId: string;
191
+ fencingToken: number;
192
+ outcome: 'dead_letter' | 'processed' | 'retry_wait';
193
+ failureCode?: string;
194
+ retryAt?: number;
195
+ }): InboxRecord;
196
+ markInboxDispatching(input: {
197
+ inboxId: string;
198
+ ownerId: string;
199
+ fencingToken: number;
200
+ binding: Readonly<InboundDispatchBindingSnapshot>;
201
+ }): InboxRecord;
202
+ renewInboxClaim(input: {
203
+ inboxId: string;
204
+ ownerId: string;
205
+ fencingToken: number;
206
+ leaseMs: number;
207
+ }): boolean;
208
+ recoverInbox(input: {
209
+ maxAttempts: number;
210
+ limit?: number;
211
+ }): InboxRecord[];
212
+ enqueue(input: OutboundIntent): OutboxRecord;
213
+ getOutbox(id: string): OutboxRecord | undefined;
214
+ getApprovalIntent(operationId: string, bindingId: string): NonNullable<OutboundIntent['approval']> | undefined;
215
+ getModelPicker(operationId: string, bindingId: string): ModelPickerIntent | undefined;
216
+ getPermissionPicker(operationId: string, bindingId: string): PermissionPickerIntent | undefined;
217
+ getPermissionPickerRecord(operationId: string, bindingId: string): OutboxRecord | undefined;
218
+ getModelPickerState(operationId: string, bindingId: string): ModelPickerState | undefined;
219
+ advanceModelPicker(input: {
220
+ operationId: string;
221
+ bindingId: string;
222
+ expected: ModelPickerState;
223
+ next: ModelRouteRef;
224
+ }): {
225
+ applied: boolean;
226
+ state: ModelPickerState;
227
+ };
228
+ listOutbox(input?: {
229
+ bindingId?: string;
230
+ limit?: number;
231
+ }): OutboxRecord[];
232
+ claimOutbox(input: {
233
+ ownerId: string;
234
+ leaseMs: number;
235
+ limit: number;
236
+ maxAttempts: number;
237
+ /** Undefined preserves the legacy store-level behavior; an empty list parks every unknown lane. */
238
+ unknownReconcileRoutes?: readonly Readonly<{
239
+ channel: string;
240
+ account: string;
241
+ }>[];
242
+ /** Locally active work that must not be reclaimed even if its durable lease was externally lost. */
243
+ excludeIds?: readonly string[];
244
+ maintenanceLimit?: number;
245
+ }): {
246
+ record: OutboxRecord;
247
+ fencingToken: number;
248
+ mode: 'reconcile' | 'send';
249
+ }[];
250
+ renewOutboxClaim(input: {
251
+ outboxId: string;
252
+ ownerId: string;
253
+ fencingToken: number;
254
+ leaseMs: number;
255
+ }): boolean;
256
+ finishOutbox(input: {
257
+ outboxId: string;
258
+ ownerId: string;
259
+ fencingToken: number;
260
+ outcome: 'accepted' | 'dead' | 'retry_wait' | 'unknown_after_send';
261
+ providerMessageId?: string;
262
+ failureCode?: string;
263
+ retryAt?: number;
264
+ }): OutboxRecord;
265
+ recoverOutbox(input: {
266
+ maxAttempts: number;
267
+ limit?: number;
268
+ }): OutboxRecord[];
269
+ recordReceipt(input: DeliveryReceipt): OutboxRecord;
270
+ revokePrincipal(id: string, expectedVersion: number): DeliveryPrincipal;
271
+ linkPrincipal(input: {
272
+ owner: ExternalPrincipalKey;
273
+ linked: ExternalPrincipalKey;
274
+ expectedLinkedVersion: number;
275
+ }): DeliveryPrincipal;
276
+ resolveInbox(input: {
277
+ inboxId: string;
278
+ expectedAttemptCount: number;
279
+ resolution: 'cancel' | 'retry';
280
+ }): InboxRecord;
281
+ resolveOutbox(input: {
282
+ outboxId: string;
283
+ expectedAttemptCount: number;
284
+ resolution: 'cancel' | 'retry';
285
+ }): OutboxRecord;
286
+ beginApprovalSettlement(input: {
287
+ operationId: string;
288
+ payload: unknown;
289
+ createIfMissing?: boolean;
290
+ }): {
291
+ payloadHash: string;
292
+ replayed: boolean;
293
+ result?: unknown;
294
+ };
295
+ completeApprovalSettlement(input: {
296
+ operationId: string;
297
+ payloadHash: string;
298
+ result: unknown;
299
+ }): unknown;
300
+ beginModelSelectionSettlement(input: {
301
+ operationId: string;
302
+ bindingId: string;
303
+ expected: ModelPickerState;
304
+ payload: unknown;
305
+ createIfMissing?: boolean;
306
+ }): {
307
+ payloadHash: string;
308
+ replayed: boolean;
309
+ status: 'completed' | 'pending';
310
+ result?: unknown;
311
+ };
312
+ claimModelSelectionSettlements(input: {
313
+ ownerId: string;
314
+ leaseMs: number;
315
+ limit?: number;
316
+ }): Array<{
317
+ operationId: string;
318
+ bindingId: string;
319
+ payloadHash: string;
320
+ payload: unknown;
321
+ fencingToken: number;
322
+ }>;
323
+ nextModelSelectionClaimAt(): number | undefined;
324
+ renewModelSelectionSettlement(input: {
325
+ operationId: string;
326
+ ownerId: string;
327
+ fencingToken: number;
328
+ leaseMs: number;
329
+ }): boolean;
330
+ completeModelSelectionSettlement(input: {
331
+ operationId: string;
332
+ payloadHash: string;
333
+ result: unknown;
334
+ selection?: {
335
+ conversation: ConversationRef;
336
+ route: ModelRouteRef;
337
+ };
338
+ reply?: OutboundIntent;
339
+ superseded?: {
340
+ result: unknown;
341
+ reply?: OutboundIntent;
342
+ };
343
+ ownerId?: string;
344
+ fencingToken?: number;
345
+ }): unknown;
346
+ close(): void;
347
+ private transaction;
348
+ private advanceModelCommandEpoch;
349
+ private nextBindingGenerationByHash;
350
+ private assertOpen;
351
+ }
352
+ export {};
353
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}