opencode-swarm 7.200.0 → 7.200.2

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 (112) 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/{attest-task-8ekwny8v.js → attest-task-s9cpm1pa.js} +42 -42
  4. package/dist/cli/{auto-checkpoint-dqjk82s7.js → auto-checkpoint-bhtc5gjf.js} +7 -7
  5. package/dist/cli/{checkpoint-2ahps2sp.js → checkpoint-1jmfejsh.js} +17 -15
  6. package/dist/cli/{coder-settlement-1dk37pa9.js → coder-settlement-qabkaq79.js} +10 -10
  7. package/dist/cli/{config-doctor-73rctg85.js → config-doctor-q4805y29.js} +13 -13
  8. package/dist/cli/{core-y5mfws8v.js → core-jtmr767v.js} +3 -3
  9. package/dist/cli/{curation-policy-43gq6t0y.js → curation-policy-fth5n93x.js} +4 -4
  10. package/dist/cli/{curator-m278hyrq.js → curator-4tqbp1re.js} +41 -41
  11. package/dist/cli/{curator-drift-k7j9rcgp.js → curator-drift-681mc3a2.js} +8 -8
  12. package/dist/cli/curator-llm-factory-46bzwbzr.js +82 -0
  13. package/dist/cli/{doctor-knowledge-receipt-phase-id-1m7pkzvt.js → doctor-knowledge-receipt-phase-id-h16qsh6e.js} +7 -7
  14. package/dist/cli/{evidence-summary-service-19k8x1g9.js → evidence-summary-service-qr8kf99s.js} +17 -17
  15. package/dist/cli/{gate-evidence-hche0hf8.js → gate-evidence-phq4rs28.js} +5 -5
  16. package/dist/cli/guardrail-explain-q2eqawnk.js +83 -0
  17. package/dist/cli/{guardrail-log-tvbgnxns.js → guardrail-log-jk30vszs.js} +6 -6
  18. package/dist/cli/{guardrail-reset-v8kvh9cn.js → guardrail-reset-0sfceecs.js} +41 -41
  19. package/dist/cli/{hive-promoter-bqfa763z.js → hive-promoter-8v9vcd75.js} +41 -41
  20. package/dist/cli/{index-kwfhr3mz.js → index-048p7deh.js} +1 -1
  21. package/dist/cli/{index-wfb6vrc2.js → index-0jmt8y9r.js} +2 -2
  22. package/dist/cli/{index-jbm301bq.js → index-1feqa2vz.js} +41 -41
  23. package/dist/cli/{index-bp476gwc.js → index-1v277wxc.js} +2 -2
  24. package/dist/cli/{index-yss701b3.js → index-43scxm6a.js} +4 -4
  25. package/dist/cli/{index-9nmrw7ek.js → index-4cw3w8qm.js} +3 -3
  26. package/dist/cli/{index-vqtca3xv.js → index-4ts6jpmj.js} +2 -2
  27. package/dist/cli/{index-tv9c3b3q.js → index-56w2vy52.js} +3 -3
  28. package/dist/cli/{index-0wg5q595.js → index-5snwc3dz.js} +1 -1
  29. package/dist/cli/{index-m9j9varx.js → index-ab1k780s.js} +3 -3
  30. package/dist/cli/{index-r02aqt0a.js → index-b4kdms7x.js} +2 -2
  31. package/dist/cli/{index-7v74n9a1.js → index-bncex5hw.js} +3 -3
  32. package/dist/cli/{index-qnabg1wp.js → index-bt2h69a2.js} +6 -6
  33. package/dist/cli/{index-md2180vx.js → index-bw6q2v41.js} +3 -3
  34. package/dist/cli/{index-q1x73nnd.js → index-epzadpmm.js} +1 -1
  35. package/dist/cli/{index-71bqn1nn.js → index-evf5t4ba.js} +7 -7
  36. package/dist/cli/{index-511hw14d.js → index-f50e1pn3.js} +43 -43
  37. package/dist/cli/{index-dng8z8me.js → index-g57p8p1k.js} +1 -1
  38. package/dist/cli/{index-p5m71yph.js → index-gpr3j0w1.js} +4 -4
  39. package/dist/cli/{index-hxp5jgd8.js → index-gss7ch5k.js} +2 -2
  40. package/dist/cli/{index-rfvnq6wd.js → index-h29ckdg5.js} +8 -8
  41. package/dist/cli/{index-qnst0jwc.js → index-kezh6nhq.js} +3 -3
  42. package/dist/cli/{index-e8m8bb1r.js → index-mrq61h10.js} +4 -4
  43. package/dist/cli/{index-vmevv6my.js → index-na6ph1fp.js} +1 -1
  44. package/dist/cli/{index-n5k81wym.js → index-nbg19t1b.js} +7 -7
  45. package/dist/cli/{index-8rrs1nc0.js → index-ngzt2xmr.js} +2 -2
  46. package/dist/cli/{index-wr0n2w3z.js → index-nzfq1ms2.js} +1 -1
  47. package/dist/cli/{index-sk1rva12.js → index-pktvge7a.js} +2 -2
  48. package/dist/cli/{index-gwc7jahh.js → index-pvpeggb5.js} +1 -1
  49. package/dist/cli/{index-58cr1xg0.js → index-rav29yb2.js} +3 -3
  50. package/dist/cli/{index-nq3zcrhm.js → index-s3w41p1x.js} +1 -1
  51. package/dist/cli/{index-99zt998b.js → index-s9y49avf.js} +1 -1
  52. package/dist/cli/{index-22atsy06.js → index-sv514p10.js} +918 -154
  53. package/dist/cli/{index-ac8vdmgv.js → index-traz987v.js} +1 -1
  54. package/dist/cli/{index-1rfgzsaw.js → index-trvn0kg0.js} +4 -4
  55. package/dist/cli/{index-jy0mgzjq.js → index-v1h70r3y.js} +1 -1
  56. package/dist/cli/{index-d083d1q7.js → index-ves1rtqt.js} +1 -1
  57. package/dist/cli/{index-x25rhkmk.js → index-vrvcn7k1.js} +4 -4
  58. package/dist/cli/{index-8a3aasag.js → index-wgf1780e.js} +5 -5
  59. package/dist/cli/{index-pyv8vzkx.js → index-xfkzwc4p.js} +5 -5
  60. package/dist/cli/{index-x1z5d5kj.js → index-xyvsdn07.js} +1 -1
  61. package/dist/cli/{index-hg4qa0aq.js → index-y7khxj1g.js} +1940 -2357
  62. package/dist/cli/{index-yvv0my1a.js → index-yctvn9z9.js} +5 -3
  63. package/dist/cli/{index-35tf03js.js → index-yk3b7ywa.js} +10 -10
  64. package/dist/cli/{index-1tpz99db.js → index-ypxq0x7r.js} +1 -1
  65. package/dist/cli/index.js +42 -42
  66. package/dist/cli/{knowledge-escalator-qcra58bx.js → knowledge-escalator-53n7wa7s.js} +12 -12
  67. package/dist/cli/{knowledge-events-9mnx1a3f.js → knowledge-events-80fw8pf6.js} +10 -10
  68. package/dist/cli/{knowledge-link-2jsn9f6a.js → knowledge-link-wfhsfyn2.js} +3 -3
  69. package/dist/cli/{knowledge-store-fdneqf7z.js → knowledge-store-rh1v0509.js} +4 -4
  70. package/dist/cli/{knowledge-validator-7nj987ga.js → knowledge-validator-c3926fw5.js} +6 -6
  71. package/dist/cli/{mcp-0g34wmz4.js → mcp-r43tvhzy.js} +1 -1
  72. package/dist/cli/{model-preflight-g11ykgc0.js → model-preflight-vx9px5ac.js} +41 -41
  73. package/dist/cli/{pending-delegations-5vme18wx.js → pending-delegations-0vbkv5d2.js} +11 -11
  74. package/dist/cli/{pr-subscriptions-cbx5p838.js → pr-subscriptions-a6cm44fs.js} +10 -10
  75. package/dist/cli/{pr-workflow-gate-376gw6yj.js → pr-workflow-gate-yvgpmywz.js} +41 -41
  76. package/dist/cli/{runner-vvd26z2z.js → runner-s1a73y5h.js} +4 -4
  77. package/dist/cli/{scan-cursor-x3j5wvfm.js → scan-cursor-pk4h80c1.js} +5 -5
  78. package/dist/cli/{schema-d98zzrpn.js → schema-5rxfybx2.js} +1 -1
  79. package/dist/cli/{scope-persistence-vkb8z4hc.js → scope-persistence-qzs1f91v.js} +13 -13
  80. package/dist/cli/{server-25svy6cb.js → server-gdewbeyb.js} +41 -41
  81. package/dist/cli/{skill-generator-ktz33dt6.js → skill-generator-xh2w2pvq.js} +14 -14
  82. package/dist/cli/{snapshot-coordination-init-74x3psxc.js → snapshot-coordination-init-jn2rh2s8.js} +41 -41
  83. package/dist/cli/{speckit-checkoff-9t6cdn4a.js → speckit-checkoff-98zsw8c4.js} +4 -4
  84. package/dist/cli/{workspace-snapshot-afqvh9bq.js → workspace-snapshot-93gzfac2.js} +3 -3
  85. package/dist/cli/{worktree-collision-ownership-7a1n1f9j.js → worktree-collision-ownership-2xqxqp0x.js} +12 -12
  86. package/dist/cli/{worktree-isolation-8snw7w34.js → worktree-isolation-rxpwxvw3.js} +41 -41
  87. package/dist/commands/close/internals.d.ts +1 -1
  88. package/dist/commands/close/orchestrator.d.ts +7 -0
  89. package/dist/commands/destructive-purge.d.ts +15 -0
  90. package/dist/commands/git-status-read.d.ts +23 -0
  91. package/dist/commands/registry.d.ts +1 -1
  92. package/dist/commands/rollback-gate.d.ts +77 -10
  93. package/dist/config/schema.d.ts +2 -0
  94. package/dist/full-auto/code-mode-program.d.ts +31 -0
  95. package/dist/full-auto/critic-tools.d.ts +18 -0
  96. package/dist/full-auto/policy.d.ts +17 -0
  97. package/dist/git/branch.d.ts +22 -0
  98. package/dist/hooks/code-mode-wrapper.d.ts +28 -0
  99. package/dist/hooks/full-auto-intercept.d.ts +5 -0
  100. package/dist/hooks/full-auto-permission.d.ts +25 -0
  101. package/dist/hooks/pr-workflow-gate.d.ts +21 -1
  102. package/dist/host/v2/hook-budget.d.ts +37 -0
  103. package/dist/host/v2/hooks.d.ts +9 -0
  104. package/dist/host/v2/setup.d.ts +14 -0
  105. package/dist/index.js +77 -70
  106. package/dist/session/snapshot-coordination-init.d.ts +34 -0
  107. package/dist/session/snapshot-writer.d.ts +5 -1
  108. package/dist/tools/checkpoint.d.ts +17 -0
  109. package/opencode-swarm.schema.json +8 -0
  110. package/package.json +1 -1
  111. package/dist/cli/curator-llm-factory-rke0964p.js +0 -82
  112. package/dist/cli/guardrail-explain-jg5png4a.js +0 -83
