opencode-swarm 7.164.1 → 7.164.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/.opencode/skills/codebase-review-swarm/SKILL.md +4 -0
  2. package/.opencode/skills/commit-pr/SKILL.md +4 -1
  3. package/.opencode/skills/critic-gate/SKILL.md +4 -0
  4. package/.opencode/skills/deep-dive/SKILL.md +4 -0
  5. package/.opencode/skills/engineering-conventions/SKILL.md +2 -0
  6. package/.opencode/skills/execute/SKILL.md +4 -0
  7. package/.opencode/skills/phase-wrap/SKILL.md +4 -0
  8. package/.opencode/skills/plan/SKILL.md +4 -0
  9. package/.opencode/skills/running-tests/SKILL.md +4 -0
  10. package/.opencode/skills/swarm-pr-review/SKILL.md +4 -0
  11. package/.opencode/skills/swarm-pr-review/references/prompt-templates.md +2 -0
  12. package/.opencode/skills/writing-tests/SKILL.md +4 -0
  13. package/dist/agents/critic.d.ts +6 -6
  14. package/dist/cli/{coder-settlement-w4qk90kh.js → coder-settlement-m918n7qj.js} +9 -9
  15. package/dist/cli/{config-doctor-r81bp1nd.js → config-doctor-5kytbwbx.js} +3 -3
  16. package/dist/cli/{core-xfw4s9b9.js → core-anw5khk2.js} +2 -2
  17. package/dist/cli/{curation-policy-2h37sd6p.js → curation-policy-7pnmnfct.js} +5 -5
  18. package/dist/cli/{curator-llm-factory-7gjvm4ds.js → curator-llm-factory-6swjnnb1.js} +30 -30
  19. package/dist/cli/{curator-7zy6bdmw.js → curator-yq6raqgs.js} +30 -30
  20. package/dist/cli/{evidence-summary-service-519ny6b1.js → evidence-summary-service-8sbxvt2x.js} +13 -13
  21. package/dist/cli/{gate-evidence-a7st3vbc.js → gate-evidence-53v7e938.js} +6 -6
  22. package/dist/cli/{guardrail-explain-ewcm37em.js → guardrail-explain-jhsqdzxr.js} +31 -31
  23. package/dist/cli/{guardrail-log-kp51by1v.js → guardrail-log-q5sj7zby.js} +7 -7
  24. package/dist/cli/{guardrail-reset-reyfwtwn.js → guardrail-reset-dw45p5zc.js} +30 -30
  25. package/dist/cli/{hive-promoter-zf2vf5sw.js → hive-promoter-0axzw0h5.js} +30 -30
  26. package/dist/cli/{index-dhzsvmx6.js → index-0145kpjr.js} +2 -2
  27. package/dist/cli/{index-jczbtx2x.js → index-0e34njnm.js} +6 -6
  28. package/dist/cli/{index-fwfhbs27.js → index-11st3tgy.js} +2 -2
  29. package/dist/cli/{index-6097tx05.js → index-2xj34nkh.js} +1 -1
  30. package/dist/cli/{index-vrxx0ea4.js → index-3fpqmms2.js} +4 -4
  31. package/dist/cli/{index-5084szce.js → index-493mxwj5.js} +7 -7
  32. package/dist/cli/{index-862c0xhc.js → index-4wneygfx.js} +1 -1
  33. package/dist/cli/{index-6kd3jnaf.js → index-5d7bzpfn.js} +1 -1
  34. package/dist/cli/{index-644t46hr.js → index-5pxdtskj.js} +1 -1
  35. package/dist/cli/{index-2s40e3b0.js → index-84qah5h6.js} +2 -2
  36. package/dist/cli/{index-e630pvvw.js → index-88g6q52x.js} +3 -3
  37. package/dist/cli/{index-wv4b01ex.js → index-8t11vcf5.js} +4 -4
  38. package/dist/cli/{index-1af3rb5n.js → index-95hhrw1d.js} +8 -8
  39. package/dist/cli/{index-hzaw10zh.js → index-9pwa798m.js} +5 -5
  40. package/dist/cli/{index-vc3zmtxb.js → index-aaqzcnb9.js} +32 -32
  41. package/dist/cli/{index-j0ajeary.js → index-ac39znep.js} +1 -1
  42. package/dist/cli/{index-r5jn0ah5.js → index-aty2dfmt.js} +2 -2
  43. package/dist/cli/{index-1b1h770t.js → index-bzd67m2j.js} +3 -3
  44. package/dist/cli/{index-x2qmpkth.js → index-c8k4cs94.js} +3 -3
  45. package/dist/cli/{index-2ee2g27m.js → index-ehf0vjhx.js} +404 -119
  46. package/dist/cli/{index-wnf1ej2q.js → index-fc153g7b.js} +4 -4
  47. package/dist/cli/{index-pmmfhzsp.js → index-j98116cx.js} +3 -3
  48. package/dist/cli/{index-n1wcq816.js → index-jwc2v92w.js} +4 -4
  49. package/dist/cli/{index-5bza8nxz.js → index-kn0y788q.js} +2 -2
  50. package/dist/cli/{index-yc415pzf.js → index-kyayzfxp.js} +3 -3
  51. package/dist/cli/{index-2yd732fd.js → index-m1nrd3yd.js} +2 -1
  52. package/dist/cli/{index-6ay5zp1v.js → index-rhdwrfgc.js} +5 -5
  53. package/dist/cli/{index-k8j7m0e2.js → index-sb4eanpv.js} +1 -1
  54. package/dist/cli/{index-b98r3pyv.js → index-sn2vm710.js} +4 -4
  55. package/dist/cli/{index-vkckf2ch.js → index-w5jpjaqe.js} +2 -2
  56. package/dist/cli/{index-h2f21caa.js → index-xkqja15t.js} +2 -2
  57. package/dist/cli/{index-36nt17m8.js → index-yep24wn4.js} +1 -1
  58. package/dist/cli/{index-vdgw2k4c.js → index-yhpbcrdk.js} +3 -3
  59. package/dist/cli/{index-6t35714n.js → index-zs1jrsta.js} +1 -1
  60. package/dist/cli/index.js +30 -30
  61. package/dist/cli/{knowledge-escalator-wwkbsgvw.js → knowledge-escalator-atn5tfy2.js} +12 -12
  62. package/dist/cli/{knowledge-events-vmmgwfmc.js → knowledge-events-58ha93tx.js} +10 -10
  63. package/dist/cli/{knowledge-link-bvra01zv.js → knowledge-link-2gh1cnk3.js} +4 -4
  64. package/dist/cli/{knowledge-store-6wbagbqm.js → knowledge-store-2vkn4qyy.js} +5 -5
  65. package/dist/cli/{knowledge-validator-q1z4fmeg.js → knowledge-validator-gcbfq9er.js} +7 -7
  66. package/dist/cli/{model-preflight-1ecjbg73.js → model-preflight-pmnbfzjv.js} +1 -1
  67. package/dist/cli/{pending-delegations-cq5g4rr4.js → pending-delegations-esp3gpac.js} +4 -4
  68. package/dist/cli/{pr-subscriptions-m0z5wxkb.js → pr-subscriptions-sdv0n59c.js} +4 -4
  69. package/dist/cli/{pr-workflow-gate-0zvp0qs9.js → pr-workflow-gate-v5wh09wz.js} +30 -30
  70. package/dist/cli/{runner-s55g5233.js → runner-m95v9d47.js} +5 -5
  71. package/dist/cli/{scan-cursor-z6zepy3r.js → scan-cursor-6x0sqjer.js} +6 -6
  72. package/dist/cli/{schema-skf0ckh4.js → schema-mgpsycrr.js} +2 -2
  73. package/dist/cli/{scope-persistence-f6davq7x.js → scope-persistence-pwqshfyr.js} +9 -9
  74. package/dist/cli/{skill-generator-wqbazppk.js → skill-generator-bywdfza0.js} +14 -14
  75. package/dist/cli/{telemetry-q51s6tyt.js → telemetry-c4j18da8.js} +1 -1
  76. package/dist/cli/{worktree-collision-ownership-c0030qbm.js → worktree-collision-ownership-71x5pqfz.js} +4 -4
  77. package/dist/cli/{worktree-isolation-09qq8066.js → worktree-isolation-e6tym281.js} +30 -30
  78. package/dist/hooks/delegate-ack-collector.d.ts +5 -0
  79. package/dist/hooks/delegation-gate.d.ts +13 -2
  80. package/dist/hooks/plan-task-id-context.d.ts +24 -0
  81. package/dist/hooks/skill-injection.d.ts +7 -3
  82. package/dist/hooks/skill-propagation-gate.d.ts +1 -1
  83. package/dist/hooks/task-id-resolver.d.ts +46 -0
  84. package/dist/index.js +73 -48
  85. package/dist/services/tool-doctor.d.ts +3 -2
  86. package/dist/tools/tool-metadata.d.ts +6 -5
  87. package/opencode-swarm.schema.json +4 -1
  88. package/package.json +1 -1
