@omnixhq/ucp-client 1.0.1 → 2.1.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.
package/README.md CHANGED
@@ -142,9 +142,8 @@ The tools you get depend on what the server declares:
142
142
  | `dev.ucp.shopping.checkout` | `create_checkout`, `get_checkout`, `update_checkout`, `complete_checkout`, `cancel_checkout` |
143
143
  | `dev.ucp.shopping.fulfillment` | + `set_fulfillment`, `select_destination`, `select_fulfillment_option` |
144
144
  | `dev.ucp.shopping.discount` | + `apply_discount_codes` |
145
- | `dev.ucp.shopping.order` | + `get_order` |
145
+ | `dev.ucp.shopping.order` | + `get_order`, `update_order` |
146
146
  | `dev.ucp.common.identity_linking` | + `get_authorization_url`, `exchange_auth_code`, `refresh_access_token`, `revoke_token` |
147
- | _(always)_ | `search_products`, `get_product` |
148
147
 
149
148
  Connect to a different server → get different tools. Your agent code stays the same.
150
149
 
@@ -158,18 +157,51 @@ const client = await UCPClient.connect(config);
158
157
  client.checkout; // CheckoutCapability | null
159
158
  client.order; // OrderCapability | null
160
159
  client.identityLinking; // IdentityLinkingCapability | null
161
- client.products; // ProductsCapability (always available)
162
160
 
163
161
  if (client.checkout) {
164
162
  client.checkout.extensions.fulfillment; // boolean
165
163
  client.checkout.extensions.discount; // boolean
166
164
  client.checkout.extensions.buyerConsent; // boolean
165
+ client.checkout.extensions.ap2Mandate; // boolean
167
166
  }
168
167
 
169
168
  console.log(Object.keys(client.paymentHandlers));
170
169
  // e.g., ['com.google.pay', 'dev.shopify.shop_pay']
