@37signals/basecamp 0.12.0 → 0.14.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 (294) hide show
  1. package/README.md +114 -17
  2. package/dist/.build-complete +0 -0
  3. package/dist/client.d.ts +53 -11
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +132 -150
  6. package/dist/client.js.map +1 -1
  7. package/dist/download.d.ts +7 -0
  8. package/dist/download.d.ts.map +1 -1
  9. package/dist/download.js +82 -22
  10. package/dist/download.js.map +1 -1
  11. package/dist/errors.d.ts +19 -1
  12. package/dist/errors.d.ts.map +1 -1
  13. package/dist/errors.js +138 -14
  14. package/dist/errors.js.map +1 -1
  15. package/dist/generated/metadata.d.ts.map +1 -1
  16. package/dist/generated/metadata.js +291 -141
  17. package/dist/generated/metadata.js.map +1 -1
  18. package/dist/generated/metadata.ts +291 -141
  19. package/dist/generated/openapi-stripped.json +5954 -3523
  20. package/dist/generated/path-mapping.d.ts.map +1 -1
  21. package/dist/generated/path-mapping.js +28 -16
  22. package/dist/generated/path-mapping.js.map +1 -1
  23. package/dist/generated/path-mapping.ts +28 -16
  24. package/dist/generated/schema.d.ts +4390 -2357
  25. package/dist/generated/services/bookmarks.d.ts +1 -1
  26. package/dist/generated/services/bookmarks.d.ts.map +1 -1
  27. package/dist/generated/services/bookmarks.ts +1 -1
  28. package/dist/generated/services/boosts.d.ts +10 -0
  29. package/dist/generated/services/boosts.d.ts.map +1 -1
  30. package/dist/generated/services/boosts.js +8 -0
  31. package/dist/generated/services/boosts.js.map +1 -1
  32. package/dist/generated/services/boosts.ts +12 -0
  33. package/dist/generated/services/campfires.d.ts +54 -40
  34. package/dist/generated/services/campfires.d.ts.map +1 -1
  35. package/dist/generated/services/campfires.js +82 -65
  36. package/dist/generated/services/campfires.js.map +1 -1
  37. package/dist/generated/services/campfires.ts +107 -85
  38. package/dist/generated/services/cards.d.ts +5 -0
  39. package/dist/generated/services/cards.d.ts.map +1 -1
  40. package/dist/generated/services/cards.js +4 -0
  41. package/dist/generated/services/cards.js.map +1 -1
  42. package/dist/generated/services/cards.ts +6 -0
  43. package/dist/generated/services/checkins.d.ts +14 -0
  44. package/dist/generated/services/checkins.d.ts.map +1 -1
  45. package/dist/generated/services/checkins.js +14 -1
  46. package/dist/generated/services/checkins.js.map +1 -1
  47. package/dist/generated/services/checkins.ts +20 -0
  48. package/dist/generated/services/client-approvals.d.ts +6 -3
  49. package/dist/generated/services/client-approvals.d.ts.map +1 -1
  50. package/dist/generated/services/client-approvals.js +8 -5
  51. package/dist/generated/services/client-approvals.js.map +1 -1
  52. package/dist/generated/services/client-approvals.ts +10 -5
  53. package/dist/generated/services/client-correspondences.d.ts +6 -3
  54. package/dist/generated/services/client-correspondences.d.ts.map +1 -1
  55. package/dist/generated/services/client-correspondences.js +8 -5
  56. package/dist/generated/services/client-correspondences.js.map +1 -1
  57. package/dist/generated/services/client-correspondences.ts +10 -5
  58. package/dist/generated/services/client-replies.d.ts +11 -4
  59. package/dist/generated/services/client-replies.d.ts.map +1 -1
  60. package/dist/generated/services/client-replies.js +16 -8
  61. package/dist/generated/services/client-replies.js.map +1 -1
  62. package/dist/generated/services/client-replies.ts +18 -8
  63. package/dist/generated/services/cloud-files.d.ts +92 -0
  64. package/dist/generated/services/cloud-files.d.ts.map +1 -0
  65. package/dist/generated/services/cloud-files.js +121 -0
  66. package/dist/generated/services/cloud-files.js.map +1 -0
  67. package/dist/generated/services/cloud-files.ts +188 -0
  68. package/dist/generated/services/comments.d.ts +5 -0
  69. package/dist/generated/services/comments.d.ts.map +1 -1
  70. package/dist/generated/services/comments.js +4 -0
  71. package/dist/generated/services/comments.js.map +1 -1
  72. package/dist/generated/services/comments.ts +6 -0
  73. package/dist/generated/services/documents.d.ts +12 -7
  74. package/dist/generated/services/documents.d.ts.map +1 -1
  75. package/dist/generated/services/documents.js +10 -6
  76. package/dist/generated/services/documents.js.map +1 -1
  77. package/dist/generated/services/documents.ts +14 -8
  78. package/dist/generated/services/drafts.d.ts +1 -1
  79. package/dist/generated/services/drafts.d.ts.map +1 -1
  80. package/dist/generated/services/drafts.ts +1 -1
  81. package/dist/generated/services/events.d.ts +5 -0
  82. package/dist/generated/services/events.d.ts.map +1 -1
  83. package/dist/generated/services/events.js +4 -0
  84. package/dist/generated/services/events.js.map +1 -1
  85. package/dist/generated/services/events.ts +6 -0
  86. package/dist/generated/services/everything.d.ts +14 -14
  87. package/dist/generated/services/everything.d.ts.map +1 -1
  88. package/dist/generated/services/everything.ts +14 -14
  89. package/dist/generated/services/folders.d.ts +96 -0
  90. package/dist/generated/services/folders.d.ts.map +1 -0
  91. package/dist/generated/services/folders.js +140 -0
  92. package/dist/generated/services/folders.js.map +1 -0
  93. package/dist/generated/services/folders.ts +201 -0
  94. package/dist/generated/services/forwards.d.ts +7 -20
  95. package/dist/generated/services/forwards.d.ts.map +1 -1
  96. package/dist/generated/services/forwards.js +6 -35
  97. package/dist/generated/services/forwards.js.map +1 -1
  98. package/dist/generated/services/forwards.ts +10 -48
  99. package/dist/generated/services/gauges.d.ts +7 -0
  100. package/dist/generated/services/gauges.d.ts.map +1 -1
  101. package/dist/generated/services/gauges.js +5 -1
  102. package/dist/generated/services/gauges.js.map +1 -1
  103. package/dist/generated/services/gauges.ts +9 -1
  104. package/dist/generated/services/google-documents.d.ts +98 -0
  105. package/dist/generated/services/google-documents.d.ts.map +1 -0
  106. package/dist/generated/services/google-documents.js +123 -0
  107. package/dist/generated/services/google-documents.js.map +1 -0
  108. package/dist/generated/services/google-documents.ts +196 -0
  109. package/dist/generated/services/index.d.ts +7 -4
  110. package/dist/generated/services/index.d.ts.map +1 -1
  111. package/dist/generated/services/index.js +7 -4
  112. package/dist/generated/services/index.js.map +1 -1
  113. package/dist/generated/services/index.ts +7 -4
  114. package/dist/generated/services/messages.d.ts +2 -0
  115. package/dist/generated/services/messages.d.ts.map +1 -1
  116. package/dist/generated/services/messages.js +1 -1
  117. package/dist/generated/services/messages.js.map +1 -1
  118. package/dist/generated/services/messages.ts +3 -1
  119. package/dist/generated/services/my-notes.d.ts +1 -1
  120. package/dist/generated/services/my-notes.js +1 -1
  121. package/dist/generated/services/my-notes.ts +1 -1
  122. package/dist/generated/services/my-notifications.d.ts +4 -2
  123. package/dist/generated/services/my-notifications.d.ts.map +1 -1
  124. package/dist/generated/services/my-notifications.js.map +1 -1
  125. package/dist/generated/services/my-notifications.ts +4 -2
  126. package/dist/generated/services/people.d.ts +11 -1
  127. package/dist/generated/services/people.d.ts.map +1 -1
  128. package/dist/generated/services/people.js +13 -2
  129. package/dist/generated/services/people.js.map +1 -1
  130. package/dist/generated/services/people.ts +15 -1
  131. package/dist/generated/services/projects.d.ts +26 -0
  132. package/dist/generated/services/projects.d.ts.map +1 -1
  133. package/dist/generated/services/projects.js +49 -1
  134. package/dist/generated/services/projects.js.map +1 -1
  135. package/dist/generated/services/projects.ts +61 -1
  136. package/dist/generated/services/recordings.d.ts +2 -12
  137. package/dist/generated/services/recordings.d.ts.map +1 -1
  138. package/dist/generated/services/recordings.js +1 -26
  139. package/dist/generated/services/recordings.js.map +1 -1
  140. package/dist/generated/services/recordings.ts +3 -31
  141. package/dist/generated/services/reports.d.ts +8 -12
  142. package/dist/generated/services/reports.d.ts.map +1 -1
  143. package/dist/generated/services/reports.js +11 -5
  144. package/dist/generated/services/reports.js.map +1 -1
  145. package/dist/generated/services/reports.ts +13 -14
  146. package/dist/generated/services/schedules.d.ts +94 -15
  147. package/dist/generated/services/schedules.d.ts.map +1 -1
  148. package/dist/generated/services/schedules.js +19 -8
  149. package/dist/generated/services/schedules.js.map +1 -1
  150. package/dist/generated/services/schedules.ts +107 -17
  151. package/dist/generated/services/search.d.ts +2 -0
  152. package/dist/generated/services/search.d.ts.map +1 -1
  153. package/dist/generated/services/search.js +1 -1
  154. package/dist/generated/services/search.js.map +1 -1
  155. package/dist/generated/services/search.ts +3 -1
  156. package/dist/generated/services/templates.d.ts +2 -0
  157. package/dist/generated/services/templates.d.ts.map +1 -1
  158. package/dist/generated/services/templates.js +1 -1
  159. package/dist/generated/services/templates.js.map +1 -1
  160. package/dist/generated/services/templates.ts +3 -1
  161. package/dist/generated/services/timeline.d.ts +2 -0
  162. package/dist/generated/services/timeline.d.ts.map +1 -1
  163. package/dist/generated/services/timeline.js +1 -0
  164. package/dist/generated/services/timeline.js.map +1 -1
  165. package/dist/generated/services/timeline.ts +3 -0
  166. package/dist/generated/services/timesheets.d.ts +16 -0
  167. package/dist/generated/services/timesheets.d.ts.map +1 -1
  168. package/dist/generated/services/timesheets.js +26 -2
  169. package/dist/generated/services/timesheets.js.map +1 -1
  170. package/dist/generated/services/timesheets.ts +35 -2
  171. package/dist/generated/services/todolist-groups.d.ts +11 -6
  172. package/dist/generated/services/todolist-groups.d.ts.map +1 -1
  173. package/dist/generated/services/todolist-groups.js +7 -3
  174. package/dist/generated/services/todolist-groups.js.map +1 -1
  175. package/dist/generated/services/todolist-groups.ts +13 -7
  176. package/dist/generated/services/todolists.d.ts +15 -13
  177. package/dist/generated/services/todolists.d.ts.map +1 -1
  178. package/dist/generated/services/todolists.js +11 -8
  179. package/dist/generated/services/todolists.js.map +1 -1
  180. package/dist/generated/services/todolists.ts +19 -14
  181. package/dist/generated/services/todos.d.ts +2 -12
  182. package/dist/generated/services/todos.d.ts.map +1 -1
  183. package/dist/generated/services/todos.js +1 -25
  184. package/dist/generated/services/todos.js.map +1 -1
  185. package/dist/generated/services/todos.ts +3 -30
  186. package/dist/generated/services/uploads.d.ts +41 -2
  187. package/dist/generated/services/uploads.d.ts.map +1 -1
  188. package/dist/generated/services/uploads.js +41 -1
  189. package/dist/generated/services/uploads.js.map +1 -1
  190. package/dist/generated/services/uploads.ts +71 -2
  191. package/dist/generated/services/vaults.d.ts +5 -0
  192. package/dist/generated/services/vaults.d.ts.map +1 -1
  193. package/dist/generated/services/vaults.js +4 -0
  194. package/dist/generated/services/vaults.js.map +1 -1
  195. package/dist/generated/services/vaults.ts +6 -0
  196. package/dist/index.d.ts +16 -10
  197. package/dist/index.d.ts.map +1 -1
  198. package/dist/index.js +19 -8
  199. package/dist/index.js.map +1 -1
  200. package/dist/oauth/authorization-document.d.ts +201 -0
  201. package/dist/oauth/authorization-document.d.ts.map +1 -0
  202. package/dist/oauth/authorization-document.js +130 -0
  203. package/dist/oauth/authorization-document.js.map +1 -0
  204. package/dist/oauth/identity.d.ts +7 -1
  205. package/dist/oauth/identity.d.ts.map +1 -1
  206. package/dist/oauth/identity.js +8 -19
  207. package/dist/oauth/identity.js.map +1 -1
  208. package/dist/oauth/index.d.ts +1 -0
  209. package/dist/oauth/index.d.ts.map +1 -1
  210. package/dist/oauth/index.js +2 -0
  211. package/dist/oauth/index.js.map +1 -1
  212. package/dist/pagination-utils.d.ts +46 -0
  213. package/dist/pagination-utils.d.ts.map +1 -1
  214. package/dist/pagination-utils.js +85 -2
  215. package/dist/pagination-utils.js.map +1 -1
  216. package/dist/pagination.d.ts +11 -0
  217. package/dist/pagination.d.ts.map +1 -1
  218. package/dist/pagination.js.map +1 -1
  219. package/dist/retry.d.ts +110 -0
  220. package/dist/retry.d.ts.map +1 -0
  221. package/dist/retry.js +253 -0
  222. package/dist/retry.js.map +1 -0
  223. package/dist/services/authorization.d.ts +22 -52
  224. package/dist/services/authorization.d.ts.map +1 -1
  225. package/dist/services/authorization.js +14 -32
  226. package/dist/services/authorization.js.map +1 -1
  227. package/dist/services/base.d.ts.map +1 -1
  228. package/dist/services/base.js +59 -5
  229. package/dist/services/base.js.map +1 -1
  230. package/dist/services/cards-extensions.d.ts +26 -21
  231. package/dist/services/cards-extensions.d.ts.map +1 -1
  232. package/dist/services/cards-extensions.js +28 -31
  233. package/dist/services/cards-extensions.js.map +1 -1
  234. package/dist/services/documents-extensions.d.ts +122 -0
  235. package/dist/services/documents-extensions.d.ts.map +1 -0
  236. package/dist/services/documents-extensions.js +125 -0
  237. package/dist/services/documents-extensions.js.map +1 -0
  238. package/dist/services/merge-safe.d.ts +167 -0
  239. package/dist/services/merge-safe.d.ts.map +1 -0
  240. package/dist/services/merge-safe.js +217 -0
  241. package/dist/services/merge-safe.js.map +1 -0
  242. package/dist/services/schedules-extensions.d.ts +266 -0
  243. package/dist/services/schedules-extensions.d.ts.map +1 -0
  244. package/dist/services/schedules-extensions.js +268 -0
  245. package/dist/services/schedules-extensions.js.map +1 -0
  246. package/dist/services/todolists-extensions.d.ts +110 -0
  247. package/dist/services/todolists-extensions.d.ts.map +1 -0
  248. package/dist/services/todolists-extensions.js +262 -0
  249. package/dist/services/todolists-extensions.js.map +1 -0
  250. package/dist/services/todos-extensions.d.ts +12 -1
  251. package/dist/services/todos-extensions.d.ts.map +1 -1
  252. package/dist/services/todos-extensions.js +27 -8
  253. package/dist/services/todos-extensions.js.map +1 -1
  254. package/package.json +6 -5
  255. package/src/generated/metadata.ts +291 -141
  256. package/src/generated/openapi-stripped.json +5954 -3523
  257. package/src/generated/path-mapping.ts +28 -16
  258. package/src/generated/schema.d.ts +4390 -2357
  259. package/src/generated/services/bookmarks.ts +1 -1
  260. package/src/generated/services/boosts.ts +12 -0
  261. package/src/generated/services/campfires.ts +107 -85
  262. package/src/generated/services/cards.ts +6 -0
  263. package/src/generated/services/checkins.ts +20 -0
  264. package/src/generated/services/client-approvals.ts +10 -5
  265. package/src/generated/services/client-correspondences.ts +10 -5
  266. package/src/generated/services/client-replies.ts +18 -8
  267. package/src/generated/services/cloud-files.ts +188 -0
  268. package/src/generated/services/comments.ts +6 -0
  269. package/src/generated/services/documents.ts +14 -8
  270. package/src/generated/services/drafts.ts +1 -1
  271. package/src/generated/services/events.ts +6 -0
  272. package/src/generated/services/everything.ts +14 -14
  273. package/src/generated/services/folders.ts +201 -0
  274. package/src/generated/services/forwards.ts +10 -48
  275. package/src/generated/services/gauges.ts +9 -1
  276. package/src/generated/services/google-documents.ts +196 -0
  277. package/src/generated/services/index.ts +7 -4
  278. package/src/generated/services/messages.ts +3 -1
  279. package/src/generated/services/my-notes.ts +1 -1
  280. package/src/generated/services/my-notifications.ts +4 -2
  281. package/src/generated/services/people.ts +15 -1
  282. package/src/generated/services/projects.ts +61 -1
  283. package/src/generated/services/recordings.ts +3 -31
  284. package/src/generated/services/reports.ts +13 -14
  285. package/src/generated/services/schedules.ts +107 -17
  286. package/src/generated/services/search.ts +3 -1
  287. package/src/generated/services/templates.ts +3 -1
  288. package/src/generated/services/timeline.ts +3 -0
  289. package/src/generated/services/timesheets.ts +35 -2
  290. package/src/generated/services/todolist-groups.ts +13 -7
  291. package/src/generated/services/todolists.ts +19 -14
  292. package/src/generated/services/todos.ts +3 -30
  293. package/src/generated/services/uploads.ts +71 -2
  294. package/src/generated/services/vaults.ts +6 -0
