@nodetool-ai/websocket 0.8.1 → 0.8.3

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 (471) hide show
  1. package/dist/.nodetool-build-stamp +1 -1
  2. package/dist/chat-turn-registry.d.ts +2 -1
  3. package/dist/chat-turn-registry.d.ts.map +1 -1
  4. package/dist/chat-turn-registry.js +8 -1
  5. package/dist/chat-turn-registry.js.map +1 -1
  6. package/dist/collection-api.d.ts.map +1 -1
  7. package/dist/collection-api.js +41 -6
  8. package/dist/collection-api.js.map +1 -1
  9. package/dist/custom-providers.d.ts.map +1 -1
  10. package/dist/custom-providers.js +6 -1
  11. package/dist/custom-providers.js.map +1 -1
  12. package/dist/error-traces.d.ts +56 -0
  13. package/dist/error-traces.d.ts.map +1 -0
  14. package/dist/error-traces.js +179 -0
  15. package/dist/error-traces.js.map +1 -0
  16. package/dist/example-workflows.d.ts.map +1 -1
  17. package/dist/example-workflows.js +6 -0
  18. package/dist/example-workflows.js.map +1 -1
  19. package/dist/fake-runtime.d.ts +41 -6
  20. package/dist/fake-runtime.d.ts.map +1 -1
  21. package/dist/fake-runtime.js +247 -16
  22. package/dist/fake-runtime.js.map +1 -1
  23. package/dist/file-api.d.ts.map +1 -1
  24. package/dist/file-api.js +6 -8
  25. package/dist/file-api.js.map +1 -1
  26. package/dist/generation-recovery.d.ts.map +1 -1
  27. package/dist/generation-recovery.js +32 -7
  28. package/dist/generation-recovery.js.map +1 -1
  29. package/dist/headless-job-runner.d.ts.map +1 -1
  30. package/dist/headless-job-runner.js +5 -1
  31. package/dist/headless-job-runner.js.map +1 -1
  32. package/dist/http-api.d.ts +3 -1
  33. package/dist/http-api.d.ts.map +1 -1
  34. package/dist/http-api.js +66 -9
  35. package/dist/http-api.js.map +1 -1
  36. package/dist/http-body-schemas.d.ts +2 -0
  37. package/dist/http-body-schemas.d.ts.map +1 -1
  38. package/dist/http-body-schemas.js +8 -1
  39. package/dist/http-body-schemas.js.map +1 -1
  40. package/dist/index.d.ts +0 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +0 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/interrupted-jobs.d.ts +14 -0
  45. package/dist/interrupted-jobs.d.ts.map +1 -0
  46. package/dist/interrupted-jobs.js +28 -0
  47. package/dist/interrupted-jobs.js.map +1 -0
  48. package/dist/lib/admin.d.ts +7 -0
  49. package/dist/lib/admin.d.ts.map +1 -0
  50. package/dist/lib/admin.js +20 -0
  51. package/dist/lib/admin.js.map +1 -0
  52. package/dist/lib/app-debug-service.js +1 -1
  53. package/dist/lib/app-debug-service.js.map +1 -1
  54. package/dist/lib/app-instances-service.d.ts +1319 -0
  55. package/dist/lib/app-instances-service.d.ts.map +1 -0
  56. package/dist/lib/app-instances-service.js +377 -0
  57. package/dist/lib/app-instances-service.js.map +1 -0
  58. package/dist/lib/app-project-export.d.ts +12 -0
  59. package/dist/lib/app-project-export.d.ts.map +1 -0
  60. package/dist/lib/app-project-export.js +42 -0
  61. package/dist/lib/app-project-export.js.map +1 -0
  62. package/dist/lib/app-run-cancellation.d.ts +4 -0
  63. package/dist/lib/app-run-cancellation.d.ts.map +1 -0
  64. package/dist/lib/app-run-cancellation.js +28 -0
  65. package/dist/lib/app-run-cancellation.js.map +1 -0
  66. package/dist/lib/applications-service.d.ts +182 -1
  67. package/dist/lib/applications-service.d.ts.map +1 -1
  68. package/dist/lib/applications-service.js +27 -6
  69. package/dist/lib/applications-service.js.map +1 -1
  70. package/dist/lib/asset-export.d.ts +6 -2
  71. package/dist/lib/asset-export.d.ts.map +1 -1
  72. package/dist/lib/asset-export.js +15 -7
  73. package/dist/lib/asset-export.js.map +1 -1
  74. package/dist/lib/asset-paths.d.ts +7 -11
  75. package/dist/lib/asset-paths.d.ts.map +1 -1
  76. package/dist/lib/asset-paths.js +8 -56
  77. package/dist/lib/asset-paths.js.map +1 -1
  78. package/dist/lib/asset-response.d.ts.map +1 -1
  79. package/dist/lib/asset-response.js +3 -1
  80. package/dist/lib/asset-response.js.map +1 -1
  81. package/dist/lib/audio-peaks.d.ts.map +1 -1
  82. package/dist/lib/audio-peaks.js +5 -1
  83. package/dist/lib/audio-peaks.js.map +1 -1
  84. package/dist/lib/bridge.d.ts.map +1 -1
  85. package/dist/lib/bridge.js.map +1 -1
  86. package/dist/lib/cloud-profile.d.ts +10 -0
  87. package/dist/lib/cloud-profile.d.ts.map +1 -0
  88. package/dist/lib/cloud-profile.js +13 -0
  89. package/dist/lib/cloud-profile.js.map +1 -0
  90. package/dist/lib/document-model-interfaces.d.ts.map +1 -1
  91. package/dist/lib/document-model-interfaces.js +9 -8
  92. package/dist/lib/document-model-interfaces.js.map +1 -1
  93. package/dist/lib/example-apps.d.ts +9 -0
  94. package/dist/lib/example-apps.d.ts.map +1 -1
  95. package/dist/lib/example-apps.js +61 -14
  96. package/dist/lib/example-apps.js.map +1 -1
  97. package/dist/lib/http-tracing.d.ts +12 -0
  98. package/dist/lib/http-tracing.d.ts.map +1 -0
  99. package/dist/lib/http-tracing.js +81 -0
  100. package/dist/lib/http-tracing.js.map +1 -0
  101. package/dist/lib/http-user-id.d.ts +2 -0
  102. package/dist/lib/http-user-id.d.ts.map +1 -0
  103. package/dist/lib/http-user-id.js +4 -0
  104. package/dist/lib/http-user-id.js.map +1 -0
  105. package/dist/lib/json-body.d.ts +11 -0
  106. package/dist/lib/json-body.d.ts.map +1 -0
  107. package/dist/lib/json-body.js +13 -0
  108. package/dist/lib/json-body.js.map +1 -0
  109. package/dist/lib/media.d.ts +1 -6
  110. package/dist/lib/media.d.ts.map +1 -1
  111. package/dist/lib/media.js +8 -44
  112. package/dist/lib/media.js.map +1 -1
  113. package/dist/lib/public-routes.d.ts +22 -0
  114. package/dist/lib/public-routes.d.ts.map +1 -1
  115. package/dist/lib/public-routes.js +41 -0
  116. package/dist/lib/public-routes.js.map +1 -1
  117. package/dist/lib/public-workflow-share.d.ts +31 -0
  118. package/dist/lib/public-workflow-share.d.ts.map +1 -0
  119. package/dist/lib/public-workflow-share.js +88 -0
  120. package/dist/lib/public-workflow-share.js.map +1 -0
  121. package/dist/lib/python-metadata-roots.d.ts +27 -0
  122. package/dist/lib/python-metadata-roots.d.ts.map +1 -0
  123. package/dist/lib/python-metadata-roots.js +92 -0
  124. package/dist/lib/python-metadata-roots.js.map +1 -0
  125. package/dist/lib/run-trace-live-delivery.d.ts +25 -0
  126. package/dist/lib/run-trace-live-delivery.d.ts.map +1 -0
  127. package/dist/lib/run-trace-live-delivery.js +91 -0
  128. package/dist/lib/run-trace-live-delivery.js.map +1 -0
  129. package/dist/lib/runtime-detection.d.ts +1 -1
  130. package/dist/lib/runtime-detection.d.ts.map +1 -1
  131. package/dist/lib/runtime-detection.js +2 -1
  132. package/dist/lib/runtime-detection.js.map +1 -1
  133. package/dist/lib/server-auth-token.d.ts +18 -0
  134. package/dist/lib/server-auth-token.d.ts.map +1 -0
  135. package/dist/lib/server-auth-token.js +28 -0
  136. package/dist/lib/server-auth-token.js.map +1 -0
  137. package/dist/lib/test-ui-run-routes.d.ts +8 -0
  138. package/dist/lib/test-ui-run-routes.d.ts.map +1 -0
  139. package/dist/lib/test-ui-run-routes.js +42 -0
  140. package/dist/lib/test-ui-run-routes.js.map +1 -0
  141. package/dist/lib/thumbnail.d.ts.map +1 -1
  142. package/dist/lib/thumbnail.js +12 -9
  143. package/dist/lib/thumbnail.js.map +1 -1
  144. package/dist/lib/timeline-bundle.d.ts +159 -16
  145. package/dist/lib/timeline-bundle.d.ts.map +1 -1
  146. package/dist/lib/timeline-bundle.js +34 -6
  147. package/dist/lib/timeline-bundle.js.map +1 -1
  148. package/dist/lib/timeline-media-export.d.ts +18 -0
  149. package/dist/lib/timeline-media-export.d.ts.map +1 -0
  150. package/dist/lib/timeline-media-export.js +66 -0
  151. package/dist/lib/timeline-media-export.js.map +1 -0
  152. package/dist/lib/timeline-premiere-import.d.ts +24 -0
  153. package/dist/lib/timeline-premiere-import.d.ts.map +1 -0
  154. package/dist/lib/timeline-premiere-import.js +102 -0
  155. package/dist/lib/timeline-premiere-import.js.map +1 -0
  156. package/dist/lib/timeline-premiere.d.ts +38 -0
  157. package/dist/lib/timeline-premiere.d.ts.map +1 -0
  158. package/dist/lib/timeline-premiere.js +87 -0
  159. package/dist/lib/timeline-premiere.js.map +1 -0
  160. package/dist/lib/video-proxy.d.ts.map +1 -1
  161. package/dist/lib/video-proxy.js +3 -2
  162. package/dist/lib/video-proxy.js.map +1 -1
  163. package/dist/lib/workflow-service.d.ts.map +1 -1
  164. package/dist/lib/workflow-service.js +4 -1
  165. package/dist/lib/workflow-service.js.map +1 -1
  166. package/dist/mcp-agent-tools.d.ts.map +1 -1
  167. package/dist/mcp-agent-tools.js +95 -162
  168. package/dist/mcp-agent-tools.js.map +1 -1
  169. package/dist/mcp-client-config.d.ts +64 -0
  170. package/dist/mcp-client-config.d.ts.map +1 -0
  171. package/dist/mcp-client-config.js +353 -0
  172. package/dist/mcp-client-config.js.map +1 -0
  173. package/dist/mcp-server.d.ts +7 -0
  174. package/dist/mcp-server.d.ts.map +1 -1
  175. package/dist/mcp-server.js +163 -16
  176. package/dist/mcp-server.js.map +1 -1
  177. package/dist/mcp-skill-prompts.d.ts +23 -0
  178. package/dist/mcp-skill-prompts.d.ts.map +1 -0
  179. package/dist/mcp-skill-prompts.js +91 -0
  180. package/dist/mcp-skill-prompts.js.map +1 -0
  181. package/dist/mcp-tool-deps.d.ts.map +1 -1
  182. package/dist/mcp-tool-deps.js +8 -1
  183. package/dist/mcp-tool-deps.js.map +1 -1
  184. package/dist/models-api.d.ts +10 -0
  185. package/dist/models-api.d.ts.map +1 -1
  186. package/dist/models-api.js +29 -2
  187. package/dist/models-api.js.map +1 -1
  188. package/dist/node-registry-setup.d.ts +1 -1
  189. package/dist/node-registry-setup.d.ts.map +1 -1
  190. package/dist/node-registry-setup.js +21 -114
  191. package/dist/node-registry-setup.js.map +1 -1
  192. package/dist/oauth-api.d.ts.map +1 -1
  193. package/dist/oauth-api.js +45 -23
  194. package/dist/oauth-api.js.map +1 -1
  195. package/dist/openai-api.d.ts.map +1 -1
  196. package/dist/openai-api.js +10 -2
  197. package/dist/openai-api.js.map +1 -1
  198. package/dist/plugins/websocket.d.ts.map +1 -1
  199. package/dist/plugins/websocket.js +27 -59
  200. package/dist/plugins/websocket.js.map +1 -1
  201. package/dist/python-bridge-gate.d.ts +28 -0
  202. package/dist/python-bridge-gate.d.ts.map +1 -0
  203. package/dist/python-bridge-gate.js +36 -0
  204. package/dist/python-bridge-gate.js.map +1 -0
  205. package/dist/routes/app-runs.d.ts +4 -0
  206. package/dist/routes/app-runs.d.ts.map +1 -0
  207. package/dist/routes/app-runs.js +173 -0
  208. package/dist/routes/app-runs.js.map +1 -0
  209. package/dist/routes/applications.d.ts +1 -0
  210. package/dist/routes/applications.d.ts.map +1 -1
  211. package/dist/routes/applications.js +24 -0
  212. package/dist/routes/applications.js.map +1 -1
  213. package/dist/routes/assets.d.ts.map +1 -1
  214. package/dist/routes/assets.js +31 -41
  215. package/dist/routes/assets.js.map +1 -1
  216. package/dist/routes/config.d.ts.map +1 -1
  217. package/dist/routes/config.js +6 -0
  218. package/dist/routes/config.js.map +1 -1
  219. package/dist/routes/documents.d.ts.map +1 -1
  220. package/dist/routes/documents.js +24 -0
  221. package/dist/routes/documents.js.map +1 -1
  222. package/dist/routes/fal-pricing-estimate.d.ts.map +1 -1
  223. package/dist/routes/fal-pricing-estimate.js +2 -0
  224. package/dist/routes/fal-pricing-estimate.js.map +1 -1
  225. package/dist/routes/files.d.ts.map +1 -1
  226. package/dist/routes/files.js +2 -0
  227. package/dist/routes/files.js.map +1 -1
  228. package/dist/routes/games.d.ts +38 -0
  229. package/dist/routes/games.d.ts.map +1 -0
  230. package/dist/routes/games.js +158 -0
  231. package/dist/routes/games.js.map +1 -0
  232. package/dist/routes/integrations.d.ts.map +1 -1
  233. package/dist/routes/integrations.js +22 -26
  234. package/dist/routes/integrations.js.map +1 -1
  235. package/dist/routes/js-scripts.d.ts +10 -4
  236. package/dist/routes/js-scripts.d.ts.map +1 -1
  237. package/dist/routes/js-scripts.js +451 -69
  238. package/dist/routes/js-scripts.js.map +1 -1
  239. package/dist/routes/nodes.d.ts.map +1 -1
  240. package/dist/routes/nodes.js +34 -1
  241. package/dist/routes/nodes.js.map +1 -1
  242. package/dist/routes/public-shared-workflows.d.ts +16 -0
  243. package/dist/routes/public-shared-workflows.d.ts.map +1 -0
  244. package/dist/routes/public-shared-workflows.js +55 -0
  245. package/dist/routes/public-shared-workflows.js.map +1 -0
  246. package/dist/routes/run-spans.d.ts +4 -0
  247. package/dist/routes/run-spans.d.ts.map +1 -0
  248. package/dist/routes/run-spans.js +53 -0
  249. package/dist/routes/run-spans.js.map +1 -0
  250. package/dist/routes/storage.d.ts.map +1 -1
  251. package/dist/routes/storage.js +2 -0
  252. package/dist/routes/storage.js.map +1 -1
  253. package/dist/routes/storyboards.d.ts.map +1 -1
  254. package/dist/routes/storyboards.js +6 -3
  255. package/dist/routes/storyboards.js.map +1 -1
  256. package/dist/routes/timeline-fonts.d.ts +22 -0
  257. package/dist/routes/timeline-fonts.d.ts.map +1 -1
  258. package/dist/routes/timeline-fonts.js +138 -7
  259. package/dist/routes/timeline-fonts.js.map +1 -1
  260. package/dist/routes/timelines.d.ts +8 -4
  261. package/dist/routes/timelines.d.ts.map +1 -1
  262. package/dist/routes/timelines.js +209 -16
  263. package/dist/routes/timelines.js.map +1 -1
  264. package/dist/screenshot-docs-seed.d.ts +24 -0
  265. package/dist/screenshot-docs-seed.d.ts.map +1 -0
  266. package/dist/screenshot-docs-seed.js +414 -0
  267. package/dist/screenshot-docs-seed.js.map +1 -0
  268. package/dist/screenshot-projects.d.ts.map +1 -1
  269. package/dist/screenshot-projects.js +9 -9
  270. package/dist/screenshot-projects.js.map +1 -1
  271. package/dist/screenshot-server.js +114 -20
  272. package/dist/screenshot-server.js.map +1 -1
  273. package/dist/sdk/sdk-model-download-service.d.ts.map +1 -1
  274. package/dist/sdk/sdk-model-download-service.js +5 -2
  275. package/dist/sdk/sdk-model-download-service.js.map +1 -1
  276. package/dist/server.js +173 -109
  277. package/dist/server.js.map +1 -1
  278. package/dist/session/app-run-fold.d.ts +7 -0
  279. package/dist/session/app-run-fold.d.ts.map +1 -0
  280. package/dist/session/app-run-fold.js +45 -0
  281. package/dist/session/app-run-fold.js.map +1 -0
  282. package/dist/session/chat-prompt.d.ts.map +1 -1
  283. package/dist/session/chat-prompt.js +37 -15
  284. package/dist/session/chat-prompt.js.map +1 -1
  285. package/dist/session/chat-turn.d.ts +11 -0
  286. package/dist/session/chat-turn.d.ts.map +1 -1
  287. package/dist/session/chat-turn.js +270 -116
  288. package/dist/session/chat-turn.js.map +1 -1
  289. package/dist/session/commands.d.ts +14 -0
  290. package/dist/session/commands.d.ts.map +1 -1
  291. package/dist/session/commands.js +119 -14
  292. package/dist/session/commands.js.map +1 -1
  293. package/dist/session/inference.d.ts +30 -2
  294. package/dist/session/inference.d.ts.map +1 -1
  295. package/dist/session/inference.js +165 -16
  296. package/dist/session/inference.js.map +1 -1
  297. package/dist/session/job-execution.d.ts +7 -1
  298. package/dist/session/job-execution.d.ts.map +1 -1
  299. package/dist/session/job-execution.js +329 -42
  300. package/dist/session/job-execution.js.map +1 -1
  301. package/dist/session/model-interfaces.d.ts +2 -1
  302. package/dist/session/model-interfaces.d.ts.map +1 -1
  303. package/dist/session/model-interfaces.js +1 -0
  304. package/dist/session/model-interfaces.js.map +1 -1
  305. package/dist/storage-api.d.ts +0 -4
  306. package/dist/storage-api.d.ts.map +1 -1
  307. package/dist/storage-api.js +3 -26
  308. package/dist/storage-api.js.map +1 -1
  309. package/dist/storage-retention.d.ts +5 -0
  310. package/dist/storage-retention.d.ts.map +1 -1
  311. package/dist/storage-retention.js +22 -1
  312. package/dist/storage-retention.js.map +1 -1
  313. package/dist/test-ui-server.d.ts +11 -0
  314. package/dist/test-ui-server.d.ts.map +1 -1
  315. package/dist/test-ui-server.js +84 -6
  316. package/dist/test-ui-server.js.map +1 -1
  317. package/dist/timeline-generation-recovery.d.ts +4 -0
  318. package/dist/timeline-generation-recovery.d.ts.map +1 -0
  319. package/dist/timeline-generation-recovery.js +72 -0
  320. package/dist/timeline-generation-recovery.js.map +1 -0
  321. package/dist/triggers/dispatcher.d.ts.map +1 -1
  322. package/dist/triggers/dispatcher.js +26 -6
  323. package/dist/triggers/dispatcher.js.map +1 -1
  324. package/dist/triggers/file-watch.d.ts.map +1 -1
  325. package/dist/triggers/file-watch.js +35 -19
  326. package/dist/triggers/file-watch.js.map +1 -1
  327. package/dist/triggers/scheduler.d.ts.map +1 -1
  328. package/dist/triggers/scheduler.js +7 -5
  329. package/dist/triggers/scheduler.js.map +1 -1
  330. package/dist/triggers/stores.js +8 -8
  331. package/dist/triggers/stores.js.map +1 -1
  332. package/dist/triggers/webhook-route.js +2 -2
  333. package/dist/triggers/webhook-route.js.map +1 -1
  334. package/dist/trpc/error-formatter.d.ts.map +1 -1
  335. package/dist/trpc/error-formatter.js +2 -1
  336. package/dist/trpc/error-formatter.js.map +1 -1
  337. package/dist/trpc/error-logging.d.ts +10 -0
  338. package/dist/trpc/error-logging.d.ts.map +1 -1
  339. package/dist/trpc/error-logging.js +21 -0
  340. package/dist/trpc/error-logging.js.map +1 -1
  341. package/dist/trpc/router.d.ts +100 -31028
  342. package/dist/trpc/router.d.ts.map +1 -1
  343. package/dist/trpc/router.js +12 -3
  344. package/dist/trpc/router.js.map +1 -1
  345. package/dist/trpc/routers/app-instances.d.ts +2332 -0
  346. package/dist/trpc/routers/app-instances.d.ts.map +1 -0
  347. package/dist/trpc/routers/app-instances.js +52 -0
  348. package/dist/trpc/routers/app-instances.js.map +1 -0
  349. package/dist/trpc/routers/app-runs.d.ts +1120 -0
  350. package/dist/trpc/routers/app-runs.d.ts.map +1 -0
  351. package/dist/trpc/routers/app-runs.js +28 -0
  352. package/dist/trpc/routers/app-runs.js.map +1 -0
  353. package/dist/trpc/routers/applications.d.ts +1102 -0
  354. package/dist/trpc/routers/applications.d.ts.map +1 -1
  355. package/dist/trpc/routers/applications.js +5 -2
  356. package/dist/trpc/routers/applications.js.map +1 -1
  357. package/dist/trpc/routers/assets.d.ts +18 -0
  358. package/dist/trpc/routers/assets.d.ts.map +1 -1
  359. package/dist/trpc/routers/assets.js +20 -5
  360. package/dist/trpc/routers/assets.js.map +1 -1
  361. package/dist/trpc/routers/bug-reports.d.ts +33 -0
  362. package/dist/trpc/routers/bug-reports.d.ts.map +1 -0
  363. package/dist/trpc/routers/bug-reports.js +69 -0
  364. package/dist/trpc/routers/bug-reports.js.map +1 -0
  365. package/dist/trpc/routers/collections.d.ts.map +1 -1
  366. package/dist/trpc/routers/collections.js +16 -10
  367. package/dist/trpc/routers/collections.js.map +1 -1
  368. package/dist/trpc/routers/credits.d.ts.map +1 -1
  369. package/dist/trpc/routers/credits.js +11 -1
  370. package/dist/trpc/routers/credits.js.map +1 -1
  371. package/dist/trpc/routers/documents.d.ts.map +1 -1
  372. package/dist/trpc/routers/documents.js +8 -2
  373. package/dist/trpc/routers/documents.js.map +1 -1
  374. package/dist/trpc/routers/error-traces.d.ts +132 -0
  375. package/dist/trpc/routers/error-traces.d.ts.map +1 -0
  376. package/dist/trpc/routers/error-traces.js +118 -0
  377. package/dist/trpc/routers/error-traces.js.map +1 -0
  378. package/dist/trpc/routers/extension.d.ts +3 -3
  379. package/dist/trpc/routers/extension.d.ts.map +1 -1
  380. package/dist/trpc/routers/extension.js +13 -9
  381. package/dist/trpc/routers/extension.js.map +1 -1
  382. package/dist/trpc/routers/gameDraftHistory.d.ts +7 -0
  383. package/dist/trpc/routers/gameDraftHistory.d.ts.map +1 -0
  384. package/dist/trpc/routers/gameDraftHistory.js +40 -0
  385. package/dist/trpc/routers/gameDraftHistory.js.map +1 -0
  386. package/dist/trpc/routers/games.d.ts +59974 -5414
  387. package/dist/trpc/routers/games.d.ts.map +1 -1
  388. package/dist/trpc/routers/games.js +531 -136
  389. package/dist/trpc/routers/games.js.map +1 -1
  390. package/dist/trpc/routers/jobs.d.ts +42 -0
  391. package/dist/trpc/routers/jobs.d.ts.map +1 -1
  392. package/dist/trpc/routers/jobs.js +89 -4
  393. package/dist/trpc/routers/jobs.js.map +1 -1
  394. package/dist/trpc/routers/js-scripts.d.ts.map +1 -1
  395. package/dist/trpc/routers/js-scripts.js +18 -2
  396. package/dist/trpc/routers/js-scripts.js.map +1 -1
  397. package/dist/trpc/routers/mcp-config.d.ts +3 -1
  398. package/dist/trpc/routers/mcp-config.d.ts.map +1 -1
  399. package/dist/trpc/routers/mcp-config.js +46 -208
  400. package/dist/trpc/routers/mcp-config.js.map +1 -1
  401. package/dist/trpc/routers/messages.d.ts +10 -0
  402. package/dist/trpc/routers/messages.d.ts.map +1 -1
  403. package/dist/trpc/routers/messages.js +16 -2
  404. package/dist/trpc/routers/messages.js.map +1 -1
  405. package/dist/trpc/routers/models.d.ts +130 -0
  406. package/dist/trpc/routers/models.d.ts.map +1 -1
  407. package/dist/trpc/routers/models.js +119 -61
  408. package/dist/trpc/routers/models.js.map +1 -1
  409. package/dist/trpc/routers/packs.d.ts.map +1 -1
  410. package/dist/trpc/routers/packs.js +18 -4
  411. package/dist/trpc/routers/packs.js.map +1 -1
  412. package/dist/trpc/routers/projects.d.ts +66 -2
  413. package/dist/trpc/routers/projects.d.ts.map +1 -1
  414. package/dist/trpc/routers/projects.js +19 -2
  415. package/dist/trpc/routers/projects.js.map +1 -1
  416. package/dist/trpc/routers/runs.d.ts +472 -0
  417. package/dist/trpc/routers/runs.d.ts.map +1 -0
  418. package/dist/trpc/routers/runs.js +40 -0
  419. package/dist/trpc/routers/runs.js.map +1 -0
  420. package/dist/trpc/routers/settings.d.ts +3 -0
  421. package/dist/trpc/routers/settings.d.ts.map +1 -1
  422. package/dist/trpc/routers/settings.js +32 -5
  423. package/dist/trpc/routers/settings.js.map +1 -1
  424. package/dist/trpc/routers/sketch.d.ts +44 -0
  425. package/dist/trpc/routers/sketch.d.ts.map +1 -1
  426. package/dist/trpc/routers/sketch.js +2 -2
  427. package/dist/trpc/routers/sketch.js.map +1 -1
  428. package/dist/trpc/routers/storyboards.d.ts +903 -1
  429. package/dist/trpc/routers/storyboards.d.ts.map +1 -1
  430. package/dist/trpc/routers/storyboards.js +8 -5
  431. package/dist/trpc/routers/storyboards.js.map +1 -1
  432. package/dist/trpc/routers/threads.d.ts.map +1 -1
  433. package/dist/trpc/routers/threads.js +8 -2
  434. package/dist/trpc/routers/threads.js.map +1 -1
  435. package/dist/trpc/routers/timeline.d.ts +647 -63
  436. package/dist/trpc/routers/timeline.d.ts.map +1 -1
  437. package/dist/trpc/routers/timeline.js +193 -4
  438. package/dist/trpc/routers/timeline.js.map +1 -1
  439. package/dist/trpc/routers/triggers.d.ts.map +1 -1
  440. package/dist/trpc/routers/triggers.js +18 -3
  441. package/dist/trpc/routers/triggers.js.map +1 -1
  442. package/dist/trpc/routers/users.d.ts +3 -2
  443. package/dist/trpc/routers/users.d.ts.map +1 -1
  444. package/dist/trpc/routers/users.js +25 -27
  445. package/dist/trpc/routers/users.js.map +1 -1
  446. package/dist/trpc/routers/worker.d.ts +10 -9
  447. package/dist/trpc/routers/worker.d.ts.map +1 -1
  448. package/dist/trpc/routers/worker.js +40 -16
  449. package/dist/trpc/routers/worker.js.map +1 -1
  450. package/dist/trpc/routers/workflows.d.ts +202 -3
  451. package/dist/trpc/routers/workflows.d.ts.map +1 -1
  452. package/dist/trpc/routers/workflows.js +72 -12
  453. package/dist/trpc/routers/workflows.js.map +1 -1
  454. package/dist/trpc/sandbox-coverage.d.ts.map +1 -1
  455. package/dist/trpc/sandbox-coverage.js +119 -0
  456. package/dist/trpc/sandbox-coverage.js.map +1 -1
  457. package/dist/websocket-client-session.d.ts +4 -2
  458. package/dist/websocket-client-session.d.ts.map +1 -1
  459. package/dist/websocket-client-session.js +23 -3
  460. package/dist/websocket-client-session.js.map +1 -1
  461. package/dist/worker-settings-env.d.ts +23 -0
  462. package/dist/worker-settings-env.d.ts.map +1 -0
  463. package/dist/worker-settings-env.js +47 -0
  464. package/dist/worker-settings-env.js.map +1 -0
  465. package/dist/workflow-interface-service.d.ts +7 -0
  466. package/dist/workflow-interface-service.d.ts.map +1 -1
  467. package/package.json +58 -41
  468. package/dist/extension-cdp-bridge.d.ts +0 -85
  469. package/dist/extension-cdp-bridge.d.ts.map +0 -1
  470. package/dist/extension-cdp-bridge.js +0 -163
  471. package/dist/extension-cdp-bridge.js.map +0 -1
