@artos-commerce/ucp-client 0.5.0 → 0.7.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.
@@ -20,3 +20,80 @@ export interface DeliveredAsset {
20
20
  * `object_id` (digital `delivered` events never do).
21
21
  */
22
22
  export declare function deliveredAssets(body: UcpResponse | undefined): DeliveredAsset[];
23
+ /**
24
+ * A UCP `retail_location` (a store branch offered as a pickup/dine-in
25
+ * destination), carrying the `sh.artos.food.retail_location` extension fields
26
+ * verbatim (snake_case) so a host can render address/hours/geo/ETA/coverage
27
+ * without re-mapping. Every extension field is optional.
28
+ */
29
+ export interface RetailLocation {
30
+ id: string;
31
+ name?: string;
32
+ address?: Record<string, unknown>;
33
+ external_id?: string;
34
+ business_hours?: unknown[];
35
+ timezone?: string;
36
+ geo?: {
37
+ latitude?: number;
38
+ longitude?: number;
39
+ };
40
+ is_active?: boolean;
41
+ delivery_coverage?: {
42
+ postal_codes?: string[];
43
+ radius_km?: number;
44
+ };
45
+ supported_fulfillment_types?: string[];
46
+ eta_minutes?: number;
47
+ pickup_instructions?: string;
48
+ payment_methods?: string[];
49
+ hours_exceptions?: Array<{
50
+ date: string;
51
+ closed?: boolean;
52
+ open?: string;
53
+ close?: string;
54
+ }>;
55
+ }
56
+ /**
57
+ * All pickup/dine-in branches offered on a checkout
58
+ * (`fulfillment.methods[].destinations[]`), deduped by id across methods so an
59
+ * agent can present the branch list. Returns `[]` when none are offered.
60
+ */
61
+ export declare function retailLocations(checkout: UcpResponse | undefined): RetailLocation[];
62
+ /**
63
+ * The buyer's chosen pickup destination id, read from the first method that
64
+ * carries a non-null `selected_destination_id`. Undefined when the buyer has
65
+ * not yet selected a branch.
66
+ */
67
+ export declare function selectedDestinationId(checkout: UcpResponse | undefined): string | undefined;
68
+ /** A buyer-action the store is waiting on before a checkout can complete. */
69
+ export type BuyerActionCode = 'select_destination' | 'schedule_delivery';
70
+ /**
71
+ * Pending F&B buyer-action codes the store surfaced in `messages[]` — the buyer
72
+ * must pick a branch (`select_destination`) and/or a delivery time
73
+ * (`schedule_delivery`) before the checkout can complete. Order-preserving and
74
+ * deduped; `[]` when no buyer input is outstanding.
75
+ */
76
+ export declare function pendingBuyerActions(checkout: UcpResponse | undefined): BuyerActionCode[];
77
+ /**
78
+ * The scheduled fulfillment slot (ISO 8601) the buyer chose, read from
79
+ * `fulfillment.available_methods[].fulfillable_on`. Undefined when every method
80
+ * is ASAP (the `now` sentinel) or none is set.
81
+ */
82
+ export declare function scheduledFulfillableOn(checkout: UcpResponse | undefined): string | undefined;
83
+ /**
84
+ * F&B item facts (the `sh.artos.food.item_metadata` extension) as camelCased
85
+ * flags for a host to render, read from a UCP product node (search / lookup /
86
+ * get_product). Every field is omitted when the product carries none.
87
+ */
88
+ export interface FoodItemMetadata {
89
+ ageRestricted?: boolean;
90
+ allergens?: string[];
91
+ dietaryTags?: string[];
92
+ nutrition?: Record<string, unknown>;
93
+ }
94
+ /**
95
+ * Extracts the F&B facts (allergens, dietary tags, nutrition, age-restriction)
96
+ * from a UCP product node. Returns an empty object when the product is not a
97
+ * food item / carries no facts.
98
+ */
99
+ export declare function foodFacts(product: Record<string, unknown> | undefined): FoodItemMetadata;
@@ -17,4 +17,92 @@ export function deliveredAssets(body) {
17
17
  .filter((id) => typeof id === 'string'),
18
18
  }));
19
19
  }
