@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,250 @@
1
+ /**
2
+ * Boosts 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
+
18
+ /**
19
+ * Options for listForRecording.
20
+ */
21
+ export interface ListForRecordingBoostOptions extends PaginationOptions {
22
+ }
23
+
24
+ /**
25
+ * Request parameters for createForRecording.
26
+ */
27
+ export interface CreateForRecordingBoostRequest {
28
+ /** Text content */
29
+ content: string;
30
+ }
31
+
32
+ /**
33
+ * Options for listForEvent.
34
+ */
35
+ export interface ListForEventBoostOptions extends PaginationOptions {
36
+ }
37
+
38
+ /**
39
+ * Request parameters for createForEvent.
40
+ */
41
+ export interface CreateForEventBoostRequest {
42
+ /** Text content */
43
+ content: string;
44
+ }
45
+
46
+
47
+ // =============================================================================
48
+ // Service
49
+ // =============================================================================
50
+
51
+ /**
52
+ * Service for Boosts operations.
53
+ */
54
+ export class BoostsService extends BaseService {
55
+
56
+ /**
57
+ * Get a single boost
58
+ * @param boostId - The boost ID
59
+ * @returns The boost
60
+ * @throws {BasecampError} If the resource is not found
61
+ *
62
+ * @example
63
+ * ```ts
64
+ * const result = await client.boosts.get(123);
65
+ * ```
66
+ */
67
+ async get(boostId: number): Promise<components["schemas"]["GetBoostResponseContent"]> {
68
+ const response = await this.request(
69
+ {
70
+ service: "Boosts",
71
+ operation: "GetBoost",
72
+ resourceType: "boost",
73
+ isMutation: false,
74
+ resourceId: boostId,
75
+ },
76
+ () =>
77
+ this.client.GET("/boosts/{boostId}", {
78
+ params: {
79
+ path: { boostId },
80
+ },
81
+ })
82
+ );
83
+ return response;
84
+ }
85
+
86
+ /**
87
+ * Delete a boost
88
+ * @param boostId - The boost ID
89
+ * @returns void
90
+ * @throws {BasecampError} If the request fails
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * await client.boosts.delete(123);
95
+ * ```
96
+ */
97
+ async delete(boostId: number): Promise<void> {
98
+ await this.request(
99
+ {
100
+ service: "Boosts",
101
+ operation: "DeleteBoost",
102
+ resourceType: "boost",
103
+ isMutation: true,
104
+ resourceId: boostId,
105
+ },
106
+ () =>
107
+ this.client.DELETE("/boosts/{boostId}", {
108
+ params: {
109
+ path: { boostId },
110
+ },
111
+ })
112
+ );
113
+ }
114
+
115
+ /**
116
+ * List boosts on a recording
117
+ * @param recordingId - The recording ID
118
+ * @param options - Optional query parameters
119
+ * @returns All results across all pages, with .meta.totalCount
120
+ *
121
+ * @example
122
+ * ```ts
123
+ * const result = await client.boosts.listForRecording(123);
124
+ * ```
125
+ */
126
+ async listForRecording(recordingId: number, options?: ListForRecordingBoostOptions): Promise<components["schemas"]["ListRecordingBoostsResponseContent"]> {
127
+ return this.requestPaginated(
128
+ {
129
+ service: "Boosts",
130
+ operation: "ListRecordingBoosts",
131
+ resourceType: "recording_boost",
132
+ isMutation: false,
133
+ resourceId: recordingId,
134
+ },
135
+ () =>
136
+ this.client.GET("/recordings/{recordingId}/boosts.json", {
137
+ params: {
138
+ path: { recordingId },
139
+ },
140
+ })
141
+ , options
142
+ );
143
+ }
144
+
145
+ /**
146
+ * Create a boost on a recording
147
+ * @param recordingId - The recording ID
148
+ * @param req - Recording_boost creation parameters
149
+ * @returns The recording_boost
150
+ * @throws {BasecampError} If required fields are missing or invalid
151
+ *
152
+ * @example
153
+ * ```ts
154
+ * const result = await client.boosts.createForRecording(123, { content: "Hello world" });
155
+ * ```
156
+ */
157
+ async createForRecording(recordingId: number, req: CreateForRecordingBoostRequest): Promise<components["schemas"]["CreateRecordingBoostResponseContent"]> {
158
+ if (!req.content) {
159
+ throw Errors.validation("Content is required");
160
+ }
161
+ const response = await this.request(
162
+ {
163
+ service: "Boosts",
164
+ operation: "CreateRecordingBoost",
165
+ resourceType: "recording_boost",
166
+ isMutation: true,
167
+ resourceId: recordingId,
168
+ },
169
+ () =>
170
+ this.client.POST("/recordings/{recordingId}/boosts.json", {
171
+ params: {
172
+ path: { recordingId },
173
+ },
174
+ body: {
175
+ content: req.content,
176
+ },
177
+ })
178
+ );
179
+ return response;
180
+ }
181
+
182
+ /**
183
+ * List boosts on a specific event within a recording
184
+ * @param recordingId - The recording ID
185
+ * @param eventId - The event ID
186
+ * @param options - Optional query parameters
187
+ * @returns All results across all pages, with .meta.totalCount
188
+ *
189
+ * @example
190
+ * ```ts
191
+ * const result = await client.boosts.listForEvent(123, 123);
192
+ * ```
193
+ */
194
+ async listForEvent(recordingId: number, eventId: number, options?: ListForEventBoostOptions): Promise<components["schemas"]["ListEventBoostsResponseContent"]> {
195
+ return this.requestPaginated(
196
+ {
197
+ service: "Boosts",
198
+ operation: "ListEventBoosts",
199
+ resourceType: "event_boost",
200
+ isMutation: false,
201
+ resourceId: recordingId,
202
+ },
203
+ () =>
204
+ this.client.GET("/recordings/{recordingId}/events/{eventId}/boosts.json", {
205
+ params: {
206
+ path: { recordingId, eventId },
207
+ },
208
+ })
209
+ , options
210
+ );
211
+ }
212
+
213
+ /**
214
+ * Create a boost on a specific event within a recording
215
+ * @param recordingId - The recording ID
216
+ * @param eventId - The event ID
217
+ * @param req - Event_boost creation parameters
218
+ * @returns The event_boost
219
+ * @throws {BasecampError} If required fields are missing or invalid
220
+ *
221
+ * @example
222
+ * ```ts
223
+ * const result = await client.boosts.createForEvent(123, 123, { content: "Hello world" });
224
+ * ```
225
+ */
226
+ async createForEvent(recordingId: number, eventId: number, req: CreateForEventBoostRequest): Promise<components["schemas"]["CreateEventBoostResponseContent"]> {
227
+ if (!req.content) {
228
+ throw Errors.validation("Content is required");
229
+ }
230
+ const response = await this.request(
231
+ {
232
+ service: "Boosts",
233
+ operation: "CreateEventBoost",
234
+ resourceType: "event_boost",
235
+ isMutation: true,
236
+ resourceId: recordingId,
237
+ },
238
+ () =>
239
+ this.client.POST("/recordings/{recordingId}/events/{eventId}/boosts.json", {
240
+ params: {
241
+ path: { recordingId, eventId },
242
+ },
243
+ body: {
244
+ content: req.content,
245
+ },
246
+ })
247
+ );
248
+ return response;
249
+ }
250
+ }
@@ -0,0 +1,202 @@
1
+ /**
2
+ * Campfires 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
+ /** Campfire entity from the Basecamp API. */
11
+ export type Campfire = components["schemas"]["Campfire"];
12
+ /** Chatbot entity from the Basecamp API. */
13
+ export type Chatbot = components["schemas"]["Chatbot"];
14
+ /** CampfireLine entity from the Basecamp API. */
15
+ export type CampfireLine = components["schemas"]["CampfireLine"];
16
+ /**
17
+ * Options for list.
18
+ */
19
+ export interface ListCampfireOptions extends PaginationOptions {
20
+ }
21
+ /**
22
+ * Options for listChatbots.
23
+ */
24
+ export interface ListChatbotsCampfireOptions extends PaginationOptions {
25
+ }
26
+ /**
27
+ * Request parameters for createChatbot.
28
+ */
29
+ export interface CreateChatbotCampfireRequest {
30
+ /** Service name */
31
+ serviceName: string;
32
+ /** Command url */
33
+ commandUrl?: string;
34
+ }
35
+ /**
36
+ * Request parameters for updateChatbot.
37
+ */
38
+ export interface UpdateChatbotCampfireRequest {
39
+ /** Service name */
40
+ serviceName: string;
41
+ /** Command url */
42
+ commandUrl?: string;
43
+ }
44
+ /**
45
+ * Options for listLines.
46
+ */
47
+ export interface ListLinesCampfireOptions extends PaginationOptions {
48
+ }
49
+ /**
50
+ * Request parameters for createLine.
51
+ */
52
+ export interface CreateLineCampfireRequest {
53
+ /** Text content */
54
+ content: string;
55
+ /** Content type */
56
+ contentType?: string;
57
+ }
58
+ /**
59
+ * Service for Campfires operations.
60
+ */
61
+ export declare class CampfiresService extends BaseService {
62
+ /**
63
+ * List all campfires across the account
64
+ * @param options - Optional query parameters
65
+ * @returns All Campfire across all pages, with .meta.totalCount
66
+ *
67
+ * @example
68
+ * ```ts
69
+ * const result = await client.campfires.list();
70
+ * ```
71
+ */
72
+ list(options?: ListCampfireOptions): Promise<ListResult<Campfire>>;
73
+ /**
74
+ * Get a campfire by ID
75
+ * @param campfireId - The campfire ID
76
+ * @returns The Campfire
77
+ * @throws {BasecampError} If the resource is not found
78
+ *
79
+ * @example
80
+ * ```ts
81
+ * const result = await client.campfires.get(123);
82
+ * ```
83
+ */
84
+ get(campfireId: number): Promise<Campfire>;
85
+ /**
86
+ * List all chatbots for a campfire
87
+ * @param campfireId - The campfire ID
88
+ * @param options - Optional query parameters
89
+ * @returns All Chatbot across all pages, with .meta.totalCount
90
+ *
91
+ * @example
92
+ * ```ts
93
+ * const result = await client.campfires.listChatbots(123);
94
+ * ```
95
+ */
96
+ listChatbots(campfireId: number, options?: ListChatbotsCampfireOptions): Promise<ListResult<Chatbot>>;
97
+ /**
98
+ * Create a new chatbot for a campfire
99
+ * @param campfireId - The campfire ID
100
+ * @param req - Chatbot creation parameters
101
+ * @returns The Chatbot
102
+ * @throws {BasecampError} If required fields are missing or invalid
103
+ *
104
+ * @example
105
+ * ```ts
106
+ * const result = await client.campfires.createChatbot(123, { serviceName: "example" });
107
+ * ```
108
+ */
109
+ createChatbot(campfireId: number, req: CreateChatbotCampfireRequest): Promise<Chatbot>;
110
+ /**
111
+ * Get a chatbot by ID
112
+ * @param campfireId - The campfire ID
113
+ * @param chatbotId - The chatbot ID
114
+ * @returns The Chatbot
115
+ * @throws {BasecampError} If the resource is not found
116
+ *
117
+ * @example
118
+ * ```ts
119
+ * const result = await client.campfires.getChatbot(123, 123);
120
+ * ```
121
+ */
122
+ getChatbot(campfireId: number, chatbotId: number): Promise<Chatbot>;
123
+ /**
124
+ * Update an existing chatbot
125
+ * @param campfireId - The campfire ID
126
+ * @param chatbotId - The chatbot ID
127
+ * @param req - Chatbot update parameters
128
+ * @returns The Chatbot
129
+ * @throws {BasecampError} If the resource is not found or fields are invalid
130
+ *
131
+ * @example
132
+ * ```ts
133
+ * const result = await client.campfires.updateChatbot(123, 123, { serviceName: "example" });
134
+ * ```
135
+ */
136
+ updateChatbot(campfireId: number, chatbotId: number, req: UpdateChatbotCampfireRequest): Promise<Chatbot>;
137
+ /**
138
+ * Delete a chatbot
139
+ * @param campfireId - The campfire ID
140
+ * @param chatbotId - The chatbot ID
141
+ * @returns void
142
+ * @throws {BasecampError} If the request fails
143
+ *
144
+ * @example
145
+ * ```ts
146
+ * await client.campfires.deleteChatbot(123, 123);
147
+ * ```
148
+ */
149
+ deleteChatbot(campfireId: number, chatbotId: number): Promise<void>;
150
+ /**
151
+ * List all lines (messages) in a campfire
152
+ * @param campfireId - The campfire ID
153
+ * @param options - Optional query parameters
154
+ * @returns All CampfireLine across all pages, with .meta.totalCount
155
+ *
156
+ * @example
157
+ * ```ts
158
+ * const result = await client.campfires.listLines(123);
159
+ * ```
160
+ */
161
+ listLines(campfireId: number, options?: ListLinesCampfireOptions): Promise<ListResult<CampfireLine>>;
162
+ /**
163
+ * Create a new line (message) in a campfire
164
+ * @param campfireId - The campfire ID
165
+ * @param req - Campfire_line creation parameters
166
+ * @returns The CampfireLine
167
+ * @throws {BasecampError} If required fields are missing or invalid
168
+ *
169
+ * @example
170
+ * ```ts
171
+ * const result = await client.campfires.createLine(123, { content: "Hello world" });
172
+ * ```
173
+ */
174
+ createLine(campfireId: number, req: CreateLineCampfireRequest): Promise<CampfireLine>;
175
+ /**
176
+ * Get a campfire line by ID
177
+ * @param campfireId - The campfire ID
178
+ * @param lineId - The line ID
179
+ * @returns The CampfireLine
180
+ * @throws {BasecampError} If the resource is not found
181
+ *
182
+ * @example
183
+ * ```ts
184
+ * const result = await client.campfires.getLine(123, 123);
185
+ * ```
186
+ */
187
+ getLine(campfireId: number, lineId: number): Promise<CampfireLine>;
188
+ /**
189
+ * Delete a campfire line
190
+ * @param campfireId - The campfire ID
191
+ * @param lineId - The line ID
192
+ * @returns void
193
+ * @throws {BasecampError} If the request fails
194
+ *
195
+ * @example
196
+ * ```ts
197
+ * await client.campfires.deleteLine(123, 123);
198
+ * ```
199
+ */
200
+ deleteLine(campfireId: number, lineId: number): Promise<void>;
201
+ }
202
+ //# sourceMappingURL=campfires.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"campfires.d.ts","sourceRoot":"","sources":["../../../src/generated/services/campfires.ts"],"names":[],"mappings":"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"}