@dsh-enhanced/assistant-delivery 0.1.7 → 0.1.12

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 (59) hide show
  1. package/README.md +89 -10
  2. package/cordis.patch.yml +1 -0
  3. package/lib/agent-runtime.d.ts +18 -4
  4. package/lib/agent-runtime.d.ts.map +1 -1
  5. package/lib/agent-runtime.js +240 -14
  6. package/lib/agent-runtime.js.map +1 -1
  7. package/lib/canonical.d.ts +11 -1
  8. package/lib/canonical.d.ts.map +1 -1
  9. package/lib/canonical.js +107 -0
  10. package/lib/canonical.js.map +1 -1
  11. package/lib/coordinator.d.ts +3 -1
  12. package/lib/coordinator.d.ts.map +1 -1
  13. package/lib/coordinator.js +49 -21
  14. package/lib/coordinator.js.map +1 -1
  15. package/lib/feedback-command.d.ts +48 -2
  16. package/lib/feedback-command.d.ts.map +1 -1
  17. package/lib/feedback-command.js +226 -10
  18. package/lib/feedback-command.js.map +1 -1
  19. package/lib/index.d.ts +4 -3
  20. package/lib/index.d.ts.map +1 -1
  21. package/lib/index.js +4 -3
  22. package/lib/index.js.map +1 -1
  23. package/lib/learning-command.d.ts +40 -0
  24. package/lib/learning-command.d.ts.map +1 -0
  25. package/lib/learning-command.js +57 -0
  26. package/lib/learning-command.js.map +1 -0
  27. package/lib/service.d.ts +142 -10
  28. package/lib/service.d.ts.map +1 -1
  29. package/lib/service.js +1841 -62
  30. package/lib/service.js.map +1 -1
  31. package/lib/session-commands.d.ts +14 -0
  32. package/lib/session-commands.d.ts.map +1 -1
  33. package/lib/session-commands.js +30 -0
  34. package/lib/session-commands.js.map +1 -1
  35. package/lib/sqlite.d.ts +1 -1
  36. package/lib/sqlite.d.ts.map +1 -1
  37. package/lib/sqlite.js +648 -20
  38. package/lib/sqlite.js.map +1 -1
  39. package/lib/store.d.ts +375 -3
  40. package/lib/store.d.ts.map +1 -1
  41. package/lib/store.js +2956 -74
  42. package/lib/store.js.map +1 -1
  43. package/lib/types.d.ts +364 -2
  44. package/lib/types.d.ts.map +1 -1
  45. package/lib/types.js +9 -1
  46. package/lib/types.js.map +1 -1
  47. package/lib/version.d.ts +1 -1
  48. package/lib/version.d.ts.map +1 -1
  49. package/lib/version.js +1 -1
  50. package/lib/version.js.map +1 -1
  51. package/lib/workflow-auto-producer.d.ts +37 -0
  52. package/lib/workflow-auto-producer.d.ts.map +1 -0
  53. package/lib/workflow-auto-producer.js +58 -0
  54. package/lib/workflow-auto-producer.js.map +1 -0
  55. package/lib/workflow-command.d.ts +16 -0
  56. package/lib/workflow-command.d.ts.map +1 -0
  57. package/lib/workflow-command.js +52 -0
  58. package/lib/workflow-command.js.map +1 -0
  59. package/package.json +23 -3
@@ -1,6 +1,6 @@
1
1
  import type { ImageAttachmentRef } from '@deepseek-ai/dsh-attachment';
2
2
  import { type PermissionDispatchRecovery } from './session-commands.js';
3
- import { type DeliveryStore } from './store.js';
3
+ import { type DeliveryStore, type OwnerRouteDispatchGuard } from './store.js';
4
4
  import type { DeliveryAdapter, DeliveryAdapterContext, ConversationBinding, InboundEnvelope, ModelRouteRef } from './types.js';
