@01.software/sdk 0.33.0 → 0.35.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 (76) hide show
  1. package/README.md +214 -22
  2. package/dist/analytics/react.cjs.map +1 -1
  3. package/dist/analytics/react.js.map +1 -1
  4. package/dist/analytics.cjs.map +1 -1
  5. package/dist/analytics.js.map +1 -1
  6. package/dist/client.cjs +342 -27
  7. package/dist/client.cjs.map +1 -1
  8. package/dist/client.d.cts +7 -6
  9. package/dist/client.d.ts +7 -6
  10. package/dist/client.js +342 -27
  11. package/dist/client.js.map +1 -1
  12. package/dist/{collection-client-De6eKW1J.d.cts → collection-client-CR2B8c1v.d.cts} +7 -3
  13. package/dist/{collection-client-B6SlhzIP.d.ts → collection-client-DkREjhQ9.d.ts} +7 -3
  14. package/dist/{const-sPR2IkCe.d.cts → const-BTvdrXtY.d.cts} +4 -4
  15. package/dist/{const-DwmSDeWq.d.ts → const-CdqCauHQ.d.ts} +4 -4
  16. package/dist/errors.cjs +300 -0
  17. package/dist/errors.cjs.map +1 -0
  18. package/dist/{index-BGEhoDUs.d.cts → errors.d.cts} +13 -1
  19. package/dist/{index-BGEhoDUs.d.ts → errors.d.ts} +13 -1
  20. package/dist/errors.js +277 -0
  21. package/dist/errors.js.map +1 -0
  22. package/dist/index-CjA3U6X3.d.cts +186 -0
  23. package/dist/index-DK8_NXkh.d.ts +186 -0
  24. package/dist/index.cjs +1402 -177
  25. package/dist/index.cjs.map +1 -1
  26. package/dist/index.d.cts +75 -10
  27. package/dist/index.d.ts +75 -10
  28. package/dist/index.js +1402 -177
  29. package/dist/index.js.map +1 -1
  30. package/dist/{payload-types-dkeQyrDC.d.cts → payload-types-C7tb7Xbs.d.cts} +208 -52
  31. package/dist/{payload-types-dkeQyrDC.d.ts → payload-types-C7tb7Xbs.d.ts} +208 -52
  32. package/dist/query.cjs +195 -36
  33. package/dist/query.cjs.map +1 -1
  34. package/dist/query.d.cts +45 -18
  35. package/dist/query.d.ts +45 -18
  36. package/dist/query.js +195 -36
  37. package/dist/query.js.map +1 -1
  38. package/dist/realtime.cjs.map +1 -1
  39. package/dist/realtime.d.cts +2 -2
  40. package/dist/realtime.d.ts +2 -2
  41. package/dist/realtime.js.map +1 -1
  42. package/dist/{server-CrsPyqEc.d.cts → server-nXOezi4b.d.cts} +22 -6
  43. package/dist/{server-CrsPyqEc.d.ts → server-nXOezi4b.d.ts} +22 -6
  44. package/dist/server.cjs +440 -33
  45. package/dist/server.cjs.map +1 -1
  46. package/dist/server.d.cts +11 -179
  47. package/dist/server.d.ts +11 -179
  48. package/dist/server.js +440 -33
  49. package/dist/server.js.map +1 -1
  50. package/dist/{types-Cel_4L9t.d.ts → types-1ylMrCuW.d.ts} +1 -1
  51. package/dist/{types-B3YT092I.d.cts → types-Bx558PU6.d.cts} +1 -1
  52. package/dist/{types-BHh0YLmq.d.ts → types-Byo_Rty4.d.ts} +705 -69
  53. package/dist/{types-BZKxss8Y.d.cts → types-DDhtZI6E.d.cts} +705 -69
  54. package/dist/ui/canvas/server.cjs +231 -38
  55. package/dist/ui/canvas/server.cjs.map +1 -1
  56. package/dist/ui/canvas/server.d.cts +1 -1
  57. package/dist/ui/canvas/server.d.ts +1 -1
  58. package/dist/ui/canvas/server.js +221 -38
  59. package/dist/ui/canvas/server.js.map +1 -1
  60. package/dist/ui/canvas.cjs +320 -257
  61. package/dist/ui/canvas.cjs.map +1 -1
  62. package/dist/ui/canvas.d.cts +5 -19
  63. package/dist/ui/canvas.d.ts +5 -19
  64. package/dist/ui/canvas.js +323 -260
  65. package/dist/ui/canvas.js.map +1 -1
  66. package/dist/ui/form.d.cts +1 -1
  67. package/dist/ui/form.d.ts +1 -1
  68. package/dist/ui/video.d.cts +1 -1
  69. package/dist/ui/video.d.ts +1 -1
  70. package/dist/webhook.cjs +2 -1
  71. package/dist/webhook.cjs.map +1 -1
  72. package/dist/webhook.d.cts +20 -179
  73. package/dist/webhook.d.ts +20 -179
  74. package/dist/webhook.js +2 -1
  75. package/dist/webhook.js.map +1 -1
  76. package/package.json +12 -3
