@amigo-ai/platform-sdk 0.3.0 → 0.4.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 (71) hide show
  1. package/README.md +58 -0
  2. package/dist/core/errors.js +2 -3
  3. package/dist/core/errors.js.map +1 -1
  4. package/dist/core/webhooks.js +127 -13
  5. package/dist/core/webhooks.js.map +1 -1
  6. package/dist/index.cjs +123 -18
  7. package/dist/index.cjs.map +2 -2
  8. package/dist/index.js +1 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/index.mjs +123 -18
  11. package/dist/index.mjs.map +2 -2
  12. package/dist/types/core/errors.d.ts.map +1 -1
  13. package/dist/types/core/webhooks.d.ts +19 -1
  14. package/dist/types/core/webhooks.d.ts.map +1 -1
  15. package/dist/types/generated/api.d.ts +12694 -11729
  16. package/dist/types/generated/api.d.ts.map +1 -1
  17. package/dist/types/index.d.ts +2 -2
  18. package/dist/types/index.d.ts.map +1 -1
  19. package/dist/types/resources/actions.d.ts +83 -83
  20. package/dist/types/resources/actions.d.ts.map +1 -1
  21. package/dist/types/resources/agents.d.ts +30 -30
  22. package/dist/types/resources/agents.d.ts.map +1 -1
  23. package/dist/types/resources/analytics.d.ts +12 -12
  24. package/dist/types/resources/analytics.d.ts.map +1 -1
  25. package/dist/types/resources/api-keys.d.ts +15 -15
  26. package/dist/types/resources/api-keys.d.ts.map +1 -1
  27. package/dist/types/resources/audit.d.ts +11 -11
  28. package/dist/types/resources/audit.d.ts.map +1 -1
  29. package/dist/types/resources/billing.d.ts +9 -9
  30. package/dist/types/resources/billing.d.ts.map +1 -1
  31. package/dist/types/resources/calls.d.ts +31 -45
  32. package/dist/types/resources/calls.d.ts.map +1 -1
  33. package/dist/types/resources/compliance.d.ts +17 -17
  34. package/dist/types/resources/context-graphs.d.ts +35 -35
  35. package/dist/types/resources/context-graphs.d.ts.map +1 -1
  36. package/dist/types/resources/data-sources.d.ts +47 -47
  37. package/dist/types/resources/data-sources.d.ts.map +1 -1
  38. package/dist/types/resources/functions.d.ts +12 -12
  39. package/dist/types/resources/functions.d.ts.map +1 -1
  40. package/dist/types/resources/integrations.d.ts +43 -43
  41. package/dist/types/resources/integrations.d.ts.map +1 -1
  42. package/dist/types/resources/memory.d.ts +10 -10
  43. package/dist/types/resources/memory.d.ts.map +1 -1
  44. package/dist/types/resources/operators.d.ts +53 -53
  45. package/dist/types/resources/operators.d.ts.map +1 -1
  46. package/dist/types/resources/personas.d.ts +23 -23
  47. package/dist/types/resources/personas.d.ts.map +1 -1
  48. package/dist/types/resources/phone-numbers.d.ts +38 -38
  49. package/dist/types/resources/phone-numbers.d.ts.map +1 -1
  50. package/dist/types/resources/recordings.d.ts +10 -10
  51. package/dist/types/resources/review-queue.d.ts +71 -71
  52. package/dist/types/resources/review-queue.d.ts.map +1 -1
  53. package/dist/types/resources/safety.d.ts +23 -23
  54. package/dist/types/resources/safety.d.ts.map +1 -1
  55. package/dist/types/resources/services.d.ts +50 -50
  56. package/dist/types/resources/services.d.ts.map +1 -1
  57. package/dist/types/resources/settings.d.ts +24 -24
  58. package/dist/types/resources/settings.d.ts.map +1 -1
  59. package/dist/types/resources/simulations.d.ts +12 -12
  60. package/dist/types/resources/simulations.d.ts.map +1 -1
  61. package/dist/types/resources/skills.d.ts +83 -83
  62. package/dist/types/resources/skills.d.ts.map +1 -1
  63. package/dist/types/resources/triggers.d.ts +55 -55
  64. package/dist/types/resources/triggers.d.ts.map +1 -1
  65. package/dist/types/resources/webhook-destinations.d.ts +35 -35
  66. package/dist/types/resources/webhook-destinations.d.ts.map +1 -1
  67. package/dist/types/resources/workspaces.d.ts +26 -26
  68. package/dist/types/resources/workspaces.d.ts.map +1 -1
  69. package/dist/types/resources/world.d.ts +41 -41
  70. package/dist/types/resources/world.d.ts.map +1 -1
  71. package/package.json +31 -14
