@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,170 @@
1
+ /**
2
+ * Token signing functionality for Knock authentication
3
+ */
4
+
5
+ import * as crypto from 'crypto';
6
+ import type { TokenEntity, TokenGrant, TokenGrantOptions } from './userTokens';
7
+
8
+ // Default hostname for Knock API
9
+ const DEFAULT_HOSTNAME = 'https://api.knock.app';
10
+
11
+ /**
12
+ * Options for signing a user token
13
+ */
14
+ export interface SignUserTokenOptions {
15
+ /**
16
+ * The signing key to use (in PEM or base-64 encoded format)
17
+ * If not provided, it will try to use process.env.KNOCK_SIGNING_KEY
18
+ */
19
+ signingKey?: string | undefined;
20
+
21
+ /**
22
+ * How long the token should be valid for in seconds
23
+ * @default 3600 (1 hour)
24
+ */
25
+ expiresInSeconds?: number | undefined;
26
+
27
+ /**
28
+ * Grants to include in the token
29
+ */
30
+ grants?: TokenGrant[] | undefined;
31
+ }
32
+
33
+ /**
34
+ * Prepare the signing key for use
35
+ */
36
+ function prepareSigningKey(key?: string): string {
37
+ const maybeSigningKey = key ?? process.env['KNOCK_SIGNING_KEY'];
38
+ if (!maybeSigningKey)
39
+ throw new Error(
40
+ 'No signing key provided. Set KNOCK_SIGNING_KEY environment variable or pass signingKey option.',
41
+ );
42
+
43
+ // If it's already in PEM format
44
+ if (maybeSigningKey.startsWith('-----BEGIN')) return maybeSigningKey;
45
+
46
+ // LS0tLS1CRUdJTi is the base64 encoded version of "-----BEGIN"
47
+ if (maybeSigningKey.startsWith('LS0tLS1CRUdJTi'))
48
+ return Buffer.from(maybeSigningKey, 'base64').toString('utf-8');
49
+
50
+ throw new Error('Invalid signing key format. Must be PEM or base64 encoded PEM.');
51
+ }
52
+
53
+ /**
54
+ * Prepare the token entity URI
55
+ */
56
+ function prepareTokenEntityUri(entity: TokenEntity): string {
57
+ switch (entity.type) {
58
+ case 'user':
59
+ return `${DEFAULT_HOSTNAME}/v1/users/${entity.id}`;
60
+ case 'tenant':
61
+ return `${DEFAULT_HOSTNAME}/v1/objects/$tenants/${entity.id}`;
62
+ case 'object':
63
+ return `${DEFAULT_HOSTNAME}/v1/objects/${entity.collection}/${entity.id}`;
64
+ }
65
+ }
66
+
67
+ /**
68
+ * Create and sign a JWT using Node.js crypto
69
+ */
70
+ function createJWT(header: object, payload: object, privateKey: string): string {
71
+ // Base64Url encode the header
72
+ const headerBase64 = Buffer.from(JSON.stringify(header))
73
+ .toString('base64')
74
+ .replace(/=/g, '')
75
+ .replace(/\+/g, '-')
76
+ .replace(/\//g, '_');
77
+
78
+ // Base64Url encode the payload
79
+ const payloadBase64 = Buffer.from(JSON.stringify(payload))
80
+ .toString('base64')
81
+ .replace(/=/g, '')
82
+ .replace(/\+/g, '-')
83
+ .replace(/\//g, '_');
84
+
85
+ // Create the content to sign
86
+ const signatureContent = `${headerBase64}.${payloadBase64}`;
87
+
88
+ // Sign the content
89
+ const signer = crypto.createSign('RSA-SHA256');
90
+ signer.update(signatureContent);
91
+
92
+ const signature = signer
93
+ .sign(privateKey, 'base64')
94
+ .replace(/=/g, '')
95
+ .replace(/\+/g, '-')
96
+ .replace(/\//g, '_');
97
+
98
+ // Combine to create the JWT
99
+ return `${signatureContent}.${signature}`;
100
+ }
101
+
102
+ /**
103
+ * Prepare user token grants
104
+ */
105
+ export function maybePrepareUserTokenGrants(
106
+ grants: TokenGrant[] | undefined,
107
+ ): Record<string, TokenGrant['grants']> | undefined {
108
+ if (!grants) return undefined;
109
+
110
+ // Given a list of token grants, flattens them into a single object
111
+ // like: { "entity": { "slack/channels_read": [] } }
112
+ return grants.reduce<Record<string, TokenGrant['grants']>>((acc, grant) => {
113
+ if (acc[grant.entity]) {
114
+ const currentGrants = acc[grant.entity];
115
+ return { ...acc, [grant.entity]: { ...currentGrants, ...grant.grants } };
116
+ } else {
117
+ return { ...acc, [grant.entity]: grant.grants };
118
+ }
119
+ }, {});
120
+ }
121
+
122
+ /**
123
+ * Helper function to build user token grants to pass to the `signUserToken` method.
124
+ *
125
+ * @param entity {TokenEntity} The type of entity to build a grant for
126
+ * @param grants {TokenGrantOptions} A list of grants to give to the entity for the user
127
+ *
128
+ * @returns {TokenGrant} A single token grant that can be passed to the signUserToken function
129
+ */
130
+ export function buildUserTokenGrant(entity: TokenEntity, grants: TokenGrantOptions): TokenGrant {
131
+ return {
132
+ entity: prepareTokenEntityUri(entity),
133
+ grants: grants.reduce((acc, grant) => ({ ...acc, [grant]: [] }), {}),
134
+ };
135
+ }
136
+
137
+ /**
138
+ * Generate JWT for authenticating client-side requests (e.g. in-app feeds)
139
+ * For more information, visit https://docs.knock.app/in-app-ui/security-and-authentication#authentication-with-enhanced-security-enabled
140
+ *
141
+ * @param userId {string} The ID of the user that needs a token, e.g. the user viewing an in-app feed.
142
+ * @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
143
+ * @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)
144
+ */
145
+ export async function signUserToken(userId: string, options?: SignUserTokenOptions): Promise<string> {
146
+ const signingKey = prepareSigningKey(options?.signingKey);
147
+
148
+ // JWT NumericDates specified in seconds
149
+ const currentTime = Math.floor(Date.now() / 1000);
150
+
151
+ // Default to 1 hour from now
152
+ const expireInSeconds = options?.expiresInSeconds ?? 60 * 60;
153
+
154
+ // Create JWT header
155
+ const header = {
156
+ alg: 'RS256',
157
+ typ: 'JWT',
158
+ };
159
+
160
+ // Create JWT payload
161
+ const payload = {
162
+ sub: userId,
163
+ grants: maybePrepareUserTokenGrants(options?.grants),
164
+ iat: currentTime,
165
+ exp: currentTime + expireInSeconds,
166
+ };
167
+
168
+ // Create and sign the JWT
169
+ return createJWT(header, payload, signingKey);
170
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * User token signing functionality for Knock authentication
3
+ */
4
+
5
+ export enum Grants {
6
+ SlackChannelsRead = 'slack/channels_read',
7
+ MsTeamsChannelsRead = 'ms_teams/channels_read',
8
+ ChannelDataRead = 'channel_data/read',
9
+ ChannelDataWrite = 'channel_data/write',
10
+ UserFeedRead = 'user/feed_read',
11
+ }
12
+
13
+ export type TokenGrantOptions = Grants[];
14
+
15
+ export type TokenEntity = TenantTokenEntity | UserTokenEntity | ObjectTokenEntity;
16
+
17
+ export interface TenantTokenEntity {
18
+ type: 'tenant';
19
+ id: string;
20
+ collection?: never;
21
+ }
22
+
23
+ export interface ObjectTokenEntity {
24
+ type: 'object';
25
+ id: string;
26
+ collection: string;
27
+ }
28
+
29
+ export interface UserTokenEntity {
30
+ type: 'user';
31
+ id: string;
32
+ collection?: never;
33
+ }
34
+
35
+ export type TokenGrant = {
36
+ entity: string;
37
+ grants: Partial<Record<Grants, []>>;
38
+ };
@@ -0,0 +1,2 @@
1
+ /** @deprecated Import from ./core/pagination instead */
2
+ export * from './core/pagination';
@@ -0,0 +1,2 @@
1
+ /** @deprecated Import from ./core/resource instead */
2
+ export * from './core/resource';
@@ -0,0 +1,200 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../core/resource';
4
+ import * as SharedAPI from './shared';
5
+ import * as UsersAPI from './users/users';
6
+ import { APIPromise } from '../core/api-promise';
7
+ import { RequestOptions } from '../internal/request-options';
8
+ import { path } from '../internal/utils/path';
9
+
10
+ export class Audiences extends APIResource {
11
+ /**
12
+ * Adds one or more members to the specified audience.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * const response = await client.audiences.addMembers('key', {
17
+ * members: [
18
+ * {
19
+ * tenant: 'ingen_isla_nublar',
20
+ * user: { id: 'dr_sattler' },
21
+ * },
22
+ * ],
23
+ * });
24
+ * ```
25
+ */
26
+ addMembers(key: string, body: AudienceAddMembersParams, options?: RequestOptions): APIPromise<string> {
27
+ return this._client.post(path`/v1/audiences/${key}/members`, { body, ...options });
28
+ }
29
+
30
+ /**
31
+ * Returns a paginated list of members for the specified audience.
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * const response = await client.audiences.listMembers('key');
36
+ * ```
37
+ */
38
+ listMembers(key: string, options?: RequestOptions): APIPromise<AudienceListMembersResponse> {
39
+ return this._client.get(path`/v1/audiences/${key}/members`, options);
40
+ }
41
+
42
+ /**
43
+ * Removes one or more members from the specified audience.
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * const response = await client.audiences.removeMembers(
48
+ * 'key',
49
+ * { members: [{ user: {} }] },
50
+ * );
51
+ * ```
52
+ */
53
+ removeMembers(
54
+ key: string,
55
+ body: AudienceRemoveMembersParams,
56
+ options?: RequestOptions,
57
+ ): APIPromise<string> {
58
+ return this._client.delete(path`/v1/audiences/${key}/members`, { body, ...options });
59
+ }
60
+ }
61
+
62
+ /**
63
+ * An audience member.
64
+ */
65
+ export interface AudienceMember {
66
+ /**
67
+ * The typename of the schema.
68
+ */
69
+ __typename: string;
70
+
71
+ /**
72
+ * Timestamp when the resource was created.
73
+ */
74
+ added_at: string;
75
+
76
+ /**
77
+ * A [User](/concepts/users) represents an individual in your system who can
78
+ * receive notifications through Knock. Users are the most common recipients of
79
+ * notifications and are always referenced by your internal identifier.
80
+ */
81
+ user: UsersAPI.User;
82
+
83
+ /**
84
+ * The ID for the user that you set when identifying them in Knock.
85
+ */
86
+ user_id: string;
87
+
88
+ /**
89
+ * The unique identifier for the tenant.
90
+ */
91
+ tenant?: string | null;
92
+ }
93
+
94
+ /**
95
+ * A `204 No Content` response.
96
+ */
97
+ export type AudienceAddMembersResponse = string;
98
+
99
+ /**
100
+ * A paginated list of audience members.
101
+ */
102
+ export interface AudienceListMembersResponse {
103
+ /**
104
+ * A list of audience members.
105
+ */
106
+ entries: Array<AudienceMember>;
107
+
108
+ /**
109
+ * Pagination information for a list of resources.
110
+ */
111
+ page_info: SharedAPI.PageInfo;
112
+ }
113
+
114
+ /**
115
+ * A `204 No Content` response.
116
+ */
117
+ export type AudienceRemoveMembersResponse = string;
118
+
119
+ export interface AudienceAddMembersParams {
120
+ /**
121
+ * A list of audience members to add.
122
+ */
123
+ members: Array<AudienceAddMembersParams.Member>;
124
+ }
125
+
126
+ export namespace AudienceAddMembersParams {
127
+ /**
128
+ * An audience member.
129
+ */
130
+ export interface Member {
131
+ /**
132
+ * An object containing the user's ID.
133
+ */
134
+ user: Member.User;
135
+
136
+ /**
137
+ * The unique identifier for the tenant.
138
+ */
139
+ tenant?: string | null;
140
+ }
141
+
142
+ export namespace Member {
143
+ /**
144
+ * An object containing the user's ID.
145
+ */
146
+ export interface User {
147
+ /**
148
+ * The ID for the user that you set when identifying them in Knock.
149
+ */
150
+ id?: string;
151
+ }
152
+ }
153
+ }
154
+
155
+ export interface AudienceRemoveMembersParams {
156
+ /**
157
+ * A list of audience members to remove.
158
+ */
159
+ members: Array<AudienceRemoveMembersParams.Member>;
160
+ }
161
+
162
+ export namespace AudienceRemoveMembersParams {
163
+ /**
164
+ * An audience member.
165
+ */
166
+ export interface Member {
167
+ /**
168
+ * An object containing the user's ID.
169
+ */
170
+ user: Member.User;
171
+
172
+ /**
173
+ * The unique identifier for the tenant.
174
+ */
175
+ tenant?: string | null;
176
+ }
177
+
178
+ export namespace Member {
179
+ /**
180
+ * An object containing the user's ID.
181
+ */
182
+ export interface User {
183
+ /**
184
+ * The ID for the user that you set when identifying them in Knock.
185
+ */
186
+ id?: string;
187
+ }
188
+ }
189
+ }
190
+
191
+ export declare namespace Audiences {
192
+ export {
193
+ type AudienceMember as AudienceMember,
194
+ type AudienceAddMembersResponse as AudienceAddMembersResponse,
195
+ type AudienceListMembersResponse as AudienceListMembersResponse,
196
+ type AudienceRemoveMembersResponse as AudienceRemoveMembersResponse,
197
+ type AudienceAddMembersParams as AudienceAddMembersParams,
198
+ type AudienceRemoveMembersParams as AudienceRemoveMembersParams,
199
+ };
200
+ }
@@ -0,0 +1,120 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../core/resource';
4
+ import { APIPromise } from '../core/api-promise';
5
+ import { RequestOptions } from '../internal/request-options';
6
+ import { path } from '../internal/utils/path';
7
+
8
+ export class BulkOperations extends APIResource {
9
+ /**
10
+ * Retrieves a bulk operation (if it exists) and displays the current state of it.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const bulkOperation = await client.bulkOperations.get(
15
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
16
+ * );
17
+ * ```
18
+ */
19
+ get(id: string, options?: RequestOptions): APIPromise<BulkOperation> {
20
+ return this._client.get(path`/v1/bulk_operations/${id}`, options);
21
+ }
22
+ }
23
+
24
+ /**
25
+ * A bulk operation entity.
26
+ */
27
+ export interface BulkOperation {
28
+ /**
29
+ * Unique identifier for the bulk operation.
30
+ */
31
+ id: string;
32
+
33
+ /**
34
+ * The typename of the schema.
35
+ */
36
+ __typename: string;
37
+
38
+ /**
39
+ * The estimated total number of rows to process.
40
+ */
41
+ estimated_total_rows: number;
42
+
43
+ /**
44
+ * Timestamp when the resource was created.
45
+ */
46
+ inserted_at: string;
47
+
48
+ /**
49
+ * The name of the bulk operation.
50
+ */
51
+ name: string;
52
+
53
+ /**
54
+ * The number of rows processed so far.
55
+ */
56
+ processed_rows: number;
57
+
58
+ /**
59
+ * The status of the bulk operation.
60
+ */
61
+ status: 'queued' | 'processing' | 'completed' | 'failed';
62
+
63
+ /**
64
+ * The number of successful operations.
65
+ */
66
+ success_count: number;
67
+
68
+ /**
69
+ * The timestamp when the resource was last updated.
70
+ */
71
+ updated_at: string;
72
+
73
+ /**
74
+ * Timestamp when the bulk operation was completed.
75
+ */
76
+ completed_at?: string | null;
77
+
78
+ /**
79
+ * The number of failed operations.
80
+ */
81
+ error_count?: number;
82
+
83
+ /**
84
+ * A list of items that failed to be processed.
85
+ */
86
+ error_items?: Array<BulkOperation.ErrorItem>;
87
+
88
+ /**
89
+ * Timestamp when the bulk operation failed.
90
+ */
91
+ failed_at?: string | null;
92
+
93
+ /**
94
+ * The URI to the bulk operation's progress.
95
+ */
96
+ progress_path?: string;
97
+
98
+ /**
99
+ * Timestamp when the bulk operation was started.
100
+ */
101
+ started_at?: string | null;
102
+ }
103
+
104
+ export namespace BulkOperation {
105
+ export interface ErrorItem {
106
+ /**
107
+ * Unique identifier for the object.
108
+ */
109
+ id: string;
110
+
111
+ /**
112
+ * The collection this object belongs to.
113
+ */
114
+ collection?: string | null;
115
+ }
116
+ }
117
+
118
+ export declare namespace BulkOperations {
119
+ export { type BulkOperation as BulkOperation };
120
+ }
@@ -0,0 +1,128 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import * as BulkOperationsAPI from '../bulk-operations';
5
+ import { APIPromise } from '../../core/api-promise';
6
+ import { RequestOptions } from '../../internal/request-options';
7
+ import { path } from '../../internal/utils/path';
8
+
9
+ export class Bulk extends APIResource {
10
+ /**
11
+ * Bulk update the status of messages for a specific channel. The channel is
12
+ * specified by the `channel_id` parameter. The action to perform is specified by
13
+ * the `action` parameter, where the action is a status change action (e.g.
14
+ * `archive`, `unarchive`).
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const bulkOperation =
19
+ * await client.channels.bulk.updateMessageStatus(
20
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
21
+ * 'seen',
22
+ * {
23
+ * archived: 'include',
24
+ * delivery_status: 'delivered',
25
+ * engagement_status: 'seen',
26
+ * has_tenant: true,
27
+ * newer_than: '2024-01-01T00:00:00Z',
28
+ * older_than: '2024-01-01T00:00:00Z',
29
+ * recipient_ids: ['recipient1', 'recipient2'],
30
+ * tenants: ['tenant1', 'tenant2'],
31
+ * trigger_data: '{"key":"value"}',
32
+ * workflows: ['workflow1', 'workflow2'],
33
+ * },
34
+ * );
35
+ * ```
36
+ */
37
+ updateMessageStatus(
38
+ channelID: string,
39
+ action:
40
+ | 'seen'
41
+ | 'unseen'
42
+ | 'read'
43
+ | 'unread'
44
+ | 'archived'
45
+ | 'unarchived'
46
+ | 'interacted'
47
+ | 'archive'
48
+ | 'unarchive'
49
+ | 'delete',
50
+ body: BulkUpdateMessageStatusParams,
51
+ options?: RequestOptions,
52
+ ): APIPromise<BulkOperationsAPI.BulkOperation> {
53
+ return this._client.post(path`/v1/channels/${channelID}/messages/bulk/${action}`, { body, ...options });
54
+ }
55
+ }
56
+
57
+ export interface BulkUpdateMessageStatusParams {
58
+ /**
59
+ * Limits the results to messages with the given archived status.
60
+ */
61
+ archived?: 'exclude' | 'include' | 'only';
62
+
63
+ /**
64
+ * Limits the results to messages with the given delivery status.
65
+ */
66
+ delivery_status?:
67
+ | 'queued'
68
+ | 'sent'
69
+ | 'delivered'
70
+ | 'delivery_attempted'
71
+ | 'undelivered'
72
+ | 'not_sent'
73
+ | 'bounced';
74
+
75
+ /**
76
+ * Limits the results to messages with the given engagement status.
77
+ */
78
+ engagement_status?:
79
+ | 'seen'
80
+ | 'unseen'
81
+ | 'read'
82
+ | 'unread'
83
+ | 'archived'
84
+ | 'unarchived'
85
+ | 'link_clicked'
86
+ | 'interacted';
87
+
88
+ /**
89
+ * Limits the results to messages that have a tenant or not.
90
+ */
91
+ has_tenant?: boolean;
92
+
93
+ /**
94
+ * Limits the results to messages inserted after the given date.
95
+ */
96
+ newer_than?: string;
97
+
98
+ /**
99
+ * Limits the results to messages inserted before the given date.
100
+ */
101
+ older_than?: string;
102
+
103
+ /**
104
+ * Limits the results to messages with the given recipient IDs.
105
+ */
106
+ recipient_ids?: Array<string>;
107
+
108
+ /**
109
+ * Limits the results to messages with the given tenant IDs.
110
+ */
111
+ tenants?: Array<string>;
112
+
113
+ /**
114
+ * Limits the results to only messages that were generated with the given data. See
115
+ * [trigger data filtering](/api-reference/overview/trigger-data-filtering) for
116
+ * more information.
117
+ */
118
+ trigger_data?: string;
119
+
120
+ /**
121
+ * Limits the results to messages with the given workflow keys.
122
+ */
123
+ workflows?: Array<string>;
124
+ }
125
+
126
+ export declare namespace Bulk {
127
+ export { type BulkUpdateMessageStatusParams as BulkUpdateMessageStatusParams };
128
+ }
@@ -0,0 +1,15 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import * as BulkAPI from './bulk';
5
+ import { Bulk, BulkUpdateMessageStatusParams } from './bulk';
6
+
7
+ export class Channels extends APIResource {
8
+ bulk: BulkAPI.Bulk = new BulkAPI.Bulk(this._client);
9
+ }
10
+
11
+ Channels.Bulk = Bulk;
12
+
13
+ export declare namespace Channels {
14
+ export { Bulk as Bulk, type BulkUpdateMessageStatusParams as BulkUpdateMessageStatusParams };
15
+ }
@@ -0,0 +1,4 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export { Bulk, type BulkUpdateMessageStatusParams } from './bulk';
4
+ export { Channels } from './channels';
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './channels/index';