@@ -81,6 +81,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
81
81
  repo_id: string;
82
82
  revision?: string | null | undefined;
83
83
  path?: string | null | undefined;
84
+ allow_patterns?: string[] | null | undefined;
85
+ model_type?: string | null | undefined;
84
86
  } | null | undefined;
85
87
  } | null | undefined;
86
88
  execution?: {
@@ -97,6 +99,15 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
97
99
  }[];
98
100
  meta: object;
99
101
  }>;
102
+ /**
103
+ * Every ranked route as a `<provider>:<model_id>` key, best model first.
104
+ * The model menu orders an empty query with it.
105
+ */
106
+ rankedKeys: import("@trpc/server").TRPCQueryProcedure<{
107
+ input: void;
108
+ output: string[];
109
+ meta: object;
110
+ }>;
100
111
  recommendedImageTextToImage: import("@trpc/server").TRPCQueryProcedure<{
101
112
  input: void;
102
113
  output: {
@@ -140,6 +151,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
140
151
  repo_id: string;
141
152
  revision?: string | null | undefined;
142
153
  path?: string | null | undefined;
154
+ allow_patterns?: string[] | null | undefined;
155
+ model_type?: string | null | undefined;
143
156
  } | null | undefined;
144
157
  } | null | undefined;
145
158
  execution?: {
@@ -199,6 +212,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
199
212
  repo_id: string;
200
213
  revision?: string | null | undefined;
201
214
  path?: string | null | undefined;
215
+ allow_patterns?: string[] | null | undefined;
216
+ model_type?: string | null | undefined;
202
217
  } | null | undefined;
