opencode-swarm 7.188.5 → 7.188.7

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/README.md +2 -2
  2. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  3. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  4. package/dist/cli/{auto-checkpoint-6z6dhqak.js → auto-checkpoint-1z9d2jrk.js} +8 -8
  5. package/dist/cli/{checkpoint-99vqentz.js → checkpoint-f8165pv4.js} +13 -13
  6. package/dist/cli/{coder-settlement-07dkrqvy.js → coder-settlement-gaby6spt.js} +9 -9
  7. package/dist/cli/{config-doctor-0pqexbab.js → config-doctor-4wgw6nak.js} +12 -12
  8. package/dist/cli/{core-zx4az38t.js → core-y89texpp.js} +2 -2
  9. package/dist/cli/{curation-policy-nxcx99yp.js → curation-policy-65ckmmd5.js} +5 -5
  10. package/dist/cli/{curator-drift-0ne6gnj0.js → curator-drift-rpwrx355.js} +6 -6
  11. package/dist/cli/{curator-llm-factory-gdedzs6k.js → curator-llm-factory-1qbcj7vs.js} +36 -36
  12. package/dist/cli/{curator-s08eqma1.js → curator-tkz65fvw.js} +36 -36
  13. package/dist/cli/{doctor-knowledge-receipt-phase-id-kpzaepq8.js → doctor-knowledge-receipt-phase-id-11q7en6t.js} +7 -7
  14. package/dist/cli/{evidence-summary-service-xadab4ym.js → evidence-summary-service-hn7vdm45.js} +16 -16
  15. package/dist/cli/{gate-evidence-c3d7ewv4.js → gate-evidence-sxh3r64f.js} +6 -6
  16. package/dist/cli/{guardrail-explain-enbr5ne9.js → guardrail-explain-e0wbeyk1.js} +37 -37
  17. package/dist/cli/{guardrail-log-0g59n4ae.js → guardrail-log-gzrj46h0.js} +7 -7
  18. package/dist/cli/{guardrail-reset-e0m3p15n.js → guardrail-reset-7z62s1j5.js} +36 -36
  19. package/dist/cli/{hive-promoter-1jb0t5g2.js → hive-promoter-88d95wk8.js} +36 -36
  20. package/dist/cli/{index-3b71hf2k.js → index-03ad14qc.js} +2 -2
  21. package/dist/cli/{index-sg2agtt5.js → index-0j5ggeem.js} +1 -1
  22. package/dist/cli/{index-j9swvmt3.js → index-1xa8wq76.js} +1 -1
  23. package/dist/cli/{index-txr48a64.js → index-2vtrjm19.js} +38 -38
  24. package/dist/cli/{index-vn8phy76.js → index-2wctq2hn.js} +1 -1
  25. package/dist/cli/{index-br33a6v7.js → index-5102w44y.js} +3 -3
  26. package/dist/cli/{index-98zfmfnn.js → index-61kszszd.js} +4 -4
  27. package/dist/cli/{index-0cdkb7e8.js → index-7eajwwfg.js} +4 -4
  28. package/dist/cli/{index-w5p9crxx.js → index-7k9hdn0b.js} +4 -4
  29. package/dist/cli/{index-03ng9y76.js → index-7zyktm9f.js} +7 -7
  30. package/dist/cli/{index-wx43mc8h.js → index-8q8783g0.js} +1 -1
  31. package/dist/cli/{index-8f0j6kf2.js → index-8sqyx5rh.js} +3 -3
  32. package/dist/cli/{index-z11watrb.js → index-8xabhfwr.js} +2 -2
  33. package/dist/cli/{index-ykaaejka.js → index-9czp2dcg.js} +3 -3
  34. package/dist/cli/{index-9qbn3chx.js → index-9tes309n.js} +1 -1
  35. package/dist/cli/{index-85npnq5t.js → index-a4s5yrdd.js} +4 -4
  36. package/dist/cli/{index-d95b3yce.js → index-c016phsk.js} +6 -6
  37. package/dist/cli/{index-4ak3ewt2.js → index-c937rpbm.js} +3 -3
  38. package/dist/cli/{index-h83221w1.js → index-d3rjvm9e.js} +3 -3
  39. package/dist/cli/{index-dd258pfn.js → index-eh0sg1pz.js} +4 -4
  40. package/dist/cli/{index-4m7cywkf.js → index-emh69vk9.js} +90 -77
  41. package/dist/cli/{index-9f7y0rym.js → index-ffmw6af9.js} +36 -36
  42. package/dist/cli/{index-cjekszvy.js → index-g39cmzpj.js} +600 -4
  43. package/dist/cli/{index-jevq7a7b.js → index-ghjg1rxe.js} +2 -2
  44. package/dist/cli/{index-5nwfz9bn.js → index-hh7pa3yk.js} +1 -1
  45. package/dist/cli/{index-jc2ndtdt.js → index-k8sarme1.js} +1 -1
  46. package/dist/cli/{index-p746x44z.js → index-kap459mr.js} +4 -4
  47. package/dist/cli/{index-bjh6cw86.js → index-m9g7s9ee.js} +4 -4
  48. package/dist/cli/{index-3jn6155r.js → index-pnfd3s7s.js} +1 -1
  49. package/dist/cli/{index-hq7mfqe5.js → index-q9kefh33.js} +1 -1
  50. package/dist/cli/{index-ar33mkxc.js → index-rw0c6qtt.js} +4 -4
  51. package/dist/cli/{index-f1wqew85.js → index-snwj9ptc.js} +2 -2
  52. package/dist/cli/{index-4zran0jk.js → index-twb3f4tk.js} +1 -1
  53. package/dist/cli/{index-dmdg2zay.js → index-wrdktgpy.js} +2 -2
  54. package/dist/cli/{index-1tgkj4mf.js → index-xj3k6x1h.js} +2 -2
  55. package/dist/cli/{index-n7vy4gb3.js → index-xsdphmet.js} +6 -6
  56. package/dist/cli/{index-vktygb4k.js → index-y3sk68m5.js} +2 -2
  57. package/dist/cli/{index-1kd2cbcz.js → index-y8z9x87e.js} +3 -3
  58. package/dist/cli/{index-fbwerevq.js → index-yj1cwps4.js} +1 -1
  59. package/dist/cli/{index-dmnvgc03.js → index-ytms8x1h.js} +4 -4
  60. package/dist/cli/{index-bstjg81q.js → index-zfbxfm2m.js} +33 -33
  61. package/dist/cli/index.js +37 -37
  62. package/dist/cli/{knowledge-escalator-c65r55bv.js → knowledge-escalator-ejfb2e7c.js} +13 -13
  63. package/dist/cli/{knowledge-events-exc94dr2.js → knowledge-events-3fzfehwy.js} +11 -11
  64. package/dist/cli/{knowledge-link-kgt3zx0c.js → knowledge-link-h4pdcnya.js} +4 -4
  65. package/dist/cli/{knowledge-store-b2qm637m.js → knowledge-store-swxk4tr6.js} +5 -5
  66. package/dist/cli/{knowledge-validator-44pn1xrn.js → knowledge-validator-0a1at9gm.js} +7 -7
  67. package/dist/cli/{mcp-6qjt8ey7.js → mcp-0ah7s1j0.js} +1 -1
  68. package/dist/cli/{model-preflight-dh9dadg8.js → model-preflight-nfvapzyj.js} +80 -36
  69. package/dist/cli/{pending-delegations-vcqw78d8.js → pending-delegations-hynywgkj.js} +7 -7
  70. package/dist/cli/{pr-subscriptions-2vp2sxjb.js → pr-subscriptions-k86p5qcn.js} +7 -7
  71. package/dist/cli/{pr-workflow-gate-cy24tc3c.js → pr-workflow-gate-3ett6hjh.js} +36 -36
  72. package/dist/cli/{runner-zeqpd2c2.js → runner-4hfmp1ag.js} +5 -5
  73. package/dist/cli/{scan-cursor-3hyz0qnh.js → scan-cursor-9961dhv1.js} +6 -6
  74. package/dist/cli/{schema-4s2nnpqt.js → schema-s5zbnzmv.js} +2 -2
  75. package/dist/cli/{scope-persistence-1bvaeene.js → scope-persistence-2w562h83.js} +12 -12
  76. package/dist/cli/{server-zb4j57w6.js → server-vrk0k61v.js} +36 -36
  77. package/dist/cli/{skill-generator-fqh79jr7.js → skill-generator-bfcjzp20.js} +15 -15
  78. package/dist/cli/{snapshot-coordination-init-v50k6v2v.js → snapshot-coordination-init-8ykpp5m6.js} +36 -36
  79. package/dist/cli/{speckit-checkoff-mcxxpmy4.js → speckit-checkoff-3x52vw64.js} +4 -4
  80. package/dist/cli/{telemetry-eq1cwq2x.js → telemetry-kvhe94gs.js} +1 -1
  81. package/dist/cli/{worktree-collision-ownership-fk6spbrf.js → worktree-collision-ownership-kjw1pqfc.js} +7 -7
  82. package/dist/cli/{worktree-isolation-ht89tqrc.js → worktree-isolation-xdgm4ekx.js} +36 -36
  83. package/dist/config/consumers.d.ts +35 -0
  84. package/dist/host/v2/events.d.ts +19 -1
  85. package/dist/host/v2/model-apply.d.ts +39 -0
  86. package/dist/host/v2/setup.d.ts +0 -35
  87. package/dist/index.js +16 -16
  88. package/dist/models/task-model-routing.d.ts +8 -0
  89. package/dist/services/model-preflight.d.ts +24 -0
  90. package/dist/utils/provider-error-classification.d.ts +30 -4
  91. package/package.json +1 -1
