assembly-kit 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 (272) hide show
  1. package/CLAUDE.md +205 -0
  2. package/LICENSE +21 -0
  3. package/README.md +516 -0
  4. package/dist/bridge-ui/index.d.mts +4 -0
  5. package/dist/bridge-ui/index.mjs +5 -0
  6. package/dist/bridge-ui/use-actions-menu.d.mts +16 -0
  7. package/dist/bridge-ui/use-actions-menu.mjs +33 -0
  8. package/dist/bridge-ui/use-actions-menu.mjs.map +1 -0
  9. package/dist/bridge-ui/use-primary-cta.d.mts +16 -0
  10. package/dist/bridge-ui/use-primary-cta.mjs +34 -0
  11. package/dist/bridge-ui/use-primary-cta.mjs.map +1 -0
  12. package/dist/bridge-ui/use-secondary-cta.d.mts +16 -0
  13. package/dist/bridge-ui/use-secondary-cta.mjs +34 -0
  14. package/dist/bridge-ui/use-secondary-cta.mjs.map +1 -0
  15. package/dist/client/index.d.mts +108 -0
  16. package/dist/client/index.mjs +168 -0
  17. package/dist/client/index.mjs.map +1 -0
  18. package/dist/client/options.d.mts +40 -0
  19. package/dist/constants/kit-mode.d.mts +15 -0
  20. package/dist/constants/kit-mode.mjs +15 -0
  21. package/dist/constants/kit-mode.mjs.map +1 -0
  22. package/dist/errors/base.d.mts +29 -0
  23. package/dist/errors/base.mjs +16 -0
  24. package/dist/errors/base.mjs.map +1 -0
  25. package/dist/errors/connection.d.mts +12 -0
  26. package/dist/errors/connection.mjs +16 -0
  27. package/dist/errors/connection.mjs.map +1 -0
  28. package/dist/errors/forbidden.d.mts +12 -0
  29. package/dist/errors/forbidden.mjs +16 -0
  30. package/dist/errors/forbidden.mjs.map +1 -0
  31. package/dist/errors/index.d.mts +13 -0
  32. package/dist/errors/index.mjs +13 -0
  33. package/dist/errors/invalid-token.d.mts +12 -0
  34. package/dist/errors/invalid-token.mjs +16 -0
  35. package/dist/errors/invalid-token.mjs.map +1 -0
  36. package/dist/errors/missing-api-key.d.mts +12 -0
  37. package/dist/errors/missing-api-key.mjs +16 -0
  38. package/dist/errors/missing-api-key.mjs.map +1 -0
  39. package/dist/errors/no-token.d.mts +12 -0
  40. package/dist/errors/no-token.mjs +16 -0
  41. package/dist/errors/no-token.mjs.map +1 -0
  42. package/dist/errors/not-found.d.mts +12 -0
  43. package/dist/errors/not-found.mjs +16 -0
  44. package/dist/errors/not-found.mjs.map +1 -0
  45. package/dist/errors/rate-limit.d.mts +17 -0
  46. package/dist/errors/rate-limit.mjs +18 -0
  47. package/dist/errors/rate-limit.mjs.map +1 -0
  48. package/dist/errors/response-parse.d.mts +19 -0
  49. package/dist/errors/response-parse.mjs +23 -0
  50. package/dist/errors/response-parse.mjs.map +1 -0
  51. package/dist/errors/server.d.mts +12 -0
  52. package/dist/errors/server.mjs +16 -0
  53. package/dist/errors/server.mjs.map +1 -0
  54. package/dist/errors/unauthorized.d.mts +12 -0
  55. package/dist/errors/unauthorized.mjs +16 -0
  56. package/dist/errors/unauthorized.mjs.map +1 -0
  57. package/dist/errors/validation.d.mts +12 -0
  58. package/dist/errors/validation.mjs +16 -0
  59. package/dist/errors/validation.mjs.map +1 -0
  60. package/dist/index.d.mts +49 -0
  61. package/dist/index.mjs +51 -0
  62. package/dist/lib/modules/app-connections/resource.d.mts +28 -0
  63. package/dist/lib/modules/app-connections/resource.mjs +33 -0
  64. package/dist/lib/modules/app-connections/resource.mjs.map +1 -0
  65. package/dist/lib/modules/app-connections/schema.d.mts +37 -0
  66. package/dist/lib/modules/app-connections/schema.mjs +30 -0
  67. package/dist/lib/modules/app-connections/schema.mjs.map +1 -0
  68. package/dist/lib/modules/app-installs/resource.d.mts +21 -0
  69. package/dist/lib/modules/app-installs/resource.mjs +31 -0
  70. package/dist/lib/modules/app-installs/resource.mjs.map +1 -0
  71. package/dist/lib/modules/app-installs/schema.d.mts +22 -0
  72. package/dist/lib/modules/app-installs/schema.mjs +23 -0
  73. package/dist/lib/modules/app-installs/schema.mjs.map +1 -0
  74. package/dist/lib/modules/clients/resource.d.mts +43 -0
  75. package/dist/lib/modules/clients/resource.mjs +62 -0
  76. package/dist/lib/modules/clients/resource.mjs.map +1 -0
  77. package/dist/lib/modules/clients/schema.d.mts +50 -0
  78. package/dist/lib/modules/clients/schema.mjs +52 -0
  79. package/dist/lib/modules/clients/schema.mjs.map +1 -0
  80. package/dist/lib/modules/companies/resource.d.mts +37 -0
  81. package/dist/lib/modules/companies/resource.mjs +60 -0
  82. package/dist/lib/modules/companies/resource.mjs.map +1 -0
  83. package/dist/lib/modules/companies/schema.d.mts +39 -0
  84. package/dist/lib/modules/companies/schema.mjs +34 -0
  85. package/dist/lib/modules/companies/schema.mjs.map +1 -0
  86. package/dist/lib/modules/contract-templates/resource.d.mts +27 -0
  87. package/dist/lib/modules/contract-templates/resource.mjs +40 -0
  88. package/dist/lib/modules/contract-templates/resource.mjs.map +1 -0
  89. package/dist/lib/modules/contract-templates/schema.d.mts +21 -0
  90. package/dist/lib/modules/contract-templates/schema.mjs +18 -0
  91. package/dist/lib/modules/contract-templates/schema.mjs.map +1 -0
  92. package/dist/lib/modules/contracts/resource.d.mts +29 -0
  93. package/dist/lib/modules/contracts/resource.mjs +40 -0
  94. package/dist/lib/modules/contracts/resource.mjs.map +1 -0
  95. package/dist/lib/modules/contracts/schema.d.mts +50 -0
  96. package/dist/lib/modules/contracts/schema.mjs +45 -0
  97. package/dist/lib/modules/contracts/schema.mjs.map +1 -0
  98. package/dist/lib/modules/custom-field-options/index.d.mts +1 -0
  99. package/dist/lib/modules/custom-field-options/index.mjs +2 -0
  100. package/dist/lib/modules/custom-field-options/resource.d.mts +22 -0
  101. package/dist/lib/modules/custom-field-options/resource.mjs +25 -0
  102. package/dist/lib/modules/custom-field-options/resource.mjs.map +1 -0
  103. package/dist/lib/modules/custom-field-options/schema.d.mts +18 -0
  104. package/dist/lib/modules/custom-field-options/schema.mjs +13 -0
  105. package/dist/lib/modules/custom-field-options/schema.mjs.map +1 -0
  106. package/dist/lib/modules/custom-fields/resource.d.mts +21 -0
  107. package/dist/lib/modules/custom-fields/resource.mjs +24 -0
  108. package/dist/lib/modules/custom-fields/resource.mjs.map +1 -0
  109. package/dist/lib/modules/custom-fields/schema.d.mts +43 -0
  110. package/dist/lib/modules/custom-fields/schema.mjs +44 -0
  111. package/dist/lib/modules/custom-fields/schema.mjs.map +1 -0
  112. package/dist/lib/modules/events/resource.d.mts +33 -0
  113. package/dist/lib/modules/events/resource.mjs +49 -0
  114. package/dist/lib/modules/events/resource.mjs.map +1 -0
  115. package/dist/lib/modules/events/schema.d.mts +52 -0
  116. package/dist/lib/modules/events/schema.mjs +49 -0
  117. package/dist/lib/modules/events/schema.mjs.map +1 -0
  118. package/dist/lib/modules/file-channels/resource.d.mts +26 -0
  119. package/dist/lib/modules/file-channels/resource.mjs +48 -0
  120. package/dist/lib/modules/file-channels/resource.mjs.map +1 -0
  121. package/dist/lib/modules/file-channels/schema.d.mts +33 -0
  122. package/dist/lib/modules/file-channels/schema.mjs +28 -0
  123. package/dist/lib/modules/file-channels/schema.mjs.map +1 -0
  124. package/dist/lib/modules/files/resource.d.mts +40 -0
  125. package/dist/lib/modules/files/resource.mjs +52 -0
  126. package/dist/lib/modules/files/resource.mjs.map +1 -0
  127. package/dist/lib/modules/files/schema.d.mts +27 -0
  128. package/dist/lib/modules/files/schema.mjs +27 -0
  129. package/dist/lib/modules/files/schema.mjs.map +1 -0
  130. package/dist/lib/modules/form-responses/resource.d.mts +24 -0
  131. package/dist/lib/modules/form-responses/resource.mjs +34 -0
  132. package/dist/lib/modules/form-responses/resource.mjs.map +1 -0
  133. package/dist/lib/modules/form-responses/schema.d.mts +29 -0
  134. package/dist/lib/modules/form-responses/schema.mjs +23 -0
  135. package/dist/lib/modules/form-responses/schema.mjs.map +1 -0
  136. package/dist/lib/modules/forms/resource.d.mts +24 -0
  137. package/dist/lib/modules/forms/resource.mjs +40 -0
  138. package/dist/lib/modules/forms/resource.mjs.map +1 -0
  139. package/dist/lib/modules/forms/schema.d.mts +22 -0
  140. package/dist/lib/modules/forms/schema.mjs +19 -0
  141. package/dist/lib/modules/forms/schema.mjs.map +1 -0
  142. package/dist/lib/modules/index.d.mts +28 -0
  143. package/dist/lib/modules/index.mjs +29 -0
  144. package/dist/lib/modules/internal-users/resource.d.mts +24 -0
  145. package/dist/lib/modules/internal-users/resource.mjs +37 -0
  146. package/dist/lib/modules/internal-users/resource.mjs.map +1 -0
  147. package/dist/lib/modules/internal-users/schema.d.mts +27 -0
  148. package/dist/lib/modules/internal-users/schema.mjs +24 -0
  149. package/dist/lib/modules/internal-users/schema.mjs.map +1 -0
  150. package/dist/lib/modules/invoice-templates/resource.d.mts +22 -0
  151. package/dist/lib/modules/invoice-templates/resource.mjs +32 -0
  152. package/dist/lib/modules/invoice-templates/resource.mjs.map +1 -0
  153. package/dist/lib/modules/invoice-templates/schema.d.mts +21 -0
  154. package/dist/lib/modules/invoice-templates/schema.mjs +18 -0
  155. package/dist/lib/modules/invoice-templates/schema.mjs.map +1 -0
  156. package/dist/lib/modules/invoices/resource.d.mts +30 -0
  157. package/dist/lib/modules/invoices/resource.mjs +48 -0
  158. package/dist/lib/modules/invoices/resource.mjs.map +1 -0
  159. package/dist/lib/modules/invoices/schema.d.mts +81 -0
  160. package/dist/lib/modules/invoices/schema.mjs +75 -0
  161. package/dist/lib/modules/invoices/schema.mjs.map +1 -0
  162. package/dist/lib/modules/message-channels/resource.d.mts +26 -0
  163. package/dist/lib/modules/message-channels/resource.mjs +48 -0
  164. package/dist/lib/modules/message-channels/resource.mjs.map +1 -0
  165. package/dist/lib/modules/message-channels/schema.d.mts +35 -0
  166. package/dist/lib/modules/message-channels/schema.mjs +30 -0
  167. package/dist/lib/modules/message-channels/schema.mjs.map +1 -0
  168. package/dist/lib/modules/messages/resource.d.mts +27 -0
  169. package/dist/lib/modules/messages/resource.mjs +40 -0
  170. package/dist/lib/modules/messages/resource.mjs.map +1 -0
  171. package/dist/lib/modules/messages/schema.d.mts +30 -0
  172. package/dist/lib/modules/messages/schema.mjs +26 -0
  173. package/dist/lib/modules/messages/schema.mjs.map +1 -0
  174. package/dist/lib/modules/notes/resource.d.mts +37 -0
  175. package/dist/lib/modules/notes/resource.mjs +60 -0
  176. package/dist/lib/modules/notes/resource.mjs.map +1 -0
  177. package/dist/lib/modules/notes/schema.d.mts +34 -0
  178. package/dist/lib/modules/notes/schema.mjs +27 -0
  179. package/dist/lib/modules/notes/schema.mjs.map +1 -0
  180. package/dist/lib/modules/notifications/resource.d.mts +27 -0
  181. package/dist/lib/modules/notifications/resource.mjs +52 -0
  182. package/dist/lib/modules/notifications/resource.mjs.map +1 -0
  183. package/dist/lib/modules/notifications/schema.d.mts +52 -0
  184. package/dist/lib/modules/notifications/schema.mjs +43 -0
  185. package/dist/lib/modules/notifications/schema.mjs.map +1 -0
  186. package/dist/lib/modules/payments/resource.d.mts +26 -0
  187. package/dist/lib/modules/payments/resource.mjs +32 -0
  188. package/dist/lib/modules/payments/resource.mjs.map +1 -0
  189. package/dist/lib/modules/payments/schema.d.mts +23 -0
  190. package/dist/lib/modules/payments/schema.mjs +20 -0
  191. package/dist/lib/modules/payments/schema.mjs.map +1 -0
  192. package/dist/lib/modules/prices/resource.d.mts +27 -0
  193. package/dist/lib/modules/prices/resource.mjs +40 -0
  194. package/dist/lib/modules/prices/resource.mjs.map +1 -0
  195. package/dist/lib/modules/prices/schema.d.mts +22 -0
  196. package/dist/lib/modules/prices/schema.mjs +19 -0
  197. package/dist/lib/modules/prices/schema.mjs.map +1 -0
  198. package/dist/lib/modules/products/resource.d.mts +24 -0
  199. package/dist/lib/modules/products/resource.mjs +40 -0
  200. package/dist/lib/modules/products/resource.mjs.map +1 -0
  201. package/dist/lib/modules/products/schema.d.mts +22 -0
  202. package/dist/lib/modules/products/schema.mjs +19 -0
  203. package/dist/lib/modules/products/schema.mjs.map +1 -0
  204. package/dist/lib/modules/subscription-templates/resource.d.mts +22 -0
  205. package/dist/lib/modules/subscription-templates/resource.mjs +32 -0
  206. package/dist/lib/modules/subscription-templates/resource.mjs.map +1 -0
  207. package/dist/lib/modules/subscription-templates/schema.d.mts +21 -0
  208. package/dist/lib/modules/subscription-templates/schema.mjs +18 -0
  209. package/dist/lib/modules/subscription-templates/schema.mjs.map +1 -0
  210. package/dist/lib/modules/subscriptions/resource.d.mts +32 -0
  211. package/dist/lib/modules/subscriptions/resource.mjs +56 -0
  212. package/dist/lib/modules/subscriptions/resource.mjs.map +1 -0
  213. package/dist/lib/modules/subscriptions/schema.d.mts +31 -0
  214. package/dist/lib/modules/subscriptions/schema.mjs +26 -0
  215. package/dist/lib/modules/subscriptions/schema.mjs.map +1 -0
  216. package/dist/lib/modules/task-templates/resource.d.mts +24 -0
  217. package/dist/lib/modules/task-templates/resource.mjs +40 -0
  218. package/dist/lib/modules/task-templates/resource.mjs.map +1 -0
  219. package/dist/lib/modules/task-templates/schema.d.mts +22 -0
  220. package/dist/lib/modules/task-templates/schema.mjs +19 -0
  221. package/dist/lib/modules/task-templates/schema.mjs.map +1 -0
  222. package/dist/lib/modules/tasks/resource.d.mts +38 -0
  223. package/dist/lib/modules/tasks/resource.mjs +60 -0
  224. package/dist/lib/modules/tasks/resource.mjs.map +1 -0
  225. package/dist/lib/modules/tasks/schema.d.mts +45 -0
  226. package/dist/lib/modules/tasks/schema.mjs +43 -0
  227. package/dist/lib/modules/tasks/schema.mjs.map +1 -0
  228. package/dist/lib/modules/workspace/resource.d.mts +19 -0
  229. package/dist/lib/modules/workspace/resource.mjs +23 -0
  230. package/dist/lib/modules/workspace/resource.mjs.map +1 -0
  231. package/dist/lib/modules/workspace/schema.d.mts +23 -0
  232. package/dist/lib/modules/workspace/schema.mjs +21 -0
  233. package/dist/lib/modules/workspace/schema.mjs.map +1 -0
  234. package/dist/lib/pagination/paginate.d.mts +8 -0
  235. package/dist/lib/pagination/paginate.mjs +24 -0
  236. package/dist/lib/pagination/paginate.mjs.map +1 -0
  237. package/dist/logger/index.d.mts +26 -0
  238. package/dist/logger/index.mjs +45 -0
  239. package/dist/logger/index.mjs.map +1 -0
  240. package/dist/schemas/index.d.mts +32 -0
  241. package/dist/schemas/index.mjs +34 -0
  242. package/dist/schemas/shared/hex-color.d.mts +8 -0
  243. package/dist/schemas/shared/hex-color.mjs +7 -0
  244. package/dist/schemas/shared/hex-color.mjs.map +1 -0
  245. package/dist/schemas/shared/index.d.mts +3 -0
  246. package/dist/schemas/shared/index.mjs +4 -0
  247. package/dist/schemas/shared/membership-type.d.mts +9 -0
  248. package/dist/schemas/shared/membership-type.mjs +11 -0
  249. package/dist/schemas/shared/membership-type.mjs.map +1 -0
  250. package/dist/schemas/shared/token.d.mts +22 -0
  251. package/dist/schemas/shared/token.mjs +21 -0
  252. package/dist/schemas/shared/token.mjs.map +1 -0
  253. package/dist/token/assembly-token.d.mts +96 -0
  254. package/dist/token/assembly-token.mjs +117 -0
  255. package/dist/token/assembly-token.mjs.map +1 -0
  256. package/dist/token/crypto.mjs +98 -0
  257. package/dist/token/crypto.mjs.map +1 -0
  258. package/dist/token/index.d.mts +3 -0
  259. package/dist/token/index.mjs +3 -0
  260. package/dist/token/parse.d.mts +24 -0
  261. package/dist/token/parse.mjs +62 -0
  262. package/dist/token/parse.mjs.map +1 -0
  263. package/dist/transport/build-search-params.mjs +16 -0
  264. package/dist/transport/build-search-params.mjs.map +1 -0
  265. package/dist/transport/http.d.mts +14 -0
  266. package/dist/transport/http.mjs +142 -0
  267. package/dist/transport/http.mjs.map +1 -0
  268. package/dist/transport/parse-response.mjs +17 -0
  269. package/dist/transport/parse-response.mjs.map +1 -0
  270. package/dist/version.mjs +7 -0
  271. package/dist/version.mjs.map +1 -0
  272. package/package.json +93 -0