203
218
  } | null | undefined;
204
219
  execution?: {
@@ -258,6 +273,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
258
273
  repo_id: string;
259
274
  revision?: string | null | undefined;
260
275
  path?: string | null | undefined;
276
+ allow_patterns?: string[] | null | undefined;
277
+ model_type?: string | null | undefined;
261
278
  } | null | undefined;
262
279
  } | null | undefined;
263
280
  execution?: {
@@ -317,6 +334,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
317
334
  repo_id: string;
318
335
  revision?: string | null | undefined;
319
336
  path?: string | null | undefined;
337
+ allow_patterns?: string[] | null | undefined;
338
+ model_type?: string | null | undefined;
320
339
  } | null | undefined;
321
340
  } | null | undefined;
322
341
  execution?: {
@@ -376,6 +395,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
376
395
  repo_id: string;
377
396
  revision?: string | null | undefined;
378
397
  path?: string | null | undefined;
398
+ allow_patterns?: string[] | null | undefined;
399
+ model_type?: string | null | undefined;
379
400
  } | null | undefined;
380
401
  } | null | undefined;
381
402
  execution?: {
@@ -435,6 +456,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
435
456
  repo_id: string;
436
457
  revision?: string | null | undefined;
437
458
  path?: string | null | undefined;
459
+ allow_patterns?: string[] | null | undefined;
460
+ model_type?: string | null | undefined;
438
461
  } | null | undefined;
