@atomic-chat/core 0.20.7 → 0.21.1
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/backend/install/service.d.ts +2 -20
- package/dist/backend/install/service.js +1 -0
- package/dist/backend/install/service.js.map +1 -1
- package/dist/cli/launch.d.ts +23 -3
- package/dist/cli/launch.js +59 -8
- package/dist/cli/launch.js.map +1 -1
- package/dist/cli/main.d.ts +1 -1
- package/dist/contracts/diagnostics.d.ts +21 -0
- package/dist/contracts/diagnostics.js +70 -0
- package/dist/contracts/diagnostics.js.map +1 -0
- package/dist/contracts/errors.d.ts +17 -75
- package/dist/contracts/errors.js +130 -2
- package/dist/contracts/errors.js.map +1 -1
- package/dist/contracts/events.d.ts +8 -0
- package/dist/contracts/index.d.ts +1 -0
- package/dist/contracts/index.js +1 -0
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/settings.d.ts +5 -0
- package/dist/contracts/settings.js.map +1 -1
- package/dist/core/atomic-core.d.ts +3 -1
- package/dist/core/atomic-core.js +6 -2
- package/dist/core/atomic-core.js.map +1 -1
- package/dist/core/create.js +13 -3
- package/dist/core/create.js.map +1 -1
- package/dist/core/managed-environment.d.ts +2 -0
- package/dist/core/managed-environment.js +2 -0
- package/dist/core/managed-environment.js.map +1 -1
- package/dist/core/sessions.js +1 -0
- package/dist/core/sessions.js.map +1 -1
- package/dist/decision/service.d.ts +2 -23
- package/dist/decision/service.js +27 -0
- package/dist/decision/service.js.map +1 -1
- package/dist/decision/wiring.d.ts +2 -0
- package/dist/decision/wiring.js +1 -6
- package/dist/decision/wiring.js.map +1 -1
- package/dist/diffusion/errors.js +3 -3
- package/dist/diffusion/errors.js.map +1 -1
- package/dist/diffusion/jobs.js +1 -0
- package/dist/diffusion/jobs.js.map +1 -1
- package/dist/diffusion/remote-job.js +1 -0
- package/dist/diffusion/remote-job.js.map +1 -1
- package/dist/diffusion/service.d.ts +2 -6
- package/dist/diffusion/service.js +1 -0
- package/dist/diffusion/service.js.map +1 -1
- package/dist/diffusion/session.d.ts +2 -5
- package/dist/diffusion/session.js +1 -0
- package/dist/diffusion/session.js.map +1 -1
- package/dist/diffusion/wiring.d.ts +2 -0
- package/dist/diffusion/wiring.js +1 -5
- package/dist/diffusion/wiring.js.map +1 -1
- package/dist/downloads/downloader.d.ts +2 -18
- package/dist/downloads/downloader.js +204 -96
- package/dist/downloads/downloader.js.map +1 -1
- package/dist/downloads/protocol.d.ts +6 -2
- package/dist/downloads/protocol.js +27 -5
- package/dist/downloads/protocol.js.map +1 -1
- package/dist/embedding/service.d.ts +2 -18
- package/dist/embedding/service.js +21 -1
- package/dist/embedding/service.js.map +1 -1
- package/dist/embedding/wiring.d.ts +2 -0
- package/dist/embedding/wiring.js +1 -6
- package/dist/embedding/wiring.js.map +1 -1
- package/dist/integrations/catalog.d.ts +25 -8
- package/dist/integrations/catalog.js +105 -38
- package/dist/integrations/catalog.js.map +1 -1
- package/dist/integrations/configure/atomic-agent.d.ts +9 -1
- package/dist/integrations/configure/atomic-agent.js +42 -3
- package/dist/integrations/configure/atomic-agent.js.map +1 -1
- package/dist/integrations/configure/backup.d.ts +21 -0
- package/dist/integrations/configure/backup.js +52 -0
- package/dist/integrations/configure/backup.js.map +1 -0
- package/dist/integrations/configure/claude-code.d.ts +11 -4
- package/dist/integrations/configure/claude-code.js +73 -24
- package/dist/integrations/configure/claude-code.js.map +1 -1
- package/dist/integrations/configure/cline.d.ts +14 -4
- package/dist/integrations/configure/cline.js +78 -6
- package/dist/integrations/configure/cline.js.map +1 -1
- package/dist/integrations/configure/codex.d.ts +5 -3
- package/dist/integrations/configure/codex.js +12 -5
- package/dist/integrations/configure/codex.js.map +1 -1
- package/dist/integrations/configure/copilot.d.ts +28 -5
- package/dist/integrations/configure/copilot.js +124 -8
- package/dist/integrations/configure/copilot.js.map +1 -1
- package/dist/integrations/configure/droid.d.ts +13 -7
- package/dist/integrations/configure/droid.js +48 -17
- package/dist/integrations/configure/droid.js.map +1 -1
- package/dist/integrations/configure/dsh.d.ts +36 -20
- package/dist/integrations/configure/dsh.js +250 -48
- package/dist/integrations/configure/dsh.js.map +1 -1
- package/dist/integrations/configure/goose.d.ts +21 -7
- package/dist/integrations/configure/goose.js +141 -10
- package/dist/integrations/configure/goose.js.map +1 -1
- package/dist/integrations/configure/hermes.d.ts +63 -10
- package/dist/integrations/configure/hermes.js +360 -75
- package/dist/integrations/configure/hermes.js.map +1 -1
- package/dist/integrations/configure/json-backup.d.ts +73 -0
- package/dist/integrations/configure/json-backup.js +292 -0
- package/dist/integrations/configure/json-backup.js.map +1 -0
- package/dist/integrations/configure/json-key-backup.d.ts +43 -0
- package/dist/integrations/configure/json-key-backup.js +113 -0
- package/dist/integrations/configure/json-key-backup.js.map +1 -0
- package/dist/integrations/configure/kilo.d.ts +4 -4
- package/dist/integrations/configure/kilo.js +6 -9
- package/dist/integrations/configure/kilo.js.map +1 -1
- package/dist/integrations/configure/legacy-env-block.d.ts +18 -0
- package/dist/integrations/configure/legacy-env-block.js +47 -0
- package/dist/integrations/configure/legacy-env-block.js.map +1 -0
- package/dist/integrations/configure/mimo.d.ts +3 -2
- package/dist/integrations/configure/mimo.js +8 -9
- package/dist/integrations/configure/mimo.js.map +1 -1
- package/dist/integrations/configure/muse.d.ts +3 -3
- package/dist/integrations/configure/muse.js +5 -6
- package/dist/integrations/configure/muse.js.map +1 -1
- package/dist/integrations/configure/openclaude.d.ts +22 -7
- package/dist/integrations/configure/openclaude.js +132 -39
- package/dist/integrations/configure/openclaude.js.map +1 -1
- package/dist/integrations/configure/openclaw.d.ts +19 -5
- package/dist/integrations/configure/openclaw.js +79 -23
- package/dist/integrations/configure/openclaw.js.map +1 -1
- package/dist/integrations/configure/opencode-style.d.ts +53 -11
- package/dist/integrations/configure/opencode-style.js +218 -23
- package/dist/integrations/configure/opencode-style.js.map +1 -1
- package/dist/integrations/configure/opencode.d.ts +5 -4
- package/dist/integrations/configure/opencode.js +8 -10
- package/dist/integrations/configure/opencode.js.map +1 -1
- package/dist/integrations/configure/openhands.d.ts +5 -4
- package/dist/integrations/configure/openhands.js +7 -7
- package/dist/integrations/configure/openhands.js.map +1 -1
- package/dist/integrations/configure/pi.d.ts +6 -5
- package/dist/integrations/configure/pi.js +79 -30
- package/dist/integrations/configure/pi.js.map +1 -1
- package/dist/integrations/configure/poolside.d.ts +5 -4
- package/dist/integrations/configure/poolside.js +7 -7
- package/dist/integrations/configure/poolside.js.map +1 -1
- package/dist/integrations/configure/registry.d.ts +6 -0
- package/dist/integrations/configure/registry.js +1 -0
- package/dist/integrations/configure/registry.js.map +1 -1
- package/dist/integrations/configure/zcode.d.ts +6 -7
- package/dist/integrations/configure/zcode.js +26 -11
- package/dist/integrations/configure/zcode.js.map +1 -1
- package/dist/integrations/configure/zed.d.ts +16 -4
- package/dist/integrations/configure/zed.js +61 -13
- package/dist/integrations/configure/zed.js.map +1 -1
- package/dist/lock/instance-lock.js +7 -3
- package/dist/lock/instance-lock.js.map +1 -1
- package/dist/models/gguf/kv-cache.d.ts +20 -1
- package/dist/models/gguf/kv-cache.js +97 -7
- package/dist/models/gguf/kv-cache.js.map +1 -1
- package/dist/models/gguf/reader.d.ts +5 -3
- package/dist/models/gguf/reader.js +10 -6
- package/dist/models/gguf/reader.js.map +1 -1
- package/dist/remote-access/manager.d.ts +2 -0
- package/dist/remote-access/manager.js +18 -2
- package/dist/remote-access/manager.js.map +1 -1
- package/dist/runtime/environment/service.d.ts +2 -14
- package/dist/runtime/environment/service.js +10 -0
- package/dist/runtime/environment/service.js.map +1 -1
- package/dist/runtime/environment/wiring.d.ts +2 -23
- package/dist/runtime/environment/wiring.js +1 -0
- package/dist/runtime/environment/wiring.js.map +1 -1
- package/dist/runtime/llamacpp/args.d.ts +14 -0
- package/dist/runtime/llamacpp/args.js +48 -4
- package/dist/runtime/llamacpp/args.js.map +1 -1
- package/dist/runtime/llamacpp/ctx-ladder.d.ts +6 -3
- package/dist/runtime/llamacpp/ctx-ladder.js +6 -3
- package/dist/runtime/llamacpp/ctx-ladder.js.map +1 -1
- package/dist/runtime/llamacpp/errors.d.ts +2 -2
- package/dist/runtime/llamacpp/errors.js +29 -19
- package/dist/runtime/llamacpp/errors.js.map +1 -1
- package/dist/runtime/llamacpp/fit-margin.d.ts +24 -0
- package/dist/runtime/llamacpp/fit-margin.js +31 -0
- package/dist/runtime/llamacpp/fit-margin.js.map +1 -1
- package/dist/runtime/llamacpp/generation-limits.d.ts +45 -0
- package/dist/runtime/llamacpp/generation-limits.js +61 -0
- package/dist/runtime/llamacpp/generation-limits.js.map +1 -0
- package/dist/runtime/llamacpp/load-plan.d.ts +14 -2
- package/dist/runtime/llamacpp/load-plan.js +64 -13
- package/dist/runtime/llamacpp/load-plan.js.map +1 -1
- package/dist/runtime/llamacpp/runtime.d.ts +1 -0
- package/dist/runtime/llamacpp/runtime.js +2 -0
- package/dist/runtime/llamacpp/runtime.js.map +1 -1
- package/dist/runtime/managed-engines/runtime.js +13 -2
- package/dist/runtime/managed-engines/runtime.js.map +1 -1
- package/dist/runtime/managed-engines/spec.d.ts +6 -0
- package/dist/runtime/managed-engines/spec.js.map +1 -1
- package/dist/runtime/managed-models/auto-limits.d.ts +47 -0
- package/dist/runtime/managed-models/auto-limits.js +60 -0
- package/dist/runtime/managed-models/auto-limits.js.map +1 -0
- package/dist/runtime/managed-models/index.d.ts +1 -0
- package/dist/runtime/managed-models/index.js +1 -0
- package/dist/runtime/managed-models/index.js.map +1 -1
- package/dist/runtime/mlx/config.d.ts +9 -5
- package/dist/runtime/mlx/config.js +12 -6
- package/dist/runtime/mlx/config.js.map +1 -1
- package/dist/runtime/mlx/model-files.d.ts +9 -0
- package/dist/runtime/mlx/model-files.js +26 -0
- package/dist/runtime/mlx/model-files.js.map +1 -1
- package/dist/runtime/mlx/runtime.d.ts +7 -0
- package/dist/runtime/mlx/runtime.js +24 -2
- package/dist/runtime/mlx/runtime.js.map +1 -1
- package/dist/runtime/sglang/adapter.d.ts +4 -0
- package/dist/runtime/sglang/adapter.js +9 -6
- package/dist/runtime/sglang/adapter.js.map +1 -1
- package/dist/runtime/sglang/engine.js +2 -1
- package/dist/runtime/sglang/engine.js.map +1 -1
- package/dist/runtime/sglang/memory.d.ts +11 -1
- package/dist/runtime/sglang/memory.js +34 -3
- package/dist/runtime/sglang/memory.js.map +1 -1
- package/dist/runtime/sglang/settings.d.ts +2 -1
- package/dist/runtime/sglang/settings.js +11 -7
- package/dist/runtime/sglang/settings.js.map +1 -1
- package/dist/runtime/vllm/adapter.d.ts +4 -0
- package/dist/runtime/vllm/adapter.js +9 -6
- package/dist/runtime/vllm/adapter.js.map +1 -1
- package/dist/runtime/vllm/engine.js +1 -0
- package/dist/runtime/vllm/engine.js.map +1 -1
- package/dist/runtime/vllm/memory.d.ts +12 -1
- package/dist/runtime/vllm/memory.js +44 -2
- package/dist/runtime/vllm/memory.js.map +1 -1
- package/dist/runtime/vllm/settings.d.ts +2 -1
- package/dist/runtime/vllm/settings.js +12 -7
- package/dist/runtime/vllm/settings.js.map +1 -1
- package/dist/server/public/context-window.d.ts +29 -0
- package/dist/server/public/context-window.js +77 -0
- package/dist/server/public/context-window.js.map +1 -0
- package/dist/server/public/decision-preview.js +1 -0
- package/dist/server/public/decision-preview.js.map +1 -1
- package/dist/server/public/errors.d.ts +17 -4
- package/dist/server/public/errors.js +58 -8
- package/dist/server/public/errors.js.map +1 -1
- package/dist/server/public/forward.js +86 -22
- package/dist/server/public/forward.js.map +1 -1
- package/dist/server/public/index.d.ts +1 -0
- package/dist/server/public/index.js +1 -0
- package/dist/server/public/index.js.map +1 -1
- package/dist/server/public/listing.d.ts +9 -2
- package/dist/server/public/listing.js +30 -9
- package/dist/server/public/listing.js.map +1 -1
- package/dist/server/public/responses.js +9 -5
- package/dist/server/public/responses.js.map +1 -1
- package/dist/server/public/system-messages.d.ts +39 -0
- package/dist/server/public/system-messages.js +166 -0
- package/dist/server/public/system-messages.js.map +1 -0
- package/dist/server/public/telemetry.d.ts +9 -0
- package/dist/server/public/telemetry.js +42 -6
- package/dist/server/public/telemetry.js.map +1 -1
- package/dist/server/public/thinking.d.ts +26 -0
- package/dist/server/public/thinking.js +62 -0
- package/dist/server/public/thinking.js.map +1 -0
- package/dist/server/public/trace.d.ts +8 -0
- package/dist/server/public/trace.js +17 -0
- package/dist/server/public/trace.js.map +1 -1
- package/dist/server/public/types.d.ts +8 -0
- package/dist/server/shims/index.d.ts +1 -0
- package/dist/server/shims/index.js +1 -0
- package/dist/server/shims/index.js.map +1 -1
- package/dist/server/shims/reminders.d.ts +8 -0
- package/dist/server/shims/reminders.js +14 -0
- package/dist/server/shims/reminders.js.map +1 -0
- package/dist/server/shims/responses.d.ts +33 -9
- package/dist/server/shims/responses.js +160 -36
- package/dist/server/shims/responses.js.map +1 -1
- package/dist/settings/default-migrations.d.ts +34 -0
- package/dist/settings/default-migrations.js +47 -0
- package/dist/settings/default-migrations.js.map +1 -0
- package/dist/settings/schema/atomic-prism.json +23 -9
- package/dist/settings/schema/llamacpp-upstream.json +23 -9
- package/dist/settings/schema/llamacpp.json +23 -9
- package/dist/settings/schema/sglang.json +8 -8
- package/dist/settings/schema/vllm.json +8 -8
- package/dist/settings/schema.js +1 -0
- package/dist/settings/schema.js.map +1 -1
- package/dist/settings/store.d.ts +6 -0
- package/dist/settings/store.js +19 -2
- package/dist/settings/store.js.map +1 -1
- package/dist/telemetry/diagnostics.d.ts +14 -0
- package/dist/telemetry/diagnostics.js +285 -0
- package/dist/telemetry/diagnostics.js.map +1 -0
- package/dist/telemetry/envelope.d.ts +1 -1
- package/dist/telemetry/envelope.js +57 -28
- package/dist/telemetry/envelope.js.map +1 -1
- package/dist/telemetry/index.d.ts +1 -0
- package/dist/telemetry/index.js +1 -0
- package/dist/telemetry/index.js.map +1 -1
- package/dist/telemetry/policy.d.ts +1 -1
- package/dist/telemetry/policy.js +45 -2
- package/dist/telemetry/policy.js.map +1 -1
- package/dist/telemetry/reporter.d.ts +1 -0
- package/dist/telemetry/reporter.js +0 -0
- package/dist/telemetry/reporter.js.map +1 -1
- package/dist/telemetry/reports.d.ts +2 -7
- package/dist/telemetry/reports.js +34 -29
- package/dist/telemetry/reports.js.map +1 -1
- package/dist/telemetry/stack.d.ts +1 -1
- package/dist/telemetry/stack.js +8 -1
- package/dist/telemetry/stack.js.map +1 -1
- package/dist/telemetry/subscribe.d.ts +1 -1
- package/dist/telemetry/subscribe.js +7 -5
- package/dist/telemetry/subscribe.js.map +1 -1
- package/dist/telemetry/types.d.ts +3 -2
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -24,7 +24,10 @@ export declare function promptPreview(body: JsonValue, maxChars?: number): Promp
|
|
|
24
24
|
export declare function extractReasoning(choice: JsonValue): string | undefined;
|
|
25
25
|
export interface TelemetryFields {
|
|
26
26
|
ttft_ms: number | null;
|
|
27
|
+
/** The whole prompt, its cached part included. */
|
|
27
28
|
prompt_tokens: number | null;
|
|
29
|
+
/** The part of the prompt the engine took from its cache instead of processing it again. */
|
|
30
|
+
cached_tokens: number | null;
|
|
28
31
|
completion_tokens: number | null;
|
|
29
32
|
total_tokens: number | null;
|
|
30
33
|
tokens_estimated: boolean;
|
|
@@ -38,6 +41,7 @@ export interface TelemetryFields {
|
|
|
38
41
|
export declare class StreamTelemetry {
|
|
39
42
|
firstContentAt: number | undefined;
|
|
40
43
|
promptTokens: number | undefined;
|
|
44
|
+
cachedTokens: number | undefined;
|
|
41
45
|
completionTokens: number | undefined;
|
|
42
46
|
totalTokens: number | undefined;
|
|
43
47
|
promptPerSecond: number | undefined;
|
|
@@ -55,6 +59,11 @@ export declare class StreamTelemetry {
|
|
|
55
59
|
previews?: boolean;
|
|
56
60
|
});
|
|
57
61
|
onJson(v: JsonValue, now: number): void;
|
|
62
|
+
/**
|
|
63
|
+
* Anthropic `usage`: `input_tokens` leaves out what was read from or written to the prompt cache,
|
|
64
|
+
* so the prompt is the three together and the cached part is what was read.
|
|
65
|
+
*/
|
|
66
|
+
private onAnthropicUsage;
|
|
58
67
|
private onContent;
|
|
59
68
|
private onReasoning;
|
|
60
69
|
private markToken;
|
|
@@ -117,6 +117,7 @@ export function extractReasoning(choice) {
|
|
|
117
117
|
export class StreamTelemetry {
|
|
118
118
|
firstContentAt;
|
|
119
119
|
promptTokens;
|
|
120
|
+
cachedTokens;
|
|
120
121
|
completionTokens;
|
|
121
122
|
totalTokens;
|
|
122
123
|
promptPerSecond;
|
|
@@ -145,17 +146,24 @@ export class StreamTelemetry {
|
|
|
145
146
|
return;
|
|
146
147
|
}
|
|
147
148
|
case 'message_start':
|
|
148
|
-
|
|
149
|
+
// Its `output_tokens` is a placeholder (0 or 1); the count comes with `message_delta`.
|
|
150
|
+
this.onAnthropicUsage(pointer(v, ['message', 'usage']), false);
|
|
149
151
|
return;
|
|
150
152
|
case 'message_delta': {
|
|
151
|
-
|
|
152
|
-
if (n !== undefined)
|
|
153
|
-
this.completionTokens = n;
|
|
153
|
+
this.onAnthropicUsage(get(v, 'usage'), true);
|
|
154
154
|
const reason = asStr(pointer(v, ['delta', 'stop_reason']));
|
|
155
155
|
if (reason !== undefined)
|
|
156
156
|
this.finishReason = reason;
|
|
157
157
|
return;
|
|
158
158
|
}
|
|
159
|
+
case 'message': {
|
|
160
|
+
// A whole (non-streamed) Anthropic reply.
|
|
161
|
+
this.onAnthropicUsage(get(v, 'usage'), true);
|
|
162
|
+
const reason = asStr(get(v, 'stop_reason'));
|
|
163
|
+
if (reason !== undefined)
|
|
164
|
+
this.finishReason = reason;
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
159
167
|
}
|
|
160
168
|
const choice = pointer(v, ['choices', '0']);
|
|
161
169
|
if (choice !== undefined) {
|
|
@@ -180,17 +188,26 @@ export class StreamTelemetry {
|
|
|
180
188
|
const prompt = asU64(get(usage, 'prompt_tokens'));
|
|
181
189
|
const completion = asU64(get(usage, 'completion_tokens'));
|
|
182
190
|
const total = asU64(get(usage, 'total_tokens'));
|
|
191
|
+
const cached = asU64(pointer(usage, ['prompt_tokens_details', 'cached_tokens']));
|
|
183
192
|
if (prompt !== undefined)
|
|
184
193
|
this.promptTokens = prompt;
|
|
185
194
|
if (completion !== undefined)
|
|
186
195
|
this.completionTokens = completion;
|
|
187
196
|
if (total !== undefined)
|
|
188
197
|
this.totalTokens = total;
|
|
198
|
+
if (cached !== undefined)
|
|
199
|
+
this.cachedTokens = cached;
|
|
189
200
|
}
|
|
190
201
|
const timings = get(v, 'timings');
|
|
191
202
|
if (isJsonObject(timings)) {
|
|
192
|
-
|
|
193
|
-
|
|
203
|
+
// llama.cpp: `prompt_n` is what it processed, `cache_n` what it reused; the prompt is both.
|
|
204
|
+
const reused = asU64(timings['cache_n']);
|
|
205
|
+
if (this.cachedTokens === undefined)
|
|
206
|
+
this.cachedTokens = reused;
|
|
207
|
+
if (this.promptTokens === undefined) {
|
|
208
|
+
const processed = asU64(timings['prompt_n']);
|
|
209
|
+
this.promptTokens = processed === undefined ? undefined : processed + (reused ?? 0);
|
|
210
|
+
}
|
|
194
211
|
if (this.completionTokens === undefined)
|
|
195
212
|
this.completionTokens = asU64(timings['predicted_n']);
|
|
196
213
|
// The upstream's own rates win: they see queue time a proxy-side clock cannot.
|
|
@@ -202,6 +219,24 @@ export class StreamTelemetry {
|
|
|
202
219
|
this.predictedPerSecond = dps;
|
|
203
220
|
}
|
|
204
221
|
}
|
|
222
|
+
/**
|
|
223
|
+
* Anthropic `usage`: `input_tokens` leaves out what was read from or written to the prompt cache,
|
|
224
|
+
* so the prompt is the three together and the cached part is what was read.
|
|
225
|
+
*/
|
|
226
|
+
onAnthropicUsage(usage, withOutput) {
|
|
227
|
+
if (!isJsonObject(usage))
|
|
228
|
+
return;
|
|
229
|
+
const input = asU64(usage['input_tokens']);
|
|
230
|
+
const read = asU64(usage['cache_read_input_tokens']);
|
|
231
|
+
const written = asU64(usage['cache_creation_input_tokens']);
|
|
232
|
+
if (input !== undefined)
|
|
233
|
+
this.promptTokens = input + (read ?? 0) + (written ?? 0);
|
|
234
|
+
if (read !== undefined)
|
|
235
|
+
this.cachedTokens = read;
|
|
236
|
+
const output = withOutput ? asU64(usage['output_tokens']) : undefined;
|
|
237
|
+
if (output !== undefined)
|
|
238
|
+
this.completionTokens = output;
|
|
239
|
+
}
|
|
205
240
|
onContent(text, now) {
|
|
206
241
|
if (text === '')
|
|
207
242
|
return;
|
|
@@ -240,6 +275,7 @@ export class StreamTelemetry {
|
|
|
240
275
|
return {
|
|
241
276
|
ttft_ms: this.ttftMs(start),
|
|
242
277
|
prompt_tokens: this.promptTokens ?? null,
|
|
278
|
+
cached_tokens: this.cachedTokens ?? null,
|
|
243
279
|
completion_tokens: completion,
|
|
244
280
|
total_tokens: total,
|
|
245
281
|
tokens_estimated: estimated,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../../src/server/public/telemetry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../../src/server/public/telemetry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extended thinking for Anthropic `/messages` on a llama.cpp engine.
|
|
3
|
+
*
|
|
4
|
+
* The Anthropic API thinks only when a request asks for it (`thinking: {type: "enabled"}` or
|
|
5
|
+
* `"adaptive"`); a request with no `thinking`, or with `{type: "disabled"}`, gets none. llama.cpp's
|
|
6
|
+
* `/v1/messages` maps only `enabled` (to a thinking budget) and otherwise leaves the chat template's
|
|
7
|
+
* thinking at the server default, which `--jinja` turns on for every template that can think. So a
|
|
8
|
+
* request that asked for no thinking thought anyway: Claude Code's session-title request, sent with
|
|
9
|
+
* no `thinking` and `max_tokens: 32000`, made Qwen3.5 4B think for 20,000 tokens, and on a one-slot
|
|
10
|
+
* server the user's own turn waited behind it (QA B08).
|
|
11
|
+
*
|
|
12
|
+
* The core tells the template what the request meant: `chat_template_kwargs.enable_thinking: false`,
|
|
13
|
+
* which llama.cpp's Anthropic conversion passes to the template (b10777 and later; an older build
|
|
14
|
+
* drops the field and answers as before). A request that sets the switch itself is sent as it is.
|
|
15
|
+
*/
|
|
16
|
+
import type { JsonObject, JsonValue } from '../shims/index.js';
|
|
17
|
+
import type { LocalProvider } from '../../router/index.js';
|
|
18
|
+
/** Whether `provider` is llama.cpp's own server, whose `/v1/messages` reads the Anthropic fields itself. */
|
|
19
|
+
export declare function isLlamaCppServer(provider: LocalProvider): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* The `chat_template_kwargs` an Anthropic request to `provider` goes with so the template does not
|
|
22
|
+
* think, the client's own kwargs kept; `undefined` to send it as it is: an engine other than
|
|
23
|
+
* llama.cpp, a request that asks for thinking or sets the switch itself, or kwargs that are not an
|
|
24
|
+
* object (the engine's to refuse).
|
|
25
|
+
*/
|
|
26
|
+
export declare function noThinkingTemplateKwargs(provider: LocalProvider, body: JsonValue): JsonObject | undefined;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extended thinking for Anthropic `/messages` on a llama.cpp engine.
|
|
3
|
+
*
|
|
4
|
+
* The Anthropic API thinks only when a request asks for it (`thinking: {type: "enabled"}` or
|
|
5
|
+
* `"adaptive"`); a request with no `thinking`, or with `{type: "disabled"}`, gets none. llama.cpp's
|
|
6
|
+
* `/v1/messages` maps only `enabled` (to a thinking budget) and otherwise leaves the chat template's
|
|
7
|
+
* thinking at the server default, which `--jinja` turns on for every template that can think. So a
|
|
8
|
+
* request that asked for no thinking thought anyway: Claude Code's session-title request, sent with
|
|
9
|
+
* no `thinking` and `max_tokens: 32000`, made Qwen3.5 4B think for 20,000 tokens, and on a one-slot
|
|
10
|
+
* server the user's own turn waited behind it (QA B08).
|
|
11
|
+
*
|
|
12
|
+
* The core tells the template what the request meant: `chat_template_kwargs.enable_thinking: false`,
|
|
13
|
+
* which llama.cpp's Anthropic conversion passes to the template (b10777 and later; an older build
|
|
14
|
+
* drops the field and answers as before). A request that sets the switch itself is sent as it is.
|
|
15
|
+
*/
|
|
16
|
+
import { isJsonObject } from '../shims/index.js';
|
|
17
|
+
/** The engines that are llama.cpp's own server: both llama.cpp builds and the PrismML fork. */
|
|
18
|
+
const LLAMACPP_SERVERS = new Set([
|
|
19
|
+
'llamacpp',
|
|
20
|
+
'llamacpp-upstream',
|
|
21
|
+
'atomic-prism',
|
|
22
|
+
]);
|
|
23
|
+
/** Whether `provider` is llama.cpp's own server, whose `/v1/messages` reads the Anthropic fields itself. */
|
|
24
|
+
export function isLlamaCppServer(provider) {
|
|
25
|
+
return LLAMACPP_SERVERS.has(provider);
|
|
26
|
+
}
|
|
27
|
+
function hasKey(value, key) {
|
|
28
|
+
return isJsonObject(value) && Object.prototype.hasOwnProperty.call(value, key);
|
|
29
|
+
}
|
|
30
|
+
/** Whether an Anthropic `thinking` value asks for thinking: anything but absent, `null` or `disabled`. */
|
|
31
|
+
function asksForThinking(thinking) {
|
|
32
|
+
if (thinking === undefined || thinking === null)
|
|
33
|
+
return false;
|
|
34
|
+
return !(isJsonObject(thinking) && thinking['type'] === 'disabled');
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Whether the body already says whether to think, in the fields llama.cpp reads: the template's own
|
|
38
|
+
* switch at the top level, or the switch or a reasoning effort in the `extra_params` it merges in.
|
|
39
|
+
*/
|
|
40
|
+
function setsThinkingItself(body) {
|
|
41
|
+
const extra = body['extra_params'];
|
|
42
|
+
return (hasKey(body['chat_template_kwargs'], 'enable_thinking') ||
|
|
43
|
+
hasKey(extra, 'reasoning_effort') ||
|
|
44
|
+
(isJsonObject(extra) && hasKey(extra['chat_template_kwargs'], 'enable_thinking')));
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The `chat_template_kwargs` an Anthropic request to `provider` goes with so the template does not
|
|
48
|
+
* think, the client's own kwargs kept; `undefined` to send it as it is: an engine other than
|
|
49
|
+
* llama.cpp, a request that asks for thinking or sets the switch itself, or kwargs that are not an
|
|
50
|
+
* object (the engine's to refuse).
|
|
51
|
+
*/
|
|
52
|
+
export function noThinkingTemplateKwargs(provider, body) {
|
|
53
|
+
if (!LLAMACPP_SERVERS.has(provider) || !isJsonObject(body))
|
|
54
|
+
return undefined;
|
|
55
|
+
if (asksForThinking(body['thinking']) || setsThinkingItself(body))
|
|
56
|
+
return undefined;
|
|
57
|
+
const kwargs = body['chat_template_kwargs'];
|
|
58
|
+
if (kwargs === undefined)
|
|
59
|
+
return { enable_thinking: false };
|
|
60
|
+
return isJsonObject(kwargs) ? { ...kwargs, enable_thinking: false } : undefined;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=thinking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thinking.js","sourceRoot":"","sources":["../../../src/server/public/thinking.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAIhD,+FAA+F;AAC/F,MAAM,gBAAgB,GAA+B,IAAI,GAAG,CAAC;IAC3D,UAAU;IACV,mBAAmB;IACnB,cAAc;CACf,CAAC,CAAA;AAEF,4GAA4G;AAC5G,MAAM,UAAU,gBAAgB,CAAC,QAAuB;IACtD,OAAO,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AACvC,CAAC;AAED,SAAS,MAAM,CAAC,KAA4B,EAAE,GAAW;IACvD,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AAChF,CAAC;AAED,0GAA0G;AAC1G,SAAS,eAAe,CAAC,QAA+B;IACtD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC7D,OAAO,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,CAAA;AACrE,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,IAAgB;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,CAAA;IAClC,OAAO,CACL,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,iBAAiB,CAAC;QACvD,MAAM,CAAC,KAAK,EAAE,kBAAkB,CAAC;QACjC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAClF,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAAuB,EAAE,IAAe;IAC/E,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAA;IAC5E,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAA;IACnF,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAA;IAC3C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAA;IAC3D,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACjF,CAAC"}
|
|
@@ -38,6 +38,8 @@ export declare class RequestTrace {
|
|
|
38
38
|
ctxOverflowDetected: boolean;
|
|
39
39
|
/** Streamed telemetry for the inspector, when a relay collected any. */
|
|
40
40
|
telemetry: StreamTelemetry | undefined;
|
|
41
|
+
/** The window of the session the request went to, once known (`recordWindow`). */
|
|
42
|
+
ctxLen: number | null;
|
|
41
43
|
private readonly startedAt;
|
|
42
44
|
private readonly startedAtMs;
|
|
43
45
|
private headersAt;
|
|
@@ -62,6 +64,12 @@ export declare class RequestTrace {
|
|
|
62
64
|
* request; it keeps reply text only while the inspector watches.
|
|
63
65
|
*/
|
|
64
66
|
startTelemetry(): StreamTelemetry | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* Keep the window of the session the request goes to with the request, as it is now: the log shows
|
|
69
|
+
* it after that model has been reloaded with another window, or unloaded (QA B04). Read only when
|
|
70
|
+
* the request is reported at all; one that finishes before the window is known reports none.
|
|
71
|
+
*/
|
|
72
|
+
recordWindow(read: () => Promise<number | undefined>): void;
|
|
65
73
|
/** Telemetry from a whole (non-streamed) response body: there is no time to first token. */
|
|
66
74
|
stash(fields: TelemetryFields): void;
|
|
67
75
|
/** A throttled progress tick for a long stream. */
|
|
@@ -77,6 +77,8 @@ export class RequestTrace {
|
|
|
77
77
|
ctxOverflowDetected = false;
|
|
78
78
|
/** Streamed telemetry for the inspector, when a relay collected any. */
|
|
79
79
|
telemetry;
|
|
80
|
+
/** The window of the session the request went to, once known (`recordWindow`). */
|
|
81
|
+
ctxLen = null;
|
|
80
82
|
startedAt = now();
|
|
81
83
|
startedAtMs = Date.now();
|
|
82
84
|
headersAt;
|
|
@@ -144,6 +146,19 @@ export class RequestTrace {
|
|
|
144
146
|
this.telemetry ??= new StreamTelemetry({ previews: this.inspecting });
|
|
145
147
|
return this.telemetry;
|
|
146
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* Keep the window of the session the request goes to with the request, as it is now: the log shows
|
|
151
|
+
* it after that model has been reloaded with another window, or unloaded (QA B04). Read only when
|
|
152
|
+
* the request is reported at all; one that finishes before the window is known reports none.
|
|
153
|
+
*/
|
|
154
|
+
recordWindow(read) {
|
|
155
|
+
if (!this.deps.emit)
|
|
156
|
+
return;
|
|
157
|
+
void read().then((window) => {
|
|
158
|
+
if (window !== undefined)
|
|
159
|
+
this.ctxLen = window;
|
|
160
|
+
}, () => { });
|
|
161
|
+
}
|
|
147
162
|
/** Telemetry from a whole (non-streamed) response body: there is no time to first token. */
|
|
148
163
|
stash(fields) {
|
|
149
164
|
this.stashed = { ...fields, ttft_ms: null };
|
|
@@ -206,6 +221,7 @@ export class RequestTrace {
|
|
|
206
221
|
finish = {
|
|
207
222
|
ttft_ms: null,
|
|
208
223
|
prompt_tokens: null,
|
|
224
|
+
cached_tokens: null,
|
|
209
225
|
completion_tokens: null,
|
|
210
226
|
total_tokens: null,
|
|
211
227
|
tokens_estimated: false,
|
|
@@ -215,6 +231,7 @@ export class RequestTrace {
|
|
|
215
231
|
reply_preview: null,
|
|
216
232
|
reply_chars: null,
|
|
217
233
|
...telemetry,
|
|
234
|
+
ctx_len: this.ctxLen,
|
|
218
235
|
// PRIVACY (ATO-113): whatever collected it, no reply text leaves for a request nobody watched.
|
|
219
236
|
...(this.inspecting ? {} : { reply_preview: null }),
|
|
220
237
|
status: status || null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../../../src/server/public/trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAIzC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAI/D,MAAM,oBAAoB,GAAG,IAAI,CAAA;AACjC,mGAAmG;AACnG,MAAM,yBAAyB,GAAG,EAAE,CAAA;AAEpC,IAAI,OAAO,GAAG,CAAC,CAAA;AACf,IAAI,QAAQ,GAAG,CAAC,CAAA;AAEhB,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,mBAAmB;YACtB,OAAO,kBAAkB,CAAA;QAC3B,KAAK,YAAY;YACf,OAAO,WAAW,CAAA;QACpB,KAAK,WAAW;YACd,OAAO,UAAU,CAAA;QACnB,KAAK,cAAc;YACjB,OAAO,aAAa,CAAA;QACtB,KAAK,aAAa;YAChB,OAAO,YAAY,CAAA;QACrB,KAAK,wBAAwB;YAC3B,OAAO,uBAAuB,CAAA;QAChC,KAAK,qBAAqB;YACxB,OAAO,oBAAoB,CAAA;QAC7B,KAAK,eAAe;YAClB,OAAO,cAAc,CAAA;QACvB,KAAK,eAAe;YAClB,OAAO,cAAc,CAAA;QACvB,KAAK,YAAY;YACf,OAAO,WAAW,CAAA;QACpB,KAAK,eAAe;YAClB,OAAO,cAAc,CAAA;QACvB,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAA;QACjB,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAA;QACjB,KAAK,mBAAmB;YACtB,OAAO,kBAAkB,CAAA;QAC3B,KAAK,UAAU;YACb,OAAO,SAAS,CAAA;QAClB;YACE,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAA;IAC3D,CAAC;AACH,CAAC;AAED,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;AAEnC,MAAM,OAAO,YAAY;
|
|
1
|
+
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../../../src/server/public/trace.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,8 @@ export interface LocalTarget {
|
|
|
37
37
|
isEmbedding: boolean;
|
|
38
38
|
/** Absent for an engine that takes every route (llama.cpp, MLX): the server's own defaults apply. */
|
|
39
39
|
policy?: LocalTargetPolicy;
|
|
40
|
+
/** Changes each time the model is loaded again (`SessionInfo.generation`), when the session has one. */
|
|
41
|
+
generation?: string;
|
|
40
42
|
}
|
|
41
43
|
/** What asking the owning runtime for a larger context produced. */
|
|
42
44
|
export interface CtxIncreaseOutcome {
|
|
@@ -211,6 +213,12 @@ export interface PublicServerDeps {
|
|
|
211
213
|
* a round trip to the llama.cpp extension; in the core it is the runtime's own `increaseCtx`.
|
|
212
214
|
*/
|
|
213
215
|
increaseCtx: (provider: LocalProvider, modelId: string, trigger: string) => Promise<CtxIncreaseOutcome>;
|
|
216
|
+
/**
|
|
217
|
+
* The context window a local session serves, when the host can learn it (`SessionWindows`): what
|
|
218
|
+
* `/models` advertises and the request log records. Absent: no window is advertised, except the one
|
|
219
|
+
* a declared session states itself.
|
|
220
|
+
*/
|
|
221
|
+
contextWindow?: (target: LocalTarget) => Promise<number | undefined>;
|
|
214
222
|
/**
|
|
215
223
|
* Whether the app's API screen is watching. Only then are prompt and reply previews and stream
|
|
216
224
|
* telemetry collected (ATO-113); the analytics observation is sent regardless.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/shims/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/shims/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A system or developer message in the middle of a conversation, as the shims and the server pass
|
|
3
|
+
* it to a llama.cpp chat template: user text wrapped the way Claude Code writes its own reminders.
|
|
4
|
+
* Strict templates (Qwen3.5) refuse a system message after the first turn, and moving it to the
|
|
5
|
+
* start of the prompt would make llama.cpp process the whole conversation again.
|
|
6
|
+
*/
|
|
7
|
+
/** `text` as a reminder, unless the client already wrapped it as one. */
|
|
8
|
+
export declare function asSystemReminder(text: string): string;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A system or developer message in the middle of a conversation, as the shims and the server pass
|
|
3
|
+
* it to a llama.cpp chat template: user text wrapped the way Claude Code writes its own reminders.
|
|
4
|
+
* Strict templates (Qwen3.5) refuse a system message after the first turn, and moving it to the
|
|
5
|
+
* start of the prompt would make llama.cpp process the whole conversation again.
|
|
6
|
+
*/
|
|
7
|
+
/** `text` as a reminder, unless the client already wrapped it as one. */
|
|
8
|
+
export function asSystemReminder(text) {
|
|
9
|
+
const trimmed = text.trim();
|
|
10
|
+
if (trimmed.startsWith('<system-reminder>') && trimmed.endsWith('</system-reminder>'))
|
|
11
|
+
return trimmed;
|
|
12
|
+
return `<system-reminder>\n${trimmed}\n</system-reminder>`;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=reminders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reminders.js","sourceRoot":"","sources":["../../../src/server/shims/reminders.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,yEAAyE;AACzE,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IAC3B,IAAI,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAAE,OAAO,OAAO,CAAA;IACrG,OAAO,sBAAsB,OAAO,sBAAsB,CAAA;AAC5D,CAAC"}
|
|
@@ -20,26 +20,48 @@ export declare function newResponseId(): string;
|
|
|
20
20
|
/** Convert a Responses API request body into a Chat Completions request body. */
|
|
21
21
|
export declare function responsesRequestToChat(body: JsonValue): JsonValue;
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* message
|
|
27
|
-
*
|
|
28
|
-
*
|
|
23
|
+
* Place the `system`/`developer` messages for a strict chat template (notably Qwen3-family GGUFs,
|
|
24
|
+
* which raise "System message must be at the beginning" for a second system message or a later one;
|
|
25
|
+
* Codex sends `instructions` and developer input items). Those before the first turn become one
|
|
26
|
+
* leading `system` message, joined by a blank line. A later one stays where it is, as user text
|
|
27
|
+
* wrapped in `<system-reminder>`, so the start of the prompt does not change and llama.cpp keeps its
|
|
28
|
+
* prompt cache: it is put before the text of the user message that follows it, or else at the end
|
|
29
|
+
* of the user or tool message before it (never between a tool call and its result), or else in a
|
|
30
|
+
* user message of its own. Messages whose flattened text is empty contribute nothing; the order of
|
|
31
|
+
* the other messages is preserved.
|
|
29
32
|
*/
|
|
30
|
-
export declare function
|
|
33
|
+
export declare function placeSystemMessages(messages: JsonValue[]): JsonValue[];
|
|
31
34
|
/**
|
|
32
35
|
* Flatten Responses content (a string, or an array of typed parts) to plain text: every part's
|
|
33
36
|
* string `text` is concatenated regardless of the part's type; parts without one (images, files)
|
|
34
37
|
* are skipped. Anything else yields "".
|
|
35
38
|
*/
|
|
36
39
|
export declare function flattenContentToText(content: JsonValue | undefined): string;
|
|
40
|
+
/**
|
|
41
|
+
* The chat function name for function `name` in Responses namespace `namespace`: `<ns>__<name>`, the
|
|
42
|
+
* way MCP tools have always been named, and the plain name in Codex's default namespace. A namespace
|
|
43
|
+
* that already ends in the delimiter is not given a second one.
|
|
44
|
+
*/
|
|
45
|
+
export declare function flatToolName(namespace: string, name: string): string;
|
|
46
|
+
/** The namespace and name of each function the request offered in a namespace, by its chat name. */
|
|
47
|
+
export type NamespacedToolNames = ReadonlyMap<string, {
|
|
48
|
+
namespace: string;
|
|
49
|
+
name: string;
|
|
50
|
+
}>;
|
|
51
|
+
/**
|
|
52
|
+
* How to name a call back in the namespace it was offered in (Codex sends its MCP tools as
|
|
53
|
+
* `{type: "namespace", name, tools: [...]}` and runs a call only with its `namespace`). Functions in
|
|
54
|
+
* the default namespace need no entry: a call without one lands there.
|
|
55
|
+
*/
|
|
56
|
+
export declare function namespacedToolNames(body: JsonValue): NamespacedToolNames;
|
|
37
57
|
/**
|
|
38
58
|
* Convert a non-streaming Chat Completions response into a Responses object. Only the first choice
|
|
39
59
|
* is used, `finish_reason` is ignored (status is always "completed"), and a present `usage` — even
|
|
40
60
|
* `null` — is mapped, so `usage: null` becomes an all-zero usage block; only an absent one is null.
|
|
41
61
|
*/
|
|
42
|
-
export declare function chatResponseToResponses(chat: JsonValue, responseId: string, modelFallback: string
|
|
62
|
+
export declare function chatResponseToResponses(chat: JsonValue, responseId: string, modelFallback: string,
|
|
63
|
+
/** The request's namespaced functions (`namespacedToolNames`), whose calls are named back. */
|
|
64
|
+
names?: NamespacedToolNames): JsonValue;
|
|
43
65
|
/**
|
|
44
66
|
* Stateful converter from a Chat Completions chunk stream to the Responses event protocol. Feed each
|
|
45
67
|
* parsed Chat `data:` chunk to `onChunk` and emit the returned events; call `finish` when the stream
|
|
@@ -59,7 +81,9 @@ export declare class ResponsesStreamConverter {
|
|
|
59
81
|
private msgOutputIndex;
|
|
60
82
|
private text;
|
|
61
83
|
private tools;
|
|
62
|
-
|
|
84
|
+
private readonly names;
|
|
85
|
+
/** `names`: the request's namespaced functions (`namespacedToolNames`), whose calls are named back. */
|
|
86
|
+
constructor(responseId: string, model: string, names?: NamespacedToolNames);
|
|
63
87
|
private nextSeq;
|
|
64
88
|
private responseEnvelope;
|
|
65
89
|
/** The opening `response.created` event. Send once, before any chunk. */
|