@omnixhq/ucp-client 2.5.0 → 3.0.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/dist/adapters/anthropic.cjs +2 -6
- package/dist/adapters/anthropic.cjs.map +1 -1
- package/dist/adapters/anthropic.d.cts +1 -1
- package/dist/adapters/anthropic.d.ts +1 -1
- package/dist/adapters/anthropic.js +2 -6
- package/dist/adapters/anthropic.js.map +1 -1
- package/dist/adapters/langchain.cjs +1 -1
- package/dist/adapters/langchain.d.cts +1 -1
- package/dist/adapters/langchain.d.ts +1 -1
- package/dist/adapters/langchain.js +1 -1
- package/dist/adapters/mcp.cjs +2 -6
- package/dist/adapters/mcp.cjs.map +1 -1
- package/dist/adapters/mcp.d.cts +1 -1
- package/dist/adapters/mcp.d.ts +1 -1
- package/dist/adapters/mcp.js +2 -6
- package/dist/adapters/mcp.js.map +1 -1
- package/dist/adapters/openai.cjs +2 -6
- package/dist/adapters/openai.cjs.map +1 -1
- package/dist/adapters/openai.d.cts +1 -1
- package/dist/adapters/openai.d.ts +1 -1
- package/dist/adapters/openai.js +2 -6
- package/dist/adapters/openai.js.map +1 -1
- package/dist/adapters/vercel-ai.cjs +1 -1
- package/dist/adapters/vercel-ai.d.cts +1 -1
- package/dist/adapters/vercel-ai.d.ts +1 -1
- package/dist/adapters/vercel-ai.js +1 -1
- package/dist/{catch-errors-DRxDkLOW.d.cts → catch-errors-B4orhUQa.d.cts} +2123 -385
- package/dist/catch-errors-B4orhUQa.d.cts.map +1 -0
- package/dist/{catch-errors-Cpn2vHir.js → catch-errors-CLgZxgI8.js} +9 -2
- package/dist/catch-errors-CLgZxgI8.js.map +1 -0
- package/dist/{catch-errors-DkF9AMDo.d.ts → catch-errors-CM_1SIc1.d.ts} +2126 -388
- package/dist/catch-errors-CM_1SIc1.d.ts.map +1 -0
- package/dist/{catch-errors-BZP237w4.cjs → catch-errors-tAkTCXMe.cjs} +14 -1
- package/dist/catch-errors-tAkTCXMe.cjs.map +1 -0
- package/dist/index.cjs +1203 -121
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -5
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +325 -16
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/catch-errors-BZP237w4.cjs.map +0 -1
- package/dist/catch-errors-Cpn2vHir.js.map +0 -1
- package/dist/catch-errors-DRxDkLOW.d.cts.map +0 -1
- package/dist/catch-errors-DkF9AMDo.d.ts.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AccountInfoSchema, AdapterOptions, AdjustmentSchema, AdjustmentStatusEnumSchema, AgentTool, Ap2MandateAp2WithCheckoutMandateSchema, Ap2MandateAp2WithMerchantAuthorizationSchema, Ap2MandateCheckoutMandateSchema, Ap2MandateErrorCodeSchema, Ap2MandateMerchantAuthorizationSchema, AuthorizationParams, BindingSchema, BusinessFulfillmentConfigSchema, BuyerConsent, BuyerConsentBuyerSchema, BuyerConsentConsentSchema, BuyerSchema, CapabilityBaseSchema, CapabilityBusinessSchema, CapabilityPlatformSchema, CapabilityResponseSchema, CardCredential, CardCredentialCardNumberTypeEnumSchema, CardCredentialSchema,
|
|
1
|
+
import { AccountInfoSchema, AdapterOptions, AdjustmentSchema, AdjustmentStatusEnumSchema, AgentTool, AmountSchema, Ap2MandateAp2WithCheckoutMandateSchema, Ap2MandateAp2WithMerchantAuthorizationSchema, Ap2MandateCheckoutMandateSchema, Ap2MandateErrorCodeSchema, Ap2MandateMerchantAuthorizationSchema, AuthorizationParams, AvailablePaymentInstrumentSchema, BindingSchema, BusinessFulfillmentConfigSchema, BuyerConsent, BuyerConsentBuyerSchema, BuyerConsentConsentSchema, BuyerSchema, CapabilityBaseSchema, CapabilityBusinessSchema, CapabilityPlatformSchema, CapabilityResponseSchema, CardCredential, CardCredentialCardNumberTypeEnumSchema, CardCredentialSchema, CardPaymentInstrumentAvailableCardPaymentInstrumentSchema, Cart, CartCapability, CartCreatePayload, CartCreateRequestSchema, CartResponseSchema, CartSchema, CartUpdatePayload, CartUpdateRequestSchema, CatalogCapability, CatalogExtensions, CatalogLookupResponse, CatalogLookupSchema, CatalogSearchResponse, CatalogSearchSchema, CategorySchema, CheckoutCapability, CheckoutCompleteRequestSchema, CheckoutCreateRequestSchema, CheckoutExtensions, CheckoutResponseSchema, CheckoutResponseStatusSchema, CheckoutSchema, CheckoutSession, CheckoutSessionSchema, CheckoutSessionStatus, CheckoutStatusEnumSchema, CheckoutUpdateRequestSchema, CompleteCheckoutPayload, CompleteCheckoutRequestSchema, ConnectedClient, ContextSchema, CreateCheckoutPayload, CreateCheckoutRequestSchema, DEFAULT_UCP_VERSION, DescriptionSchema, DetailOptionValue, DetailOptionValueSchema, DiscountAllocationSchema, DiscountAppliedDiscountMethodEnumSchema, DiscountAppliedDiscountSchema, DiscountDiscountsObjectSchema, EmbeddedConfigSchema, ErrorCodeSchema, ErrorResponseSchema, ExpectationMethodTypeEnumSchema, ExpectationSchema, FulfillmentAvailableMethodSchema, FulfillmentAvailableMethodTypeEnumSchema, FulfillmentDestinationSchema, FulfillmentEventSchema, FulfillmentExtensionFulfillmentAvailableMethodSchema, FulfillmentExtensionFulfillmentGroupSchema, FulfillmentExtensionFulfillmentMethodSchema, FulfillmentExtensionFulfillmentOptionSchema, FulfillmentExtensionFulfillmentSchema, FulfillmentGroupSchema, FulfillmentGroupUpdatePayload, FulfillmentGroupUpdateRequestSchema, FulfillmentMethodCreatePayload, FulfillmentMethodCreateRequestSchema, FulfillmentMethodResponseSchema, FulfillmentMethodSchema, FulfillmentMethodTypeEnumSchema, FulfillmentMethodUpdatePayload, FulfillmentMethodUpdateRequestSchema, FulfillmentOptionSchema, FulfillmentResponseSchema, FulfillmentSchema, IdentityLinkingCapability, InputCorrelationSchema, ItemResponseSchema, ItemSchema, JWK, JsonSchema, LineItemResponseSchema, LineItemSchema, LineItemUpdatePayload, LineItemUpdateRequestSchema, LinkSchema, LocalizationContext, MediaSchema, MerchantFulfillmentConfigSchema, MessageErrorContentTypeEnumSchema, MessageErrorSchema, MessageErrorSeverityEnumSchema, MessageInfoContentTypeEnumSchema, MessageInfoSchema, MessageSchema, MessageWarningContentTypeEnumSchema, MessageWarningSchema, OAuthServerMetadata, OptionValueSchema, OrderCapability, OrderConfirmationSchema, OrderLineItemSchema, OrderLineItemStatusEnumSchema, OrderUpdate, OrderUpdatePayload, OrderUpdateSchema, Pagination, PaginationSchema, PaymentCredential, PaymentCredentialSchema, PaymentHandlerBaseSchema, PaymentHandlerBusinessSchema, PaymentHandlerInstance, PaymentHandlerMap, PaymentHandlerPlatformSchema, PaymentHandlerResponseSchema, PaymentIdentitySchema, PaymentInstrument, PaymentInstrumentResponseSchema, PaymentInstrumentSchema, PaymentResponseSchema, PaymentSchema, PlatformFulfillmentConfigSchema, PostalAddress, PostalAddressSchema, PriceFilterSchema, PriceRangeSchema, PriceSchema, Product, ProductOptionSchema, ProductSchema, ProfileSchemaBaseSchema, ProfileSchemaBusinessProfileSchema, ProfileSchemaPlatformProfileSchema, ProfileSchemaSigningKeySchema, ProfileSchemaSigningKeyUseEnumSchema, RatingSchema, RetailLocationSchema, ReverseDomainNameSchema, SearchFilters, SearchFiltersSchema, SelectedOptionSchema, ServiceBaseSchema, ServiceBaseTransportEnumSchema, ServiceBusinessSchema, ServicePlatformSchema, ServiceResponseSchema, ShippingDestinationSchema, SignalsSchema, SignedAmountSchema, TokenCredential, TokenCredentialSchema, TokenExchangeParams, TokenRefreshParams, TokenResponse, TokenRevokeParams, ToolDescriptor, ToolErrorResult, TotalResponseSchema, TotalSchema, TotalsSchema, UCPClient, UCPClientConfig, UCPProfile, UCPProfileSchema, UCPSpecOrder, UCPSpecOrderSchema, UCP_CAPABILITIES, UcpBaseSchema, UcpBaseStatusEnumSchema, UcpBusinessSchema, UcpDiscoveryBusinessProfileSchema, UcpDiscoveryPlatformProfileSchema, UcpEntitySchema, UcpErrorSchema, UcpPlatformSchema, UcpRequiresSchema, UcpResponseCartSchema, UcpResponseCatalogSchema, UcpResponseCheckoutSchema, UcpResponseOrderSchema, UcpSigningKeySchema, UcpSigningKeySchema$1, UcpSuccessSchema, UcpVersionConstraintSchema, UcpVersionSchema, UpdateCheckoutPayload, UpdateCheckoutRequestSchema, Variant, VariantSchema, WebhookEvent, WebhookEventSchema, connect, getAgentTools } from "./catch-errors-CM_1SIc1.js";
|
|
2
2
|
|
|
3
3
|
//#region src/verify-signature.d.ts
|
|
4
4
|
/**
|
|
@@ -49,9 +49,9 @@ interface WebhookVerifier {
|
|
|
49
49
|
* if (!valid) return res.status(401).send('Invalid signature');
|
|
50
50
|
* ```
|
|
51
51
|
*/
|
|
52
|
-
declare function createWebhookVerifier(gatewayUrl: string
|
|
53
|
-
|
|
54
|
-
//#endregion
|
|
52
|
+
declare function createWebhookVerifier(gatewayUrl: string, options?: {
|
|
53
|
+
readonly refetchCooldownMs?: number;
|
|
54
|
+
}): WebhookVerifier; //#endregion
|
|
55
55
|
//#region src/parse-webhook-event.d.ts
|
|
56
56
|
//# sourceMappingURL=verify-signature.d.ts.map
|
|
57
57
|
/**
|
|
@@ -130,5 +130,5 @@ declare class UCPOAuthError extends Error {
|
|
|
130
130
|
//#endregion
|
|
131
131
|
//# sourceMappingURL=errors.d.ts.map
|
|
132
132
|
|
|
133
|
-
export { AccountInfoSchema, AdapterOptions, AdjustmentSchema, AdjustmentStatusEnumSchema, AgentTool, Ap2MandateAp2WithCheckoutMandateSchema, Ap2MandateAp2WithMerchantAuthorizationSchema, Ap2MandateCheckoutMandateSchema, Ap2MandateErrorCodeSchema, Ap2MandateMerchantAuthorizationSchema, AuthorizationParams, BindingSchema, BusinessFulfillmentConfigSchema, BuyerConsent, BuyerConsentBuyerSchema, BuyerConsentConsentSchema, BuyerSchema, CapabilityBaseSchema, CapabilityBusinessSchema, CapabilityPlatformSchema, CapabilityResponseSchema, CardCredential, CardCredentialCardNumberTypeEnumSchema, CardCredentialSchema,
|
|
133
|
+
export { AccountInfoSchema, AdapterOptions, AdjustmentSchema, AdjustmentStatusEnumSchema, AgentTool, AmountSchema, Ap2MandateAp2WithCheckoutMandateSchema, Ap2MandateAp2WithMerchantAuthorizationSchema, Ap2MandateCheckoutMandateSchema, Ap2MandateErrorCodeSchema, Ap2MandateMerchantAuthorizationSchema, AuthorizationParams, AvailablePaymentInstrumentSchema, BindingSchema, BusinessFulfillmentConfigSchema, BuyerConsent, BuyerConsentBuyerSchema, BuyerConsentConsentSchema, BuyerSchema, CapabilityBaseSchema, CapabilityBusinessSchema, CapabilityPlatformSchema, CapabilityResponseSchema, CardCredential, CardCredentialCardNumberTypeEnumSchema, CardCredentialSchema, CardPaymentInstrumentAvailableCardPaymentInstrumentSchema, Cart, CartCapability, CartCreatePayload, CartCreateRequestSchema, CartResponseSchema, CartSchema, CartUpdatePayload, CartUpdateRequestSchema, CatalogCapability, CatalogExtensions, CatalogLookupResponse, CatalogLookupSchema, CatalogSearchResponse, CatalogSearchSchema, CategorySchema, CheckoutCapability, CheckoutCompleteRequestSchema, CheckoutCreateRequestSchema, CheckoutExtensions, CheckoutResponseSchema, CheckoutResponseStatusSchema, CheckoutSchema, CheckoutSession, CheckoutSessionSchema, CheckoutSessionStatus, CheckoutStatusEnumSchema, CheckoutUpdateRequestSchema, CompleteCheckoutPayload, CompleteCheckoutRequestSchema, ConnectedClient, ContentType, ContextSchema, CreateCheckoutPayload, CreateCheckoutRequestSchema, DEFAULT_UCP_VERSION, DescriptionSchema, DetailOptionValue, DetailOptionValueSchema, DiscountAllocationSchema, DiscountAppliedDiscountMethodEnumSchema, DiscountAppliedDiscountSchema, DiscountDiscountsObjectSchema, EmbeddedConfigSchema, ErrorCodeSchema, ErrorResponseSchema, ExpectationMethodTypeEnumSchema, ExpectationSchema, FulfillmentAvailableMethodSchema, FulfillmentAvailableMethodTypeEnumSchema, FulfillmentDestinationSchema, FulfillmentEventSchema, FulfillmentExtensionFulfillmentAvailableMethodSchema, FulfillmentExtensionFulfillmentGroupSchema, FulfillmentExtensionFulfillmentMethodSchema, FulfillmentExtensionFulfillmentOptionSchema, FulfillmentExtensionFulfillmentSchema, FulfillmentGroupSchema, FulfillmentGroupUpdatePayload, FulfillmentGroupUpdateRequestSchema, FulfillmentMethodCreatePayload, FulfillmentMethodCreateRequestSchema, FulfillmentMethodResponseSchema, FulfillmentMethodSchema, FulfillmentMethodTypeEnumSchema, FulfillmentMethodUpdatePayload, FulfillmentMethodUpdateRequestSchema, FulfillmentOptionSchema, FulfillmentResponseSchema, FulfillmentSchema, IdentityLinkingCapability, InputCorrelationSchema, ItemResponseSchema, ItemSchema, JWK, UcpSigningKeySchema$1 as JWKSchema, JsonSchema, LineItemResponseSchema, LineItemSchema, LineItemUpdatePayload, LineItemUpdateRequestSchema, LinkSchema, LocalizationContext, MediaSchema, MerchantFulfillmentConfigSchema, MessageErrorContentTypeEnumSchema, MessageErrorSchema, MessageErrorSeverityEnumSchema, MessageInfoContentTypeEnumSchema, MessageInfoSchema, MessageSchema, MessageSeverity, MessageType, MessageWarningContentTypeEnumSchema, MessageWarningSchema, OAuthServerMetadata, OptionValueSchema, OrderCapability, OrderConfirmationSchema, OrderLineItemSchema, OrderLineItemStatusEnumSchema, OrderUpdate, OrderUpdatePayload, OrderUpdateSchema, Pagination, PaginationSchema, PaymentCredential, PaymentCredentialSchema, PaymentHandlerBaseSchema, PaymentHandlerBusinessSchema, PaymentHandlerInstance, PaymentHandlerMap, PaymentHandlerPlatformSchema, PaymentHandlerResponseSchema, PaymentIdentitySchema, PaymentInstrument, PaymentInstrumentResponseSchema, PaymentInstrumentSchema, PaymentResponseSchema, PaymentSchema, PlatformFulfillmentConfigSchema, PostalAddress, PostalAddressSchema, PriceFilterSchema, PriceRangeSchema, PriceSchema, Product, ProductOptionSchema, ProductSchema, ProfileSchemaBaseSchema, ProfileSchemaBusinessProfileSchema, ProfileSchemaPlatformProfileSchema, ProfileSchemaSigningKeySchema, ProfileSchemaSigningKeyUseEnumSchema, RatingSchema, RetailLocationSchema, ReverseDomainNameSchema, SearchFilters, SearchFiltersSchema, SelectedOptionSchema, ServiceBaseSchema, ServiceBaseTransportEnumSchema, ServiceBusinessSchema, ServicePlatformSchema, ServiceResponseSchema, ShippingDestinationSchema, SignalsSchema, SignedAmountSchema, TokenCredential, TokenCredentialSchema, TokenExchangeParams, TokenRefreshParams, TokenResponse, TokenRevokeParams, ToolDescriptor, ToolErrorResult, TotalResponseSchema, TotalSchema, TotalsSchema, UCPClient, UCPClientConfig, UCPError, UCPEscalationError, UCPIdempotencyConflictError, UCPMessage, UCPOAuthError, UCPProfile, UCPProfileSchema, UCPSpecOrder, UCPSpecOrderSchema, UCP_CAPABILITIES, UcpBaseSchema, UcpBaseStatusEnumSchema, UcpBusinessSchema, UcpDiscoveryBusinessProfileSchema, UcpDiscoveryPlatformProfileSchema, UcpEntitySchema, UcpErrorSchema, UcpPlatformSchema, UcpRequiresSchema, UcpResponseCartSchema, UcpResponseCatalogSchema, UcpResponseCheckoutSchema, UcpResponseOrderSchema, UcpSigningKeySchema, UcpSuccessSchema, UcpVersionConstraintSchema, UcpVersionSchema, UpdateCheckoutPayload, UpdateCheckoutRequestSchema, Variant, VariantSchema, WebhookEvent, WebhookEventSchema, WebhookVerifier, connect, createWebhookVerifier, getAgentTools, parseWebhookEvent, verifyRequestSignature };
|
|
134
134
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/verify-signature.ts","../src/parse-webhook-event.ts","../src/errors.ts"],"sourcesContent":null,"mappings":";;;;;;;;;;;;;;;;;;;iBAWsB,sBAAA,wDAGE,QACrB;;AAJH;;;;AAIU;;UAsEO,eAAA;;;;;wDAKuC;AALxD;;;;;;;;;;;;;;;;;;AAyBgB,iBAAA,qBAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/verify-signature.ts","../src/parse-webhook-event.ts","../src/errors.ts"],"sourcesContent":null,"mappings":";;;;;;;;;;;;;;;;;;;iBAWsB,sBAAA,wDAGE,QACrB;;AAJH;;;;AAIU;;UAsEO,eAAA;;;;;wDAKuC;AALxD;;;;;;;;;;;;;;;;;;AAyBgB,iBAAA,qBAAA,CAGb,UAAe,EAAA,MAAA,EAAA,QAAA,EAAA;;IAAf;;;;;;;;;;;;;AAtGH;;;;AAIU;;;;;;;;AAsEV;iBC1DgB,iBAAA,gBAAiC;;;;;KC3BrC,WAAA;KACA,eAAA;KAKA,WAAA;;UAGK,UAAA;iBACA;;;sBAGK;;;EFFA,SAAA,YAAA,CAAA,EEKI,WFLkB;;;AAIzC,cEKU,QAAA,SAAiB,KAAA,CFL3B;EAAO,SAAA,IAAA,EAAA,MAAA;iBEOO;;;;wBAIO;;8BAEM;EFyDb,WAAA,CAAA,IAAA,EAAe,MAAA,EAAA,OAKwB,EAAA,MAAO,EAAA,IAAA,CAAA,EEzDrD,WFyDqD,EAAA,UAAA,CAAA,EAAA,MAAA,EAAA,QAAA,EAAA;;2BErDlC;iCACM;;;;cAetB,2BAAA,SAAoC,QAAQ;;;;cAQ5C,kBAAA,SAA2B,KAAK;;;;;;cAYhC,aAAA,SAAsB,KAAK;EFqCxB,SAAA,UAAA,EAAA,MAAqB"}
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { UCPError, UCPEscalationError, UCPIdempotencyConflictError, UCPOAuthError } from "./errors-DX7yw6Gl.js";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { randomUUID } from "node:crypto";
|
|
4
|
-
import { AccountInfoSchema, AdjustmentSchema, AdjustmentStatusEnumSchema, Ap2MandateAp2WithCheckoutMandateSchema, Ap2MandateAp2WithMerchantAuthorizationSchema, Ap2MandateCheckoutMandateSchema, Ap2MandateErrorCodeSchema, Ap2MandateMerchantAuthorizationSchema, BindingSchema, BusinessFulfillmentConfigSchema, BuyerConsentBuyerSchema, BuyerConsentConsentSchema, BuyerSchema, CapabilityBaseSchema, CapabilityBusinessSchema, CapabilityPlatformSchema, CapabilityResponseSchema, CardCredentialCardNumberTypeEnumSchema, CardCredentialSchema,
|
|
4
|
+
import { AccountInfoSchema, AdjustmentSchema, AdjustmentStatusEnumSchema, AmountSchema, Ap2MandateAp2WithCheckoutMandateSchema, Ap2MandateAp2WithMerchantAuthorizationSchema, Ap2MandateCheckoutMandateSchema, Ap2MandateErrorCodeSchema, Ap2MandateMerchantAuthorizationSchema, AvailablePaymentInstrumentSchema, BindingSchema, BusinessFulfillmentConfigSchema, BuyerConsentBuyerSchema, BuyerConsentConsentSchema, BuyerSchema, CapabilityBaseSchema, CapabilityBusinessSchema, CapabilityPlatformSchema, CapabilityResponseSchema, CardCredentialCardNumberTypeEnumSchema, CardCredentialSchema, CardPaymentInstrumentAvailableCardPaymentInstrumentSchema, CartCreateRequestSchema, CartSchema, CartSchema as CartSchema$1, CartUpdateRequestSchema, CatalogLookupSchema, CatalogSearchSchema, CategorySchema, CheckoutCompleteRequestSchema, CheckoutCompleteRequestSchema as CheckoutCompleteRequestSchema$1, CheckoutCreateRequestSchema, CheckoutCreateRequestSchema as CheckoutCreateRequestSchema$1, CheckoutResponseSchema, CheckoutResponseSchema as CheckoutResponseSchema$1, CheckoutResponseStatusSchema, CheckoutSchema, CheckoutStatusEnumSchema, CheckoutUpdateRequestSchema, CheckoutUpdateRequestSchema as CheckoutUpdateRequestSchema$1, ContextSchema, DescriptionSchema, DetailOptionValueSchema, DiscountAllocationSchema, DiscountAppliedDiscountMethodEnumSchema, DiscountAppliedDiscountSchema, DiscountDiscountsObjectSchema, EmbeddedConfigSchema, ErrorCodeSchema, ErrorResponseSchema, ExpectationMethodTypeEnumSchema, ExpectationSchema, FulfillmentAvailableMethodSchema, FulfillmentAvailableMethodTypeEnumSchema, FulfillmentDestinationSchema, FulfillmentEventSchema, FulfillmentExtensionFulfillmentAvailableMethodSchema, FulfillmentExtensionFulfillmentGroupSchema, FulfillmentExtensionFulfillmentMethodSchema, FulfillmentExtensionFulfillmentOptionSchema, FulfillmentExtensionFulfillmentSchema, FulfillmentGroupSchema, FulfillmentGroupUpdateRequestSchema, FulfillmentMethodCreateRequestSchema, FulfillmentMethodResponseSchema, FulfillmentMethodSchema, FulfillmentMethodTypeEnumSchema, FulfillmentMethodUpdateRequestSchema, FulfillmentOptionSchema, FulfillmentResponseSchema, FulfillmentSchema, InputCorrelationSchema, ItemResponseSchema, ItemSchema, LineItemResponseSchema, LineItemSchema, LineItemUpdateRequestSchema, LinkSchema, MediaSchema, MerchantFulfillmentConfigSchema, MessageErrorContentTypeEnumSchema, MessageErrorSchema, MessageErrorSeverityEnumSchema, MessageInfoContentTypeEnumSchema, MessageInfoSchema, MessageSchema, MessageWarningContentTypeEnumSchema, MessageWarningSchema, OptionValueSchema, OrderConfirmationSchema, OrderLineItemSchema, OrderLineItemStatusEnumSchema, OrderSchema, OrderSchema as UCPSpecOrderSchema, OrderUpdateSchema, PaginationSchema, PaymentCredentialSchema, PaymentHandlerBaseSchema, PaymentHandlerBusinessSchema, PaymentHandlerPlatformSchema, PaymentHandlerResponseSchema, PaymentIdentitySchema, PaymentInstrumentResponseSchema, PaymentInstrumentSchema, PaymentResponseSchema, PaymentSchema, PlatformFulfillmentConfigSchema, PostalAddressSchema, PriceFilterSchema, PriceRangeSchema, PriceSchema, ProductOptionSchema, ProductSchema, ProfileSchemaBaseSchema, ProfileSchemaBusinessProfileSchema, ProfileSchemaPlatformProfileSchema, ProfileSchemaSigningKeySchema, ProfileSchemaSigningKeyUseEnumSchema, RatingSchema, RetailLocationSchema, ReverseDomainNameSchema, SearchFiltersSchema, SelectedOptionSchema, ServiceBaseSchema, ServiceBaseTransportEnumSchema, ServiceBusinessSchema, ServicePlatformSchema, ServiceResponseSchema, ShippingDestinationSchema, SignalsSchema, SignedAmountSchema, TokenCredentialSchema, TotalResponseSchema, TotalSchema, TotalsSchema, UcpBaseSchema, UcpBaseStatusEnumSchema, UcpBusinessSchema, UcpDiscoveryBusinessProfileSchema, UcpDiscoveryPlatformProfileSchema, UcpDiscoveryProfileSchema, UcpEntitySchema, UcpErrorSchema, UcpPlatformSchema, UcpRequiresSchema, UcpResponseCartSchema, UcpResponseCatalogSchema, UcpResponseCheckoutSchema, UcpResponseOrderSchema, UcpSigningKeySchema, UcpSigningKeySchema as UcpSigningKeySchema$1, UcpSuccessSchema, UcpVersionConstraintSchema, UcpVersionSchema, VariantSchema } from "@omnixhq/ucp-js-sdk";
|
|
5
5
|
|
|
6
6
|
//#region src/schemas.ts
|
|
7
|
-
const CheckoutSessionSchema = CheckoutResponseSchema;
|
|
7
|
+
const CheckoutSessionSchema = CheckoutResponseSchema$1;
|
|
8
8
|
const UCPProfileSchema = UcpDiscoveryProfileSchema;
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
9
|
+
const CartResponseSchema = CartSchema$1;
|
|
10
|
+
const CreateCheckoutRequestSchema = CheckoutCreateRequestSchema$1;
|
|
11
|
+
const UpdateCheckoutRequestSchema = CheckoutUpdateRequestSchema$1;
|
|
12
|
+
const CompleteCheckoutRequestSchema = CheckoutCompleteRequestSchema$1;
|
|
12
13
|
const WebhookEventSchema = z.object({
|
|
13
14
|
event_id: z.string(),
|
|
14
15
|
created_time: z.string(),
|
|
@@ -58,7 +59,7 @@ var HttpClient = class HttpClient {
|
|
|
58
59
|
headers,
|
|
59
60
|
...body !== void 0 ? { body: JSON.stringify(body) } : {}
|
|
60
61
|
});
|
|
61
|
-
const data = await
|
|
62
|
+
const data = await this.parseResponseBody(res);
|
|
62
63
|
if (!res.ok) this.throwFromResponse(data, res.status);
|
|
63
64
|
return data;
|
|
64
65
|
}
|
|
@@ -70,6 +71,18 @@ var HttpClient = class HttpClient {
|
|
|
70
71
|
}
|
|
71
72
|
return result.data;
|
|
72
73
|
}
|
|
74
|
+
async parseResponseBody(res) {
|
|
75
|
+
if (typeof res.text === "function") {
|
|
76
|
+
const text = await res.text();
|
|
77
|
+
try {
|
|
78
|
+
return JSON.parse(text);
|
|
79
|
+
} catch {
|
|
80
|
+
if (!res.ok) throw new UCPError("HTTP_ERROR", `Gateway returned ${res.status} with non-JSON body: ${text.slice(0, 200)}`, "error", res.status);
|
|
81
|
+
return {};
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return await res.json().catch(() => ({}));
|
|
85
|
+
}
|
|
73
86
|
throwFromResponse(data, statusCode) {
|
|
74
87
|
if (typeof data === "object" && data !== null && Array.isArray(data["messages"])) {
|
|
75
88
|
const rawMessages = data["messages"];
|
|
@@ -131,7 +144,7 @@ function parseMessages(rawMessages) {
|
|
|
131
144
|
const type = validTypes.includes(rawType) ? rawType : "error";
|
|
132
145
|
return {
|
|
133
146
|
type,
|
|
134
|
-
content: String(record["content"] ?? "Unknown error"),
|
|
147
|
+
content: String(record["content"] ?? record["text"] ?? record["message"] ?? "Unknown error"),
|
|
135
148
|
...record["code"] !== void 0 ? { code: String(record["code"]) } : {}
|
|
136
149
|
};
|
|
137
150
|
});
|
|
@@ -232,7 +245,7 @@ var OrderCapability = class {
|
|
|
232
245
|
/** Retrieve an order by ID. Returns the UCP spec-compliant Order object. */
|
|
233
246
|
async get(id) {
|
|
234
247
|
const data = await this.http.request("GET", `/orders/${encodeURIComponent(id)}`);
|
|
235
|
-
return this.http.validate(data,
|
|
248
|
+
return this.http.validate(data, UCPSpecOrderSchema);
|
|
236
249
|
}
|
|
237
250
|
/** Update an order with fulfillment events, adjustments, or status changes. */
|
|
238
251
|
async update(id, payload) {
|
|
@@ -246,6 +259,58 @@ var OrderCapability = class {
|
|
|
246
259
|
}
|
|
247
260
|
};
|
|
248
261
|
|
|
262
|
+
//#endregion
|
|
263
|
+
//#region src/capabilities/catalog.ts
|
|
264
|
+
/**
|
|
265
|
+
* Catalog operations. Available when the server declares
|
|
266
|
+
* `dev.ucp.shopping.catalog.search` and/or `dev.ucp.shopping.catalog.lookup`.
|
|
267
|
+
*/
|
|
268
|
+
var CatalogCapability = class {
|
|
269
|
+
extensions;
|
|
270
|
+
constructor(http, extensions) {
|
|
271
|
+
this.http = http;
|
|
272
|
+
this.extensions = extensions;
|
|
273
|
+
}
|
|
274
|
+
async search(query, filters, pagination) {
|
|
275
|
+
const payload = {
|
|
276
|
+
query,
|
|
277
|
+
...filters !== void 0 ? { filters } : {},
|
|
278
|
+
...pagination !== void 0 ? { pagination } : {}
|
|
279
|
+
};
|
|
280
|
+
const data = await this.http.request("POST", "/catalog/search", payload);
|
|
281
|
+
return this.http.validate(data, CatalogSearchSchema);
|
|
282
|
+
}
|
|
283
|
+
async getProduct(productId) {
|
|
284
|
+
const data = await this.http.request("POST", "/catalog/product", { id: productId });
|
|
285
|
+
return this.http.validate(data, CatalogLookupSchema);
|
|
286
|
+
}
|
|
287
|
+
};
|
|
288
|
+
|
|
289
|
+
//#endregion
|
|
290
|
+
//#region src/capabilities/cart.ts
|
|
291
|
+
/** Cart operations. Available when the server declares `dev.ucp.shopping.cart`. */
|
|
292
|
+
var CartCapability = class {
|
|
293
|
+
constructor(http) {
|
|
294
|
+
this.http = http;
|
|
295
|
+
}
|
|
296
|
+
async create(payload) {
|
|
297
|
+
const data = await this.http.request("POST", "/carts", payload);
|
|
298
|
+
return this.http.validate(data, CartResponseSchema);
|
|
299
|
+
}
|
|
300
|
+
async get(id) {
|
|
301
|
+
const data = await this.http.request("GET", `/carts/${encodeURIComponent(id)}`);
|
|
302
|
+
return this.http.validate(data, CartResponseSchema);
|
|
303
|
+
}
|
|
304
|
+
async update(id, payload) {
|
|
305
|
+
const data = await this.http.request("PUT", `/carts/${encodeURIComponent(id)}`, payload);
|
|
306
|
+
return this.http.validate(data, CartResponseSchema);
|
|
307
|
+
}
|
|
308
|
+
async cancel(id) {
|
|
309
|
+
const data = await this.http.request("POST", `/carts/${encodeURIComponent(id)}/cancel`);
|
|
310
|
+
return this.http.validate(data, CartResponseSchema);
|
|
311
|
+
}
|
|
312
|
+
};
|
|
313
|
+
|
|
249
314
|
//#endregion
|
|
250
315
|
//#region src/capabilities/identity-linking.ts
|
|
251
316
|
const TokenResponseSchema = z.object({
|
|
@@ -313,8 +378,16 @@ var IdentityLinkingCapability = class {
|
|
|
313
378
|
},
|
|
314
379
|
body: body.toString()
|
|
315
380
|
});
|
|
316
|
-
if (!res.ok)
|
|
317
|
-
|
|
381
|
+
if (!res.ok) {
|
|
382
|
+
const errorBody = await res.text().catch(() => "");
|
|
383
|
+
throw new UCPOAuthError(`Token exchange failed with status ${res.status}${errorBody ? `: ${errorBody.slice(0, 200)}` : ""}`, res.status);
|
|
384
|
+
}
|
|
385
|
+
let raw;
|
|
386
|
+
try {
|
|
387
|
+
raw = await res.json();
|
|
388
|
+
} catch {
|
|
389
|
+
throw new UCPOAuthError("Token endpoint returned non-JSON response", res.status);
|
|
390
|
+
}
|
|
318
391
|
const parsed = TokenResponseSchema.safeParse(raw);
|
|
319
392
|
if (!parsed.success) throw new UCPOAuthError(`Invalid token response: ${parsed.error.message}`, res.status);
|
|
320
393
|
return parsed.data;
|
|
@@ -333,6 +406,9 @@ const UCP_CAPABILITIES = {
|
|
|
333
406
|
DISCOUNT: "dev.ucp.shopping.discount",
|
|
334
407
|
BUYER_CONSENT: "dev.ucp.shopping.buyer_consent",
|
|
335
408
|
ORDER: "dev.ucp.shopping.order",
|
|
409
|
+
CATALOG_SEARCH: "dev.ucp.shopping.catalog.search",
|
|
410
|
+
CATALOG_LOOKUP: "dev.ucp.shopping.catalog.lookup",
|
|
411
|
+
CART: "dev.ucp.shopping.cart",
|
|
336
412
|
IDENTITY_LINKING: "dev.ucp.common.identity_linking",
|
|
337
413
|
AP2_MANDATE: "dev.ucp.shopping.ap2_mandate"
|
|
338
414
|
};
|
|
@@ -381,6 +457,11 @@ function getAgentTools(client) {
|
|
|
381
457
|
if (client.checkout.extensions.discount) tools.push(...discountTools(client));
|
|
382
458
|
}
|
|
383
459
|
if (client.order) tools.push(...orderTools(client));
|
|
460
|
+
if (client.catalog) {
|
|
461
|
+
if (client.catalog.extensions.search) tools.push(...catalogSearchTools(client));
|
|
462
|
+
if (client.catalog.extensions.lookup) tools.push(...catalogLookupTools(client));
|
|
463
|
+
}
|
|
464
|
+
if (client.cart) tools.push(...cartTools(client));
|
|
384
465
|
if (client.identityLinking) tools.push(...identityLinkingTools(client));
|
|
385
466
|
return tools;
|
|
386
467
|
}
|
|
@@ -815,6 +896,180 @@ function orderTools(client) {
|
|
|
815
896
|
}
|
|
816
897
|
];
|
|
817
898
|
}
|
|
899
|
+
function catalogSearchTools(client) {
|
|
900
|
+
return [{
|
|
901
|
+
name: "search_catalog",
|
|
902
|
+
description: "Search the product catalog by query. Returns matching products with pagination.",
|
|
903
|
+
parameters: {
|
|
904
|
+
type: "object",
|
|
905
|
+
properties: {
|
|
906
|
+
query: {
|
|
907
|
+
type: "string",
|
|
908
|
+
description: "Search query string"
|
|
909
|
+
},
|
|
910
|
+
filters: {
|
|
911
|
+
type: "object",
|
|
912
|
+
description: "Optional search filters",
|
|
913
|
+
properties: {
|
|
914
|
+
categories: {
|
|
915
|
+
type: "array",
|
|
916
|
+
items: {
|
|
917
|
+
type: "object",
|
|
918
|
+
properties: {
|
|
919
|
+
value: { type: "string" },
|
|
920
|
+
taxonomy: { type: "string" }
|
|
921
|
+
}
|
|
922
|
+
},
|
|
923
|
+
description: "Category filters"
|
|
924
|
+
},
|
|
925
|
+
price: {
|
|
926
|
+
type: "object",
|
|
927
|
+
description: "Price range filter",
|
|
928
|
+
properties: {
|
|
929
|
+
min: { type: "number" },
|
|
930
|
+
max: { type: "number" }
|
|
931
|
+
}
|
|
932
|
+
}
|
|
933
|
+
}
|
|
934
|
+
},
|
|
935
|
+
pagination: {
|
|
936
|
+
type: "object",
|
|
937
|
+
description: "Pagination parameters"
|
|
938
|
+
}
|
|
939
|
+
},
|
|
940
|
+
required: ["query"]
|
|
941
|
+
},
|
|
942
|
+
execute: async (params) => client.catalog.search(params["query"], params["filters"], params["pagination"])
|
|
943
|
+
}];
|
|
944
|
+
}
|
|
945
|
+
function catalogLookupTools(client) {
|
|
946
|
+
return [{
|
|
947
|
+
name: "get_product",
|
|
948
|
+
description: "Get full product details by ID, including variants, pricing, and media.",
|
|
949
|
+
parameters: {
|
|
950
|
+
type: "object",
|
|
951
|
+
properties: { product_id: {
|
|
952
|
+
type: "string",
|
|
953
|
+
description: "Product ID"
|
|
954
|
+
} },
|
|
955
|
+
required: ["product_id"]
|
|
956
|
+
},
|
|
957
|
+
execute: async (params) => client.catalog.getProduct(params["product_id"])
|
|
958
|
+
}];
|
|
959
|
+
}
|
|
960
|
+
function cartTools(client) {
|
|
961
|
+
return [
|
|
962
|
+
{
|
|
963
|
+
name: "create_cart",
|
|
964
|
+
description: "Create a new cart with line items. Returns the cart with an ID for subsequent operations.",
|
|
965
|
+
parameters: {
|
|
966
|
+
type: "object",
|
|
967
|
+
properties: {
|
|
968
|
+
line_items: {
|
|
969
|
+
type: "array",
|
|
970
|
+
description: "Items to add to the cart",
|
|
971
|
+
items: {
|
|
972
|
+
type: "object",
|
|
973
|
+
properties: {
|
|
974
|
+
item: {
|
|
975
|
+
type: "object",
|
|
976
|
+
properties: { id: {
|
|
977
|
+
type: "string",
|
|
978
|
+
description: "Product or variant ID"
|
|
979
|
+
} },
|
|
980
|
+
required: ["id"]
|
|
981
|
+
},
|
|
982
|
+
quantity: {
|
|
983
|
+
type: "number",
|
|
984
|
+
description: "Quantity"
|
|
985
|
+
}
|
|
986
|
+
},
|
|
987
|
+
required: ["item", "quantity"]
|
|
988
|
+
}
|
|
989
|
+
},
|
|
990
|
+
context: {
|
|
991
|
+
type: "object",
|
|
992
|
+
description: "Localization context"
|
|
993
|
+
},
|
|
994
|
+
buyer: {
|
|
995
|
+
type: "object",
|
|
996
|
+
description: "Buyer information"
|
|
997
|
+
}
|
|
998
|
+
},
|
|
999
|
+
required: ["line_items"]
|
|
1000
|
+
},
|
|
1001
|
+
execute: async (params) => client.cart.create(params)
|
|
1002
|
+
},
|
|
1003
|
+
{
|
|
1004
|
+
name: "get_cart",
|
|
1005
|
+
description: "Get the current state of a cart by ID, including line items, totals, and messages.",
|
|
1006
|
+
parameters: {
|
|
1007
|
+
type: "object",
|
|
1008
|
+
properties: { id: {
|
|
1009
|
+
type: "string",
|
|
1010
|
+
description: "Cart ID"
|
|
1011
|
+
} },
|
|
1012
|
+
required: ["id"]
|
|
1013
|
+
},
|
|
1014
|
+
execute: async (params) => client.cart.get(params["id"])
|
|
1015
|
+
},
|
|
1016
|
+
{
|
|
1017
|
+
name: "update_cart",
|
|
1018
|
+
description: "Update an existing cart with changed line items, context, or buyer information.",
|
|
1019
|
+
parameters: {
|
|
1020
|
+
type: "object",
|
|
1021
|
+
properties: {
|
|
1022
|
+
id: {
|
|
1023
|
+
type: "string",
|
|
1024
|
+
description: "Cart ID"
|
|
1025
|
+
},
|
|
1026
|
+
line_items: {
|
|
1027
|
+
type: "array",
|
|
1028
|
+
description: "Updated line items",
|
|
1029
|
+
items: {
|
|
1030
|
+
type: "object",
|
|
1031
|
+
properties: {
|
|
1032
|
+
item: {
|
|
1033
|
+
type: "object",
|
|
1034
|
+
properties: { id: { type: "string" } },
|
|
1035
|
+
required: ["id"]
|
|
1036
|
+
},
|
|
1037
|
+
quantity: { type: "number" }
|
|
1038
|
+
},
|
|
1039
|
+
required: ["item", "quantity"]
|
|
1040
|
+
}
|
|
1041
|
+
},
|
|
1042
|
+
context: {
|
|
1043
|
+
type: "object",
|
|
1044
|
+
description: "Updated localization context"
|
|
1045
|
+
},
|
|
1046
|
+
buyer: {
|
|
1047
|
+
type: "object",
|
|
1048
|
+
description: "Updated buyer information"
|
|
1049
|
+
}
|
|
1050
|
+
},
|
|
1051
|
+
required: ["id"]
|
|
1052
|
+
},
|
|
1053
|
+
execute: async (params) => {
|
|
1054
|
+
const { id,...payload } = params;
|
|
1055
|
+
return client.cart.update(id, payload);
|
|
1056
|
+
}
|
|
1057
|
+
},
|
|
1058
|
+
{
|
|
1059
|
+
name: "cancel_cart",
|
|
1060
|
+
description: "Cancel a cart by ID. Returns the final cart state before cleanup.",
|
|
1061
|
+
parameters: {
|
|
1062
|
+
type: "object",
|
|
1063
|
+
properties: { id: {
|
|
1064
|
+
type: "string",
|
|
1065
|
+
description: "Cart ID"
|
|
1066
|
+
} },
|
|
1067
|
+
required: ["id"]
|
|
1068
|
+
},
|
|
1069
|
+
execute: async (params) => client.cart.cancel(params["id"])
|
|
1070
|
+
}
|
|
1071
|
+
];
|
|
1072
|
+
}
|
|
818
1073
|
function identityLinkingTools(client) {
|
|
819
1074
|
return [
|
|
820
1075
|
{
|
|
@@ -954,6 +1209,8 @@ async function connect(config, options) {
|
|
|
954
1209
|
const capabilityNames = extractCapabilityNames(profile);
|
|
955
1210
|
const checkout = buildCheckoutCapability(http, capabilityNames);
|
|
956
1211
|
const order = capabilityNames.has(UCP_CAPABILITIES.ORDER) ? new OrderCapability(http) : null;
|
|
1212
|
+
const catalog = buildCatalogCapability(http, capabilityNames);
|
|
1213
|
+
const cart = capabilityNames.has(UCP_CAPABILITIES.CART) ? new CartCapability(http) : null;
|
|
957
1214
|
const identityLinking = await buildIdentityLinking(config, capabilityNames);
|
|
958
1215
|
const paymentHandlers = extractPaymentHandlers(profile);
|
|
959
1216
|
const signingKeys = extractSigningKeys(profile);
|
|
@@ -962,9 +1219,11 @@ async function connect(config, options) {
|
|
|
962
1219
|
signingKeys,
|
|
963
1220
|
checkout,
|
|
964
1221
|
order,
|
|
1222
|
+
catalog,
|
|
1223
|
+
cart,
|
|
965
1224
|
identityLinking,
|
|
966
1225
|
paymentHandlers,
|
|
967
|
-
describeTools: () => buildToolDescriptors(checkout, order, identityLinking),
|
|
1226
|
+
describeTools: () => buildToolDescriptors(checkout, order, catalog, cart, identityLinking),
|
|
968
1227
|
getAgentTools: () => getAgentTools(client)
|
|
969
1228
|
};
|
|
970
1229
|
return Object.freeze(client);
|
|
@@ -1019,6 +1278,14 @@ function buildCheckoutCapability(http, capabilityNames) {
|
|
|
1019
1278
|
};
|
|
1020
1279
|
return new CheckoutCapability(http, extensions);
|
|
1021
1280
|
}
|
|
1281
|
+
function buildCatalogCapability(http, capabilityNames) {
|
|
1282
|
+
const extensions = {
|
|
1283
|
+
search: capabilityNames.has(UCP_CAPABILITIES.CATALOG_SEARCH),
|
|
1284
|
+
lookup: capabilityNames.has(UCP_CAPABILITIES.CATALOG_LOOKUP)
|
|
1285
|
+
};
|
|
1286
|
+
if (!extensions.search && !extensions.lookup) return null;
|
|
1287
|
+
return new CatalogCapability(http, extensions);
|
|
1288
|
+
}
|
|
1022
1289
|
const OAuthServerMetadataSchema = z.object({
|
|
1023
1290
|
issuer: z.string(),
|
|
1024
1291
|
authorization_endpoint: z.string().url(),
|
|
@@ -1036,12 +1303,17 @@ async function buildIdentityLinking(config, capabilityNames) {
|
|
|
1036
1303
|
const metadataUrl = `${gatewayUrl}/.well-known/oauth-authorization-server`;
|
|
1037
1304
|
const res = await fetch(metadataUrl);
|
|
1038
1305
|
if (!res.ok) throw new Error(`Identity linking capability declared but OAuth metadata fetch failed: ${res.status} from ${metadataUrl}`);
|
|
1039
|
-
|
|
1306
|
+
let raw;
|
|
1307
|
+
try {
|
|
1308
|
+
raw = await res.json();
|
|
1309
|
+
} catch {
|
|
1310
|
+
throw new Error(`Identity linking OAuth metadata endpoint returned non-JSON response from ${metadataUrl}`);
|
|
1311
|
+
}
|
|
1040
1312
|
const parsed = OAuthServerMetadataSchema.safeParse(raw);
|
|
1041
1313
|
if (!parsed.success) throw new Error(`Identity linking OAuth metadata validation failed: ${parsed.error.message}`);
|
|
1042
1314
|
return new IdentityLinkingCapability(parsed.data);
|
|
1043
1315
|
}
|
|
1044
|
-
function buildToolDescriptors(checkout, order, identityLinking) {
|
|
1316
|
+
function buildToolDescriptors(checkout, order, catalog, cart, identityLinking) {
|
|
1045
1317
|
const tools = [];
|
|
1046
1318
|
if (checkout) {
|
|
1047
1319
|
tools.push({
|
|
@@ -1109,6 +1381,35 @@ function buildToolDescriptors(checkout, order, identityLinking) {
|
|
|
1109
1381
|
capability: "order",
|
|
1110
1382
|
description: "Update a line item within an order"
|
|
1111
1383
|
});
|
|
1384
|
+
if (catalog) {
|
|
1385
|
+
if (catalog.extensions.search) tools.push({
|
|
1386
|
+
name: "search_catalog",
|
|
1387
|
+
capability: "catalog",
|
|
1388
|
+
description: "Search the product catalog"
|
|
1389
|
+
});
|
|
1390
|
+
if (catalog.extensions.lookup) tools.push({
|
|
1391
|
+
name: "get_product",
|
|
1392
|
+
capability: "catalog",
|
|
1393
|
+
description: "Get product details by ID"
|
|
1394
|
+
});
|
|
1395
|
+
}
|
|
1396
|
+
if (cart) tools.push({
|
|
1397
|
+
name: "create_cart",
|
|
1398
|
+
capability: "cart",
|
|
1399
|
+
description: "Create a new cart"
|
|
1400
|
+
}, {
|
|
1401
|
+
name: "get_cart",
|
|
1402
|
+
capability: "cart",
|
|
1403
|
+
description: "Get cart by ID"
|
|
1404
|
+
}, {
|
|
1405
|
+
name: "update_cart",
|
|
1406
|
+
capability: "cart",
|
|
1407
|
+
description: "Update an existing cart"
|
|
1408
|
+
}, {
|
|
1409
|
+
name: "cancel_cart",
|
|
1410
|
+
capability: "cart",
|
|
1411
|
+
description: "Cancel a cart"
|
|
1412
|
+
});
|
|
1112
1413
|
if (identityLinking) tools.push({
|
|
1113
1414
|
name: "get_authorization_url",
|
|
1114
1415
|
capability: "identity_linking",
|
|
@@ -1196,10 +1497,12 @@ async function verifyRequestSignature(body, signature, signingKeys) {
|
|
|
1196
1497
|
* if (!valid) return res.status(401).send('Invalid signature');
|
|
1197
1498
|
* ```
|
|
1198
1499
|
*/
|
|
1199
|
-
function createWebhookVerifier(gatewayUrl) {
|
|
1500
|
+
function createWebhookVerifier(gatewayUrl, options) {
|
|
1200
1501
|
const baseUrl = gatewayUrl.replace(/\/+$/, "");
|
|
1502
|
+
const refetchCooldownMs = options?.refetchCooldownMs ?? 6e4;
|
|
1201
1503
|
const keyCache = new Map();
|
|
1202
1504
|
let fetched = false;
|
|
1505
|
+
let lastRefetchTime = 0;
|
|
1203
1506
|
let loadingPromise = null;
|
|
1204
1507
|
async function loadKeys() {
|
|
1205
1508
|
const res = await fetch(`${baseUrl}/.well-known/ucp`);
|
|
@@ -1236,7 +1539,13 @@ function createWebhookVerifier(gatewayUrl) {
|
|
|
1236
1539
|
const kid = extractKid(signature);
|
|
1237
1540
|
if (kid === null) return false;
|
|
1238
1541
|
if (!fetched) await ensureKeys();
|
|
1239
|
-
if (!keyCache.has(kid))
|
|
1542
|
+
if (!keyCache.has(kid)) {
|
|
1543
|
+
const now = Date.now();
|
|
1544
|
+
if (now - lastRefetchTime >= refetchCooldownMs) {
|
|
1545
|
+
lastRefetchTime = now;
|
|
1546
|
+
await ensureKeys();
|
|
1547
|
+
}
|
|
1548
|
+
}
|
|
1240
1549
|
const key = keyCache.get(kid);
|
|
1241
1550
|
if (!key) return false;
|
|
1242
1551
|
return verifyRequestSignature(body, signature, [key]);
|
|
@@ -1300,5 +1609,5 @@ function parseWebhookEvent(body) {
|
|
|
1300
1609
|
}
|
|
1301
1610
|
|
|
1302
1611
|
//#endregion
|
|
1303
|
-
export { AccountInfoSchema, AdjustmentSchema, AdjustmentStatusEnumSchema, Ap2MandateAp2WithCheckoutMandateSchema, Ap2MandateAp2WithMerchantAuthorizationSchema, Ap2MandateCheckoutMandateSchema, Ap2MandateErrorCodeSchema, Ap2MandateMerchantAuthorizationSchema, BindingSchema, BusinessFulfillmentConfigSchema, BuyerConsentBuyerSchema, BuyerConsentConsentSchema, BuyerSchema, CapabilityBaseSchema, CapabilityBusinessSchema, CapabilityPlatformSchema, CapabilityResponseSchema, CardCredentialCardNumberTypeEnumSchema, CardCredentialSchema,
|
|
1612
|
+
export { AccountInfoSchema, AdjustmentSchema, AdjustmentStatusEnumSchema, AmountSchema, Ap2MandateAp2WithCheckoutMandateSchema, Ap2MandateAp2WithMerchantAuthorizationSchema, Ap2MandateCheckoutMandateSchema, Ap2MandateErrorCodeSchema, Ap2MandateMerchantAuthorizationSchema, AvailablePaymentInstrumentSchema, BindingSchema, BusinessFulfillmentConfigSchema, BuyerConsentBuyerSchema, BuyerConsentConsentSchema, BuyerSchema, CapabilityBaseSchema, CapabilityBusinessSchema, CapabilityPlatformSchema, CapabilityResponseSchema, CardCredentialCardNumberTypeEnumSchema, CardCredentialSchema, CardPaymentInstrumentAvailableCardPaymentInstrumentSchema, CartCapability, CartCreateRequestSchema, CartResponseSchema, CartSchema, CartUpdateRequestSchema, CatalogCapability, CatalogLookupSchema, CatalogSearchSchema, CategorySchema, CheckoutCapability, CheckoutCompleteRequestSchema, CheckoutCreateRequestSchema, CheckoutResponseSchema, CheckoutResponseStatusSchema, CheckoutSchema, CheckoutSessionSchema, CheckoutStatusEnumSchema, CheckoutUpdateRequestSchema, CompleteCheckoutRequestSchema, ContextSchema, CreateCheckoutRequestSchema, DEFAULT_UCP_VERSION, DescriptionSchema, DetailOptionValueSchema, DiscountAllocationSchema, DiscountAppliedDiscountMethodEnumSchema, DiscountAppliedDiscountSchema, DiscountDiscountsObjectSchema, EmbeddedConfigSchema, ErrorCodeSchema, ErrorResponseSchema, ExpectationMethodTypeEnumSchema, ExpectationSchema, FulfillmentAvailableMethodSchema, FulfillmentAvailableMethodTypeEnumSchema, FulfillmentDestinationSchema, FulfillmentEventSchema, FulfillmentExtensionFulfillmentAvailableMethodSchema, FulfillmentExtensionFulfillmentGroupSchema, FulfillmentExtensionFulfillmentMethodSchema, FulfillmentExtensionFulfillmentOptionSchema, FulfillmentExtensionFulfillmentSchema, FulfillmentGroupSchema, FulfillmentGroupUpdateRequestSchema, FulfillmentMethodCreateRequestSchema, FulfillmentMethodResponseSchema, FulfillmentMethodSchema, FulfillmentMethodTypeEnumSchema, FulfillmentMethodUpdateRequestSchema, FulfillmentOptionSchema, FulfillmentResponseSchema, FulfillmentSchema, IdentityLinkingCapability, InputCorrelationSchema, ItemResponseSchema, ItemSchema, UcpSigningKeySchema as JWKSchema, LineItemResponseSchema, LineItemSchema, LineItemUpdateRequestSchema, LinkSchema, MediaSchema, MerchantFulfillmentConfigSchema, MessageErrorContentTypeEnumSchema, MessageErrorSchema, MessageErrorSeverityEnumSchema, MessageInfoContentTypeEnumSchema, MessageInfoSchema, MessageSchema, MessageWarningContentTypeEnumSchema, MessageWarningSchema, OptionValueSchema, OrderCapability, OrderConfirmationSchema, OrderLineItemSchema, OrderLineItemStatusEnumSchema, OrderUpdateSchema, PaginationSchema, PaymentCredentialSchema, PaymentHandlerBaseSchema, PaymentHandlerBusinessSchema, PaymentHandlerPlatformSchema, PaymentHandlerResponseSchema, PaymentIdentitySchema, PaymentInstrumentResponseSchema, PaymentInstrumentSchema, PaymentResponseSchema, PaymentSchema, PlatformFulfillmentConfigSchema, PostalAddressSchema, PriceFilterSchema, PriceRangeSchema, PriceSchema, ProductOptionSchema, ProductSchema, ProfileSchemaBaseSchema, ProfileSchemaBusinessProfileSchema, ProfileSchemaPlatformProfileSchema, ProfileSchemaSigningKeySchema, ProfileSchemaSigningKeyUseEnumSchema, RatingSchema, RetailLocationSchema, ReverseDomainNameSchema, SearchFiltersSchema, SelectedOptionSchema, ServiceBaseSchema, ServiceBaseTransportEnumSchema, ServiceBusinessSchema, ServicePlatformSchema, ServiceResponseSchema, ShippingDestinationSchema, SignalsSchema, SignedAmountSchema, TokenCredentialSchema, TotalResponseSchema, TotalSchema, TotalsSchema, UCPClient, UCPError, UCPEscalationError, UCPIdempotencyConflictError, UCPOAuthError, UCPProfileSchema, UCPSpecOrderSchema, UCP_CAPABILITIES, UcpBaseSchema, UcpBaseStatusEnumSchema, UcpBusinessSchema, UcpDiscoveryBusinessProfileSchema, UcpDiscoveryPlatformProfileSchema, UcpEntitySchema, UcpErrorSchema, UcpPlatformSchema, UcpRequiresSchema, UcpResponseCartSchema, UcpResponseCatalogSchema, UcpResponseCheckoutSchema, UcpResponseOrderSchema, UcpSigningKeySchema$1 as UcpSigningKeySchema, UcpSuccessSchema, UcpVersionConstraintSchema, UcpVersionSchema, UpdateCheckoutRequestSchema, VariantSchema, WebhookEventSchema, connect, createWebhookVerifier, getAgentTools, parseWebhookEvent, verifyRequestSignature };
|
|
1304
1613
|
//# sourceMappingURL=index.js.map
|