@nodetool-ai/runtime 0.7.0-rc.23 → 0.8.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 (665) hide show
  1. package/README.md +29 -0
  2. package/dist/.nodetool-build-stamp +1 -0
  3. package/dist/agent-memory.d.ts +118 -0
  4. package/dist/agent-memory.d.ts.map +1 -0
  5. package/dist/agent-memory.js +186 -0
  6. package/dist/agent-memory.js.map +1 -0
  7. package/dist/async-local-storage.d.ts +20 -0
  8. package/dist/async-local-storage.d.ts.map +1 -0
  9. package/dist/async-local-storage.js +28 -0
  10. package/dist/async-local-storage.js.map +1 -0
  11. package/dist/blender-executor.d.ts +93 -0
  12. package/dist/blender-executor.d.ts.map +1 -0
  13. package/dist/blender-executor.js +294 -0
  14. package/dist/blender-executor.js.map +1 -0
  15. package/dist/comfy-executor.d.ts +23 -1
  16. package/dist/comfy-executor.d.ts.map +1 -1
  17. package/dist/comfy-executor.js +234 -55
  18. package/dist/comfy-executor.js.map +1 -1
  19. package/dist/context-packer.d.ts +1 -1
  20. package/dist/context-packer.d.ts.map +1 -1
  21. package/dist/context-packer.js +23 -25
  22. package/dist/context-packer.js.map +1 -1
  23. package/dist/context.d.ts +954 -127
  24. package/dist/context.d.ts.map +1 -1
  25. package/dist/context.js +2424 -513
  26. package/dist/context.js.map +1 -1
  27. package/dist/cost-reconciler.d.ts +32 -0
  28. package/dist/cost-reconciler.d.ts.map +1 -0
  29. package/dist/cost-reconciler.js +21 -0
  30. package/dist/cost-reconciler.js.map +1 -0
  31. package/dist/entities.d.ts +33 -0
  32. package/dist/entities.d.ts.map +1 -0
  33. package/dist/entities.js +43 -0
  34. package/dist/entities.js.map +1 -0
  35. package/dist/external-media-fetch.d.ts +29 -0
  36. package/dist/external-media-fetch.d.ts.map +1 -0
  37. package/dist/external-media-fetch.js +38 -0
  38. package/dist/external-media-fetch.js.map +1 -0
  39. package/dist/generation-receipt.d.ts +86 -0
  40. package/dist/generation-receipt.d.ts.map +1 -0
  41. package/dist/generation-receipt.js +137 -0
  42. package/dist/generation-receipt.js.map +1 -0
  43. package/dist/generation-registry.d.ts +67 -0
  44. package/dist/generation-registry.d.ts.map +1 -0
  45. package/dist/generation-registry.js +126 -0
  46. package/dist/generation-registry.js.map +1 -0
  47. package/dist/google/client.d.ts +196 -0
  48. package/dist/google/client.d.ts.map +1 -0
  49. package/dist/google/client.js +396 -0
  50. package/dist/google/client.js.map +1 -0
  51. package/dist/google/index.d.ts +3 -0
  52. package/dist/google/index.d.ts.map +1 -0
  53. package/dist/google/index.js +3 -0
  54. package/dist/google/index.js.map +1 -0
  55. package/dist/google/token.d.ts +15 -0
  56. package/dist/google/token.d.ts.map +1 -0
  57. package/dist/google/token.js +24 -0
  58. package/dist/google/token.js.map +1 -0
  59. package/dist/host-binaries.d.ts +106 -0
  60. package/dist/host-binaries.d.ts.map +1 -0
  61. package/dist/host-binaries.js +344 -0
  62. package/dist/host-binaries.js.map +1 -0
  63. package/dist/image-codec.d.ts +74 -0
  64. package/dist/image-codec.d.ts.map +1 -0
  65. package/dist/image-codec.js +273 -0
  66. package/dist/image-codec.js.map +1 -0
  67. package/dist/index.d.ts +56 -6
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +43 -4
  70. package/dist/index.js.map +1 -1
  71. package/dist/invocation-account.d.ts +43 -0
  72. package/dist/invocation-account.d.ts.map +1 -0
  73. package/dist/invocation-account.js +60 -0
  74. package/dist/invocation-account.js.map +1 -0
  75. package/dist/media-ref-bytes.d.ts +19 -0
  76. package/dist/media-ref-bytes.d.ts.map +1 -0
  77. package/dist/media-ref-bytes.js +181 -0
  78. package/dist/media-ref-bytes.js.map +1 -0
  79. package/dist/node-executor.d.ts +113 -2
  80. package/dist/node-executor.d.ts.map +1 -1
  81. package/dist/permission-gate.d.ts +152 -0
  82. package/dist/permission-gate.d.ts.map +1 -0
  83. package/dist/permission-gate.js +87 -0
  84. package/dist/permission-gate.js.map +1 -0
  85. package/dist/prefixed-storage-adapter.d.ts +33 -0
  86. package/dist/prefixed-storage-adapter.d.ts.map +1 -0
  87. package/dist/prefixed-storage-adapter.js +70 -0
  88. package/dist/prefixed-storage-adapter.js.map +1 -0
  89. package/dist/prompt-asset-refs.d.ts +222 -0
  90. package/dist/prompt-asset-refs.d.ts.map +1 -0
  91. package/dist/prompt-asset-refs.js +751 -0
  92. package/dist/prompt-asset-refs.js.map +1 -0
  93. package/dist/provider-cache.d.ts +3 -0
  94. package/dist/provider-cache.d.ts.map +1 -0
  95. package/dist/provider-cache.js +8 -0
  96. package/dist/provider-cache.js.map +1 -0
  97. package/dist/providers/aki-provider.d.ts +33 -10
  98. package/dist/providers/aki-provider.d.ts.map +1 -1
  99. package/dist/providers/aki-provider.js +84 -77
  100. package/dist/providers/aki-provider.js.map +1 -1
  101. package/dist/providers/alibaba-provider.d.ts +39 -0
  102. package/dist/providers/alibaba-provider.d.ts.map +1 -0
  103. package/dist/providers/alibaba-provider.js +86 -0
  104. package/dist/providers/alibaba-provider.js.map +1 -0
  105. package/dist/providers/anthropic-provider.d.ts +52 -3
  106. package/dist/providers/anthropic-provider.d.ts.map +1 -1
  107. package/dist/providers/anthropic-provider.js +1020 -338
  108. package/dist/providers/anthropic-provider.js.map +1 -1
  109. package/dist/providers/atlascloud-provider.d.ts +101 -0
  110. package/dist/providers/atlascloud-provider.d.ts.map +1 -0
  111. package/dist/providers/atlascloud-provider.js +1009 -0
  112. package/dist/providers/atlascloud-provider.js.map +1 -0
  113. package/dist/providers/atlascloud-transport.d.ts +100 -0
  114. package/dist/providers/atlascloud-transport.d.ts.map +1 -0
  115. package/dist/providers/atlascloud-transport.js +364 -0
  116. package/dist/providers/atlascloud-transport.js.map +1 -0
  117. package/dist/providers/atlascloud-webhook-registry.d.ts +35 -0
  118. package/dist/providers/atlascloud-webhook-registry.d.ts.map +1 -0
  119. package/dist/providers/atlascloud-webhook-registry.js +104 -0
  120. package/dist/providers/atlascloud-webhook-registry.js.map +1 -0
  121. package/dist/providers/audio-mime.d.ts +11 -0
  122. package/dist/providers/audio-mime.d.ts.map +1 -0
  123. package/dist/providers/audio-mime.js +46 -0
  124. package/dist/providers/audio-mime.js.map +1 -0
  125. package/dist/providers/base-provider.d.ts +481 -24
  126. package/dist/providers/base-provider.d.ts.map +1 -1
  127. package/dist/providers/base-provider.js +1259 -42
  128. package/dist/providers/base-provider.js.map +1 -1
  129. package/dist/providers/cassette-provider.d.ts +217 -0
  130. package/dist/providers/cassette-provider.d.ts.map +1 -0
  131. package/dist/providers/cassette-provider.js +502 -0
  132. package/dist/providers/cassette-provider.js.map +1 -0
  133. package/dist/providers/cerebras-provider.d.ts +6 -12
  134. package/dist/providers/cerebras-provider.d.ts.map +1 -1
  135. package/dist/providers/cerebras-provider.js +8 -33
  136. package/dist/providers/cerebras-provider.js.map +1 -1
  137. package/dist/providers/claude-agent-provider.d.ts +131 -68
  138. package/dist/providers/claude-agent-provider.d.ts.map +1 -1
  139. package/dist/providers/claude-agent-provider.js +1095 -515
  140. package/dist/providers/claude-agent-provider.js.map +1 -1
  141. package/dist/providers/codex-provider.d.ts +82 -0
  142. package/dist/providers/codex-provider.d.ts.map +1 -0
  143. package/dist/providers/codex-provider.js +492 -0
  144. package/dist/providers/codex-provider.js.map +1 -0
  145. package/dist/providers/cohere-provider.d.ts +5 -2
  146. package/dist/providers/cohere-provider.d.ts.map +1 -1
  147. package/dist/providers/cohere-provider.js +9 -2
  148. package/dist/providers/cohere-provider.js.map +1 -1
  149. package/dist/providers/comfy-cloud-provider.d.ts +30 -0
  150. package/dist/providers/comfy-cloud-provider.d.ts.map +1 -0
  151. package/dist/providers/comfy-cloud-provider.js +42 -0
  152. package/dist/providers/comfy-cloud-provider.js.map +1 -0
  153. package/dist/providers/content-filter.d.ts +46 -0
  154. package/dist/providers/content-filter.d.ts.map +1 -0
  155. package/dist/providers/content-filter.js +92 -0
  156. package/dist/providers/content-filter.js.map +1 -0
  157. package/dist/providers/context-exceeded.d.ts +37 -0
  158. package/dist/providers/context-exceeded.d.ts.map +1 -0
  159. package/dist/providers/context-exceeded.js +114 -0
  160. package/dist/providers/context-exceeded.js.map +1 -0
  161. package/dist/providers/context-window.d.ts +44 -0
  162. package/dist/providers/context-window.d.ts.map +1 -0
  163. package/dist/providers/context-window.js +145 -0
  164. package/dist/providers/context-window.js.map +1 -0
  165. package/dist/providers/contract/index.d.ts +4 -0
  166. package/dist/providers/contract/index.d.ts.map +1 -0
  167. package/dist/providers/contract/index.js +4 -0
  168. package/dist/providers/contract/index.js.map +1 -0
  169. package/dist/providers/contract/probe-manifest.d.ts +75 -0
  170. package/dist/providers/contract/probe-manifest.d.ts.map +1 -0
  171. package/dist/providers/contract/probe-manifest.js +379 -0
  172. package/dist/providers/contract/probe-manifest.js.map +1 -0
  173. package/dist/providers/contract/probe-runner.d.ts +57 -0
  174. package/dist/providers/contract/probe-runner.d.ts.map +1 -0
  175. package/dist/providers/contract/probe-runner.js +180 -0
  176. package/dist/providers/contract/probe-runner.js.map +1 -0
  177. package/dist/providers/contract/redact.d.ts +29 -0
  178. package/dist/providers/contract/redact.d.ts.map +1 -0
  179. package/dist/providers/contract/redact.js +113 -0
  180. package/dist/providers/contract/redact.js.map +1 -0
  181. package/dist/providers/core-tools.d.ts +74 -0
  182. package/dist/providers/core-tools.d.ts.map +1 -0
  183. package/dist/providers/core-tools.js +127 -0
  184. package/dist/providers/core-tools.js.map +1 -0
  185. package/dist/providers/cost-calculator.d.ts +69 -50
  186. package/dist/providers/cost-calculator.d.ts.map +1 -1
  187. package/dist/providers/cost-calculator.js +207 -397
  188. package/dist/providers/cost-calculator.js.map +1 -1
  189. package/dist/providers/credential-check.d.ts +45 -0
  190. package/dist/providers/credential-check.d.ts.map +1 -0
  191. package/dist/providers/credential-check.js +159 -0
  192. package/dist/providers/credential-check.js.map +1 -0
  193. package/dist/providers/custom-model-kinds.d.ts +33 -0
  194. package/dist/providers/custom-model-kinds.d.ts.map +1 -0
  195. package/dist/providers/custom-model-kinds.js +96 -0
  196. package/dist/providers/custom-model-kinds.js.map +1 -0
  197. package/dist/providers/custom-openai-provider.d.ts +81 -0
  198. package/dist/providers/custom-openai-provider.d.ts.map +1 -0
  199. package/dist/providers/custom-openai-provider.js +182 -0
  200. package/dist/providers/custom-openai-provider.js.map +1 -0
  201. package/dist/providers/custom-provider-registry.d.ts +19 -0
  202. package/dist/providers/custom-provider-registry.d.ts.map +1 -0
  203. package/dist/providers/custom-provider-registry.js +52 -0
  204. package/dist/providers/custom-provider-registry.js.map +1 -0
  205. package/dist/providers/deepseek-provider.d.ts +8 -14
  206. package/dist/providers/deepseek-provider.d.ts.map +1 -1
  207. package/dist/providers/deepseek-provider.js +6 -35
  208. package/dist/providers/deepseek-provider.js.map +1 -1
  209. package/dist/providers/defaults.d.ts +12 -0
  210. package/dist/providers/defaults.d.ts.map +1 -0
  211. package/dist/providers/defaults.js +12 -0
  212. package/dist/providers/defaults.js.map +1 -0
  213. package/dist/providers/elevenlabs-provider.d.ts +49 -0
  214. package/dist/providers/elevenlabs-provider.d.ts.map +1 -0
  215. package/dist/providers/elevenlabs-provider.js +142 -0
  216. package/dist/providers/elevenlabs-provider.js.map +1 -0
  217. package/dist/providers/entity-references.d.ts +31 -0
  218. package/dist/providers/entity-references.d.ts.map +1 -0
  219. package/dist/providers/entity-references.js +113 -0
  220. package/dist/providers/entity-references.js.map +1 -0
  221. package/dist/providers/evolink-provider.d.ts +38 -0
  222. package/dist/providers/evolink-provider.d.ts.map +1 -0
  223. package/dist/providers/evolink-provider.js +304 -0
  224. package/dist/providers/evolink-provider.js.map +1 -0
  225. package/dist/providers/fake-provider.d.ts +72 -1
  226. package/dist/providers/fake-provider.d.ts.map +1 -1
  227. package/dist/providers/fake-provider.js +203 -1
  228. package/dist/providers/fake-provider.js.map +1 -1
  229. package/dist/providers/fal-generations.d.ts +106 -0
  230. package/dist/providers/fal-generations.d.ts.map +1 -0
  231. package/dist/providers/fal-generations.js +286 -0
  232. package/dist/providers/fal-generations.js.map +1 -0
  233. package/dist/providers/fal-provider.d.ts +171 -7
  234. package/dist/providers/fal-provider.d.ts.map +1 -1
  235. package/dist/providers/fal-provider.js +1369 -64
  236. package/dist/providers/fal-provider.js.map +1 -1
  237. package/dist/providers/fal-queue.d.ts +47 -0
  238. package/dist/providers/fal-queue.d.ts.map +1 -0
  239. package/dist/providers/fal-queue.js +231 -0
  240. package/dist/providers/fal-queue.js.map +1 -0
  241. package/dist/providers/gemini-provider.d.ts +148 -8
  242. package/dist/providers/gemini-provider.d.ts.map +1 -1
  243. package/dist/providers/gemini-provider.js +1500 -316
  244. package/dist/providers/gemini-provider.js.map +1 -1
  245. package/dist/providers/gmi-provider.d.ts +21 -0
  246. package/dist/providers/gmi-provider.d.ts.map +1 -0
  247. package/dist/providers/gmi-provider.js +34 -0
  248. package/dist/providers/gmi-provider.js.map +1 -0
  249. package/dist/providers/gpt-image-size.d.ts +3 -0
  250. package/dist/providers/gpt-image-size.d.ts.map +1 -0
  251. package/dist/providers/gpt-image-size.js +37 -0
  252. package/dist/providers/gpt-image-size.js.map +1 -0
  253. package/dist/providers/groq-provider.d.ts +9 -12
  254. package/dist/providers/groq-provider.d.ts.map +1 -1
  255. package/dist/providers/groq-provider.js +19 -33
  256. package/dist/providers/groq-provider.js.map +1 -1
  257. package/dist/providers/groq-request.d.ts +38 -0
  258. package/dist/providers/groq-request.d.ts.map +1 -0
  259. package/dist/providers/groq-request.js +138 -0
  260. package/dist/providers/groq-request.js.map +1 -0
  261. package/dist/providers/higgsfield-provider.d.ts +30 -0
  262. package/dist/providers/higgsfield-provider.d.ts.map +1 -0
  263. package/dist/providers/higgsfield-provider.js +131 -0
  264. package/dist/providers/higgsfield-provider.js.map +1 -0
  265. package/dist/providers/higgsfield-transport.d.ts +106 -0
  266. package/dist/providers/higgsfield-transport.d.ts.map +1 -0
  267. package/dist/providers/higgsfield-transport.js +182 -0
  268. package/dist/providers/higgsfield-transport.js.map +1 -0
  269. package/dist/providers/http-transport.d.ts +74 -0
  270. package/dist/providers/http-transport.d.ts.map +1 -0
  271. package/dist/providers/http-transport.js +152 -0
  272. package/dist/providers/http-transport.js.map +1 -0
  273. package/dist/providers/huggingface-provider.d.ts +71 -3
  274. package/dist/providers/huggingface-provider.d.ts.map +1 -1
  275. package/dist/providers/huggingface-provider.js +230 -34
  276. package/dist/providers/huggingface-provider.js.map +1 -1
  277. package/dist/providers/image-mime.d.ts +39 -0
  278. package/dist/providers/image-mime.d.ts.map +1 -0
  279. package/dist/providers/image-mime.js +111 -0
  280. package/dist/providers/image-mime.js.map +1 -0
  281. package/dist/providers/image-ref.d.ts +21 -0
  282. package/dist/providers/image-ref.d.ts.map +1 -0
  283. package/dist/providers/image-ref.js +44 -0
  284. package/dist/providers/image-ref.js.map +1 -0
  285. package/dist/providers/index.d.ts +84 -8
  286. package/dist/providers/index.d.ts.map +1 -1
  287. package/dist/providers/index.js +239 -56
  288. package/dist/providers/index.js.map +1 -1
  289. package/dist/providers/jina-provider.d.ts +10 -2
  290. package/dist/providers/jina-provider.d.ts.map +1 -1
  291. package/dist/providers/jina-provider.js +16 -7
  292. package/dist/providers/jina-provider.js.map +1 -1
  293. package/dist/providers/kie-provider.d.ts +170 -9
  294. package/dist/providers/kie-provider.d.ts.map +1 -1
  295. package/dist/providers/kie-provider.js +1176 -228
  296. package/dist/providers/kie-provider.js.map +1 -1
  297. package/dist/providers/kie-webhook-registry.d.ts +28 -0
  298. package/dist/providers/kie-webhook-registry.d.ts.map +1 -0
  299. package/dist/providers/kie-webhook-registry.js +91 -0
  300. package/dist/providers/kie-webhook-registry.js.map +1 -0
  301. package/dist/providers/llama-provider.d.ts +21 -37
  302. package/dist/providers/llama-provider.d.ts.map +1 -1
  303. package/dist/providers/llama-provider.js +43 -354
  304. package/dist/providers/llama-provider.js.map +1 -1
  305. package/dist/providers/lmstudio-provider.d.ts +4 -7
  306. package/dist/providers/lmstudio-provider.d.ts.map +1 -1
  307. package/dist/providers/lmstudio-provider.js +24 -15
  308. package/dist/providers/lmstudio-provider.js.map +1 -1
  309. package/dist/providers/manifest-models.d.ts +341 -1
  310. package/dist/providers/manifest-models.d.ts.map +1 -1
  311. package/dist/providers/manifest-models.js +1106 -22
  312. package/dist/providers/manifest-models.js.map +1 -1
  313. package/dist/providers/media-mime.d.ts +14 -0
  314. package/dist/providers/media-mime.d.ts.map +1 -0
  315. package/dist/providers/media-mime.js +35 -0
  316. package/dist/providers/media-mime.js.map +1 -0
  317. package/dist/providers/meshy-provider.d.ts +14 -1
  318. package/dist/providers/meshy-provider.d.ts.map +1 -1
  319. package/dist/providers/meshy-provider.js +76 -46
  320. package/dist/providers/meshy-provider.js.map +1 -1
  321. package/dist/providers/meta-provider.d.ts +22 -0
  322. package/dist/providers/meta-provider.d.ts.map +1 -0
  323. package/dist/providers/meta-provider.js +54 -0
  324. package/dist/providers/meta-provider.js.map +1 -0
  325. package/dist/providers/minimax-provider.d.ts +25 -18
  326. package/dist/providers/minimax-provider.d.ts.map +1 -1
  327. package/dist/providers/minimax-provider.js +211 -72
  328. package/dist/providers/minimax-provider.js.map +1 -1
  329. package/dist/providers/mistral-provider.d.ts +6 -12
  330. package/dist/providers/mistral-provider.d.ts.map +1 -1
  331. package/dist/providers/mistral-provider.js +10 -34
  332. package/dist/providers/mistral-provider.js.map +1 -1
  333. package/dist/providers/moonshot-provider.d.ts +11 -15
  334. package/dist/providers/moonshot-provider.d.ts.map +1 -1
  335. package/dist/providers/moonshot-provider.js +33 -23
  336. package/dist/providers/moonshot-provider.js.map +1 -1
  337. package/dist/providers/node-llama-cpp-provider.d.ts +98 -0
  338. package/dist/providers/node-llama-cpp-provider.d.ts.map +1 -0
  339. package/dist/providers/node-llama-cpp-provider.js +479 -0
  340. package/dist/providers/node-llama-cpp-provider.js.map +1 -0
  341. package/dist/providers/nodetool-provider.d.ts +49 -0
  342. package/dist/providers/nodetool-provider.d.ts.map +1 -0
  343. package/dist/providers/nodetool-provider.js +224 -0
  344. package/dist/providers/nodetool-provider.js.map +1 -0
  345. package/dist/providers/oauth/browser-launcher.d.ts +23 -0
  346. package/dist/providers/oauth/browser-launcher.d.ts.map +1 -0
  347. package/dist/providers/oauth/browser-launcher.js +45 -0
  348. package/dist/providers/oauth/browser-launcher.js.map +1 -0
  349. package/dist/providers/oauth/claude-code-credentials.d.ts +74 -0
  350. package/dist/providers/oauth/claude-code-credentials.d.ts.map +1 -0
  351. package/dist/providers/oauth/claude-code-credentials.js +133 -0
  352. package/dist/providers/oauth/claude-code-credentials.js.map +1 -0
  353. package/dist/providers/oauth/claude-code-login.d.ts +124 -0
  354. package/dist/providers/oauth/claude-code-login.d.ts.map +1 -0
  355. package/dist/providers/oauth/claude-code-login.js +230 -0
  356. package/dist/providers/oauth/claude-code-login.js.map +1 -0
  357. package/dist/providers/oauth/claude-code-oauth-client.d.ts +111 -0
  358. package/dist/providers/oauth/claude-code-oauth-client.d.ts.map +1 -0
  359. package/dist/providers/oauth/claude-code-oauth-client.js +207 -0
  360. package/dist/providers/oauth/claude-code-oauth-client.js.map +1 -0
  361. package/dist/providers/oauth/errors.d.ts +54 -0
  362. package/dist/providers/oauth/errors.d.ts.map +1 -0
  363. package/dist/providers/oauth/errors.js +79 -0
  364. package/dist/providers/oauth/errors.js.map +1 -0
  365. package/dist/providers/oauth/index.d.ts +105 -0
  366. package/dist/providers/oauth/index.d.ts.map +1 -0
  367. package/dist/providers/oauth/index.js +167 -0
  368. package/dist/providers/oauth/index.js.map +1 -0
  369. package/dist/providers/oauth/jwt-claims.d.ts +23 -0
  370. package/dist/providers/oauth/jwt-claims.d.ts.map +1 -0
  371. package/dist/providers/oauth/jwt-claims.js +67 -0
  372. package/dist/providers/oauth/jwt-claims.js.map +1 -0
  373. package/dist/providers/oauth/local-callback-server.d.ts +60 -0
  374. package/dist/providers/oauth/local-callback-server.d.ts.map +1 -0
  375. package/dist/providers/oauth/local-callback-server.js +148 -0
  376. package/dist/providers/oauth/local-callback-server.js.map +1 -0
  377. package/dist/providers/oauth/oauth-client.d.ts +55 -0
  378. package/dist/providers/oauth/oauth-client.d.ts.map +1 -0
  379. package/dist/providers/oauth/oauth-client.js +161 -0
  380. package/dist/providers/oauth/oauth-client.js.map +1 -0
  381. package/dist/providers/oauth/openai-oauth-provider.d.ts +129 -0
  382. package/dist/providers/oauth/openai-oauth-provider.d.ts.map +1 -0
  383. package/dist/providers/oauth/openai-oauth-provider.js +265 -0
  384. package/dist/providers/oauth/openai-oauth-provider.js.map +1 -0
  385. package/dist/providers/oauth/pkce-helper.d.ts +43 -0
  386. package/dist/providers/oauth/pkce-helper.d.ts.map +1 -0
  387. package/dist/providers/oauth/pkce-helper.js +57 -0
  388. package/dist/providers/oauth/pkce-helper.js.map +1 -0
  389. package/dist/providers/oauth/redaction.d.ts +22 -0
  390. package/dist/providers/oauth/redaction.d.ts.map +1 -0
  391. package/dist/providers/oauth/redaction.js +59 -0
  392. package/dist/providers/oauth/redaction.js.map +1 -0
  393. package/dist/providers/oauth/secure-credential-store.d.ts +67 -0
  394. package/dist/providers/oauth/secure-credential-store.d.ts.map +1 -0
  395. package/dist/providers/oauth/secure-credential-store.js +73 -0
  396. package/dist/providers/oauth/secure-credential-store.js.map +1 -0
  397. package/dist/providers/oauth/token-store.d.ts +53 -0
  398. package/dist/providers/oauth/token-store.d.ts.map +1 -0
  399. package/dist/providers/oauth/token-store.js +78 -0
  400. package/dist/providers/oauth/token-store.js.map +1 -0
  401. package/dist/providers/oauth/types.d.ts +64 -0
  402. package/dist/providers/oauth/types.d.ts.map +1 -0
  403. package/dist/providers/oauth/types.js +12 -0
  404. package/dist/providers/oauth/types.js.map +1 -0
  405. package/dist/providers/object-tracking.d.ts +47 -0
  406. package/dist/providers/object-tracking.d.ts.map +1 -0
  407. package/dist/providers/object-tracking.js +46 -0
  408. package/dist/providers/object-tracking.js.map +1 -0
  409. package/dist/providers/offline-model-index.d.ts +20 -0
  410. package/dist/providers/offline-model-index.d.ts.map +1 -0
  411. package/dist/providers/offline-model-index.js +112 -0
  412. package/dist/providers/offline-model-index.js.map +1 -0
  413. package/dist/providers/ollama-provider.d.ts +28 -1
  414. package/dist/providers/ollama-provider.d.ts.map +1 -1
  415. package/dist/providers/ollama-provider.js +193 -43
  416. package/dist/providers/ollama-provider.js.map +1 -1
  417. package/dist/providers/openai-compat/client.d.ts +57 -0
  418. package/dist/providers/openai-compat/client.d.ts.map +1 -0
  419. package/dist/providers/openai-compat/client.js +157 -0
  420. package/dist/providers/openai-compat/client.js.map +1 -0
  421. package/dist/providers/openai-compat/decode.d.ts +36 -0
  422. package/dist/providers/openai-compat/decode.d.ts.map +1 -0
  423. package/dist/providers/openai-compat/decode.js +55 -0
  424. package/dist/providers/openai-compat/decode.js.map +1 -0
  425. package/dist/providers/openai-compat/errors.d.ts +54 -0
  426. package/dist/providers/openai-compat/errors.d.ts.map +1 -0
  427. package/dist/providers/openai-compat/errors.js +144 -0
  428. package/dist/providers/openai-compat/errors.js.map +1 -0
  429. package/dist/providers/openai-compat/index.d.ts +8 -0
  430. package/dist/providers/openai-compat/index.d.ts.map +1 -0
  431. package/dist/providers/openai-compat/index.js +5 -0
  432. package/dist/providers/openai-compat/index.js.map +1 -0
  433. package/dist/providers/openai-compat/sse.d.ts +14 -0
  434. package/dist/providers/openai-compat/sse.d.ts.map +1 -0
  435. package/dist/providers/openai-compat/sse.js +69 -0
  436. package/dist/providers/openai-compat/sse.js.map +1 -0
  437. package/dist/providers/openai-compat/types.d.ts +75 -0
  438. package/dist/providers/openai-compat/types.d.ts.map +1 -0
  439. package/dist/providers/openai-compat/types.js +9 -0
  440. package/dist/providers/openai-compat/types.js.map +1 -0
  441. package/dist/providers/openai-compat-provider.d.ts +90 -0
  442. package/dist/providers/openai-compat-provider.d.ts.map +1 -0
  443. package/dist/providers/openai-compat-provider.js +282 -0
  444. package/dist/providers/openai-compat-provider.js.map +1 -0
  445. package/dist/providers/openai-provider.d.ts +89 -26
  446. package/dist/providers/openai-provider.d.ts.map +1 -1
  447. package/dist/providers/openai-provider.js +990 -105
  448. package/dist/providers/openai-provider.js.map +1 -1
  449. package/dist/providers/openrouter-provider.d.ts +6 -12
  450. package/dist/providers/openrouter-provider.d.ts.map +1 -1
  451. package/dist/providers/openrouter-provider.js +24 -53
  452. package/dist/providers/openrouter-provider.js.map +1 -1
  453. package/dist/providers/provider-call-failure.d.ts +39 -0
  454. package/dist/providers/provider-call-failure.d.ts.map +1 -0
  455. package/dist/providers/provider-call-failure.js +132 -0
  456. package/dist/providers/provider-call-failure.js.map +1 -0
  457. package/dist/providers/provider-error.d.ts +59 -0
  458. package/dist/providers/provider-error.d.ts.map +1 -0
  459. package/dist/providers/provider-error.js +165 -0
  460. package/dist/providers/provider-error.js.map +1 -0
  461. package/dist/providers/provider-generations.d.ts +99 -0
  462. package/dist/providers/provider-generations.d.ts.map +1 -0
  463. package/dist/providers/provider-generations.js +71 -0
  464. package/dist/providers/provider-generations.js.map +1 -0
  465. package/dist/providers/provider-queue.d.ts +62 -0
  466. package/dist/providers/provider-queue.d.ts.map +1 -0
  467. package/dist/providers/provider-queue.js +28 -0
  468. package/dist/providers/provider-queue.js.map +1 -0
  469. package/dist/providers/provider-registry.d.ts +33 -14
  470. package/dist/providers/provider-registry.d.ts.map +1 -1
  471. package/dist/providers/provider-registry.js +85 -68
  472. package/dist/providers/provider-registry.js.map +1 -1
  473. package/dist/providers/provider-request-log.d.ts +53 -0
  474. package/dist/providers/provider-request-log.d.ts.map +1 -0
  475. package/dist/providers/provider-request-log.js +157 -0
  476. package/dist/providers/provider-request-log.js.map +1 -0
  477. package/dist/providers/provider-session.d.ts +3 -0
  478. package/dist/providers/provider-session.d.ts.map +1 -0
  479. package/dist/providers/provider-session.js +10 -0
  480. package/dist/providers/provider-session.js.map +1 -0
  481. package/dist/providers/provider-transport.d.ts +11 -0
  482. package/dist/providers/provider-transport.d.ts.map +1 -0
  483. package/dist/providers/provider-transport.js +11 -0
  484. package/dist/providers/provider-transport.js.map +1 -0
  485. package/dist/providers/python-provider.d.ts +20 -12
  486. package/dist/providers/python-provider.d.ts.map +1 -1
  487. package/dist/providers/python-provider.js +185 -25
  488. package/dist/providers/python-provider.js.map +1 -1
  489. package/dist/providers/replicate-provider.d.ts +89 -7
  490. package/dist/providers/replicate-provider.d.ts.map +1 -1
  491. package/dist/providers/replicate-provider.js +801 -65
  492. package/dist/providers/replicate-provider.js.map +1 -1
  493. package/dist/providers/replicate-retry.d.ts +30 -0
  494. package/dist/providers/replicate-retry.d.ts.map +1 -0
  495. package/dist/providers/replicate-retry.js +97 -0
  496. package/dist/providers/replicate-retry.js.map +1 -0
  497. package/dist/providers/responses-api.d.ts +27 -0
  498. package/dist/providers/responses-api.d.ts.map +1 -0
  499. package/dist/providers/responses-api.js +297 -0
  500. package/dist/providers/responses-api.js.map +1 -0
  501. package/dist/providers/reve-provider.d.ts +45 -0
  502. package/dist/providers/reve-provider.d.ts.map +1 -0
  503. package/dist/providers/reve-provider.js +159 -0
  504. package/dist/providers/reve-provider.js.map +1 -0
  505. package/dist/providers/rodin-provider.d.ts +23 -1
  506. package/dist/providers/rodin-provider.d.ts.map +1 -1
  507. package/dist/providers/rodin-provider.js +89 -51
  508. package/dist/providers/rodin-provider.js.map +1 -1
  509. package/dist/providers/safe-url.d.ts +70 -0
  510. package/dist/providers/safe-url.d.ts.map +1 -0
  511. package/dist/providers/safe-url.js +277 -0
  512. package/dist/providers/safe-url.js.map +1 -0
  513. package/dist/providers/scripted-provider.d.ts +9 -0
  514. package/dist/providers/scripted-provider.d.ts.map +1 -1
  515. package/dist/providers/scripted-provider.js +86 -10
  516. package/dist/providers/scripted-provider.js.map +1 -1
  517. package/dist/providers/structured-output.d.ts +42 -0
  518. package/dist/providers/structured-output.d.ts.map +1 -0
  519. package/dist/providers/structured-output.js +83 -0
  520. package/dist/providers/structured-output.js.map +1 -0
  521. package/dist/providers/together-provider.d.ts +19 -16
  522. package/dist/providers/together-provider.d.ts.map +1 -1
  523. package/dist/providers/together-provider.js +103 -225
  524. package/dist/providers/together-provider.js.map +1 -1
  525. package/dist/providers/topaz-provider.d.ts +44 -0
  526. package/dist/providers/topaz-provider.d.ts.map +1 -0
  527. package/dist/providers/topaz-provider.js +239 -0
  528. package/dist/providers/topaz-provider.js.map +1 -0
  529. package/dist/providers/types.d.ts +603 -4
  530. package/dist/providers/types.d.ts.map +1 -1
  531. package/dist/providers/types.js +81 -1
  532. package/dist/providers/types.js.map +1 -1
  533. package/dist/providers/useapi-provider.d.ts +27 -0
  534. package/dist/providers/useapi-provider.d.ts.map +1 -0
  535. package/dist/providers/useapi-provider.js +266 -0
  536. package/dist/providers/useapi-provider.js.map +1 -0
  537. package/dist/providers/video-duration.d.ts +6 -0
  538. package/dist/providers/video-duration.d.ts.map +1 -0
  539. package/dist/providers/video-duration.js +63 -0
  540. package/dist/providers/video-duration.js.map +1 -0
  541. package/dist/providers/video-frame-fallback.d.ts +39 -0
  542. package/dist/providers/video-frame-fallback.d.ts.map +1 -0
  543. package/dist/providers/video-frame-fallback.js +155 -0
  544. package/dist/providers/video-frame-fallback.js.map +1 -0
  545. package/dist/providers/video-frames.d.ts +61 -0
  546. package/dist/providers/video-frames.d.ts.map +1 -0
  547. package/dist/providers/video-frames.js +208 -0
  548. package/dist/providers/video-frames.js.map +1 -0
  549. package/dist/providers/video-mime.d.ts +14 -0
  550. package/dist/providers/video-mime.d.ts.map +1 -0
  551. package/dist/providers/video-mime.js +44 -0
  552. package/dist/providers/video-mime.js.map +1 -0
  553. package/dist/providers/video-to-audio.d.ts +34 -0
  554. package/dist/providers/video-to-audio.d.ts.map +1 -0
  555. package/dist/providers/video-to-audio.js +62 -0
  556. package/dist/providers/video-to-audio.js.map +1 -0
  557. package/dist/providers/vllm-provider.d.ts +22 -8
  558. package/dist/providers/vllm-provider.d.ts.map +1 -1
  559. package/dist/providers/vllm-provider.js +48 -23
  560. package/dist/providers/vllm-provider.js.map +1 -1
  561. package/dist/providers/voyage-provider.d.ts +10 -2
  562. package/dist/providers/voyage-provider.d.ts.map +1 -1
  563. package/dist/providers/voyage-provider.js +16 -7
  564. package/dist/providers/voyage-provider.js.map +1 -1
  565. package/dist/providers/xai-provider.d.ts +54 -13
  566. package/dist/providers/xai-provider.d.ts.map +1 -1
  567. package/dist/providers/xai-provider.js +299 -22
  568. package/dist/providers/xai-provider.js.map +1 -1
  569. package/dist/python-bridge-base.d.ts +358 -0
  570. package/dist/python-bridge-base.d.ts.map +1 -0
  571. package/dist/python-bridge-base.js +1557 -0
  572. package/dist/python-bridge-base.js.map +1 -0
  573. package/dist/python-bridge-codec.d.ts +28 -0
  574. package/dist/python-bridge-codec.d.ts.map +1 -0
  575. package/dist/python-bridge-codec.js +39 -0
  576. package/dist/python-bridge-codec.js.map +1 -0
  577. package/dist/python-bridge-factory.d.ts +52 -0
  578. package/dist/python-bridge-factory.d.ts.map +1 -0
  579. package/dist/python-bridge-factory.js +69 -0
  580. package/dist/python-bridge-factory.js.map +1 -0
  581. package/dist/python-bridge-framing.d.ts +68 -0
  582. package/dist/python-bridge-framing.d.ts.map +1 -0
  583. package/dist/python-bridge-framing.js +91 -0
  584. package/dist/python-bridge-framing.js.map +1 -0
  585. package/dist/python-bridge-types.d.ts +545 -2
  586. package/dist/python-bridge-types.d.ts.map +1 -1
  587. package/dist/python-bridge-types.js +49 -1
  588. package/dist/python-bridge-types.js.map +1 -1
  589. package/dist/python-graph-resolver.d.ts +57 -0
  590. package/dist/python-graph-resolver.d.ts.map +1 -0
  591. package/dist/python-graph-resolver.js +79 -0
  592. package/dist/python-graph-resolver.js.map +1 -0
  593. package/dist/python-node-executor.d.ts +36 -4
  594. package/dist/python-node-executor.d.ts.map +1 -1
  595. package/dist/python-node-executor.js +177 -86
  596. package/dist/python-node-executor.js.map +1 -1
  597. package/dist/python-stdio-bridge.d.ts +18 -37
  598. package/dist/python-stdio-bridge.d.ts.map +1 -1
  599. package/dist/python-stdio-bridge.js +148 -475
  600. package/dist/python-stdio-bridge.js.map +1 -1
  601. package/dist/python-websocket-bridge.d.ts +140 -0
  602. package/dist/python-websocket-bridge.d.ts.map +1 -0
  603. package/dist/python-websocket-bridge.js +561 -0
  604. package/dist/python-websocket-bridge.js.map +1 -0
  605. package/dist/python-worker-stderr.d.ts +4 -0
  606. package/dist/python-worker-stderr.d.ts.map +1 -0
  607. package/dist/python-worker-stderr.js +24 -0
  608. package/dist/python-worker-stderr.js.map +1 -0
  609. package/dist/recommended-models.d.ts +2 -2
  610. package/dist/recommended-models.d.ts.map +1 -1
  611. package/dist/recommended-models.js +24 -4
  612. package/dist/recommended-models.js.map +1 -1
  613. package/dist/recoverable-node-error.d.ts +31 -0
  614. package/dist/recoverable-node-error.d.ts.map +1 -0
  615. package/dist/recoverable-node-error.js +37 -0
  616. package/dist/recoverable-node-error.js.map +1 -0
  617. package/dist/redact-params.d.ts +13 -0
  618. package/dist/redact-params.d.ts.map +1 -0
  619. package/dist/redact-params.js +57 -0
  620. package/dist/redact-params.js.map +1 -0
  621. package/dist/sandbox-module-catalog.d.ts +43 -0
  622. package/dist/sandbox-module-catalog.d.ts.map +1 -0
  623. package/dist/sandbox-module-catalog.js +25 -0
  624. package/dist/sandbox-module-catalog.js.map +1 -0
  625. package/dist/storage-workspace.d.ts +59 -0
  626. package/dist/storage-workspace.d.ts.map +1 -0
  627. package/dist/storage-workspace.js +426 -0
  628. package/dist/storage-workspace.js.map +1 -0
  629. package/dist/swappable-python-bridge.d.ts +83 -0
  630. package/dist/swappable-python-bridge.d.ts.map +1 -0
  631. package/dist/swappable-python-bridge.js +246 -0
  632. package/dist/swappable-python-bridge.js.map +1 -0
  633. package/dist/telemetry.d.ts +7 -0
  634. package/dist/telemetry.d.ts.map +1 -1
  635. package/dist/telemetry.js +23 -0
  636. package/dist/telemetry.js.map +1 -1
  637. package/dist/testing.d.ts +81 -0
  638. package/dist/testing.d.ts.map +1 -0
  639. package/dist/testing.js +130 -0
  640. package/dist/testing.js.map +1 -0
  641. package/dist/token-counter.d.ts +30 -0
  642. package/dist/token-counter.d.ts.map +1 -0
  643. package/dist/token-counter.js +156 -0
  644. package/dist/token-counter.js.map +1 -0
  645. package/dist/trace-exporters.d.ts +10 -0
  646. package/dist/trace-exporters.d.ts.map +1 -1
  647. package/dist/trace-exporters.js +59 -20
  648. package/dist/trace-exporters.js.map +1 -1
  649. package/dist/tracing-helpers.d.ts +45 -4
  650. package/dist/tracing-helpers.d.ts.map +1 -1
  651. package/dist/tracing-helpers.js +62 -19
  652. package/dist/tracing-helpers.js.map +1 -1
  653. package/dist/turn-budget.d.ts +278 -0
  654. package/dist/turn-budget.d.ts.map +1 -0
  655. package/dist/turn-budget.js +365 -0
  656. package/dist/turn-budget.js.map +1 -0
  657. package/dist/variable-channel.d.ts +48 -0
  658. package/dist/variable-channel.d.ts.map +1 -0
  659. package/dist/variable-channel.js +110 -0
  660. package/dist/variable-channel.js.map +1 -0
  661. package/dist/workspace.d.ts +119 -0
  662. package/dist/workspace.d.ts.map +1 -0
  663. package/dist/workspace.js +112 -0
  664. package/dist/workspace.js.map +1 -0
  665. package/package.json +107 -19
