@joai/core 5.0.1 → 5.1.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
@@ -419,6 +419,41 @@ type SubscriptionDelivery = {
419
419
  } | null;
420
420
  };
421
421
  //#endregion
422
+ //#region src/flow/types.d.ts
423
+ type FlowCategory = 'none' | 'defi' | 'nft' | 'social' | 'devtools' | 'productivity' | 'trading' | 'portfolio';
424
+ type FlowStatus = 'draft' | 'published';
425
+ type Flow = {
426
+ slug: string;
427
+ team: Team;
428
+ name: string;
429
+ description: string | null;
430
+ category: FlowCategory;
431
+ status: FlowStatus;
432
+ publishedAt: string | null;
433
+ createdAt: string;
434
+ updatedAt: string;
435
+ steps: FlowStep[];
436
+ locales: WarpLocale[];
437
+ store: StoreInfo;
438
+ screenshots: string[];
439
+ };
440
+ type FlowStep = {
441
+ stepId: string;
442
+ order: number;
443
+ type: 'warp' | 'condition' | 'delay';
444
+ warpIdentifier: string | null;
445
+ dependsOn: string[] | null;
446
+ inputMappings: FlowInputMapping[] | null;
447
+ staticInputs: Record<string, any> | null;
448
+ condition: Record<string, any> | null;
449
+ };
450
+ type FlowInputMapping = {
451
+ sourceStepId: string;
452
+ sourceKey: string;
453
+ targetInput: string;
454
+ transform?: string;
455
+ };
456
+ //#endregion
422
457
  //#region src/wallet/types.d.ts
