@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.
- package/dist/docs/export-document.js +189 -137
- package/dist/docs/export-document.js.map +2 -2
- package/dist/llm/api-mode.d.ts +64 -0
- package/dist/llm/api-mode.d.ts.map +1 -0
- package/dist/llm/api-mode.js +72 -0
- package/dist/llm/api-mode.js.map +1 -0
- package/dist/llm/api.d.ts.map +1 -1
- package/dist/llm/api.js +6 -37
- package/dist/llm/api.js.map +1 -1
- package/dist/llm/auxiliary-fallback.d.ts.map +1 -1
- package/dist/llm/auxiliary-fallback.js +24 -38
- package/dist/llm/auxiliary-fallback.js.map +1 -1
- package/dist/llm/model-runner.d.ts +127 -0
- package/dist/llm/model-runner.d.ts.map +1 -0
- package/dist/llm/model-runner.js +282 -0
- package/dist/llm/model-runner.js.map +1 -0
- package/dist/llm/plugin-facade.js +29391 -1473
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/llm/role-executor.d.ts +6 -5
- package/dist/llm/role-executor.d.ts.map +1 -1
- package/dist/llm/role-executor.js +40 -86
- package/dist/llm/role-executor.js.map +1 -1
- package/dist/llm/role-resolver.d.ts +28 -1
- package/dist/llm/role-resolver.d.ts.map +1 -1
- package/dist/llm/role-resolver.js +10 -0
- package/dist/llm/role-resolver.js.map +1 -1
- package/dist/llm/session-factory.d.ts +4 -6
- package/dist/llm/session-factory.d.ts.map +1 -1
- package/dist/llm/session-factory.js +6 -72
- package/dist/llm/session-factory.js.map +1 -1
- package/dist/llm/system-resolver.d.ts.map +1 -1
- package/dist/llm/system-resolver.js +6 -0
- package/dist/llm/system-resolver.js.map +1 -1
- package/dist/llm/tool-loop.d.ts.map +1 -1
- package/dist/llm/tool-loop.js +9 -32
- package/dist/llm/tool-loop.js.map +1 -1
- package/dist/release/reconcile.d.ts +61 -0
- package/dist/release/reconcile.d.ts.map +1 -1
- package/dist/release/reconcile.js +187 -2
- package/dist/release/reconcile.js.map +1 -1
- package/dist/store/exodus/column-transforms.d.ts +248 -0
- package/dist/store/exodus/column-transforms.d.ts.map +1 -0
- package/dist/store/exodus/column-transforms.js +444 -0
- package/dist/store/exodus/column-transforms.js.map +1 -0
- package/dist/store/exodus/migrate.d.ts.map +1 -1
- package/dist/store/exodus/migrate.js +5 -267
- package/dist/store/exodus/migrate.js.map +1 -1
- package/dist/store/exodus/verify-migration.d.ts.map +1 -1
- package/dist/store/exodus/verify-migration.js +61 -3
- package/dist/store/exodus/verify-migration.js.map +1 -1
- package/package.json +12 -12
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wire-protocol derivation for the SSoT descriptor (E9 · T11745).
|
|
3
|
+
*
|
|
4
|
+
* Maps a resolved `(provider, authType)` pair to the {@link ApiMode} + default
|
|
5
|
+
* `baseUrl` it implies. This is the single function that encodes the
|
|
6
|
+
* provider→protocol knowledge that USED to live, duplicated, inside three
|
|
7
|
+
* transport factories (`session-factory.transportForProvider`,
|
|
8
|
+
* `api.ts:_transportForConfig`, `tool-loop.ts:_transportForProvider`) and the
|
|
9
|
+
* inline codex block in `role-executor.ts`.
|
|
10
|
+
*
|
|
11
|
+
* Hoisting it here lets the resolver stamp `apiMode`/`baseUrl` onto the
|
|
12
|
+
* {@link ResolvedLLMDescriptor} so the single {@link import('./model-runner.js').ModelRunner}
|
|
13
|
+
* can construct ANY provider's transport from descriptor data alone.
|
|
14
|
+
*
|
|
15
|
+
* @module llm/api-mode
|
|
16
|
+
* @task T11745
|
|
17
|
+
* @task T11761
|
|
18
|
+
* @epic T11745
|
|
19
|
+
*/
|
|
20
|
+
import type { ApiMode } from '@cleocode/contracts';
|
|
21
|
+
import type { ModelTransport } from './types-config.js';
|
|
22
|
+
/**
|
|
23
|
+
* The wire-protocol facts implied by a resolved provider/credential pair.
|
|
24
|
+
*
|
|
25
|
+
* @task T11745
|
|
26
|
+
*/
|
|
27
|
+
export interface DerivedApiWire {
|
|
28
|
+
/** Wire protocol the provider speaks for this credential. */
|
|
29
|
+
readonly apiMode: ApiMode;
|
|
30
|
+
/**
|
|
31
|
+
* Provider-default base URL implied by the apiMode, or `null` when the
|
|
32
|
+
* transport supplies its own default (no override needed). Currently only
|
|
33
|
+
* the codex ChatGPT-backend path implies a non-default base URL; everything
|
|
34
|
+
* else lets the transport / credential's own `baseUrl` win.
|
|
35
|
+
*/
|
|
36
|
+
readonly baseUrl: string | null;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Derive the {@link ApiMode} and implied default base URL for a resolved
|
|
40
|
+
* provider + auth scheme.
|
|
41
|
+
*
|
|
42
|
+
* Mirrors the branch order of the legacy `transportForProvider` factories so
|
|
43
|
+
* the descriptor carries EXACTLY the protocol each factory would have picked:
|
|
44
|
+
*
|
|
45
|
+
* - `anthropic` → `anthropic_messages`
|
|
46
|
+
* - `bedrock` → `bedrock_converse`
|
|
47
|
+
* - `gemini` → `chat_completions` (Gemini speaks the OpenAI-compat shape
|
|
48
|
+
* via the gemini transport, but its apiMode tag is
|
|
49
|
+
* chat-completions)
|
|
50
|
+
* - `ollama` → `ollama_native`
|
|
51
|
+
* - `openai` + OAuth → `codex_responses` (ChatGPT backend; implies
|
|
52
|
+
* {@link CODEX_OAUTH_BASE_URL})
|
|
53
|
+
* - everything else → `chat_completions` (OpenAI-compatible)
|
|
54
|
+
*
|
|
55
|
+
* The `kimi-code` provider speaks the Anthropic Messages protocol against its
|
|
56
|
+
* own coding endpoint, so it is tagged `anthropic_messages`.
|
|
57
|
+
*
|
|
58
|
+
* @param provider - Resolved provider transport.
|
|
59
|
+
* @param authType - Resolved credential auth scheme (`null` when no credential).
|
|
60
|
+
* @returns The derived wire facts.
|
|
61
|
+
* @task T11745
|
|
62
|
+
*/
|
|
63
|
+
export declare function deriveApiWire(provider: ModelTransport, authType: 'api_key' | 'oauth' | 'aws_sdk' | null): DerivedApiWire;
|
|
64
|
+
//# sourceMappingURL=api-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-mode.d.ts","sourceRoot":"","sources":["../../src/llm/api-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,GAC/C,cAAc,CAyBhB"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wire-protocol derivation for the SSoT descriptor (E9 · T11745).
|
|
3
|
+
*
|
|
4
|
+
* Maps a resolved `(provider, authType)` pair to the {@link ApiMode} + default
|
|
5
|
+
* `baseUrl` it implies. This is the single function that encodes the
|
|
6
|
+
* provider→protocol knowledge that USED to live, duplicated, inside three
|
|
7
|
+
* transport factories (`session-factory.transportForProvider`,
|
|
8
|
+
* `api.ts:_transportForConfig`, `tool-loop.ts:_transportForProvider`) and the
|
|
9
|
+
* inline codex block in `role-executor.ts`.
|
|
10
|
+
*
|
|
11
|
+
* Hoisting it here lets the resolver stamp `apiMode`/`baseUrl` onto the
|
|
12
|
+
* {@link ResolvedLLMDescriptor} so the single {@link import('./model-runner.js').ModelRunner}
|
|
13
|
+
* can construct ANY provider's transport from descriptor data alone.
|
|
14
|
+
*
|
|
15
|
+
* @module llm/api-mode
|
|
16
|
+
* @task T11745
|
|
17
|
+
* @task T11761
|
|
18
|
+
* @epic T11745
|
|
19
|
+
*/
|
|
20
|
+
import { CODEX_OAUTH_BASE_URL } from './transports/codex-oauth-headers.js';
|
|
21
|
+
/**
|
|
22
|
+
* Derive the {@link ApiMode} and implied default base URL for a resolved
|
|
23
|
+
* provider + auth scheme.
|
|
24
|
+
*
|
|
25
|
+
* Mirrors the branch order of the legacy `transportForProvider` factories so
|
|
26
|
+
* the descriptor carries EXACTLY the protocol each factory would have picked:
|
|
27
|
+
*
|
|
28
|
+
* - `anthropic` → `anthropic_messages`
|
|
29
|
+
* - `bedrock` → `bedrock_converse`
|
|
30
|
+
* - `gemini` → `chat_completions` (Gemini speaks the OpenAI-compat shape
|
|
31
|
+
* via the gemini transport, but its apiMode tag is
|
|
32
|
+
* chat-completions)
|
|
33
|
+
* - `ollama` → `ollama_native`
|
|
34
|
+
* - `openai` + OAuth → `codex_responses` (ChatGPT backend; implies
|
|
35
|
+
* {@link CODEX_OAUTH_BASE_URL})
|
|
36
|
+
* - everything else → `chat_completions` (OpenAI-compatible)
|
|
37
|
+
*
|
|
38
|
+
* The `kimi-code` provider speaks the Anthropic Messages protocol against its
|
|
39
|
+
* own coding endpoint, so it is tagged `anthropic_messages`.
|
|
40
|
+
*
|
|
41
|
+
* @param provider - Resolved provider transport.
|
|
42
|
+
* @param authType - Resolved credential auth scheme (`null` when no credential).
|
|
43
|
+
* @returns The derived wire facts.
|
|
44
|
+
* @task T11745
|
|
45
|
+
*/
|
|
46
|
+
export function deriveApiWire(provider, authType) {
|
|
47
|
+
if (provider === 'anthropic') {
|
|
48
|
+
return { apiMode: 'anthropic_messages', baseUrl: null };
|
|
49
|
+
}
|
|
50
|
+
if (provider === 'kimi-code') {
|
|
51
|
+
// Kimi Code speaks the Anthropic Messages protocol against its own endpoint.
|
|
52
|
+
return { apiMode: 'anthropic_messages', baseUrl: null };
|
|
53
|
+
}
|
|
54
|
+
if (provider === 'bedrock') {
|
|
55
|
+
return { apiMode: 'bedrock_converse', baseUrl: null };
|
|
56
|
+
}
|
|
57
|
+
if (provider === 'gemini') {
|
|
58
|
+
return { apiMode: 'chat_completions', baseUrl: null };
|
|
59
|
+
}
|
|
60
|
+
if (provider === 'ollama') {
|
|
61
|
+
return { apiMode: 'ollama_native', baseUrl: null };
|
|
62
|
+
}
|
|
63
|
+
if (provider === 'openai' && authType === 'oauth') {
|
|
64
|
+
// ChatGPT-issued OAuth tokens authenticate against the Codex backend via
|
|
65
|
+
// the Responses API — NOT api.openai.com.
|
|
66
|
+
return { apiMode: 'codex_responses', baseUrl: CODEX_OAUTH_BASE_URL };
|
|
67
|
+
}
|
|
68
|
+
// openai (api_key), openrouter, deepseek, xai, groq, moonshot, … →
|
|
69
|
+
// OpenAI-compatible chat-completions.
|
|
70
|
+
return { apiMode: 'chat_completions', baseUrl: null };
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=api-mode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-mode.js","sourceRoot":"","sources":["../../src/llm/api-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAoB3E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,aAAa,CAC3B,QAAwB,EACxB,QAAgD;IAEhD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1D,CAAC;IACD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,6EAA6E;QAC7E,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1D,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACxD,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACxD,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACrD,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAClD,yEAAyE;QACzE,0CAA0C;QAC1C,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IACvE,CAAC;IACD,mEAAmE;IACnE,sCAAsC;IACtC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACxD,CAAC"}
|
package/dist/llm/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/llm/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/llm/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAcH,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,6BAA6B,EAC7B,aAAa,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC3B,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAC9C,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACrD,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3F,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IACjD,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC9C;AAmLD;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,iBAAiB,GACxB,OAAO,CACR,eAAe,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG,6BAA6B,CAC1F,CA8GA"}
|
package/dist/llm/api.js
CHANGED
|
@@ -18,11 +18,9 @@
|
|
|
18
18
|
import pRetry from 'p-retry';
|
|
19
19
|
import { ConcreteExecutor } from './concrete-executor.js';
|
|
20
20
|
import { ConcreteSession } from './concrete-session.js';
|
|
21
|
+
import { ModelRunner } from './model-runner.js';
|
|
21
22
|
import { effectiveTemperature, makeAttemptRef, planAttempt } from './runtime.js';
|
|
22
23
|
import { executeToolLoop } from './tool-loop.js';
|
|
23
|
-
import { AnthropicTransport } from './transports/anthropic.js';
|
|
24
|
-
import { ChatCompletionsTransport } from './transports/chat-completions.js';
|
|
25
|
-
import { GeminiTransport } from './transports/gemini.js';
|
|
26
24
|
// ---------------------------------------------------------------------------
|
|
27
25
|
// Session factory helpers
|
|
28
26
|
// ---------------------------------------------------------------------------
|
|
@@ -44,47 +42,18 @@ function _resolvedCredentialFromConfig(config) {
|
|
|
44
42
|
awsProfile: null,
|
|
45
43
|
};
|
|
46
44
|
}
|
|
47
|
-
/**
|
|
48
|
-
* Instantiate the correct {@link import('@cleocode/contracts/llm/normalized-response.js').LlmTransport}
|
|
49
|
-
* for the given provider + credential.
|
|
50
|
-
*/
|
|
51
|
-
function _transportForConfig(provider, cred) {
|
|
52
|
-
if (provider === 'anthropic') {
|
|
53
|
-
const opts = cred.authType === 'oauth'
|
|
54
|
-
? { authToken: cred.token, baseUrl: cred.baseUrl ?? undefined }
|
|
55
|
-
: {
|
|
56
|
-
apiKey: cred.token,
|
|
57
|
-
baseUrl: cred.baseUrl ?? undefined,
|
|
58
|
-
defaultHeaders: Object.keys(cred.extraHeaders).length ? cred.extraHeaders : undefined,
|
|
59
|
-
};
|
|
60
|
-
return new AnthropicTransport(opts);
|
|
61
|
-
}
|
|
62
|
-
if (provider === 'gemini') {
|
|
63
|
-
return new GeminiTransport({
|
|
64
|
-
apiKey: cred.token,
|
|
65
|
-
baseUrl: cred.baseUrl ?? undefined,
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
const defaultHeaders = { ...cred.extraHeaders };
|
|
69
|
-
if (cred.authType === 'oauth') {
|
|
70
|
-
defaultHeaders['Authorization'] = `Bearer ${cred.token}`;
|
|
71
|
-
}
|
|
72
|
-
return new ChatCompletionsTransport({
|
|
73
|
-
apiKey: cred.token,
|
|
74
|
-
baseUrl: cred.baseUrl ?? undefined,
|
|
75
|
-
defaultHeaders: Object.keys(defaultHeaders).length ? defaultHeaders : undefined,
|
|
76
|
-
provider,
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
45
|
/**
|
|
80
46
|
* Build a one-shot {@link LlmSession} from a {@link ModelConfig}.
|
|
81
47
|
*
|
|
82
48
|
* Each call gets a fresh session so that history does not bleed across
|
|
83
|
-
* retry attempts or independent callers.
|
|
49
|
+
* retry attempts or independent callers. Transport construction is delegated
|
|
50
|
+
* to the single SSoT factory {@link ModelRunner.buildTransportFromCredential}
|
|
51
|
+
* (E9 · T11745) — `ModelConfig` carries no apiMode, so codex routing is not
|
|
52
|
+
* applicable on this path.
|
|
84
53
|
*/
|
|
85
54
|
function _sessionFromConfig(config, model) {
|
|
86
55
|
const cred = _resolvedCredentialFromConfig(config);
|
|
87
|
-
const transport =
|
|
56
|
+
const transport = ModelRunner.buildTransportFromCredential(config.transport, cred);
|
|
88
57
|
return new ConcreteSession({ transport, model, credential: cred });
|
|
89
58
|
}
|
|
90
59
|
// ---------------------------------------------------------------------------
|
package/dist/llm/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/llm/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/llm/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auxiliary-fallback.d.ts","sourceRoot":"","sources":["../../src/llm/auxiliary-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"auxiliary-fallback.d.ts","sourceRoot":"","sources":["../../src/llm/auxiliary-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,gDAAgD,CAAC;AAIxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMxD;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,EAAE,SAAS,sBAAsB,EAI7E,CAAC;AAMF;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,sBAAsB,GAAG,SAAS,sBAAsB,EAAE,CAAC;AAEvE;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IACjE;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;CACtC;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACtD;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,gBAAgB,GAAG,OAAO,CAAC;IACzD;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAMD;;;;;;;;GAQG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;aAOvB,KAAK,EAAE,SAAS,iBAAiB,EAAE;IAN/D,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,mCAAmC;IAEhD;;OAEG;gBACyB,KAAK,EAAE,SAAS,iBAAiB,EAAE;CAQhE;AAmCD;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,KAAK,EAAE,sBAAsB,EAC7B,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,IAAI,EAAE,WAAW,GAAG,SAAS,KAC1B,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAMjC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,sBAAsB,EAC7B,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,uBAAuB,CAAC,CA2BlC;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAqB/E;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,6BAA6B,CACjD,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,sBAAsB,CAAC,CAYjC"}
|
|
@@ -239,55 +239,41 @@ async function _defaultAuxiliaryProvider(entry, messages, opts) {
|
|
|
239
239
|
// If no credential exists for this provider, the factory will throw and the
|
|
240
240
|
// outer loop will catch it as a pool-exhaustion signal.
|
|
241
241
|
//
|
|
242
|
-
// We synthesise a temporary session
|
|
243
|
-
// import the transport factory helpers from session-factory internals via
|
|
244
|
-
// the concrete-session constructor pattern used in role-executor.
|
|
245
|
-
const { AnthropicTransport } = await import('./transports/anthropic.js');
|
|
246
|
-
const { ChatCompletionsTransport } = await import('./transports/chat-completions.js');
|
|
247
|
-
const { GeminiTransport } = await import('./transports/gemini.js');
|
|
242
|
+
// We synthesise a temporary session via the single SSoT transport factory.
|
|
248
243
|
const { resolveCredentials } = await import('./credentials.js');
|
|
249
244
|
const { ConcreteSession } = await import('./concrete-session.js');
|
|
245
|
+
const { ModelRunner } = await import('./model-runner.js');
|
|
246
|
+
const { deriveApiWire } = await import('./api-mode.js');
|
|
250
247
|
const credResult = await resolveCredentials(targetProvider, {});
|
|
251
248
|
if (!credResult.apiKey) {
|
|
252
249
|
// No credential for this provider — signal exhaustion to the outer loop.
|
|
253
250
|
throw new PoolExhaustedError(targetProvider, 0, 0);
|
|
254
251
|
}
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
}
|
|
252
|
+
// Single SSoT transport construction (E9 · T11745): `deriveApiWire` stamps the
|
|
253
|
+
// wire protocol + implied base URL; the one {@link ModelRunner} builds the
|
|
254
|
+
// transport for ANY provider. This replaces the inline anthropic/gemini/
|
|
255
|
+
// openai-compat branches that had drifted from `session-factory` — notably the
|
|
256
|
+
// anthropic-OAuth branch here OMITTED the required `anthropic-beta` header,
|
|
257
|
+
// which the ModelRunner now injects centrally.
|
|
258
|
+
const authType = credResult.authType === 'oauth' ? 'oauth' : 'api_key';
|
|
259
|
+
const wire = deriveApiWire(targetProvider, authType);
|
|
260
|
+
const resolvedCredential = {
|
|
261
|
+
provider: targetProvider,
|
|
262
|
+
label: 'fallback',
|
|
263
|
+
token: credResult.apiKey,
|
|
264
|
+
authType,
|
|
265
|
+
expiresAt: null,
|
|
266
|
+
refreshToken: null,
|
|
267
|
+
extraHeaders: {},
|
|
268
|
+
baseUrl: wire.baseUrl,
|
|
269
|
+
awsProfile: null,
|
|
270
|
+
};
|
|
271
|
+
const transport = ModelRunner.buildTransportFromCredential(targetProvider, resolvedCredential, wire.apiMode);
|
|
276
272
|
const model = entry.model ?? resolved.model;
|
|
277
273
|
const session = new ConcreteSession({
|
|
278
274
|
transport,
|
|
279
275
|
model,
|
|
280
|
-
credential:
|
|
281
|
-
provider: targetProvider,
|
|
282
|
-
label: 'fallback',
|
|
283
|
-
token: credResult.apiKey,
|
|
284
|
-
authType: credResult.authType === 'oauth' ? 'oauth' : 'api_key',
|
|
285
|
-
expiresAt: null,
|
|
286
|
-
refreshToken: null,
|
|
287
|
-
extraHeaders: {},
|
|
288
|
-
baseUrl: null,
|
|
289
|
-
awsProfile: null,
|
|
290
|
-
},
|
|
276
|
+
credential: resolvedCredential,
|
|
291
277
|
});
|
|
292
278
|
return session.send(messages, opts);
|
|
293
279
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auxiliary-fallback.js","sourceRoot":"","sources":["../../src/llm/auxiliary-fallback.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"auxiliary-fallback.js","sourceRoot":"","sources":["../../src/llm/auxiliary-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAsC;IACjF,EAAE,QAAQ,EAAE,WAAW,EAAE;IACzB,EAAE,QAAQ,EAAE,YAAY,EAAE;IAC1B,EAAE,QAAQ,EAAE,MAAM,EAAE;CACrB,CAAC;AAsFF,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAOvB;IAN5B,8BAA8B;IACrB,IAAI,GAAG,+BAA+B,CAAC;IAEhD;;OAEG;IACH,YAA4B,KAAmC;QAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,KAAK,CACH,mFAAmF,SAAS,KAAK;YAC/F,sFAAsF,CACzF,CAAC;QALwB,UAAK,GAAL,KAAK,CAA8B;QAM7D,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,mBAAmB,CAAC,GAAY;IACvC,IAAI,GAAG,YAAY,kBAAkB;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,UAAU,CAAC,sBAAsB,IAAI,UAAU,CAAC,cAAc,CAAC;AACxE,CAAC;AAqBD,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAA6B,EAC7B,QAA4B,EAC5B,IAAkB,EAClB,QAA4B;IAE5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,0BAA0B,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,gBAAgB,GAAG,QAAQ,IAAI,yBAAyB,CAAC;IAC/D,MAAM,KAAK,GAAwB,EAAE,CAAC;IAEtC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YAC7D,MAAM,IAAI,GAA0B,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;YAC7D,MAAM,MAAM,GAA4B;gBACtC,GAAG,QAAQ;gBACX,YAAY,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE;gBACxE,IAAI;aACL,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;YACtE,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtE,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,MAAM,IAAI,0BAA0B,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,2BAA2B,CAAC,GAAW;IACrD,MAAM,OAAO,GAAG,GAAG;SAChB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAiC,EAAE;QACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;YACpB,OAAO,EAAE,QAAQ,EAAE,CAAmB,EAAE,CAAC;QAC3C,CAAC;QACD,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAC/B,OAAO;YACL,QAAQ,EAAE,YAA8B;YACxC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3C,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAA+B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAE1D,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gCAAgC,CAAC;AACzE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,WAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAI,MAAM,CAAC,GAA2C,EAAE,CAAC,mBAAmB,CAAC,CAAC;QACvF,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrD,OAAO,2BAA2B,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,8DAA8D;IAChE,CAAC;IACD,OAAO,gCAAgC,CAAC;AAC1C,CAAC;AAED,8EAA8E;AAC9E,oDAAoD;AACpD,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,KAAK,UAAU,yBAAyB,CACtC,KAA6B,EAC7B,QAA4B,EAC5B,IAA6B;IAE7B,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC1E,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAEjE,yEAAyE;IACzE,6EAA6E;IAC7E,qEAAqE;IACrE,EAAE;IACF,wEAAwE;IACxE,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAEpD,0EAA0E;IAC1E,+EAA+E;IAC/E,wDAAwD;IACxD,MAAM,OAAO,GAAG,IAAI,wBAAwB,EAAE,CAAC;IAE/C,iEAAiE;IACjE,yEAAyE;IACzE,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC;IAEtC,IAAI,cAAc,KAAK,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QACxE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACvD,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,6EAA6E;IAC7E,4EAA4E;IAC5E,wDAAwD;IACxD,EAAE;IACF,2EAA2E;IAC3E,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAChE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAClE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC1D,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAExD,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAChE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACvB,yEAAyE;QACzE,MAAM,IAAI,kBAAkB,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,+EAA+E;IAC/E,2EAA2E;IAC3E,yEAAyE;IACzE,+EAA+E;IAC/E,4EAA4E;IAC5E,+CAA+C;IAC/C,MAAM,QAAQ,GAAwB,UAAU,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,MAAM,IAAI,GAAG,aAAa,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,kBAAkB,GAAuB;QAC7C,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU,CAAC,MAAM;QACxB,QAAQ;QACR,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,UAAU,EAAE,IAAI;KACjB,CAAC;IACF,MAAM,SAAS,GAAG,WAAW,CAAC,4BAA4B,CACxD,cAAc,EACd,kBAAkB,EAClB,IAAI,CAAC,OAAO,CACb,CAAC;IAEF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC;QAClC,SAAS;QACT,KAAK;QACL,UAAU,EAAE,kBAAkB;KAC/B,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ModelRunner` — the single SSoT factory for LLM transports + language models.
|
|
3
|
+
*
|
|
4
|
+
* ## Why this exists (E9 · T11745 step 1 · T11761)
|
|
5
|
+
*
|
|
6
|
+
* CLEO previously constructed transports/SDK clients in FOUR places, each a
|
|
7
|
+
* near-duplicate of the others:
|
|
8
|
+
*
|
|
9
|
+
* - `session-factory.transportForProvider` (the canonical one)
|
|
10
|
+
* - `api.ts:_transportForConfig`
|
|
11
|
+
* - `tool-loop.ts:_transportForProvider`
|
|
12
|
+
* - the inline codex block in `role-executor.ts` (`:241`)
|
|
13
|
+
*
|
|
14
|
+
* plus the Vercel-AI-SDK `LanguageModel` construction duplicated in
|
|
15
|
+
* `memory/llm-backend-resolver.ts` and the provider adapters.
|
|
16
|
+
*
|
|
17
|
+
* `ModelRunner.build(descriptor)` is the ONE place `new *Transport` /
|
|
18
|
+
* `createAnthropic` / `createOpenAICompatible` may appear for the resolver
|
|
19
|
+
* path. It consumes a {@link ResolvedLLMDescriptor} (carrying `apiMode`,
|
|
20
|
+
* `baseUrl`, `authType`) and returns BOTH surfaces off the same sealed
|
|
21
|
+
* credential:
|
|
22
|
+
*
|
|
23
|
+
* - `session` — a transport-backed {@link LlmSession} for the
|
|
24
|
+
* cantbook/CLI/executor path (streaming, tool loops).
|
|
25
|
+
* - `languageModel` — a Vercel AI SDK {@link LanguageModel} for the
|
|
26
|
+
* sentient/adapters path (`generateText`/`generateObject`),
|
|
27
|
+
* or `null` when the provider has no Vercel binding here.
|
|
28
|
+
*
|
|
29
|
+
* Because the descriptor carries `apiMode`, codex "just works": a
|
|
30
|
+
* `codex_responses` descriptor builds a {@link CodexResponsesTransport} with
|
|
31
|
+
* the OAuth Cloudflare headers — no inline branch at the call-site.
|
|
32
|
+
*
|
|
33
|
+
* @module llm/model-runner
|
|
34
|
+
* @task T11745
|
|
35
|
+
* @task T11761
|
|
36
|
+
* @epic T11745
|
|
37
|
+
*/
|
|
38
|
+
import type { ApiMode, ResolvedLLMDescriptor } from '@cleocode/contracts';
|
|
39
|
+
import type { LlmSession } from '@cleocode/contracts/llm/interfaces.js';
|
|
40
|
+
import type { LlmTransport } from '@cleocode/contracts/llm/normalized-response.js';
|
|
41
|
+
import type { ResolvedCredential } from '@cleocode/contracts/llm/resolved-credential.js';
|
|
42
|
+
import type { LanguageModel } from 'ai';
|
|
43
|
+
import type { ModelTransport } from './types-config.js';
|
|
44
|
+
/**
|
|
45
|
+
* Both runtime surfaces produced from a single {@link ResolvedLLMDescriptor}.
|
|
46
|
+
*
|
|
47
|
+
* @task T11745
|
|
48
|
+
*/
|
|
49
|
+
export interface BuiltModel {
|
|
50
|
+
/**
|
|
51
|
+
* Transport-backed session for the cantbook / CLI / executor path.
|
|
52
|
+
* Always present (a transport is always constructible from the descriptor).
|
|
53
|
+
*/
|
|
54
|
+
readonly session: LlmSession;
|
|
55
|
+
/**
|
|
56
|
+
* Vercel AI SDK language model for the sentient / adapters path.
|
|
57
|
+
*
|
|
58
|
+
* `null` when the provider has no Vercel binding in core (e.g. bedrock,
|
|
59
|
+
* codex's ChatGPT backend, gemini-native) — those callers use {@link session}
|
|
60
|
+
* instead. The descriptor's `apiMode` determines which binding is built.
|
|
61
|
+
*/
|
|
62
|
+
readonly languageModel: LanguageModel | null;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The single SSoT model factory (E9 · T11745).
|
|
66
|
+
*
|
|
67
|
+
* Stateless: every method takes a fully-resolved {@link ResolvedLLMDescriptor}
|
|
68
|
+
* and constructs fresh transports / language models. No credential I/O, no
|
|
69
|
+
* resolution — that happens upstream in `resolveLLMForRole` /
|
|
70
|
+
* `resolveLLMForSystem`.
|
|
71
|
+
*/
|
|
72
|
+
export declare const ModelRunner: {
|
|
73
|
+
/**
|
|
74
|
+
* Construct the transport for a descriptor. This is the ONLY home for
|
|
75
|
+
* `new *Transport` on the resolver path — the three legacy transport
|
|
76
|
+
* factories delegate here (via {@link ModelRunner.buildTransportFromCredential}).
|
|
77
|
+
*
|
|
78
|
+
* Branches on `apiMode` (the descriptor's load-bearing field), falling back
|
|
79
|
+
* to provider name for the anthropic/gemini/bedrock/ollama families.
|
|
80
|
+
*
|
|
81
|
+
* @param d - Fully-resolved descriptor.
|
|
82
|
+
* @returns A wire-level transport bound to the descriptor's credential.
|
|
83
|
+
*/
|
|
84
|
+
readonly buildTransport: (d: ResolvedLLMDescriptor) => LlmTransport;
|
|
85
|
+
/**
|
|
86
|
+
* Lower-level transport factory: the single home for `new *Transport`.
|
|
87
|
+
*
|
|
88
|
+
* Accepts a fully-formed {@link ResolvedCredential} (so callers that already
|
|
89
|
+
* hold one — `session-factory`, `api.ts`, `tool-loop.ts` — preserve their
|
|
90
|
+
* `extraHeaders`/`baseUrl` verbatim) plus an optional explicit `apiMode`.
|
|
91
|
+
* When `apiMode === 'codex_responses'` it builds the codex transport
|
|
92
|
+
* regardless of provider name (xAI grok-via-responses, openai-oauth).
|
|
93
|
+
*
|
|
94
|
+
* @param provider - Resolved provider transport.
|
|
95
|
+
* @param credential - Fully-resolved credential to wire in.
|
|
96
|
+
* @param apiMode - Optional wire-protocol override (codex routing).
|
|
97
|
+
* @returns A wire-level transport.
|
|
98
|
+
*/
|
|
99
|
+
readonly buildTransportFromCredential: (provider: ModelTransport, credential: ResolvedCredential, apiMode?: ApiMode) => LlmTransport;
|
|
100
|
+
/**
|
|
101
|
+
* Construct a Vercel AI SDK {@link LanguageModel} for the sentient/adapters
|
|
102
|
+
* path, or `null` when core has no Vercel binding for the descriptor's
|
|
103
|
+
* provider/apiMode.
|
|
104
|
+
*
|
|
105
|
+
* - `anthropic_messages` → `createAnthropic`
|
|
106
|
+
* - `chat_completions` / `ollama_native` → `createOpenAICompatible`
|
|
107
|
+
* - everything else (codex_responses, bedrock_converse) → `null`
|
|
108
|
+
*
|
|
109
|
+
* Returns `null` (rather than throwing) on any binding failure so the caller
|
|
110
|
+
* degrades to the transport path. Async because the AI-SDK provider modules
|
|
111
|
+
* are dynamically imported (keeps them out of the module-init chain).
|
|
112
|
+
*
|
|
113
|
+
* @param d - Fully-resolved descriptor.
|
|
114
|
+
* @returns A Vercel `LanguageModel`, or `null` when unsupported here.
|
|
115
|
+
*/
|
|
116
|
+
readonly buildLanguageModel: (d: ResolvedLLMDescriptor) => Promise<LanguageModel | null>;
|
|
117
|
+
/**
|
|
118
|
+
* Build BOTH surfaces (transport session + Vercel language model) from one
|
|
119
|
+
* descriptor. The transport session is always present; `languageModel` is
|
|
120
|
+
* `null` for providers without a core Vercel binding.
|
|
121
|
+
*
|
|
122
|
+
* @param d - Fully-resolved descriptor.
|
|
123
|
+
* @returns The {@link BuiltModel} pair.
|
|
124
|
+
*/
|
|
125
|
+
readonly build: (d: ResolvedLLMDescriptor) => Promise<BuiltModel>;
|
|
126
|
+
};
|
|
127
|
+
//# sourceMappingURL=model-runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-runner.d.ts","sourceRoot":"","sources":["../../src/llm/model-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAWxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA0BxD;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;CAC9C;AA4BD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW;IACtB;;;;;;;;;;OAUG;iCACe,qBAAqB,KAAG,YAAY;IAQtD;;;;;;;;;;;;;OAaG;sDAES,cAAc,cACZ,kBAAkB,YACpB,OAAO,KAChB,YAAY;IAqFf;;;;;;;;;;;;;;;OAeG;qCACyB,qBAAqB,KAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA4CjF;;;;;;;OAOG;wBACY,qBAAqB,KAAG,OAAO,CAAC,UAAU,CAAC;CAWlD,CAAC"}
|