package/dist/client.js CHANGED
@@ -10,15 +10,16 @@ import metadata from "./generated/metadata.js";
10
10
  import { PATH_TO_OPERATION } from "./generated/path-mapping.js";
11
11
  import { BasecampError } from "./errors.js";
12
12
  import { isLocalhost, requireSameOrigin } from "./security.js";
13
- import { parseNextLink, resolveURL, isSameOrigin } from "./pagination-utils.js";
13
+ import { parseNextLink, resolveURL, isSameOrigin, DEFAULT_MAX_PAGES, assertValidMaxPages } from "./pagination-utils.js";
14
14
  import { bearerAuth } from "./auth-strategy.js";
15
15
  import { createDownloadURL } from "./download.js";
16
+ import { DEFAULT_RETRY_CONFIG, NO_RETRY_CONFIG, TerminalRetryError, executeWithRetry, } from "./retry.js";
16
17
  // ============================================================================
17
18
  // Services - Generated from OpenAPI spec (spec-driven, not hand-written)
18
19
  // ============================================================================
19
20
  import { ProjectsService } from "./generated/services/projects.js";
20
21
  import { TodosService } from "./services/todos-extensions.js";
21
- import { TodolistsService } from "./generated/services/todolists.js";
22
+ import { TodolistsService } from "./services/todolists-extensions.js";
22
23
  import { TodosetsService } from "./generated/services/todosets.js";
