@trycourier/courier 7.8.0 → 7.10.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.
Files changed (127) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/client.d.mts +16 -2
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +16 -2
  5. package/client.d.ts.map +1 -1
  6. package/client.js +6 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +6 -0
  9. package/client.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/index.d.mts +3 -1
  12. package/resources/index.d.mts.map +1 -1
  13. package/resources/index.d.ts +3 -1
  14. package/resources/index.d.ts.map +1 -1
  15. package/resources/index.js +5 -1
  16. package/resources/index.js.map +1 -1
  17. package/resources/index.mjs +2 -0
  18. package/resources/index.mjs.map +1 -1
  19. package/resources/notifications/checks.d.mts +35 -0
  20. package/resources/notifications/checks.d.mts.map +1 -1
  21. package/resources/notifications/checks.d.ts +35 -0
  22. package/resources/notifications/checks.d.ts.map +1 -1
  23. package/resources/notifications/checks.js +35 -0
  24. package/resources/notifications/checks.js.map +1 -1
  25. package/resources/notifications/checks.mjs +35 -0
  26. package/resources/notifications/checks.mjs.map +1 -1
  27. package/resources/notifications/index.d.mts +1 -2
  28. package/resources/notifications/index.d.mts.map +1 -1
  29. package/resources/notifications/index.d.ts +1 -2
  30. package/resources/notifications/index.d.ts.map +1 -1
  31. package/resources/notifications/index.js +1 -3
  32. package/resources/notifications/index.js.map +1 -1
  33. package/resources/notifications/index.mjs +0 -1
  34. package/resources/notifications/index.mjs.map +1 -1
  35. package/resources/notifications/notifications.d.mts +667 -11
  36. package/resources/notifications/notifications.d.mts.map +1 -1
  37. package/resources/notifications/notifications.d.ts +667 -11
  38. package/resources/notifications/notifications.d.ts.map +1 -1
  39. package/resources/notifications/notifications.js +191 -6
  40. package/resources/notifications/notifications.js.map +1 -1
  41. package/resources/notifications/notifications.mjs +191 -6
  42. package/resources/notifications/notifications.mjs.map +1 -1
  43. package/resources/providers/catalog.d.mts +40 -0
  44. package/resources/providers/catalog.d.mts.map +1 -0
  45. package/resources/providers/catalog.d.ts +40 -0
  46. package/resources/providers/catalog.d.ts.map +1 -0
  47. package/resources/providers/catalog.js +18 -0
  48. package/resources/providers/catalog.js.map +1 -0
  49. package/resources/providers/catalog.mjs +14 -0
  50. package/resources/providers/catalog.mjs.map +1 -0
  51. package/resources/providers/index.d.mts +3 -0
  52. package/resources/providers/index.d.mts.map +1 -0
  53. package/resources/providers/index.d.ts +3 -0
  54. package/resources/providers/index.d.ts.map +1 -0
  55. package/resources/providers/index.js +9 -0
  56. package/resources/providers/index.js.map +1 -0
  57. package/resources/providers/index.mjs +4 -0
  58. package/resources/providers/index.mjs.map +1 -0
  59. package/resources/providers/providers.d.mts +182 -0
  60. package/resources/providers/providers.d.mts.map +1 -0
  61. package/resources/providers/providers.d.ts +182 -0
  62. package/resources/providers/providers.d.ts.map +1 -0
  63. package/resources/providers/providers.js +57 -0
  64. package/resources/providers/providers.js.map +1 -0
  65. package/resources/providers/providers.mjs +52 -0
  66. package/resources/providers/providers.mjs.map +1 -0
  67. package/resources/providers.d.mts +2 -0
  68. package/resources/providers.d.mts.map +1 -0
  69. package/resources/providers.d.ts +2 -0
  70. package/resources/providers.d.ts.map +1 -0
  71. package/resources/providers.js +6 -0
  72. package/resources/providers.js.map +1 -0
  73. package/resources/providers.mjs +3 -0
  74. package/resources/providers.mjs.map +1 -0
  75. package/resources/routing-strategies.d.mts +333 -0
  76. package/resources/routing-strategies.d.mts.map +1 -0
  77. package/resources/routing-strategies.d.ts +333 -0
  78. package/resources/routing-strategies.d.ts.map +1 -0
  79. package/resources/routing-strategies.js +107 -0
  80. package/resources/routing-strategies.js.map +1 -0
  81. package/resources/routing-strategies.mjs +103 -0
  82. package/resources/routing-strategies.mjs.map +1 -0
  83. package/resources/send.d.mts +2 -60
  84. package/resources/send.d.mts.map +1 -1
  85. package/resources/send.d.ts +2 -60
  86. package/resources/send.d.ts.map +1 -1
  87. package/resources/shared.d.mts +60 -1
  88. package/resources/shared.d.mts.map +1 -1
  89. package/resources/shared.d.ts +60 -1
  90. package/resources/shared.d.ts.map +1 -1
  91. package/resources/tenants/tenants.d.mts +2 -62
  92. package/resources/tenants/tenants.d.mts.map +1 -1
  93. package/resources/tenants/tenants.d.ts +2 -62
  94. package/resources/tenants/tenants.d.ts.map +1 -1
  95. package/resources/tenants/tenants.js.map +1 -1
  96. package/resources/tenants/tenants.mjs.map +1 -1
  97. package/src/client.ts +112 -0
  98. package/src/resources/index.ts +49 -0
  99. package/src/resources/notifications/checks.ts +35 -0
  100. package/src/resources/notifications/index.ts +26 -1
  101. package/src/resources/notifications/notifications.ts +858 -13
  102. package/src/resources/providers/catalog.ts +53 -0
  103. package/src/resources/providers/index.ts +12 -0
  104. package/src/resources/providers/providers.ts +240 -0
  105. package/src/resources/providers.ts +3 -0
  106. package/src/resources/routing-strategies.ts +436 -0
  107. package/src/resources/send.ts +2 -67
  108. package/src/resources/shared.ts +71 -1
  109. package/src/resources/tenants/tenants.ts +2 -69
  110. package/src/version.ts +1 -1
  111. package/version.d.mts +1 -1
  112. package/version.d.mts.map +1 -1
  113. package/version.d.ts +1 -1
  114. package/version.d.ts.map +1 -1
  115. package/version.js +1 -1
  116. package/version.js.map +1 -1
  117. package/version.mjs +1 -1
  118. package/version.mjs.map +1 -1
  119. package/resources/notifications/draft.d.mts +0 -8
  120. package/resources/notifications/draft.d.mts.map +0 -1
  121. package/resources/notifications/draft.d.ts +0 -8
  122. package/resources/notifications/draft.d.ts.map +0 -1
  123. package/resources/notifications/draft.js +0 -13
  124. package/resources/notifications/draft.js.map +0 -1
  125. package/resources/notifications/draft.mjs +0 -9
  126. package/resources/notifications/draft.mjs.map +0 -1
  127. package/src/resources/notifications/draft.ts +0 -13
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/resources/providers/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,OAAO,EAAoD;OAC7D,EACL,SAAS,GAOV"}
@@ -0,0 +1,182 @@
1
+ import { APIResource } from "../../core/resource.mjs";
2
+ import * as Shared from "../shared.mjs";
3
+ import * as CatalogAPI from "./catalog.mjs";
4
+ import { Catalog, CatalogListParams, CatalogListResponse } from "./catalog.mjs";
5
+ import { APIPromise } from "../../core/api-promise.mjs";
6
+ import { RequestOptions } from "../../internal/request-options.mjs";
7
+ export declare class Providers extends APIResource {
8
+ catalog: CatalogAPI.Catalog;
9
+ /**
10
+ * Create a new provider configuration. The `provider` field must be a known
11
+ * Courier provider key (see catalog).
12
+ */
13
+ create(body: ProviderCreateParams, options?: RequestOptions): APIPromise<Provider>;
14
+ /**
15
+ * Fetch a single provider configuration by ID.
16
+ */
17
+ retrieve(id: string, options?: RequestOptions): APIPromise<Provider>;
18
+ /**
19
+ * Update an existing provider configuration. The `provider` key is required. All
20
+ * other fields are optional — omitted fields are cleared from the stored
21
+ * configuration (this is a full replacement, not a partial merge).
22
+ */
23
+ update(id: string, body: ProviderUpdateParams, options?: RequestOptions): APIPromise<Provider>;
24
+ /**
25
+ * List configured provider integrations for the current workspace. Supports
26
+ * cursor-based pagination.
27
+ */
28
+ list(query?: ProviderListParams | null | undefined, options?: RequestOptions): APIPromise<ProviderListResponse>;
29
+ /**
30
+ * Delete a provider configuration. Returns 409 if the provider is still referenced
31
+ * by routing or notifications.
32
+ */
33
+ delete(id: string, options?: RequestOptions): APIPromise<void>;
34
+ }
35
+ /**
36
+ * A configured provider in the workspace.
37
+ */
38
+ export interface Provider {
39
+ /**
40
+ * A unique identifier for the provider configuration.
41
+ */
42
+ id: string;
43
+ /**
44
+ * Unix timestamp (ms) of when the provider was created.
45
+ */
46
+ created: number;
47
+ /**
48
+ * The provider key (e.g. "sendgrid", "twilio", "slack").
49
+ */
50
+ provider: string;
51
+ /**
52
+ * Provider-specific settings (snake_case keys on the wire).
53
+ */
54
+ settings: {
55
+ [key: string]: unknown;
56
+ };
57
+ /**
58
+ * Display title. Defaults to "Default Configuration" when not explicitly set.
59
+ */
60
+ title: string;
61
+ /**
62
+ * Optional alias for this configuration.
63
+ */
64
+ alias?: string;
65
+ /**
66
+ * Unix timestamp (ms) of when the provider was last updated.
67
+ */
68
+ updated?: number | null;
69
+ }
70
+ /**
71
+ * A provider type from the catalog. Contains the key, display name, description,
72
+ * and a `settings` object describing configuration schema fields.
73
+ */
74
+ export interface ProvidersCatalogEntry {
75
+ /**
76
+ * Courier taxonomy channel (e.g. email, push, sms, direct_message, inbox,
77
+ * webhook).
78
+ */
79
+ channel: string;
80
+ /**
81
+ * Short description of the provider.
82
+ */
83
+ description: string;
84
+ /**
85
+ * Human-readable display name.
86
+ */
87
+ name: string;
88
+ /**
89
+ * The provider key (e.g. "sendgrid", "twilio").
90
+ */
91
+ provider: string;
92
+ /**
93
+ * Map of setting field names (snake_case) to their schema descriptors. Each
94
+ * descriptor has `type` and `required`. Empty when the provider has no
95
+ * configurable schema.
96
+ */
97
+ settings: {
98
+ [key: string]: ProvidersCatalogEntry.Settings;
99
+ };
100
+ }
101
+ export declare namespace ProvidersCatalogEntry {
102
+ /**
103
+ * Describes a single configuration field in the provider catalog.
104
+ */
105
+ interface Settings {
106
+ /**
107
+ * Whether this field is required when configuring the provider.
108
+ */
109
+ required: boolean;
110
+ /**
111
+ * The field's data type (e.g. "string", "boolean", "enum").
112
+ */
113
+ type: string;
114
+ /**
115
+ * Allowed values when `type` is "enum".
116
+ */
117
+ values?: Array<string>;
118
+ }
119
+ }
120
+ /**
121
+ * Paginated list of provider configurations.
122
+ */
123
+ export interface ProviderListResponse {
124
+ paging: Shared.Paging;
125
+ results: Array<Provider>;
126
+ }
127
+ export interface ProviderCreateParams {
128
+ /**
129
+ * The provider key identifying the type (e.g. "sendgrid", "twilio"). Must be a
130
+ * known Courier provider — see the catalog endpoint for valid keys.
131
+ */
132
+ provider: string;
133
+ /**
134
+ * Optional alias for this configuration.
135
+ */
136
+ alias?: string;
137
+ /**
138
+ * Provider-specific settings (snake_case keys). Defaults to an empty object when
139
+ * omitted. Use the catalog endpoint to discover required fields for a given
140
+ * provider — omitting a required field returns a 400 validation error.
141
+ */
142
+ settings?: {
143
+ [key: string]: unknown;
144
+ };
145
+ /**
146
+ * Optional display title. Omit to use "Default Configuration".
147
+ */
148
+ title?: string;
149
+ }
150
+ export interface ProviderUpdateParams {
151
+ /**
152
+ * The provider key identifying the type.
153
+ */
154
+ provider: string;
155
+ /**
156
+ * Updated alias. Omit to clear.
157
+ */
158
+ alias?: string;
159
+ /**
160
+ * Provider-specific settings (snake_case keys). Replaces the full settings object
161
+ * — omitted settings fields are removed. Use the catalog endpoint to check
162
+ * required fields.
163
+ */
164
+ settings?: {
165
+ [key: string]: unknown;
166
+ };
167
+ /**
168
+ * Updated display title.
169
+ */
170
+ title?: string;
171
+ }
172
+ export interface ProviderListParams {
173
+ /**
174
+ * Opaque cursor for fetching the next page.
175
+ */
176
+ cursor?: string;
177
+ }
178
+ export declare namespace Providers {
179
+ export { type Provider as Provider, type ProvidersCatalogEntry as ProvidersCatalogEntry, type ProviderListResponse as ProviderListResponse, type ProviderCreateParams as ProviderCreateParams, type ProviderUpdateParams as ProviderUpdateParams, type ProviderListParams as ProviderListParams, };
180
+ export { Catalog as Catalog, type CatalogListResponse as CatalogListResponse, type CatalogListParams as CatalogListParams, };
181
+ }
182
+ //# sourceMappingURL=providers.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.d.mts","sourceRoot":"","sources":["../../src/resources/providers/providers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,182 @@
1
+ import { APIResource } from "../../core/resource.js";
2
+ import * as Shared from "../shared.js";
3
+ import * as CatalogAPI from "./catalog.js";
4
+ import { Catalog, CatalogListParams, CatalogListResponse } from "./catalog.js";
5
+ import { APIPromise } from "../../core/api-promise.js";
6
+ import { RequestOptions } from "../../internal/request-options.js";
7
+ export declare class Providers extends APIResource {
8
+ catalog: CatalogAPI.Catalog;
9
+ /**
10
+ * Create a new provider configuration. The `provider` field must be a known
11
+ * Courier provider key (see catalog).
12
+ */
13
+ create(body: ProviderCreateParams, options?: RequestOptions): APIPromise<Provider>;
14
+ /**
15
+ * Fetch a single provider configuration by ID.
16
+ */
17
+ retrieve(id: string, options?: RequestOptions): APIPromise<Provider>;
18
+ /**
19
+ * Update an existing provider configuration. The `provider` key is required. All
20
+ * other fields are optional — omitted fields are cleared from the stored
21
+ * configuration (this is a full replacement, not a partial merge).
22
+ */
23
+ update(id: string, body: ProviderUpdateParams, options?: RequestOptions): APIPromise<Provider>;
24
+ /**
25
+ * List configured provider integrations for the current workspace. Supports
26
+ * cursor-based pagination.
27
+ */
28
+ list(query?: ProviderListParams | null | undefined, options?: RequestOptions): APIPromise<ProviderListResponse>;
29
+ /**
30
+ * Delete a provider configuration. Returns 409 if the provider is still referenced
31
+ * by routing or notifications.
32
+ */
33
+ delete(id: string, options?: RequestOptions): APIPromise<void>;
34
+ }
35
+ /**
36
+ * A configured provider in the workspace.
37
+ */
38
+ export interface Provider {
39
+ /**
40
+ * A unique identifier for the provider configuration.
41
+ */
42
+ id: string;
43
+ /**
44
+ * Unix timestamp (ms) of when the provider was created.
45
+ */
46
+ created: number;
47
+ /**
48
+ * The provider key (e.g. "sendgrid", "twilio", "slack").
49
+ */
50
+ provider: string;
51
+ /**
52
+ * Provider-specific settings (snake_case keys on the wire).
53
+ */
54
+ settings: {
55
+ [key: string]: unknown;
56
+ };
57
+ /**
58
+ * Display title. Defaults to "Default Configuration" when not explicitly set.
59
+ */
60
+ title: string;
61
+ /**
62
+ * Optional alias for this configuration.
63
+ */
64
+ alias?: string;
65
+ /**
66
+ * Unix timestamp (ms) of when the provider was last updated.
67
+ */
68
+ updated?: number | null;
69
+ }
70
+ /**
71
+ * A provider type from the catalog. Contains the key, display name, description,
72
+ * and a `settings` object describing configuration schema fields.
73
+ */
74
+ export interface ProvidersCatalogEntry {
75
+ /**
76
+ * Courier taxonomy channel (e.g. email, push, sms, direct_message, inbox,
77
+ * webhook).
78
+ */
79
+ channel: string;
80
+ /**
81
+ * Short description of the provider.
82
+ */
83
+ description: string;
84
+ /**
85
+ * Human-readable display name.
86
+ */
87
+ name: string;
88
+ /**
89
+ * The provider key (e.g. "sendgrid", "twilio").
90
+ */
91
+ provider: string;
92
+ /**
93
+ * Map of setting field names (snake_case) to their schema descriptors. Each
94
+ * descriptor has `type` and `required`. Empty when the provider has no
95
+ * configurable schema.
96
+ */
97
+ settings: {
98
+ [key: string]: ProvidersCatalogEntry.Settings;
99
+ };
100
+ }
101
+ export declare namespace ProvidersCatalogEntry {
102
+ /**
103
+ * Describes a single configuration field in the provider catalog.
104
+ */
105
+ interface Settings {
106
+ /**
107
+ * Whether this field is required when configuring the provider.
108
+ */
109
+ required: boolean;
110
+ /**
111
+ * The field's data type (e.g. "string", "boolean", "enum").
112
+ */
113
+ type: string;
114
+ /**
115
+ * Allowed values when `type` is "enum".
116
+ */
117
+ values?: Array<string>;
118
+ }
119
+ }
120
+ /**
121
+ * Paginated list of provider configurations.
122
+ */
123
+ export interface ProviderListResponse {
124
+ paging: Shared.Paging;
125
+ results: Array<Provider>;
126
+ }
127
+ export interface ProviderCreateParams {
128
+ /**
129
+ * The provider key identifying the type (e.g. "sendgrid", "twilio"). Must be a
130
+ * known Courier provider — see the catalog endpoint for valid keys.
131
+ */
132
+ provider: string;
133
+ /**
134
+ * Optional alias for this configuration.
135
+ */
136
+ alias?: string;
137
+ /**
138
+ * Provider-specific settings (snake_case keys). Defaults to an empty object when
139
+ * omitted. Use the catalog endpoint to discover required fields for a given
140
+ * provider — omitting a required field returns a 400 validation error.
141
+ */
142
+ settings?: {
143
+ [key: string]: unknown;
144
+ };
145
+ /**
146
+ * Optional display title. Omit to use "Default Configuration".
147
+ */
148
+ title?: string;
149
+ }
150
+ export interface ProviderUpdateParams {
151
+ /**
152
+ * The provider key identifying the type.
153
+ */
154
+ provider: string;
155
+ /**
156
+ * Updated alias. Omit to clear.
157
+ */
158
+ alias?: string;
159
+ /**
160
+ * Provider-specific settings (snake_case keys). Replaces the full settings object
161
+ * — omitted settings fields are removed. Use the catalog endpoint to check
162
+ * required fields.
163
+ */
164
+ settings?: {
165
+ [key: string]: unknown;
166
+ };
167
+ /**
168
+ * Updated display title.
169
+ */
170
+ title?: string;
171
+ }
172
+ export interface ProviderListParams {
173
+ /**
174
+ * Opaque cursor for fetching the next page.
175
+ */
176
+ cursor?: string;
177
+ }
178
+ export declare namespace Providers {
179
+ export { type Provider as Provider, type ProvidersCatalogEntry as ProvidersCatalogEntry, type ProviderListResponse as ProviderListResponse, type ProviderCreateParams as ProviderCreateParams, type ProviderUpdateParams as ProviderUpdateParams, type ProviderListParams as ProviderListParams, };
180
+ export { Catalog as Catalog, type CatalogListResponse as CatalogListResponse, type CatalogListParams as CatalogListParams, };
181
+ }
182
+ //# sourceMappingURL=providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/resources/providers/providers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Providers = void 0;
5
+ const tslib_1 = require("../../internal/tslib.js");
6
+ const resource_1 = require("../../core/resource.js");
7
+ const CatalogAPI = tslib_1.__importStar(require("./catalog.js"));
8
+ const catalog_1 = require("./catalog.js");
9
+ const headers_1 = require("../../internal/headers.js");
10
+ const path_1 = require("../../internal/utils/path.js");
11
+ class Providers extends resource_1.APIResource {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.catalog = new CatalogAPI.Catalog(this._client);
15
+ }
16
+ /**
17
+ * Create a new provider configuration. The `provider` field must be a known
18
+ * Courier provider key (see catalog).
19
+ */
20
+ create(body, options) {
21
+ return this._client.post('/providers', { body, ...options });
22
+ }
23
+ /**
24
+ * Fetch a single provider configuration by ID.
25
+ */
26
+ retrieve(id, options) {
27
+ return this._client.get((0, path_1.path) `/providers/${id}`, options);
28
+ }
29
+ /**
30
+ * Update an existing provider configuration. The `provider` key is required. All
31
+ * other fields are optional — omitted fields are cleared from the stored
32
+ * configuration (this is a full replacement, not a partial merge).
33
+ */
34
+ update(id, body, options) {
35
+ return this._client.post((0, path_1.path) `/providers/${id}`, { body, ...options });
36
+ }
37
+ /**
38
+ * List configured provider integrations for the current workspace. Supports
39
+ * cursor-based pagination.
40
+ */
41
+ list(query = {}, options) {
42
+ return this._client.get('/providers', { query, ...options });
43
+ }
44
+ /**
45
+ * Delete a provider configuration. Returns 409 if the provider is still referenced
46
+ * by routing or notifications.
47
+ */
48
+ delete(id, options) {
49
+ return this._client.delete((0, path_1.path) `/providers/${id}`, {
50
+ ...options,
51
+ headers: (0, headers_1.buildHeaders)([{ Accept: '*/*' }, options?.headers]),
52
+ });
53
+ }
54
+ }
55
+ exports.Providers = Providers;
56
+ Providers.Catalog = catalog_1.Catalog;
57
+ //# sourceMappingURL=providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/resources/providers/providers.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;;AAEtF,qDAAkD;AAElD,iEAAwC;AACxC,0CAA4E;AAE5E,uDAAsD;AAEtD,uDAAiD;AAEjD,MAAa,SAAU,SAAQ,sBAAW;IAA1C;;QACE,YAAO,GAAuB,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IA+CrE,CAAC;IA7CC;;;OAGG;IACH,MAAM,CAAC,IAA0B,EAAE,OAAwB;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,EAAU,EAAE,OAAwB;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,cAAc,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,EAAU,EAAE,IAA0B,EAAE,OAAwB;QACrE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,WAAI,EAAA,cAAc,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;OAGG;IACH,IAAI,CACF,QAA+C,EAAE,EACjD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,EAAU,EAAE,OAAwB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAA,WAAI,EAAA,cAAc,EAAE,EAAE,EAAE;YACjD,GAAG,OAAO;YACV,OAAO,EAAE,IAAA,sBAAY,EAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;CACF;AAhDD,8BAgDC;AAmKD,SAAS,CAAC,OAAO,GAAG,iBAAO,CAAC"}
@@ -0,0 +1,52 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ import { APIResource } from "../../core/resource.mjs";
3
+ import * as CatalogAPI from "./catalog.mjs";
4
+ import { Catalog } from "./catalog.mjs";
5
+ import { buildHeaders } from "../../internal/headers.mjs";
6
+ import { path } from "../../internal/utils/path.mjs";
7
+ export class Providers extends APIResource {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.catalog = new CatalogAPI.Catalog(this._client);
11
+ }
12
+ /**
13
+ * Create a new provider configuration. The `provider` field must be a known
14
+ * Courier provider key (see catalog).
15
+ */
16
+ create(body, options) {
17
+ return this._client.post('/providers', { body, ...options });
18
+ }
19
+ /**
20
+ * Fetch a single provider configuration by ID.
21
+ */
22
+ retrieve(id, options) {
23
+ return this._client.get(path `/providers/${id}`, options);
24
+ }
25
+ /**
26
+ * Update an existing provider configuration. The `provider` key is required. All
27
+ * other fields are optional — omitted fields are cleared from the stored
28
+ * configuration (this is a full replacement, not a partial merge).
29
+ */
30
+ update(id, body, options) {
31
+ return this._client.post(path `/providers/${id}`, { body, ...options });
32
+ }
33
+ /**
34
+ * List configured provider integrations for the current workspace. Supports
35
+ * cursor-based pagination.
36
+ */
37
+ list(query = {}, options) {
38
+ return this._client.get('/providers', { query, ...options });
39
+ }
40
+ /**
41
+ * Delete a provider configuration. Returns 409 if the provider is still referenced
42
+ * by routing or notifications.
43
+ */
44
+ delete(id, options) {
45
+ return this._client.delete(path `/providers/${id}`, {
46
+ ...options,
47
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
48
+ });
49
+ }
50
+ }
51
+ Providers.Catalog = Catalog;
52
+ //# sourceMappingURL=providers.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.mjs","sourceRoot":"","sources":["../../src/resources/providers/providers.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAEf,KAAK,UAAU;OACf,EAAE,OAAO,EAA0C;OAEnD,EAAE,YAAY,EAAE;OAEhB,EAAE,IAAI,EAAE;AAEf,MAAM,OAAO,SAAU,SAAQ,WAAW;IAA1C;;QACE,YAAO,GAAuB,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IA+CrE,CAAC;IA7CC;;;OAGG;IACH,MAAM,CAAC,IAA0B,EAAE,OAAwB;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,EAAU,EAAE,OAAwB;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,cAAc,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,EAAU,EAAE,IAA0B,EAAE,OAAwB;QACrE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,cAAc,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;OAGG;IACH,IAAI,CACF,QAA+C,EAAE,EACjD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,EAAU,EAAE,OAAwB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA,cAAc,EAAE,EAAE,EAAE;YACjD,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;CACF;AAmKD,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./providers/index.mjs";
2
+ //# sourceMappingURL=providers.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.d.mts","sourceRoot":"","sources":["../src/resources/providers.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from "./providers/index.js";
2
+ //# sourceMappingURL=providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/resources/providers.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const tslib_1 = require("../internal/tslib.js");
5
+ tslib_1.__exportStar(require("./providers/index.js"), exports);
6
+ //# sourceMappingURL=providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/resources/providers.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,+DAAkC"}
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ export * from "./providers/index.mjs";
3
+ //# sourceMappingURL=providers.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.mjs","sourceRoot":"","sources":["../src/resources/providers.ts"],"names":[],"mappings":"AAAA,sFAAsF"}