@@ -77,64 +77,64 @@ import {
77
77
  withPrWorkflowCheckoutMutationLock,
78
78
  withPrWorkflowCheckoutPreparationLock,
79
79
  writePrWorkflowAtomicJson
80
- } from "./index-2ee2g27m.js";
81
- import"./index-6097tx05.js";
82
- import"./index-wv4b01ex.js";
83
- import"./index-r5jn0ah5.js";
84
- import"./index-5084szce.js";
85
- import"./index-vkckf2ch.js";
80
+ } from "./index-ehf0vjhx.js";
81
+ import"./index-2xj34nkh.js";
82
+ import"./index-8t11vcf5.js";
83
+ import"./index-aty2dfmt.js";
84
+ import"./index-493mxwj5.js";
85
+ import"./index-w5jpjaqe.js";
86
86
  import"./index-txdagbh7.js";
87
87
  import"./index-3146wmgv.js";
88
- import"./index-e630pvvw.js";
89
- import"./index-6ay5zp1v.js";
90
- import"./index-h2f21caa.js";
88
+ import"./index-88g6q52x.js";
89
+ import"./index-rhdwrfgc.js";
90
+ import"./index-xkqja15t.js";
91
91
  import"./index-70ha9e09.js";
92
92
  import"./index-y2f5s2cf.js";
