@atomic-chat/core 0.20.6 → 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.
Files changed (226) hide show
  1. package/dist/audio/jobs.js +4 -0
  2. package/dist/audio/jobs.js.map +1 -1
  3. package/dist/audio/service.d.ts +1 -1
  4. package/dist/audio/service.js +3 -1
  5. package/dist/audio/service.js.map +1 -1
  6. package/dist/audio/session.js +28 -16
  7. package/dist/audio/session.js.map +1 -1
  8. package/dist/audio/state.d.ts +3 -1
  9. package/dist/audio/state.js +3 -1
  10. package/dist/audio/state.js.map +1 -1
  11. package/dist/cli/launch.d.ts +23 -3
  12. package/dist/cli/launch.js +59 -8
  13. package/dist/cli/launch.js.map +1 -1
  14. package/dist/cli/main.d.ts +1 -1
  15. package/dist/contracts/events.d.ts +8 -0
  16. package/dist/contracts/settings.d.ts +5 -0
  17. package/dist/contracts/settings.js.map +1 -1
  18. package/dist/core/atomic-core.d.ts +3 -1
  19. package/dist/core/atomic-core.js +4 -1
  20. package/dist/core/atomic-core.js.map +1 -1
  21. package/dist/core/create.js +4 -1
  22. package/dist/core/create.js.map +1 -1
  23. package/dist/core/sessions.js +1 -0
  24. package/dist/core/sessions.js.map +1 -1
  25. package/dist/integrations/catalog.d.ts +25 -8
  26. package/dist/integrations/catalog.js +105 -38
  27. package/dist/integrations/catalog.js.map +1 -1
  28. package/dist/integrations/configure/atomic-agent.d.ts +9 -1
  29. package/dist/integrations/configure/atomic-agent.js +42 -3
  30. package/dist/integrations/configure/atomic-agent.js.map +1 -1
  31. package/dist/integrations/configure/backup.d.ts +21 -0
  32. package/dist/integrations/configure/backup.js +52 -0
  33. package/dist/integrations/configure/backup.js.map +1 -0
  34. package/dist/integrations/configure/claude-code.d.ts +11 -4
  35. package/dist/integrations/configure/claude-code.js +73 -24
  36. package/dist/integrations/configure/claude-code.js.map +1 -1
  37. package/dist/integrations/configure/cline.d.ts +14 -4
  38. package/dist/integrations/configure/cline.js +78 -6
  39. package/dist/integrations/configure/cline.js.map +1 -1
  40. package/dist/integrations/configure/codex.d.ts +5 -3
  41. package/dist/integrations/configure/codex.js +12 -5
  42. package/dist/integrations/configure/codex.js.map +1 -1
  43. package/dist/integrations/configure/copilot.d.ts +28 -5
  44. package/dist/integrations/configure/copilot.js +124 -8
  45. package/dist/integrations/configure/copilot.js.map +1 -1
  46. package/dist/integrations/configure/droid.d.ts +13 -7
  47. package/dist/integrations/configure/droid.js +48 -17
  48. package/dist/integrations/configure/droid.js.map +1 -1
  49. package/dist/integrations/configure/dsh.d.ts +36 -20
  50. package/dist/integrations/configure/dsh.js +250 -48
  51. package/dist/integrations/configure/dsh.js.map +1 -1
  52. package/dist/integrations/configure/goose.d.ts +21 -7
  53. package/dist/integrations/configure/goose.js +141 -10
  54. package/dist/integrations/configure/goose.js.map +1 -1
  55. package/dist/integrations/configure/hermes.d.ts +63 -10
  56. package/dist/integrations/configure/hermes.js +360 -75
  57. package/dist/integrations/configure/hermes.js.map +1 -1
  58. package/dist/integrations/configure/json-backup.d.ts +73 -0
  59. package/dist/integrations/configure/json-backup.js +292 -0
  60. package/dist/integrations/configure/json-backup.js.map +1 -0
  61. package/dist/integrations/configure/json-key-backup.d.ts +43 -0
  62. package/dist/integrations/configure/json-key-backup.js +113 -0
  63. package/dist/integrations/configure/json-key-backup.js.map +1 -0
  64. package/dist/integrations/configure/kilo.d.ts +4 -4
  65. package/dist/integrations/configure/kilo.js +6 -9
  66. package/dist/integrations/configure/kilo.js.map +1 -1
  67. package/dist/integrations/configure/legacy-env-block.d.ts +18 -0
  68. package/dist/integrations/configure/legacy-env-block.js +47 -0
  69. package/dist/integrations/configure/legacy-env-block.js.map +1 -0
  70. package/dist/integrations/configure/mimo.d.ts +3 -2
  71. package/dist/integrations/configure/mimo.js +8 -9
  72. package/dist/integrations/configure/mimo.js.map +1 -1
  73. package/dist/integrations/configure/muse.d.ts +3 -3
  74. package/dist/integrations/configure/muse.js +5 -6
  75. package/dist/integrations/configure/muse.js.map +1 -1
  76. package/dist/integrations/configure/openclaude.d.ts +22 -7
  77. package/dist/integrations/configure/openclaude.js +132 -39
  78. package/dist/integrations/configure/openclaude.js.map +1 -1
  79. package/dist/integrations/configure/openclaw.d.ts +19 -5
  80. package/dist/integrations/configure/openclaw.js +79 -23
  81. package/dist/integrations/configure/openclaw.js.map +1 -1
  82. package/dist/integrations/configure/opencode-style.d.ts +53 -11
  83. package/dist/integrations/configure/opencode-style.js +218 -23
  84. package/dist/integrations/configure/opencode-style.js.map +1 -1
  85. package/dist/integrations/configure/opencode.d.ts +5 -4
  86. package/dist/integrations/configure/opencode.js +8 -10
  87. package/dist/integrations/configure/opencode.js.map +1 -1
  88. package/dist/integrations/configure/openhands.d.ts +5 -4
  89. package/dist/integrations/configure/openhands.js +7 -7
  90. package/dist/integrations/configure/openhands.js.map +1 -1
  91. package/dist/integrations/configure/pi.d.ts +6 -5
  92. package/dist/integrations/configure/pi.js +79 -30
  93. package/dist/integrations/configure/pi.js.map +1 -1
  94. package/dist/integrations/configure/poolside.d.ts +5 -4
  95. package/dist/integrations/configure/poolside.js +7 -7
  96. package/dist/integrations/configure/poolside.js.map +1 -1
  97. package/dist/integrations/configure/registry.d.ts +6 -0
  98. package/dist/integrations/configure/registry.js +1 -0
  99. package/dist/integrations/configure/registry.js.map +1 -1
  100. package/dist/integrations/configure/zcode.d.ts +6 -7
  101. package/dist/integrations/configure/zcode.js +26 -11
  102. package/dist/integrations/configure/zcode.js.map +1 -1
  103. package/dist/integrations/configure/zed.d.ts +16 -4
  104. package/dist/integrations/configure/zed.js +61 -13
  105. package/dist/integrations/configure/zed.js.map +1 -1
  106. package/dist/models/gguf/kv-cache.d.ts +20 -1
  107. package/dist/models/gguf/kv-cache.js +97 -7
  108. package/dist/models/gguf/kv-cache.js.map +1 -1
  109. package/dist/models/gguf/reader.d.ts +5 -3
  110. package/dist/models/gguf/reader.js +10 -6
  111. package/dist/models/gguf/reader.js.map +1 -1
  112. package/dist/runtime/llamacpp/args.d.ts +14 -0
  113. package/dist/runtime/llamacpp/args.js +48 -4
  114. package/dist/runtime/llamacpp/args.js.map +1 -1
  115. package/dist/runtime/llamacpp/ctx-ladder.d.ts +6 -3
  116. package/dist/runtime/llamacpp/ctx-ladder.js +6 -3
  117. package/dist/runtime/llamacpp/ctx-ladder.js.map +1 -1
  118. package/dist/runtime/llamacpp/fit-margin.d.ts +24 -0
  119. package/dist/runtime/llamacpp/fit-margin.js +31 -0
  120. package/dist/runtime/llamacpp/fit-margin.js.map +1 -1
  121. package/dist/runtime/llamacpp/generation-limits.d.ts +45 -0
  122. package/dist/runtime/llamacpp/generation-limits.js +61 -0
  123. package/dist/runtime/llamacpp/generation-limits.js.map +1 -0
  124. package/dist/runtime/llamacpp/load-plan.d.ts +14 -2
  125. package/dist/runtime/llamacpp/load-plan.js +64 -13
  126. package/dist/runtime/llamacpp/load-plan.js.map +1 -1
  127. package/dist/runtime/llamacpp/runtime.d.ts +1 -0
  128. package/dist/runtime/llamacpp/runtime.js +2 -0
  129. package/dist/runtime/llamacpp/runtime.js.map +1 -1
  130. package/dist/runtime/managed-engines/runtime.js +13 -2
  131. package/dist/runtime/managed-engines/runtime.js.map +1 -1
  132. package/dist/runtime/managed-engines/spec.d.ts +6 -0
  133. package/dist/runtime/managed-engines/spec.js.map +1 -1
  134. package/dist/runtime/managed-models/auto-limits.d.ts +47 -0
  135. package/dist/runtime/managed-models/auto-limits.js +60 -0
  136. package/dist/runtime/managed-models/auto-limits.js.map +1 -0
  137. package/dist/runtime/managed-models/index.d.ts +1 -0
  138. package/dist/runtime/managed-models/index.js +1 -0
  139. package/dist/runtime/managed-models/index.js.map +1 -1
  140. package/dist/runtime/mlx/config.d.ts +9 -5
  141. package/dist/runtime/mlx/config.js +12 -6
  142. package/dist/runtime/mlx/config.js.map +1 -1
  143. package/dist/runtime/mlx/model-files.d.ts +9 -0
  144. package/dist/runtime/mlx/model-files.js +26 -0
  145. package/dist/runtime/mlx/model-files.js.map +1 -1
  146. package/dist/runtime/mlx/runtime.d.ts +7 -0
  147. package/dist/runtime/mlx/runtime.js +24 -2
  148. package/dist/runtime/mlx/runtime.js.map +1 -1
  149. package/dist/runtime/sglang/adapter.d.ts +4 -0
  150. package/dist/runtime/sglang/adapter.js +9 -6
  151. package/dist/runtime/sglang/adapter.js.map +1 -1
  152. package/dist/runtime/sglang/engine.js +2 -1
  153. package/dist/runtime/sglang/engine.js.map +1 -1
  154. package/dist/runtime/sglang/memory.d.ts +11 -1
  155. package/dist/runtime/sglang/memory.js +34 -3
  156. package/dist/runtime/sglang/memory.js.map +1 -1
  157. package/dist/runtime/sglang/settings.d.ts +2 -1
  158. package/dist/runtime/sglang/settings.js +11 -7
  159. package/dist/runtime/sglang/settings.js.map +1 -1
  160. package/dist/runtime/vllm/adapter.d.ts +4 -0
  161. package/dist/runtime/vllm/adapter.js +9 -6
  162. package/dist/runtime/vllm/adapter.js.map +1 -1
  163. package/dist/runtime/vllm/engine.js +1 -0
  164. package/dist/runtime/vllm/engine.js.map +1 -1
  165. package/dist/runtime/vllm/memory.d.ts +12 -1
  166. package/dist/runtime/vllm/memory.js +44 -2
  167. package/dist/runtime/vllm/memory.js.map +1 -1
  168. package/dist/runtime/vllm/settings.d.ts +2 -1
  169. package/dist/runtime/vllm/settings.js +12 -7
  170. package/dist/runtime/vllm/settings.js.map +1 -1
  171. package/dist/server/public/context-window.d.ts +29 -0
  172. package/dist/server/public/context-window.js +77 -0
  173. package/dist/server/public/context-window.js.map +1 -0
  174. package/dist/server/public/decision-preview.js +1 -0
  175. package/dist/server/public/decision-preview.js.map +1 -1
  176. package/dist/server/public/errors.d.ts +15 -4
  177. package/dist/server/public/errors.js +53 -7
  178. package/dist/server/public/errors.js.map +1 -1
  179. package/dist/server/public/forward.js +65 -5
  180. package/dist/server/public/forward.js.map +1 -1
  181. package/dist/server/public/index.d.ts +1 -0
  182. package/dist/server/public/index.js +1 -0
  183. package/dist/server/public/index.js.map +1 -1
  184. package/dist/server/public/listing.d.ts +9 -2
  185. package/dist/server/public/listing.js +30 -9
  186. package/dist/server/public/listing.js.map +1 -1
  187. package/dist/server/public/responses.js +9 -5
  188. package/dist/server/public/responses.js.map +1 -1
  189. package/dist/server/public/system-messages.d.ts +39 -0
  190. package/dist/server/public/system-messages.js +166 -0
  191. package/dist/server/public/system-messages.js.map +1 -0
  192. package/dist/server/public/telemetry.d.ts +9 -0
  193. package/dist/server/public/telemetry.js +42 -6
  194. package/dist/server/public/telemetry.js.map +1 -1
  195. package/dist/server/public/thinking.d.ts +26 -0
  196. package/dist/server/public/thinking.js +62 -0
  197. package/dist/server/public/thinking.js.map +1 -0
  198. package/dist/server/public/trace.d.ts +8 -0
  199. package/dist/server/public/trace.js +17 -0
  200. package/dist/server/public/trace.js.map +1 -1
  201. package/dist/server/public/types.d.ts +8 -0
  202. package/dist/server/shims/index.d.ts +1 -0
  203. package/dist/server/shims/index.js +1 -0
  204. package/dist/server/shims/index.js.map +1 -1
  205. package/dist/server/shims/reminders.d.ts +8 -0
  206. package/dist/server/shims/reminders.js +14 -0
  207. package/dist/server/shims/reminders.js.map +1 -0
  208. package/dist/server/shims/responses.d.ts +33 -9
  209. package/dist/server/shims/responses.js +160 -36
  210. package/dist/server/shims/responses.js.map +1 -1
  211. package/dist/settings/default-migrations.d.ts +34 -0
  212. package/dist/settings/default-migrations.js +47 -0
  213. package/dist/settings/default-migrations.js.map +1 -0
  214. package/dist/settings/schema/atomic-prism.json +23 -9
  215. package/dist/settings/schema/llamacpp-upstream.json +23 -9
  216. package/dist/settings/schema/llamacpp.json +23 -9
  217. package/dist/settings/schema/sglang.json +8 -8
  218. package/dist/settings/schema/vllm.json +8 -8
  219. package/dist/settings/schema.js +1 -0
  220. package/dist/settings/schema.js.map +1 -1
  221. package/dist/settings/store.d.ts +6 -0
  222. package/dist/settings/store.js +18 -1
  223. package/dist/settings/store.js.map +1 -1
  224. package/dist/version.d.ts +1 -1
  225. package/dist/version.js +1 -1
  226. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/public/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAerC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEtE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC9E,OAAO,EACL,kBAAkB,EAClB,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,cAAc,EACd,YAAY,EACZ,SAAS,GACV,MAAM,WAAW,CAAA;AAGlB,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAA;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAA;AAC9C,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAA;AAC1C,yDAAyD;AACzD,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAA;AAmB7C,+FAA+F;AAC/F,MAAM,eAAe,GAA2B;IAC9C,GAAG,EAAE,KAAK;IACV,eAAe,EAAE,KAAK;IACtB,sBAAsB,EAAE,KAAK;IAC7B,4BAA4B,EAAE,KAAK;IACnC,SAAS,EAAE,KAAK;IAChB,UAAU,EAAE,KAAK;IACjB,mBAAmB,EAAE,KAAK;IAC1B,WAAW,EAAE,MAAM;IACnB,mBAAmB,EAAE,MAAM;IAC3B,YAAY,EAAE,MAAM;IACpB,cAAc,EAAE,MAAM;IACtB,aAAa,EAAE,MAAM;IACrB,wBAAwB,EAAE,MAAM;IAChC,qBAAqB,EAAE,MAAM;IAC7B,eAAe,EAAE,MAAM;IACvB,eAAe,EAAE,MAAM;IACvB,YAAY,EAAE,MAAM;IACpB,eAAe,EAAE,MAAM;CACxB,CAAA;AAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;IACxB,WAAW;IACX,mBAAmB;IACnB,cAAc;IACd,aAAa;IACb,wBAAwB;CACzB,CAAC,CAAA;AAEF,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;IAC7B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,EAAE,CAAA;IAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAA;IACnE,OAAO,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACrE,CAAC;AAED,2FAA2F;AAC3F,SAAS,WAAW,CAAC,GAAuB;IAC1C,IAAI,MAAM,GAAG,GAAG,IAAI,GAAG,CAAA;IACvB,MAAM,MAAM,GAAG,+BAA+B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3D,IAAI,MAAM;QAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAA;IAC1D,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;AAC7C,CAAC;AAED,0GAA0G;AAC1G,SAAS,SAAS,CAChB,GAAoB,EACpB,QAA4B,EAC5B,IAAsB;IAEtB,6FAA6F;IAC7F,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,CAAA;IAC7B,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;IACzE,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;AACvG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAoB,EACpB,GAAmB,EACnB,QAA4B,EAC5B,IAAsB;IAEtB,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,EAAE,IAAI,CAAC,CAAA;IACzD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACjB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IAE7C,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7B,gFAAgF;QAChF,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;QACrB,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAChC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QAC3C,OAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IACvC,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;aAC/C,CAAC;YACJ,KAAK,CAAC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;YACvC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAA;QACxC,CAAC;QACD,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QAC7D,OAAM;IACR,CAAC;IAED,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAC3D,IAAI,EAAE,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACzB,IAAI,IAAI,KAAK,YAAY;YAAE,OAAO,cAAc,CAAC,EAAE,CAAC,CAAA;QACpD,8FAA8F;QAC9F,0EAA0E;QAC1E,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,wBAAwB,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACpG,OAAM;QACR,kGAAkG;QAClG,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,qBAAqB,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAAE,OAAM;QACzG,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,YAAY,CAAC,EAAE,CAAC,CAAA;QAChD,+FAA+F;QAC/F,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACnC,KAAK,CAAC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;YACvC,OAAO,sBAAsB,CAAC,EAAE,CAAC,CAAA;QACnC,CAAC;QACD,uGAAuG;QACvG,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YAC7B,KAAK,CAAC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;YACvC,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAA;QAC7B,CAAC;QACD,+FAA+F;QAC/F,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YAC7B,KAAK,CAAC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;YACvC,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAA;QAC7B,CAAC;QACD,oFAAoF;QACpF,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC;YACzC,KAAK,CAAC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;YACvC,OAAO,aAAa,CAAC,EAAE,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IACD,IAAI,EAAE,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QACxB,uFAAuF;QACvF,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9E,KAAK,CAAC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;YACvC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;QACvB,CAAC;QACD,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,WAAW,CAAC,EAAE,CAAC,CAAA;QAC9C,IAAI,IAAI,KAAK,mBAAmB;YAAE,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAA;QAC7D,IAAI,IAAI,KAAK,UAAU;YAAE,OAAO,YAAY,CAAC,EAAE,CAAC,CAAA;QAChD,IAAI,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;YACpB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;YACrB,OAAM;QACR,CAAC;IACH,CAAC;IAED,+FAA+F;IAC/F,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;IAClC,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACvC,OAAO,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAC/B,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IACrC,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACvC,KAAK,CAAC,SAAS,GAAG,oBAAoB,CAAA;QACtC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;QAC3D,OAAM;IACR,CAAC;IACD,mFAAmF;IACnF,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;IACrB,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,OAAO,YAAY;IAEJ;IACA;IACA;IAHnB,YACmB,MAAc,EACd,MAA0B,EAC1B,OAA6C;QAF7C,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAoB;QAC1B,YAAO,GAAP,OAAO,CAAsC;IAC7D,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAsB,EAAE,UAA+B,EAAE;QAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,mBAAmB,CAAA;QAChD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,mBAAmB,CAAA;QAChD,8FAA8F;QAC9F,MAAM,MAAM,GAAuB;YACjC,IAAI;YACJ,IAAI;YACJ,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,IAAI,qBAAqB,CAAC;YAChE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;YAC5B,YAAY,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;YAC/C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,0BAA0B;SACzE,CAAA;QACD,iGAAiG;QACjG,kDAAkD;QAClD,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACrE,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE;gBAC/D,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;gBACnG,IAAI,GAAG,CAAC,WAAW;oBAAE,GAAG,CAAC,OAAO,CAAC,CAAU,CAAC,CAAA;;oBACvC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,uBAAuB,CAAC,CAAA;YACvD,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,CAAC,QAAgB,EAAE,EAAE,CAClC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpC,MAAM,OAAO,GAAG,CAAC,CAAwB,EAAE,EAAE;gBAC3C,MAAM,CACJ,CAAC,CAAC,IAAI,KAAK,YAAY;oBACrB,CAAC,CAAC,IAAI,eAAe,CAAC,UAAU,EAAE,QAAQ,QAAQ,qBAAqB,EAAE,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC/F,CAAC,CAAC,CAAC,CACN,CAAA;YACH,CAAC,CAAA;YACD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC7B,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE;gBACjC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;gBAC5B,OAAO,EAAE,CAAA;YACX,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QACJ,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAA;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,KAAK,CAAC;gBAAE,MAAM,CAAC,CAAA;YAChD,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAe,EAAE,EAAE;gBACxC,MAAM,IAAI,eAAe,CACvB,UAAU,EACV,oBAAoB,IAAI,IAAI,IAAI,+BAA+B,EAC/D,GAAI,CAAW,CAAC,OAAO,eAAe,QAAQ,CAAC,OAAO,EAAE,CACzD,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAChC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO;YAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACtE,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IACvD,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;IACzB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;IACzB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED,IAAI,GAAG;QACL,OAAO,UAAU,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IACzD,CAAC;IAED,KAAK;QACH,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,gBAAgB,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YACjF,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,CAAA;QACnC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IAC1E,CAAC;CACF;AAED,MAAM,UAAU,YAAY,CAAC,QAA8B;IACzD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,QAAQ,EAAE,IAAI,IAAI,mBAAmB;QAC3C,IAAI,EAAE,QAAQ,EAAE,IAAI,IAAI,mBAAmB;QAC3C,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,qBAAqB;QACjD,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,IAAI,KAAK;QACrD,GAAG,EAAE,IAAI;KACV,CAAA;AACH,CAAC"}
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
- export declare function serveModels(ex: Exchange): void;
28
- export declare function serveMuseCatalog(ex: Exchange): void;
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. The
15
- * server does not know a session's real window, so these under-estimate on purpose: guessing low
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
- models.push({ id, ownedBy: 'remote', muse: {} });
70
+ remote.push({ id, ownedBy: 'remote', muse: {} });
68
71
  }
