@engenty/wizards 0.9.5 → 0.9.8

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.
@@ -135,1814 +135,570 @@ declare interface ConnectorOption {
135
135
  hint?: string;
136
136
  }
137
137
 
138
- /** The Halloween costumes a wizard's engenty can wear. Same list as the web app's engenty figures. */
139
- declare const ENGENTY_COSTUMES: readonly ["witch", "devil", "bat", "pumpkin"];
140
-
141
- declare type EngentyCostume = (typeof ENGENTY_COSTUMES)[number];
142
-
143
- declare type FieldShape = LeafShape | ListShape | ScoreShape | TableShape;
144
-
145
- declare type Format = (typeof FORMATS)[number];
146
-
147
- declare const FORMATS: readonly ["png", "mp4", "mp3", "pdf", "docx", "html", "md", "txt", "csv", "xlsx", "json", "zip"];
148
-
149
- /** What fills a line's gaps: words, a number (written the language's way), or a list of them. */
150
- declare type Gap = string | number | readonly Gap[];
151
-
152
- declare type Lang = (typeof LANGS)[number];
153
-
154
- /**
155
- * The languages engenty speaks: the studio, the runner, the mails, a wizard's own words. A
156
- * language joins once its strings are written; English is the one every string has, and what a
157
- * language still lacks is said in English.
158
- */
159
- declare const LANGS: readonly ["en", "de"];
160
-
161
- declare type LeafShape = TextShape | NumberShape | YesNoShape | ChoiceShape | RefShape;
162
-
163
- /**
164
- * What a wizard keeps between runs for one person: lists (tabular data), files and connected
165
- * accounts. The wizard definition says which lists and connections exist; the content belongs
166
- * to the person who ran it.
167
- */
168
- /** A list is an engenty data table: typed columns, rows of cells keyed by column id. */
169
- declare interface ListDef {
170
- id: string;
171
- title: string;
172
- description?: string;
173
- columns: TableColumn[];
174
- /** Column whose value identifies a row: saving a row with a known key updates it. */
175
- key?: string;
176
- /**
177
- * The rows are gone through one by one in a review: `file` holds the path of a kept file
178
- * shown beside the row, `status` is a select whose options are the answers (first = open).
179
- */
180
- check?: {
181
- file?: string;
182
- status?: string;
183
- };
184
- /** Every run reads and writes the same rows; kept as a table of the space, not per person. */
185
- shared?: boolean;
186
- }
187
-
188
- declare interface ListRow {
189
- id: string;
190
- cells: Record<string, unknown>;
191
- updatedAt: string;
192
- }
193
-
194
- declare type ListShape = Named & {
195
- kind: "list";
196
- of: LeafShape | ObjectShape;
197
- };
198
-
199
- /**
200
- * Loads the fonts a theme names, as the wizard's own page does: the brand's from their source,
201
- * the shipped ones from the runtime at `runtime`, and the shipped font of its kind where a brand
202
- * font fails.
203
- */
204
- export declare function loadLookFonts(look: RunTheme, runtime: string): void;
205
-
206
- /** Reads the published wizards behind these tokens from a runtime; ones it cannot read are left out. */
207
- export declare function loadWizards(runtimeUrl: string, tokens: string[]): Promise<WizardInfo[]>;
208
-
209
- /**
210
- * A running step asks the person to sign in on a page the wizard's browser has open. What the
211
- * person types goes into that page; the model never sees it.
212
- */
213
- declare interface LoginAsk extends AskBase {
214
- kind: "login";
215
- site: {
216
- host: string;
217
- title: string;
218
- };
219
- /** Inputs found on the page, to fill here instead of clicking into the picture. */
220
- fields: {
221
- id: string;
222
- label: string;
223
- secret: boolean;
224
- }[];
225
- }
226
-
227
- declare interface MascotProps {
228
- kind: string;
229
- costume?: EngentyCostume;
230
- size?: number;
231
- fluffy?: boolean;
232
- }
233
-
234
- declare const MODEL_CLASSES: readonly ["classifier", "standard", "high", "highest", "image", "video", "audio", "speech"];
235
-
236
- declare type ModelClass = (typeof MODEL_CLASSES)[number];
237
-
238
- declare interface Named {
239
- /** What people read: a column's head, a part's title, "add …". Without one, the key. */
240
- label?: string;
241
- /** What the model is to put there. */
242
- description?: string;
243
- }
244
-
245
- /** What fills a note's gaps: words, numbers, other notes (said in the same language), lists. */
246
- declare type NoteGap = Gap | RunNote | readonly NoteGap[];
247
-
248
- /**
249
- * What a step reports while it works, in words for each language: the runtime writes the English
250
- * line into the run's log, a runner shows it in the language the person reads. The runtime's
251
- * answers to the person running a shared wizard (a refusal, a failure) are notes too: it answers
252
- * them in the wizard's language.
253
- */
254
- declare const NOTES_EN: {
255
- readonly entry: "Entry {n} of {total}";
256
- readonly deciding: "Deciding what to do next…";
257
- readonly choosingFields: "Choosing the right questions…";
258
- readonly batchDone: "{done} of {total} done";
259
- readonly editing: "Editing {n} of {total}";
260
- readonly filming: "Filming {n} of {total}";
261
- readonly clipsRendering: {
262
- readonly one: "Rendering {count} clip – this takes a few minutes.";
263
- readonly other: "Rendering {count} clips – this takes a few minutes.";
264
- };
265
- readonly videoRendering: "Rendering the video – this usually takes 1–3 minutes.";
266
- readonly photo: "Looking at photo {n} of {total}";
267
- readonly found: "{label}: {name}";
268
- readonly listen: "Listening to “{label}”…";
269
- readonly listenFailed: "“{label}” couldn’t be transcribed.";
270
- readonly filmCutting: "Cutting the film – this takes about a minute.";
271
- readonly filmProgress: "{pct} % cut";
272
- readonly filmError: "The film reports: {detail}";
273
- readonly widgetError: "The widget reports an error: {detail}";
274
- readonly mcpConnected: "Connected to {names}";
275
- readonly mcpUnreachable: "MCP server unreachable: {detail}";
276
- readonly reads: "Reading {name}";
277
- readonly readsMany: {
278
- readonly one: "Reading {count} document";
279
- readonly other: "Reading {count} documents";
280
- };
281
- readonly opens: "Opening {name}";
282
- readonly clicks: "Clicking in the browser";
283
- readonly clicksOn: "Clicking “{name}”";
284
- readonly types: "Typing in the browser";
285
- readonly typesText: "Typing “{text}”";
286
- readonly selects: "Choosing “{option}”";
287
- readonly scrolls: "Scrolling";
288
- readonly presses: "Pressing {key}";
289
- readonly goesBack: "Going back a page";
290
- readonly waitsForPage: "Waiting for the page";
291
- readonly fastLoop: "Doing in the browser: {goal}";
292
- readonly personDrives: "You’re driving the browser – the wizard waits";
293
- readonly agentDrives: "The wizard carries on in the browser";
294
- readonly looksAtPage: "Looking at the page";
295
- readonly waitsForSignIn: "Waiting for you to sign in to {name}";
296
- readonly downloads: "Downloading {name}";
297
- readonly attaches: "Attaching {name}";
298
- readonly runs: "Running: {command}";
299
- readonly python: "Running Python";
300
- readonly runsProgram: "Working through the data in one go";
301
- readonly drawing: "Drawing an image";
302
- readonly writesPage: "Writing the page “{title}”";
303
- readonly searchesDocuments: "Searching the documents: {query}";
304
- readonly searchesKnowledge: "Searching knowledge: {query} – {relevant} of {candidates} fit";
305
- readonly listsKnowledge: "Listing knowledge";
306
- readonly searchesMail: "Searching {label}";
307
- readonly savesReceipts: {
308
- readonly one: "Saving {count} receipt from {label}";
309
- readonly other: "Saving {count} receipts from {label}";
310
- };
311
- readonly remembers: "Remembering {title}";
312
- readonly files: {
313
- readonly one: "Filing {count} file";
314
- readonly other: "Filing {count} files";
315
- };
316
- readonly filmSetup: "Setting up the folder for the film";
317
- readonly filmClient: "{client} is working on the film – this usually takes 10–40 minutes.";
318
- readonly filmTask: "On the film: {task}";
319
- readonly filmLooks: "Looking at frames of the film";
320
- readonly filmFix: "The film didn’t render – Claude Code is fixing it";
321
- readonly filmResume: "Picking the film up where it stopped";
322
- readonly wizardUnavailable: "This wizard isn’t available right now.";
323
- readonly translationFailed: "This wizard can’t be translated right now. It’s shown as it was written.";
324
- readonly translationOff: "This wizard is only offered as it was written.";
325
- readonly translationPlaceholder: "The translation of “{text}” needs every placeholder in curly brackets the original has.";
326
- readonly wizardLimit: "This wizard has reached its limit for today. Try again tomorrow.";
327
- readonly guestBudget: "This page has reached its limit for today. Try again tomorrow.";
328
- readonly confirmHuman: "Confirm that you’re a person.";
329
- readonly tooManyRuns: "You’ve started a lot of runs just now. Try again in an hour.";
330
- readonly clientRefused: "This app may not start runs here.";
331
- readonly clientLimit: "This app has started a lot of runs just now. Try again later.";
332
- readonly runOver: "The run is over.";
333
- readonly runBusy: "The wizard is working right now.";
334
- readonly pageOutdated: "This page is out of date.";
335
- readonly noStepBefore: "There is no step before this one.";
336
- readonly checkFields: "Check the marked fields.";
337
- readonly talkOff: "Live conversations aren’t turned on for this wizard.";
338
- readonly talkKeyRefused: "The conversation couldn’t start: the OpenAI API key was refused.";
339
- readonly talkFailed: "The conversation couldn’t start ({status}).";
340
- readonly talkNoSecret: "The conversation couldn’t start: no access key came back.";
341
- readonly tryLater: "Try again later.";
342
- readonly recordingTooLarge: "The recording can be 10 MB at most.";
343
- readonly fileTooLarge: "Choose a file of {mb} MB or less.";
344
- readonly uploadNotPicture: "This file isn’t a picture that can be read. Choose a PNG, JPEG, WebP or GIF.";
345
- readonly uploadPictureTooLarge: "This picture is too large. Choose one of {mp} megapixels or less.";
346
- readonly uploadNotItsType: "This file holds something other than its type says. Choose the file again.";
347
- readonly uploadSvgNotUsable: "This SVG can’t be used. Save it again as a plain SVG, or choose a PNG.";
348
- readonly askClosed: "This question is no longer open.";
349
- readonly noBrowser: "The wizard has no browser open right now.";
350
- readonly notWaiting: "The wizard isn’t waiting for you right now.";
351
- readonly pageActFailed: "That didn’t work on the page.";
352
- readonly linkGone: "This link has expired or was withdrawn.";
353
- readonly connected: "Connected. You can close this window.";
354
- readonly connectFailed: "Connecting didn’t work. Try again.";
355
- readonly connectCancelled: "Connecting was cancelled.";
356
- readonly appleOff: "Apple Intelligence is turned off on this Mac. Turn it on in System Settings → Apple Intelligence & Siri.";
357
- readonly appleLoading: "Apple is still loading the model for Apple Intelligence onto this Mac. Try again in a moment.";
358
- readonly appleMissing: "The helper for Apple Intelligence (wizards-apple) is missing from this install.";
359
- readonly appleOs: "Apple Intelligence needs macOS 26 or later.";
360
- readonly appleDevice: "Apple Intelligence only works on a Mac with Apple silicon.";
361
- readonly appleBusy: "Apple Intelligence isn’t taking more requests right now. Try again in a moment.";
362
- readonly appleTooLong: "The text is too long for Apple Intelligence on this Mac (4,096 tokens for question and answer). Choose another model for this class under Settings → Models.";
363
- readonly appleRefused: "Apple Intelligence turned the request down: Apple’s content rules don’t allow it.";
364
- readonly appleLanguage: "Apple Intelligence doesn’t understand the language of this request.";
365
- readonly appleFormat: "Apple Intelligence can’t answer in this format: {detail}";
366
- readonly appleFailed: "Apple Intelligence: {detail}";
367
- readonly appleNoFfmpeg: "Apple Intelligence can’t read {type}, and without ffmpeg the recording can’t be converted. Install ffmpeg or record as MP4 in the browser.";
368
- readonly appleNotConverted: "Apple Intelligence couldn’t convert the recording: {detail}";
369
- readonly connectorAlreadyExistsSpace: "The connector “{id}” already exists in this space.";
370
- readonly connectorNotExist: "This connector doesn’t exist.";
371
- readonly fieldMissing: "“{label}” is missing.";
372
- readonly mailServerNotExist: "The mail server{host} doesn’t exist. Enter the IMAP server. For Gmail and Google Workspace, it’s imap.gmail.com.";
373
- readonly mailServerNotResponding: "The mail server{host} isn’t responding. Check the IMAP server and port.";
374
- readonly connectingNotWork: "Connecting didn’t work{host}: {detail}";
375
- readonly connectEngentyAccountFirst: "Connect your engenty account first (Settings → Account). Then you can connect Google here.";
376
- readonly engentyAccountNotReached: "Your engenty account can’t be reached right now. Try again later.";
377
- readonly googleNoLongerAccepts: "Google no longer accepts this connection. Connect the account again.";
378
- readonly googleNotConnectedThrough: "Google can’t be connected through your engenty account right now.";
379
- readonly stepNeedsToolPlugin: "This step needs the tool “{id}”. The plugin “{plugin}” isn’t installed here.";
380
- readonly clientNotSignedIn: "{name} isn’t signed in on this computer. Sign in under Settings → Models.";
381
- readonly clientNotInstalled: "{name} isn’t installed on this computer. Install it under Settings → Models.";
382
- readonly clientNoCredit: "The account {name} is signed in with has no credit or quota left.";
383
- readonly clientAccountNotServed: "{name} no longer serves the account it is signed in with. Sign it in with another account, or choose another way under Settings → Models.";
384
- readonly anthropicAccountClaudeCode: "The Anthropic account Claude Code is signed in with has no credit. Sign Claude Code in with your subscription under Settings → Models.";
385
- readonly chatgptAccountCodexSigned: "The ChatGPT account Codex is signed in with has used up its quota. Try again later or choose another client.";
386
- readonly builtTerminalNotAvailable: "The built-in terminal isn’t available on this computer. Run the command in your own terminal.";
387
- readonly terminalNoLongerExists: "This terminal no longer exists.";
388
- readonly imageTypeNotReadable: "Images of type {mime} can’t be read (PNG, JPEG and WebP work).";
389
- readonly fileNotReadable: "“{name}” ({mime}) can’t be read.";
390
- readonly creditsNotSignedIn: "This is set to run on credits, but you’re not signed in to an account.";
391
- readonly accountNoLongerSigned: "The account is no longer signed in. Sign in again under Settings → Account.";
392
- readonly modelNotUsedYet: "The model “{ref}” can’t be used yet. Add an API key under Settings → Models, or sign in to an account.";
393
- readonly noModelForImages: "No model is set up for images.";
394
- readonly noModelForVideos: "No model is set up for videos.";
395
- readonly noModelForSpeech: "No model is set up for speech.";
396
- readonly noOpenaiApiKey: "No OpenAI API key is set for voice conversations (Settings → Models).";
397
- readonly modelNotAvailableAccount: "This model isn’t available with your account.";
398
- readonly accountNoModelSet: "Your account has no model set up for this.";
399
- readonly claudeCodeMakesFilms: "Claude Code makes films on this computer, using your subscription. Set it up as an AI subscription under Settings → Models.";
400
- readonly macNeedsFfmpegTranscribe: "This Mac needs ffmpeg to transcribe recordings from Chrome or Firefox (WebM, Ogg). Safari and the app don’t. Install ffmpeg, e.g. with “brew install ffmpeg”.";
401
- readonly fieldRequired: "Required";
402
- readonly chooseAtLeast: "Choose at least {min}";
403
- readonly chooseAtMost: "At most {max} – remove some";
404
- readonly enterNumber: "Enter a number";
405
- readonly invalidChoice: "Invalid choice";
406
- readonly timeNotOffered: "This time isn’t offered";
407
- readonly notValidEmailAddress: "Not a valid email address";
408
- readonly notValidUrl: "Not a valid URL";
409
- readonly wizardRunOutCredits: "This wizard has run out of credits for now. Try again later.";
410
- readonly providerCreditLow: "Your credit with the model provider isn’t enough for this (videos need a minimum balance there). Top up there and try again.";
411
- readonly aiServiceBusyRight: "The AI service is busy right now. Try again in a moment.";
412
- readonly stepTookTooLong: "The step took too long. Try again.";
413
- readonly aiServiceNotReached: "The AI service can’t be reached right now. Try again later.";
414
- readonly notAvailableNow: "That isn’t available here right now.";
415
- readonly fileNotFound: "File not found";
416
- readonly connectFirst: "Connect first";
417
- readonly noEntriesStepWork: "There are no entries for this step to work on.";
418
- readonly stepNotReturnResult: "The step didn’t return a result.";
419
- readonly documentNotCreated: "The document couldn’t be created.";
420
- readonly stepMissingSourcesImages: "This step is missing its sources (images or scenes).";
421
- readonly noTextReadAloud: "There is no text to read aloud.";
422
- readonly wizardStillErrors: "The wizard still has errors.";
423
- readonly noLanguageModelSet: "No language model is set up here.";
424
- readonly creditsUsedUp: "Your credits are used up.";
425
- readonly chooseFile: "Choose a file.";
426
- readonly pageNotReached: "The page can’t be reached.";
427
- readonly unknownEntry: "Unknown entry.";
428
- readonly chooseWizardFileMb: "Choose a wizard file ({PACKAGE_EXTENSION}) of 30 MB or less.";
429
- readonly recordingMbMost: "The recording can be 10 MB at most.";
430
- readonly onlyFinishedResultsShared: "Only finished results can be shared.";
431
- readonly gradientFailed: "Couldn’t make a gradient from that. Try describing it differently.";
432
- readonly onlyOneSpaceAllowed: "Only one space is allowed here.";
433
- readonly mostSpaces: {
434
- readonly one: "You can have at most {count} space here.";
435
- readonly other: "You can have at most {count} spaces here.";
436
- };
437
- readonly twoEntriesSameKey: "Two entries have the same key.";
438
- readonly pageSlugInvalid: "A page address holds lower-case letters a–z, digits and hyphens.";
439
- readonly pageSlugTaken: "Another space of your team has this address.";
440
- readonly pageTaken: "The page is already at “{space}”.";
441
- readonly notDeleteLastSpace: "You can’t delete the last space.";
442
- readonly notFound: "This doesn’t exist or was deleted.";
443
- readonly categoryNeedsName: "A category needs a name.";
444
- readonly unknownCategoryType: "Unknown type “{type}”.";
445
- readonly spaceMostCategories: {
446
- readonly one: "A space can have at most {count} category.";
447
- readonly other: "A space can have at most {count} categories.";
448
- };
449
- readonly categoryAlreadyExists: "The category “{name}” already exists.";
450
- readonly onlyChoiceCategoriesValues: "Only choice categories have values.";
451
- readonly onlyValuesOneCategory: "Only values of one category can be merged.";
452
- readonly templateNeedsNewerVersion: "This template needs a newer version of engenty wizards. Update engenty wizards first.";
453
- readonly chatNotExist: "This chat doesn’t exist.";
454
- readonly unknownRunner: "There’s no runner “{unknown}” here.";
455
- readonly leastOneRunnerStay: "At least one runner has to stay on.";
456
- readonly linkOpenRunnerTurned: "The link has to open a runner that’s turned on.";
457
- readonly jobNotExistAlready: "This job doesn’t exist or has already finished.";
458
- readonly accountAlreadySpace: "This account already has a space here.";
459
- readonly accountAlreadySpaces: {
460
- readonly one: "This account already has {count} space here.";
461
- readonly other: "This account already has {count} spaces here.";
462
- };
463
- readonly roomMostPublishedWizards: {
464
- readonly one: "There’s room for at most {count} published wizard here.";
465
- readonly other: "There’s room for at most {count} published wizards here.";
466
- };
467
- readonly spaceIdAlreadyExists: "A space with this ID already exists here and didn’t come from your computer.";
468
- readonly wizardIdAlreadyBelongs: "A wizard with this ID already belongs to another space here.";
469
- readonly idAlreadyUse: "This ID is already in use here.";
470
- readonly wizardNotSpace: "This wizard isn’t in the space.";
471
- readonly invalidColumns: "Invalid columns.";
472
- readonly spaceMostTables: {
473
- readonly one: "A space can have at most {count} table.";
474
- readonly other: "A space can have at most {count} tables.";
475
- };
476
- readonly tableBelongsOneWizard: "This table belongs to one of the wizard’s lists. Its columns come from the wizard.";
477
- readonly entryAlreadyExists: "This entry already exists.";
478
- readonly tableMostRows: {
479
- readonly one: "A table can have at most {count} row.";
480
- readonly other: "A table can have at most {count} rows.";
481
- };
482
- readonly spaceMostPages: {
483
- readonly one: "A space can have at most {count} page.";
484
- readonly other: "A space can have at most {count} pages.";
485
- };
486
- readonly pageNotSubpages: "This page can’t have subpages.";
487
- readonly pageNotOwnSubpage: "A page can’t be its own subpage.";
488
- readonly pageNeedsTitle: "A page needs a title.";
489
- readonly unknownSpace: "There’s no space “{space}”.";
490
- readonly noParentPage: "There’s no page with the key “{parent}” to put this page under.";
491
- readonly onlyTeamAdmins: "Only team admins can do that. As a member, you can edit the wizards that already exist.";
492
- readonly spaceEditedLocally: "You edit this space in engenty wizards on your computer, not here.";
493
- readonly wizardsRunOncePublished: "Wizards run here once you publish them in engenty wizards on your computer. You build and edit them there.";
494
- readonly logoImagePngSvg: "A logo is an image (PNG, SVG, JPEG, WebP).";
495
- readonly patternImageSvgPng: "A pattern is an image (SVG, PNG, JPEG, WebP).";
496
- readonly filesGoHere: "Images, videos, audio, PDFs, fonts, Lottie and 3D models go here. Texts to look things up in go under knowledge.";
497
- readonly addressNotReached: "The address can’t be reached.";
498
- readonly addressResponded: "The address responded with {status}.";
499
- readonly addressLeadsWebPage: "The address leads to a web page, not an image.";
500
- readonly addressFileTooLarge: "The file is too large.";
501
- readonly onlyDocumentsIndex: "Only documents are in the index.";
502
- readonly emptyTooLargeDocument: "“{name}” is empty or too large for a document.";
503
- readonly spaceMostDocuments: {
504
- readonly one: "A space can have at most {count} document.";
505
- readonly other: "A space can have at most {count} documents.";
506
- };
507
- readonly accountSignedOut: "The account is signed out. Sign in again.";
508
- readonly cloudNotReachedRight: "The cloud can’t be reached right now.";
509
- readonly publishWizardFirst: "Publish the wizard first.";
510
- readonly wizardJsonUnreadable: "This isn’t a wizard file: its wizard.json can’t be read.";
511
- readonly wizardFileComesNewer: "This wizard file comes from a newer version, or it’s damaged. Update engenty wizards or export the wizard again.";
512
- readonly fileOver5Mb: "{name} is larger than 5 MB.";
513
- readonly wizardFileTooLarge: "The wizard file is too large: a workspace holds at most 200 files and 25 MB.";
514
- readonly wizardFileNotOpened: "The wizard file can’t be opened. Export the wizard again and try once more.";
515
- readonly wizardJsonMissing: "This isn’t a wizard file: wizard.json is missing.";
516
- readonly notValidFilePath: "“{name}” isn’t a valid file path.";
517
- readonly workspaceWizardFileLarger: "The workspace in the wizard file is larger than 25 MB.";
518
- readonly unknownTemplate: "There’s no template “{starterId}”.";
519
- readonly wizardChangedMeantime: "The wizard was changed in the meantime.";
520
- readonly valueNotExist: "This value doesn’t exist.";
521
- readonly nothingFiledUnderValue: "Nothing is filed under this value yet.";
522
- readonly filmNotRenderedNeeds: "The film couldn’t be rendered. It needs ffmpeg and a timeline in the widget.";
523
- readonly signInRefused: "The sign-in was refused{host}. Are the address and (app) password right? Gmail and Google Workspace need an app password and IMAP turned on.{answer}";
524
- readonly serverSaid: " The server said: {answer}";
525
- readonly viaAccountFailed: "Connecting through your engenty account didn’t work ({code}).";
526
- readonly pluginInvalidInput: "“{id}” got invalid input: {path} – {problem}";
527
- readonly filmClientStopped: "{name} stopped working on the film: {detail}. The work is saved. A new try carries on from there.";
528
- readonly filmWorkSaved: "{problem} The work is saved. A new try carries on from there.";
529
- readonly filmRenderFailed: "The film couldn’t be rendered: {detail}";
530
- readonly commandNotStarted: "The command couldn’t start: {detail}";
531
- readonly providerKeyMissing: "{provider} is chosen for {makes}, but no API key is set.";
532
- readonly noModelFor: "No model is set up for {makes}.";
533
- readonly noApiKeyFor: "No API key is set for {provider}.";
534
- readonly freeTier: "Your AI Gateway key is on Vercel’s free tier, which doesn’t include {model}. Top up at Vercel ({url}) or choose another model under Settings → Models.";
535
- readonly thisModel: "this model";
536
- readonly quoted: "“{text}”";
537
- readonly viewErrors: "The view has errors: {detail}";
538
- readonly blockedSteps: "{steps}: {problem}";
539
- readonly joined: "{first} {second}";
540
- readonly stepFailed: "This step failed: {detail}";
541
- readonly answersMissing: "Answers are missing or don’t fit: {answers}";
542
- readonly fieldError: "{field} – {message}";
543
- readonly templateNeedsPlugins: {
544
- readonly one: "This template needs the plugin {plugins}: included with Pro on engenty.ai.";
545
- readonly other: "This template needs the plugins {plugins}: included with Pro on engenty.ai.";
546
- };
547
- readonly pageMostChars: {
548
- readonly one: "A page can have at most {count} character.";
549
- readonly other: "A page can have at most {count} characters.";
550
- };
551
- readonly chooseFileUpTo: "Choose a file of {mb} MB or less.";
552
- readonly fontSourceNoFont: "{family} needs a font file of the space: choose a .woff2 from the assets.";
553
- readonly roomMostFiles: {
554
- readonly one: "There’s room for at most {count} file here.";
555
- readonly other: "There’s room for at most {count} files here.";
556
- };
557
- readonly makesText: "text";
558
- readonly makesImages: "images";
559
- readonly makesVideos: "videos";
560
- readonly makesSpeech: "speech";
561
- readonly makesVoiceNotes: "voice notes";
562
- };
563
-
564
- declare type NumberShape = Named & {
565
- kind: "number";
566
- unit?: string;
567
- };
568
-
569
- declare interface ObjectShape extends Named {
570
- kind: "object";
571
- fields: Record<string, FieldShape>;
572
- }
573
-
574
- /** A field of a wizard's page, as `PublicWizard.fields` lists it. */
575
- declare interface PublicField {
576
- id: string;
577
- label: string;
578
- kind: string;
579
- options?: string[];
580
- required?: boolean;
581
- }
582
-
583
- /** An entry of a top-level list of the same output, by its `id`. */
584
- declare type RefShape = Named & {
585
- kind: "ref";
586
- to: string;
587
- };
588
-
589
- /** What a running step asks the person; the step waits for the answer. */
590
- declare type RunAsk = LoginAsk | ConfirmAsk;
591
-
592
- declare interface RunEvent {
593
- id: number;
594
- at: string;
595
- stepId: string | null;
596
- type: "step_started" | "step_done" | "tool" | "info" | "error";
597
- /** In German, as the run's log keeps it. */
598
- message: string;
599
- /** The same as a note a runner shows in the person's language; null for free text. */
600
- note?: RunNote | null;
601
- /** A picture of the run this is about (a photo being looked at, an image just made). */
602
- asset?: string | null;
603
- }
604
-
605
- /** A brand font as a run page loads it: from our copy of its file, or from the space's website. */
606
- declare interface RunFontFace {
607
- family: string;
608
- /** Ours (`/api/public/fonts/…`) or the website's: the font file or a stylesheet that holds it. */
609
- url: string;
610
- stylesheet: boolean;
611
- }
612
-
613
- /** A line of `RUN_NOTES` with what goes into its gaps. */
614
- declare interface RunNote {
615
- code: RunNoteCode;
616
- params?: Record<string, NoteGap | undefined>;
617
- }
618
-
619
- declare type RunNoteCode = keyof typeof NOTES_EN;
620
-
621
- /**
622
- * A run as the runner drives it: the view, and the commands a person can give. `useRun` in the
623
- * studio (a server-sent stream), `useLocalRun` in the WordPress plugin (one request per step).
624
- */
625
- declare interface RunSource {
626
- view: RunView | null;
627
- notFound: boolean;
628
- error: string | null;
629
- busy: boolean;
630
- fieldErrors: Record<string, string>;
631
- submitPage(stepId: string, values: Record<string, unknown>): Promise<boolean>;
632
- accept(stepId: string, edits?: Record<string, string | Record<string, unknown>>): Promise<boolean>;
633
- regenerate(stepId: string, target: string, note: string, items?: number[]): Promise<boolean>;
634
- back(): Promise<boolean>;
635
- retry(): Promise<boolean>;
636
- /** A finished result's text in the language the run is read in (a translated wizard). */
637
- translateResult?(stepId: string): Promise<boolean>;
638
- }
639
-
640
- declare type RunStatus = "waiting_input" | "running" | "done" | "failed" | "cancelled";
641
-
642
- /**
643
- * How a wizard's pages look: its space's brand (`runTheme`) with the wizard's own style on top
644
- * (`themedLook`). Null: the runner's own.
645
- */
646
- declare interface RunTheme {
647
- /** Buttons and marks. */
648
- accent: string | null;
649
- /** What is there, done or good to know: ticks, tips, group headings. */
650
- second: string | null;
651
- /** The ground the pages stand on; its hue tints paper and ink. */
652
- background: string | null;
653
- /** Typefaces as CSS names them. */
654
- display: string | null;
655
- body: string | null;
656
- /** The brand fonts of the two typefaces that have a source: the page loads them from there. */
657
- faces: RunFontFace[];
658
- /** The brand stands on a dark ground. */
659
- dark: boolean;
660
- /** The theme has only dark or only light pages: the person's own setting does not change it. */
661
- pinned: boolean;
662
- /** The theme's colours for light and for dark pages; the page takes those of what it shows. */
663
- modes: {
664
- light: ThemeColours | null;
665
- dark: ThemeColours | null;
666
- } | null;
667
- /** Which of the two the pages show while the person has not chosen. */
668
- prefer: "light" | "dark" | null;
669
- shape: ThemeShape | null;
670
- /** Effects from the runner's library (`THEME_EFFECTS`); names it does not know are skipped. */
671
- effects: ThemeEffect[];
672
- }
673
-
674
- /** How a run in the viewer's language shows. */
675
- declare interface RunTranslation {
676
- /** The language, by its code ("fr"): any language, not only one of `LANGS`. */
677
- lang: string;
678
- /** What a choice shows, by its value. */
679
- labels: Record<string, string>;
680
- /** A model wrote some of it; false where the author wrote every text by hand. */
681
- machine: boolean;
682
- /** Results shown in this language, by step (`RunState.translated`). */
683
- results: Record<string, string>;
684
- }
685
-
686
- declare interface RunView {
687
- id: string;
688
- status: RunStatus;
689
- mode: "test" | "live";
690
- wizard: Pick<WizardDefinition, "title" | "description" | "avatar" | "costume" | "intro">;
691
- /** The language the wizard speaks, by its code: what is read aloud, and in which voice. */
692
- lang: string;
693
- /**
694
- * The run in the viewer's language (a wizard translated on request): every text of the view
695
- * is written in it, the choices keep their values and show `labels[value]`. Null: the
696
- * wizard's own words.
697
- */
698
- translation: RunTranslation | null;
699
- /** A live conversation can be started on this run: the runtime has a model for it and the wizard has live voice or video on (always in a test). */
700
- talk: boolean;
701
- /** The step the person is on (interactive) or the one running. */
702
- step: Step | null;
703
- /** Pages and reviews answered before it, oldest first: what a chat shows above the current step. */
704
- answered: Step[];
705
- values: Record<string, unknown>;
706
- /** What fields of the current page start with, from earlier steps (`prefill`). */
707
- prefill: Record<string, unknown>;
708
- /** What the `when` of the current page's fields read from before the page, by reference. */
709
- known?: Record<string, unknown>;
710
- /** Choices of the current page's fields that come from earlier data (`optionsFrom`). */
711
- options?: Record<string, string[]>;
712
- /** The same choices as cards, for fields that have `cards`. */
713
- cards?: Record<string, CardOption[]>;
714
- /** The decided fields (`ask`, `group`) of the current page that a decision kept. */
715
- decidedFields?: string[];
716
- /**
717
- * What decided branches answered so far, by step, with the branches decided over (test runs:
718
- * the studio shows them while the draft's branches are still those).
719
- */
720
- decisions?: Record<string, ShownDecision>;
721
- /** Choices of the current page that lead to a step without a model here, by field id. */
722
- closed: Record<string, ClosedChoice>;
723
- outputs: Record<string, StepOutput>;
724
- /** Steps whose outputs the current step shows, with their definitions. */
725
- shown: {
726
- step: Step;
727
- output: StepOutput | null;
728
- formats: Format[];
729
- label: string | null;
730
- }[];
731
- progress: {
732
- done: number;
733
- total: number;
734
- };
735
- canBack: boolean;
736
- error: string | null;
737
- events: RunEvent[];
738
- brand: BrandView;
739
- /** What the running step asks the person right now. */
740
- ask: RunAsk | null;
741
- /** Stored lists the current step shows (a page's list fields, a review, the result). */
742
- lists: ShownList[];
743
- /** The wizard's connections with what the person has connected. */
744
- connections: ConnectionView[];
745
- /** The wizard keeps things for the person between runs (lists, files, accounts). */
746
- keeps: boolean;
747
- /** Set once the result is shared. */
748
- shareUrl: string | null;
749
- /** When the run and its shared link are deleted; null = kept. */
750
- expiresAt: string | null;
751
- /** The result on its way to a share target, or the last one that arrived or failed. */
752
- shareJob: ShareJobView | null;
753
- }
754
-
755
- /** `fields` only: a decision's levels, lowest first. */
756
- declare type ScoreShape = Named & {
757
- kind: "score";
758
- options: string[];
759
- };
760
-
761
- declare type ShareIcon = "mail" | "folder" | "chat" | "plug" | "globe";
762
-
763
- declare type ShareJobStatus = "running" | "done" | "failed" | "cancelled";
764
-
765
- /** One result on its way to one target, or arrived there. */
766
- declare interface ShareJobView {
767
- id: string;
768
- target: string;
769
- /** The target's name when it was sent. */
770
- name: string;
771
- icon: ShareIcon;
772
- status: ShareJobStatus;
773
- /** What happened so far, oldest first. */
774
- events: {
775
- at: string;
776
- message: string;
777
- }[];
778
- /** What the target asks the person right now: a sign-in, or leave to publish. */
779
- ask: RunAsk | null;
780
- /** Where it ended up, in words, with a link when there is one. */
781
- result: {
782
- summary: string;
783
- url: string | null;
784
- } | null;
785
- error: string | null;
786
- createdAt: string;
787
- }
788
-
789
- /** A branch decision as the studio sees it: with the step's branches it was made over. */
790
- declare interface ShownDecision extends BranchDecision {
791
- over: NonNullable<Step["next"]>;
792
- }
793
-
794
- /** A stored list the current step shows. */
795
- declare interface ShownList {
796
- def: ListDef;
797
- rows: ListRow[];
798
- formats: Format[];
799
- label: string | null;
800
- }
801
-
802
- declare type Step = z.infer<typeof stepSchema>;
803
-
804
- declare interface StepOutput {
805
- text?: string;
806
- json?: unknown;
807
- /** A decision step: how probable each answer is (1 or 0 where a language model answered). */
808
- decided?: Record<string, number>;
809
- /** A view from the surface catalog and the data it is bound to. */
810
- surface?: Surface;
811
- assets?: AssetRef[];
812
- /**
813
- * What the person did in the step's view, kept with the run: a checklist's ticks by component
814
- * id, a widget's own state (`wizard.save`).
815
- */
816
- view?: Record<string, unknown>;
817
- /** Widgets: what loading it with this run's data showed. */
818
- widget?: {
819
- /** Seconds of animation the widget registered for video export; null = a still widget. */
820
- duration: number | null;
821
- errors: string[];
822
- };
823
- at: string;
824
- }
825
-
826
- declare const stepSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
827
- id: z.ZodString;
828
- title: z.ZodString;
829
- description: z.ZodOptional<z.ZodString>;
830
- next: z.ZodOptional<z.ZodArray<z.ZodObject<{
831
- when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
832
- field: z.ZodString;
833
- op: z.ZodEnum<{
834
- contains: "contains";
835
- empty: "empty";
836
- equals: "equals";
837
- gt: "gt";
838
- in: "in";
839
- lt: "lt";
840
- notEmpty: "notEmpty";
841
- notEquals: "notEquals";
842
- }>;
843
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
844
- }, z.core.$strip>, z.ZodArray<z.ZodObject<{
845
- field: z.ZodString;
846
- op: z.ZodEnum<{
847
- contains: "contains";
848
- empty: "empty";
849
- equals: "equals";
850
- gt: "gt";
851
- in: "in";
852
- lt: "lt";
853
- notEmpty: "notEmpty";
854
- notEquals: "notEquals";
855
- }>;
856
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
857
- }, z.core.$strip>>]>>;
858
- ask: z.ZodOptional<z.ZodString>;
859
- goto: z.ZodString;
860
- max: z.ZodOptional<z.ZodNumber>;
861
- }, z.core.$strip>>>;
862
- type: z.ZodLiteral<"page">;
863
- fields: z.ZodArray<z.ZodObject<{
864
- id: z.ZodString;
865
- label: z.ZodString;
866
- kind: z.ZodEnum<{
867
- audio: "audio";
868
- color: "color";
869
- connection: "connection";
870
- date: "date";
871
- email: "email";
872
- file: "file";
873
- image: "image";
874
- items: "items";
875
- list: "list";
876
- location: "location";
877
- multiselect: "multiselect";
878
- number: "number";
879
- select: "select";
880
- signature: "signature";
881
- slot: "slot";
882
- text: "text";
883
- textarea: "textarea";
884
- toggle: "toggle";
885
- url: "url";
886
- }>;
887
- required: z.ZodOptional<z.ZodBoolean>;
888
- placeholder: z.ZodOptional<z.ZodString>;
889
- help: z.ZodOptional<z.ZodString>;
890
- options: z.ZodOptional<z.ZodArray<z.ZodString>>;
891
- default: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
892
- columns: z.ZodOptional<z.ZodArray<z.ZodObject<{
893
- id: z.ZodString;
894
- label: z.ZodString;
895
- kind: z.ZodEnum<{
896
- money: "money";
897
- number: "number";
898
- text: "text";
899
- }>;
900
- }, z.core.$strip>>>;
901
- vat: z.ZodOptional<z.ZodObject<{
902
- rate: z.ZodOptional<z.ZodNumber>;
903
- field: z.ZodOptional<z.ZodString>;
904
- }, z.core.$strip>>;
905
- currency: z.ZodOptional<z.ZodString>;
906
- multiple: z.ZodOptional<z.ZodBoolean>;
907
- min: z.ZodOptional<z.ZodNumber>;
908
- max: z.ZodOptional<z.ZodNumber>;
909
- camera: z.ZodOptional<z.ZodBoolean>;
910
- video: z.ZodOptional<z.ZodBoolean>;
911
- listen: z.ZodOptional<z.ZodBoolean>;
912
- scan: z.ZodOptional<z.ZodBoolean>;
913
- connection: z.ZodOptional<z.ZodString>;
914
- list: z.ZodOptional<z.ZodString>;
915
- prefill: z.ZodOptional<z.ZodString>;
916
- when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
917
- field: z.ZodString;
918
- op: z.ZodEnum<{
919
- contains: "contains";
920
- empty: "empty";
921
- equals: "equals";
922
- gt: "gt";
923
- in: "in";
924
- lt: "lt";
925
- notEmpty: "notEmpty";
926
- notEquals: "notEquals";
927
- }>;
928
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
929
- }, z.core.$strip>, z.ZodArray<z.ZodObject<{
930
- field: z.ZodString;
931
- op: z.ZodEnum<{
932
- contains: "contains";
933
- empty: "empty";
934
- equals: "equals";
935
- gt: "gt";
936
- in: "in";
937
- lt: "lt";
938
- notEmpty: "notEmpty";
939
- notEquals: "notEquals";
940
- }>;
941
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
942
- }, z.core.$strip>>]>>;
943
- optionsFrom: z.ZodOptional<z.ZodString>;
944
- cards: z.ZodOptional<z.ZodObject<{
945
- label: z.ZodString;
946
- value: z.ZodOptional<z.ZodString>;
947
- image: z.ZodOptional<z.ZodString>;
948
- subtitle: z.ZodOptional<z.ZodString>;
949
- meta: z.ZodOptional<z.ZodString>;
950
- link: z.ZodOptional<z.ZodString>;
951
- }, z.core.$strip>>;
952
- ask: z.ZodOptional<z.ZodString>;
953
- group: z.ZodOptional<z.ZodString>;
954
- }, z.core.$strip>>;
955
- groups: z.ZodOptional<z.ZodArray<z.ZodObject<{
956
- id: z.ZodString;
957
- instructions: z.ZodString;
958
- optional: z.ZodOptional<z.ZodBoolean>;
959
- }, z.core.$strip>>>;
960
- cta: z.ZodOptional<z.ZodString>;
961
- }, z.core.$strip>, z.ZodObject<{
962
- id: z.ZodString;
963
- title: z.ZodString;
964
- description: z.ZodOptional<z.ZodString>;
965
- next: z.ZodOptional<z.ZodArray<z.ZodObject<{
966
- when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
967
- field: z.ZodString;
968
- op: z.ZodEnum<{
969
- contains: "contains";
970
- empty: "empty";
971
- equals: "equals";
972
- gt: "gt";
973
- in: "in";
974
- lt: "lt";
975
- notEmpty: "notEmpty";
976
- notEquals: "notEquals";
977
- }>;
978
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
979
- }, z.core.$strip>, z.ZodArray<z.ZodObject<{
980
- field: z.ZodString;
981
- op: z.ZodEnum<{
982
- contains: "contains";
983
- empty: "empty";
984
- equals: "equals";
985
- gt: "gt";
986
- in: "in";
987
- lt: "lt";
988
- notEmpty: "notEmpty";
989
- notEquals: "notEquals";
990
- }>;
991
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
992
- }, z.core.$strip>>]>>;
993
- ask: z.ZodOptional<z.ZodString>;
994
- goto: z.ZodString;
995
- max: z.ZodOptional<z.ZodNumber>;
996
- }, z.core.$strip>>>;
997
- type: z.ZodLiteral<"agent">;
998
- instructions: z.ZodDefault<z.ZodString>;
999
- call: z.ZodOptional<z.ZodObject<{
1000
- tool: z.ZodTemplateLiteral<`${string}.${string}`>;
1001
- input: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1002
- }, z.core.$strip>>;
1003
- tools: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodEnum<{
1004
- browser: "browser";
1005
- code: "code";
1006
- http: "http";
1007
- image: "image";
1008
- pages: "pages";
1009
- sandbox: "sandbox";
1010
- web_fetch: "web_fetch";
1011
- web_search: "web_search";
1012
- }>, z.ZodTemplateLiteral<`${string}.${string}`>]>>>;
1013
- mcp: z.ZodOptional<z.ZodArray<z.ZodString>>;
1014
- connections: z.ZodOptional<z.ZodArray<z.ZodString>>;
1015
- output: z.ZodDefault<z.ZodObject<{
1016
- format: z.ZodEnum<{
1017
- json: "json";
1018
- markdown: "markdown";
1019
- text: "text";
1020
- }>;
1021
- fields: z.ZodOptional<z.ZodArray<z.ZodObject<{
1022
- id: z.ZodString;
1023
- kind: z.ZodEnum<{
1024
- choice: "choice";
1025
- list: "list";
1026
- number: "number";
1027
- score: "score";
1028
- table: "table";
1029
- text: "text";
1030
- yesno: "yesno";
1031
- }>;
1032
- description: z.ZodOptional<z.ZodString>;
1033
- columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
1034
- options: z.ZodOptional<z.ZodArray<z.ZodString>>;
1035
- }, z.core.$strip>>>;
1036
- schema: z.ZodOptional<z.ZodType<ObjectShape, unknown, z.core.$ZodTypeInternals<ObjectShape, unknown>>>;
1037
- surface: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodObject<{
1038
- id: z.ZodString;
1039
- component: z.ZodEnum<{
1040
- Actions: "Actions";
1041
- Badge: "Badge";
1042
- BarChart: "BarChart";
1043
- Button: "Button";
1044
- Callout: "Callout";
1045
- Card: "Card";
1046
- Checklist: "Checklist";
1047
- Chips: "Chips";
1048
- Column: "Column";
1049
- DetailGrid: "DetailGrid";
1050
- DonutChart: "DonutChart";
1051
- Fold: "Fold";
1052
- Grid: "Grid";
1053
- Group: "Group";
1054
- Image: "Image";
1055
- LineChart: "LineChart";
1056
- Link: "Link";
1057
- List: "List";
1058
- Metric: "Metric";
1059
- Row: "Row";
1060
- Steps: "Steps";
1061
- Table: "Table";
1062
- Tabs: "Tabs";
1063
- Text: "Text";
1064
- }>;
1065
- children: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{
1066
- path: z.ZodString;
1067
- componentId: z.ZodString;
1068
- }, z.core.$strip>]>>;
1069
- }, z.core.$loose>>]>>;
1070
- }, z.core.$strip>>;
1071
- model: z.ZodOptional<z.ZodEnum<{
1072
- classifier: "classifier";
1073
- high: "high";
1074
- highest: "highest";
1075
- standard: "standard";
1076
- }>>;
1077
- effort: z.ZodOptional<z.ZodEnum<{
1078
- high: "high";
1079
- low: "low";
1080
- medium: "medium";
1081
- }>>;
1082
- each: z.ZodOptional<z.ZodString>;
1083
- working: z.ZodOptional<z.ZodString>;
1084
- }, z.core.$strip>, z.ZodObject<{
1085
- id: z.ZodString;
1086
- title: z.ZodString;
1087
- description: z.ZodOptional<z.ZodString>;
1088
- next: z.ZodOptional<z.ZodArray<z.ZodObject<{
1089
- when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
1090
- field: z.ZodString;
1091
- op: z.ZodEnum<{
1092
- contains: "contains";
1093
- empty: "empty";
1094
- equals: "equals";
1095
- gt: "gt";
1096
- in: "in";
1097
- lt: "lt";
1098
- notEmpty: "notEmpty";
1099
- notEquals: "notEquals";
1100
- }>;
1101
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
1102
- }, z.core.$strip>, z.ZodArray<z.ZodObject<{
1103
- field: z.ZodString;
1104
- op: z.ZodEnum<{
1105
- contains: "contains";
1106
- empty: "empty";
1107
- equals: "equals";
1108
- gt: "gt";
1109
- in: "in";
1110
- lt: "lt";
1111
- notEmpty: "notEmpty";
1112
- notEquals: "notEquals";
1113
- }>;
1114
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
1115
- }, z.core.$strip>>]>>;
1116
- ask: z.ZodOptional<z.ZodString>;
1117
- goto: z.ZodString;
1118
- max: z.ZodOptional<z.ZodNumber>;
1119
- }, z.core.$strip>>>;
1120
- type: z.ZodLiteral<"generate">;
1121
- asset: z.ZodEnum<{
1122
- dashboard: "dashboard";
1123
- document: "document";
1124
- image: "image";
1125
- video: "video";
1126
- voice: "voice";
1127
- }>;
1128
- prompt: z.ZodString;
1129
- options: z.ZodOptional<z.ZodObject<{
1130
- aspectRatio: z.ZodOptional<z.ZodEnum<{
1131
- "16:9": "16:9";
1132
- "1:1": "1:1";
1133
- "2:3": "2:3";
1134
- "3:2": "3:2";
1135
- "4:5": "4:5";
1136
- "9:16": "9:16";
1137
- }>>;
1138
- duration: z.ZodOptional<z.ZodNumber>;
1139
- resolution: z.ZodOptional<z.ZodEnum<{
1140
- "480p": "480p";
1141
- "720p": "720p";
1142
- }>>;
1143
- style: z.ZodOptional<z.ZodString>;
1144
- template: z.ZodOptional<z.ZodEnum<{
1145
- briefing: "briefing";
1146
- free: "free";
1147
- invoice: "invoice";
1148
- letter: "letter";
1149
- offer: "offer";
1150
- report: "report";
1151
- }>>;
1152
- }, z.core.$strip>>;
1153
- referenceImage: z.ZodOptional<z.ZodString>;
1154
- each: z.ZodOptional<z.ZodString>;
1155
- model: z.ZodOptional<z.ZodEnum<{
1156
- classifier: "classifier";
1157
- high: "high";
1158
- highest: "highest";
1159
- standard: "standard";
1160
- }>>;
1161
- effort: z.ZodOptional<z.ZodEnum<{
1162
- high: "high";
1163
- low: "low";
1164
- medium: "medium";
1165
- }>>;
1166
- working: z.ZodOptional<z.ZodString>;
1167
- }, z.core.$strip>, z.ZodObject<{
1168
- id: z.ZodString;
1169
- title: z.ZodString;
1170
- description: z.ZodOptional<z.ZodString>;
1171
- next: z.ZodOptional<z.ZodArray<z.ZodObject<{
1172
- when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
1173
- field: z.ZodString;
1174
- op: z.ZodEnum<{
1175
- contains: "contains";
1176
- empty: "empty";
1177
- equals: "equals";
1178
- gt: "gt";
1179
- in: "in";
1180
- lt: "lt";
1181
- notEmpty: "notEmpty";
1182
- notEquals: "notEquals";
1183
- }>;
1184
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
1185
- }, z.core.$strip>, z.ZodArray<z.ZodObject<{
1186
- field: z.ZodString;
1187
- op: z.ZodEnum<{
1188
- contains: "contains";
1189
- empty: "empty";
1190
- equals: "equals";
1191
- gt: "gt";
1192
- in: "in";
1193
- lt: "lt";
1194
- notEmpty: "notEmpty";
1195
- notEquals: "notEquals";
1196
- }>;
1197
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
1198
- }, z.core.$strip>>]>>;
1199
- ask: z.ZodOptional<z.ZodString>;
1200
- goto: z.ZodString;
1201
- max: z.ZodOptional<z.ZodNumber>;
1202
- }, z.core.$strip>>>;
1203
- type: z.ZodLiteral<"widget">;
1204
- entry: z.ZodString;
1205
- data: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
1206
- sample: z.ZodOptional<z.ZodString>;
1207
- layout: z.ZodOptional<z.ZodEnum<{
1208
- fixed: "fixed";
1209
- page: "page";
1210
- }>>;
1211
- size: z.ZodOptional<z.ZodObject<{
1212
- width: z.ZodNumber;
1213
- height: z.ZodNumber;
1214
- }, z.core.$strip>>;
1215
- video: z.ZodOptional<z.ZodBoolean>;
1216
- working: z.ZodOptional<z.ZodString>;
1217
- }, z.core.$strip>, z.ZodObject<{
1218
- id: z.ZodString;
1219
- title: z.ZodString;
1220
- description: z.ZodOptional<z.ZodString>;
1221
- next: z.ZodOptional<z.ZodArray<z.ZodObject<{
1222
- when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
1223
- field: z.ZodString;
1224
- op: z.ZodEnum<{
1225
- contains: "contains";
1226
- empty: "empty";
1227
- equals: "equals";
1228
- gt: "gt";
1229
- in: "in";
1230
- lt: "lt";
1231
- notEmpty: "notEmpty";
1232
- notEquals: "notEquals";
1233
- }>;
1234
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
1235
- }, z.core.$strip>, z.ZodArray<z.ZodObject<{
1236
- field: z.ZodString;
1237
- op: z.ZodEnum<{
1238
- contains: "contains";
1239
- empty: "empty";
1240
- equals: "equals";
1241
- gt: "gt";
1242
- in: "in";
1243
- lt: "lt";
1244
- notEmpty: "notEmpty";
1245
- notEquals: "notEquals";
1246
- }>;
1247
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
1248
- }, z.core.$strip>>]>>;
1249
- ask: z.ZodOptional<z.ZodString>;
1250
- goto: z.ZodString;
1251
- max: z.ZodOptional<z.ZodNumber>;
1252
- }, z.core.$strip>>>;
1253
- type: z.ZodLiteral<"surface">;
1254
- components: z.ZodOptional<z.ZodArray<z.ZodObject<{
1255
- id: z.ZodString;
1256
- component: z.ZodEnum<{
1257
- Actions: "Actions";
1258
- Badge: "Badge";
1259
- BarChart: "BarChart";
1260
- Button: "Button";
1261
- Callout: "Callout";
1262
- Card: "Card";
1263
- Checklist: "Checklist";
1264
- Chips: "Chips";
1265
- Column: "Column";
1266
- DetailGrid: "DetailGrid";
1267
- DonutChart: "DonutChart";
1268
- Fold: "Fold";
1269
- Grid: "Grid";
1270
- Group: "Group";
1271
- Image: "Image";
1272
- LineChart: "LineChart";
1273
- Link: "Link";
1274
- List: "List";
1275
- Metric: "Metric";
1276
- Row: "Row";
1277
- Steps: "Steps";
1278
- Table: "Table";
1279
- Tabs: "Tabs";
1280
- Text: "Text";
1281
- }>;
1282
- children: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{
1283
- path: z.ZodString;
1284
- componentId: z.ZodString;
1285
- }, z.core.$strip>]>>;
1286
- }, z.core.$loose>>>;
1287
- candidates: z.ZodOptional<z.ZodArray<z.ZodObject<{
1288
- id: z.ZodString;
1289
- description: z.ZodString;
1290
- components: z.ZodArray<z.ZodObject<{
1291
- id: z.ZodString;
1292
- component: z.ZodEnum<{
1293
- Actions: "Actions";
1294
- Badge: "Badge";
1295
- BarChart: "BarChart";
1296
- Button: "Button";
1297
- Callout: "Callout";
1298
- Card: "Card";
1299
- Checklist: "Checklist";
1300
- Chips: "Chips";
1301
- Column: "Column";
1302
- DetailGrid: "DetailGrid";
1303
- DonutChart: "DonutChart";
1304
- Fold: "Fold";
1305
- Grid: "Grid";
1306
- Group: "Group";
1307
- Image: "Image";
1308
- LineChart: "LineChart";
1309
- Link: "Link";
1310
- List: "List";
1311
- Metric: "Metric";
1312
- Row: "Row";
1313
- Steps: "Steps";
1314
- Table: "Table";
1315
- Tabs: "Tabs";
1316
- Text: "Text";
1317
- }>;
1318
- children: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{
1319
- path: z.ZodString;
1320
- componentId: z.ZodString;
1321
- }, z.core.$strip>]>>;
1322
- }, z.core.$loose>>;
1323
- group: z.ZodOptional<z.ZodString>;
1324
- required: z.ZodOptional<z.ZodBoolean>;
1325
- }, z.core.$strip>>>;
1326
- groups: z.ZodOptional<z.ZodArray<z.ZodObject<{
1327
- id: z.ZodString;
1328
- instructions: z.ZodString;
1329
- optional: z.ZodOptional<z.ZodBoolean>;
1330
- }, z.core.$strip>>>;
1331
- data: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
1332
- working: z.ZodOptional<z.ZodString>;
1333
- }, z.core.$strip>, z.ZodObject<{
1334
- id: z.ZodString;
1335
- title: z.ZodString;
1336
- description: z.ZodOptional<z.ZodString>;
1337
- next: z.ZodOptional<z.ZodArray<z.ZodObject<{
1338
- when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
1339
- field: z.ZodString;
1340
- op: z.ZodEnum<{
1341
- contains: "contains";
1342
- empty: "empty";
1343
- equals: "equals";
1344
- gt: "gt";
1345
- in: "in";
1346
- lt: "lt";
1347
- notEmpty: "notEmpty";
1348
- notEquals: "notEquals";
1349
- }>;
1350
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
1351
- }, z.core.$strip>, z.ZodArray<z.ZodObject<{
1352
- field: z.ZodString;
1353
- op: z.ZodEnum<{
1354
- contains: "contains";
1355
- empty: "empty";
1356
- equals: "equals";
1357
- gt: "gt";
1358
- in: "in";
1359
- lt: "lt";
1360
- notEmpty: "notEmpty";
1361
- notEquals: "notEquals";
1362
- }>;
1363
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
1364
- }, z.core.$strip>>]>>;
1365
- ask: z.ZodOptional<z.ZodString>;
1366
- goto: z.ZodString;
1367
- max: z.ZodOptional<z.ZodNumber>;
1368
- }, z.core.$strip>>>;
1369
- type: z.ZodLiteral<"film">;
1370
- brief: z.ZodString;
1371
- skills: z.ZodDefault<z.ZodArray<z.ZodString>>;
1372
- kit: z.ZodOptional<z.ZodString>;
1373
- inputs: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
1374
- format: z.ZodDefault<z.ZodEnum<{
1375
- "16:9": "16:9";
1376
- "1:1": "1:1";
1377
- "9:16": "9:16";
1378
- }>>;
1379
- from: z.ZodOptional<z.ZodString>;
1380
- seconds: z.ZodOptional<z.ZodNumber>;
1381
- model: z.ZodOptional<z.ZodEnum<{
1382
- classifier: "classifier";
1383
- high: "high";
1384
- highest: "highest";
1385
- standard: "standard";
1386
- }>>;
1387
- effort: z.ZodOptional<z.ZodEnum<{
1388
- high: "high";
1389
- low: "low";
1390
- medium: "medium";
1391
- }>>;
1392
- working: z.ZodOptional<z.ZodString>;
1393
- }, z.core.$strip>, z.ZodObject<{
1394
- id: z.ZodString;
1395
- title: z.ZodString;
1396
- description: z.ZodOptional<z.ZodString>;
1397
- next: z.ZodOptional<z.ZodArray<z.ZodObject<{
1398
- when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
1399
- field: z.ZodString;
1400
- op: z.ZodEnum<{
1401
- contains: "contains";
1402
- empty: "empty";
1403
- equals: "equals";
1404
- gt: "gt";
1405
- in: "in";
1406
- lt: "lt";
1407
- notEmpty: "notEmpty";
1408
- notEquals: "notEquals";
1409
- }>;
1410
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
1411
- }, z.core.$strip>, z.ZodArray<z.ZodObject<{
1412
- field: z.ZodString;
1413
- op: z.ZodEnum<{
1414
- contains: "contains";
1415
- empty: "empty";
1416
- equals: "equals";
1417
- gt: "gt";
1418
- in: "in";
1419
- lt: "lt";
1420
- notEmpty: "notEmpty";
1421
- notEquals: "notEquals";
1422
- }>;
1423
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
1424
- }, z.core.$strip>>]>>;
1425
- ask: z.ZodOptional<z.ZodString>;
1426
- goto: z.ZodString;
1427
- max: z.ZodOptional<z.ZodNumber>;
1428
- }, z.core.$strip>>>;
1429
- type: z.ZodLiteral<"review">;
1430
- show: z.ZodArray<z.ZodString>;
1431
- edit: z.ZodOptional<z.ZodBoolean>;
1432
- regenerate: z.ZodOptional<z.ZodBoolean>;
1433
- }, z.core.$strip>, z.ZodObject<{
1434
- id: z.ZodString;
138
+ /** A definition of this version, as it is written: what the JSON Schema describes. */
139
+ declare const currentWizardSchema: z.ZodObject<{
140
+ version: z.ZodDefault<z.ZodLiteral<2>>;
1435
141
  title: z.ZodString;
1436
- description: z.ZodOptional<z.ZodString>;
1437
- next: z.ZodOptional<z.ZodArray<z.ZodObject<{
1438
- when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
1439
- field: z.ZodString;
1440
- op: z.ZodEnum<{
1441
- contains: "contains";
1442
- empty: "empty";
1443
- equals: "equals";
1444
- gt: "gt";
1445
- in: "in";
1446
- lt: "lt";
1447
- notEmpty: "notEmpty";
1448
- notEquals: "notEquals";
1449
- }>;
1450
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
1451
- }, z.core.$strip>, z.ZodArray<z.ZodObject<{
1452
- field: z.ZodString;
1453
- op: z.ZodEnum<{
1454
- contains: "contains";
1455
- empty: "empty";
1456
- equals: "equals";
1457
- gt: "gt";
1458
- in: "in";
1459
- lt: "lt";
1460
- notEmpty: "notEmpty";
1461
- notEquals: "notEquals";
1462
- }>;
1463
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
1464
- }, z.core.$strip>>]>>;
1465
- ask: z.ZodOptional<z.ZodString>;
1466
- goto: z.ZodString;
1467
- max: z.ZodOptional<z.ZodNumber>;
1468
- }, z.core.$strip>>>;
1469
- type: z.ZodLiteral<"result">;
1470
- message: z.ZodOptional<z.ZodString>;
1471
- deliverables: z.ZodArray<z.ZodObject<{
1472
- from: z.ZodString;
1473
- label: z.ZodOptional<z.ZodString>;
1474
- formats: z.ZodArray<z.ZodEnum<{
1475
- csv: "csv";
1476
- docx: "docx";
1477
- html: "html";
1478
- json: "json";
1479
- md: "md";
1480
- mp3: "mp3";
1481
- mp4: "mp4";
1482
- pdf: "pdf";
1483
- png: "png";
1484
- txt: "txt";
1485
- xlsx: "xlsx";
1486
- zip: "zip";
1487
- }>>;
1488
- }, z.core.$strip>>;
1489
- share: z.ZodOptional<z.ZodArray<z.ZodObject<{
1490
- target: z.ZodString;
1491
- label: z.ZodOptional<z.ZodString>;
1492
- values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1493
- }, z.core.$strip>>>;
1494
- }, z.core.$strip>], "type">;
1495
-
1496
- /** What a run shows: the components and the data they are bound to. */
1497
- declare interface Surface {
1498
- components: SurfaceComponent[];
1499
- data: Record<string, unknown>;
1500
- }
1501
-
1502
- declare type SurfaceComponent = z.infer<typeof surfaceComponentSchema>;
1503
-
1504
- /** One component: its id, its kind, its children (ids, or a template repeated over an array). */
1505
- declare const surfaceComponentSchema: z.ZodObject<{
1506
- id: z.ZodString;
1507
- component: z.ZodEnum<{
1508
- Actions: "Actions";
1509
- Badge: "Badge";
1510
- BarChart: "BarChart";
1511
- Button: "Button";
1512
- Callout: "Callout";
1513
- Card: "Card";
1514
- Checklist: "Checklist";
1515
- Chips: "Chips";
1516
- Column: "Column";
1517
- DetailGrid: "DetailGrid";
1518
- DonutChart: "DonutChart";
1519
- Fold: "Fold";
1520
- Grid: "Grid";
1521
- Group: "Group";
1522
- Image: "Image";
1523
- LineChart: "LineChart";
1524
- Link: "Link";
1525
- List: "List";
1526
- Metric: "Metric";
1527
- Row: "Row";
1528
- Steps: "Steps";
1529
- Table: "Table";
1530
- Tabs: "Tabs";
1531
- Text: "Text";
1532
- }>;
1533
- children: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{
1534
- path: z.ZodString;
1535
- componentId: z.ZodString;
1536
- }, z.core.$strip>]>>;
1537
- }, z.core.$loose>;
1538
-
1539
- declare type TableColumn = z.infer<typeof tableColumnSchema>;
1540
-
1541
- declare const tableColumnSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1542
- description: z.ZodOptional<z.ZodString>;
1543
- edit: z.ZodOptional<z.ZodEnum<{
1544
- inline: "inline";
1545
- popout: "popout";
1546
- }>>;
1547
- id: z.ZodString;
1548
- name: z.ZodString;
1549
- required: z.ZodOptional<z.ZodBoolean>;
1550
- format: z.ZodOptional<z.ZodObject<{
1551
- style: z.ZodDefault<z.ZodEnum<{
1552
- markdown: "markdown";
1553
- multiline: "multiline";
1554
- single: "single";
1555
- }>>;
1556
- }, z.core.$strip>>;
1557
- type: z.ZodLiteral<"text">;
1558
- }, z.core.$strip>, z.ZodObject<{
1559
- description: z.ZodOptional<z.ZodString>;
1560
- edit: z.ZodOptional<z.ZodEnum<{
1561
- inline: "inline";
1562
- popout: "popout";
142
+ description: z.ZodDefault<z.ZodString>;
143
+ avatar: z.ZodDefault<z.ZodEnum<{
144
+ bean: "bean";
145
+ dome: "dome";
146
+ drop: "drop";
147
+ flame: "flame";
148
+ oval: "oval";
149
+ pebble: "pebble";
150
+ round: "round";
151
+ sprout: "sprout";
152
+ tower: "tower";
153
+ wedge: "wedge";
1563
154
  }>>;
1564
- id: z.ZodString;
1565
- name: z.ZodString;
1566
- required: z.ZodOptional<z.ZodBoolean>;
1567
- format: z.ZodObject<{
1568
- currency: z.ZodOptional<z.ZodString>;
1569
- fractionDigits: z.ZodOptional<z.ZodNumber>;
1570
- grouping: z.ZodOptional<z.ZodBoolean>;
1571
- style: z.ZodEnum<{
1572
- currency: "currency";
1573
- decimal: "decimal";
1574
- integer: "integer";
1575
- percent: "percent";
1576
- }>;
1577
- }, z.core.$strip>;
1578
- type: z.ZodLiteral<"number">;
1579
- }, z.core.$strip>, z.ZodObject<{
1580
- description: z.ZodOptional<z.ZodString>;
1581
- edit: z.ZodOptional<z.ZodEnum<{
1582
- inline: "inline";
1583
- popout: "popout";
155
+ costume: z.ZodOptional<z.ZodEnum<{
156
+ bat: "bat";
157
+ devil: "devil";
158
+ pumpkin: "pumpkin";
159
+ witch: "witch";
1584
160
  }>>;
1585
- id: z.ZodString;
1586
- name: z.ZodString;
1587
- required: z.ZodOptional<z.ZodBoolean>;
1588
- format: z.ZodObject<{
1589
- dateStyle: z.ZodOptional<z.ZodEnum<{
1590
- iso: "iso";
1591
- long: "long";
1592
- medium: "medium";
1593
- short: "short";
1594
- }>>;
1595
- kind: z.ZodEnum<{
1596
- date: "date";
1597
- datetime: "datetime";
1598
- time: "time";
1599
- }>;
1600
- timePrecision: z.ZodOptional<z.ZodEnum<{
1601
- hours: "hours";
1602
- minutes: "minutes";
1603
- seconds: "seconds";
161
+ intro: z.ZodOptional<z.ZodString>;
162
+ lang: z.ZodOptional<z.ZodString>;
163
+ lists: z.ZodOptional<z.ZodArray<z.ZodObject<{
164
+ id: z.ZodString;
165
+ title: z.ZodString;
166
+ description: z.ZodOptional<z.ZodString>;
167
+ columns: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
168
+ description: z.ZodOptional<z.ZodString>;
169
+ edit: z.ZodOptional<z.ZodEnum<{
170
+ inline: "inline";
171
+ popout: "popout";
172
+ }>>;
173
+ id: z.ZodString;
174
+ name: z.ZodString;
175
+ required: z.ZodOptional<z.ZodBoolean>;
176
+ format: z.ZodOptional<z.ZodObject<{
177
+ style: z.ZodDefault<z.ZodEnum<{
178
+ markdown: "markdown";
179
+ multiline: "multiline";
180
+ single: "single";
181
+ }>>;
182
+ }, z.core.$strip>>;
183
+ type: z.ZodLiteral<"text">;
184
+ }, z.core.$strip>, z.ZodObject<{
185
+ description: z.ZodOptional<z.ZodString>;
186
+ edit: z.ZodOptional<z.ZodEnum<{
187
+ inline: "inline";
188
+ popout: "popout";
189
+ }>>;
190
+ id: z.ZodString;
191
+ name: z.ZodString;
192
+ required: z.ZodOptional<z.ZodBoolean>;
193
+ format: z.ZodObject<{
194
+ currency: z.ZodOptional<z.ZodString>;
195
+ fractionDigits: z.ZodOptional<z.ZodNumber>;
196
+ grouping: z.ZodOptional<z.ZodBoolean>;
197
+ style: z.ZodEnum<{
198
+ currency: "currency";
199
+ decimal: "decimal";
200
+ integer: "integer";
201
+ percent: "percent";
202
+ }>;
203
+ }, z.core.$strip>;
204
+ type: z.ZodLiteral<"number">;
205
+ }, z.core.$strip>, z.ZodObject<{
206
+ description: z.ZodOptional<z.ZodString>;
207
+ edit: z.ZodOptional<z.ZodEnum<{
208
+ inline: "inline";
209
+ popout: "popout";
210
+ }>>;
211
+ id: z.ZodString;
212
+ name: z.ZodString;
213
+ required: z.ZodOptional<z.ZodBoolean>;
214
+ format: z.ZodObject<{
215
+ dateStyle: z.ZodOptional<z.ZodEnum<{
216
+ iso: "iso";
217
+ long: "long";
218
+ medium: "medium";
219
+ short: "short";
220
+ }>>;
221
+ kind: z.ZodEnum<{
222
+ date: "date";
223
+ datetime: "datetime";
224
+ time: "time";
225
+ }>;
226
+ timePrecision: z.ZodOptional<z.ZodEnum<{
227
+ hours: "hours";
228
+ minutes: "minutes";
229
+ seconds: "seconds";
230
+ }>>;
231
+ }, z.core.$strip>;
232
+ type: z.ZodLiteral<"date">;
233
+ }, z.core.$strip>, z.ZodObject<{
234
+ description: z.ZodOptional<z.ZodString>;
235
+ edit: z.ZodOptional<z.ZodEnum<{
236
+ inline: "inline";
237
+ popout: "popout";
238
+ }>>;
239
+ id: z.ZodString;
240
+ name: z.ZodString;
241
+ required: z.ZodOptional<z.ZodBoolean>;
242
+ format: z.ZodObject<{
243
+ display: z.ZodEnum<{
244
+ "decimal-hours": "decimal-hours";
245
+ hms: "hms";
246
+ hours: "hours";
247
+ iso: "iso";
248
+ minutes: "minutes";
249
+ }>;
250
+ inputUnit: z.ZodEnum<{
251
+ days: "days";
252
+ hours: "hours";
253
+ milliseconds: "milliseconds";
254
+ minutes: "minutes";
255
+ seconds: "seconds";
256
+ }>;
257
+ }, z.core.$strip>;
258
+ type: z.ZodLiteral<"duration">;
259
+ }, z.core.$strip>, z.ZodObject<{
260
+ description: z.ZodOptional<z.ZodString>;
261
+ edit: z.ZodOptional<z.ZodEnum<{
262
+ inline: "inline";
263
+ popout: "popout";
264
+ }>>;
265
+ id: z.ZodString;
266
+ name: z.ZodString;
267
+ required: z.ZodOptional<z.ZodBoolean>;
268
+ format: z.ZodObject<{
269
+ allowCustom: z.ZodBoolean;
270
+ multiple: z.ZodOptional<z.ZodBoolean>;
271
+ options: z.ZodArray<z.ZodObject<{
272
+ id: z.ZodString;
273
+ label: z.ZodString;
274
+ }, z.core.$strip>>;
275
+ }, z.core.$strip>;
276
+ type: z.ZodLiteral<"select">;
277
+ }, z.core.$strip>, z.ZodObject<{
278
+ description: z.ZodOptional<z.ZodString>;
279
+ edit: z.ZodOptional<z.ZodEnum<{
280
+ inline: "inline";
281
+ popout: "popout";
282
+ }>>;
283
+ id: z.ZodString;
284
+ name: z.ZodString;
285
+ required: z.ZodOptional<z.ZodBoolean>;
286
+ type: z.ZodLiteral<"boolean">;
287
+ }, z.core.$strip>], "type">>;
288
+ key: z.ZodOptional<z.ZodString>;
289
+ check: z.ZodOptional<z.ZodObject<{
290
+ file: z.ZodOptional<z.ZodString>;
291
+ status: z.ZodOptional<z.ZodString>;
292
+ }, z.core.$strip>>;
293
+ shared: z.ZodOptional<z.ZodBoolean>;
294
+ }, z.core.$strip>>>;
295
+ connections: z.ZodOptional<z.ZodArray<z.ZodObject<{
296
+ id: z.ZodString;
297
+ kind: z.ZodOptional<z.ZodEnum<{
298
+ mail: "mail";
1604
299
  }>>;
1605
- }, z.core.$strip>;
1606
- type: z.ZodLiteral<"date">;
1607
- }, z.core.$strip>, z.ZodObject<{
1608
- description: z.ZodOptional<z.ZodString>;
1609
- edit: z.ZodOptional<z.ZodEnum<{
1610
- inline: "inline";
1611
- popout: "popout";
1612
- }>>;
1613
- id: z.ZodString;
1614
- name: z.ZodString;
1615
- required: z.ZodOptional<z.ZodBoolean>;
1616
- format: z.ZodObject<{
1617
- display: z.ZodEnum<{
1618
- "decimal-hours": "decimal-hours";
1619
- hms: "hms";
1620
- hours: "hours";
1621
- iso: "iso";
1622
- minutes: "minutes";
1623
- }>;
1624
- inputUnit: z.ZodEnum<{
1625
- days: "days";
1626
- hours: "hours";
1627
- milliseconds: "milliseconds";
1628
- minutes: "minutes";
1629
- seconds: "seconds";
1630
- }>;
1631
- }, z.core.$strip>;
1632
- type: z.ZodLiteral<"duration">;
1633
- }, z.core.$strip>, z.ZodObject<{
1634
- description: z.ZodOptional<z.ZodString>;
1635
- edit: z.ZodOptional<z.ZodEnum<{
1636
- inline: "inline";
1637
- popout: "popout";
1638
- }>>;
1639
- id: z.ZodString;
1640
- name: z.ZodString;
1641
- required: z.ZodOptional<z.ZodBoolean>;
1642
- format: z.ZodObject<{
1643
- allowCustom: z.ZodBoolean;
1644
- multiple: z.ZodOptional<z.ZodBoolean>;
1645
- options: z.ZodArray<z.ZodObject<{
300
+ connector: z.ZodOptional<z.ZodString>;
301
+ actions: z.ZodOptional<z.ZodArray<z.ZodString>>;
302
+ policy: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<{
303
+ allow: "allow";
304
+ ask: "ask";
305
+ }>>>;
306
+ title: z.ZodOptional<z.ZodString>;
307
+ description: z.ZodOptional<z.ZodString>;
308
+ }, z.core.$strip>>>;
309
+ themes: z.ZodOptional<z.ZodArray<z.ZodString>>;
310
+ steps: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
311
+ id: z.ZodString;
312
+ title: z.ZodString;
313
+ description: z.ZodOptional<z.ZodString>;
314
+ next: z.ZodOptional<z.ZodArray<z.ZodObject<{
315
+ when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
316
+ field: z.ZodString;
317
+ op: z.ZodEnum<{
318
+ contains: "contains";
319
+ empty: "empty";
320
+ equals: "equals";
321
+ gt: "gt";
322
+ in: "in";
323
+ lt: "lt";
324
+ notEmpty: "notEmpty";
325
+ notEquals: "notEquals";
326
+ }>;
327
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
328
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
329
+ field: z.ZodString;
330
+ op: z.ZodEnum<{
331
+ contains: "contains";
332
+ empty: "empty";
333
+ equals: "equals";
334
+ gt: "gt";
335
+ in: "in";
336
+ lt: "lt";
337
+ notEmpty: "notEmpty";
338
+ notEquals: "notEquals";
339
+ }>;
340
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
341
+ }, z.core.$strip>>]>>;
342
+ ask: z.ZodOptional<z.ZodString>;
343
+ goto: z.ZodString;
344
+ max: z.ZodOptional<z.ZodNumber>;
345
+ }, z.core.$strip>>>;
346
+ type: z.ZodLiteral<"page">;
347
+ fields: z.ZodArray<z.ZodObject<{
1646
348
  id: z.ZodString;
1647
349
  label: z.ZodString;
350
+ kind: z.ZodEnum<{
351
+ audio: "audio";
352
+ color: "color";
353
+ connection: "connection";
354
+ date: "date";
355
+ email: "email";
356
+ file: "file";
357
+ image: "image";
358
+ items: "items";
359
+ list: "list";
360
+ location: "location";
361
+ multiselect: "multiselect";
362
+ number: "number";
363
+ select: "select";
364
+ signature: "signature";
365
+ slot: "slot";
366
+ text: "text";
367
+ textarea: "textarea";
368
+ toggle: "toggle";
369
+ url: "url";
370
+ }>;
371
+ required: z.ZodOptional<z.ZodBoolean>;
372
+ placeholder: z.ZodOptional<z.ZodString>;
373
+ help: z.ZodOptional<z.ZodString>;
374
+ options: z.ZodOptional<z.ZodArray<z.ZodString>>;
375
+ default: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
376
+ columns: z.ZodOptional<z.ZodArray<z.ZodObject<{
377
+ id: z.ZodString;
378
+ label: z.ZodString;
379
+ kind: z.ZodEnum<{
380
+ money: "money";
381
+ number: "number";
382
+ text: "text";
383
+ }>;
384
+ }, z.core.$strip>>>;
385
+ vat: z.ZodOptional<z.ZodObject<{
386
+ rate: z.ZodOptional<z.ZodNumber>;
387
+ field: z.ZodOptional<z.ZodString>;
388
+ }, z.core.$strip>>;
389
+ currency: z.ZodOptional<z.ZodString>;
390
+ multiple: z.ZodOptional<z.ZodBoolean>;
391
+ min: z.ZodOptional<z.ZodNumber>;
392
+ max: z.ZodOptional<z.ZodNumber>;
393
+ camera: z.ZodOptional<z.ZodBoolean>;
394
+ video: z.ZodOptional<z.ZodBoolean>;
395
+ listen: z.ZodOptional<z.ZodBoolean>;
396
+ scan: z.ZodOptional<z.ZodBoolean>;
397
+ connection: z.ZodOptional<z.ZodString>;
398
+ list: z.ZodOptional<z.ZodString>;
399
+ prefill: z.ZodOptional<z.ZodString>;
400
+ when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
401
+ field: z.ZodString;
402
+ op: z.ZodEnum<{
403
+ contains: "contains";
404
+ empty: "empty";
405
+ equals: "equals";
406
+ gt: "gt";
407
+ in: "in";
408
+ lt: "lt";
409
+ notEmpty: "notEmpty";
410
+ notEquals: "notEquals";
411
+ }>;
412
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
413
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
414
+ field: z.ZodString;
415
+ op: z.ZodEnum<{
416
+ contains: "contains";
417
+ empty: "empty";
418
+ equals: "equals";
419
+ gt: "gt";
420
+ in: "in";
421
+ lt: "lt";
422
+ notEmpty: "notEmpty";
423
+ notEquals: "notEquals";
424
+ }>;
425
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
426
+ }, z.core.$strip>>]>>;
427
+ optionsFrom: z.ZodOptional<z.ZodString>;
428
+ cards: z.ZodOptional<z.ZodObject<{
429
+ label: z.ZodString;
430
+ value: z.ZodOptional<z.ZodString>;
431
+ image: z.ZodOptional<z.ZodString>;
432
+ subtitle: z.ZodOptional<z.ZodString>;
433
+ meta: z.ZodOptional<z.ZodString>;
434
+ link: z.ZodOptional<z.ZodString>;
435
+ }, z.core.$strip>>;
436
+ ask: z.ZodOptional<z.ZodString>;
437
+ group: z.ZodOptional<z.ZodString>;
438
+ }, z.core.$strip>>;
439
+ groups: z.ZodOptional<z.ZodArray<z.ZodObject<{
440
+ id: z.ZodString;
441
+ instructions: z.ZodString;
442
+ optional: z.ZodOptional<z.ZodBoolean>;
443
+ }, z.core.$strip>>>;
444
+ cta: z.ZodOptional<z.ZodString>;
445
+ }, z.core.$strip>, z.ZodObject<{
446
+ id: z.ZodString;
447
+ title: z.ZodString;
448
+ description: z.ZodOptional<z.ZodString>;
449
+ next: z.ZodOptional<z.ZodArray<z.ZodObject<{
450
+ when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
451
+ field: z.ZodString;
452
+ op: z.ZodEnum<{
453
+ contains: "contains";
454
+ empty: "empty";
455
+ equals: "equals";
456
+ gt: "gt";
457
+ in: "in";
458
+ lt: "lt";
459
+ notEmpty: "notEmpty";
460
+ notEquals: "notEquals";
461
+ }>;
462
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
463
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
464
+ field: z.ZodString;
465
+ op: z.ZodEnum<{
466
+ contains: "contains";
467
+ empty: "empty";
468
+ equals: "equals";
469
+ gt: "gt";
470
+ in: "in";
471
+ lt: "lt";
472
+ notEmpty: "notEmpty";
473
+ notEquals: "notEquals";
474
+ }>;
475
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
476
+ }, z.core.$strip>>]>>;
477
+ ask: z.ZodOptional<z.ZodString>;
478
+ goto: z.ZodString;
479
+ max: z.ZodOptional<z.ZodNumber>;
480
+ }, z.core.$strip>>>;
481
+ type: z.ZodLiteral<"agent">;
482
+ instructions: z.ZodDefault<z.ZodString>;
483
+ call: z.ZodOptional<z.ZodObject<{
484
+ tool: z.ZodTemplateLiteral<`${string}.${string}`>;
485
+ input: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1648
486
  }, z.core.$strip>>;