93
93
  import"./index-hcn69kp0.js";
94
94
  import"./index-zaab1wz9.js";
95
- import"./index-x2qmpkth.js";
95
+ import"./index-c8k4cs94.js";
96
96
  import"./index-zsrtt42s.js";
97
- import"./index-hzaw10zh.js";
97
+ import"./index-9pwa798m.js";
98
98
  import"./index-3f7hqtgg.js";
99
99
  import"./index-qbr05tbw.js";
100
- import"./index-wnf1ej2q.js";
101
- import"./index-k8j7m0e2.js";
100
+ import"./index-fc153g7b.js";
101
+ import"./index-sb4eanpv.js";
102
102
  import"./index-rtry5xyf.js";
103
- import"./index-n1wcq816.js";
104
- import"./index-5bza8nxz.js";
103
+ import"./index-jwc2v92w.js";
104
+ import"./index-kn0y788q.js";
105
105
  import {
106
106
  PR_REVIEW_BASE_DIMENSION_IDS
107
- } from "./index-yc415pzf.js";
107
+ } from "./index-kyayzfxp.js";
108
108
  import"./index-ddszzne4.js";
109
- import"./index-b98r3pyv.js";
110
- import"./index-vdgw2k4c.js";
111
- import"./index-dhzsvmx6.js";
109
+ import"./index-sn2vm710.js";
110
+ import"./index-yhpbcrdk.js";
111
+ import"./index-0145kpjr.js";
112
112
  import"./index-556ja8an.js";
113
113
  import"./index-4fwbbad3.js";
114
114
  import"./index-b43rt5ph.js";
115
115
  import"./index-q7sjgr1y.js";
116
- import"./index-jczbtx2x.js";
117
- import"./index-1af3rb5n.js";
118
- import"./index-pmmfhzsp.js";
116
+ import"./index-0e34njnm.js";
117
+ import"./index-95hhrw1d.js";
118
+ import"./index-j98116cx.js";
119
119
  import"./index-zg9d392c.js";
120
120
  import"./index-n832052r.js";
121
121
  import"./index-v56mhyhs.js";
122
122
  import"./index-z6xqpmqg.js";
123
123
  import"./index-r3mvsbtq.js";
124
- import"./index-862c0xhc.js";
125
- import"./index-2s40e3b0.js";
124
+ import"./index-4wneygfx.js";
125
+ import"./index-84qah5h6.js";
126
126
  import"./index-9e6fdz2h.js";
127
127
  import"./index-4rhhvd1a.js";
128
- import"./index-j0ajeary.js";
129
- import"./index-2yd732fd.js";
128
+ import"./index-ac39znep.js";
129
+ import"./index-m1nrd3yd.js";
130
130
  import"./index-zjygnfay.js";
131
131
  import"./index-ae75rja9.js";
132
- import"./index-6kd3jnaf.js";
133
- import"./index-6t35714n.js";
132
+ import"./index-5d7bzpfn.js";
133
+ import"./index-zs1jrsta.js";
134
134
  import"./index-bk5tah7q.js";
135
- import"./index-36nt17m8.js";
135
+ import"./index-yep24wn4.js";
136
136
  import"./index-f9nfknjg.js";
137
- import"./index-1b1h770t.js";
137
+ import"./index-bzd67m2j.js";
138
138
  import"./index-7g4c7s5r.js";
139
139
  import"./index-bpmtbmy9.js";
140
140
  import"./index-zgwm4ryv.js";
@@ -3,14 +3,14 @@ import {
3
3
  _internals,
4
4
  createModelEvaluationExecutor,
5
5
  runEvaluation
6
- } from "./index-6097tx05.js";
7
- import"./index-vkckf2ch.js";
6
+ } from "./index-2xj34nkh.js";
7
+ import"./index-w5jpjaqe.js";
8
8
  import"./index-txdagbh7.js";
9
9
  import"./index-r3mvsbtq.js";
