@tembo-io/sdk 0.10.0 → 0.11.0

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 (371) hide show
  1. package/README.md +28 -1
  2. package/SKILL.md +12 -0
  3. package/api.md +369 -123
  4. package/dist/cjs/client.d.ts +8 -4
  5. package/dist/cjs/client.d.ts.map +1 -1
  6. package/dist/cjs/client.js +5 -1
  7. package/dist/cjs/client.js.map +1 -1
  8. package/dist/cjs/core/EventEmitter.d.ts +29 -0
  9. package/dist/cjs/core/EventEmitter.d.ts.map +1 -0
  10. package/dist/cjs/core/EventEmitter.js +61 -0
  11. package/dist/cjs/core/EventEmitter.js.map +1 -0
  12. package/dist/cjs/index.d.ts +3 -1
  13. package/dist/cjs/index.d.ts.map +1 -1
  14. package/dist/cjs/index.js +5 -1
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/internal/live-socket-browser.d.ts +3 -0
  17. package/dist/cjs/internal/live-socket-browser.d.ts.map +1 -0
  18. package/dist/cjs/internal/live-socket-browser.js +8 -0
  19. package/dist/cjs/internal/live-socket-browser.js.map +1 -0
  20. package/dist/cjs/internal/live-socket.d.ts +3 -0
  21. package/dist/cjs/internal/live-socket.d.ts.map +1 -0
  22. package/dist/cjs/internal/live-socket.js +9 -0
  23. package/dist/cjs/internal/live-socket.js.map +1 -0
  24. package/dist/cjs/internal/ws-adapter-browser.d.ts +34 -0
  25. package/dist/cjs/internal/ws-adapter-browser.d.ts.map +1 -0
  26. package/dist/cjs/internal/ws-adapter-browser.js +89 -0
  27. package/dist/cjs/internal/ws-adapter-browser.js.map +1 -0
  28. package/dist/cjs/internal/ws-adapter-node.d.ts +27 -0
  29. package/dist/cjs/internal/ws-adapter-node.d.ts.map +1 -0
  30. package/dist/cjs/internal/ws-adapter-node.js +91 -0
  31. package/dist/cjs/internal/ws-adapter-node.js.map +1 -0
  32. package/dist/cjs/internal/ws-adapter.d.ts +24 -0
  33. package/dist/cjs/internal/ws-adapter.d.ts.map +1 -0
  34. package/dist/cjs/internal/ws-adapter.js +11 -0
  35. package/dist/cjs/internal/ws-adapter.js.map +1 -0
  36. package/dist/cjs/internal/ws.d.ts +80 -0
  37. package/dist/cjs/internal/ws.d.ts.map +1 -0
  38. package/dist/cjs/internal/ws.js +154 -0
  39. package/dist/cjs/internal/ws.js.map +1 -0
  40. package/dist/cjs/live.d.ts +97 -0
  41. package/dist/cjs/live.d.ts.map +1 -0
  42. package/dist/cjs/live.js +237 -0
  43. package/dist/cjs/live.js.map +1 -0
  44. package/dist/cjs/package.json +6 -1
  45. package/dist/cjs/resources/agents/templates.d.ts +58 -40
  46. package/dist/cjs/resources/agents/templates.d.ts.map +1 -1
  47. package/dist/cjs/resources/index.d.ts +5 -3
  48. package/dist/cjs/resources/index.d.ts.map +1 -1
  49. package/dist/cjs/resources/index.js +4 -2
  50. package/dist/cjs/resources/index.js.map +1 -1
  51. package/dist/cjs/resources/integrations/index.d.ts +7 -0
  52. package/dist/cjs/resources/integrations/index.d.ts.map +1 -0
  53. package/dist/cjs/resources/integrations/index.js +11 -0
  54. package/dist/cjs/resources/integrations/index.js.map +1 -0
  55. package/dist/cjs/resources/integrations/integrations.d.ts +777 -0
  56. package/dist/cjs/resources/integrations/integrations.d.ts.map +1 -0
  57. package/dist/cjs/resources/integrations/integrations.js +275 -0
  58. package/dist/cjs/resources/integrations/integrations.js.map +1 -0
  59. package/dist/cjs/resources/integrations/providers.d.ts +229 -0
  60. package/dist/cjs/resources/integrations/providers.d.ts.map +1 -0
  61. package/dist/cjs/resources/integrations/providers.js +45 -0
  62. package/dist/cjs/resources/integrations/providers.js.map +1 -0
  63. package/dist/cjs/resources/integrations/triggers.d.ts +280 -0
  64. package/dist/cjs/resources/integrations/triggers.d.ts.map +1 -0
  65. package/dist/cjs/resources/integrations/triggers.js +67 -0
  66. package/dist/cjs/resources/integrations/triggers.js.map +1 -0
  67. package/dist/cjs/resources/integrations.d.ts +1 -158
  68. package/dist/cjs/resources/integrations.d.ts.map +1 -1
  69. package/dist/cjs/resources/integrations.js +15 -39
  70. package/dist/cjs/resources/integrations.js.map +1 -1
  71. package/dist/cjs/resources/live/index.d.ts +6 -0
  72. package/dist/cjs/resources/live/index.d.ts.map +1 -0
  73. package/dist/cjs/resources/live/index.js +9 -0
  74. package/dist/cjs/resources/live/index.js.map +1 -0
  75. package/dist/cjs/resources/live/internal-base.d.ts +70 -0
  76. package/dist/cjs/resources/live/internal-base.d.ts.map +1 -0
  77. package/dist/cjs/resources/live/internal-base.js +57 -0
  78. package/dist/cjs/resources/live/internal-base.js.map +1 -0
  79. package/dist/cjs/resources/live/live.d.ts +54 -0
  80. package/dist/cjs/resources/live/live.d.ts.map +1 -0
  81. package/dist/cjs/resources/live/live.js +50 -0
  82. package/dist/cjs/resources/live/live.js.map +1 -0
  83. package/dist/cjs/resources/live/ws-base.d.ts +57 -0
  84. package/dist/cjs/resources/live/ws-base.d.ts.map +1 -0
  85. package/dist/cjs/resources/live/ws-base.js +359 -0
  86. package/dist/cjs/resources/live/ws-base.js.map +1 -0
  87. package/dist/cjs/resources/live/ws-browser.d.ts +14 -0
  88. package/dist/cjs/resources/live/ws-browser.d.ts.map +1 -0
  89. package/dist/cjs/resources/live/ws-browser.js +25 -0
  90. package/dist/cjs/resources/live/ws-browser.js.map +1 -0
  91. package/dist/cjs/resources/live/ws.d.ts +13 -0
  92. package/dist/cjs/resources/live/ws.d.ts.map +1 -0
  93. package/dist/cjs/resources/live/ws.js +31 -0
  94. package/dist/cjs/resources/live/ws.js.map +1 -0
  95. package/dist/cjs/resources/live.d.ts +2 -0
  96. package/dist/cjs/resources/live.d.ts.map +1 -0
  97. package/dist/cjs/resources/live.js +19 -0
  98. package/dist/cjs/resources/live.js.map +1 -0
  99. package/dist/cjs/resources/organizations/index.d.ts +3 -2
  100. package/dist/cjs/resources/organizations/index.d.ts.map +1 -1
  101. package/dist/cjs/resources/organizations/index.js +1 -1
  102. package/dist/cjs/resources/organizations/index.js.map +1 -1
  103. package/dist/cjs/resources/organizations/organizations.d.ts +5 -5
  104. package/dist/cjs/resources/organizations/organizations.d.ts.map +1 -1
  105. package/dist/cjs/resources/organizations/organizations.js +2 -2
  106. package/dist/cjs/resources/organizations/organizations.js.map +1 -1
  107. package/dist/cjs/resources/organizations/settings.d.ts +93 -1
  108. package/dist/cjs/resources/organizations/settings.d.ts.map +1 -1
  109. package/dist/cjs/resources/organizations/settings.js +19 -0
  110. package/dist/cjs/resources/organizations/settings.js.map +1 -1
  111. package/dist/cjs/resources/organizations/subscriptions.d.ts +295 -1
  112. package/dist/cjs/resources/organizations/subscriptions.d.ts.map +1 -1
  113. package/dist/cjs/resources/organizations/subscriptions.js +43 -15
  114. package/dist/cjs/resources/organizations/subscriptions.js.map +1 -1
  115. package/dist/cjs/resources/projects/projects.d.ts +17 -0
  116. package/dist/cjs/resources/projects/projects.d.ts.map +1 -1
  117. package/dist/cjs/resources/projects/projects.js.map +1 -1
  118. package/dist/cjs/resources/repositories.d.ts +83 -3
  119. package/dist/cjs/resources/repositories.d.ts.map +1 -1
  120. package/dist/cjs/resources/repositories.js +21 -2
  121. package/dist/cjs/resources/repositories.js.map +1 -1
  122. package/dist/cjs/resources/sessions/sessions.d.ts +6 -0
  123. package/dist/cjs/resources/sessions/sessions.d.ts.map +1 -1
  124. package/dist/cjs/resources/sessions/sessions.js +2 -0
  125. package/dist/cjs/resources/sessions/sessions.js.map +1 -1
  126. package/dist/cjs/resources/users/index.d.ts +4 -1
  127. package/dist/cjs/resources/users/index.d.ts.map +1 -1
  128. package/dist/cjs/resources/users/index.js +4 -2
  129. package/dist/cjs/resources/users/index.js.map +1 -1
  130. package/dist/cjs/resources/users/profile-picture.d.ts +77 -0
  131. package/dist/cjs/resources/users/profile-picture.d.ts.map +1 -0
  132. package/dist/cjs/resources/users/profile-picture.js +63 -0
  133. package/dist/cjs/resources/users/profile-picture.js.map +1 -0
  134. package/dist/cjs/resources/users/subscriptions.d.ts +295 -1
  135. package/dist/cjs/resources/users/subscriptions.d.ts.map +1 -1
  136. package/dist/cjs/resources/users/subscriptions.js +40 -15
  137. package/dist/cjs/resources/users/subscriptions.js.map +1 -1
  138. package/dist/cjs/resources/users/users.d.ts +7 -3
  139. package/dist/cjs/resources/users/users.d.ts.map +1 -1
  140. package/dist/cjs/resources/users/users.js +6 -2
  141. package/dist/cjs/resources/users/users.js.map +1 -1
  142. package/dist/cjs/resources.d.ts +2 -2
  143. package/dist/cjs/resources.d.ts.map +1 -1
  144. package/dist/cjs/resources.js +2 -1
  145. package/dist/cjs/resources.js.map +1 -1
  146. package/dist/cjs/version.d.ts +1 -1
  147. package/dist/cjs/version.js +1 -1
  148. package/dist/esm/client.d.ts +8 -4
  149. package/dist/esm/client.d.ts.map +1 -1
  150. package/dist/esm/client.js +5 -1
  151. package/dist/esm/client.js.map +1 -1
  152. package/dist/esm/core/EventEmitter.d.ts +29 -0
  153. package/dist/esm/core/EventEmitter.d.ts.map +1 -0
  154. package/dist/esm/core/EventEmitter.js +56 -0
  155. package/dist/esm/core/EventEmitter.js.map +1 -0
  156. package/dist/esm/index.d.ts +3 -1
  157. package/dist/esm/index.d.ts.map +1 -1
  158. package/dist/esm/index.js +1 -0
  159. package/dist/esm/index.js.map +1 -1
  160. package/dist/esm/internal/live-socket-browser.d.ts +3 -0
  161. package/dist/esm/internal/live-socket-browser.d.ts.map +1 -0
  162. package/dist/esm/internal/live-socket-browser.js +5 -0
  163. package/dist/esm/internal/live-socket-browser.js.map +1 -0
  164. package/dist/esm/internal/live-socket.d.ts +3 -0
  165. package/dist/esm/internal/live-socket.d.ts.map +1 -0
  166. package/dist/esm/internal/live-socket.js +6 -0
  167. package/dist/esm/internal/live-socket.js.map +1 -0
  168. package/dist/esm/internal/ws-adapter-browser.d.ts +34 -0
  169. package/dist/esm/internal/ws-adapter-browser.d.ts.map +1 -0
  170. package/dist/esm/internal/ws-adapter-browser.js +85 -0
  171. package/dist/esm/internal/ws-adapter-browser.js.map +1 -0
  172. package/dist/esm/internal/ws-adapter-node.d.ts +27 -0
  173. package/dist/esm/internal/ws-adapter-node.d.ts.map +1 -0
  174. package/dist/esm/internal/ws-adapter-node.js +87 -0
  175. package/dist/esm/internal/ws-adapter-node.js.map +1 -0
  176. package/dist/esm/internal/ws-adapter.d.ts +24 -0
  177. package/dist/esm/internal/ws-adapter.d.ts.map +1 -0
  178. package/dist/esm/internal/ws-adapter.js +8 -0
  179. package/dist/esm/internal/ws-adapter.js.map +1 -0
  180. package/dist/esm/internal/ws.d.ts +80 -0
  181. package/dist/esm/internal/ws.d.ts.map +1 -0
  182. package/dist/esm/internal/ws.js +148 -0
  183. package/dist/esm/internal/ws.js.map +1 -0
  184. package/dist/esm/live.d.ts +97 -0
  185. package/dist/esm/live.d.ts.map +1 -0
  186. package/dist/esm/live.js +230 -0
  187. package/dist/esm/live.js.map +1 -0
  188. package/dist/esm/resources/agents/templates.d.ts +58 -40
  189. package/dist/esm/resources/agents/templates.d.ts.map +1 -1
  190. package/dist/esm/resources/index.d.ts +5 -3
  191. package/dist/esm/resources/index.d.ts.map +1 -1
  192. package/dist/esm/resources/index.js +2 -1
  193. package/dist/esm/resources/index.js.map +1 -1
  194. package/dist/esm/resources/integrations/index.d.ts +7 -0
  195. package/dist/esm/resources/integrations/index.d.ts.map +1 -0
  196. package/dist/esm/resources/integrations/index.js +5 -0
  197. package/dist/esm/resources/integrations/index.js.map +1 -0
  198. package/dist/esm/resources/integrations/integrations.d.ts +777 -0
  199. package/dist/esm/resources/integrations/integrations.d.ts.map +1 -0
  200. package/dist/esm/resources/integrations/integrations.js +238 -0
  201. package/dist/esm/resources/integrations/integrations.js.map +1 -0
  202. package/dist/esm/resources/integrations/providers.d.ts +229 -0
  203. package/dist/esm/resources/integrations/providers.d.ts.map +1 -0
  204. package/dist/esm/resources/integrations/providers.js +41 -0
  205. package/dist/esm/resources/integrations/providers.js.map +1 -0
  206. package/dist/esm/resources/integrations/triggers.d.ts +280 -0
  207. package/dist/esm/resources/integrations/triggers.d.ts.map +1 -0
  208. package/dist/esm/resources/integrations/triggers.js +63 -0
  209. package/dist/esm/resources/integrations/triggers.js.map +1 -0
  210. package/dist/esm/resources/integrations.d.ts +1 -158
  211. package/dist/esm/resources/integrations.d.ts.map +1 -1
  212. package/dist/esm/resources/integrations.js +1 -37
  213. package/dist/esm/resources/integrations.js.map +1 -1
  214. package/dist/esm/resources/live/index.d.ts +6 -0
  215. package/dist/esm/resources/live/index.d.ts.map +1 -0
  216. package/dist/esm/resources/live/index.js +4 -0
  217. package/dist/esm/resources/live/index.js.map +1 -0
  218. package/dist/esm/resources/live/internal-base.d.ts +70 -0
  219. package/dist/esm/resources/live/internal-base.d.ts.map +1 -0
  220. package/dist/esm/resources/live/internal-base.js +50 -0
  221. package/dist/esm/resources/live/internal-base.js.map +1 -0
  222. package/dist/esm/resources/live/live.d.ts +54 -0
  223. package/dist/esm/resources/live/live.d.ts.map +1 -0
  224. package/dist/esm/resources/live/live.js +46 -0
  225. package/dist/esm/resources/live/live.js.map +1 -0
  226. package/dist/esm/resources/live/ws-base.d.ts +57 -0
  227. package/dist/esm/resources/live/ws-base.d.ts.map +1 -0
  228. package/dist/esm/resources/live/ws-base.js +355 -0
  229. package/dist/esm/resources/live/ws-base.js.map +1 -0
  230. package/dist/esm/resources/live/ws-browser.d.ts +14 -0
  231. package/dist/esm/resources/live/ws-browser.d.ts.map +1 -0
  232. package/dist/esm/resources/live/ws-browser.js +21 -0
  233. package/dist/esm/resources/live/ws-browser.js.map +1 -0
  234. package/dist/esm/resources/live/ws.d.ts +13 -0
  235. package/dist/esm/resources/live/ws.d.ts.map +1 -0
  236. package/dist/esm/resources/live/ws.js +27 -0
  237. package/dist/esm/resources/live/ws.js.map +1 -0
  238. package/dist/esm/resources/live.d.ts +2 -0
  239. package/dist/esm/resources/live.d.ts.map +1 -0
  240. package/dist/esm/resources/live.js +3 -0
  241. package/dist/esm/resources/live.js.map +1 -0
  242. package/dist/esm/resources/organizations/index.d.ts +3 -2
  243. package/dist/esm/resources/organizations/index.d.ts.map +1 -1
  244. package/dist/esm/resources/organizations/index.js +1 -1
  245. package/dist/esm/resources/organizations/index.js.map +1 -1
  246. package/dist/esm/resources/organizations/organizations.d.ts +5 -5
  247. package/dist/esm/resources/organizations/organizations.d.ts.map +1 -1
  248. package/dist/esm/resources/organizations/organizations.js +2 -2
  249. package/dist/esm/resources/organizations/organizations.js.map +1 -1
  250. package/dist/esm/resources/organizations/settings.d.ts +93 -1
  251. package/dist/esm/resources/organizations/settings.d.ts.map +1 -1
  252. package/dist/esm/resources/organizations/settings.js +19 -0
  253. package/dist/esm/resources/organizations/settings.js.map +1 -1
  254. package/dist/esm/resources/organizations/subscriptions.d.ts +295 -1
  255. package/dist/esm/resources/organizations/subscriptions.d.ts.map +1 -1
  256. package/dist/esm/resources/organizations/subscriptions.js +41 -1
  257. package/dist/esm/resources/organizations/subscriptions.js.map +1 -1
  258. package/dist/esm/resources/projects/projects.d.ts +17 -0
  259. package/dist/esm/resources/projects/projects.d.ts.map +1 -1
  260. package/dist/esm/resources/projects/projects.js.map +1 -1
  261. package/dist/esm/resources/repositories.d.ts +83 -3
  262. package/dist/esm/resources/repositories.d.ts.map +1 -1
  263. package/dist/esm/resources/repositories.js +21 -2
  264. package/dist/esm/resources/repositories.js.map +1 -1
  265. package/dist/esm/resources/sessions/sessions.d.ts +6 -0
  266. package/dist/esm/resources/sessions/sessions.d.ts.map +1 -1
  267. package/dist/esm/resources/sessions/sessions.js +2 -0
  268. package/dist/esm/resources/sessions/sessions.js.map +1 -1
  269. package/dist/esm/resources/users/index.d.ts +4 -1
  270. package/dist/esm/resources/users/index.d.ts.map +1 -1
  271. package/dist/esm/resources/users/index.js +2 -1
  272. package/dist/esm/resources/users/index.js.map +1 -1
  273. package/dist/esm/resources/users/profile-picture.d.ts +77 -0
  274. package/dist/esm/resources/users/profile-picture.d.ts.map +1 -0
  275. package/dist/esm/resources/users/profile-picture.js +59 -0
  276. package/dist/esm/resources/users/profile-picture.js.map +1 -0
  277. package/dist/esm/resources/users/subscriptions.d.ts +295 -1
  278. package/dist/esm/resources/users/subscriptions.d.ts.map +1 -1
  279. package/dist/esm/resources/users/subscriptions.js +38 -1
  280. package/dist/esm/resources/users/subscriptions.js.map +1 -1
  281. package/dist/esm/resources/users/users.d.ts +7 -3
  282. package/dist/esm/resources/users/users.d.ts.map +1 -1
  283. package/dist/esm/resources/users/users.js +6 -2
  284. package/dist/esm/resources/users/users.js.map +1 -1
  285. package/dist/esm/resources.d.ts +2 -2
  286. package/dist/esm/resources.d.ts.map +1 -1
  287. package/dist/esm/resources.js +1 -1
  288. package/dist/esm/resources.js.map +1 -1
  289. package/dist/esm/version.d.ts +1 -1
  290. package/dist/esm/version.js +1 -1
  291. package/package.json +22 -3
  292. package/dist/cjs/resources/organizations/subscriptions/chatgpt.d.ts +0 -186
  293. package/dist/cjs/resources/organizations/subscriptions/chatgpt.d.ts.map +0 -1
  294. package/dist/cjs/resources/organizations/subscriptions/chatgpt.js +0 -58
  295. package/dist/cjs/resources/organizations/subscriptions/chatgpt.js.map +0 -1
  296. package/dist/cjs/resources/organizations/subscriptions/claude.d.ts +0 -128
  297. package/dist/cjs/resources/organizations/subscriptions/claude.d.ts.map +0 -1
  298. package/dist/cjs/resources/organizations/subscriptions/claude.js +0 -40
  299. package/dist/cjs/resources/organizations/subscriptions/claude.js.map +0 -1
  300. package/dist/cjs/resources/organizations/subscriptions/index.d.ts +0 -8
  301. package/dist/cjs/resources/organizations/subscriptions/index.d.ts.map +0 -1
  302. package/dist/cjs/resources/organizations/subscriptions/index.js +0 -13
  303. package/dist/cjs/resources/organizations/subscriptions/index.js.map +0 -1
  304. package/dist/cjs/resources/organizations/subscriptions/subscriptions.d.ts +0 -18
  305. package/dist/cjs/resources/organizations/subscriptions/subscriptions.d.ts.map +0 -1
  306. package/dist/cjs/resources/organizations/subscriptions/subscriptions.js +0 -54
  307. package/dist/cjs/resources/organizations/subscriptions/subscriptions.js.map +0 -1
  308. package/dist/cjs/resources/organizations/subscriptions/supergrok.d.ts +0 -25
  309. package/dist/cjs/resources/organizations/subscriptions/supergrok.d.ts.map +0 -1
  310. package/dist/cjs/resources/organizations/subscriptions/supergrok.js +0 -25
  311. package/dist/cjs/resources/organizations/subscriptions/supergrok.js.map +0 -1
  312. package/dist/cjs/resources/users/subscriptions/chatgpt.d.ts +0 -186
  313. package/dist/cjs/resources/users/subscriptions/chatgpt.d.ts.map +0 -1
  314. package/dist/cjs/resources/users/subscriptions/chatgpt.js +0 -61
  315. package/dist/cjs/resources/users/subscriptions/chatgpt.js.map +0 -1
  316. package/dist/cjs/resources/users/subscriptions/claude.d.ts +0 -128
  317. package/dist/cjs/resources/users/subscriptions/claude.d.ts.map +0 -1
  318. package/dist/cjs/resources/users/subscriptions/claude.js +0 -40
  319. package/dist/cjs/resources/users/subscriptions/claude.js.map +0 -1
  320. package/dist/cjs/resources/users/subscriptions/index.d.ts +0 -8
  321. package/dist/cjs/resources/users/subscriptions/index.d.ts.map +0 -1
  322. package/dist/cjs/resources/users/subscriptions/index.js +0 -13
  323. package/dist/cjs/resources/users/subscriptions/index.js.map +0 -1
  324. package/dist/cjs/resources/users/subscriptions/subscriptions.d.ts +0 -18
  325. package/dist/cjs/resources/users/subscriptions/subscriptions.d.ts.map +0 -1
  326. package/dist/cjs/resources/users/subscriptions/subscriptions.js +0 -54
  327. package/dist/cjs/resources/users/subscriptions/subscriptions.js.map +0 -1
  328. package/dist/cjs/resources/users/subscriptions/supergrok.d.ts +0 -25
  329. package/dist/cjs/resources/users/subscriptions/supergrok.d.ts.map +0 -1
  330. package/dist/cjs/resources/users/subscriptions/supergrok.js +0 -25
  331. package/dist/cjs/resources/users/subscriptions/supergrok.js.map +0 -1
  332. package/dist/esm/resources/organizations/subscriptions/chatgpt.d.ts +0 -186
  333. package/dist/esm/resources/organizations/subscriptions/chatgpt.d.ts.map +0 -1
  334. package/dist/esm/resources/organizations/subscriptions/chatgpt.js +0 -54
  335. package/dist/esm/resources/organizations/subscriptions/chatgpt.js.map +0 -1
  336. package/dist/esm/resources/organizations/subscriptions/claude.d.ts +0 -128
  337. package/dist/esm/resources/organizations/subscriptions/claude.d.ts.map +0 -1
  338. package/dist/esm/resources/organizations/subscriptions/claude.js +0 -36
  339. package/dist/esm/resources/organizations/subscriptions/claude.js.map +0 -1
  340. package/dist/esm/resources/organizations/subscriptions/index.d.ts +0 -8
  341. package/dist/esm/resources/organizations/subscriptions/index.d.ts.map +0 -1
  342. package/dist/esm/resources/organizations/subscriptions/index.js +0 -6
  343. package/dist/esm/resources/organizations/subscriptions/index.js.map +0 -1
  344. package/dist/esm/resources/organizations/subscriptions/subscriptions.d.ts +0 -18
  345. package/dist/esm/resources/organizations/subscriptions/subscriptions.d.ts.map +0 -1
  346. package/dist/esm/resources/organizations/subscriptions/subscriptions.js +0 -17
  347. package/dist/esm/resources/organizations/subscriptions/subscriptions.js.map +0 -1
  348. package/dist/esm/resources/organizations/subscriptions/supergrok.d.ts +0 -25
  349. package/dist/esm/resources/organizations/subscriptions/supergrok.d.ts.map +0 -1
  350. package/dist/esm/resources/organizations/subscriptions/supergrok.js +0 -21
  351. package/dist/esm/resources/organizations/subscriptions/supergrok.js.map +0 -1
  352. package/dist/esm/resources/users/subscriptions/chatgpt.d.ts +0 -186
  353. package/dist/esm/resources/users/subscriptions/chatgpt.d.ts.map +0 -1
  354. package/dist/esm/resources/users/subscriptions/chatgpt.js +0 -57
  355. package/dist/esm/resources/users/subscriptions/chatgpt.js.map +0 -1
  356. package/dist/esm/resources/users/subscriptions/claude.d.ts +0 -128
  357. package/dist/esm/resources/users/subscriptions/claude.d.ts.map +0 -1
  358. package/dist/esm/resources/users/subscriptions/claude.js +0 -36
  359. package/dist/esm/resources/users/subscriptions/claude.js.map +0 -1
  360. package/dist/esm/resources/users/subscriptions/index.d.ts +0 -8
  361. package/dist/esm/resources/users/subscriptions/index.d.ts.map +0 -1
  362. package/dist/esm/resources/users/subscriptions/index.js +0 -6
  363. package/dist/esm/resources/users/subscriptions/index.js.map +0 -1
  364. package/dist/esm/resources/users/subscriptions/subscriptions.d.ts +0 -18
  365. package/dist/esm/resources/users/subscriptions/subscriptions.d.ts.map +0 -1
  366. package/dist/esm/resources/users/subscriptions/subscriptions.js +0 -17
  367. package/dist/esm/resources/users/subscriptions/subscriptions.js.map +0 -1
  368. package/dist/esm/resources/users/subscriptions/supergrok.d.ts +0 -25
  369. package/dist/esm/resources/users/subscriptions/supergrok.d.ts.map +0 -1
  370. package/dist/esm/resources/users/subscriptions/supergrok.js +0 -21
  371. package/dist/esm/resources/users/subscriptions/supergrok.js.map +0 -1
