@joai/core 0.2.0 → 0.4.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 +1125 -742
- package/dist/index.mjs +51 -2
- package/dist/react/index.d.mts +103 -0
- package/dist/react/index.mjs +269 -0
- package/dist/types-C4eYYzWF.d.mts +31 -0
- package/package.json +14 -2
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as IHttpService, r as IRequestOptions, t as IAppResponse } from "./types-C4eYYzWF.mjs";
|
|
2
|
+
import { Warp, WarpActionInput, WarpBrandUrls, WarpChainInfo, WarpChainName, WarpI18nText, WarpLocale, WarpSecret, WarpText, WarpWalletProvider } from "@joai/warps";
|
|
2
3
|
|
|
3
4
|
//#region src/auth/types.d.ts
|
|
4
5
|
type SocialAuthProvider = 'github' | 'apple' | 'google' | 'x' | 'telegram' | 'slack';
|
|
@@ -10,7 +11,12 @@ type AppEnv = 'mainnet' | 'testnet' | 'devnet' | 'local';
|
|
|
10
11
|
declare const getApiBaseUrl: (env: AppEnv) => string;
|
|
11
12
|
declare const getCortexBaseUrl: (env: AppEnv) => "http://localhost:3010" | "https://devnet-cortex.joai.ai" | "https://testnet-cortex.joai.ai" | "https://cortex.joai.ai";
|
|
12
13
|
declare const getAppBaseUrl: (env: AppEnv) => "http://app.joai--api.test:3004" | "https://devnet.joai.ai" | "https://testnet.joai.ai" | "https://joai.ai";
|
|
14
|
+
declare const getDigestBaseUrl: (env: AppEnv) => "http://localhost:3005" | "https://devnet-digests.joai.ai" | "https://testnet-digests.joai.ai" | "https://digests.joai.ai";
|
|
15
|
+
declare const getMarketplaceBaseUrl: (env: AppEnv) => "http://localhost:3006" | "https://devnet-marketplace.joai.ai" | "https://testnet-marketplace.joai.ai" | "https://marketplace.joai.ai";
|
|
16
|
+
declare const getAgentsBaseUrl: (env: AppEnv) => "http://localhost:3007" | "https://devnet-agents.joai.ai" | "https://testnet-agents.joai.ai" | "https://agents.joai.ai";
|
|
13
17
|
declare const getMcpServerAgentUrl: (env: AppEnv, agent: string) => string;
|
|
18
|
+
declare const getSitesRootDomain: (env: AppEnv) => string;
|
|
19
|
+
declare const getSiteUrl: (env: AppEnv, teamSlug: string, brandSlug: string) => string;
|
|
14
20
|
//#endregion
|
|
15
21
|
//#region src/config/constants.d.ts
|
|
16
22
|
declare const JoaiUrls: {
|
|
@@ -26,36 +32,6 @@ declare const JoaiUrls: {
|
|
|
26
32
|
readonly PlayStore: "https://play.google.com/store/apps/details?id=ai.joai.app";
|
|
27
33
|
};
|
|
28
34
|
//#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
35
|
//#region src/http/service.d.ts
|
|
60
36
|
declare class HttpService implements IHttpService {
|
|
61
37
|
readonly baseUrl: string;
|
|
@@ -94,7 +70,8 @@ type IngestionSourceType = 'note' | 'meeting' | 'article' | 'email' | 'chat' | '
|
|
|
94
70
|
type IngestionStatus = 'pending' | 'processing' | 'completed' | 'failed' | 'dead_lettered';
|
|
95
71
|
type AppIngestion = {
|
|
96
72
|
id: string;
|
|
97
|
-
|
|
73
|
+
slug: string | null;
|
|
74
|
+
isPublic: boolean;
|
|
98
75
|
sourceUrl: string | null;
|
|
99
76
|
viewCount: number;
|
|
100
77
|
signupCount: number;
|
|
@@ -106,6 +83,43 @@ type AppIngestion = {
|
|
|
106
83
|
summary: string | null;
|
|
107
84
|
hook: string | null;
|
|
108
85
|
primitivesCreated: Record<string, number>;
|
|
86
|
+
extracted?: {
|
|
87
|
+
memories?: Array<{
|
|
88
|
+
content: string;
|
|
89
|
+
thought?: string;
|
|
90
|
+
category?: string;
|
|
91
|
+
tags?: string[];
|
|
92
|
+
}>;
|
|
93
|
+
actionItems?: Array<{
|
|
94
|
+
title: string;
|
|
95
|
+
description?: string;
|
|
96
|
+
thought?: string;
|
|
97
|
+
priority?: string;
|
|
98
|
+
dueDate?: string;
|
|
99
|
+
}>;
|
|
100
|
+
reminders?: Array<{
|
|
101
|
+
text: string;
|
|
102
|
+
thought?: string;
|
|
103
|
+
scheduledAt?: string;
|
|
104
|
+
}>;
|
|
105
|
+
contacts?: Array<{
|
|
106
|
+
name: string;
|
|
107
|
+
company?: string;
|
|
108
|
+
thought?: string;
|
|
109
|
+
email?: string;
|
|
110
|
+
phone?: string;
|
|
111
|
+
tags?: string[];
|
|
112
|
+
}>;
|
|
113
|
+
goals?: Array<{
|
|
114
|
+
title: string;
|
|
115
|
+
description?: string;
|
|
116
|
+
thought?: string;
|
|
117
|
+
}>;
|
|
118
|
+
documents?: Array<{
|
|
119
|
+
title: string;
|
|
120
|
+
thought?: string;
|
|
121
|
+
}>;
|
|
122
|
+
};
|
|
109
123
|
failureReason: string | null;
|
|
110
124
|
lastError: string | null;
|
|
111
125
|
processedAt: string | null;
|
|
@@ -117,84 +131,8 @@ type Character = {
|
|
|
117
131
|
id: string;
|
|
118
132
|
name: string;
|
|
119
133
|
system: string;
|
|
120
|
-
bio:
|
|
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;
|
|
134
|
+
bio: WarpText | null;
|
|
159
135
|
};
|
|
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
136
|
//#endregion
|
|
199
137
|
//#region src/media/types.d.ts
|
|
200
138
|
type AppFileType = 'abi' | 'pdf' | 'image' | 'video' | 'json';
|
|
@@ -217,7 +155,7 @@ type MediaLibraryAttributes = {
|
|
|
217
155
|
type MediaLibraryItems = {
|
|
218
156
|
[uuid: string]: MediaLibraryAttributes;
|
|
219
157
|
};
|
|
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';
|
|
158
|
+
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';
|
|
221
159
|
type Media = {
|
|
222
160
|
id: string;
|
|
223
161
|
name: string;
|
|
@@ -226,81 +164,6 @@ type Media = {
|
|
|
226
164
|
library: MediaLibraryAttributes;
|
|
227
165
|
};
|
|
228
166
|
//#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
167
|
//#region src/wallet/types.d.ts
|
|
305
168
|
type Wallet = {
|
|
306
169
|
chain: WarpChainName;
|
|
@@ -315,202 +178,60 @@ type WalletList = Partial<Record<WarpChainName, {
|
|
|
315
178
|
address?: string;
|
|
316
179
|
}>>;
|
|
317
180
|
//#endregion
|
|
318
|
-
//#region src/
|
|
319
|
-
type
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
181
|
+
//#region src/user/types.d.ts
|
|
182
|
+
type UserRole = 'owner' | 'member';
|
|
183
|
+
type UserMode = 'simple' | 'advanced';
|
|
184
|
+
type UserInterest = 'payments' | 'health' | 'content' | 'business' | 'finance' | 'research' | 'shopping' | 'web3' | 'developer' | 'fitness' | 'ecommerce';
|
|
185
|
+
type UserSettings = {
|
|
186
|
+
mode: UserMode;
|
|
187
|
+
interests: UserInterest[];
|
|
188
|
+
hotkeys?: Record<string, string> | null;
|
|
189
|
+
payoutAddress?: string | null;
|
|
190
|
+
payoutChain?: string | null;
|
|
191
|
+
voicePlaybackMode?: 'voice-control' | 'chat' | 'both' | null;
|
|
192
|
+
withdrawalWaiverAcceptedAt?: string | null;
|
|
323
193
|
};
|
|
324
|
-
type
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
bio: string | null;
|
|
194
|
+
type KycStatus = 'pending' | 'approved' | 'rejected';
|
|
195
|
+
type Kyc = {
|
|
196
|
+
status: KycStatus;
|
|
328
197
|
};
|
|
329
|
-
type
|
|
330
|
-
|
|
198
|
+
type UserPrivate = {
|
|
199
|
+
id: string;
|
|
331
200
|
name: string;
|
|
332
|
-
|
|
333
|
-
|
|
201
|
+
email: string;
|
|
202
|
+
hasVerifiedEmail: boolean;
|
|
203
|
+
balance: number;
|
|
334
204
|
wallets: Wallet[];
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
205
|
+
hasProfileImage: boolean;
|
|
206
|
+
profileImageUrl: string;
|
|
207
|
+
country: string | null;
|
|
208
|
+
timezone: string | null;
|
|
209
|
+
socials: UserSocialAccount[];
|
|
210
|
+
justCreated: boolean;
|
|
211
|
+
affiliate: Affiliate | null;
|
|
212
|
+
billingAddress: BillingAddress | null;
|
|
213
|
+
betaRestricted: boolean;
|
|
214
|
+
kyc?: Kyc | null;
|
|
215
|
+
settings: UserSettings;
|
|
342
216
|
};
|
|
343
|
-
type
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
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;
|
|
217
|
+
type Earning = {
|
|
218
|
+
id: number;
|
|
219
|
+
amount: number;
|
|
220
|
+
type: string;
|
|
221
|
+
description: string | null;
|
|
222
|
+
createdAt: string;
|
|
361
223
|
};
|
|
362
|
-
type
|
|
363
|
-
id:
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
createdAt: string
|
|
370
|
-
};
|
|
371
|
-
type
|
|
372
|
-
|
|
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;
|
|
224
|
+
type PayoutEntry = {
|
|
225
|
+
id: number;
|
|
226
|
+
amount: number;
|
|
227
|
+
status: string;
|
|
228
|
+
tx: string | null;
|
|
229
|
+
failureReason: string | null;
|
|
230
|
+
processedAt: string | null;
|
|
231
|
+
createdAt: string;
|
|
232
|
+
};
|
|
233
|
+
type UserSocialAccount = {
|
|
234
|
+
platform: string;
|
|
514
235
|
id: string;
|
|
515
236
|
username: string;
|
|
516
237
|
profileUrl: string;
|
|
@@ -528,7 +249,6 @@ type Affiliate = {
|
|
|
528
249
|
name: string;
|
|
529
250
|
tier: AffiliateTier;
|
|
530
251
|
balance: number;
|
|
531
|
-
code: string;
|
|
532
252
|
payoutAddress: string;
|
|
533
253
|
application: string;
|
|
534
254
|
status: AffiliateStatus;
|
|
@@ -536,10 +256,11 @@ type Affiliate = {
|
|
|
536
256
|
inviteLinkUrl: string;
|
|
537
257
|
settings: {
|
|
538
258
|
minPayoutBalance: number;
|
|
539
|
-
|
|
540
|
-
|
|
259
|
+
commissionExtraPercent?: number;
|
|
260
|
+
customerDiscountPercent: number;
|
|
541
261
|
};
|
|
542
262
|
clicks: number;
|
|
263
|
+
coupons: Coupon[];
|
|
543
264
|
user: User | null;
|
|
544
265
|
};
|
|
545
266
|
type AffiliateTierName = 'bronze' | 'silver' | 'gold';
|
|
@@ -549,70 +270,229 @@ type AffiliateTier = {
|
|
|
549
270
|
commission: number;
|
|
550
271
|
threshold: number;
|
|
551
272
|
};
|
|
552
|
-
type AffiliateStatus = 'pending' | 'approved' | 'rejected' | 'suspended';
|
|
273
|
+
type AffiliateStatus = 'pending' | 'approved' | 'rejected' | 'suspended' | 'demoted';
|
|
553
274
|
//#endregion
|
|
554
|
-
//#region src/
|
|
555
|
-
type
|
|
556
|
-
|
|
557
|
-
|
|
275
|
+
//#region src/billing/types.d.ts
|
|
276
|
+
type OrderStatus = 'pending' | 'completed' | 'delivered' | 'canceled';
|
|
277
|
+
type PaymentProvider = 'xmoney' | 'lemonsqueezy' | 'stripe' | 'apple' | 'google' | 'blockchain' | 'offline';
|
|
278
|
+
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' | 'custom-domain' | 'contacts' | 'marketplace-fee-rate' | 'marketplace-fee-rate-physical';
|
|
279
|
+
type PlanBenefit = {
|
|
280
|
+
label: Partial<Record<WarpLocale, string>>;
|
|
281
|
+
tip?: Partial<Record<WarpLocale, string>>;
|
|
282
|
+
secondary?: boolean;
|
|
558
283
|
};
|
|
559
|
-
type
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
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[];
|
|
284
|
+
type PlanExtra = {
|
|
285
|
+
amount: number;
|
|
286
|
+
price: number;
|
|
287
|
+
unitName: string;
|
|
571
288
|
};
|
|
572
|
-
type
|
|
573
|
-
|
|
289
|
+
type BillingAddress = {
|
|
290
|
+
firstName: string;
|
|
291
|
+
lastName: string;
|
|
292
|
+
addressOne: string | null;
|
|
293
|
+
city: string | null;
|
|
294
|
+
state: string | null;
|
|
295
|
+
zipCode: string | null;
|
|
296
|
+
country: string;
|
|
297
|
+
vatId: string | null;
|
|
298
|
+
isEU: boolean;
|
|
299
|
+
};
|
|
300
|
+
type PlanInterval = 'weekly' | 'monthly' | 'yearly' | 'lifetime';
|
|
301
|
+
type Plan = {
|
|
302
|
+
resource: 'plan';
|
|
303
|
+
sku: string;
|
|
574
304
|
name: string;
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
uncapped: boolean;
|
|
590
|
-
cycleEndsAt: string | null;
|
|
591
|
-
resetsAt: string | null;
|
|
592
|
-
startedAt: string | null;
|
|
593
|
-
renewedAt: string | null;
|
|
594
|
-
expiresAt: string | null;
|
|
305
|
+
description: Partial<Record<WarpLocale, string>>;
|
|
306
|
+
price: number;
|
|
307
|
+
priceDisplay: string;
|
|
308
|
+
interval: PlanInterval;
|
|
309
|
+
intervalDisplay: PlanInterval;
|
|
310
|
+
features: PlanFeature[];
|
|
311
|
+
benefits: Record<PlanFeature, PlanBenefit>;
|
|
312
|
+
limits: Record<PlanFeature, string>;
|
|
313
|
+
extras: Record<PlanFeature, PlanExtra>;
|
|
314
|
+
meta: {
|
|
315
|
+
appleProductId: string | null;
|
|
316
|
+
googleProductId: string | null;
|
|
317
|
+
trialPeriodDays: number;
|
|
318
|
+
isLifetime: boolean;
|
|
595
319
|
};
|
|
596
|
-
settings: TeamSettings;
|
|
597
|
-
createdAt: string;
|
|
598
|
-
justCreated: boolean;
|
|
599
320
|
};
|
|
600
|
-
type
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
321
|
+
type TierName = string;
|
|
322
|
+
type Tier = {
|
|
323
|
+
name: TierName;
|
|
324
|
+
id: string;
|
|
325
|
+
href: string;
|
|
326
|
+
free: boolean;
|
|
327
|
+
price: string;
|
|
328
|
+
priceSuffix?: string;
|
|
329
|
+
description: string;
|
|
330
|
+
benefits: Record<PlanFeature, PlanBenefit>;
|
|
331
|
+
extras: Record<PlanFeature, PlanExtra>;
|
|
332
|
+
mostPopular: boolean;
|
|
333
|
+
mostRecommended: boolean;
|
|
334
|
+
cta?: string;
|
|
335
|
+
plan: Plan;
|
|
604
336
|
};
|
|
605
|
-
type
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
337
|
+
type TierFeature = {
|
|
338
|
+
name: string;
|
|
339
|
+
tiers: Record<TierName, boolean | string>;
|
|
340
|
+
};
|
|
341
|
+
type ProductRating = {
|
|
342
|
+
average: number;
|
|
343
|
+
count: number;
|
|
344
|
+
};
|
|
345
|
+
type ProductPieces = {
|
|
346
|
+
amount: number;
|
|
347
|
+
name: string;
|
|
348
|
+
};
|
|
349
|
+
type ProductDiscount = {
|
|
350
|
+
original: number;
|
|
351
|
+
percent: number;
|
|
352
|
+
};
|
|
353
|
+
type ProductVariation = {
|
|
354
|
+
resource: 'product-variation';
|
|
355
|
+
sku: string;
|
|
356
|
+
name: string;
|
|
357
|
+
description?: Partial<Record<WarpLocale, string>>;
|
|
358
|
+
price: number;
|
|
359
|
+
badge?: string;
|
|
360
|
+
quantity?: number;
|
|
361
|
+
media?: Media[];
|
|
362
|
+
preorder: boolean;
|
|
363
|
+
availableAt?: string;
|
|
364
|
+
pieces?: ProductPieces;
|
|
365
|
+
discount?: ProductDiscount;
|
|
366
|
+
product?: Product;
|
|
367
|
+
meta?: {
|
|
368
|
+
appleProductId: string | null;
|
|
369
|
+
googleProductId: string | null;
|
|
370
|
+
};
|
|
371
|
+
nativePriceStr?: string | null;
|
|
372
|
+
};
|
|
373
|
+
type Product = {
|
|
374
|
+
slug: string;
|
|
375
|
+
name: string;
|
|
376
|
+
description?: Partial<Record<WarpLocale, string>>;
|
|
377
|
+
variations: ProductVariation[];
|
|
378
|
+
rating: ProductRating;
|
|
379
|
+
};
|
|
380
|
+
type OrderItem = {
|
|
381
|
+
name: string;
|
|
382
|
+
quantity: number;
|
|
383
|
+
unitPrice: number;
|
|
384
|
+
type: 'product-variation' | 'service';
|
|
385
|
+
};
|
|
386
|
+
type Order = {
|
|
387
|
+
resource: 'order';
|
|
388
|
+
id: string;
|
|
389
|
+
total: number;
|
|
390
|
+
provider: PaymentProvider;
|
|
391
|
+
status: OrderStatus;
|
|
392
|
+
invoiceUrl: string;
|
|
393
|
+
createdAt: string;
|
|
394
|
+
items: OrderItem[];
|
|
395
|
+
plan: Plan | null;
|
|
396
|
+
user: UserPrivate | null;
|
|
397
|
+
team: TeamPrivate | null;
|
|
398
|
+
isSubscription: boolean;
|
|
399
|
+
};
|
|
400
|
+
type Coupon = {
|
|
401
|
+
code: string;
|
|
402
|
+
amount: number;
|
|
403
|
+
percent: number;
|
|
404
|
+
expiresAt: string | null;
|
|
405
|
+
};
|
|
406
|
+
type PurchaseResult = {
|
|
407
|
+
order_id?: string;
|
|
408
|
+
message?: string;
|
|
409
|
+
subscription_active?: boolean;
|
|
410
|
+
};
|
|
411
|
+
type PurchaseOptions = {
|
|
412
|
+
forceProvider?: PaymentProvider;
|
|
413
|
+
billingAddress?: BillingAddress | null;
|
|
414
|
+
meta?: Record<string, string>;
|
|
415
|
+
};
|
|
416
|
+
//#endregion
|
|
417
|
+
//#region src/team/types.d.ts
|
|
418
|
+
type TeamMember = User & {
|
|
419
|
+
role: UserRole | null;
|
|
420
|
+
roleAcceptedAt: string | null;
|
|
421
|
+
email: string | null;
|
|
422
|
+
};
|
|
423
|
+
type Team = {
|
|
424
|
+
slug: string;
|
|
425
|
+
name: string;
|
|
426
|
+
personal: boolean;
|
|
427
|
+
description: string | null;
|
|
428
|
+
locale: WarpLocale;
|
|
429
|
+
timezone: string;
|
|
430
|
+
logo: string | null;
|
|
431
|
+
public: boolean;
|
|
432
|
+
createdAt: string;
|
|
433
|
+
blueprints?: Blueprint[];
|
|
434
|
+
flows?: Flow[];
|
|
435
|
+
};
|
|
436
|
+
type TeamBrand = {
|
|
437
|
+
bg?: string;
|
|
438
|
+
fg?: string;
|
|
439
|
+
label?: string;
|
|
440
|
+
logo?: string;
|
|
441
|
+
bankName?: string;
|
|
442
|
+
bankIban?: string;
|
|
443
|
+
bankBic?: string;
|
|
444
|
+
invoiceAddress?: string;
|
|
445
|
+
invoiceVat?: string;
|
|
446
|
+
invoiceCity?: string;
|
|
447
|
+
invoiceZip?: string;
|
|
448
|
+
invoiceCountry?: string;
|
|
449
|
+
};
|
|
450
|
+
type TeamPrivate = {
|
|
451
|
+
slug: string;
|
|
452
|
+
name: string;
|
|
453
|
+
personal: boolean;
|
|
454
|
+
description: string | null;
|
|
455
|
+
balance: number;
|
|
456
|
+
locale: WarpLocale;
|
|
457
|
+
timezone: string;
|
|
458
|
+
logo: string | null;
|
|
459
|
+
subscription: {
|
|
460
|
+
premium: boolean;
|
|
461
|
+
lifetime: boolean;
|
|
462
|
+
plan: Plan;
|
|
463
|
+
provider: PaymentProvider | null;
|
|
464
|
+
payer: User | null;
|
|
465
|
+
gracePeriod: boolean;
|
|
466
|
+
autoRenew: boolean;
|
|
467
|
+
uncapped: boolean;
|
|
468
|
+
cycleEndsAt: string | null;
|
|
469
|
+
resetsAt: string | null;
|
|
470
|
+
startedAt: string | null;
|
|
471
|
+
renewedAt: string | null;
|
|
472
|
+
expiresAt: string | null;
|
|
473
|
+
};
|
|
474
|
+
settings: TeamSettings;
|
|
475
|
+
branding: TeamBrand;
|
|
476
|
+
createdAt: string;
|
|
477
|
+
justCreated: boolean;
|
|
478
|
+
};
|
|
479
|
+
type ByokProviderConfig = {
|
|
480
|
+
apiKey?: string;
|
|
481
|
+
accessKey?: string;
|
|
482
|
+
secretKey?: string;
|
|
483
|
+
};
|
|
484
|
+
type ByokProviders = {
|
|
485
|
+
openai?: ByokProviderConfig;
|
|
486
|
+
anthropic?: ByokProviderConfig;
|
|
487
|
+
google?: ByokProviderConfig;
|
|
488
|
+
xai?: ByokProviderConfig;
|
|
489
|
+
klingai?: ByokProviderConfig;
|
|
611
490
|
};
|
|
612
491
|
type ByokProviderName = keyof ByokProviders;
|
|
613
492
|
type TeamSettings = {
|
|
614
493
|
'extra.messages': number;
|
|
615
494
|
'limit.spending': number | null;
|
|
495
|
+
'currency'?: string;
|
|
616
496
|
'extra.usage.enabled'?: boolean;
|
|
617
497
|
'auto.reload.enabled'?: boolean;
|
|
618
498
|
'auto.reload.threshold_cents'?: number | null;
|
|
@@ -620,6 +500,9 @@ type TeamSettings = {
|
|
|
620
500
|
'llm.provider'?: 'openai' | 'anthropic' | 'google' | 'xai' | null;
|
|
621
501
|
'byok.providers'?: ByokProviders | null;
|
|
622
502
|
'board.auto.enabled'?: boolean;
|
|
503
|
+
'payments.online'?: boolean;
|
|
504
|
+
'payments.coupons'?: boolean;
|
|
505
|
+
'branding'?: TeamBrand | null;
|
|
623
506
|
};
|
|
624
507
|
type TeamUsage = Partial<Record<PlanFeature, TeamFeatureUsage>> & {
|
|
625
508
|
extraUsageEnabled?: boolean;
|
|
@@ -675,132 +558,560 @@ type AiCostsResponse = {
|
|
|
675
558
|
};
|
|
676
559
|
};
|
|
677
560
|
};
|
|
678
|
-
//#endregion
|
|
679
|
-
//#region src/
|
|
680
|
-
type
|
|
681
|
-
type
|
|
682
|
-
type
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
561
|
+
//#endregion
|
|
562
|
+
//#region src/flow/types.d.ts
|
|
563
|
+
type FlowCategory = 'none' | 'defi' | 'nft' | 'social' | 'devtools' | 'productivity' | 'trading' | 'portfolio';
|
|
564
|
+
type FlowStatus = 'draft' | 'published';
|
|
565
|
+
type Flow = {
|
|
566
|
+
slug: string;
|
|
567
|
+
team: Team;
|
|
568
|
+
name: string;
|
|
569
|
+
description: string | null;
|
|
570
|
+
category: FlowCategory;
|
|
571
|
+
status: FlowStatus;
|
|
572
|
+
publishedAt: string | null;
|
|
573
|
+
createdAt: string;
|
|
574
|
+
updatedAt: string;
|
|
575
|
+
steps: FlowStep[];
|
|
576
|
+
locales: WarpLocale[];
|
|
577
|
+
marketplace: MarketplaceInfo;
|
|
578
|
+
screenshots: string[];
|
|
579
|
+
};
|
|
580
|
+
type FlowStep = {
|
|
581
|
+
stepId: string;
|
|
582
|
+
order: number;
|
|
583
|
+
type: 'warp' | 'condition' | 'delay';
|
|
584
|
+
warpIdentifier: string | null;
|
|
585
|
+
dependsOn: string[] | null;
|
|
586
|
+
inputMappings: FlowInputMapping[] | null;
|
|
587
|
+
staticInputs: Record<string, any> | null;
|
|
588
|
+
condition: Record<string, any> | null;
|
|
589
|
+
};
|
|
590
|
+
type FlowInputMapping = {
|
|
591
|
+
sourceStepId: string;
|
|
592
|
+
sourceKey: string;
|
|
593
|
+
targetInput: string;
|
|
594
|
+
transform?: string;
|
|
595
|
+
};
|
|
596
|
+
//#endregion
|
|
597
|
+
//#region src/skill/types.d.ts
|
|
598
|
+
declare const SkillType: {
|
|
599
|
+
readonly Knowledge: "knowledge";
|
|
600
|
+
readonly ContentTemplate: "content-template";
|
|
601
|
+
readonly PersonalityClone: "personality-clone";
|
|
602
|
+
readonly BrandKit: "brand-kit";
|
|
603
|
+
readonly VideoTemplate: "video-template";
|
|
604
|
+
readonly VisualKit: "visual-kit";
|
|
605
|
+
};
|
|
606
|
+
type SkillTypeValue = (typeof SkillType)[keyof typeof SkillType];
|
|
607
|
+
declare const SkillMediaBindingRole: {
|
|
608
|
+
readonly Subject: "subject";
|
|
609
|
+
readonly Style: "style";
|
|
610
|
+
readonly Logo: "logo";
|
|
611
|
+
readonly Product: "product";
|
|
612
|
+
readonly Motion: "motion";
|
|
613
|
+
readonly FirstFrame: "first_frame";
|
|
614
|
+
readonly LastFrame: "last_frame";
|
|
615
|
+
};
|
|
616
|
+
type SkillMediaBindingRoleValue = (typeof SkillMediaBindingRole)[keyof typeof SkillMediaBindingRole];
|
|
617
|
+
declare const SkillScope: {
|
|
618
|
+
readonly Agent: "agent";
|
|
619
|
+
readonly Team: "team";
|
|
620
|
+
};
|
|
621
|
+
type SkillScopeValue = (typeof SkillScope)[keyof typeof SkillScope];
|
|
622
|
+
type Skill = {
|
|
623
|
+
id: string;
|
|
624
|
+
name: string;
|
|
625
|
+
description: string;
|
|
626
|
+
content: string;
|
|
627
|
+
meta: Record<string, unknown> | null;
|
|
628
|
+
license: string | null;
|
|
629
|
+
compatibility: string | null;
|
|
630
|
+
allowedTools: string | null;
|
|
631
|
+
source: string;
|
|
632
|
+
sourcePath: string | null;
|
|
633
|
+
scope?: SkillScopeValue;
|
|
634
|
+
active: boolean;
|
|
635
|
+
marketplace: MarketplaceInfo;
|
|
636
|
+
createdAt: string;
|
|
637
|
+
media?: Media[];
|
|
638
|
+
screenshots: string[];
|
|
639
|
+
};
|
|
640
|
+
//#endregion
|
|
641
|
+
//#region src/warp/types.d.ts
|
|
642
|
+
type WarpExtrasFaq = {
|
|
643
|
+
question: string;
|
|
644
|
+
answer: string;
|
|
645
|
+
};
|
|
646
|
+
type WarpExtras = {
|
|
647
|
+
keywords?: Record<string, string[]>;
|
|
648
|
+
useCases?: Record<string, string[]>;
|
|
649
|
+
category?: string;
|
|
650
|
+
faq?: Record<string, WarpExtrasFaq[]>;
|
|
651
|
+
};
|
|
652
|
+
type WarpBackend = {
|
|
653
|
+
hash: string;
|
|
654
|
+
identifier: string;
|
|
655
|
+
chain: WarpChainName | null;
|
|
656
|
+
alias: string;
|
|
657
|
+
name: string;
|
|
658
|
+
title: string;
|
|
659
|
+
description: string;
|
|
660
|
+
preview: string | null;
|
|
661
|
+
creator: string;
|
|
662
|
+
status: WarpBackendStatus;
|
|
663
|
+
active: boolean;
|
|
664
|
+
category: WarpBackendCategory;
|
|
665
|
+
featured: boolean;
|
|
666
|
+
price?: number | null;
|
|
667
|
+
primaryAddress: string | null;
|
|
668
|
+
primaryFunc: string | null;
|
|
669
|
+
locales: WarpLocale[];
|
|
670
|
+
brand: BrandBackend | null;
|
|
671
|
+
definition?: Record<string, any> | null;
|
|
672
|
+
extras?: WarpExtras | null;
|
|
673
|
+
};
|
|
674
|
+
type WarpBackendStatus = 'unverified' | 'verified' | 'blacklisted';
|
|
675
|
+
type WarpBackendCategory = 'none';
|
|
676
|
+
type BrandSourceConfig = {
|
|
677
|
+
type: string;
|
|
678
|
+
chain?: string;
|
|
679
|
+
url?: string;
|
|
680
|
+
contract?: string;
|
|
681
|
+
endpoints?: string[];
|
|
682
|
+
};
|
|
683
|
+
type BrandIntegrationProvider = 'claude' | 'codex' | 'cursor' | 'openai';
|
|
684
|
+
type BrandIntegrationAction = {
|
|
685
|
+
type: 'copy' | 'link' | 'deeplink';
|
|
686
|
+
label: string;
|
|
687
|
+
value: string;
|
|
688
|
+
};
|
|
689
|
+
type BrandIntegration = {
|
|
690
|
+
provider: BrandIntegrationProvider;
|
|
691
|
+
available: boolean;
|
|
692
|
+
status: 'disabled' | 'planned' | 'ready' | 'runtime_ready' | 'submission_ready';
|
|
693
|
+
title: string;
|
|
694
|
+
description: string;
|
|
695
|
+
primaryAction: BrandIntegrationAction;
|
|
696
|
+
secondaryAction?: BrandIntegrationAction | null;
|
|
697
|
+
sourceUrl?: string | null;
|
|
698
|
+
fallbackUrl?: string | null;
|
|
699
|
+
notes?: string[];
|
|
700
|
+
};
|
|
701
|
+
type BrandBackend = {
|
|
702
|
+
hash: string;
|
|
703
|
+
slug: string;
|
|
704
|
+
name: string;
|
|
705
|
+
description: string;
|
|
706
|
+
logo: string;
|
|
707
|
+
colors: string;
|
|
708
|
+
urls: WarpBrandUrls;
|
|
709
|
+
locales: WarpLocale[];
|
|
710
|
+
warps: WarpBackend[];
|
|
711
|
+
isTeamOwned?: boolean;
|
|
712
|
+
inviteCode?: string;
|
|
713
|
+
source?: BrandSourceConfig | null;
|
|
714
|
+
contract?: string;
|
|
715
|
+
isContractBrand?: boolean;
|
|
716
|
+
meta?: {
|
|
717
|
+
rating?: number;
|
|
718
|
+
reviewCount?: number;
|
|
719
|
+
};
|
|
720
|
+
external?: {
|
|
721
|
+
mcp?: string | null;
|
|
722
|
+
integrations?: Partial<Record<BrandIntegrationProvider, BrandIntegration>>;
|
|
723
|
+
};
|
|
724
|
+
};
|
|
725
|
+
type BrandSearchHit = {
|
|
726
|
+
slug: string;
|
|
727
|
+
hash: string;
|
|
728
|
+
name: string;
|
|
729
|
+
description: string;
|
|
730
|
+
logo: string;
|
|
731
|
+
colors: string;
|
|
732
|
+
urls: string;
|
|
733
|
+
};
|
|
734
|
+
type WarpSearchHit = {
|
|
735
|
+
hash: string;
|
|
736
|
+
chain: WarpChainName | null;
|
|
737
|
+
alias: string;
|
|
738
|
+
name: string;
|
|
739
|
+
title: string;
|
|
740
|
+
description: string;
|
|
741
|
+
preview: string | null;
|
|
742
|
+
creator: string;
|
|
743
|
+
status: WarpBackendStatus;
|
|
744
|
+
active: boolean;
|
|
745
|
+
featured: boolean;
|
|
746
|
+
price?: number | null;
|
|
747
|
+
brandSlug: string | null;
|
|
748
|
+
brandName: string | null;
|
|
749
|
+
brandLogo: string | Record<string, string> | null;
|
|
750
|
+
};
|
|
751
|
+
//#endregion
|
|
752
|
+
//#region src/marketplace/types.d.ts
|
|
753
|
+
type MarketplaceEntityType = 'skill' | 'flow' | 'blueprint' | 'agent' | 'service';
|
|
754
|
+
type PricingModel = 'free' | 'one-time' | 'monthly' | 'per-run';
|
|
755
|
+
type MarketplacePricing = {
|
|
756
|
+
model: PricingModel;
|
|
757
|
+
amount: string;
|
|
758
|
+
currency: string;
|
|
759
|
+
chain?: WarpChainName | null;
|
|
760
|
+
planSku?: string | null;
|
|
761
|
+
freeTier?: {
|
|
762
|
+
runs?: number;
|
|
763
|
+
trialDays?: number;
|
|
764
|
+
} | null;
|
|
765
|
+
};
|
|
766
|
+
type MarketplaceInfo = {
|
|
767
|
+
price: number | null;
|
|
768
|
+
purchased: boolean;
|
|
769
|
+
uses: number;
|
|
770
|
+
public: boolean;
|
|
771
|
+
pricing: MarketplacePricing;
|
|
772
|
+
};
|
|
773
|
+
type MarketplaceListing = {
|
|
774
|
+
entityType: MarketplaceEntityType;
|
|
775
|
+
entityId: string;
|
|
776
|
+
name: string;
|
|
777
|
+
description: string | null;
|
|
778
|
+
pricing: MarketplacePricing;
|
|
779
|
+
seller: {
|
|
780
|
+
team: string;
|
|
781
|
+
name: string;
|
|
782
|
+
wallet?: string | null;
|
|
783
|
+
};
|
|
784
|
+
};
|
|
785
|
+
type MarketplaceAgent = {
|
|
786
|
+
uuid: string;
|
|
787
|
+
name: string;
|
|
788
|
+
description: string | null;
|
|
789
|
+
avatar: string | null;
|
|
790
|
+
wallets: {
|
|
791
|
+
address: string;
|
|
792
|
+
chain: WarpChainName;
|
|
793
|
+
}[];
|
|
794
|
+
character: {
|
|
795
|
+
name: string | null;
|
|
796
|
+
bio: string | null;
|
|
797
|
+
} | null;
|
|
798
|
+
marketplace: MarketplaceInfo;
|
|
799
|
+
screenshots: string[];
|
|
800
|
+
};
|
|
801
|
+
type MarketplaceItem = {
|
|
802
|
+
type: 'agent';
|
|
803
|
+
item: MarketplaceAgent;
|
|
804
|
+
} | {
|
|
805
|
+
type: 'blueprint';
|
|
806
|
+
item: Blueprint;
|
|
807
|
+
} | {
|
|
808
|
+
type: 'flow';
|
|
809
|
+
item: Flow;
|
|
810
|
+
} | {
|
|
811
|
+
type: 'skill';
|
|
812
|
+
item: Skill;
|
|
813
|
+
};
|
|
814
|
+
type MarketplaceData = {
|
|
815
|
+
blueprints: Blueprint[];
|
|
816
|
+
skills: Skill[];
|
|
817
|
+
flows: Flow[];
|
|
818
|
+
creators: BrandBackend[];
|
|
819
|
+
agents: MarketplaceAgent[];
|
|
820
|
+
items: MarketplaceItem[];
|
|
821
|
+
};
|
|
822
|
+
type MarketplacePriceTier = {
|
|
823
|
+
sku: string;
|
|
824
|
+
priceCents: number;
|
|
825
|
+
label: string;
|
|
826
|
+
};
|
|
827
|
+
/**
|
|
828
|
+
* Normalized representation of any marketplace entity for use in checkout flows.
|
|
829
|
+
* All marketplace entities share a `.marketplace: MarketplaceInfo` property —
|
|
830
|
+
* combine that with the entity type and ID to construct this.
|
|
831
|
+
*/
|
|
832
|
+
type MarketplaceCheckoutItem = {
|
|
833
|
+
entityType: MarketplaceEntityType;
|
|
834
|
+
entityId: string;
|
|
835
|
+
name: string;
|
|
836
|
+
marketplace: MarketplaceInfo;
|
|
837
|
+
};
|
|
838
|
+
type MarketplacePurchaseResult = {
|
|
839
|
+
purchased: boolean;
|
|
840
|
+
pricePaid: number;
|
|
841
|
+
entityType: string;
|
|
842
|
+
entityId: string;
|
|
843
|
+
paymentMethod: string;
|
|
844
|
+
};
|
|
845
|
+
//#endregion
|
|
846
|
+
//#region src/blueprint/types.d.ts
|
|
847
|
+
type BlueprintTeam = {
|
|
848
|
+
slug: string;
|
|
849
|
+
name: string;
|
|
850
|
+
logo: string | null;
|
|
851
|
+
};
|
|
852
|
+
type Blueprint = {
|
|
853
|
+
slug: string;
|
|
854
|
+
team: BlueprintTeam;
|
|
855
|
+
name: string;
|
|
856
|
+
description: string | null;
|
|
857
|
+
avatar: string | null;
|
|
858
|
+
settings: BlueprintSettings;
|
|
859
|
+
documentCount: number;
|
|
860
|
+
verified: boolean;
|
|
861
|
+
createdAt: string;
|
|
862
|
+
locales: WarpLocale[];
|
|
863
|
+
marketplace: MarketplaceInfo;
|
|
864
|
+
tags: string[];
|
|
865
|
+
screenshots: string[];
|
|
866
|
+
};
|
|
867
|
+
type BlueprintSettings = {
|
|
868
|
+
wallets: WarpChainName[];
|
|
869
|
+
character: Character | null;
|
|
870
|
+
tasks: BlueprintTask[];
|
|
871
|
+
shortcuts: BlueprintShortcut[];
|
|
872
|
+
'messages.initial': string | null;
|
|
873
|
+
'messages.general': string[];
|
|
874
|
+
onboarding: BlueprintOnboardingStep[];
|
|
875
|
+
redirect: BlueprintRedirect;
|
|
876
|
+
};
|
|
877
|
+
type BlueprintOnboardingStep = 'wallet' | 'fund' | `@${string}`;
|
|
878
|
+
type BlueprintRedirect = 'interact' | null;
|
|
879
|
+
type BlueprintTask = {
|
|
880
|
+
warp: string;
|
|
881
|
+
cronExpression: string;
|
|
882
|
+
active: boolean;
|
|
883
|
+
};
|
|
884
|
+
type BlueprintShortcut = {
|
|
885
|
+
name: string;
|
|
886
|
+
description: string | null;
|
|
887
|
+
warp: string;
|
|
888
|
+
chat: boolean;
|
|
889
|
+
};
|
|
890
|
+
//#endregion
|
|
891
|
+
//#region src/helpers/string.d.ts
|
|
892
|
+
declare const sanitizeAlphanumeric: (val: string) => string;
|
|
893
|
+
declare const sanitizeNumeric: (val: string) => string;
|
|
894
|
+
declare const toNameInitials: (name?: string) => string;
|
|
895
|
+
declare const toPreviewText: (text: string, maxChars?: number) => string;
|
|
896
|
+
//#endregion
|
|
897
|
+
//#region src/helpers/number.d.ts
|
|
898
|
+
declare const abbreviateNumber: (val: number) => string | number;
|
|
899
|
+
declare const toCurrencyDisplay: (valueInCents: number, currency?: string) => string;
|
|
900
|
+
declare const toHexEncodedNonce: (nonce: number) => string;
|
|
901
|
+
declare const toNftId: (collection: string, nonce: number) => string;
|
|
902
|
+
//#endregion
|
|
903
|
+
//#region src/helpers/file.d.ts
|
|
904
|
+
declare const isFileFormatImage: (filename: string | null) => boolean;
|
|
905
|
+
declare const isFileFormatVideo: (filename: string | null) => boolean;
|
|
906
|
+
declare const isFileFormatAudio: (filename: string | null) => boolean;
|
|
907
|
+
//#endregion
|
|
908
|
+
//#region src/helpers/async.d.ts
|
|
909
|
+
declare const withRetry: <T>(fn: () => Promise<T>, validate: (result: T) => boolean, {
|
|
910
|
+
maxRetries,
|
|
911
|
+
retryDelay
|
|
912
|
+
}?: {
|
|
913
|
+
maxRetries?: number | undefined;
|
|
914
|
+
retryDelay?: number | undefined;
|
|
915
|
+
}) => Promise<T>;
|
|
916
|
+
//#endregion
|
|
917
|
+
//#region src/helpers/asset.d.ts
|
|
918
|
+
declare const getAssetAppLogoUrl: (name: string) => string;
|
|
919
|
+
declare const getAssetChainLogoUrl: (name: string) => string;
|
|
920
|
+
declare const getAssetTokenLogoUrl: (name: string) => string;
|
|
921
|
+
declare const getAssetWalletLogoUrl: (name: string) => string;
|
|
922
|
+
declare const getAssetPartnerLogoUrl: (name: string) => string;
|
|
923
|
+
type WarpScreenshotVariant = 'light' | 'dark' | 'preview' | 'rendered' | 'rendered-dark';
|
|
924
|
+
declare const getWarpScreenshotUrl: (brandSlug: string, warpAlias: string, variant?: WarpScreenshotVariant) => string;
|
|
925
|
+
//#endregion
|
|
926
|
+
//#region src/helpers/warp.d.ts
|
|
927
|
+
declare function resolveWarpText(text?: WarpText | null, locale?: string): string;
|
|
928
|
+
//#endregion
|
|
929
|
+
//#region src/integration/types.d.ts
|
|
930
|
+
type IntegrationType = 'none' | 'webhook' | 'api-token' | 'telegram' | 'slack' | 'whatsapp' | 'twilio' | 'n8n' | 'ai-nexus' | 'apple-health' | 'mcp' | 'x' | 'email' | 'calendar' | 'embed' | 'discord' | 'github' | 'sentry' | 'readwise';
|
|
931
|
+
type IntegrationDetails = {
|
|
932
|
+
type: IntegrationType;
|
|
933
|
+
name: string;
|
|
934
|
+
description?: string;
|
|
935
|
+
logoUrl?: string;
|
|
936
|
+
logoUrlDark?: string;
|
|
937
|
+
slug?: string;
|
|
938
|
+
category?: string;
|
|
939
|
+
[key: string]: unknown;
|
|
940
|
+
};
|
|
941
|
+
type Integration = {
|
|
942
|
+
id: string;
|
|
943
|
+
type: IntegrationType;
|
|
944
|
+
name: string;
|
|
945
|
+
active: boolean;
|
|
946
|
+
createdAt: string;
|
|
947
|
+
details?: IntegrationDetails;
|
|
948
|
+
};
|
|
949
|
+
type SocialPlatform = 'telegram' | 'slack' | 'whatsapp' | 'twilio' | 'discord' | 'github';
|
|
950
|
+
type SocialBot = {
|
|
951
|
+
name: string;
|
|
952
|
+
createdAt: string;
|
|
953
|
+
phoneNumberId?: string;
|
|
954
|
+
phoneNumber?: string;
|
|
955
|
+
applicationId?: string;
|
|
956
|
+
appId?: string;
|
|
957
|
+
installationId?: string;
|
|
958
|
+
};
|
|
959
|
+
type XIntegrationStatus = {
|
|
960
|
+
enabled: boolean;
|
|
961
|
+
integrationId: string | null;
|
|
962
|
+
xAccountLinked: boolean;
|
|
963
|
+
currentAgentName: string | null;
|
|
687
964
|
};
|
|
688
|
-
type
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
965
|
+
type EmbedStatus = {
|
|
966
|
+
integrationId: string;
|
|
967
|
+
agentName: string;
|
|
968
|
+
agentAvatar: string | null;
|
|
969
|
+
active: boolean;
|
|
970
|
+
allowedDomains: string[];
|
|
692
971
|
};
|
|
693
|
-
type
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
972
|
+
type EmailProvider = 'resend' | 'mailgun' | 'sendgrid';
|
|
973
|
+
type CalendarProvider = 'google' | 'apple' | 'microsoft';
|
|
974
|
+
type CalendarStatus = {
|
|
975
|
+
connected: boolean;
|
|
976
|
+
provider?: CalendarProvider;
|
|
977
|
+
providerDisplayName?: string;
|
|
978
|
+
accountEmail?: string;
|
|
979
|
+
lastSynced?: string;
|
|
980
|
+
tokenHealthy?: boolean;
|
|
981
|
+
upcomingEvents?: {
|
|
982
|
+
title: string;
|
|
983
|
+
startAt: string;
|
|
984
|
+
endAt: string;
|
|
985
|
+
allDay: boolean;
|
|
986
|
+
}[];
|
|
703
987
|
};
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
988
|
+
//#endregion
|
|
989
|
+
//#region src/room/types.d.ts
|
|
990
|
+
type RoomId = string;
|
|
991
|
+
type RoomKind = 'default' | 'phone' | 'meeting';
|
|
992
|
+
type Room = {
|
|
993
|
+
id: string;
|
|
707
994
|
name: string;
|
|
708
|
-
description:
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
googleProductId: string | null;
|
|
720
|
-
trialPeriodDays: number;
|
|
721
|
-
isLifetime: boolean;
|
|
722
|
-
};
|
|
723
|
-
nativePriceStr?: string | null;
|
|
995
|
+
description: string | null;
|
|
996
|
+
public: boolean;
|
|
997
|
+
default: boolean;
|
|
998
|
+
active: boolean;
|
|
999
|
+
kind?: RoomKind | null;
|
|
1000
|
+
archivedAt?: string | null;
|
|
1001
|
+
secKey: string | null;
|
|
1002
|
+
createdAt: string | null;
|
|
1003
|
+
contactId?: string | null;
|
|
1004
|
+
agent: AgentSimple;
|
|
1005
|
+
integration: Integration | null;
|
|
724
1006
|
};
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
1007
|
+
//#endregion
|
|
1008
|
+
//#region src/agent/types.d.ts
|
|
1009
|
+
type AgentCharacter = {
|
|
1010
|
+
name: string | null;
|
|
1011
|
+
system: string | null;
|
|
1012
|
+
bio: string | null;
|
|
1013
|
+
};
|
|
1014
|
+
type Agent = {
|
|
1015
|
+
uuid: string;
|
|
1016
|
+
name: string;
|
|
733
1017
|
description: string;
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
1018
|
+
avatar: string;
|
|
1019
|
+
wallets: Wallet[];
|
|
1020
|
+
settings: AgentSettings;
|
|
1021
|
+
marketplace: MarketplaceInfo;
|
|
1022
|
+
character?: AgentCharacter | null;
|
|
1023
|
+
room: Room;
|
|
1024
|
+
role: string | null;
|
|
1025
|
+
blueprint: Blueprint | null;
|
|
1026
|
+
team: string;
|
|
740
1027
|
};
|
|
741
|
-
type
|
|
1028
|
+
type AgentPrivate = {
|
|
1029
|
+
uuid: string;
|
|
742
1030
|
name: string;
|
|
743
|
-
|
|
1031
|
+
description: string;
|
|
1032
|
+
avatar: string;
|
|
1033
|
+
wallets: Wallet[];
|
|
1034
|
+
settings: AgentSettings;
|
|
1035
|
+
marketplace: MarketplaceInfo;
|
|
1036
|
+
password: string | null;
|
|
1037
|
+
authKey: string | null;
|
|
1038
|
+
secKey: string;
|
|
1039
|
+
emailAddress: string | null;
|
|
1040
|
+
phoneNumber: string | null;
|
|
1041
|
+
room: Room;
|
|
1042
|
+
role: string | null;
|
|
1043
|
+
blueprint: Blueprint | null;
|
|
1044
|
+
justCreated?: boolean;
|
|
1045
|
+
team: string;
|
|
744
1046
|
};
|
|
745
|
-
type
|
|
746
|
-
|
|
747
|
-
|
|
1047
|
+
type AgentActionHistoryEntry = {
|
|
1048
|
+
id: string;
|
|
1049
|
+
action: string | null;
|
|
1050
|
+
outcome: 'succeeded' | 'failed';
|
|
1051
|
+
outcomeDetail: string | null;
|
|
1052
|
+
warpIdentifier: string | null;
|
|
1053
|
+
meta: Record<string, unknown> | null;
|
|
1054
|
+
createdAt: string | null;
|
|
748
1055
|
};
|
|
749
|
-
type
|
|
750
|
-
|
|
1056
|
+
type AgentSimple = {
|
|
1057
|
+
uuid: string;
|
|
751
1058
|
name: string;
|
|
752
1059
|
};
|
|
753
|
-
type
|
|
754
|
-
|
|
755
|
-
|
|
1060
|
+
type AgentWalletMode = 'local' | 'cloud' | 'external';
|
|
1061
|
+
type AgentEngine = 'cortex' | 'openclaw';
|
|
1062
|
+
type AgentGender = 'male' | 'female' | 'neutral';
|
|
1063
|
+
type AgentSettings = {
|
|
1064
|
+
auto: boolean;
|
|
1065
|
+
'model.url': string;
|
|
1066
|
+
'voice.output': boolean;
|
|
1067
|
+
'voice.id': string;
|
|
1068
|
+
'agent.gender'?: AgentGender;
|
|
1069
|
+
'proactivity.enabled': boolean;
|
|
1070
|
+
'proactivity.quietHoursStart'?: number;
|
|
1071
|
+
'proactivity.quietHoursEnd'?: number;
|
|
1072
|
+
'proactivity.maxMessagesPerDay'?: number;
|
|
1073
|
+
'proactivity.timezone'?: string;
|
|
1074
|
+
'proactivity.blockedBehaviors'?: string[];
|
|
1075
|
+
engine: AgentEngine;
|
|
1076
|
+
'training.url'?: string | null;
|
|
1077
|
+
'training.status'?: 'idle' | 'training' | 'completed' | 'failed' | null;
|
|
1078
|
+
'training.recrawlInterval'?: number | null;
|
|
1079
|
+
'email_provider'?: EmailProvider | null;
|
|
756
1080
|
};
|
|
757
|
-
type
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
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;
|
|
1081
|
+
type LocalAgentWallet = {
|
|
1082
|
+
provider: WarpWalletProvider;
|
|
1083
|
+
address: string;
|
|
1084
|
+
mnemonic?: string | null;
|
|
1085
|
+
privateKey?: string | null;
|
|
775
1086
|
};
|
|
776
|
-
type
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
1087
|
+
type AgentExecuteHandler = (prompt: string, options?: AgentExecuteOptions) => void;
|
|
1088
|
+
type AgentExecuteOptions = {
|
|
1089
|
+
audio?: File;
|
|
1090
|
+
sender?: string;
|
|
1091
|
+
media?: Media[];
|
|
1092
|
+
ghost?: boolean;
|
|
1093
|
+
context?: Record<string, unknown>;
|
|
782
1094
|
};
|
|
783
|
-
|
|
1095
|
+
//#endregion
|
|
1096
|
+
//#region src/alert/types.d.ts
|
|
1097
|
+
type Alert = {
|
|
784
1098
|
id: string;
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
1099
|
+
chain: string;
|
|
1100
|
+
warp: string;
|
|
1101
|
+
key: string;
|
|
1102
|
+
event: string;
|
|
1103
|
+
contract: string;
|
|
1104
|
+
active: boolean;
|
|
789
1105
|
createdAt: string;
|
|
790
|
-
|
|
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;
|
|
1106
|
+
agent: Agent | null;
|
|
799
1107
|
};
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
1108
|
+
//#endregion
|
|
1109
|
+
//#region src/api/types.d.ts
|
|
1110
|
+
type ApiToken = {
|
|
1111
|
+
id: number;
|
|
1112
|
+
name: string;
|
|
1113
|
+
createdAt: string;
|
|
1114
|
+
token?: string;
|
|
804
1115
|
};
|
|
805
1116
|
//#endregion
|
|
806
1117
|
//#region src/budget/types.d.ts
|
|
@@ -880,9 +1191,11 @@ type Contact = {
|
|
|
880
1191
|
title: string | null;
|
|
881
1192
|
birthday: string | null;
|
|
882
1193
|
website: string | null;
|
|
1194
|
+
location: string | null;
|
|
883
1195
|
socials: Record<string, string> | null;
|
|
884
1196
|
notes: string | null;
|
|
885
1197
|
tags: string[] | null;
|
|
1198
|
+
props?: Record<string, string> | null;
|
|
886
1199
|
};
|
|
887
1200
|
type ContactActivity = {
|
|
888
1201
|
id: string;
|
|
@@ -900,9 +1213,11 @@ type ContactFormData = {
|
|
|
900
1213
|
title?: string | null;
|
|
901
1214
|
birthday?: string | null;
|
|
902
1215
|
website?: string | null;
|
|
1216
|
+
location?: string | null;
|
|
903
1217
|
socials?: Record<string, string> | null;
|
|
904
1218
|
notes?: string | null;
|
|
905
1219
|
tags?: string[] | null;
|
|
1220
|
+
props?: Record<string, string> | null;
|
|
906
1221
|
};
|
|
907
1222
|
//#endregion
|
|
908
1223
|
//#region src/contract/types.d.ts
|
|
@@ -998,6 +1313,59 @@ type Desk = {
|
|
|
998
1313
|
updatedAt: number;
|
|
999
1314
|
};
|
|
1000
1315
|
//#endregion
|
|
1316
|
+
//#region src/element/types.d.ts
|
|
1317
|
+
type ElementType = 'character' | 'environment' | 'style' | 'product' | 'brand';
|
|
1318
|
+
type ElementSpec = {
|
|
1319
|
+
baseColor?: string | null;
|
|
1320
|
+
material?: string | null;
|
|
1321
|
+
texture?: string | null;
|
|
1322
|
+
pattern?: string | null;
|
|
1323
|
+
finish?: string | null;
|
|
1324
|
+
condition?: string | null;
|
|
1325
|
+
setting?: string | null;
|
|
1326
|
+
background?: string | null;
|
|
1327
|
+
surface?: string | null;
|
|
1328
|
+
weather?: string | null;
|
|
1329
|
+
timeOfDay?: string | null;
|
|
1330
|
+
season?: string | null;
|
|
1331
|
+
lightingType?: string | null;
|
|
1332
|
+
lightingColor?: string | null;
|
|
1333
|
+
lightingDirection?: string | null;
|
|
1334
|
+
mood?: string | null;
|
|
1335
|
+
atmosphere?: string | null;
|
|
1336
|
+
colorPalette?: string | null;
|
|
1337
|
+
style?: string | null;
|
|
1338
|
+
rendering?: string | null;
|
|
1339
|
+
colorGrade?: string | null;
|
|
1340
|
+
shotType?: string | null;
|
|
1341
|
+
cameraAngle?: string | null;
|
|
1342
|
+
lens?: string | null;
|
|
1343
|
+
depthOfField?: string | null;
|
|
1344
|
+
framing?: string | null;
|
|
1345
|
+
avoid?: string | null;
|
|
1346
|
+
};
|
|
1347
|
+
type ElementVariation = {
|
|
1348
|
+
id: string;
|
|
1349
|
+
label: string | null;
|
|
1350
|
+
overrides: ElementSpec | null;
|
|
1351
|
+
model: string | null;
|
|
1352
|
+
aspectRatio: string;
|
|
1353
|
+
primaryMediaId: string | null;
|
|
1354
|
+
primaryImage: Media | null;
|
|
1355
|
+
images: Media[];
|
|
1356
|
+
createdAt: string;
|
|
1357
|
+
};
|
|
1358
|
+
type Element = {
|
|
1359
|
+
id: string;
|
|
1360
|
+
name: string;
|
|
1361
|
+
type: ElementType;
|
|
1362
|
+
description: string | null;
|
|
1363
|
+
spec: ElementSpec | null;
|
|
1364
|
+
media: Media[];
|
|
1365
|
+
variations: ElementVariation[];
|
|
1366
|
+
createdAt: string;
|
|
1367
|
+
};
|
|
1368
|
+
//#endregion
|
|
1001
1369
|
//#region src/document/types.d.ts
|
|
1002
1370
|
type Document = {
|
|
1003
1371
|
id: string;
|
|
@@ -1104,6 +1472,8 @@ type Item = {
|
|
|
1104
1472
|
goalId: string | null;
|
|
1105
1473
|
order: number | null;
|
|
1106
1474
|
assignedAgents: string[];
|
|
1475
|
+
assignedContacts: string[];
|
|
1476
|
+
assignedToUserIds: string[];
|
|
1107
1477
|
executionStatus: ItemExecutionStatus | null;
|
|
1108
1478
|
createdAt: string;
|
|
1109
1479
|
updatedAt: string;
|
|
@@ -1116,6 +1486,21 @@ type ItemCreatePayload = {
|
|
|
1116
1486
|
dueDate?: string;
|
|
1117
1487
|
goalId?: string;
|
|
1118
1488
|
status?: ItemStatus;
|
|
1489
|
+
agents?: string[];
|
|
1490
|
+
contactIds?: string[];
|
|
1491
|
+
assignedToIds?: string[];
|
|
1492
|
+
};
|
|
1493
|
+
type ItemUpdatePayload = {
|
|
1494
|
+
title?: string;
|
|
1495
|
+
description?: string | null;
|
|
1496
|
+
status?: ItemStatus;
|
|
1497
|
+
priority?: ItemPriority;
|
|
1498
|
+
tags?: string[];
|
|
1499
|
+
dueDate?: string | null;
|
|
1500
|
+
goalId?: string | null;
|
|
1501
|
+
agents?: string[];
|
|
1502
|
+
contactIds?: string[];
|
|
1503
|
+
assignedToIds?: string[];
|
|
1119
1504
|
};
|
|
1120
1505
|
//#endregion
|
|
1121
1506
|
//#region src/marketing/types.d.ts
|
|
@@ -1140,191 +1525,6 @@ type DemoFlow = {
|
|
|
1140
1525
|
messages: DemoMessage[];
|
|
1141
1526
|
};
|
|
1142
1527
|
//#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
1528
|
//#region src/mcp/types.d.ts
|
|
1329
1529
|
type McpToolCallStatus = 'pending' | 'success' | 'error';
|
|
1330
1530
|
type McpToolCall = {
|
|
@@ -1361,40 +1561,68 @@ type TranscriptEntry = {
|
|
|
1361
1561
|
text: string;
|
|
1362
1562
|
isFinal: boolean;
|
|
1363
1563
|
timestamp: number;
|
|
1564
|
+
speakerId?: number;
|
|
1565
|
+
speakerName?: string;
|
|
1364
1566
|
};
|
|
1365
1567
|
type BookmarkEntry = {
|
|
1366
1568
|
id: string;
|
|
1367
1569
|
timestamp: number;
|
|
1368
1570
|
transcriptEntryId: string;
|
|
1369
1571
|
};
|
|
1370
|
-
type MeetingBotStatus = 'joining' | 'in_meeting' | 'left' | 'failed';
|
|
1371
1572
|
type MeetingParticipant = {
|
|
1372
1573
|
name: string | null;
|
|
1373
1574
|
profileImageUrl: string | null;
|
|
1374
1575
|
};
|
|
1576
|
+
type MeetingSpeakerAssignment = {
|
|
1577
|
+
speakerId: number;
|
|
1578
|
+
name: string;
|
|
1579
|
+
contactId: string | null;
|
|
1580
|
+
};
|
|
1375
1581
|
type Meeting = {
|
|
1376
1582
|
id: string;
|
|
1377
1583
|
code: string;
|
|
1378
1584
|
name: string | null;
|
|
1379
1585
|
room: Room | null;
|
|
1380
1586
|
inviteUrl: string;
|
|
1381
|
-
status:
|
|
1382
|
-
|
|
1587
|
+
status: MeetingStatus;
|
|
1588
|
+
conferenceProvider: MeetingConferenceProvider | null;
|
|
1589
|
+
conferenceUrl: string | null;
|
|
1590
|
+
conferenceExternalId: string | null;
|
|
1591
|
+
captureMode: 'desktop_local' | null;
|
|
1383
1592
|
transcriptUrl: string | null;
|
|
1384
1593
|
summaryUrl: string | null;
|
|
1385
1594
|
participants?: MeetingParticipant[];
|
|
1386
|
-
|
|
1595
|
+
speakerAssignments?: MeetingSpeakerAssignment[] | null;
|
|
1596
|
+
scheduledAt: string | null;
|
|
1597
|
+
calendarEventId: number | null;
|
|
1598
|
+
startedAt: string | null;
|
|
1387
1599
|
endedAt: string | null;
|
|
1388
1600
|
createdAt: string;
|
|
1389
1601
|
};
|
|
1602
|
+
type MeetingStatus = 'active' | 'completed' | 'analyzed' | 'scheduled' | 'cancelled';
|
|
1603
|
+
type MeetingConferenceProvider = 'google_meet' | 'teams' | 'zoom';
|
|
1604
|
+
type MeetingFeature = 'transcription' | 'summary' | 'insights' | 'actions';
|
|
1605
|
+
type MeetingJoinTeam = {
|
|
1606
|
+
name: string;
|
|
1607
|
+
logo: string | null;
|
|
1608
|
+
};
|
|
1390
1609
|
type MeetingJoinInfo = {
|
|
1391
1610
|
id: string;
|
|
1392
1611
|
code: string;
|
|
1393
1612
|
name: string | null;
|
|
1394
1613
|
inviteUrl: string;
|
|
1395
1614
|
agentName: string;
|
|
1396
|
-
|
|
1615
|
+
team: MeetingJoinTeam;
|
|
1616
|
+
status: MeetingStatus;
|
|
1617
|
+
isPhysical: boolean;
|
|
1618
|
+
scheduledAt: string | null;
|
|
1619
|
+
scheduledEndAt: string | null;
|
|
1620
|
+
timezone: string;
|
|
1621
|
+
conferenceUrl: string | null;
|
|
1622
|
+
conferenceProvider: MeetingConferenceProvider | null;
|
|
1397
1623
|
endedAt: string | null;
|
|
1624
|
+
canCancel: boolean;
|
|
1625
|
+
features: Record<MeetingFeature, boolean>;
|
|
1398
1626
|
};
|
|
1399
1627
|
type MeetingTranscriptEntry = {
|
|
1400
1628
|
speaker: 'user' | 'agent';
|
|
@@ -1606,7 +1834,7 @@ type PermissionConfigType = {
|
|
|
1606
1834
|
//#endregion
|
|
1607
1835
|
//#region src/protocol/types.d.ts
|
|
1608
1836
|
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' | '
|
|
1837
|
+
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' | 'NFC_WRITE' | 'twilio.sms';
|
|
1610
1838
|
type ChatClientThought = 'processing' | 'searching' | 'evaluating' | 'transcribing' | 'generating' | 'reflecting' | 'text-transform' | 'finished';
|
|
1611
1839
|
type AgentMessageOptions = {
|
|
1612
1840
|
delay?: number;
|
|
@@ -1624,7 +1852,8 @@ type AgentMessageMeta = {
|
|
|
1624
1852
|
proactive?: boolean;
|
|
1625
1853
|
timeSavedSeconds?: number;
|
|
1626
1854
|
currentUsage?: number;
|
|
1627
|
-
limit?: number;
|
|
1855
|
+
limit?: number; /** Room ID to navigate to — renders a room-change card inline below the message. */
|
|
1856
|
+
roomChange?: string;
|
|
1628
1857
|
};
|
|
1629
1858
|
type ChatStreamData = {
|
|
1630
1859
|
message: MessageId | undefined;
|
|
@@ -1637,6 +1866,7 @@ type ChatStreamData = {
|
|
|
1637
1866
|
media?: Media[];
|
|
1638
1867
|
desk?: Desk;
|
|
1639
1868
|
timeSavedSeconds?: number;
|
|
1869
|
+
roomChange?: string;
|
|
1640
1870
|
} | null;
|
|
1641
1871
|
options?: {
|
|
1642
1872
|
error?: boolean;
|
|
@@ -2023,12 +2253,82 @@ declare const OgImageColors: {
|
|
|
2023
2253
|
};
|
|
2024
2254
|
};
|
|
2025
2255
|
//#endregion
|
|
2256
|
+
//#region src/ogimage/helpers.d.ts
|
|
2257
|
+
type OgResourceType = 'meeting';
|
|
2258
|
+
type OgResourceParams = {
|
|
2259
|
+
meeting: {
|
|
2260
|
+
code: string;
|
|
2261
|
+
};
|
|
2262
|
+
};
|
|
2263
|
+
declare function ogImageUrl<T extends OgResourceType>(type: T, params: OgResourceParams[T]): string;
|
|
2264
|
+
//#endregion
|
|
2026
2265
|
//#region src/project/types.d.ts
|
|
2027
2266
|
type ProjectStatus = 'draft' | 'planned' | 'render-ready' | 'rendered' | 'composed' | 'exported';
|
|
2028
2267
|
type ProjectOutputPreset = '9:16 social' | '16:9 launch' | '1:1 square teaser';
|
|
2268
|
+
type ProjectOutputType = 'video' | 'slideshow' | 'clips';
|
|
2029
2269
|
type ProjectRenderMode = 'draft' | 'final';
|
|
2030
2270
|
type ProjectAspectRatio = '16:9' | '9:16' | '1:1';
|
|
2031
|
-
type ProjectStudioStage = 'questions' | 'concept' | 'draft-ready';
|
|
2271
|
+
type ProjectStudioStage = 'questions' | 'concept' | 'draft-ready' | 'source-processing' | 'candidates-ready';
|
|
2272
|
+
type ProjectSourceMedia = {
|
|
2273
|
+
id?: string | null;
|
|
2274
|
+
name?: string | null;
|
|
2275
|
+
mime?: string | null;
|
|
2276
|
+
url: string;
|
|
2277
|
+
};
|
|
2278
|
+
type ProjectTranscriptSegment = {
|
|
2279
|
+
id: string;
|
|
2280
|
+
startMs: number;
|
|
2281
|
+
endMs: number;
|
|
2282
|
+
text: string;
|
|
2283
|
+
};
|
|
2284
|
+
type ProjectTranscript = {
|
|
2285
|
+
text: string;
|
|
2286
|
+
language?: string | null;
|
|
2287
|
+
durationSeconds?: number | null;
|
|
2288
|
+
segments?: ProjectTranscriptSegment[];
|
|
2289
|
+
};
|
|
2290
|
+
type ProjectClipCandidate = {
|
|
2291
|
+
id: string;
|
|
2292
|
+
title: string;
|
|
2293
|
+
excerpt: string;
|
|
2294
|
+
startMs: number;
|
|
2295
|
+
endMs: number;
|
|
2296
|
+
durationMs: number;
|
|
2297
|
+
score: number;
|
|
2298
|
+
reason: string;
|
|
2299
|
+
platformFit?: string[] | null;
|
|
2300
|
+
selected?: boolean;
|
|
2301
|
+
viralityScore?: number | null;
|
|
2302
|
+
thumbnailUrl?: string | null;
|
|
2303
|
+
};
|
|
2304
|
+
type ProjectSelectedClip = {
|
|
2305
|
+
id: string;
|
|
2306
|
+
candidateId?: string | null;
|
|
2307
|
+
title: string;
|
|
2308
|
+
excerpt?: string | null;
|
|
2309
|
+
startMs: number;
|
|
2310
|
+
endMs: number;
|
|
2311
|
+
durationMs: number;
|
|
2312
|
+
captionsEnabled?: boolean;
|
|
2313
|
+
captionText?: string | null;
|
|
2314
|
+
viralityScore?: number | null;
|
|
2315
|
+
};
|
|
2316
|
+
type ProjectCaptionStyle = {
|
|
2317
|
+
preset?: 'bold' | 'subtitle' | 'minimal' | 'brand' | null;
|
|
2318
|
+
fontSize?: number | null;
|
|
2319
|
+
primaryColor?: string | null;
|
|
2320
|
+
highlightColor?: string | null;
|
|
2321
|
+
position?: 'bottom' | 'center' | null;
|
|
2322
|
+
};
|
|
2323
|
+
type ProjectClips = {
|
|
2324
|
+
sourceMedia?: ProjectSourceMedia[];
|
|
2325
|
+
sourceUrl?: string | null;
|
|
2326
|
+
transcript?: ProjectTranscript | null;
|
|
2327
|
+
candidates?: ProjectClipCandidate[];
|
|
2328
|
+
selected?: ProjectSelectedClip[];
|
|
2329
|
+
captionStyle?: ProjectCaptionStyle | null;
|
|
2330
|
+
targetLanguage?: string | null;
|
|
2331
|
+
};
|
|
2032
2332
|
type ProjectStudioHistoryEntry = {
|
|
2033
2333
|
role: 'user' | 'assistant';
|
|
2034
2334
|
content: string;
|
|
@@ -2104,25 +2404,31 @@ type Project = {
|
|
|
2104
2404
|
status: ProjectStatus;
|
|
2105
2405
|
brief: string | null;
|
|
2106
2406
|
outputPreset: ProjectOutputPreset;
|
|
2407
|
+
outputType: ProjectOutputType;
|
|
2107
2408
|
selectedSkills: string[];
|
|
2108
2409
|
targetPlatforms: string[];
|
|
2109
2410
|
script: Record<string, any> | null;
|
|
2110
2411
|
storyboard: ProjectShot[];
|
|
2111
2412
|
referenceImages: Array<Record<string, any>>;
|
|
2413
|
+
clips?: ProjectClips | null;
|
|
2112
2414
|
generatedImages: Array<Record<string, any>>;
|
|
2113
2415
|
generatedVideos: Array<Record<string, any>>;
|
|
2114
2416
|
generatedAudio: Array<Record<string, any>>;
|
|
2115
2417
|
assembly: Record<string, any> | null;
|
|
2116
2418
|
soundtrack: Record<string, any> | null;
|
|
2117
2419
|
finalAsset: Record<string, any> | null;
|
|
2420
|
+
nsfw: boolean;
|
|
2118
2421
|
studioState?: ProjectStudioState | null;
|
|
2119
2422
|
revisions: Array<Record<string, any>>;
|
|
2423
|
+
elements: Element[];
|
|
2424
|
+
latestExport?: ProjectExport | null;
|
|
2120
2425
|
team: string | null;
|
|
2121
2426
|
createdAt: string;
|
|
2122
2427
|
updatedAt: string;
|
|
2123
2428
|
};
|
|
2124
|
-
type ProjectMutation = Partial<Pick<Project, 'name' | 'brief' | 'status' | 'outputPreset' | 'selectedSkills' | 'targetPlatforms' | 'storyboard' | 'assembly' | 'soundtrack' | 'finalAsset' | 'referenceImages' | 'generatedImages' | 'generatedVideos' | 'generatedAudio'>> & {
|
|
2429
|
+
type ProjectMutation = Partial<Pick<Project, 'name' | 'brief' | 'status' | 'outputPreset' | 'outputType' | 'selectedSkills' | 'targetPlatforms' | 'storyboard' | 'assembly' | 'soundtrack' | 'finalAsset' | 'referenceImages' | 'clips' | 'generatedImages' | 'generatedVideos' | 'generatedAudio' | 'nsfw' | 'studioState'>> & {
|
|
2125
2430
|
script?: Record<string, any> | null;
|
|
2431
|
+
outputAssets?: Record<string, any> | null;
|
|
2126
2432
|
};
|
|
2127
2433
|
type ProjectPlan = {
|
|
2128
2434
|
summary: {
|
|
@@ -2204,16 +2510,29 @@ type ProjectSoundtrack = {
|
|
|
2204
2510
|
soundtrackAsset?: Record<string, any> | null;
|
|
2205
2511
|
};
|
|
2206
2512
|
};
|
|
2513
|
+
type ProjectExportAsset = {
|
|
2514
|
+
id: string;
|
|
2515
|
+
url: string;
|
|
2516
|
+
name: string;
|
|
2517
|
+
mimeType: string;
|
|
2518
|
+
thumbnailUrl?: string | null;
|
|
2519
|
+
};
|
|
2207
2520
|
type ProjectExport = {
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2521
|
+
uuid: string;
|
|
2522
|
+
name: string;
|
|
2523
|
+
assets: ProjectExportAsset[];
|
|
2524
|
+
script: Record<string, any> | null;
|
|
2525
|
+
clientName: string | null;
|
|
2526
|
+
message: string | null;
|
|
2527
|
+
views: number;
|
|
2528
|
+
expiresAt: string | null;
|
|
2529
|
+
url: string;
|
|
2530
|
+
createdAt: string;
|
|
2531
|
+
};
|
|
2532
|
+
type ProjectExportResponse = {
|
|
2533
|
+
project: Project;
|
|
2534
|
+
export: ProjectExport;
|
|
2535
|
+
exportUrl: string;
|
|
2217
2536
|
};
|
|
2218
2537
|
type ProjectStudioResponse = {
|
|
2219
2538
|
project: Project;
|
|
@@ -2235,6 +2554,22 @@ type Reminder = {
|
|
|
2235
2554
|
createdAt: string;
|
|
2236
2555
|
};
|
|
2237
2556
|
//#endregion
|
|
2557
|
+
//#region src/service/types.d.ts
|
|
2558
|
+
type Service = {
|
|
2559
|
+
id: string;
|
|
2560
|
+
slug: string;
|
|
2561
|
+
name: string;
|
|
2562
|
+
price: number;
|
|
2563
|
+
durationMinutes: number;
|
|
2564
|
+
category: string | null;
|
|
2565
|
+
description: string | null;
|
|
2566
|
+
active: boolean;
|
|
2567
|
+
digital: boolean;
|
|
2568
|
+
public: boolean;
|
|
2569
|
+
createdAt: string;
|
|
2570
|
+
updatedAt: string;
|
|
2571
|
+
};
|
|
2572
|
+
//#endregion
|
|
2238
2573
|
//#region src/shortcut/types.d.ts
|
|
2239
2574
|
type Shortcut = {
|
|
2240
2575
|
id: string;
|
|
@@ -2243,10 +2578,57 @@ type Shortcut = {
|
|
|
2243
2578
|
warp: string;
|
|
2244
2579
|
inputs: string[];
|
|
2245
2580
|
chat: boolean;
|
|
2581
|
+
tag: boolean;
|
|
2246
2582
|
createdAt: string;
|
|
2247
2583
|
agent: Agent | null;
|
|
2248
2584
|
};
|
|
2249
2585
|
//#endregion
|
|
2586
|
+
//#region src/site/types.d.ts
|
|
2587
|
+
type SiteTeam = {
|
|
2588
|
+
name: string;
|
|
2589
|
+
slug: string;
|
|
2590
|
+
logoUrl: string | null;
|
|
2591
|
+
};
|
|
2592
|
+
type SiteAgent = {
|
|
2593
|
+
uuid: string | null;
|
|
2594
|
+
};
|
|
2595
|
+
type Site = {
|
|
2596
|
+
id: number;
|
|
2597
|
+
brandSlug: string;
|
|
2598
|
+
customDomain: string | null;
|
|
2599
|
+
enabled: boolean;
|
|
2600
|
+
team: SiteTeam | null;
|
|
2601
|
+
agent: SiteAgent | null;
|
|
2602
|
+
settings: Record<string, unknown>;
|
|
2603
|
+
};
|
|
2604
|
+
type SiteRoute = {
|
|
2605
|
+
path: string;
|
|
2606
|
+
warp: string;
|
|
2607
|
+
label: WarpI18nText;
|
|
2608
|
+
nav?: boolean;
|
|
2609
|
+
hiddenFields?: string[];
|
|
2610
|
+
};
|
|
2611
|
+
type BrandSiteConfig = {
|
|
2612
|
+
enabled: boolean;
|
|
2613
|
+
auth?: boolean;
|
|
2614
|
+
indexPath: string;
|
|
2615
|
+
routes: SiteRoute[];
|
|
2616
|
+
name?: string;
|
|
2617
|
+
logoUrl?: string | null;
|
|
2618
|
+
};
|
|
2619
|
+
type SiteBrand = {
|
|
2620
|
+
slug: string;
|
|
2621
|
+
configureRoute: Pick<SiteRoute, 'path' | 'label'> | null;
|
|
2622
|
+
};
|
|
2623
|
+
type AggregatedRoute = {
|
|
2624
|
+
path: string;
|
|
2625
|
+
warp: string;
|
|
2626
|
+
label: WarpI18nText;
|
|
2627
|
+
nav?: boolean;
|
|
2628
|
+
hiddenFields?: string[];
|
|
2629
|
+
moduleSlug?: string;
|
|
2630
|
+
};
|
|
2631
|
+
//#endregion
|
|
2250
2632
|
//#region src/stats/types.d.ts
|
|
2251
2633
|
type UserStats = {
|
|
2252
2634
|
totalMessages: number;
|
|
@@ -2314,6 +2696,7 @@ type Task = {
|
|
|
2314
2696
|
runs: number;
|
|
2315
2697
|
createdAt: string;
|
|
2316
2698
|
agent: Agent | null;
|
|
2699
|
+
inputs: Record<string, string> | null;
|
|
2317
2700
|
};
|
|
2318
2701
|
type SchedulePreset = {
|
|
2319
2702
|
label: string;
|
|
@@ -2455,4 +2838,4 @@ type CliSessionStatus = {
|
|
|
2455
2838
|
meta: CliSessionMeta | null;
|
|
2456
2839
|
};
|
|
2457
2840
|
//#endregion
|
|
2458
|
-
export { Achievement, Affiliate, AffiliateStatus, AffiliateTier, AffiliateTierName, Agent, AgentActionHistoryEntry, AgentCharacter, AgentDelegatable, AgentEngine, AgentExecuteHandler, AgentExecuteOptions, AgentGender, AgentMessageMeta, AgentMessageOptions,
|
|
2841
|
+
export { Achievement, Affiliate, AffiliateStatus, AffiliateTier, AffiliateTierName, Agent, AgentActionHistoryEntry, AgentCharacter, AgentDelegatable, AgentEngine, AgentExecuteHandler, AgentExecuteOptions, AgentGender, AgentMessageMeta, AgentMessageOptions, AgentPrivate, AgentSettings, AgentSimple, AgentWalletMode, AgentWebhookWarp, AggregatedRoute, AiCostEntry, AiCostsResponse, AiCostsSummary, Alert, ApiToken, AppEnv, AppFile, AppFileType, AppIngestion, BillingAddress, Blueprint, BlueprintOnboardingStep, BlueprintRedirect, BlueprintSettings, BlueprintShortcut, BlueprintTask, BlueprintTeam, BoardSummaryViewable, BookmarkEntry, BrandBackend, BrandIntegration, BrandIntegrationAction, BrandIntegrationProvider, BrandSearchHit, BrandSiteConfig, 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, Coupon, DefaultCodeMetadata, DemoFlow, DemoMessage, Desk, DeskItem, DeskItemRole, Document, Earning, Element, ElementSpec, ElementType, ElementVariation, EmailProvider, 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, ItemUpdatePayload, ItemViewable, JoaiUrls, Kyc, KycStatus, LocalAgentWallet, MarketplaceAgent, MarketplaceCheckoutItem, MarketplaceData, MarketplaceEntityType, MarketplaceInfo, MarketplaceItem, MarketplaceListing, MarketplacePriceTier, MarketplacePricing, MarketplacePurchasable, MarketplacePurchaseResult, McpToolCall, McpToolCallBroadcast, McpToolCallStatus, Media, MediaAttributes, MediaItems, MediaLibraryAttributes, MediaLibraryItems, MediaMime, Meeting, MeetingConferenceProvider, MeetingFeature, MeetingJoinInfo, MeetingJoinTeam, MeetingParticipant, MeetingSessionState, MeetingSpeakerAssignment, MeetingStatus, 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, OrderItem, OrderStatus, PaymentProvider, PayoutEntry, PeriodTypeLabels, PeriodTypeOptions, PermissionConfigType, PersonaQuestionable, Plan, PlanBenefit, PlanExtra, PlanFeature, PlanInterval, PolicyMethod, PolicySetting, PricingModel, Product, ProductDiscount, ProductPieces, ProductRating, ProductVariation, 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, PurchaseOptions, PurchaseResult, RampProvider, RampProviderInfo, Reactions, RecentExperience, Reminder, Room, RoomId, RoomKind, ScInfo, SchedulePreset, SecretAuthorizable, SecretSettable, SendableActivityUpdate, SendableAgentAction, SendableAgentMessage, SendableAgentThought, SendableMedia, SendableUserMessage, Service, Shortcut, Site, SiteAgent, SiteBrand, SiteRoute, SiteTeam, Skill, SkillMediaBindingRole, SkillMediaBindingRoleValue, SkillScope, SkillScopeValue, SkillType, SkillTypeValue, SocialAuthProvider, SocialBot, SocialPlatform, Streak, SubscriptionPlan, Swarm, Task, Team, TeamBrand, 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, WarpExtras, WarpExtrasFaq, WarpInputable, WarpScreenshotVariant, WarpSearchHit, WarpSelectable, WarpSelectableDetails, WarpSuggestion, WarpTestable, WarpViewable, Webhook, WebhookTriggerEvent, WorkspaceCloudFile, WorkspaceContext, WorkspaceInfo, WorkspaceSettings, XIntegrationStatus, abbreviateNumber, getAgentsBaseUrl, getApiBaseUrl, getAppBaseUrl, getAssetAppLogoUrl, getAssetChainLogoUrl, getAssetPartnerLogoUrl, getAssetTokenLogoUrl, getAssetWalletLogoUrl, getCortexBaseUrl, getDigestBaseUrl, getMarketplaceBaseUrl, getMcpServerAgentUrl, getSiteUrl, getSitesRootDomain, getWarpScreenshotUrl, isFileFormatAudio, isFileFormatImage, isFileFormatVideo, ogImageUrl, resolveWarpText, sanitizeAlphanumeric, sanitizeNumeric, toCurrencyDisplay, toHexEncodedNonce, toNameInitials, toNftId, toPreviewText, withRetry };
|