23
24
  import { HillChartsService } from "./generated/services/hill-charts.js";
24
25
  import { PeopleService } from "./generated/services/people.js";
@@ -39,15 +40,18 @@ import { ClientCorrespondencesService } from "./generated/services/client-corres
39
40
  import { ClientRepliesService } from "./generated/services/client-replies.js";
40
41
  import { WebhooksService } from "./generated/services/webhooks.js";
41
42
  import { BookmarksService } from "./generated/services/bookmarks.js";
43
+ import { FoldersService } from "./generated/services/folders.js";
42
44
  import { DraftsService } from "./generated/services/drafts.js";
43
45
  import { CalendarsService } from "./generated/services/calendars.js";
44
46
  import { MyNotesService } from "./generated/services/my-notes.js";
45
47
  import { SubscriptionsService } from "./generated/services/subscriptions.js";
46
48
  import { AttachmentsService } from "./generated/services/attachments.js";
47
49
  import { VaultsService } from "./generated/services/vaults.js";
48
- import { DocumentsService } from "./generated/services/documents.js";
50
+ import { DocumentsService } from "./services/documents-extensions.js";
49
51
  import { UploadsService } from "./services/uploads-extensions.js";
50
- import { SchedulesService } from "./generated/services/schedules.js";
52
+ import { CloudFilesService } from "./generated/services/cloud-files.js";
53
+ import { GoogleDocumentsService } from "./generated/services/google-documents.js";
54
+ import { SchedulesService } from "./services/schedules-extensions.js";
51
55
  import { EventsService } from "./generated/services/events.js";
