@joai/core 4.13.0 → 4.15.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/index.d.mts CHANGED
@@ -298,6 +298,8 @@ type CheckoutSnapshot = {
298
298
  subtotal: number;
299
299
  shippingFee: number;
300
300
  total: number;
301
+ discount?: number;
302
+ couponCode?: string | null;
301
303
  };
302
304
  expiresAt: string;
303
305
  accessToken?: string | null;
@@ -320,6 +322,7 @@ type CheckoutSnapshotRequest = {
320
322
  shippingAddress?: AddressInput;
321
323
  shippingRateId?: number | null;
322
324
  fulfillmentLocationId?: number | null;
325
+ couponCode?: string | null;
323
326
  };
324
327
  type ShippingZone = {
325
328
  id: number;
@@ -549,6 +552,61 @@ type Media = {
549
552
  aiGenerated?: boolean;
550
553
  };
551
554
  //#endregion
555
+ //#region src/site/types.d.ts
556
+ type SiteType = 'undefined' | 'shop';
557
+ type SiteTeam = {
558
+ name: string;
559
+ slug: string;
560
+ logoUrl: string | null;
561
+ };
562
+ type SiteAgent = {
563
+ uuid: string | null;
564
+ };
565
+ type Site = {
566
+ id: number;
567
+ slug: string;
568
+ name: string | null;
569
+ url: string | null;
570
+ type: SiteType;
571
+ brandSlug: string | null;
572
+ customDomain: string | null;
573
+ enabled: boolean;
574
+ contactId?: string | null;
575
+ metricsSource?: string | null;
576
+ metricsResource?: string | null;
577
+ monthlyReport?: boolean;
578
+ team: SiteTeam | null;
579
+ agent: SiteAgent | null;
580
+ settings: Record<string, JsonValue>;
581
+ };
582
+ type SiteRoute = {
583
+ path: string;
584
+ warp: string;
585
+ label: WarpI18nText;
586
+ nav?: boolean;
587
+ hiddenFields?: string[];
588
+ };
589
+ type BrandSiteConfig = {
590
+ enabled: boolean;
591
+ auth?: boolean;
592
+ indexPath: string;
593
+ routes: SiteRoute[];
594
+ name?: string;
595
+ logoUrl?: string | null;
596
+ };
597
+ type SiteBrand = {
598
+ slug: string;
599
+ configureRoute: Pick<SiteRoute, 'path' | 'label'> | null;
600
+ };
601
+ type AggregatedRoute = {
602
+ path: string;
603
+ warp: string;
604
+ label: WarpI18nText;
605
+ nav?: boolean;
606
+ hiddenFields?: string[];
607
+ moduleSlug?: string;
608
+ };
609
+ //#endregion
552
610
  //#region src/flow/types.d.ts
553
611
  type FlowCategory = 'none' | 'defi' | 'nft' | 'social' | 'devtools' | 'productivity' | 'trading' | 'portfolio';
554
612
  type FlowStatus = 'draft' | 'published';
@@ -751,6 +809,8 @@ declare const NativeApps: {
751
809
  readonly Sites: "sites";
752
810
  readonly Contracts: "contracts";
753
811
  readonly Artifacts: "artifacts";
812
+ readonly Social: "social";
813
+ readonly Studio: "studio";
754
814
  };
755
815
  type NativeApp = (typeof NativeApps)[keyof typeof NativeApps];
756
816
  declare const nativeAppSlugs: NativeApp[];
@@ -1236,6 +1296,7 @@ type Order = {
1236
1296
  priceMode?: OrderPriceMode | null;
1237
1297
  linkVariationId: string | null;
1238
1298
  notes: string | null;
1299
+ site?: Site | null;
1239
1300
  fulfillmentMethod?: FulfillmentMethod | null;
1240
1301
  billingAddress?: AddressSnapshot | null;
1241
1302
  shippingAddress?: AddressSnapshot | null;
@@ -1359,7 +1420,7 @@ type Skill = {
1359
1420
  };
1360
1421
  //#endregion
1361
1422
  //#region src/integration/types.d.ts
1362
- type IntegrationType = 'none' | 'webhook' | 'api-token' | 'telegram' | 'slack' | 'whatsapp' | 'whatsapp-personal' | 'twilio' | 'sms' | 'n8n' | 'apple-health' | 'mcp' | 'x' | 'xchat' | 'instagram' | 'grok' | 'cloudflare' | 'email' | 'calendar' | 'embed' | 'discord' | 'github' | 'push' | 'sentry' | 'readwise';
1423
+ type IntegrationType = 'none' | 'webhook' | 'api-token' | 'telegram' | 'slack' | 'whatsapp' | 'whatsapp-personal' | 'twilio' | 'sms' | 'n8n' | 'apple-health' | 'mcp' | 'x' | 'xchat' | 'instagram' | 'facebook' | 'linkedin' | 'grok' | 'cloudflare' | 'email' | 'calendar' | 'embed' | 'discord' | 'github' | 'push' | 'sentry' | 'readwise';
1363
1424
  type IntegrationDetails = {
1364
1425
  type: IntegrationType;
1365
1426
  name: string;
@@ -1402,6 +1463,7 @@ type SocialBot = {
1402
1463
  applicationId?: string;
1403
1464
  appId?: string;
1404
1465
  installationId?: string;
1466
+ username?: string;
1405
1467
  };
1406
1468
  type XIntegrationStatus = {
1407
1469
  enabled: boolean;
@@ -1512,6 +1574,13 @@ type AgentSimple = {
1512
1574
  type AgentWalletMode = 'local' | 'cloud' | 'external';
1513
1575
  type AgentEngine = 'cortex' | 'openclaw';
1514
1576
  type AgentGender = 'male' | 'female' | 'neutral';
1577
+ type AgentTrustedActionRule = {
1578
+ id: string;
1579
+ hash: string;
1580
+ match?: Record<string, string>;
1581
+ identifier?: string;
1582
+ title?: string;
1583
+ };
1515
1584
  type AgentSettings = {
1516
1585
  auto: boolean;
1517
1586
  'model.url': string;
@@ -1935,7 +2004,22 @@ declare const localize: (value: Partial<Record<string, string>> | string | null
1935
2004
  //#endregion
1936
2005
  //#region src/helpers/number.d.ts
1937
2006
  declare const abbreviateNumber: (val: number) => string | number;
1938
- declare const toCurrencyDisplay: (valueInCents: number, currency?: string) => string;
2007
+ /** JoAi platform billing currency (plans, top-ups, store marketplace). Not team shop currency. */
2008
+ declare const PLATFORM_CURRENCY = "USD";
2009
+ type TeamCurrencySource = {
2010
+ locale?: string | null;
2011
+ meta?: {
2012
+ currency?: string | null;
2013
+ } | null;
2014
+ };
2015
+ /** ISO currency from team settings. Throws when the team has no currency configured. */
2016
+ declare const resolveTeamCurrency: (team: TeamCurrencySource) => string;
2017
+ /**
2018
+ * Format cents as currency. Pass an ISO code, or a team (uses meta.currency + locale).
2019
+ * Never omit the second argument — there is no implicit USD.
2020
+ */
2021
+ declare function toCurrencyDisplay(valueInCents: number, currency: string, locale?: string): string;
2022
+ declare function toCurrencyDisplay(valueInCents: number, team: TeamCurrencySource): string;
1939
2023
  declare const toHexEncodedNonce: (nonce: number) => string;
1940
2024
  declare const toNftId: (collection: string, nonce: number) => string;
1941
2025
  //#endregion
@@ -2127,8 +2211,8 @@ type Meeting = {
2127
2211
  captureMode: 'desktop_local' | null;
2128
2212
  transcriptUrl: string | null;
2129
2213
  summaryUrl: string | null;
2130
- participants?: MeetingParticipant[]; /** The customer associated with an appointment booking, when available. */
2131
- contact?: Contact | null;
2214
+ participants?: MeetingParticipant[]; /** CRM contacts linked to an appointment booking, when available. */
2215
+ contacts?: Contact[];
2132
2216
  speakerAssignments?: MeetingSpeakerAssignment[] | null;
2133
2217
  scheduledAt: string | null;
2134
2218
  calendarEventId: number | null;
@@ -2491,6 +2575,16 @@ type PatchContentInput = {
2491
2575
  //#region src/address/formatAddressSnapshot.d.ts
2492
2576
  declare const formatAddressSnapshotLines: (address: AddressSnapshot | null | undefined) => string[];
2493
2577
  //#endregion
2578
+ //#region src/billing/orderStatus.d.ts
2579
+ /** Successful / in-fulfillment statuses shown as the thank-you “complete” path. */
2580
+ declare const ORDER_FULFILLMENT_STATUSES: readonly OrderStatus[];
2581
+ /** Statuses where checkout is finished and the guest may leave the JoAi thank-you page. */
2582
+ declare const ORDER_POST_CHECKOUT_STATUSES: readonly OrderStatus[];
2583
+ declare const isOrderPending: (status: OrderStatus) => boolean;
2584
+ declare const isOrderCanceled: (status: OrderStatus) => boolean;
2585
+ declare const isOrderInFulfillment: (status: OrderStatus) => boolean;
2586
+ declare const isOrderPostCheckout: (status: OrderStatus) => boolean;
2587
+ //#endregion
2494
2588
  //#region src/commerce/helpers.d.ts
2495
2589
  type CartLine = {
2496
2590
  price: number;
@@ -3920,59 +4014,6 @@ type Shortcut = {
3920
4014
  agent: Agent | null;
3921
4015
  };
3922
4016
  //#endregion
3923
- //#region src/site/types.d.ts
3924
- type SiteTeam = {
3925
- name: string;
3926
- slug: string;
3927
- logoUrl: string | null;
3928
- };
3929
- type SiteAgent = {
3930
- uuid: string | null;
3931
- };
3932
- type Site = {
3933
- id: number;
3934
- slug: string;
3935
- name: string | null;
3936
- url: string | null;
3937
- brandSlug: string | null;
3938
- customDomain: string | null;
3939
- enabled: boolean;
3940
- contactId?: string | null;
3941
- metricsSource?: string | null;
3942
- metricsResource?: string | null;
3943
- monthlyReport?: boolean;
3944
- team: SiteTeam | null;
3945
- agent: SiteAgent | null;
3946
- settings: Record<string, JsonValue>;
3947
- };
3948
- type SiteRoute = {
3949
- path: string;
3950
- warp: string;
3951
- label: WarpI18nText;
3952
- nav?: boolean;
3953
- hiddenFields?: string[];
3954
- };
3955
- type BrandSiteConfig = {
3956
- enabled: boolean;
3957
- auth?: boolean;
3958
- indexPath: string;
3959
- routes: SiteRoute[];
3960
- name?: string;
3961
- logoUrl?: string | null;
3962
- };
3963
- type SiteBrand = {
3964
- slug: string;
3965
- configureRoute: Pick<SiteRoute, 'path' | 'label'> | null;
3966
- };
3967
- type AggregatedRoute = {
3968
- path: string;
3969
- warp: string;
3970
- label: WarpI18nText;
3971
- nav?: boolean;
3972
- hiddenFields?: string[];
3973
- moduleSlug?: string;
3974
- };
3975
- //#endregion
3976
4017
  //#region src/stats/types.d.ts
3977
4018
  type UserStats = {
3978
4019
  totalMessages: number;
@@ -4321,6 +4362,48 @@ type UpdateStats = {
4321
4362
  creationHistory: number[];
4322
4363
  };
4323
4364
  //#endregion
4365
+ //#region src/social-post/types.d.ts
4366
+ type SocialPostPlatform = 'instagram' | 'x' | 'facebook' | 'linkedin';
4367
+ type SocialPostStatus = 'draft' | 'scheduled' | 'publishing' | 'published' | 'failed' | 'cancelled';
4368
+ type SocialPost = {
4369
+ id: string;
4370
+ platform: SocialPostPlatform;
4371
+ status: SocialPostStatus;
4372
+ body: string | null;
4373
+ media: Media[];
4374
+ scheduledAt: string | null;
4375
+ publishedAt: string | null;
4376
+ externalId: string | null;
4377
+ error: string | null;
4378
+ canEdit: boolean;
4379
+ canSchedule: boolean;
4380
+ canCancel: boolean;
4381
+ canRetry: boolean;
4382
+ canDelete: boolean;
4383
+ createdAt: string;
4384
+ updatedAt: string;
4385
+ };
4386
+ type SocialPostCreatePayload = {
4387
+ platform: SocialPostPlatform;
4388
+ body?: string | null;
4389
+ media: string[];
4390
+ scheduledAt?: string | null;
4391
+ };
4392
+ type SocialPostUpdatePayload = {
4393
+ body?: string | null;
4394
+ media?: string[];
4395
+ };
4396
+ type SocialPostConnection = {
4397
+ platform: SocialPostPlatform;
4398
+ connected: boolean;
4399
+ displayName: string | null;
4400
+ minImages: number;
4401
+ maxImages: number;
4402
+ maxBodyLength: number;
4403
+ allowedMimeTypes: string[];
4404
+ allowsTextOnly: boolean;
4405
+ };
4406
+ //#endregion
4324
4407
  //#region src/upgrade/types.d.ts
4325
4408
  type UpgradeStatus = 'Pending' | 'Accepted' | 'Rejected';
4326
4409
  type UpgradeSourceType = 'Agent' | 'Marketplace';
@@ -4592,4 +4675,4 @@ type CliSessionStatus = {
4592
4675
  meta: CliSessionMeta | null;
4593
4676
  };
4594
4677
  //#endregion
4595
- export { AUTOMATION_SEND_CHANNELS, Achievement, Address, AddressCreatePayload, AddressInput, AddressSnapshot, type AddressType, AddressTypes, AddressUpdatePayload, Affiliate, AffiliateStatus, AffiliateTier, AffiliateTierName, Agent, AgentActionHistoryEntry, AgentCharacter, AgentDelegatable, AgentEngine, AgentExecuteHandler, AgentExecuteOptions, AgentGender, AgentMessageMeta, AgentMessageOptions, AgentPrivate, AgentSettings, AgentSetupTarget, AgentSimple, AgentToolingAccess, AgentWalletMode, AggregatedRoute, AiCostEntry, AiCostsResponse, AiCostsSummary, Alert, ApiToken, AppAccessRule, AppEnv, AppFile, AppFileType, AppIngestion, AppSetupTarget, AppendKvEntryResult, AppointmentAvailability, AppointmentAvailabilityService, AppointmentAvailabilitySlot, AppointmentBooking, AppointmentBookingContext, AppointmentPolicy, AppointmentPolicySync, AppointmentRequest, AppointmentSlot, Artifact, ArtifactBlock, ArtifactBlockType, ArtifactContactSummary, ArtifactCreatePayload, ArtifactDeliverIntegration, ArtifactDeliverPayload, ArtifactDelivery, ArtifactLink, ArtifactStatus, ArtifactType, ArtifactUpdatePayload, AuthUser, Automation, AutomationAction, AutomationActionConfig, AutomationActionInput, AutomationActionType, AutomationAudiencePreview, AutomationCreatePayload, AutomationEnrollment, AutomationEnrollmentChange, AutomationEnrollmentStatus, AutomationEnrollmentUpdatedPayload, AutomationSendChannel, AutomationSendChannelId, AutomationSkipReason, AutomationStats, AutomationTriggerConfig, AutomationTriggerType, AutomationUpdatePayload, BillingManageAccess, Blueprint, BlueprintOnboardingStep, BlueprintRedirect, BlueprintSettings, BlueprintShortcut, BlueprintTask, BlueprintTeam, BoardSummaryViewable, BookmarkEntry, BrandBackend, BrandIntegration, BrandIntegrationAction, BrandIntegrationProvider, BrandSearchHit, BrandSiteConfig, BrandSourceConfig, Budget, ByokProviderConfig, ByokProviderName, ByokProviders, CAMPAIGN_CHANNELS, CONTACT_MESSAGE_SEND_WARP, CalendarProvider, CalendarStatus, Campaign, CampaignApproval, CampaignAudiencePreview, CampaignAudiencePreviewPayload, CampaignCategory, CampaignChannel, CampaignChannelId, CampaignCreatePayload, CampaignRecipient, CampaignRecipientStatus, CampaignSkipReason, CampaignSkipReasons, CampaignStats, CampaignStatus, CampaignUpdatePayload, Card, Cart, CartItem, CartLine, Challenge, Challenges, ChangelogEntry, Character, ChatClientAction, ChatClientThought, ChatStreamData, ChatStreamEventType, CheckoutSnapshot, CheckoutSnapshotRequest, CliSessionMeta, CliSessionStatus, CommissionAgreement, Configuration, Contact, ContactActivity, ContactActivityAuthor, ContactActivityType, ContactConsent, ContactConsentStatus, ContactCreatePayload, ContactFormData, ContactHealth, ContactRelation, ContactRelationCategory, ContactRelationContact, ContactRelationDirection, ContactRelationPayload, ContactRelationType, ContactRelationUpdatePayload, ContactViewable, Content, ContentDefinition, ContentEntry, ContentField, ContentFieldType, ContentPatch, ContentStatus, ContentValue, ContentVersion, Contract, ContractCategoryDisplayNames, ContractCategoryName, ContractCodeMetadata, ContractEntity, ContractOnNetwork, ContractVersion, ContractsAddressConfig, CortexExecuteOptions, Coupon, CouponCondition, CouponRestrictedItem, CouponRestrictedItemType, CreateContentInput, CreateHookPayload, CreateInboundHookPayload, CreateInternalHookPayload, CreateKvFieldPayload, CreateWarpLinkedHookPayload, CreateWebHookPayload, DefaultCodeMetadata, DefaultInviteTeamRole, DemoFlow, DemoMessage, Desk, DeskItem, DeskItemRole, Document, EarnResponse, Earning, Element, ElementSpec, ElementType, ElementVariation, EmailProvider, EmbedStatus, EncryptionStatus, Entity, EntityDirectExecuteRequest, EntityProposable, EntitySignable, EntityTemplate, Experience, FeatureSetupTarget, FileInfo, FileMetadata, Flow, FlowCategory, FlowInputMapping, FlowStatus, FlowStep, Fulfillment, FulfillmentLocation, type FulfillmentMethod, FulfillmentMethods, type FulfillmentStatus, FulfillmentStatuses, GamificationData, GamificationEventType, Goal, GoalCreatePayload, GoalPriority, GoalProgressViewable, GoalStatus, GuestBuyer, HintOptions, HintPosition, Hook, HookSample, HookTrigger, HookTriggerCondition, HookTriggerInput, HttpService, IAppResponse, IHttpService, IRequestOptions, IngestionSourceType, IngestionStatus, Inquiry, InquiryStatus, InquiryType, Integration, IntegrationConnectionDetails, IntegrationDetails, IntegrationMeta, IntegrationType, Intent, InviteableTeamRoles, Item, ItemCreatePayload, ItemExecutionStatus, ItemPriority, ItemStatus, ItemUpdatePayload, ItemViewable, JoaiUrls, JsonValue, KvEntry, KvEntryPayload, KvField, KvFieldWithEntries, KvValue, Kyc, KycStatus, Link, LinkCreatePayload, LinkScanHistory, LinkStats, LinkUpdatePayload, LinkVariation, LinkVariationBatchCreatePayload, LinkVariationCreatePayload, LocalAgentWallet, LoyaltyAccount, LoyaltyMember, LoyaltyNextTier, LoyaltyProgram, LoyaltyPromotion, LoyaltyReward, LoyaltyStatus, LoyaltyTier, LoyaltyTierInfo, LoyaltyTransaction, McpToolCall, McpToolCallBroadcast, McpToolCallStatus, Media, MediaAspectRatio, MediaAttributes, MediaItems, MediaLibraryAttributes, MediaMime, Meeting, MeetingConferenceProvider, MeetingFeature, MeetingJoinInfo, MeetingJoinTeam, MeetingParticipant, MeetingSessionState, MeetingSpeakerAssignment, MeetingStatus, MeetingSummary, MeetingTranscriptEntry, MeetingUsage, Memory, Message, MessageId, MessageRole, Metric, MetricSource, MetricsResult, Milestone, MilestoneType, Mission, MissionBudget, MissionCreatePayload, MissionPlan, MissionPriority, MissionSchedule, MissionStatus, MissionViewable, MollieTerminalPaymentResult, MultimodalContent, MultimodalFile, NATIVE_AUTH_TOKEN_PARAM, NativeApp, NativeApps, Notification, NotificationAction, NotificationAgent, NotificationChannel, NotificationSetting, OG_IMAGE_CONFIG, OG_IMAGE_HEIGHT, OG_IMAGE_WIDTH, OUTBOUND_CHANNELS, OfficeAgent, OfficeEntity, OfficeEntityKind, OfficeLiveOverrides, OfficeMember, OfficeSnapshot, OfficeStatus, OfficeStatusFilter, OfficeTypeFilter, OgImageColors, OgImageParams, OgImageType, Order, OrderConfigurationItem, OrderContext, OrderItem, OrderPriceMode, OrderSource, OrderStatus, OrderType, OutboundChannel, OutboundChannelId, PaginatedResponse, Pass, PatchContentInput, PaymentAccount, PaymentAccountOnboarding, PaymentProvider, PayoutEntry, PeriodTypeLabels, PeriodTypeOptions, PermissionConfigType, PermissionPresetName, PermissionPresetNames, PersonaQuestionable, Plan, PlanBenefit, PlanExtra, PlanFeature, PlanInterval, PolicyMethod, PolicySetting, PricingModel, Product, ProductDiscount, ProductMeta, ProductPieces, ProductRating, ProductRelation, ProductRelationType, ProductVariation, ProductVariationMeta, ProductVariationType, ProgramSettings, Project, ProjectAspectRatio, ProjectAssembly, ProjectCaptionStyle, ProjectClipCandidate, ProjectClips, ProjectExport, ProjectExportAsset, ProjectExportResponse, ProjectImages, ProjectInputAssistIntent, ProjectInputAssistResponse, ProjectMutation, ProjectOutputPreset, ProjectOutputType, ProjectPlan, ProjectRender, ProjectRenderMode, ProjectSelectedClip, ProjectShot, ProjectSoundtrack, ProjectSourceMedia, ProjectStatus, ProjectStudioHistoryEntry, ProjectStudioQuestion, ProjectStudioResponse, ProjectStudioStage, ProjectStudioState, ProjectStudioSummary, ProjectStyleDirection, ProjectTranscript, ProjectTranscriptSegment, Proposal, ProposalAction, ProposalActionPayment, ProposalActionPaymentSerializable, ProposalActionSerializable, ProposalPollOption, ProposalStatus, PublicFormResults, PurchaseOptions, PurchaseResult, RampProvider, RampProviderInfo, Reactions, RecentExperience, RedeemResponse, Reminder, Return, type ReturnStatus, ReturnStatuses, ReturnUpdateStatus, ReturnUpdateStatuses, Room, RoomId, RoomKind, ScInfo, SchedulePreset, SecretAuthorizable, SecretSettable, Segment, SegmentCondition, SegmentConditionType, SegmentCountPayload, SegmentCountResult, SegmentCreatePayload, SegmentGroup, SendableActivityUpdate, SendableAgentAction, SendableAgentMessage, SendableAgentThought, SendableMedia, SendableUserMessage, Service, SetKvEntryResult, ShippingRate, ShippingZone, Shortcut, Site, SiteAgent, SiteBrand, SiteRoute, SiteTeam, Skill, SkillMediaBindingRole, SkillMediaBindingRoleValue, SkillScope, SkillScopeValue, SkillType, SkillTypeValue, SocialAuthProvider, SocialBot, SocialPlatform, StampResponse, StoreAgent, StoreCheckoutItem, StoreData, StoreEntityType, StoreInfo, StoreItem, StoreListing, StorePriceTier, StorePricing, StorePurchasable, StorePurchaseResult, Streak, Subscription, SubscriptionDelivery, SubscriptionInterval, SubscriptionPlan, SubscriptionStatus, Swarm, Tag, TagType, Task, Team, TeamAccessCatalog, TeamAccessConfig, TeamBrand, TeamCategory, TeamEarning, TeamEarningsBalance, TeamFeature, TeamFeatureAccess, TeamFeatureArea, TeamFeatureUsage, TeamManageAccess, TeamMember, TeamMeta, TeamPayout, TeamPayoutAddress, TeamPlace, TeamPrivate, TeamSettings, TeamUsage, TeamViewAccess, TerminalConnectionToken, TerminalPaymentIntent, Tier, TierFeature, TierName, ToggleKvFieldResult, TranscriptEntry, TranscriptionCorrection, TranscriptionResponse, TranslatableValue, UNIFIED_MCP_SERVER_NAME, Update, UpdateCreatePayload, UpdateRelation, UpdateStats, UpdateStatus, UpdateType, UpdateUpdatePayload, Upgrade, UpgradeSourceType, UpgradeStatus, User, UserInterest, UserMode, type UserPermission, UserPermissions, UserPrivate, type UserRole, UserRoles, UserSettings, UserSocialAccount, UserStats, VolumePrice, Wallet, WalletList, WarpApprovable, WarpBackend, WarpBackendStatus, WarpBatchItem, WarpBatchable, WarpCloudExecutable, WarpCreateable, WarpExecutable, WarpExecutionBackend, WarpExtras, WarpExtrasFaq, WarpInputable, WarpScreenshotVariant, WarpSearchHit, WarpSelectable, WarpSelectableDetails, WarpSuggestion, WarpTestable, WarpViewable, WebHookTriggerEvent, WorkspaceCloudFile, WorkspaceContext, WorkspaceInfo, WorkspaceSettings, XIntegrationStatus, abbreviateNumber, addressTypeValues, automationSendChannel, buildAgentMcpServerName, buildAgentSetupClipboardText, buildAppSetupClipboardText, buildFeatureSetupClipboardText, buildMcpServerName, cartLineTotal, createCursorMcpInstallLink, defaultInviteTeamRole, formatAddressSnapshotLines, fulfillmentMethodValues, fulfillmentStatusValues, getAgentSetupPromptUrl, getAgentsBaseUrl, getApiBaseUrl, getAppBaseUrl, getAssetAppLogoUrl, getAssetChainLogoUrl, getAssetPartnerLogoUrl, getAssetTokenLogoUrl, getAssetWalletLogoUrl, getCortexBaseUrl, getDigestBaseUrl, getFormsBaseUrl, getLoginUrl, getMcpServerAgentUrl, getMcpServerUrl, getSiteUrl, getSitesBaseUrl, getSitesRootDomain, getStoreBaseUrl, getWarpScreenshotUrl, hasAllPermissions, hasAllTeamPermissions, hasAnyPermissions, hasPermission, hasTeamPermission, integrationSlugForChannel, inviteableTeamRoles, isAutomationSendChannelId, isCampaignChannelId, isCompleteAddressInput, isContactMessageAction, isContactMessageWarpId, isFileFormatAudio, isFileFormatImage, isFileFormatVideo, isNativeApp, isNativeAppAccessible, isNativeAppGated, isNativeAppLocked, isTeamFeatureAccessible, isTeamFeatureGated, isTeamFeatureLocked, isUnifiedMcpUrl, isUserRole, localize, nativeAppSlugs, normalizeAutomationActionType, ogImageUrl, outboundChannel, permissionPresetRules, resolveAccessCatalog, resolveAgentMcpUrl, resolveConnectMcpUrl, resolveWarpText, returnStatusValues, returnUpdateStatusValues, sanitizeAlphanumeric, sanitizeNumeric, slugifyMcpSegment, teamCategories, toCurrencyDisplay, toHexEncodedNonce, toNameInitials, toNftId, toPreviewText, userPermissionValues, userRoleValues, withRetry };
4678
+ export { AUTOMATION_SEND_CHANNELS, Achievement, Address, AddressCreatePayload, AddressInput, AddressSnapshot, type AddressType, AddressTypes, AddressUpdatePayload, Affiliate, AffiliateStatus, AffiliateTier, AffiliateTierName, Agent, AgentActionHistoryEntry, AgentCharacter, AgentDelegatable, AgentEngine, AgentExecuteHandler, AgentExecuteOptions, AgentGender, AgentMessageMeta, AgentMessageOptions, AgentPrivate, AgentSettings, AgentSetupTarget, AgentSimple, AgentToolingAccess, AgentTrustedActionRule, AgentWalletMode, AggregatedRoute, AiCostEntry, AiCostsResponse, AiCostsSummary, Alert, ApiToken, AppAccessRule, AppEnv, AppFile, AppFileType, AppIngestion, AppSetupTarget, AppendKvEntryResult, AppointmentAvailability, AppointmentAvailabilityService, AppointmentAvailabilitySlot, AppointmentBooking, AppointmentBookingContext, AppointmentPolicy, AppointmentPolicySync, AppointmentRequest, AppointmentSlot, Artifact, ArtifactBlock, ArtifactBlockType, ArtifactContactSummary, ArtifactCreatePayload, ArtifactDeliverIntegration, ArtifactDeliverPayload, ArtifactDelivery, ArtifactLink, ArtifactStatus, ArtifactType, ArtifactUpdatePayload, AuthUser, Automation, AutomationAction, AutomationActionConfig, AutomationActionInput, AutomationActionType, AutomationAudiencePreview, AutomationCreatePayload, AutomationEnrollment, AutomationEnrollmentChange, AutomationEnrollmentStatus, AutomationEnrollmentUpdatedPayload, AutomationSendChannel, AutomationSendChannelId, AutomationSkipReason, AutomationStats, AutomationTriggerConfig, AutomationTriggerType, AutomationUpdatePayload, BillingManageAccess, Blueprint, BlueprintOnboardingStep, BlueprintRedirect, BlueprintSettings, BlueprintShortcut, BlueprintTask, BlueprintTeam, BoardSummaryViewable, BookmarkEntry, BrandBackend, BrandIntegration, BrandIntegrationAction, BrandIntegrationProvider, BrandSearchHit, BrandSiteConfig, BrandSourceConfig, Budget, ByokProviderConfig, ByokProviderName, ByokProviders, CAMPAIGN_CHANNELS, CONTACT_MESSAGE_SEND_WARP, CalendarProvider, CalendarStatus, Campaign, CampaignApproval, CampaignAudiencePreview, CampaignAudiencePreviewPayload, CampaignCategory, CampaignChannel, CampaignChannelId, CampaignCreatePayload, CampaignRecipient, CampaignRecipientStatus, CampaignSkipReason, CampaignSkipReasons, CampaignStats, CampaignStatus, CampaignUpdatePayload, Card, Cart, CartItem, CartLine, Challenge, Challenges, ChangelogEntry, Character, ChatClientAction, ChatClientThought, ChatStreamData, ChatStreamEventType, CheckoutSnapshot, CheckoutSnapshotRequest, CliSessionMeta, CliSessionStatus, CommissionAgreement, Configuration, Contact, ContactActivity, ContactActivityAuthor, ContactActivityType, ContactConsent, ContactConsentStatus, ContactCreatePayload, ContactFormData, ContactHealth, ContactRelation, ContactRelationCategory, ContactRelationContact, ContactRelationDirection, ContactRelationPayload, ContactRelationType, ContactRelationUpdatePayload, ContactViewable, Content, ContentDefinition, ContentEntry, ContentField, ContentFieldType, ContentPatch, ContentStatus, ContentValue, ContentVersion, Contract, ContractCategoryDisplayNames, ContractCategoryName, ContractCodeMetadata, ContractEntity, ContractOnNetwork, ContractVersion, ContractsAddressConfig, CortexExecuteOptions, Coupon, CouponCondition, CouponRestrictedItem, CouponRestrictedItemType, CreateContentInput, CreateHookPayload, CreateInboundHookPayload, CreateInternalHookPayload, CreateKvFieldPayload, CreateWarpLinkedHookPayload, CreateWebHookPayload, DefaultCodeMetadata, DefaultInviteTeamRole, DemoFlow, DemoMessage, Desk, DeskItem, DeskItemRole, Document, EarnResponse, Earning, Element, ElementSpec, ElementType, ElementVariation, EmailProvider, EmbedStatus, EncryptionStatus, Entity, EntityDirectExecuteRequest, EntityProposable, EntitySignable, EntityTemplate, Experience, FeatureSetupTarget, FileInfo, FileMetadata, Flow, FlowCategory, FlowInputMapping, FlowStatus, FlowStep, Fulfillment, FulfillmentLocation, type FulfillmentMethod, FulfillmentMethods, type FulfillmentStatus, FulfillmentStatuses, GamificationData, GamificationEventType, Goal, GoalCreatePayload, GoalPriority, GoalProgressViewable, GoalStatus, GuestBuyer, HintOptions, HintPosition, Hook, HookSample, HookTrigger, HookTriggerCondition, HookTriggerInput, HttpService, IAppResponse, IHttpService, IRequestOptions, IngestionSourceType, IngestionStatus, Inquiry, InquiryStatus, InquiryType, Integration, IntegrationConnectionDetails, IntegrationDetails, IntegrationMeta, IntegrationType, Intent, InviteableTeamRoles, Item, ItemCreatePayload, ItemExecutionStatus, ItemPriority, ItemStatus, ItemUpdatePayload, ItemViewable, JoaiUrls, JsonValue, KvEntry, KvEntryPayload, KvField, KvFieldWithEntries, KvValue, Kyc, KycStatus, Link, LinkCreatePayload, LinkScanHistory, LinkStats, LinkUpdatePayload, LinkVariation, LinkVariationBatchCreatePayload, LinkVariationCreatePayload, LocalAgentWallet, LoyaltyAccount, LoyaltyMember, LoyaltyNextTier, LoyaltyProgram, LoyaltyPromotion, LoyaltyReward, LoyaltyStatus, LoyaltyTier, LoyaltyTierInfo, LoyaltyTransaction, McpToolCall, McpToolCallBroadcast, McpToolCallStatus, Media, MediaAspectRatio, MediaAttributes, MediaItems, MediaLibraryAttributes, MediaMime, Meeting, MeetingConferenceProvider, MeetingFeature, MeetingJoinInfo, MeetingJoinTeam, MeetingParticipant, MeetingSessionState, MeetingSpeakerAssignment, MeetingStatus, MeetingSummary, MeetingTranscriptEntry, MeetingUsage, Memory, Message, MessageId, MessageRole, Metric, MetricSource, MetricsResult, Milestone, MilestoneType, Mission, MissionBudget, MissionCreatePayload, MissionPlan, MissionPriority, MissionSchedule, MissionStatus, MissionViewable, MollieTerminalPaymentResult, MultimodalContent, MultimodalFile, NATIVE_AUTH_TOKEN_PARAM, NativeApp, NativeApps, Notification, NotificationAction, NotificationAgent, NotificationChannel, NotificationSetting, OG_IMAGE_CONFIG, OG_IMAGE_HEIGHT, OG_IMAGE_WIDTH, ORDER_FULFILLMENT_STATUSES, ORDER_POST_CHECKOUT_STATUSES, OUTBOUND_CHANNELS, OfficeAgent, OfficeEntity, OfficeEntityKind, OfficeLiveOverrides, OfficeMember, OfficeSnapshot, OfficeStatus, OfficeStatusFilter, OfficeTypeFilter, OgImageColors, OgImageParams, OgImageType, Order, OrderConfigurationItem, OrderContext, OrderItem, OrderPriceMode, OrderSource, OrderStatus, OrderType, OutboundChannel, OutboundChannelId, PLATFORM_CURRENCY, PaginatedResponse, Pass, PatchContentInput, PaymentAccount, PaymentAccountOnboarding, PaymentProvider, PayoutEntry, PeriodTypeLabels, PeriodTypeOptions, PermissionConfigType, PermissionPresetName, PermissionPresetNames, PersonaQuestionable, Plan, PlanBenefit, PlanExtra, PlanFeature, PlanInterval, PolicyMethod, PolicySetting, PricingModel, Product, ProductDiscount, ProductMeta, ProductPieces, ProductRating, ProductRelation, ProductRelationType, ProductVariation, ProductVariationMeta, ProductVariationType, ProgramSettings, Project, ProjectAspectRatio, ProjectAssembly, ProjectCaptionStyle, ProjectClipCandidate, ProjectClips, ProjectExport, ProjectExportAsset, ProjectExportResponse, ProjectImages, ProjectInputAssistIntent, ProjectInputAssistResponse, ProjectMutation, ProjectOutputPreset, ProjectOutputType, ProjectPlan, ProjectRender, ProjectRenderMode, ProjectSelectedClip, ProjectShot, ProjectSoundtrack, ProjectSourceMedia, ProjectStatus, ProjectStudioHistoryEntry, ProjectStudioQuestion, ProjectStudioResponse, ProjectStudioStage, ProjectStudioState, ProjectStudioSummary, ProjectStyleDirection, ProjectTranscript, ProjectTranscriptSegment, Proposal, ProposalAction, ProposalActionPayment, ProposalActionPaymentSerializable, ProposalActionSerializable, ProposalPollOption, ProposalStatus, PublicFormResults, PurchaseOptions, PurchaseResult, RampProvider, RampProviderInfo, Reactions, RecentExperience, RedeemResponse, Reminder, Return, type ReturnStatus, ReturnStatuses, ReturnUpdateStatus, ReturnUpdateStatuses, Room, RoomId, RoomKind, ScInfo, SchedulePreset, SecretAuthorizable, SecretSettable, Segment, SegmentCondition, SegmentConditionType, SegmentCountPayload, SegmentCountResult, SegmentCreatePayload, SegmentGroup, SendableActivityUpdate, SendableAgentAction, SendableAgentMessage, SendableAgentThought, SendableMedia, SendableUserMessage, Service, SetKvEntryResult, ShippingRate, ShippingZone, Shortcut, Site, SiteAgent, SiteBrand, SiteRoute, SiteTeam, SiteType, Skill, SkillMediaBindingRole, SkillMediaBindingRoleValue, SkillScope, SkillScopeValue, SkillType, SkillTypeValue, SocialAuthProvider, SocialBot, SocialPlatform, SocialPost, SocialPostConnection, SocialPostCreatePayload, SocialPostPlatform, SocialPostStatus, SocialPostUpdatePayload, StampResponse, StoreAgent, StoreCheckoutItem, StoreData, StoreEntityType, StoreInfo, StoreItem, StoreListing, StorePriceTier, StorePricing, StorePurchasable, StorePurchaseResult, Streak, Subscription, SubscriptionDelivery, SubscriptionInterval, SubscriptionPlan, SubscriptionStatus, Swarm, Tag, TagType, Task, Team, TeamAccessCatalog, TeamAccessConfig, TeamBrand, TeamCategory, TeamCurrencySource, TeamEarning, TeamEarningsBalance, TeamFeature, TeamFeatureAccess, TeamFeatureArea, TeamFeatureUsage, TeamManageAccess, TeamMember, TeamMeta, TeamPayout, TeamPayoutAddress, TeamPlace, TeamPrivate, TeamSettings, TeamUsage, TeamViewAccess, TerminalConnectionToken, TerminalPaymentIntent, Tier, TierFeature, TierName, ToggleKvFieldResult, TranscriptEntry, TranscriptionCorrection, TranscriptionResponse, TranslatableValue, UNIFIED_MCP_SERVER_NAME, Update, UpdateCreatePayload, UpdateRelation, UpdateStats, UpdateStatus, UpdateType, UpdateUpdatePayload, Upgrade, UpgradeSourceType, UpgradeStatus, User, UserInterest, UserMode, type UserPermission, UserPermissions, UserPrivate, type UserRole, UserRoles, UserSettings, UserSocialAccount, UserStats, VolumePrice, Wallet, WalletList, WarpApprovable, WarpBackend, WarpBackendStatus, WarpBatchItem, WarpBatchable, WarpCloudExecutable, WarpCreateable, WarpExecutable, WarpExecutionBackend, WarpExtras, WarpExtrasFaq, WarpInputable, WarpScreenshotVariant, WarpSearchHit, WarpSelectable, WarpSelectableDetails, WarpSuggestion, WarpTestable, WarpViewable, WebHookTriggerEvent, WorkspaceCloudFile, WorkspaceContext, WorkspaceInfo, WorkspaceSettings, XIntegrationStatus, abbreviateNumber, addressTypeValues, automationSendChannel, buildAgentMcpServerName, buildAgentSetupClipboardText, buildAppSetupClipboardText, buildFeatureSetupClipboardText, buildMcpServerName, cartLineTotal, createCursorMcpInstallLink, defaultInviteTeamRole, formatAddressSnapshotLines, fulfillmentMethodValues, fulfillmentStatusValues, getAgentSetupPromptUrl, getAgentsBaseUrl, getApiBaseUrl, getAppBaseUrl, getAssetAppLogoUrl, getAssetChainLogoUrl, getAssetPartnerLogoUrl, getAssetTokenLogoUrl, getAssetWalletLogoUrl, getCortexBaseUrl, getDigestBaseUrl, getFormsBaseUrl, getLoginUrl, getMcpServerAgentUrl, getMcpServerUrl, getSiteUrl, getSitesBaseUrl, getSitesRootDomain, getStoreBaseUrl, getWarpScreenshotUrl, hasAllPermissions, hasAllTeamPermissions, hasAnyPermissions, hasPermission, hasTeamPermission, integrationSlugForChannel, inviteableTeamRoles, isAutomationSendChannelId, isCampaignChannelId, isCompleteAddressInput, isContactMessageAction, isContactMessageWarpId, isFileFormatAudio, isFileFormatImage, isFileFormatVideo, isNativeApp, isNativeAppAccessible, isNativeAppGated, isNativeAppLocked, isOrderCanceled, isOrderInFulfillment, isOrderPending, isOrderPostCheckout, isTeamFeatureAccessible, isTeamFeatureGated, isTeamFeatureLocked, isUnifiedMcpUrl, isUserRole, localize, nativeAppSlugs, normalizeAutomationActionType, ogImageUrl, outboundChannel, permissionPresetRules, resolveAccessCatalog, resolveAgentMcpUrl, resolveConnectMcpUrl, resolveTeamCurrency, resolveWarpText, returnStatusValues, returnUpdateStatusValues, sanitizeAlphanumeric, sanitizeNumeric, slugifyMcpSegment, teamCategories, toCurrencyDisplay, toHexEncodedNonce, toNameInitials, toNftId, toPreviewText, userPermissionValues, userRoleValues, withRetry };
package/dist/index.mjs CHANGED
@@ -225,11 +225,23 @@ const abbreviateNumber = (val) => {
225
225
  const suffix = SI_SYMBOL[tier];
226
226
  return (val / Math.pow(10, tier * 3)).toFixed(1) + suffix;
227
227
  };
228
- const toCurrencyDisplay = (valueInCents, currency = "USD") => new Intl.NumberFormat("en-US", {
229
- style: "currency",
230
- currency,
231
- currencyDisplay: "symbol"
232
- }).format(valueInCents / 100);
228
+ /** JoAi platform billing currency (plans, top-ups, store marketplace). Not team shop currency. */
229
+ const PLATFORM_CURRENCY = "USD";
230
+ /** ISO currency from team settings. Throws when the team has no currency configured. */
231
+ const resolveTeamCurrency = (team) => {
232
+ const currency = team.meta?.currency?.trim();
233
+ if (!currency) throw new Error("Team currency is not configured");
234
+ return currency.toUpperCase();
235
+ };
236
+ function toCurrencyDisplay(valueInCents, currencyOrTeam, locale = "en-US") {
237
+ const currency = typeof currencyOrTeam === "string" ? currencyOrTeam : resolveTeamCurrency(currencyOrTeam);
238
+ const resolvedLocale = typeof currencyOrTeam === "string" ? locale : currencyOrTeam.locale ?? locale;
239
+ return new Intl.NumberFormat(resolvedLocale, {
240
+ style: "currency",
241
+ currency,
242
+ currencyDisplay: "symbol"
243
+ }).format(valueInCents / 100);
244
+ }
233
245
  const toHexEncodedNonce = (nonce) => {
234
246
  const hex = nonce.toString(16);
235
247
  return hex.length % 2 ? "0" + hex : hex;
@@ -366,6 +378,26 @@ const formatAddressSnapshotLines = (address) => {
366
378
  ].filter((line) => !!line && line.trim().length > 0);
367
379
  };
368
380
  //#endregion
381
+ //#region src/billing/orderStatus.ts
382
+ /** Successful / in-fulfillment statuses shown as the thank-you “complete” path. */
383
+ const ORDER_FULFILLMENT_STATUSES = [
384
+ "confirmed",
385
+ "processing",
386
+ "shipped",
387
+ "completed",
388
+ "delivered"
389
+ ];
390
+ /** Statuses where checkout is finished and the guest may leave the JoAi thank-you page. */
391
+ const ORDER_POST_CHECKOUT_STATUSES = [
392
+ ...ORDER_FULFILLMENT_STATUSES,
393
+ "canceled",
394
+ "returned"
395
+ ];
396
+ const isOrderPending = (status) => status === "pending";
397
+ const isOrderCanceled = (status) => status === "canceled";
398
+ const isOrderInFulfillment = (status) => ORDER_FULFILLMENT_STATUSES.includes(status);
399
+ const isOrderPostCheckout = (status) => ORDER_POST_CHECKOUT_STATUSES.includes(status);
400
+ //#endregion
369
401
  //#region src/commerce/enums.ts
370
402
  const FulfillmentStatuses = {
371
403
  Pending: "pending",
@@ -616,7 +648,9 @@ const NativeApps = {
616
648
  News: "news",
617
649
  Sites: "sites",
618
650
  Contracts: "contracts",
619
- Artifacts: "artifacts"
651
+ Artifacts: "artifacts",
652
+ Social: "social",
653
+ Studio: "studio"
620
654
  };
621
655
  const nativeAppSlugs = Object.values(NativeApps);
622
656
  const isNativeApp = (value) => typeof value === "string" && nativeAppSlugs.includes(value);
@@ -714,4 +748,4 @@ const DefaultInviteTeamRole = UserRoles.Member;
714
748
  const inviteableTeamRoles = () => [...InviteableTeamRoles];
715
749
  const defaultInviteTeamRole = () => DefaultInviteTeamRole;
716
750
  //#endregion
717
- export { AUTOMATION_SEND_CHANNELS, AddressTypes, AgentToolingAccess, BillingManageAccess, CAMPAIGN_CHANNELS, CONTACT_MESSAGE_SEND_WARP, ContractCategoryDisplayNames, DefaultCodeMetadata, DefaultInviteTeamRole, FulfillmentMethods, FulfillmentStatuses, HttpService, InviteableTeamRoles, JoaiUrls, NATIVE_AUTH_TOKEN_PARAM, NativeApps, OG_IMAGE_CONFIG, OG_IMAGE_HEIGHT, OG_IMAGE_WIDTH, OUTBOUND_CHANNELS, OgImageColors, PeriodTypeLabels, PeriodTypeOptions, PermissionPresetNames, ReturnStatuses, ReturnUpdateStatuses, SkillMediaBindingRole, SkillScope, SkillType, TeamManageAccess, TeamViewAccess, UNIFIED_MCP_SERVER_NAME, UserPermissions, UserRoles, abbreviateNumber, addressTypeValues, automationSendChannel, buildAgentMcpServerName, buildAgentSetupClipboardText, buildAppSetupClipboardText, buildFeatureSetupClipboardText, buildMcpServerName, cartLineTotal, createCursorMcpInstallLink, defaultInviteTeamRole, formatAddressSnapshotLines, fulfillmentMethodValues, fulfillmentStatusValues, getAgentSetupPromptUrl, getAgentsBaseUrl, getApiBaseUrl, getAppBaseUrl, getAssetAppLogoUrl, getAssetChainLogoUrl, getAssetPartnerLogoUrl, getAssetTokenLogoUrl, getAssetWalletLogoUrl, getCortexBaseUrl, getDigestBaseUrl, getFormsBaseUrl, getLoginUrl, getMcpServerAgentUrl, getMcpServerUrl, getSiteUrl, getSitesBaseUrl, getSitesRootDomain, getStoreBaseUrl, getWarpScreenshotUrl, hasAllPermissions, hasAllTeamPermissions, hasAnyPermissions, hasPermission, hasTeamPermission, integrationSlugForChannel, inviteableTeamRoles, isAutomationSendChannelId, isCampaignChannelId, isCompleteAddressInput, isContactMessageAction, isContactMessageWarpId, isFileFormatAudio, isFileFormatImage, isFileFormatVideo, isNativeApp, isNativeAppAccessible, isNativeAppGated, isNativeAppLocked, isTeamFeatureAccessible, isTeamFeatureGated, isTeamFeatureLocked, isUnifiedMcpUrl, isUserRole, localize, nativeAppSlugs, normalizeAutomationActionType, ogImageUrl, outboundChannel, permissionPresetRules, resolveAccessCatalog, resolveAgentMcpUrl, resolveConnectMcpUrl, resolveWarpText, returnStatusValues, returnUpdateStatusValues, sanitizeAlphanumeric, sanitizeNumeric, slugifyMcpSegment, teamCategories, toCurrencyDisplay, toHexEncodedNonce, toNameInitials, toNftId, toPreviewText, userPermissionValues, userRoleValues, withRetry };
751
+ export { AUTOMATION_SEND_CHANNELS, AddressTypes, AgentToolingAccess, BillingManageAccess, CAMPAIGN_CHANNELS, CONTACT_MESSAGE_SEND_WARP, ContractCategoryDisplayNames, DefaultCodeMetadata, DefaultInviteTeamRole, FulfillmentMethods, FulfillmentStatuses, HttpService, InviteableTeamRoles, JoaiUrls, NATIVE_AUTH_TOKEN_PARAM, NativeApps, OG_IMAGE_CONFIG, OG_IMAGE_HEIGHT, OG_IMAGE_WIDTH, ORDER_FULFILLMENT_STATUSES, ORDER_POST_CHECKOUT_STATUSES, OUTBOUND_CHANNELS, OgImageColors, PLATFORM_CURRENCY, PeriodTypeLabels, PeriodTypeOptions, PermissionPresetNames, ReturnStatuses, ReturnUpdateStatuses, SkillMediaBindingRole, SkillScope, SkillType, TeamManageAccess, TeamViewAccess, UNIFIED_MCP_SERVER_NAME, UserPermissions, UserRoles, abbreviateNumber, addressTypeValues, automationSendChannel, buildAgentMcpServerName, buildAgentSetupClipboardText, buildAppSetupClipboardText, buildFeatureSetupClipboardText, buildMcpServerName, cartLineTotal, createCursorMcpInstallLink, defaultInviteTeamRole, formatAddressSnapshotLines, fulfillmentMethodValues, fulfillmentStatusValues, getAgentSetupPromptUrl, getAgentsBaseUrl, getApiBaseUrl, getAppBaseUrl, getAssetAppLogoUrl, getAssetChainLogoUrl, getAssetPartnerLogoUrl, getAssetTokenLogoUrl, getAssetWalletLogoUrl, getCortexBaseUrl, getDigestBaseUrl, getFormsBaseUrl, getLoginUrl, getMcpServerAgentUrl, getMcpServerUrl, getSiteUrl, getSitesBaseUrl, getSitesRootDomain, getStoreBaseUrl, getWarpScreenshotUrl, hasAllPermissions, hasAllTeamPermissions, hasAnyPermissions, hasPermission, hasTeamPermission, integrationSlugForChannel, inviteableTeamRoles, isAutomationSendChannelId, isCampaignChannelId, isCompleteAddressInput, isContactMessageAction, isContactMessageWarpId, isFileFormatAudio, isFileFormatImage, isFileFormatVideo, isNativeApp, isNativeAppAccessible, isNativeAppGated, isNativeAppLocked, isOrderCanceled, isOrderInFulfillment, isOrderPending, isOrderPostCheckout, isTeamFeatureAccessible, isTeamFeatureGated, isTeamFeatureLocked, isUnifiedMcpUrl, isUserRole, localize, nativeAppSlugs, normalizeAutomationActionType, ogImageUrl, outboundChannel, permissionPresetRules, resolveAccessCatalog, resolveAgentMcpUrl, resolveConnectMcpUrl, resolveTeamCurrency, resolveWarpText, returnStatusValues, returnUpdateStatusValues, sanitizeAlphanumeric, sanitizeNumeric, slugifyMcpSegment, teamCategories, toCurrencyDisplay, toHexEncodedNonce, toNameInitials, toNftId, toPreviewText, userPermissionValues, userRoleValues, withRetry };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@joai/core",
3
- "version": "4.13.0",
3
+ "version": "4.15.0",
4
4
  "description": "JoAi shared types, HTTP service, and config",
5
5
  "license": "MIT",
6
6
  "type": "module",