@atomic-chat/core 0.18.5 → 0.19.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 (187) hide show
  1. package/dist/app-daemon.js +5 -0
  2. package/dist/app-daemon.js.map +1 -1
  3. package/dist/cli/main.d.ts +1 -1
  4. package/dist/cli/main.js +5 -0
  5. package/dist/cli/main.js.map +1 -1
  6. package/dist/client/control-client.d.ts +18 -1
  7. package/dist/client/control-client.js +27 -0
  8. package/dist/client/control-client.js.map +1 -1
  9. package/dist/cloud/registry.js +1 -0
  10. package/dist/cloud/registry.js.map +1 -1
  11. package/dist/config/paths.d.ts +4 -0
  12. package/dist/config/paths.js +13 -0
  13. package/dist/config/paths.js.map +1 -1
  14. package/dist/contracts/control-api.d.ts +9 -0
  15. package/dist/contracts/diffusion.d.ts +17 -7
  16. package/dist/contracts/diffusion.js.map +1 -1
  17. package/dist/contracts/engine-builds.d.ts +1 -1
  18. package/dist/contracts/engine-builds.js +1 -1
  19. package/dist/contracts/engine-builds.js.map +1 -1
  20. package/dist/contracts/engines.d.ts +1 -1
  21. package/dist/contracts/engines.js +2 -0
  22. package/dist/contracts/engines.js.map +1 -1
  23. package/dist/contracts/errors.d.ts +9 -1
  24. package/dist/contracts/errors.js.map +1 -1
  25. package/dist/contracts/events.d.ts +6 -1
  26. package/dist/contracts/index.d.ts +1 -0
  27. package/dist/contracts/index.js +1 -0
  28. package/dist/contracts/index.js.map +1 -1
  29. package/dist/contracts/litert-lm.d.ts +97 -0
  30. package/dist/contracts/litert-lm.js +17 -0
  31. package/dist/contracts/litert-lm.js.map +1 -0
  32. package/dist/contracts/model-yml.d.ts +31 -0
  33. package/dist/contracts/model-yml.js +5 -0
  34. package/dist/contracts/model-yml.js.map +1 -1
  35. package/dist/contracts/session.d.ts +5 -1
  36. package/dist/contracts/session.js.map +1 -1
  37. package/dist/contracts/settings.d.ts +10 -1
  38. package/dist/contracts/settings.js.map +1 -1
  39. package/dist/core/app-lease.d.ts +56 -0
  40. package/dist/core/app-lease.js +50 -0
  41. package/dist/core/app-lease.js.map +1 -0
  42. package/dist/core/atomic-core.d.ts +6 -1
  43. package/dist/core/atomic-core.js +6 -0
  44. package/dist/core/atomic-core.js.map +1 -1
  45. package/dist/core/create.js +175 -24
  46. package/dist/core/create.js.map +1 -1
  47. package/dist/diffusion/args.d.ts +8 -0
  48. package/dist/diffusion/args.js +10 -0
  49. package/dist/diffusion/args.js.map +1 -1
  50. package/dist/diffusion/compat.d.ts +3 -3
  51. package/dist/diffusion/compat.js +15 -10
  52. package/dist/diffusion/compat.js.map +1 -1
  53. package/dist/diffusion/recipe.d.ts +19 -2
  54. package/dist/diffusion/recipe.js +43 -20
  55. package/dist/diffusion/recipe.js.map +1 -1
  56. package/dist/diffusion/remote-job.js +6 -7
  57. package/dist/diffusion/remote-job.js.map +1 -1
  58. package/dist/diffusion/service.d.ts +1 -0
  59. package/dist/diffusion/service.js +4 -2
  60. package/dist/diffusion/service.js.map +1 -1
  61. package/dist/diffusion/video-history.js +3 -2
  62. package/dist/diffusion/video-history.js.map +1 -1
  63. package/dist/diffusion/video-recipe.d.ts +4 -1
  64. package/dist/diffusion/video-recipe.js +15 -11
  65. package/dist/diffusion/video-recipe.js.map +1 -1
  66. package/dist/diffusion/workflow.d.ts +2 -1
  67. package/dist/diffusion/workflow.js +3 -1
  68. package/dist/diffusion/workflow.js.map +1 -1
  69. package/dist/downloads/archive.d.ts +2 -1
  70. package/dist/downloads/archive.js +3 -2
  71. package/dist/downloads/archive.js.map +1 -1
  72. package/dist/engine-builds/engines.d.ts +22 -5
  73. package/dist/engine-builds/engines.js +44 -7
  74. package/dist/engine-builds/engines.js.map +1 -1
  75. package/dist/engine-builds/litert-lm.d.ts +29 -0
  76. package/dist/engine-builds/litert-lm.js +119 -0
  77. package/dist/engine-builds/litert-lm.js.map +1 -0
  78. package/dist/engine-builds/manifest.d.ts +55 -1
  79. package/dist/engine-builds/manifest.js +114 -1
  80. package/dist/engine-builds/manifest.js.map +1 -1
  81. package/dist/engine-builds/order.d.ts +2 -1
  82. package/dist/engine-builds/order.js +3 -1
  83. package/dist/engine-builds/order.js.map +1 -1
  84. package/dist/engine-builds/select.d.ts +19 -1
  85. package/dist/engine-builds/select.js +45 -0
  86. package/dist/engine-builds/select.js.map +1 -1
  87. package/dist/engine-builds/service.d.ts +8 -5
  88. package/dist/engine-builds/service.js +11 -4
  89. package/dist/engine-builds/service.js.map +1 -1
  90. package/dist/engines/service.d.ts +3 -1
  91. package/dist/engines/service.js +4 -1
  92. package/dist/engines/service.js.map +1 -1
  93. package/dist/router/resolve.d.ts +25 -4
  94. package/dist/router/resolve.js +34 -3
  95. package/dist/router/resolve.js.map +1 -1
  96. package/dist/runtime/litert-lm/accelerators.d.ts +54 -0
  97. package/dist/runtime/litert-lm/accelerators.js +176 -0
  98. package/dist/runtime/litert-lm/accelerators.js.map +1 -0
  99. package/dist/runtime/litert-lm/check.d.ts +44 -0
  100. package/dist/runtime/litert-lm/check.js +113 -0
  101. package/dist/runtime/litert-lm/check.js.map +1 -0
  102. package/dist/runtime/litert-lm/host/args.d.ts +47 -0
  103. package/dist/runtime/litert-lm/host/args.js +108 -0
  104. package/dist/runtime/litert-lm/host/args.js.map +1 -0
  105. package/dist/runtime/litert-lm/host/ffi-bun.d.ts +16 -0
  106. package/dist/runtime/litert-lm/host/ffi-bun.js +535 -0
  107. package/dist/runtime/litert-lm/host/ffi-bun.js.map +1 -0
  108. package/dist/runtime/litert-lm/host/library.d.ts +113 -0
  109. package/dist/runtime/litert-lm/host/library.js +38 -0
  110. package/dist/runtime/litert-lm/host/library.js.map +1 -0
  111. package/dist/runtime/litert-lm/host/openai.d.ts +97 -0
  112. package/dist/runtime/litert-lm/host/openai.js +355 -0
  113. package/dist/runtime/litert-lm/host/openai.js.map +1 -0
  114. package/dist/runtime/litert-lm/host/pool.d.ts +51 -0
  115. package/dist/runtime/litert-lm/host/pool.js +114 -0
  116. package/dist/runtime/litert-lm/host/pool.js.map +1 -0
  117. package/dist/runtime/litert-lm/host/run.d.ts +48 -0
  118. package/dist/runtime/litert-lm/host/run.js +169 -0
  119. package/dist/runtime/litert-lm/host/run.js.map +1 -0
  120. package/dist/runtime/litert-lm/host/server.d.ts +28 -0
  121. package/dist/runtime/litert-lm/host/server.js +242 -0
  122. package/dist/runtime/litert-lm/host/server.js.map +1 -0
  123. package/dist/runtime/litert-lm/host-process.d.ts +44 -0
  124. package/dist/runtime/litert-lm/host-process.js +99 -0
  125. package/dist/runtime/litert-lm/host-process.js.map +1 -0
  126. package/dist/runtime/litert-lm/index.d.ts +10 -0
  127. package/dist/runtime/litert-lm/index.js +11 -0
  128. package/dist/runtime/litert-lm/index.js.map +1 -0
  129. package/dist/runtime/litert-lm/litert-host.d.ts +17 -0
  130. package/dist/runtime/litert-lm/litert-host.js +22 -0
  131. package/dist/runtime/litert-lm/litert-host.js.map +1 -0
  132. package/dist/runtime/litert-lm/model-yml.d.ts +8 -0
  133. package/dist/runtime/litert-lm/model-yml.js +67 -0
  134. package/dist/runtime/litert-lm/model-yml.js.map +1 -0
  135. package/dist/runtime/litert-lm/npu.d.ts +11 -0
  136. package/dist/runtime/litert-lm/npu.js +24 -0
  137. package/dist/runtime/litert-lm/npu.js.map +1 -0
  138. package/dist/runtime/litert-lm/runtime.d.ts +99 -0
  139. package/dist/runtime/litert-lm/runtime.js +354 -0
  140. package/dist/runtime/litert-lm/runtime.js.map +1 -0
  141. package/dist/runtime/llamacpp/runtime.d.ts +4 -1
  142. package/dist/runtime/llamacpp/runtime.js +4 -1
  143. package/dist/runtime/llamacpp/runtime.js.map +1 -1
  144. package/dist/runtime/shared/external-sessions.js +1 -0
  145. package/dist/runtime/shared/external-sessions.js.map +1 -1
  146. package/dist/server/clients.d.ts +6 -0
  147. package/dist/server/clients.js +11 -0
  148. package/dist/server/clients.js.map +1 -1
  149. package/dist/server/control/router.js +2 -0
  150. package/dist/server/control/router.js.map +1 -1
  151. package/dist/server/control/routes/litert-lm.d.ts +11 -0
  152. package/dist/server/control/routes/litert-lm.js +33 -0
  153. package/dist/server/control/routes/litert-lm.js.map +1 -0
  154. package/dist/server/control/routes/public-server.js +22 -0
  155. package/dist/server/control/routes/public-server.js.map +1 -1
  156. package/dist/server/control/types.d.ts +16 -1
  157. package/dist/server/control/types.js.map +1 -1
  158. package/dist/server/http.js +3 -0
  159. package/dist/server/http.js.map +1 -1
  160. package/dist/server/public/errors.d.ts +17 -0
  161. package/dist/server/public/errors.js +28 -0
  162. package/dist/server/public/errors.js.map +1 -1
  163. package/dist/server/public/forward.d.ts +20 -1
  164. package/dist/server/public/forward.js +72 -19
  165. package/dist/server/public/forward.js.map +1 -1
  166. package/dist/server/public/listing.d.ts +6 -0
  167. package/dist/server/public/listing.js +25 -3
  168. package/dist/server/public/listing.js.map +1 -1
  169. package/dist/server/public/responses.js +21 -10
  170. package/dist/server/public/responses.js.map +1 -1
  171. package/dist/server/public/subscription.js +2 -2
  172. package/dist/server/public/subscription.js.map +1 -1
  173. package/dist/server/public/telemetry.d.ts +7 -1
  174. package/dist/server/public/telemetry.js +11 -3
  175. package/dist/server/public/telemetry.js.map +1 -1
  176. package/dist/server/public/trace.d.ts +8 -4
  177. package/dist/server/public/trace.js +15 -7
  178. package/dist/server/public/trace.js.map +1 -1
  179. package/dist/server/public/types.d.ts +5 -0
  180. package/dist/server/public/videos-params.js +6 -1
  181. package/dist/server/public/videos-params.js.map +1 -1
  182. package/dist/settings/schema/litert-lm.json +37 -0
  183. package/dist/settings/schema.js +9 -0
  184. package/dist/settings/schema.js.map +1 -1
  185. package/dist/version.d.ts +1 -1
  186. package/dist/version.js +1 -1
  187. package/package.json +6 -1