439
462
  } | null | undefined;
440
463
  execution?: {
@@ -494,6 +517,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
494
517
  repo_id: string;
495
518
  revision?: string | null | undefined;
496
519
  path?: string | null | undefined;
520
+ allow_patterns?: string[] | null | undefined;
521
+ model_type?: string | null | undefined;
497
522
  } | null | undefined;
498
523
  } | null | undefined;
499
524
  execution?: {
@@ -561,6 +586,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
561
586
  repo_id: string;
562
587
  revision?: string | null | undefined;
563
588
  path?: string | null | undefined;
589
+ allow_patterns?: string[] | null | undefined;
590
+ model_type?: string | null | undefined;
564
591
  } | null | undefined;
565
592
  } | null | undefined;
566
593
  execution?: {
@@ -623,6 +650,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
623
650
  repo_id: string;
624
651
  revision?: string | null | undefined;
625
652
  path?: string | null | undefined;
653
+ allow_patterns?: string[] | null | undefined;
654
+ model_type?: string | null | undefined;
626
655
  } | null | undefined;
627
656
  } | null | undefined;
628
657
  execution?: {
@@ -688,6 +717,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
688
717
  repo_id: string;
689
718
  revision?: string | null | undefined;
690
719
  path?: string | null | undefined;
720
+ allow_patterns?: string[] | null | undefined;
721
+ model_type?: string | null | undefined;
691
722
  } | null | undefined;
