@lorikeetai/node-sdk 1.8.1 → 2.0.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 (572) hide show
  1. package/CHANGELOG.md +38 -787
  2. package/README.md +114 -44
  3. package/api-promise.d.mts +2 -0
  4. package/api-promise.d.mts.map +1 -0
  5. package/api-promise.d.ts +2 -0
  6. package/api-promise.d.ts.map +1 -0
  7. package/api-promise.js +6 -0
  8. package/api-promise.js.map +1 -0
  9. package/api-promise.mjs +2 -0
  10. package/api-promise.mjs.map +1 -0
  11. package/bin/cli +53 -0
  12. package/bin/migration-config.json +50 -0
  13. package/client.d.mts +197 -0
  14. package/client.d.mts.map +1 -0
  15. package/client.d.ts +197 -0
  16. package/client.d.ts.map +1 -0
  17. package/client.js +504 -0
  18. package/client.js.map +1 -0
  19. package/client.mjs +500 -0
  20. package/client.mjs.map +1 -0
  21. package/core/api-promise.d.mts +46 -0
  22. package/core/api-promise.d.mts.map +1 -0
  23. package/core/api-promise.d.ts +46 -0
  24. package/core/api-promise.d.ts.map +1 -0
  25. package/core/api-promise.js +74 -0
  26. package/core/api-promise.js.map +1 -0
  27. package/core/api-promise.mjs +70 -0
  28. package/core/api-promise.mjs.map +1 -0
  29. package/core/error.d.mts +46 -0
  30. package/core/error.d.mts.map +1 -0
  31. package/core/error.d.ts +46 -0
  32. package/core/error.d.ts.map +1 -0
  33. package/core/error.js +113 -0
  34. package/core/error.js.map +1 -0
  35. package/core/error.mjs +97 -0
  36. package/core/error.mjs.map +1 -0
  37. package/core/resource.d.mts +6 -0
  38. package/core/resource.d.mts.map +1 -0
  39. package/core/resource.d.ts +6 -0
  40. package/core/resource.d.ts.map +1 -0
  41. package/core/resource.js +11 -0
  42. package/core/resource.js.map +1 -0
  43. package/core/resource.mjs +7 -0
  44. package/core/resource.mjs.map +1 -0
  45. package/core/uploads.d.mts +3 -0
  46. package/core/uploads.d.mts.map +1 -0
  47. package/core/uploads.d.ts +3 -0
  48. package/core/uploads.d.ts.map +1 -0
  49. package/core/uploads.js +6 -0
  50. package/core/uploads.js.map +1 -0
  51. package/core/uploads.mjs +2 -0
  52. package/core/uploads.mjs.map +1 -0
  53. package/error.d.mts +2 -0
  54. package/error.d.mts.map +1 -0
  55. package/error.d.ts +1 -46
  56. package/error.d.ts.map +1 -1
  57. package/error.js +3 -110
  58. package/error.js.map +1 -1
  59. package/error.mjs +1 -96
  60. package/error.mjs.map +1 -1
  61. package/index.d.mts +7 -131
  62. package/index.d.mts.map +1 -0
  63. package/index.d.ts +6 -130
  64. package/index.d.ts.map +1 -1
  65. package/index.js +14 -142
  66. package/index.js.map +1 -1
  67. package/index.mjs +6 -114
  68. package/index.mjs.map +1 -1
  69. package/internal/builtin-types.d.mts +73 -0
  70. package/internal/builtin-types.d.mts.map +1 -0
  71. package/internal/builtin-types.d.ts +73 -0
  72. package/internal/builtin-types.d.ts.map +1 -0
  73. package/internal/builtin-types.js +4 -0
  74. package/internal/builtin-types.js.map +1 -0
  75. package/internal/builtin-types.mjs +3 -0
  76. package/internal/builtin-types.mjs.map +1 -0
  77. package/internal/detect-platform.d.mts +15 -0
  78. package/internal/detect-platform.d.mts.map +1 -0
  79. package/internal/detect-platform.d.ts +15 -0
  80. package/internal/detect-platform.d.ts.map +1 -0
  81. package/internal/detect-platform.js +162 -0
  82. package/internal/detect-platform.js.map +1 -0
  83. package/internal/detect-platform.mjs +157 -0
  84. package/internal/detect-platform.mjs.map +1 -0
  85. package/internal/errors.d.mts +3 -0
  86. package/internal/errors.d.mts.map +1 -0
  87. package/internal/errors.d.ts +3 -0
  88. package/internal/errors.d.ts.map +1 -0
  89. package/internal/errors.js +41 -0
  90. package/internal/errors.js.map +1 -0
  91. package/internal/errors.mjs +36 -0
  92. package/internal/errors.mjs.map +1 -0
  93. package/internal/headers.d.mts +20 -0
  94. package/internal/headers.d.mts.map +1 -0
  95. package/internal/headers.d.ts +20 -0
  96. package/internal/headers.d.ts.map +1 -0
  97. package/internal/headers.js +79 -0
  98. package/internal/headers.js.map +1 -0
  99. package/internal/headers.mjs +74 -0
  100. package/internal/headers.mjs.map +1 -0
  101. package/internal/parse.d.mts +12 -0
  102. package/internal/parse.d.mts.map +1 -0
  103. package/internal/parse.d.ts +12 -0
  104. package/internal/parse.d.ts.map +1 -0
  105. package/internal/parse.js +40 -0
  106. package/internal/parse.js.map +1 -0
  107. package/internal/parse.mjs +37 -0
  108. package/internal/parse.mjs.map +1 -0
  109. package/internal/request-options.d.mts +75 -0
  110. package/internal/request-options.d.mts.map +1 -0
  111. package/internal/request-options.d.ts +75 -0
  112. package/internal/request-options.d.ts.map +1 -0
  113. package/internal/request-options.js +14 -0
  114. package/internal/request-options.js.map +1 -0
  115. package/internal/request-options.mjs +10 -0
  116. package/internal/request-options.mjs.map +1 -0
  117. package/internal/shim-types.d.mts +17 -0
  118. package/internal/shim-types.d.mts.map +1 -0
  119. package/internal/shim-types.d.ts +17 -0
  120. package/internal/shim-types.d.ts.map +1 -0
  121. package/internal/shim-types.js +4 -0
  122. package/internal/shim-types.js.map +1 -0
  123. package/internal/shim-types.mjs +3 -0
  124. package/internal/shim-types.mjs.map +1 -0
  125. package/internal/shims.d.mts +20 -0
  126. package/internal/shims.d.mts.map +1 -0
  127. package/internal/shims.d.ts +20 -0
  128. package/internal/shims.d.ts.map +1 -0
  129. package/internal/shims.js +92 -0
  130. package/internal/shims.js.map +1 -0
  131. package/internal/shims.mjs +85 -0
  132. package/internal/shims.mjs.map +1 -0
  133. package/internal/to-file.d.mts +45 -0
  134. package/internal/to-file.d.mts.map +1 -0
  135. package/internal/to-file.d.ts +45 -0
  136. package/internal/to-file.d.ts.map +1 -0
  137. package/internal/to-file.js +92 -0
  138. package/internal/to-file.js.map +1 -0
  139. package/internal/to-file.mjs +89 -0
  140. package/internal/to-file.mjs.map +1 -0
  141. package/internal/tslib.js +81 -0
  142. package/internal/tslib.mjs +17 -0
  143. package/internal/types.d.mts +69 -0
  144. package/internal/types.d.mts.map +1 -0
  145. package/internal/types.d.ts +69 -0
  146. package/internal/types.d.ts.map +1 -0
  147. package/internal/types.js +4 -0
  148. package/internal/types.js.map +1 -0
  149. package/internal/types.mjs +3 -0
  150. package/internal/types.mjs.map +1 -0
  151. package/internal/uploads.d.mts +42 -0
  152. package/internal/uploads.d.mts.map +1 -0
  153. package/internal/uploads.d.ts +42 -0
  154. package/internal/uploads.d.ts.map +1 -0
  155. package/internal/uploads.js +141 -0
  156. package/internal/uploads.js.map +1 -0
  157. package/internal/uploads.mjs +131 -0
  158. package/internal/uploads.mjs.map +1 -0
  159. package/internal/utils/base64.d.mts +3 -0
  160. package/internal/utils/base64.d.mts.map +1 -0
  161. package/internal/utils/base64.d.ts +3 -0
  162. package/internal/utils/base64.d.ts.map +1 -0
  163. package/internal/utils/base64.js +38 -0
  164. package/internal/utils/base64.js.map +1 -0
  165. package/internal/utils/base64.mjs +33 -0
  166. package/internal/utils/base64.mjs.map +1 -0
  167. package/internal/utils/bytes.d.mts +4 -0
  168. package/internal/utils/bytes.d.mts.map +1 -0
  169. package/internal/utils/bytes.d.ts +4 -0
  170. package/internal/utils/bytes.d.ts.map +1 -0
  171. package/internal/utils/bytes.js +31 -0
  172. package/internal/utils/bytes.js.map +1 -0
  173. package/internal/utils/bytes.mjs +26 -0
  174. package/internal/utils/bytes.mjs.map +1 -0
  175. package/internal/utils/env.d.mts +9 -0
  176. package/internal/utils/env.d.mts.map +1 -0
  177. package/internal/utils/env.d.ts +9 -0
  178. package/internal/utils/env.d.ts.map +1 -0
  179. package/internal/utils/env.js +22 -0
  180. package/internal/utils/env.js.map +1 -0
  181. package/internal/utils/env.mjs +18 -0
  182. package/internal/utils/env.mjs.map +1 -0
  183. package/internal/utils/log.d.mts +37 -0
  184. package/internal/utils/log.d.mts.map +1 -0
  185. package/internal/utils/log.d.ts +37 -0
  186. package/internal/utils/log.d.ts.map +1 -0
  187. package/internal/utils/log.js +86 -0
  188. package/internal/utils/log.js.map +1 -0
  189. package/internal/utils/log.mjs +80 -0
  190. package/internal/utils/log.mjs.map +1 -0
  191. package/internal/utils/path.d.mts +15 -0
  192. package/internal/utils/path.d.mts.map +1 -0
  193. package/internal/utils/path.d.ts +15 -0
  194. package/internal/utils/path.d.ts.map +1 -0
  195. package/internal/utils/path.js +79 -0
  196. package/internal/utils/path.js.map +1 -0
  197. package/internal/utils/path.mjs +74 -0
  198. package/internal/utils/path.mjs.map +1 -0
  199. package/internal/utils/sleep.d.mts +2 -0
  200. package/internal/utils/sleep.d.mts.map +1 -0
  201. package/internal/utils/sleep.d.ts +2 -0
  202. package/internal/utils/sleep.d.ts.map +1 -0
  203. package/internal/utils/sleep.js +7 -0
  204. package/internal/utils/sleep.js.map +1 -0
  205. package/internal/utils/sleep.mjs +3 -0
  206. package/internal/utils/sleep.mjs.map +1 -0
  207. package/internal/utils/uuid.d.mts +5 -0
  208. package/internal/utils/uuid.d.mts.map +1 -0
  209. package/internal/utils/uuid.d.ts +5 -0
  210. package/internal/utils/uuid.d.ts.map +1 -0
  211. package/internal/utils/uuid.js +19 -0
  212. package/internal/utils/uuid.js.map +1 -0
  213. package/internal/utils/uuid.mjs +15 -0
  214. package/internal/utils/uuid.mjs.map +1 -0
  215. package/internal/utils/values.d.mts +18 -0
  216. package/internal/utils/values.d.mts.map +1 -0
  217. package/internal/utils/values.d.ts +18 -0
  218. package/internal/utils/values.d.ts.map +1 -0
  219. package/internal/utils/values.js +112 -0
  220. package/internal/utils/values.js.map +1 -0
  221. package/internal/utils/values.mjs +94 -0
  222. package/internal/utils/values.mjs.map +1 -0
  223. package/internal/utils.d.mts +7 -0
  224. package/internal/utils.d.mts.map +1 -0
  225. package/internal/utils.d.ts +7 -0
  226. package/internal/utils.d.ts.map +1 -0
  227. package/internal/utils.js +11 -0
  228. package/internal/utils.js.map +1 -0
  229. package/internal/utils.mjs +8 -0
  230. package/internal/utils.mjs.map +1 -0
  231. package/lib/generate-signature.d.mts +7 -0
  232. package/lib/generate-signature.d.mts.map +1 -0
  233. package/lib/generate-signature.d.ts +1 -1
  234. package/lib/generate-signature.d.ts.map +1 -1
  235. package/lib/generate-signature.js +3 -3
  236. package/lib/generate-signature.js.map +1 -1
  237. package/lib/generate-signature.mjs +1 -1
  238. package/lib/generate-signature.mjs.map +1 -1
  239. package/lib/poll-until.d.mts +20 -0
  240. package/lib/poll-until.d.mts.map +1 -0
  241. package/lib/poll-until.d.ts.map +1 -1
  242. package/lib/promise.d.mts +55 -0
  243. package/lib/promise.d.mts.map +1 -0
  244. package/package.json +125 -74
  245. package/resource.d.mts +2 -0
  246. package/resource.d.mts.map +1 -0
  247. package/resource.d.ts +1 -5
  248. package/resource.d.ts.map +1 -1
  249. package/resource.js +3 -8
  250. package/resource.js.map +1 -1
  251. package/resource.mjs +1 -6
  252. package/resource.mjs.map +1 -1
  253. package/resources/api-keys.d.mts +130 -0
  254. package/resources/api-keys.d.mts.map +1 -0
  255. package/resources/api-keys.d.ts +7 -6
  256. package/resources/api-keys.d.ts.map +1 -1
  257. package/resources/api-keys.js +6 -4
  258. package/resources/api-keys.js.map +1 -1
  259. package/resources/api-keys.mjs +6 -4
  260. package/resources/api-keys.mjs.map +1 -1
  261. package/resources/conversation/chat.d.mts +312 -0
  262. package/resources/conversation/chat.d.mts.map +1 -0
  263. package/resources/conversation/chat.d.ts +45 -77
  264. package/resources/conversation/chat.d.ts.map +1 -1
  265. package/resources/conversation/chat.js +14 -48
  266. package/resources/conversation/chat.js.map +1 -1
  267. package/resources/conversation/chat.mjs +14 -48
  268. package/resources/conversation/chat.mjs.map +1 -1
  269. package/resources/conversation/conversation.d.mts +77 -0
  270. package/resources/conversation/conversation.d.mts.map +1 -0
  271. package/resources/conversation/conversation.d.ts +1 -1
  272. package/resources/conversation/conversation.d.ts.map +1 -1
  273. package/resources/conversation/conversation.js +5 -27
  274. package/resources/conversation/conversation.js.map +1 -1
  275. package/resources/conversation/conversation.mjs +1 -1
  276. package/resources/conversation/email.d.mts +257 -0
  277. package/resources/conversation/email.d.mts.map +1 -0
  278. package/resources/conversation/email.d.ts +10 -8
  279. package/resources/conversation/email.d.ts.map +1 -1
  280. package/resources/conversation/email.js +6 -6
  281. package/resources/conversation/email.js.map +1 -1
  282. package/resources/conversation/email.mjs +6 -6
  283. package/resources/conversation/email.mjs.map +1 -1
  284. package/resources/conversation/index.d.mts +5 -0
  285. package/resources/conversation/index.d.mts.map +1 -0
  286. package/resources/conversation/index.d.ts +1 -1
  287. package/resources/conversation/index.d.ts.map +1 -1
  288. package/resources/conversation/index.js.map +1 -1
  289. package/resources/conversation/index.mjs.map +1 -1
  290. package/resources/conversation/voice.d.mts +45 -0
  291. package/resources/conversation/voice.d.mts.map +1 -0
  292. package/resources/conversation/voice.d.ts +4 -3
  293. package/resources/conversation/voice.d.ts.map +1 -1
  294. package/resources/conversation/voice.js +3 -2
  295. package/resources/conversation/voice.js.map +1 -1
  296. package/resources/conversation/voice.mjs +3 -2
  297. package/resources/conversation/voice.mjs.map +1 -1
  298. package/resources/conversation.d.mts +2 -0
  299. package/resources/conversation.d.mts.map +1 -0
  300. package/resources/conversation.d.ts.map +1 -1
  301. package/resources/conversation.js +2 -15
  302. package/resources/conversation.js.map +1 -1
  303. package/resources/customer/customer.d.mts +333 -0
  304. package/resources/customer/customer.d.mts.map +1 -0
  305. package/resources/customer/customer.d.ts +7 -7
  306. package/resources/customer/customer.d.ts.map +1 -1
  307. package/resources/customer/customer.js +12 -31
  308. package/resources/customer/customer.js.map +1 -1
  309. package/resources/customer/customer.mjs +9 -6
  310. package/resources/customer/customer.mjs.map +1 -1
  311. package/resources/customer/index.d.mts +4 -0
  312. package/resources/customer/index.d.mts.map +1 -0
  313. package/resources/customer/index.d.ts.map +1 -1
  314. package/resources/customer/profile.d.mts +30 -0
  315. package/resources/customer/profile.d.mts.map +1 -0
  316. package/resources/customer/profile.d.ts +4 -3
  317. package/resources/customer/profile.d.ts.map +1 -1
  318. package/resources/customer/profile.js +3 -2
  319. package/resources/customer/profile.js.map +1 -1
  320. package/resources/customer/profile.mjs +3 -2
  321. package/resources/customer/profile.mjs.map +1 -1
  322. package/resources/customer/remote.d.mts +164 -0
  323. package/resources/customer/remote.d.mts.map +1 -0
  324. package/resources/customer/remote.d.ts +5 -4
  325. package/resources/customer/remote.d.ts.map +1 -1
  326. package/resources/customer/remote.js +6 -5
  327. package/resources/customer/remote.js.map +1 -1
  328. package/resources/customer/remote.mjs +6 -5
  329. package/resources/customer/remote.mjs.map +1 -1
  330. package/resources/customer.d.mts +2 -0
  331. package/resources/customer.d.mts.map +1 -0
  332. package/resources/customer.d.ts.map +1 -1
  333. package/resources/customer.js +2 -15
  334. package/resources/customer.js.map +1 -1
  335. package/resources/index.d.mts +5 -0
  336. package/resources/index.d.mts.map +1 -0
  337. package/resources/index.d.ts +1 -1
  338. package/resources/index.d.ts.map +1 -1
  339. package/resources/index.js.map +1 -1
  340. package/resources/index.mjs.map +1 -1
  341. package/resources/ingest.d.mts +27 -0
  342. package/resources/ingest.d.mts.map +1 -0
  343. package/resources/ingest.d.ts +12 -6
  344. package/resources/ingest.d.ts.map +1 -1
  345. package/resources/ingest.js +11 -8
  346. package/resources/ingest.js.map +1 -1
  347. package/resources/ingest.mjs +11 -8
  348. package/resources/ingest.mjs.map +1 -1
  349. package/resources.d.mts +2 -0
  350. package/resources.d.mts.map +1 -0
  351. package/resources.d.ts.map +1 -1
  352. package/resources.js +2 -15
  353. package/resources.js.map +1 -1
  354. package/src/api-promise.ts +2 -0
  355. package/src/client.ts +835 -0
  356. package/src/core/README.md +3 -0
  357. package/src/core/api-promise.ts +92 -0
  358. package/src/core/error.ts +130 -0
  359. package/src/core/resource.ts +11 -0
  360. package/src/core/uploads.ts +2 -0
  361. package/src/error.ts +2 -130
  362. package/src/index.ts +6 -275
  363. package/src/internal/README.md +3 -0
  364. package/src/internal/builtin-types.ts +93 -0
  365. package/src/internal/detect-platform.ts +196 -0
  366. package/src/internal/errors.ts +33 -0
  367. package/src/internal/headers.ts +97 -0
  368. package/src/internal/parse.ts +56 -0
  369. package/src/internal/request-options.ts +91 -0
  370. package/src/internal/shim-types.ts +26 -0
  371. package/src/internal/shims.ts +107 -0
  372. package/src/internal/to-file.ts +156 -0
  373. package/src/internal/types.ts +95 -0
  374. package/src/internal/uploads.ts +187 -0
  375. package/src/internal/utils/base64.ts +40 -0
  376. package/src/internal/utils/bytes.ts +32 -0
  377. package/src/internal/utils/env.ts +18 -0
  378. package/src/internal/utils/log.ts +127 -0
  379. package/src/internal/utils/path.ts +88 -0
  380. package/src/internal/utils/sleep.ts +3 -0
  381. package/src/internal/utils/uuid.ts +17 -0
  382. package/src/internal/utils/values.ts +105 -0
  383. package/src/internal/utils.ts +8 -0
  384. package/src/lib/generate-signature.ts +2 -2
  385. package/src/resource.ts +2 -11
  386. package/src/resources/api-keys.ts +12 -9
  387. package/src/resources/conversation/chat.ts +60 -95
  388. package/src/resources/conversation/conversation.ts +1 -1
  389. package/src/resources/conversation/email.ts +13 -12
  390. package/src/resources/conversation/index.ts +5 -0
  391. package/src/resources/conversation/voice.ts +6 -4
  392. package/src/resources/customer/customer.ts +12 -16
  393. package/src/resources/customer/profile.ts +6 -8
  394. package/src/resources/customer/remote.ts +10 -8
  395. package/src/resources/index.ts +1 -1
  396. package/src/resources/ingest.ts +23 -17
  397. package/src/tsconfig.json +2 -2
  398. package/src/uploads.ts +2 -256
  399. package/src/version.ts +1 -1
  400. package/uploads.d.mts +2 -0
  401. package/uploads.d.mts.map +1 -0
  402. package/uploads.d.ts +1 -74
  403. package/uploads.d.ts.map +1 -1
  404. package/uploads.js +3 -167
  405. package/uploads.js.map +1 -1
  406. package/uploads.mjs +1 -156
  407. package/uploads.mjs.map +1 -1
  408. package/version.d.mts +2 -0
  409. package/version.d.mts.map +1 -0
  410. package/version.d.ts +1 -1
  411. package/version.js +1 -1
  412. package/version.mjs +1 -1
  413. package/_shims/MultipartBody.d.ts +0 -9
  414. package/_shims/MultipartBody.d.ts.map +0 -1
  415. package/_shims/MultipartBody.js +0 -16
  416. package/_shims/MultipartBody.js.map +0 -1
  417. package/_shims/MultipartBody.mjs +0 -12
  418. package/_shims/MultipartBody.mjs.map +0 -1
  419. package/_shims/README.md +0 -46
  420. package/_shims/auto/runtime-bun.d.ts +0 -5
  421. package/_shims/auto/runtime-bun.d.ts.map +0 -1
  422. package/_shims/auto/runtime-bun.js +0 -21
  423. package/_shims/auto/runtime-bun.js.map +0 -1
  424. package/_shims/auto/runtime-bun.mjs +0 -2
  425. package/_shims/auto/runtime-bun.mjs.map +0 -1
  426. package/_shims/auto/runtime-node.d.ts +0 -5
  427. package/_shims/auto/runtime-node.d.ts.map +0 -1
  428. package/_shims/auto/runtime-node.js +0 -21
  429. package/_shims/auto/runtime-node.js.map +0 -1
  430. package/_shims/auto/runtime-node.mjs +0 -2
  431. package/_shims/auto/runtime-node.mjs.map +0 -1
  432. package/_shims/auto/runtime.d.ts +0 -5
  433. package/_shims/auto/runtime.d.ts.map +0 -1
  434. package/_shims/auto/runtime.js +0 -21
  435. package/_shims/auto/runtime.js.map +0 -1
  436. package/_shims/auto/runtime.mjs +0 -2
  437. package/_shims/auto/runtime.mjs.map +0 -1
  438. package/_shims/auto/types-node.d.ts +0 -5
  439. package/_shims/auto/types-node.d.ts.map +0 -1
  440. package/_shims/auto/types-node.js +0 -21
  441. package/_shims/auto/types-node.js.map +0 -1
  442. package/_shims/auto/types-node.mjs +0 -2
  443. package/_shims/auto/types-node.mjs.map +0 -1
  444. package/_shims/auto/types.d.ts +0 -101
  445. package/_shims/auto/types.js +0 -3
  446. package/_shims/auto/types.mjs +0 -3
  447. package/_shims/bun-runtime.d.ts +0 -6
  448. package/_shims/bun-runtime.d.ts.map +0 -1
  449. package/_shims/bun-runtime.js +0 -13
  450. package/_shims/bun-runtime.js.map +0 -1
  451. package/_shims/bun-runtime.mjs +0 -10
  452. package/_shims/bun-runtime.mjs.map +0 -1
  453. package/_shims/index.d.ts +0 -83
  454. package/_shims/index.js +0 -17
  455. package/_shims/index.mjs +0 -11
  456. package/_shims/manual-types.d.ts +0 -12
  457. package/_shims/manual-types.js +0 -3
  458. package/_shims/manual-types.mjs +0 -3
  459. package/_shims/node-runtime.d.ts +0 -3
  460. package/_shims/node-runtime.d.ts.map +0 -1
  461. package/_shims/node-runtime.js +0 -88
  462. package/_shims/node-runtime.js.map +0 -1
  463. package/_shims/node-runtime.mjs +0 -56
  464. package/_shims/node-runtime.mjs.map +0 -1
  465. package/_shims/node-types.d.ts +0 -42
  466. package/_shims/node-types.js +0 -3
  467. package/_shims/node-types.mjs +0 -3
  468. package/_shims/registry.d.ts +0 -37
  469. package/_shims/registry.d.ts.map +0 -1
  470. package/_shims/registry.js +0 -41
  471. package/_shims/registry.js.map +0 -1
  472. package/_shims/registry.mjs +0 -37
  473. package/_shims/registry.mjs.map +0 -1
  474. package/_shims/web-runtime.d.ts +0 -5
  475. package/_shims/web-runtime.d.ts.map +0 -1
  476. package/_shims/web-runtime.js +0 -77
  477. package/_shims/web-runtime.js.map +0 -1
  478. package/_shims/web-runtime.mjs +0 -71
  479. package/_shims/web-runtime.mjs.map +0 -1
  480. package/_shims/web-types.d.ts +0 -83
  481. package/_shims/web-types.js +0 -3
  482. package/_shims/web-types.mjs +0 -3
  483. package/core.d.ts +0 -253
  484. package/core.d.ts.map +0 -1
  485. package/core.js +0 -929
  486. package/core.js.map +0 -1
  487. package/core.mjs +0 -897
  488. package/core.mjs.map +0 -1
  489. package/internal/qs/formats.d.ts +0 -6
  490. package/internal/qs/formats.d.ts.map +0 -1
  491. package/internal/qs/formats.js +0 -11
  492. package/internal/qs/formats.js.map +0 -1
  493. package/internal/qs/formats.mjs +0 -8
  494. package/internal/qs/formats.mjs.map +0 -1
  495. package/internal/qs/index.d.ts +0 -10
  496. package/internal/qs/index.d.ts.map +0 -1
  497. package/internal/qs/index.js +0 -14
  498. package/internal/qs/index.js.map +0 -1
  499. package/internal/qs/index.mjs +0 -10
  500. package/internal/qs/index.mjs.map +0 -1
  501. package/internal/qs/stringify.d.ts +0 -3
  502. package/internal/qs/stringify.d.ts.map +0 -1
  503. package/internal/qs/stringify.js +0 -279
  504. package/internal/qs/stringify.js.map +0 -1
  505. package/internal/qs/stringify.mjs +0 -276
  506. package/internal/qs/stringify.mjs.map +0 -1
  507. package/internal/qs/types.d.ts +0 -57
  508. package/internal/qs/types.d.ts.map +0 -1
  509. package/internal/qs/types.js +0 -3
  510. package/internal/qs/types.js.map +0 -1
  511. package/internal/qs/types.mjs +0 -2
  512. package/internal/qs/types.mjs.map +0 -1
  513. package/internal/qs/utils.d.ts +0 -14
  514. package/internal/qs/utils.d.ts.map +0 -1
  515. package/internal/qs/utils.js +0 -229
  516. package/internal/qs/utils.js.map +0 -1
  517. package/internal/qs/utils.mjs +0 -217
  518. package/internal/qs/utils.mjs.map +0 -1
  519. package/resources/ticket.d.ts +0 -14
  520. package/resources/ticket.d.ts.map +0 -1
  521. package/resources/ticket.js +0 -16
  522. package/resources/ticket.js.map +0 -1
  523. package/resources/ticket.mjs +0 -12
  524. package/resources/ticket.mjs.map +0 -1
  525. package/shims/node.d.ts +0 -26
  526. package/shims/node.d.ts.map +0 -1
  527. package/shims/node.js +0 -6
  528. package/shims/node.js.map +0 -1
  529. package/shims/node.mjs +0 -4
  530. package/shims/node.mjs.map +0 -1
  531. package/shims/web.d.ts +0 -26
  532. package/shims/web.d.ts.map +0 -1
  533. package/shims/web.js +0 -6
  534. package/shims/web.js.map +0 -1
  535. package/shims/web.mjs +0 -4
  536. package/shims/web.mjs.map +0 -1
  537. package/src/_shims/MultipartBody.ts +0 -9
  538. package/src/_shims/README.md +0 -46
  539. package/src/_shims/auto/runtime-bun.ts +0 -4
  540. package/src/_shims/auto/runtime-node.ts +0 -4
  541. package/src/_shims/auto/runtime.ts +0 -4
  542. package/src/_shims/auto/types-node.ts +0 -4
  543. package/src/_shims/auto/types.d.ts +0 -101
  544. package/src/_shims/auto/types.js +0 -3
  545. package/src/_shims/auto/types.mjs +0 -3
  546. package/src/_shims/bun-runtime.ts +0 -14
  547. package/src/_shims/index.d.ts +0 -83
  548. package/src/_shims/index.js +0 -17
  549. package/src/_shims/index.mjs +0 -11
  550. package/src/_shims/manual-types.d.ts +0 -12
  551. package/src/_shims/manual-types.js +0 -3
  552. package/src/_shims/manual-types.mjs +0 -3
  553. package/src/_shims/node-runtime.ts +0 -81
  554. package/src/_shims/node-types.d.ts +0 -42
  555. package/src/_shims/node-types.js +0 -3
  556. package/src/_shims/node-types.mjs +0 -3
  557. package/src/_shims/registry.ts +0 -67
  558. package/src/_shims/web-runtime.ts +0 -103
  559. package/src/_shims/web-types.d.ts +0 -83
  560. package/src/_shims/web-types.js +0 -3
  561. package/src/_shims/web-types.mjs +0 -3
  562. package/src/core.ts +0 -1242
  563. package/src/internal/qs/LICENSE.md +0 -13
  564. package/src/internal/qs/README.md +0 -3
  565. package/src/internal/qs/formats.ts +0 -9
  566. package/src/internal/qs/index.ts +0 -13
  567. package/src/internal/qs/stringify.ts +0 -388
  568. package/src/internal/qs/types.ts +0 -71
  569. package/src/internal/qs/utils.ts +0 -265
  570. package/src/resources/ticket.ts +0 -30
  571. package/src/shims/node.ts +0 -50
  572. package/src/shims/web.ts +0 -50
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # Lorikeet Node API Library
1
+ # Lorikeet TypeScript API Library
2
2
 
