@dsh-enhanced/assistant-delivery 0.1.62 → 0.1.64

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 (49) hide show
  1. package/README.md +32 -10
  2. package/bin/dsh-restart-supervisor.js +76 -0
  3. package/lib/agent-runtime.d.ts +21 -1
  4. package/lib/agent-runtime.d.ts.map +1 -1
  5. package/lib/agent-runtime.js +192 -23
  6. package/lib/agent-runtime.js.map +1 -1
  7. package/lib/coordinator.d.ts.map +1 -1
  8. package/lib/coordinator.js +10 -0
  9. package/lib/coordinator.js.map +1 -1
  10. package/lib/operator-snapshot.d.ts +1 -1
  11. package/lib/operator-snapshot.d.ts.map +1 -1
  12. package/lib/operator-snapshot.js +5 -5
  13. package/lib/operator-snapshot.js.map +1 -1
  14. package/lib/restart-native.d.ts +47 -0
  15. package/lib/restart-native.d.ts.map +1 -0
  16. package/lib/restart-native.js +170 -0
  17. package/lib/restart-native.js.map +1 -0
  18. package/lib/restart-runtime.d.ts +38 -0
  19. package/lib/restart-runtime.d.ts.map +1 -0
  20. package/lib/restart-runtime.js +335 -0
  21. package/lib/restart-runtime.js.map +1 -0
  22. package/lib/restart-store.d.ts +132 -0
  23. package/lib/restart-store.d.ts.map +1 -0
  24. package/lib/restart-store.js +757 -0
  25. package/lib/restart-store.js.map +1 -0
  26. package/lib/restart-supervisor.d.ts +129 -0
  27. package/lib/restart-supervisor.d.ts.map +1 -0
  28. package/lib/restart-supervisor.js +615 -0
  29. package/lib/restart-supervisor.js.map +1 -0
  30. package/lib/service.d.ts +45 -1
  31. package/lib/service.d.ts.map +1 -1
  32. package/lib/service.js +488 -6
  33. package/lib/service.js.map +1 -1
  34. package/lib/sqlite.d.ts +1 -1
  35. package/lib/sqlite.d.ts.map +1 -1
  36. package/lib/sqlite.js +76 -2
  37. package/lib/sqlite.js.map +1 -1
  38. package/lib/store.d.ts +41 -1
  39. package/lib/store.d.ts.map +1 -1
  40. package/lib/store.js +433 -85
  41. package/lib/store.js.map +1 -1
  42. package/lib/tools.d.ts.map +1 -1
  43. package/lib/tools.js +21 -2
  44. package/lib/tools.js.map +1 -1
  45. package/lib/types.d.ts +33 -0
  46. package/lib/types.d.ts.map +1 -1
  47. package/lib/version.d.ts +1 -1
  48. package/lib/version.js +1 -1
  49. package/package.json +11 -10