10
- import"./index-6t35714n.js";
11
- import"./index-36nt17m8.js";
10
+ import"./index-zs1jrsta.js";
11
+ import"./index-yep24wn4.js";
12
12
  import"./index-f9nfknjg.js";
13
- import"./index-1b1h770t.js";
13
+ import"./index-bzd67m2j.js";
14
14
  import"./index-7g4c7s5r.js";
15
15
  import"./index-bpmtbmy9.js";
16
16
  import"./index-zgwm4ryv.js";
@@ -4,17 +4,17 @@ import {
4
4
  alreadyCuratedThisGeneration,
5
5
  claimNextScanBatch,
6
6
  getScanStatus
7
- } from "./index-h2f21caa.js";
8
- import"./index-jczbtx2x.js";
7
+ } from "./index-xkqja15t.js";
8
+ import"./index-0e34njnm.js";
9
9
  import"./index-9e6fdz2h.js";
10
10
  import"./index-4rhhvd1a.js";
11
11
  import"./index-ae75rja9.js";
12
- import"./index-6kd3jnaf.js";
13
- import"./index-6t35714n.js";
12
+ import"./index-5d7bzpfn.js";
13
+ import"./index-zs1jrsta.js";
14
14
  import"./index-bk5tah7q.js";
15
- import"./index-36nt17m8.js";
15
+ import"./index-yep24wn4.js";
16
16
  import"./index-f9nfknjg.js";
17
- import"./index-1b1h770t.js";
17
+ import"./index-bzd67m2j.js";
18
18
  import"./index-7g4c7s5r.js";
19
19
  import"./index-bpmtbmy9.js";
20
20
  import"./index-zgwm4ryv.js";
@@ -102,8 +102,8 @@ import {
102
102
  resolveGeneratedAgentRole,
103
103
  resolveGuardrailsConfig,
104
104
  stripKnownSwarmPrefix
105
- } from "./index-2s40e3b0.js";
106
- import"./index-2yd732fd.js";
105
+ } from "./index-84qah5h6.js";
106
+ import"./index-m1nrd3yd.js";
107
107
  import"./index-zjygnfay.js";
108
108
  import"./index-bk5tah7q.js";
109
109
  import"./index-bpmtbmy9.js";
@@ -23,21 +23,21 @@ import {
23
23
  tombstoneScopeBinding,
24
24
  writeScopeBindingToDisk,
25
25
  writeScopeToDisk
26
- } from "./index-b98r3pyv.js";
27
- import"./index-vdgw2k4c.js";
28
- import"./index-dhzsvmx6.js";
26
+ } from "./index-sn2vm710.js";
27
+ import"./index-yhpbcrdk.js";
28
+ import"./index-0145kpjr.js";
29
29
  import"./index-556ja8an.js";
30
- import"./index-862c0xhc.js";
31
- import"./index-2s40e3b0.js";
30
+ import"./index-4wneygfx.js";
31
+ import"./index-84qah5h6.js";
32
32
  import"./index-9e6fdz2h.js";
33
33
  import"./index-4rhhvd1a.js";
34
- import"./index-j0ajeary.js";
35
- import"./index-2yd732fd.js";
34
+ import"./index-ac39znep.js";
35
+ import"./index-m1nrd3yd.js";
36
36
  import"./index-zjygnfay.js";
37
37
  import"./index-bk5tah7q.js";
38
- import"./index-36nt17m8.js";
38
+ import"./index-yep24wn4.js";
39
39
  import"./index-f9nfknjg.js";
40
- import"./index-1b1h770t.js";
40
+ import"./index-bzd67m2j.js";
41
41
  import"./index-7g4c7s5r.js";
42
42
  import"./index-bpmtbmy9.js";
43
43
  import"./index-zgwm4ryv.js";
@@ -33,33 +33,33 @@ import {
33
33
  sanitizeSlug,
34
34
  selectCandidateEntries,
35
35
  writeEvalStub
36
- } from "./index-e630pvvw.js";
37
- import"./index-wnf1ej2q.js";
38
- import"./index-k8j7m0e2.js";
36
+ } from "./index-88g6q52x.js";
37
+ import"./index-fc153g7b.js";
38
+ import"./index-sb4eanpv.js";
39
39
  import"./index-rtry5xyf.js";
40
40
  import"./index-q7sjgr1y.js";
41
- import"./index-jczbtx2x.js";
42
- import"./index-1af3rb5n.js";
43
- import"./index-pmmfhzsp.js";
41
+ import"./index-0e34njnm.js";
42
+ import"./index-95hhrw1d.js";
43
+ import"./index-j98116cx.js";
44
44
  import"./index-zg9d392c.js";
45
45
  import"./index-n832052r.js";
46
46
  import"./index-v56mhyhs.js";
