@omnixhq/ucp-client 0.2.0 → 0.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 (62) hide show
  1. package/README.md +35 -2
  2. package/dist/adapters/anthropic.cjs +9 -5
  3. package/dist/adapters/anthropic.cjs.map +1 -1
  4. package/dist/adapters/anthropic.d.cts +3 -3
  5. package/dist/adapters/anthropic.d.cts.map +1 -1
  6. package/dist/adapters/anthropic.d.ts +3 -3
  7. package/dist/adapters/anthropic.d.ts.map +1 -1
  8. package/dist/adapters/anthropic.js +10 -5
  9. package/dist/adapters/anthropic.js.map +1 -1
  10. package/dist/adapters/langchain.cjs +4 -2
  11. package/dist/adapters/langchain.cjs.map +1 -1
  12. package/dist/adapters/langchain.d.cts +2 -2
  13. package/dist/adapters/langchain.d.cts.map +1 -1
  14. package/dist/adapters/langchain.d.ts +2 -2
  15. package/dist/adapters/langchain.d.ts.map +1 -1
  16. package/dist/adapters/langchain.js +5 -2
  17. package/dist/adapters/langchain.js.map +1 -1
  18. package/dist/adapters/mcp.cjs +9 -5
  19. package/dist/adapters/mcp.cjs.map +1 -1
  20. package/dist/adapters/mcp.d.cts +3 -3
  21. package/dist/adapters/mcp.d.cts.map +1 -1
  22. package/dist/adapters/mcp.d.ts +3 -3
  23. package/dist/adapters/mcp.d.ts.map +1 -1
  24. package/dist/adapters/mcp.js +10 -5
  25. package/dist/adapters/mcp.js.map +1 -1
  26. package/dist/adapters/openai.cjs +9 -5
  27. package/dist/adapters/openai.cjs.map +1 -1
  28. package/dist/adapters/openai.d.cts +3 -3
  29. package/dist/adapters/openai.d.cts.map +1 -1
  30. package/dist/adapters/openai.d.ts +3 -3
  31. package/dist/adapters/openai.d.ts.map +1 -1
  32. package/dist/adapters/openai.js +10 -5
  33. package/dist/adapters/openai.js.map +1 -1
  34. package/dist/adapters/vercel-ai.cjs +4 -2
  35. package/dist/adapters/vercel-ai.cjs.map +1 -1
  36. package/dist/adapters/vercel-ai.d.cts +2 -2
  37. package/dist/adapters/vercel-ai.d.cts.map +1 -1
  38. package/dist/adapters/vercel-ai.d.ts +2 -2
  39. package/dist/adapters/vercel-ai.d.ts.map +1 -1
  40. package/dist/adapters/vercel-ai.js +5 -2
  41. package/dist/adapters/vercel-ai.js.map +1 -1
  42. package/dist/catch-errors-BZP237w4.cjs +31 -0
  43. package/dist/catch-errors-BZP237w4.cjs.map +1 -0
  44. package/dist/{agent-tools-o2PEyGqh.d.cts → catch-errors-CbIHeFvF.d.cts} +13 -2
  45. package/dist/catch-errors-CbIHeFvF.d.cts.map +1 -0
  46. package/dist/catch-errors-Cpn2vHir.js +25 -0
  47. package/dist/catch-errors-Cpn2vHir.js.map +1 -0
  48. package/dist/{agent-tools-DBOuuSEd.d.ts → catch-errors-H8gObrht.d.ts} +13 -2
  49. package/dist/catch-errors-H8gObrht.d.ts.map +1 -0
  50. package/dist/errors-C1XqxNmZ.cjs +77 -0
  51. package/dist/errors-C1XqxNmZ.cjs.map +1 -0
  52. package/dist/errors-DX7yw6Gl.js +52 -0
  53. package/dist/errors-DX7yw6Gl.js.map +1 -0
  54. package/dist/index.cjs +137 -63
  55. package/dist/index.cjs.map +1 -1
  56. package/dist/index.d.cts +2 -2
  57. package/dist/index.d.ts +2 -2
  58. package/dist/index.js +124 -50
  59. package/dist/index.js.map +1 -1
  60. package/package.json +27 -4
  61. package/dist/agent-tools-DBOuuSEd.d.ts.map +0 -1
  62. package/dist/agent-tools-o2PEyGqh.d.cts.map +0 -1
@@ -1,4 +1,4 @@
1
- import { AgentTool, JsonSchema } from "../agent-tools-o2PEyGqh.cjs";
1
+ import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-CbIHeFvF.cjs";
2
2
 
3
3
  //#region src/adapters/vercel-ai.d.ts
