opencode-swarm 7.184.9 → 7.184.10

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 (91) hide show
  1. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  2. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  3. package/dist/cli/{coder-settlement-wv26kvbq.js → coder-settlement-b47vmcm9.js} +11 -11
  4. package/dist/cli/{config-doctor-0v3a8gwd.js → config-doctor-3j3m2ccc.js} +3 -3
  5. package/dist/cli/{core-sw3g54fw.js → core-td5kj2w8.js} +4 -4
  6. package/dist/cli/{curation-policy-734npcqk.js → curation-policy-xe77n9zj.js} +4 -4
  7. package/dist/cli/{curator-1ffd62zb.js → curator-c7we2apv.js} +38 -38
  8. package/dist/cli/{curator-drift-hbpphpph.js → curator-drift-wxyhgz7y.js} +9 -9
  9. package/dist/cli/curator-llm-factory-1260n9ty.js +75 -0
  10. package/dist/cli/{evidence-summary-service-yynh7bqj.js → evidence-summary-service-2t1ttdgj.js} +17 -17
  11. package/dist/cli/{gate-evidence-72cmq7sq.js → gate-evidence-5w2q1h5w.js} +8 -6
  12. package/dist/cli/guardrail-explain-qeywnmza.js +76 -0
  13. package/dist/cli/{guardrail-log-7202nsc9.js → guardrail-log-5zwqdhaf.js} +7 -7
  14. package/dist/cli/{guardrail-reset-nwyhnz98.js → guardrail-reset-qnq1swzf.js} +38 -38
  15. package/dist/cli/{hive-promoter-0b8ht2g0.js → hive-promoter-c3c6tz3b.js} +38 -38
  16. package/dist/cli/{index-d5vkn5eg.js → index-07fqfseh.js} +2 -2
  17. package/dist/cli/{index-955e0wpp.js → index-0ajyhjht.js} +1 -1
  18. package/dist/cli/{index-snzz0yvz.js → index-0d7e94zg.js} +7 -7
  19. package/dist/cli/{index-1r22v0js.js → index-0mj7hc2z.js} +1 -1
  20. package/dist/cli/{index-tdtqm702.js → index-19e61hgv.js} +12 -12
  21. package/dist/cli/{index-0hzr6vdh.js → index-1g2bm6ht.js} +2 -2
  22. package/dist/cli/{index-gj0121y5.js → index-260174fq.js} +4 -4
  23. package/dist/cli/{index-g2jbpm6g.js → index-35cdceqf.js} +1 -1
  24. package/dist/cli/{index-zvz722td.js → index-3rfc2v1d.js} +3 -3
  25. package/dist/cli/{index-cbwmx38c.js → index-3wgvpxmv.js} +76 -76
  26. package/dist/cli/{index-hkbs7pcd.js → index-45h58v8d.js} +7 -7
  27. package/dist/cli/{index-ezagem2g.js → index-48jvqqfa.js} +2 -2
  28. package/dist/cli/{index-et6gxgbn.js → index-4szb7qpv.js} +37 -6
  29. package/dist/cli/{index-na3qxeha.js → index-54f1payv.js} +2 -2
  30. package/dist/cli/{index-s9pq2q6h.js → index-5m1b70z3.js} +1 -1
  31. package/dist/cli/{index-z5nqpnem.js → index-7849gy4s.js} +5 -5
  32. package/dist/cli/{index-yn0nsxwv.js → index-8n2dh26k.js} +1 -1
  33. package/dist/cli/{index-tps93cp3.js → index-95vytkv6.js} +4 -4
  34. package/dist/cli/{index-vx1dt9x3.js → index-9jz73x8x.js} +38 -38
  35. package/dist/cli/{index-5egfk9c6.js → index-aae38s4x.js} +1 -1
  36. package/dist/cli/{index-tkk06smw.js → index-b6saxkqj.js} +2 -2
  37. package/dist/cli/{index-zygpw9qb.js → index-be5h97z8.js} +1 -1
  38. package/dist/cli/{index-hp5xyqxs.js → index-bhj3zx43.js} +1 -1
  39. package/dist/cli/{index-kf8gkdtq.js → index-bt1k1ek3.js} +1 -1
  40. package/dist/cli/{index-cq1gpknp.js → index-cjh92zm9.js} +40 -40
  41. package/dist/cli/{index-f2xrc6r5.js → index-djnxehe7.js} +6 -6
  42. package/dist/cli/{index-7wth46ez.js → index-dqpq8m9w.js} +2 -2
  43. package/dist/cli/{index-mk9kd5wr.js → index-f336fv53.js} +4 -4
  44. package/dist/cli/{index-cvrtpb52.js → index-fn1y9jpv.js} +3 -3
  45. package/dist/cli/{index-jnts5d04.js → index-fxtgxe04.js} +7 -7
  46. package/dist/cli/{index-fx0kf5jt.js → index-gnryhmak.js} +1 -1
  47. package/dist/cli/{index-kjetx4xq.js → index-hk0eh9qb.js} +1 -1
  48. package/dist/cli/{index-fanhmwk3.js → index-hs26e3k6.js} +2 -2
  49. package/dist/cli/{index-hq9fezjc.js → index-j4efx148.js} +2 -2
  50. package/dist/cli/{index-7e1ecg26.js → index-kg2mb1m5.js} +1 -1
  51. package/dist/cli/{index-g4ft1r0z.js → index-nh5fxxc9.js} +1 -1
  52. package/dist/cli/{index-v5r7w16s.js → index-pj877ads.js} +5 -5
  53. package/dist/cli/{index-2ebf550v.js → index-q7q00ppx.js} +6 -6
  54. package/dist/cli/{index-48ceyvpc.js → index-ta2kp4xy.js} +5 -5
  55. package/dist/cli/{index-qjs6cgb9.js → index-thcyqqdq.js} +2 -2
  56. package/dist/cli/{index-zg40ap5c.js → index-tzyppdv7.js} +3 -3
  57. package/dist/cli/{index-22qpvevn.js → index-x119gdak.js} +1 -1
  58. package/dist/cli/{index-rgrae86w.js → index-yyvkeev1.js} +4 -4
  59. package/dist/cli/index.js +39 -39
  60. package/dist/cli/{knowledge-escalator-a9h29ayc.js → knowledge-escalator-912nwxb4.js} +12 -12
  61. package/dist/cli/{knowledge-events-sjdhtwm2.js → knowledge-events-hvzj872f.js} +10 -10
  62. package/dist/cli/{knowledge-link-6kxpc4x5.js → knowledge-link-8tetyje0.js} +3 -3
  63. package/dist/cli/{knowledge-store-g3h4gqe7.js → knowledge-store-sqx0axb6.js} +4 -4
  64. package/dist/cli/{knowledge-validator-br05bd3x.js → knowledge-validator-d8m7p2vg.js} +6 -6
  65. package/dist/cli/{mcp-167c0dnd.js → mcp-nxxy0dq0.js} +1 -1
  66. package/dist/cli/{model-preflight-dxm5dcej.js → model-preflight-2mmep72y.js} +38 -38
  67. package/dist/cli/{pending-delegations-q9n8bry1.js → pending-delegations-fat9r7w1.js} +10 -10
  68. package/dist/cli/{pr-subscriptions-qs9fhjpk.js → pr-subscriptions-8xv7gaeb.js} +10 -10
  69. package/dist/cli/{pr-workflow-gate-nfbbc2c0.js → pr-workflow-gate-g9exsspv.js} +38 -38
  70. package/dist/cli/{runner-wfd9dys9.js → runner-ff0bj9w0.js} +4 -4
  71. package/dist/cli/{scan-cursor-z59x53tn.js → scan-cursor-h9tza4z6.js} +5 -5
  72. package/dist/cli/{schema-y3rs9evj.js → schema-1p9cw863.js} +2 -2
  73. package/dist/cli/{scope-persistence-54g2j63h.js → scope-persistence-xv6b7daq.js} +14 -14
  74. package/dist/cli/{server-gwgsy9t3.js → server-z5401cje.js} +40 -38
  75. package/dist/cli/{skill-generator-qc4bfp4z.js → skill-generator-72n07p92.js} +14 -14
  76. package/dist/cli/{snapshot-coordination-init-0pytgxbn.js → snapshot-coordination-init-xjyv8kxx.js} +38 -38
  77. package/dist/cli/{speckit-checkoff-d14y1jnc.js → speckit-checkoff-828xrjfd.js} +5 -5
  78. package/dist/cli/{workspace-snapshot-bvnyzzr2.js → workspace-snapshot-nrbvjh1c.js} +3 -3
  79. package/dist/cli/{worktree-collision-ownership-9gmtsqmf.js → worktree-collision-ownership-cr6vv3xk.js} +11 -11
  80. package/dist/cli/{worktree-isolation-22dntk4t.js → worktree-isolation-6yycqkc6.js} +38 -38
  81. package/dist/gate-evidence.d.ts +34 -0
  82. package/dist/index.js +19 -13
  83. package/dist/todo/todo-gate.d.ts +37 -0
  84. package/dist/tools/build-check.d.ts +6 -2
  85. package/dist/tools/phase-complete/gates/index.d.ts +1 -0
  86. package/dist/tools/phase-complete/gates/todo-gate.d.ts +14 -0
  87. package/dist/tools/phase-complete.d.ts +2 -1
  88. package/dist/tools/tool-metadata.d.ts +1 -1
  89. package/package.json +1 -1
  90. package/dist/cli/curator-llm-factory-0n05cgjf.js +0 -75
  91. package/dist/cli/guardrail-explain-sadek1sk.js +0 -76
