wizards 0.5.7 → 0.5.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/runtime/dist/agents/architect.js +13 -26
- package/apps/runtime/dist/agents/studio-assistant.js +19 -22
- package/apps/runtime/dist/agents/subscription.js +10 -9
- package/apps/runtime/dist/app.js +6 -6
- package/apps/runtime/dist/assistant/knows.js +10 -9
- package/apps/runtime/dist/connectors/external.js +3 -3
- package/apps/runtime/dist/connectors/index.js +23 -23
- package/apps/runtime/dist/connectors/via-account.js +6 -6
- package/apps/runtime/dist/documents/parse.js +3 -3
- package/apps/runtime/dist/engine/input.js +11 -11
- package/apps/runtime/dist/engine/requirements.js +7 -8
- package/apps/runtime/dist/engine/runner.js +10 -14
- package/apps/runtime/dist/engine/steps.js +6 -6
- package/apps/runtime/dist/engine/surface.js +2 -2
- package/apps/runtime/dist/film/step.js +5 -5
- package/apps/runtime/dist/harness/apple.js +2 -1
- package/apps/runtime/dist/harness/claude.js +2 -2
- package/apps/runtime/dist/harness/codex.js +2 -2
- package/apps/runtime/dist/harness/model.js +4 -5
- package/apps/runtime/dist/harness/terminal.js +4 -4
- package/apps/runtime/dist/media/conversation.js +18 -35
- package/apps/runtime/dist/media/transcribe.js +2 -1
- package/apps/runtime/dist/model-errors.js +1 -1
- package/apps/runtime/dist/models.js +32 -40
- package/apps/runtime/dist/plugins/runs.js +3 -5
- package/apps/runtime/dist/routes/api.js +9 -9
- package/apps/runtime/dist/routes/lang.js +14 -9
- package/apps/runtime/dist/routes/runs.js +5 -5
- package/apps/runtime/dist/routes/studio.js +38 -37
- package/apps/runtime/dist/services/access.js +4 -4
- package/apps/runtime/dist/services/architect.js +3 -12
- package/apps/runtime/dist/services/assistant-chats.js +2 -2
- package/apps/runtime/dist/services/brand.js +3 -3
- package/apps/runtime/dist/services/cloud.js +5 -5
- package/apps/runtime/dist/services/errors.js +2 -2
- package/apps/runtime/dist/services/knowledge-model.js +3 -3
- package/apps/runtime/dist/services/marketplace.js +3 -3
- package/apps/runtime/dist/services/package-file.js +9 -11
- package/apps/runtime/dist/services/package.js +8 -9
- package/apps/runtime/dist/services/profile.js +2 -1
- package/apps/runtime/dist/services/project-files.js +13 -13
- package/apps/runtime/dist/services/projects.js +7 -11
- package/apps/runtime/dist/services/runners.js +4 -4
- package/apps/runtime/dist/services/runs.js +7 -10
- package/apps/runtime/dist/services/shares.js +2 -2
- package/apps/runtime/dist/services/site.js +8 -11
- package/apps/runtime/dist/services/space-categories.js +7 -7
- package/apps/runtime/dist/services/space-data.js +20 -20
- package/apps/runtime/dist/services/spaces.js +7 -9
- package/apps/runtime/dist/services/wizards.js +11 -13
- package/apps/runtime/dist/store/index.js +2 -2
- package/apps/runtime/dist/texts.js +195 -0
- package/apps/runtime/dist/tools/plugin.js +7 -3
- package/apps/runtime/dist/widgets/step.js +2 -2
- package/apps/web/dist/assets/AboutDialog-CpI-cGpz.js +1 -0
- package/apps/web/dist/assets/{ChangelogDialog-rAtYZjxz.js → ChangelogDialog-BW56Y5UR.js} +1 -1
- package/apps/web/dist/assets/ChatView-CH8U-tRy.js +10 -0
- package/apps/web/dist/assets/EditorPage-Be5J_y4F.js +3 -0
- package/apps/web/dist/assets/{FlowPreview--3-yI51e.js → FlowPreview-CzmH4JUQ.js} +1 -1
- package/apps/web/dist/assets/{Harness-B9tvFe0U.js → Harness-CJKWO3AK.js} +2 -2
- package/apps/web/dist/assets/{NewWizardChannels-BxrBhC9U.js → NewWizardChannels-Ca2niMTY.js} +1 -1
- package/apps/web/dist/assets/NewWizardPage-D5gi4TYE.js +7 -0
- package/apps/web/dist/assets/{OnboardingPage-DPdH9sSj.js → OnboardingPage-Bm-c-D21.js} +1 -1
- package/apps/web/dist/assets/ProjectPage-C8nJCBZP.js +1 -0
- package/apps/web/dist/assets/{PublicRunner-Bv3TMKw4.js → PublicRunner-anxg3Rxz.js} +1 -1
- package/apps/web/dist/assets/{ReadOnly-CmqIrOAR.js → ReadOnly-i-6WBMSE.js} +1 -1
- package/apps/web/dist/assets/RunDrawer-4yvfW_2c.js +4 -0
- package/apps/web/dist/assets/{RunnerView-Cd1VAlIA.js → RunnerView-BkWQBa_M.js} +1 -1
- package/apps/web/dist/assets/SettingsPage-NL8r9S6R.js +1 -0
- package/apps/web/dist/assets/SetupPage-Crcfx4-p.js +1 -0
- package/apps/web/dist/assets/{SharePage-BT80wI1I.js → SharePage-CDEAtmBC.js} +1 -1
- package/apps/web/dist/assets/changelog-BGBuldNF.js +1 -0
- package/apps/web/dist/assets/{esm-BTVd6EFo.js → esm-BF1nonbH.js} +1 -1
- package/apps/web/dist/assets/index-C74LSJ-W.js +14 -0
- package/apps/web/dist/assets/{lock-ByHFI96G.js → lock-DVvM6IsA.js} +1 -1
- package/apps/web/dist/assets/{phone-KPwxAM1R.js → phone-3fG1okFs.js} +1 -1
- package/apps/web/dist/assets/{settings-menu-K5bg3QE3.js → settings-menu-D9fbi1Z0.js} +1 -1
- package/apps/web/dist/assets/ui-EuR3jezP.js +134 -0
- package/apps/web/dist/assets/{upload-BsIL8tNR.js → upload-BsMUhEfX.js} +1 -1
- package/apps/web/dist/index.html +2 -2
- package/apps/web/dist/mcp/flow.html +77 -77
- package/bin/wizards.mjs +15 -2
- package/node_modules/@engenty-wizards/shared/dist/definition.d.ts +26 -9
- package/node_modules/@engenty-wizards/shared/dist/definition.js +125 -3
- package/node_modules/@engenty-wizards/shared/dist/marketplace-entry.d.ts +1 -1
- package/node_modules/@engenty-wizards/shared/dist/marketplace-entry.js +9 -8
- package/node_modules/@engenty-wizards/shared/dist/marketplace-search.js +6 -6
- package/node_modules/@engenty-wizards/shared/dist/marketplace.d.ts +78 -205
- package/node_modules/@engenty-wizards/shared/dist/marketplace.js +167 -68
- package/node_modules/@engenty-wizards/shared/dist/projects.d.ts +3 -6
- package/node_modules/@engenty-wizards/shared/dist/projects.js +9 -9
- package/node_modules/@engenty-wizards/shared/dist/providers.d.ts +33 -7
- package/node_modules/@engenty-wizards/shared/dist/providers.js +88 -37
- package/node_modules/@engenty-wizards/shared/dist/run.d.ts +298 -365
- package/node_modules/@engenty-wizards/shared/dist/run.js +582 -240
- package/node_modules/@engenty-wizards/shared/dist/texts.d.ts +36 -0
- package/node_modules/@engenty-wizards/shared/dist/texts.js +46 -0
- package/package.json +5 -1
- package/apps/web/dist/assets/AboutDialog-t9bayaIs.js +0 -1
- package/apps/web/dist/assets/ChatView-C3VqLT98.js +0 -10
- package/apps/web/dist/assets/EditorPage-D3Ef24b9.js +0 -3
- package/apps/web/dist/assets/NewWizardPage-C1_hsQPr.js +0 -7
- package/apps/web/dist/assets/ProjectPage-P40R1cPE.js +0 -1
- package/apps/web/dist/assets/RunDrawer-9qG1G-OY.js +0 -4
- package/apps/web/dist/assets/SettingsPage-DFz4UMfo.js +0 -1
- package/apps/web/dist/assets/SetupPage-B0UBNMB9.js +0 -1
- package/apps/web/dist/assets/changelog-BpSBMjpm.js +0 -1
- package/apps/web/dist/assets/index-D8vwgldH.js +0 -14
- package/apps/web/dist/assets/ui-4bQx9I1f.js +0 -134
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { CardOption, Format, ModelClass, Step, WizardDefinition } from "./definition.js";
|
|
1
|
+
import type { CardOption, Format, Lang, ModelClass, Step, WizardDefinition } from "./definition.js";
|
|
2
2
|
import type { ConnectionView, ListDef, ListRow } from "./store.js";
|
|
3
3
|
import type { Surface } from "./surface.js";
|
|
4
|
+
import { type Gap, type Texts } from "./texts.js";
|
|
4
5
|
export type RunStatus = "waiting_input" | "running" | "done" | "failed" | "cancelled";
|
|
5
6
|
export interface AssetRef {
|
|
6
7
|
id: string;
|
|
@@ -158,382 +159,314 @@ export interface ShownList {
|
|
|
158
159
|
* answers to the person running a shared wizard (a refusal, a failure) are notes too: it answers
|
|
159
160
|
* them in the wizard's language.
|
|
160
161
|
*/
|
|
161
|
-
|
|
162
|
-
readonly
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
};
|
|
166
|
-
readonly
|
|
167
|
-
|
|
168
|
-
readonly en: "Entry {n} of {total}";
|
|
169
|
-
};
|
|
170
|
-
readonly deciding: {
|
|
171
|
-
readonly de: "Entscheidet, wie es weitergeht …";
|
|
172
|
-
readonly en: "Deciding what to do next…";
|
|
173
|
-
};
|
|
174
|
-
readonly choosingFields: {
|
|
175
|
-
readonly de: "Wählt die passenden Fragen …";
|
|
176
|
-
readonly en: "Choosing the right questions…";
|
|
177
|
-
};
|
|
178
|
-
readonly batchDone: {
|
|
179
|
-
readonly de: "{done} von {total} fertig";
|
|
180
|
-
readonly en: "{done} of {total} done";
|
|
181
|
-
};
|
|
182
|
-
readonly editing: {
|
|
183
|
-
readonly de: "Bearbeitet {n} von {total}";
|
|
184
|
-
readonly en: "Editing {n} of {total}";
|
|
185
|
-
};
|
|
186
|
-
readonly filming: {
|
|
187
|
-
readonly de: "Dreht {n} von {total}";
|
|
188
|
-
readonly en: "Filming {n} of {total}";
|
|
189
|
-
};
|
|
162
|
+
declare const NOTES_EN: {
|
|
163
|
+
readonly entry: "Entry {n} of {total}";
|
|
164
|
+
readonly deciding: "Deciding what to do next…";
|
|
165
|
+
readonly choosingFields: "Choosing the right questions…";
|
|
166
|
+
readonly batchDone: "{done} of {total} done";
|
|
167
|
+
readonly editing: "Editing {n} of {total}";
|
|
168
|
+
readonly filming: "Filming {n} of {total}";
|
|
190
169
|
readonly clipsRendering: {
|
|
191
|
-
readonly
|
|
192
|
-
readonly
|
|
193
|
-
};
|
|
194
|
-
readonly videoRendering:
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
};
|
|
198
|
-
readonly
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
};
|
|
202
|
-
readonly
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
};
|
|
206
|
-
readonly listenFailed: {
|
|
207
|
-
readonly de: "„{label}“ konnte nicht verschriftlicht werden.";
|
|
208
|
-
readonly en: "“{label}” couldn’t be transcribed.";
|
|
209
|
-
};
|
|
210
|
-
readonly filmCutting: {
|
|
211
|
-
readonly de: "Der Film wird geschnitten – das dauert etwa eine Minute.";
|
|
212
|
-
readonly en: "Cutting the film – this takes about a minute.";
|
|
213
|
-
};
|
|
214
|
-
readonly filmProgress: {
|
|
215
|
-
readonly de: "{pct} % geschnitten";
|
|
216
|
-
readonly en: "{pct} % cut";
|
|
217
|
-
};
|
|
218
|
-
readonly filmError: {
|
|
219
|
-
readonly de: "Der Film meldet: {detail}";
|
|
220
|
-
readonly en: "The film reports: {detail}";
|
|
221
|
-
};
|
|
222
|
-
readonly widgetError: {
|
|
223
|
-
readonly de: "Das Widget meldet einen Fehler: {detail}";
|
|
224
|
-
readonly en: "The widget reports an error: {detail}";
|
|
225
|
-
};
|
|
226
|
-
readonly mcpConnected: {
|
|
227
|
-
readonly de: "Verbunden mit {names}";
|
|
228
|
-
readonly en: "Connected to {names}";
|
|
229
|
-
};
|
|
230
|
-
readonly mcpUnreachable: {
|
|
231
|
-
readonly de: "MCP-Server nicht erreichbar: {detail}";
|
|
232
|
-
readonly en: "MCP server unreachable: {detail}";
|
|
233
|
-
};
|
|
234
|
-
readonly reads: {
|
|
235
|
-
readonly de: "Liest {name}";
|
|
236
|
-
readonly en: "Reading {name}";
|
|
237
|
-
};
|
|
170
|
+
readonly one: "Rendering {count} clip – this takes a few minutes.";
|
|
171
|
+
readonly other: "Rendering {count} clips – this takes a few minutes.";
|
|
172
|
+
};
|
|
173
|
+
readonly videoRendering: "Rendering the video – this usually takes 1–3 minutes.";
|
|
174
|
+
readonly photo: "Looking at photo {n} of {total}";
|
|
175
|
+
readonly listen: "Listening to “{label}”…";
|
|
176
|
+
readonly listenFailed: "“{label}” couldn’t be transcribed.";
|
|
177
|
+
readonly filmCutting: "Cutting the film – this takes about a minute.";
|
|
178
|
+
readonly filmProgress: "{pct} % cut";
|
|
179
|
+
readonly filmError: "The film reports: {detail}";
|
|
180
|
+
readonly widgetError: "The widget reports an error: {detail}";
|
|
181
|
+
readonly mcpConnected: "Connected to {names}";
|
|
182
|
+
readonly mcpUnreachable: "MCP server unreachable: {detail}";
|
|
183
|
+
readonly reads: "Reading {name}";
|
|
238
184
|
readonly readsMany: {
|
|
239
|
-
readonly
|
|
240
|
-
readonly
|
|
241
|
-
};
|
|
242
|
-
readonly opens: {
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
readonly
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
};
|
|
250
|
-
readonly
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
readonly
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
};
|
|
258
|
-
readonly
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
};
|
|
262
|
-
readonly
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
};
|
|
266
|
-
readonly scrolls: {
|
|
267
|
-
readonly de: "Scrollt";
|
|
268
|
-
readonly en: "Scrolling";
|
|
269
|
-
};
|
|
270
|
-
readonly presses: {
|
|
271
|
-
readonly de: "Drückt {key}";
|
|
272
|
-
readonly en: "Pressing {key}";
|
|
273
|
-
};
|
|
274
|
-
readonly goesBack: {
|
|
275
|
-
readonly de: "Geht eine Seite zurück";
|
|
276
|
-
readonly en: "Going back a page";
|
|
277
|
-
};
|
|
278
|
-
readonly waitsForPage: {
|
|
279
|
-
readonly de: "Wartet auf die Seite";
|
|
280
|
-
readonly en: "Waiting for the page";
|
|
281
|
-
};
|
|
282
|
-
readonly fastLoop: {
|
|
283
|
-
readonly de: "Erledigt im Browser: {goal}";
|
|
284
|
-
readonly en: "Doing in the browser: {goal}";
|
|
285
|
-
};
|
|
286
|
-
readonly personDrives: {
|
|
287
|
-
readonly de: "Du steuerst den Browser – der Wizard wartet";
|
|
288
|
-
readonly en: "You’re driving the browser – the wizard waits";
|
|
289
|
-
};
|
|
290
|
-
readonly agentDrives: {
|
|
291
|
-
readonly de: "Der Wizard macht im Browser weiter";
|
|
292
|
-
readonly en: "The wizard carries on in the browser";
|
|
293
|
-
};
|
|
294
|
-
readonly looksAtPage: {
|
|
295
|
-
readonly de: "Sieht sich die Seite an";
|
|
296
|
-
readonly en: "Looking at the page";
|
|
297
|
-
};
|
|
298
|
-
readonly waitsForSignIn: {
|
|
299
|
-
readonly de: "Wartet auf deine Anmeldung bei {name}";
|
|
300
|
-
readonly en: "Waiting for you to sign in to {name}";
|
|
301
|
-
};
|
|
302
|
-
readonly downloads: {
|
|
303
|
-
readonly de: "Lädt {name} herunter";
|
|
304
|
-
readonly en: "Downloading {name}";
|
|
305
|
-
};
|
|
306
|
-
readonly runs: {
|
|
307
|
-
readonly de: "Führt aus: {command}";
|
|
308
|
-
readonly en: "Running: {command}";
|
|
309
|
-
};
|
|
310
|
-
readonly python: {
|
|
311
|
-
readonly de: "Führt Python aus";
|
|
312
|
-
readonly en: "Running Python";
|
|
313
|
-
};
|
|
314
|
-
readonly drawing: {
|
|
315
|
-
readonly de: "Zeichnet ein Bild";
|
|
316
|
-
readonly en: "Drawing an image";
|
|
317
|
-
};
|
|
318
|
-
readonly writesPage: {
|
|
319
|
-
readonly de: "Schreibt die Seite „{title}“";
|
|
320
|
-
readonly en: "Writing the page “{title}”";
|
|
321
|
-
};
|
|
322
|
-
readonly searchesDocuments: {
|
|
323
|
-
readonly de: "Sucht in den Dokumenten: {query}";
|
|
324
|
-
readonly en: "Searching the documents: {query}";
|
|
325
|
-
};
|
|
326
|
-
readonly searchesKnowledge: {
|
|
327
|
-
readonly de: "Sucht in Wissen: {query} – {relevant} von {candidates} passen";
|
|
328
|
-
readonly en: "Searching knowledge: {query} – {relevant} of {candidates} fit";
|
|
329
|
-
};
|
|
330
|
-
readonly listsKnowledge: {
|
|
331
|
-
readonly de: "Listet Wissen";
|
|
332
|
-
readonly en: "Listing knowledge";
|
|
333
|
-
};
|
|
334
|
-
readonly searchesMail: {
|
|
335
|
-
readonly de: "Durchsucht {label}";
|
|
336
|
-
readonly en: "Searching {label}";
|
|
337
|
-
};
|
|
185
|
+
readonly one: "Reading {count} document";
|
|
186
|
+
readonly other: "Reading {count} documents";
|
|
187
|
+
};
|
|
188
|
+
readonly opens: "Opening {name}";
|
|
189
|
+
readonly clicks: "Clicking in the browser";
|
|
190
|
+
readonly clicksOn: "Clicking “{name}”";
|
|
191
|
+
readonly types: "Typing in the browser";
|
|
192
|
+
readonly typesText: "Typing “{text}”";
|
|
193
|
+
readonly selects: "Choosing “{option}”";
|
|
194
|
+
readonly scrolls: "Scrolling";
|
|
195
|
+
readonly presses: "Pressing {key}";
|
|
196
|
+
readonly goesBack: "Going back a page";
|
|
197
|
+
readonly waitsForPage: "Waiting for the page";
|
|
198
|
+
readonly fastLoop: "Doing in the browser: {goal}";
|
|
199
|
+
readonly personDrives: "You’re driving the browser – the wizard waits";
|
|
200
|
+
readonly agentDrives: "The wizard carries on in the browser";
|
|
201
|
+
readonly looksAtPage: "Looking at the page";
|
|
202
|
+
readonly waitsForSignIn: "Waiting for you to sign in to {name}";
|
|
203
|
+
readonly downloads: "Downloading {name}";
|
|
204
|
+
readonly runs: "Running: {command}";
|
|
205
|
+
readonly python: "Running Python";
|
|
206
|
+
readonly drawing: "Drawing an image";
|
|
207
|
+
readonly writesPage: "Writing the page “{title}”";
|
|
208
|
+
readonly searchesDocuments: "Searching the documents: {query}";
|
|
209
|
+
readonly searchesKnowledge: "Searching knowledge: {query} – {relevant} of {candidates} fit";
|
|
210
|
+
readonly listsKnowledge: "Listing knowledge";
|
|
211
|
+
readonly searchesMail: "Searching {label}";
|
|
338
212
|
readonly savesReceipts: {
|
|
339
|
-
readonly
|
|
340
|
-
readonly
|
|
341
|
-
};
|
|
342
|
-
readonly remembers: {
|
|
343
|
-
readonly de: "Merkt sich {title}";
|
|
344
|
-
readonly en: "Remembering {title}";
|
|
213
|
+
readonly one: "Saving {count} receipt from {label}";
|
|
214
|
+
readonly other: "Saving {count} receipts from {label}";
|
|
345
215
|
};
|
|
216
|
+
readonly remembers: "Remembering {title}";
|
|
346
217
|
readonly files: {
|
|
347
|
-
readonly
|
|
348
|
-
readonly
|
|
349
|
-
};
|
|
350
|
-
readonly filmSetup:
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
readonly
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
readonly
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
readonly
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
readonly
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
readonly
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
readonly
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
readonly
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
readonly
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
readonly
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
};
|
|
390
|
-
readonly
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
};
|
|
394
|
-
readonly
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
};
|
|
398
|
-
readonly
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
readonly
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
};
|
|
406
|
-
readonly
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
readonly
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
readonly
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
readonly
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
readonly
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
};
|
|
426
|
-
readonly
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
readonly
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
readonly
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
readonly
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
readonly
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
readonly
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
readonly
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
readonly
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
readonly
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
readonly
|
|
468
|
-
|
|
469
|
-
};
|
|
470
|
-
readonly
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
readonly
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
readonly
|
|
479
|
-
|
|
480
|
-
readonly
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
readonly
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
readonly
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
readonly
|
|
499
|
-
readonly
|
|
500
|
-
readonly
|
|
501
|
-
};
|
|
502
|
-
readonly
|
|
503
|
-
readonly
|
|
504
|
-
readonly
|
|
505
|
-
};
|
|
506
|
-
readonly
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
};
|
|
510
|
-
readonly
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
readonly
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
readonly
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
218
|
+
readonly one: "Filing {count} file";
|
|
219
|
+
readonly other: "Filing {count} files";
|
|
220
|
+
};
|
|
221
|
+
readonly filmSetup: "Setting up the folder for the film";
|
|
222
|
+
readonly filmClient: "{client} is working on the film – this usually takes 10–40 minutes.";
|
|
223
|
+
readonly filmTask: "On the film: {task}";
|
|
224
|
+
readonly filmLooks: "Looking at frames of the film";
|
|
225
|
+
readonly filmFix: "The film didn’t render – Claude Code is fixing it";
|
|
226
|
+
readonly filmResume: "Picking the film up where it stopped";
|
|
227
|
+
readonly wizardUnavailable: "This wizard isn’t available right now.";
|
|
228
|
+
readonly wizardLimit: "This wizard has reached its limit for today. Try again tomorrow.";
|
|
229
|
+
readonly confirmHuman: "Confirm that you’re a person.";
|
|
230
|
+
readonly tooManyRuns: "You’ve started a lot of runs just now. Try again in an hour.";
|
|
231
|
+
readonly runOver: "The run is over.";
|
|
232
|
+
readonly runBusy: "The wizard is working right now.";
|
|
233
|
+
readonly pageOutdated: "This page is out of date.";
|
|
234
|
+
readonly noStepBefore: "There is no step before this one.";
|
|
235
|
+
readonly checkFields: "Check the marked fields.";
|
|
236
|
+
readonly talkOff: "Live conversations aren’t turned on for this wizard.";
|
|
237
|
+
readonly talkKeyRefused: "The conversation couldn’t start: the OpenAI API key was refused.";
|
|
238
|
+
readonly talkFailed: "The conversation couldn’t start ({status}).";
|
|
239
|
+
readonly talkNoSecret: "The conversation couldn’t start: no access key came back.";
|
|
240
|
+
readonly tryLater: "Try again later.";
|
|
241
|
+
readonly recordingTooLarge: "The recording can be 10 MB at most.";
|
|
242
|
+
readonly fileTooLarge: "Choose a file of {mb} MB or less.";
|
|
243
|
+
readonly askClosed: "This question is no longer open.";
|
|
244
|
+
readonly noBrowser: "The wizard has no browser open right now.";
|
|
245
|
+
readonly notWaiting: "The wizard isn’t waiting for you right now.";
|
|
246
|
+
readonly pageActFailed: "That didn’t work on the page.";
|
|
247
|
+
readonly linkGone: "This link has expired or was withdrawn.";
|
|
248
|
+
readonly connected: "Connected. You can close this window.";
|
|
249
|
+
readonly connectFailed: "Connecting didn’t work. Try again.";
|
|
250
|
+
readonly connectCancelled: "Connecting was cancelled.";
|
|
251
|
+
readonly appleOff: "Apple Intelligence is turned off on this Mac. Turn it on in System Settings → Apple Intelligence & Siri.";
|
|
252
|
+
readonly appleLoading: "Apple is still loading the model for Apple Intelligence onto this Mac. Try again in a moment.";
|
|
253
|
+
readonly appleMissing: "The helper for Apple Intelligence (wizards-apple) is missing from this install.";
|
|
254
|
+
readonly appleOs: "Apple Intelligence needs macOS 26 or later.";
|
|
255
|
+
readonly appleDevice: "Apple Intelligence only works on a Mac with Apple silicon.";
|
|
256
|
+
readonly appleBusy: "Apple Intelligence isn’t taking more requests right now. Try again in a moment.";
|
|
257
|
+
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.";
|
|
258
|
+
readonly appleRefused: "Apple Intelligence turned the request down: Apple’s content rules don’t allow it.";
|
|
259
|
+
readonly appleLanguage: "Apple Intelligence doesn’t understand the language of this request.";
|
|
260
|
+
readonly appleFormat: "Apple Intelligence can’t answer in this format: {detail}";
|
|
261
|
+
readonly appleFailed: "Apple Intelligence: {detail}";
|
|
262
|
+
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.";
|
|
263
|
+
readonly appleNotConverted: "Apple Intelligence couldn’t convert the recording: {detail}";
|
|
264
|
+
readonly connectorAlreadyExistsSpace: "The connector “{id}” already exists in this space.";
|
|
265
|
+
readonly connectorNotExist: "This connector doesn’t exist.";
|
|
266
|
+
readonly fieldMissing: "“{label}” is missing.";
|
|
267
|
+
readonly mailServerNotExist: "The mail server{host} doesn’t exist. Enter the IMAP server. For Gmail and Google Workspace, it’s imap.gmail.com.";
|
|
268
|
+
readonly mailServerNotResponding: "The mail server{host} isn’t responding. Check the IMAP server and port.";
|
|
269
|
+
readonly connectingNotWork: "Connecting didn’t work{host}: {detail}";
|
|
270
|
+
readonly connectEngentyAccountFirst: "Connect your engenty account first (Settings → Account). Then you can connect Google here.";
|
|
271
|
+
readonly engentyAccountNotReached: "Your engenty account can’t be reached right now. Try again later.";
|
|
272
|
+
readonly googleNoLongerAccepts: "Google no longer accepts this connection. Connect the account again.";
|
|
273
|
+
readonly googleNotConnectedThrough: "Google can’t be connected through your engenty account right now.";
|
|
274
|
+
readonly stepNeedsToolPlugin: "This step needs the tool “{id}”. The plugin “{plugin}” isn’t installed here.";
|
|
275
|
+
readonly clientNotSignedIn: "{name} isn’t signed in on this computer. Sign in under Settings → Models.";
|
|
276
|
+
readonly clientNotInstalled: "{name} isn’t installed on this computer. Install it under Settings → Models.";
|
|
277
|
+
readonly clientNoCredit: "The account {name} is signed in with has no credit or quota left.";
|
|
278
|
+
readonly anthropicAccountClaudeCode: "The Anthropic account Claude Code is signed in with has no credit. Sign Claude Code in with your subscription under Settings → Models.";
|
|
279
|
+
readonly chatgptAccountCodexSigned: "The ChatGPT account Codex is signed in with has used up its quota. Try again later or choose another client.";
|
|
280
|
+
readonly builtTerminalNotAvailable: "The built-in terminal isn’t available on this computer. Run the command in your own terminal.";
|
|
281
|
+
readonly terminalNoLongerExists: "This terminal no longer exists.";
|
|
282
|
+
readonly imageTypeNotReadable: "Images of type {mime} can’t be read (PNG, JPEG and WebP work).";
|
|
283
|
+
readonly fileNotReadable: "“{name}” ({mime}) can’t be read.";
|
|
284
|
+
readonly creditsNotSignedIn: "This is set to run on credits, but you’re not signed in to an account.";
|
|
285
|
+
readonly accountNoLongerSigned: "The account is no longer signed in. Sign in again under Settings → Account.";
|
|
286
|
+
readonly modelNotUsedYet: "The model “{ref}” can’t be used yet. Add an API key under Settings → Models, or sign in to an account.";
|
|
287
|
+
readonly noModelForImages: "No model is set up for images.";
|
|
288
|
+
readonly noModelForVideos: "No model is set up for videos.";
|
|
289
|
+
readonly noModelForSpeech: "No model is set up for speech.";
|
|
290
|
+
readonly noOpenaiApiKey: "No OpenAI API key is set for voice conversations (Settings → Models).";
|
|
291
|
+
readonly modelNotAvailableAccount: "This model isn’t available with your account.";
|
|
292
|
+
readonly accountNoModelSet: "Your account has no model set up for this.";
|
|
293
|
+
readonly claudeCodeMakesFilms: "Claude Code makes films on this computer, using your subscription. Set it up as an AI subscription under Settings → Models.";
|
|
294
|
+
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”.";
|
|
295
|
+
readonly fieldRequired: "Required";
|
|
296
|
+
readonly chooseAtLeast: "Choose at least {min}";
|
|
297
|
+
readonly chooseAtMost: "At most {max} – remove some";
|
|
298
|
+
readonly enterNumber: "Enter a number";
|
|
299
|
+
readonly invalidChoice: "Invalid choice";
|
|
300
|
+
readonly timeNotOffered: "This time isn’t offered";
|
|
301
|
+
readonly notValidEmailAddress: "Not a valid email address";
|
|
302
|
+
readonly notValidUrl: "Not a valid URL";
|
|
303
|
+
readonly wizardRunOutCredits: "This wizard has run out of credits for now. Try again later.";
|
|
304
|
+
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.";
|
|
305
|
+
readonly aiServiceBusyRight: "The AI service is busy right now. Try again in a moment.";
|
|
306
|
+
readonly stepTookTooLong: "The step took too long. Try again.";
|
|
307
|
+
readonly aiServiceNotReached: "The AI service can’t be reached right now. Try again later.";
|
|
308
|
+
readonly notAvailableNow: "That isn’t available here right now.";
|
|
309
|
+
readonly fileNotFound: "File not found";
|
|
310
|
+
readonly connectFirst: "Connect first";
|
|
311
|
+
readonly noEntriesStepWork: "There are no entries for this step to work on.";
|
|
312
|
+
readonly stepNotReturnResult: "The step didn’t return a result.";
|
|
313
|
+
readonly documentNotCreated: "The document couldn’t be created.";
|
|
314
|
+
readonly stepMissingSourcesImages: "This step is missing its sources (images or scenes).";
|
|
315
|
+
readonly noTextReadAloud: "There is no text to read aloud.";
|
|
316
|
+
readonly wizardStillErrors: "The wizard still has errors.";
|
|
317
|
+
readonly noLanguageModelSet: "No language model is set up here.";
|
|
318
|
+
readonly creditsUsedUp: "Your credits are used up.";
|
|
319
|
+
readonly chooseFile: "Choose a file.";
|
|
320
|
+
readonly pageNotReached: "The page can’t be reached.";
|
|
321
|
+
readonly unknownEntry: "Unknown entry.";
|
|
322
|
+
readonly chooseWizardFileMb: "Choose a wizard file ({PACKAGE_EXTENSION}) of 30 MB or less.";
|
|
323
|
+
readonly recordingMbMost: "The recording can be 10 MB at most.";
|
|
324
|
+
readonly onlyFinishedResultsShared: "Only finished results can be shared.";
|
|
325
|
+
readonly gradientFailed: "Couldn’t make a gradient from that. Try describing it differently.";
|
|
326
|
+
readonly onlyOneSpaceAllowed: "Only one space is allowed here.";
|
|
327
|
+
readonly mostSpaces: {
|
|
328
|
+
readonly one: "You can have at most {count} space here.";
|
|
329
|
+
readonly other: "You can have at most {count} spaces here.";
|
|
330
|
+
};
|
|
331
|
+
readonly twoEntriesSameKey: "Two entries have the same key.";
|
|
332
|
+
readonly notDeleteLastSpace: "You can’t delete the last space.";
|
|
333
|
+
readonly notFound: "This doesn’t exist or was deleted.";
|
|
334
|
+
readonly categoryNeedsName: "A category needs a name.";
|
|
335
|
+
readonly unknownCategoryType: "Unknown type “{type}”.";
|
|
336
|
+
readonly spaceMostCategories: {
|
|
337
|
+
readonly one: "A space can have at most {count} category.";
|
|
338
|
+
readonly other: "A space can have at most {count} categories.";
|
|
339
|
+
};
|
|
340
|
+
readonly categoryAlreadyExists: "The category “{name}” already exists.";
|
|
341
|
+
readonly onlyChoiceCategoriesValues: "Only choice categories have values.";
|
|
342
|
+
readonly onlyValuesOneCategory: "Only values of one category can be merged.";
|
|
343
|
+
readonly templateNeedsNewerVersion: "This template needs a newer version of engenty wizards. Update engenty wizards first.";
|
|
344
|
+
readonly chatNotExist: "This chat doesn’t exist.";
|
|
345
|
+
readonly unknownRunner: "There’s no runner “{unknown}” here.";
|
|
346
|
+
readonly leastOneRunnerStay: "At least one runner has to stay on.";
|
|
347
|
+
readonly linkOpenRunnerTurned: "The link has to open a runner that’s turned on.";
|
|
348
|
+
readonly jobNotExistAlready: "This job doesn’t exist or has already finished.";
|
|
349
|
+
readonly accountAlreadySpace: "This account already has a space here.";
|
|
350
|
+
readonly accountAlreadySpaces: {
|
|
351
|
+
readonly one: "This account already has {count} space here.";
|
|
352
|
+
readonly other: "This account already has {count} spaces here.";
|
|
353
|
+
};
|
|
354
|
+
readonly roomMostPublishedWizards: {
|
|
355
|
+
readonly one: "There’s room for at most {count} published wizard here.";
|
|
356
|
+
readonly other: "There’s room for at most {count} published wizards here.";
|
|
357
|
+
};
|
|
358
|
+
readonly spaceIdAlreadyExists: "A space with this ID already exists here and didn’t come from your computer.";
|
|
359
|
+
readonly wizardIdAlreadyBelongs: "A wizard with this ID already belongs to another space here.";
|
|
360
|
+
readonly idAlreadyUse: "This ID is already in use here.";
|
|
361
|
+
readonly wizardNotSpace: "This wizard isn’t in the space.";
|
|
362
|
+
readonly invalidColumns: "Invalid columns.";
|
|
363
|
+
readonly spaceMostTables: {
|
|
364
|
+
readonly one: "A space can have at most {count} table.";
|
|
365
|
+
readonly other: "A space can have at most {count} tables.";
|
|
366
|
+
};
|
|
367
|
+
readonly tableBelongsOneWizard: "This table belongs to one of the wizard’s lists. Its columns come from the wizard.";
|
|
368
|
+
readonly entryAlreadyExists: "This entry already exists.";
|
|
369
|
+
readonly tableMostRows: {
|
|
370
|
+
readonly one: "A table can have at most {count} row.";
|
|
371
|
+
readonly other: "A table can have at most {count} rows.";
|
|
372
|
+
};
|
|
373
|
+
readonly spaceMostPages: {
|
|
374
|
+
readonly one: "A space can have at most {count} page.";
|
|
375
|
+
readonly other: "A space can have at most {count} pages.";
|
|
376
|
+
};
|
|
377
|
+
readonly pageNotSubpages: "This page can’t have subpages.";
|
|
378
|
+
readonly pageNotOwnSubpage: "A page can’t be its own subpage.";
|
|
379
|
+
readonly pageNeedsTitle: "A page needs a title.";
|
|
380
|
+
readonly unknownSpace: "There’s no space “{space}”.";
|
|
381
|
+
readonly noParentPage: "There’s no page with the key “{parent}” to put this page under.";
|
|
382
|
+
readonly onlyTeamAdmins: "Only team admins can do that. As a member, you can edit the wizards that already exist.";
|
|
383
|
+
readonly spaceEditedLocally: "You edit this space in engenty wizards on your computer, not here.";
|
|
384
|
+
readonly wizardsRunOncePublished: "Wizards run here once you publish them in engenty wizards on your computer. You build and edit them there.";
|
|
385
|
+
readonly logoImagePngSvg: "A logo is an image (PNG, SVG, JPEG, WebP).";
|
|
386
|
+
readonly patternImageSvgPng: "A pattern is an image (SVG, PNG, JPEG, WebP).";
|
|
387
|
+
readonly filesGoHere: "Images, videos, audio, PDFs, fonts, Lottie and 3D models go here. Texts to look things up in go under knowledge.";
|
|
388
|
+
readonly addressNotReached: "The address can’t be reached.";
|
|
389
|
+
readonly addressResponded: "The address responded with {status}.";
|
|
390
|
+
readonly addressLeadsWebPage: "The address leads to a web page, not an image.";
|
|
391
|
+
readonly addressFileTooLarge: "The file is too large.";
|
|
392
|
+
readonly onlyDocumentsIndex: "Only documents are in the index.";
|
|
393
|
+
readonly emptyTooLargeDocument: "“{name}” is empty or too large for a document.";
|
|
394
|
+
readonly spaceMostDocuments: {
|
|
395
|
+
readonly one: "A space can have at most {count} document.";
|
|
396
|
+
readonly other: "A space can have at most {count} documents.";
|
|
397
|
+
};
|
|
398
|
+
readonly accountSignedOut: "The account is signed out. Sign in again.";
|
|
399
|
+
readonly cloudNotReachedRight: "The cloud can’t be reached right now.";
|
|
400
|
+
readonly publishWizardFirst: "Publish the wizard first.";
|
|
401
|
+
readonly wizardJsonUnreadable: "This isn’t a wizard file: its wizard.json can’t be read.";
|
|
402
|
+
readonly wizardFileComesNewer: "This wizard file comes from a newer version, or it’s damaged. Update engenty wizards or export the wizard again.";
|
|
403
|
+
readonly fileOver5Mb: "{name} is larger than 5 MB.";
|
|
404
|
+
readonly wizardFileTooLarge: "The wizard file is too large: a workspace holds at most 200 files and 25 MB.";
|
|
405
|
+
readonly wizardFileNotOpened: "The wizard file can’t be opened. Export the wizard again and try once more.";
|
|
406
|
+
readonly wizardJsonMissing: "This isn’t a wizard file: wizard.json is missing.";
|
|
407
|
+
readonly notValidFilePath: "“{name}” isn’t a valid file path.";
|
|
408
|
+
readonly workspaceWizardFileLarger: "The workspace in the wizard file is larger than 25 MB.";
|
|
409
|
+
readonly unknownTemplate: "There’s no template “{starterId}”.";
|
|
410
|
+
readonly wizardChangedMeantime: "The wizard was changed in the meantime.";
|
|
411
|
+
readonly valueNotExist: "This value doesn’t exist.";
|
|
412
|
+
readonly nothingFiledUnderValue: "Nothing is filed under this value yet.";
|
|
413
|
+
readonly filmNotRenderedNeeds: "The film couldn’t be rendered. It needs ffmpeg and a timeline in the widget.";
|
|
414
|
+
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}";
|
|
415
|
+
readonly serverSaid: " The server said: {answer}";
|
|
416
|
+
readonly viaAccountFailed: "Connecting through your engenty account didn’t work ({code}).";
|
|
417
|
+
readonly pluginInvalidInput: "“{id}” got invalid input: {path} – {problem}";
|
|
418
|
+
readonly filmClientStopped: "{name} stopped working on the film: {detail}. The work is saved. A new try carries on from there.";
|
|
419
|
+
readonly filmWorkSaved: "{problem} The work is saved. A new try carries on from there.";
|
|
420
|
+
readonly filmRenderFailed: "The film couldn’t be rendered: {detail}";
|
|
421
|
+
readonly commandNotStarted: "The command couldn’t start: {detail}";
|
|
422
|
+
readonly providerKeyMissing: "{provider} is chosen for {makes}, but no API key is set.";
|
|
423
|
+
readonly noModelFor: "No model is set up for {makes}.";
|
|
424
|
+
readonly noApiKeyFor: "No API key is set for {provider}.";
|
|
425
|
+
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.";
|
|
426
|
+
readonly thisModel: "this model";
|
|
427
|
+
readonly quoted: "“{text}”";
|
|
428
|
+
readonly viewErrors: "The view has errors: {detail}";
|
|
429
|
+
readonly blockedSteps: "{steps}: {problem}";
|
|
430
|
+
readonly joined: "{first} {second}";
|
|
431
|
+
readonly stepFailed: "This step failed: {detail}";
|
|
432
|
+
readonly answersMissing: "Answers are missing or don’t fit: {answers}";
|
|
433
|
+
readonly fieldError: "{field} – {message}";
|
|
434
|
+
readonly templateNeedsPlugins: {
|
|
435
|
+
readonly one: "This template needs the plugin {plugins}: included with Pro on engenty.ai.";
|
|
436
|
+
readonly other: "This template needs the plugins {plugins}: included with Pro on engenty.ai.";
|
|
437
|
+
};
|
|
438
|
+
readonly pageMostChars: {
|
|
439
|
+
readonly one: "A page can have at most {count} character.";
|
|
440
|
+
readonly other: "A page can have at most {count} characters.";
|
|
441
|
+
};
|
|
442
|
+
readonly chooseFileUpTo: "Choose a file of {mb} MB or less.";
|
|
443
|
+
readonly roomMostFiles: {
|
|
444
|
+
readonly one: "There’s room for at most {count} file here.";
|
|
445
|
+
readonly other: "There’s room for at most {count} files here.";
|
|
446
|
+
};
|
|
447
|
+
readonly makesText: "text";
|
|
448
|
+
readonly makesImages: "images";
|
|
449
|
+
readonly makesVideos: "videos";
|
|
450
|
+
readonly makesSpeech: "speech";
|
|
451
|
+
readonly makesVoiceNotes: "voice notes";
|
|
522
452
|
};
|
|
523
|
-
export type RunNoteCode = keyof typeof
|
|
453
|
+
export type RunNoteCode = keyof typeof NOTES_EN;
|
|
454
|
+
export declare const RUN_NOTES: Texts<RunNoteCode>;
|
|
455
|
+
/** What fills a note's gaps: words, numbers, other notes (said in the same language), lists. */
|
|
456
|
+
export type NoteGap = Gap | RunNote | readonly NoteGap[];
|
|
524
457
|
/** A line of `RUN_NOTES` with what goes into its gaps. */
|
|
525
458
|
export interface RunNote {
|
|
526
459
|
code: RunNoteCode;
|
|
527
|
-
params?: Record<string,
|
|
460
|
+
params?: Record<string, NoteGap | undefined>;
|
|
528
461
|
}
|
|
529
462
|
/** What the person reads: plain words, or a note that has a line for each language. */
|
|
530
463
|
export type Said = string | RunNote;
|
|
464
|
+
/** A note: a line of `RUN_NOTES`, said in whichever language the reader reads. */
|
|
465
|
+
export declare function note(code: RunNoteCode, params?: Record<string, NoteGap | undefined>): RunNote;
|
|
531
466
|
/** What is said, in a language. */
|
|
532
|
-
export declare function saidText(said: Said, lang:
|
|
533
|
-
/**
|
|
534
|
-
export declare function
|
|
535
|
-
/** A note in a language, its gaps filled. */
|
|
536
|
-
export declare function noteText(note: RunNote, lang: "de" | "en"): string;
|
|
467
|
+
export declare function saidText(said: Said, lang: Lang): string;
|
|
468
|
+
/** A note in a language, its gaps filled; English where the language lacks the line. */
|
|
469
|
+
export declare function noteText(note: RunNote, lang: Lang): string;
|
|
537
470
|
export interface RunEvent {
|
|
538
471
|
id: number;
|
|
539
472
|
at: string;
|
|
@@ -552,7 +485,7 @@ export interface RunView {
|
|
|
552
485
|
mode: "test" | "live";
|
|
553
486
|
wizard: Pick<WizardDefinition, "title" | "description" | "avatar" | "intro">;
|
|
554
487
|
/** The language the wizard speaks: what is read aloud, and in which voice. */
|
|
555
|
-
lang:
|
|
488
|
+
lang: Lang;
|
|
556
489
|
/** 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). */
|
|
557
490
|
talk: boolean;
|
|
558
491
|
/** The step the person is on (interactive) or the one running. */
|