@nodetool-ai/runtime 0.7.0-rc.22 → 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,479 @@
1
+ import { importOptionalModule, importNodeBuiltin } from "@nodetool-ai/config";
2
+ import { BaseProvider } from "./base-provider.js";
3
+ import { isString } from "@nodetool-ai/protocol";
4
+ let _modulePromise = null;
5
+ async function loadNodeLlamaCpp() {
6
+ if (!_modulePromise) {
7
+ _modulePromise = (async () => {
8
+ try {
9
+ const mod = await importOptionalModule("node-llama-cpp");
10
+ return {
11
+ getLlama: mod.getLlama,
12
+ LlamaChatSession: mod.LlamaChatSession,
13
+ defineChatSessionFunction: mod.defineChatSessionFunction
14
+ };
15
+ }
16
+ catch (err) {
17
+ _modulePromise = null;
18
+ throw new Error("The local llama.cpp provider requires the optional 'node-llama-cpp' " +
19
+ "package, which is not installed. Install it from the Package " +
20
+ "Manager to run GGUF models in-process.", { cause: err });
21
+ }
22
+ })();
23
+ }
24
+ return _modulePromise;
25
+ }
26
+ /** Platform default directory for downloaded GGUF models. Mirrors the location
27
+ * `@nodetool-ai/huggingface`'s `getLlamaCppCacheDir` writes to, so models
28
+ * fetched through the existing download path resolve without extra config. */
29
+ async function getDefaultModelsDir() {
30
+ const os = await importNodeBuiltin("node:os");
31
+ const path = await importNodeBuiltin("node:path");
32
+ if (!os || !path) {
33
+ throw new Error("node-llama-cpp provider requires a Node.js runtime");
34
+ }
35
+ const home = os.homedir();
36
+ if (process.platform === "darwin") {
37
+ return path.join(home, "Library", "Caches", "llama.cpp");
38
+ }
39
+ if (process.platform === "win32") {
40
+ const localAppData = process.env.LOCALAPPDATA;
41
+ return localAppData
42
+ ? path.join(localAppData, "llama.cpp")
43
+ : path.join(home, ".cache", "llama.cpp");
44
+ }
45
+ return path.join(home, ".cache", "llama.cpp");
46
+ }
47
+ /** Default HuggingFace hub cache. Mirrors `@nodetool-ai/huggingface`'s
48
+ * `getDefaultHfCacheDir`; that package sits above runtime in the dependency
49
+ * order, so the resolution is duplicated rather than imported — same reason as
50
+ * {@link getDefaultModelsDir}. */
51
+ async function getHfHubCacheDir() {
52
+ const os = await importNodeBuiltin("node:os");
53
+ const path = await importNodeBuiltin("node:path");
54
+ if (!os || !path)
55
+ return null;
56
+ const expand = (p) => p.startsWith("~") ? path.join(os.homedir(), p.slice(1)) : p;
57
+ const envCache = process.env.HF_HUB_CACHE;
58
+ if (envCache)
59
+ return expand(envCache);
60
+ const hfHome = process.env.HF_HOME;
61
+ if (hfHome)
62
+ return path.join(expand(hfHome), "hub");
63
+ return path.join(os.homedir(), ".cache", "huggingface", "hub");
64
+ }
65
+ /** A directory entry that is a GGUF file. Symlinks count: the HuggingFace hub
66
+ * cache stores every snapshot file as a link into `blobs/`, so requiring a
67
+ * plain file hid those models entirely. */
68
+ function isGgufEntry(entry) {
69
+ return ((entry.isFile() || entry.isSymbolicLink()) &&
70
+ entry.name.toLowerCase().endsWith(".gguf"));
71
+ }
72
+ /** Absolute paths of every GGUF under `dir`. Sharded repos nest them a level
73
+ * or two deep, so recurse — bounded, since hub snapshots are shallow. */
74
+ async function walkGgufFiles(fsp, path, dir, depth = 3) {
75
+ if (depth < 0)
76
+ return [];
77
+ let entries;
78
+ try {
79
+ entries = await fsp.readdir(dir, { withFileTypes: true });
80
+ }
81
+ catch {
82
+ return [];
83
+ }
84
+ const out = [];
85
+ for (const entry of entries) {
86
+ const full = path.join(dir, entry.name);
87
+ if (isGgufEntry(entry)) {
88
+ out.push(full);
89
+ }
90
+ else if (entry.isDirectory()) {
91
+ out.push(...(await walkGgufFiles(fsp, path, full, depth - 1)));
92
+ }
93
+ }
94
+ return out;
95
+ }
96
+ function asText(content) {
97
+ if (isString(content))
98
+ return content;
99
+ if (!content)
100
+ return "";
101
+ return content
102
+ .filter((c) => c.type === "text")
103
+ .map((c) => c.text)
104
+ .join("\n");
105
+ }
106
+ /**
107
+ * In-process llama.cpp provider backed by the native `node-llama-cpp` binding.
108
+ * Unlike {@link LlamaProvider} (an HTTP client for a remote `llama-server`),
109
+ * this runs inference directly in the backend process: no port, no health
110
+ * check, no external process. Models are GGUF files loaded on demand and kept
111
+ * in a small cache so switching models never restarts anything.
112
+ *
113
+ * Tool calling uses node-llama-cpp's native `functions` API: each
114
+ * {@link ProviderTool} becomes a `defineChatSessionFunction` whose `handler`
115
+ * either bridges to the harness's `onToolCall` (agentic loop — the library
116
+ * runs the whole multi-call round internally and returns the final text) or,
117
+ * when no `onToolCall` is supplied, records the call and aborts generation so
118
+ * it can be returned to the caller unexecuted, matching every other
119
+ * provider's `generateMessages`/`generateMessage` contract.
120
+ */
121
+ export class NodeLlamaCppProvider extends BaseProvider {
122
+ static requiredSecrets() {
123
+ return [];
124
+ }
125
+ modelsDir;
126
+ gpuBackend;
127
+ _llama = null;
128
+ _models = new Map();
129
+ constructor(secrets = {}) {
130
+ super("node_llama_cpp");
131
+ this.modelsDir =
132
+ secrets.NODE_LLAMA_CPP_MODELS_DIR ||
133
+ process.env.NODE_LLAMA_CPP_MODELS_DIR ||
134
+ undefined;
135
+ const backend = (secrets.NODE_LLAMA_CPP_GPU_BACKEND ||
136
+ process.env.NODE_LLAMA_CPP_GPU_BACKEND ||
137
+ "").toLowerCase();
138
+ this.gpuBackend =
139
+ backend === "metal" ||
140
+ backend === "cuda" ||
141
+ backend === "vulkan" ||
142
+ backend === "cpu" ||
143
+ backend === "auto"
144
+ ? backend
145
+ : undefined;
146
+ }
147
+ getContainerEnv() {
148
+ return {};
149
+ }
150
+ async hasToolSupport(_model) {
151
+ // node-llama-cpp's `functions` API constrains generation with a grammar
152
+ // derived from each tool's schema, so every GGUF model gets real function
153
+ // calling regardless of its chat template's native support.
154
+ return true;
155
+ }
156
+ async resolveModelsDir() {
157
+ return this.modelsDir ?? (await getDefaultModelsDir());
158
+ }
159
+ async getLlama() {
160
+ if (!this._llama) {
161
+ const { getLlama } = await loadNodeLlamaCpp();
162
+ const gpu = this.gpuBackend === "cpu"
163
+ ? false
164
+ : this.gpuBackend === undefined
165
+ ? undefined
166
+ : this.gpuBackend;
167
+ this._llama = await getLlama(gpu === undefined ? undefined : { gpu });
168
+ }
169
+ return this._llama;
170
+ }
171
+ /** Resolve a model id (absolute path, or a GGUF filename under the models
172
+ * directory) to a loaded model, caching the handle for reuse. */
173
+ async getOrLoadModel(model) {
174
+ const cached = this._models.get(model);
175
+ if (cached)
176
+ return cached;
177
+ const path = await importNodeBuiltin("node:path");
178
+ if (!path) {
179
+ throw new Error("node-llama-cpp provider requires a Node.js runtime");
180
+ }
181
+ const modelPath = path.isAbsolute(model)
182
+ ? model
183
+ : path.join(await this.resolveModelsDir(), model);
184
+ const llama = await this.getLlama();
185
+ const loaded = await llama.loadModel({ modelPath });
186
+ this._models.set(model, loaded);
187
+ return loaded;
188
+ }
189
+ /** Split a message array into a system prompt, the prior-turn history, and
190
+ * the final user turn to prompt with. An assistant turn that called tools is
191
+ * rejoined with its `tool` result messages into one model turn carrying
192
+ * native `functionCall` items, so a resumed conversation replays prior calls
193
+ * in the model's own syntax. */
194
+ buildChat(messages) {
195
+ const systemParts = [];
196
+ const results = new Map();
197
+ for (const msg of messages) {
198
+ if (msg.role === "system")
199
+ systemParts.push(asText(msg.content));
200
+ else if (msg.role === "tool" && msg.toolCallId)
201
+ results.set(msg.toolCallId, asText(msg.content));
202
+ }
203
+ const history = [];
204
+ for (const msg of messages) {
205
+ if (msg.role === "system" || msg.role === "tool")
206
+ continue;
207
+ if (msg.role === "assistant") {
208
+ const text = asText(msg.content);
209
+ const response = text ? [text] : [];
210
+ (msg.toolCalls ?? []).forEach((tc, index) => {
211
+ response.push({
212
+ type: "functionCall",
213
+ name: tc.name,
214
+ params: tc.args ?? {},
215
+ result: results.get(tc.id) ?? "",
216
+ startsNewChunk: index === 0
217
+ });
218
+ });
219
+ history.push({ type: "model", response });
220
+ }
221
+ else {
222
+ history.push({ type: "user", text: asText(msg.content) });
223
+ }
224
+ }
225
+ // `prompt()` always appends a user turn, so the final user message becomes
226
+ // the prompt text rather than part of the replayed history. When the
227
+ // conversation ends on a tool result there is no trailing user turn — the
228
+ // model is meant to continue from the function results already in history.
229
+ let lastUserText = "";
230
+ const last = history[history.length - 1];
231
+ if (last?.type === "user") {
232
+ lastUserText = last.text;
233
+ history.pop();
234
+ }
235
+ return {
236
+ systemPrompt: systemParts.filter(Boolean).join("\n"),
237
+ history,
238
+ lastUserText
239
+ };
240
+ }
241
+ async createSession(model, messages) {
242
+ const { LlamaChatSession } = await loadNodeLlamaCpp();
243
+ const loaded = await this.getOrLoadModel(model);
244
+ const context = await loaded.createContext();
245
+ const { systemPrompt, history, lastUserText } = this.buildChat(messages);
246
+ const session = new LlamaChatSession({
247
+ contextSequence: context.getSequence(),
248
+ systemPrompt: systemPrompt || undefined
249
+ });
250
+ if (history.length > 0) {
251
+ session.setChatHistory(systemPrompt
252
+ ? [{ type: "system", text: systemPrompt }, ...history]
253
+ : history);
254
+ }
255
+ return {
256
+ session,
257
+ lastUserText,
258
+ dispose: () => context.dispose()
259
+ };
260
+ }
261
+ /**
262
+ * Build node-llama-cpp's native `functions` map from our provider-agnostic
263
+ * tools. Each handler either bridges to `onToolCall` (the harness's
264
+ * in-process tool executor — see {@link BaseProvider.generateLoop}'s
265
+ * `executeTool`, which the caller wraps into this callback) so the whole
266
+ * call-and-continue round happens inside this one `prompt()`, or — when no
267
+ * executor is wired up — records the call and fires `stopGeneration` so the
268
+ * (unexecuted) call can be returned to the caller like every other
269
+ * provider's native tool calling.
270
+ */
271
+ buildToolFunctions(tools, onToolCall, defineChatSessionFunction, pendingCalls, stopGeneration) {
272
+ if (tools.length === 0)
273
+ return undefined;
274
+ const functions = {};
275
+ let seq = 0;
276
+ for (const tool of tools) {
277
+ functions[tool.name] = defineChatSessionFunction({
278
+ description: tool.description,
279
+ params: tool.inputSchema ?? { type: "object", properties: {} },
280
+ handler: async (params) => {
281
+ if (onToolCall) {
282
+ return await onToolCall(tool.name, params);
283
+ }
284
+ pendingCalls.push({ id: `call_${++seq}`, name: tool.name, args: params });
285
+ stopGeneration();
286
+ return "";
287
+ }
288
+ });
289
+ }
290
+ return functions;
291
+ }
292
+ async *generateMessages(args) {
293
+ const { model, tools = [], maxTokens = 1024, onToolCall } = args;
294
+ const { session, lastUserText, dispose } = await this.createSession(model, args.messages);
295
+ this.recordRequestPayload({ model, messages: args.messages, maxTokens });
296
+ const { defineChatSessionFunction } = await loadNodeLlamaCpp();
297
+ const pendingCalls = [];
298
+ const stopSignal = new AbortController();
299
+ const functions = this.buildToolFunctions(tools, onToolCall, defineChatSessionFunction, pendingCalls, () => stopSignal.abort());
300
+ const signal = args.signal
301
+ ? AbortSignal.any([args.signal, stopSignal.signal])
302
+ : stopSignal.signal;
303
+ const queue = [];
304
+ let resolveNext = null;
305
+ let done = false;
306
+ let error = null;
307
+ const promptPromise = session
308
+ .prompt(lastUserText, {
309
+ maxTokens,
310
+ temperature: args.temperature,
311
+ topP: args.topP,
312
+ signal,
313
+ functions,
314
+ stopOnAbortSignal: true,
315
+ onTextChunk: (chunk) => {
316
+ queue.push(chunk);
317
+ resolveNext?.();
318
+ }
319
+ })
320
+ .catch((e) => {
321
+ // `stopOnAbortSignal` only suppresses the abort when the model had
322
+ // already produced text (node-llama-cpp's `res.length === 0` guard), so
323
+ // a call emitted with no preceding prose still rejects. That abort is
324
+ // ours and means success: the call was captured.
325
+ if (stopSignal.signal.aborted && !args.signal?.aborted)
326
+ return "";
327
+ error = e;
328
+ return "";
329
+ })
330
+ .finally(() => {
331
+ done = true;
332
+ resolveNext?.();
333
+ });
334
+ try {
335
+ while (!done || queue.length > 0) {
336
+ if (queue.length === 0) {
337
+ await new Promise((resolve) => {
338
+ resolveNext = resolve;
339
+ });
340
+ resolveNext = null;
341
+ continue;
342
+ }
343
+ const content = queue.shift();
344
+ const out = { type: "chunk", content, done: false };
345
+ yield out;
346
+ }
347
+ await promptPromise;
348
+ if (error)
349
+ throw error instanceof Error ? error : new Error(String(error));
350
+ const doneChunk = { type: "chunk", content: "", done: true };
351
+ yield doneChunk;
352
+ for (const tc of pendingCalls) {
353
+ yield tc;
354
+ }
355
+ }
356
+ finally {
357
+ await dispose();
358
+ }
359
+ }
360
+ async generateMessage(args) {
361
+ let content = "";
362
+ const toolCalls = [];
363
+ for await (const item of this.generateMessages(args)) {
364
+ if ("args" in item)
365
+ toolCalls.push(item);
366
+ else if ("content" in item && isString(item.content))
367
+ content += item.content;
368
+ }
369
+ return {
370
+ role: "assistant",
371
+ content,
372
+ toolCalls: toolCalls.length ? toolCalls : null
373
+ };
374
+ }
375
+ async generateEmbedding(args) {
376
+ const loaded = await this.getOrLoadModel(args.model);
377
+ const ctx = await loaded.createEmbeddingContext();
378
+ try {
379
+ const texts = Array.isArray(args.text) ? args.text : [args.text];
380
+ const out = [];
381
+ for (const text of texts) {
382
+ const embedding = await ctx.getEmbeddingFor(text);
383
+ out.push([...embedding.vector]);
384
+ }
385
+ return out;
386
+ }
387
+ finally {
388
+ await ctx.dispose();
389
+ }
390
+ }
391
+ async getAvailableLanguageModels() {
392
+ const models = await this.scanGgufFiles();
393
+ return models.map((m) => ({ ...m, provider: "node_llama_cpp" }));
394
+ }
395
+ async getAvailableEmbeddingModels() {
396
+ const models = await this.scanGgufFiles();
397
+ return models.map((m) => ({ ...m, provider: "node_llama_cpp" }));
398
+ }
399
+ /**
400
+ * List the GGUF models available locally, from both places they land:
401
+ * the flat llama.cpp cache (or `NODE_LLAMA_CPP_MODELS_DIR`), and the
402
+ * HuggingFace hub cache that the app's model downloader writes to. Without
403
+ * the latter, a GGUF pulled from a HuggingFace repo was never selectable.
404
+ */
405
+ async scanGgufFiles() {
406
+ const models = [
407
+ ...(await this.scanModelsDir()),
408
+ ...(await this.scanHfHubCache())
409
+ ];
410
+ // A models directory pointed at the hub cache would surface both views.
411
+ const seen = new Set();
412
+ return models
413
+ .filter((m) => (seen.has(m.id) ? false : (seen.add(m.id), true)))
414
+ .sort((a, b) => a.name.localeCompare(b.name));
415
+ }
416
+ /** GGUFs sitting directly in the configured/default models directory. */
417
+ async scanModelsDir() {
418
+ const fsp = await importNodeBuiltin("node:fs/promises");
419
+ if (!fsp)
420
+ return [];
421
+ const dir = await this.resolveModelsDir();
422
+ let entries;
423
+ try {
424
+ entries = await fsp.readdir(dir, { withFileTypes: true });
425
+ }
426
+ catch {
427
+ return [];
428
+ }
429
+ return entries
430
+ .filter((e) => isGgufEntry(e))
431
+ .map((e) => ({ id: e.name, name: e.name }));
432
+ }
433
+ /**
434
+ * GGUFs inside the HuggingFace hub cache, which stores them as
435
+ * `models--<org>--<repo>/snapshots/<sha>/<file>.gguf`. Those entries are
436
+ * symlinks into `blobs/`, so the walk must accept symlinks. Ids are absolute
437
+ * paths — {@link getOrLoadModel} loads those directly.
438
+ */
439
+ async scanHfHubCache() {
440
+ const fsp = await importNodeBuiltin("node:fs/promises");
441
+ const path = await importNodeBuiltin("node:path");
442
+ if (!fsp || !path)
443
+ return [];
444
+ const hubDir = await getHfHubCacheDir();
445
+ if (!hubDir)
446
+ return [];
447
+ let repos;
448
+ try {
449
+ repos = await fsp.readdir(hubDir, { withFileTypes: true });
450
+ }
451
+ catch {
452
+ return [];
453
+ }
454
+ const out = [];
455
+ for (const repo of repos) {
456
+ if (!repo.isDirectory() || !repo.name.startsWith("models--"))
457
+ continue;
458
+ // `models--org--repo` → `org/repo`; a repo with no org has one segment.
459
+ const label = repo.name.slice("models--".length).split("--").join("/");
460
+ const snapshots = path.join(hubDir, repo.name, "snapshots");
461
+ for (const file of await walkGgufFiles(fsp, path, snapshots)) {
462
+ out.push({
463
+ id: file,
464
+ name: `${path.basename(file)} (${label})`
465
+ });
466
+ }
467
+ }
468
+ return out;
469
+ }
470
+ isContextLengthError(error) {
471
+ const msg = String(error).toLowerCase();
472
+ return (msg.includes("context length") ||
473
+ msg.includes("context window") ||
474
+ msg.includes("context size") ||
475
+ msg.includes("token limit") ||
476
+ msg.includes("out of memory"));
477
+ }
478
+ }
479
+ //# sourceMappingURL=node-llama-cpp-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-llama-cpp-provider.js","sourceRoot":"","sources":["../../src/providers/node-llama-cpp-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { BaseProvider, type ProviderCapability } from "./base-provider.js";
2
+ import type { EncodedAudioResult, ImageModel, ImageToImageParams, ImageToVideoParams, LanguageModel, Message, ProviderStreamItem, TextToImageParams, TextToVideoParams, TTSModel, VideoModel } from "./types.js";
3
+ import type { ReferenceToVideoInputs, ReferenceToVideoParams } from "./types.js";
4
+ export declare class NodetoolProvider extends BaseProvider {
5
+ private secrets;
6
+ private _absorbedCost;
7
+ static requiredSecrets(): string[];
8
+ constructor(secrets?: Record<string, unknown>);
9
+ private platformKey;
10
+ private isFunded;
11
+ /** Funded by a platform key and whitelisted for spend on this server. */
12
+ private isServable;
13
+ /**
14
+ * The delegate serving a nodetool model id, constructed on platform keys.
15
+ * A fresh instance per call on purpose: cost is read off the delegate's
16
+ * cumulative counter after the call, and a shared delegate serving
17
+ * overlapping calls would double-count one call's cost into another's
18
+ * absorption window. Construction is cheap — both delegates build their
19
+ * network clients lazily.
20
+ */
21
+ private delegateFor;
22
+ /** Run a delegated call and absorb the delegate's cost delta as our own. */
23
+ private absorbing;
24
+ get cost(): number;
25
+ getTotalCost(): number;
26
+ resetCost(): void;
27
+ protected declaredCapabilities(): ProviderCapability[];
28
+ private servableModels;
29
+ getAvailableLanguageModels(): Promise<LanguageModel[]>;
30
+ getAvailableImageModels(): Promise<ImageModel[]>;
31
+ getAvailableVideoModels(): Promise<VideoModel[]>;
32
+ getAvailableTTSModels(): Promise<TTSModel[]>;
33
+ textToImage(params: TextToImageParams): Promise<Uint8Array>;
34
+ imageToImage(images: Uint8Array[], params: ImageToImageParams): Promise<Uint8Array>;
35
+ textToVideo(params: TextToVideoParams): Promise<Uint8Array>;
36
+ imageToVideo(image: Uint8Array, params: ImageToVideoParams): Promise<Uint8Array>;
37
+ referenceToVideo(inputs: ReferenceToVideoInputs, params: ReferenceToVideoParams): Promise<Uint8Array>;
38
+ textToSpeechEncoded(args: {
39
+ text: string;
40
+ model: string;
41
+ voice?: string;
42
+ speed?: number;
43
+ audioFormat?: string;
44
+ }): Promise<EncodedAudioResult | null>;
45
+ generateMessage(args: Parameters<BaseProvider["generateMessage"]>[0]): Promise<Message>;
46
+ generateMessages(args: Parameters<BaseProvider["generateMessages"]>[0]): AsyncGenerator<ProviderStreamItem>;
47
+ }
48
+ export default NodetoolProvider;
49
+ //# sourceMappingURL=nodetool-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodetool-provider.d.ts","sourceRoot":"","sources":["../../src/providers/nodetool-provider.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EACV,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,OAAO,EACP,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACX,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AASjF,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,aAAa,CAAK;IAE1B,OAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C;IAED,YAAY,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAGhD;IAED,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,QAAQ;IAIhB,yEAAyE;IACzE,OAAO,CAAC,UAAU;IAIlB;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;IAkCnB,4EAA4E;YAC9D,SAAS;IAYvB,IAAa,IAAI,IAAI,MAAM,CAE1B;IAEQ,YAAY,IAAI,MAAM,CAE9B;IAEQ,SAAS,IAAI,IAAI,CAEzB;IAED,UAAmB,oBAAoB,IAAI,kBAAkB,EAAE,CAiB9D;IAED,OAAO,CAAC,cAAc;IAMP,0BAA0B,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAOpE;IAEc,uBAAuB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAQ9D;IAEc,uBAAuB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAQ9D;IAEc,qBAAqB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAO1D;IAEc,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAQzE;IAEc,YAAY,CACzB,MAAM,EAAE,UAAU,EAAE,EACpB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,UAAU,CAAC,CAWrB;IAEc,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAWzE;IAEc,YAAY,CACzB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,UAAU,CAAC,CAQrB;IAEc,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,CAMnH;IAEc,mBAAmB,CAAC,IAAI,EAAE;QACvC,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAKrC;IAEc,eAAe,CAC5B,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,GACnD,OAAO,CAAC,OAAO,CAAC,CAKlB;IAEe,gBAAgB,CAC9B,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,GACpD,cAAc,CAAC,kBAAkB,CAAC,CAQpC;CACF;eAEc,gBAAgB"}