@37signals/basecamp 0.12.0 → 0.13.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 (278) hide show
  1. package/README.md +112 -16
  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 +18 -0
  12. package/dist/errors.d.ts.map +1 -1
  13. package/dist/errors.js +127 -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 +280 -141
  17. package/dist/generated/metadata.js.map +1 -1
  18. package/dist/generated/metadata.ts +280 -141
  19. package/dist/generated/openapi-stripped.json +6435 -4283
  20. package/dist/generated/path-mapping.d.ts.map +1 -1
  21. package/dist/generated/path-mapping.js +27 -16
  22. package/dist/generated/path-mapping.js.map +1 -1
  23. package/dist/generated/path-mapping.ts +27 -16
  24. package/dist/generated/schema.d.ts +4283 -2457
  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 +5 -0
  187. package/dist/generated/services/uploads.d.ts.map +1 -1
  188. package/dist/generated/services/uploads.js +4 -0
  189. package/dist/generated/services/uploads.js.map +1 -1
  190. package/dist/generated/services/uploads.ts +6 -0
  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 +15 -9
  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/pagination-utils.d.ts +46 -0
  201. package/dist/pagination-utils.d.ts.map +1 -1
  202. package/dist/pagination-utils.js +85 -2
  203. package/dist/pagination-utils.js.map +1 -1
  204. package/dist/pagination.d.ts +11 -0
  205. package/dist/pagination.d.ts.map +1 -1
  206. package/dist/pagination.js.map +1 -1
  207. package/dist/retry.d.ts +110 -0
  208. package/dist/retry.d.ts.map +1 -0
  209. package/dist/retry.js +253 -0
  210. package/dist/retry.js.map +1 -0
  211. package/dist/services/base.d.ts.map +1 -1
  212. package/dist/services/base.js +59 -5
  213. package/dist/services/base.js.map +1 -1
  214. package/dist/services/cards-extensions.d.ts +26 -21
  215. package/dist/services/cards-extensions.d.ts.map +1 -1
  216. package/dist/services/cards-extensions.js +28 -31
  217. package/dist/services/cards-extensions.js.map +1 -1
  218. package/dist/services/documents-extensions.d.ts +122 -0
  219. package/dist/services/documents-extensions.d.ts.map +1 -0
  220. package/dist/services/documents-extensions.js +125 -0
  221. package/dist/services/documents-extensions.js.map +1 -0
  222. package/dist/services/merge-safe.d.ts +167 -0
  223. package/dist/services/merge-safe.d.ts.map +1 -0
  224. package/dist/services/merge-safe.js +217 -0
  225. package/dist/services/merge-safe.js.map +1 -0
  226. package/dist/services/schedules-extensions.d.ts +266 -0
  227. package/dist/services/schedules-extensions.d.ts.map +1 -0
  228. package/dist/services/schedules-extensions.js +268 -0
  229. package/dist/services/schedules-extensions.js.map +1 -0
  230. package/dist/services/todolists-extensions.d.ts +110 -0
  231. package/dist/services/todolists-extensions.d.ts.map +1 -0
  232. package/dist/services/todolists-extensions.js +262 -0
  233. package/dist/services/todolists-extensions.js.map +1 -0
  234. package/dist/services/todos-extensions.d.ts +12 -1
  235. package/dist/services/todos-extensions.d.ts.map +1 -1
  236. package/dist/services/todos-extensions.js +27 -8
  237. package/dist/services/todos-extensions.js.map +1 -1
  238. package/package.json +5 -4
  239. package/src/generated/metadata.ts +280 -141
  240. package/src/generated/openapi-stripped.json +6435 -4283
  241. package/src/generated/path-mapping.ts +27 -16
  242. package/src/generated/schema.d.ts +4283 -2457
  243. package/src/generated/services/bookmarks.ts +1 -1
  244. package/src/generated/services/boosts.ts +12 -0
  245. package/src/generated/services/campfires.ts +107 -85
  246. package/src/generated/services/cards.ts +6 -0
  247. package/src/generated/services/checkins.ts +20 -0
  248. package/src/generated/services/client-approvals.ts +10 -5
  249. package/src/generated/services/client-correspondences.ts +10 -5
  250. package/src/generated/services/client-replies.ts +18 -8
  251. package/src/generated/services/cloud-files.ts +188 -0
  252. package/src/generated/services/comments.ts +6 -0
  253. package/src/generated/services/documents.ts +14 -8
  254. package/src/generated/services/drafts.ts +1 -1
  255. package/src/generated/services/events.ts +6 -0
  256. package/src/generated/services/everything.ts +14 -14
  257. package/src/generated/services/folders.ts +201 -0
  258. package/src/generated/services/forwards.ts +10 -48
  259. package/src/generated/services/gauges.ts +9 -1
  260. package/src/generated/services/google-documents.ts +196 -0
  261. package/src/generated/services/index.ts +7 -4
  262. package/src/generated/services/messages.ts +3 -1
  263. package/src/generated/services/my-notes.ts +1 -1
  264. package/src/generated/services/my-notifications.ts +4 -2
  265. package/src/generated/services/people.ts +15 -1
  266. package/src/generated/services/projects.ts +61 -1
  267. package/src/generated/services/recordings.ts +3 -31
  268. package/src/generated/services/reports.ts +13 -14
  269. package/src/generated/services/schedules.ts +107 -17
  270. package/src/generated/services/search.ts +3 -1
  271. package/src/generated/services/templates.ts +3 -1
  272. package/src/generated/services/timeline.ts +3 -0
  273. package/src/generated/services/timesheets.ts +35 -2
  274. package/src/generated/services/todolist-groups.ts +13 -7
  275. package/src/generated/services/todolists.ts +19 -14
  276. package/src/generated/services/todos.ts +3 -30
  277. package/src/generated/services/uploads.ts +6 -0
  278. package/src/generated/services/vaults.ts +6 -0
