@joai/sdk 7.0.6 → 7.0.7

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
@@ -1,5 +1,5 @@
1
1
  import * as _$_joai_core0 from "@joai/core";
2
- import { Address, AddressCreatePayload, AddressInput, AddressType, AddressUpdatePayload, Affiliate, AffiliateTier, Agent, AgentActionHistoryEntry, AgentPrivate, AgentSettings, AgentTrustedActionRule, AiCostsResponse, Alert, ApiToken, AppEnv, AppIngestion, AppendKvEntryResult, AppointmentAvailability, AppointmentBooking, AppointmentPolicy, AppointmentRequest, Artifact, ArtifactCreatePayload, ArtifactDeliverPayload, ArtifactDelivery, ArtifactStatus, ArtifactType, ArtifactUpdatePayload, AuthUser, AuthUser as AuthUser$1, Automation, AutomationActionInput, AutomationAudiencePreview, AutomationCreatePayload, AutomationEnrollment, AutomationStats, AutomationUpdatePayload, Blueprint, BlueprintSettings, BrandBackend, BrandSiteConfig, BrandSourceConfig, CalendarStatus, Campaign, CampaignAudiencePreview, CampaignAudiencePreviewPayload, CampaignCreatePayload, CampaignRecipient, CampaignRecipientStatus, CampaignStats, CampaignUpdatePayload, Card, Cart, Cart as Cart$1, CartLine, ChangelogEntry, Character, CheckoutSnapshot, CheckoutSnapshot as CheckoutSnapshot$1, CheckoutSnapshotRequest, CommissionAgreement, Configuration, Contact, ContactActivity, ContactCreatePayload, ContactFormData, ContactRelation, ContactRelationPayload, ContactRelationUpdatePayload, Content, ContentVersion, Contract, ContractCategoryName, ContractVersion, Coupon, CouponCondition, CouponRestrictedItem, CreateContentInput, CreateHookPayload, CreateHookPayload as CreateHookPayload$1, CreateInboundHookPayload, CreateInternalHookPayload, CreateKvFieldPayload, CreateWarpLinkedHookPayload, CreateWebHookPayload, Document, EarnResponse, Element, ElementSpec, ElementVariation, EmbedStatus, Entity, Flow, Fulfillment, FulfillmentLocation, FulfillmentLocation as FulfillmentLocation$1, FulfillmentMethod, GamificationData, Goal, GoalCreatePayload, GuestBuyer, GuestBuyer as GuestBuyer$1, Hook, Hook as Hook$1, HookSample, HookSample as HookSample$1, HookTrigger, HookTriggerCondition, HookTriggerInput, IAppResponse, IHttpService, IRequestOptions, Inquiry, InquiryType, Integration, IntegrationType, Intent, Item, ItemCreatePayload, ItemUpdatePayload, JsonValue, KvEntryPayload, KvField, KvFieldWithEntries, Link, LinkCreatePayload, LinkStats, LinkUpdatePayload, LinkVariation, LinkVariationBatchCreatePayload, LinkVariationCreatePayload, LoyaltyAccount, LoyaltyMember, LoyaltyProgram, LoyaltyPromotion, LoyaltyReward, LoyaltyTier, LoyaltyTransaction, McpToolCall, Media, MediaAspectRatio, Meeting, MeetingJoinInfo, MeetingSpeakerAssignment, MeetingSummary, Memory, Message, MetricSource, MetricsResult, Mission, MissionCreatePayload, Notification, NotificationChannel, NotificationSetting, OfficeSnapshot, Order, Order as Order$1, OrderContext, OrderPriceMode, OrderPriceMode as OrderPriceMode$1, OrderStatus, OrderStatus as OrderStatus$1, OrderType, PaginatedResponse, Pass, PatchContentInput, PaymentAccount, PaymentAccountOnboarding, PaymentProvider, Plan, PlanFeature, Product, Product as Product$1, ProductRelation, ProductVariation, ProgramSettings, Project, ProjectExportResponse, ProjectInputAssistIntent, ProjectInputAssistResponse, ProjectMutation, ProjectOutputPreset, ProjectOutputType, ProjectStudioHistoryEntry, Proposal, ProposalAction, ProposalPollOption, PublicFormResults, PurchaseResult, RampProviderInfo, Reactions, RedeemResponse, Reminder, Return, ReturnStatus, Room, RoomKind, Segment, SegmentCountPayload, SegmentCountResult, SegmentCreatePayload, Service, SetKvEntryResult, SharedSocialPost, ShippingRate, ShippingRate as ShippingRate$1, ShippingZone, Shortcut, Site, SiteBrand, SiteType, Skill, SkillScopeValue, SocialAuthProvider, SocialBot, SocialPlatform, SocialPost, SocialPostConnection, SocialPostCreatePayload, SocialPostGenerateCaptionPayload, SocialPostGeneratedCaption, SocialPostPlatform, SocialPostStatus, SocialPostUpdatePayload, StampResponse, StoreAgent, StoreData, StorePriceTier, StorePurchaseResult, Subscription, Swarm, Tag, TagType, Task, Team, TeamAccessConfig, TeamCategory, TeamEarning, TeamEarningsBalance, TeamFeature, TeamFeatureUsage, TeamMember, TeamMeta, TeamOrderStats, TeamPayout, TeamPayoutAddress, TeamPrivate, TeamUsage, TerminalConnectionToken, TerminalPaymentIntent, ToggleKvFieldResult, TranslatableValue, Update, UpdateCreatePayload, UpdateRelation, UpdateStats, UpdateType, UpdateUpdatePayload, Upgrade, UpgradeStatus, UserPrivate, UserRole, UserSettings, VolumePrice, WarpBackend, WarpBackendStatus, WarpExecutionBackend, WebHookTriggerEvent, WorkspaceCloudFile, WorkspaceInfo, XIntegrationStatus } from "@joai/core";
2
+ import { Address, AddressCreatePayload, AddressInput, AddressType, AddressUpdatePayload, Affiliate, AffiliateTier, Agent, AgentActionHistoryEntry, AgentPrivate, AgentSettings, AgentTrustedActionRule, AiCostsResponse, Alert, ApiToken, AppEnv, AppIngestion, AppendKvEntryResult, AppointmentAvailability, AppointmentBooking, AppointmentPolicy, AppointmentPolicyUpsert, AppointmentRequest, Artifact, ArtifactCreatePayload, ArtifactDeliverPayload, ArtifactDelivery, ArtifactStatus, ArtifactType, ArtifactUpdatePayload, AuthUser, AuthUser as AuthUser$1, Automation, AutomationActionInput, AutomationAudiencePreview, AutomationCreatePayload, AutomationEnrollment, AutomationStats, AutomationUpdatePayload, Blueprint, BlueprintSettings, BrandBackend, BrandSiteConfig, BrandSourceConfig, CalendarStatus, Campaign, CampaignAudiencePreview, CampaignAudiencePreviewPayload, CampaignCreatePayload, CampaignRecipient, CampaignRecipientStatus, CampaignStats, CampaignUpdatePayload, Card, Cart, Cart as Cart$1, CartLine, ChangelogEntry, Character, CheckoutSnapshot, CheckoutSnapshot as CheckoutSnapshot$1, CheckoutSnapshotRequest, CommissionAgreement, Configuration, Contact, ContactActivity, ContactCreatePayload, ContactFormData, ContactRelation, ContactRelationPayload, ContactRelationUpdatePayload, Content, ContentVersion, Contract, ContractCategoryName, ContractVersion, Coupon, CouponCondition, CouponRestrictedItem, CreateContentInput, CreateHookPayload, CreateHookPayload as CreateHookPayload$1, CreateInboundHookPayload, CreateInternalHookPayload, CreateKvFieldPayload, CreateWarpLinkedHookPayload, CreateWebHookPayload, Document, EarnResponse, Element, ElementSpec, ElementVariation, EmbedStatus, Entity, Flow, Fulfillment, FulfillmentLocation, FulfillmentLocation as FulfillmentLocation$1, FulfillmentMethod, GamificationData, Goal, GoalCreatePayload, GuestBuyer, GuestBuyer as GuestBuyer$1, Hook, Hook as Hook$1, HookSample, HookSample as HookSample$1, HookTrigger, HookTriggerCondition, HookTriggerInput, IAppResponse, IHttpService, IRequestOptions, Inquiry, InquiryType, Integration, IntegrationType, Intent, Item, ItemCreatePayload, ItemUpdatePayload, JsonValue, KvEntryPayload, KvField, KvFieldWithEntries, Link, LinkCreatePayload, LinkStats, LinkUpdatePayload, LinkVariation, LinkVariationBatchCreatePayload, LinkVariationCreatePayload, LoyaltyAccount, LoyaltyMember, LoyaltyProgram, LoyaltyPromotion, LoyaltyReward, LoyaltyTier, LoyaltyTransaction, McpToolCall, Media, MediaAspectRatio, Meeting, MeetingJoinInfo, MeetingSpeakerAssignment, MeetingSummary, Memory, Message, MetricSource, MetricsResult, Mission, MissionCreatePayload, Notification, NotificationChannel, NotificationSetting, OfficeSnapshot, Order, Order as Order$1, OrderContext, OrderPriceMode, OrderPriceMode as OrderPriceMode$1, OrderStatus, OrderStatus as OrderStatus$1, OrderType, PaginatedResponse, Pass, PatchContentInput, PaymentAccount, PaymentAccountOnboarding, PaymentProvider, Plan, PlanFeature, Product, Product as Product$1, ProductRelation, ProductVariation, ProgramSettings, Project, ProjectExportResponse, ProjectInputAssistIntent, ProjectInputAssistResponse, ProjectMutation, ProjectOutputPreset, ProjectOutputType, ProjectStudioHistoryEntry, Proposal, ProposalAction, ProposalPollOption, PublicFormResults, PurchaseResult, RampProviderInfo, Reactions, RedeemResponse, Reminder, Return, ReturnStatus, Room, RoomKind, Segment, SegmentCountPayload, SegmentCountResult, SegmentCreatePayload, Service, SetKvEntryResult, SharedSocialPost, ShippingCarrierOption, ShippingRate, ShippingRate as ShippingRate$1, ShippingZone, Shortcut, Site, SiteBrand, SiteType, Skill, SkillScopeValue, SocialAuthProvider, SocialBot, SocialPlatform, SocialPost, SocialPostConnection, SocialPostCreatePayload, SocialPostGenerateCaptionPayload, SocialPostGeneratedCaption, SocialPostPlatform, SocialPostStatus, SocialPostUpdatePayload, StampResponse, StoreAgent, StoreData, StorePriceTier, StorePurchaseResult, Subscription, Swarm, Tag, TagType, Task, TaxClass, Team, TeamAccessConfig, TeamCategory, TeamEarning, TeamEarningsBalance, TeamFeature, TeamFeatureUsage, TeamMember, TeamMeta, TeamOrderStats, TeamPayout, TeamPayoutAddress, TeamPrivate, TeamUsage, TerminalConnectionToken, TerminalPaymentIntent, ToggleKvFieldResult, TranslatableValue, Update, UpdateCreatePayload, UpdateRelation, UpdateStats, UpdateType, UpdateUpdatePayload, Upgrade, UpgradeStatus, UserPrivate, UserRole, UserSettings, VolumePrice, WarpBackend, WarpBackendStatus, WarpExecutionBackend, WebHookTriggerEvent, WorkspaceCloudFile, WorkspaceInfo, XIntegrationStatus } from "@joai/core";
3
3
  import { WarpChainName, WarpClient, WarpLocale, WarpText, WarpWalletProvider } from "@joai/warps";