69
72
  }
70
- return models;
73
+ return [...models, ...remote];
71
74
  }
72
- export function serveModels(ex) {
73
- const data = servedModels(ex).map((m) => ({ id: m.id, object: 'model', created: 1, owned_by: m.ownedBy }));
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 = servedModels(ex).map((m) => museCatalogEntry(m.id, m.ownedBy, m.muse));
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":"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"}
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":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,aAAa,EACb,sBAAsB,EACtB,aAAa,GACd,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEpE,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,QAAQ,GACT,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAGrD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEtF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGrF,oEAAoE;AACpE,MAAM,mBAAmB,GAA6B,CAAC,UAAU,EAAE,mBAAmB,EAAE,cAAc,EAAE,KAAK,CAAC,CAAA;AAE9G,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EAAY;IAC/C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAA;IACzC,IAAI,CAAC,MAAM;QAAE,OAAM;IACnB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAE7C,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAA;IACtB,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAC3C,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAClD,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAA;QACxB,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,KAAK,CAAC,SAAS,GAAG,gBAAgB,CAAA;YAClC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,0BAA0B,CAAC,CAAA;YAC3C,OAAM;QACR,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAA;QAC7D,MAAM,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,GAAG,CAAC,CAAA;QACjG,OAAM;IACR,CAAC;IAED,+FAA+F;IAC/F,6EAA6E;IAC7E,IAAI,QAAQ,EAAE,IAAI,KAAK,OAAO,IAAI,CAAC,wBAAwB,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5F,yBAAyB,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACzD,OAAM;IACR,CAAC;IACD,MAAM,KAAK,GAAG,CAA0B,SAAuB,EAAO,EAAE,CACtE,QAAQ,EAAE,IAAI,KAAK,OAAO;QACxB,CAAC,CAAC;YACE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC;YACnD,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC;SACpD;QACH,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IACpB,mFAAmF;IACnF,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAC/C,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,EAClE,SAAS,CACV,CAAA;IACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,gGAAgG;QAChG,wFAAwF;QACxF,MAAM,QAAQ,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC,MAAM,CACjD,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,EAClE,SAAS,CACV,CAAA;QACD,MAAM,OAAO,GAAG,QAAQ,EAAE,MAAM,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;QAC1F,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,SAAS,GAAG,aAAa,CAAA;YAC/B,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAA;YAChF,OAAM;QACR,CAAC;QACD,KAAK,CAAC,SAAS,GAAG,WAAW,CAAA;QAC7B,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAA;QACnF,OAAM;IACR,CAAC;IACD,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAA;IAChC,mGAAmG;IACnG,kDAAkD;IAClD,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;IAC7C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,KAAK,CAAC,SAAS,GAAG,aAAa,CAAA;QAC/B,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAA;QAClE,OAAM;IACR,CAAC;IACD,MAAM,OAAO,GAAY,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;IACnD,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC/B,MAAM,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,oBAAoB,OAAO,CAAC,IAAI,eAAe,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QACpG,OAAM;IACR,CAAC;IACD,MAAM,SAAS,CACb,EAAE,EACF,oBAAoB,OAAO,CAAC,IAAI,sBAAsB,EACtD,OAAO,CAAC,MAAM,EACd,IAAI,EACJ,OAAO,EACP,MAAM,CACP,CAAA;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,EAAY,EACZ,OAAgB,EAChB,GAAW,EACX,GAAuB,EACvB,GAAW;IAEX,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;IAC7B,IAAI,QAA0B,CAAA;IAC9B,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE;YACjC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,eAAe,CACtB,EAAE,EACF,CAAC,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAC3D,OAAO,EACP,GAAG,EACH,CAAC,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,CACvC;YACD,IAAI,EAAE,GAAG;YACT,gBAAgB,EAAE,gBAAgB,CAAC,EAAE,CAAC;YACtC,MAAM;SACP,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,yBAAyB,CAAA;QACxG,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,kCAAmC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAA;QAC9F,OAAM;IACR,CAAC;IACD,MAAM,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;AACxC,CAAC;AAED,iGAAiG;AACjG,KAAK,UAAU,SAAS,CACtB,EAAY,EACZ,GAAW,EACX,GAAW,EACX,IAAe,EACf,OAAe,EACf,MAAe;IAEf,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;IAC7B,IAAI,QAA0B,CAAA;IAC9B,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE;YACjC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,CAAC,cAAc,EAAE,kBAAkB,CAAC;gBACpC,CAAC,iBAAiB,EAAE,UAAU,CAAC;gBAC/B,CAAC,eAAe,EAAE,UAAU,GAAG,EAAE,CAAC;aACnC;YACD,IAAI,EAAE,aAAa,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACjD,gBAAgB,EAAE,gBAAgB,CAAC,EAAE,CAAC;YACtC,MAAM;SACP,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,yBAAyB,CAAA;QACxG,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,kCAAmC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAA;QAC9F,OAAM;IACR,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAClD,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,mBAAmB,CAAA;QACxC,EAAE,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAA;QACzC,EAAE,CAAC,KAAK,CAAC,WAAW,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAA;QAClD,EAAE,CAAC,KAAK,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAC9E,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QACtC,OAAM;IACR,CAAC;IAED,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACxE,IAAI,IAAI,GAAc,IAAI,CAAA;QAC1B,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAc,CAAA;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,IAAI,CAAA;QACb,CAAC;QACD,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,CAAC,uBAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,EAAE;YACjF,CAAC,cAAc,EAAE,kBAAkB,CAAC;SACrC,CAAC,CAAA;QACF,OAAM;IACR,CAAC;IAED,EAAE,CAAC,GAAG,CAAC,SAAS,CACd,GAAG,EACH,CAAC,CAAC,cAAc,EAAE,mBAAmB,CAAC,EAAE,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAC1F,CAAA;IACD,MAAM,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CACpF,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CACxB,CAAA;AACH,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,eAAe,CAC7B,QAA0B,EAC1B,UAAkB,EAClB,OAAe,EACf,KAAmB;IAEnB,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,EAAE,CAAA;IACxC,MAAM,IAAI,GAAG,IAAI,wBAAwB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAC9D,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAA;IACnC,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAA;IAClC,IAAI,KAA4B,CAAA;IAChC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAA;QAC5B,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;YAClE,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;gBAAE,SAAQ;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;YAC5B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;oBAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAC7D,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;gBACvB,OAAM;YACR,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5B,MAAM,CAAC,GACL,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;oBACvF,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;oBACvB,CAAC,CAAC,SAAS,CAAA;gBACf,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;oBAAE,KAAK,GAAG,CAAC,CAAA;gBAC5C,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAA;gBAClD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;oBAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAA;gBACrE,KAAK,CAAC,QAAQ,EAAE,CAAA;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IACD,mEAAmE;IACnE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC/D,CAAC"}
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
- this.promptTokens = asU64(pointer(v, ['message', 'usage', 'input_tokens'])) ?? this.promptTokens;
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
- const n = asU64(pointer(v, ['usage', 'output_tokens']));
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
- if (this.promptTokens === undefined)
193
- this.promptTokens = asU64(timings['prompt_n']);
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,