@lemoncat7/dsh-partner 2.4.2 → 2.5.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 (77) hide show
  1. package/README.md +4 -0
  2. package/docs/long-task-continuation.md +51 -0
  3. package/docs/releases/2.5.0.md +13 -0
  4. package/lib/agent-runtime.d.ts +6 -0
  5. package/lib/agent-runtime.d.ts.map +1 -1
  6. package/lib/agent-runtime.js +84 -8
  7. package/lib/agent-runtime.js.map +1 -1
  8. package/lib/channels/delivery-policy.d.ts.map +1 -1
  9. package/lib/channels/delivery-policy.js +1 -0
  10. package/lib/channels/delivery-policy.js.map +1 -1
  11. package/lib/channels/manager.d.ts +1 -0
  12. package/lib/channels/manager.d.ts.map +1 -1
  13. package/lib/channels/manager.js +15 -0
  14. package/lib/channels/manager.js.map +1 -1
  15. package/lib/client-api.d.ts +1 -23
  16. package/lib/client-api.d.ts.map +1 -1
  17. package/lib/client-api.js.map +1 -1
  18. package/lib/client.js +84 -36
  19. package/lib/client.js.map +3 -3
  20. package/lib/collaboration/composition.d.ts.map +1 -1
  21. package/lib/collaboration/composition.js +18 -4
  22. package/lib/collaboration/composition.js.map +1 -1
  23. package/lib/collaboration/domain.d.ts +2 -0
  24. package/lib/collaboration/domain.d.ts.map +1 -1
  25. package/lib/collaboration/domain.js.map +1 -1
  26. package/lib/collaboration/service.d.ts.map +1 -1
  27. package/lib/collaboration/service.js +5 -2
  28. package/lib/collaboration/service.js.map +1 -1
  29. package/lib/index.d.ts.map +1 -1
  30. package/lib/index.js +4 -0
  31. package/lib/index.js.map +1 -1
  32. package/lib/scheduler/continuations.d.ts +29 -0
  33. package/lib/scheduler/continuations.d.ts.map +1 -0
  34. package/lib/scheduler/continuations.js +266 -0
  35. package/lib/scheduler/continuations.js.map +1 -0
  36. package/lib/scheduler/domain.d.ts +27 -0
  37. package/lib/scheduler/domain.d.ts.map +1 -1
  38. package/lib/scheduler/service.d.ts +2 -0
  39. package/lib/scheduler/service.d.ts.map +1 -1
  40. package/lib/scheduler/service.js +30 -1
  41. package/lib/scheduler/service.js.map +1 -1
  42. package/lib/scheduler/wakeup-context.d.ts +7 -0
  43. package/lib/scheduler/wakeup-context.d.ts.map +1 -0
  44. package/lib/scheduler/wakeup-context.js +14 -0
  45. package/lib/scheduler/wakeup-context.js.map +1 -0
  46. package/lib/scheduler/wakeup.d.ts +11 -0
  47. package/lib/scheduler/wakeup.d.ts.map +1 -0
  48. package/lib/scheduler/wakeup.js +52 -0
  49. package/lib/scheduler/wakeup.js.map +1 -0
  50. package/lib/skills/builtin.d.ts.map +1 -1
  51. package/lib/skills/builtin.js +5 -0
  52. package/lib/skills/builtin.js.map +1 -1
  53. package/lib/skills/long-task-continuation.d.ts +4 -0
  54. package/lib/skills/long-task-continuation.d.ts.map +1 -0
  55. package/lib/skills/long-task-continuation.js +43 -0
  56. package/lib/skills/long-task-continuation.js.map +1 -0
  57. package/lib/store.d.ts.map +1 -1
  58. package/lib/store.js +2 -0
  59. package/lib/store.js.map +1 -1
  60. package/lib/tasks/continuation-yield.d.ts +4 -0
  61. package/lib/tasks/continuation-yield.d.ts.map +1 -0
  62. package/lib/tasks/continuation-yield.js +27 -0
  63. package/lib/tasks/continuation-yield.js.map +1 -0
  64. package/lib/tasks/continuation.d.ts +13 -0
  65. package/lib/tasks/continuation.d.ts.map +1 -0
  66. package/lib/tasks/continuation.js +103 -0
  67. package/lib/tasks/continuation.js.map +1 -0
  68. package/lib/tasks/scheduling.d.ts.map +1 -1
  69. package/lib/tasks/scheduling.js +7 -0
  70. package/lib/tasks/scheduling.js.map +1 -1
  71. package/lib/tasks/service.d.ts.map +1 -1
  72. package/lib/tasks/service.js +4 -0
  73. package/lib/tasks/service.js.map +1 -1
  74. package/lib/ui/schedule-panel.d.ts.map +1 -1
  75. package/lib/ui/schedule-panel.js +19 -3
  76. package/lib/ui/schedule-panel.js.map +1 -1
  77. package/package.json +3 -1
@@ -1,6 +1,11 @@
1
1
  import { TASK_PLANNING_DESCRIPTION, TASK_PLANNING_DOCUMENT, TASK_PLANNING_VERSION } from './task-planning.js';
2
+ import { LONG_TASK_DESCRIPTION, LONG_TASK_DOCUMENT, LONG_TASK_VERSION } from './long-task-continuation.js';
2
3
  export const BUILTIN_SKILL_SOURCE = 'builtin';
