@notiflows/node 0.0.1

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 (459) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +422 -0
  3. package/api-promise.d.mts +2 -0
  4. package/api-promise.d.mts.map +1 -0
  5. package/api-promise.d.ts +2 -0
  6. package/api-promise.d.ts.map +1 -0
  7. package/api-promise.js +6 -0
  8. package/api-promise.js.map +1 -0
  9. package/api-promise.mjs +2 -0
  10. package/api-promise.mjs.map +1 -0
  11. package/client.d.mts +207 -0
  12. package/client.d.mts.map +1 -0
  13. package/client.d.ts +207 -0
  14. package/client.d.ts.map +1 -0
  15. package/client.js +502 -0
  16. package/client.js.map +1 -0
  17. package/client.mjs +498 -0
  18. package/client.mjs.map +1 -0
  19. package/core/api-promise.d.mts +46 -0
  20. package/core/api-promise.d.mts.map +1 -0
  21. package/core/api-promise.d.ts +46 -0
  22. package/core/api-promise.d.ts.map +1 -0
  23. package/core/api-promise.js +74 -0
  24. package/core/api-promise.js.map +1 -0
  25. package/core/api-promise.mjs +70 -0
  26. package/core/api-promise.mjs.map +1 -0
  27. package/core/error.d.mts +46 -0
  28. package/core/error.d.mts.map +1 -0
  29. package/core/error.d.ts +46 -0
  30. package/core/error.d.ts.map +1 -0
  31. package/core/error.js +113 -0
  32. package/core/error.js.map +1 -0
  33. package/core/error.mjs +97 -0
  34. package/core/error.mjs.map +1 -0
  35. package/core/pagination.d.mts +59 -0
  36. package/core/pagination.d.mts.map +1 -0
  37. package/core/pagination.d.ts +59 -0
  38. package/core/pagination.d.ts.map +1 -0
  39. package/core/pagination.js +101 -0
  40. package/core/pagination.js.map +1 -0
  41. package/core/pagination.mjs +95 -0
  42. package/core/pagination.mjs.map +1 -0
  43. package/core/resource.d.mts +6 -0
  44. package/core/resource.d.mts.map +1 -0
  45. package/core/resource.d.ts +6 -0
  46. package/core/resource.d.ts.map +1 -0
  47. package/core/resource.js +11 -0
  48. package/core/resource.js.map +1 -0
  49. package/core/resource.mjs +7 -0
  50. package/core/resource.mjs.map +1 -0
  51. package/core/uploads.d.mts +3 -0
  52. package/core/uploads.d.mts.map +1 -0
  53. package/core/uploads.d.ts +3 -0
  54. package/core/uploads.d.ts.map +1 -0
  55. package/core/uploads.js +6 -0
  56. package/core/uploads.js.map +1 -0
  57. package/core/uploads.mjs +2 -0
  58. package/core/uploads.mjs.map +1 -0
  59. package/error.d.mts +2 -0
  60. package/error.d.mts.map +1 -0
  61. package/error.d.ts +2 -0
  62. package/error.d.ts.map +1 -0
  63. package/error.js +6 -0
  64. package/error.js.map +1 -0
  65. package/error.mjs +2 -0
  66. package/error.mjs.map +1 -0
  67. package/index.d.mts +7 -0
  68. package/index.d.mts.map +1 -0
  69. package/index.d.ts +7 -0
  70. package/index.d.ts.map +1 -0
  71. package/index.js +32 -0
  72. package/index.js.map +1 -0
  73. package/index.mjs +8 -0
  74. package/index.mjs.map +1 -0
  75. package/internal/builtin-types.d.mts +73 -0
  76. package/internal/builtin-types.d.mts.map +1 -0
  77. package/internal/builtin-types.d.ts +73 -0
  78. package/internal/builtin-types.d.ts.map +1 -0
  79. package/internal/builtin-types.js +4 -0
  80. package/internal/builtin-types.js.map +1 -0
  81. package/internal/builtin-types.mjs +3 -0
  82. package/internal/builtin-types.mjs.map +1 -0
  83. package/internal/detect-platform.d.mts +15 -0
  84. package/internal/detect-platform.d.mts.map +1 -0
  85. package/internal/detect-platform.d.ts +15 -0
  86. package/internal/detect-platform.d.ts.map +1 -0
  87. package/internal/detect-platform.js +162 -0
  88. package/internal/detect-platform.js.map +1 -0
  89. package/internal/detect-platform.mjs +157 -0
  90. package/internal/detect-platform.mjs.map +1 -0
  91. package/internal/errors.d.mts +3 -0
  92. package/internal/errors.d.mts.map +1 -0
  93. package/internal/errors.d.ts +3 -0
  94. package/internal/errors.d.ts.map +1 -0
  95. package/internal/errors.js +41 -0
  96. package/internal/errors.js.map +1 -0
  97. package/internal/errors.mjs +36 -0
  98. package/internal/errors.mjs.map +1 -0
  99. package/internal/headers.d.mts +20 -0
  100. package/internal/headers.d.mts.map +1 -0
  101. package/internal/headers.d.ts +20 -0
  102. package/internal/headers.d.ts.map +1 -0
  103. package/internal/headers.js +79 -0
  104. package/internal/headers.js.map +1 -0
  105. package/internal/headers.mjs +74 -0
  106. package/internal/headers.mjs.map +1 -0
  107. package/internal/parse.d.mts +12 -0
  108. package/internal/parse.d.mts.map +1 -0
  109. package/internal/parse.d.ts +12 -0
  110. package/internal/parse.d.ts.map +1 -0
  111. package/internal/parse.js +40 -0
  112. package/internal/parse.js.map +1 -0
  113. package/internal/parse.mjs +37 -0
  114. package/internal/parse.mjs.map +1 -0
  115. package/internal/request-options.d.mts +75 -0
  116. package/internal/request-options.d.mts.map +1 -0
  117. package/internal/request-options.d.ts +75 -0
  118. package/internal/request-options.d.ts.map +1 -0
  119. package/internal/request-options.js +14 -0
  120. package/internal/request-options.js.map +1 -0
  121. package/internal/request-options.mjs +10 -0
  122. package/internal/request-options.mjs.map +1 -0
  123. package/internal/shim-types.d.mts +17 -0
  124. package/internal/shim-types.d.mts.map +1 -0
  125. package/internal/shim-types.d.ts +17 -0
  126. package/internal/shim-types.d.ts.map +1 -0
  127. package/internal/shim-types.js +4 -0
  128. package/internal/shim-types.js.map +1 -0
  129. package/internal/shim-types.mjs +3 -0
  130. package/internal/shim-types.mjs.map +1 -0
  131. package/internal/shims.d.mts +20 -0
  132. package/internal/shims.d.mts.map +1 -0
  133. package/internal/shims.d.ts +20 -0
  134. package/internal/shims.d.ts.map +1 -0
  135. package/internal/shims.js +92 -0
  136. package/internal/shims.js.map +1 -0
  137. package/internal/shims.mjs +85 -0
  138. package/internal/shims.mjs.map +1 -0
  139. package/internal/to-file.d.mts +45 -0
  140. package/internal/to-file.d.mts.map +1 -0
  141. package/internal/to-file.d.ts +45 -0
  142. package/internal/to-file.d.ts.map +1 -0
  143. package/internal/to-file.js +91 -0
  144. package/internal/to-file.js.map +1 -0
  145. package/internal/to-file.mjs +88 -0
  146. package/internal/to-file.mjs.map +1 -0
  147. package/internal/tslib.js +81 -0
  148. package/internal/tslib.mjs +17 -0
  149. package/internal/types.d.mts +69 -0
  150. package/internal/types.d.mts.map +1 -0
  151. package/internal/types.d.ts +69 -0
  152. package/internal/types.d.ts.map +1 -0
  153. package/internal/types.js +4 -0
  154. package/internal/types.js.map +1 -0
  155. package/internal/types.mjs +3 -0
  156. package/internal/types.mjs.map +1 -0
  157. package/internal/uploads.d.mts +42 -0
  158. package/internal/uploads.d.mts.map +1 -0
  159. package/internal/uploads.d.ts +42 -0
  160. package/internal/uploads.d.ts.map +1 -0
  161. package/internal/uploads.js +141 -0
  162. package/internal/uploads.js.map +1 -0
  163. package/internal/uploads.mjs +131 -0
  164. package/internal/uploads.mjs.map +1 -0
  165. package/internal/utils/base64.d.mts +3 -0
  166. package/internal/utils/base64.d.mts.map +1 -0
  167. package/internal/utils/base64.d.ts +3 -0
  168. package/internal/utils/base64.d.ts.map +1 -0
  169. package/internal/utils/base64.js +38 -0
  170. package/internal/utils/base64.js.map +1 -0
  171. package/internal/utils/base64.mjs +33 -0
  172. package/internal/utils/base64.mjs.map +1 -0
  173. package/internal/utils/bytes.d.mts +4 -0
  174. package/internal/utils/bytes.d.mts.map +1 -0
  175. package/internal/utils/bytes.d.ts +4 -0
  176. package/internal/utils/bytes.d.ts.map +1 -0
  177. package/internal/utils/bytes.js +31 -0
  178. package/internal/utils/bytes.js.map +1 -0
  179. package/internal/utils/bytes.mjs +26 -0
  180. package/internal/utils/bytes.mjs.map +1 -0
  181. package/internal/utils/env.d.mts +9 -0
  182. package/internal/utils/env.d.mts.map +1 -0
  183. package/internal/utils/env.d.ts +9 -0
  184. package/internal/utils/env.d.ts.map +1 -0
  185. package/internal/utils/env.js +22 -0
  186. package/internal/utils/env.js.map +1 -0
  187. package/internal/utils/env.mjs +18 -0
  188. package/internal/utils/env.mjs.map +1 -0
  189. package/internal/utils/log.d.mts +37 -0
  190. package/internal/utils/log.d.mts.map +1 -0
  191. package/internal/utils/log.d.ts +37 -0
  192. package/internal/utils/log.d.ts.map +1 -0
  193. package/internal/utils/log.js +87 -0
  194. package/internal/utils/log.js.map +1 -0
  195. package/internal/utils/log.mjs +81 -0
  196. package/internal/utils/log.mjs.map +1 -0
  197. package/internal/utils/path.d.mts +15 -0
  198. package/internal/utils/path.d.mts.map +1 -0
  199. package/internal/utils/path.d.ts +15 -0
  200. package/internal/utils/path.d.ts.map +1 -0
  201. package/internal/utils/path.js +79 -0
  202. package/internal/utils/path.js.map +1 -0
  203. package/internal/utils/path.mjs +74 -0
  204. package/internal/utils/path.mjs.map +1 -0
  205. package/internal/utils/sleep.d.mts +2 -0
  206. package/internal/utils/sleep.d.mts.map +1 -0
  207. package/internal/utils/sleep.d.ts +2 -0
  208. package/internal/utils/sleep.d.ts.map +1 -0
  209. package/internal/utils/sleep.js +7 -0
  210. package/internal/utils/sleep.js.map +1 -0
  211. package/internal/utils/sleep.mjs +3 -0
  212. package/internal/utils/sleep.mjs.map +1 -0
  213. package/internal/utils/uuid.d.mts +5 -0
  214. package/internal/utils/uuid.d.mts.map +1 -0
  215. package/internal/utils/uuid.d.ts +5 -0
  216. package/internal/utils/uuid.d.ts.map +1 -0
  217. package/internal/utils/uuid.js +19 -0
  218. package/internal/utils/uuid.js.map +1 -0
  219. package/internal/utils/uuid.mjs +15 -0
  220. package/internal/utils/uuid.mjs.map +1 -0
  221. package/internal/utils/values.d.mts +18 -0
  222. package/internal/utils/values.d.mts.map +1 -0
  223. package/internal/utils/values.d.ts +18 -0
  224. package/internal/utils/values.d.ts.map +1 -0
  225. package/internal/utils/values.js +112 -0
  226. package/internal/utils/values.js.map +1 -0
  227. package/internal/utils/values.mjs +94 -0
  228. package/internal/utils/values.mjs.map +1 -0
  229. package/internal/utils.d.mts +7 -0
  230. package/internal/utils.d.mts.map +1 -0
  231. package/internal/utils.d.ts +7 -0
  232. package/internal/utils.d.ts.map +1 -0
  233. package/internal/utils.js +11 -0
  234. package/internal/utils.js.map +1 -0
  235. package/internal/utils.mjs +8 -0
  236. package/internal/utils.mjs.map +1 -0
  237. package/package.json +147 -0
  238. package/pagination.d.mts +2 -0
  239. package/pagination.d.mts.map +1 -0
  240. package/pagination.d.ts +2 -0
  241. package/pagination.d.ts.map +1 -0
  242. package/pagination.js +6 -0
  243. package/pagination.js.map +1 -0
  244. package/pagination.mjs +2 -0
  245. package/pagination.mjs.map +1 -0
  246. package/resource.d.mts +2 -0
  247. package/resource.d.mts.map +1 -0
  248. package/resource.d.ts +2 -0
  249. package/resource.d.ts.map +1 -0
  250. package/resource.js +6 -0
  251. package/resource.js.map +1 -0
  252. package/resource.mjs +2 -0
  253. package/resource.mjs.map +1 -0
  254. package/resources/deliveries.d.mts +143 -0
  255. package/resources/deliveries.d.mts.map +1 -0
  256. package/resources/deliveries.d.ts +143 -0
  257. package/resources/deliveries.d.ts.map +1 -0
  258. package/resources/deliveries.js +44 -0
  259. package/resources/deliveries.js.map +1 -0
  260. package/resources/deliveries.mjs +40 -0
  261. package/resources/deliveries.mjs.map +1 -0
  262. package/resources/index.d.mts +6 -0
  263. package/resources/index.d.mts.map +1 -0
  264. package/resources/index.d.ts +6 -0
  265. package/resources/index.d.ts.map +1 -0
  266. package/resources/index.js +15 -0
  267. package/resources/index.js.map +1 -0
  268. package/resources/index.mjs +7 -0
  269. package/resources/index.mjs.map +1 -0
  270. package/resources/notifications.d.mts +170 -0
  271. package/resources/notifications.d.mts.map +1 -0
  272. package/resources/notifications.d.ts +170 -0
  273. package/resources/notifications.d.ts.map +1 -0
  274. package/resources/notifications.js +58 -0
  275. package/resources/notifications.js.map +1 -0
  276. package/resources/notifications.mjs +54 -0
  277. package/resources/notifications.mjs.map +1 -0
  278. package/resources/notiflows.d.mts +122 -0
  279. package/resources/notiflows.d.mts.map +1 -0
  280. package/resources/notiflows.d.ts +122 -0
  281. package/resources/notiflows.d.ts.map +1 -0
  282. package/resources/notiflows.js +36 -0
  283. package/resources/notiflows.js.map +1 -0
  284. package/resources/notiflows.mjs +32 -0
  285. package/resources/notiflows.mjs.map +1 -0
  286. package/resources/topics/index.d.mts +3 -0
  287. package/resources/topics/index.d.mts.map +1 -0
  288. package/resources/topics/index.d.ts +3 -0
  289. package/resources/topics/index.d.ts.map +1 -0
  290. package/resources/topics/index.js +9 -0
  291. package/resources/topics/index.js.map +1 -0
  292. package/resources/topics/index.mjs +4 -0
  293. package/resources/topics/index.mjs.map +1 -0
  294. package/resources/topics/subscriptions.d.mts +137 -0
  295. package/resources/topics/subscriptions.d.mts.map +1 -0
  296. package/resources/topics/subscriptions.d.ts +137 -0
  297. package/resources/topics/subscriptions.d.ts.map +1 -0
  298. package/resources/topics/subscriptions.js +78 -0
  299. package/resources/topics/subscriptions.js.map +1 -0
  300. package/resources/topics/subscriptions.mjs +74 -0
  301. package/resources/topics/subscriptions.mjs.map +1 -0
  302. package/resources/topics/topics.d.mts +70 -0
  303. package/resources/topics/topics.d.mts.map +1 -0
  304. package/resources/topics/topics.d.ts +70 -0
  305. package/resources/topics/topics.d.ts.map +1 -0
  306. package/resources/topics/topics.js +65 -0
  307. package/resources/topics/topics.js.map +1 -0
  308. package/resources/topics/topics.mjs +60 -0
  309. package/resources/topics/topics.mjs.map +1 -0
  310. package/resources/topics.d.mts +2 -0
  311. package/resources/topics.d.mts.map +1 -0
  312. package/resources/topics.d.ts +2 -0
  313. package/resources/topics.d.ts.map +1 -0
  314. package/resources/topics.js +6 -0
  315. package/resources/topics.js.map +1 -0
  316. package/resources/topics.mjs +3 -0
  317. package/resources/topics.mjs.map +1 -0
  318. package/resources/users/channel-settings.d.mts +158 -0
  319. package/resources/users/channel-settings.d.mts.map +1 -0
  320. package/resources/users/channel-settings.d.ts +158 -0
  321. package/resources/users/channel-settings.d.ts.map +1 -0
  322. package/resources/users/channel-settings.js +98 -0
  323. package/resources/users/channel-settings.js.map +1 -0
  324. package/resources/users/channel-settings.mjs +94 -0
  325. package/resources/users/channel-settings.mjs.map +1 -0
  326. package/resources/users/deliveries.d.mts +71 -0
  327. package/resources/users/deliveries.d.mts.map +1 -0
  328. package/resources/users/deliveries.d.ts +71 -0
  329. package/resources/users/deliveries.d.ts.map +1 -0
  330. package/resources/users/deliveries.js +45 -0
  331. package/resources/users/deliveries.js.map +1 -0
  332. package/resources/users/deliveries.mjs +41 -0
  333. package/resources/users/deliveries.mjs.map +1 -0
  334. package/resources/users/index.d.mts +7 -0
  335. package/resources/users/index.d.mts.map +1 -0
  336. package/resources/users/index.d.ts +7 -0
  337. package/resources/users/index.d.ts.map +1 -0
  338. package/resources/users/index.js +17 -0
  339. package/resources/users/index.js.map +1 -0
  340. package/resources/users/index.mjs +8 -0
  341. package/resources/users/index.mjs.map +1 -0
  342. package/resources/users/notifications.d.mts +68 -0
  343. package/resources/users/notifications.d.mts.map +1 -0
  344. package/resources/users/notifications.d.ts +68 -0
  345. package/resources/users/notifications.d.ts.map +1 -0
  346. package/resources/users/notifications.js +43 -0
  347. package/resources/users/notifications.js.map +1 -0
  348. package/resources/users/notifications.mjs +39 -0
  349. package/resources/users/notifications.mjs.map +1 -0
  350. package/resources/users/preferences.d.mts +166 -0
  351. package/resources/users/preferences.d.mts.map +1 -0
  352. package/resources/users/preferences.d.ts +166 -0
  353. package/resources/users/preferences.d.ts.map +1 -0
  354. package/resources/users/preferences.js +60 -0
  355. package/resources/users/preferences.js.map +1 -0
  356. package/resources/users/preferences.mjs +56 -0
  357. package/resources/users/preferences.mjs.map +1 -0
  358. package/resources/users/subscriptions.d.mts +121 -0
  359. package/resources/users/subscriptions.d.mts.map +1 -0
  360. package/resources/users/subscriptions.d.ts +121 -0
  361. package/resources/users/subscriptions.d.ts.map +1 -0
  362. package/resources/users/subscriptions.js +84 -0
  363. package/resources/users/subscriptions.js.map +1 -0
  364. package/resources/users/subscriptions.mjs +80 -0
  365. package/resources/users/subscriptions.mjs.map +1 -0
  366. package/resources/users/users.d.mts +216 -0
  367. package/resources/users/users.d.mts.map +1 -0
  368. package/resources/users/users.d.ts +216 -0
  369. package/resources/users/users.d.ts.map +1 -0
  370. package/resources/users/users.js +102 -0
  371. package/resources/users/users.js.map +1 -0
  372. package/resources/users/users.mjs +97 -0
  373. package/resources/users/users.mjs.map +1 -0
  374. package/resources/users.d.mts +2 -0
  375. package/resources/users.d.mts.map +1 -0
  376. package/resources/users.d.ts +2 -0
  377. package/resources/users.d.ts.map +1 -0
  378. package/resources/users.js +6 -0
  379. package/resources/users.js.map +1 -0
  380. package/resources/users.mjs +3 -0
  381. package/resources/users.mjs.map +1 -0
  382. package/resources.d.mts +2 -0
  383. package/resources.d.mts.map +1 -0
  384. package/resources.d.ts +2 -0
  385. package/resources.d.ts.map +1 -0
  386. package/resources.js +5 -0
  387. package/resources.js.map +1 -0
  388. package/resources.mjs +2 -0
  389. package/resources.mjs.map +1 -0
  390. package/src/api-promise.ts +2 -0
  391. package/src/client.ts +838 -0
  392. package/src/core/README.md +3 -0
  393. package/src/core/api-promise.ts +92 -0
  394. package/src/core/error.ts +130 -0
  395. package/src/core/pagination.ts +163 -0
  396. package/src/core/resource.ts +11 -0
  397. package/src/core/uploads.ts +2 -0
  398. package/src/error.ts +2 -0
  399. package/src/index.ts +23 -0
  400. package/src/internal/README.md +3 -0
  401. package/src/internal/builtin-types.ts +93 -0
  402. package/src/internal/detect-platform.ts +196 -0
  403. package/src/internal/errors.ts +33 -0
  404. package/src/internal/headers.ts +97 -0
  405. package/src/internal/parse.ts +56 -0
  406. package/src/internal/request-options.ts +91 -0
  407. package/src/internal/shim-types.ts +26 -0
  408. package/src/internal/shims.ts +107 -0
  409. package/src/internal/to-file.ts +154 -0
  410. package/src/internal/types.ts +95 -0
  411. package/src/internal/uploads.ts +187 -0
  412. package/src/internal/utils/base64.ts +40 -0
  413. package/src/internal/utils/bytes.ts +32 -0
  414. package/src/internal/utils/env.ts +18 -0
  415. package/src/internal/utils/log.ts +128 -0
  416. package/src/internal/utils/path.ts +88 -0
  417. package/src/internal/utils/sleep.ts +3 -0
  418. package/src/internal/utils/uuid.ts +17 -0
  419. package/src/internal/utils/values.ts +105 -0
  420. package/src/internal/utils.ts +8 -0
  421. package/src/lib/.keep +4 -0
  422. package/src/pagination.ts +2 -0
  423. package/src/resource.ts +2 -0
  424. package/src/resources/deliveries.ts +183 -0
  425. package/src/resources/index.ts +19 -0
  426. package/src/resources/notifications.ts +225 -0
  427. package/src/resources/notiflows.ts +155 -0
  428. package/src/resources/topics/index.ts +11 -0
  429. package/src/resources/topics/subscriptions.ts +182 -0
  430. package/src/resources/topics/topics.ts +115 -0
  431. package/src/resources/topics.ts +3 -0
  432. package/src/resources/users/channel-settings.ts +205 -0
  433. package/src/resources/users/deliveries.ts +103 -0
  434. package/src/resources/users/index.ts +23 -0
  435. package/src/resources/users/notifications.ts +100 -0
  436. package/src/resources/users/preferences.ts +182 -0
  437. package/src/resources/users/subscriptions.ts +179 -0
  438. package/src/resources/users/users.ts +324 -0
  439. package/src/resources/users.ts +3 -0
  440. package/src/resources.ts +1 -0
  441. package/src/tsconfig.json +11 -0
  442. package/src/uploads.ts +2 -0
  443. package/src/version.ts +1 -0
  444. package/uploads.d.mts +2 -0
  445. package/uploads.d.mts.map +1 -0
  446. package/uploads.d.ts +2 -0
  447. package/uploads.d.ts.map +1 -0
  448. package/uploads.js +6 -0
  449. package/uploads.js.map +1 -0
  450. package/uploads.mjs +2 -0
  451. package/uploads.mjs.map +1 -0
  452. package/version.d.mts +2 -0
  453. package/version.d.mts.map +1 -0
  454. package/version.d.ts +2 -0
  455. package/version.d.ts.map +1 -0
  456. package/version.js +5 -0
  457. package/version.js.map +1 -0
  458. package/version.mjs +2 -0
  459. package/version.mjs.map +1 -0
