@wix/auto_sdk_containers_plans 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,708 @@
1
+ interface Plan {
2
+ /**
3
+ * Plan ID.
4
+ * @format GUID
5
+ * @readonly
6
+ */
7
+ _id?: string | null;
8
+ /**
9
+ * Revision number, which increments by 1 each time the Plan is updated.
10
+ * @readonly
11
+ */
12
+ revision?: string | null;
13
+ /**
14
+ * Date and time the Plan was created.
15
+ * @readonly
16
+ */
17
+ _createdDate?: Date | null;
18
+ /**
19
+ * Date and time the Plan was last updated.
20
+ * @readonly
21
+ */
22
+ _updatedDate?: Date | null;
23
+ /**
24
+ * The user's initial free-text prompt that started the plan.
25
+ * @maxLength 10000
26
+ */
27
+ initialPrompt?: string;
28
+ /** Generation platform for the app. */
29
+ platform?: PlatformWithLiterals;
30
+ /** Lifecycle status of the Plan. */
31
+ status?: PlanStatusWithLiterals;
32
+ /**
33
+ * Template chosen for generation. A Code Store `containers-templates` catalog GUID, or (for
34
+ * HIMALAYA_MOBILE) a himi starter template name (e.g. "branded-lite") that does not resolve to
35
+ * a catalog entry — see `PlansService.resolveTemplate`/`validateTemplatePlatform`, which treat a
36
+ * non-GUID value as an opaque template name rather than a catalog reference.
37
+ * @maxLength 200
38
+ */
39
+ selectedTemplateId?: string | null;
40
+ /**
41
+ * The project this plan belongs to. Supplied by the client at creation.
42
+ * @format GUID
43
+ */
44
+ projectId?: string | null;
45
+ /**
46
+ * Facts extracted from the existing business/site. Derived server-side and read-only to clients.
47
+ * @readonly
48
+ */
49
+ businessContext?: BusinessContext;
50
+ /** Visual identity extracted from the user's website. A starting point the user can edit. */
51
+ brandIdentity?: BrandIdentity;
52
+ /** The specification of the app to generate, produced from the plan prompt. */
53
+ appSpec?: AppSpec;
54
+ }
55
+ declare enum Platform {
56
+ /**
57
+ * Himalaya Mobile (Wix SDUI/OTA content package): mobile apps built headlessly on the
58
+ * on-demand remote machine via the himi CLI, instead of native iOS/Android pods.
59
+ */
60
+ HIMALAYA_MOBILE = "HIMALAYA_MOBILE"
61
+ }
62
+ /** @enumType */
63
+ type PlatformWithLiterals = Platform | 'HIMALAYA_MOBILE';
64
+ declare enum PlanStatus {
65
+ /** Plan is being assembled by the planning agent and the user. */
66
+ DRAFT = "DRAFT",
67
+ /** Plan is complete and approved; ready for the generation pipeline. */
68
+ FINALIZED = "FINALIZED"
69
+ }
70
+ /** @enumType */
71
+ type PlanStatusWithLiterals = PlanStatus | 'DRAFT' | 'FINALIZED';
72
+ /**
73
+ * Facts the server extracts about the existing business/site. The client reads these
74
+ * to inform the app spec, but does not write them.
75
+ */
76
+ interface BusinessContext {
77
+ /**
78
+ * Business name as configured on the site.
79
+ * @maxLength 200
80
+ */
81
+ businessName?: string;
82
+ /**
83
+ * Business logo image URL, extracted from the site (empty if it has none). Used as a reference
84
+ * image when generating the app icon (see AppSpec.app_icon_url).
85
+ * @maxLength 2000
86
+ */
87
+ businessLogoUrl?: string;
88
+ /**
89
+ * Business description as configured on the site.
90
+ * @maxLength 5000
91
+ */
92
+ businessDescription?: string;
93
+ /**
94
+ * Primary language code of the site (for example "en").
95
+ * @maxLength 20
96
+ */
97
+ language?: string;
98
+ /**
99
+ * Country code of the site (for example "IE").
100
+ * @maxLength 20
101
+ */
102
+ country?: string;
103
+ /**
104
+ * App definition IDs of Wix apps installed on the site (for example Bookings, eCommerce).
105
+ * @maxSize 100
106
+ * @maxLength 200
107
+ */
108
+ wixIntegrations?: string[];
109
+ }
110
+ /**
111
+ * Visual identity extracted from the user's existing website. Serves as an editable
112
+ * starting point for the generated app.
113
+ */
114
+ interface BrandIdentity {
115
+ /**
116
+ * Primary brand color.
117
+ * @maxLength 100
118
+ */
119
+ primaryColor?: string;
120
+ /**
121
+ * Background color.
122
+ * @maxLength 100
123
+ */
124
+ backgroundColor?: string;
125
+ /**
126
+ * Content (foreground) color.
127
+ * @maxLength 100
128
+ */
129
+ contentColor?: string;
130
+ /**
131
+ * Heading typography / font.
132
+ * @maxLength 100
133
+ */
134
+ headingFont?: string;
135
+ /**
136
+ * Body typography / font.
137
+ * @maxLength 100
138
+ */
139
+ bodyFont?: string;
140
+ }
141
+ /**
142
+ * The specification of the app to generate, produced from the plan prompt and confirmed
143
+ * by the user.
144
+ */
145
+ interface AppSpec {
146
+ /**
147
+ * Display name of the app to generate.
148
+ * @maxLength 200
149
+ */
150
+ appName?: string;
151
+ /**
152
+ * Description of the app to generate.
153
+ * @maxLength 5000
154
+ */
155
+ appDescription?: string;
156
+ /**
157
+ * The business goal the app should serve.
158
+ * @maxLength 2000
159
+ */
160
+ businessGoal?: string;
161
+ /**
162
+ * The target audience for the app.
163
+ * @maxLength 2000
164
+ */
165
+ audience?: string;
166
+ /**
167
+ * Wix integrations to include, each with a display name, description, and capability tags.
168
+ * @maxSize 100
169
+ */
170
+ wixIntegrations?: Integration[];
171
+ /**
172
+ * Third-party integrations to include, each with a display name, description, and capability tags.
173
+ * @maxSize 100
174
+ */
175
+ thirdPartyIntegrations?: Integration[];
176
+ /**
177
+ * Features the app should provide, each with a title and description.
178
+ * @maxSize 200
179
+ */
180
+ features?: Feature[];
181
+ /**
182
+ * Navigation screens for the app.
183
+ * @maxSize 100
184
+ * @maxLength 200
185
+ */
186
+ navigation?: string[];
187
+ /**
188
+ * Icon URL for the app to generate. Seeded at plan creation from the business's real logo, or
189
+ * a best-effort generated placeholder if it has none. The client can replace it later with a
190
+ * RegenerateIcon result they've accepted, via UpdatePlan.
191
+ * @format WEB_URL
192
+ * @maxLength 2000
193
+ */
194
+ appIconUrl?: string;
195
+ }
196
+ /**
197
+ * An integration (Wix or third-party) the generated app should include, produced by the
198
+ * planning agent from the prompt.
199
+ */
200
+ interface Integration {
201
+ /**
202
+ * Display name, for example "Wix Stores".
203
+ * @maxLength 200
204
+ */
205
+ displayName?: string;
206
+ /**
207
+ * What the integration provides / why it is included.
208
+ * @maxLength 2000
209
+ */
210
+ description?: string;
211
+ /**
212
+ * Sub-capabilities the integration includes, rendered as tags (for example "Storefront",
213
+ * "Cart & Checkout").
214
+ * @maxSize 50
215
+ * @maxLength 100
216
+ */
217
+ tags?: string[];
218
+ /**
219
+ * Stable integration id / slug (for example "wix-stores"). For Wix integrations this is chosen
220
+ * by the planning agent from the server-provided catalog of supported Wix integrations; empty
221
+ * for free-form third-party integrations. The client keys the integration's icon off this id.
222
+ * @maxLength 200
223
+ */
224
+ _id?: string;
225
+ }
226
+ /** A capability the app should provide, produced by the planning agent from the prompt. */
227
+ interface Feature {
228
+ /**
229
+ * Short feature title.
230
+ * @maxLength 200
231
+ */
232
+ title?: string;
233
+ /**
234
+ * What the feature does, shown under the title.
235
+ * @maxLength 2000
236
+ */
237
+ description?: string;
238
+ }
239
+ interface PlanFinalized {
240
+ /**
241
+ * ID of the Plan that was finalized.
242
+ * @format GUID
243
+ */
244
+ planId?: string;
245
+ /**
246
+ * ID of the Project this plan belongs to. containers-projects reads the finalized plan back by
247
+ * this id (one plan per project) when creating the initial generation job.
248
+ * @format GUID
249
+ */
250
+ projectId?: string;
251
+ /**
252
+ * ID of the conversation that led to this plan being finalized.
253
+ * @format GUID
254
+ */
255
+ conversationId?: string;
256
+ }
257
+ interface CreatePlanRequest {
258
+ /** Plan to be created. */
259
+ plan: Plan;
260
+ }
261
+ interface CreatePlanResponse {
262
+ /** The created Plan. */
263
+ plan?: Plan;
264
+ }
265
+ interface CreateAndGeneratePlanRequest {
266
+ /** Plan to be created and generated. */
267
+ plan: Plan;
268
+ }
269
+ interface CreateAndGeneratePlanResponse {
270
+ /** The generated Plan. */
271
+ plan?: Plan;
272
+ /**
273
+ * Follow-up questions from the planning agent to further build the plan.
274
+ * @maxSize 50
275
+ * @maxLength 4000
276
+ */
277
+ followUpQuestions?: string[];
278
+ /**
279
+ * Structured follow-up questions with selectable answer options. Superseding follow_up_questions;
280
+ * that field is kept and populated in parallel for callers that have not migrated to this one.
281
+ * @maxSize 4
282
+ */
283
+ followUpQuestionOptions?: FollowUpQuestion[];
284
+ }
285
+ /** A follow-up question paired with selectable answer options, shown as quick-reply choices. */
286
+ interface FollowUpQuestion {
287
+ /**
288
+ * The question text.
289
+ * @maxLength 4000
290
+ */
291
+ question?: string;
292
+ /**
293
+ * Selectable answer options for this question.
294
+ * @maxSize 10
295
+ * @maxLength 200
296
+ */
297
+ options?: string[];
298
+ }
299
+ interface GetPlanRequest {
300
+ /**
301
+ * ID of the Plan to retrieve.
302
+ * @format GUID
303
+ */
304
+ planId: string;
305
+ }
306
+ interface GetPlanResponse {
307
+ /** The requested Plan. */
308
+ plan?: Plan;
309
+ }
310
+ interface GetPlanByProjectIdRequest {
311
+ /**
312
+ * ID of the project whose Plan to retrieve.
313
+ * @format GUID
314
+ */
315
+ projectId: string;
316
+ }
317
+ interface GetPlanByProjectIdResponse {
318
+ /** The project's Plan. */
319
+ plan?: Plan;
320
+ }
321
+ interface UpdatePlanRequest {
322
+ /** Plan to be updated, may be partial. */
323
+ plan: Plan;
324
+ }
325
+ interface UpdatePlanResponse {
326
+ /** The updated Plan. */
327
+ plan?: Plan;
328
+ }
329
+ interface DeletePlanRequest {
330
+ /**
331
+ * ID of the Plan to delete.
332
+ * @format GUID
333
+ */
334
+ planId: string;
335
+ }
336
+ interface DeletePlanResponse {
337
+ }
338
+ interface GeneratePlanRequest {
339
+ /**
340
+ * ID of the Plan to generate.
341
+ * @format GUID
342
+ */
343
+ planId: string;
344
+ }
345
+ interface GeneratePlanResponse {
346
+ /** The generated Plan. */
347
+ plan?: Plan;
348
+ /**
349
+ * Follow-up questions from the planning agent to further build the plan.
350
+ * @maxSize 50
351
+ * @maxLength 4000
352
+ */
353
+ followUpQuestions?: string[];
354
+ /**
355
+ * Structured follow-up questions with selectable answer options. Superseding follow_up_questions;
356
+ * that field is kept and populated in parallel for callers that have not migrated to this one.
357
+ * @maxSize 4
358
+ */
359
+ followUpQuestionOptions?: FollowUpQuestion[];
360
+ }
361
+ interface ModifyPlanRequest {
362
+ /**
363
+ * ID of the Plan to modify.
364
+ * @format GUID
365
+ */
366
+ planId: string;
367
+ /**
368
+ * The user's answers to the previous iteration's follow-up questions.
369
+ * @maxSize 50
370
+ */
371
+ answeredQuestions?: AnsweredQuestion[];
372
+ /**
373
+ * Optional additional request from the user to further shape the plan.
374
+ * @maxLength 10000
375
+ */
376
+ userPrompt?: string | null;
377
+ /**
378
+ * Optional selected plan part. When present, only this boundary may change.
379
+ * When absent, ModifyPlan keeps its existing whole-plan behavior.
380
+ */
381
+ planEditContext?: PlanEditContext;
382
+ }
383
+ /** A follow-up question from a previous iteration paired with the user's answer. */
384
+ interface AnsweredQuestion {
385
+ /**
386
+ * The follow-up question that was asked.
387
+ * @maxLength 4000
388
+ */
389
+ question?: string;
390
+ /**
391
+ * The user's answer to the question.
392
+ * @maxLength 10000
393
+ */
394
+ answer?: string;
395
+ }
396
+ /**
397
+ * Identifies one editable part of a plan. Optional on chat and plan-edit requests; when absent,
398
+ * plan editing keeps its existing whole-plan behavior.
399
+ */
400
+ interface PlanEditContext {
401
+ /** Kind of plan part selected by the user. */
402
+ type?: PlanPartTypeWithLiterals;
403
+ /**
404
+ * Zero-based item index. Set only for repeated parts such as features, screens, or integrations.
405
+ * @max 199
406
+ */
407
+ index?: number | null;
408
+ /**
409
+ * Plan revision shown when the user selected the part. Used to reject stale edits.
410
+ * @min 1
411
+ */
412
+ planRevision?: string | null;
413
+ }
414
+ declare enum PlanPartType {
415
+ APP_NAME = "APP_NAME",
416
+ APP_DESCRIPTION = "APP_DESCRIPTION",
417
+ BUSINESS_GOAL = "BUSINESS_GOAL",
418
+ AUDIENCE = "AUDIENCE",
419
+ FEATURE = "FEATURE",
420
+ SCREEN = "SCREEN",
421
+ WIX_INTEGRATION = "WIX_INTEGRATION",
422
+ THIRD_PARTY_INTEGRATION = "THIRD_PARTY_INTEGRATION",
423
+ BRAND_IDENTITY = "BRAND_IDENTITY",
424
+ /** Color fields within brand_identity; fonts are preserved by the service. */
425
+ COLOR_THEME = "COLOR_THEME",
426
+ /** Font fields within brand_identity; colors are preserved by the service. */
427
+ TEXT_THEME = "TEXT_THEME"
428
+ }
429
+ /** @enumType */
430
+ type PlanPartTypeWithLiterals = PlanPartType | 'APP_NAME' | 'APP_DESCRIPTION' | 'BUSINESS_GOAL' | 'AUDIENCE' | 'FEATURE' | 'SCREEN' | 'WIX_INTEGRATION' | 'THIRD_PARTY_INTEGRATION' | 'BRAND_IDENTITY' | 'COLOR_THEME' | 'TEXT_THEME';
431
+ interface ModifyPlanResponse {
432
+ /** The modified Plan. */
433
+ plan?: Plan;
434
+ /**
435
+ * Follow-up questions the agent wants to ask to further refine the plan.
436
+ * @maxSize 50
437
+ * @maxLength 4000
438
+ */
439
+ followUpQuestions?: string[];
440
+ /**
441
+ * Structured follow-up questions with selectable answer options. Superseding follow_up_questions;
442
+ * that field is kept and populated in parallel for callers that have not migrated to this one.
443
+ * @maxSize 4
444
+ */
445
+ followUpQuestionOptions?: FollowUpQuestion[];
446
+ }
447
+ interface RegenerateIconRequest {
448
+ /**
449
+ * ID of the Plan whose icon to regenerate.
450
+ * @format GUID
451
+ */
452
+ planId: string;
453
+ /**
454
+ * Free-text description of the desired icon, passed to the icon-generation prompt.
455
+ * @maxLength 4000
456
+ */
457
+ prompt: string;
458
+ }
459
+ interface RegenerateIconResponse {
460
+ /**
461
+ * The generated icon URL. Not persisted — apply via UpdatePlan (app_spec.app_icon_url).
462
+ * @maxLength 2000
463
+ */
464
+ iconUrl?: string;
465
+ }
466
+ interface FinalizePlanRequest {
467
+ /**
468
+ * ID of the Plan to finalize. Its project_id and selected_template_id (set at creation)
469
+ * are used to drive generation.
470
+ * @format GUID
471
+ */
472
+ planId: string;
473
+ /**
474
+ * ID of the conversation that led to this plan being finalized.
475
+ * @format GUID
476
+ */
477
+ conversationId: string;
478
+ }
479
+ interface FinalizePlanResponse {
480
+ /** The finalized Plan. */
481
+ plan?: Plan;
482
+ }
483
+ interface DomainEvent extends DomainEventBodyOneOf {
484
+ createdEvent?: EntityCreatedEvent;
485
+ updatedEvent?: EntityUpdatedEvent;
486
+ deletedEvent?: EntityDeletedEvent;
487
+ actionEvent?: ActionEvent;
488
+ /** Event ID. With this ID you can easily spot duplicated events and ignore them. */
489
+ _id?: string;
490
+ /**
491
+ * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.
492
+ * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.
493
+ */
494
+ entityFqdn?: string;
495
+ /**
496
+ * Event action name, placed at the top level to make it easier for users to dispatch messages.
497
+ * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.
498
+ */
499
+ slug?: string;
500
+ /** ID of the entity associated with the event. */
501
+ entityId?: string;
502
+ /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */
503
+ eventTime?: Date | null;
504
+ /**
505
+ * Whether the event was triggered as a result of a privacy regulation application
506
+ * (for example, GDPR).
507
+ */
508
+ triggeredByAnonymizeRequest?: boolean | null;
509
+ /** If present, indicates the action that triggered the event. */
510
+ originatedFrom?: string | null;
511
+ /**
512
+ * 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.
513
+ * 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.
514
+ */
515
+ entityEventSequence?: string | null;
516
+ }
517
+ /** @oneof */
518
+ interface DomainEventBodyOneOf {
519
+ createdEvent?: EntityCreatedEvent;
520
+ updatedEvent?: EntityUpdatedEvent;
521
+ deletedEvent?: EntityDeletedEvent;
522
+ actionEvent?: ActionEvent;
523
+ }
524
+ interface EntityCreatedEvent {
525
+ entity?: string;
526
+ }
527
+ interface RestoreInfo {
528
+ deletedDate?: Date | null;
529
+ }
530
+ interface EntityUpdatedEvent {
531
+ /**
532
+ * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
533
+ * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
534
+ * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
535
+ */
536
+ currentEntity?: string;
537
+ }
538
+ interface EntityDeletedEvent {
539
+ /** Entity that was deleted. */
540
+ deletedEntity?: string | null;
541
+ }
542
+ interface ActionEvent {
543
+ body?: string;
544
+ }
545
+ interface MessageEnvelope {
546
+ /**
547
+ * App instance ID.
548
+ * @format GUID
549
+ */
550
+ instanceId?: string | null;
551
+ /**
552
+ * Event type.
553
+ * @maxLength 150
554
+ */
555
+ eventType?: string;
556
+ /** The identification type and identity data. */
557
+ identity?: IdentificationData;
558
+ /** Stringify payload. */
559
+ data?: string;
560
+ /** Details related to the account */
561
+ accountInfo?: AccountInfo;
562
+ }
563
+ interface IdentificationData extends IdentificationDataIdOneOf {
564
+ /**
565
+ * ID of a site visitor that has not logged in to the site.
566
+ * @format GUID
567
+ */
568
+ anonymousVisitorId?: string;
569
+ /**
570
+ * ID of a site visitor that has logged in to the site.
571
+ * @format GUID
572
+ */
573
+ memberId?: string;
574
+ /**
575
+ * ID of a Wix user (site owner, contributor, etc.).
576
+ * @format GUID
577
+ */
578
+ wixUserId?: string;
579
+ /**
580
+ * ID of an app.
581
+ * @format GUID
582
+ */
583
+ appId?: string;
584
+ /** @readonly */
585
+ identityType?: WebhookIdentityTypeWithLiterals;
586
+ }
587
+ /** @oneof */
588
+ interface IdentificationDataIdOneOf {
589
+ /**
590
+ * ID of a site visitor that has not logged in to the site.
591
+ * @format GUID
592
+ */
593
+ anonymousVisitorId?: string;
594
+ /**
595
+ * ID of a site visitor that has logged in to the site.
596
+ * @format GUID
597
+ */
598
+ memberId?: string;
599
+ /**
600
+ * ID of a Wix user (site owner, contributor, etc.).
601
+ * @format GUID
602
+ */
603
+ wixUserId?: string;
604
+ /**
605
+ * ID of an app.
606
+ * @format GUID
607
+ */
608
+ appId?: string;
609
+ }
610
+ declare enum WebhookIdentityType {
611
+ UNKNOWN = "UNKNOWN",
612
+ ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
613
+ MEMBER = "MEMBER",
614
+ WIX_USER = "WIX_USER",
615
+ APP = "APP"
616
+ }
617
+ /** @enumType */
618
+ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP';
619
+ interface AccountInfo {
620
+ /**
621
+ * ID of the Wix account associated with the event.
622
+ * @format GUID
623
+ */
624
+ accountId?: string | null;
625
+ /**
626
+ * ID of the parent Wix account. Only included when accountId belongs to a child account.
627
+ * @format GUID
628
+ */
629
+ parentAccountId?: string | null;
630
+ /**
631
+ * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.
632
+ * @format GUID
633
+ */
634
+ siteId?: string | null;
635
+ }
636
+ interface UpdatePlan {
637
+ /**
638
+ * Plan ID.
639
+ * @format GUID
640
+ * @readonly
641
+ */
642
+ _id?: string | null;
643
+ /**
644
+ * Revision number, which increments by 1 each time the Plan is updated.
645
+ * @readonly
646
+ */
647
+ revision?: string | null;
648
+ /**
649
+ * Date and time the Plan was created.
650
+ * @readonly
651
+ */
652
+ _createdDate?: Date | null;
653
+ /**
654
+ * Date and time the Plan was last updated.
655
+ * @readonly
656
+ */
657
+ _updatedDate?: Date | null;
658
+ /**
659
+ * The user's initial free-text prompt that started the plan.
660
+ * @maxLength 10000
661
+ */
662
+ initialPrompt?: string;
663
+ /** Generation platform for the app. */
664
+ platform?: PlatformWithLiterals;
665
+ /** Lifecycle status of the Plan. */
666
+ status?: PlanStatusWithLiterals;
667
+ /**
668
+ * Template chosen for generation. A Code Store `containers-templates` catalog GUID, or (for
669
+ * HIMALAYA_MOBILE) a himi starter template name (e.g. "branded-lite") that does not resolve to
670
+ * a catalog entry — see `PlansService.resolveTemplate`/`validateTemplatePlatform`, which treat a
671
+ * non-GUID value as an opaque template name rather than a catalog reference.
672
+ * @maxLength 200
673
+ */
674
+ selectedTemplateId?: string | null;
675
+ /**
676
+ * The project this plan belongs to. Supplied by the client at creation.
677
+ * @format GUID
678
+ */
679
+ projectId?: string | null;
680
+ /**
681
+ * Facts extracted from the existing business/site. Derived server-side and read-only to clients.
682
+ * @readonly
683
+ */
684
+ businessContext?: BusinessContext;
685
+ /** Visual identity extracted from the user's website. A starting point the user can edit. */
686
+ brandIdentity?: BrandIdentity;
687
+ /** The specification of the app to generate, produced from the plan prompt. */
688
+ appSpec?: AppSpec;
689
+ }
690
+ interface ModifyPlanOptions {
691
+ /**
692
+ * The user's answers to the previous iteration's follow-up questions.
693
+ * @maxSize 50
694
+ */
695
+ answeredQuestions?: AnsweredQuestion[];
696
+ /**
697
+ * Optional additional request from the user to further shape the plan.
698
+ * @maxLength 10000
699
+ */
700
+ userPrompt?: string | null;
701
+ /**
702
+ * Optional selected plan part. When present, only this boundary may change.
703
+ * When absent, ModifyPlan keeps its existing whole-plan behavior.
704
+ */
705
+ planEditContext?: PlanEditContext;
706
+ }
707
+
708
+ export { type AccountInfo, type ActionEvent, type AnsweredQuestion, type AppSpec, type BrandIdentity, type BusinessContext, type CreateAndGeneratePlanRequest, type CreateAndGeneratePlanResponse, type CreatePlanRequest, type CreatePlanResponse, type DeletePlanRequest, type DeletePlanResponse, type DomainEvent, type DomainEventBodyOneOf, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type Feature, type FinalizePlanRequest, type FinalizePlanResponse, type FollowUpQuestion, type GeneratePlanRequest, type GeneratePlanResponse, type GetPlanByProjectIdRequest, type GetPlanByProjectIdResponse, type GetPlanRequest, type GetPlanResponse, type IdentificationData, type IdentificationDataIdOneOf, type Integration, type MessageEnvelope, type ModifyPlanOptions, type ModifyPlanRequest, type ModifyPlanResponse, type Plan, type PlanEditContext, type PlanFinalized, PlanPartType, type PlanPartTypeWithLiterals, PlanStatus, type PlanStatusWithLiterals, Platform, type PlatformWithLiterals, type RegenerateIconRequest, type RegenerateIconResponse, type RestoreInfo, type UpdatePlan, type UpdatePlanRequest, type UpdatePlanResponse, WebhookIdentityType, type WebhookIdentityTypeWithLiterals };