47
47
  import"./index-z6xqpmqg.js";
48
48
  import"./index-r3mvsbtq.js";
49
- import"./index-862c0xhc.js";
50
- import"./index-2s40e3b0.js";
49
+ import"./index-4wneygfx.js";
50
+ import"./index-84qah5h6.js";
51
51
  import"./index-9e6fdz2h.js";
52
52
  import"./index-4rhhvd1a.js";
53
- import"./index-j0ajeary.js";
54
- import"./index-2yd732fd.js";
53
+ import"./index-ac39znep.js";
54
+ import"./index-m1nrd3yd.js";
55
55
  import"./index-zjygnfay.js";
56
56
  import"./index-ae75rja9.js";
57
- import"./index-6kd3jnaf.js";
58
- import"./index-6t35714n.js";
57
+ import"./index-5d7bzpfn.js";
58
+ import"./index-zs1jrsta.js";
59
59
  import"./index-bk5tah7q.js";
60
- import"./index-36nt17m8.js";
60
+ import"./index-yep24wn4.js";
61
61
  import"./index-f9nfknjg.js";
62
- import"./index-1b1h770t.js";
62
+ import"./index-bzd67m2j.js";
63
63
  import"./index-7g4c7s5r.js";
64
64
  import"./index-bpmtbmy9.js";
65
65
  import"./index-zgwm4ryv.js";
@@ -14,7 +14,7 @@ import {
14
14
  startHeartbeatTracking,
15
15
  stopHeartbeatTracking,
16
16
  telemetry
17
- } from "./index-1b1h770t.js";
17
+ } from "./index-bzd67m2j.js";
18
18
  import"./index-bpmtbmy9.js";
19
19
  import"./index-a76rekgs.js";
20
20
  export {
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  scanDelegationFallbacksForRecovery,
12
12
  scanDelegationsForRecovery
13
- } from "./index-yc415pzf.js";
13
+ } from "./index-kyayzfxp.js";
14
14
  import"./index-ddszzne4.js";
15
15
  import"./index-v56mhyhs.js";
16
16
  import"./index-z6xqpmqg.js";
@@ -22,11 +22,11 @@ import {
22
22
  resolveGitExecutable
23
23
  } from "./index-9e6fdz2h.js";
24
24
  import"./index-4rhhvd1a.js";
25
- import"./index-j0ajeary.js";
25
+ import"./index-ac39znep.js";
26
26
  import"./index-zjygnfay.js";
27
- import"./index-36nt17m8.js";
27
+ import"./index-yep24wn4.js";
28
28
  import"./index-f9nfknjg.js";
29
- import"./index-1b1h770t.js";
29
+ import"./index-bzd67m2j.js";
30
30
  import"./index-7g4c7s5r.js";
31
31
  import"./index-bpmtbmy9.js";
32
32
  import"./index-zgwm4ryv.js";
@@ -21,64 +21,64 @@ import {
21
21
  sanitizeWorktreeTaskId,
22
22
  standardWorktreeByCallID,
23
23
  standardWorktreeSerializationSessions
24
- } from "./index-2ee2g27m.js";
25
- import"./index-6097tx05.js";
26
- import"./index-wv4b01ex.js";
27
- import"./index-r5jn0ah5.js";
28
- import"./index-5084szce.js";
29
- import"./index-vkckf2ch.js";
24
+ } from "./index-ehf0vjhx.js";
25
+ import"./index-2xj34nkh.js";
26
+ import"./index-8t11vcf5.js";
27
+ import"./index-aty2dfmt.js";
28
+ import"./index-493mxwj5.js";
29
+ import"./index-w5jpjaqe.js";
30
30
  import"./index-txdagbh7.js";
31
31
  import"./index-3146wmgv.js";
32
- import"./index-e630pvvw.js";
33
- import"./index-6ay5zp1v.js";
34
- import"./index-h2f21caa.js";
32
+ import"./index-88g6q52x.js";
33
+ import"./index-rhdwrfgc.js";
34
+ import"./index-xkqja15t.js";
35
35
  import"./index-70ha9e09.js";
36
36
  import"./index-y2f5s2cf.js";
37
37
  import"./index-hcn69kp0.js";
38
38
  import"./index-zaab1wz9.js";
39
- import"./index-x2qmpkth.js";
39
+ import"./index-c8k4cs94.js";
40
40
  import"./index-zsrtt42s.js";
41
- import"./index-hzaw10zh.js";
41
+ import"./index-9pwa798m.js";
42
42
  import"./index-3f7hqtgg.js";
43
43
  import"./index-qbr05tbw.js";
44
- import"./index-wnf1ej2q.js";
45
- import"./index-k8j7m0e2.js";
44
+ import"./index-fc153g7b.js";
45
+ import"./index-sb4eanpv.js";
46
46
  import"./index-rtry5xyf.js";
