@esankhan3/anvil-agent-core 0.1.2 → 0.2.0

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 (93) hide show
  1. package/dist/__tests__/mcp-merged-executor.test.d.ts +2 -0
  2. package/dist/__tests__/mcp-merged-executor.test.d.ts.map +1 -0
  3. package/dist/__tests__/mcp-merged-executor.test.js +221 -0
  4. package/dist/__tests__/mcp-merged-executor.test.js.map +1 -0
  5. package/dist/__tests__/mcp.test.js +21 -15
  6. package/dist/__tests__/mcp.test.js.map +1 -1
  7. package/dist/__tests__/model-catalog.test.d.ts +11 -0
  8. package/dist/__tests__/model-catalog.test.d.ts.map +1 -0
  9. package/dist/__tests__/model-catalog.test.js +102 -0
  10. package/dist/__tests__/model-catalog.test.js.map +1 -0
  11. package/dist/__tests__/model-tier-resolver.test.d.ts +19 -0
  12. package/dist/__tests__/model-tier-resolver.test.d.ts.map +1 -0
  13. package/dist/__tests__/model-tier-resolver.test.js +97 -0
  14. package/dist/__tests__/model-tier-resolver.test.js.map +1 -0
  15. package/dist/adk-adapter.d.ts.map +1 -1
  16. package/dist/adk-adapter.js +11 -0
  17. package/dist/adk-adapter.js.map +1 -1
  18. package/dist/agent/session/__tests__/spawn-telemetry.test.js +39 -4
  19. package/dist/agent/session/__tests__/spawn-telemetry.test.js.map +1 -1
  20. package/dist/agent/session/adapter.d.ts +34 -0
  21. package/dist/agent/session/adapter.d.ts.map +1 -1
  22. package/dist/agent/session/adapter.js.map +1 -1
  23. package/dist/agent/session/default-adapter-factory.d.ts.map +1 -1
  24. package/dist/agent/session/default-adapter-factory.js +66 -2
  25. package/dist/agent/session/default-adapter-factory.js.map +1 -1
  26. package/dist/agent/session/language-model-bridge.d.ts.map +1 -1
  27. package/dist/agent/session/language-model-bridge.js +52 -1
  28. package/dist/agent/session/language-model-bridge.js.map +1 -1
  29. package/dist/agent/session/session.d.ts +16 -0
  30. package/dist/agent/session/session.d.ts.map +1 -1
  31. package/dist/agent/session/session.js +86 -2
  32. package/dist/agent/session/session.js.map +1 -1
  33. package/dist/gemini-adapter.d.ts.map +1 -1
  34. package/dist/gemini-adapter.js +11 -0
  35. package/dist/gemini-adapter.js.map +1 -1
  36. package/dist/gemini-cli-adapter.d.ts.map +1 -1
  37. package/dist/gemini-cli-adapter.js +10 -0
  38. package/dist/gemini-cli-adapter.js.map +1 -1
  39. package/dist/index.d.ts +4 -0
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +6 -0
  42. package/dist/index.js.map +1 -1
  43. package/dist/mcp/client.d.ts +64 -18
  44. package/dist/mcp/client.d.ts.map +1 -1
  45. package/dist/mcp/client.js +190 -26
  46. package/dist/mcp/client.js.map +1 -1
  47. package/dist/mcp/index.d.ts +5 -2
  48. package/dist/mcp/index.d.ts.map +1 -1
  49. package/dist/mcp/index.js +3 -8
  50. package/dist/mcp/index.js.map +1 -1
  51. package/dist/mcp/merged-executor.d.ts +74 -0
  52. package/dist/mcp/merged-executor.d.ts.map +1 -0
  53. package/dist/mcp/merged-executor.js +198 -0
  54. package/dist/mcp/merged-executor.js.map +1 -0
  55. package/dist/mcp/pool.d.ts +71 -0
  56. package/dist/mcp/pool.d.ts.map +1 -0
  57. package/dist/mcp/pool.js +171 -0
  58. package/dist/mcp/pool.js.map +1 -0
  59. package/dist/mcp/tool-merger.d.ts +8 -5
  60. package/dist/mcp/tool-merger.d.ts.map +1 -1
  61. package/dist/mcp/tool-merger.js +8 -16
  62. package/dist/mcp/tool-merger.js.map +1 -1
  63. package/dist/model-catalog.d.ts +36 -0
  64. package/dist/model-catalog.d.ts.map +1 -0
  65. package/dist/model-catalog.js +102 -0
  66. package/dist/model-catalog.js.map +1 -0
  67. package/dist/model-tier-resolver.d.ts +61 -0
  68. package/dist/model-tier-resolver.d.ts.map +1 -0
  69. package/dist/model-tier-resolver.js +170 -0
  70. package/dist/model-tier-resolver.js.map +1 -0
  71. package/dist/ollama-adapter.d.ts.map +1 -1
  72. package/dist/ollama-adapter.js +6 -1
  73. package/dist/ollama-adapter.js.map +1 -1
  74. package/dist/opencode-adapter.d.ts +11 -0
  75. package/dist/opencode-adapter.d.ts.map +1 -1
  76. package/dist/opencode-adapter.js +13 -0
  77. package/dist/opencode-adapter.js.map +1 -1
  78. package/dist/openrouter-adapter.d.ts +15 -0
  79. package/dist/openrouter-adapter.d.ts.map +1 -1
  80. package/dist/openrouter-adapter.js +69 -19
  81. package/dist/openrouter-adapter.js.map +1 -1
  82. package/dist/provider-liveness.d.ts +5 -0
  83. package/dist/provider-liveness.d.ts.map +1 -1
  84. package/dist/provider-liveness.js +11 -15
  85. package/dist/provider-liveness.js.map +1 -1
  86. package/dist/registry.d.ts +1 -0
  87. package/dist/registry.d.ts.map +1 -1
  88. package/dist/registry.js +1 -1
  89. package/dist/registry.js.map +1 -1
  90. package/dist/upstream-error.d.ts.map +1 -1
  91. package/dist/upstream-error.js +11 -1
  92. package/dist/upstream-error.js.map +1 -1
  93. package/package.json +1 -1
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Dynamic model tier resolver — resolves model IDs from a discovery
3
+ * result instead of hardcoding them.
4
+ *
5
+ * Promoted to `@esankhan3/anvil-agent-core` in Phase F2 of the dashboard
6
+ * pipeline-runner deprecation plan (`docs/dashboard-pipeline-deprecation-plan.md`).
7
+ * Lives next to the provider adapters because tier-based routing is
8
+ * provider-shaped knowledge — same layer as `model-catalog`. The
9
+ * dashboard's discovery layer (`provider-registry.ts`, FS+exec heavy)
10
+ * stays in dashboard and produces values that satisfy this resolver's
11
+ * structural input types.
12
+ *
13
+ * Tier routing strategy defines which "weight class" each stage needs:
14
+ * fast → cheap model for most stages, balanced for build
15
+ * balanced → mix of cheap and mid-range
16
+ * thorough → mid-range for most, powerful for specs
17
+ *
18
+ * The resolver looks up the best available model for each weight class
19
+ * from the cached discovery result.
20
+ */
21
+ /**
22
+ * Phase 5 — env flag gating local-tier routing.
23
+ * Default off until Ollama detection is broadly reliable. When the flag is
24
+ * unset or '0'/'false', the resolver behaves exactly as before (no 'local'
25
+ * lookups happen, regardless of what models discovery returned).
26
+ */
27
+ function localTierEnabled() {
28
+ const v = process.env.ANVIL_LOCAL_TIER_ENABLED;
29
+ return v === '1' || v === 'true';
30
+ }
31
+ /**
32
+ * Per-stage weight class assignments for each user-selected tier.
33
+ * This is the routing strategy — it says "for the 'balanced' tier,
34
+ * the build stage needs a 'balanced' model, clarify needs a 'fast' one", etc.
35
+ *
36
+ * This table never contains model IDs — only weight classes.
37
+ */
38
+ const STAGE_WEIGHTS = {
39
+ fast: {
40
+ clarify: 'fast',
41
+ requirements: 'fast',
42
+ 'repo-requirements': 'fast',
43
+ specs: 'fast',
44
+ tasks: 'fast',
45
+ build: 'balanced',
46
+ validate: 'fast',
47
+ ship: 'fast',
48
+ },
49
+ balanced: {
50
+ clarify: 'fast',
51
+ requirements: 'balanced',
52
+ 'repo-requirements': 'balanced',
53
+ specs: 'balanced',
54
+ tasks: 'fast',
55
+ build: 'balanced',
56
+ validate: 'balanced',
57
+ ship: 'fast',
58
+ },
59
+ thorough: {
60
+ clarify: 'balanced',
61
+ requirements: 'balanced',
62
+ 'repo-requirements': 'balanced',
63
+ specs: 'powerful',
64
+ tasks: 'balanced',
65
+ build: 'balanced',
66
+ validate: 'balanced',
67
+ ship: 'balanced',
68
+ },
69
+ };
70
+ // ── Cache for resolved models ──────────────────────────────────────────
71
+ let resolvedCache = null;
72
+ let lastDiscoveryResult = null;
73
+ /**
74
+ * Provide the discovery result so the resolver can look up available models.
75
+ * Call this once after `discoverProviders()` completes.
76
+ */
77
+ export function setDiscoveryResult(result) {
78
+ if (result !== lastDiscoveryResult) {
79
+ lastDiscoveryResult = result;
80
+ resolvedCache = null; // invalidate on new discovery
81
+ }
82
+ }
83
+ /**
84
+ * Find the best available agentic model for a given weight class.
85
+ * Prefers CLI providers (agentic capability) since pipeline stages need tool use.
86
+ *
87
+ * For weight='local' the agentic filter is dropped: Ollama models go through
88
+ * the chat-only API adapter and don't carry the 'agentic' capability. They
89
+ * still work for short clarify/ship stages because those stages are single-
90
+ * turn prompts, not tool-using agent loops.
91
+ */
92
+ function findModelForWeight(weight, models) {
93
+ if (weight === 'local') {
94
+ const local = models.find(m => m.tier === 'local' && m.capabilities.includes('chat'));
95
+ if (local)
96
+ return local.id;
97
+ // No local model — caller falls through to remote-fast.
98
+ return null;
99
+ }
100
+ // Only consider models with agentic capability (CLI providers)
101
+ const agentic = models.filter(m => m.capabilities.includes('agentic'));
102
+ // Exact tier match
103
+ const exact = agentic.find(m => m.tier === weight);
104
+ if (exact)
105
+ return exact.id;
106
+ // Fallback: if no exact match, try adjacent tiers
107
+ // e.g., if no 'balanced' agentic model, try 'powerful' then 'fast'
108
+ const fallbackOrder = {
109
+ fast: ['balanced', 'powerful'],
110
+ balanced: ['powerful', 'fast'],
111
+ powerful: ['balanced', 'fast'],
112
+ };
113
+ for (const fallback of fallbackOrder[weight]) {
114
+ const match = agentic.find(m => m.tier === fallback);
115
+ if (match)
116
+ return match.id;
117
+ }
118
+ // Last resort: any agentic model
119
+ return agentic[0]?.id ?? null;
120
+ }
121
+ /**
122
+ * Resolve the model ID for a given tier + stage combination.
123
+ * Uses the provider registry to find the best available model dynamically.
124
+ *
125
+ * @param tier - User-selected cost tier (fast/balanced/thorough)
126
+ * @param stageName - Pipeline stage name (clarify, build, etc.)
127
+ * @param fallbackModel - Model to use if registry lookup fails
128
+ */
129
+ export function resolveModelByTier(tier, stageName, fallbackModel) {
130
+ // Determine which weight class this stage needs
131
+ const stageWeights = STAGE_WEIGHTS[tier];
132
+ let weight = stageWeights[stageName] ?? 'balanced';
133
+ // Phase 5 — escalate fast-tier clarify/ship to the local weight class when
134
+ // the env flag is set. Both stages are short, single-turn prompts that the
135
+ // local API adapter can handle. If no local model is discovered, the
136
+ // findModelForWeight('local', ...) call returns null and we drop back to
137
+ // the configured fast-tier weight below — no error, no behavior change.
138
+ if (localTierEnabled()
139
+ && tier === 'fast'
140
+ && (stageName === 'clarify' || stageName === 'ship')) {
141
+ weight = 'local';
142
+ }
143
+ // If we have a cached discovery result, resolve dynamically
144
+ if (lastDiscoveryResult) {
145
+ const cacheKey = `${tier}:${weight}:${stageName}`;
146
+ if (!resolvedCache)
147
+ resolvedCache = new Map();
148
+ if (resolvedCache.has(cacheKey))
149
+ return resolvedCache.get(cacheKey);
150
+ let resolved = findModelForWeight(weight, lastDiscoveryResult.models);
151
+ // Local lookup miss → fall back to the original (non-local) weight for
152
+ // this stage so the run still proceeds against a remote model.
153
+ if (!resolved && weight === 'local') {
154
+ const remoteWeight = stageWeights[stageName] ?? 'balanced';
155
+ resolved = findModelForWeight(remoteWeight, lastDiscoveryResult.models);
156
+ }
157
+ if (resolved) {
158
+ resolvedCache.set(cacheKey, resolved);
159
+ return resolved;
160
+ }
161
+ }
162
+ // No registry available — use fallback
163
+ return fallbackModel;
164
+ }
165
+ /** Invalidate the resolver cache (e.g., after provider changes) */
166
+ export function invalidateResolverCache() {
167
+ resolvedCache = null;
168
+ lastDiscoveryResult = null;
169
+ }
170
+ //# sourceMappingURL=model-tier-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-tier-resolver.js","sourceRoot":"","sources":["../src/model-tier-resolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ollama-adapter.d.ts","sourceRoot":"","sources":["../src/ollama-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EAIrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAiB,MAAM,4BAA4B,CAAC;AAmB1E;;;wBAGwB;AACxB,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBACnB,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAUjE;AAuBD,UAAU,cAAc;IACtB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;KAC7C,CAAC;CACH;AAWD,UAAU,WAAW;IACnB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,qBAAa,aAAc,YAAW,YAAY;IA+BpC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IA9BrC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAEtC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAUzC;IAEF;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB,CAA8B;IAEvD;;;;OAIG;gBAC0B,QAAQ,GAAE,aAA6B;IAEpE,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAKxC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAIpD,iBAAiB,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAY5F,IAAI,IAAI,IAAI;IAON,GAAG,CACP,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,MAAM,CAAC,cAAc,GAC5B,OAAO,CAAC,kBAAkB,CAAC;YAOhB,QAAQ;IAkHtB;;;;OAIG;YACW,UAAU;CAuGzB;AAwED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,WAAW,EAAE,EACvB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,IAAI,CAgBN"}
1
+ {"version":3,"file":"ollama-adapter.d.ts","sourceRoot":"","sources":["../src/ollama-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EAIrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAiB,MAAM,4BAA4B,CAAC;AAmB1E;;;wBAGwB;AACxB,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBACnB,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAUjE;AAuBD,UAAU,cAAc;IACtB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;KAC7C,CAAC;CACH;AAWD,UAAU,WAAW;IACnB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,qBAAa,aAAc,YAAW,YAAY;IA+BpC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IA9BrC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAEtC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAUzC;IAEF;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB,CAA8B;IAEvD;;;;OAIG;gBAC0B,QAAQ,GAAE,aAA6B;IAEpE,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAKxC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAIpD,iBAAiB,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAY5F,IAAI,IAAI,IAAI;IAON,GAAG,CACP,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,MAAM,CAAC,cAAc,GAC5B,OAAO,CAAC,kBAAkB,CAAC;YAOhB,QAAQ;IAuHtB;;;;OAIG;YACW,UAAU;CAuGzB;AAwED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,WAAW,EAAE,EACvB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,IAAI,CAgBN"}
@@ -202,7 +202,12 @@ export class OllamaAdapter {
202
202
  // text. Surface as retryable so the dashboard's chain-fallback walks
203
203
  // to the next chain entry instead of writing a 0-byte artifact.
204
204
  // Mirrors claude-adapter + openrouter-adapter contract.
205
- if (!aggregatedText.trim() && stopReason !== 'aborted') {
205
+ //
206
+ // Exclude `iteration_limit` — that's a deliberate caller-side cap, not
207
+ // a model failure. The caller asked us to stop after N iterations and
208
+ // we did exactly that; surfacing it as a retryable upstream error
209
+ // would burn the model on the chain walker for no reason.
210
+ if (!aggregatedText.trim() && stopReason !== 'aborted' && stopReason !== 'iteration_limit') {
206
211
  throw new UpstreamError(503, `ollama model "${config.model}" returned empty final text (stopReason=${stopReason}, outputTokens=${totalOut}, toolCalls=${countToolCalls(messages)})`, { provider: 'ollama', retryable: true });
207
212
  }
208
213
  emitResult(output, {
@@ -1 +1 @@
1
- {"version":3,"file":"ollama-adapter.js","sourceRoot":"","sources":["../src/ollama-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ollama-adapter.js","sourceRoot":"","sources":["../src/ollama-adapter.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,17 @@ export declare class OpenCodeAdapter extends OpenRouterAdapter {
27
27
  protected getApiKey(): string | undefined;
28
28
  protected getBaseUrl(): string;
29
29
  protected getExtraHeaders(): Record<string, string>;
30
+ /**
31
+ * OpenCode's proxy strictly validates assistant message shape and
32
+ * rejects `reasoning` / `reasoning_details` with
33
+ * `invalid_request_error: Extra inputs are not permitted, field:
34
+ * 'messages[N].reasoning(_details)'` (observed on Kimi K2.6,
35
+ * confirmed by anomalyco/opencode #14716 — "OpenCode should not
36
+ * include reasoning metadata in subsequent message transmissions").
37
+ * The proxy handles reasoning internally; the client should send
38
+ * the standard OpenAI-compat shape without sibling fields.
39
+ */
40
+ protected stripReasoningEcho(): boolean;
30
41
  supportsModel(modelId: string): boolean;
31
42
  getModelPricing(modelId: string): [number, number] | null;
32
43
  run(config: ModelAdapterConfig, output: NodeJS.WritableStream): Promise<ModelAdapterResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-adapter.d.ts","sourceRoot":"","sources":["../src/opencode-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAkC5D,qBAAa,eAAgB,SAAQ,iBAAiB;IACpD,SAAkB,QAAQ,EAAE,YAAY,CAAc;cAInC,SAAS,IAAI,MAAM,GAAG,SAAS;cAI/B,UAAU,IAAI,MAAM;cAOpB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAUnD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOvC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAOnD,GAAG,CAChB,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,MAAM,CAAC,cAAc,GAC5B,OAAO,CAAC,kBAAkB,CAAC;IAef,iBAAiB,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAKtG"}
1
+ {"version":3,"file":"opencode-adapter.d.ts","sourceRoot":"","sources":["../src/opencode-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAkC5D,qBAAa,eAAgB,SAAQ,iBAAiB;IACpD,SAAkB,QAAQ,EAAE,YAAY,CAAc;cAInC,SAAS,IAAI,MAAM,GAAG,SAAS;cAI/B,UAAU,IAAI,MAAM;cAOpB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQ5D;;;;;;;;;OASG;cACgB,kBAAkB,IAAI,OAAO;IAMvC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOvC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAOnD,GAAG,CAChB,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,MAAM,CAAC,cAAc,GAC5B,OAAO,CAAC,kBAAkB,CAAC;IAef,iBAAiB,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAKtG"}
@@ -70,6 +70,19 @@ export class OpenCodeAdapter extends OpenRouterAdapter {
70
70
  'X-Title': 'Anvil',
71
71
  };
72
72
  }
73
+ /**
74
+ * OpenCode's proxy strictly validates assistant message shape and
75
+ * rejects `reasoning` / `reasoning_details` with
76
+ * `invalid_request_error: Extra inputs are not permitted, field:
77
+ * 'messages[N].reasoning(_details)'` (observed on Kimi K2.6,
78
+ * confirmed by anomalyco/opencode #14716 — "OpenCode should not
79
+ * include reasoning metadata in subsequent message transmissions").
80
+ * The proxy handles reasoning internally; the client should send
81
+ * the standard OpenAI-compat shape without sibling fields.
82
+ */
83
+ stripReasoningEcho() {
84
+ return true;
85
+ }
73
86
  // -- Model id handling ----------------------------------------------------
74
87
  supportsModel(modelId) {
75
88
  // Registry uses the `opencode/` prefix to disambiguate from
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-adapter.js","sourceRoot":"","sources":["../src/opencode-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode-adapter.js","sourceRoot":"","sources":["../src/opencode-adapter.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,21 @@ export declare class OpenRouterAdapter implements ModelAdapter {
48
48
  private activeControllers;
49
49
  protected getApiKey(): string | undefined;
50
50
  protected getBaseUrl(): string;
51
+ /**
52
+ * Whether to strip `reasoning` / `reasoning_details` fields from
53
+ * the echoed assistant turn when re-prompting after tool results.
54
+ *
55
+ * Default `false` — OpenRouter requires the reasoning trace echoed
56
+ * back for thinking models (DeepSeek V4, Kimi K2.x, GLM thinking)
57
+ * or it 400s with "reasoning_content is missing in assistant tool
58
+ * call".
59
+ *
60
+ * Subclasses override to `true` when their upstream proxy is strict
61
+ * about extra sibling fields on the assistant message (e.g. OpenCode
62
+ * for Kimi K2.6, where the proxy rejects both `reasoning` AND
63
+ * `reasoning_details` as "Extra inputs not permitted").
64
+ */
65
+ protected stripReasoningEcho(): boolean;
51
66
  protected getExtraHeaders(): Record<string, string>;
52
67
  supportsModel(modelId: string): boolean;
53
68
  getModelPricing(modelId: string): [number, number] | null;
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter-adapter.d.ts","sourceRoot":"","sources":["../src/openrouter-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EAIb,MAAM,YAAY,CAAC;AAKpB;;;;;GAKG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAoHpD,qBAAa,iBAAkB,YAAW,YAAY;IACpD,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAgB;IAE/C,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAYzC;IAEF;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB,CAA8B;IAIvD,SAAS,CAAC,SAAS,IAAI,MAAM,GAAG,SAAS;IAIzC,SAAS,CAAC,UAAU,IAAI,MAAM;IAI9B,SAAS,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAWnD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAMvC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAInD,iBAAiB,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAM5F,IAAI,IAAI,IAAI;IAON,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC;YA6InF,UAAU;IAsDxB;;;;OAIG;YACW,UAAU;CAgKzB"}
1
+ {"version":3,"file":"openrouter-adapter.d.ts","sourceRoot":"","sources":["../src/openrouter-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EAIb,MAAM,YAAY,CAAC;AAKpB;;;;;GAKG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAoHpD,qBAAa,iBAAkB,YAAW,YAAY;IACpD,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAgB;IAE/C,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAYzC;IAEF;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB,CAA8B;IAIvD,SAAS,CAAC,SAAS,IAAI,MAAM,GAAG,SAAS;IAIzC,SAAS,CAAC,UAAU,IAAI,MAAM;IAI9B;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,kBAAkB,IAAI,OAAO;IAIvC,SAAS,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAWnD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAMvC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAInD,iBAAiB,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAM5F,IAAI,IAAI,IAAI;IAON,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC;YA8JnF,UAAU;IAoExB;;;;OAIG;YACW,UAAU;CAgKzB"}
@@ -98,6 +98,23 @@ export class OpenRouterAdapter {
98
98
  getBaseUrl() {
99
99
  return (process.env.OPENROUTER_BASE_URL ?? 'https://openrouter.ai/api/v1').replace(/\/+$/, '');
100
100
  }
101
+ /**
102
+ * Whether to strip `reasoning` / `reasoning_details` fields from
103
+ * the echoed assistant turn when re-prompting after tool results.
104
+ *
105
+ * Default `false` — OpenRouter requires the reasoning trace echoed
106
+ * back for thinking models (DeepSeek V4, Kimi K2.x, GLM thinking)
107
+ * or it 400s with "reasoning_content is missing in assistant tool
108
+ * call".
109
+ *
110
+ * Subclasses override to `true` when their upstream proxy is strict
111
+ * about extra sibling fields on the assistant message (e.g. OpenCode
112
+ * for Kimi K2.6, where the proxy rejects both `reasoning` AND
113
+ * `reasoning_details` as "Extra inputs not permitted").
114
+ */
115
+ stripReasoningEcho() {
116
+ return false;
117
+ }
101
118
  getExtraHeaders() {
102
119
  return {
103
120
  // OpenRouter-recommended attribution headers — surface in their
@@ -169,16 +186,29 @@ export class OpenRouterAdapter {
169
186
  // Append assistant turn to history so the model sees its own
170
187
  // tool_calls when we re-prompt with results. Thinking models
171
188
  // (DeepSeek V4, Kimi K2, GLM thinking variants…) require the
172
- // reasoning trace echoed back — without it they 400 with
173
- // "reasoning_content is missing in assistant tool call".
174
- // Send both `reasoning` (string) and `reasoning_details`
175
- // (structured) so OpenRouter can map to whichever shape the
176
- // upstream provider expects.
189
+ // reasoning trace echoed back via OpenRouter — without it they
190
+ // 400 with "reasoning_content is missing in assistant tool
191
+ // call".
192
+ //
193
+ // Per OpenRouter docs (openrouter.ai/docs/guides/best-practices
194
+ // /reasoning-tokens), the model returns EITHER `reasoning`
195
+ // (string) OR `reasoning_details` (array) — not both. Preserve
196
+ // whichever was returned, "exactly as returned." Prefer the
197
+ // structured `reasoning_details` since it's the canonical shape
198
+ // for tool-calling.
199
+ //
200
+ // Some OpenAI-compatible proxies (OpenCode for Kimi K2.6) reject
201
+ // reasoning fields entirely — they're strict on unknown sibling
202
+ // fields. Subclasses override `stripReasoningEcho()` to return
203
+ // true and skip the echo. See anomalyco/opencode #14716.
177
204
  messages.push({
178
205
  role: 'assistant',
179
206
  content: turn.text || null,
180
- ...(turn.reasoning ? { reasoning: turn.reasoning } : {}),
181
- ...(turn.reasoningDetails.length > 0 ? { reasoning_details: turn.reasoningDetails } : {}),
207
+ ...(this.stripReasoningEcho()
208
+ ? {}
209
+ : turn.reasoningDetails.length > 0
210
+ ? { reasoning_details: turn.reasoningDetails }
211
+ : (turn.reasoning ? { reasoning: turn.reasoning } : {})),
182
212
  tool_calls: turn.toolCalls,
183
213
  });
184
214
  for (const tc of turn.toolCalls) {
@@ -225,9 +255,13 @@ export class OpenRouterAdapter {
225
255
  // appending final text content (model spent its turns on tool_use /
226
256
  // reasoning blocks but never emitted assistant text), surface as a
227
257
  // retryable upstream error so the dashboard's chain-fallback walks
228
- // to the next chain entry instead of writing a 0-byte artifact
258
+ // to the next chain entry instead of writing a 0-byte artifact.
259
+ //
260
+ // Exclude `iteration_limit` — that's a deliberate caller-side cap,
261
+ // not a model failure. The model did what it was asked; bubbling
262
+ // this up as retryable would needlessly burn the model.
229
263
  // downstream. Mirrors the claude-adapter contract.
230
- if (!aggregatedText.trim() && stopReason !== 'aborted') {
264
+ if (!aggregatedText.trim() && stopReason !== 'aborted' && stopReason !== 'iteration_limit') {
231
265
  throw new _UpstreamError(503, `${this.provider} model "${config.model}" returned empty final text (stopReason=${stopReason}, outputTokens=${totalOut}, toolCalls=${countToolCalls(messages)})`, { provider: this.provider, retryable: true });
232
266
  }
233
267
  emitResult(output, {
@@ -268,16 +302,32 @@ export class OpenRouterAdapter {
268
302
  if (typeof config.maxOutputTokens === 'number' && config.maxOutputTokens > 0) {
269
303
  body.max_tokens = config.maxOutputTokens;
270
304
  }
271
- const response = await fetch(url, {
272
- method: 'POST',
273
- headers: {
274
- 'Content-Type': 'application/json',
275
- Authorization: `Bearer ${apiKey}`,
276
- ...this.getExtraHeaders(),
277
- },
278
- body: JSON.stringify(body),
279
- signal,
280
- });
305
+ let response;
306
+ try {
307
+ response = await fetch(url, {
308
+ method: 'POST',
309
+ headers: {
310
+ 'Content-Type': 'application/json',
311
+ Authorization: `Bearer ${apiKey}`,
312
+ ...this.getExtraHeaders(),
313
+ },
314
+ body: JSON.stringify(body),
315
+ signal,
316
+ });
317
+ }
318
+ catch (err) {
319
+ // Network-layer failures (DNS, connection refused, TLS handshake,
320
+ // network unreachable) surface as raw `TypeError: fetch failed`
321
+ // here — never reach the `!response.ok` branch below. Wrap as a
322
+ // retryable UpstreamError so the chain walker burns this model
323
+ // and tries the next chain entry instead of bubbling unwrapped.
324
+ // Honor caller-driven aborts (signal.aborted) — those are not
325
+ // retryable; the run was intentionally cancelled.
326
+ if (signal?.aborted)
327
+ throw err;
328
+ const msg = err instanceof Error ? err.message : String(err);
329
+ throw new _UpstreamError(0, `fetch failed: ${msg}`, { provider: this.provider, retryable: true });
330
+ }
281
331
  if (!response.ok) {
282
332
  const errBody = await response.text();
283
333
  throw new _UpstreamError(response.status, errBody, { provider: this.provider });
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter-adapter.js","sourceRoot":"","sources":["../src/openrouter-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openrouter-adapter.js","sourceRoot":"","sources":["../src/openrouter-adapter.ts"],"names":[],"mappings":"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"}
@@ -49,10 +49,15 @@ export declare function pickAliveModelFromChain(chain: ResolvedChain, providerOf
49
49
  * earlier in this run. They're skipped even if their provider's
50
50
  * liveness probe says alive.
51
51
  */
52
+ export interface ChainWalkSkip {
53
+ model: string;
54
+ reason: 'burned' | 'liveness-dead';
55
+ }
52
56
  export declare function pickAliveModelFromChainSync(chain: ResolvedChain, providerOf: (modelId: string) => ProviderName, excludeModels?: ReadonlySet<string>): {
53
57
  model: string;
54
58
  provider: ProviderName;
55
59
  fellBackFrom?: string;
60
+ skipped?: ChainWalkSkip[];
56
61
  };
57
62
  /**
58
63
  * Pre-warm the liveness cache for a set of providers. Called once at
@@ -1 +1 @@
1
- {"version":3,"file":"provider-liveness.d.ts","sourceRoot":"","sources":["../src/provider-liveness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAW1D;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAGpD;AAED,gEAAgE;AAChE,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ9E;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,GAC5C,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAc3E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,EAC7C,aAAa,GAAE,WAAW,CAAC,MAAM,CAAa,GAC7C;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAyBlE;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/E;AAED,0EAA0E;AAC1E,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C"}
1
+ {"version":3,"file":"provider-liveness.d.ts","sourceRoot":"","sources":["../src/provider-liveness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAW1D;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAGpD;AAED,gEAAgE;AAChE,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ9E;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,GAC5C,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAc3E;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,eAAe,CAAC;CACpC;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,EAC7C,aAAa,GAAE,WAAW,CAAC,MAAM,CAAa,GAC7C;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;CAAE,CAgC7F;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/E;AAED,0EAA0E;AAC1E,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C"}
@@ -61,42 +61,38 @@ export async function pickAliveModelFromChain(chain, providerOf) {
61
61
  }
62
62
  return { model: chain.primary, provider: primaryProvider, fellBackFrom: undefined };
63
63
  }
64
- /**
65
- * Synchronous chain walker — uses ONLY cached probe results. Returns
66
- * the primary unchanged when the cache is cold. Pair with
67
- * `prefetchLiveness()` at run start so the cache is warm by the time
68
- * stages fire.
69
- *
70
- * `excludeModels` is the runtime-burned set callers maintain: models
71
- * that hit a retryable UpstreamError (429 quota, rate-limit, 5xx)
72
- * earlier in this run. They're skipped even if their provider's
73
- * liveness probe says alive.
74
- */
75
64
  export function pickAliveModelFromChainSync(chain, providerOf, excludeModels = new Set()) {
76
65
  const candidates = [
77
66
  { model: chain.primary, isFallback: false },
78
67
  ...chain.fallbacks.map((fb) => ({ model: fb.model, isFallback: true })),
79
68
  ];
80
69
  let firstSkippedPrimary;
70
+ const skipped = [];
81
71
  for (const c of candidates) {
82
72
  if (excludeModels.has(c.model)) {
83
73
  if (!c.isFallback)
84
74
  firstSkippedPrimary = c.model;
75
+ skipped.push({ model: c.model, reason: 'burned' });
85
76
  continue;
86
77
  }
87
78
  const provider = providerOf(c.model);
88
79
  const rec = cache.get(provider);
89
80
  if (!rec || rec.alive) {
81
+ const fellBack = c.isFallback || firstSkippedPrimary;
90
82
  return {
91
83
  model: c.model,
92
84
  provider,
93
- ...(c.isFallback || firstSkippedPrimary
94
- ? { fellBackFrom: firstSkippedPrimary ?? chain.primary }
95
- : {}),
85
+ ...(fellBack ? { fellBackFrom: firstSkippedPrimary ?? chain.primary } : {}),
86
+ ...(skipped.length > 0 ? { skipped } : {}),
96
87
  };
97
88
  }
89
+ skipped.push({ model: c.model, reason: 'liveness-dead' });
98
90
  }
99
- return { model: chain.primary, provider: providerOf(chain.primary) };
91
+ return {
92
+ model: chain.primary,
93
+ provider: providerOf(chain.primary),
94
+ ...(skipped.length > 0 ? { skipped } : {}),
95
+ };
100
96
  }
101
97
  /**
102
98
  * Pre-warm the liveness cache for a set of providers. Called once at