@paragraphcms/client 1.4.0 → 1.6.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 CHANGED
@@ -1,25 +1,22 @@
1
- # Paragraph CMS Client
1
+ # @paragraphcms/client
2
2
 
3
3
  Official TypeScript client for the Paragraph CMS v1 API.
4
4
 
5
- The package is built on top of the standard Fetch API, so it works in modern Node.js, Cloudflare Workers, Next.js route handlers/server actions, AWS Lambda, and other server-side JavaScript runtimes that expose `fetch`, `Headers`, `FormData`, `Blob`, and `AbortController`.
5
+ `@paragraphcms/client` is a small, typed SDK built on top of the standard Fetch API. It runs in modern Node.js and server-side runtimes that expose `fetch`, `Headers`, `FormData`, `Blob`, and `AbortController`, including Cloudflare Workers, Next.js route handlers and server actions, AWS Lambda, and similar environments.
6
6
 
7
- ## Features
8
-
9
- - Full coverage for the current Paragraph CMS v1 API surface.
10
- - `new Client({ apiKey })` entrypoint with a small, typed SDK.
11
- - Built-in request queue that rate-limits each client instance to `5 req/s` by default.
12
- - Runtime-agnostic implementation with no runtime dependencies.
13
- - First-class TypeScript types for request payloads, responses, list metadata, and API errors.
14
- - Request cancellation with `AbortSignal`.
7
+ ## Quick Start
15
8
 
16
- ## Installation
9
+ Install the client with a package manager:
17
10
 
18
11
  ```bash
19
12
  npm install @paragraphcms/client
13
+
14
+ # Alternative package managers
15
+ pnpm add @paragraphcms/client
16
+ yarn add @paragraphcms/client
20
17
  ```
21
18
 
22
- ## Quick Start
19
+ Create a client instance and call the API:
23
20
 
24
21
  ```ts
25
22
  import { Client } from "@paragraphcms/client";
@@ -28,52 +25,78 @@ const client = new Client({
28
25
  apiKey: process.env.PARAGRAPH_API_KEY!,
29
26
  });
30
27
 
31
- const pages = await client.pages.list({
32
- include_content: false,
33
- sort: "-updated_at",
34
- });
35
-
36
- const created = await client.pages.create({
37
- title: "Pricing",
38
- language: "en",
39
- content: [
40
- {
41
- type: "paragraph",
42
- content: [{ type: "text", text: "Pricing" }],
43
- },
44
- ],
45
- });
28
+ const pages = await client.pages.list();
29
+ const page = await client.pages.getBySlug("pricing");
46
30
 
47
31
  console.log(pages.meta.total_items);
48
- console.log(created.page.id);
32
+ console.log(page.id);
49
33
  ```
50
34
 
