@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,89 @@
1
+ /**
2
+ * Search 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
+
17
+ /**
18
+ * Options for search.
19
+ */
20
+ export interface SearchSearchOptions extends PaginationOptions {
21
+ /** Filter by sort */
22
+ sort?: "created_at" | "updated_at";
23
+ /** Page */
24
+ page?: number;
25
+ }
26
+
27
+
28
+ // =============================================================================
29
+ // Service
30
+ // =============================================================================
31
+
32
+ /**
33
+ * Service for Search operations.
34
+ */
35
+ export class SearchService extends BaseService {
36
+
37
+ /**
38
+ * Search for content across the account
39
+ * @param query - query
40
+ * @param options - Optional query parameters
41
+ * @returns All results across all pages, with .meta.totalCount
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * const result = await client.search.search("query");
46
+ * ```
47
+ */
48
+ async search(query: string, options?: SearchSearchOptions): Promise<components["schemas"]["SearchResponseContent"]> {
49
+ return this.requestPaginated(
50
+ {
51
+ service: "Search",
52
+ operation: "Search",
53
+ resourceType: "resource",
54
+ isMutation: false,
55
+ },
56
+ () =>
57
+ this.client.GET("/search.json", {
58
+ params: {
59
+ query: { query: query, sort: options?.sort, page: options?.page },
60
+ },
61
+ })
62
+ , options
63
+ );
64
+ }
65
+
66
+ /**
67
+ * Get search metadata (available filter options)
68
+ * @returns The search_metadata
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * const result = await client.search.metadata();
73
+ * ```
74
+ */
75
+ async metadata(): Promise<components["schemas"]["GetSearchMetadataResponseContent"]> {
76
+ const response = await this.request(
77
+ {
78
+ service: "Search",
79
+ operation: "GetSearchMetadata",
80
+ resourceType: "search_metadata",
81
+ isMutation: false,
82
+ },
83
+ () =>
84
+ this.client.GET("/searches/metadata.json", {
85
+ })
86
+ );
87
+ return response;
88
+ }
89
+ }
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Subscriptions 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
+ /** Subscription entity from the Basecamp API. */
9
+ export type Subscription = components["schemas"]["Subscription"];
10
+ /**
11
+ * Request parameters for update.
12
+ */
13
+ export interface UpdateSubscriptionRequest {
14
+ /** Subscriptions */
15
+ subscriptions?: number[];
16
+ /** Unsubscriptions */
17
+ unsubscriptions?: number[];
18
+ }
19
+ /**
20
+ * Service for Subscriptions operations.
21
+ */
22
+ export declare class SubscriptionsService extends BaseService {
23
+ /**
24
+ * Get subscription information for a recording
25
+ * @param recordingId - The recording ID
26
+ * @returns The Subscription
27
+ * @throws {BasecampError} If the resource is not found
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * const result = await client.subscriptions.get(123);
32
+ * ```
33
+ */
34
+ get(recordingId: number): Promise<Subscription>;
35
+ /**
36
+ * Subscribe the current user to a recording
37
+ * @param recordingId - The recording ID
38
+ * @returns The Subscription
39
+ * @throws {BasecampError} If the request fails
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * const result = await client.subscriptions.subscribe(123);
44
+ * ```
45
+ */
46
+ subscribe(recordingId: number): Promise<Subscription>;
47
+ /**
48
+ * Update subscriptions by adding or removing specific users
49
+ * @param recordingId - The recording ID
50
+ * @param req - Subscription update parameters
51
+ * @returns The Subscription
52
+ * @throws {BasecampError} If the resource is not found or fields are invalid
53
+ *
54
+ * @example
55
+ * ```ts
56
+ * const result = await client.subscriptions.update(123, { });
57
+ * ```
58
+ */
59
+ update(recordingId: number, req: UpdateSubscriptionRequest): Promise<Subscription>;
60
+ /**
61
+ * Unsubscribe the current user from a recording
62
+ * @param recordingId - The recording ID
63
+ * @returns void
64
+ * @throws {BasecampError} If the request fails
65
+ *
66
+ * @example
67
+ * ```ts
68
+ * await client.subscriptions.unsubscribe(123);
69
+ * ```
70
+ */
71
+ unsubscribe(recordingId: number): Promise<void>;
72
+ }
73
+ //# sourceMappingURL=subscriptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../../src/generated/services/subscriptions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAM/C,iDAAiD;AACjD,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,oBAAoB;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,sBAAsB;IACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAOD;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,WAAW;IAEnD;;;;;;;;;;OAUG;IACG,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAmBrD;;;;;;;;;;OAUG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAmB3D;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAAC,YAAY,CAAC;IAuBxF;;;;;;;;;;OAUG;IACG,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAiBtD"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Subscriptions 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 Subscriptions operations.
12
+ */
13
+ export class SubscriptionsService extends BaseService {
14
+ /**
15
+ * Get subscription information for a recording
16
+ * @param recordingId - The recording ID
17
+ * @returns The Subscription
18
+ * @throws {BasecampError} If the resource is not found
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const result = await client.subscriptions.get(123);
23
+ * ```
24
+ */
25
+ async get(recordingId) {
26
+ const response = await this.request({
27
+ service: "Subscriptions",
28
+ operation: "GetSubscription",
29
+ resourceType: "subscription",
30
+ isMutation: false,
31
+ resourceId: recordingId,
32
+ }, () => this.client.GET("/recordings/{recordingId}/subscription.json", {
33
+ params: {
34
+ path: { recordingId },
35
+ },
36
+ }));
37
+ return response;
38
+ }
39
+ /**
40
+ * Subscribe the current user to a recording
41
+ * @param recordingId - The recording ID
42
+ * @returns The Subscription
43
+ * @throws {BasecampError} If the request fails
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * const result = await client.subscriptions.subscribe(123);
48
+ * ```
49
+ */
50
+ async subscribe(recordingId) {
51
+ const response = await this.request({
52
+ service: "Subscriptions",
53
+ operation: "Subscribe",
54
+ resourceType: "resource",
55
+ isMutation: true,
56
+ resourceId: recordingId,
57
+ }, () => this.client.POST("/recordings/{recordingId}/subscription.json", {
58
+ params: {
59
+ path: { recordingId },
60
+ },
61
+ }));
62
+ return response;
63
+ }
64
+ /**
65
+ * Update subscriptions by adding or removing specific users
66
+ * @param recordingId - The recording ID
67
+ * @param req - Subscription update parameters
68
+ * @returns The Subscription
69
+ * @throws {BasecampError} If the resource is not found or fields are invalid
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * const result = await client.subscriptions.update(123, { });
74
+ * ```
75
+ */
76
+ async update(recordingId, req) {
77
+ const response = await this.request({
78
+ service: "Subscriptions",
79
+ operation: "UpdateSubscription",
80
+ resourceType: "subscription",
81
+ isMutation: true,
82
+ resourceId: recordingId,
83
+ }, () => this.client.PUT("/recordings/{recordingId}/subscription.json", {
84
+ params: {
85
+ path: { recordingId },
86
+ },
87
+ body: {
88
+ subscriptions: req.subscriptions,
89
+ unsubscriptions: req.unsubscriptions,
90
+ },
91
+ }));
92
+ return response;
93
+ }
94
+ /**
95
+ * Unsubscribe the current user from a recording
96
+ * @param recordingId - The recording ID
97
+ * @returns void
98
+ * @throws {BasecampError} If the request fails
99
+ *
100
+ * @example
101
+ * ```ts
102
+ * await client.subscriptions.unsubscribe(123);
103
+ * ```
104
+ */
105
+ async unsubscribe(recordingId) {
106
+ await this.request({
107
+ service: "Subscriptions",
108
+ operation: "Unsubscribe",
109
+ resourceType: "resource",
110
+ isMutation: true,
111
+ resourceId: recordingId,
112
+ }, () => this.client.DELETE("/recordings/{recordingId}/subscription.json", {
113
+ params: {
114
+ path: { recordingId },
115
+ },
116
+ }));
117
+ }
118
+ }
119
+ //# sourceMappingURL=subscriptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../../src/generated/services/subscriptions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAqBrD,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,WAAW;IAEnD;;;;;;;;;;OAUG;IACH,KAAK,CAAC,GAAG,CAAC,WAAmB;QAC3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,eAAe;YACxB,SAAS,EAAE,iBAAiB;YAC5B,YAAY,EAAE,cAAc;YAC5B,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,WAAW;SACxB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6CAA6C,EAAE;YAC7D,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,WAAW,EAAE;aACtB;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,SAAS,CAAC,WAAmB;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,eAAe;YACxB,SAAS,EAAE,WAAW;YACtB,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,WAAW;SACxB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE;YAC9D,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,WAAW,EAAE;aACtB;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,GAA8B;QAC9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,eAAe;YACxB,SAAS,EAAE,oBAAoB;YAC/B,YAAY,EAAE,cAAc;YAC5B,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,WAAW;SACxB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6CAA6C,EAAE;YAC7D,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,WAAW,EAAE;aACtB;YACD,IAAI,EAAE;gBACJ,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,eAAe,EAAE,GAAG,CAAC,eAAe;aACrC;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,WAAW,CAAC,WAAmB;QACnC,MAAM,IAAI,CAAC,OAAO,CAChB;YACE,OAAO,EAAE,eAAe;YACxB,SAAS,EAAE,aAAa;YACxB,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,WAAW;SACxB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,6CAA6C,EAAE;YAChE,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,WAAW,EAAE;aACtB;SACF,CAAC,CACL,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Subscriptions 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
+
10
+ // =============================================================================
11
+ // Types
12
+ // =============================================================================
13
+
14
+ /** Subscription entity from the Basecamp API. */
15
+ export type Subscription = components["schemas"]["Subscription"];
16
+
17
+ /**
18
+ * Request parameters for update.
19
+ */
20
+ export interface UpdateSubscriptionRequest {
21
+ /** Subscriptions */
22
+ subscriptions?: number[];
23
+ /** Unsubscriptions */
24
+ unsubscriptions?: number[];
25
+ }
26
+
27
+
28
+ // =============================================================================
29
+ // Service
30
+ // =============================================================================
31
+
32
+ /**
33
+ * Service for Subscriptions operations.
34
+ */
35
+ export class SubscriptionsService extends BaseService {
36
+
37
+ /**
38
+ * Get subscription information for a recording
39
+ * @param recordingId - The recording ID
40
+ * @returns The Subscription
41
+ * @throws {BasecampError} If the resource is not found
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * const result = await client.subscriptions.get(123);
46
+ * ```
47
+ */
48
+ async get(recordingId: number): Promise<Subscription> {
49
+ const response = await this.request(
50
+ {
51
+ service: "Subscriptions",
52
+ operation: "GetSubscription",
53
+ resourceType: "subscription",
54
+ isMutation: false,
55
+ resourceId: recordingId,
56
+ },
57
+ () =>
58
+ this.client.GET("/recordings/{recordingId}/subscription.json", {
59
+ params: {
60
+ path: { recordingId },
61
+ },
62
+ })
63
+ );
64
+ return response;
65
+ }
66
+
67
+ /**
68
+ * Subscribe the current user to a recording
69
+ * @param recordingId - The recording ID
70
+ * @returns The Subscription
71
+ * @throws {BasecampError} If the request fails
72
+ *
73
+ * @example
74
+ * ```ts
75
+ * const result = await client.subscriptions.subscribe(123);
76
+ * ```
77
+ */
78
+ async subscribe(recordingId: number): Promise<Subscription> {
79
+ const response = await this.request(
80
+ {
81
+ service: "Subscriptions",
82
+ operation: "Subscribe",
83
+ resourceType: "resource",
84
+ isMutation: true,
85
+ resourceId: recordingId,
86
+ },
87
+ () =>
88
+ this.client.POST("/recordings/{recordingId}/subscription.json", {
89
+ params: {
90
+ path: { recordingId },
91
+ },
92
+ })
93
+ );
94
+ return response;
95
+ }
96
+
97
+ /**
98
+ * Update subscriptions by adding or removing specific users
99
+ * @param recordingId - The recording ID
100
+ * @param req - Subscription update parameters
101
+ * @returns The Subscription
102
+ * @throws {BasecampError} If the resource is not found or fields are invalid
103
+ *
104
+ * @example
105
+ * ```ts
106
+ * const result = await client.subscriptions.update(123, { });
107
+ * ```
108
+ */
109
+ async update(recordingId: number, req: UpdateSubscriptionRequest): Promise<Subscription> {
110
+ const response = await this.request(
111
+ {
112
+ service: "Subscriptions",
113
+ operation: "UpdateSubscription",
114
+ resourceType: "subscription",
115
+ isMutation: true,
116
+ resourceId: recordingId,
117
+ },
118
+ () =>
119
+ this.client.PUT("/recordings/{recordingId}/subscription.json", {
120
+ params: {
121
+ path: { recordingId },
122
+ },
123
+ body: {
124
+ subscriptions: req.subscriptions,
125
+ unsubscriptions: req.unsubscriptions,
126
+ },
127
+ })
128
+ );
129
+ return response;
130
+ }
131
+
132
+ /**
133
+ * Unsubscribe the current user from a recording
134
+ * @param recordingId - The recording ID
135
+ * @returns void
136
+ * @throws {BasecampError} If the request fails
137
+ *
138
+ * @example
139
+ * ```ts
140
+ * await client.subscriptions.unsubscribe(123);
141
+ * ```
142
+ */
143
+ async unsubscribe(recordingId: number): Promise<void> {
144
+ await this.request(
145
+ {
146
+ service: "Subscriptions",
147
+ operation: "Unsubscribe",
148
+ resourceType: "resource",
149
+ isMutation: true,
150
+ resourceId: recordingId,
151
+ },
152
+ () =>
153
+ this.client.DELETE("/recordings/{recordingId}/subscription.json", {
154
+ params: {
155
+ path: { recordingId },
156
+ },
157
+ })
158
+ );
159
+ }
160
+ }
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Templates 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
+ /** Template entity from the Basecamp API. */
11
+ export type Template = components["schemas"]["Template"];
12
+ /**
13
+ * Options for list.
14
+ */
15
+ export interface ListTemplateOptions extends PaginationOptions {
16
+ /** Filter by status */
17
+ status?: "active" | "archived" | "trashed";
18
+ }
19
+ /**
20
+ * Request parameters for create.
21
+ */
22
+ export interface CreateTemplateRequest {
23
+ /** Display name */
24
+ name: string;
25
+ /** Rich text description (HTML) */
26
+ description?: string;
27
+ }
28
+ /**
29
+ * Request parameters for update.
30
+ */
31
+ export interface UpdateTemplateRequest {
32
+ /** Display name */
33
+ name?: string;
34
+ /** Rich text description (HTML) */
35
+ description?: string;
36
+ }
37
+ /**
38
+ * Request parameters for createProject.
39
+ */
40
+ export interface CreateProjectTemplateRequest {
41
+ /** Display name */
42
+ name: string;
43
+ /** Rich text description (HTML) */
44
+ description?: string;
45
+ }
46
+ /**
47
+ * Service for Templates operations.
48
+ */
49
+ export declare class TemplatesService extends BaseService {
50
+ /**
51
+ * List all templates visible to the current user
52
+ * @param options - Optional query parameters
53
+ * @returns All Template across all pages, with .meta.totalCount
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * const result = await client.templates.list();
58
+ *
59
+ * // With options
60
+ * const filtered = await client.templates.list({ status: "active" });
61
+ * ```
62
+ */
63
+ list(options?: ListTemplateOptions): Promise<ListResult<Template>>;
64
+ /**
65
+ * Create a new template
66
+ * @param req - Template creation parameters
67
+ * @returns The Template
68
+ * @throws {BasecampError} If required fields are missing or invalid
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * const result = await client.templates.create({ name: "My example" });
73
+ * ```
74
+ */
75
+ create(req: CreateTemplateRequest): Promise<Template>;
76
+ /**
77
+ * Get a single template by id
78
+ * @param templateId - The template ID
79
+ * @returns The Template
80
+ * @throws {BasecampError} If the resource is not found
81
+ *
82
+ * @example
83
+ * ```ts
84
+ * const result = await client.templates.get(123);
85
+ * ```
86
+ */
87
+ get(templateId: number): Promise<Template>;
88
+ /**
89
+ * Update an existing template
90
+ * @param templateId - The template ID
91
+ * @param req - Template update parameters
92
+ * @returns The Template
93
+ * @throws {BasecampError} If the resource is not found or fields are invalid
94
+ *
95
+ * @example
96
+ * ```ts
97
+ * const result = await client.templates.update(123, { });
98
+ * ```
99
+ */
100
+ update(templateId: number, req: UpdateTemplateRequest): Promise<Template>;
101
+ /**
102
+ * Delete a template (trash it)
103
+ * @param templateId - The template ID
104
+ * @returns void
105
+ * @throws {BasecampError} If the request fails
106
+ *
107
+ * @example
108
+ * ```ts
109
+ * await client.templates.delete(123);
110
+ * ```
111
+ */
112
+ delete(templateId: number): Promise<void>;
113
+ /**
114
+ * Create a project from a template (asynchronous)
115
+ * @param templateId - The template ID
116
+ * @param req - Project_from_template creation parameters
117
+ * @returns The project_from_template
118
+ * @throws {BasecampError} If required fields are missing or invalid
119
+ *
120
+ * @example
121
+ * ```ts
122
+ * const result = await client.templates.createProject(123, { name: "My example" });
123
+ * ```
124
+ */
125
+ createProject(templateId: number, req: CreateProjectTemplateRequest): Promise<components["schemas"]["CreateProjectFromTemplateResponseContent"]>;
126
+ /**
127
+ * Get the status of a project construction
128
+ * @param templateId - The template ID
129
+ * @param constructionId - The construction ID
130
+ * @returns The project_construction
131
+ * @throws {BasecampError} If the resource is not found
132
+ *
133
+ * @example
134
+ * ```ts
135
+ * const result = await client.templates.getConstruction(123, 123);
136
+ * ```
137
+ */
138
+ getConstruction(templateId: number, constructionId: number): Promise<components["schemas"]["GetProjectConstructionResponseContent"]>;
139
+ }
140
+ //# sourceMappingURL=templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/generated/services/templates.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,6CAA6C;AAC7C,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,uBAAuB;IACvB,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAOD;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAE/C;;;;;;;;;;;;OAYG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAkBxE;;;;;;;;;;OAUG;IACG,MAAM,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAsB3D;;;;;;;;;;OAUG;IACG,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAmBhD;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAuB/E;;;;;;;;;;OAUG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB/C;;;;;;;;;;;OAWG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,4BAA4B,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,0CAA0C,CAAC,CAAC;IA0BtJ;;;;;;;;;;;OAWG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,uCAAuC,CAAC,CAAC;CAkB3I"}