@37signals/basecamp 0.14.0 → 0.15.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 +1 -1
- package/dist/client.d.ts +2 -2
- package/dist/client.js +2 -2
- package/dist/download.d.ts +3 -1
- package/dist/download.d.ts.map +1 -1
- package/dist/download.js +17 -4
- package/dist/download.js.map +1 -1
- package/dist/errors.d.ts +26 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +78 -13
- package/dist/errors.js.map +1 -1
- package/dist/generated/metadata.js +1 -1
- package/dist/generated/metadata.ts +1 -1
- package/dist/generated/openapi-stripped.json +279 -29
- package/dist/generated/schema.d.ts +259 -27
- package/dist/generated/services/checkins.d.ts +1 -1
- package/dist/generated/services/checkins.d.ts.map +1 -1
- package/dist/generated/services/checkins.ts +1 -1
- package/dist/generated/services/gauges.d.ts +3 -2
- package/dist/generated/services/gauges.d.ts.map +1 -1
- package/dist/generated/services/gauges.ts +2 -2
- package/dist/generated/services/search.d.ts +2 -1
- package/dist/generated/services/search.d.ts.map +1 -1
- package/dist/generated/services/search.ts +1 -1
- package/dist/oauth/authorization-document.d.ts +18 -11
- package/dist/oauth/authorization-document.d.ts.map +1 -1
- package/dist/oauth/authorization-document.js +16 -11
- package/dist/oauth/authorization-document.js.map +1 -1
- package/dist/retry.d.ts +23 -0
- package/dist/retry.d.ts.map +1 -1
- package/dist/retry.js +45 -10
- package/dist/retry.js.map +1 -1
- package/dist/services/base.d.ts +25 -2
- package/dist/services/base.d.ts.map +1 -1
- package/dist/services/base.js +85 -15
- package/dist/services/base.js.map +1 -1
- package/package.json +5 -3
- package/src/generated/metadata.ts +1 -1
- package/src/generated/openapi-stripped.json +279 -29
- package/src/generated/schema.d.ts +259 -27
- package/src/generated/services/checkins.ts +1 -1
- package/src/generated/services/gauges.ts +2 -2
- package/src/generated/services/search.ts +1 -1
package/README.md
CHANGED
package/dist/client.d.ts
CHANGED
|
@@ -221,8 +221,8 @@ export interface BasecampClientOptions {
|
|
|
221
221
|
/** Maximum pages to follow during auto-pagination (defaults to 10,000) */
|
|
222
222
|
maxPages?: number;
|
|
223
223
|
}
|
|
224
|
-
export declare const VERSION = "0.
|
|
225
|
-
export declare const API_VERSION = "2026-08-
|
|
224
|
+
export declare const VERSION = "0.15.0";
|
|
225
|
+
export declare const API_VERSION = "2026-08-11";
|
|
226
226
|
/**
|
|
227
227
|
* Creates a type-safe Basecamp API client with built-in middleware for:
|
|
228
228
|
* - Authentication (Bearer token)
|
package/dist/client.js
CHANGED
|
@@ -80,8 +80,8 @@ import { AuthorizationService } from "./services/authorization.js";
|
|
|
80
80
|
* a TimeoutOverflowWarning rather than honored.
|
|
81
81
|
*/
|
|
82
82
|
const MAX_TIMEOUT_MS = 2_147_483_647;
|
|
83
|
-
export const VERSION = "0.
|
|
84
|
-
export const API_VERSION = "2026-08-
|
|
83
|
+
export const VERSION = "0.15.0";
|
|
84
|
+
export const API_VERSION = "2026-08-11";
|
|
85
85
|
const DEFAULT_USER_AGENT = `basecamp-sdk-ts/${VERSION} (api:${API_VERSION})`;
|
|
86
86
|
/**
|
|
87
87
|
* Creates a type-safe Basecamp API client with built-in middleware for:
|
package/dist/download.d.ts
CHANGED
|
@@ -40,7 +40,9 @@ interface DownloadDeps {
|
|
|
40
40
|
* authenticated first hop (which typically 302s to a signed download URL),
|
|
41
41
|
* and unauthenticated second hop to fetch the actual file content. Common
|
|
42
42
|
* inputs include storage blob URLs from <bc-attachment> elements and any
|
|
43
|
-
* other signed-download URL that routes through the API.
|
|
43
|
+
* other signed-download URL that routes through the API. Neither hop follows
|
|
44
|
+
* a redirect on its own: hop 1's is the dispatch to hop 2, and a redirect on
|
|
45
|
+
* hop 2 is an error (SPEC §14 "Hop-2 Redirect Policy").
|
|
44
46
|
*/
|
|
45
47
|
export declare function createDownloadURL(deps: DownloadDeps): (rawURL: string) => Promise<DownloadResult>;
|
|
46
48
|
export {};
|
package/dist/download.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAA8B,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAA8B,MAAM,YAAY,CAAC;AAyB5E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACjC,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAetD;AAUD,iDAAiD;AACjD,UAAU,YAAY;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,WAAW,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAyNjG"}
|
package/dist/download.js
CHANGED
|
@@ -12,6 +12,8 @@ import { TerminalRetryError, executeWithRetry, } from "./retry.js";
|
|
|
12
12
|
const DOWNLOAD_MAX_ATTEMPTS = 3;
|
|
13
13
|
const DOWNLOAD_RETRY_ON = [429, 502, 503, 504];
|
|
14
14
|
const DOWNLOAD_RETRY_BASE_DELAY_MS = 1000;
|
|
15
|
+
/** The redirects hop 1 dispatches on (SPEC §14 step 3d) and hop 2 refuses. */
|
|
16
|
+
const REDIRECT_STATUSES = [301, 302, 303, 307, 308];
|
|
15
17
|
/**
|
|
16
18
|
* Extracts a filename from the last path segment of a URL.
|
|
17
19
|
* Falls back to "download" if the URL is unparseable or has no path segments.
|
|
@@ -51,7 +53,9 @@ function parseContentLength(headers) {
|
|
|
51
53
|
* authenticated first hop (which typically 302s to a signed download URL),
|
|
52
54
|
* and unauthenticated second hop to fetch the actual file content. Common
|
|
53
55
|
* inputs include storage blob URLs from <bc-attachment> elements and any
|
|
54
|
-
* other signed-download URL that routes through the API.
|
|
56
|
+
* other signed-download URL that routes through the API. Neither hop follows
|
|
57
|
+
* a redirect on its own: hop 1's is the dispatch to hop 2, and a redirect on
|
|
58
|
+
* hop 2 is an error (SPEC §14 "Hop-2 Redirect Policy").
|
|
55
59
|
*/
|
|
56
60
|
export function createDownloadURL(deps) {
|
|
57
61
|
const { authStrategy, userAgent, baseUrl, hooks, requestTimeoutMs, enableRetry, retryBaseDelayMs } = deps;
|
|
@@ -178,7 +182,7 @@ export function createDownloadURL(deps) {
|
|
|
178
182
|
// Terminal attempt's end — the loop deliberately leaves it to us.
|
|
179
183
|
emit.finalize({ statusCode: response.status });
|
|
180
184
|
// Dispatch on response status
|
|
181
|
-
const isRedirect =
|
|
185
|
+
const isRedirect = REDIRECT_STATUSES.includes(response.status);
|
|
182
186
|
if (isRedirect) {
|
|
183
187
|
// Redirect — extract Location, cancel body, proceed to hop 2
|
|
184
188
|
const location = response.headers.get("Location");
|
|
@@ -188,15 +192,24 @@ export function createDownloadURL(deps) {
|
|
|
188
192
|
}
|
|
189
193
|
// Resolve relative Location against the rewritten API URL
|
|
190
194
|
const resolvedLocation = new URL(location, rewrittenURL).href;
|
|
191
|
-
// Hop 2: fetch from signed URL (no auth, no timeout, no request hooks)
|
|
195
|
+
// Hop 2: fetch from signed URL (no auth, no timeout, no request hooks).
|
|
196
|
+
// `redirect: "manual"`, as on hop 1: the signed URL is the one
|
|
197
|
+
// destination the API host named, and a redirect from it is refused below
|
|
198
|
+
// rather than followed wherever the storage host points (#805). Node's
|
|
199
|
+
// fetch hands the redirect back with its status; a browser's yields an
|
|
200
|
+
// opaqueredirect (status 0), which the !ok branch refuses the same way.
|
|
192
201
|
let signedResponse;
|
|
193
202
|
try {
|
|
194
|
-
signedResponse = await fetch(resolvedLocation);
|
|
203
|
+
signedResponse = await fetch(resolvedLocation, { redirect: "manual" });
|
|
195
204
|
}
|
|
196
205
|
catch (err) {
|
|
197
206
|
const error = err instanceof Error ? err : new Error(String(err));
|
|
198
207
|
throw Errors.network(error.message, error);
|
|
199
208
|
}
|
|
209
|
+
if (REDIRECT_STATUSES.includes(signedResponse.status)) {
|
|
210
|
+
signedResponse.body?.cancel();
|
|
211
|
+
throw new BasecampError("api_error", `redirect ${signedResponse.status} on the signed download hop is not followed`, { httpStatus: signedResponse.status });
|
|
212
|
+
}
|
|
200
213
|
if (!signedResponse.ok) {
|
|
201
214
|
signedResponse.body?.cancel();
|
|
202
215
|
throw new BasecampError("api_error", `download failed with status ${signedResponse.status}`, { httpStatus: signedResponse.status });
|
package/dist/download.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.js","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EACL,kBAAkB,EAClB,gBAAgB,GAGjB,MAAM,YAAY,CAAC;AAEpB;;;;;;;GAOG;AACH,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAC/C,MAAM,4BAA4B,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"download.js","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -158,6 +158,32 @@ export declare function errorFromResponse(response: Response, requestId?: string
|
|
|
158
158
|
* server's message).
|
|
159
159
|
*/
|
|
160
160
|
export declare function errorFromParsedBody(response: Response, body: unknown, requestId?: string): BasecampError;
|
|
161
|
+
/**
|
|
162
|
+
* Parses the Retry-After header value (SPEC §6, "Retry-After Parsing
|
|
163
|
+
* Algorithm"): integer seconds when > 0, else an RFC 7231 HTTP-date reduced to
|
|
164
|
+
* `max(0, date - now())` seconds when that is > 0, else `undefined` — which
|
|
165
|
+
* means "no server-directed delay", and every caller falls through to the
|
|
166
|
+
* backoff formula.
|
|
167
|
+
*
|
|
168
|
+
* This is the SDK's ONE implementation of that algorithm. The retry loop
|
|
169
|
+
* (`retry.ts`) and the multipart upload loop (`services/base.ts`) each carried
|
|
170
|
+
* their own `parseInt` copy until #564; both were missing the date branch, and
|
|
171
|
+
* one of them honoured `Retry-After: 0` as a zero-millisecond delay, which
|
|
172
|
+
* collapsed the backoff outright. Exported for those two callers rather than
|
|
173
|
+
* re-derived — it is deliberately NOT re-exported from `index.ts`, so this
|
|
174
|
+
* stays off the package's public surface.
|
|
175
|
+
*
|
|
176
|
+
* Both steps validate the SHAPE of the whole value before converting it,
|
|
177
|
+
* because the JavaScript conversions are far wider than the wire grammar and
|
|
178
|
+
* TypeScript was the only SDK of six that inherited their leniency. `parseInt`
|
|
179
|
+
* reads a prefix, so `120junk` was 120 seconds where `strconv.Atoi`, `int()`,
|
|
180
|
+
* `Integer(exception: false)`, `Int()` and `toIntOrNull()` all reject it; and
|
|
181
|
+
* `Date.parse` accepts ISO-8601, `Jan 1 2099` and a bare year, so a malformed
|
|
182
|
+
* header could name a date centuries out. The two are one fix, not two:
|
|
183
|
+
* tightening step 1 alone would hand `3000junk` to step 2 as the year 3000,
|
|
184
|
+
* turning a 50-minute delay into a ~975-year one.
|
|
185
|
+
*/
|
|
186
|
+
export declare function parseRetryAfter(value: string | null): number | undefined;
|
|
161
187
|
/**
|
|
162
188
|
* Type guard to check if an error is a BasecampError.
|
|
163
189
|
*/
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.js
CHANGED
|
@@ -373,23 +373,88 @@ function flattenFieldErrors(fieldErrors) {
|
|
|
373
373
|
.join(", ");
|
|
374
374
|
}
|
|
375
375
|
/**
|
|
376
|
-
*
|
|
377
|
-
*
|
|
376
|
+
* `delay-seconds` per RFC 9110, plus the leading sign every other SDK's integer
|
|
377
|
+
* parser consumes and the surrounding whitespace `parseInt` already tolerated.
|
|
378
378
|
*/
|
|
379
|
-
|
|
379
|
+
const DELAY_SECONDS = /^[+-]?\d+$/;
|
|
380
|
+
/**
|
|
381
|
+
* IMF-fixdate per RFC 7231 — `Sun, 06 Nov 1994 08:49:37 GMT`. A shape gate
|
|
382
|
+
* only: `Date.parse` still does the calendar arithmetic below, and still
|
|
383
|
+
* rejects an impossible day or hour by returning NaN.
|
|
384
|
+
*
|
|
385
|
+
* The obsolete RFC 850 and asctime forms are deliberately not accepted. That
|
|
386
|
+
* matches Ruby (`Time.httpdate`) and Swift (`DateFormatter`), but it does NOT
|
|
387
|
+
* make all six agree: Go's `http.ParseTime` takes all three forms, Python's
|
|
388
|
+
* `parsedate_to_datetime` is broadly lenient, and Kotlin's ktor parser takes a
|
|
389
|
+
* family of variants of its own (an earlier revision of this comment claimed
|
|
390
|
+
* Kotlin was strict, which was wrong — `PaginationTest` now pins what it really
|
|
391
|
+
* accepts). So this gate leaves TypeScript stricter than three of the five.
|
|
392
|
+
* Recorded against #775 with the rest of the Retry-After divergence; the
|
|
393
|
+
* direction is the safe one, since a form nobody is permitted to send simply
|
|
394
|
+
* falls through to backoff.
|
|
395
|
+
*/
|
|
396
|
+
const IMF_FIXDATE = /^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} GMT$/;
|
|
397
|
+
/*
|
|
398
|
+
* No timer bound is applied here, deliberately. An earlier revision clamped the
|
|
399
|
+
* parsed value at the largest delay `setTimeout` can serve, which quietly
|
|
400
|
+
* truncated the PUBLIC `BasecampError.retryAfter` — documented as "number of
|
|
401
|
+
* seconds to wait" and taken straight from this function by
|
|
402
|
+
* `errorFromParsedBody` — so a server saying 3000000 was reported to the caller
|
|
403
|
+
* as 2147483, and the hint said so in words. SPEC §6 defines parsing; the
|
|
404
|
+
* platform's timer ceiling is a property of *scheduling* a wait, not of reading
|
|
405
|
+
* the header. It now lives at the two sites that actually call `setTimeout`,
|
|
406
|
+
* via `timerSafeDelayMs` in `retry.ts`.
|
|
407
|
+
*/
|
|
408
|
+
/**
|
|
409
|
+
* Parses the Retry-After header value (SPEC §6, "Retry-After Parsing
|
|
410
|
+
* Algorithm"): integer seconds when > 0, else an RFC 7231 HTTP-date reduced to
|
|
411
|
+
* `max(0, date - now())` seconds when that is > 0, else `undefined` — which
|
|
412
|
+
* means "no server-directed delay", and every caller falls through to the
|
|
413
|
+
* backoff formula.
|
|
414
|
+
*
|
|
415
|
+
* This is the SDK's ONE implementation of that algorithm. The retry loop
|
|
416
|
+
* (`retry.ts`) and the multipart upload loop (`services/base.ts`) each carried
|
|
417
|
+
* their own `parseInt` copy until #564; both were missing the date branch, and
|
|
418
|
+
* one of them honoured `Retry-After: 0` as a zero-millisecond delay, which
|
|
419
|
+
* collapsed the backoff outright. Exported for those two callers rather than
|
|
420
|
+
* re-derived — it is deliberately NOT re-exported from `index.ts`, so this
|
|
421
|
+
* stays off the package's public surface.
|
|
422
|
+
*
|
|
423
|
+
* Both steps validate the SHAPE of the whole value before converting it,
|
|
424
|
+
* because the JavaScript conversions are far wider than the wire grammar and
|
|
425
|
+
* TypeScript was the only SDK of six that inherited their leniency. `parseInt`
|
|
426
|
+
* reads a prefix, so `120junk` was 120 seconds where `strconv.Atoi`, `int()`,
|
|
427
|
+
* `Integer(exception: false)`, `Int()` and `toIntOrNull()` all reject it; and
|
|
428
|
+
* `Date.parse` accepts ISO-8601, `Jan 1 2099` and a bare year, so a malformed
|
|
429
|
+
* header could name a date centuries out. The two are one fix, not two:
|
|
430
|
+
* tightening step 1 alone would hand `3000junk` to step 2 as the year 3000,
|
|
431
|
+
* turning a 50-minute delay into a ~975-year one.
|
|
432
|
+
*/
|
|
433
|
+
export function parseRetryAfter(value) {
|
|
380
434
|
if (!value)
|
|
381
435
|
return undefined;
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
436
|
+
const trimmed = value.trim();
|
|
437
|
+
// Step 1 — the whole value as integer seconds, honoured when > 0. The
|
|
438
|
+
// safe-integer bound is not pedantry: a 400-digit value becomes Infinity, and
|
|
439
|
+
// setTimeout CLAMPS an out-of-range delay to 1ms, so the longest possible
|
|
440
|
+
// instruction would become a tight retry loop against a server already
|
|
441
|
+
// answering 429 (SPEC §7's backoff ceiling exists for exactly this).
|
|
442
|
+
if (DELAY_SECONDS.test(trimmed)) {
|
|
443
|
+
const seconds = Number(trimmed);
|
|
444
|
+
return Number.isSafeInteger(seconds) && seconds > 0 ? seconds : undefined;
|
|
386
445
|
}
|
|
387
|
-
//
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
446
|
+
// Step 2 — an HTTP-date, reduced to the seconds remaining and honoured when
|
|
447
|
+
// that is positive. A past date returns undefined rather than 0: handing back
|
|
448
|
+
// 0 would mean "retry immediately", the opposite instruction. A far-future date
|
|
449
|
+
// yields a correspondingly huge value; bounding it to what a timer can serve
|
|
450
|
+
// is the caller's business, not this function's.
|
|
451
|
+
if (IMF_FIXDATE.test(trimmed)) {
|
|
452
|
+
const date = Date.parse(trimmed);
|
|
453
|
+
if (!isNaN(date)) {
|
|
454
|
+
const diffMs = date - Date.now();
|
|
455
|
+
if (diffMs > 0) {
|
|
456
|
+
return Math.ceil(diffMs / 1000);
|
|
457
|
+
}
|
|
393
458
|
}
|
|
394
459
|
}
|
|
395
460
|
return undefined;
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ export interface MetadataOutput {
|
|
|
37
37
|
const metadata: MetadataOutput = {
|
|
38
38
|
"$schema": "https://basecamp.com/schemas/sdk-metadata.json",
|
|
39
39
|
"version": "1.0.0",
|
|
40
|
-
"generated": "2026-08-
|
|
40
|
+
"generated": "2026-08-12T19:58:34.423Z",
|
|
41
41
|
"operations": {
|
|
42
42
|
"GetAccount": {
|
|
43
43
|
"retry": {
|