3
- [![NPM version](https://img.shields.io/npm/v/@lorikeetai/node-sdk.svg)](https://npmjs.org/package/@lorikeetai/node-sdk) ![npm bundle size](https://img.shields.io/bundlephobia/minzip/@lorikeetai/node-sdk)
3
+ [![NPM version](<https://img.shields.io/npm/v/@lorikeetai/node-sdk.svg?label=npm%20(stable)>)](https://npmjs.org/package/@lorikeetai/node-sdk) ![npm bundle size](https://img.shields.io/bundlephobia/minzip/@lorikeetai/node-sdk)
4
4
 
5
5
  This library provides convenient access to the Lorikeet REST API from server-side TypeScript or JavaScript.
6
6
 
@@ -23,7 +23,7 @@ The full API of this library can be found in [api.md](api.md).
23
23
  import Lorikeet from '@lorikeetai/node-sdk';
24
24
 
25
25
  const client = new Lorikeet({
26
- clientId: process.env['LORIKEET_CLIENT_ID'], // This is the default and can be omitted
26
+ clientID: process.env['LORIKEET_CLIENT_ID'], // This is the default and can be omitted
27
27
  });
28
28
 
29
29
  const response = await client.conversation.chat.start({
@@ -43,7 +43,7 @@ This library includes TypeScript definitions for all request params and response
43
43
  import Lorikeet from '@lorikeetai/node-sdk';
44
44
 
45
45
  const client = new Lorikeet({
46
- clientId: process.env['LORIKEET_CLIENT_ID'], // This is the default and can be omitted
46
+ clientID: process.env['LORIKEET_CLIENT_ID'], // This is the default and can be omitted
47
47
  });
48
48
 
49
49
  const params: Lorikeet.Conversation.ChatStartParams = {
@@ -138,8 +138,10 @@ Note that requests which time out will be [retried twice by default](#retries).
138
138
  ### Accessing raw Response data (e.g., headers)
139
139
 
140
140
  The "raw" `Response` returned by `fetch()` can be accessed through the `.asResponse()` method on the `APIPromise` type that all methods return.
141
+ This method returns as soon as the headers for a successful response are received and does not consume the response body, so you are free to write custom parsing or streaming logic.
141
142
 
142
143
  You can also use the `.withResponse()` method to get the raw `Response` along with the parsed data.
144
+ Unlike `.asResponse()` this method consumes the body, returning once it is parsed.
143
145
 
144
146
  <!-- prettier-ignore -->
145
147
  ```ts
@@ -158,6 +160,59 @@ console.log(raw.headers.get('X-My-Header'));
158
160
  console.log(response.conversationId);
159
161
  ```
160
162
 
163
+ ### Logging
164
+
165
+ > [!IMPORTANT]
166
+ > All log messages are intended for debugging only. The format and content of log messages
167
+ > may change between releases.
168
+
169
+ #### Log levels
170
+
171
+ The log level can be configured in two ways:
172
+
173
+ 1. Via the `LORIKEET_LOG` environment variable
174
+ 2. Using the `logLevel` client option (overrides the environment variable if set)
175
+
176
+ ```ts
177
+ import Lorikeet from '@lorikeetai/node-sdk';
178
+
179
+ const client = new Lorikeet({
180
+ logLevel: 'debug', // Show all log messages
181
+ });
182
+ ```
183
+
184
+ Available log levels, from most to least verbose:
185
+
186
+ - `'debug'` - Show debug messages, info, warnings, and errors
187
+ - `'info'` - Show info messages, warnings, and errors
188
+ - `'warn'` - Show warnings and errors (default)
189
+ - `'error'` - Show only errors
190
+ - `'off'` - Disable all logging
191
+
192
+ At the `'debug'` level, all HTTP requests and responses are logged, including headers and bodies.
193
+ Some authentication-related headers are redacted, but sensitive data in request and response bodies
194
+ may still be visible.
195
+
196
+ #### Custom logger
197
+
198
+ By default, this library logs to `globalThis.console`. You can also provide a custom logger.
199
+ Most logging libraries are supported, including [pino](https://www.npmjs.com/package/pino), [winston](https://www.npmjs.com/package/winston), [bunyan](https://www.npmjs.com/package/bunyan), [consola](https://www.npmjs.com/package/consola), [signale](https://www.npmjs.com/package/signale), and [@std/log](https://jsr.io/@std/log). If your logger doesn't work, please open an issue.
200
+
201
+ When providing a custom logger, the `logLevel` option still controls which messages are emitted, messages
202
+ below the configured level will not be sent to your logger.
203
+
204
+ ```ts
205
+ import Lorikeet from '@lorikeetai/node-sdk';
206
+ import pino from 'pino';
207
+
208
+ const logger = pino();
209
+
210
+ const client = new Lorikeet({
211
+ logger: logger.child({ name: 'Lorikeet' }),
212
+ logLevel: 'debug', // Send all messages to pino, allowing it to filter
213
+ });
214
+ ```
215
+
161
216
  ### Making custom/undocumented requests
162
217
 
163
218
  This library is typed for convenient access to the documented API. If you need to access undocumented
@@ -182,9 +237,8 @@ parameter. This library doesn't validate at runtime that the request matches the
182
237
  send will be sent as-is.
183
238
 
184
239
  ```ts
185
- client.foo.create({
186
- foo: 'my_param',
187
- bar: 12,
240
+ client.conversation.chat.start({
241
+ // ...
188
242
  // @ts-expect-error baz is not yet public
189
243
  baz: 'undocumented option',
190
244
  });
@@ -204,69 +258,85 @@ validate or strip extra properties from the response from the API.
204
258
 
205
259
  ### Customizing the fetch client
206
260
 
207
- By default, this library uses `node-fetch` in Node, and expects a global `fetch` function in other environments.
261
+ By default, this library expects a global `fetch` function is defined.
208
262
 
209
- If you would prefer to use a global, web-standards-compliant `fetch` function even in a Node environment,
210
- (for example, if you are running Node with `--experimental-fetch` or using NextJS which polyfills with `undici`),
211
- add the following import before your first import `from "Lorikeet"`:
263
+ If you want to use a different `fetch` function, you can either polyfill the global:
212
264
 
213
265
  ```ts
214
- // Tell TypeScript and the package to use the global web fetch instead of node-fetch.
215
- // Note, despite the name, this does not add any polyfills, but expects them to be provided if needed.
216
- import '@lorikeetai/node-sdk/shims/web';
217
- import Lorikeet from '@lorikeetai/node-sdk';
266
+ import fetch from 'my-fetch';
267
+
268
+ globalThis.fetch = fetch;
218
269
  ```
219
270
 
220
- To do the inverse, add `import "@lorikeetai/node-sdk/shims/node"` (which does import polyfills).
221
- This can also be useful if you are getting the wrong TypeScript types for `Response` ([more details](https://github.com/optechai/node-sdk/tree/main/src/_shims#readme)).
271
+ Or pass it to the client:
222
272
 
223
- ### Logging and middleware
273
+ ```ts
274
+ import Lorikeet from '@lorikeetai/node-sdk';
275
+ import fetch from 'my-fetch';
224
276
 
225
- You may also provide a custom `fetch` function when instantiating the client,
226
- which can be used to inspect or alter the `Request` or `Response` before/after each request:
277
+ const client = new Lorikeet({ fetch });
278
+ ```
279
+
280
+ ### Fetch options
281
+
282
+ If you want to set custom `fetch` options without overriding the `fetch` function, you can provide a `fetchOptions` object when instantiating the client or making a request. (Request-specific options override client options.)
227
283
 
228
284
  ```ts
229
- import { fetch } from 'undici'; // as one example
230
285
  import Lorikeet from '@lorikeetai/node-sdk';
231
286
 
232
287
  const client = new Lorikeet({
233
- fetch: async (url: RequestInfo, init?: RequestInit): Promise<Response> => {
234
- console.log('About to make a request', url, init);
235
- const response = await fetch(url, init);
236
- console.log('Got response', response);
237
- return response;
288
+ fetchOptions: {
289
+ // `RequestInit` options
238
290
  },
239
291
  });
240
292
  ```
241
293
 
242
- Note that if given a `DEBUG=true` environment variable, this library will log all requests and responses automatically.
243
- This is intended for debugging purposes only and may change in the future without notice.
294
+ #### Configuring proxies
295
+
296
+ To modify proxy behavior, you can provide custom `fetchOptions` that add runtime-specific proxy
297
+ options to requests:
244
298
 
245
- ### Configuring an HTTP(S) Agent (e.g., for proxies)
299
+ <img src="https://raw.githubusercontent.com/stainless-api/sdk-assets/refs/heads/main/node.svg" align="top" width="18" height="21"> **Node** <sup>[[docs](https://github.com/nodejs/undici/blob/main/docs/docs/api/ProxyAgent.md#example---proxyagent-with-fetch)]</sup>
246
300
 
247
- By default, this library uses a stable agent for all http/https requests to reuse TCP connections, eliminating many TCP & TLS handshakes and shaving around 100ms off most requests.
301
+ ```ts
302
+ import Lorikeet from '@lorikeetai/node-sdk';
303
+ import * as undici from 'undici';
248
304
 
249
- If you would like to disable or customize this behavior, for example to use the API behind a proxy, you can pass an `httpAgent` which is used for all requests (be they http or https), for example:
305
+ const proxyAgent = new undici.ProxyAgent('http://localhost:8888');
306
+ const client = new Lorikeet({
307
+ fetchOptions: {
308
+ dispatcher: proxyAgent,
309
+ },
310
+ });
311
+ ```
312
+
313
+ <img src="https://raw.githubusercontent.com/stainless-api/sdk-assets/refs/heads/main/bun.svg" align="top" width="18" height="21"> **Bun** <sup>[[docs](https://bun.sh/guides/http/proxy)]</sup>
250
314
 
251
- <!-- prettier-ignore -->
252
315
  ```ts
253
- import http from 'http';
254
- import { HttpsProxyAgent } from 'https-proxy-agent';
316
+ import Lorikeet from '@lorikeetai/node-sdk';
255
317
 
256
- // Configure the default for all requests:
257
318
  const client = new Lorikeet({
258
- httpAgent: new HttpsProxyAgent(process.env.PROXY_URL),
319
+ fetchOptions: {
320
+ proxy: 'http://localhost:8888',
321
+ },
259
322
  });
323
+ ```
260
324
 
261
- // Override per-request:
262
- await client.conversation.chat.start(
263
- { customerId: 'blah', publicKey: 'publicKey' },
264
- {
265
- httpAgent: new http.Agent({ keepAlive: false }),
325
+ <img src="https://raw.githubusercontent.com/stainless-api/sdk-assets/refs/heads/main/deno.svg" align="top" width="18" height="21"> **Deno** <sup>[[docs](https://docs.deno.com/api/deno/~/Deno.createHttpClient)]</sup>
326
+
327
+ ```ts
328
+ import Lorikeet from 'npm:@lorikeetai/node-sdk';
329
+
330
+ const httpClient = Deno.createHttpClient({ proxy: { url: 'http://localhost:8888' } });
331
+ const client = new Lorikeet({
332
+ fetchOptions: {
333
+ client: httpClient,
266
334
  },
267
- );
335
+ });
268
336
  ```
269
337
 
338
+ ## Frequently Asked Questions
339
+
270
340
  ## Semantic versioning
271
341
 
272
342
  This package generally follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions, though certain backwards-incompatible changes may be released as minor versions:
@@ -281,12 +351,12 @@ We are keen for your feedback; please open an [issue](https://www.github.com/opt
281
351
 
282
352
  ## Requirements
283
353
 
284
- TypeScript >= 4.5 is supported.
354
+ TypeScript >= 4.9 is supported.
285
355
 
286
356
  The following runtimes are supported:
287
357
 
288
358
  - Web browsers (Up-to-date Chrome, Firefox, Safari, Edge, and more)
289
- - Node.js 18 LTS or later ([non-EOL](https://endoflife.date/nodejs)) versions.
359
+ - Node.js 20 LTS or later ([non-EOL](https://endoflife.date/nodejs)) versions.
290
360
  - Deno v1.28.0 or higher.
291
361
  - Bun 1.0 or later.
292
362
  - Cloudflare Workers.
@@ -0,0 +1,2 @@
1
+ export * from "./core/api-promise.mjs";
2
+ //# sourceMappingURL=api-promise.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-promise.d.mts","sourceRoot":"","sources":["src/api-promise.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from "./core/api-promise.js";
2
+ //# sourceMappingURL=api-promise.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-promise.d.ts","sourceRoot":"","sources":["src/api-promise.ts"],"names":[],"mappings":""}
package/api-promise.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("./internal/tslib.js");
4
+ /** @deprecated Import from ./core/api-promise instead */
5
+ tslib_1.__exportStar(require("./core/api-promise.js"), exports);
6
+ //# sourceMappingURL=api-promise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-promise.js","sourceRoot":"","sources":["src/api-promise.ts"],"names":[],"mappings":";;;AAAA,yDAAyD;AACzD,gEAAmC"}
@@ -0,0 +1,2 @@
1
+ export * from "./core/api-promise.mjs";
2
+ //# sourceMappingURL=api-promise.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-promise.mjs","sourceRoot":"","sources":["src/api-promise.ts"],"names":[],"mappings":""}
package/bin/cli ADDED
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { spawnSync } = require('child_process');
4
+
5
+ const commands = {
6
+ migrate: {
7
+ description:
8
+ 'Run migrations to update your code using @lorikeetai/node-sdk@1.8.1 to be compatible with @lorikeetai/node-sdk@2.0.0',
9
+ fn: () => {
10
+ const result = spawnSync(
11
+ 'npx',
12
+ [
13
+ '-y',
14
+ 'https://github.com/stainless-api/migrate-ts/releases/download/0.0.2/stainless-api-migrate-0.0.2-6.tgz',
15
+ '--migrationConfig',
16
+ require.resolve('./migration-config.json'),
17
+ ...process.argv.slice(3),
18
+ ],
19
+ { stdio: 'inherit' },
20
+ );
21
+ if (result.status !== 0) {
22
+ process.exit(result.status);
23
+ }
24
+ },
25
+ },
26
+ };
27
+
28
+ function exitWithHelp() {
29
+ console.log(`Usage: lorikeetai-node-sdk <subcommand>`);
30
+ console.log();
31
+ console.log('Subcommands:');
32
+
33
+ for (const [name, info] of Object.entries(commands)) {
34
+ console.log(` ${name} ${info.description}`);
35
+ }
36
+
37
+ console.log();
38
+ process.exit(1);
39
+ }
40
+
41
+ if (process.argv.length < 3) {
42
+ exitWithHelp();
43
+ }
44
+
45
+ const commandName = process.argv[2];
46
+
47
+ const command = commands[commandName];
48
+ if (!command) {
49
+ console.log(`Unknown subcommand ${commandName}.`);
50
+ exitWithHelp();
51
+ }
52
+
53
+ command.fn();
@@ -0,0 +1,50 @@
1
+ {
2
+ "pkg": "@lorikeetai/node-sdk",
3
+ "githubRepo": "https://github.com/optechai/node-sdk",
4
+ "clientClass": "Lorikeet",
5
+ "methods": [
6
+ {
7
+ "base": "ingest",
8
+ "name": "submit",
9
+ "params": [
10
+ {
11
+ "type": "param",
12
+ "key": "workflowId",
13
+ "location": "path"
14
+ },
15
+ {
16
+ "type": "params",
17
+ "maybeOverload": false
18
+ },
19
+ {
20
+ "type": "options"
21
+ }
22
+ ],
23
+ "oldParams": [
24
+ {
25
+ "type": "param",
26
+ "key": "toolId",
27
+ "location": "path"
28
+ },
29
+ {
30
+ "type": "param",
31
+ "key": "ticketId",
32
+ "location": "path"
33
+ },
34
+ {
35
+ "type": "param",
36
+ "key": "inputHash",
37
+ "location": "path"
38
+ },
39
+ {
40
+ "type": "param",
41
+ "key": "workflowId",
42
+ "location": "path"
43
+ },
44
+ {
45
+ "type": "options"
46
+ }
47
+ ]
48
+ }
49
+ ]
50
+ }
package/client.d.mts ADDED
@@ -0,0 +1,197 @@
1
+ import type { RequestInit, RequestInfo } from "./internal/builtin-types.mjs";
2
+ import type { PromiseOrValue, MergedRequestInit, FinalizedRequestInit } from "./internal/types.mjs";
3
+ export type { Logger, LogLevel } from "./internal/utils/log.mjs";
4
+ import * as Opts from "./internal/request-options.mjs";
5
+ import * as Errors from "./core/error.mjs";
6
+ import * as Uploads from "./core/uploads.mjs";
7
+ import * as API from "./resources/index.mjs";
8
+ import { APIPromise } from "./core/api-promise.mjs";
9
+ import { APIKeyCreateParams, APIKeyCreateResponse, APIKeyGetResponse, APIKeyListResponse, APIKeys } from "./resources/api-keys.mjs";
10
+ import { Ingest, IngestSubmitParams, IngestTestParams } from "./resources/ingest.mjs";
11
+ import { AttachmentDto, Conversation, TicketEvent, TicketMessageDto } from "./resources/conversation/conversation.mjs";
12
+ import { Customer, CustomerCreateParams, CustomerCreateResponse, CustomerGetParams, CustomerGetResponse, CustomerTokenParams, CustomerTokenResponse, CustomerUpdateParams, CustomerUpdateResponse } from "./resources/customer/customer.mjs";
13
+ import { type Fetch } from "./internal/builtin-types.mjs";
14
+ import { HeadersLike, NullableHeaders } from "./internal/headers.mjs";
15
+ import { FinalRequestOptions, RequestOptions } from "./internal/request-options.mjs";
16
+ import { type LogLevel, type Logger } from "./internal/utils/log.mjs";
17
+ export interface ClientOptions {
18
+ /**
19
+ * client identifier authentication associated with the account.
20
+ */
21
+ clientID?: string | undefined;
22
+ /**
23
+ * Secret key pulled from the Lorikeet App
24
+ */
25
+ clientSecret?: string | undefined;
26
+ /**
27
+ * Override the default base URL for the API, e.g., "https://api.example.com/v2/"
28
+ *
29
+ * Defaults to process.env['LORIKEET_BASE_URL'].
30
+ */
31
+ baseURL?: string | null | undefined;
32
+ /**
33
+ * The maximum amount of time (in milliseconds) that the client should wait for a response
34
+ * from the server before timing out a single request.
35
+ *
36
+ * Note that request timeouts are retried by default, so in a worst-case scenario you may wait
37
+ * much longer than this timeout before the promise succeeds or fails.
38
+ *
39
+ * @unit milliseconds
40
+ */
41
+ timeout?: number | undefined;
42
+ /**
43
+ * Additional `RequestInit` options to be passed to `fetch` calls.
44
+ * Properties will be overridden by per-request `fetchOptions`.
45
+ */
46
+ fetchOptions?: MergedRequestInit | undefined;
47
+ /**
48
+ * Specify a custom `fetch` function implementation.
49
+ *
50
+ * If not provided, we expect that `fetch` is defined globally.
51
+ */
52
+ fetch?: Fetch | undefined;
53
+ /**
54
+ * The maximum number of times that the client will retry a request in case of a
55
+ * temporary failure, like a network error or a 5XX error from the server.
56
+ *
57
+ * @default 2
58
+ */
59
+ maxRetries?: number | undefined;
60
+ /**
61
+ * Default headers to include with every request to the API.
62
+ *
63
+ * These can be removed in individual requests by explicitly setting the
64
+ * header to `null` in request options.
65
+ */
66
+ defaultHeaders?: HeadersLike | undefined;
67
+ /**
68
+ * Default query parameters to include with every request to the API.
69
+ *
70
+ * These can be removed in individual requests by explicitly setting the
71
+ * param to `undefined` in request options.
72
+ */
73
+ defaultQuery?: Record<string, string | undefined> | undefined;
74
+ /**
75
+ * Set the log level.
76
+ *
77
+ * Defaults to process.env['LORIKEET_LOG'] or 'warn' if it isn't set.
78
+ */
79
+ logLevel?: LogLevel | undefined;
80
+ /**
81
+ * Set the logger.
82
+ *
83
+ * Defaults to globalThis.console.
84
+ */
85
+ logger?: Logger | undefined;
86
+ }
87
+ /**
88
+ * API Client for interfacing with the Lorikeet API.
89
+ */
90
+ export declare class Lorikeet {
91
+ #private;
92
+ clientID: string;
93
+ clientSecret: string;
94
+ baseURL: string;
95
+ maxRetries: number;
96
+ timeout: number;
97
+ logger: Logger;
98
+ logLevel: LogLevel | undefined;
99
+ fetchOptions: MergedRequestInit | undefined;
100
+ private fetch;
101
+ protected idempotencyHeader?: string;
102
+ private _options;
103
+ /**
104
+ * API Client for interfacing with the Lorikeet API.
105
+ *
106
+ * @param {string | undefined} [opts.clientID=process.env['LORIKEET_CLIENT_ID'] ?? undefined]
107
+ * @param {string | undefined} [opts.clientSecret=process.env['LORIKEET_CLIENT_SECRET'] ?? undefined]
108
+ * @param {string} [opts.baseURL=process.env['LORIKEET_BASE_URL'] ?? https://api.lorikeetcx.ai] - Override the default base URL for the API.
109
+ * @param {number} [opts.timeout=1 minute] - The maximum amount of time (in milliseconds) the client will wait for a response before timing out.
110
+ * @param {MergedRequestInit} [opts.fetchOptions] - Additional `RequestInit` options to be passed to `fetch` calls.
111
+ * @param {Fetch} [opts.fetch] - Specify a custom `fetch` function implementation.
112
+ * @param {number} [opts.maxRetries=2] - The maximum number of times the client will retry a request.
113
+ * @param {HeadersLike} opts.defaultHeaders - Default headers to include with every request to the API.
114
+ * @param {Record<string, string | undefined>} opts.defaultQuery - Default query parameters to include with every request to the API.
115
+ */
116
+ constructor({ baseURL, clientID, clientSecret, ...opts }?: ClientOptions);
117
+ /**
118
+ * Create a new client instance re-using the same options given to the current client with optional overriding.
119
+ */
120
+ withOptions(options: Partial<ClientOptions>): this;
121
+ protected defaultQuery(): Record<string, string | undefined> | undefined;
122
+ protected validateHeaders({ values, nulls }: NullableHeaders): void;
123
+ protected authHeaders(opts: FinalRequestOptions): Promise<NullableHeaders | undefined>;
124
+ protected lorikeetClientIDAuth(opts: FinalRequestOptions): Promise<NullableHeaders | undefined>;
125
+ /**
126
+ * Basic re-implementation of `qs.stringify` for primitive types.
127
+ */
128
+ protected stringifyQuery(query: Record<string, unknown>): string;
129
+ private getUserAgent;
130
+ protected defaultIdempotencyKey(): string;
131
+ protected makeStatusError(status: number, error: Object, message: string | undefined, headers: Headers): Errors.APIError;
132
+ buildURL(path: string, query: Record<string, unknown> | null | undefined, defaultBaseURL?: string | undefined): string;
133
+ /**
134
+ * Used as a callback for mutating the given `FinalRequestOptions` object.
135
+ */
136
+ protected prepareOptions(options: FinalRequestOptions): Promise<void>;
137
+ /**
138
+ * Used as a callback for mutating the given `RequestInit` object.
139
+ *
140
+ * This is useful for cases where you want to add certain headers based off of
141
+ * the request properties, e.g. `method` or `url`.
142
+ */
143
+ protected prepareRequest(request: RequestInit, { url, options }: {
144
+ url: string;
145
+ options: FinalRequestOptions;
146
+ }): Promise<void>;
147
+ get<Rsp>(path: string, opts?: PromiseOrValue<RequestOptions>): APIPromise<Rsp>;
148
+ post<Rsp>(path: string, opts?: PromiseOrValue<RequestOptions>): APIPromise<Rsp>;
149
+ patch<Rsp>(path: string, opts?: PromiseOrValue<RequestOptions>): APIPromise<Rsp>;
150
+ put<Rsp>(path: string, opts?: PromiseOrValue<RequestOptions>): APIPromise<Rsp>;
151
+ delete<Rsp>(path: string, opts?: PromiseOrValue<RequestOptions>): APIPromise<Rsp>;
152
+ private methodRequest;
153
+ request<Rsp>(options: PromiseOrValue<FinalRequestOptions>, remainingRetries?: number | null): APIPromise<Rsp>;
154
+ private makeRequest;
155
+ fetchWithTimeout(url: RequestInfo, init: RequestInit | undefined, ms: number, controller: AbortController): Promise<Response>;
156
+ private shouldRetry;
157
+ private retryRequest;
158
+ private calculateDefaultRetryTimeoutMillis;
159
+ buildRequest(inputOptions: FinalRequestOptions, { retryCount }?: {
160
+ retryCount?: number;
161
+ }): Promise<{
162
+ req: FinalizedRequestInit;
163
+ url: string;
164
+ timeout: number;
165
+ }>;
166
+ private buildHeaders;
167
+ private _makeAbort;
168
+ private buildBody;
169
+ static Lorikeet: typeof Lorikeet;
170
+ static DEFAULT_TIMEOUT: number;
171
+ static LorikeetError: typeof Errors.LorikeetError;
172
+ static APIError: typeof Errors.APIError;
173
+ static APIConnectionError: typeof Errors.APIConnectionError;
174
+ static APIConnectionTimeoutError: typeof Errors.APIConnectionTimeoutError;
175
+ static APIUserAbortError: typeof Errors.APIUserAbortError;
176
+ static NotFoundError: typeof Errors.NotFoundError;
177
+ static ConflictError: typeof Errors.ConflictError;
178
+ static RateLimitError: typeof Errors.RateLimitError;
179
+ static BadRequestError: typeof Errors.BadRequestError;
180
+ static AuthenticationError: typeof Errors.AuthenticationError;
181
+ static InternalServerError: typeof Errors.InternalServerError;
182
+ static PermissionDeniedError: typeof Errors.PermissionDeniedError;
183
+ static UnprocessableEntityError: typeof Errors.UnprocessableEntityError;
184
+ static toFile: typeof Uploads.toFile;
185
+ conversation: API.Conversation;
186
+ customer: API.Customer;
187
+ ingest: API.Ingest;
188
+ apiKeys: API.APIKeys;
189
+ }
190
+ export declare namespace Lorikeet {
191
+ export type RequestOptions = Opts.RequestOptions;
192
+ export { Conversation as Conversation, type AttachmentDto as AttachmentDto, type TicketEvent as TicketEvent, type TicketMessageDto as TicketMessageDto, };
193
+ export { Customer as Customer, type CustomerCreateResponse as CustomerCreateResponse, type CustomerUpdateResponse as CustomerUpdateResponse, type CustomerGetResponse as CustomerGetResponse, type CustomerTokenResponse as CustomerTokenResponse, type CustomerCreateParams as CustomerCreateParams, type CustomerUpdateParams as CustomerUpdateParams, type CustomerGetParams as CustomerGetParams, type CustomerTokenParams as CustomerTokenParams, };
194
+ export { Ingest as Ingest, type IngestSubmitParams as IngestSubmitParams, type IngestTestParams as IngestTestParams, };
195
+ export { APIKeys as APIKeys, type APIKeyCreateResponse as APIKeyCreateResponse, type APIKeyListResponse as APIKeyListResponse, type APIKeyGetResponse as APIKeyGetResponse, type APIKeyCreateParams as APIKeyCreateParams, };
196
+ }
197
+ //# sourceMappingURL=client.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.mts","sourceRoot":"","sources":["src/client.ts"],"names":[],"mappings":"OAGO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAY;OAC3C,KAAK,EAAc,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE;YAIvE,EAAE,MAAM,EAAE,QAAQ,EAAE;OAKzB,KAAK,IAAI;OAET,KAAK,MAAM;OACX,KAAK,OAAO;OACZ,KAAK,GAAG;OACR,EAAE,UAAU,EAAE;OACd,EACL,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,OAAO,EACR;OACM,EAAE,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE;OAChD,EACL,aAAa,EACb,YAAY,EACZ,WAAW,EACX,gBAAgB,EACjB;OACM,EACL,QAAQ,EACR,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACvB;OACM,EAAE,KAAK,KAAK,EAAE;OACd,EAAE,WAAW,EAAE,eAAe,EAAgB;OAC9C,EAAE,mBAAmB,EAAE,cAAc,EAAE;OAEvC,EACL,KAAK,QAAQ,EACb,KAAK,MAAM,EAIZ;AAGD,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAEpC;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;OAGG;IACH,YAAY,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAE7C;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAE1B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAEzC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IAE9D;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAEhC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,QAAQ;;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IAErB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,YAAY,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAE5C,OAAO,CAAC,KAAK,CAAQ;IAErB,SAAS,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAgB;IAEhC;;;;;;;;;;;;OAYG;gBACS,EACV,OAAsC,EACtC,QAAwC,EACxC,YAAgD,EAChD,GAAG,IAAI,EACR,GAAE,aAAkB;IAwCrB;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAwBlD,SAAS,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS;IAIxE,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,eAAe;cAI5C,WAAW,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;cAK5E,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAIrG;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAiBhE,OAAO,CAAC,YAAY;IAIpB,SAAS,CAAC,qBAAqB,IAAI,MAAM;IAIzC,SAAS,CAAC,eAAe,CACvB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,OAAO,GACf,MAAM,CAAC,QAAQ;IAIlB,QAAQ,CACN,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EACjD,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,GAClC,MAAM;IAmBT;;OAEG;cACa,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE3E;;;;;OAKG;cACa,cAAc,CAC5B,OAAO,EAAE,WAAW,EACpB,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,mBAAmB,CAAA;KAAE,GAC9D,OAAO,CAAC,IAAI,CAAC;IAahB,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC;IAI9E,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC;IAI/E,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC;IAIhF,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC;IAI9E,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC;IAIjF,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,GAAG,EACT,OAAO,EAAE,cAAc,CAAC,mBAAmB,CAAC,EAC5C,gBAAgB,GAAE,MAAM,GAAG,IAAW,GACrC,UAAU,CAAC,GAAG,CAAC;YAIJ,WAAW;IA6JnB,gBAAgB,CACpB,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,eAAe,GAC1B,OAAO,CAAC,QAAQ,CAAC;YA+BN,WAAW;YAuBX,YAAY;IAuC1B,OAAO,CAAC,kCAAkC;IAepC,YAAY,CAChB,YAAY,EAAE,mBAAmB,EACjC,EAAE,UAAc,EAAE,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO,GAC/C,OAAO,CAAC;QAAE,GAAG,EAAE,oBAAoB,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;YAwBzD,YAAY;IAqC1B,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,SAAS;IA6CjB,MAAM,CAAC,QAAQ,kBAAQ;IACvB,MAAM,CAAC,eAAe,SAAS;IAE/B,MAAM,CAAC,aAAa,8BAAwB;IAC5C,MAAM,CAAC,QAAQ,yBAAmB;IAClC,MAAM,CAAC,kBAAkB,mCAA6B;IACtD,MAAM,CAAC,yBAAyB,0CAAoC;IACpE,MAAM,CAAC,iBAAiB,kCAA4B;IACpD,MAAM,CAAC,aAAa,8BAAwB;IAC5C,MAAM,CAAC,aAAa,8BAAwB;IAC5C,MAAM,CAAC,cAAc,+BAAyB;IAC9C,MAAM,CAAC,eAAe,gCAA0B;IAChD,MAAM,CAAC,mBAAmB,oCAA8B;IACxD,MAAM,CAAC,mBAAmB,oCAA8B;IACxD,MAAM,CAAC,qBAAqB,sCAAgC;IAC5D,MAAM,CAAC,wBAAwB,yCAAmC;IAElE,MAAM,CAAC,MAAM,wBAAkB;IAE/B,YAAY,EAAE,GAAG,CAAC,YAAY,CAA8B;IAC5D,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAA0B;IAChD,MAAM,EAAE,GAAG,CAAC,MAAM,CAAwB;IAC1C,OAAO,EAAE,GAAG,CAAC,OAAO,CAAyB;CAC9C;AAOD,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IAEjD,OAAO,EACL,YAAY,IAAI,YAAY,EAC5B,KAAK,aAAa,IAAI,aAAa,EACnC,KAAK,WAAW,IAAI,WAAW,EAC/B,KAAK,gBAAgB,IAAI,gBAAgB,GAC1C,CAAC;IAEF,OAAO,EACL,QAAQ,IAAI,QAAQ,EACpB,KAAK,sBAAsB,IAAI,sBAAsB,EACrD,KAAK,sBAAsB,IAAI,sBAAsB,EACrD,KAAK,mBAAmB,IAAI,mBAAmB,EAC/C,KAAK,qBAAqB,IAAI,qBAAqB,EACnD,KAAK,oBAAoB,IAAI,oBAAoB,EACjD,KAAK,oBAAoB,IAAI,oBAAoB,EACjD,KAAK,iBAAiB,IAAI,iBAAiB,EAC3C,KAAK,mBAAmB,IAAI,mBAAmB,GAChD,CAAC;IAEF,OAAO,EACL,MAAM,IAAI,MAAM,EAChB,KAAK,kBAAkB,IAAI,kBAAkB,EAC7C,KAAK,gBAAgB,IAAI,gBAAgB,GAC1C,CAAC;IAEF,OAAO,EACL,OAAO,IAAI,OAAO,EAClB,KAAK,oBAAoB,IAAI,oBAAoB,EACjD,KAAK,kBAAkB,IAAI,kBAAkB,EAC7C,KAAK,iBAAiB,IAAI,iBAAiB,EAC3C,KAAK,kBAAkB,IAAI,kBAAkB,GAC9C,CAAC;CACH"}