@@ -31,7 +31,7 @@ export { PR_REVIEW_BASE_DIMENSION_IDS };
31
31
  export declare const PR_REVIEW_REQUIRED_MICRO_LANE_IDS: ("auth-identity-secrets" | "untrusted-input-boundaries" | "subprocess-platform" | "concurrency-state" | "dependencies-build-release" | "api-schema-migrations" | "test-infrastructure" | "ui-accessibility-i18n" | "privacy-observability" | "generated-provenance" | "unclassified-risk")[];
32
32
  export type PrReviewBaseDimensionId = (typeof PR_REVIEW_BASE_DIMENSION_IDS)[number];
33
33
  export type PrWorkflowMode = 'PR_REVIEW' | 'PR_FEEDBACK';
34
- export type PrReviewLaneValidationPredicate = 'batch.validated_at' | 'batch.expected_lane_unique' | 'record.missing' | 'record.duplicate_lane' | 'record.subagent_session_id' | 'record.duplicate_subagent_session_id' | 'record.forbidden_subagent_session_id' | 'record.created_at' | 'record.workflow_lane' | 'record.owned_workflow_lanes' | 'record.mode' | 'record.pr_head_sha' | 'record.git_head' | 'record.status' | 'result.output_degraded' | 'result.transcript_incomplete' | 'result.chars' | 'result.digest' | 'result.output_ref' | 'artifact.readable' | 'artifact.ref' | 'artifact.batch_id' | 'artifact.lane_id' | 'artifact.mode' | 'artifact.session_id' | 'artifact.parent_session_id' | 'artifact.agent' | 'artifact.role' | 'artifact.source' | 'artifact.workflow_lane_record' | 'artifact.workflow_lane_expected' | 'artifact.pr_head_sha' | 'artifact.git_head' | 'artifact.revision_digest' | 'record.scope' | 'artifact.scope' | 'artifact.digest' | 'artifact.chars' | 'discovery.header' | 'discovery.row' | 'discovery.coverage' | 'discovery.duplicate_evidence' | 'reviewer.verdict_rows' | 'critic.verdict_rows';
34
+ export type PrReviewLaneValidationPredicate = 'batch.validated_at' | 'batch.expected_lane_unique' | 'record.missing' | 'record.duplicate_lane' | 'record.subagent_session_id' | 'record.duplicate_subagent_session_id' | 'record.forbidden_subagent_session_id' | 'record.created_at' | 'record.workflow_lane' | 'record.owned_workflow_lanes' | 'record.mode' | 'record.normalized_agent' | 'record.pr_head_sha' | 'record.git_head' | 'record.status' | 'result.output_degraded' | 'result.transcript_incomplete' | 'result.chars' | 'result.digest' | 'result.output_ref' | 'artifact.readable' | 'artifact.ref' | 'artifact.batch_id' | 'artifact.lane_id' | 'artifact.mode' | 'artifact.session_id' | 'artifact.parent_session_id' | 'artifact.agent' | 'artifact.role' | 'artifact.source' | 'artifact.workflow_lane_record' | 'artifact.workflow_lane_expected' | 'artifact.pr_head_sha' | 'artifact.git_head' | 'artifact.revision_digest' | 'record.scope' | 'artifact.scope' | 'artifact.digest' | 'artifact.chars' | 'discovery.header' | 'discovery.row' | 'discovery.coverage' | 'discovery.duplicate_evidence' | 'reviewer.verdict_rows' | 'critic.verdict_rows';
35
35
  export interface PrReviewLaneValidationFailure {
36
36
  predicate: PrReviewLaneValidationPredicate;
37
37
  expected: string;
@@ -182,6 +182,15 @@ export interface PrWorkflowLaneSpec {
182
182
  laneId?: string;
183
183
  workflowLane?: string;
184
184
  reviewItemIds?: string[];
185
+ /**
186
+ * The agent this lane declares it will run (threaded from the dispatch
187
+ * lane's `agent`). The critic-phase recorder asserts its canonical role
188
+ * (issue #3340 AC1): PR_REVIEW critic batches are refused unless every
189
+ * lane declares an agent whose resolved role is exactly `critic`, so the
190
+ * role rule holds at the persisting boundary instead of only at the
191
+ * dispatch call site (#3310). Persisted on the batch record for audit.
192
+ */
193
+ agent?: string;
185
194
  /**
186
195
  * Complete dimension/family set this lane covers under a consolidated depth
187
196
  * tier. Must contain workflowLane. Absent means the singleton [workflowLane].
@@ -425,6 +434,8 @@ interface PrReviewValidationBatchRecord {
425
434
  laneId: string;
426
435
  workflowLane: string;
427
436
  reviewItemIds?: string[];
437
+ /** Declared lane agent (issue #3340 audit trail; critic batches refuse non-critic roles at record time). */
438
+ agent?: string;
428
439
  }>;
429
440
  validatedAt: string;
430
441
  }