@@ -0,0 +1,29 @@
1
+ import "./app-connections/schema.mjs";
2
+ import "./app-installs/schema.mjs";
3
+ import "./clients/schema.mjs";
4
+ import "./companies/schema.mjs";
5
+ import "./contract-templates/schema.mjs";
6
+ import "./contracts/schema.mjs";
7
+ import "./custom-field-options/schema.mjs";
8
+ import "./custom-fields/schema.mjs";
9
+ import "./events/schema.mjs";
10
+ import "./file-channels/schema.mjs";
11
+ import "./files/schema.mjs";
12
+ import "./form-responses/schema.mjs";
13
+ import "./forms/schema.mjs";
14
+ import "./internal-users/schema.mjs";
15
+ import "./invoice-templates/schema.mjs";
16
+ import "./invoices/schema.mjs";
17
+ import "./message-channels/schema.mjs";
18
+ import "./messages/schema.mjs";
19
+ import "./notes/schema.mjs";
20
+ import "./notifications/schema.mjs";
21
+ import "./payments/schema.mjs";
22
+ import "./prices/schema.mjs";
23
+ import "./products/schema.mjs";
24
+ import "./subscription-templates/schema.mjs";
25
+ import "./subscriptions/schema.mjs";
26
+ import "./task-templates/schema.mjs";
27
+ import "./tasks/schema.mjs";
28
+ import "./workspace/schema.mjs";
29
+ export {};
@@ -0,0 +1,24 @@
1
+ import { Transport } from "../../../transport/http.mjs";
2
+ import { ListArgs } from "../../pagination/paginate.mjs";
3
+ import { InternalUser, InternalUsersResponse } from "./schema.mjs";
4
+
5
+ //#region src/lib/modules/internal-users/resource.d.ts
6
+ declare class InternalUsersResource {
7
+ #private;
8
+ constructor({
9
+ transport,
10
+ validateResponses
11
+ }: {
12
+ transport: Transport;
13
+ validateResponses: boolean;
14
+ });
15
+ /** List internal users. */
16
+ list(args?: ListArgs): Promise<InternalUsersResponse>;
17
+ /** Retrieve a single internal user by ID. */
18
+ retrieve(id: string): Promise<InternalUser>;
19
+ /** Iterate over all internal users, automatically paginating. Default limit per page: 500. */
20
+ listAll(args?: Omit<ListArgs, "nextToken">): Promise<InternalUser[]>;
21
+ }
22
+ //#endregion
23
+ export { InternalUsersResource };
24
+ //# sourceMappingURL=resource.d.mts.map
@@ -0,0 +1,37 @@
1
+ import { buildSearchParams } from "../../../transport/build-search-params.mjs";
2
+ import { parseResponse } from "../../../transport/parse-response.mjs";
3
+ import { paginate } from "../../pagination/paginate.mjs";
4
+ import { InternalUserResponseSchema, InternalUsersResponseSchema } from "./schema.mjs";
5
+ //#region src/lib/modules/internal-users/resource.ts
6
+ var InternalUsersResource = class {
7
+ #transport;
8
+ #validate;
9
+ constructor({ transport, validateResponses }) {
10
+ this.#transport = transport;
11
+ this.#validate = validateResponses;
12
+ }
13
+ /** List internal users. */
14
+ async list(args = {}) {
15
+ return parseResponse({
16
+ schema: InternalUsersResponseSchema,
17
+ data: await this.#transport.get("v1/internal-users", { searchParams: buildSearchParams(args) }),
18
+ validate: this.#validate
19
+ });
20
+ }
21
+ /** Retrieve a single internal user by ID. */
22
+ async retrieve(id) {
23
+ return parseResponse({
24
+ schema: InternalUserResponseSchema,
25
+ data: await this.#transport.get(`v1/internal-users/${id}`),
26
+ validate: this.#validate
27
+ });
28
+ }
29
+ /** Iterate over all internal users, automatically paginating. Default limit per page: 500. */
30
+ async listAll(args = {}) {
31
+ return paginate((listArgs) => this.list({ ...listArgs }), { limit: args.limit ?? 500 });
32
+ }
33
+ };
34
+ //#endregion
35
+ export { InternalUsersResource };
36
+
37
+ //# sourceMappingURL=resource.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.mjs","names":["#transport","#validate"],"sources":["../../../../src/lib/modules/internal-users/resource.ts"],"sourcesContent":["import { paginate } from \"src/lib/pagination\";\nimport type { ListArgs } from \"src/lib/pagination\";\nimport { buildSearchParams } from \"src/transport/build-search-params\";\nimport type { Transport } from \"src/transport/http\";\nimport { parseResponse } from \"src/transport/parse-response\";\n\nimport { InternalUserResponseSchema, InternalUsersResponseSchema } from \"./schema\";\nimport type { InternalUser, InternalUsersResponse } from \"./schema\";\n\nexport class InternalUsersResource {\n readonly #transport: Transport;\n readonly #validate: boolean;\n\n constructor({\n transport,\n validateResponses,\n }: {\n transport: Transport;\n validateResponses: boolean;\n }) {\n this.#transport = transport;\n this.#validate = validateResponses;\n }\n\n /** List internal users. */\n async list(args: ListArgs = {}): Promise<InternalUsersResponse> {\n const raw: unknown = await this.#transport.get(\"v1/internal-users\", {\n searchParams: buildSearchParams(args),\n });\n return parseResponse({\n schema: InternalUsersResponseSchema,\n data: raw,\n validate: this.#validate,\n });\n }\n\n /** Retrieve a single internal user by ID. */\n async retrieve(id: string): Promise<InternalUser> {\n const raw: unknown = await this.#transport.get(`v1/internal-users/${id}`);\n return parseResponse({\n schema: InternalUserResponseSchema,\n data: raw,\n validate: this.#validate,\n });\n }\n\n /** Iterate over all internal users, automatically paginating. Default limit per page: 500. */\n async listAll(args: Omit<ListArgs, \"nextToken\"> = {}): Promise<InternalUser[]> {\n return paginate((listArgs) => this.list({ ...listArgs }), {\n limit: args.limit ?? 500,\n });\n }\n}\n"],"mappings":";;;;;AASA,IAAa,wBAAb,MAAmC;CACjC;CACA;CAEA,YAAY,EACV,WACA,qBAIC;AACD,QAAA,YAAkB;AAClB,QAAA,WAAiB;;;CAInB,MAAM,KAAK,OAAiB,EAAE,EAAkC;AAI9D,SAAO,cAAc;GACnB,QAAQ;GACR,MAAM,MALmB,MAAA,UAAgB,IAAI,qBAAqB,EAClE,cAAc,kBAAkB,KAAK,EACtC,CAAC;GAIA,UAAU,MAAA;GACX,CAAC;;;CAIJ,MAAM,SAAS,IAAmC;AAEhD,SAAO,cAAc;GACnB,QAAQ;GACR,MAAM,MAHmB,MAAA,UAAgB,IAAI,qBAAqB,KAAK;GAIvE,UAAU,MAAA;GACX,CAAC;;;CAIJ,MAAM,QAAQ,OAAoC,EAAE,EAA2B;AAC7E,SAAO,UAAU,aAAa,KAAK,KAAK,EAAE,GAAG,UAAU,CAAC,EAAE,EACxD,OAAO,KAAK,SAAS,KACtB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/lib/modules/internal-users/schema.d.ts
4
+ interface InternalUser {
5
+ avatarImageUrl?: string;
6
+ companyAccessList: string[] | null;
7
+ createdAt?: string;
8
+ email: string;
9
+ fallbackColor?: string | null;
10
+ familyName: string;
11
+ givenName: string;
12
+ id: string;
13
+ isClientAccessLimited: boolean;
14
+ object: "internalUser";
15
+ role?: string;
16
+ }
17
+ declare const InternalUserSchema: z.ZodType<InternalUser>;
18
+ declare const InternalUserResponseSchema: z.ZodType<InternalUser>;
19
+ type InternalUserResponse = InternalUser;
20
+ interface InternalUsersResponse {
21
+ data: InternalUser[];
22
+ nextToken?: string;
23
+ }
24
+ declare const InternalUsersResponseSchema: z.ZodType<InternalUsersResponse>;
25
+ //#endregion
26
+ export { InternalUser, InternalUserResponse, InternalUserResponseSchema, InternalUserSchema, InternalUsersResponse, InternalUsersResponseSchema };
27
+ //# sourceMappingURL=schema.d.mts.map
@@ -0,0 +1,24 @@
1
+ import { z } from "zod";
2
+ //#region src/lib/modules/internal-users/schema.ts
3
+ const InternalUserSchema = z.object({
4
+ avatarImageUrl: z.string().optional(),
5
+ companyAccessList: z.array(z.string()).nullable(),
6
+ createdAt: z.iso.datetime().optional(),
7
+ email: z.union([z.email(), z.literal("")]),
8
+ fallbackColor: z.string().nullish(),
9
+ familyName: z.string(),
10
+ givenName: z.string(),
11
+ id: z.string(),
12
+ isClientAccessLimited: z.boolean().default(false),
13
+ object: z.literal("internalUser"),
14
+ role: z.string().optional()
15
+ });
16
+ const InternalUserResponseSchema = InternalUserSchema;
17
+ const InternalUsersResponseSchema = z.object({
18
+ data: z.array(InternalUserSchema),
19
+ nextToken: z.string().optional()
20
+ });
21
+ //#endregion
22
+ export { InternalUserResponseSchema, InternalUserSchema, InternalUsersResponseSchema };
23
+
24
+ //# sourceMappingURL=schema.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.mjs","names":[],"sources":["../../../../src/lib/modules/internal-users/schema.ts"],"sourcesContent":["import { z } from \"zod\";\n\n// ─── Base ─────────────────────────────────────────────────────────────────────\n\nexport interface InternalUser {\n avatarImageUrl?: string;\n companyAccessList: string[] | null;\n createdAt?: string;\n email: string;\n fallbackColor?: string | null;\n familyName: string;\n givenName: string;\n id: string;\n isClientAccessLimited: boolean;\n object: \"internalUser\";\n role?: string;\n}\n\nexport const InternalUserSchema: z.ZodType<InternalUser> = z.object({\n avatarImageUrl: z.string().optional(),\n companyAccessList: z.array(z.string()).nullable(),\n createdAt: z.iso.datetime().optional(),\n // Deleted internal users can still be queried but have an empty email\n email: z.union([z.email(), z.literal(\"\")]),\n fallbackColor: z.string().nullish(),\n familyName: z.string(),\n givenName: z.string(),\n id: z.string(),\n isClientAccessLimited: z.boolean().default(false),\n object: z.literal(\"internalUser\"),\n role: z.string().optional(),\n});\n\n// ─── Response ─────────────────────────────────────────────────────────────────\n\nexport const InternalUserResponseSchema: z.ZodType<InternalUser> = InternalUserSchema;\nexport type InternalUserResponse = InternalUser;\n\nexport interface InternalUsersResponse {\n data: InternalUser[];\n nextToken?: string;\n}\n\nexport const InternalUsersResponseSchema: z.ZodType<InternalUsersResponse> = z.object({\n data: z.array(InternalUserSchema),\n nextToken: z.string().optional(),\n});\n"],"mappings":";;AAkBA,MAAa,qBAA8C,EAAE,OAAO;CAClE,gBAAgB,EAAE,QAAQ,CAAC,UAAU;CACrC,mBAAmB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,UAAU;CACjD,WAAW,EAAE,IAAI,UAAU,CAAC,UAAU;CAEtC,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,QAAQ,GAAG,CAAC,CAAC;CAC1C,eAAe,EAAE,QAAQ,CAAC,SAAS;CACnC,YAAY,EAAE,QAAQ;CACtB,WAAW,EAAE,QAAQ;CACrB,IAAI,EAAE,QAAQ;CACd,uBAAuB,EAAE,SAAS,CAAC,QAAQ,MAAM;CACjD,QAAQ,EAAE,QAAQ,eAAe;CACjC,MAAM,EAAE,QAAQ,CAAC,UAAU;CAC5B,CAAC;AAIF,MAAa,6BAAsD;AAQnE,MAAa,8BAAgE,EAAE,OAAO;CACpF,MAAM,EAAE,MAAM,mBAAmB;CACjC,WAAW,EAAE,QAAQ,CAAC,UAAU;CACjC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { Transport } from "../../../transport/http.mjs";
2
+ import { ListArgs } from "../../pagination/paginate.mjs";
3
+ import { InvoiceTemplate, InvoiceTemplatesResponse } from "./schema.mjs";
4
+
5
+ //#region src/lib/modules/invoice-templates/resource.d.ts
6
+ declare class InvoiceTemplatesResource {
7
+ #private;
8
+ constructor({
9
+ transport,
10
+ validateResponses
11
+ }: {
12
+ transport: Transport;
13
+ validateResponses: boolean;
14
+ });
15
+ /** List invoice templates. */
16
+ list(args?: ListArgs): Promise<InvoiceTemplatesResponse>;
17
+ /** Iterate over all invoice templates, automatically paginating. Default limit per page: 500. */
18
+ listAll(args?: Omit<ListArgs, "nextToken">): Promise<InvoiceTemplate[]>;
19
+ }
20
+ //#endregion
21
+ export { InvoiceTemplatesResource };
22
+ //# sourceMappingURL=resource.d.mts.map
@@ -0,0 +1,32 @@
1
+ import { buildSearchParams } from "../../../transport/build-search-params.mjs";
2
+ import { parseResponse } from "../../../transport/parse-response.mjs";
3
+ import { paginate } from "../../pagination/paginate.mjs";
4
+ import { InvoiceTemplatesResponseSchema } from "./schema.mjs";
5
+ //#region src/lib/modules/invoice-templates/resource.ts
6
+ var InvoiceTemplatesResource = class {
7
+ #transport;
8
+ #validate;
9
+ constructor({ transport, validateResponses }) {
10
+ this.#transport = transport;
11
+ this.#validate = validateResponses;
12
+ }
13
+ /** List invoice templates. */
14
+ async list(args = {}) {
15
+ return parseResponse({
16
+ schema: InvoiceTemplatesResponseSchema,
17
+ data: await this.#transport.get("v1/invoice-templates", { searchParams: buildSearchParams(args) }),
18
+ validate: this.#validate
19
+ });
20
+ }
21
+ /** Iterate over all invoice templates, automatically paginating. Default limit per page: 500. */
22
+ async listAll(args = {}) {
23
+ return paginate((listArgs) => this.list({
24
+ ...args,
25
+ ...listArgs
26
+ }), { limit: args.limit ?? 500 });
27
+ }
28
+ };
29
+ //#endregion
30
+ export { InvoiceTemplatesResource };
31
+
32
+ //# sourceMappingURL=resource.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.mjs","names":["#transport","#validate"],"sources":["../../../../src/lib/modules/invoice-templates/resource.ts"],"sourcesContent":["import { paginate } from \"src/lib/pagination\";\nimport type { ListArgs } from \"src/lib/pagination\";\nimport { buildSearchParams } from \"src/transport/build-search-params\";\nimport type { Transport } from \"src/transport/http\";\nimport { parseResponse } from \"src/transport/parse-response\";\n\nimport { InvoiceTemplatesResponseSchema } from \"./schema\";\nimport type { InvoiceTemplate, InvoiceTemplatesResponse } from \"./schema\";\n\nexport class InvoiceTemplatesResource {\n readonly #transport: Transport;\n readonly #validate: boolean;\n\n constructor({\n transport,\n validateResponses,\n }: {\n transport: Transport;\n validateResponses: boolean;\n }) {\n this.#transport = transport;\n this.#validate = validateResponses;\n }\n\n /** List invoice templates. */\n async list(args: ListArgs = {}): Promise<InvoiceTemplatesResponse> {\n const raw = await this.#transport.get<unknown>(\"v1/invoice-templates\", {\n searchParams: buildSearchParams(args),\n });\n return parseResponse({\n schema: InvoiceTemplatesResponseSchema,\n data: raw,\n validate: this.#validate,\n });\n }\n\n /** Iterate over all invoice templates, automatically paginating. Default limit per page: 500. */\n async listAll(args: Omit<ListArgs, \"nextToken\"> = {}): Promise<InvoiceTemplate[]> {\n return paginate((listArgs) => this.list({ ...args, ...listArgs }), {\n limit: args.limit ?? 500,\n });\n }\n}\n"],"mappings":";;;;;AASA,IAAa,2BAAb,MAAsC;CACpC;CACA;CAEA,YAAY,EACV,WACA,qBAIC;AACD,QAAA,YAAkB;AAClB,QAAA,WAAiB;;;CAInB,MAAM,KAAK,OAAiB,EAAE,EAAqC;AAIjE,SAAO,cAAc;GACnB,QAAQ;GACR,MAAM,MALU,MAAA,UAAgB,IAAa,wBAAwB,EACrE,cAAc,kBAAkB,KAAK,EACtC,CAAC;GAIA,UAAU,MAAA;GACX,CAAC;;;CAIJ,MAAM,QAAQ,OAAoC,EAAE,EAA8B;AAChF,SAAO,UAAU,aAAa,KAAK,KAAK;GAAE,GAAG;GAAM,GAAG;GAAU,CAAC,EAAE,EACjE,OAAO,KAAK,SAAS,KACtB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/lib/modules/invoice-templates/schema.d.ts
4
+ interface InvoiceTemplate {
5
+ createdAt: string;
6
+ id: string;
7
+ name?: string;
8
+ object: "invoiceTemplate";
9
+ updatedAt?: string;
10
+ }
11
+ declare const InvoiceTemplateSchema: z.ZodType<InvoiceTemplate>;
12
+ declare const InvoiceTemplateResponseSchema: z.ZodType<InvoiceTemplate>;
13
+ type InvoiceTemplateResponse = InvoiceTemplate;
14
+ interface InvoiceTemplatesResponse {
15
+ data: InvoiceTemplate[] | null;
16
+ nextToken?: string;
17
+ }
18
+ declare const InvoiceTemplatesResponseSchema: z.ZodType<InvoiceTemplatesResponse>;
19
+ //#endregion
20
+ export { InvoiceTemplate, InvoiceTemplateResponse, InvoiceTemplateResponseSchema, InvoiceTemplateSchema, InvoiceTemplatesResponse, InvoiceTemplatesResponseSchema };
21
+ //# sourceMappingURL=schema.d.mts.map
@@ -0,0 +1,18 @@
1
+ import { z } from "zod";
2
+ //#region src/lib/modules/invoice-templates/schema.ts
3
+ const InvoiceTemplateSchema = z.object({
4
+ createdAt: z.iso.datetime(),
5
+ id: z.string(),
6
+ name: z.string().optional(),
7
+ object: z.literal("invoiceTemplate"),
8
+ updatedAt: z.iso.datetime().optional()
9
+ });
10
+ const InvoiceTemplateResponseSchema = InvoiceTemplateSchema;
11
+ const InvoiceTemplatesResponseSchema = z.object({
12
+ data: z.array(InvoiceTemplateSchema).nullable(),
13
+ nextToken: z.string().optional()
14
+ });
15
+ //#endregion
16
+ export { InvoiceTemplateResponseSchema, InvoiceTemplateSchema, InvoiceTemplatesResponseSchema };
17
+
18
+ //# sourceMappingURL=schema.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.mjs","names":[],"sources":["../../../../src/lib/modules/invoice-templates/schema.ts"],"sourcesContent":["import { z } from \"zod\";\n\n// ---------------------------------------------------------------------------\n// Base types\n// ---------------------------------------------------------------------------\n\nexport interface InvoiceTemplate {\n createdAt: string;\n id: string;\n name?: string;\n object: \"invoiceTemplate\";\n updatedAt?: string;\n}\n\nexport const InvoiceTemplateSchema: z.ZodType<InvoiceTemplate> = z.object({\n createdAt: z.iso.datetime(),\n id: z.string(),\n name: z.string().optional(),\n object: z.literal(\"invoiceTemplate\"),\n updatedAt: z.iso.datetime().optional(),\n});\n\n// ---------------------------------------------------------------------------\n// Response types\n// ---------------------------------------------------------------------------\n\nexport const InvoiceTemplateResponseSchema: z.ZodType<InvoiceTemplate> = InvoiceTemplateSchema;\nexport type InvoiceTemplateResponse = InvoiceTemplate;\n\nexport interface InvoiceTemplatesResponse {\n data: InvoiceTemplate[] | null;\n nextToken?: string;\n}\n\nexport const InvoiceTemplatesResponseSchema: z.ZodType<InvoiceTemplatesResponse> = z.object({\n data: z.array(InvoiceTemplateSchema).nullable(),\n nextToken: z.string().optional(),\n});\n"],"mappings":";;AAcA,MAAa,wBAAoD,EAAE,OAAO;CACxE,WAAW,EAAE,IAAI,UAAU;CAC3B,IAAI,EAAE,QAAQ;CACd,MAAM,EAAE,QAAQ,CAAC,UAAU;CAC3B,QAAQ,EAAE,QAAQ,kBAAkB;CACpC,WAAW,EAAE,IAAI,UAAU,CAAC,UAAU;CACvC,CAAC;AAMF,MAAa,gCAA4D;AAQzE,MAAa,iCAAsE,EAAE,OAAO;CAC1F,MAAM,EAAE,MAAM,sBAAsB,CAAC,UAAU;CAC/C,WAAW,EAAE,QAAQ,CAAC,UAAU;CACjC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { Transport } from "../../../transport/http.mjs";
2
+ import { ListArgs } from "../../pagination/paginate.mjs";
3
+ import { Invoice, InvoiceCreateRequest, InvoicesResponse } from "./schema.mjs";
4
+
5
+ //#region src/lib/modules/invoices/resource.d.ts
6
+ interface ListInvoicesArgs extends ListArgs {
7
+ clientId?: string;
8
+ status?: string;
9
+ }
10
+ declare class InvoicesResource {
11
+ #private;
12
+ constructor({
13
+ transport,
14
+ validateResponses
15
+ }: {
16
+ transport: Transport;
17
+ validateResponses: boolean;
18
+ });
19
+ /** Create an invoice. */
20
+ create(body: InvoiceCreateRequest): Promise<Invoice>;
21
+ /** List invoices with optional filters. */
22
+ list(args?: ListInvoicesArgs): Promise<InvoicesResponse>;
23
+ /** Retrieve a single invoice by ID. */
24
+ retrieve(id: string): Promise<Invoice>;
25
+ /** Iterate over all invoices, automatically paginating. Default limit per page: 500. */
26
+ listAll(args?: Omit<ListInvoicesArgs, "nextToken">): Promise<Invoice[]>;
27
+ }
28
+ //#endregion
29
+ export { InvoicesResource };
30
+ //# sourceMappingURL=resource.d.mts.map
@@ -0,0 +1,48 @@
1
+ import { buildSearchParams } from "../../../transport/build-search-params.mjs";
2
+ import { parseResponse } from "../../../transport/parse-response.mjs";
3
+ import { paginate } from "../../pagination/paginate.mjs";
4
+ import { InvoiceResponseSchema, InvoicesResponseSchema } from "./schema.mjs";
5
+ //#region src/lib/modules/invoices/resource.ts
6
+ var InvoicesResource = class {
7
+ #transport;
8
+ #validate;
9
+ constructor({ transport, validateResponses }) {
10
+ this.#transport = transport;
11
+ this.#validate = validateResponses;
12
+ }
13
+ /** Create an invoice. */
14
+ async create(body) {
15
+ return parseResponse({
16
+ schema: InvoiceResponseSchema,
17
+ data: await this.#transport.post("v1/invoices", body),
18
+ validate: this.#validate
19
+ });
20
+ }
21
+ /** List invoices with optional filters. */
22
+ async list(args = {}) {
23
+ return parseResponse({
24
+ schema: InvoicesResponseSchema,
25
+ data: await this.#transport.get("v1/invoices", { searchParams: buildSearchParams(args) }),
26
+ validate: this.#validate
27
+ });
28
+ }
29
+ /** Retrieve a single invoice by ID. */
30
+ async retrieve(id) {
31
+ return parseResponse({
32
+ schema: InvoiceResponseSchema,
33
+ data: await this.#transport.get(`v1/invoices/${id}`),
34
+ validate: this.#validate
35
+ });
36
+ }
37
+ /** Iterate over all invoices, automatically paginating. Default limit per page: 500. */
38
+ async listAll(args = {}) {
39
+ return paginate((listArgs) => this.list({
40
+ ...args,
41
+ ...listArgs
42
+ }), { limit: args.limit ?? 500 });
43
+ }
44
+ };
45
+ //#endregion
46
+ export { InvoicesResource };
47
+
48
+ //# sourceMappingURL=resource.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.mjs","names":["#transport","#validate"],"sources":["../../../../src/lib/modules/invoices/resource.ts"],"sourcesContent":["import { paginate } from \"src/lib/pagination\";\nimport type { ListArgs } from \"src/lib/pagination\";\nimport { buildSearchParams } from \"src/transport/build-search-params\";\nimport type { Transport } from \"src/transport/http\";\nimport { parseResponse } from \"src/transport/parse-response\";\n\nimport { InvoiceResponseSchema, InvoicesResponseSchema } from \"./schema\";\nimport type { Invoice, InvoiceCreateRequest, InvoicesResponse } from \"./schema\";\n\nexport interface ListInvoicesArgs extends ListArgs {\n clientId?: string;\n status?: string;\n}\n\nexport class InvoicesResource {\n readonly #transport: Transport;\n readonly #validate: boolean;\n\n constructor({\n transport,\n validateResponses,\n }: {\n transport: Transport;\n validateResponses: boolean;\n }) {\n this.#transport = transport;\n this.#validate = validateResponses;\n }\n\n /** Create an invoice. */\n async create(body: InvoiceCreateRequest): Promise<Invoice> {\n const raw = await this.#transport.post<unknown>(\"v1/invoices\", body);\n return parseResponse({ schema: InvoiceResponseSchema, data: raw, validate: this.#validate });\n }\n\n /** List invoices with optional filters. */\n async list(args: ListInvoicesArgs = {}): Promise<InvoicesResponse> {\n const raw = await this.#transport.get<unknown>(\"v1/invoices\", {\n searchParams: buildSearchParams(args),\n });\n return parseResponse({ schema: InvoicesResponseSchema, data: raw, validate: this.#validate });\n }\n\n /** Retrieve a single invoice by ID. */\n async retrieve(id: string): Promise<Invoice> {\n const raw = await this.#transport.get<unknown>(`v1/invoices/${id}`);\n return parseResponse({ schema: InvoiceResponseSchema, data: raw, validate: this.#validate });\n }\n\n /** Iterate over all invoices, automatically paginating. Default limit per page: 500. */\n async listAll(args: Omit<ListInvoicesArgs, \"nextToken\"> = {}): Promise<Invoice[]> {\n return paginate((listArgs) => this.list({ ...args, ...listArgs }), {\n limit: args.limit ?? 500,\n });\n }\n}\n"],"mappings":";;;;;AAcA,IAAa,mBAAb,MAA8B;CAC5B;CACA;CAEA,YAAY,EACV,WACA,qBAIC;AACD,QAAA,YAAkB;AAClB,QAAA,WAAiB;;;CAInB,MAAM,OAAO,MAA8C;AAEzD,SAAO,cAAc;GAAE,QAAQ;GAAuB,MAAM,MAD1C,MAAA,UAAgB,KAAc,eAAe,KAAK;GACH,UAAU,MAAA;GAAgB,CAAC;;;CAI9F,MAAM,KAAK,OAAyB,EAAE,EAA6B;AAIjE,SAAO,cAAc;GAAE,QAAQ;GAAwB,MAAM,MAH3C,MAAA,UAAgB,IAAa,eAAe,EAC5D,cAAc,kBAAkB,KAAK,EACtC,CAAC;GACgE,UAAU,MAAA;GAAgB,CAAC;;;CAI/F,MAAM,SAAS,IAA8B;AAE3C,SAAO,cAAc;GAAE,QAAQ;GAAuB,MAAM,MAD1C,MAAA,UAAgB,IAAa,eAAe,KAAK;GACF,UAAU,MAAA;GAAgB,CAAC;;;CAI9F,MAAM,QAAQ,OAA4C,EAAE,EAAsB;AAChF,SAAO,UAAU,aAAa,KAAK,KAAK;GAAE,GAAG;GAAM,GAAG;GAAU,CAAC,EAAE,EACjE,OAAO,KAAK,SAAS,KACtB,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/lib/modules/invoices/schema.d.ts
4
+ type InvoiceStatus = "draft" | "open" | "paid" | "void";
5
+ declare const InvoiceStatusSchema: z.ZodType<InvoiceStatus>;
6
+ interface InvoiceLineItem {
7
+ amount?: number;
8
+ description?: string;
9
+ priceId?: string;
10
+ productId?: string;
11
+ quantity?: number;
12
+ }
13
+ declare const InvoiceLineItemSchema: z.ZodType<InvoiceLineItem>;
14
+ type PaymentMethodType = "bankAccount" | "creditCard";
15
+ declare const PaymentMethodTypeSchema: z.ZodType<PaymentMethodType>;
16
+ interface PaymentMethodPreference {
17
+ feePaidByClient?: boolean;
18
+ type?: PaymentMethodType;
19
+ }
20
+ declare const PaymentMethodPreferenceSchema: z.ZodType<PaymentMethodPreference>;
21
+ interface Invoice {
22
+ billingReason?: string;
23
+ clientId?: string;
24
+ collectionMethod?: string;
25
+ companyId?: string;
26
+ createdAt: string;
27
+ currency?: string;
28
+ dueDate?: string;
29
+ fileUrl?: string;
30
+ id: string;
31
+ lineItems?: InvoiceLineItem[];
32
+ memo?: string;
33
+ number?: string;
34
+ object: "invoice";
35
+ paymentMethodPreferences?: PaymentMethodPreference[];
36
+ paymentSuccessDate?: string | null;
37
+ receiptNumber?: string;
38
+ receiptUrl?: string;
39
+ /** @deprecated Use `clientId`/`companyId` instead. */
40
+ recipientId?: string;
41
+ sentDate?: string;
42
+ status?: InvoiceStatus;
43
+ taxAmount?: number;
44
+ taxPercentage?: number;
45
+ total?: number;
46
+ updatedAt?: string;
47
+ }
48
+ declare const InvoiceSchema: z.ZodType<Invoice>;
49
+ declare const InvoiceResponseSchema: z.ZodType<Invoice>;
50
+ type InvoiceResponse = Invoice;
51
+ interface InvoicesResponse {
52
+ data: Invoice[] | null;
53
+ nextToken?: string;
54
+ }
55
+ declare const InvoicesResponseSchema: z.ZodType<InvoicesResponse>;
56
+ interface InvoiceLineItemRequest {
57
+ amount: number;
58
+ description: string;
59
+ priceId: string;
60
+ productId: string;
61
+ quantity: number;
62
+ }
63
+ declare const InvoiceLineItemRequestSchema: z.ZodType<InvoiceLineItemRequest>;
64
+ interface InvoicePaymentMethodPreferenceRequest {
65
+ feePaidByClient?: boolean;
66
+ type: string;
67
+ }
68
+ declare const InvoicePaymentMethodPreferenceRequestSchema: z.ZodType<InvoicePaymentMethodPreferenceRequest>;
69
+ interface InvoiceCreateRequest {
70
+ clientId: string;
71
+ companyId?: string;
72
+ currency?: string;
73
+ dueDate?: string;
74
+ lineItems: InvoiceLineItemRequest[];
75
+ memo?: string;
76
+ paymentMethodPreferences?: InvoicePaymentMethodPreferenceRequest[];
77
+ }
78
+ declare const InvoiceCreateRequestSchema: z.ZodType<InvoiceCreateRequest>;
79
+ //#endregion
80
+ export { Invoice, InvoiceCreateRequest, InvoiceCreateRequestSchema, InvoiceLineItem, InvoiceLineItemRequest, InvoiceLineItemRequestSchema, InvoiceLineItemSchema, InvoicePaymentMethodPreferenceRequest, InvoicePaymentMethodPreferenceRequestSchema, InvoiceResponse, InvoiceResponseSchema, InvoiceSchema, InvoiceStatus, InvoiceStatusSchema, InvoicesResponse, InvoicesResponseSchema, PaymentMethodPreference, PaymentMethodPreferenceSchema, PaymentMethodType, PaymentMethodTypeSchema };
81
+ //# sourceMappingURL=schema.d.mts.map
@@ -0,0 +1,75 @@
1
+ import { z } from "zod";
2
+ //#region src/lib/modules/invoices/schema.ts
3
+ const InvoiceStatusSchema = z.enum([
4
+ "draft",
5
+ "open",
6
+ "paid",
7
+ "void"
8
+ ]);
9
+ const InvoiceLineItemSchema = z.object({
10
+ amount: z.number().optional(),
11
+ description: z.string().optional(),
12
+ priceId: z.string().optional(),
13
+ productId: z.string().optional(),
14
+ quantity: z.number().optional()
15
+ });
16
+ const PaymentMethodTypeSchema = z.enum(["creditCard", "bankAccount"]);
17
+ const PaymentMethodPreferenceSchema = z.object({
18
+ feePaidByClient: z.boolean().optional(),
19
+ type: PaymentMethodTypeSchema.optional()
20
+ });
21
+ const InvoiceSchema = z.object({
22
+ billingReason: z.string().optional(),
23
+ clientId: z.string().optional(),
24
+ collectionMethod: z.string().optional(),
25
+ companyId: z.string().optional(),
26
+ createdAt: z.iso.datetime(),
27
+ currency: z.string().optional(),
28
+ dueDate: z.string().optional(),
29
+ fileUrl: z.string().optional(),
30
+ id: z.string(),
31
+ lineItems: z.array(InvoiceLineItemSchema).optional(),
32
+ memo: z.string().optional(),
33
+ number: z.string().optional(),
34
+ object: z.literal("invoice"),
35
+ paymentMethodPreferences: z.array(PaymentMethodPreferenceSchema).optional(),
36
+ paymentSuccessDate: z.string().nullable().optional(),
37
+ receiptNumber: z.string().optional(),
38
+ receiptUrl: z.string().optional(),
39
+ recipientId: z.string().optional(),
40
+ sentDate: z.string().optional(),
41
+ status: InvoiceStatusSchema.optional(),
42
+ taxAmount: z.number().optional(),
43
+ taxPercentage: z.number().optional(),
44
+ total: z.number().optional(),
45
+ updatedAt: z.iso.datetime().optional()
46
+ });
47
+ const InvoiceResponseSchema = InvoiceSchema;
48
+ const InvoicesResponseSchema = z.object({
49
+ data: z.array(InvoiceSchema).nullable(),
50
+ nextToken: z.string().optional()
51
+ });
52
+ const InvoiceLineItemRequestSchema = z.object({
53
+ amount: z.number(),
54
+ description: z.string(),
55
+ priceId: z.string(),
56
+ productId: z.string(),
57
+ quantity: z.number()
58
+ });
59
+ const InvoicePaymentMethodPreferenceRequestSchema = z.object({
60
+ feePaidByClient: z.boolean().optional(),
61
+ type: z.string()
62
+ });
63
+ const InvoiceCreateRequestSchema = z.object({
64
+ clientId: z.string(),
65
+ companyId: z.string().optional(),
66
+ currency: z.string().optional(),
67
+ dueDate: z.string().optional(),
68
+ lineItems: z.array(InvoiceLineItemRequestSchema),
69
+ memo: z.string().optional(),
70
+ paymentMethodPreferences: z.array(InvoicePaymentMethodPreferenceRequestSchema).optional()
71
+ });
72
+ //#endregion
73
+ export { InvoiceCreateRequestSchema, InvoiceLineItemRequestSchema, InvoiceLineItemSchema, InvoicePaymentMethodPreferenceRequestSchema, InvoiceResponseSchema, InvoiceSchema, InvoiceStatusSchema, InvoicesResponseSchema, PaymentMethodPreferenceSchema, PaymentMethodTypeSchema };
74
+
75
+ //# sourceMappingURL=schema.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.mjs","names":[],"sources":["../../../../src/lib/modules/invoices/schema.ts"],"sourcesContent":["import { z } from \"zod\";\n\n// ---------------------------------------------------------------------------\n// Base types\n// ---------------------------------------------------------------------------\n\nexport type InvoiceStatus = \"draft\" | \"open\" | \"paid\" | \"void\";\n\nexport const InvoiceStatusSchema: z.ZodType<InvoiceStatus> = z.enum([\n \"draft\",\n \"open\",\n \"paid\",\n \"void\",\n]);\n\nexport interface InvoiceLineItem {\n amount?: number;\n description?: string;\n priceId?: string;\n productId?: string;\n quantity?: number;\n}\n\nexport const InvoiceLineItemSchema: z.ZodType<InvoiceLineItem> = z.object({\n amount: z.number().optional(),\n description: z.string().optional(),\n priceId: z.string().optional(),\n productId: z.string().optional(),\n quantity: z.number().optional(),\n});\n\nexport type PaymentMethodType = \"bankAccount\" | \"creditCard\";\n\nexport const PaymentMethodTypeSchema: z.ZodType<PaymentMethodType> = z.enum([\n \"creditCard\",\n \"bankAccount\",\n]);\n\nexport interface PaymentMethodPreference {\n feePaidByClient?: boolean;\n type?: PaymentMethodType;\n}\n\nexport const PaymentMethodPreferenceSchema: z.ZodType<PaymentMethodPreference> = z.object({\n feePaidByClient: z.boolean().optional(),\n type: PaymentMethodTypeSchema.optional(),\n});\n\nexport interface Invoice {\n billingReason?: string;\n clientId?: string;\n collectionMethod?: string;\n companyId?: string;\n createdAt: string;\n currency?: string;\n dueDate?: string;\n fileUrl?: string;\n id: string;\n lineItems?: InvoiceLineItem[];\n memo?: string;\n number?: string;\n object: \"invoice\";\n paymentMethodPreferences?: PaymentMethodPreference[];\n paymentSuccessDate?: string | null;\n receiptNumber?: string;\n receiptUrl?: string;\n /** @deprecated Use `clientId`/`companyId` instead. */\n recipientId?: string;\n sentDate?: string;\n status?: InvoiceStatus;\n taxAmount?: number;\n taxPercentage?: number;\n total?: number;\n updatedAt?: string;\n}\n\nexport const InvoiceSchema: z.ZodType<Invoice> = z.object({\n billingReason: z.string().optional(),\n clientId: z.string().optional(),\n collectionMethod: z.string().optional(),\n companyId: z.string().optional(),\n createdAt: z.iso.datetime(),\n currency: z.string().optional(),\n dueDate: z.string().optional(),\n fileUrl: z.string().optional(),\n id: z.string(),\n lineItems: z.array(InvoiceLineItemSchema).optional(),\n memo: z.string().optional(),\n number: z.string().optional(),\n object: z.literal(\"invoice\"),\n paymentMethodPreferences: z.array(PaymentMethodPreferenceSchema).optional(),\n paymentSuccessDate: z.string().nullable().optional(),\n receiptNumber: z.string().optional(),\n receiptUrl: z.string().optional(),\n recipientId: z.string().optional(),\n sentDate: z.string().optional(),\n status: InvoiceStatusSchema.optional(),\n taxAmount: z.number().optional(),\n taxPercentage: z.number().optional(),\n total: z.number().optional(),\n updatedAt: z.iso.datetime().optional(),\n});\n\n// ---------------------------------------------------------------------------\n// Response types\n// ---------------------------------------------------------------------------\n\nexport const InvoiceResponseSchema: z.ZodType<Invoice> = InvoiceSchema;\nexport type InvoiceResponse = Invoice;\n\nexport interface InvoicesResponse {\n data: Invoice[] | null;\n nextToken?: string;\n}\n\nexport const InvoicesResponseSchema: z.ZodType<InvoicesResponse> = z.object({\n data: z.array(InvoiceSchema).nullable(),\n nextToken: z.string().optional(),\n});\n\n// ---------------------------------------------------------------------------\n// Request types\n// ---------------------------------------------------------------------------\n\nexport interface InvoiceLineItemRequest {\n amount: number;\n description: string;\n priceId: string;\n productId: string;\n quantity: number;\n}\n\nexport const InvoiceLineItemRequestSchema: z.ZodType<InvoiceLineItemRequest> = z.object({\n amount: z.number(),\n description: z.string(),\n priceId: z.string(),\n productId: z.string(),\n quantity: z.number(),\n});\n\nexport interface InvoicePaymentMethodPreferenceRequest {\n feePaidByClient?: boolean;\n type: string;\n}\n\nexport const InvoicePaymentMethodPreferenceRequestSchema: z.ZodType<InvoicePaymentMethodPreferenceRequest> =\n z.object({\n feePaidByClient: z.boolean().optional(),\n type: z.string(),\n });\n\nexport interface InvoiceCreateRequest {\n clientId: string;\n companyId?: string;\n currency?: string;\n dueDate?: string;\n lineItems: InvoiceLineItemRequest[];\n memo?: string;\n paymentMethodPreferences?: InvoicePaymentMethodPreferenceRequest[];\n}\n\nexport const InvoiceCreateRequestSchema: z.ZodType<InvoiceCreateRequest> = z.object({\n clientId: z.string(),\n companyId: z.string().optional(),\n currency: z.string().optional(),\n dueDate: z.string().optional(),\n lineItems: z.array(InvoiceLineItemRequestSchema),\n memo: z.string().optional(),\n paymentMethodPreferences: z.array(InvoicePaymentMethodPreferenceRequestSchema).optional(),\n});\n"],"mappings":";;AAQA,MAAa,sBAAgD,EAAE,KAAK;CAClE;CACA;CACA;CACA;CACD,CAAC;AAUF,MAAa,wBAAoD,EAAE,OAAO;CACxE,QAAQ,EAAE,QAAQ,CAAC,UAAU;CAC7B,aAAa,EAAE,QAAQ,CAAC,UAAU;CAClC,SAAS,EAAE,QAAQ,CAAC,UAAU;CAC9B,WAAW,EAAE,QAAQ,CAAC,UAAU;CAChC,UAAU,EAAE,QAAQ,CAAC,UAAU;CAChC,CAAC;AAIF,MAAa,0BAAwD,EAAE,KAAK,CAC1E,cACA,cACD,CAAC;AAOF,MAAa,gCAAoE,EAAE,OAAO;CACxF,iBAAiB,EAAE,SAAS,CAAC,UAAU;CACvC,MAAM,wBAAwB,UAAU;CACzC,CAAC;AA8BF,MAAa,gBAAoC,EAAE,OAAO;CACxD,eAAe,EAAE,QAAQ,CAAC,UAAU;CACpC,UAAU,EAAE,QAAQ,CAAC,UAAU;CAC/B,kBAAkB,EAAE,QAAQ,CAAC,UAAU;CACvC,WAAW,EAAE,QAAQ,CAAC,UAAU;CAChC,WAAW,EAAE,IAAI,UAAU;CAC3B,UAAU,EAAE,QAAQ,CAAC,UAAU;CAC/B,SAAS,EAAE,QAAQ,CAAC,UAAU;CAC9B,SAAS,EAAE,QAAQ,CAAC,UAAU;CAC9B,IAAI,EAAE,QAAQ;CACd,WAAW,EAAE,MAAM,sBAAsB,CAAC,UAAU;CACpD,MAAM,EAAE,QAAQ,CAAC,UAAU;CAC3B,QAAQ,EAAE,QAAQ,CAAC,UAAU;CAC7B,QAAQ,EAAE,QAAQ,UAAU;CAC5B,0BAA0B,EAAE,MAAM,8BAA8B,CAAC,UAAU;CAC3E,oBAAoB,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU;CACpD,eAAe,EAAE,QAAQ,CAAC,UAAU;CACpC,YAAY,EAAE,QAAQ,CAAC,UAAU;CACjC,aAAa,EAAE,QAAQ,CAAC,UAAU;CAClC,UAAU,EAAE,QAAQ,CAAC,UAAU;CAC/B,QAAQ,oBAAoB,UAAU;CACtC,WAAW,EAAE,QAAQ,CAAC,UAAU;CAChC,eAAe,EAAE,QAAQ,CAAC,UAAU;CACpC,OAAO,EAAE,QAAQ,CAAC,UAAU;CAC5B,WAAW,EAAE,IAAI,UAAU,CAAC,UAAU;CACvC,CAAC;AAMF,MAAa,wBAA4C;AAQzD,MAAa,yBAAsD,EAAE,OAAO;CAC1E,MAAM,EAAE,MAAM,cAAc,CAAC,UAAU;CACvC,WAAW,EAAE,QAAQ,CAAC,UAAU;CACjC,CAAC;AAcF,MAAa,+BAAkE,EAAE,OAAO;CACtF,QAAQ,EAAE,QAAQ;CAClB,aAAa,EAAE,QAAQ;CACvB,SAAS,EAAE,QAAQ;CACnB,WAAW,EAAE,QAAQ;CACrB,UAAU,EAAE,QAAQ;CACrB,CAAC;AAOF,MAAa,8CACX,EAAE,OAAO;CACP,iBAAiB,EAAE,SAAS,CAAC,UAAU;CACvC,MAAM,EAAE,QAAQ;CACjB,CAAC;AAYJ,MAAa,6BAA8D,EAAE,OAAO;CAClF,UAAU,EAAE,QAAQ;CACpB,WAAW,EAAE,QAAQ,CAAC,UAAU;CAChC,UAAU,EAAE,QAAQ,CAAC,UAAU;CAC/B,SAAS,EAAE,QAAQ,CAAC,UAAU;CAC9B,WAAW,EAAE,MAAM,6BAA6B;CAChD,MAAM,EAAE,QAAQ,CAAC,UAAU;CAC3B,0BAA0B,EAAE,MAAM,4CAA4C,CAAC,UAAU;CAC1F,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { Transport } from "../../../transport/http.mjs";
2
+ import { ListArgs } from "../../pagination/paginate.mjs";
3
+ import { MessageChannel, MessageChannelCreateRequest, MessageChannelsResponse } from "./schema.mjs";
4
+
5
+ //#region src/lib/modules/message-channels/resource.d.ts
6
+ declare class MessageChannelsResource {
7
+ #private;
8
+ constructor({
9
+ transport,
10
+ validateResponses
11
+ }: {
12
+ transport: Transport;
13
+ validateResponses: boolean;
14
+ });
15
+ /** Create a message channel. */
16
+ create(body: MessageChannelCreateRequest): Promise<MessageChannel>;
17
+ /** List message channels. */
18
+ list(args?: ListArgs): Promise<MessageChannelsResponse>;
19
+ /** Retrieve a single message channel by ID. */
20
+ retrieve(id: string): Promise<MessageChannel>;
21
+ /** Iterate over all message channels, automatically paginating. Default limit per page: 500. */
22
+ listAll(args?: Omit<ListArgs, "nextToken">): Promise<MessageChannel[]>;
23
+ }
24
+ //#endregion
25
+ export { MessageChannelsResource };
26
+ //# sourceMappingURL=resource.d.mts.map
@@ -0,0 +1,48 @@
1
+ import { buildSearchParams } from "../../../transport/build-search-params.mjs";
2
+ import { parseResponse } from "../../../transport/parse-response.mjs";
3
+ import { paginate } from "../../pagination/paginate.mjs";
4
+ import { MessageChannelResponseSchema, MessageChannelsResponseSchema } from "./schema.mjs";
5
+ //#region src/lib/modules/message-channels/resource.ts
6
+ var MessageChannelsResource = class {
7
+ #transport;
8
+ #validate;
9
+ constructor({ transport, validateResponses }) {
10
+ this.#transport = transport;
11
+ this.#validate = validateResponses;
12
+ }
13
+ /** Create a message channel. */
14
+ async create(body) {
15
+ return parseResponse({
16
+ schema: MessageChannelResponseSchema,
17
+ data: await this.#transport.post("v1/message-channels", body),
18
+ validate: this.#validate
19
+ });
20
+ }
21
+ /** List message channels. */
22
+ async list(args = {}) {
23
+ return parseResponse({
24
+ schema: MessageChannelsResponseSchema,
25
+ data: await this.#transport.get("v1/message-channels", { searchParams: buildSearchParams(args) }),
26
+ validate: this.#validate
27
+ });
28
+ }
29
+ /** Retrieve a single message channel by ID. */
30
+ async retrieve(id) {
31
+ return parseResponse({
32
+ schema: MessageChannelResponseSchema,
33
+ data: await this.#transport.get(`v1/message-channels/${id}`),
34
+ validate: this.#validate
35
+ });
36
+ }
37
+ /** Iterate over all message channels, automatically paginating. Default limit per page: 500. */
38
+ async listAll(args = {}) {
39
+ return paginate((listArgs) => this.list({
40
+ ...args,
41
+ ...listArgs
42
+ }), { limit: args.limit ?? 500 });
43
+ }
44
+ };
45
+ //#endregion
46
+ export { MessageChannelsResource };
47
+
48
+ //# sourceMappingURL=resource.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.mjs","names":["#transport","#validate"],"sources":["../../../../src/lib/modules/message-channels/resource.ts"],"sourcesContent":["import { paginate } from \"src/lib/pagination\";\nimport type { ListArgs } from \"src/lib/pagination\";\nimport { buildSearchParams } from \"src/transport/build-search-params\";\nimport type { Transport } from \"src/transport/http\";\nimport { parseResponse } from \"src/transport/parse-response\";\n\nimport { MessageChannelResponseSchema, MessageChannelsResponseSchema } from \"./schema\";\nimport type {\n MessageChannel,\n MessageChannelCreateRequest,\n MessageChannelsResponse,\n} from \"./schema\";\n\nexport class MessageChannelsResource {\n readonly #transport: Transport;\n readonly #validate: boolean;\n\n constructor({\n transport,\n validateResponses,\n }: {\n transport: Transport;\n validateResponses: boolean;\n }) {\n this.#transport = transport;\n this.#validate = validateResponses;\n }\n\n /** Create a message channel. */\n async create(body: MessageChannelCreateRequest): Promise<MessageChannel> {\n const raw: unknown = await this.#transport.post(\"v1/message-channels\", body);\n return parseResponse({\n schema: MessageChannelResponseSchema,\n data: raw,\n validate: this.#validate,\n });\n }\n\n /** List message channels. */\n async list(args: ListArgs = {}): Promise<MessageChannelsResponse> {\n const raw: unknown = await this.#transport.get(\"v1/message-channels\", {\n searchParams: buildSearchParams(args),\n });\n return parseResponse({\n schema: MessageChannelsResponseSchema,\n data: raw,\n validate: this.#validate,\n });\n }\n\n /** Retrieve a single message channel by ID. */\n async retrieve(id: string): Promise<MessageChannel> {\n const raw: unknown = await this.#transport.get(`v1/message-channels/${id}`);\n return parseResponse({\n schema: MessageChannelResponseSchema,\n data: raw,\n validate: this.#validate,\n });\n }\n\n /** Iterate over all message channels, automatically paginating. Default limit per page: 500. */\n async listAll(args: Omit<ListArgs, \"nextToken\"> = {}): Promise<MessageChannel[]> {\n return paginate((listArgs) => this.list({ ...args, ...listArgs }), {\n limit: args.limit ?? 500,\n });\n }\n}\n"],"mappings":";;;;;AAaA,IAAa,0BAAb,MAAqC;CACnC;CACA;CAEA,YAAY,EACV,WACA,qBAIC;AACD,QAAA,YAAkB;AAClB,QAAA,WAAiB;;;CAInB,MAAM,OAAO,MAA4D;AAEvE,SAAO,cAAc;GACnB,QAAQ;GACR,MAAM,MAHmB,MAAA,UAAgB,KAAK,uBAAuB,KAAK;GAI1E,UAAU,MAAA;GACX,CAAC;;;CAIJ,MAAM,KAAK,OAAiB,EAAE,EAAoC;AAIhE,SAAO,cAAc;GACnB,QAAQ;GACR,MAAM,MALmB,MAAA,UAAgB,IAAI,uBAAuB,EACpE,cAAc,kBAAkB,KAAK,EACtC,CAAC;GAIA,UAAU,MAAA;GACX,CAAC;;;CAIJ,MAAM,SAAS,IAAqC;AAElD,SAAO,cAAc;GACnB,QAAQ;GACR,MAAM,MAHmB,MAAA,UAAgB,IAAI,uBAAuB,KAAK;GAIzE,UAAU,MAAA;GACX,CAAC;;;CAIJ,MAAM,QAAQ,OAAoC,EAAE,EAA6B;AAC/E,SAAO,UAAU,aAAa,KAAK,KAAK;GAAE,GAAG;GAAM,GAAG;GAAU,CAAC,EAAE,EACjE,OAAO,KAAK,SAAS,KACtB,CAAC"}