20
+ /** ASAP sentinel the API emits for `available_methods[].fulfillable_on`. */
21
+ const FULFILLABLE_ON_NOW = 'now';
22
+ function fulfillmentBlock(checkout) {
23
+ return checkout?.fulfillment;
24
+ }
25
+ /**
26
+ * All pickup/dine-in branches offered on a checkout
27
+ * (`fulfillment.methods[].destinations[]`), deduped by id across methods so an
28
+ * agent can present the branch list. Returns `[]` when none are offered.
29
+ */
30
+ export function retailLocations(checkout) {
31
+ const seen = new Set();
32
+ const out = [];
33
+ for (const method of fulfillmentBlock(checkout)?.methods ?? []) {
34
+ for (const dest of method.destinations ?? []) {
35
+ if (dest && typeof dest.id === 'string' && !seen.has(dest.id)) {
36
+ seen.add(dest.id);
37
+ out.push(dest);
38
+ }
39
+ }
40
+ }
41
+ return out;
42
+ }
43
+ /**
44
+ * The buyer's chosen pickup destination id, read from the first method that
45
+ * carries a non-null `selected_destination_id`. Undefined when the buyer has
46
+ * not yet selected a branch.
47
+ */
48
+ export function selectedDestinationId(checkout) {
49
+ for (const method of fulfillmentBlock(checkout)?.methods ?? []) {
50
+ if (typeof method.selected_destination_id === 'string') {
51
+ return method.selected_destination_id;
52
+ }
53
+ }
54
+ return undefined;
55
+ }
56
+ /**
57
+ * Pending F&B buyer-action codes the store surfaced in `messages[]` — the buyer
58
+ * must pick a branch (`select_destination`) and/or a delivery time
59
+ * (`schedule_delivery`) before the checkout can complete. Order-preserving and
60
+ * deduped; `[]` when no buyer input is outstanding.
61
+ */
62
+ export function pendingBuyerActions(checkout) {
63
+ const out = [];
64
+ for (const message of checkout?.messages ?? []) {
65
+ const code = message.code;
66
+ if ((code === 'select_destination' || code === 'schedule_delivery') &&
67
+ !out.includes(code)) {
68
+ out.push(code);
69
+ }
70
+ }
71
+ return out;
72
+ }
73
+ /**
74
+ * The scheduled fulfillment slot (ISO 8601) the buyer chose, read from
75
+ * `fulfillment.available_methods[].fulfillable_on`. Undefined when every method
76
+ * is ASAP (the `now` sentinel) or none is set.
77
+ */
78
+ export function scheduledFulfillableOn(checkout) {
79
+ for (const method of fulfillmentBlock(checkout)?.available_methods ?? []) {
80
+ const on = method.fulfillable_on;
81
+ if (typeof on === 'string' && on !== FULFILLABLE_ON_NOW) {
82
+ return on;
83
+ }
84
+ }
85
+ return undefined;
86
+ }
87
+ /**
88
+ * Extracts the F&B facts (allergens, dietary tags, nutrition, age-restriction)
89
+ * from a UCP product node. Returns an empty object when the product is not a
90
+ * food item / carries no facts.
91
+ */
92
+ export function foodFacts(product) {
93
+ const node = (product ?? {});
94
+ const out = {};
95
+ if (node.age_restricted === true)
96
+ out.ageRestricted = true;
97
+ if (Array.isArray(node.allergens) && node.allergens.length > 0) {
98
+ out.allergens = node.allergens;
99
+ }
100
+ if (Array.isArray(node.dietary_tags) && node.dietary_tags.length > 0) {
101
+ out.dietaryTags = node.dietary_tags;
102
+ }
103
+ if (node.nutrition && Object.keys(node.nutrition).length > 0) {
104
+ out.nutrition = node.nutrition;
105
+ }
106
+ return out;
107
+ }
20
108
  //# sourceMappingURL=fulfillment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fulfillment.js","sourceRoot":"","sources":["../../src/checkout/fulfillment.ts"],"names":[],"mappings":"AAwBA;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,IAA6B;IAE7B,MAAM,MAAM,GACT,IAAI,EAAE,WAA2D;QAChE,EAAE,MAAM,IAAI,EAAE,CAAC;IACnB,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC;SACxE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE,CAAC,CAAC,SAAmB;QAC/B,QAAQ,EAAE,CAAC,CAAC,SAAS;QACrB,WAAW,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;aAC9B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;aAClB,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC;KACxD,CAAC,CAAC,CAAC;AACR,CAAC"}
