@wix/auto_sdk_containers_projects 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,745 @@
1
+ import { NonNullablePaths } from '@wix/sdk-types';
2
+
3
+ interface Project {
4
+ /**
5
+ * Project ID.
6
+ * @format GUID
7
+ * @readonly
8
+ */
9
+ _id?: string | null;
10
+ /**
11
+ * Display name for the project.
12
+ * @maxLength 200
13
+ */
14
+ name?: string;
15
+ /** Current status of the project. */
16
+ status?: ProjectStatusWithLiterals;
17
+ /**
18
+ * ID of the template used to create this project.
19
+ * @format GUID
20
+ * @immutable
21
+ */
22
+ templateId?: string | null;
23
+ /**
24
+ * ID of the git-code-store project (and backing dev-center app) for this project. Set on creation.
25
+ * @format GUID
26
+ * @readonly
27
+ */
28
+ codeStoreProjectId?: string | null;
29
+ /**
30
+ * The user id of the owner of this project
31
+ * @format GUID
32
+ * @readonly
33
+ */
34
+ ownerUserId?: string | null;
35
+ /**
36
+ * Revision number, which increments by 1 each time the Project is updated.
37
+ * @readonly
38
+ */
39
+ revision?: string | null;
40
+ /**
41
+ * Date and time the Project was created.
42
+ * @readonly
43
+ */
44
+ _createdDate?: Date | null;
45
+ /**
46
+ * Date and time the Project was last updated.
47
+ * @readonly
48
+ */
49
+ _updatedDate?: Date | null;
50
+ /**
51
+ * Transient lock marking that a sandbox is currently being created for this project.
52
+ * Used to serialize concurrent dev-machine creation; liveness of the sandbox itself is resolved via ListSandboxes.
53
+ * @readonly
54
+ */
55
+ sandboxStatus?: SandboxStatusWithLiterals;
56
+ /**
57
+ * Meta site IDs (MSIDs) of the Wix sites this project is related to.
58
+ * Optional — a project is not required to be tied to a site; may relate to many sites.
59
+ * Preserve the deployed input contract; see containers-projects/SDK_COMPATIBILITY.md.
60
+ * @format GUID
61
+ */
62
+ metaSiteIds?: string[];
63
+ /**
64
+ * Platform this project targets (iOS/Android). Supplied by the client at creation; immutable after.
65
+ * @immutable
66
+ */
67
+ platform?: PlatformWithLiterals;
68
+ /**
69
+ * Optional app icon URL supplied by the client from Wix Media Manager.
70
+ * @maxLength 2000
71
+ */
72
+ appIconUrl?: string | null;
73
+ }
74
+ declare enum ProjectStatus {
75
+ /** Project created; client (via containers-plans) is doing most of the work. */
76
+ PLANNING = "PLANNING",
77
+ /** Generation job created; project moves onward to machine startup. */
78
+ BUILDING = "BUILDING",
79
+ /** Plan finalized; project is about to create the initial generation job. */
80
+ PLAN_READY = "PLAN_READY"
81
+ }
82
+ /** @enumType */
83
+ type ProjectStatusWithLiterals = ProjectStatus | 'PLANNING' | 'BUILDING' | 'PLAN_READY';
84
+ declare enum SandboxStatus {
85
+ /** No sandbox creation in progress. */
86
+ NONE = "NONE",
87
+ /** A caller is currently creating a sandbox for this project (creation lock held). */
88
+ CREATING = "CREATING"
89
+ }
90
+ /** @enumType */
91
+ type SandboxStatusWithLiterals = SandboxStatus | 'NONE' | 'CREATING';
92
+ declare enum Platform {
93
+ IOS = "IOS",
94
+ ANDROID = "ANDROID",
95
+ /**
96
+ * Himalaya Mobile (Wix SDUI/OTA content package): mobile apps built headlessly on the
97
+ * on-demand remote machine via the himi CLI, instead of native iOS/Android pods.
98
+ */
99
+ HIMALAYA_MOBILE = "HIMALAYA_MOBILE"
100
+ }
101
+ /** @enumType */
102
+ type PlatformWithLiterals = Platform | 'IOS' | 'ANDROID' | 'HIMALAYA_MOBILE';
103
+ interface ProjectStartRequested {
104
+ /**
105
+ * ID of the Project to start.
106
+ * @format GUID
107
+ */
108
+ projectId?: string;
109
+ }
110
+ interface ProjectResumeRequested {
111
+ /**
112
+ * ID of the Project to resume.
113
+ * @format GUID
114
+ */
115
+ projectId?: string;
116
+ }
117
+ /**
118
+ * Emitted when the project transitions PLANNING -> PLAN_READY (on plan finalization). The project
119
+ * self-consumes this event to start the app generation: mint the agent session, attach it to the
120
+ * finalized conversation, create the initial generation job, and move to BUILDING. The finalized
121
+ * plan is read back from containers-plans by project id when the job is built.
122
+ */
123
+ interface ProjectPlanReady {
124
+ /**
125
+ * ID of the Project whose plan is ready.
126
+ * @format GUID
127
+ */
128
+ projectId?: string;
129
+ /**
130
+ * ID of the conversation that led to this plan being finalized. The minted agent session id is
131
+ * attached to this conversation so the build can --resume it. Propagated from PlanFinalized.
132
+ * @format GUID
133
+ */
134
+ conversationId?: string;
135
+ }
136
+ interface CreateAgentSessionRequest {
137
+ /**
138
+ * ID of the Project to create an agent session for.
139
+ * @format GUID
140
+ */
141
+ projectId?: string;
142
+ }
143
+ interface CreateAgentSessionResponse {
144
+ /**
145
+ * Agent session ID materialized for the Project.
146
+ * @format GUID
147
+ */
148
+ agentSessionId?: string;
149
+ }
150
+ interface RefreshAgentSiteTokenRequest {
151
+ /**
152
+ * ID of the Project whose owner site token should be re-minted.
153
+ * @format GUID
154
+ */
155
+ projectId?: string;
156
+ }
157
+ interface RefreshAgentSiteTokenResponse {
158
+ /**
159
+ * A freshly minted site-scoped access token for the project owner. Sensitive credential material:
160
+ * marked pii so the platform redacts it from request/response logging (never log it in app code either).
161
+ * maxLength matches the sibling containers-project-versions token fields (4096) — ample for the
162
+ * oauth2-ng user access token, and required by the string-validation standard.
163
+ * @maxLength 4096
164
+ */
165
+ accessToken?: string;
166
+ /** Seconds until the returned token expires, as reported by oauth2-ng. */
167
+ expiresIn?: string;
168
+ }
169
+ interface DomainEvent extends DomainEventBodyOneOf {
170
+ createdEvent?: EntityCreatedEvent;
171
+ updatedEvent?: EntityUpdatedEvent;
172
+ deletedEvent?: EntityDeletedEvent;
173
+ actionEvent?: ActionEvent;
174
+ /** Event ID. With this ID you can easily spot duplicated events and ignore them. */
175
+ _id?: string;
176
+ /**
177
+ * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.
178
+ * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.
179
+ */
180
+ entityFqdn?: string;
181
+ /**
182
+ * Event action name, placed at the top level to make it easier for users to dispatch messages.
183
+ * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.
184
+ */
185
+ slug?: string;
186
+ /** ID of the entity associated with the event. */
187
+ entityId?: string;
188
+ /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */
189
+ eventTime?: Date | null;
190
+ /**
191
+ * Whether the event was triggered as a result of a privacy regulation application
192
+ * (for example, GDPR).
193
+ */
194
+ triggeredByAnonymizeRequest?: boolean | null;
195
+ /** If present, indicates the action that triggered the event. */
196
+ originatedFrom?: string | null;
197
+ /**
198
+ * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.
199
+ * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.
200
+ */
201
+ entityEventSequence?: string | null;
202
+ }
203
+ /** @oneof */
204
+ interface DomainEventBodyOneOf {
205
+ createdEvent?: EntityCreatedEvent;
206
+ updatedEvent?: EntityUpdatedEvent;
207
+ deletedEvent?: EntityDeletedEvent;
208
+ actionEvent?: ActionEvent;
209
+ }
210
+ interface EntityCreatedEvent {
211
+ entity?: string;
212
+ }
213
+ interface RestoreInfo {
214
+ deletedDate?: Date | null;
215
+ }
216
+ interface EntityUpdatedEvent {
217
+ /**
218
+ * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
219
+ * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
220
+ * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
221
+ */
222
+ currentEntity?: string;
223
+ }
224
+ interface EntityDeletedEvent {
225
+ /** Entity that was deleted. */
226
+ deletedEntity?: string | null;
227
+ }
228
+ interface ActionEvent {
229
+ body?: string;
230
+ }
231
+ interface MessageEnvelope {
232
+ /**
233
+ * App instance ID.
234
+ * @format GUID
235
+ */
236
+ instanceId?: string | null;
237
+ /**
238
+ * Event type.
239
+ * @maxLength 150
240
+ */
241
+ eventType?: string;
242
+ /** The identification type and identity data. */
243
+ identity?: IdentificationData;
244
+ /** Stringify payload. */
245
+ data?: string;
246
+ /** Details related to the account */
247
+ accountInfo?: AccountInfo;
248
+ }
249
+ interface IdentificationData extends IdentificationDataIdOneOf {
250
+ /**
251
+ * ID of a site visitor that has not logged in to the site.
252
+ * @format GUID
253
+ */
254
+ anonymousVisitorId?: string;
255
+ /**
256
+ * ID of a site visitor that has logged in to the site.
257
+ * @format GUID
258
+ */
259
+ memberId?: string;
260
+ /**
261
+ * ID of a Wix user (site owner, contributor, etc.).
262
+ * @format GUID
263
+ */
264
+ wixUserId?: string;
265
+ /**
266
+ * ID of an app.
267
+ * @format GUID
268
+ */
269
+ appId?: string;
270
+ /** @readonly */
271
+ identityType?: WebhookIdentityTypeWithLiterals;
272
+ }
273
+ /** @oneof */
274
+ interface IdentificationDataIdOneOf {
275
+ /**
276
+ * ID of a site visitor that has not logged in to the site.
277
+ * @format GUID
278
+ */
279
+ anonymousVisitorId?: string;
280
+ /**
281
+ * ID of a site visitor that has logged in to the site.
282
+ * @format GUID
283
+ */
284
+ memberId?: string;
285
+ /**
286
+ * ID of a Wix user (site owner, contributor, etc.).
287
+ * @format GUID
288
+ */
289
+ wixUserId?: string;
290
+ /**
291
+ * ID of an app.
292
+ * @format GUID
293
+ */
294
+ appId?: string;
295
+ }
296
+ declare enum WebhookIdentityType {
297
+ UNKNOWN = "UNKNOWN",
298
+ ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
299
+ MEMBER = "MEMBER",
300
+ WIX_USER = "WIX_USER",
301
+ APP = "APP"
302
+ }
303
+ /** @enumType */
304
+ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP';
305
+ interface AccountInfo {
306
+ /**
307
+ * ID of the Wix account associated with the event.
308
+ * @format GUID
309
+ */
310
+ accountId?: string | null;
311
+ /**
312
+ * ID of the parent Wix account. Only included when accountId belongs to a child account.
313
+ * @format GUID
314
+ */
315
+ parentAccountId?: string | null;
316
+ /**
317
+ * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.
318
+ * @format GUID
319
+ */
320
+ siteId?: string | null;
321
+ }
322
+ interface CreateProjectRequest {
323
+ /** Project to be created. */
324
+ project: Project;
325
+ }
326
+ interface CreateProjectResponse {
327
+ /** The created Project. */
328
+ project?: Project;
329
+ }
330
+ interface GetProjectRequest {
331
+ /**
332
+ * ID of the Project to retrieve.
333
+ * @format GUID
334
+ */
335
+ projectId: string;
336
+ }
337
+ interface GetProjectResponse {
338
+ /** The requested Project. */
339
+ project?: Project;
340
+ }
341
+ interface UpdateProjectRequest {
342
+ /** Project to be updated, may be partial. */
343
+ project: Project;
344
+ /**
345
+ * Set of fields to update.
346
+ * @internal
347
+ */
348
+ fieldMask?: string[];
349
+ }
350
+ interface UpdateProjectResponse {
351
+ /** Updated Project. */
352
+ project?: Project;
353
+ }
354
+ interface DeleteProjectRequest {
355
+ /**
356
+ * Id of the Project to delete.
357
+ * @format GUID
358
+ */
359
+ projectId: string;
360
+ }
361
+ interface DeleteProjectResponse {
362
+ }
363
+ interface StartProjectRequest {
364
+ /**
365
+ * ID of the Project to start.
366
+ * @format GUID
367
+ */
368
+ projectId?: string;
369
+ }
370
+ interface StartProjectResponse {
371
+ /** The Project for which start was requested. */
372
+ project?: Project;
373
+ }
374
+ interface ResumeProjectRequest {
375
+ /**
376
+ * ID of the Project to resume.
377
+ * @format GUID
378
+ */
379
+ projectId: string;
380
+ }
381
+ interface ResumeProjectResponse {
382
+ /** The Project for which resume was requested. */
383
+ project?: Project;
384
+ }
385
+ interface RegenerateProjectNameRequest {
386
+ /**
387
+ * ID of the Project to generate a new name for.
388
+ * @format GUID
389
+ */
390
+ projectId: string;
391
+ /**
392
+ * The user's free-text renaming instruction, passed to the name-generation prompt.
393
+ * @maxLength 4000
394
+ */
395
+ prompt: string;
396
+ }
397
+ interface RegenerateProjectNameResponse {
398
+ /**
399
+ * The generated display name, at most 30 characters. Not persisted.
400
+ * @maxLength 30
401
+ */
402
+ name?: string;
403
+ }
404
+ interface RegenerateProjectIconRequest {
405
+ /**
406
+ * ID of the Project to generate a new icon for.
407
+ * @format GUID
408
+ */
409
+ projectId: string;
410
+ /**
411
+ * The user's free-text icon instruction, passed to the icon-generation prompt.
412
+ * @maxLength 4000
413
+ */
414
+ prompt: string;
415
+ }
416
+ interface RegenerateProjectIconResponse {
417
+ /**
418
+ * The generated icon URL. Not persisted.
419
+ * @format WEB_URL
420
+ */
421
+ iconUrl?: string;
422
+ }
423
+ interface ListProjectsForCurrentUserRequest {
424
+ /** Cursor paging options. */
425
+ paging?: CursorPaging;
426
+ }
427
+ interface CursorPaging {
428
+ /**
429
+ * Maximum number of items to return in the results.
430
+ * @max 100
431
+ */
432
+ limit?: number | null;
433
+ /**
434
+ * Pointer to the next or previous page in the list of results.
435
+ *
436
+ * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.
437
+ * Not relevant for the first request.
438
+ * @maxLength 16000
439
+ */
440
+ cursor?: string | null;
441
+ }
442
+ interface ListProjectsForCurrentUserResponse {
443
+ /** Projects owned by the current user. */
444
+ projects?: Project[];
445
+ /** Paging metadata for cursor-based pagination. */
446
+ pagingMetadata?: CursorPagingMetadata;
447
+ }
448
+ interface CursorPagingMetadata {
449
+ /** Number of items returned in current page. */
450
+ count?: number | null;
451
+ /** Cursor strings that point to the next page, previous page, or both. */
452
+ cursors?: Cursors;
453
+ /**
454
+ * Whether there are more pages to retrieve following the current page.
455
+ *
456
+ * + `true`: Another page of results can be retrieved.
457
+ * + `false`: This is the last page.
458
+ */
459
+ hasNext?: boolean | null;
460
+ }
461
+ interface Cursors {
462
+ /**
463
+ * Cursor string pointing to the next page in the list of results.
464
+ * @maxLength 16000
465
+ */
466
+ next?: string | null;
467
+ /**
468
+ * Cursor pointing to the previous page in the list of results.
469
+ * @maxLength 16000
470
+ */
471
+ prev?: string | null;
472
+ }
473
+ interface SaveProjectDesignRequest {
474
+ /**
475
+ * Project whose design is being saved. The caller must own it.
476
+ * @format GUID
477
+ */
478
+ projectId: string;
479
+ /**
480
+ * The Himalaya release ID currently displayed by the client. The saved draft branches from
481
+ * exactly this release, even when a newer release exists for the app.
482
+ * @maxLength 100
483
+ */
484
+ baseReleaseId: string;
485
+ /**
486
+ * The complete edited design-token document, as a JSON object string — not a flattened set of
487
+ * preview overrides. The caller is responsible for preserving unknown groups and light/dark
488
+ * values it did not change.
489
+ * @maxLength 65536
490
+ */
491
+ tokensJson: string;
492
+ /**
493
+ * Short-lived, app-scoped Himalaya control credential the client obtained from Himalaya's owner
494
+ * embed-token endpoint. Forwarded to Himalaya for this call only — never logged, persisted, or
495
+ * echoed back in any response, error, or event.
496
+ *
497
+ * The app this call writes to is NOT taken from this request. It is composed from the owner
498
+ * prefix this credential carries plus project_id; see HimalayaAppSlug.
499
+ * @maxLength 4096
500
+ */
501
+ himalayaControlToken: string;
502
+ }
503
+ interface SaveProjectDesignResponse {
504
+ /**
505
+ * The saved draft release. Always a draft, so the app's live release is untouched.
506
+ * @maxLength 100
507
+ */
508
+ himalayaReleaseId?: string;
509
+ /**
510
+ * Short-lived credential for previewing the saved draft release. Response-only: never persisted
511
+ * or placed in a preview URL by this service.
512
+ * @maxLength 4096
513
+ */
514
+ previewToken?: string;
515
+ /** When preview_token expires. */
516
+ previewTokenExpiresAt?: Date | null;
517
+ }
518
+ interface ListProjectsRequest {
519
+ /** Cursor paging options. */
520
+ paging?: CursorPaging;
521
+ }
522
+ interface ListProjectsResponse {
523
+ /** Projects in the current site. */
524
+ projects?: Project[];
525
+ /** Paging metadata for cursor-based pagination. */
526
+ pagingMetadata?: CursorPagingMetadata;
527
+ }
528
+ /**
529
+ * Creates a new Project from a template.
530
+ * Looks up the template to find its backing source code, creates a dev-center app,
531
+ * registers an AppProject, clones the template's git repository into a new
532
+ * code-store project, and persists the Project.
533
+ * @param project - Project to be created.
534
+ * @internal
535
+ * @documentationMaturity preview
536
+ * @requiredField project
537
+ * @requiredField project.platform
538
+ * @requiredField project.templateId
539
+ * @permissionId containers:projects:v1:project:create_project
540
+ * @returns The created Project.
541
+ * @fqn wix.containers.projects.v1.ContainersProjects.CreateProject
542
+ */
543
+ declare function createProject(project: NonNullablePaths<Project, `platform` | `templateId`, 0>): Promise<NonNullablePaths<Project, `name` | `status` | `sandboxStatus` | `metaSiteIds` | `platform`, 0>>;
544
+ /**
545
+ * Retrieves a Project by ID.
546
+ * @param projectId - ID of the Project to retrieve.
547
+ * @internal
548
+ * @documentationMaturity preview
549
+ * @requiredField projectId
550
+ * @permissionId containers:projects:v1:project:get_project
551
+ * @returns The requested Project.
552
+ * @fqn wix.containers.projects.v1.ContainersProjects.GetProject
553
+ */
554
+ declare function getProject(projectId: string): Promise<NonNullablePaths<Project, `name` | `status` | `sandboxStatus` | `metaSiteIds` | `platform`, 0>>;
555
+ /**
556
+ * Updates an existing Project.
557
+ * @param _id - Project ID.
558
+ * @internal
559
+ * @documentationMaturity preview
560
+ * @requiredField _id
561
+ * @requiredField project
562
+ * @requiredField project.revision
563
+ * @permissionId containers:projects:v1:project:update_project
564
+ * @returns Updated Project.
565
+ * @fqn wix.containers.projects.v1.ContainersProjects.UpdateProject
566
+ */
567
+ declare function updateProject(_id: string, project: NonNullablePaths<UpdateProject, `revision`, 0>): Promise<NonNullablePaths<Project, `name` | `status` | `sandboxStatus` | `metaSiteIds` | `platform`, 0>>;
568
+ interface UpdateProject {
569
+ /**
570
+ * Project ID.
571
+ * @format GUID
572
+ * @readonly
573
+ */
574
+ _id?: string | null;
575
+ /**
576
+ * Display name for the project.
577
+ * @maxLength 200
578
+ */
579
+ name?: string;
580
+ /** Current status of the project. */
581
+ status?: ProjectStatusWithLiterals;
582
+ /**
583
+ * ID of the template used to create this project.
584
+ * @format GUID
585
+ * @immutable
586
+ */
587
+ templateId?: string | null;
588
+ /**
589
+ * ID of the git-code-store project (and backing dev-center app) for this project. Set on creation.
590
+ * @format GUID
591
+ * @readonly
592
+ */
593
+ codeStoreProjectId?: string | null;
594
+ /**
595
+ * The user id of the owner of this project
596
+ * @format GUID
597
+ * @readonly
598
+ */
599
+ ownerUserId?: string | null;
600
+ /**
601
+ * Revision number, which increments by 1 each time the Project is updated.
602
+ * @readonly
603
+ */
604
+ revision?: string | null;
605
+ /**
606
+ * Date and time the Project was created.
607
+ * @readonly
608
+ */
609
+ _createdDate?: Date | null;
610
+ /**
611
+ * Date and time the Project was last updated.
612
+ * @readonly
613
+ */
614
+ _updatedDate?: Date | null;
615
+ /**
616
+ * Transient lock marking that a sandbox is currently being created for this project.
617
+ * Used to serialize concurrent dev-machine creation; liveness of the sandbox itself is resolved via ListSandboxes.
618
+ * @readonly
619
+ */
620
+ sandboxStatus?: SandboxStatusWithLiterals;
621
+ /**
622
+ * Meta site IDs (MSIDs) of the Wix sites this project is related to.
623
+ * Optional — a project is not required to be tied to a site; may relate to many sites.
624
+ * Preserve the deployed input contract; see containers-projects/SDK_COMPATIBILITY.md.
625
+ * @format GUID
626
+ */
627
+ metaSiteIds?: string[];
628
+ /**
629
+ * Platform this project targets (iOS/Android). Supplied by the client at creation; immutable after.
630
+ * @immutable
631
+ */
632
+ platform?: PlatformWithLiterals;
633
+ /**
634
+ * Optional app icon URL supplied by the client from Wix Media Manager.
635
+ * @maxLength 2000
636
+ */
637
+ appIconUrl?: string | null;
638
+ }
639
+ /**
640
+ * Deletes a Project.
641
+ * @param projectId - Id of the Project to delete.
642
+ * @internal
643
+ * @documentationMaturity preview
644
+ * @requiredField projectId
645
+ * @permissionId containers:projects:v1:project:delete_project
646
+ * @fqn wix.containers.projects.v1.ContainersProjects.DeleteProject
647
+ */
648
+ declare function deleteProject(projectId: string): Promise<void>;
649
+ /**
650
+ * Requests Project resume by starting or reusing its configured remote machine asynchronously.
651
+ * @param projectId - ID of the Project to resume.
652
+ * @internal
653
+ * @documentationMaturity preview
654
+ * @requiredField projectId
655
+ * @permissionId containers:projects:v1:project:resume_project
656
+ * @fqn wix.containers.projects.v1.ContainersProjects.ResumeProject
657
+ */
658
+ declare function resumeProject(projectId: string): Promise<NonNullablePaths<ResumeProjectResponse, `project.name` | `project.status` | `project.sandboxStatus` | `project.metaSiteIds` | `project.platform`, 1>>;
659
+ /**
660
+ * Generates a candidate display name for a Project from a user instruction, via the published
661
+ * "Regenerate app name" Prompt Hub prompt. The current name and the project's description are
662
+ * resolved server-side; the caller supplies only the instruction. Does not persist the result —
663
+ * the caller saves an accepted name with UpdateProject.
664
+ * @param projectId - ID of the Project to generate a new name for.
665
+ * @param prompt - The user's free-text renaming instruction, passed to the name-generation prompt.
666
+ * @internal
667
+ * @documentationMaturity preview
668
+ * @requiredField projectId
669
+ * @requiredField prompt
670
+ * @permissionId containers:projects:v1:project:regenerate_project_name
671
+ * @fqn wix.containers.projects.v1.ContainersProjects.RegenerateProjectName
672
+ */
673
+ declare function regenerateProjectName(projectId: string, prompt: string): Promise<NonNullablePaths<RegenerateProjectNameResponse, `name`, 0>>;
674
+ /**
675
+ * Generates a candidate icon for a Project from a user instruction. The current project name,
676
+ * icon, app description, and brand colors are resolved server-side. Does not persist the result —
677
+ * the caller saves an accepted icon with UpdateProject.
678
+ * @param projectId - ID of the Project to generate a new icon for.
679
+ * @param prompt - The user's free-text icon instruction, passed to the icon-generation prompt.
680
+ * @internal
681
+ * @documentationMaturity preview
682
+ * @requiredField projectId
683
+ * @requiredField prompt
684
+ * @permissionId containers:projects:v1:project:regenerate_project_icon
685
+ * @fqn wix.containers.projects.v1.ContainersProjects.RegenerateProjectIcon
686
+ */
687
+ declare function regenerateProjectIcon(projectId: string, prompt: string): Promise<NonNullablePaths<RegenerateProjectIconResponse, `iconUrl`, 0>>;
688
+ /**
689
+ * Persists a complete design-token document as a new Himalaya draft release, branched from the
690
+ * release the client currently has displayed.
691
+ *
692
+ * Synchronous: the Himalaya write completes before this call returns. Never touches the project's
693
+ * sandbox, runs a build, or activates the app — the saved release stays a draft, so what the live
694
+ * app serves is unaffected. Persists nothing on our side: this creates no entity and posts no
695
+ * chat checkpoint.
696
+ * @param projectId - Project whose design is being saved. The caller must own it.
697
+ * @param baseReleaseId - The Himalaya release ID currently displayed by the client. The saved draft branches from
698
+ * exactly this release, even when a newer release exists for the app.
699
+ * @internal
700
+ * @documentationMaturity preview
701
+ * @requiredField baseReleaseId
702
+ * @requiredField options
703
+ * @requiredField options.himalayaControlToken
704
+ * @requiredField options.tokensJson
705
+ * @requiredField projectId
706
+ * @permissionId containers:projects:v1:project:save_project_design
707
+ * @fqn wix.containers.projects.v1.ContainersProjects.SaveProjectDesign
708
+ */
709
+ declare function saveProjectDesign(projectId: string, baseReleaseId: string, options: NonNullablePaths<SaveProjectDesignOptions, `himalayaControlToken` | `tokensJson`, 0>): Promise<NonNullablePaths<SaveProjectDesignResponse, `himalayaReleaseId` | `previewToken`, 0>>;
710
+ interface SaveProjectDesignOptions {
711
+ /**
712
+ * The complete edited design-token document, as a JSON object string — not a flattened set of
713
+ * preview overrides. The caller is responsible for preserving unknown groups and light/dark
714
+ * values it did not change.
715
+ * @maxLength 65536
716
+ */
717
+ tokensJson: string;
718
+ /**
719
+ * Short-lived, app-scoped Himalaya control credential the client obtained from Himalaya's owner
720
+ * embed-token endpoint. Forwarded to Himalaya for this call only — never logged, persisted, or
721
+ * echoed back in any response, error, or event.
722
+ *
723
+ * The app this call writes to is NOT taken from this request. It is composed from the owner
724
+ * prefix this credential carries plus project_id; see HimalayaAppSlug.
725
+ * @maxLength 4096
726
+ */
727
+ himalayaControlToken: string;
728
+ }
729
+ /**
730
+ * Lists the Projects of the current site — the MetaSite in the call scope — regardless of who owns
731
+ * them. Anyone with access to the site sees the site's projects; other sites in the same account are
732
+ * separate tenants and never appear here. The dashboard uses this; ListProjectsForCurrentUser stays
733
+ * owner-scoped for callers that still depend on it.
734
+ * @internal
735
+ * @documentationMaturity preview
736
+ * @permissionId containers:projects:v1:project:list_projects
737
+ * @fqn wix.containers.projects.v1.ContainersProjects.ListProjects
738
+ */
739
+ declare function listProjects(options?: ListProjectsOptions): Promise<NonNullablePaths<ListProjectsResponse, `projects` | `projects.${number}.name` | `projects.${number}.status` | `projects.${number}.sandboxStatus` | `projects.${number}.platform`, 2>>;
740
+ interface ListProjectsOptions {
741
+ /** Cursor paging options. */
742
+ paging?: CursorPaging;
743
+ }
744
+
745
+ export { type AccountInfo, type ActionEvent, type CreateAgentSessionRequest, type CreateAgentSessionResponse, type CreateProjectRequest, type CreateProjectResponse, type CursorPaging, type CursorPagingMetadata, type Cursors, type DeleteProjectRequest, type DeleteProjectResponse, type DomainEvent, type DomainEventBodyOneOf, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type GetProjectRequest, type GetProjectResponse, type IdentificationData, type IdentificationDataIdOneOf, type ListProjectsForCurrentUserRequest, type ListProjectsForCurrentUserResponse, type ListProjectsOptions, type ListProjectsRequest, type ListProjectsResponse, type MessageEnvelope, Platform, type PlatformWithLiterals, type Project, type ProjectPlanReady, type ProjectResumeRequested, type ProjectStartRequested, ProjectStatus, type ProjectStatusWithLiterals, type RefreshAgentSiteTokenRequest, type RefreshAgentSiteTokenResponse, type RegenerateProjectIconRequest, type RegenerateProjectIconResponse, type RegenerateProjectNameRequest, type RegenerateProjectNameResponse, type RestoreInfo, type ResumeProjectRequest, type ResumeProjectResponse, SandboxStatus, type SandboxStatusWithLiterals, type SaveProjectDesignOptions, type SaveProjectDesignRequest, type SaveProjectDesignResponse, type StartProjectRequest, type StartProjectResponse, type UpdateProject, type UpdateProjectRequest, type UpdateProjectResponse, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, createProject, deleteProject, getProject, listProjects, regenerateProjectIcon, regenerateProjectName, resumeProject, saveProjectDesign, updateProject };