4
4
  interface VercelAIToolDefinition {
@@ -7,7 +7,7 @@ interface VercelAIToolDefinition {
7
7
  readonly execute: (args: Record<string, unknown>) => Promise<string>;
8
8
  }
9
9
  type VercelAIToolMap = Record<string, VercelAIToolDefinition>;
10
- declare function toVercelAITools(agentTools: readonly AgentTool[]): VercelAIToolMap;
10
+ declare function toVercelAITools(agentTools: readonly AgentTool[], options?: AdapterOptions): VercelAIToolMap;
11
11
 
12
12
  //#endregion
13
13
  //# sourceMappingURL=vercel-ai.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vercel-ai.d.cts","names":[],"sources":["../../src/adapters/vercel-ai.ts"],"sourcesContent":null,"mappings":";;;UAIiB,sBAAA;EAAA,SAAA,WAAA,EAAA,MAAsB;EAAA,SAAA,UAAA,EAEhB,UAFgB;EAAA,SAEhB,OAAA,EAAA,CAAA,IAAA,EACI,MADJ,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,GACgC,OADhC,CAAA,MAAA,CAAA;;AACgC,KAG3C,eAAA,GAAkB,MAHyB,CAAA,MAAA,EAGV,sBAHU,CAAA;AAAO,iBAK9C,eAAA,CAL8C,UAAA,EAAA,SAKT,SALS,EAAA,CAAA,EAKK,eALL;;;AAG9D"}
1
+ {"version":3,"file":"vercel-ai.d.cts","names":[],"sources":["../../src/adapters/vercel-ai.ts"],"sourcesContent":null,"mappings":";;;AAKiB,UAAA,sBAAA,CAAsB;EAAA,SAAA,WAAA,EAAA,MAAA;EAAA,SAEhB,UAAA,EAAA,UAAA;EAAU,SACN,OAAA,EAAA,CAAA,IAAA,EAAA,MAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,GAA4B,OAA5B,CAAA,MAAA,CAAA;;AAAmC,KAGlD,eAAA,GAAkB,MAHgC,CAAA,MAAA,EAGjB,sBAHiB,CAAA;AAGlD,iBAEI,eAAA,CAFW,UAAA,EAAA,SAGJ,SAHI,EAAA,EAAA,OAAA,CAAA,EAIf,cAJe,CAAA,EAKxB,eALwB"}
@@ -1,4 +1,4 @@
1
- import { AgentTool, JsonSchema } from "../agent-tools-DBOuuSEd.js";
1
+ import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-H8gObrht.js";
2
2
 
3
3
  //#region src/adapters/vercel-ai.d.ts
4
4
  interface VercelAIToolDefinition {
@@ -7,7 +7,7 @@ interface VercelAIToolDefinition {
7
7
  readonly execute: (args: Record<string, unknown>) => Promise<string>;
8
8
  }
9
9
  type VercelAIToolMap = Record<string, VercelAIToolDefinition>;
10
- declare function toVercelAITools(agentTools: readonly AgentTool[]): VercelAIToolMap;
10
+ declare function toVercelAITools(agentTools: readonly AgentTool[], options?: AdapterOptions): VercelAIToolMap;
11
11
 
12
12
  //#endregion
13
13
  //# sourceMappingURL=vercel-ai.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vercel-ai.d.ts","names":[],"sources":["../../src/adapters/vercel-ai.ts"],"sourcesContent":null,"mappings":";;;UAIiB,sBAAA;EAAA,SAAA,WAAA,EAAA,MAAsB;EAAA,SAAA,UAAA,EAEhB,UAFgB;EAAA,SAEhB,OAAA,EAAA,CAAA,IAAA,EACI,MADJ,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,GACgC,OADhC,CAAA,MAAA,CAAA;;AACgC,KAG3C,eAAA,GAAkB,MAHyB,CAAA,MAAA,EAGV,sBAHU,CAAA;AAAO,iBAK9C,eAAA,CAL8C,UAAA,EAAA,SAKT,SALS,EAAA,CAAA,EAKK,eALL;;;AAG9D"}
1
+ {"version":3,"file":"vercel-ai.d.ts","names":[],"sources":["../../src/adapters/vercel-ai.ts"],"sourcesContent":null,"mappings":";;;AAKiB,UAAA,sBAAA,CAAsB;EAAA,SAAA,WAAA,EAAA,MAAA;EAAA,SAEhB,UAAA,EAAA,UAAA;EAAU,SACN,OAAA,EAAA,CAAA,IAAA,EAAA,MAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,GAA4B,OAA5B,CAAA,MAAA,CAAA;;AAAmC,KAGlD,eAAA,GAAkB,MAHgC,CAAA,MAAA,EAGjB,sBAHiB,CAAA;AAGlD,iBAEI,eAAA,CAFW,UAAA,EAAA,SAGJ,SAHI,EAAA,EAAA,OAAA,CAAA,EAIf,cAJe,CAAA,EAKxB,eALwB"}
@@ -1,10 +1,13 @@
1
+ import "../errors-DX7yw6Gl.js";
2
+ import { safeExecute } from "../catch-errors-Cpn2vHir.js";
3
+
1
4
  //#region src/adapters/vercel-ai.ts
2
- function toVercelAITools(agentTools) {
5
+ function toVercelAITools(agentTools, options) {
3
6
  return Object.fromEntries(agentTools.map((tool) => [tool.name, {
4
7
  description: tool.description,
5
8
  parameters: tool.parameters,
6
9
  execute: async (args) => {
7
- const result = await tool.execute(args);
10
+ const result = await safeExecute(() => tool.execute(args), options?.catchErrors ?? false);
8
11
  return JSON.stringify(result);
9
12
  }
10
13
  }]));
@@ -1 +1 @@
1
- {"version":3,"file":"vercel-ai.js","names":["agentTools: readonly AgentTool[]","args: Record<string, unknown>"],"sources":["../../src/adapters/vercel-ai.ts"],"sourcesContent":["import type { AgentTool, JsonSchema } from '../agent-tools.js';\n\nexport type { AgentTool, JsonSchema };\n\nexport interface VercelAIToolDefinition {\n readonly description: string;\n readonly parameters: JsonSchema;\n readonly execute: (args: Record<string, unknown>) => Promise<string>;\n}\n\nexport type VercelAIToolMap = Record<string, VercelAIToolDefinition>;\n\nexport function toVercelAITools(agentTools: readonly AgentTool[]): VercelAIToolMap {\n return Object.fromEntries(\n agentTools.map((tool) => [\n tool.name,\n {\n description: tool.description,\n parameters: tool.parameters,\n execute: async (args: Record<string, unknown>): Promise<string> => {\n const result = await tool.execute(args);\n return JSON.stringify(result);\n },\n },\n ]),\n );\n}\n"],"mappings":";AAYA,SAAgB,gBAAgBA,YAAmD;AACjF,QAAO,OAAO,YACZ,WAAW,IAAI,CAAC,SAAS,CACvB,KAAK,MACL;EACE,aAAa,KAAK;EAClB,YAAY,KAAK;EACjB,SAAS,OAAOC,SAAmD;GACjE,MAAM,SAAS,MAAM,KAAK,QAAQ,KAAK;AACvC,UAAO,KAAK,UAAU,OAAO;EAC9B;CACF,CACF,EAAC,CACH;AACF"}
1
+ {"version":3,"file":"vercel-ai.js","names":["agentTools: readonly AgentTool[]","options?: AdapterOptions","args: Record<string, unknown>"],"sources":["../../src/adapters/vercel-ai.ts"],"sourcesContent":["import type { AgentTool, JsonSchema } from '../agent-tools.js';\nimport { type AdapterOptions, safeExecute } from './catch-errors.js';\n\nexport type { AgentTool, JsonSchema };\n\nexport interface VercelAIToolDefinition {\n readonly description: string;\n readonly parameters: JsonSchema;\n readonly execute: (args: Record<string, unknown>) => Promise<string>;\n}\n\nexport type VercelAIToolMap = Record<string, VercelAIToolDefinition>;\n\nexport function toVercelAITools(\n agentTools: readonly AgentTool[],\n options?: AdapterOptions,\n): VercelAIToolMap {\n return Object.fromEntries(\n agentTools.map((tool) => [\n tool.name,\n {\n description: tool.description,\n parameters: tool.parameters,\n execute: async (args: Record<string, unknown>): Promise<string> => {\n const result = await safeExecute(() => tool.execute(args), options?.catchErrors ?? false);\n return JSON.stringify(result);\n },\n },\n ]),\n );\n}\n"],"mappings":";;;;AAaA,SAAgB,gBACdA,YACAC,SACiB;AACjB,QAAO,OAAO,YACZ,WAAW,IAAI,CAAC,SAAS,CACvB,KAAK,MACL;EACE,aAAa,KAAK;EAClB,YAAY,KAAK;EACjB,SAAS,OAAOC,SAAmD;GACjE,MAAM,SAAS,MAAM,YAAY,MAAM,KAAK,QAAQ,KAAK,EAAE,SAAS,eAAe,MAAM;AACzF,UAAO,KAAK,UAAU,OAAO;EAC9B;CACF,CACF,EAAC,CACH;AACF"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ const require_errors = require('./errors-C1XqxNmZ.cjs');
3
+
4
+ //#region src/adapters/catch-errors.ts
5
+ function formatToolError(err) {
6
+ if (err instanceof require_errors.UCPEscalationError) return {
7
+ requires_escalation: true,
8
+ continue_url: err.continue_url
9
+ };
10
+ if (err instanceof require_errors.UCPError) return { error: `${err.code}: ${err.message}` };
11
+ if (err instanceof require_errors.UCPOAuthError) return { error: `OAuth error (${err.statusCode}): ${err.message}` };
12
+ if (err instanceof Error) return { error: err.message };
13
+ return { error: String(err) };
14
+ }
15
+ async function safeExecute(execute, catchErrors) {
16
+ if (!catchErrors) return execute();
17
+ try {
18
+ return await execute();
19
+ } catch (err) {
20
+ return formatToolError(err);
21
+ }
22
+ }
23
+
24
+ //#endregion
25
+ Object.defineProperty(exports, 'safeExecute', {
26
+ enumerable: true,
27
+ get: function () {
28
+ return safeExecute;
29
+ }
30
+ });
31
+ //# sourceMappingURL=catch-errors-BZP237w4.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catch-errors-BZP237w4.cjs","names":["err: unknown","UCPEscalationError","UCPError","UCPOAuthError","execute: () => Promise<unknown>","catchErrors: boolean"],"sources":["../src/adapters/catch-errors.ts"],"sourcesContent":["import { UCPError, UCPEscalationError, UCPOAuthError } from '../errors.js';\n\nexport interface AdapterOptions {\n readonly catchErrors?: boolean;\n}\n\nexport type ToolErrorResult =\n | { readonly error: string }\n | { readonly requires_escalation: true; readonly continue_url: string };\n\nexport function formatToolError(err: unknown): ToolErrorResult {\n if (err instanceof UCPEscalationError) {\n return { requires_escalation: true, continue_url: err.continue_url };\n }\n // UCPIdempotencyConflictError extends UCPError — handled by the branch below\n if (err instanceof UCPError) {\n return { error: `${err.code}: ${err.message}` };\n }\n // OAuth errors carry statusCode but no UCP code — surface both for actionability\n if (err instanceof UCPOAuthError) {\n return { error: `OAuth error (${err.statusCode}): ${err.message}` };\n }\n if (err instanceof Error) {\n return { error: err.message };\n }\n return { error: String(err) };\n}\n\nexport async function safeExecute(\n execute: () => Promise<unknown>,\n catchErrors: boolean,\n): Promise<unknown> {\n if (!catchErrors) return execute();\n try {\n return await execute();\n } catch (err) {\n return formatToolError(err);\n }\n}\n"],"mappings":";;;;AAUA,SAAgB,gBAAgBA,KAA+B;AAC7D,KAAI,eAAeC,kCACjB,QAAO;EAAE,qBAAqB;EAAM,cAAc,IAAI;CAAc;AAGtE,KAAI,eAAeC,wBACjB,QAAO,EAAE,QAAQ,EAAE,IAAI,KAAK,IAAI,IAAI,QAAQ,EAAG;AAGjD,KAAI,eAAeC,6BACjB,QAAO,EAAE,QAAQ,eAAe,IAAI,WAAW,KAAK,IAAI,QAAQ,EAAG;AAErE,KAAI,eAAe,MACjB,QAAO,EAAE,OAAO,IAAI,QAAS;AAE/B,QAAO,EAAE,OAAO,OAAO,IAAI,CAAE;AAC9B;AAED,eAAsB,YACpBC,SACAC,aACkB;AAClB,MAAK,YAAa,QAAO,SAAS;AAClC,KAAI;AACF,SAAO,MAAM,SAAS;CACvB,SAAQ,KAAK;AACZ,SAAO,gBAAgB,IAAI;CAC5B;AACF"}
@@ -477,7 +477,18 @@ interface AgentTool {
477
477
  declare function getAgentTools(client: ConnectedClient): readonly AgentTool[];
478
478
 
479
479
  //#endregion
480
+ //#region src/adapters/catch-errors.d.ts
480
481
  //# sourceMappingURL=agent-tools.d.ts.map
482
+ interface AdapterOptions {
483
+ readonly catchErrors?: boolean;
484
+ }
485
+ type ToolErrorResult = {
486
+ readonly error: string;
487
+ } | {
488
+ readonly requires_escalation: true;
489
+ readonly continue_url: string;
490
+ };
481
491
 
482
- export { AgentTool, AuthorizationParams, BuyerConsent, CardCredential, CheckoutCapability, CheckoutExtensions, CheckoutSession, CheckoutSessionStatus, CompleteCheckoutPayload, ConnectedClient, CreateCheckoutPayload, DEFAULT_UCP_VERSION, IdentityLinkingCapability, JsonSchema, LocalizationContext, OAuthServerMetadata, OrderCapability, PaymentCredential, PaymentHandlerInstance, PaymentHandlerMap, PaymentInstrument, PostalAddress, ProductsCapability, SearchFilters, TokenCredential, TokenExchangeParams, TokenRefreshParams, TokenResponse, TokenRevokeParams, ToolDescriptor, UCPClient, UCPClientConfig, UCPOrder, UCPProduct, UCPProfile, UCPSpecOrder, UCP_CAPABILITIES, UpdateCheckoutPayload, WebhookEvent, connect, getAgentTools };
483
- //# sourceMappingURL=agent-tools-o2PEyGqh.d.cts.map
492
+ //#endregion
493
+ export { AdapterOptions, AgentTool, AuthorizationParams, BuyerConsent, CardCredential, CheckoutCapability, CheckoutExtensions, CheckoutSession, CheckoutSessionStatus, CompleteCheckoutPayload, ConnectedClient, CreateCheckoutPayload, DEFAULT_UCP_VERSION, IdentityLinkingCapability, JsonSchema, LocalizationContext, OAuthServerMetadata, OrderCapability, PaymentCredential, PaymentHandlerInstance, PaymentHandlerMap, PaymentInstrument, PostalAddress, ProductsCapability, SearchFilters, TokenCredential, TokenExchangeParams, TokenRefreshParams, TokenResponse, TokenRevokeParams, ToolDescriptor, ToolErrorResult, UCPClient, UCPClientConfig, UCPOrder, UCPProduct, UCPProfile, UCPSpecOrder, UCP_CAPABILITIES, UpdateCheckoutPayload, WebhookEvent, connect, getAgentTools };
494
+ //# sourceMappingURL=catch-errors-CbIHeFvF.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catch-errors-CbIHeFvF.d.cts","names":[],"sources":["../src/http.ts","../src/types/common.ts","../src/types/payment.ts","../src/types/checkout.ts","../src/capabilities/checkout.ts","../src/types/order.ts","../src/capabilities/order.ts","../src/types/identity-linking.ts","../src/capabilities/identity-linking.ts","../src/types/product.ts","../src/capabilities/products.ts","../src/types/config.ts","../src/UCPClient.ts","../src/agent-tools.ts","../src/adapters/catch-errors.ts"],"sourcesContent":null,"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { UCPError, UCPEscalationError, UCPOAuthError } from "./errors-DX7yw6Gl.js";
2
+
3
+ //#region src/adapters/catch-errors.ts
4
+ function formatToolError(err) {
5
+ if (err instanceof UCPEscalationError) return {
6
+ requires_escalation: true,
7
+ continue_url: err.continue_url
8
+ };
9
+ if (err instanceof UCPError) return { error: `${err.code}: ${err.message}` };
10
+ if (err instanceof UCPOAuthError) return { error: `OAuth error (${err.statusCode}): ${err.message}` };
11
+ if (err instanceof Error) return { error: err.message };
12
+ return { error: String(err) };
13
+ }
14
+ async function safeExecute(execute, catchErrors) {
15
+ if (!catchErrors) return execute();
16
+ try {
17
+ return await execute();
18
+ } catch (err) {
19
+ return formatToolError(err);
20
+ }
21
+ }
22
+
23
+ //#endregion
24
+ export { safeExecute };
25
+ //# sourceMappingURL=catch-errors-Cpn2vHir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catch-errors-Cpn2vHir.js","names":["err: unknown","execute: () => Promise<unknown>","catchErrors: boolean"],"sources":["../src/adapters/catch-errors.ts"],"sourcesContent":["import { UCPError, UCPEscalationError, UCPOAuthError } from '../errors.js';\n\nexport interface AdapterOptions {\n readonly catchErrors?: boolean;\n}\n\nexport type ToolErrorResult =\n | { readonly error: string }\n | { readonly requires_escalation: true; readonly continue_url: string };\n\nexport function formatToolError(err: unknown): ToolErrorResult {\n if (err instanceof UCPEscalationError) {\n return { requires_escalation: true, continue_url: err.continue_url };\n }\n // UCPIdempotencyConflictError extends UCPError — handled by the branch below\n if (err instanceof UCPError) {\n return { error: `${err.code}: ${err.message}` };\n }\n // OAuth errors carry statusCode but no UCP code — surface both for actionability\n if (err instanceof UCPOAuthError) {\n return { error: `OAuth error (${err.statusCode}): ${err.message}` };\n }\n if (err instanceof Error) {\n return { error: err.message };\n }\n return { error: String(err) };\n}\n\nexport async function safeExecute(\n execute: () => Promise<unknown>,\n catchErrors: boolean,\n): Promise<unknown> {\n if (!catchErrors) return execute();\n try {\n return await execute();\n } catch (err) {\n return formatToolError(err);\n }\n}\n"],"mappings":";;;AAUA,SAAgB,gBAAgBA,KAA+B;AAC7D,KAAI,eAAe,mBACjB,QAAO;EAAE,qBAAqB;EAAM,cAAc,IAAI;CAAc;AAGtE,KAAI,eAAe,SACjB,QAAO,EAAE,QAAQ,EAAE,IAAI,KAAK,IAAI,IAAI,QAAQ,EAAG;AAGjD,KAAI,eAAe,cACjB,QAAO,EAAE,QAAQ,eAAe,IAAI,WAAW,KAAK,IAAI,QAAQ,EAAG;AAErE,KAAI,eAAe,MACjB,QAAO,EAAE,OAAO,IAAI,QAAS;AAE/B,QAAO,EAAE,OAAO,OAAO,IAAI,CAAE;AAC9B;AAED,eAAsB,YACpBC,SACAC,aACkB;AAClB,MAAK,YAAa,QAAO,SAAS;AAClC,KAAI;AACF,SAAO,MAAM,SAAS;CACvB,SAAQ,KAAK;AACZ,SAAO,gBAAgB,IAAI;CAC5B;AACF"}
@@ -477,7 +477,18 @@ interface AgentTool {
477
477
  declare function getAgentTools(client: ConnectedClient): readonly AgentTool[];
478
478
 
479
479
  //#endregion
480
+ //#region src/adapters/catch-errors.d.ts
480
481
  //# sourceMappingURL=agent-tools.d.ts.map
482
+ interface AdapterOptions {
483
+ readonly catchErrors?: boolean;
484
+ }
485
+ type ToolErrorResult = {
486
+ readonly error: string;
487
+ } | {
488
+ readonly requires_escalation: true;
489
+ readonly continue_url: string;
490
+ };
481
491
 
482
- export { AgentTool, AuthorizationParams, BuyerConsent, CardCredential, CheckoutCapability, CheckoutExtensions, CheckoutSession, CheckoutSessionStatus, CompleteCheckoutPayload, ConnectedClient, CreateCheckoutPayload, DEFAULT_UCP_VERSION, IdentityLinkingCapability, JsonSchema, LocalizationContext, OAuthServerMetadata, OrderCapability, PaymentCredential, PaymentHandlerInstance, PaymentHandlerMap, PaymentInstrument, PostalAddress, ProductsCapability, SearchFilters, TokenCredential, TokenExchangeParams, TokenRefreshParams, TokenResponse, TokenRevokeParams, ToolDescriptor, UCPClient, UCPClientConfig, UCPOrder, UCPProduct, UCPProfile, UCPSpecOrder, UCP_CAPABILITIES, UpdateCheckoutPayload, WebhookEvent, connect, getAgentTools };
483
- //# sourceMappingURL=agent-tools-DBOuuSEd.d.ts.map
492
+ //#endregion
493
+ export { AdapterOptions, AgentTool, AuthorizationParams, BuyerConsent, CardCredential, CheckoutCapability, CheckoutExtensions, CheckoutSession, CheckoutSessionStatus, CompleteCheckoutPayload, ConnectedClient, CreateCheckoutPayload, DEFAULT_UCP_VERSION, IdentityLinkingCapability, JsonSchema, LocalizationContext, OAuthServerMetadata, OrderCapability, PaymentCredential, PaymentHandlerInstance, PaymentHandlerMap, PaymentInstrument, PostalAddress, ProductsCapability, SearchFilters, TokenCredential, TokenExchangeParams, TokenRefreshParams, TokenResponse, TokenRevokeParams, ToolDescriptor, ToolErrorResult, UCPClient, UCPClientConfig, UCPOrder, UCPProduct, UCPProfile, UCPSpecOrder, UCP_CAPABILITIES, UpdateCheckoutPayload, WebhookEvent, connect, getAgentTools };
494
+ //# sourceMappingURL=catch-errors-H8gObrht.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catch-errors-H8gObrht.d.ts","names":[],"sources":["../src/http.ts","../src/types/common.ts","../src/types/payment.ts","../src/types/checkout.ts","../src/capabilities/checkout.ts","../src/types/order.ts","../src/capabilities/order.ts","../src/types/identity-linking.ts","../src/capabilities/identity-linking.ts","../src/types/product.ts","../src/capabilities/products.ts","../src/types/config.ts","../src/UCPClient.ts","../src/agent-tools.ts","../src/adapters/catch-errors.ts"],"sourcesContent":null,"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ //#region src/errors.ts
4
+ /** Thrown when the gateway returns an error response with `messages[]`. */
5
+ var UCPError = class extends Error {
6
+ code;
7
+ type;
8
+ statusCode;
9
+ /** JSONPath to the field that caused the error, from the first message. */
10
+ path;
11
+ contentType;
12
+ /** All messages from the gateway response. */
13
+ messages;
14
+ constructor(code, message, type = "error", statusCode = 400, options = {}) {
15
+ super(message);
16
+ this.name = "UCPError";
17
+ this.code = code;
18
+ this.type = type;
19
+ this.statusCode = statusCode;
20
+ this.path = options.path;
21
+ this.contentType = options.contentType;
22
+ this.messages = options.messages ?? [];
23
+ }
24
+ };
25
+ /** Thrown on HTTP 409 when no `messages[]` body is present (idempotency key collision). */
26
+ var UCPIdempotencyConflictError = class extends UCPError {
27
+ constructor(message = "Idempotency key reused with different request body") {
28
+ super("IDEMPOTENCY_CONFLICT", message, "error", 409);
29
+ this.name = "UCPIdempotencyConflictError";
30
+ }
31
+ };
32
+ /** Thrown when a checkout response has `status: 'requires_escalation'` with a `continue_url`. */
33
+ var UCPEscalationError = class extends Error {
34
+ /** The URL to redirect the buyer to for merchant-hosted checkout UI. */
35
+ continue_url;
36
+ constructor(continue_url, message = "Payment requires escalation") {
37
+ super(message);
38
+ this.name = "UCPEscalationError";
39
+ this.continue_url = continue_url;
40
+ }
41
+ };
42
+ /** Thrown when an OAuth token exchange, refresh, or revocation fails. */
43
+ var UCPOAuthError = class extends Error {
44
+ statusCode;
45
+ constructor(message, statusCode) {
46
+ super(message);
47
+ this.name = "UCPOAuthError";
48
+ this.statusCode = statusCode;
49
+ }
50
+ };
51
+
52
+ //#endregion
53
+ Object.defineProperty(exports, 'UCPError', {
54
+ enumerable: true,
55
+ get: function () {
56
+ return UCPError;
57
+ }
58
+ });
59
+ Object.defineProperty(exports, 'UCPEscalationError', {
60
+ enumerable: true,
61
+ get: function () {
62
+ return UCPEscalationError;
63
+ }
64
+ });
65
+ Object.defineProperty(exports, 'UCPIdempotencyConflictError', {
66
+ enumerable: true,
67
+ get: function () {
68
+ return UCPIdempotencyConflictError;
69
+ }
70
+ });
71
+ Object.defineProperty(exports, 'UCPOAuthError', {
72
+ enumerable: true,
73
+ get: function () {
74
+ return UCPOAuthError;
75
+ }
76
+ });
77
+ //# sourceMappingURL=errors-C1XqxNmZ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors-C1XqxNmZ.cjs","names":["code: string","message: string","type: MessageType","options: {\n readonly path?: string;\n readonly contentType?: ContentType;\n readonly messages?: readonly UCPMessage[];\n }","continue_url: string","statusCode: number"],"sources":["../src/errors.ts"],"sourcesContent":["export type MessageType = 'error' | 'warning' | 'info';\nexport type MessageSeverity = 'recoverable' | 'requires_buyer_input' | 'requires_buyer_review';\nexport type ContentType = 'plain' | 'markdown';\n\n/** A single message from the gateway's `messages[]` array. */\nexport interface UCPMessage {\n readonly type: MessageType;\n readonly code?: string;\n readonly content: string;\n readonly severity?: MessageSeverity;\n /** JSONPath to the field that caused the error (e.g., `$.buyer.email`). */\n readonly path?: string;\n readonly content_type?: ContentType;\n}\n\n/** Thrown when the gateway returns an error response with `messages[]`. */\nexport class UCPError extends Error {\n readonly code: string;\n readonly type: MessageType;\n readonly statusCode: number;\n /** JSONPath to the field that caused the error, from the first message. */\n readonly path: string | undefined;\n readonly contentType: ContentType | undefined;\n /** All messages from the gateway response. */\n readonly messages: readonly UCPMessage[];\n\n constructor(\n code: string,\n message: string,\n type: MessageType = 'error',\n statusCode = 400,\n options: {\n readonly path?: string;\n readonly contentType?: ContentType;\n readonly messages?: readonly UCPMessage[];\n } = {},\n ) {\n super(message);\n this.name = 'UCPError';\n this.code = code;\n this.type = type;\n this.statusCode = statusCode;\n this.path = options.path;\n this.contentType = options.contentType;\n this.messages = options.messages ?? [];\n }\n}\n\n/** Thrown on HTTP 409 when no `messages[]` body is present (idempotency key collision). */\nexport class UCPIdempotencyConflictError extends UCPError {\n constructor(message = 'Idempotency key reused with different request body') {\n super('IDEMPOTENCY_CONFLICT', message, 'error', 409);\n this.name = 'UCPIdempotencyConflictError';\n }\n}\n\n/** Thrown when a checkout response has `status: 'requires_escalation'` with a `continue_url`. */\nexport class UCPEscalationError extends Error {\n /** The URL to redirect the buyer to for merchant-hosted checkout UI. */\n readonly continue_url: string;\n\n constructor(continue_url: string, message = 'Payment requires escalation') {\n super(message);\n this.name = 'UCPEscalationError';\n this.continue_url = continue_url;\n }\n}\n\n/** Thrown when an OAuth token exchange, refresh, or revocation fails. */\nexport class UCPOAuthError extends Error {\n readonly statusCode: number;\n\n constructor(message: string, statusCode: number) {\n super(message);\n this.name = 'UCPOAuthError';\n this.statusCode = statusCode;\n }\n}\n"],"mappings":";;;;AAgBA,IAAa,WAAb,cAA8B,MAAM;CAClC,AAAS;CACT,AAAS;CACT,AAAS;;CAET,AAAS;CACT,AAAS;;CAET,AAAS;CAET,YACEA,MACAC,SACAC,OAAoB,SACpB,aAAa,KACbC,UAII,CAAE,GACN;AACA,QAAM,QAAQ;AACd,OAAK,OAAO;AACZ,OAAK,OAAO;AACZ,OAAK,OAAO;AACZ,OAAK,aAAa;AAClB,OAAK,OAAO,QAAQ;AACpB,OAAK,cAAc,QAAQ;AAC3B,OAAK,WAAW,QAAQ,YAAY,CAAE;CACvC;AACF;;AAGD,IAAa,8BAAb,cAAiD,SAAS;CACxD,YAAY,UAAU,sDAAsD;AAC1E,QAAM,wBAAwB,SAAS,SAAS,IAAI;AACpD,OAAK,OAAO;CACb;AACF;;AAGD,IAAa,qBAAb,cAAwC,MAAM;;CAE5C,AAAS;CAET,YAAYC,cAAsB,UAAU,+BAA+B;AACzE,QAAM,QAAQ;AACd,OAAK,OAAO;AACZ,OAAK,eAAe;CACrB;AACF;;AAGD,IAAa,gBAAb,cAAmC,MAAM;CACvC,AAAS;CAET,YAAYH,SAAiBI,YAAoB;AAC/C,QAAM,QAAQ;AACd,OAAK,OAAO;AACZ,OAAK,aAAa;CACnB;AACF"}
@@ -0,0 +1,52 @@
1
+ //#region src/errors.ts
2
+ /** Thrown when the gateway returns an error response with `messages[]`. */
3
+ var UCPError = class extends Error {
4
+ code;
5
+ type;
6
+ statusCode;
7
+ /** JSONPath to the field that caused the error, from the first message. */
8
+ path;
9
+ contentType;
10
+ /** All messages from the gateway response. */
11
+ messages;
12
+ constructor(code, message, type = "error", statusCode = 400, options = {}) {
13
+ super(message);
14
+ this.name = "UCPError";
15
+ this.code = code;
16
+ this.type = type;
17
+ this.statusCode = statusCode;
18
+ this.path = options.path;
19
+ this.contentType = options.contentType;
20
+ this.messages = options.messages ?? [];
21
+ }
22
+ };
23
+ /** Thrown on HTTP 409 when no `messages[]` body is present (idempotency key collision). */
24
+ var UCPIdempotencyConflictError = class extends UCPError {
25
+ constructor(message = "Idempotency key reused with different request body") {
26
+ super("IDEMPOTENCY_CONFLICT", message, "error", 409);
27
+ this.name = "UCPIdempotencyConflictError";
28
+ }
29
+ };
30
+ /** Thrown when a checkout response has `status: 'requires_escalation'` with a `continue_url`. */
31
+ var UCPEscalationError = class extends Error {
32
+ /** The URL to redirect the buyer to for merchant-hosted checkout UI. */
33
+ continue_url;
34
+ constructor(continue_url, message = "Payment requires escalation") {
35
+ super(message);
36
+ this.name = "UCPEscalationError";
37
+ this.continue_url = continue_url;
38
+ }
39
+ };
40
+ /** Thrown when an OAuth token exchange, refresh, or revocation fails. */
41
+ var UCPOAuthError = class extends Error {
42
+ statusCode;
43
+ constructor(message, statusCode) {
44
+ super(message);
45
+ this.name = "UCPOAuthError";
46
+ this.statusCode = statusCode;
47
+ }
48
+ };
49
+
50
+ //#endregion
51
+ export { UCPError, UCPEscalationError, UCPIdempotencyConflictError, UCPOAuthError };
52
+ //# sourceMappingURL=errors-DX7yw6Gl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors-DX7yw6Gl.js","names":["code: string","message: string","type: MessageType","options: {\n readonly path?: string;\n readonly contentType?: ContentType;\n readonly messages?: readonly UCPMessage[];\n }","continue_url: string","statusCode: number"],"sources":["../src/errors.ts"],"sourcesContent":["export type MessageType = 'error' | 'warning' | 'info';\nexport type MessageSeverity = 'recoverable' | 'requires_buyer_input' | 'requires_buyer_review';\nexport type ContentType = 'plain' | 'markdown';\n\n/** A single message from the gateway's `messages[]` array. */\nexport interface UCPMessage {\n readonly type: MessageType;\n readonly code?: string;\n readonly content: string;\n readonly severity?: MessageSeverity;\n /** JSONPath to the field that caused the error (e.g., `$.buyer.email`). */\n readonly path?: string;\n readonly content_type?: ContentType;\n}\n\n/** Thrown when the gateway returns an error response with `messages[]`. */\nexport class UCPError extends Error {\n readonly code: string;\n readonly type: MessageType;\n readonly statusCode: number;\n /** JSONPath to the field that caused the error, from the first message. */\n readonly path: string | undefined;\n readonly contentType: ContentType | undefined;\n /** All messages from the gateway response. */\n readonly messages: readonly UCPMessage[];\n\n constructor(\n code: string,\n message: string,\n type: MessageType = 'error',\n statusCode = 400,\n options: {\n readonly path?: string;\n readonly contentType?: ContentType;\n readonly messages?: readonly UCPMessage[];\n } = {},\n ) {\n super(message);\n this.name = 'UCPError';\n this.code = code;\n this.type = type;\n this.statusCode = statusCode;\n this.path = options.path;\n this.contentType = options.contentType;\n this.messages = options.messages ?? [];\n }\n}\n\n/** Thrown on HTTP 409 when no `messages[]` body is present (idempotency key collision). */\nexport class UCPIdempotencyConflictError extends UCPError {\n constructor(message = 'Idempotency key reused with different request body') {\n super('IDEMPOTENCY_CONFLICT', message, 'error', 409);\n this.name = 'UCPIdempotencyConflictError';\n }\n}\n\n/** Thrown when a checkout response has `status: 'requires_escalation'` with a `continue_url`. */\nexport class UCPEscalationError extends Error {\n /** The URL to redirect the buyer to for merchant-hosted checkout UI. */\n readonly continue_url: string;\n\n constructor(continue_url: string, message = 'Payment requires escalation') {\n super(message);\n this.name = 'UCPEscalationError';\n this.continue_url = continue_url;\n }\n}\n\n/** Thrown when an OAuth token exchange, refresh, or revocation fails. */\nexport class UCPOAuthError extends Error {\n readonly statusCode: number;\n\n constructor(message: string, statusCode: number) {\n super(message);\n this.name = 'UCPOAuthError';\n this.statusCode = statusCode;\n }\n}\n"],"mappings":";;AAgBA,IAAa,WAAb,cAA8B,MAAM;CAClC,AAAS;CACT,AAAS;CACT,AAAS;;CAET,AAAS;CACT,AAAS;;CAET,AAAS;CAET,YACEA,MACAC,SACAC,OAAoB,SACpB,aAAa,KACbC,UAII,CAAE,GACN;AACA,QAAM,QAAQ;AACd,OAAK,OAAO;AACZ,OAAK,OAAO;AACZ,OAAK,OAAO;AACZ,OAAK,aAAa;AAClB,OAAK,OAAO,QAAQ;AACpB,OAAK,cAAc,QAAQ;AAC3B,OAAK,WAAW,QAAQ,YAAY,CAAE;CACvC;AACF;;AAGD,IAAa,8BAAb,cAAiD,SAAS;CACxD,YAAY,UAAU,sDAAsD;AAC1E,QAAM,wBAAwB,SAAS,SAAS,IAAI;AACpD,OAAK,OAAO;CACb;AACF;;AAGD,IAAa,qBAAb,cAAwC,MAAM;;CAE5C,AAAS;CAET,YAAYC,cAAsB,UAAU,+BAA+B;AACzE,QAAM,QAAQ;AACd,OAAK,OAAO;AACZ,OAAK,eAAe;CACrB;AACF;;AAGD,IAAa,gBAAb,cAAmC,MAAM;CACvC,AAAS;CAET,YAAYH,SAAiBI,YAAoB;AAC/C,QAAM,QAAQ;AACd,OAAK,OAAO;AACZ,OAAK,aAAa;CACnB;AACF"}