@xylex-group/athena 2.0.0 → 2.3.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 (48) hide show
  1. package/README.md +287 -95
  2. package/dist/browser.cjs +4791 -0
  3. package/dist/browser.cjs.map +1 -0
  4. package/dist/browser.d.cts +25 -0
  5. package/dist/browser.d.ts +25 -0
  6. package/dist/browser.js +4745 -0
  7. package/dist/browser.js.map +1 -0
  8. package/dist/cli/index.cjs +2087 -220
  9. package/dist/cli/index.cjs.map +1 -1
  10. package/dist/cli/index.d.cts +3 -2
  11. package/dist/cli/index.d.ts +3 -2
  12. package/dist/cli/index.js +2089 -222
  13. package/dist/cli/index.js.map +1 -1
  14. package/dist/cookies.cjs +890 -0
  15. package/dist/cookies.cjs.map +1 -0
  16. package/dist/cookies.d.cts +174 -0
  17. package/dist/cookies.d.ts +174 -0
  18. package/dist/cookies.js +869 -0
  19. package/dist/cookies.js.map +1 -0
  20. package/dist/index.cjs +3046 -1200
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.cts +8 -408
  23. package/dist/index.d.ts +8 -408
  24. package/dist/index.js +3045 -1202
  25. package/dist/index.js.map +1 -1
  26. package/dist/{model-form-CVOtC8jq.d.ts → model-form-BpDXlbxb.d.ts} +97 -2
  27. package/dist/{model-form-hXkvHS_3.d.cts → model-form-hoE2jHIi.d.cts} +97 -2
  28. package/dist/pipeline-BNIw8pDQ.d.ts +8 -0
  29. package/dist/pipeline-DNIpEsN8.d.cts +8 -0
  30. package/dist/react-email-BvyCZnfW.d.cts +610 -0
  31. package/dist/react-email-qPA1wjFV.d.ts +610 -0
  32. package/dist/react.cjs +30 -9
  33. package/dist/react.cjs.map +1 -1
  34. package/dist/react.d.cts +4 -4
  35. package/dist/react.d.ts +4 -4
  36. package/dist/react.js +30 -9
  37. package/dist/react.js.map +1 -1
  38. package/dist/{types-BnzoaNRC.d.cts → types-A5e97acl.d.cts} +2 -1
  39. package/dist/{types-BnzoaNRC.d.ts → types-A5e97acl.d.ts} +2 -1
  40. package/dist/{pipeline-CQgV-Yfo.d.ts → types-BnD22-vb.d.ts} +2 -7
  41. package/dist/{pipeline-C-cN0ACi.d.cts → types-bDlr4u7p.d.cts} +2 -7
  42. package/dist/utils.cjs +153 -0
  43. package/dist/utils.cjs.map +1 -0
  44. package/dist/utils.d.cts +23 -0
  45. package/dist/utils.d.ts +23 -0
  46. package/dist/utils.js +146 -0
  47. package/dist/utils.js.map +1 -0
  48. package/package.json +87 -9