@@ -0,0 +1,37 @@
1
+ /**
2
+ * TODO-gate evaluation (issue #2581): applies the `todo_gate` config to a
3
+ * recorded `todo_scan` evidence field. Pure functions shared by BOTH
4
+ * consumers — `check_gate_status` (per-task verdict) and the phase-complete
5
+ * `todo_gate` gate — so the two surfaces can never disagree on threshold
6
+ * semantics.
7
+ */
8
+ import type { TodoScanEvidence } from '../gate-evidence.js';
9
+ /** Schema defaults from `src/config/schema.ts` (`todo_gate`). */
10
+ export declare const TODO_GATE_DEFAULTS: {
11
+ readonly enabled: true;
12
+ readonly max_high_priority: 0;
13
+ readonly block_on_threshold: false;
14
+ };
15
+ export type TodoGateConfigBlock = {
16
+ enabled?: boolean;
17
+ max_high_priority?: number;
18
+ block_on_threshold?: boolean;
19
+ };
20
+ export interface TodoGateVerdict {
21
+ status: 'disabled' | 'no-evidence' | 'pass' | 'exceeded';
22
+ /** True only when exceeded AND block_on_threshold — the only blocking shape. */
23
+ blocked: boolean;
24
+ /** True when exceeded without blocking — advisory warning, never blocks. */
25
+ advisory: boolean;
26
+ count: number;
27
+ max: number;
28
+ /** Evidence + repair text; present only when exceeded. */
29
+ message?: string;
30
+ }
31
+ /**
32
+ * Exceeded ⇔ high-priority count > max_high_priority; max < 0 (-1) disables
33
+ * the threshold check entirely; "at threshold" (count == max) does NOT
34
+ * exceed (max is the maximum ALLOWED count).
35
+ */
36
+ export declare function isTodoThresholdExceeded(count: number, maxHighPriority: number): boolean;
37
+ export declare function evaluateTodoGate(todoScan: TodoScanEvidence | null | undefined, todoGate: TodoGateConfigBlock | undefined): TodoGateVerdict;
@@ -7,12 +7,16 @@ import type { tool } from '@opencode-ai/plugin';
7
7
  import { type BuildDiscoverySkip } from '../build/discovery';
