@tinybirdco/sdk 0.0.56 → 0.0.58

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
@@ -247,6 +247,21 @@ await api.ingest<EventRow>("events", {
247
247
  pathname: "/home",
248
248
  });
249
249
 
250
+ // Ingest retry behavior (disabled by default):
251
+ // - 429 retries use Retry-After / X-RateLimit-Reset headers.
252
+ // - 503 retries use SDK default exponential backoff.
253
+ await api.ingest<EventRow>(
254
+ "events",
255
+ {
256
+ timestamp: "2024-01-15 10:31:00",
257
+ event_name: "button_click",
258
+ pathname: "/pricing",
259
+ },
260
+ {
261
+ maxRetries: 3,
262
+ }
263
+ );
264
+
250
265
  // Import rows from URL/file
251
266
  await api.appendDatasource("events", {
252
267
  url: "https://example.com/events.csv",
package/dist/api/api.d.ts CHANGED
@@ -157,6 +157,15 @@ export declare class TinybirdApi {
157
157
  private createFileFormData;
158
158
  private parseOptionalJson;
159
159
  private createAbortSignal;
160
+ private resolveIngestMaxRetries;
161
+ private resolveRetry429Delay;
162
+ private resolveRetry503Delay;
163
+ private resolveRetryDelayFromHeaders;
164
+ private parseRetryAfterDelayMs;
165
+ private parseRateLimitResetDelayMs;
166
+ private calculateRetry503DelayMs;
167
+ private discardResponseBody;
168
+ private sleep;
160
169
  private serializeEvent;
161
170
  private serializeValue;
162
171
  private handleErrorResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"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"}
package/dist/api/api.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import { createTinybirdFetcher } from "./fetcher.js";
2
2
  const DEFAULT_TIMEOUT = 30000;
3
+ const DEFAULT_INGEST_RETRY_503_BASE_DELAY_MS = 200;
4
+ const DEFAULT_INGEST_RETRY_503_MAX_DELAY_MS = 3000;
3
5
  /**
4
6
  * Error thrown by TinybirdApi when a response is not OK
5
7
  */
@@ -119,19 +121,44 @@ export class TinybirdApi {
119
121
  const ndjson = events
120
122
  .map((event) => JSON.stringify(this.serializeEvent(event)))
121
123
  .join("\n");
122
- const response = await this.request(url.toString(), {
123
- method: "POST",
124
- token: options.token,
125
- headers: {
126
- "Content-Type": "application/x-ndjson",
127
- },
128
- body: ndjson,
129
- signal: this.createAbortSignal(options.timeout, options.signal),
130
- });
131
- if (!response.ok) {
124
+ const signal = this.createAbortSignal(options.timeout, options.signal);
125
+ const maxRetries = this.resolveIngestMaxRetries(options.maxRetries);
126
+ let retryCount = 0;
127
+ while (true) {
128
+ let response;
129
+ try {
130
+ response = await this.request(url.toString(), {
131
+ method: "POST",
132
+ token: options.token,
133
+ headers: {
134
+ "Content-Type": "application/x-ndjson",
135
+ },
136
+ body: ndjson,
137
+ signal,
138
+ });
139
+ }
140
+ catch (error) {
141
+ throw error;
142
+ }
143
+ if (response.ok) {
144
+ return (await response.json());
145
+ }
146
+ const retry429Delay = this.resolveRetry429Delay(response, maxRetries, retryCount);
147
+ if (retry429Delay !== undefined) {
148
+ await this.discardResponseBody(response);
149
+ await this.sleep(retry429Delay, signal);
150
+ retryCount += 1;
151
+ continue;
152
+ }
153
+ const retry503Delay = this.resolveRetry503Delay(response, maxRetries, retryCount);
154
+ if (retry503Delay !== undefined) {
155
+ await this.discardResponseBody(response);
156
+ await this.sleep(retry503Delay, signal);
157
+ retryCount += 1;
158
+ continue;
159
+ }
132
160
  await this.handleErrorResponse(response);
133
161
  }
134
- return (await response.json());
135
162
  }
136
163
  /**
137
164
  * Execute raw SQL against Tinybird
@@ -335,6 +362,123 @@ export class TinybirdApi {
335
362
  }
336
363
  return AbortSignal.any([timeoutSignal, existingSignal]);
337
364
  }
365
+ resolveIngestMaxRetries(maxRetries) {
366
+ if (maxRetries === undefined) {
367
+ return undefined;
368
+ }
369
+ if (!Number.isFinite(maxRetries)) {
370
+ throw new Error("'maxRetries' must be a finite number");
371
+ }
372
+ return Math.max(0, Math.floor(maxRetries));
373
+ }
374
+ resolveRetry429Delay(response, maxRetries, retryCount) {
375
+ if (maxRetries === undefined) {
376
+ return undefined;
377
+ }
378
+ if (response.status !== 429) {
379
+ return undefined;
380
+ }
381
+ if (retryCount >= maxRetries) {
382
+ return undefined;
383
+ }
384
+ return this.resolveRetryDelayFromHeaders(response);
385
+ }
386
+ resolveRetry503Delay(response, maxRetries, retryCount) {
387
+ if (maxRetries === undefined) {
388
+ return undefined;
389
+ }
390
+ if (response.status !== 503) {
391
+ return undefined;
392
+ }
393
+ if (retryCount >= maxRetries) {
394
+ return undefined;
395
+ }
396
+ return this.calculateRetry503DelayMs(retryCount);
397
+ }
398
+ resolveRetryDelayFromHeaders(response) {
399
+ const retryAfter = response.headers.get("retry-after");
400
+ const retryAfterDelay = this.parseRetryAfterDelayMs(retryAfter);
401
+ if (retryAfterDelay !== undefined) {
402
+ return retryAfterDelay;
403
+ }
404
+ const rateLimitReset = response.headers.get("x-ratelimit-reset");
405
+ const rateLimitResetDelay = this.parseRateLimitResetDelayMs(rateLimitReset);
406
+ if (rateLimitResetDelay !== undefined) {
407
+ return rateLimitResetDelay;
408
+ }
409
+ return undefined;
410
+ }
411
+ parseRetryAfterDelayMs(value) {
412
+ if (!value) {
413
+ return undefined;
414
+ }
415
+ const trimmed = value.trim();
416
+ const seconds = Number(trimmed);
417
+ if (Number.isFinite(seconds)) {
418
+ return Math.max(0, Math.floor(seconds * 1000));
419
+ }
420
+ const retryDateMs = Date.parse(trimmed);
421
+ if (Number.isNaN(retryDateMs)) {
422
+ return undefined;
423
+ }
424
+ return Math.max(0, retryDateMs - Date.now());
425
+ }
426
+ parseRateLimitResetDelayMs(value) {
427
+ if (!value) {
428
+ return undefined;
429
+ }
430
+ const numericValue = Number(value.trim());
431
+ if (!Number.isFinite(numericValue)) {
432
+ return undefined;
433
+ }
434
+ return Math.max(0, Math.floor(numericValue * 1000));
435
+ }
436
+ calculateRetry503DelayMs(retryCount) {
437
+ return Math.min(DEFAULT_INGEST_RETRY_503_MAX_DELAY_MS, DEFAULT_INGEST_RETRY_503_BASE_DELAY_MS * 2 ** retryCount);
438
+ }
439
+ async discardResponseBody(response) {
440
+ if (response.bodyUsed || !response.body) {
441
+ return;
442
+ }
443
+ try {
444
+ await response.arrayBuffer();
445
+ }
446
+ catch {
447
+ try {
448
+ await response.body.cancel();
449
+ }
450
+ catch {
451
+ // Best effort cleanup only; never mask retry/error flow.
452
+ }
453
+ }
454
+ }
455
+ async sleep(delayMs, signal) {
456
+ if (delayMs <= 0) {
457
+ return;
458
+ }
459
+ await new Promise((resolve, reject) => {
460
+ const timer = setTimeout(() => {
461
+ cleanup();
462
+ resolve();
463
+ }, delayMs);
464
+ const onAbort = () => {
465
+ cleanup();
466
+ reject(signal?.reason ?? new DOMException("The operation was aborted.", "AbortError"));
467
+ };
468
+ const cleanup = () => {
469
+ clearTimeout(timer);
470
+ signal?.removeEventListener("abort", onAbort);
471
+ };
472
+ if (!signal) {
473
+ return;
474
+ }
475
+ if (signal.aborted) {
476
+ onAbort();
477
+ return;
478
+ }
479
+ signal.addEventListener("abort", onAbort, { once: true });
480
+ });
481
+ }
338
482
  serializeEvent(event) {
339
483
  const serialized = {};
340
484
  for (const [key, value] of Object.entries(event)) {
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"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"}
@@ -158,6 +158,260 @@ describe("TinybirdApi", () => {
158
158
  timestamp: new Date("2024-01-01T00:00:00.000Z"),
159
159
  })).rejects.toThrow("Date values are not supported in ingest payloads");
160
160
  });
161
+ it("does not retry ingest on 503 when retry is disabled", async () => {
162
+ let attempts = 0;
163
+ server.use(http.post(`${BASE_URL}/v0/events`, () => {
164
+ attempts += 1;
165
+ return new HttpResponse("Service unavailable", { status: 503 });
166
+ }));
167
+ const api = createTinybirdApi({
168
+ baseUrl: BASE_URL,
169
+ token: "p.default-token",
170
+ });
171
+ await expect(api.ingest("events", { timestamp: "2024-01-01 00:00:00" })).rejects.toMatchObject({
172
+ name: "TinybirdApiError",
173
+ statusCode: 503,
174
+ });
175
+ expect(attempts).toBe(1);
176
+ });
177
+ it("retries ingest on 503 with exponential backoff", async () => {
178
+ let attempts = 0;
179
+ server.use(http.post(`${BASE_URL}/v0/events`, () => {
180
+ attempts += 1;
181
+ if (attempts === 1) {
182
+ return new HttpResponse("Service unavailable", { status: 503 });
183
+ }
184
+ return HttpResponse.json({
185
+ successful_rows: 1,
186
+ quarantined_rows: 0,
187
+ });
188
+ }));
189
+ const api = createTinybirdApi({
190
+ baseUrl: BASE_URL,
191
+ token: "p.default-token",
192
+ });
193
+ const result = await api.ingest("events", { timestamp: "2024-01-01 00:00:00" }, {
194
+ maxRetries: 1,
195
+ });
196
+ expect(result).toEqual({ successful_rows: 1, quarantined_rows: 0 });
197
+ expect(attempts).toBe(2);
198
+ });
199
+ it("retries ingest on 429 with retry-after header and succeeds", async () => {
200
+ let attempts = 0;
201
+ server.use(http.post(`${BASE_URL}/v0/events`, () => {
202
+ attempts += 1;
203
+ if (attempts === 1) {
204
+ return new HttpResponse("Rate limited", {
205
+ status: 429,
206
+ headers: {
207
+ "Retry-After": "0",
208
+ },
209
+ });
210
+ }
211
+ return HttpResponse.json({
212
+ successful_rows: 1,
213
+ quarantined_rows: 0,
214
+ });
215
+ }));
216
+ const api = createTinybirdApi({
217
+ baseUrl: BASE_URL,
218
+ token: "p.default-token",
219
+ });
220
+ const result = await api.ingest("events", { timestamp: "2024-01-01 00:00:00" }, {
221
+ maxRetries: 1,
222
+ });
223
+ expect(result).toEqual({ successful_rows: 1, quarantined_rows: 0 });
224
+ expect(attempts).toBe(2);
225
+ });
226
+ it("drains retryable 429 response body before retrying", async () => {
227
+ let attempts = 0;
228
+ let firstResponse;
229
+ const customFetch = async () => {
230
+ attempts += 1;
231
+ if (attempts === 1) {
232
+ const stream = new ReadableStream({
233
+ start(controller) {
234
+ controller.enqueue(new TextEncoder().encode("rate limited"));
235
+ controller.close();
236
+ },
237
+ });
238
+ firstResponse = new Response(stream, {
239
+ status: 429,
240
+ headers: {
241
+ "Retry-After": "0",
242
+ },
243
+ });
244
+ return firstResponse;
245
+ }
246
+ return new Response(JSON.stringify({
247
+ successful_rows: 1,
248
+ quarantined_rows: 0,
249
+ }), {
250
+ status: 200,
251
+ headers: {
252
+ "Content-Type": "application/json",
253
+ },
254
+ });
255
+ };
256
+ const api = createTinybirdApi({
257
+ baseUrl: BASE_URL,
258
+ token: "p.default-token",
259
+ fetch: customFetch,
260
+ });
261
+ const result = await api.ingest("events", { timestamp: "2024-01-01 00:00:00" }, {
262
+ maxRetries: 1,
263
+ });
264
+ expect(result).toEqual({ successful_rows: 1, quarantined_rows: 0 });
265
+ expect(attempts).toBe(2);
266
+ expect(firstResponse?.bodyUsed).toBe(true);
267
+ });
268
+ it("does not retry 429 when rate-limit delay headers are missing", async () => {
269
+ let attempts = 0;
270
+ server.use(http.post(`${BASE_URL}/v0/events`, () => {
271
+ attempts += 1;
272
+ return new HttpResponse("Rate limited", { status: 429 });
273
+ }));
274
+ const api = createTinybirdApi({
275
+ baseUrl: BASE_URL,
276
+ token: "p.default-token",
277
+ });
278
+ await expect(api.ingest("events", { timestamp: "2024-01-01 00:00:00" }, {
279
+ maxRetries: 3,
280
+ })).rejects.toMatchObject({
281
+ name: "TinybirdApiError",
282
+ statusCode: 429,
283
+ });
284
+ expect(attempts).toBe(1);
285
+ });
286
+ it("does not retry ingest on non-retryable status by default", async () => {
287
+ let attempts = 0;
288
+ server.use(http.post(`${BASE_URL}/v0/events`, () => {
289
+ attempts += 1;
290
+ return HttpResponse.json({ error: "Invalid payload" }, { status: 400 });
291
+ }));
292
+ const api = createTinybirdApi({
293
+ baseUrl: BASE_URL,
294
+ token: "p.default-token",
295
+ });
296
+ await expect(api.ingest("events", { timestamp: "2024-01-01 00:00:00" }, {
297
+ maxRetries: 3,
298
+ })).rejects.toMatchObject({
299
+ name: "TinybirdApiError",
300
+ statusCode: 400,
301
+ });
302
+ expect(attempts).toBe(1);
303
+ });
304
+ it("stops retrying ingest after maxRetries on 429", async () => {
305
+ let attempts = 0;
306
+ server.use(http.post(`${BASE_URL}/v0/events`, () => {
307
+ attempts += 1;
308
+ return new HttpResponse("Rate limited", {
309
+ status: 429,
310
+ headers: {
311
+ "Retry-After": "0",
312
+ },
313
+ });
314
+ }));
315
+ const api = createTinybirdApi({
316
+ baseUrl: BASE_URL,
317
+ token: "p.default-token",
318
+ });
319
+ await expect(api.ingest("events", { timestamp: "2024-01-01 00:00:00" }, {
320
+ maxRetries: 2,
321
+ })).rejects.toMatchObject({
322
+ name: "TinybirdApiError",
323
+ statusCode: 429,
324
+ });
325
+ expect(attempts).toBe(3);
326
+ });
327
+ it("stops retrying ingest after maxRetries on 503", async () => {
328
+ let attempts = 0;
329
+ server.use(http.post(`${BASE_URL}/v0/events`, () => {
330
+ attempts += 1;
331
+ return new HttpResponse("Service unavailable", { status: 503 });
332
+ }));
333
+ const api = createTinybirdApi({
334
+ baseUrl: BASE_URL,
335
+ token: "p.default-token",
336
+ });
337
+ await expect(api.ingest("events", { timestamp: "2024-01-01 00:00:00" }, {
338
+ maxRetries: 2,
339
+ })).rejects.toMatchObject({
340
+ name: "TinybirdApiError",
341
+ statusCode: 503,
342
+ });
343
+ expect(attempts).toBe(3);
344
+ });
345
+ it("retries ingest on 503 when wait is false", async () => {
346
+ let attempts = 0;
347
+ server.use(http.post(`${BASE_URL}/v0/events`, () => {
348
+ attempts += 1;
349
+ if (attempts === 1) {
350
+ return new HttpResponse("Service unavailable", { status: 503 });
351
+ }
352
+ return HttpResponse.json({
353
+ successful_rows: 1,
354
+ quarantined_rows: 0,
355
+ });
356
+ }));
357
+ const api = createTinybirdApi({
358
+ baseUrl: BASE_URL,
359
+ token: "p.default-token",
360
+ });
361
+ const result = await api.ingest("events", { timestamp: "2024-01-01 00:00:00" }, {
362
+ wait: false,
363
+ maxRetries: 1,
364
+ });
365
+ expect(result).toEqual({
366
+ successful_rows: 1,
367
+ quarantined_rows: 0,
368
+ });
369
+ expect(attempts).toBe(2);
370
+ });
371
+ it("does not retry 500 even when wait is false", async () => {
372
+ let attempts = 0;
373
+ server.use(http.post(`${BASE_URL}/v0/events`, () => {
374
+ attempts += 1;
375
+ return new HttpResponse("Internal error", { status: 500 });
376
+ }));
377
+ const api = createTinybirdApi({
378
+ baseUrl: BASE_URL,
379
+ token: "p.default-token",
380
+ });
381
+ await expect(api.ingest("events", { timestamp: "2024-01-01 00:00:00" }, {
382
+ wait: false,
383
+ maxRetries: 3,
384
+ })).rejects.toMatchObject({
385
+ name: "TinybirdApiError",
386
+ statusCode: 500,
387
+ });
388
+ expect(attempts).toBe(1);
389
+ });
390
+ it("does not retry ingest on transient network errors", async () => {
391
+ let fetchAttempts = 0;
392
+ server.use(http.post(`${BASE_URL}/v0/events`, () => {
393
+ return HttpResponse.json({
394
+ successful_rows: 1,
395
+ quarantined_rows: 0,
396
+ });
397
+ }));
398
+ const flakyFetch = async (input, init) => {
399
+ fetchAttempts += 1;
400
+ if (fetchAttempts === 1) {
401
+ throw new TypeError("fetch failed");
402
+ }
403
+ return fetch(input, init);
404
+ };
405
+ const api = createTinybirdApi({
406
+ baseUrl: BASE_URL,
407
+ token: "p.default-token",
408
+ fetch: flakyFetch,
409
+ });
410
+ await expect(api.ingest("events", { timestamp: "2024-01-01 00:00:00" }, {
411
+ maxRetries: 1,
412
+ })).rejects.toThrow("fetch failed");
413
+ expect(fetchAttempts).toBe(1);
414
+ });
161
415
  it("executes raw SQL via tinybirdApi.sql", async () => {
162
416
  let rawSql = null;
163
417
  let contentType = null;