package/dist/react.d.cts CHANGED
@@ -1,7 +1,7 @@
1
- import { L as AthenaGatewayHookConfig, N as AthenaGatewayHookResult } from './types-BnzoaNRC.cjs';
2
- export { O as AthenaDeletePayload, P as AthenaFetchPayload, f as AthenaGatewayCallOptions, r as AthenaGatewayErrorCode, g as AthenaGatewayErrorDetails, Q as AthenaGatewayResponse, V as AthenaInsertPayload, s as AthenaJsonArray, h as AthenaJsonObject, t as AthenaJsonPrimitive, A as AthenaJsonValue, i as AthenaRpcCallOptions, u as AthenaRpcFilter, v as AthenaRpcFilterOperator, w as AthenaRpcOrder, x as AthenaRpcPayload, W as AthenaUpdatePayload } from './types-BnzoaNRC.cjs';
3
- import { a7 as AthenaAuthFetchCompatibleInput, d as AthenaAuthCallOptions, y as AthenaAuthSessionResponse, i as AthenaAuthErrorDetails, v as AthenaAuthResult } from './model-form-hXkvHS_3.cjs';
4
- export { O as AthenaGatewayError, Z as ModelFormAdapter, _ as ModelFormDefaults, $ as ModelFormNullishMode, a0 as ModelFormValues, a1 as ToModelFormDefaultsOptions, a2 as ToModelPayloadOptions, a3 as createModelFormAdapter, a4 as isAthenaGatewayError, a5 as toModelFormDefaults, a6 as toModelPayload } from './model-form-hXkvHS_3.cjs';
1
+ import { L as AthenaGatewayHookConfig, N as AthenaGatewayHookResult } from './types-A5e97acl.cjs';
2
+ export { O as AthenaDeletePayload, P as AthenaFetchPayload, a as AthenaGatewayCallOptions, b as AthenaGatewayErrorCode, c as AthenaGatewayErrorDetails, Q as AthenaGatewayResponse, V as AthenaInsertPayload, d as AthenaJsonArray, e as AthenaJsonObject, f as AthenaJsonPrimitive, g as AthenaJsonValue, h as AthenaRpcCallOptions, i as AthenaRpcFilter, j as AthenaRpcFilterOperator, k as AthenaRpcOrder, l as AthenaRpcPayload, W as AthenaUpdatePayload } from './types-A5e97acl.cjs';
3
+ import { aj as AthenaAuthFetchCompatibleInput, b as AthenaAuthCallOptions, L as AthenaAuthSessionResponse, m as AthenaAuthErrorDetails, H as AthenaAuthResult } from './model-form-hoE2jHIi.cjs';
4
+ export { _ as AthenaGatewayError, a9 as ModelFormAdapter, aa as ModelFormDefaults, ab as ModelFormNullishMode, ac as ModelFormValues, ad as ToModelFormDefaultsOptions, ae as ToModelPayloadOptions, af as createModelFormAdapter, ag as isAthenaGatewayError, ah as toModelFormDefaults, ai as toModelPayload } from './model-form-hoE2jHIi.cjs';
5
5
  import * as react from 'react';
6
6
  import { ReactNode } from 'react';
7
7
 
package/dist/react.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { L as AthenaGatewayHookConfig, N as AthenaGatewayHookResult } from './types-BnzoaNRC.js';
2
- export { O as AthenaDeletePayload, P as AthenaFetchPayload, f as AthenaGatewayCallOptions, r as AthenaGatewayErrorCode, g as AthenaGatewayErrorDetails, Q as AthenaGatewayResponse, V as AthenaInsertPayload, s as AthenaJsonArray, h as AthenaJsonObject, t as AthenaJsonPrimitive, A as AthenaJsonValue, i as AthenaRpcCallOptions, u as AthenaRpcFilter, v as AthenaRpcFilterOperator, w as AthenaRpcOrder, x as AthenaRpcPayload, W as AthenaUpdatePayload } from './types-BnzoaNRC.js';
3
- import { a7 as AthenaAuthFetchCompatibleInput, d as AthenaAuthCallOptions, y as AthenaAuthSessionResponse, i as AthenaAuthErrorDetails, v as AthenaAuthResult } from './model-form-CVOtC8jq.js';
4
- export { O as AthenaGatewayError, Z as ModelFormAdapter, _ as ModelFormDefaults, $ as ModelFormNullishMode, a0 as ModelFormValues, a1 as ToModelFormDefaultsOptions, a2 as ToModelPayloadOptions, a3 as createModelFormAdapter, a4 as isAthenaGatewayError, a5 as toModelFormDefaults, a6 as toModelPayload } from './model-form-CVOtC8jq.js';
1
+ import { L as AthenaGatewayHookConfig, N as AthenaGatewayHookResult } from './types-A5e97acl.js';
2
+ export { O as AthenaDeletePayload, P as AthenaFetchPayload, a as AthenaGatewayCallOptions, b as AthenaGatewayErrorCode, c as AthenaGatewayErrorDetails, Q as AthenaGatewayResponse, V as AthenaInsertPayload, d as AthenaJsonArray, e as AthenaJsonObject, f as AthenaJsonPrimitive, g as AthenaJsonValue, h as AthenaRpcCallOptions, i as AthenaRpcFilter, j as AthenaRpcFilterOperator, k as AthenaRpcOrder, l as AthenaRpcPayload, W as AthenaUpdatePayload } from './types-A5e97acl.js';
3
+ import { aj as AthenaAuthFetchCompatibleInput, b as AthenaAuthCallOptions, L as AthenaAuthSessionResponse, m as AthenaAuthErrorDetails, H as AthenaAuthResult } from './model-form-BpDXlbxb.js';
4
+ export { _ as AthenaGatewayError, a9 as ModelFormAdapter, aa as ModelFormDefaults, ab as ModelFormNullishMode, ac as ModelFormValues, ad as ToModelFormDefaultsOptions, ae as ToModelPayloadOptions, af as createModelFormAdapter, ag as isAthenaGatewayError, ah as toModelFormDefaults, ai as toModelPayload } from './model-form-BpDXlbxb.js';
5
5
  import * as react from 'react';