8
8
  import { loadGateOverrides } from '../config';
9
9
  import type { EvidenceVerdict } from '../config/evidence-schema';
10
+ import { bunSpawn } from '../utils/bun-compat';
10
11
  /**
11
- * DI seam (issue #2524): the tool boundary self-loads the user's gate
12
- * overrides; tests substitute this instead of touching the config loader.
12
+ * DI seam (issue #2524 for the gate override, issue #2705 for the spawn):
13
+ * the tool boundary self-loads the user's gate overrides and owns the build
14
+ * spawn; tests substitute these instead of touching the config loader or
15
+ * monkey-patching the `Bun.spawn` global.
13
16
  */
14
17
  export declare const _internals: {
15
18
  loadGateOverrides: typeof loadGateOverrides;
19
+ bunSpawn: typeof bunSpawn;
16
20
  };
17
21
  export declare const DEFAULT_TIMEOUT_MS = 300000;
18
22
  export declare const MAX_OUTPUT_BYTES: number;
@@ -10,4 +10,5 @@ export { runFinalReviewGate } from './final-review-gate.js';
10
10
  export { runHallucinationGate } from './hallucination-gate.js';
11
11
  export { runMutationGate } from './mutation-gate.js';
12
12
  export { runPhaseCouncilGate } from './phase-council-gate.js';