@@ -1357,6 +1368,14 @@ export declare function recordPrReviewValidationBatch(directory: string, session
1357
1368
  * closed so the prompt can never misrepresent the stamped receipt.
1358
1369
  */
1359
1370
  expectedPresentationOrder?: 'A' | 'B';
1371
+ /**
1372
+ * Issue #3340 AC1: the generated-agent-name registry the dispatch
1373
+ * caller resolves lane roles against. When supplied, the critic-phase
1374
+ * admission below resolves declared agents through the identical
1375
+ * strict resolver, so the gate verdict matches the dispatch verdict
1376
+ * for prefixed generated names (e.g. `mega_critic`).
1377
+ */
1378
+ generatedAgentNames?: readonly string[];
1360
1379
  }): Promise<PrWorkflowGateState>;
1361
1380
  /**
1362
1381
  * Validate that every declared council obligation has a successful retry, and
@@ -1835,6 +1854,7 @@ export declare const _test_exports: {
1835
1854
  laneId: string;
1836
1855
  workflowLane: string;
1837
1856
  reviewItemIds?: string[] | undefined;
1857
+ agent?: string | undefined;
1838
1858
  }[];
1839
1859
  validatedAt: string;
1840
1860
  }[] | undefined;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Budget for the OpenCode 2 `tool.execute.before` guard chain (#3446).
3
+ *
4
+ * The v2 adapter wraps the whole v1 before-chain in one timeout. The chain is
5
+ * normally instant, but while Full-Auto is running it can contain an LLM
6
+ * oversight dispatch whose own deadline (`full_auto.oversight.total_timeout_ms`,
7
+ * default 120 s, up to 300 s) is LONGER than the fixed 60 s the adapter used.
8
+ * The host then reported "tool.execute.before exceeded budget" at 60 s while the
9
+ * critic kept running to its own deadline, and the run paused.
10
+ *
11
+ * Resolution order:
12
+ * 1. `full_auto.oversight.hook_timeout_ms` when set (explicit, always applies);
13
+ * 2. else, while a Full-Auto run is active for the session:
14
+ * `oversight.total_timeout_ms + 30 s` (never below the base);
15
+ * 3. else the 60 s base.
16
+ *
17
+ * Settings are keyed by project directory (one plugin process can host several
18
+ * projects, each with its own config); a call without a directory, or for an
19
+ * unknown one, uses the default slot, then the module defaults.
20
+ */
21
+ export declare const V2_TOOL_BEFORE_BASE_MS = 60000;
22
+ export declare const V2_TOOL_BEFORE_MARGIN_MS = 30000;
23
+ export declare const V2_TOOL_BEFORE_MAX_MS = 900000;
24
+ /** Max distinct project directories retained (invariant 8: bounded state). */
25
+ export declare const V2_TOOL_BEFORE_BUDGET_MAX_ENTRIES = 64;
26
+ /**
27
+ * Record the relevant `full_auto.oversight` settings for a project directory
28
+ * (call at setup; omit `directory` to set the default slot).
29
+ */
30
+ export declare function configureV2ToolBeforeBudget(fullAuto: unknown, directory?: string): void;
31
+ /** Budget, in ms, for one `tool.execute.before` chain. */
32
+ export declare function resolveV2ToolBeforeBudgetMs(fullAutoActive: boolean, directory?: string): number;
33
+ /**
34
+ * Restore defaults for one project directory (setup failure path), or for
35
+ * everything when called without an argument (test seam).
36
+ */
37
+ export declare function resetV2ToolBeforeBudget(directory?: string): void;
@@ -40,6 +40,15 @@ import type { V1HooksSubset, V2PluginContext, V2Registration } from './types';
40
40
  /** Mirrors `isTaskToolId`'s shape (dotted SDK form OR normalized base name).
41
41
  * Exported for the event pump's progress-event gating (issue #3401). */