52
56
  import { RecordingsService } from "./generated/services/recordings.js";
53
57
  import { SearchService } from "./generated/services/search.js";
@@ -76,14 +80,14 @@ import { AuthorizationService } from "./services/authorization.js";
76
80
  * a TimeoutOverflowWarning rather than honored.
77
81
  */
78
82
  const MAX_TIMEOUT_MS = 2_147_483_647;
79
- export const VERSION = "0.12.0";
80
- export const API_VERSION = "2026-07-31";
83
+ export const VERSION = "0.14.0";
84
+ export const API_VERSION = "2026-08-05";
81
85
  const DEFAULT_USER_AGENT = `basecamp-sdk-ts/${VERSION} (api:${API_VERSION})`;
82
86
  /**
83
87
  * Creates a type-safe Basecamp API client with built-in middleware for:
84
88
  * - Authentication (Bearer token)
85
89
  * - Retry with exponential backoff (respects Retry-After header)
86
- * - ETag-based HTTP caching
90
+ * - ETag-based HTTP caching, opt-in via `enableCache` (defaults to false)
87
91
  *
88
92
  * @example
89
93
  * ```ts
@@ -119,6 +123,24 @@ export function createBasecampClient(options) {
119
123
  requestTimeoutMs > MAX_TIMEOUT_MS) {
120
124
  throw new BasecampError("usage", `'requestTimeoutMs' must be an integer between 0 and ${MAX_TIMEOUT_MS}, got ${requestTimeoutMs}`);
121
125
  }
126
+ // The cap the standalone helpers validate is the same cap the config carries,
127
+ // and this is the wider door: `maxPages` here is handed to every service and
128
+ // reached only later, inside `BaseService`'s `page < this.maxPages` loops, far
129
+ // from the call that misconfigured it. Same predicate, same error, checked
130
+ // once at construction — see assertValidMaxPages for what each rejected value
131
+ // does to the bound. Only when the caller supplied one: an absent cap must
132
+ // keep falling through to DEFAULT_MAX_PAGES.
133
+ //
134
+ // `!= null`, matching BaseService's guard exactly. This value is not consumed
135
+ // here — it is handed straight to every service below, where `maxPages ??
136
+ // DEFAULT_MAX_PAGES` treats an explicit `null` as absent. A `!== undefined`
137
+ // test here made the two doors disagree on that single value: the factory
138
+ // threw where the equivalent direct service construction defaulted. Whichever
139
+ // way "not supplied" is defined, both guards have to define it the same way,
140
+ // because the same `??` is downstream of both.
141
+ if (maxPages != null) {
142
+ assertValidMaxPages(maxPages);
143
+ }
122
144
  const authStrategy = auth ?? bearerAuth(accessToken);
123
145
  // Validate configuration (skip HTTPS check for localhost in dev/test)
124
146
  if (baseUrl) {
@@ -214,7 +236,7 @@ export function createBasecampClient(options) {
214
236
  // Wire downloadURL — raw fetch, not openapi-fetch (like fetchPage).
215
237
  // Defined before service factories so UploadsService can inject it.
216
238
  const downloadURLFn = createDownloadURL({
217
- authStrategy, userAgent, baseUrl, hooks, requestTimeoutMs,
239
+ authStrategy, userAgent, baseUrl, hooks, requestTimeoutMs, enableRetry,
218
240
  });
219
241
  Object.defineProperty(enhancedClient, "downloadURL", {
220
242
  value: downloadURLFn,
@@ -245,6 +267,7 @@ export function createBasecampClient(options) {
245
267
  defineService("clientReplies", () => new ClientRepliesService(client, hooks, fetchPage, maxPages));
246
268
  defineService("webhooks", () => new WebhooksService(client, hooks, fetchPage, maxPages));
247
269
  defineService("bookmarks", () => new BookmarksService(client, hooks, fetchPage, maxPages));
270
+ defineService("folders", () => new FoldersService(client, hooks, fetchPage, maxPages));
248
271
  defineService("drafts", () => new DraftsService(client, hooks, fetchPage, maxPages));
249
272
  defineService("calendars", () => new CalendarsService(client, hooks, fetchPage, maxPages));
250
273
  defineService("myNotes", () => new MyNotesService(client, hooks, fetchPage, maxPages));
@@ -252,6 +275,8 @@ export function createBasecampClient(options) {
252
275
  defineService("attachments", () => new AttachmentsService(client, hooks, fetchPage, maxPages));
253
276
  defineService("vaults", () => new VaultsService(client, hooks, fetchPage, maxPages));
254
277
  defineService("documents", () => new DocumentsService(client, hooks, fetchPage, maxPages));
278
+ defineService("cloudFiles", () => new CloudFilesService(client, hooks, fetchPage, maxPages));
279
+ defineService("googleDocuments", () => new GoogleDocumentsService(client, hooks, fetchPage, maxPages));
255
280
  defineService("uploads", () =>
256
281
  // Positional args mirror BaseService (incl. authenticatedFetch/baseUrl slots the
257
282
  // factory leaves unset), with downloadURLFn appended at the end.
@@ -521,21 +546,12 @@ function createCacheMiddleware() {
521
546
  function getCacheKey(url, tokenHash) {
522
547
  return `${tokenHash}:${url}`;
523
548
  }
524
- /** Default retry config used when no operation-specific config is available */
525
- const DEFAULT_RETRY_CONFIG = {
526
- maxAttempts: 3,
527
- baseDelayMs: 1000,
528
- backoff: "exponential",
529
- retryOn: [429, 503],
530
- };
531
- /** No-retry config for non-idempotent POST operations */
532
- const NO_RETRY_CONFIG = {
533
- maxAttempts: 1,
534
- baseDelayMs: 0,
535
- backoff: "constant",
536
- retryOn: [],
537
- };
538
- const MAX_JITTER_MS = 100;
549
+ // =============================================================================
550
+ // Retrying Fetch (the retry loop, beneath the middleware chain)
551
+ // =============================================================================
552
+ // The retry loop itself lives in retry.ts (executeWithRetry) so the raw-fetch
553
+ // download hop 1 shares it; this section owns what is client-specific — the
554
+ // operation-metadata config resolution and the openapi-fetch integration.
539
555
  // PATH_TO_OPERATION is imported from generated/path-mapping.js