@@ -0,0 +1,132 @@
1
+ import type { ConversationRef, ExternalPrincipalKey, ModelRouteRef } from './types.js';
2
+ /** This is an operation journal, not another Agent or task scheduler. */
3
+ export type RestartStatus = 'requested' | 'checkpoint' | 'ready' | 'restarting' | 'restarted' | 'resuming' | 'completed' | 'failed' | 'cancelled';
4
+ export interface RestartBindingSnapshot {
5
+ id: string;
6
+ version: number;
7
+ generation: number;
8
+ sessionId: string;
9
+ workspace: string;
10
+ preset: string;
11
+ policyRef: string;
12
+ authorityHash: string;
13
+ conversation: ConversationRef;
14
+ principal: ExternalPrincipalKey;
15
+ }
16
+ export interface RestartTaskInput {
17
+ inboxId: string;
18
+ eventId: string;
19
+ binding: RestartBindingSnapshot;
20
+ owner: {
21
+ principalRecordId: string;
22
+ principalVersion: number;
23
+ };
24
+ /** The exact invocation that admitted the original foreground task. */
25
+ sourceInvocationId: string;
26
+ maxModelRequests: number;
27
+ maxToolCalls: number;
28
+ maxOutputTokens: number;
29
+ capabilityDigest: string;
30
+ deadline: number;
31
+ }
32
+ export interface RestartTask extends RestartTaskInput {
33
+ createdAt: number;
34
+ model?: ModelRouteRef;
35
+ modelRequests: number;
36
+ toolCalls: number;
37
+ }
38
+ export interface RestartCheckpoint {
39
+ sessionEventCount: number;
40
+ sessionDigest: string;
41
+ continuationMessageId: string;
42
+ continuationTextDigest: string;
43
+ }
44
+ export interface RestartRecord {
45
+ id: string;
46
+ inboxId: string;
47
+ requestKey: string;
48
+ reason: string;
49
+ status: RestartStatus;
50
+ sourceInvocationId: string;
51
+ restartInvocationId?: string;
52
+ restartHolderId?: string;
53
+ continuationHolderId?: string;
54
+ checkpoint?: RestartCheckpoint;
55
+ failureCode?: string;
56
+ createdAt: number;
57
+ updatedAt: number;
58
+ }
59
+ export type RestartStoreErrorCode = 'invalid' | 'conflict' | 'not-found' | 'deadline' | 'budget' | 'corrupt' | 'closed';
60
+ export declare class RestartStoreError extends Error {
61
+ readonly code: RestartStoreErrorCode;
62
+ constructor(code: RestartStoreErrorCode, message: string);
63
+ }
64
+ interface RestartStoreOptions {
65
+ path: string;
66
+ now?: () => number;
67
+ readOnly?: boolean;
68
+ }
69
+ export declare class RestartStore {
70
+ private readonly database;
71
+ private readonly now;
72
+ private readonly readOnly;
73
+ private closed;
74
+ constructor(options: RestartStoreOptions);
75
+ private assertOpen;
76
+ private write;
77
+ private task;
78
+ getTask(inboxId: string): RestartTask | undefined;
79
+ private ineligibility;
80
+ private markIneligibleWithinWrite;
81
+ markIneligible(inboxId: string, reason: string): void;
82
+ isEligible(inboxId: string): boolean;
83
+ beginTask(input: RestartTaskInput): RestartTask;
84
+ captureModel(inboxId: string, input: ModelRouteRef): RestartTask;
85
+ /** A supplier change ends recovery eligibility without interrupting normal work. */
86
+ observeModel(inboxId: string, input: ModelRouteRef): RestartTask;
87
+ /** Normal foreground calls are observed durably, even after recovery becomes impossible. */
88
+ observe(inboxId: string, kind: 'model' | 'tool', operationId: string): RestartTask;
89
+ /** A held request/tool reservation is never refunded after an unknown result. */
90
+ reserve(inboxId: string, kind: 'model' | 'tool', operationId: string): RestartTask;
91
+ private requestById;
92
+ getRequest(id: string): RestartRecord | undefined;
93
+ getRequestForTask(inboxId: string): RestartRecord | undefined;
94
+ request(inboxId: string, input: {
95
+ reason: string;
96
+ requestKey: string;
97
+ }): RestartRecord;
98
+ private event;
99
+ private transition;
100
+ checkpoint(id: string, input: RestartCheckpoint): RestartRecord;
101
+ ready(id: string): RestartRecord;
102
+ claimRestart(id: string, input: {
103
+ holderId: string;
104
+ invocationId: string;
105
+ }): RestartRecord;
106
+ /** Observation only: this never grants another restart dispatch. */
107
+ markRestarted(id: string, input: {
108
+ invocationId: string;
109
+ }): RestartRecord;
110
+ claimContinuation(id: string, input: {
111
+ holderId: string;
112
+ invocationId: string;
113
+ }): RestartRecord;
114
+ complete(id: string): RestartRecord;
115
+ fail(id: string, code: string): RestartRecord;
116
+ cancelForBinding(bindingId: string): RestartRecord[];
117
+ listRequests(input?: {
118
+ statuses?: readonly RestartStatus[];
119
+ limit?: number;
120
+ after?: {
121
+ createdAt: number;
122
+ id: string;
123
+ };
124
+ }): RestartRecord[];
125
+ /** Count durable restart dispatch claims for an external global circuit breaker. */
126
+ countDispatchedSince(sinceMs: number): number;
127
+ hasReservation(inboxId: string, kind: 'model' | 'tool', operationId: string): boolean;
128
+ activeRequestForBinding(bindingId: string): RestartRecord | undefined;
129
+ close(): void;
130
+ }
131
+ export {};
132
+ //# sourceMappingURL=restart-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restart-store.d.ts","sourceRoot":"","sources":["../src/restart-store.ts"],"names":[],"mappings":"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"}