@37signals/basecamp 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/README.md +600 -0
  2. package/dist/auth-strategy.d.ts +36 -0
  3. package/dist/auth-strategy.d.ts.map +1 -0
  4. package/dist/auth-strategy.js +33 -0
  5. package/dist/auth-strategy.js.map +1 -0
  6. package/dist/client.d.ts +224 -0
  7. package/dist/client.d.ts.map +1 -0
  8. package/dist/client.js +715 -0
  9. package/dist/client.js.map +1 -0
  10. package/dist/errors.d.ts +137 -0
  11. package/dist/errors.d.ts.map +1 -0
  12. package/dist/errors.js +269 -0
  13. package/dist/errors.js.map +1 -0
  14. package/dist/generated/metadata.json +2281 -0
  15. package/dist/generated/openapi-stripped.json +21268 -0
  16. package/dist/generated/path-mapping.d.ts +8 -0
  17. package/dist/generated/path-mapping.d.ts.map +1 -0
  18. package/dist/generated/path-mapping.js +192 -0
  19. package/dist/generated/path-mapping.js.map +1 -0
  20. package/dist/generated/path-mapping.ts +199 -0
  21. package/dist/generated/schema.d.ts +14883 -0
  22. package/dist/generated/services/attachments.d.ts +27 -0
  23. package/dist/generated/services/attachments.d.ts.map +1 -0
  24. package/dist/generated/services/attachments.js +49 -0
  25. package/dist/generated/services/attachments.js.map +1 -0
  26. package/dist/generated/services/attachments.ts +59 -0
  27. package/dist/generated/services/boosts.d.ts +114 -0
  28. package/dist/generated/services/boosts.d.ts.map +1 -0
  29. package/dist/generated/services/boosts.js +179 -0
  30. package/dist/generated/services/boosts.js.map +1 -0
  31. package/dist/generated/services/boosts.ts +250 -0
  32. package/dist/generated/services/campfires.d.ts +202 -0
  33. package/dist/generated/services/campfires.d.ts.map +1 -0
  34. package/dist/generated/services/campfires.js +309 -0
  35. package/dist/generated/services/campfires.js.map +1 -0
  36. package/dist/generated/services/campfires.ts +433 -0
  37. package/dist/generated/services/card-columns.d.ts +163 -0
  38. package/dist/generated/services/card-columns.d.ts.map +1 -0
  39. package/dist/generated/services/card-columns.js +264 -0
  40. package/dist/generated/services/card-columns.js.map +1 -0
  41. package/dist/generated/services/card-columns.ts +360 -0
  42. package/dist/generated/services/card-steps.d.ts +105 -0
  43. package/dist/generated/services/card-steps.d.ts.map +1 -0
  44. package/dist/generated/services/card-steps.js +148 -0
  45. package/dist/generated/services/card-steps.js.map +1 -0
  46. package/dist/generated/services/card-steps.ts +221 -0
  47. package/dist/generated/services/card-tables.d.ts +27 -0
  48. package/dist/generated/services/card-tables.d.ts.map +1 -0
  49. package/dist/generated/services/card-tables.js +40 -0
  50. package/dist/generated/services/card-tables.js.map +1 -0
  51. package/dist/generated/services/card-tables.ts +55 -0
  52. package/dist/generated/services/cards.d.ts +118 -0
  53. package/dist/generated/services/cards.d.ts.map +1 -0
  54. package/dist/generated/services/cards.js +166 -0
  55. package/dist/generated/services/cards.js.map +1 -0
  56. package/dist/generated/services/cards.ts +247 -0
  57. package/dist/generated/services/checkins.d.ts +278 -0
  58. package/dist/generated/services/checkins.d.ts.map +1 -0
  59. package/dist/generated/services/checkins.js +420 -0
  60. package/dist/generated/services/checkins.js.map +1 -0
  61. package/dist/generated/services/checkins.ts +600 -0
  62. package/dist/generated/services/client-approvals.d.ts +45 -0
  63. package/dist/generated/services/client-approvals.d.ts.map +1 -0
  64. package/dist/generated/services/client-approvals.js +58 -0
  65. package/dist/generated/services/client-approvals.js.map +1 -0
  66. package/dist/generated/services/client-approvals.ts +89 -0
  67. package/dist/generated/services/client-correspondences.d.ts +45 -0
  68. package/dist/generated/services/client-correspondences.d.ts.map +1 -0
  69. package/dist/generated/services/client-correspondences.js +58 -0
  70. package/dist/generated/services/client-correspondences.js.map +1 -0
  71. package/dist/generated/services/client-correspondences.ts +89 -0
  72. package/dist/generated/services/client-replies.d.ts +47 -0
  73. package/dist/generated/services/client-replies.d.ts.map +1 -0
  74. package/dist/generated/services/client-replies.js +65 -0
  75. package/dist/generated/services/client-replies.js.map +1 -0
  76. package/dist/generated/services/client-replies.ts +95 -0
  77. package/dist/generated/services/client-visibility.d.ts +35 -0
  78. package/dist/generated/services/client-visibility.d.ts.map +1 -0
  79. package/dist/generated/services/client-visibility.js +44 -0
  80. package/dist/generated/services/client-visibility.js.map +1 -0
  81. package/dist/generated/services/client-visibility.ts +68 -0
  82. package/dist/generated/services/comments.d.ts +86 -0
  83. package/dist/generated/services/comments.d.ts.map +1 -0
  84. package/dist/generated/services/comments.js +129 -0
  85. package/dist/generated/services/comments.js.map +1 -0
  86. package/dist/generated/services/comments.ts +185 -0
  87. package/dist/generated/services/documents.d.ts +92 -0
  88. package/dist/generated/services/documents.d.ts.map +1 -0
  89. package/dist/generated/services/documents.js +129 -0
  90. package/dist/generated/services/documents.js.map +1 -0
  91. package/dist/generated/services/documents.ts +191 -0
  92. package/dist/generated/services/events.d.ts +34 -0
  93. package/dist/generated/services/events.d.ts.map +1 -0
  94. package/dist/generated/services/events.js +39 -0
  95. package/dist/generated/services/events.js.map +1 -0
  96. package/dist/generated/services/events.ts +64 -0
  97. package/dist/generated/services/forwards.d.ts +112 -0
  98. package/dist/generated/services/forwards.d.ts.map +1 -0
  99. package/dist/generated/services/forwards.js +172 -0
  100. package/dist/generated/services/forwards.js.map +1 -0
  101. package/dist/generated/services/forwards.ts +241 -0
  102. package/dist/generated/services/index.d.ts +39 -0
  103. package/dist/generated/services/index.d.ts.map +1 -0
  104. package/dist/generated/services/index.js +39 -0
  105. package/dist/generated/services/index.js.map +1 -0
  106. package/dist/generated/services/index.ts +38 -0
  107. package/dist/generated/services/lineup.d.ts +67 -0
  108. package/dist/generated/services/lineup.d.ts.map +1 -0
  109. package/dist/generated/services/lineup.js +99 -0
  110. package/dist/generated/services/lineup.js.map +1 -0
  111. package/dist/generated/services/lineup.ts +143 -0
  112. package/dist/generated/services/message-boards.d.ts +27 -0
  113. package/dist/generated/services/message-boards.d.ts.map +1 -0
  114. package/dist/generated/services/message-boards.js +40 -0
  115. package/dist/generated/services/message-boards.js.map +1 -0
  116. package/dist/generated/services/message-boards.ts +55 -0
  117. package/dist/generated/services/message-types.d.ts +100 -0
  118. package/dist/generated/services/message-types.d.ts.map +1 -0
  119. package/dist/generated/services/message-types.js +144 -0
  120. package/dist/generated/services/message-types.js.map +1 -0
  121. package/dist/generated/services/message-types.ts +210 -0
  122. package/dist/generated/services/messages.d.ts +122 -0
  123. package/dist/generated/services/messages.d.ts.map +1 -0
  124. package/dist/generated/services/messages.js +180 -0
  125. package/dist/generated/services/messages.js.map +1 -0
  126. package/dist/generated/services/messages.ts +258 -0
  127. package/dist/generated/services/people.d.ts +122 -0
  128. package/dist/generated/services/people.d.ts.map +1 -0
  129. package/dist/generated/services/people.js +167 -0
  130. package/dist/generated/services/people.js.map +1 -0
  131. package/dist/generated/services/people.ts +252 -0
  132. package/dist/generated/services/projects.d.ts +109 -0
  133. package/dist/generated/services/projects.d.ts.map +1 -0
  134. package/dist/generated/services/projects.js +153 -0
  135. package/dist/generated/services/projects.js.map +1 -0
  136. package/dist/generated/services/projects.ts +224 -0
  137. package/dist/generated/services/recordings.d.ts +93 -0
  138. package/dist/generated/services/recordings.d.ts.map +1 -0
  139. package/dist/generated/services/recordings.js +138 -0
  140. package/dist/generated/services/recordings.js.map +1 -0
  141. package/dist/generated/services/recordings.ts +191 -0
  142. package/dist/generated/services/reports.d.ts +90 -0
  143. package/dist/generated/services/reports.d.ts.map +1 -0
  144. package/dist/generated/services/reports.js +124 -0
  145. package/dist/generated/services/reports.js.map +1 -0
  146. package/dist/generated/services/reports.ts +187 -0
  147. package/dist/generated/services/schedules.d.ts +162 -0
  148. package/dist/generated/services/schedules.d.ts.map +1 -0
  149. package/dist/generated/services/schedules.js +228 -0
  150. package/dist/generated/services/schedules.js.map +1 -0
  151. package/dist/generated/services/schedules.ts +335 -0
  152. package/dist/generated/services/search.d.ts +45 -0
  153. package/dist/generated/services/search.d.ts.map +1 -0
  154. package/dist/generated/services/search.js +56 -0
  155. package/dist/generated/services/search.js.map +1 -0
  156. package/dist/generated/services/search.ts +89 -0
  157. package/dist/generated/services/subscriptions.d.ts +73 -0
  158. package/dist/generated/services/subscriptions.d.ts.map +1 -0
  159. package/dist/generated/services/subscriptions.js +119 -0
  160. package/dist/generated/services/subscriptions.js.map +1 -0
  161. package/dist/generated/services/subscriptions.ts +160 -0
  162. package/dist/generated/services/templates.d.ts +140 -0
  163. package/dist/generated/services/templates.d.ts.map +1 -0
  164. package/dist/generated/services/templates.js +207 -0
  165. package/dist/generated/services/templates.js.map +1 -0
  166. package/dist/generated/services/templates.ts +294 -0
  167. package/dist/generated/services/timeline.d.ts +31 -0
  168. package/dist/generated/services/timeline.d.ts.map +1 -0
  169. package/dist/generated/services/timeline.js +39 -0
  170. package/dist/generated/services/timeline.js.map +1 -0
  171. package/dist/generated/services/timeline.ts +62 -0
  172. package/dist/generated/services/timesheets.d.ts +145 -0
  173. package/dist/generated/services/timesheets.d.ts.map +1 -0
  174. package/dist/generated/services/timesheets.js +186 -0
  175. package/dist/generated/services/timesheets.js.map +1 -0
  176. package/dist/generated/services/timesheets.ts +289 -0
  177. package/dist/generated/services/todolist-groups.d.ts +74 -0
  178. package/dist/generated/services/todolist-groups.d.ts.map +1 -0
  179. package/dist/generated/services/todolist-groups.js +100 -0
  180. package/dist/generated/services/todolist-groups.js.map +1 -0
  181. package/dist/generated/services/todolist-groups.ts +151 -0
  182. package/dist/generated/services/todolists.d.ts +95 -0
  183. package/dist/generated/services/todolists.d.ts.map +1 -0
  184. package/dist/generated/services/todolists.js +130 -0
  185. package/dist/generated/services/todolists.js.map +1 -0
  186. package/dist/generated/services/todolists.ts +192 -0
  187. package/dist/generated/services/todos.d.ts +175 -0
  188. package/dist/generated/services/todos.d.ts.map +1 -0
  189. package/dist/generated/services/todos.js +255 -0
  190. package/dist/generated/services/todos.js.map +1 -0
  191. package/dist/generated/services/todos.ts +369 -0
  192. package/dist/generated/services/todosets.d.ts +27 -0
  193. package/dist/generated/services/todosets.d.ts.map +1 -0
  194. package/dist/generated/services/todosets.js +40 -0
  195. package/dist/generated/services/todosets.js.map +1 -0
  196. package/dist/generated/services/todosets.ts +55 -0
  197. package/dist/generated/services/tools.d.ts +122 -0
  198. package/dist/generated/services/tools.d.ts.map +1 -0
  199. package/dist/generated/services/tools.js +197 -0
  200. package/dist/generated/services/tools.js.map +1 -0
  201. package/dist/generated/services/tools.ts +267 -0
  202. package/dist/generated/services/uploads.d.ts +109 -0
  203. package/dist/generated/services/uploads.d.ts.map +1 -0
  204. package/dist/generated/services/uploads.js +153 -0
  205. package/dist/generated/services/uploads.js.map +1 -0
  206. package/dist/generated/services/uploads.ts +227 -0
  207. package/dist/generated/services/vaults.d.ts +86 -0
  208. package/dist/generated/services/vaults.d.ts.map +1 -0
  209. package/dist/generated/services/vaults.js +126 -0
  210. package/dist/generated/services/vaults.js.map +1 -0
  211. package/dist/generated/services/vaults.ts +182 -0
  212. package/dist/generated/services/webhooks.d.ts +106 -0
  213. package/dist/generated/services/webhooks.d.ts.map +1 -0
  214. package/dist/generated/services/webhooks.js +157 -0
  215. package/dist/generated/services/webhooks.js.map +1 -0
  216. package/dist/generated/services/webhooks.ts +226 -0
  217. package/dist/hooks/otel.d.ts +136 -0
  218. package/dist/hooks/otel.d.ts.map +1 -0
  219. package/dist/hooks/otel.js +240 -0
  220. package/dist/hooks/otel.js.map +1 -0
  221. package/dist/hooks.d.ts +171 -0
  222. package/dist/hooks.d.ts.map +1 -0
  223. package/dist/hooks.js +196 -0
  224. package/dist/hooks.js.map +1 -0
  225. package/dist/index.d.ts +90 -0
  226. package/dist/index.d.ts.map +1 -0
  227. package/dist/index.js +122 -0
  228. package/dist/index.js.map +1 -0
  229. package/dist/oauth/authorize.d.ts +48 -0
  230. package/dist/oauth/authorize.d.ts.map +1 -0
  231. package/dist/oauth/authorize.js +56 -0
  232. package/dist/oauth/authorize.js.map +1 -0
  233. package/dist/oauth/callback-server.d.ts +56 -0
  234. package/dist/oauth/callback-server.d.ts.map +1 -0
  235. package/dist/oauth/callback-server.js +150 -0
  236. package/dist/oauth/callback-server.js.map +1 -0
  237. package/dist/oauth/discovery.d.ts +54 -0
  238. package/dist/oauth/discovery.d.ts.map +1 -0
  239. package/dist/oauth/discovery.js +116 -0
  240. package/dist/oauth/discovery.js.map +1 -0
  241. package/dist/oauth/exchange.d.ts +96 -0
  242. package/dist/oauth/exchange.d.ts.map +1 -0
  243. package/dist/oauth/exchange.js +324 -0
  244. package/dist/oauth/exchange.js.map +1 -0
  245. package/dist/oauth/identity.d.ts +30 -0
  246. package/dist/oauth/identity.d.ts.map +1 -0
  247. package/dist/oauth/identity.js +82 -0
  248. package/dist/oauth/identity.js.map +1 -0
  249. package/dist/oauth/index.d.ts +50 -0
  250. package/dist/oauth/index.d.ts.map +1 -0
  251. package/dist/oauth/index.js +58 -0
  252. package/dist/oauth/index.js.map +1 -0
  253. package/dist/oauth/interactive-login.d.ts +62 -0
  254. package/dist/oauth/interactive-login.d.ts.map +1 -0
  255. package/dist/oauth/interactive-login.js +106 -0
  256. package/dist/oauth/interactive-login.js.map +1 -0
  257. package/dist/oauth/pkce.d.ts +68 -0
  258. package/dist/oauth/pkce.d.ts.map +1 -0
  259. package/dist/oauth/pkce.js +80 -0
  260. package/dist/oauth/pkce.js.map +1 -0
  261. package/dist/oauth/token-manager.d.ts +92 -0
  262. package/dist/oauth/token-manager.d.ts.map +1 -0
  263. package/dist/oauth/token-manager.js +126 -0
  264. package/dist/oauth/token-manager.js.map +1 -0
  265. package/dist/oauth/token-store.d.ts +45 -0
  266. package/dist/oauth/token-store.d.ts.map +1 -0
  267. package/dist/oauth/token-store.js +105 -0
  268. package/dist/oauth/token-store.js.map +1 -0
  269. package/dist/oauth/types.d.ts +98 -0
  270. package/dist/oauth/types.d.ts.map +1 -0
  271. package/dist/oauth/types.js +8 -0
  272. package/dist/oauth/types.js.map +1 -0
  273. package/dist/pagination-utils.d.ts +27 -0
  274. package/dist/pagination-utils.d.ts.map +1 -0
  275. package/dist/pagination-utils.js +54 -0
  276. package/dist/pagination-utils.js.map +1 -0
  277. package/dist/pagination.d.ts +56 -0
  278. package/dist/pagination.d.ts.map +1 -0
  279. package/dist/pagination.js +57 -0
  280. package/dist/pagination.js.map +1 -0
  281. package/dist/security.d.ts +68 -0
  282. package/dist/security.d.ts.map +1 -0
  283. package/dist/security.js +107 -0
  284. package/dist/security.js.map +1 -0
  285. package/dist/services/authorization.d.ts +124 -0
  286. package/dist/services/authorization.d.ts.map +1 -0
  287. package/dist/services/authorization.js +117 -0
  288. package/dist/services/authorization.js.map +1 -0
  289. package/dist/services/base.d.ts +102 -0
  290. package/dist/services/base.d.ts.map +1 -0
  291. package/dist/services/base.js +230 -0
  292. package/dist/services/base.js.map +1 -0
  293. package/dist/webhooks/adapters/node-http.d.ts +14 -0
  294. package/dist/webhooks/adapters/node-http.d.ts.map +1 -0
  295. package/dist/webhooks/adapters/node-http.js +60 -0
  296. package/dist/webhooks/adapters/node-http.js.map +1 -0
  297. package/dist/webhooks/events.d.ts +52 -0
  298. package/dist/webhooks/events.d.ts.map +1 -0
  299. package/dist/webhooks/events.js +52 -0
  300. package/dist/webhooks/events.js.map +1 -0
  301. package/dist/webhooks/handler.d.ts +62 -0
  302. package/dist/webhooks/handler.d.ts.map +1 -0
  303. package/dist/webhooks/handler.js +226 -0
  304. package/dist/webhooks/handler.js.map +1 -0
  305. package/dist/webhooks/index.d.ts +5 -0
  306. package/dist/webhooks/index.d.ts.map +1 -0
  307. package/dist/webhooks/index.js +5 -0
  308. package/dist/webhooks/index.js.map +1 -0
  309. package/dist/webhooks/verify.d.ts +11 -0
  310. package/dist/webhooks/verify.d.ts.map +1 -0
  311. package/dist/webhooks/verify.js +25 -0
  312. package/dist/webhooks/verify.js.map +1 -0
  313. package/package.json +70 -0
  314. package/src/generated/metadata.json +2281 -0
  315. package/src/generated/openapi-stripped.json +21268 -0
  316. package/src/generated/path-mapping.ts +199 -0
  317. package/src/generated/schema.d.ts +14883 -0
  318. package/src/generated/services/attachments.ts +59 -0
  319. package/src/generated/services/boosts.ts +250 -0
  320. package/src/generated/services/campfires.ts +433 -0
  321. package/src/generated/services/card-columns.ts +360 -0
  322. package/src/generated/services/card-steps.ts +221 -0
  323. package/src/generated/services/card-tables.ts +55 -0
  324. package/src/generated/services/cards.ts +247 -0
  325. package/src/generated/services/checkins.ts +600 -0
  326. package/src/generated/services/client-approvals.ts +89 -0
  327. package/src/generated/services/client-correspondences.ts +89 -0
  328. package/src/generated/services/client-replies.ts +95 -0
  329. package/src/generated/services/client-visibility.ts +68 -0
  330. package/src/generated/services/comments.ts +185 -0
  331. package/src/generated/services/documents.ts +191 -0
  332. package/src/generated/services/events.ts +64 -0
  333. package/src/generated/services/forwards.ts +241 -0
  334. package/src/generated/services/index.ts +38 -0
  335. package/src/generated/services/lineup.ts +143 -0
  336. package/src/generated/services/message-boards.ts +55 -0
  337. package/src/generated/services/message-types.ts +210 -0
  338. package/src/generated/services/messages.ts +258 -0
  339. package/src/generated/services/people.ts +252 -0
  340. package/src/generated/services/projects.ts +224 -0
  341. package/src/generated/services/recordings.ts +191 -0
  342. package/src/generated/services/reports.ts +187 -0
  343. package/src/generated/services/schedules.ts +335 -0
  344. package/src/generated/services/search.ts +89 -0
  345. package/src/generated/services/subscriptions.ts +160 -0
  346. package/src/generated/services/templates.ts +294 -0
  347. package/src/generated/services/timeline.ts +62 -0
  348. package/src/generated/services/timesheets.ts +289 -0
  349. package/src/generated/services/todolist-groups.ts +151 -0
  350. package/src/generated/services/todolists.ts +192 -0
  351. package/src/generated/services/todos.ts +369 -0
  352. package/src/generated/services/todosets.ts +55 -0
  353. package/src/generated/services/tools.ts +267 -0
  354. package/src/generated/services/uploads.ts +227 -0
  355. package/src/generated/services/vaults.ts +182 -0
  356. package/src/generated/services/webhooks.ts +226 -0
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Documents service for the Basecamp API.
3
+ *
4
+ * @generated from OpenAPI spec - do not edit directly
5
+ */
6
+ import { BaseService } from "../../services/base.js";
7
+ import { Errors } from "../../errors.js";
8
+ // =============================================================================
9
+ // Service
10
+ // =============================================================================
11
+ /**
12
+ * Service for Documents operations.
13
+ */
14
+ export class DocumentsService extends BaseService {
15
+ /**
16
+ * Get a single document by id
17
+ * @param documentId - The document ID
18
+ * @returns The Document
19
+ * @throws {BasecampError} If the resource is not found
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * const result = await client.documents.get(123);
24
+ * ```
25
+ */
26
+ async get(documentId) {
27
+ const response = await this.request({
28
+ service: "Documents",
29
+ operation: "GetDocument",
30
+ resourceType: "document",
31
+ isMutation: false,
32
+ resourceId: documentId,
33
+ }, () => this.client.GET("/documents/{documentId}", {
34
+ params: {
35
+ path: { documentId },
36
+ },
37
+ }));
38
+ return response;
39
+ }
40
+ /**
41
+ * Update an existing document
42
+ * @param documentId - The document ID
43
+ * @param req - Document update parameters
44
+ * @returns The Document
45
+ * @throws {BasecampError} If the resource is not found or fields are invalid
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * const result = await client.documents.update(123, { });
50
+ * ```
51
+ */
52
+ async update(documentId, req) {
53
+ const response = await this.request({
54
+ service: "Documents",
55
+ operation: "UpdateDocument",
56
+ resourceType: "document",
57
+ isMutation: true,
58
+ resourceId: documentId,
59
+ }, () => this.client.PUT("/documents/{documentId}", {
60
+ params: {
61
+ path: { documentId },
62
+ },
63
+ body: {
64
+ title: req.title,
65
+ content: req.content,
66
+ },
67
+ }));
68
+ return response;
69
+ }
70
+ /**
71
+ * List documents in a vault
72
+ * @param vaultId - The vault ID
73
+ * @param options - Optional query parameters
74
+ * @returns All Document across all pages, with .meta.totalCount
75
+ *
76
+ * @example
77
+ * ```ts
78
+ * const result = await client.documents.list(123);
79
+ * ```
80
+ */
81
+ async list(vaultId, options) {
82
+ return this.requestPaginated({
83
+ service: "Documents",
84
+ operation: "ListDocuments",
85
+ resourceType: "document",
86
+ isMutation: false,
87
+ resourceId: vaultId,
88
+ }, () => this.client.GET("/vaults/{vaultId}/documents.json", {
89
+ params: {
90
+ path: { vaultId },
91
+ },
92
+ }), options);
93
+ }
94
+ /**
95
+ * Create a new document in a vault
96
+ * @param vaultId - The vault ID
97
+ * @param req - Document creation parameters
98
+ * @returns The Document
99
+ * @throws {BasecampError} If required fields are missing or invalid
100
+ *
101
+ * @example
102
+ * ```ts
103
+ * const result = await client.documents.create(123, { title: "example" });
104
+ * ```
105
+ */
106
+ async create(vaultId, req) {
107
+ if (!req.title) {
108
+ throw Errors.validation("Title is required");
109
+ }
110
+ const response = await this.request({
111
+ service: "Documents",
112
+ operation: "CreateDocument",
113
+ resourceType: "document",
114
+ isMutation: true,
115
+ resourceId: vaultId,
116
+ }, () => this.client.POST("/vaults/{vaultId}/documents.json", {
117
+ params: {
118
+ path: { vaultId },
119
+ },
120
+ body: {
121
+ title: req.title,
122
+ content: req.content,
123
+ status: req.status,
124
+ },
125
+ }));
126
+ return response;
127
+ }
128
+ }
129
+ //# sourceMappingURL=documents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../../src/generated/services/documents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAsCzC,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAE/C;;;;;;;;;;OAUG;IACH,KAAK,CAAC,GAAG,CAAC,UAAkB;QAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,aAAa;YACxB,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,UAAU;SACvB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE;YACzC,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,UAAU,EAAE;aACrB;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,MAAM,CAAC,UAAkB,EAAE,GAA0B;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,gBAAgB;YAC3B,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,UAAU;SACvB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE;YACzC,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,UAAU,EAAE;aACrB;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,OAAO,EAAE,GAAG,CAAC,OAAO;aACrB;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,IAAI,CAAC,OAAe,EAAE,OAA6B;QACvD,OAAO,IAAI,CAAC,gBAAgB,CAC1B;YACE,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,eAAe;YAC1B,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,OAAO;SACpB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,EAAE;YAClD,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB;SACF,CAAC,EACF,OAAO,CACV,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,GAA0B;QACtD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,gBAAgB;YAC3B,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,OAAO;SACpB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE;YACnD,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
@@ -0,0 +1,191 @@
1
+ /**
2
+ * Documents service for the Basecamp API.
3
+ *
4
+ * @generated from OpenAPI spec - do not edit directly
5
+ */
6
+
7
+ import { BaseService } from "../../services/base.js";
8
+ import type { components } from "../schema.js";
9
+ import { ListResult } from "../../pagination.js";
10
+ import type { PaginationOptions } from "../../pagination.js";
11
+ import { Errors } from "../../errors.js";
12
+
13
+ // =============================================================================
14
+ // Types
15
+ // =============================================================================
16
+
17
+ /** Document entity from the Basecamp API. */
18
+ export type Document = components["schemas"]["Document"];
19
+
20
+ /**
21
+ * Request parameters for update.
22
+ */
23
+ export interface UpdateDocumentRequest {
24
+ /** Title */
25
+ title?: string;
26
+ /** Text content */
27
+ content?: string;
28
+ }
29
+
30
+ /**
31
+ * Options for list.
32
+ */
33
+ export interface ListDocumentOptions extends PaginationOptions {
34
+ }
35
+
36
+ /**
37
+ * Request parameters for create.
38
+ */
39
+ export interface CreateDocumentRequest {
40
+ /** Title */
41
+ title: string;
42
+ /** Text content */
43
+ content?: string;
44
+ /** Status */
45
+ status?: "active" | "drafted";
46
+ }
47
+
48
+
49
+ // =============================================================================
50
+ // Service
51
+ // =============================================================================
52
+
53
+ /**
54
+ * Service for Documents operations.
55
+ */
56
+ export class DocumentsService extends BaseService {
57
+
58
+ /**
59
+ * Get a single document by id
60
+ * @param documentId - The document ID
61
+ * @returns The Document
62
+ * @throws {BasecampError} If the resource is not found
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * const result = await client.documents.get(123);
67
+ * ```
68
+ */
69
+ async get(documentId: number): Promise<Document> {
70
+ const response = await this.request(
71
+ {
72
+ service: "Documents",
73
+ operation: "GetDocument",
74
+ resourceType: "document",
75
+ isMutation: false,
76
+ resourceId: documentId,
77
+ },
78
+ () =>
79
+ this.client.GET("/documents/{documentId}", {
80
+ params: {
81
+ path: { documentId },
82
+ },
83
+ })
84
+ );
85
+ return response;
86
+ }
87
+
88
+ /**
89
+ * Update an existing document
90
+ * @param documentId - The document ID
91
+ * @param req - Document update parameters
92
+ * @returns The Document
93
+ * @throws {BasecampError} If the resource is not found or fields are invalid
94
+ *
95
+ * @example
96
+ * ```ts
97
+ * const result = await client.documents.update(123, { });
98
+ * ```
99
+ */
100
+ async update(documentId: number, req: UpdateDocumentRequest): Promise<Document> {
101
+ const response = await this.request(
102
+ {
103
+ service: "Documents",
104
+ operation: "UpdateDocument",
105
+ resourceType: "document",
106
+ isMutation: true,
107
+ resourceId: documentId,
108
+ },
109
+ () =>
110
+ this.client.PUT("/documents/{documentId}", {
111
+ params: {
112
+ path: { documentId },
113
+ },
114
+ body: {
115
+ title: req.title,
116
+ content: req.content,
117
+ },
118
+ })
119
+ );
120
+ return response;
121
+ }
122
+
123
+ /**
124
+ * List documents in a vault
125
+ * @param vaultId - The vault ID
126
+ * @param options - Optional query parameters
127
+ * @returns All Document across all pages, with .meta.totalCount
128
+ *
129
+ * @example
130
+ * ```ts
131
+ * const result = await client.documents.list(123);
132
+ * ```
133
+ */
134
+ async list(vaultId: number, options?: ListDocumentOptions): Promise<ListResult<Document>> {
135
+ return this.requestPaginated(
136
+ {
137
+ service: "Documents",
138
+ operation: "ListDocuments",
139
+ resourceType: "document",
140
+ isMutation: false,
141
+ resourceId: vaultId,
142
+ },
143
+ () =>
144
+ this.client.GET("/vaults/{vaultId}/documents.json", {
145
+ params: {
146
+ path: { vaultId },
147
+ },
148
+ })
149
+ , options
150
+ );
151
+ }
152
+
153
+ /**
154
+ * Create a new document in a vault
155
+ * @param vaultId - The vault ID
156
+ * @param req - Document creation parameters
157
+ * @returns The Document
158
+ * @throws {BasecampError} If required fields are missing or invalid
159
+ *
160
+ * @example
161
+ * ```ts
162
+ * const result = await client.documents.create(123, { title: "example" });
163
+ * ```
164
+ */
165
+ async create(vaultId: number, req: CreateDocumentRequest): Promise<Document> {
166
+ if (!req.title) {
167
+ throw Errors.validation("Title is required");
168
+ }
169
+ const response = await this.request(
170
+ {
171
+ service: "Documents",
172
+ operation: "CreateDocument",
173
+ resourceType: "document",
174
+ isMutation: true,
175
+ resourceId: vaultId,
176
+ },
177
+ () =>
178
+ this.client.POST("/vaults/{vaultId}/documents.json", {
179
+ params: {
180
+ path: { vaultId },
181
+ },
182
+ body: {
183
+ title: req.title,
184
+ content: req.content,
185
+ status: req.status,
186
+ },
187
+ })
188
+ );
189
+ return response;
190
+ }
191
+ }
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Events service for the Basecamp API.
3
+ *
4
+ * @generated from OpenAPI spec - do not edit directly
5
+ */
6
+ import { BaseService } from "../../services/base.js";
7
+ import type { components } from "../schema.js";
8
+ import { ListResult } from "../../pagination.js";
9
+ import type { PaginationOptions } from "../../pagination.js";
10
+ /** Event entity from the Basecamp API. */
11
+ export type Event = components["schemas"]["Event"];
12
+ /**
13
+ * Options for list.
14
+ */
15
+ export interface ListEventOptions extends PaginationOptions {
16
+ }
17
+ /**
18
+ * Service for Events operations.
19
+ */
20
+ export declare class EventsService extends BaseService {
21
+ /**
22
+ * List all events for a recording
23
+ * @param recordingId - The recording ID
24
+ * @param options - Optional query parameters
25
+ * @returns All Event across all pages, with .meta.totalCount
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * const result = await client.events.list(123);
30
+ * ```
31
+ */
32
+ list(recordingId: number, options?: ListEventOptions): Promise<ListResult<Event>>;
33
+ }
34
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/generated/services/events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAM7D,0CAA0C;AAC1C,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;CAC1D;AAOD;;GAEG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAE5C;;;;;;;;;;OAUG;IACG,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;CAkBxF"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Events service for the Basecamp API.
3
+ *
4
+ * @generated from OpenAPI spec - do not edit directly
5
+ */
6
+ import { BaseService } from "../../services/base.js";
7
+ // =============================================================================
8
+ // Service
9
+ // =============================================================================
10
+ /**
11
+ * Service for Events operations.
12
+ */
13
+ export class EventsService extends BaseService {
14
+ /**
15
+ * List all events for a recording
16
+ * @param recordingId - The recording ID
17
+ * @param options - Optional query parameters
18
+ * @returns All Event across all pages, with .meta.totalCount
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const result = await client.events.list(123);
23
+ * ```
24
+ */
25
+ async list(recordingId, options) {
26
+ return this.requestPaginated({
27
+ service: "Events",
28
+ operation: "ListEvents",
29
+ resourceType: "event",
30
+ isMutation: false,
31
+ resourceId: recordingId,
32
+ }, () => this.client.GET("/recordings/{recordingId}/events.json", {
33
+ params: {
34
+ path: { recordingId },
35
+ },
36
+ }), options);
37
+ }
38
+ }
39
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/generated/services/events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAmBrD,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAE5C;;;;;;;;;;OAUG;IACH,KAAK,CAAC,IAAI,CAAC,WAAmB,EAAE,OAA0B;QACxD,OAAO,IAAI,CAAC,gBAAgB,CAC1B;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,OAAO;YACrB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,WAAW;SACxB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uCAAuC,EAAE;YACvD,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,WAAW,EAAE;aACtB;SACF,CAAC,EACF,OAAO,CACV,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Events service for the Basecamp API.
3
+ *
4
+ * @generated from OpenAPI spec - do not edit directly
5
+ */
6
+
7
+ import { BaseService } from "../../services/base.js";
8
+ import type { components } from "../schema.js";
9
+ import { ListResult } from "../../pagination.js";
10
+ import type { PaginationOptions } from "../../pagination.js";
11
+
12
+ // =============================================================================
13
+ // Types
14
+ // =============================================================================
15
+
16
+ /** Event entity from the Basecamp API. */
17
+ export type Event = components["schemas"]["Event"];
18
+
19
+ /**
20
+ * Options for list.
21
+ */
22
+ export interface ListEventOptions extends PaginationOptions {
23
+ }
24
+
25
+
26
+ // =============================================================================
27
+ // Service
28
+ // =============================================================================
29
+
30
+ /**
31
+ * Service for Events operations.
32
+ */
33
+ export class EventsService extends BaseService {
34
+
35
+ /**
36
+ * List all events for a recording
37
+ * @param recordingId - The recording ID
38
+ * @param options - Optional query parameters
39
+ * @returns All Event across all pages, with .meta.totalCount
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * const result = await client.events.list(123);
44
+ * ```
45
+ */
46
+ async list(recordingId: number, options?: ListEventOptions): Promise<ListResult<Event>> {
47
+ return this.requestPaginated(
48
+ {
49
+ service: "Events",
50
+ operation: "ListEvents",
51
+ resourceType: "event",
52
+ isMutation: false,
53
+ resourceId: recordingId,
54
+ },
55
+ () =>
56
+ this.client.GET("/recordings/{recordingId}/events.json", {
57
+ params: {
58
+ path: { recordingId },
59
+ },
60
+ })
61
+ , options
62
+ );
63
+ }
64
+ }
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Forwards service for the Basecamp API.
3
+ *
4
+ * @generated from OpenAPI spec - do not edit directly
5
+ */
6
+ import { BaseService } from "../../services/base.js";
7
+ import type { components } from "../schema.js";
8
+ import { ListResult } from "../../pagination.js";
9
+ import type { PaginationOptions } from "../../pagination.js";
10
+ /** Forward entity from the Basecamp API. */
11
+ export type Forward = components["schemas"]["Forward"];
12
+ /** ForwardReply entity from the Basecamp API. */
13
+ export type ForwardReply = components["schemas"]["ForwardReply"];
14
+ /** Inbox entity from the Basecamp API. */
15
+ export type Inbox = components["schemas"]["Inbox"];
16
+ /**
17
+ * Options for listReplies.
18
+ */
19
+ export interface ListRepliesForwardOptions extends PaginationOptions {
20
+ }
21
+ /**
22
+ * Request parameters for createReply.
23
+ */
24
+ export interface CreateReplyForwardRequest {
25
+ /** Text content */
26
+ content: string;
27
+ }
28
+ /**
29
+ * Options for list.
30
+ */
31
+ export interface ListForwardOptions extends PaginationOptions {
32
+ }
33
+ /**
34
+ * Service for Forwards operations.
35
+ */
36
+ export declare class ForwardsService extends BaseService {
37
+ /**
38
+ * Get a forward by ID
39
+ * @param forwardId - The forward ID
40
+ * @returns The Forward
41
+ * @throws {BasecampError} If the resource is not found
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * const result = await client.forwards.get(123);
46
+ * ```
47
+ */
48
+ get(forwardId: number): Promise<Forward>;
49
+ /**
50
+ * List all replies to a forward
51
+ * @param forwardId - The forward ID
52
+ * @param options - Optional query parameters
53
+ * @returns All ForwardReply across all pages, with .meta.totalCount
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * const result = await client.forwards.listReplies(123);
58
+ * ```
59
+ */
60
+ listReplies(forwardId: number, options?: ListRepliesForwardOptions): Promise<ListResult<ForwardReply>>;
61
+ /**
62
+ * Create a reply to a forward
63
+ * @param forwardId - The forward ID
64
+ * @param req - Forward_reply creation parameters
65
+ * @returns The ForwardReply
66
+ * @throws {BasecampError} If required fields are missing or invalid
67
+ *
68
+ * @example
69
+ * ```ts
70
+ * const result = await client.forwards.createReply(123, { content: "Hello world" });
71
+ * ```
72
+ */
73
+ createReply(forwardId: number, req: CreateReplyForwardRequest): Promise<ForwardReply>;
74
+ /**
75
+ * Get a forward reply by ID
76
+ * @param forwardId - The forward ID
77
+ * @param replyId - The reply ID
78
+ * @returns The ForwardReply
79
+ * @throws {BasecampError} If the resource is not found
80
+ *
81
+ * @example
82
+ * ```ts
83
+ * const result = await client.forwards.getReply(123, 123);
84
+ * ```
85
+ */
86
+ getReply(forwardId: number, replyId: number): Promise<ForwardReply>;
87
+ /**
88
+ * Get an inbox by ID
89
+ * @param inboxId - The inbox ID
90
+ * @returns The Inbox
91
+ * @throws {BasecampError} If the resource is not found
92
+ *
93
+ * @example
94
+ * ```ts
95
+ * const result = await client.forwards.getInbox(123);
96
+ * ```
97
+ */
98
+ getInbox(inboxId: number): Promise<Inbox>;
99
+ /**
100
+ * List all forwards in an inbox
101
+ * @param inboxId - The inbox ID
102
+ * @param options - Optional query parameters
103
+ * @returns All Forward across all pages, with .meta.totalCount
104
+ *
105
+ * @example
106
+ * ```ts
107
+ * const result = await client.forwards.list(123);
108
+ * ```
109
+ */
110
+ list(inboxId: number, options?: ListForwardOptions): Promise<ListResult<Forward>>;
111
+ }
112
+ //# sourceMappingURL=forwards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forwards.d.ts","sourceRoot":"","sources":["../../../src/generated/services/forwards.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO7D,4CAA4C;AAC5C,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;AACvD,iDAAiD;AACjD,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;AACjE,0CAA0C;AAC1C,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;CACnE;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;CAC5D;AAOD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAE9C;;;;;;;;;;OAUG;IACG,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB9C;;;;;;;;;;OAUG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAmB5G;;;;;;;;;;;OAWG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAAC,YAAY,CAAC;IAyB3F;;;;;;;;;;;OAWG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAmBzE;;;;;;;;;;OAUG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAmB/C;;;;;;;;;;OAUG;IACG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;CAkBxF"}