13
+ export { runTodoGateGate } from './todo-gate.js';
13
14
  export type { GateContext, GateResult } from './types.js';
@@ -0,0 +1,14 @@
1
+ /**
2
+ * TODO gate (issue #2581) — phase-completion consumer for recorded
3
+ * `todo_scan` evidence. Warns (advisory) or blocks (block_on_threshold)
4
+ * when ANY task in the phase carries a recorded high-priority TODO count
5
+ * above the configured `max_high_priority`.
6
+ *
7
+ * A gate cannot block without an available producer: when no task in the
8
+ * phase has `todo_scan` evidence, the gate passes with zero warnings. The
9
+ * gate is registered among the standard gates (uniform Turbo bypass); the
10
+ * disabled-config short-circuit lives INSIDE this function so the gate
11
+ * report shows a plain pass, not `not_applicable`.
12
+ */
13
+ import type { GateContext, GateResult } from './types';
14
+ export declare function runTodoGateGate(ctx: GateContext): Promise<GateResult>;
@@ -6,7 +6,7 @@ import type { ToolDefinition } from '@opencode-ai/plugin/tool';
6
6
  import { savePlan } from '../plan/manager';
7
7
  import type { ReviewModelDispatcher } from '../review/contracts.js';
8
8
  import type { ReviewAgentModelRegistry } from '../review/runtime.js';
9
- import { runArchitectureSupervisorGate, runCompletionVerifyGate, runDriftGate, runFinalCouncilGate, runFinalReviewGate, runHallucinationGate, runMutationGate, runPhaseCouncilGate } from './phase-complete/gates/index.js';
9
+ import { runArchitectureSupervisorGate, runCompletionVerifyGate, runDriftGate, runFinalCouncilGate, runFinalReviewGate, runHallucinationGate, runMutationGate, runPhaseCouncilGate, runTodoGateGate } from './phase-complete/gates/index.js';
10
10
  /** Narrow seam for receipt/plan ordering tests. */
