@cleocode/core 2026.6.5 → 2026.6.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.
Files changed (51) hide show
  1. package/dist/docs/export-document.js +189 -137
  2. package/dist/docs/export-document.js.map +2 -2
  3. package/dist/llm/api-mode.d.ts +64 -0
  4. package/dist/llm/api-mode.d.ts.map +1 -0
  5. package/dist/llm/api-mode.js +72 -0
  6. package/dist/llm/api-mode.js.map +1 -0
  7. package/dist/llm/api.d.ts.map +1 -1
  8. package/dist/llm/api.js +6 -37
  9. package/dist/llm/api.js.map +1 -1
  10. package/dist/llm/auxiliary-fallback.d.ts.map +1 -1
  11. package/dist/llm/auxiliary-fallback.js +24 -38
  12. package/dist/llm/auxiliary-fallback.js.map +1 -1
  13. package/dist/llm/model-runner.d.ts +127 -0
  14. package/dist/llm/model-runner.d.ts.map +1 -0
  15. package/dist/llm/model-runner.js +282 -0
  16. package/dist/llm/model-runner.js.map +1 -0
  17. package/dist/llm/plugin-facade.js +29391 -1473
  18. package/dist/llm/plugin-facade.js.map +3 -3
  19. package/dist/llm/role-executor.d.ts +6 -5
  20. package/dist/llm/role-executor.d.ts.map +1 -1
  21. package/dist/llm/role-executor.js +40 -86
  22. package/dist/llm/role-executor.js.map +1 -1
  23. package/dist/llm/role-resolver.d.ts +28 -1
  24. package/dist/llm/role-resolver.d.ts.map +1 -1
  25. package/dist/llm/role-resolver.js +10 -0
  26. package/dist/llm/role-resolver.js.map +1 -1
  27. package/dist/llm/session-factory.d.ts +4 -6
  28. package/dist/llm/session-factory.d.ts.map +1 -1
  29. package/dist/llm/session-factory.js +6 -72
  30. package/dist/llm/session-factory.js.map +1 -1
  31. package/dist/llm/system-resolver.d.ts.map +1 -1
  32. package/dist/llm/system-resolver.js +6 -0
  33. package/dist/llm/system-resolver.js.map +1 -1
  34. package/dist/llm/tool-loop.d.ts.map +1 -1
  35. package/dist/llm/tool-loop.js +9 -32
  36. package/dist/llm/tool-loop.js.map +1 -1
  37. package/dist/release/reconcile.d.ts +61 -0
  38. package/dist/release/reconcile.d.ts.map +1 -1
  39. package/dist/release/reconcile.js +187 -2
  40. package/dist/release/reconcile.js.map +1 -1
  41. package/dist/store/exodus/column-transforms.d.ts +248 -0
  42. package/dist/store/exodus/column-transforms.d.ts.map +1 -0
  43. package/dist/store/exodus/column-transforms.js +444 -0
  44. package/dist/store/exodus/column-transforms.js.map +1 -0
  45. package/dist/store/exodus/migrate.d.ts.map +1 -1
  46. package/dist/store/exodus/migrate.js +5 -267
  47. package/dist/store/exodus/migrate.js.map +1 -1
  48. package/dist/store/exodus/verify-migration.d.ts.map +1 -1
  49. package/dist/store/exodus/verify-migration.js +61 -3
  50. package/dist/store/exodus/verify-migration.js.map +1 -1
  51. package/package.json +12 -12
@@ -7,11 +7,12 @@
7
7
  *
8
8
  * 1. {@link resolveLLMForRole}(role) — picks provider + model + credential
9
9
  * from the standard config chain (roles → default → daemon → fallback).
10
- * 2. Selects the correct transport based on the resolved provider:
11
- * - `'anthropic'` {@link AnthropicTransport} (anthropic_messages mode)
12
- * - everything else → {@link ChatCompletionsTransport} (OpenAI-compat)
13
- * 3. Maps `cred.authType` to the right SDK auth slot (`apiKey` vs
14
- * `authToken` for Anthropic OAuth; Bearer header for OpenAI-compat OAuth).
10
+ * 2. {@link deriveApiWire}(provider, authType) stamps the wire protocol +
11
+ * implied base URL for the resolved pair (E9 · T11745).
12
+ * 3. {@link ModelRunner.buildTransportFromCredential} — the single SSoT
13
+ * factory builds the exact transport for ANY provider (anthropic incl. the
14
+ * OAuth beta header, kimi-code, openai-OAuth/codex, OpenAI-compat) from the
15
+ * descriptor data alone — no per-provider branching here.
15
16
  *
