@builder.io/ai-utils 0.17.2 → 0.18.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/package.json +1 -1
- package/src/codegen.d.ts +3 -1
- package/src/completion.d.ts +151 -147
- package/src/events.d.ts +333 -281
- package/src/mapping.d.ts +66 -66
- package/src/messages.d.ts +283 -214
- package/src/messages.js +12 -12
- package/src/organization.d.ts +351 -334
- package/src/projects.d.ts +573 -424
- package/src/projects.js +18 -17
- package/src/repo-indexing.d.ts +114 -96
- package/src/repo-indexing.js +5 -5
- package/src/settings.d.ts +15 -13
- package/src/settings.js +27 -26
- package/src/vscode-tunnel.d.ts +23 -8
- package/src/vscode-tunnel.js +36 -22
package/src/projects.d.ts
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
FileOverride,
|
|
3
|
+
EnvironmentVariable,
|
|
4
|
+
LaunchServerState,
|
|
5
|
+
LaunchServerStatus,
|
|
6
|
+
BranchBackup,
|
|
7
|
+
CommitMode,
|
|
8
|
+
CustomInstruction,
|
|
9
|
+
CustomAgentDefinition,
|
|
10
|
+
} from "./codegen";
|
|
2
11
|
/**
|
|
3
12
|
* Temporary type for date fields during migration.
|
|
4
13
|
* Handles both old (string) and new (number) formats.
|
|
@@ -11,162 +20,291 @@ export type InMigrationDate = string | number;
|
|
|
11
20
|
*/
|
|
12
21
|
export type InMigrationDateNullable = InMigrationDate | null | undefined;
|
|
13
22
|
export interface ConfigStatus {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
23
|
+
isReady: boolean;
|
|
24
|
+
lastUpdated: string;
|
|
25
|
+
[key: string]: unknown;
|
|
17
26
|
}
|
|
18
27
|
interface BaseMessage {
|
|
19
|
-
|
|
28
|
+
timestamp: string;
|
|
20
29
|
}
|
|
21
30
|
export interface InitializingMessage extends BaseMessage {
|
|
22
|
-
|
|
23
|
-
|
|
31
|
+
state: "initializing";
|
|
32
|
+
message: string;
|
|
24
33
|
}
|
|
25
34
|
export interface FetchingGithubTokenMessage extends BaseMessage {
|
|
26
|
-
|
|
27
|
-
|
|
35
|
+
state: "fetchingGithubToken";
|
|
36
|
+
message: string;
|
|
28
37
|
}
|
|
29
38
|
export interface FetchingFusionKeyMessage extends BaseMessage {
|
|
30
|
-
|
|
31
|
-
|
|
39
|
+
state: "fetchingFusionKey";
|
|
40
|
+
message: string;
|
|
32
41
|
}
|
|
33
42
|
export interface CheckingAppMessage extends BaseMessage {
|
|
34
|
-
|
|
35
|
-
|
|
43
|
+
state: "checkingApp";
|
|
44
|
+
message: string;
|
|
36
45
|
}
|
|
37
46
|
export interface CleaningUpAppMessage extends BaseMessage {
|
|
38
|
-
|
|
39
|
-
|
|
47
|
+
state: "cleaningUpApp";
|
|
48
|
+
message: string;
|
|
40
49
|
}
|
|
41
50
|
export interface CreatingAppMessage extends BaseMessage {
|
|
42
|
-
|
|
43
|
-
|
|
51
|
+
state: "creatingApp";
|
|
52
|
+
message: string;
|
|
44
53
|
}
|
|
45
54
|
export interface CheckingIPMessage extends BaseMessage {
|
|
46
|
-
|
|
47
|
-
|
|
55
|
+
state: "checkingIP";
|
|
56
|
+
message: string;
|
|
48
57
|
}
|
|
49
58
|
export interface AllocatingIPMessage extends BaseMessage {
|
|
50
|
-
|
|
51
|
-
|
|
59
|
+
state: "allocatingIP";
|
|
60
|
+
message: string;
|
|
52
61
|
}
|
|
53
62
|
export interface CheckingMachineMessage extends BaseMessage {
|
|
54
|
-
|
|
55
|
-
|
|
63
|
+
state: "checkingMachine";
|
|
64
|
+
message: string;
|
|
56
65
|
}
|
|
57
66
|
export interface CheckingVolumeMessage extends BaseMessage {
|
|
58
|
-
|
|
59
|
-
|
|
67
|
+
state: "checkingVolume";
|
|
68
|
+
message: string;
|
|
60
69
|
}
|
|
61
70
|
export interface ForkingVolumeMessage extends BaseMessage {
|
|
62
|
-
|
|
63
|
-
|
|
71
|
+
state: "forkingVolume";
|
|
72
|
+
message: string;
|
|
64
73
|
}
|
|
65
74
|
export interface RetryingWithNewRegionMessage extends BaseMessage {
|
|
66
|
-
|
|
67
|
-
|
|
75
|
+
state: "retryingWithNewRegion";
|
|
76
|
+
message: string;
|
|
68
77
|
}
|
|
69
78
|
export interface WaitingBeforePollingMessage extends BaseMessage {
|
|
70
|
-
|
|
71
|
-
|
|
79
|
+
state: "waitingBeforePolling";
|
|
80
|
+
message: string;
|
|
72
81
|
}
|
|
73
82
|
export interface PollingMachineStatusMessage extends BaseMessage {
|
|
74
|
-
|
|
75
|
-
|
|
83
|
+
state: "pollingMachineStatus";
|
|
84
|
+
message: string;
|
|
76
85
|
}
|
|
77
86
|
export interface WarningStateMessage extends BaseMessage {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
87
|
+
state: "warning";
|
|
88
|
+
message: string;
|
|
89
|
+
errors?: string[];
|
|
81
90
|
}
|
|
82
91
|
export interface PingMessage extends BaseMessage {
|
|
83
|
-
|
|
92
|
+
type: "ping";
|
|
84
93
|
}
|
|
85
94
|
export interface PlainMessage extends BaseMessage {
|
|
86
|
-
|
|
95
|
+
message: string;
|
|
87
96
|
}
|
|
88
97
|
export interface DebugMessage extends BaseMessage {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
98
|
+
type: "debug";
|
|
99
|
+
message: string;
|
|
100
|
+
lockInfo?: any;
|
|
101
|
+
error?: string;
|
|
93
102
|
}
|
|
94
103
|
export interface ErrorMessage extends BaseMessage {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
104
|
+
type: "error";
|
|
105
|
+
error: string;
|
|
106
|
+
details?: any;
|
|
107
|
+
message?: string;
|
|
108
|
+
code?: string;
|
|
100
109
|
}
|
|
101
110
|
export interface InfoMessage extends BaseMessage {
|
|
102
|
-
|
|
103
|
-
|
|
111
|
+
type: "info";
|
|
112
|
+
message: string;
|
|
104
113
|
}
|
|
105
114
|
export interface WarningMessage extends BaseMessage {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
115
|
+
type: "warning";
|
|
116
|
+
message: string;
|
|
117
|
+
errors?: string[];
|
|
109
118
|
}
|
|
110
119
|
export interface MachineStatusMessage extends BaseMessage {
|
|
111
|
-
|
|
112
|
-
|
|
120
|
+
type: "machineStatus";
|
|
121
|
+
status:
|
|
122
|
+
| "unknown"
|
|
123
|
+
| "created"
|
|
124
|
+
| "starting"
|
|
125
|
+
| "started"
|
|
126
|
+
| "stopping"
|
|
127
|
+
| "stopped"
|
|
128
|
+
| "suspending"
|
|
129
|
+
| "suspended"
|
|
130
|
+
| "replacing"
|
|
131
|
+
| "destroying"
|
|
132
|
+
| "destroyed"
|
|
133
|
+
| "not-found"
|
|
134
|
+
| "running"
|
|
135
|
+
| "failed";
|
|
113
136
|
}
|
|
114
137
|
export interface LogsMessage extends BaseMessage {
|
|
115
|
-
|
|
116
|
-
|
|
138
|
+
type: "logs";
|
|
139
|
+
logs: string[];
|
|
117
140
|
}
|
|
118
141
|
export interface ConfigStatusMessage extends BaseMessage {
|
|
119
|
-
|
|
120
|
-
|
|
142
|
+
type: "configStatus";
|
|
143
|
+
configStatus: ConfigStatus;
|
|
121
144
|
}
|
|
122
145
|
export interface AppCreatedMessage extends BaseMessage {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
146
|
+
state: "appCreated";
|
|
147
|
+
message: string;
|
|
148
|
+
appName: string;
|
|
126
149
|
}
|
|
127
150
|
export interface MachineCreatedMessage extends BaseMessage {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
151
|
+
state: "machineCreated";
|
|
152
|
+
message: string;
|
|
153
|
+
machineId: string;
|
|
131
154
|
}
|
|
132
155
|
export interface IpAllocatedMessage extends BaseMessage {
|
|
133
|
-
|
|
134
|
-
|
|
156
|
+
state: "ipAllocated";
|
|
157
|
+
message: string;
|
|
135
158
|
}
|
|
136
159
|
export interface VolumeForkedMessage extends BaseMessage {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
160
|
+
state: "volumeForked";
|
|
161
|
+
message: string;
|
|
162
|
+
volumeId: string;
|
|
140
163
|
}
|
|
141
164
|
export interface ReadyMessage extends BaseMessage {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
}
|
|
147
|
-
export type MachineState =
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
165
|
+
state: "ready";
|
|
166
|
+
message: string;
|
|
167
|
+
url: string;
|
|
168
|
+
status?: LaunchServerStatus;
|
|
169
|
+
}
|
|
170
|
+
export type MachineState =
|
|
171
|
+
| "unknown"
|
|
172
|
+
| "created"
|
|
173
|
+
| "starting"
|
|
174
|
+
| "started"
|
|
175
|
+
| "stopping"
|
|
176
|
+
| "stopped"
|
|
177
|
+
| "suspending"
|
|
178
|
+
| "suspended"
|
|
179
|
+
| "replacing"
|
|
180
|
+
| "destroying"
|
|
181
|
+
| "destroyed"
|
|
182
|
+
| "not-found"
|
|
183
|
+
| "running"
|
|
184
|
+
| "failed";
|
|
185
|
+
export type FlyVolumeState =
|
|
186
|
+
| "unknown"
|
|
187
|
+
| "creating"
|
|
188
|
+
| "created"
|
|
189
|
+
| "extending"
|
|
190
|
+
| "restoring"
|
|
191
|
+
| "enabling_remote_export"
|
|
192
|
+
| "hydrating"
|
|
193
|
+
| "recovering"
|
|
194
|
+
| "scheduling_destroy"
|
|
195
|
+
| "pending_destroy"
|
|
196
|
+
| "failed";
|
|
197
|
+
export type GitAuthErrorCode =
|
|
198
|
+
| "git-auth-failed"
|
|
199
|
+
| "git-auth-failed-root-repo"
|
|
200
|
+
| "git-auth-failed-folder-added-by"
|
|
201
|
+
| "git-auth-failed-folder-created-by"
|
|
202
|
+
| "git-auth-failed-repo-not-found"
|
|
203
|
+
| "git-auth-failed-repo-renamed"
|
|
204
|
+
| "git-auth-failed-folder-server-token"
|
|
205
|
+
| "git-auth-failed-root-repo-server-token"
|
|
206
|
+
| "git-auth-failed-ghes-unreachable";
|
|
207
|
+
export type EnsureContainerErrorCode =
|
|
208
|
+
| "FAILED_TO_START_MACHINE_ERROR"
|
|
209
|
+
| "FLY_APP_CHECK_ERROR"
|
|
210
|
+
| "FLY_CAPACITY_ERROR"
|
|
211
|
+
| "FLY_PERMISSIONS_TOKEN_ERROR"
|
|
212
|
+
| "FLY_VOLUME_CREATE_ERROR"
|
|
213
|
+
| "FLY_VOLUME_FORK_ERROR"
|
|
214
|
+
| "FLY_VOLUME_DELETE_RECENTLY_FORKED_ERROR"
|
|
215
|
+
| "FLY_MACHINE_CREATE_ERROR"
|
|
216
|
+
| "FLY_VOLUME_CHECK_ERROR"
|
|
217
|
+
| "FLY_NON_MOUNTABLE_VOLUME_ERROR"
|
|
218
|
+
| "FLY_DEPRECATED_REGION_ERROR"
|
|
219
|
+
| "FLY_VOLUME_NOT_FOUND"
|
|
220
|
+
| "FLY_MACHINE_LIMIT_ERROR"
|
|
221
|
+
| "KUBE_CAPACITY_ERROR"
|
|
222
|
+
| "KUBE_PERMISSIONS_ERROR"
|
|
223
|
+
| "KUBE_POD_LIMIT_ERROR"
|
|
224
|
+
| "KUBE_RESOURCE_QUOTA_ERROR"
|
|
225
|
+
| "KUBE_NAMESPACE_CHECK_ERROR"
|
|
226
|
+
| "KUBE_PVC_CREATE_ERROR"
|
|
227
|
+
| "KUBE_PVC_CHECK_ERROR"
|
|
228
|
+
| "KUBE_POD_CREATE_ERROR"
|
|
229
|
+
| "KUBE_SERVICE_CREATE_ERROR"
|
|
230
|
+
| "KUBE_INGRESS_CREATE_ERROR"
|
|
231
|
+
| "KUBE_POD_FAILED_TO_START_ERROR"
|
|
232
|
+
| "ensure-checking-existing-machines"
|
|
233
|
+
| "found-multiple-failed-machine"
|
|
234
|
+
| "maximun-retries-machine-creation"
|
|
235
|
+
| GitAuthErrorCode
|
|
236
|
+
| "unknown"
|
|
237
|
+
| "project-bad-state"
|
|
238
|
+
| "project-not-found"
|
|
239
|
+
| "project-deleted"
|
|
240
|
+
| "project-branch-not-found"
|
|
241
|
+
| "project-branch-deleted"
|
|
242
|
+
| "project-branch-no-session-id"
|
|
243
|
+
| "project-repo-full-name-not-found"
|
|
244
|
+
| "project-org-not-found"
|
|
245
|
+
| "invalid-project-repo-url-already-in-use"
|
|
246
|
+
| "no-available-regions"
|
|
247
|
+
| "invalid-backup-without-volume-id"
|
|
248
|
+
| "missing-app-with-machine-or-volume"
|
|
249
|
+
| "update-branch-info-in-firebase"
|
|
250
|
+
| "update-branch-app-name-in-firebase"
|
|
251
|
+
| `machine-status-polling-${MachineState}`
|
|
252
|
+
| `machine-image-exited-immediately`
|
|
253
|
+
| `volume-not-found-${FlyVolumeState}`
|
|
254
|
+
| "trying-to-remove-used-volume"
|
|
255
|
+
| "missing-container-url"
|
|
256
|
+
| "timeout"
|
|
257
|
+
| "fatal:zod-validation-error"
|
|
258
|
+
| `fatal:${string}`;
|
|
151
259
|
export interface ErrorStateMessage extends BaseMessage {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
260
|
+
state: "error";
|
|
261
|
+
message: string;
|
|
262
|
+
error: string;
|
|
263
|
+
code: EnsureContainerErrorCode;
|
|
264
|
+
causeError: string;
|
|
157
265
|
}
|
|
158
266
|
export interface CleanupCompletedMessage extends BaseMessage {
|
|
159
|
-
|
|
160
|
-
|
|
267
|
+
state: "cleanupCompleted";
|
|
268
|
+
message: string;
|
|
161
269
|
}
|
|
162
270
|
/**
|
|
163
271
|
* Messages sent by the container orchestrator.
|
|
164
272
|
*/
|
|
165
|
-
export type ProjectsChunkMessage =
|
|
273
|
+
export type ProjectsChunkMessage =
|
|
274
|
+
| InitializingMessage
|
|
275
|
+
| FetchingGithubTokenMessage
|
|
276
|
+
| FetchingFusionKeyMessage
|
|
277
|
+
| CheckingAppMessage
|
|
278
|
+
| CleaningUpAppMessage
|
|
279
|
+
| CreatingAppMessage
|
|
280
|
+
| CheckingIPMessage
|
|
281
|
+
| AllocatingIPMessage
|
|
282
|
+
| CheckingMachineMessage
|
|
283
|
+
| CheckingVolumeMessage
|
|
284
|
+
| ForkingVolumeMessage
|
|
285
|
+
| RetryingWithNewRegionMessage
|
|
286
|
+
| WaitingBeforePollingMessage
|
|
287
|
+
| PollingMachineStatusMessage
|
|
288
|
+
| WarningStateMessage
|
|
289
|
+
| PingMessage
|
|
290
|
+
| DebugMessage
|
|
291
|
+
| ErrorMessage
|
|
292
|
+
| InfoMessage
|
|
293
|
+
| WarningMessage
|
|
294
|
+
| MachineStatusMessage
|
|
295
|
+
| LogsMessage
|
|
296
|
+
| ConfigStatusMessage
|
|
297
|
+
| AppCreatedMessage
|
|
298
|
+
| MachineCreatedMessage
|
|
299
|
+
| IpAllocatedMessage
|
|
300
|
+
| VolumeForkedMessage
|
|
301
|
+
| ReadyMessage
|
|
302
|
+
| ErrorStateMessage
|
|
303
|
+
| CleanupCompletedMessage;
|
|
166
304
|
export interface GitConfig {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
305
|
+
url: string;
|
|
306
|
+
provider: "github" | "bitbucket" | "gitlab" | "azure" | "unknown";
|
|
307
|
+
token: string | undefined;
|
|
170
308
|
}
|
|
171
309
|
export type GitConfigs = Record<string, GitConfig>;
|
|
172
310
|
export declare const EXAMPLE_REPOS: string[];
|
|
@@ -174,121 +312,130 @@ export declare const STARTER_REPO = "BuilderIO/fusion-starter";
|
|
|
174
312
|
export declare const EXAMPLE_OR_STARTER_REPOS: string[];
|
|
175
313
|
export declare const EXAMPLE_OR_STARTER_REPOS_URLS: string[];
|
|
176
314
|
export interface GitBackupUploadUrlResult {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
315
|
+
signedUrl: string;
|
|
316
|
+
filePath: string;
|
|
317
|
+
expiresAt: string;
|
|
180
318
|
}
|
|
181
319
|
export interface GitBackupUploadUrlOptions {
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
320
|
+
projectId: string;
|
|
321
|
+
branchName: string;
|
|
322
|
+
size: number;
|
|
323
|
+
partial: boolean;
|
|
324
|
+
contentMd5: string;
|
|
187
325
|
}
|
|
188
326
|
export interface GitBackupDownloadUrlOptions {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
327
|
+
spaceId: string;
|
|
328
|
+
projectId: string;
|
|
329
|
+
branchName: string;
|
|
330
|
+
partial: boolean;
|
|
193
331
|
}
|
|
194
332
|
export type ForcedBackup = "offline-full" | "offline" | undefined;
|
|
195
333
|
export interface GitBackupRecordOptions {
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
334
|
+
projectId: string;
|
|
335
|
+
branchName: string;
|
|
336
|
+
size: number;
|
|
337
|
+
gitBranchName: string;
|
|
338
|
+
initialBranch: string;
|
|
339
|
+
initialCommitHash: string | undefined;
|
|
340
|
+
lastCommitHash: string;
|
|
341
|
+
partial: boolean;
|
|
342
|
+
empty: boolean;
|
|
343
|
+
status: "completed";
|
|
344
|
+
contentMd5?: string;
|
|
345
|
+
repoUrl: string;
|
|
346
|
+
version: "v1" | "v2";
|
|
347
|
+
forced: ForcedBackup;
|
|
348
|
+
metadata?: Record<string, string | string[] | undefined>;
|
|
211
349
|
}
|
|
212
350
|
export interface GitBackupRecordResult {
|
|
213
|
-
|
|
351
|
+
success: boolean;
|
|
214
352
|
}
|
|
215
353
|
export interface CodegenSetLastCommit {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
354
|
+
projectId: string;
|
|
355
|
+
branchName: string;
|
|
356
|
+
lastCommitHash: string;
|
|
357
|
+
clearSecondaryVolumeId: boolean;
|
|
220
358
|
}
|
|
221
359
|
export interface CodegenRuntimeStatus {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
360
|
+
projectId: string;
|
|
361
|
+
branchName: string;
|
|
362
|
+
lastCommitHash?: string;
|
|
363
|
+
clearSecondaryVolumeId?: boolean;
|
|
364
|
+
lastServerState?: LaunchServerState;
|
|
365
|
+
lastServerVersion?: string;
|
|
228
366
|
}
|
|
229
367
|
export interface BackupGitRepoResultValid {
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
368
|
+
success: true;
|
|
369
|
+
partial: boolean;
|
|
370
|
+
repoUrl: string;
|
|
371
|
+
empty: boolean;
|
|
372
|
+
lastCommitHash: string;
|
|
373
|
+
backupRef: string | undefined;
|
|
236
374
|
}
|
|
237
375
|
export interface BackupGitRepoResultInvalid {
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
}
|
|
241
|
-
export type BackupGitRepoResult =
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
376
|
+
success: false;
|
|
377
|
+
reason: "project_removed";
|
|
378
|
+
}
|
|
379
|
+
export type BackupGitRepoResult =
|
|
380
|
+
| BackupGitRepoResultValid
|
|
381
|
+
| BackupGitRepoResultInvalid;
|
|
382
|
+
export type ShutdownResponse =
|
|
383
|
+
| {
|
|
384
|
+
success: true;
|
|
385
|
+
message: string;
|
|
386
|
+
skipped: boolean;
|
|
387
|
+
reason: string;
|
|
388
|
+
}
|
|
389
|
+
| {
|
|
390
|
+
success: false;
|
|
391
|
+
message?: string;
|
|
392
|
+
skipped?: boolean;
|
|
393
|
+
reason?: string;
|
|
394
|
+
error?: Error;
|
|
395
|
+
}
|
|
396
|
+
| BackupGitRepoResult;
|
|
254
397
|
export type ShutdownResponseSerialized = Omit<ShutdownResponse, "error"> & {
|
|
255
|
-
|
|
398
|
+
error?: string;
|
|
256
399
|
};
|
|
257
400
|
export type SetupDependency = SetupMiseDependency | SetupScriptDependency;
|
|
258
401
|
export interface SetupMiseDependency {
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
402
|
+
key: string;
|
|
403
|
+
type: "mise";
|
|
404
|
+
tool: string;
|
|
405
|
+
version?: string;
|
|
263
406
|
}
|
|
264
407
|
export interface SetupScriptDependency {
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
}
|
|
270
|
-
export type FusionExecutionEnvironment =
|
|
408
|
+
key: string;
|
|
409
|
+
type: "script";
|
|
410
|
+
name: string;
|
|
411
|
+
script: string;
|
|
412
|
+
}
|
|
413
|
+
export type FusionExecutionEnvironment =
|
|
414
|
+
| "containerized"
|
|
415
|
+
| "container-less"
|
|
416
|
+
| "cloud"
|
|
417
|
+
| "cloud-v2";
|
|
271
418
|
export interface PartialBranchData {
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
419
|
+
name?: string;
|
|
420
|
+
createdBy: string;
|
|
421
|
+
friendlyName: string;
|
|
422
|
+
isDefault: boolean;
|
|
423
|
+
isPublic: boolean;
|
|
424
|
+
lockedFusionEnvironment?: FusionExecutionEnvironment;
|
|
425
|
+
metadata?: BranchMetadata;
|
|
426
|
+
backup?: BranchBackup;
|
|
427
|
+
gitAiBranch?: string | null;
|
|
428
|
+
lastCommitHash?: string | null;
|
|
429
|
+
lastCommitDate?: number | null;
|
|
430
|
+
commitMode?: CommitMode;
|
|
431
|
+
useHomeDir?: boolean;
|
|
432
|
+
checkoutBranch?: string | null;
|
|
433
|
+
/** Whether this branch is for a fork PR - affects git operations (read-only, can't push) */
|
|
434
|
+
isFork?: boolean | null;
|
|
435
|
+
cloneFrom?: {
|
|
436
|
+
projectId: string;
|
|
437
|
+
branchName: string;
|
|
438
|
+
};
|
|
292
439
|
}
|
|
293
440
|
export type EntityState = "active" | "deleted" | "archived";
|
|
294
441
|
/**
|
|
@@ -296,115 +443,117 @@ export type EntityState = "active" | "deleted" | "archived";
|
|
|
296
443
|
* This type documents the integration context that can be attached to a branch.
|
|
297
444
|
*/
|
|
298
445
|
export interface BranchMetadata {
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
}
|
|
317
|
-
export type PRStatus = "open" | "closed" | "merged" | "draft";
|
|
446
|
+
/** How the branch was created (e.g., "slack", "jira", "api", "cli") */
|
|
447
|
+
createdVia?: string;
|
|
448
|
+
/** JIRA issue key (e.g., "PROJ-123") - used to link back to the JIRA ticket in PR descriptions */
|
|
449
|
+
jiraIssueKey?: string;
|
|
450
|
+
/** JIRA cloud ID - UUID identifier for the Atlassian cloud instance */
|
|
451
|
+
jiraCloudId?: string;
|
|
452
|
+
/** JIRA site name - the subdomain used in the JIRA URL (e.g., "mycompany" for mycompany.atlassian.net) */
|
|
453
|
+
jiraSiteName?: string;
|
|
454
|
+
/** JIRA issue ID - internal JIRA identifier */
|
|
455
|
+
jiraIssueId?: string;
|
|
456
|
+
/** Slack team/workspace ID - used to ensure deep links open in the correct workspace for multi-workspace users */
|
|
457
|
+
slackTeamId?: string;
|
|
458
|
+
/** Slack channel ID - used to link back to the Slack thread in PR descriptions */
|
|
459
|
+
slackChannelId?: string;
|
|
460
|
+
/** Slack thread timestamp - used to construct the Slack thread URL */
|
|
461
|
+
slackThreadTs?: string;
|
|
462
|
+
[key: string]: unknown;
|
|
463
|
+
}
|
|
464
|
+
export type PRStatus = "open" | "closed" | "merged" | "draft" | "approved";
|
|
318
465
|
interface BranchSharedData {
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
466
|
+
appName?: string | null;
|
|
467
|
+
prNumber?: number | null;
|
|
468
|
+
prUrl?: string | null;
|
|
469
|
+
prStatus?: PRStatus;
|
|
470
|
+
machineId?: string | null;
|
|
471
|
+
lastMachineIdRemovedAt?: number | null;
|
|
472
|
+
volumeId?: string | null;
|
|
473
|
+
secondaryVolumeId?: string | null;
|
|
474
|
+
volumeName?: string | null;
|
|
475
|
+
gitAiBranch?: string | null;
|
|
476
|
+
lastCommitHash?: string | null;
|
|
477
|
+
lastCommitDate?: number | null;
|
|
478
|
+
lastServerState?: LaunchServerState | null;
|
|
479
|
+
lastServerStateDate?: number | null;
|
|
480
|
+
lastServerVersion?: string | null;
|
|
481
|
+
name?: string;
|
|
482
|
+
agentType?: string | null;
|
|
483
|
+
createdBy?: string;
|
|
484
|
+
isPublic?: boolean;
|
|
485
|
+
isDefault?: boolean;
|
|
486
|
+
friendlyName?: string;
|
|
487
|
+
useHomeDir?: boolean;
|
|
488
|
+
useCloudHomeDir?: boolean;
|
|
489
|
+
ipv4?: {
|
|
490
|
+
address: string | null;
|
|
491
|
+
allocated: boolean | null;
|
|
492
|
+
} | null;
|
|
493
|
+
ipv6?: {
|
|
494
|
+
address: string | null;
|
|
495
|
+
allocated: boolean | null;
|
|
496
|
+
} | null;
|
|
497
|
+
backup?: BranchBackup;
|
|
498
|
+
metadata?: BranchMetadata;
|
|
499
|
+
needsCleanup?: boolean;
|
|
500
|
+
/** @deprecated Use `state` field instead. Kept for backwards compatibility. */
|
|
501
|
+
deleted?: boolean;
|
|
502
|
+
/** MIGRATION: accepts both string and number during migration period */
|
|
503
|
+
deletedAt?: InMigrationDateNullable;
|
|
504
|
+
deletedBy?: string;
|
|
505
|
+
kubePodName?: string | null;
|
|
506
|
+
kubeNamespace?: string | null;
|
|
507
|
+
kubePvcName?: string | null;
|
|
508
|
+
kubeHostname?: string | null;
|
|
509
|
+
checkoutBranch?: string | null;
|
|
510
|
+
/** Whether this branch is for a fork PR - affects git operations (read-only, can't push) */
|
|
511
|
+
isFork?: boolean | null;
|
|
512
|
+
vscodeTunnelUrl?: string | null;
|
|
513
|
+
vscodeTunnelName?: string | null;
|
|
514
|
+
vscodeTunnelExpiresAt?: string | null;
|
|
515
|
+
commitMode?: CommitMode;
|
|
516
|
+
/** Timestamp when an AI agent started activity on this branch, null when inactive (in milliseconds since epoch) */
|
|
517
|
+
lastAgentActivityAt?: number | null;
|
|
518
|
+
/** Timestamp of last activity on this branch - includes both agent and user activity (in milliseconds since epoch) */
|
|
519
|
+
lastActivityAt?: number;
|
|
373
520
|
}
|
|
374
521
|
/**
|
|
375
522
|
* fields that are required in the new branch format, but optional in the legacy branch format.
|
|
376
523
|
*/
|
|
377
524
|
interface RequiredBranchSharedData {
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
525
|
+
/** The state of the branch. Use `isBranchDeleted()` helper for backwards-compatible checks. */
|
|
526
|
+
state: EntityState;
|
|
527
|
+
lockedFusionEnvironment: FusionExecutionEnvironment;
|
|
528
|
+
id: string;
|
|
529
|
+
sessionId: string;
|
|
530
|
+
/** MIGRATION: accepts both string and number during migration period */
|
|
531
|
+
createdAt: InMigrationDate;
|
|
532
|
+
/** MIGRATION: accepts both string and number during migration period */
|
|
533
|
+
updatedAt: InMigrationDate;
|
|
534
|
+
lastUpdatedAt: number;
|
|
388
535
|
}
|
|
389
536
|
/**
|
|
390
537
|
* LegacyBranch represents branch data as stored in the nested project.branches field.
|
|
391
538
|
* This type does NOT include projectId or legacyId as those don't exist in the legacy format.
|
|
392
539
|
*/
|
|
393
|
-
export interface LegacyBranch
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
540
|
+
export interface LegacyBranch
|
|
541
|
+
extends BranchSharedData,
|
|
542
|
+
Partial<RequiredBranchSharedData> {
|
|
543
|
+
preRecoveryData?: Partial<LegacyBranch> & {
|
|
544
|
+
recoveryDate: Date;
|
|
545
|
+
};
|
|
397
546
|
}
|
|
398
547
|
/**
|
|
399
548
|
* NewBranch represents branch data as stored in the standalone branches collection.
|
|
400
549
|
* Extends LegacyBranch with required projectId, name, and optional legacyId fields.
|
|
401
550
|
*/
|
|
402
551
|
export interface NewBranch extends BranchSharedData, RequiredBranchSharedData {
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
552
|
+
ownerId: string;
|
|
553
|
+
projectId: string;
|
|
554
|
+
name: string;
|
|
555
|
+
/** Legacy ID for mapping to project.branches[branchName] format: ${projectId}-${branchName} */
|
|
556
|
+
legacyId: string;
|
|
408
557
|
}
|
|
409
558
|
/**
|
|
410
559
|
* Branch is a union type that can represent either a legacy branch or a new branch.
|
|
@@ -415,140 +564,140 @@ export declare const checkIsNewBranch: (branch: Branch) => branch is NewBranch;
|
|
|
415
564
|
export type CpuKind = "performance" | "standard" | "shared";
|
|
416
565
|
export type MachineAutoStop = "stop" | "off" | "suspend";
|
|
417
566
|
export interface ProjectRolePermissions {
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
567
|
+
view?: boolean;
|
|
568
|
+
editCode?: boolean;
|
|
569
|
+
sendPullRequests?: boolean;
|
|
570
|
+
createBranches?: boolean;
|
|
571
|
+
modifyMcpServers?: boolean;
|
|
572
|
+
modifyWorkflowIntegrations?: boolean;
|
|
573
|
+
modifyProjectSettings?: boolean;
|
|
425
574
|
}
|
|
426
575
|
export interface ProjectAccessControl {
|
|
427
|
-
|
|
428
|
-
|
|
576
|
+
roles: Record<string, ProjectRolePermissions | null>;
|
|
577
|
+
users: Record<string, ProjectRolePermissions>;
|
|
429
578
|
}
|
|
430
579
|
export interface Project {
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
580
|
+
id: string;
|
|
581
|
+
name: string;
|
|
582
|
+
ownerId: string;
|
|
583
|
+
repoFullName: string | undefined;
|
|
584
|
+
repoProvider: string;
|
|
585
|
+
repoProtocol: string | undefined;
|
|
586
|
+
repoDescription?: string;
|
|
587
|
+
repoPrivate: boolean;
|
|
588
|
+
repoUrl: string | undefined;
|
|
589
|
+
/** MIGRATION: accepts both string and number during migration period */
|
|
590
|
+
createdDate: InMigrationDate;
|
|
591
|
+
/** MIGRATION: accepts both string and number during migration period */
|
|
592
|
+
updatedAt: InMigrationDate;
|
|
593
|
+
pinned?: boolean;
|
|
594
|
+
archived?: boolean;
|
|
595
|
+
createdBy: string;
|
|
596
|
+
checkRunCounts?: Record<string, number>;
|
|
597
|
+
repoAddedBy?: string;
|
|
598
|
+
pipelineCounts?: Record<string, number>;
|
|
599
|
+
needSetup?: boolean;
|
|
600
|
+
projectType?: "app" | "repo-indexing";
|
|
601
|
+
domains?: string[];
|
|
602
|
+
accessMode?: "public" | "private";
|
|
603
|
+
projectAccess?: ProjectAccessControl;
|
|
604
|
+
settings: {
|
|
605
|
+
isNativeApp?: boolean;
|
|
606
|
+
autoDetectDevServer?: boolean;
|
|
607
|
+
autoDetectDevServerPatterns?: string[];
|
|
608
|
+
fusionEnvironment?: FusionExecutionEnvironment;
|
|
609
|
+
devServerPort?: number;
|
|
610
|
+
devServerUrl?: string;
|
|
611
|
+
refreshPreview?: boolean;
|
|
612
|
+
installCommand?: string;
|
|
613
|
+
validateCommand?: string;
|
|
614
|
+
proxyOrigin?: string;
|
|
615
|
+
proxyDefaultOrigin?: string;
|
|
616
|
+
gitBranchNamingStrategy?: "ai-session" | "branch-name" | "custom";
|
|
617
|
+
setupDependencies?: SetupDependency[];
|
|
618
|
+
gitBranchNamingCustom?: string;
|
|
619
|
+
askUserForBranchName?: boolean;
|
|
620
|
+
devServerCommand?: string;
|
|
621
|
+
cpuKind?: CpuKind;
|
|
622
|
+
cpus?: 1 | 2 | 4;
|
|
623
|
+
memory?: 2048 | 4096 | 8192 | 16384;
|
|
624
|
+
/** @deprecated */
|
|
625
|
+
memoryLimit?: 1024 | 2048 | 4096 | 8192 | 16384;
|
|
626
|
+
autoStop?: MachineAutoStop;
|
|
627
|
+
mainBranchName?: string;
|
|
628
|
+
minMachinesRunning?: number;
|
|
629
|
+
volumeSize?: 5 | 10 | 12 | 15 | 20;
|
|
630
|
+
includePath?: string;
|
|
631
|
+
includePatterns?: string[];
|
|
632
|
+
environmentVariables?: EnvironmentVariable[];
|
|
633
|
+
fileOverrides?: FileOverride[];
|
|
634
|
+
customInstructions?: CustomInstruction[];
|
|
635
|
+
customAgents?: CustomAgentDefinition[];
|
|
636
|
+
commitMode?: CommitMode;
|
|
637
|
+
defaultBranchType?: "shared" | "private";
|
|
638
|
+
dockerImagePath?: string;
|
|
639
|
+
nodeVersion?: string;
|
|
640
|
+
designSystems?: string[];
|
|
641
|
+
useNI?: boolean;
|
|
642
|
+
folders?: Array<{
|
|
643
|
+
name: string;
|
|
644
|
+
remoteUrl: string;
|
|
645
|
+
mainBranchName?: string;
|
|
646
|
+
includePath?: string;
|
|
647
|
+
addedBy?: string;
|
|
648
|
+
repoProvider?: string;
|
|
649
|
+
repoProtocol?: string;
|
|
650
|
+
}>;
|
|
651
|
+
agentsMD?: string;
|
|
652
|
+
initializationCommand?: string;
|
|
653
|
+
repoSubpath?: string;
|
|
654
|
+
recommendedRoot?: string;
|
|
655
|
+
https?: boolean;
|
|
656
|
+
localHttpsDomain?: string;
|
|
657
|
+
browserAutomation?: {
|
|
658
|
+
backgroundAgents?: boolean;
|
|
659
|
+
instructions?: string;
|
|
660
|
+
authUser?: string;
|
|
661
|
+
authPassword?: string;
|
|
662
|
+
};
|
|
663
|
+
qaBot?: boolean;
|
|
664
|
+
httpsServerKeyPath?: string;
|
|
665
|
+
httpsServerCertPath?: string;
|
|
666
|
+
httpsServerCaPath?: string;
|
|
667
|
+
httpsServerKeyContent?: string;
|
|
668
|
+
httpsServerCertContent?: string;
|
|
669
|
+
httpsServerCaContent?: string;
|
|
670
|
+
httpsServerPfx?: string;
|
|
671
|
+
httpsServerPassphrase?: string;
|
|
672
|
+
httpsServerSecureProtocol?: string;
|
|
673
|
+
httpsServerSecureOptions?: number;
|
|
674
|
+
httpsServerCiphers?: string;
|
|
675
|
+
httpsServerHonorCipherOrder?: boolean;
|
|
676
|
+
httpsServerRequestCert?: boolean;
|
|
677
|
+
httpsServerRejectUnauthorized?: boolean;
|
|
678
|
+
};
|
|
679
|
+
screenshot: string | null;
|
|
680
|
+
isExample?: boolean;
|
|
681
|
+
isPublic?: boolean;
|
|
682
|
+
snapshotVolume?: {
|
|
683
|
+
volumeId: string;
|
|
684
|
+
appName: string;
|
|
685
|
+
createdAt: number;
|
|
686
|
+
};
|
|
687
|
+
isFromUserTemplate?: boolean;
|
|
688
|
+
templateId?: string | null;
|
|
689
|
+
localPath?: string | null;
|
|
690
|
+
/** The state of the project. Use `isProjectDeleted()` helper for backwards-compatible checks. */
|
|
691
|
+
state?: EntityState;
|
|
692
|
+
/** MIGRATION: accepts both string and number during migration period */
|
|
693
|
+
deletedAt?: InMigrationDateNullable;
|
|
694
|
+
deletedBy?: string;
|
|
695
|
+
/**
|
|
696
|
+
* When true, branches are stored in the standalone `branches` collection
|
|
697
|
+
* instead of embedded in project.branches field.
|
|
698
|
+
* Defaults to false for backwards compatibility with existing projects.
|
|
699
|
+
*/
|
|
700
|
+
useBranchesCollection?: boolean;
|
|
552
701
|
}
|
|
553
702
|
/**
|
|
554
703
|
* Get the state of a branch, checking `state` first and falling back to `deleted` for backwards compatibility.
|
|
@@ -572,31 +721,31 @@ export declare const isBranchArchived: (branch: Branch) => boolean;
|
|
|
572
721
|
*/
|
|
573
722
|
export declare const isProjectDeleted: (project: Project) => boolean;
|
|
574
723
|
export interface ProjectWithBranches extends Project {
|
|
575
|
-
|
|
724
|
+
branches: Record<string, Branch>;
|
|
576
725
|
}
|
|
577
726
|
export interface OrganizationPrivate {
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
727
|
+
ownerId: string;
|
|
728
|
+
id: string;
|
|
729
|
+
installs?: {
|
|
730
|
+
ids: number[];
|
|
731
|
+
host: string;
|
|
732
|
+
}[];
|
|
733
|
+
createdAt: number;
|
|
734
|
+
updatedAt: number;
|
|
586
735
|
}
|
|
587
736
|
export interface CreateProjectOptions {
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
737
|
+
name?: string;
|
|
738
|
+
repoFullName: string;
|
|
739
|
+
repoProvider: string;
|
|
740
|
+
repoProtocol?: string;
|
|
741
|
+
repoDescription?: string;
|
|
742
|
+
repoPrivate: boolean;
|
|
743
|
+
repoUrl: string;
|
|
744
|
+
needSetup: boolean;
|
|
745
|
+
domains?: string[];
|
|
746
|
+
settings?: Partial<Project["settings"]>;
|
|
747
|
+
isPublic?: boolean;
|
|
748
|
+
isExample?: boolean;
|
|
749
|
+
templateId?: string;
|
|
601
750
|
}
|
|
602
751
|
export {};
|