@atomic-chat/core 0.20.7 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/events.d.ts +8 -0
- 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 +4 -1
- package/dist/core/atomic-core.js.map +1 -1
- package/dist/core/create.js +4 -1
- package/dist/core/create.js.map +1 -1
- package/dist/core/sessions.js +1 -0
- package/dist/core/sessions.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/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/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/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 +15 -4
- package/dist/server/public/errors.js +53 -7
- package/dist/server/public/errors.js.map +1 -1
- package/dist/server/public/forward.js +65 -5
- 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 +18 -1
- package/dist/settings/store.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/public/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/public/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { JsonValue } from '../shims/index.js';
|
|
9
9
|
import type { Exchange } from './exchange.js';
|
|
10
|
+
import type { LocalTarget } from './types.js';
|
|
10
11
|
/** What a declared session (`LocalTarget.policy`) says about itself, for `/muse-code/models`. */
|
|
11
12
|
interface MuseFacts {
|
|
12
13
|
toolCall?: boolean;
|
|
@@ -23,9 +24,15 @@ export declare function servedModels(ex: Exchange): Array<{
|
|
|
23
24
|
id: string;
|
|
24
25
|
ownedBy: string;
|
|
25
26
|
muse: MuseFacts;
|
|
27
|
+
session?: LocalTarget;
|
|
26
28
|
}>;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
/**
|
|
30
|
+
* The OpenAI model list. A local model whose window is known says so the way llama-server's own list
|
|
31
|
+
* does (`meta.n_ctx`) and as `context_length`, which OpenAI-compatible agents read to size their
|
|
32
|
+
* context and compact before the engine refuses a prompt.
|
|
33
|
+
*/
|
|
34
|
+
export declare function serveModels(ex: Exchange): Promise<void>;
|
|
35
|
+
export declare function serveMuseCatalog(ex: Exchange): Promise<void>;
|
|
29
36
|
/**
|
|
30
37
|
* One row of Muse Code's catalogue. `modalities.input` claims text only and `reasoning` is false,
|
|
31
38
|
* because the server cannot know either per model and the safe answer never sends a text-only model
|
|
@@ -10,10 +10,11 @@ import { answer, connectTimeoutMs, header } from './exchange.js';
|
|
|
10
10
|
import { readBody, sendUpstream } from './wire.js';
|
|
11
11
|
import { EMBEDDING_OWNED_BY } from './embedding.js';
|
|
12
12
|
import { findLocalSession, findSelectedLocalSession, routedRemote, selectedRoute } from './forward.js';
|
|
13
|
+
import { sessionWindow } from './context-window.js';
|
|
13
14
|
/**
|
|
14
|
-
* Advertised to Muse Code, which compacts a conversation as it nears the advertised context
|
|
15
|
-
* server does not know a session's real window
|
|
16
|
-
* costs an earlier compaction, guessing high costs hard overflow errors mid-run.
|
|
15
|
+
* Advertised to Muse Code, which compacts a conversation as it nears the advertised context, when the
|
|
16
|
+
* server does not know a session's real window (`context-window.ts`). These under-estimate on
|
|
17
|
+
* purpose: guessing low costs an earlier compaction, guessing high costs hard overflow errors mid-run.
|
|
17
18
|
*/
|
|
18
19
|
const MUSE_LOCAL_CONTEXT_LIMIT = 32_768;
|
|
19
20
|
const MUSE_REMOTE_CONTEXT_LIMIT = 200_000;
|
|
@@ -60,17 +61,37 @@ export function servedModels(ex) {
|
|
|
60
61
|
...(s.policy.maxOutputTokens === undefined ? {} : { output: s.policy.maxOutputTokens }),
|
|
61
62
|
}
|
|
62
63
|
: {},
|
|
64
|
+
session: s,
|
|
63
65
|
}));
|
|
66
|
+
const remote = [];
|
|
64
67
|
for (const provider of ex.deps.providers().values()) {
|
|
65
68
|
for (const id of provider.models) {
|
|
66
69
|
if (routedRemote(ex, id, selectedRoute(ex, id))?.provider === provider.provider)
|
|
67
|
-
|
|
70
|
+
remote.push({ id, ownedBy: 'remote', muse: {} });
|
|
68
71
|
}
|
|
69
72
|
}
|
|
70
|
-
return models;
|
|
73
|
+
return [...models, ...remote];
|
|
71
74
|
}
|
|
72
|
-
|
|
73
|
-
|
|
75
|
+
/** Each served model with the window its session serves, where that is known. */
|
|
76
|
+
async function servedModelsWithWindows(ex) {
|
|
77
|
+
return Promise.all(servedModels(ex).map(async (m) => ({
|
|
78
|
+
...m,
|
|
79
|
+
window: m.session ? await sessionWindow(ex.deps, m.session) : undefined,
|
|
80
|
+
})));
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* The OpenAI model list. A local model whose window is known says so the way llama-server's own list
|
|
84
|
+
* does (`meta.n_ctx`) and as `context_length`, which OpenAI-compatible agents read to size their
|
|
85
|
+
* context and compact before the engine refuses a prompt.
|
|
86
|
+
*/
|
|
87
|
+
export async function serveModels(ex) {
|
|
88
|
+
const data = (await servedModelsWithWindows(ex)).map((m) => ({
|
|
89
|
+
id: m.id,
|
|
90
|
+
object: 'model',
|
|
91
|
+
created: 1,
|
|
92
|
+
owned_by: m.ownedBy,
|
|
93
|
+
...(m.window === undefined ? {} : { context_length: m.window, meta: { n_ctx: m.window } }),
|
|
94
|
+
}));
|
|
74
95
|
// The embedding module's model, while it is turned on: OpenAI clients pick their embedding model from
|
|
75
96
|
// this list. Not in `servedModels`, which also feeds Muse Code's catalogue of chat models.
|
|
76
97
|
const embedding = ex.deps.embedding?.modelId() ?? null;
|
|
@@ -78,8 +99,8 @@ export function serveModels(ex) {
|
|
|
78
99
|
data.push({ id: embedding, object: 'model', created: 1, owned_by: EMBEDDING_OWNED_BY });
|
|
79
100
|
answer(ex, 200, serdeToString({ object: 'list', data }), [['Content-Type', 'application/json']]);
|
|
80
101
|
}
|
|
81
|
-
export function serveMuseCatalog(ex) {
|
|
82
|
-
const data =
|
|
102
|
+
export async function serveMuseCatalog(ex) {
|
|
103
|
+
const data = (await servedModelsWithWindows(ex)).map((m) => museCatalogEntry(m.id, m.ownedBy, m.window === undefined ? m.muse : { context: m.window, ...m.muse }));
|
|
83
104
|
answer(ex, 200, serdeToString({ object: 'list', data }), [['Content-Type', 'application/json']]);
|
|
84
105
|
}
|
|
85
106
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listing.js","sourceRoot":"","sources":["../../../src/server/public/listing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEhE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"listing.js","sourceRoot":"","sources":["../../../src/server/public/listing.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,11 +7,12 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Ported from: src-tauri/src/core/server/proxy.rs (`handle_responses_request`).
|
|
9
9
|
*/
|
|
10
|
-
import { ResponsesStreamConverter, chatResponseToResponses, newResponseId, responsesRequestToChat, serdeToString, } from '../shims/index.js';
|
|
10
|
+
import { ResponsesStreamConverter, chatResponseToResponses, namespacedToolNames, newResponseId, responsesRequestToChat, serdeToString, } from '../shims/index.js';
|
|
11
11
|
import { MANAGED_PROVIDER_IDS } from '../../contracts/index.js';
|
|
12
12
|
import { answer, clientGone, connectTimeoutMs } from './exchange.js';
|
|
13
13
|
import { answerSelectedUnavailable, findSelectedLocalSession, outboundHeaders, readModelRequest, routedRemote, selectedRoute, sseEvent, } from './forward.js';
|
|
14
14
|
import { policyRefusal } from './policy.js';
|
|
15
|
+
import { sessionWindow } from './context-window.js';
|
|
15
16
|
import { responsesRolesRefusal } from './validate.js';
|
|
16
17
|
import { SseLineReader } from './sse.js';
|
|
17
18
|
import { bodyIndicatesOom, isContextLimitError, modelNotFoundJson } from './errors.js';
|
|
@@ -67,6 +68,7 @@ export async function serveResponses(ex) {
|
|
|
67
68
|
return;
|
|
68
69
|
}
|
|
69
70
|
trace.backend = session.provider;
|
|
71
|
+
trace.recordWindow(() => sessionWindow(ex.deps, session));
|
|
70
72
|
// The translation copies a message item's role into the chat messages, where a chat template drops
|
|
71
73
|
// one it does not know; MLX gets the same answer.
|
|
72
74
|
const malformed = responsesRolesRefusal(json);
|
|
@@ -135,6 +137,8 @@ async function translate(ex, url, key, json, modelId, stream) {
|
|
|
135
137
|
return;
|
|
136
138
|
}
|
|
137
139
|
const responseId = newResponseId();
|
|
140
|
+
// Codex runs a call to one of its MCP tools only in the namespace it offered the tool in.
|
|
141
|
+
const names = namespacedToolNames(json);
|
|
138
142
|
if (!stream) {
|
|
139
143
|
const bytes = await readBody(response.body).catch(() => Buffer.alloc(0));
|
|
140
144
|
let chat = null;
|
|
@@ -144,17 +148,17 @@ async function translate(ex, url, key, json, modelId, stream) {
|
|
|
144
148
|
catch {
|
|
145
149
|
chat = null;
|
|
146
150
|
}
|
|
147
|
-
answer(ex, 200, serdeToString(chatResponseToResponses(chat, responseId, modelId)), [
|
|
151
|
+
answer(ex, 200, serdeToString(chatResponseToResponses(chat, responseId, modelId, names)), [
|
|
148
152
|
['Content-Type', 'application/json'],
|
|
149
153
|
]);
|
|
150
154
|
return;
|
|
151
155
|
}
|
|
152
156
|
ex.res.writeHead(200, [['Content-Type', 'text/event-stream'], ['Cache-Control', 'no-cache'], ...ex.cors].flat());
|
|
153
|
-
await pipeBody(ex.res, responsesEvents(response, responseId, modelId, ex.trace), () => response.body.destroy());
|
|
157
|
+
await pipeBody(ex.res, responsesEvents(response, responseId, modelId, names, ex.trace), () => response.body.destroy());
|
|
154
158
|
}
|
|
155
|
-
async function* responsesEvents(upstream, responseId, modelId, trace) {
|
|
159
|
+
async function* responsesEvents(upstream, responseId, modelId, names, trace) {
|
|
156
160
|
const telemetry = trace.startTelemetry();
|
|
157
|
-
const conv = new ResponsesStreamConverter(responseId, modelId);
|
|
161
|
+
const conv = new ResponsesStreamConverter(responseId, modelId, names);
|
|
158
162
|
yield sseEvent(conv.createdEvent());
|
|
159
163
|
const reader = new SseLineReader();
|
|
160
164
|
let usage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responses.js","sourceRoot":"","sources":["../../../src/server/public/responses.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"responses.js","sourceRoot":"","sources":["../../../src/server/public/responses.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System messages inside an Anthropic `/messages` conversation, for a llama.cpp engine.
|
|
3
|
+
*
|
|
4
|
+
* Claude Code sends its reminders as `role: "system"` messages between the turns of a conversation
|
|
5
|
+
* with a model it does not know. llama.cpp's `/v1/messages` hands them to the chat template where they
|
|
6
|
+
* stand, and a strict template (Qwen3.5's: "System message must be at the beginning.") answers 500.
|
|
7
|
+
* The proxy then retried every such turn as chat completions, which loses the reply's token usage and
|
|
8
|
+
* the turn's thinking blocks.
|
|
9
|
+
*
|
|
10
|
+
* Moving them into the top-level `system` fixes the template but rewrites the start of the prompt
|
|
11
|
+
* whenever a reminder appears, and llama.cpp then processes the whole conversation again — on a
|
|
12
|
+
* hybrid or sliding-window model (Qwen3.5, Gemma) its prompt cache cannot reuse anything past the
|
|
13
|
+
* change. So each one stays where it is, as user text wrapped in `<system-reminder>` the way Claude
|
|
14
|
+
* Code writes its own, merged into a neighbouring user turn so the roles still alternate:
|
|
15
|
+
*
|
|
16
|
+
* - into the user message that follows it: at the end of its last `tool_result` when it answers tool
|
|
17
|
+
* calls, otherwise before its text. llama.cpp puts a user message's text blocks before its tool
|
|
18
|
+
* results (`server_chat_convert_anthropic_to_oai`), so a text block there would land between the
|
|
19
|
+
* tool call and its result — and Qwen's template would take it for the user's latest question and
|
|
20
|
+
* re-render every earlier reply of the turn;
|
|
21
|
+
* - with no user message after it (the conversation ends, or the assistant speaks next), into the
|
|
22
|
+
* user message before it, the same way at its end; with none there either, as a user message of
|
|
23
|
+
* its own.
|
|
24
|
+
*
|
|
25
|
+
* Only system messages before the first turn join `system`, where the conversation starts anyway. A
|
|
26
|
+
* reminder sent with `clear_at: "next_user_message"` (a turn-scoped one) is dropped once a user
|
|
27
|
+
* message follows it, as the Anthropic API clears it.
|
|
28
|
+
*/
|
|
29
|
+
import type { JsonValue } from '../shims/index.js';
|
|
30
|
+
import type { LocalProvider } from '../../router/index.js';
|
|
31
|
+
/**
|
|
32
|
+
* The `system` and `messages` an Anthropic request to `provider` goes with once the system messages
|
|
33
|
+
* in its conversation are placed as described above; `undefined` to send it as it is: an engine
|
|
34
|
+
* other than llama.cpp, or a conversation with no system message in it.
|
|
35
|
+
*/
|
|
36
|
+
export declare function placedSystemMessages(provider: LocalProvider, body: JsonValue): {
|
|
37
|
+
system?: JsonValue;
|
|
38
|
+
messages: JsonValue[];
|
|
39
|
+
} | undefined;
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System messages inside an Anthropic `/messages` conversation, for a llama.cpp engine.
|
|
3
|
+
*
|
|
4
|
+
* Claude Code sends its reminders as `role: "system"` messages between the turns of a conversation
|
|
5
|
+
* with a model it does not know. llama.cpp's `/v1/messages` hands them to the chat template where they
|
|
6
|
+
* stand, and a strict template (Qwen3.5's: "System message must be at the beginning.") answers 500.
|
|
7
|
+
* The proxy then retried every such turn as chat completions, which loses the reply's token usage and
|
|
8
|
+
* the turn's thinking blocks.
|
|
9
|
+
*
|
|
10
|
+
* Moving them into the top-level `system` fixes the template but rewrites the start of the prompt
|
|
11
|
+
* whenever a reminder appears, and llama.cpp then processes the whole conversation again — on a
|
|
12
|
+
* hybrid or sliding-window model (Qwen3.5, Gemma) its prompt cache cannot reuse anything past the
|
|
13
|
+
* change. So each one stays where it is, as user text wrapped in `<system-reminder>` the way Claude
|
|
14
|
+
* Code writes its own, merged into a neighbouring user turn so the roles still alternate:
|
|
15
|
+
*
|
|
16
|
+
* - into the user message that follows it: at the end of its last `tool_result` when it answers tool
|
|
17
|
+
* calls, otherwise before its text. llama.cpp puts a user message's text blocks before its tool
|
|
18
|
+
* results (`server_chat_convert_anthropic_to_oai`), so a text block there would land between the
|
|
19
|
+
* tool call and its result — and Qwen's template would take it for the user's latest question and
|
|
20
|
+
* re-render every earlier reply of the turn;
|
|
21
|
+
* - with no user message after it (the conversation ends, or the assistant speaks next), into the
|
|
22
|
+
* user message before it, the same way at its end; with none there either, as a user message of
|
|
23
|
+
* its own.
|
|
24
|
+
*
|
|
25
|
+
* Only system messages before the first turn join `system`, where the conversation starts anyway. A
|
|
26
|
+
* reminder sent with `clear_at: "next_user_message"` (a turn-scoped one) is dropped once a user
|
|
27
|
+
* message follows it, as the Anthropic API clears it.
|
|
28
|
+
*/
|
|
29
|
+
import { asSystemReminder, isJsonObject } from '../shims/index.js';
|
|
30
|
+
import { isLlamaCppServer } from './thinking.js';
|
|
31
|
+
function isSystemRole(message) {
|
|
32
|
+
if (!isJsonObject(message))
|
|
33
|
+
return false;
|
|
34
|
+
return message['role'] === 'system' || message['role'] === 'developer';
|
|
35
|
+
}
|
|
36
|
+
function isUser(message) {
|
|
37
|
+
return isJsonObject(message) && message['role'] === 'user';
|
|
38
|
+
}
|
|
39
|
+
/** The message's text: a string as it is, an array's text blocks joined as the chat shim joins them. */
|
|
40
|
+
function textOf(content) {
|
|
41
|
+
if (typeof content === 'string')
|
|
42
|
+
return content;
|
|
43
|
+
if (!Array.isArray(content))
|
|
44
|
+
return '';
|
|
45
|
+
let text = '';
|
|
46
|
+
for (const block of content) {
|
|
47
|
+
if (isJsonObject(block) && typeof block['text'] === 'string')
|
|
48
|
+
text += block['text'];
|
|
49
|
+
}
|
|
50
|
+
return text;
|
|
51
|
+
}
|
|
52
|
+
function isToolResult(block) {
|
|
53
|
+
return isJsonObject(block) && block['type'] === 'tool_result';
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* A tool result's content with `text` appended: a string stays a string, blocks get one more (which
|
|
57
|
+
* llama.cpp joins to the others with nothing between, hence the blank line it opens with).
|
|
58
|
+
*/
|
|
59
|
+
function appendToToolResult(block, text) {
|
|
60
|
+
const content = block['content'];
|
|
61
|
+
if (Array.isArray(content) && content.length > 0) {
|
|
62
|
+
return { ...block, content: [...content, { type: 'text', text: `\n\n${text}` }] };
|
|
63
|
+
}
|
|
64
|
+
if (typeof content === 'string' && content !== '')
|
|
65
|
+
return { ...block, content: `${content}\n\n${text}` };
|
|
66
|
+
return { ...block, content: text };
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* `message` with `text` merged in: at the end of its last tool result when it carries any, else at
|
|
70
|
+
* the start (`before`) or the end of its text.
|
|
71
|
+
*/
|
|
72
|
+
function mergeInto(message, text, before) {
|
|
73
|
+
const content = message['content'];
|
|
74
|
+
if (Array.isArray(content)) {
|
|
75
|
+
let last = -1;
|
|
76
|
+
content.forEach((block, i) => {
|
|
77
|
+
if (isToolResult(block))
|
|
78
|
+
last = i;
|
|
79
|
+
});
|
|
80
|
+
if (last >= 0) {
|
|
81
|
+
const blocks = [...content];
|
|
82
|
+
blocks[last] = appendToToolResult(blocks[last], text);
|
|
83
|
+
return { ...message, content: blocks };
|
|
84
|
+
}
|
|
85
|
+
// A template that takes typed content joins the blocks with nothing between them; one that takes
|
|
86
|
+
// a string gets them joined with a newline by llama.cpp.
|
|
87
|
+
if (content.length === 0)
|
|
88
|
+
return { ...message, content: [{ type: 'text', text }] };
|
|
89
|
+
return {
|
|
90
|
+
...message,
|
|
91
|
+
content: before
|
|
92
|
+
? [{ type: 'text', text: `${text}\n` }, ...content]
|
|
93
|
+
: [...content, { type: 'text', text: `\n${text}` }],
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
if (typeof content === 'string' && content !== '') {
|
|
97
|
+
return { ...message, content: before ? `${text}\n\n${content}` : `${content}\n\n${text}` };
|
|
98
|
+
}
|
|
99
|
+
return { ...message, content: text };
|
|
100
|
+
}
|
|
101
|
+
/** The leading system messages' text joined to the request's own `system`. */
|
|
102
|
+
function joinedSystem(system, merged) {
|
|
103
|
+
if (Array.isArray(system) && system.length > 0) {
|
|
104
|
+
// llama.cpp joins the blocks of an array `system` with nothing between them, so the merged text
|
|
105
|
+
// is one more block that starts on its own paragraph; the client's own blocks stay as they were.
|
|
106
|
+
return [...system, { type: 'text', text: `\n\n${merged}` }];
|
|
107
|
+
}
|
|
108
|
+
if (typeof system === 'string' && system !== '')
|
|
109
|
+
return `${system}\n\n${merged}`;
|
|
110
|
+
return merged;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* The `system` and `messages` an Anthropic request to `provider` goes with once the system messages
|
|
114
|
+
* in its conversation are placed as described above; `undefined` to send it as it is: an engine
|
|
115
|
+
* other than llama.cpp, or a conversation with no system message in it.
|
|
116
|
+
*/
|
|
117
|
+
export function placedSystemMessages(provider, body) {
|
|
118
|
+
if (!isLlamaCppServer(provider) || !isJsonObject(body))
|
|
119
|
+
return undefined;
|
|
120
|
+
const messages = body['messages'];
|
|
121
|
+
if (!Array.isArray(messages) || !messages.some(isSystemRole))
|
|
122
|
+
return undefined;
|
|
123
|
+
const lastUser = messages.findLastIndex((message) => isUser(message));
|
|
124
|
+
const cleared = (i) => messages[i]['clear_at'] === 'next_user_message' && i < lastUser;
|
|
125
|
+
let start = 0;
|
|
126
|
+
const leadingTexts = [];
|
|
127
|
+
for (; start < messages.length && isSystemRole(messages[start]); start++) {
|
|
128
|
+
const text = cleared(start) ? '' : textOf(messages[start]['content']);
|
|
129
|
+
if (text !== '')
|
|
130
|
+
leadingTexts.push(text);
|
|
131
|
+
}
|
|
132
|
+
const leading = leadingTexts.join('\n\n');
|
|
133
|
+
const out = [];
|
|
134
|
+
let pending = [];
|
|
135
|
+
const flushBefore = () => {
|
|
136
|
+
if (pending.length === 0)
|
|
137
|
+
return;
|
|
138
|
+
const text = pending.join('\n\n');
|
|
139
|
+
pending = [];
|
|
140
|
+
const previous = out.at(-1);
|
|
141
|
+
if (isUser(previous))
|
|
142
|
+
out[out.length - 1] = mergeInto(previous, text, false);
|
|
143
|
+
else
|
|
144
|
+
out.push({ role: 'user', content: text });
|
|
145
|
+
};
|
|
146
|
+
for (let i = start; i < messages.length; i++) {
|
|
147
|
+
const message = messages[i];
|
|
148
|
+
if (isSystemRole(message)) {
|
|
149
|
+
const text = cleared(i) ? '' : textOf(message['content']);
|
|
150
|
+
if (text.trim() !== '')
|
|
151
|
+
pending.push(asSystemReminder(text));
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
if (pending.length > 0 && isUser(message)) {
|
|
155
|
+
out.push(mergeInto(message, pending.join('\n\n'), true));
|
|
156
|
+
pending = [];
|
|
157
|
+
continue;
|
|
158
|
+
}
|
|
159
|
+
flushBefore();
|
|
160
|
+
out.push(message);
|
|
161
|
+
}
|
|
162
|
+
flushBefore();
|
|
163
|
+
// Empty leading system messages are dropped and the client's `system` is kept as it came.
|
|
164
|
+
return leading === '' ? { messages: out } : { system: joinedSystem(body['system'], leading), messages: out };
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=system-messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-messages.js","sourceRoot":"","sources":["../../../src/server/public/system-messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,
|