@knocklabs/node 0.6.19 → 1.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 (860) hide show
  1. package/CHANGELOG.md +48 -7
  2. package/LICENSE +201 -21
  3. package/README.md +338 -129
  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 +223 -0
  13. package/client.d.mts.map +1 -0
  14. package/client.d.ts +223 -0
  15. package/client.d.ts.map +1 -0
  16. package/client.js +485 -0
  17. package/client.js.map +1 -0
  18. package/client.mjs +481 -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/pagination.d.mts +111 -0
  37. package/core/pagination.d.mts.map +1 -0
  38. package/core/pagination.d.ts +111 -0
  39. package/core/pagination.d.ts.map +1 -0
  40. package/core/pagination.js +173 -0
  41. package/core/pagination.js.map +1 -0
  42. package/core/pagination.mjs +164 -0
  43. package/core/pagination.mjs.map +1 -0
  44. package/core/resource.d.mts +6 -0
  45. package/core/resource.d.mts.map +1 -0
  46. package/core/resource.d.ts +6 -0
  47. package/core/resource.d.ts.map +1 -0
  48. package/core/resource.js +11 -0
  49. package/core/resource.js.map +1 -0
  50. package/core/resource.mjs +7 -0
  51. package/core/resource.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 +7 -0
  69. package/index.d.mts.map +1 -0
  70. package/index.d.ts +7 -0
  71. package/index.d.ts.map +1 -0
  72. package/index.js +32 -0
  73. package/index.js.map +1 -0
  74. package/index.mjs +8 -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/detect-platform.d.mts +15 -0
  85. package/internal/detect-platform.d.mts.map +1 -0
  86. package/internal/detect-platform.d.ts +15 -0
  87. package/internal/detect-platform.d.ts.map +1 -0
  88. package/internal/detect-platform.js +162 -0
  89. package/internal/detect-platform.js.map +1 -0
  90. package/internal/detect-platform.mjs +157 -0
  91. package/internal/detect-platform.mjs.map +1 -0
  92. package/internal/errors.d.mts +3 -0
  93. package/internal/errors.d.mts.map +1 -0
  94. package/internal/errors.d.ts +3 -0
  95. package/internal/errors.d.ts.map +1 -0
  96. package/internal/errors.js +41 -0
  97. package/internal/errors.js.map +1 -0
  98. package/internal/errors.mjs +36 -0
  99. package/internal/errors.mjs.map +1 -0
  100. package/internal/headers.d.mts +20 -0
  101. package/internal/headers.d.mts.map +1 -0
  102. package/internal/headers.d.ts +20 -0
  103. package/internal/headers.d.ts.map +1 -0
  104. package/internal/headers.js +79 -0
  105. package/internal/headers.js.map +1 -0
  106. package/internal/headers.mjs +74 -0
  107. package/internal/headers.mjs.map +1 -0
  108. package/internal/parse.d.mts +12 -0
  109. package/internal/parse.d.mts.map +1 -0
  110. package/internal/parse.d.ts +12 -0
  111. package/internal/parse.d.ts.map +1 -0
  112. package/internal/parse.js +35 -0
  113. package/internal/parse.js.map +1 -0
  114. package/internal/parse.mjs +32 -0
  115. package/internal/parse.mjs.map +1 -0
  116. package/internal/qs/formats.d.mts +6 -0
  117. package/internal/qs/formats.d.mts.map +1 -0
  118. package/internal/qs/formats.d.ts +6 -0
  119. package/internal/qs/formats.d.ts.map +1 -0
  120. package/internal/qs/formats.js +11 -0
  121. package/internal/qs/formats.js.map +1 -0
  122. package/internal/qs/formats.mjs +8 -0
  123. package/internal/qs/formats.mjs.map +1 -0
  124. package/internal/qs/index.d.mts +10 -0
  125. package/internal/qs/index.d.mts.map +1 -0
  126. package/internal/qs/index.d.ts +10 -0
  127. package/internal/qs/index.d.ts.map +1 -0
  128. package/internal/qs/index.js +14 -0
  129. package/internal/qs/index.js.map +1 -0
  130. package/internal/qs/index.mjs +10 -0
  131. package/internal/qs/index.mjs.map +1 -0
  132. package/internal/qs/stringify.d.mts +3 -0
  133. package/internal/qs/stringify.d.mts.map +1 -0
  134. package/internal/qs/stringify.d.ts +3 -0
  135. package/internal/qs/stringify.d.ts.map +1 -0
  136. package/internal/qs/stringify.js +279 -0
  137. package/internal/qs/stringify.js.map +1 -0
  138. package/internal/qs/stringify.mjs +276 -0
  139. package/internal/qs/stringify.mjs.map +1 -0
  140. package/internal/qs/types.d.mts +57 -0
  141. package/internal/qs/types.d.mts.map +1 -0
  142. package/internal/qs/types.d.ts +57 -0
  143. package/internal/qs/types.d.ts.map +1 -0
  144. package/{dist/src/common/interfaces.js → internal/qs/types.js} +1 -0
  145. package/internal/qs/types.js.map +1 -0
  146. package/internal/qs/types.mjs +2 -0
  147. package/internal/qs/types.mjs.map +1 -0
  148. package/internal/qs/utils.d.mts +14 -0
  149. package/internal/qs/utils.d.mts.map +1 -0
  150. package/internal/qs/utils.d.ts +14 -0
  151. package/internal/qs/utils.d.ts.map +1 -0
  152. package/internal/qs/utils.js +229 -0
  153. package/internal/qs/utils.js.map +1 -0
  154. package/internal/qs/utils.mjs +217 -0
  155. package/internal/qs/utils.mjs.map +1 -0
  156. package/internal/request-options.d.mts +32 -0
  157. package/internal/request-options.d.mts.map +1 -0
  158. package/internal/request-options.d.ts +32 -0
  159. package/internal/request-options.d.ts.map +1 -0
  160. package/internal/request-options.js +14 -0
  161. package/internal/request-options.js.map +1 -0
  162. package/internal/request-options.mjs +10 -0
  163. package/internal/request-options.mjs.map +1 -0
  164. package/internal/shim-types.d.mts +28 -0
  165. package/internal/shim-types.d.ts +28 -0
  166. package/internal/shims.d.mts +20 -0
  167. package/internal/shims.d.mts.map +1 -0
  168. package/internal/shims.d.ts +20 -0
  169. package/internal/shims.d.ts.map +1 -0
  170. package/internal/shims.js +92 -0
  171. package/internal/shims.js.map +1 -0
  172. package/internal/shims.mjs +85 -0
  173. package/internal/shims.mjs.map +1 -0
  174. package/internal/to-file.d.mts +45 -0
  175. package/internal/to-file.d.mts.map +1 -0
  176. package/internal/to-file.d.ts +45 -0
  177. package/internal/to-file.d.ts.map +1 -0
  178. package/internal/to-file.js +91 -0
  179. package/internal/to-file.js.map +1 -0
  180. package/internal/to-file.mjs +88 -0
  181. package/internal/to-file.mjs.map +1 -0
  182. package/internal/tslib.js +81 -0
  183. package/internal/tslib.mjs +17 -0
  184. package/internal/types.d.mts +67 -0
  185. package/internal/types.d.mts.map +1 -0
  186. package/internal/types.d.ts +67 -0
  187. package/internal/types.d.ts.map +1 -0
  188. package/internal/types.js +4 -0
  189. package/internal/types.js.map +1 -0
  190. package/internal/types.mjs +3 -0
  191. package/internal/types.mjs.map +1 -0
  192. package/internal/uploads.d.mts +42 -0
  193. package/internal/uploads.d.mts.map +1 -0
  194. package/internal/uploads.d.ts +42 -0
  195. package/internal/uploads.d.ts.map +1 -0
  196. package/internal/uploads.js +141 -0
  197. package/internal/uploads.js.map +1 -0
  198. package/internal/uploads.mjs +131 -0
  199. package/internal/uploads.mjs.map +1 -0
  200. package/internal/utils/base64.d.mts +3 -0
  201. package/internal/utils/base64.d.mts.map +1 -0
  202. package/internal/utils/base64.d.ts +3 -0
  203. package/internal/utils/base64.d.ts.map +1 -0
  204. package/internal/utils/base64.js +38 -0
  205. package/internal/utils/base64.js.map +1 -0
  206. package/internal/utils/base64.mjs +33 -0
  207. package/internal/utils/base64.mjs.map +1 -0
  208. package/internal/utils/bytes.d.mts +4 -0
  209. package/internal/utils/bytes.d.mts.map +1 -0
  210. package/internal/utils/bytes.d.ts +4 -0
  211. package/internal/utils/bytes.d.ts.map +1 -0
  212. package/internal/utils/bytes.js +31 -0
  213. package/internal/utils/bytes.js.map +1 -0
  214. package/internal/utils/bytes.mjs +26 -0
  215. package/internal/utils/bytes.mjs.map +1 -0
  216. package/internal/utils/env.d.mts +9 -0
  217. package/internal/utils/env.d.mts.map +1 -0
  218. package/internal/utils/env.d.ts +9 -0
  219. package/internal/utils/env.d.ts.map +1 -0
  220. package/internal/utils/env.js +22 -0
  221. package/internal/utils/env.js.map +1 -0
  222. package/internal/utils/env.mjs +18 -0
  223. package/internal/utils/env.mjs.map +1 -0
  224. package/internal/utils/log.d.mts +37 -0
  225. package/internal/utils/log.d.mts.map +1 -0
  226. package/internal/utils/log.d.ts +37 -0
  227. package/internal/utils/log.d.ts.map +1 -0
  228. package/internal/utils/log.js +85 -0
  229. package/internal/utils/log.js.map +1 -0
  230. package/internal/utils/log.mjs +79 -0
  231. package/internal/utils/log.mjs.map +1 -0
  232. package/internal/utils/path.d.mts +15 -0
  233. package/internal/utils/path.d.mts.map +1 -0
  234. package/internal/utils/path.d.ts +15 -0
  235. package/internal/utils/path.d.ts.map +1 -0
  236. package/internal/utils/path.js +58 -0
  237. package/internal/utils/path.js.map +1 -0
  238. package/internal/utils/path.mjs +53 -0
  239. package/internal/utils/path.mjs.map +1 -0
  240. package/internal/utils/sleep.d.mts +2 -0
  241. package/internal/utils/sleep.d.mts.map +1 -0
  242. package/internal/utils/sleep.d.ts +2 -0
  243. package/internal/utils/sleep.d.ts.map +1 -0
  244. package/internal/utils/sleep.js +7 -0
  245. package/internal/utils/sleep.js.map +1 -0
  246. package/internal/utils/sleep.mjs +3 -0
  247. package/internal/utils/sleep.mjs.map +1 -0
  248. package/internal/utils/uuid.d.mts +5 -0
  249. package/internal/utils/uuid.d.mts.map +1 -0
  250. package/internal/utils/uuid.d.ts +5 -0
  251. package/internal/utils/uuid.d.ts.map +1 -0
  252. package/internal/utils/uuid.js +19 -0
  253. package/internal/utils/uuid.js.map +1 -0
  254. package/internal/utils/uuid.mjs +15 -0
  255. package/internal/utils/uuid.mjs.map +1 -0
  256. package/internal/utils/values.d.mts +16 -0
  257. package/internal/utils/values.d.mts.map +1 -0
  258. package/internal/utils/values.d.ts +16 -0
  259. package/internal/utils/values.d.ts.map +1 -0
  260. package/internal/utils/values.js +109 -0
  261. package/internal/utils/values.js.map +1 -0
  262. package/internal/utils/values.mjs +92 -0
  263. package/internal/utils/values.mjs.map +1 -0
  264. package/internal/utils.d.mts +7 -0
  265. package/internal/utils.d.mts.map +1 -0
  266. package/internal/utils.d.ts +7 -0
  267. package/internal/utils.d.ts.map +1 -0
  268. package/internal/utils.js +11 -0
  269. package/internal/utils.js.map +1 -0
  270. package/internal/utils.mjs +8 -0
  271. package/internal/utils.mjs.map +1 -0
  272. package/lib/index.d.mts +6 -0
  273. package/lib/index.d.mts.map +1 -0
  274. package/lib/index.d.ts +6 -0
  275. package/lib/index.d.ts.map +1 -0
  276. package/lib/index.js +9 -0
  277. package/lib/index.js.map +1 -0
  278. package/lib/index.mjs +6 -0
  279. package/lib/index.mjs.map +1 -0
  280. package/lib/tokenSigner.d.mts +46 -0
  281. package/lib/tokenSigner.d.mts.map +1 -0
  282. package/lib/tokenSigner.d.ts +46 -0
  283. package/lib/tokenSigner.d.ts.map +1 -0
  284. package/lib/tokenSigner.js +131 -0
  285. package/lib/tokenSigner.js.map +1 -0
  286. package/lib/tokenSigner.mjs +125 -0
  287. package/lib/tokenSigner.mjs.map +1 -0
  288. package/lib/userTokens.d.mts +32 -0
  289. package/lib/userTokens.d.mts.map +1 -0
  290. package/{dist/src/common → lib}/userTokens.d.ts +7 -3
  291. package/lib/userTokens.d.ts.map +1 -0
  292. package/{dist/src/common → lib}/userTokens.js +4 -0
  293. package/lib/userTokens.js.map +1 -0
  294. package/lib/userTokens.mjs +12 -0
  295. package/lib/userTokens.mjs.map +1 -0
  296. package/package.json +155 -38
  297. package/pagination.d.mts +2 -0
  298. package/pagination.d.mts.map +1 -0
  299. package/pagination.d.ts +2 -0
  300. package/pagination.d.ts.map +1 -0
  301. package/pagination.js +6 -0
  302. package/pagination.js.map +1 -0
  303. package/pagination.mjs +2 -0
  304. package/pagination.mjs.map +1 -0
  305. package/resource.d.mts +2 -0
  306. package/resource.d.mts.map +1 -0
  307. package/resource.d.ts +2 -0
  308. package/resource.d.ts.map +1 -0
  309. package/resource.js +6 -0
  310. package/resource.js.map +1 -0
  311. package/resource.mjs +2 -0
  312. package/resource.mjs.map +1 -0
  313. package/resources/audiences.d.mts +160 -0
  314. package/resources/audiences.d.mts.map +1 -0
  315. package/resources/audiences.d.ts +160 -0
  316. package/resources/audiences.d.ts.map +1 -0
  317. package/resources/audiences.js +53 -0
  318. package/resources/audiences.js.map +1 -0
  319. package/resources/audiences.mjs +49 -0
  320. package/resources/audiences.mjs.map +1 -0
  321. package/resources/bulk-operations.d.mts +97 -0
  322. package/resources/bulk-operations.d.mts.map +1 -0
  323. package/resources/bulk-operations.d.ts +97 -0
  324. package/resources/bulk-operations.d.ts.map +1 -0
  325. package/resources/bulk-operations.js +23 -0
  326. package/resources/bulk-operations.js.map +1 -0
  327. package/resources/bulk-operations.mjs +19 -0
  328. package/resources/bulk-operations.mjs.map +1 -0
  329. package/resources/channels/bulk.d.mts +82 -0
  330. package/resources/channels/bulk.d.mts.map +1 -0
  331. package/resources/channels/bulk.d.ts +82 -0
  332. package/resources/channels/bulk.d.ts.map +1 -0
  333. package/resources/channels/bulk.js +40 -0
  334. package/resources/channels/bulk.js.map +1 -0
  335. package/resources/channels/bulk.mjs +36 -0
  336. package/resources/channels/bulk.mjs.map +1 -0
  337. package/resources/channels/channels.d.mts +10 -0
  338. package/resources/channels/channels.d.mts.map +1 -0
  339. package/resources/channels/channels.d.ts +10 -0
  340. package/resources/channels/channels.d.ts.map +1 -0
  341. package/resources/channels/channels.js +17 -0
  342. package/resources/channels/channels.js.map +1 -0
  343. package/resources/channels/channels.mjs +12 -0
  344. package/resources/channels/channels.mjs.map +1 -0
  345. package/resources/channels/index.d.mts +3 -0
  346. package/resources/channels/index.d.mts.map +1 -0
  347. package/resources/channels/index.d.ts +3 -0
  348. package/resources/channels/index.d.ts.map +1 -0
  349. package/resources/channels/index.js +9 -0
  350. package/resources/channels/index.js.map +1 -0
  351. package/resources/channels/index.mjs +4 -0
  352. package/resources/channels/index.mjs.map +1 -0
  353. package/resources/channels.d.mts +2 -0
  354. package/resources/channels.d.mts.map +1 -0
  355. package/resources/channels.d.ts +2 -0
  356. package/resources/channels.d.ts.map +1 -0
  357. package/resources/channels.js +6 -0
  358. package/resources/channels.js.map +1 -0
  359. package/resources/channels.mjs +3 -0
  360. package/resources/channels.mjs.map +1 -0
  361. package/resources/index.d.mts +14 -0
  362. package/resources/index.d.mts.map +1 -0
  363. package/resources/index.d.ts +14 -0
  364. package/resources/index.d.ts.map +1 -0
  365. package/resources/index.js +31 -0
  366. package/resources/index.js.map +1 -0
  367. package/resources/index.mjs +15 -0
  368. package/resources/index.mjs.map +1 -0
  369. package/resources/integrations/census.d.mts +41 -0
  370. package/resources/integrations/census.d.mts.map +1 -0
  371. package/resources/integrations/census.d.ts +41 -0
  372. package/resources/integrations/census.d.ts.map +1 -0
  373. package/resources/integrations/census.js +15 -0
  374. package/resources/integrations/census.js.map +1 -0
  375. package/resources/integrations/census.mjs +11 -0
  376. package/resources/integrations/census.mjs.map +1 -0
  377. package/resources/integrations/hightouch.d.mts +41 -0
  378. package/resources/integrations/hightouch.d.mts.map +1 -0
  379. package/resources/integrations/hightouch.d.ts +41 -0
  380. package/resources/integrations/hightouch.d.ts.map +1 -0
  381. package/resources/integrations/hightouch.js +15 -0
  382. package/resources/integrations/hightouch.js.map +1 -0
  383. package/resources/integrations/hightouch.mjs +11 -0
  384. package/resources/integrations/hightouch.mjs.map +1 -0
  385. package/resources/integrations/index.d.mts +4 -0
  386. package/resources/integrations/index.d.mts.map +1 -0
  387. package/resources/integrations/index.d.ts +4 -0
  388. package/resources/integrations/index.d.ts.map +1 -0
  389. package/resources/integrations/index.js +11 -0
  390. package/resources/integrations/index.js.map +1 -0
  391. package/resources/integrations/index.mjs +5 -0
  392. package/resources/integrations/index.mjs.map +1 -0
  393. package/resources/integrations/integrations.d.mts +14 -0
  394. package/resources/integrations/integrations.d.mts.map +1 -0
  395. package/resources/integrations/integrations.d.ts +14 -0
  396. package/resources/integrations/integrations.d.ts.map +1 -0
  397. package/resources/integrations/integrations.js +21 -0
  398. package/resources/integrations/integrations.js.map +1 -0
  399. package/resources/integrations/integrations.mjs +16 -0
  400. package/resources/integrations/integrations.mjs.map +1 -0
  401. package/resources/integrations.d.mts +2 -0
  402. package/resources/integrations.d.mts.map +1 -0
  403. package/resources/integrations.d.ts +2 -0
  404. package/resources/integrations.d.ts.map +1 -0
  405. package/resources/integrations.js +6 -0
  406. package/resources/integrations.js.map +1 -0
  407. package/resources/integrations.mjs +3 -0
  408. package/resources/integrations.mjs.map +1 -0
  409. package/resources/messages/activities.d.mts +32 -0
  410. package/resources/messages/activities.d.mts.map +1 -0
  411. package/resources/messages/activities.d.ts +32 -0
  412. package/resources/messages/activities.d.ts.map +1 -0
  413. package/resources/messages/activities.js +27 -0
  414. package/resources/messages/activities.js.map +1 -0
  415. package/resources/messages/activities.mjs +23 -0
  416. package/resources/messages/activities.mjs.map +1 -0
  417. package/resources/messages/batch.d.mts +455 -0
  418. package/resources/messages/batch.d.mts.map +1 -0
  419. package/resources/messages/batch.d.ts +455 -0
  420. package/resources/messages/batch.d.ts.map +1 -0
  421. package/resources/messages/batch.js +147 -0
  422. package/resources/messages/batch.js.map +1 -0
  423. package/resources/messages/batch.mjs +143 -0
  424. package/resources/messages/batch.mjs.map +1 -0
  425. package/resources/messages/index.d.mts +4 -0
  426. package/resources/messages/index.d.mts.map +1 -0
  427. package/resources/messages/index.d.ts +4 -0
  428. package/resources/messages/index.d.ts.map +1 -0
  429. package/resources/messages/index.js +11 -0
  430. package/resources/messages/index.js.map +1 -0
  431. package/resources/messages/index.mjs +5 -0
  432. package/resources/messages/index.mjs.map +1 -0
  433. package/resources/messages/messages.d.mts +778 -0
  434. package/resources/messages/messages.d.mts.map +1 -0
  435. package/resources/messages/messages.d.ts +778 -0
  436. package/resources/messages/messages.d.ts.map +1 -0
  437. package/resources/messages/messages.js +223 -0
  438. package/resources/messages/messages.js.map +1 -0
  439. package/resources/messages/messages.mjs +218 -0
  440. package/resources/messages/messages.mjs.map +1 -0
  441. package/resources/messages.d.mts +2 -0
  442. package/resources/messages.d.mts.map +1 -0
  443. package/resources/messages.d.ts +2 -0
  444. package/resources/messages.d.ts.map +1 -0
  445. package/resources/messages.js +6 -0
  446. package/resources/messages.js.map +1 -0
  447. package/resources/messages.mjs +3 -0
  448. package/resources/messages.mjs.map +1 -0
  449. package/resources/objects/bulk.d.mts +108 -0
  450. package/resources/objects/bulk.d.mts.map +1 -0
  451. package/resources/objects/bulk.d.ts +108 -0
  452. package/resources/objects/bulk.d.ts.map +1 -0
  453. package/resources/objects/bulk.js +81 -0
  454. package/resources/objects/bulk.js.map +1 -0
  455. package/resources/objects/bulk.mjs +77 -0
  456. package/resources/objects/bulk.mjs.map +1 -0
  457. package/resources/objects/index.d.mts +3 -0
  458. package/resources/objects/index.d.mts.map +1 -0
  459. package/resources/objects/index.d.ts +3 -0
  460. package/resources/objects/index.d.ts.map +1 -0
  461. package/resources/objects/index.js +9 -0
  462. package/resources/objects/index.js.map +1 -0
  463. package/resources/objects/index.mjs +4 -0
  464. package/resources/objects/index.mjs.map +1 -0
  465. package/resources/objects/objects.d.mts +560 -0
  466. package/resources/objects/objects.d.mts.map +1 -0
  467. package/resources/objects/objects.d.ts +560 -0
  468. package/resources/objects/objects.d.ts.map +1 -0
  469. package/resources/objects/objects.js +312 -0
  470. package/resources/objects/objects.js.map +1 -0
  471. package/resources/objects/objects.mjs +307 -0
  472. package/resources/objects/objects.mjs.map +1 -0
  473. package/resources/objects.d.mts +2 -0
  474. package/resources/objects.d.mts.map +1 -0
  475. package/resources/objects.d.ts +2 -0
  476. package/resources/objects.d.ts.map +1 -0
  477. package/resources/objects.js +6 -0
  478. package/resources/objects.js.map +1 -0
  479. package/resources/objects.mjs +3 -0
  480. package/resources/objects.mjs.map +1 -0
  481. package/resources/providers/index.d.mts +4 -0
  482. package/resources/providers/index.d.mts.map +1 -0
  483. package/resources/providers/index.d.ts +4 -0
  484. package/resources/providers/index.d.ts.map +1 -0
  485. package/resources/providers/index.js +11 -0
  486. package/resources/providers/index.js.map +1 -0
  487. package/resources/providers/index.mjs +5 -0
  488. package/resources/providers/index.mjs.map +1 -0
  489. package/resources/providers/ms-teams.d.mts +223 -0
  490. package/resources/providers/ms-teams.d.mts.map +1 -0
  491. package/resources/providers/ms-teams.d.ts +223 -0
  492. package/resources/providers/ms-teams.d.ts.map +1 -0
  493. package/resources/providers/ms-teams.js +82 -0
  494. package/resources/providers/ms-teams.js.map +1 -0
  495. package/resources/providers/ms-teams.mjs +78 -0
  496. package/resources/providers/ms-teams.mjs.map +1 -0
  497. package/resources/providers/providers.d.mts +14 -0
  498. package/resources/providers/providers.d.mts.map +1 -0
  499. package/resources/providers/providers.d.ts +14 -0
  500. package/resources/providers/providers.d.ts.map +1 -0
  501. package/resources/providers/providers.js +21 -0
  502. package/resources/providers/providers.js.map +1 -0
  503. package/resources/providers/providers.mjs +16 -0
  504. package/resources/providers/providers.mjs.map +1 -0
  505. package/resources/providers/slack.d.mts +154 -0
  506. package/resources/providers/slack.d.mts.map +1 -0
  507. package/resources/providers/slack.d.ts +154 -0
  508. package/resources/providers/slack.d.ts.map +1 -0
  509. package/resources/providers/slack.js +60 -0
  510. package/resources/providers/slack.js.map +1 -0
  511. package/resources/providers/slack.mjs +56 -0
  512. package/resources/providers/slack.mjs.map +1 -0
  513. package/resources/providers.d.mts +2 -0
  514. package/resources/providers.d.mts.map +1 -0
  515. package/resources/providers.d.ts +2 -0
  516. package/resources/providers.d.ts.map +1 -0
  517. package/resources/providers.js +6 -0
  518. package/resources/providers.js.map +1 -0
  519. package/resources/providers.mjs +3 -0
  520. package/resources/providers.mjs.map +1 -0
  521. package/resources/recipients/channel-data.d.mts +205 -0
  522. package/resources/recipients/channel-data.d.mts.map +1 -0
  523. package/resources/recipients/channel-data.d.ts +205 -0
  524. package/resources/recipients/channel-data.d.ts.map +1 -0
  525. package/resources/recipients/channel-data.js +9 -0
  526. package/resources/recipients/channel-data.js.map +1 -0
  527. package/resources/recipients/channel-data.mjs +5 -0
  528. package/resources/recipients/channel-data.mjs.map +1 -0
  529. package/resources/recipients/index.d.mts +5 -0
  530. package/resources/recipients/index.d.mts.map +1 -0
  531. package/resources/recipients/index.d.ts +5 -0
  532. package/resources/recipients/index.d.ts.map +1 -0
  533. package/resources/recipients/index.js +13 -0
  534. package/resources/recipients/index.js.map +1 -0
  535. package/resources/recipients/index.mjs +6 -0
  536. package/resources/recipients/index.mjs.map +1 -0
  537. package/resources/recipients/preferences.d.mts +155 -0
  538. package/resources/recipients/preferences.d.mts.map +1 -0
  539. package/resources/recipients/preferences.d.ts +155 -0
  540. package/resources/recipients/preferences.d.ts.map +1 -0
  541. package/resources/recipients/preferences.js +9 -0
  542. package/resources/recipients/preferences.js.map +1 -0
  543. package/resources/recipients/preferences.mjs +5 -0
  544. package/resources/recipients/preferences.mjs.map +1 -0
  545. package/resources/recipients/recipients.d.mts +51 -0
  546. package/resources/recipients/recipients.d.mts.map +1 -0
  547. package/resources/recipients/recipients.d.ts +51 -0
  548. package/resources/recipients/recipients.d.ts.map +1 -0
  549. package/resources/recipients/recipients.js +23 -0
  550. package/resources/recipients/recipients.js.map +1 -0
  551. package/resources/recipients/recipients.mjs +18 -0
  552. package/resources/recipients/recipients.mjs.map +1 -0
  553. package/resources/recipients/subscriptions.d.mts +40 -0
  554. package/resources/recipients/subscriptions.d.mts.map +1 -0
  555. package/resources/recipients/subscriptions.d.ts +40 -0
  556. package/resources/recipients/subscriptions.d.ts.map +1 -0
  557. package/resources/recipients/subscriptions.js +9 -0
  558. package/resources/recipients/subscriptions.js.map +1 -0
  559. package/resources/recipients/subscriptions.mjs +5 -0
  560. package/resources/recipients/subscriptions.mjs.map +1 -0
  561. package/resources/recipients.d.mts +2 -0
  562. package/resources/recipients.d.mts.map +1 -0
  563. package/resources/recipients.d.ts +2 -0
  564. package/resources/recipients.d.ts.map +1 -0
  565. package/resources/recipients.js +6 -0
  566. package/resources/recipients.js.map +1 -0
  567. package/resources/recipients.mjs +3 -0
  568. package/resources/recipients.mjs.map +1 -0
  569. package/resources/schedules/bulk.d.mts +98 -0
  570. package/resources/schedules/bulk.d.mts.map +1 -0
  571. package/resources/schedules/bulk.d.ts +98 -0
  572. package/resources/schedules/bulk.d.ts.map +1 -0
  573. package/resources/schedules/bulk.js +47 -0
  574. package/resources/schedules/bulk.js.map +1 -0
  575. package/resources/schedules/bulk.mjs +43 -0
  576. package/resources/schedules/bulk.mjs.map +1 -0
  577. package/resources/schedules/index.d.mts +3 -0
  578. package/resources/schedules/index.d.mts.map +1 -0
  579. package/resources/schedules/index.d.ts +3 -0
  580. package/resources/schedules/index.d.ts.map +1 -0
  581. package/resources/schedules/index.js +9 -0
  582. package/resources/schedules/index.js.map +1 -0
  583. package/resources/schedules/index.mjs +4 -0
  584. package/resources/schedules/index.mjs.map +1 -0
  585. package/resources/schedules/schedules.d.mts +299 -0
  586. package/resources/schedules/schedules.d.mts.map +1 -0
  587. package/resources/schedules/schedules.d.ts +299 -0
  588. package/resources/schedules/schedules.d.ts.map +1 -0
  589. package/resources/schedules/schedules.js +126 -0
  590. package/resources/schedules/schedules.js.map +1 -0
  591. package/resources/schedules/schedules.mjs +121 -0
  592. package/resources/schedules/schedules.mjs.map +1 -0
  593. package/resources/schedules.d.mts +2 -0
  594. package/resources/schedules.d.mts.map +1 -0
  595. package/resources/schedules.d.ts +2 -0
  596. package/resources/schedules.d.ts.map +1 -0
  597. package/resources/schedules.js +6 -0
  598. package/resources/schedules.js.map +1 -0
  599. package/resources/schedules.mjs +3 -0
  600. package/resources/schedules.mjs.map +1 -0
  601. package/resources/shared.d.mts +45 -0
  602. package/resources/shared.d.mts.map +1 -0
  603. package/resources/shared.d.ts +45 -0
  604. package/resources/shared.d.ts.map +1 -0
  605. package/resources/shared.js +9 -0
  606. package/resources/shared.js.map +1 -0
  607. package/resources/shared.mjs +5 -0
  608. package/resources/shared.mjs.map +1 -0
  609. package/resources/tenants/bulk.d.mts +45 -0
  610. package/resources/tenants/bulk.d.mts.map +1 -0
  611. package/resources/tenants/bulk.d.ts +45 -0
  612. package/resources/tenants/bulk.d.ts.map +1 -0
  613. package/resources/tenants/bulk.js +36 -0
  614. package/resources/tenants/bulk.js.map +1 -0
  615. package/resources/tenants/bulk.mjs +32 -0
  616. package/resources/tenants/bulk.mjs.map +1 -0
  617. package/resources/tenants/index.d.mts +3 -0
  618. package/resources/tenants/index.d.mts.map +1 -0
  619. package/resources/tenants/index.d.ts +3 -0
  620. package/resources/tenants/index.d.ts.map +1 -0
  621. package/resources/tenants/index.js +9 -0
  622. package/resources/tenants/index.js.map +1 -0
  623. package/resources/tenants/index.mjs +4 -0
  624. package/resources/tenants/index.mjs.map +1 -0
  625. package/resources/tenants/tenants.d.mts +266 -0
  626. package/resources/tenants/tenants.d.mts.map +1 -0
  627. package/resources/tenants/tenants.d.ts +266 -0
  628. package/resources/tenants/tenants.d.ts.map +1 -0
  629. package/resources/tenants/tenants.js +77 -0
  630. package/resources/tenants/tenants.js.map +1 -0
  631. package/resources/tenants/tenants.mjs +72 -0
  632. package/resources/tenants/tenants.mjs.map +1 -0
  633. package/resources/tenants.d.mts +2 -0
  634. package/resources/tenants.d.mts.map +1 -0
  635. package/resources/tenants.d.ts +2 -0
  636. package/resources/tenants.d.ts.map +1 -0
  637. package/resources/tenants.js +6 -0
  638. package/resources/tenants.js.map +1 -0
  639. package/resources/tenants.mjs +3 -0
  640. package/resources/tenants.mjs.map +1 -0
  641. package/resources/users/bulk.d.mts +92 -0
  642. package/resources/users/bulk.d.mts.map +1 -0
  643. package/resources/users/bulk.d.ts +92 -0
  644. package/resources/users/bulk.d.ts.map +1 -0
  645. package/resources/users/bulk.js +73 -0
  646. package/resources/users/bulk.js.map +1 -0
  647. package/resources/users/bulk.mjs +69 -0
  648. package/resources/users/bulk.mjs.map +1 -0
  649. package/resources/users/feeds.d.mts +248 -0
  650. package/resources/users/feeds.d.mts.map +1 -0
  651. package/resources/users/feeds.d.ts +248 -0
  652. package/resources/users/feeds.d.ts.map +1 -0
  653. package/resources/users/feeds.js +43 -0
  654. package/resources/users/feeds.js.map +1 -0
  655. package/resources/users/feeds.mjs +39 -0
  656. package/resources/users/feeds.mjs.map +1 -0
  657. package/resources/users/guides.d.mts +293 -0
  658. package/resources/users/guides.d.mts.map +1 -0
  659. package/resources/users/guides.d.ts +293 -0
  660. package/resources/users/guides.d.ts.map +1 -0
  661. package/resources/users/guides.js +114 -0
  662. package/resources/users/guides.js.map +1 -0
  663. package/resources/users/guides.mjs +110 -0
  664. package/resources/users/guides.mjs.map +1 -0
  665. package/resources/users/index.d.mts +5 -0
  666. package/resources/users/index.d.mts.map +1 -0
  667. package/resources/users/index.d.ts +5 -0
  668. package/resources/users/index.d.ts.map +1 -0
  669. package/resources/users/index.js +13 -0
  670. package/resources/users/index.js.map +1 -0
  671. package/resources/users/index.mjs +6 -0
  672. package/resources/users/index.mjs.map +1 -0
  673. package/resources/users/users.d.mts +585 -0
  674. package/resources/users/users.d.mts.map +1 -0
  675. package/resources/users/users.d.ts +585 -0
  676. package/resources/users/users.d.ts.map +1 -0
  677. package/resources/users/users.js +262 -0
  678. package/resources/users/users.js.map +1 -0
  679. package/resources/users/users.mjs +257 -0
  680. package/resources/users/users.mjs.map +1 -0
  681. package/resources/users.d.mts +2 -0
  682. package/resources/users.d.mts.map +1 -0
  683. package/resources/users.d.ts +2 -0
  684. package/resources/users.d.ts.map +1 -0
  685. package/resources/users.js +6 -0
  686. package/resources/users.js.map +1 -0
  687. package/resources/users.mjs +3 -0
  688. package/resources/users.mjs.map +1 -0
  689. package/resources/workflows.d.mts +113 -0
  690. package/resources/workflows.d.mts.map +1 -0
  691. package/resources/workflows.d.ts +113 -0
  692. package/resources/workflows.d.ts.map +1 -0
  693. package/resources/workflows.js +58 -0
  694. package/resources/workflows.js.map +1 -0
  695. package/resources/workflows.mjs +54 -0
  696. package/resources/workflows.mjs.map +1 -0
  697. package/resources.d.mts +2 -0
  698. package/resources.d.mts.map +1 -0
  699. package/resources.d.ts +2 -0
  700. package/resources.d.ts.map +1 -0
  701. package/resources.js +5 -0
  702. package/resources.js.map +1 -0
  703. package/resources.mjs +2 -0
  704. package/resources.mjs.map +1 -0
  705. package/src/api-promise.ts +2 -0
  706. package/src/client.ts +984 -0
  707. package/src/core/README.md +3 -0
  708. package/src/core/api-promise.ts +92 -0
  709. package/src/core/error.ts +130 -0
  710. package/src/core/pagination.ts +323 -0
  711. package/src/core/resource.ts +11 -0
  712. package/src/core/uploads.ts +2 -0
  713. package/src/error.ts +2 -0
  714. package/src/index.ts +23 -0
  715. package/src/internal/README.md +3 -0
  716. package/src/internal/builtin-types.ts +93 -0
  717. package/src/internal/detect-platform.ts +196 -0
  718. package/src/internal/errors.ts +33 -0
  719. package/src/internal/headers.ts +97 -0
  720. package/src/internal/parse.ts +50 -0
  721. package/src/internal/qs/LICENSE.md +13 -0
  722. package/src/internal/qs/README.md +3 -0
  723. package/src/internal/qs/formats.ts +9 -0
  724. package/src/internal/qs/index.ts +13 -0
  725. package/src/internal/qs/stringify.ts +388 -0
  726. package/src/internal/qs/types.ts +71 -0
  727. package/src/internal/qs/utils.ts +265 -0
  728. package/src/internal/request-options.ts +37 -0
  729. package/src/internal/shim-types.d.ts +28 -0
  730. package/src/internal/shims.ts +107 -0
  731. package/src/internal/to-file.ts +154 -0
  732. package/src/internal/types.ts +92 -0
  733. package/src/internal/uploads.ts +187 -0
  734. package/src/internal/utils/base64.ts +40 -0
  735. package/src/internal/utils/bytes.ts +32 -0
  736. package/src/internal/utils/env.ts +18 -0
  737. package/src/internal/utils/log.ts +126 -0
  738. package/src/internal/utils/path.ts +63 -0
  739. package/src/internal/utils/sleep.ts +3 -0
  740. package/src/internal/utils/uuid.ts +17 -0
  741. package/src/internal/utils/values.ts +102 -0
  742. package/src/internal/utils.ts +8 -0
  743. package/src/lib/.keep +4 -0
  744. package/src/lib/index.ts +6 -0
  745. package/src/lib/tokenSigner.ts +170 -0
  746. package/src/lib/userTokens.ts +38 -0
  747. package/src/pagination.ts +2 -0
  748. package/src/resource.ts +2 -0
  749. package/src/resources/audiences.ts +200 -0
  750. package/src/resources/bulk-operations.ts +120 -0
  751. package/src/resources/channels/bulk.ts +128 -0
  752. package/src/resources/channels/channels.ts +15 -0
  753. package/src/resources/channels/index.ts +4 -0
  754. package/src/resources/channels.ts +3 -0
  755. package/src/resources/index.ts +108 -0
  756. package/src/resources/integrations/census.ts +58 -0
  757. package/src/resources/integrations/hightouch.ts +58 -0
  758. package/src/resources/integrations/index.ts +9 -0
  759. package/src/resources/integrations/integrations.ts +33 -0
  760. package/src/resources/integrations.ts +3 -0
  761. package/src/resources/messages/activities.ts +48 -0
  762. package/src/resources/messages/batch.ts +575 -0
  763. package/src/resources/messages/index.ts +39 -0
  764. package/src/resources/messages/messages.ts +1055 -0
  765. package/src/resources/messages.ts +3 -0
  766. package/src/resources/objects/bulk.ts +141 -0
  767. package/src/resources/objects/index.ts +23 -0
  768. package/src/resources/objects/objects.ts +794 -0
  769. package/src/resources/objects.ts +3 -0
  770. package/src/resources/providers/index.ts +25 -0
  771. package/src/resources/providers/ms-teams.ts +300 -0
  772. package/src/resources/providers/providers.ts +61 -0
  773. package/src/resources/providers/slack.ts +213 -0
  774. package/src/resources/providers.ts +3 -0
  775. package/src/resources/recipients/channel-data.ts +255 -0
  776. package/src/resources/recipients/index.ts +22 -0
  777. package/src/resources/recipients/preferences.ts +192 -0
  778. package/src/resources/recipients/recipients.ts +101 -0
  779. package/src/resources/recipients/subscriptions.ts +49 -0
  780. package/src/resources/recipients.ts +3 -0
  781. package/src/resources/schedules/bulk.ts +112 -0
  782. package/src/resources/schedules/index.ts +16 -0
  783. package/src/resources/schedules/schedules.ts +369 -0
  784. package/src/resources/schedules.ts +3 -0
  785. package/src/resources/shared.ts +72 -0
  786. package/src/resources/tenants/bulk.ts +56 -0
  787. package/src/resources/tenants/index.ts +13 -0
  788. package/src/resources/tenants/tenants.ts +333 -0
  789. package/src/resources/tenants.ts +3 -0
  790. package/src/resources/users/bulk.ts +114 -0
  791. package/src/resources/users/feeds.ts +315 -0
  792. package/src/resources/users/guides.ts +386 -0
  793. package/src/resources/users/index.ts +40 -0
  794. package/src/resources/users/users.ts +823 -0
  795. package/src/resources/users.ts +3 -0
  796. package/src/resources/workflows.ts +140 -0
  797. package/src/resources.ts +1 -0
  798. package/src/tsconfig.json +11 -0
  799. package/src/uploads.ts +2 -0
  800. package/src/version.ts +1 -0
  801. package/uploads.d.mts +2 -0
  802. package/uploads.d.mts.map +1 -0
  803. package/uploads.d.ts +2 -0
  804. package/uploads.d.ts.map +1 -0
  805. package/uploads.js +6 -0
  806. package/uploads.js.map +1 -0
  807. package/uploads.mjs +2 -0
  808. package/uploads.mjs.map +1 -0
  809. package/version.d.mts +2 -0
  810. package/version.d.mts.map +1 -0
  811. package/version.d.ts +2 -0
  812. package/version.d.ts.map +1 -0
  813. package/version.js +5 -0
  814. package/version.js.map +1 -0
  815. package/version.mjs +2 -0
  816. package/version.mjs.map +1 -0
  817. package/dist/package.json +0 -48
  818. package/dist/src/common/exceptions.d.ts +0 -48
  819. package/dist/src/common/exceptions.js +0 -78
  820. package/dist/src/common/fetchClient.d.ts +0 -28
  821. package/dist/src/common/fetchClient.js +0 -148
  822. package/dist/src/common/interfaces.d.ts +0 -70
  823. package/dist/src/index.d.ts +0 -8
  824. package/dist/src/index.js +0 -26
  825. package/dist/src/knock.d.ts +0 -57
  826. package/dist/src/knock.js +0 -241
  827. package/dist/src/resources/activities/interfaces.d.ts +0 -11
  828. package/dist/src/resources/activities/interfaces.js +0 -2
  829. package/dist/src/resources/bulk_operations/index.d.ts +0 -7
  830. package/dist/src/resources/bulk_operations/index.js +0 -24
  831. package/dist/src/resources/bulk_operations/interfaces.d.ts +0 -12
  832. package/dist/src/resources/bulk_operations/interfaces.js +0 -2
  833. package/dist/src/resources/messages/index.d.ts +0 -16
  834. package/dist/src/resources/messages/index.js +0 -93
  835. package/dist/src/resources/messages/interfaces.d.ts +0 -58
  836. package/dist/src/resources/messages/interfaces.js +0 -2
  837. package/dist/src/resources/objects/index.d.ts +0 -36
  838. package/dist/src/resources/objects/index.js +0 -203
  839. package/dist/src/resources/objects/interfaces.d.ts +0 -51
  840. package/dist/src/resources/objects/interfaces.js +0 -2
  841. package/dist/src/resources/preferences/helpers.d.ts +0 -7
  842. package/dist/src/resources/preferences/helpers.js +0 -11
  843. package/dist/src/resources/preferences/interfaces.d.ts +0 -30
  844. package/dist/src/resources/preferences/interfaces.js +0 -2
  845. package/dist/src/resources/slack/index.d.ts +0 -9
  846. package/dist/src/resources/slack/index.js +0 -75
  847. package/dist/src/resources/slack/interfaces.d.ts +0 -30
  848. package/dist/src/resources/slack/interfaces.js +0 -2
  849. package/dist/src/resources/tenants/index.d.ts +0 -11
  850. package/dist/src/resources/tenants/index.js +0 -42
  851. package/dist/src/resources/tenants/interfaces.d.ts +0 -32
  852. package/dist/src/resources/tenants/interfaces.js +0 -2
  853. package/dist/src/resources/users/index.d.ts +0 -36
  854. package/dist/src/resources/users/index.js +0 -232
  855. package/dist/src/resources/users/interfaces.d.ts +0 -34
  856. package/dist/src/resources/users/interfaces.js +0 -2
  857. package/dist/src/resources/workflows/index.d.ts +0 -13
  858. package/dist/src/resources/workflows/index.js +0 -72
  859. package/dist/src/resources/workflows/interfaces.d.ts +0 -90
  860. package/dist/src/resources/workflows/interfaces.js +0 -20