11
11
  export declare const phaseCompleteReceiptInternals: {
12
12
  recordPhaseCloseIntent: (directory: string, phase: string, sessionId?: string, taskId?: string) => Promise<import("../hooks/knowledge-receipt-ledger.js").ReceiptLedgerResult<{
@@ -116,6 +116,7 @@ export declare const phaseCompletePreflightInternals: {
116
116
  runArchitectureSupervisorGate: typeof runArchitectureSupervisorGate;
117
117
  runFinalReviewGate: typeof runFinalReviewGate;
118
118
  runFinalCouncilGate: typeof runFinalCouncilGate;
119
+ runTodoGateGate: typeof runTodoGateGate;
119
120
  };
120
121
  /**
121
122
  * Arguments for the phase_complete tool
@@ -131,7 +131,7 @@ export declare const TOOL_METADATA: {
131
131
  };
132
132
  todo_extract: {
133
133
  description: string;
134
- agents: ("explorer" | "architect" | "researcher" | "docs")[];
134
+ agents: ("coder" | "explorer" | "architect" | "researcher" | "docs")[];
135
135
  prWorkflow: {
136
136
  modes: ("PR_REVIEW" | "PR_FEEDBACK")[];
137
137
  capability: "observe";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm",
3
- "version": "7.184.9",
3
+ "version": "7.184.10",
4
4
  "description": "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,75 +0,0 @@
1
- // @bun
2
- import {
3
- createCuratorLLMDelegate
4
- } from "./index-cbwmx38c.js";
5
- import"./index-zg40ap5c.js";
6
- import"./index-hamqvzqn.js";
7
- import"./index-zygpw9qb.js";
8
- import"./index-cvrtpb52.js";
9
- import"./index-qjs6cgb9.js";
10
- import"./index-tdtqm702.js";
11
- import"./index-g4ft1r0z.js";
12
- import"./index-txdagbh7.js";
13
- import"./index-yn0nsxwv.js";
14
- import"./index-6b295cas.js";
15
- import"./index-rgrae86w.js";
16
- import"./index-v5r7w16s.js";
17
- import"./index-na3qxeha.js";
18
- import"./index-rdec0y3z.js";
19
- import"./index-2ebf550v.js";
20
- import"./index-cjapb4hy.js";
21
- import"./index-zsrtt42s.js";
22
- import"./index-snzz0yvz.js";
23
- import"./index-d5vkn5eg.js";
24
- import"./index-7wth46ez.js";
25
- import"./index-pt7h91zc.js";
26
- import"./index-q7sjgr1y.js";
27
- import"./index-tkk06smw.js";
28
- import"./index-et6gxgbn.js";
29
- import"./index-tps93cp3.js";
30
- import"./index-f2xrc6r5.js";
31
- import"./index-jnts5d04.js";
32
- import"./index-fx0kf5jt.js";
33
- import"./index-2s7dvzff.js";
34
- import"./index-gj0121y5.js";
35
- import"./index-955e0wpp.js";
36
- import"./index-rtry5xyf.js";
37
- import"./index-zvz722td.js";
38
- import"./index-frcemc0b.js";
39
- import"./index-0725jpp7.js";
40
- import"./index-z5nqpnem.js";
41
- import"./index-48ceyvpc.js";
42
- import"./index-7e1ecg26.js";
43
- import"./index-hq9fezjc.js";
44
- import"./index-5egfk9c6.js";
45
- import"./index-s9pq2q6h.js";
46
- import"./index-rdm3px0g.js";
47
- import"./index-ry16d01s.js";
48
- import"./index-22qpvevn.js";
49
- import"./index-hkbs7pcd.js";
50
- import"./index-vzm6zre7.js";
51
- import"./index-ae75rja9.js";
52
- import"./index-kjetx4xq.js";
53
- import"./index-g2jbpm6g.js";
54
- import"./index-t7hmqgjy.js";
55
- import"./index-x1gyqgze.js";
56
- import"./index-mc72pk74.js";
57
- import"./index-c1ggtmpm.js";
58
- import"./index-ejhxgyvm.js";
59
- import"./index-7g4c7s5r.js";
60
- import"./index-1r22v0js.js";
61
- import"./index-gx2vp8gx.js";
62
- import"./index-hp5xyqxs.js";
63
- import"./index-zxdawwc7.js";
64
- import"./index-0hzr6vdh.js";
65
- import"./index-ezagem2g.js";
66
- import"./index-bk5tah7q.js";
67
- import"./index-gknz3bv1.js";
68
- import"./index-zpsr8rpc.js";
69
- import"./index-wvghb3x6.js";
70
- import"./index-9rwhas09.js";
71
- import"./index-zgwm4ryv.js";
72
- import"./index-a76rekgs.js";
73
- export {
74
- createCuratorLLMDelegate
75
- };
@@ -1,76 +0,0 @@
1
- // @bun
2
- import {
3
- handleGuardrailExplain
4
- } from "./index-fanhmwk3.js";
5
- import"./index-cbwmx38c.js";
6
- import"./index-zg40ap5c.js";
7
- import"./index-hamqvzqn.js";
8
- import"./index-zygpw9qb.js";
9
- import"./index-cvrtpb52.js";
10
- import"./index-qjs6cgb9.js";
11
- import"./index-tdtqm702.js";
12
- import"./index-g4ft1r0z.js";
13
- import"./index-txdagbh7.js";
14
- import"./index-yn0nsxwv.js";
15
- import"./index-6b295cas.js";
16
- import"./index-rgrae86w.js";
17
- import"./index-v5r7w16s.js";
18
- import"./index-na3qxeha.js";
19
- import"./index-rdec0y3z.js";
20
- import"./index-2ebf550v.js";
21
- import"./index-cjapb4hy.js";
22
- import"./index-zsrtt42s.js";
23
- import"./index-snzz0yvz.js";
24
- import"./index-d5vkn5eg.js";
25
- import"./index-7wth46ez.js";
26
- import"./index-pt7h91zc.js";
27
- import"./index-q7sjgr1y.js";
28
- import"./index-tkk06smw.js";
29
- import"./index-et6gxgbn.js";
30
- import"./index-tps93cp3.js";
31
- import"./index-f2xrc6r5.js";
32
- import"./index-jnts5d04.js";
33
- import"./index-fx0kf5jt.js";
34
- import"./index-2s7dvzff.js";
35
- import"./index-gj0121y5.js";
36
- import"./index-955e0wpp.js";
37
- import"./index-rtry5xyf.js";
38
- import"./index-zvz722td.js";
39
- import"./index-frcemc0b.js";
40
- import"./index-0725jpp7.js";
41
- import"./index-z5nqpnem.js";
42
- import"./index-48ceyvpc.js";
43
- import"./index-7e1ecg26.js";
44
- import"./index-hq9fezjc.js";
45
- import"./index-5egfk9c6.js";
46
- import"./index-s9pq2q6h.js";
47
- import"./index-rdm3px0g.js";
48
- import"./index-ry16d01s.js";
49
- import"./index-22qpvevn.js";
50
- import"./index-hkbs7pcd.js";
51
- import"./index-vzm6zre7.js";
52
- import"./index-ae75rja9.js";
53
- import"./index-kjetx4xq.js";
54
- import"./index-g2jbpm6g.js";
55
- import"./index-t7hmqgjy.js";
56
- import"./index-x1gyqgze.js";
57
- import"./index-mc72pk74.js";
58
- import"./index-c1ggtmpm.js";
59
- import"./index-ejhxgyvm.js";
60
- import"./index-7g4c7s5r.js";
61
- import"./index-1r22v0js.js";
62
- import"./index-gx2vp8gx.js";
63
- import"./index-hp5xyqxs.js";
64
- import"./index-zxdawwc7.js";
65
- import"./index-0hzr6vdh.js";
66
- import"./index-ezagem2g.js";
67
- import"./index-bk5tah7q.js";
68
- import"./index-gknz3bv1.js";
69
- import"./index-zpsr8rpc.js";
70
- import"./index-wvghb3x6.js";
71
- import"./index-9rwhas09.js";
72
- import"./index-zgwm4ryv.js";
73
- import"./index-a76rekgs.js";
74
- export {
75
- handleGuardrailExplain
76
- };