1
+ {"version":3,"file":"fulfillment.js","sourceRoot":"","sources":["../../src/checkout/fulfillment.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type UcpResponse } from '../ucp/client.js';
2
2
  import { type SearchFilters } from './money.js';
3
- import type { CheckoutDeps, CheckoutLineItem, CheckoutOutcome, ConfirmPurchaseInput } from './types.js';
3
+ import type { CheckoutDeps, CheckoutFulfillmentInput, CheckoutLineItem, CheckoutOutcome, ConfirmPurchaseInput } from './types.js';
4
4
  /**
5
5
  * Pure checkout orchestration over an injected {@link CheckoutDeps}. Read methods
6
6
  * return the raw UCP envelope (inspect with `isUcpError`); `confirmPurchase`
@@ -47,12 +47,24 @@ export declare function createCheckoutHandlers(deps: CheckoutDeps): {
47
47
  storeSlug: string;
48
48
  id: string;
49
49
  }): Promise<UcpResponse>;
50
+ /**
51
+ * Pre-checkout branch discovery (`list_locations`,
52
+ * `sh.artos.food.locations`): the store's pickup/dine-in branches (address,
53
+ * hours, timezone, geo, ETA, delivery coverage) so an agent can answer
54
+ * location questions before a cart exists. Read-only (no idempotency key).
55
+ */
56
+ listLocations(args: {
57
+ storeSlug: string;
58
+ context?: Record<string, unknown>;
59
+ }): Promise<UcpResponse>;
50
60
  createCheckout(args: {
51
61
  storeSlug: string;
52
62
  cartId?: string;
53
63
  items?: CheckoutLineItem[];
54
64
  buyer?: Record<string, unknown>;
55
65
  shippingAddress?: Record<string, unknown>;
66
+ fulfillment?: CheckoutFulfillmentInput;
67
+ notes?: string;
56
68
  }): Promise<UcpResponse>;
57
69
  updateCheckout(args: {
58
70
  storeSlug: string;
@@ -61,6 +73,8 @@ export declare function createCheckoutHandlers(deps: CheckoutDeps): {
61
73
  shippingAddress?: Record<string, unknown>;
62
74
  shippingMethodId?: string;
63
75
  discounts?: unknown;
76
+ fulfillment?: CheckoutFulfillmentInput;
77
+ notes?: string;
64
78
  }): Promise<UcpResponse>;
65
79
  getOrder(args: {
66
80
  storeSlug: string;
@@ -22,23 +22,75 @@ function err(code, message, checkout) {
22
22
  function isPaymentSelection(body) {
23
23
  return (body.messages ?? []).some((m) => m.code === 'payment_selection_required');
24
24
  }
25
+ /**
26
+ * Maps the friendly {@link CheckoutLineItem} shape to the UCP wire line item,
27
+ * emitting the F&B `sh.artos.food.line_customization` fields when present.
28
+ * Modifiers prefer the quantity-aware `options` form and fall back to
29
+ * `option_ids`; combo picks become `combo_selections` the server explodes into
30
+ * parent + child lines. Empty selections are dropped so a plain line stays plain.
31
+ */
25
32
  function lineItems(items) {
26
33
  return items.map((i) => {
27
- const selected = (i.selectedModifiers ?? []).filter((m) => m.optionIds.length > 0);
34
+ const selected = (i.selectedModifiers ?? [])
35
+ .map((m) => {
36
+ if (m.options && m.options.length > 0) {
37
+ return {
38
+ group_id: m.groupId,
39
+ options: m.options.map((o) => ({
40
+ id: o.id,
41
+ ...(o.quantity != null ? { quantity: o.quantity } : {}),
42
+ })),
43
+ };
44
+ }
45
+ if (m.optionIds && m.optionIds.length > 0) {
46
+ return { group_id: m.groupId, option_ids: m.optionIds };
47
+ }
48
+ return null;
49
+ })
50
+ .filter((m) => m !== null);
51
+ const combos = (i.comboSelections ?? [])
52
+ .filter((c) => c.slotId && c.itemId)
53
+ .map((c) => ({
54
+ slot_id: c.slotId,
55
+ item: { id: c.itemId },
56
+ ...(c.quantity != null ? { quantity: c.quantity } : {}),
57
+ }));
28
58
  return {
29
59
  item: { id: i.id },
30
60
  quantity: i.quantity ?? 1,
31
- ...(selected.length > 0
32
- ? {
33
- selected_modifiers: selected.map((m) => ({
34
- group_id: m.groupId,
35
- option_ids: m.optionIds,
36
- })),
37
- }
38
- : {}),
61
+ ...(selected.length > 0 ? { selected_modifiers: selected } : {}),
62
+ ...(combos.length > 0 ? { combo_selections: combos } : {}),
39
63
  };
40
64
  });
41
65
  }
66
+ /**
67
+ * Maps the friendly {@link CheckoutFulfillmentInput} to the UCP `fulfillment`
68
+ * input block (F&B branch/scheduling selection), dropping empty selections so a
69
+ * plain checkout stays plain. Returns undefined when nothing was selected.
70
+ */
71
+ function fulfillmentInput(f) {
72
+ if (!f)
73
+ return undefined;
74
+ const out = {};
75
+ if (f.selectedOptionId !== undefined) {
76
+ out.selected_option_id = f.selectedOptionId;
77
+ }
78
+ if (f.selectedDestinationId !== undefined) {
79
+ out.selected_destination_id = f.selectedDestinationId;
80
+ }
81
+ if (f.fulfillableOn !== undefined)
82
+ out.fulfillable_on = f.fulfillableOn;
83
+ return Object.keys(out).length > 0 ? out : undefined;
84
+ }
85
+ /**
86
+ * Wraps a free-text F&B note into the UCP `metadata.artos_food.notes` bag
87
+ * (`sh.artos.food.checkout_notes`). Returns undefined when no note was set.
88
+ */
89
+ function notesMetadata(notes) {
90
+ if (notes === undefined)
91
+ return undefined;
92
+ return { artos_food: { notes } };
93
+ }
42
94
  /**
43
95
  * Pure checkout orchestration over an injected {@link CheckoutDeps}. Read methods
44
96
  * return the raw UCP envelope (inspect with `isUcpError`); `confirmPurchase`
@@ -90,6 +142,19 @@ export function createCheckoutHandlers(deps) {
90
142
  async viewCart(args) {
91
143
  return client.callStoreTool(args.storeSlug, 'get_cart', { id: args.id });
92
144
  },
145
+ /**
146
+ * Pre-checkout branch discovery (`list_locations`,
147
+ * `sh.artos.food.locations`): the store's pickup/dine-in branches (address,
148
+ * hours, timezone, geo, ETA, delivery coverage) so an agent can answer
149
+ * location questions before a cart exists. Read-only (no idempotency key).
150
+ */
151
+ async listLocations(args) {
152
+ return client.callStoreTool(args.storeSlug, 'list_locations', {
153
+ locations: {
154
+ ...(args.context !== undefined ? { context: args.context } : {}),
155
+ },
156
+ });
157
+ },
93
158
  async createCheckout(args) {
94
159
  const checkout = {};
95
160
  if (args.cartId)
@@ -100,6 +165,12 @@ export function createCheckoutHandlers(deps) {
100
165
  checkout.buyer = args.buyer;
101
166
  if (args.shippingAddress)
102
167
  checkout.shipping_address = args.shippingAddress;
168
+ const fulfillment = fulfillmentInput(args.fulfillment);
169
+ if (fulfillment)
170
+ checkout.fulfillment = fulfillment;
171
+ const metadata = notesMetadata(args.notes);
172
+ if (metadata)
173
+ checkout.metadata = metadata;
103
174
  return client.callStoreTool(args.storeSlug, 'create_checkout', { checkout }, { idempotent: true });
104
175
  },
105
176
  async updateCheckout(args) {
@@ -112,6 +183,12 @@ export function createCheckoutHandlers(deps) {
112
183
  checkout.shipping_method_id = args.shippingMethodId;
113
184
  if (args.discounts)
114
185
  checkout.discounts = args.discounts;
186
+ const fulfillment = fulfillmentInput(args.fulfillment);
187
+ if (fulfillment)
188
+ checkout.fulfillment = fulfillment;
189
+ const metadata = notesMetadata(args.notes);
190
+ if (metadata)
191
+ checkout.metadata = metadata;
115
192
  return client.callStoreTool(args.storeSlug, 'update_checkout', { id: args.id, checkout }, { idempotent: true });
116
193
  },
117
194
  async getOrder(args) {
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/checkout/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/checkout/handlers.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export { createCheckoutHandlers, type CheckoutHandlers } from './handlers.js';
2
2
  export { toMinorUnits, normalizeSearchFilters, type SearchFilters, } from './money.js';
3
3
  export { availableRails, resolveRail, railKind, grandTotal, currencyOf, asAllowanceId, type ResolvedRail, } from './rails.js';
4
- export { deliveredAssets, type DeliveredAsset } from './fulfillment.js';
5
- export type { CheckoutDeps, CheckoutLineItem, ConfirmPurchaseInput, CheckoutErrorCode, CheckoutOutcome, } from './types.js';
4
+ export { deliveredAssets, retailLocations, selectedDestinationId, pendingBuyerActions, scheduledFulfillableOn, foodFacts, type DeliveredAsset, type RetailLocation, type BuyerActionCode, type FoodItemMetadata, } from './fulfillment.js';
5
+ export type { CheckoutDeps, CheckoutFulfillmentInput, CheckoutLineItem, SelectedModifier, ModifierOption, ComboSelection, ConfirmPurchaseInput, CheckoutErrorCode, CheckoutOutcome, } from './types.js';
@@ -1,5 +1,5 @@
1
1
  export { createCheckoutHandlers } from './handlers.js';
2
2
  export { toMinorUnits, normalizeSearchFilters, } from './money.js';
3
3
  export { availableRails, resolveRail, railKind, grandTotal, currencyOf, asAllowanceId, } from './rails.js';
4
- export { deliveredAssets } from './fulfillment.js';
4
+ export { deliveredAssets, retailLocations, selectedDestinationId, pendingBuyerActions, scheduledFulfillableOn, foodFacts, } from './fulfillment.js';
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checkout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAyB,MAAM,eAAe,CAAC;AAC9E,OAAO,EACL,YAAY,EACZ,sBAAsB,GAEvB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,cAAc,EACd,WAAW,EACX,QAAQ,EACR,UAAU,EACV,UAAU,EACV,aAAa,GAEd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAuB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checkout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAyB,MAAM,eAAe,CAAC;AAC9E,OAAO,EACL,YAAY,EACZ,sBAAsB,GAEvB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,cAAc,EACd,WAAW,EACX,QAAQ,EACR,UAAU,EACV,UAAU,EACV,aAAa,GAEd,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,SAAS,GAKV,MAAM,kBAAkB,CAAC"}
@@ -9,10 +9,44 @@ export interface CheckoutDeps {
9
9
  /** Present only when the crypto settlement rail is fully configured. */
10
10
  crypto?: CryptoDeps;
11
11
  }
12
- /** A selected modifier group + chosen option ids (F&B customization). */
12
+ /** A chosen modifier option with an optional per-option quantity (e.g. 2x bacon). */
13
+ export interface ModifierOption {
14
+ id: string;
15
+ /** Defaults to 1 server-side when omitted. */
16
+ quantity?: number;
17
+ }
18
+ /**
19
+ * A selected modifier group + chosen options (F&B customization). Prefer
20
+ * `options` (carries per-option quantity); `optionIds` is the quantity-1
21
+ * shorthand kept for back-compat. When both are set, `options` wins.
22
+ */
13
23
  export interface SelectedModifier {
14
24
  groupId: string;
15
- optionIds: string[];
25
+ optionIds?: string[];
26
+ options?: ModifierOption[];
27
+ }
28
+ /**
29
+ * A choice filling one combo slot on a combo/meal-deal line. The server
30
+ * validates the pick, then explodes the combo line into a bundle + one child
31
+ * line per selection (children carry `parent_id` on the response).
32
+ */
33
+ export interface ComboSelection {
34
+ slotId: string;
35
+ /** The chosen variant id for this slot. */
36
+ itemId: string;
37
+ /** Defaults to 1 server-side when omitted. */
38
+ quantity?: number;
39
+ }
40
+ /**
41
+ * Buyer fulfillment selection for a checkout (F&B branch + scheduling). Maps to
42
+ * the UCP `fulfillment` input block: the chosen shipping option, pickup branch
43
+ * (`selected_destination_id`), and delivery/pickup time (`fulfillableOn`: `now`
44
+ * for ASAP or an ISO 8601 timestamp). Every field is optional.
45
+ */
46
+ export interface CheckoutFulfillmentInput {
47
+ selectedOptionId?: string;
48
+ selectedDestinationId?: string;
49
+ fulfillableOn?: string;
16
50
  }
17
51
  /** A line item in major-unit, friendly shape (`{ id, quantity }`). */
18
52
  export interface CheckoutLineItem {
@@ -20,6 +54,8 @@ export interface CheckoutLineItem {
20
54
  quantity?: number;
21
55
  /** F&B modifier selections (sugar/size/milk, add-ons) for this line. */
22
56
  selectedModifiers?: SelectedModifier[];
57
+ /** F&B combo slot picks; expanded into parent + child lines server-side. */
58
+ comboSelections?: ComboSelection[];
23
59
  }
24
60
  export interface ConfirmPurchaseInput {
25
61
  storeSlug: string;
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { UCP_VERSION, normalizeBaseUrl, assertEcP256PrivateJwk, parseSuiNetwork, type Jwk, type SuiNetwork, type UcpClientConfig, type AgentAp2Config, type AgentCryptoConfig, } from './config.js';
2
2
  export { UcpClient, UcpClientError, UcpAuthError, messageOf, isUcpError, type UcpResponse, type UcpClientOptions, type UcpAuthMode, type StoreToolOptions, type AccountToolSpec, type ToolAnnotations, } from './ucp/client.js';
3
3
  export { canonicalJson, verifyDetachedJws, verifyMerchantAuthorization, Ap2Signer, type CheckoutMandateClaims, type PaymentMandateClaims, } from './ap2/index.js';
4
- export { createCheckoutHandlers, toMinorUnits, normalizeSearchFilters, availableRails, resolveRail, railKind, grandTotal, currencyOf, asAllowanceId, deliveredAssets, type CheckoutHandlers, type CheckoutDeps, type CheckoutLineItem, type ConfirmPurchaseInput, type CheckoutErrorCode, type CheckoutOutcome, type SearchFilters, type ResolvedRail, type DeliveredAsset, } from './checkout/index.js';
4
+ export { createCheckoutHandlers, toMinorUnits, normalizeSearchFilters, availableRails, resolveRail, railKind, grandTotal, currencyOf, asAllowanceId, deliveredAssets, retailLocations, selectedDestinationId, pendingBuyerActions, scheduledFulfillableOn, foodFacts, type CheckoutHandlers, type CheckoutDeps, type CheckoutFulfillmentInput, type CheckoutLineItem, type ConfirmPurchaseInput, type CheckoutErrorCode, type CheckoutOutcome, type SearchFilters, type ResolvedRail, type DeliveredAsset, type RetailLocation, type BuyerActionCode, type FoodItemMetadata, } from './checkout/index.js';
5
5
  export { createAccountHandlers, type AccountHandlers, type AccountDeps, } from './account/handlers.js';
6
6
  export { OAuthClient, OAuthClientError, createPkce, DEFAULT_BUYER_SCOPE, type AuthorizationServerMetadata, type OAuthTokens, type Pkce, type OAuthClientConfig, type OAuthClientOptions, } from './oauth/client.js';
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ export { UcpClient, UcpClientError, UcpAuthError, messageOf, isUcpError, } from
5
5
  // AP2
6
6
  export { canonicalJson, verifyDetachedJws, verifyMerchantAuthorization, Ap2Signer, } from './ap2/index.js';
7
7
  // Checkout orchestration
8
- export { createCheckoutHandlers, toMinorUnits, normalizeSearchFilters, availableRails, resolveRail, railKind, grandTotal, currencyOf, asAllowanceId, deliveredAssets, } from './checkout/index.js';
8
+ export { createCheckoutHandlers, toMinorUnits, normalizeSearchFilters, availableRails, resolveRail, railKind, grandTotal, currencyOf, asAllowanceId, deliveredAssets, retailLocations, selectedDestinationId, pendingBuyerActions, scheduledFulfillableOn, foodFacts, } from './checkout/index.js';
9
9
  // Buyer-account tools
10
10
  export { createAccountHandlers, } from './account/handlers.js';
11
11
  // Buyer OAuth (PKCE authorize + token exchange/refresh)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,GAMhB,MAAM,aAAa,CAAC;AAErB,YAAY;AACZ,OAAO,EACL,SAAS,EACT,cAAc,EACd,YAAY,EACZ,SAAS,EACT,UAAU,GAOX,MAAM,iBAAiB,CAAC;AAEzB,MAAM;AACN,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,2BAA2B,EAC3B,SAAS,GAGV,MAAM,gBAAgB,CAAC;AAExB,yBAAyB;AACzB,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,sBAAsB,EACtB,cAAc,EACd,WAAW,EACX,QAAQ,EACR,UAAU,EACV,UAAU,EACV,aAAa,EACb,eAAe,GAUhB,MAAM,qBAAqB,CAAC;AAE7B,sBAAsB;AACtB,OAAO,EACL,qBAAqB,GAGtB,MAAM,uBAAuB,CAAC;AAE/B,wDAAwD;AACxD,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,mBAAmB,GAMpB,MAAM,mBAAmB,CAAC;AAE3B,gFAAgF;AAChF,gFAAgF;AAChF,2EAA2E;AAC3E,iFAAiF;AACjF,iFAAiF;AACjF,eAAe;AACf,2EAA2E;AAC3E,gEAAgE"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,GAMhB,MAAM,aAAa,CAAC;AAErB,YAAY;AACZ,OAAO,EACL,SAAS,EACT,cAAc,EACd,YAAY,EACZ,SAAS,EACT,UAAU,GAOX,MAAM,iBAAiB,CAAC;AAEzB,MAAM;AACN,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,2BAA2B,EAC3B,SAAS,GAGV,MAAM,gBAAgB,CAAC;AAExB,yBAAyB;AACzB,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,sBAAsB,EACtB,cAAc,EACd,WAAW,EACX,QAAQ,EACR,UAAU,EACV,UAAU,EACV,aAAa,EACb,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,SAAS,GAcV,MAAM,qBAAqB,CAAC;AAE7B,sBAAsB;AACtB,OAAO,EACL,qBAAqB,GAGtB,MAAM,uBAAuB,CAAC;AAE/B,wDAAwD;AACxD,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,mBAAmB,GAMpB,MAAM,mBAAmB,CAAC;AAE3B,gFAAgF;AAChF,gFAAgF;AAChF,2EAA2E;AAC3E,iFAAiF;AACjF,iFAAiF;AACjF,eAAe;AACf,2EAA2E;AAC3E,gEAAgE"}
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@artos-commerce/ucp-client",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "description": "Build-track Direct UCP client for Artos: typed UCP transport, AP2 mandate signing, checkout orchestration, buyer-account tools, and buyer OAuth so you can build your own commerce-grade UCP client without hand-rolling the envelope, signing, and credential rules.",
5
5
  "type": "module",
6
+ "packageManager": "npm@11.16.0",
6
7
  "license": "MIT",
7
8
  "engines": {
8
9
  "node": ">=22"
@@ -31,7 +32,8 @@
31
32
  "test:watch": "vitest",
32
33
  "test:coverage": "vitest run --coverage",
33
34
  "typecheck": "tsc -p tsconfig.json --noEmit",
34
- "check": "npm run lint && npm run typecheck && npm run test:coverage && npm run build"
35
+ "check": "npm run lint && npm run typecheck && npm run test:coverage && npm run build",
36
+ "prepublishOnly": "npm run check"
35
37
  },
36
38
  "peerDependencies": {
37
39
  "@mysten/sui": "^2.17.0"
@@ -57,5 +59,8 @@
57
59
  },
58
60
  "publishConfig": {
59
61
  "access": "public"
62
+ },
63
+ "allowScripts": {
64
+ "fsevents@2.3.3": true
60
65
  }
61
66
  }