@@ -0,0 +1,155 @@
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 NotiflowsResource extends APIResource {
9
+ /**
10
+ * Execute a notiflow to send notifications to one or more recipients.
11
+ *
12
+ * You must provide either `recipients` (direct targeting) or `topic` (pub/sub
13
+ * targeting), but not both.
14
+ *
15
+ * **Direct targeting (`recipients`):** Specify exactly which users should receive
16
+ * the notification. Users are identified by their `external_id`. If a user doesn't
17
+ * exist, they will be created automatically with the provided attributes.
18
+ *
19
+ * **Topic targeting (`topic`):** Send to all users subscribed to the specified
20
+ * topic. Useful for broadcast scenarios.
21
+ *
22
+ * **Template variables:** The `data` object is passed to notification templates.
23
+ * Access variables using Liquid syntax: `{{ data.variable_name }}`
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * const response = await client.notiflows.run(
28
+ * '01HQXYZ123456789ABCDEFGHIJ',
29
+ * );
30
+ * ```
31
+ */
32
+ run(
33
+ notiflowID: string,
34
+ body: NotiflowRunParams,
35
+ options?: RequestOptions,
36
+ ): APIPromise<NotiflowRunResponse> {
37
+ return this._client.post(path`/notiflows/${notiflowID}/run`, { body, ...options });
38
+ }
39
+ }
40
+
41
+ /**
42
+ * Response after successfully running a notiflow
43
+ */
44
+ export interface NotiflowRunResponse {
45
+ /**
46
+ * ID of the notiflow run. Use this to query notifications created by this run.
47
+ */
48
+ notiflow_run_id: string;
49
+ }
50
+
51
+ export interface NotiflowRunParams {
52
+ /**
53
+ * Actor (triggering user) specification. Accessible in templates as `actor.*`.
54
+ */
55
+ actor?: NotiflowRunParams.Actor;
56
+
57
+ /**
58
+ * Template variables. Accessible in notification templates as `data.*`.
59
+ */
60
+ data?: unknown;
61
+
62
+ /**
63
+ * List of recipients. Each recipient must have an `external_id`. Users are
64
+ * auto-created if they don't exist.
65
+ */
66
+ recipients?: Array<NotiflowRunParams.Recipient>;
67
+
68
+ /**
69
+ * Topic name for pub/sub targeting. Cannot be used with `recipients`.
70
+ */
71
+ topic?: string;
72
+ }
73
+
74
+ export namespace NotiflowRunParams {
75
+ /**
76
+ * Actor (triggering user) specification. Accessible in templates as `actor.*`.
77
+ */
78
+ export interface Actor {
79
+ /**
80
+ * Your system's identifier for the actor (required)
81
+ */
82
+ external_id: string;
83
+
84
+ avatar?: string;
85
+
86
+ custom_fields?: unknown;
87
+
88
+ email?: string;
89
+
90
+ first_name?: string;
91
+
92
+ last_name?: string;
93
+
94
+ locale?: string;
95
+
96
+ phone?: string;
97
+
98
+ timezone?: string;
99
+ }
100
+
101
+ /**
102
+ * Recipient specification for running a notiflow. Users are auto-created if they
103
+ * don't exist.
104
+ */
105
+ export interface Recipient {
106
+ /**
107
+ * Your system's unique identifier for this user (required)
108
+ */
109
+ external_id: string;
110
+
111
+ /**
112
+ * Avatar URL
113
+ */
114
+ avatar?: string;
115
+
116
+ /**
117
+ * Custom attributes
118
+ */
119
+ custom_fields?: unknown;
120
+
121
+ /**
122
+ * Email address (used if user is auto-created)
123
+ */
124
+ email?: string;
125
+
126
+ /**
127
+ * First name
128
+ */
129
+ first_name?: string;
130
+
131
+ /**
132
+ * Last name
133
+ */
134
+ last_name?: string;
135
+
136
+ /**
137
+ * BCP 47 locale
138
+ */
139
+ locale?: string;
140
+
141
+ /**
142
+ * Phone number in E.164 format
143
+ */
144
+ phone?: string;
145
+
146
+ /**
147
+ * IANA timezone
148
+ */
149
+ timezone?: string;
150
+ }
151
+ }
152
+
153
+ export declare namespace NotiflowsResource {
154
+ export { type NotiflowRunResponse as NotiflowRunResponse, type NotiflowRunParams as NotiflowRunParams };
155
+ }
@@ -0,0 +1,11 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export {
4
+ Subscriptions,
5
+ type BulkOperationResponse,
6
+ type BulkSubscribeRequest,
7
+ type SubscriptionListParams,
8
+ type SubscriptionSubscribeBulkParams,
9
+ type SubscriptionUnsubscribeBulkParams,
10
+ } from './subscriptions';
11
+ export { Topics, type Topic, type TopicListParams, type TopicsCursorPage } from './topics';
@@ -0,0 +1,182 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import * as UsersSubscriptionsAPI from '../users/subscriptions';
5
+ import { SubscriptionsCursorPage } from '../users/subscriptions';
6
+ import { APIPromise } from '../../core/api-promise';
7
+ import { CursorPage, type CursorPageParams, PagePromise } from '../../core/pagination';
8
+ import { RequestOptions } from '../../internal/request-options';
9
+ import { path } from '../../internal/utils/path';
10
+
11
+ export class Subscriptions extends APIResource {
12
+ /**
13
+ * Retrieve all users subscribed to a specific topic.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * // Automatically fetches more pages as needed.
18
+ * for await (const subscription of client.topics.subscriptions.list(
19
+ * 'order-updates',
20
+ * )) {
21
+ * // ...
22
+ * }
23
+ * ```
24
+ */
25
+ list(
26
+ topicID: string,
27
+ query: SubscriptionListParams | null | undefined = {},
28
+ options?: RequestOptions,
29
+ ): PagePromise<SubscriptionsCursorPage, UsersSubscriptionsAPI.Subscription> {
30
+ return this._client.getAPIList(
31
+ path`/topics/${topicID}/subscriptions`,
32
+ CursorPage<UsersSubscriptionsAPI.Subscription>,
33
+ { query, ...options },
34
+ );
35
+ }
36
+
37
+ /**
38
+ * Subscribe multiple users to a topic in a single request.
39
+ *
40
+ * - Topics are created automatically if they don't exist.
41
+ * - If a user is already subscribed, they are included in the `successful`
42
+ * response.
43
+ * - Returns `207 Multi-Status` if some subscriptions failed.
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * const bulkOperationResponse =
48
+ * await client.topics.subscriptions.subscribeBulk(
49
+ * 'order-updates',
50
+ * {
51
+ * user_external_ids: [
52
+ * 'user_12345',
53
+ * 'user_67890',
54
+ * 'user_11111',
55
+ * ],
56
+ * },
57
+ * );
58
+ * ```
59
+ */
60
+ subscribeBulk(
61
+ topicID: string,
62
+ body: SubscriptionSubscribeBulkParams,
63
+ options?: RequestOptions,
64
+ ): APIPromise<BulkOperationResponse> {
65
+ return this._client.post(path`/topics/${topicID}/subscriptions`, { body, ...options });
66
+ }
67
+
68
+ /**
69
+ * Unsubscribe multiple users from a topic in a single request.
70
+ *
71
+ * - Returns `207 Multi-Status` if some unsubscriptions failed (e.g., user not
72
+ * found).
73
+ * - Users not subscribed to the topic are included in the `failed` response.
74
+ *
75
+ * @example
76
+ * ```ts
77
+ * const bulkOperationResponse =
78
+ * await client.topics.subscriptions.unsubscribeBulk(
79
+ * 'order-updates',
80
+ * {
81
+ * user_external_ids: [
82
+ * 'user_12345',
83
+ * 'user_67890',
84
+ * 'user_11111',
85
+ * ],
86
+ * },
87
+ * );
88
+ * ```
89
+ */
90
+ unsubscribeBulk(
91
+ topicID: string,
92
+ body: SubscriptionUnsubscribeBulkParams,
93
+ options?: RequestOptions,
94
+ ): APIPromise<BulkOperationResponse> {
95
+ return this._client.delete(path`/topics/${topicID}/subscriptions`, { body, ...options });
96
+ }
97
+ }
98
+
99
+ /**
100
+ * Response for bulk operations showing successful and failed items
101
+ */
102
+ export interface BulkOperationResponse {
103
+ /**
104
+ * Failed operations with error details
105
+ */
106
+ failed: Array<BulkOperationResponse.Failed>;
107
+
108
+ /**
109
+ * Successfully processed subscriptions
110
+ */
111
+ successful: Array<UsersSubscriptionsAPI.Subscription>;
112
+ }
113
+
114
+ export namespace BulkOperationResponse {
115
+ /**
116
+ * Details of a failed bulk operation item
117
+ */
118
+ export interface Failed {
119
+ /**
120
+ * The external ID that failed
121
+ */
122
+ external_id: string;
123
+
124
+ /**
125
+ * Human-readable error reason
126
+ */
127
+ reason: string;
128
+ }
129
+ }
130
+
131
+ /**
132
+ * Request body for bulk subscribe/unsubscribe operations
133
+ */
134
+ export interface BulkSubscribeRequest {
135
+ /**
136
+ * List of user external IDs to subscribe/unsubscribe
137
+ */
138
+ user_external_ids: Array<string>;
139
+ }
140
+
141
+ export interface SubscriptionListParams extends CursorPageParams {
142
+ /**
143
+ * Cursor for fetching the previous page
144
+ */
145
+ before?: string;
146
+
147
+ /**
148
+ * Filter by created after (ISO 8601 datetime)
149
+ */
150
+ created_after?: string;
151
+
152
+ /**
153
+ * Filter by created before (ISO 8601 datetime)
154
+ */
155
+ created_before?: string;
156
+ }
157
+
158
+ export interface SubscriptionSubscribeBulkParams {
159
+ /**
160
+ * List of user external IDs to subscribe/unsubscribe
161
+ */
162
+ user_external_ids: Array<string>;
163
+ }
164
+
165
+ export interface SubscriptionUnsubscribeBulkParams {
166
+ /**
167
+ * List of user external IDs to subscribe/unsubscribe
168
+ */
169
+ user_external_ids: Array<string>;
170
+ }
171
+
172
+ export declare namespace Subscriptions {
173
+ export {
174
+ type BulkOperationResponse as BulkOperationResponse,
175
+ type BulkSubscribeRequest as BulkSubscribeRequest,
176
+ type SubscriptionListParams as SubscriptionListParams,
177
+ type SubscriptionSubscribeBulkParams as SubscriptionSubscribeBulkParams,
178
+ type SubscriptionUnsubscribeBulkParams as SubscriptionUnsubscribeBulkParams,
179
+ };
180
+ }
181
+
182
+ export { type SubscriptionsCursorPage };
@@ -0,0 +1,115 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import * as SubscriptionsAPI from './subscriptions';
5
+ import {
6
+ BulkOperationResponse,
7
+ BulkSubscribeRequest,
8
+ SubscriptionListParams,
9
+ SubscriptionSubscribeBulkParams,
10
+ SubscriptionUnsubscribeBulkParams,
11
+ Subscriptions,
12
+ } from './subscriptions';
13
+ import { APIPromise } from '../../core/api-promise';
14
+ import { CursorPage, type CursorPageParams, PagePromise } from '../../core/pagination';
15
+ import { buildHeaders } from '../../internal/headers';
16
+ import { RequestOptions } from '../../internal/request-options';
17
+ import { path } from '../../internal/utils/path';
18
+
19
+ export class Topics extends APIResource {
20
+ subscriptions: SubscriptionsAPI.Subscriptions = new SubscriptionsAPI.Subscriptions(this._client);
21
+
22
+ /**
23
+ * Retrieve a topic by name.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * const topic = await client.topics.retrieve('order-updates');
28
+ * ```
29
+ */
30
+ retrieve(id: string, options?: RequestOptions): APIPromise<Topic> {
31
+ return this._client.get(path`/topics/${id}`, options);
32
+ }
33
+
34
+ /**
35
+ * Retrieve a paginated list of all topics in your project.
36
+ *
37
+ * Topics are used for pub/sub notification patterns. Users subscribe to topics,
38
+ * and you can run notiflows for all subscribers of a topic.
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * // Automatically fetches more pages as needed.
43
+ * for await (const topic of client.topics.list()) {
44
+ * // ...
45
+ * }
46
+ * ```
47
+ */
48
+ list(
49
+ query: TopicListParams | null | undefined = {},
50
+ options?: RequestOptions,
51
+ ): PagePromise<TopicsCursorPage, Topic> {
52
+ return this._client.getAPIList('/topics', CursorPage<Topic>, { query, ...options });
53
+ }
54
+
55
+ /**
56
+ * Delete a topic and all its subscriptions.
57
+ *
58
+ * **Warning:** This removes all user subscriptions to this topic. Users will need
59
+ * to re-subscribe if the topic is recreated.
60
+ *
61
+ * @example
62
+ * ```ts
63
+ * await client.topics.delete('order-updates');
64
+ * ```
65
+ */
66
+ delete(id: string, options?: RequestOptions): APIPromise<void> {
67
+ return this._client.delete(path`/topics/${id}`, {
68
+ ...options,
69
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
70
+ });
71
+ }
72
+ }
73
+
74
+ export type TopicsCursorPage = CursorPage<Topic>;
75
+
76
+ /**
77
+ * A topic for pub/sub notification patterns
78
+ */
79
+ export interface Topic {
80
+ /**
81
+ * When the topic was created
82
+ */
83
+ created_at: string;
84
+
85
+ /**
86
+ * Unique topic name within your project
87
+ */
88
+ name: string;
89
+ }
90
+
91
+ export interface TopicListParams extends CursorPageParams {
92
+ /**
93
+ * Cursor for fetching the previous page
94
+ */
95
+ before?: string;
96
+ }
97
+
98
+ Topics.Subscriptions = Subscriptions;
99
+
100
+ export declare namespace Topics {
101
+ export {
102
+ type Topic as Topic,
103
+ type TopicsCursorPage as TopicsCursorPage,
104
+ type TopicListParams as TopicListParams,
105
+ };
106
+
107
+ export {
108
+ Subscriptions as Subscriptions,
109
+ type BulkOperationResponse as BulkOperationResponse,
110
+ type BulkSubscribeRequest as BulkSubscribeRequest,
111
+ type SubscriptionListParams as SubscriptionListParams,
112
+ type SubscriptionSubscribeBulkParams as SubscriptionSubscribeBulkParams,
113
+ type SubscriptionUnsubscribeBulkParams as SubscriptionUnsubscribeBulkParams,
114
+ };
115
+ }
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './topics/index';
@@ -0,0 +1,205 @@
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 { buildHeaders } from '../../internal/headers';
6
+ import { RequestOptions } from '../../internal/request-options';
7
+ import { path } from '../../internal/utils/path';
8
+
9
+ export class ChannelSettings extends APIResource {
10
+ /**
11
+ * Retrieve a user's settings for a specific channel.
12
+ *
13
+ * Channel settings store provider-specific data like device tokens (for push) or
14
+ * Slack user IDs (for chat).
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const channelSettings =
19
+ * await client.users.channelSettings.retrieve(
20
+ * '01HQXYZ123456789ABCDEFGHIJ',
21
+ * { user_id: 'user_12345' },
22
+ * );
23
+ * ```
24
+ */
25
+ retrieve(
26
+ channelID: string,
27
+ params: ChannelSettingRetrieveParams,
28
+ options?: RequestOptions,
29
+ ): APIPromise<ChannelSettings> {
30
+ const { user_id } = params;
31
+ return this._client.get(path`/users/${user_id}/channel-settings/${channelID}`, options);
32
+ }
33
+
34
+ /**
35
+ * Update a user's settings for a specific channel. Creates the settings if they
36
+ * don't exist.
37
+ *
38
+ * **Provider-specific settings:**
39
+ *
40
+ * **Mobile Push (APNS/FCM):**
41
+ *
42
+ * ```json
43
+ * {
44
+ * "settings": {
45
+ * "device_tokens": ["token1", "token2"]
46
+ * }
47
+ * }
48
+ * ```
49
+ *
50
+ * **Slack:**
51
+ *
52
+ * ```json
53
+ * {
54
+ * "settings": {
55
+ * "slack_channel_id": "C0123456789",
56
+ * "slack_user_id": "U0123456789"
57
+ * }
58
+ * }
59
+ * ```
60
+ *
61
+ * At least one of `slack_channel_id` or `slack_user_id` must be provided.
62
+ *
63
+ * @example
64
+ * ```ts
65
+ * const channelSettings =
66
+ * await client.users.channelSettings.update(
67
+ * '01HQXYZ123456789ABCDEFGHIJ',
68
+ * {
69
+ * user_id: 'user_12345',
70
+ * settings: {
71
+ * device_tokens: ['ExampleTokenABCDEF123456789...'],
72
+ * },
73
+ * },
74
+ * );
75
+ * ```
76
+ */
77
+ update(
78
+ channelID: string,
79
+ params: ChannelSettingUpdateParams,
80
+ options?: RequestOptions,
81
+ ): APIPromise<ChannelSettings> {
82
+ const { user_id, ...body } = params;
83
+ return this._client.put(path`/users/${user_id}/channel-settings/${channelID}`, { body, ...options });
84
+ }
85
+
86
+ /**
87
+ * Remove a user's settings for a specific channel.
88
+ *
89
+ * After deletion, the user will no longer receive notifications through this
90
+ * channel until new settings are configured.
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * await client.users.channelSettings.delete(
95
+ * '01HQXYZ123456789ABCDEFGHIJ',
96
+ * { user_id: 'user_12345' },
97
+ * );
98
+ * ```
99
+ */
100
+ delete(channelID: string, params: ChannelSettingDeleteParams, options?: RequestOptions): APIPromise<void> {
101
+ const { user_id } = params;
102
+ return this._client.delete(path`/users/${user_id}/channel-settings/${channelID}`, {
103
+ ...options,
104
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
105
+ });
106
+ }
107
+ }
108
+
109
+ /**
110
+ * User's settings for a specific channel (e.g., device tokens, Slack credentials)
111
+ */
112
+ export interface ChannelSettings {
113
+ /**
114
+ * Channel ID
115
+ */
116
+ channel_id: string;
117
+
118
+ /**
119
+ * When the settings were created
120
+ */
121
+ created_at: string;
122
+
123
+ /**
124
+ * The provider type for this channel
125
+ */
126
+ provider: 'apns' | 'fcm' | 'slack';
127
+
128
+ /**
129
+ * Provider-specific settings. See MobilePushSettings or SlackSettings schemas.
130
+ */
131
+ settings: MobilePushSettings | SlackSettings;
132
+
133
+ /**
134
+ * When the settings were last updated
135
+ */
136
+ updated_at: string;
137
+
138
+ /**
139
+ * Internal user ID
140
+ */
141
+ user_id: string;
142
+ }
143
+
144
+ /**
145
+ * Settings for mobile push notifications (APNS/FCM)
146
+ */
147
+ export interface MobilePushSettings {
148
+ /**
149
+ * List of device tokens for push notifications. At least one token is required.
150
+ */
151
+ device_tokens: Array<string>;
152
+ }
153
+
154
+ /**
155
+ * Settings for Slack notifications. At least one of `slack_channel_id` or
156
+ * `slack_user_id` must be provided.
157
+ */
158
+ export interface SlackSettings {
159
+ /**
160
+ * Slack channel ID (starts with C)
161
+ */
162
+ slack_channel_id?: string;
163
+
164
+ /**
165
+ * Slack user ID for direct messages (starts with U)
166
+ */
167
+ slack_user_id?: string;
168
+ }
169
+
170
+ export interface ChannelSettingRetrieveParams {
171
+ /**
172
+ * User external ID
173
+ */
174
+ user_id: string;
175
+ }
176
+
177
+ export interface ChannelSettingUpdateParams {
178
+ /**
179
+ * Path param: User external ID
180
+ */
181
+ user_id: string;
182
+
183
+ /**
184
+ * Body param: Provider-specific settings. Structure depends on channel provider.
185
+ */
186
+ settings: MobilePushSettings | SlackSettings;
187
+ }
188
+
189
+ export interface ChannelSettingDeleteParams {
190
+ /**
191
+ * User external ID
192
+ */
193
+ user_id: string;
194
+ }
195
+
196
+ export declare namespace ChannelSettings {
197
+ export {
198
+ type ChannelSettings as ChannelSettings,
199
+ type MobilePushSettings as MobilePushSettings,
200
+ type SlackSettings as SlackSettings,
201
+ type ChannelSettingRetrieveParams as ChannelSettingRetrieveParams,
202
+ type ChannelSettingUpdateParams as ChannelSettingUpdateParams,
203
+ type ChannelSettingDeleteParams as ChannelSettingDeleteParams,
204
+ };
205
+ }