@nodetool-ai/websocket 0.8.2 → 0.8.4-a24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/README.md +5 -0
  2. package/dist/.nodetool-build-stamp +1 -1
  3. package/dist/agent/run-node-tool.d.ts.map +1 -1
  4. package/dist/agent/run-node-tool.js +11 -1
  5. package/dist/agent/run-node-tool.js.map +1 -1
  6. package/dist/chat-prediction-forwarder.d.ts +5 -3
  7. package/dist/chat-prediction-forwarder.d.ts.map +1 -1
  8. package/dist/chat-prediction-forwarder.js +6 -4
  9. package/dist/chat-prediction-forwarder.js.map +1 -1
  10. package/dist/chat-turn-registry.d.ts +2 -1
  11. package/dist/chat-turn-registry.d.ts.map +1 -1
  12. package/dist/chat-turn-registry.js +8 -1
  13. package/dist/chat-turn-registry.js.map +1 -1
  14. package/dist/collection-api.d.ts.map +1 -1
  15. package/dist/collection-api.js +3 -5
  16. package/dist/collection-api.js.map +1 -1
  17. package/dist/custom-providers.d.ts.map +1 -1
  18. package/dist/custom-providers.js +6 -1
  19. package/dist/custom-providers.js.map +1 -1
  20. package/dist/e2e-server.js +1 -1
  21. package/dist/e2e-server.js.map +1 -1
  22. package/dist/example-workflows.d.ts.map +1 -1
  23. package/dist/example-workflows.js +7 -1
  24. package/dist/example-workflows.js.map +1 -1
  25. package/dist/fake-runtime.d.ts +54 -8
  26. package/dist/fake-runtime.d.ts.map +1 -1
  27. package/dist/fake-runtime.js +228 -15
  28. package/dist/fake-runtime.js.map +1 -1
  29. package/dist/file-api.d.ts.map +1 -1
  30. package/dist/file-api.js +6 -8
  31. package/dist/file-api.js.map +1 -1
  32. package/dist/generation-recovery.d.ts.map +1 -1
  33. package/dist/generation-recovery.js +7 -4
  34. package/dist/generation-recovery.js.map +1 -1
  35. package/dist/headless-job-runner.d.ts.map +1 -1
  36. package/dist/headless-job-runner.js +8 -2
  37. package/dist/headless-job-runner.js.map +1 -1
  38. package/dist/http-api.d.ts +4 -2
  39. package/dist/http-api.d.ts.map +1 -1
  40. package/dist/http-api.js +67 -16
  41. package/dist/http-api.js.map +1 -1
  42. package/dist/http-body-schemas.d.ts +2 -0
  43. package/dist/http-body-schemas.d.ts.map +1 -1
  44. package/dist/http-body-schemas.js +8 -1
  45. package/dist/http-body-schemas.js.map +1 -1
  46. package/dist/index.d.ts +3 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +3 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/job-control.d.ts +8 -0
  51. package/dist/job-control.d.ts.map +1 -1
  52. package/dist/job-control.js +12 -0
  53. package/dist/job-control.js.map +1 -1
  54. package/dist/lib/admin.d.ts +7 -0
  55. package/dist/lib/admin.d.ts.map +1 -0
  56. package/dist/lib/admin.js +19 -0
  57. package/dist/lib/admin.js.map +1 -0
  58. package/dist/lib/app-instances-service.d.ts +35 -0
  59. package/dist/lib/app-instances-service.d.ts.map +1 -1
  60. package/dist/lib/app-instances-service.js +3 -4
  61. package/dist/lib/app-instances-service.js.map +1 -1
  62. package/dist/lib/app-project-export.d.ts +12 -0
  63. package/dist/lib/app-project-export.d.ts.map +1 -0
  64. package/dist/lib/app-project-export.js +42 -0
  65. package/dist/lib/app-project-export.js.map +1 -0
  66. package/dist/lib/applications-service.d.ts.map +1 -1
  67. package/dist/lib/applications-service.js +7 -2
  68. package/dist/lib/applications-service.js.map +1 -1
  69. package/dist/lib/asset-export.d.ts +7 -3
  70. package/dist/lib/asset-export.d.ts.map +1 -1
  71. package/dist/lib/asset-export.js +16 -8
  72. package/dist/lib/asset-export.js.map +1 -1
  73. package/dist/lib/asset-paths.d.ts +1 -1
  74. package/dist/lib/asset-paths.js +1 -1
  75. package/dist/lib/asset-response.d.ts.map +1 -1
  76. package/dist/lib/asset-response.js +13 -6
  77. package/dist/lib/asset-response.js.map +1 -1
  78. package/dist/lib/cloud-profile.d.ts +10 -0
  79. package/dist/lib/cloud-profile.d.ts.map +1 -0
  80. package/dist/lib/cloud-profile.js +13 -0
  81. package/dist/lib/cloud-profile.js.map +1 -0
  82. package/dist/lib/example-apps.d.ts +3 -0
  83. package/dist/lib/example-apps.d.ts.map +1 -1
  84. package/dist/lib/example-apps.js +3 -2
  85. package/dist/lib/example-apps.js.map +1 -1
  86. package/dist/lib/http-user-id.d.ts +2 -0
  87. package/dist/lib/http-user-id.d.ts.map +1 -0
  88. package/dist/lib/http-user-id.js +4 -0
  89. package/dist/lib/http-user-id.js.map +1 -0
  90. package/dist/lib/json-body.d.ts +11 -0
  91. package/dist/lib/json-body.d.ts.map +1 -0
  92. package/dist/lib/json-body.js +13 -0
  93. package/dist/lib/json-body.js.map +1 -0
  94. package/dist/lib/project-archive-host.d.ts +14 -0
  95. package/dist/lib/project-archive-host.d.ts.map +1 -0
  96. package/dist/lib/project-archive-host.js +24 -0
  97. package/dist/lib/project-archive-host.js.map +1 -0
  98. package/dist/lib/project-archive.d.ts +103 -0
  99. package/dist/lib/project-archive.d.ts.map +1 -0
  100. package/dist/lib/project-archive.js +610 -0
  101. package/dist/lib/project-archive.js.map +1 -0
  102. package/dist/lib/public-routes.d.ts +15 -0
  103. package/dist/lib/public-routes.d.ts.map +1 -1
  104. package/dist/lib/public-routes.js +27 -0
  105. package/dist/lib/public-routes.js.map +1 -1
  106. package/dist/lib/public-workflow-share.d.ts +12 -1
  107. package/dist/lib/public-workflow-share.d.ts.map +1 -1
  108. package/dist/lib/public-workflow-share.js +45 -2
  109. package/dist/lib/public-workflow-share.js.map +1 -1
  110. package/dist/lib/python-metadata-roots.d.ts +27 -0
  111. package/dist/lib/python-metadata-roots.d.ts.map +1 -0
  112. package/dist/lib/python-metadata-roots.js +92 -0
  113. package/dist/lib/python-metadata-roots.js.map +1 -0
  114. package/dist/lib/runtime-detection.d.ts +1 -1
  115. package/dist/lib/runtime-detection.d.ts.map +1 -1
  116. package/dist/lib/runtime-detection.js +2 -1
  117. package/dist/lib/runtime-detection.js.map +1 -1
  118. package/dist/lib/server-auth-token.d.ts +18 -0
  119. package/dist/lib/server-auth-token.d.ts.map +1 -0
  120. package/dist/lib/server-auth-token.js +28 -0
  121. package/dist/lib/server-auth-token.js.map +1 -0
  122. package/dist/lib/thumbnail.d.ts.map +1 -1
  123. package/dist/lib/thumbnail.js +3 -1
  124. package/dist/lib/thumbnail.js.map +1 -1
  125. package/dist/lib/timeline-bundle.d.ts +70 -0
  126. package/dist/lib/timeline-bundle.d.ts.map +1 -1
  127. package/dist/lib/timeline-bundle.js +28 -10
  128. package/dist/lib/timeline-bundle.js.map +1 -1
  129. package/dist/lib/timeline-media-export.d.ts +18 -0
  130. package/dist/lib/timeline-media-export.d.ts.map +1 -0
  131. package/dist/lib/timeline-media-export.js +66 -0
  132. package/dist/lib/timeline-media-export.js.map +1 -0
  133. package/dist/lib/timeline-premiere-import.d.ts +24 -0
  134. package/dist/lib/timeline-premiere-import.d.ts.map +1 -0
  135. package/dist/lib/timeline-premiere-import.js +112 -0
  136. package/dist/lib/timeline-premiere-import.js.map +1 -0
  137. package/dist/lib/timeline-premiere.d.ts +38 -0
  138. package/dist/lib/timeline-premiere.d.ts.map +1 -0
  139. package/dist/lib/timeline-premiere.js +87 -0
  140. package/dist/lib/timeline-premiere.js.map +1 -0
  141. package/dist/lib/zip-stream.d.ts +3 -0
  142. package/dist/lib/zip-stream.d.ts.map +1 -1
  143. package/dist/lib/zip-stream.js +6 -0
  144. package/dist/lib/zip-stream.js.map +1 -1
  145. package/dist/mcp-agent-tools.d.ts +48 -0
  146. package/dist/mcp-agent-tools.d.ts.map +1 -1
  147. package/dist/mcp-agent-tools.js +15 -2
  148. package/dist/mcp-agent-tools.js.map +1 -1
  149. package/dist/mcp-server.d.ts +7 -0
  150. package/dist/mcp-server.d.ts.map +1 -1
  151. package/dist/mcp-server.js +163 -16
  152. package/dist/mcp-server.js.map +1 -1
  153. package/dist/mcp-skill-prompts.d.ts +23 -0
  154. package/dist/mcp-skill-prompts.d.ts.map +1 -0
  155. package/dist/mcp-skill-prompts.js +91 -0
  156. package/dist/mcp-skill-prompts.js.map +1 -0
  157. package/dist/mcp-tool-deps.d.ts.map +1 -1
  158. package/dist/mcp-tool-deps.js +8 -1
  159. package/dist/mcp-tool-deps.js.map +1 -1
  160. package/dist/model-download-runtime.d.ts.map +1 -1
  161. package/dist/model-download-runtime.js +2 -1
  162. package/dist/model-download-runtime.js.map +1 -1
  163. package/dist/models-api.d.ts.map +1 -1
  164. package/dist/models-api.js +6 -2
  165. package/dist/models-api.js.map +1 -1
  166. package/dist/node-registry-setup.d.ts +8 -5
  167. package/dist/node-registry-setup.d.ts.map +1 -1
  168. package/dist/node-registry-setup.js +22 -10
  169. package/dist/node-registry-setup.js.map +1 -1
  170. package/dist/oauth-api.d.ts.map +1 -1
  171. package/dist/oauth-api.js +45 -23
  172. package/dist/oauth-api.js.map +1 -1
  173. package/dist/openai-api.d.ts.map +1 -1
  174. package/dist/openai-api.js +10 -2
  175. package/dist/openai-api.js.map +1 -1
  176. package/dist/pack-source.d.ts +15 -0
  177. package/dist/pack-source.d.ts.map +1 -0
  178. package/dist/pack-source.js +85 -0
  179. package/dist/pack-source.js.map +1 -0
  180. package/dist/plugins/websocket.d.ts.map +1 -1
  181. package/dist/plugins/websocket.js +31 -5
  182. package/dist/plugins/websocket.js.map +1 -1
  183. package/dist/routes/applications.d.ts +1 -0
  184. package/dist/routes/applications.d.ts.map +1 -1
  185. package/dist/routes/applications.js +24 -0
  186. package/dist/routes/applications.js.map +1 -1
  187. package/dist/routes/assets.d.ts.map +1 -1
  188. package/dist/routes/assets.js +31 -41
  189. package/dist/routes/assets.js.map +1 -1
  190. package/dist/routes/config.d.ts.map +1 -1
  191. package/dist/routes/config.js +6 -0
  192. package/dist/routes/config.js.map +1 -1
  193. package/dist/routes/documents.d.ts.map +1 -1
  194. package/dist/routes/documents.js +32 -1
  195. package/dist/routes/documents.js.map +1 -1
  196. package/dist/routes/fal-pricing-estimate.d.ts.map +1 -1
  197. package/dist/routes/fal-pricing-estimate.js +2 -0
  198. package/dist/routes/fal-pricing-estimate.js.map +1 -1
  199. package/dist/routes/files.d.ts.map +1 -1
  200. package/dist/routes/files.js +2 -0
  201. package/dist/routes/files.js.map +1 -1
  202. package/dist/routes/games.d.ts +38 -0
  203. package/dist/routes/games.d.ts.map +1 -0
  204. package/dist/routes/games.js +159 -0
  205. package/dist/routes/games.js.map +1 -0
  206. package/dist/routes/integrations.d.ts.map +1 -1
  207. package/dist/routes/integrations.js +22 -26
  208. package/dist/routes/integrations.js.map +1 -1
  209. package/dist/routes/js-scripts.d.ts +1 -1
  210. package/dist/routes/js-scripts.d.ts.map +1 -1
  211. package/dist/routes/js-scripts.js +1 -1
  212. package/dist/routes/js-scripts.js.map +1 -1
  213. package/dist/routes/kie-pricing.js +1 -1
  214. package/dist/routes/kie-pricing.js.map +1 -1
  215. package/dist/routes/nodes.d.ts.map +1 -1
  216. package/dist/routes/nodes.js +13 -1
  217. package/dist/routes/nodes.js.map +1 -1
  218. package/dist/routes/project-archive.d.ts +18 -0
  219. package/dist/routes/project-archive.d.ts.map +1 -0
  220. package/dist/routes/project-archive.js +98 -0
  221. package/dist/routes/project-archive.js.map +1 -0
  222. package/dist/routes/storage.d.ts.map +1 -1
  223. package/dist/routes/storage.js +2 -0
  224. package/dist/routes/storage.js.map +1 -1
  225. package/dist/routes/storyboards.d.ts.map +1 -1
  226. package/dist/routes/storyboards.js +6 -3
  227. package/dist/routes/storyboards.js.map +1 -1
  228. package/dist/routes/timelines.d.ts +8 -4
  229. package/dist/routes/timelines.d.ts.map +1 -1
  230. package/dist/routes/timelines.js +209 -16
  231. package/dist/routes/timelines.js.map +1 -1
  232. package/dist/screenshot-docs-seed.d.ts +24 -0
  233. package/dist/screenshot-docs-seed.d.ts.map +1 -0
  234. package/dist/screenshot-docs-seed.js +421 -0
  235. package/dist/screenshot-docs-seed.js.map +1 -0
  236. package/dist/screenshot-projects.d.ts.map +1 -1
  237. package/dist/screenshot-projects.js +9 -9
  238. package/dist/screenshot-projects.js.map +1 -1
  239. package/dist/screenshot-server.js +274 -17
  240. package/dist/screenshot-server.js.map +1 -1
  241. package/dist/sdk/sdk-node-type-inventory-service.d.ts +1 -1
  242. package/dist/sdk/sdk-node-type-inventory-service.d.ts.map +1 -1
  243. package/dist/sdk/sdk-node-type-inventory-service.js +4 -4
  244. package/dist/sdk/sdk-node-type-inventory-service.js.map +1 -1
  245. package/dist/sdk/sdk-v1-service.js +1 -1
  246. package/dist/sdk/sdk-v1-service.js.map +1 -1
  247. package/dist/server.d.ts +7 -1
  248. package/dist/server.d.ts.map +1 -1
  249. package/dist/server.js +1482 -1487
  250. package/dist/server.js.map +1 -1
  251. package/dist/session/chat-prompt.d.ts.map +1 -1
  252. package/dist/session/chat-prompt.js +6 -0
  253. package/dist/session/chat-prompt.js.map +1 -1
  254. package/dist/session/chat-turn.d.ts +10 -0
  255. package/dist/session/chat-turn.d.ts.map +1 -1
  256. package/dist/session/chat-turn.js +103 -20
  257. package/dist/session/chat-turn.js.map +1 -1
  258. package/dist/session/client-tool-gate.d.ts +23 -0
  259. package/dist/session/client-tool-gate.d.ts.map +1 -0
  260. package/dist/session/client-tool-gate.js +59 -0
  261. package/dist/session/client-tool-gate.js.map +1 -0
  262. package/dist/session/commands.d.ts +14 -0
  263. package/dist/session/commands.d.ts.map +1 -1
  264. package/dist/session/commands.js +113 -14
  265. package/dist/session/commands.js.map +1 -1
  266. package/dist/session/inference.d.ts +25 -2
  267. package/dist/session/inference.d.ts.map +1 -1
  268. package/dist/session/inference.js +105 -21
  269. package/dist/session/inference.js.map +1 -1
  270. package/dist/session/job-execution.d.ts +0 -1
  271. package/dist/session/job-execution.d.ts.map +1 -1
  272. package/dist/session/job-execution.js +43 -39
  273. package/dist/session/job-execution.js.map +1 -1
  274. package/dist/storage-api.d.ts +0 -4
  275. package/dist/storage-api.d.ts.map +1 -1
  276. package/dist/storage-api.js +3 -26
  277. package/dist/storage-api.js.map +1 -1
  278. package/dist/test-ui-server.d.ts +15 -3
  279. package/dist/test-ui-server.d.ts.map +1 -1
  280. package/dist/test-ui-server.js +74 -12
  281. package/dist/test-ui-server.js.map +1 -1
  282. package/dist/triggers/dispatcher.d.ts.map +1 -1
  283. package/dist/triggers/dispatcher.js +24 -4
  284. package/dist/triggers/dispatcher.js.map +1 -1
  285. package/dist/triggers/file-watch.d.ts +2 -2
  286. package/dist/triggers/file-watch.d.ts.map +1 -1
  287. package/dist/triggers/file-watch.js +44 -21
  288. package/dist/triggers/file-watch.js.map +1 -1
  289. package/dist/triggers/scheduler.d.ts.map +1 -1
  290. package/dist/triggers/scheduler.js +7 -5
  291. package/dist/triggers/scheduler.js.map +1 -1
  292. package/dist/trpc/error-formatter.d.ts.map +1 -1
  293. package/dist/trpc/error-formatter.js +2 -1
  294. package/dist/trpc/error-formatter.js.map +1 -1
  295. package/dist/trpc/routers/app-instances.d.ts +63 -0
  296. package/dist/trpc/routers/app-instances.d.ts.map +1 -1
  297. package/dist/trpc/routers/app-runs.d.ts +28 -0
  298. package/dist/trpc/routers/app-runs.d.ts.map +1 -1
  299. package/dist/trpc/routers/applications.d.ts +7 -0
  300. package/dist/trpc/routers/applications.d.ts.map +1 -1
  301. package/dist/trpc/routers/assets.d.ts +8 -0
  302. package/dist/trpc/routers/assets.d.ts.map +1 -1
  303. package/dist/trpc/routers/assets.js +16 -5
  304. package/dist/trpc/routers/assets.js.map +1 -1
  305. package/dist/trpc/routers/collections.d.ts.map +1 -1
  306. package/dist/trpc/routers/collections.js +16 -10
  307. package/dist/trpc/routers/collections.js.map +1 -1
  308. package/dist/trpc/routers/credits.d.ts.map +1 -1
  309. package/dist/trpc/routers/credits.js +11 -1
  310. package/dist/trpc/routers/credits.js.map +1 -1
  311. package/dist/trpc/routers/extension.d.ts +17 -3
  312. package/dist/trpc/routers/extension.d.ts.map +1 -1
  313. package/dist/trpc/routers/extension.js +40 -7
  314. package/dist/trpc/routers/extension.js.map +1 -1
  315. package/dist/trpc/routers/gameDraftHistory.d.ts +1 -2
  316. package/dist/trpc/routers/gameDraftHistory.d.ts.map +1 -1
  317. package/dist/trpc/routers/gameDraftHistory.js +1 -1
  318. package/dist/trpc/routers/gameDraftHistory.js.map +1 -1
  319. package/dist/trpc/routers/games.d.ts +20478 -24667
  320. package/dist/trpc/routers/games.d.ts.map +1 -1
  321. package/dist/trpc/routers/games.js +325 -143
  322. package/dist/trpc/routers/games.js.map +1 -1
  323. package/dist/trpc/routers/jobs.d.ts +7 -0
  324. package/dist/trpc/routers/jobs.d.ts.map +1 -1
  325. package/dist/trpc/routers/jobs.js +10 -3
  326. package/dist/trpc/routers/jobs.js.map +1 -1
  327. package/dist/trpc/routers/js-scripts.d.ts.map +1 -1
  328. package/dist/trpc/routers/js-scripts.js +18 -2
  329. package/dist/trpc/routers/js-scripts.js.map +1 -1
  330. package/dist/trpc/routers/messages.d.ts +10 -0
  331. package/dist/trpc/routers/messages.d.ts.map +1 -1
  332. package/dist/trpc/routers/messages.js +16 -2
  333. package/dist/trpc/routers/messages.js.map +1 -1
  334. package/dist/trpc/routers/models.d.ts.map +1 -1
  335. package/dist/trpc/routers/models.js +58 -37
  336. package/dist/trpc/routers/models.js.map +1 -1
  337. package/dist/trpc/routers/packs.d.ts.map +1 -1
  338. package/dist/trpc/routers/packs.js +19 -5
  339. package/dist/trpc/routers/packs.js.map +1 -1
  340. package/dist/trpc/routers/projects.d.ts +66 -2
  341. package/dist/trpc/routers/projects.d.ts.map +1 -1
  342. package/dist/trpc/routers/projects.js +19 -2
  343. package/dist/trpc/routers/projects.js.map +1 -1
  344. package/dist/trpc/routers/settings.d.ts.map +1 -1
  345. package/dist/trpc/routers/settings.js +30 -5
  346. package/dist/trpc/routers/settings.js.map +1 -1
  347. package/dist/trpc/routers/sketch.d.ts +30 -0
  348. package/dist/trpc/routers/sketch.d.ts.map +1 -1
  349. package/dist/trpc/routers/sketch.js +2 -2
  350. package/dist/trpc/routers/sketch.js.map +1 -1
  351. package/dist/trpc/routers/storyboards.d.ts +171 -1
  352. package/dist/trpc/routers/storyboards.d.ts.map +1 -1
  353. package/dist/trpc/routers/storyboards.js +8 -5
  354. package/dist/trpc/routers/storyboards.js.map +1 -1
  355. package/dist/trpc/routers/threads.d.ts.map +1 -1
  356. package/dist/trpc/routers/threads.js +11 -2
  357. package/dist/trpc/routers/threads.js.map +1 -1
  358. package/dist/trpc/routers/timeline.d.ts +379 -0
  359. package/dist/trpc/routers/timeline.d.ts.map +1 -1
  360. package/dist/trpc/routers/timeline.js +15 -2
  361. package/dist/trpc/routers/timeline.js.map +1 -1
  362. package/dist/trpc/routers/triggers.d.ts.map +1 -1
  363. package/dist/trpc/routers/triggers.js +18 -3
  364. package/dist/trpc/routers/triggers.js.map +1 -1
  365. package/dist/trpc/routers/users.d.ts +3 -2
  366. package/dist/trpc/routers/users.d.ts.map +1 -1
  367. package/dist/trpc/routers/users.js +25 -27
  368. package/dist/trpc/routers/users.js.map +1 -1
  369. package/dist/trpc/routers/worker.d.ts.map +1 -1
  370. package/dist/trpc/routers/worker.js +37 -14
  371. package/dist/trpc/routers/worker.js.map +1 -1
  372. package/dist/trpc/routers/workflows.d.ts +190 -0
  373. package/dist/trpc/routers/workflows.d.ts.map +1 -1
  374. package/dist/trpc/routers/workflows.js +56 -15
  375. package/dist/trpc/routers/workflows.js.map +1 -1
  376. package/dist/trpc/sandbox-coverage.d.ts.map +1 -1
  377. package/dist/trpc/sandbox-coverage.js +34 -0
  378. package/dist/trpc/sandbox-coverage.js.map +1 -1
  379. package/dist/websocket-client-session.d.ts +2 -2
  380. package/dist/websocket-client-session.d.ts.map +1 -1
  381. package/dist/websocket-client-session.js +9 -3
  382. package/dist/websocket-client-session.js.map +1 -1
  383. package/dist/worker-settings-env.d.ts +23 -0
  384. package/dist/worker-settings-env.d.ts.map +1 -0
  385. package/dist/worker-settings-env.js +47 -0
  386. package/dist/worker-settings-env.js.map +1 -0
  387. package/dist/workflow-interface-service.d.ts +7 -0
  388. package/dist/workflow-interface-service.d.ts.map +1 -1
  389. package/package.json +51 -46
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Every skill the session's user can load, published as an MCP prompt.
3
+ *
4
+ * MCP has no system prompt, so the skill catalog the chat turn carries never
5
+ * reaches an MCP client, and a skill was only discoverable by writing an
6
+ * `execute_code` action that imports `list_skills`. A prompt is the MCP shape
7
+ * for "saved instructions the user picks": clients list them, and Claude Code
8
+ * offers each one as a slash command.
9
+ *
10
+ * Shipped skills are registered synchronously, so they are there before the
11
+ * client's first `prompts/list`. The user's own rows need the database, so they
12
+ * arrive a moment later and the SDK announces them with `list_changed`. A body
13
+ * is read when the prompt is requested, never cached, so an edited skill is
14
+ * served as it is now. Resolution matches `load_skill`: the user's row first,
15
+ * then the shipped skill.
16
+ */
17
+ import { z } from "zod";
18
+ import { findSystemSkill, loadSystemSkills } from "@nodetool-ai/agents";
19
+ import { Skill } from "@nodetool-ai/models";
20
+ import { createLogger } from "@nodetool-ai/config";
21
+ const log = createLogger("nodetool.websocket.mcp-skill-prompts");
22
+ const argsSchema = {
23
+ request: z
24
+ .string()
25
+ .optional()
26
+ .describe("What to do with this skill. Optional.")
27
+ };
28
+ async function resolveSkill(userId, name) {
29
+ const row = await Skill.findByName(userId, name);
30
+ if (row)
31
+ return { name: row.name, content: row.content };
32
+ const shipped = findSystemSkill(name);
33
+ return shipped ? { name: shipped.name, content: shipped.content } : null;
34
+ }
35
+ function skillPromptText(name, content, request) {
36
+ const lines = [
37
+ `Follow the NodeTool skill "${name}" below. Act through the NodeTool MCP tools.`
38
+ ];
39
+ const task = request?.trim();
40
+ if (task)
41
+ lines.push("", `Request: ${task}`);
42
+ lines.push("", content.trim());
43
+ return lines.join("\n");
44
+ }
45
+ /**
46
+ * Register one prompt per skill. Returns when the user's rows are registered;
47
+ * the shipped skills are registered before it returns its promise.
48
+ */
49
+ export function registerSkillPrompts(server, userId, reservedNames) {
50
+ const registered = new Map();
51
+ const register = (name, description) => {
52
+ if (reservedNames.has(name) || registered.has(name))
53
+ return;
54
+ const prompt = server.registerPrompt(name, { description, argsSchema }, async ({ request }) => {
55
+ const skill = await resolveSkill(userId, name);
56
+ if (!skill)
57
+ throw new Error(`No skill named "${name}".`);
58
+ return {
59
+ messages: [
60
+ {
61
+ role: "user",
62
+ content: {
63
+ type: "text",
64
+ text: skillPromptText(skill.name, skill.content, request)
65
+ }
66
+ }
67
+ ]
68
+ };
69
+ });
70
+ registered.set(name, prompt);
71
+ };
72
+ for (const skill of loadSystemSkills()) {
73
+ register(skill.name, skill.description);
74
+ }
75
+ return Skill.listByUser(userId).then((rows) => {
76
+ for (const row of rows) {
77
+ // A user row that holds a shipped name wins, as in `list_skills`.
78
+ const shadowed = registered.get(row.name);
79
+ if (shadowed)
80
+ shadowed.update({ description: row.description });
81
+ else
82
+ register(row.name, row.description);
83
+ }
84
+ }, (error) => {
85
+ log.warn("Could not list the user's skills for MCP prompts", {
86
+ userId,
87
+ error: error instanceof Error ? error.message : String(error)
88
+ });
89
+ });
90
+ }
91
+ //# sourceMappingURL=mcp-skill-prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-skill-prompts.js","sourceRoot":"","sources":["../src/mcp-skill-prompts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tool-deps.d.ts","sourceRoot":"","sources":["../src/mcp-tool-deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAiBvB,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,cAAmB,GAC3B,sBAAsB,CAiBxB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,GAAE,cAAmB,GAC3B,IAAI,CACL,qBAAqB,EACnB,UAAU,GACV,WAAW,GACX,mBAAmB,GACnB,eAAe,GACf,qBAAqB,GACrB,oBAAoB,CACvB,CAoBA"}
1
+ {"version":3,"file":"mcp-tool-deps.d.ts","sourceRoot":"","sources":["../src/mcp-tool-deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAiBvB,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,cAAmB,GAC3B,sBAAsB,CAwBxB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,GAAE,cAAmB,GAC3B,IAAI,CACL,qBAAqB,EACnB,UAAU,GACV,WAAW,GACX,mBAAmB,GACnB,eAAe,GACf,qBAAqB,GACrB,oBAAoB,CACvB,CAoBA"}
@@ -35,7 +35,14 @@ export function createExampleWorkflowCatalog(options = {}) {
35
35
  : all;
36
36
  return limit === undefined ? filtered : filtered.slice(0, limit);
37
37
  },
38
- get: async (packageName, exampleName) => loadExampleGraph(packageName || defaultExamplePackageName(options) || "nodetool-base", exampleName, options) ?? null
38
+ // The name is agent input, and `loadExampleGraph` joins it onto the
39
+ // examples directory as a path, so a separator would let `../` read any
40
+ // JSON file this process can reach. No shipped example is named that way.
41
+ get: async (packageName, exampleName) => {
42
+ if (/[\\/]/.test(exampleName))
43
+ return null;
44
+ return (loadExampleGraph(packageName || defaultExamplePackageName(options) || "nodetool-base", exampleName, options) ?? null);
45
+ }
39
46
  };