47
- import"./index-n1wcq816.js";
48
- import"./index-5bza8nxz.js";
49
- import"./index-yc415pzf.js";
47
+ import"./index-jwc2v92w.js";
48
+ import"./index-kn0y788q.js";
49
+ import"./index-kyayzfxp.js";
50
50
  import"./index-ddszzne4.js";
51
- import"./index-b98r3pyv.js";
52
- import"./index-vdgw2k4c.js";
53
- import"./index-dhzsvmx6.js";
51
+ import"./index-sn2vm710.js";
52
+ import"./index-yhpbcrdk.js";
53
+ import"./index-0145kpjr.js";
54
54
  import"./index-556ja8an.js";
55
55
  import"./index-4fwbbad3.js";
56
56
  import"./index-b43rt5ph.js";
57
57
  import"./index-q7sjgr1y.js";
58
- import"./index-jczbtx2x.js";
59
- import"./index-1af3rb5n.js";
58
+ import"./index-0e34njnm.js";
59
+ import"./index-95hhrw1d.js";
60
60
  import {
61
61
  resolveWorktreeIsolationConfig
62
- } from "./index-pmmfhzsp.js";
62
+ } from "./index-j98116cx.js";
63
63
  import"./index-zg9d392c.js";
64
64
  import"./index-n832052r.js";
65
65
  import"./index-v56mhyhs.js";
66
66
  import"./index-z6xqpmqg.js";
67
67
  import"./index-r3mvsbtq.js";
68
- import"./index-862c0xhc.js";
69
- import"./index-2s40e3b0.js";
68
+ import"./index-4wneygfx.js";
69
+ import"./index-84qah5h6.js";
70
70
  import"./index-9e6fdz2h.js";
71
71
  import"./index-4rhhvd1a.js";
72
- import"./index-j0ajeary.js";
73
- import"./index-2yd732fd.js";
72
+ import"./index-ac39znep.js";
73
+ import"./index-m1nrd3yd.js";
74
74
  import"./index-zjygnfay.js";
75
75
  import"./index-ae75rja9.js";
76
- import"./index-6kd3jnaf.js";
77
- import"./index-6t35714n.js";
76
+ import"./index-5d7bzpfn.js";
77
+ import"./index-zs1jrsta.js";
78
78
  import"./index-bk5tah7q.js";
79
- import"./index-36nt17m8.js";
79
+ import"./index-yep24wn4.js";
80
80
  import"./index-f9nfknjg.js";
81
- import"./index-1b1h770t.js";
81
+ import"./index-bzd67m2j.js";
82
82
  import"./index-7g4c7s5r.js";
83
83
  import"./index-bpmtbmy9.js";
84
84
  import"./index-zgwm4ryv.js";
@@ -27,6 +27,7 @@
27
27
  * durable `delegate_directive` memberships) and Task collections share ONE
28
28
  * implementation — not a second lifecycle copy.
29
29
  */
