@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.
- package/LICENSE +21 -0
- package/README.md +225 -0
- package/cordis.patch.yml +29 -0
- package/lib/agent-runtime.d.ts +112 -0
- package/lib/agent-runtime.d.ts.map +1 -0
- package/lib/agent-runtime.js +1866 -0
- package/lib/agent-runtime.js.map +1 -0
- package/lib/canonical.d.ts +18 -0
- package/lib/canonical.d.ts.map +1 -0
- package/lib/canonical.js +83 -0
- package/lib/canonical.js.map +1 -0
- package/lib/coordinator.d.ts +124 -0
- package/lib/coordinator.d.ts.map +1 -0
- package/lib/coordinator.js +676 -0
- package/lib/coordinator.js.map +1 -0
- package/lib/inbound-images.d.ts +38 -0
- package/lib/inbound-images.d.ts.map +1 -0
- package/lib/inbound-images.js +267 -0
- package/lib/inbound-images.js.map +1 -0
- package/lib/index.d.ts +12 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +12 -0
- package/lib/index.js.map +1 -0
- package/lib/operator.d.ts +23 -0
- package/lib/operator.d.ts.map +1 -0
- package/lib/operator.js +38 -0
- package/lib/operator.js.map +1 -0
- package/lib/service.d.ts +269 -0
- package/lib/service.d.ts.map +1 -0
- package/lib/service.js +1698 -0
- package/lib/service.js.map +1 -0
- package/lib/session-commands.d.ts +17 -0
- package/lib/session-commands.d.ts.map +1 -0
- package/lib/session-commands.js +39 -0
- package/lib/session-commands.js.map +1 -0
- package/lib/sqlite.d.ts +8 -0
- package/lib/sqlite.d.ts.map +1 -0
- package/lib/sqlite.js +411 -0
- package/lib/sqlite.js.map +1 -0
- package/lib/store.d.ts +353 -0
- package/lib/store.d.ts.map +1 -0
- package/lib/store.js +2614 -0
- package/lib/store.js.map +1 -0
- package/lib/tools.d.ts +4 -0
- package/lib/tools.d.ts.map +1 -0
- package/lib/tools.js +54 -0
- package/lib/tools.js.map +1 -0
- package/lib/types.d.ts +329 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +2 -0
- package/lib/types.js.map +1 -0
- package/lib/version.d.ts +2 -0
- package/lib/version.d.ts.map +1 -0
- package/lib/version.js +2 -0
- package/lib/version.js.map +1 -0
- package/package.json +122 -0
package/lib/service.d.ts
ADDED
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
import { Context, Service } from '@deepseek-ai/cordis';
|
|
2
|
+
import type { Agent } from '@deepseek-ai/dsh-agent';
|
|
3
|
+
import Schema from '@deepseek-ai/schemastery';
|
|
4
|
+
import { type ApprovalDispatchRoute, type AssistantPolicyService } from '@dsh-enhanced/assistant-policy';
|
|
5
|
+
import { type InboundMessageProcessor } from './coordinator.js';
|
|
6
|
+
import { DeliveryStore } from './store.js';
|
|
7
|
+
import type { ConversationBinding, DeliveryAdapter, ExternalPrincipalKey, InboundEnvelope, InboxRecord, ModelPickerIntent, ModelPickerState, ModelRouteRef, OutboxRecord, PairingChallenge, PermissionPickerIntent } from './types.js';
|
|
8
|
+
export interface Config {
|
|
9
|
+
databasePath: string;
|
|
10
|
+
spoolPath: string;
|
|
11
|
+
schedulerEnabled?: boolean;
|
|
12
|
+
tickIntervalMs?: number;
|
|
13
|
+
leaseMs?: number;
|
|
14
|
+
maxAttempts?: number;
|
|
15
|
+
maxConcurrency?: number;
|
|
16
|
+
maxTextBytes?: number;
|
|
17
|
+
retryBaseMs?: number;
|
|
18
|
+
retryMaxMs?: number;
|
|
19
|
+
pairingTtlMs?: number;
|
|
20
|
+
pairingMaxAttempts?: number;
|
|
21
|
+
defaultWorkspace?: string;
|
|
22
|
+
defaultAgentPreset?: string;
|
|
23
|
+
policyRef?: string;
|
|
24
|
+
agentProvider?: string;
|
|
25
|
+
agentModel?: string;
|
|
26
|
+
/** Audited native-tool routes whose upstream adapters do not publish registry metadata yet. */
|
|
27
|
+
toolCapableProviders?: string[];
|
|
28
|
+
/**
|
|
29
|
+
* How to admit a route that publishes no tool-call capability at all. The DSH
|
|
30
|
+
* `generate` contract accepts `tools` for every adapter, so `allow` matches
|
|
31
|
+
* that baseline; `deny` opts a deployment into strict allowlisting. A
|
|
32
|
+
* provider-owned `none` declaration always fails closed either way.
|
|
33
|
+
*/
|
|
34
|
+
unknownRouteToolCalls?: 'allow' | 'deny';
|
|
35
|
+
agentMaxOutputTokens?: number;
|
|
36
|
+
modelPickerTtlMs?: number;
|
|
37
|
+
permissionPickerTtlMs?: number;
|
|
38
|
+
toolApprovalTtlMs?: number;
|
|
39
|
+
}
|
|
40
|
+
export interface DeliveryInboundRuntime extends InboundMessageProcessor {
|
|
41
|
+
createSession(input: {
|
|
42
|
+
envelope: Readonly<InboundEnvelope>;
|
|
43
|
+
generation: number;
|
|
44
|
+
previous?: Readonly<ConversationBinding>;
|
|
45
|
+
signal: AbortSignal;
|
|
46
|
+
}): Promise<{
|
|
47
|
+
sessionId: string;
|
|
48
|
+
workspace: string;
|
|
49
|
+
agentPreset: string;
|
|
50
|
+
policyRef: string;
|
|
51
|
+
}>;
|
|
52
|
+
/** Immediate, process-local control path; it must never wait behind the binding's Inbox lane. */
|
|
53
|
+
cancelActive?(binding: Readonly<ConversationBinding>, cause: 'new' | 'stop'): boolean | Promise<boolean>;
|
|
54
|
+
}
|
|
55
|
+
export type AssistantDeliveryErrorCode = 'disposed' | 'missing-binding' | 'policy-denied' | 'runtime-conflict' | 'runtime-unavailable';
|
|
56
|
+
export declare class AssistantDeliveryError extends Error {
|
|
57
|
+
readonly code: AssistantDeliveryErrorCode;
|
|
58
|
+
constructor(code: AssistantDeliveryErrorCode, message: string);
|
|
59
|
+
}
|
|
60
|
+
declare module '@deepseek-ai/cordis' {
|
|
61
|
+
interface Context {
|
|
62
|
+
assistantDelivery: AssistantDeliveryService;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
type ModelSelectionResult = {
|
|
66
|
+
status: 'pending';
|
|
67
|
+
} | {
|
|
68
|
+
status: 'rejected';
|
|
69
|
+
reason: 'authorization-revoked' | 'invalid-effort' | 'model-unavailable' | 'provider-model-mismatch' | 'provider-unavailable' | 'selection-superseded';
|
|
70
|
+
} | {
|
|
71
|
+
status: 'selected';
|
|
72
|
+
selection: ModelRouteRef;
|
|
73
|
+
};
|
|
74
|
+
interface ApprovalSettlementInput {
|
|
75
|
+
operationId: string;
|
|
76
|
+
callbackEventId: string;
|
|
77
|
+
callbackChatId: string;
|
|
78
|
+
bindingId: string;
|
|
79
|
+
principal: ExternalPrincipalKey;
|
|
80
|
+
proposalId: string;
|
|
81
|
+
expectedVersion: number;
|
|
82
|
+
diffHash: string;
|
|
83
|
+
decision: 'approved' | 'rejected';
|
|
84
|
+
reason: string;
|
|
85
|
+
}
|
|
86
|
+
export declare class AssistantDeliveryService extends Service {
|
|
87
|
+
static Config: Schema<Config>;
|
|
88
|
+
private readonly deliveryStore;
|
|
89
|
+
private readonly policy;
|
|
90
|
+
private readonly registry;
|
|
91
|
+
private readonly outbound;
|
|
92
|
+
private readonly inbound;
|
|
93
|
+
private readonly config;
|
|
94
|
+
private readonly ownerId;
|
|
95
|
+
private readonly bindingFlights;
|
|
96
|
+
private readonly conversationTransitions;
|
|
97
|
+
private readonly agentApprovalBindings;
|
|
98
|
+
private readonly toolApprovalControllers;
|
|
99
|
+
private modelSelectionFlight;
|
|
100
|
+
private modelSelectionRetryTimer;
|
|
101
|
+
private runtime;
|
|
102
|
+
private timer;
|
|
103
|
+
private active;
|
|
104
|
+
constructor(ctx: Context, input: Config);
|
|
105
|
+
issuePairing(operatorId: string, principal: ExternalPrincipalKey): {
|
|
106
|
+
challenge: PairingChallenge;
|
|
107
|
+
code: string;
|
|
108
|
+
};
|
|
109
|
+
confirmPairing(input: {
|
|
110
|
+
challengeId: string;
|
|
111
|
+
principal: ExternalPrincipalKey;
|
|
112
|
+
code: string;
|
|
113
|
+
}): import("./types.js").DeliveryPrincipal;
|
|
114
|
+
linkPrincipal(input: {
|
|
115
|
+
operatorId: string;
|
|
116
|
+
owner: ExternalPrincipalKey;
|
|
117
|
+
linked: ExternalPrincipalKey;
|
|
118
|
+
expectedLinkedVersion: number;
|
|
119
|
+
}): import("./types.js").DeliveryPrincipal;
|
|
120
|
+
private validateApprovalSettlement;
|
|
121
|
+
settleApproval(input: ApprovalSettlementInput): ReturnType<AssistantPolicyService['decideProposal']>;
|
|
122
|
+
recoverApprovalSettlement(input: ApprovalSettlementInput): ReturnType<AssistantPolicyService['decideProposal']> | undefined;
|
|
123
|
+
settleModelSelection(input: {
|
|
124
|
+
operationId: string;
|
|
125
|
+
callbackEventId: string;
|
|
126
|
+
callbackChatId: string;
|
|
127
|
+
bindingId: string;
|
|
128
|
+
principal: ExternalPrincipalKey;
|
|
129
|
+
provider: string;
|
|
130
|
+
modelProvider: string;
|
|
131
|
+
model: string;
|
|
132
|
+
reasoningEffort?: string;
|
|
133
|
+
expectedRevision: number;
|
|
134
|
+
}): ModelSelectionResult;
|
|
135
|
+
advanceModelPickerForCallback(input: {
|
|
136
|
+
operationId: string;
|
|
137
|
+
callbackChatId: string;
|
|
138
|
+
bindingId: string;
|
|
139
|
+
principal: ExternalPrincipalKey;
|
|
140
|
+
expected: ModelPickerState;
|
|
141
|
+
next: ModelRouteRef;
|
|
142
|
+
}): {
|
|
143
|
+
applied: boolean;
|
|
144
|
+
state: ModelPickerState;
|
|
145
|
+
};
|
|
146
|
+
getModelPickerForCallback(input: {
|
|
147
|
+
operationId: string;
|
|
148
|
+
callbackChatId: string;
|
|
149
|
+
bindingId: string;
|
|
150
|
+
principal: ExternalPrincipalKey;
|
|
151
|
+
}): ModelPickerIntent | undefined;
|
|
152
|
+
settlePermissionSelection(input: {
|
|
153
|
+
operationId: string;
|
|
154
|
+
callbackEventId: string;
|
|
155
|
+
callbackChatId: string;
|
|
156
|
+
cardMessageId: string;
|
|
157
|
+
bindingId: string;
|
|
158
|
+
bindingVersion: number;
|
|
159
|
+
sessionId: string;
|
|
160
|
+
principal: ExternalPrincipalKey;
|
|
161
|
+
issuedAt: number;
|
|
162
|
+
expiresAt: number;
|
|
163
|
+
expectedStateHash: string;
|
|
164
|
+
emergencyStopVersion: number;
|
|
165
|
+
targetLevel: 'ask' | 'auto' | 'full';
|
|
166
|
+
}): Promise<{
|
|
167
|
+
duplicate: boolean;
|
|
168
|
+
inboxId: string;
|
|
169
|
+
status: InboxRecord['status'];
|
|
170
|
+
}>;
|
|
171
|
+
resolveDeadLetter(input: {
|
|
172
|
+
operatorId: string;
|
|
173
|
+
kind: 'inbox' | 'outbox';
|
|
174
|
+
id: string;
|
|
175
|
+
expectedAttemptCount: number;
|
|
176
|
+
resolution: 'cancel' | 'retry';
|
|
177
|
+
}): InboxRecord | OutboxRecord;
|
|
178
|
+
registerInboundRuntime(runtime: DeliveryInboundRuntime): () => void;
|
|
179
|
+
registerAdapter(adapter: DeliveryAdapter): Promise<() => Promise<void>>;
|
|
180
|
+
health(): ReturnType<DeliveryStore['health']> & {
|
|
181
|
+
adapters: number;
|
|
182
|
+
};
|
|
183
|
+
private isInboundAuthorized;
|
|
184
|
+
private isPermissionController;
|
|
185
|
+
private authorizePermissionReply;
|
|
186
|
+
/**
|
|
187
|
+
* Provider event ids are scoped to an adapter account, while Outbox and the
|
|
188
|
+
* Policy ledger share one database-wide idempotency namespace. Anchor every
|
|
189
|
+
* command reply to the accepted Inbox row, whose id is stable across reopen.
|
|
190
|
+
*/
|
|
191
|
+
private inboundReplyIdempotencyKey;
|
|
192
|
+
private hasActivePrincipal;
|
|
193
|
+
private toolApprovalRoute;
|
|
194
|
+
private resolveToolApprovalAuthority;
|
|
195
|
+
private requestToolApproval;
|
|
196
|
+
acceptInbound(envelope: InboundEnvelope): Promise<{
|
|
197
|
+
duplicate: boolean;
|
|
198
|
+
inboxId: string;
|
|
199
|
+
status: InboxRecord['status'];
|
|
200
|
+
}>;
|
|
201
|
+
enqueueBackground(input: {
|
|
202
|
+
sourceId: string;
|
|
203
|
+
workspace: string;
|
|
204
|
+
bindingId: string;
|
|
205
|
+
idempotencyKey: string;
|
|
206
|
+
text: string;
|
|
207
|
+
format?: 'markdown' | 'plain';
|
|
208
|
+
}): OutboxRecord;
|
|
209
|
+
enqueueApproval(input: {
|
|
210
|
+
sourceId: string;
|
|
211
|
+
workspace: string;
|
|
212
|
+
bindingId: string;
|
|
213
|
+
idempotencyKey: string;
|
|
214
|
+
text: string;
|
|
215
|
+
approval: NonNullable<import('./types.js').OutboundIntent['approval']>;
|
|
216
|
+
}): OutboxRecord;
|
|
217
|
+
private replyCommand;
|
|
218
|
+
/**
|
|
219
|
+
* Answers are authored as Markdown, but the coordinator drops an intent whose format the adapter
|
|
220
|
+
* does not declare (`unsupported-format`). Ask for Markdown only where the channel renders it and
|
|
221
|
+
* degrade to plain text elsewhere, so a reply is never lost to a capability mismatch.
|
|
222
|
+
*/
|
|
223
|
+
private replyFormat;
|
|
224
|
+
reply(agent: Agent | undefined, input: {
|
|
225
|
+
idempotencyKey: string;
|
|
226
|
+
text: string;
|
|
227
|
+
format?: 'markdown' | 'model-picker' | 'permission-picker' | 'plain';
|
|
228
|
+
modelPicker?: ModelPickerIntent;
|
|
229
|
+
permissionPicker?: PermissionPickerIntent;
|
|
230
|
+
replyToEventId?: string;
|
|
231
|
+
}): OutboxRecord;
|
|
232
|
+
history(agent: Agent | undefined, input: {
|
|
233
|
+
limit?: number;
|
|
234
|
+
}): {
|
|
235
|
+
binding: ConversationBinding;
|
|
236
|
+
inbox: InboxRecord[];
|
|
237
|
+
outbox: OutboxRecord[];
|
|
238
|
+
};
|
|
239
|
+
bindAgentApprovalRoute(agent: Agent | undefined, input: {
|
|
240
|
+
bindingId: string;
|
|
241
|
+
}): () => void;
|
|
242
|
+
prepareAgentApproval(agent: Agent | undefined, input: {
|
|
243
|
+
sourceId: string;
|
|
244
|
+
}): ApprovalDispatchRoute;
|
|
245
|
+
tick(): Promise<void>;
|
|
246
|
+
whenIdle(): Promise<void>;
|
|
247
|
+
start(): void;
|
|
248
|
+
stop(): Promise<void>;
|
|
249
|
+
private ensureBinding;
|
|
250
|
+
private bindingForInbound;
|
|
251
|
+
/**
|
|
252
|
+
* Finish admissions that survived a process exit before their queue/rotate
|
|
253
|
+
* commit. The provider need not retransmit them: any later message in the
|
|
254
|
+
* same conversation first drives every older received row forward in its
|
|
255
|
+
* original durable Inbox order. This includes ordinary messages that were
|
|
256
|
+
* already persisted behind a blocked `/stop` or `/new` transition.
|
|
257
|
+
*/
|
|
258
|
+
private recoverPendingInbound;
|
|
259
|
+
private runConversationTransition;
|
|
260
|
+
private rotateBinding;
|
|
261
|
+
private stopInternal;
|
|
262
|
+
private drainApprovalDispatches;
|
|
263
|
+
private drainModelSelectionSettlements;
|
|
264
|
+
private runModelSelectionSettlements;
|
|
265
|
+
private assertActive;
|
|
266
|
+
}
|
|
267
|
+
export declare const Config: Schema<Config>;
|
|
268
|
+
export {};
|
|
269
|
+
//# sourceMappingURL=service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|