@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
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/engine-builds/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/engine-builds/service.ts"],"names":[],"mappings":"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"}
@@ -24,11 +24,13 @@ export interface EngineRemoveOptions {
24
24
  /**
25
25
  * The engines registered on this host, in catalog order: the three llama.cpp providers and sd.cpp
26
26
  * everywhere, MLX on macOS, Foundry Local where its platform rule holds (`foundryLocal`, change
27
- * `add-foundry-local` design D7), a managed engine where this core offers it (Linux, Windows with
27
+ * `add-foundry-local` design D7), LiteRT-LM likewise (`liteRtLm`, change `add-litert-lm-runtime`
28
+ * design D7), a managed engine where this core offers it (Linux, Windows with
28
29
  * Atomic Chat's WSL distribution).
29
30
  */
30
31
  export declare function hostEngines(platform: NodeJS.Platform, managed: readonly string[], host?: {
31
32
  foundryLocal?: boolean;
33
+ liteRtLm?: boolean;
32
34
  }): EngineId[];
33
35
  export interface EnginesServiceDeps {
34
36
  engines: readonly EngineHandle[];
@@ -9,7 +9,8 @@ import { collectEngineVersions } from './versions.js';
9
9
  /**
10
10
  * The engines registered on this host, in catalog order: the three llama.cpp providers and sd.cpp
11
11
  * everywhere, MLX on macOS, Foundry Local where its platform rule holds (`foundryLocal`, change
12
- * `add-foundry-local` design D7), a managed engine where this core offers it (Linux, Windows with
12
+ * `add-foundry-local` design D7), LiteRT-LM likewise (`liteRtLm`, change `add-litert-lm-runtime`
13
+ * design D7), a managed engine where this core offers it (Linux, Windows with
13
14
  * Atomic Chat's WSL distribution).
14
15
  */
15
16
  export function hostEngines(platform, managed, host = {}) {
@@ -18,6 +19,8 @@ export function hostEngines(platform, managed, host = {}) {
18
19
  return platform === 'darwin';
19
20
  if (engine === 'foundry-local')
20
21
  return host.foundryLocal === true;
22
+ if (engine === 'litert-lm')
23
+ return host.liteRtLm === true;
21
24
  if (ENGINE_KINDS[engine] === 'managed')
22
25
  return managed.includes(engine);
23
26
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/engines/service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAajF,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAwBrD;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACzB,QAAyB,EACzB,OAA0B,EAC1B,OAAmC,EAAE;IAErC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QAClC,IAAI,MAAM,KAAK,KAAK;YAAE,OAAO,QAAQ,KAAK,QAAQ,CAAA;QAClD,IAAI,MAAM,KAAK,eAAe;YAAE,OAAO,IAAI,CAAC,YAAY,KAAK,IAAI,CAAA;QACjE,IAAI,YAAY,CAAC,MAAM,CAAC,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACvE,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC;AAMD,MAAM,OAAO,cAAc;IACR,OAAO,CAAgB;IAExC,YAAY,IAAwB;QAClC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CACtE,CAAA;IACH,CAAC;IAED,oFAAoF;IAC5E,MAAM,CAAC,MAAc;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;QAC5E,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAA;QACvC,MAAM,IAAI,eAAe,CACvB,kBAAkB,EACjB,UAAgC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAChD,CAAC,CAAC,OAAO,MAAM,4CAA4C;YAC3D,CAAC,CAAC,4BAA4B,MAAM,GAAG,EACzC,MAAM,CACP,CAAA;IACH,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,MAAM,CACV,MAAc,EACd,OAA4B;QAE5B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,MAAM,CACV,MAAc,EACd,OAAe,EACf,OAAe,EACf,UAA+B,EAAE;QAEjC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC9D,CAAC;IAED,iEAAiE;IACjE,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,OAAe,EAAE,OAAe;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAClC,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;YAC/B,MAAM,IAAI,eAAe,CACvB,kBAAkB,EAClB,6BAA6B,MAAM,8BAA8B,EACjE,MAAM,CACP,CAAA;QACH,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;IAED,+FAA+F;IAC/F,QAAQ,CAAC,UAAiC,EAAE;QAC1C,OAAO,qBAAqB,CAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;SACrC,CAAC,CAAC,CACJ,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/engines/service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAajF,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAwBrD;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,QAAyB,EACzB,OAA0B,EAC1B,OAAuD,EAAE;IAEzD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QAClC,IAAI,MAAM,KAAK,KAAK;YAAE,OAAO,QAAQ,KAAK,QAAQ,CAAA;QAClD,IAAI,MAAM,KAAK,eAAe;YAAE,OAAO,IAAI,CAAC,YAAY,KAAK,IAAI,CAAA;QACjE,IAAI,MAAM,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAA;QACzD,IAAI,YAAY,CAAC,MAAM,CAAC,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACvE,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC;AAMD,MAAM,OAAO,cAAc;IACR,OAAO,CAAgB;IAExC,YAAY,IAAwB;QAClC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CACtE,CAAA;IACH,CAAC;IAED,oFAAoF;IAC5E,MAAM,CAAC,MAAc;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;QAC5E,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAA;QACvC,MAAM,IAAI,eAAe,CACvB,kBAAkB,EACjB,UAAgC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAChD,CAAC,CAAC,OAAO,MAAM,4CAA4C;YAC3D,CAAC,CAAC,4BAA4B,MAAM,GAAG,EACzC,MAAM,CACP,CAAA;IACH,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,MAAM,CACV,MAAc,EACd,OAA4B;QAE5B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,MAAM,CACV,MAAc,EACd,OAAe,EACf,OAAe,EACf,UAA+B,EAAE;QAEjC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC9D,CAAC;IAED,iEAAiE;IACjE,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,OAAe,EAAE,OAAe;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAClC,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;YAC/B,MAAM,IAAI,eAAe,CACvB,kBAAkB,EAClB,6BAA6B,MAAM,8BAA8B,EACjE,MAAM,CACP,CAAA;QACH,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;IAED,+FAA+F;IAC/F,QAAQ,CAAC,UAAiC,EAAE;QAC1C,OAAO,qBAAqB,CAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;SACrC,CAAC,CAAC,CACJ,CAAA;IACH,CAAC;CACF"}
@@ -21,22 +21,25 @@ export interface RemoteProvider {
21
21
  /** The image and video models enabled for this provider; never part of chat routing. */
22
22
  media?: CloudProviderMedia;
23
23
  }
24
- export type LocalProvider = 'llamacpp' | 'llamacpp-upstream' | 'mlx' | 'tensorrt-llm' | 'atomic-prism' | 'vllm' | 'sglang' | 'foundry-local';
24
+ export type LocalProvider = 'llamacpp' | 'llamacpp-upstream' | 'mlx' | 'tensorrt-llm' | 'atomic-prism' | 'vllm' | 'sglang' | 'foundry-local' | 'litert-lm';
25
25
  /**
26
26
  * The order local providers are searched in when a request names only a model. The same model id
27
27
  * loaded under two engines resolves to the first; changing the order would silently move traffic.
28
28
  * `tensorrt-llm`, `atomic-prism`, `vllm` and `sglang` come last, in the order they were added, for
29
29
  * exactly that reason: adding a provider moves nothing that already resolved (`vllm` after
30
30
  * `atomic-prism`, which core 0.10.0 already shipped; change `add-vllm-runtime`, D11; `sglang` after
31
- * `vllm`, change `add-sglang-runtime`, D8; `foundry-local` after `sglang`, change `add-foundry-local`, D5). A Prism-only file never loads
31
+ * `vllm`, change `add-sglang-runtime`, D8; `foundry-local` after `sglang`, change `add-foundry-local`, D5;
32
+ * `litert-lm` after `foundry-local`, change `add-litert-lm-runtime`, task 6.1). A Prism-only file never loads
32
33
  * under another engine (the compatibility gate), so its sessions are found here even near the end of
33
34
  * the list; one store model is never loaded in two managed providers at once, so their order never
34
35
  * decides between two live sessions of one id.
35
36
  */
36
37
  export declare const LOCAL_SEARCH_ORDER: readonly LocalProvider[];
37
38
  /**
38
- * The remote provider that owns `modelId`, if any. Remote wins over local — a model id the user
39
- * enabled for a cloud provider is never served by a local session of the same name.
39
+ * The remote provider that owns `modelId`, if any. For an id the app selected no provider for
40
+ * (`resolveSelectedRoute`), remote wins over local — a model id the user enabled for a cloud
41
+ * provider is never served by a local session of the same name. An id with a selection goes to the
42
+ * selected provider only (ADR 2026-10-21-route-a-selected-model-id-to-its-selected-provider-only).
40
43
  *
41
44
  * Three rules, in order, exactly as the proxy applies them:
42
45
  * 1. a provider that lists the model id;
@@ -44,6 +47,24 @@ export declare const LOCAL_SEARCH_ORDER: readonly LocalProvider[];
44
47
  * 3. the whole id is a provider key.
45
48
  */
46
49
  export declare function resolveRemoteProvider(modelId: string, providers: ReadonlyMap<string, RemoteProvider>): RemoteProvider | undefined;
50
+ /** Where a model id the app selected a provider for is served. */
51
+ export type SelectedRoute = {
52
+ kind: 'remote';
53
+ provider: RemoteProvider;
54
+ } | {
55
+ kind: 'local';
56
+ provider: LocalProvider;
57
+ };
58
+ /**
59
+ * The provider the app selected to serve `modelId` (`PUT /atomic/v1/server/selection`), when this
60
+ * core can route to it: a registered remote provider, or a local engine. The id is matched with the
61
+ * proxy's `.`/`_` rule. `undefined` — no selection, or one naming a provider this core does not know
62
+ * (an unregistered cloud provider, Apple Foundation Models) — leaves the id to the rules without one.
63
+ * A selected remote provider is strict. A selected local engine means "local": the caller asks that
64
+ * engine first, then any other local session of the id (the app and the core may name the engine
65
+ * differently), and refuses the request rather than send it to a remote provider that lists it.
66
+ */
67
+ export declare function resolveSelectedRoute(modelId: string, selection: ReadonlyMap<string, string>, providers: ReadonlyMap<string, RemoteProvider>): SelectedRoute | undefined;
47
68
  /**
48
69
  * The proxy's model-id comparison: `.` and `_` are the same character, because clients and
49
70
  * filesystems substitute one for the other (`Qwen3_5-9B` is `Qwen3.5-9B`). Nothing else is folded.
@@ -11,7 +11,8 @@
11
11
  * `tensorrt-llm`, `atomic-prism`, `vllm` and `sglang` come last, in the order they were added, for
12
12
  * exactly that reason: adding a provider moves nothing that already resolved (`vllm` after
13
13
  * `atomic-prism`, which core 0.10.0 already shipped; change `add-vllm-runtime`, D11; `sglang` after
14
- * `vllm`, change `add-sglang-runtime`, D8; `foundry-local` after `sglang`, change `add-foundry-local`, D5). A Prism-only file never loads
14
+ * `vllm`, change `add-sglang-runtime`, D8; `foundry-local` after `sglang`, change `add-foundry-local`, D5;
15
+ * `litert-lm` after `foundry-local`, change `add-litert-lm-runtime`, task 6.1). A Prism-only file never loads
15
16
  * under another engine (the compatibility gate), so its sessions are found here even near the end of
16
17
  * the list; one store model is never loaded in two managed providers at once, so their order never
17
18
  * decides between two live sessions of one id.
@@ -25,10 +26,13 @@ export const LOCAL_SEARCH_ORDER = [
25
26
  'vllm',
26
27
  'sglang',
27
28
  'foundry-local',
29
+ 'litert-lm',
28
30
  ];
29
31
  /**
30
- * The remote provider that owns `modelId`, if any. Remote wins over local — a model id the user
31
- * enabled for a cloud provider is never served by a local session of the same name.
32
+ * The remote provider that owns `modelId`, if any. For an id the app selected no provider for
33
+ * (`resolveSelectedRoute`), remote wins over local — a model id the user enabled for a cloud
34
+ * provider is never served by a local session of the same name. An id with a selection goes to the
35
+ * selected provider only (ADR 2026-10-21-route-a-selected-model-id-to-its-selected-provider-only).
32
36
  *
33
37
  * Three rules, in order, exactly as the proxy applies them:
34
38
  * 1. a provider that lists the model id;
@@ -48,6 +52,33 @@ export function resolveRemoteProvider(modelId, providers) {
48
52
  }
49
53
  return providers.get(modelId);
50
54
  }
55
+ /**
56
+ * The provider the app selected to serve `modelId` (`PUT /atomic/v1/server/selection`), when this
57
+ * core can route to it: a registered remote provider, or a local engine. The id is matched with the
58
+ * proxy's `.`/`_` rule. `undefined` — no selection, or one naming a provider this core does not know
59
+ * (an unregistered cloud provider, Apple Foundation Models) — leaves the id to the rules without one.
60
+ * A selected remote provider is strict. A selected local engine means "local": the caller asks that
61
+ * engine first, then any other local session of the id (the app and the core may name the engine
62
+ * differently), and refuses the request rather than send it to a remote provider that lists it.
63
+ */
64
+ export function resolveSelectedRoute(modelId, selection, providers) {
65
+ let selected = selection.get(modelId);
66
+ if (selected === undefined) {
67
+ for (const [id, provider] of selection) {
68
+ if (modelIdsMatch(id, modelId)) {
69
+ selected = provider;
70
+ break;
71
+ }
72
+ }
73
+ }
74
+ if (selected === undefined)
75
+ return undefined;
76
+ const remote = providers.get(selected);
77
+ if (remote)
78
+ return { kind: 'remote', provider: remote };
79
+ const local = LOCAL_SEARCH_ORDER.find((provider) => provider === selected);
80
+ return local === undefined ? undefined : { kind: 'local', provider: local };
81
+ }
51
82
  /**
52
83
  * The proxy's model-id comparison: `.` and `_` are the same character, because clients and
53
84
  * filesystems substitute one for the other (`Qwen3_5-9B` is `Qwen3.5-9B`). Nothing else is folded.
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/router/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA2BH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA6B;IAC1D,UAAU;IACV,mBAAmB;IACnB,KAAK;IACL,cAAc;IACd,cAAc;IACd,MAAM;IACN,QAAQ;IACR,eAAe;CAChB,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAe,EACf,SAA8C;IAE9C,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;QACxC,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,MAAM,CAAA;IACpD,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAClC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;QACvD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAA;IAC/B,CAAC;IACD,OAAO,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,CAAS,EAAE,CAAS;IAChD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACd,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACd,IAAI,CAAC,KAAK,CAAC;YAAE,SAAQ;QACrB,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;YAAE,SAAQ;QAClE,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,IAAe,EACf,SAA8C;IAE9C,MAAM,KAAK,GAAG,CAAC,MAAsB,EAAE,EAAU,EAAW,EAAE,CAC5D,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,KAAK,CAAA;IACvF,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAClC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;QACpD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;QACrC,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;YAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IACnF,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE;QACrC,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;YAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;IAClF,OAAO,SAAS,CAAA;AAClB,CAAC"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/router/resolve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * LiteRT-LM's one accelerator, `openvino` (openspec change `add-litert-lm-runtime`, task 6.4, design
3
+ * D3): the Intel libraries an NPU variant needs on Windows, from the `openvino` wheel the active
4
+ * release pins in conf's manifest. Offered only on a machine whose Intel NPU generation LiteRT-LM has
5
+ * files for; prepared only when a client orders it — one prepare at a time, each step published as
6
+ * `litert-lm:accelerators`.
7
+ *
8
+ * A prepare downloads the wheel with its sha256 and size checked, keeps only `openvino/libs/**` and
9
+ * puts it at `<data>/litert-lm/accelerators/openvino/<version>/`, marked last: a folder without the
10
+ * marker is not prepared. A second prepare of the same version downloads nothing.
11
+ */
12
+ import type { CoreEvents, LiteRtLmAccelerators, LiteRtLmNpu, LiteRtLmPrepareRequest, LiteRtLmPrepareResult, ProxyConfig } from '../../contracts/index.js';
13
+ import type { LiteRtLmRelease } from '../../engine-builds/manifest.js';
14
+ export declare const OPENVINO = "openvino";
15
+ export interface LiteRtLmAcceleratorDeps {
16
+ /** `<data>/litert-lm/accelerators`. */
17
+ acceleratorsDir: string;
18
+ /** `<data>/litert-lm/tmp`: the download and the unpacked wheel, gone after. */
19
+ tmpDir: string;
20
+ resolveBuild: () => Promise<{
21
+ dir: string;
22
+ version: string;
23
+ } | undefined>;
24
+ /** The manifest's release of a LiteRT-LM version (a cached manifest is fine); `null` when unknown. */
25
+ release: (version: string) => Promise<LiteRtLmRelease | null>;
26
+ /** This machine's Intel NPU generation LiteRT-LM files target, or `null`. */
27
+ npuGeneration: () => Promise<LiteRtLmNpu | null>;
28
+ /** Download one file with its sha256 and size checked; `onFraction` 0…1 as it goes. */
29
+ download: (taskId: string, item: {
30
+ url: string;
31
+ save_path: string;
32
+ sha256: string;
33
+ size: number;
34
+ proxy?: ProxyConfig | null;
35
+ }, onFraction: (fraction: number) => void) => Promise<void>;
36
+ emit: (name: 'litert-lm:accelerators', payload: CoreEvents['litert-lm:accelerators']) => void;
37
+ now?: () => number;
38
+ }
39
+ export declare class LiteRtLmAcceleratorService {
40
+ private readonly deps;
41
+ private preparing;
42
+ /** The reason the last failed prepare of each version gave. */
43
+ private readonly failures;
44
+ private readonly now;
45
+ constructor(deps: LiteRtLmAcceleratorDeps);
46
+ private dirOf;
47
+ /** What this machine is offered: OpenVINO of the active release, on an Intel NPU it targets. */
48
+ private offered;
49
+ list(): Promise<LiteRtLmAccelerators>;
50
+ /** The prepared OpenVINO libraries of the active release: what an NPU load passes the host. */
51
+ libsDir(): Promise<string | undefined>;
52
+ prepare(request: LiteRtLmPrepareRequest): Promise<LiteRtLmPrepareResult>;
53
+ private prepareOpenVino;
54
+ }
@@ -0,0 +1,176 @@
1
+ /**
2
+ * LiteRT-LM's one accelerator, `openvino` (openspec change `add-litert-lm-runtime`, task 6.4, design
3
+ * D3): the Intel libraries an NPU variant needs on Windows, from the `openvino` wheel the active
4
+ * release pins in conf's manifest. Offered only on a machine whose Intel NPU generation LiteRT-LM has
5
+ * files for; prepared only when a client orders it — one prepare at a time, each step published as
6
+ * `litert-lm:accelerators`.
7
+ *
8
+ * A prepare downloads the wheel with its sha256 and size checked, keeps only `openvino/libs/**` and
9
+ * puts it at `<data>/litert-lm/accelerators/openvino/<version>/`, marked last: a folder without the
10
+ * marker is not prepared. A second prepare of the same version downloads nothing.
11
+ */
12
+ import { mkdir, rename, rm, stat, writeFile } from 'node:fs/promises';
13
+ import { join } from 'node:path';
14
+ import { AtomicCoreError } from '../../contracts/index.js';
15
+ import { OWNER_MARKER } from '../../diffusion/install.js';
16
+ import { extractArchive } from '../../downloads/index.js';
17
+ export const OPENVINO = 'openvino';
18
+ const exists = (path) => stat(path).then(() => true, () => false);
19
+ export class LiteRtLmAcceleratorService {
20
+ deps;
21
+ preparing = false;
22
+ /** The reason the last failed prepare of each version gave. */
23
+ failures = new Map();
24
+ now;
25
+ constructor(deps) {
26
+ this.deps = deps;
27
+ this.now = deps.now ?? Date.now;
28
+ }
29
+ dirOf(version) {
30
+ return join(this.deps.acceleratorsDir, OPENVINO, version);
31
+ }
32
+ /** What this machine is offered: OpenVINO of the active release, on an Intel NPU it targets. */
33
+ async offered() {
34
+ const build = await this.deps.resolveBuild();
35
+ if (!build)
36
+ return {
37
+ answer: { installed: false, build: null, npu: null, accelerators: [], error: null },
38
+ accelerator: null,
39
+ };
40
+ const name = `${build.version}/${build.dir.split(/[\\/]/).at(-1) ?? ''}`;
41
+ const npu = await this.deps.npuGeneration();
42
+ if (!npu)
43
+ return {
44
+ answer: { installed: true, build: name, npu: null, accelerators: [], error: null },
45
+ accelerator: null,
46
+ };
47
+ const release = await this.deps.release(build.version);
48
+ const accelerator = release?.accelerators.find((candidate) => candidate.id === OPENVINO) ?? null;
49
+ if (!accelerator)
50
+ return {
51
+ answer: {
52
+ installed: true,
53
+ build: name,
54
+ npu,
55
+ accelerators: [],
56
+ error: release
57
+ ? `LiteRT-LM ${build.version} pins no OpenVINO.`
58
+ : `The LiteRT-LM manifest has no release ${build.version}; it lists the accelerator.`,
59
+ },
60
+ accelerator: null,
61
+ };
62
+ const failure = this.failures.get(accelerator.version);
63
+ return {
64
+ answer: {
65
+ installed: true,
66
+ build: name,
67
+ npu,
68
+ accelerators: [
69
+ {
70
+ name: OPENVINO,
71
+ device: 'npu',
72
+ version: accelerator.version,
73
+ size_bytes: accelerator.size,
74
+ prepared: await exists(join(this.dirOf(accelerator.version), OWNER_MARKER)),
75
+ ...(failure ? { reason: failure } : {}),
76
+ },
77
+ ],
78
+ error: null,
79
+ },
80
+ accelerator,
81
+ };
82
+ }
83
+ async list() {
84
+ return (await this.offered()).answer;
85
+ }
86
+ /** The prepared OpenVINO libraries of the active release: what an NPU load passes the host. */
87
+ async libsDir() {
88
+ const { accelerator } = await this.offered();
89
+ if (!accelerator)
90
+ return undefined;
91
+ const dir = this.dirOf(accelerator.version);
92
+ return (await exists(join(dir, OWNER_MARKER))) ? dir : undefined;
93
+ }
94
+ async prepare(request) {
95
+ if (this.preparing)
96
+ throw new AtomicCoreError('ENGINE_INSTALL_IN_PROGRESS', 'The LiteRT-LM accelerator is already being prepared; wait for that to finish.');
97
+ this.preparing = true;
98
+ try {
99
+ const { answer, accelerator } = await this.offered();
100
+ const wanted = request.accelerators && request.accelerators.length > 0 ? request.accelerators : [OPENVINO];
101
+ const summary = [];
102
+ for (const name of wanted) {
103
+ if (name !== OPENVINO) {
104
+ summary.push({ name, prepared: false, reason: `LiteRT-LM has no ${name} accelerator.` });
105
+ continue;
106
+ }
107
+ if (!accelerator) {
108
+ summary.push({
109
+ name,
110
+ prepared: false,
111
+ reason: answer.error ?? 'This computer has no Intel NPU LiteRT-LM has models for.',
112
+ });
113
+ continue;
114
+ }
115
+ summary.push(await this.prepareOpenVino(accelerator, request.proxy ?? null));
116
+ }
117
+ return { accelerators: summary };
118
+ }
119
+ finally {
120
+ this.preparing = false;
121
+ }
122
+ }
123
+ async prepareOpenVino(accelerator, proxy) {
124
+ const emit = (stage, fraction, reason) => this.deps.emit('litert-lm:accelerators', {
125
+ accelerator: OPENVINO,
126
+ stage,
127
+ fraction,
128
+ ...(reason !== undefined ? { reason } : {}),
129
+ });
130
+ const target = this.dirOf(accelerator.version);
131
+ if (await exists(join(target, OWNER_MARKER))) {
132
+ emit('done', 1);
133
+ return { name: OPENVINO, prepared: true };
134
+ }
135
+ const stamp = this.now();
136
+ const work = join(this.deps.tmpDir, `openvino-${accelerator.version}-${stamp}`);
137
+ const staging = `${target}.incoming-${stamp}`;
138
+ try {
139
+ emit('started', 0);
140
+ await mkdir(work, { recursive: true });
141
+ const wheel = join(work, accelerator.name);
142
+ await this.deps.download(`litert-lm-${OPENVINO}-${accelerator.version}`, {
143
+ url: accelerator.url,
144
+ save_path: wheel,
145
+ sha256: accelerator.sha256,
146
+ size: accelerator.size,
147
+ ...(proxy ? { proxy } : {}),
148
+ }, (fraction) => emit('downloading', fraction));
149
+ const unpacked = join(work, 'unpacked');
150
+ await extractArchive(wheel, unpacked);
151
+ const libs = join(unpacked, 'openvino', 'libs');
152
+ if (!(await exists(libs)))
153
+ throw new Error('the OpenVINO wheel has no openvino/libs');
154
+ await rm(staging, { recursive: true, force: true });
155
+ await mkdir(join(staging, '..'), { recursive: true });
156
+ await rename(libs, staging);
157
+ await writeFile(join(staging, OWNER_MARKER), 'atomic-chat\n');
158
+ await rm(target, { recursive: true, force: true });
159
+ await rename(staging, target);
160
+ this.failures.delete(accelerator.version);
161
+ emit('done', 1);
162
+ return { name: OPENVINO, prepared: true };
163
+ }
164
+ catch (error) {
165
+ const reason = error instanceof Error ? error.message : String(error);
166
+ this.failures.set(accelerator.version, reason);
167
+ await rm(staging, { recursive: true, force: true }).catch(() => { });
168
+ emit('failed', null, reason);
169
+ return { name: OPENVINO, prepared: false, reason };
170
+ }
171
+ finally {
172
+ await rm(work, { recursive: true, force: true }).catch(() => { });
173
+ }
174
+ }
175
+ }
176
+ //# sourceMappingURL=accelerators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accelerators.js","sourceRoot":"","sources":["../../../src/runtime/litert-lm/accelerators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * `POST /models/litert-lm/check` (openspec change `add-litert-lm-runtime`, task 6.5): whether a
3
+ * variant would run here. Before a download, from what core already knows — the platform, this
4
+ * machine's Intel NPU generation, the active build, whether OpenVINO is prepared — never the network.
5
+ * For a file on disk, also from the file itself (`litert-host inspect`), whose facts come back in the
6
+ * answer for the client to write into `model.yml`.
7
+ */
8
+ import type { LiteRtLmCheckRequest, LiteRtLmCheckResult, LiteRtLmFileMetadata, LiteRtLmNpu } from '../../contracts/index.js';
9
+ import type { LiteRtLmPlatform } from '../../engine-builds/manifest.js';
10
+ import type { ModelRegistry } from '../../models/index.js';
11
+ export interface LiteRtLmCheckFacts {
12
+ platform: LiteRtLmPlatform;
13
+ build: {
14
+ dir: string;
15
+ version: string;
16
+ } | null;
17
+ npu: LiteRtLmNpu | null;
18
+ openVinoPrepared: boolean;
19
+ }
20
+ /** The verdict for a variant (`backend`, `npu`, `min_runtime_version`), and for a file its facts. */
21
+ export declare function liteRtLmVerdict(facts: LiteRtLmCheckFacts, request: Pick<LiteRtLmCheckRequest, 'backend' | 'npu' | 'min_runtime_version'>, file: LiteRtLmFileMetadata | null): LiteRtLmCheckResult;
22
+ /** The request body, strictly: a variant, a path with its backend, or a model id. */
23
+ export declare function parseLiteRtLmCheckRequest(body: unknown): LiteRtLmCheckRequest;
24
+ export interface LiteRtLmCheckDeps {
25
+ platform: LiteRtLmPlatform;
26
+ /** `<data>/litert-lm/models`: the only place a checked path may be. */
27
+ modelsDir: string;
28
+ registry: ModelRegistry;
29
+ resolveBuild: () => Promise<{
30
+ dir: string;
31
+ version: string;
32
+ } | undefined>;
33
+ npuGeneration: () => Promise<LiteRtLmNpu | null>;
34
+ openVinoLibs: () => Promise<string | undefined>;
35
+ /** The runtime's cached `inspect` (by path, mtime and build). */
36
+ inspect: (buildDir: string, file: string) => Promise<LiteRtLmFileMetadata>;
37
+ }
38
+ export declare class LiteRtLmCheckService {
39
+ private readonly deps;
40
+ constructor(deps: LiteRtLmCheckDeps);
41
+ /** A path inside the models root, links resolved, or `INVALID_ARGUMENT`. */
42
+ private inRoot;
43
+ check(request: LiteRtLmCheckRequest): Promise<LiteRtLmCheckResult>;
44
+ }