@@ -27,6 +27,7 @@ const PROVIDERS = new Set([
27
27
  'vllm',
28
28
  'sglang',
29
29
  'foundry-local',
30
+ 'litert-lm',
30
31
  ]);
31
32
  export class ExternalSessions {
32
33
  options;
@@ -1 +1 @@
1
- {"version":3,"file":"external-sessions.js","sourceRoot":"","sources":["../../../src/runtime/shared/external-sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external-sessions.js","sourceRoot":"","sources":["../../../src/runtime/shared/external-sessions.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,12 @@ export declare class ClientRegistry {
34
34
  count(): number;
35
35
  /** Everyone but the caller — what `shutdown` checks before stopping a core someone else is using. */
36
36
  others(exceptId: string | undefined): ClientRecord[];
37
+ /**
38
+ * Give every lease `ms` back: time this process was not running (swapping, asleep), in which no
39
+ * heartbeat could have been heard. Without it the first check after a stall finds every client
40
+ * expired, though their heartbeats are waiting in the socket.
41
+ */
42
+ extendLeases(ms: number): void;
37
43
  /** Check leases and close admission in one synchronous step. */
38
44
  acceptShutdown(exceptId: string | undefined, force: boolean): ClientRecord[];
39
45
  private sweep;
@@ -57,6 +57,17 @@ export class ClientRegistry {
57
57
  others(exceptId) {
58
58
  return this.list().filter((c) => c.id !== exceptId);
59
59
  }
60
+ /**
61
+ * Give every lease `ms` back: time this process was not running (swapping, asleep), in which no
62
+ * heartbeat could have been heard. Without it the first check after a stall finds every client
63
+ * expired, though their heartbeats are waiting in the socket.
64
+ */
65
+ extendLeases(ms) {
66
+ if (!(ms > 0))
67
+ return;
68
+ for (const record of this.clients.values())
69
+ record.last_seen += ms;
70
+ }
60
71
  /** Check leases and close admission in one synchronous step. */
61
72
  acceptShutdown(exceptId, force) {
62
73
  const others = this.others(exceptId);
@@ -1 +1 @@
1
- {"version":3,"file":"clients.js","sourceRoot":"","sources":["../../src/server/clients.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clients.js","sourceRoot":"","sources":["../../src/server/clients.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ import { registerDiffusionVideoRoutes } from './routes/diffusion-video.js';
16
16
  import { registerDiskRoutes } from './routes/disk.js';
17
17
  import { registerEngineBuildRoutes } from './routes/engine-builds.js';
18
18
  import { registerFoundryLocalRoutes } from './routes/foundry-local.js';
19
+ import { registerLiteRtLmRoutes } from './routes/litert-lm.js';
19
20
  import { registerEngineRoutes } from './routes/engines.js';
20
21
  import { registerEnvironmentRoutes } from './routes/environments.js';
21
22
  import { registerExternalSessionRoutes } from './routes/external-sessions.js';
@@ -58,6 +59,7 @@ export function buildRouter(deps, self) {
58
59
  registerBackendRoutes(router, deps, ctx);
59
60
  registerEngineBuildRoutes(router, deps, ctx);
60
61
  registerFoundryLocalRoutes(router, deps, ctx);
62
+ registerLiteRtLmRoutes(router, deps, ctx);
61
63
  registerEngineRoutes(router, deps, ctx);
62
64
  registerHardwareRoutes(router, deps, ctx);
63
65
  registerDiskRoutes(router, deps, ctx);
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/server/control/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/server/control/router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * LiteRT-LM's accelerator (openspec change `add-litert-lm-runtime`, task 6.4, design D3): what this
3
+ * machine is offered, and the explicit `prepare` a client orders. The same shape as Foundry Local's
4
+ * routes; progress goes out as `litert-lm:accelerators`, the answer to `prepare` is its summary.
5
+ */
6
+ import type { LiteRtLmPrepareRequest } from '../../../contracts/index.js';
7
+ import type { Router } from '../../http.js';
8
+ import type { ControlRouteContext, ControlServerDeps } from '../types.js';
9
+ /** Foundry Local's prepare body plus the `proxy` an engine install takes. */
10
+ export declare function parseLiteRtLmPrepareBody(raw: unknown): LiteRtLmPrepareRequest;
11
+ export declare function registerLiteRtLmRoutes(router: Router, deps: ControlServerDeps, ctx: ControlRouteContext): void;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * LiteRT-LM's accelerator (openspec change `add-litert-lm-runtime`, task 6.4, design D3): what this
3
+ * machine is offered, and the explicit `prepare` a client orders. The same shape as Foundry Local's
4
+ * routes; progress goes out as `litert-lm:accelerators`, the answer to `prepare` is its summary.
5
+ */
6
+ import { AtomicCoreError } from '../../../contracts/index.js';
7
+ import { readJsonBody, sendError, sendJson } from '../../http.js';
8
+ import { parsePrepareBody } from './foundry-local.js';
9
+ /** Foundry Local's prepare body plus the `proxy` an engine install takes. */
10
+ export function parseLiteRtLmPrepareBody(raw) {
11
+ if (typeof raw !== 'object' || raw === null || Array.isArray(raw))
12
+ throw new AtomicCoreError('INVALID_ARGUMENT', 'The request body must be a JSON object.');
13
+ const { proxy, ...rest } = raw;
14
+ if (proxy !== undefined && proxy !== null && (typeof proxy !== 'object' || Array.isArray(proxy)))
15
+ throw new AtomicCoreError('INVALID_ARGUMENT', 'proxy must be an object or null.');
16
+ return { ...parsePrepareBody(rest), ...(proxy !== undefined ? { proxy: proxy } : {}) };
17
+ }
18
+ export function registerLiteRtLmRoutes(router, deps, ctx) {
19
+ const { p } = ctx;
20
+ const absent = () => new AtomicCoreError('PROVIDER_NOT_FOUND', 'LiteRT-LM does not run on this computer.', 'litert-lm');
21
+ router.get(p('/runtimes/litert-lm/accelerators'), async (_req, res) => {
22
+ if (!deps.liteRtLm)
23
+ return sendError(res, absent());
24
+ sendJson(res, 200, await deps.liteRtLm.accelerators());
25
+ });
26
+ // Synchronous like an engine install: the answer is the summary, the steps go out as events.
27
+ router.post(p('/runtimes/litert-lm/accelerators/prepare'), async (req, res) => {
28
+ if (!deps.liteRtLm)
29
+ return sendError(res, absent());
30
+ sendJson(res, 200, await deps.liteRtLm.prepare(parseLiteRtLmPrepareBody(await readJsonBody(req))));
31
+ });
32
+ }
33
+ //# sourceMappingURL=litert-lm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"litert-lm.js","sourceRoot":"","sources":["../../../../src/server/control/routes/litert-lm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAE7D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,6EAA6E;AAC7E,MAAM,UAAU,wBAAwB,CAAC,GAAY;IACnD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAC/D,MAAM,IAAI,eAAe,CAAC,kBAAkB,EAAE,yCAAyC,CAAC,CAAA;IAC1F,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,GAA8B,CAAA;IACzD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9F,MAAM,IAAI,eAAe,CAAC,kBAAkB,EAAE,kCAAkC,CAAC,CAAA;IACnF,OAAO,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAA2B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;AAC9G,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,IAAuB,EACvB,GAAwB;IAExB,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,CAAA;IACjB,MAAM,MAAM,GAAG,GAAG,EAAE,CAClB,IAAI,eAAe,CAAC,oBAAoB,EAAE,0CAA0C,EAAE,WAAW,CAAC,CAAA;IAEpG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,kCAAkC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QACpE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;QACnD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;IAEF,6FAA6F;IAC7F,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,0CAA0C,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC5E,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;QACnD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,wBAAwB,CAAC,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACpG,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -26,5 +26,27 @@ export function registerPublicServerRoutes(router, deps, ctx) {
26
26
  deps.publicServer.setInspecting(body.enabled);
27
27
  sendJson(res, 200, { enabled: body.enabled });
28
28
  });
29
+ router.get(p('/server/selection'), (_req, res) => sendJson(res, 200, { models: deps.publicServer.selection() }));
30
+ // The whole selection, replaced: the app sends what its server page shows after every change.
31
+ router.put(p('/server/selection'), async (req, res) => {
32
+ const models = parseSelection(await readJsonBody(req));
33
+ if (!models)
34
+ return sendError(res, new AtomicCoreError('INVALID_ARGUMENT', 'selection needs {"models": [{"model": "<id>", "provider": "<provider>"}]} with non-empty strings'));
35
+ deps.publicServer.setSelection(models);
36
+ sendJson(res, 200, { models: deps.publicServer.selection() });
37
+ });
38
+ }
39
+ function parseSelection(body) {
40
+ const models = typeof body === 'object' && body !== null ? body.models : undefined;
41
+ if (!Array.isArray(models))
42
+ return undefined;
43
+ const parsed = [];
44
+ for (const entry of models) {
45
+ const { model, provider } = (typeof entry === 'object' && entry !== null ? entry : {});
46
+ if (typeof model !== 'string' || typeof provider !== 'string' || model === '' || provider === '')
47
+ return undefined;
48
+ parsed.push({ model, provider });
49
+ }
50
+ return parsed;
29
51
  }
30
52
  //# sourceMappingURL=public-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public-server.js","sourceRoot":"","sources":["../../../../src/server/control/routes/public-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public-server.js","sourceRoot":"","sources":["../../../../src/server/control/routes/public-server.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import type { CloudProviderInput, CloudProviderView, SubscriptionModel } from '../../cloud/index.js';
6
6
  import type { ChatGptStatus } from '../../credentials/index.js';
7
- import type { FoundryLocalAccelerators, FoundryLocalPrepareRequest, FoundryLocalPrepareResult, EngineBuildCatalog, EngineBuildCatalogRequest, EngineBuildId, EngineBuildInstallRequest, EngineBuildInstallResult, EngineBuildRemoveResult, EngineBuildUpdateCheck, EngineBuildUpdateCheckRequest, EngineActivateResult, EngineBuildDeleteResult, EngineOperationStarted, EngineUpdateRequest, EngineUpdateResult, EngineVersionsRequest, EngineVersionsResponse, MediaCatalogView, MediaKind, MediaProviderModels } from '../../contracts/index.js';
7
+ import type { FoundryLocalAccelerators, FoundryLocalPrepareRequest, FoundryLocalPrepareResult, LiteRtLmAccelerators, LiteRtLmPrepareRequest, LiteRtLmPrepareResult, EngineBuildCatalog, EngineBuildCatalogRequest, EngineBuildId, EngineBuildInstallRequest, EngineBuildInstallResult, EngineBuildRemoveResult, EngineBuildUpdateCheck, EngineBuildUpdateCheckRequest, EngineActivateResult, EngineBuildDeleteResult, EngineOperationStarted, EngineUpdateRequest, EngineUpdateResult, EngineVersionsRequest, EngineVersionsResponse, MediaCatalogView, MediaKind, MediaProviderModels, ServedModelSelection } from '../../contracts/index.js';
8
8
  import type { BeginOperation, DecisionDecideRequest, DecisionOutcome, DecisionScoreRequest, DecisionSettings, DecisionStatus, EmbeddingEmbedResponse, EmbeddingSettings, EmbeddingStatus, RouterScoreResponse, SystemoneResponse, DeviceInfo, DiffusionCancelResult, DownloadProgress, DiffusionConfig, DiffusionModelFile, DiffusionStatus, EnvironmentDiagnostics, EnvironmentOperation, EnvironmentResetResult, EnvironmentSnapshot, ModelCompatibilityRequest, ModelCompatibilityResponse, PrismFamiliesResponse, GalleryFlags, GalleryImageItem, GalleryListOptions, GalleryPage, ImageCapabilities, ImageGenerateRequest, ImageJob, LoadDiffusionModelRequest, LoadedDiffusionModel, VideoCapabilities, VideoEstimate, VideoGalleryPage, VideoGenerateRequest, VideoJob, GalleryVideoItem, HardwareInfoResponse, HardwareOverride, HardwareOverrideInput, LocalApiServerState, LocalProviderId, ManagedHostReceipt, ModelCompatibility, ManagedModelDeletion, ManagedModelLocation, ProbeEnvironmentInput, RemoteAccessStatus, RequirementPlan, ResumeOperation, RuntimeDescriptorSummary, SessionInfo, UnloadResult } from '../../contracts/index.js';
9
9
  import type { CoreEmitter } from '../../events/index.js';
10
10
  import type { CtxIncreaseResult } from '../../runtime/llamacpp/runtime.js';
@@ -60,6 +60,10 @@ export interface PublicServerControl {
60
60
  * collected only while it is (ATO-113). Survives a server restart, like the app's own inspector.
61
61
  */
62
62
  setInspecting: (enabled: boolean) => void;
63
+ /** The provider the app selected for each model id; kept until replaced, across server restarts. */
64
+ selection: () => ServedModelSelection[];
65
+ /** Replace the whole selection; an empty list routes every id by the rules without one. */
66
+ setSelection: (models: ServedModelSelection[]) => void;
63
67
  }
64
68
  /**
65
69
  * The settings surface the control API exposes. Narrower than `SettingsStore` on purpose: the app
@@ -386,6 +390,11 @@ export interface ControlServerDeps {
386
390
  * not registered, and its routes then answer `PROVIDER_NOT_FOUND`.
387
391
  */
388
392
  foundryLocal?: FoundryLocalControl;
393
+ /**
394
+ * LiteRT-LM's accelerator (change `add-litert-lm-runtime`, task 6.4); absent where the provider is
395
+ * not registered.
396
+ */
397
+ liteRtLm?: LiteRtLmControl;
389
398
  cloud: CloudControl;
390
399
  chatgpt: ChatGptControl;
391
400
  externalSessions: ExternalSessionControl;
@@ -435,6 +444,12 @@ export interface ControlRouteContext {
435
444
  /** The server being constructed; `undefined` until `ControlServer.start` has built it. */
436
445
  self: () => ControlServer | undefined;
437
446
  }
447
+ export interface LiteRtLmControl {
448
+ /** What this machine is offered, with what is prepared. */
449
+ accelerators(): Promise<LiteRtLmAccelerators>;
450
+ /** Downloads and unpacks the accelerators named (none: all offered); one at a time. */
451
+ prepare(request: LiteRtLmPrepareRequest): Promise<LiteRtLmPrepareResult>;
452
+ }
438
453
  export interface FoundryLocalControl {
439
454
  /** The last probe of the active build; `force` probes again. */
440
455
  accelerators(force: boolean): Promise<FoundryLocalAccelerators>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/server/control/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkHH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/server/control/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsHH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAA"}
@@ -155,6 +155,8 @@ export function statusForCode(code) {
155
155
  case 'REMOTE_ACCESS_OPERATION_IN_PROGRESS':
156
156
  case 'ENGINE_INSTALL_IN_PROGRESS':
157
157
  case 'FOUNDRY_LOCAL_ACCELERATOR_NOT_PREPARED':
158
+ case 'LITERT_LM_ACCELERATOR_NOT_PREPARED':
159
+ case 'LITERT_LM_MODEL_REQUIRES_NEWER_ENGINE':
158
160
  case 'REMOTE_ACCESS_STOP_FAILED':
159
161
  case 'JOB_BUSY':
160
162
  case 'BACKEND_IN_USE':
@@ -200,6 +202,7 @@ export function statusForCode(code) {
200
202
  case 'REMOTE_CONTENT_BLOCKED':
201
203
  case 'REMOTE_UNSUPPORTED':
202
204
  case 'FOUNDRY_LOCAL_VARIANT_UNSUPPORTED':
205
+ case 'LITERT_LM_VARIANT_UNSUPPORTED':
203
206
  return 422;
204
207
  case 'REMOTE_NOT_CONFIGURED':
205
208
  return 409;
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,23 @@ export declare function bodyIndicatesOom(body: string): boolean;
21
21
  export declare function isComputeBackendError(status: number, body: string): boolean;
22
22
  /** The OpenAI error envelope; `param` names the request field at fault, when there is one. */
23
23
  export declare function structuredErrorJson(message: string, type: string, code: string, param?: string): string;
24
+ /**
25
+ * A model nothing serves: OpenAI's `model_not_found` envelope. The message keeps the proxy's wording,
26
+ * which the app's agent client matches (in `error.message`) to tell a missing session from other failures.
27
+ */
28
+ export declare function modelNotFoundJson(modelId: string): string;
29
+ /**
30
+ * The 503 for a model id the app selected a local engine to serve while no local engine has a session
31
+ * of it. It names the model and the selected engine; the request never goes to a remote provider that
32
+ * lists the same id. The message opens with the not-found wording the app's agent client matches.
33
+ */
34
+ export declare function selectedProviderUnavailableJson(modelId: string, provider: string): string;
35
+ /**
36
+ * The 400 for a chat request whose `messages` is an empty array, in OpenAI's own wording; `undefined`
37
+ * for any other body. A local engine would otherwise answer an empty conversation with a completion
38
+ * of its own.
39
+ */
40
+ export declare function emptyMessagesRefusal(json: JsonValue): string | undefined;
24
41
  export declare function computeErrorEnvelope(oom: boolean): string;
25
42
  /**
26
43
  * A local engine's error as the client receives it: an existing `{"error": {...}}` envelope passes
@@ -68,6 +68,34 @@ export function structuredErrorJson(message, type, code, param) {
68
68
  error: param === undefined ? { message, type, code } : { message, type, param, code },
69
69
  });
70
70
  }
71
+ /**
72
+ * A model nothing serves: OpenAI's `model_not_found` envelope. The message keeps the proxy's wording,
73
+ * which the app's agent client matches (in `error.message`) to tell a missing session from other failures.
74
+ */
75
+ export function modelNotFoundJson(modelId) {
76
+ return structuredErrorJson(`No running session found for model '${modelId}'`, 'invalid_request_error', 'model_not_found', 'model');
77
+ }
78
+ /**
79
+ * The 503 for a model id the app selected a local engine to serve while no local engine has a session
80
+ * of it. It names the model and the selected engine; the request never goes to a remote provider that
81
+ * lists the same id. The message opens with the not-found wording the app's agent client matches.
82
+ */
83
+ export function selectedProviderUnavailableJson(modelId, provider) {
84
+ return structuredErrorJson(`No running session found for model '${modelId}' in any local engine. It is selected to be served ` +
85
+ `by ${provider} in Atomic Chat, so it is not sent to a remote provider. Load the model, or select ` +
86
+ 'another provider for it on the Local API Server page.', 'server_error', 'selected_provider_unavailable', 'model');
87
+ }
88
+ /**
89
+ * The 400 for a chat request whose `messages` is an empty array, in OpenAI's own wording; `undefined`
90
+ * for any other body. A local engine would otherwise answer an empty conversation with a completion
91
+ * of its own.
92
+ */
93
+ export function emptyMessagesRefusal(json) {
94
+ const messages = isJsonObject(json) ? json['messages'] : undefined;
95
+ if (!Array.isArray(messages) || messages.length > 0)
96
+ return undefined;
97
+ return structuredErrorJson("Invalid 'messages': empty array. Expected an array with minimum length 1, but got an empty array instead.", 'invalid_request_error', 'empty_array', 'messages');
98
+ }
71
99
  export function computeErrorEnvelope(oom) {
72
100
  const message = oom
73
101
  ? 'The model ran out of memory while processing this request. Try a smaller or lighter model, reduce the context size, or remove attached images. On Apple Silicon, memory is shared with the system, so closing other memory-heavy apps can free up headroom.'
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/server/public/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAG/D;;;;;GAKG;AACH,MAAM,sBAAsB,GAAG,4DAA4D,CAAA;AAC3F,MAAM,CAAC,MAAM,2BAA2B,GAAG,2BAA2B,CAAA;AAEtE,6FAA6F;AAC7F,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,IAAY;IAC9D,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IACxD,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAC5B,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,2BAA2B;QAAE,OAAO,IAAI,CAAA;IACvG,yBAAyB;IACzB,IAAI,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC;QAAE,OAAO,IAAI,CAAA;IAC7E,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,IAAI,CAAA;IACpG,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjG,OAAO,IAAI,CAAA;IACb,OAAO,CACL,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QACrB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACtG,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAC5B,OAAO;QACL,eAAe;QACf,aAAa;QACb,0BAA0B;QAC1B,oBAAoB;QACpB,qBAAqB;QACrB,wBAAwB;KACzB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAc,EAAE,IAAY;IAChE,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,KAAK,CAAA;IAChC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAC5B,OAAO;QACL,eAAe;QACf,kBAAkB;QAClB,yBAAyB;QACzB,2BAA2B;QAC3B,kCAAkC;KACnC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9B,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,IAAY,EAAE,IAAY,EAAE,KAAc;IAC7F,OAAO,aAAa,CAAC;QACnB,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;KACtF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,MAAM,OAAO,GAAG,GAAG;QACjB,CAAC,CAAC,6PAA6P;QAC/P,CAAC,CAAC,iRAAiR,CAAA;IACrR,OAAO,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,qBAAqB,CAAC,CAAA;AAC5E,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAA;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAChE,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5D,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;AACpD,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAC9B,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;AAC9D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAY,EAAE,GAAY,EAAE,WAAoB;IACxF,IAAI,qBAAqB,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5C,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,CAAA;IACnG,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,cAAc,CAAA;IACnE,OAAO,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAC9C,CAAC;AAED,uDAAuD;AACvD,SAAS,KAAK,CAAC,KAA4B;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AAC/F,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;IACpD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAA;IACzC,KAAK,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,uBAAuB,CAAC,EAAE,CAAC;QAC1D,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1B,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,CAAA;IACxC,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,QAAmB,EAAE,WAAmB;IACpF,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACxE,MAAM,SAAS,GACb,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,KAAK,QAAQ,CAAC,CAAA;IACnG,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAA;IAC5B,MAAM,GAAG,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA;IACxC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAClC,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACpE,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAChF,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,CAAA;AAC7C,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/server/public/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAG/D;;;;;GAKG;AACH,MAAM,sBAAsB,GAAG,4DAA4D,CAAA;AAC3F,MAAM,CAAC,MAAM,2BAA2B,GAAG,2BAA2B,CAAA;AAEtE,6FAA6F;AAC7F,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,IAAY;IAC9D,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IACxD,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAC5B,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,2BAA2B;QAAE,OAAO,IAAI,CAAA;IACvG,yBAAyB;IACzB,IAAI,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC;QAAE,OAAO,IAAI,CAAA;IAC7E,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,IAAI,CAAA;IACpG,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjG,OAAO,IAAI,CAAA;IACb,OAAO,CACL,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QACrB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACtG,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAC5B,OAAO;QACL,eAAe;QACf,aAAa;QACb,0BAA0B;QAC1B,oBAAoB;QACpB,qBAAqB;QACrB,wBAAwB;KACzB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAc,EAAE,IAAY;IAChE,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,KAAK,CAAA;IAChC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAC5B,OAAO;QACL,eAAe;QACf,kBAAkB;QAClB,yBAAyB;QACzB,2BAA2B;QAC3B,kCAAkC;KACnC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9B,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,IAAY,EAAE,IAAY,EAAE,KAAc;IAC7F,OAAO,aAAa,CAAC;QACnB,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;KACtF,CAAC,CAAA;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,OAAO,mBAAmB,CACxB,uCAAuC,OAAO,GAAG,EACjD,uBAAuB,EACvB,iBAAiB,EACjB,OAAO,CACR,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAAC,OAAe,EAAE,QAAgB;IAC/E,OAAO,mBAAmB,CACxB,uCAAuC,OAAO,qDAAqD;QACjG,MAAM,QAAQ,qFAAqF;QACnG,uDAAuD,EACzD,cAAc,EACd,+BAA+B,EAC/B,OAAO,CACR,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAe;IAClD,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAClE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAA;IACrE,OAAO,mBAAmB,CACxB,2GAA2G,EAC3G,uBAAuB,EACvB,aAAa,EACb,UAAU,CACX,CAAA;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,MAAM,OAAO,GAAG,GAAG;QACjB,CAAC,CAAC,6PAA6P;QAC/P,CAAC,CAAC,iRAAiR,CAAA;IACrR,OAAO,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,qBAAqB,CAAC,CAAA;AAC5E,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAA;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAChE,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5D,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;AACpD,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAC9B,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;AAC9D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAY,EAAE,GAAY,EAAE,WAAoB;IACxF,IAAI,qBAAqB,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5C,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,CAAA;IACnG,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,cAAc,CAAA;IACnE,OAAO,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAC9C,CAAC;AAED,uDAAuD;AACvD,SAAS,KAAK,CAAC,KAA4B;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AAC/F,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;IACpD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAA;IACzC,KAAK,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,uBAAuB,CAAC,EAAE,CAAC;QAC1D,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1B,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,CAAA;IACxC,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,QAAmB,EAAE,WAAmB;IACpF,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACxE,MAAM,SAAS,GACb,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,KAAK,QAAQ,CAAC,CAAA;IACnG,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAA;IAC5B,MAAM,GAAG,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA;IACxC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAClC,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACpE,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAChF,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,CAAA;AAC7C,CAAC"}
@@ -21,7 +21,7 @@
21
21
  * proxy-http fixtures).
22
22
  */
23
23
  import type { JsonValue } from '../shims/index.js';
24
- import type { RemoteProvider } from '../../router/index.js';
24
+ import type { LocalProvider, RemoteProvider, SelectedRoute } from '../../router/index.js';
25
25
  import type { Exchange } from './exchange.js';
26
26
  import type { LocalTarget } from './types.js';
27
27
  import type { HeaderPairs } from './wire.js';
@@ -32,6 +32,25 @@ export type Backend = {
32
32
  kind: 'local';
33
33
  session: LocalTarget;
34
34
  };
35
+ /**
36
+ * The provider the app selected to serve `modelId`, when the core can route to it; `undefined`
37
+ * leaves the id to the rules without a selection (remote first, then the local search order).
38
+ */
39
+ export declare function selectedRoute(ex: Exchange, modelId: string): SelectedRoute | undefined;
40
+ /**
41
+ * The remote provider a request for `modelId` goes to: the selected one, or with no selection the
42
+ * one that owns the id. A selected local engine means no remote provider at all.
43
+ */
44
+ export declare function routedRemote(ex: Exchange, modelId: string, selected: SelectedRoute | undefined): RemoteProvider | undefined;
45
+ /**
46
+ * The session a request for a model selected on a local engine goes to: that engine's, or else any
47
+ * other local engine's in search order — the app and the core may name the engine differently (both
48
+ * llama.cpp providers list one models folder). `undefined` only when no local engine has it; it never
49
+ * goes to a remote provider.
50
+ */
51
+ export declare function findSelectedLocalSession(ex: Exchange, modelId: string, provider: LocalProvider): LocalTarget | undefined;
52
+ /** The 503 for a model selected on a local engine that no local engine has a session of. */
53
+ export declare function answerSelectedUnavailable(ex: Exchange, modelId: string, provider: LocalProvider): void;
35
54
  /** The first local session serving `modelId`, in the proxy's provider order. */
36
55
  export declare function findLocalSession(ex: Exchange, modelId: string): LocalTarget | undefined;
37
56
  /** The request body parsed, with the `model` it names; `undefined` once an error has been answered. */
@@ -21,16 +21,47 @@
21
21
  * proxy-http fixtures).
22
22
  */
23
23
  import { AnthropicStreamConverter, anthropicRequestToChat, chatResponseToAnthropic, isJsonObject, serdeToString, } from '../shims/index.js';
24
- import { LOCAL_SEARCH_ORDER, resolveRemoteProvider } from '../../router/index.js';
24
+ import { LOCAL_SEARCH_ORDER, resolveRemoteProvider, resolveSelectedRoute } from '../../router/index.js';
25
25
  import { captureReport, inferenceFailureReport } from '../../telemetry/index.js';
26
26
  import { autoIncreaseCtx } from './ctx.js';
27
27
  import { SseLineReader } from './sse.js';
28
28
  import { StreamTelemetry, isUsageOnlyChunk, maybeInjectStreamUsage } from './telemetry.js';
29
29
  import { endpointFromPath } from './trace.js';
30
- import { bodyIndicatesOom, computeErrorEnvelope, isComputeBackendError, isContextLimitError, isContextOverflowFinishLength, structureBackendErrorBody, structuredErrorJson, } from './errors.js';
30
+ import { bodyIndicatesOom, computeErrorEnvelope, emptyMessagesRefusal, isComputeBackendError, isContextLimitError, isContextOverflowFinishLength, modelNotFoundJson, selectedProviderUnavailableJson, structureBackendErrorBody, structuredErrorJson, } from './errors.js';
31
31
  import { answer, clientGone, connectTimeoutMs, invalidJsonMessage } from './exchange.js';
32
32
  import { policyRefusal } from './policy.js';
33
33
  import { forwardableHeaders, pipeBody, readBody, readUpstreamText, relay, relayedHeaders, sendUpstream, } from './wire.js';
34
+ const NO_SELECTION = new Map();
35
+ /**
36
+ * The provider the app selected to serve `modelId`, when the core can route to it; `undefined`
37
+ * leaves the id to the rules without a selection (remote first, then the local search order).
38
+ */
39
+ export function selectedRoute(ex, modelId) {
40
+ return resolveSelectedRoute(modelId, ex.deps.selection?.() ?? NO_SELECTION, ex.deps.providers());
41
+ }
42
+ /**
43
+ * The remote provider a request for `modelId` goes to: the selected one, or with no selection the
44
+ * one that owns the id. A selected local engine means no remote provider at all.
45
+ */
46
+ export function routedRemote(ex, modelId, selected) {
47
+ if (selected)
48
+ return selected.kind === 'remote' ? selected.provider : undefined;
49
+ return resolveRemoteProvider(modelId, ex.deps.providers());
50
+ }
51
+ /**
52
+ * The session a request for a model selected on a local engine goes to: that engine's, or else any
53
+ * other local engine's in search order — the app and the core may name the engine differently (both
54
+ * llama.cpp providers list one models folder). `undefined` only when no local engine has it; it never
55
+ * goes to a remote provider.
56
+ */
57
+ export function findSelectedLocalSession(ex, modelId, provider) {
58
+ return ex.deps.findLocal(provider, modelId) ?? findLocalSession(ex, modelId);
59
+ }
60
+ /** The 503 for a model selected on a local engine that no local engine has a session of. */
61
+ export function answerSelectedUnavailable(ex, modelId, provider) {
62
+ ex.trace.errorKind = 'not_found';
63
+ answer(ex, 503, selectedProviderUnavailableJson(modelId, provider), [['Content-Type', 'application/json']]);
64
+ }
34
65
  /** The first local session serving `modelId`, in the proxy's provider order. */
35
66
  export function findLocalSession(ex, modelId) {
36
67
  for (const provider of LOCAL_SEARCH_ORDER) {
@@ -112,7 +143,8 @@ export async function serveForward(ex) {
112
143
  let backend;
113
144
  let url;
114
145
  let key;
115
- const remote = resolveRemoteProvider(modelId, ex.deps.providers());
146
+ const selected = selectedRoute(ex, modelId);
147
+ const remote = routedRemote(ex, modelId, selected);
116
148
  const trace = ex.trace;
117
149
  if (remote) {
118
150
  backend = { kind: 'remote', provider: remote };
@@ -124,18 +156,28 @@ export async function serveForward(ex) {
124
156
  }
125
157
  }
126
158
  else {
127
- // "Nothing is loaded" (503) and "that model is not loaded" (404) are told apart so a client can
128
- // tell a cold server from a typo. `/messages` has always answered 404 for both.
129
- if (!isMessages && ex.deps.listLocal().length === 0) {
130
- trace.errorKind = 'not_found';
131
- answer(ex, 503, 'No models are available');
132
- return;
159
+ let session;
160
+ if (selected?.kind === 'local') {
161
+ session = findSelectedLocalSession(ex, modelId, selected.provider);
162
+ if (!session) {
163
+ answerSelectedUnavailable(ex, modelId, selected.provider);
164
+ return;
165
+ }
133
166
  }
134
- const session = findLocalSession(ex, modelId);
135
- if (!session) {
136
- trace.errorKind = 'not_found';
137
- answer(ex, 404, `No running session found for model '${modelId}'`);
138
- return;
167
+ else {
168
+ // "Nothing is loaded" (503) and "that model is not loaded" (404) are told apart so a client can
169
+ // tell a cold server from a typo. `/messages` has always answered 404 for both.
170
+ if (!isMessages && ex.deps.listLocal().length === 0) {
171
+ trace.errorKind = 'not_found';
172
+ answer(ex, 503, 'No models are available');
173
+ return;
174
+ }
175
+ session = findLocalSession(ex, modelId);
176
+ if (!session) {
177
+ trace.errorKind = 'not_found';
178
+ answer(ex, 404, modelNotFoundJson(modelId), [['Content-Type', 'application/json']]);
179
+ return;
180
+ }
139
181
  }
140
182
  backend = { kind: 'local', session };
141
183
  trace.backend = session.provider;
@@ -145,6 +187,14 @@ export async function serveForward(ex) {
145
187
  answer(ex, refused.status, refused.body, [['Content-Type', 'application/json']]);
146
188
  return;
147
189
  }
190
+ // A local engine answers an empty conversation with a completion nobody asked for; a remote
191
+ // provider validates its own requests.
192
+ const empty = ex.path === '/chat/completions' || isMessages ? emptyMessagesRefusal(json) : undefined;
193
+ if (empty !== undefined) {
194
+ trace.errorKind = 'bad_request';
195
+ answer(ex, 400, empty, [['Content-Type', 'application/json']]);
196
+ return;
197
+ }
148
198
  key = session.apiKey;
149
199
  url = `http://127.0.0.1:${session.port}/v1${ex.path}`;
150
200
  }
@@ -200,9 +250,11 @@ export async function serveForward(ex) {
200
250
  /** The largest non-SSE body kept for telemetry: a chat completion envelope, not an arbitrary file. */
201
251
  const NON_SSE_CAPTURE_LIMIT = 256 * 1024;
202
252
  /**
203
- * Relay the upstream answer; while the inspector watches, fold what streams past into telemetry and
204
- * drop the usage-only trailer this proxy asked for itself — the client never opted into an extra chunk
205
- * with empty `choices`, and some clients throw on one. The bytes otherwise pass unchanged.
253
+ * Relay the upstream answer, folding what streams past into telemetry whenever the request is
254
+ * reported (time to first token, token counts from `usage` or llama.cpp's final `timings`; the reply
255
+ * text only while the inspector watches), and drop the usage-only trailer this proxy asked for
256
+ * itself — the client never opted into an extra chunk with empty `choices`, and some clients throw on
257
+ * one. The bytes otherwise pass unchanged.
206
258
  */
207
259
  async function relayObserved(ex, upstream, stripUsageTrailer) {
208
260
  const telemetry = ex.trace.startTelemetry();
@@ -395,8 +447,9 @@ async function inspectFinish(ex, session, modelId, raw, response) {
395
447
  catch {
396
448
  parsed = undefined;
397
449
  }
398
- if (parsed !== undefined && ex.trace.inspecting) {
399
- const telemetry = new StreamTelemetry();
450
+ if (parsed !== undefined) {
451
+ // Already parsed for the cut-off check: its usage and timings cost nothing more to report.
452
+ const telemetry = new StreamTelemetry({ previews: ex.trace.inspecting });
400
453
  telemetry.onJson(parsed, performance.now());
401
454
  ex.trace.stash(telemetry.finishFields(0));
402
455
  }