42
42
  export declare function isV2SubagentToolId(toolName: string | null | undefined): boolean;
43
+ /**
44
+ * True for the host's Code Mode wrapper (#3446): the host-owned `execute`
45
+ * tool whose input is a JS program. The host id is matched exactly (no
46
+ * namespace stripping), and the call must carry a string `code` program.
47
+ */
48
+ export declare function isV2CodeModeWrapper(event: {
49
+ readonly tool: string;
50
+ readonly input?: unknown;
51
+ }): boolean;
43
52
  /**
44
53
  * Any recognized v2 subagent id (bare, namespace-prefixed, or dotted) is handed
45
54
  * to the v1 chain as the bare v1 id `task`. The v1 host reports the native tool
@@ -1,3 +1,16 @@
1
+ /**
2
+ * Read `full_auto.oversight` once and size the v2 tool.execute.before budget
3
+ * for this project directory from it (#3446). Bounded and fail-open: on any
4
+ * error this project's entry is dropped and the module defaults apply (60 s
5
+ * base; 150 s while a Full-Auto run is active, i.e. the default 120 s
6
+ * oversight deadline + 30 s) and an operator-visible warning is queued,
7
+ * because a custom `hook_timeout_ms` / `total_timeout_ms` would not apply.
8
+ */
9
+ declare function deferredV2ConfigureToolBeforeBudget(directory: string, loadConfig?: typeof loadPluginConfigWithMetaAsync): Promise<void>;
10
+ export declare const _internals: {
11
+ configureToolBeforeBudget: typeof deferredV2ConfigureToolBeforeBudget;
12
+ };
13
+ import { loadPluginConfigWithMetaAsync } from '../../config/loader';
1
14
  import type { V1HooksSubset, V2PluginContext } from './types';
2
15
  /** Dependencies injected from src/index.ts (avoids an index↔host cycle). */
3
16
  export interface V2SetupDependencies {
@@ -24,3 +37,4 @@ export declare function seedV1SessionState(sessionID: string | undefined, agentR
24
37
  * be synchronous and cheap).
25
38
  */
26
39
  export declare function v2ToolInputSchema(args: unknown): unknown;
40
+ export {};