@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.
- package/README.md +112 -16
- package/dist/.build-complete +0 -0
- package/dist/client.d.ts +53 -11
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +132 -150
- package/dist/client.js.map +1 -1
- package/dist/download.d.ts +7 -0
- package/dist/download.d.ts.map +1 -1
- package/dist/download.js +82 -22
- package/dist/download.js.map +1 -1
- package/dist/errors.d.ts +18 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +127 -14
- package/dist/errors.js.map +1 -1
- package/dist/generated/metadata.d.ts.map +1 -1
- package/dist/generated/metadata.js +280 -141
- package/dist/generated/metadata.js.map +1 -1
- package/dist/generated/metadata.ts +280 -141
- package/dist/generated/openapi-stripped.json +6435 -4283
- package/dist/generated/path-mapping.d.ts.map +1 -1
- package/dist/generated/path-mapping.js +27 -16
- package/dist/generated/path-mapping.js.map +1 -1
- package/dist/generated/path-mapping.ts +27 -16
- package/dist/generated/schema.d.ts +4283 -2457
- package/dist/generated/services/bookmarks.d.ts +1 -1
- package/dist/generated/services/bookmarks.d.ts.map +1 -1
- package/dist/generated/services/bookmarks.ts +1 -1
- package/dist/generated/services/boosts.d.ts +10 -0
- package/dist/generated/services/boosts.d.ts.map +1 -1
- package/dist/generated/services/boosts.js +8 -0
- package/dist/generated/services/boosts.js.map +1 -1
- package/dist/generated/services/boosts.ts +12 -0
- package/dist/generated/services/campfires.d.ts +54 -40
- package/dist/generated/services/campfires.d.ts.map +1 -1
- package/dist/generated/services/campfires.js +82 -65
- package/dist/generated/services/campfires.js.map +1 -1
- package/dist/generated/services/campfires.ts +107 -85
- package/dist/generated/services/cards.d.ts +5 -0
- package/dist/generated/services/cards.d.ts.map +1 -1
- package/dist/generated/services/cards.js +4 -0
- package/dist/generated/services/cards.js.map +1 -1
- package/dist/generated/services/cards.ts +6 -0
- package/dist/generated/services/checkins.d.ts +14 -0
- package/dist/generated/services/checkins.d.ts.map +1 -1
- package/dist/generated/services/checkins.js +14 -1
- package/dist/generated/services/checkins.js.map +1 -1
- package/dist/generated/services/checkins.ts +20 -0
- package/dist/generated/services/client-approvals.d.ts +6 -3
- package/dist/generated/services/client-approvals.d.ts.map +1 -1
- package/dist/generated/services/client-approvals.js +8 -5
- package/dist/generated/services/client-approvals.js.map +1 -1
- package/dist/generated/services/client-approvals.ts +10 -5
- package/dist/generated/services/client-correspondences.d.ts +6 -3
- package/dist/generated/services/client-correspondences.d.ts.map +1 -1
- package/dist/generated/services/client-correspondences.js +8 -5
- package/dist/generated/services/client-correspondences.js.map +1 -1
- package/dist/generated/services/client-correspondences.ts +10 -5
- package/dist/generated/services/client-replies.d.ts +11 -4
- package/dist/generated/services/client-replies.d.ts.map +1 -1
- package/dist/generated/services/client-replies.js +16 -8
- package/dist/generated/services/client-replies.js.map +1 -1
- package/dist/generated/services/client-replies.ts +18 -8
- package/dist/generated/services/cloud-files.d.ts +92 -0
- package/dist/generated/services/cloud-files.d.ts.map +1 -0
- package/dist/generated/services/cloud-files.js +121 -0
- package/dist/generated/services/cloud-files.js.map +1 -0
- package/dist/generated/services/cloud-files.ts +188 -0
- package/dist/generated/services/comments.d.ts +5 -0
- package/dist/generated/services/comments.d.ts.map +1 -1
- package/dist/generated/services/comments.js +4 -0
- package/dist/generated/services/comments.js.map +1 -1
- package/dist/generated/services/comments.ts +6 -0
- package/dist/generated/services/documents.d.ts +12 -7
- package/dist/generated/services/documents.d.ts.map +1 -1
- package/dist/generated/services/documents.js +10 -6
- package/dist/generated/services/documents.js.map +1 -1
- package/dist/generated/services/documents.ts +14 -8
- package/dist/generated/services/drafts.d.ts +1 -1
- package/dist/generated/services/drafts.d.ts.map +1 -1
- package/dist/generated/services/drafts.ts +1 -1
- package/dist/generated/services/events.d.ts +5 -0
- package/dist/generated/services/events.d.ts.map +1 -1
- package/dist/generated/services/events.js +4 -0
- package/dist/generated/services/events.js.map +1 -1
- package/dist/generated/services/events.ts +6 -0
- package/dist/generated/services/everything.d.ts +14 -14
- package/dist/generated/services/everything.d.ts.map +1 -1
- package/dist/generated/services/everything.ts +14 -14
- package/dist/generated/services/folders.d.ts +96 -0
- package/dist/generated/services/folders.d.ts.map +1 -0
- package/dist/generated/services/folders.js +140 -0
- package/dist/generated/services/folders.js.map +1 -0
- package/dist/generated/services/folders.ts +201 -0
- package/dist/generated/services/forwards.d.ts +7 -20
- package/dist/generated/services/forwards.d.ts.map +1 -1
- package/dist/generated/services/forwards.js +6 -35
- package/dist/generated/services/forwards.js.map +1 -1
- package/dist/generated/services/forwards.ts +10 -48
- package/dist/generated/services/gauges.d.ts +7 -0
- package/dist/generated/services/gauges.d.ts.map +1 -1
- package/dist/generated/services/gauges.js +5 -1
- package/dist/generated/services/gauges.js.map +1 -1
- package/dist/generated/services/gauges.ts +9 -1
- package/dist/generated/services/google-documents.d.ts +98 -0
- package/dist/generated/services/google-documents.d.ts.map +1 -0
- package/dist/generated/services/google-documents.js +123 -0
- package/dist/generated/services/google-documents.js.map +1 -0
- package/dist/generated/services/google-documents.ts +196 -0
- package/dist/generated/services/index.d.ts +7 -4
- package/dist/generated/services/index.d.ts.map +1 -1
- package/dist/generated/services/index.js +7 -4
- package/dist/generated/services/index.js.map +1 -1
- package/dist/generated/services/index.ts +7 -4
- package/dist/generated/services/messages.d.ts +2 -0
- package/dist/generated/services/messages.d.ts.map +1 -1
- package/dist/generated/services/messages.js +1 -1
- package/dist/generated/services/messages.js.map +1 -1
- package/dist/generated/services/messages.ts +3 -1
- package/dist/generated/services/my-notes.d.ts +1 -1
- package/dist/generated/services/my-notes.js +1 -1
- package/dist/generated/services/my-notes.ts +1 -1
- package/dist/generated/services/my-notifications.d.ts +4 -2
- package/dist/generated/services/my-notifications.d.ts.map +1 -1
- package/dist/generated/services/my-notifications.js.map +1 -1
- package/dist/generated/services/my-notifications.ts +4 -2
- package/dist/generated/services/people.d.ts +11 -1
- package/dist/generated/services/people.d.ts.map +1 -1
- package/dist/generated/services/people.js +13 -2
- package/dist/generated/services/people.js.map +1 -1
- package/dist/generated/services/people.ts +15 -1
- package/dist/generated/services/projects.d.ts +26 -0
- package/dist/generated/services/projects.d.ts.map +1 -1
- package/dist/generated/services/projects.js +49 -1
- package/dist/generated/services/projects.js.map +1 -1
- package/dist/generated/services/projects.ts +61 -1
- package/dist/generated/services/recordings.d.ts +2 -12
- package/dist/generated/services/recordings.d.ts.map +1 -1
- package/dist/generated/services/recordings.js +1 -26
- package/dist/generated/services/recordings.js.map +1 -1
- package/dist/generated/services/recordings.ts +3 -31
- package/dist/generated/services/reports.d.ts +8 -12
- package/dist/generated/services/reports.d.ts.map +1 -1
- package/dist/generated/services/reports.js +11 -5
- package/dist/generated/services/reports.js.map +1 -1
- package/dist/generated/services/reports.ts +13 -14
- package/dist/generated/services/schedules.d.ts +94 -15
- package/dist/generated/services/schedules.d.ts.map +1 -1
- package/dist/generated/services/schedules.js +19 -8
- package/dist/generated/services/schedules.js.map +1 -1
- package/dist/generated/services/schedules.ts +107 -17
- package/dist/generated/services/search.d.ts +2 -0
- package/dist/generated/services/search.d.ts.map +1 -1
- package/dist/generated/services/search.js +1 -1
- package/dist/generated/services/search.js.map +1 -1
- package/dist/generated/services/search.ts +3 -1
- package/dist/generated/services/templates.d.ts +2 -0
- package/dist/generated/services/templates.d.ts.map +1 -1
- package/dist/generated/services/templates.js +1 -1
- package/dist/generated/services/templates.js.map +1 -1
- package/dist/generated/services/templates.ts +3 -1
- package/dist/generated/services/timeline.d.ts +2 -0
- package/dist/generated/services/timeline.d.ts.map +1 -1
- package/dist/generated/services/timeline.js +1 -0
- package/dist/generated/services/timeline.js.map +1 -1
- package/dist/generated/services/timeline.ts +3 -0
- package/dist/generated/services/timesheets.d.ts +16 -0
- package/dist/generated/services/timesheets.d.ts.map +1 -1
- package/dist/generated/services/timesheets.js +26 -2
- package/dist/generated/services/timesheets.js.map +1 -1
- package/dist/generated/services/timesheets.ts +35 -2
- package/dist/generated/services/todolist-groups.d.ts +11 -6
- package/dist/generated/services/todolist-groups.d.ts.map +1 -1
- package/dist/generated/services/todolist-groups.js +7 -3
- package/dist/generated/services/todolist-groups.js.map +1 -1
- package/dist/generated/services/todolist-groups.ts +13 -7
- package/dist/generated/services/todolists.d.ts +15 -13
- package/dist/generated/services/todolists.d.ts.map +1 -1
- package/dist/generated/services/todolists.js +11 -8
- package/dist/generated/services/todolists.js.map +1 -1
- package/dist/generated/services/todolists.ts +19 -14
- package/dist/generated/services/todos.d.ts +2 -12
- package/dist/generated/services/todos.d.ts.map +1 -1
- package/dist/generated/services/todos.js +1 -25
- package/dist/generated/services/todos.js.map +1 -1
- package/dist/generated/services/todos.ts +3 -30
- package/dist/generated/services/uploads.d.ts +5 -0
- package/dist/generated/services/uploads.d.ts.map +1 -1
- package/dist/generated/services/uploads.js +4 -0
- package/dist/generated/services/uploads.js.map +1 -1
- package/dist/generated/services/uploads.ts +6 -0
- package/dist/generated/services/vaults.d.ts +5 -0
- package/dist/generated/services/vaults.d.ts.map +1 -1
- package/dist/generated/services/vaults.js +4 -0
- package/dist/generated/services/vaults.js.map +1 -1
- package/dist/generated/services/vaults.ts +6 -0
- package/dist/index.d.ts +15 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -8
- package/dist/index.js.map +1 -1
- package/dist/pagination-utils.d.ts +46 -0
- package/dist/pagination-utils.d.ts.map +1 -1
- package/dist/pagination-utils.js +85 -2
- package/dist/pagination-utils.js.map +1 -1
- package/dist/pagination.d.ts +11 -0
- package/dist/pagination.d.ts.map +1 -1
- package/dist/pagination.js.map +1 -1
- package/dist/retry.d.ts +110 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +253 -0
- package/dist/retry.js.map +1 -0
- package/dist/services/base.d.ts.map +1 -1
- package/dist/services/base.js +59 -5
- package/dist/services/base.js.map +1 -1
- package/dist/services/cards-extensions.d.ts +26 -21
- package/dist/services/cards-extensions.d.ts.map +1 -1
- package/dist/services/cards-extensions.js +28 -31
- package/dist/services/cards-extensions.js.map +1 -1
- package/dist/services/documents-extensions.d.ts +122 -0
- package/dist/services/documents-extensions.d.ts.map +1 -0
- package/dist/services/documents-extensions.js +125 -0
- package/dist/services/documents-extensions.js.map +1 -0
- package/dist/services/merge-safe.d.ts +167 -0
- package/dist/services/merge-safe.d.ts.map +1 -0
- package/dist/services/merge-safe.js +217 -0
- package/dist/services/merge-safe.js.map +1 -0
- package/dist/services/schedules-extensions.d.ts +266 -0
- package/dist/services/schedules-extensions.d.ts.map +1 -0
- package/dist/services/schedules-extensions.js +268 -0
- package/dist/services/schedules-extensions.js.map +1 -0
- package/dist/services/todolists-extensions.d.ts +110 -0
- package/dist/services/todolists-extensions.d.ts.map +1 -0
- package/dist/services/todolists-extensions.js +262 -0
- package/dist/services/todolists-extensions.js.map +1 -0
- package/dist/services/todos-extensions.d.ts +12 -1
- package/dist/services/todos-extensions.d.ts.map +1 -1
- package/dist/services/todos-extensions.js +27 -8
- package/dist/services/todos-extensions.js.map +1 -1
- package/package.json +5 -4
- package/src/generated/metadata.ts +280 -141
- package/src/generated/openapi-stripped.json +6435 -4283
- package/src/generated/path-mapping.ts +27 -16
- package/src/generated/schema.d.ts +4283 -2457
- package/src/generated/services/bookmarks.ts +1 -1
- package/src/generated/services/boosts.ts +12 -0
- package/src/generated/services/campfires.ts +107 -85
- package/src/generated/services/cards.ts +6 -0
- package/src/generated/services/checkins.ts +20 -0
- package/src/generated/services/client-approvals.ts +10 -5
- package/src/generated/services/client-correspondences.ts +10 -5
- package/src/generated/services/client-replies.ts +18 -8
- package/src/generated/services/cloud-files.ts +188 -0
- package/src/generated/services/comments.ts +6 -0
- package/src/generated/services/documents.ts +14 -8
- package/src/generated/services/drafts.ts +1 -1
- package/src/generated/services/events.ts +6 -0
- package/src/generated/services/everything.ts +14 -14
- package/src/generated/services/folders.ts +201 -0
- package/src/generated/services/forwards.ts +10 -48
- package/src/generated/services/gauges.ts +9 -1
- package/src/generated/services/google-documents.ts +196 -0
- package/src/generated/services/index.ts +7 -4
- package/src/generated/services/messages.ts +3 -1
- package/src/generated/services/my-notes.ts +1 -1
- package/src/generated/services/my-notifications.ts +4 -2
- package/src/generated/services/people.ts +15 -1
- package/src/generated/services/projects.ts +61 -1
- package/src/generated/services/recordings.ts +3 -31
- package/src/generated/services/reports.ts +13 -14
- package/src/generated/services/schedules.ts +107 -17
- package/src/generated/services/search.ts +3 -1
- package/src/generated/services/templates.ts +3 -1
- package/src/generated/services/timeline.ts +3 -0
- package/src/generated/services/timesheets.ts +35 -2
- package/src/generated/services/todolist-groups.ts +13 -7
- package/src/generated/services/todolists.ts +19 -14
- package/src/generated/services/todos.ts +3 -30
- package/src/generated/services/uploads.ts +6 -0
- 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;
|
|
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
|
|
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,
|
|
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
|
|
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
|
|
83
|
-
export {
|
|
84
|
-
export {
|
|
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
|
|
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";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,EACL,oBAAoB,EACpB,OAAO,EACP,WAAW,EACX,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,SAAS,GACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,KAAK,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAG/E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGzD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,QAAQ,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGhF,OAAO,EAAE,KAAK,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrE,OAAO,EACL,aAAa,EACb,MAAM,EACN,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,KAAK,SAAS,EACd,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC;AAOpB,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGrE,OAAO,EACL,oBAAoB,EACpB,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,2BAA2B,GACjC,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,eAAe,EACf,KAAK,OAAO,EACZ,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,UAAU,GAChB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,KAAK,IAAI,EACT,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,GAC3B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,gBAAgB,EAChB,KAAK,QAAQ,EACb,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,
|
|
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 "./
|
|
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
|
|
68
|
-
//
|
|
69
|
-
// explicit clear
|
|
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 "./
|
|
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
|
|
105
|
-
export { SchedulesService, } from "./
|
|
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,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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"}
|
package/dist/pagination-utils.js
CHANGED
|
@@ -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
|
-
|
|
22
|
-
|
|
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,
|
|
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"}
|
package/dist/pagination.d.ts
CHANGED
|
@@ -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.
|
package/dist/pagination.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/pagination.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
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"}
|
package/dist/retry.d.ts
ADDED
|
@@ -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"}
|