package/dist/index.js CHANGED
@@ -123,5 +123,5 @@ export { AmigoError, BadRequestError, AuthenticationError, PermissionError, NotF
123
123
  export { workspaceId, apiKeyId, agentId, personaId, skillId, actionId, serviceId, contextGraphId, callId, phoneNumberId, integrationId, entityId, eventId, simulationRunId, simulationSessionId, functionId, dataSourceId, } from './core/branded-types.js';
124
124
  export { paginate } from './core/utils.js';
125
125
  export { parseRateLimitHeaders } from './core/rate-limit.js';
126
- export { verifyWebhookSignature, parseWebhookEvent } from './core/webhooks.js';
126
+ export { verifyWebhookSignature, parseWebhookEvent, WebhookVerificationError, } from './core/webhooks.js';
127
127
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAA;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,+BAA+B,CAAA;AAgC/D,MAAM,OAAO,WAAW;IACb,UAAU,CAAoB;IAC9B,OAAO,CAAiB;IACxB,MAAM,CAAgB;IAC/B,wCAAwC;IAC/B,MAAM,CAAgB;IACtB,OAAO,CAAiB;IACxB,SAAS,CAAmB;IAC5B,QAAQ,CAAkB;IAC1B,QAAQ,CAAkB;IAC1B,aAAa,CAAuB;IACpC,WAAW,CAAqB;IAChC,KAAK,CAAe;IACpB,KAAK,CAAe;IACpB,YAAY,CAAsB;IAClC,YAAY,CAAsB;IAClC,SAAS,CAAmB;IAC5B,WAAW,CAAqB;IAChC,QAAQ,CAAkB;IAC1B,OAAO,CAAiB;IACxB,MAAM,CAAgB;IACtB,QAAQ,CAAkB;IAC1B,WAAW,CAAqB;IAChC,UAAU,CAAoB;IAC9B,KAAK,CAAe;IACpB,mBAAmB,CAA6B;IAChD,MAAM,CAAgB;IACtB,UAAU,CAAoB;IAC9B,SAAS,CAAmB;IAErC,YAAY,MAAyB;QACnC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxD,MAAM,IAAI,kBAAkB,CAAC,mDAAmD,CAAC,CAAA;QACnF,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAClE,MAAM,IAAI,kBAAkB,CAAC,wDAAwD,CAAC,CAAA;QACxF,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAEvE,MAAM,MAAM,GAAG,oBAAoB,CAAC;YAClC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO;YACP,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAA;QAEF,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAA;QAE7B,IAAI,CAAC,UAAU,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAChD,IAAI,CAAC,aAAa,GAAG,IAAI,qBAAqB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC1D,IAAI,CAAC,WAAW,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACtD,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACxD,IAAI,CAAC,YAAY,GAAG,IAAI,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACxD,IAAI,CAAC,SAAS,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAClD,IAAI,CAAC,WAAW,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACtD,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAChD,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAChD,IAAI,CAAC,WAAW,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACtD,IAAI,CAAC,UAAU,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC1C,IAAI,CAAC,mBAAmB,GAAG,IAAI,2BAA2B,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACtE,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACpD,CAAC;CACF;AAMD,OAAO,EACL,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,kBAAkB,CAAA;AAsBzB,OAAO,EACL,WAAW,EACX,QAAQ,EACR,OAAO,EACP,SAAS,EACT,OAAO,EACP,QAAQ,EACR,SAAS,EACT,cAAc,EACd,MAAM,EACN,aAAa,EACb,aAAa,EACb,QAAQ,EACR,OAAO,EACP,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,YAAY,GACb,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAI1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAG5D,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -129,16 +129,15 @@ var ConfigurationError = class extends AmigoError {
129
129
  };
130
130
  async function createApiError(response) {
131
131
  let body = {};
132
- let rawBody;
133
132
  try {
134
- rawBody = await response.text();
133
+ const rawBody = await response.text();
135
134
  body = JSON.parse(rawBody);
136
135
  } catch {
137
136
  }
138
137
  const ctx = {
139
138
  statusCode: response.status,
140
139
  errorCode: body.error_code,
141
- requestId: body.request_id,
140
+ requestId: body.request_id ?? response.headers.get("x-request-id") ?? void 0,
142
141
  detail: body.detail,
143
142
  context: { url: response.url, response: body }
144
143
  };
@@ -2124,29 +2123,134 @@ function parseRateLimitHeaders(headers) {
2124
2123
  }
2125
2124
 
2126
2125
  // src/core/webhooks.ts
2127
- async function verifyWebhookSignature(payload, signature, secret) {
2128
- const encoder = new TextEncoder();
2126
+ var textEncoder = new TextEncoder();
2127
+ var MAX_TIMESTAMP_SKEW_MS = 5 * 60 * 1e3;
2128
+ var WebhookVerificationError = class extends Error {
2129
+ constructor(message) {
2130
+ super(message);
2131
+ this.name = "WebhookVerificationError";
2132
+ Object.setPrototypeOf(this, new.target.prototype);
2133
+ }
2134
+ };
2135
+ async function verifyWebhookSignature(payloadOrOptions, signature, secret) {
2136
+ const options = normalizeVerificationOptions(payloadOrOptions, signature, secret);
2137
+ const payloadBytes = toUint8Array(options.payload);
2138
+ const expectedSignature = await signWebhookPayload(payloadBytes, options.secret, options.timestamp);
2139
+ const actualSignature = normalizeSignature(options.signature);
2140
+ if (!actualSignature || !constantTimeEqual(expectedSignature, actualSignature)) {
2141
+ return false;
2142
+ }
2143
+ if (options.timestamp) {
2144
+ const timestampMs = parseTimestamp(options.timestamp);
2145
+ if (timestampMs === void 0) return false;
2146
+ const maxAgeMs = options.maxAgeMs ?? MAX_TIMESTAMP_SKEW_MS;
2147
+ const now = Date.now();
2148
+ if (timestampMs > now + maxAgeMs || now - timestampMs > maxAgeMs) {
2149
+ return false;
2150
+ }
2151
+ }
2152
+ return true;
2153
+ }
2154
+ async function parseWebhookEvent(payloadOrOptions, signature, secret) {
2155
+ const options = normalizeParseOptions(payloadOrOptions, signature, secret);
2156
+ const valid = await verifyWebhookSignature(options);
2157
+ if (!valid) {
2158
+ throw new WebhookVerificationError("Invalid or expired webhook signature");
2159
+ }
2160
+ const payloadText = decodePayload(options.payload);
2161
+ let event;
2162
+ try {
2163
+ event = JSON.parse(payloadText, options.reviver);
2164
+ } catch {
2165
+ throw new WebhookVerificationError("Invalid JSON webhook payload");
2166
+ }
2167
+ if (options.expectedType && event.type !== options.expectedType) {
2168
+ throw new WebhookVerificationError(
2169
+ `Unexpected webhook event type: expected ${options.expectedType}, received ${event.type}`
2170
+ );
2171
+ }
2172
+ options.validate?.(event);
2173
+ return event;
2174
+ }
2175
+ function normalizeVerificationOptions(payloadOrOptions, signature, secret) {
2176
+ if (typeof payloadOrOptions === "object" && payloadOrOptions !== null && "payload" in payloadOrOptions) {
2177
+ return payloadOrOptions;
2178
+ }
2179
+ if (!signature || !secret) {
2180
+ throw new TypeError("signature and secret are required");
2181
+ }
2182
+ return {
2183
+ payload: payloadOrOptions,
2184
+ signature,
2185
+ secret
2186
+ };
2187
+ }
2188
+ function normalizeParseOptions(payloadOrOptions, signature, secret) {
2189
+ if (typeof payloadOrOptions === "object" && payloadOrOptions !== null && "payload" in payloadOrOptions) {
2190
+ return payloadOrOptions;
2191
+ }
2192
+ if (!signature || !secret) {
2193
+ throw new TypeError("signature and secret are required");
2194
+ }
2195
+ return {
2196
+ payload: payloadOrOptions,
2197
+ signature,
2198
+ secret
2199
+ };
2200
+ }
2201
+ function decodePayload(payload) {
2202
+ if (typeof payload === "string") return payload;
2203
+ return new TextDecoder().decode(toUint8Array(payload));
2204
+ }
2205
+ function toUint8Array(payload) {
2206
+ if (typeof payload === "string") return textEncoder.encode(payload);
2207
+ if (payload instanceof Uint8Array) return payload;
2208
+ return new Uint8Array(payload);
2209
+ }
2210
+ async function signWebhookPayload(payload, secret, timestamp) {
2129
2211
  const key = await crypto.subtle.importKey(
2130
2212
  "raw",
2131
- encoder.encode(secret),
2213
+ textEncoder.encode(secret),
2132
2214
  { name: "HMAC", hash: "SHA-256" },
2133
2215
  false,
2134
2216
  ["sign"]
2135
2217
  );
2136
- const mac = await crypto.subtle.sign(
2137
- "HMAC",
2138
- key,
2139
- typeof payload === "string" ? encoder.encode(payload) : payload
2140
- );
2141
- const expected = Array.from(new Uint8Array(mac)).map((b) => b.toString(16).padStart(2, "0")).join("");
2142
- return signature === `sha256=${expected}`;
2218
+ const message = timestamp ? concatUint8Arrays(textEncoder.encode(`v1:${timestamp}:`), payload) : payload;
2219
+ const mac = await crypto.subtle.sign("HMAC", key, message);
2220
+ return new Uint8Array(mac);
2143
2221
  }
2144
- async function parseWebhookEvent(payload, signature, secret) {
2145
- const valid = await verifyWebhookSignature(payload, signature, secret);
2146
- if (!valid) {
2147
- throw new Error("Invalid webhook signature");
2222
+ function normalizeSignature(signature) {
2223
+ const normalized = signature.startsWith("sha256=") ? signature.slice(7) : signature;
2224
+ if (!/^[a-fA-F0-9]+$/.test(normalized) || normalized.length % 2 !== 0) {
2225
+ return void 0;
2148
2226
  }
2149
- return JSON.parse(payload);
2227
+ const bytes = new Uint8Array(normalized.length / 2);
2228
+ for (let index = 0; index < normalized.length; index += 2) {
2229
+ bytes[index / 2] = Number.parseInt(normalized.slice(index, index + 2), 16);
2230
+ }
2231
+ return bytes;
2232
+ }
2233
+ function constantTimeEqual(expected, actual) {
2234
+ const maxLength = Math.max(expected.length, actual.length);
2235
+ let diff = expected.length ^ actual.length;
2236
+ for (let index = 0; index < maxLength; index += 1) {
2237
+ diff |= (expected[index] ?? 0) ^ (actual[index] ?? 0);
2238
+ }
2239
+ return diff === 0;
2240
+ }
2241
+ function parseTimestamp(timestamp) {
2242
+ const numeric = Number(timestamp);
2243
+ if (Number.isFinite(numeric)) {
2244
+ return numeric < 1e12 ? numeric * 1e3 : numeric;
2245
+ }
2246
+ const parsed = Date.parse(timestamp);
2247
+ return Number.isNaN(parsed) ? void 0 : parsed;
2248
+ }
2249
+ function concatUint8Arrays(left, right) {
2250
+ const combined = new Uint8Array(left.length + right.length);
2251
+ combined.set(left, 0);
2252
+ combined.set(right, left.length);
2253
+ return combined;
2150
2254
  }
2151
2255
 
2152
2256
  // src/index.ts
@@ -2240,6 +2344,7 @@ export {
2240
2344
  ServerError,
2241
2345
  ServiceUnavailableError,
2242
2346
  ValidationError,
2347
+ WebhookVerificationError,
2243
2348
  actionId,
2244
2349
  agentId,
2245
2350
  apiKeyId,