1649
- }, z.core.$strip>;
1650
- type: z.ZodLiteral<"select">;
1651
- }, z.core.$strip>, z.ZodObject<{
1652
- description: z.ZodOptional<z.ZodString>;
1653
- edit: z.ZodOptional<z.ZodEnum<{
1654
- inline: "inline";
1655
- popout: "popout";
1656
- }>>;
1657
- id: z.ZodString;
1658
- name: z.ZodString;
1659
- required: z.ZodOptional<z.ZodBoolean>;
1660
- type: z.ZodLiteral<"boolean">;
1661
- }, z.core.$strip>], "type">;
1662
-
1663
- /** `fields` only: rows of text or numbers; without columns the model picks them. */
1664
- declare type TableShape = Named & {
1665
- kind: "table";
1666
- columns?: string[];
1667
- };
1668
-
1669
- declare type TextShape = Named & {
1670
- kind: "text";
1671
- long?: boolean;
1672
- };
1673
-
1674
- declare type ThemeColours = z.infer<typeof themeColoursSchema>;
1675
-
1676
- declare const themeColoursSchema: z.ZodObject<{
1677
- accent: z.ZodOptional<z.ZodString>;
1678
- background: z.ZodOptional<z.ZodString>;
1679
- text: z.ZodOptional<z.ZodString>;
1680
- }, z.core.$strip>;
1681
-
1682
- declare type ThemeEffect = z.infer<typeof themeEffectSchema>;
1683
-
1684
- declare const themeEffectSchema: z.ZodObject<{
1685
- id: z.ZodString;
1686
- }, z.core.$catchall<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1687
-
1688
- declare type ThemeShape = z.infer<typeof themeShapeSchema>;
1689
-
1690
- declare const themeShapeSchema: z.ZodObject<{
1691
- radius: z.ZodOptional<z.ZodEnum<{
1692
- round: "round";
1693
- sharp: "sharp";
1694
- soft: "soft";
1695
- }>>;
1696
- cards: z.ZodOptional<z.ZodEnum<{
1697
- glass: "glass";
1698
- outline: "outline";
1699
- solid: "solid";
1700
- }>>;
1701
- headings: z.ZodOptional<z.ZodEnum<{
1702
- normal: "normal";
1703
- uppercase: "uppercase";
1704
- }>>;
1705
- }, z.core.$strip>;
1706
-
1707
- /**
1708
- * One run, live: the runtime's stream of the whole view, plus the commands a person gives. The
1709
- * same as the studio's `useRun` (apps/web/src/runner/useRun.ts), on the runner's own client, so
1710
- * it talks to whichever runtime `configureWizards` named. `prefill` starts a page's fields with
1711
- * answers the chat already knows; the person still sees and sends the page.
1712
- */
1713
- export declare function useWizardRun(runId: string | null, prefill: Record<string, unknown> | undefined): RunSource;
1714
-
1715
- /** The component an OpenUI library gets: `Wizard("<token>", "<note>", {prefill})`. */
1716
- export declare const Wizard: DefinedComponent<ZodObject< {
1717
- wizard: ZodString;
1718
- note: ZodOptional<ZodString>;
1719
- prefill: ZodOptional<ZodRecord<ZodString, ZodUnknown>>;
1720
- }, $strip>>;
1721
-
1722
- /**
1723
- * The model's half of the Wizard component: its props, its description and the rules a system
1724
- * prompt gets. Nothing here draws, so a chat server builds its prompt from this file alone.
1725
- */
1726
- export declare const WIZARD_COMPONENT = "Wizard";
1727
-
1728
- export declare const WIZARD_DESCRIPTION = "Runs a predefined wizard inline: its pages, AI steps, review and result, exactly as its author defined them. Use it whenever a listed wizard fits the request; never rebuild a wizard's pages with Form components.";
1729
-
1730
- declare type WizardDefinition = z.infer<typeof wizardSchema>;
1731
-
1732
- /** A wizard as the chat server lists it to the model. */
1733
- export declare interface WizardInfo {
1734
- token: string;
1735
- title: string;
1736
- description: string;
1737
- fields: PublicField[];
1738
- }
1739
-
1740
- /**
1741
- * A theme's values as props for the runner's element: colours, fonts by family and the corner
1742
- * radius as `--wizard-*` variables, how cards and headings look as data attributes, and of the
1743
- * effects only those the host turns on and the card can draw. A brand font with a source names
1744
- * the shipped font of its kind next, which shows where it does not load (`loadLookFonts`).
1745
- */
1746
- export declare function wizardLook(look: RunTheme, options?: WizardLookOptions): WizardLookProps;
1747
-
1748
- export declare interface WizardLookOptions {
1749
- /** Light or dark, as the host shows; else what the theme prefers. A theme with only one keeps it. */
1750
- mode?: "light" | "dark";
1751
- /** The effects the host turns on (`CARD_EFFECTS`); none unless given. */
1752
- effects?: readonly string[];
1753
- }
1754
-
1755
- /** What goes on the element with `.engenty-runner`: CSS variables and data attributes. */
1756
- export declare interface WizardLookProps {
1757
- style: Record<string, string>;
1758
- "data-cards"?: string;
1759
- "data-headings"?: string;
1760
- "data-effects"?: string;
1761
- }
1762
-
1763
- export declare type WizardProps = z.infer<typeof wizardProps>;
1764
-
1765
- export declare const wizardProps: z.ZodObject<{
1766
- wizard: z.ZodString;
1767
- note: z.ZodOptional<z.ZodString>;
1768
- prefill: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1769
- }, z.core.$strip>;
1770
-
1771
- /** The rules a system prompt adds for the Wizard component: when to use it and which wizards exist. */
1772
- export declare function wizardRules(wizards: WizardInfo[]): string[];
1773
-
1774
- declare const wizardSchema: z.ZodObject<{
1775
- version: z.ZodDefault<z.ZodLiteral<1>>;
1776
- title: z.ZodString;
1777
- description: z.ZodDefault<z.ZodString>;
1778
- avatar: z.ZodDefault<z.ZodEnum<{
1779
- bean: "bean";
1780
- dome: "dome";
1781
- drop: "drop";
1782
- flame: "flame";
1783
- oval: "oval";
1784
- pebble: "pebble";
1785
- round: "round";
1786
- sprout: "sprout";
1787
- tower: "tower";
1788
- wedge: "wedge";
1789
- }>>;
1790
- costume: z.ZodOptional<z.ZodEnum<{
1791
- bat: "bat";
1792
- devil: "devil";
1793
- pumpkin: "pumpkin";
1794
- witch: "witch";
1795
- }>>;
1796
- intro: z.ZodOptional<z.ZodString>;
1797
- lang: z.ZodOptional<z.ZodString>;
1798
- lists: z.ZodOptional<z.ZodArray<z.ZodObject<{
487
+ tools: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodEnum<{
488
+ browser: "browser";
489
+ code: "code";
490
+ http: "http";
491
+ image: "image";
492
+ pages: "pages";
493
+ sandbox: "sandbox";
494
+ web_fetch: "web_fetch";
495
+ web_search: "web_search";
496
+ }>, z.ZodTemplateLiteral<`${string}.${string}`>]>>>;
497
+ mcp: z.ZodOptional<z.ZodArray<z.ZodString>>;
498
+ connections: z.ZodOptional<z.ZodArray<z.ZodString>>;
499
+ output: z.ZodDefault<z.ZodObject<{
500
+ format: z.ZodEnum<{
501
+ json: "json";
502
+ markdown: "markdown";
503
+ text: "text";
504
+ }>;
505
+ fields: z.ZodOptional<z.ZodArray<z.ZodObject<{
506
+ id: z.ZodString;
507
+ kind: z.ZodEnum<{
508
+ choice: "choice";
509
+ list: "list";
510
+ number: "number";
511
+ score: "score";
512
+ table: "table";
513
+ text: "text";
514
+ yesno: "yesno";
515
+ }>;
516
+ description: z.ZodOptional<z.ZodString>;
517
+ columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
518
+ options: z.ZodOptional<z.ZodArray<z.ZodString>>;
519
+ }, z.core.$strip>>>;
520
+ schema: z.ZodOptional<z.ZodType<ObjectShape, unknown, z.core.$ZodTypeInternals<ObjectShape, unknown>>>;
521
+ surface: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodObject<{
522
+ id: z.ZodString;
523
+ component: z.ZodEnum<{
524
+ Actions: "Actions";
525
+ Badge: "Badge";
526
+ BarChart: "BarChart";
527
+ Button: "Button";
528
+ Callout: "Callout";
529
+ Card: "Card";
530
+ Checklist: "Checklist";
531
+ Chips: "Chips";
532
+ Column: "Column";
533
+ DetailGrid: "DetailGrid";
534
+ DonutChart: "DonutChart";
535
+ Fold: "Fold";
536
+ Grid: "Grid";
537
+ Group: "Group";
538
+ Image: "Image";
539
+ LineChart: "LineChart";
540
+ Link: "Link";
541
+ List: "List";
542
+ Metric: "Metric";
543
+ Row: "Row";
544
+ Steps: "Steps";
545
+ Table: "Table";
546
+ Tabs: "Tabs";
547
+ Text: "Text";
548
+ }>;
549
+ children: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{
550
+ path: z.ZodString;
551
+ componentId: z.ZodString;
552
+ }, z.core.$strip>]>>;
553
+ }, z.core.$loose>>]>>;
554
+ }, z.core.$strip>>;
555
+ model: z.ZodOptional<z.ZodEnum<{
556
+ classifier: "classifier";
557
+ high: "high";
558
+ low: "low";
559
+ standard: "standard";
560
+ }>>;
561
+ effort: z.ZodOptional<z.ZodEnum<{
562
+ high: "high";
563
+ low: "low";
564
+ medium: "medium";
565
+ }>>;
566
+ each: z.ZodOptional<z.ZodString>;
567
+ working: z.ZodOptional<z.ZodString>;
568
+ }, z.core.$strip>, z.ZodObject<{
1799
569
  id: z.ZodString;
1800
570
  title: z.ZodString;
1801
571
  description: z.ZodOptional<z.ZodString>;
1802
- columns: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1803
- description: z.ZodOptional<z.ZodString>;
1804
- edit: z.ZodOptional<z.ZodEnum<{
1805
- inline: "inline";
1806
- popout: "popout";
1807
- }>>;
1808
- id: z.ZodString;
1809
- name: z.ZodString;
1810
- required: z.ZodOptional<z.ZodBoolean>;
1811
- format: z.ZodOptional<z.ZodObject<{
1812
- style: z.ZodDefault<z.ZodEnum<{
1813
- markdown: "markdown";
1814
- multiline: "multiline";
1815
- single: "single";
1816
- }>>;
1817
- }, z.core.$strip>>;
1818
- type: z.ZodLiteral<"text">;
1819
- }, z.core.$strip>, z.ZodObject<{
1820
- description: z.ZodOptional<z.ZodString>;
1821
- edit: z.ZodOptional<z.ZodEnum<{
1822
- inline: "inline";
1823
- popout: "popout";
1824
- }>>;
1825
- id: z.ZodString;
1826
- name: z.ZodString;
1827
- required: z.ZodOptional<z.ZodBoolean>;
1828
- format: z.ZodObject<{
1829
- currency: z.ZodOptional<z.ZodString>;
1830
- fractionDigits: z.ZodOptional<z.ZodNumber>;
1831
- grouping: z.ZodOptional<z.ZodBoolean>;
1832
- style: z.ZodEnum<{
1833
- currency: "currency";
1834
- decimal: "decimal";
1835
- integer: "integer";
1836
- percent: "percent";
572
+ next: z.ZodOptional<z.ZodArray<z.ZodObject<{
573
+ when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
574
+ field: z.ZodString;
575
+ op: z.ZodEnum<{
576
+ contains: "contains";
577
+ empty: "empty";
578
+ equals: "equals";
579
+ gt: "gt";
580
+ in: "in";
581
+ lt: "lt";
582
+ notEmpty: "notEmpty";
583
+ notEquals: "notEquals";
1837
584
  }>;
1838
- }, z.core.$strip>;
1839
- type: z.ZodLiteral<"number">;
1840
- }, z.core.$strip>, z.ZodObject<{
1841
- description: z.ZodOptional<z.ZodString>;
1842
- edit: z.ZodOptional<z.ZodEnum<{
1843
- inline: "inline";
1844
- popout: "popout";
1845
- }>>;
1846
- id: z.ZodString;
1847
- name: z.ZodString;
1848
- required: z.ZodOptional<z.ZodBoolean>;
1849
- format: z.ZodObject<{
1850
- dateStyle: z.ZodOptional<z.ZodEnum<{
1851
- iso: "iso";
1852
- long: "long";
1853
- medium: "medium";
1854
- short: "short";
1855
- }>>;
1856
- kind: z.ZodEnum<{
1857
- date: "date";
1858
- datetime: "datetime";
1859
- time: "time";
585
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
586
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
587
+ field: z.ZodString;
588
+ op: z.ZodEnum<{
589
+ contains: "contains";
590
+ empty: "empty";
591
+ equals: "equals";
592
+ gt: "gt";
593
+ in: "in";
594
+ lt: "lt";
595
+ notEmpty: "notEmpty";
596
+ notEquals: "notEquals";
1860
597
  }>;
1861
- timePrecision: z.ZodOptional<z.ZodEnum<{
1862
- hours: "hours";
1863
- minutes: "minutes";
1864
- seconds: "seconds";
1865
- }>>;
1866
- }, z.core.$strip>;
1867
- type: z.ZodLiteral<"date">;
1868
- }, z.core.$strip>, z.ZodObject<{
1869
- description: z.ZodOptional<z.ZodString>;
1870
- edit: z.ZodOptional<z.ZodEnum<{
1871
- inline: "inline";
1872
- popout: "popout";
598
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
599
+ }, z.core.$strip>>]>>;
600
+ ask: z.ZodOptional<z.ZodString>;
601
+ goto: z.ZodString;
602
+ max: z.ZodOptional<z.ZodNumber>;
603
+ }, z.core.$strip>>>;
604
+ type: z.ZodLiteral<"generate">;
605
+ asset: z.ZodEnum<{
606
+ dashboard: "dashboard";
607
+ document: "document";
608
+ image: "image";
609
+ video: "video";
610
+ voice: "voice";
611
+ }>;
612
+ prompt: z.ZodString;
613
+ options: z.ZodOptional<z.ZodObject<{
614
+ aspectRatio: z.ZodOptional<z.ZodEnum<{
615
+ "16:9": "16:9";
616
+ "1:1": "1:1";
617
+ "2:3": "2:3";
618
+ "3:2": "3:2";
619
+ "4:5": "4:5";
620
+ "9:16": "9:16";
1873
621
  }>>;
1874
- id: z.ZodString;
1875
- name: z.ZodString;
1876
- required: z.ZodOptional<z.ZodBoolean>;
1877
- format: z.ZodObject<{
1878
- display: z.ZodEnum<{
1879
- "decimal-hours": "decimal-hours";
1880
- hms: "hms";
1881
- hours: "hours";
1882
- iso: "iso";
1883
- minutes: "minutes";
1884
- }>;
1885
- inputUnit: z.ZodEnum<{
1886
- days: "days";
1887
- hours: "hours";
1888
- milliseconds: "milliseconds";
1889
- minutes: "minutes";
1890
- seconds: "seconds";
1891
- }>;
1892
- }, z.core.$strip>;
1893
- type: z.ZodLiteral<"duration">;
1894
- }, z.core.$strip>, z.ZodObject<{
1895
- description: z.ZodOptional<z.ZodString>;
1896
- edit: z.ZodOptional<z.ZodEnum<{
1897
- inline: "inline";
1898
- popout: "popout";
622
+ duration: z.ZodOptional<z.ZodNumber>;
623
+ resolution: z.ZodOptional<z.ZodEnum<{
624
+ "480p": "480p";
625
+ "720p": "720p";
1899
626
  }>>;
1900
- id: z.ZodString;
1901
- name: z.ZodString;
1902
- required: z.ZodOptional<z.ZodBoolean>;
1903
- format: z.ZodObject<{
1904
- allowCustom: z.ZodBoolean;
1905
- multiple: z.ZodOptional<z.ZodBoolean>;
1906
- options: z.ZodArray<z.ZodObject<{
1907
- id: z.ZodString;
1908
- label: z.ZodString;
1909
- }, z.core.$strip>>;
1910
- }, z.core.$strip>;
1911
- type: z.ZodLiteral<"select">;
1912
- }, z.core.$strip>, z.ZodObject<{
1913
- description: z.ZodOptional<z.ZodString>;
1914
- edit: z.ZodOptional<z.ZodEnum<{
1915
- inline: "inline";
1916
- popout: "popout";
627
+ style: z.ZodOptional<z.ZodString>;
628
+ template: z.ZodOptional<z.ZodEnum<{
629
+ briefing: "briefing";
630
+ free: "free";
631
+ invoice: "invoice";
632
+ letter: "letter";
633
+ offer: "offer";
634
+ report: "report";
1917
635
  }>>;
1918
- id: z.ZodString;
1919
- name: z.ZodString;
1920
- required: z.ZodOptional<z.ZodBoolean>;
1921
- type: z.ZodLiteral<"boolean">;
1922
- }, z.core.$strip>], "type">>;
1923
- key: z.ZodOptional<z.ZodString>;
1924
- check: z.ZodOptional<z.ZodObject<{
1925
- file: z.ZodOptional<z.ZodString>;
1926
- status: z.ZodOptional<z.ZodString>;
1927
636
  }, z.core.$strip>>;
1928
- shared: z.ZodOptional<z.ZodBoolean>;
1929
- }, z.core.$strip>>>;
1930
- connections: z.ZodOptional<z.ZodArray<z.ZodObject<{
1931
- id: z.ZodString;
1932
- kind: z.ZodOptional<z.ZodEnum<{
1933
- mail: "mail";
637
+ referenceImage: z.ZodOptional<z.ZodString>;
638
+ each: z.ZodOptional<z.ZodString>;
639
+ model: z.ZodOptional<z.ZodEnum<{
640
+ classifier: "classifier";
641
+ high: "high";
642
+ low: "low";
643
+ standard: "standard";
1934
644
  }>>;
1935
- connector: z.ZodOptional<z.ZodString>;
1936
- actions: z.ZodOptional<z.ZodArray<z.ZodString>>;
1937
- policy: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<{
1938
- allow: "allow";
1939
- ask: "ask";
1940
- }>>>;
1941
- title: z.ZodOptional<z.ZodString>;
645
+ effort: z.ZodOptional<z.ZodEnum<{
646
+ high: "high";
647
+ low: "low";
648
+ medium: "medium";
649
+ }>>;
650
+ working: z.ZodOptional<z.ZodString>;
651
+ }, z.core.$strip>, z.ZodObject<{
652
+ id: z.ZodString;
653
+ title: z.ZodString;
1942
654
  description: z.ZodOptional<z.ZodString>;
1943
- }, z.core.$strip>>>;
1944
- themes: z.ZodOptional<z.ZodArray<z.ZodString>>;
1945
- steps: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
655
+ next: z.ZodOptional<z.ZodArray<z.ZodObject<{
656
+ when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
657
+ field: z.ZodString;
658
+ op: z.ZodEnum<{
659
+ contains: "contains";
660
+ empty: "empty";
661
+ equals: "equals";
662
+ gt: "gt";
663
+ in: "in";
664
+ lt: "lt";
665
+ notEmpty: "notEmpty";
666
+ notEquals: "notEquals";
667
+ }>;
668
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
669
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
670
+ field: z.ZodString;
671
+ op: z.ZodEnum<{
672
+ contains: "contains";
673
+ empty: "empty";
674
+ equals: "equals";
675
+ gt: "gt";
676
+ in: "in";
677
+ lt: "lt";
678
+ notEmpty: "notEmpty";
679
+ notEquals: "notEquals";
680
+ }>;
681
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
682
+ }, z.core.$strip>>]>>;
683
+ ask: z.ZodOptional<z.ZodString>;
684
+ goto: z.ZodString;
685
+ max: z.ZodOptional<z.ZodNumber>;
686
+ }, z.core.$strip>>>;
687
+ type: z.ZodLiteral<"widget">;
688
+ entry: z.ZodString;
689
+ data: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
690
+ sample: z.ZodOptional<z.ZodString>;
691
+ layout: z.ZodOptional<z.ZodEnum<{
692
+ fixed: "fixed";
693
+ page: "page";
694
+ }>>;
695
+ size: z.ZodOptional<z.ZodObject<{
696
+ width: z.ZodNumber;
697
+ height: z.ZodNumber;
698
+ }, z.core.$strip>>;
699
+ video: z.ZodOptional<z.ZodBoolean>;
700
+ working: z.ZodOptional<z.ZodString>;
701
+ }, z.core.$strip>, z.ZodObject<{
1946
702
  id: z.ZodString;
1947
703
  title: z.ZodString;
1948
704
  description: z.ZodOptional<z.ZodString>;
@@ -1978,60 +734,91 @@ declare const wizardSchema: z.ZodObject<{
1978
734
  goto: z.ZodString;
1979
735
  max: z.ZodOptional<z.ZodNumber>;
1980
736
  }, z.core.$strip>>>;
1981
- type: z.ZodLiteral<"page">;
1982
- fields: z.ZodArray<z.ZodObject<{
737
+ type: z.ZodLiteral<"surface">;
738
+ components: z.ZodOptional<z.ZodArray<z.ZodObject<{
1983
739
  id: z.ZodString;
1984
- label: z.ZodString;
1985
- kind: z.ZodEnum<{
1986
- audio: "audio";
1987
- color: "color";
1988
- connection: "connection";
1989
- date: "date";
1990
- email: "email";
1991
- file: "file";
1992
- image: "image";
1993
- items: "items";
1994
- list: "list";
1995
- location: "location";
1996
- multiselect: "multiselect";
1997
- number: "number";
1998
- select: "select";
1999
- signature: "signature";
2000
- slot: "slot";
2001
- text: "text";
2002
- textarea: "textarea";
2003
- toggle: "toggle";
2004
- url: "url";
740
+ component: z.ZodEnum<{
741
+ Actions: "Actions";
742
+ Badge: "Badge";
743
+ BarChart: "BarChart";
744
+ Button: "Button";
745
+ Callout: "Callout";
746
+ Card: "Card";
747
+ Checklist: "Checklist";
748
+ Chips: "Chips";
749
+ Column: "Column";
750
+ DetailGrid: "DetailGrid";
751
+ DonutChart: "DonutChart";
752
+ Fold: "Fold";
753
+ Grid: "Grid";
754
+ Group: "Group";
755
+ Image: "Image";
756
+ LineChart: "LineChart";
757
+ Link: "Link";
758
+ List: "List";
759
+ Metric: "Metric";
760
+ Row: "Row";
761
+ Steps: "Steps";
762
+ Table: "Table";
763
+ Tabs: "Tabs";
764
+ Text: "Text";
2005
765
  }>;
2006
- required: z.ZodOptional<z.ZodBoolean>;
2007
- placeholder: z.ZodOptional<z.ZodString>;
2008
- help: z.ZodOptional<z.ZodString>;
2009
- options: z.ZodOptional<z.ZodArray<z.ZodString>>;
2010
- default: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2011
- columns: z.ZodOptional<z.ZodArray<z.ZodObject<{
766
+ children: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{
767
+ path: z.ZodString;
768
+ componentId: z.ZodString;
769
+ }, z.core.$strip>]>>;
770
+ }, z.core.$loose>>>;
771
+ candidates: z.ZodOptional<z.ZodArray<z.ZodObject<{
772
+ id: z.ZodString;
773
+ description: z.ZodString;
774
+ components: z.ZodArray<z.ZodObject<{
2012
775
  id: z.ZodString;
2013
- label: z.ZodString;
2014
- kind: z.ZodEnum<{
2015
- money: "money";
2016
- number: "number";
2017
- text: "text";
776
+ component: z.ZodEnum<{
777
+ Actions: "Actions";
778
+ Badge: "Badge";
779
+ BarChart: "BarChart";
780
+ Button: "Button";
781
+ Callout: "Callout";
782
+ Card: "Card";
783
+ Checklist: "Checklist";
784
+ Chips: "Chips";
785
+ Column: "Column";
786
+ DetailGrid: "DetailGrid";
787
+ DonutChart: "DonutChart";
788
+ Fold: "Fold";
789
+ Grid: "Grid";
790
+ Group: "Group";
791
+ Image: "Image";
792
+ LineChart: "LineChart";
793
+ Link: "Link";
794
+ List: "List";
795
+ Metric: "Metric";
796
+ Row: "Row";
797
+ Steps: "Steps";
798
+ Table: "Table";
799
+ Tabs: "Tabs";
800
+ Text: "Text";
2018
801
  }>;
2019
- }, z.core.$strip>>>;
2020
- vat: z.ZodOptional<z.ZodObject<{
2021
- rate: z.ZodOptional<z.ZodNumber>;
2022
- field: z.ZodOptional<z.ZodString>;
2023
- }, z.core.$strip>>;
2024
- currency: z.ZodOptional<z.ZodString>;
2025
- multiple: z.ZodOptional<z.ZodBoolean>;
2026
- min: z.ZodOptional<z.ZodNumber>;
2027
- max: z.ZodOptional<z.ZodNumber>;
2028
- camera: z.ZodOptional<z.ZodBoolean>;
2029
- video: z.ZodOptional<z.ZodBoolean>;
2030
- listen: z.ZodOptional<z.ZodBoolean>;
2031
- scan: z.ZodOptional<z.ZodBoolean>;
2032
- connection: z.ZodOptional<z.ZodString>;
2033
- list: z.ZodOptional<z.ZodString>;
2034
- prefill: z.ZodOptional<z.ZodString>;
802
+ children: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{
803
+ path: z.ZodString;
804
+ componentId: z.ZodString;
805
+ }, z.core.$strip>]>>;
806
+ }, z.core.$loose>>;
807
+ group: z.ZodOptional<z.ZodString>;
808
+ required: z.ZodOptional<z.ZodBoolean>;
809
+ }, z.core.$strip>>>;
810
+ groups: z.ZodOptional<z.ZodArray<z.ZodObject<{
811
+ id: z.ZodString;
812
+ instructions: z.ZodString;
813
+ optional: z.ZodOptional<z.ZodBoolean>;
814
+ }, z.core.$strip>>>;
815
+ data: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
816
+ working: z.ZodOptional<z.ZodString>;
817
+ }, z.core.$strip>, z.ZodObject<{
818
+ id: z.ZodString;
819
+ title: z.ZodString;
820
+ description: z.ZodOptional<z.ZodString>;
821
+ next: z.ZodOptional<z.ZodArray<z.ZodObject<{
2035
822
  when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
2036
823
  field: z.ZodString;
2037
824
  op: z.ZodEnum<{
@@ -2059,24 +846,34 @@ declare const wizardSchema: z.ZodObject<{
2059
846
  }>;
2060
847
  value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2061
848
  }, z.core.$strip>>]>>;
2062
- optionsFrom: z.ZodOptional<z.ZodString>;
2063
- cards: z.ZodOptional<z.ZodObject<{
2064
- label: z.ZodString;
2065
- value: z.ZodOptional<z.ZodString>;
2066
- image: z.ZodOptional<z.ZodString>;
2067
- subtitle: z.ZodOptional<z.ZodString>;
2068
- meta: z.ZodOptional<z.ZodString>;
2069
- link: z.ZodOptional<z.ZodString>;
2070
- }, z.core.$strip>>;
2071
849
  ask: z.ZodOptional<z.ZodString>;
2072
- group: z.ZodOptional<z.ZodString>;
2073
- }, z.core.$strip>>;
2074
- groups: z.ZodOptional<z.ZodArray<z.ZodObject<{
2075
- id: z.ZodString;
2076
- instructions: z.ZodString;
2077
- optional: z.ZodOptional<z.ZodBoolean>;
850
+ goto: z.ZodString;
851
+ max: z.ZodOptional<z.ZodNumber>;
2078
852
  }, z.core.$strip>>>;
2079
- cta: z.ZodOptional<z.ZodString>;
853
+ type: z.ZodLiteral<"film">;
854
+ brief: z.ZodString;
855
+ skills: z.ZodDefault<z.ZodArray<z.ZodString>>;
856
+ kit: z.ZodOptional<z.ZodString>;
857
+ inputs: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
858
+ format: z.ZodDefault<z.ZodEnum<{
859
+ "16:9": "16:9";
860
+ "1:1": "1:1";
861
+ "9:16": "9:16";
862
+ }>>;
863
+ from: z.ZodOptional<z.ZodString>;
864
+ seconds: z.ZodOptional<z.ZodNumber>;
865
+ model: z.ZodOptional<z.ZodEnum<{
866
+ classifier: "classifier";
867
+ high: "high";
868
+ low: "low";
869
+ standard: "standard";
870
+ }>>;
871
+ effort: z.ZodOptional<z.ZodEnum<{
872
+ high: "high";
873
+ low: "low";
874
+ medium: "medium";
875
+ }>>;
876
+ working: z.ZodOptional<z.ZodString>;
2080
877
  }, z.core.$strip>, z.ZodObject<{
2081
878
  id: z.ZodString;
2082
879
  title: z.ZodString;
@@ -2113,264 +910,1227 @@ declare const wizardSchema: z.ZodObject<{
2113
910
  goto: z.ZodString;
2114
911
  max: z.ZodOptional<z.ZodNumber>;
2115
912
  }, z.core.$strip>>>;
2116
- type: z.ZodLiteral<"agent">;
2117
- instructions: z.ZodDefault<z.ZodString>;
2118
- call: z.ZodOptional<z.ZodObject<{
2119
- tool: z.ZodTemplateLiteral<`${string}.${string}`>;
2120
- input: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2121
- }, z.core.$strip>>;
2122
- tools: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodEnum<{
2123
- browser: "browser";
2124
- code: "code";
2125
- http: "http";
2126
- image: "image";
2127
- pages: "pages";
2128
- sandbox: "sandbox";
2129
- web_fetch: "web_fetch";
2130
- web_search: "web_search";
2131
- }>, z.ZodTemplateLiteral<`${string}.${string}`>]>>>;
2132
- mcp: z.ZodOptional<z.ZodArray<z.ZodString>>;
2133
- connections: z.ZodOptional<z.ZodArray<z.ZodString>>;
2134
- output: z.ZodDefault<z.ZodObject<{
2135
- format: z.ZodEnum<{
2136
- json: "json";
2137
- markdown: "markdown";
2138
- text: "text";
2139
- }>;
2140
- fields: z.ZodOptional<z.ZodArray<z.ZodObject<{
2141
- id: z.ZodString;
2142
- kind: z.ZodEnum<{
2143
- choice: "choice";
2144
- list: "list";
2145
- number: "number";
2146
- score: "score";
2147
- table: "table";
2148
- text: "text";
2149
- yesno: "yesno";
2150
- }>;
2151
- description: z.ZodOptional<z.ZodString>;
2152
- columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
2153
- options: z.ZodOptional<z.ZodArray<z.ZodString>>;
2154
- }, z.core.$strip>>>;
2155
- schema: z.ZodOptional<z.ZodType<ObjectShape, unknown, z.core.$ZodTypeInternals<ObjectShape, unknown>>>;
2156
- surface: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodObject<{
2157
- id: z.ZodString;
2158
- component: z.ZodEnum<{
2159
- Actions: "Actions";
2160
- Badge: "Badge";
2161
- BarChart: "BarChart";
2162
- Button: "Button";
2163
- Callout: "Callout";
2164
- Card: "Card";
2165
- Checklist: "Checklist";
2166
- Chips: "Chips";
2167
- Column: "Column";
2168
- DetailGrid: "DetailGrid";
2169
- DonutChart: "DonutChart";
2170
- Fold: "Fold";
2171
- Grid: "Grid";
2172
- Group: "Group";
2173
- Image: "Image";
2174
- LineChart: "LineChart";
2175
- Link: "Link";
2176
- List: "List";
2177
- Metric: "Metric";
2178
- Row: "Row";
2179
- Steps: "Steps";
2180
- Table: "Table";
2181
- Tabs: "Tabs";
2182
- Text: "Text";
913
+ type: z.ZodLiteral<"review">;
914
+ show: z.ZodArray<z.ZodString>;
915
+ edit: z.ZodOptional<z.ZodBoolean>;
916
+ regenerate: z.ZodOptional<z.ZodBoolean>;
917
+ }, z.core.$strip>, z.ZodObject<{
918
+ id: z.ZodString;
919
+ title: z.ZodString;
920
+ description: z.ZodOptional<z.ZodString>;
921
+ next: z.ZodOptional<z.ZodArray<z.ZodObject<{
922
+ when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
923
+ field: z.ZodString;
924
+ op: z.ZodEnum<{
925
+ contains: "contains";
926
+ empty: "empty";
927
+ equals: "equals";
928
+ gt: "gt";
929
+ in: "in";
930
+ lt: "lt";
931
+ notEmpty: "notEmpty";
932
+ notEquals: "notEquals";
2183
933
  }>;
2184
- children: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{
2185
- path: z.ZodString;
2186
- componentId: z.ZodString;
2187
- }, z.core.$strip>]>>;
2188
- }, z.core.$loose>>]>>;
934
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
935
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
936
+ field: z.ZodString;
937
+ op: z.ZodEnum<{
938
+ contains: "contains";
939
+ empty: "empty";
940
+ equals: "equals";
941
+ gt: "gt";
942
+ in: "in";
943
+ lt: "lt";
944
+ notEmpty: "notEmpty";
945
+ notEquals: "notEquals";
946
+ }>;
947
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
948
+ }, z.core.$strip>>]>>;
949
+ ask: z.ZodOptional<z.ZodString>;
950
+ goto: z.ZodString;
951
+ max: z.ZodOptional<z.ZodNumber>;
952
+ }, z.core.$strip>>>;
953
+ type: z.ZodLiteral<"result">;
954
+ message: z.ZodOptional<z.ZodString>;
955
+ deliverables: z.ZodArray<z.ZodObject<{
956
+ from: z.ZodString;
957
+ label: z.ZodOptional<z.ZodString>;
958
+ formats: z.ZodArray<z.ZodEnum<{
959
+ csv: "csv";
960
+ docx: "docx";
961
+ html: "html";
962
+ json: "json";
963
+ md: "md";
964
+ mp3: "mp3";
965
+ mp4: "mp4";
966
+ pdf: "pdf";
967
+ png: "png";
968
+ txt: "txt";
969
+ xlsx: "xlsx";
970
+ zip: "zip";
971
+ }>>;
2189
972
  }, z.core.$strip>>;