51
- ## Runtime Notes
35
+ ## Table of Contents
36
+
37
+ - [Requirements](#requirements)
38
+ - [Features](#features)
39
+ - [Creating a Client Instance](#creating-a-client-instance)
40
+ - [Configuration](#configuration)
41
+ - [Per-request Options](#per-request-options)
42
+ - [Error Handling](#error-handling)
43
+ - [Rate Limiting](#rate-limiting)
44
+ - [Return Shapes](#return-shapes)
45
+ - [API](#api)
46
+ - [End-to-end Examples](#end-to-end-examples)
47
+ - [Exported Types](#exported-types)
48
+ - [Testing](#testing)
49
+ - [License](#license)
52
50
 
53
- - The default API base URL is `https://api.paragraphcms.com/v1`.
54
- - If you pass `baseUrl: "https://api.paragraphcms.com"`, the client automatically normalizes it to `https://api.paragraphcms.com/v1`.
55
- - The client uses `x-api-key` authentication by default.
56
- - Field names in request and response payloads intentionally mirror the HTTP API. That means body/query keys stay in `snake_case`.
51
+ ## Requirements
57
52
 
58
- ## Rate Limiting
53
+ - Node.js `18+` for direct Node.js usage.
54
+ - A runtime with standard Fetch API primitives for edge and serverless usage.
55
+ - ESM support. The package is published as an ES module.
59
56
 
60
- Paragraph CMS v1 is rate-limited to `5 req/s`. Each `Client` instance contains an internal queue that spaces request starts so the instance does not exceed that budget by default.
57
+ ## Features
61
58
 
62
- Important details:
59
+ - Full coverage for the current Paragraph CMS v1 API surface.
60
+ - `new Client({ apiKey })` entrypoint with a compact, typed SDK.
61
+ - Built-in request queue that rate-limits each client instance to `5 req/s` by default.
62
+ - Automatic retries for `429 Too Many Requests` responses using `Retry-After` when available.
63
+ - Runtime-agnostic implementation with no runtime dependencies.
64
+ - First-class TypeScript types for payloads, list metadata, domain models, and API errors.
65
+ - Request cancellation with `AbortSignal`.
66
+
67
+ ## Creating a Client Instance
68
+
69
+ `const client = new Client(options)`
70
+
71
+ Initialize the client with your Paragraph API key and optional runtime settings:
72
+
73
+ ```ts
74
+ import { Client, type ClientOptions } from "@paragraphcms/client";
75
+
76
+ const config: ClientOptions = {
77
+ apiKey: process.env.PARAGRAPH_API_KEY!,
78
+ timeoutMs: 10_000,
79
+ };
63
80
 
64
- - The limiter is per client instance, not global across all containers, lambdas, or workers.
65
- - If your app creates many `Client` instances, each instance will maintain its own queue.
66
- - The safest pattern is to reuse one shared `Client` instance per process or isolate when possible.
81
+ export const client = new Client(config);
82
+ ```
67
83
 
68
- You can override the per-instance limit if you need a lower ceiling:
84
+ To target a local or staging API, pass `baseUrl` explicitly:
69
85
 
70
86
  ```ts
71
87
  const client = new Client({
72
88
  apiKey: process.env.PARAGRAPH_API_KEY!,
73
- maxRequestsPerSecond: 3,
89
+ baseUrl: "http://localhost:3001",
74
90
  });
75
91
  ```
76
92
 
93
+ Important runtime notes:
94
+
95
+ - The default API base URL is `https://api.paragraphcms.com/v1`.
96
+ - If you pass `baseUrl: "https://api.paragraphcms.com"` or another origin without `/v1`, the client normalizes it to the `/v1` API root automatically.
97
+ - The client authenticates requests with the `x-api-key` header.
98
+ - Request and response field names intentionally mirror the HTTP API, so payload keys remain in `snake_case`.
99
+
77
100
  ## Configuration
78
101
 
79
102
  ```ts
@@ -95,7 +118,7 @@ Required. Paragraph CMS organization API key.
95
118
 
96
119
  Optional. Defaults to `https://api.paragraphcms.com/v1`.
97
120
 
98
- Examples:
121
+ Accepted examples:
99
122
 
100
123
  - `https://api.paragraphcms.com/v1`
101
124
  - `https://api.paragraphcms.com`
@@ -107,29 +130,34 @@ Optional custom fetch implementation. Useful in tests or custom runtimes.
107
130
 
108
131
  ### `headers`
109
132
 
110
- Optional default headers added to every request.
133
+ Optional default headers merged into every request.
111
134
 
112
135
  ### `timeoutMs`
113
136
 
114
- Optional default request timeout in milliseconds. Per-call options can override it.
137
+ Optional default request timeout in milliseconds. Per-request options can override it.
115
138
 
116
139
  ### `maxRequestsPerSecond`
117
140
 
118
141
  Optional per-client limiter ceiling. Defaults to `5`.
119
142
 
120
- ## Per-Request Options
143
+ ### `maxRateLimitRetries`
144
+
145
+ Optional maximum number of automatic retries after a `429 Too Many Requests` response. Defaults to `2`. Set to `0` to disable retries.
121
146
 
122
- Every SDK method accepts an optional last argument:
147
+ ## Per-request Options
148
+
149
+ Every SDK method accepts an optional final `RequestOptions` argument:
123
150
 
124
151
  ```ts
125
152
  type RequestOptions = {
126
153
  signal?: AbortSignal;
127
154
  headers?: HeadersInit;
128
155
  timeoutMs?: number;
156
+ maxRateLimitRetries?: number;
129
157
  };
130
158
  ```
131
159
 
132
- Example:
160
+ For methods that also accept a body or query object, pass request options as the last argument:
133
161
 
134
162
  ```ts
135
163
  const controller = new AbortController();
@@ -142,10 +170,14 @@ const page = await client.pages.get("page-id", undefined, {
142
170
 
143
171
  ## Error Handling
144
172
 
145
- The client throws `ParagraphApiError` for non-2xx API responses and `ParagraphClientError` for local runtime/configuration problems.
173
+ The client throws `ParagraphApiError` for non-2xx API responses and `ParagraphClientError` for local runtime, timeout, or configuration problems.
146
174
 
147
175
  ```ts
148
- import { Client, ParagraphApiError } from "@paragraphcms/client";
176
+ import {
177
+ Client,
178
+ ParagraphApiError,
179
+ ParagraphClientError,
180
+ } from "@paragraphcms/client";
149
181
 
150
182
  const client = new Client({
151
183
  apiKey: process.env.PARAGRAPH_API_KEY!,
@@ -160,21 +192,48 @@ try {
160
192
  console.error(error.message);
161
193
  console.error(error.details);
162
194
  }
195
+
196
+ if (error instanceof ParagraphClientError) {
197
+ console.error(error.message);
198
+ }
163
199
  }
164
200
  ```
165
201
 
202
+ ## Rate Limiting
203
+
204
+ Paragraph CMS v1 is rate-limited to `5 req/s`. Each `Client` instance includes an internal queue that spaces request starts so the instance stays within that budget by default.
205
+
206
+ Important details:
207
+
208
+ - The limiter is per client instance, not global across containers, lambdas, or workers.
209
+ - If your application creates many `Client` instances, each instance keeps its own queue.
210
+ - The safest production pattern is to reuse one shared `Client` instance per process or isolate when possible.
211
+ - If the API still returns `429 Too Many Requests`, the client retries automatically up to `maxRateLimitRetries` times and honors the `Retry-After` header when it is present.
212
+ - Request timeouts include retry wait time and all retry attempts, not just the first fetch.
213
+
214
+ You can lower the per-instance ceiling if needed:
215
+
216
+ ```ts
217
+ const client = new Client({
218
+ apiKey: process.env.PARAGRAPH_API_KEY!,
219
+ maxRequestsPerSecond: 3,
220
+ });
221
+ ```
222
+
166
223
  ## Return Shapes
167
224
 
168
225
  - Single-resource endpoints return the unwrapped `data` payload.
169
226
  - Paginated endpoints return `{ data, meta }`.
170
- - `locales.list()` returns a plain `Locale[]` because the API endpoint itself is not paginated.
227
+ - `locales.list()` returns a plain `Locale[]` because the underlying API endpoint is not paginated.
228
+
229
+ ## API
171
230
 
172
- ## API Surface
231
+ The SDK closely mirrors the Paragraph CMS HTTP API. Resource names stay familiar and request/response bodies are intentionally left in `snake_case` to match the wire format.
173
232
 
174
233
  ### Root
175
234
 
176
235
  ```ts
177
- client.getInfo()
236
+ client.getInfo(options?)
178
237
  ```
179
238
 
180
239
  Returns the public `/v1` info payload:
@@ -188,12 +247,14 @@ Returns the public `/v1` info payload:
188
247
  supported_headers: ["x-api-key", "authorization"],
189
248
  authorization_format: "Bearer <api-key>",
190
249
  },
191
- resources: [...]
250
+ resources: [...],
192
251
  }
193
252
  ```
194
253
 
195
254
  ### Pages
196
255
 
256
+ Page listing, detail, mutation, duplication, restore, and translation helpers:
257
+
197
258
  ```ts
198
259
  client.pages.list(query?, options?)
199
260
  client.pages.create(body?, options?)
@@ -205,6 +266,7 @@ client.pages.restore(pageId, options?)
205
266
  client.pages.permanentlyDelete(pageId, options?)
206
267
  client.pages.duplicate(pageId, options?)
207
268
  client.pages.createTranslation(pageId, body, options?)
269
+ client.page.get(pageId, query?, options?)
208
270
  client.page.getBySlug(slug, options?)
209
271
  ```
210
272
 
@@ -219,10 +281,12 @@ Supported `sort` fields for `pages.list()`:
219
281
  Notes:
220
282
 
221
283
  - If you omit both `limit` and `page`, `pages.list()` returns the full matching result set.
284
+ - `collection` is a convenience alias for `collection_id` in `pages.list()` queries.
222
285
  - `label_id` is passed as `string[]` in the SDK and serialized to the API CSV format automatically.
223
- - `content` is present in page list results only when `include_content: true`.
286
+ - `pages.list()` sends `include_content: false` by default. Set `include_content: true` to include `content` in list responses.
224
287
  - Page responses should be treated as Tiptap JSON arrays. `content_format` is no longer required in the response shape.
225
- - `pages.getBySlug()` is an SDK convenience lookup built on top of `pages.list({ slug })`, and then fetches the full page details by ID.
288
+ - `page.get()` is a short alias for `pages.get()`.
289
+ - `pages.getBySlug()` is an SDK convenience lookup built on top of `pages.list({ slug })`, then fetches the full page details by ID.
226
290
  - `page.getBySlug()` is a short alias for the same lookup.
227
291
 
228
292
  ### Collections
@@ -263,7 +327,7 @@ Supported `sort` fields for `media.list()`:
263
327
  - `File`
264
328
  - `Blob`
265
329
  - `ArrayBuffer`
266
- - Typed arrays like `Uint8Array`
330
+ - Typed arrays such as `Uint8Array`
267
331
  - Node.js `Buffer`
268
332
 
269
333
  Example:
@@ -310,8 +374,8 @@ Supported `sort` fields:
310
374
 
311
375
  Notes:
312
376
 
313
- - `members.get()`, `authors.get()`, and `reviewers.get()` are SDK convenience lookups built on top of the paginated list endpoints because the HTTP API does not expose `/members/{id}`, `/authors/{id}`, or `/reviewers/{id}` endpoints.
314
- - `authors` and `reviewers` are aliases of the member listing endpoints exposed by the API.
377
+ - `members.get()`, `authors.get()`, and `reviewers.get()` are SDK convenience lookups built on top of paginated list endpoints because the HTTP API does not expose `/members/{id}`, `/authors/{id}`, or `/reviewers/{id}` detail endpoints.
378
+ - `authors` and `reviewers` are aliases of member listing endpoints exposed by the API.
315
379
 
316
380
  ### Statuses
317
381
 
@@ -383,9 +447,9 @@ client.ai.generateMetaDescription(body, options?)
383
447
  client.ai.generateContent(body, options?)
384
448
  ```
385
449
 
386
- ## End-to-End Examples
450
+ ## End-to-end Examples
387
451
 
388
- ### Create a page and upload its hero image
452
+ ### Create a Page and Upload Its Hero Image
389
453
 
390
454
  ```ts
391
455
  const pageResult = await client.pages.create({
@@ -408,7 +472,7 @@ await client.media.upload({
408
472
  });
409
473
  ```
410
474
 
411
- ### Create a translated page variant
475
+ ### Create a Translated Page Variant
412
476
 
413
477
  ```ts
414
478
  await client.pages.createTranslation("page-id", {
@@ -418,7 +482,7 @@ await client.pages.createTranslation("page-id", {
418
482
  });
419
483
  ```
420
484
 
421
- ### Generate SEO fields with AI
485
+ ### Generate SEO Fields with AI
422
486
 
423
487
  ```ts
424
488
  const generatedMeta = await client.ai.generateMetaDescription({
@@ -432,7 +496,7 @@ console.log(generatedMeta.meta_description);
432
496
 
433
497
  ## Exported Types
434
498
 
435
- The package exports the `Client` class, both error classes, and the main request/response/domain types used by the SDK, including:
499
+ The package exports `Client`, `ParagraphApiError`, `ParagraphClientError`, and the main request, response, and domain types used by the SDK, including:
436
500
 
437
501
  - `ClientOptions`
438
502
  - `RequestOptions`
@@ -470,17 +534,12 @@ npm run test:integration
470
534
 
471
535
  Environment variables for integration tests:
472
536
 
473
- - `PARAGRAPH_API_KEY` required to run live API tests.
474
- - `PARAGRAPH_API_BASE_URL` optional override for local/staging API targets.
475
- - `PARAGRAPH_AI_MODEL` optional model id for AI endpoint tests. When omitted, AI integration tests are skipped.
537
+ - `PARAGRAPH_API_KEY` is required to run live API tests.
538
+ - `PARAGRAPH_API_BASE_URL` optionally overrides the API target for local or staging environments.
539
+ - `PARAGRAPH_AI_MODEL` optionally sets the model used by AI endpoint tests. If omitted, AI integration tests are skipped.
476
540
 
477
541
  The integration suite is self-contained and generates its own resources, so it does not rely on any existing content in the target organization.
478
542
 
479
- ## Requirements
480
-
481
- - Node.js `18+` for direct Node usage.
482
- - A runtime with standard Fetch API primitives for edge/serverless usage.
483
-
484
543
  ## License
485
544
 
486
545
  ISC
package/dist/client.d.ts CHANGED
@@ -5,6 +5,7 @@ export declare class Client {
5
5
  private readonly fetchImpl;
6
6
  private readonly defaultHeaders;
7
7
  private readonly timeoutMs?;
8
+ private readonly maxRateLimitRetries;
8
9
  private readonly limiter;
9
10
  readonly pages: {
10
11
  list: (query?: PageListQuery, options?: RequestOptions) => Promise<ListResponse<PageSummary>>;
@@ -19,6 +20,7 @@ export declare class Client {
19
20
  createTranslation: (pageId: string, body: CreatePageTranslationRequest, options?: RequestOptions) => Promise<PageMutationResult>;
20
21
  };
21
22
  readonly page: {
23
+ get: (pageId: string, query?: GetPageQuery, options?: RequestOptions) => Promise<Page>;
22
24
  getBySlug: (slug: string, options?: RequestOptions) => Promise<Page>;
23
25
  };
24
26
  readonly collections: {
@@ -84,6 +86,7 @@ export declare class Client {
84
86
  constructor(options: ClientOptions);
85
87
  getInfo(options?: RequestOptions): Promise<ApiInfo>;
86
88
  private listPages;
89
+ private createPageListQuery;
87
90
  private requestData;
88
91
  private requestList;
89
92
  private getPageBySlug;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -2,6 +2,8 @@ import { ParagraphApiError, ParagraphClientError, } from "./errors.js";
2
2
  import { RequestRateLimiter } from "./rate-limiter.js";
3
3
  const DEFAULT_BASE_URL = "https://api.paragraphcms.com/v1";
4
4
  const DEFAULT_REQUESTS_PER_SECOND = 5;
5
+ const DEFAULT_RATE_LIMIT_RETRIES = 2;
6
+ const DEFAULT_RATE_LIMIT_RETRY_DELAY_MS = 1000;
5
7
  const LOOKUP_PAGE_SIZE = 100;
6
8
  function resolveFetchImplementation(customFetch) {
7
9
  const fetchImpl = customFetch ?? globalThis.fetch;
@@ -123,9 +125,67 @@ function createRequestSignal(signal, timeoutMs) {
123
125
  didTimeout: () => timedOut,
124
126
  };
125
127
  }
128
+ function waitForDelay(delayMs, signal) {
129
+ if (delayMs <= 0) {
130
+ return Promise.resolve();
131
+ }
132
+ return new Promise((resolve, reject) => {
133
+ let timeoutId;
134
+ const cleanup = () => {
135
+ if (timeoutId !== undefined) {
136
+ clearTimeout(timeoutId);
137
+ }
138
+ if (signal) {
139
+ signal.removeEventListener("abort", onAbort);
140
+ }
141
+ };
142
+ const onAbort = () => {
143
+ cleanup();
144
+ reject(signal?.reason ??
145
+ new DOMException("The operation was aborted.", "AbortError"));
146
+ };
147
+ if (signal) {
148
+ if (signal.aborted) {
149
+ onAbort();
150
+ return;
151
+ }
152
+ signal.addEventListener("abort", onAbort, { once: true });
153
+ }
154
+ timeoutId = setTimeout(() => {
155
+ cleanup();
156
+ resolve();
157
+ }, delayMs);
158
+ });
159
+ }
126
160
  function isAbortError(error) {
127
161
  return (error instanceof DOMException && error.name === "AbortError");
128
162
  }
163
+ function resolveMaxRateLimitRetries(value, fallback = DEFAULT_RATE_LIMIT_RETRIES) {
164
+ const resolved = value ?? fallback;
165
+ if (!Number.isInteger(resolved) ||
166
+ resolved < 0) {
167
+ throw new ParagraphClientError("`maxRateLimitRetries` must be a non-negative integer.");
168
+ }
169
+ return resolved;
170
+ }
171
+ function parseRetryAfterMs(headerValue) {
172
+ if (!headerValue) {
173
+ return undefined;
174
+ }
175
+ const seconds = Number(headerValue);
176
+ if (Number.isFinite(seconds) && seconds >= 0) {
177
+ return Math.ceil(seconds * 1000);
178
+ }
179
+ const retryAt = Date.parse(headerValue);
180
+ if (Number.isNaN(retryAt)) {
181
+ return undefined;
182
+ }
183
+ return Math.max(0, retryAt - Date.now());
184
+ }
185
+ function resolveRateLimitRetryDelayMs(headers, retryCount) {
186
+ return (parseRetryAfterMs(headers.get("retry-after")) ??
187
+ DEFAULT_RATE_LIMIT_RETRY_DELAY_MS * 2 ** retryCount);
188
+ }
129
189
  function toBlobPart(file) {
130
190
  if (typeof File !== "undefined" && file instanceof File) {
131
191
  return {
@@ -217,6 +277,7 @@ export class Client {
217
277
  fetchImpl;
218
278
  defaultHeaders;
219
279
  timeoutMs;
280
+ maxRateLimitRetries;
220
281
  limiter;
221
282
  pages = {
222
283
  list: (query, options) => this.listPages(query, options),
@@ -251,6 +312,7 @@ export class Client {
251
312
  }),
252
313
  };
253
314
  page = {
315
+ get: (pageId, query, options) => this.pages.get(pageId, query, options),
254
316
  getBySlug: (slug, options) => this.pages.getBySlug(slug, options),
255
317
  };
256
318
  collections = {
@@ -434,18 +496,20 @@ export class Client {
434
496
  this.fetchImpl = resolveFetchImplementation(options.fetch);
435
497
  this.defaultHeaders = new Headers(options.headers);
436
498
  this.timeoutMs = options.timeoutMs;
499
+ this.maxRateLimitRetries = resolveMaxRateLimitRetries(options.maxRateLimitRetries);
437
500
  this.limiter = new RequestRateLimiter(options.maxRequestsPerSecond ?? DEFAULT_REQUESTS_PER_SECOND);
438
501
  }
439
502
  getInfo(options) {
440
503
  return this.requestData("GET", "", { options });
441
504
  }
442
505
  async listPages(query, options) {
506
+ const pageListQuery = this.createPageListQuery(query);
443
507
  const response = await this.requestList("GET", "/pages", {
444
- query,
508
+ query: pageListQuery,
445
509
  options,
446
510
  });
447
- if (query?.limit !== undefined ||
448
- query?.page !== undefined ||
511
+ if (pageListQuery.limit !== undefined ||
512
+ pageListQuery.page !== undefined ||
449
513
  !response.meta.has_next_page) {
450
514
  return response;
451
515
  }
@@ -455,7 +519,7 @@ export class Client {
455
519
  while (lastMeta.has_next_page) {
456
520
  const nextResponse = await this.requestList("GET", "/pages", {
457
521
  query: {
458
- ...(query ?? {}),
522
+ ...pageListQuery,
459
523
  page: nextPage,
460
524
  limit: lastMeta.limit,
461
525
  },
@@ -477,6 +541,20 @@ export class Client {
477
541
  },
478
542
  };
479
543
  }
544
+ createPageListQuery(query) {
545
+ const collection = query?.collection_id ?? query?.collection;
546
+ if (query?.collection !== undefined &&
547
+ query?.collection_id !== undefined &&
548
+ query.collection !== query.collection_id) {
549
+ throw new ParagraphClientError("`collection` and `collection_id` must match when both are provided.");
550
+ }
551
+ return {
552
+ ...(query ?? {}),
553
+ collection: undefined,
554
+ collection_id: collection,
555
+ include_content: query?.include_content ?? false,
556
+ };
557
+ }
480
558
  requestData(method, path, config) {
481
559
  return this.requestJson(method, path, config).then((response) => response.data);
482
560
  }
@@ -484,13 +562,12 @@ export class Client {
484
562
  return this.requestJson(method, path, config);
485
563
  }
486
564
  async getPageBySlug(slug, options) {
565
+ const query = this.createPageListQuery({ slug });
487
566
  const page = await this.findListItem("/pages", (item) => item.slug === slug, options, {
488
567
  code: "page_not_found",
489
568
  message: "Page not found.",
490
569
  details: { slug },
491
- }, {
492
- slug,
493
- });
570
+ }, query);
494
571
  return this.pages.get(page.id, undefined, options);
495
572
  }
496
573
  async findListItem(path, predicate, options, error, query) {
@@ -550,65 +627,79 @@ export class Client {
550
627
  requestJson(method, path, config) {
551
628
  const url = buildUrl(this.baseUrl, path, config?.query);
552
629
  const request = createRequestDescriptor(method, url);
553
- return this.limiter.schedule(async () => {
554
- const headers = new Headers(this.defaultHeaders);
555
- const timeoutMs = config?.options?.timeoutMs ?? this.timeoutMs;
556
- headers.set("accept", "application/json");
557
- if (!headers.has("x-api-key") &&
558
- !headers.has("authorization")) {
559
- headers.set("x-api-key", this.apiKey);
560
- }
561
- let body;
562
- if (config?.formData) {
563
- headers.delete("content-type");
564
- body = config.formData;
565
- }
566
- else if (config?.body !== undefined) {
567
- if (!headers.has("content-type")) {
568
- headers.set("content-type", "application/json");
569
- }
570
- body = JSON.stringify(config.body);
571
- }
572
- const optionHeaders = new Headers(config?.options?.headers);
573
- for (const [key, value] of optionHeaders.entries()) {
574
- headers.set(key, value);
575
- }
576
- if (config?.formData) {
577
- headers.delete("content-type");
630
+ const headers = new Headers(this.defaultHeaders);
631
+ const timeoutMs = config?.options?.timeoutMs ?? this.timeoutMs;
632
+ const maxRateLimitRetries = resolveMaxRateLimitRetries(config?.options?.maxRateLimitRetries, this.maxRateLimitRetries);
633
+ headers.set("accept", "application/json");
634
+ if (!headers.has("x-api-key") &&
635
+ !headers.has("authorization")) {
636
+ headers.set("x-api-key", this.apiKey);
637
+ }
638
+ let body;
639
+ if (config?.formData) {
640
+ headers.delete("content-type");
641
+ body = config.formData;
642
+ }
643
+ else if (config?.body !== undefined) {
644
+ if (!headers.has("content-type")) {
645
+ headers.set("content-type", "application/json");
578
646
  }
579
- const requestSignal = createRequestSignal(config?.options?.signal, timeoutMs);
647
+ body = JSON.stringify(config.body);
648
+ }
649
+ const optionHeaders = new Headers(config?.options?.headers);
650
+ for (const [key, value] of optionHeaders.entries()) {
651
+ headers.set(key, value);
652
+ }
653
+ if (config?.formData) {
654
+ headers.delete("content-type");
655
+ }
656
+ const requestSignal = createRequestSignal(config?.options?.signal, timeoutMs);
657
+ return (async () => {
658
+ let retryCount = 0;
580
659
  try {
581
660
  const fetchImpl = this.fetchImpl;
582
- const response = await fetchImpl(url, {
583
- method,
584
- headers,
585
- body,
586
- signal: requestSignal.signal,
587
- });
588
- const payload = await parseResponse(response);
589
- if (!response.ok) {
590
- if (isApiErrorPayload(payload)) {
591
- throw new ParagraphApiError({
661
+ while (true) {
662
+ const response = await this.limiter.schedule(() => fetchImpl(url, {
663
+ method,
664
+ headers,
665
+ body,
666
+ signal: requestSignal.signal,
667
+ }));
668
+ const payload = await parseResponse(response);
669
+ if (response.ok) {
670
+ return payload;
671
+ }
672
+ const responseHeaders = new Headers(response.headers);
673
+ const apiError = isApiErrorPayload(payload)
674
+ ? new ParagraphApiError({
592
675
  status: response.status,
593
676
  code: payload.error.code,
594
677
  message: payload.error.message,
595
678
  details: payload.error.details,
596
- headers: new Headers(response.headers),
679
+ headers: responseHeaders,
597
680
  request,
598
681
  body: payload,
682
+ })
683
+ : new ParagraphApiError({
684
+ status: response.status,
685
+ code: response.status === 401
686
+ ? "unauthorized"
687
+ : "request_failed",
688
+ message: typeof payload === "string" && payload.length > 0
689
+ ? payload
690
+ : response.statusText || "Request failed.",
691
+ headers: responseHeaders,
692
+ request,
599
693
  });
694
+ if (response.status === 429 &&
695
+ retryCount < maxRateLimitRetries) {
696
+ const retryDelayMs = resolveRateLimitRetryDelayMs(responseHeaders, retryCount);
697
+ retryCount += 1;
698
+ await waitForDelay(retryDelayMs, requestSignal.signal);
699
+ continue;
600
700
  }
601
- throw new ParagraphApiError({
602
- status: response.status,
603
- code: response.status === 401 ? "unauthorized" : "request_failed",
604
- message: typeof payload === "string" && payload.length > 0
605
- ? payload
606
- : response.statusText || "Request failed.",
607
- headers: new Headers(response.headers),
608
- request,
609
- });
701
+ throw apiError;
610
702
  }
611
- return payload;
612
703
  }
613
704
  catch (error) {
614
705
  if (error instanceof ParagraphApiError ||
@@ -621,7 +712,8 @@ export class Client {
621
712
  cause: error,
622
713
  });
623
714
  }
624
- if (isAbortError(error)) {
715
+ if (isAbortError(error) ||
716
+ config?.options?.signal?.aborted) {
625
717
  throw error;
626
718
  }
627
719
  throw new ParagraphClientError("Request failed.", {
@@ -632,6 +724,6 @@ export class Client {
632
724
  finally {
633
725
  requestSignal.cleanup();
634
726
  }
635
- });
727
+ })();
636
728
  }
637
729
  }
package/dist/types.d.ts CHANGED
@@ -45,6 +45,7 @@ export interface RequestOptions {
45
45
  signal?: AbortSignal;
46
46
  headers?: HeadersInit;
47
47
  timeoutMs?: number;
48
+ maxRateLimitRetries?: number;
48
49
  }
49
50
  export interface ClientOptions {
50
51
  apiKey: string;
@@ -53,6 +54,7 @@ export interface ClientOptions {
53
54
  headers?: HeadersInit;
54
55
  timeoutMs?: number;
55
56
  maxRequestsPerSecond?: number;
57
+ maxRateLimitRetries?: number;
56
58
  }
57
59
  export interface ListQuery {
58
60
  limit?: number;
@@ -276,6 +278,7 @@ export interface ReorderResult {
276
278
  }
277
279
  export interface PageListQuery extends ListQuery {
278
280
  include_content?: boolean;
281
+ collection?: string;
279
282
  deleted?: DeletedFilter;
280
283
  collection_id?: string;
281
284
  without_collection?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paragraphcms/client",
3
- "version": "1.4.0",
3
+ "version": "1.6.0",
4
4
  "description": "Official Paragraph CMS TypeScript client for the Paragraph CMS v1 API.",
5
5
  "license": "ISC",
6
6
  "author": "Paragraph CMS",