@joai/sdk 4.2.1 → 4.2.2

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/index.d.mts CHANGED
@@ -596,6 +596,10 @@ type CheckoutSnapshot = {
596
596
  expiresAt: string;
597
597
  accessToken?: string | null;
598
598
  };
599
+ type GuestBuyer = {
600
+ name: string;
601
+ email: string;
602
+ };
599
603
  type CheckoutSnapshotRequest = {
600
604
  fulfillmentMethod: FulfillmentMethod;
601
605
  items: {
@@ -995,7 +999,7 @@ type Order = {
995
999
  linkVariationId: string | null;
996
1000
  notes: string | null;
997
1001
  fulfillmentMethod?: FulfillmentMethod | null;
998
- address?: AddressSnapshot | null;
1002
+ billingAddress?: AddressSnapshot | null;
999
1003
  shippingAddress?: AddressSnapshot | null;
1000
1004
  shippingRate?: Pick<ShippingRate, 'name' | 'price' | 'estimatedMinDays' | 'estimatedMaxDays'> | null;
1001
1005
  fulfillmentLocation?: {
@@ -3137,10 +3141,7 @@ declare class AddressesResource {
3137
3141
  //#endregion
3138
3142
  //#region src/commerce/checkout.d.ts
3139
3143
  type PlaceCheckoutOrderRequest = CheckoutSnapshotRequest & {
3140
- guest?: {
3141
- name: string;
3142
- email: string;
3143
- };
3144
+ guest?: GuestBuyer;
3144
3145
  notes?: string;
3145
3146
  idempotencyKey?: string;
3146
3147
  saveAddresses?: boolean;
@@ -5019,4 +5020,4 @@ declare class DistributionResource {
5019
5020
  private fetchDistribution;
5020
5021
  }
5021
5022
  //#endregion
5022
- export { AddressesResource, AgentsResource, AlertsResource, ApiTokensResource, AppointmentsResource, type AttachedMedia, type AuthConfirmCodeRequest, type AuthConfirmCodeResponse, type AuthNativeSessionResponse, type AuthPortalSessionResponse, AuthResource, type AuthSendCodeRequest, type BackendWarp, type BackendWarpBrand, BillingResource, BlueprintsResource, type CacheConfig, CachedHttpService, CampaignsResource, CardsResource, CartsResource, ChangelogResource, CharactersResource, CheckoutResource, CommerceResource, ContactsResource, ContractsResource, type CreateHookPayload, type CreateInboundHookPayload, type CreateInternalHookPayload, type CreateWarpLinkedHookPayload, type CreateWebHookPayload, DeskResource, DistributionResource, DocumentsResource, ElementsResource, EntitiesResource, FlowsResource, FulfillmentsResource, GoalsResource, type GuestCheckoutDraft, type GuestCommerceStorageOptions, type GuestOrderAccess, type Hook, type HookSample, type HookTrigger, type HookTriggerCondition, type HookTriggerInput, HooksResource, IngestionsResource, InquiriesResource, IntegrationsResource, IntentsResource, ItemsResource, JoAiClient, type JoAiClientConfig, KvResource, LinksResource, LoyaltyResource, McpResource, type MediaUploadType, MeetingsResource, MemoriesResource, MessagesResource, MissionsResource, NotificationsResource, OfficeResource, type OpenPortalSessionOptions, type OpeningHoursEntry, type OpeningHoursFormatOptions, OrdersResource, PersonaResource, type Product, type ProductVariation, ProductsResource, ProjectsResource, RemindersResource, ReturnsResource, SegmentsResource, ServicesResource, ShippingResource, ShortcutsResource, SitesResource, SkillsResource, StatsResource, StoreResource, SubscriptionsResource, SwarmsResource, TagsResource, TasksResource, type TeamInviteInfo, TeamsResource, UpdatesResource, UpgradesResource, UsersResource, VoiceResource, WalletsResource, WarpsResource, type WebHookTriggerEvent, WorkspaceResource, completePortalSession, createClient, createGuestCommerceStorage, formatOpeningHours, getAuthFragmentToken, isAllowedRedirectUrl, isPortalCallbackUrl, openPortalSession, sanitizePortalCallbackUrl };
5023
+ export { AddressesResource, AgentsResource, AlertsResource, ApiTokensResource, AppointmentsResource, type AttachedMedia, type AuthConfirmCodeRequest, type AuthConfirmCodeResponse, type AuthNativeSessionResponse, type AuthPortalSessionResponse, AuthResource, type AuthSendCodeRequest, type BackendWarp, type BackendWarpBrand, BillingResource, BlueprintsResource, type CacheConfig, CachedHttpService, CampaignsResource, CardsResource, CartsResource, ChangelogResource, CharactersResource, CheckoutResource, CommerceResource, ContactsResource, ContractsResource, type CreateHookPayload, type CreateInboundHookPayload, type CreateInternalHookPayload, type CreateWarpLinkedHookPayload, type CreateWebHookPayload, DeskResource, DistributionResource, DocumentsResource, ElementsResource, EntitiesResource, FlowsResource, FulfillmentsResource, GoalsResource, type GuestBuyer, type GuestCheckoutDraft, type GuestCommerceStorageOptions, type GuestOrderAccess, type Hook, type HookSample, type HookTrigger, type HookTriggerCondition, type HookTriggerInput, HooksResource, IngestionsResource, InquiriesResource, IntegrationsResource, IntentsResource, ItemsResource, JoAiClient, type JoAiClientConfig, KvResource, LinksResource, LoyaltyResource, McpResource, type MediaUploadType, MeetingsResource, MemoriesResource, MessagesResource, MissionsResource, NotificationsResource, OfficeResource, type OpenPortalSessionOptions, type OpeningHoursEntry, type OpeningHoursFormatOptions, OrdersResource, PersonaResource, type PlaceCheckoutOrderRequest, type Product, type ProductVariation, ProductsResource, ProjectsResource, RemindersResource, ReturnsResource, SegmentsResource, ServicesResource, ShippingResource, ShortcutsResource, SitesResource, SkillsResource, StatsResource, StoreResource, SubscriptionsResource, SwarmsResource, TagsResource, TasksResource, type TeamInviteInfo, TeamsResource, UpdatesResource, UpgradesResource, UsersResource, VoiceResource, WalletsResource, WarpsResource, type WebHookTriggerEvent, WorkspaceResource, completePortalSession, createClient, createGuestCommerceStorage, formatOpeningHours, getAuthFragmentToken, isAllowedRedirectUrl, isPortalCallbackUrl, openPortalSession, sanitizePortalCallbackUrl };
package/dist/index.mjs CHANGED
@@ -422,6 +422,12 @@ const safeSet = (key, value) => {
422
422
  localStorage.setItem(key, value);
423
423
  } catch {}
424
424
  };
425
+ const safeRemove = (key) => {
426
+ if (typeof localStorage === "undefined") return;
427
+ try {
428
+ localStorage.removeItem(key);
429
+ } catch {}
430
+ };
425
431
  const parseGuestOrderAccess = (entry) => {
426
432
  if (!entry || typeof entry !== "object") return null;
427
433
  const record = entry;
@@ -461,19 +467,25 @@ function createGuestCommerceStorage(options) {
461
467
  },
462
468
  saveOrderAccess({ orderId, accessToken }) {
463
469
  const key = orderAccessKey(options.namespace, orderId);
464
- if (accessToken) safeSet(key, accessToken);
470
+ const resolvedToken = accessToken || safeGet(key);
471
+ if (resolvedToken) safeSet(key, resolvedToken);
465
472
  const orders = readOrderList(options.namespace).filter((entry) => entry.orderId !== orderId);
466
473
  orders.unshift({
467
474
  orderId,
468
- accessToken
475
+ accessToken: resolvedToken
469
476
  });
470
- safeSet(ordersKey(options.namespace), JSON.stringify(orders.slice(0, maxOrders)));
477
+ const kept = orders.slice(0, maxOrders);
478
+ for (const dropped of orders.slice(maxOrders)) safeRemove(orderAccessKey(options.namespace, dropped.orderId));
479
+ safeSet(ordersKey(options.namespace), JSON.stringify(kept));
471
480
  },
472
481
  readOrderAccess(orderId) {
473
482
  return safeGet(orderAccessKey(options.namespace, orderId));
474
483
  },
475
484
  listOrderAccess() {
476
- return readOrderList(options.namespace);
485
+ return readOrderList(options.namespace).map((entry) => ({
486
+ orderId: entry.orderId,
487
+ accessToken: entry.accessToken || safeGet(orderAccessKey(options.namespace, entry.orderId))
488
+ }));
477
489
  }
478
490
  };
479
491
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@joai/sdk",
3
- "version": "4.2.1",
3
+ "version": "4.2.2",
4
4
  "description": "JoAi public API SDK — build with your AI agents",
5
5
  "license": "MIT",
6
6
  "type": "module",