2190
- model: z.ZodOptional<z.ZodEnum<{
2191
- classifier: "classifier";
2192
- high: "high";
2193
- highest: "highest";
2194
- standard: "standard";
2195
- }>>;
2196
- effort: z.ZodOptional<z.ZodEnum<{
2197
- high: "high";
2198
- low: "low";
2199
- medium: "medium";
2200
- }>>;
2201
- each: z.ZodOptional<z.ZodString>;
2202
- working: z.ZodOptional<z.ZodString>;
2203
- }, z.core.$strip>, z.ZodObject<{
973
+ share: z.ZodOptional<z.ZodArray<z.ZodObject<{
974
+ target: z.ZodString;
975
+ label: z.ZodOptional<z.ZodString>;
976
+ values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
977
+ }, z.core.$strip>>>;
978
+ }, z.core.$strip>], "type">>;
979
+ }, z.core.$strip>;
980
+
981
+ /** The Halloween costumes a wizard's engenty can wear. Same list as the web app's engenty figures. */
982
+ declare const ENGENTY_COSTUMES: readonly ["witch", "devil", "bat", "pumpkin"];
983
+
984
+ declare type EngentyCostume = (typeof ENGENTY_COSTUMES)[number];
985
+
986
+ declare type FieldShape = LeafShape | ListShape | ScoreShape | TableShape;
987
+
988
+ declare type Format = (typeof FORMATS)[number];
989
+
990
+ declare const FORMATS: readonly ["png", "mp4", "mp3", "pdf", "docx", "html", "md", "txt", "csv", "xlsx", "json", "zip"];
991
+
992
+ /** What fills a line's gaps: words, a number (written the language's way), or a list of them. */
993
+ declare type Gap = string | number | readonly Gap[];
994
+
995
+ declare type Lang = (typeof LANGS)[number];
996
+
997
+ /**
998
+ * The languages engenty speaks: the studio, the runner, the mails, a wizard's own words. A
999
+ * language joins once its strings are written; English is the one every string has, and what a
1000
+ * language still lacks is said in English.
1001
+ */
1002
+ declare const LANGS: readonly ["en", "de"];
1003
+
1004
+ declare type LeafShape = TextShape | NumberShape | YesNoShape | ChoiceShape | RefShape;
1005
+
1006
+ /**
1007
+ * What a wizard keeps between runs for one person: lists (tabular data), files and connected
1008
+ * accounts. The wizard definition says which lists and connections exist; the content belongs
1009
+ * to the person who ran it.
1010
+ */
1011
+ /** A list is an engenty data table: typed columns, rows of cells keyed by column id. */
1012
+ declare interface ListDef {
1013
+ id: string;
1014
+ title: string;
1015
+ description?: string;
1016
+ columns: TableColumn[];
1017
+ /** Column whose value identifies a row: saving a row with a known key updates it. */
1018
+ key?: string;
1019
+ /**
1020
+ * The rows are gone through one by one in a review: `file` holds the path of a kept file
1021
+ * shown beside the row, `status` is a select whose options are the answers (first = open).
1022
+ */
1023
+ check?: {
1024
+ file?: string;
1025
+ status?: string;
1026
+ };
1027
+ /** Every run reads and writes the same rows; kept as a table of the space, not per person. */
1028
+ shared?: boolean;
1029
+ }
1030
+
1031
+ declare interface ListRow {
1032
+ id: string;
1033
+ cells: Record<string, unknown>;
1034
+ updatedAt: string;
1035
+ }
1036
+
1037
+ declare type ListShape = Named & {
1038
+ kind: "list";
1039
+ of: LeafShape | ObjectShape;
1040
+ };
1041
+
1042
+ /**
1043
+ * Loads the fonts a theme names, as the wizard's own page does: the brand's from their source,
1044
+ * the shipped ones from the runtime at `runtime`, and the shipped font of its kind where a brand
1045
+ * font fails.
1046
+ */
1047
+ export declare function loadLookFonts(look: RunTheme, runtime: string): void;
1048
+
1049
+ /** Reads the published wizards behind these tokens from a runtime; ones it cannot read are left out. */
1050
+ export declare function loadWizards(runtimeUrl: string, tokens: string[]): Promise<WizardInfo[]>;
1051
+
1052
+ /**
1053
+ * A running step asks the person to sign in on a page the wizard's browser has open. What the
1054
+ * person types goes into that page; the model never sees it.
1055
+ */
1056
+ declare interface LoginAsk extends AskBase {
1057
+ kind: "login";
1058
+ site: {
1059
+ host: string;
1060
+ title: string;
1061
+ };
1062
+ /** Inputs found on the page, to fill here instead of clicking into the picture. */
1063
+ fields: {
1064
+ id: string;
1065
+ label: string;
1066
+ secret: boolean;
1067
+ }[];
1068
+ }
1069
+
1070
+ declare interface MascotProps {
1071
+ kind: string;
1072
+ costume?: EngentyCostume;
1073
+ size?: number;
1074
+ fluffy?: boolean;
1075
+ }
1076
+
1077
+ declare const MODEL_CLASSES: readonly ["classifier", "low", "standard", "high", "image", "video", "audio", "speech"];
1078
+
1079
+ declare type ModelClass = (typeof MODEL_CLASSES)[number];
1080
+
1081
+ declare interface Named {
1082
+ /** What people read: a column's head, a part's title, "add …". Without one, the key. */
1083
+ label?: string;
1084
+ /** What the model is to put there. */
1085
+ description?: string;
1086
+ }
1087
+
1088
+ /** What fills a note's gaps: words, numbers, other notes (said in the same language), lists. */
1089
+ declare type NoteGap = Gap | RunNote | readonly NoteGap[];
1090
+
1091
+ /**
1092
+ * What a step reports while it works, in words for each language: the runtime writes the English
1093
+ * line into the run's log, a runner shows it in the language the person reads. The runtime's
1094
+ * answers to the person running a shared wizard (a refusal, a failure) are notes too: it answers
1095
+ * them in the wizard's language.
1096
+ */
1097
+ declare const NOTES_EN: {
1098
+ readonly entry: "Entry {n} of {total}";
1099
+ readonly deciding: "Deciding what to do next…";
1100
+ readonly choosingFields: "Choosing the right questions…";
1101
+ readonly batchDone: "{done} of {total} done";
1102
+ readonly editing: "Editing {n} of {total}";
1103
+ readonly filming: "Filming {n} of {total}";
1104
+ readonly clipsRendering: {
1105
+ readonly one: "Rendering {count} clip – this takes a few minutes.";
1106
+ readonly other: "Rendering {count} clips – this takes a few minutes.";
1107
+ };
1108
+ readonly videoRendering: "Rendering the video – this usually takes 1–3 minutes.";
1109
+ readonly photo: "Looking at photo {n} of {total}";
1110
+ readonly found: "{label}: {name}";
1111
+ readonly listen: "Listening to “{label}”…";
1112
+ readonly listenFailed: "“{label}” couldn’t be transcribed.";
1113
+ readonly filmCutting: "Cutting the film – this takes about a minute.";
1114
+ readonly filmProgress: "{pct} % cut";
1115
+ readonly filmError: "The film reports: {detail}";
1116
+ readonly widgetError: "The widget reports an error: {detail}";
1117
+ readonly mcpConnected: "Connected to {names}";
1118
+ readonly mcpUnreachable: "MCP server unreachable: {detail}";
1119
+ readonly reads: "Reading {name}";
1120
+ readonly readsMany: {
1121
+ readonly one: "Reading {count} document";
1122
+ readonly other: "Reading {count} documents";
1123
+ };
1124
+ readonly opens: "Opening {name}";
1125
+ readonly clicks: "Clicking in the browser";
1126
+ readonly clicksOn: "Clicking “{name}”";
1127
+ readonly types: "Typing in the browser";
1128
+ readonly typesText: "Typing “{text}”";
1129
+ readonly selects: "Choosing “{option}”";
1130
+ readonly scrolls: "Scrolling";
1131
+ readonly presses: "Pressing {key}";
1132
+ readonly goesBack: "Going back a page";
1133
+ readonly waitsForPage: "Waiting for the page";
1134
+ readonly fastLoop: "Doing in the browser: {goal}";
1135
+ readonly personDrives: "You’re driving the browser – the wizard waits";
1136
+ readonly agentDrives: "The wizard carries on in the browser";
1137
+ readonly looksAtPage: "Looking at the page";
1138
+ readonly waitsForSignIn: "Waiting for you to sign in to {name}";
1139
+ readonly downloads: "Downloading {name}";
1140
+ readonly attaches: "Attaching {name}";
1141
+ readonly runs: "Running: {command}";
1142
+ readonly python: "Running Python";
1143
+ readonly runsProgram: "Working through the data in one go";
1144
+ readonly drawing: "Drawing an image";
1145
+ readonly writesPage: "Writing the page “{title}”";
1146
+ readonly searchesDocuments: "Searching the documents: {query}";
1147
+ readonly searchesKnowledge: "Searching knowledge: {query} – {relevant} of {candidates} fit";
1148
+ readonly listsKnowledge: "Listing knowledge";
1149
+ readonly searchesMail: "Searching {label}";
1150
+ readonly savesReceipts: {
1151
+ readonly one: "Saving {count} receipt from {label}";
1152
+ readonly other: "Saving {count} receipts from {label}";
1153
+ };
1154
+ readonly remembers: "Remembering {title}";
1155
+ readonly files: {
1156
+ readonly one: "Filing {count} file";
1157
+ readonly other: "Filing {count} files";
1158
+ };
1159
+ readonly filmSetup: "Setting up the folder for the film";
1160
+ readonly filmClient: "{client} is working on the film – this usually takes 10–40 minutes.";
1161
+ readonly filmTask: "On the film: {task}";
1162
+ readonly filmLooks: "Looking at frames of the film";
1163
+ readonly filmFix: "The film didn’t render – Claude Code is fixing it";
1164
+ readonly filmResume: "Picking the film up where it stopped";
1165
+ readonly wizardUnavailable: "This wizard isn’t available right now.";
1166
+ readonly translationFailed: "This wizard can’t be translated right now. It’s shown as it was written.";
1167
+ readonly translationOff: "This wizard is only offered as it was written.";
1168
+ readonly translationPlaceholder: "The translation of “{text}” needs every placeholder in curly brackets the original has.";
1169
+ readonly wizardLimit: "This wizard has reached its limit for today. Try again tomorrow.";
1170
+ readonly guestBudget: "This page has reached its limit for today. Try again tomorrow.";
1171
+ readonly confirmHuman: "Confirm that you’re a person.";
1172
+ readonly tooManyRuns: "You’ve started a lot of runs just now. Try again in an hour.";
1173
+ readonly clientRefused: "This app may not start runs here.";
1174
+ readonly clientLimit: "This app has started a lot of runs just now. Try again later.";
1175
+ readonly runOver: "The run is over.";
1176
+ readonly runBusy: "The wizard is working right now.";
1177
+ readonly pageOutdated: "This page is out of date.";
1178
+ readonly noStepBefore: "There is no step before this one.";
1179
+ readonly checkFields: "Check the marked fields.";
1180
+ readonly talkOff: "Live conversations aren’t turned on for this wizard.";
1181
+ readonly talkKeyRefused: "The conversation couldn’t start: the OpenAI API key was refused.";
1182
+ readonly talkFailed: "The conversation couldn’t start ({status}).";
1183
+ readonly talkNoSecret: "The conversation couldn’t start: no access key came back.";
1184
+ readonly tryLater: "Try again later.";
1185
+ readonly recordingTooLarge: "The recording can be 10 MB at most.";
1186
+ readonly fileTooLarge: "Choose a file of {mb} MB or less.";
1187
+ readonly uploadNotPicture: "This file isn’t a picture that can be read. Choose a PNG, JPEG, WebP or GIF.";
1188
+ readonly uploadPictureTooLarge: "This picture is too large. Choose one of {mp} megapixels or less.";
1189
+ readonly uploadNotItsType: "This file holds something other than its type says. Choose the file again.";
1190
+ readonly uploadSvgNotUsable: "This SVG can’t be used. Save it again as a plain SVG, or choose a PNG.";
1191
+ readonly askClosed: "This question is no longer open.";
1192
+ readonly noBrowser: "The wizard has no browser open right now.";
1193
+ readonly notWaiting: "The wizard isn’t waiting for you right now.";
1194
+ readonly pageActFailed: "That didn’t work on the page.";
1195
+ readonly linkGone: "This link has expired or was withdrawn.";
1196
+ readonly connected: "Connected. You can close this window.";
1197
+ readonly connectFailed: "Connecting didn’t work. Try again.";
1198
+ readonly connectCancelled: "Connecting was cancelled.";
1199
+ readonly appleOff: "Apple Intelligence is turned off on this Mac. Turn it on in System Settings → Apple Intelligence & Siri.";
1200
+ readonly appleLoading: "Apple is still loading the model for Apple Intelligence onto this Mac. Try again in a moment.";
1201
+ readonly appleMissing: "The helper for Apple Intelligence (wizards-apple) is missing from this install.";
1202
+ readonly appleOs: "Apple Intelligence needs macOS 26 or later.";
1203
+ readonly appleDevice: "Apple Intelligence only works on a Mac with Apple silicon.";
1204
+ readonly appleBusy: "Apple Intelligence isn’t taking more requests right now. Try again in a moment.";
1205
+ readonly appleTooLong: "The text is too long for Apple Intelligence on this Mac (4,096 tokens for question and answer). Choose another model for this class under Settings → Models.";
1206
+ readonly appleRefused: "Apple Intelligence turned the request down: Apple’s content rules don’t allow it.";
1207
+ readonly appleLanguage: "Apple Intelligence doesn’t understand the language of this request.";
1208
+ readonly appleFormat: "Apple Intelligence can’t answer in this format: {detail}";
1209
+ readonly appleFailed: "Apple Intelligence: {detail}";
1210
+ readonly appleNoFfmpeg: "Apple Intelligence can’t read {type}, and without ffmpeg the recording can’t be converted. Install ffmpeg or record as MP4 in the browser.";
1211
+ readonly appleNotConverted: "Apple Intelligence couldn’t convert the recording: {detail}";
1212
+ readonly connectorAlreadyExistsSpace: "The connector “{id}” already exists in this space.";
1213
+ readonly connectorNotExist: "This connector doesn’t exist.";
1214
+ readonly fieldMissing: "“{label}” is missing.";
1215
+ readonly mailServerNotExist: "The mail server{host} doesn’t exist. Enter the IMAP server. For Gmail and Google Workspace, it’s imap.gmail.com.";
1216
+ readonly mailServerNotResponding: "The mail server{host} isn’t responding. Check the IMAP server and port.";
1217
+ readonly connectingNotWork: "Connecting didn’t work{host}: {detail}";
1218
+ readonly connectEngentyAccountFirst: "Connect your engenty account first (Settings → Account). Then you can connect Google here.";
1219
+ readonly engentyAccountNotReached: "Your engenty account can’t be reached right now. Try again later.";
1220
+ readonly googleNoLongerAccepts: "Google no longer accepts this connection. Connect the account again.";
1221
+ readonly googleNotConnectedThrough: "Google can’t be connected through your engenty account right now.";
1222
+ readonly stepNeedsToolPlugin: "This step needs the tool “{id}”. The plugin “{plugin}” isn’t installed here.";
1223
+ readonly clientNotSignedIn: "{name} isn’t signed in on this computer. Sign in under Settings → Models.";
1224
+ readonly clientNotInstalled: "{name} isn’t installed on this computer. Install it under Settings → Models.";
1225
+ readonly clientNoCredit: "The account {name} is signed in with has no credit or quota left.";
1226
+ readonly clientAccountNotServed: "{name} no longer serves the account it is signed in with. Sign it in with another account, or choose another way under Settings → Models.";
1227
+ readonly anthropicAccountClaudeCode: "The Anthropic account Claude Code is signed in with has no credit. Sign Claude Code in with your subscription under Settings → Models.";
1228
+ readonly chatgptAccountCodexSigned: "The ChatGPT account Codex is signed in with has used up its quota. Try again later or choose another client.";
1229
+ readonly builtTerminalNotAvailable: "The built-in terminal isn’t available on this computer. Run the command in your own terminal.";
1230
+ readonly terminalNoLongerExists: "This terminal no longer exists.";
1231
+ readonly imageTypeNotReadable: "Images of type {mime} can’t be read (PNG, JPEG and WebP work).";
1232
+ readonly fileNotReadable: "“{name}” ({mime}) can’t be read.";
1233
+ readonly creditsNotSignedIn: "This is set to run on credits, but you’re not signed in to an account.";
1234
+ readonly accountNoLongerSigned: "The account is no longer signed in. Sign in again under Settings → Account.";
1235
+ readonly modelNotUsedYet: "The model “{ref}” can’t be used yet. Add an API key under Settings → Models, or sign in to an account.";
1236
+ readonly noModelForImages: "No model is set up for images.";
1237
+ readonly noModelForVideos: "No model is set up for videos.";
1238
+ readonly noModelForSpeech: "No model is set up for speech.";
1239
+ readonly noOpenaiApiKey: "No OpenAI API key is set for voice conversations (Settings → Models).";
1240
+ readonly modelNotAvailableAccount: "This model isn’t available with your account.";
1241
+ readonly accountNoModelSet: "Your account has no model set up for this.";
1242
+ readonly claudeCodeMakesFilms: "Claude Code makes films on this computer, using your subscription. Set it up as an AI subscription under Settings → Models.";
1243
+ readonly macNeedsFfmpegTranscribe: "This Mac needs ffmpeg to transcribe recordings from Chrome or Firefox (WebM, Ogg). Safari and the app don’t. Install ffmpeg, e.g. with “brew install ffmpeg”.";
1244
+ readonly fieldRequired: "Required";
1245
+ readonly chooseAtLeast: "Choose at least {min}";
1246
+ readonly chooseAtMost: "At most {max} – remove some";
1247
+ readonly enterNumber: "Enter a number";
1248
+ readonly invalidChoice: "Invalid choice";
1249
+ readonly timeNotOffered: "This time isn’t offered";
1250
+ readonly notValidEmailAddress: "Not a valid email address";
1251
+ readonly notValidUrl: "Not a valid URL";
1252
+ readonly wizardRunOutCredits: "This wizard has run out of credits for now. Try again later.";
1253
+ readonly providerCreditLow: "Your credit with the model provider isn’t enough for this (videos need a minimum balance there). Top up there and try again.";
1254
+ readonly aiServiceBusyRight: "The AI service is busy right now. Try again in a moment.";
1255
+ readonly stepTookTooLong: "The step took too long. Try again.";
1256
+ readonly aiServiceNotReached: "The AI service can’t be reached right now. Try again later.";
1257
+ readonly notAvailableNow: "That isn’t available here right now.";
1258
+ readonly fileNotFound: "File not found";
1259
+ readonly connectFirst: "Connect first";
1260
+ readonly noEntriesStepWork: "There are no entries for this step to work on.";
1261
+ readonly stepNotReturnResult: "The step didn’t return a result.";
1262
+ readonly documentNotCreated: "The document couldn’t be created.";
1263
+ readonly stepMissingSourcesImages: "This step is missing its sources (images or scenes).";
1264
+ readonly noTextReadAloud: "There is no text to read aloud.";
1265
+ readonly wizardStillErrors: "The wizard still has errors.";
1266
+ readonly noLanguageModelSet: "No language model is set up here.";
1267
+ readonly creditsUsedUp: "Your credits are used up.";
1268
+ readonly chooseFile: "Choose a file.";
1269
+ readonly pageNotReached: "The page can’t be reached.";
1270
+ readonly unknownEntry: "Unknown entry.";
1271
+ readonly chooseWizardFileMb: "Choose a wizard file ({PACKAGE_EXTENSION}) of 30 MB or less.";
1272
+ readonly recordingMbMost: "The recording can be 10 MB at most.";
1273
+ readonly onlyFinishedResultsShared: "Only finished results can be shared.";
1274
+ readonly gradientFailed: "Couldn’t make a gradient from that. Try describing it differently.";
1275
+ readonly onlyOneSpaceAllowed: "Only one space is allowed here.";
1276
+ readonly mostSpaces: {
1277
+ readonly one: "You can have at most {count} space here.";
1278
+ readonly other: "You can have at most {count} spaces here.";
1279
+ };
1280
+ readonly twoEntriesSameKey: "Two entries have the same key.";
1281
+ readonly pageSlugInvalid: "A page address holds lower-case letters a–z, digits and hyphens.";
1282
+ readonly pageSlugTaken: "Another space of your organization has this address.";
1283
+ readonly pageTaken: "The page is already at “{space}”.";
1284
+ readonly notDeleteLastSpace: "You can’t delete the last space.";
1285
+ readonly notFound: "This doesn’t exist or was deleted.";
1286
+ readonly categoryNeedsName: "A category needs a name.";
1287
+ readonly unknownCategoryType: "Unknown type “{type}”.";
1288
+ readonly spaceMostCategories: {
1289
+ readonly one: "A space can have at most {count} category.";
1290
+ readonly other: "A space can have at most {count} categories.";
1291
+ };
1292
+ readonly categoryAlreadyExists: "The category “{name}” already exists.";
1293
+ readonly onlyChoiceCategoriesValues: "Only choice categories have values.";
1294
+ readonly onlyValuesOneCategory: "Only values of one category can be merged.";
1295
+ readonly templateNeedsNewerVersion: "This template needs a newer version of engenty wizards. Update engenty wizards first.";
1296
+ readonly chatNotExist: "This chat doesn’t exist.";
1297
+ readonly unknownRunner: "There’s no runner “{unknown}” here.";
1298
+ readonly leastOneRunnerStay: "At least one runner has to stay on.";
1299
+ readonly linkOpenRunnerTurned: "The link has to open a runner that’s turned on.";
1300
+ readonly jobNotExistAlready: "This job doesn’t exist or has already finished.";
1301
+ readonly accountAlreadySpace: "This account already has a space here.";
1302
+ readonly accountAlreadySpaces: {
1303
+ readonly one: "This account already has {count} space here.";
1304
+ readonly other: "This account already has {count} spaces here.";
1305
+ };
1306
+ readonly roomMostPublishedWizards: {
1307
+ readonly one: "There’s room for at most {count} published wizard here.";
1308
+ readonly other: "There’s room for at most {count} published wizards here.";
1309
+ };
1310
+ readonly spaceIdAlreadyExists: "A space with this ID already exists here and didn’t come from your computer.";
1311
+ readonly wizardIdAlreadyBelongs: "A wizard with this ID already belongs to another space here.";
1312
+ readonly idAlreadyUse: "This ID is already in use here.";
1313
+ readonly wizardNotSpace: "This wizard isn’t in the space.";
1314
+ readonly invalidColumns: "Invalid columns.";
1315
+ readonly spaceMostTables: {
1316
+ readonly one: "A space can have at most {count} table.";
1317
+ readonly other: "A space can have at most {count} tables.";
1318
+ };
1319
+ readonly tableBelongsOneWizard: "This table belongs to one of the wizard’s lists. Its columns come from the wizard.";
1320
+ readonly entryAlreadyExists: "This entry already exists.";
1321
+ readonly tableMostRows: {
1322
+ readonly one: "A table can have at most {count} row.";
1323
+ readonly other: "A table can have at most {count} rows.";
1324
+ };
1325
+ readonly spaceMostPages: {
1326
+ readonly one: "A space can have at most {count} page.";
1327
+ readonly other: "A space can have at most {count} pages.";
1328
+ };
1329
+ readonly pageNotSubpages: "This page can’t have subpages.";
1330
+ readonly pageNotOwnSubpage: "A page can’t be its own subpage.";
1331
+ readonly pageNeedsTitle: "A page needs a title.";
1332
+ readonly unknownSpace: "There’s no space “{space}”.";
1333
+ readonly noParentPage: "There’s no page with the key “{parent}” to put this page under.";
1334
+ readonly onlyOrganizationAdmins: "Only organization admins can do that. As a member, you can edit the wizards that already exist.";
1335
+ readonly spaceEditedLocally: "You edit this space in engenty wizards on your computer, not here.";
1336
+ readonly wizardsRunOncePublished: "Wizards run here once you publish them in engenty wizards on your computer. You build and edit them there.";
1337
+ readonly logoImagePngSvg: "A logo is an image (PNG, SVG, JPEG, WebP).";
1338
+ readonly patternImageSvgPng: "A pattern is an image (SVG, PNG, JPEG, WebP).";
1339
+ readonly filesGoHere: "Images, videos, audio, PDFs, fonts, Lottie and 3D models go here. Texts to look things up in go under knowledge.";
1340
+ readonly addressNotReached: "The address can’t be reached.";
1341
+ readonly addressResponded: "The address responded with {status}.";
1342
+ readonly addressLeadsWebPage: "The address leads to a web page, not an image.";
1343
+ readonly addressFileTooLarge: "The file is too large.";
1344
+ readonly onlyDocumentsIndex: "Only documents are in the index.";
1345
+ readonly emptyTooLargeDocument: "“{name}” is empty or too large for a document.";
1346
+ readonly spaceMostDocuments: {
1347
+ readonly one: "A space can have at most {count} document.";
1348
+ readonly other: "A space can have at most {count} documents.";
1349
+ };
1350
+ readonly accountSignedOut: "The account is signed out. Sign in again.";
1351
+ readonly cloudNotReachedRight: "The cloud can’t be reached right now.";
1352
+ readonly publishWizardFirst: "Publish the wizard first.";
1353
+ readonly wizardJsonUnreadable: "This isn’t a wizard file: its wizard.json can’t be read.";
1354
+ readonly wizardFileComesNewer: "This wizard file comes from a newer version, or it’s damaged. Update engenty wizards or export the wizard again.";
1355
+ readonly fileOver5Mb: "{name} is larger than 5 MB.";
1356
+ readonly wizardFileTooLarge: "The wizard file is too large: a workspace holds at most 200 files and 25 MB.";
1357
+ readonly wizardFileNotOpened: "The wizard file can’t be opened. Export the wizard again and try once more.";
1358
+ readonly wizardJsonMissing: "This isn’t a wizard file: wizard.json is missing.";
1359
+ readonly notValidFilePath: "“{name}” isn’t a valid file path.";
1360
+ readonly workspaceWizardFileLarger: "The workspace in the wizard file is larger than 25 MB.";
1361
+ readonly unknownTemplate: "There’s no template “{starterId}”.";
1362
+ readonly wizardChangedMeantime: "The wizard was changed in the meantime.";
1363
+ readonly valueNotExist: "This value doesn’t exist.";
1364
+ readonly nothingFiledUnderValue: "Nothing is filed under this value yet.";
1365
+ readonly filmNotRenderedNeeds: "The film couldn’t be rendered. It needs ffmpeg and a timeline in the widget.";
1366
+ readonly signInRefused: "The sign-in was refused{host}. Are the address and (app) password right? Gmail and Google Workspace need an app password and IMAP turned on.{answer}";
1367
+ readonly serverSaid: " The server said: {answer}";
1368
+ readonly viaAccountFailed: "Connecting through your engenty account didn’t work ({code}).";
1369
+ readonly pluginInvalidInput: "“{id}” got invalid input: {path} – {problem}";
1370
+ readonly filmClientStopped: "{name} stopped working on the film: {detail}. The work is saved. A new try carries on from there.";
1371
+ readonly filmWorkSaved: "{problem} The work is saved. A new try carries on from there.";
1372
+ readonly filmRenderFailed: "The film couldn’t be rendered: {detail}";
1373
+ readonly commandNotStarted: "The command couldn’t start: {detail}";
1374
+ readonly providerKeyMissing: "{provider} is chosen for {makes}, but no API key is set.";
1375
+ readonly noModelFor: "No model is set up for {makes}.";
1376
+ readonly noApiKeyFor: "No API key is set for {provider}.";
1377
+ readonly freeTier: "Your AI Gateway key is on Vercel’s free tier, which doesn’t include {model}. Top up at Vercel ({url}) or choose another model under Settings → Models.";
1378
+ readonly thisModel: "this model";
1379
+ readonly quoted: "“{text}”";
1380
+ readonly viewErrors: "The view has errors: {detail}";
1381
+ readonly blockedSteps: "{steps}: {problem}";
1382
+ readonly joined: "{first} {second}";
1383
+ readonly stepFailed: "This step failed: {detail}";
1384
+ readonly answersMissing: "Answers are missing or don’t fit: {answers}";
1385
+ readonly fieldError: "{field} – {message}";
1386
+ readonly templateNeedsPlugins: {
1387
+ readonly one: "This template needs the plugin {plugins}: included with Pro on engenty.ai.";
1388
+ readonly other: "This template needs the plugins {plugins}: included with Pro on engenty.ai.";
1389
+ };
1390
+ readonly pageMostChars: {
1391
+ readonly one: "A page can have at most {count} character.";
1392
+ readonly other: "A page can have at most {count} characters.";
1393
+ };
1394
+ readonly chooseFileUpTo: "Choose a file of {mb} MB or less.";
1395
+ readonly fontSourceNoFont: "{family} needs a font file of the space: choose a .woff2 from the assets.";
1396
+ readonly roomMostFiles: {
1397
+ readonly one: "There’s room for at most {count} file here.";
1398
+ readonly other: "There’s room for at most {count} files here.";
1399
+ };
1400
+ readonly makesText: "text";
1401
+ readonly makesImages: "images";
1402
+ readonly makesVideos: "videos";
1403
+ readonly makesSpeech: "speech";
1404
+ readonly makesVoiceNotes: "voice notes";
1405
+ };
1406
+
1407
+ declare type NumberShape = Named & {
1408
+ kind: "number";
1409
+ unit?: string;
1410
+ };
1411
+
1412
+ declare interface ObjectShape extends Named {
1413
+ kind: "object";
1414
+ fields: Record<string, FieldShape>;
1415
+ }
1416
+
1417
+ /** A field of a wizard's page, as `PublicWizard.fields` lists it. */
1418
+ declare interface PublicField {
1419
+ id: string;
1420
+ label: string;
1421
+ kind: string;
1422
+ options?: string[];
1423
+ required?: boolean;
1424
+ }
1425
+
1426
+ /** An entry of a top-level list of the same output, by its `id`. */
1427
+ declare type RefShape = Named & {
1428
+ kind: "ref";
1429
+ to: string;
1430
+ };
1431
+
1432
+ /** What a running step asks the person; the step waits for the answer. */
1433
+ declare type RunAsk = LoginAsk | ConfirmAsk;
1434
+
1435
+ declare interface RunEvent {
1436
+ id: number;
1437
+ at: string;
1438
+ stepId: string | null;
1439
+ type: "step_started" | "step_done" | "tool" | "info" | "error";
1440
+ /** In German, as the run's log keeps it. */
1441
+ message: string;
1442
+ /** The same as a note a runner shows in the person's language; null for free text. */
1443
+ note?: RunNote | null;
1444
+ /** A picture of the run this is about (a photo being looked at, an image just made). */
1445
+ asset?: string | null;
1446
+ }
1447
+
1448
+ /** A brand font as a run page loads it: from our copy of its file, or from the space's website. */
1449
+ declare interface RunFontFace {
1450
+ family: string;
1451
+ /** Ours (`/api/public/fonts/…`) or the website's: the font file or a stylesheet that holds it. */
1452
+ url: string;
1453
+ stylesheet: boolean;
1454
+ }
1455
+
1456
+ /** A line of `RUN_NOTES` with what goes into its gaps. */
1457
+ declare interface RunNote {
1458
+ code: RunNoteCode;
1459
+ params?: Record<string, NoteGap | undefined>;
1460
+ }
1461
+
1462
+ declare type RunNoteCode = keyof typeof NOTES_EN;
1463
+
1464
+ /**
1465
+ * A run as the runner drives it: the view, and the commands a person can give. `useRun` in the
1466
+ * studio (a server-sent stream), `useLocalRun` in the WordPress plugin (one request per step).
1467
+ */
1468
+ declare interface RunSource {
1469
+ view: RunView | null;
1470
+ notFound: boolean;
1471
+ error: string | null;
1472
+ busy: boolean;
1473
+ fieldErrors: Record<string, string>;
1474
+ submitPage(stepId: string, values: Record<string, unknown>): Promise<boolean>;
1475
+ accept(stepId: string, edits?: Record<string, string | Record<string, unknown>>): Promise<boolean>;
1476
+ regenerate(stepId: string, target: string, note: string, items?: number[]): Promise<boolean>;
1477
+ back(): Promise<boolean>;
1478
+ retry(): Promise<boolean>;
1479
+ /** A finished result's text in the language the run is read in (a translated wizard). */
1480
+ translateResult?(stepId: string): Promise<boolean>;
1481
+ }
1482
+
1483
+ declare type RunStatus = "waiting_input" | "running" | "done" | "failed" | "cancelled";
1484
+
1485
+ /**
1486
+ * How a wizard's pages look: its space's brand (`runTheme`) with the wizard's own style on top
1487
+ * (`themedLook`). Null: the runner's own.
1488
+ */
1489
+ declare interface RunTheme {
1490
+ /** Buttons and marks. */
1491
+ accent: string | null;
1492
+ /** What is there, done or good to know: ticks, tips, group headings. */
1493
+ second: string | null;
1494
+ /** The ground the pages stand on; its hue tints paper and ink. */
1495
+ background: string | null;
1496
+ /** Typefaces as CSS names them. */
1497
+ display: string | null;
1498
+ body: string | null;
1499
+ /** The brand fonts of the two typefaces that have a source: the page loads them from there. */
1500
+ faces: RunFontFace[];
1501
+ /** The brand stands on a dark ground. */
1502
+ dark: boolean;
1503
+ /** The theme has only dark or only light pages: the person's own setting does not change it. */
1504
+ pinned: boolean;
1505
+ /** The theme's colours for light and for dark pages; the page takes those of what it shows. */
1506
+ modes: {
1507
+ light: ThemeColours | null;
1508
+ dark: ThemeColours | null;
1509
+ } | null;
1510
+ /** Which of the two the pages show while the person has not chosen. */
1511
+ prefer: "light" | "dark" | null;
1512
+ shape: ThemeShape | null;
1513
+ /** Effects from the runner's library (`THEME_EFFECTS`); names it does not know are skipped. */
1514
+ effects: ThemeEffect[];
1515
+ }
1516
+
1517
+ /** How a run in the viewer's language shows. */
1518
+ declare interface RunTranslation {
1519
+ /** The language, by its code ("fr"): any language, not only one of `LANGS`. */
1520
+ lang: string;
1521
+ /** What a choice shows, by its value. */
1522
+ labels: Record<string, string>;
1523
+ /** A model wrote some of it; false where the author wrote every text by hand. */
1524
+ machine: boolean;
1525
+ /** Results shown in this language, by step (`RunState.translated`). */
1526
+ results: Record<string, string>;
1527
+ }
1528
+
1529
+ declare interface RunView {
1530
+ id: string;
1531
+ status: RunStatus;
1532
+ mode: "test" | "live";
1533
+ wizard: Pick<WizardDefinition, "title" | "description" | "avatar" | "costume" | "intro">;
1534
+ /** The language the wizard speaks, by its code: what is read aloud, and in which voice. */
1535
+ lang: string;
1536
+ /**
1537
+ * The run in the viewer's language (a wizard translated on request): every text of the view
1538
+ * is written in it, the choices keep their values and show `labels[value]`. Null: the
1539
+ * wizard's own words.
1540
+ */
1541
+ translation: RunTranslation | null;
1542
+ /** A live conversation can be started on this run: the runtime has a model for it and the wizard has live voice or video on (always in a test). */
1543
+ talk: boolean;
1544
+ /** The step the person is on (interactive) or the one running. */
1545
+ step: Step | null;
1546
+ /** Pages and reviews answered before it, oldest first: what a chat shows above the current step. */
1547
+ answered: Step[];
1548
+ values: Record<string, unknown>;
1549
+ /** What fields of the current page start with, from earlier steps (`prefill`). */
1550
+ prefill: Record<string, unknown>;
1551
+ /** What the `when` of the current page's fields read from before the page, by reference. */
1552
+ known?: Record<string, unknown>;
1553
+ /** Choices of the current page's fields that come from earlier data (`optionsFrom`). */
1554
+ options?: Record<string, string[]>;
1555
+ /** The same choices as cards, for fields that have `cards`. */
1556
+ cards?: Record<string, CardOption[]>;
1557
+ /** The decided fields (`ask`, `group`) of the current page that a decision kept. */
1558
+ decidedFields?: string[];
1559
+ /**
1560
+ * What decided branches answered so far, by step, with the branches decided over (test runs:
1561
+ * the studio shows them while the draft's branches are still those).
1562
+ */
1563
+ decisions?: Record<string, ShownDecision>;
1564
+ /** Choices of the current page that lead to a step without a model here, by field id. */
1565
+ closed: Record<string, ClosedChoice>;
1566
+ outputs: Record<string, StepOutput>;
1567
+ /** Steps whose outputs the current step shows, with their definitions. */
1568
+ shown: {
1569
+ step: Step;
1570
+ output: StepOutput | null;
1571
+ formats: Format[];
1572
+ label: string | null;
1573
+ }[];
1574
+ progress: {
1575
+ done: number;
1576
+ total: number;
1577
+ };
1578
+ canBack: boolean;
1579
+ error: string | null;
1580
+ events: RunEvent[];
1581
+ brand: BrandView;
1582
+ /** What the running step asks the person right now. */
1583
+ ask: RunAsk | null;
1584
+ /** Stored lists the current step shows (a page's list fields, a review, the result). */
1585
+ lists: ShownList[];
1586
+ /** The wizard's connections with what the person has connected. */
1587
+ connections: ConnectionView[];
1588
+ /** The wizard keeps things for the person between runs (lists, files, accounts). */
1589
+ keeps: boolean;
1590
+ /** Set once the result is shared. */
1591
+ shareUrl: string | null;
1592
+ /** When the run and its shared link are deleted; null = kept. */
1593
+ expiresAt: string | null;
1594
+ /** The result on its way to a share target, or the last one that arrived or failed. */
1595
+ shareJob: ShareJobView | null;
1596
+ }
1597
+
1598
+ /** `fields` only: a decision's levels, lowest first. */
1599
+ declare type ScoreShape = Named & {
1600
+ kind: "score";
1601
+ options: string[];
1602
+ };
1603
+
1604
+ declare type ShareIcon = "mail" | "folder" | "chat" | "plug" | "globe";
1605
+
1606
+ declare type ShareJobStatus = "running" | "done" | "failed" | "cancelled";
1607
+
1608
+ /** One result on its way to one target, or arrived there. */
1609
+ declare interface ShareJobView {
1610
+ id: string;
1611
+ target: string;
1612
+ /** The target's name when it was sent. */
1613
+ name: string;
1614
+ icon: ShareIcon;
1615
+ status: ShareJobStatus;
1616
+ /** What happened so far, oldest first. */
1617
+ events: {
1618
+ at: string;
1619
+ message: string;
1620
+ }[];
1621
+ /** What the target asks the person right now: a sign-in, or leave to publish. */
1622
+ ask: RunAsk | null;
1623
+ /** Where it ended up, in words, with a link when there is one. */
1624
+ result: {
1625
+ summary: string;
1626
+ url: string | null;
1627
+ } | null;
1628
+ error: string | null;
1629
+ createdAt: string;
1630
+ }
1631
+
1632
+ /** A branch decision as the studio sees it: with the step's branches it was made over. */
1633
+ declare interface ShownDecision extends BranchDecision {
1634
+ over: NonNullable<Step["next"]>;
1635
+ }
1636
+
1637
+ /** A stored list the current step shows. */
1638
+ declare interface ShownList {
1639
+ def: ListDef;
1640
+ rows: ListRow[];
1641
+ formats: Format[];
1642
+ label: string | null;
1643
+ }
1644
+
1645
+ declare type Step = z.infer<typeof stepSchema>;
1646
+
1647
+ declare interface StepOutput {
1648
+ text?: string;
1649
+ json?: unknown;
1650
+ /** A decision step: how probable each answer is (1 or 0 where a language model answered). */
1651
+ decided?: Record<string, number>;
1652
+ /** A view from the surface catalog and the data it is bound to. */
1653
+ surface?: Surface;
1654
+ assets?: AssetRef[];
1655
+ /**
1656
+ * What the person did in the step's view, kept with the run: a checklist's ticks by component
1657
+ * id, a widget's own state (`wizard.save`).
1658
+ */
1659
+ view?: Record<string, unknown>;
1660
+ /** Widgets: what loading it with this run's data showed. */
1661
+ widget?: {
1662
+ /** Seconds of animation the widget registered for video export; null = a still widget. */
1663
+ duration: number | null;
1664
+ errors: string[];
1665
+ };
1666
+ at: string;
1667
+ }
1668
+
1669
+ declare const stepSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1670
+ id: z.ZodString;
1671
+ title: z.ZodString;
1672
+ description: z.ZodOptional<z.ZodString>;
1673
+ next: z.ZodOptional<z.ZodArray<z.ZodObject<{
1674
+ when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
1675
+ field: z.ZodString;
1676
+ op: z.ZodEnum<{
1677
+ contains: "contains";
1678
+ empty: "empty";
1679
+ equals: "equals";
1680
+ gt: "gt";
1681
+ in: "in";
1682
+ lt: "lt";
1683
+ notEmpty: "notEmpty";
1684
+ notEquals: "notEquals";
1685
+ }>;
1686
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
1687
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
1688
+ field: z.ZodString;
1689
+ op: z.ZodEnum<{
1690
+ contains: "contains";
1691
+ empty: "empty";
1692
+ equals: "equals";
1693
+ gt: "gt";
1694
+ in: "in";
1695
+ lt: "lt";
1696
+ notEmpty: "notEmpty";
1697
+ notEquals: "notEquals";
1698
+ }>;
1699
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
1700
+ }, z.core.$strip>>]>>;
1701
+ ask: z.ZodOptional<z.ZodString>;
1702
+ goto: z.ZodString;
1703
+ max: z.ZodOptional<z.ZodNumber>;
1704
+ }, z.core.$strip>>>;
1705
+ type: z.ZodLiteral<"page">;
1706
+ fields: z.ZodArray<z.ZodObject<{
2204
1707
  id: z.ZodString;
2205
- title: z.ZodString;
2206
- description: z.ZodOptional<z.ZodString>;
2207
- next: z.ZodOptional<z.ZodArray<z.ZodObject<{
2208
- when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
2209
- field: z.ZodString;
2210
- op: z.ZodEnum<{
2211
- contains: "contains";
2212
- empty: "empty";
2213
- equals: "equals";
2214
- gt: "gt";
2215
- in: "in";
2216
- lt: "lt";
2217
- notEmpty: "notEmpty";
2218
- notEquals: "notEquals";
2219
- }>;
2220
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2221
- }, z.core.$strip>, z.ZodArray<z.ZodObject<{
2222
- field: z.ZodString;
2223
- op: z.ZodEnum<{
2224
- contains: "contains";
2225
- empty: "empty";
2226
- equals: "equals";
2227
- gt: "gt";
2228
- in: "in";
2229
- lt: "lt";
2230
- notEmpty: "notEmpty";
2231
- notEquals: "notEquals";
2232
- }>;
2233
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2234
- }, z.core.$strip>>]>>;
2235
- ask: z.ZodOptional<z.ZodString>;
2236
- goto: z.ZodString;
2237
- max: z.ZodOptional<z.ZodNumber>;
2238
- }, z.core.$strip>>>;
2239
- type: z.ZodLiteral<"generate">;
2240
- asset: z.ZodEnum<{
2241
- dashboard: "dashboard";
2242
- document: "document";
1708
+ label: z.ZodString;
1709
+ kind: z.ZodEnum<{
1710
+ audio: "audio";
1711
+ color: "color";
1712
+ connection: "connection";
1713
+ date: "date";
1714
+ email: "email";
1715
+ file: "file";
2243
1716
  image: "image";
2244
- video: "video";
2245
- voice: "voice";
1717
+ items: "items";
1718
+ list: "list";
1719
+ location: "location";
1720
+ multiselect: "multiselect";
1721
+ number: "number";
1722
+ select: "select";
1723
+ signature: "signature";
1724
+ slot: "slot";
1725
+ text: "text";
1726
+ textarea: "textarea";
1727
+ toggle: "toggle";
1728
+ url: "url";
2246
1729
  }>;
2247
- prompt: z.ZodString;
2248
- options: z.ZodOptional<z.ZodObject<{
2249
- aspectRatio: z.ZodOptional<z.ZodEnum<{
2250
- "16:9": "16:9";
2251
- "1:1": "1:1";
2252
- "2:3": "2:3";
2253
- "3:2": "3:2";
2254
- "4:5": "4:5";
2255
- "9:16": "9:16";
2256
- }>>;
2257
- duration: z.ZodOptional<z.ZodNumber>;
2258
- resolution: z.ZodOptional<z.ZodEnum<{
2259
- "480p": "480p";
2260
- "720p": "720p";
2261
- }>>;
2262
- style: z.ZodOptional<z.ZodString>;
2263
- template: z.ZodOptional<z.ZodEnum<{
2264
- briefing: "briefing";
2265
- free: "free";
2266
- invoice: "invoice";
2267
- letter: "letter";
2268
- offer: "offer";
2269
- report: "report";
2270
- }>>;
1730
+ required: z.ZodOptional<z.ZodBoolean>;
1731
+ placeholder: z.ZodOptional<z.ZodString>;
1732
+ help: z.ZodOptional<z.ZodString>;
1733
+ options: z.ZodOptional<z.ZodArray<z.ZodString>>;
1734
+ default: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
1735
+ columns: z.ZodOptional<z.ZodArray<z.ZodObject<{
1736
+ id: z.ZodString;
1737
+ label: z.ZodString;
1738
+ kind: z.ZodEnum<{
1739
+ money: "money";
1740
+ number: "number";
1741
+ text: "text";
1742
+ }>;
1743
+ }, z.core.$strip>>>;
1744
+ vat: z.ZodOptional<z.ZodObject<{
1745
+ rate: z.ZodOptional<z.ZodNumber>;
1746
+ field: z.ZodOptional<z.ZodString>;
2271
1747
  }, z.core.$strip>>;
2272
- referenceImage: z.ZodOptional<z.ZodString>;
2273
- each: z.ZodOptional<z.ZodString>;
2274
- model: z.ZodOptional<z.ZodEnum<{
2275
- classifier: "classifier";
2276
- high: "high";
2277
- highest: "highest";
2278
- standard: "standard";
1748
+ currency: z.ZodOptional<z.ZodString>;
1749
+ multiple: z.ZodOptional<z.ZodBoolean>;
1750
+ min: z.ZodOptional<z.ZodNumber>;
1751
+ max: z.ZodOptional<z.ZodNumber>;
1752
+ camera: z.ZodOptional<z.ZodBoolean>;
1753
+ video: z.ZodOptional<z.ZodBoolean>;
1754
+ listen: z.ZodOptional<z.ZodBoolean>;
1755
+ scan: z.ZodOptional<z.ZodBoolean>;
1756
+ connection: z.ZodOptional<z.ZodString>;
1757
+ list: z.ZodOptional<z.ZodString>;
1758
+ prefill: z.ZodOptional<z.ZodString>;
1759
+ when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
1760
+ field: z.ZodString;
1761
+ op: z.ZodEnum<{
1762
+ contains: "contains";
1763
+ empty: "empty";
1764
+ equals: "equals";
1765
+ gt: "gt";
1766
+ in: "in";
1767
+ lt: "lt";
1768
+ notEmpty: "notEmpty";
1769
+ notEquals: "notEquals";
1770
+ }>;
1771
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
1772
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
1773
+ field: z.ZodString;
1774
+ op: z.ZodEnum<{
1775
+ contains: "contains";
1776
+ empty: "empty";
1777
+ equals: "equals";
1778
+ gt: "gt";
1779
+ in: "in";
1780
+ lt: "lt";
1781
+ notEmpty: "notEmpty";
1782
+ notEquals: "notEquals";
1783
+ }>;
1784
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
1785
+ }, z.core.$strip>>]>>;
1786
+ optionsFrom: z.ZodOptional<z.ZodString>;
1787
+ cards: z.ZodOptional<z.ZodObject<{
1788
+ label: z.ZodString;
1789
+ value: z.ZodOptional<z.ZodString>;
1790
+ image: z.ZodOptional<z.ZodString>;
1791
+ subtitle: z.ZodOptional<z.ZodString>;
1792
+ meta: z.ZodOptional<z.ZodString>;
1793
+ link: z.ZodOptional<z.ZodString>;
1794
+ }, z.core.$strip>>;
1795
+ ask: z.ZodOptional<z.ZodString>;
1796
+ group: z.ZodOptional<z.ZodString>;
1797
+ }, z.core.$strip>>;
1798
+ groups: z.ZodOptional<z.ZodArray<z.ZodObject<{
1799
+ id: z.ZodString;
1800
+ instructions: z.ZodString;
1801
+ optional: z.ZodOptional<z.ZodBoolean>;
1802
+ }, z.core.$strip>>>;
1803
+ cta: z.ZodOptional<z.ZodString>;
1804
+ }, z.core.$strip>, z.ZodObject<{
1805
+ id: z.ZodString;
1806
+ title: z.ZodString;
1807
+ description: z.ZodOptional<z.ZodString>;
1808
+ next: z.ZodOptional<z.ZodArray<z.ZodObject<{
1809
+ when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
1810
+ field: z.ZodString;
1811
+ op: z.ZodEnum<{
1812
+ contains: "contains";
1813
+ empty: "empty";
1814
+ equals: "equals";
1815
+ gt: "gt";
1816
+ in: "in";
1817
+ lt: "lt";
1818
+ notEmpty: "notEmpty";
1819
+ notEquals: "notEquals";
1820
+ }>;
1821
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
1822
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
1823
+ field: z.ZodString;
1824
+ op: z.ZodEnum<{
1825
+ contains: "contains";
1826
+ empty: "empty";
1827
+ equals: "equals";
1828
+ gt: "gt";
1829
+ in: "in";
1830
+ lt: "lt";
1831
+ notEmpty: "notEmpty";
1832
+ notEquals: "notEquals";
1833
+ }>;
1834
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
1835
+ }, z.core.$strip>>]>>;
1836
+ ask: z.ZodOptional<z.ZodString>;
1837
+ goto: z.ZodString;
1838
+ max: z.ZodOptional<z.ZodNumber>;
1839
+ }, z.core.$strip>>>;
1840
+ type: z.ZodLiteral<"agent">;
1841
+ instructions: z.ZodDefault<z.ZodString>;
1842
+ call: z.ZodOptional<z.ZodObject<{
1843
+ tool: z.ZodTemplateLiteral<`${string}.${string}`>;
1844
+ input: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1845
+ }, z.core.$strip>>;
1846
+ tools: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodEnum<{
1847
+ browser: "browser";
1848
+ code: "code";
1849
+ http: "http";
1850
+ image: "image";
1851
+ pages: "pages";
1852
+ sandbox: "sandbox";
1853
+ web_fetch: "web_fetch";
1854
+ web_search: "web_search";
1855
+ }>, z.ZodTemplateLiteral<`${string}.${string}`>]>>>;
1856
+ mcp: z.ZodOptional<z.ZodArray<z.ZodString>>;
1857
+ connections: z.ZodOptional<z.ZodArray<z.ZodString>>;
1858
+ output: z.ZodDefault<z.ZodObject<{
1859
+ format: z.ZodEnum<{
1860
+ json: "json";
1861
+ markdown: "markdown";
1862
+ text: "text";
1863
+ }>;
1864
+ fields: z.ZodOptional<z.ZodArray<z.ZodObject<{
1865
+ id: z.ZodString;
1866
+ kind: z.ZodEnum<{
1867
+ choice: "choice";
1868
+ list: "list";
1869
+ number: "number";
1870
+ score: "score";
1871
+ table: "table";
1872
+ text: "text";
1873
+ yesno: "yesno";
1874
+ }>;
1875
+ description: z.ZodOptional<z.ZodString>;
1876
+ columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
1877
+ options: z.ZodOptional<z.ZodArray<z.ZodString>>;
1878
+ }, z.core.$strip>>>;
1879
+ schema: z.ZodOptional<z.ZodType<ObjectShape, unknown, z.core.$ZodTypeInternals<ObjectShape, unknown>>>;
1880
+ surface: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodObject<{
1881
+ id: z.ZodString;
1882
+ component: z.ZodEnum<{
1883
+ Actions: "Actions";
1884
+ Badge: "Badge";
1885
+ BarChart: "BarChart";
1886
+ Button: "Button";
1887
+ Callout: "Callout";
1888
+ Card: "Card";
1889
+ Checklist: "Checklist";
1890
+ Chips: "Chips";
1891
+ Column: "Column";
1892
+ DetailGrid: "DetailGrid";
1893
+ DonutChart: "DonutChart";
1894
+ Fold: "Fold";
1895
+ Grid: "Grid";
1896
+ Group: "Group";
1897
+ Image: "Image";
1898
+ LineChart: "LineChart";
1899
+ Link: "Link";
1900
+ List: "List";
1901
+ Metric: "Metric";
1902
+ Row: "Row";
1903
+ Steps: "Steps";
1904
+ Table: "Table";
1905
+ Tabs: "Tabs";
1906
+ Text: "Text";
1907
+ }>;
1908
+ children: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{
1909
+ path: z.ZodString;
1910
+ componentId: z.ZodString;
1911
+ }, z.core.$strip>]>>;
1912
+ }, z.core.$loose>>]>>;
1913
+ }, z.core.$strip>>;
1914
+ model: z.ZodOptional<z.ZodEnum<{
1915
+ classifier: "classifier";
1916
+ high: "high";
1917
+ low: "low";
1918
+ standard: "standard";
1919
+ }>>;
1920
+ effort: z.ZodOptional<z.ZodEnum<{
1921
+ high: "high";
1922
+ low: "low";
1923
+ medium: "medium";
1924
+ }>>;
1925
+ each: z.ZodOptional<z.ZodString>;
1926
+ working: z.ZodOptional<z.ZodString>;
1927
+ }, z.core.$strip>, z.ZodObject<{
1928
+ id: z.ZodString;
1929
+ title: z.ZodString;
1930
+ description: z.ZodOptional<z.ZodString>;
1931
+ next: z.ZodOptional<z.ZodArray<z.ZodObject<{
1932
+ when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
1933
+ field: z.ZodString;
1934
+ op: z.ZodEnum<{
1935
+ contains: "contains";
1936
+ empty: "empty";
1937
+ equals: "equals";
1938
+ gt: "gt";
1939
+ in: "in";
1940
+ lt: "lt";
1941
+ notEmpty: "notEmpty";
1942
+ notEquals: "notEquals";
1943
+ }>;
1944
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
1945
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
1946
+ field: z.ZodString;
1947
+ op: z.ZodEnum<{
1948
+ contains: "contains";
1949
+ empty: "empty";
1950
+ equals: "equals";
1951
+ gt: "gt";
1952
+ in: "in";
1953
+ lt: "lt";
1954
+ notEmpty: "notEmpty";
1955
+ notEquals: "notEquals";
1956
+ }>;
1957
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
1958
+ }, z.core.$strip>>]>>;
1959
+ ask: z.ZodOptional<z.ZodString>;
1960
+ goto: z.ZodString;
1961
+ max: z.ZodOptional<z.ZodNumber>;
1962
+ }, z.core.$strip>>>;
1963
+ type: z.ZodLiteral<"generate">;
1964
+ asset: z.ZodEnum<{
1965
+ dashboard: "dashboard";
1966
+ document: "document";
1967
+ image: "image";
1968
+ video: "video";
1969
+ voice: "voice";
1970
+ }>;
1971
+ prompt: z.ZodString;
1972
+ options: z.ZodOptional<z.ZodObject<{
1973
+ aspectRatio: z.ZodOptional<z.ZodEnum<{
1974
+ "16:9": "16:9";
1975
+ "1:1": "1:1";
1976
+ "2:3": "2:3";
1977
+ "3:2": "3:2";
1978
+ "4:5": "4:5";
1979
+ "9:16": "9:16";
2279
1980
  }>>;
2280
- effort: z.ZodOptional<z.ZodEnum<{
2281
- high: "high";
2282
- low: "low";
2283
- medium: "medium";
1981
+ duration: z.ZodOptional<z.ZodNumber>;
1982
+ resolution: z.ZodOptional<z.ZodEnum<{
1983
+ "480p": "480p";
1984
+ "720p": "720p";
2284
1985
  }>>;
2285
- working: z.ZodOptional<z.ZodString>;
2286
- }, z.core.$strip>, z.ZodObject<{
2287
- id: z.ZodString;
2288
- title: z.ZodString;
2289
- description: z.ZodOptional<z.ZodString>;
2290
- next: z.ZodOptional<z.ZodArray<z.ZodObject<{
2291
- when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
2292
- field: z.ZodString;
2293
- op: z.ZodEnum<{
2294
- contains: "contains";
2295
- empty: "empty";
2296
- equals: "equals";
2297
- gt: "gt";
2298
- in: "in";
2299
- lt: "lt";
2300
- notEmpty: "notEmpty";
2301
- notEquals: "notEquals";
2302
- }>;
2303
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2304
- }, z.core.$strip>, z.ZodArray<z.ZodObject<{
2305
- field: z.ZodString;
2306
- op: z.ZodEnum<{
2307
- contains: "contains";
2308
- empty: "empty";
2309
- equals: "equals";
2310
- gt: "gt";
2311
- in: "in";
2312
- lt: "lt";
2313
- notEmpty: "notEmpty";
2314
- notEquals: "notEquals";
2315
- }>;
2316
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2317
- }, z.core.$strip>>]>>;
2318
- ask: z.ZodOptional<z.ZodString>;
2319
- goto: z.ZodString;
2320
- max: z.ZodOptional<z.ZodNumber>;
2321
- }, z.core.$strip>>>;
2322
- type: z.ZodLiteral<"widget">;
2323
- entry: z.ZodString;
2324
- data: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
2325
- sample: z.ZodOptional<z.ZodString>;
2326
- layout: z.ZodOptional<z.ZodEnum<{
2327
- fixed: "fixed";
2328
- page: "page";
1986
+ style: z.ZodOptional<z.ZodString>;
1987
+ template: z.ZodOptional<z.ZodEnum<{
1988
+ briefing: "briefing";
1989
+ free: "free";
1990
+ invoice: "invoice";
1991
+ letter: "letter";
1992
+ offer: "offer";
1993
+ report: "report";
2329
1994
  }>>;
2330
- size: z.ZodOptional<z.ZodObject<{
2331
- width: z.ZodNumber;
2332
- height: z.ZodNumber;
2333
- }, z.core.$strip>>;
2334
- video: z.ZodOptional<z.ZodBoolean>;
2335
- working: z.ZodOptional<z.ZodString>;
2336
- }, z.core.$strip>, z.ZodObject<{
1995
+ }, z.core.$strip>>;
1996
+ referenceImage: z.ZodOptional<z.ZodString>;
1997
+ each: z.ZodOptional<z.ZodString>;
1998
+ model: z.ZodOptional<z.ZodEnum<{
1999
+ classifier: "classifier";
2000
+ high: "high";
2001
+ low: "low";
2002
+ standard: "standard";
2003
+ }>>;
2004
+ effort: z.ZodOptional<z.ZodEnum<{
2005
+ high: "high";
2006
+ low: "low";
2007
+ medium: "medium";
2008
+ }>>;
2009
+ working: z.ZodOptional<z.ZodString>;
2010
+ }, z.core.$strip>, z.ZodObject<{
2011
+ id: z.ZodString;
2012
+ title: z.ZodString;
2013
+ description: z.ZodOptional<z.ZodString>;
2014
+ next: z.ZodOptional<z.ZodArray<z.ZodObject<{
2015
+ when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
2016
+ field: z.ZodString;
2017
+ op: z.ZodEnum<{
2018
+ contains: "contains";
2019
+ empty: "empty";
2020
+ equals: "equals";
2021
+ gt: "gt";
2022
+ in: "in";
2023
+ lt: "lt";
2024
+ notEmpty: "notEmpty";
2025
+ notEquals: "notEquals";
2026
+ }>;
2027
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2028
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
2029
+ field: z.ZodString;
2030
+ op: z.ZodEnum<{
2031
+ contains: "contains";
2032
+ empty: "empty";
2033
+ equals: "equals";
2034
+ gt: "gt";
2035
+ in: "in";
2036
+ lt: "lt";
2037
+ notEmpty: "notEmpty";
2038
+ notEquals: "notEquals";
2039
+ }>;
2040
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2041
+ }, z.core.$strip>>]>>;
2042
+ ask: z.ZodOptional<z.ZodString>;
2043
+ goto: z.ZodString;
2044
+ max: z.ZodOptional<z.ZodNumber>;
2045
+ }, z.core.$strip>>>;
2046
+ type: z.ZodLiteral<"widget">;
2047
+ entry: z.ZodString;
2048
+ data: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
2049
+ sample: z.ZodOptional<z.ZodString>;
2050
+ layout: z.ZodOptional<z.ZodEnum<{
2051
+ fixed: "fixed";
2052
+ page: "page";
2053
+ }>>;
2054
+ size: z.ZodOptional<z.ZodObject<{
2055
+ width: z.ZodNumber;
2056
+ height: z.ZodNumber;
2057
+ }, z.core.$strip>>;
2058
+ video: z.ZodOptional<z.ZodBoolean>;
2059
+ working: z.ZodOptional<z.ZodString>;
2060
+ }, z.core.$strip>, z.ZodObject<{
2061
+ id: z.ZodString;
2062
+ title: z.ZodString;
2063
+ description: z.ZodOptional<z.ZodString>;
2064
+ next: z.ZodOptional<z.ZodArray<z.ZodObject<{
2065
+ when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
2066
+ field: z.ZodString;
2067
+ op: z.ZodEnum<{
2068
+ contains: "contains";
2069
+ empty: "empty";
2070
+ equals: "equals";
2071
+ gt: "gt";
2072
+ in: "in";
2073
+ lt: "lt";
2074
+ notEmpty: "notEmpty";
2075
+ notEquals: "notEquals";
2076
+ }>;
2077
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2078
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
2079
+ field: z.ZodString;
2080
+ op: z.ZodEnum<{
2081
+ contains: "contains";
2082
+ empty: "empty";
2083
+ equals: "equals";
2084
+ gt: "gt";
2085
+ in: "in";
2086
+ lt: "lt";
2087
+ notEmpty: "notEmpty";
2088
+ notEquals: "notEquals";
2089
+ }>;
2090
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2091
+ }, z.core.$strip>>]>>;
2092
+ ask: z.ZodOptional<z.ZodString>;
2093
+ goto: z.ZodString;
2094
+ max: z.ZodOptional<z.ZodNumber>;
2095
+ }, z.core.$strip>>>;
2096
+ type: z.ZodLiteral<"surface">;
2097
+ components: z.ZodOptional<z.ZodArray<z.ZodObject<{
2337
2098
  id: z.ZodString;
2338
- title: z.ZodString;
2339
- description: z.ZodOptional<z.ZodString>;
2340
- next: z.ZodOptional<z.ZodArray<z.ZodObject<{
2341
- when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
2342
- field: z.ZodString;
2343
- op: z.ZodEnum<{
2344
- contains: "contains";
2345
- empty: "empty";
2346
- equals: "equals";
2347
- gt: "gt";
2348
- in: "in";
2349
- lt: "lt";
2350
- notEmpty: "notEmpty";
2351
- notEquals: "notEquals";
2352
- }>;
2353
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2354
- }, z.core.$strip>, z.ZodArray<z.ZodObject<{
2355
- field: z.ZodString;
2356
- op: z.ZodEnum<{
2357
- contains: "contains";
2358
- empty: "empty";
2359
- equals: "equals";
2360
- gt: "gt";
2361
- in: "in";
2362
- lt: "lt";
2363
- notEmpty: "notEmpty";
2364
- notEquals: "notEquals";
2365
- }>;
2366
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2367
- }, z.core.$strip>>]>>;
2368
- ask: z.ZodOptional<z.ZodString>;
2369
- goto: z.ZodString;
2370
- max: z.ZodOptional<z.ZodNumber>;
2371
- }, z.core.$strip>>>;
2372
- type: z.ZodLiteral<"surface">;
2373
- components: z.ZodOptional<z.ZodArray<z.ZodObject<{
2099
+ component: z.ZodEnum<{
2100
+ Actions: "Actions";
2101
+ Badge: "Badge";
2102
+ BarChart: "BarChart";
2103
+ Button: "Button";
2104
+ Callout: "Callout";
2105
+ Card: "Card";
2106
+ Checklist: "Checklist";
2107
+ Chips: "Chips";
2108
+ Column: "Column";
2109
+ DetailGrid: "DetailGrid";
2110
+ DonutChart: "DonutChart";
2111
+ Fold: "Fold";
2112
+ Grid: "Grid";
2113
+ Group: "Group";
2114
+ Image: "Image";
2115
+ LineChart: "LineChart";
2116
+ Link: "Link";
2117
+ List: "List";
2118
+ Metric: "Metric";
2119
+ Row: "Row";
2120
+ Steps: "Steps";
2121
+ Table: "Table";
2122
+ Tabs: "Tabs";
2123
+ Text: "Text";
2124
+ }>;
2125
+ children: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{
2126
+ path: z.ZodString;
2127
+ componentId: z.ZodString;
2128
+ }, z.core.$strip>]>>;
2129
+ }, z.core.$loose>>>;
2130
+ candidates: z.ZodOptional<z.ZodArray<z.ZodObject<{
2131
+ id: z.ZodString;
2132
+ description: z.ZodString;
2133
+ components: z.ZodArray<z.ZodObject<{
2374
2134
  id: z.ZodString;
2375
2135
  component: z.ZodEnum<{
2376
2136
  Actions: "Actions";
@@ -2396,223 +2156,464 @@ declare const wizardSchema: z.ZodObject<{
2396
2156
  Steps: "Steps";
2397
2157
  Table: "Table";
2398
2158
  Tabs: "Tabs";
2399
- Text: "Text";
2400
- }>;
2401
- children: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{
2402
- path: z.ZodString;
2403
- componentId: z.ZodString;
2404
- }, z.core.$strip>]>>;
2405
- }, z.core.$loose>>>;
2406
- candidates: z.ZodOptional<z.ZodArray<z.ZodObject<{
2407
- id: z.ZodString;
2408
- description: z.ZodString;
2409
- components: z.ZodArray<z.ZodObject<{
2410
- id: z.ZodString;
2411
- component: z.ZodEnum<{
2412
- Actions: "Actions";
2413
- Badge: "Badge";
2414
- BarChart: "BarChart";
2415
- Button: "Button";
2416
- Callout: "Callout";
2417
- Card: "Card";
2418
- Checklist: "Checklist";
2419
- Chips: "Chips";
2420
- Column: "Column";
2421
- DetailGrid: "DetailGrid";
2422
- DonutChart: "DonutChart";
2423
- Fold: "Fold";
2424
- Grid: "Grid";
2425
- Group: "Group";
2426
- Image: "Image";
2427
- LineChart: "LineChart";
2428
- Link: "Link";
2429
- List: "List";
2430
- Metric: "Metric";
2431
- Row: "Row";
2432
- Steps: "Steps";
2433
- Table: "Table";
2434
- Tabs: "Tabs";
2435
- Text: "Text";
2436
- }>;
2437
- children: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{
2438
- path: z.ZodString;
2439
- componentId: z.ZodString;
2440
- }, z.core.$strip>]>>;
2441
- }, z.core.$loose>>;
2442
- group: z.ZodOptional<z.ZodString>;
2443
- required: z.ZodOptional<z.ZodBoolean>;
2444
- }, z.core.$strip>>>;
2445
- groups: z.ZodOptional<z.ZodArray<z.ZodObject<{
2446
- id: z.ZodString;
2447
- instructions: z.ZodString;
2448
- optional: z.ZodOptional<z.ZodBoolean>;
2449
- }, z.core.$strip>>>;
2450
- data: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
2451
- working: z.ZodOptional<z.ZodString>;
2452
- }, z.core.$strip>, z.ZodObject<{
2453
- id: z.ZodString;
2454
- title: z.ZodString;
2455
- description: z.ZodOptional<z.ZodString>;
2456
- next: z.ZodOptional<z.ZodArray<z.ZodObject<{
2457
- when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
2458
- field: z.ZodString;
2459
- op: z.ZodEnum<{
2460
- contains: "contains";
2461
- empty: "empty";
2462
- equals: "equals";
2463
- gt: "gt";
2464
- in: "in";
2465
- lt: "lt";
2466
- notEmpty: "notEmpty";
2467
- notEquals: "notEquals";
2468
- }>;
2469
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2470
- }, z.core.$strip>, z.ZodArray<z.ZodObject<{
2471
- field: z.ZodString;
2472
- op: z.ZodEnum<{
2473
- contains: "contains";
2474
- empty: "empty";
2475
- equals: "equals";
2476
- gt: "gt";
2477
- in: "in";
2478
- lt: "lt";
2479
- notEmpty: "notEmpty";
2480
- notEquals: "notEquals";
2481
- }>;
2482
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2483
- }, z.core.$strip>>]>>;
2484
- ask: z.ZodOptional<z.ZodString>;
2485
- goto: z.ZodString;
2486
- max: z.ZodOptional<z.ZodNumber>;
2487
- }, z.core.$strip>>>;
2488
- type: z.ZodLiteral<"film">;
2489
- brief: z.ZodString;
2490
- skills: z.ZodDefault<z.ZodArray<z.ZodString>>;
2491
- kit: z.ZodOptional<z.ZodString>;
2492
- inputs: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
2493
- format: z.ZodDefault<z.ZodEnum<{
2494
- "16:9": "16:9";
2495
- "1:1": "1:1";
2496
- "9:16": "9:16";
2497
- }>>;
2498
- from: z.ZodOptional<z.ZodString>;
2499
- seconds: z.ZodOptional<z.ZodNumber>;
2500
- model: z.ZodOptional<z.ZodEnum<{
2501
- classifier: "classifier";
2502
- high: "high";
2503
- highest: "highest";
2504
- standard: "standard";
2505
- }>>;
2506
- effort: z.ZodOptional<z.ZodEnum<{
2507
- high: "high";
2508
- low: "low";
2509
- medium: "medium";
2510
- }>>;
2511
- working: z.ZodOptional<z.ZodString>;
2512
- }, z.core.$strip>, z.ZodObject<{
2513
- id: z.ZodString;
2514
- title: z.ZodString;
2515
- description: z.ZodOptional<z.ZodString>;
2516
- next: z.ZodOptional<z.ZodArray<z.ZodObject<{
2517
- when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
2518
- field: z.ZodString;
2519
- op: z.ZodEnum<{
2520
- contains: "contains";
2521
- empty: "empty";
2522
- equals: "equals";
2523
- gt: "gt";
2524
- in: "in";
2525
- lt: "lt";
2526
- notEmpty: "notEmpty";
2527
- notEquals: "notEquals";
2528
- }>;
2529
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2530
- }, z.core.$strip>, z.ZodArray<z.ZodObject<{
2531
- field: z.ZodString;
2532
- op: z.ZodEnum<{
2533
- contains: "contains";
2534
- empty: "empty";
2535
- equals: "equals";
2536
- gt: "gt";
2537
- in: "in";
2538
- lt: "lt";
2539
- notEmpty: "notEmpty";
2540
- notEquals: "notEquals";
2541
- }>;
2542
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2543
- }, z.core.$strip>>]>>;
2544
- ask: z.ZodOptional<z.ZodString>;
2545
- goto: z.ZodString;
2546
- max: z.ZodOptional<z.ZodNumber>;
2547
- }, z.core.$strip>>>;
2548
- type: z.ZodLiteral<"review">;
2549
- show: z.ZodArray<z.ZodString>;
2550
- edit: z.ZodOptional<z.ZodBoolean>;
2551
- regenerate: z.ZodOptional<z.ZodBoolean>;
2552
- }, z.core.$strip>, z.ZodObject<{
2159
+ Text: "Text";
2160
+ }>;
2161
+ children: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{
2162
+ path: z.ZodString;
2163
+ componentId: z.ZodString;
2164
+ }, z.core.$strip>]>>;
2165
+ }, z.core.$loose>>;
2166
+ group: z.ZodOptional<z.ZodString>;
2167
+ required: z.ZodOptional<z.ZodBoolean>;
2168
+ }, z.core.$strip>>>;
2169
+ groups: z.ZodOptional<z.ZodArray<z.ZodObject<{
2553
2170
  id: z.ZodString;
2554
- title: z.ZodString;
2555
- description: z.ZodOptional<z.ZodString>;
2556
- next: z.ZodOptional<z.ZodArray<z.ZodObject<{
2557
- when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
2558
- field: z.ZodString;
2559
- op: z.ZodEnum<{
2560
- contains: "contains";
2561
- empty: "empty";
2562
- equals: "equals";
2563
- gt: "gt";
2564
- in: "in";
2565
- lt: "lt";
2566
- notEmpty: "notEmpty";
2567
- notEquals: "notEquals";
2568
- }>;
2569
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2570
- }, z.core.$strip>, z.ZodArray<z.ZodObject<{
2571
- field: z.ZodString;
2572
- op: z.ZodEnum<{
2573
- contains: "contains";
2574
- empty: "empty";
2575
- equals: "equals";
2576
- gt: "gt";
2577
- in: "in";
2578
- lt: "lt";
2579
- notEmpty: "notEmpty";
2580
- notEquals: "notEquals";
2581
- }>;
2582
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2583
- }, z.core.$strip>>]>>;
2584
- ask: z.ZodOptional<z.ZodString>;
2585
- goto: z.ZodString;
2586
- max: z.ZodOptional<z.ZodNumber>;
2587
- }, z.core.$strip>>>;
2588
- type: z.ZodLiteral<"result">;
2589
- message: z.ZodOptional<z.ZodString>;
2590
- deliverables: z.ZodArray<z.ZodObject<{
2591
- from: z.ZodString;
2592
- label: z.ZodOptional<z.ZodString>;
2593
- formats: z.ZodArray<z.ZodEnum<{
2594
- csv: "csv";
2595
- docx: "docx";
2596
- html: "html";
2597
- json: "json";
2598
- md: "md";
2599
- mp3: "mp3";
2600
- mp4: "mp4";
2601
- pdf: "pdf";
2602
- png: "png";
2603
- txt: "txt";
2604
- xlsx: "xlsx";
2605
- zip: "zip";
2606
- }>>;
2171
+ instructions: z.ZodString;
2172
+ optional: z.ZodOptional<z.ZodBoolean>;
2173
+ }, z.core.$strip>>>;
2174
+ data: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
2175
+ working: z.ZodOptional<z.ZodString>;
2176
+ }, z.core.$strip>, z.ZodObject<{
2177
+ id: z.ZodString;
2178
+ title: z.ZodString;
2179
+ description: z.ZodOptional<z.ZodString>;
2180
+ next: z.ZodOptional<z.ZodArray<z.ZodObject<{
2181
+ when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
2182
+ field: z.ZodString;
2183
+ op: z.ZodEnum<{
2184
+ contains: "contains";
2185
+ empty: "empty";
2186
+ equals: "equals";
2187
+ gt: "gt";
2188
+ in: "in";
2189
+ lt: "lt";
2190
+ notEmpty: "notEmpty";
2191
+ notEquals: "notEquals";
2192
+ }>;
2193
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2194
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
2195
+ field: z.ZodString;
2196
+ op: z.ZodEnum<{
2197
+ contains: "contains";
2198
+ empty: "empty";
2199
+ equals: "equals";
2200
+ gt: "gt";
2201
+ in: "in";
2202
+ lt: "lt";
2203
+ notEmpty: "notEmpty";
2204
+ notEquals: "notEquals";
2205
+ }>;
2206
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2207
+ }, z.core.$strip>>]>>;
2208
+ ask: z.ZodOptional<z.ZodString>;
2209
+ goto: z.ZodString;
2210
+ max: z.ZodOptional<z.ZodNumber>;
2211
+ }, z.core.$strip>>>;
2212
+ type: z.ZodLiteral<"film">;
2213
+ brief: z.ZodString;
2214
+ skills: z.ZodDefault<z.ZodArray<z.ZodString>>;
2215
+ kit: z.ZodOptional<z.ZodString>;
2216
+ inputs: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
2217
+ format: z.ZodDefault<z.ZodEnum<{
2218
+ "16:9": "16:9";
2219
+ "1:1": "1:1";
2220
+ "9:16": "9:16";
2221
+ }>>;
2222
+ from: z.ZodOptional<z.ZodString>;
2223
+ seconds: z.ZodOptional<z.ZodNumber>;
2224
+ model: z.ZodOptional<z.ZodEnum<{
2225
+ classifier: "classifier";
2226
+ high: "high";
2227
+ low: "low";
2228
+ standard: "standard";
2229
+ }>>;
2230
+ effort: z.ZodOptional<z.ZodEnum<{
2231
+ high: "high";
2232
+ low: "low";
2233
+ medium: "medium";
2234
+ }>>;
2235
+ working: z.ZodOptional<z.ZodString>;
2236
+ }, z.core.$strip>, z.ZodObject<{
2237
+ id: z.ZodString;
2238
+ title: z.ZodString;
2239
+ description: z.ZodOptional<z.ZodString>;
2240
+ next: z.ZodOptional<z.ZodArray<z.ZodObject<{
2241
+ when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
2242
+ field: z.ZodString;
2243
+ op: z.ZodEnum<{
2244
+ contains: "contains";
2245
+ empty: "empty";
2246
+ equals: "equals";
2247
+ gt: "gt";
2248
+ in: "in";
2249
+ lt: "lt";
2250
+ notEmpty: "notEmpty";
2251
+ notEquals: "notEquals";
2252
+ }>;
2253
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2254
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
2255
+ field: z.ZodString;
2256
+ op: z.ZodEnum<{
2257
+ contains: "contains";
2258
+ empty: "empty";
2259
+ equals: "equals";
2260
+ gt: "gt";
2261
+ in: "in";
2262
+ lt: "lt";
2263
+ notEmpty: "notEmpty";
2264
+ notEquals: "notEquals";
2265
+ }>;
2266
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2267
+ }, z.core.$strip>>]>>;
2268
+ ask: z.ZodOptional<z.ZodString>;
2269
+ goto: z.ZodString;
2270
+ max: z.ZodOptional<z.ZodNumber>;
2271
+ }, z.core.$strip>>>;
2272
+ type: z.ZodLiteral<"review">;
2273
+ show: z.ZodArray<z.ZodString>;
2274
+ edit: z.ZodOptional<z.ZodBoolean>;
2275
+ regenerate: z.ZodOptional<z.ZodBoolean>;
2276
+ }, z.core.$strip>, z.ZodObject<{
2277
+ id: z.ZodString;
2278
+ title: z.ZodString;
2279
+ description: z.ZodOptional<z.ZodString>;
2280
+ next: z.ZodOptional<z.ZodArray<z.ZodObject<{
2281
+ when: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
2282
+ field: z.ZodString;
2283
+ op: z.ZodEnum<{
2284
+ contains: "contains";
2285
+ empty: "empty";
2286
+ equals: "equals";
2287
+ gt: "gt";
2288
+ in: "in";
2289
+ lt: "lt";
2290
+ notEmpty: "notEmpty";
2291
+ notEquals: "notEquals";
2292
+ }>;
2293
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2294
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
2295
+ field: z.ZodString;
2296
+ op: z.ZodEnum<{
2297
+ contains: "contains";
2298
+ empty: "empty";
2299
+ equals: "equals";
2300
+ gt: "gt";
2301
+ in: "in";
2302
+ lt: "lt";
2303
+ notEmpty: "notEmpty";
2304
+ notEquals: "notEquals";
2305
+ }>;
2306
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
2307
+ }, z.core.$strip>>]>>;
2308
+ ask: z.ZodOptional<z.ZodString>;
2309
+ goto: z.ZodString;
2310
+ max: z.ZodOptional<z.ZodNumber>;
2311
+ }, z.core.$strip>>>;
2312
+ type: z.ZodLiteral<"result">;
2313
+ message: z.ZodOptional<z.ZodString>;
2314
+ deliverables: z.ZodArray<z.ZodObject<{
2315
+ from: z.ZodString;
2316
+ label: z.ZodOptional<z.ZodString>;
2317
+ formats: z.ZodArray<z.ZodEnum<{
2318
+ csv: "csv";
2319
+ docx: "docx";
2320
+ html: "html";
2321
+ json: "json";
2322
+ md: "md";
2323
+ mp3: "mp3";
2324
+ mp4: "mp4";
2325
+ pdf: "pdf";
2326
+ png: "png";
2327
+ txt: "txt";
2328
+ xlsx: "xlsx";
2329
+ zip: "zip";
2330
+ }>>;
2331
+ }, z.core.$strip>>;
2332
+ share: z.ZodOptional<z.ZodArray<z.ZodObject<{
2333
+ target: z.ZodString;
2334
+ label: z.ZodOptional<z.ZodString>;
2335
+ values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2336
+ }, z.core.$strip>>>;
2337
+ }, z.core.$strip>], "type">;
2338
+
2339
+ /** What a run shows: the components and the data they are bound to. */
2340
+ declare interface Surface {
2341
+ components: SurfaceComponent[];
2342
+ data: Record<string, unknown>;
2343
+ }
2344
+
2345
+ declare type SurfaceComponent = z.infer<typeof surfaceComponentSchema>;
2346
+
2347
+ /** One component: its id, its kind, its children (ids, or a template repeated over an array). */
2348
+ declare const surfaceComponentSchema: z.ZodObject<{
2349
+ id: z.ZodString;
2350
+ component: z.ZodEnum<{
2351
+ Actions: "Actions";
2352
+ Badge: "Badge";
2353
+ BarChart: "BarChart";
2354
+ Button: "Button";
2355
+ Callout: "Callout";
2356
+ Card: "Card";
2357
+ Checklist: "Checklist";
2358
+ Chips: "Chips";
2359
+ Column: "Column";
2360
+ DetailGrid: "DetailGrid";
2361
+ DonutChart: "DonutChart";
2362
+ Fold: "Fold";
2363
+ Grid: "Grid";
2364
+ Group: "Group";
2365
+ Image: "Image";
2366
+ LineChart: "LineChart";
2367
+ Link: "Link";
2368
+ List: "List";
2369
+ Metric: "Metric";
2370
+ Row: "Row";
2371
+ Steps: "Steps";
2372
+ Table: "Table";
2373
+ Tabs: "Tabs";
2374
+ Text: "Text";
2375
+ }>;
2376
+ children: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{
2377
+ path: z.ZodString;
2378
+ componentId: z.ZodString;
2379
+ }, z.core.$strip>]>>;
2380
+ }, z.core.$loose>;
2381
+
2382
+ declare type TableColumn = z.infer<typeof tableColumnSchema>;
2383
+
2384
+ declare const tableColumnSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
2385
+ description: z.ZodOptional<z.ZodString>;
2386
+ edit: z.ZodOptional<z.ZodEnum<{
2387
+ inline: "inline";
2388
+ popout: "popout";
2389
+ }>>;
2390
+ id: z.ZodString;
2391
+ name: z.ZodString;
2392
+ required: z.ZodOptional<z.ZodBoolean>;
2393
+ format: z.ZodOptional<z.ZodObject<{
2394
+ style: z.ZodDefault<z.ZodEnum<{
2395
+ markdown: "markdown";
2396
+ multiline: "multiline";
2397
+ single: "single";
2398
+ }>>;
2399
+ }, z.core.$strip>>;
2400
+ type: z.ZodLiteral<"text">;
2401
+ }, z.core.$strip>, z.ZodObject<{
2402
+ description: z.ZodOptional<z.ZodString>;
2403
+ edit: z.ZodOptional<z.ZodEnum<{
2404
+ inline: "inline";
2405
+ popout: "popout";
2406
+ }>>;
2407
+ id: z.ZodString;
2408
+ name: z.ZodString;
2409
+ required: z.ZodOptional<z.ZodBoolean>;
2410
+ format: z.ZodObject<{
2411
+ currency: z.ZodOptional<z.ZodString>;
2412
+ fractionDigits: z.ZodOptional<z.ZodNumber>;
2413
+ grouping: z.ZodOptional<z.ZodBoolean>;
2414
+ style: z.ZodEnum<{
2415
+ currency: "currency";
2416
+ decimal: "decimal";
2417
+ integer: "integer";
2418
+ percent: "percent";
2419
+ }>;
2420
+ }, z.core.$strip>;
2421
+ type: z.ZodLiteral<"number">;
2422
+ }, z.core.$strip>, z.ZodObject<{
2423
+ description: z.ZodOptional<z.ZodString>;
2424
+ edit: z.ZodOptional<z.ZodEnum<{
2425
+ inline: "inline";
2426
+ popout: "popout";
2427
+ }>>;
2428
+ id: z.ZodString;
2429
+ name: z.ZodString;
2430
+ required: z.ZodOptional<z.ZodBoolean>;
2431
+ format: z.ZodObject<{
2432
+ dateStyle: z.ZodOptional<z.ZodEnum<{
2433
+ iso: "iso";
2434
+ long: "long";
2435
+ medium: "medium";
2436
+ short: "short";
2437
+ }>>;
2438
+ kind: z.ZodEnum<{
2439
+ date: "date";
2440
+ datetime: "datetime";
2441
+ time: "time";
2442
+ }>;
2443
+ timePrecision: z.ZodOptional<z.ZodEnum<{
2444
+ hours: "hours";
2445
+ minutes: "minutes";
2446
+ seconds: "seconds";
2447
+ }>>;
2448
+ }, z.core.$strip>;
2449
+ type: z.ZodLiteral<"date">;
2450
+ }, z.core.$strip>, z.ZodObject<{
2451
+ description: z.ZodOptional<z.ZodString>;
2452
+ edit: z.ZodOptional<z.ZodEnum<{
2453
+ inline: "inline";
2454
+ popout: "popout";
2455
+ }>>;
2456
+ id: z.ZodString;
2457
+ name: z.ZodString;
2458
+ required: z.ZodOptional<z.ZodBoolean>;
2459
+ format: z.ZodObject<{
2460
+ display: z.ZodEnum<{
2461
+ "decimal-hours": "decimal-hours";
2462
+ hms: "hms";
2463
+ hours: "hours";
2464
+ iso: "iso";
2465
+ minutes: "minutes";
2466
+ }>;
2467
+ inputUnit: z.ZodEnum<{
2468
+ days: "days";
2469
+ hours: "hours";
2470
+ milliseconds: "milliseconds";
2471
+ minutes: "minutes";
2472
+ seconds: "seconds";
2473
+ }>;
2474
+ }, z.core.$strip>;
2475
+ type: z.ZodLiteral<"duration">;
2476
+ }, z.core.$strip>, z.ZodObject<{
2477
+ description: z.ZodOptional<z.ZodString>;
2478
+ edit: z.ZodOptional<z.ZodEnum<{
2479
+ inline: "inline";
2480
+ popout: "popout";
2481
+ }>>;
2482
+ id: z.ZodString;
2483
+ name: z.ZodString;
2484
+ required: z.ZodOptional<z.ZodBoolean>;
2485
+ format: z.ZodObject<{
2486
+ allowCustom: z.ZodBoolean;
2487
+ multiple: z.ZodOptional<z.ZodBoolean>;
2488
+ options: z.ZodArray<z.ZodObject<{
2489
+ id: z.ZodString;
2490
+ label: z.ZodString;
2607
2491
  }, z.core.$strip>>;
2608
- share: z.ZodOptional<z.ZodArray<z.ZodObject<{
2609
- target: z.ZodString;
2610
- label: z.ZodOptional<z.ZodString>;
2611
- values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2612
- }, z.core.$strip>>>;
2613
- }, z.core.$strip>], "type">>;
2492
+ }, z.core.$strip>;
2493
+ type: z.ZodLiteral<"select">;
2494
+ }, z.core.$strip>, z.ZodObject<{
2495
+ description: z.ZodOptional<z.ZodString>;
2496
+ edit: z.ZodOptional<z.ZodEnum<{
2497
+ inline: "inline";
2498
+ popout: "popout";
2499
+ }>>;
2500
+ id: z.ZodString;
2501
+ name: z.ZodString;
2502
+ required: z.ZodOptional<z.ZodBoolean>;
2503
+ type: z.ZodLiteral<"boolean">;
2504
+ }, z.core.$strip>], "type">;
2505
+
2506
+ /** `fields` only: rows of text or numbers; without columns the model picks them. */
2507
+ declare type TableShape = Named & {
2508
+ kind: "table";
2509
+ columns?: string[];
2510
+ };
2511
+
2512
+ declare type TextShape = Named & {
2513
+ kind: "text";
2514
+ long?: boolean;
2515
+ };
2516
+
2517
+ declare type ThemeColours = z.infer<typeof themeColoursSchema>;
2518
+
2519
+ declare const themeColoursSchema: z.ZodObject<{
2520
+ accent: z.ZodOptional<z.ZodString>;
2521
+ background: z.ZodOptional<z.ZodString>;
2522
+ text: z.ZodOptional<z.ZodString>;
2523
+ }, z.core.$strip>;
2524
+
2525
+ declare type ThemeEffect = z.infer<typeof themeEffectSchema>;
2526
+
2527
+ declare const themeEffectSchema: z.ZodObject<{
2528
+ id: z.ZodString;
2529
+ }, z.core.$catchall<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
2530
+
2531
+ declare type ThemeShape = z.infer<typeof themeShapeSchema>;
2532
+
2533
+ declare const themeShapeSchema: z.ZodObject<{
2534
+ radius: z.ZodOptional<z.ZodEnum<{
2535
+ round: "round";
2536
+ sharp: "sharp";
2537
+ soft: "soft";
2538
+ }>>;
2539
+ cards: z.ZodOptional<z.ZodEnum<{
2540
+ glass: "glass";
2541
+ outline: "outline";
2542
+ solid: "solid";
2543
+ }>>;
2544
+ headings: z.ZodOptional<z.ZodEnum<{
2545
+ normal: "normal";
2546
+ uppercase: "uppercase";
2547
+ }>>;
2548
+ }, z.core.$strip>;
2549
+
2550
+ /**
2551
+ * One run, live: the runtime's stream of the whole view, plus the commands a person gives. The
2552
+ * same as the studio's `useRun` (apps/web/src/runner/useRun.ts), on the runner's own client, so
2553
+ * it talks to whichever runtime `configureWizards` named. `prefill` starts a page's fields with
2554
+ * answers the chat already knows; the person still sees and sends the page.
2555
+ */
2556
+ export declare function useWizardRun(runId: string | null, prefill: Record<string, unknown> | undefined): RunSource;
2557
+
2558
+ /** The component an OpenUI library gets: `Wizard("<token>", "<note>", {prefill})`. */
2559
+ export declare const Wizard: DefinedComponent<ZodObject< {
2560
+ wizard: ZodString;
2561
+ note: ZodOptional<ZodString>;
2562
+ prefill: ZodOptional<ZodRecord<ZodString, ZodUnknown>>;
2563
+ }, $strip>>;
2564
+
2565
+ /**
2566
+ * The model's half of the Wizard component: its props, its description and the rules a system
2567
+ * prompt gets. Nothing here draws, so a chat server builds its prompt from this file alone.
2568
+ */
2569
+ export declare const WIZARD_COMPONENT = "Wizard";
2570
+
2571
+ export declare const WIZARD_DESCRIPTION = "Runs a predefined wizard inline: its pages, AI steps, review and result, exactly as its author defined them. Use it whenever a listed wizard fits the request; never rebuild a wizard's pages with Form components.";
2572
+
2573
+ declare type WizardDefinition = z.infer<typeof currentWizardSchema>;
2574
+
2575
+ /** A wizard as the chat server lists it to the model. */
2576
+ export declare interface WizardInfo {
2577
+ token: string;
2578
+ title: string;
2579
+ description: string;
2580
+ fields: PublicField[];
2581
+ }
2582
+
2583
+ /**
2584
+ * A theme's values as props for the runner's element: colours, fonts by family and the corner
2585
+ * radius as `--wizard-*` variables, how cards and headings look as data attributes, and of the
2586
+ * effects only those the host turns on and the card can draw. A brand font with a source names
2587
+ * the shipped font of its kind next, which shows where it does not load (`loadLookFonts`).
2588
+ */
2589
+ export declare function wizardLook(look: RunTheme, options?: WizardLookOptions): WizardLookProps;
2590
+
2591
+ export declare interface WizardLookOptions {
2592
+ /** Light or dark, as the host shows; else what the theme prefers. A theme with only one keeps it. */
2593
+ mode?: "light" | "dark";
2594
+ /** The effects the host turns on (`CARD_EFFECTS`); none unless given. */
2595
+ effects?: readonly string[];
2596
+ }
2597
+
2598
+ /** What goes on the element with `.engenty-runner`: CSS variables and data attributes. */
2599
+ export declare interface WizardLookProps {
2600
+ style: Record<string, string>;
2601
+ "data-cards"?: string;
2602
+ "data-headings"?: string;
2603
+ "data-effects"?: string;
2604
+ }
2605
+
2606
+ export declare type WizardProps = z.infer<typeof wizardProps>;
2607
+
2608
+ export declare const wizardProps: z.ZodObject<{
2609
+ wizard: z.ZodString;
2610
+ note: z.ZodOptional<z.ZodString>;
2611
+ prefill: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2614
2612
  }, z.core.$strip>;
2615
2613
 
2614
+ /** The rules a system prompt adds for the Wizard component: when to use it and which wizards exist. */
2615
+ export declare function wizardRules(wizards: WizardInfo[]): string[];
2616
+
2616
2617
  export declare interface WizardsConfig {
2617
2618
  /**
2618
2619
  * Where the runtime answers, as the browser reaches it: a path the host proxies to it