540
556
  /**
541
557
  * Normalizes a URL path by replacing numeric IDs with placeholder tokens.
@@ -575,6 +591,8 @@ export function normalizeUrlPath(url) {
575
591
  comments: "{commentId}",
576
592
  tools: "{toolId}", // dock/tools/{toolId}
577
593
  documents: "{documentId}",
594
+ cloud_files: "{cloudFileId}",
595
+ google_documents: "{googleDocumentId}",
578
596
  inbox_forwards: "{forwardId}",
579
597
  inboxes: "{inboxId}",
580
598
  message_boards: "{boardId}",
@@ -701,7 +719,10 @@ function createRetryingFetch(lifecycle, authStrategy, enableRetry) {
701
719
  return async (request) => {
702
720
  const { method, url } = request;
703
721
  const retryConfig = getRetryConfigForRequest(method, url);
704
- const maxAttempts = enableRetry ? retryConfig.maxAttempts : 1;
722
+ const effectiveConfig = {
723
+ ...retryConfig,
724
+ maxAttempts: enableRetry ? retryConfig.maxAttempts : 1,
725
+ };
705
726
  // Serialize the body once, before the first send, because Request.body is
706
727
  // a stream that can only be consumed once and a retry needs to replay it.
707
728
  // clone() tees the stream, so attempt 1 sends the original untouched and
@@ -709,15 +730,13 @@ function createRetryingFetch(lifecycle, authStrategy, enableRetry) {
709
730
  // every non-idempotent POST, via NO_RETRY_CONFIG — skip the buffering.
710
731
  const upperMethod = method.toUpperCase();
711
732
  let bodyBuffer = null;
712
- if (maxAttempts > 1 &&
733
+ if (effectiveConfig.maxAttempts > 1 &&
713
734
  (upperMethod === "POST" || upperMethod === "PUT" || upperMethod === "PATCH") &&
714
735
  request.body) {
715
736
  bodyBuffer = await request.clone().arrayBuffer();
716
737
  }
717
- let attempt = 1;
718
738
  let attemptRequest = request;
719
- lifecycle.begin(request, method, url, attempt);
720
- for (;;) {
739
+ const makeAttempt = async (attempt) => {
721
740
  if (attempt > 1) {
722
741
  // Rebuild from the original request: the headers carry everything the
723
742
  // onRequest middleware attached (auth, User-Agent, If-None-Match), and
@@ -731,134 +750,56 @@ function createRetryingFetch(lifecycle, authStrategy, enableRetry) {
731
750
  });
732
751
  // Refresh auth (the token may have rotated since the last attempt).
733
752
  // The attempt is already begun, so a throwing refresh lands on a live
734
- // attempt and propagates to the lifecycle middleware's onError.
735
- await authStrategy.authenticate(attemptRequest.headers);
736
- }
737
- let response;
738
- try {
739
- // globalThis.fetch resolved per attempt rather than captured at client
740
- // creation, so test interceptors that patch it (MSW) are honored.
741
- response = await globalThis.fetch(attemptRequest);
742
- }
743
- catch (error) {
744
- // An abort is terminal no matter what the budget says: a caller
745
- // cancellation must not re-send, and the per-request timeout is one
746
- // budget shared by every attempt and backoff — once it fires, a retry
747
- // would instantly re-reject. Terminal errors are rethrown as-is so
748
- // their identity survives to the lifecycle middleware's onError (and
749
- // to the caller).
750
- //
751
- // The signal is the authoritative abort test: a caller can abort with
752
- // a CUSTOM reason — AbortController.abort(reason) — and fetch then
753
- // rejects with that reason, not a DOMException named AbortError. The
754
- // DOMException check remains for abort-shaped rejections that arrive
755
- // without an aborted request signal.
756
- const isAbort = request.signal?.aborted === true ||
757
- (error instanceof DOMException &&
758
- (error.name === "AbortError" || error.name === "TimeoutError"));
759
- if (isAbort || attempt >= maxAttempts) {
760
- throw error;
753
+ // attempt; the terminal marker carries it raw past the loop's retry
754
+ // classification to the lifecycle middleware's onError.
755
+ try {
756
+ await authStrategy.authenticate(attemptRequest.headers);
757
+ }
758
+ catch (error) {
759
+ throw new TerminalRetryError(error);
761
760
  }
762
- // Network-error retry rides the same per-operation gate as status
763
- // retry: a non-idempotent POST resolves NO_RETRY_CONFIG (maxAttempts
764
- // 1), so it is rethrown above after its single attempt.
765
- const cause = error instanceof Error ? error : new Error(String(error));
766
- const delay = calculateBackoffDelay(retryConfig, attempt - 1);
767
- lifecycle.finalize(request, method, url, { statusCode: 0, error: cause });
768
- lifecycle.retrying(method, url, attempt, cause, delay);
769
- await sleep(delay, request.signal);
770
- // Same placement rationale as the status path below.
771
- attempt += 1;
772
- lifecycle.begin(request, method, url, attempt);
773
- continue;
774
- }
775
- // Terminal: a status outside the operation's declared retryOn set, or a
776
- // spent budget — maxAttempts is a total attempt count, so attempt N is
777
- // terminal when it equals the cap.
778
- if (!retryConfig.retryOn.includes(response.status) || attempt >= maxAttempts) {
779
- return response;
780
- }
781
- // For 429, respect Retry-After; otherwise back off.
782
- let delay;
783
- const retryAfter = response.status === 429 ? response.headers.get("Retry-After") : null;
784
- const retryAfterSeconds = retryAfter ? parseInt(retryAfter, 10) : NaN;
785
- if (!isNaN(retryAfterSeconds)) {
786
- delay = retryAfterSeconds * 1000;
787
- }
788
- else {
789
- delay = calculateBackoffDelay(retryConfig, attempt - 1);
790
761
  }
791
- const statusError = new Error(`HTTP ${response.status}: ${response.statusText || "Request failed"}`);
792
- // End the failed attempt before sleeping, so a slow backoff cannot leave
793
- // an attempt open, then announce the upcoming one.
794
- lifecycle.finalize(request, method, url, { statusCode: response.status });
795
- lifecycle.retrying(method, url, attempt, statusError, delay);
796
- // This response is being discarded, so release its stream before we sleep
797
- // rather than leaving it open across the backoff — otherwise a throttled
798
- // client holds a connection per in-flight retry and cannot reuse any of
799
- // them. The multipart transport in services/base.ts already does this.
800
- // Errors are ignored: the body may already be consumed or closed.
801
- void response.body?.cancel().catch(() => { });
802
- await sleep(delay, request.signal);
803
- // Begun after the backoff but before any work that can throw. After, so
804
- // the attempt's duration measures the request rather than the sleep;
805
- // before, so that if the auth refresh or the fetch throws, the lifecycle
806
- // middleware's onError still finds a live attempt to finalize. Starting
807
- // it later would let onRetry announce an attempt and then never account
808
- // for it.
809
- attempt += 1;
810
- lifecycle.begin(request, method, url, attempt);
762
+ // globalThis.fetch resolved per attempt rather than captured at client
763
+ // creation, so test interceptors that patch it (MSW) are honored.
764
+ return globalThis.fetch(attemptRequest);
765
+ };
766
+ const emit = {
767
+ begin: (attempt) => lifecycle.begin(request, method, url, attempt),
768
+ finalize: (outcome) => lifecycle.finalize(request, method, url, outcome),
769
+ retrying: (failedAttempt, error, delayMs) => lifecycle.retrying(method, url, failedAttempt, error, delayMs),
770
+ };
771
+ try {
772
+ return await executeWithRetry(makeAttempt, effectiveConfig, emit, request.signal);
811
773
  }
812
- };
813
- }
814
- function calculateBackoffDelay(config, attempt) {
815
- const base = config.baseDelayMs;
816
- let delay;
817
- switch (config.backoff) {
818
- case "exponential":
819
- delay = base * Math.pow(2, attempt);
820
- break;
821
- case "linear":
822
- delay = base * (attempt + 1);
823
- break;
824
- case "constant":
825
- default:
826
- delay = base;
827
- }
828
- // Add jitter (0-100ms)
829
- const jitter = Math.random() * MAX_JITTER_MS;
830
- return delay + jitter;
831
- }
832
- /**
833
- * Signal-aware sleep for backoff waits: resolves after `ms`, or rejects with
834
- * the signal's abort reason the moment it fires. Without this, a caller abort
835
- * or the request-timeout budget expiring during a backoff would leave the
836
- * request pending for the full delay and then start another attempt — begin,
837
- * auth refresh, fetch — against an already-aborted signal.
838
- */
839
- function sleep(ms, signal) {
840
- return new Promise((resolve, reject) => {
841
- if (signal?.aborted) {
842
- reject(signal.reason);
843
- return;
774
+ catch (error) {
775
+ // Unwrap the terminal marker so the original error's identity survives
776
+ // to the lifecycle middleware's onError (and to the caller).
777
+ throw error instanceof TerminalRetryError ? error.reason : error;
844
778
  }
845
- const onAbort = () => {
846
- clearTimeout(timer);
847
- reject(signal.reason);
848
- };
849
- const timer = setTimeout(() => {
850
- signal?.removeEventListener("abort", onAbort);
851
- resolve();
852
- }, ms);
853
- signal?.addEventListener("abort", onAbort, { once: true });
854
- });
779
+ };
855
780
  }