4
4
 
5
5
  //#region src/resources/agents.d.ts
@@ -109,10 +109,16 @@ declare class CheckoutResource {
109
109
  }
110
110
  //#endregion
111
111
  //#region src/commerce/fulfillments.d.ts
112
+ type FulfillmentUpdateInput = {
113
+ status?: Fulfillment['status'];
114
+ carrierCode?: string | null;
115
+ trackingNumber?: string | null;
116
+ };
112
117
  declare class FulfillmentsResource {
113
118
  private readonly http;
114
119
  constructor(http: IHttpService);
115
120
  list(orderId: string): Promise<_$_joai_core0.IAppResponse<Fulfillment[]>>;
121
+ carriers(): Promise<_$_joai_core0.IAppResponse<ShippingCarrierOption[]>>;
116
122
  create(orderId: string, data: {
117
123
  items: {
118
124
  orderItemId: number;
@@ -120,10 +126,9 @@ declare class FulfillmentsResource {
120
126
  }[];
121
127
  carrierCode?: string;
122
128
  trackingNumber?: string;
123
- trackingUrl?: string;
124
129
  status?: Fulfillment['status'];
125
130
  }): Promise<_$_joai_core0.IAppResponse<Fulfillment>>;
126
- update(orderId: string, fulfillmentId: string, status: Fulfillment['status']): Promise<_$_joai_core0.IAppResponse<Fulfillment>>;
131
+ update(orderId: string, fulfillmentId: string, data: FulfillmentUpdateInput | Fulfillment['status']): Promise<_$_joai_core0.IAppResponse<Fulfillment>>;
127
132
  }
128
133
  //#endregion
129
134
  //#region src/commerce/returns.d.ts
@@ -192,6 +197,22 @@ declare class ShippingResource {
192
197
  deleteLocation(team: string, locationId: string): Promise<_$_joai_core0.IAppResponse<void>>;
193
198
  }
194
199
  //#endregion
200
+ //#region src/commerce/taxClasses.d.ts
201
+ type TaxClassInput = {
202
+ name: string;
203
+ rate: number;
204
+ isDefault?: boolean;
205
+ position?: number;
206
+ };
207
+ declare class TaxClassesResource {
208
+ private readonly http;
209
+ constructor(http: IHttpService);
210
+ list(team: string): Promise<_$_joai_core0.IAppResponse<TaxClass[]>>;
211
+ create(team: string, data: TaxClassInput): Promise<_$_joai_core0.IAppResponse<TaxClass>>;
212
+ update(team: string, taxClassId: string, data: TaxClassInput): Promise<_$_joai_core0.IAppResponse<TaxClass>>;
213
+ delete(team: string, taxClassId: string): Promise<_$_joai_core0.IAppResponse<void>>;
214
+ }
215
+ //#endregion
195
216
  //#region src/commerce/guest.d.ts
196
217
  type GuestOrderAccess = {
197
218
  orderId: string;
@@ -401,12 +422,14 @@ declare function revalidateGuestCoupon(options: {
401
422
  }): Promise<RevalidateGuestCouponResult>;
402
423
  //#endregion
403
424
  //#region src/commerce/pickupSlotLabel.d.ts
404
- declare const formatPickupSlotLabel: (iso: string, locale: string, timeZone: string) => string;
425
+ /** Formats a pickup slot in a locale-aware 24h label. Pass timeZone when the meeting/policy provides one. */
426
+ declare const formatPickupSlotLabel: (iso: string, locale: string, timeZone?: string | null) => string;
405
427
  //#endregion
406
428
  //#region src/commerce/index.d.ts
407
429
  declare class CommerceResource {
408
430
  readonly checkout: CheckoutResource;
409
431
  readonly shipping: ShippingResource;
432
+ readonly taxClasses: TaxClassesResource;
410
433
  readonly fulfillments: FulfillmentsResource;
411
434
  readonly returns: ReturnsResource;
412
435
  constructor(http: IHttpService);
@@ -558,7 +581,7 @@ declare class AppointmentsResource {
558
581
  private readonly config;
559
582
  constructor(http: IHttpService, config: JoAiClientConfig);
560
583
  getPolicy(): Promise<_$_joai_core0.IAppResponse<AppointmentPolicy | null>>;
561
- upsertPolicy(data: Partial<AppointmentPolicy>): Promise<_$_joai_core0.IAppResponse<AppointmentPolicy>>;
584
+ upsertPolicy(data: AppointmentPolicyUpsert): Promise<_$_joai_core0.IAppResponse<AppointmentPolicy>>;
562
585
  checkAvailability(agentUuid: string, params: {
563
586
  windowStart: string;
564
587
  windowEnd: string;
@@ -701,7 +724,7 @@ declare class BillingResource {
701
724
  orders(team: TeamPrivate | null, page?: number, filters?: {
702
725
  contactId?: string;
703
726
  couponId?: string;
704
- }): Promise<_$_joai_core0.IAppResponse<Order$1[]>>;
727
+ }, perPage?: number): Promise<_$_joai_core0.IAppResponse<Order$1[]>>;
705
728
  orderStats(team: string): Promise<_$_joai_core0.IAppResponse<TeamOrderStats>>;
706
729
  payOrder(id: string, provider?: PaymentProvider, accessToken?: string): Promise<_$_joai_core0.IAppResponse<{
707
730
  url: string;
@@ -901,12 +924,14 @@ declare class DocumentsResource {
901
924
  blueprint?: string;
902
925
  }): Promise<_$_joai_core0.IAppResponse<Document>>;
903
926
  get(id: string): Promise<_$_joai_core0.IAppResponse<Document>>;
904
- getShared(slug: string): Promise<_$_joai_core0.IAppResponse<Document>>;
927
+ getShared(slug: string, password?: string): Promise<_$_joai_core0.IAppResponse<Document>>;
905
928
  update(id: string, data: {
906
929
  title?: string;
907
930
  content?: string;
908
931
  public?: boolean;
909
932
  archived?: boolean;
933
+ password?: string | null;
934
+ clearPassword?: boolean;
910
935
  meta?: Record<string, unknown>;
911
936
  }): Promise<_$_joai_core0.IAppResponse<Document>>;
912
937
  delete(id: string): Promise<_$_joai_core0.IAppResponse<void>>;
@@ -1365,7 +1390,7 @@ declare class OfficeResource {
1365
1390
  declare class OrdersResource {
1366
1391
  private readonly http;
1367
1392
  constructor(http: IHttpService);
1368
- list(team: string): Promise<_$_joai_core0.IAppResponse<Order$1[]>>;
1393
+ list(team: string, page?: number, perPage?: number): Promise<_$_joai_core0.IAppResponse<Order$1[]>>;
1369
1394
  get(id: string, accessToken?: string): Promise<_$_joai_core0.IAppResponse<Order$1>>;
1370
1395
  create(data: {
1371
1396
  contactId?: string;
@@ -1387,6 +1412,7 @@ declare class OrdersResource {
1387
1412
  quantity: number;
1388
1413
  name?: string;
1389
1414
  unitPrice?: number;
1415
+ taxClassId?: string | null;
1390
1416
  configuration?: Configuration;
1391
1417
  }[];
1392
1418
  fulfillmentMethod?: FulfillmentMethod;
@@ -1451,6 +1477,7 @@ declare class ProductsResource {
1451
1477
  description?: TranslatableValue | null;
1452
1478
  virtual?: boolean;
1453
1479
  public?: boolean;
1480
+ taxClassId?: string | null;
1454
1481
  }, teamSlug?: string): Promise<_$_joai_core0.IAppResponse<Product>>;
1455
1482
  update(id: string, data: {
1456
1483
  name?: TranslatableValue;
@@ -1461,6 +1488,7 @@ declare class ProductsResource {
1461
1488
  active?: boolean;
1462
1489
  public?: boolean;
1463
1490
  virtual?: boolean;
1491
+ taxClassId?: string | null;
1464
1492
  media?: string[];
1465
1493
  }): Promise<_$_joai_core0.IAppResponse<Product>>;
1466
1494
  delete(id: string): Promise<_$_joai_core0.IAppResponse<void>>;
@@ -1585,10 +1613,11 @@ declare class ServicesResource {
1585
1613
  digital?: boolean;
1586
1614
  public?: boolean;
1587
1615
  bookable?: boolean;
1616
+ taxClassId?: string | null;
1588
1617
  pricingModel?: string;
1589
1618
  settings?: Record<string, unknown> | null;
1590
1619
  }): Promise<_$_joai_core0.IAppResponse<Service>>;
1591
- update(id: string, data: Partial<Pick<Service, 'name' | 'price' | 'description' | 'active' | 'digital' | 'public' | 'bookable'>> & {
1620
+ update(id: string, data: Partial<Pick<Service, 'name' | 'price' | 'description' | 'active' | 'digital' | 'public' | 'bookable' | 'taxClassId'>> & {
1592
1621
  durationMinutes?: number | null;
1593
1622
  settings?: Record<string, unknown> | null;
1594
1623
  }): Promise<_$_joai_core0.IAppResponse<Service>>;
@@ -2359,4 +2388,4 @@ declare class DistributionResource {
2359
2388
  private fetchDistribution;
2360
2389
  }
2361
2390
  //#endregion
2362
- export { AddressesResource, AgentsResource, AlertsResource, ApiTokensResource, AppointmentsResource, type AttachedMedia, type AuthConfirmCodeRequest, type AuthConfirmCodeResponse, type AuthNativeSessionResponse, type AuthPortalSessionResponse, AuthResource, type AuthSendCodeRequest, type AuthUser, AutomationsResource, type BackendWarp, type BackendWarpBrand, BillingResource, BlueprintsResource, type CacheConfig, CachedHttpService, CampaignsResource, CardsResource, type Cart, CartsResource, ChangelogResource, CharactersResource, CheckoutResource, type CheckoutSnapshot, CommerceResource, ContactsResource, ContentResource, ContractsResource, type CreateEmptyGuestCheckoutOptions, type CreateHookPayload, type CreateInboundHookPayload, type CreateInternalHookPayload, type CreateWarpLinkedHookPayload, type CreateWebHookPayload, DeskResource, DistributionResource, DocumentsResource, ElementsResource, EntitiesResource, FlowsResource, type FulfillmentLocation, type FulfillmentLocationInput, FulfillmentsResource, GoalsResource, type GuestBuyer, type GuestCartAmounts, type GuestCheckoutCartItem, type GuestCheckoutClient, type GuestCheckoutDraft, GuestCheckoutError, type GuestCheckoutErrorCode, type GuestCheckoutSnapshotResult, type GuestCheckoutState, type GuestCommerceStorage, type GuestCommerceStorageOptions, type GuestCouponClient, GuestCouponError, type GuestCouponErrorCode, type GuestCouponPreview, type GuestOrderAccess, type Hook, type HookSample, type HookTrigger, type HookTriggerCondition, type HookTriggerInput, HooksResource, IngestionsResource, InquiriesResource, IntegrationsResource, IntentsResource, type ItemListParams, ItemsResource, JoAiClient, type JoAiClientConfig, KvResource, LinksResource, LoyaltyResource, McpResource, type MediaUploadType, MeetingsResource, MemoriesResource, MessagesResource, MetricsResource, MissionsResource, NotificationsResource, OfficeResource, type OpenPortalSessionOptions, type OpeningHoursEntry, type OpeningHoursFormatOptions, type Order, type OrderPriceMode, type OrderStatus, OrdersResource, PersonaResource, type PlaceCheckoutOrderRequest, type PlaceGuestCheckoutOrderResult, type Product, type ProductVariation, ProductsResource, ProjectsResource, RemindersResource, ReturnsResource, type RevalidateGuestCouponResult, SegmentsResource, ServicesResource, type ShippingRate, type ShippingRateInput, ShippingResource, type ShippingZoneInput, ShortcutsResource, SitesResource, SkillsResource, SocialPostsResource, StatsResource, StoreResource, SubscriptionsResource, SwarmsResource, TagsResource, TasksResource, type TeamInviteInfo, TeamsResource, UpdatesResource, UpgradesResource, UsersResource, VoiceResource, WalletsResource, WarpsResource, type WebHookTriggerEvent, WorkspaceResource, assertGuestCheckoutReady, assertGuestPickupSlotReady, buildGuestCheckoutSnapshotRequest, buildGuestOrderReturnUrl, completePortalSession, createClient, createEmptyGuestCheckoutState, createGuestCheckoutSnapshot, createGuestCommerceStorage, formatOpeningHours, formatPickupSlotLabel, getAuthFragmentToken, guestCartAmounts, guestCouponMessageFromErrors, isAllowedRedirectUrl, isGuestCheckoutError, isGuestCouponError, isPortalCallbackUrl, openPortalSession, placeGuestCheckoutOrder, readGuestOrderReturnAccess, revalidateGuestCoupon, sanitizePortalCallbackUrl, stripGuestOrderReturnToken, toGuestCheckoutDraft, validateGuestCoupon };
2391
+ export { AddressesResource, AgentsResource, AlertsResource, ApiTokensResource, AppointmentsResource, type AttachedMedia, type AuthConfirmCodeRequest, type AuthConfirmCodeResponse, type AuthNativeSessionResponse, type AuthPortalSessionResponse, AuthResource, type AuthSendCodeRequest, type AuthUser, AutomationsResource, type BackendWarp, type BackendWarpBrand, BillingResource, BlueprintsResource, type CacheConfig, CachedHttpService, CampaignsResource, CardsResource, type Cart, CartsResource, ChangelogResource, CharactersResource, CheckoutResource, type CheckoutSnapshot, CommerceResource, ContactsResource, ContentResource, ContractsResource, type CreateEmptyGuestCheckoutOptions, type CreateHookPayload, type CreateInboundHookPayload, type CreateInternalHookPayload, type CreateWarpLinkedHookPayload, type CreateWebHookPayload, DeskResource, DistributionResource, DocumentsResource, ElementsResource, EntitiesResource, FlowsResource, type FulfillmentLocation, type FulfillmentLocationInput, FulfillmentsResource, GoalsResource, type GuestBuyer, type GuestCartAmounts, type GuestCheckoutCartItem, type GuestCheckoutClient, type GuestCheckoutDraft, GuestCheckoutError, type GuestCheckoutErrorCode, type GuestCheckoutSnapshotResult, type GuestCheckoutState, type GuestCommerceStorage, type GuestCommerceStorageOptions, type GuestCouponClient, GuestCouponError, type GuestCouponErrorCode, type GuestCouponPreview, type GuestOrderAccess, type Hook, type HookSample, type HookTrigger, type HookTriggerCondition, type HookTriggerInput, HooksResource, IngestionsResource, InquiriesResource, IntegrationsResource, IntentsResource, type ItemListParams, ItemsResource, JoAiClient, type JoAiClientConfig, KvResource, LinksResource, LoyaltyResource, McpResource, type MediaUploadType, MeetingsResource, MemoriesResource, MessagesResource, MetricsResource, MissionsResource, NotificationsResource, OfficeResource, type OpenPortalSessionOptions, type OpeningHoursEntry, type OpeningHoursFormatOptions, type Order, type OrderPriceMode, type OrderStatus, OrdersResource, PersonaResource, type PlaceCheckoutOrderRequest, type PlaceGuestCheckoutOrderResult, type Product, type ProductVariation, ProductsResource, ProjectsResource, RemindersResource, ReturnsResource, type RevalidateGuestCouponResult, SegmentsResource, ServicesResource, type ShippingRate, type ShippingRateInput, ShippingResource, type ShippingZoneInput, ShortcutsResource, SitesResource, SkillsResource, SocialPostsResource, StatsResource, StoreResource, SubscriptionsResource, SwarmsResource, TagsResource, TasksResource, type TaxClassInput, TaxClassesResource, type TeamInviteInfo, TeamsResource, UpdatesResource, UpgradesResource, UsersResource, VoiceResource, WalletsResource, WarpsResource, type WebHookTriggerEvent, WorkspaceResource, assertGuestCheckoutReady, assertGuestPickupSlotReady, buildGuestCheckoutSnapshotRequest, buildGuestOrderReturnUrl, completePortalSession, createClient, createEmptyGuestCheckoutState, createGuestCheckoutSnapshot, createGuestCommerceStorage, formatOpeningHours, formatPickupSlotLabel, getAuthFragmentToken, guestCartAmounts, guestCouponMessageFromErrors, isAllowedRedirectUrl, isGuestCheckoutError, isGuestCouponError, isPortalCallbackUrl, openPortalSession, placeGuestCheckoutOrder, readGuestOrderReturnAccess, revalidateGuestCoupon, sanitizePortalCallbackUrl, stripGuestOrderReturnToken, toGuestCheckoutDraft, validateGuestCoupon };
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { HttpService, cartLineTotal, cartPayableTotal, getApiBaseUrl, isCompleteAddressInput } from "@joai/core";
1
+ import { HttpService, cartLineTotal, cartPayableTotal, firstValidationMessage, getApiBaseUrl, isCompleteAddressInput, validationMessageFor } from "@joai/core";
2
2
  import { WarpClient } from "@joai/warps";
3
3
  //#region src/resources/agents.ts
4
4
  var AgentsResource = class {
@@ -162,11 +162,15 @@ var FulfillmentsResource = class {
162
162
  list(orderId) {
163
163
  return this.http.get(`orders/${orderId}/fulfillments`);
164
164
  }
165
+ carriers() {
166
+ return this.http.get("shipping-carriers");
167
+ }
165
168
  create(orderId, data) {
166
169
  return this.http.post(`orders/${orderId}/fulfillments`, data);
167
170
  }
168
- update(orderId, fulfillmentId, status) {
169
- return this.http.patch(`orders/${orderId}/fulfillments/${fulfillmentId}`, { status });
171
+ update(orderId, fulfillmentId, data) {
172
+ const body = typeof data === "string" ? { status: data } : data;
173
+ return this.http.patch(`orders/${orderId}/fulfillments/${fulfillmentId}`, body);
170
174
  }
171
175
  };
172
176
  //#endregion
@@ -227,6 +231,25 @@ var ShippingResource = class {
227
231
  }
228
232
  };
229
233
  //#endregion
234
+ //#region src/commerce/taxClasses.ts
235
+ var TaxClassesResource = class {
236
+ constructor(http) {
237
+ this.http = http;
238
+ }
239
+ list(team) {
240
+ return this.http.get(`teams/${team}/tax-classes`);
241
+ }
242
+ create(team, data) {
243
+ return this.http.post(`teams/${team}/tax-classes`, data);
244
+ }
245
+ update(team, taxClassId, data) {
246
+ return this.http.patch(`teams/${team}/tax-classes/${taxClassId}`, data);
247
+ }
248
+ delete(team, taxClassId) {
249
+ return this.http.delete(`teams/${team}/tax-classes/${taxClassId}`);
250
+ }
251
+ };
252
+ //#endregion
230
253
  //#region src/commerce/guest.ts
231
254
  const orderAccessPrefix = "joai:order-access:";
232
255
  const checkoutKey = (namespace) => `joai:guest-checkout:${namespace}`;
@@ -518,7 +541,11 @@ async function placeGuestCheckoutOrder(options) {
518
541
  serviceSlug: options.serviceSlug,
519
542
  sendConfirmation: true
520
543
  });
521
- if (!order.ok || !order.data?.id) throw new GuestCheckoutError("order_failed");
544
+ if (!order.ok || !order.data?.id) {
545
+ const validationMessage = firstValidationMessage(order.errors);
546
+ if (validationMessage) throw new Error(validationMessage);
547
+ throw new GuestCheckoutError("order_failed");
548
+ }
522
549
  const accessToken = typeof order.meta?.orderAccessToken === "string" ? order.meta.orderAccessToken : null;
523
550
  if (options.pay === false) return {
524
551
  order: order.data,
@@ -553,12 +580,7 @@ var GuestCouponError = class extends Error {
553
580
  }
554
581
  };
555
582
  /** First `couponCode` validation message from an API error payload. */
556
- const guestCouponMessageFromErrors = (errors) => {
557
- if (!errors || typeof errors !== "object" || Array.isArray(errors)) return void 0;
558
- const couponError = errors.couponCode;
559
- if (Array.isArray(couponError) && typeof couponError[0] === "string") return couponError[0];
560
- if (typeof couponError === "string") return couponError;
561
- };
583
+ const guestCouponMessageFromErrors = (errors) => validationMessageFor(errors, "couponCode");
562
584
  const isGuestCouponError = (error) => {
563
585
  if (error instanceof GuestCouponError) return true;
564
586
  return typeof error === "object" && error !== null && error.name === "GuestCouponError" && typeof error.code === "string";
@@ -628,13 +650,16 @@ async function revalidateGuestCoupon(options) {
628
650
  }
629
651
  //#endregion
630
652
  //#region src/commerce/pickupSlotLabel.ts
653
+ /** Formats a pickup slot in a locale-aware 24h label. Pass timeZone when the meeting/policy provides one. */
631
654
  const formatPickupSlotLabel = (iso, locale, timeZone) => new Intl.DateTimeFormat(locale, {
632
- timeZone,
655
+ ...timeZone ? { timeZone } : {},
633
656
  weekday: "short",
634
- day: "numeric",
635
- month: "short",
657
+ day: "2-digit",
658
+ month: "2-digit",
659
+ year: "numeric",
636
660
  hour: "2-digit",
637
- minute: "2-digit"
661
+ minute: "2-digit",
662
+ hourCycle: "h23"
638
663
  }).format(new Date(iso));
639
664
  //#endregion
640
665
  //#region src/commerce/index.ts
@@ -642,6 +667,7 @@ var CommerceResource = class {
642
667
  constructor(http) {
643
668
  this.checkout = new CheckoutResource(http);
644
669
  this.shipping = new ShippingResource(http);
670
+ this.taxClasses = new TaxClassesResource(http);
645
671
  this.fulfillments = new FulfillmentsResource(http);
646
672
  this.returns = new ReturnsResource(http);
647
673
  }
@@ -1012,8 +1038,8 @@ var BillingResource = class {
1012
1038
  checkoutProduct(id) {
1013
1039
  return this.http.get(`products/${id}`);
1014
1040
  }
1015
- orders(team, page = 1, filters = {}) {
1016
- let params = `orders?page=${page}`;
1041
+ orders(team, page = 1, filters = {}, perPage = 10) {
1042
+ let params = `orders?page=${page}&perPage=${perPage}`;
1017
1043
  if (filters.contactId) params += `&contactId=${encodeURIComponent(filters.contactId)}`;
1018
1044
  if (filters.couponId) params += `&couponId=${encodeURIComponent(filters.couponId)}`;
1019
1045
  return this.http.get(params, team ? { headers: { "X-Team": team.slug } } : void 0);
@@ -1365,8 +1391,9 @@ var DocumentsResource = class {
1365
1391
  get(id) {
1366
1392
  return this.http.get(`documents/${id}`);
1367
1393
  }
1368
- getShared(slug) {
1369
- return this.http.get(`documents/shared/${encodeURIComponent(slug)}`);
1394
+ getShared(slug, password) {
1395
+ const query = password ? `?password=${encodeURIComponent(password)}` : "";
1396
+ return this.http.get(`documents/shared/${encodeURIComponent(slug)}${query}`);
1370
1397
  }
1371
1398
  update(id, data) {
1372
1399
  return this.http.put(`documents/${id}`, data);
@@ -2062,8 +2089,8 @@ var OrdersResource = class {
2062
2089
  constructor(http) {
2063
2090
  this.http = http;
2064
2091
  }
2065
- list(team) {
2066
- return this.http.get("orders", { headers: { "X-Team": team } });
2092
+ list(team, page = 1, perPage = 10) {
2093
+ return this.http.get(`orders?page=${page}&perPage=${perPage}`, { headers: { "X-Team": team } });
2067
2094
  }
2068
2095
  get(id, accessToken) {
2069
2096
  return this.http.get(`orders/${id}`, orderAccessHeaders(accessToken));
@@ -3561,4 +3588,4 @@ var DistributionResource = class {
3561
3588
  }
3562
3589
  };
3563
3590
  //#endregion
3564
- export { AddressesResource, AgentsResource, AlertsResource, ApiTokensResource, AppointmentsResource, AuthResource, AutomationsResource, BillingResource, BlueprintsResource, CachedHttpService, CampaignsResource, CardsResource, CartsResource, ChangelogResource, CharactersResource, CheckoutResource, CommerceResource, ContactsResource, ContentResource, ContractsResource, DeskResource, DistributionResource, DocumentsResource, ElementsResource, EntitiesResource, FlowsResource, FulfillmentsResource, GoalsResource, GuestCheckoutError, GuestCouponError, HooksResource, IngestionsResource, InquiriesResource, IntegrationsResource, IntentsResource, ItemsResource, JoAiClient, KvResource, LinksResource, LoyaltyResource, McpResource, MeetingsResource, MemoriesResource, MessagesResource, MetricsResource, MissionsResource, NotificationsResource, OfficeResource, OrdersResource, PersonaResource, ProductsResource, ProjectsResource, RemindersResource, ReturnsResource, SegmentsResource, ServicesResource, ShippingResource, ShortcutsResource, SitesResource, SkillsResource, SocialPostsResource, StatsResource, StoreResource, SubscriptionsResource, SwarmsResource, TagsResource, TasksResource, TeamsResource, UpdatesResource, UpgradesResource, UsersResource, VoiceResource, WalletsResource, WarpsResource, WorkspaceResource, assertGuestCheckoutReady, assertGuestPickupSlotReady, buildGuestCheckoutSnapshotRequest, buildGuestOrderReturnUrl, completePortalSession, createClient, createEmptyGuestCheckoutState, createGuestCheckoutSnapshot, createGuestCommerceStorage, formatOpeningHours, formatPickupSlotLabel, getAuthFragmentToken, guestCartAmounts, guestCouponMessageFromErrors, isAllowedRedirectUrl, isGuestCheckoutError, isGuestCouponError, isPortalCallbackUrl, openPortalSession, placeGuestCheckoutOrder, readGuestOrderReturnAccess, revalidateGuestCoupon, sanitizePortalCallbackUrl, stripGuestOrderReturnToken, toGuestCheckoutDraft, validateGuestCoupon };
3591
+ export { AddressesResource, AgentsResource, AlertsResource, ApiTokensResource, AppointmentsResource, AuthResource, AutomationsResource, BillingResource, BlueprintsResource, CachedHttpService, CampaignsResource, CardsResource, CartsResource, ChangelogResource, CharactersResource, CheckoutResource, CommerceResource, ContactsResource, ContentResource, ContractsResource, DeskResource, DistributionResource, DocumentsResource, ElementsResource, EntitiesResource, FlowsResource, FulfillmentsResource, GoalsResource, GuestCheckoutError, GuestCouponError, HooksResource, IngestionsResource, InquiriesResource, IntegrationsResource, IntentsResource, ItemsResource, JoAiClient, KvResource, LinksResource, LoyaltyResource, McpResource, MeetingsResource, MemoriesResource, MessagesResource, MetricsResource, MissionsResource, NotificationsResource, OfficeResource, OrdersResource, PersonaResource, ProductsResource, ProjectsResource, RemindersResource, ReturnsResource, SegmentsResource, ServicesResource, ShippingResource, ShortcutsResource, SitesResource, SkillsResource, SocialPostsResource, StatsResource, StoreResource, SubscriptionsResource, SwarmsResource, TagsResource, TasksResource, TaxClassesResource, TeamsResource, UpdatesResource, UpgradesResource, UsersResource, VoiceResource, WalletsResource, WarpsResource, WorkspaceResource, assertGuestCheckoutReady, assertGuestPickupSlotReady, buildGuestCheckoutSnapshotRequest, buildGuestOrderReturnUrl, completePortalSession, createClient, createEmptyGuestCheckoutState, createGuestCheckoutSnapshot, createGuestCommerceStorage, formatOpeningHours, formatPickupSlotLabel, getAuthFragmentToken, guestCartAmounts, guestCouponMessageFromErrors, isAllowedRedirectUrl, isGuestCheckoutError, isGuestCouponError, isPortalCallbackUrl, openPortalSession, placeGuestCheckoutOrder, readGuestOrderReturnAccess, revalidateGuestCoupon, sanitizePortalCallbackUrl, stripGuestOrderReturnToken, toGuestCheckoutDraft, validateGuestCoupon };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@joai/sdk",
3
- "version": "7.0.6",
3
+ "version": "7.0.7",
4
4
  "description": "JoAi public API SDK — build with your AI agents",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -35,11 +35,11 @@
35
35
  "test": "jest --config jest.config.js"
36
36
  },
37
37
  "dependencies": {
38
- "@joai/core": "^4.15.5",
38
+ "@joai/core": "^4.15.6",
39
39
  "@joai/warps": "*"
40
40
  },
41
41
  "peerDependencies": {
42
- "@joai/core": "^4.15.5"
42
+ "@joai/core": "^4.15.6"
43
43
  },
44
44
  "devDependencies": {
45
45
  "tsdown": "^0.21.0",