@joai/core 0.2.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.
@@ -0,0 +1,2458 @@
1
+ import { Warp, WarpActionInput, WarpBrandUrls, WarpChainInfo, WarpChainName, WarpLocale, WarpSecret, WarpWalletProvider } from "@joai/warps";
2
+
3
+ //#region src/auth/types.d.ts
4
+ type SocialAuthProvider = 'github' | 'apple' | 'google' | 'x' | 'telegram' | 'slack';
5
+ //#endregion
6
+ //#region src/config/types.d.ts
7
+ type AppEnv = 'mainnet' | 'testnet' | 'devnet' | 'local';
8
+ //#endregion
9
+ //#region src/config/urls.d.ts
10
+ declare const getApiBaseUrl: (env: AppEnv) => string;
11
+ declare const getCortexBaseUrl: (env: AppEnv) => "http://localhost:3010" | "https://devnet-cortex.joai.ai" | "https://testnet-cortex.joai.ai" | "https://cortex.joai.ai";
12
+ declare const getAppBaseUrl: (env: AppEnv) => "http://app.joai--api.test:3004" | "https://devnet.joai.ai" | "https://testnet.joai.ai" | "https://joai.ai";
13
+ declare const getMcpServerAgentUrl: (env: AppEnv, agent: string) => string;
14
+ //#endregion
15
+ //#region src/config/constants.d.ts
16
+ declare const JoaiUrls: {
17
+ readonly TelegramGroup: "https://telegram.joai.ai";
18
+ readonly Twitter: "https://x.com/JoAiAgents";
19
+ readonly Reddit: "https://www.reddit.com/r/JoAi/";
20
+ readonly GitHub: "https://github.com/JoAiHQ";
21
+ readonly LinkedIn: "https://www.linkedin.com/company/joai";
22
+ readonly Docs: "https://docs.joai.ai";
23
+ readonly DocsApi: "https://docs.joai.ai/api";
24
+ readonly DocsWebhooks: "https://docs.joai.ai/webhooks";
25
+ readonly AppStore: "https://apps.apple.com/app/joai/id6741204807";
26
+ readonly PlayStore: "https://play.google.com/store/apps/details?id=ai.joai.app";
27
+ };
28
+ //#endregion
29
+ //#region src/http/types.d.ts
30
+ interface IHttpService {
31
+ readonly baseUrl: string;
32
+ readonly authToken: string | null;
33
+ onNetworkError: (error: Error) => void;
34
+ onUnauthorized: (response: IAppResponse<any>) => void;
35
+ onSuccessfulResponse: (response: IAppResponse<any>) => void;
36
+ onMaintenanceMode: (response: IAppResponse<any>) => void;
37
+ get: <T>(url: string, options?: IRequestOptions) => Promise<IAppResponse<T>>;
38
+ post: <T>(url: string, data?: any, options?: IRequestOptions) => Promise<IAppResponse<T>>;
39
+ put: <T>(url: string, data?: any, options?: IRequestOptions) => Promise<IAppResponse<T>>;
40
+ delete: <T>(url: string, options?: IRequestOptions) => Promise<IAppResponse<T>>;
41
+ }
42
+ interface IAppResponse<T> {
43
+ data: T;
44
+ meta?: any;
45
+ body: any;
46
+ errors: any;
47
+ ok: boolean;
48
+ paymentRequired: boolean;
49
+ noContent: boolean;
50
+ original: Response;
51
+ }
52
+ interface IRequestOptions {
53
+ isJson?: boolean;
54
+ headers?: {
55
+ [name: string]: string;
56
+ };
57
+ }
58
+ //#endregion
59
+ //#region src/http/service.d.ts
60
+ declare class HttpService implements IHttpService {
61
+ readonly baseUrl: string;
62
+ readonly authToken: string | null;
63
+ private readonly headers;
64
+ private readonly fetchFn;
65
+ onNetworkError: (error: Error) => void;
66
+ onUnauthorized: (response: IAppResponse<any>) => void;
67
+ onSuccessfulResponse: (response: IAppResponse<any>) => void;
68
+ onMaintenanceMode: (response: IAppResponse<any>) => void;
69
+ onTooManyRequests: (response: IAppResponse<any>) => void;
70
+ constructor(baseUrl: string, cookies?: string, authToken?: string | null, options?: {
71
+ refererUrl?: string;
72
+ customFetch?: typeof globalThis.fetch;
73
+ headers?: Record<string, string>;
74
+ });
75
+ get: <T>(url: string, options?: IRequestOptions) => Promise<IAppResponse<T>>;
76
+ post: <T>(url: string, data?: any, options?: IRequestOptions) => Promise<IAppResponse<T>>;
77
+ put: <T>(url: string, data?: any, options?: IRequestOptions) => Promise<IAppResponse<T>>;
78
+ delete: <T>(url: string, options?: IRequestOptions) => Promise<IAppResponse<T>>;
79
+ private getCsrfToken;
80
+ private request;
81
+ private refreshCsrfToken;
82
+ private convertResponse;
83
+ private getRequestInfo;
84
+ }
85
+ //#endregion
86
+ //#region src/voice/types.d.ts
87
+ type TranscriptionCorrection = {
88
+ wrong: string;
89
+ correct: string;
90
+ };
91
+ //#endregion
92
+ //#region src/ingestion/types.d.ts
93
+ type IngestionSourceType = 'note' | 'meeting' | 'article' | 'email' | 'chat' | 'post' | 'webhook';
94
+ type IngestionStatus = 'pending' | 'processing' | 'completed' | 'failed' | 'dead_lettered';
95
+ type AppIngestion = {
96
+ id: string;
97
+ shareToken: string | null;
98
+ sourceUrl: string | null;
99
+ viewCount: number;
100
+ signupCount: number;
101
+ status: IngestionStatus;
102
+ sourceType: IngestionSourceType | null;
103
+ sourceProvider: string | null;
104
+ title: string | null;
105
+ name: string | null;
106
+ summary: string | null;
107
+ hook: string | null;
108
+ primitivesCreated: Record<string, number>;
109
+ failureReason: string | null;
110
+ lastError: string | null;
111
+ processedAt: string | null;
112
+ createdAt: string;
113
+ };
114
+ //#endregion
115
+ //#region src/character/types.d.ts
116
+ type Character = {
117
+ id: string;
118
+ name: string;
119
+ system: string;
120
+ bio: string;
121
+ };
122
+ //#endregion
123
+ //#region src/blueprint/types.d.ts
124
+ type BlueprintTeam = {
125
+ slug: string;
126
+ name: string;
127
+ logo: string | null;
128
+ };
129
+ type Blueprint = {
130
+ slug: string;
131
+ team: BlueprintTeam;
132
+ name: string;
133
+ description: string | null;
134
+ avatar: string | null;
135
+ settings: BlueprintSettings;
136
+ verified: boolean;
137
+ public: boolean;
138
+ createdAt: string;
139
+ locales: WarpLocale[];
140
+ price: number | null;
141
+ purchased: boolean;
142
+ };
143
+ type BlueprintSettings = {
144
+ wallets: WarpChainName[];
145
+ character: Character | null;
146
+ tasks: BlueprintTask[];
147
+ shortcuts: BlueprintShortcut[];
148
+ 'messages.initial': string | null;
149
+ 'messages.general': string[];
150
+ onboarding: BlueprintOnboardingStep[];
151
+ redirect: BlueprintRedirect;
152
+ };
153
+ type BlueprintOnboardingStep = 'wallet' | 'fund';
154
+ type BlueprintRedirect = 'interact' | null;
155
+ type BlueprintTask = {
156
+ warp: string;
157
+ cronExpression: string;
158
+ active: boolean;
159
+ };
160
+ type BlueprintShortcut = {
161
+ name: string;
162
+ description: string | null;
163
+ warp: string;
164
+ chat: boolean;
165
+ };
166
+ //#endregion
167
+ //#region src/helpers/string.d.ts
168
+ declare const sanitizeAlphanumeric: (val: string) => string;
169
+ declare const sanitizeNumeric: (val: string) => string;
170
+ declare const toNameInitials: (name: string) => string;
171
+ declare const toPreviewText: (text: string, maxChars?: number) => string;
172
+ //#endregion
173
+ //#region src/helpers/number.d.ts
174
+ declare const abbreviateNumber: (val: number) => string | number;
175
+ declare const toHexEncodedNonce: (nonce: number) => string;
176
+ declare const toNftId: (collection: string, nonce: number) => string;
177
+ //#endregion
178
+ //#region src/helpers/file.d.ts
179
+ declare const isFileFormatImage: (filename: string | null) => boolean;
180
+ declare const isFileFormatVideo: (filename: string | null) => boolean;
181
+ declare const isFileFormatAudio: (filename: string | null) => boolean;
182
+ //#endregion
183
+ //#region src/helpers/async.d.ts
184
+ declare const withRetry: <T>(fn: () => Promise<T>, validate: (result: T) => boolean, {
185
+ maxRetries,
186
+ retryDelay
187
+ }?: {
188
+ maxRetries?: number | undefined;
189
+ retryDelay?: number | undefined;
190
+ }) => Promise<T>;
191
+ //#endregion
192
+ //#region src/helpers/asset.d.ts
193
+ declare const getAssetAppLogoUrl: (name: string) => string;
194
+ declare const getAssetChainLogoUrl: (name: string) => string;
195
+ declare const getAssetTokenLogoUrl: (name: string) => string;
196
+ declare const getAssetWalletLogoUrl: (name: string) => string;
197
+ declare const getAssetPartnerLogoUrl: (name: string) => string;
198
+ //#endregion
199
+ //#region src/media/types.d.ts
200
+ type AppFileType = 'abi' | 'pdf' | 'image' | 'video' | 'json';
201
+ type AppFile = {
202
+ type: AppFileType;
203
+ original: File;
204
+ };
205
+ type MediaLibraryAttributes = {
206
+ uuid: string;
207
+ order: number;
208
+ name: string;
209
+ custom_properties: {
210
+ [key: string]: any;
211
+ };
212
+ preview_url: null | string;
213
+ original_url: null | string;
214
+ extension?: string;
215
+ size?: number;
216
+ };
217
+ type MediaLibraryItems = {
218
+ [uuid: string]: MediaLibraryAttributes;
219
+ };
220
+ 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';
221
+ type Media = {
222
+ id: string;
223
+ name: string;
224
+ mime: MediaMime;
225
+ url: string;
226
+ library: MediaLibraryAttributes;
227
+ };
228
+ //#endregion
229
+ //#region src/integration/types.d.ts
230
+ type IntegrationType = 'none' | 'webhook' | 'api-token' | 'telegram' | 'slack' | 'whatsapp' | 'twilio' | 'n8n' | 'ai-nexus' | 'apple-health' | 'mcp' | 'x' | 'email' | 'calendar' | 'embed' | 'discord' | 'github' | 'sentry' | 'readwise';
231
+ type IntegrationDetails = {
232
+ type: IntegrationType;
233
+ name: string;
234
+ description?: string;
235
+ logoUrl?: string;
236
+ logoUrlDark?: string;
237
+ slug?: string;
238
+ category?: string;
239
+ [key: string]: unknown;
240
+ };
241
+ type Integration = {
242
+ id: string;
243
+ type: IntegrationType;
244
+ name: string;
245
+ active: boolean;
246
+ createdAt: string;
247
+ details?: IntegrationDetails;
248
+ };
249
+ type SocialPlatform = 'telegram' | 'slack' | 'whatsapp' | 'twilio' | 'discord' | 'github';
250
+ type SocialBot = {
251
+ name: string;
252
+ createdAt: string;
253
+ phoneNumberId?: string;
254
+ phoneNumber?: string;
255
+ applicationId?: string;
256
+ appId?: string;
257
+ installationId?: string;
258
+ };
259
+ type XIntegrationStatus = {
260
+ enabled: boolean;
261
+ integrationId: string | null;
262
+ xAccountLinked: boolean;
263
+ currentAgentName: string | null;
264
+ };
265
+ type EmbedStatus = {
266
+ integrationId: string;
267
+ agentName: string;
268
+ agentAvatar: string | null;
269
+ active: boolean;
270
+ allowedDomains: string[];
271
+ };
272
+ type CalendarProvider = 'google' | 'apple';
273
+ type CalendarStatus = {
274
+ connected: boolean;
275
+ provider?: CalendarProvider;
276
+ accountEmail?: string;
277
+ lastSynced?: string;
278
+ tokenHealthy?: boolean;
279
+ upcomingEvents?: {
280
+ title: string;
281
+ startAt: string;
282
+ endAt: string;
283
+ allDay: boolean;
284
+ }[];
285
+ };
286
+ //#endregion
287
+ //#region src/room/types.d.ts
288
+ type RoomId = string;
289
+ type RoomKind = 'default' | 'phone' | 'meeting';
290
+ type Room = {
291
+ id: string;
292
+ name: string;
293
+ description: string | null;
294
+ public: boolean;
295
+ default: boolean;
296
+ kind?: RoomKind | null;
297
+ archivedAt?: string | null;
298
+ secKey: string | null;
299
+ createdAt: string | null;
300
+ agent: AgentSimple;
301
+ integration: Integration | null;
302
+ };
303
+ //#endregion
304
+ //#region src/wallet/types.d.ts
305
+ type Wallet = {
306
+ chain: WarpChainName;
307
+ active: boolean;
308
+ provider: WarpWalletProvider;
309
+ address: string;
310
+ privateKey?: string;
311
+ mnemonic?: string;
312
+ };
313
+ type WalletList = Partial<Record<WarpChainName, {
314
+ provider: WarpWalletProvider;
315
+ address?: string;
316
+ }>>;
317
+ //#endregion
318
+ //#region src/agent/types.d.ts
319
+ type AgentMpp = {
320
+ price: number;
321
+ currency?: string;
322
+ chain?: string;
323
+ };
324
+ type AgentCharacter = {
325
+ name: string | null;
326
+ system: string | null;
327
+ bio: string | null;
328
+ };
329
+ type Agent = {
330
+ uuid: string;
331
+ name: string;
332
+ description: string;
333
+ avatar: string;
334
+ wallets: Wallet[];
335
+ settings: AgentSettings;
336
+ mpp?: AgentMpp | null;
337
+ character?: AgentCharacter | null;
338
+ room: Room;
339
+ role: string | null;
340
+ blueprint: Blueprint | null;
341
+ team: string;
342
+ };
343
+ type AgentPrivate = {
344
+ uuid: string;
345
+ name: string;
346
+ description: string;
347
+ avatar: string;
348
+ wallets: Wallet[];
349
+ settings: AgentSettings;
350
+ mpp?: AgentMpp | null;
351
+ password: string | null;
352
+ authKey: string | null;
353
+ secKey: string;
354
+ emailAddress: string | null;
355
+ phoneNumber: string | null;
356
+ room: Room;
357
+ role: string | null;
358
+ blueprint: Blueprint | null;
359
+ justCreated?: boolean;
360
+ team: string;
361
+ };
362
+ type AgentActionHistoryEntry = {
363
+ id: string;
364
+ action: string | null;
365
+ outcome: 'succeeded' | 'failed';
366
+ outcomeDetail: string | null;
367
+ warpIdentifier: string | null;
368
+ meta: Record<string, unknown> | null;
369
+ createdAt: string | null;
370
+ };
371
+ type AgentSimple = {
372
+ uuid: string;
373
+ name: string;
374
+ };
375
+ type AgentWalletMode = 'local' | 'cloud' | 'external';
376
+ type AgentEngine = 'cortex' | 'openclaw';
377
+ type AgentGender = 'male' | 'female' | 'neutral';
378
+ type AgentSettings = {
379
+ auto: boolean;
380
+ 'model.url': string;
381
+ 'voice.output': boolean;
382
+ 'voice.id': string;
383
+ 'agent.gender'?: AgentGender;
384
+ 'proactivity.enabled': boolean;
385
+ 'proactivity.quietHoursStart'?: number;
386
+ 'proactivity.quietHoursEnd'?: number;
387
+ 'proactivity.maxMessagesPerDay'?: number;
388
+ 'proactivity.timezone'?: string;
389
+ 'proactivity.blockedBehaviors'?: string[];
390
+ engine: AgentEngine;
391
+ 'training.url'?: string | null;
392
+ 'training.status'?: 'idle' | 'training' | 'completed' | 'failed' | null;
393
+ 'training.recrawlInterval'?: number | null;
394
+ };
395
+ type LocalAgentWallet = {
396
+ provider: WarpWalletProvider;
397
+ address: string;
398
+ mnemonic?: string | null;
399
+ privateKey?: string | null;
400
+ };
401
+ type AgentExecuteHandler = (prompt: string, options?: AgentExecuteOptions) => void;
402
+ type AgentExecuteOptions = {
403
+ audio?: File;
404
+ sender?: string;
405
+ media?: Media[];
406
+ ghost?: boolean;
407
+ context?: Record<string, unknown>;
408
+ };
409
+ //#endregion
410
+ //#region src/alert/types.d.ts
411
+ type Alert = {
412
+ id: string;
413
+ chain: string;
414
+ warp: string;
415
+ key: string;
416
+ event: string;
417
+ contract: string;
418
+ active: boolean;
419
+ createdAt: string;
420
+ agent: Agent | null;
421
+ };
422
+ //#endregion
423
+ //#region src/api/types.d.ts
424
+ type ApiToken = {
425
+ id: number;
426
+ name: string;
427
+ createdAt: string;
428
+ token?: string;
429
+ };
430
+ //#endregion
431
+ //#region src/flow/types.d.ts
432
+ type FlowCategory = 'none' | 'defi' | 'nft' | 'social' | 'devtools' | 'productivity' | 'trading' | 'portfolio';
433
+ type FlowStatus = 'draft' | 'published';
434
+ type Flow = {
435
+ slug: string;
436
+ team: Team;
437
+ name: string;
438
+ description: string | null;
439
+ category: FlowCategory;
440
+ status: FlowStatus;
441
+ publishedAt: string | null;
442
+ createdAt: string;
443
+ updatedAt: string;
444
+ steps: FlowStep[];
445
+ locales: WarpLocale[];
446
+ price: number | null;
447
+ purchased: boolean;
448
+ };
449
+ type FlowStep = {
450
+ stepId: string;
451
+ order: number;
452
+ type: 'warp' | 'condition' | 'delay';
453
+ warpIdentifier: string | null;
454
+ dependsOn: string[] | null;
455
+ inputMappings: FlowInputMapping[] | null;
456
+ staticInputs: Record<string, any> | null;
457
+ condition: Record<string, any> | null;
458
+ };
459
+ type FlowInputMapping = {
460
+ sourceStepId: string;
461
+ sourceKey: string;
462
+ targetInput: string;
463
+ transform?: string;
464
+ };
465
+ //#endregion
466
+ //#region src/user/types.d.ts
467
+ type UserRole = 'owner' | 'member';
468
+ type UserMode = 'simple' | 'advanced';
469
+ type UserInterest = 'payments' | 'health' | 'content' | 'business' | 'finance' | 'research' | 'shopping' | 'web3' | 'developer' | 'fitness' | 'ecommerce';
470
+ type UserSettings = {
471
+ mode: UserMode;
472
+ interests: UserInterest[];
473
+ hotkeys?: Record<string, string> | null;
474
+ payoutAddress?: string | null;
475
+ payoutChain?: string | null;
476
+ voicePlaybackMode?: 'voice-control' | 'chat' | 'both' | null;
477
+ };
478
+ type UserPrivate = {
479
+ id: string;
480
+ name: string;
481
+ email: string;
482
+ hasVerifiedEmail: boolean;
483
+ balance: number;
484
+ wallets: Wallet[];
485
+ hasProfileImage: boolean;
486
+ profileImageUrl: string;
487
+ country: string | null;
488
+ timezone: string | null;
489
+ socials: UserSocialAccount[];
490
+ justCreated: boolean;
491
+ affiliate: Affiliate | null;
492
+ billingAddress: BillingAddress | null;
493
+ betaRestricted: boolean;
494
+ settings: UserSettings;
495
+ };
496
+ type Earning = {
497
+ id: number;
498
+ amount: number;
499
+ type: string;
500
+ description: string | null;
501
+ createdAt: string;
502
+ };
503
+ type PayoutEntry = {
504
+ id: number;
505
+ amount: number;
506
+ status: string;
507
+ tx: string | null;
508
+ failureReason: string | null;
509
+ processedAt: string | null;
510
+ createdAt: string;
511
+ };
512
+ type UserSocialAccount = {
513
+ platform: string;
514
+ id: string;
515
+ username: string;
516
+ profileUrl: string;
517
+ };
518
+ type User = {
519
+ id: string;
520
+ name: string;
521
+ address: string;
522
+ balance: number | null;
523
+ hasProfileImage: boolean;
524
+ profileImageUrl: string;
525
+ swarmRole: string | null;
526
+ };
527
+ type Affiliate = {
528
+ name: string;
529
+ tier: AffiliateTier;
530
+ balance: number;
531
+ code: string;
532
+ payoutAddress: string;
533
+ application: string;
534
+ status: AffiliateStatus;
535
+ createdAt: string;
536
+ inviteLinkUrl: string;
537
+ settings: {
538
+ minPayoutBalance: number;
539
+ hasRequestedGroupInvite: boolean;
540
+ commissionExtraPercent: number;
541
+ };
542
+ clicks: number;
543
+ user: User | null;
544
+ };
545
+ type AffiliateTierName = 'bronze' | 'silver' | 'gold';
546
+ type AffiliateTier = {
547
+ name: AffiliateTierName;
548
+ displayName: string;
549
+ commission: number;
550
+ threshold: number;
551
+ };
552
+ type AffiliateStatus = 'pending' | 'approved' | 'rejected' | 'suspended';
553
+ //#endregion
554
+ //#region src/team/types.d.ts
555
+ type TeamMember = User & {
556
+ role: UserRole | null;
557
+ roleAcceptedAt: string | null;
558
+ };
559
+ type Team = {
560
+ slug: string;
561
+ name: string;
562
+ personal: boolean;
563
+ description: string | null;
564
+ locale: WarpLocale;
565
+ timezone: string;
566
+ logo: string | null;
567
+ public: boolean;
568
+ createdAt: string;
569
+ blueprints?: Blueprint[];
570
+ flows?: Flow[];
571
+ };
572
+ type TeamPrivate = {
573
+ slug: string;
574
+ name: string;
575
+ personal: boolean;
576
+ description: string | null;
577
+ balance: number;
578
+ locale: WarpLocale;
579
+ timezone: string;
580
+ logo: string | null;
581
+ subscription: {
582
+ premium: boolean;
583
+ lifetime: boolean;
584
+ plan: Plan;
585
+ provider: PaymentProvider | null;
586
+ payer: User | null;
587
+ gracePeriod: boolean;
588
+ autoRenew: boolean;
589
+ uncapped: boolean;
590
+ cycleEndsAt: string | null;
591
+ resetsAt: string | null;
592
+ startedAt: string | null;
593
+ renewedAt: string | null;
594
+ expiresAt: string | null;
595
+ };
596
+ settings: TeamSettings;
597
+ createdAt: string;
598
+ justCreated: boolean;
599
+ };
600
+ type ByokProviderConfig = {
601
+ apiKey?: string;
602
+ accessKey?: string;
603
+ secretKey?: string;
604
+ };
605
+ type ByokProviders = {
606
+ openai?: ByokProviderConfig;
607
+ anthropic?: ByokProviderConfig;
608
+ google?: ByokProviderConfig;
609
+ xai?: ByokProviderConfig;
610
+ klingai?: ByokProviderConfig;
611
+ };
612
+ type ByokProviderName = keyof ByokProviders;
613
+ type TeamSettings = {
614
+ 'extra.messages': number;
615
+ 'limit.spending': number | null;
616
+ 'extra.usage.enabled'?: boolean;
617
+ 'auto.reload.enabled'?: boolean;
618
+ 'auto.reload.threshold_cents'?: number | null;
619
+ 'auto.reload.amount_cents'?: number | null;
620
+ 'llm.provider'?: 'openai' | 'anthropic' | 'google' | 'xai' | null;
621
+ 'byok.providers'?: ByokProviders | null;
622
+ 'board.auto.enabled'?: boolean;
623
+ };
624
+ type TeamUsage = Partial<Record<PlanFeature, TeamFeatureUsage>> & {
625
+ extraUsageEnabled?: boolean;
626
+ currentSpending?: number;
627
+ walletCloudUsed?: number;
628
+ walletCloudPremiumUsed?: number;
629
+ spendingLimit?: number | null;
630
+ cycleEndsAt?: string | null;
631
+ resetsAt?: string | null;
632
+ autoReload?: {
633
+ enabled: boolean;
634
+ thresholdCents: number | null;
635
+ amountCents: number | null;
636
+ };
637
+ };
638
+ type TeamFeatureUsage = {
639
+ current: number;
640
+ limit: number;
641
+ reached?: boolean;
642
+ };
643
+ type AiCostEntry = {
644
+ id: number;
645
+ model: string | null;
646
+ agent: {
647
+ name: string;
648
+ uuid: string;
649
+ } | null;
650
+ inputTokens: number;
651
+ outputTokens: number;
652
+ totalTokens: number;
653
+ costCents: number | null;
654
+ createdAt: string;
655
+ };
656
+ type AiCostsSummary = {
657
+ totalCostCents: number;
658
+ totalTokens: number;
659
+ totalRequests: number;
660
+ byModel: Record<string, {
661
+ costCents: number;
662
+ tokens: number;
663
+ count: number;
664
+ }>;
665
+ };
666
+ type AiCostsResponse = {
667
+ summary: AiCostsSummary;
668
+ usages: {
669
+ data: AiCostEntry[];
670
+ pagination: {
671
+ currentPage: number;
672
+ lastPage: number;
673
+ perPage: number;
674
+ total: number;
675
+ };
676
+ };
677
+ };
678
+ //#endregion
679
+ //#region src/billing/types.d.ts
680
+ type OrderStatus = 'pending' | 'completed' | 'delivered' | 'canceled';
681
+ type PaymentProvider = 'xmoney' | 'lemonsqueezy' | 'stripe' | 'apple' | 'google' | 'blockchain' | 'offline';
682
+ type PlanFeature = 'general' | 'messages' | 'team-members' | 'teams' | 'support' | 'agent' | 'auto-mode' | 'cloud-sync' | 'wallet-cloud' | 'wallet-cloud-premium' | 'wallet-multi' | 'cards' | 'alerts' | 'advanced-commands' | 'tasks' | 'integrations' | 'message-history' | 'memory' | 'documents' | 'voice-input' | 'voice-live' | 'image-gen' | 'video-gen' | 'openclaw' | 'skills' | 'items' | 'context-length' | 'workspace-storage' | 'ingestions' | 'agent-email' | 'streak-freezes' | 'byok' | 'mcp' | 'phone-call' | 'phone-number';
683
+ type PlanBenefit = {
684
+ label: Partial<Record<WarpLocale, string>>;
685
+ tip?: Partial<Record<WarpLocale, string>>;
686
+ secondary?: boolean;
687
+ };
688
+ type PlanExtra = {
689
+ amount: number;
690
+ price: number;
691
+ unitName: string;
692
+ };
693
+ type BillingAddress = {
694
+ firstName: string;
695
+ lastName: string;
696
+ addressOne: string | null;
697
+ city: string | null;
698
+ state: string | null;
699
+ zipCode: string | null;
700
+ country: string;
701
+ vatId: string | null;
702
+ isEU: boolean;
703
+ };
704
+ type PlanInterval = 'weekly' | 'monthly' | 'yearly' | 'lifetime';
705
+ type Plan = {
706
+ sku: string;
707
+ name: string;
708
+ description: Partial<Record<WarpLocale, string>>;
709
+ price: number;
710
+ priceDisplay: number;
711
+ interval: PlanInterval;
712
+ intervalDisplay: PlanInterval;
713
+ features: PlanFeature[];
714
+ benefits: Record<PlanFeature, PlanBenefit>;
715
+ limits: Record<PlanFeature, string>;
716
+ extras: Record<PlanFeature, PlanExtra>;
717
+ meta: {
718
+ appleProductId: string | null;
719
+ googleProductId: string | null;
720
+ trialPeriodDays: number;
721
+ isLifetime: boolean;
722
+ };
723
+ nativePriceStr?: string | null;
724
+ };
725
+ type TierName = string;
726
+ type Tier = {
727
+ name: TierName;
728
+ id: string;
729
+ href: string;
730
+ free: boolean;
731
+ price: string;
732
+ priceSuffix?: string;
733
+ description: string;
734
+ benefits: Record<PlanFeature, PlanBenefit>;
735
+ extras: Record<PlanFeature, PlanExtra>;
736
+ mostPopular: boolean;
737
+ mostRecommended: boolean;
738
+ cta?: string;
739
+ plan: Plan;
740
+ };
741
+ type TierFeature = {
742
+ name: string;
743
+ tiers: Record<TierName, boolean | string>;
744
+ };
745
+ type ProductRating = {
746
+ average: number;
747
+ count: number;
748
+ };
749
+ type ProductPieces = {
750
+ amount: number;
751
+ name: string;
752
+ };
753
+ type ProductDiscount = {
754
+ original: number;
755
+ percent: number;
756
+ };
757
+ type ProductVariation = {
758
+ sku: string;
759
+ name: string;
760
+ description?: Partial<Record<WarpLocale, string>>;
761
+ price: number;
762
+ badge?: string;
763
+ quantity?: number;
764
+ media?: Media[];
765
+ preorder: boolean;
766
+ availableAt?: string;
767
+ pieces?: ProductPieces;
768
+ discount?: ProductDiscount;
769
+ product?: Product;
770
+ meta?: {
771
+ appleProductId: string | null;
772
+ googleProductId: string | null;
773
+ };
774
+ nativePriceStr?: string | null;
775
+ };
776
+ type Product = {
777
+ slug: string;
778
+ name: string;
779
+ description?: Partial<Record<WarpLocale, string>>;
780
+ variations: ProductVariation[];
781
+ rating: ProductRating;
782
+ };
783
+ type Order = {
784
+ id: string;
785
+ total: number;
786
+ provider: PaymentProvider;
787
+ status: OrderStatus;
788
+ invoiceUrl: string;
789
+ createdAt: string;
790
+ productVariations: ProductVariation[];
791
+ plan: Plan | null;
792
+ user: UserPrivate | null;
793
+ team: TeamPrivate | null;
794
+ };
795
+ type PurchaseResult = {
796
+ order_id?: string;
797
+ message?: string;
798
+ subscription_active?: boolean;
799
+ };
800
+ type PurchaseOptions = {
801
+ forceProvider?: PaymentProvider;
802
+ billingAddress?: BillingAddress | null;
803
+ meta?: Record<string, string>;
804
+ };
805
+ //#endregion
806
+ //#region src/budget/types.d.ts
807
+ type Budget = {
808
+ id: number;
809
+ chain: string;
810
+ owner: string;
811
+ agent: string;
812
+ tokenIdentifier: string;
813
+ tokenDecimals: number;
814
+ balance: string;
815
+ totalDeposited: string;
816
+ totalSpent: string;
817
+ perTxLimit: string;
818
+ periodLimit: string;
819
+ periodType: number;
820
+ periodSpent: string;
821
+ periodStart: number;
822
+ expiresAt: number;
823
+ paused: boolean;
824
+ };
825
+ declare const PeriodTypeLabels: Record<number, string>;
826
+ declare const PeriodTypeOptions: {
827
+ value: number;
828
+ label: string;
829
+ }[];
830
+ //#endregion
831
+ //#region src/card/types.d.ts
832
+ type Card = {
833
+ id: string;
834
+ warp: string;
835
+ inputs: string[];
836
+ order: number;
837
+ active: boolean;
838
+ createdAt: string;
839
+ };
840
+ //#endregion
841
+ //#region src/challenge/types.d.ts
842
+ type Challenge = {
843
+ id: number;
844
+ title: string;
845
+ description: string;
846
+ target: number;
847
+ progress: number;
848
+ progressPercent: number;
849
+ completed: boolean;
850
+ xpReward: number;
851
+ endsAt?: string;
852
+ };
853
+ type Challenges = {
854
+ daily: Challenge[];
855
+ weekly: Challenge[];
856
+ };
857
+ //#endregion
858
+ //#region src/changelog/types.d.ts
859
+ type ChangelogEntry = {
860
+ id: number;
861
+ version?: string;
862
+ type: 'feature' | 'fix' | 'improvement' | 'update';
863
+ title: string;
864
+ description?: string;
865
+ createdAt: string;
866
+ };
867
+ //#endregion
868
+ //#region src/chat-reactions/types.d.ts
869
+ /** Emoji → array of user hashids who reacted */
870
+ type Reactions = Record<string, string[]>;
871
+ //#endregion
872
+ //#region src/contact/types.d.ts
873
+ type Contact = {
874
+ id: string;
875
+ name: string;
876
+ wallets: Wallet[];
877
+ email: string | null;
878
+ phone: string | null;
879
+ company: string | null;
880
+ title: string | null;
881
+ birthday: string | null;
882
+ website: string | null;
883
+ socials: Record<string, string> | null;
884
+ notes: string | null;
885
+ tags: string[] | null;
886
+ };
887
+ type ContactActivity = {
888
+ id: string;
889
+ type: 'note' | 'call' | 'meeting' | 'email' | 'task' | 'update' | 'custom';
890
+ description: string | null;
891
+ meta: Record<string, any> | null;
892
+ agentName: string | null;
893
+ createdAt: string;
894
+ };
895
+ type ContactFormData = {
896
+ name?: string;
897
+ email?: string | null;
898
+ phone?: string | null;
899
+ company?: string | null;
900
+ title?: string | null;
901
+ birthday?: string | null;
902
+ website?: string | null;
903
+ socials?: Record<string, string> | null;
904
+ notes?: string | null;
905
+ tags?: string[] | null;
906
+ };
907
+ //#endregion
908
+ //#region src/contract/types.d.ts
909
+ type Contract = {
910
+ id: string;
911
+ uuid: string;
912
+ slug: string;
913
+ agentId: string;
914
+ name: string;
915
+ description: string | null;
916
+ chain: WarpChainName;
917
+ category: ContractCategoryName;
918
+ public: boolean;
919
+ addresses: Record<string, string | null>;
920
+ verified: boolean;
921
+ dockerImage: string | null;
922
+ verificationTaskId: Record<string, string> | null;
923
+ abiUrl: string | null;
924
+ initArgs: Record<string, string[]>;
925
+ upgradeArgs: Record<string, string[]>;
926
+ codeMetadata: string | null;
927
+ errors: Record<string, string> | null;
928
+ entity: ContractEntity | null;
929
+ versionsCount: number;
930
+ createdAt: string;
931
+ updatedAt: string;
932
+ };
933
+ type ContractVersion = {
934
+ id: number;
935
+ status: string;
936
+ env: string;
937
+ type: 'deploy' | 'upgrade';
938
+ txHash: string | null;
939
+ codeHash: string | null;
940
+ version: number | null;
941
+ duration: number | null;
942
+ hasCode: boolean;
943
+ createdAt: string;
944
+ };
945
+ type ContractEntity = {
946
+ auto: boolean;
947
+ source: Record<string, string> | null;
948
+ };
949
+ type ContractCodeMetadata = {
950
+ isUpgradeable: boolean;
951
+ isReadable: boolean;
952
+ isPayable: boolean;
953
+ isPayableBySmartContract: boolean;
954
+ };
955
+ declare const DefaultCodeMetadata: ContractCodeMetadata;
956
+ type ContractCategoryName = 'default' | 'nft' | 'marketplace' | 'staking' | 'governance' | 'defi' | 'game' | 'social' | 'identity' | 'infra';
957
+ declare const ContractCategoryDisplayNames: Record<ContractCategoryName, string>;
958
+ type ContractOnNetwork = {
959
+ owner: string;
960
+ balance: bigint;
961
+ codeHash: string;
962
+ isUpgradeable: boolean;
963
+ isReadable: boolean;
964
+ isPayable: boolean;
965
+ isPayableBySmartContract: boolean;
966
+ developerReward: bigint;
967
+ };
968
+ //#endregion
969
+ //#region src/cortex/types.d.ts
970
+ type CortexExecuteOptions = {
971
+ context?: Record<string, unknown>;
972
+ ghost?: boolean;
973
+ };
974
+ type PersonaQuestionable = {
975
+ questionKey: string;
976
+ dimensionKey: string;
977
+ preamble: string | null;
978
+ questionText: string;
979
+ options: {
980
+ key: string;
981
+ label: string;
982
+ }[] | null;
983
+ skippable: boolean;
984
+ skipLabel: string | null;
985
+ answeredKey?: string | null;
986
+ answeredLabel?: string | null;
987
+ };
988
+ //#endregion
989
+ //#region src/desk/types.d.ts
990
+ type DeskItemRole = 'reference' | 'target';
991
+ type DeskItem = {
992
+ media: Media;
993
+ addedAt: number;
994
+ role: DeskItemRole;
995
+ };
996
+ type Desk = {
997
+ items: DeskItem[];
998
+ updatedAt: number;
999
+ };
1000
+ //#endregion
1001
+ //#region src/document/types.d.ts
1002
+ type Document = {
1003
+ id: string;
1004
+ name: string;
1005
+ content: string | null;
1006
+ documentUrl: string | null;
1007
+ createdAt: string;
1008
+ };
1009
+ //#endregion
1010
+ //#region src/experience/types.d.ts
1011
+ type Experience = {
1012
+ level: number;
1013
+ levelUpperLimit: number;
1014
+ levelProgressPercent: number;
1015
+ };
1016
+ type Achievement = {
1017
+ name: string;
1018
+ description: string;
1019
+ icon: string;
1020
+ earnedAt: string | null;
1021
+ };
1022
+ type RecentExperience = {
1023
+ slug: string;
1024
+ description: string;
1025
+ points: number;
1026
+ earnedAt: string;
1027
+ };
1028
+ type MilestoneType = 'messages' | 'streak' | 'hoursSaved' | 'warps';
1029
+ type Milestone = {
1030
+ type: MilestoneType;
1031
+ current: number;
1032
+ target: number;
1033
+ remaining: number;
1034
+ };
1035
+ type GamificationEventType = 'level.up' | 'achievement.unlocked' | 'milestone.reached' | 'challenge.completed' | 'experience.earned';
1036
+ //#endregion
1037
+ //#region src/goal/types.d.ts
1038
+ type GoalStatus = 'active' | 'paused' | 'completed' | 'archived';
1039
+ type GoalPriority = 'normal' | 'high' | 'critical';
1040
+ type Goal = {
1041
+ id: string;
1042
+ title: string;
1043
+ description: string | null;
1044
+ status: GoalStatus;
1045
+ priority: GoalPriority;
1046
+ progress: number;
1047
+ createdAt: string;
1048
+ updatedAt: string;
1049
+ };
1050
+ type GoalCreatePayload = {
1051
+ title: string;
1052
+ description?: string;
1053
+ priority?: GoalPriority;
1054
+ };
1055
+ //#endregion
1056
+ //#region src/hint/types.d.ts
1057
+ type HintPosition = 'top' | 'bottom' | 'left' | 'right';
1058
+ type HintOptions = {
1059
+ condition?: boolean;
1060
+ };
1061
+ //#endregion
1062
+ //#region src/inquiry/types.d.ts
1063
+ type Inquiry = {
1064
+ id: string;
1065
+ content: string;
1066
+ type: InquiryType;
1067
+ status: InquiryStatus;
1068
+ user: User;
1069
+ createdAt: string;
1070
+ updatedAt: string;
1071
+ };
1072
+ type InquiryType = 'general' | 'bug' | 'feature';
1073
+ type InquiryStatus = 'pending' | 'active' | 'closed';
1074
+ //#endregion
1075
+ //#region src/intelligence/types.d.ts
1076
+ type TranscriptionResponse = {
1077
+ text: string;
1078
+ language?: string;
1079
+ };
1080
+ //#endregion
1081
+ //#region src/intent/types.d.ts
1082
+ type Intent = {
1083
+ id: string;
1084
+ room: string;
1085
+ warp: string;
1086
+ inputs: string[];
1087
+ seenAt: string | null;
1088
+ createdAt: string;
1089
+ };
1090
+ //#endregion
1091
+ //#region src/item/types.d.ts
1092
+ type ItemStatus = 'backlog' | 'active' | 'review' | 'done' | 'archived';
1093
+ type ItemPriority = 'normal' | 'high' | 'critical';
1094
+ type ItemExecutionStatus = 'running' | 'completed' | 'failed' | 'requires_input' | 'blocked' | 'timeout';
1095
+ type Item = {
1096
+ id: string;
1097
+ title: string;
1098
+ description: string | null;
1099
+ status: ItemStatus;
1100
+ priority: ItemPriority;
1101
+ tags: string[];
1102
+ dueDate: string | null;
1103
+ source: string | null;
1104
+ goalId: string | null;
1105
+ order: number | null;
1106
+ assignedAgents: string[];
1107
+ executionStatus: ItemExecutionStatus | null;
1108
+ createdAt: string;
1109
+ updatedAt: string;
1110
+ };
1111
+ type ItemCreatePayload = {
1112
+ title: string;
1113
+ description?: string;
1114
+ priority?: ItemPriority;
1115
+ tags?: string[];
1116
+ dueDate?: string;
1117
+ goalId?: string;
1118
+ status?: ItemStatus;
1119
+ };
1120
+ //#endregion
1121
+ //#region src/marketing/types.d.ts
1122
+ type SubscriptionPlan = {
1123
+ name: string;
1124
+ price: number;
1125
+ features: string[];
1126
+ };
1127
+ //#endregion
1128
+ //#region src/marketing-demo/types.d.ts
1129
+ type DemoMessage = {
1130
+ content: string;
1131
+ contentKey?: string;
1132
+ byUser: boolean;
1133
+ delay: number;
1134
+ meta?: any;
1135
+ };
1136
+ type DemoFlow = {
1137
+ id: string;
1138
+ name: string;
1139
+ interests: UserInterest[];
1140
+ messages: DemoMessage[];
1141
+ };
1142
+ //#endregion
1143
+ //#region src/skill/types.d.ts
1144
+ declare const SkillType: {
1145
+ readonly Knowledge: "knowledge";
1146
+ readonly ContentTemplate: "content-template";
1147
+ readonly PersonalityClone: "personality-clone";
1148
+ readonly BrandKit: "brand-kit";
1149
+ readonly VideoTemplate: "video-template";
1150
+ readonly VisualKit: "visual-kit";
1151
+ };
1152
+ type SkillTypeValue = (typeof SkillType)[keyof typeof SkillType];
1153
+ declare const SkillMediaBindingRole: {
1154
+ readonly Subject: "subject";
1155
+ readonly Style: "style";
1156
+ readonly Logo: "logo";
1157
+ readonly Product: "product";
1158
+ readonly Motion: "motion";
1159
+ readonly FirstFrame: "first_frame";
1160
+ readonly LastFrame: "last_frame";
1161
+ };
1162
+ type SkillMediaBindingRoleValue = (typeof SkillMediaBindingRole)[keyof typeof SkillMediaBindingRole];
1163
+ declare const SkillScope: {
1164
+ readonly Agent: "agent";
1165
+ readonly Team: "team";
1166
+ };
1167
+ type SkillScopeValue = (typeof SkillScope)[keyof typeof SkillScope];
1168
+ type Skill = {
1169
+ id: string;
1170
+ name: string;
1171
+ description: string;
1172
+ content: string;
1173
+ meta: Record<string, unknown> | null;
1174
+ license: string | null;
1175
+ compatibility: string | null;
1176
+ allowedTools: string | null;
1177
+ source: string;
1178
+ sourcePath: string | null;
1179
+ scope?: SkillScopeValue;
1180
+ active: boolean;
1181
+ public: boolean;
1182
+ price: number | null;
1183
+ createdAt: string;
1184
+ media?: Media[];
1185
+ };
1186
+ //#endregion
1187
+ //#region src/warp/types.d.ts
1188
+ type WarpBackend = {
1189
+ hash: string;
1190
+ identifier: string;
1191
+ chain: WarpChainName | null;
1192
+ alias: string;
1193
+ name: string;
1194
+ title: string;
1195
+ description: string;
1196
+ preview: string | null;
1197
+ creator: string;
1198
+ status: WarpBackendStatus;
1199
+ active: boolean;
1200
+ category: WarpBackendCategory;
1201
+ featured: boolean;
1202
+ price?: number | null;
1203
+ primaryAddress: string | null;
1204
+ primaryFunc: string | null;
1205
+ locales: WarpLocale[];
1206
+ brand: BrandBackend | null;
1207
+ definition?: Record<string, any> | null;
1208
+ };
1209
+ type WarpBackendStatus = 'unverified' | 'verified' | 'blacklisted';
1210
+ type WarpBackendCategory = 'none';
1211
+ type BrandSourceConfig = {
1212
+ type: string;
1213
+ chain?: string;
1214
+ url?: string;
1215
+ contract?: string;
1216
+ endpoints?: string[];
1217
+ };
1218
+ type BrandBackend = {
1219
+ hash: string;
1220
+ slug: string;
1221
+ name: string;
1222
+ description: string;
1223
+ logo: string;
1224
+ colors: string;
1225
+ urls: WarpBrandUrls;
1226
+ locales: WarpLocale[];
1227
+ warps: WarpBackend[];
1228
+ isPrivate?: boolean;
1229
+ inviteCode?: string;
1230
+ source?: BrandSourceConfig | null;
1231
+ contract?: string;
1232
+ isContractBrand?: boolean;
1233
+ external?: {
1234
+ mcp?: string | null;
1235
+ };
1236
+ };
1237
+ type BrandSearchHit = {
1238
+ slug: string;
1239
+ hash: string;
1240
+ name: string;
1241
+ description: string;
1242
+ logo: string;
1243
+ colors: string;
1244
+ urls: string;
1245
+ };
1246
+ type WarpSearchHit = {
1247
+ hash: string;
1248
+ chain: WarpChainName | null;
1249
+ alias: string;
1250
+ name: string;
1251
+ title: string;
1252
+ description: string;
1253
+ preview: string | null;
1254
+ creator: string;
1255
+ status: WarpBackendStatus;
1256
+ active: boolean;
1257
+ featured: boolean;
1258
+ price?: number | null;
1259
+ brandSlug: string | null;
1260
+ brandName: string | null;
1261
+ brandLogo: string | Record<string, string> | null;
1262
+ };
1263
+ //#endregion
1264
+ //#region src/marketplace/types.d.ts
1265
+ type MarketplaceEntityType = 'skill' | 'flow' | 'blueprint' | 'agent';
1266
+ type PricingModel = 'free' | 'one-time' | 'per-run';
1267
+ type MarketplacePricing = {
1268
+ model: PricingModel;
1269
+ amount: string;
1270
+ currency: string;
1271
+ chain?: string;
1272
+ freeTier?: {
1273
+ runs?: number;
1274
+ trialDays?: number;
1275
+ } | null;
1276
+ };
1277
+ type MarketplaceListing = {
1278
+ entityType: MarketplaceEntityType;
1279
+ entityId: string;
1280
+ name: string;
1281
+ description: string | null;
1282
+ pricing: MarketplacePricing;
1283
+ seller: {
1284
+ team: string;
1285
+ name: string;
1286
+ wallet?: string | null;
1287
+ };
1288
+ };
1289
+ type MarketplaceAgent = {
1290
+ uuid: string;
1291
+ name: string;
1292
+ description: string | null;
1293
+ avatar: string | null;
1294
+ mpp: {
1295
+ price: string;
1296
+ currency: string;
1297
+ chain: string;
1298
+ } | null;
1299
+ wallets: {
1300
+ address: string;
1301
+ chain: string;
1302
+ }[];
1303
+ character: {
1304
+ name: string | null;
1305
+ bio: string | null;
1306
+ } | null;
1307
+ };
1308
+ type MarketplaceData = {
1309
+ blueprints: Blueprint[];
1310
+ skills: Skill[];
1311
+ flows: Flow[];
1312
+ creators: BrandBackend[];
1313
+ agents: MarketplaceAgent[];
1314
+ };
1315
+ type MarketplacePriceTier = {
1316
+ sku: string;
1317
+ priceCents: number;
1318
+ label: string;
1319
+ };
1320
+ type MarketplacePurchaseResult = {
1321
+ purchased: boolean;
1322
+ pricePaid: number;
1323
+ entityType: string;
1324
+ entityId: string;
1325
+ paymentMethod: string;
1326
+ };
1327
+ //#endregion
1328
+ //#region src/mcp/types.d.ts
1329
+ type McpToolCallStatus = 'pending' | 'success' | 'error';
1330
+ type McpToolCall = {
1331
+ id: string;
1332
+ toolName: string;
1333
+ serverName: string | null;
1334
+ status: McpToolCallStatus;
1335
+ durationMs: number | null;
1336
+ inputSummary: Record<string, unknown> | null;
1337
+ outputSummary: Record<string, unknown> | null;
1338
+ error: string | null;
1339
+ roomId: string | null;
1340
+ integrationId: string | null;
1341
+ agentUuid: string;
1342
+ createdAt: string;
1343
+ };
1344
+ type McpToolCallBroadcast = {
1345
+ id: string;
1346
+ teamSlug: string;
1347
+ agentUuid: string;
1348
+ roomId?: string;
1349
+ toolName: string;
1350
+ serverName?: string;
1351
+ status: McpToolCallStatus;
1352
+ durationMs?: number;
1353
+ error?: string;
1354
+ createdAt: string;
1355
+ };
1356
+ //#endregion
1357
+ //#region src/meeting/types.d.ts
1358
+ type MeetingSessionState = 'idle' | 'listening' | 'ended';
1359
+ type TranscriptEntry = {
1360
+ id: string;
1361
+ text: string;
1362
+ isFinal: boolean;
1363
+ timestamp: number;
1364
+ };
1365
+ type BookmarkEntry = {
1366
+ id: string;
1367
+ timestamp: number;
1368
+ transcriptEntryId: string;
1369
+ };
1370
+ type MeetingBotStatus = 'joining' | 'in_meeting' | 'left' | 'failed';
1371
+ type MeetingParticipant = {
1372
+ name: string | null;
1373
+ profileImageUrl: string | null;
1374
+ };
1375
+ type Meeting = {
1376
+ id: string;
1377
+ code: string;
1378
+ name: string | null;
1379
+ room: Room | null;
1380
+ inviteUrl: string;
1381
+ status: 'active' | 'completed' | 'analyzed';
1382
+ botStatus: MeetingBotStatus | null;
1383
+ transcriptUrl: string | null;
1384
+ summaryUrl: string | null;
1385
+ participants?: MeetingParticipant[];
1386
+ startedAt: string;
1387
+ endedAt: string | null;
1388
+ createdAt: string;
1389
+ };
1390
+ type MeetingJoinInfo = {
1391
+ id: string;
1392
+ code: string;
1393
+ name: string | null;
1394
+ inviteUrl: string;
1395
+ agentName: string;
1396
+ status: 'active' | 'completed' | 'analyzed';
1397
+ endedAt: string | null;
1398
+ };
1399
+ type MeetingTranscriptEntry = {
1400
+ speaker: 'user' | 'agent';
1401
+ text: string;
1402
+ timestamp: string;
1403
+ };
1404
+ type MeetingUsage = {
1405
+ current: number;
1406
+ limit: number;
1407
+ reached: boolean;
1408
+ remainingWords: number | null;
1409
+ };
1410
+ //#endregion
1411
+ //#region src/memory/types.d.ts
1412
+ type Memory = {
1413
+ id: string;
1414
+ name: string;
1415
+ content: string;
1416
+ createdAt: string;
1417
+ };
1418
+ //#endregion
1419
+ //#region src/peerme/types.d.ts
1420
+ type MediaAttributes = {
1421
+ uuid: string;
1422
+ order: number;
1423
+ name: string;
1424
+ custom_properties: {
1425
+ [key: string]: any;
1426
+ };
1427
+ preview_url: null | string;
1428
+ original_url: null | string;
1429
+ extension?: string;
1430
+ size?: number;
1431
+ };
1432
+ type MediaItems = {
1433
+ [uuid: string]: MediaAttributes;
1434
+ };
1435
+ type EntityTemplate = 'default' | 'next' | 'custom' | 'multisig';
1436
+ type Entity = {
1437
+ id: string;
1438
+ address: string;
1439
+ slug: string;
1440
+ name: string;
1441
+ description: string;
1442
+ avatarUrl: string | null;
1443
+ headerImageUrl: string | null;
1444
+ verified: boolean;
1445
+ private: boolean;
1446
+ template: EntityTemplate;
1447
+ specialization: string | null;
1448
+ justCreated: boolean;
1449
+ tags: string[];
1450
+ socials: [string, string];
1451
+ features: string[];
1452
+ governance: {
1453
+ nft: boolean | null;
1454
+ owned: boolean | null;
1455
+ token: string | null;
1456
+ tokenLocking: boolean;
1457
+ tokenName: string | null;
1458
+ tokenDecimals: number | null;
1459
+ minVoteWeight: string | null;
1460
+ minProposeWeight: string | null;
1461
+ quorum: string | null;
1462
+ votingPeriodMinutes: number | null;
1463
+ plug: string | null;
1464
+ rolesRestrictPropose: string[];
1465
+ restrictedNonces: number[];
1466
+ earnStake?: string | null;
1467
+ earnStakeNft?: boolean | null;
1468
+ earnReward?: string | null;
1469
+ earnLockTime?: number;
1470
+ };
1471
+ leaders: number;
1472
+ level: number;
1473
+ credits: any | null;
1474
+ version: string;
1475
+ callerRoles: any[];
1476
+ parent: Entity | null;
1477
+ children: Entity[];
1478
+ favorited: boolean;
1479
+ pipeline: string | null;
1480
+ network: {
1481
+ name: string;
1482
+ displayName: string;
1483
+ env: string;
1484
+ urls: {
1485
+ api: string;
1486
+ explorer: string;
1487
+ };
1488
+ chainId: string;
1489
+ blockTimeMs: number;
1490
+ };
1491
+ kyc: any | null;
1492
+ };
1493
+ type ProposalStatus = 'pending' | 'active' | 'defeated' | 'succeeded' | 'executed' | 'canceled' | 'execution-failed';
1494
+ type ProposalPollOption = {
1495
+ id: number;
1496
+ text: string;
1497
+ weight: string;
1498
+ percent: number;
1499
+ media: MediaItems;
1500
+ };
1501
+ type ProposalActionPayment = {
1502
+ tokenId: string;
1503
+ tokenNonce: number;
1504
+ tokenDecimals?: number | null;
1505
+ amount: string;
1506
+ };
1507
+ type ProposalAction = {
1508
+ destination: string;
1509
+ endpoint: string | null;
1510
+ value: string;
1511
+ payments: ProposalActionPayment[];
1512
+ arguments: string[];
1513
+ targetUser?: any | null;
1514
+ targetContract?: any | null;
1515
+ ticket?: any | null;
1516
+ bounty?: any | null;
1517
+ guards?: any[];
1518
+ };
1519
+ type ProposalActionPaymentSerializable = {
1520
+ token_identifier: string;
1521
+ token_nonce: number;
1522
+ amount: string;
1523
+ };
1524
+ type ProposalActionSerializable = {
1525
+ destination: string;
1526
+ endpoint: string;
1527
+ value: bigint;
1528
+ arguments: Buffer[];
1529
+ payments: ProposalActionPaymentSerializable[];
1530
+ gas_limit: number;
1531
+ };
1532
+ type Proposal = {
1533
+ id: string;
1534
+ chainId: number;
1535
+ title: string;
1536
+ description: string | null;
1537
+ proposer: any;
1538
+ entity: Entity;
1539
+ upvotes: string | null;
1540
+ downvotes: string | null;
1541
+ approvePercent: number;
1542
+ quorumPercent: number;
1543
+ weighted: boolean;
1544
+ startsAt: string | null;
1545
+ endsAt: string | null;
1546
+ createdAt: string;
1547
+ status: ProposalStatus;
1548
+ actions: ProposalAction[];
1549
+ poll: any | null;
1550
+ permissions: string[];
1551
+ guards: any[];
1552
+ signing: {
1553
+ has: boolean;
1554
+ can: boolean;
1555
+ } | null;
1556
+ attachments: MediaItems;
1557
+ processed: boolean;
1558
+ ended: boolean;
1559
+ finalizing: boolean;
1560
+ executable: boolean;
1561
+ justCreated: boolean;
1562
+ tx: string;
1563
+ contentHash: string;
1564
+ actionsHash: string;
1565
+ trashed: boolean;
1566
+ };
1567
+ type ContractsAddressConfig = {
1568
+ Organization: string;
1569
+ Identity: string;
1570
+ Manager: string;
1571
+ Earn: string;
1572
+ Payout: string;
1573
+ Bounty: string;
1574
+ ContractStage: string;
1575
+ DexRouter: string;
1576
+ };
1577
+ type ScInfo = {
1578
+ Address: string;
1579
+ Endpoint: string;
1580
+ GasLimit?: number;
1581
+ AbiUrl?: string;
1582
+ AbiName?: string;
1583
+ AbiContent?: {
1584
+ name: string;
1585
+ endpoints: any[];
1586
+ types: Record<string, any>;
1587
+ };
1588
+ ActionPreview?: (action: ProposalAction) => any;
1589
+ };
1590
+ type PolicyMethod = 'weight' | 'one' | 'all' | 'quorum' | 'majority';
1591
+ type PolicySetting = {
1592
+ Method: PolicyMethod;
1593
+ Name: string;
1594
+ Function: string;
1595
+ };
1596
+ type PermissionConfigType = {
1597
+ ContractFunctions: {
1598
+ RoleCreate: string;
1599
+ RoleRemove: string;
1600
+ RoleAssign: string;
1601
+ RoleUnassign: string;
1602
+ PermissionCreate: string;
1603
+ };
1604
+ PolicySettings: PolicySetting[];
1605
+ };
1606
+ //#endregion
1607
+ //#region src/protocol/types.d.ts
1608
+ type ChatStreamEventType = 'user' | 'external' | `thought:${ChatClientThought}` | 'response' | 'response:chunk' | 'action' | 'complete' | 'payment-required' | 'desk' | 'project:progress' | 'project:step:complete';
1609
+ type ChatClientAction = 'AGENT_DELEGATE' | 'WARP_EXECUTE' | 'WARP_VIEW' | 'WARP_CREATE' | 'WARP_TEST' | 'WARP_INPUT' | 'WARP_APPROVE' | 'WARP_SELECT' | 'WARP_BATCH' | 'WARP_BULK' | 'ENTITY_PROPOSE' | 'ENTITY_SIGN' | 'SECRET_SET' | 'SECRET_AUTHORIZE' | 'HEALTH_QUERY' | 'HEALTH_WRITE' | 'ITEM_VIEW' | 'BOARD_SUMMARY' | 'GOAL_PROGRESS' | 'CONTACT_VIEW' | 'MARKETPLACE_PURCHASE' | 'WARP_CLOUD_EXECUTE' | 'MISSION_VIEW' | 'ACTIVITY' | 'PERSONA_QUESTION' | 'twilio.call' | 'twilio.sms';
1610
+ type ChatClientThought = 'processing' | 'searching' | 'evaluating' | 'transcribing' | 'generating' | 'reflecting' | 'text-transform' | 'finished';
1611
+ type AgentMessageOptions = {
1612
+ delay?: number;
1613
+ error?: boolean;
1614
+ warning?: boolean;
1615
+ duration?: number;
1616
+ progress?: number;
1617
+ meta?: Record<string, any>;
1618
+ };
1619
+ type AgentMessageMeta = {
1620
+ action?: ChatClientAction | null;
1621
+ audio?: string | null;
1622
+ media?: Media[];
1623
+ desk?: Desk;
1624
+ proactive?: boolean;
1625
+ timeSavedSeconds?: number;
1626
+ currentUsage?: number;
1627
+ limit?: number;
1628
+ };
1629
+ type ChatStreamData = {
1630
+ message: MessageId | undefined;
1631
+ type: ChatStreamEventType;
1632
+ agent: string;
1633
+ content: string | null;
1634
+ meta?: {
1635
+ action?: ChatClientAction | null;
1636
+ audio?: string | null;
1637
+ media?: Media[];
1638
+ desk?: Desk;
1639
+ timeSavedSeconds?: number;
1640
+ } | null;
1641
+ options?: {
1642
+ error?: boolean;
1643
+ duration?: number;
1644
+ };
1645
+ };
1646
+ type SendableUserMessage = {
1647
+ user: string;
1648
+ content: string;
1649
+ audio?: Uint8Array;
1650
+ media?: SendableMedia[];
1651
+ options?: AgentMessageOptions;
1652
+ };
1653
+ type SendableAgentThought = {
1654
+ type: ChatClientThought;
1655
+ content?: string;
1656
+ options?: AgentMessageOptions;
1657
+ };
1658
+ type SendableAgentAction = {
1659
+ content: string;
1660
+ action: ChatClientAction;
1661
+ audio?: Uint8Array;
1662
+ media?: SendableMedia[];
1663
+ options?: AgentMessageOptions;
1664
+ };
1665
+ type SendableAgentMessage = {
1666
+ content: string;
1667
+ audio?: Uint8Array;
1668
+ media?: SendableMedia[];
1669
+ options?: AgentMessageOptions;
1670
+ };
1671
+ type SendableMedia = {
1672
+ content: Uint8Array;
1673
+ mediaType: string;
1674
+ filename?: string;
1675
+ };
1676
+ type SendableActivityUpdate = {
1677
+ content: string;
1678
+ audio?: undefined;
1679
+ media?: undefined;
1680
+ };
1681
+ type WarpSuggestion = {
1682
+ warp: string;
1683
+ inputs?: string[];
1684
+ };
1685
+ type ItemViewable = {
1686
+ id: string;
1687
+ title: string;
1688
+ description?: string | null;
1689
+ status: string;
1690
+ priority: string;
1691
+ tags?: string[];
1692
+ dueDate?: string | null;
1693
+ fromStatus?: string;
1694
+ dueWarning?: boolean;
1695
+ };
1696
+ type BoardSummaryViewable = {
1697
+ counts: {
1698
+ backlog: number;
1699
+ active: number;
1700
+ review: number;
1701
+ done: number;
1702
+ };
1703
+ reviewItems: {
1704
+ id: string;
1705
+ title: string;
1706
+ priority: string;
1707
+ }[];
1708
+ dueItems: {
1709
+ id: string;
1710
+ title: string;
1711
+ dueDate: string;
1712
+ priority: string;
1713
+ }[];
1714
+ };
1715
+ type GoalProgressViewable = {
1716
+ goalId: string;
1717
+ goalTitle: string;
1718
+ totalItems: number;
1719
+ doneItems: number;
1720
+ latestItemTitle: string;
1721
+ };
1722
+ type MissionViewable = {
1723
+ id: string;
1724
+ title: string;
1725
+ status: string;
1726
+ roomId: string | null;
1727
+ };
1728
+ type ContactViewable = {
1729
+ name: string;
1730
+ email?: string | null;
1731
+ phone?: string | null;
1732
+ company?: string | null;
1733
+ title?: string | null;
1734
+ tags?: string[] | null;
1735
+ wallets?: {
1736
+ chain: string;
1737
+ address: string;
1738
+ }[];
1739
+ };
1740
+ type MarketplacePurchasable = {
1741
+ listing: MarketplaceListing;
1742
+ paymentOptions: {
1743
+ balance: boolean;
1744
+ checkout: string | null;
1745
+ mpp: {
1746
+ amount: string;
1747
+ currency: string;
1748
+ chain?: string;
1749
+ recipient: string;
1750
+ } | null;
1751
+ };
1752
+ };
1753
+ type WarpExecutable = {
1754
+ warp: string | Warp;
1755
+ inputs?: string[];
1756
+ query?: Record<string, any> | null;
1757
+ next?: string;
1758
+ requiresWallet?: boolean;
1759
+ chain?: WarpChainName | null;
1760
+ intent?: string;
1761
+ };
1762
+ type WarpViewable = {
1763
+ warp: string;
1764
+ inputs?: string[];
1765
+ tx?: string;
1766
+ output?: Record<string, unknown>;
1767
+ };
1768
+ type WarpCreateable = {
1769
+ content: Warp;
1770
+ alias: string;
1771
+ };
1772
+ type WarpTestable = {
1773
+ warp: string;
1774
+ };
1775
+ type WarpInputable = {
1776
+ warp: string;
1777
+ input: WarpActionInput;
1778
+ };
1779
+ type WarpApprovable = {
1780
+ warp: string;
1781
+ inputs?: string[];
1782
+ query?: Record<string, any> | null;
1783
+ thought?: string | null;
1784
+ };
1785
+ type WarpCloudExecutable = {
1786
+ warp: string;
1787
+ inputs: string[];
1788
+ chain: string;
1789
+ txHash: string;
1790
+ query?: Record<string, string> | null;
1791
+ };
1792
+ type WarpBatchItem = {
1793
+ warpId: string;
1794
+ warpRef: string;
1795
+ thought: string;
1796
+ inputs: string[];
1797
+ };
1798
+ type WarpBatchable = {
1799
+ items: WarpBatchItem[];
1800
+ name?: string | null;
1801
+ };
1802
+ type WarpSelectableDetails = {
1803
+ title: string;
1804
+ description: string | null;
1805
+ brandName: string | null;
1806
+ brandLogo: string | Record<string, string> | null;
1807
+ };
1808
+ type WarpSelectable = {
1809
+ prompt: string;
1810
+ warps: {
1811
+ alias: string;
1812
+ details?: WarpSelectableDetails;
1813
+ }[];
1814
+ };
1815
+ type SecretSettable = {
1816
+ warp: string;
1817
+ secrets: WarpSecret[];
1818
+ };
1819
+ type SecretAuthorizable = {
1820
+ warp: string;
1821
+ secrets: WarpSecret[];
1822
+ };
1823
+ type AgentDelegatable = {
1824
+ agent: string;
1825
+ swarm?: string;
1826
+ room: RoomId;
1827
+ prompt: string;
1828
+ };
1829
+ type EntityProposable = {
1830
+ agent: string;
1831
+ swarm: string;
1832
+ title: string;
1833
+ description: string;
1834
+ actions: ProposalAction[];
1835
+ };
1836
+ type EntitySignable = {
1837
+ agent: string;
1838
+ swarm: string;
1839
+ proposal: string;
1840
+ sign: boolean;
1841
+ reason: string;
1842
+ };
1843
+ //#endregion
1844
+ //#region src/message/types.d.ts
1845
+ type MessageId = string;
1846
+ type Message = {
1847
+ id: string;
1848
+ room: string;
1849
+ role: MessageRole;
1850
+ source: string;
1851
+ agent: string | null;
1852
+ content: string;
1853
+ action: ChatClientAction | null;
1854
+ credits: number;
1855
+ createdAt: string;
1856
+ audio: string | null;
1857
+ media: Media[];
1858
+ meta: {
1859
+ tx?: string;
1860
+ warp?: string;
1861
+ inputs?: string[];
1862
+ output?: Record<string, unknown>;
1863
+ timeSavedSeconds?: number;
1864
+ actionResponded?: boolean;
1865
+ reactions?: Record<string, string[]>;
1866
+ };
1867
+ };
1868
+ type MessageRole = 'user' | 'agent' | 'external';
1869
+ //#endregion
1870
+ //#region src/mission/types.d.ts
1871
+ type MissionStatus = 'active' | 'paused' | 'awaiting_approval' | 'completed' | 'failed' | 'cancelled';
1872
+ type MissionPriority = 'low' | 'normal' | 'high' | 'urgent';
1873
+ type MissionSchedule = {
1874
+ intervalMs: number;
1875
+ maxTicks: number | null;
1876
+ maxDurationMs: number | null;
1877
+ };
1878
+ type MissionPlan = {
1879
+ strategy: string;
1880
+ tickBehavior: string;
1881
+ completionConditions: string[];
1882
+ reportingStrategy: string;
1883
+ availableTools: string[];
1884
+ needsSandbox: boolean;
1885
+ sandboxTemplate: string | null;
1886
+ needsWorkspace: boolean;
1887
+ };
1888
+ type MissionBudget = {
1889
+ maxTokens: number | null;
1890
+ maxCostCents: number | null;
1891
+ maxIterationsPerTick: number;
1892
+ usedTokens: number;
1893
+ usedCostCents: number;
1894
+ };
1895
+ type Mission = {
1896
+ id: string;
1897
+ title: string;
1898
+ description: string | null;
1899
+ status: MissionStatus;
1900
+ priority: MissionPriority;
1901
+ schedule: MissionSchedule | null;
1902
+ plan: MissionPlan | null;
1903
+ budget: MissionBudget | null;
1904
+ tickCount: number;
1905
+ roomId: string | null;
1906
+ agentId: string;
1907
+ supervisorId: string | null;
1908
+ parentId: string | null;
1909
+ childCount?: number;
1910
+ startedAt: string | null;
1911
+ completedAt: string | null;
1912
+ createdAt: string;
1913
+ updatedAt: string;
1914
+ };
1915
+ type MissionCreatePayload = {
1916
+ title: string;
1917
+ description?: string;
1918
+ priority?: MissionPriority;
1919
+ };
1920
+ //#endregion
1921
+ //#region src/notification/types.d.ts
1922
+ type NotificationChannel = 'mail' | 'push';
1923
+ type NotificationType = 'unknown' | 'marketing' | 'proactive-message';
1924
+ type NotificationAgent = {
1925
+ uuid: string;
1926
+ name: string;
1927
+ avatar: string;
1928
+ };
1929
+ type Notification = {
1930
+ id: string;
1931
+ type: NotificationType;
1932
+ title: string;
1933
+ message: string | null;
1934
+ url: string | null;
1935
+ agent: NotificationAgent | null;
1936
+ time: string;
1937
+ readAt: string | null;
1938
+ respondedAt: string | null;
1939
+ createdAt: string;
1940
+ actions: NotificationAction[];
1941
+ };
1942
+ type NotificationAction = {
1943
+ identifier: string;
1944
+ text: string;
1945
+ highlight: boolean;
1946
+ };
1947
+ type NotificationSetting = {
1948
+ identifier: string;
1949
+ name: string;
1950
+ description: string;
1951
+ channels: {
1952
+ identifier: NotificationChannel;
1953
+ name: string;
1954
+ isEnabled: boolean;
1955
+ }[];
1956
+ };
1957
+ //#endregion
1958
+ //#region src/office/types.d.ts
1959
+ type OfficeAgent = {
1960
+ uuid: string;
1961
+ name: string;
1962
+ avatar: string;
1963
+ roomId: string;
1964
+ lastActivityAt: string | null;
1965
+ };
1966
+ type OfficeMember = {
1967
+ id: string;
1968
+ name: string;
1969
+ profileImageUrl: string | null;
1970
+ role: string;
1971
+ lastActivityAt: string | null;
1972
+ };
1973
+ type OfficeSnapshot = {
1974
+ team: string;
1975
+ generatedAt: string;
1976
+ agents: OfficeAgent[];
1977
+ members: OfficeMember[];
1978
+ };
1979
+ type OfficeStatus = 'working' | 'active' | 'idle' | 'offline';
1980
+ type OfficeEntityKind = 'agent' | 'member';
1981
+ type OfficeStatusFilter = 'all' | OfficeStatus;
1982
+ type OfficeTypeFilter = 'all' | 'agents' | 'members';
1983
+ type OfficeLiveOverrides = Record<string, number>;
1984
+ type OfficeEntity = {
1985
+ id: string;
1986
+ kind: OfficeEntityKind;
1987
+ name: string;
1988
+ avatarUrl: string | null;
1989
+ roomId: string | null;
1990
+ role: string | null;
1991
+ lastActivityAt: string | null;
1992
+ status: OfficeStatus;
1993
+ };
1994
+ //#endregion
1995
+ //#region src/ogimage/types.d.ts
1996
+ type OgImageType = 'default' | 'article' | 'category' | 'listing' | 'brand';
1997
+ type OgImageParams = {
1998
+ type?: OgImageType;
1999
+ title: string;
2000
+ subtitle?: string;
2001
+ category?: string;
2002
+ categoryColor?: string;
2003
+ brandLogo?: string;
2004
+ };
2005
+ declare const OG_IMAGE_WIDTH = 1200;
2006
+ declare const OG_IMAGE_HEIGHT = 630;
2007
+ declare const OG_IMAGE_CONFIG: {
2008
+ width: number;
2009
+ height: number;
2010
+ };
2011
+ declare const OgImageColors: {
2012
+ readonly primaryDark: "#66CC66";
2013
+ readonly primaryLight: "#98FF98";
2014
+ readonly secondaryDark: "#CCCC33";
2015
+ readonly secondaryLight: "#FFFF66";
2016
+ readonly brandBlack: "#181818";
2017
+ readonly brandWhite: "#f3f3f3";
2018
+ readonly gray: {
2019
+ readonly 400: "#A3A3A3";
2020
+ readonly 700: "#404040";
2021
+ readonly 800: "#262626";
2022
+ readonly 900: "#171717";
2023
+ };
2024
+ };
2025
+ //#endregion
2026
+ //#region src/project/types.d.ts
2027
+ type ProjectStatus = 'draft' | 'planned' | 'render-ready' | 'rendered' | 'composed' | 'exported';
2028
+ type ProjectOutputPreset = '9:16 social' | '16:9 launch' | '1:1 square teaser';
2029
+ type ProjectRenderMode = 'draft' | 'final';
2030
+ type ProjectAspectRatio = '16:9' | '9:16' | '1:1';
2031
+ type ProjectStudioStage = 'questions' | 'concept' | 'draft-ready';
2032
+ type ProjectStudioHistoryEntry = {
2033
+ role: 'user' | 'assistant';
2034
+ content: string;
2035
+ };
2036
+ type ProjectStudioQuestion = {
2037
+ id: string;
2038
+ question: string;
2039
+ rationale?: string | null;
2040
+ placeholder?: string | null;
2041
+ };
2042
+ type ProjectStyleDirection = {
2043
+ id: string;
2044
+ title: string;
2045
+ summary: string;
2046
+ lookAndFeel: string;
2047
+ hook?: string | null;
2048
+ cta?: string | null;
2049
+ promptSeed: string;
2050
+ previewMedia?: Array<Record<string, any>>;
2051
+ };
2052
+ type ProjectStudioSummary = {
2053
+ name: string;
2054
+ shortSummary: string;
2055
+ brief: string;
2056
+ platformStrategy?: string | null;
2057
+ outputPreset: ProjectOutputPreset;
2058
+ targetPlatforms: string[];
2059
+ hook?: string | null;
2060
+ voiceover?: string | null;
2061
+ cta?: string | null;
2062
+ };
2063
+ type ProjectStudioState = {
2064
+ stage: ProjectStudioStage;
2065
+ assistantReply?: string | null;
2066
+ questions?: ProjectStudioQuestion[];
2067
+ summary?: ProjectStudioSummary | null;
2068
+ styleDirections?: ProjectStyleDirection[];
2069
+ autoSelectedSkills?: Array<{
2070
+ id: string;
2071
+ name: string;
2072
+ type: string | null;
2073
+ }>;
2074
+ conversation?: ProjectStudioHistoryEntry[];
2075
+ updatedAt?: string | null;
2076
+ };
2077
+ type ProjectShot = {
2078
+ title?: string | null;
2079
+ subjectContext?: string | null;
2080
+ action?: string | null;
2081
+ style?: string | null;
2082
+ camera?: string | null;
2083
+ composition?: string | null;
2084
+ lensFocus?: string | null;
2085
+ ambiance?: string | null;
2086
+ audioCues?: string | null;
2087
+ dialogue?: string | null;
2088
+ negativePrompt?: string | null;
2089
+ platformConstraints?: string | null;
2090
+ durationSeconds?: 4 | 6 | 8 | null;
2091
+ aspectRatio?: ProjectAspectRatio | null;
2092
+ renderMode?: ProjectRenderMode | null;
2093
+ prompt?: string;
2094
+ model?: string;
2095
+ mode?: string;
2096
+ referenceImages?: Array<Record<string, any>>;
2097
+ firstFrame?: Record<string, any> | null;
2098
+ lastFrame?: Record<string, any> | null;
2099
+ motionReference?: Record<string, any> | null;
2100
+ };
2101
+ type Project = {
2102
+ id: string;
2103
+ name: string;
2104
+ status: ProjectStatus;
2105
+ brief: string | null;
2106
+ outputPreset: ProjectOutputPreset;
2107
+ selectedSkills: string[];
2108
+ targetPlatforms: string[];
2109
+ script: Record<string, any> | null;
2110
+ storyboard: ProjectShot[];
2111
+ referenceImages: Array<Record<string, any>>;
2112
+ generatedImages: Array<Record<string, any>>;
2113
+ generatedVideos: Array<Record<string, any>>;
2114
+ generatedAudio: Array<Record<string, any>>;
2115
+ assembly: Record<string, any> | null;
2116
+ soundtrack: Record<string, any> | null;
2117
+ finalAsset: Record<string, any> | null;
2118
+ studioState?: ProjectStudioState | null;
2119
+ revisions: Array<Record<string, any>>;
2120
+ team: string | null;
2121
+ createdAt: string;
2122
+ updatedAt: string;
2123
+ };
2124
+ type ProjectMutation = Partial<Pick<Project, 'name' | 'brief' | 'status' | 'outputPreset' | 'selectedSkills' | 'targetPlatforms' | 'storyboard' | 'assembly' | 'soundtrack' | 'finalAsset' | 'referenceImages' | 'generatedImages' | 'generatedVideos' | 'generatedAudio'>> & {
2125
+ script?: Record<string, any> | null;
2126
+ };
2127
+ type ProjectPlan = {
2128
+ summary: {
2129
+ brief: string | null;
2130
+ outputPreset: ProjectOutputPreset;
2131
+ aspectRatio: ProjectAspectRatio;
2132
+ targetPlatforms: string[];
2133
+ selectedSkills: Array<{
2134
+ id: string;
2135
+ name: string;
2136
+ type: string | null;
2137
+ media: Array<Record<string, any>>;
2138
+ }>;
2139
+ references?: Record<string, any>;
2140
+ };
2141
+ storyboard: ProjectShot[];
2142
+ shotPrompts: ProjectShot[];
2143
+ };
2144
+ type ProjectImages = {
2145
+ project: {
2146
+ id: string;
2147
+ name: string;
2148
+ status: ProjectStatus;
2149
+ outputPreset: ProjectOutputPreset;
2150
+ aspectRatio: ProjectAspectRatio;
2151
+ };
2152
+ summary: ProjectPlan['summary'];
2153
+ frames: Array<{
2154
+ index: number;
2155
+ title: string;
2156
+ aspectRatio: ProjectAspectRatio;
2157
+ directionTitle?: string | null;
2158
+ prompt: string;
2159
+ referenceImages?: Array<Record<string, any>>;
2160
+ firstFrame?: Record<string, any> | null;
2161
+ }>;
2162
+ };
2163
+ type ProjectRender = {
2164
+ project: {
2165
+ id: string;
2166
+ name: string;
2167
+ status: ProjectStatus;
2168
+ outputPreset: ProjectOutputPreset;
2169
+ aspectRatio: ProjectAspectRatio;
2170
+ };
2171
+ references?: Record<string, any>;
2172
+ shots: ProjectShot[];
2173
+ };
2174
+ type ProjectAssembly = {
2175
+ outputPreset: ProjectOutputPreset;
2176
+ aspectRatio: ProjectAspectRatio;
2177
+ titleCard?: Record<string, any> | null;
2178
+ captions?: Record<string, any> | null;
2179
+ soundtrack?: Record<string, any> | null;
2180
+ segments: Array<Record<string, any>>;
2181
+ finalAsset?: Record<string, any> | null;
2182
+ };
2183
+ type ProjectSoundtrack = {
2184
+ project: {
2185
+ id: string;
2186
+ name: string;
2187
+ status: ProjectStatus;
2188
+ outputPreset: ProjectOutputPreset;
2189
+ };
2190
+ soundtrack: {
2191
+ summary?: string | null;
2192
+ direction?: string | null;
2193
+ mood: string[];
2194
+ audioCues: string[];
2195
+ voiceover?: string | null;
2196
+ cueSheet: Array<{
2197
+ index: number;
2198
+ title: string;
2199
+ timing: string;
2200
+ musicCue: string;
2201
+ dialogue?: string | null;
2202
+ }>;
2203
+ generatedAudio: Array<Record<string, any>>;
2204
+ soundtrackAsset?: Record<string, any> | null;
2205
+ };
2206
+ };
2207
+ type ProjectExport = {
2208
+ project: {
2209
+ id: string;
2210
+ name: string;
2211
+ status: ProjectStatus;
2212
+ outputPreset: ProjectOutputPreset;
2213
+ };
2214
+ plan: ProjectPlan;
2215
+ soundtrack: ProjectSoundtrack;
2216
+ assembly: ProjectAssembly;
2217
+ };
2218
+ type ProjectStudioResponse = {
2219
+ project: Project;
2220
+ studio: ProjectStudioState;
2221
+ };
2222
+ type ProjectInputAssistIntent = 'clarify' | 'shorten' | 'cinematic' | 'structure';
2223
+ type ProjectInputAssistResponse = {
2224
+ label: string;
2225
+ rationale?: string | null;
2226
+ text: string;
2227
+ };
2228
+ //#endregion
2229
+ //#region src/reminder/types.d.ts
2230
+ type Reminder = {
2231
+ id: string;
2232
+ text: string;
2233
+ scheduledAt: string;
2234
+ dispatchedAt?: string | null;
2235
+ createdAt: string;
2236
+ };
2237
+ //#endregion
2238
+ //#region src/shortcut/types.d.ts
2239
+ type Shortcut = {
2240
+ id: string;
2241
+ name: string;
2242
+ description: string | null;
2243
+ warp: string;
2244
+ inputs: string[];
2245
+ chat: boolean;
2246
+ createdAt: string;
2247
+ agent: Agent | null;
2248
+ };
2249
+ //#endregion
2250
+ //#region src/stats/types.d.ts
2251
+ type UserStats = {
2252
+ totalMessages: number;
2253
+ totalWarpsExecuted: number;
2254
+ totalTasksExecuted: number;
2255
+ totalChallengesCompleted: number;
2256
+ timeSaved: {
2257
+ seconds: number;
2258
+ formatted: string;
2259
+ };
2260
+ avgResponseTime: {
2261
+ seconds: number;
2262
+ formatted: string;
2263
+ };
2264
+ streak: Streak;
2265
+ };
2266
+ type Streak = {
2267
+ current: number;
2268
+ longest: number;
2269
+ multiplier: number;
2270
+ freezesAvailable: number;
2271
+ };
2272
+ //#endregion
2273
+ //#region src/stats-store/types.d.ts
2274
+ type GamificationData = {
2275
+ stats: UserStats;
2276
+ experience: Experience;
2277
+ challenges: Challenges;
2278
+ achievements: Achievement[];
2279
+ recentExperiences: RecentExperience[];
2280
+ nextMilestones: Milestone[];
2281
+ };
2282
+ //#endregion
2283
+ //#region src/swarm/types.d.ts
2284
+ type Swarm = {
2285
+ id: string;
2286
+ chain: WarpChainInfo;
2287
+ extId: string;
2288
+ entity?: Entity;
2289
+ room: Room;
2290
+ createdAt: string;
2291
+ users: User[];
2292
+ agents: AgentPrivate[];
2293
+ };
2294
+ type EntityDirectExecuteRequest = {
2295
+ title?: string;
2296
+ entity: Entity;
2297
+ actions: ProposalAction[];
2298
+ onClose?: () => void;
2299
+ onSent?: (txHash: string) => void;
2300
+ onExecuted?: () => void;
2301
+ };
2302
+ //#endregion
2303
+ //#region src/task/types.d.ts
2304
+ type Task = {
2305
+ id: string;
2306
+ cronExpression: string | null;
2307
+ room: Room;
2308
+ warp: string;
2309
+ active: boolean;
2310
+ lastRunAt: string | null;
2311
+ startsAt: string | null;
2312
+ endsAt: string | null;
2313
+ maxRuns: number | null;
2314
+ runs: number;
2315
+ createdAt: string;
2316
+ agent: Agent | null;
2317
+ };
2318
+ type SchedulePreset = {
2319
+ label: string;
2320
+ value: string;
2321
+ cron: string;
2322
+ description: string;
2323
+ };
2324
+ //#endregion
2325
+ //#region src/wallet-chains/types.d.ts
2326
+ type RampProvider = 'coinbase' | 'xmoney' | 'moonpay';
2327
+ type RampProviderInfo = {
2328
+ name: RampProvider;
2329
+ displayName: string;
2330
+ logo: string;
2331
+ chains: WarpChainName[];
2332
+ countries: string[];
2333
+ assets: string[];
2334
+ active: boolean;
2335
+ };
2336
+ //#endregion
2337
+ //#region src/warp-webhooks/types.d.ts
2338
+ type AgentWebhookWarp = {
2339
+ id: number;
2340
+ source: string;
2341
+ next: string;
2342
+ warpIdentifier: string | null;
2343
+ createdAt: string;
2344
+ };
2345
+ //#endregion
2346
+ //#region src/webhook/types.d.ts
2347
+ type WebhookTriggerEvent = 'agent.action' | 'agent.message' | 'user.message';
2348
+ type Webhook = {
2349
+ id: string;
2350
+ name: string;
2351
+ url: string;
2352
+ trigger: WebhookTriggerEvent;
2353
+ headers: Record<string, string>;
2354
+ description: string | null;
2355
+ active: boolean;
2356
+ verifySsl: boolean;
2357
+ timeout: number;
2358
+ maxRetries: number;
2359
+ lastTriggeredAt: string | null;
2360
+ createdAt: string;
2361
+ updatedAt: string;
2362
+ webhookableType: string;
2363
+ webhookable?: {
2364
+ type: string;
2365
+ uuid: string;
2366
+ name: string;
2367
+ };
2368
+ };
2369
+ //#endregion
2370
+ //#region src/workspace/types.d.ts
2371
+ type WorkspaceInfo = {
2372
+ id?: string;
2373
+ teamId?: string;
2374
+ deviceType?: string;
2375
+ workspacePath: string;
2376
+ createdAt: string;
2377
+ filesCount: number;
2378
+ totalSize: number;
2379
+ lastSyncAt: string;
2380
+ };
2381
+ type FileInfo = {
2382
+ name: string;
2383
+ path: string;
2384
+ size: number;
2385
+ mimeType: string;
2386
+ isEncrypted: boolean;
2387
+ modifiedAt: string;
2388
+ };
2389
+ type WorkspaceCloudFile = FileInfo & {
2390
+ id?: string;
2391
+ createdAt?: string;
2392
+ };
2393
+ type FileMetadata = {
2394
+ path: string;
2395
+ mimeType: string;
2396
+ width?: number;
2397
+ height?: number;
2398
+ pageCount?: number;
2399
+ sheetCount?: number;
2400
+ author?: string;
2401
+ createdAt: string;
2402
+ modifiedAt: string;
2403
+ };
2404
+ type WorkspaceContext = {
2405
+ agentId: string;
2406
+ roomId: string;
2407
+ files: FileInfo[];
2408
+ contextHash: string;
2409
+ lastUpdated: string;
2410
+ };
2411
+ type EncryptionStatus = {
2412
+ isEncrypted: boolean;
2413
+ algorithm: string;
2414
+ keyDerivation: string;
2415
+ };
2416
+ type WorkspaceSettings = {
2417
+ autoSync: boolean;
2418
+ encryptionEnabled: boolean;
2419
+ autoEncryptNewFiles: boolean;
2420
+ excludedPatterns: string[];
2421
+ };
2422
+ type MultimodalContent = {
2423
+ image?: {
2424
+ base64: string;
2425
+ width: number;
2426
+ height: number;
2427
+ };
2428
+ pdf?: {
2429
+ text: string;
2430
+ pageCount: number;
2431
+ };
2432
+ excel?: {
2433
+ sheets: Array<{
2434
+ name: string;
2435
+ rows: string[][];
2436
+ }>;
2437
+ };
2438
+ };
2439
+ type MultimodalFile = {
2440
+ type: 'image' | 'pdf' | 'excel' | 'text';
2441
+ metadata: FileMetadata;
2442
+ content: string | MultimodalContent;
2443
+ };
2444
+ type CliSessionMeta = {
2445
+ tokenId: number;
2446
+ userId: string;
2447
+ env: 'local' | 'devnet' | 'testnet' | 'mainnet';
2448
+ activeTeamSlug?: string;
2449
+ activeAgentUuid?: string;
2450
+ activeRoomId?: string;
2451
+ updatedAt: string;
2452
+ };
2453
+ type CliSessionStatus = {
2454
+ loggedIn: boolean;
2455
+ meta: CliSessionMeta | null;
2456
+ };
2457
+ //#endregion
2458
+ export { Achievement, Affiliate, AffiliateStatus, AffiliateTier, AffiliateTierName, Agent, AgentActionHistoryEntry, AgentCharacter, AgentDelegatable, AgentEngine, AgentExecuteHandler, AgentExecuteOptions, AgentGender, AgentMessageMeta, AgentMessageOptions, AgentMpp, AgentPrivate, AgentSettings, AgentSimple, AgentWalletMode, AgentWebhookWarp, AiCostEntry, AiCostsResponse, AiCostsSummary, Alert, ApiToken, AppEnv, AppFile, AppFileType, AppIngestion, BillingAddress, Blueprint, BlueprintOnboardingStep, BlueprintRedirect, BlueprintSettings, BlueprintShortcut, BlueprintTask, BlueprintTeam, BoardSummaryViewable, BookmarkEntry, BrandBackend, BrandSearchHit, BrandSourceConfig, Budget, ByokProviderConfig, ByokProviderName, ByokProviders, CalendarProvider, CalendarStatus, Card, Challenge, Challenges, ChangelogEntry, Character, ChatClientAction, ChatClientThought, ChatStreamData, ChatStreamEventType, CliSessionMeta, CliSessionStatus, Contact, ContactActivity, ContactFormData, ContactViewable, Contract, ContractCategoryDisplayNames, ContractCategoryName, ContractCodeMetadata, ContractEntity, ContractOnNetwork, ContractVersion, ContractsAddressConfig, CortexExecuteOptions, DefaultCodeMetadata, DemoFlow, DemoMessage, Desk, DeskItem, DeskItemRole, Document, Earning, EmbedStatus, EncryptionStatus, Entity, EntityDirectExecuteRequest, EntityProposable, EntitySignable, EntityTemplate, Experience, FileInfo, FileMetadata, Flow, FlowCategory, FlowInputMapping, FlowStatus, FlowStep, GamificationData, GamificationEventType, Goal, GoalCreatePayload, GoalPriority, GoalProgressViewable, GoalStatus, HintOptions, HintPosition, HttpService, IAppResponse, IHttpService, IRequestOptions, IngestionSourceType, IngestionStatus, Inquiry, InquiryStatus, InquiryType, Integration, IntegrationDetails, IntegrationType, Intent, Item, ItemCreatePayload, ItemExecutionStatus, ItemPriority, ItemStatus, ItemViewable, JoaiUrls, LocalAgentWallet, MarketplaceAgent, MarketplaceData, MarketplaceEntityType, MarketplaceListing, MarketplacePriceTier, MarketplacePricing, MarketplacePurchasable, MarketplacePurchaseResult, McpToolCall, McpToolCallBroadcast, McpToolCallStatus, Media, MediaAttributes, MediaItems, MediaLibraryAttributes, MediaLibraryItems, MediaMime, Meeting, MeetingBotStatus, MeetingJoinInfo, MeetingParticipant, MeetingSessionState, MeetingTranscriptEntry, MeetingUsage, Memory, Message, MessageId, MessageRole, Milestone, MilestoneType, Mission, MissionBudget, MissionCreatePayload, MissionPlan, MissionPriority, MissionSchedule, MissionStatus, MissionViewable, MultimodalContent, MultimodalFile, Notification, NotificationAction, NotificationAgent, NotificationChannel, NotificationSetting, OG_IMAGE_CONFIG, OG_IMAGE_HEIGHT, OG_IMAGE_WIDTH, OfficeAgent, OfficeEntity, OfficeEntityKind, OfficeLiveOverrides, OfficeMember, OfficeSnapshot, OfficeStatus, OfficeStatusFilter, OfficeTypeFilter, OgImageColors, OgImageParams, OgImageType, Order, OrderStatus, PaymentProvider, PayoutEntry, PeriodTypeLabels, PeriodTypeOptions, PermissionConfigType, PersonaQuestionable, Plan, PlanBenefit, PlanExtra, PlanFeature, PlanInterval, PolicyMethod, PolicySetting, PricingModel, Product, ProductDiscount, ProductPieces, ProductRating, ProductVariation, Project, ProjectAspectRatio, ProjectAssembly, ProjectExport, ProjectImages, ProjectInputAssistIntent, ProjectInputAssistResponse, ProjectMutation, ProjectOutputPreset, ProjectPlan, ProjectRender, ProjectRenderMode, ProjectShot, ProjectSoundtrack, ProjectStatus, ProjectStudioHistoryEntry, ProjectStudioQuestion, ProjectStudioResponse, ProjectStudioStage, ProjectStudioState, ProjectStudioSummary, ProjectStyleDirection, Proposal, ProposalAction, ProposalActionPayment, ProposalActionPaymentSerializable, ProposalActionSerializable, ProposalPollOption, ProposalStatus, PurchaseOptions, PurchaseResult, RampProvider, RampProviderInfo, Reactions, RecentExperience, Reminder, Room, RoomId, RoomKind, ScInfo, SchedulePreset, SecretAuthorizable, SecretSettable, SendableActivityUpdate, SendableAgentAction, SendableAgentMessage, SendableAgentThought, SendableMedia, SendableUserMessage, Shortcut, Skill, SkillMediaBindingRole, SkillMediaBindingRoleValue, SkillScope, SkillScopeValue, SkillType, SkillTypeValue, SocialAuthProvider, SocialBot, SocialPlatform, Streak, SubscriptionPlan, Swarm, Task, Team, TeamFeatureUsage, TeamMember, TeamPrivate, TeamSettings, TeamUsage, Tier, TierFeature, TierName, TranscriptEntry, TranscriptionCorrection, TranscriptionResponse, User, UserInterest, UserMode, UserPrivate, UserRole, UserSettings, UserSocialAccount, UserStats, Wallet, WalletList, WarpApprovable, WarpBackend, WarpBackendCategory, WarpBackendStatus, WarpBatchItem, WarpBatchable, WarpCloudExecutable, WarpCreateable, WarpExecutable, WarpInputable, WarpSearchHit, WarpSelectable, WarpSelectableDetails, WarpSuggestion, WarpTestable, WarpViewable, Webhook, WebhookTriggerEvent, WorkspaceCloudFile, WorkspaceContext, WorkspaceInfo, WorkspaceSettings, XIntegrationStatus, abbreviateNumber, getApiBaseUrl, getAppBaseUrl, getAssetAppLogoUrl, getAssetChainLogoUrl, getAssetPartnerLogoUrl, getAssetTokenLogoUrl, getAssetWalletLogoUrl, getCortexBaseUrl, getMcpServerAgentUrl, isFileFormatAudio, isFileFormatImage, isFileFormatVideo, sanitizeAlphanumeric, sanitizeNumeric, toHexEncodedNonce, toNameInitials, toNftId, toPreviewText, withRetry };