@lemoncat7/dsh-partner 2.7.4 → 2.8.0

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 (111) hide show
  1. package/README.md +3 -1
  2. package/docs/lifecycle-recovery.md +17 -0
  3. package/docs/releases/2.7.5.md +9 -0
  4. package/docs/releases/2.8.0.md +13 -0
  5. package/docs/weixin-recovery.md +14 -0
  6. package/lib/agent-runtime.d.ts.map +1 -1
  7. package/lib/agent-runtime.js +6 -3
  8. package/lib/agent-runtime.js.map +1 -1
  9. package/lib/api.js +6 -2
  10. package/lib/api.js.map +1 -1
  11. package/lib/attachments/service.js +1 -1
  12. package/lib/attachments/service.js.map +1 -1
  13. package/lib/attachments/tool.d.ts.map +1 -1
  14. package/lib/attachments/tool.js +4 -2
  15. package/lib/attachments/tool.js.map +1 -1
  16. package/lib/channel-message.d.ts +2 -0
  17. package/lib/channel-message.d.ts.map +1 -1
  18. package/lib/channel-message.js.map +1 -1
  19. package/lib/channels/delivery-policy.d.ts +2 -0
  20. package/lib/channels/delivery-policy.d.ts.map +1 -1
  21. package/lib/channels/delivery-policy.js +6 -0
  22. package/lib/channels/delivery-policy.js.map +1 -1
  23. package/lib/channels/manager.d.ts.map +1 -1
  24. package/lib/channels/manager.js +16 -12
  25. package/lib/channels/manager.js.map +1 -1
  26. package/lib/channels/notification-delivery.d.ts.map +1 -1
  27. package/lib/channels/notification-delivery.js +15 -1
  28. package/lib/channels/notification-delivery.js.map +1 -1
  29. package/lib/channels/question-origin.d.ts.map +1 -1
  30. package/lib/channels/question-origin.js +3 -1
  31. package/lib/channels/question-origin.js.map +1 -1
  32. package/lib/channels/weixin/connect.d.ts.map +1 -1
  33. package/lib/channels/weixin/connect.js +10 -5
  34. package/lib/channels/weixin/connect.js.map +1 -1
  35. package/lib/channels/weixin/login.d.ts +2 -1
  36. package/lib/channels/weixin/login.d.ts.map +1 -1
  37. package/lib/channels/weixin/login.js +2 -1
  38. package/lib/channels/weixin/login.js.map +1 -1
  39. package/lib/client.js +42 -3
  40. package/lib/client.js.map +2 -2
  41. package/lib/collaboration/composition.d.ts.map +1 -1
  42. package/lib/collaboration/composition.js +10 -2
  43. package/lib/collaboration/composition.js.map +1 -1
  44. package/lib/concern-domain.d.ts.map +1 -1
  45. package/lib/concern-domain.js +4 -0
  46. package/lib/concern-domain.js.map +1 -1
  47. package/lib/concern-management-tool.d.ts +6 -0
  48. package/lib/concern-management-tool.d.ts.map +1 -0
  49. package/lib/concern-management-tool.js +45 -0
  50. package/lib/concern-management-tool.js.map +1 -0
  51. package/lib/concern-store.d.ts +3 -1
  52. package/lib/concern-store.d.ts.map +1 -1
  53. package/lib/concern-store.js +11 -1
  54. package/lib/concern-store.js.map +1 -1
  55. package/lib/concern-tool.d.ts.map +1 -1
  56. package/lib/concern-tool.js +14 -4
  57. package/lib/concern-tool.js.map +1 -1
  58. package/lib/index.d.ts.map +1 -1
  59. package/lib/index.js +19 -1
  60. package/lib/index.js.map +1 -1
  61. package/lib/memory-reflection.js +1 -1
  62. package/lib/requirements/attachments.d.ts +1 -1
  63. package/lib/requirements/attachments.d.ts.map +1 -1
  64. package/lib/requirements/attachments.js +4 -2
  65. package/lib/requirements/attachments.js.map +1 -1
  66. package/lib/requirements/domain.d.ts +8 -0
  67. package/lib/requirements/domain.d.ts.map +1 -1
  68. package/lib/requirements/progress.d.ts +2 -0
  69. package/lib/requirements/progress.d.ts.map +1 -1
  70. package/lib/requirements/progress.js +28 -0
  71. package/lib/requirements/progress.js.map +1 -1
  72. package/lib/requirements/service.d.ts +1 -0
  73. package/lib/requirements/service.d.ts.map +1 -1
  74. package/lib/requirements/service.js +21 -0
  75. package/lib/requirements/service.js.map +1 -1
  76. package/lib/requirements/tool.d.ts.map +1 -1
  77. package/lib/requirements/tool.js +11 -3
  78. package/lib/requirements/tool.js.map +1 -1
  79. package/lib/requirements/worker.d.ts.map +1 -1
  80. package/lib/requirements/worker.js +26 -6
  81. package/lib/requirements/worker.js.map +1 -1
  82. package/lib/scheduler/channel-origin.js +2 -2
  83. package/lib/scheduler/channel-origin.js.map +1 -1
  84. package/lib/scheduler/cleanup.d.ts +4 -0
  85. package/lib/scheduler/cleanup.d.ts.map +1 -0
  86. package/lib/scheduler/cleanup.js +25 -0
  87. package/lib/scheduler/cleanup.js.map +1 -0
  88. package/lib/scheduler/domain.d.ts +2 -0
  89. package/lib/scheduler/domain.d.ts.map +1 -1
  90. package/lib/scheduler/service.d.ts +1 -0
  91. package/lib/scheduler/service.d.ts.map +1 -1
  92. package/lib/scheduler/service.js +21 -1
  93. package/lib/scheduler/service.js.map +1 -1
  94. package/lib/tasks/blocked-recovery.d.ts +27 -0
  95. package/lib/tasks/blocked-recovery.d.ts.map +1 -0
  96. package/lib/tasks/blocked-recovery.js +110 -0
  97. package/lib/tasks/blocked-recovery.js.map +1 -0
  98. package/lib/tasks/domain.d.ts +9 -0
  99. package/lib/tasks/domain.d.ts.map +1 -1
  100. package/lib/tasks/scheduling.d.ts.map +1 -1
  101. package/lib/tasks/scheduling.js +6 -2
  102. package/lib/tasks/scheduling.js.map +1 -1
  103. package/lib/tasks/service.d.ts +9 -0
  104. package/lib/tasks/service.d.ts.map +1 -1
  105. package/lib/tasks/service.js +9 -2
  106. package/lib/tasks/service.js.map +1 -1
  107. package/lib/tasks/workflow-error.d.ts +1 -0
  108. package/lib/tasks/workflow-error.d.ts.map +1 -1
  109. package/lib/tasks/workflow-error.js +1 -0
  110. package/lib/tasks/workflow-error.js.map +1 -1
  111. package/package.json +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/requirements/progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAIxC,gGAAgG;AAChG,MAAM,UAAU,sBAAsB,CAAC,KAAmB,EAAE,IAAsB;IAChF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3G,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC7F,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACpJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,iBAAiB,CAAC,KAAmB,EAAE,IAAsB;IAC3E,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,EAAE,CAAC,CAAA;IAClE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;QAAE,OAAO,KAAK,CAAA;IACjG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACzC,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IAC5G,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/requirements/progress.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export { RequirementError } from './revisions.js';