@@ -75,6 +75,9 @@ export class VaultsService extends BaseService {
75
75
  * @example
76
76
  * ```ts
77
77
  * const result = await client.vaults.list(123);
78
+ *
79
+ * // With options
80
+ * const filtered = await client.vaults.list(123, { page: 1 });
78
81
  * ```
79
82
  */
80
83
  async list(vaultId, options) {
@@ -87,6 +90,7 @@ export class VaultsService extends BaseService {
87
90
  }, () => this.client.GET("/vaults/{vaultId}/vaults.json", {
88
91
  params: {
89
92
  path: { vaultId },
93
+ query: { page: options?.page },
90
94
  },
91
95
  }), options);
92
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vaults.js","sourceRoot":"","sources":["../../../src/generated/services/vaults.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAgCzC,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAE5C;;;;;;;;;;OAUG;IACH,KAAK,CAAC,GAAG,CAAC,OAAe;QACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,UAAU;YACrB,YAAY,EAAE,OAAO;YACrB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,OAAO;SACpB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE;YACnC,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,GAAuB;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,aAAa;YACxB,YAAY,EAAE,OAAO;YACrB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,OAAO;SACpB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE;YACnC,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,IAAI,CAAC,OAAe,EAAE,OAA0B;QACpD,OAAO,IAAI,CAAC,gBAAgB,CAC1B;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,OAAO;YACrB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,OAAO;SACpB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,EAAE;YAC/C,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB;SACF,CAAC,EACF,OAAO,CACV,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,GAAuB;QACnD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,aAAa;YACxB,YAAY,EAAE,OAAO;YACrB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,OAAO;SACpB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;YAChD,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
1
+ {"version":3,"file":"vaults.js","sourceRoot":"","sources":["../../../src/generated/services/vaults.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAkCzC,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAE5C;;;;;;;;;;OAUG;IACH,KAAK,CAAC,GAAG,CAAC,OAAe;QACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,UAAU;YACrB,YAAY,EAAE,OAAO;YACrB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,OAAO;SACpB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE;YACnC,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,GAAuB;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,aAAa;YACxB,YAAY,EAAE,OAAO;YACrB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,OAAO;SACpB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE;YACnC,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,IAAI,CAAC,OAAe,EAAE,OAA0B;QACpD,OAAO,IAAI,CAAC,gBAAgB,CAC1B;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,OAAO;YACrB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,OAAO;SACpB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,EAAE;YAC/C,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,OAAO,EAAE;gBACjB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;aAC/B;SACF,CAAC,EACF,OAAO,CACV,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,GAAuB;QACnD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,aAAa;YACxB,YAAY,EAAE,OAAO;YACrB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,OAAO;SACpB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;YAChD,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
@@ -29,6 +29,8 @@ export interface UpdateVaultRequest {
29
29
  * Options for list.
30
30
  */
31
31
  export interface ListVaultOptions extends PaginationOptions {
32
+ /** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
33
+ page?: number;
32
34
  }
33
35
 
34
36
  /**
@@ -122,6 +124,9 @@ export class VaultsService extends BaseService {
122
124
  * @example
123
125
  * ```ts
124
126
  * const result = await client.vaults.list(123);
127
+ *
128
+ * // With options
129
+ * const filtered = await client.vaults.list(123, { page: 1 });
125
130
  * ```
126
131
  */
127
132
  async list(vaultId: number, options?: ListVaultOptions): Promise<ListResult<Vault>> {
@@ -137,6 +142,7 @@ export class VaultsService extends BaseService {
137
142
  this.client.GET("/vaults/{vaultId}/vaults.json", {
138
143
  params: {
139
144
  path: { vaultId },
145
+ query: { page: options?.page },
140
146
  },
141
147
  })
142
148
  , options
package/dist/index.d.ts CHANGED
@@ -35,14 +35,15 @@ export { fetchAllPages, paginateAll } from "./client.js";
35
35
  export { ListResult, parseTotalCount, type ListMeta, type PaginationOptions } from "./pagination.js";
36
36
  export { parseNextLink, resolveURL, isSameOrigin } from "./pagination-utils.js";
37
37
  export { type DownloadResult, filenameFromURL } from "./download.js";
38
- export { BasecampError, Errors, errorFromResponse, isBasecampError, isErrorCode, type ErrorCode, type BasecampErrorOptions, } from "./errors.js";
38
+ export { BasecampError, Errors, errorFromParsedBody, errorFromResponse, isBasecampError, isErrorCode, type ErrorCode, type BasecampErrorOptions, } from "./errors.js";
39
39
  export { chainHooks, consoleHooks, noopHooks, safeInvoke, type BasecampHooks, type OperationInfo, type RequestInfo, type RequestResult, type OperationResult, type ConsoleHooksOptions, } from "./hooks.js";
40
40
  export { BaseService, type FetchResponse } from "./services/base.js";
41
41
  export { AuthorizationService, type Identity, type AuthorizedAccount, type AuthorizationInfo, type GetAuthorizationInfoOptions, } from "./services/authorization.js";
42
42
  export { ProjectsService, type Project, type ListProjectOptions, type CreateProjectRequest, type UpdateProjectRequest, } from "./generated/services/projects.js";
43
43
  export { TodosService, type UpdateTodoRequest, type TodoFields, } from "./services/todos-extensions.js";
44
44
  export { type Todo, type ListTodoOptions, type CreateTodoRequest, type CreateTodosetTodoTodoRequest, type ReplaceTodoRequest, type RepositionTodoRequest, } from "./generated/services/todos.js";
45
- export { TodolistsService, type Todolist, type ListTodolistOptions, type CreateTodolistRequest, type UpdateTodolistRequest, type RepositionTodolistRequest, } from "./generated/services/todolists.js";
45
+ export { TodolistsService, type UpdateTodolistRequest, type TodolistFields, } from "./services/todolists-extensions.js";
46
+ export { type Todolist, type ListTodolistOptions, type CreateTodolistRequest, type ReplaceTodolistRequest, type RepositionTodolistRequest, } from "./generated/services/todolists.js";
46
47
  export { TodosetsService, type Todoset, } from "./generated/services/todosets.js";
47
48
  export { HillChartsService, type UpdateSettingsHillChartRequest, } from "./generated/services/hill-charts.js";
48
49
  export { PeopleService, type Person, type UpdateProjectAccessPeopleRequest, } from "./generated/services/people.js";
@@ -57,7 +58,7 @@ export { CardStepsService, type CardStep, type CreateCardStepRequest, type Updat
57
58
  export { WormholesService, type Wormhole, type CreateWormholeRequest, type UpdateWormholeRequest, } from "./generated/services/wormholes.js";
58
59
  export { MessageBoardsService, type MessageBoard, } from "./generated/services/message-boards.js";
59
60
  export { MessageTypesService, type MessageType, type CreateMessageTypeRequest, type UpdateMessageTypeRequest, } from "./generated/services/message-types.js";
60
- export { ForwardsService, type Inbox, type Forward, type ForwardReply, type CreateReplyForwardRequest, } from "./generated/services/forwards.js";
61
+ export { ForwardsService, type Inbox, type Forward, type ForwardReply, } from "./generated/services/forwards.js";
61
62
  export { CheckinsService, type Questionnaire, type Question, type Answer, type CreateQuestionCheckinRequest, type UpdateQuestionCheckinRequest, type CreateAnswerCheckinRequest, type UpdateAnswerCheckinRequest, type UpdateNotificationSettingsCheckinRequest, } from "./generated/services/checkins.js";
62
63
  export { ClientApprovalsService, type ClientApproval, } from "./generated/services/client-approvals.js";
63
64
  export { ClientCorrespondencesService, type ClientCorrespondence, } from "./generated/services/client-correspondences.js";
@@ -69,6 +70,7 @@ export { verifyWebhookSignature, signWebhookPayload } from "./webhooks/verify.js
69
70
  export { parseEventKind, WebhookEventKind, type WebhookEvent, type WebhookDelivery, type WebhookDeliveryRequest, type WebhookDeliveryResponse, type WebhookCopy, } from "./webhooks/events.js";
70
71
  export { createNodeHandler, type NodeHandlerOptions } from "./webhooks/adapters/node-http.js";
71
72
  export { BookmarksService, type Bookmark, type BookmarkStatus, type ListMyBookmarksBookmarkOptions, } from "./generated/services/bookmarks.js";
73
+ export { FoldersService, type Folder, type FolderWithProjects, type CreateFolderFolderRequest, type UpdateFolderFolderRequest, } from "./generated/services/folders.js";
72
74
  export { DraftsService, type Draft, type ListMyDraftsDraftOptions, } from "./generated/services/drafts.js";
73
75
  export { CalendarsService, type Calendar, type UpdateCalendarCalendarRequest, } from "./generated/services/calendars.js";
74
76
  export { MyNotesService, type MyNote, type UpdateMyNoteMyNoteRequest, } from "./generated/services/my-notes.js";
@@ -76,12 +78,16 @@ export { SubscriptionsService, type Subscription, type UpdateSubscriptionRequest
76
78
  export { EventsService, type Event, } from "./generated/services/events.js";
77
79
  export { AttachmentsService, } from "./generated/services/attachments.js";
78
80
  export { VaultsService, type Vault, type CreateVaultRequest, type UpdateVaultRequest, } from "./generated/services/vaults.js";
79
- export { DocumentsService, type Document, type CreateDocumentRequest, type UpdateDocumentRequest, } from "./generated/services/documents.js";
81
+ export { DocumentsService, type UpdateDocumentRequest, type DocumentFields, } from "./services/documents-extensions.js";
82
+ export { type Document, type CreateDocumentRequest, type ReplaceDocumentRequest, } from "./generated/services/documents.js";
83
+ export { CloudFilesService, type CloudFile, type CreateCloudFileCloudFileRequest, type UpdateCloudFileCloudFileRequest, } from "./generated/services/cloud-files.js";
84
+ export { GoogleDocumentsService, type GoogleDocument, type CreateGoogleDocumentGoogleDocumentRequest, type UpdateGoogleDocumentGoogleDocumentRequest, } from "./generated/services/google-documents.js";
80
85
  export { UploadsService } from "./services/uploads-extensions.js";
81
86
  export { type Upload, type CreateUploadRequest, type UpdateUploadRequest, } from "./generated/services/uploads.js";
82
- export { SchedulesService, type Schedule, type ScheduleEntry, type CreateEntryScheduleRequest, type UpdateEntryScheduleRequest, type UpdateSettingsScheduleRequest, type ListEntriesScheduleOptions, } from "./generated/services/schedules.js";
83
- export { TimesheetsService, type ForRecordingTimesheetOptions, type ForProjectTimesheetOptions, type ReportTimesheetOptions, } from "./generated/services/timesheets.js";
84
- export { TimelineService, } from "./generated/services/timeline.js";
87
+ export { SchedulesService, type UpdateScheduleEntryRequest, type ScheduleEntryFields, } from "./services/schedules-extensions.js";
88
+ export { type Schedule, type ScheduleEntry, type CreateEntryScheduleRequest, type ReplaceEntryScheduleRequest, type UpdateSettingsScheduleRequest, type ListEntriesScheduleOptions, } from "./generated/services/schedules.js";
89
+ export { TimesheetsService, type TimesheetEntry, type ForRecordingTimesheetOptions, type ForProjectTimesheetOptions, type ReportTimesheetOptions, } from "./generated/services/timesheets.js";
90
+ export { TimelineService, type TimelineEvent, } from "./generated/services/timeline.js";
85
91
  export { EverythingService, type EverythingFile, type BucketTodosGroup, type BucketCardsGroup, type EverythingMessagesEverythingOptions, type EverythingCommentsEverythingOptions, type EverythingCheckinsEverythingOptions, type EverythingForwardsEverythingOptions, type EverythingFilesEverythingOptions, type EverythingOpenTodosEverythingOptions, type EverythingCompletedTodosEverythingOptions, type EverythingUnassignedTodosEverythingOptions, type EverythingNoDueDateTodosEverythingOptions, type EverythingOpenCardsEverythingOptions, type EverythingCompletedCardsEverythingOptions, type EverythingUnassignedCardsEverythingOptions, type EverythingNoDueDateCardsEverythingOptions, type EverythingNotNowCardsEverythingOptions, } from "./generated/services/everything.js";
86
92
  export { SearchService, type SearchSearchOptions, } from "./generated/services/search.js";
87
93
  export { ReportsService, type PersonProgressReportOptions, } from "./generated/services/reports.js";
@@ -89,13 +95,13 @@ export { RecordingsService, type Recording, type ListRecordingOptions, } from ".
89
95
  export { TemplatesService, type Template, type ListTemplateOptions, type CreateTemplateRequest, type UpdateTemplateRequest, type CreateProjectTemplateRequest, } from "./generated/services/templates.js";
90
96
  export { LineupService, type CreateLineupRequest, type UpdateLineupRequest, } from "./generated/services/lineup.js";
91
97
  export { AutomationService, type LineupMarker, } from "./generated/services/automation.js";
92
- export { TodolistGroupsService, type TodolistGroup, type CreateTodolistGroupRequest, } from "./generated/services/todolist-groups.js";
98
+ export { TodolistGroupsService, type CreateTodolistGroupRequest, } from "./generated/services/todolist-groups.js";
93
99
  export { ToolsService, type Tool, } from "./generated/services/tools.js";
94
100
  export { BoostsService, type Boost, type ListForRecordingBoostOptions, type CreateForRecordingBoostRequest, type ListForEventBoostOptions, type CreateForEventBoostRequest, } from "./generated/services/boosts.js";
95
101
  export { AccountService, } from "./generated/services/account.js";
96
102
  export { GaugesService, } from "./generated/services/gauges.js";
97
103
  export { MyAssignmentsService, } from "./generated/services/my-assignments.js";
98
- export { MyNotificationsService, } from "./generated/services/my-notifications.js";
104
+ export { MyNotificationsService, type Notification, } from "./generated/services/my-notifications.js";
99
105
  export { otelHooks, type OtelHooksOptions, } from "./hooks/otel.js";
100
106
  export type { OAuthConfig, OAuthToken, ExchangeRequest, RefreshRequest, RawTokenResponse, OAuthErrorResponse, ProtectedResourceMetadata, FallbackReason, DiscoverySelectionErrorReason, DiscoverFromResourceResult, DeviceAuthorization, } from "./oauth/types.js";
101
107
  export { discover, discoverProtectedResource, discoverFromResource, discoverLaunchpad, requireOriginRoot, DiscoverySelectionError, LAUNCHPAD_BASE_URL, type DiscoverOptions, type DiscoverFromResourceOptions, } from "./oauth/discovery.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -41,7 +41,7 @@ export { parseNextLink, resolveURL, isSameOrigin } from "./pagination-utils.js";
41
41
  // Download
42
42
  export { filenameFromURL } from "./download.js";
43
43
  // Errors
44
- export { BasecampError, Errors, errorFromResponse, isBasecampError, isErrorCode, } from "./errors.js";
44
+ export { BasecampError, Errors, errorFromParsedBody, errorFromResponse, isBasecampError, isErrorCode, } from "./errors.js";
45
45
  // Hooks
46
46
  export { chainHooks, consoleHooks, noopHooks, safeInvoke, } from "./hooks.js";
47
47
  // =============================================================================
@@ -54,7 +54,7 @@ export { AuthorizationService, } from "./services/authorization.js";
54
54
  // Core services - generated
55
55
  export { ProjectsService, } from "./generated/services/projects.js";
56
56
  export { TodosService, } from "./services/todos-extensions.js";
57
- export { TodolistsService, } from "./generated/services/todolists.js";
57
+ export { TodolistsService, } from "./services/todolists-extensions.js";
58
58
  export { TodosetsService, } from "./generated/services/todosets.js";
59
59
  export { HillChartsService, } from "./generated/services/hill-charts.js";
60
60
  export { PeopleService, } from "./generated/services/people.js";
@@ -64,9 +64,10 @@ export { CommentsService, } from "./generated/services/comments.js";
64
64
  export { CampfiresService, } from "./generated/services/campfires.js";
65
65
  // Card services (kanban boards) - generated
66
66
  export { CardTablesService, } from "./generated/services/card-tables.js";
67
- // The plain names belong to the merge-safe composite. UpdateCardRequest keeps
68
- // working and is strictly wider than before (dueOn accepts null, to ask for an
69
- // explicit clear); UpdateVerbatimCardRequest above is the raw generated shape.
67
+ // The plain names belong to the presence-aware composite. UpdateCardRequest is
68
+ // strictly wider than the generated shape: its dueOn also accepts null, to ask
69
+ // for an explicit clear, which goes on the wire as "due_on": "".
70
+ // UpdateVerbatimCardRequest above is the raw generated shape.
70
71
  export { CardsService, } from "./services/cards-extensions.js";
71
72
  export { CardColumnsService, } from "./generated/services/card-columns.js";
72
73
  export { CardStepsService, } from "./generated/services/card-steps.js";
@@ -91,6 +92,7 @@ export { verifyWebhookSignature, signWebhookPayload } from "./webhooks/verify.js
91
92
  export { parseEventKind, WebhookEventKind, } from "./webhooks/events.js";
92
93
  export { createNodeHandler } from "./webhooks/adapters/node-http.js";
93
94
  export { BookmarksService, } from "./generated/services/bookmarks.js";
95
+ export { FoldersService, } from "./generated/services/folders.js";
94
96
  export { DraftsService, } from "./generated/services/drafts.js";
95
97
  export { CalendarsService, } from "./generated/services/calendars.js";
96
98
  export { MyNotesService, } from "./generated/services/my-notes.js";
@@ -99,11 +101,16 @@ export { EventsService, } from "./generated/services/events.js";
99
101
  // File services - generated
100
102
  export { AttachmentsService, } from "./generated/services/attachments.js";
101
103
  export { VaultsService, } from "./generated/services/vaults.js";
102
- export { DocumentsService, } from "./generated/services/documents.js";
104
+ export { DocumentsService, } from "./services/documents-extensions.js";
105
+ export { CloudFilesService, } from "./generated/services/cloud-files.js";
106
+ export { GoogleDocumentsService, } from "./generated/services/google-documents.js";
103
107
  export { UploadsService } from "./services/uploads-extensions.js";
104
- // Schedule & Time services - generated
105
- export { SchedulesService, } from "./generated/services/schedules.js";
108
+ // Schedule & Time services
109
+ export { SchedulesService, } from "./services/schedules-extensions.js";
106
110
  export { TimesheetsService, } from "./generated/services/timesheets.js";
111
+ // TimelineEvent is declared by both timeline.ts and reports.ts (ReportsService
112
+ // returns the same entity). It is re-exported here once — from either module a
113
+ // second export would be a duplicate identifier.
107
114
  export { TimelineService, } from "./generated/services/timeline.js";
108
115
  // Everything aggregates service - generated
109
116
  export { EverythingService, } from "./generated/services/everything.js";
@@ -119,6 +126,10 @@ export { LineupService, } from "./generated/services/lineup.js";
119
126
  // Automation service - generated
120
127
  export { AutomationService, } from "./generated/services/automation.js";
121
128
  // Organization services - generated
129
+ //
130
+ // No `TodolistGroup` type: #544 consolidated it and `TodolistOrGroup` into the
131
+ // one flat `Todolist` (exported above from ./generated/services/todolists.js),
132
+ // which is what this service's `list` and `create` now carry.
122
133
  export { TodolistGroupsService, } from "./generated/services/todolist-groups.js";
123
134
  export { ToolsService, } from "./generated/services/tools.js";
124
135
  // Boosts service - generated
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,sBAAsB;AACtB,OAAO,EACL,oBAAoB,EACpB,OAAO,EACP,WAAW,GAKZ,MAAM,aAAa,CAAC;AAErB,4BAA4B;AAC5B,OAAO,EAAqB,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE/E,qBAAqB;AACrB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzD,iCAAiC;AACjC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAyC,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEhF,WAAW;AACX,OAAO,EAAuB,eAAe,EAAE,MAAM,eAAe,CAAC;AAErE,SAAS;AACT,OAAO,EACL,aAAa,EACb,MAAM,EACN,iBAAiB,EACjB,eAAe,EACf,WAAW,GAGZ,MAAM,aAAa,CAAC;AAErB,QAAQ;AACR,OAAO,EACL,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,GAOX,MAAM,YAAY,CAAC;AAEpB,gFAAgF;AAChF,uDAAuD;AACvD,gFAAgF;AAEhF,6DAA6D;AAC7D,OAAO,EAAE,WAAW,EAAsB,MAAM,oBAAoB,CAAC;AAErE,yEAAyE;AACzE,OAAO,EACL,oBAAoB,GAKrB,MAAM,6BAA6B,CAAC;AAErC,4BAA4B;AAC5B,OAAO,EACL,eAAe,GAKhB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,YAAY,GAGb,MAAM,gCAAgC,CAAC;AAUxC,OAAO,EACL,gBAAgB,GAMjB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,eAAe,GAEhB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,iBAAiB,GAElB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,aAAa,GAGd,MAAM,gCAAgC,CAAC;AAExC,qCAAqC;AACrC,OAAO,EACL,eAAe,GAIhB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,eAAe,GAIhB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,gBAAgB,GAOjB,MAAM,mCAAmC,CAAC;AAE3C,4CAA4C;AAC5C,OAAO,EACL,iBAAiB,GAElB,MAAM,qCAAqC,CAAC;AAS7C,8EAA8E;AAC9E,+EAA+E;AAC/E,+EAA+E;AAC/E,OAAO,EACL,YAAY,GAEb,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,kBAAkB,GAMnB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EACL,gBAAgB,GAIjB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,gBAAgB,GAIjB,MAAM,mCAAmC,CAAC;AAE3C,+BAA+B;AAC/B,OAAO,EACL,oBAAoB,GAErB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,mBAAmB,GAIpB,MAAM,uCAAuC,CAAC;AAE/C,+BAA+B;AAC/B,OAAO,EACL,eAAe,GAKhB,MAAM,kCAAkC,CAAC;AAE1C,+BAA+B;AAC/B,OAAO,EACL,eAAe,GAShB,MAAM,kCAAkC,CAAC;AAE1C,qCAAqC;AACrC,OAAO,EACL,sBAAsB,GAEvB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EACL,4BAA4B,GAE7B,MAAM,gDAAgD,CAAC;AAExD,OAAO,EACL,oBAAoB,GAErB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,uBAAuB,GACxB,MAAM,2CAA2C,CAAC;AAEnD,kCAAkC;AAClC,OAAO,EACL,eAAe,GAIhB,MAAM,kCAAkC,CAAC;AAE1C,wEAAwE;AACxE,OAAO,EACL,eAAe,EACf,wBAAwB,GAKzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EACL,cAAc,EACd,gBAAgB,GAMjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAA2B,MAAM,kCAAkC,CAAC;AAE9F,OAAO,EACL,gBAAgB,GAIjB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,aAAa,GAGd,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,gBAAgB,GAGjB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,cAAc,GAGf,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,oBAAoB,GAGrB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACL,aAAa,GAEd,MAAM,gCAAgC,CAAC;AAExC,4BAA4B;AAC5B,OAAO,EACL,kBAAkB,GACnB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,aAAa,GAId,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,gBAAgB,GAIjB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAOlE,uCAAuC;AACvC,OAAO,EACL,gBAAgB,GAOjB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,iBAAiB,GAIlB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAE1C,4CAA4C;AAC5C,OAAO,EACL,iBAAiB,GAkBlB,MAAM,oCAAoC,CAAC;AAE5C,wCAAwC;AACxC,OAAO,EACL,aAAa,GAEd,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,cAAc,GAEf,MAAM,iCAAiC,CAAC;AAEzC,iCAAiC;AACjC,OAAO,EACL,iBAAiB,GAGlB,MAAM,oCAAoC,CAAC;AAE5C,gCAAgC;AAChC,OAAO,EACL,gBAAgB,GAMjB,MAAM,mCAAmC,CAAC;AAE3C,6BAA6B;AAC7B,OAAO,EACL,aAAa,GAGd,MAAM,gCAAgC,CAAC;AAExC,iCAAiC;AACjC,OAAO,EACL,iBAAiB,GAElB,MAAM,oCAAoC,CAAC;AAE5C,oCAAoC;AACpC,OAAO,EACL,qBAAqB,GAGtB,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EACL,YAAY,GAEb,MAAM,+BAA+B,CAAC;AAEvC,6BAA6B;AAC7B,OAAO,EACL,aAAa,GAMd,MAAM,gCAAgC,CAAC;AAExC,8BAA8B;AAC9B,OAAO,EACL,cAAc,GACf,MAAM,iCAAiC,CAAC;AAEzC,6BAA6B;AAC7B,OAAO,EACL,aAAa,GACd,MAAM,gCAAgC,CAAC;AAExC,qCAAqC;AACrC,OAAO,EACL,oBAAoB,GACrB,MAAM,wCAAwC,CAAC;AAEhD,uCAAuC;AACvC,OAAO,EACL,sBAAsB,GACvB,MAAM,0CAA0C,CAAC;AAElD,sBAAsB;AACtB,OAAO,EACL,SAAS,GAEV,MAAM,iBAAiB,CAAC;AAqBzB,kEAAkE;AAClE,OAAO,EACL,QAAQ,EACR,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,GAGnB,MAAM,sBAAsB,CAAC;AAE9B,wCAAwC;AACxC,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,GAIvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,GAEnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,GAEhB,MAAM,0BAA0B,CAAC;AAElC,2DAA2D;AAC3D,OAAO,EACL,uBAAuB,GAExB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,GAEf,MAAM,qBAAqB,CAAC;AAE7B,iBAAiB;AACjB,OAAO,EACL,YAAY,EACZ,aAAa,GAEd,MAAM,iBAAiB,CAAC;AAEzB,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF,OAAO,EACL,aAAa,EACb,mBAAmB,GACpB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,sBAAsB;AACtB,OAAO,EACL,oBAAoB,EACpB,OAAO,EACP,WAAW,GAKZ,MAAM,aAAa,CAAC;AAErB,4BAA4B;AAC5B,OAAO,EAAqB,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE/E,qBAAqB;AACrB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzD,iCAAiC;AACjC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAyC,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEhF,WAAW;AACX,OAAO,EAAuB,eAAe,EAAE,MAAM,eAAe,CAAC;AAErE,SAAS;AACT,OAAO,EACL,aAAa,EACb,MAAM,EACN,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,WAAW,GAGZ,MAAM,aAAa,CAAC;AAErB,QAAQ;AACR,OAAO,EACL,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,GAOX,MAAM,YAAY,CAAC;AAEpB,gFAAgF;AAChF,uDAAuD;AACvD,gFAAgF;AAEhF,6DAA6D;AAC7D,OAAO,EAAE,WAAW,EAAsB,MAAM,oBAAoB,CAAC;AAErE,yEAAyE;AACzE,OAAO,EACL,oBAAoB,GAKrB,MAAM,6BAA6B,CAAC;AAErC,4BAA4B;AAC5B,OAAO,EACL,eAAe,GAKhB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,YAAY,GAGb,MAAM,gCAAgC,CAAC;AAUxC,OAAO,EACL,gBAAgB,GAGjB,MAAM,oCAAoC,CAAC;AAS5C,OAAO,EACL,eAAe,GAEhB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,iBAAiB,GAElB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,aAAa,GAGd,MAAM,gCAAgC,CAAC;AAExC,qCAAqC;AACrC,OAAO,EACL,eAAe,GAIhB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,eAAe,GAIhB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,gBAAgB,GAOjB,MAAM,mCAAmC,CAAC;AAE3C,4CAA4C;AAC5C,OAAO,EACL,iBAAiB,GAElB,MAAM,qCAAqC,CAAC;AAS7C,+EAA+E;AAC/E,+EAA+E;AAC/E,iEAAiE;AACjE,8DAA8D;AAC9D,OAAO,EACL,YAAY,GAEb,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,kBAAkB,GAMnB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EACL,gBAAgB,GAIjB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,gBAAgB,GAIjB,MAAM,mCAAmC,CAAC;AAE3C,+BAA+B;AAC/B,OAAO,EACL,oBAAoB,GAErB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,mBAAmB,GAIpB,MAAM,uCAAuC,CAAC;AAE/C,+BAA+B;AAC/B,OAAO,EACL,eAAe,GAIhB,MAAM,kCAAkC,CAAC;AAE1C,+BAA+B;AAC/B,OAAO,EACL,eAAe,GAShB,MAAM,kCAAkC,CAAC;AAE1C,qCAAqC;AACrC,OAAO,EACL,sBAAsB,GAEvB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EACL,4BAA4B,GAE7B,MAAM,gDAAgD,CAAC;AAExD,OAAO,EACL,oBAAoB,GAErB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,uBAAuB,GACxB,MAAM,2CAA2C,CAAC;AAEnD,kCAAkC;AAClC,OAAO,EACL,eAAe,GAIhB,MAAM,kCAAkC,CAAC;AAE1C,wEAAwE;AACxE,OAAO,EACL,eAAe,EACf,wBAAwB,GAKzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EACL,cAAc,EACd,gBAAgB,GAMjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAA2B,MAAM,kCAAkC,CAAC;AAE9F,OAAO,EACL,gBAAgB,GAIjB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,cAAc,GAKf,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,aAAa,GAGd,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,gBAAgB,GAGjB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,cAAc,GAGf,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,oBAAoB,GAGrB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACL,aAAa,GAEd,MAAM,gCAAgC,CAAC;AAExC,4BAA4B;AAC5B,OAAO,EACL,kBAAkB,GACnB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,aAAa,GAId,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,gBAAgB,GAGjB,MAAM,oCAAoC,CAAC;AAO5C,OAAO,EACL,iBAAiB,GAIlB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,sBAAsB,GAIvB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAOlE,2BAA2B;AAC3B,OAAO,EACL,gBAAgB,GAGjB,MAAM,oCAAoC,CAAC;AAU5C,OAAO,EACL,iBAAiB,GAKlB,MAAM,oCAAoC,CAAC;AAE5C,+EAA+E;AAC/E,+EAA+E;AAC/E,iDAAiD;AACjD,OAAO,EACL,eAAe,GAEhB,MAAM,kCAAkC,CAAC;AAE1C,4CAA4C;AAC5C,OAAO,EACL,iBAAiB,GAkBlB,MAAM,oCAAoC,CAAC;AAE5C,wCAAwC;AACxC,OAAO,EACL,aAAa,GAEd,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,cAAc,GAEf,MAAM,iCAAiC,CAAC;AAEzC,iCAAiC;AACjC,OAAO,EACL,iBAAiB,GAGlB,MAAM,oCAAoC,CAAC;AAE5C,gCAAgC;AAChC,OAAO,EACL,gBAAgB,GAMjB,MAAM,mCAAmC,CAAC;AAE3C,6BAA6B;AAC7B,OAAO,EACL,aAAa,GAGd,MAAM,gCAAgC,CAAC;AAExC,iCAAiC;AACjC,OAAO,EACL,iBAAiB,GAElB,MAAM,oCAAoC,CAAC;AAE5C,oCAAoC;AACpC,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,8DAA8D;AAC9D,OAAO,EACL,qBAAqB,GAEtB,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EACL,YAAY,GAEb,MAAM,+BAA+B,CAAC;AAEvC,6BAA6B;AAC7B,OAAO,EACL,aAAa,GAMd,MAAM,gCAAgC,CAAC;AAExC,8BAA8B;AAC9B,OAAO,EACL,cAAc,GACf,MAAM,iCAAiC,CAAC;AAEzC,6BAA6B;AAC7B,OAAO,EACL,aAAa,GACd,MAAM,gCAAgC,CAAC;AAExC,qCAAqC;AACrC,OAAO,EACL,oBAAoB,GACrB,MAAM,wCAAwC,CAAC;AAEhD,uCAAuC;AACvC,OAAO,EACL,sBAAsB,GAEvB,MAAM,0CAA0C,CAAC;AAElD,sBAAsB;AACtB,OAAO,EACL,SAAS,GAEV,MAAM,iBAAiB,CAAC;AAqBzB,kEAAkE;AAClE,OAAO,EACL,QAAQ,EACR,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,GAGnB,MAAM,sBAAsB,CAAC;AAE9B,wCAAwC;AACxC,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,GAIvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,GAEnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,GAEhB,MAAM,0BAA0B,CAAC;AAElC,2DAA2D;AAC3D,OAAO,EACL,uBAAuB,GAExB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,GAEf,MAAM,qBAAqB,CAAC;AAE7B,iBAAiB;AACjB,OAAO,EACL,YAAY,EACZ,aAAa,GAEd,MAAM,iBAAiB,CAAC;AAEzB,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF,OAAO,EACL,aAAa,EACb,mBAAmB,GACpB,MAAM,eAAe,CAAC"}
@@ -5,6 +5,52 @@
5
5
  * client.ts (which imports generated services) and base.ts (which
6
6
  * generated services extend).
7
7
  */
8
+ /**
9
+ * Rejects any `maxPages` that would defeat or invert the cap.
10
+ *
11
+ * Lives here, beside `DEFAULT_MAX_PAGES` and for the same reason: `client.ts`,
12
+ * `services/base.ts` and this module's own helpers all need it, and this is the
13
+ * only one of them they can all import without a cycle. Three entry points set
14
+ * a cap — `createBasecampClient`, the standalone `fetchAllPages`/`paginateAll`,
15
+ * and `BaseService`'s constructor, which is exported and directly constructible
16
+ * — and a guard on two of the three is not a guard.
17
+ *
18
+ * `Number.isSafeInteger(n) && n > 0` is one predicate covering every value that
19
+ * breaks the bound, each of which passed silently while `maxPages` was
20
+ * unvalidated:
21
+ *
22
+ * - `Infinity` — `page === maxPages` is never true, so the loop is unbounded
23
+ * and the cap does nothing at all. Precisely the runaway it exists to stop.
24
+ * - Anything ABOVE `2 ** 53`, such as `Number.MAX_VALUE` — the same runaway
25
+ * through a different door, and the reason this is `isSafeInteger` rather
26
+ * than `isInteger`. `Number.isInteger(Number.MAX_VALUE)` is `true`, so the
27
+ * obvious predicate admits it. Past `2 ** 53` the counter stalls: `page++`
28
+ * on `2 ** 53` yields `2 ** 53` again, because the next integer is not
29
+ * representable, so a bound of `2 ** 53 + 2` is never reached. `2 ** 53`
30
+ * ITSELF is fine — the counter arrives there from `2 ** 53 - 1` and breaks
31
+ * — so rejecting it is deliberately conservative rather than necessary. A
32
+ * cap must be a number the counter can actually arrive at, and
33
+ * `MAX_SAFE_INTEGER` is the honest edge of that guarantee.
34
+ * - `2.5` — consumes 2 pages, then fetches a 3rd and discards it: a request to
35
+ * a URL taken from an attacker-influenceable header, whose response is never
36
+ * parsed or returned.
37
+ * - `0`, negative, `NaN` — consume ZERO pages, throwing away a response the
38
+ * caller already fetched and passed in.
39
+ *
40
+ * SPEC.md §2 step 5: "Validate `max_pages > 0`. → `⊥ BasecampError(code:
41
+ * "usage")` otherwise."
42
+ */
43
+ export declare function assertValidMaxPages(maxPages: number): void;
44
+ /**
45
+ * Default maximum pages to follow as a safety cap against infinite loops.
46
+ *
47
+ * Lives here rather than in base.ts because both base.ts and client.ts need it
48
+ * and this module is the one they can both import without a cycle. A malformed
49
+ * or hostile Link header can name the page it was served from, so every loop
50
+ * that follows rel="next" needs a bound that does not depend on the server
51
+ * ever stopping.
52
+ */
53
+ export declare const DEFAULT_MAX_PAGES = 10000;
8
54
  /**
9
55
  * Parses the next URL from a Link header.
10
56
  * Looks for rel="next" in the header value.
@@ -1 +1 @@
1
- {"version":3,"file":"pagination-utils.d.ts","sourceRoot":"","sources":["../src/pagination-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAYtE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAM/D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAQ1D"}
1
+ {"version":3,"file":"pagination-utils.d.ts","sourceRoot":"","sources":["../src/pagination-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA6BH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAQ1D;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,QAAS,CAAC;AAExC;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAgBtE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAM/D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAQ1D"}
@@ -5,6 +5,84 @@
5
5
  * client.ts (which imports generated services) and base.ts (which
6
6
  * generated services extend).
7
7
  */
8
+ /**
9
+ * Extracts the contents of the first non-empty `<...>` pair.
10
+ *
11
+ * This is the leftmost-match semantics of `/<([^>]+)>/` in linear time. The
12
+ * regex form is quadratic on a header carrying many `<` with no reachable `>`,
13
+ * because every `<` is retried as a start position and each scans to the end.
14
+ * Searching for `>` from *after* the `<` visits each character once instead.
15
+ *
16
+ * An empty `<>` is skipped rather than returned, because `[^>]+` requires at
17
+ * least one character — the regex would move on to the next `<`, and so does
18
+ * this. Skipping costs nothing: the scan that found `<>` was O(1), so the loop
19
+ * only ever repeats after work it did not do.
20
+ */
21
+ function extractAngleBracketed(part) {
22
+ let cursor = 0;
23
+ for (;;) {
24
+ const start = part.indexOf("<", cursor);
25
+ if (start < 0)
26
+ return null;
27
+ const end = part.indexOf(">", start + 1);
28
+ if (end < 0)
29
+ return null;
30
+ if (end > start + 1)
31
+ return part.slice(start + 1, end);
32
+ cursor = start + 1;
33
+ }
34
+ }
35
+ import { BasecampError } from "./errors.js";
36
+ /**
37
+ * Rejects any `maxPages` that would defeat or invert the cap.
38
+ *
39
+ * Lives here, beside `DEFAULT_MAX_PAGES` and for the same reason: `client.ts`,
40
+ * `services/base.ts` and this module's own helpers all need it, and this is the
41
+ * only one of them they can all import without a cycle. Three entry points set
42
+ * a cap — `createBasecampClient`, the standalone `fetchAllPages`/`paginateAll`,
43
+ * and `BaseService`'s constructor, which is exported and directly constructible
44
+ * — and a guard on two of the three is not a guard.
45
+ *
46
+ * `Number.isSafeInteger(n) && n > 0` is one predicate covering every value that
47
+ * breaks the bound, each of which passed silently while `maxPages` was
48
+ * unvalidated:
49
+ *
50
+ * - `Infinity` — `page === maxPages` is never true, so the loop is unbounded
51
+ * and the cap does nothing at all. Precisely the runaway it exists to stop.
52
+ * - Anything ABOVE `2 ** 53`, such as `Number.MAX_VALUE` — the same runaway
53
+ * through a different door, and the reason this is `isSafeInteger` rather
54
+ * than `isInteger`. `Number.isInteger(Number.MAX_VALUE)` is `true`, so the
55
+ * obvious predicate admits it. Past `2 ** 53` the counter stalls: `page++`
56
+ * on `2 ** 53` yields `2 ** 53` again, because the next integer is not
57
+ * representable, so a bound of `2 ** 53 + 2` is never reached. `2 ** 53`
58
+ * ITSELF is fine — the counter arrives there from `2 ** 53 - 1` and breaks
59
+ * — so rejecting it is deliberately conservative rather than necessary. A
60
+ * cap must be a number the counter can actually arrive at, and
61
+ * `MAX_SAFE_INTEGER` is the honest edge of that guarantee.
62
+ * - `2.5` — consumes 2 pages, then fetches a 3rd and discards it: a request to
63
+ * a URL taken from an attacker-influenceable header, whose response is never
64
+ * parsed or returned.
65
+ * - `0`, negative, `NaN` — consume ZERO pages, throwing away a response the
66
+ * caller already fetched and passed in.
67
+ *
68
+ * SPEC.md §2 step 5: "Validate `max_pages > 0`. → `⊥ BasecampError(code:
69
+ * "usage")` otherwise."
70
+ */
71
+ export function assertValidMaxPages(maxPages) {
72
+ if (!Number.isSafeInteger(maxPages) || maxPages <= 0) {
73
+ throw new BasecampError("usage", `maxPages must be a positive integer no larger than ${Number.MAX_SAFE_INTEGER}, got ${String(maxPages)}`, { hint: "Pass a whole number greater than 0, or omit maxPages to use the default cap." });
74
+ }
75
+ }
76
+ /**
77
+ * Default maximum pages to follow as a safety cap against infinite loops.
78
+ *
79
+ * Lives here rather than in base.ts because both base.ts and client.ts need it
80
+ * and this module is the one they can both import without a cycle. A malformed
81
+ * or hostile Link header can name the page it was served from, so every loop
82
+ * that follows rel="next" needs a bound that does not depend on the server
83
+ * ever stopping.
84
+ */
85
+ export const DEFAULT_MAX_PAGES = 10_000;
8
86
  /**
9
87
  * Parses the next URL from a Link header.
10
88
  * Looks for rel="next" in the header value.
@@ -18,8 +96,13 @@ export function parseNextLink(linkHeader) {
18
96
  for (const part of linkHeader.split(",")) {
19
97
  const trimmed = part.trim();
20
98
  if (trimmed.includes('rel="next"')) {
21
- const match = trimmed.match(/<([^>]+)>/);
22
- return match?.[1] ?? null;
99
+ // Keep scanning if this part is malformed. The previous code returned
100
+ // unconditionally here, so one unparseable `rel="next"` segment
101
+ // short-circuited the whole header to null; the other five SDKs fall
102
+ // through and keep looking.
103
+ const url = extractAngleBracketed(trimmed);
104
+ if (url !== null)
105
+ return url;
23
106
  }
24
107
  }
25
108
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"pagination-utils.js","sourceRoot":"","sources":["../src/pagination-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,UAAyB;IACrD,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACzC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,MAAc;IACrD,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,CAAS,EAAE,CAAS;IAC/C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"pagination-utils.js","sourceRoot":"","sources":["../src/pagination-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;;;GAYG;AACH,SAAS,qBAAqB,CAAC,IAAY;IACzC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,SAAS,CAAC;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACzB,IAAI,GAAG,GAAG,KAAK,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC;IACrB,CAAC;AACH,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,aAAa,CACrB,OAAO,EACP,sDAAsD,MAAM,CAAC,gBAAgB,SAAS,MAAM,CAAC,QAAQ,CAAC,EAAE,EACxG,EAAE,IAAI,EAAE,8EAA8E,EAAE,CACzF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,UAAyB;IACrD,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACnC,sEAAsE;YACtE,gEAAgE;YAChE,qEAAqE;YACrE,4BAA4B;YAC5B,MAAM,GAAG,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,GAAG,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,MAAc;IACrD,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,CAAS,EAAE,CAAS;IAC/C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -26,6 +26,17 @@ export interface PaginationOptions {
26
26
  * When undefined or 0, all pages are fetched.
27
27
  */
28
28
  maxItems?: number;
29
+ /**
30
+ * Selects a single page. A positive `page` returns exactly that page in
31
+ * exactly one request: the `Link: rel="next"` header is not followed, and
32
+ * `.meta.truncated` reports whether a further page existed. When undefined,
33
+ * 0, or negative, auto-pagination walks the whole collection.
34
+ *
35
+ * Only meaningful for operations whose endpoint honors `?page=`; the handful
36
+ * of list endpoints that return their whole collection at once never emit a
37
+ * next link, so pinning a page there changes nothing. See SPEC section 8.
38
+ */
39
+ page?: number;
29
40
  }
30
41
  /**
31
42
  * An array of results with pagination metadata.
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,UAAU,CAAC,CAAC,CAAE,SAAQ,KAAK,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAExB;;;;;OAKG;IACH,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAE9C;gBAEW,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ;CAavC;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAK1D"}
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,UAAU,CAAC,CAAC,CAAE,SAAQ,KAAK,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAExB;;;;;OAKG;IACH,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAE9C;gBAEW,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ;CAavC;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAK1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2BH;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,UAAc,SAAQ,KAAQ;IAChC,IAAI,CAAW;IAExB;;;;;OAKG;IACH,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY,KAAU,EAAE,IAAc;QACpC,uDAAuD;QACvD,sEAAsE;QACtE,4EAA4E;QAC5E,KAAK,CAAC,CAAC,CAAC,CAAC;QACT,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;YACtB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,QAAkB;IAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuCH;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,UAAc,SAAQ,KAAQ;IAChC,IAAI,CAAW;IAExB;;;;;OAKG;IACH,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY,KAAU,EAAE,IAAc;QACpC,uDAAuD;QACvD,sEAAsE;QACtE,4EAA4E;QAC5E,KAAK,CAAC,CAAC,CAAC,CAAC;QACT,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;YACtB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,QAAkB;IAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACpC,CAAC"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * The SDK's retry primitive: the attempt loop extracted from the client's
3
+ * retrying fetch so that both the middleware-chained JSON path (client.ts)
4
+ * and the raw-fetch download hop 1 (download.ts) share one budget/backoff/
5
+ * abort policy. The loop is transport-agnostic — callers own attempt
6
+ * preparation (auth, request construction) via `makeAttempt` and hook
7
+ * emission via `RetryEmit`.
8
+ */
9
+ /**
10
+ * Retry configuration matching x-basecamp-retry extension schema.
11
+ */
12
+ export interface RetryConfig {
13
+ maxAttempts: number;
14
+ baseDelayMs: number;
15
+ backoff: "exponential" | "linear" | "constant";
16
+ retryOn: number[];
17
+ }
18
+ /** Default retry config used when no operation-specific config is available */
19
+ export declare const DEFAULT_RETRY_CONFIG: RetryConfig;
20
+ /** No-retry config for non-idempotent POST operations */
21
+ export declare const NO_RETRY_CONFIG: RetryConfig;
22
+ /**
23
+ * Ceiling on the backoff term (SPEC §7, "Backoff Ceiling"). Jitter is added
24
+ * after the clamp, so the longest single backoff sleep is this plus
25
+ * `MAX_JITTER_MS`.
26
+ */
27
+ export declare const MAX_BACKOFF_DELAY_MS = 30000;
28
+ /**
29
+ * Lifecycle seams the retry loop emits through. The loop begins EVERY attempt
30
+ * and finalizes the attempts it abandons (before the backoff sleep); the
31
+ * terminal outcome — the response it returns, or the error it throws — is
32
+ * deliberately NOT finalized here. The caller owns the terminal attempt's end
33
+ * so it can record post-transform results (the client's cache middleware may
34
+ * rewrite a 304 into a cached 200 before its lifecycle middleware finalizes).
35
+ */
36
+ export interface RetryEmit {
37
+ /** An attempt is beginning (fired for attempt 1 and every retry). */
38
+ begin(attempt: number): void;
39
+ /** An attempt was abandoned in favor of a retry (never the terminal one). */
40
+ finalize(outcome: {
41
+ statusCode: number;
42
+ error?: Error;
43
+ }): void;
44
+ /** A retry is coming: `failedAttempt` just ended, `failedAttempt + 1` is next. */
45
+ retrying(failedAttempt: number, error: Error, delayMs: number): void;
46
+ }
47
+ /**
48
+ * Marks an error thrown during attempt PREPARATION (e.g. a retry's auth
49
+ * refresh) rather than by the transport. The retry loop rethrows it as-is —
50
+ * no retry classification, no budget spent — and the caller unwraps `reason`
51
+ * so the original error's identity survives to its error path.
52
+ */
53
+ export declare class TerminalRetryError extends Error {
54
+ readonly reason: unknown;
55
+ constructor(reason: unknown);
56
+ }
57
+ /**
58
+ * Runs `makeAttempt` under the retry policy in `config`.
59
+ *
60
+ * `config.maxAttempts` is a total attempt count — the caller passes the
61
+ * effective budget (e.g. 1 when retry is disabled). Status retry is gated on
62
+ * the declared `retryOn` set; 429 honors Retry-After. Transport errors retry
63
+ * on the same budget, except aborts, which are terminal no matter what the
64
+ * budget says: a caller cancellation must not re-send, and a request-timeout
65
+ * budget is shared by every attempt and backoff — once it fires, a retry
66
+ * would instantly re-reject. Terminal errors are rethrown as-is so their
67
+ * identity survives to the caller.
68
+ *
69
+ * `signal`, when given, is the authoritative abort test: a caller can abort
70
+ * with a CUSTOM reason — AbortController.abort(reason) — and fetch then
71
+ * rejects with that reason, not a DOMException named AbortError. The
72
+ * DOMException check remains for abort-shaped rejections that arrive without
73
+ * an aborted signal (e.g. a per-attempt timeout controller).
74
+ */
75
+ export declare function executeWithRetry(makeAttempt: (attempt: number) => Promise<Response>, config: RetryConfig, emit: RetryEmit, signal?: AbortSignal | null): Promise<Response>;
76
+ /**
77
+ * The backoff term, saturating at {@link MAX_BACKOFF_DELAY_MS} (SPEC §7).
78
+ *
79
+ * Shared by both of the SDK's retry loops — this one and the raw multipart
80
+ * loop in `services/base.ts` — so the ceiling cannot be honored on one path
81
+ * and not the other.
82
+ *
83
+ * The clamp is load-bearing rather than defensive. `Math.pow(2, attempt)`
84
+ * reaches `Infinity` at attempt 1024, and `setTimeout` clamps an out-of-range
85
+ * delay to **1ms**: the failure mode of an unbounded backoff in JS is not a
86
+ * long sleep, it is a tight retry loop against a server that is already
87
+ * answering 429/503. Well before that, the computed delays run to millennia.
88
+ *
89
+ * The exponent is compared against the point where the term reaches the ceiling
90
+ * *before* `Math.pow` is evaluated, and that point is derived from the
91
+ * CONFIGURED base — the same contract Go, Kotlin and Swift get from comparing
92
+ * their multiplier against `MAX_BACKOFF_DELAY_MS / base` before multiplying. A
93
+ * fixed exponent cap plus a trailing `Math.min` looks equivalent and is not:
94
+ * for a small enough base the capped product never reaches the ceiling, so the
95
+ * delay plateaus below it forever instead of saturating at it.
96
+ *
97
+ * `attempt` is the 0-indexed retry count (first retry = 0), matching the SPEC
98
+ * §7 `retry_index`.
99
+ */
100
+ export declare function saturatingBackoff(baseDelayMs: number, backoff: RetryConfig["backoff"], attempt: number): number;
101
+ export declare function calculateBackoffDelay(config: RetryConfig, attempt: number): number;
102
+ /**
103
+ * Signal-aware sleep for backoff waits: resolves after `ms`, or rejects with
104
+ * the signal's abort reason the moment it fires. Without this, a caller abort
105
+ * or the request-timeout budget expiring during a backoff would leave the
106
+ * request pending for the full delay and then start another attempt — begin,
107
+ * auth refresh, fetch — against an already-aborted signal.
108
+ */
109
+ export declare function sleep(ms: number, signal?: AbortSignal): Promise<void>;
110
+ //# sourceMappingURL=retry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC/C,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,+EAA+E;AAC/E,eAAO,MAAM,oBAAoB,EAAE,WAKlC,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,eAAe,EAAE,WAK7B,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAE3C;;;;;;;GAOG;AACH,MAAM,WAAW,SAAS;IACxB,qEAAqE;IACrE,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/D,kFAAkF;IAClF,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACtE;AAED;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC/B,QAAQ,CAAC,MAAM,EAAE,OAAO;gBAAf,MAAM,EAAE,OAAO;CAIrC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,EACnD,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,SAAS,EACf,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,GAC1B,OAAO,CAAC,QAAQ,CAAC,CAqFnB;AAwCD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,EAC/B,OAAO,EAAE,MAAM,GACd,MAAM,CAyBR;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAMlF;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBrE"}