@@ -0,0 +1,48 @@
1
+ /**
2
+ * VariableChannel — a typed async broadcast channel backing Set/Get Variable.
3
+ *
4
+ * A Set Variable node `send`s values onto a named channel; readers consume
5
+ * them without an explicit graph edge:
6
+ * - `first()` resolves with the first value sent (cached), so a Prompt can
7
+ * wait for a variable to exist before rendering. Resolves `undefined` if
8
+ * the channel closes without ever receiving a value.
9
+ * - `stream()` is a replaying async iterator: every subscriber sees the full
10
+ * value history then live values until the channel closes, so a Get
11
+ * Variable's streaming output is independent of scheduling order.
12
+ *
13
+ * The channel is generic in its value type so callers stay type-safe; the
14
+ * node-graph layer derives the concrete type from whatever feeds Set Variable.
15
+ *
16
+ * Lifecycle: the workflow runner closes a channel once its last Set Variable
17
+ * writer finishes, which unblocks waiting readers (with the buffered values,
18
+ * or `undefined`/end-of-stream when nothing was sent).
19
+ */
20
+ export declare class VariableChannel<T = unknown> {
21
+ private readonly _buffer;
22
+ private _closed;
23
+ private _hasValue;
24
+ /** Resolvers waiting on {@link first}. */
25
+ private _firstWaiters;
26
+ /** Resolvers waiting for the next {@link stream} tick (new value or close). */
27
+ private _streamWaiters;
28
+ /** Whether the channel has been closed (no further values will arrive). */
29
+ get closed(): boolean;
30
+ /** Whether at least one value has been sent. */
31
+ get hasValue(): boolean;
32
+ /** Append a value and wake any waiting readers. No-op once closed. */
33
+ send(value: T): void;
34
+ /** Mark the channel closed and release every waiting reader. Idempotent. */
35
+ close(): void;
36
+ /**
37
+ * Resolve with the first value ever sent. Waits if none has arrived yet;
38
+ * resolves `undefined` if the channel closes without a value.
39
+ */
40
+ first(): Promise<T | undefined>;
41
+ /**
42
+ * Replaying async iterator: yields the full value history (from index 0)
43
+ * then live values, ending when the channel is closed and drained.
44
+ */
45
+ stream(): AsyncGenerator<T>;
46
+ private _wakeStreams;
47
+ }
48
+ //# sourceMappingURL=variable-channel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-channel.d.ts","sourceRoot":"","sources":["../src/variable-channel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,eAAe,CAAC,CAAC,GAAG,OAAO;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IACnC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,0CAA0C;IAC1C,OAAO,CAAC,aAAa,CAA6C;IAClE,+EAA+E;IAC/E,OAAO,CAAC,cAAc,CAAyB;IAE/C,2EAA2E;IAC3E,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,gDAAgD;IAChD,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,sEAAsE;IACtE,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAgBnB;IAED,4EAA4E;IAC5E,KAAK,IAAI,IAAI,CAaZ;IAED;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAU9B;IAED;;;OAGG;IACI,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,CAcjC;IAED,OAAO,CAAC,YAAY;CAOrB"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * VariableChannel — a typed async broadcast channel backing Set/Get Variable.
3
+ *
4
+ * A Set Variable node `send`s values onto a named channel; readers consume
5
+ * them without an explicit graph edge:
6
+ * - `first()` resolves with the first value sent (cached), so a Prompt can
7
+ * wait for a variable to exist before rendering. Resolves `undefined` if
8
+ * the channel closes without ever receiving a value.
9
+ * - `stream()` is a replaying async iterator: every subscriber sees the full
10
+ * value history then live values until the channel closes, so a Get
11
+ * Variable's streaming output is independent of scheduling order.
12
+ *
13
+ * The channel is generic in its value type so callers stay type-safe; the
14
+ * node-graph layer derives the concrete type from whatever feeds Set Variable.
15
+ *
16
+ * Lifecycle: the workflow runner closes a channel once its last Set Variable
17
+ * writer finishes, which unblocks waiting readers (with the buffered values,
18
+ * or `undefined`/end-of-stream when nothing was sent).
19
+ */
20
+ export class VariableChannel {
21
+ _buffer = [];
22
+ _closed = false;
23
+ _hasValue = false;
24
+ /** Resolvers waiting on {@link first}. */
25
+ _firstWaiters = [];
26
+ /** Resolvers waiting for the next {@link stream} tick (new value or close). */
27
+ _streamWaiters = [];
28
+ /** Whether the channel has been closed (no further values will arrive). */
29
+ get closed() {
30
+ return this._closed;
31
+ }
32
+ /** Whether at least one value has been sent. */
33
+ get hasValue() {
34
+ return this._hasValue;
35
+ }
36
+ /** Append a value and wake any waiting readers. No-op once closed. */
37
+ send(value) {
38
+ if (this._closed) {
39
+ return;
40
+ }
41
+ this._buffer.push(value);
42
+ const firstArrival = !this._hasValue;
43
+ this._hasValue = true;
44
+ if (firstArrival) {
45
+ const waiters = this._firstWaiters;
46
+ this._firstWaiters = [];
47
+ for (const resolve of waiters) {
48
+ resolve(value);
49
+ }
50
+ }
51
+ this._wakeStreams();
52
+ }
53
+ /** Mark the channel closed and release every waiting reader. Idempotent. */
54
+ close() {
55
+ if (this._closed) {
56
+ return;
57
+ }
58
+ this._closed = true;
59
+ if (!this._hasValue) {
60
+ const waiters = this._firstWaiters;
61
+ this._firstWaiters = [];
62
+ for (const resolve of waiters) {
63
+ resolve(undefined);
64
+ }
65
+ }
66
+ this._wakeStreams();
67
+ }
68
+ /**
69
+ * Resolve with the first value ever sent. Waits if none has arrived yet;
70
+ * resolves `undefined` if the channel closes without a value.
71
+ */
72
+ first() {
73
+ if (this._hasValue) {
74
+ return Promise.resolve(this._buffer[0]);
75
+ }
76
+ if (this._closed) {
77
+ return Promise.resolve(undefined);
78
+ }
79
+ return new Promise((resolve) => {
80
+ this._firstWaiters.push(resolve);
81
+ });
82
+ }
83
+ /**
84
+ * Replaying async iterator: yields the full value history (from index 0)
85
+ * then live values, ending when the channel is closed and drained.
86
+ */
87
+ async *stream() {
88
+ let cursor = 0;
89
+ for (;;) {
90
+ while (cursor < this._buffer.length) {
91
+ yield this._buffer[cursor];
92
+ cursor += 1;
93
+ }
94
+ if (this._closed) {
95
+ return;
96
+ }
97
+ await new Promise((resolve) => {
98
+ this._streamWaiters.push(resolve);
99
+ });
100
+ }
101
+ }
102
+ _wakeStreams() {
103
+ const waiters = this._streamWaiters;
104
+ this._streamWaiters = [];
105
+ for (const resolve of waiters) {
106
+ resolve();
107
+ }
108
+ }
109
+ }
110
+ //# sourceMappingURL=variable-channel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-channel.js","sourceRoot":"","sources":["../src/variable-channel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * The workspace a run reads and writes files in, as an interface rather than a
3
+ * directory.
4
+ *
5
+ * Everything that touched the workspace used to take `workspaceDir: string` and
6
+ * call `node:fs`, which is why a cloud deployment had no workspace worth the
7
+ * name: there is no directory to hand out. A `Workspace` is backed by any
8
+ * `StorageAdapter`, so the local install passes a `FileStorageAdapter` over a
9
+ * real folder and the cloud passes its S3/Supabase adapter scoped to a per-user
10
+ * prefix. Callers cannot tell the difference and must not try — the interface
11
+ * exposes no adapter for that reason.
12
+ *
13
+ * Paths are workspace-relative and normalized: `notes.md`, `out/report.pdf`,
14
+ * `/workspace/notes.md` and `workspace/notes.md` all name the same file, and a
15
+ * path that would climb out of the root is rejected rather than clamped.
16
+ *
17
+ * Object stores have no directories. `mkdir` is therefore a no-op that
18
+ * succeeds, `list` synthesizes directory entries from key prefixes, and an
19
+ * empty directory does not survive a round trip. Code that needs a real
20
+ * directory — a host binary, an mmap'd database — goes through
21
+ * {@link Workspace.materialize} and {@link Workspace.absorb}, or reads
22
+ * {@link Workspace.localDir} and says plainly that it needs a local workspace.
23
+ */
24
+ export interface WorkspaceEntry {
25
+ /** Workspace-relative path. */
26
+ path: string;
27
+ /** Last path segment. */
28
+ name: string;
29
+ /** Byte size; 0 for a directory. */
30
+ size: number;
31
+ /** Last-modified time in ms since epoch; 0 for a synthesized directory. */
32
+ modifiedAt: number;
33
+ isDirectory: boolean;
34
+ }
35
+ export interface WorkspaceStat {
36
+ path: string;
37
+ size: number;
38
+ modifiedAt: number;
39
+ contentType?: string;
40
+ isDirectory: boolean;
41
+ }
42
+ export interface Workspace {
43
+ /**
44
+ * The real directory backing this workspace, or null when it is virtual.
45
+ *
46
+ * Read it only to decide whether a host binary can run in place. Anything
47
+ * that merely moves bytes must use the methods below, which work either way.
48
+ */
49
+ readonly localDir: string | null;
50
+ /** Normalize a caller-supplied path to a workspace key. Throws if it escapes. */
51
+ key(path: string): string;
52
+ /** Opaque URI for a workspace path — what `retrieve`/`delete` round-trip. */
53
+ uri(path: string): string;
54
+ read(path: string): Promise<Uint8Array | null>;
55
+ readText(path: string): Promise<string | null>;
56
+ write(path: string, data: Uint8Array | string, contentType?: string): Promise<void>;
57
+ exists(path: string): Promise<boolean>;
58
+ stat(path: string): Promise<WorkspaceStat | null>;
59
+ /** Direct children of `path`, or every descendant when `recursive`. */
60
+ list(path?: string, opts?: {
61
+ recursive?: boolean;
62
+ }): Promise<WorkspaceEntry[]>;
63
+ /** Delete one file. Returns false when it was not there. */
64
+ delete(path: string): Promise<boolean>;
65
+ /** Delete a directory and everything under it. Returns how many files went. */
66
+ deleteAll(path: string): Promise<number>;
67
+ /** No-op on an object store; creates the directory on a local one. */
68
+ mkdir(path: string): Promise<void>;
69
+ copy(from: string, to: string): Promise<void>;
70
+ move(from: string, to: string): Promise<void>;
71
+ /**
72
+ * A real local path holding this file's current bytes, for handing to a host
73
+ * binary. On a local workspace that is the file itself, so a binary writing
74
+ * in place works. On a virtual one the bytes are staged into a scratch
75
+ * directory and the caller must {@link absorb} anything it changed.
76
+ */
77
+ materialize(path: string): Promise<string>;
78
+ /** Copy a real local file into the workspace. The inverse of materialize. */
79
+ absorb(localPath: string, path: string): Promise<void>;
80
+ /**
81
+ * A real directory a host binary may use for its inputs and outputs. The
82
+ * workspace root on a local workspace; a per-run scratch directory on a
83
+ * virtual one, whose contents reach storage only through `absorb`.
84
+ */
85
+ scratchDir(): Promise<string>;
86
+ /** Remove scratch files staged for this workspace after its run ends. */
87
+ cleanupScratch?(): Promise<void>;
88
+ }
89
+ /** Thrown when a path would resolve outside the workspace root. */
90
+ export declare class WorkspacePathError extends Error {
91
+ constructor(path: string);
92
+ }
93
+ /** Thrown when an operation needs a real directory and the workspace is virtual. */
94
+ export declare class WorkspaceNotLocalError extends Error {
95
+ constructor(what: string);
96
+ }
97
+ /** What a mutation did, for a host that wants to react to it. */
98
+ export interface WorkspaceChange {
99
+ kind: "write" | "delete" | "mkdir" | "copy" | "move";
100
+ /** The path written, created or removed. Workspace-relative. */
101
+ path: string;
102
+ }
103
+ /**
104
+ * A workspace that reports its own mutations.
105
+ *
106
+ * The Workspace Explorer lists files over tRPC and has no way to learn that a
107
+ * chat turn just wrote one — workspace files are not database rows, so the
108
+ * `resource_change` broadcast that keeps every other panel live never fires for
109
+ * them. Wrapping the workspace a run resolves is the one place every writer
110
+ * passes through: the file capabilities, the save nodes, and anything else that
111
+ * goes through the interface rather than `node:fs`.
112
+ *
113
+ * `onChange` fires only after the underlying call resolves, so a rejected write
114
+ * never announces a file that is not there. It is called synchronously and must
115
+ * not throw — a notifier is a side channel, and a run must not fail because a
116
+ * listener did.
117
+ */
118
+ export declare function observeWorkspace(inner: Workspace, onChange: (change: WorkspaceChange) => void): Workspace;
119
+ //# sourceMappingURL=workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * The workspace a run reads and writes files in, as an interface rather than a
3
+ * directory.
4
+ *
5
+ * Everything that touched the workspace used to take `workspaceDir: string` and
6
+ * call `node:fs`, which is why a cloud deployment had no workspace worth the
7
+ * name: there is no directory to hand out. A `Workspace` is backed by any
8
+ * `StorageAdapter`, so the local install passes a `FileStorageAdapter` over a
9
+ * real folder and the cloud passes its S3/Supabase adapter scoped to a per-user
10
+ * prefix. Callers cannot tell the difference and must not try — the interface
11
+ * exposes no adapter for that reason.
12
+ *
13
+ * Paths are workspace-relative and normalized: `notes.md`, `out/report.pdf`,
14
+ * `/workspace/notes.md` and `workspace/notes.md` all name the same file, and a
15
+ * path that would climb out of the root is rejected rather than clamped.
16
+ *
17
+ * Object stores have no directories. `mkdir` is therefore a no-op that
18
+ * succeeds, `list` synthesizes directory entries from key prefixes, and an
19
+ * empty directory does not survive a round trip. Code that needs a real
20
+ * directory — a host binary, an mmap'd database — goes through
21
+ * {@link Workspace.materialize} and {@link Workspace.absorb}, or reads
22
+ * {@link Workspace.localDir} and says plainly that it needs a local workspace.
23
+ */
24
+ /** Thrown when a path would resolve outside the workspace root. */
25
+ export class WorkspacePathError extends Error {
26
+ constructor(path) {
27
+ super(`Path '${path}' is outside the workspace`);
28
+ this.name = "WorkspacePathError";
29
+ }
30
+ }
31
+ /** Thrown when an operation needs a real directory and the workspace is virtual. */
32
+ export class WorkspaceNotLocalError extends Error {
33
+ constructor(what) {
34
+ super(`${what} needs a local workspace directory, and this run has a virtual ` +
35
+ `one (cloud storage). Run it on a local install, or use a node that ` +
36
+ `reads and writes through the workspace instead.`);
37
+ this.name = "WorkspaceNotLocalError";
38
+ }
39
+ }
40
+ /**
41
+ * A workspace that reports its own mutations.
42
+ *
43
+ * The Workspace Explorer lists files over tRPC and has no way to learn that a
44
+ * chat turn just wrote one — workspace files are not database rows, so the
45
+ * `resource_change` broadcast that keeps every other panel live never fires for
46
+ * them. Wrapping the workspace a run resolves is the one place every writer
47
+ * passes through: the file capabilities, the save nodes, and anything else that
48
+ * goes through the interface rather than `node:fs`.
49
+ *
50
+ * `onChange` fires only after the underlying call resolves, so a rejected write
51
+ * never announces a file that is not there. It is called synchronously and must
52
+ * not throw — a notifier is a side channel, and a run must not fail because a
53
+ * listener did.
54
+ */
55
+ export function observeWorkspace(inner, onChange) {
56
+ const notify = (kind, path) => {
57
+ try {
58
+ onChange({ kind, path });
59
+ }
60
+ catch {
61
+ // A listener must never break the write it is reporting.
62
+ }
63
+ };
64
+ return {
65
+ get localDir() {
66
+ return inner.localDir;
67
+ },
68
+ key: (path) => inner.key(path),
69
+ uri: (path) => inner.uri(path),
70
+ read: (path) => inner.read(path),
71
+ readText: (path) => inner.readText(path),
72
+ exists: (path) => inner.exists(path),
73
+ stat: (path) => inner.stat(path),
74
+ list: (path, opts) => inner.list(path, opts),
75
+ materialize: (path) => inner.materialize(path),
76
+ scratchDir: () => inner.scratchDir(),
77
+ cleanupScratch: () => inner.cleanupScratch?.() ?? Promise.resolve(),
78
+ async write(path, data, contentType) {
79
+ await inner.write(path, data, contentType);
80
+ notify("write", path);
81
+ },
82
+ async delete(path) {
83
+ const removed = await inner.delete(path);
84
+ if (removed)
85
+ notify("delete", path);
86
+ return removed;
87
+ },
88
+ async deleteAll(path) {
89
+ const count = await inner.deleteAll(path);
90
+ if (count > 0)
91
+ notify("delete", path);
92
+ return count;
93
+ },
94
+ async mkdir(path) {
95
+ await inner.mkdir(path);
96
+ notify("mkdir", path);
97
+ },
98
+ async copy(from, to) {
99
+ await inner.copy(from, to);
100
+ notify("copy", to);
101
+ },
102
+ async move(from, to) {
103
+ await inner.move(from, to);
104
+ notify("move", to);
105
+ },
106
+ async absorb(localPath, path) {
107
+ await inner.absorb(localPath, path);
108
+ notify("write", path);
109
+ }
110
+ };
111
+ }
112
+ //# sourceMappingURL=workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,41 +1,60 @@
1
1
  {
2
2
  "name": "@nodetool-ai/runtime",
3
- "version": "0.7.0-rc.23",
3
+ "version": "0.8.1",
4
4
  "description": "Processing context, message queue, and output normalization",
5
5
  "type": "module",
6
+ "engines": {
7
+ "node": ">=22.0.0"
8
+ },
6
9
  "main": "dist/index.js",
7
10
  "types": "dist/index.d.ts",
8
11
  "scripts": {
9
12
  "build": "node ../../scripts/build-typescript-workspace.mjs && node -e \"require('node:fs').mkdirSync('dist/providers',{recursive:true}); require('node:fs').cpSync('src/providers/aki-manifest.json', 'dist/providers/aki-manifest.json')\"",
10
- "test": "vitest run",
11
- "test:watch": "vitest",
12
- "lint": "tsc --noEmit"
13
+ "test": "node ../../scripts/run-vitest.mjs run",
14
+ "test:watch": "node ../../scripts/run-vitest.mjs",
15
+ "lint": "node ../../scripts/run-tsc.mjs --noEmit"
13
16
  },
14
17
  "dependencies": {
15
18
  "@aki-io/aki-io": "^1.0.1",
16
- "@anthropic-ai/sdk": "^0.36.2",
17
- "@msgpack/msgpack": "^3.1.3",
18
- "@nodetool-ai/config": "^0.7.0-rc.23",
19
- "@nodetool-ai/protocol": "^0.7.0-rc.23",
19
+ "@anthropic-ai/sdk": "^0.105.0",
20
+ "@huggingface/inference": "^4.13.25",
21
+ "@nodetool-ai/config": "^0.8.1",
22
+ "@nodetool-ai/protocol": "^0.8.1",
23
+ "@nodetool-ai/storage": "^0.8.1",
20
24
  "@opentelemetry/api": "^1.9.0",
21
- "@opentelemetry/exporter-trace-otlp-proto": "^0.203.0",
22
- "@opentelemetry/resources": "^2.6.0",
23
- "@opentelemetry/sdk-node": "^0.203.0",
24
- "@opentelemetry/sdk-trace-base": "^2.6.0",
25
+ "@opentelemetry/exporter-trace-otlp-proto": "^0.221.0",
26
+ "@opentelemetry/resources": "^2.10.0",
27
+ "@opentelemetry/sdk-node": "^0.221.0",
28
+ "@opentelemetry/sdk-trace-base": "^2.10.0",
25
29
  "@opentelemetry/semantic-conventions": "^1.40.0",
30
+ "@pydantic/genai-prices": "^0.0.69",
31
+ "fflate": "^0.8.2",
32
+ "js-tiktoken": "^1.0.21",
33
+ "msgpackr": "^1.11.2",
26
34
  "openai": "^6.35.0",
27
35
  "replicate": "^1.4.0",
28
- "sharp": "^0.34.5",
29
- "ws": "^8.19.0"
30
- },
31
- "optionalDependencies": {
32
- "@anthropic-ai/claude-agent-sdk": "^0.2.101"
36
+ "sharp": "^0.35.3",
37
+ "ws": "^8.19.0",
38
+ "zod": "^4.4.3"
33
39
  },
34
40
  "devDependencies": {
41
+ "@anthropic-ai/claude-agent-sdk": "^0.3.283",
35
42
  "@types/node": "^22.0.0",
36
43
  "@types/ws": "^8.18.1",
37
- "typescript": "^5.7.2",
38
- "vitest": "^4.1.2"
44
+ "typescript": "npm:@typescript/typescript6@6.0.2",
45
+ "vitest": "^5.0.1"
46
+ },
47
+ "peerDependencies": {
48
+ "@anthropic-ai/claude-agent-sdk": "^0.3.283",
49
+ "node-llama-cpp": "^3.0.0"
50
+ },
51
+ "peerDependenciesMeta": {
52
+ "@anthropic-ai/claude-agent-sdk": {
53
+ "optional": true
54
+ },
55
+ "node-llama-cpp": {
56
+ "optional": true
57
+ }
39
58
  },
40
59
  "exports": {
41
60
  ".": {
@@ -43,6 +62,61 @@
43
62
  "types": "./dist/index.d.ts",
44
63
  "import": "./dist/index.js",
45
64
  "default": "./dist/index.js"
65
+ },
66
+ "./oauth": {
67
+ "nodetool-dev": "./src/providers/oauth/index.ts",
68
+ "types": "./dist/providers/oauth/index.d.ts",
69
+ "import": "./dist/providers/oauth/index.js",
70
+ "default": "./dist/providers/oauth/index.js"
71
+ },
72
+ "./context": {
73
+ "nodetool-dev": "./src/context.ts",
74
+ "types": "./dist/context.d.ts",
75
+ "import": "./dist/context.js",
76
+ "default": "./dist/context.js"
77
+ },
78
+ "./provider-transport": {
79
+ "nodetool-dev": "./src/providers/provider-transport.ts",
80
+ "types": "./dist/providers/provider-transport.d.ts",
81
+ "import": "./dist/providers/provider-transport.js",
82
+ "default": "./dist/providers/provider-transport.js"
83
+ },
84
+ "./safe-url": {
85
+ "nodetool-dev": "./src/providers/safe-url.ts",
86
+ "types": "./dist/providers/safe-url.d.ts",
87
+ "import": "./dist/providers/safe-url.js",
88
+ "default": "./dist/providers/safe-url.js"
89
+ },
90
+ "./entities": {
91
+ "nodetool-dev": "./src/entities.ts",
92
+ "types": "./dist/entities.d.ts",
93
+ "import": "./dist/entities.js",
94
+ "default": "./dist/entities.js"
95
+ },
96
+ "./media-ref-bytes": {
97
+ "nodetool-dev": "./src/media-ref-bytes.ts",
98
+ "types": "./dist/media-ref-bytes.d.ts",
99
+ "import": "./dist/media-ref-bytes.js",
100
+ "default": "./dist/media-ref-bytes.js"
101
+ },
102
+ "./prompt-asset-refs": {
103
+ "nodetool-dev": "./src/prompt-asset-refs.ts",
104
+ "types": "./dist/prompt-asset-refs.d.ts",
105
+ "import": "./dist/prompt-asset-refs.js",
106
+ "default": "./dist/prompt-asset-refs.js"
107
+ },
108
+ "./tracing": {
109
+ "nodetool-dev": "./src/tracing-helpers.ts",
110
+ "types": "./dist/tracing-helpers.d.ts",
111
+ "import": "./dist/tracing-helpers.js",
112
+ "default": "./dist/tracing-helpers.js"
113
+ },
114
+ "./providers/aki-manifest.json": "./dist/providers/aki-manifest.json",
115
+ "./google": {
116
+ "nodetool-dev": "./src/google/index.ts",
117
+ "types": "./dist/google/index.d.ts",
118
+ "import": "./dist/google/index.js",
119
+ "default": "./dist/google/index.js"
46
120
  }
47
121
  },
48
122
  "license": "MIT",
@@ -61,5 +135,19 @@
61
135
  "files": [
62
136
  "dist",
63
137
  "README.md"
138
+ ],
139
+ "keywords": [
140
+ "nodetool",
141
+ "ai",
142
+ "workflow",
143
+ "workflow-automation",
144
+ "typescript",
145
+ "llm",
146
+ "llm-providers",
147
+ "openai",
148
+ "anthropic",
149
+ "gemini",
150
+ "ollama",
151
+ "inference"
64
152
  ]
65
153
  }