@@ -0,0 +1,80 @@
1
+ /** Reconnection event passed to the `onReconnecting` handler and event listeners. */
2
+ export interface ReconnectingEvent<Parameters = Record<string, unknown>> {
3
+ /** Which retry attempt this is (1-based). */
4
+ readonly attempt: number;
5
+ /** Total attempts that will be made. */
6
+ readonly maxAttempts: number;
7
+ /** Delay in ms before this attempt connects. */
8
+ readonly delay: number;
9
+ /** The WebSocket close code that triggered reconnection. */
10
+ readonly closeCode: number;
11
+ /** The current query parameters. */
12
+ readonly parameters: (Parameters & Record<string, unknown>) | undefined;
13
+ }
14
+ /**
15
+ * Optional overrides returned from the `onReconnecting` handler
16
+ * to customize the next reconnection attempt.
17
+ */
18
+ export type ReconnectingOverrides<Parameters = Record<string, unknown>> = {
19
+ /**
20
+ * If provided, assigns the query parameters for the next connection.
21
+ * Set to `undefined` to clear all query parameters.
22
+ */
23
+ parameters?: (Parameters & Record<string, unknown>) | undefined;
24
+ } | {
25
+ /**
26
+ * If set, will stop attempting to reconnect.
27
+ */
28
+ abort: true;
29
+ };
30
+ /**
31
+ * Raw data types that can be sent over a WebSocket without serialization.
32
+ */
33
+ export type RawWebSocketData = string | ArrayBufferLike | ArrayBufferView | ArrayBufferView[];
34
+ export type UnsentMessage<T> = {
35
+ type: 'message';
36
+ message: T;
37
+ } | {
38
+ type: 'raw';
39
+ data: RawWebSocketData;
40
+ };
41
+ /**
42
+ * Flatten `ArrayBufferView[]` fragments into a single `Uint8Array` so that
43
+ * `ws.send()` transmits the correct bytes.
44
+ */
45
+ export declare function flattenRawData(data: RawWebSocketData): Exclude<RawWebSocketData, ArrayBufferView[]>;
46
+ /**
47
+ * A bounded queue for outgoing WebSocket messages. JSON messages are
48
+ * serialized on enqueue; raw messages are stored as-is. The queue enforces
49
+ * a configurable byte-size limit and can return the original messages via
50
+ * {@link drain} when the connection permanently closes.
51
+ */
52
+ export declare class SendQueue<T = unknown> {
53
+ private _queue;
54
+ private _bytes;
55
+ private _maxBytes;
56
+ constructor(maxBytes?: number);
57
+ /**
58
+ * Serialize and enqueue a JSON message. Returns `true` if the message was
59
+ * accepted, `false` if it would exceed the byte-size limit.
60
+ */
61
+ enqueue(event: T): boolean;
62
+ /**
63
+ * Enqueue raw data without serialization. Returns `true` if the data was
64
+ * accepted, `false` if it would exceed the byte-size limit.
65
+ */
66
+ enqueueRaw(data: RawWebSocketData): boolean;
67
+ /**
68
+ * Send every queued message via `send`. If `send` throws, the failing
69
+ * message and all subsequent messages are re-queued and the error is
70
+ * re-thrown so the caller can report it.
71
+ */
72
+ flush(send: (data: RawWebSocketData) => void): void;
73
+ /**
74
+ * Drain the queue and return the unsent messages. JSON messages are
75
+ * deserialized back to their original form. Resets byte tracking to zero.
76
+ */
77
+ drain(): UnsentMessage<T>[];
78
+ }
79
+ export declare function isRecoverableClose(code: number): boolean;
80
+ //# sourceMappingURL=ws.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../../src/internal/ws.ts"],"names":[],"mappings":"AAEA,qFAAqF;AACrF,MAAM,WAAW,iBAAiB,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrE,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,wCAAwC;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,oCAAoC;IACpC,QAAQ,CAAC,UAAU,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CACzE;AAED;;;GAGG;AACH,MAAM,MAAM,qBAAqB,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAClE;IACE;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CACjE,GACD;IACE;;OAEG;IACH,KAAK,EAAE,IAAI,CAAC;CACb,CAAC;AAEN;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,eAAe,EAAE,CAAC;AAE9F,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAWzG;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,EAAE,eAAe,EAAE,CAAC,CAGnG;AAoBD;;;;;GAKG;AACH,qBAAa,SAAS,CAAC,CAAC,GAAG,OAAO;IAChC,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,SAAS,CAAS;gBAEd,QAAQ,GAAE,MAAkB;IAIxC;;;OAGG;IACH,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO;IAW1B;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO;IAW3C;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI;IAenD;;;OAGG;IACH,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE;CAS5B;AAGD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAiCxD"}
@@ -0,0 +1,148 @@
1
+ import { concatBytes, encodeUTF8 } from './utils/bytes.js';
2
+ function toUint8Array(view) {
3
+ if (view instanceof Uint8Array)
4
+ return view;
5
+ return new Uint8Array(view.buffer, view.byteOffset, view.byteLength);
6
+ }
7
+ /**
8
+ * Flatten `ArrayBufferView[]` fragments into a single `Uint8Array` so that
9
+ * `ws.send()` transmits the correct bytes.
10
+ */
11
+ export function flattenRawData(data) {
12
+ if (Array.isArray(data))
13
+ return concatBytes(data.map(toUint8Array));
14
+ return data;
15
+ }
16
+ function snapshotRawData(data) {
17
+ if (typeof data === 'string')
18
+ return data;
19
+ if (Array.isArray(data))
20
+ return concatBytes(data.map(toUint8Array));
21
+ if (ArrayBuffer.isView(data)) {
22
+ const copy = new Uint8Array(data.byteLength);
23
+ copy.set(toUint8Array(data));
24
+ return copy;
25
+ }
26
+ return data.slice(0);
27
+ }
28
+ function rawByteLength(data) {
29
+ if (typeof data === 'string')
30
+ return encodeUTF8(data).byteLength;
31
+ if (Array.isArray(data))
32
+ return data.reduce((sum, buf) => sum + buf.byteLength, 0);
33
+ if ('byteLength' in data)
34
+ return data.byteLength;
35
+ return 0;
36
+ }
37
+ /**
38
+ * A bounded queue for outgoing WebSocket messages. JSON messages are
39
+ * serialized on enqueue; raw messages are stored as-is. The queue enforces
40
+ * a configurable byte-size limit and can return the original messages via
41
+ * {@link drain} when the connection permanently closes.
42
+ */
43
+ export class SendQueue {
44
+ _queue = [];
45
+ _bytes = 0;
46
+ _maxBytes;
47
+ constructor(maxBytes = 1_048_576) {
48
+ this._maxBytes = maxBytes;
49
+ }
50
+ /**
51
+ * Serialize and enqueue a JSON message. Returns `true` if the message was
52
+ * accepted, `false` if it would exceed the byte-size limit.
53
+ */
54
+ enqueue(event) {
55
+ const data = JSON.stringify(event);
56
+ const byteLength = encodeUTF8(data).byteLength;
57
+ if (this._bytes + byteLength > this._maxBytes && this._queue.length > 0) {
58
+ return false;
59
+ }
60
+ this._queue.push({ kind: 'json', data, byteLength });
61
+ this._bytes += byteLength;
62
+ return true;
63
+ }
64
+ /**
65
+ * Enqueue raw data without serialization. Returns `true` if the data was
66
+ * accepted, `false` if it would exceed the byte-size limit.
67
+ */
68
+ enqueueRaw(data) {
69
+ const snapshot = snapshotRawData(data);
70
+ const byteLength = rawByteLength(snapshot);
71
+ if (this._bytes + byteLength > this._maxBytes && this._queue.length > 0) {
72
+ return false;
73
+ }
74
+ this._queue.push({ kind: 'raw', data: snapshot, byteLength });
75
+ this._bytes += byteLength;
76
+ return true;
77
+ }
78
+ /**
79
+ * Send every queued message via `send`. If `send` throws, the failing
80
+ * message and all subsequent messages are re-queued and the error is
81
+ * re-thrown so the caller can report it.
82
+ */
83
+ flush(send) {
84
+ const pending = this._queue.splice(0);
85
+ this._bytes = 0;
86
+ for (let i = 0; i < pending.length; i++) {
87
+ try {
88
+ send(pending[i].data);
89
+ }
90
+ catch (err) {
91
+ const remaining = pending.slice(i);
92
+ this._queue = remaining.concat(this._queue);
93
+ this._bytes = this._queue.reduce((sum, item) => sum + item.byteLength, 0);
94
+ throw err;
95
+ }
96
+ }
97
+ }
98
+ /**
99
+ * Drain the queue and return the unsent messages. JSON messages are
100
+ * deserialized back to their original form. Resets byte tracking to zero.
101
+ */
102
+ drain() {
103
+ const unsent = this._queue.map((entry) => {
104
+ if (entry.kind === 'raw')
105
+ return { type: 'raw', data: entry.data };
106
+ return { type: 'message', message: JSON.parse(entry.data) };
107
+ });
108
+ this._queue = [];
109
+ this._bytes = 0;
110
+ return unsent;
111
+ }
112
+ }
113
+ // RFC 6455 §7.4.1
114
+ export function isRecoverableClose(code) {
115
+ switch (code) {
116
+ case 1000:
117
+ return false; // Normal closure
118
+ case 1001:
119
+ return true; // Going away (server shutting down)
120
+ case 1002:
121
+ return false; // Protocol error
122
+ case 1003:
123
+ return false; // Unsupported data
124
+ case 1005:
125
+ return true; // No status code (abnormal)
126
+ case 1006:
127
+ return true; // Abnormal closure (network drop)
128
+ case 1007:
129
+ return false; // Invalid payload
130
+ case 1008:
131
+ return false; // Policy violation
132
+ case 1009:
133
+ return false; // Message too big
134
+ case 1010:
135
+ return false; // Missing extension
136
+ case 1011:
137
+ return true; // Internal server error
138
+ case 1012:
139
+ return true; // Service restart
140
+ case 1013:
141
+ return true; // Try again later
142
+ case 1015:
143
+ return true; // TLS handshake failure
144
+ default:
145
+ return false;
146
+ }
147
+ }
148
+ //# sourceMappingURL=ws.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws.js","sourceRoot":"","sources":["../../../src/internal/ws.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ import { APIResource } from './resource.js';
2
+ import type { RequestOptions } from './internal/request-options.js';
3
+ import type { APIPromise } from './api-promise.js';
4
+ export interface SessionOutputEvent {
5
+ event: string;
6
+ message: string;
7
+ provider?: string;
8
+ messageId?: string;
9
+ createdAt?: string;
10
+ }
11
+ export interface SessionEventDelta {
12
+ type: 'delta';
13
+ data: SessionOutputEvent;
14
+ }
15
+ export type LiveServerMessage = {
16
+ type: 'ready';
17
+ id?: string;
18
+ } | {
19
+ type: 'event';
20
+ id: string;
21
+ data: SessionEventDelta;
22
+ } | {
23
+ type: 'error';
24
+ id: string;
25
+ status: number;
26
+ message: string;
27
+ };
28
+ export type LiveClientMessage = {
29
+ op: 'subscribe';
30
+ id: string;
31
+ resource: 'sessions.events';
32
+ input: {
33
+ scope: {
34
+ sessionId: string;
35
+ };
36
+ };
37
+ } | {
38
+ op: 'unsubscribe';
39
+ id: string;
40
+ };
41
+ export interface LiveSubscribeParams {
42
+ resource: 'sessions.events';
43
+ input: {
44
+ scope: {
45
+ sessionId: string;
46
+ };
47
+ };
48
+ }
49
+ export interface LiveSubscribeOptions {
50
+ signal?: AbortSignal;
51
+ maxRetries?: number;
52
+ initialDelay?: number;
53
+ maxDelay?: number;
54
+ timeout?: number;
55
+ }
56
+ export declare class LiveSubscriptionError extends Error {
57
+ readonly status: number;
58
+ constructor(status: number, message: string);
59
+ }
60
+ export declare class LiveConnection implements AsyncIterable<LiveServerMessage> {
61
+ private readonly socket;
62
+ private readonly queue;
63
+ private bytes;
64
+ private ended;
65
+ private error;
66
+ private wake;
67
+ private iterating;
68
+ private readonly timer;
69
+ constructor(url: URL, timeout?: number);
70
+ send(message: LiveClientMessage): void;
71
+ close(): void;
72
+ private fail;
73
+ [Symbol.asyncIterator](): AsyncGenerator<LiveServerMessage>;
74
+ }
75
+ export declare class Live extends APIResource {
76
+ authorize(options?: RequestOptions): APIPromise<{
77
+ ticket: string;
78
+ }>;
79
+ connect(params: {
80
+ ticket: string;
81
+ }, options?: {
82
+ timeout?: number;
83
+ }): LiveConnection;
84
+ subscribe(params: LiveSubscribeParams, options?: LiveSubscribeOptions): AsyncGenerator<{
85
+ type: 'ready';
86
+ } | SessionEventDelta>;
87
+ }
88
+ export declare class SessionEvents extends APIResource {
89
+ live: {
90
+ subscribe: (params: {
91
+ sessionId: string;
92
+ }, options?: LiveSubscribeOptions) => AsyncGenerator<{
93
+ type: 'ready';
94
+ } | SessionEventDelta>;
95
+ };
96
+ }
97
+ //# sourceMappingURL=live.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../src/live.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,MAAM,MAAM,iBAAiB,GACzB;IAAE,EAAE,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE;QAAE,KAAK,EAAE;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,GACrG;IAAE,EAAE,EAAE,aAAa,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,KAAK,EAAE;QAAE,KAAK,EAAE;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CACzC;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,qBAAsB,SAAQ,KAAK;aAE5B,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EAC9B,OAAO,EAAE,MAAM;CAKlB;AA6CD,qBAAa,cAAe,YAAW,aAAa,CAAC,iBAAiB,CAAC;IACrE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqD;IAC3E,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;gBAE1C,GAAG,EAAE,GAAG,EAAE,OAAO,SAAQ;IA8BrC,IAAI,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAKtC,KAAK,IAAI,IAAI;IAQb,OAAO,CAAC,IAAI;IAML,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,iBAAiB,CAAC;CAqBnE;AAeD,qBAAa,IAAK,SAAQ,WAAW;IACnC,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAInE,OAAO,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc;IAM5E,SAAS,CACd,MAAM,EAAE,mBAAmB,EAC3B,OAAO,GAAE,oBAAyB,GACjC,cAAc,CAAC;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GAAG,iBAAiB,CAAC;CA6DzD;AAED,qBAAa,aAAc,SAAQ,WAAW;IAC5C,IAAI,EAAE;QACJ,SAAS,EAAE,CACT,MAAM,EAAE;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE,EAC7B,OAAO,CAAC,EAAE,oBAAoB,KAC3B,cAAc,CAAC;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,GAAG,iBAAiB,CAAC,CAAC;KAC5D,CAGC;CACH"}
@@ -0,0 +1,230 @@
1
+ import { APIResource } from './resource.js';
2
+ import { APIError, APIUserAbortError } from './error.js';
3
+ import { createLiveSocket } from './internal/live-socket.js';
4
+ export class LiveSubscriptionError extends Error {
5
+ status;
6
+ constructor(status, message) {
7
+ super(message);
8
+ this.status = status;
9
+ this.name = 'LiveSubscriptionError';
10
+ }
11
+ }
12
+ function parseFrame(text) {
13
+ const frame = JSON.parse(text);
14
+ if (!frame || typeof frame !== 'object' || !('type' in frame))
15
+ throw new Error('Invalid live frame');
16
+ if (frame.type === 'ready' && (!('id' in frame) || typeof frame.id === 'string'))
17
+ return frame;
18
+ if (!('id' in frame) || typeof frame.id !== 'string')
19
+ throw new Error('Invalid live subscription frame');
20
+ if (frame.type === 'error' &&
21
+ 'status' in frame &&
22
+ Number.isInteger(frame.status) &&
23
+ typeof frame.status === 'number' &&
24
+ frame.status >= 100 &&
25
+ frame.status <= 599 &&
26
+ 'message' in frame &&
27
+ typeof frame.message === 'string')
28
+ return frame;
29
+ if (frame.type === 'event' &&
30
+ 'data' in frame &&
31
+ frame.data &&
32
+ typeof frame.data === 'object' &&
33
+ 'type' in frame.data &&
34
+ frame.data.type === 'delta' &&
35
+ 'data' in frame.data) {
36
+ const output = frame.data.data;
37
+ if (output &&
38
+ typeof output === 'object' &&
39
+ 'event' in output &&
40
+ typeof output.event === 'string' &&
41
+ 'message' in output &&
42
+ typeof output.message === 'string' &&
43
+ ['provider', 'messageId', 'createdAt'].every((key) => !(key in output) || typeof output[key] === 'string'))
44
+ return frame;
45
+ }
46
+ throw new Error('Invalid live frame');
47
+ }
48
+ export class LiveConnection {
49
+ socket;
50
+ queue = [];
51
+ bytes = 0;
52
+ ended = false;
53
+ error;
54
+ wake;
55
+ iterating = false;
56
+ timer;
57
+ constructor(url, timeout = 15000) {
58
+ this.socket = createLiveSocket(url);
59
+ this.timer = setTimeout(() => this.fail(new Error('Live connection timed out')), timeout);
60
+ this.socket.on('message', (data) => {
61
+ if (this.ended)
62
+ return;
63
+ try {
64
+ const text = typeof data === 'string'
65
+ ? data
66
+ : new TextDecoder().decode(ArrayBuffer.isView(data)
67
+ ? new Uint8Array(data.buffer, data.byteOffset, data.byteLength)
68
+ : new Uint8Array(data));
69
+ const frame = parseFrame(text);
70
+ if (frame.type === 'ready' && frame.id === undefined)
71
+ clearTimeout(this.timer);
72
+ const bytes = new TextEncoder().encode(text).byteLength;
73
+ if (this.bytes + bytes > 1024 * 1024)
74
+ return this.fail(new Error('Live receive buffer exceeded 1 MiB'));
75
+ this.queue.push({ frame, bytes });
76
+ this.bytes += bytes;
77
+ this.wake?.();
78
+ }
79
+ catch {
80
+ this.fail(new LiveSubscriptionError(400, 'Invalid live server frame'));
81
+ }
82
+ });
83
+ this.socket.on('error', () => this.fail(new Error('Live connection failed')));
84
+ this.socket.on('close', () => this.close());
85
+ }
86
+ send(message) {
87
+ if (this.ended || this.socket.readyState !== 1)
88
+ throw new Error('Live connection is not open');
89
+ this.socket.send(JSON.stringify(message));
90
+ }
91
+ close() {
92
+ if (this.ended)
93
+ return;
94
+ this.ended = true;
95
+ clearTimeout(this.timer);
96
+ this.wake?.();
97
+ if (this.socket.readyState < 2)
98
+ this.socket.close();
99
+ }
100
+ fail(error) {
101
+ if (this.ended)
102
+ return;
103
+ this.error = error;
104
+ this.close();
105
+ }
106
+ async *[Symbol.asyncIterator]() {
107
+ if (this.iterating)
108
+ throw new Error('A live connection supports one iterator');
109
+ this.iterating = true;
110
+ try {
111
+ while (true) {
112
+ if (this.error)
113
+ throw this.error;
114
+ const next = this.queue.shift();
115
+ if (next) {
116
+ this.bytes -= next.bytes;
117
+ yield next.frame;
118
+ }
119
+ else if (this.ended)
120
+ return;
121
+ else
122
+ await new Promise((resolve) => {
123
+ this.wake = resolve;
124
+ });
125
+ }
126
+ }
127
+ finally {
128
+ this.wake = undefined;
129
+ this.close();
130
+ }
131
+ }
132
+ }
133
+ function backoff(delay, signal) {
134
+ return new Promise((resolve) => {
135
+ if (signal?.aborted)
136
+ return resolve();
137
+ const done = () => {
138
+ clearTimeout(timer);
139
+ signal?.removeEventListener('abort', done);
140
+ resolve();
141
+ };
142
+ const timer = setTimeout(done, delay);
143
+ signal?.addEventListener('abort', done, { once: true });
144
+ });
145
+ }
146
+ export class Live extends APIResource {
147
+ authorize(options) {
148
+ return this._client.post('/v1/live', options);
149
+ }
150
+ connect(params, options) {
151
+ const url = new URL(this._client.buildURL('/v1/live', { ticket: params.ticket }, undefined));
152
+ url.protocol = url.protocol === 'https:' ? 'wss:' : 'ws:';
153
+ return new LiveConnection(url, options?.timeout);
154
+ }
155
+ async *subscribe(params, options = {}) {
156
+ const { signal, maxRetries = 5, initialDelay = 500, maxDelay = 8000, timeout = 15000 } = options;
157
+ for (const [name, value] of Object.entries({ maxRetries, initialDelay, maxDelay, timeout })) {
158
+ if (!Number.isFinite(value) || value < 0 || (name === 'maxRetries' && !Number.isInteger(value)))
159
+ throw new RangeError(`Invalid ${name}`);
160
+ }
161
+ let failures = 0;
162
+ while (!signal?.aborted) {
163
+ let connection;
164
+ let readyTimer;
165
+ let timedOut = false;
166
+ const close = () => connection?.close();
167
+ try {
168
+ const { ticket } = await this.authorize({ signal, maxRetries: 0, timeout });
169
+ if (signal?.aborted)
170
+ return;
171
+ connection = this.connect({ ticket }, { timeout });
172
+ signal?.addEventListener('abort', close, { once: true });
173
+ readyTimer = setTimeout(() => {
174
+ timedOut = true;
175
+ close();
176
+ }, timeout);
177
+ let subscribed = false;
178
+ let ready = false;
179
+ for await (const frame of connection) {
180
+ if (signal?.aborted)
181
+ return;
182
+ if (frame.type === 'ready' && frame.id === undefined) {
183
+ if (subscribed)
184
+ throw new LiveSubscriptionError(400, 'Repeated connection readiness');
185
+ subscribed = true;
186
+ connection.send({ op: 'subscribe', id: 'events', ...params });
187
+ }
188
+ else if (frame.id === 'events') {
189
+ if (frame.type === 'error')
190
+ throw new LiveSubscriptionError(frame.status, frame.message);
191
+ if (frame.type === 'ready') {
192
+ ready = true;
193
+ clearTimeout(readyTimer);
194
+ failures = 0;
195
+ yield { type: 'ready' };
196
+ }
197
+ else if (frame.type === 'event') {
198
+ if (!ready)
199
+ throw new LiveSubscriptionError(400, 'Live event before subscription readiness');
200
+ yield frame.data;
201
+ }
202
+ }
203
+ }
204
+ if (signal?.aborted)
205
+ return;
206
+ throw new Error(timedOut ? 'Live subscription timed out' : 'Live connection closed');
207
+ }
208
+ catch (error) {
209
+ if (signal?.aborted || error instanceof APIUserAbortError)
210
+ return;
211
+ const status = error instanceof APIError || error instanceof LiveSubscriptionError ? error.status : undefined;
212
+ if ((status !== undefined && status >= 400 && status < 500 && status !== 429) ||
213
+ ++failures > maxRetries)
214
+ throw error;
215
+ }
216
+ finally {
217
+ clearTimeout(readyTimer);
218
+ signal?.removeEventListener('abort', close);
219
+ connection?.close();
220
+ }
221
+ await backoff(Math.min(initialDelay * 2 ** (failures - 1), maxDelay), signal);
222
+ }
223
+ }
224
+ }
225
+ export class SessionEvents extends APIResource {
226
+ live = {
227
+ subscribe: (params, options) => new Live(this._client).subscribe({ resource: 'sessions.events', input: { scope: params } }, options),
228
+ };
229
+ }
230
+ //# sourceMappingURL=live.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live.js","sourceRoot":"","sources":["../../src/live.ts"],"names":[],"mappings":"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"}