856
781
  // =============================================================================
857
782
  // Pagination Helper
858
783
  // =============================================================================
859
784
  /**
860
785
  * Fetches all pages of a paginated resource using Link header pagination.
861
- * Automatically follows rel="next" links until no more pages exist.
786
+ * Automatically follows rel="next" links until no more pages exist, or until
787
+ * `maxPages` pages have been consumed.
788
+ *
789
+ * The cap is not optional in spirit: a Link header naming the page it was
790
+ * served from makes "until no more pages exist" never true, and the header is
791
+ * attacker-influenced (that is why `isSameOrigin` is checked below). Every
792
+ * other pagination loop in this SDK, and in the other five, is bounded the
793
+ * same way. Reaching the cap stops quietly — there is no meta channel on a
794
+ * bare `T[]` to report it, and throwing would break callers who legitimately
795
+ * have that many pages.
796
+ *
797
+ * @param maxPages - Safety cap on pages CONSUMED. Must be a positive integer;
798
+ * `0`, negatives, `NaN`, `Infinity` and non-integers all throw
799
+ * `BasecampError("usage")` before any request is made. Defaults to
800
+ * `DEFAULT_MAX_PAGES`.
801
+ * @throws {BasecampError} with `code: "usage"` if `maxPages` is not a positive
802
+ * integer.
862
803
  *
863
804
  * @example
864
805
  * ```ts
@@ -870,12 +811,22 @@ function sleep(ms, signal) {
870
811
  * );
871
812
  * ```
872
813
  */