@@ -43,6 +43,14 @@ export interface TaskModelRouteAdvanceResult {
43
43
  accepted: boolean;
44
44
  exhausted: boolean;
45
45
  fallbackIndex: number;
46
+ /**
47
+ * The normalized chain's model string for the advanced entry (#3029 review
48
+ * F-003). `fallbackIndex` counts positions in `normalizeModelChain` output
49
+ * (deduped, parse-filtered), so indexing the RAW fallback list by it can
50
+ * mismap when a fallback duplicates the primary or fails to parse. Always
51
+ * apply `modelString` when present.
52
+ */
53
+ modelString?: string;
46
54
  generation: number;
47
55
  scope: ScopedModelOverrideKey;
48
56
  route?: PendingTaskModelRouteSnapshotEntry;
@@ -164,6 +164,30 @@ export declare function runModelPreflight(config: PluginConfig | undefined, clie
164
164
  * block on 'unresolved'.
165
165
  */
166
166
  export declare function checkSingleModelResolution(model: string, client: OpencodeClient | null): Promise<ModelResolutionStatus>;
167
+ /**
168
+ * Verified keyless opencode zen roster (issue #3022, captured 2026-10-02 on a
169
+ * clean @opencode/cli 2.0.21 container via `opencode run -m opencode/<id>`).
170
+ * Cross-pinned against tests/fixtures/opencode-zen-keyless-roster.json by
171
+ * tests/unit/config/default-models-roster-guard.test.ts. REFRESH PROCEDURE:
172
+ * re-run the per-id probe matrix (failures print `Model unavailable: <id>`
173
+ * while exiting 0 — match text, not exit codes), update BOTH this list and the
174
+ * fixture, then rotate src/config/constants.ts; the guard test failing after a
175
+ * refresh is the mechanism working.
176
+ */
177
+ export declare const VERIFIED_KEYLESS_MODEL_ROSTER: readonly string[];
178
+ /**
179
+ * Issue #3022 (AC4): pure, clientless roster check. Given the configured agent
180
+ * models (a `string[]` of model ids or a DEFAULT_AGENT_CONFIGS-shaped record of
181
+ * `{model, fallback_models}` entries) and a roster of known-good ids, returns
182
+ * one bounded warning per configured id that is NOT in the roster (deduped),
183
+ * and NO warnings when every id resolves. No I/O, no network — safe to run on
184
+ * hosts without an OpencodeClient (OpenCode v2 startup) where the
185
+ * catalog-backed {@link runModelPreflight} degrades to all-`unknown`.
186
+ */
187
+ export declare function collectModelRosterWarnings(models: readonly string[] | Record<string, {
188
+ model?: string;
189
+ fallback_models?: string[];
190
+ }>, roster: readonly string[]): string[];
167
191
  export declare const _internals: {
168
192
  /** Injectable seam for the SDK catalog call (tests substitute this). */
169
193
  providerList: (client: OpencodeClient) => Promise<({
@@ -23,12 +23,28 @@ export declare const TRANSIENT_STATUS_CODES: Set<number>;
23
23
  export declare function extractStatusCode(errorMsg: string): number | null;
24
24
  /**
25
25
  * v6.33: Regex for transient model/provider errors that should trigger bounded
26
- * retry (and, in the dispatch paths, model fallback). Content is UNCHANGED from
27
- * the historical duplicated definition — quota is intentionally NOT here (see the
28
- * module doc + {@link QUOTA_ERROR_PATTERN}), so tool-output classifiers that
29
- * import this keep byte-identical behavior.
26
+ * retry (and, in the dispatch paths, model fallback). Quota is intentionally
27
+ * NOT here (see the module doc + {@link QUOTA_ERROR_PATTERN}), so tool-output
28
+ * classifiers that import this keep byte-identical behavior for quota tokens.
29
+ *
30
+ * Issue #3022: `model.?unavailable` added — OpenCode v2 hosts report a
31
+ * retired/unknown model id as `Model unavailable: <id>` (error class
32
+ * `SessionRunnerModel.ModelUnavailableError`, provider code `provider.no-route`).
33
+ * `.?` is zero-width-compatible, so the bare class name `ModelUnavailableError`
34
+ * matches too. This cannot fire the guardrails tool-output advisory on plain
35
+ * tool text: `isTransientProviderFailureText` (messages-transform) gates on the
36
+ * `providerFailureMarker` pre-filter first, which carries no model vocabulary.
30
37
  */
31
38
  export declare const TRANSIENT_MODEL_ERROR_PATTERN: RegExp;
39
+ /**
40
+ * Issue #3022: the requested model does not exist on the provider (retired
41
+ * default, typo, or gated tier). Retrying the SAME model can never succeed, so
42
+ * {@link classifyProviderFailure} routes this vocabulary to `retry_fallback`
43
+ * (advance to the next fallback_models entry) rather than the generic transient
44
+ * branch's `retry_same`. Same loose vocabulary as the transient pattern above
45
+ * so bare class-name signals ("Error: ModelUnavailableError") hit this branch.
46
+ */
47
+ export declare const MODEL_UNAVAILABLE_PATTERN: RegExp;
32
48
  /**
33
49
  * Issue #1896: provider quota / usage-limit / billing exhaustion — a class
34
50
  * distinct from a transient blip. It is retryable after a wait AND fallback-
@@ -61,3 +77,13 @@ export declare function isTransientProviderError(signal: string): boolean;
61
77
  * vs a generic transient failure.
62
78
  */
63
79
  export declare function isQuotaError(signal: string): boolean;
80
+ /**
81
+ * True when the error class warrants a STICKY host-global model rewrite on
82
+ * v2 hosts (#3029 review F-002): the applied model persists on the
83
+ * registered agent until restart, so it must fire only for the classes
84
+ * where permanently rerouting the agent matches the v1 sticky fallback
85
+ * semantics — the retired/unavailable-model scenario the fallback chain
86
+ * exists for, and quota exhaustion. A single transient timeout/5xx advances
87
+ * only the per-session fallback selection and must not rewrite the agent.
88
+ */
89
+ export declare function isStickyModelError(signal: string): boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm",
3
- "version": "7.188.5",
3
+ "version": "7.188.7",
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",