opencode-swarm 7.188.5 → 7.188.6
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.
- package/README.md +2 -2
- package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
- package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
- package/dist/cli/{auto-checkpoint-6z6dhqak.js → auto-checkpoint-q2xwy0hz.js} +8 -8
- package/dist/cli/{checkpoint-99vqentz.js → checkpoint-9cbytsxe.js} +13 -13
- package/dist/cli/{coder-settlement-07dkrqvy.js → coder-settlement-a74xcmtn.js} +9 -9
- package/dist/cli/{config-doctor-0pqexbab.js → config-doctor-jec44ph0.js} +12 -12
- package/dist/cli/{core-zx4az38t.js → core-yvx60mhw.js} +2 -2
- package/dist/cli/{curation-policy-nxcx99yp.js → curation-policy-65ckmmd5.js} +5 -5
- package/dist/cli/{curator-drift-0ne6gnj0.js → curator-drift-t95vqagz.js} +6 -6
- package/dist/cli/{curator-llm-factory-gdedzs6k.js → curator-llm-factory-znjp0g9d.js} +36 -36
- package/dist/cli/{curator-s08eqma1.js → curator-wr25srz6.js} +36 -36
- package/dist/cli/{doctor-knowledge-receipt-phase-id-kpzaepq8.js → doctor-knowledge-receipt-phase-id-hxyxqqya.js} +7 -7
- package/dist/cli/{evidence-summary-service-xadab4ym.js → evidence-summary-service-pzr0aw1h.js} +16 -16
- package/dist/cli/{gate-evidence-c3d7ewv4.js → gate-evidence-0dwbqya4.js} +6 -6
- package/dist/cli/{guardrail-explain-enbr5ne9.js → guardrail-explain-etssbwma.js} +37 -37
- package/dist/cli/{guardrail-log-0g59n4ae.js → guardrail-log-055340sb.js} +7 -7
- package/dist/cli/{guardrail-reset-e0m3p15n.js → guardrail-reset-zdnshfqh.js} +36 -36
- package/dist/cli/{hive-promoter-1jb0t5g2.js → hive-promoter-nphztsfb.js} +36 -36
- package/dist/cli/{index-1kd2cbcz.js → index-06c2j365.js} +3 -3
- package/dist/cli/{index-vn8phy76.js → index-0bf26e0h.js} +1 -1
- package/dist/cli/{index-8f0j6kf2.js → index-0gdyd1mx.js} +3 -3
- package/dist/cli/{index-f1wqew85.js → index-15836xvt.js} +2 -2
- package/dist/cli/{index-98zfmfnn.js → index-16f28gya.js} +4 -4
- package/dist/cli/{index-n7vy4gb3.js → index-1cz2j033.js} +6 -6
- package/dist/cli/{index-sg2agtt5.js → index-1pfga0cy.js} +1 -1
- package/dist/cli/{index-jevq7a7b.js → index-1r5k2b4v.js} +2 -2
- package/dist/cli/{index-j9swvmt3.js → index-1xa8wq76.js} +1 -1
- package/dist/cli/{index-fbwerevq.js → index-2sc36smx.js} +1 -1
- package/dist/cli/{index-dd258pfn.js → index-35ythzj4.js} +4 -4
- package/dist/cli/{index-dmnvgc03.js → index-46zge5zc.js} +4 -4
- package/dist/cli/{index-9qbn3chx.js → index-6p6m98bb.js} +1 -1
- package/dist/cli/{index-txr48a64.js → index-6yb7fhah.js} +38 -38
- package/dist/cli/{index-03ng9y76.js → index-71b12k03.js} +7 -7
- package/dist/cli/{index-wx43mc8h.js → index-8q8783g0.js} +1 -1
- package/dist/cli/{index-z11watrb.js → index-8xabhfwr.js} +2 -2
- package/dist/cli/{index-br33a6v7.js → index-99h4ez5x.js} +3 -3
- package/dist/cli/{index-vktygb4k.js → index-9bdz8cbx.js} +2 -2
- package/dist/cli/{index-cjekszvy.js → index-9c2t70wh.js} +3 -3
- package/dist/cli/{index-ykaaejka.js → index-9czp2dcg.js} +3 -3
- package/dist/cli/{index-9f7y0rym.js → index-akg9rdt1.js} +36 -36
- package/dist/cli/{index-85npnq5t.js → index-aq962xjf.js} +4 -4
- package/dist/cli/{index-h83221w1.js → index-d3rjvm9e.js} +3 -3
- package/dist/cli/{index-3b71hf2k.js → index-fce5drxa.js} +2 -2
- package/dist/cli/{index-0cdkb7e8.js → index-g1avjt26.js} +4 -4
- package/dist/cli/{index-5nwfz9bn.js → index-hh7pa3yk.js} +1 -1
- package/dist/cli/{index-4ak3ewt2.js → index-hshx5znv.js} +3 -3
- package/dist/cli/{index-ar33mkxc.js → index-jp7qd7r4.js} +4 -4
- package/dist/cli/{index-w5p9crxx.js → index-jy33tgeb.js} +4 -4
- package/dist/cli/{index-jc2ndtdt.js → index-k8sarme1.js} +1 -1
- package/dist/cli/{index-p746x44z.js → index-mv2ptr24.js} +4 -4
- package/dist/cli/{index-hq7mfqe5.js → index-q9kefh33.js} +1 -1
- package/dist/cli/{index-4m7cywkf.js → index-qkhssaay.js} +90 -77
- package/dist/cli/{index-3jn6155r.js → index-s0r30djy.js} +1 -1
- package/dist/cli/{index-1tgkj4mf.js → index-sqkz9hyj.js} +2 -2
- package/dist/cli/{index-4zran0jk.js → index-twb3f4tk.js} +1 -1
- package/dist/cli/{index-dmdg2zay.js → index-wrdktgpy.js} +2 -2
- package/dist/cli/{index-bjh6cw86.js → index-xhgq58e1.js} +4 -4
- package/dist/cli/{index-d95b3yce.js → index-yn5r962a.js} +6 -6
- package/dist/cli/{index-bstjg81q.js → index-zfbxfm2m.js} +33 -33
- package/dist/cli/index.js +37 -37
- package/dist/cli/{knowledge-escalator-c65r55bv.js → knowledge-escalator-h4wqey95.js} +13 -13
- package/dist/cli/{knowledge-events-exc94dr2.js → knowledge-events-jdj0kg0x.js} +11 -11
- package/dist/cli/{knowledge-link-kgt3zx0c.js → knowledge-link-h4pdcnya.js} +4 -4
- package/dist/cli/{knowledge-store-b2qm637m.js → knowledge-store-9pkka657.js} +5 -5
- package/dist/cli/{knowledge-validator-44pn1xrn.js → knowledge-validator-2hh4838s.js} +7 -7
- package/dist/cli/{mcp-6qjt8ey7.js → mcp-dr2qg42d.js} +1 -1
- package/dist/cli/{model-preflight-dh9dadg8.js → model-preflight-t6megn5m.js} +80 -36
- package/dist/cli/{pending-delegations-vcqw78d8.js → pending-delegations-96j63y3v.js} +7 -7
- package/dist/cli/{pr-subscriptions-2vp2sxjb.js → pr-subscriptions-qrc475pd.js} +7 -7
- package/dist/cli/{pr-workflow-gate-cy24tc3c.js → pr-workflow-gate-1hf06vw7.js} +36 -36
- package/dist/cli/{runner-zeqpd2c2.js → runner-4hfmp1ag.js} +5 -5
- package/dist/cli/{scan-cursor-3hyz0qnh.js → scan-cursor-wfa7239s.js} +6 -6
- package/dist/cli/{schema-4s2nnpqt.js → schema-v3z4wgje.js} +2 -2
- package/dist/cli/{scope-persistence-1bvaeene.js → scope-persistence-k2zq1h9h.js} +12 -12
- package/dist/cli/{server-zb4j57w6.js → server-qk8e60ah.js} +36 -36
- package/dist/cli/{skill-generator-fqh79jr7.js → skill-generator-q6jzjcer.js} +15 -15
- package/dist/cli/{snapshot-coordination-init-v50k6v2v.js → snapshot-coordination-init-h8cqcmve.js} +36 -36
- package/dist/cli/{speckit-checkoff-mcxxpmy4.js → speckit-checkoff-mh45c204.js} +4 -4
- package/dist/cli/{telemetry-eq1cwq2x.js → telemetry-kvhe94gs.js} +1 -1
- package/dist/cli/{worktree-collision-ownership-fk6spbrf.js → worktree-collision-ownership-hm5y77hr.js} +7 -7
- package/dist/cli/{worktree-isolation-ht89tqrc.js → worktree-isolation-tdst4qs1.js} +36 -36
- package/dist/host/v2/events.d.ts +19 -1
- package/dist/host/v2/model-apply.d.ts +39 -0
- package/dist/host/v2/setup.d.ts +0 -35
- package/dist/index.js +12 -12
- package/dist/models/task-model-routing.d.ts +8 -0
- package/dist/services/model-preflight.d.ts +24 -0
- package/dist/utils/provider-error-classification.d.ts +30 -4
- 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).
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
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.
|
|
3
|
+
"version": "7.188.6",
|
|
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",
|