@@ -0,0 +1,7 @@
1
+ export * from "./utils/values.js";
2
+ export * from "./utils/base64.js";
3
+ export * from "./utils/env.js";
4
+ export * from "./utils/log.js";
5
+ export * from "./utils/uuid.js";
6
+ export * from "./utils/sleep.js";
7
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/internal/utils.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const tslib_1 = require("./tslib.js");
5
+ tslib_1.__exportStar(require("./utils/values.js"), exports);
6
+ tslib_1.__exportStar(require("./utils/base64.js"), exports);
7
+ tslib_1.__exportStar(require("./utils/env.js"), exports);
8
+ tslib_1.__exportStar(require("./utils/log.js"), exports);
9
+ tslib_1.__exportStar(require("./utils/uuid.js"), exports);
10
+ tslib_1.__exportStar(require("./utils/sleep.js"), exports);
11
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/internal/utils.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,4DAA+B;AAC/B,4DAA+B;AAC/B,yDAA4B;AAC5B,yDAA4B;AAC5B,0DAA6B;AAC7B,2DAA8B"}
@@ -0,0 +1,8 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ export * from "./utils/values.mjs";
3
+ export * from "./utils/base64.mjs";
4
+ export * from "./utils/env.mjs";
5
+ export * from "./utils/log.mjs";
6
+ export * from "./utils/uuid.mjs";
7
+ export * from "./utils/sleep.mjs";
8
+ //# sourceMappingURL=utils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.mjs","sourceRoot":"","sources":["../src/internal/utils.ts"],"names":[],"mappings":"AAAA,sFAAsF"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Exports for Knock custom functionality
3
+ */
4
+ export * from "./userTokens.mjs";
5
+ export * from "./tokenSigner.mjs";
6
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA;;GAEG"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Exports for Knock custom functionality
3
+ */
4
+ export * from "./userTokens.js";
5
+ export * from "./tokenSigner.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA;;GAEG"}
package/lib/index.js ADDED
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * Exports for Knock custom functionality
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const tslib_1 = require("../internal/tslib.js");
7
+ tslib_1.__exportStar(require("./userTokens.js"), exports);
8
+ tslib_1.__exportStar(require("./tokenSigner.js"), exports);
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,0DAA6B;AAC7B,2DAA8B"}
package/lib/index.mjs ADDED
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Exports for Knock custom functionality
3
+ */
4
+ export * from "./userTokens.mjs";
5
+ export * from "./tokenSigner.mjs";
6
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Token signing functionality for Knock authentication
3
+ */
4
+ import type { TokenEntity, TokenGrant, TokenGrantOptions } from "./userTokens.mjs";
5
+ /**
6
+ * Options for signing a user token
7
+ */
8
+ export interface SignUserTokenOptions {
9
+ /**
10
+ * The signing key to use (in PEM or base-64 encoded format)
11
+ * If not provided, it will try to use process.env.KNOCK_SIGNING_KEY
12
+ */
13
+ signingKey?: string | undefined;
14
+ /**
15
+ * How long the token should be valid for in seconds
16
+ * @default 3600 (1 hour)
17
+ */
18
+ expiresInSeconds?: number | undefined;
19
+ /**
20
+ * Grants to include in the token
21
+ */
22
+ grants?: TokenGrant[] | undefined;
23
+ }
24
+ /**
25
+ * Prepare user token grants
26
+ */
27
+ export declare function maybePrepareUserTokenGrants(grants: TokenGrant[] | undefined): Record<string, TokenGrant['grants']> | undefined;
28
+ /**
29
+ * Helper function to build user token grants to pass to the `signUserToken` method.
30
+ *
31
+ * @param entity {TokenEntity} The type of entity to build a grant for
32
+ * @param grants {TokenGrantOptions} A list of grants to give to the entity for the user
33
+ *
34
+ * @returns {TokenGrant} A single token grant that can be passed to the signUserToken function
35
+ */
36
+ export declare function buildUserTokenGrant(entity: TokenEntity, grants: TokenGrantOptions): TokenGrant;
37
+ /**
38
+ * Generate JWT for authenticating client-side requests (e.g. in-app feeds)
39
+ * For more information, visit https://docs.knock.app/in-app-ui/security-and-authentication#authentication-with-enhanced-security-enabled
40
+ *
41
+ * @param userId {string} The ID of the user that needs a token, e.g. the user viewing an in-app feed.
42
+ * @param options Optionally specify the signing key to use (in PEM or base-64 encoded format), and how long the token should be valid for in seconds
43
+ * @returns {Promise<string>} A JWT token that can be used to authenticate requests to the Knock API (e.g. by passing into the <KnockFeedProvider /> component)
44
+ */
45
+ export declare function signUserToken(userId: string, options?: SignUserTokenOptions): Promise<string>;
46
+ //# sourceMappingURL=tokenSigner.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenSigner.d.mts","sourceRoot":"","sources":["../src/lib/tokenSigner.ts"],"names":[],"mappings":"AAAA;;GAEG;OAGI,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE;AAK1D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtC;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;CACnC;AAuED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,UAAU,EAAE,GAAG,SAAS,GAC/B,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAalD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,GAAG,UAAU,CAK9F;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBnG"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Token signing functionality for Knock authentication
3
+ */
4
+ import type { TokenEntity, TokenGrant, TokenGrantOptions } from "./userTokens.js";
5
+ /**
6
+ * Options for signing a user token
7
+ */
8
+ export interface SignUserTokenOptions {
9
+ /**
10
+ * The signing key to use (in PEM or base-64 encoded format)
11
+ * If not provided, it will try to use process.env.KNOCK_SIGNING_KEY
12
+ */
13
+ signingKey?: string | undefined;
14
+ /**
15
+ * How long the token should be valid for in seconds
16
+ * @default 3600 (1 hour)
17
+ */
18
+ expiresInSeconds?: number | undefined;
19
+ /**
20
+ * Grants to include in the token
21
+ */
22
+ grants?: TokenGrant[] | undefined;
23
+ }
24
+ /**
25
+ * Prepare user token grants
26
+ */
27
+ export declare function maybePrepareUserTokenGrants(grants: TokenGrant[] | undefined): Record<string, TokenGrant['grants']> | undefined;
28
+ /**
29
+ * Helper function to build user token grants to pass to the `signUserToken` method.
30
+ *
31
+ * @param entity {TokenEntity} The type of entity to build a grant for
32
+ * @param grants {TokenGrantOptions} A list of grants to give to the entity for the user
33
+ *
34
+ * @returns {TokenGrant} A single token grant that can be passed to the signUserToken function
35
+ */
36
+ export declare function buildUserTokenGrant(entity: TokenEntity, grants: TokenGrantOptions): TokenGrant;
37
+ /**
38
+ * Generate JWT for authenticating client-side requests (e.g. in-app feeds)
39
+ * For more information, visit https://docs.knock.app/in-app-ui/security-and-authentication#authentication-with-enhanced-security-enabled
40
+ *
41
+ * @param userId {string} The ID of the user that needs a token, e.g. the user viewing an in-app feed.
42
+ * @param options Optionally specify the signing key to use (in PEM or base-64 encoded format), and how long the token should be valid for in seconds
43
+ * @returns {Promise<string>} A JWT token that can be used to authenticate requests to the Knock API (e.g. by passing into the <KnockFeedProvider /> component)
44
+ */
45
+ export declare function signUserToken(userId: string, options?: SignUserTokenOptions): Promise<string>;
46
+ //# sourceMappingURL=tokenSigner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenSigner.d.ts","sourceRoot":"","sources":["../src/lib/tokenSigner.ts"],"names":[],"mappings":"AAAA;;GAEG;OAGI,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE;AAK1D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtC;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;CACnC;AAuED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,UAAU,EAAE,GAAG,SAAS,GAC/B,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAalD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,GAAG,UAAU,CAK9F;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBnG"}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ /**
3
+ * Token signing functionality for Knock authentication
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.maybePrepareUserTokenGrants = maybePrepareUserTokenGrants;
7
+ exports.buildUserTokenGrant = buildUserTokenGrant;
8
+ exports.signUserToken = signUserToken;
9
+ const tslib_1 = require("../internal/tslib.js");
10
+ const crypto = tslib_1.__importStar(require("crypto"));
11
+ // Default hostname for Knock API
12
+ const DEFAULT_HOSTNAME = 'https://api.knock.app';
13
+ /**
14
+ * Prepare the signing key for use
15
+ */
16
+ function prepareSigningKey(key) {
17
+ const maybeSigningKey = key ?? process.env['KNOCK_SIGNING_KEY'];
18
+ if (!maybeSigningKey)
19
+ throw new Error('No signing key provided. Set KNOCK_SIGNING_KEY environment variable or pass signingKey option.');
20
+ // If it's already in PEM format
21
+ if (maybeSigningKey.startsWith('-----BEGIN'))
22
+ return maybeSigningKey;
23
+ // LS0tLS1CRUdJTi is the base64 encoded version of "-----BEGIN"
24
+ if (maybeSigningKey.startsWith('LS0tLS1CRUdJTi'))
25
+ return Buffer.from(maybeSigningKey, 'base64').toString('utf-8');
26
+ throw new Error('Invalid signing key format. Must be PEM or base64 encoded PEM.');
27
+ }
28
+ /**
29
+ * Prepare the token entity URI
30
+ */
31
+ function prepareTokenEntityUri(entity) {
32
+ switch (entity.type) {
33
+ case 'user':
34
+ return `${DEFAULT_HOSTNAME}/v1/users/${entity.id}`;
35
+ case 'tenant':
36
+ return `${DEFAULT_HOSTNAME}/v1/objects/$tenants/${entity.id}`;
37
+ case 'object':
38
+ return `${DEFAULT_HOSTNAME}/v1/objects/${entity.collection}/${entity.id}`;
39
+ }
40
+ }
41
+ /**
42
+ * Create and sign a JWT using Node.js crypto
43
+ */
44
+ function createJWT(header, payload, privateKey) {
45
+ // Base64Url encode the header
46
+ const headerBase64 = Buffer.from(JSON.stringify(header))
47
+ .toString('base64')
48
+ .replace(/=/g, '')
49
+ .replace(/\+/g, '-')
50
+ .replace(/\//g, '_');
51
+ // Base64Url encode the payload
52
+ const payloadBase64 = Buffer.from(JSON.stringify(payload))
53
+ .toString('base64')
54
+ .replace(/=/g, '')
55
+ .replace(/\+/g, '-')
56
+ .replace(/\//g, '_');
57
+ // Create the content to sign
58
+ const signatureContent = `${headerBase64}.${payloadBase64}`;
59
+ // Sign the content
60
+ const signer = crypto.createSign('RSA-SHA256');
61
+ signer.update(signatureContent);
62
+ const signature = signer
63
+ .sign(privateKey, 'base64')
64
+ .replace(/=/g, '')
65
+ .replace(/\+/g, '-')
66
+ .replace(/\//g, '_');
67
+ // Combine to create the JWT
68
+ return `${signatureContent}.${signature}`;
69
+ }
70
+ /**
71
+ * Prepare user token grants
72
+ */
73
+ function maybePrepareUserTokenGrants(grants) {
74
+ if (!grants)
75
+ return undefined;
76
+ // Given a list of token grants, flattens them into a single object
77
+ // like: { "entity": { "slack/channels_read": [] } }
78
+ return grants.reduce((acc, grant) => {
79
+ if (acc[grant.entity]) {
80
+ const currentGrants = acc[grant.entity];
81
+ return { ...acc, [grant.entity]: { ...currentGrants, ...grant.grants } };
82
+ }
83
+ else {
84
+ return { ...acc, [grant.entity]: grant.grants };
85
+ }
86
+ }, {});
87
+ }
88
+ /**
89
+ * Helper function to build user token grants to pass to the `signUserToken` method.
90
+ *
91
+ * @param entity {TokenEntity} The type of entity to build a grant for
92
+ * @param grants {TokenGrantOptions} A list of grants to give to the entity for the user
93
+ *
94
+ * @returns {TokenGrant} A single token grant that can be passed to the signUserToken function
95
+ */
96
+ function buildUserTokenGrant(entity, grants) {
97
+ return {
98
+ entity: prepareTokenEntityUri(entity),
99
+ grants: grants.reduce((acc, grant) => ({ ...acc, [grant]: [] }), {}),
100
+ };
101
+ }
102
+ /**
103
+ * Generate JWT for authenticating client-side requests (e.g. in-app feeds)
104
+ * For more information, visit https://docs.knock.app/in-app-ui/security-and-authentication#authentication-with-enhanced-security-enabled
105
+ *
106
+ * @param userId {string} The ID of the user that needs a token, e.g. the user viewing an in-app feed.
107
+ * @param options Optionally specify the signing key to use (in PEM or base-64 encoded format), and how long the token should be valid for in seconds
108
+ * @returns {Promise<string>} A JWT token that can be used to authenticate requests to the Knock API (e.g. by passing into the <KnockFeedProvider /> component)
109
+ */
110
+ async function signUserToken(userId, options) {
111
+ const signingKey = prepareSigningKey(options?.signingKey);
112
+ // JWT NumericDates specified in seconds
113
+ const currentTime = Math.floor(Date.now() / 1000);
114
+ // Default to 1 hour from now
115
+ const expireInSeconds = options?.expiresInSeconds ?? 60 * 60;
116
+ // Create JWT header
117
+ const header = {
118
+ alg: 'RS256',
119
+ typ: 'JWT',
120
+ };
121
+ // Create JWT payload
122
+ const payload = {
123
+ sub: userId,
124
+ grants: maybePrepareUserTokenGrants(options?.grants),
125
+ iat: currentTime,
126
+ exp: currentTime + expireInSeconds,
127
+ };
128
+ // Create and sign the JWT
129
+ return createJWT(header, payload, signingKey);
130
+ }
131
+ //# sourceMappingURL=tokenSigner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenSigner.js","sourceRoot":"","sources":["../src/lib/tokenSigner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Token signing functionality for Knock authentication
3
+ */
4
+ import * as crypto from 'crypto';
5
+ // Default hostname for Knock API
6
+ const DEFAULT_HOSTNAME = 'https://api.knock.app';
7
+ /**
8
+ * Prepare the signing key for use
9
+ */
10
+ function prepareSigningKey(key) {
11
+ const maybeSigningKey = key ?? process.env['KNOCK_SIGNING_KEY'];
12
+ if (!maybeSigningKey)
13
+ throw new Error('No signing key provided. Set KNOCK_SIGNING_KEY environment variable or pass signingKey option.');
14
+ // If it's already in PEM format
15
+ if (maybeSigningKey.startsWith('-----BEGIN'))
16
+ return maybeSigningKey;
17
+ // LS0tLS1CRUdJTi is the base64 encoded version of "-----BEGIN"
18
+ if (maybeSigningKey.startsWith('LS0tLS1CRUdJTi'))
19
+ return Buffer.from(maybeSigningKey, 'base64').toString('utf-8');
20
+ throw new Error('Invalid signing key format. Must be PEM or base64 encoded PEM.');
21
+ }
22
+ /**
23
+ * Prepare the token entity URI
24
+ */
25
+ function prepareTokenEntityUri(entity) {
26
+ switch (entity.type) {
27
+ case 'user':
28
+ return `${DEFAULT_HOSTNAME}/v1/users/${entity.id}`;
29
+ case 'tenant':
30
+ return `${DEFAULT_HOSTNAME}/v1/objects/$tenants/${entity.id}`;
31
+ case 'object':
32
+ return `${DEFAULT_HOSTNAME}/v1/objects/${entity.collection}/${entity.id}`;
33
+ }
34
+ }
35
+ /**
36
+ * Create and sign a JWT using Node.js crypto
37
+ */
38
+ function createJWT(header, payload, privateKey) {
39
+ // Base64Url encode the header
40
+ const headerBase64 = Buffer.from(JSON.stringify(header))
41
+ .toString('base64')
42
+ .replace(/=/g, '')
43
+ .replace(/\+/g, '-')
44
+ .replace(/\//g, '_');
45
+ // Base64Url encode the payload
46
+ const payloadBase64 = Buffer.from(JSON.stringify(payload))
47
+ .toString('base64')
48
+ .replace(/=/g, '')
49
+ .replace(/\+/g, '-')
50
+ .replace(/\//g, '_');
51
+ // Create the content to sign
52
+ const signatureContent = `${headerBase64}.${payloadBase64}`;
53
+ // Sign the content
54
+ const signer = crypto.createSign('RSA-SHA256');
55
+ signer.update(signatureContent);
56
+ const signature = signer
57
+ .sign(privateKey, 'base64')
58
+ .replace(/=/g, '')
59
+ .replace(/\+/g, '-')
60
+ .replace(/\//g, '_');
61
+ // Combine to create the JWT
62
+ return `${signatureContent}.${signature}`;
63
+ }
64
+ /**
65
+ * Prepare user token grants
66
+ */
67
+ export function maybePrepareUserTokenGrants(grants) {
68
+ if (!grants)
69
+ return undefined;
70
+ // Given a list of token grants, flattens them into a single object
71
+ // like: { "entity": { "slack/channels_read": [] } }
72
+ return grants.reduce((acc, grant) => {
73
+ if (acc[grant.entity]) {
74
+ const currentGrants = acc[grant.entity];
75
+ return { ...acc, [grant.entity]: { ...currentGrants, ...grant.grants } };
76
+ }
77
+ else {
78
+ return { ...acc, [grant.entity]: grant.grants };
79
+ }
80
+ }, {});
81
+ }
82
+ /**
83
+ * Helper function to build user token grants to pass to the `signUserToken` method.
84
+ *
85
+ * @param entity {TokenEntity} The type of entity to build a grant for
86
+ * @param grants {TokenGrantOptions} A list of grants to give to the entity for the user
87
+ *
88
+ * @returns {TokenGrant} A single token grant that can be passed to the signUserToken function
89
+ */
90
+ export function buildUserTokenGrant(entity, grants) {
91
+ return {
92
+ entity: prepareTokenEntityUri(entity),
93
+ grants: grants.reduce((acc, grant) => ({ ...acc, [grant]: [] }), {}),
94
+ };
95
+ }
96
+ /**
97
+ * Generate JWT for authenticating client-side requests (e.g. in-app feeds)
98
+ * For more information, visit https://docs.knock.app/in-app-ui/security-and-authentication#authentication-with-enhanced-security-enabled
99
+ *
100
+ * @param userId {string} The ID of the user that needs a token, e.g. the user viewing an in-app feed.
101
+ * @param options Optionally specify the signing key to use (in PEM or base-64 encoded format), and how long the token should be valid for in seconds
102
+ * @returns {Promise<string>} A JWT token that can be used to authenticate requests to the Knock API (e.g. by passing into the <KnockFeedProvider /> component)
103
+ */
104
+ export async function signUserToken(userId, options) {
105
+ const signingKey = prepareSigningKey(options?.signingKey);
106
+ // JWT NumericDates specified in seconds
107
+ const currentTime = Math.floor(Date.now() / 1000);
108
+ // Default to 1 hour from now
109
+ const expireInSeconds = options?.expiresInSeconds ?? 60 * 60;
110
+ // Create JWT header
111
+ const header = {
112
+ alg: 'RS256',
113
+ typ: 'JWT',
114
+ };
115
+ // Create JWT payload
116
+ const payload = {
117
+ sub: userId,
118
+ grants: maybePrepareUserTokenGrants(options?.grants),
119
+ iat: currentTime,
120
+ exp: currentTime + expireInSeconds,
121
+ };
122
+ // Create and sign the JWT
123
+ return createJWT(header, payload, signingKey);
124
+ }
125
+ //# sourceMappingURL=tokenSigner.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenSigner.mjs","sourceRoot":"","sources":["../src/lib/tokenSigner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * User token signing functionality for Knock authentication
3
+ */
4
+ export declare enum Grants {
5
+ SlackChannelsRead = "slack/channels_read",
6
+ MsTeamsChannelsRead = "ms_teams/channels_read",
7
+ ChannelDataRead = "channel_data/read",
8
+ ChannelDataWrite = "channel_data/write",
9
+ UserFeedRead = "user/feed_read"
10
+ }
11
+ export type TokenGrantOptions = Grants[];
12
+ export type TokenEntity = TenantTokenEntity | UserTokenEntity | ObjectTokenEntity;
13
+ export interface TenantTokenEntity {
14
+ type: 'tenant';
15
+ id: string;
16
+ collection?: never;
17
+ }
18
+ export interface ObjectTokenEntity {
19
+ type: 'object';
20
+ id: string;
21
+ collection: string;
22
+ }
23
+ export interface UserTokenEntity {
24
+ type: 'user';
25
+ id: string;
26
+ collection?: never;
27
+ }
28
+ export type TokenGrant = {
29
+ entity: string;
30
+ grants: Partial<Record<Grants, []>>;
31
+ };
32
+ //# sourceMappingURL=userTokens.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userTokens.d.mts","sourceRoot":"","sources":["../src/lib/userTokens.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oBAAY,MAAM;IAChB,iBAAiB,wBAAwB;IACzC,mBAAmB,2BAA2B;IAC9C,eAAe,sBAAsB;IACrC,gBAAgB,uBAAuB;IACvC,YAAY,mBAAmB;CAChC;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,EAAE,CAAC;AAEzC,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAElF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;CACrC,CAAC"}
@@ -1,3 +1,6 @@
1
+ /**
2
+ * User token signing functionality for Knock authentication
3
+ */
1
4
  export declare enum Grants {
2
5
  SlackChannelsRead = "slack/channels_read",
3
6
  MsTeamsChannelsRead = "ms_teams/channels_read",
@@ -8,17 +11,17 @@ export declare enum Grants {
8
11
  export type TokenGrantOptions = Grants[];
9
12
  export type TokenEntity = TenantTokenEntity | UserTokenEntity | ObjectTokenEntity;
10
13
  export interface TenantTokenEntity {
11
- type: "tenant";
14
+ type: 'tenant';
12
15
  id: string;
13
16
  collection?: never;
14
17
  }
15
18
  export interface ObjectTokenEntity {
16
- type: "object";
19
+ type: 'object';
17
20
  id: string;
18
21
  collection: string;
19
22
  }
20
23
  export interface UserTokenEntity {
21
- type: "user";
24
+ type: 'user';
22
25
  id: string;
23
26
  collection?: never;
24
27
  }
@@ -26,3 +29,4 @@ export type TokenGrant = {
26
29
  entity: string;
27
30
  grants: Partial<Record<Grants, []>>;
28
31
  };
32
+ //# sourceMappingURL=userTokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userTokens.d.ts","sourceRoot":"","sources":["../src/lib/userTokens.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oBAAY,MAAM;IAChB,iBAAiB,wBAAwB;IACzC,mBAAmB,2BAA2B;IAC9C,eAAe,sBAAsB;IACrC,gBAAgB,uBAAuB;IACvC,YAAY,mBAAmB;CAChC;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,EAAE,CAAC;AAEzC,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAElF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;CACrC,CAAC"}
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
+ /**
3
+ * User token signing functionality for Knock authentication
4
+ */
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.Grants = void 0;
4
7
  var Grants;
@@ -9,3 +12,4 @@ var Grants;
9
12
  Grants["ChannelDataWrite"] = "channel_data/write";
10
13
  Grants["UserFeedRead"] = "user/feed_read";
11
14
  })(Grants || (exports.Grants = Grants = {}));
15
+ //# sourceMappingURL=userTokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userTokens.js","sourceRoot":"","sources":["../src/lib/userTokens.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,IAAY,MAMX;AAND,WAAY,MAAM;IAChB,mDAAyC,CAAA;IACzC,wDAA8C,CAAA;IAC9C,+CAAqC,CAAA;IACrC,iDAAuC,CAAA;IACvC,yCAA+B,CAAA;AACjC,CAAC,EANW,MAAM,sBAAN,MAAM,QAMjB"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * User token signing functionality for Knock authentication
3
+ */
4
+ export var Grants;
5
+ (function (Grants) {
6
+ Grants["SlackChannelsRead"] = "slack/channels_read";
7
+ Grants["MsTeamsChannelsRead"] = "ms_teams/channels_read";
8
+ Grants["ChannelDataRead"] = "channel_data/read";
9
+ Grants["ChannelDataWrite"] = "channel_data/write";
10
+ Grants["UserFeedRead"] = "user/feed_read";
11
+ })(Grants || (Grants = {}));
12
+ //# sourceMappingURL=userTokens.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userTokens.mjs","sourceRoot":"","sources":["../src/lib/userTokens.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAN,IAAY,MAMX;AAND,WAAY,MAAM;IAChB,mDAAyC,CAAA;IACzC,wDAA8C,CAAA;IAC9C,+CAAqC,CAAA;IACrC,iDAAuC,CAAA;IACvC,yCAA+B,CAAA;AACjC,CAAC,EANW,MAAM,KAAN,MAAM,QAMjB"}