692
723
  } | null | undefined;
693
724
  execution?: {
@@ -765,6 +796,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
765
796
  repo_id: string;
766
797
  revision?: string | null | undefined;
767
798
  path?: string | null | undefined;
799
+ allow_patterns?: string[] | null | undefined;
800
+ model_type?: string | null | undefined;
768
801
  } | null | undefined;
769
802
  } | null | undefined;
770
803
  execution?: {
@@ -833,6 +866,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
833
866
  repo_id: string;
834
867
  revision?: string | null | undefined;
835
868
  path?: string | null | undefined;
869
+ allow_patterns?: string[] | null | undefined;
870
+ model_type?: string | null | undefined;
836
871
  } | null | undefined;
837
872
  } | null | undefined;
838
873
  execution?: {
@@ -898,6 +933,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
898
933
  repo_id: string;
899
934
  revision?: string | null | undefined;
900
935
  path?: string | null | undefined;
936
+ allow_patterns?: string[] | null | undefined;
937
+ model_type?: string | null | undefined;
901
938
  } | null | undefined;
902
939
  } | null | undefined;
903
940
  execution?: {
@@ -968,6 +1005,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
968
1005
  repo_id: string;
969
1006
  revision?: string | null | undefined;
970
1007
  path?: string | null | undefined;
1008
+ allow_patterns?: string[] | null | undefined;
1009
+ model_type?: string | null | undefined;
971
1010
  } | null | undefined;
972
1011
  } | null | undefined;
973
1012
  execution?: {
@@ -1037,6 +1076,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
1037
1076
  repo_id: string;
1038
1077
  revision?: string | null | undefined;
1039
1078
  path?: string | null | undefined;
1079
+ allow_patterns?: string[] | null | undefined;
1080
+ model_type?: string | null | undefined;
1040
1081
  } | null | undefined;
1041
1082
  } | null | undefined;
1042
1083
  execution?: {
@@ -1122,6 +1163,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
1122
1163
  repo_id: string;
1123
1164
  revision?: string | null | undefined;
1124
1165
  path?: string | null | undefined;
1166
+ allow_patterns?: string[] | null | undefined;
1167
+ model_type?: string | null | undefined;
1125
1168
  } | null | undefined;
1126
1169
  } | null | undefined;
1127
1170
  execution?: {
@@ -1201,6 +1244,71 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
1201
1244
  repo_id: string;
1202
1245
  revision?: string | null | undefined;
1203
1246
  path?: string | null | undefined;
1247
+ allow_patterns?: string[] | null | undefined;
1248
+ model_type?: string | null | undefined;
1249
+ } | null | undefined;
1250
+ } | null | undefined;
1251
+ execution?: {
1252
+ kind: "api" | "local" | "server" | "unavailable";
1253
+ state: "download_required" | "ready" | "unavailable";
1254
+ label: "API" | "Local" | "Server" | "Unavailable";
1255
+ reason?: string | null | undefined;
1256
+ execution_site?: "nodetool_host" | "provider" | null | undefined;
1257
+ runtime_name?: string | null | undefined;
1258
+ } | null | undefined;
1259
+ durations?: number[] | null | undefined;
1260
+ resolutions?: string[] | null | undefined;
1261
+ aspect_ratios?: string[] | null | undefined;
1262
+ }[];
1263
+ meta: object;
1264
+ }>;
1265
+ rerankByProvider: import("@trpc/server").TRPCQueryProcedure<{
1266
+ input: {
1267
+ provider: string;
1268
+ };
1269
+ output: {
1270
+ id: string;
1271
+ type?: string | null | undefined;
1272
+ name: string;
1273
+ provider?: string | null | undefined;
1274
+ repo_id?: string | null | undefined;
1275
+ path?: string | null | undefined;
1276
+ artifact_family?: string | null | undefined;
1277
+ artifact_component?: string | null | undefined;
1278
+ artifact_confidence?: number | null | undefined;
1279
+ artifact_evidence?: string[] | null | undefined;
1280
+ cache_path?: string | null | undefined;
1281
+ allow_patterns?: string[] | null | undefined;
1282
+ ignore_patterns?: string[] | null | undefined;
1283
+ description?: string | null | undefined;
1284
+ readme?: string | null | undefined;
1285
+ downloaded?: boolean | null | undefined;
1286
+ size_on_disk?: number | null | undefined;
1287
+ pipeline_tag?: string | null | undefined;
1288
+ tags?: string[] | null | undefined;
1289
+ has_model_index?: boolean | null | undefined;
1290
+ downloads?: number | null | undefined;
1291
+ likes?: number | null | undefined;
1292
+ supported_tasks?: string[] | null | undefined;
1293
+ trending_score?: number | null | undefined;
1294
+ image?: string | null | undefined;
1295
+ supports_tools?: boolean | null | undefined;
1296
+ voices?: string[] | null | undefined;
1297
+ capabilities?: string[] | null | undefined;
1298
+ languages?: string[] | null | undefined;
1299
+ sample_rate?: number | null | undefined;
1300
+ requires_reference_text?: boolean | null | undefined;
1301
+ adapter?: {
1302
+ state: "installed" | "missing_dependency" | "unknown";
1303
+ reason_code?: string | null | undefined;
1304
+ reason?: string | null | undefined;
1305
+ artifact_ref?: {
1306
+ source: "huggingface";
1307
+ repo_id: string;
1308
+ revision?: string | null | undefined;
1309
+ path?: string | null | undefined;
1310
+ allow_patterns?: string[] | null | undefined;
1311
+ model_type?: string | null | undefined;
1204
1312
  } | null | undefined;
1205
1313
  } | null | undefined;
1206
1314
  execution?: {
@@ -1260,6 +1368,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
1260
1368
  repo_id: string;
1261
1369
  revision?: string | null | undefined;
1262
1370
  path?: string | null | undefined;
1371
+ allow_patterns?: string[] | null | undefined;
1372
+ model_type?: string | null | undefined;
1263
1373
  } | null | undefined;
1264
1374
  } | null | undefined;
1265
1375
  execution?: {
@@ -1321,6 +1431,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
1321
1431
  repo_id: string;
1322
1432
  revision?: string | null | undefined;
1323
1433
  path?: string | null | undefined;
1434
+ allow_patterns?: string[] | null | undefined;
1435
+ model_type?: string | null | undefined;
1324
1436
  } | null | undefined;
1325
1437
  } | null | undefined;
