@tabstack/sdk 1.0.5 → 2.1.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 (513) hide show
  1. package/CHANGELOG.md +117 -0
  2. package/LICENSE +1 -1
  3. package/README.md +282 -356
  4. package/api-promise.d.mts +2 -0
  5. package/api-promise.d.mts.map +1 -0
  6. package/api-promise.d.ts +2 -0
  7. package/api-promise.d.ts.map +1 -0
  8. package/api-promise.js +6 -0
  9. package/api-promise.js.map +1 -0
  10. package/api-promise.mjs +2 -0
  11. package/api-promise.mjs.map +1 -0
  12. package/client.d.mts +186 -0
  13. package/client.d.mts.map +1 -0
  14. package/client.d.ts +186 -0
  15. package/client.d.ts.map +1 -0
  16. package/client.js +467 -0
  17. package/client.js.map +1 -0
  18. package/client.mjs +463 -0
  19. package/client.mjs.map +1 -0
  20. package/core/api-promise.d.mts +46 -0
  21. package/core/api-promise.d.mts.map +1 -0
  22. package/core/api-promise.d.ts +46 -0
  23. package/core/api-promise.d.ts.map +1 -0
  24. package/core/api-promise.js +74 -0
  25. package/core/api-promise.js.map +1 -0
  26. package/core/api-promise.mjs +70 -0
  27. package/core/api-promise.mjs.map +1 -0
  28. package/core/error.d.mts +46 -0
  29. package/core/error.d.mts.map +1 -0
  30. package/core/error.d.ts +46 -0
  31. package/core/error.d.ts.map +1 -0
  32. package/core/error.js +113 -0
  33. package/core/error.js.map +1 -0
  34. package/core/error.mjs +97 -0
  35. package/core/error.mjs.map +1 -0
  36. package/core/resource.d.mts +6 -0
  37. package/core/resource.d.mts.map +1 -0
  38. package/core/resource.d.ts +6 -0
  39. package/core/resource.d.ts.map +1 -0
  40. package/core/resource.js +11 -0
  41. package/core/resource.js.map +1 -0
  42. package/core/resource.mjs +7 -0
  43. package/core/resource.mjs.map +1 -0
  44. package/core/streaming.d.mts +33 -0
  45. package/core/streaming.d.mts.map +1 -0
  46. package/core/streaming.d.ts +33 -0
  47. package/core/streaming.d.ts.map +1 -0
  48. package/core/streaming.js +263 -0
  49. package/core/streaming.js.map +1 -0
  50. package/core/streaming.mjs +258 -0
  51. package/core/streaming.mjs.map +1 -0
  52. package/core/uploads.d.mts +3 -0
  53. package/core/uploads.d.mts.map +1 -0
  54. package/core/uploads.d.ts +3 -0
  55. package/core/uploads.d.ts.map +1 -0
  56. package/core/uploads.js +6 -0
  57. package/core/uploads.js.map +1 -0
  58. package/core/uploads.mjs +2 -0
  59. package/core/uploads.mjs.map +1 -0
  60. package/error.d.mts +2 -0
  61. package/error.d.mts.map +1 -0
  62. package/error.d.ts +2 -0
  63. package/error.d.ts.map +1 -0
  64. package/error.js +6 -0
  65. package/error.js.map +1 -0
  66. package/error.mjs +2 -0
  67. package/error.mjs.map +1 -0
  68. package/index.d.mts +6 -0
  69. package/index.d.mts.map +1 -0
  70. package/index.d.ts +6 -0
  71. package/index.d.ts.map +1 -0
  72. package/index.js +30 -0
  73. package/index.js.map +1 -0
  74. package/index.mjs +7 -0
  75. package/index.mjs.map +1 -0
  76. package/internal/builtin-types.d.mts +73 -0
  77. package/internal/builtin-types.d.mts.map +1 -0
  78. package/internal/builtin-types.d.ts +73 -0
  79. package/internal/builtin-types.d.ts.map +1 -0
  80. package/internal/builtin-types.js +4 -0
  81. package/internal/builtin-types.js.map +1 -0
  82. package/internal/builtin-types.mjs +3 -0
  83. package/internal/builtin-types.mjs.map +1 -0
  84. package/internal/decoders/line.d.mts +17 -0
  85. package/internal/decoders/line.d.mts.map +1 -0
  86. package/internal/decoders/line.d.ts +17 -0
  87. package/internal/decoders/line.d.ts.map +1 -0
  88. package/internal/decoders/line.js +113 -0
  89. package/internal/decoders/line.js.map +1 -0
  90. package/internal/decoders/line.mjs +108 -0
  91. package/internal/decoders/line.mjs.map +1 -0
  92. package/internal/detect-platform.d.mts +15 -0
  93. package/internal/detect-platform.d.mts.map +1 -0
  94. package/internal/detect-platform.d.ts +15 -0
  95. package/internal/detect-platform.d.ts.map +1 -0
  96. package/internal/detect-platform.js +162 -0
  97. package/internal/detect-platform.js.map +1 -0
  98. package/internal/detect-platform.mjs +157 -0
  99. package/internal/detect-platform.mjs.map +1 -0
  100. package/internal/errors.d.mts +3 -0
  101. package/internal/errors.d.mts.map +1 -0
  102. package/internal/errors.d.ts +3 -0
  103. package/internal/errors.d.ts.map +1 -0
  104. package/internal/errors.js +41 -0
  105. package/internal/errors.js.map +1 -0
  106. package/internal/errors.mjs +36 -0
  107. package/internal/errors.mjs.map +1 -0
  108. package/internal/headers.d.mts +20 -0
  109. package/internal/headers.d.mts.map +1 -0
  110. package/internal/headers.d.ts +20 -0
  111. package/internal/headers.d.ts.map +1 -0
  112. package/internal/headers.js +79 -0
  113. package/internal/headers.js.map +1 -0
  114. package/internal/headers.mjs +74 -0
  115. package/internal/headers.mjs.map +1 -0
  116. package/internal/parse.d.mts +12 -0
  117. package/internal/parse.d.mts.map +1 -0
  118. package/internal/parse.d.ts +12 -0
  119. package/internal/parse.d.ts.map +1 -0
  120. package/internal/parse.js +45 -0
  121. package/internal/parse.js.map +1 -0
  122. package/internal/parse.mjs +42 -0
  123. package/internal/parse.mjs.map +1 -0
  124. package/internal/request-options.d.mts +77 -0
  125. package/internal/request-options.d.mts.map +1 -0
  126. package/internal/request-options.d.ts +77 -0
  127. package/internal/request-options.d.ts.map +1 -0
  128. package/internal/request-options.js +14 -0
  129. package/internal/request-options.js.map +1 -0
  130. package/internal/request-options.mjs +10 -0
  131. package/internal/request-options.mjs.map +1 -0
  132. package/internal/shim-types.d.mts +17 -0
  133. package/internal/shim-types.d.mts.map +1 -0
  134. package/internal/shim-types.d.ts +17 -0
  135. package/internal/shim-types.d.ts.map +1 -0
  136. package/internal/shim-types.js +4 -0
  137. package/internal/shim-types.js.map +1 -0
  138. package/internal/shim-types.mjs +3 -0
  139. package/internal/shim-types.mjs.map +1 -0
  140. package/internal/shims.d.mts +20 -0
  141. package/internal/shims.d.mts.map +1 -0
  142. package/internal/shims.d.ts +20 -0
  143. package/internal/shims.d.ts.map +1 -0
  144. package/internal/shims.js +92 -0
  145. package/internal/shims.js.map +1 -0
  146. package/internal/shims.mjs +85 -0
  147. package/internal/shims.mjs.map +1 -0
  148. package/internal/to-file.d.mts +45 -0
  149. package/internal/to-file.d.mts.map +1 -0
  150. package/internal/to-file.d.ts +45 -0
  151. package/internal/to-file.d.ts.map +1 -0
  152. package/internal/to-file.js +91 -0
  153. package/internal/to-file.js.map +1 -0
  154. package/internal/to-file.mjs +88 -0
  155. package/internal/to-file.mjs.map +1 -0
  156. package/internal/tslib.js +81 -0
  157. package/internal/tslib.mjs +17 -0
  158. package/internal/types.d.mts +69 -0
  159. package/internal/types.d.mts.map +1 -0
  160. package/internal/types.d.ts +69 -0
  161. package/internal/types.d.ts.map +1 -0
  162. package/internal/types.js +4 -0
  163. package/internal/types.js.map +1 -0
  164. package/internal/types.mjs +3 -0
  165. package/internal/types.mjs.map +1 -0
  166. package/internal/uploads.d.mts +42 -0
  167. package/internal/uploads.d.mts.map +1 -0
  168. package/internal/uploads.d.ts +42 -0
  169. package/internal/uploads.d.ts.map +1 -0
  170. package/internal/uploads.js +141 -0
  171. package/internal/uploads.js.map +1 -0
  172. package/internal/uploads.mjs +131 -0
  173. package/internal/uploads.mjs.map +1 -0
  174. package/internal/utils/base64.d.mts +3 -0
  175. package/internal/utils/base64.d.mts.map +1 -0
  176. package/internal/utils/base64.d.ts +3 -0
  177. package/internal/utils/base64.d.ts.map +1 -0
  178. package/internal/utils/base64.js +38 -0
  179. package/internal/utils/base64.js.map +1 -0
  180. package/internal/utils/base64.mjs +33 -0
  181. package/internal/utils/base64.mjs.map +1 -0
  182. package/internal/utils/bytes.d.mts +4 -0
  183. package/internal/utils/bytes.d.mts.map +1 -0
  184. package/internal/utils/bytes.d.ts +4 -0
  185. package/internal/utils/bytes.d.ts.map +1 -0
  186. package/internal/utils/bytes.js +31 -0
  187. package/internal/utils/bytes.js.map +1 -0
  188. package/internal/utils/bytes.mjs +26 -0
  189. package/internal/utils/bytes.mjs.map +1 -0
  190. package/internal/utils/env.d.mts +9 -0
  191. package/internal/utils/env.d.mts.map +1 -0
  192. package/internal/utils/env.d.ts +9 -0
  193. package/internal/utils/env.d.ts.map +1 -0
  194. package/internal/utils/env.js +22 -0
  195. package/internal/utils/env.js.map +1 -0
  196. package/internal/utils/env.mjs +18 -0
  197. package/internal/utils/env.mjs.map +1 -0
  198. package/internal/utils/log.d.mts +37 -0
  199. package/internal/utils/log.d.mts.map +1 -0
  200. package/internal/utils/log.d.ts +37 -0
  201. package/internal/utils/log.d.ts.map +1 -0
  202. package/internal/utils/log.js +85 -0
  203. package/internal/utils/log.js.map +1 -0
  204. package/internal/utils/log.mjs +79 -0
  205. package/internal/utils/log.mjs.map +1 -0
  206. package/internal/utils/path.d.mts +15 -0
  207. package/internal/utils/path.d.mts.map +1 -0
  208. package/internal/utils/path.d.ts +15 -0
  209. package/internal/utils/path.d.ts.map +1 -0
  210. package/internal/utils/path.js +79 -0
  211. package/internal/utils/path.js.map +1 -0
  212. package/internal/utils/path.mjs +74 -0
  213. package/internal/utils/path.mjs.map +1 -0
  214. package/internal/utils/sleep.d.mts +2 -0
  215. package/internal/utils/sleep.d.mts.map +1 -0
  216. package/internal/utils/sleep.d.ts +2 -0
  217. package/internal/utils/sleep.d.ts.map +1 -0
  218. package/internal/utils/sleep.js +7 -0
  219. package/internal/utils/sleep.js.map +1 -0
  220. package/internal/utils/sleep.mjs +3 -0
  221. package/internal/utils/sleep.mjs.map +1 -0
  222. package/internal/utils/uuid.d.mts +5 -0
  223. package/internal/utils/uuid.d.mts.map +1 -0
  224. package/internal/utils/uuid.d.ts +5 -0
  225. package/internal/utils/uuid.d.ts.map +1 -0
  226. package/internal/utils/uuid.js +19 -0
  227. package/internal/utils/uuid.js.map +1 -0
  228. package/internal/utils/uuid.mjs +15 -0
  229. package/internal/utils/uuid.mjs.map +1 -0
  230. package/internal/utils/values.d.mts +18 -0
  231. package/internal/utils/values.d.mts.map +1 -0
  232. package/internal/utils/values.d.ts +18 -0
  233. package/internal/utils/values.d.ts.map +1 -0
  234. package/internal/utils/values.js +112 -0
  235. package/internal/utils/values.js.map +1 -0
  236. package/internal/utils/values.mjs +94 -0
  237. package/internal/utils/values.mjs.map +1 -0
  238. package/internal/utils.d.mts +7 -0
  239. package/internal/utils.d.mts.map +1 -0
  240. package/internal/utils.d.ts +7 -0
  241. package/internal/utils.d.ts.map +1 -0
  242. package/internal/utils.js +11 -0
  243. package/internal/utils.js.map +1 -0
  244. package/internal/utils.mjs +8 -0
  245. package/internal/utils.mjs.map +1 -0
  246. package/package.json +139 -82
  247. package/resource.d.mts +2 -0
  248. package/resource.d.mts.map +1 -0
  249. package/resource.d.ts +2 -0
  250. package/resource.d.ts.map +1 -0
  251. package/resource.js +6 -0
  252. package/resource.js.map +1 -0
  253. package/resource.mjs +2 -0
  254. package/resource.mjs.map +1 -0
  255. package/resources/agent.d.mts +154 -0
  256. package/resources/agent.d.mts.map +1 -0
  257. package/resources/agent.d.ts +154 -0
  258. package/resources/agent.d.ts.map +1 -0
  259. package/resources/agent.js +88 -0
  260. package/resources/agent.js.map +1 -0
  261. package/resources/agent.mjs +84 -0
  262. package/resources/agent.mjs.map +1 -0
  263. package/resources/extract.d.mts +207 -0
  264. package/resources/extract.d.mts.map +1 -0
  265. package/resources/extract.d.ts +207 -0
  266. package/resources/extract.d.ts.map +1 -0
  267. package/resources/extract.js +61 -0
  268. package/resources/extract.js.map +1 -0
  269. package/resources/extract.mjs +57 -0
  270. package/resources/extract.mjs.map +1 -0
  271. package/resources/generate.d.mts +79 -0
  272. package/resources/generate.d.mts.map +1 -0
  273. package/resources/generate.d.ts +79 -0
  274. package/resources/generate.d.ts.map +1 -0
  275. package/resources/generate.js +44 -0
  276. package/resources/generate.js.map +1 -0
  277. package/resources/generate.mjs +40 -0
  278. package/resources/generate.mjs.map +1 -0
  279. package/resources/index.d.mts +4 -0
  280. package/resources/index.d.mts.map +1 -0
  281. package/resources/index.d.ts +4 -0
  282. package/resources/index.d.ts.map +1 -0
  283. package/resources/index.js +11 -0
  284. package/resources/index.js.map +1 -0
  285. package/resources/index.mjs +5 -0
  286. package/resources/index.mjs.map +1 -0
  287. package/resources.d.mts +2 -0
  288. package/resources.d.mts.map +1 -0
  289. package/resources.d.ts +2 -0
  290. package/resources.d.ts.map +1 -0
  291. package/resources.js +5 -0
  292. package/resources.js.map +1 -0
  293. package/resources.mjs +2 -0
  294. package/resources.mjs.map +1 -0
  295. package/src/api-promise.ts +2 -0
  296. package/src/client.ts +764 -0
  297. package/src/core/README.md +3 -0
  298. package/src/core/api-promise.ts +92 -0
  299. package/src/core/error.ts +130 -0
  300. package/src/core/resource.ts +11 -0
  301. package/src/core/streaming.ts +315 -0
  302. package/src/core/uploads.ts +2 -0
  303. package/src/error.ts +2 -0
  304. package/src/index.ts +22 -0
  305. package/src/internal/README.md +3 -0
  306. package/src/internal/builtin-types.ts +93 -0
  307. package/src/internal/decoders/line.ts +135 -0
  308. package/src/internal/detect-platform.ts +196 -0
  309. package/src/internal/errors.ts +33 -0
  310. package/src/internal/headers.ts +97 -0
  311. package/src/internal/parse.ts +64 -0
  312. package/src/internal/request-options.ts +93 -0
  313. package/src/internal/shim-types.ts +26 -0
  314. package/src/internal/shims.ts +107 -0
  315. package/src/internal/to-file.ts +154 -0
  316. package/src/internal/types.ts +95 -0
  317. package/src/internal/uploads.ts +187 -0
  318. package/src/internal/utils/base64.ts +40 -0
  319. package/src/internal/utils/bytes.ts +32 -0
  320. package/src/internal/utils/env.ts +18 -0
  321. package/src/internal/utils/log.ts +126 -0
  322. package/src/internal/utils/path.ts +88 -0
  323. package/src/internal/utils/sleep.ts +3 -0
  324. package/src/internal/utils/uuid.ts +17 -0
  325. package/src/internal/utils/values.ts +105 -0
  326. package/src/internal/utils.ts +8 -0
  327. package/src/lib/.keep +4 -0
  328. package/src/resource.ts +2 -0
  329. package/src/resources/agent.ts +194 -0
  330. package/src/resources/extract.ts +248 -0
  331. package/src/resources/generate.ts +89 -0
  332. package/src/resources/index.ts +17 -0
  333. package/src/resources.ts +1 -0
  334. package/src/streaming.ts +2 -0
  335. package/src/tsconfig.json +11 -0
  336. package/src/uploads.ts +2 -0
  337. package/src/version.ts +1 -0
  338. package/streaming.d.mts +2 -0
  339. package/streaming.d.mts.map +1 -0
  340. package/streaming.d.ts +2 -0
  341. package/streaming.d.ts.map +1 -0
  342. package/streaming.js +6 -0
  343. package/streaming.js.map +1 -0
  344. package/streaming.mjs +2 -0
  345. package/streaming.mjs.map +1 -0
  346. package/uploads.d.mts +2 -0
  347. package/uploads.d.mts.map +1 -0
  348. package/uploads.d.ts +2 -0
  349. package/uploads.d.ts.map +1 -0
  350. package/uploads.js +6 -0
  351. package/uploads.js.map +1 -0
  352. package/uploads.mjs +2 -0
  353. package/uploads.mjs.map +1 -0
  354. package/version.d.mts +2 -0
  355. package/version.d.mts.map +1 -0
  356. package/version.d.ts +2 -0
  357. package/version.d.ts.map +1 -0
  358. package/version.js +5 -0
  359. package/version.js.map +1 -0
  360. package/version.mjs +2 -0
  361. package/version.mjs.map +1 -0
  362. package/dist/cjs/agent.d.ts +0 -156
  363. package/dist/cjs/agent.d.ts.map +0 -1
  364. package/dist/cjs/agent.js +0 -211
  365. package/dist/cjs/agent.js.map +0 -1
  366. package/dist/cjs/agent.test.d.ts +0 -5
  367. package/dist/cjs/agent.test.d.ts.map +0 -1
  368. package/dist/cjs/agent.test.js +0 -441
  369. package/dist/cjs/agent.test.js.map +0 -1
  370. package/dist/cjs/client.d.ts +0 -58
  371. package/dist/cjs/client.d.ts.map +0 -1
  372. package/dist/cjs/client.js +0 -58
  373. package/dist/cjs/client.js.map +0 -1
  374. package/dist/cjs/client.test.d.ts +0 -5
  375. package/dist/cjs/client.test.d.ts.map +0 -1
  376. package/dist/cjs/client.test.js +0 -255
  377. package/dist/cjs/client.test.js.map +0 -1
  378. package/dist/cjs/exceptions.d.ts +0 -57
  379. package/dist/cjs/exceptions.d.ts.map +0 -1
  380. package/dist/cjs/exceptions.js +0 -95
  381. package/dist/cjs/exceptions.js.map +0 -1
  382. package/dist/cjs/exceptions.test.d.ts +0 -5
  383. package/dist/cjs/exceptions.test.d.ts.map +0 -1
  384. package/dist/cjs/exceptions.test.js +0 -239
  385. package/dist/cjs/exceptions.test.js.map +0 -1
  386. package/dist/cjs/extract.d.ts +0 -151
  387. package/dist/cjs/extract.d.ts.map +0 -1
  388. package/dist/cjs/extract.js +0 -165
  389. package/dist/cjs/extract.js.map +0 -1
  390. package/dist/cjs/extract.test.d.ts +0 -5
  391. package/dist/cjs/extract.test.d.ts.map +0 -1
  392. package/dist/cjs/extract.test.js +0 -250
  393. package/dist/cjs/extract.test.js.map +0 -1
  394. package/dist/cjs/generate.d.ts +0 -113
  395. package/dist/cjs/generate.d.ts.map +0 -1
  396. package/dist/cjs/generate.js +0 -124
  397. package/dist/cjs/generate.js.map +0 -1
  398. package/dist/cjs/generate.test.d.ts +0 -5
  399. package/dist/cjs/generate.test.d.ts.map +0 -1
  400. package/dist/cjs/generate.test.js +0 -314
  401. package/dist/cjs/generate.test.js.map +0 -1
  402. package/dist/cjs/index.d.ts +0 -52
  403. package/dist/cjs/index.d.ts.map +0 -1
  404. package/dist/cjs/index.js +0 -72
  405. package/dist/cjs/index.js.map +0 -1
  406. package/dist/cjs/package.json +0 -3
  407. package/dist/cjs/types.d.ts +0 -73
  408. package/dist/cjs/types.d.ts.map +0 -1
  409. package/dist/cjs/types.js +0 -118
  410. package/dist/cjs/types.js.map +0 -1
  411. package/dist/cjs/types.test.d.ts +0 -5
  412. package/dist/cjs/types.test.d.ts.map +0 -1
  413. package/dist/cjs/types.test.js +0 -370
  414. package/dist/cjs/types.test.js.map +0 -1
  415. package/dist/cjs/util/http.d.ts +0 -29
  416. package/dist/cjs/util/http.d.ts.map +0 -1
  417. package/dist/cjs/util/http.js +0 -201
  418. package/dist/cjs/util/http.js.map +0 -1
  419. package/dist/cjs/util/http.test.d.ts +0 -5
  420. package/dist/cjs/util/http.test.d.ts.map +0 -1
  421. package/dist/cjs/util/http.test.js +0 -237
  422. package/dist/cjs/util/http.test.js.map +0 -1
  423. package/dist/esm/agent.d.ts +0 -156
  424. package/dist/esm/agent.d.ts.map +0 -1
  425. package/dist/esm/agent.js +0 -207
  426. package/dist/esm/agent.js.map +0 -1
  427. package/dist/esm/agent.test.d.ts +0 -5
  428. package/dist/esm/agent.test.d.ts.map +0 -1
  429. package/dist/esm/agent.test.js +0 -439
  430. package/dist/esm/agent.test.js.map +0 -1
  431. package/dist/esm/client.d.ts +0 -58
  432. package/dist/esm/client.d.ts.map +0 -1
  433. package/dist/esm/client.js +0 -54
  434. package/dist/esm/client.js.map +0 -1
  435. package/dist/esm/client.test.d.ts +0 -5
  436. package/dist/esm/client.test.d.ts.map +0 -1
  437. package/dist/esm/client.test.js +0 -253
  438. package/dist/esm/client.test.js.map +0 -1
  439. package/dist/esm/exceptions.d.ts +0 -57
  440. package/dist/esm/exceptions.d.ts.map +0 -1
  441. package/dist/esm/exceptions.js +0 -85
  442. package/dist/esm/exceptions.js.map +0 -1
  443. package/dist/esm/exceptions.test.d.ts +0 -5
  444. package/dist/esm/exceptions.test.d.ts.map +0 -1
  445. package/dist/esm/exceptions.test.js +0 -237
  446. package/dist/esm/exceptions.test.js.map +0 -1
  447. package/dist/esm/extract.d.ts +0 -151
  448. package/dist/esm/extract.d.ts.map +0 -1
  449. package/dist/esm/extract.js +0 -161
  450. package/dist/esm/extract.js.map +0 -1
  451. package/dist/esm/extract.test.d.ts +0 -5
  452. package/dist/esm/extract.test.d.ts.map +0 -1
  453. package/dist/esm/extract.test.js +0 -248
  454. package/dist/esm/extract.test.js.map +0 -1
  455. package/dist/esm/generate.d.ts +0 -113
  456. package/dist/esm/generate.d.ts.map +0 -1
  457. package/dist/esm/generate.js +0 -120
  458. package/dist/esm/generate.js.map +0 -1
  459. package/dist/esm/generate.test.d.ts +0 -5
  460. package/dist/esm/generate.test.d.ts.map +0 -1
  461. package/dist/esm/generate.test.js +0 -312
  462. package/dist/esm/generate.test.js.map +0 -1
  463. package/dist/esm/index.d.ts +0 -52
  464. package/dist/esm/index.d.ts.map +0 -1
  465. package/dist/esm/index.js +0 -53
  466. package/dist/esm/index.js.map +0 -1
  467. package/dist/esm/package.json +0 -3
  468. package/dist/esm/types.d.ts +0 -73
  469. package/dist/esm/types.d.ts.map +0 -1
  470. package/dist/esm/types.js +0 -110
  471. package/dist/esm/types.js.map +0 -1
  472. package/dist/esm/types.test.d.ts +0 -5
  473. package/dist/esm/types.test.d.ts.map +0 -1
  474. package/dist/esm/types.test.js +0 -368
  475. package/dist/esm/types.test.js.map +0 -1
  476. package/dist/esm/util/http.d.ts +0 -29
  477. package/dist/esm/util/http.d.ts.map +0 -1
  478. package/dist/esm/util/http.js +0 -164
  479. package/dist/esm/util/http.js.map +0 -1
  480. package/dist/esm/util/http.test.d.ts +0 -5
  481. package/dist/esm/util/http.test.d.ts.map +0 -1
  482. package/dist/esm/util/http.test.js +0 -232
  483. package/dist/esm/util/http.test.js.map +0 -1
  484. package/dist/types/agent.d.ts +0 -156
  485. package/dist/types/agent.d.ts.map +0 -1
  486. package/dist/types/agent.test.d.ts +0 -5
  487. package/dist/types/agent.test.d.ts.map +0 -1
  488. package/dist/types/client.d.ts +0 -58
  489. package/dist/types/client.d.ts.map +0 -1
  490. package/dist/types/client.test.d.ts +0 -5
  491. package/dist/types/client.test.d.ts.map +0 -1
  492. package/dist/types/exceptions.d.ts +0 -57
  493. package/dist/types/exceptions.d.ts.map +0 -1
  494. package/dist/types/exceptions.test.d.ts +0 -5
  495. package/dist/types/exceptions.test.d.ts.map +0 -1
  496. package/dist/types/extract.d.ts +0 -151
  497. package/dist/types/extract.d.ts.map +0 -1
  498. package/dist/types/extract.test.d.ts +0 -5
  499. package/dist/types/extract.test.d.ts.map +0 -1
  500. package/dist/types/generate.d.ts +0 -113
  501. package/dist/types/generate.d.ts.map +0 -1
  502. package/dist/types/generate.test.d.ts +0 -5
  503. package/dist/types/generate.test.d.ts.map +0 -1
  504. package/dist/types/index.d.ts +0 -52
  505. package/dist/types/index.d.ts.map +0 -1
  506. package/dist/types/types.d.ts +0 -73
  507. package/dist/types/types.d.ts.map +0 -1
  508. package/dist/types/types.test.d.ts +0 -5
  509. package/dist/types/types.test.d.ts.map +0 -1
  510. package/dist/types/util/http.d.ts +0 -29
  511. package/dist/types/util/http.d.ts.map +0 -1
  512. package/dist/types/util/http.test.d.ts +0 -5
  513. package/dist/types/util/http.test.d.ts.map +0 -1