5
5
  export declare class DeliveryAdapterRegistry {
6
6
  private readonly context;
@@ -29,6 +29,8 @@ interface DeliveryCoordinatorOptions {
29
29
  maxConcurrency: number;
30
30
  retryBaseMs: number;
31
31
  retryMaxMs: number;
32
+ /** Host-owned route authority and exact Policy recheck used at claim and immediately before send. */
33
+ ownerRouteGuard?: Readonly<OwnerRouteDispatchGuard>;
32
34
  tickIntervalMs?: number;
33
35
  now?: () => number;
34
36
  random?: () => number;
@@ -1 +1 @@
1
- {"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { permissionDispatchRecoveryFromFailureCode, } from './session-commands.js';
2
- import { DeliveryStoreError } from './store.js';
1
+ import { isFeedbackDispatchRecoveryCode, isFeedbackRetryableFailureCode, isLearningDispatchRecoveryCode, isLearningRetryableFailureCode, isWorkflowDispatchRecoveryCode, permissionDispatchRecoveryFromFailureCode, } from './session-commands.js';
2
+ import { DeliveryStoreError, } from './store.js';
3
3
  function adapterKey(channel, account) {
4
4
  return JSON.stringify([channel, account]);
5
5
  }
@@ -201,6 +201,7 @@ export class DeliveryCoordinator {
201
201
  maxAttempts: this.options.maxAttempts,
202
202
  unknownReconcileRoutes: this.options.registry.reconcilableUnknownRoutes(),
203
203
  excludeIds: [...this.active.keys()],
204
+ ...(this.options.ownerRouteGuard === undefined ? {} : { ownerRouteGuard: this.options.ownerRouteGuard }),
204
205
  });
205
206
  for (const claim of claims) {
206
207
  const abort = new AbortController();
@@ -294,31 +295,48 @@ export class DeliveryCoordinator {
294
295
  }
295
296
  return;
296
297
  }
297
- const binding = this.options.store.getBinding(record.intent.bindingId);
298
- if (binding?.status !== 'active') {
299
- this.finish(record, fencingToken, { outcome: 'not-sent', failureCode: 'binding-revoked', retryable: false });
300
- return;
301
- }
302
- if (!sameConversation(binding.conversation, record.intent.target.conversation)
303
- || !samePrincipal(binding.principal, record.intent.target.principal)) {
298
+ const ownerRoute = this.options.ownerRouteGuard === undefined
299
+ ? { kind: 'not-route' }
300
+ : this.options.store.validateClaimedOwnerRoute(record, this.options.ownerRouteGuard);
301
+ if (ownerRoute.kind === 'denied') {
304
302
  this.finish(record, fencingToken, {
305
- outcome: 'not-sent', failureCode: 'binding-target-mismatch', retryable: false,
303
+ outcome: 'not-sent', failureCode: ownerRoute.failureCode, retryable: false,
306
304
  });
307
305
  return;
308
306
  }
309
- let authorized;
310
- try {
311
- authorized = this.options.store.isAuthorizedPrincipal(binding.principal);
312
- }
313
- catch {
307
+ if (ownerRoute.kind === 'deferred') {
314
308
  this.finish(record, fencingToken, {
315
- outcome: 'not-sent', failureCode: 'principal-authorization-check-failed', retryable: true,
309
+ outcome: 'not-sent', failureCode: ownerRoute.failureCode, retryable: true,
316
310
  });
317
311
  return;
318
312
  }
319
- if (!authorized) {
320
- this.finish(record, fencingToken, { outcome: 'not-sent', failureCode: 'principal-revoked', retryable: false });
321
- return;
313
+ if (ownerRoute.kind === 'not-route') {
314
+ const binding = this.options.store.getBinding(record.intent.bindingId);
315
+ if (binding?.status !== 'active') {
316
+ this.finish(record, fencingToken, { outcome: 'not-sent', failureCode: 'binding-revoked', retryable: false });
317
+ return;
318
+ }
319
+ if (!sameConversation(binding.conversation, record.intent.target.conversation)
320
+ || !samePrincipal(binding.principal, record.intent.target.principal)) {
321
+ this.finish(record, fencingToken, {
322
+ outcome: 'not-sent', failureCode: 'binding-target-mismatch', retryable: false,
323
+ });
324
+ return;
325
+ }
326
+ let authorized;
327
+ try {
328
+ authorized = this.options.store.isAuthorizedPrincipal(binding.principal);
329
+ }
330
+ catch {
331
+ this.finish(record, fencingToken, {
332
+ outcome: 'not-sent', failureCode: 'principal-authorization-check-failed', retryable: true,
333
+ });
334
+ return;
335
+ }
336
+ if (!authorized) {
337
+ this.finish(record, fencingToken, { outcome: 'not-sent', failureCode: 'principal-revoked', retryable: false });
338
+ return;
339
+ }
322
340
  }
323
341
  try {
324
342
  const result = await adapter.send(record.intent, signal);
@@ -360,7 +378,12 @@ export class DeliveryCoordinator {
360
378
  return;
361
379
  }
362
380
  if (result.outcome === 'not-sent') {
363
- this.finish(record, fencingToken, { outcome: 'not-sent', failureCode: 'reconciled-not-sent', retryable: true });
381
+ const ownerRoute = record.intent.metadata?.['dsh.route.authority'] !== undefined;
382
+ this.finish(record, fencingToken, {
383
+ outcome: 'not-sent',
384
+ failureCode: ownerRoute ? 'owner-route-reconciled-not-sent' : 'reconciled-not-sent',
385
+ retryable: !ownerRoute,
386
+ });
364
387
  return;
365
388
  }
366
389
  this.options.store.finishOutbox({ outboxId: record.id, ownerId: this.options.ownerId, fencingToken,
@@ -646,7 +669,12 @@ export class InboundCoordinator {
646
669
  return;
647
670
  }
648
671
  if (dispatchMarked && result.outcome !== 'processed') {
649
- if (permissionDispatchRecoveryFromFailureCode(result.failureCode) !== undefined) {
672
+ if (permissionDispatchRecoveryFromFailureCode(result.failureCode) !== undefined
673
+ || isFeedbackDispatchRecoveryCode(result.failureCode)
674
+ || isFeedbackRetryableFailureCode(result.failureCode)
675
+ || isLearningDispatchRecoveryCode(result.failureCode)
676
+ || isLearningRetryableFailureCode(result.failureCode)
677
+ || isWorkflowDispatchRecoveryCode(result.failureCode)) {
650
678
  this.finishInbound(inboxId, fencingToken, result);
651
679
  return;
652
680
  }
@@ -1 +1 @@
1
- {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,60 @@
1
1
  import type { ConversationBinding, DeliveryPreferenceFeedback, DeliveryPreferenceSelection, InboundEnvelope } from './types.js';
2
- export type FeedbackSignalSelection = DeliveryPreferenceSelection;
2
+ export type FeedbackSignalSelection = DeliveryPreferenceSelection & Readonly<{
3
+ interpretationTrust?: 'explicit-selection' | 'typed-feedback';
4
+ }>;
5
+ export type ObjectiveFeedbackStatus = 'achieved' | 'partial' | 'not-achieved';
6
+ export type NaturalPreferenceSelection = Extract<FeedbackSignalSelection, {
7
+ preferenceKey: 'response.language' | 'response.structure' | 'response.verbosity';
8
+ }>;
9
+ /**
10
+ * A closed classification boundary for natural-language presentation requests.
11
+ * Only `ordinary-content` is safe to reuse as implicit language evidence.
12
+ */
13
+ export type NaturalPreferenceDirectiveClassification = Readonly<{
14
+ kind: 'durable-exact-selection';
15
+ selection: NaturalPreferenceSelection;
16
+ }> | Readonly<{
17
+ kind: 'one-turn-directive';
18
+ }> | Readonly<{
19
+ kind: 'ambiguous-or-unsupported-directive';
20
+ }> | Readonly<{
21
+ kind: 'ordinary-content';
22
+ }>;
3
23
  export type ParsedFeedbackCommand = {
4
24
  kind: 'invalid';
5
25
  } | {
6
26
  kind: 'signals';
7
27
  selections: readonly FeedbackSignalSelection[];
28
+ } | {
29
+ kind: 'objective';
30
+ objectiveStatus: ObjectiveFeedbackStatus;
8
31
  };
9
32
  export declare const feedbackUsage: string;
10
33
  /** Parse a closed, typed grammar. No caller-provided text crosses this boundary. */
11
34
  export declare function parseFeedbackCommand(rawInput: string): ParsedFeedbackCommand;
12
35
  /** Build the exact Host-attested payload accepted by Preference Learning. */
13
- export declare function feedbackSignalInput(binding: Readonly<ConversationBinding>, envelope: Readonly<InboundEnvelope>, selection: Readonly<FeedbackSignalSelection>, receivedAt: number): DeliveryPreferenceFeedback;
36
+ export declare function feedbackSignalInput(binding: Readonly<ConversationBinding>, envelope: Readonly<InboundEnvelope>, selection: Readonly<FeedbackSignalSelection>, authorization: Readonly<{
37
+ occurredAt: number;
38
+ principalLineage: Readonly<import('./types.js').DeliveryOwnerLineage>;
39
+ admissionCursor?: Readonly<import('./types.js').DeliveryAdmissionCursor>;
40
+ exposureTarget?: Readonly<{
41
+ sourceInboxId: string;
42
+ sourceOutboxId: string;
43
+ }>;
44
+ }>): DeliveryPreferenceFeedback;
45
+ /**
46
+ * Deterministic local language classifier. It never emits the source text and
47
+ * deliberately abstains for short or genuinely mixed messages.
48
+ */
49
+ export declare function observedResponseLanguage(text: string): 'zh-CN' | 'en' | undefined;
50
+ /**
51
+ * Classify a whole user message without interpreting arbitrary prose. Exact
52
+ * supported directives are separated from directive-like mixtures; callers
53
+ * must admit implicit behavior evidence only for `ordinary-content`.
54
+ */
55
+ export declare function classifyNaturalPreferenceDirective(text: string): NaturalPreferenceDirectiveClassification;
56
+ /** Closed whole-message grammar; quoted prose, code, multiline, and long text abstain. */
57
+ export declare function parseNaturalPreferenceCorrection(text: string): NaturalPreferenceSelection | undefined;
58
+ /** One-turn style requests must not become durable preferences or opposite language evidence. */
59
+ export declare function isOneShotPreferenceRequest(text: string): boolean;
14
60
  //# sourceMappingURL=feedback-command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feedback-command.d.ts","sourceRoot":"","sources":["../src/feedback-command.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,eAAe,EAChB,MAAM,YAAY,CAAA;AAEnB,MAAM,MAAM,uBAAuB,GAAG,2BAA2B,CAAA;AAEjE,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,SAAS,uBAAuB,EAAE,CAAA;CAAE,CAAA;AA0CvE,eAAO,MAAM,aAAa,QAWd,CAAA;AAEZ,oFAAoF;AACpF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,CAmC5E;AA0BD,6EAA6E;AAC7E,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EACtC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,EACnC,SAAS,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EAC5C,UAAU,EAAE,MAAM,GACjB,0BAA0B,CAW5B"}
1
+ {"version":3,"file":"feedback-command.d.ts","sourceRoot":"","sources":["../src/feedback-command.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,eAAe,EAChB,MAAM,YAAY,CAAA;AAGnB,MAAM,MAAM,uBAAuB,GAAG,2BAA2B,GAAG,QAAQ,CAAC;IAC3E,mBAAmB,CAAC,EAAE,oBAAoB,GAAG,gBAAgB,CAAA;CAC9D,CAAC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,UAAU,GAAG,SAAS,GAAG,cAAc,CAAA;AAE7E,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC,uBAAuB,EAAE;IACxE,aAAa,EAAE,mBAAmB,GAAG,oBAAoB,GAAG,oBAAoB,CAAA;CACjF,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,MAAM,wCAAwC,GAChD,QAAQ,CAAC;IAAE,IAAI,EAAE,yBAAyB,CAAC;IAAC,SAAS,EAAE,0BAA0B,CAAA;CAAE,CAAC,GACpF,QAAQ,CAAC;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,CAAC,GACxC,QAAQ,CAAC;IAAE,IAAI,EAAE,oCAAoC,CAAA;CAAE,CAAC,GACxD,QAAQ,CAAC;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAAA;AAE1C,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,SAAS,uBAAuB,EAAE,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,eAAe,EAAE,uBAAuB,CAAA;CAAE,CAAA;AAgDnE,eAAO,MAAM,aAAa,QAad,CAAA;AAEZ,oFAAoF;AACpF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,CA8C5E;AAiCD,6EAA6E;AAC7E,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EACtC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,EACnC,SAAS,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EAC5C,aAAa,EAAE,QAAQ,CAAC;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,QAAQ,CAAC,OAAO,YAAY,EAAE,oBAAoB,CAAC,CAAA;IACrE,eAAe,CAAC,EAAE,QAAQ,CAAC,OAAO,YAAY,EAAE,uBAAuB,CAAC,CAAA;IACxE,cAAc,CAAC,EAAE,QAAQ,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC7E,CAAC,GACD,0BAA0B,CA0B5B;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAUjF;AA6JD;;;;GAIG;AACH,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,MAAM,GACX,wCAAwC,CAQ1C;AAED,0FAA0F;AAC1F,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS,CAKrG;AAED,iGAAiG;AACjG,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhE"}