@amigo-ai/platform-sdk 0.4.1 → 0.4.3

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 (65) hide show
  1. package/README.md +111 -0
  2. package/api.md +347 -0
  3. package/dist/core/errors.js +26 -4
  4. package/dist/core/errors.js.map +1 -1
  5. package/dist/core/openapi-client.js +164 -28
  6. package/dist/core/openapi-client.js.map +1 -1
  7. package/dist/core/request-options.js +80 -0
  8. package/dist/core/request-options.js.map +1 -0
  9. package/dist/core/retry.js +5 -2
  10. package/dist/core/retry.js.map +1 -1
  11. package/dist/core/utils.js +48 -2
  12. package/dist/core/utils.js.map +1 -1
  13. package/dist/core/webhooks.js +9 -0
  14. package/dist/core/webhooks.js.map +1 -1
  15. package/dist/index.cjs +538 -84
  16. package/dist/index.cjs.map +4 -4
  17. package/dist/index.js +113 -30
  18. package/dist/index.js.map +1 -1
  19. package/dist/index.mjs +538 -84
  20. package/dist/index.mjs.map +4 -4
  21. package/dist/resources/base.js +33 -0
  22. package/dist/resources/base.js.map +1 -1
  23. package/dist/types/core/errors.d.ts +6 -0
  24. package/dist/types/core/errors.d.ts.map +1 -1
  25. package/dist/types/core/openapi-client.d.ts +26 -1
  26. package/dist/types/core/openapi-client.d.ts.map +1 -1
  27. package/dist/types/core/request-options.d.ts +66 -0
  28. package/dist/types/core/request-options.d.ts.map +1 -0
  29. package/dist/types/core/retry.d.ts +1 -1
  30. package/dist/types/core/retry.d.ts.map +1 -1
  31. package/dist/types/core/utils.d.ts +27 -1
  32. package/dist/types/core/utils.d.ts.map +1 -1
  33. package/dist/types/core/webhooks.d.ts.map +1 -1
  34. package/dist/types/index.d.ts +31 -2
  35. package/dist/types/index.d.ts.map +1 -1
  36. package/dist/types/resources/actions.d.ts +5 -5
  37. package/dist/types/resources/agents.d.ts +7 -7
  38. package/dist/types/resources/analytics.d.ts +11 -11
  39. package/dist/types/resources/api-keys.d.ts +4 -4
  40. package/dist/types/resources/audit.d.ts +6 -6
  41. package/dist/types/resources/base.d.ts +8 -3
  42. package/dist/types/resources/base.d.ts.map +1 -1
  43. package/dist/types/resources/billing.d.ts +6 -6
  44. package/dist/types/resources/calls.d.ts +6 -6
  45. package/dist/types/resources/compliance.d.ts +3 -3
  46. package/dist/types/resources/context-graphs.d.ts +7 -7
  47. package/dist/types/resources/data-sources.d.ts +6 -6
  48. package/dist/types/resources/functions.d.ts +6 -6
  49. package/dist/types/resources/integrations.d.ts +6 -6
  50. package/dist/types/resources/memory.d.ts +3 -3
  51. package/dist/types/resources/operators.d.ts +18 -18
  52. package/dist/types/resources/personas.d.ts +4 -4
  53. package/dist/types/resources/phone-numbers.d.ts +5 -5
  54. package/dist/types/resources/recordings.d.ts +2 -2
  55. package/dist/types/resources/review-queue.d.ts +17 -17
  56. package/dist/types/resources/safety.d.ts +5 -5
  57. package/dist/types/resources/services.d.ts +4 -4
  58. package/dist/types/resources/settings.d.ts +14 -14
  59. package/dist/types/resources/simulations.d.ts +6 -6
  60. package/dist/types/resources/skills.d.ts +5 -5
  61. package/dist/types/resources/triggers.d.ts +8 -8
  62. package/dist/types/resources/webhook-destinations.d.ts +6 -6
  63. package/dist/types/resources/workspaces.d.ts +5 -5
  64. package/dist/types/resources/world.d.ts +18 -18
  65. package/package.json +6 -2