1326
1438
  execution?: {
@@ -1380,6 +1492,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
1380
1492
  repo_id: string;
1381
1493
  revision?: string | null | undefined;
1382
1494
  path?: string | null | undefined;
1495
+ allow_patterns?: string[] | null | undefined;
1496
+ model_type?: string | null | undefined;
1383
1497
  } | null | undefined;
1384
1498
  } | null | undefined;
1385
1499
  execution?: {
@@ -1441,6 +1555,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
1441
1555
  repo_id: string;
1442
1556
  revision?: string | null | undefined;
1443
1557
  path?: string | null | undefined;
1558
+ allow_patterns?: string[] | null | undefined;
1559
+ model_type?: string | null | undefined;
1444
1560
  } | null | undefined;
1445
1561
  } | null | undefined;
1446
1562
  execution?: {
@@ -1500,6 +1616,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
1500
1616
  repo_id: string;
1501
1617
  revision?: string | null | undefined;
1502
1618
  path?: string | null | undefined;
1619
+ allow_patterns?: string[] | null | undefined;
1620
+ model_type?: string | null | undefined;
1503
1621
  } | null | undefined;
1504
1622
  } | null | undefined;
1505
1623
  execution?: {
@@ -1561,6 +1679,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
1561
1679
  repo_id: string;
1562
1680
  revision?: string | null | undefined;
1563
1681
  path?: string | null | undefined;
1682
+ allow_patterns?: string[] | null | undefined;
1683
+ model_type?: string | null | undefined;
1564
1684
  } | null | undefined;
1565
1685
  } | null | undefined;
1566
1686
  execution?: {
@@ -1620,6 +1740,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
1620
1740
  repo_id: string;
1621
1741
  revision?: string | null | undefined;
1622
1742
  path?: string | null | undefined;
1743
+ allow_patterns?: string[] | null | undefined;
1744
+ model_type?: string | null | undefined;
1623
1745
  } | null | undefined;
1624
1746
  } | null | undefined;
1625
1747
  execution?: {
@@ -1681,6 +1803,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
1681
1803
  repo_id: string;
1682
1804
  revision?: string | null | undefined;
1683
1805
  path?: string | null | undefined;
1806
+ allow_patterns?: string[] | null | undefined;
1807
+ model_type?: string | null | undefined;
1684
1808
  } | null | undefined;
1685
1809
  } | null | undefined;
1686
1810
  execution?: {
@@ -1740,6 +1864,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
1740
1864
  repo_id: string;
1741
1865
  revision?: string | null | undefined;
1742
1866
  path?: string | null | undefined;
1867
+ allow_patterns?: string[] | null | undefined;
1868
+ model_type?: string | null | undefined;
1743
1869
  } | null | undefined;
1744
1870
  } | null | undefined;
1745
1871
  execution?: {
@@ -1801,6 +1927,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
1801
1927
  repo_id: string;
1802
1928
  revision?: string | null | undefined;
1803
1929
  path?: string | null | undefined;
1930
+ allow_patterns?: string[] | null | undefined;
1931
+ model_type?: string | null | undefined;
1804
1932
  } | null | undefined;
1805
1933
  } | null | undefined;
1806
1934
  execution?: {
@@ -1862,6 +1990,8 @@ export declare const modelsRouter: import("@trpc/server").TRPCBuiltRouter<{
1862
1990
  repo_id: string;
1863
1991
  revision?: string | null | undefined;
1864
1992
  path?: string | null | undefined;
1993
+ allow_patterns?: string[] | null | undefined;
1994
+ model_type?: string | null | undefined;
1865
1995
  } | null | undefined;
1866
1996
  } | null | undefined;
