@elizaos/shared 2.0.0-alpha.538 → 2.0.11-beta.7

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 (729) hide show
  1. package/api/agent-api-types.d.ts +210 -0
  2. package/api/agent-api-types.d.ts.map +1 -0
  3. package/api/agent-api-types.js +11 -0
  4. package/api/agent-api-types.js.map +1 -0
  5. package/api/http-helpers.d.ts +3 -0
  6. package/api/http-helpers.d.ts.map +1 -0
  7. package/api/http-helpers.js +2 -0
  8. package/api/http-helpers.js.map +1 -0
  9. package/api/route-helpers.d.ts +2 -0
  10. package/api/route-helpers.d.ts.map +1 -0
  11. package/api/route-helpers.js +2 -0
  12. package/api/route-helpers.js.map +1 -0
  13. package/app-hero-art.d.ts.map +1 -1
  14. package/app-hero-art.js +5 -13
  15. package/app-hero-art.js.map +1 -1
  16. package/brand/index.d.ts +130 -0
  17. package/brand/index.d.ts.map +1 -0
  18. package/brand/index.js +126 -0
  19. package/brand/index.js.map +1 -0
  20. package/brand-classic/index.d.ts +158 -0
  21. package/brand-classic/index.d.ts.map +1 -0
  22. package/brand-classic/index.js +91 -0
  23. package/brand-classic/index.js.map +1 -0
  24. package/character-language.d.ts +16 -0
  25. package/character-language.d.ts.map +1 -0
  26. package/character-language.js +58 -0
  27. package/character-language.js.map +1 -0
  28. package/{onboarding-presets.characters.d.ts → character-presets.characters.d.ts} +2 -2
  29. package/character-presets.characters.d.ts.map +1 -0
  30. package/{onboarding-presets.characters.js → character-presets.characters.js} +1 -1
  31. package/character-presets.characters.js.map +1 -0
  32. package/{onboarding-presets.d.ts → character-presets.d.ts} +7 -5
  33. package/character-presets.d.ts.map +1 -0
  34. package/{onboarding-presets.js → character-presets.js} +53 -58
  35. package/character-presets.js.map +1 -0
  36. package/{onboarding-presets.shared.d.ts → character-presets.shared.d.ts} +1 -1
  37. package/character-presets.shared.d.ts.map +1 -0
  38. package/{onboarding-presets.shared.js → character-presets.shared.js} +1 -1
  39. package/character-presets.shared.js.map +1 -0
  40. package/checkout/index.d.ts +48 -0
  41. package/checkout/index.d.ts.map +1 -0
  42. package/checkout/index.js +59 -0
  43. package/checkout/index.js.map +1 -0
  44. package/cli/parse-duration.d.ts +5 -0
  45. package/cli/parse-duration.d.ts.map +1 -0
  46. package/cli/parse-duration.js +26 -0
  47. package/cli/parse-duration.js.map +1 -0
  48. package/config/allowed-hosts.d.ts +8 -0
  49. package/config/allowed-hosts.d.ts.map +1 -0
  50. package/config/allowed-hosts.js +44 -0
  51. package/config/allowed-hosts.js.map +1 -0
  52. package/config/api-key-prefix-hints.d.ts +24 -0
  53. package/config/api-key-prefix-hints.d.ts.map +1 -0
  54. package/config/api-key-prefix-hints.js +26 -0
  55. package/config/api-key-prefix-hints.js.map +1 -0
  56. package/config/app-config.d.ts +274 -0
  57. package/config/app-config.d.ts.map +1 -0
  58. package/config/app-config.js +64 -0
  59. package/config/app-config.js.map +1 -0
  60. package/config/app-manifest.d.ts +75 -0
  61. package/config/app-manifest.d.ts.map +1 -0
  62. package/config/app-manifest.js +115 -0
  63. package/config/app-manifest.js.map +1 -0
  64. package/config/boot-config-store.d.ts +74 -0
  65. package/config/boot-config-store.d.ts.map +1 -0
  66. package/config/boot-config-store.js +121 -0
  67. package/config/boot-config-store.js.map +1 -0
  68. package/config/boot-config.d.ts +6 -0
  69. package/config/boot-config.d.ts.map +1 -0
  70. package/config/boot-config.js +6 -0
  71. package/config/boot-config.js.map +1 -0
  72. package/config/branding.d.ts +53 -0
  73. package/config/branding.d.ts.map +1 -0
  74. package/config/branding.js +23 -0
  75. package/config/branding.js.map +1 -0
  76. package/config/cloud-only.d.ts +8 -0
  77. package/config/cloud-only.d.ts.map +1 -0
  78. package/config/cloud-only.js +26 -0
  79. package/config/cloud-only.js.map +1 -0
  80. package/config/config-catalog.d.ts +371 -0
  81. package/config/config-catalog.d.ts.map +1 -0
  82. package/config/config-catalog.js +719 -0
  83. package/config/config-catalog.js.map +1 -0
  84. package/config/config-paths.d.ts +11 -0
  85. package/config/config-paths.d.ts.map +1 -0
  86. package/config/config-paths.js +74 -0
  87. package/config/config-paths.js.map +1 -0
  88. package/config/config.d.ts +11 -0
  89. package/config/config.d.ts.map +1 -0
  90. package/config/config.js +23 -0
  91. package/config/config.js.map +1 -0
  92. package/config/distribution-profile.d.ts +16 -0
  93. package/config/distribution-profile.d.ts.map +1 -0
  94. package/config/distribution-profile.js +29 -0
  95. package/config/distribution-profile.js.map +1 -0
  96. package/config/env-vars.d.ts +2 -0
  97. package/config/env-vars.d.ts.map +1 -0
  98. package/config/env-vars.js +2 -0
  99. package/config/env-vars.js.map +1 -0
  100. package/config/index.d.ts +12 -0
  101. package/config/index.d.ts.map +1 -0
  102. package/config/index.js +15 -0
  103. package/config/index.js.map +1 -0
  104. package/config/plugin-auto-enable-engine.d.ts +4 -0
  105. package/config/plugin-auto-enable-engine.d.ts.map +1 -0
  106. package/config/plugin-auto-enable-engine.js +45 -0
  107. package/config/plugin-auto-enable-engine.js.map +1 -0
  108. package/config/plugin-auto-enable.d.ts +2 -0
  109. package/config/plugin-auto-enable.d.ts.map +1 -0
  110. package/config/plugin-auto-enable.js +8 -0
  111. package/config/plugin-auto-enable.js.map +1 -0
  112. package/config/plugin-manifest.d.ts +89 -0
  113. package/config/plugin-manifest.d.ts.map +1 -0
  114. package/config/plugin-manifest.js +281 -0
  115. package/config/plugin-manifest.js.map +1 -0
  116. package/config/plugin-ui-spec.d.ts +42 -0
  117. package/config/plugin-ui-spec.d.ts.map +1 -0
  118. package/config/plugin-ui-spec.js +257 -0
  119. package/config/plugin-ui-spec.js.map +1 -0
  120. package/config/runtime-mode.d.ts +54 -0
  121. package/config/runtime-mode.d.ts.map +1 -0
  122. package/config/runtime-mode.js +107 -0
  123. package/config/runtime-mode.js.map +1 -0
  124. package/config/runtime-overrides.d.ts +16 -0
  125. package/config/runtime-overrides.d.ts.map +1 -0
  126. package/config/runtime-overrides.js +49 -0
  127. package/config/runtime-overrides.js.map +1 -0
  128. package/config/schema.d.ts +7 -0
  129. package/config/schema.d.ts.map +1 -0
  130. package/config/schema.js +30 -0
  131. package/config/schema.js.map +1 -0
  132. package/config/types.agent-defaults.d.ts +6 -1
  133. package/config/types.agent-defaults.d.ts.map +1 -1
  134. package/config/types.agents.d.ts +9 -4
  135. package/config/types.agents.d.ts.map +1 -1
  136. package/config/types.eliza.d.ts +27 -49
  137. package/config/types.eliza.d.ts.map +1 -1
  138. package/config/types.messages.d.ts +2 -2
  139. package/config/types.messages.d.ts.map +1 -1
  140. package/config/types.tools.d.ts +2 -2
  141. package/config/types.tools.d.ts.map +1 -1
  142. package/config/ui-spec.d.ts +164 -0
  143. package/config/ui-spec.d.ts.map +1 -0
  144. package/config/ui-spec.js +14 -0
  145. package/config/ui-spec.js.map +1 -0
  146. package/config/wechat-config.d.ts +2 -0
  147. package/config/wechat-config.d.ts.map +1 -0
  148. package/config/wechat-config.js +2 -0
  149. package/config/wechat-config.js.map +1 -0
  150. package/config/zod-schema.agent-runtime.d.ts +1087 -0
  151. package/config/zod-schema.agent-runtime.d.ts.map +1 -0
  152. package/config/zod-schema.agent-runtime.js +764 -0
  153. package/config/zod-schema.agent-runtime.js.map +1 -0
  154. package/config/zod-schema.core.d.ts +1048 -0
  155. package/config/zod-schema.core.d.ts.map +1 -0
  156. package/config/zod-schema.core.js +707 -0
  157. package/config/zod-schema.core.js.map +1 -0
  158. package/connector-cred-types.d.ts +3 -3
  159. package/connector-cred-types.js +4 -4
  160. package/connectors.d.ts +0 -8
  161. package/connectors.d.ts.map +1 -1
  162. package/connectors.js +26 -50
  163. package/connectors.js.map +1 -1
  164. package/contracts/agent-routes.d.ts +63 -0
  165. package/contracts/agent-routes.d.ts.map +1 -0
  166. package/contracts/agent-routes.js +55 -0
  167. package/contracts/agent-routes.js.map +1 -0
  168. package/contracts/app-permissions-routes.d.ts +148 -0
  169. package/contracts/app-permissions-routes.d.ts.map +1 -0
  170. package/contracts/app-permissions-routes.js +96 -0
  171. package/contracts/app-permissions-routes.js.map +1 -0
  172. package/contracts/app-permissions.d.ts +122 -0
  173. package/contracts/app-permissions.d.ts.map +1 -0
  174. package/contracts/app-permissions.js +163 -0
  175. package/contracts/app-permissions.js.map +1 -0
  176. package/contracts/apps-favorites-routes.d.ts +44 -0
  177. package/contracts/apps-favorites-routes.d.ts.map +1 -0
  178. package/contracts/apps-favorites-routes.js +48 -0
  179. package/contracts/apps-favorites-routes.js.map +1 -0
  180. package/contracts/apps-lifecycle-routes.d.ts +185 -0
  181. package/contracts/apps-lifecycle-routes.d.ts.map +1 -0
  182. package/contracts/apps-lifecycle-routes.js +204 -0
  183. package/contracts/apps-lifecycle-routes.js.map +1 -0
  184. package/contracts/apps-loading-routes.d.ts +64 -0
  185. package/contracts/apps-loading-routes.d.ts.map +1 -0
  186. package/contracts/apps-loading-routes.js +65 -0
  187. package/contracts/apps-loading-routes.js.map +1 -0
  188. package/contracts/apps-runs-routes.d.ts +33 -0
  189. package/contracts/apps-runs-routes.d.ts.map +1 -0
  190. package/contracts/apps-runs-routes.js +38 -0
  191. package/contracts/apps-runs-routes.js.map +1 -0
  192. package/contracts/apps.d.ts +883 -3
  193. package/contracts/apps.d.ts.map +1 -1
  194. package/contracts/apps.js +278 -40
  195. package/contracts/apps.js.map +1 -1
  196. package/contracts/auth-routes.d.ts +23 -0
  197. package/contracts/auth-routes.d.ts.map +1 -0
  198. package/contracts/auth-routes.js +25 -0
  199. package/contracts/auth-routes.js.map +1 -0
  200. package/contracts/awareness.d.ts +1 -1
  201. package/contracts/calendar.d.ts +181 -0
  202. package/contracts/calendar.d.ts.map +1 -0
  203. package/contracts/calendar.js +19 -0
  204. package/contracts/calendar.js.map +1 -0
  205. package/contracts/character-routes.d.ts +70 -0
  206. package/contracts/character-routes.d.ts.map +1 -0
  207. package/contracts/character-routes.js +49 -0
  208. package/contracts/character-routes.js.map +1 -0
  209. package/contracts/cloud-coding-containers.d.ts +432 -0
  210. package/contracts/cloud-coding-containers.d.ts.map +1 -0
  211. package/contracts/cloud-coding-containers.js +135 -0
  212. package/contracts/cloud-coding-containers.js.map +1 -0
  213. package/contracts/cloud-topology.js +7 -7
  214. package/contracts/cloud-topology.js.map +1 -1
  215. package/contracts/config.d.ts +52 -4
  216. package/contracts/config.d.ts.map +1 -1
  217. package/contracts/connector-routes.d.ts +39 -0
  218. package/contracts/connector-routes.d.ts.map +1 -0
  219. package/contracts/connector-routes.js +50 -0
  220. package/contracts/connector-routes.js.map +1 -0
  221. package/contracts/content-pack.d.ts +2 -2
  222. package/contracts/content-pack.d.ts.map +1 -1
  223. package/contracts/content-pack.js +1 -1
  224. package/contracts/conversation-routes.d.ts +195 -0
  225. package/contracts/conversation-routes.d.ts.map +1 -0
  226. package/contracts/conversation-routes.js +107 -0
  227. package/contracts/conversation-routes.js.map +1 -0
  228. package/contracts/diagnostics-routes.d.ts +33 -0
  229. package/contracts/diagnostics-routes.d.ts.map +1 -0
  230. package/contracts/diagnostics-routes.js +26 -0
  231. package/contracts/diagnostics-routes.js.map +1 -0
  232. package/contracts/feature-result.d.ts +24 -0
  233. package/contracts/feature-result.d.ts.map +1 -0
  234. package/contracts/feature-result.js +7 -0
  235. package/contracts/feature-result.js.map +1 -0
  236. package/contracts/{onboarding.d.ts → first-run-options.d.ts} +172 -69
  237. package/contracts/first-run-options.d.ts.map +1 -0
  238. package/contracts/{onboarding.js → first-run-options.js} +222 -91
  239. package/contracts/first-run-options.js.map +1 -0
  240. package/contracts/first-run-routes.d.ts +167 -0
  241. package/contracts/first-run-routes.d.ts.map +1 -0
  242. package/contracts/first-run-routes.js +115 -0
  243. package/contracts/first-run-routes.js.map +1 -0
  244. package/contracts/health.d.ts +30 -0
  245. package/contracts/health.d.ts.map +1 -0
  246. package/contracts/health.js +29 -0
  247. package/contracts/health.js.map +1 -0
  248. package/contracts/inbox-routes.d.ts +37 -0
  249. package/contracts/inbox-routes.d.ts.map +1 -0
  250. package/contracts/inbox-routes.js +44 -0
  251. package/contracts/inbox-routes.js.map +1 -0
  252. package/contracts/index.d.ts +30 -3
  253. package/contracts/index.d.ts.map +1 -1
  254. package/contracts/index.js +30 -3
  255. package/contracts/index.js.map +1 -1
  256. package/contracts/memory-routes.d.ts +27 -0
  257. package/contracts/memory-routes.d.ts.map +1 -0
  258. package/contracts/memory-routes.js +23 -0
  259. package/contracts/memory-routes.js.map +1 -0
  260. package/contracts/misc-routes.d.ts +192 -0
  261. package/contracts/misc-routes.d.ts.map +1 -0
  262. package/contracts/misc-routes.js +155 -0
  263. package/contracts/misc-routes.js.map +1 -0
  264. package/contracts/permissions-routes.d.ts +31 -0
  265. package/contracts/permissions-routes.d.ts.map +1 -0
  266. package/contracts/permissions-routes.js +34 -0
  267. package/contracts/permissions-routes.js.map +1 -0
  268. package/contracts/permissions.d.ts +81 -11
  269. package/contracts/permissions.d.ts.map +1 -1
  270. package/contracts/permissions.js +37 -1
  271. package/contracts/permissions.js.map +1 -1
  272. package/contracts/{lifeops.d.ts → personal-assistant.d.ts} +368 -170
  273. package/contracts/personal-assistant.d.ts.map +1 -0
  274. package/contracts/{lifeops.js → personal-assistant.js} +39 -13
  275. package/contracts/personal-assistant.js.map +1 -0
  276. package/contracts/plugin-routes.d.ts +105 -0
  277. package/contracts/plugin-routes.d.ts.map +1 -0
  278. package/contracts/plugin-routes.js +81 -0
  279. package/contracts/plugin-routes.js.map +1 -0
  280. package/contracts/relationships-routes.d.ts +23 -0
  281. package/contracts/relationships-routes.d.ts.map +1 -0
  282. package/contracts/relationships-routes.js +22 -0
  283. package/contracts/relationships-routes.js.map +1 -0
  284. package/contracts/service-routing.d.ts +7 -121
  285. package/contracts/service-routing.d.ts.map +1 -1
  286. package/contracts/service-routing.js +19 -12
  287. package/contracts/service-routing.js.map +1 -1
  288. package/contracts/skills-routes.d.ts +116 -0
  289. package/contracts/skills-routes.d.ts.map +1 -0
  290. package/contracts/skills-routes.js +115 -0
  291. package/contracts/skills-routes.js.map +1 -0
  292. package/contracts/subscription-routes.d.ts +47 -0
  293. package/contracts/subscription-routes.d.ts.map +1 -0
  294. package/contracts/subscription-routes.js +50 -0
  295. package/contracts/subscription-routes.js.map +1 -0
  296. package/contracts/tail-routes.d.ts +78 -0
  297. package/contracts/tail-routes.d.ts.map +1 -0
  298. package/contracts/tail-routes.js +63 -0
  299. package/contracts/tail-routes.js.map +1 -0
  300. package/contracts/theme.d.ts +0 -2
  301. package/contracts/theme.d.ts.map +1 -1
  302. package/contracts/theme.js +0 -2
  303. package/contracts/theme.js.map +1 -1
  304. package/contracts/update-status.d.ts +100 -0
  305. package/contracts/update-status.d.ts.map +1 -0
  306. package/contracts/update-status.js +45 -0
  307. package/contracts/update-status.js.map +1 -0
  308. package/contracts/wallet-routes.d.ts +82 -0
  309. package/contracts/wallet-routes.d.ts.map +1 -0
  310. package/contracts/wallet-routes.js +49 -0
  311. package/contracts/wallet-routes.js.map +1 -0
  312. package/contracts/wallet.d.ts +12 -570
  313. package/contracts/wallet.d.ts.map +1 -1
  314. package/contracts/wallet.js +139 -0
  315. package/contracts/wallet.js.map +1 -1
  316. package/contracts/workbench-routes.d.ts +231 -0
  317. package/contracts/workbench-routes.d.ts.map +1 -0
  318. package/contracts/workbench-routes.js +183 -0
  319. package/contracts/workbench-routes.js.map +1 -0
  320. package/db/drizzle-database.d.ts +13 -0
  321. package/db/drizzle-database.d.ts.map +1 -0
  322. package/db/drizzle-database.js +2 -0
  323. package/db/drizzle-database.js.map +1 -0
  324. package/dev-settings-banner-style.d.ts +1 -1
  325. package/dev-settings-banner-style.js +2 -2
  326. package/dev-settings-banner-style.js.map +1 -1
  327. package/dev-settings-figlet-heading.d.ts.map +1 -1
  328. package/dev-settings-figlet-heading.js +1 -8
  329. package/dev-settings-figlet-heading.js.map +1 -1
  330. package/elizacloud/base-url.d.ts +6 -0
  331. package/elizacloud/base-url.d.ts.map +1 -0
  332. package/elizacloud/base-url.js +65 -0
  333. package/elizacloud/base-url.js.map +1 -0
  334. package/elizacloud/cloud-provisioning.d.ts +9 -0
  335. package/elizacloud/cloud-provisioning.d.ts.map +1 -0
  336. package/elizacloud/cloud-provisioning.js +25 -0
  337. package/elizacloud/cloud-provisioning.js.map +1 -0
  338. package/elizacloud/cloud-secrets.d.ts +23 -0
  339. package/elizacloud/cloud-secrets.d.ts.map +1 -0
  340. package/elizacloud/cloud-secrets.js +51 -0
  341. package/elizacloud/cloud-secrets.js.map +1 -0
  342. package/elizacloud/index.d.ts +6 -0
  343. package/elizacloud/index.d.ts.map +1 -0
  344. package/elizacloud/index.js +6 -0
  345. package/elizacloud/index.js.map +1 -0
  346. package/elizacloud/is-cloud-reachable.d.ts +19 -0
  347. package/elizacloud/is-cloud-reachable.d.ts.map +1 -0
  348. package/elizacloud/is-cloud-reachable.js +44 -0
  349. package/elizacloud/is-cloud-reachable.js.map +1 -0
  350. package/elizacloud/server-cloud-tts.d.ts +21 -0
  351. package/elizacloud/server-cloud-tts.d.ts.map +1 -0
  352. package/elizacloud/server-cloud-tts.js +293 -0
  353. package/elizacloud/server-cloud-tts.js.map +1 -0
  354. package/email-classification/email-classifier.d.ts +57 -0
  355. package/email-classification/email-classifier.d.ts.map +1 -0
  356. package/email-classification/email-classifier.js +348 -0
  357. package/email-classification/email-classifier.js.map +1 -0
  358. package/email-classification/index.d.ts +12 -0
  359. package/email-classification/index.d.ts.map +1 -0
  360. package/email-classification/index.js +12 -0
  361. package/email-classification/index.js.map +1 -0
  362. package/email-classification/wrap-untrusted-email-content.d.ts +15 -0
  363. package/email-classification/wrap-untrusted-email-content.d.ts.map +1 -0
  364. package/email-classification/wrap-untrusted-email-content.js +24 -0
  365. package/email-classification/wrap-untrusted-email-content.js.map +1 -0
  366. package/env-utils.d.ts +1 -4
  367. package/env-utils.d.ts.map +1 -1
  368. package/env-utils.js +9 -1
  369. package/env-utils.js.map +1 -1
  370. package/events/index.d.ts +68 -0
  371. package/events/index.d.ts.map +1 -0
  372. package/events/index.js +53 -0
  373. package/events/index.js.map +1 -0
  374. package/hardware-catalog/index.d.ts +204 -0
  375. package/hardware-catalog/index.d.ts.map +1 -0
  376. package/hardware-catalog/index.js +174 -0
  377. package/hardware-catalog/index.js.map +1 -0
  378. package/i18n/generated/validation-keyword-data.d.ts +2711 -748
  379. package/i18n/generated/validation-keyword-data.d.ts.map +1 -1
  380. package/i18n/generated/validation-keyword-data.js +2711 -748
  381. package/i18n/generated/validation-keyword-data.js.map +1 -1
  382. package/i18n/keyword-matching.d.ts.map +1 -1
  383. package/i18n/keyword-matching.js +4 -1
  384. package/i18n/keyword-matching.js.map +1 -1
  385. package/index.d.ts +82 -7
  386. package/index.d.ts.map +1 -1
  387. package/index.js +109 -13
  388. package/index.js.map +1 -1
  389. package/knowledge-graph/entity-types.d.ts +135 -0
  390. package/knowledge-graph/entity-types.d.ts.map +1 -0
  391. package/knowledge-graph/entity-types.js +75 -0
  392. package/knowledge-graph/entity-types.js.map +1 -0
  393. package/knowledge-graph/index.d.ts +13 -0
  394. package/knowledge-graph/index.d.ts.map +1 -0
  395. package/knowledge-graph/index.js +13 -0
  396. package/knowledge-graph/index.js.map +1 -0
  397. package/knowledge-graph/merge.d.ts +76 -0
  398. package/knowledge-graph/merge.d.ts.map +1 -0
  399. package/knowledge-graph/merge.js +175 -0
  400. package/knowledge-graph/merge.js.map +1 -0
  401. package/knowledge-graph/relationship-types.d.ts +105 -0
  402. package/knowledge-graph/relationship-types.d.ts.map +1 -0
  403. package/knowledge-graph/relationship-types.js +114 -0
  404. package/knowledge-graph/relationship-types.js.map +1 -0
  405. package/lifeops-constants/index.d.ts +9 -0
  406. package/lifeops-constants/index.d.ts.map +1 -0
  407. package/lifeops-constants/index.js +9 -0
  408. package/lifeops-constants/index.js.map +1 -0
  409. package/lifeops-constants/service-constants.d.ts +79 -0
  410. package/lifeops-constants/service-constants.d.ts.map +1 -0
  411. package/lifeops-constants/service-constants.js +123 -0
  412. package/lifeops-constants/service-constants.js.map +1 -0
  413. package/lifeops-normalize/index.d.ts +12 -0
  414. package/lifeops-normalize/index.d.ts.map +1 -0
  415. package/lifeops-normalize/index.js +12 -0
  416. package/lifeops-normalize/index.js.map +1 -0
  417. package/lifeops-normalize/service-error.d.ts +14 -0
  418. package/lifeops-normalize/service-error.d.ts.map +1 -0
  419. package/lifeops-normalize/service-error.js +19 -0
  420. package/lifeops-normalize/service-error.js.map +1 -0
  421. package/lifeops-normalize/service-normalize.d.ts +38 -0
  422. package/lifeops-normalize/service-normalize.d.ts.map +1 -0
  423. package/lifeops-normalize/service-normalize.js +205 -0
  424. package/lifeops-normalize/service-normalize.js.map +1 -0
  425. package/lifeops-normalize/time-zone.d.ts +12 -0
  426. package/lifeops-normalize/time-zone.d.ts.map +1 -0
  427. package/lifeops-normalize/time-zone.js +29 -0
  428. package/lifeops-normalize/time-zone.js.map +1 -0
  429. package/local-inference/catalog.d.ts +97 -0
  430. package/local-inference/catalog.d.ts.map +1 -0
  431. package/local-inference/catalog.js +547 -0
  432. package/local-inference/catalog.js.map +1 -0
  433. package/local-inference/gpu-profiles.d.ts +110 -0
  434. package/local-inference/gpu-profiles.d.ts.map +1 -0
  435. package/local-inference/gpu-profiles.js +214 -0
  436. package/local-inference/gpu-profiles.js.map +1 -0
  437. package/local-inference/index.d.ts +21 -0
  438. package/local-inference/index.d.ts.map +1 -0
  439. package/local-inference/index.js +18 -0
  440. package/local-inference/index.js.map +1 -0
  441. package/local-inference/manifest-signature.d.ts +61 -0
  442. package/local-inference/manifest-signature.d.ts.map +1 -0
  443. package/local-inference/manifest-signature.js +129 -0
  444. package/local-inference/manifest-signature.js.map +1 -0
  445. package/local-inference/network-policy.d.ts +115 -0
  446. package/local-inference/network-policy.d.ts.map +1 -0
  447. package/local-inference/network-policy.js +154 -0
  448. package/local-inference/network-policy.js.map +1 -0
  449. package/local-inference/paths.d.ts +24 -0
  450. package/local-inference/paths.d.ts.map +1 -0
  451. package/local-inference/paths.js +40 -0
  452. package/local-inference/paths.js.map +1 -0
  453. package/local-inference/providers-types.d.ts +56 -0
  454. package/local-inference/providers-types.d.ts.map +1 -0
  455. package/local-inference/providers-types.js +19 -0
  456. package/local-inference/providers-types.js.map +1 -0
  457. package/local-inference/routing-preferences.d.ts +31 -0
  458. package/local-inference/routing-preferences.d.ts.map +1 -0
  459. package/local-inference/routing-preferences.js +73 -0
  460. package/local-inference/routing-preferences.js.map +1 -0
  461. package/local-inference/throughput.d.ts +74 -0
  462. package/local-inference/throughput.d.ts.map +1 -0
  463. package/local-inference/throughput.js +84 -0
  464. package/local-inference/throughput.js.map +1 -0
  465. package/local-inference/types.d.ts +510 -0
  466. package/local-inference/types.d.ts.map +1 -0
  467. package/local-inference/types.js +22 -0
  468. package/local-inference/types.js.map +1 -0
  469. package/local-inference/verify.d.ts +39 -0
  470. package/local-inference/verify.d.ts.map +1 -0
  471. package/local-inference/verify.js +105 -0
  472. package/local-inference/verify.js.map +1 -0
  473. package/local-inference/voice-models.d.ts +156 -0
  474. package/local-inference/voice-models.d.ts.map +1 -0
  475. package/local-inference/voice-models.js +746 -0
  476. package/local-inference/voice-models.js.map +1 -0
  477. package/local-inference-gpu/gpu-overrides.d.ts +97 -0
  478. package/local-inference-gpu/gpu-overrides.d.ts.map +1 -0
  479. package/local-inference-gpu/gpu-overrides.js +76 -0
  480. package/local-inference-gpu/gpu-overrides.js.map +1 -0
  481. package/local-inference-gpu/gpu-profile-loader.d.ts +83 -0
  482. package/local-inference-gpu/gpu-profile-loader.d.ts.map +1 -0
  483. package/local-inference-gpu/gpu-profile-loader.js +196 -0
  484. package/local-inference-gpu/gpu-profile-loader.js.map +1 -0
  485. package/local-inference-gpu/gpu-profile-schema.d.ts +208 -0
  486. package/local-inference-gpu/gpu-profile-schema.d.ts.map +1 -0
  487. package/local-inference-gpu/gpu-profile-schema.js +123 -0
  488. package/local-inference-gpu/gpu-profile-schema.js.map +1 -0
  489. package/local-inference-gpu/gpu-tier-detect.d.ts +61 -0
  490. package/local-inference-gpu/gpu-tier-detect.d.ts.map +1 -0
  491. package/local-inference-gpu/gpu-tier-detect.js +93 -0
  492. package/local-inference-gpu/gpu-tier-detect.js.map +1 -0
  493. package/local-inference-gpu/gpu-tier-profiles.d.ts +110 -0
  494. package/local-inference-gpu/gpu-tier-profiles.d.ts.map +1 -0
  495. package/local-inference-gpu/gpu-tier-profiles.js +235 -0
  496. package/local-inference-gpu/gpu-tier-profiles.js.map +1 -0
  497. package/package.json +111 -160
  498. package/platform/is-native-server.d.ts +9 -0
  499. package/platform/is-native-server.d.ts.map +1 -0
  500. package/platform/is-native-server.js +12 -0
  501. package/platform/is-native-server.js.map +1 -0
  502. package/restart.d.ts +2 -1
  503. package/restart.d.ts.map +1 -1
  504. package/restart.js +3 -2
  505. package/restart.js.map +1 -1
  506. package/runtime-env.d.ts +2 -2
  507. package/runtime-env.d.ts.map +1 -1
  508. package/runtime-env.js +15 -7
  509. package/runtime-env.js.map +1 -1
  510. package/self-edit.d.ts +4 -4
  511. package/self-edit.d.ts.map +1 -1
  512. package/self-edit.js +5 -5
  513. package/self-edit.js.map +1 -1
  514. package/settings-debug.d.ts.map +1 -1
  515. package/settings-debug.js +45 -38
  516. package/settings-debug.js.map +1 -1
  517. package/spoken-text.d.ts.map +1 -1
  518. package/spoken-text.js +3 -2
  519. package/spoken-text.js.map +1 -1
  520. package/steward-session-client/index.d.ts +172 -0
  521. package/steward-session-client/index.d.ts.map +1 -0
  522. package/steward-session-client/index.js +248 -0
  523. package/steward-session-client/index.js.map +1 -0
  524. package/steward-session-client/steward-oauth-pkce.d.ts +24 -0
  525. package/steward-session-client/steward-oauth-pkce.d.ts.map +1 -0
  526. package/steward-session-client/steward-oauth-pkce.js +105 -0
  527. package/steward-session-client/steward-oauth-pkce.js.map +1 -0
  528. package/terminal/links.d.ts +9 -0
  529. package/terminal/links.d.ts.map +1 -0
  530. package/terminal/links.js +21 -0
  531. package/terminal/links.js.map +1 -0
  532. package/terminal/palette.d.ts +11 -0
  533. package/terminal/palette.d.ts.map +1 -0
  534. package/terminal/palette.js +13 -0
  535. package/terminal/palette.js.map +1 -0
  536. package/terminal/theme.d.ts +17 -0
  537. package/terminal/theme.d.ts.map +1 -0
  538. package/terminal/theme.js +25 -0
  539. package/terminal/theme.js.map +1 -0
  540. package/test-support/process-helpers.d.ts +13 -0
  541. package/test-support/process-helpers.d.ts.map +1 -0
  542. package/test-support/process-helpers.js +24 -0
  543. package/test-support/process-helpers.js.map +1 -0
  544. package/test-support/test-helpers.d.ts +79 -0
  545. package/test-support/test-helpers.d.ts.map +1 -0
  546. package/test-support/test-helpers.js +341 -0
  547. package/test-support/test-helpers.js.map +1 -0
  548. package/transcripts.d.ts +111 -0
  549. package/transcripts.d.ts.map +1 -0
  550. package/transcripts.js +106 -0
  551. package/transcripts.js.map +1 -0
  552. package/type-guards.d.ts +1 -23
  553. package/type-guards.d.ts.map +1 -1
  554. package/type-guards.js +6 -23
  555. package/type-guards.js.map +1 -1
  556. package/types/index.d.ts +654 -0
  557. package/types/index.d.ts.map +1 -0
  558. package/types/index.js +5 -0
  559. package/types/index.js.map +1 -0
  560. package/utils/asset-url.d.ts +24 -0
  561. package/utils/asset-url.d.ts.map +1 -0
  562. package/utils/asset-url.js +151 -0
  563. package/utils/asset-url.js.map +1 -0
  564. package/utils/assistant-text.d.ts +13 -0
  565. package/utils/assistant-text.d.ts.map +1 -0
  566. package/utils/assistant-text.js +292 -0
  567. package/utils/assistant-text.js.map +1 -0
  568. package/utils/browser-tab-kit-types.d.ts +81 -0
  569. package/utils/browser-tab-kit-types.d.ts.map +1 -0
  570. package/utils/browser-tab-kit-types.js +23 -0
  571. package/utils/browser-tab-kit-types.js.map +1 -0
  572. package/utils/browser-tabs-renderer-registry.d.ts +56 -0
  573. package/utils/browser-tabs-renderer-registry.d.ts.map +1 -0
  574. package/utils/browser-tabs-renderer-registry.js +1282 -0
  575. package/utils/browser-tabs-renderer-registry.js.map +1 -0
  576. package/utils/character-message-examples.d.ts +7 -0
  577. package/utils/character-message-examples.d.ts.map +1 -0
  578. package/utils/character-message-examples.js +123 -0
  579. package/utils/character-message-examples.js.map +1 -0
  580. package/utils/cloud-status.d.ts +3 -0
  581. package/utils/cloud-status.d.ts.map +1 -0
  582. package/utils/cloud-status.js +11 -0
  583. package/utils/cloud-status.js.map +1 -0
  584. package/utils/documents-upload-image.d.ts +27 -0
  585. package/utils/documents-upload-image.d.ts.map +1 -0
  586. package/utils/documents-upload-image.js +147 -0
  587. package/utils/documents-upload-image.js.map +1 -0
  588. package/utils/eliza-cloud-model-route.d.ts +3 -0
  589. package/utils/eliza-cloud-model-route.d.ts.map +1 -0
  590. package/utils/eliza-cloud-model-route.js +10 -0
  591. package/utils/eliza-cloud-model-route.js.map +1 -0
  592. package/utils/eliza-globals.d.ts +13 -0
  593. package/utils/eliza-globals.d.ts.map +1 -0
  594. package/utils/eliza-globals.js +49 -0
  595. package/utils/eliza-globals.js.map +1 -0
  596. package/utils/eliza-root.d.ts +9 -0
  597. package/utils/eliza-root.d.ts.map +1 -0
  598. package/utils/eliza-root.js +102 -0
  599. package/utils/eliza-root.js.map +1 -0
  600. package/utils/env.d.ts +34 -0
  601. package/utils/env.d.ts.map +1 -0
  602. package/utils/env.js +142 -0
  603. package/utils/env.js.map +1 -0
  604. package/utils/errors.d.ts +13 -0
  605. package/utils/errors.d.ts.map +1 -0
  606. package/utils/errors.js +26 -0
  607. package/utils/errors.js.map +1 -0
  608. package/utils/exec-safety.d.ts +2 -0
  609. package/utils/exec-safety.d.ts.map +1 -0
  610. package/utils/exec-safety.js +25 -0
  611. package/utils/exec-safety.js.map +1 -0
  612. package/utils/format.d.ts +85 -0
  613. package/utils/format.d.ts.map +1 -0
  614. package/utils/format.js +140 -0
  615. package/utils/format.js.map +1 -0
  616. package/utils/labels.d.ts +6 -0
  617. package/utils/labels.d.ts.map +1 -0
  618. package/utils/labels.js +42 -0
  619. package/utils/labels.js.map +1 -0
  620. package/utils/log-prefix.d.ts +2 -0
  621. package/utils/log-prefix.d.ts.map +1 -0
  622. package/utils/log-prefix.js +44 -0
  623. package/utils/log-prefix.js.map +1 -0
  624. package/utils/name-tokens.d.ts +24 -0
  625. package/utils/name-tokens.d.ts.map +1 -0
  626. package/utils/name-tokens.js +37 -0
  627. package/utils/name-tokens.js.map +1 -0
  628. package/utils/namespace-defaults.d.ts +10 -0
  629. package/utils/namespace-defaults.d.ts.map +1 -0
  630. package/utils/namespace-defaults.js +17 -0
  631. package/utils/namespace-defaults.js.map +1 -0
  632. package/utils/number-parsing.d.ts +26 -0
  633. package/utils/number-parsing.d.ts.map +1 -0
  634. package/utils/number-parsing.js +57 -0
  635. package/utils/number-parsing.js.map +1 -0
  636. package/utils/owner-name.d.ts +3 -0
  637. package/utils/owner-name.d.ts.map +1 -0
  638. package/utils/owner-name.js +8 -0
  639. package/utils/owner-name.js.map +1 -0
  640. package/utils/permission-deep-links.d.ts +35 -0
  641. package/utils/permission-deep-links.d.ts.map +1 -0
  642. package/utils/permission-deep-links.js +95 -0
  643. package/utils/permission-deep-links.js.map +1 -0
  644. package/utils/rate-limiter.d.ts +32 -0
  645. package/utils/rate-limiter.d.ts.map +1 -0
  646. package/utils/rate-limiter.js +53 -0
  647. package/utils/rate-limiter.js.map +1 -0
  648. package/utils/serialise.d.ts +12 -0
  649. package/utils/serialise.d.ts.map +1 -0
  650. package/utils/serialise.js +22 -0
  651. package/utils/serialise.js.map +1 -0
  652. package/utils/sql-compat.d.ts +10 -0
  653. package/utils/sql-compat.d.ts.map +1 -0
  654. package/utils/sql-compat.js +112 -0
  655. package/utils/sql-compat.js.map +1 -0
  656. package/utils/streaming-text.d.ts +9 -0
  657. package/utils/streaming-text.d.ts.map +1 -0
  658. package/utils/streaming-text.js +116 -0
  659. package/utils/streaming-text.js.map +1 -0
  660. package/utils/subscription-auth.d.ts +9 -0
  661. package/utils/subscription-auth.d.ts.map +1 -0
  662. package/utils/subscription-auth.js +49 -0
  663. package/utils/subscription-auth.js.map +1 -0
  664. package/utils/trajectory-format.d.ts +6 -0
  665. package/utils/trajectory-format.d.ts.map +1 -0
  666. package/utils/trajectory-format.js +44 -0
  667. package/utils/trajectory-format.js.map +1 -0
  668. package/utils/tts-debug.d.ts +10 -0
  669. package/utils/tts-debug.d.ts.map +1 -0
  670. package/utils/tts-debug.js +73 -0
  671. package/utils/tts-debug.js.map +1 -0
  672. package/view-hero-art.d.ts +75 -0
  673. package/view-hero-art.d.ts.map +1 -0
  674. package/view-hero-art.js +360 -0
  675. package/view-hero-art.js.map +1 -0
  676. package/voice/first-sentence-snip.d.ts +68 -0
  677. package/voice/first-sentence-snip.d.ts.map +1 -0
  678. package/voice/first-sentence-snip.js +284 -0
  679. package/voice/first-sentence-snip.js.map +1 -0
  680. package/voice/voice-cancellation-token.d.ts +127 -0
  681. package/voice/voice-cancellation-token.d.ts.map +1 -0
  682. package/voice/voice-cancellation-token.js +186 -0
  683. package/voice/voice-cancellation-token.js.map +1 -0
  684. package/voice-wer.d.ts +19 -0
  685. package/voice-wer.d.ts.map +1 -0
  686. package/voice-wer.js +42 -0
  687. package/voice-wer.js.map +1 -0
  688. package/voice.d.ts +55 -0
  689. package/voice.d.ts.map +1 -0
  690. package/voice.js +337 -0
  691. package/voice.js.map +1 -0
  692. package/contracts/lifeops-extensions.d.ts +0 -340
  693. package/contracts/lifeops-extensions.d.ts.map +0 -1
  694. package/contracts/lifeops-extensions.js +0 -37
  695. package/contracts/lifeops-extensions.js.map +0 -1
  696. package/contracts/lifeops.d.ts.map +0 -1
  697. package/contracts/lifeops.js.map +0 -1
  698. package/contracts/onboarding.d.ts.map +0 -1
  699. package/contracts/onboarding.js.map +0 -1
  700. package/contracts/scratchpad.d.ts +0 -136
  701. package/contracts/scratchpad.d.ts.map +0 -1
  702. package/contracts/scratchpad.js +0 -91
  703. package/contracts/scratchpad.js.map +0 -1
  704. package/eliza-core-roles.d.ts +0 -79
  705. package/eliza-core-roles.d.ts.map +0 -1
  706. package/eliza-core-roles.js +0 -600
  707. package/eliza-core-roles.js.map +0 -1
  708. package/env-utils.impl.d.ts +0 -2
  709. package/env-utils.impl.d.ts.map +0 -1
  710. package/env-utils.impl.js +0 -10
  711. package/env-utils.impl.js.map +0 -1
  712. package/onboarding-presets.characters.d.ts.map +0 -1
  713. package/onboarding-presets.characters.js.map +0 -1
  714. package/onboarding-presets.d.ts.map +0 -1
  715. package/onboarding-presets.js.map +0 -1
  716. package/onboarding-presets.shared.d.ts.map +0 -1
  717. package/onboarding-presets.shared.js.map +0 -1
  718. package/themes/index.d.ts +0 -7
  719. package/themes/index.d.ts.map +0 -1
  720. package/themes/index.js +0 -6
  721. package/themes/index.js.map +0 -1
  722. package/themes/presets.d.ts +0 -15
  723. package/themes/presets.d.ts.map +0 -1
  724. package/themes/presets.js +0 -789
  725. package/themes/presets.js.map +0 -1
  726. package/types.d.ts +0 -27
  727. package/types.d.ts.map +0 -1
  728. package/types.js +0 -2
  729. package/types.js.map +0 -1
