@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,70 @@
1
+ import { Tembo } from '../../client';
2
+ import { EventEmitter, type EventParameters } from '../../core/EventEmitter';
3
+ import { TemboError } from '../../error';
4
+ import type { RawWebSocketData, ReconnectingEvent, UnsentMessage } from '../../internal/ws';
5
+ import type { LiveWSParameters } from './ws-base';
6
+ type EventTypeOf<T> = T extends {
7
+ type?: infer EventType;
8
+ } ? EventType : never;
9
+ type LiveWSErrorEvent = Extract<unknown, {
10
+ type?: 'error';
11
+ }>;
12
+ export type LiveStreamMessage = {
13
+ type: 'connecting' | 'open' | 'closing';
14
+ } | {
15
+ type: 'close';
16
+ code: number;
17
+ reason: string;
18
+ unsent: UnsentMessage<unknown>[];
19
+ } | {
20
+ type: 'reconnecting';
21
+ reconnect: ReconnectingEvent<LiveWSParameters>;
22
+ } | {
23
+ type: 'reconnected';
24
+ } | {
25
+ type: 'message';
26
+ message: unknown;
27
+ } | {
28
+ type: 'raw';
29
+ data: RawWebSocketData;
30
+ } | {
31
+ type: 'error';
32
+ error: WebSocketError;
33
+ };
34
+ export declare class WebSocketError extends TemboError {
35
+ error?: LiveWSErrorEvent | undefined;
36
+ constructor(message: string, event: LiveWSErrorEvent | null);
37
+ }
38
+ type Simplify<T> = {
39
+ [KeyType in keyof T]: T[KeyType];
40
+ } & {};
41
+ type WebSocketEvents = Simplify<{
42
+ event: (event: unknown) => void;
43
+ raw: (data: RawWebSocketData) => void;
44
+ error: (error: WebSocketError) => void;
45
+ close: (code: number, reason: string, unsent: UnsentMessage<unknown>[]) => void;
46
+ reconnecting: (event: ReconnectingEvent<LiveWSParameters>) => void;
47
+ reconnected: () => void;
48
+ } & {
49
+ [EventType in Exclude<NonNullable<EventTypeOf<unknown>>, 'error'> & string]: (event: Extract<unknown, {
50
+ type?: EventType;
51
+ }>) => unknown;
52
+ }>;
53
+ export declare abstract class LiveEmitter extends EventEmitter<WebSocketEvents> {
54
+ /** Send an event to the API. */
55
+ abstract send(event: unknown): void;
56
+ /** Send raw data over the WebSocket without JSON serialization. */
57
+ abstract sendRaw(data: RawWebSocketData): void;
58
+ /** Close the WebSocket connection. */
59
+ abstract close(props?: {
60
+ code: number;
61
+ reason: string;
62
+ }): void;
63
+ protected _onError(event: null, message: string, cause: unknown): void;
64
+ protected _onError(event: LiveWSErrorEvent, message?: string | undefined): void;
65
+ _emit<Event extends keyof WebSocketEvents>(event: Event, ...args: EventParameters<WebSocketEvents, Event>): void;
66
+ }
67
+ export declare function buildURL(client: Tembo, parameters: Record<string, unknown>): URL;
68
+ export declare function parameterHeaders(parameters: Record<string, unknown>): Record<string, string>;
69
+ export {};
70
+ //# sourceMappingURL=internal-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal-base.d.ts","sourceRoot":"","sources":["../../../../src/resources/live/internal-base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Scalar. See README.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.LiveEmitter = exports.WebSocketError = void 0;
5
+ exports.buildURL = buildURL;
6
+ exports.parameterHeaders = parameterHeaders;
7
+ const path_1 = require("../../internal/utils/path");
8
+ const EventEmitter_1 = require("../../core/EventEmitter");
9
+ const error_1 = require("../../error");
10
+ class WebSocketError extends error_1.TemboError {
11
+ error;
12
+ constructor(message, event) {
13
+ super(message);
14
+ this.error = event ?? undefined;
15
+ }
16
+ }
17
+ exports.WebSocketError = WebSocketError;
18
+ WebSocketError.prototype.name = 'WebSocketError';
19
+ class LiveEmitter extends EventEmitter_1.EventEmitter {
20
+ _onError(event, message, cause) {
21
+ message = message ?? safeJSONStringify(event) ?? 'unknown error';
22
+ if (!this._hasListener('error')) {
23
+ const error = new WebSocketError(message +
24
+ "\n\nTo resolve these unhandled rejection errors you should bind an `error` callback, e.g. `ws.on('error', (error) => ...)` ", event);
25
+ error.cause = cause;
26
+ Promise.reject(error);
27
+ return;
28
+ }
29
+ const error = new WebSocketError(message, event);
30
+ error.cause = cause;
31
+ this._emit('error', error);
32
+ }
33
+ _emit(event, ...args) {
34
+ super._emit(event, ...args);
35
+ }
36
+ }
37
+ exports.LiveEmitter = LiveEmitter;
38
+ function buildURL(client, parameters) {
39
+ const { ...query } = parameters;
40
+ const endpoint = (0, path_1.path) `/v1/live`;
41
+ const url = new URL(client.buildURL(endpoint, query, undefined));
42
+ url.protocol = url.protocol === 'http:' || url.protocol === 'ws:' ? 'ws:' : 'wss:';
43
+ return url;
44
+ }
45
+ function parameterHeaders(parameters) {
46
+ const headers = {};
47
+ return headers;
48
+ }
49
+ function safeJSONStringify(value) {
50
+ try {
51
+ return JSON.stringify(value);
52
+ }
53
+ catch {
54
+ return null;
55
+ }
56
+ }
57
+ //# sourceMappingURL=internal-base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal-base.js","sourceRoot":"","sources":["../../../../src/resources/live/internal-base.ts"],"names":[],"mappings":";AAAA,6EAA6E;;;AAyF7E,4BAMC;AAED,4CAGC;AAlGD,oDAAiE;AAGjE,0DAA6E;AAC7E,uCAAyC;AAgBzC,MAAa,cAAe,SAAQ,kBAAU;IAC5C,KAAK,CAAgC;IAErC,YAAY,OAAe,EAAE,KAA8B;QACzD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,SAAS,CAAC;IAClC,CAAC;CACF;AAPD,wCAOC;AAED,cAAc,CAAC,SAAS,CAAC,IAAI,GAAG,gBAAgB,CAAC;AAmBjD,MAAsB,WAAY,SAAQ,2BAA6B;IAY3D,QAAQ,CAAC,KAA8B,EAAE,OAA4B,EAAE,KAAe;QAC9F,OAAO,GAAG,OAAO,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC;QAEjE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,cAAc,CAC9B,OAAO;gBACL,6HAA6H,EAC/H,KAAK,CACN,CAAC;YACD,KAAqC,CAAC,KAAK,GAAG,KAAK,CAAC;YACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAChD,KAAqC,CAAC,KAAK,GAAG,KAAK,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAEM,KAAK,CACV,KAAY,EACZ,GAAG,IAA6C;QAEhD,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;CACF;AArCD,kCAqCC;AAED,SAAgB,QAAQ,CAAC,MAAa,EAAE,UAAmC;IACzE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAA,WAAY,EAAA,UAAU,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IACjE,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACnF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,gBAAgB,CAAC,UAAmC;IAClE,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { APIResource } from '../../resource';
2
+ import { APIPromise } from '../../api-promise';
3
+ import type { RequestOptions } from '../../internal/request-options';
4
+ import { LiveWS, type LiveWSClientOptions } from './ws';
5
+ export declare class Live extends APIResource {
6
+ /**
7
+ * Issue a 30-second WebSocket ticket for one live connection that multiplexes resource subscriptions.
8
+ *
9
+ * @param {RequestOptions} [options] - Options to apply to the request, such as headers and an abort signal.
10
+ * @returns {APIPromise<LiveAuthorizeResponse>} Connection ticket
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const live = await client.live.authorize();
15
+ * ```
16
+ */
17
+ authorize(options?: RequestOptions): APIPromise<LiveAuthorizeResponse>;
18
+ /**
19
+ * Native WebSocket. Send `{ op: "subscribe", id, resource, input }` or `{ op: "unsubscribe", id }`; receive `{ id, type: "ready" | "event" | "error" }`.
20
+ *
21
+ * @param {LiveConnectParams} params - The parameters to send with the request.
22
+ * @param {LiveWSClientOptions} [options] - Options to apply to the request, such as headers and an abort signal.
23
+ * @returns {LiveWS} Authorized native WebSocket
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * const connection = client.live.connect({
28
+ * ticket: 'ticket',
29
+ * });
30
+ *
31
+ * try {
32
+ * for await (const message of connection) {
33
+ * console.log(message);
34
+ * }
35
+ * } finally {
36
+ * connection.close();
37
+ * }
38
+ * ```
39
+ */
40
+ connect(params: LiveConnectParams, options?: LiveWSClientOptions): LiveWS;
41
+ }
42
+ export interface LiveAuthorizeResponse {
43
+ ticket: string;
44
+ }
45
+ export interface LiveConnectParams {
46
+ /**
47
+ * @minLength 1
48
+ */
49
+ ticket: string;
50
+ }
51
+ export declare namespace Live {
52
+ export { type LiveAuthorizeResponse as LiveAuthorizeResponse, type LiveConnectParams as LiveConnectParams };
53
+ }
54
+ //# sourceMappingURL=live.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../../../src/resources/live/live.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,KAAK,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAExD,qBAAa,IAAK,SAAQ,WAAW;IACnC;;;;;;;;;;OAUG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,qBAAqB,CAAC;IAItE;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM;CAI1E;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,OAAO,EAAE,KAAK,qBAAqB,IAAI,qBAAqB,EAAE,KAAK,iBAAiB,IAAI,iBAAiB,EAAE,CAAC;CAC7G"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Scalar. See README.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Live = void 0;
5
+ const resource_1 = require("../../resource");
6
+ const ws_1 = require("./ws");
7
+ class Live extends resource_1.APIResource {
8
+ /**
9
+ * Issue a 30-second WebSocket ticket for one live connection that multiplexes resource subscriptions.
10
+ *
11
+ * @param {RequestOptions} [options] - Options to apply to the request, such as headers and an abort signal.
12
+ * @returns {APIPromise<LiveAuthorizeResponse>} Connection ticket
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * const live = await client.live.authorize();
17
+ * ```
18
+ */
19
+ authorize(options) {
20
+ return this._client.post('/v1/live', options);
21
+ }
22
+ /**
23
+ * Native WebSocket. Send `{ op: "subscribe", id, resource, input }` or `{ op: "unsubscribe", id }`; receive `{ id, type: "ready" | "event" | "error" }`.
24
+ *
25
+ * @param {LiveConnectParams} params - The parameters to send with the request.
26
+ * @param {LiveWSClientOptions} [options] - Options to apply to the request, such as headers and an abort signal.
27
+ * @returns {LiveWS} Authorized native WebSocket
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * const connection = client.live.connect({
32
+ * ticket: 'ticket',
33
+ * });
34
+ *
35
+ * try {
36
+ * for await (const message of connection) {
37
+ * console.log(message);
38
+ * }
39
+ * } finally {
40
+ * connection.close();
41
+ * }
42
+ * ```
43
+ */
44
+ connect(params, options) {
45
+ const { ticket } = params;
46
+ return new ws_1.LiveWS(this._client, { ticket: ticket }, options);
47
+ }
48
+ }
49
+ exports.Live = Live;
50
+ //# sourceMappingURL=live.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live.js","sourceRoot":"","sources":["../../../../src/resources/live/live.ts"],"names":[],"mappings":";AAAA,6EAA6E;;;AAE7E,6CAA6C;AAG7C,6BAAwD;AAExD,MAAa,IAAK,SAAQ,sBAAW;IACnC;;;;;;;;;;OAUG;IACH,SAAS,CAAC,OAAwB;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,CAAC,MAAyB,EAAE,OAA6B;QAC9D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAC1B,OAAO,IAAI,WAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;CACF;AA1CD,oBA0CC"}
@@ -0,0 +1,57 @@
1
+ import { LiveEmitter, LiveStreamMessage } from './internal-base';
2
+ import { type WebSocketLike } from '../../internal/ws-adapter';
3
+ import { type RawWebSocketData, type ReconnectingEvent, type ReconnectingOverrides } from '../../internal/ws';
4
+ import { Tembo } from '../../client';
5
+ export interface LiveWSParameters extends Record<string, unknown> {
6
+ ticket: string;
7
+ }
8
+ export interface LiveWSReconnectOptions {
9
+ /** Called before each reconnect attempt. */
10
+ onReconnecting(event: ReconnectingEvent<LiveWSParameters>): ReconnectingOverrides<LiveWSParameters> | void;
11
+ /** Maximum number of reconnection attempts. Default: 5. Set to 0 to disable reconnection. */
12
+ maxRetries?: number;
13
+ /** Initial backoff delay in milliseconds. Default: 500. */
14
+ initialDelay?: number;
15
+ /** Maximum backoff delay in milliseconds. Default: 8000. */
16
+ maxDelay?: number;
17
+ }
18
+ export interface LiveWSBaseOptions {
19
+ /** Options for automatic reconnection on recoverable close codes. */
20
+ reconnect?: LiveWSReconnectOptions | null | undefined;
21
+ /** Maximum size of the outgoing message queue in bytes. Default: 1 MB. */
22
+ maxQueueSize?: number | undefined;
23
+ }
24
+ export declare abstract class LiveWSBase<TSocket extends WebSocketLike> extends LiveEmitter {
25
+ url: URL;
26
+ socket: TSocket;
27
+ protected _client: Tembo;
28
+ protected _parameters: LiveWSParameters | null | undefined;
29
+ private _reconnectOptions;
30
+ private _sendQueue;
31
+ private _isReconnecting;
32
+ private _intentionallyClosed;
33
+ private _closeCode;
34
+ private _closeReason;
35
+ private _lastCloseCode;
36
+ private _lastCloseReason;
37
+ private _internalEvents;
38
+ constructor(client: Tembo, parameters: LiveWSParameters, options?: LiveWSBaseOptions | undefined);
39
+ protected _connectInitial(): void;
40
+ protected abstract _createSocket(url: URL, authHeaders: Record<string, string>): TSocket;
41
+ send(event: unknown): void;
42
+ sendRaw(data: RawWebSocketData): void;
43
+ close(props?: {
44
+ code: number;
45
+ reason: string;
46
+ }): void;
47
+ stream(): AsyncIterableIterator<LiveStreamMessage>;
48
+ [Symbol.asyncIterator](): AsyncIterableIterator<LiveStreamMessage>;
49
+ private _connect;
50
+ private _canReconnect;
51
+ private _reconnect;
52
+ private _awaitOpen;
53
+ private _flushSendQueue;
54
+ private _emitPermanentClose;
55
+ protected _authHeaders(): Record<string, string>;
56
+ }
57
+ //# sourceMappingURL=ws-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws-base.d.ts","sourceRoot":"","sources":["../../../../src/resources/live/ws-base.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAA8C,MAAM,iBAAiB,CAAC;AAG7G,OAAO,EAAE,KAAK,aAAa,EAAc,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAE3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAGrC,MAAM,WAAW,gBAAiB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,4CAA4C;IAC5C,cAAc,CAAC,KAAK,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAC3G,6FAA6F;IAC7F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,SAAS,CAAC,EAAE,sBAAsB,GAAG,IAAI,GAAG,SAAS,CAAC;IACtD,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,8BAAsB,UAAU,CAAC,OAAO,SAAS,aAAa,CAAE,SAAQ,WAAW;IACjF,GAAG,EAAG,GAAG,CAAC;IACV,MAAM,EAAG,OAAO,CAAC;IAEjB,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC;IACzB,SAAS,CAAC,WAAW,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3D,OAAO,CAAC,iBAAiB,CAAgC;IACzD,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,eAAe,CAKlB;gBAEO,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,SAAS;IAQhG,SAAS,CAAC,eAAe,IAAI,IAAI;IAKjC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO;IAExF,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAiB1B,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAiBrC,KAAK,CAAC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAWrD,MAAM,IAAI,qBAAqB,CAAC,iBAAiB,CAAC;IAIlD,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,iBAAiB,CAAC;IA4FlE,OAAO,CAAC,QAAQ;IAgChB,OAAO,CAAC,aAAa;YAWP,UAAU;IAyFxB,OAAO,CAAC,UAAU;IAyBlB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,mBAAmB;IAQ3B,SAAS,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAGjD"}
@@ -0,0 +1,359 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Scalar. See README.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.LiveWSBase = void 0;
5
+ const internal_base_1 = require("./internal-base");
6
+ const EventEmitter_1 = require("../../core/EventEmitter");
7
+ const sleep_1 = require("../../internal/utils/sleep");
8
+ const ws_adapter_1 = require("../../internal/ws-adapter");
9
+ const ws_1 = require("../../internal/ws");
10
+ class LiveWSBase extends internal_base_1.LiveEmitter {
11
+ url;
12
+ socket;
13
+ _client;
14
+ _parameters;
15
+ _reconnectOptions;
16
+ _sendQueue;
17
+ _isReconnecting = false;
18
+ _intentionallyClosed = false;
19
+ _closeCode = 1000;
20
+ _closeReason = 'OK';
21
+ _lastCloseCode = 1006;
22
+ _lastCloseReason = '';
23
+ _internalEvents = new EventEmitter_1.InternalEventEmitter();
24
+ constructor(client, parameters, options) {
25
+ super();
26
+ this._client = client;
27
+ this._parameters = parameters ?? undefined;
28
+ this._reconnectOptions = options?.reconnect ?? null;
29
+ this._sendQueue = new ws_1.SendQueue(options?.maxQueueSize);
30
+ }
31
+ _connectInitial() {
32
+ this.url = (0, internal_base_1.buildURL)(this._client, this._parameters ?? {});
33
+ this.socket = this._connect();
34
+ }
35
+ send(event) {
36
+ if (this._isReconnecting || this.socket.readyState === ws_adapter_1.ReadyState.CONNECTING) {
37
+ if (!this._sendQueue.enqueue(event))
38
+ this._onError(null, 'send queue is full, message discarded', undefined);
39
+ return;
40
+ }
41
+ if (this.socket.readyState !== ws_adapter_1.ReadyState.OPEN) {
42
+ this._onError(null, 'cannot send on a closed WebSocket', undefined);
43
+ return;
44
+ }
45
+ try {
46
+ this.socket.send(JSON.stringify(event));
47
+ }
48
+ catch (err) {
49
+ this._onError(null, 'could not send data', err);
50
+ }
51
+ }
52
+ sendRaw(data) {
53
+ if (this._isReconnecting || this.socket.readyState === ws_adapter_1.ReadyState.CONNECTING) {
54
+ if (!this._sendQueue.enqueueRaw(data))
55
+ this._onError(null, 'send queue is full, message discarded', undefined);
56
+ return;
57
+ }
58
+ if (this.socket.readyState !== ws_adapter_1.ReadyState.OPEN) {
59
+ this._onError(null, 'cannot send on a closed WebSocket', undefined);
60
+ return;
61
+ }
62
+ try {
63
+ this.socket.send((0, ws_1.flattenRawData)(data));
64
+ }
65
+ catch (err) {
66
+ this._onError(null, 'could not send data', err);
67
+ }
68
+ }
69
+ close(props) {
70
+ this._intentionallyClosed = true;
71
+ this._closeCode = props?.code ?? 1000;
72
+ this._closeReason = props?.reason ?? 'OK';
73
+ try {
74
+ this.socket.close(this._closeCode, this._closeReason);
75
+ }
76
+ catch (err) {
77
+ this._onError(null, 'could not close the connection', err);
78
+ }
79
+ }
80
+ stream() {
81
+ return this[Symbol.asyncIterator]();
82
+ }
83
+ [Symbol.asyncIterator]() {
84
+ const queue = [];
85
+ const resolvers = [];
86
+ let done = false;
87
+ let currentSocket = this.socket;
88
+ const push = (msg) => {
89
+ queue.push(msg);
90
+ resolvers.shift()?.();
91
+ };
92
+ const flushResolvers = () => {
93
+ for (let resolver = resolvers.shift(); resolver; resolver = resolvers.shift())
94
+ resolver();
95
+ };
96
+ const cleanup = () => {
97
+ this.off('event', onEvent);
98
+ this.off('raw', onRaw);
99
+ this.off('error', onEmitterError);
100
+ currentSocket.off('open', onOpen);
101
+ this._internalEvents.off('close', onClose);
102
+ this._internalEvents.off('socketSwap', onSocketSwap);
103
+ this._internalEvents.off('reconnecting', onReconnecting);
104
+ this._internalEvents.off('reconnected', onReconnected);
105
+ };
106
+ const onEvent = (event) => {
107
+ if (!isErrorEvent(event))
108
+ push({ type: 'message', message: event });
109
+ };
110
+ const onRaw = (data) => push({ type: 'raw', data });
111
+ const onEmitterError = (error) => push({ type: 'error', error });
112
+ const onOpen = () => push({ type: 'open' });
113
+ const onReconnecting = (event) => push({ type: 'reconnecting', reconnect: event });
114
+ const onReconnected = () => push({ type: 'reconnected' });
115
+ const onClose = (code, reason, unsent) => {
116
+ push({ type: 'close', code, reason, unsent });
117
+ done = true;
118
+ flushResolvers();
119
+ cleanup();
120
+ };
121
+ const onSocketSwap = (oldSocket, newSocket) => {
122
+ oldSocket.off('open', onOpen);
123
+ newSocket.on('open', onOpen);
124
+ currentSocket = newSocket;
125
+ };
126
+ this.on('event', onEvent);
127
+ this.on('raw', onRaw);
128
+ this.on('error', onEmitterError);
129
+ this.socket.on('open', onOpen);
130
+ this._internalEvents.on('close', onClose);
131
+ this._internalEvents.on('socketSwap', onSocketSwap);
132
+ this._internalEvents.on('reconnecting', onReconnecting);
133
+ this._internalEvents.on('reconnected', onReconnected);
134
+ if (this._isReconnecting)
135
+ push({
136
+ type: 'reconnecting',
137
+ reconnect: { attempt: 0, maxAttempts: 0, delay: 0, closeCode: 0, parameters: undefined },
138
+ });
139
+ else if (this.socket.readyState === ws_adapter_1.ReadyState.CONNECTING)
140
+ push({ type: 'connecting' });
141
+ else if (this.socket.readyState === ws_adapter_1.ReadyState.OPEN)
142
+ push({ type: 'open' });
143
+ else if (this.socket.readyState === ws_adapter_1.ReadyState.CLOSING)
144
+ push({ type: 'closing' });
145
+ else {
146
+ push({
147
+ type: 'close',
148
+ code: this._lastCloseCode,
149
+ reason: this._lastCloseReason,
150
+ unsent: this._sendQueue.drain(),
151
+ });
152
+ done = true;
153
+ cleanup();
154
+ }
155
+ const next = () => new Promise((resolve) => {
156
+ if (queue.length > 0)
157
+ resolve({ value: queue.shift(), done: false });
158
+ else if (done)
159
+ resolve({ value: undefined, done: true });
160
+ else
161
+ resolvers.push(() => {
162
+ if (queue.length > 0)
163
+ resolve({ value: queue.shift(), done: false });
164
+ else
165
+ resolve({ value: undefined, done: true });
166
+ });
167
+ });
168
+ return {
169
+ next,
170
+ return: () => {
171
+ done = true;
172
+ cleanup();
173
+ flushResolvers();
174
+ return Promise.resolve({ value: undefined, done: true });
175
+ },
176
+ [Symbol.asyncIterator]() {
177
+ return this;
178
+ },
179
+ };
180
+ }
181
+ _connect() {
182
+ this.url = (0, internal_base_1.buildURL)(this._client, this._parameters ?? {});
183
+ const socket = this._createSocket(this.url, this._authHeaders());
184
+ socket.on('message', (data, isBinary) => {
185
+ if (isBinary) {
186
+ this._emit('raw', data);
187
+ return;
188
+ }
189
+ const text = typeof data === 'string' ? data : String(data);
190
+ let event;
191
+ try {
192
+ event = JSON.parse(text);
193
+ }
194
+ catch {
195
+ this._emit('raw', data);
196
+ return;
197
+ }
198
+ this._emit('event', event);
199
+ if (isErrorEvent(event))
200
+ this._onError(event);
201
+ else
202
+ emitTypedEvent(this, event);
203
+ });
204
+ socket.on('error', (err) => {
205
+ if (!this._isReconnecting)
206
+ this._onError(null, err.message, err);
207
+ });
208
+ socket.on('open', () => this._flushSendQueue());
209
+ socket.on('close', (code, reason) => {
210
+ if (socket !== this.socket)
211
+ return;
212
+ if (!this._intentionallyClosed && this._canReconnect(code))
213
+ this._reconnect(code);
214
+ else if (!this._isReconnecting)
215
+ this._emitPermanentClose(code, reason);
216
+ });
217
+ return socket;
218
+ }
219
+ _canReconnect(code) {
220
+ if (this._intentionallyClosed ||
221
+ !this._reconnectOptions ||
222
+ this._reconnectOptions.maxRetries === 0 ||
223
+ !this._reconnectOptions.onReconnecting)
224
+ return false;
225
+ return (0, ws_1.isRecoverableClose)(code);
226
+ }
227
+ async _reconnect(closeCode) {
228
+ if (this._isReconnecting || !this._reconnectOptions)
229
+ return;
230
+ this._isReconnecting = true;
231
+ const maxRetries = this._reconnectOptions.maxRetries ?? 5;
232
+ const initialDelay = this._reconnectOptions.initialDelay ?? 500;
233
+ const maxDelay = this._reconnectOptions.maxDelay ?? 8000;
234
+ for (let attempt = 1; attempt <= maxRetries; attempt++) {
235
+ if (!this._canReconnect(closeCode)) {
236
+ this._isReconnecting = false;
237
+ this._emitPermanentClose(this._intentionallyClosed ? this._closeCode : closeCode, this._intentionallyClosed ? this._closeReason : 'reconnect aborted');
238
+ return;
239
+ }
240
+ const delay = Math.round(Math.min(initialDelay * 2 ** (attempt - 1), maxDelay) * (0.75 + Math.random() * 0.25));
241
+ let reconnectingEvent = {
242
+ attempt,
243
+ maxAttempts: maxRetries,
244
+ delay,
245
+ closeCode,
246
+ parameters: this._parameters ? { ...this._parameters } : undefined,
247
+ };
248
+ let overrides;
249
+ try {
250
+ overrides = this._reconnectOptions.onReconnecting(reconnectingEvent);
251
+ }
252
+ catch (err) {
253
+ this._isReconnecting = false;
254
+ this._onError(null, 'onReconnecting callback threw', err);
255
+ this._emitPermanentClose(closeCode, 'onReconnecting callback threw');
256
+ return;
257
+ }
258
+ if (overrides && 'abort' in overrides && overrides.abort) {
259
+ this._isReconnecting = false;
260
+ this._emitPermanentClose(closeCode, 'reconnect aborted by handler');
261
+ return;
262
+ }
263
+ if (overrides && 'parameters' in overrides) {
264
+ this._parameters = overrides.parameters;
265
+ reconnectingEvent = { ...reconnectingEvent, parameters: this._parameters };
266
+ }
267
+ this._emit('reconnecting', reconnectingEvent);
268
+ this._internalEvents._emit('reconnecting', reconnectingEvent);
269
+ if (!this._canReconnect(closeCode)) {
270
+ this._isReconnecting = false;
271
+ this._emitPermanentClose(this._intentionallyClosed ? this._closeCode : closeCode, this._intentionallyClosed ? this._closeReason : 'reconnect aborted');
272
+ return;
273
+ }
274
+ await (0, sleep_1.sleep)(delay);
275
+ if (!this._canReconnect(closeCode)) {
276
+ this._isReconnecting = false;
277
+ this._emitPermanentClose(this._intentionallyClosed ? this._closeCode : closeCode, this._intentionallyClosed ? this._closeReason : 'reconnect aborted');
278
+ return;
279
+ }
280
+ let closeCodePromise;
281
+ try {
282
+ const oldSocket = this.socket;
283
+ this.socket = this._connect();
284
+ closeCodePromise = new Promise((resolve) => {
285
+ this.socket.once('close', resolve);
286
+ });
287
+ await this._awaitOpen(this.socket);
288
+ this._internalEvents._emit('socketSwap', oldSocket, this.socket);
289
+ this._isReconnecting = false;
290
+ this._flushSendQueue();
291
+ this._emit('reconnected');
292
+ this._internalEvents._emit('reconnected');
293
+ return;
294
+ }
295
+ catch {
296
+ if (closeCodePromise)
297
+ closeCode = await closeCodePromise;
298
+ }
299
+ }
300
+ this._isReconnecting = false;
301
+ this._onError(null, `WebSocket reconnect failed after ${maxRetries} attempts (close code: ${closeCode})`, undefined);
302
+ this._emitPermanentClose(closeCode, `reconnect failed after ${maxRetries} attempts`);
303
+ }
304
+ _awaitOpen(socket) {
305
+ return new Promise((resolve, reject) => {
306
+ const cleanup = () => {
307
+ socket.off('open', onOpen);
308
+ socket.off('error', onError);
309
+ socket.off('close', onFail);
310
+ };
311
+ const onOpen = () => {
312
+ cleanup();
313
+ resolve();
314
+ };
315
+ const onError = (err) => {
316
+ cleanup();
317
+ reject(err);
318
+ };
319
+ const onFail = () => {
320
+ cleanup();
321
+ reject(new Error('socket closed before open'));
322
+ };
323
+ socket.once('open', onOpen);
324
+ socket.once('error', onError);
325
+ socket.once('close', onFail);
326
+ });
327
+ }
328
+ _flushSendQueue() {
329
+ try {
330
+ this._sendQueue.flush((data) => this.socket.send((0, ws_1.flattenRawData)(data)));
331
+ }
332
+ catch (err) {
333
+ this._onError(null, 'could not send queued data', err);
334
+ }
335
+ }
336
+ _emitPermanentClose(code, reason) {
337
+ this._lastCloseCode = code;
338
+ this._lastCloseReason = reason;
339
+ const unsent = this._sendQueue.drain();
340
+ this._internalEvents._emit('close', code, reason, unsent);
341
+ this._emit('close', code, reason, unsent);
342
+ }
343
+ _authHeaders() {
344
+ return { ...this._client.webSocketAuthHeaders(), ...(0, internal_base_1.parameterHeaders)(this._parameters ?? {}) };
345
+ }
346
+ }
347
+ exports.LiveWSBase = LiveWSBase;
348
+ const isErrorEvent = (event) => typeof event === 'object' && event !== null && 'type' in event && event.type === 'error';
349
+ const emitTypedEvent = (emitter, event) => {
350
+ // `/v1/live` frames use `type: 'event'`, which `_connect` has already emitted on the `event` channel.
351
+ if (typeof event === 'object' &&
352
+ event !== null &&
353
+ 'type' in event &&
354
+ typeof event.type === 'string' &&
355
+ event.type !== 'event') {
356
+ emitter._emit(event.type, event);
357
+ }
358
+ };
359
+ //# sourceMappingURL=ws-base.js.map