package/dist/esm/index.js DELETED
@@ -1,53 +0,0 @@
1
- /**
2
- * Tabstack TypeScript/JavaScript SDK
3
- *
4
- * This SDK provides a TypeScript/JavaScript interface to the Tabstack API for web
5
- * content extraction, AI-powered content generation, and browser automation.
6
- *
7
- * @example
8
- * ```typescript
9
- * import { Tabstack } from '@tabstack/sdk';
10
- *
11
- * const tabs = new Tabstack({
12
- * apiKey: process.env.TABSTACK_API_KEY!
13
- * });
14
- *
15
- * // Extract markdown
16
- * const result = await tabs.extract.markdown('https://example.com');
17
- * console.log(result.content);
18
- *
19
- * // Extract structured JSON
20
- * const schema = {
21
- * type: 'object',
22
- * properties: {
23
- * stories: {
24
- * type: 'array',
25
- * items: {
26
- * type: 'object',
27
- * properties: {
28
- * title: { type: 'string' },
29
- * points: { type: 'number' },
30
- * author: { type: 'string' }
31
- * }
32
- * }
33
- * }
34
- * }
35
- * };
36
- *
37
- * const data = await tabs.extract.json('https://news.ycombinator.com', schema);
38
- * console.log(data.data);
39
- * ```
40
- *
41
- * @packageDocumentation
42
- */
43
- // Main client
44
- export { Tabstack } from './client.js';
45
- // Operators
46
- export { Extract } from './extract.js';
47
- export { Generate } from './generate.js';
48
- export { Agent } from './agent.js';
49
- // Response types
50
- export { Metadata, MarkdownResponse, JsonResponse, AutomateEvent, EventData, } from './types.js';
51
- // Exceptions
52
- export { TabstackError, BadRequestError, UnauthorizedError, InvalidURLError, ServerError, ServiceUnavailableError, APIError, } from './exceptions.js';
53
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,cAAc;AACd,OAAO,EAAE,QAAQ,EAAmB,MAAM,UAAU,CAAC;AAErD,YAAY;AACZ,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,iBAAiB;AACjB,OAAO,EACL,QAAQ,EAER,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,SAAS,GACV,MAAM,SAAS,CAAC;AAEjB,aAAa;AACb,OAAO,EACL,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,uBAAuB,EACvB,QAAQ,GACT,MAAM,cAAc,CAAC"}
@@ -1,3 +0,0 @@
1
- {
2
- "type": "module"
3
- }
@@ -1,73 +0,0 @@
1
- /**
2
- * Type definitions and response models for Tabstack SDK
3
- */
4
- /**
5
- * Metadata extracted from a web page
6
- */
7
- export interface MetadataFields {
8
- title?: string;
9
- description?: string;
10
- author?: string;
11
- publisher?: string;
12
- image?: string;
13
- siteName?: string;
14
- url?: string;
15
- type?: string;
16
- }
17
- export declare class Metadata {
18
- title?: string;
19
- description?: string;
20
- author?: string;
21
- publisher?: string;
22
- image?: string;
23
- siteName?: string;
24
- url?: string;
25
- type?: string;
26
- constructor(data: MetadataFields);
27
- static fromJSON(data: Record<string, unknown>): Metadata;
28
- toJSON(): MetadataFields;
29
- }
30
- /**
31
- * Response from markdown extraction
32
- */
33
- export declare class MarkdownResponse {
34
- url: string;
35
- content: string;
36
- metadata?: Metadata | undefined;
37
- constructor(url: string, content: string, metadata?: Metadata | undefined);
38
- static fromJSON(data: Record<string, unknown>): MarkdownResponse;
39
- }
40
- /**
41
- * Response from JSON extraction or generation
42
- */
43
- export declare class JsonResponse<T = unknown> {
44
- data: T;
45
- constructor(data: T);
46
- static fromJSON<T = unknown>(data: T): JsonResponse<T>;
47
- }
48
- /**
49
- * Event data with dynamic property access
50
- */
51
- export declare class EventData {
52
- private raw;
53
- constructor(data: Record<string, unknown>);
54
- /**
55
- * Get a property from the event data
56
- */
57
- get<T = unknown>(key: string, defaultValue?: T): T | undefined;
58
- /**
59
- * Get the raw event data
60
- */
61
- getRaw(): Record<string, unknown>;
62
- }
63
- /**
64
- * Event from the automate streaming endpoint
65
- */
66
- export declare class AutomateEvent {
67
- type: string;
68
- data: EventData;
69
- constructor(type: string, data: EventData);
70
- static fromJSON(type: string, data: Record<string, unknown>): AutomateEvent;
71
- toString(): string;
72
- }
73
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,QAAQ;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;gBAEF,IAAI,EAAE,cAAc;IAWhC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ;IAaxD,MAAM,IAAI,cAAc;CAYzB;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAElB,GAAG,EAAE,MAAM;IACX,OAAO,EAAE,MAAM;IACf,QAAQ,CAAC,EAAE,QAAQ;gBAFnB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,QAAQ,YAAA;IAG5B,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB;CAQjE;AAED;;GAEG;AACH,qBAAa,YAAY,CAAC,CAAC,GAAG,OAAO;IAChB,IAAI,EAAE,CAAC;gBAAP,IAAI,EAAE,CAAC;IAE1B,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;CAGvD;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,GAAG,CAA0B;gBAEzB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIzC;;OAEG;IACH,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAI9D;;OAEG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAGlC;AAED;;GAEG;AACH,qBAAa,aAAa;IAEf,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,SAAS;gBADf,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS;IAGxB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,aAAa;IAI3E,QAAQ,IAAI,MAAM;CAGnB"}
package/dist/esm/types.js DELETED
@@ -1,110 +0,0 @@
1
- /**
2
- * Type definitions and response models for Tabstack SDK
3
- */
4
- export class Metadata {
5
- constructor(data) {
6
- this.title = data.title;
7
- this.description = data.description;
8
- this.author = data.author;
9
- this.publisher = data.publisher;
10
- this.image = data.image;
11
- this.siteName = data.siteName;
12
- this.url = data.url;
13
- this.type = data.type;
14
- }
15
- static fromJSON(data) {
16
- return new Metadata({
17
- title: data.title,
18
- description: data.description,
19
- author: data.author,
20
- publisher: data.publisher,
21
- image: data.image,
22
- siteName: data.site_name,
23
- url: data.url,
24
- type: data.type,
25
- });
26
- }
27
- toJSON() {
28
- const result = {};
29
- if (this.title !== undefined)
30
- result.title = this.title;
31
- if (this.description !== undefined)
32
- result.description = this.description;
33
- if (this.author !== undefined)
34
- result.author = this.author;
35
- if (this.publisher !== undefined)
36
- result.publisher = this.publisher;
37
- if (this.image !== undefined)
38
- result.image = this.image;
39
- if (this.siteName !== undefined)
40
- result.siteName = this.siteName;
41
- if (this.url !== undefined)
42
- result.url = this.url;
43
- if (this.type !== undefined)
44
- result.type = this.type;
45
- return result;
46
- }
47
- }
48
- /**
49
- * Response from markdown extraction
50
- */
51
- export class MarkdownResponse {
52
- constructor(url, content, metadata) {
53
- this.url = url;
54
- this.content = content;
55
- this.metadata = metadata;
56
- }
57
- static fromJSON(data) {
58
- const metadata = data.metadata && typeof data.metadata === 'object'
59
- ? Metadata.fromJSON(data.metadata)
60
- : undefined;
61
- return new MarkdownResponse(data.url, data.content, metadata);
62
- }
63
- }
64
- /**
65
- * Response from JSON extraction or generation
66
- */
67
- export class JsonResponse {
68
- constructor(data) {
69
- this.data = data;
70
- }
71
- static fromJSON(data) {
72
- return new JsonResponse(data);
73
- }
74
- }
75
- /**
76
- * Event data with dynamic property access
77
- */
78
- export class EventData {
79
- constructor(data) {
80
- this.raw = data;
81
- }
82
- /**
83
- * Get a property from the event data
84
- */
85
- get(key, defaultValue) {
86
- return this.raw[key] ?? defaultValue;
87
- }
88
- /**
89
- * Get the raw event data
90
- */
91
- getRaw() {
92
- return this.raw;
93
- }
94
- }
95
- /**
96
- * Event from the automate streaming endpoint
97
- */
98
- export class AutomateEvent {
99
- constructor(type, data) {
100
- this.type = type;
101
- this.data = data;
102
- }
103
- static fromJSON(type, data) {
104
- return new AutomateEvent(type, new EventData(data));
105
- }
106
- toString() {
107
- return `AutomateEvent(type='${this.type}', data=${JSON.stringify(this.data.getRaw())})`;
108
- }
109
- }
110
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Tests for Type classes
3
- */
4
- export {};
5
- //# sourceMappingURL=types.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.test.d.ts","sourceRoot":"","sources":["../../src/types.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,368 +0,0 @@
1
- /**
2
- * Tests for Type classes
3
- */
4
- import { Metadata, MarkdownResponse, JsonResponse, EventData, AutomateEvent, } from './types.js';
5
- describe('Type Classes', () => {
6
- describe('Metadata', () => {
7
- const sampleMetadata = {
8
- title: 'Test Page',
9
- description: 'A test page description',
10
- author: 'Test Author',
11
- publisher: 'Test Publisher',
12
- image: 'https://example.com/image.jpg',
13
- siteName: 'Test Site',
14
- url: 'https://example.com',
15
- type: 'article',
16
- };
17
- describe('constructor', () => {
18
- it('should create metadata with all fields', () => {
19
- const metadata = new Metadata(sampleMetadata);
20
- expect(metadata.title).toBe('Test Page');
21
- expect(metadata.description).toBe('A test page description');
22
- expect(metadata.author).toBe('Test Author');
23
- expect(metadata.publisher).toBe('Test Publisher');
24
- expect(metadata.image).toBe('https://example.com/image.jpg');
25
- expect(metadata.siteName).toBe('Test Site');
26
- expect(metadata.url).toBe('https://example.com');
27
- expect(metadata.type).toBe('article');
28
- });
29
- it('should create metadata with partial fields', () => {
30
- const metadata = new Metadata({ title: 'Only Title' });
31
- expect(metadata.title).toBe('Only Title');
32
- expect(metadata.description).toBeUndefined();
33
- expect(metadata.author).toBeUndefined();
34
- });
35
- it('should create metadata with empty object', () => {
36
- const metadata = new Metadata({});
37
- expect(metadata.title).toBeUndefined();
38
- expect(metadata.description).toBeUndefined();
39
- });
40
- });
41
- describe('fromJSON', () => {
42
- it('should create metadata from JSON object', () => {
43
- const json = {
44
- title: 'JSON Title',
45
- description: 'JSON Description',
46
- author: 'JSON Author',
47
- publisher: 'JSON Publisher',
48
- image: 'https://example.com/img.png',
49
- site_name: 'JSON Site',
50
- url: 'https://example.com/page',
51
- type: 'website',
52
- };
53
- const metadata = Metadata.fromJSON(json);
54
- expect(metadata.title).toBe('JSON Title');
55
- expect(metadata.description).toBe('JSON Description');
56
- expect(metadata.author).toBe('JSON Author');
57
- expect(metadata.publisher).toBe('JSON Publisher');
58
- expect(metadata.image).toBe('https://example.com/img.png');
59
- expect(metadata.siteName).toBe('JSON Site');
60
- expect(metadata.url).toBe('https://example.com/page');
61
- expect(metadata.type).toBe('website');
62
- });
63
- it('should handle snake_case to camelCase conversion', () => {
64
- const json = { site_name: 'Test Site' };
65
- const metadata = Metadata.fromJSON(json);
66
- expect(metadata.siteName).toBe('Test Site');
67
- });
68
- it('should handle missing fields', () => {
69
- const json = { title: 'Only Title' };
70
- const metadata = Metadata.fromJSON(json);
71
- expect(metadata.title).toBe('Only Title');
72
- expect(metadata.description).toBeUndefined();
73
- });
74
- it('should handle empty object', () => {
75
- const metadata = Metadata.fromJSON({});
76
- expect(metadata.title).toBeUndefined();
77
- });
78
- });
79
- describe('toJSON', () => {
80
- it('should convert metadata to JSON object', () => {
81
- const metadata = new Metadata(sampleMetadata);
82
- const json = metadata.toJSON();
83
- expect(json).toEqual(sampleMetadata);
84
- });
85
- it('should exclude undefined fields', () => {
86
- const metadata = new Metadata({ title: 'Only Title' });
87
- const json = metadata.toJSON();
88
- expect(json).toEqual({ title: 'Only Title' });
89
- expect('description' in json).toBe(false);
90
- expect('author' in json).toBe(false);
91
- });
92
- it('should return empty object for empty metadata', () => {
93
- const metadata = new Metadata({});
94
- const json = metadata.toJSON();
95
- expect(json).toEqual({});
96
- });
97
- });
98
- describe('round-trip conversion', () => {
99
- it('should preserve data through JSON serialization', () => {
100
- const original = new Metadata(sampleMetadata);
101
- const json = original.toJSON();
102
- const restored = new Metadata(json);
103
- expect(restored.toJSON()).toEqual(original.toJSON());
104
- });
105
- });
106
- });
107
- describe('MarkdownResponse', () => {
108
- describe('constructor', () => {
109
- it('should create response with url and content', () => {
110
- const response = new MarkdownResponse('https://example.com', '# Heading\n\nContent');
111
- expect(response.url).toBe('https://example.com');
112
- expect(response.content).toBe('# Heading\n\nContent');
113
- expect(response.metadata).toBeUndefined();
114
- });
115
- it('should create response with metadata', () => {
116
- const metadata = new Metadata({ title: 'Test' });
117
- const response = new MarkdownResponse('https://example.com', 'Content', metadata);
118
- expect(response.metadata).toBe(metadata);
119
- expect(response.metadata?.title).toBe('Test');
120
- });
121
- });
122
- describe('fromJSON', () => {
123
- it('should create response from JSON without metadata', () => {
124
- const json = {
125
- url: 'https://example.com',
126
- content: '# Title\n\nParagraph',
127
- };
128
- const response = MarkdownResponse.fromJSON(json);
129
- expect(response.url).toBe('https://example.com');
130
- expect(response.content).toBe('# Title\n\nParagraph');
131
- expect(response.metadata).toBeUndefined();
132
- });
133
- it('should create response from JSON with metadata', () => {
134
- const json = {
135
- url: 'https://example.com',
136
- content: '# Title',
137
- metadata: {
138
- title: 'Page Title',
139
- description: 'Page Description',
140
- },
141
- };
142
- const response = MarkdownResponse.fromJSON(json);
143
- expect(response.url).toBe('https://example.com');
144
- expect(response.content).toBe('# Title');
145
- expect(response.metadata).toBeInstanceOf(Metadata);
146
- expect(response.metadata?.title).toBe('Page Title');
147
- expect(response.metadata?.description).toBe('Page Description');
148
- });
149
- it('should handle empty content', () => {
150
- const json = {
151
- url: 'https://example.com',
152
- content: '',
153
- };
154
- const response = MarkdownResponse.fromJSON(json);
155
- expect(response.content).toBe('');
156
- });
157
- it('should handle metadata as non-object', () => {
158
- const json = {
159
- url: 'https://example.com',
160
- content: 'Content',
161
- metadata: 'invalid',
162
- };
163
- const response = MarkdownResponse.fromJSON(json);
164
- expect(response.metadata).toBeUndefined();
165
- });
166
- });
167
- });
168
- describe('JsonResponse', () => {
169
- describe('constructor', () => {
170
- it('should create response with data', () => {
171
- const data = { key: 'value', nested: { prop: 123 } };
172
- const response = new JsonResponse(data);
173
- expect(response.data).toBe(data);
174
- expect(response.data).toEqual({ key: 'value', nested: { prop: 123 } });
175
- });
176
- it('should create response with array data', () => {
177
- const data = [1, 2, 3, 4, 5];
178
- const response = new JsonResponse(data);
179
- expect(response.data).toEqual([1, 2, 3, 4, 5]);
180
- });
181
- it('should create response with primitive data', () => {
182
- const response = new JsonResponse('string value');
183
- expect(response.data).toBe('string value');
184
- });
185
- it('should create response with null', () => {
186
- const response = new JsonResponse(null);
187
- expect(response.data).toBeNull();
188
- });
189
- });
190
- describe('fromJSON', () => {
191
- it('should create response from object', () => {
192
- const data = { name: 'Test', value: 42 };
193
- const response = JsonResponse.fromJSON(data);
194
- expect(response).toBeInstanceOf(JsonResponse);
195
- expect(response.data).toEqual({ name: 'Test', value: 42 });
196
- });
197
- it('should create response from array', () => {
198
- const data = ['a', 'b', 'c'];
199
- const response = JsonResponse.fromJSON(data);
200
- expect(response.data).toEqual(['a', 'b', 'c']);
201
- });
202
- it('should create response with generic type', () => {
203
- const data = { id: 1, name: 'Test' };
204
- const response = JsonResponse.fromJSON(data);
205
- expect(response.data.id).toBe(1);
206
- expect(response.data.name).toBe('Test');
207
- });
208
- it('should handle nested objects', () => {
209
- const data = {
210
- user: {
211
- profile: {
212
- name: 'John',
213
- age: 30,
214
- },
215
- },
216
- };
217
- const response = JsonResponse.fromJSON(data);
218
- expect(response.data).toEqual(data);
219
- });
220
- });
221
- });
222
- describe('EventData', () => {
223
- describe('constructor', () => {
224
- it('should create event data with raw data', () => {
225
- const raw = { key: 'value', number: 42 };
226
- const eventData = new EventData(raw);
227
- expect(eventData).toBeInstanceOf(EventData);
228
- });
229
- });
230
- describe('get', () => {
231
- it('should get property by key', () => {
232
- const eventData = new EventData({ name: 'Test', value: 123 });
233
- expect(eventData.get('name')).toBe('Test');
234
- expect(eventData.get('value')).toBe(123);
235
- });
236
- it('should return undefined for missing key', () => {
237
- const eventData = new EventData({ key: 'value' });
238
- expect(eventData.get('missing')).toBeUndefined();
239
- });
240
- it('should return default value for missing key', () => {
241
- const eventData = new EventData({ key: 'value' });
242
- expect(eventData.get('missing', 'default')).toBe('default');
243
- });
244
- it('should handle nested objects', () => {
245
- const eventData = new EventData({
246
- nested: { prop: 'value' },
247
- });
248
- const nested = eventData.get('nested');
249
- expect(nested.prop).toBe('value');
250
- });
251
- it('should handle arrays', () => {
252
- const eventData = new EventData({ items: [1, 2, 3] });
253
- expect(eventData.get('items')).toEqual([1, 2, 3]);
254
- });
255
- it('should use generic type parameter', () => {
256
- const eventData = new EventData({ count: 42 });
257
- const count = eventData.get('count');
258
- expect(count).toBe(42);
259
- });
260
- it('should handle null values', () => {
261
- const eventData = new EventData({ nullable: null });
262
- // Note: nullish coalescing (??) treats null as falsy, so it returns undefined
263
- expect(eventData.get('nullable')).toBeUndefined();
264
- });
265
- it('should prefer actual value over default', () => {
266
- const eventData = new EventData({ key: 'actual' });
267
- expect(eventData.get('key', 'default')).toBe('actual');
268
- });
269
- });
270
- describe('getRaw', () => {
271
- it('should return raw data object', () => {
272
- const raw = { key: 'value', num: 123, nested: { prop: true } };
273
- const eventData = new EventData(raw);
274
- expect(eventData.getRaw()).toEqual(raw);
275
- });
276
- it('should return reference to original object', () => {
277
- const raw = { mutable: 'original' };
278
- const eventData = new EventData(raw);
279
- const retrieved = eventData.getRaw();
280
- retrieved.mutable = 'modified';
281
- expect(eventData.getRaw().mutable).toBe('modified');
282
- });
283
- });
284
- });
285
- describe('AutomateEvent', () => {
286
- describe('constructor', () => {
287
- it('should create event with type and data', () => {
288
- const eventData = new EventData({ message: 'test' });
289
- const event = new AutomateEvent('action', eventData);
290
- expect(event.type).toBe('action');
291
- expect(event.data).toBe(eventData);
292
- });
293
- });
294
- describe('fromJSON', () => {
295
- it('should create event from type and data', () => {
296
- const event = AutomateEvent.fromJSON('navigate', { url: 'https://example.com' });
297
- expect(event).toBeInstanceOf(AutomateEvent);
298
- expect(event.type).toBe('navigate');
299
- expect(event.data).toBeInstanceOf(EventData);
300
- expect(event.data.get('url')).toBe('https://example.com');
301
- });
302
- it('should handle empty data', () => {
303
- const event = AutomateEvent.fromJSON('complete', {});
304
- expect(event.type).toBe('complete');
305
- expect(event.data.getRaw()).toEqual({});
306
- });
307
- it('should handle complex data', () => {
308
- const data = {
309
- action: 'click',
310
- element: { id: 'button1', text: 'Submit' },
311
- timestamp: 1234567890,
312
- };
313
- const event = AutomateEvent.fromJSON('interaction', data);
314
- expect(event.data.get('action')).toBe('click');
315
- expect(event.data.get('timestamp')).toBe(1234567890);
316
- });
317
- });
318
- describe('toString', () => {
319
- it('should format event as string', () => {
320
- const event = AutomateEvent.fromJSON('test', { key: 'value' });
321
- const str = event.toString();
322
- expect(str).toContain("type='test'");
323
- expect(str).toContain('key');
324
- expect(str).toContain('value');
325
- });
326
- it('should include all data in string representation', () => {
327
- const event = AutomateEvent.fromJSON('action', {
328
- id: 1,
329
- name: 'Test',
330
- active: true,
331
- });
332
- const str = event.toString();
333
- expect(str).toContain("type='action'");
334
- expect(str).toContain('"id":1');
335
- expect(str).toContain('"name":"Test"');
336
- expect(str).toContain('"active":true');
337
- });
338
- it('should handle empty data', () => {
339
- const event = AutomateEvent.fromJSON('empty', {});
340
- const str = event.toString();
341
- expect(str).toBe("AutomateEvent(type='empty', data={})");
342
- });
343
- });
344
- });
345
- describe('Type Integration', () => {
346
- it('should work together in typical SDK usage', () => {
347
- // Simulate markdown extraction response
348
- const markdownJson = {
349
- url: 'https://example.com',
350
- content: '# Title\n\nContent',
351
- metadata: {
352
- title: 'Example Page',
353
- site_name: 'Example',
354
- },
355
- };
356
- const markdownResponse = MarkdownResponse.fromJSON(markdownJson);
357
- expect(markdownResponse.metadata?.siteName).toBe('Example');
358
- // Simulate JSON extraction response
359
- const jsonData = { products: [{ id: 1, name: 'Product 1' }] };
360
- const jsonResponse = JsonResponse.fromJSON(jsonData);
361
- expect(jsonResponse.data).toEqual(jsonData);
362
- // Simulate automation event
363
- const event = AutomateEvent.fromJSON('complete', { success: true });
364
- expect(event.data.get('success')).toBe(true);
365
- });
366
- });
367
- });
368
- //# sourceMappingURL=types.test.js.map