@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,59 @@
1
+ /**
2
+ * Actionable text for opaque provider failures.
3
+ *
4
+ * Providers surface upstream HTTP errors verbatim — `403 Your request was
5
+ * blocked.`, `401 Incorrect API key provided`, `fetch failed` — which reaches
6
+ * the user as a node error with no hint of which provider failed or what to do
7
+ * about it. {@link annotateProviderError} appends the provider, the model, and
8
+ * a short remedy for the status class, leaving the original text at the front
9
+ * so existing message matching (rate limit, context length) still works.
10
+ */
11
+ /**
12
+ * Machine-readable companion to the prose hint. Surfaces that want to *act* on
13
+ * a failure — reopen provider onboarding on the failing key, say — read this
14
+ * instead of matching the message text.
15
+ */
16
+ export interface ProviderFailureDetail {
17
+ /**
18
+ * `provider_auth`: the credential was refused. `context_exceeded`: the
19
+ * request did not fit the model's context window, which a caller holding the
20
+ * transcript can answer by shortening it and retrying.
21
+ */
22
+ code: "provider_auth" | "context_exceeded";
23
+ /** Provider id as the runtime knows it (e.g. `openai`). */
24
+ provider: string;
25
+ /** Secret key holding that provider's credential, when one is registered. */
26
+ secretKey: string | null;
27
+ }
28
+ /**
29
+ * The structured detail {@link annotateProviderError} attached, or null when
30
+ * the error is not a credential failure.
31
+ */
32
+ export declare function providerFailureDetail(error: unknown): ProviderFailureDetail | null;
33
+ /**
34
+ * Tag `error` as the provider refusing a request larger than the model's
35
+ * context window. Kept apart from {@link annotateProviderError}: the prose hint
36
+ * is written from an HTTP status, while this classification comes from the
37
+ * provider's own overflow signal.
38
+ */
39
+ export declare function markContextExceeded<TError>(error: TError, provider: string): TError;
40
+ /**
41
+ * HTTP status carried by a provider error: a `status`/`statusCode` field when
42
+ * the provider throws a typed error, otherwise a status token at the start of
43
+ * the message (`"403 Your request was blocked."`, the shape both the `openai`
44
+ * SDK and {@link OpenAICompatError} use) or after an explicit `status`/`HTTP`
45
+ * marker. Bare three-digit numbers elsewhere in the message are ignored — they
46
+ * are far more often model ids or token counts than statuses.
47
+ */
48
+ export declare function httpStatusFromError(error: unknown): number | null;
49
+ /**
50
+ * Append provider context and a remedy to a provider failure, in place. The
51
+ * original message is kept as the prefix, and the error object (class, status,
52
+ * stack) is left intact. Aborts and already-annotated errors pass through
53
+ * untouched. Returns the same error so callers can `throw annotateProviderError(...)`.
54
+ */
55
+ export declare function annotateProviderError<TError>(error: TError, context: {
56
+ provider: string;
57
+ model?: string;
58
+ }): TError;
59
+ //# sourceMappingURL=provider-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-error.d.ts","sourceRoot":"","sources":["../../src/providers/provider-error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,IAAI,EAAE,eAAe,GAAG,kBAAkB,CAAC;IAC3C,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAgBD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GACb,qBAAqB,GAAG,IAAI,CAG9B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EACxC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,MAAM,CAQR;AAQD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAgBjE;AAuED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAC1C,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C,MAAM,CA4BR"}
@@ -0,0 +1,165 @@
1
+ /**
2
+ * Actionable text for opaque provider failures.
3
+ *
4
+ * Providers surface upstream HTTP errors verbatim — `403 Your request was
5
+ * blocked.`, `401 Incorrect API key provided`, `fetch failed` — which reaches
6
+ * the user as a node error with no hint of which provider failed or what to do
7
+ * about it. {@link annotateProviderError} appends the provider, the model, and
8
+ * a short remedy for the status class, leaving the original text at the front
9
+ * so existing message matching (rate limit, context length) still works.
10
+ */
11
+ import { getProviderSecretKey } from "./provider-registry.js";
12
+ import { isNumber, isObjectLike, isString } from "@nodetool-ai/protocol";
13
+ /** Marks an error already annotated, so nested wrappers don't stack hints. */
14
+ const ANNOTATED = Symbol.for("nodetool.provider.errorAnnotated");
15
+ /** Field carrying {@link ProviderFailureDetail} on an annotated error. */
16
+ const FAILURE_DETAIL = Symbol.for("nodetool.provider.failureDetail");
17
+ /**
18
+ * The structured detail {@link annotateProviderError} attached, or null when
19
+ * the error is not a credential failure.
20
+ */
21
+ export function providerFailureDetail(error) {
22
+ if (!isObjectLike(error))
23
+ return null;
24
+ return error[FAILURE_DETAIL] ?? null;
25
+ }
26
+ /**
27
+ * Tag `error` as the provider refusing a request larger than the model's
28
+ * context window. Kept apart from {@link annotateProviderError}: the prose hint
29
+ * is written from an HTTP status, while this classification comes from the
30
+ * provider's own overflow signal.
31
+ */
32
+ export function markContextExceeded(error, provider) {
33
+ if (!(error instanceof Error))
34
+ return error;
35
+ error[FAILURE_DETAIL] = {
36
+ code: "context_exceeded",
37
+ provider,
38
+ secretKey: null
39
+ };
40
+ return error;
41
+ }
42
+ function numericStatus(value) {
43
+ const status = isString(value) ? Number(value) : value;
44
+ if (!isNumber(status) || !Number.isInteger(status))
45
+ return null;
46
+ return status >= 100 && status <= 599 ? status : null;
47
+ }
48
+ /**
49
+ * HTTP status carried by a provider error: a `status`/`statusCode` field when
50
+ * the provider throws a typed error, otherwise a status token at the start of
51
+ * the message (`"403 Your request was blocked."`, the shape both the `openai`
52
+ * SDK and {@link OpenAICompatError} use) or after an explicit `status`/`HTTP`
53
+ * marker. Bare three-digit numbers elsewhere in the message are ignored — they
54
+ * are far more often model ids or token counts than statuses.
55
+ */
56
+ export function httpStatusFromError(error) {
57
+ if (!isObjectLike(error))
58
+ return null;
59
+ const candidate = error;
60
+ const direct = numericStatus(candidate.status) ??
61
+ numericStatus(candidate.statusCode) ??
62
+ numericStatus(candidate.response?.status);
63
+ if (direct !== null)
64
+ return direct;
65
+ const message = isString(candidate.message) ? candidate.message : "";
66
+ const leading = message.match(/^\s*(\d{3})\b/);
67
+ if (leading)
68
+ return numericStatus(leading[1]);
69
+ const labelled = message.match(/\b(?:status|http|status code)[:\s]+(\d{3})\b/i);
70
+ return labelled ? numericStatus(labelled[1]) : null;
71
+ }
72
+ function isAbort(error) {
73
+ const name = isString(error.name) ? error.name : "";
74
+ if (name === "AbortError" || name === "TimeoutError")
75
+ return true;
76
+ const code = isString(error.code) ? error.code : "";
77
+ return code === "ABORT_ERR";
78
+ }
79
+ const NETWORK_CODES = new Set([
80
+ "ENOTFOUND",
81
+ "ECONNREFUSED",
82
+ "ECONNRESET",
83
+ "EAI_AGAIN",
84
+ "EHOSTUNREACH",
85
+ "ENETUNREACH",
86
+ "ETIMEDOUT",
87
+ "UND_ERR_CONNECT_TIMEOUT",
88
+ "CERT_HAS_EXPIRED"
89
+ ]);
90
+ function isNetworkFailure(error) {
91
+ const code = isString(error.code) ? error.code : "";
92
+ if (NETWORK_CODES.has(code))
93
+ return true;
94
+ const message = isString(error.message) ? error.message : "";
95
+ return /fetch failed|network error|socket hang up/i.test(message);
96
+ }
97
+ /** Remedy for one status class, or null when the status needs no advice. */
98
+ function hintForStatus(status, provider, model) {
99
+ const target = model ? `${provider}/${model}` : provider;
100
+ switch (status) {
101
+ case 401:
102
+ return `${target} rejected the credentials (401). Add or update the API key for ${provider} in Settings → Models & Providers.`;
103
+ case 403:
104
+ return `${target} refused the request (403). The API key may be missing access to this model, restricted to certain referrers or IPs, or blocked in your region — check it in Settings → Models & Providers.`;
105
+ case 402:
106
+ return `${target} reports the account is out of credit (402). Top up or check billing with ${provider}.`;
107
+ case 404:
108
+ return `${target} does not expose this model (404). Pick another model, or check that your ${provider} account has access to it.`;
109
+ case 429:
110
+ return `${target} is rate limiting or out of quota (429). Wait and retry, or check your ${provider} plan limits.`;
111
+ case 408:
112
+ case 504:
113
+ return `${target} timed out (${status}). Retry, or lower the request size.`;
114
+ default:
115
+ if (status >= 500) {
116
+ return `${target} is failing on its side (${status}). Retry in a moment; if it persists, check the ${provider} status page.`;
117
+ }
118
+ return null;
119
+ }
120
+ }
121
+ function hintFor(error, provider, model) {
122
+ const status = httpStatusFromError(error);
123
+ if (status !== null)
124
+ return hintForStatus(status, provider, model);
125
+ if (isNetworkFailure(error)) {
126
+ const target = model ? `${provider}/${model}` : provider;
127
+ return `Could not reach ${target}. Check your internet connection, proxy settings, and — for local providers — that the server is running.`;
128
+ }
129
+ return null;
130
+ }
131
+ /**
132
+ * Append provider context and a remedy to a provider failure, in place. The
133
+ * original message is kept as the prefix, and the error object (class, status,
134
+ * stack) is left intact. Aborts and already-annotated errors pass through
135
+ * untouched. Returns the same error so callers can `throw annotateProviderError(...)`.
136
+ */
137
+ export function annotateProviderError(error, context) {
138
+ if (!(error instanceof Error))
139
+ return error;
140
+ const candidate = error;
141
+ if (candidate[ANNOTATED] || isAbort(candidate))
142
+ return error;
143
+ // "unknown" is the modality wrappers' placeholder when the params carry no
144
+ // model id; naming it would read as a model called "unknown".
145
+ const model = context.model && context.model !== "unknown" ? context.model : "";
146
+ const hint = hintFor(candidate, context.provider, model);
147
+ if (!hint)
148
+ return error;
149
+ // 401/403 both mean "the credential didn't work" as far as a user is
150
+ // concerned — one is rejected, the other refused — and both are fixed on the
151
+ // same screen, so both carry the structured detail.
152
+ const status = httpStatusFromError(candidate);
153
+ if (status === 401 || status === 403) {
154
+ candidate[FAILURE_DETAIL] = {
155
+ code: "provider_auth",
156
+ provider: context.provider,
157
+ secretKey: getProviderSecretKey(context.provider)
158
+ };
159
+ }
160
+ candidate[ANNOTATED] = true;
161
+ const original = candidate.message.trim();
162
+ candidate.message = original ? `${original} — ${hint}` : hint;
163
+ return error;
164
+ }
165
+ //# sourceMappingURL=provider-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-error.js","sourceRoot":"","sources":["../../src/providers/provider-error.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * The provider-side generation record: what a provider itself knows about the
3
+ * media calls an account made, read back from the provider's own API.
4
+ *
5
+ * NodeTool keeps its own record of every generation this installation ran —
6
+ * the `predictions` table behind `nodetool generations`
7
+ * (docs/media-generation-tracking-design.md). That record is local: it cannot
8
+ * see a generation made from another machine, from the provider's own web UI,
9
+ * or from a run whose row was lost, and it carries an estimate until a
10
+ * reconciler replaces it with the billed amount.
11
+ *
12
+ * A provider that keeps its own request history can answer for all of those.
13
+ * {@link BaseProvider.listGenerations} and {@link BaseProvider.getGeneration}
14
+ * are where that history is exposed, in one shape across providers, so a
15
+ * caller reconciling spend or hunting a lost asset does not write a client per
16
+ * provider. A provider without such an API keeps the base methods and throws
17
+ * {@link ProviderGenerationsUnsupportedError}, which is a capability answer,
18
+ * not a failure: `providerCapabilities` reports `list_generations` and
19
+ * `get_generation` only for the providers that override them.
20
+ */
21
+ import type { ProviderId } from "./types.js";
22
+ /**
23
+ * A generation's state at the provider. `unknown` is its own answer: a record
24
+ * derived from a billing event says a call was charged without saying how it
25
+ * ended, and reporting that as `completed` would invent an outcome.
26
+ */
27
+ export type ProviderGenerationStatus = "running" | "completed" | "failed" | "cancelled" | "unknown";
28
+ /** One provider-side generation, in the shape every provider answers with. */
29
+ export interface ProviderGeneration {
30
+ provider: ProviderId;
31
+ /** The provider's own request id — what `provider_request_id` holds locally. */
32
+ request_id: string;
33
+ /** The endpoint or model that ran, when the provider names one. */
34
+ model: string | null;
35
+ status: ProviderGenerationStatus;
36
+ /** ISO timestamps, as the provider reports them. */
37
+ created_at: string | null;
38
+ completed_at: string | null;
39
+ duration_seconds: number | null;
40
+ /** What the provider billed, not an estimate. Null when it does not say. */
41
+ cost: number | null;
42
+ currency: string | null;
43
+ quantity: number | null;
44
+ unit_price: number | null;
45
+ /** Output media the provider still hosts. Empty when it reports none. */
46
+ output_urls: string[];
47
+ /** The generation's own failure, when the provider reports one. */
48
+ error: string | null;
49
+ }
50
+ /** Filters a provider listing understands. Every field is optional. */
51
+ export interface ProviderGenerationQuery {
52
+ /** Endpoint / model ids to list, when the provider filters by them. */
53
+ model?: string | readonly string[];
54
+ status?: ProviderGenerationStatus;
55
+ /** ISO timestamp; generations started before it are left out. */
56
+ since?: string;
57
+ /** ISO timestamp, exclusive upper bound. */
58
+ until?: string;
59
+ limit?: number;
60
+ /** The `next_cursor` of a previous page. */
61
+ cursor?: string | null;
62
+ signal?: AbortSignal;
63
+ }
64
+ export interface ProviderGenerationPage {
65
+ generations: ProviderGeneration[];
66
+ next_cursor: string | null;
67
+ /**
68
+ * What this page could not answer — a provider whose listing carries cost
69
+ * but not outcome says so here rather than guessing a status.
70
+ */
71
+ note: string | null;
72
+ }
73
+ /** What a single-generation lookup can be told besides the request id. */
74
+ export interface ProviderGenerationLookup {
75
+ /** The endpoint / model id, when the caller knows it. Narrows the query. */
76
+ model?: string;
77
+ signal?: AbortSignal;
78
+ }
79
+ /** Raised by the base methods: this provider exposes no generation history. */
80
+ export declare class ProviderGenerationsUnsupportedError extends Error {
81
+ readonly provider: string;
82
+ readonly operation: "list" | "get";
83
+ constructor(provider: string, operation: "list" | "get");
84
+ }
85
+ /** Whether a thrown value is the "no generation history here" answer. */
86
+ export declare function isProviderGenerationsUnsupported(error: unknown): error is ProviderGenerationsUnsupportedError;
87
+ /**
88
+ * A generation record with every field present, so each provider's mapper
89
+ * fills in only what its API reports and nothing is silently absent.
90
+ */
91
+ export declare function providerGeneration(fields: Partial<ProviderGeneration> & {
92
+ provider: ProviderId;
93
+ request_id: string;
94
+ }): ProviderGeneration;
95
+ /** Bound a caller's page size to what a provider's API accepts. */
96
+ export declare function boundedLimit(limit: number | undefined, fallback: number, max: number): number;
97
+ /** The `model` filter as a list, whichever form the caller passed. */
98
+ export declare function modelFilter(model: string | readonly string[] | undefined): string[];
99
+ //# sourceMappingURL=provider-generations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-generations.d.ts","sourceRoot":"","sources":["../../src/providers/provider-generations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAChC,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,GACX,SAAS,CAAC;AAEd,8EAA8E;AAC9E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,UAAU,CAAC;IACrB,gFAAgF;IAChF,UAAU,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,wBAAwB,CAAC;IACjC,oDAAoD;IACpD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,4EAA4E;IAC5E,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,yEAAyE;IACzE,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,mEAAmE;IACnE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,uEAAuE;AACvE,MAAM,WAAW,uBAAuB;IACtC,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACnC,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;OAGG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,0EAA0E;AAC1E,MAAM,WAAW,wBAAwB;IACvC,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,+EAA+E;AAC/E,qBAAa,mCAAoC,SAAQ,KAAK;IAC5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC;IAEnC,YAAY,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,EAQtD;CACF;AAED,yEAAyE;AACzE,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,mCAAmC,CAE9C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG;IACpC,QAAQ,EAAE,UAAU,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB,GACA,kBAAkB,CAgBpB;AAED,mEAAmE;AACnE,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,GACV,MAAM,CAGR;AAED,sEAAsE;AACtE,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,GAC5C,MAAM,EAAE,CAIV"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * The provider-side generation record: what a provider itself knows about the
3
+ * media calls an account made, read back from the provider's own API.
4
+ *
5
+ * NodeTool keeps its own record of every generation this installation ran —
6
+ * the `predictions` table behind `nodetool generations`
7
+ * (docs/media-generation-tracking-design.md). That record is local: it cannot
8
+ * see a generation made from another machine, from the provider's own web UI,
9
+ * or from a run whose row was lost, and it carries an estimate until a
10
+ * reconciler replaces it with the billed amount.
11
+ *
12
+ * A provider that keeps its own request history can answer for all of those.
13
+ * {@link BaseProvider.listGenerations} and {@link BaseProvider.getGeneration}
14
+ * are where that history is exposed, in one shape across providers, so a
15
+ * caller reconciling spend or hunting a lost asset does not write a client per
16
+ * provider. A provider without such an API keeps the base methods and throws
17
+ * {@link ProviderGenerationsUnsupportedError}, which is a capability answer,
18
+ * not a failure: `providerCapabilities` reports `list_generations` and
19
+ * `get_generation` only for the providers that override them.
20
+ */
21
+ /** Raised by the base methods: this provider exposes no generation history. */
22
+ export class ProviderGenerationsUnsupportedError extends Error {
23
+ provider;
24
+ operation;
25
+ constructor(provider, operation) {
26
+ super(`${provider} does not expose provider-side generations (${operation}). ` +
27
+ `Read the local record with the generations capabilities instead.`);
28
+ this.name = "ProviderGenerationsUnsupportedError";
29
+ this.provider = provider;
30
+ this.operation = operation;
31
+ }
32
+ }
33
+ /** Whether a thrown value is the "no generation history here" answer. */
34
+ export function isProviderGenerationsUnsupported(error) {
35
+ return error instanceof ProviderGenerationsUnsupportedError;
36
+ }
37
+ /**
38
+ * A generation record with every field present, so each provider's mapper
39
+ * fills in only what its API reports and nothing is silently absent.
40
+ */
41
+ export function providerGeneration(fields) {
42
+ return {
43
+ provider: fields.provider,
44
+ request_id: fields.request_id,
45
+ model: fields.model ?? null,
46
+ status: fields.status ?? "unknown",
47
+ created_at: fields.created_at ?? null,
48
+ completed_at: fields.completed_at ?? null,
49
+ duration_seconds: fields.duration_seconds ?? null,
50
+ cost: fields.cost ?? null,
51
+ currency: fields.currency ?? null,
52
+ quantity: fields.quantity ?? null,
53
+ unit_price: fields.unit_price ?? null,
54
+ output_urls: fields.output_urls ?? [],
55
+ error: fields.error ?? null
56
+ };
57
+ }
58
+ /** Bound a caller's page size to what a provider's API accepts. */
59
+ export function boundedLimit(limit, fallback, max) {
60
+ if (limit === undefined || !Number.isFinite(limit))
61
+ return fallback;
62
+ return Math.min(Math.max(1, Math.floor(limit)), max);
63
+ }
64
+ /** The `model` filter as a list, whichever form the caller passed. */
65
+ export function modelFilter(model) {
66
+ if (model === undefined)
67
+ return [];
68
+ const list = Array.isArray(model) ? [...model] : [String(model)];
69
+ return list.filter((id) => id.length > 0);
70
+ }
71
+ //# sourceMappingURL=provider-generations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-generations.js","sourceRoot":"","sources":["../../src/providers/provider-generations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAuEH,+EAA+E;AAC/E,MAAM,OAAO,mCAAoC,SAAQ,KAAK;IACnD,QAAQ,CAAS;IACjB,SAAS,CAAiB;IAEnC,YAAY,QAAgB,EAAE,SAAyB;QACrD,KAAK,CACH,GAAG,QAAQ,+CAA+C,SAAS,KAAK;YACtE,kEAAkE,CACrE,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qCAAqC,CAAC;QAClD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED,yEAAyE;AACzE,MAAM,UAAU,gCAAgC,CAC9C,KAAc;IAEd,OAAO,KAAK,YAAY,mCAAmC,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAGC;IAED,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;QAClC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;QACrC,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,IAAI;QACzC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,IAAI;QACjD,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;QACjC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;QACrC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;QACrC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI;KAC5B,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,YAAY,CAC1B,KAAyB,EACzB,QAAgB,EAChB,GAAW;IAEX,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACpE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,WAAW,CACzB,KAA6C;IAE7C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Provider-neutral contracts for queue-backed generation adapters.
3
+ *
4
+ * The runtime deliberately owns no persistence or generation lifecycle here.
5
+ * Hosts can bind the returned submission to their durable attempt before
6
+ * waiting, while provider adapters remain responsible for transport only.
7
+ */
8
+ export interface ProviderQueueSubmission {
9
+ readonly provider: string;
10
+ readonly endpoint: string;
11
+ readonly providerRequestId: string;
12
+ readonly statusLocator?: string;
13
+ readonly resultLocator?: string;
14
+ readonly cancelLocator?: string;
15
+ }
16
+ export interface ProviderQueueBinding extends ProviderQueueSubmission {
17
+ /** The exact endpoint and request id that were persisted by the host. */
18
+ readonly bound: true;
19
+ }
20
+ export type ProviderQueueState = "queued" | "running" | "succeeded" | "failed" | "cancelled";
21
+ export interface ProviderQueueObservation<TResult = unknown> {
22
+ readonly provider: string;
23
+ readonly endpoint: string;
24
+ readonly providerRequestId: string;
25
+ readonly state: ProviderQueueState;
26
+ readonly result?: TResult;
27
+ readonly error?: unknown;
28
+ readonly rawStatus?: unknown;
29
+ }
30
+ /**
31
+ * A provider has returned an explicit terminal observation. Transport errors,
32
+ * poll timeouts, and local decode/storage failures must not be represented by
33
+ * this error because they leave the durable attempt recoverable.
34
+ */
35
+ export declare class ProviderQueueTerminalError extends Error {
36
+ readonly provider: string;
37
+ readonly providerRequestId: string;
38
+ readonly state: Extract<ProviderQueueState, "failed" | "cancelled">;
39
+ readonly observation?: ProviderQueueObservation | undefined;
40
+ readonly authoritativeProviderTerminal: true;
41
+ constructor(provider: string, providerRequestId: string, state: Extract<ProviderQueueState, "failed" | "cancelled">, observation?: ProviderQueueObservation | undefined);
42
+ }
43
+ export interface ProviderQueueWaitOptions {
44
+ readonly signal?: AbortSignal;
45
+ readonly onUpdate?: (observation: ProviderQueueObservation) => void;
46
+ readonly pollIntervalMs?: number;
47
+ }
48
+ /**
49
+ * A small adapter surface that can be backed by an ephemeral host today and
50
+ * a durable generation worker later. `bind` is intentionally explicit even
51
+ * when the provider returns its id in the submit response.
52
+ */
53
+ export interface ProviderQueueAdapter<TInput = unknown, TResult = unknown> {
54
+ readonly provider: string;
55
+ submit(input: TInput): Promise<ProviderQueueSubmission>;
56
+ bind(submission: ProviderQueueSubmission): Promise<ProviderQueueBinding>;
57
+ wait(binding: ProviderQueueBinding, options?: ProviderQueueWaitOptions): Promise<ProviderQueueObservation<TResult>>;
58
+ cancel(binding: ProviderQueueBinding, options?: {
59
+ readonly signal?: AbortSignal;
60
+ }): Promise<void>;
61
+ }
62
+ //# sourceMappingURL=provider-queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-queue.d.ts","sourceRoot":"","sources":["../../src/providers/provider-queue.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,oBAAqB,SAAQ,uBAAuB;IACnE,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;CACtB;AAED,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,WAAW,wBAAwB,CAAC,OAAO,GAAG,OAAO;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IAIjD,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,iBAAiB,EAAE,MAAM;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,kBAAkB,EAAE,QAAQ,GAAG,WAAW,CAAC;IACnE,QAAQ,CAAC,WAAW,CAAC,EAAE,wBAAwB;IANjD,QAAQ,CAAC,6BAA6B,OAAiB;IAEvD,YACW,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,MAAM,EACzB,KAAK,EAAE,OAAO,CAAC,kBAAkB,EAAE,QAAQ,GAAG,WAAW,CAAC,EAC1D,WAAW,CAAC,EAAE,wBAAwB,YAAA,EAMhD;CACF;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACpE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IACvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,EAAE,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACzE,IAAI,CACF,OAAO,EAAE,oBAAoB,EAC7B,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,MAAM,CACJ,OAAO,EAAE,oBAAoB,EAC7B,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC1C,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Provider-neutral contracts for queue-backed generation adapters.
3
+ *
4
+ * The runtime deliberately owns no persistence or generation lifecycle here.
5
+ * Hosts can bind the returned submission to their durable attempt before
6
+ * waiting, while provider adapters remain responsible for transport only.
7
+ */
8
+ /**
9
+ * A provider has returned an explicit terminal observation. Transport errors,
10
+ * poll timeouts, and local decode/storage failures must not be represented by
11
+ * this error because they leave the durable attempt recoverable.
12
+ */
13
+ export class ProviderQueueTerminalError extends Error {
14
+ provider;
15
+ providerRequestId;
16
+ state;
17
+ observation;
18
+ authoritativeProviderTerminal = true;
19
+ constructor(provider, providerRequestId, state, observation) {
20
+ super(`Provider queue request ${providerRequestId} did not succeed (${state})`);
21
+ this.provider = provider;
22
+ this.providerRequestId = providerRequestId;
23
+ this.state = state;
24
+ this.observation = observation;
25
+ this.name = "ProviderQueueTerminalError";
26
+ }
27
+ }
28
+ //# sourceMappingURL=provider-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-queue.js","sourceRoot":"","sources":["../../src/providers/provider-queue.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiCH;;;;GAIG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAIxC,QAAQ;IACR,iBAAiB;IACjB,KAAK;IACL,WAAW;IANb,6BAA6B,GAAG,IAAa,CAAC;IAEvD,YACW,QAAgB,EAChB,iBAAyB,EACzB,KAA0D,EAC1D,WAAsC;QAE/C,KAAK,CACH,0BAA0B,iBAAiB,qBAAqB,KAAK,GAAG,CACzE,CAAC;wBAPO,QAAQ;iCACR,iBAAiB;qBACjB,KAAK;2BACL,WAAW;QAKpB,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF"}
@@ -1,24 +1,43 @@
1
1
  import type { BaseProvider } from "./base-provider.js";