package/dist/errors.js ADDED
@@ -0,0 +1,277 @@
1
+ // src/core/errors.ts
2
+ var SDKError = class extends Error {
3
+ constructor(code, message, status, details, userMessage, suggestion, requestId) {
4
+ super(message);
5
+ this.name = "SDKError";
6
+ this.code = code;
7
+ this.status = status;
8
+ this.details = details;
9
+ this.userMessage = userMessage;
10
+ this.suggestion = suggestion;
11
+ this.requestId = requestId;
12
+ if (Error.captureStackTrace) {
13
+ Error.captureStackTrace(this, new.target);
14
+ }
15
+ }
16
+ getUserMessage() {
17
+ return this.userMessage || this.message;
18
+ }
19
+ toJSON() {
20
+ return {
21
+ name: this.name,
22
+ code: this.code,
23
+ message: this.message,
24
+ status: this.status,
25
+ details: this.details,
26
+ userMessage: this.userMessage,
27
+ suggestion: this.suggestion,
28
+ ...this.requestId !== void 0 && { requestId: this.requestId }
29
+ };
30
+ }
31
+ };
32
+ var NetworkError = class extends SDKError {
33
+ constructor(message, status, details, userMessage, suggestion) {
34
+ super("NETWORK_ERROR", message, status, details, userMessage, suggestion);
35
+ this.name = "NetworkError";
36
+ }
37
+ };
38
+ var ValidationError = class extends SDKError {
39
+ constructor(message, details, userMessage, suggestion, status = 400) {
40
+ super("VALIDATION_ERROR", message, status, details, userMessage, suggestion);
41
+ this.name = "ValidationError";
42
+ }
43
+ };
44
+ var ApiError = class extends SDKError {
45
+ constructor(message, status, details, userMessage, suggestion, requestId) {
46
+ super(
47
+ "API_ERROR",
48
+ message,
49
+ status,
50
+ details,
51
+ userMessage,
52
+ suggestion,
53
+ requestId
54
+ );
55
+ this.name = "ApiError";
56
+ }
57
+ };
58
+ var ConfigError = class extends SDKError {
59
+ constructor(message, details, userMessage, suggestion) {
60
+ super("CONFIG_ERROR", message, void 0, details, userMessage, suggestion);
61
+ this.name = "ConfigError";
62
+ }
63
+ };
64
+ var TimeoutError = class extends SDKError {
65
+ constructor(message = "Request timed out.", details, userMessage, suggestion) {
66
+ super("TIMEOUT_ERROR", message, 408, details, userMessage, suggestion);
67
+ this.name = "TimeoutError";
68
+ }
69
+ };
70
+ var GoneError = class extends SDKError {
71
+ constructor(message = "The requested resource is no longer available.", details, userMessage, suggestion) {
72
+ super("GONE_ERROR", message, 410, details, userMessage, suggestion);
73
+ this.name = "GoneError";
74
+ }
75
+ };
76
+ var ServiceUnavailableError = class extends SDKError {
77
+ constructor(message = "Service temporarily unavailable.", retryAfter, details, userMessage, suggestion) {
78
+ super(
79
+ "SERVICE_UNAVAILABLE_ERROR",
80
+ message,
81
+ 503,
82
+ details,
83
+ userMessage,
84
+ suggestion
85
+ );
86
+ this.name = "ServiceUnavailableError";
87
+ this.retryAfter = retryAfter;
88
+ }
89
+ };
90
+ var UsageLimitError = class extends SDKError {
91
+ constructor(message, usage, details, userMessage, suggestion) {
92
+ super("USAGE_LIMIT_ERROR", message, 429, details, userMessage, suggestion);
93
+ this.name = "UsageLimitError";
94
+ this.usage = usage;
95
+ }
96
+ toJSON() {
97
+ return {
98
+ ...super.toJSON(),
99
+ usage: this.usage
100
+ };
101
+ }
102
+ };
103
+ var AuthError = class extends SDKError {
104
+ constructor(message, details, userMessage, suggestion, requestId) {
105
+ super(
106
+ "auth_error",
107
+ message,
108
+ 401,
109
+ details,
110
+ userMessage,
111
+ suggestion,
112
+ requestId
113
+ );
114
+ this.name = "AuthError";
115
+ }
116
+ };
117
+ var PermissionError = class extends SDKError {
118
+ constructor(message, details, userMessage, suggestion, requestId) {
119
+ super(
120
+ "permission_error",
121
+ message,
122
+ 403,
123
+ details,
124
+ userMessage,
125
+ suggestion,
126
+ requestId
127
+ );
128
+ this.name = "PermissionError";
129
+ }
130
+ };
131
+ var NotFoundError = class extends SDKError {
132
+ constructor(message, details, userMessage, suggestion, requestId) {
133
+ super(
134
+ "not_found",
135
+ message,
136
+ 404,
137
+ details,
138
+ userMessage,
139
+ suggestion,
140
+ requestId
141
+ );
142
+ this.name = "NotFoundError";
143
+ }
144
+ };
145
+ var ConflictError = class extends SDKError {
146
+ constructor(message, details, userMessage, suggestion, requestId) {
147
+ super("conflict", message, 409, details, userMessage, suggestion, requestId);
148
+ this.name = "ConflictError";
149
+ }
150
+ };
151
+ var RateLimitError = class extends SDKError {
152
+ constructor(message, retryAfter, details, userMessage, suggestion, requestId) {
153
+ super(
154
+ "rate_limit_exceeded",
155
+ message,
156
+ 429,
157
+ details,
158
+ userMessage,
159
+ suggestion,
160
+ requestId
161
+ );
162
+ this.name = "RateLimitError";
163
+ this.retryAfter = retryAfter;
164
+ }
165
+ };
166
+ function isSDKError(error) {
167
+ return error instanceof SDKError;
168
+ }
169
+ function isNetworkError(error) {
170
+ return error instanceof NetworkError;
171
+ }
172
+ function isValidationError(error) {
173
+ return error instanceof ValidationError;
174
+ }
175
+ function isApiError(error) {
176
+ return error instanceof ApiError;
177
+ }
178
+ function isConfigError(error) {
179
+ return error instanceof ConfigError;
180
+ }
181
+ function isTimeoutError(error) {
182
+ return error instanceof TimeoutError;
183
+ }
184
+ function isGoneError(error) {
185
+ return error instanceof GoneError;
186
+ }
187
+ function isServiceUnavailableError(error) {
188
+ return error instanceof ServiceUnavailableError;
189
+ }
190
+ function isUsageLimitError(error) {
191
+ return error instanceof UsageLimitError;
192
+ }
193
+ function isAuthError(error) {
194
+ return error instanceof AuthError;
195
+ }
196
+ function isPermissionError(error) {
197
+ return error instanceof PermissionError;
198
+ }
199
+ function isNotFoundError(error) {
200
+ return error instanceof NotFoundError;
201
+ }
202
+ function isConflictError(error) {
203
+ return error instanceof ConflictError;
204
+ }
205
+ function isRateLimitError(error) {
206
+ return error instanceof RateLimitError;
207
+ }
208
+ var createNetworkError = (message, status, details, userMessage, suggestion) => new NetworkError(message, status, details, userMessage, suggestion);
209
+ var createValidationError = (message, details, userMessage, suggestion, status) => new ValidationError(message, details, userMessage, suggestion, status);
210
+ var createApiError = (message, status, details, userMessage, suggestion, requestId) => new ApiError(message, status, details, userMessage, suggestion, requestId);
211
+ var createConfigError = (message, details, userMessage, suggestion) => new ConfigError(message, details, userMessage, suggestion);
212
+ var createTimeoutError = (message, details, userMessage, suggestion) => new TimeoutError(message, details, userMessage, suggestion);
213
+ var createGoneError = (message, details, userMessage, suggestion) => new GoneError(message, details, userMessage, suggestion);
214
+ var createServiceUnavailableError = (message, retryAfter, details, userMessage, suggestion) => new ServiceUnavailableError(
215
+ message,
216
+ retryAfter,
217
+ details,
218
+ userMessage,
219
+ suggestion
220
+ );
221
+ var createUsageLimitError = (message, usage, details, userMessage, suggestion) => new UsageLimitError(message, usage, details, userMessage, suggestion);
222
+ var createAuthError = (message, details, userMessage, suggestion, requestId) => new AuthError(message, details, userMessage, suggestion, requestId);
223
+ var createPermissionError = (message, details, userMessage, suggestion, requestId) => new PermissionError(message, details, userMessage, suggestion, requestId);
224
+ var createNotFoundError = (message, details, userMessage, suggestion, requestId) => new NotFoundError(message, details, userMessage, suggestion, requestId);
225
+ var createConflictError = (message, details, userMessage, suggestion, requestId) => new ConflictError(message, details, userMessage, suggestion, requestId);
226
+ var createRateLimitError = (message, retryAfter, details, userMessage, suggestion, requestId) => new RateLimitError(
227
+ message,
228
+ retryAfter,
229
+ details,
230
+ userMessage,
231
+ suggestion,
232
+ requestId
233
+ );
234
+ export {
235
+ ApiError,
236
+ AuthError,
237
+ ConfigError,
238
+ ConflictError,
239
+ GoneError,
240
+ NetworkError,
241
+ NotFoundError,
242
+ PermissionError,
243
+ RateLimitError,
244
+ SDKError,
245
+ ServiceUnavailableError,
246
+ TimeoutError,
247
+ UsageLimitError,
248
+ ValidationError,
249
+ createApiError,
250
+ createAuthError,
251
+ createConfigError,
252
+ createConflictError,
253
+ createGoneError,
254
+ createNetworkError,
255
+ createNotFoundError,
256
+ createPermissionError,
257
+ createRateLimitError,
258
+ createServiceUnavailableError,
259
+ createTimeoutError,
260
+ createUsageLimitError,
261
+ createValidationError,
262
+ isApiError,
263
+ isAuthError,
264
+ isConfigError,
265
+ isConflictError,
266
+ isGoneError,
267
+ isNetworkError,
268
+ isNotFoundError,
269
+ isPermissionError,
270
+ isRateLimitError,
271
+ isSDKError,
272
+ isServiceUnavailableError,
273
+ isTimeoutError,
274
+ isUsageLimitError,
275
+ isValidationError
276
+ };
277
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/errors.ts"],"sourcesContent":["export class SDKError extends Error {\n readonly code: string\n readonly status?: number\n readonly details?: unknown\n readonly userMessage?: string\n readonly suggestion?: string\n readonly requestId?: string\n\n constructor(\n code: string,\n message: string,\n status?: number,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n requestId?: string,\n ) {\n super(message)\n this.name = 'SDKError'\n this.code = code\n this.status = status\n this.details = details\n this.userMessage = userMessage\n this.suggestion = suggestion\n this.requestId = requestId\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, new.target)\n }\n }\n\n getUserMessage(): string {\n return this.userMessage || this.message\n }\n\n toJSON() {\n return {\n name: this.name,\n code: this.code,\n message: this.message,\n status: this.status,\n details: this.details,\n userMessage: this.userMessage,\n suggestion: this.suggestion,\n ...(this.requestId !== undefined && { requestId: this.requestId }),\n }\n }\n}\n\nexport class NetworkError extends SDKError {\n constructor(\n message: string,\n status?: number,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n ) {\n super('NETWORK_ERROR', message, status, details, userMessage, suggestion)\n this.name = 'NetworkError'\n }\n}\n\nexport class ValidationError extends SDKError {\n constructor(\n message: string,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n status = 400,\n ) {\n super('VALIDATION_ERROR', message, status, details, userMessage, suggestion)\n this.name = 'ValidationError'\n }\n}\n\nexport class ApiError extends SDKError {\n constructor(\n message: string,\n status: number,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n requestId?: string,\n ) {\n super(\n 'API_ERROR',\n message,\n status,\n details,\n userMessage,\n suggestion,\n requestId,\n )\n this.name = 'ApiError'\n }\n}\n\nexport class ConfigError extends SDKError {\n constructor(\n message: string,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n ) {\n super('CONFIG_ERROR', message, undefined, details, userMessage, suggestion)\n this.name = 'ConfigError'\n }\n}\n\nexport class TimeoutError extends SDKError {\n constructor(\n message = 'Request timed out.',\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n ) {\n super('TIMEOUT_ERROR', message, 408, details, userMessage, suggestion)\n this.name = 'TimeoutError'\n }\n}\n\nexport class GoneError extends SDKError {\n constructor(\n message = 'The requested resource is no longer available.',\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n ) {\n super('GONE_ERROR', message, 410, details, userMessage, suggestion)\n this.name = 'GoneError'\n }\n}\n\nexport class ServiceUnavailableError extends SDKError {\n readonly retryAfter?: number\n\n constructor(\n message = 'Service temporarily unavailable.',\n retryAfter?: number,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n ) {\n super(\n 'SERVICE_UNAVAILABLE_ERROR',\n message,\n 503,\n details,\n userMessage,\n suggestion,\n )\n this.name = 'ServiceUnavailableError'\n this.retryAfter = retryAfter\n }\n}\n\nexport class UsageLimitError extends SDKError {\n readonly usage: { limit: number; current: number; remaining: number }\n\n constructor(\n message: string,\n usage: { limit: number; current: number; remaining: number },\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n ) {\n super('USAGE_LIMIT_ERROR', message, 429, details, userMessage, suggestion)\n this.name = 'UsageLimitError'\n this.usage = usage\n }\n\n toJSON() {\n return {\n ...super.toJSON(),\n usage: this.usage,\n }\n }\n}\n\nexport class AuthError extends SDKError {\n constructor(\n message: string,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n requestId?: string,\n ) {\n super(\n 'auth_error',\n message,\n 401,\n details,\n userMessage,\n suggestion,\n requestId,\n )\n this.name = 'AuthError'\n }\n}\n\nexport class PermissionError extends SDKError {\n constructor(\n message: string,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n requestId?: string,\n ) {\n super(\n 'permission_error',\n message,\n 403,\n details,\n userMessage,\n suggestion,\n requestId,\n )\n this.name = 'PermissionError'\n }\n}\n\nexport class NotFoundError extends SDKError {\n constructor(\n message: string,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n requestId?: string,\n ) {\n super(\n 'not_found',\n message,\n 404,\n details,\n userMessage,\n suggestion,\n requestId,\n )\n this.name = 'NotFoundError'\n }\n}\n\nexport class ConflictError extends SDKError {\n constructor(\n message: string,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n requestId?: string,\n ) {\n super('conflict', message, 409, details, userMessage, suggestion, requestId)\n this.name = 'ConflictError'\n }\n}\n\nexport class RateLimitError extends SDKError {\n readonly retryAfter?: number\n\n constructor(\n message: string,\n retryAfter?: number,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n requestId?: string,\n ) {\n super(\n 'rate_limit_exceeded',\n message,\n 429,\n details,\n userMessage,\n suggestion,\n requestId,\n )\n this.name = 'RateLimitError'\n this.retryAfter = retryAfter\n }\n}\n\nexport function isSDKError(error: unknown): error is SDKError {\n return error instanceof SDKError\n}\n\nexport function isNetworkError(error: unknown): error is NetworkError {\n return error instanceof NetworkError\n}\n\nexport function isValidationError(error: unknown): error is ValidationError {\n return error instanceof ValidationError\n}\n\nexport function isApiError(error: unknown): error is ApiError {\n return error instanceof ApiError\n}\n\nexport function isConfigError(error: unknown): error is ConfigError {\n return error instanceof ConfigError\n}\n\nexport function isTimeoutError(error: unknown): error is TimeoutError {\n return error instanceof TimeoutError\n}\n\nexport function isGoneError(error: unknown): error is GoneError {\n return error instanceof GoneError\n}\n\nexport function isServiceUnavailableError(\n error: unknown,\n): error is ServiceUnavailableError {\n return error instanceof ServiceUnavailableError\n}\n\nexport function isUsageLimitError(error: unknown): error is UsageLimitError {\n return error instanceof UsageLimitError\n}\n\nexport function isAuthError(error: unknown): error is AuthError {\n return error instanceof AuthError\n}\n\nexport function isPermissionError(error: unknown): error is PermissionError {\n return error instanceof PermissionError\n}\n\nexport function isNotFoundError(error: unknown): error is NotFoundError {\n return error instanceof NotFoundError\n}\n\nexport function isConflictError(error: unknown): error is ConflictError {\n return error instanceof ConflictError\n}\n\nexport function isRateLimitError(error: unknown): error is RateLimitError {\n return error instanceof RateLimitError\n}\n\nexport const createNetworkError = (\n message: string,\n status?: number,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n) => new NetworkError(message, status, details, userMessage, suggestion)\n\nexport const createValidationError = (\n message: string,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n status?: number,\n) => new ValidationError(message, details, userMessage, suggestion, status)\n\nexport const createApiError = (\n message: string,\n status: number,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n requestId?: string,\n) => new ApiError(message, status, details, userMessage, suggestion, requestId)\n\nexport const createConfigError = (\n message: string,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n) => new ConfigError(message, details, userMessage, suggestion)\n\nexport const createTimeoutError = (\n message?: string,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n) => new TimeoutError(message, details, userMessage, suggestion)\n\nexport const createGoneError = (\n message?: string,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n) => new GoneError(message, details, userMessage, suggestion)\n\nexport const createServiceUnavailableError = (\n message?: string,\n retryAfter?: number,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n) =>\n new ServiceUnavailableError(\n message,\n retryAfter,\n details,\n userMessage,\n suggestion,\n )\n\nexport const createUsageLimitError = (\n message: string,\n usage: { limit: number; current: number; remaining: number },\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n) => new UsageLimitError(message, usage, details, userMessage, suggestion)\n\nexport const createAuthError = (\n message: string,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n requestId?: string,\n) => new AuthError(message, details, userMessage, suggestion, requestId)\n\nexport const createPermissionError = (\n message: string,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n requestId?: string,\n) => new PermissionError(message, details, userMessage, suggestion, requestId)\n\nexport const createNotFoundError = (\n message: string,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n requestId?: string,\n) => new NotFoundError(message, details, userMessage, suggestion, requestId)\n\nexport const createConflictError = (\n message: string,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n requestId?: string,\n) => new ConflictError(message, details, userMessage, suggestion, requestId)\n\nexport const createRateLimitError = (\n message: string,\n retryAfter?: number,\n details?: unknown,\n userMessage?: string,\n suggestion?: string,\n requestId?: string,\n) =>\n new RateLimitError(\n message,\n retryAfter,\n details,\n userMessage,\n suggestion,\n requestId,\n )\n"],"mappings":";AAAO,IAAM,WAAN,cAAuB,MAAM;AAAA,EAQlC,YACE,MACA,SACA,QACA,SACA,aACA,YACA,WACA;AACA,UAAM,OAAO;AACb,SAAK,OAAO;AACZ,SAAK,OAAO;AACZ,SAAK,SAAS;AACd,SAAK,UAAU;AACf,SAAK,cAAc;AACnB,SAAK,aAAa;AAClB,SAAK,YAAY;AAEjB,QAAI,MAAM,mBAAmB;AAC3B,YAAM,kBAAkB,MAAM,UAAU;AAAA,IAC1C;AAAA,EACF;AAAA,EAEA,iBAAyB;AACvB,WAAO,KAAK,eAAe,KAAK;AAAA,EAClC;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK;AAAA,MACd,aAAa,KAAK;AAAA,MAClB,YAAY,KAAK;AAAA,MACjB,GAAI,KAAK,cAAc,UAAa,EAAE,WAAW,KAAK,UAAU;AAAA,IAClE;AAAA,EACF;AACF;AAEO,IAAM,eAAN,cAA2B,SAAS;AAAA,EACzC,YACE,SACA,QACA,SACA,aACA,YACA;AACA,UAAM,iBAAiB,SAAS,QAAQ,SAAS,aAAa,UAAU;AACxE,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,kBAAN,cAA8B,SAAS;AAAA,EAC5C,YACE,SACA,SACA,aACA,YACA,SAAS,KACT;AACA,UAAM,oBAAoB,SAAS,QAAQ,SAAS,aAAa,UAAU;AAC3E,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,WAAN,cAAuB,SAAS;AAAA,EACrC,YACE,SACA,QACA,SACA,aACA,YACA,WACA;AACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,cAAN,cAA0B,SAAS;AAAA,EACxC,YACE,SACA,SACA,aACA,YACA;AACA,UAAM,gBAAgB,SAAS,QAAW,SAAS,aAAa,UAAU;AAC1E,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,eAAN,cAA2B,SAAS;AAAA,EACzC,YACE,UAAU,sBACV,SACA,aACA,YACA;AACA,UAAM,iBAAiB,SAAS,KAAK,SAAS,aAAa,UAAU;AACrE,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,YAAN,cAAwB,SAAS;AAAA,EACtC,YACE,UAAU,kDACV,SACA,aACA,YACA;AACA,UAAM,cAAc,SAAS,KAAK,SAAS,aAAa,UAAU;AAClE,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,0BAAN,cAAsC,SAAS;AAAA,EAGpD,YACE,UAAU,oCACV,YACA,SACA,aACA,YACA;AACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,SAAK,OAAO;AACZ,SAAK,aAAa;AAAA,EACpB;AACF;AAEO,IAAM,kBAAN,cAA8B,SAAS;AAAA,EAG5C,YACE,SACA,OACA,SACA,aACA,YACA;AACA,UAAM,qBAAqB,SAAS,KAAK,SAAS,aAAa,UAAU;AACzE,SAAK,OAAO;AACZ,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,MACL,GAAG,MAAM,OAAO;AAAA,MAChB,OAAO,KAAK;AAAA,IACd;AAAA,EACF;AACF;AAEO,IAAM,YAAN,cAAwB,SAAS;AAAA,EACtC,YACE,SACA,SACA,aACA,YACA,WACA;AACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,kBAAN,cAA8B,SAAS;AAAA,EAC5C,YACE,SACA,SACA,aACA,YACA,WACA;AACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,gBAAN,cAA4B,SAAS;AAAA,EAC1C,YACE,SACA,SACA,aACA,YACA,WACA;AACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,gBAAN,cAA4B,SAAS;AAAA,EAC1C,YACE,SACA,SACA,aACA,YACA,WACA;AACA,UAAM,YAAY,SAAS,KAAK,SAAS,aAAa,YAAY,SAAS;AAC3E,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,iBAAN,cAA6B,SAAS;AAAA,EAG3C,YACE,SACA,YACA,SACA,aACA,YACA,WACA;AACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,SAAK,OAAO;AACZ,SAAK,aAAa;AAAA,EACpB;AACF;AAEO,SAAS,WAAW,OAAmC;AAC5D,SAAO,iBAAiB;AAC1B;AAEO,SAAS,eAAe,OAAuC;AACpE,SAAO,iBAAiB;AAC1B;AAEO,SAAS,kBAAkB,OAA0C;AAC1E,SAAO,iBAAiB;AAC1B;AAEO,SAAS,WAAW,OAAmC;AAC5D,SAAO,iBAAiB;AAC1B;AAEO,SAAS,cAAc,OAAsC;AAClE,SAAO,iBAAiB;AAC1B;AAEO,SAAS,eAAe,OAAuC;AACpE,SAAO,iBAAiB;AAC1B;AAEO,SAAS,YAAY,OAAoC;AAC9D,SAAO,iBAAiB;AAC1B;AAEO,SAAS,0BACd,OACkC;AAClC,SAAO,iBAAiB;AAC1B;AAEO,SAAS,kBAAkB,OAA0C;AAC1E,SAAO,iBAAiB;AAC1B;AAEO,SAAS,YAAY,OAAoC;AAC9D,SAAO,iBAAiB;AAC1B;AAEO,SAAS,kBAAkB,OAA0C;AAC1E,SAAO,iBAAiB;AAC1B;AAEO,SAAS,gBAAgB,OAAwC;AACtE,SAAO,iBAAiB;AAC1B;AAEO,SAAS,gBAAgB,OAAwC;AACtE,SAAO,iBAAiB;AAC1B;AAEO,SAAS,iBAAiB,OAAyC;AACxE,SAAO,iBAAiB;AAC1B;AAEO,IAAM,qBAAqB,CAChC,SACA,QACA,SACA,aACA,eACG,IAAI,aAAa,SAAS,QAAQ,SAAS,aAAa,UAAU;AAEhE,IAAM,wBAAwB,CACnC,SACA,SACA,aACA,YACA,WACG,IAAI,gBAAgB,SAAS,SAAS,aAAa,YAAY,MAAM;AAEnE,IAAM,iBAAiB,CAC5B,SACA,QACA,SACA,aACA,YACA,cACG,IAAI,SAAS,SAAS,QAAQ,SAAS,aAAa,YAAY,SAAS;AAEvE,IAAM,oBAAoB,CAC/B,SACA,SACA,aACA,eACG,IAAI,YAAY,SAAS,SAAS,aAAa,UAAU;AAEvD,IAAM,qBAAqB,CAChC,SACA,SACA,aACA,eACG,IAAI,aAAa,SAAS,SAAS,aAAa,UAAU;AAExD,IAAM,kBAAkB,CAC7B,SACA,SACA,aACA,eACG,IAAI,UAAU,SAAS,SAAS,aAAa,UAAU;AAErD,IAAM,gCAAgC,CAC3C,SACA,YACA,SACA,aACA,eAEA,IAAI;AAAA,EACF;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEK,IAAM,wBAAwB,CACnC,SACA,OACA,SACA,aACA,eACG,IAAI,gBAAgB,SAAS,OAAO,SAAS,aAAa,UAAU;AAElE,IAAM,kBAAkB,CAC7B,SACA,SACA,aACA,YACA,cACG,IAAI,UAAU,SAAS,SAAS,aAAa,YAAY,SAAS;AAEhE,IAAM,wBAAwB,CACnC,SACA,SACA,aACA,YACA,cACG,IAAI,gBAAgB,SAAS,SAAS,aAAa,YAAY,SAAS;AAEtE,IAAM,sBAAsB,CACjC,SACA,SACA,aACA,YACA,cACG,IAAI,cAAc,SAAS,SAAS,aAAa,YAAY,SAAS;AAEpE,IAAM,sBAAsB,CACjC,SACA,SACA,aACA,YACA,cACG,IAAI,cAAc,SAAS,SAAS,aAAa,YAAY,SAAS;AAEpE,IAAM,uBAAuB,CAClC,SACA,YACA,SACA,aACA,YACA,cAEA,IAAI;AAAA,EACF;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;","names":[]}
@@ -0,0 +1,186 @@
1
+ import { C as Collection } from './const-BTvdrXtY.cjs';
2
+ import { C as CollectionType } from './types-Bx558PU6.cjs';
3
+ import './payload-types-C7tb7Xbs.cjs';
4
+
5
+ type WebhookOperation = string;
6
+ /**
7
+ * Semantic event type for manual Admin Panel ordering changes.
8
+ *
9
+ * Order-change webhooks remain `operation: "update"` events for compatibility.
10
+ * Do not filter on or emit `operation: "reorder"`; use this event type with
11
+ * `isOrderChangedWebhookEvent()` to distinguish ordering from normal content
12
+ * updates.
13
+ */
14
+ declare const ORDER_CHANGED_EVENT_TYPE: "collection.orderChanged";
15
+ /** Semantic event type for v1 commerce notification webhooks. */
16
+ declare const COMMERCE_NOTIFICATION_EVENT_TYPE: "commerce.notification";
17
+ /** Collection webhook operations emitted for tenant collection writes. */
18
+ type CollectionWebhookOperation = 'create' | 'update';
19
+ /** Describes the ordered area affected by an order-change webhook. */
20
+ type WebhookOrderScope = {
21
+ kind: 'collection';
22
+ collection: string;
23
+ } | {
24
+ kind: 'join';
25
+ collection: string;
26
+ field: string;
27
+ id: string | number;
28
+ };
29
+ /** Identifies the public moved document for the ordered scope. */
30
+ type WebhookOrderMoved = {
31
+ collection: string;
32
+ id: string | number;
33
+ relatedCollection?: string;
34
+ relatedId?: string | number;
35
+ };
36
+ /** Metadata attached to `collection.orderChanged` webhook events. */
37
+ type WebhookOrderChange = {
38
+ type: 'order';
39
+ source: 'payload-orderable';
40
+ /**
41
+ * Diagnostic Payload order field name.
42
+ *
43
+ * This may contain hidden implementation field names. Application routing
44
+ * should use `change.scope` and `change.moved` instead.
45
+ */
46
+ orderableFieldName?: string;
47
+ previousOrder?: string | null;
48
+ nextOrder?: string | null;
49
+ scope: WebhookOrderScope;
50
+ moved: WebhookOrderMoved;
51
+ };
52
+ /** Known semantic webhook change metadata. */
53
+ type WebhookChange = WebhookOrderChange | WebhookCommerceNotificationChange;
54
+ interface WebhookEvent<T extends Collection | string = Collection, TData = T extends Collection ? CollectionType<T> : Record<string, unknown>> {
55
+ collection: T;
56
+ operation: WebhookOperation;
57
+ data: TData;
58
+ eventType?: string;
59
+ change?: unknown;
60
+ timestamp?: string;
61
+ deliveryId?: string;
62
+ }
63
+ type WebhookHandler<T extends Collection | string = Collection, TData = T extends Collection ? CollectionType<T> : Record<string, unknown>> = (event: WebhookEvent<T, TData>) => Promise<void> | void;
64
+ interface WebhookOptions {
65
+ secret?: string;
66
+ /** Max accepted skew for signed webhook delivery timestamps. Default: 300s. */
67
+ toleranceSeconds?: number;
68
+ }
69
+ declare function isValidWebhookEvent(data: unknown): data is WebhookEvent;
70
+ /** Webhook event emitted when manual Admin Panel ordering changes. */
71
+ type OrderChangedWebhookEvent<T extends Collection | string = Collection, TData = T extends Collection ? CollectionType<T> : Record<string, unknown>> = WebhookEvent<T, TData> & {
72
+ operation: 'update';
73
+ eventType: typeof ORDER_CHANGED_EVENT_TYPE;
74
+ change: WebhookOrderChange;
75
+ };
76
+ declare const COMMERCE_NOTIFICATION_OPERATION: "notification";
77
+ declare const COMMERCE_NOTIFICATION_EVENTS: readonly ["orderPaid", "orderCanceled", "fulfillmentShipped", "orderDelivered", "returnRequested", "returnCompleted"];
78
+ type CommerceNotificationEventName = (typeof COMMERCE_NOTIFICATION_EVENTS)[number];
79
+ type CommerceNotificationSourceCollection = 'orders' | 'fulfillments' | 'returns';
80
+ type CommerceNotificationSource = {
81
+ collection: CommerceNotificationSourceCollection;
82
+ id: string | number;
83
+ };
84
+ type CommerceNotificationData = {
85
+ source?: CommerceNotificationSource;
86
+ orderId?: string | number;
87
+ orderNumber?: string;
88
+ status?: string;
89
+ totalAmount?: number;
90
+ currency?: string;
91
+ fulfillmentId?: string | number;
92
+ fulfillmentStatus?: string;
93
+ shippedAt?: string;
94
+ returnId?: string | number;
95
+ returnStatus?: string;
96
+ refundAmount?: number;
97
+ completedAt?: string;
98
+ };
99
+ type CommerceNotification = {
100
+ event: CommerceNotificationEventName;
101
+ intentId: string;
102
+ dedupeKey: string;
103
+ orderId?: string;
104
+ fulfillmentId?: string;
105
+ returnId?: string;
106
+ };
107
+ type WebhookCommerceNotificationChange = {
108
+ type: 'notification';
109
+ source: 'commerce-notifications';
110
+ event: CommerceNotificationEventName;
111
+ sourceCollection: CommerceNotificationSourceCollection;
112
+ sourceId: string | number;
113
+ };
114
+ /** Webhook event emitted for v1 commerce notification deliveries. */
115
+ type CommerceNotificationWebhookEvent = WebhookEvent<CommerceNotificationSourceCollection, CommerceNotificationData> & {
116
+ operation: typeof COMMERCE_NOTIFICATION_OPERATION;
117
+ eventType: typeof COMMERCE_NOTIFICATION_EVENT_TYPE;
118
+ change?: WebhookCommerceNotificationChange;
119
+ notification: CommerceNotification;
120
+ };
121
+ type CommerceEmailChannel = 'webhook' | 'provider';
122
+ type CommerceEmailEventConfig = {
123
+ enabled: boolean;
124
+ channel: CommerceEmailChannel;
125
+ template?: string;
126
+ };
127
+ type CommerceEmailConfig = {
128
+ version: 1;
129
+ commerceNotifications: Partial<Record<CommerceNotificationEventName, CommerceEmailEventConfig>>;
130
+ };
131
+ type CommerceEmailHandlerContext = {
132
+ event: CommerceNotificationWebhookEvent;
133
+ idempotencyKey: string;
134
+ };
135
+ type MaybePromise<T> = T | Promise<T>;
136
+ type CommerceEmailEventHandlers = Partial<Record<CommerceNotificationEventName, (context: CommerceEmailHandlerContext) => MaybePromise<void>>> & {
137
+ unhandled?: (event: WebhookEvent<string, unknown>) => MaybePromise<void>;
138
+ };
139
+ /**
140
+ * Returns true for semantic order-change webhooks emitted as update events.
141
+ *
142
+ * Use this guard with `ORDER_CHANGED_EVENT_TYPE` instead of filtering on
143
+ * `operation: "reorder"`. Tenant order-change webhooks intentionally keep
144
+ * `operation: "update"` for compatibility with existing webhook handlers.
145
+ */
146
+ declare function isOrderChangedWebhookEvent(event: unknown): event is OrderChangedWebhookEvent<string, unknown>;
147
+ /**
148
+ * Returns true for semantic commerce notification webhooks.
149
+ *
150
+ * Use `notification.intentId` and `notification.dedupeKey` for semantic
151
+ * idempotency. `deliveryId`, when present, identifies a delivery attempt for
152
+ * observability and is not the semantic notification identity.
153
+ */
154
+ declare function isCommerceNotificationWebhookEvent(event: unknown): event is CommerceNotificationWebhookEvent;
155
+ declare function getCommerceNotificationIdempotencyKey(event: Pick<CommerceNotificationWebhookEvent, 'notification'>): string;
156
+ declare function defineCommerceEmailConfig<TConfig extends CommerceEmailConfig>(config: TConfig): TConfig;
157
+ declare function createCommerceEmailWebhookHandler(handlers: CommerceEmailEventHandlers): WebhookHandler<string, unknown>;
158
+ /** Narrows a webhook event to a specific collection. */
159
+ declare function isWebhookCollection<TCollection extends string>(event: unknown, collection: TCollection): event is WebhookEvent<TCollection, unknown>;
160
+ /** Narrows a webhook event to a specific operation. */
161
+ declare function isWebhookOperation<TOperation extends string>(event: unknown, operation: TOperation): event is WebhookEvent<string, unknown> & {
162
+ operation: TOperation;
163
+ };
164
+ declare const CUSTOMER_PASSWORD_RESET_OPERATION: "password-reset";
165
+ type WebhookKnownOperation = CollectionWebhookOperation | typeof CUSTOMER_PASSWORD_RESET_OPERATION | typeof COMMERCE_NOTIFICATION_OPERATION;
166
+ interface CustomerPasswordResetWebhookData {
167
+ customerId: string | number;
168
+ email: string;
169
+ name: string;
170
+ resetPasswordToken: string;
171
+ resetPasswordExpiresAt: string;
172
+ }
173
+ type CustomerPasswordResetWebhookEvent = WebhookEvent<'customers', CustomerPasswordResetWebhookData> & {
174
+ operation: typeof CUSTOMER_PASSWORD_RESET_OPERATION;
175
+ };
176
+ type CustomerAuthWebhookEvent = CustomerPasswordResetWebhookEvent;
177
+ interface CustomerAuthWebhookHandlers {
178
+ passwordReset?: (data: CustomerPasswordResetWebhookData, event: CustomerPasswordResetWebhookEvent) => MaybePromise<void>;
179
+ unhandled?: (event: WebhookEvent<string, unknown>) => MaybePromise<void>;
180
+ }
181
+ declare function isCustomerPasswordResetWebhookEvent(event: WebhookEvent<string, unknown>): event is CustomerPasswordResetWebhookEvent;
182
+ declare function createCustomerAuthWebhookHandler(handlers: CustomerAuthWebhookHandlers): WebhookHandler<string, unknown>;
183
+ declare function handleWebhook<T extends Collection | string = Collection, TData = T extends Collection ? CollectionType<T> : Record<string, unknown>>(request: Request, handler: WebhookHandler<T, TData>, options?: WebhookOptions): Promise<Response>;
184
+ declare function createTypedWebhookHandler<T extends Collection>(collection: T, handler: (event: WebhookEvent<T>) => Promise<void> | void): WebhookHandler<T>;
185
+
186
+ export { type WebhookOrderChange as A, type WebhookOrderMoved as B, COMMERCE_NOTIFICATION_EVENTS as C, type WebhookOrderScope as D, createCommerceEmailWebhookHandler as E, createCustomerAuthWebhookHandler as F, createTypedWebhookHandler as G, defineCommerceEmailConfig as H, getCommerceNotificationIdempotencyKey as I, handleWebhook as J, isCommerceNotificationWebhookEvent as K, isCustomerPasswordResetWebhookEvent as L, isOrderChangedWebhookEvent as M, isValidWebhookEvent as N, ORDER_CHANGED_EVENT_TYPE as O, isWebhookCollection as P, isWebhookOperation as Q, type WebhookChange as W, COMMERCE_NOTIFICATION_EVENT_TYPE as a, COMMERCE_NOTIFICATION_OPERATION as b, CUSTOMER_PASSWORD_RESET_OPERATION as c, type CollectionWebhookOperation as d, type CommerceEmailChannel as e, type CommerceEmailConfig as f, type CommerceEmailEventConfig as g, type CommerceEmailEventHandlers as h, type CommerceEmailHandlerContext as i, type CommerceNotification as j, type CommerceNotificationData as k, type CommerceNotificationEventName as l, type CommerceNotificationSource as m, type CommerceNotificationSourceCollection as n, type CommerceNotificationWebhookEvent as o, type CustomerAuthWebhookEvent as p, type CustomerAuthWebhookHandlers as q, type CustomerPasswordResetWebhookData as r, type CustomerPasswordResetWebhookEvent as s, type OrderChangedWebhookEvent as t, type WebhookCommerceNotificationChange as u, type WebhookEvent as v, type WebhookHandler as w, type WebhookKnownOperation as x, type WebhookOperation as y, type WebhookOptions as z };