16
17
  * Replaces the hardcoded `fetch('https://api.anthropic.com/v1/messages')`
17
18
  * in {@link memory/sleep-consolidation.ts} and {@link memory/observer-reflector.ts}
@@ -1 +1 @@
1
- {"version":3,"file":"role-executor.d.ts","sourceRoot":"","sources":["../../src/llm/role-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,gDAAgD,CAAC;AASxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA8BxD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,KAAK,EAAE,eAAe,CAAC;IACvB,uDAAuD;IACvD,QAAQ,EAAE,cAAc,CAAC;IACzB,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;CACf;AAKD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAyJtC"}
1
+ {"version":3,"file":"role-executor.d.ts","sourceRoot":"","sources":["../../src/llm/role-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,gDAAgD,CAAC;AAQxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA2BxD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,KAAK,EAAE,eAAe,CAAC;IACvB,uDAAuD;IACvD,QAAQ,EAAE,cAAc,CAAC;IACzB,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;CACf;AAKD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAiHtC"}
@@ -7,11 +7,12 @@
7
7
  *
8
8
  * 1. {@link resolveLLMForRole}(role) — picks provider + model + credential
9
9
  * from the standard config chain (roles → default → daemon → fallback).
10
- * 2. Selects the correct transport based on the resolved provider:
11
- * - `'anthropic'` {@link AnthropicTransport} (anthropic_messages mode)
12
- * - everything else → {@link ChatCompletionsTransport} (OpenAI-compat)
13
- * 3. Maps `cred.authType` to the right SDK auth slot (`apiKey` vs
14
- * `authToken` for Anthropic OAuth; Bearer header for OpenAI-compat OAuth).
10
+ * 2. {@link deriveApiWire}(provider, authType) stamps the wire protocol +
11
+ * implied base URL for the resolved pair (E9 · T11745).
12
+ * 3. {@link ModelRunner.buildTransportFromCredential} — the single SSoT
13
+ * factory builds the exact transport for ANY provider (anthropic incl. the
14
+ * OAuth beta header, kimi-code, openai-OAuth/codex, OpenAI-compat) from the
15
+ * descriptor data alone — no per-provider branching here.
15
16
  *
16
17
  * Replaces the hardcoded `fetch('https://api.anthropic.com/v1/messages')`
17
18
  * in {@link memory/sleep-consolidation.ts} and {@link memory/observer-reflector.ts}
@@ -28,16 +29,12 @@
28
29
  * @epic T9261 T-LLM-CRED-CENTRALIZATION
29
30
  * @see ADR-072 §Type lock-in
30
31
  */
32
+ import { deriveApiWire } from './api-mode.js';
31
33
  import { CredentialPool } from './credential-pool.js';
32
34
  import { classifyError } from './error-classifier.js';
33
- import { getKimiCodeMshHeaders, isKimiCodeApiKey } from './provider-registry/builtin/kimi-code.js';
35
+ import { ModelRunner } from './model-runner.js';
36
+ import { isKimiCodeApiKey } from './provider-registry/builtin/kimi-code.js';
34
37
  import { resolveLLMForRole } from './role-resolver.js';
35
- import { AnthropicTransport } from './transports/anthropic.js';
36
- import { ChatCompletionsTransport } from './transports/chat-completions.js';
37
- import { buildCodexOAuthHeaders, CODEX_OAUTH_BASE_URL } from './transports/codex-oauth-headers.js';
38
- import { CodexResponsesTransport } from './transports/codex-responses.js';
39
- /** Kimi Code chat endpoint — speaks Anthropic Messages protocol. */
40
- const KIMI_CODE_BASE_URL = 'https://api.kimi.com/coding';
41
38
  /**
42
39
  * Process-lifetime latch set of `role|provider|label` keys that have already
43
40
  * emitted a credential-failure warning. Prevents a dead/rejected credential
@@ -114,82 +111,39 @@ export async function executeForRole(role, systemPrompt, userContent, opts = {})
114
111
  ...(opts.signal !== undefined ? { signal: opts.signal } : {}),
115
112
  };
116
113
  try {
117
- if (llm.provider === 'anthropic') {
118
- // Anthropic supports two auth schemes API key vs OAuth bearer.
119
- // Pass the credential through the matching SDK slot so the SDK sends
120
- // exactly one auth header (avoid x-api-key + Authorization collision).
121
- const transport = llm.credential.authType === 'oauth'
122
- ? new AnthropicTransport({
123
- authToken: llm.credential.apiKey,
124
- defaultHeaders: {
125
- 'anthropic-beta': 'oauth-2025-04-20',
126
- },
127
- })
128
- : new AnthropicTransport({ apiKey: llm.credential.apiKey });
129
- const resp = await transport.complete(request);
130
- return {
131
- content: resp.content ?? '',
132
- usage: resp.usage,
133
- provider: llm.provider,
134
- model: resp.model,
135
- };
114
+ // Single SSoT transport construction (E9 · T11745). The resolver gives us
115
+ // (provider, authType); `deriveApiWire` stamps the wire protocol + implied
116
+ // base URL; the one {@link ModelRunner} builds the exact transport for ANY
117
+ // provider anthropic (incl. the OAuth beta header), kimi-code (Anthropic
118
+ // protocol + mandatory X-Msh headers), openai-OAuth/codex (codex_responses +
119
+ // ChatGPT-backend Cloudflare headers), or OpenAI-compatible chat_completions
120
+ // — with NO per-provider branching here. This replaces the four inline
121
+ // transport blocks that had each drifted from `session-factory` (the
122
+ // anthropic block hardcoded the OAuth beta header; the others omitted it).
123
+ const authType = llm.credential.authType === 'oauth' ? 'oauth' : 'api_key';
124
+ // Diagnostic (preserved): a non-`sk-kimi-`, non-OAuth key routed to
125
+ // kimi-code will likely fail — the legacy Moonshot `mk-*` path lives on the
126
+ // separate `moonshot` provider.
127
+ if (llm.provider === 'kimi-code' &&
128
+ authType !== 'oauth' &&
129
+ !isKimiCodeApiKey(llm.credential.apiKey)) {
130
+ console.warn(`[role-executor] kimi-code credential is not sk-kimi- prefixed and not OAuth; ` +
131
+ `the request may fail. Configure a coding-plan key from kimi.com/code or ` +
132
+ `switch the provider to 'moonshot' for legacy mk- keys.`);
136
133
  }
137
- if (llm.provider === 'kimi-code') {
138
- // Kimi Code speaks Anthropic Messages protocol against
139
- // api.kimi.com/coding. Both `sk-kimi-*` API keys and OAuth bearer
140
- // tokens authenticate via `Authorization: Bearer …` — the legacy
141
- // Moonshot `mk-*` API-key path lives on the separate `moonshot`
142
- // provider, not here. Mandatory `X-Msh-*` headers are merged in.
143
- // (Defensive: also check the key prefix in case a misconfigured key
144
- // routed to kimi-code despite being a legacy moonshot key.)
145
- if (!isKimiCodeApiKey(llm.credential.apiKey) && llm.credential.authType !== 'oauth') {
146
- console.warn(`[role-executor] kimi-code credential is not sk-kimi- prefixed and not OAuth; ` +
147
- `the request may fail. Configure a coding-plan key from kimi.com/code or ` +
148
- `switch the provider to 'moonshot' for legacy mk- keys.`);
149
- }
150
- const transport = new AnthropicTransport({
151
- authToken: llm.credential.apiKey,
152
- baseUrl: KIMI_CODE_BASE_URL,
153
- defaultHeaders: getKimiCodeMshHeaders(),
154
- });
155
- const resp = await transport.complete(request);
156
- return {
157
- content: resp.content ?? '',
158
- usage: resp.usage,
159
- provider: llm.provider,
160
- model: resp.model,
161
- };
162
- }
163
- if (llm.provider === 'openai' && llm.credential.authType === 'oauth') {
164
- // OpenAI Codex OAuth path. A ChatGPT-issued OAuth bearer token is NOT
165
- // accepted at `api.openai.com`; it authenticates against the Codex
166
- // backend (`chatgpt.com/backend-api/codex`) via the Responses API, with
167
- // the Cloudflare-bypass headers hermes-agent documented (originator +
168
- // ChatGPT-Account-ID). This is the branch the RCA found missing — it lets
169
- // a background role be fulfilled by the live `openai/codex-cli` OAuth
170
- // credential in the pool. (api_key OpenAI keeps the chat_completions
171
- // path below.)
172
- const transport = new CodexResponsesTransport({
173
- provider: llm.provider,
174
- apiKey: llm.credential.apiKey,
175
- baseUrl: CODEX_OAUTH_BASE_URL,
176
- defaultHeaders: buildCodexOAuthHeaders(llm.credential.apiKey),
177
- });
178
- const resp = await transport.complete(request);
179
- return {
180
- content: resp.content ?? '',
181
- usage: resp.usage,
182
- provider: llm.provider,
183
- model: resp.model,
184
- };
185
- }
186
- // openai (api_key) / openrouter / deepseek / xai / groq / moonshot /
187
- // gemini-via-shim — all speak OpenAI chat_completions. ChatCompletionsTransport
188
- // routes through the OpenAI SDK which sets Authorization: Bearer from apiKey.
189
- const transport = new ChatCompletionsTransport({
134
+ const wire = deriveApiWire(llm.provider, authType);
135
+ const resolvedCredential = {
190
136
  provider: llm.provider,
191
- apiKey: llm.credential.apiKey,
192
- });
137
+ label: llm.credentialLabel ?? 'default',
138
+ token: llm.credential.apiKey,
139
+ authType,
140
+ expiresAt: null,
141
+ refreshToken: null,
142
+ extraHeaders: {},
143
+ baseUrl: wire.baseUrl,
144
+ awsProfile: null,
145
+ };
146
+ const transport = ModelRunner.buildTransportFromCredential(llm.provider, resolvedCredential, wire.apiMode);
193
147
  const resp = await transport.complete(request);
194
148
  return {
195
149
  content: resp.content ?? '',
@@ -1 +1 @@
1
- {"version":3,"file":"role-executor.js","sourceRoot":"","sources":["../../src/llm/role-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"role-executor.js","sourceRoot":"","sources":["../../src/llm/role-executor.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@
26
26
  * @module llm/role-resolver
27
27
  */
28
28
  import type { Anthropic } from '@anthropic-ai/sdk';
29
- import type { ResolutionSource, ResolveLLMForRoleOptions, RoleName } from '@cleocode/contracts';
29
+ import type { ApiMode, ModelCaps, ResolutionSource, ResolveLLMForRoleOptions, RoleName } from '@cleocode/contracts';
30
30
  import type { OpenAI } from 'openai';
31
31
  import { type CredentialResult } from './credentials.js';
32
32
  import { IMPLICIT_FALLBACK_MODEL } from './fallback-model.js';
@@ -118,6 +118,33 @@ export interface ResolvedLLM {
118
118
  source: ResolutionSource;
119
119
  /** When `roles[role].credentialLabel` was set, the label that was used. */
120
120
  credentialLabel?: string;
121
+ /**
122
+ * Wire protocol spoken by the resolved provider/credential pair (E9 · T11745).
123
+ *
124
+ * The load-bearing SSoT addition: the single {@link import('./model-runner.js').ModelRunner}
125
+ * branches on this to construct the correct transport — `'codex_responses'`
126
+ * routes a ChatGPT OAuth token through the Responses API; everything else
127
+ * follows {@link deriveApiWire}. Derived in {@link resolveLLMForRole} from the
128
+ * resolved `provider` + `credential.authType`.
129
+ */
130
+ apiMode: ApiMode;
131
+ /**
132
+ * Per-provider API endpoint override implied by the resolution. `null` when
133
+ * the transport's own default (or the credential's `baseUrl`) should win.
134
+ * Currently carries the codex ChatGPT-backend URL for OAuth openai resolution.
135
+ */
136
+ baseUrl: string | null;
137
+ /**
138
+ * Scheme used to present the credential. Mirrors `credential.authType`,
139
+ * surfaced at the top level so the runner does not have to reach into the
140
+ * credential. `null` when no credential was resolved.
141
+ */
142
+ authType: 'api_key' | 'oauth' | 'aws_sdk' | null;
143
+ /**
144
+ * Coarse capability hints (tools/json/vision/thinking) so a runner can pick
145
+ * the right call shape. Optional — absent means "unknown".
146
+ */
147
+ capabilities?: ModelCaps;
121
148
  }
122
149
  /**
123
150
  * Resolve the LLM client + credential for a logical role.
@@ -1 +1 @@
1
- {"version":3,"file":"role-resolver.d.ts","sourceRoot":"","sources":["../../src/llm/role-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAMV,gBAAgB,EAChB,wBAAwB,EACxB,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGrC,OAAO,EAAE,KAAK,gBAAgB,EAAsB,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,cAA4B,CAAC;AAEtE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,sBAAsB,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAKrE,YAAY,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,CAAC;AAE3D;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,WAAW;IAC1B,gDAAgD;IAChD,QAAQ,EAAE,cAAc,CAAC;IACzB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB;;;OAGG;IACH,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,kDAAkD;IAClD,MAAM,EAAE,gBAAgB,CAAC;IACzB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAoLD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,QAAQ,EACd,IAAI,CAAC,EAAE,wBAAwB,GAC9B,OAAO,CAAC,WAAW,CAAC,CA4DtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,QAAQ,EACd,IAAI,CAAC,EAAE,wBAAwB,GAC9B,OAAO,CAAC;IACT,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,gBAAgB,CAAC;CAC9B,GAAG,IAAI,CAAC,CAmBR"}
1
+ {"version":3,"file":"role-resolver.d.ts","sourceRoot":"","sources":["../../src/llm/role-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EACV,OAAO,EAMP,SAAS,EACT,gBAAgB,EAChB,wBAAwB,EACxB,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC,OAAO,EAAE,KAAK,gBAAgB,EAAsB,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,cAA4B,CAAC;AAEtE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,sBAAsB,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAKrE,YAAY,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,CAAC;AAE3D;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,WAAW;IAC1B,gDAAgD;IAChD,QAAQ,EAAE,cAAc,CAAC;IACzB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB;;;OAGG;IACH,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,kDAAkD;IAClD,MAAM,EAAE,gBAAgB,CAAC;IACzB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;OAQG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;OAIG;IACH,QAAQ,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IACjD;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAoLD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,QAAQ,EACd,IAAI,CAAC,EAAE,wBAAwB,GAC9B,OAAO,CAAC,WAAW,CAAC,CAsEtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,QAAQ,EACd,IAAI,CAAC,EAAE,wBAAwB,GAC9B,OAAO,CAAC;IACT,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,gBAAgB,CAAC;CAC9B,GAAG,IAAI,CAAC,CAmBR"}
@@ -26,6 +26,7 @@
26
26
  * @module llm/role-resolver
27
27
  */
28
28
  import { resolveOrCwd } from '../paths.js';
29
+ import { deriveApiWire } from './api-mode.js';
29
30
  import { CredentialPool } from './credential-pool.js';
30
31
  import { resolveCredentials } from './credentials.js';
31
32
  import { getCredentialByLabel, pickCredentialForProvider } from './credentials-store.js';
@@ -296,6 +297,12 @@ export async function resolveLLMForRole(role, opts) {
296
297
  client = null;
297
298
  }
298
299
  }
300
+ // Step 5 — derive the SSoT wire facts (E9 · T11745). `apiMode`/`baseUrl` let
301
+ // the single ModelRunner construct the correct transport from descriptor data
302
+ // alone (codex routes purely on `apiMode === 'codex_responses'`). `authType`
303
+ // is surfaced from the resolved credential (or null when none).
304
+ const authType = credential?.authType ?? null;
305
+ const wire = deriveApiWire(provider, authType);
299
306
  return {
300
307
  provider,
301
308
  model,
@@ -303,6 +310,9 @@ export async function resolveLLMForRole(role, opts) {
303
310
  credential,
304
311
  source,
305
312
  credentialLabel: usedLabel,
313
+ apiMode: wire.apiMode,
314
+ baseUrl: wire.baseUrl,
315
+ authType,
306
316
  };
307
317
  }
308
318
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"role-resolver.js","sourceRoot":"","sources":["../../src/llm/role-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"role-resolver.js","sourceRoot":"","sources":["../../src/llm/role-resolver.ts"],"names":[],"mappings":"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"}
@@ -17,12 +17,10 @@ import type { ModelTransport } from './types-config.js';
17
17
  /**
18
18
  * Instantiate the correct {@link LlmTransport} for a provider/credential pair.
19
19
  *
20
- * Provider mapping:
21
- * - `'anthropic'`{@link AnthropicTransport}
22
- * - `'bedrock'` {@link BedrockTransport} (AWS credential chain; token unused)
23
- * - `'gemini'` {@link GeminiTransport}
24
- * - `apiMode === 'codex_responses'` → {@link CodexResponsesTransport}
25
- * - everything else → {@link ChatCompletionsTransport} (OpenAI-compatible)
20
+ * Thin shim over the single SSoT factory {@link ModelRunner.buildTransportFromCredential}
21
+ * (E9 · T11745). The providertransport mapping (anthropic / bedrock / gemini /
22
+ * ollama / codex_responses / chat-completions) now lives in ONE place — this
23
+ * function delegates so existing callers keep their signature.
26
24
  *
27
25
  * `apiMode` takes precedence over provider name when `'codex_responses'` is
28
26
  * supplied — this allows xAI `grok-*` models to be served via the Responses
@@ -1 +1 @@
1
- {"version":3,"file":"session-factory.d.ts","sourceRoot":"","sources":["../../src/llm/session-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EACtB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AASzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMxD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,iBAAS,oBAAoB,CAC3B,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,kBAAkB,EAC9B,OAAO,CAAC,EAAE,OAAO,GAChB,YAAY,CAmEd;AAuCD;;;;;;;;;;;;;GAaG;AACH,qBAAa,wBAAyB,YAAW,iBAAiB;IAChE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA0B;IAE9D;;;OAGG;gBACS,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE;IAIhD;;;;;;;;;OASG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAItD;;;;;;;;;;OAUG;IACG,MAAM,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC;CA0C/D;AAMD;;;;;;GAMG;AACH,OAAO,EAAE,oBAAoB,IAAI,+BAA+B,EAAE,CAAC"}
1
+ {"version":3,"file":"session-factory.d.ts","sourceRoot":"","sources":["../../src/llm/session-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EACtB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAIzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMxD;;;;;;;;;;;;;;;;;GAiBG;AACH,iBAAS,oBAAoB,CAC3B,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,kBAAkB,EAC9B,OAAO,CAAC,EAAE,OAAO,GAChB,YAAY,CAEd;AAuCD;;;;;;;;;;;;;GAaG;AACH,qBAAa,wBAAyB,YAAW,iBAAiB;IAChE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA0B;IAE9D;;;OAGG;gBACS,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE;IAIhD;;;;;;;;;OASG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAItD;;;;;;;;;;OAUG;IACG,MAAM,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC;CA0C/D;AAMD;;;;;;GAMG;AACH,OAAO,EAAE,oBAAoB,IAAI,+BAA+B,EAAE,CAAC"}
@@ -10,25 +10,18 @@
10
10
  * @see ADR-072 §2.2
11
11
  */
12
12
  import { ConcreteSession } from './concrete-session.js';
13
+ import { ModelRunner } from './model-runner.js';
13
14
  import { resolveLLMForRole } from './role-resolver.js';
14
- import { AnthropicTransport } from './transports/anthropic.js';
15
- import { BedrockTransport } from './transports/bedrock.js';
16
- import { ChatCompletionsTransport } from './transports/chat-completions.js';
17
- import { CodexResponsesTransport } from './transports/codex-responses.js';
18
- import { GeminiTransport } from './transports/gemini.js';
19
- import { OllamaTransport } from './transports/ollama.js';
20
15
  // ---------------------------------------------------------------------------
21
16
  // Transport factory
22
17
  // ---------------------------------------------------------------------------
23
18
  /**
24
19
  * Instantiate the correct {@link LlmTransport} for a provider/credential pair.
25
20
  *
26
- * Provider mapping:
27
- * - `'anthropic'`{@link AnthropicTransport}
28
- * - `'bedrock'` {@link BedrockTransport} (AWS credential chain; token unused)
29
- * - `'gemini'` {@link GeminiTransport}
30
- * - `apiMode === 'codex_responses'` → {@link CodexResponsesTransport}
31
- * - everything else → {@link ChatCompletionsTransport} (OpenAI-compatible)
21
+ * Thin shim over the single SSoT factory {@link ModelRunner.buildTransportFromCredential}
22
+ * (E9 · T11745). The providertransport mapping (anthropic / bedrock / gemini /
23
+ * ollama / codex_responses / chat-completions) now lives in ONE place — this
24
+ * function delegates so existing callers keep their signature.
32
25
  *
33
26
  * `apiMode` takes precedence over provider name when `'codex_responses'` is
34
27
  * supplied — this allows xAI `grok-*` models to be served via the Responses
@@ -41,66 +34,7 @@ import { OllamaTransport } from './transports/ollama.js';
41
34
  * @returns The appropriate transport instance.
42
35
  */
43
36
  function transportForProvider(provider, credential, apiMode) {
44
- if (provider === 'anthropic') {
45
- const opts = credential.authType === 'oauth'
46
- ? { authToken: credential.token, baseUrl: credential.baseUrl ?? undefined }
47
- : {
48
- apiKey: credential.token,
49
- baseUrl: credential.baseUrl ?? undefined,
50
- defaultHeaders: Object.keys(credential.extraHeaders).length
51
- ? credential.extraHeaders
52
- : undefined,
53
- };
54
- return new AnthropicTransport(opts);
55
- }
56
- if (provider === 'bedrock') {
57
- // BedrockTransport resolves credentials via fromNodeProviderChain() internally.
58
- // The credential.awsProfile field carries the optional profile override.
59
- return new BedrockTransport({
60
- awsProfile: credential.awsProfile ?? undefined,
61
- });
62
- }
63
- if (provider === 'gemini') {
64
- return new GeminiTransport({
65
- apiKey: credential.token,
66
- baseUrl: credential.baseUrl ?? undefined,
67
- });
68
- }
69
- if (provider === 'ollama') {
70
- // Ollama typically requires no auth key for local deployments; the token
71
- // is passed through anyway so remote/proxied deployments work transparently.
72
- return new OllamaTransport({
73
- baseUrl: credential.baseUrl ?? undefined,
74
- apiKey: credential.token || undefined,
75
- defaultHeaders: Object.keys(credential.extraHeaders).length
76
- ? credential.extraHeaders
77
- : undefined,
78
- });
79
- }
80
- if (apiMode === 'codex_responses') {
81
- const defaultHeaders = { ...credential.extraHeaders };
82
- if (credential.authType === 'oauth') {
83
- defaultHeaders['Authorization'] = `Bearer ${credential.token}`;
84
- }
85
- return new CodexResponsesTransport({
86
- apiKey: credential.token,
87
- baseUrl: credential.baseUrl ?? undefined,
88
- defaultHeaders: Object.keys(defaultHeaders).length ? defaultHeaders : undefined,
89
- provider,
90
- });
91
- }
92
- // All other providers (openai, moonshot, openrouter, deepseek, xai, groq,
93
- // kimi-code, …) use ChatCompletionsTransport.
94
- const defaultHeaders = { ...credential.extraHeaders };
95
- if (credential.authType === 'oauth') {
96
- defaultHeaders['Authorization'] = `Bearer ${credential.token}`;
97
- }
98
- return new ChatCompletionsTransport({
99
- apiKey: credential.token,
100
- baseUrl: credential.baseUrl ?? undefined,
101
- defaultHeaders: Object.keys(defaultHeaders).length ? defaultHeaders : undefined,
102
- provider,
103
- });
37
+ return ModelRunner.buildTransportFromCredential(provider, credential, apiMode);
104
38
  }
105
39
  // ---------------------------------------------------------------------------
106
40
  // Credential bridging helper
@@ -1 +1 @@
1
- {"version":3,"file":"session-factory.js","sourceRoot":"","sources":["../../src/llm/session-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-factory.js","sourceRoot":"","sources":["../../src/llm/session-factory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"system-resolver.d.ts","sourceRoot":"","sources":["../../src/llm/system-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAG7F,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,oBAAoB,CAAC;AAI5B;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD;;;;OAIG;IACH,MAAM,EAAE,WAAW,CAAC;IAEpB;;;;;OAKG;IACH,YAAY,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC/B;AAqED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,WAAW,EACnB,IAAI,CAAC,EAAE,0BAA0B,GAChC,OAAO,CAAC,oBAAoB,CAAC,CAyC/B"}
1
+ {"version":3,"file":"system-resolver.d.ts","sourceRoot":"","sources":["../../src/llm/system-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAG7F,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,oBAAoB,CAAC;AAI5B;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD;;;;OAIG;IACH,MAAM,EAAE,WAAW,CAAC;IAEpB;;;;;OAKG;IACH,YAAY,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC/B;AAqED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,WAAW,EACnB,IAAI,CAAC,EAAE,0BAA0B,GAChC,OAAO,CAAC,oBAAoB,CAAC,CA+C/B"}
@@ -151,6 +151,12 @@ export async function resolveLLMForSystem(system, opts) {
151
151
  client: null,
152
152
  credential: null,
153
153
  source: 'implicit-fallback',
154
+ // SSoT wire facts (E9 · T11745): the implicit-fallback provider is
155
+ // anthropic and there is no credential, so the descriptor advertises the
156
+ // anthropic_messages protocol with no override / no auth.
157
+ apiMode: 'anthropic_messages',
158
+ baseUrl: null,
159
+ authType: null,
154
160
  };
155
161
  }
156
162
  // Upgrade the implicit-fallback model to the SSoT catalog default unless
@@ -1 +1 @@
1
- {"version":3,"file":"system-resolver.js","sourceRoot":"","sources":["../../src/llm/system-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-resolver.js","sourceRoot":"","sources":["../../src/llm/system-resolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-loop.d.ts","sourceRoot":"","sources":["../../src/llm/tool-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAYH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI5D,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,6BAA6B,EAC7B,aAAa,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAErE,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,KAAK,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEzF,gBAAgB;AAChB,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAChD,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAChE,YAAY,EAAE,cAAc,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IACxE,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,SAAS,EAAE,aAAa,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,cAAc,EAAE,MAAM,WAAW,CAAC;IAClC,UAAU,EAAE,UAAU,CAAC;IACvB,mBAAmB,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7C,kEAAkE;IAClE,WAAW,EAAE,WAAW,CAAC;CAC1B;AA2FD;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,6BAA6B,CAAC,CA2InE"}
1
+ {"version":3,"file":"tool-loop.d.ts","sourceRoot":"","sources":["../../src/llm/tool-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAaH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,6BAA6B,EAC7B,aAAa,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,KAAK,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEzF,gBAAgB;AAChB,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAChD,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAChE,YAAY,EAAE,cAAc,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IACxE,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,SAAS,EAAE,aAAa,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,cAAc,EAAE,MAAM,WAAW,CAAC;IAClC,UAAU,EAAE,UAAU,CAAC;IACvB,mBAAmB,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7C,kEAAkE;IAClE,WAAW,EAAE,WAAW,CAAC;CAC1B;AAiED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,6BAA6B,CAAC,CA2InE"}
@@ -23,9 +23,7 @@
23
23
  import { ConcreteExecutor } from './concrete-executor.js';
24
24
  import { ConcreteSession } from './concrete-session.js';
25
25
  import { truncateMessagesToFit } from './conversation.js';
26
- import { AnthropicTransport } from './transports/anthropic.js';
27
- import { ChatCompletionsTransport } from './transports/chat-completions.js';
28
- import { GeminiTransport } from './transports/gemini.js';
26
+ import { ModelRunner } from './model-runner.js';
29
27
  export const MIN_TOOL_ITERATIONS = 1;
30
28
  export const MAX_TOOL_ITERATIONS = 100;
31
29
  // ---------------------------------------------------------------------------
@@ -45,37 +43,16 @@ function _resolvedCredentialFromConfig(config) {
45
43
  awsProfile: null,
46
44
  };
47
45
  }
48
- function _transportForProvider(provider, cred) {
49
- if (provider === 'anthropic') {
50
- const opts = cred.authType === 'oauth'
51
- ? { authToken: cred.token, baseUrl: cred.baseUrl ?? undefined }
52
- : {
53
- apiKey: cred.token,
54
- baseUrl: cred.baseUrl ?? undefined,
55
- defaultHeaders: Object.keys(cred.extraHeaders).length ? cred.extraHeaders : undefined,
56
- };
57
- return new AnthropicTransport(opts);
58
- }
59
- if (provider === 'gemini') {
60
- return new GeminiTransport({
61
- apiKey: cred.token,
62
- baseUrl: cred.baseUrl ?? undefined,
63
- });
64
- }
65
- const defaultHeaders = { ...cred.extraHeaders };
66
- if (cred.authType === 'oauth') {
67
- defaultHeaders['Authorization'] = `Bearer ${cred.token}`;
68
- }
69
- return new ChatCompletionsTransport({
70
- apiKey: cred.token,
71
- baseUrl: cred.baseUrl ?? undefined,
72
- defaultHeaders: Object.keys(defaultHeaders).length ? defaultHeaders : undefined,
73
- provider,
74
- });
75
- }
46
+ /**
47
+ * Build a one-shot {@link LlmSession} from a {@link ModelConfig}.
48
+ *
49
+ * Transport construction is delegated to the single SSoT factory
50
+ * {@link ModelRunner.buildTransportFromCredential} (E9 · T11745) — the
51
+ * previously-duplicated local `_transportForProvider` is gone.
52
+ */
76
53
  function _sessionFromConfig(config, model) {
77
54
  const cred = _resolvedCredentialFromConfig(config);
78
- const transport = _transportForProvider(config.transport, cred);
55
+ const transport = ModelRunner.buildTransportFromCredential(config.transport, cred);
79
56
  return new ConcreteSession({ transport, model, credential: cred });
80
57
  }
81
58
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"tool-loop.js","sourceRoot":"","sources":["../../src/llm/tool-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-loop.js","sourceRoot":"","sources":["../../src/llm/tool-loop.ts"],"names":[],"mappings":"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"}