2
- interface ProviderRegistration {
3
- cls: new (...args: any[]) => BaseProvider;
2
+ /** A provider class as the registry constructs it: from its resolved kwargs. */
3
+ type ProviderConstructor = new (kwargs: Record<string, unknown>) => BaseProvider;
4
+ export type ProviderAccess = "in_process" | "local_service" | "remote_api";
5
+ export interface ProviderRegistrationMetadata {
6
+ /** Describes where model inference runs, independently from cache state. */
7
+ access: ProviderAccess;
8
+ displayName: string;
9
+ }
10
+ export interface ProviderRegistration {
11
+ cls: ProviderConstructor;
4
12
  kwargs: Record<string, unknown>;
13
+ optionalKwargs: Record<string, unknown>;
14
+ metadata: ProviderRegistrationMetadata;
5
15
  }
6
- type SecretResolver = (key: string, userId: string) => Promise<string | null | undefined> | string | null | undefined;
7
- export declare function registerProvider(providerId: string, cls: new (...args: any[]) => BaseProvider, kwargs?: Record<string, unknown>): void;
8
- export declare function getRegisteredProvider(providerId: string): ProviderRegistration | null;
9
16
  /**
10
- * Set a secret resolver so that providers can resolve API keys from
11
- * sources beyond process.env (e.g. encrypted secrets DB).
12
- *
13
- * The resolver receives (secretKey, userId) so secrets are resolved per-user.
17
+ * Resolve a credential by name. Callers bind any user/account identity into
18
+ * the closure before passing it in — this module deliberately has no notion
19
+ * of users or storage backends.
14
20
  */
15
- export declare function setSecretResolver(resolver: SecretResolver): void;
16
- export declare function getProvider(providerId: string, userId?: string): Promise<BaseProvider>;
17
- export declare function clearProviderCache(): number;
21
+ export type GetSecret = (key: string) => Promise<string | null | undefined> | string | null | undefined;
22
+ export declare function registerProvider(providerId: string, cls: ProviderConstructor, kwargs?: Record<string, unknown>, optionalKwargs?: Record<string, unknown>, metadata?: Partial<ProviderRegistrationMetadata>): void;
23
+ export declare function getRegisteredProvider(providerId: string): ProviderRegistration | null;
18
24
  export declare function listRegisteredProviderIds(): string[];
25
+ /** Remove a provider from the registry. Returns true if one was removed. */
26
+ export declare function unregisterProvider(providerId: string): boolean;
27
+ /** `process.env[key]`, falling back to the names that vendor's SDK uses. */
28
+ export declare function readCredentialEnv(key: string): string | undefined;
29
+ /** Resolve one credential exactly as provider construction does. */
30
+ export declare function resolveCredentialValue(key: string, getSecret: GetSecret): Promise<string | undefined>;
31
+ /**
32
+ * Build a fresh provider instance, resolving any unset credential kwargs via
33
+ * `getSecret` first, then `process.env` as fallback. The caller owns any
34
+ * caching — instance reuse is a property of a ProcessingContext, not a module
35
+ * global.
36
+ */
37
+ export declare function getProvider(providerId: string, getSecret: GetSecret): Promise<BaseProvider>;
19
38
  /** Get the secret key name required by a provider (e.g. "OPENAI_API_KEY"), or null. */
20
39
  export declare function getProviderSecretKey(providerId: string): string | null;
21
- /** Check if a provider has credentials available for a given user (DB, env, or is local). */
22
- export declare function isProviderConfigured(providerId: string, userId?: string): Promise<boolean>;
40
+ /** Check if a provider's required credentials are resolvable. */
41
+ export declare function isProviderConfigured(providerId: string, getSecret: GetSecret): Promise<boolean>;
23
42
  export {};
24
43
  //# sourceMappingURL=provider-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-registry.d.ts","sourceRoot":"","sources":["../../src/providers/provider-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIvD,UAAU,oBAAoB;IAC5B,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,YAAY,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,KAAK,cAAc,GAAG,CACpB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAOpE,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,YAAY,EACzC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACnC,IAAI,CAEN;AAED,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,GACjB,oBAAoB,GAAG,IAAI,CAE7B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAIhE;AAED,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,MAAM,SAAM,GACX,OAAO,CAAC,YAAY,CAAC,CAoCvB;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAI3C;AAED,wBAAgB,yBAAyB,IAAI,MAAM,EAAE,CAEpD;AAED,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAetE;AAED,6FAA6F;AAC7F,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,MAAM,SAAM,GACX,OAAO,CAAC,OAAO,CAAC,CA6ClB"}
1
+ {"version":3,"file":"provider-registry.d.ts","sourceRoot":"","sources":["../../src/providers/provider-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKvD,gFAAgF;AAChF,KAAK,mBAAmB,GAAG,KACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,YAAY,CAAC;AAElB,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,eAAe,GAAG,YAAY,CAAC;AAE3E,MAAM,WAAW,4BAA4B;IAC3C,4EAA4E;IAC5E,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,mBAAmB,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIhC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,QAAQ,EAAE,4BAA4B,CAAC;CACxC;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,CACtB,GAAG,EAAE,MAAM,KACR,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAIpE,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,mBAAmB,EACxB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACpC,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAC5C,QAAQ,GAAE,OAAO,CAAC,4BAA4B,CAAM,GACnD,IAAI,CAUN;AAED,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,GACjB,oBAAoB,GAAG,IAAI,CAE7B;AAED,wBAAgB,yBAAyB,IAAI,MAAM,EAAE,CAEpD;AAED,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE9D;AAeD,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQjE;AAED,oEAAoE;AACpE,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG7B;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,YAAY,CAAC,CAuCvB;AAED,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAatE;AAED,iEAAiE;AACjE,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,OAAO,CAAC,CA+BlB"}