@nodetool-ai/websocket 0.8.1 → 0.8.2

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 (284) hide show
  1. package/dist/.nodetool-build-stamp +1 -1
  2. package/dist/collection-api.d.ts.map +1 -1
  3. package/dist/collection-api.js +41 -4
  4. package/dist/collection-api.js.map +1 -1
  5. package/dist/error-traces.d.ts +56 -0
  6. package/dist/error-traces.d.ts.map +1 -0
  7. package/dist/error-traces.js +179 -0
  8. package/dist/error-traces.js.map +1 -0
  9. package/dist/fake-runtime.d.ts.map +1 -1
  10. package/dist/fake-runtime.js +40 -3
  11. package/dist/fake-runtime.js.map +1 -1
  12. package/dist/generation-recovery.d.ts.map +1 -1
  13. package/dist/generation-recovery.js +26 -4
  14. package/dist/generation-recovery.js.map +1 -1
  15. package/dist/http-api.d.ts.map +1 -1
  16. package/dist/http-api.js +15 -0
  17. package/dist/http-api.js.map +1 -1
  18. package/dist/index.d.ts +0 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +0 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/interrupted-jobs.d.ts +14 -0
  23. package/dist/interrupted-jobs.d.ts.map +1 -0
  24. package/dist/interrupted-jobs.js +28 -0
  25. package/dist/interrupted-jobs.js.map +1 -0
  26. package/dist/lib/app-debug-service.js +1 -1
  27. package/dist/lib/app-debug-service.js.map +1 -1
  28. package/dist/lib/app-instances-service.d.ts +1284 -0
  29. package/dist/lib/app-instances-service.d.ts.map +1 -0
  30. package/dist/lib/app-instances-service.js +378 -0
  31. package/dist/lib/app-instances-service.js.map +1 -0
  32. package/dist/lib/app-run-cancellation.d.ts +4 -0
  33. package/dist/lib/app-run-cancellation.d.ts.map +1 -0
  34. package/dist/lib/app-run-cancellation.js +28 -0
  35. package/dist/lib/app-run-cancellation.js.map +1 -0
  36. package/dist/lib/applications-service.d.ts +182 -1
  37. package/dist/lib/applications-service.d.ts.map +1 -1
  38. package/dist/lib/applications-service.js +20 -4
  39. package/dist/lib/applications-service.js.map +1 -1
  40. package/dist/lib/asset-paths.d.ts +7 -11
  41. package/dist/lib/asset-paths.d.ts.map +1 -1
  42. package/dist/lib/asset-paths.js +8 -56
  43. package/dist/lib/asset-paths.js.map +1 -1
  44. package/dist/lib/asset-response.d.ts.map +1 -1
  45. package/dist/lib/asset-response.js +2 -1
  46. package/dist/lib/asset-response.js.map +1 -1
  47. package/dist/lib/audio-peaks.d.ts.map +1 -1
  48. package/dist/lib/audio-peaks.js +5 -1
  49. package/dist/lib/audio-peaks.js.map +1 -1
  50. package/dist/lib/bridge.d.ts.map +1 -1
  51. package/dist/lib/bridge.js.map +1 -1
  52. package/dist/lib/document-model-interfaces.d.ts.map +1 -1
  53. package/dist/lib/document-model-interfaces.js +9 -8
  54. package/dist/lib/document-model-interfaces.js.map +1 -1
  55. package/dist/lib/example-apps.d.ts +9 -0
  56. package/dist/lib/example-apps.d.ts.map +1 -1
  57. package/dist/lib/example-apps.js +61 -14
  58. package/dist/lib/example-apps.js.map +1 -1
  59. package/dist/lib/http-tracing.d.ts +12 -0
  60. package/dist/lib/http-tracing.d.ts.map +1 -0
  61. package/dist/lib/http-tracing.js +81 -0
  62. package/dist/lib/http-tracing.js.map +1 -0
  63. package/dist/lib/media.d.ts +1 -6
  64. package/dist/lib/media.d.ts.map +1 -1
  65. package/dist/lib/media.js +8 -44
  66. package/dist/lib/media.js.map +1 -1
  67. package/dist/lib/public-routes.d.ts +7 -0
  68. package/dist/lib/public-routes.d.ts.map +1 -1
  69. package/dist/lib/public-routes.js +14 -0
  70. package/dist/lib/public-routes.js.map +1 -1
  71. package/dist/lib/public-workflow-share.d.ts +20 -0
  72. package/dist/lib/public-workflow-share.d.ts.map +1 -0
  73. package/dist/lib/public-workflow-share.js +45 -0
  74. package/dist/lib/public-workflow-share.js.map +1 -0
  75. package/dist/lib/run-trace-live-delivery.d.ts +25 -0
  76. package/dist/lib/run-trace-live-delivery.d.ts.map +1 -0
  77. package/dist/lib/run-trace-live-delivery.js +91 -0
  78. package/dist/lib/run-trace-live-delivery.js.map +1 -0
  79. package/dist/lib/test-ui-run-routes.d.ts +8 -0
  80. package/dist/lib/test-ui-run-routes.d.ts.map +1 -0
  81. package/dist/lib/test-ui-run-routes.js +42 -0
  82. package/dist/lib/test-ui-run-routes.js.map +1 -0
  83. package/dist/lib/thumbnail.d.ts.map +1 -1
  84. package/dist/lib/thumbnail.js +12 -9
  85. package/dist/lib/thumbnail.js.map +1 -1
  86. package/dist/lib/timeline-bundle.d.ts +148 -16
  87. package/dist/lib/timeline-bundle.d.ts.map +1 -1
  88. package/dist/lib/timeline-bundle.js +12 -0
  89. package/dist/lib/timeline-bundle.js.map +1 -1
  90. package/dist/lib/video-proxy.d.ts.map +1 -1
  91. package/dist/lib/video-proxy.js +3 -2
  92. package/dist/lib/video-proxy.js.map +1 -1
  93. package/dist/lib/workflow-service.d.ts.map +1 -1
  94. package/dist/lib/workflow-service.js +4 -1
  95. package/dist/lib/workflow-service.js.map +1 -1
  96. package/dist/mcp-agent-tools.d.ts.map +1 -1
  97. package/dist/mcp-agent-tools.js +93 -162
  98. package/dist/mcp-agent-tools.js.map +1 -1
  99. package/dist/mcp-client-config.d.ts +64 -0
  100. package/dist/mcp-client-config.d.ts.map +1 -0
  101. package/dist/mcp-client-config.js +353 -0
  102. package/dist/mcp-client-config.js.map +1 -0
  103. package/dist/models-api.d.ts +10 -0
  104. package/dist/models-api.d.ts.map +1 -1
  105. package/dist/models-api.js +23 -0
  106. package/dist/models-api.js.map +1 -1
  107. package/dist/node-registry-setup.d.ts +1 -1
  108. package/dist/node-registry-setup.d.ts.map +1 -1
  109. package/dist/node-registry-setup.js +21 -114
  110. package/dist/node-registry-setup.js.map +1 -1
  111. package/dist/plugins/websocket.d.ts.map +1 -1
  112. package/dist/plugins/websocket.js +20 -57
  113. package/dist/plugins/websocket.js.map +1 -1
  114. package/dist/python-bridge-gate.d.ts +28 -0
  115. package/dist/python-bridge-gate.d.ts.map +1 -0
  116. package/dist/python-bridge-gate.js +36 -0
  117. package/dist/python-bridge-gate.js.map +1 -0
  118. package/dist/routes/app-runs.d.ts +4 -0
  119. package/dist/routes/app-runs.d.ts.map +1 -0
  120. package/dist/routes/app-runs.js +173 -0
  121. package/dist/routes/app-runs.js.map +1 -0
  122. package/dist/routes/js-scripts.d.ts +9 -3
  123. package/dist/routes/js-scripts.d.ts.map +1 -1
  124. package/dist/routes/js-scripts.js +450 -68
  125. package/dist/routes/js-scripts.js.map +1 -1
  126. package/dist/routes/nodes.d.ts.map +1 -1
  127. package/dist/routes/nodes.js +32 -1
  128. package/dist/routes/nodes.js.map +1 -1
  129. package/dist/routes/public-shared-workflows.d.ts +16 -0
  130. package/dist/routes/public-shared-workflows.d.ts.map +1 -0
  131. package/dist/routes/public-shared-workflows.js +55 -0
  132. package/dist/routes/public-shared-workflows.js.map +1 -0
  133. package/dist/routes/run-spans.d.ts +4 -0
  134. package/dist/routes/run-spans.d.ts.map +1 -0
  135. package/dist/routes/run-spans.js +53 -0
  136. package/dist/routes/run-spans.js.map +1 -0
  137. package/dist/routes/timeline-fonts.d.ts +22 -0
  138. package/dist/routes/timeline-fonts.d.ts.map +1 -1
  139. package/dist/routes/timeline-fonts.js +138 -7
  140. package/dist/routes/timeline-fonts.js.map +1 -1
  141. package/dist/screenshot-server.js +4 -5
  142. package/dist/screenshot-server.js.map +1 -1
  143. package/dist/sdk/sdk-model-download-service.d.ts.map +1 -1
  144. package/dist/sdk/sdk-model-download-service.js +5 -2
  145. package/dist/sdk/sdk-model-download-service.js.map +1 -1
  146. package/dist/server.js +86 -19
  147. package/dist/server.js.map +1 -1
  148. package/dist/session/app-run-fold.d.ts +7 -0
  149. package/dist/session/app-run-fold.d.ts.map +1 -0
  150. package/dist/session/app-run-fold.js +45 -0
  151. package/dist/session/app-run-fold.js.map +1 -0
  152. package/dist/session/chat-prompt.d.ts.map +1 -1
  153. package/dist/session/chat-prompt.js +37 -15
  154. package/dist/session/chat-prompt.js.map +1 -1
  155. package/dist/session/chat-turn.d.ts +1 -0
  156. package/dist/session/chat-turn.d.ts.map +1 -1
  157. package/dist/session/chat-turn.js +203 -107
  158. package/dist/session/chat-turn.js.map +1 -1
  159. package/dist/session/commands.d.ts.map +1 -1
  160. package/dist/session/commands.js +6 -0
  161. package/dist/session/commands.js.map +1 -1
  162. package/dist/session/inference.d.ts +5 -0
  163. package/dist/session/inference.d.ts.map +1 -1
  164. package/dist/session/inference.js +80 -9
  165. package/dist/session/inference.js.map +1 -1
  166. package/dist/session/job-execution.d.ts +7 -0
  167. package/dist/session/job-execution.d.ts.map +1 -1
  168. package/dist/session/job-execution.js +297 -7
  169. package/dist/session/job-execution.js.map +1 -1
  170. package/dist/session/model-interfaces.d.ts +2 -1
  171. package/dist/session/model-interfaces.d.ts.map +1 -1
  172. package/dist/session/model-interfaces.js +1 -0
  173. package/dist/session/model-interfaces.js.map +1 -1
  174. package/dist/storage-retention.d.ts +5 -0
  175. package/dist/storage-retention.d.ts.map +1 -1
  176. package/dist/storage-retention.js +22 -1
  177. package/dist/storage-retention.js.map +1 -1
  178. package/dist/test-ui-server.d.ts.map +1 -1
  179. package/dist/test-ui-server.js +21 -3
  180. package/dist/test-ui-server.js.map +1 -1
  181. package/dist/timeline-generation-recovery.d.ts +4 -0
  182. package/dist/timeline-generation-recovery.d.ts.map +1 -0
  183. package/dist/timeline-generation-recovery.js +72 -0
  184. package/dist/timeline-generation-recovery.js.map +1 -0
  185. package/dist/triggers/dispatcher.js +2 -2
  186. package/dist/triggers/dispatcher.js.map +1 -1
  187. package/dist/triggers/stores.js +8 -8
  188. package/dist/triggers/stores.js.map +1 -1
  189. package/dist/triggers/webhook-route.js +2 -2
  190. package/dist/triggers/webhook-route.js.map +1 -1
  191. package/dist/trpc/error-logging.d.ts +10 -0
  192. package/dist/trpc/error-logging.d.ts.map +1 -1
  193. package/dist/trpc/error-logging.js +21 -0
  194. package/dist/trpc/error-logging.js.map +1 -1
  195. package/dist/trpc/router.d.ts +100 -31028
  196. package/dist/trpc/router.d.ts.map +1 -1
  197. package/dist/trpc/router.js +12 -3
  198. package/dist/trpc/router.js.map +1 -1
  199. package/dist/trpc/routers/app-instances.d.ts +2269 -0
  200. package/dist/trpc/routers/app-instances.d.ts.map +1 -0
  201. package/dist/trpc/routers/app-instances.js +52 -0
  202. package/dist/trpc/routers/app-instances.js.map +1 -0
  203. package/dist/trpc/routers/app-runs.d.ts +1092 -0
  204. package/dist/trpc/routers/app-runs.d.ts.map +1 -0
  205. package/dist/trpc/routers/app-runs.js +28 -0
  206. package/dist/trpc/routers/app-runs.js.map +1 -0
  207. package/dist/trpc/routers/applications.d.ts +1095 -0
  208. package/dist/trpc/routers/applications.d.ts.map +1 -1
  209. package/dist/trpc/routers/applications.js +5 -2
  210. package/dist/trpc/routers/applications.js.map +1 -1
  211. package/dist/trpc/routers/assets.d.ts +10 -0
  212. package/dist/trpc/routers/assets.d.ts.map +1 -1
  213. package/dist/trpc/routers/assets.js +4 -0
  214. package/dist/trpc/routers/assets.js.map +1 -1
  215. package/dist/trpc/routers/bug-reports.d.ts +33 -0
  216. package/dist/trpc/routers/bug-reports.d.ts.map +1 -0
  217. package/dist/trpc/routers/bug-reports.js +69 -0
  218. package/dist/trpc/routers/bug-reports.js.map +1 -0
  219. package/dist/trpc/routers/documents.d.ts.map +1 -1
  220. package/dist/trpc/routers/documents.js +8 -2
  221. package/dist/trpc/routers/documents.js.map +1 -1
  222. package/dist/trpc/routers/error-traces.d.ts +132 -0
  223. package/dist/trpc/routers/error-traces.d.ts.map +1 -0
  224. package/dist/trpc/routers/error-traces.js +118 -0
  225. package/dist/trpc/routers/error-traces.js.map +1 -0
  226. package/dist/trpc/routers/extension.d.ts +3 -3
  227. package/dist/trpc/routers/extension.js +6 -6
  228. package/dist/trpc/routers/extension.js.map +1 -1
  229. package/dist/trpc/routers/gameDraftHistory.d.ts +8 -0
  230. package/dist/trpc/routers/gameDraftHistory.d.ts.map +1 -0
  231. package/dist/trpc/routers/gameDraftHistory.js +40 -0
  232. package/dist/trpc/routers/gameDraftHistory.js.map +1 -0
  233. package/dist/trpc/routers/games.d.ts +23691 -4799
  234. package/dist/trpc/routers/games.d.ts.map +1 -1
  235. package/dist/trpc/routers/games.js +301 -83
  236. package/dist/trpc/routers/games.js.map +1 -1
  237. package/dist/trpc/routers/jobs.d.ts +35 -0
  238. package/dist/trpc/routers/jobs.d.ts.map +1 -1
  239. package/dist/trpc/routers/jobs.js +84 -1
  240. package/dist/trpc/routers/jobs.js.map +1 -1
  241. package/dist/trpc/routers/mcp-config.d.ts +3 -1
  242. package/dist/trpc/routers/mcp-config.d.ts.map +1 -1
  243. package/dist/trpc/routers/mcp-config.js +46 -208
  244. package/dist/trpc/routers/mcp-config.js.map +1 -1
  245. package/dist/trpc/routers/models.d.ts +130 -0
  246. package/dist/trpc/routers/models.d.ts.map +1 -1
  247. package/dist/trpc/routers/models.js +99 -31
  248. package/dist/trpc/routers/models.js.map +1 -1
  249. package/dist/trpc/routers/runs.d.ts +472 -0
  250. package/dist/trpc/routers/runs.d.ts.map +1 -0
  251. package/dist/trpc/routers/runs.js +40 -0
  252. package/dist/trpc/routers/runs.js.map +1 -0
  253. package/dist/trpc/routers/settings.d.ts +3 -0
  254. package/dist/trpc/routers/settings.d.ts.map +1 -1
  255. package/dist/trpc/routers/settings.js +2 -0
  256. package/dist/trpc/routers/settings.js.map +1 -1
  257. package/dist/trpc/routers/sketch.d.ts +14 -0
  258. package/dist/trpc/routers/sketch.d.ts.map +1 -1
  259. package/dist/trpc/routers/storyboards.d.ts +732 -0
  260. package/dist/trpc/routers/storyboards.d.ts.map +1 -1
  261. package/dist/trpc/routers/timeline.d.ts +632 -63
  262. package/dist/trpc/routers/timeline.d.ts.map +1 -1
  263. package/dist/trpc/routers/timeline.js +178 -2
  264. package/dist/trpc/routers/timeline.js.map +1 -1
  265. package/dist/trpc/routers/worker.d.ts +10 -9
  266. package/dist/trpc/routers/worker.d.ts.map +1 -1
  267. package/dist/trpc/routers/worker.js +3 -2
  268. package/dist/trpc/routers/worker.js.map +1 -1
  269. package/dist/trpc/routers/workflows.d.ts +56 -3
  270. package/dist/trpc/routers/workflows.d.ts.map +1 -1
  271. package/dist/trpc/routers/workflows.js +23 -2
  272. package/dist/trpc/routers/workflows.js.map +1 -1
  273. package/dist/trpc/sandbox-coverage.d.ts.map +1 -1
  274. package/dist/trpc/sandbox-coverage.js +90 -0
  275. package/dist/trpc/sandbox-coverage.js.map +1 -1
  276. package/dist/websocket-client-session.d.ts +2 -0
  277. package/dist/websocket-client-session.d.ts.map +1 -1
  278. package/dist/websocket-client-session.js +14 -0
  279. package/dist/websocket-client-session.js.map +1 -1
  280. package/package.json +56 -41
  281. package/dist/extension-cdp-bridge.d.ts +0 -85
  282. package/dist/extension-cdp-bridge.d.ts.map +0 -1
  283. package/dist/extension-cdp-bridge.js +0 -163
  284. package/dist/extension-cdp-bridge.js.map +0 -1