170
+
171
+ client.signingKeys; // JWK[] — EC P-256 keys for webhook verification
172
+ ```
173
+
174
+ ## Webhook signature verification
175
+
176
+ UCP businesses sign webhook POST requests with a detached JWS in the `Request-Signature` header (RFC 7797). The JWT header MUST include a `kid` claim identifying the signing key.
177
+
178
+ Use `createWebhookVerifier` to get a stateful verifier that fetches and caches signing keys from the business's discovery profile. It automatically re-fetches on a `kid` cache miss to support zero-downtime key rotation.
179
+
180
+ ```typescript
181
+ import { createWebhookVerifier } from '@omnixhq/ucp-client';
182
+
183
+ const verifier = createWebhookVerifier('https://store.example.com');
184
+
185
+ // In your webhook handler — MUST respond quickly with 2xx, process async:
186
+ const valid = await verifier.verify(rawBody, req.headers['request-signature']);
187
+ if (!valid) return res.status(401).send('Invalid signature');
188
+
189
+ // Safe to process
171
190
  ```
172
191
 
192
+ Keys are loaded lazily on the first `verify()` call from `<gatewayUrl>/.well-known/ucp` and cached by `kid`. A `kid` not found in cache triggers one re-fetch (key rotation support).
193
+
194
+ If you already have signing keys loaded (e.g. from `client.signingKeys`), use `verifyRequestSignature` directly:
195
+
196
+ ```typescript
197
+ import { UCPClient, verifyRequestSignature } from '@omnixhq/ucp-client';
198
+
199
+ const client = await UCPClient.connect(config);
200
+ const valid = await verifyRequestSignature(rawBody, signature, client.signingKeys);
201
+ ```
202
+
203
+ See [examples/webhook-verification.ts](./examples/webhook-verification.ts) for a complete HTTP server example.
204
+
173
205
  ## Framework adapters
174
206
 
175
207
  Ready-made adapters convert `getAgentTools()` output to each framework's native format — no manual mapping.
@@ -1,4 +1,4 @@
1
- import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-CbIHeFvF.cjs";
1
+ import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-hlc4bOF9.cjs";
2
2
 
3
3
  //#region src/adapters/anthropic.d.ts
4
4
  interface AnthropicInputSchema {
@@ -1,4 +1,4 @@
1
- import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-H8gObrht.js";
1
+ import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-s9k0IH2E.js";
2
2
 
3
3
  //#region src/adapters/anthropic.d.ts
4
4
  interface AnthropicInputSchema {
@@ -1,4 +1,4 @@
1
- import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-CbIHeFvF.cjs";
1
+ import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-hlc4bOF9.cjs";
2
2
 
3
3
  //#region src/adapters/langchain.d.ts
4
4
  interface LangChainTool {
@@ -1,4 +1,4 @@
1
- import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-H8gObrht.js";
1
+ import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-s9k0IH2E.js";
2
2
 
3
3
  //#region src/adapters/langchain.d.ts
4
4
  interface LangChainTool {
@@ -1,4 +1,4 @@
1
- import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-CbIHeFvF.cjs";
1
+ import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-hlc4bOF9.cjs";
2
2
 
3
3
  //#region src/adapters/mcp.d.ts
4
4
  interface MCPInputSchema {
@@ -1,4 +1,4 @@
1
- import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-H8gObrht.js";
1
+ import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-s9k0IH2E.js";
2
2
 
3
3
  //#region src/adapters/mcp.d.ts
4
4
  interface MCPInputSchema {
@@ -1,4 +1,4 @@
1
- import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-CbIHeFvF.cjs";
1
+ import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-hlc4bOF9.cjs";
2
2
 
3
3
  //#region src/adapters/openai.d.ts
4
4
  interface OpenAIFunction {
@@ -1,4 +1,4 @@
1
- import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-H8gObrht.js";
1
+ import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-s9k0IH2E.js";
2
2
 
3
3
  //#region src/adapters/openai.d.ts
4
4
  interface OpenAIFunction {
@@ -1,4 +1,4 @@
1
- import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-CbIHeFvF.cjs";
1
+ import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-hlc4bOF9.cjs";
2
2
 
3
3
  //#region src/adapters/vercel-ai.d.ts
4
4
  interface VercelAISchema {
@@ -1,4 +1,4 @@
1
- import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-H8gObrht.js";
1
+ import { AdapterOptions, AgentTool, JsonSchema } from "../catch-errors-s9k0IH2E.js";
2
2
 
3
3
  //#region src/adapters/vercel-ai.d.ts
4
4
  interface VercelAISchema {
@@ -1,5 +1,5 @@
1
+ import { CardCredential, CheckoutResponseStatus, ExtendedCheckoutResponse, Order, TokenCredential, UcpDiscoveryProfile } from "@omnixhq/ucp-js-sdk";
1
2
  import { ZodType } from "zod";
2
- import { CheckoutResponseStatus, ExtendedCheckoutResponse, Order, UcpDiscoveryProfile } from "@ucp-js/sdk";
3
3
 
4
4
  //#region src/http.d.ts
5
5
  type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE';
@@ -48,33 +48,20 @@ interface LocalizationContext {
48
48
  readonly address_region?: string;
49
49
  readonly postal_code?: string;
50
50
  }
51
- interface SearchFilters {
52
- readonly max_price_cents?: number;
53
- readonly min_price_cents?: number;
54
- readonly in_stock?: boolean;
55
- readonly category?: string;
56
- readonly limit?: number;
57
- readonly page?: number;
58
- } //#endregion
51
+ /**
52
+ * A JSON Web Key (RFC 7517).
53
+ * Extends the TypeScript stdlib `JsonWebKey` with the `kid` claim required by UCP for webhook
54
+ * signature verification (the stdlib definition omits `kid`).
55
+ */
56
+ type JWK = JsonWebKey & {
57
+ readonly kid?: string;
58
+ };
59
+ //#endregion
59
60
  //#region src/types/payment.d.ts
60
-
61
61
  //# sourceMappingURL=common.d.ts.map
62
- interface TokenCredential {
63
- readonly type: string;
64
- readonly token: string;
65
- }
66
- interface CardCredential {
67
- readonly type: 'card';
68
- readonly card_number_type?: 'fpan' | 'network_token' | 'dpan';
69
- readonly number?: string;
70
- readonly expiry_month?: string;
71
- readonly expiry_year?: string;
72
- readonly name?: string;
73
- readonly cvc?: string;
74
- readonly cryptogram?: string;
75
- readonly eci_value?: string;
76
- }
77
- type PaymentCredential = TokenCredential | CardCredential;
62
+ type TokenCredential$1 = TokenCredential;
63
+ type CardCredential$1 = CardCredential;
64
+ type PaymentCredential = TokenCredential$1 | CardCredential$1;
78
65
  interface PaymentInstrument {
79
66
  readonly id: string;
80
67
  readonly handler_id: string;
@@ -177,7 +164,9 @@ interface CompleteCheckoutPayload {
177
164
  readonly ap2?: {
178
165
  readonly checkout_mandate?: string;
179
166
  };
180
- } //#endregion
167
+ }
168
+
169
+ //#endregion
181
170
  //#region src/capabilities/checkout.d.ts
182
171
  //# sourceMappingURL=checkout.d.ts.map
183
172
  type FulfillmentPatch = Omit<UpdateCheckoutPayload, 'fulfillment' | 'discounts'>;
@@ -205,13 +194,6 @@ declare class CheckoutCapability {
205
194
  //#endregion
206
195
  //#region src/types/order.d.ts
207
196
  type UCPSpecOrder = Order;
208
- interface UCPOrder {
209
- readonly id: string;
210
- readonly status: 'pending' | 'processing' | 'shipped' | 'delivered' | 'canceled';
211
- readonly total_cents: number;
212
- readonly currency: string;
213
- readonly created_at_iso: string;
214
- }
215
197
  interface WebhookEvent {
216
198
  readonly event_id: string;
217
199
  readonly created_time: string;
@@ -227,6 +209,8 @@ declare class OrderCapability {
227
209
  constructor(http: HttpClient);
228
210
  /** Retrieve an order by ID. Returns the UCP spec-compliant Order object. */
229
211
  get(id: string): Promise<UCPSpecOrder>;
212
+ /** Update an order with fulfillment events, adjustments, or status changes. */
213
+ update(id: string, payload: Record<string, unknown>): Promise<UCPSpecOrder>;
230
214
  }
231
215
 
232
216
  //#endregion
@@ -293,42 +277,9 @@ declare class IdentityLinkingCapability {
293
277
  private tokenRequest;
294
278
  }
295
279
 
296
- //#endregion
297
- //#region src/types/product.d.ts
298
- //# sourceMappingURL=identity-linking.d.ts.map
299
- interface UCPProduct {
300
- readonly id: string;
301
- readonly title: string;
302
- readonly description: string | null;
303
- readonly price_cents: number;
304
- readonly currency: string;
305
- readonly in_stock: boolean;
306
- readonly stock_quantity: number;
307
- readonly images: readonly string[];
308
- readonly variants: ReadonlyArray<{
309
- readonly id: string;
310
- readonly title: string;
311
- readonly price_cents: number;
312
- readonly in_stock: boolean;
313
- readonly attributes: Readonly<Record<string, string>>;
314
- }>;
315
- }
316
-
317
- //#endregion
318
- //#region src/capabilities/products.d.ts
319
- //# sourceMappingURL=product.d.ts.map
320
- /** Product catalog search and retrieval. Always available (gateway-specific, not part of UCP spec). */
321
- declare class ProductsCapability {
322
- private readonly http;
323
- constructor(http: HttpClient);
324
- /** Search products by query string with optional filters. */
325
- search(query: string, filters?: SearchFilters): Promise<readonly UCPProduct[]>;
326
- get(id: string): Promise<UCPProduct>;
327
- }
328
-
329
280
  //#endregion
330
281
  //#region src/types/config.d.ts
331
- //# sourceMappingURL=products.d.ts.map
282
+ //# sourceMappingURL=identity-linking.d.ts.map
332
283
  interface UCPClientConfig {
333
284
  readonly gatewayUrl: string;
334
285
  readonly agentProfileUrl: string;
@@ -364,14 +315,14 @@ interface ToolDescriptor {
364
315
  interface ConnectedClient {
365
316
  /** The server's UCP discovery profile. */
366
317
  readonly profile: UCPProfile;
318
+ /** JWK signing keys from the discovery profile. Used for verifying incoming webhook signatures. */
319
+ readonly signingKeys: readonly JWK[];
367
320
  /** Checkout operations. Null if server does not support `dev.ucp.shopping.checkout`. */
368
321
  readonly checkout: CheckoutCapability | null;
369
322
  /** Order operations. Null if server does not support `dev.ucp.shopping.order`. */
370
323
  readonly order: OrderCapability | null;
371
324
  /** OAuth 2.0 identity linking. Null if server does not support `dev.ucp.common.identity_linking`. */
372
325
  readonly identityLinking: IdentityLinkingCapability | null;
373
- /** Product search and retrieval. Always available (gateway-specific). */
374
- readonly products: ProductsCapability;
375
326
  /** Payment handlers declared by the server, keyed by namespace. */
376
327
  readonly paymentHandlers: PaymentHandlerMap;
377
328
  /** Returns only the tools this server supports (name + description only). */
@@ -490,5 +441,5 @@ type ToolErrorResult = {
490
441
  };
491
442
 
492
443
  //#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
444
+ export { AdapterOptions, AgentTool, AuthorizationParams, BuyerConsent, CardCredential$1 as CardCredential, CheckoutCapability, CheckoutExtensions, CheckoutSession, CheckoutSessionStatus, CompleteCheckoutPayload, ConnectedClient, CreateCheckoutPayload, DEFAULT_UCP_VERSION, IdentityLinkingCapability, JWK, JsonSchema, LocalizationContext, OAuthServerMetadata, OrderCapability, PaymentCredential, PaymentHandlerInstance, PaymentHandlerMap, PaymentInstrument, PostalAddress, TokenCredential$1 as TokenCredential, TokenExchangeParams, TokenRefreshParams, TokenResponse, TokenRevokeParams, ToolDescriptor, ToolErrorResult, UCPClient, UCPClientConfig, UCPProfile, UCPSpecOrder, UCP_CAPABILITIES, UpdateCheckoutPayload, WebhookEvent, connect, getAgentTools };
445
+ //# sourceMappingURL=catch-errors-hlc4bOF9.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catch-errors-hlc4bOF9.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/config.ts","../src/UCPClient.ts","../src/agent-tools.ts","../src/adapters/catch-errors.ts"],"sourcesContent":null,"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { CheckoutResponseStatus, ExtendedCheckoutResponse, Order, UcpDiscoveryProfile } from "@ucp-js/sdk";
2
1
  import { ZodType } from "zod";
2
+ import { CardCredential, CheckoutResponseStatus, ExtendedCheckoutResponse, Order, TokenCredential, UcpDiscoveryProfile } from "@omnixhq/ucp-js-sdk";
3
3
 
4
4
  //#region src/http.d.ts
5
5
  type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE';
@@ -48,33 +48,20 @@ interface LocalizationContext {
48
48
  readonly address_region?: string;
49
49
  readonly postal_code?: string;
50
50
  }
51
- interface SearchFilters {
52
- readonly max_price_cents?: number;
53
- readonly min_price_cents?: number;
54
- readonly in_stock?: boolean;
55
- readonly category?: string;
56
- readonly limit?: number;
57
- readonly page?: number;
58
- } //#endregion
51
+ /**
52
+ * A JSON Web Key (RFC 7517).
53
+ * Extends the TypeScript stdlib `JsonWebKey` with the `kid` claim required by UCP for webhook
54
+ * signature verification (the stdlib definition omits `kid`).
55
+ */
56
+ type JWK = JsonWebKey & {
57
+ readonly kid?: string;
58
+ };
59
+ //#endregion
59
60
  //#region src/types/payment.d.ts
60
-
61
61
  //# sourceMappingURL=common.d.ts.map
62
- interface TokenCredential {
63
- readonly type: string;
64
- readonly token: string;
65
- }
66
- interface CardCredential {
67
- readonly type: 'card';
68
- readonly card_number_type?: 'fpan' | 'network_token' | 'dpan';
69
- readonly number?: string;
70
- readonly expiry_month?: string;
71
- readonly expiry_year?: string;
72
- readonly name?: string;
73
- readonly cvc?: string;
74
- readonly cryptogram?: string;
75
- readonly eci_value?: string;
76
- }
77
- type PaymentCredential = TokenCredential | CardCredential;
62
+ type TokenCredential$1 = TokenCredential;
63
+ type CardCredential$1 = CardCredential;
64
+ type PaymentCredential = TokenCredential$1 | CardCredential$1;
78
65
  interface PaymentInstrument {
79
66
  readonly id: string;
80
67
  readonly handler_id: string;
@@ -177,7 +164,9 @@ interface CompleteCheckoutPayload {
177
164
  readonly ap2?: {
178
165
  readonly checkout_mandate?: string;
179
166
  };
180
- } //#endregion
167
+ }
168
+
169
+ //#endregion
181
170
  //#region src/capabilities/checkout.d.ts
182
171
  //# sourceMappingURL=checkout.d.ts.map
183
172
  type FulfillmentPatch = Omit<UpdateCheckoutPayload, 'fulfillment' | 'discounts'>;
@@ -205,13 +194,6 @@ declare class CheckoutCapability {
205
194
  //#endregion
206
195
  //#region src/types/order.d.ts
207
196
  type UCPSpecOrder = Order;
208
- interface UCPOrder {
209
- readonly id: string;
210
- readonly status: 'pending' | 'processing' | 'shipped' | 'delivered' | 'canceled';
211
- readonly total_cents: number;
212
- readonly currency: string;
213
- readonly created_at_iso: string;
214
- }
215
197
  interface WebhookEvent {
216
198
  readonly event_id: string;
217
199
  readonly created_time: string;
@@ -227,6 +209,8 @@ declare class OrderCapability {
227
209
  constructor(http: HttpClient);
228
210
  /** Retrieve an order by ID. Returns the UCP spec-compliant Order object. */
229
211
  get(id: string): Promise<UCPSpecOrder>;
212
+ /** Update an order with fulfillment events, adjustments, or status changes. */
213
+ update(id: string, payload: Record<string, unknown>): Promise<UCPSpecOrder>;
230
214
  }
231
215
 
232
216
  //#endregion
@@ -293,42 +277,9 @@ declare class IdentityLinkingCapability {
293
277
  private tokenRequest;
294
278
  }
295
279
 
296
- //#endregion
297
- //#region src/types/product.d.ts
298
- //# sourceMappingURL=identity-linking.d.ts.map
299
- interface UCPProduct {
300
- readonly id: string;
301
- readonly title: string;
302
- readonly description: string | null;
303
- readonly price_cents: number;
304
- readonly currency: string;
305
- readonly in_stock: boolean;
306
- readonly stock_quantity: number;
307
- readonly images: readonly string[];
308
- readonly variants: ReadonlyArray<{
309
- readonly id: string;
310
- readonly title: string;
311
- readonly price_cents: number;
312
- readonly in_stock: boolean;
313
- readonly attributes: Readonly<Record<string, string>>;
314
- }>;
315
- }
316
-
317
- //#endregion
318
- //#region src/capabilities/products.d.ts
319
- //# sourceMappingURL=product.d.ts.map
320
- /** Product catalog search and retrieval. Always available (gateway-specific, not part of UCP spec). */
321
- declare class ProductsCapability {
322
- private readonly http;
323
- constructor(http: HttpClient);
324
- /** Search products by query string with optional filters. */
325
- search(query: string, filters?: SearchFilters): Promise<readonly UCPProduct[]>;
326
- get(id: string): Promise<UCPProduct>;
327
- }
328
-
329
280
  //#endregion
330
281
  //#region src/types/config.d.ts
331
- //# sourceMappingURL=products.d.ts.map
282
+ //# sourceMappingURL=identity-linking.d.ts.map
332
283
  interface UCPClientConfig {
333
284
  readonly gatewayUrl: string;
334
285
  readonly agentProfileUrl: string;
@@ -364,14 +315,14 @@ interface ToolDescriptor {
364
315
  interface ConnectedClient {
365
316
  /** The server's UCP discovery profile. */
366
317
  readonly profile: UCPProfile;
318
+ /** JWK signing keys from the discovery profile. Used for verifying incoming webhook signatures. */
319
+ readonly signingKeys: readonly JWK[];
367
320
  /** Checkout operations. Null if server does not support `dev.ucp.shopping.checkout`. */
368
321
  readonly checkout: CheckoutCapability | null;
369
322
  /** Order operations. Null if server does not support `dev.ucp.shopping.order`. */
370
323
  readonly order: OrderCapability | null;
371
324
  /** OAuth 2.0 identity linking. Null if server does not support `dev.ucp.common.identity_linking`. */
372
325
  readonly identityLinking: IdentityLinkingCapability | null;
373
- /** Product search and retrieval. Always available (gateway-specific). */
374
- readonly products: ProductsCapability;
375
326
  /** Payment handlers declared by the server, keyed by namespace. */
376
327
  readonly paymentHandlers: PaymentHandlerMap;
377
328
  /** Returns only the tools this server supports (name + description only). */
@@ -490,5 +441,5 @@ type ToolErrorResult = {
490
441
  };
491
442
 
492
443
  //#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
444
+ export { AdapterOptions, AgentTool, AuthorizationParams, BuyerConsent, CardCredential$1 as CardCredential, CheckoutCapability, CheckoutExtensions, CheckoutSession, CheckoutSessionStatus, CompleteCheckoutPayload, ConnectedClient, CreateCheckoutPayload, DEFAULT_UCP_VERSION, IdentityLinkingCapability, JWK, JsonSchema, LocalizationContext, OAuthServerMetadata, OrderCapability, PaymentCredential, PaymentHandlerInstance, PaymentHandlerMap, PaymentInstrument, PostalAddress, TokenCredential$1 as TokenCredential, TokenExchangeParams, TokenRefreshParams, TokenResponse, TokenRevokeParams, ToolDescriptor, ToolErrorResult, UCPClient, UCPClientConfig, UCPProfile, UCPSpecOrder, UCP_CAPABILITIES, UpdateCheckoutPayload, WebhookEvent, connect, getAgentTools };
445
+ //# sourceMappingURL=catch-errors-s9k0IH2E.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catch-errors-s9k0IH2E.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/config.ts","../src/UCPClient.ts","../src/agent-tools.ts","../src/adapters/catch-errors.ts"],"sourcesContent":null,"mappings":"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"}