@@ -0,0 +1,547 @@
1
+ /**
2
+ * Eliza-curated local model catalog.
3
+ *
4
+ * Default local inference is restricted to the active Eliza-1 line:
5
+ * eliza-1-0_8b, eliza-1-2b, eliza-1-4b, eliza-1-9b, eliza-1-27b,
6
+ * and eliza-1-27b-256k.
7
+ * These ship Qwen3.5 bases for 0.8B/2B/4B/9B and Qwen3.6 for 27B. The
8
+ * 2026-05-12 mandate retired the legacy Qwen3 bases; see
9
+ * packages/training/scripts/training/model_registry.py for the active
10
+ * registry. External Hub search remains custom/opt-in and never enters
11
+ * first-run or default eligibility.
12
+ */
13
+ export const ELIZA_1_HF_REPO = "elizaos/eliza-1";
14
+ export const ELIZA_1_TIER_IDS = [
15
+ "eliza-1-0_8b",
16
+ "eliza-1-2b",
17
+ "eliza-1-4b",
18
+ "eliza-1-9b",
19
+ "eliza-1-27b",
20
+ "eliza-1-27b-256k",
21
+ ];
22
+ export const ELIZA_1_RELEASE_TIER_IDS = ELIZA_1_TIER_IDS;
23
+ export const ELIZA_1_VISION_TIER_IDS = [
24
+ "eliza-1-0_8b",
25
+ "eliza-1-2b",
26
+ "eliza-1-4b",
27
+ "eliza-1-9b",
28
+ "eliza-1-27b",
29
+ "eliza-1-27b-256k",
30
+ ];
31
+ const _ELIZA_1_VISION_TIER_ID_SET = new Set(ELIZA_1_VISION_TIER_IDS);
32
+ export const ELIZA_1_MTP_TIER_IDS = [
33
+ "eliza-1-0_8b",
34
+ "eliza-1-2b",
35
+ "eliza-1-4b",
36
+ "eliza-1-9b",
37
+ "eliza-1-27b",
38
+ "eliza-1-27b-256k",
39
+ ];
40
+ const _ELIZA_1_MTP_TIER_ID_SET = new Set(ELIZA_1_MTP_TIER_IDS);
41
+ function mtpSupportedForTier(id) {
42
+ return _ELIZA_1_MTP_TIER_ID_SET.has(id);
43
+ }
44
+ // The quantized 4B (Qwen3.5) is the minimum tier that is good enough to ship
45
+ // as the default chat model. The 0.8B/2B tiers remain in the catalog (and as
46
+ // MTP drafter companions) but are no longer first-run defaults — they are too
47
+ // small for a quality conversational experience.
48
+ export const FIRST_RUN_DEFAULT_MODEL_ID = "eliza-1-4b";
49
+ export const DEFAULT_ELIGIBLE_MODEL_IDS = new Set(ELIZA_1_RELEASE_TIER_IDS);
50
+ export function isDefaultEligibleId(id) {
51
+ return DEFAULT_ELIGIBLE_MODEL_IDS.has(id);
52
+ }
53
+ /**
54
+ * Per-tier publish-state hint. Keys are tier ids that are known to have
55
+ * a pending Hugging Face bundle at the time the catalog snapshot was
56
+ * cut. Tiers not listed here default to `"published"`. The recommender
57
+ * consults this map (or a `publishStatus` field on a synthetic
58
+ * `CatalogModel`) before recommending a first-run default — see
59
+ * `recommendForFirstRun` and elizaOS/eliza#7629.
60
+ *
61
+ * Set the override env var `ELIZA_PUBLISH_STATUS_OVERRIDES` to a JSON
62
+ * object like `{"eliza-1-2b":"published","eliza-1-9b":"pending"}` to
63
+ * override at runtime without changing the static map (useful for QA
64
+ * and for installs that depend on a private HF mirror).
65
+ *
66
+ * W3-12 audit (2026-05-14): the following areas require publish attention:
67
+ * - 0.8B/2B vision: enabled in the catalog and canonical vision tier set;
68
+ * publish staging must include `vision/mmproj-0_8b.gguf` and
69
+ * `vision/mmproj-2b.gguf` or manifest validation fails loudly.
70
+ * - Voice sub-models (wakeword, turn-detector, speaker-encoder, emotion):
71
+ * published under the unified elizaos/eliza-1 `voice/<model-id>/...`
72
+ * layout. Per-tier manifests still need to consume these paths directly
73
+ * where a bundle wants eager voice downloads.
74
+ * - Kokoro same voice preset: `af_same.bin` absent from all
75
+ * bundles; I7 eval showed regression. Current bundles ship af_bella
76
+ * and standard voices only.
77
+ */
78
+ export const ELIZA_1_TIER_PUBLISH_STATUS = {};
79
+ export function eliza1TierPublishStatus(id) {
80
+ const override = readPublishStatusOverride(id);
81
+ if (override)
82
+ return override;
83
+ const hint = ELIZA_1_TIER_PUBLISH_STATUS[id];
84
+ return hint ?? "published";
85
+ }
86
+ function readPublishStatusOverride(id) {
87
+ const raw = typeof process !== "undefined"
88
+ ? process.env.ELIZA_PUBLISH_STATUS_OVERRIDES
89
+ : undefined;
90
+ if (!raw)
91
+ return undefined;
92
+ try {
93
+ const parsed = JSON.parse(raw);
94
+ const value = parsed[id];
95
+ if (value === "published" || value === "pending")
96
+ return value;
97
+ }
98
+ catch {
99
+ // Malformed override JSON is non-fatal — fall back to the static
100
+ // publish-status hint and the catalog's own `publishStatus` field.
101
+ }
102
+ return undefined;
103
+ }
104
+ export const ELIZA_1_PLACEHOLDER_IDS = new Set(ELIZA_1_TIER_IDS);
105
+ /**
106
+ * Per-tier voice backend policy. The FIRST entry is the default backend
107
+ * for that tier — `runtime-selection.ts` picks it when both backends are
108
+ * available and no override applies (voice cloning, TTFA target, RTF).
109
+ * Entries beyond the first are also bundled; tiers that ship only one
110
+ * backend have a single-element array.
111
+ *
112
+ * Policy:
113
+ * - Mobile-class tiers (0_8b / 2b / 4b) → Kokoro only. Kokoro is ~82M
114
+ * params (a single ~60-80 MB GGUF) and hits ~97ms CPU TTFB, so it is
115
+ * both smaller and faster than OmniVoice (~400-625 MB) — the right
116
+ * trade for phones. OmniVoice is not shipped in these bundles. On
117
+ * mobile, `selectVoiceBackend({ mobile: true })` also forces Kokoro
118
+ * regardless of any env override, so the path is Kokoro-exclusive.
119
+ * - 9B → OmniVoice first with Kokoro bundled for hosts with enough memory.
120
+ * - Large tiers (27b / 27b-256k) → OmniVoice only. The RAM
121
+ * and compute budget is large enough that the OmniVoice quality win
122
+ * dominates; Kokoro is not shipped in these bundles.
123
+ */
124
+ export const ELIZA_1_VOICE_BACKENDS = {
125
+ "eliza-1-0_8b": ["kokoro"],
126
+ "eliza-1-2b": ["kokoro"],
127
+ "eliza-1-4b": ["kokoro"],
128
+ "eliza-1-9b": ["omnivoice", "kokoro"],
129
+ "eliza-1-27b": ["omnivoice"],
130
+ "eliza-1-27b-256k": ["omnivoice"],
131
+ };
132
+ const BASE_REQUIRED_KERNELS = [
133
+ "turbo3",
134
+ "turbo4",
135
+ "qjl_full",
136
+ "polarquant",
137
+ ];
138
+ const TIER_SPECS = {
139
+ "eliza-1-0_8b": {
140
+ id: "eliza-1-0_8b",
141
+ params: "0.8B",
142
+ sizeGb: 0.5,
143
+ minRamGb: 2,
144
+ q4MinRamGb: 2,
145
+ bucket: "small",
146
+ contextLength: 131072,
147
+ textFile: "text/eliza-1-0_8b-128k.gguf",
148
+ // WS2: vision is enabled on the smallest viable tier. The Q4_K_M
149
+ // mmproj for 0.8B is ~220 MB (see ELIZA_1_BUNDLE_EXTRAS.json), which
150
+ // fits even on 2 GB-floor devices when the text model is resident.
151
+ // Camera + screen analysis remain practical on low-tier phones at this
152
+ // size — the projector cache short-circuits the per-frame cost.
153
+ hasVision: true,
154
+ // WS3: image-gen via sd-cpp + SD 1.5 Q5_0 (~1.0 GB). Co-evicts
155
+ // with vision on the WS1 `vision` resident-role slot; only one of
156
+ // (VL describe, diffusion generate) is held at a time.
157
+ hasImageGen: true,
158
+ },
159
+ "eliza-1-2b": {
160
+ id: "eliza-1-2b",
161
+ params: "2B",
162
+ sizeGb: 1.4,
163
+ minRamGb: 4,
164
+ q4MinRamGb: 4,
165
+ bucket: "small",
166
+ contextLength: 131072,
167
+ textFile: "text/eliza-1-2b-128k.gguf",
168
+ // WS2: vision enabled — the 2B tier is the standard "small-phone"
169
+ // default for first-run users, so camera-to-reaction and screen
170
+ // analysis must work here. The mmproj is ~361 MB Q8_0 (actual:
171
+ // 361,518,784 bytes, published 2026-05-14); the arbiter owns the
172
+ // swap with the text weights under pressure.
173
+ hasVision: true,
174
+ // WS3: image-gen on the standard small-phone default uses SD 1.5
175
+ // Q5_0 too; tier-up to Z-Image-Turbo at 9B.
176
+ hasImageGen: true,
177
+ },
178
+ "eliza-1-4b": {
179
+ id: "eliza-1-4b",
180
+ params: "4B",
181
+ sizeGb: 2.6,
182
+ // 4B is the shipped mobile minimum/default. The Q4_K_M weights are 2.6 GB
183
+ // and the mobile bundle runs a 64k context with compressed KV
184
+ // (qjl1_256/tbq3_0), so an 8 GB-class phone clears it. The floor stays
185
+ // above the model size to leave headroom for the OS, app, and KV cache.
186
+ minRamGb: 6,
187
+ q4MinRamGb: 6,
188
+ bucket: "mid",
189
+ contextLength: 131072,
190
+ textFile: "text/eliza-1-4b-128k.gguf",
191
+ hasEmbedding: true,
192
+ hasVision: true,
193
+ // WS3: 4B is the last tier that defaults to SD 1.5; flagship-phone
194
+ // optional path can upgrade to SDXL-Turbo Q4_0.
195
+ hasImageGen: true,
196
+ },
197
+ "eliza-1-9b": {
198
+ id: "eliza-1-9b",
199
+ params: "9B",
200
+ sizeGb: 5.4,
201
+ minRamGb: 12,
202
+ q4MinRamGb: 12,
203
+ bucket: "large",
204
+ contextLength: 131072,
205
+ textFile: "text/eliza-1-9b-128k.gguf",
206
+ gpuProfile: "rtx-3090",
207
+ hasEmbedding: true,
208
+ hasVision: true,
209
+ // WS3: 9B is the boundary tier where Z-Image-Turbo Q4_K_M (~3.4 GB)
210
+ // becomes the default. FLUX.1 schnell remains opt-in for >=24 GB
211
+ // shared RAM / >=12 GB VRAM.
212
+ hasImageGen: true,
213
+ },
214
+ "eliza-1-27b": {
215
+ id: "eliza-1-27b",
216
+ params: "27B",
217
+ sizeGb: 16.8,
218
+ minRamGb: 32,
219
+ q4MinRamGb: 32,
220
+ bucket: "large",
221
+ contextLength: 131072,
222
+ textFile: "text/eliza-1-27b-128k.gguf",
223
+ gpuProfile: "rtx-4090",
224
+ hasEmbedding: true,
225
+ hasVision: true,
226
+ hasImageGen: true,
227
+ },
228
+ "eliza-1-27b-256k": {
229
+ id: "eliza-1-27b-256k",
230
+ params: "27B",
231
+ parameterLabel: "27B 256k",
232
+ sizeGb: 16.8,
233
+ minRamGb: 48,
234
+ q4MinRamGb: 48,
235
+ bucket: "large",
236
+ contextLength: 262144,
237
+ textFile: "text/eliza-1-27b-256k.gguf",
238
+ gpuProfile: "h200",
239
+ hasEmbedding: true,
240
+ hasVision: true,
241
+ hasImageGen: true,
242
+ },
243
+ };
244
+ function tierSlug(id) {
245
+ return id.slice("eliza-1-".length);
246
+ }
247
+ function tierDisplaySlug(id) {
248
+ switch (id) {
249
+ case "eliza-1-0_8b":
250
+ return "0.8B";
251
+ case "eliza-1-2b":
252
+ return "2B";
253
+ case "eliza-1-4b":
254
+ return "4B";
255
+ case "eliza-1-9b":
256
+ return "9B";
257
+ case "eliza-1-27b":
258
+ return "27B";
259
+ case "eliza-1-27b-256k":
260
+ return "27B-256k";
261
+ }
262
+ const exhaustive = id;
263
+ return exhaustive;
264
+ }
265
+ function tierDisplayName(id) {
266
+ return `eliza-1-${tierDisplaySlug(id)}`;
267
+ }
268
+ function bundleRemotePrefix(id) {
269
+ return `bundles/${tierSlug(id)}`;
270
+ }
271
+ function bundlePath(_id, rel) {
272
+ return rel;
273
+ }
274
+ function bundleRemotePath(id, rel) {
275
+ return `${bundleRemotePrefix(id)}/${rel}`;
276
+ }
277
+ function bundleComponent(id, file) {
278
+ return { repo: ELIZA_1_HF_REPO, file: bundleRemotePath(id, file) };
279
+ }
280
+ /**
281
+ * Default OmniVoice K-quant the runtime picks per tier when no
282
+ * device-class override applies. Mobile-class tiers (0_8b/2b/4b) default
283
+ * to Q4_K_M (~4.5 bits/weight, the common sweet spot for llama.cpp /
284
+ * Ollama / LM Studio). Desktop / workstation tiers default to Q8_0 (≈8
285
+ * bits/weight, near-bf16 quality) because RAM headroom permits it.
286
+ */
287
+ function voiceQuantForTier(id) {
288
+ return id === "eliza-1-0_8b" || id === "eliza-1-2b" || id === "eliza-1-4b"
289
+ ? "Q4_K_M"
290
+ : "Q8_0";
291
+ }
292
+ /**
293
+ * Full K-quant ladder published per tier. The downloader inspects the
294
+ * device's RAM/SoC class at install time and picks the appropriate level
295
+ * from this list. The ladder is monotonically decreasing in bits-per-weight
296
+ * (smallest first): {@link OmniVoiceQuantLevel}.
297
+ *
298
+ * Every active tier publishes an OmniVoice ladder. Small tiers keep the
299
+ * ladder narrow so the installer can stay inside mobile RAM budgets while
300
+ * still defaulting to the fused OmniVoice path. 9B and 27B-class tiers ship
301
+ * the full Q3..Q8 ladder so a `--memory-budget okay` host can step down to
302
+ * Q3_K_M and a `--memory-budget good` host can take Q6_K.
303
+ */
304
+ const OMNIVOICE_QUANT_LADDER_BY_TIER = {
305
+ "eliza-1-0_8b": ["Q3_K_M", "Q4_K_M", "Q5_K_M"],
306
+ "eliza-1-2b": ["Q3_K_M", "Q4_K_M", "Q5_K_M"],
307
+ "eliza-1-4b": ["Q3_K_M", "Q4_K_M", "Q5_K_M"],
308
+ "eliza-1-9b": ["Q3_K_M", "Q4_K_M", "Q5_K_M", "Q6_K", "Q8_0"],
309
+ "eliza-1-27b": ["Q3_K_M", "Q4_K_M", "Q5_K_M", "Q6_K", "Q8_0"],
310
+ "eliza-1-27b-256k": ["Q3_K_M", "Q4_K_M", "Q5_K_M", "Q6_K", "Q8_0"],
311
+ };
312
+ export function voiceQuantLadderForTier(id) {
313
+ return OMNIVOICE_QUANT_LADDER_BY_TIER[id];
314
+ }
315
+ export function defaultVoiceQuantForTier(id) {
316
+ return voiceQuantForTier(id);
317
+ }
318
+ function primaryVoiceFileForTier(id) {
319
+ const defaultBackend = ELIZA_1_VOICE_BACKENDS[id][0];
320
+ if (defaultBackend === "omnivoice") {
321
+ return `tts/omnivoice-base-${voiceQuantForTier(id)}.gguf`;
322
+ }
323
+ return "tts/kokoro/kokoro-82m-v1_0-Q4_K_M.gguf";
324
+ }
325
+ function sourceModelForTier(id) {
326
+ const spec = TIER_SPECS[id];
327
+ const components = {
328
+ text: bundleComponent(id, spec.textFile),
329
+ voice: bundleComponent(id, primaryVoiceFileForTier(id)),
330
+ asr: bundleComponent(id, "asr/eliza-1-asr.gguf"),
331
+ vad: bundleComponent(id, "vad/silero-vad-v5.gguf"),
332
+ };
333
+ if (spec.hasEmbedding) {
334
+ components.embedding = bundleComponent(id, "embedding/eliza-1-embedding.gguf");
335
+ }
336
+ if (spec.hasVision) {
337
+ components.vision = bundleComponent(id, `vision/mmproj-${tierSlug(id)}.gguf`);
338
+ }
339
+ // Same-file MTP: the NextN head is embedded in the text GGUF
340
+ // (`qwen35.nextn_predict_layers > 0`), so there is no separate `mtp`
341
+ // drafter component to download.
342
+ return { finetuned: false, components };
343
+ }
344
+ function runtimeForTier(id, contextLength) {
345
+ const requiresKernel = contextLength >= 65536
346
+ ? [...BASE_REQUIRED_KERNELS, "turbo3_tcq"]
347
+ : BASE_REQUIRED_KERNELS;
348
+ const runtime = {
349
+ preferredBackend: "llama-cpp",
350
+ optimizations: {
351
+ parallel: 4,
352
+ flashAttention: true,
353
+ requiresKernel,
354
+ // OpenVINO is the right backend for ASR/Whisper on Intel hosts but
355
+ // never for autoregressive text. The text path uses optimized
356
+ // llama.cpp kernels plus native MTP heads.
357
+ unsupportedKernels: ["openvino"],
358
+ ctxCheckpoints: 4,
359
+ ctxCheckpointInterval: 4096,
360
+ },
361
+ kvCache: {
362
+ typeK: "qjl1_256",
363
+ typeV: "tbq3_0",
364
+ requiresFork: "buun-llama-cpp",
365
+ },
366
+ };
367
+ if (mtpSupportedForTier(id)) {
368
+ // Same-file MTP: no separate `drafterFile`. The NextN head lives in
369
+ // the text GGUF and is activated by `--spec-type draft-mtp` with no
370
+ // `-md`. These tiers carry a single NextN head
371
+ // (`nextn_predict_layers = 1`); benchmarks show `draft-n-max 2` is the
372
+ // throughput peak (a single head autoregressed past 2 collapses
373
+ // acceptance), so we do not scale the draft window with context length.
374
+ runtime.mtp = {
375
+ specType: "draft-mtp",
376
+ draftMin: 1,
377
+ draftMax: 2,
378
+ gpuLayers: "auto",
379
+ };
380
+ }
381
+ return runtime;
382
+ }
383
+ const QUANT_SUFFIX = {
384
+ q3_k_m: "q3_k_m",
385
+ q4_0: "Q4_0",
386
+ q4_k_m: "q4_k_m",
387
+ q5_k_m: "q5_k_m",
388
+ q6_k: "q6_k",
389
+ q8_0: "q8_0",
390
+ };
391
+ function textQuantizationMatrix(args) {
392
+ const fileBase = args.primaryGgufFile.replace(/\.gguf$/, "");
393
+ const mk = (id, label, scale, minRamScale, status) => ({
394
+ id,
395
+ label,
396
+ ggufFile: id === "q4_k_m"
397
+ ? args.primaryGgufFile
398
+ : `${fileBase}-${QUANT_SUFFIX[id]}.gguf`,
399
+ sizeGb: Number((args.q4SizeGb * scale).toFixed(1)),
400
+ minRamGb: Math.ceil(args.q4MinRamGb * minRamScale),
401
+ status,
402
+ });
403
+ return {
404
+ defaultVariantId: "q4_k_m",
405
+ variants: [
406
+ mk("q3_k_m", "3-bit", 0.76, 0.85, "planned"),
407
+ mk("q4_k_m", "4-bit", 1, 1, "published"),
408
+ mk("q5_k_m", "5-bit", 1.22, 1.18, "planned"),
409
+ mk("q6_k", "6-bit", 1.45, 1.35, "planned"),
410
+ mk("q8_0", "8-bit", 1.95, 1.8, "planned"),
411
+ ],
412
+ };
413
+ }
414
+ function blurbForTier(id) {
415
+ const displayName = tierDisplayName(id);
416
+ switch (id) {
417
+ case "eliza-1-0_8b":
418
+ return `${displayName} - smallest local tier for low-memory phones and CPU fallback.`;
419
+ case "eliza-1-2b":
420
+ return `${displayName} - recommended first-run local tier for responsive text and voice.`;
421
+ case "eliza-1-4b":
422
+ return `${displayName} - balanced local tier for modern laptops and desktops.`;
423
+ case "eliza-1-9b":
424
+ return `${displayName} - workstation local tier for stronger reasoning.`;
425
+ case "eliza-1-27b":
426
+ return `${displayName} - high-quality local tier for GPU workstations.`;
427
+ case "eliza-1-27b-256k":
428
+ return `${displayName} - long-context local tier for high-memory GPU workstations.`;
429
+ }
430
+ const exhaustive = id;
431
+ return exhaustive;
432
+ }
433
+ const drafterId = (id) => `${id}-drafter`;
434
+ // DFlash speculative-decoding draft companions published under each tier's
435
+ // HuggingFace bundle (elizaos/eliza-1 -> bundles/<slug>/dflash/drafter-<slug>.gguf).
436
+ // Sizes are the published gguf byte sizes verified against the HF repo (2026-05);
437
+ // params/minRamGb are companion metadata (these are hidden, runtimeRole-gated).
438
+ const TIER_DRAFTERS = {
439
+ "eliza-1-0_8b": {
440
+ ggufRel: "dflash/drafter-0_8b.gguf",
441
+ params: "0.5B",
442
+ sizeGb: 0.24,
443
+ minRamGb: 2,
444
+ bucket: "small",
445
+ },
446
+ "eliza-1-2b": {
447
+ ggufRel: "dflash/drafter-2b.gguf",
448
+ params: "0.8B",
449
+ sizeGb: 0.68,
450
+ minRamGb: 4,
451
+ bucket: "small",
452
+ },
453
+ };
454
+ function drafterCompanion(id) {
455
+ const drafter = TIER_DRAFTERS[id];
456
+ if (!drafter) {
457
+ throw new Error(`No DFlash drafter spec for tier ${id}`);
458
+ }
459
+ return {
460
+ id: drafterId(id),
461
+ displayName: `${tierDisplayName(id)} drafter`,
462
+ hfRepo: ELIZA_1_HF_REPO,
463
+ hfPathPrefix: bundleRemotePrefix(id),
464
+ ggufFile: bundlePath(id, drafter.ggufRel),
465
+ params: drafter.params,
466
+ quant: "Eliza-1 DFlash drafter companion",
467
+ sizeGb: drafter.sizeGb,
468
+ minRamGb: drafter.minRamGb,
469
+ category: "chat",
470
+ bucket: drafter.bucket,
471
+ tokenizerFamily: "qwen35",
472
+ hiddenFromCatalog: true,
473
+ runtimeRole: "mtp-drafter",
474
+ companionForModelId: id,
475
+ blurb: "DFlash speculative-decoding draft companion.",
476
+ };
477
+ }
478
+ function chatTier(id) {
479
+ const spec = TIER_SPECS[id];
480
+ return {
481
+ id,
482
+ displayName: tierDisplayName(id),
483
+ hfRepo: ELIZA_1_HF_REPO,
484
+ hfPathPrefix: bundleRemotePrefix(id),
485
+ ggufFile: bundlePath(id, spec.textFile),
486
+ bundleManifestFile: bundlePath(id, "eliza-1.manifest.json"),
487
+ params: spec.params,
488
+ parameterLabel: spec.parameterLabel,
489
+ quant: "Eliza-1 optimized local runtime",
490
+ sizeGb: spec.sizeGb,
491
+ minRamGb: spec.minRamGb,
492
+ category: "chat",
493
+ bucket: spec.bucket,
494
+ contextLength: spec.contextLength,
495
+ tokenizerFamily: "qwen35",
496
+ sourceModel: sourceModelForTier(id),
497
+ voiceBackends: ELIZA_1_VOICE_BACKENDS[id],
498
+ runtime: runtimeForTier(id, spec.contextLength),
499
+ gpuProfile: spec.gpuProfile,
500
+ quantization: textQuantizationMatrix({
501
+ primaryGgufFile: bundlePath(id, spec.textFile),
502
+ q4SizeGb: spec.sizeGb,
503
+ q4MinRamGb: spec.q4MinRamGb,
504
+ }),
505
+ blurb: blurbForTier(id),
506
+ publishStatus: eliza1TierPublishStatus(id),
507
+ };
508
+ }
509
+ export const MODEL_CATALOG = ELIZA_1_TIER_IDS.map((id) => chatTier(id));
510
+ // DFlash speculative-decoding drafter companions. Findable by id (installer
511
+ // companion download + registry self-heal via findCatalogModel) but
512
+ // intentionally NOT part of the published hub catalog (MODEL_CATALOG) — they are
513
+ // hidden, mtp-drafter companion entries keyed to their parent tier.
514
+ const DRAFTER_COMPANIONS = ELIZA_1_TIER_IDS.filter((id) => TIER_DRAFTERS[id]).map((id) => drafterCompanion(id));
515
+ export function findCatalogModel(id) {
516
+ return (MODEL_CATALOG.find((m) => m.id === id) ??
517
+ DRAFTER_COMPANIONS.find((m) => m.id === id));
518
+ }
519
+ export function buildHuggingFaceResolveUrlForPath(model, filePath) {
520
+ const cleanFilePath = filePath.replace(/^\/+/, "");
521
+ const cleanPrefix = model.hfPathPrefix?.replace(/^\/+|\/+$/g, "");
522
+ const pathWithPrefix = cleanPrefix &&
523
+ cleanFilePath !== cleanPrefix &&
524
+ !cleanFilePath.startsWith(`${cleanPrefix}/`)
525
+ ? `${cleanPrefix}/${cleanFilePath}`
526
+ : cleanFilePath;
527
+ if (model.hub === "modelscope") {
528
+ const base = process.env.ELIZA_MODELSCOPE_BASE_URL?.trim().replace(/\/+$/, "") ||
529
+ "https://www.modelscope.cn";
530
+ const encodedPath = pathWithPrefix
531
+ .split("/")
532
+ .map((segment) => encodeURIComponent(segment))
533
+ .join("/");
534
+ return `${base}/models/${model.hfRepo}/resolve/master/${encodedPath}`;
535
+ }
536
+ const base = process.env.ELIZA_HF_BASE_URL?.trim().replace(/\/+$/, "") ||
537
+ "https://huggingface.co";
538
+ const encodedPath = pathWithPrefix
539
+ .split("/")
540
+ .map((segment) => encodeURIComponent(segment))
541
+ .join("/");
542
+ return `${base}/${model.hfRepo}/resolve/main/${encodedPath}?download=true`;
543
+ }
544
+ export function buildHuggingFaceResolveUrl(model) {
545
+ return buildHuggingFaceResolveUrlForPath(model, model.ggufFile);
546
+ }
547
+ //# sourceMappingURL=catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/local-inference/catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Per-GPU deployment profiles for single-GPU Eliza-1 servers.
3
+ *
4
+ * Scope: ONE GPU per host. We do not target NVLink, tensor-parallel splits,
5
+ * or multi-tenant datacenter workloads. The product target is "one
6
+ * conversation at a time on a single GPU box" — `--parallel N` can still go
7
+ * higher than on a phone, but the model is not split across cards.
8
+ *
9
+ * These profiles are *recommendations* — the runtime selects a bundle by id
10
+ * and then maps the host's GPU to a `GpuProfile` to fill in llama-server
11
+ * flags (KV cache types, n-gpu-layers, batch sizing, MTP draft range,
12
+ * mlock). A non-NVIDIA host returns `null` and the runtime falls back to
13
+ * the catalog defaults.
14
+ *
15
+ * The KV cache type names match `LocalRuntimeKernel` / the llama.cpp fork
16
+ * kernel handles (`qjl1_256`, `q4_polar`, `turbo3_0`, `turbo4_0`, `q8_0`,
17
+ * `f16`) so that `appendOptimizationFlags` + `applyGpuProfile` can pass
18
+ * them straight through to `--cache-type-k` / `--cache-type-v`.
19
+ *
20
+ * The active mobile/local release exposes Eliza-1 0_8b, 2b, 4b, 9b, and 27b
21
+ * tiers, with larger cards recommended toward the biggest installed bundle
22
+ * that leaves memory headroom.
23
+ */
24
+ import type { Eliza1TierId } from "./catalog.js";
25
+ export type GpuProfileId = "rtx-3090" | "rtx-4090" | "rtx-5090" | "h200";
26
+ /**
27
+ * KV cache type names accepted by `llama-server --cache-type-k/-v`. Mirrors
28
+ * the strings the buun-llama-cpp fork advertises in `CAPABILITIES.json`.
29
+ * Kept as a string literal union so a profile's choice is checked at
30
+ * compile time and propagates into the bundle manifest's `requiresKernel`
31
+ * set.
32
+ */
33
+ export type KvCacheType = "f16" | "q8_0" | "q4_0" | "qjl1_256" | "q4_polar" | "turbo3_0" | "turbo4_0";
34
+ export interface GpuProfile {
35
+ id: GpuProfileId;
36
+ /** Human-readable vendor card name shown to the operator. */
37
+ displayName: string;
38
+ /** Total VRAM in GiB. Used for headroom math + recommendations. */
39
+ vramGb: number;
40
+ /** CUDA compute capability, e.g. `"sm_86"`. */
41
+ computeCapability: string;
42
+ /** Peak HBM/GDDR bandwidth in GB/s — feeds the perf estimator. */
43
+ memoryBandwidthGBs: number;
44
+ /** Whether the GPU has hardware FP8 (Ada/Hopper/Blackwell). */
45
+ fp8: boolean;
46
+ /**
47
+ * Recommended catalog bundle ids for single-GPU deployment on this card.
48
+ * Ordered by quality: first entry is the "best fit" for the card; later
49
+ * entries are smaller fallbacks that still leave headroom. The recommender
50
+ * picks the first id that the user has installed.
51
+ */
52
+ recommendedBundles: ReadonlyArray<Eliza1TierId>;
53
+ /** Inference flags. */
54
+ flashAttn: boolean;
55
+ /** `--cache-type-k` value. */
56
+ kvCacheTypeK: KvCacheType;
57
+ /** `--cache-type-v` value. */
58
+ kvCacheTypeV: KvCacheType;
59
+ /**
60
+ * `--n-gpu-layers` — `-1` for "all layers on GPU". Single-GPU only; we
61
+ * never split layers across two cards.
62
+ */
63
+ nGpuLayers: number;
64
+ /**
65
+ * `--ctx-size`. Always sized to the bundle's `contextLength`, but the
66
+ * profile records the *recommended* max for the card.
67
+ */
68
+ contextSize: number;
69
+ /** `--parallel N` continuous-batching slots. */
70
+ parallel: number;
71
+ /** `--batch-size N` logical batch. */
72
+ batchSize: number;
73
+ /** `--ubatch-size N` physical micro-batch. */
74
+ ubatchSize: number;
75
+ /** MTP speculative-decoding draft range. */
76
+ mtpDraftMin: number;
77
+ mtpDraftMax: number;
78
+ /** `--mlock` — pin model pages in RAM. */
79
+ mlock: boolean;
80
+ /** `--no-mmap` — disable mmap loading. */
81
+ noMmap: boolean;
82
+ /**
83
+ * Force KV spill to CPU (`--no-kv-offload`). Only useful on cards that
84
+ * cannot hold the full KV cache. The 141 GiB H200 sets this to `false`;
85
+ * the 24 GiB cards can opt in for very long contexts.
86
+ */
87
+ kvSpillToCpu: boolean;
88
+ }
89
+ export declare const GPU_PROFILES: Readonly<Record<GpuProfileId, GpuProfile>>;
90
+ export declare const GPU_PROFILE_IDS: ReadonlyArray<GpuProfileId>;
91
+ /**
92
+ * Match an `nvidia-smi --query-gpu=name` output line to a profile. Returns
93
+ * `null` when the card is not in the supported set; callers should fall
94
+ * back to the catalog defaults in that case rather than guess.
95
+ *
96
+ * The patterns are intentionally strict to avoid mis-classifying a 3080
97
+ * as a 3090, or an A100 as a 4090.
98
+ */
99
+ export declare function matchGpuProfile(gpuName: string): GpuProfileId | null;
100
+ /**
101
+ * Returns the headroom (in GiB) a profile reserves for the OS / driver /
102
+ * activations / drafter / N parallel-slot KV. Used for sizing checks
103
+ * before promoting a bundle to "fits" on a card.
104
+ *
105
+ * The figures are deliberate per-tier reserves, not a formula — different
106
+ * cards have different driver overheads (Windows display drivers steal
107
+ * ~1 GiB before workloads even start; H200 SXM has none).
108
+ */
109
+ export declare function reservedHeadroomGb(profile: GpuProfile): number;
110
+ //# sourceMappingURL=gpu-profiles.d.ts.map