@nodetool-ai/runtime 0.7.0-rc.23 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (713) 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 +982 -127
  24. package/dist/context.d.ts.map +1 -1
  25. package/dist/context.js +2649 -530
  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 +75 -0
  44. package/dist/generation-registry.d.ts.map +1 -0
  45. package/dist/generation-registry.js +144 -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 +352 -0
  62. package/dist/host-binaries.js.map +1 -0
  63. package/dist/image-codec.d.ts +76 -0
  64. package/dist/image-codec.d.ts.map +1 -0
  65. package/dist/image-codec.js +293 -0
  66. package/dist/image-codec.js.map +1 -0
  67. package/dist/image-model-tasks.d.ts +15 -0
  68. package/dist/image-model-tasks.d.ts.map +1 -0
  69. package/dist/image-model-tasks.js +24 -0
  70. package/dist/image-model-tasks.js.map +1 -0
  71. package/dist/index.d.ts +67 -6
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +51 -4
  74. package/dist/index.js.map +1 -1
  75. package/dist/invocation-account.d.ts +43 -0
  76. package/dist/invocation-account.d.ts.map +1 -0
  77. package/dist/invocation-account.js +60 -0
  78. package/dist/invocation-account.js.map +1 -0
  79. package/dist/media-ref-bytes.d.ts +35 -0
  80. package/dist/media-ref-bytes.d.ts.map +1 -0
  81. package/dist/media-ref-bytes.js +191 -0
  82. package/dist/media-ref-bytes.js.map +1 -0
  83. package/dist/node-executor.d.ts +119 -2
  84. package/dist/node-executor.d.ts.map +1 -1
  85. package/dist/permission-gate.d.ts +152 -0
  86. package/dist/permission-gate.d.ts.map +1 -0
  87. package/dist/permission-gate.js +87 -0
  88. package/dist/permission-gate.js.map +1 -0
  89. package/dist/prefixed-storage-adapter.d.ts +33 -0
  90. package/dist/prefixed-storage-adapter.d.ts.map +1 -0
  91. package/dist/prefixed-storage-adapter.js +70 -0
  92. package/dist/prefixed-storage-adapter.js.map +1 -0
  93. package/dist/prompt-asset-refs.d.ts +222 -0
  94. package/dist/prompt-asset-refs.d.ts.map +1 -0
  95. package/dist/prompt-asset-refs.js +751 -0
  96. package/dist/prompt-asset-refs.js.map +1 -0
  97. package/dist/provider-cache.d.ts +3 -0
  98. package/dist/provider-cache.d.ts.map +1 -0
  99. package/dist/provider-cache.js +8 -0
  100. package/dist/provider-cache.js.map +1 -0
  101. package/dist/providers/aki-provider.d.ts +35 -10
  102. package/dist/providers/aki-provider.d.ts.map +1 -1
  103. package/dist/providers/aki-provider.js +90 -77
  104. package/dist/providers/aki-provider.js.map +1 -1
  105. package/dist/providers/alibaba-provider.d.ts +39 -0
  106. package/dist/providers/alibaba-provider.d.ts.map +1 -0
  107. package/dist/providers/alibaba-provider.js +86 -0
  108. package/dist/providers/alibaba-provider.js.map +1 -0
  109. package/dist/providers/anthropic-provider.d.ts +52 -3
  110. package/dist/providers/anthropic-provider.d.ts.map +1 -1
  111. package/dist/providers/anthropic-provider.js +1020 -338
  112. package/dist/providers/anthropic-provider.js.map +1 -1
  113. package/dist/providers/atlascloud-provider.d.ts +103 -0
  114. package/dist/providers/atlascloud-provider.d.ts.map +1 -0
  115. package/dist/providers/atlascloud-provider.js +1031 -0
  116. package/dist/providers/atlascloud-provider.js.map +1 -0
  117. package/dist/providers/atlascloud-transport.d.ts +100 -0
  118. package/dist/providers/atlascloud-transport.d.ts.map +1 -0
  119. package/dist/providers/atlascloud-transport.js +364 -0
  120. package/dist/providers/atlascloud-transport.js.map +1 -0
  121. package/dist/providers/atlascloud-webhook-registry.d.ts +35 -0
  122. package/dist/providers/atlascloud-webhook-registry.d.ts.map +1 -0
  123. package/dist/providers/atlascloud-webhook-registry.js +104 -0
  124. package/dist/providers/atlascloud-webhook-registry.js.map +1 -0
  125. package/dist/providers/audio-mime.d.ts +11 -0
  126. package/dist/providers/audio-mime.d.ts.map +1 -0
  127. package/dist/providers/audio-mime.js +46 -0
  128. package/dist/providers/audio-mime.js.map +1 -0
  129. package/dist/providers/base-provider.d.ts +501 -32
  130. package/dist/providers/base-provider.d.ts.map +1 -1
  131. package/dist/providers/base-provider.js +1280 -87
  132. package/dist/providers/base-provider.js.map +1 -1
  133. package/dist/providers/cassette-provider.d.ts +217 -0
  134. package/dist/providers/cassette-provider.d.ts.map +1 -0
  135. package/dist/providers/cassette-provider.js +502 -0
  136. package/dist/providers/cassette-provider.js.map +1 -0
  137. package/dist/providers/cerebras-provider.d.ts +6 -12
  138. package/dist/providers/cerebras-provider.d.ts.map +1 -1
  139. package/dist/providers/cerebras-provider.js +8 -33
  140. package/dist/providers/cerebras-provider.js.map +1 -1
  141. package/dist/providers/claude-agent-provider.d.ts +107 -74
  142. package/dist/providers/claude-agent-provider.d.ts.map +1 -1
  143. package/dist/providers/claude-agent-provider.js +1279 -517
  144. package/dist/providers/claude-agent-provider.js.map +1 -1
  145. package/dist/providers/codex-provider.d.ts +84 -0
  146. package/dist/providers/codex-provider.d.ts.map +1 -0
  147. package/dist/providers/codex-provider.js +505 -0
  148. package/dist/providers/codex-provider.js.map +1 -0
  149. package/dist/providers/cohere-provider.d.ts +7 -3
  150. package/dist/providers/cohere-provider.d.ts.map +1 -1
  151. package/dist/providers/cohere-provider.js +14 -2
  152. package/dist/providers/cohere-provider.js.map +1 -1
  153. package/dist/providers/comfy-cloud-provider.d.ts +30 -0
  154. package/dist/providers/comfy-cloud-provider.d.ts.map +1 -0
  155. package/dist/providers/comfy-cloud-provider.js +42 -0
  156. package/dist/providers/comfy-cloud-provider.js.map +1 -0
  157. package/dist/providers/content-filter.d.ts +46 -0
  158. package/dist/providers/content-filter.d.ts.map +1 -0
  159. package/dist/providers/content-filter.js +92 -0
  160. package/dist/providers/content-filter.js.map +1 -0
  161. package/dist/providers/context-exceeded.d.ts +37 -0
  162. package/dist/providers/context-exceeded.d.ts.map +1 -0
  163. package/dist/providers/context-exceeded.js +114 -0
  164. package/dist/providers/context-exceeded.js.map +1 -0
  165. package/dist/providers/context-window.d.ts +44 -0
  166. package/dist/providers/context-window.d.ts.map +1 -0
  167. package/dist/providers/context-window.js +145 -0
  168. package/dist/providers/context-window.js.map +1 -0
  169. package/dist/providers/contract/index.d.ts +4 -0
  170. package/dist/providers/contract/index.d.ts.map +1 -0
  171. package/dist/providers/contract/index.js +4 -0
  172. package/dist/providers/contract/index.js.map +1 -0
  173. package/dist/providers/contract/probe-manifest.d.ts +75 -0
  174. package/dist/providers/contract/probe-manifest.d.ts.map +1 -0
  175. package/dist/providers/contract/probe-manifest.js +379 -0
  176. package/dist/providers/contract/probe-manifest.js.map +1 -0
  177. package/dist/providers/contract/probe-runner.d.ts +57 -0
  178. package/dist/providers/contract/probe-runner.d.ts.map +1 -0
  179. package/dist/providers/contract/probe-runner.js +180 -0
  180. package/dist/providers/contract/probe-runner.js.map +1 -0
  181. package/dist/providers/contract/redact.d.ts +29 -0
  182. package/dist/providers/contract/redact.d.ts.map +1 -0
  183. package/dist/providers/contract/redact.js +113 -0
  184. package/dist/providers/contract/redact.js.map +1 -0
  185. package/dist/providers/core-tools.d.ts +75 -0
  186. package/dist/providers/core-tools.d.ts.map +1 -0
  187. package/dist/providers/core-tools.js +128 -0
  188. package/dist/providers/core-tools.js.map +1 -0
  189. package/dist/providers/cost-calculator.d.ts +69 -50
  190. package/dist/providers/cost-calculator.d.ts.map +1 -1
  191. package/dist/providers/cost-calculator.js +207 -397
  192. package/dist/providers/cost-calculator.js.map +1 -1
  193. package/dist/providers/credential-check.d.ts +45 -0
  194. package/dist/providers/credential-check.d.ts.map +1 -0
  195. package/dist/providers/credential-check.js +164 -0
  196. package/dist/providers/credential-check.js.map +1 -0
  197. package/dist/providers/custom-model-kinds.d.ts +33 -0
  198. package/dist/providers/custom-model-kinds.d.ts.map +1 -0
  199. package/dist/providers/custom-model-kinds.js +96 -0
  200. package/dist/providers/custom-model-kinds.js.map +1 -0
  201. package/dist/providers/custom-openai-provider.d.ts +83 -0
  202. package/dist/providers/custom-openai-provider.d.ts.map +1 -0
  203. package/dist/providers/custom-openai-provider.js +190 -0
  204. package/dist/providers/custom-openai-provider.js.map +1 -0
  205. package/dist/providers/custom-provider-registry.d.ts +19 -0
  206. package/dist/providers/custom-provider-registry.d.ts.map +1 -0
  207. package/dist/providers/custom-provider-registry.js +52 -0
  208. package/dist/providers/custom-provider-registry.js.map +1 -0
  209. package/dist/providers/deepseek-provider.d.ts +8 -14
  210. package/dist/providers/deepseek-provider.d.ts.map +1 -1
  211. package/dist/providers/deepseek-provider.js +6 -35
  212. package/dist/providers/deepseek-provider.js.map +1 -1
  213. package/dist/providers/defaults.d.ts +12 -0
  214. package/dist/providers/defaults.d.ts.map +1 -0
  215. package/dist/providers/defaults.js +12 -0
  216. package/dist/providers/defaults.js.map +1 -0
  217. package/dist/providers/dreamina-models.d.ts +5 -0
  218. package/dist/providers/dreamina-models.d.ts.map +1 -0
  219. package/dist/providers/dreamina-models.js +57 -0
  220. package/dist/providers/dreamina-models.js.map +1 -0
  221. package/dist/providers/dreamina-music.d.ts +52 -0
  222. package/dist/providers/dreamina-music.d.ts.map +1 -0
  223. package/dist/providers/dreamina-music.js +115 -0
  224. package/dist/providers/dreamina-music.js.map +1 -0
  225. package/dist/providers/dreamina-provider.d.ts +62 -0
  226. package/dist/providers/dreamina-provider.d.ts.map +1 -0
  227. package/dist/providers/dreamina-provider.js +790 -0
  228. package/dist/providers/dreamina-provider.js.map +1 -0
  229. package/dist/providers/elevenlabs-provider.d.ts +50 -0
  230. package/dist/providers/elevenlabs-provider.d.ts.map +1 -0
  231. package/dist/providers/elevenlabs-provider.js +147 -0
  232. package/dist/providers/elevenlabs-provider.js.map +1 -0
  233. package/dist/providers/entity-references.d.ts +31 -0
  234. package/dist/providers/entity-references.d.ts.map +1 -0
  235. package/dist/providers/entity-references.js +113 -0
  236. package/dist/providers/entity-references.js.map +1 -0
  237. package/dist/providers/evolink-provider.d.ts +40 -0
  238. package/dist/providers/evolink-provider.d.ts.map +1 -0
  239. package/dist/providers/evolink-provider.js +312 -0
  240. package/dist/providers/evolink-provider.js.map +1 -0
  241. package/dist/providers/fake-provider.d.ts +74 -2
  242. package/dist/providers/fake-provider.d.ts.map +1 -1
  243. package/dist/providers/fake-provider.js +213 -1
  244. package/dist/providers/fake-provider.js.map +1 -1
  245. package/dist/providers/fal-generations.d.ts +106 -0
  246. package/dist/providers/fal-generations.d.ts.map +1 -0
  247. package/dist/providers/fal-generations.js +286 -0
  248. package/dist/providers/fal-generations.js.map +1 -0
  249. package/dist/providers/fal-provider.d.ts +173 -8
  250. package/dist/providers/fal-provider.d.ts.map +1 -1
  251. package/dist/providers/fal-provider.js +1396 -64
  252. package/dist/providers/fal-provider.js.map +1 -1
  253. package/dist/providers/fal-queue.d.ts +47 -0
  254. package/dist/providers/fal-queue.d.ts.map +1 -0
  255. package/dist/providers/fal-queue.js +231 -0
  256. package/dist/providers/fal-queue.js.map +1 -0
  257. package/dist/providers/gemini-provider.d.ts +150 -9
  258. package/dist/providers/gemini-provider.d.ts.map +1 -1
  259. package/dist/providers/gemini-provider.js +1515 -316
  260. package/dist/providers/gemini-provider.js.map +1 -1
  261. package/dist/providers/gmi-provider.d.ts +21 -0
  262. package/dist/providers/gmi-provider.d.ts.map +1 -0
  263. package/dist/providers/gmi-provider.js +34 -0
  264. package/dist/providers/gmi-provider.js.map +1 -0
  265. package/dist/providers/gpt-image-size.d.ts +3 -0
  266. package/dist/providers/gpt-image-size.d.ts.map +1 -0
  267. package/dist/providers/gpt-image-size.js +37 -0
  268. package/dist/providers/gpt-image-size.js.map +1 -0
  269. package/dist/providers/groq-provider.d.ts +9 -12
  270. package/dist/providers/groq-provider.d.ts.map +1 -1
  271. package/dist/providers/groq-provider.js +19 -33
  272. package/dist/providers/groq-provider.js.map +1 -1
  273. package/dist/providers/groq-request.d.ts +38 -0
  274. package/dist/providers/groq-request.d.ts.map +1 -0
  275. package/dist/providers/groq-request.js +138 -0
  276. package/dist/providers/groq-request.js.map +1 -0
  277. package/dist/providers/higgsfield-provider.d.ts +31 -0
  278. package/dist/providers/higgsfield-provider.d.ts.map +1 -0
  279. package/dist/providers/higgsfield-provider.js +143 -0
  280. package/dist/providers/higgsfield-provider.js.map +1 -0
  281. package/dist/providers/higgsfield-transport.d.ts +106 -0
  282. package/dist/providers/higgsfield-transport.d.ts.map +1 -0
  283. package/dist/providers/higgsfield-transport.js +182 -0
  284. package/dist/providers/higgsfield-transport.js.map +1 -0
  285. package/dist/providers/http-transport.d.ts +74 -0
  286. package/dist/providers/http-transport.d.ts.map +1 -0
  287. package/dist/providers/http-transport.js +152 -0
  288. package/dist/providers/http-transport.js.map +1 -0
  289. package/dist/providers/huggingface-provider.d.ts +73 -4
  290. package/dist/providers/huggingface-provider.d.ts.map +1 -1
  291. package/dist/providers/huggingface-provider.js +240 -34
  292. package/dist/providers/huggingface-provider.js.map +1 -1
  293. package/dist/providers/image-mime.d.ts +39 -0
  294. package/dist/providers/image-mime.d.ts.map +1 -0
  295. package/dist/providers/image-mime.js +111 -0
  296. package/dist/providers/image-mime.js.map +1 -0
  297. package/dist/providers/image-ref.d.ts +21 -0
  298. package/dist/providers/image-ref.d.ts.map +1 -0
  299. package/dist/providers/image-ref.js +44 -0
  300. package/dist/providers/image-ref.js.map +1 -0
  301. package/dist/providers/index.d.ts +87 -8
  302. package/dist/providers/index.d.ts.map +1 -1
  303. package/dist/providers/index.js +250 -56
  304. package/dist/providers/index.js.map +1 -1
  305. package/dist/providers/jina-provider.d.ts +12 -3
  306. package/dist/providers/jina-provider.d.ts.map +1 -1
  307. package/dist/providers/jina-provider.js +21 -7
  308. package/dist/providers/jina-provider.js.map +1 -1
  309. package/dist/providers/kie-provider.d.ts +172 -10
  310. package/dist/providers/kie-provider.d.ts.map +1 -1
  311. package/dist/providers/kie-provider.js +1190 -228
  312. package/dist/providers/kie-provider.js.map +1 -1
  313. package/dist/providers/kie-webhook-registry.d.ts +28 -0
  314. package/dist/providers/kie-webhook-registry.d.ts.map +1 -0
  315. package/dist/providers/kie-webhook-registry.js +91 -0
  316. package/dist/providers/kie-webhook-registry.js.map +1 -0
  317. package/dist/providers/llama-provider.d.ts +23 -36
  318. package/dist/providers/llama-provider.d.ts.map +1 -1
  319. package/dist/providers/llama-provider.js +50 -355
  320. package/dist/providers/llama-provider.js.map +1 -1
  321. package/dist/providers/lmstudio-provider.d.ts +4 -7
  322. package/dist/providers/lmstudio-provider.d.ts.map +1 -1
  323. package/dist/providers/lmstudio-provider.js +24 -15
  324. package/dist/providers/lmstudio-provider.js.map +1 -1
  325. package/dist/providers/loop-tracing.d.ts +17 -0
  326. package/dist/providers/loop-tracing.d.ts.map +1 -0
  327. package/dist/providers/loop-tracing.js +132 -0
  328. package/dist/providers/loop-tracing.js.map +1 -0
  329. package/dist/providers/manifest-models.d.ts +341 -1
  330. package/dist/providers/manifest-models.d.ts.map +1 -1
  331. package/dist/providers/manifest-models.js +1106 -22
  332. package/dist/providers/manifest-models.js.map +1 -1
  333. package/dist/providers/media-mime.d.ts +14 -0
  334. package/dist/providers/media-mime.d.ts.map +1 -0
  335. package/dist/providers/media-mime.js +35 -0
  336. package/dist/providers/media-mime.js.map +1 -0
  337. package/dist/providers/meshy-provider.d.ts +16 -2
  338. package/dist/providers/meshy-provider.d.ts.map +1 -1
  339. package/dist/providers/meshy-provider.js +82 -46
  340. package/dist/providers/meshy-provider.js.map +1 -1
  341. package/dist/providers/meta-provider.d.ts +22 -0
  342. package/dist/providers/meta-provider.d.ts.map +1 -0
  343. package/dist/providers/meta-provider.js +54 -0
  344. package/dist/providers/meta-provider.js.map +1 -0
  345. package/dist/providers/minimax-provider.d.ts +27 -18
  346. package/dist/providers/minimax-provider.d.ts.map +1 -1
  347. package/dist/providers/minimax-provider.js +222 -72
  348. package/dist/providers/minimax-provider.js.map +1 -1
  349. package/dist/providers/mistral-provider.d.ts +8 -12
  350. package/dist/providers/mistral-provider.d.ts.map +1 -1
  351. package/dist/providers/mistral-provider.js +15 -34
  352. package/dist/providers/mistral-provider.js.map +1 -1
  353. package/dist/providers/moonshot-provider.d.ts +11 -15
  354. package/dist/providers/moonshot-provider.d.ts.map +1 -1
  355. package/dist/providers/moonshot-provider.js +33 -23
  356. package/dist/providers/moonshot-provider.js.map +1 -1
  357. package/dist/providers/node-llama-cpp-provider.d.ts +99 -0
  358. package/dist/providers/node-llama-cpp-provider.d.ts.map +1 -0
  359. package/dist/providers/node-llama-cpp-provider.js +484 -0
  360. package/dist/providers/node-llama-cpp-provider.js.map +1 -0
  361. package/dist/providers/nodetool-provider.d.ts +49 -0
  362. package/dist/providers/nodetool-provider.d.ts.map +1 -0
  363. package/dist/providers/nodetool-provider.js +222 -0
  364. package/dist/providers/nodetool-provider.js.map +1 -0
  365. package/dist/providers/oauth/browser-launcher.d.ts +23 -0
  366. package/dist/providers/oauth/browser-launcher.d.ts.map +1 -0
  367. package/dist/providers/oauth/browser-launcher.js +45 -0
  368. package/dist/providers/oauth/browser-launcher.js.map +1 -0
  369. package/dist/providers/oauth/claude-code-credentials.d.ts +74 -0
  370. package/dist/providers/oauth/claude-code-credentials.d.ts.map +1 -0
  371. package/dist/providers/oauth/claude-code-credentials.js +133 -0
  372. package/dist/providers/oauth/claude-code-credentials.js.map +1 -0
  373. package/dist/providers/oauth/claude-code-login.d.ts +124 -0
  374. package/dist/providers/oauth/claude-code-login.d.ts.map +1 -0
  375. package/dist/providers/oauth/claude-code-login.js +230 -0
  376. package/dist/providers/oauth/claude-code-login.js.map +1 -0
  377. package/dist/providers/oauth/claude-code-oauth-client.d.ts +111 -0
  378. package/dist/providers/oauth/claude-code-oauth-client.d.ts.map +1 -0
  379. package/dist/providers/oauth/claude-code-oauth-client.js +207 -0
  380. package/dist/providers/oauth/claude-code-oauth-client.js.map +1 -0
  381. package/dist/providers/oauth/errors.d.ts +54 -0
  382. package/dist/providers/oauth/errors.d.ts.map +1 -0
  383. package/dist/providers/oauth/errors.js +79 -0
  384. package/dist/providers/oauth/errors.js.map +1 -0
  385. package/dist/providers/oauth/index.d.ts +105 -0
  386. package/dist/providers/oauth/index.d.ts.map +1 -0
  387. package/dist/providers/oauth/index.js +167 -0
  388. package/dist/providers/oauth/index.js.map +1 -0
  389. package/dist/providers/oauth/jwt-claims.d.ts +23 -0
  390. package/dist/providers/oauth/jwt-claims.d.ts.map +1 -0
  391. package/dist/providers/oauth/jwt-claims.js +67 -0
  392. package/dist/providers/oauth/jwt-claims.js.map +1 -0
  393. package/dist/providers/oauth/local-callback-server.d.ts +60 -0
  394. package/dist/providers/oauth/local-callback-server.d.ts.map +1 -0
  395. package/dist/providers/oauth/local-callback-server.js +148 -0
  396. package/dist/providers/oauth/local-callback-server.js.map +1 -0
  397. package/dist/providers/oauth/oauth-client.d.ts +55 -0
  398. package/dist/providers/oauth/oauth-client.d.ts.map +1 -0
  399. package/dist/providers/oauth/oauth-client.js +161 -0
  400. package/dist/providers/oauth/oauth-client.js.map +1 -0
  401. package/dist/providers/oauth/openai-oauth-provider.d.ts +129 -0
  402. package/dist/providers/oauth/openai-oauth-provider.d.ts.map +1 -0
  403. package/dist/providers/oauth/openai-oauth-provider.js +265 -0
  404. package/dist/providers/oauth/openai-oauth-provider.js.map +1 -0
  405. package/dist/providers/oauth/pkce-helper.d.ts +43 -0
  406. package/dist/providers/oauth/pkce-helper.d.ts.map +1 -0
  407. package/dist/providers/oauth/pkce-helper.js +57 -0
  408. package/dist/providers/oauth/pkce-helper.js.map +1 -0
  409. package/dist/providers/oauth/redaction.d.ts +22 -0
  410. package/dist/providers/oauth/redaction.d.ts.map +1 -0
  411. package/dist/providers/oauth/redaction.js +59 -0
  412. package/dist/providers/oauth/redaction.js.map +1 -0
  413. package/dist/providers/oauth/secure-credential-store.d.ts +67 -0
  414. package/dist/providers/oauth/secure-credential-store.d.ts.map +1 -0
  415. package/dist/providers/oauth/secure-credential-store.js +73 -0
  416. package/dist/providers/oauth/secure-credential-store.js.map +1 -0
  417. package/dist/providers/oauth/token-store.d.ts +53 -0
  418. package/dist/providers/oauth/token-store.d.ts.map +1 -0
  419. package/dist/providers/oauth/token-store.js +78 -0
  420. package/dist/providers/oauth/token-store.js.map +1 -0
  421. package/dist/providers/oauth/types.d.ts +64 -0
  422. package/dist/providers/oauth/types.d.ts.map +1 -0
  423. package/dist/providers/oauth/types.js +12 -0
  424. package/dist/providers/oauth/types.js.map +1 -0
  425. package/dist/providers/object-tracking.d.ts +47 -0
  426. package/dist/providers/object-tracking.d.ts.map +1 -0
  427. package/dist/providers/object-tracking.js +46 -0
  428. package/dist/providers/object-tracking.js.map +1 -0
  429. package/dist/providers/offline-model-index.d.ts +20 -0
  430. package/dist/providers/offline-model-index.d.ts.map +1 -0
  431. package/dist/providers/offline-model-index.js +112 -0
  432. package/dist/providers/offline-model-index.js.map +1 -0
  433. package/dist/providers/ollama-provider.d.ts +30 -2
  434. package/dist/providers/ollama-provider.d.ts.map +1 -1
  435. package/dist/providers/ollama-provider.js +198 -43
  436. package/dist/providers/ollama-provider.js.map +1 -1
  437. package/dist/providers/openai-compat/client.d.ts +57 -0
  438. package/dist/providers/openai-compat/client.d.ts.map +1 -0
  439. package/dist/providers/openai-compat/client.js +157 -0
  440. package/dist/providers/openai-compat/client.js.map +1 -0
  441. package/dist/providers/openai-compat/decode.d.ts +36 -0
  442. package/dist/providers/openai-compat/decode.d.ts.map +1 -0
  443. package/dist/providers/openai-compat/decode.js +55 -0
  444. package/dist/providers/openai-compat/decode.js.map +1 -0
  445. package/dist/providers/openai-compat/errors.d.ts +54 -0
  446. package/dist/providers/openai-compat/errors.d.ts.map +1 -0
  447. package/dist/providers/openai-compat/errors.js +144 -0
  448. package/dist/providers/openai-compat/errors.js.map +1 -0
  449. package/dist/providers/openai-compat/index.d.ts +8 -0
  450. package/dist/providers/openai-compat/index.d.ts.map +1 -0
  451. package/dist/providers/openai-compat/index.js +5 -0
  452. package/dist/providers/openai-compat/index.js.map +1 -0
  453. package/dist/providers/openai-compat/sse.d.ts +14 -0
  454. package/dist/providers/openai-compat/sse.d.ts.map +1 -0
  455. package/dist/providers/openai-compat/sse.js +69 -0
  456. package/dist/providers/openai-compat/sse.js.map +1 -0
  457. package/dist/providers/openai-compat/types.d.ts +75 -0
  458. package/dist/providers/openai-compat/types.d.ts.map +1 -0
  459. package/dist/providers/openai-compat/types.js +9 -0
  460. package/dist/providers/openai-compat/types.js.map +1 -0
  461. package/dist/providers/openai-compat-provider.d.ts +90 -0
  462. package/dist/providers/openai-compat-provider.d.ts.map +1 -0
  463. package/dist/providers/openai-compat-provider.js +282 -0
  464. package/dist/providers/openai-compat-provider.js.map +1 -0
  465. package/dist/providers/openai-provider.d.ts +98 -27
  466. package/dist/providers/openai-provider.d.ts.map +1 -1
  467. package/dist/providers/openai-provider.js +1037 -105
  468. package/dist/providers/openai-provider.js.map +1 -1
  469. package/dist/providers/openrouter-provider.d.ts +58 -13
  470. package/dist/providers/openrouter-provider.d.ts.map +1 -1
  471. package/dist/providers/openrouter-provider.js +383 -51
  472. package/dist/providers/openrouter-provider.js.map +1 -1
  473. package/dist/providers/provider-call-failure.d.ts +39 -0
  474. package/dist/providers/provider-call-failure.d.ts.map +1 -0
  475. package/dist/providers/provider-call-failure.js +132 -0
  476. package/dist/providers/provider-call-failure.js.map +1 -0
  477. package/dist/providers/provider-error.d.ts +59 -0
  478. package/dist/providers/provider-error.d.ts.map +1 -0
  479. package/dist/providers/provider-error.js +171 -0
  480. package/dist/providers/provider-error.js.map +1 -0
  481. package/dist/providers/provider-generations.d.ts +99 -0
  482. package/dist/providers/provider-generations.d.ts.map +1 -0
  483. package/dist/providers/provider-generations.js +71 -0
  484. package/dist/providers/provider-generations.js.map +1 -0
  485. package/dist/providers/provider-queue.d.ts +62 -0
  486. package/dist/providers/provider-queue.d.ts.map +1 -0
  487. package/dist/providers/provider-queue.js +28 -0
  488. package/dist/providers/provider-queue.js.map +1 -0
  489. package/dist/providers/provider-registry.d.ts +33 -14
  490. package/dist/providers/provider-registry.d.ts.map +1 -1
  491. package/dist/providers/provider-registry.js +85 -68
  492. package/dist/providers/provider-registry.js.map +1 -1
  493. package/dist/providers/provider-request-log.d.ts +53 -0
  494. package/dist/providers/provider-request-log.d.ts.map +1 -0
  495. package/dist/providers/provider-request-log.js +168 -0
  496. package/dist/providers/provider-request-log.js.map +1 -0
  497. package/dist/providers/provider-session.d.ts +3 -0
  498. package/dist/providers/provider-session.d.ts.map +1 -0
  499. package/dist/providers/provider-session.js +10 -0
  500. package/dist/providers/provider-session.js.map +1 -0
  501. package/dist/providers/provider-transport.d.ts +11 -0
  502. package/dist/providers/provider-transport.d.ts.map +1 -0
  503. package/dist/providers/provider-transport.js +11 -0
  504. package/dist/providers/provider-transport.js.map +1 -0
  505. package/dist/providers/python-provider.d.ts +26 -13
  506. package/dist/providers/python-provider.d.ts.map +1 -1
  507. package/dist/providers/python-provider.js +204 -25
  508. package/dist/providers/python-provider.js.map +1 -1
  509. package/dist/providers/replicate-provider.d.ts +91 -8
  510. package/dist/providers/replicate-provider.d.ts.map +1 -1
  511. package/dist/providers/replicate-provider.js +823 -65
  512. package/dist/providers/replicate-provider.js.map +1 -1
  513. package/dist/providers/replicate-retry.d.ts +30 -0
  514. package/dist/providers/replicate-retry.d.ts.map +1 -0
  515. package/dist/providers/replicate-retry.js +97 -0
  516. package/dist/providers/replicate-retry.js.map +1 -0
  517. package/dist/providers/requesty-provider.d.ts +30 -0
  518. package/dist/providers/requesty-provider.d.ts.map +1 -0
  519. package/dist/providers/requesty-provider.js +87 -0
  520. package/dist/providers/requesty-provider.js.map +1 -0
  521. package/dist/providers/responses-api.d.ts +27 -0
  522. package/dist/providers/responses-api.d.ts.map +1 -0
  523. package/dist/providers/responses-api.js +297 -0
  524. package/dist/providers/responses-api.js.map +1 -0
  525. package/dist/providers/reve-provider.d.ts +46 -0
  526. package/dist/providers/reve-provider.d.ts.map +1 -0
  527. package/dist/providers/reve-provider.js +165 -0
  528. package/dist/providers/reve-provider.js.map +1 -0
  529. package/dist/providers/rodin-provider.d.ts +25 -2
  530. package/dist/providers/rodin-provider.d.ts.map +1 -1
  531. package/dist/providers/rodin-provider.js +95 -51
  532. package/dist/providers/rodin-provider.js.map +1 -1
  533. package/dist/providers/safe-url.d.ts +70 -0
  534. package/dist/providers/safe-url.d.ts.map +1 -0
  535. package/dist/providers/safe-url.js +277 -0
  536. package/dist/providers/safe-url.js.map +1 -0
  537. package/dist/providers/scripted-provider.d.ts +9 -0
  538. package/dist/providers/scripted-provider.d.ts.map +1 -1
  539. package/dist/providers/scripted-provider.js +86 -10
  540. package/dist/providers/scripted-provider.js.map +1 -1
  541. package/dist/providers/structured-output.d.ts +42 -0
  542. package/dist/providers/structured-output.d.ts.map +1 -0
  543. package/dist/providers/structured-output.js +83 -0
  544. package/dist/providers/structured-output.js.map +1 -0
  545. package/dist/providers/together-operations.d.ts +27 -0
  546. package/dist/providers/together-operations.d.ts.map +1 -0
  547. package/dist/providers/together-operations.js +95 -0
  548. package/dist/providers/together-operations.js.map +1 -0
  549. package/dist/providers/together-provider.d.ts +18 -18
  550. package/dist/providers/together-provider.d.ts.map +1 -1
  551. package/dist/providers/together-provider.js +140 -367
  552. package/dist/providers/together-provider.js.map +1 -1
  553. package/dist/providers/topaz-provider.d.ts +45 -0
  554. package/dist/providers/topaz-provider.d.ts.map +1 -0
  555. package/dist/providers/topaz-provider.js +244 -0
  556. package/dist/providers/topaz-provider.js.map +1 -0
  557. package/dist/providers/types.d.ts +641 -4
  558. package/dist/providers/types.d.ts.map +1 -1
  559. package/dist/providers/types.js +81 -1
  560. package/dist/providers/types.js.map +1 -1
  561. package/dist/providers/useapi-provider.d.ts +28 -0
  562. package/dist/providers/useapi-provider.d.ts.map +1 -0
  563. package/dist/providers/useapi-provider.js +274 -0
  564. package/dist/providers/useapi-provider.js.map +1 -0
  565. package/dist/providers/video-duration.d.ts +6 -0
  566. package/dist/providers/video-duration.d.ts.map +1 -0
  567. package/dist/providers/video-duration.js +63 -0
  568. package/dist/providers/video-duration.js.map +1 -0
  569. package/dist/providers/video-frame-fallback.d.ts +39 -0
  570. package/dist/providers/video-frame-fallback.d.ts.map +1 -0
  571. package/dist/providers/video-frame-fallback.js +155 -0
  572. package/dist/providers/video-frame-fallback.js.map +1 -0
  573. package/dist/providers/video-frames.d.ts +61 -0
  574. package/dist/providers/video-frames.d.ts.map +1 -0
  575. package/dist/providers/video-frames.js +208 -0
  576. package/dist/providers/video-frames.js.map +1 -0
  577. package/dist/providers/video-mime.d.ts +14 -0
  578. package/dist/providers/video-mime.d.ts.map +1 -0
  579. package/dist/providers/video-mime.js +44 -0
  580. package/dist/providers/video-mime.js.map +1 -0
  581. package/dist/providers/video-to-audio.d.ts +34 -0
  582. package/dist/providers/video-to-audio.d.ts.map +1 -0
  583. package/dist/providers/video-to-audio.js +62 -0
  584. package/dist/providers/video-to-audio.js.map +1 -0
  585. package/dist/providers/vllm-provider.d.ts +20 -8
  586. package/dist/providers/vllm-provider.d.ts.map +1 -1
  587. package/dist/providers/vllm-provider.js +44 -23
  588. package/dist/providers/vllm-provider.js.map +1 -1
  589. package/dist/providers/voyage-provider.d.ts +12 -3
  590. package/dist/providers/voyage-provider.d.ts.map +1 -1
  591. package/dist/providers/voyage-provider.js +21 -7
  592. package/dist/providers/voyage-provider.js.map +1 -1
  593. package/dist/providers/xai-provider.d.ts +56 -13
  594. package/dist/providers/xai-provider.d.ts.map +1 -1
  595. package/dist/providers/xai-provider.js +307 -22
  596. package/dist/providers/xai-provider.js.map +1 -1
  597. package/dist/python-bridge-base.d.ts +358 -0
  598. package/dist/python-bridge-base.d.ts.map +1 -0
  599. package/dist/python-bridge-base.js +1557 -0
  600. package/dist/python-bridge-base.js.map +1 -0
  601. package/dist/python-bridge-codec.d.ts +28 -0
  602. package/dist/python-bridge-codec.d.ts.map +1 -0
  603. package/dist/python-bridge-codec.js +39 -0
  604. package/dist/python-bridge-codec.js.map +1 -0
  605. package/dist/python-bridge-factory.d.ts +52 -0
  606. package/dist/python-bridge-factory.d.ts.map +1 -0
  607. package/dist/python-bridge-factory.js +69 -0
  608. package/dist/python-bridge-factory.js.map +1 -0
  609. package/dist/python-bridge-framing.d.ts +68 -0
  610. package/dist/python-bridge-framing.d.ts.map +1 -0
  611. package/dist/python-bridge-framing.js +91 -0
  612. package/dist/python-bridge-framing.js.map +1 -0
  613. package/dist/python-bridge-types.d.ts +545 -2
  614. package/dist/python-bridge-types.d.ts.map +1 -1
  615. package/dist/python-bridge-types.js +49 -1
  616. package/dist/python-bridge-types.js.map +1 -1
  617. package/dist/python-graph-resolver.d.ts +57 -0
  618. package/dist/python-graph-resolver.d.ts.map +1 -0
  619. package/dist/python-graph-resolver.js +79 -0
  620. package/dist/python-graph-resolver.js.map +1 -0
  621. package/dist/python-node-executor.d.ts +36 -4
  622. package/dist/python-node-executor.d.ts.map +1 -1
  623. package/dist/python-node-executor.js +177 -86
  624. package/dist/python-node-executor.js.map +1 -1
  625. package/dist/python-stdio-bridge.d.ts +18 -37
  626. package/dist/python-stdio-bridge.d.ts.map +1 -1
  627. package/dist/python-stdio-bridge.js +148 -475
  628. package/dist/python-stdio-bridge.js.map +1 -1
  629. package/dist/python-websocket-bridge.d.ts +140 -0
  630. package/dist/python-websocket-bridge.d.ts.map +1 -0
  631. package/dist/python-websocket-bridge.js +561 -0
  632. package/dist/python-websocket-bridge.js.map +1 -0
  633. package/dist/python-worker-stderr.d.ts +4 -0
  634. package/dist/python-worker-stderr.d.ts.map +1 -0
  635. package/dist/python-worker-stderr.js +24 -0
  636. package/dist/python-worker-stderr.js.map +1 -0
  637. package/dist/recommended-models.d.ts +2 -2
  638. package/dist/recommended-models.d.ts.map +1 -1
  639. package/dist/recommended-models.js +44 -4
  640. package/dist/recommended-models.js.map +1 -1
  641. package/dist/recoverable-node-error.d.ts +31 -0
  642. package/dist/recoverable-node-error.d.ts.map +1 -0
  643. package/dist/recoverable-node-error.js +37 -0
  644. package/dist/recoverable-node-error.js.map +1 -0
  645. package/dist/redact-params.d.ts +13 -0
  646. package/dist/redact-params.d.ts.map +1 -0
  647. package/dist/redact-params.js +57 -0
  648. package/dist/redact-params.js.map +1 -0
  649. package/dist/run-context.d.ts +20 -0
  650. package/dist/run-context.d.ts.map +1 -0
  651. package/dist/run-context.js +18 -0
  652. package/dist/run-context.js.map +1 -0
  653. package/dist/run-trace-context.d.ts +30 -0
  654. package/dist/run-trace-context.d.ts.map +1 -0
  655. package/dist/run-trace-context.js +80 -0
  656. package/dist/run-trace-context.js.map +1 -0
  657. package/dist/run-trace-processor.d.ts +65 -0
  658. package/dist/run-trace-processor.d.ts.map +1 -0
  659. package/dist/run-trace-processor.js +417 -0
  660. package/dist/run-trace-processor.js.map +1 -0
  661. package/dist/run-trace-serialization.d.ts +5 -0
  662. package/dist/run-trace-serialization.d.ts.map +1 -0
  663. package/dist/run-trace-serialization.js +113 -0
  664. package/dist/run-trace-serialization.js.map +1 -0
  665. package/dist/sandbox-module-catalog.d.ts +43 -0
  666. package/dist/sandbox-module-catalog.d.ts.map +1 -0
  667. package/dist/sandbox-module-catalog.js +25 -0
  668. package/dist/sandbox-module-catalog.js.map +1 -0
  669. package/dist/storage-workspace.d.ts +62 -0
  670. package/dist/storage-workspace.d.ts.map +1 -0
  671. package/dist/storage-workspace.js +441 -0
  672. package/dist/storage-workspace.js.map +1 -0
  673. package/dist/swappable-python-bridge.d.ts +83 -0
  674. package/dist/swappable-python-bridge.d.ts.map +1 -0
  675. package/dist/swappable-python-bridge.js +246 -0
  676. package/dist/swappable-python-bridge.js.map +1 -0
  677. package/dist/telemetry.d.ts +16 -3
  678. package/dist/telemetry.d.ts.map +1 -1
  679. package/dist/telemetry.js +76 -20
  680. package/dist/telemetry.js.map +1 -1
  681. package/dist/testing.d.ts +81 -0
  682. package/dist/testing.d.ts.map +1 -0
  683. package/dist/testing.js +130 -0
  684. package/dist/testing.js.map +1 -0
  685. package/dist/token-counter.d.ts +30 -0
  686. package/dist/token-counter.d.ts.map +1 -0
  687. package/dist/token-counter.js +156 -0
  688. package/dist/token-counter.js.map +1 -0
  689. package/dist/trace-exporters.d.ts +11 -28
  690. package/dist/trace-exporters.d.ts.map +1 -1
  691. package/dist/trace-exporters.js +69 -22
  692. package/dist/trace-exporters.js.map +1 -1
  693. package/dist/tracing-helpers.d.ts +60 -26
  694. package/dist/tracing-helpers.d.ts.map +1 -1
  695. package/dist/tracing-helpers.js +100 -25
  696. package/dist/tracing-helpers.js.map +1 -1
  697. package/dist/trim-video-window.d.ts +8 -0
  698. package/dist/trim-video-window.d.ts.map +1 -0
  699. package/dist/trim-video-window.js +50 -0
  700. package/dist/trim-video-window.js.map +1 -0
  701. package/dist/turn-budget.d.ts +278 -0
  702. package/dist/turn-budget.d.ts.map +1 -0
  703. package/dist/turn-budget.js +365 -0
  704. package/dist/turn-budget.js.map +1 -0
  705. package/dist/variable-channel.d.ts +48 -0
  706. package/dist/variable-channel.d.ts.map +1 -0
  707. package/dist/variable-channel.js +110 -0
  708. package/dist/variable-channel.js.map +1 -0
  709. package/dist/workspace.d.ts +119 -0
  710. package/dist/workspace.d.ts.map +1 -0
  711. package/dist/workspace.js +112 -0
  712. package/dist/workspace.js.map +1 -0
  713. package/package.json +121 -19
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Typed error hierarchy for the OAuth subsystem.
3
+ *
4
+ * Every failure mode in the spec maps to a concrete subclass so callers can
5
+ * branch on `instanceof` (or on the stable `code`) rather than string-matching
6
+ * messages. Error messages NEVER contain token material — see `redaction.ts`.
7
+ */
8
+ /** Base class for everything thrown by the OAuth subsystem. */
9
+ export class OAuthError extends Error {
10
+ code;
11
+ constructor(code, message, options) {
12
+ super(message, options);
13
+ this.name = new.target.name;
14
+ this.code = code;
15
+ // Restore prototype chain for transpiled `extends Error`.
16
+ Object.setPrototypeOf(this, new.target.prototype);
17
+ }
18
+ }
19
+ /** The stored refresh token was rejected by the server (invalid_grant). */
20
+ export class InvalidRefreshTokenError extends OAuthError {
21
+ constructor(message = "Refresh token is invalid or expired", options) {
22
+ super("invalid_refresh_token", message, options);
23
+ }
24
+ }
25
+ /** No usable credentials in the store / access token expired with no refresh. */
26
+ export class SessionExpiredError extends OAuthError {
27
+ constructor(message = "Session expired; re-authentication required", options) {
28
+ super("session_expired", message, options);
29
+ }
30
+ }
31
+ /** The default browser could not be launched for the authorization request. */
32
+ export class BrowserLaunchError extends OAuthError {
33
+ constructor(message = "Failed to open the browser for authentication", options) {
34
+ super("browser_launch_failed", message, options);
35
+ }
36
+ }
37
+ /** The user did not complete the browser flow within the allotted time. */
38
+ export class CallbackTimeoutError extends OAuthError {
39
+ constructor(message = "Timed out waiting for the OAuth callback", options) {
40
+ super("callback_timeout", message, options);
41
+ }
42
+ }
43
+ /** A network-level failure (DNS, TLS, connection reset) talking to the server. */
44
+ export class OAuthNetworkError extends OAuthError {
45
+ constructor(message = "Network error during OAuth request", options) {
46
+ super("network_error", message, options);
47
+ }
48
+ }
49
+ /** The credentials were revoked server-side (access_denied / revoked grant). */
50
+ export class CredentialsRevokedError extends OAuthError {
51
+ constructor(message = "Credentials were revoked", options) {
52
+ super("credentials_revoked", message, options);
53
+ }
54
+ }
55
+ /** CSRF guard: the `state` returned to the callback did not match. */
56
+ export class StateMismatchError extends OAuthError {
57
+ constructor(message = "OAuth state mismatch — possible CSRF", options) {
58
+ super("state_mismatch", message, options);
59
+ }
60
+ }
61
+ /** The user denied the authorization request in the browser. */
62
+ export class AuthorizationDeniedError extends OAuthError {
63
+ constructor(message = "Authorization was denied", options) {
64
+ super("authorization_denied", message, options);
65
+ }
66
+ }
67
+ /** The authorization-code → token exchange failed for a non-network reason. */
68
+ export class TokenExchangeError extends OAuthError {
69
+ constructor(message = "Failed to exchange authorization code for tokens", options) {
70
+ super("token_exchange_failed", message, options);
71
+ }
72
+ }
73
+ /** A request requiring authentication was made before login completed. */
74
+ export class NotAuthenticatedError extends OAuthError {
75
+ constructor(message = "Not authenticated; call login() first", options) {
76
+ super("not_authenticated", message, options);
77
+ }
78
+ }
79
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/providers/oauth/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH,+DAA+D;AAC/D,MAAM,OAAO,UAAW,SAAQ,KAAK;IAC1B,IAAI,CAAiB;IAE9B,YAAY,IAAoB,EAAE,OAAe,EAAE,OAAsB;QACvE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,0DAA0D;QAC1D,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED,2EAA2E;AAC3E,MAAM,OAAO,wBAAyB,SAAQ,UAAU;IACtD,YAAY,OAAO,GAAG,qCAAqC,EAAE,OAAsB;QACjF,KAAK,CAAC,uBAAuB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;CACF;AAED,iFAAiF;AACjF,MAAM,OAAO,mBAAoB,SAAQ,UAAU;IACjD,YAAY,OAAO,GAAG,6CAA6C,EAAE,OAAsB;QACzF,KAAK,CAAC,iBAAiB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;CACF;AAED,+EAA+E;AAC/E,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAChD,YAAY,OAAO,GAAG,+CAA+C,EAAE,OAAsB;QAC3F,KAAK,CAAC,uBAAuB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;CACF;AAED,2EAA2E;AAC3E,MAAM,OAAO,oBAAqB,SAAQ,UAAU;IAClD,YAAY,OAAO,GAAG,0CAA0C,EAAE,OAAsB;QACtF,KAAK,CAAC,kBAAkB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;CACF;AAED,kFAAkF;AAClF,MAAM,OAAO,iBAAkB,SAAQ,UAAU;IAC/C,YAAY,OAAO,GAAG,oCAAoC,EAAE,OAAsB;QAChF,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;CACF;AAED,gFAAgF;AAChF,MAAM,OAAO,uBAAwB,SAAQ,UAAU;IACrD,YAAY,OAAO,GAAG,0BAA0B,EAAE,OAAsB;QACtE,KAAK,CAAC,qBAAqB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;CACF;AAED,sEAAsE;AACtE,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAChD,YAAY,OAAO,GAAG,sCAAsC,EAAE,OAAsB;QAClF,KAAK,CAAC,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF;AAED,gEAAgE;AAChE,MAAM,OAAO,wBAAyB,SAAQ,UAAU;IACtD,YAAY,OAAO,GAAG,0BAA0B,EAAE,OAAsB;QACtE,KAAK,CAAC,sBAAsB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;CACF;AAED,+EAA+E;AAC/E,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAChD,YAAY,OAAO,GAAG,kDAAkD,EAAE,OAAsB;QAC9F,KAAK,CAAC,uBAAuB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;CACF;AAED,0EAA0E;AAC1E,MAAM,OAAO,qBAAsB,SAAQ,UAAU;IACnD,YAAY,OAAO,GAAG,uCAAuC,EAAE,OAAsB;QACnF,KAAK,CAAC,mBAAmB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;CACF"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * OpenAI OAuth subsystem — public surface.
3
+ *
4
+ * Layers (each depends only on the one below, via interfaces):
5
+ *
6
+ * OpenAIOAuthProvider orchestration + OpenAI capability inheritance
7
+ * ├─ OAuthClient OAuth 2.0 protocol (PKCE code exchange/refresh)
8
+ * ├─ PKCEHelper PKCE + CSRF-state generation
9
+ * ├─ LocalCallbackServer localhost redirect receiver
10
+ * ├─ BrowserLauncher opens the system browser
11
+ * └─ TokenStore token persistence
12
+ * └─ SecureCredentialStore opaque secret persistence (OS keychain)
13
+ *
14
+ * `createOpenAIOAuthProvider` wires production defaults; every collaborator can
15
+ * be overridden for testing or alternate hosts.
16
+ */
17
+ import { type Logger } from "@nodetool-ai/config";
18
+ import { CODEX_OAUTH_CLIENT_ID, CODEX_BACKEND_BASE_URL, CODEX_CALLBACK_PORT, CODEX_CALLBACK_PATH } from "@nodetool-ai/protocol";
19
+ import { type BrowserLauncher } from "./browser-launcher.js";
20
+ import { type SecureCredentialStore } from "./secure-credential-store.js";
21
+ import { type TokenStore } from "./token-store.js";
22
+ import { OpenAIOAuthProvider } from "./openai-oauth-provider.js";
23
+ import type { OAuthClientConfig } from "./types.js";
24
+ export * from "./types.js";
25
+ export * from "./errors.js";
26
+ export { decodeJwtPayload, extractChatGptAccountId } from "./jwt-claims.js";
27
+ export { redactToken, redactObject } from "./redaction.js";
28
+ export { PKCEHelper, nodeRandomSource, type RandomSource } from "./pkce-helper.js";
29
+ export { OAuthClient, type OAuthClientOptions, type FetchLike } from "./oauth-client.js";
30
+ export { LocalCallbackServer, type LocalCallbackServerOptions, type WaitForCodeOptions } from "./local-callback-server.js";
31
+ export { DefaultBrowserLauncher, type BrowserLauncher } from "./browser-launcher.js";
32
+ export { KeychainSecureCredentialStore, InMemorySecureCredentialStore, type SecureCredentialStore, type KeyringBackend } from "./secure-credential-store.js";
33
+ export { SecureTokenStore, InMemoryTokenStore, type TokenStore } from "./token-store.js";
34
+ export { OpenAIOAuthProvider, type OpenAIOAuthProviderOptions, type LoginOptions } from "./openai-oauth-provider.js";
35
+ export { ClaudeCodeOAuthClient, type AuthorizationUrlOptions, type ClaudeCodeLoginMethod, type ClaudeCodeProfile, type ClaudeCodeTokenAccount, type ClaudeCodeTokens, type JsonFetchLike } from "./claude-code-oauth-client.js";
36
+ export { ClaudeCodeCredentialsStore, claudeConfigDir, isExpired as areClaudeCredentialsExpired, type ClaudeAiOAuthCredentials } from "./claude-code-credentials.js";
37
+ export { ClaudeCodeLogin, parsePastedCode, CLAUDE_LOGIN_TIMEOUT_MS, type ClaudeCodeAuthStatus, type ClaudeCodeLoginDeps, type ClaudeCodeLoginOptions, type PendingClaudeCodeLogin } from "./claude-code-login.js";
38
+ /**
39
+ * Default OAuth endpoints for OpenAI. These are configuration, not contracts —
40
+ * override them via `createOpenAIOAuthProvider({ oauthConfig })` if OpenAI's
41
+ * published endpoints differ for your tenant.
42
+ */
43
+ export declare const DEFAULT_OPENAI_OAUTH_CONFIG: Omit<OAuthClientConfig, "clientId">;
44
+ export interface CreateOpenAIOAuthProviderOptions {
45
+ /** OAuth client id registered with OpenAI. */
46
+ readonly clientId: string;
47
+ /** Account identifier used to namespace stored tokens (e.g. user id). */
48
+ readonly accountId?: string;
49
+ /** Override any part of the OAuth endpoint config. */
50
+ readonly oauthConfig?: Partial<OAuthClientConfig>;
51
+ /** Override token persistence (defaults to OS keychain). */
52
+ readonly tokenStore?: TokenStore;
53
+ /** Override the secret backend used by the default token store. */
54
+ readonly credentialStore?: SecureCredentialStore;
55
+ /** Override the browser launcher. */
56
+ readonly browserLauncher?: BrowserLauncher;
57
+ /** Fixed callback port/path, if OpenAI requires a pre-registered redirect. */
58
+ readonly callbackPort?: number;
59
+ readonly callbackPath?: string;
60
+ readonly logger?: Logger;
61
+ }
62
+ /** Wire an {@link OpenAIOAuthProvider} with production defaults. */
63
+ export declare function createOpenAIOAuthProvider(options: CreateOpenAIOAuthProviderOptions): OpenAIOAuthProvider;
64
+ export { CODEX_OAUTH_CLIENT_ID, CODEX_BACKEND_BASE_URL, CODEX_CALLBACK_PORT, CODEX_CALLBACK_PATH };
65
+ /**
66
+ * `originator` the ChatGPT backend expects from a Codex client. A non-Codex
67
+ * value (e.g. `pi`) is rejected with 403, so we present as the Codex CLI.
68
+ * Override via `CODEX_ORIGINATOR` env for resilience if the backend tightens.
69
+ */
70
+ export declare const CODEX_ORIGINATOR: string;
71
+ /**
72
+ * OAuth endpoint configuration for the Codex CLI client. Scopes and the extra
73
+ * authorization params mirror what the Codex CLI sends; `clientId` is filled in
74
+ * by {@link createCodexOAuthProvider}.
75
+ */
76
+ export declare const DEFAULT_CODEX_OAUTH_CONFIG: Omit<OAuthClientConfig, "clientId">;
77
+ export interface CreateCodexOAuthProviderOptions {
78
+ /** Override the published Codex client id. */
79
+ readonly clientId?: string;
80
+ /** Account identifier used to namespace stored tokens. */
81
+ readonly accountId?: string;
82
+ /** Override any part of the OAuth endpoint config. */
83
+ readonly oauthConfig?: Partial<OAuthClientConfig>;
84
+ /** Override the ChatGPT Codex backend base URL. */
85
+ readonly backendBaseUrl?: string;
86
+ /** Override the `originator` header value. */
87
+ readonly originator?: string;
88
+ /** Override token persistence (defaults to OS keychain). */
89
+ readonly tokenStore?: TokenStore;
90
+ /** Override the secret backend used by the default token store. */
91
+ readonly credentialStore?: SecureCredentialStore;
92
+ /** Override the browser launcher. */
93
+ readonly browserLauncher?: BrowserLauncher;
94
+ readonly logger?: Logger;
95
+ }
96
+ /**
97
+ * Wire an {@link OpenAIOAuthProvider} that authenticates with the public Codex
98
+ * CLI client and routes requests to the ChatGPT Codex backend.
99
+ *
100
+ * The callback server is pinned to the Codex-registered loopback redirect
101
+ * (port 1455, `/auth/callback`); every request carries the Codex `originator`
102
+ * and the `chatgpt-account-id` decoded from the access-token JWT.
103
+ */
104
+ export declare function createCodexOAuthProvider(options?: CreateCodexOAuthProviderOptions): OpenAIOAuthProvider;
105
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/oauth/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,167 @@
1
+ /**
2
+ * OpenAI OAuth subsystem — public surface.
3
+ *
4
+ * Layers (each depends only on the one below, via interfaces):
5
+ *
6
+ * OpenAIOAuthProvider orchestration + OpenAI capability inheritance
7
+ * ├─ OAuthClient OAuth 2.0 protocol (PKCE code exchange/refresh)
8
+ * ├─ PKCEHelper PKCE + CSRF-state generation
9
+ * ├─ LocalCallbackServer localhost redirect receiver
10
+ * ├─ BrowserLauncher opens the system browser
11
+ * └─ TokenStore token persistence
12
+ * └─ SecureCredentialStore opaque secret persistence (OS keychain)
13
+ *
14
+ * `createOpenAIOAuthProvider` wires production defaults; every collaborator can
15
+ * be overridden for testing or alternate hosts.
16
+ */
17
+ import { createLogger } from "@nodetool-ai/config";
18
+ import { CODEX_OAUTH_CLIENT_ID, CODEX_BACKEND_BASE_URL, CODEX_CALLBACK_PORT, CODEX_CALLBACK_PATH, CODEX_OAUTH_AUTHORIZATION_URL, CODEX_OAUTH_TOKEN_URL, CODEX_OAUTH_REVOCATION_URL, CODEX_OAUTH_SCOPES, CODEX_DEFAULT_ORIGINATOR } from "@nodetool-ai/protocol";
19
+ import { OAuthClient } from "./oauth-client.js";
20
+ import { PKCEHelper } from "./pkce-helper.js";
21
+ import { LocalCallbackServer } from "./local-callback-server.js";
22
+ import { DefaultBrowserLauncher } from "./browser-launcher.js";
23
+ import { KeychainSecureCredentialStore } from "./secure-credential-store.js";
24
+ import { SecureTokenStore } from "./token-store.js";
25
+ import { OpenAIOAuthProvider } from "./openai-oauth-provider.js";
26
+ import { extractChatGptAccountId } from "./jwt-claims.js";
27
+ export * from "./types.js";
28
+ export * from "./errors.js";
29
+ export { decodeJwtPayload, extractChatGptAccountId } from "./jwt-claims.js";
30
+ export { redactToken, redactObject } from "./redaction.js";
31
+ export { PKCEHelper, nodeRandomSource } from "./pkce-helper.js";
32
+ export { OAuthClient } from "./oauth-client.js";
33
+ export { LocalCallbackServer } from "./local-callback-server.js";
34
+ export { DefaultBrowserLauncher } from "./browser-launcher.js";
35
+ export { KeychainSecureCredentialStore, InMemorySecureCredentialStore } from "./secure-credential-store.js";
36
+ export { SecureTokenStore, InMemoryTokenStore } from "./token-store.js";
37
+ export { OpenAIOAuthProvider } from "./openai-oauth-provider.js";
38
+ export { ClaudeCodeOAuthClient } from "./claude-code-oauth-client.js";
39
+ export { ClaudeCodeCredentialsStore, claudeConfigDir, isExpired as areClaudeCredentialsExpired } from "./claude-code-credentials.js";
40
+ export { ClaudeCodeLogin, parsePastedCode, CLAUDE_LOGIN_TIMEOUT_MS } from "./claude-code-login.js";
41
+ /**
42
+ * Default OAuth endpoints for OpenAI. These are configuration, not contracts —
43
+ * override them via `createOpenAIOAuthProvider({ oauthConfig })` if OpenAI's
44
+ * published endpoints differ for your tenant.
45
+ */
46
+ export const DEFAULT_OPENAI_OAUTH_CONFIG = {
47
+ authorizationEndpoint: "https://auth.openai.com/oauth/authorize",
48
+ tokenEndpoint: "https://auth.openai.com/oauth/token",
49
+ revocationEndpoint: "https://auth.openai.com/oauth/revoke",
50
+ scopes: ["openid", "profile", "email", "offline_access", "api.read", "api.write"]
51
+ };
52
+ /** Wire an {@link OpenAIOAuthProvider} with production defaults. */
53
+ export function createOpenAIOAuthProvider(options) {
54
+ const logger = options.logger ?? createLogger("nodetool.runtime.oauth");
55
+ const config = {
56
+ ...DEFAULT_OPENAI_OAUTH_CONFIG,
57
+ clientId: options.clientId,
58
+ ...options.oauthConfig
59
+ };
60
+ const credentialStore = options.credentialStore ?? new KeychainSecureCredentialStore({ logger });
61
+ const tokenStore = options.tokenStore ??
62
+ new SecureTokenStore({
63
+ credentialStore,
64
+ provider: "openai",
65
+ accountId: options.accountId ?? "default",
66
+ logger
67
+ });
68
+ return new OpenAIOAuthProvider({
69
+ oauthClient: new OAuthClient({ config, logger }),
70
+ tokenStore,
71
+ browserLauncher: options.browserLauncher ?? new DefaultBrowserLauncher({ logger }),
72
+ callbackServerFactory: () => new LocalCallbackServer({
73
+ port: options.callbackPort,
74
+ path: options.callbackPath,
75
+ logger
76
+ }),
77
+ pkce: new PKCEHelper(),
78
+ logger
79
+ });
80
+ }
81
+ // ── Codex (ChatGPT-backed) OAuth ──────────────────────────────────────────
82
+ //
83
+ // Rather than a NodeTool-specific OpenAI app, this reuses the public Codex CLI
84
+ // OAuth client and talks to the ChatGPT Codex backend the same way the Codex
85
+ // CLI does. That means three fixed, non-obvious facts the authorization server
86
+ // and backend enforce:
87
+ // 1. The client id is the published Codex CLI client. There is no secret.
88
+ // 2. The redirect URI is the Codex-registered loopback callback,
89
+ // http://localhost:1455/auth/callback, so the local callback server MUST
90
+ // bind port 1455 with that path — an ephemeral port will be rejected.
91
+ // 3. Backend requests must look like Codex: the `originator` header and the
92
+ // `chatgpt-account-id` (decoded from the access-token JWT) are required;
93
+ // a foreign originator is answered with 403.
94
+ // These are configuration, not contracts — every value is override-able.
95
+ // The Codex client id, endpoints, scopes, backend URL and loopback redirect are
96
+ // the canonical constants in `@nodetool-ai/protocol` (shared with the login
97
+ // flow and the token resolver). Re-exported here for the OAuth subsystem's
98
+ // existing public surface.
99
+ export { CODEX_OAUTH_CLIENT_ID, CODEX_BACKEND_BASE_URL, CODEX_CALLBACK_PORT, CODEX_CALLBACK_PATH };
100
+ /**
101
+ * `originator` the ChatGPT backend expects from a Codex client. A non-Codex
102
+ * value (e.g. `pi`) is rejected with 403, so we present as the Codex CLI.
103
+ * Override via `CODEX_ORIGINATOR` env for resilience if the backend tightens.
104
+ */
105
+ export const CODEX_ORIGINATOR = (typeof process !== "undefined" && process.env?.CODEX_ORIGINATOR) ||
106
+ CODEX_DEFAULT_ORIGINATOR;
107
+ /**
108
+ * OAuth endpoint configuration for the Codex CLI client. Scopes and the extra
109
+ * authorization params mirror what the Codex CLI sends; `clientId` is filled in
110
+ * by {@link createCodexOAuthProvider}.
111
+ */
112
+ export const DEFAULT_CODEX_OAUTH_CONFIG = {
113
+ authorizationEndpoint: CODEX_OAUTH_AUTHORIZATION_URL,
114
+ tokenEndpoint: CODEX_OAUTH_TOKEN_URL,
115
+ revocationEndpoint: CODEX_OAUTH_REVOCATION_URL,
116
+ scopes: [...CODEX_OAUTH_SCOPES],
117
+ extraAuthParams: {
118
+ id_token_add_organizations: "true",
119
+ codex_cli_simplified_flow: "true"
120
+ }
121
+ };
122
+ /**
123
+ * Wire an {@link OpenAIOAuthProvider} that authenticates with the public Codex
124
+ * CLI client and routes requests to the ChatGPT Codex backend.
125
+ *
126
+ * The callback server is pinned to the Codex-registered loopback redirect
127
+ * (port 1455, `/auth/callback`); every request carries the Codex `originator`
128
+ * and the `chatgpt-account-id` decoded from the access-token JWT.
129
+ */
130
+ export function createCodexOAuthProvider(options = {}) {
131
+ const logger = options.logger ?? createLogger("nodetool.runtime.oauth.codex");
132
+ const config = {
133
+ ...DEFAULT_CODEX_OAUTH_CONFIG,
134
+ clientId: options.clientId ?? CODEX_OAUTH_CLIENT_ID,
135
+ ...options.oauthConfig
136
+ };
137
+ const credentialStore = options.credentialStore ?? new KeychainSecureCredentialStore({ logger });
138
+ const tokenStore = options.tokenStore ??
139
+ new SecureTokenStore({
140
+ credentialStore,
141
+ provider: "openai",
142
+ accountId: options.accountId ?? "codex",
143
+ logger
144
+ });
145
+ return new OpenAIOAuthProvider({
146
+ oauthClient: new OAuthClient({ config, logger }),
147
+ tokenStore,
148
+ browserLauncher: options.browserLauncher ?? new DefaultBrowserLauncher({ logger }),
149
+ callbackServerFactory: () => new LocalCallbackServer({
150
+ port: CODEX_CALLBACK_PORT,
151
+ path: CODEX_CALLBACK_PATH,
152
+ logger
153
+ }),
154
+ pkce: new PKCEHelper(),
155
+ apiBaseUrl: options.backendBaseUrl ?? CODEX_BACKEND_BASE_URL,
156
+ apiHeaders: { originator: options.originator ?? CODEX_ORIGINATOR },
157
+ dynamicApiHeaders: (accessToken) => {
158
+ const accountId = extractChatGptAccountId(accessToken);
159
+ const headers = {};
160
+ if (accountId)
161
+ headers["chatgpt-account-id"] = accountId;
162
+ return headers;
163
+ },
164
+ logger
165
+ });
166
+ }
167
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/oauth/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * JWT claim extraction for the ChatGPT/Codex backend.
3
+ *
4
+ * The Codex OAuth access token is a JWT whose payload carries the ChatGPT
5
+ * account identity needed to address the `chatgpt.com/backend-api/codex`
6
+ * routes. This module decodes that payload (without verifying the signature —
7
+ * verification is the authorization server's job; we only read claims we were
8
+ * already issued) and pulls out the account id.
9
+ *
10
+ * No I/O, no dependencies — pure string/JSON work so it is trivially testable
11
+ * and safe to import from any layer.
12
+ */
13
+ /** Decode the JSON payload (the middle segment) of a JWT. */
14
+ export declare function decodeJwtPayload(token: string): Record<string, unknown> | null;
15
+ /**
16
+ * Extract the ChatGPT account id from a Codex OAuth token.
17
+ *
18
+ * The claim lives under the `https://api.openai.com/auth` namespace as
19
+ * `chatgpt_account_id`; some token shapes also surface it at the top level, so
20
+ * both are checked. Returns `null` when absent or malformed.
21
+ */
22
+ export declare function extractChatGptAccountId(token: string): string | null;
23
+ //# sourceMappingURL=jwt-claims.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt-claims.d.ts","sourceRoot":"","sources":["../../../src/providers/oauth/jwt-claims.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAWH,6DAA6D;AAC7D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAwB9E;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcpE"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * JWT claim extraction for the ChatGPT/Codex backend.
3
+ *
4
+ * The Codex OAuth access token is a JWT whose payload carries the ChatGPT
5
+ * account identity needed to address the `chatgpt.com/backend-api/codex`
6
+ * routes. This module decodes that payload (without verifying the signature —
7
+ * verification is the authorization server's job; we only read claims we were
8
+ * already issued) and pulls out the account id.
9
+ *
10
+ * No I/O, no dependencies — pure string/JSON work so it is trivially testable
11
+ * and safe to import from any layer.
12
+ */
13
+ import { isNonEmptyString, isRecord, isString } from "@nodetool-ai/protocol";
14
+ /** OIDC namespace under which OpenAI nests its custom auth claims. */
15
+ const OPENAI_AUTH_CLAIM = "https://api.openai.com/auth";
16
+ /** Decode the JSON payload (the middle segment) of a JWT. */
17
+ export function decodeJwtPayload(token) {
18
+ if (!isString(token))
19
+ return null;
20
+ const segments = token.split(".");
21
+ // A well-formed JWS has three dot-separated segments: header.payload.signature.
22
+ if (segments.length !== 3)
23
+ return null;
24
+ const payloadSegment = segments[1];
25
+ if (!payloadSegment)
26
+ return null;
27
+ let json;
28
+ try {
29
+ json = Buffer.from(payloadSegment, "base64url").toString("utf8");
30
+ }
31
+ catch {
32
+ return null;
33
+ }
34
+ try {
35
+ const parsed = JSON.parse(json);
36
+ if (!isRecord(parsed)) {
37
+ return null;
38
+ }
39
+ return parsed;
40
+ }
41
+ catch {
42
+ return null;
43
+ }
44
+ }
45
+ /**
46
+ * Extract the ChatGPT account id from a Codex OAuth token.
47
+ *
48
+ * The claim lives under the `https://api.openai.com/auth` namespace as
49
+ * `chatgpt_account_id`; some token shapes also surface it at the top level, so
50
+ * both are checked. Returns `null` when absent or malformed.
51
+ */
52
+ export function extractChatGptAccountId(token) {
53
+ const payload = decodeJwtPayload(token);
54
+ if (!payload)
55
+ return null;
56
+ const namespaced = payload[OPENAI_AUTH_CLAIM];
57
+ if (isRecord(namespaced)) {
58
+ const id = namespaced.chatgpt_account_id;
59
+ if (isNonEmptyString(id))
60
+ return id;
61
+ }
62
+ const topLevel = payload.chatgpt_account_id;
63
+ if (isNonEmptyString(topLevel))
64
+ return topLevel;
65
+ return null;
66
+ }
67
+ //# sourceMappingURL=jwt-claims.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt-claims.js","sourceRoot":"","sources":["../../../src/providers/oauth/jwt-claims.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACT,MAAM,uBAAuB,CAAC;AAE/B,sEAAsE;AACtE,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;AAExD,6DAA6D;AAC7D,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,gFAAgF;IAChF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IAEjC,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9C,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,UAAU,CAAC,kBAAkB,CAAC;QACzC,IAAI,gBAAgB,CAAC,EAAE,CAAC;YAAE,OAAO,EAAE,CAAC;IACtC,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAC5C,IAAI,gBAAgB,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAEhD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * LocalCallbackServer — a single-shot localhost HTTP listener that receives the
3
+ * OAuth redirect, validates the CSRF `state`, and resolves with the
4
+ * authorization code.
5
+ *
6
+ * Lifecycle is explicit: `listen()` → `waitForCode()` → `close()`. The server
7
+ * binds to loopback only, serves exactly one callback, and then becomes inert.
8
+ * No module-level state — each login owns its own instance.
9
+ */
10
+ import type { Logger } from "@nodetool-ai/config";
11
+ import type { AuthorizationResult } from "./types.js";
12
+ export interface LocalCallbackServerOptions {
13
+ /** Loopback host to bind. Defaults to 127.0.0.1. */
14
+ readonly host?: string;
15
+ /** Port to bind. 0 (default) lets the OS pick an ephemeral port. */
16
+ readonly port?: number;
17
+ /** Callback path the authorization server will redirect to. */
18
+ readonly path?: string;
19
+ /** HTML shown in the browser after a successful callback. */
20
+ readonly successHtml?: string;
21
+ /** HTML shown in the browser after a failed callback. */
22
+ readonly failureHtml?: string;
23
+ readonly logger?: Logger;
24
+ }
25
+ export interface WaitForCodeOptions {
26
+ /** The exact `state` value sent in the authorization request (CSRF guard). */
27
+ readonly expectedState: string;
28
+ /** Abort if no callback arrives within this many milliseconds. */
29
+ readonly timeoutMs: number;
30
+ /** External cancellation (e.g. user cancels the flow). */
31
+ readonly signal?: AbortSignal;
32
+ }
33
+ export declare class LocalCallbackServer {
34
+ private readonly host;
35
+ private readonly requestedPort;
36
+ private readonly path;
37
+ private readonly successHtml;
38
+ private readonly failureHtml;
39
+ private readonly logger?;
40
+ private server;
41
+ private boundPort;
42
+ constructor(options?: LocalCallbackServerOptions);
43
+ /** Start listening. Resolves with the bound port and full redirect URI. */
44
+ listen(): Promise<{
45
+ port: number;
46
+ redirectUri: string;
47
+ }>;
48
+ /** The redirect URI to register with the authorization server. */
49
+ redirectUri(): string;
50
+ /**
51
+ * Resolve when the browser hits the callback path with a matching `state`
52
+ * and an authorization `code`. Rejects on timeout, CSRF mismatch, an
53
+ * `error` param from the server, or external abort.
54
+ */
55
+ waitForCode(options: WaitForCodeOptions): Promise<AuthorizationResult>;
56
+ /** Stop listening and release the port. Idempotent. */
57
+ close(): Promise<void>;
58
+ private respond;
59
+ }
60
+ //# sourceMappingURL=local-callback-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-callback-server.d.ts","sourceRoot":"","sources":["../../../src/providers/oauth/local-callback-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAOlD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,MAAM,WAAW,0BAA0B;IACzC,oDAAoD;IACpD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAYD,MAAM,WAAW,kBAAkB;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAuB;IAExC,YAAY,OAAO,GAAE,0BAA+B,EAOnD;IAED,2EAA2E;IACrE,MAAM,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAyB7D;IAED,kEAAkE;IAClE,WAAW,IAAI,MAAM,CAKpB;IAED;;;;OAIG;IACG,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAyE3E;IAED,uDAAuD;IACjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAM3B;IAED,OAAO,CAAC,OAAO;CAIhB"}