@@ -92,6 +92,29 @@ export function mergeRankedRecommendations(base, task, artifact = modelRankings)
92
92
  }
93
93
  return merged;
94
94
  }
95
+ /**
96
+ * Every ranked route as a `<provider>:<model_id>` key, best model first.
97
+ *
98
+ * A model scores by its highest Artificial Analysis `score` across the tasks
99
+ * it is ranked for. Routes of one canonical model stay together in artifact order,
100
+ * so the menu shows every provider that serves a strong model. Ties order by
101
+ * canonical id, which keeps an unchanged artifact producing an unchanged list.
102
+ * An empty artifact returns `[]`.
103
+ */
104
+ export function rankedModelKeys(artifact = modelRankings) {
105
+ const byCanonical = new Map();
106
+ for (const [key, entry] of Object.entries(artifact.models ?? {})) {
107
+ if (!entry?.canonical)
108
+ continue;
109
+ const best = Math.max(...Object.values(entry.tasks ?? {}).map((rank) => rank.score), Number.NEGATIVE_INFINITY);
110
+ const group = byCanonical.get(entry.canonical) ?? { best, keys: [] };
111
+ group.keys.push(key);
112
+ byCanonical.set(entry.canonical, group);
113
+ }
114
+ return [...byCanonical.entries()]
115
+ .sort(([a, x], [b, y]) => y.best - x.best || a.localeCompare(b))
116
+ .flatMap(([, group]) => group.keys);
117
+ }
95
118
  /**
96
119
  * Relay a worker-scoped model download: forward each bridge `progress` frame
97
120
  * onto the /ws/download socket using the same JSON shape the local download
@@ -1 +1 @@
1
- {"version":3,"file":"models-api.js","sourceRoot":"","sources":["../src/models-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models-api.js","sourceRoot":"","sources":["../src/models-api.ts"],"names":[],"mappings":"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"}
@@ -59,7 +59,7 @@ export declare function registerBuiltInNodes(registry: NodeRegistry, options?: R
59
59
  * Apply a built-in pack toggle to a live registry so the change takes effect
60
60
  * without a server restart. Enabling re-runs the registrar (idempotent —
61
61
  * `register` is last-write-wins); disabling unregisters exactly the node
62
- * types the pack's registrar produces, so packs sharing a namespace prefix
62
+ * types attributed to that pack during registration, so packs sharing a namespace prefix
63
63
  * with other packs are untouched.
64
64
  */