423
458
  type Wallet = {
424
459
  chain: WarpChainName;
@@ -433,816 +468,783 @@ type WalletList = Partial<Record<WarpChainName, {
433
468
  address?: string;
434
469
  }>>;
435
470
  //#endregion
436
- //#region src/json/types.d.ts
437
- type JsonValue = string | number | boolean | null | JsonValue[] | {
438
- [key: string]: JsonValue;
471
+ //#region src/user/permissions.d.ts
472
+ /** Permission string values — must match joai--api `UserPermission::value`. */
473
+ declare const UserPermissions: {
474
+ readonly BillingManage: "billing-manage";
475
+ readonly TeamManage: "team-manage";
476
+ readonly TeamView: "team-view";
477
+ readonly ContentEdit: "content-edit";
478
+ readonly ContentPublish: "content-publish";
479
+ readonly TeamMemberInvite: "team-member-invite";
480
+ readonly TeamMemberRemove: "team-member-remove";
481
+ readonly TeamMemberRole: "team-member-role";
482
+ readonly TeamSecretView: "team-secret-view";
483
+ readonly TeamSecretManage: "team-secret-manage";
484
+ readonly AgentExecute: "agent-execute";
485
+ readonly AgentWalletManage: "agent-wallet-manage";
486
+ readonly SwarmCreate: "swarm-create";
487
+ };
488
+ type UserPermission = (typeof UserPermissions)[keyof typeof UserPermissions];
489
+ declare const userPermissionValues: [UserPermission, ...UserPermission[]];
490
+ declare const hasPermission: (granted: readonly UserPermission[] | undefined, required: UserPermission) => boolean;
491
+ declare const hasAllPermissions: (granted: readonly UserPermission[] | undefined, required: readonly UserPermission[]) => boolean;
492
+ declare const hasAnyPermissions: (granted: readonly UserPermission[] | undefined, required: readonly UserPermission[]) => boolean;
493
+ declare const hasTeamPermission: (team: {
494
+ permissions?: UserPermission[];
495
+ } | null | undefined, permission: UserPermission) => boolean;
496
+ declare const hasAllTeamPermissions: (team: {
497
+ permissions?: UserPermission[];
498
+ } | null | undefined, permissions: UserPermission[]) => boolean;
499
+ //#endregion
500
+ //#region src/user/roles.d.ts
501
+ /** Team member roles — values must match joai--api `UserRole::toName()`. */
502
+ declare const UserRoles: {
503
+ readonly Owner: "owner";
504
+ readonly Admin: "admin";
505
+ readonly Member: "member";
506
+ readonly Developer: "developer";
439
507
  };
508
+ type UserRole = (typeof UserRoles)[keyof typeof UserRoles];
509
+ declare const userRoleValues: [UserRole, ...UserRole[]];
510
+ declare const isUserRole: (value: string) => value is UserRole;
511
+ /** Roles assignable via team invite — owner is never inviteable. Must match API `RolePermissions::inviteable()`. */
512
+ declare const InviteableTeamRoles: readonly ["member", "developer", "admin"];
513
+ declare const DefaultInviteTeamRole: "member";
514
+ declare const inviteableTeamRoles: () => UserRole[];
515
+ /** Roles assignable to an existing member — unlike invites, ownership can be transferred. */
516
+ declare const AssignableTeamRoles: readonly ["owner", "admin", "developer", "member"];
517
+ declare const assignableTeamRoles: () => UserRole[];
518
+ declare const defaultInviteTeamRole: () => UserRole;
440
519
  //#endregion
441
- //#region src/contact/types.d.ts
442
- type ContactHealth = 'active' | 'lukewarm' | 'cold' | 'stale' | 'unknown';
443
- type ContactConsentStatus = 'pending' | 'confirmed' | 'superseded' | 'unsubscribed';
444
- type ContactConsent = {
445
- id: string;
446
- purpose: string;
447
- status: ContactConsentStatus;
448
- email: string;
449
- consentText: {
450
- label?: string | Record<string, string>;
451
- description?: string | Record<string, string> | null;
452
- };
453
- privacyUrl: string | null;
454
- source: {
455
- formIdentifier?: string | null;
456
- formTitle?: string | Record<string, string> | null;
457
- };
458
- requestedAt: string;
459
- confirmedAt: string | null;
460
- unsubscribedAt: string | null;
520
+ //#region src/user/types.d.ts
521
+ type UserMode = 'simple' | 'advanced';
522
+ type UserInterest = 'payments' | 'health' | 'content' | 'business' | 'finance' | 'research' | 'shopping' | 'web3' | 'developer' | 'fitness' | 'ecommerce';
523
+ type UserSettings = {
524
+ mode: UserMode;
525
+ interests: UserInterest[];
526
+ hotkeys?: Record<string, string> | null;
527
+ 'payout.address'?: string | null;
528
+ 'payout.chain'?: string | null;
529
+ 'voice.playback-mode'?: 'voice-control' | 'chat' | 'both' | null;
530
+ 'voice.corrections'?: {
531
+ wrong: string;
532
+ correct: string;
533
+ }[];
534
+ 'warp.notifications'?: Record<string, Record<string, boolean>>;
535
+ 'withdrawal.waiver.accepted-at'?: string | null;
536
+ 'active.team'?: string | null;
461
537
  };
462
- type Contact = {
538
+ type KycStatus = 'pending' | 'approved' | 'rejected';
539
+ type Kyc = {
540
+ status: KycStatus;
541
+ };
542
+ type UserPrivate = {
463
543
  id: string;
464
544
  name: string;
545
+ email: string;
546
+ hasVerifiedEmail: boolean;
547
+ balance: number;
465
548
  wallets: Wallet[];
466
- email: string | null;
467
- phone: string | null;
468
- company: string | null;
469
- title: string | null;
470
- birthday: string | null;
471
- website: string | null;
472
- location: string | null;
473
- avatar: string | null;
474
- socials: Record<string, string> | null;
475
- notes: string | null;
476
- tags: string[] | null;
477
- userId: string | null;
478
- locale?: string | null;
479
- props?: Record<string, string> | null;
480
- settings?: {
481
- marketingOptOut?: boolean;
482
- } | null;
483
- consents?: ContactConsent[];
484
- lastActivityAt?: string | null;
485
- health?: ContactHealth;
486
- nextFollowUpAt?: string | null;
487
- followUpNote?: string | null;
488
- };
489
- type ContactActivityType = 'note' | 'call' | 'meeting' | 'task' | 'update' | 'custom' | 'form' | 'loyalty' | 'follow_up';
490
- type ContactActivityAuthor = {
491
- name: string;
492
- imageUrl: string | null;
549
+ hasProfileImage: boolean;
550
+ profileImageUrl: string;
551
+ country: string | null;
552
+ timezone: string | null;
553
+ socials: UserSocialAccount[];
554
+ justCreated: boolean;
555
+ affiliate: Affiliate | null;
556
+ kyc?: Kyc | null;
557
+ settings: UserSettings;
558
+ contacts?: Contact[];
493
559
  };
494
- type ContactActivity = {
495
- id: string;
496
- type: ContactActivityType;
560
+ type Earning = {
561
+ id: number;
562
+ amount: number;
563
+ type: string;
497
564
  description: string | null;
498
- meta: Record<string, JsonValue> | null;
499
- agentName: string | null;
500
565
  createdAt: string;
501
- author?: ContactActivityAuthor | null;
502
566
  };
503
- type ContactFormData = {
504
- name?: string;
505
- email?: string | null;
506
- phone?: string | null;
507
- company?: string | null;
508
- title?: string | null;
509
- birthday?: string | null;
510
- website?: string | null;
511
- location?: string | null;
512
- socials?: Record<string, string> | null;
513
- notes?: string | null;
514
- tags?: string[] | null;
515
- locale?: string | null;
516
- props?: Record<string, string> | null;
517
- settings?: {
518
- marketingOptOut?: boolean;
519
- };
520
- nextFollowUpAt?: string | null;
521
- followUpNote?: string | null;
522
- avatar?: string[];
567
+ type PayoutEntry = {
568
+ id: number;
569
+ amount: number;
570
+ status: string;
571
+ tx: string | null;
572
+ failureReason: string | null;
573
+ processedAt: string | null;
574
+ createdAt: string;
523
575
  };
524
- type ContactCreatePayload = ContactFormData & {
525
- name: string;
526
- wallets?: WalletList;
576
+ type UserSocialAccount = {
577
+ platform: string;
578
+ id: string;
579
+ username: string;
580
+ profileUrl: string;
527
581
  };
528
- type ContactRelationType = 'parent_of' | 'child_of' | 'spouse_of' | 'sibling_of' | 'aunt_of' | 'nibling_of' | 'friend_of' | 'manages' | 'reports_to' | 'colleague_of' | 'partner_of' | 'client_of' | 'supplier_of' | 'referred_by' | 'referred';
529
- type ContactRelationCategory = 'family' | 'social' | 'organization' | 'business' | 'referral';
530
- type ContactRelationDirection = 'outgoing' | 'incoming';
531
- type ContactRelationContact = {
582
+ type User = {
532
583
  id: string;
533
584
  name: string;
534
- avatar: string | null;
535
- company: string | null;
536
- title: string | null;
585
+ address: string;
586
+ balance: number | null;
587
+ hasProfileImage: boolean;
588
+ profileImageUrl: string;
589
+ swarmRole: string | null;
537
590
  };
538
- type ContactRelation = {
591
+ type AuthUser = {
539
592
  id: string;
540
- type: ContactRelationType;
541
- category: ContactRelationCategory;
542
- direction: ContactRelationDirection;
543
- contact: ContactRelationContact;
544
- meta: Record<string, JsonValue> | null;
545
- notes: string | null;
593
+ name: string;
594
+ phone: string | null;
595
+ email: string | null;
596
+ };
597
+ type Affiliate = {
598
+ name: string;
599
+ tier: AffiliateTier;
600
+ balance: number;
601
+ payoutAddress: string;
602
+ application: string;
603
+ status: AffiliateStatus;
546
604
  createdAt: string;
605
+ inviteLinkUrl: string;
606
+ settings: {
607
+ minPayoutBalance: number;
608
+ commissionExtraPercent?: number;
609
+ customerDiscountPercent: number;
610
+ };
611
+ clicks: number;
612
+ coupons: Coupon[];
613
+ user: User | null;
547
614
  };
548
- type ContactRelationPayload = {
549
- relatedContactId: string;
550
- type: ContactRelationType;
551
- notes?: string;
552
- meta?: Record<string, JsonValue>;
615
+ type AffiliateTierName = 'bronze' | 'silver' | 'gold';
616
+ type AffiliateTier = {
617
+ name: AffiliateTierName;
618
+ displayName: string;
619
+ commission: number;
620
+ threshold: number;
553
621
  };
554
- type ContactRelationUpdatePayload = {
555
- type?: ContactRelationType;
556
- notes?: string;
557
- meta?: Record<string, JsonValue>;
622
+ type AffiliateStatus = 'pending' | 'approved' | 'rejected' | 'suspended' | 'demoted';
623
+ //#endregion
624
+ //#region src/team/apps.d.ts
625
+ declare const NativeApps: {
626
+ readonly Board: "board";
627
+ readonly Shop: "shop";
628
+ readonly SmartLinks: "smart-links";
629
+ readonly Contacts: "contacts";
630
+ readonly Forms: "forms";
631
+ readonly Appointments: "appointments";
632
+ readonly Workspace: "workspace";
633
+ readonly Meeting: "meeting";
634
+ readonly VoiceDictation: "voice-dictation";
635
+ readonly Heartbeats: "heartbeats";
636
+ readonly Wallets: "wallets";
637
+ readonly Campaigns: "campaigns";
638
+ readonly Automations: "automations";
639
+ readonly News: "news";
640
+ readonly Sites: "sites";
641
+ readonly Contracts: "contracts";
642
+ readonly Artifacts: "artifacts";
643
+ readonly Social: "social";
644
+ readonly Studio: "studio";
645
+ readonly Loyalty: "loyalty";
646
+ readonly Documents: "documents";
558
647
  };
648
+ type NativeApp = (typeof NativeApps)[keyof typeof NativeApps];
649
+ declare const nativeAppSlugs: NativeApp[];
650
+ declare const isNativeApp: (value: unknown) => value is NativeApp;
559
651
  //#endregion
560
- //#region src/media/types.d.ts
561
- type AppFileType = 'abi' | 'pdf' | 'image' | 'video' | 'json';
562
- type AppFile = {
563
- type: AppFileType;
564
- original: File;
652
+ //#region src/access/team-access.d.ts
653
+ type TeamFeatureArea = 'nativeApps' | 'agentSettings' | 'teamSettings' | 'developerHub' | 'areas' | 'commerce';
654
+ type GatedFeatureArea = Exclude<TeamFeatureArea, 'nativeApps'>;
655
+ /** Keys per area that the API evaluates in `team.access`. */
656
+ type TeamAccessCatalog = Partial<Record<TeamFeatureArea, string[]>>;
657
+ type TeamAccessConfig = {
658
+ accessCatalog: TeamAccessCatalog;
565
659
  };
566
- type MediaLibraryAttributes = {
567
- uuid: string;
568
- order: number;
569
- name: string;
570
- custom_properties: {
571
- [key: string]: JsonValue;
572
- };
573
- preview_url: null | string;
574
- original_url: null | string;
575
- extension?: string;
576
- size?: number;
660
+ /** Resolved feature access from API `TeamPrivate.access` — do not evaluate rules on the client. */
661
+ type TeamFeatureAccess = {
662
+ nativeApps?: Partial<Record<NativeApp, boolean>>;
663
+ agentSettings?: Partial<Record<string, boolean>>;
664
+ teamSettings?: Partial<Record<string, boolean>>;
665
+ developerHub?: Partial<Record<string, boolean>>;
666
+ areas?: Partial<Record<string, boolean>>;
667
+ commerce?: Partial<Record<string, boolean>>;
577
668
  };
578
- type MediaMime = 'image/png' | 'image/jpeg' | 'image/gif' | 'image/webp' | 'video/mp4' | 'video/webm' | 'video/quicktime' | 'video/x-msvideo' | 'audio/mpeg' | 'audio/mp3' | 'audio/ogg' | 'audio/wav' | 'audio/webm' | 'audio/aac' | 'audio/m4a' | 'audio/m4b' | 'audio/m4p' | 'audio/m4v' | 'application/pdf' | 'application/json';
579
- type MediaAspectRatio = 'free' | '1:1' | '16:9' | '9:16' | '4:3' | '3:4';
580
- type Media = {
581
- id: string;
582
- name: string;
583
- mime: MediaMime;
584
- url: string;
585
- library: MediaLibraryAttributes;
586
- tags?: string[];
587
- copyright?: string | null;
588
- aiGenerated?: boolean;
669
+ type TeamWithAccess = {
670
+ access?: TeamFeatureAccess | null;
671
+ accessCatalog?: TeamAccessCatalog | null;
589
672
  };
673
+ declare const resolveAccessCatalog: (team: TeamWithAccess | null | undefined, accessConfig: TeamAccessConfig | null | undefined) => TeamAccessCatalog | null | undefined;
674
+ declare const isTeamFeatureGated: (catalog: TeamAccessCatalog | null | undefined, area: GatedFeatureArea, key: string) => boolean;
675
+ declare const isNativeAppGated: (catalog: TeamAccessCatalog | null | undefined, app: NativeApp) => boolean;
676
+ declare const isTeamFeatureAccessible: (team: TeamWithAccess | null | undefined, area: GatedFeatureArea, key: string) => boolean;
677
+ declare const isTeamFeatureLocked: (team: TeamWithAccess | null | undefined, catalog: TeamAccessCatalog | null | undefined, area: GatedFeatureArea, key: string) => boolean;
678
+ declare const isNativeAppAccessible: (team: TeamWithAccess | null | undefined, app: NativeApp) => boolean;
679
+ declare const isNativeAppLocked: (team: TeamWithAccess | null | undefined, catalog: TeamAccessCatalog | null | undefined, app: NativeApp) => boolean;
590
680
  //#endregion
591
- //#region src/integration/types.d.ts
592
- type IntegrationType = 'none' | 'webhook' | 'api-token' | 'telegram' | 'slack' | 'whatsapp' | 'whatsapp-personal' | 'twilio' | 'sms' | 'n8n' | 'apple-health' | 'mcp' | 'x' | 'xchat' | 'instagram' | 'facebook' | 'linkedin' | 'grok' | 'cloudflare' | 'google-search-console' | 'email' | 'calendar' | 'embed' | 'discord' | 'github' | 'push' | 'sentry' | 'readwise';
593
- type IntegrationDetails = {
594
- type: IntegrationType;
595
- name: string;
596
- description?: string;
597
- logoUrl?: string;
598
- logoUrlDark?: string;
599
- slug?: string;
600
- category?: string;
601
- [key: string]: unknown;
681
+ //#region src/team/constants.d.ts
682
+ declare const teamCategories: readonly ["general", "food-drink", "retail", "beauty-wellness", "health", "sports-fitness", "trades-services", "professional-services", "education-culture", "clubs-organizations", "leisure-tourism"];
683
+ //#endregion
684
+ //#region src/team/types.d.ts
685
+ type TeamCategory = (typeof teamCategories)[number];
686
+ type TeamFeature = 'shop' | 'appointments';
687
+ type TeamMember = User & {
688
+ role: UserRole | null;
689
+ roleAcceptedAt: string | null;
690
+ email: string | null;
602
691
  };
603
- type IntegrationMeta = {
604
- handle?: string;
605
- provider?: EmailProvider | null;
606
- hookSource?: string;
607
- [key: string]: unknown;
692
+ type TeamMeta = {
693
+ 'extra.messages'?: number;
694
+ 'limit.spending'?: number | null;
695
+ currency?: string;
696
+ 'extra.usage.enabled'?: boolean;
697
+ 'auto.reload.enabled'?: boolean;
698
+ 'auto.reload.threshold_cents'?: number | null;
699
+ 'auto.reload.amount_cents'?: number | null;
700
+ 'llm.provider'?: 'openai' | 'anthropic' | 'google' | 'xai' | null;
701
+ 'byok.providers'?: ByokProviders | null;
702
+ 'board.auto.enabled'?: boolean;
703
+ 'payments.online'?: boolean;
704
+ 'payments.coupons'?: boolean;
705
+ 'shop.kiosk.enabled'?: boolean;
706
+ 'shop.stock.enabled'?: boolean;
707
+ 'shop.reorder.enabled'?: boolean;
708
+ 'shop.legal.terms_url'?: string | null;
709
+ 'shop.legal.privacy_url'?: string | null;
710
+ 'shop.legal.withdrawal_url'?: string | null;
711
+ 'shop.legal.imprint_url'?: string | null;
712
+ 'orders.notify_emails'?: string[];
713
+ 'orders.payment_reminders'?: boolean;
714
+ contactPropertyMaskWarp?: string;
715
+ branding?: TeamBrand | null;
716
+ settings: Record<string, unknown> & {
717
+ apps?: NativeApp[];
718
+ };
608
719
  };
609
- type IntegrationConnectionDetails = IntegrationDetails & {
610
- phoneNumberId?: string;
611
- phoneNumber?: string;
612
- webhookUrl?: string;
613
- webhookSecret?: string;
614
- webhookSecretKey?: string;
720
+ type TeamPlace = {
721
+ provider: 'google';
722
+ sourceId: string;
723
+ name: string | null;
724
+ address: string | null;
725
+ location: {
726
+ lat: number | null;
727
+ lng: number | null;
728
+ };
729
+ rating?: number | null;
730
+ reviewCount?: number | null;
731
+ websiteUrl?: string | null;
732
+ mapsUrl?: string | null;
733
+ businessStatus?: string | null;
615
734
  };
616
- type Integration = {
617
- id: string;
618
- type: IntegrationType;
735
+ type Team = {
736
+ slug: string;
619
737
  name: string;
620
- active: boolean;
621
- configured: boolean;
738
+ personal: boolean;
739
+ category: TeamCategory;
740
+ tags?: string[] | null;
741
+ description: TranslatableValue | null;
742
+ locale: WarpLocale;
743
+ timezone: string;
744
+ place?: TeamPlace | null;
745
+ meta?: TeamMeta;
746
+ features?: TeamFeature[];
747
+ cover?: string | null;
748
+ logo: string | null;
749
+ tagline?: TranslatableValue | null;
750
+ public: boolean;
622
751
  createdAt: string;
623
- meta?: IntegrationMeta;
624
- details?: IntegrationConnectionDetails;
752
+ blueprints?: Blueprint[];
753
+ flows?: Flow[];
754
+ coupons?: Coupon[];
625
755
  };
626
- type SocialPlatform = 'telegram' | 'slack' | 'whatsapp' | 'sms' | 'discord' | 'github' | 'xchat' | 'instagram';
627
- type SocialBot = {
756
+ type TeamBrand = {
757
+ bg?: string;
758
+ fg?: string;
759
+ label?: string;
760
+ logo?: string;
761
+ bankAccountHolder?: string;
762
+ bankIban?: string;
763
+ bankBic?: string;
764
+ invoiceAddress?: string;
765
+ invoiceVat?: string;
766
+ invoiceCity?: string;
767
+ invoiceZip?: string;
768
+ invoiceCountry?: string;
769
+ };
770
+ type TeamPrivate = {
771
+ slug: string;
628
772
  name: string;
773
+ personal: boolean;
774
+ description: TranslatableValue | null;
775
+ tags?: string[] | null;
776
+ tagline: TranslatableValue | null;
777
+ balance: number;
778
+ locale: WarpLocale;
779
+ timezone: string;
780
+ place?: TeamPlace | null;
781
+ logo: string | null;
782
+ cover: string | null;
783
+ subscription: {
784
+ premium: boolean;
785
+ lifetime: boolean;
786
+ plan: Plan;
787
+ provider: PaymentProvider | null;
788
+ payer: User | null;
789
+ gracePeriod: boolean;
790
+ autoRenew: boolean;
791
+ cycleEndsAt: string | null;
792
+ resetsAt: string | null;
793
+ startedAt: string | null;
794
+ renewedAt: string | null;
795
+ expiresAt: string | null;
796
+ };
797
+ meta: TeamMeta;
798
+ branding: TeamBrand;
799
+ category: TeamCategory;
629
800
  createdAt: string;
630
- phoneNumberId?: string;
631
- phoneNumber?: string;
632
- applicationId?: string;
633
- appId?: string;
634
- installationId?: string;
635
- username?: string;
801
+ justCreated: boolean;
802
+ role?: UserRole | null;
803
+ permissions?: UserPermission[];
804
+ access?: TeamFeatureAccess;
805
+ accessCatalog?: TeamAccessCatalog;
636
806
  };
637
- type XIntegrationStatus = {
638
- enabled: boolean;
639
- integrationId: string | null;
640
- xAccountLinked: boolean;
641
- currentAgentName: string | null;
807
+ type ByokProviderConfig = {
808
+ apiKey?: string;
809
+ accessKey?: string;
810
+ secretKey?: string;
642
811
  };
643
- type EmbedStatus = {
644
- integrationId: string;
645
- agentName: string;
646
- agentAvatar: string | null;
647
- active: boolean;
648
- allowedDomains: string[];
649
- };
650
- type EmailProvider = 'resend' | 'mailgun' | 'sendgrid';
651
- type CalendarProvider = 'google' | 'apple' | 'microsoft';
652
- type CalendarStatus = {
653
- connected: boolean;
654
- provider?: CalendarProvider;
655
- providerDisplayName?: string;
656
- accountEmail?: string;
657
- lastSynced?: string;
658
- tokenHealthy?: boolean;
659
- upcomingEvents?: {
660
- title: string;
661
- startAt: string;
662
- endAt: string;
663
- allDay: boolean;
664
- }[];
665
- };
666
- //#endregion
667
- //#region src/agent/types.d.ts
668
- type AgentCharacter = {
669
- name: string | null;
670
- system: string | null;
671
- bio: string | null;
812
+ type ByokProviders = {
813
+ openai?: ByokProviderConfig;
814
+ anthropic?: ByokProviderConfig;
815
+ google?: ByokProviderConfig;
816
+ xai?: ByokProviderConfig;
817
+ klingai?: ByokProviderConfig;
672
818
  };
673
- type Agent = {
674
- uuid: string;
675
- name: string;
676
- description: string;
677
- avatar: string;
678
- wallets: Wallet[];
679
- settings: AgentSettings;
680
- store: StoreInfo;
681
- character?: AgentCharacter | null;
682
- room: Room;
683
- role: string | null;
684
- blueprint: Blueprint | null;
685
- team: string;
819
+ type ByokProviderName = keyof ByokProviders;
820
+ type TeamSettings = {
821
+ 'extra.messages': number;
822
+ 'limit.spending': number | null;
823
+ currency: string;
824
+ 'extra.usage.enabled'?: boolean;
825
+ 'auto.reload.enabled'?: boolean;
826
+ 'auto.reload.threshold_cents'?: number | null;
827
+ 'auto.reload.amount_cents'?: number | null;
828
+ 'llm.provider'?: 'openai' | 'anthropic' | 'google' | 'xai' | null;
829
+ 'byok.providers'?: ByokProviders | null;
830
+ 'board.auto.enabled'?: boolean;
831
+ 'payments.online'?: boolean;
832
+ 'payments.coupons'?: boolean;
833
+ 'shop.kiosk.enabled'?: boolean;
834
+ 'shop.stock.enabled'?: boolean;
835
+ 'shop.reorder.enabled'?: boolean;
836
+ 'shop.legal.terms_url'?: string | null;
837
+ 'shop.legal.privacy_url'?: string | null;
838
+ 'shop.legal.withdrawal_url'?: string | null;
839
+ 'shop.legal.imprint_url'?: string | null;
840
+ 'orders.notify_emails'?: string[];
841
+ 'orders.payment_reminders'?: boolean;
842
+ branding?: TeamBrand | null;
686
843
  };
687
- type AgentPrivate = {
688
- uuid: string;
689
- name: string;
690
- description: string;
691
- avatar: string;
692
- wallets: Wallet[];
693
- settings: AgentSettings;
694
- store: StoreInfo;
695
- password: string | null;
696
- authKey: string | null;
697
- secKey: string;
698
- phoneNumber: string | null;
699
- room: Room;
700
- role: string | null;
701
- blueprint: Blueprint | null;
702
- justCreated?: boolean;
703
- team: string;
844
+ type TeamUsage = Partial<Record<PlanFeature, TeamFeatureUsage>> & {
845
+ extraUsageEnabled?: boolean;
846
+ currentSpending?: number;
847
+ walletCloudUsed?: number;
848
+ walletCloudPremiumUsed?: number;
849
+ spendingLimit?: number | null;
850
+ cycleEndsAt?: string | null;
851
+ resetsAt?: string | null;
852
+ autoReload?: {
853
+ enabled: boolean;
854
+ thresholdCents: number | null;
855
+ amountCents: number | null;
856
+ };
704
857
  };
705
- type AgentActionHistoryEntry = {
706
- id: string;
707
- action: string | null;
708
- outcome: 'succeeded' | 'failed';
709
- outcomeDetail: string | null;
710
- warpIdentifier: string | null;
711
- meta: Record<string, unknown> | null;
712
- createdAt: string | null;
858
+ type TeamFeatureUsage = {
859
+ current: number;
860
+ limit: number;
861
+ reached?: boolean;
713
862
  };
714
- type AgentSimple = {
715
- uuid: string;
716
- name: string;
717
- avatar?: string | null;
718
- authKey?: string | null;
719
- team?: {
720
- slug: string;
863
+ type AiCostEntry = {
864
+ id: number;
865
+ model: string | null;
866
+ agent: {
867
+ name: string;
868
+ uuid: string;
721
869
  } | null;
722
- settings?: Pick<AgentSettings, 'auto'>;
723
- };
724
- type AgentWalletMode = 'local' | 'cloud' | 'external';
725
- type AgentEngine = 'cortex' | 'openclaw';
726
- type AgentGender = 'male' | 'female' | 'neutral';
727
- type AgentTrustedActionRule = {
728
- id: string;
729
- hash: string;
730
- match?: Record<string, string>;
731
- identifier?: string;
732
- title?: string;
733
- };
734
- type AgentSettings = {
735
- auto: boolean;
736
- 'model.url': string;
737
- 'voice.output': boolean;
738
- 'voice.id': string | null;
739
- 'agent.gender'?: AgentGender;
740
- 'proactivity.enabled': boolean;
741
- 'proactivity.quietHoursStart'?: number;
742
- 'proactivity.quietHoursEnd'?: number;
743
- 'proactivity.maxMessagesPerDay'?: number;
744
- 'proactivity.timezone'?: string;
745
- 'proactivity.blockedBehaviors'?: string[];
746
- engine: AgentEngine;
747
- 'training.url'?: string | null;
748
- 'training.status'?: 'idle' | 'training' | 'completed' | 'failed' | null;
749
- 'training.recrawlInterval'?: number | null;
750
- 'email_provider'?: EmailProvider | null;
751
- };
752
- type LocalAgentWallet = {
753
- provider: WarpWalletProvider;
754
- address: string;
755
- mnemonic?: string | null;
756
- privateKey?: string | null;
757
- };
758
- type AgentExecuteHandler = (prompt: string, options?: AgentExecuteOptions) => void;
759
- type AgentExecuteOptions = {
760
- audio?: File;
761
- sender?: string;
762
- media?: Media[];
763
- ghost?: boolean;
764
- context?: Record<string, unknown>;
765
- };
766
- //#endregion
767
- //#region src/room/types.d.ts
768
- type RoomId = string;
769
- type RoomKind = 'default' | 'phone' | 'meeting';
770
- type Room = {
771
- id: string;
772
- name: string;
773
- description: string | null;
774
- public: boolean;
775
- default: boolean;
776
- active: boolean;
777
- kind?: RoomKind | null;
778
- archivedAt?: string | null;
779
- secKey: string | null;
780
- createdAt: string | null;
781
- contactId?: string | null;
782
- agent: AgentSimple;
783
- integration: Integration | null;
784
- };
785
- //#endregion
786
- //#region src/flow/types.d.ts
787
- type FlowCategory = 'none' | 'defi' | 'nft' | 'social' | 'devtools' | 'productivity' | 'trading' | 'portfolio';
788
- type FlowStatus = 'draft' | 'published';
789
- type Flow = {
790
- slug: string;
791
- team: Team;
792
- name: string;
793
- description: string | null;
794
- category: FlowCategory;
795
- status: FlowStatus;
796
- publishedAt: string | null;
870
+ inputTokens: number;
871
+ outputTokens: number;
872
+ totalTokens: number;
873
+ costCents: number | null;
797
874
  createdAt: string;
798
- updatedAt: string;
799
- steps: FlowStep[];
800
- locales: WarpLocale[];
801
- store: StoreInfo;
802
- screenshots: string[];
803
- };
804
- type FlowStep = {
805
- stepId: string;
806
- order: number;
807
- type: 'warp' | 'condition' | 'delay';
808
- warpIdentifier: string | null;
809
- dependsOn: string[] | null;
810
- inputMappings: FlowInputMapping[] | null;
811
- staticInputs: Record<string, any> | null;
812
- condition: Record<string, any> | null;
813
875
  };
814
- type FlowInputMapping = {
815
- sourceStepId: string;
816
- sourceKey: string;
817
- targetInput: string;
818
- transform?: string;
876
+ type AiCostsSummary = {
877
+ totalCostCents: number;
878
+ totalTokens: number;
879
+ totalRequests: number;
880
+ byModel: Record<string, {
881
+ costCents: number;
882
+ tokens: number;
883
+ count: number;
884
+ }>;
819
885
  };
820
- //#endregion
821
- //#region src/user/permissions.d.ts
822
- /** Permission string values — must match joai--api `UserPermission::value`. */
823
- declare const UserPermissions: {
824
- readonly BillingManage: "billing-manage";
825
- readonly TeamManage: "team-manage";
826
- readonly TeamView: "team-view";
827
- readonly ContentEdit: "content-edit";
828
- readonly ContentPublish: "content-publish";
829
- readonly TeamMemberInvite: "team-member-invite";
830
- readonly TeamMemberRemove: "team-member-remove";
831
- readonly TeamMemberRole: "team-member-role";
832
- readonly TeamSecretView: "team-secret-view";
833
- readonly TeamSecretManage: "team-secret-manage";
834
- readonly AgentExecute: "agent-execute";
835
- readonly AgentWalletManage: "agent-wallet-manage";
836
- readonly SwarmCreate: "swarm-create";
886
+ type AiCostsResponse = {
887
+ summary: AiCostsSummary;
888
+ usages: {
889
+ data: AiCostEntry[];
890
+ pagination: {
891
+ currentPage: number;
892
+ lastPage: number;
893
+ perPage: number;
894
+ total: number;
895
+ };
896
+ };
837
897
  };
838
- type UserPermission = (typeof UserPermissions)[keyof typeof UserPermissions];
839
- declare const userPermissionValues: [UserPermission, ...UserPermission[]];
840
- declare const hasPermission: (granted: readonly UserPermission[] | undefined, required: UserPermission) => boolean;
841
- declare const hasAllPermissions: (granted: readonly UserPermission[] | undefined, required: readonly UserPermission[]) => boolean;
842
- declare const hasAnyPermissions: (granted: readonly UserPermission[] | undefined, required: readonly UserPermission[]) => boolean;
843
- declare const hasTeamPermission: (team: {
844
- permissions?: UserPermission[];
845
- } | null | undefined, permission: UserPermission) => boolean;
846
- declare const hasAllTeamPermissions: (team: {
847
- permissions?: UserPermission[];
848
- } | null | undefined, permissions: UserPermission[]) => boolean;
849
898
  //#endregion
850
- //#region src/user/roles.d.ts
851
- /** Team member roles — values must match joai--api `UserRole::toName()`. */
852
- declare const UserRoles: {
853
- readonly Owner: "owner";
854
- readonly Admin: "admin";
855
- readonly Member: "member";
856
- readonly Developer: "developer";
899
+ //#region src/json/types.d.ts
900
+ type JsonValue = string | number | boolean | null | JsonValue[] | {
901
+ [key: string]: JsonValue;
857
902
  };
858
- type UserRole = (typeof UserRoles)[keyof typeof UserRoles];
859
- declare const userRoleValues: [UserRole, ...UserRole[]];
860
- declare const isUserRole: (value: string) => value is UserRole;
861
- /** Roles assignable via team invite — owner is never inviteable. Must match API `RolePermissions::inviteable()`. */
862
- declare const InviteableTeamRoles: readonly ["member", "developer", "admin"];
863
- declare const DefaultInviteTeamRole: "member";
864
- declare const inviteableTeamRoles: () => UserRole[];
865
- /** Roles assignable to an existing member — unlike invites, ownership can be transferred. */
866
- declare const AssignableTeamRoles: readonly ["owner", "admin", "developer", "member"];
867
- declare const assignableTeamRoles: () => UserRole[];
868
- declare const defaultInviteTeamRole: () => UserRole;
869
903
  //#endregion
870
- //#region src/user/types.d.ts
871
- type UserMode = 'simple' | 'advanced';
872
- type UserInterest = 'payments' | 'health' | 'content' | 'business' | 'finance' | 'research' | 'shopping' | 'web3' | 'developer' | 'fitness' | 'ecommerce';
873
- type UserSettings = {
874
- mode: UserMode;
875
- interests: UserInterest[];
876
- hotkeys?: Record<string, string> | null;
877
- 'payout.address'?: string | null;
878
- 'payout.chain'?: string | null;
879
- 'voice.playback-mode'?: 'voice-control' | 'chat' | 'both' | null;
880
- 'voice.corrections'?: {
881
- wrong: string;
882
- correct: string;
883
- }[];
884
- 'warp.notifications'?: Record<string, Record<string, boolean>>;
885
- 'withdrawal.waiver.accepted-at'?: string | null;
886
- 'active.team'?: string | null;
887
- };
888
- type KycStatus = 'pending' | 'approved' | 'rejected';
889
- type Kyc = {
890
- status: KycStatus;
891
- };
892
- type UserPrivate = {
904
+ //#region src/contact/types.d.ts
905
+ type ContactHealth = 'active' | 'lukewarm' | 'cold' | 'stale' | 'unknown';
906
+ type ContactConsentStatus = 'pending' | 'confirmed' | 'superseded' | 'unsubscribed';
907
+ type ContactConsent = {
893
908
  id: string;
894
- name: string;
909
+ purpose: string;
910
+ status: ContactConsentStatus;
895
911
  email: string;
896
- hasVerifiedEmail: boolean;
897
- balance: number;
898
- wallets: Wallet[];
899
- hasProfileImage: boolean;
900
- profileImageUrl: string;
901
- country: string | null;
902
- timezone: string | null;
903
- socials: UserSocialAccount[];
904
- justCreated: boolean;
905
- affiliate: Affiliate | null;
906
- kyc?: Kyc | null;
907
- settings: UserSettings;
908
- };
909
- type Earning = {
910
- id: number;
911
- amount: number;
912
- type: string;
913
- description: string | null;
914
- createdAt: string;
915
- };
916
- type PayoutEntry = {
917
- id: number;
918
- amount: number;
919
- status: string;
920
- tx: string | null;
921
- failureReason: string | null;
922
- processedAt: string | null;
923
- createdAt: string;
924
- };
925
- type UserSocialAccount = {
926
- platform: string;
927
- id: string;
928
- username: string;
929
- profileUrl: string;
930
- };
931
- type User = {
932
- id: string;
933
- name: string;
934
- address: string;
935
- balance: number | null;
936
- hasProfileImage: boolean;
937
- profileImageUrl: string;
938
- swarmRole: string | null;
912
+ consentText: {
913
+ label?: string | Record<string, string>;
914
+ description?: string | Record<string, string> | null;
915
+ };
916
+ privacyUrl: string | null;
917
+ source: {
918
+ formIdentifier?: string | null;
919
+ formTitle?: string | Record<string, string> | null;
920
+ };
921
+ requestedAt: string;
922
+ confirmedAt: string | null;
923
+ unsubscribedAt: string | null;
939
924
  };
940
- type AuthUser = {
925
+ type Contact = {
941
926
  id: string;
942
927
  name: string;
943
- phone: string | null;
928
+ wallets: Wallet[];
944
929
  email: string | null;
930
+ phone: string | null;
931
+ company: string | null;
932
+ title: string | null;
933
+ birthday: string | null;
934
+ website: string | null;
935
+ location: string | null;
936
+ avatar: string | null;
937
+ socials: Record<string, string> | null;
938
+ notes: string | null;
939
+ tags: string[] | null;
940
+ userId: string | null;
941
+ locale?: string | null;
942
+ props?: Record<string, string> | null;
943
+ settings?: {
944
+ marketingOptOut?: boolean;
945
+ } | null;
946
+ consents?: ContactConsent[];
947
+ lastActivityAt?: string | null;
948
+ health?: ContactHealth;
949
+ nextFollowUpAt?: string | null;
950
+ followUpNote?: string | null;
951
+ team?: Team;
945
952
  };
946
- type Affiliate = {
953
+ type ContactActivityType = 'note' | 'call' | 'meeting' | 'task' | 'update' | 'custom' | 'form' | 'loyalty' | 'follow_up';
954
+ type ContactActivityAuthor = {
947
955
  name: string;
948
- tier: AffiliateTier;
949
- balance: number;
950
- payoutAddress: string;
951
- application: string;
952
- status: AffiliateStatus;
956
+ imageUrl: string | null;
957
+ };
958
+ type ContactActivity = {
959
+ id: string;
960
+ type: ContactActivityType;
961
+ description: string | null;
962
+ meta: Record<string, JsonValue> | null;
963
+ agentName: string | null;
953
964
  createdAt: string;
954
- inviteLinkUrl: string;
955
- settings: {
956
- minPayoutBalance: number;
957
- commissionExtraPercent?: number;
958
- customerDiscountPercent: number;
965
+ author?: ContactActivityAuthor | null;
966
+ };
967
+ type ContactFormData = {
968
+ name?: string;
969
+ email?: string | null;
970
+ phone?: string | null;
971
+ company?: string | null;
972
+ title?: string | null;
973
+ birthday?: string | null;
974
+ website?: string | null;
975
+ location?: string | null;
976
+ socials?: Record<string, string> | null;
977
+ notes?: string | null;
978
+ tags?: string[] | null;
979
+ locale?: string | null;
980
+ props?: Record<string, string> | null;
981
+ settings?: {
982
+ marketingOptOut?: boolean;
959
983
  };
960
- clicks: number;
961
- coupons: Coupon[];
962
- user: User | null;
984
+ nextFollowUpAt?: string | null;
985
+ followUpNote?: string | null;
986
+ avatar?: string[];
963
987
  };
964
- type AffiliateTierName = 'bronze' | 'silver' | 'gold';
965
- type AffiliateTier = {
966
- name: AffiliateTierName;
967
- displayName: string;
968
- commission: number;
969
- threshold: number;
988
+ type ContactCreatePayload = ContactFormData & {
989
+ name: string;
990
+ wallets?: WalletList;
970
991
  };
971
- type AffiliateStatus = 'pending' | 'approved' | 'rejected' | 'suspended' | 'demoted';
972
- //#endregion
973
- //#region src/team/apps.d.ts
974
- declare const NativeApps: {
975
- readonly Board: "board";
976
- readonly Shop: "shop";
977
- readonly SmartLinks: "smart-links";
978
- readonly Contacts: "contacts";
979
- readonly Forms: "forms";
980
- readonly Appointments: "appointments";
981
- readonly Workspace: "workspace";
982
- readonly Meeting: "meeting";
983
- readonly VoiceDictation: "voice-dictation";
984
- readonly Heartbeats: "heartbeats";
985
- readonly Wallets: "wallets";
986
- readonly Campaigns: "campaigns";
987
- readonly Automations: "automations";
988
- readonly News: "news";
989
- readonly Sites: "sites";
990
- readonly Contracts: "contracts";
991
- readonly Artifacts: "artifacts";
992
- readonly Social: "social";
993
- readonly Studio: "studio";
994
- readonly Loyalty: "loyalty";
995
- readonly Documents: "documents";
992
+ type ContactRelationType = 'parent_of' | 'child_of' | 'spouse_of' | 'sibling_of' | 'aunt_of' | 'nibling_of' | 'friend_of' | 'manages' | 'reports_to' | 'colleague_of' | 'partner_of' | 'client_of' | 'supplier_of' | 'referred_by' | 'referred';
993
+ type ContactRelationCategory = 'family' | 'social' | 'organization' | 'business' | 'referral';
994
+ type ContactRelationDirection = 'outgoing' | 'incoming';
995
+ type ContactRelationContact = {
996
+ id: string;
997
+ name: string;
998
+ avatar: string | null;
999
+ company: string | null;
1000
+ title: string | null;
996
1001
  };
997
- type NativeApp = (typeof NativeApps)[keyof typeof NativeApps];
998
- declare const nativeAppSlugs: NativeApp[];
999
- declare const isNativeApp: (value: unknown) => value is NativeApp;
1000
- //#endregion
1001
- //#region src/access/team-access.d.ts
1002
- type TeamFeatureArea = 'nativeApps' | 'agentSettings' | 'teamSettings' | 'developerHub' | 'areas' | 'commerce';
1003
- type GatedFeatureArea = Exclude<TeamFeatureArea, 'nativeApps'>;
1004
- /** Keys per area that the API evaluates in `team.access`. */
1005
- type TeamAccessCatalog = Partial<Record<TeamFeatureArea, string[]>>;
1006
- type TeamAccessConfig = {
1007
- accessCatalog: TeamAccessCatalog;
1002
+ type ContactRelation = {
1003
+ id: string;
1004
+ type: ContactRelationType;
1005
+ category: ContactRelationCategory;
1006
+ direction: ContactRelationDirection;
1007
+ contact: ContactRelationContact;
1008
+ meta: Record<string, JsonValue> | null;
1009
+ notes: string | null;
1010
+ createdAt: string;
1008
1011
  };
1009
- /** Resolved feature access from API `TeamPrivate.access` — do not evaluate rules on the client. */
1010
- type TeamFeatureAccess = {
1011
- nativeApps?: Partial<Record<NativeApp, boolean>>;
1012
- agentSettings?: Partial<Record<string, boolean>>;
1013
- teamSettings?: Partial<Record<string, boolean>>;
1014
- developerHub?: Partial<Record<string, boolean>>;
1015
- areas?: Partial<Record<string, boolean>>;
1016
- commerce?: Partial<Record<string, boolean>>;
1012
+ type ContactRelationPayload = {
1013
+ relatedContactId: string;
1014
+ type: ContactRelationType;
1015
+ notes?: string;
1016
+ meta?: Record<string, JsonValue>;
1017
1017
  };
1018
- type TeamWithAccess = {
1019
- access?: TeamFeatureAccess | null;
1020
- accessCatalog?: TeamAccessCatalog | null;
1018
+ type ContactRelationUpdatePayload = {
1019
+ type?: ContactRelationType;
1020
+ notes?: string;
1021
+ meta?: Record<string, JsonValue>;
1021
1022
  };
1022
- declare const resolveAccessCatalog: (team: TeamWithAccess | null | undefined, accessConfig: TeamAccessConfig | null | undefined) => TeamAccessCatalog | null | undefined;
1023
- declare const isTeamFeatureGated: (catalog: TeamAccessCatalog | null | undefined, area: GatedFeatureArea, key: string) => boolean;
1024
- declare const isNativeAppGated: (catalog: TeamAccessCatalog | null | undefined, app: NativeApp) => boolean;
1025
- declare const isTeamFeatureAccessible: (team: TeamWithAccess | null | undefined, area: GatedFeatureArea, key: string) => boolean;
1026
- declare const isTeamFeatureLocked: (team: TeamWithAccess | null | undefined, catalog: TeamAccessCatalog | null | undefined, area: GatedFeatureArea, key: string) => boolean;
1027
- declare const isNativeAppAccessible: (team: TeamWithAccess | null | undefined, app: NativeApp) => boolean;
1028
- declare const isNativeAppLocked: (team: TeamWithAccess | null | undefined, catalog: TeamAccessCatalog | null | undefined, app: NativeApp) => boolean;
1029
- //#endregion
1030
- //#region src/team/constants.d.ts
1031
- declare const teamCategories: readonly ["general", "food-drink", "retail", "beauty-wellness", "health", "sports-fitness", "trades-services", "professional-services", "education-culture", "clubs-organizations", "leisure-tourism"];
1032
1023
  //#endregion
1033
- //#region src/team/types.d.ts
1034
- type TeamCategory = (typeof teamCategories)[number];
1035
- type TeamFeature = 'shop' | 'appointments';
1036
- type TeamMember = User & {
1037
- role: UserRole | null;
1038
- roleAcceptedAt: string | null;
1039
- email: string | null;
1024
+ //#region src/media/types.d.ts
1025
+ type AppFileType = 'abi' | 'pdf' | 'image' | 'video' | 'json';
1026
+ type AppFile = {
1027
+ type: AppFileType;
1028
+ original: File;
1040
1029
  };
1041
- type TeamMeta = {
1042
- 'extra.messages'?: number;
1043
- 'limit.spending'?: number | null;
1044
- currency?: string;
1045
- 'extra.usage.enabled'?: boolean;
1046
- 'auto.reload.enabled'?: boolean;
1047
- 'auto.reload.threshold_cents'?: number | null;
1048
- 'auto.reload.amount_cents'?: number | null;
1049
- 'llm.provider'?: 'openai' | 'anthropic' | 'google' | 'xai' | null;
1050
- 'byok.providers'?: ByokProviders | null;
1051
- 'board.auto.enabled'?: boolean;
1052
- 'payments.online'?: boolean;
1053
- 'payments.coupons'?: boolean;
1054
- 'shop.kiosk.enabled'?: boolean;
1055
- 'shop.stock.enabled'?: boolean;
1056
- 'shop.reorder.enabled'?: boolean;
1057
- 'shop.legal.terms_url'?: string | null;
1058
- 'shop.legal.privacy_url'?: string | null;
1059
- 'shop.legal.withdrawal_url'?: string | null;
1060
- 'shop.legal.imprint_url'?: string | null;
1061
- 'orders.notify_emails'?: string[];
1062
- 'orders.payment_reminders'?: boolean;
1063
- contactPropertyMaskWarp?: string;
1064
- branding?: TeamBrand | null;
1065
- settings: Record<string, unknown> & {
1066
- apps?: NativeApp[];
1030
+ type MediaLibraryAttributes = {
1031
+ uuid: string;
1032
+ order: number;
1033
+ name: string;
1034
+ custom_properties: {
1035
+ [key: string]: JsonValue;
1067
1036
  };
1037
+ preview_url: null | string;
1038
+ original_url: null | string;
1039
+ extension?: string;
1040
+ size?: number;
1068
1041
  };
1069
- type TeamPlace = {
1070
- provider: 'google';
1071
- sourceId: string;
1072
- name: string | null;
1073
- address: string | null;
1074
- location: {
1075
- lat: number | null;
1076
- lng: number | null;
1077
- };
1078
- rating?: number | null;
1079
- reviewCount?: number | null;
1080
- websiteUrl?: string | null;
1081
- mapsUrl?: string | null;
1082
- businessStatus?: string | null;
1042
+ type MediaMime = 'image/png' | 'image/jpeg' | 'image/gif' | 'image/webp' | 'video/mp4' | 'video/webm' | 'video/quicktime' | 'video/x-msvideo' | 'audio/mpeg' | 'audio/mp3' | 'audio/ogg' | 'audio/wav' | 'audio/webm' | 'audio/aac' | 'audio/m4a' | 'audio/m4b' | 'audio/m4p' | 'audio/m4v' | 'application/pdf' | 'application/json';
1043
+ type MediaAspectRatio = 'free' | '1:1' | '16:9' | '9:16' | '4:3' | '3:4';
1044
+ type Media = {
1045
+ id: string;
1046
+ name: string;
1047
+ mime: MediaMime;
1048
+ url: string;
1049
+ library: MediaLibraryAttributes;
1050
+ tags?: string[];
1051
+ copyright?: string | null;
1052
+ aiGenerated?: boolean;
1083
1053
  };
1084
- type Team = {
1085
- slug: string;
1054
+ //#endregion
1055
+ //#region src/integration/types.d.ts
1056
+ type IntegrationType = 'none' | 'webhook' | 'api-token' | 'telegram' | 'slack' | 'whatsapp' | 'whatsapp-personal' | 'twilio' | 'sms' | 'n8n' | 'apple-health' | 'mcp' | 'x' | 'xchat' | 'instagram' | 'facebook' | 'linkedin' | 'grok' | 'cloudflare' | 'google-search-console' | 'email' | 'calendar' | 'embed' | 'discord' | 'github' | 'push' | 'sentry' | 'readwise';
1057
+ type IntegrationDetails = {
1058
+ type: IntegrationType;
1086
1059
  name: string;
1087
- personal: boolean;
1088
- category: TeamCategory;
1089
- tags?: string[] | null;
1090
- description: TranslatableValue | null;
1091
- locale: WarpLocale;
1092
- timezone: string;
1093
- place?: TeamPlace | null;
1094
- meta?: TeamMeta;
1095
- features?: TeamFeature[];
1096
- cover?: string | null;
1097
- logo: string | null;
1098
- tagline?: TranslatableValue | null;
1099
- public: boolean;
1100
- createdAt: string;
1101
- blueprints?: Blueprint[];
1102
- flows?: Flow[];
1103
- coupons?: Coupon[];
1060
+ description?: string;
1061
+ logoUrl?: string;
1062
+ logoUrlDark?: string;
1063
+ slug?: string;
1064
+ category?: string;
1065
+ [key: string]: unknown;
1104
1066
  };
1105
- type TeamBrand = {
1106
- bg?: string;
1107
- fg?: string;
1108
- label?: string;
1109
- logo?: string;
1110
- bankAccountHolder?: string;
1111
- bankIban?: string;
1112
- bankBic?: string;
1113
- invoiceAddress?: string;
1114
- invoiceVat?: string;
1115
- invoiceCity?: string;
1116
- invoiceZip?: string;
1117
- invoiceCountry?: string;
1067
+ type IntegrationMeta = {
1068
+ handle?: string; /** Channel-specific provider id (email: resend|mailgun|sendgrid, push: onesignal, …). */
1069
+ provider?: string | null;
1070
+ hookSource?: string;
1071
+ [key: string]: unknown;
1118
1072
  };
1119
- type TeamPrivate = {
1120
- slug: string;
1073
+ type IntegrationConnectionDetails = IntegrationDetails & {
1074
+ phoneNumberId?: string;
1075
+ phoneNumber?: string;
1076
+ webhookUrl?: string;
1077
+ webhookSecret?: string;
1078
+ webhookSecretKey?: string;
1079
+ };
1080
+ type Integration = {
1081
+ id: string;
1082
+ type: IntegrationType;
1083
+ name: string;
1084
+ active: boolean;
1085
+ configured: boolean;
1086
+ createdAt: string;
1087
+ meta?: IntegrationMeta;
1088
+ details?: IntegrationConnectionDetails;
1089
+ };
1090
+ type SocialPlatform = 'telegram' | 'slack' | 'whatsapp' | 'sms' | 'discord' | 'github' | 'xchat' | 'instagram';
1091
+ type SocialBot = {
1121
1092
  name: string;
1122
- personal: boolean;
1123
- description: TranslatableValue | null;
1124
- tags?: string[] | null;
1125
- tagline: TranslatableValue | null;
1126
- balance: number;
1127
- locale: WarpLocale;
1128
- timezone: string;
1129
- place?: TeamPlace | null;
1130
- logo: string | null;
1131
- cover: string | null;
1132
- subscription: {
1133
- premium: boolean;
1134
- lifetime: boolean;
1135
- plan: Plan;
1136
- provider: PaymentProvider | null;
1137
- payer: User | null;
1138
- gracePeriod: boolean;
1139
- autoRenew: boolean;
1140
- cycleEndsAt: string | null;
1141
- resetsAt: string | null;
1142
- startedAt: string | null;
1143
- renewedAt: string | null;
1144
- expiresAt: string | null;
1145
- };
1146
- meta: TeamMeta;
1147
- branding: TeamBrand;
1148
- category: TeamCategory;
1149
1093
  createdAt: string;
1150
- justCreated: boolean;
1151
- role?: UserRole | null;
1152
- permissions?: UserPermission[];
1153
- access?: TeamFeatureAccess;
1154
- accessCatalog?: TeamAccessCatalog;
1094
+ phoneNumberId?: string;
1095
+ phoneNumber?: string;
1096
+ applicationId?: string;
1097
+ appId?: string;
1098
+ installationId?: string;
1099
+ username?: string;
1155
1100
  };
1156
- type ByokProviderConfig = {
1157
- apiKey?: string;
1158
- accessKey?: string;
1159
- secretKey?: string;
1101
+ type XIntegrationStatus = {
1102
+ enabled: boolean;
1103
+ integrationId: string | null;
1104
+ xAccountLinked: boolean;
1105
+ currentAgentName: string | null;
1160
1106
  };
1161
- type ByokProviders = {
1162
- openai?: ByokProviderConfig;
1163
- anthropic?: ByokProviderConfig;
1164
- google?: ByokProviderConfig;
1165
- xai?: ByokProviderConfig;
1166
- klingai?: ByokProviderConfig;
1107
+ type EmbedStatus = {
1108
+ integrationId: string;
1109
+ agentName: string;
1110
+ agentAvatar: string | null;
1111
+ active: boolean;
1112
+ allowedDomains: string[];
1167
1113
  };
1168
- type ByokProviderName = keyof ByokProviders;
1169
- type TeamSettings = {
1170
- 'extra.messages': number;
1171
- 'limit.spending': number | null;
1172
- currency: string;
1173
- 'extra.usage.enabled'?: boolean;
1174
- 'auto.reload.enabled'?: boolean;
1175
- 'auto.reload.threshold_cents'?: number | null;
1176
- 'auto.reload.amount_cents'?: number | null;
1177
- 'llm.provider'?: 'openai' | 'anthropic' | 'google' | 'xai' | null;
1178
- 'byok.providers'?: ByokProviders | null;
1179
- 'board.auto.enabled'?: boolean;
1180
- 'payments.online'?: boolean;
1181
- 'payments.coupons'?: boolean;
1182
- 'shop.kiosk.enabled'?: boolean;
1183
- 'shop.stock.enabled'?: boolean;
1184
- 'shop.reorder.enabled'?: boolean;
1185
- 'shop.legal.terms_url'?: string | null;
1186
- 'shop.legal.privacy_url'?: string | null;
1187
- 'shop.legal.withdrawal_url'?: string | null;
1188
- 'shop.legal.imprint_url'?: string | null;
1189
- 'orders.notify_emails'?: string[];
1190
- 'orders.payment_reminders'?: boolean;
1191
- branding?: TeamBrand | null;
1114
+ type EmailProvider = 'resend' | 'mailgun' | 'sendgrid';
1115
+ type CalendarProvider = 'google' | 'apple' | 'microsoft';
1116
+ type CalendarStatus = {
1117
+ connected: boolean;
1118
+ provider?: CalendarProvider;
1119
+ providerDisplayName?: string;
1120
+ accountEmail?: string;
1121
+ lastSynced?: string;
1122
+ tokenHealthy?: boolean;
1123
+ upcomingEvents?: {
1124
+ title: string;
1125
+ startAt: string;
1126
+ endAt: string;
1127
+ allDay: boolean;
1128
+ }[];
1192
1129
  };
1193
- type TeamUsage = Partial<Record<PlanFeature, TeamFeatureUsage>> & {
1194
- extraUsageEnabled?: boolean;
1195
- currentSpending?: number;
1196
- walletCloudUsed?: number;
1197
- walletCloudPremiumUsed?: number;
1198
- spendingLimit?: number | null;
1199
- cycleEndsAt?: string | null;
1200
- resetsAt?: string | null;
1201
- autoReload?: {
1202
- enabled: boolean;
1203
- thresholdCents: number | null;
1204
- amountCents: number | null;
1205
- };
1130
+ //#endregion
1131
+ //#region src/agent/types.d.ts
1132
+ type AgentCharacter = {
1133
+ name: string | null;
1134
+ system: string | null;
1135
+ bio: string | null;
1206
1136
  };
1207
- type TeamFeatureUsage = {
1208
- current: number;
1209
- limit: number;
1210
- reached?: boolean;
1137
+ type Agent = {
1138
+ uuid: string;
1139
+ name: string;
1140
+ description: string;
1141
+ avatar: string;
1142
+ wallets: Wallet[];
1143
+ settings: AgentSettings;
1144
+ store: StoreInfo;
1145
+ character?: AgentCharacter | null;
1146
+ room: Room;
1147
+ role: string | null;
1148
+ blueprint: Blueprint | null;
1149
+ team: string;
1211
1150
  };
1212
- type AiCostEntry = {
1213
- id: number;
1214
- model: string | null;
1215
- agent: {
1216
- name: string;
1217
- uuid: string;
1151
+ type AgentPrivate = {
1152
+ uuid: string;
1153
+ name: string;
1154
+ description: string;
1155
+ avatar: string;
1156
+ wallets: Wallet[];
1157
+ settings: AgentSettings;
1158
+ store: StoreInfo;
1159
+ password: string | null;
1160
+ authKey: string | null;
1161
+ secKey: string;
1162
+ phoneNumber: string | null;
1163
+ room: Room;
1164
+ role: string | null;
1165
+ blueprint: Blueprint | null;
1166
+ justCreated?: boolean;
1167
+ team: string;
1168
+ };
1169
+ type AgentActionHistoryEntry = {
1170
+ id: string;
1171
+ action: string | null;
1172
+ outcome: 'succeeded' | 'failed';
1173
+ outcomeDetail: string | null;
1174
+ warpIdentifier: string | null;
1175
+ meta: Record<string, unknown> | null;
1176
+ createdAt: string | null;
1177
+ };
1178
+ type AgentSimple = {
1179
+ uuid: string;
1180
+ name: string;
1181
+ avatar?: string | null;
1182
+ authKey?: string | null;
1183
+ team?: {
1184
+ slug: string;
1218
1185
  } | null;
1219
- inputTokens: number;
1220
- outputTokens: number;
1221
- totalTokens: number;
1222
- costCents: number | null;
1223
- createdAt: string;
1186
+ settings?: Pick<AgentSettings, 'auto'>;
1224
1187
  };
1225
- type AiCostsSummary = {
1226
- totalCostCents: number;
1227
- totalTokens: number;
1228
- totalRequests: number;
1229
- byModel: Record<string, {
1230
- costCents: number;
1231
- tokens: number;
1232
- count: number;
1233
- }>;
1188
+ type AgentWalletMode = 'local' | 'cloud' | 'external';
1189
+ type AgentEngine = 'cortex' | 'openclaw';
1190
+ type AgentGender = 'male' | 'female' | 'neutral';
1191
+ type AgentTrustedActionRule = {
1192
+ id: string;
1193
+ hash: string;
1194
+ match?: Record<string, string>;
1195
+ identifier?: string;
1196
+ title?: string;
1234
1197
  };
1235
- type AiCostsResponse = {
1236
- summary: AiCostsSummary;
1237
- usages: {
1238
- data: AiCostEntry[];
1239
- pagination: {
1240
- currentPage: number;
1241
- lastPage: number;
1242
- perPage: number;
1243
- total: number;
1244
- };
1245
- };
1198
+ type AgentSettings = {
1199
+ auto: boolean;
1200
+ 'model.url': string;
1201
+ 'voice.output': boolean;
1202
+ 'voice.id': string | null;
1203
+ 'agent.gender'?: AgentGender;
1204
+ 'proactivity.enabled': boolean;
1205
+ 'proactivity.quietHoursStart'?: number;
1206
+ 'proactivity.quietHoursEnd'?: number;
1207
+ 'proactivity.maxMessagesPerDay'?: number;
1208
+ 'proactivity.timezone'?: string;
1209
+ 'proactivity.blockedBehaviors'?: string[];
1210
+ engine: AgentEngine;
1211
+ 'training.url'?: string | null;
1212
+ 'training.status'?: 'idle' | 'training' | 'completed' | 'failed' | null;
1213
+ 'training.recrawlInterval'?: number | null;
1214
+ 'email_provider'?: EmailProvider | null;
1215
+ };
1216
+ type LocalAgentWallet = {
1217
+ provider: WarpWalletProvider;
1218
+ address: string;
1219
+ mnemonic?: string | null;
1220
+ privateKey?: string | null;
1221
+ };
1222
+ type AgentExecuteHandler = (prompt: string, options?: AgentExecuteOptions) => void;
1223
+ type AgentExecuteOptions = {
1224
+ audio?: File;
1225
+ sender?: string;
1226
+ media?: Media[];
1227
+ ghost?: boolean;
1228
+ context?: Record<string, unknown>;
1229
+ };
1230
+ //#endregion
1231
+ //#region src/room/types.d.ts
1232
+ type RoomId = string;
1233
+ type RoomKind = 'default' | 'phone' | 'meeting';
1234
+ type Room = {
1235
+ id: string;
1236
+ name: string;
1237
+ description: string | null;
1238
+ public: boolean;
1239
+ default: boolean;
1240
+ active: boolean;
1241
+ kind?: RoomKind | null;
1242
+ archivedAt?: string | null;
1243
+ secKey: string | null;
1244
+ createdAt: string | null;
1245
+ contactId?: string | null;
1246
+ agent: AgentSimple;
1247
+ integration: Integration | null;
1246
1248
  };
1247
1249
  //#endregion
1248
1250
  //#region src/meeting/types.d.ts
@@ -4527,8 +4529,49 @@ type LoyaltyMember = {
4527
4529
  updatedAt: string;
4528
4530
  };
4529
4531
  //#endregion
4532
+ //#region src/install/types.d.ts
4533
+ type InstallPlatform = 'ios' | 'android' | 'web';
4534
+ type InstallPushStatus = 'subscribed' | 'opted_out' | 'unavailable';
4535
+ type PushProvider = 'onesignal';
4536
+ type Install = {
4537
+ id: string;
4538
+ platform: InstallPlatform;
4539
+ pushProvider: PushProvider;
4540
+ pushProviderRef: string;
4541
+ pushStatus: InstallPushStatus;
4542
+ appBundleId: string | null;
4543
+ userId: string | null;
4544
+ contactId: string | null;
4545
+ contactName?: string | null;
4546
+ lastSeenAt: string | null;
4547
+ createdAt: string | null;
4548
+ updatedAt: string | null;
4549
+ };
4550
+ type InstallRegisterPayload = {
4551
+ pushProvider: PushProvider;
4552
+ pushProviderRef: string;
4553
+ platform: InstallPlatform;
4554
+ pushStatus?: InstallPushStatus;
4555
+ appBundleId?: string | null;
4556
+ locale?: string | null;
4557
+ version?: string | null;
4558
+ model?: string | null;
4559
+ os?: string | null;
4560
+ };
4561
+ type InstallClaimPayload = {
4562
+ pushProvider: PushProvider;
4563
+ pushProviderRef: string;
4564
+ };
4565
+ type InstallOptOutPayload = {
4566
+ pushProvider: PushProvider;
4567
+ pushProviderRef: string;
4568
+ pushStatus?: Extract<InstallPushStatus, 'opted_out' | 'unavailable'>;
4569
+ platform?: InstallPlatform;
4570
+ };
4571
+ //#endregion
4530
4572
  //#region src/segment/types.d.ts
4531
- type SegmentConditionType = 'tag' | 'has_email' | 'has_phone' | 'has_user' | 'last_purchase_after' | 'last_purchase_before' | 'total_order_amount' | 'order_count_at_least' | 'never_purchased' | 'avg_order_value_at_least' | 'last_contact_after' | 'last_contact_before' | 'waiting_on' | 'created_after' | 'created_before' | 'email_contains' | 'prop' | 'marketing_opt_out';
4573
+ type SegmentConditionType = 'tag' | 'has_email' | 'has_phone' | 'has_user' | 'has_install' | 'install_push_status' | 'last_purchase_after' | 'last_purchase_before' | 'total_order_amount' | 'order_count_at_least' | 'never_purchased' | 'avg_order_value_at_least' | 'last_contact_after' | 'last_contact_before' | 'waiting_on' | 'created_after' | 'created_before' | 'email_contains' | 'prop' | 'marketing_opt_out';
4574
+ type InstallPushStatusValue = 'subscribed' | 'opted_out' | 'unavailable';
4532
4575
  type SegmentCondition = {
4533
4576
  type: SegmentConditionType;
4534
4577
  value: string | boolean;
@@ -4568,9 +4611,12 @@ type CampaignSkipReasons = Record<CampaignSkipReason, number>;
4568
4611
  type CampaignRecipientStatus = 'sent' | 'failed' | 'skipped' | 'pending';
4569
4612
  type CampaignRecipient = {
4570
4613
  id: string;
4614
+ kind?: 'contact' | 'install';
4571
4615
  name: string | null;
4572
4616
  email: string | null;
4573
4617
  phone: string | null;
4618
+ platform?: string | null;
4619
+ pushStatus?: string | null;
4574
4620
  status: CampaignRecipientStatus;
4575
4621
  error: string | null;
4576
4622
  skipReason: CampaignSkipReason | null;
@@ -4609,6 +4655,7 @@ type Campaign = {
4609
4655
  tags: string[];
4610
4656
  segmentId?: string | null;
4611
4657
  contactIds?: string[];
4658
+ installIds?: string[];
4612
4659
  status: CampaignStatus;
4613
4660
  totalCount: number;
4614
4661
  remainingCount: number;
@@ -4649,6 +4696,21 @@ type CampaignUpdatePayload = {
4649
4696
  contactIds?: string[];
4650
4697
  segmentId?: string;
4651
4698
  };
4699
+ /** Test-send from the create/edit form without saving a campaign row. */
4700
+ type CampaignSendTestDraftPayload = {
4701
+ channel: 'email' | 'push';
4702
+ name?: string;
4703
+ subject?: string;
4704
+ content: string;
4705
+ contentHtml?: boolean;
4706
+ language?: string;
4707
+ category?: CampaignCategory;
4708
+ templateParams?: Record<string, string>;
4709
+ aiParams?: Record<string, string>;
4710
+ agentId?: string;
4711
+ contactId?: string;
4712
+ installId?: string;
4713
+ };
4652
4714
  type CampaignAudiencePreviewPayload = {
4653
4715
  campaignId: string;
4654
4716
  } | {
@@ -4895,7 +4957,7 @@ type RampProviderInfo = {
4895
4957
  active: boolean;
4896
4958
  };
4897
4959
  //#endregion
4898
- //#region src/warp-webhooks/types.d.ts
4960
+ //#region src/hooks/types.d.ts
4899
4961
  type HookTriggerCondition = {
4900
4962
  path: string;
4901
4963
  operator: 'exists' | 'equals' | 'contains' | 'not_contains';
@@ -4914,6 +4976,8 @@ type HookTrigger = {
4914
4976
  when?: HookTriggerCondition[];
4915
4977
  inputs?: Record<string, HookTriggerInput>;
4916
4978
  };
4979
+ type InternalHookTriggerEvent = 'contact.created' | 'contact.updated' | 'update.created';
4980
+ declare const INTERNAL_HOOK_TRIGGER_EVENTS: readonly ["contact.created", "contact.updated", "update.created"];
4917
4981
  type WebHookTriggerEvent = 'agent.action' | 'agent.message' | 'agent.activity' | 'user.message' | 'external.message';
4918
4982
  type Hook = {
4919
4983
  id: string;
@@ -5056,4 +5120,4 @@ type CliSessionStatus = {
5056
5120
  meta: CliSessionMeta | null;
5057
5121
  };
5058
5122
  //#endregion
5059
- 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, AppointmentPolicyUpsert, AppointmentRequest, AppointmentSlot, Artifact, ArtifactBlock, ArtifactBlockType, ArtifactContactSummary, ArtifactCreatePayload, ArtifactDeliverIntegration, ArtifactDeliverPayload, ArtifactDelivery, ArtifactDeliveryPreview, ArtifactLink, ArtifactStatus, ArtifactType, ArtifactUpdatePayload, AssignableTeamRoles, 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, DefaultAppLocale, 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, FulfillmentFlowAction, FulfillmentFlowStep, 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, ImageCompressionOptions, ImageCropOptions, ImageCropRectangle, ImageCropState, ImageDimensionRules, ImageDimensions, 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, LoyaltyCollectCodeRotation, LoyaltyCollectLimit, LoyaltyCollectPoint, LoyaltyCollectPointInput, LoyaltyCollectResponse, LoyaltyJoinResponse, LoyaltyMember, LoyaltyNextTier, LoyaltyProgram, LoyaltyPromotion, LoyaltyReward, LoyaltyStatus, LoyaltyTier, LoyaltyTierInfo, LoyaltyTransaction, LoyaltyWalletAccount, 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, Order, OrderConfigurationItem, OrderContext, OrderItem, OrderPriceMode, OrderSource, OrderStatus, OrderStatusDisplay, OrderType, OutboundChannel, OutboundChannelId, PLATFORM_CURRENCY, PaginatedResponse, Pass, PatchContentInput, PaymentAccount, PaymentAccountOnboarding, PaymentProvider, PayoutEntry, PeriodTypeLabels, PeriodTypeOptions, PermissionConfigType, PermissionPresetName, PermissionPresetNames, PersonaQuestionable, PickupNextAction, Plan, PlanBenefit, PlanExtra, PlanFeature, PlanInterval, PolicyMethod, PolicySetting, PricingModel, Product, ProductDetailKind, ProductDetailRow, ProductDetailSection, ProductDetailText, 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, RETURNABLE_FULFILLMENT_STATUSES, RampProvider, RampProviderInfo, Reactions, RecentExperience, RedeemResponse, Reminder, Return, ReturnCreatePayload, type ReturnStatus, ReturnStatuses, ReturnUpdateStatus, ReturnUpdateStatuses, ReturnableItem, Room, RoomId, RoomKind, ScInfo, SchedulePreset, SecretAuthorizable, SecretSettable, Segment, SegmentCondition, SegmentConditionType, SegmentCountPayload, SegmentCountResult, SegmentCreatePayload, SegmentGroup, SendableActivityUpdate, SendableAgentAction, SendableAgentMessage, SendableAgentThought, SendableMedia, SendableUserMessage, Service, SetKvEntryResult, SharedSocialPost, ShippingCarrierOption, ShippingRate, ShippingZone, Shortcut, Site, SiteAgent, SiteBrand, SiteRoute, SiteTeam, SiteType, Skill, SkillMediaBindingRole, SkillMediaBindingRoleValue, SkillScope, SkillScopeValue, SkillType, SkillTypeValue, SocialAuthProvider, SocialBot, SocialPlatform, SocialPost, SocialPostAccount, SocialPostConnection, SocialPostCreatePayload, SocialPostGenerateCaptionPayload, SocialPostGeneratedCaption, SocialPostPlatform, SocialPostStatus, SocialPostUpdatePayload, StampResponse, StoreAgent, StoreCheckoutItem, StoreData, StoreEntityType, StoreInfo, StoreItem, StoreListing, StorePriceTier, StorePricing, StorePurchasable, StorePurchaseResult, Streak, Subscription, SubscriptionDelivery, SubscriptionInterval, SubscriptionPlan, SubscriptionStatus, SupportedAppLocale, SupportedAppLocales, Swarm, Tag, TagType, Task, TaxBreakdownRow, TaxClass, Team, TeamAccessCatalog, TeamAccessConfig, TeamBrand, TeamCategory, TeamCurrencySource, TeamEarning, TeamEarningsBalance, TeamFeature, TeamFeatureAccess, TeamFeatureArea, TeamFeatureUsage, TeamManageAccess, TeamMember, TeamMeta, TeamOrderStats, 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, assignableTeamRoles, automationSendChannel, buildAgentMcpServerName, buildAgentSetupClipboardText, buildAppSetupClipboardText, buildFeatureSetupClipboardText, buildMcpServerName, buildReturnCreatePayloads, canOpenFulfillmentFlow, canTransitionOrderStatus, cartLineTotal, cartPayableTotal, containedImageDimensions, createCursorMcpInstallLink, cropOutputDimensions, defaultInviteTeamRole, documentShareUrl, firstValidationMessage, formatAddressSnapshotLines, fulfillmentMethodValues, fulfillmentStatusValues, getAgentSetupPromptUrl, getAgentsBaseUrl, getApiBaseUrl, getAppBaseUrl, getAssetAppLogoUrl, getAssetChainLogoUrl, getAssetPartnerLogoUrl, getAssetTokenLogoUrl, getAssetWalletLogoUrl, getCortexBaseUrl, getDigestBaseUrl, getDocumentsBaseUrl, getEditableOrderStatuses, getFormsBaseUrl, getFulfillmentFlowAction, getFulfillmentFlowStepperIndex, getGenBaseUrl, getInvoiceEditableStatuses, getLoginUrl, getMcpServerAgentUrl, getMcpServerUrl, getPickupEditableStatuses, getPickupNextAction, getReturnRefundAmount, getReturnableItems, getShippingEditableStatuses, getSiteUrl, getSitesBaseUrl, getSitesRootDomain, getStoreBaseUrl, getWarpScreenshotUrl, hasAllPermissions, hasAllTeamPermissions, hasAnyPermissions, hasPermission, hasTeamPermission, imageCropRectangle, integrationSlugForChannel, inviteableTeamRoles, isAutomationSendChannelId, isCampaignChannelId, isCompleteAddressInput, isContactMessageAction, isContactMessageWarpId, isFileFormatAudio, isFileFormatImage, isFileFormatVideo, isNativeApp, isNativeAppAccessible, isNativeAppGated, isNativeAppLocked, isOrderCanceled, isOrderInFulfillment, isOrderPending, isOrderPostCheckout, isPickupOrderReady, isPickupReady, isSupportedAppLocale, isTeamFeatureAccessible, isTeamFeatureGated, isTeamFeatureLocked, isUnifiedMcpUrl, isUserRole, localize, nativeAppSlugs, normalizeAutomationActionType, ogImageUrl, outboundChannel, permissionPresetRules, resolveAccessCatalog, resolveAgentMcpUrl, resolveConnectMcpUrl, resolveFulfillmentFlowStep, resolveOrderStatusDisplay, resolveTeamCurrency, resolveWarpText, returnStatusValues, returnUpdateStatusValues, sanitizeAlphanumeric, sanitizeNumeric, slugifyMcpSegment, teamCategories, toCurrencyDisplay, toHexEncodedNonce, toNameInitials, toNftId, toPreviewText, userPermissionValues, userRoleValues, validateImageDimensions, validationMessageFor, withRetry };
5123
+ 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, AppointmentPolicyUpsert, AppointmentRequest, AppointmentSlot, Artifact, ArtifactBlock, ArtifactBlockType, ArtifactContactSummary, ArtifactCreatePayload, ArtifactDeliverIntegration, ArtifactDeliverPayload, ArtifactDelivery, ArtifactDeliveryPreview, ArtifactLink, ArtifactStatus, ArtifactType, ArtifactUpdatePayload, AssignableTeamRoles, 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, CampaignSendTestDraftPayload, 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, DefaultAppLocale, 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, FulfillmentFlowAction, FulfillmentFlowStep, 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, INTERNAL_HOOK_TRIGGER_EVENTS, IRequestOptions, ImageCompressionOptions, ImageCropOptions, ImageCropRectangle, ImageCropState, ImageDimensionRules, ImageDimensions, IngestionSourceType, IngestionStatus, Inquiry, InquiryStatus, InquiryType, Install, InstallClaimPayload, InstallOptOutPayload, InstallPlatform, InstallPushStatus, InstallPushStatusValue, InstallRegisterPayload, Integration, IntegrationConnectionDetails, IntegrationDetails, IntegrationMeta, IntegrationType, Intent, InternalHookTriggerEvent, 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, LoyaltyCollectCodeRotation, LoyaltyCollectLimit, LoyaltyCollectPoint, LoyaltyCollectPointInput, LoyaltyCollectResponse, LoyaltyJoinResponse, LoyaltyMember, LoyaltyNextTier, LoyaltyProgram, LoyaltyPromotion, LoyaltyReward, LoyaltyStatus, LoyaltyTier, LoyaltyTierInfo, LoyaltyTransaction, LoyaltyWalletAccount, 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, Order, OrderConfigurationItem, OrderContext, OrderItem, OrderPriceMode, OrderSource, OrderStatus, OrderStatusDisplay, OrderType, OutboundChannel, OutboundChannelId, PLATFORM_CURRENCY, PaginatedResponse, Pass, PatchContentInput, PaymentAccount, PaymentAccountOnboarding, PaymentProvider, PayoutEntry, PeriodTypeLabels, PeriodTypeOptions, PermissionConfigType, PermissionPresetName, PermissionPresetNames, PersonaQuestionable, PickupNextAction, Plan, PlanBenefit, PlanExtra, PlanFeature, PlanInterval, PolicyMethod, PolicySetting, PricingModel, Product, ProductDetailKind, ProductDetailRow, ProductDetailSection, ProductDetailText, 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, PushProvider, RETURNABLE_FULFILLMENT_STATUSES, RampProvider, RampProviderInfo, Reactions, RecentExperience, RedeemResponse, Reminder, Return, ReturnCreatePayload, type ReturnStatus, ReturnStatuses, ReturnUpdateStatus, ReturnUpdateStatuses, ReturnableItem, Room, RoomId, RoomKind, ScInfo, SchedulePreset, SecretAuthorizable, SecretSettable, Segment, SegmentCondition, SegmentConditionType, SegmentCountPayload, SegmentCountResult, SegmentCreatePayload, SegmentGroup, SendableActivityUpdate, SendableAgentAction, SendableAgentMessage, SendableAgentThought, SendableMedia, SendableUserMessage, Service, SetKvEntryResult, SharedSocialPost, ShippingCarrierOption, ShippingRate, ShippingZone, Shortcut, Site, SiteAgent, SiteBrand, SiteRoute, SiteTeam, SiteType, Skill, SkillMediaBindingRole, SkillMediaBindingRoleValue, SkillScope, SkillScopeValue, SkillType, SkillTypeValue, SocialAuthProvider, SocialBot, SocialPlatform, SocialPost, SocialPostAccount, SocialPostConnection, SocialPostCreatePayload, SocialPostGenerateCaptionPayload, SocialPostGeneratedCaption, SocialPostPlatform, SocialPostStatus, SocialPostUpdatePayload, StampResponse, StoreAgent, StoreCheckoutItem, StoreData, StoreEntityType, StoreInfo, StoreItem, StoreListing, StorePriceTier, StorePricing, StorePurchasable, StorePurchaseResult, Streak, Subscription, SubscriptionDelivery, SubscriptionInterval, SubscriptionPlan, SubscriptionStatus, SupportedAppLocale, SupportedAppLocales, Swarm, Tag, TagType, Task, TaxBreakdownRow, TaxClass, Team, TeamAccessCatalog, TeamAccessConfig, TeamBrand, TeamCategory, TeamCurrencySource, TeamEarning, TeamEarningsBalance, TeamFeature, TeamFeatureAccess, TeamFeatureArea, TeamFeatureUsage, TeamManageAccess, TeamMember, TeamMeta, TeamOrderStats, 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, assignableTeamRoles, automationSendChannel, buildAgentMcpServerName, buildAgentSetupClipboardText, buildAppSetupClipboardText, buildFeatureSetupClipboardText, buildMcpServerName, buildReturnCreatePayloads, canOpenFulfillmentFlow, canTransitionOrderStatus, cartLineTotal, cartPayableTotal, containedImageDimensions, createCursorMcpInstallLink, cropOutputDimensions, defaultInviteTeamRole, documentShareUrl, firstValidationMessage, formatAddressSnapshotLines, fulfillmentMethodValues, fulfillmentStatusValues, getAgentSetupPromptUrl, getAgentsBaseUrl, getApiBaseUrl, getAppBaseUrl, getAssetAppLogoUrl, getAssetChainLogoUrl, getAssetPartnerLogoUrl, getAssetTokenLogoUrl, getAssetWalletLogoUrl, getCortexBaseUrl, getDigestBaseUrl, getDocumentsBaseUrl, getEditableOrderStatuses, getFormsBaseUrl, getFulfillmentFlowAction, getFulfillmentFlowStepperIndex, getGenBaseUrl, getInvoiceEditableStatuses, getLoginUrl, getMcpServerAgentUrl, getMcpServerUrl, getPickupEditableStatuses, getPickupNextAction, getReturnRefundAmount, getReturnableItems, getShippingEditableStatuses, getSiteUrl, getSitesBaseUrl, getSitesRootDomain, getStoreBaseUrl, getWarpScreenshotUrl, hasAllPermissions, hasAllTeamPermissions, hasAnyPermissions, hasPermission, hasTeamPermission, imageCropRectangle, integrationSlugForChannel, inviteableTeamRoles, isAutomationSendChannelId, isCampaignChannelId, isCompleteAddressInput, isContactMessageAction, isContactMessageWarpId, isFileFormatAudio, isFileFormatImage, isFileFormatVideo, isNativeApp, isNativeAppAccessible, isNativeAppGated, isNativeAppLocked, isOrderCanceled, isOrderInFulfillment, isOrderPending, isOrderPostCheckout, isPickupOrderReady, isPickupReady, isSupportedAppLocale, isTeamFeatureAccessible, isTeamFeatureGated, isTeamFeatureLocked, isUnifiedMcpUrl, isUserRole, localize, nativeAppSlugs, normalizeAutomationActionType, ogImageUrl, outboundChannel, permissionPresetRules, resolveAccessCatalog, resolveAgentMcpUrl, resolveConnectMcpUrl, resolveFulfillmentFlowStep, resolveOrderStatusDisplay, resolveTeamCurrency, resolveWarpText, returnStatusValues, returnUpdateStatusValues, sanitizeAlphanumeric, sanitizeNumeric, slugifyMcpSegment, teamCategories, toCurrencyDisplay, toHexEncodedNonce, toNameInitials, toNftId, toPreviewText, userPermissionValues, userRoleValues, validateImageDimensions, validationMessageFor, withRetry };