@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.
Files changed (303) hide show
  1. package/dist/backend/install/service.d.ts +2 -20
  2. package/dist/backend/install/service.js +1 -0
  3. package/dist/backend/install/service.js.map +1 -1
  4. package/dist/cli/launch.d.ts +23 -3
  5. package/dist/cli/launch.js +59 -8
  6. package/dist/cli/launch.js.map +1 -1
  7. package/dist/cli/main.d.ts +1 -1
  8. package/dist/contracts/diagnostics.d.ts +21 -0
  9. package/dist/contracts/diagnostics.js +70 -0
  10. package/dist/contracts/diagnostics.js.map +1 -0
  11. package/dist/contracts/errors.d.ts +17 -75
  12. package/dist/contracts/errors.js +130 -2
  13. package/dist/contracts/errors.js.map +1 -1
  14. package/dist/contracts/events.d.ts +8 -0
  15. package/dist/contracts/index.d.ts +1 -0
  16. package/dist/contracts/index.js +1 -0
  17. package/dist/contracts/index.js.map +1 -1
  18. package/dist/contracts/settings.d.ts +5 -0
  19. package/dist/contracts/settings.js.map +1 -1
  20. package/dist/core/atomic-core.d.ts +3 -1
  21. package/dist/core/atomic-core.js +6 -2
  22. package/dist/core/atomic-core.js.map +1 -1
  23. package/dist/core/create.js +13 -3
  24. package/dist/core/create.js.map +1 -1
  25. package/dist/core/managed-environment.d.ts +2 -0
  26. package/dist/core/managed-environment.js +2 -0
  27. package/dist/core/managed-environment.js.map +1 -1
  28. package/dist/core/sessions.js +1 -0
  29. package/dist/core/sessions.js.map +1 -1
  30. package/dist/decision/service.d.ts +2 -23
  31. package/dist/decision/service.js +27 -0
  32. package/dist/decision/service.js.map +1 -1
  33. package/dist/decision/wiring.d.ts +2 -0
  34. package/dist/decision/wiring.js +1 -6
  35. package/dist/decision/wiring.js.map +1 -1
  36. package/dist/diffusion/errors.js +3 -3
  37. package/dist/diffusion/errors.js.map +1 -1
  38. package/dist/diffusion/jobs.js +1 -0
  39. package/dist/diffusion/jobs.js.map +1 -1
  40. package/dist/diffusion/remote-job.js +1 -0
  41. package/dist/diffusion/remote-job.js.map +1 -1
  42. package/dist/diffusion/service.d.ts +2 -6
  43. package/dist/diffusion/service.js +1 -0
  44. package/dist/diffusion/service.js.map +1 -1
  45. package/dist/diffusion/session.d.ts +2 -5
  46. package/dist/diffusion/session.js +1 -0
  47. package/dist/diffusion/session.js.map +1 -1
  48. package/dist/diffusion/wiring.d.ts +2 -0
  49. package/dist/diffusion/wiring.js +1 -5
  50. package/dist/diffusion/wiring.js.map +1 -1
  51. package/dist/downloads/downloader.d.ts +2 -18
  52. package/dist/downloads/downloader.js +204 -96
  53. package/dist/downloads/downloader.js.map +1 -1
  54. package/dist/downloads/protocol.d.ts +6 -2
  55. package/dist/downloads/protocol.js +27 -5
  56. package/dist/downloads/protocol.js.map +1 -1
  57. package/dist/embedding/service.d.ts +2 -18
  58. package/dist/embedding/service.js +21 -1
  59. package/dist/embedding/service.js.map +1 -1
  60. package/dist/embedding/wiring.d.ts +2 -0
  61. package/dist/embedding/wiring.js +1 -6
  62. package/dist/embedding/wiring.js.map +1 -1
  63. package/dist/integrations/catalog.d.ts +25 -8
  64. package/dist/integrations/catalog.js +105 -38
  65. package/dist/integrations/catalog.js.map +1 -1
  66. package/dist/integrations/configure/atomic-agent.d.ts +9 -1
  67. package/dist/integrations/configure/atomic-agent.js +42 -3
  68. package/dist/integrations/configure/atomic-agent.js.map +1 -1
  69. package/dist/integrations/configure/backup.d.ts +21 -0
  70. package/dist/integrations/configure/backup.js +52 -0
  71. package/dist/integrations/configure/backup.js.map +1 -0
  72. package/dist/integrations/configure/claude-code.d.ts +11 -4
  73. package/dist/integrations/configure/claude-code.js +73 -24
  74. package/dist/integrations/configure/claude-code.js.map +1 -1
  75. package/dist/integrations/configure/cline.d.ts +14 -4
  76. package/dist/integrations/configure/cline.js +78 -6
  77. package/dist/integrations/configure/cline.js.map +1 -1
  78. package/dist/integrations/configure/codex.d.ts +5 -3
  79. package/dist/integrations/configure/codex.js +12 -5
  80. package/dist/integrations/configure/codex.js.map +1 -1
  81. package/dist/integrations/configure/copilot.d.ts +28 -5
  82. package/dist/integrations/configure/copilot.js +124 -8
  83. package/dist/integrations/configure/copilot.js.map +1 -1
  84. package/dist/integrations/configure/droid.d.ts +13 -7
  85. package/dist/integrations/configure/droid.js +48 -17
  86. package/dist/integrations/configure/droid.js.map +1 -1
  87. package/dist/integrations/configure/dsh.d.ts +36 -20
  88. package/dist/integrations/configure/dsh.js +250 -48
  89. package/dist/integrations/configure/dsh.js.map +1 -1
  90. package/dist/integrations/configure/goose.d.ts +21 -7
  91. package/dist/integrations/configure/goose.js +141 -10
  92. package/dist/integrations/configure/goose.js.map +1 -1
  93. package/dist/integrations/configure/hermes.d.ts +63 -10
  94. package/dist/integrations/configure/hermes.js +360 -75
  95. package/dist/integrations/configure/hermes.js.map +1 -1
  96. package/dist/integrations/configure/json-backup.d.ts +73 -0
  97. package/dist/integrations/configure/json-backup.js +292 -0
  98. package/dist/integrations/configure/json-backup.js.map +1 -0
  99. package/dist/integrations/configure/json-key-backup.d.ts +43 -0
  100. package/dist/integrations/configure/json-key-backup.js +113 -0
  101. package/dist/integrations/configure/json-key-backup.js.map +1 -0
  102. package/dist/integrations/configure/kilo.d.ts +4 -4
  103. package/dist/integrations/configure/kilo.js +6 -9
  104. package/dist/integrations/configure/kilo.js.map +1 -1
  105. package/dist/integrations/configure/legacy-env-block.d.ts +18 -0
  106. package/dist/integrations/configure/legacy-env-block.js +47 -0
  107. package/dist/integrations/configure/legacy-env-block.js.map +1 -0
  108. package/dist/integrations/configure/mimo.d.ts +3 -2
  109. package/dist/integrations/configure/mimo.js +8 -9
  110. package/dist/integrations/configure/mimo.js.map +1 -1
  111. package/dist/integrations/configure/muse.d.ts +3 -3
  112. package/dist/integrations/configure/muse.js +5 -6
  113. package/dist/integrations/configure/muse.js.map +1 -1
  114. package/dist/integrations/configure/openclaude.d.ts +22 -7
  115. package/dist/integrations/configure/openclaude.js +132 -39
  116. package/dist/integrations/configure/openclaude.js.map +1 -1
  117. package/dist/integrations/configure/openclaw.d.ts +19 -5
  118. package/dist/integrations/configure/openclaw.js +79 -23
  119. package/dist/integrations/configure/openclaw.js.map +1 -1
  120. package/dist/integrations/configure/opencode-style.d.ts +53 -11
  121. package/dist/integrations/configure/opencode-style.js +218 -23
  122. package/dist/integrations/configure/opencode-style.js.map +1 -1
  123. package/dist/integrations/configure/opencode.d.ts +5 -4
  124. package/dist/integrations/configure/opencode.js +8 -10
  125. package/dist/integrations/configure/opencode.js.map +1 -1
  126. package/dist/integrations/configure/openhands.d.ts +5 -4
  127. package/dist/integrations/configure/openhands.js +7 -7
  128. package/dist/integrations/configure/openhands.js.map +1 -1
  129. package/dist/integrations/configure/pi.d.ts +6 -5
  130. package/dist/integrations/configure/pi.js +79 -30
  131. package/dist/integrations/configure/pi.js.map +1 -1
  132. package/dist/integrations/configure/poolside.d.ts +5 -4
  133. package/dist/integrations/configure/poolside.js +7 -7
  134. package/dist/integrations/configure/poolside.js.map +1 -1
  135. package/dist/integrations/configure/registry.d.ts +6 -0
  136. package/dist/integrations/configure/registry.js +1 -0
  137. package/dist/integrations/configure/registry.js.map +1 -1
  138. package/dist/integrations/configure/zcode.d.ts +6 -7
  139. package/dist/integrations/configure/zcode.js +26 -11
  140. package/dist/integrations/configure/zcode.js.map +1 -1
  141. package/dist/integrations/configure/zed.d.ts +16 -4
  142. package/dist/integrations/configure/zed.js +61 -13
  143. package/dist/integrations/configure/zed.js.map +1 -1
  144. package/dist/lock/instance-lock.js +7 -3
  145. package/dist/lock/instance-lock.js.map +1 -1
  146. package/dist/models/gguf/kv-cache.d.ts +20 -1
  147. package/dist/models/gguf/kv-cache.js +97 -7
  148. package/dist/models/gguf/kv-cache.js.map +1 -1
  149. package/dist/models/gguf/reader.d.ts +5 -3
  150. package/dist/models/gguf/reader.js +10 -6
  151. package/dist/models/gguf/reader.js.map +1 -1
  152. package/dist/remote-access/manager.d.ts +2 -0
  153. package/dist/remote-access/manager.js +18 -2
  154. package/dist/remote-access/manager.js.map +1 -1
  155. package/dist/runtime/environment/service.d.ts +2 -14
  156. package/dist/runtime/environment/service.js +10 -0
  157. package/dist/runtime/environment/service.js.map +1 -1
  158. package/dist/runtime/environment/wiring.d.ts +2 -23
  159. package/dist/runtime/environment/wiring.js +1 -0
  160. package/dist/runtime/environment/wiring.js.map +1 -1
  161. package/dist/runtime/llamacpp/args.d.ts +14 -0
  162. package/dist/runtime/llamacpp/args.js +48 -4
  163. package/dist/runtime/llamacpp/args.js.map +1 -1
  164. package/dist/runtime/llamacpp/ctx-ladder.d.ts +6 -3
  165. package/dist/runtime/llamacpp/ctx-ladder.js +6 -3
  166. package/dist/runtime/llamacpp/ctx-ladder.js.map +1 -1
  167. package/dist/runtime/llamacpp/errors.d.ts +2 -2
  168. package/dist/runtime/llamacpp/errors.js +29 -19
  169. package/dist/runtime/llamacpp/errors.js.map +1 -1
  170. package/dist/runtime/llamacpp/fit-margin.d.ts +24 -0
  171. package/dist/runtime/llamacpp/fit-margin.js +31 -0
  172. package/dist/runtime/llamacpp/fit-margin.js.map +1 -1
  173. package/dist/runtime/llamacpp/generation-limits.d.ts +45 -0
  174. package/dist/runtime/llamacpp/generation-limits.js +61 -0
  175. package/dist/runtime/llamacpp/generation-limits.js.map +1 -0
  176. package/dist/runtime/llamacpp/load-plan.d.ts +14 -2
  177. package/dist/runtime/llamacpp/load-plan.js +64 -13
  178. package/dist/runtime/llamacpp/load-plan.js.map +1 -1
  179. package/dist/runtime/llamacpp/runtime.d.ts +1 -0
  180. package/dist/runtime/llamacpp/runtime.js +2 -0
  181. package/dist/runtime/llamacpp/runtime.js.map +1 -1
  182. package/dist/runtime/managed-engines/runtime.js +13 -2
  183. package/dist/runtime/managed-engines/runtime.js.map +1 -1
  184. package/dist/runtime/managed-engines/spec.d.ts +6 -0
  185. package/dist/runtime/managed-engines/spec.js.map +1 -1
  186. package/dist/runtime/managed-models/auto-limits.d.ts +47 -0
  187. package/dist/runtime/managed-models/auto-limits.js +60 -0
  188. package/dist/runtime/managed-models/auto-limits.js.map +1 -0
  189. package/dist/runtime/managed-models/index.d.ts +1 -0
  190. package/dist/runtime/managed-models/index.js +1 -0
  191. package/dist/runtime/managed-models/index.js.map +1 -1
  192. package/dist/runtime/mlx/config.d.ts +9 -5
  193. package/dist/runtime/mlx/config.js +12 -6
  194. package/dist/runtime/mlx/config.js.map +1 -1
  195. package/dist/runtime/mlx/model-files.d.ts +9 -0
  196. package/dist/runtime/mlx/model-files.js +26 -0
  197. package/dist/runtime/mlx/model-files.js.map +1 -1
  198. package/dist/runtime/mlx/runtime.d.ts +7 -0
  199. package/dist/runtime/mlx/runtime.js +24 -2
  200. package/dist/runtime/mlx/runtime.js.map +1 -1
  201. package/dist/runtime/sglang/adapter.d.ts +4 -0
  202. package/dist/runtime/sglang/adapter.js +9 -6
  203. package/dist/runtime/sglang/adapter.js.map +1 -1
  204. package/dist/runtime/sglang/engine.js +2 -1
  205. package/dist/runtime/sglang/engine.js.map +1 -1
  206. package/dist/runtime/sglang/memory.d.ts +11 -1
  207. package/dist/runtime/sglang/memory.js +34 -3
  208. package/dist/runtime/sglang/memory.js.map +1 -1
  209. package/dist/runtime/sglang/settings.d.ts +2 -1
  210. package/dist/runtime/sglang/settings.js +11 -7
  211. package/dist/runtime/sglang/settings.js.map +1 -1
  212. package/dist/runtime/vllm/adapter.d.ts +4 -0
  213. package/dist/runtime/vllm/adapter.js +9 -6
  214. package/dist/runtime/vllm/adapter.js.map +1 -1
  215. package/dist/runtime/vllm/engine.js +1 -0
  216. package/dist/runtime/vllm/engine.js.map +1 -1
  217. package/dist/runtime/vllm/memory.d.ts +12 -1
  218. package/dist/runtime/vllm/memory.js +44 -2
  219. package/dist/runtime/vllm/memory.js.map +1 -1
  220. package/dist/runtime/vllm/settings.d.ts +2 -1
  221. package/dist/runtime/vllm/settings.js +12 -7
  222. package/dist/runtime/vllm/settings.js.map +1 -1
  223. package/dist/server/public/context-window.d.ts +29 -0
  224. package/dist/server/public/context-window.js +77 -0
  225. package/dist/server/public/context-window.js.map +1 -0
  226. package/dist/server/public/decision-preview.js +1 -0
  227. package/dist/server/public/decision-preview.js.map +1 -1
  228. package/dist/server/public/errors.d.ts +17 -4
  229. package/dist/server/public/errors.js +58 -8
  230. package/dist/server/public/errors.js.map +1 -1
  231. package/dist/server/public/forward.js +86 -22
  232. package/dist/server/public/forward.js.map +1 -1
  233. package/dist/server/public/index.d.ts +1 -0
  234. package/dist/server/public/index.js +1 -0
  235. package/dist/server/public/index.js.map +1 -1
  236. package/dist/server/public/listing.d.ts +9 -2
  237. package/dist/server/public/listing.js +30 -9
  238. package/dist/server/public/listing.js.map +1 -1
  239. package/dist/server/public/responses.js +9 -5
  240. package/dist/server/public/responses.js.map +1 -1
  241. package/dist/server/public/system-messages.d.ts +39 -0
  242. package/dist/server/public/system-messages.js +166 -0
  243. package/dist/server/public/system-messages.js.map +1 -0
  244. package/dist/server/public/telemetry.d.ts +9 -0
  245. package/dist/server/public/telemetry.js +42 -6
  246. package/dist/server/public/telemetry.js.map +1 -1
  247. package/dist/server/public/thinking.d.ts +26 -0
  248. package/dist/server/public/thinking.js +62 -0
  249. package/dist/server/public/thinking.js.map +1 -0
  250. package/dist/server/public/trace.d.ts +8 -0
  251. package/dist/server/public/trace.js +17 -0
  252. package/dist/server/public/trace.js.map +1 -1
  253. package/dist/server/public/types.d.ts +8 -0
  254. package/dist/server/shims/index.d.ts +1 -0
  255. package/dist/server/shims/index.js +1 -0
  256. package/dist/server/shims/index.js.map +1 -1
  257. package/dist/server/shims/reminders.d.ts +8 -0
  258. package/dist/server/shims/reminders.js +14 -0
  259. package/dist/server/shims/reminders.js.map +1 -0
  260. package/dist/server/shims/responses.d.ts +33 -9
  261. package/dist/server/shims/responses.js +160 -36
  262. package/dist/server/shims/responses.js.map +1 -1
  263. package/dist/settings/default-migrations.d.ts +34 -0
  264. package/dist/settings/default-migrations.js +47 -0
  265. package/dist/settings/default-migrations.js.map +1 -0
  266. package/dist/settings/schema/atomic-prism.json +23 -9
  267. package/dist/settings/schema/llamacpp-upstream.json +23 -9
  268. package/dist/settings/schema/llamacpp.json +23 -9
  269. package/dist/settings/schema/sglang.json +8 -8
  270. package/dist/settings/schema/vllm.json +8 -8
  271. package/dist/settings/schema.js +1 -0
  272. package/dist/settings/schema.js.map +1 -1
  273. package/dist/settings/store.d.ts +6 -0
  274. package/dist/settings/store.js +19 -2
  275. package/dist/settings/store.js.map +1 -1
  276. package/dist/telemetry/diagnostics.d.ts +14 -0
  277. package/dist/telemetry/diagnostics.js +285 -0
  278. package/dist/telemetry/diagnostics.js.map +1 -0
  279. package/dist/telemetry/envelope.d.ts +1 -1
  280. package/dist/telemetry/envelope.js +57 -28
  281. package/dist/telemetry/envelope.js.map +1 -1
  282. package/dist/telemetry/index.d.ts +1 -0
  283. package/dist/telemetry/index.js +1 -0
  284. package/dist/telemetry/index.js.map +1 -1
  285. package/dist/telemetry/policy.d.ts +1 -1
  286. package/dist/telemetry/policy.js +45 -2
  287. package/dist/telemetry/policy.js.map +1 -1
  288. package/dist/telemetry/reporter.d.ts +1 -0
  289. package/dist/telemetry/reporter.js +0 -0
  290. package/dist/telemetry/reporter.js.map +1 -1
  291. package/dist/telemetry/reports.d.ts +2 -7
  292. package/dist/telemetry/reports.js +34 -29
  293. package/dist/telemetry/reports.js.map +1 -1
  294. package/dist/telemetry/stack.d.ts +1 -1
  295. package/dist/telemetry/stack.js +8 -1
  296. package/dist/telemetry/stack.js.map +1 -1
  297. package/dist/telemetry/subscribe.d.ts +1 -1
  298. package/dist/telemetry/subscribe.js +7 -5
  299. package/dist/telemetry/subscribe.js.map +1 -1
  300. package/dist/telemetry/types.d.ts +3 -2
  301. package/dist/version.d.ts +1 -1
  302. package/dist/version.js +1 -1
  303. package/package.json +1 -1