1867
1997
  execution?: {
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/trpc/routers/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/trpc/routers/models.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,OAAO,EAUL,KAAK,UAAU,EAEhB,MAAM,sBAAsB,CAAC;AAyB9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAkP1D,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAuBtE;AAgDD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAOf;AAsED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,UAAU,EAAE,CAAC,CAUvB;AA6eD,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAiE1E;AA8GD;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,MAAM,EACd,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,GACtC,OAAO,CAAC,YAAY,EAAE,CAAC,CA4CzB;AAqBD,eAAO,MAAM,YAAY;;;;;;IACvB;;OAEG;;;;;;;;;;;IAoCH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsCH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqBH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiBH;;;OAGG;;;;;;;;;IAiBH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoBH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyBH;;;;;;;;OAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2CH;;;;;;;OAOG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsCH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0CH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqUH;;OAEG;;;;;;;;;;;;;;;;IA2CH;;OAEG;;;;;;;;;;;GAcH,CAAC"}
@@ -1,21 +1,22 @@
1
1
  import { router } from "../index.js";
2
2
  import { protectedProcedure } from "../middleware.js";
3
3
  import { TRPCError } from "@trpc/server";
4
- import { createLogger } from "@nodetool-ai/config";
5
- import { getProvider, getRegisteredProvider, isProviderConfigured, listRegisteredProviderIds, RECOMMENDED_MODELS, OLLAMA_DEFAULT_URL, OllamaProvider, LMSTUDIO_DEFAULT_URL } from "@nodetool-ai/runtime";
4
+ import { createLogger, getHfHubCacheDir } from "@nodetool-ai/config";
5
+ import { discoverASRModels, discoverVadModels } from "@nodetool-ai/whisper-cpp";
6
+ import { getProvider, getRegisteredProvider, imageModelTasks, isProviderConfigured, listRegisteredProviderIds, RECOMMENDED_MODELS, OLLAMA_DEFAULT_URL, OllamaProvider, LMSTUDIO_DEFAULT_URL } from "@nodetool-ai/runtime";
6
7
  import { getSecret as getStoredSecret } from "@nodetool-ai/models";
7
8
  import { syncCustomProviderRegistry } from "../../custom-providers.js";
8
9
  function secretResolverFor(userId) {
9
10
  return (key) => getStoredSecret(key, userId).then((v) => v ?? undefined);
10
11
  }
11
12
  const log = createLogger("nodetool.websocket.trpc.models");
12
- import { readCachedHfModels, searchCachedHfModels, getModelsByHfType, filterModelsByHfType, deleteCachedHfModel } from "@nodetool-ai/huggingface";
13
+ import { readCachedHfModels, searchCachedHfModels, getModelsByHfType, filterModelsByHfType, deleteCachedHfModel, isLlamaCppModelCached as isFlatLlamaCppModelCached } from "@nodetool-ai/huggingface";
13
14
  import { getTransformersJsCacheDir, recommendedFor, scanTransformersJsCache, TJS_MODEL_TYPES } from "@nodetool-ai/transformers-js-nodes";
14
15
  import { MODEL_SEARCH_KINDS } from "@nodetool-ai/protocol";
16
+ import { rankedModelKeys } from "../../models-api.js";
15
17
  import { access, readdir } from "node:fs/promises";
16
18
  import { constants as fsConstants } from "node:fs";
17
- import { homedir } from "node:os";
18
- import { basename, join, resolve, sep } from "node:path";
19
+ import { join, resolve, sep } from "node:path";
19
20
  import { z } from "zod";
20
21
  import { isString } from "../../lib/wire-values.js";
21
22
  import { readyProviderExecution, resolveModelExecutionAvailability } from "../../model-execution-availability.js";
@@ -23,7 +24,9 @@ const modelArtifactRefSchema = z.object({
23
24
  source: z.literal("huggingface"),
24
25
  repo_id: z.string(),
25
26
  revision: z.string().nullish(),
26
- path: z.string().nullish()
27
+ path: z.string().nullish(),
28
+ allow_patterns: z.array(z.string()).nullish(),
29
+ model_type: z.string().nullish()
27
30
  });
28
31
  const modelAdapterInfoSchema = z.object({
29
32
  state: z.enum(["installed", "missing_dependency", "unknown"]),
@@ -251,10 +254,7 @@ function isDownloadedFromFiles(files, allowPatterns, ignorePatterns) {
251
254
  return files.some((path) => !isIgnored(path, ignorePatterns));
252
255
  }
253
256
  function getHfCacheRoot() {
254
- const cacheEnv = process.env.HUGGINGFACE_HUB_CACHE ?? process.env.HF_HOME;
255
- return cacheEnv
256
- ? join(cacheEnv, "hub")
257
- : join(homedir(), ".cache", "huggingface", "hub");
257
+ return getHfHubCacheDir();
258
258
  }
259
259
  function repoToCacheDir(repoId) {
260
260
  return `models--${repoId.replaceAll("/", "--")}`;
@@ -320,30 +320,14 @@ async function listRepoCachedFiles(repoId) {
320
320
  }
321
321
  return [...collected];
322
322
  }
323
+ /** A GGUF is downloaded when it is in the HF hub cache (the `llama_cpp_model`
324
+ * download path) or in llama.cpp's flat cache (the `llama_cpp` download path,
325
+ * which writes `{org}_{repo}_{file}` to {@link getLlamaCppCacheDir}). */
323
326
  async function isLlamaCppModelCached(repoId, filePath) {
324
327
  if (await repoFileInCache(repoId, filePath)) {
325
328
  return true;
326
329
  }
327
- const cacheRoot = process.env.LLAMA_CPP_CACHE_DIR ??
328
- join(homedir(), "Library", "Caches", "llama.cpp", "hf");
329
- const repoDir = join(cacheRoot, repoToCacheDir(repoId), "snapshots");
330
- if (!(await pathExists(repoDir)))
331
- return false;
332
- const snapshots = await readdir(repoDir, { withFileTypes: true });
333
- for (const snapshot of snapshots) {
334
- if (!snapshot.isDirectory())
335
- continue;
336
- const snapshotDir = join(repoDir, snapshot.name);
337
- const full = safeJoinWithin(snapshotDir, filePath);
338
- if (full && (await pathExists(full))) {
339
- return true;
340
- }
341
- // basename() strips any traversal segments, so this join stays contained.
342
- if (await pathExists(join(snapshotDir, basename(filePath)))) {
343
- return true;
344
- }
345
- }
346
- return false;
330
+ return isFlatLlamaCppModelCached(repoId, filePath);
347
331
  }
348
332
  export async function getAvailableProviderIds(userId) {
349
333
  const ids = listRegisteredProviderIds();
@@ -474,8 +458,25 @@ async function serverAllowsModel(model, servers, userId) {
474
458
  return await isProviderConfigured(model.provider, secretResolverFor(userId));
475
459
  return true;
476
460
  }
461
+ async function withWhisperDownloadStatus(models, userId) {
462
+ const modelsDir = await secretResolverFor(userId)("WHISPER_CPP_MODELS_DIR");
463
+ const whisperFiles = new Map((await Promise.all([
464
+ discoverASRModels(modelsDir),
465
+ discoverVadModels(modelsDir)
466
+ ]))
467
+ .flat()
468
+ .map((model) => [model.id.split(/[\\/]/).at(-1), model.id]));
469
+ return Promise.all(models.map(async (model) => model.provider === "whisper_cpp" && model.repo_id && model.path
470
+ ? {
471
+ ...model,
472
+ id: whisperFiles.get(model.path) ?? model.id,
473
+ downloaded: whisperFiles.has(model.path) ||
474
+ (await repoFileInCache(model.repo_id, model.path))
475
+ }
476
+ : model));
477
+ }
477
478
  async function getRecommendedModels(checkServers, userId) {
478
- const models = [...RECOMMENDED_MODELS];
479
+ const models = await withWhisperDownloadStatus([...RECOMMENDED_MODELS], userId);
479
480
  if (!checkServers)
480
481
  return models;
481
482
  const servers = await getServerAvailability(userId);
@@ -602,7 +603,10 @@ function toUnifiedModel(model, type) {
602
603
  provider: model.provider,
603
604
  repo_id: null,
604
605
  path: null,
605
- downloaded: model.provider === "ollama" || model.provider === "llama_cpp",
606
+ downloaded: model.provider === "ollama" ||
607
+ model.provider === "llama_cpp" ||
608
+ model.provider === "whisper_cpp" ||
609
+ model.provider === "whisper_cpp_server",
606
610
  tags: [model.provider],
607
611
  voices: model.voices ?? null,
608
612
  capabilities: model.capabilities ?? null,
@@ -619,12 +623,16 @@ function toUnifiedModel(model, type) {
619
623
  source: model.adapter.artifactRef.source,
620
624
  repo_id: model.adapter.artifactRef.repoId,
621
625
  revision: model.adapter.artifactRef.revision ?? null,
622
- path: model.adapter.artifactRef.path ?? null
626
+ path: model.adapter.artifactRef.path ?? null,
627
+ allow_patterns: model.adapter.artifactRef.allowPatterns ?? null,
628
+ model_type: model.adapter.artifactRef.modelType ?? null
623
629
  }
624
630
  : null
625
631
  }
626
632
  : null,
627
- supported_tasks: model.supportedTasks ?? null,
633
+ supported_tasks: (type === "image_model"
634
+ ? imageModelTasks(model)
635
+ : model.supportedTasks) ?? null,
628
636
  durations: model.durations ?? null,
629
637
  resolutions: model.resolutions ?? null,
630
638
  aspect_ratios: model.aspectRatios ?? null,
@@ -669,11 +677,20 @@ async function resolveProviderModelExecution(models, configuredProviderIds) {
669
677
  catch {
670
678
  // A failed cache scan means local adapters remain download-required.
671
679
  }
680
+ if (models.some((model) => model.adapter?.artifact_ref?.model_type?.startsWith("tjs."))) {
681
+ try {
682
+ const cached = await scanTransformersJsCache(getTransformersJsCacheDir());
683
+ cachedModels.push(...cached.map((c) => tjsRefToUnified({ repo_id: c.repo_id }, "tjs.cached", true, c.size_bytes)));
684
+ }
685
+ catch {
686
+ // Transformers.js adapters remain download-required.
687
+ }
688
+ }
672
689
  return resolveModelExecutionAvailability([...models, ...cachedModels], providerExecutionMap(configuredProviderIds)).slice(0, models.length);
673
690
  }
674
691
  export async function getAllModels(userId) {
675
692
  const all = [];
676
- all.push(...RECOMMENDED_MODELS);
693
+ all.push(...(await getRecommendedModels(false, userId)));
677
694
  const availableIds = await getAvailableProviderIds(userId);
678
695
  const providerModelsPromises = availableIds.map(async (providerId) => {
679
696
  try {
@@ -848,7 +865,9 @@ function curatedForKind(kind) {
848
865
  const taskRequired = kind !== "text_to_speech" &&
849
866
  kind !== "speech_to_text" &&
850
867
  kind !== "text_to_music";
851
- return RECOMMENDED_MODELS.filter((r) => r.modality === modality && (!taskRequired || r.task === kind));
868
+ return RECOMMENDED_MODELS.filter((r) => r.modality === modality &&
869
+ r.type !== "hf.whisper_cpp_vad" &&
870
+ (!taskRequired || r.task === kind));
852
871
  }
853
872
  // ── Router ─────────────────────────────────────────────────────────
854
873
  export const modelsRouter = router({
@@ -892,6 +911,13 @@ export const modelsRouter = router({
892
911
  .query(async ({ input, ctx }) => {
893
912
  return getRecommendedModels(input.check_servers ?? false, ctx.userId);
894
913
  }),
914
+ /**
915
+ * Every ranked route as a `<provider>:<model_id>` key, best model first.
916
+ * The model menu orders an empty query with it.
917
+ */
918
+ rankedKeys: protectedProcedure
919
+ .output(z.array(z.string()))
920
+ .query(() => rankedModelKeys()),
895
921
  recommendedImageTextToImage: protectedProcedure
896
922
  .output(modelsListOutput)
897
923
  .query(() => selectRecommended("image", "text_to_image")),
@@ -901,9 +927,7 @@ export const modelsRouter = router({
901
927
  recommendedLanguageEmbedding: protectedProcedure
902
928
  .output(modelsListOutput)
903
929
  .query(() => selectRecommended("language", "embedding")),
904
- recommendedAsr: protectedProcedure
905
- .output(modelsListOutput)
906
- .query(() => selectRecommended("asr")),
930
+ recommendedAsr: protectedProcedure.output(modelsListOutput).query(({ ctx }) => withWhisperDownloadStatus(selectRecommended("asr").filter((model) => model.type !== "hf.whisper_cpp_vad"), ctx.userId)),
907
931
  recommendedTts: protectedProcedure
908
932
  .output(modelsListOutput)
909
933
  .query(() => selectRecommended("tts")),
@@ -1029,6 +1053,9 @@ export const modelsRouter = router({
1029
1053
  const cached = (await bridge.listCachedModels());
1030
1054
  return filterModelsByHfType(cached, input.model_type);
1031
1055
  }
1056
+ // Scans the server's own HuggingFace cache, like huggingfaceList.
1057
+ if (isProduction())
1058
+ return [];
1032
1059
  try {
1033
1060
  return await getModelsByHfType(input.model_type);
1034
1061
  }
@@ -1170,13 +1197,33 @@ export const modelsRouter = router({
1170
1197
  imageByProvider: protectedProcedure
1171
1198
  .input(providerInput)
1172
1199
  .output(modelsListOutput)
1173
- .query(async ({ ctx, input }) => safeProviderCall("imageByProvider", { provider: input.provider, userId: ctx.userId }, async () => {
1174
- const instance = await instantiateProvider(input.provider, ctx.userId);
1175
- if (!instance)
1176
- return [];
1177
- const models = await instance.getAvailableImageModels();
1178
- return models.map((m) => toUnifiedModel(m, "image_model"));
1179
- }, [])),
1200
+ .query(async ({ ctx, input }) => {
1201
+ const models = await safeProviderCall("imageByProvider", { provider: input.provider, userId: ctx.userId }, async () => {
1202
+ const instance = await instantiateProvider(input.provider, ctx.userId);
1203
+ if (!instance)
1204
+ return [];
1205
+ const models = await instance.getAvailableImageModels();
1206
+ return models.map((m) => toUnifiedModel(m, "image_model"));
1207
+ }, []);
1208
+ // Only a local model has files to download. Remote catalogs keep the
1209
+ // execution state that toUnifiedModel gave them.
1210
+ return models.some((model) => model.adapter)
1211
+ ? resolveProviderModelExecution(models, [input.provider])
1212
+ : models;
1213
+ }),
1214
+ rerankByProvider: protectedProcedure
1215
+ .input(providerInput)
1216
+ .output(modelsListOutput)
1217
+ .query(async ({ ctx, input }) => {
1218
+ const models = await safeProviderCall("rerankByProvider", { provider: input.provider, userId: ctx.userId }, async () => {
1219
+ const instance = await instantiateProvider(input.provider, ctx.userId);
1220
+ if (!instance)
1221
+ return [];
1222
+ const models = await instance.getAvailableRerankModels();
1223
+ return models.map((m) => toUnifiedModel(m, "rerank_model"));
1224
+ }, []);
1225
+ return resolveProviderModelExecution(models, [input.provider]);
1226
+ }),
1180
1227
  tts: protectedProcedure.output(modelsListOutput).query(async ({ ctx }) => {
1181
1228
  const availableIds = await getAvailableProviderIds(ctx.userId);
1182
1229
  const results = await Promise.all(availableIds.map((providerId) => safeProviderCall("tts (aggregate)", { provider: providerId, userId: ctx.userId }, async () => {
@@ -1254,18 +1301,21 @@ export const modelsRouter = router({
1254
1301
  const models = await instance.getAvailableASRModels();
1255
1302
  return models.map((m) => toUnifiedModel(m, "asr_model"));
1256
1303
  }, [])));
1257
- return results.flat();
1304
+ return resolveProviderModelExecution(results.flat(), availableIds);
1258
1305
  }),
1259
1306
  asrByProvider: protectedProcedure
1260
1307
  .input(providerInput)
1261
1308
  .output(modelsListOutput)
1262
- .query(async ({ ctx, input }) => safeProviderCall("asrByProvider", { provider: input.provider, userId: ctx.userId }, async () => {
1263
- const instance = await instantiateProvider(input.provider, ctx.userId);
1264
- if (!instance)
1265
- return [];
1266
- const models = await instance.getAvailableASRModels();
1267
- return models.map((m) => toUnifiedModel(m, "asr_model"));
1268
- }, [])),
1309
+ .query(async ({ ctx, input }) => {
1310
+ const models = await safeProviderCall("asrByProvider", { provider: input.provider, userId: ctx.userId }, async () => {
1311
+ const instance = await instantiateProvider(input.provider, ctx.userId);
1312
+ if (!instance)
1313
+ return [];
1314
+ const models = await instance.getAvailableASRModels();
1315
+ return models.map((m) => toUnifiedModel(m, "asr_model"));
1316
+ }, []);
1317
+ return resolveProviderModelExecution(models, [input.provider]);
1318
+ }),
1269
1319
  video: protectedProcedure.output(modelsListOutput).query(async ({ ctx }) => {
1270
1320
  const availableIds = await getAvailableProviderIds(ctx.userId);
1271
1321
  const results = await Promise.all(availableIds.map((providerId) => safeProviderCall("video (aggregate)", { provider: providerId, userId: ctx.userId }, async () => {
@@ -1290,13 +1340,16 @@ export const modelsRouter = router({
1290
1340
  embeddingByProvider: protectedProcedure
1291
1341
  .input(providerInput)
1292
1342
  .output(modelsListOutput)
1293
- .query(async ({ ctx, input }) => safeProviderCall("embeddingByProvider", { provider: input.provider, userId: ctx.userId }, async () => {
1294
- const instance = await instantiateProvider(input.provider, ctx.userId);
1295
- if (!instance)
1296
- return [];
1297
- const models = await instance.getAvailableEmbeddingModels();
1298
- return models.map((m) => toUnifiedModel(m, "embedding_model"));
1299
- }, [])),
1343
+ .query(async ({ ctx, input }) => {
1344
+ const models = await safeProviderCall("embeddingByProvider", { provider: input.provider, userId: ctx.userId }, async () => {
1345
+ const instance = await instantiateProvider(input.provider, ctx.userId);
1346
+ if (!instance)
1347
+ return [];
1348
+ const models = await instance.getAvailableEmbeddingModels();
1349
+ return models.map((m) => toUnifiedModel(m, "embedding_model"));
1350
+ }, []);
1351
+ return resolveProviderModelExecution(models, [input.provider]);
1352
+ }),
1300
1353
  /**
1301
1354
  * Fast batch cache status check for multiple models.
1302
1355
  */
@@ -1304,6 +1357,11 @@ export const modelsRouter = router({
1304
1357
  .input(hfFastCacheStatusInput)
1305
1358
  .output(hfFastCacheStatusOutput)
1306
1359
  .mutation(async ({ input }) => {
1360
+ // The caches it probes are the server's, which production never offers
1361
+ // to its users.
1362
+ if (isProduction()) {
1363
+ return input.map((item) => ({ key: item.key, downloaded: false }));
1364
+ }
1307
1365
  return Promise.all(input.map(async (item) => {
1308
1366
  const allowPatterns = normalizePatterns(item.allow_patterns);
1309
1367
  const ignorePatterns = normalizePatterns(item.ignore_patterns);