40
47
  }
41
48
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tool-deps.js","sourceRoot":"","sources":["../src/mcp-tool-deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAKhE,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAE9B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,2EAA2E;AAC3E,SAAS,YAAY,CAAC,QAAiB,EAAE,KAAa;IACpD,MAAM,EAAE,GAAG,QAAmC,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACpD,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClE,MAAM,IAAI,GAAI,EAAE,CAAC,MAAM,CAA0B,IAAI,EAAE,CAAC;IACxD,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpB,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CACtD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,OAAO,GAAmB,EAAE;IAE5B,OAAO;QACL,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YAC/B,MAAM,GAAG,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;YAClD,MAAM,QAAQ,GAAG,MAAM;gBACrB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC1D,CAAC,CAAC,GAAG,CAAC;YACR,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;QACD,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,CACtC,gBAAgB,CACd,WAAW,IAAI,yBAAyB,CAAC,OAAO,CAAC,IAAI,eAAe,EACpE,WAAW,EACX,OAAO,CACR,IAAI,IAAI;KACZ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAO,GAAmB,EAAE;IAU5B,OAAO;QACL,QAAQ,EAAE,4BAA4B,CAAC,OAAO,CAAC;QAC/C,oEAAoE;QACpE,8DAA8D;QAC9D,kBAAkB,EAAE,yBAAyB;QAC7C,SAAS,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CACzB,aAAa,CACX,KAA4C,EAC5C,IAAI,CACL;QACH,iBAAiB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACrC,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACzE,0EAA0E;QAC1E,oBAAoB;QACpB,aAAa,EAAE,oBAAoB;QACnC,kEAAkE;QAClE,gEAAgE;QAChE,mBAAmB,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAAC,OAAO,CAAC;KAClE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"mcp-tool-deps.js","sourceRoot":"","sources":["../src/mcp-tool-deps.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"model-download-runtime.d.ts","sourceRoot":"","sources":["../src/model-download-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;AAE1E;;;;GAIG;AACH,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC,IAAI,CAAC,CAqEf"}
1
+ {"version":3,"file":"model-download-runtime.d.ts","sourceRoot":"","sources":["../src/model-download-runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;AAE1E;;;;GAIG;AACH,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC,IAAI,CAAC,CAqEf"}
@@ -1,10 +1,11 @@
1
+ import { importPack } from "@nodetool-ai/node-catalog";
1
2
  /**
2
3
  * Run the existing Transformers.js model download and normalize its per-file
3
4
  * progress to the same shape as the Hugging Face and worker download paths.
4
5
  * Transport adapters own the AbortController and decide how updates are sent.
5
6
  */
6
7
  export async function runTransformersJsModelDownload(repoId, modelType, signal, onProgress) {
7
- const tjs = await import("@nodetool-ai/transformers-js-nodes");
8
+ const tjs = await importPack("transformers-js");
8
9
  const fileTotals = new Map();
9
10
  const completedFiles = new Set();
10
11
  const emit = (status, error) => {
@@ -1 +1 @@
1
- {"version":3,"file":"model-download-runtime.js","sourceRoot":"","sources":["../src/model-download-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-download-runtime.js","sourceRoot":"","sources":["../src/model-download-runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"models-api.d.ts","sourceRoot":"","sources":["../src/models-api.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAuB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC,CAkCnB;AAkBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,YAAY,EAAE,EACpB,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,qBAAqC,GAC9C,YAAY,EAAE,CA+BhB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,GAAE,qBAAqC,GAC9C,MAAM,EAAE,CAeV;AAMD,uFAAuF;AACvF,UAAU,cAAc;IACtB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,mFAAmF;AACnF,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,GAAG,EAAE,oBAAoB,EACzB,SAAS,GAAE,MAEY,EACvB,MAAM,GAAE,MAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAoGf"}
1
+ {"version":3,"file":"models-api.d.ts","sourceRoot":"","sources":["../src/models-api.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAuB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAK1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC,CAkCnB;AAkBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,YAAY,EAAE,EACpB,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,qBAAqC,GAC9C,YAAY,EAAE,CA+BhB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,GAAE,qBAAqC,GAC9C,MAAM,EAAE,CAeV;AAMD,uFAAuF;AACvF,UAAU,cAAc;IACtB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,mFAAmF;AACnF,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,GAAG,EAAE,oBAAoB,EACzB,SAAS,GAAE,MAEY,EACvB,MAAM,GAAE,MAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAwGf"}
@@ -1,6 +1,6 @@
1
1
  import { getSecret as getStoredSecret } from "@nodetool-ai/models";
2
2
  import { listRegisteredProviderIds, PythonProvider, registerProvider } from "@nodetool-ai/runtime";
3
- import { resolveWorkerHfToken } from "@nodetool-ai/huggingface";
3
+ import { ALWAYS_IGNORE_PATTERNS, resolveWorkerHfToken } from "@nodetool-ai/huggingface";
4
4
  import { modelRankings, rankedForTask } from "@nodetool-ai/model-pricing";
5
5
  /**
6
6
  * Register Python-only providers (HuggingFace Local, MLX) discovered
@@ -207,7 +207,11 @@ export async function relayWorkerDownload(socket, bridge, workerManager, msg, re
207
207
  repo_id: repoId,
208
208
  path: msg.path ?? null,
209
209
  allow_patterns: msg.allow_patterns ?? null,
210
- ignore_patterns: msg.ignore_patterns ?? null,
210
+ // A whole-repo worker download skips the framework exports a
211
+ // server-side download skips, so both fetch the same files.
212
+ ignore_patterns: msg.path
213
+ ? (msg.ignore_patterns ?? null)
214
+ : [...(msg.ignore_patterns ?? []), ...ALWAYS_IGNORE_PATTERNS],
211
215
  model_type: msg.model_type ?? null,
212
216
  token
213
217
  }, onProgress, requestId);
@@ -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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"}
@@ -9,11 +9,13 @@
9
9
  */
10
10
  import { NodeRegistry, type NodePackAvailabilityDiagnostic } from "@nodetool-ai/node-sdk";
11
11
  import type { PythonNodeMetadata } from "@nodetool-ai/runtime";
12
+ import { type PackSource } from "./pack-source.js";
12
13
  interface BootstrapLogger {
13
14
  info: (msg: string) => void;
14
15
  warn: (msg: string) => void;
15
16
  }
16
- interface BootstrapRegistryOptions {
17
+ export interface BootstrapRegistryOptions {
18
+ packSource?: PackSource;
17
19
  /** Roots scanned for Python package metadata. */
18
20
  metadataRoots?: string[];
19
21
  metadataMaxDepth?: number;
@@ -24,6 +26,7 @@ interface BootstrapRegistryOptions {
24
26
  log?: BootstrapLogger;
25
27
  }
26
28
  interface RegisterBuiltInNodesOptions {
29
+ packSource?: PackSource;
27
30
  /**
28
31
  * Per-pack enabled overrides keyed by pack id. Packs absent from the map
29
32
  * keep their install default (`defaultEnabled` in the catalog — most packs
@@ -34,7 +37,7 @@ interface RegisterBuiltInNodesOptions {
34
37
  enabledOverrides?: Record<string, boolean>;
35
38
  log?: BootstrapLogger;
36
39
  }
37
- export declare function getUnavailableBuiltinPackDiagnostics(): NodePackAvailabilityDiagnostic[];
40
+ export declare function getUnavailableBuiltinPackDiagnostics(registry?: NodeRegistry): Promise<NodePackAvailabilityDiagnostic[]>;
38
41
  interface PythonBridgeMetadataMergeResult {
39
42
  total: number;
40
43
  bridgeOnly: number;
@@ -50,11 +53,11 @@ interface PythonBridgeMetadataMergeResult {
50
53
  */
51
54
  export declare function mergePythonBridgeMetadata(registry: NodeRegistry, metadata: readonly PythonNodeMetadata[]): PythonBridgeMetadataMergeResult;
52
55
  /**
53
- * Register the enabled first-party node packs into `registry` (synchronous).
56
+ * Register the enabled first-party node packs into `registry`.
54
57
  * Required packs and packs enabled by default or by the user load; the rest
55
58
  * are skipped.
56
59
  */
57
- export declare function registerBuiltInNodes(registry: NodeRegistry, options?: RegisterBuiltInNodesOptions): void;
60
+ export declare function registerBuiltInNodes(registry: NodeRegistry, options?: RegisterBuiltInNodesOptions): Promise<void>;
58
61
  /**
59
62
  * Apply a built-in pack toggle to a live registry so the change takes effect
60
63
  * without a server restart. Enabling re-runs the registrar (idempotent —
@@ -62,7 +65,7 @@ export declare function registerBuiltInNodes(registry: NodeRegistry, options?: R
62
65
  * types attributed to that pack during registration, so packs sharing a namespace prefix
63
66
  * with other packs are untouched.
64
67
  */
65
- export declare function applyBuiltinPackEnabled(registry: NodeRegistry, id: string, enabled: boolean): void;
68
+ export declare function applyBuiltinPackEnabled(registry: NodeRegistry, id: string, enabled: boolean): Promise<void>;
66
69
  /** Drop optional node types that aren't available in cloud/production builds. */
67
70
  export declare function applyProductionNodePolicy(registry: NodeRegistry, log?: BootstrapLogger): void;
68
71
  /**
@@ -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;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"}
1
+ {"version":3,"file":"node-registry-setup.d.ts","sourceRoot":"","sources":["../src/node-registry-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,YAAY,EAKZ,KAAK,8BAA8B,EAEpC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAS/D,OAAO,EAAyB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI1E,UAAU,eAAe;IACvB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,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,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,GAAG,CAAC,EAAE,eAAe,CAAC;CACvB;AAED,wBAAsB,oCAAoC,CACxD,QAAQ,CAAC,EAAE,YAAY,GACtB,OAAO,CAAC,8BAA8B,EAAE,CAAC,CAW3C;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,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,YAAY,EACtB,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,YAAY,EACtB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAGf;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,CA4BvB;AAGD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,sBAAsB,CAAC"}
@@ -7,11 +7,12 @@
7
7
  * Previously each entrypoint registered its own subset, which caused nodes to
8
8
  * be "present in serve but missing in MCP".
9
9
  */
10
- import { NodeRegistry, loadInstalledPacks, readBuiltinPackOverrides } from "@nodetool-ai/node-sdk";
10
+ import { NodeRegistry, applyBuiltinNodePolicy, loadInstalledPacks, readBuiltinPackOverrides } from "@nodetool-ai/node-sdk";
11
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 { registerBuiltinPacks, setBuiltinPackEnabled, applyBuiltinNodePolicy, builtinPackUnavailableReason } from "@nodetool-ai/base-nodes/builtin-packs";
14
+ import { loadBundledPackSource } from "./pack-source.js";
15
+ const registrySources = new WeakMap();
15
16
  function isProduction() {
16
17
  return process.env["NODETOOL_ENV"] === "production";
17
18
  }
@@ -19,10 +20,11 @@ function isProduction() {
19
20
  function isCloudProfile() {
20
21
  return isCloudProfileActive(process.env[CLOUD_PROFILE_ENV], process.env[NODE_ENV_VAR]);
21
22
  }
22
- export function getUnavailableBuiltinPackDiagnostics() {
23
+ export async function getUnavailableBuiltinPackDiagnostics(registry) {
24
+ const packSource = (registry && registrySources.get(registry)) ?? await loadBundledPackSource();
23
25
  const overrides = isCloudProfile() ? undefined : readBuiltinPackOverrides();
24
26
  return BUILTIN_NODE_PACKS.flatMap((pack) => {
25
- const reason = builtinPackUnavailableReason(pack, {
27
+ const reason = packSource.unavailableReason(pack, {
26
28
  enabledOverrides: overrides,
27
29
  cloudProfile: isCloudProfile(),
28
30
  production: isProduction()
@@ -73,14 +75,16 @@ export function mergePythonBridgeMetadata(registry, metadata) {
73
75
  };
74
76
  }
75
77
  /**
76
- * Register the enabled first-party node packs into `registry` (synchronous).
78
+ * Register the enabled first-party node packs into `registry`.
77
79
  * Required packs and packs enabled by default or by the user load; the rest
78
80
  * are skipped.
79
81
  */
80
- export function registerBuiltInNodes(registry, options = {}) {
82
+ export async function registerBuiltInNodes(registry, options = {}) {
83
+ const packSource = options.packSource ?? await loadBundledPackSource();
84
+ registrySources.set(registry, packSource);
81
85
  const overrides = options.enabledOverrides ??
82
86
  (isCloudProfile() ? undefined : readBuiltinPackOverrides());
83
- registerBuiltinPacks(registry, {
87
+ await packSource.register(registry, {
84
88
  enabledOverrides: overrides,
85
89
  cloudProfile: options.enabledOverrides === undefined && isCloudProfile(),
86
90
  production: isProduction()
@@ -97,8 +101,9 @@ export function registerBuiltInNodes(registry, options = {}) {
97
101
  * types attributed to that pack during registration, so packs sharing a namespace prefix
98
102
  * with other packs are untouched.
99
103
  */
100
- export function applyBuiltinPackEnabled(registry, id, enabled) {
101
- setBuiltinPackEnabled(registry, id, enabled);
104
+ export async function applyBuiltinPackEnabled(registry, id, enabled) {
105
+ const packSource = registrySources.get(registry) ?? await loadBundledPackSource();
106
+ await packSource.setEnabled(registry, id, enabled);
102
107
  }
103
108
  /** Drop optional node types that aren't available in cloud/production builds. */
104
109
  export function applyProductionNodePolicy(registry, log) {
@@ -141,7 +146,14 @@ export async function bootstrapNodeRegistry(options = {}) {
141
146
  roots: options.metadataRoots,
142
147
  maxDepth: options.metadataMaxDepth ?? 8
143
148
  });
144
- registerBuiltInNodes(registry, options.log ? { log: options.log } : {});
149
+ const builtinOptions = {};
150
+ if (options.log) {
151
+ builtinOptions.log = options.log;
152
+ }
153
+ if (options.packSource) {
154
+ builtinOptions.packSource = options.packSource;
155
+ }
156
+ await registerBuiltInNodes(registry, builtinOptions);
145
157
  if (options.loadPacks !== false) {
146
158
  const loadOptions = {
147
159
  onResult: (result) => logPackResult(result, options.log)
@@ -1 +1 @@
1
- {"version":3,"file":"node-registry-setup.js","sourceRoot":"","sources":["../src/node-registry-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,EAIzB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,uCAAuC,CAAC;AAkB/C,SAAS,YAAY;IACnB,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,YAAY,CAAC;AACtD,CAAC;AAED,gEAAgE;AAChE,SAAS,cAAc;IACrB,OAAO,oBAAoB,CACzB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAC1B,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,oCAAoC;IAClD,MAAM,SAAS,GAAG,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB,EAAE,CAAC;IAC5E,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,4BAA4B,CAAC,IAAI,EAAE;YAChD,gBAAgB,EAAE,SAAS;YAC3B,YAAY,EAAE,cAAc,EAAE;YAC9B,UAAU,EAAE,YAAY,EAAE;SAC3B,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC;AAQD;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAAsB,EACtB,QAAuC;IAEvC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,SAAS;YAAE,SAAS;QAClC,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7C,YAAY,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QAED,UAAU,EAAE,CAAC;QACb,QAAQ,CAAC,YAAY,CACnB,QAAQ,CAAC,SAAS,EAClB;YACE,gEAAgE;YAChE,sEAAsE;YACtE,4DAA4D;YAC5D,GAAI,QAAoC;YACxC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAC/D,MAAM,EAAE,SAAS;YACjB,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,IAAI,EAAE;YACrD,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,IAAI,EAAE;YACnD,0EAA0E;YAC1E,oCAAoC;YACpC,uBAAuB,EAAE,QAAQ,CAAC,UAAU,IAAI,KAAK;YACrD,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,IAAI,KAAK;YACxD,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB,IAAI,KAAK;YAC1D,wBAAwB,EAAE,KAAK;SAChC,EACD,EAAE,MAAM,EAAE,eAAe,EAAE,CAC5B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,MAAM;QACtB,UAAU;QACV,YAAY;KACb,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAsB,EACtB,OAAO,GAAgC,EAAE;IAEzC,MAAM,SAAS,GACb,OAAO,CAAC,gBAAgB;QACxB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAC9D,oBAAoB,CAClB,QAAQ,EACR;QACE,gBAAgB,EAAE,SAAS;QAC3B,YAAY,EAAE,OAAO,CAAC,gBAAgB,KAAK,SAAS,IAAI,cAAc,EAAE;QACxE,UAAU,EAAE,YAAY,EAAE;KAC3B,EACD,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,MAAM,KAAK,yCAAyC,EAAE,CAAC;YACzD,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,8BAA8B,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC;QACxE,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAsB,EACtB,EAAU,EACV,OAAgB;IAEhB,qBAAqB,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,yBAAyB,CACvC,QAAsB,EACtB,GAAqB;IAErB,sBAAsB,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC5E,GAAG,EAAE,IAAI,CAAC,gBAAgB,QAAQ,gBAAgB,CAAC,CACpD,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAsB,EACtB,GAAqB;IAErB,sBAAsB,CACpB,QAAQ,EACR,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAClC,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAC9D,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,MAAwB,EAAE,GAAqB;IACpE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACxB,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC;IACjD,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,GAAG,EAAE,IAAI,CAAC,oBAAoB,EAAE,KAAK,MAAM,CAAC,UAAU,CAAC,MAAM,WAAW,CAAC,CAAC;QAC1E,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YAC1C,GAAG,EAAE,IAAI,CACP,QAAQ,IAAI,CAAC,IAAI,kBAAkB,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,MAAM,GAAG,CAC1E,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACvC,GAAG,EAAE,IAAI,CAAC,qBAAqB,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,GAAG,EAAE,IAAI,CAAC,4BAA4B,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAO,GAA6B,EAAE;IAEtC,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;IACpC,QAAQ,CAAC,kBAAkB,CAAC;QAC1B,KAAK,EAAE,OAAO,CAAC,aAAa;QAC5B,QAAQ,EAAE,OAAO,CAAC,gBAAgB,IAAI,CAAC;KACxC,CAAC,CAAC;IACH,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxE,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QAChC,MAAM,WAAW,GAA6C;YAC5D,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC;SACzD,CAAC;QACF,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;QACpD,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAChE,eAAe,CAAC,OAAO,CAAC,CAAC;QACzB,MAAM,qBAAqB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACvD,CAAC;IACD,yBAAyB,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACjD,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,mEAAmE;AACnE,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.js","sourceRoot":"","sources":["../src/node-registry-setup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-api.d.ts","sourceRoot":"","sources":["../src/oauth-api.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAmEH,wBAAgB,gBAAgB;;;EAM/B;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAID,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,eAAe,6BAAoC,CAAC;AAoxBjE,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB;YAEnB,MAAM;kBAAgB,MAAM;eAAa,MAAM;EACxD,CAAC;AAWJ;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAwBA;AAgBD,0EAA0E;AAC1E,wBAAsB,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC,CAMpE;AA4QD,kEAAkE;AAClE,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAM5D;AAgPD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,MAAM,GACtB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAyD1B"}
1
+ {"version":3,"file":"oauth-api.d.ts","sourceRoot":"","sources":["../src/oauth-api.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoEH,wBAAgB,gBAAgB;;;EAM/B;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAID,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,eAAe,6BAAoC,CAAC;AAoxBjE,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB;YAEnB,MAAM;kBAAgB,MAAM;eAAa,MAAM;EACxD,CAAC;AAWJ;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAwBA;AAgBD,0EAA0E;AAC1E,wBAAsB,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC,CAMpE;AA2RD,kEAAkE;AAClE,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAM5D;AAkQD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,MAAM,GACtB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAyD1B"}
package/dist/oauth-api.js CHANGED
@@ -10,6 +10,7 @@ import { createLogger, isAuthEnforced, isGoogleWorkspaceEnabled } from "@nodetoo
10
10
  import { OAuthCredential, storeGoogleCredential, deleteGoogleCredentials, GOOGLE_CREDENTIAL_PROVIDER } from "@nodetool-ai/models";
11
11
  import { OAuthClient, LocalCallbackServer, ClaudeCodeLogin, extractChatGptAccountId, CODEX_OAUTH_CLIENT_ID, CODEX_CALLBACK_PORT, CODEX_CALLBACK_PATH, DEFAULT_CODEX_OAUTH_CONFIG } from "@nodetool-ai/runtime/oauth";
12
12
  import { clearProviderCache } from "@nodetool-ai/runtime";
13
+ import { isAdmin } from "./lib/admin.js";
13
14
  import { isFiniteNumber, isNonEmptyString, isString } from "./lib/wire-values.js";
14
15
  const logger = createLogger("nodetool.websocket.oauth");
15
16
  // ── Constants ────────────────────────────────────────────────────────
@@ -941,6 +942,15 @@ async function handleOpenAIDisconnect(request, getUserId) {
941
942
  // shared server (`isAuthEnforced()`) or when asked with `?manual=true`.
942
943
  //
943
944
  // The UI reflects success by polling `/api/oauth/claude/tokens`.
945
+ // The login is process-wide: every user's Claude Agent SDK traffic runs on it.
946
+ // So only an admin may start, finish or remove it, or read its plan details.
947
+ // Other users see only whether the server is connected.
948
+ /** Answers 403 unless the caller is an admin. */
949
+ async function refuseUnlessAdmin(getUserId) {
950
+ if (await isAdmin(getUserId()))
951
+ return null;
952
+ return errorResponse(403, "Only an admin can change this server's Claude login.");
953
+ }
944
954
  /** The single in-flight login, so a re-click supersedes a stale listener. */
945
955
  let activeClaudeLogin = null;
946
956
  /** Abort and tear down any in-flight Claude login. Idempotent. */
@@ -952,9 +962,12 @@ export async function closeActiveClaudeLogin() {
952
962
  active.abort.abort();
953
963
  await active.pending.cancel().catch(() => { });
954
964
  }
955
- async function handleClaudeStart(request) {
965
+ async function handleClaudeStart(request, getUserId) {
956
966
  if (request.method !== "GET")
957
967
  return errorResponse(405, "Method not allowed");
968
+ const refused = await refuseUnlessAdmin(getUserId);
969
+ if (refused)
970
+ return refused;
958
971
  const url = new URL(request.url);
959
972
  const loginMethod = url.searchParams.get("login_method") === "console" ? "console" : "claude-ai";
960
973
  // A shared server's users browse from their own machines, where the loopback
@@ -997,9 +1010,12 @@ async function handleClaudeStart(request) {
997
1010
  });
998
1011
  }
999
1012
  /** Complete a started login from the `code#state` the console displayed. */
1000
- async function handleClaudeComplete(request) {
1013
+ async function handleClaudeComplete(request, getUserId) {
1001
1014
  if (request.method !== "POST")
1002
1015
  return errorResponse(405, "Method not allowed");
1016
+ const refused = await refuseUnlessAdmin(getUserId);
1017
+ if (refused)
1018
+ return refused;
1003
1019
  const active = activeClaudeLogin;
1004
1020
  if (!active) {
1005
1021
  return errorResponse(400, "No Claude login in progress. Start one and try again.");
@@ -1032,29 +1048,35 @@ async function handleClaudeComplete(request) {
1032
1048
  * Connection status, shaped like the other providers' `tokens` responses so the
1033
1049
  * shared `useOAuthConnection` hook works unchanged. There is at most one login.
1034
1050
  */
1035
- async function handleClaudeTokens() {
1051
+ async function handleClaudeTokens(getUserId) {
1036
1052
  const status = await new ClaudeCodeLogin().status();
1053
+ if (!status.connected)
1054
+ return jsonResponse({ tokens: [] });
1055
+ const token = {
1056
+ provider: "claude",
1057
+ scope: status.scopes.join(" "),
1058
+ expires_at: status.expiresAt != null ? new Date(status.expiresAt).toISOString() : null,
1059
+ expired: status.expired
1060
+ };
1061
+ if (!(await isAdmin(getUserId())))
1062
+ return jsonResponse({ tokens: [token] });
1037
1063
  return jsonResponse({
1038
- tokens: status.connected
1039
- ? [
1040
- {
1041
- provider: "claude",
1042
- scope: status.scopes.join(" "),
1043
- expires_at: status.expiresAt != null
1044
- ? new Date(status.expiresAt).toISOString()
1045
- : null,
1046
- expired: status.expired,
1047
- subscription_type: status.subscriptionType,
1048
- rate_limit_tier: status.rateLimitTier,
1049
- credentials_path: status.credentialsPath
1050
- }
1051
- ]
1052
- : []
1064
+ tokens: [
1065
+ {
1066
+ ...token,
1067
+ subscription_type: status.subscriptionType,
1068
+ rate_limit_tier: status.rateLimitTier,
1069
+ credentials_path: status.credentialsPath
1070
+ }
1071
+ ]
1053
1072
  });
1054
1073
  }
1055
- async function handleClaudeDisconnect(request) {
1074
+ async function handleClaudeDisconnect(request, getUserId) {
1056
1075
  if (request.method !== "POST")
1057
1076
  return errorResponse(405, "Method not allowed");
1077
+ const refused = await refuseUnlessAdmin(getUserId);
1078
+ if (refused)
1079
+ return refused;
1058
1080
  await closeActiveClaudeLogin();
1059
1081
  const removed = await new ClaudeCodeLogin().logout();
1060
1082
  return jsonResponse({ success: true, removed: removed ? 1 : 0 });
@@ -1179,13 +1201,13 @@ export async function handleOAuthRequest(request, pathname, getUserId) {
1179
1201
  return handleOpenAIDisconnect(request, getUserId);
1180
1202
  // Claude subscription (Claude Agent SDK credentials)
1181
1203
  case "/api/oauth/claude/start":
1182
- return handleClaudeStart(request);
1204
+ return handleClaudeStart(request, getUserId);
1183
1205
  case "/api/oauth/claude/complete":
1184
- return handleClaudeComplete(request);
1206
+ return handleClaudeComplete(request, getUserId);
1185
1207
  case "/api/oauth/claude/tokens":
1186
- return handleClaudeTokens();
1208
+ return handleClaudeTokens(getUserId);
1187
1209
  case "/api/oauth/claude/disconnect":
1188
- return handleClaudeDisconnect(request);
1210
+ return handleClaudeDisconnect(request, getUserId);
1189
1211
  // Google Workspace (token comes from the Supabase Google login)
1190
1212
  case "/api/oauth/google/session":
1191
1213
  return handleGoogleSession(request, getUserId);