873
- export async function fetchAllPages(initialResponse, parse, authHeader) {
814
+ export async function fetchAllPages(initialResponse, parse, authHeader, maxPages = DEFAULT_MAX_PAGES) {
815
+ assertValidMaxPages(maxPages);
874
816
  const results = [];
875
817
  let response = initialResponse;
876
- while (true) {
818
+ for (let page = 1; page <= maxPages; page++) {
877
819
  const items = await parse(response.clone());
878
820
  results.push(...items);
821
+ // Before reading the Link header, not after fetching it. The loop consumes
822
+ // the current page at the head of the iteration and fetches the next at the
823
+ // tail, so testing the cap only in the `for` condition would let the final
824
+ // allowed iteration issue a request whose response is never parsed and
825
+ // never returned — and that request goes to a URL taken from an
826
+ // attacker-influenceable header. `maxPages` counts pages CONSUMED, matching
827
+ // BaseService.followPagination.
828
+ if (page === maxPages)
829
+ break;
879
830
  const rawNextUrl = parseNextLink(response.headers.get("Link"));
880
831
  if (!rawNextUrl)
881
832
  break;
@@ -897,6 +848,23 @@ export async function fetchAllPages(initialResponse, parse, authHeader) {
897
848
  * Async generator that yields pages of results one at a time.
898
849
  * Useful for processing large datasets without loading everything into memory.
899
850
  *
851
+ * Bounded by `maxPages` for the same reason as {@link fetchAllPages}: a Link
852
+ * header that points at its own page would otherwise yield forever.
853
+ *
854
+ * Validation is EAGER, which is why this is a plain function returning a
855
+ * generator rather than an `async function*`. The body of an `async function*`
856
+ * does not run until something iterates it, so a check written inside one would
857
+ * surface a bad `maxPages` at some later `for await` — possibly in a different
858
+ * function, on a generator that was passed along. A usage error is a programmer
859
+ * error and belongs at the call site that made it.
860
+ *
861
+ * @param maxPages - Safety cap on pages CONSUMED. Must be a positive integer;
862
+ * `0`, negatives, `NaN`, `Infinity` and non-integers all throw
863
+ * `BasecampError("usage")` from this call, before the generator is created
864
+ * and before any request is made. Defaults to `DEFAULT_MAX_PAGES`.
865
+ * @throws {BasecampError} with `code: "usage"` if `maxPages` is not a positive
866
+ * integer.
867
+ *
900
868
  * @example
901
869
  * ```ts
902
870
  * for await (const page of paginateAll(response.response, (r) => r.json() as Promise<any[]>)) {
@@ -904,11 +872,25 @@ export async function fetchAllPages(initialResponse, parse, authHeader) {
904
872
  * }
905
873
  * ```
906
874
  */
907
- export async function* paginateAll(initialResponse, parse, authHeader) {
875
+ export function paginateAll(initialResponse, parse, authHeader, maxPages = DEFAULT_MAX_PAGES) {
876
+ assertValidMaxPages(maxPages);
877
+ return paginatePages(initialResponse, parse, authHeader, maxPages);
878
+ }
879
+ /**
880
+ * The generator body behind {@link paginateAll}. Split out only so the cap can
881
+ * be validated before the generator object exists; `maxPages` is already known
882
+ * good here.
883
+ */
884
+ async function* paginatePages(initialResponse, parse, authHeader, maxPages) {
908
885
  let response = initialResponse;
909
- while (true) {
886
+ for (let page = 1; page <= maxPages; page++) {
910
887
  const items = await parse(response.clone());
911
888
  yield items;
889
+ // See {@link fetchAllPages}: breaking here rather than relying on the loop
890
+ // condition is what keeps the last allowed iteration from issuing a fetch
891
+ // whose response is never yielded.
892
+ if (page === maxPages)
893
+ break;
912
894
  const rawNextUrl = parseNextLink(response.headers.get("Link"));
913
895
  if (!rawNextUrl)
914
896
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,13 @@ interface DownloadDeps {
25
25
  baseUrl: string;
26
26
  hooks?: BasecampHooks;
27
27
  requestTimeoutMs: number;
28
+ /** false collapses hop 1 to exactly one attempt (SPEC §14). */
29
+ enableRetry: boolean;
30
+ /**
31
+ * Test seam for the fixed policy's backoff base. Not wired to any client
32
+ * option — production callers omit it and get the 1-second base.
33
+ */
34
+ retryBaseDelayMs?: number;
28
35
  }
29
36
  /**
30
37
  * Creates a downloadURL function bound to the client's auth and configuration.
@@ -1 +1 @@
1
- {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAA8B,MAAM,YAAY,CAAC;AAI5E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACjC,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAetD;AAUD,iDAAiD;AACjD,UAAU,YAAY;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAyJjG"}
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAA8B,MAAM,YAAY,CAAC;AAsB5E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACjC,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAetD;AAUD,iDAAiD;AACjD,UAAU,YAAY;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,WAAW,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CA2MjG"}