3
4
  export const BUILTIN_SKILLS = new Map([
5
+ ['long-task-continuation', {
6
+ entry: { id: 'long-task-continuation', name: '长任务等待与续接', description: LONG_TASK_DESCRIPTION, version: LONG_TASK_VERSION, tags: ['定时任务', '续接'], skillUrl: 'builtin:long-task-continuation', sourceId: BUILTIN_SKILL_SOURCE },
7
+ document: LONG_TASK_DOCUMENT,
8
+ }],
4
9
  ['task-planning', {
5
10
  entry: { id: 'task-planning', name: '任务拆解与看板推进', description: TASK_PLANNING_DESCRIPTION, version: TASK_PLANNING_VERSION, tags: ['任务', '看板', '协作'], skillUrl: 'builtin:task-planning', sourceId: BUILTIN_SKILL_SOURCE },
6
11
  document: TASK_PLANNING_DOCUMENT,
@@ -1 +1 @@
1
- {"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../src/skills/builtin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE7G,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAA;AAE7C,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAwD;IAC3F,CAAC,eAAe,EAAE;YAChB,KAAK,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,yBAAyB,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,uBAAuB,EAAE,QAAQ,EAAE,oBAAoB,EAAE;YACtN,QAAQ,EAAE,sBAAsB;SACjC,CAAC;IACF,CAAC,oBAAoB,EAAE;YACrB,KAAK,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,iCAAiC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,4BAA4B,EAAE,QAAQ,EAAE,oBAAoB,EAAE;YAC3N,QAAQ,EAAE,wWAAwW;SACnX,CAAC;IACF,CAAC,eAAe,EAAE;YAChB,KAAK,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,uBAAuB,EAAE,QAAQ,EAAE,oBAAoB,EAAE;YACvM,QAAQ,EAAE,oRAAoR;SAC/R,CAAC;CACH,CAAC,CAAA"}
1
+ {"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../src/skills/builtin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC7G,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAE1G,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAA;AAE7C,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAwD;IAC3F,CAAC,wBAAwB,EAAE;YACzB,KAAK,EAAE,EAAE,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,gCAAgC,EAAE,QAAQ,EAAE,oBAAoB,EAAE;YAC3N,QAAQ,EAAE,kBAAkB;SAC7B,CAAC;IACF,CAAC,eAAe,EAAE;YAChB,KAAK,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,yBAAyB,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,uBAAuB,EAAE,QAAQ,EAAE,oBAAoB,EAAE;YACtN,QAAQ,EAAE,sBAAsB;SACjC,CAAC;IACF,CAAC,oBAAoB,EAAE;YACrB,KAAK,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,iCAAiC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,4BAA4B,EAAE,QAAQ,EAAE,oBAAoB,EAAE;YAC3N,QAAQ,EAAE,wWAAwW;SACnX,CAAC;IACF,CAAC,eAAe,EAAE;YAChB,KAAK,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,uBAAuB,EAAE,QAAQ,EAAE,oBAAoB,EAAE;YACvM,QAAQ,EAAE,oRAAoR;SAC/R,CAAC;CACH,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ export declare const LONG_TASK_DESCRIPTION = "\u4E3A\u5DF2\u63D0\u4EA4\u7684\u957F\u65F6\u95F4\u4EFB\u52A1\u9884\u7EA6\u4E00\u6B21\u6027\u5524\u9192\uFF0C\u6838\u9A8C\u72B6\u6001\u540E\u5EF6\u671F\u6216\u7EED\u63A5\uFF1B\u9700\u52FE\u9009\u5B9A\u65F6\u4EFB\u52A1\u80FD\u529B\uFF0C\u4E0D\u65B0\u589E\u6743\u9650\u3002";
2
+ export declare const LONG_TASK_VERSION = "1.2.0";
3
+ export declare const LONG_TASK_DOCUMENT = "---\nname: long-task-continuation\ndisplay-name: \u957F\u4EFB\u52A1\u7B49\u5F85\u4E0E\u7EED\u63A5\ndescription: \u4E3A\u5DF2\u63D0\u4EA4\u7684\u957F\u65F6\u95F4\u4EFB\u52A1\u9884\u7EA6\u4E00\u6B21\u6027\u5524\u9192\uFF0C\u6838\u9A8C\u72B6\u6001\u540E\u5EF6\u671F\u6216\u7EED\u63A5\uFF1B\u9700\u52FE\u9009\u5B9A\u65F6\u4EFB\u52A1\u80FD\u529B\uFF0C\u4E0D\u65B0\u589E\u6743\u9650\u3002\nversion: 1.2.0\ncontext: inline\nallowed-tools: [partner_schedule]\n---\n# \u957F\u4EFB\u52A1\u7B49\u5F85\u4E0E\u7EED\u63A5\n\n## \u4F7F\u7528\u524D\u63D0\n\u4F19\u4F34\u5FC5\u987B\u5DF2\u7ECF\u52FE\u9009\u201C\u5B9A\u65F6\u4EFB\u52A1\u201D\u80FD\u529B\u3002\u6280\u80FD\u4E0D\u6388\u4E88\u6743\u9650\uFF0C\u4E0D\u5F97\u81EA\u884C\u5F00\u542F\u80FD\u529B\u3001\u4FEE\u6539\u914D\u7F6E\u6216\u4F7F\u7528\u7CFB\u7EDF cron \u7ED5\u8FC7\u5F00\u5173\u3002\u6CA1\u6709\u672C\u6280\u80FD\u4E5F\u53EF\u4EE5\u6309 partner_schedule \u7684\u53C2\u6570\u8BF4\u660E\u8C03\u7528\u3002\n\u53EA\u7528\u4E8E\u7528\u6237\u5DF2\u7ECF\u6388\u6743\u3001\u5DF2\u7ECF\u771F\u5B9E\u63D0\u4EA4\u5E76\u62FF\u5230\u5916\u90E8\u4EFB\u52A1 ID \u7684\u5DE5\u4F5C\uFF0C\u4F8B\u5982\u89C6\u9891\u751F\u6210\u3001\u6784\u5EFA\u3001\u6570\u636E\u5904\u7406\u3002\u4E0D\u662F\u5173\u6CE8\u3001\u5468\u671F\u65E5\u62A5\u3001\u5C1A\u672A\u63D0\u4EA4\u7684\u8BA1\u5212\u6216\u666E\u901A\u5F85\u529E\u3002\u5DF2\u6709\u53EF\u9760\u56DE\u8C03\u6216\u5DF2\u77E5\u77ED\u65F6\u95F4\u5185\u5B8C\u6210\u65F6\u4E0D\u8981\u518D\u5EFA\u91CD\u590D\u8F6E\u8BE2\u3002\n\n## \u9996\u6B21\u9884\u7EA6\n1. \u786E\u8BA4\u63D0\u4EA4\u7ED3\u679C\uFF0C\u4FDD\u5B58\u5916\u90E8\u4EFB\u52A1 ID\u3001\u670D\u52A1\u5546/\u7CFB\u7EDF\u8EAB\u4EFD\u3001\u4EA7\u51FA\u4F4D\u7F6E\u548C\u53EA\u8BFB\u72B6\u6001\u67E5\u8BE2\u65B9\u5F0F\u3002\u4E0D\u5F97\u628A\u5BC6\u7801\u3001Token\u3001Cookie\u3001\u4E34\u65F6\u7B7E\u540D\u94FE\u63A5\u5199\u8FDB\u8BA1\u5212\uFF1B\u53EA\u8BB0\u5F55\u51ED\u636E\u5F15\u7528\u3002\n2. \u7528\u7A33\u5B9A taskKey\uFF08\u4F8B\u5982 video:provider:job-123\uFF09\u8C03\u7528 partner_schedule action=defer\uFF0C\u586B\u5199 externalTaskId\u3001title\u3001check\u3001nextStep\u3002check \u5199\u6E05\u72B6\u6001\u63A5\u53E3/\u5DE5\u5177\u3001\u6210\u529F/\u5931\u8D25/\u4ECD\u8FD0\u884C\u7684\u5224\u65AD\u4F9D\u636E\uFF1BnextStep \u5199\u660E\u4EA7\u7269\u6838\u9A8C\u3001\u540E\u7EED\u6388\u6743\u6B65\u9AA4\u3001\u5DF2\u6709\u5B8C\u6210\u6B65\u9AA4\u548C\u7528\u6237\u53D6\u6D88\u6761\u4EF6\u3002\n3. delayMinutes \u9ED8\u8BA4 2\uFF1BdeadlineMinutes \u9ED8\u8BA4 1440\uFF1BmaxAttempts \u9ED8\u8BA4 12\u3002\u6309\u4EFB\u52A1\u9884\u8BA1\u8017\u65F6\u5408\u7406\u7F29\u77ED\u9884\u7B97\uFF1B\u4E0D\u8981\u4E3A\u5C0F\u4EFB\u52A1\u7ED9\u65E0\u9650\u7B49\u5F85\u3002\u539F\u4F1A\u8BDD\u7531\u670D\u52A1\u7AEF\u8BB0\u5F55\uFF0C\u4E0D\u81EA\u884C\u586B\u5199\u5176\u4ED6\u4EBA\u7684\u4F1A\u8BDD\u3002\n4. \u5DE5\u5177\u6210\u529F\u8FD4\u56DE\u8BA1\u5212 ID \u624D\u80FD\u8BF4\u5DF2\u9884\u7EA6\u3002\u540C\u4E00\u4EFB\u52A1\u91CD\u8BD5\u4F7F\u7528\u76F8\u540C taskKey\uFF0C\u8FD4\u56DE\u65E7\u8BA1\u5212\u4E0D\u4F1A\u5237\u65B0\u4E0A\u9650\u3002\u7ED3\u675F\u672C\u8F6E\uFF0C\u8BA9\u6A21\u578B\u548C\u5DE5\u5177\u91CA\u653E\uFF0C\u4E0D sleep \u6216\u5FAA\u73AF\u5237\u72B6\u6001\u3002\n\n## \u5230\u70B9\u7EED\u63A5\n\u770B\u677F\u6267\u884C\u5185\u9884\u7EA6\u5FC5\u987B\u586B\u5199 boardTaskId\uFF0C\u7B49\u5F85\u671F\u95F4\u7531\u770B\u677F\u4FDD\u7559\u539F\u4EFB\u52A1\uFF0C\u4E0D\u91CD\u590D\u6D3E\u53D1\uFF0C\u4E5F\u4E0D\u628A\u7B49\u5F85\u8BF4\u660E\u63D0\u4EA4\u9A8C\u6536\u3002\u8FD4\u56DE\u5305\u542B continuation.board \u7684\u8BA1\u5212\u4E3A\u770B\u677F\u6258\u7BA1\uFF1A\u5524\u9192\u53EA\u6838\u9A8C\u5916\u90E8\u4EFB\u52A1\u5E76 resolve \u540E\u7ED3\u675F\uFF0CnextStep \u7531\u770B\u677F\u6062\u590D\u539F\u59D4\u6D3E\u6267\u884C\uFF1B\u4E0D\u8981\u5728\u5B9A\u65F6\u5524\u9192\u4E2D\u6267\u884C\u540E\u7EED\u6B65\u9AA4\u3002\u4E0B\u9762\u201C\u4E4B\u540E\u6267\u884C nextStep\u201D\u4EC5\u9002\u7528\u4E8E\u6CA1\u6709 continuation.board \u7684\u72EC\u7ACB\u9884\u7EA6\u3002\u4E0D\u8981\u4F7F\u7528\u5468\u671F create \u66FF\u4EE3\u770B\u677F\u7B49\u5F85\u3002\n\n\u7CFB\u7EDF\u5728\u539F\u4F1A\u8BDD\u9001\u5165\u7EED\u63A5\u8BF4\u660E\u53CA\u672C\u8F6E runToken\uFF1B\u6B63\u5728\u6267\u884C\u65F6\u63D2\u5165\u4E0B\u4E00\u5904\u7406\u70B9\uFF0C\u4E0D\u7B49\u5F85\u6574\u4E2A\u5BF9\u8BDD\u6216 Goal \u5B8C\u6210\u3002\u5148\u7528 list \u6838\u5BF9\u8BA1\u5212\u4ECD\u542F\u7528\u4E14 token \u76F8\u540C\uFF0C\u8FC7\u671F\u8BF7\u6C42\u8DF3\u8FC7\u3002\u5148\u68C0\u67E5\u7528\u6237\u662F\u5426\u53D6\u6D88\u3001\u76EE\u6807\u662F\u5426\u53D8\u66F4\u548C\u4EA7\u51FA\u662F\u5426\u5DF2\u5904\u7406\uFF1B\u6536\u5230\u53D6\u6D88\u8BF7\u6C42\u7ACB\u5373 action=cancel\uFF0C\u643A\u5E26 scheduleId\u3002\u5220\u9664\u8BA1\u5212\u4E5F\u4F1A\u505C\u6B62\u7EED\u63A5\uFF0C\u4F46\u4E0D\u4F1A\u81EA\u52A8\u53D6\u6D88\u5916\u90E8\u670D\u52A1\u6B63\u5728\u6267\u884C\u7684\u4EFB\u52A1\u3002\n\u5148\u6309\u539F\u65B9\u6CD5\u67E5\u8BE2\u5DF2\u6709 externalTaskId\u3002\u670D\u52A1\u91CD\u542F\u3001\u8D85\u65F6\u6216\u72B6\u6001\u4E0D\u660E\u65F6\u5C24\u5176\u4E0D\u80FD\u91CD\u65B0\u63D0\u4EA4\u4EFB\u52A1\uFF0C\u4E5F\u4E0D\u80FD\u628A\u5DF2\u6709\u540E\u7EED\u52A8\u4F5C\u505A\u7B2C\u4E8C\u904D\uFF1B\u5148\u8BFB\u771F\u5B9E\u4EA7\u51FA\u6216\u670D\u52A1\u7AEF\u72B6\u6001\u3002\n\n- \u4ECD\u8FD0\u884C\uFF1Aaction=resolve\uFF0CscheduleId\u3001runToken\u3001outcome=pending\u3001summary \u586B\u672C\u6B21\u4E8B\u5B9E\uFF0C\u53EF\u586B delayMinutes\u3002\u5EFA\u8BAE 2\u21924\u21928\u219215\u219230\u219260 \u5206\u949F\uFF0C\u670D\u52A1\u7AEF\u6709\u6700\u4F4E\u95F4\u9694\u548C\u4E0A\u9650\u3002\u5EF6\u671F\u6210\u529F\u540E\u7ED3\u675F\uFF1B\u4E0D\u8981\u901A\u77E5\u201C\u4ECD\u5728\u7B49\u5F85\u201D\u3002\n- \u6210\u529F\uFF1A\u6838\u9A8C\u672C\u9884\u7EA6\u81EA\u5DF1\u7684 completion\uFF08\u7701\u7565\u65F6\u4EC5\u8981\u6C42\u672C\u5916\u90E8\u4EFB\u52A1\u6210\u529F\u4E14\u4EA7\u51FA\u53EF\u56DE\u67E5\uFF09\u5B8C\u6210\u6761\u4EF6\uFF0C\u7ACB\u5373 resolve outcome=completed \u5173\u95ED\u672C\u9884\u7EA6\uFF0Csummary \u5199\u8BC1\u636E\u4E0E\u4EA7\u51FA\u4F4D\u7F6E\uFF1B\u4E4B\u540E\u624D\u6267\u884C nextStep\u3002\u65B0\u957F\u4EFB\u52A1\u53E6\u884C defer\uFF0C\u4E0D\u5EF6\u957F\u5DF2\u5B8C\u6210\u4EFB\u52A1\uFF0C\u4E0D\u7B49\u5F85\u6574\u4E2A\u5BF9\u8BDD\u6216 Goal \u5B8C\u6210\u3002\u7528\u6237\u53D6\u6D88\u6216\u6743\u9650\u64A4\u56DE\u540E\u4E0D\u5F97\u7EE7\u7EED\uFF1B\u9700\u8981\u5BA1\u6279\u7167\u5E38\u7533\u8BF7\u3002\n- \u5931\u8D25\u3001\u8BFB\u53D6\u4E0D\u5230\u53EF\u4FE1\u72B6\u6001\u3001\u9700\u8981\u7528\u6237\u9009\u62E9\u6216\u7F3A\u6743\u9650\uFF1Aresolve outcome=blocked\uFF0Csummary \u5199\u4E8B\u5B9E\u3001\u5DF2\u505A\u90E8\u5206\u548C\u9700\u8981\u7684\u5904\u7406\u3002\u8FBE\u5230\u671F\u9650/\u6B21\u6570\u4F1A\u505C\u6B62\uFF0C\u4E0D\u6362 taskKey \u6216\u65B0\u5EFA\u8BA1\u5212\u7ED5\u8FC7\u9650\u5236\u3002\n\n\u5524\u9192\u4E2D\u7684 resolve \u53EA\u80FD\u4F7F\u7528\u672C\u8F6E runToken\uFF0C\u65E7\u8F6E\u6B21\u4E0D\u80FD\u8986\u76D6\u65B0\u8F6E\u6B21\u3002\u539F\u4F1A\u8BDD\u63D0\u524D\u6838\u5B9E\u7B49\u5F85\u4E2D\u7684\u4EFB\u52A1\u5DF2\u5B8C\u6210/\u5931\u8D25\u65F6\uFF0C\u53EF\u7528 scheduleId\u3001\u7CBE\u786E externalTaskId\u3001summary\u3001outcome=completed/blocked \u63D0\u524D\u5173\u95ED\uFF0C\u4E0D\u4F20 runToken\u3002\u6CA1\u6709 resolve \u7684\u53E3\u5934\u627F\u8BFA\u4E0D\u7B97\u5B8C\u6210\u3002\u6BCF\u8F6E\u542B\u81EA\u52A8\u7EED\u8F6E\u5148 list\uFF0C\u5C1A\u672A\u5230\u671F\u7684\u4EFB\u52A1\u4E0D\u91CD\u590D\u8F6E\u8BE2\u6216 sleep\uFF0C\u4E0D\u4E3A\u9884\u7EA6\u521B\u5EFA\u6216\u4FEE\u6539 Goal\u3002\u68C0\u67E5\u8D85\u65F6\u53EA\u6682\u505C\u9884\u7EA6\uFF0C\u4E0D\u53D6\u6D88\u5171\u4EAB\u5BF9\u8BDD\u3002\u5B8C\u6210/\u53D7\u963B\u7531\u7CFB\u7EDF\u901A\u77E5\uFF0C\u4E0D\u989D\u5916\u91CD\u590D\u53D1\u6D88\u606F\u3002\n\n## \u6700\u5C0F\u793A\u4F8B\ndefer\uFF1A{\"action\":\"defer\",\"taskKey\":\"video:provider:job-123\",\"externalTaskId\":\"job-123\",\"title\":\"\u89C6\u9891\u751F\u6210\u540E\u68C0\u67E5\u5E76\u4E0B\u8F7D\",\"check\":\"\u7528\u539F\u89C6\u9891\u670D\u52A1\u67E5\u8BE2 job-123\uFF1Bqueued/running \u7B49\u5F85\uFF0Cfailed \u53D7\u963B\uFF0Ccompleted \u540E\u6838\u5BF9\u4EA7\u7269\u94FE\u63A5\u3002\",\"nextStep\":\"\u5148\u67E5\u672C\u5730\u662F\u5426\u5DF2\u4E0B\u8F7D\uFF1B\u672A\u4E0B\u8F7D\u65F6\u4FDD\u5B58\u5230\u672C\u4EFB\u52A1\u5DE5\u4F5C\u76EE\u5F55\u5E76\u9A8C\u8BC1\u6587\u4EF6\uFF0C\u62A5\u544A\u8DEF\u5F84\uFF0C\u4E0D\u91CD\u590D\u751F\u6210\u3002\",\"delayMinutes\":2,\"deadlineMinutes\":120,\"maxAttempts\":8}\nresolve\uFF1A{\"action\":\"resolve\",\"scheduleId\":\"\u5DE5\u5177\u8FD4\u56DE\u7684 ID\",\"runToken\":\"\u672C\u8F6E\u5524\u9192\u63D0\u4F9B\u7684 token\",\"outcome\":\"pending\",\"summary\":\"\u5DF2\u67E5\u8BE2\uFF0C\u670D\u52A1\u7AEF\u4ECD\u4E3A running\u3002\",\"delayMinutes\":4}\n\n## \u6392\u67E5\n\u6CA1\u6709\u5DE5\u5177\uFF1A\u5148\u68C0\u67E5\u5B9A\u65F6\u4EFB\u52A1\u80FD\u529B\uFF0C\u4E0D\u8981\u6C42\u5FC5\u987B\u5B89\u88C5\u672C\u6280\u80FD\u3002\u5DF2\u6709\u4EFB\u52A1\u505C\u4F4F\uFF1A\u67E5\u770B\u8BA1\u5212\u542F\u7528\u72B6\u6001\u3001\u4F19\u4F34\u80FD\u529B\u3001\u622A\u6B62\u65F6\u95F4\u3001\u68C0\u67E5\u6B21\u6570\u3001\u539F\u4F1A\u8BDD\u662F\u5426\u5F52\u6863\u548C\u6700\u8FD1\u7ED3\u679C\u3002\u53D7\u963B\u4E0D\u7B49\u4E8E\u5916\u90E8\u4EFB\u52A1\u5931\u8D25\uFF0C\u5FC5\u987B\u533A\u5206\u3002\n\u5173\u95ED\u80FD\u529B\u540E\u4E0D\u6267\u884C\u9884\u7EA6\uFF1B\u5DF2\u7ECF\u6267\u884C\u4E2D\u7684\u8C03\u7528\u4F1A\u8BF7\u6C42\u4E2D\u65AD\uFF0C\u4F46\u5DF2\u5728\u5916\u90E8\u63D0\u4EA4\u7684\u526F\u4F5C\u7528\u65E0\u6CD5\u56DE\u6EDA\u3002\u4E2D\u65AD\u540E\u7684\u7EED\u63A5\u9ED8\u8BA4\u6682\u505C\u4F9B\u6838\u5B9E\uFF0C\u907F\u514D\u91CD\u590D\u52A8\u4F5C\u3002\n";
4
+ //# sourceMappingURL=long-task-continuation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"long-task-continuation.d.ts","sourceRoot":"","sources":["../../src/skills/long-task-continuation.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,mRAAkD,CAAA;AACpF,eAAO,MAAM,iBAAiB,UAAU,CAAA;AACxC,eAAO,MAAM,kBAAkB,qkTAuC9B,CAAA"}
@@ -0,0 +1,43 @@
1
+ export const LONG_TASK_DESCRIPTION = '为已提交的长时间任务预约一次性唤醒,核验状态后延期或续接;需勾选定时任务能力,不新增权限。';
2
+ export const LONG_TASK_VERSION = '1.2.0';
3
+ export const LONG_TASK_DOCUMENT = `---
4
+ name: long-task-continuation
5
+ display-name: 长任务等待与续接
6
+ description: ${LONG_TASK_DESCRIPTION}
7
+ version: ${LONG_TASK_VERSION}
8
+ context: inline
9
+ allowed-tools: [partner_schedule]
10
+ ---
11
+ # 长任务等待与续接
12
+
13
+ ## 使用前提
14
+ 伙伴必须已经勾选“定时任务”能力。技能不授予权限,不得自行开启能力、修改配置或使用系统 cron 绕过开关。没有本技能也可以按 partner_schedule 的参数说明调用。
15
+ 只用于用户已经授权、已经真实提交并拿到外部任务 ID 的工作,例如视频生成、构建、数据处理。不是关注、周期日报、尚未提交的计划或普通待办。已有可靠回调或已知短时间内完成时不要再建重复轮询。
16
+
17
+ ## 首次预约
18
+ 1. 确认提交结果,保存外部任务 ID、服务商/系统身份、产出位置和只读状态查询方式。不得把密码、Token、Cookie、临时签名链接写进计划;只记录凭据引用。
19
+ 2. 用稳定 taskKey(例如 video:provider:job-123)调用 partner_schedule action=defer,填写 externalTaskId、title、check、nextStep。check 写清状态接口/工具、成功/失败/仍运行的判断依据;nextStep 写明产物核验、后续授权步骤、已有完成步骤和用户取消条件。
20
+ 3. delayMinutes 默认 2;deadlineMinutes 默认 1440;maxAttempts 默认 12。按任务预计耗时合理缩短预算;不要为小任务给无限等待。原会话由服务端记录,不自行填写其他人的会话。
21
+ 4. 工具成功返回计划 ID 才能说已预约。同一任务重试使用相同 taskKey,返回旧计划不会刷新上限。结束本轮,让模型和工具释放,不 sleep 或循环刷状态。
22
+
23
+ ## 到点续接
24
+ 看板执行内预约必须填写 boardTaskId,等待期间由看板保留原任务,不重复派发,也不把等待说明提交验收。返回包含 continuation.board 的计划为看板托管:唤醒只核验外部任务并 resolve 后结束,nextStep 由看板恢复原委派执行;不要在定时唤醒中执行后续步骤。下面“之后执行 nextStep”仅适用于没有 continuation.board 的独立预约。不要使用周期 create 替代看板等待。
25
+
26
+ 系统在原会话送入续接说明及本轮 runToken;正在执行时插入下一处理点,不等待整个对话或 Goal 完成。先用 list 核对计划仍启用且 token 相同,过期请求跳过。先检查用户是否取消、目标是否变更和产出是否已处理;收到取消请求立即 action=cancel,携带 scheduleId。删除计划也会停止续接,但不会自动取消外部服务正在执行的任务。
27
+ 先按原方法查询已有 externalTaskId。服务重启、超时或状态不明时尤其不能重新提交任务,也不能把已有后续动作做第二遍;先读真实产出或服务端状态。
28
+
29
+ - 仍运行:action=resolve,scheduleId、runToken、outcome=pending、summary 填本次事实,可填 delayMinutes。建议 2→4→8→15→30→60 分钟,服务端有最低间隔和上限。延期成功后结束;不要通知“仍在等待”。
30
+ - 成功:核验本预约自己的 completion(省略时仅要求本外部任务成功且产出可回查)完成条件,立即 resolve outcome=completed 关闭本预约,summary 写证据与产出位置;之后才执行 nextStep。新长任务另行 defer,不延长已完成任务,不等待整个对话或 Goal 完成。用户取消或权限撤回后不得继续;需要审批照常申请。
31
+ - 失败、读取不到可信状态、需要用户选择或缺权限:resolve outcome=blocked,summary 写事实、已做部分和需要的处理。达到期限/次数会停止,不换 taskKey 或新建计划绕过限制。
32
+
33
+ 唤醒中的 resolve 只能使用本轮 runToken,旧轮次不能覆盖新轮次。原会话提前核实等待中的任务已完成/失败时,可用 scheduleId、精确 externalTaskId、summary、outcome=completed/blocked 提前关闭,不传 runToken。没有 resolve 的口头承诺不算完成。每轮含自动续轮先 list,尚未到期的任务不重复轮询或 sleep,不为预约创建或修改 Goal。检查超时只暂停预约,不取消共享对话。完成/受阻由系统通知,不额外重复发消息。
34
+
35
+ ## 最小示例
36
+ defer:{"action":"defer","taskKey":"video:provider:job-123","externalTaskId":"job-123","title":"视频生成后检查并下载","check":"用原视频服务查询 job-123;queued/running 等待,failed 受阻,completed 后核对产物链接。","nextStep":"先查本地是否已下载;未下载时保存到本任务工作目录并验证文件,报告路径,不重复生成。","delayMinutes":2,"deadlineMinutes":120,"maxAttempts":8}
37
+ resolve:{"action":"resolve","scheduleId":"工具返回的 ID","runToken":"本轮唤醒提供的 token","outcome":"pending","summary":"已查询,服务端仍为 running。","delayMinutes":4}
38
+
39
+ ## 排查
40
+ 没有工具:先检查定时任务能力,不要求必须安装本技能。已有任务停住:查看计划启用状态、伙伴能力、截止时间、检查次数、原会话是否归档和最近结果。受阻不等于外部任务失败,必须区分。
41
+ 关闭能力后不执行预约;已经执行中的调用会请求中断,但已在外部提交的副作用无法回滚。中断后的续接默认暂停供核实,避免重复动作。
42
+ `;
43
+ //# sourceMappingURL=long-task-continuation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"long-task-continuation.js","sourceRoot":"","sources":["../../src/skills/long-task-continuation.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,+CAA+C,CAAA;AACpF,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAA;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;eAGnB,qBAAqB;WACzB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmC3B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAGA,OAAO,EAA6E,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1H,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAGrE,qBAAa,YAAY;IAOH,OAAO,CAAC,QAAQ,CAAC,IAAI;IAA+B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IAN/F,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyG;IAEnI,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO;WAIM,SAAS,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC;IAGrE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;WAEhB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAqBtD,QAAQ,IAAI,YAAY;IAIxB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAExC,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,IAAI;IAM7C,kFAAkF;IAClF,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,GAAG,OAAO;IAI5E,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;IAMhH,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;YAqB5D,OAAO;CAoBtB"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAGA,OAAO,EAA6E,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1H,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAIrE,qBAAa,YAAY;IAOH,OAAO,CAAC,QAAQ,CAAC,IAAI;IAA+B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IAN/F,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyG;IAEnI,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO;WAIM,SAAS,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC;IAGrE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;WAEhB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAqBtD,QAAQ,IAAI,YAAY;IAIxB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAExC,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,IAAI;IAM7C,kFAAkF;IAClF,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,GAAG,OAAO;IAI5E,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;IAMhH,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;YAsB5D,OAAO;CAoBtB"}
package/lib/store.js CHANGED
@@ -4,6 +4,7 @@ import { randomBytes } from 'node:crypto';
4
4
  import { createDefaultCompanion, DEFAULT_AUTOMATION, normalizeLegacyHeartbeatFocus } from './domain.js';
5
5
  import { mergeBuiltinMarketSources } from './skills/markets/builtin.js';
6
6
  import { validateMcpState } from './mcp/state.js';
7
+ import { reconcileBoardContinuations } from './tasks/continuation.js';
7
8
  export class PartnerStore {
8
9
  path;
9
10
  split;
@@ -71,6 +72,7 @@ export class PartnerStore {
71
72
  this.writes = this.writes.then(async () => {
72
73
  const next = structuredClone(this.state);
73
74
  change(next);
75
+ reconcileBoardContinuations(next);
74
76
  validateState(next);
75
77
  await this.persist(next);
76
78
  const previous = this.state;
package/lib/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { PartnerStore } from '../store.js';
2
+ /** A persisted deferral ends this board execution lease, not the shared conversation. */
3
+ export declare function waitForBoardTurn(store: PartnerStore, delegationId: string, idle: Promise<unknown>, signal?: AbortSignal): Promise<boolean>;
4
+ //# sourceMappingURL=continuation-yield.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuation-yield.d.ts","sourceRoot":"","sources":["../../src/tasks/continuation-yield.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,yFAAyF;AACzF,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBhJ"}
@@ -0,0 +1,27 @@
1
+ /** A persisted deferral ends this board execution lease, not the shared conversation. */
2
+ export async function waitForBoardTurn(store, delegationId, idle, signal) {
3
+ let dispose = () => { };
4
+ let abort = () => { };
5
+ try {
6
+ return await new Promise((resolve, reject) => {
7
+ const check = () => {
8
+ const item = store.snapshot().delegations.find(d => d.id === delegationId);
9
+ if (item?.status === 'queued' && item.continuationScheduleId)
10
+ resolve(true);
11
+ };
12
+ dispose = store.subscribe(check, reject);
13
+ abort = () => reject(signal?.reason ?? new Error('看板执行已取消'));
14
+ signal?.addEventListener('abort', abort, { once: true });
15
+ idle.then(() => resolve(false), reject);
16
+ if (signal?.aborted)
17
+ abort();
18
+ else
19
+ check();
20
+ });
21
+ }
22
+ finally {
23
+ dispose();
24
+ signal?.removeEventListener('abort', abort);
25
+ }
26
+ }
27
+ //# sourceMappingURL=continuation-yield.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuation-yield.js","sourceRoot":"","sources":["../../src/tasks/continuation-yield.ts"],"names":[],"mappings":"AAEA,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAmB,EAAE,YAAoB,EAAE,IAAsB,EAAE,MAAoB;IAC5H,IAAI,OAAO,GAAG,GAAS,EAAE,GAAE,CAAC,CAAA;IAC5B,IAAI,KAAK,GAAG,GAAS,EAAE,GAAE,CAAC,CAAA;IAC1B,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpD,MAAM,KAAK,GAAG,GAAS,EAAE;gBACvB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,CAAA;gBAC1E,IAAI,IAAI,EAAE,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,sBAAsB;oBAAE,OAAO,CAAC,IAAI,CAAC,CAAA;YAC7E,CAAC,CAAA;YACD,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;YACxC,KAAK,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;YAC5D,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YACxD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;YACvC,IAAI,MAAM,EAAE,OAAO;gBAAE,KAAK,EAAE,CAAA;;gBACvB,KAAK,EAAE,CAAA;QACd,CAAC,CAAC,CAAA;IACJ,CAAC;YAAS,CAAC;QAAC,OAAO,EAAE,CAAC;QAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAAC,CAAC;AACtE,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { PartnerState } from '../domain.js';
2
+ import type { ScheduledPartnerTask } from '../scheduler/domain.js';
3
+ /** Board ownership is explicit and revision-bound; never suspend a whole companion. */
4
+ export declare function bindBoardContinuation(state: PartnerState, entry: ScheduledPartnerTask, taskId?: string): void;
5
+ export declare function boardContinuation(state: PartnerState, taskId: string): ScheduledPartnerTask | undefined;
6
+ /** Runs inside the same store transaction as edits/cancellation/receipts. */
7
+ export declare function reconcileBoardContinuations(state: PartnerState): void;
8
+ export declare function continuationDispatchWait(state: PartnerState, taskId: string): {
9
+ code: string;
10
+ message: string;
11
+ retryAt?: number;
12
+ } | undefined;
13
+ //# sourceMappingURL=continuation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuation.d.ts","sourceRoot":"","sources":["../../src/tasks/continuation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAGlE,uFAAuF;AACvF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAgB7G;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAGvG;AAED,6EAA6E;AAC7E,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CA+CrE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAI7I"}
@@ -0,0 +1,103 @@
1
+ import { taskDispatchDenied } from '../collaboration/task-dispatch.js';
2
+ /** Board ownership is explicit and revision-bound; never suspend a whole companion. */
3
+ export function bindBoardContinuation(state, entry, taskId) {
4
+ const wake = entry.continuation;
5
+ const candidates = state.delegations.filter(d => d.kind !== 'review' && d.status === 'running'
6
+ && d.toCompanionId === entry.companionId && d.executionSessionId === wake.originSessionId
7
+ && (!taskId || d.taskId === taskId));
8
+ if (!candidates.length && !taskId)
9
+ return;
10
+ if (candidates.length !== 1)
11
+ throw new Error('无法唯一确定当前执行的看板任务,请填写当前任务的 boardTaskId');
12
+ const delegation = candidates[0];
13
+ const task = state.tasks.find(t => t.id === delegation.taskId);
14
+ if (!task || task.status !== 'doing' || task.replanRequested)
15
+ throw new Error('看板任务已变更,不能预约旧任务');
16
+ if (state.schedules.some(s => s.continuation?.board?.taskId === task.id && ['waiting', 'running'].includes(s.continuation.state)))
17
+ throw new Error('此看板任务已有等待预约,请先核实原预约,不能重复创建');
18
+ wake.board = { taskId: task.id, delegationId: delegation.id, workRevision: task.workRevision ?? 1 };
19
+ delegation.continuationScheduleId = entry.id;
20
+ delegation.status = 'queued';
21
+ delete delegation.nextAttemptAt;
22
+ delete delegation.error;
23
+ }
24
+ export function boardContinuation(state, taskId) {
25
+ return state.schedules.find(s => s.continuation?.board?.taskId === taskId
26
+ && ['waiting', 'running'].includes(s.continuation.state));
27
+ }
28
+ /** Runs inside the same store transaction as edits/cancellation/receipts. */
29
+ export function reconcileBoardContinuations(state) {
30
+ const now = Date.now();
31
+ // Task deletion can remove the delegation too; scan timers as well as jobs.
32
+ for (const entry of state.schedules) {
33
+ const wake = entry.continuation, link = wake?.board;
34
+ if (!wake || !link || !['waiting', 'running'].includes(wake.state))
35
+ continue;
36
+ const task = state.tasks.find(t => t.id === link.taskId);
37
+ const job = state.delegations.find(d => d.id === link.delegationId);
38
+ if (task?.status === 'doing' && !task.replanRequested && (task.workRevision ?? 1) === link.workRevision
39
+ && task.assigneeCompanionId === entry.companionId && job?.continuationScheduleId === entry.id
40
+ && ['queued', 'running'].includes(job.status))
41
+ continue;
42
+ wake.state = 'cancelled';
43
+ wake.summary = '看板任务已删除、改派、修改或结束,旧预约失效';
44
+ delete wake.runToken;
45
+ entry.enabled = false;
46
+ entry.updatedAt = now;
47
+ }
48
+ for (const delegation of state.delegations) {
49
+ if (!delegation.continuationScheduleId)
50
+ continue;
51
+ const entry = state.schedules.find(s => s.id === delegation.continuationScheduleId);
52
+ const wake = entry?.continuation, link = wake?.board;
53
+ // Once resumed, normal execution/result handling owns the delegation again.
54
+ if (delegation.status !== 'queued' && !['waiting', 'running'].includes(wake?.state ?? ''))
55
+ continue;
56
+ const task = state.tasks.find(t => t.id === delegation.taskId);
57
+ const valid = task && !task.replanRequested && task.status === 'doing'
58
+ && task.assigneeCompanionId === delegation.toCompanionId && link?.delegationId === delegation.id
59
+ && link.workRevision === (task.workRevision ?? 1) && !['canceled', 'failed', 'completed'].includes(delegation.status);
60
+ if (!valid) {
61
+ if (entry && wake && ['waiting', 'running'].includes(wake.state)) {
62
+ wake.state = 'cancelled';
63
+ wake.summary = '看板任务已删除、改派、修改或结束,旧预约失效';
64
+ delete wake.runToken;
65
+ entry.enabled = false;
66
+ entry.updatedAt = now;
67
+ }
68
+ if (entry && ['queued', 'running'].includes(delegation.status)) {
69
+ delegation.status = 'canceled';
70
+ delegation.completedAt = now;
71
+ delegation.error = '看板任务已变更,旧续接执行失效';
72
+ }
73
+ // A missing timer must block its work, not silently rerun external submission.
74
+ if (entry || !task || delegation.status !== 'queued')
75
+ continue;
76
+ }
77
+ if (!task || !['queued', 'running'].includes(delegation.status))
78
+ continue;
79
+ if (!entry || taskDispatchDenied(state, delegation) || !state.companions.find(c => c.id === entry.companionId)?.capabilities.includes('schedules')
80
+ || wake?.state === 'blocked' || wake?.state === 'cancelled') {
81
+ task.status = 'blocked';
82
+ task.resultSummary = taskDispatchDenied(state, delegation) || wake?.summary || '长任务续接已取消、删除或权限撤回,请核实外部任务后再恢复';
83
+ task.updatedAt = now;
84
+ task.revision++;
85
+ delegation.status = 'failed';
86
+ delegation.error = task.resultSummary;
87
+ delegation.completedAt = now;
88
+ if (entry && wake && ['waiting', 'running'].includes(wake.state)) {
89
+ wake.state = 'blocked';
90
+ wake.summary = task.resultSummary;
91
+ delete wake.runToken;
92
+ entry.enabled = false;
93
+ }
94
+ }
95
+ }
96
+ }
97
+ export function continuationDispatchWait(state, taskId) {
98
+ const entry = boardContinuation(state, taskId);
99
+ if (!entry)
100
+ return;
101
+ return { code: 'external_wait', message: !entry.enabled ? '外部任务续接已暂停' : entry.continuation?.state === 'running' ? '正在核实外部任务结果' : '等待外部任务结果', ...(entry.enabled ? { retryAt: entry.nextRunAt } : {}) };
102
+ }
103
+ //# sourceMappingURL=continuation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuation.js","sourceRoot":"","sources":["../../src/tasks/continuation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scheduling.d.ts","sourceRoot":"","sources":["../../src/tasks/scheduling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAGtF,eAAO,MAAM,iBAAiB,IAAI,CAAA;AAClC,MAAM,WAAW,cAAc;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE;AAEhI,oFAAoF;AACpF,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAAG,cAAc,GAAG,SAAS,CAQ7I;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,SAAS,iBAAiB,EAAE,GAAG,cAAc,CAoB9H"}
1
+ {"version":3,"file":"scheduling.d.ts","sourceRoot":"","sources":["../../src/tasks/scheduling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAItF,eAAO,MAAM,iBAAiB,IAAI,CAAA;AAClC,MAAM,WAAW,cAAc;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE;AAEhI,oFAAoF;AACpF,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAAG,cAAc,GAAG,SAAS,CAU7I;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,SAAS,iBAAiB,EAAE,GAAG,cAAc,CAsB9H"}
@@ -1,8 +1,12 @@
1
1
  import { delegationPending } from '../collaboration/domain.js';
2
2
  import { taskDispatchDenied } from '../collaboration/task-dispatch.js';
3
+ import { continuationDispatchWait } from './continuation.js';
3
4
  export const BOARD_CONCURRENCY = 3;
4
5
  /** The same resource predicate is used at claim time and in read-only UI status. */
5
6
  export function executionWait(state, task, liveClaims = []) {
7
+ const waiting = continuationDispatchWait(state, task.id);
8
+ if (waiting)
9
+ return waiting;
6
10
  const running = [...new Map([...state.delegations.filter(d => d.status === 'running'), ...liveClaims].map(d => [d.id, d])).values()];
7
11
  const keys = new Set(task.resourceKeys ?? []);
8
12
  const conflicts = running.filter(d => (d.resourceKeys ?? state.tasks.find(t => t.id === d.taskId)?.resourceKeys ?? []).some(k => keys.has(k)));
@@ -20,6 +24,9 @@ export function taskScheduling(state, task, liveClaims) {
20
24
  return { code: 'replan', message: '等待需求负责人重新规划' };
21
25
  if (task.status === 'blocked')
22
26
  return { code: 'blocked', message: task.resultSummary?.slice(0, 200) || '执行受阻,需要处理' };
27
+ const waiting = continuationDispatchWait(state, task.id);
28
+ if (waiting)
29
+ return waiting;
23
30
  const job = state.delegations.find(d => d.taskId === task.id && delegationPending(d));
24
31
  if (job?.status === 'running')
25
32
  return { code: 'running', message: job.kind === 'review' ? '正在验收' : '正在执行' };
@@ -1 +1 @@
1
- {"version":3,"file":"scheduling.js","sourceRoot":"","sources":["../../src/tasks/scheduling.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduling.js","sourceRoot":"","sources":["../../src/tasks/scheduling.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/tasks/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/tasks/service.ts"],"names":[],"mappings":"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"}
@@ -98,6 +98,8 @@ export class TaskBoardService {
98
98
  task.description = typeof input.description === 'string' ? input.description.trim().slice(0, 8000) : task.description;
99
99
  if (input.status !== undefined)
100
100
  task.status = oneOf(input.status, TASK_STATUSES, 'status');
101
+ if (['review', 'done'].includes(task.status) && state.schedules.some(s => s.continuation?.board?.taskId === task.id && ['waiting', 'running'].includes(s.continuation.state)))
102
+ throw new Error('任务正在等待外部结果,不能提前送验收或标记完成');
101
103
  if (input.priority !== undefined)
102
104
  task.priority = oneOf(input.priority, TASK_PRIORITIES, 'priority');
103
105
  if (input.autoRun !== undefined) {
@@ -240,6 +242,8 @@ export class TaskBoardService {
240
242
  throw new TaskNotFoundError();
241
243
  if (task.status !== 'doing' && task.status !== 'review')
242
244
  throw new Error('只有进行中或待验收的任务可以提交执行结果');
245
+ if (state.schedules.some(s => s.continuation?.board?.taskId === task.id && ['waiting', 'running'].includes(s.continuation.state)))
246
+ throw new Error('任务正在等待外部结果,不能把等待说明作为交付结果送验收');
243
247
  if (workRevision !== undefined && workRevision !== (task.workRevision ?? 1))
244
248
  throw new TaskConflictError(task);
245
249
  previousStatus = task.status;