6
6
  import { ReactNode } from 'react';
7
7
 
package/dist/react.js CHANGED
@@ -91,23 +91,39 @@ function normalizeHeaderValue(value) {
91
91
  function isRecord(value) {
92
92
  return Boolean(value) && typeof value === "object" && !Array.isArray(value);
93
93
  }
94
+ function nonEmptyString(value) {
95
+ return typeof value === "string" && value.trim().length > 0 ? value.trim() : void 0;
96
+ }
97
+ function resolveStructuredErrorPayload(payload) {
98
+ if (!isRecord(payload)) return null;
99
+ return isRecord(payload.error) ? payload.error : payload;
100
+ }
94
101
  function resolveRequestId(headers) {
95
102
  return headers.get("x-request-id") ?? headers.get("x-correlation-id") ?? headers.get("x-athena-request-id") ?? void 0;
96
103
  }
97
104
  function resolveErrorMessage(payload, fallback) {
98
- if (isRecord(payload)) {
99
- const messageCandidates = [payload.error, payload.message, payload.details];
105
+ const structuredPayload = resolveStructuredErrorPayload(payload);
106
+ if (structuredPayload) {
107
+ const messageCandidates = [structuredPayload.message, structuredPayload.error, structuredPayload.details];
100
108
  for (const candidate of messageCandidates) {
101
- if (typeof candidate === "string" && candidate.trim().length > 0) {
102
- return candidate.trim();
103
- }
109
+ const resolved = nonEmptyString(candidate);
110
+ if (resolved) return resolved;
104
111
  }
105
112
  }
106
- if (typeof payload === "string" && payload.trim().length > 0) {
107
- return payload.trim();
108
- }
113
+ const rawMessage = nonEmptyString(payload);
114
+ if (rawMessage) return rawMessage;
109
115
  return fallback;
110
116
  }
117
+ function resolveErrorHint(payload) {
118
+ const structuredPayload = resolveStructuredErrorPayload(payload);
119
+ return structuredPayload ? nonEmptyString(structuredPayload.hint) : void 0;
120
+ }
121
+ function resolveStatusText(response, payload) {
122
+ const rawStatusText = nonEmptyString(response.statusText);
123
+ if (rawStatusText) return rawStatusText;
124
+ const payloadRecord = isRecord(payload) ? payload : null;
125
+ return payloadRecord ? nonEmptyString(payloadRecord.statusText) ?? null : null;
126
+ }
111
127
  function detailsFromError(error) {
112
128
  return error.toDetails();
113
129
  }
@@ -278,6 +294,7 @@ async function callAthena(config, endpoint, method, payload, options) {
278
294
  return {
279
295
  ok: false,
280
296
  status: response.status,
297
+ statusText: resolveStatusText(response, parsedBody.parsed),
281
298
  data: null,
282
299
  error: invalidJsonError.message,
283
300
  errorDetails: detailsFromError(invalidJsonError),
@@ -296,11 +313,13 @@ async function callAthena(config, endpoint, method, payload, options) {
296
313
  status: response.status,
297
314
  endpoint,
298
315
  method,
299
- requestId
316
+ requestId,
317
+ hint: resolveErrorHint(parsed)
300
318
  });
301
319
  return {
302
320
  ok: false,
303
321
  status: response.status,
322
+ statusText: resolveStatusText(response, parsed),
304
323
  data: null,
305
324
  error: httpError.message,
306
325
  errorDetails: detailsFromError(httpError),
@@ -312,6 +331,7 @@ async function callAthena(config, endpoint, method, payload, options) {
312
331
  return {
313
332
  ok: true,
314
333
  status: response.status,
334
+ statusText: resolveStatusText(response, parsed),
315
335
  data: payloadData ?? null,
316
336
  count: payloadCount,
317
337
  error: void 0,
@@ -331,6 +351,7 @@ async function callAthena(config, endpoint, method, payload, options) {
331
351
  return {
332
352
  ok: false,
333
353
  status: 0,
354
+ statusText: null,
334
355
  data: null,
335
356
  error: networkError.message,
336
357
  errorDetails: detailsFromError(networkError),