6
6
  export declare class RequirementService {
7
7
  private readonly store;
8
8
  constructor(store: PartnerStore);
9
+ prepareDelivery(id: string, revision: number, summary: string, attachmentIds: unknown, actor: TaskActor): Promise<BoardRequirement>;
9
10
  submitPlan(value: unknown, actor: TaskActor, sessionId?: string): Promise<import("./plan.js").PlanResult>;
10
11
  list(): BoardRequirement[];
11
12
  require(id: string): BoardRequirement;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/requirements/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAQnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,YAAY;IAChD,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM;IAC/D,IAAI,IAAI,gBAAgB,EAAE;IAC1B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB;IAK/B,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAYvF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQjF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAwBjG,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAU/F,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAclG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IASlG,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YASxB,MAAM;CAYrB"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/requirements/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAQnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,YAAY;IAC1C,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgBzI,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM;IAC/D,IAAI,IAAI,gBAAgB,EAAE;IAC1B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB;IAK/B,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAYvF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQjF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAwBjG,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAU/F,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAelG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IASlG,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YASxB,MAAM;CAYrB"}
@@ -12,6 +12,26 @@ export class RequirementService {
12
12
  constructor(store) {
13
13
  this.store = store;
14
14
  }
15
+ async prepareDelivery(id, revision, summary, attachmentIds, actor) {
16
+ const text = requiredMarkdown(summary, 'summary', 12000);
17
+ if (!Array.isArray(attachmentIds) || attachmentIds.length > 50 || attachmentIds.some(id => typeof id !== 'string'))
18
+ throw new Error('attachmentIds 必须是最多 50 项的附件 ID 数组;无附件用 []');
19
+ let result;
20
+ await this.store.update(state => {
21
+ const item = state.requirements?.find(r => r.id === id);
22
+ if (!item || item.ownerCompanionId !== actor.companionId)
23
+ throw new Error('只有需求负责人能提交最终交付清单');
24
+ if (item.revision !== revision)
25
+ throw new Error('需求已变化,请重新读取后整理交付');
26
+ const tasks = item.status === 'done' && item.results ? item.results : state.tasks.filter(t => t.requirementId === id && t.status === 'done');
27
+ const available = new Set(tasks.flatMap(t => t.resultAttachmentIds ?? []));
28
+ if (attachmentIds.some(id => !available.has(id)))
29
+ throw new Error('只能选择本需求已验收任务正式提交的附件;不能交付中间产物或其他需求文件');
30
+ item.deliveryDraft = { progressKey: requirementProgressKey(state, item), summary: text, attachmentIds: [...new Set(attachmentIds)] };
31
+ result = structuredClone(item);
32
+ });
33
+ return result;
34
+ }
15
35
  submitPlan(value, actor, sessionId) { return submitRequirementPlan(this.store, value, actor, sessionId); }
16
36
  list() { return this.store.snapshot().requirements ?? []; }
17
37
  require(id) {
@@ -108,6 +128,7 @@ export class RequirementService {
108
128
  if (input.description !== undefined)
109
129
  item.description = optionalText(input.description, 'description', 8000) ?? '';
110
130
  item.reportBaselineKey = requirementProgressKey(this.store.snapshot(), item);
131
+ delete item.deliveryDraft;
111
132
  item.status = 'planning';
112
133
  delete item.lastError;
113
134
  delete item.nextAttemptAt;
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/requirements/service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAG5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACxG,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,MAAM,OAAO,kBAAkB;IACA;IAA7B,YAA6B,KAAmB;QAAnB,UAAK,GAAL,KAAK,CAAc;IAAG,CAAC;IACpD,UAAU,CAAC,KAAc,EAAE,KAAgB,EAAE,SAAkB,IAAI,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA,CAAC,CAAC;IACtI,IAAI,KAAyB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,YAAY,IAAI,EAAE,CAAA,CAAC,CAAC;IAC9E,OAAO,CAAC,EAAU;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACrD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAA;QAC7D,OAAO,IAAI,CAAA;IACb,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,KAAc,EAAE,KAAgB,EAAE,SAAkB;QAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,IAAI,YAAY,CAAC,KAAK,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,CAAC,CAAA;QAChG,MAAM,IAAI,GAAG,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;QACpJ,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC9B,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;YACrG,KAAK,CAAC,YAAY,KAAK,EAAE,CAAA;YACzB,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,IAAI,GAAG;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAA;YAC5F,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,QAAgB,EAAE,KAAgB;QACzD,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACtD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAA;YACtE,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAA;YACxF,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;YACnE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;QACxB,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,QAAgB,EAAE,KAAc,EAAE,KAAgB;QACzE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;QAC1C,IAAI,MAAyB,CAAA;QAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;YACvD,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YACnD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,WAAW;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;YAC1H,yBAAyB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YACzC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,sCAAsC,CAAC,CAAA;YACnG,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;YAC9F,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;YACnI,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC7D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBAAC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;gBAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;gBAAC,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACpH,OAAO,IAAI,CAAC,SAAS,CAAC;gBAAC,OAAO,IAAI,CAAC,aAAa,CAAA;gBAChD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,EAAE,CAAC,EAAE,CAAC;oBACnE,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,wBAAwB,CAAC,CAAA;oBACzD,IAAI,CAAC,WAAW,GAAG,CAAC,CAAA;oBACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBAC9C,CAAC;YACH,CAAC;YACD,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,QAAgB,EAAE,KAAyB;QACvE,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE;YACxD,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;YAC3E,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;YACrH,IAAI,KAAK;gBAAE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAA;;gBACnC,OAAO,IAAI,CAAC,gBAAgB,CAAA;YACjC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;YACpD,OAAO,IAAI,CAAC,SAAS,CAAC;YAAC,OAAO,IAAI,CAAC,aAAa,CAAA;QAClD,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,QAAgB,EAAE,KAAgB,EAAE,KAAe;QAC1E,MAAM,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;QACtE,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE;YAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC3B,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACpC,OAAO,IAAI,CAAC,OAAO,CAAC;gBAAC,OAAO,IAAI,CAAC,OAAO,CAAC;gBAAC,OAAO,IAAI,CAAC,UAAU,CAAC;gBAAC,OAAO,IAAI,CAAC,UAAU,CAAA;YAC1F,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;YACnF,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;gBAAE,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;YAClH,IAAI,CAAC,iBAAiB,GAAG,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAA;YAC5E,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;YAAC,OAAO,IAAI,CAAC,SAAS,CAAC;YAAC,OAAO,IAAI,CAAC,aAAa,CAAA;YAC1E,OAAO,IAAI,CAAC,QAAQ,CAAA;QACtB,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,QAAgB,EAAE,OAAe,EAAE,KAAgB;QAC1E,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;QACxD,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACtD,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAA;YAC5I,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACvE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,cAAc,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YACrX,OAAO,IAAI,CAAC,SAAS,CAAC;YAAC,OAAO,IAAI,CAAC,aAAa,CAAA;QAClD,CAAC,EAAE,IAAI,CAAC,CAAA;IACV,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,EAAU;QACpB,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;YACvD,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;YACvD,OAAO,IAAI,CAAC,aAAa,CAAC;YAAC,OAAO,IAAI,CAAC,SAAS,CAAA;YAChD,yGAAyG;YACzG,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC,UAAU,CAAA;QACpD,CAAC,CAAC,CAAA;IACJ,CAAC;IACO,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,QAAgB,EAAE,KAAgB,EAAE,MAAoE,EAAE,QAAQ,GAAG,KAAK;QACzJ,IAAI,MAAyB,CAAA;QAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;YACvD,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAA;YAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,WAAW;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAA;YAChI,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;YACnD,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK;gBAAE,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACnH,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/requirements/service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAG5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACxG,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,MAAM,OAAO,kBAAkB;IACA;IAA7B,YAA6B,KAAmB;QAAnB,UAAK,GAAL,KAAK,CAAc;IAAG,CAAC;IACpD,KAAK,CAAC,eAAe,CAAC,EAAU,EAAE,QAAgB,EAAE,OAAe,EAAE,aAAsB,EAAE,KAAgB;QAC3G,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;QACxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;QAChL,IAAI,MAAyB,CAAA;QAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;YACvD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;YAC7F,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;YACnE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;YAC5I,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,CAAA;YAC1E,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;YACxG,IAAI,CAAC,aAAa,GAAG,EAAE,WAAW,EAAE,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,aAAyB,CAAC,CAAC,EAAE,CAAA;YAChJ,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;IACD,UAAU,CAAC,KAAc,EAAE,KAAgB,EAAE,SAAkB,IAAI,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA,CAAC,CAAC;IACtI,IAAI,KAAyB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,YAAY,IAAI,EAAE,CAAA,CAAC,CAAC;IAC9E,OAAO,CAAC,EAAU;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACrD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAA;QAC7D,OAAO,IAAI,CAAA;IACb,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,KAAc,EAAE,KAAgB,EAAE,SAAkB;QAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,IAAI,YAAY,CAAC,KAAK,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,CAAC,CAAA;QAChG,MAAM,IAAI,GAAG,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;QACpJ,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC9B,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;YACrG,KAAK,CAAC,YAAY,KAAK,EAAE,CAAA;YACzB,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,IAAI,GAAG;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAA;YAC5F,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,QAAgB,EAAE,KAAgB;QACzD,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACtD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAA;YACtE,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAA;YACxF,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;YACnE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;QACxB,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,QAAgB,EAAE,KAAc,EAAE,KAAgB;QACzE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;QAC1C,IAAI,MAAyB,CAAA;QAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;YACvD,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YACnD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,WAAW;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;YAC1H,yBAAyB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YACzC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,sCAAsC,CAAC,CAAA;YACnG,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;YAC9F,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;YACnI,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC7D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBAAC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;gBAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;gBAAC,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACpH,OAAO,IAAI,CAAC,SAAS,CAAC;gBAAC,OAAO,IAAI,CAAC,aAAa,CAAA;gBAChD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,EAAE,CAAC,EAAE,CAAC;oBACnE,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,wBAAwB,CAAC,CAAA;oBACzD,IAAI,CAAC,WAAW,GAAG,CAAC,CAAA;oBACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBAC9C,CAAC;YACH,CAAC;YACD,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,QAAgB,EAAE,KAAyB;QACvE,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE;YACxD,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;YAC3E,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;YACrH,IAAI,KAAK;gBAAE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAA;;gBACnC,OAAO,IAAI,CAAC,gBAAgB,CAAA;YACjC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;YACpD,OAAO,IAAI,CAAC,SAAS,CAAC;YAAC,OAAO,IAAI,CAAC,aAAa,CAAA;QAClD,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,QAAgB,EAAE,KAAgB,EAAE,KAAe;QAC1E,MAAM,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;QACtE,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE;YAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC3B,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACpC,OAAO,IAAI,CAAC,OAAO,CAAC;gBAAC,OAAO,IAAI,CAAC,OAAO,CAAC;gBAAC,OAAO,IAAI,CAAC,UAAU,CAAC;gBAAC,OAAO,IAAI,CAAC,UAAU,CAAA;YAC1F,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;YACnF,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;gBAAE,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;YAClH,IAAI,CAAC,iBAAiB,GAAG,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAA;YAC5E,OAAO,IAAI,CAAC,aAAa,CAAA;YACzB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;YAAC,OAAO,IAAI,CAAC,SAAS,CAAC;YAAC,OAAO,IAAI,CAAC,aAAa,CAAA;YAC1E,OAAO,IAAI,CAAC,QAAQ,CAAA;QACtB,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,QAAgB,EAAE,OAAe,EAAE,KAAgB;QAC1E,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;QACxD,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACtD,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAA;YAC5I,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACvE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,cAAc,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YACrX,OAAO,IAAI,CAAC,SAAS,CAAC;YAAC,OAAO,IAAI,CAAC,aAAa,CAAA;QAClD,CAAC,EAAE,IAAI,CAAC,CAAA;IACV,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,EAAU;QACpB,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;YACvD,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;YACvD,OAAO,IAAI,CAAC,aAAa,CAAC;YAAC,OAAO,IAAI,CAAC,SAAS,CAAA;YAChD,yGAAyG;YACzG,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC,UAAU,CAAA;QACpD,CAAC,CAAC,CAAA;IACJ,CAAC;IACO,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,QAAgB,EAAE,KAAgB,EAAE,MAAoE,EAAE,QAAQ,GAAG,KAAK;QACzJ,IAAI,MAAyB,CAAA;QAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;YACvD,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAA;YAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,WAAW;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAA;YAChI,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;YACnD,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK;gBAAE,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACnH,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/requirements/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAI3D,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAmDzJ"}
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/requirements/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAI3D,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CA0DzJ"}
@@ -6,7 +6,8 @@ export function requirementTool(companionId, service, tasks, dispatch) {
6
6
  name: 'partner_requirements',
7
7
  description: 'Manage one requirement containing all tasks for a user deliverable. submit_plan atomically saves 1–40 tasks with local dependency keys, authorized executor IDs, acceptanceCriteria and optional exclusive resourceKeys. Use one stable submissionKey on retries; replay returns existing IDs, never restarts deleted work. New goals use title/description; continuation uses requirementId/expectedRevision after reopen. autoRun defaults true; completeScope defaults false and must only confirm a fully planned requirement. Keep decomposition policy in the enabled Skill. Single create plus child tasks remains supported. submit confirms the complete scope: when all children are accepted the system summarizes and archives automatically. A requirement containing only done/blocked tasks sends one stage result per changed batch even without submit. Any backlog, ready, doing, review or queued execution suppresses stage delivery. Never report individual review/rework steps. Stage delivery does NOT require archiving and permits further tasks. When the owner confirms the whole requirement is complete, finish saves a real final summary and archives if all children are done, including planning requirements. Never finish merely because work is queued or blocked. update changes the authoritative requirement and invalidates old child execution/reviews; use it for changed scope, not a comment alone. For continued work on the same user goal, list and reuse the original requirement instead of creating another per specialist phase. reopen supports submitted AND archived requirements, preserving previous archives and accepted tasks; optional title/description extends the overall scope for NEW work without invalidating old deliverables. Use update only when changing acceptance requirements for existing work. remove permanently deletes only on explicit user request and is idempotent. Use the enabled task-planning Skill for decomposition.',
8
8
  parameters: { type: 'object', additionalProperties: false, required: ['action'], properties: {
9
- action: { type: 'string', enum: ['list', 'create', 'submit_plan', 'update', 'submit', 'reopen', 'finish', 'retry', 'remove'] },
9
+ action: { type: 'string', enum: ['list', 'create', 'submit_plan', 'update', 'submit', 'reopen', 'finish', 'prepare_delivery', 'retry', 'remove'] },
10
+ attachmentIds: { type: 'array', items: { type: 'string' }, maxItems: 50, description: 'prepare_delivery: owner-selected final attachment IDs from accepted tasks. Required, use [] for text-only. This saves a durable outbound draft; transport sends only these files, with retry/dedup. Do not also send them using partner_send_attachment. Before finish, prepare_delivery if files should accompany the summary.' },
10
11
  ...planParameters,
11
12
  requirementId: { type: 'string' }, title: { type: 'string' }, description: { type: 'string' },
12
13
  expectedRevision: { type: 'integer', description: 'Use revision returned by create/list or a board response requirement. submit/update/reopen tolerate child creation and progress since that read, but not intervening scope/control edits or task removal. finish requires the exact snapshot reviewed. A conflict returns current content and recovery instructions: reconcile before retrying, never repeatedly list or recreate the requirement.' }, summary: { type: 'string' },
@@ -59,14 +60,21 @@ export function requirementTool(companionId, service, tasks, dispatch) {
59
60
  if (!Number.isInteger(revision))
60
61
  throw new Error('请先查询需求并提供 expectedRevision');
61
62
  try {
63
+ if (action === 'prepare_delivery')
64
+ return JSON.stringify(await service.prepareDelivery(id, revision, requiredMarkdown(input.summary, 'summary', 12000), input.attachmentIds, actor));
62
65
  if (action === 'update')
63
66
  return JSON.stringify(await service.update(id, revision, input, actor));
64
67
  if (action === 'submit')
65
68
  return JSON.stringify(await service.submit(id, revision, actor));
66
69
  if (action === 'reopen')
67
70
  return JSON.stringify(await service.reopen(id, revision, actor, input));
68
- if (action === 'finish')
69
- return JSON.stringify(await service.finish(id, revision, requiredMarkdown(input.summary, 'summary', 12000), actor));
71
+ if (action === 'finish') {
72
+ const summary = requiredMarkdown(input.summary, 'summary', 12000);
73
+ const hasFiles = tasks.snapshot().tasks.some(t => t.requirementId === id && t.resultAttachmentIds?.length);
74
+ if (hasFiles && (!item.deliveryDraft || item.deliveryDraft.summary !== summary))
75
+ throw new Error('此需求有正式附件,请先 prepare_delivery 提交同一份 summary 和要交付的 attachmentIds(不发附件则 []),再 finish;不要额外单独发送一遍');
76
+ return JSON.stringify(await service.finish(id, revision, summary, actor));
77
+ }
70
78
  throw new Error('需求操作无效');
71
79
  }
72
80
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/requirements/tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/requirements/tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/requirements/worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAIjD,UAAU,kBAAkB;IAC1B,SAAS,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5G,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,MAAM,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAA;CACtC;AAED,qFAAqF;AACrF,qBAAa,iBAAiB;IAMhB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAgB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAAsB,OAAO,CAAC,QAAQ,CAAC,OAAO;IALxH,OAAO,CAAC,KAAK,CAAC,CAAgB;IAC9B,OAAO,CAAC,GAAG,CAA2B;IACtC,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,WAAW,CAA0B;gBAChB,KAAK,EAAE,YAAY,EAAmB,OAAO,EAAE,kBAAkB,EAAmB,OAAO,EAAE,kBAAkB;IAC5I,KAAK,IAAI,IAAI;IAKb,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrB,aAAa,IAAI,IAAI;IACf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YACd,GAAG;CAoFlB;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,UAAQ,GAAG,MAAM,CAe1G"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/requirements/worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAIjD,UAAU,kBAAkB;IAC1B,SAAS,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5G,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,MAAM,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAA;CACtC;AAED,qFAAqF;AACrF,qBAAa,iBAAiB;IAMhB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAgB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAAsB,OAAO,CAAC,QAAQ,CAAC,OAAO;IALxH,OAAO,CAAC,KAAK,CAAC,CAAgB;IAC9B,OAAO,CAAC,GAAG,CAA2B;IACtC,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,WAAW,CAA0B;gBAChB,KAAK,EAAE,YAAY,EAAmB,OAAO,EAAE,kBAAkB,EAAmB,OAAO,EAAE,kBAAkB;IAC5I,KAAK,IAAI,IAAI;IAKb,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrB,aAAa,IAAI,IAAI;IACf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YACd,GAAG;CAoGlB;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,UAAQ,GAAG,MAAM,CAiB1G"}
@@ -1,4 +1,4 @@
1
- import { requirementIsIdle, requirementProgressKey } from './progress.js';
1
+ import { requirementCanReportStage, requirementIsIdle, requirementProgressKey } from './progress.js';
2
2
  import { advanceRequirementRevision } from './revisions.js';
3
3
  /** One bounded worker. Durable state is the retry queue, not transient callbacks. */
4
4
  export class RequirementWorker {
@@ -43,7 +43,7 @@ export class RequirementWorker {
43
43
  const summarize = (item.status === 'active' || item.status === 'review') && tasks.length > 0 && tasks.every(task => task.status === 'done') && Boolean(item.ownerCompanionId) &&
44
44
  requirementIsIdle(snapshot, item) && !this.effects.isBusy?.(item.ownerCompanionId);
45
45
  const stageKey = item.status !== 'done' && !summarize && Boolean(item.ownerCompanionId) &&
46
- Date.now() - item.updatedAt >= 15_000 && requirementIsIdle(snapshot, item) &&
46
+ Date.now() - item.updatedAt >= 15_000 && requirementCanReportStage(snapshot, item) &&
47
47
  !this.effects.isBusy?.(item.ownerCompanionId) ? requirementProgressKey(snapshot, item) : undefined;
48
48
  const stage = stageKey !== undefined && item.reportBaselineKey !== stageKey &&
49
49
  !(item.stageReport?.key === stageKey && item.stageReport.notifiedAt);
@@ -59,7 +59,7 @@ export class RequirementWorker {
59
59
  this.controller = new AbortController();
60
60
  this.unsubscribe = this.store.subscribe(state => {
61
61
  const latest = state.requirements?.find(r => r.id === item.id);
62
- if (!latest || latest.revision !== revision || !requirementIsIdle(state, latest))
62
+ if (!latest || latest.revision !== revision || !requirementCanReportStage(state, latest))
63
63
  this.controller?.abort(new Error('需求已继续执行或调整'));
64
64
  }, () => { });
65
65
  if (current.stageReport?.key !== key) {
@@ -69,7 +69,7 @@ export class RequirementWorker {
69
69
  throw new Error('阶段汇总为空,请重试');
70
70
  await this.store.update(state => {
71
71
  const latest = state.requirements?.find(r => r.id === item.id);
72
- if (!latest || latest.revision !== revision || !requirementIsIdle(state, latest))
72
+ if (!latest || latest.revision !== revision || !requirementCanReportStage(state, latest))
73
73
  throw new Error('需求已改变');
74
74
  latest.stageReport = { key, summary: summary.slice(0, 12000), createdAt: Date.now() };
75
75
  });
@@ -113,6 +113,24 @@ export class RequirementWorker {
113
113
  }
114
114
  if (this.closed)
115
115
  return;
116
+ // Legacy/manual completions with files still need the owner's explicit selection.
117
+ // Do not silently fall back to sending every child attachment or silently drop them.
118
+ if (current.status === 'done' && current.ownerCompanionId && current.results?.some(t => t.resultAttachmentIds?.length) &&
119
+ (!current.deliveryDraft || current.deliveryDraft.summary !== current.summary)) {
120
+ if (this.effects.isBusy?.(current.ownerCompanionId))
121
+ continue;
122
+ this.controller = new AbortController();
123
+ const accepted = current.results.map(t => ({ ...t, description: '', status: 'done', priority: 'normal', createdBy: 'companion', skillIds: [], dependencyTaskIds: [], revision: 1, createdAt: current.createdAt, updatedAt: current.updatedAt }));
124
+ const summary = await this.effects.summarize(current, accepted, this.controller.signal);
125
+ this.controller.signal.throwIfAborted();
126
+ await this.store.update(state => {
127
+ const latest = state.requirements?.find(r => r.id === item.id);
128
+ if (!latest || latest.revision !== revision || latest.status !== 'done')
129
+ throw new Error('需求已调整,取消旧交付整理');
130
+ latest.summary = summary;
131
+ });
132
+ current = this.service.require(item.id);
133
+ }
116
134
  // Deletion or a new revision invalidates in-flight summary/delivery work.
117
135
  if (this.service.require(item.id).revision !== revision)
118
136
  continue;
@@ -149,15 +167,17 @@ export class RequirementWorker {
149
167
  export function requirementSummaryPrompt(item, tasks, stage = false) {
150
168
  const header = [
151
169
  stage
152
- ? '这是需求的阶段结果汇报,不是新任务,也不代表整个需求已完成。目前所有任务仅为已完成或受阻,没有尚未执行、执行中或待验收任务。汇总实际成果、文件/链接和关键结论;有受阻任务则说明阻塞原因及需要用户解决什么。验收意见、返工过程和内部交接内容不要发送给用户。可以后续继续追加任务。不要重新执行、创建任务或直接发送渠道消息;系统会持久化并投递本次汇总,不要求先归档。只根据实际交付说明,不把受阻写成完成。'
170
+ ? '这是需求的阶段结果汇报,不是新任务,也不代表整个需求已完成。当前没有正在执行或待验收的任务;任务已完成、受阻,或因受阻前置而无法启动。只汇总实际成果、文件/链接和关键结论,以及阻塞源、受影响任务和恢复所需条件。明确区分停止、失败、等待依赖与完成;未提交的生成不要说成生成失败。验收意见、返工过程和内部交接内容不要发送给用户。不要重新执行、创建任务或直接发送渠道消息;系统会持久化并投递本次汇总,不要求先归档。'
153
171
  : '这是需求整体收尾,不是新任务。以下子任务均已通过验收。只汇总最终成果、实际交付文件/链接、关键结论和仍需用户知道的限制。不要重新执行、创建任务或逐条播报验收过程;不要直接发送渠道消息,系统会保存本次最终回答、归档需求后统一发送。资料不足请明确说明,不编造结果。',
154
172
  `需求:${item.title}\n${item.description}`,
173
+ `你是需求负责人,最终渠道回复由你决定内容与附件。必须调用 partner_requirements prepare_delivery,requirementId=${item.id},expectedRevision=${item.revision},summary 填给用户的完整最终回复,attachmentIds 只选择下面已验收任务的必要成品附件 ID(无附件用 [])。工具保存后系统负责可靠发送,不要再调用 partner_send_attachment,也不要为自动汇报额外生成重复的总结文档。不必复述内部状态或使用“看板任务已完成”模板。`,
155
174
  `需求 ID:${item.id};共 ${tasks.length} 项。以下为按任务均分预算的结果摘录,可能被截短;需要完整证据时按此需求查询看板,不要把摘录当成全部交付。`,
156
175
  ].join('\n\n');
157
176
  const budget = Math.max(1, Math.floor((60_000 - header.length - tasks.length * 2) / Math.max(1, tasks.length)));
158
177
  const rows = tasks.map((task, index) => {
159
178
  const title = `## ${index + 1}. ${task.title.slice(0, Math.min(80, Math.floor(budget / 3)))}${stage ? ` [${task.status}]` : ''}`;
160
- const result = [task.resultAbstract, task.resultSummary].filter(Boolean).join('\n\n') || '未提供结果正文';
179
+ const context = stage ? [`任务 ID:${task.id};自动执行:${task.autoRun ? '是' : '否'};依赖:${(task.dependencyTaskIds ?? []).join(', ') || '无'}`, task.rejectionReason ? `受阻/退回原因:${task.rejectionReason}` : '', task.blockedRecovery?.summary ? `内部协调结论:${task.blockedRecovery.summary}` : ''] : [];
180
+ const result = [...context, task.resultAttachmentIds?.length ? `正式附件 ID:${task.resultAttachmentIds.join(', ')}` : '', task.resultAbstract, task.resultSummary].filter(Boolean).join('\n\n') || '未提供结果正文';
161
181
  return `${title}\n${result.slice(0, Math.min(4000, Math.max(0, budget - title.length - 1)))}`;
162
182
  });
163
183
  return [header, ...rows].join('\n\n');
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/requirements/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/requirements/worker.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { isInternalTaskNotice } from '../channels/delivery-policy.js';
1
+ import { isInternalTaskNotice, isRequirementDeliveryReceipt } from '../channels/delivery-policy.js';
2
2
  import { questionOrigin } from '../channels/question-origin.js';
3
3
  import { isPluginSource } from '../message-source.js';
4
4
  export function savedContinuationRoute(state, owner, wake) {
@@ -13,7 +13,7 @@ export function savedContinuationRoute(state, owner, wake) {
13
13
  }
14
14
  /** Unknown/browser origins stay local; only the exact wake inherits a saved channel. */
15
15
  export function continuationChannelOrigin(state, owner, sessionId, events) {
16
- const origin = [...events].reverse().find(e => e.type === 'user/message' && (e.data.source.kind === 'user' || isInternalTaskNotice(e)));
16
+ const origin = [...events].reverse().find(e => e.type === 'user/message' && !isRequirementDeliveryReceipt(e) && (e.data.source.kind === 'user' || isInternalTaskNotice(e)));
17
17
  if (origin && isInternalTaskNotice(origin) && origin.type === 'user/message') {
18
18
  if (!isPluginSource(origin.data.source, '@lemoncat7/dsh-partner') || origin.data.source.form !== 'notice' || origin.data.source.summary !== '伙伴长任务续接')
19
19
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"channel-origin.js","sourceRoot":"","sources":["../../src/scheduler/channel-origin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,MAAM,UAAU,sBAAsB,CAAC,KAAmB,EAAE,KAAa,EAAE,IAA0B;IACnG,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa;QAAE,OAAM;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAA;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;WACxH,CAAC,CAAC,WAAW,KAAK,KAAK,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;IAC7F,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAC1D,OAAO,KAAK,CAAA;AACd,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,yBAAyB,CAAC,KAAmB,EAAE,KAAa,EAAE,SAAiB,EAAE,MAA+B;IAC9H,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACvI,IAAI,MAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC7E,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,wBAAwB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS;YAAE,OAAM;QAC7J,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,KAAK,IAAI,CAAC,CAAC,YAAY,EAAE,eAAe,KAAK,SAAS,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChK,IAAI,CAAC,KAAK,EAAE,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,KAAK,WAAW;YAAE,OAAM;QAC5E,OAAO,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAA;IACjE,CAAC;IACD,OAAO,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAA;AAC/F,CAAC"}
1
+ {"version":3,"file":"channel-origin.js","sourceRoot":"","sources":["../../src/scheduler/channel-origin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,MAAM,UAAU,sBAAsB,CAAC,KAAmB,EAAE,KAAa,EAAE,IAA0B;IACnG,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa;QAAE,OAAM;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAA;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;WACxH,CAAC,CAAC,WAAW,KAAK,KAAK,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;IAC7F,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAC1D,OAAO,KAAK,CAAA;AACd,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,yBAAyB,CAAC,KAAmB,EAAE,KAAa,EAAE,SAAiB,EAAE,MAA+B;IAC9H,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3K,IAAI,MAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC7E,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,wBAAwB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS;YAAE,OAAM;QAC7J,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,KAAK,IAAI,CAAC,CAAC,YAAY,EAAE,eAAe,KAAK,SAAS,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChK,IAAI,CAAC,KAAK,EAAE,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,KAAK,WAAW;YAAE,OAAM;QAC5E,OAAO,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAA;IACjE,CAAC;IACD,OAAO,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAA;AAC/F,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { PartnerState } from '../domain.js';
2
+ /** Never discard an undelivered final reply or a receipt still needed by board resumption. */
3
+ export declare function cleanupObsoleteSchedules(state: PartnerState, now?: number): void;
4
+ //# sourceMappingURL=cleanup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/scheduler/cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,8FAA8F;AAC9F,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,SAAa,GAAG,IAAI,CAmBpF"}
@@ -0,0 +1,25 @@
1
+ /** Never discard an undelivered final reply or a receipt still needed by board resumption. */
2
+ export function cleanupObsoleteSchedules(state, now = Date.now()) {
3
+ const removed = new Set();
4
+ state.schedules = state.schedules.filter(entry => {
5
+ const wake = entry.continuation;
6
+ let obsolete = false;
7
+ if (entry.boardTaskId) {
8
+ const task = state.tasks.find(t => t.id === entry.boardTaskId);
9
+ obsolete = !task || task.status === 'done';
10
+ }
11
+ if (wake && !entry.enabled && (!wake.finalReply || wake.finalReply.notifiedAt)) {
12
+ const task = wake.board ? state.tasks.find(t => t.id === wake.board.taskId) : undefined;
13
+ obsolete ||= Boolean(wake.board && (!task || task.status === 'done'));
14
+ // Keep a short grace period for in-flight receipt readers and cancellation observers.
15
+ obsolete ||= wake.state === 'cancelled' && now - entry.updatedAt >= 60_000;
16
+ }
17
+ if (obsolete)
18
+ removed.add(entry.id);
19
+ return !obsolete;
20
+ });
21
+ for (const job of state.delegations)
22
+ if (job.continuationScheduleId && removed.has(job.continuationScheduleId))
23
+ delete job.continuationScheduleId;
24
+ }
25
+ //# sourceMappingURL=cleanup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/scheduler/cleanup.ts"],"names":[],"mappings":"AAEA,8FAA8F;AAC9F,MAAM,UAAU,wBAAwB,CAAC,KAAmB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC5E,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IACjC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;QAC/B,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,WAAW,CAAC,CAAA;YAC9D,QAAQ,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAA;QAC5C,CAAC;QACD,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,KAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACxF,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAA;YACrE,sFAAsF;YACtF,QAAQ,KAAK,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,MAAM,CAAA;QAC5E,CAAC;QACD,IAAI,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACnC,OAAO,CAAC,QAAQ,CAAA;IAClB,CAAC,CAAC,CAAA;IACF,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,WAAW;QAAE,IAAI,GAAG,CAAC,sBAAsB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC;YAAE,OAAO,GAAG,CAAC,sBAAsB,CAAA;AACnJ,CAAC"}
@@ -2,6 +2,8 @@ export type ScheduleOverlapPolicy = 'skip' | 'queue';
2
2
  export interface ScheduledPartnerTask {
3
3
  id: string;
4
4
  companionId: string;
5
+ /** Temporary scheduled work ends with its explicitly linked board task. */
6
+ boardTaskId?: string;
5
7
  title: string;
6
8
  prompt: string;
7
9
  schedule: {
@@ -1 +1 @@
1
- {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../src/scheduler/domain.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,OAAO,CAAA;AAEpD,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;IAChI,YAAY,CAAC,EAAE,oBAAoB,CAAA;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB,sBAAsB,EAAE,OAAO,CAAA;IAC/B,aAAa,EAAE,qBAAqB,CAAA;IACpC,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;IAClD,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;IACtE,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IACtE,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,CAAA;IACpE,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACjH"}
1
+ {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../src/scheduler/domain.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,OAAO,CAAA;AAEpD,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;IAChI,YAAY,CAAC,EAAE,oBAAoB,CAAA;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB,sBAAsB,EAAE,OAAO,CAAA;IAC/B,aAAa,EAAE,qBAAqB,CAAA;IACpC,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;IAClD,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;IACtE,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IACtE,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,CAAA;IACpE,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACjH"}
@@ -8,6 +8,7 @@ export declare class PartnerSchedulerService {
8
8
  private readonly timeZone;
9
9
  private timer;
10
10
  private readonly running;
11
+ private readonly controllers;
11
12
  private readonly queued;
12
13
  private closed;
13
14
  readonly continuations: ScheduleContinuations;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/scheduler/service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAI1D,qBAAa,uBAAuB;IAOtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAgB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAA6B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IANjI,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,MAAM,CAAQ;IAEtB,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAA;gBAChB,KAAK,EAAE,YAAY,EAAmB,QAAQ,EAAE,yBAAyB,EAAmB,QAAQ,EAAE,MAAM;IAEzI,KAAK,IAAI,IAAI;IAQP,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,IAAI,IAAI,oBAAoB,EAAE;IAExB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAsB3E,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA2BjE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAQ1B,IAAI;YAOJ,GAAG;YA2BH,OAAO;IAYrB,OAAO,CAAC,gBAAgB;CAMzB;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,oBAAoB,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAUhH"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/scheduler/service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAK1D,qBAAa,uBAAuB;IAQtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAgB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAA6B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAPjI,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqC;IACjE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,MAAM,CAAQ;IAEtB,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAA;gBAChB,KAAK,EAAE,YAAY,EAAmB,QAAQ,EAAE,yBAAyB,EAAmB,QAAQ,EAAE,MAAM;IAEzI,KAAK,IAAI,IAAI;IAQP,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,IAAI,IAAI,oBAAoB,EAAE;IAExB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAwB3E,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA2BjE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAQ1B,IAAI;YAUJ,GAAG;YAkCH,OAAO;IAYrB,OAAO,CAAC,gBAAgB;CAMzB;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,oBAAoB,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAUhH"}
@@ -1,6 +1,7 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { oneOf, optionalBoolean, record, requiredText } from '../core/validation.js';
3
3
  import { ScheduleContinuations } from './continuations.js';
4
+ import { cleanupObsoleteSchedules } from './cleanup.js';
4
5
  const OVERLAP_POLICIES = ['skip', 'queue'];
5
6
  export class PartnerSchedulerService {
6
7
  store;
@@ -8,6 +9,7 @@ export class PartnerSchedulerService {
8
9
  timeZone;
9
10
  timer;
10
11
  running = new Set();
12
+ controllers = new Map();
11
13
  queued = new Set();
12
14
  closed = false;
13
15
  continuations;
@@ -28,6 +30,8 @@ export class PartnerSchedulerService {
28
30
  async close() {
29
31
  this.closed = true;
30
32
  this.continuations.close();
33
+ for (const controller of this.controllers.values())
34
+ controller.abort();
31
35
  if (this.timer)
32
36
  clearInterval(this.timer);
33
37
  this.timer = undefined;
@@ -41,6 +45,7 @@ export class PartnerSchedulerService {
41
45
  const schedule = parseSchedule(input.schedule);
42
46
  const entry = {
43
47
  id: `schedule-${randomUUID()}`, companionId: owner, title: requiredText(input.title, 'title', 160),
48
+ ...(input.boardTaskId === undefined ? {} : { boardTaskId: requiredText(input.boardTaskId, 'boardTaskId', 160) }),
44
49
  prompt: requiredText(input.prompt, 'prompt', 12_000), schedule,
45
50
  enabled: optionalBoolean(input.enabled, true), destroySessionAfterRun: optionalBoolean(input.destroySessionAfterRun, true),
46
51
  overlapPolicy: input.overlapPolicy === undefined ? 'skip' : oneOf(input.overlapPolicy, OVERLAP_POLICIES, 'overlapPolicy'),
@@ -50,6 +55,8 @@ export class PartnerSchedulerService {
50
55
  await this.store.update(state => {
51
56
  if (!state.companions.find(c => c.id === owner)?.capabilities.includes('schedules'))
52
57
  throw new Error('请先勾选伙伴的定时任务能力');
58
+ if (entry.boardTaskId && !state.tasks.some(t => t.id === entry.boardTaskId && t.status !== 'done' && (t.creatorCompanionId === owner || t.assigneeCompanionId === owner)))
59
+ throw new Error('只能关联自己创建或执行的未完成看板任务');
53
60
  if (state.schedules.length >= 100)
54
61
  throw new Error('Scheduled task limit reached; remove an obsolete schedule first');
55
62
  state.schedules.push(entry);
@@ -112,6 +119,10 @@ export class PartnerSchedulerService {
112
119
  async tick() {
113
120
  if (this.closed)
114
121
  return;
122
+ const snapshot = this.store.snapshot(), before = snapshot.schedules.length;
123
+ cleanupObsoleteSchedules(snapshot);
124
+ if (snapshot.schedules.length !== before)
125
+ await this.store.update(state => cleanupObsoleteSchedules(state));
115
126
  await this.continuations.tick();
116
127
  const due = this.store.snapshot().schedules.filter(item => !item.continuation && item.enabled && item.nextRunAt <= Date.now() && this.store.hasCapability(item.companionId, 'schedules'));
117
128
  for (const entry of due)
@@ -126,10 +137,17 @@ export class PartnerSchedulerService {
126
137
  return;
127
138
  }
128
139
  this.running.add(entry.id);
140
+ const controller = new AbortController();
141
+ this.controllers.set(entry.id, controller);
142
+ const unsubscribe = this.store.subscribe(state => {
143
+ const current = state.schedules.find(s => s.id === entry.id);
144
+ if (!current || !current.enabled || !state.companions.find(c => c.id === entry.companionId)?.capabilities.includes('schedules'))
145
+ controller.abort();
146
+ }, () => { });
129
147
  try {
130
148
  const companion = this.requireCompanion(entry.companionId);
131
149
  await this.executor.execute({
132
- kind: 'schedule', sourceId: entry.id, companion, prompt: entry.prompt,
150
+ kind: 'schedule', sourceId: entry.id, companion, prompt: entry.prompt, signal: controller.signal,
133
151
  timeoutMinutes: entry.timeoutMinutes, destroyAfterRun: entry.destroySessionAfterRun,
134
152
  systemInstruction: `这是定时任务「${entry.title}」。只执行本次计划内容;不要自行修改调度规则。`,
135
153
  });
@@ -140,6 +158,8 @@ export class PartnerSchedulerService {
140
158
  throw new Error(`Scheduled task failed: ${entry.title}`);
141
159
  }
142
160
  finally {
161
+ unsubscribe();
162
+ this.controllers.delete(entry.id);
143
163
  this.running.delete(entry.id);
144
164
  if (this.queued.delete(entry.id)) {
145
165
  const current = this.store.snapshot().schedules.find(item => item.id === entry.id && item.enabled);
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/scheduler/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/scheduler/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAIpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAEvD,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,OAAO,CAAU,CAAA;AAEnD,MAAM,OAAO,uBAAuB;IAQL;IAAsC;IAAsD;IAPjH,KAAK,CAA4B;IACxB,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IAC3B,WAAW,GAAG,IAAI,GAAG,EAA2B,CAAA;IAChD,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;IACnC,MAAM,GAAG,KAAK,CAAA;IAEb,aAAa,CAAuB;IAC7C,YAA6B,KAAmB,EAAmB,QAAmC,EAAmB,QAAgB;QAA5G,UAAK,GAAL,KAAK,CAAc;QAAmB,aAAQ,GAAR,QAAQ,CAA2B;QAAmB,aAAQ,GAAR,QAAQ,CAAQ;QAAI,IAAI,CAAC,aAAa,GAAG,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAA;IAAC,CAAC;IAEpM,KAAK;QACH,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,OAAM;QACrC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAA;QAC1B,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,IAAI,EAAE,CAAA,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QAC5D,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAA;QACpB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAA;QAC1B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YAAE,UAAU,CAAC,KAAK,EAAE,CAAA;QACtE,IAAI,IAAI,CAAC,KAAK;YAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;IACxB,CAAC;IAED,IAAI,KAA6B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAA,CAAC,CAAC;IAEzE,KAAK,CAAC,MAAM,CAAC,KAAc,EAAE,WAAoB;QAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;QACvC,MAAM,KAAK,GAAG,WAAW,IAAI,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,CAAC,CAAA;QAChF,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAyB;YAClC,EAAE,EAAE,YAAY,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC;YAClG,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC;YAChH,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ;YAC9D,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,sBAAsB,EAAE,eAAe,CAAC,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAAC;YAC1H,aAAa,EAAE,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,gBAAgB,EAAE,eAAe,CAAC;YACzH,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC;YAChE,SAAS,EAAE,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG;SACxF,CAAA;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;YACrH,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,kBAAkB,KAAK,KAAK,IAAI,CAAC,CAAC,mBAAmB,KAAK,KAAK,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;YACjN,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAA;YACrH,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;QACF,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,KAAc;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;QACvC,IAAI,MAA6B,CAAA;QACjC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;YAC1D,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;YACtD,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;YAC3J,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;gBACzI,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;gBAChH,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBAC3F,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;gBAAC,OAAM;YACzC,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;gBAAE,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;YACpF,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;gBAAE,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;YAC3F,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;gBAAE,KAAK,CAAC,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAChF,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;gBAAE,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;YAC9F,IAAI,KAAK,CAAC,sBAAsB,KAAK,SAAS;gBAAE,KAAK,CAAC,sBAAsB,GAAG,eAAe,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;YAC1J,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS;gBAAE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAA;YAC1H,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS;gBAAE,KAAK,CAAC,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;YACjI,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAC5B,KAAK,CAAC,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YAChF,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IACxG,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QAC1E,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QACtD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QACxC,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YAAC,KAAK,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAAC,OAAM;QAAC,CAAC;QACnF,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAM;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAA;QAC1E,wBAAwB,CAAC,QAAQ,CAAC,CAAA;QAClC,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM;YAAE,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAA;QAC3G,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAA;QACzL,KAAK,MAAM,KAAK,IAAI,GAAG;YAAE,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAC/D,CAAC;IAEO,KAAK,CAAC,GAAG,CAAC,KAA2B;QAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YAC/B,IAAI,KAAK,CAAC,aAAa,KAAK,OAAO;gBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;;gBACzD,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;YAC5C,OAAM;QACR,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC1B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAA;YAC5D,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAAE,UAAU,CAAC,KAAK,EAAE,CAAA;QACrJ,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QACZ,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YAC1D,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC1B,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM;gBAChG,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,eAAe,EAAE,KAAK,CAAC,sBAAsB;gBACnF,iBAAiB,EAAE,UAAU,KAAK,CAAC,KAAK,yBAAyB;aAClE,CAAC,CAAA;YACF,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC,CAAA;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;YACtC,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;QAC1D,CAAC;gBAAS,CAAC;YACT,WAAW,EAAE,CAAC;YAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAChD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAA;gBAClG,IAAI,OAAO;oBAAE,KAAK,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YACrD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,MAA0D;QAC1F,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;YAC1D,IAAI,CAAC,KAAK;gBAAE,OAAM;YAClB,KAAK,CAAC,SAAS,GAAG,GAAG,CAAA;YACrB,KAAK,CAAC,aAAa,GAAG,MAAM,CAAA;YAC5B,KAAK,CAAC,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC/F,KAAK,CAAC,SAAS,GAAG,GAAG,CAAA;QACvB,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,gBAAgB,CAAC,EAAU;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/E,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC3D,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;QACnF,OAAO,SAAS,CAAA;IAClB,CAAC;CACF;AAED,MAAM,UAAU,cAAc,CAAC,QAA0C,EAAE,GAAW,EAAE,QAAgB;IACtG,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,QAAQ,CAAC,EAAE,CAAA;IAChD,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,GAAG,GAAG,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAA;IACxE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,CAAA;IACxD,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,IAAI,EAAE,GAAG,EAAE,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;YAAE,OAAO,SAAS,CAAA;IACxF,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;AACvE,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAA;IAClD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAA;IACjH,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAA;IAChJ,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;AAC5D,CAAC;AACD,SAAS,cAAc,CAAC,KAAc,EAAE,QAAgB,EAAE,GAAW,EAAE,GAAW;IAChF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAA;IACxC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAK,KAAgB,GAAG,GAAG,IAAK,KAAgB,GAAG,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACtI,OAAO,KAAe,CAAA;AACxB,CAAC;AACD,SAAS,UAAU,CAAC,EAAU,EAAE,QAAgB;IAC9C,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;IACpI,MAAM,GAAG,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAA;IACjG,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAA;AACrD,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { PartnerStore } from '../store.js';
2
+ import type { PartnerState } from '../domain.js';
3
+ import type { BoardTask } from './domain.js';
4
+ export declare function recoveryOwners(state: PartnerState, task: BoardTask): string[];
5
+ export declare function recoveryPending(state: PartnerState, task: BoardTask): boolean;
6
+ interface Effects {
7
+ execute(owner: string, task: BoardTask, prompt: string, signal: AbortSignal): Promise<string>;
8
+ isBusy(owner: string): boolean;
9
+ warn(message: string): void;
10
+ }
11
+ /** Durable bounded remediation; never replays the failed executor blindly. */
12
+ export declare class BlockedTaskRecovery {
13
+ private readonly store;
14
+ private readonly effects;
15
+ private timer?;
16
+ private job;
17
+ private controller;
18
+ private closed;
19
+ constructor(store: PartnerStore, effects: Effects);
20
+ start(): void;
21
+ beginShutdown(): void;
22
+ close(): Promise<void>;
23
+ tick(): Promise<void>;
24
+ private run;
25
+ }
26
+ export {};
27
+ //# sourceMappingURL=blocked-recovery.d.ts.map