65
65
  export declare function applyBuiltinPackEnabled(registry: NodeRegistry, id: string, enabled: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"node-registry-setup.d.ts","sourceRoot":"","sources":["../src/node-registry-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,YAAY,EAIZ,KAAK,8BAA8B,EAEpC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AA6B/D,UAAU,eAAe;IACvB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,UAAU,wBAAwB;IAChC,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,GAAG,CAAC,EAAE,eAAe,CAAC;CACvB;AAmDD,UAAU,2BAA2B;IACnC;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,GAAG,CAAC,EAAE,eAAe,CAAC;CACvB;AAED,wBAAgB,oCAAoC,IAAI,8BAA8B,EAAE,CAyBvF;AAED,UAAU,+BAA+B;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,SAAS,kBAAkB,EAAE,GACtC,+BAA+B,CAuCjC;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,YAAY,EACtB,OAAO,GAAE,2BAAgC,GACxC,IAAI,CAkBN;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,YAAY,EACtB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,GACf,IAAI,CAcN;AAED,iFAAiF;AACjF,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,YAAY,EACtB,GAAG,CAAC,EAAE,eAAe,GACpB,IAAI,CASN;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,YAAY,EACtB,GAAG,CAAC,EAAE,eAAe,GACpB,IAAI,CASN;AAmBD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,YAAY,CAAC,CAqBvB;AAGD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"node-registry-setup.d.ts","sourceRoot":"","sources":["../src/node-registry-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,YAAY,EAIZ,KAAK,8BAA8B,EAEpC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAgB/D,UAAU,eAAe;IACvB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,UAAU,wBAAwB;IAChC,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,GAAG,CAAC,EAAE,eAAe,CAAC;CACvB;AAcD,UAAU,2BAA2B;IACnC;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,GAAG,CAAC,EAAE,eAAe,CAAC;CACvB;AAED,wBAAgB,oCAAoC,IAAI,8BAA8B,EAAE,CAUvF;AAED,UAAU,+BAA+B;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,SAAS,kBAAkB,EAAE,GACtC,+BAA+B,CAuCjC;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,YAAY,EACtB,OAAO,GAAE,2BAAgC,GACxC,IAAI,CAiBN;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,YAAY,EACtB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,GACf,IAAI,CAEN;AAED,iFAAiF;AACjF,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,YAAY,EACtB,GAAG,CAAC,EAAE,eAAe,GACpB,IAAI,CAIN;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,YAAY,EACtB,GAAG,CAAC,EAAE,eAAe,GACpB,IAAI,CAMN;AAmBD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,YAAY,CAAC,CAqBvB;AAGD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,sBAAsB,CAAC"}
@@ -8,24 +8,10 @@
8
8
  * be "present in serve but missing in MCP".
9
9
  */
10
10
  import { NodeRegistry, loadInstalledPacks, readBuiltinPackOverrides } from "@nodetool-ai/node-sdk";
11
- import { BUILTIN_NODE_PACKS, resolveBuiltinPackEnabled, CLOUD_PROFILE_ENV, NODE_ENV_VAR, CLOUD_BUILTIN_PACK_IDS, isCloudProfileActive, isCloudNodeType } from "@nodetool-ai/protocol";
11
+ import { BUILTIN_NODE_PACKS, CLOUD_PROFILE_ENV, NODE_ENV_VAR, isCloudProfileActive } from "@nodetool-ai/protocol";
12
12
  import { setPackSnapshot } from "./pack-snapshot.js";
13
13
  import { refreshSandboxCatalog } from "./sandbox-catalog.js";
14
- import { registerBaseNodes } from "@nodetool-ai/base-nodes";
15
- import { registerElevenLabsNodes } from "@nodetool-ai/elevenlabs-nodes";
16
- import { registerMinimaxNodes } from "@nodetool-ai/minimax-nodes";
17
- import { registerTransformersJsNodes } from "@nodetool-ai/transformers-js-nodes";
18
- import { registerFalNodes } from "@nodetool-ai/fal-nodes";
19
- import { registerKieNodes } from "@nodetool-ai/kie-nodes";
20
- import { registerTopazNodes } from "@nodetool-ai/topaz-nodes";
21
- import { registerReveNodes } from "@nodetool-ai/reve-nodes";
22
- import { registerAtlasCloudNodes } from "@nodetool-ai/atlascloud-nodes";
23
- import { registerHiggsfieldNodes } from "@nodetool-ai/higgsfield-nodes";
24
- import { registerTogetherNodes } from "@nodetool-ai/together-nodes";
25
- import { registerReplicateNodes } from "@nodetool-ai/replicate-nodes";
26
- import { registerHuggingFaceNodes } from "@nodetool-ai/huggingface-nodes";
27
- /** Node-type prefixes that require on-demand npm packages; dropped in production. */
28
- const PRODUCTION_SKIPPED_PREFIXES = ["transformers.", "vector."];
14
+ import { registerBuiltinPacks, setBuiltinPackEnabled, applyBuiltinNodePolicy, builtinPackUnavailableReason } from "@nodetool-ai/base-nodes/builtin-packs";
29
15
  function isProduction() {
30
16
  return process.env["NODETOOL_ENV"] === "production";
31
17
  }
@@ -33,60 +19,15 @@ function isProduction() {
33
19
  function isCloudProfile() {
34
20
  return isCloudProfileActive(process.env[CLOUD_PROFILE_ENV], process.env[NODE_ENV_VAR]);
35
21
  }
36
- /**
37
- * Pack-enabled map for the cloud profile: only `base` (required), `fal`, and
38
- * `kie` load; every other provider pack is off so we don't register thousands
39
- * of out-of-scope nodes just to prune them.
40
- */
41
- function cloudPackOverrides() {
42
- return Object.fromEntries(BUILTIN_NODE_PACKS.map((pack) => [
43
- pack.id,
44
- CLOUD_BUILTIN_PACK_IDS.includes(pack.id)
45
- ]));
46
- }
47
- /**
48
- * Registrar for each catalog entry in {@link BUILTIN_NODE_PACKS}. Keyed by the
49
- * stable pack id; a missing key would mean the catalog and this map drifted.
50
- */
51
- const BUILTIN_PACK_REGISTRARS = {
52
- base: registerBaseNodes,
53
- elevenlabs: registerElevenLabsNodes,
54
- minimax: registerMinimaxNodes,
55
- "transformers-js": registerTransformersJsNodes,
56
- fal: registerFalNodes,
57
- kie: registerKieNodes,
58
- topaz: registerTopazNodes,
59
- reve: registerReveNodes,
60
- atlascloud: registerAtlasCloudNodes,
61
- higgsfield: registerHiggsfieldNodes,
62
- together: registerTogetherNodes,
63
- replicate: registerReplicateNodes,
64
- huggingface: registerHuggingFaceNodes
65
- };
66
22
  export function getUnavailableBuiltinPackDiagnostics() {
67
- const overrides = isCloudProfile()
68
- ? cloudPackOverrides()
69
- : readBuiltinPackOverrides();
23
+ const overrides = isCloudProfile() ? undefined : readBuiltinPackOverrides();
70
24
  return BUILTIN_NODE_PACKS.flatMap((pack) => {
71
- if (!resolveBuiltinPackEnabled(pack, overrides[pack.id])) {
72
- return [
73
- {
74
- id: pack.id,
75
- name: pack.name,
76
- reason: "disabled by built-in pack configuration"
77
- }
78
- ];
79
- }
80
- if (pack.id === "transformers-js" && isProduction()) {
81
- return [
82
- {
83
- id: pack.id,
84
- name: pack.name,
85
- reason: "unavailable in production"
86
- }
87
- ];
88
- }
89
- return [];
25
+ const reason = builtinPackUnavailableReason(pack, {
26
+ enabledOverrides: overrides,
27
+ cloudProfile: isCloudProfile(),
28
+ production: isProduction()
29
+ });
30
+ return reason ? [{ id: pack.id, name: pack.name, reason }] : [];
90
31
  });
91
32
  }
92
33
  /**
@@ -138,56 +79,30 @@ export function mergePythonBridgeMetadata(registry, metadata) {
138
79
  */
139
80
  export function registerBuiltInNodes(registry, options = {}) {
140
81
  const overrides = options.enabledOverrides ??
141
- (isCloudProfile() ? cloudPackOverrides() : readBuiltinPackOverrides());
142
- for (const pack of BUILTIN_NODE_PACKS) {
143
- if (!resolveBuiltinPackEnabled(pack, overrides[pack.id])) {
82
+ (isCloudProfile() ? undefined : readBuiltinPackOverrides());
83
+ registerBuiltinPacks(registry, {
84
+ enabledOverrides: overrides,
85
+ cloudProfile: options.enabledOverrides === undefined && isCloudProfile(),
86
+ production: isProduction()
87
+ }, (pack, reason) => {
88
+ if (reason === "disabled by built-in pack configuration") {
144
89
  options.log?.info(`Skipped built-in node pack ${pack.id} (disabled)`);
145
- continue;
146
- }
147
- // Transformers.js pulls in ONNX Runtime, which isn't available in
148
- // cloud/production builds.
149
- if (pack.id === "transformers-js" && isProduction())
150
- continue;
151
- const register = BUILTIN_PACK_REGISTRARS[pack.id];
152
- if (!register) {
153
- throw new Error(`No registrar for built-in node pack "${pack.id}"`);
154
90
  }
155
- registry.registerPackage(pack.id, register);
156
- }
91
+ });
157
92
  }
158
93
  /**
159
94
  * Apply a built-in pack toggle to a live registry so the change takes effect
160
95
  * without a server restart. Enabling re-runs the registrar (idempotent —
161
96
  * `register` is last-write-wins); disabling unregisters exactly the node
162
- * types the pack's registrar produces, so packs sharing a namespace prefix
97
+ * types attributed to that pack during registration, so packs sharing a namespace prefix
163
98
  * with other packs are untouched.
164
99
  */
165
100
  export function applyBuiltinPackEnabled(registry, id, enabled) {
166
- const register = BUILTIN_PACK_REGISTRARS[id];
167
- if (!register) {
168
- throw new Error(`No registrar for built-in node pack "${id}"`);
169
- }
170
- if (enabled) {
171
- registry.registerPackage(id, register);
172
- return;
173
- }
174
- const packOnly = new NodeRegistry();
175
- register(packOnly);
176
- for (const nodeType of packOnly.list()) {
177
- registry.unregister(nodeType);
178
- }
101
+ setBuiltinPackEnabled(registry, id, enabled);
179
102
  }
180
103
  /** Drop optional node types that aren't available in cloud/production builds. */
181
104
  export function applyProductionNodePolicy(registry, log) {
182
- if (!isProduction())
183
- return;
184
- for (const nodeType of registry.list()) {
185
- if (PRODUCTION_SKIPPED_PREFIXES.some((p) => nodeType.startsWith(p))) {
186
- if (registry.unregister(nodeType)) {
187
- log?.info(`Unregistered ${nodeType} in production`);
188
- }
189
- }
190
- }
105
+ applyBuiltinNodePolicy(registry, { production: isProduction() }, (nodeType) => log?.info(`Unregistered ${nodeType} in production`));
191
106
  }
192
107
  /**
193
108
  * Prune the registry down to the curated commercial-cloud surface when the
@@ -198,15 +113,7 @@ export function applyProductionNodePolicy(registry, log) {
198
113
  * A no-op when the profile is off, so OSS/local installs are unaffected.
199
114
  */
200
115
  export function applyCloudNodePolicy(registry, log) {
201
- if (!isCloudProfile())
202
- return;
203
- for (const nodeType of registry.list()) {
204
- if (!isCloudNodeType(nodeType)) {
205
- if (registry.unregister(nodeType)) {
206
- log?.info(`Cloud profile: dropped ${nodeType}`);
207
- }
208
- }
209
- }
116
+ applyBuiltinNodePolicy(registry, { cloudProfile: isCloudProfile() }, (nodeType) => log?.info(`Cloud profile: dropped ${nodeType}`));
210
117
  }
211
118
  function logPackResult(result, log) {
212
119
  const { pack } = result;
@@ -1 +1 @@
1
- {"version":3,"file":"node-registry-setup.js","sourceRoot":"","sources":["../src/node-registry-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-registry-setup.js","sourceRoot":"","sources":["../src/node-registry-setup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/plugins/websocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIlD,OAAO,EAA+B,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAQrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEhF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAKjF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,YAAY,CAAC;IACvB;;;;OAIG;IACH,YAAY,EAAE,YAAY,CAAC;IAC3B,oBAAoB,EAAE,MAAM,OAAO,CAAC;IACpC,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,8EAA8E;IAC9E,UAAU,EAAE,cAAc,CAAC;IAC3B,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,2EAA2E;IAC3E,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAgDD,QAAA,MAAM,eAAe,EAAE,kBAAkB,CAAC,sBAAsB,CAqS/D,CAAC;eAEa,eAAe"}
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/plugins/websocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIlD,OAAO,EAA+B,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAOzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEhF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAKjF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,YAAY,CAAC;IACvB;;;;OAIG;IACH,YAAY,EAAE,YAAY,CAAC;IAC3B,oBAAoB,EAAE,MAAM,OAAO,CAAC;IACpC,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,8EAA8E;IAC9E,UAAU,EAAE,cAAc,CAAC;IAC3B,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,2EAA2E;IAC3E,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAkDD,QAAA,MAAM,eAAe,EAAE,kBAAkB,CAAC,sBAAsB,CA6P/D,CAAC;eAEa,eAAe"}
@@ -2,17 +2,19 @@ import { createLogger } from "@nodetool-ai/config";
2
2
  import { WsAdapter } from "../ws-adapter.js";
3
3
  import { WebSocketClientSession } from "../websocket-client-session.js";
4
4
  import { createGraphNodeTypeResolver } from "@nodetool-ai/node-sdk";
5
- import { PythonNodeExecutor, getProvider } from "@nodetool-ai/runtime";
5
+ import { PythonNodeExecutor, getProvider, listRegisteredProviderIds, recordRunTraceSecret } from "@nodetool-ai/runtime";
6
6
  import { getSecret as getStoredSecret } from "@nodetool-ai/models";
7
7
  import { resolveWorkflowWorkspace } from "../lib/workflow-workspace.js";
8
- import { extensionBridge } from "../extension-cdp-bridge.js";
9
- import { setExtensionChannelProvider } from "@nodetool-ai/browser";
10
8
  import { packWebSocketMessage } from "../messagepack.js";
11
9
  import { runTransformersJsModelDownload } from "../model-download-runtime.js";
12
- import { isString } from "../lib/wire-values.js";
10
+ import { runNeedsPythonBridge } from "../python-bridge-gate.js";
13
11
  const log = createLogger("nodetool.websocket.ws");
14
12
  async function resolveProvider(providerId, userId) {
15
- return getProvider(providerId.toLowerCase(), (key) => getStoredSecret(key, userId).then((v) => v ?? undefined));
13
+ return getProvider(providerId.toLowerCase(), async (key) => {
14
+ const value = await getStoredSecret(key, userId);
15
+ recordRunTraceSecret(value);
16
+ return value ?? undefined;
17
+ });
16
18
  }
17
19
  const isProduction = process.env["NODETOOL_ENV"] === "production";
18
20
  async function handleTjsDownload(socket, repoId, modelType, aborts) {
@@ -48,13 +50,13 @@ const websocketPlugin = async (app, opts) => {
48
50
  // the runner it is not talking to them.
49
51
  appSession: req.appSession,
50
52
  beforeRunJob: async (graph) => {
51
- if (getPythonBridgeReady())
52
- return;
53
- const hasPythonNode = graph.nodes.some((n) => {
54
- const type = isString(n.type) ? n.type : "";
55
- return registry.getMetadata(type) && !registry.has(type);
53
+ const needsBridge = runNeedsPythonBridge(graph.nodes, {
54
+ bridgeReady: getPythonBridgeReady(),
55
+ bridgeAvailable: pythonBridge.isAvailable(),
56
+ isPythonNodeType: (type) => !!registry.getMetadata(type) && !registry.has(type),
57
+ providerIds: listRegisteredProviderIds
56
58
  });
57
- if (hasPythonNode) {
59
+ if (needsBridge) {
58
60
  await ensurePythonBridge();
59
61
  }
60
62
  },
@@ -125,50 +127,6 @@ const websocketPlugin = async (app, opts) => {
125
127
  sdkLiveRunnerRegistry?.unregister(runnerTargetId);
126
128
  });
127
129
  });
128
- // Chrome-extension CDP side channel.
129
- //
130
- // JSON text frames (NOT MsgPack — the main /ws stays MsgPack). The extension
131
- // connects here after the user clicks "Attach to this tab" in the popup; the
132
- // in-process action loop rides the channel via `extensionBridge.getChannel()`.
133
- // Auth/localhost-bypass is handled by the global onRequest hook in server.ts
134
- // (the /ws prefix is exempt from static-asset bypass and subject to the same
135
- // localhost rule as /ws).
136
- //
137
- // v1 is single-connection: a new socket replaces any existing one.
138
- //
139
- // Register the in-process channel factory so the browser action loop running
140
- // in this server rides the bridge instead of opening its own client WS. The
141
- // dependency points websocket → automation-nodes (no cycle).
142
- //
143
- // This is an unauthenticated, single-connection side channel: whoever connects
144
- // to /ws/extension becomes THE extension socket and can proxy CDP through this
145
- // server. It is disabled in production by default; set
146
- // NODETOOL_ENABLE_EXTENSION_BRIDGE=1 to opt back in for deployments that
147
- // actually use the browser extension.
148
- const extensionBridgeEnabled = !isProduction ||
149
- process.env["NODETOOL_ENABLE_EXTENSION_BRIDGE"] === "1";
150
- if (extensionBridgeEnabled) {
151
- setExtensionChannelProvider(() => extensionBridge.getChannel());
152
- app.get("/ws/extension", { websocket: true }, (socket, _req) => {
153
- // The @fastify/websocket socket satisfies the ExtensionSocket surface
154
- // (send(string) / close() / on("message"|"close"|"error")).
155
- // SAFETY: the @fastify/websocket socket satisfies the ExtensionSocket
156
- // surface — send(string) / close() / on("message"|"close"|"error").
157
- const extSocket = socket;
158
- socket.on("error", (error) => {
159
- log.error("Extension WebSocket error", error);
160
- });
161
- log.info("Extension WebSocket client connected");
162
- extensionBridge.registerSocket(extSocket);
163
- socket.on("close", () => {
164
- extensionBridge.clear(extSocket);
165
- log.info("Extension WebSocket client disconnected");
166
- });
167
- });
168
- }
169
- else {
170
- log.info("Extension CDP bridge (/ws/extension) disabled in production; set NODETOOL_ENABLE_EXTENSION_BRIDGE=1 to enable");
171
- }
172
130
  // Download WebSocket endpoint — local development only
173
131
  if (!isProduction) {
174
132
  // Download WebSocket (HuggingFace model downloads)
@@ -178,7 +136,7 @@ const websocketPlugin = async (app, opts) => {
178
136
  });
179
137
  log.info("Download WebSocket client connected");
180
138
  import("@nodetool-ai/huggingface")
181
- .then(({ getDownloadManager }) => {
139
+ .then(({ getDownloadManager, resolveWorkerHfToken }) => {
182
140
  // TJS downloads are bookkept here so cancel can abort them.
183
141
  const tjsAborts = new Map();
184
142
  // In-flight worker-scoped downloads, keyed by the same composite id
@@ -210,9 +168,14 @@ const websocketPlugin = async (app, opts) => {
210
168
  await handleTjsDownload(socket, repoId, modelType, tjsAborts);
211
169
  return;
212
170
  }
213
- const manager = await getDownloadManager(req.userId ?? "1");
171
+ const userId = req.userId ?? "1";
172
+ const manager = await getDownloadManager(userId);
173
+ // The token pasted in Settings lives in the secret store, not
174
+ // in this process's environment, so resolve it per user.
175
+ const token = await resolveWorkerHfToken((key) => getStoredSecret(key, userId));
214
176
  await manager.startDownload(repoId, {
215
177
  path: msg.path ?? null,
178
+ token: token ?? null,
216
179
  allowPatterns: msg.allow_patterns ?? null,
217
180
  ignorePatterns: msg.ignore_patterns ?? null,
218
181
  cacheDir: msg.cache_dir ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/plugins/websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/plugins/websocket.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * When a workflow run must wait for the Python worker before it starts.
3
+ *
4
+ * A Python node needs the worker to execute. A TypeScript node can need it too:
5
+ * it may select a provider only the worker registers (`huggingface-local`), and
6
+ * the run preflight refuses a provider that is not registered yet.
7
+ */
8
+ import { type GraphValidationNode } from "@nodetool-ai/node-sdk";
9
+ export interface PythonBridgeGateState {
10
+ /** The worker is connected and its node metadata is merged. */
11
+ bridgeReady: boolean;
12
+ /** A worker can be started on this host. */
13
+ bridgeAvailable: boolean;
14
+ /** The type is a Python node: known metadata, no TypeScript executor. */
15
+ isPythonNodeType: (type: string) => boolean;
16
+ /** Provider ids registered right now. */
17
+ providerIds: () => string[];
18
+ }
19
+ /** Whether `nodes` needs the Python worker before the run can start. */
20
+ export declare function runNeedsPythonBridge(nodes: readonly GraphValidationNode[], state: PythonBridgeGateState): boolean;
21
+ /**
22
+ * Share one in-flight provider registration across callers, so a run that
23
+ * arrives mid-registration waits for it instead of racing it. A settled
24
+ * registration is not cached: the next caller lists the worker's providers
25
+ * again, and registration skips ids that already exist.
26
+ */
27
+ export declare function createProviderRegistrar(register: () => Promise<string[]>): () => Promise<string[]>;
28
+ //# sourceMappingURL=python-bridge-gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python-bridge-gate.d.ts","sourceRoot":"","sources":["../src/python-bridge-gate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,qBAAqB;IACpC,+DAA+D;IAC/D,WAAW,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,eAAe,EAAE,OAAO,CAAC;IACzB,yEAAyE;IACzE,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,yCAAyC;IACzC,WAAW,EAAE,MAAM,MAAM,EAAE,CAAC;CAC7B;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,mBAAmB,EAAE,EACrC,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAeT;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,GAChC,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAQzB"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * When a workflow run must wait for the Python worker before it starts.
3
+ *
4
+ * A Python node needs the worker to execute. A TypeScript node can need it too:
5
+ * it may select a provider only the worker registers (`huggingface-local`), and
6
+ * the run preflight refuses a provider that is not registered yet.
7
+ */
8
+ import { collectModelSelectionIssues } from "@nodetool-ai/node-sdk";
9
+ /** Whether `nodes` needs the Python worker before the run can start. */
10
+ export function runNeedsPythonBridge(nodes, state) {
11
+ if (!state.bridgeReady &&
12
+ nodes.some((node) => state.isPythonNodeType(String(node.type ?? "")))) {
13
+ return true;
14
+ }
15
+ if (!state.bridgeAvailable) {
16
+ // Nothing to wait for: the preflight reports the unknown provider.
17
+ return false;
18
+ }
19
+ return collectModelSelectionIssues({ nodes: [...nodes] }, { listProviderIds: state.providerIds }).some((issue) => issue.code === "unknown_provider");
20
+ }
21
+ /**
22
+ * Share one in-flight provider registration across callers, so a run that
23
+ * arrives mid-registration waits for it instead of racing it. A settled
24
+ * registration is not cached: the next caller lists the worker's providers
25
+ * again, and registration skips ids that already exist.
26
+ */
27
+ export function createProviderRegistrar(register) {
28
+ let pending = null;
29
+ return () => {
30
+ pending ??= register().finally(() => {
31
+ pending = null;
32
+ });
33
+ return pending;
34
+ };
35
+ }
36
+ //# sourceMappingURL=python-bridge-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python-bridge-gate.js","sourceRoot":"","sources":["../src/python-bridge-gate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,2BAA2B,EAE5B,MAAM,uBAAuB,CAAC;AAa/B,wEAAwE;AACxE,MAAM,UAAU,oBAAoB,CAClC,KAAqC,EACrC,KAA4B;IAE5B,IACE,CAAC,KAAK,CAAC,WAAW;QAClB,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EACrE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAC3B,mEAAmE;QACnE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,2BAA2B,CAChC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,EACrB,EAAE,eAAe,EAAE,KAAK,CAAC,WAAW,EAAE,CACvC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAiC;IAEjC,IAAI,OAAO,GAA6B,IAAI,CAAC;IAC7C,OAAO,GAAG,EAAE;QACV,OAAO,KAAK,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAClC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { FastifyPluginAsync } from "fastify";
2
+ declare const appRunsRoutes: FastifyPluginAsync;
3
+ export default appRunsRoutes;
4
+ //# sourceMappingURL=app-runs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-runs.d.ts","sourceRoot":"","sources":["../../src/routes/app-runs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,SAAS,CAAC;AAiElE,QAAA,MAAM,aAAa,EAAE,kBAgPpB,CAAC;eAEa,aAAa"}