@@ -16,6 +16,7 @@
16
16
  */
17
17
  import { randomUUID } from 'node:crypto';
18
18
  import { isJsonObject, serdeToString } from './json.js';
19
+ import { asSystemReminder } from './reminders.js';
19
20
  function uuidSimple() {
20
21
  return randomUUID().replace(/-/g, '');
21
22
  }
@@ -71,7 +72,7 @@ export function responsesRequestToChat(body) {
71
72
  messages.push(msg);
72
73
  }
73
74
  }
74
- const out = { messages: mergeSystemMessages(messages) };
75
+ const out = { messages: placeSystemMessages(messages) };
75
76
  const model = field(body, 'model');
76
77
  if (model !== undefined)
77
78
  out['model'] = clone(model);
@@ -98,7 +99,7 @@ export function responsesRequestToChat(body) {
98
99
  out['parallel_tool_calls'] = clone(parallelToolCalls);
99
100
  const tools = field(body, 'tools');
100
101
  if (Array.isArray(tools)) {
101
- const chatTools = tools.map(responsesToolToChat).filter((t) => t !== undefined);
102
+ const chatTools = tools.flatMap(responsesToolToChat);
102
103
  if (chatTools.length > 0)
103
104
  out['tools'] = chatTools;
104
105
  }
@@ -115,27 +116,69 @@ export function responsesRequestToChat(body) {
115
116
  return out;
116
117
  }
117
118
  /**
118
- * Collapse every `system`/`developer` message into a single leading `system` message, joined by a
119
- * blank line; messages whose flattened text is empty contribute nothing, and if nothing remains no
120
- * system message is emitted. Strict chat templates (notably Qwen3-family GGUFs) raise "System
121
- * message must be at the beginning" when a request carries more than one system message or places
122
- * one after the first turn — which Codex does by combining `instructions` with developer/system
123
- * input items. Order of the other messages is preserved.
119
+ * Place the `system`/`developer` messages for a strict chat template (notably Qwen3-family GGUFs,
120
+ * which raise "System message must be at the beginning" for a second system message or a later one;
121
+ * Codex sends `instructions` and developer input items). Those before the first turn become one
122
+ * leading `system` message, joined by a blank line. A later one stays where it is, as user text
123
+ * wrapped in `<system-reminder>`, so the start of the prompt does not change and llama.cpp keeps its
124
+ * prompt cache: it is put before the text of the user message that follows it, or else at the end
125
+ * of the user or tool message before it (never between a tool call and its result), or else in a
126
+ * user message of its own. Messages whose flattened text is empty contribute nothing; the order of
127
+ * the other messages is preserved.
124
128
  */
125
- export function mergeSystemMessages(messages) {
129
+ export function placeSystemMessages(messages) {
130
+ const isSystem = (msg) => {
131
+ const role = asStr(field(msg, 'role')) ?? '';
132
+ return role === 'system' || role === 'developer';
133
+ };
126
134
  const systemParts = [];
135
+ let start = 0;
136
+ for (; start < messages.length && isSystem(messages[start]); start++) {
137
+ const text = flattenContentToText(field(messages[start], 'content'));
138
+ if (text !== '')
139
+ systemParts.push(text);
140
+ }
127
141
  const rest = [];
128
- for (const msg of messages) {
129
- const role = asStr(field(msg, 'role')) ?? '';
130
- if (role === 'system' || role === 'developer') {
131
- const text = flattenContentToText(field(msg, 'content'));
132
- if (text !== '')
133
- systemParts.push(text);
142
+ let pending = [];
143
+ const flushBefore = () => {
144
+ if (pending.length === 0)
145
+ return;
146
+ const reminder = pending.join('\n\n');
147
+ pending = [];
148
+ const previous = rest.at(-1);
149
+ const role = asStr(field(previous, 'role'));
150
+ const content = field(previous, 'content');
151
+ if ((role === 'user' || role === 'tool') && typeof content === 'string' && isJsonObject(previous)) {
152
+ rest[rest.length - 1] = {
153
+ ...previous,
154
+ content: content === '' ? reminder : `${content}\n\n${reminder}`,
155
+ };
134
156
  }
135
157
  else {
136
- rest.push(msg);
158
+ rest.push({ role: 'user', content: reminder });
137
159
  }
160
+ };
161
+ for (const msg of messages.slice(start)) {
162
+ if (isSystem(msg)) {
163
+ const text = flattenContentToText(field(msg, 'content'));
164
+ if (text.trim() !== '')
165
+ pending.push(asSystemReminder(text));
166
+ continue;
167
+ }
168
+ const role = asStr(field(msg, 'role'));
169
+ const content = field(msg, 'content');
170
+ if (pending.length > 0 && role === 'user' && typeof content === 'string' && isJsonObject(msg)) {
171
+ const reminder = pending.join('\n\n');
172
+ pending = [];
173
+ rest.push({ ...msg, content: content === '' ? reminder : `${reminder}\n\n${content}` });
174
+ continue;
175
+ }
176
+ // Tool results answer the assistant's calls directly; a reminder waits until they are all in.
177
+ if (role !== 'tool')
178
+ flushBefore();
179
+ rest.push(msg);
138
180
  }
181
+ flushBefore();
139
182
  if (systemParts.length === 0)
140
183
  return rest;
141
184
  return [{ role: 'system', content: systemParts.join('\n\n') }, ...rest];
@@ -148,7 +191,10 @@ function responsesInputItemToChat(item) {
148
191
  return { role, content: flattenContentToText(field(item, 'content')) };
149
192
  }
150
193
  case 'function_call': {
151
- const name = asStr(field(item, 'name')) ?? '';
194
+ // A call Codex made in a namespace is replayed under the name the model saw for it.
195
+ const namespace = asStr(field(item, 'namespace'));
196
+ const bare = asStr(field(item, 'name')) ?? '';
197
+ const name = namespace === undefined ? bare : flatToolName(namespace, bare);
152
198
  const args = asStr(field(item, 'arguments')) ?? '{}';
153
199
  // Rust: `get("call_id").or_else(|| get("id"))` — the fallback to `id` happens only when
154
200
  // `call_id` is absent; a present non-string `call_id` (e.g. null) yields "" instead.
@@ -192,16 +238,57 @@ export function flattenContentToText(content) {
192
238
  }
193
239
  return '';
194
240
  }
195
- function responsesToolToChat(tool) {
196
- // A Responses function tool is flat: {type, name, description, parameters}. Built-in tools
197
- // (web_search, etc.) have no Chat equivalent and are dropped, as is a function without `name`.
198
- if (asStr(field(tool, 'type')) !== 'function')
199
- return undefined;
200
- const name = field(tool, 'name');
201
- if (name === undefined)
202
- return undefined;
241
+ /** Codex's own namespace for its top-level tools: a function in it is called by its plain name. */
242
+ const DEFAULT_FUNCTION_NAMESPACE = 'functions';
243
+ /**
244
+ * The chat function name for function `name` in Responses namespace `namespace`: `<ns>__<name>`, the
245
+ * way MCP tools have always been named, and the plain name in Codex's default namespace. A namespace
246
+ * that already ends in the delimiter is not given a second one.
247
+ */
248
+ export function flatToolName(namespace, name) {
249
+ if (namespace === '' || namespace === DEFAULT_FUNCTION_NAMESPACE)
250
+ return name;
251
+ return namespace.endsWith('__') ? `${namespace}${name}` : `${namespace}__${name}`;
252
+ }
253
+ function namespaceFunctions(tool) {
254
+ if (asStr(field(tool, 'type')) !== 'namespace')
255
+ return [];
256
+ const namespace = asStr(field(tool, 'name'));
257
+ const tools = field(tool, 'tools');
258
+ if (namespace === undefined || !Array.isArray(tools))
259
+ return [];
260
+ const out = [];
261
+ for (const fn of tools) {
262
+ const name = asStr(field(fn, 'name'));
263
+ if (asStr(field(fn, 'type')) === 'function' && name !== undefined)
264
+ out.push({ namespace, fn, name });
265
+ }
266
+ return out;
267
+ }
268
+ /**
269
+ * How to name a call back in the namespace it was offered in (Codex sends its MCP tools as
270
+ * `{type: "namespace", name, tools: [...]}` and runs a call only with its `namespace`). Functions in
271
+ * the default namespace need no entry: a call without one lands there.
272
+ */
273
+ export function namespacedToolNames(body) {
274
+ const names = new Map();
275
+ const tools = field(body, 'tools');
276
+ if (!Array.isArray(tools))
277
+ return names;
278
+ for (const tool of tools) {
279
+ for (const { namespace, name } of namespaceFunctions(tool)) {
280
+ const flat = flatToolName(namespace, name);
281
+ if (flat !== name && !names.has(flat))
282
+ names.set(flat, { namespace, name });
283
+ }
284
+ }
285
+ return names;
286
+ }
287
+ function functionToChat(tool, name, namespaceDescription) {
203
288
  const func = { name: clone(name) };
204
- const description = field(tool, 'description');
289
+ const own = field(tool, 'description');
290
+ // A function in a namespace that has no description of its own is described by the namespace's.
291
+ const description = (own === undefined || own === '') && namespaceDescription ? namespaceDescription : own;
205
292
  if (description !== undefined)
206
293
  func['description'] = clone(description);
207
294
  const parameters = field(tool, 'parameters');
@@ -209,13 +296,35 @@ function responsesToolToChat(tool) {
209
296
  func['parameters'] = clone(parameters);
210
297
  return { type: 'function', function: func };
211
298
  }
299
+ function responsesToolToChat(tool) {
300
+ // A namespace (Codex's MCP servers) becomes its functions, each under its flat name, described by
301
+ // its own description or else the namespace's. Its freeform tools are dropped like top-level ones.
302
+ if (asStr(field(tool, 'type')) === 'namespace') {
303
+ const described = asStr(field(tool, 'description'));
304
+ return namespaceFunctions(tool).map(({ namespace, fn, name }) => functionToChat(fn, flatToolName(namespace, name), described));
305
+ }
306
+ // A Responses function tool is flat: {type, name, description, parameters}. Built-in tools
307
+ // (web_search, etc.) have no Chat equivalent and are dropped, as is a function without `name`.
308
+ if (asStr(field(tool, 'type')) !== 'function')
309
+ return [];
310
+ const name = field(tool, 'name');
311
+ if (name === undefined)
312
+ return [];
313
+ return [functionToChat(tool, name)];
314
+ }
212
315
  function responsesToolChoiceToChat(toolChoice) {
213
316
  // "auto" | "none" | "required" pass through unchanged.
214
317
  if (typeof toolChoice === 'string')
215
318
  return toolChoice;
216
319
  if (isJsonObject(toolChoice)) {
217
320
  const name = asStr(field(toolChoice, 'name'));
218
- return name !== undefined ? { type: 'function', function: { name } } : clone(toolChoice);
321
+ const namespace = asStr(field(toolChoice, 'namespace'));
322
+ if (name === undefined)
323
+ return clone(toolChoice);
324
+ return {
325
+ type: 'function',
326
+ function: { name: namespace === undefined ? name : flatToolName(namespace, name) },
327
+ };
219
328
  }
220
329
  return 'auto';
221
330
  }
@@ -236,21 +345,31 @@ function responsesTextFormatToChat(format) {
236
345
  return undefined;
237
346
  }
238
347
  }
239
- /** Map a Chat Completions `usage` block to the Responses `usage` shape. */
348
+ /**
349
+ * Map a Chat Completions `usage` block to the Responses `usage` shape. The cached part of the prompt
350
+ * is carried over (llama.cpp reports it as `prompt_tokens_details.cached_tokens`); Codex shows it and
351
+ * counts it, so a hard-coded 0 read as "nothing cached" on every turn.
352
+ */
240
353
  function mapUsage(usage) {
241
354
  const input = asU64(field(usage, 'prompt_tokens')) ?? 0;
242
355
  const output = asU64(field(usage, 'completion_tokens')) ?? 0;
243
356
  const total = asU64(field(usage, 'total_tokens')) ?? input + output;
357
+ const cached = asU64(field(field(usage, 'prompt_tokens_details'), 'cached_tokens')) ?? 0;
244
358
  return {
245
359
  input_tokens: input,
246
- input_tokens_details: { cached_tokens: 0 },
360
+ input_tokens_details: { cached_tokens: cached },
247
361
  output_tokens: output,
248
362
  output_tokens_details: { reasoning_tokens: 0 },
249
363
  total_tokens: total,
250
364
  };
251
365
  }
366
+ /** A call's `name`, and its `namespace` when the request offered it in one. */
367
+ function callName(name, names) {
368
+ const named = typeof name === 'string' ? names?.get(name) : undefined;
369
+ return named === undefined ? { name } : { name: named.name, namespace: named.namespace };
370
+ }
252
371
  /** Build the `output` array (assistant message, then function_call items) from a Chat message. */
253
- function messageToOutputItems(message) {
372
+ function messageToOutputItems(message, names) {
254
373
  const output = [];
255
374
  if (message === undefined)
256
375
  return output;
@@ -274,7 +393,7 @@ function messageToOutputItems(message) {
274
393
  type: 'function_call',
275
394
  id: newFcId(),
276
395
  call_id: asStr(field(tc, 'id')) ?? '',
277
- name: name === undefined ? '' : clone(name),
396
+ ...callName(name === undefined ? '' : clone(name), names),
278
397
  arguments: asStr(field(fn, 'arguments')) ?? '',
279
398
  status: 'completed',
280
399
  });
@@ -287,13 +406,15 @@ function messageToOutputItems(message) {
287
406
  * is used, `finish_reason` is ignored (status is always "completed"), and a present `usage` — even
288
407
  * `null` — is mapped, so `usage: null` becomes an all-zero usage block; only an absent one is null.
289
408
  */
290
- export function chatResponseToResponses(chat, responseId, modelFallback) {
409
+ export function chatResponseToResponses(chat, responseId, modelFallback,
410
+ /** The request's namespaced functions (`namespacedToolNames`), whose calls are named back. */
411
+ names) {
291
412
  const model = asStr(field(chat, 'model')) ?? modelFallback;
292
413
  const created = asU64(field(chat, 'created')) ?? 0;
293
414
  const choices = field(chat, 'choices');
294
415
  const first = Array.isArray(choices) ? choices[0] : undefined;
295
416
  const message = field(first, 'message');
296
- const output = messageToOutputItems(message);
417
+ const output = messageToOutputItems(message, names);
297
418
  const usage = field(chat, 'usage');
298
419
  return {
299
420
  id: responseId,
@@ -329,9 +450,12 @@ export class ResponsesStreamConverter {
329
450
  text = '';
330
451
  // tool calls keyed by the Chat `tool_calls[].index`
331
452
  tools = new Map();
332
- constructor(responseId, model) {
453
+ names;
454
+ /** `names`: the request's namespaced functions (`namespacedToolNames`), whose calls are named back. */
455
+ constructor(responseId, model, names) {
333
456
  this.responseId = responseId;
334
457
  this.model = model;
458
+ this.names = names;
335
459
  }
336
460
  nextSeq() {
337
461
  return this.seq++;
@@ -439,7 +563,7 @@ export class ResponsesStreamConverter {
439
563
  id: acc.itemId,
440
564
  status: 'in_progress',
441
565
  call_id: acc.callId,
442
- name: acc.name,
566
+ ...callName(acc.name, this.names),
443
567
  arguments: '',
444
568
  },
445
569
  });
@@ -518,7 +642,7 @@ export class ResponsesStreamConverter {
518
642
  id: acc.itemId,
519
643
  status: 'completed',
520
644
  call_id: acc.callId,
521
- name: acc.name,
645
+ ...callName(acc.name, this.names),
522
646
  arguments: acc.args,
523
647
  });
524
648
  events.push({
@@ -1 +1 @@
1
- {"version":3,"file":"responses.js","sourceRoot":"","sources":["../../../src/server/shims/responses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"responses.js","sourceRoot":"","sources":["../../../src/server/shims/responses.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * One-time moves of stored values from a default core no longer ships to the new one.
3
+ *
4
+ * `settings.json` stores every provider value, defaults included (`SettingsStore.open` writes a fresh
5
+ * file in full), so a changed schema default would otherwise reach new installs only. A migration
6
+ * moves a stored value that still equals the old default to the new one, once: its id is then recorded
7
+ * under `state.default_migrations`, and a value the user sets afterwards — the old default included —
8
+ * stays. A value the user had already moved off the old default is never touched; one the user had
9
+ * chosen to be exactly the old default cannot be told apart from it and moves too, as the app's own
10
+ * default migrations (`migrateFitDefaultOn`) have always done.
11
+ */
12
+ import type { LocalProviderId } from '../contracts/index.js';
13
+ export interface DefaultMigration {
14
+ id: string;
15
+ providers: readonly LocalProviderId[];
16
+ key: string;
17
+ from: unknown;
18
+ to: unknown;
19
+ }
20
+ /** Integrations audit 2026-11-03 (S2, S3, X6, P3); the reasons sit beside each new default in code. */
21
+ export declare const DEFAULT_MIGRATIONS: readonly DefaultMigration[];
22
+ /** Where the ids of the migrations already applied are kept. */
23
+ export declare const DEFAULT_MIGRATIONS_STATE_KEY = "default_migrations";
24
+ export interface DefaultMigrationOutcome {
25
+ /** `<provider>.<key>` of every value moved. */
26
+ moved: string[];
27
+ /** Ids recorded now; non-empty means the document changed even when no value did. */
28
+ recorded: string[];
29
+ }
30
+ /**
31
+ * Apply every migration not yet recorded to `providers`, and record it. Mutates both arguments;
32
+ * `state` is the document's `state` section.
33
+ */
34
+ export declare function applyDefaultMigrations(providers: Record<string, unknown>, state: Record<string, unknown>, migrations?: readonly DefaultMigration[]): DefaultMigrationOutcome;
@@ -0,0 +1,47 @@
1
+ import { jsonEqual } from './import.js';
2
+ const LLAMACPP = ['llamacpp-upstream', 'llamacpp', 'atomic-prism'];
3
+ /** Integrations audit 2026-11-03 (S2, S3, X6, P3); the reasons sit beside each new default in code. */
4
+ export const DEFAULT_MIGRATIONS = [
5
+ // Two slots over one unified KV pool (args.ts): side requests no longer wait behind an agent turn.
6
+ { id: 'llamacpp-parallel-2', providers: LLAMACPP, key: 'parallel', from: 1, to: 2 },
7
+ // llama.cpp always batched continuously; the setting now says so, and its "off" is sent (args.ts).
8
+ { id: 'llamacpp-cont-batching-on', providers: LLAMACPP, key: 'cont_batching', from: false, to: true },
9
+ // 0 is the automatic answer cap (generation-limits.ts); -1 stays "no limit" for whoever sets it.
10
+ { id: 'llamacpp-n-predict-auto', providers: LLAMACPP, key: 'n_predict', from: -1, to: 0 },
11
+ // 0 is the automatic window and request count of a managed engine (auto-limits.ts).
12
+ { id: 'vllm-auto-context', providers: ['vllm'], key: 'context_length', from: 8192, to: 0 },
13
+ { id: 'vllm-auto-seqs', providers: ['vllm'], key: 'max_num_seqs', from: 1, to: 0 },
14
+ { id: 'sglang-auto-context', providers: ['sglang'], key: 'context_length', from: 8192, to: 0 },
15
+ { id: 'sglang-auto-requests', providers: ['sglang'], key: 'max_running_requests', from: 1, to: 0 },
16
+ ];
17
+ /** Where the ids of the migrations already applied are kept. */
18
+ export const DEFAULT_MIGRATIONS_STATE_KEY = 'default_migrations';
19
+ /**
20
+ * Apply every migration not yet recorded to `providers`, and record it. Mutates both arguments;
21
+ * `state` is the document's `state` section.
22
+ */
23
+ export function applyDefaultMigrations(providers, state, migrations = DEFAULT_MIGRATIONS) {
24
+ const raw = state[DEFAULT_MIGRATIONS_STATE_KEY];
25
+ const done = new Set(Array.isArray(raw) ? raw.filter((id) => typeof id === 'string') : []);
26
+ const outcome = { moved: [], recorded: [] };
27
+ for (const migration of migrations) {
28
+ if (done.has(migration.id))
29
+ continue;
30
+ for (const provider of migration.providers) {
31
+ const section = providers[provider];
32
+ if (typeof section !== 'object' || section === null || Array.isArray(section))
33
+ continue;
34
+ const values = section;
35
+ if (migration.key in values && jsonEqual(values[migration.key], migration.from)) {
36
+ values[migration.key] = structuredClone(migration.to);
37
+ outcome.moved.push(`${provider}.${migration.key}`);
38
+ }
39
+ }
40
+ done.add(migration.id);
41
+ outcome.recorded.push(migration.id);
42
+ }
43
+ if (outcome.recorded.length > 0)
44
+ state[DEFAULT_MIGRATIONS_STATE_KEY] = [...done];
45
+ return outcome;
46
+ }
47
+ //# sourceMappingURL=default-migrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-migrations.js","sourceRoot":"","sources":["../../src/settings/default-migrations.ts"],"names":[],"mappings":"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"}
@@ -54,11 +54,11 @@
54
54
  {
55
55
  "key": "parallel",
56
56
  "title": "Parallel Sequences",
57
- "description": "Number of parallel sequences to decode (0 = llama.cpp default of 1). Set to 1 to also enable -kvu for optimized single-request serving. Ignored when Concurrent Mode is on.",
57
+ "description": "Requests served at once (0 = llama.cpp's own choice). Every slot shares one KV cache of the whole context window (-kvu), so a second slot costs no extra window memory and a title or side request no longer waits behind a long agent turn. The slots share that window: one long request can still use all of it, and slots that outgrow it together are stopped. Ignored when Concurrent Mode is on.",
58
58
  "controllerType": "input",
59
59
  "controllerProps": {
60
- "value": 1,
61
- "placeholder": "1",
60
+ "value": 2,
61
+ "placeholder": "2",
62
62
  "type": "number",
63
63
  "textAlign": "right",
64
64
  "min": 0
@@ -67,10 +67,10 @@
67
67
  {
68
68
  "key": "cont_batching",
69
69
  "title": "Continuous Batching",
70
- "description": "Enable continuous batching (a.k.a dynamic batching) for concurrent requests.",
70
+ "description": "Let new requests join a generation already running instead of waiting for it (llama.cpp's default). Off sends --no-cont-batching: requests then run one at a time even with several parallel sequences.",
71
71
  "controllerType": "checkbox",
72
72
  "controllerProps": {
73
- "value": false
73
+ "value": true
74
74
  }
75
75
  },
76
76
  {
@@ -187,13 +187,27 @@
187
187
  {
188
188
  "key": "n_predict",
189
189
  "title": "Max Tokens to Predict",
190
- "description": "Maximum number of tokens to generate (-1 = infinity).",
190
+ "description": "Maximum tokens one answer may generate when the request sets no max_tokens of its own. 0 = automatic: 16384, never more than the context window. -1 = no limit (a client that sets none then generates until the context is full).",
191
191
  "controllerType": "input",
192
192
  "controllerProps": {
193
- "value": -1,
194
- "placeholder": "-1",
193
+ "value": 0,
194
+ "placeholder": "0",
195
195
  "type": "number",
196
- "textAlign": "right"
196
+ "textAlign": "right",
197
+ "min": -1
198
+ }
199
+ },
200
+ {
201
+ "key": "reasoning_budget",
202
+ "title": "Reasoning Budget",
203
+ "description": "Thinking tokens a thinking model may spend on a request that sets no budget of its own; when they run out it is told to answer from what it has. -1 = no limit, 0 = no thinking. Needs llama.cpp b8287 or newer.",
204
+ "controllerType": "input",
205
+ "controllerProps": {
206
+ "value": 8192,
207
+ "placeholder": "8192",
208
+ "type": "number",
209
+ "textAlign": "right",
210
+ "min": -1
197
211
  }
198
212
  },
199
213
  {
@@ -84,11 +84,11 @@
84
84
  {
85
85
  "key": "parallel",
86
86
  "title": "Parallel Sequences",
87
- "description": "Number of parallel sequences to decode (0 = llama.cpp default of 1). Set to 1 to also enable -kvu for optimized single-request serving. Ignored when Concurrent Mode is on.",
87
+ "description": "Requests served at once (0 = llama.cpp's own choice). Every slot shares one KV cache of the whole context window (-kvu), so a second slot costs no extra window memory and a title or side request no longer waits behind a long agent turn. The slots share that window: one long request can still use all of it, and slots that outgrow it together are stopped. Ignored when Concurrent Mode is on.",
88
88
  "controllerType": "input",
89
89
  "controllerProps": {
90
- "value": 1,
91
- "placeholder": "1",
90
+ "value": 2,
91
+ "placeholder": "2",
92
92
  "type": "number",
93
93
  "textAlign": "right",
94
94
  "min": 0
@@ -97,10 +97,10 @@
97
97
  {
98
98
  "key": "cont_batching",
99
99
  "title": "Continuous Batching",
100
- "description": "Enable continuous batching (a.k.a dynamic batching) for concurrent requests.",
100
+ "description": "Let new requests join a generation already running instead of waiting for it (llama.cpp's default). Off sends --no-cont-batching: requests then run one at a time even with several parallel sequences.",
101
101
  "controllerType": "checkbox",
102
102
  "controllerProps": {
103
- "value": false
103
+ "value": true
104
104
  }
105
105
  },
106
106
  {
@@ -217,13 +217,27 @@
217
217
  {
218
218
  "key": "n_predict",
219
219
  "title": "Max Tokens to Predict",
220
- "description": "Maximum number of tokens to generate (-1 = infinity).",
220
+ "description": "Maximum tokens one answer may generate when the request sets no max_tokens of its own. 0 = automatic: 16384, never more than the context window. -1 = no limit (a client that sets none then generates until the context is full).",
221
221
  "controllerType": "input",
222
222
  "controllerProps": {
223
- "value": -1,
224
- "placeholder": "-1",
223
+ "value": 0,
224
+ "placeholder": "0",
225
225
  "type": "number",
226
- "textAlign": "right"
226
+ "textAlign": "right",
227
+ "min": -1
228
+ }
229
+ },
230
+ {
231
+ "key": "reasoning_budget",
232
+ "title": "Reasoning Budget",
233
+ "description": "Thinking tokens a thinking model may spend on a request that sets no budget of its own; when they run out it is told to answer from what it has. -1 = no limit, 0 = no thinking. Needs llama.cpp b8287 or newer.",
234
+ "controllerType": "input",
235
+ "controllerProps": {
236
+ "value": 8192,
237
+ "placeholder": "8192",
238
+ "type": "number",
239
+ "textAlign": "right",
240
+ "min": -1
227
241
  }
228
242
  },
229
243
  {