30
+ import { type TaskIdResolution } from './task-id-resolver.js';
30
31
  export interface DelegateAckInput {
31
32
  tool: unknown;
32
33
  agent?: unknown;
@@ -36,6 +37,8 @@ export interface DelegateAckInput {
36
37
  export interface DelegateAckOutput {
37
38
  output?: unknown;
38
39
  }
40
+ /** Best-effort extraction of a task id from a delegation prompt envelope. */
41
+ export declare function resolveDelegateAckTaskId(args: Record<string, unknown>, knownPlanTaskIds?: ReadonlySet<string>, planContextOverLimit?: boolean): string | undefined;
39
42
  export interface CollectDelegateAcksResult {
40
43
  emitted: Array<{
41
44
  id: string;
@@ -113,6 +116,8 @@ export declare function collectDelegateAcks(params: {
113
116
  agent: string;
114
117
  sessionId?: string;
115
118
  taskId?: string;
119
+ /** A caller-owned resolution attempt; non-resolved states forbid reparsing. */
120
+ taskIdResolution?: TaskIdResolution;
116
121
  }): Promise<CollectDelegateAcksResult>;
117
122
  export interface CollectLaneDelegateAcksResult extends CollectDelegateAcksResult {
118
123
  /**
@@ -11,6 +11,9 @@ import { type QaGates } from '../db/qa-gate-profile.js';
11
11
  import { loadPlanJsonOnly } from '../plan/manager';
12
12
  import type { AgentSessionState } from '../state';
13
13
  import type { DelegationEnvelope, EnvelopeValidationResult } from '../types/delegation.js';
14
+ import { type PlanTaskIdContext } from './plan-task-id-context.js';
15
+ import { resolveDelegatedPlanTaskId } from './task-id-resolver.js';
16
+ export { resolveDelegatedPlanTaskId } from './task-id-resolver.js';
14
17
  import { resetStandardWorktreeIsolationState } from './delegation-gate/worktree-isolation';
15
18
  export { resetStandardWorktreeIsolationState };
16
19
  import { _internals as _wtiInternals } from './delegation-gate/worktree-isolation';
@@ -351,6 +354,14 @@ interface MessageWithParts {
351
354
  info: MessageInfo;
352
355
  parts: MessagePart[];
353
356
  }
357
+ /**
358
+ * Extracts a plan task ID (N.M or N.M.P format) from text.
359
+ * Checks for:
360
+ * 1. Task IDs in task list format: "- [ ] 1.1: ..." or "- [x] 1.1: ..."
361
+ * 2. Standalone task IDs like "1.1" or "1.2.3" near the TASK: line
362
+ * Returns the plan task ID if found, otherwise null.
363
+ */
364
+ declare function extractPlanTaskId(text: string): string | null;
354
365
  declare function extractPlanCriticVerdict(output: unknown): 'APPROVED' | 'NEEDS_REVISION' | 'REJECTED' | null;
355
366
  /**
356
367
  * Returns whether the plan in the given directory has a valid plan-critic
@@ -407,7 +418,6 @@ export declare function forceRecordPlanCriticApproval(directory: string, session
407
418
  reason?: string;
408
419
  userConfirmed: boolean;
409
420
  }>;
410
- export declare function resolveDelegatedPlanTaskId(args: Record<string, unknown>, knownPlanTaskIds?: ReadonlySet<string>): string | null;
411
421
  /**
412
422
  * Builds a cause-specific diagnostic for `prepareCoderScope`'s SCOPE_NOT_DECLARED
413
423
  * throw when `resolveDelegatedPlanTaskId` returns null. Re-runs extraction with
@@ -418,7 +428,7 @@ export declare function resolveDelegatedPlanTaskId(args: Record<string, unknown>
418
428
  * latency, and does NOT handle plan-task-shaped-but-unknown ids (those are
419
429
  * rejected by the membership gate in prepareCoderScope with their own message).
420
430
  */
421
- declare function describeCoderScopeFailure(args: Record<string, unknown>, planTaskIds: ReadonlySet<string>): string;
431
+ declare function describeCoderScopeFailure(args: Record<string, unknown>, planTaskIdContext: PlanTaskIdContext): string;
422
432
  type FileDirectiveExtractionMode = 'enforce' | 'observe';
423
433
  declare function extractTaskFileDirectives(args: Record<string, unknown>, mode?: FileDirectiveExtractionMode): {
424
434
  present: boolean;
@@ -493,6 +503,7 @@ export declare const _internals: {
493
503
  resetStandardWorktreeIsolationState: typeof resetStandardWorktreeIsolationState;
494
504
  PLAN_CRITIC_TASK_SIGNALS: readonly ["critic-gate", "plan critic", "review plan", "review the plan", "plan.md", "approve the plan", "plan approval", "pre-implementation review", "evaluate this plan", "evaluate the plan", "assess this plan", "assess the plan", "plan soundness", "before implementation", "review the plan below"];
495
505
  extractPlanCriticVerdict: typeof extractPlanCriticVerdict;
506
+ extractPlanTaskId: typeof extractPlanTaskId;
496
507
  forceRecordPlanCriticApproval: typeof forceRecordPlanCriticApproval;
497
508
  beforePrFeedbackScopeConsume: (() => Promise<void>) | undefined;
498
509
  provisionWorktree: typeof _wtiInternals.provisionWorktree;
@@ -0,0 +1,24 @@
1
+ import { type TaskIdPlanContextOptions } from './task-id-resolver.js';
2
+ export type PlanTaskIdContext = {
3
+ status: 'available';
4
+ taskIds: ReadonlySet<string>;
5
+ } | {
6
+ status: 'unavailable';
7
+ } | {
8
+ status: 'over_limit';
9
+ };
10
+ /** Traverse plan phases without first materializing an unbounded flat task list. */
11
+ export declare function collectPlanTaskIdContextFromPhases(phases: ReadonlyArray<{
12
+ tasks?: ReadonlyArray<{
13
+ id?: string;
14
+ } | null> | null;
15
+ } | null | undefined>): PlanTaskIdContext;
16
+ /**
17
+ * Best-effort caller-side plan context for the pure task-ID resolver.
18
+ * Missing/corrupt plans remain distinguishable from valid plans whose task-ID
19
+ * cardinality exceeds the resolver bound. Callers must preserve that distinction
20
+ * so numeric IDs never become unfiltered when a plan is merely too large.
21
+ */
22
+ export declare function loadPlanTaskIdContext(directory: string): Promise<PlanTaskIdContext>;
23
+ /** Convert a typed loader result into the resolver's bounded plan context. */
24
+ export declare function toTaskIdPlanContextOptions(context: PlanTaskIdContext): TaskIdPlanContextOptions;
@@ -15,9 +15,9 @@
15
15
  * the three other recording sites in `skill-propagation-gate.ts`, (b) broke
16
16
  * the SKILL_COMPLIANCE round-trip join except by coincidence, and (c)
17
17
  * inflated frequency / taskID-diversity scoring. The fallback is
18
- * `'auto-injected'` rather than `'unknown'` so the compliance resolver's
19
- * `resolvedTaskID !== 'unknown'` guard at `skill-propagation-gate.ts:1302`
20
- * continues to fire and populate fallback skill paths.
18
+ * `'auto-injected'` to preserve a stable local audit ID for the injection
19
+ * entry; reviewer compliance attribution still requires an explicit TASK
20
+ * marker and otherwise fails closed as `'unknown'`.
21
21
  *
22
22
  * 2. Observability — a `skill_injection_decision` event is emitted to
23
23
  * `.swarm/events.jsonl` for BOTH the qualified-injection and the
@@ -40,6 +40,10 @@ export interface RecommendedSkill {
40
40
  export interface SkillInjectionOptions {
41
41
  /** When true, suppresses console.warn output (does not affect event emission). */
42
42
  quiet?: boolean;
43
+ /** Caller-loaded finite plan IDs for plan-aware attribution. */
44
+ knownPlanTaskIds?: ReadonlySet<string>;
45
+ /** The caller observed a valid plan whose task-ID cardinality exceeded the bound. */
46
+ planContextOverLimit?: boolean;
43
47
  }
44
48
  /** Result of an injection attempt. */
45
49
  export interface SkillInjectionResult {
@@ -160,7 +160,7 @@ export declare function validateExplicitSkillReferencesBefore(directory: string,
160
160
  * Looks for patterns like "taskId: <id>" or "TASK: <id>" (case-insensitive).
161
161
  * Returns "unknown" when no pattern is found.
162
162
  */
163
- export declare function extractTaskIdFromPrompt(prompt: string): string;
163
+ export declare function extractTaskIdFromPrompt(prompt: string, knownPlanTaskIds?: ReadonlySet<string>, planContextOverLimit?: boolean): string;
164
164
  /**
165
165
  * Pre-tool gate. When the architect delegates via Task tool to a skill-capable
166
166
  * agent and the SKILLS field is missing or 'none' while skills exist in the
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Pure, bounded task-identity resolution shared by delegation hooks.
3
+ *
4
+ * This leaf deliberately performs no I/O and imports no plan, hook, or tool
5
+ * modules. Callers own plan loading and may supply only finite known IDs and an
6
+ * optional fallback whose uniqueness they have already proved.
7
+ */
8
+ export declare const TASK_ID_RESOLUTION_LIMITS: {
9
+ readonly maxFields: 4;
10
+ readonly maxFieldChars: number;
11
+ readonly maxTotalChars: number;
12
+ readonly maxKnownIds: 1024;
13
+ readonly maxCandidates: 32;
14
+ readonly maxTokenChars: 80;
15
+ };
16
+ export type TaskIdPolicy = 'plan' | 'attribution';
17
+ export type TaskIdSource = 'explicit' | 'task_line' | 'text' | 'marker' | 'fallback';
18
+ export type TaskIdResolution = {
19
+ status: 'resolved';
20
+ taskId: string;
21
+ source: TaskIdSource;
22
+ } | {
23
+ status: 'missing';
24
+ } | {
25
+ status: 'ambiguous';
26
+ candidates: string[];
27
+ } | {
28
+ status: 'over_limit';
29
+ input: string;
30
+ } | {
31
+ status: 'invalid';
32
+ input: string;
33
+ };
34
+ export interface ResolveTaskIdOptions {
35
+ policy: TaskIdPolicy;
36
+ knownPlanTaskIds?: ReadonlySet<string>;
37
+ /** The caller observed a valid plan whose task-ID cardinality exceeded the bound. */
38
+ planContextOverLimit?: boolean;
39
+ fallback?: string;
40
+ fallbackProvenUnique?: boolean;
41
+ }
42
+ export type TaskIdPlanContextOptions = Pick<ResolveTaskIdOptions, 'knownPlanTaskIds' | 'planContextOverLimit'>;
43
+ /** Resolve a task identity without I/O or mutable session state. */
44
+ export declare function resolveTaskId(input: Record<string, unknown>, options: ResolveTaskIdOptions): TaskIdResolution;
45
+ /** Backward-compatible delegation API backed by the bounded plan policy. */
46
+ export declare function resolveDelegatedPlanTaskId(args: Record<string, unknown>, planContext?: ReadonlySet<string> | TaskIdPlanContextOptions): string | null;