@@ -7,25 +7,118 @@
7
7
  */
8
8
  import createClientImport from 'openapi-fetch';
9
9
  import { createAuthMiddleware } from './auth.js';
10
- import { createApiError, NetworkError } from './errors.js';
10
+ import { createApiError, NetworkError, RequestTimeoutError } from './errors.js';
11
+ import { parseRateLimitHeaders } from './rate-limit.js';
12
+ import { stripRequestControls, } from './request-options.js';
11
13
  import { shouldRetry, computeDelay, resolveRetryOptions } from './retry.js';
14
+ import { extractRequestId } from './utils.js';
12
15
  // Handle ESM/CJS interop for openapi-fetch (esbuild __toESM wrapper)
13
16
  const createClient = typeof createClientImport === 'function'
14
17
  ? createClientImport
15
18
  : createClientImport.default;
19
+ const platformClientContext = new WeakMap();
16
20
  export function createPlatformClient(config) {
17
- const retryOpts = resolveRetryOptions(config.retry);
18
- const baseFetch = config.fetch ?? globalThis.fetch;
19
- // Wrap fetch with retry logic
20
- const retryingFetch = async (input, init) => {
21
- const method = (init?.method ?? 'GET').toUpperCase();
22
- const signal = init?.signal;
21
+ const transport = toRequestTransport(config.fetch ?? globalThis.fetch);
22
+ const defaults = {
23
+ retry: config.retry,
24
+ maxRetries: config.maxRetries,
25
+ timeout: config.timeout,
26
+ };
27
+ const client = createClient({
28
+ baseUrl: config.baseUrl,
29
+ fetch: createRetryingFetch(transport, defaults),
30
+ headers: config.headers,
31
+ });
32
+ platformClientContext.set(client, { transport, defaults });
33
+ // Error middleware — convert HTTP errors to typed AmigoError subclasses
34
+ const errorMiddleware = {
35
+ async onResponse({ response }) {
36
+ if (!response.ok) {
37
+ throw await createApiError(response);
38
+ }
39
+ return response;
40
+ },
41
+ };
42
+ // Auth middleware — attach Bearer token
43
+ const authMiddleware = createAuthMiddleware({ apiKey: config.apiKey });
44
+ const hookMiddleware = config.hooks
45
+ ? {
46
+ async onRequest({ request, schemaPath, id }) {
47
+ await config.hooks?.onRequest?.({ request, schemaPath, id });
48
+ return request;
49
+ },
50
+ async onResponse({ request, response, schemaPath, id }) {
51
+ await config.hooks?.onResponse?.({
52
+ id,
53
+ request,
54
+ response,
55
+ schemaPath,
56
+ requestId: extractRequestId(response),
57
+ rateLimit: parseRateLimitHeaders(response.headers),
58
+ });
59
+ return response;
60
+ },
61
+ async onError({ request, error, schemaPath, id }) {
62
+ await config.hooks?.onError?.({ id, request, error, schemaPath });
63
+ },
64
+ }
65
+ : undefined;
66
+ // Order: auth first (adds header), then error (converts failures)
67
+ client.use(authMiddleware);
68
+ client.use(errorMiddleware);
69
+ if (hookMiddleware) {
70
+ client.use(hookMiddleware);
71
+ }
72
+ return client;
73
+ }
74
+ export function applyPlatformRequestOptions(client, init) {
75
+ if (!init) {
76
+ return undefined;
77
+ }
78
+ const context = platformClientContext.get(client);
79
+ const stripped = stripRequestControls(init);
80
+ if (!context) {
81
+ return stripped;
82
+ }
83
+ const overrideFetch = stripped?.fetch;
84
+ const hasControlOverride = overrideFetch !== undefined ||
85
+ init.timeout !== undefined ||
86
+ init.maxRetries !== undefined ||
87
+ init.retry !== undefined;
88
+ if (!hasControlOverride) {
89
+ return stripped;
90
+ }
91
+ const transport = toRequestTransport((overrideFetch ?? context.transport));
92
+ const fetch = createRetryingFetch(transport, {
93
+ timeout: init.timeout ?? context.defaults.timeout,
94
+ maxRetries: init.maxRetries ?? context.defaults.maxRetries,
95
+ retry: init.retry ?? context.defaults.retry,
96
+ });
97
+ return {
98
+ ...stripped,
99
+ fetch,
100
+ };
101
+ }
102
+ function createRetryingFetch(transport, defaults) {
103
+ return async (input, init) => {
104
+ const baseRequest = input instanceof Request ? input : new Request(input, init);
105
+ const method = baseRequest.method.toUpperCase();
106
+ const retryOpts = resolveRetryOptions(defaults.retry, defaults.maxRetries);
107
+ const timeoutMs = defaults.timeout;
23
108
  const isIdempotent = method === 'GET' || method === 'HEAD' || method === 'OPTIONS';
24
109
  for (let attempt = 0; attempt < retryOpts.maxAttempts; attempt++) {
25
110
  let response;
26
111
  let error;
112
+ let timedOut = false;
27
113
  try {
28
- response = await baseFetch(input, init);
114
+ const prepared = prepareRequestForAttempt(baseRequest, timeoutMs);
115
+ try {
116
+ response = await transport(prepared.request);
117
+ }
118
+ finally {
119
+ timedOut = prepared.timedOut;
120
+ prepared.cleanup();
121
+ }
29
122
  }
30
123
  catch (err) {
31
124
  error = err;
@@ -35,6 +128,9 @@ export function createPlatformClient(config) {
35
128
  const ctx = { method, attempt, response: response, options: retryOpts };
36
129
  const attemptsRemain = attempt + 1 < retryOpts.maxAttempts;
37
130
  if (error) {
131
+ if (timedOut) {
132
+ throw new RequestTimeoutError(`Request timed out after ${timeoutMs}ms`, timeoutMs, error);
133
+ }
38
134
  if (isIdempotent && attemptsRemain) {
39
135
  await sleep(computeDelay(attempt, new Response(), retryOpts));
40
136
  continue;
@@ -43,7 +139,7 @@ export function createPlatformClient(config) {
43
139
  }
44
140
  if (response && attemptsRemain && shouldRetry(ctx)) {
45
141
  const delay = computeDelay(attempt, response, retryOpts);
46
- if (signal?.aborted)
142
+ if (baseRequest.signal.aborted)
47
143
  return response;
48
144
  await sleep(delay);
49
145
  continue;
@@ -52,27 +148,67 @@ export function createPlatformClient(config) {
52
148
  }
53
149
  throw new NetworkError('Retry loop exhausted');
54
150
  };
55
- const client = createClient({
56
- baseUrl: config.baseUrl,
57
- fetch: retryingFetch,
58
- });
59
- // Error middleware — convert HTTP errors to typed AmigoError subclasses
60
- const errorMiddleware = {
61
- async onResponse({ response }) {
62
- if (!response.ok) {
63
- throw await createApiError(response);
64
- }
65
- return response;
66
- },
67
- };
68
- // Auth middleware — attach Bearer token
69
- const authMiddleware = createAuthMiddleware({ apiKey: config.apiKey });
70
- // Order: auth first (adds header), then error (converts failures)
71
- client.use(authMiddleware);
72
- client.use(errorMiddleware);
73
- return client;
74
151
  }
75
152
  function sleep(ms) {
76
153
  return new Promise((resolve) => setTimeout(resolve, ms));
77
154
  }
155
+ function toRequestTransport(fetcher) {
156
+ return async (input) => fetcher(input);
157
+ }
158
+ function prepareRequestForAttempt(request, timeoutMs) {
159
+ const attemptRequest = request.clone();
160
+ const timeout = createTimeoutSignal(attemptRequest.signal, timeoutMs);
161
+ if (!timeout.signal) {
162
+ return {
163
+ request: attemptRequest,
164
+ timedOut: false,
165
+ cleanup: timeout.cleanup,
166
+ };
167
+ }
168
+ return {
169
+ request: new Request(attemptRequest, { signal: timeout.signal }),
170
+ get timedOut() {
171
+ return timeout.didTimeout;
172
+ },
173
+ cleanup: timeout.cleanup,
174
+ };
175
+ }
176
+ function createTimeoutSignal(upstream, timeoutMs) {
177
+ if (!timeoutMs || !Number.isFinite(timeoutMs) || timeoutMs <= 0) {
178
+ return {
179
+ signal: upstream ?? undefined,
180
+ didTimeout: false,
181
+ cleanup: () => { },
182
+ };
183
+ }
184
+ const controller = new AbortController();
185
+ let didTimeout = false;
186
+ const cleanups = [];
187
+ const onAbort = () => controller.abort(upstream?.reason);
188
+ if (upstream) {
189
+ if (upstream.aborted) {
190
+ controller.abort(upstream.reason);
191
+ }
192
+ else {
193
+ upstream.addEventListener('abort', onAbort, { once: true });
194
+ cleanups.push(() => upstream.removeEventListener('abort', onAbort));
195
+ }
196
+ }
197
+ const timer = setTimeout(() => {
198
+ didTimeout = true;
199
+ controller.abort();
200
+ }, timeoutMs);
201
+ cleanups.push(() => clearTimeout(timer));
202
+ return {
203
+ signal: controller.signal,
204
+ get didTimeout() {
205
+ return didTimeout;
206
+ },
207
+ cleanup: () => {
208
+ for (const cleanup of cleanups) {
209
+ cleanup();
210
+ }
211
+ },
212
+ };
213
+ }
78
214
  //# sourceMappingURL=openapi-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openapi-client.js","sourceRoot":"","sources":["../../src/core/openapi-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi-client.js","sourceRoot":"","sources":["../../src/core/openapi-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ export function stripRequestControls(options) {
2
+ if (!options) {
3
+ return undefined;
4
+ }
5
+ const rest = { ...options };
6
+ delete rest.timeout;
7
+ delete rest.maxRetries;
8
+ delete rest.retry;
9
+ return rest;
10
+ }
11
+ export function mergeRequestOptions(base, override) {
12
+ if (!base) {
13
+ return override;
14
+ }
15
+ if (!override) {
16
+ return base;
17
+ }
18
+ const mergeableOverride = override;
19
+ return {
20
+ ...base,
21
+ ...override,
22
+ headers: mergeHeaders(base.headers, mergeableOverride.headers),
23
+ signal: mergeableOverride.signal ?? base.signal,
24
+ timeout: mergeableOverride.timeout ?? base.timeout,
25
+ maxRetries: mergeableOverride.maxRetries ?? base.maxRetries,
26
+ retry: mergeableOverride.retry ?? base.retry,
27
+ };
28
+ }
29
+ export function mergeScopedRequestOptions(base, override) {
30
+ return mergeRequestOptions(base, override) ?? override;
31
+ }
32
+ export function mergeHeaders(base, override) {
33
+ if (!base && !override) {
34
+ return undefined;
35
+ }
36
+ const headers = new Headers();
37
+ let hasEntries = false;
38
+ applyHeaders(headers, base, () => {
39
+ hasEntries = true;
40
+ });
41
+ applyHeaders(headers, override, () => {
42
+ hasEntries = true;
43
+ });
44
+ return hasEntries ? headers : undefined;
45
+ }
46
+ function applyHeaders(target, source, onSet) {
47
+ if (!source) {
48
+ return;
49
+ }
50
+ if (source instanceof Headers) {
51
+ source.forEach((value, key) => {
52
+ target.set(key, value);
53
+ onSet();
54
+ });
55
+ return;
56
+ }
57
+ if (Array.isArray(source)) {
58
+ for (const [key, value] of source) {
59
+ if (!key) {
60
+ continue;
61
+ }
62
+ if (value === null || value === undefined) {
63
+ target.delete(key);
64
+ continue;
65
+ }
66
+ target.set(key, String(value));
67
+ onSet();
68
+ }
69
+ return;
70
+ }
71
+ for (const [key, value] of Object.entries(source)) {
72
+ if (value === null || value === undefined) {
73
+ target.delete(key);
74
+ continue;
75
+ }
76
+ target.set(key, Array.isArray(value) ? value.map((item) => String(item)).join(', ') : String(value));
77
+ onSet();
78
+ }
79
+ }
80
+ //# sourceMappingURL=request-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-options.js","sourceRoot":"","sources":["../../src/core/request-options.ts"],"names":[],"mappings":"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"}
@@ -38,9 +38,12 @@ function parseRetryAfterHeader(header) {
38
38
  }
39
39
  return undefined;
40
40
  }
41
- export function resolveRetryOptions(opts) {
41
+ export function resolveRetryOptions(opts, maxRetries) {
42
+ const maxAttempts = typeof maxRetries === 'number' && Number.isFinite(maxRetries)
43
+ ? Math.max(1, Math.floor(maxRetries) + 1)
44
+ : (opts?.maxAttempts ?? 3);
42
45
  return {
43
- maxAttempts: opts?.maxAttempts ?? 3,
46
+ maxAttempts,
44
47
  baseDelayMs: opts?.baseDelayMs ?? 250,
45
48
  maxDelayMs: opts?.maxDelayMs ?? 30_000,
46
49
  };
@@ -1 +1 @@
1
- {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/core/retry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AACtE,8EAA8E;AAC9E,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;AASlD,MAAM,UAAU,WAAW,CAAC,GAAiB;IAC3C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;IAClD,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW;QAAE,OAAO,KAAK,CAAA;IAEhD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;IAC9B,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1C,OAAO,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,IAAI,2BAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACjE,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC5C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,QAAkB,EAAE,OAA+B;IAC/F,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC5D,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAA;QACvD,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,OAAO,GAAG,IAAI,CAAA;IAClD,CAAC;IAED,6FAA6F;IAC7F,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;IAC5F,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,CAAA;AACpC,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAA;IACnC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IACrE,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAmB;IACrD,OAAO;QACL,WAAW,EAAE,IAAI,EAAE,WAAW,IAAI,CAAC;QACnC,WAAW,EAAE,IAAI,EAAE,WAAW,IAAI,GAAG;QACrC,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,MAAM;KACvC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/core/retry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AACtE,8EAA8E;AAC9E,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;AASlD,MAAM,UAAU,WAAW,CAAC,GAAiB;IAC3C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;IAClD,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW;QAAE,OAAO,KAAK,CAAA;IAEhD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;IAC9B,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1C,OAAO,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,IAAI,2BAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACjE,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC5C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,OAAe,EACf,QAAkB,EAClB,OAA+B;IAE/B,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC5D,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAA;QACvD,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,OAAO,GAAG,IAAI,CAAA;IAClD,CAAC;IAED,6FAA6F;IAC7F,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;IAC5F,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,CAAA;AACpC,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAA;IACnC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IACrE,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,IAAmB,EACnB,UAAmB;IAEnB,MAAM,WAAW,GACf,OAAO,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC3D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,IAAI,CAAC,CAAC,CAAA;IAE9B,OAAO;QACL,WAAW;QACX,WAAW,EAAE,IAAI,EAAE,WAAW,IAAI,GAAG;QACrC,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,MAAM;KACvC,CAAA;AACH,CAAC"}
@@ -2,15 +2,38 @@
2
2
  * Shared utilities: response extraction and pagination helpers.
3
3
  */
4
4
  import { ParseError } from './errors.js';
5
+ import { parseRateLimitHeaders } from './rate-limit.js';
6
+ export function extractRequestId(response) {
7
+ return response.headers.get('x-request-id');
8
+ }
9
+ export function buildLastResponse(response) {
10
+ return {
11
+ requestId: extractRequestId(response),
12
+ statusCode: response.status,
13
+ headers: response.headers,
14
+ rateLimit: parseRateLimitHeaders(response.headers),
15
+ };
16
+ }
5
17
  /**
6
18
  * Extracts the data payload from an openapi-fetch response,
7
19
  * throwing ParseError if the response is empty or unexpected.
8
20
  */
9
21
  export function extractData(result) {
10
- if (result.data !== undefined)
11
- return result.data;
22
+ if (result.data !== undefined) {
23
+ return attachResponseMetadata(result.data, result.response);
24
+ }
12
25
  throw new ParseError('Unexpected empty response from API', result.error !== undefined ? JSON.stringify(result.error) : undefined);
13
26
  }
27
+ export function withResponse(result) {
28
+ const data = extractData(result);
29
+ const lastResponse = buildLastResponse(result.response);
30
+ return {
31
+ data,
32
+ response: result.response,
33
+ requestId: lastResponse.requestId,
34
+ rateLimit: lastResponse.rateLimit,
35
+ };
36
+ }
14
37
  /**
15
38
  * Async iterator that auto-paginates through all pages.
16
39
  * Yields one item at a time.
@@ -32,4 +55,27 @@ export async function* paginate(fetcher) {
32
55
  token = page.continuation_token;
33
56
  }
34
57
  }
58
+ function attachResponseMetadata(data, response) {
59
+ if (!response || typeof data !== 'object' || data === null) {
60
+ return data;
61
+ }
62
+ const target = data;
63
+ const lastResponse = buildLastResponse(response);
64
+ defineHiddenMetadata(target, '_request_id', lastResponse.requestId);
65
+ defineHiddenMetadata(target, 'lastResponse', lastResponse);
66
+ return target;
67
+ }
68
+ function defineHiddenMetadata(target, key, value) {
69
+ try {
70
+ Object.defineProperty(target, key, {
71
+ value,
72
+ enumerable: false,
73
+ configurable: true,
74
+ writable: false,
75
+ });
76
+ }
77
+ catch {
78
+ // Ignore non-extensible return values.
79
+ }
80
+ }
35
81
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAI,MAAqC;IAClE,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,IAAI,CAAA;IACjD,MAAM,IAAI,UAAU,CAClB,oCAAoC,EACpC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CACtE,CAAA;AACH,CAAC;AAqBD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,QAAQ,CAC7B,OAAkE;IAElE,IAAI,KAAK,GAAuB,SAAS,CAAA;IACzC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAA;QACjC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAA;QACZ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI;YAAE,MAAK;QAC7D,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAA;IACjC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  const textEncoder = new TextEncoder();
2
2
  const MAX_TIMESTAMP_SKEW_MS = 5 * 60 * 1000;
3
+ let webCryptoPromise;
3
4
  export class WebhookVerificationError extends Error {
4
5
  constructor(message) {
5
6
  super(message);
@@ -90,6 +91,7 @@ function toUint8Array(payload) {
90
91
  return new Uint8Array(payload);
91
92
  }
92
93
  async function signWebhookPayload(payload, secret, timestamp) {
94
+ const crypto = await resolveWebCrypto();
93
95
  const key = await crypto.subtle.importKey('raw', textEncoder.encode(secret), { name: 'HMAC', hash: 'SHA-256' }, false, ['sign']);
94
96
  const message = timestamp
95
97
  ? concatUint8Arrays(textEncoder.encode(`v1:${timestamp}:`), payload)
@@ -97,6 +99,13 @@ async function signWebhookPayload(payload, secret, timestamp) {
97
99
  const mac = await crypto.subtle.sign('HMAC', key, toCryptoBuffer(message));
98
100
  return new Uint8Array(mac);
99
101
  }
102
+ async function resolveWebCrypto() {
103
+ if (globalThis.crypto?.subtle) {
104
+ return globalThis.crypto;
105
+ }
106
+ webCryptoPromise ??= import('node:crypto').then(({ webcrypto }) => webcrypto);
107
+ return await webCryptoPromise;
108
+ }
100
109
  function normalizeSignature(signature) {
101
110
  const normalized = signature.startsWith('sha256=') ? signature.slice(7) : signature;
102
111
  if (!/^[a-fA-F0-9]+$/.test(normalized) || normalized.length % 2 !== 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/core/webhooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/core/webhooks.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAA;AACrC,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AAG3C,IAAI,gBAAoD,CAAA;AAwBxD,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAA;QACtC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACnD,CAAC;CACF;AAQD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,gBAAgF,EAChF,SAAkB,EAClB,MAAe;IAEf,MAAM,OAAO,GAAG,4BAA4B,CAAC,gBAAgB,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IACjF,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAClD,MAAM,iBAAiB,GAAG,MAAM,kBAAkB,CAChD,YAAY,EACZ,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,SAAS,CAClB,CAAA;IACD,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAE7D,IAAI,CAAC,eAAe,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,eAAe,CAAC,EAAE,CAAC;QAC/E,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACrD,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QAE3C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,qBAAqB,CAAA;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,IAAI,WAAW,GAAG,GAAG,GAAG,QAAQ,IAAI,GAAG,GAAG,WAAW,GAAG,QAAQ,EAAE,CAAC;YACjE,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAUD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,gBAAsD,EACtD,SAAkB,EAClB,MAAe;IAEf,MAAM,OAAO,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IAC1E,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAA;IAEnD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,wBAAwB,CAAC,sCAAsC,CAAC,CAAA;IAC5E,CAAC;IAED,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAElD,IAAI,KAAsB,CAAA;IAC1B,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAoB,CAAA;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,wBAAwB,CAAC,8BAA8B,CAAC,CAAA;IACpE,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC;QAChE,MAAM,IAAI,wBAAwB,CAChC,2CAA2C,OAAO,CAAC,YAAY,cAAc,KAAK,CAAC,IAAI,EAAE,CAC1F,CAAA;IACH,CAAC;IAED,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAA;IACzB,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,4BAA4B,CACnC,gBAAgF,EAChF,SAAkB,EAClB,MAAe;IAEf,IACE,OAAO,gBAAgB,KAAK,QAAQ;QACpC,gBAAgB,KAAK,IAAI;QACzB,SAAS,IAAI,gBAAgB,EAC7B,CAAC;QACD,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAA;IAC1D,CAAC;IAED,OAAO;QACL,OAAO,EAAE,gBAAgB;QACzB,SAAS;QACT,MAAM;KACP,CAAA;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,gBAAsD,EACtD,SAAkB,EAClB,MAAe;IAEf,IACE,OAAO,gBAAgB,KAAK,QAAQ;QACpC,gBAAgB,KAAK,IAAI;QACzB,SAAS,IAAI,gBAAgB,EAC7B,CAAC;QACD,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAA;IAC1D,CAAC;IAED,OAAO;QACL,OAAO,EAAE,gBAAgB;QACzB,SAAS;QACT,MAAM;KACP,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,OAA0C;IAC/D,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAA;IAC/C,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;AACxD,CAAC;AAED,SAAS,YAAY,CAAC,OAA0C;IAC9D,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACnE,IAAI,OAAO,YAAY,UAAU;QAAE,OAAO,OAAO,CAAA;IACjD,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAA;AAChC,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,OAAmB,EACnB,MAAc,EACd,SAAkB;IAElB,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAA;IACvC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CACvC,KAAK,EACL,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAC1B,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EACjC,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAA;IAED,MAAM,OAAO,GAAG,SAAS;QACvB,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAE,OAAO,CAAC;QACpE,CAAC,CAAC,OAAO,CAAA;IAEX,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;IAC1E,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;AAC5B,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAC9B,OAAO,UAAU,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED,gBAAgB,KAAK,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAA0B,CAAC,CAAA;IAC9F,OAAO,MAAM,gBAAgB,CAAA;AAC/B,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB;IAC3C,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACnF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACtE,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACnD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAC5E,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAoB,EAAE,MAAkB;IACjE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAC1D,IAAI,IAAI,GAAG,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAE1C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IACvD,CAAC;IAED,OAAO,IAAI,KAAK,CAAC,CAAA;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,SAAiB;IACvC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;IACjC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAA;IAC/D,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACpC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAA;AAClD,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAgB,EAAE,KAAiB;IAC5D,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;IAC3D,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACrB,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAChC,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,KAAiB;IACvC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACnC,OAAO,IAAI,CAAC,MAAM,CAAA;AACpB,CAAC"}