svix 1.67.0 → 1.69.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/dist/index.d.ts CHANGED
@@ -1,8 +1,10 @@
1
- import { Authentication } from "./api/authentication";
2
1
  import { Application } from "./api/application";
2
+ import { Authentication } from "./api/authentication";
3
3
  import { BackgroundTask } from "./api/backgroundTask";
4
4
  import { Endpoint } from "./api/endpoint";
5
+ import { Environment } from "./api/environment";
5
6
  import { EventType } from "./api/eventType";
7
+ import { Health } from "./api/health";
6
8
  import { Ingest } from "./api/ingest";
7
9
  import { Integration } from "./api/integration";
8
10
  import { Management } from "./api/management";
@@ -31,17 +33,19 @@ export interface SvixOptions {
31
33
  export declare class Svix {
32
34
  private readonly requestCtx;
33
35
  constructor(token: string, options?: SvixOptions);
34
- get authentication(): Authentication;
35
36
  get application(): Application;
37
+ get authentication(): Authentication;
38
+ get backgroundTask(): BackgroundTask;
36
39
  get endpoint(): Endpoint;
40
+ get environment(): Environment;
37
41
  get eventType(): EventType;
42
+ get health(): Health;
38
43
  get ingest(): Ingest;
39
44
  get integration(): Integration;
40
45
  get management(): Management;
41
46
  get message(): Message;
42
47
  get messageAttempt(): MessageAttempt;
43
- get backgroundTask(): BackgroundTask;
44
- get statistics(): Statistics;
45
48
  get operationalWebhook(): OperationalWebhook;
49
+ get statistics(): Statistics;
46
50
  get operationalWebhookEndpoint(): OperationalWebhookEndpoint;
47
51
  }
package/dist/index.js CHANGED
@@ -15,11 +15,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.Svix = exports.messageInRaw = exports.ValidationError = exports.HttpErrorOut = exports.HTTPValidationError = exports.ApiException = void 0;
18
- const authentication_1 = require("./api/authentication");
19
18
  const application_1 = require("./api/application");
19
+ const authentication_1 = require("./api/authentication");
20
20
  const backgroundTask_1 = require("./api/backgroundTask");
21
21
  const endpoint_1 = require("./api/endpoint");
22
+ const environment_1 = require("./api/environment");
22
23
  const eventType_1 = require("./api/eventType");
24
+ const health_1 = require("./api/health");
23
25
  const ingest_1 = require("./api/ingest");
24
26
  const integration_1 = require("./api/integration");
25
27
  const management_1 = require("./api/management");
@@ -52,18 +54,27 @@ class Svix {
52
54
  const baseUrl = (_c = (_b = options.serverUrl) !== null && _b !== void 0 ? _b : regionalUrl) !== null && _c !== void 0 ? _c : "https://api.svix.com";
53
55
  this.requestCtx = { baseUrl, token, timeout: options.requestTimeout };
54
56
  }
57
+ get application() {
58
+ return new application_1.Application(this.requestCtx);
59
+ }
55
60
  get authentication() {
56
61
  return new authentication_1.Authentication(this.requestCtx);
57
62
  }
58
- get application() {
59
- return new application_1.Application(this.requestCtx);
63
+ get backgroundTask() {
64
+ return new backgroundTask_1.BackgroundTask(this.requestCtx);
60
65
  }
61
66
  get endpoint() {
62
67
  return new endpoint_1.Endpoint(this.requestCtx);
63
68
  }
69
+ get environment() {
70
+ return new environment_1.Environment(this.requestCtx);
71
+ }
64
72
  get eventType() {
65
73
  return new eventType_1.EventType(this.requestCtx);
66
74
  }
75
+ get health() {
76
+ return new health_1.Health(this.requestCtx);
77
+ }
67
78
  get ingest() {
68
79
  return new ingest_1.Ingest(this.requestCtx);
69
80
  }
@@ -79,15 +90,12 @@ class Svix {
79
90
  get messageAttempt() {
80
91
  return new messageAttempt_1.MessageAttempt(this.requestCtx);
81
92
  }
82
- get backgroundTask() {
83
- return new backgroundTask_1.BackgroundTask(this.requestCtx);
93
+ get operationalWebhook() {
94
+ return new operationalWebhook_1.OperationalWebhook(this.requestCtx);
84
95
  }
85
96
  get statistics() {
86
97
  return new statistics_1.Statistics(this.requestCtx);
87
98
  }
88
- get operationalWebhook() {
89
- return new operationalWebhook_1.OperationalWebhook(this.requestCtx);
90
- }
91
99
  get operationalWebhookEndpoint() {
92
100
  return new operationalWebhookEndpoint_1.OperationalWebhookEndpoint(this.requestCtx);
93
101
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/request.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import "svix-fetch";
2
- export declare const LIB_VERSION = "1.67.0";
2
+ export declare const LIB_VERSION = "1.69.0";
3
3
  export declare enum HttpMethod {
4
4
  GET = "GET",
5
5
  HEAD = "HEAD",
package/dist/request.js CHANGED
@@ -12,7 +12,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.SvixRequest = exports.HttpMethod = exports.LIB_VERSION = void 0;
13
13
  require("svix-fetch");
14
14
  const util_1 = require("./util");
15
- exports.LIB_VERSION = "1.67.0";
15
+ const uuid_1 = require("uuid");
16
+ exports.LIB_VERSION = "1.69.0";
16
17
  const USER_AGENT = `svix-libs/${exports.LIB_VERSION}/javascript`;
17
18
  var HttpMethod;
18
19
  (function (HttpMethod) {
@@ -93,6 +94,10 @@ class SvixRequest {
93
94
  for (const [name, value] of Object.entries(this.queryParams)) {
94
95
  url.searchParams.set(name, value);
95
96
  }
97
+ if (this.headerParams["idempotency-key"] === undefined &&
98
+ this.method.toUpperCase() === "POST") {
99
+ this.headerParams["idempotency-key"] = "auto_" + (0, uuid_1.v4)();
100
+ }
96
101
  const randomId = Math.floor(Math.random() * Number.MAX_SAFE_INTEGER);
97
102
  if (this.body != null) {
98
103
  this.headerParams["content-type"] = "application/json";
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svix",
3
- "version": "1.67.0",
3
+ "version": "1.69.0",
4
4
  "description": "Svix webhooks API client and webhook verification library",
5
5
  "author": "svix",
6
6
  "repository": "https://github.com/svix/svix-libs",
@@ -34,13 +34,15 @@
34
34
  "es6-promise": "^4.2.8",
35
35
  "fast-sha256": "^1.3.0",
36
36
  "svix-fetch": "^3.0.0",
37
- "url-parse": "^1.5.10"
37
+ "url-parse": "^1.5.10",
38
+ "uuid": "^10.0.0"
38
39
  },
39
40
  "devDependencies": {
40
41
  "@eslint/js": "^9.20.0",
41
42
  "@stablelib/utf8": "^2.0.0",
42
43
  "@types/jest": "^29.5.13",
43
44
  "@types/url-parse": "1.4.11",
45
+ "@types/uuid": "^10.0.0",
44
46
  "eslint": "^9.20.1",
45
47
  "globals": "^15.15.0",
46
48
  "jest": "^29.7.0",
package/src/index.ts CHANGED
@@ -1,8 +1,11 @@
1
- import { Authentication } from "./api/authentication";
1
+ // this file is @generated
2
2
  import { Application } from "./api/application";
3
+ import { Authentication } from "./api/authentication";
3
4
  import { BackgroundTask } from "./api/backgroundTask";
4
5
  import { Endpoint } from "./api/endpoint";
6
+ import { Environment } from "./api/environment";
5
7
  import { EventType } from "./api/eventType";
8
+ import { Health } from "./api/health";
6
9
  import { Ingest } from "./api/ingest";
7
10
  import { Integration } from "./api/integration";
8
11
  import { Management } from "./api/management";
@@ -52,22 +55,34 @@ export class Svix {
52
55
  this.requestCtx = { baseUrl, token, timeout: options.requestTimeout };
53
56
  }
54
57
 
58
+ public get application() {
59
+ return new Application(this.requestCtx);
60
+ }
61
+
55
62
  public get authentication() {
56
63
  return new Authentication(this.requestCtx);
57
64
  }
58
65
 
59
- public get application() {
60
- return new Application(this.requestCtx);
66
+ public get backgroundTask() {
67
+ return new BackgroundTask(this.requestCtx);
61
68
  }
62
69
 
63
70
  public get endpoint() {
64
71
  return new Endpoint(this.requestCtx);
65
72
  }
66
73
 
74
+ public get environment() {
75
+ return new Environment(this.requestCtx);
76
+ }
77
+
67
78
  public get eventType() {
68
79
  return new EventType(this.requestCtx);
69
80
  }
70
81
 
82
+ public get health() {
83
+ return new Health(this.requestCtx);
84
+ }
85
+
71
86
  public get ingest() {
72
87
  return new Ingest(this.requestCtx);
73
88
  }
@@ -88,18 +103,14 @@ export class Svix {
88
103
  return new MessageAttempt(this.requestCtx);
89
104
  }
90
105
 
91
- public get backgroundTask() {
92
- return new BackgroundTask(this.requestCtx);
106
+ public get operationalWebhook() {
107
+ return new OperationalWebhook(this.requestCtx);
93
108
  }
94
109
 
95
110
  public get statistics() {
96
111
  return new Statistics(this.requestCtx);
97
112
  }
98
113
 
99
- public get operationalWebhook() {
100
- return new OperationalWebhook(this.requestCtx);
101
- }
102
-
103
114
  public get operationalWebhookEndpoint() {
104
115
  return new OperationalWebhookEndpoint(this.requestCtx);
105
116
  }
@@ -418,4 +418,35 @@ describe("mockttp tests", () => {
418
418
  '{"type":"generic-webhook","config":{},"name":"generic over <T>"}'
419
419
  );
420
420
  });
421
+
422
+ test("test idempotency key is sent for create request", async () => {
423
+ const endpointMock = await mockServer
424
+ .forPost("/api/v1/app")
425
+ .thenReply(200, ApplicationOut);
426
+ const svx = new Svix("token", { serverUrl: mockServer.url });
427
+
428
+ await svx.application.create({ name: "test app" });
429
+
430
+ const requests = await endpointMock.getSeenRequests();
431
+ expect(requests.length).toBe(1);
432
+ const idempotencyKey = requests[0].headers["idempotency-key"] as string;
433
+ expect(idempotencyKey.startsWith("auto_")).toBe(true);
434
+ });
435
+
436
+ test("test client provided idempotency key is not overridden", async () => {
437
+ const endpointMock = await mockServer
438
+ .forPost("/api/v1/app")
439
+ .thenReply(200, ApplicationOut);
440
+ const svx = new Svix("token", { serverUrl: mockServer.url });
441
+
442
+ const clientProvidedKey = "test-key-123";
443
+ await svx.application.create(
444
+ { name: "test app" },
445
+ { idempotencyKey: clientProvidedKey }
446
+ );
447
+
448
+ const requests = await endpointMock.getSeenRequests();
449
+ expect(requests.length).toBe(1);
450
+ expect(requests[0].headers["idempotency-key"]).toBe(clientProvidedKey);
451
+ });
421
452
  });
package/src/request.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  import "svix-fetch";
2
2
  import { ApiException } from "./util";
3
3
  import { HttpErrorOut, HTTPValidationError } from "./HttpErrors";
4
+ import { v4 as uuidv4 } from "uuid";
4
5
 
5
- export const LIB_VERSION = "1.67.0";
6
+ export const LIB_VERSION = "1.69.0";
6
7
  const USER_AGENT = `svix-libs/${LIB_VERSION}/javascript`;
7
8
 
8
9
  export enum HttpMethod {
@@ -113,6 +114,13 @@ export class SvixRequest {
113
114
  url.searchParams.set(name, value);
114
115
  }
115
116
 
117
+ if (
118
+ this.headerParams["idempotency-key"] === undefined &&
119
+ this.method.toUpperCase() === "POST"
120
+ ) {
121
+ this.headerParams["idempotency-key"] = "auto_" + uuidv4();
122
+ }
123
+
116
124
  const randomId = Math.floor(Math.random() * Number.MAX_SAFE_INTEGER);
117
125
 
118
126
  if (this.body != null) {