wizards 0.5.0 → 0.5.2
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/README.md +45 -42
- package/apps/runtime/dist/agents/studio-assistant.js +3 -3
- package/apps/runtime/dist/app.js +7 -4
- package/apps/runtime/dist/auth/index.js +2 -2
- package/apps/runtime/dist/authoring/guide.js +1 -1
- package/apps/runtime/dist/cli/account.js +31 -28
- package/apps/runtime/dist/cli/autostart.js +5 -3
- package/apps/runtime/dist/cli/clients.js +1 -1
- package/apps/runtime/dist/cli/connect.js +24 -24
- package/apps/runtime/dist/cli/features.js +6 -6
- package/apps/runtime/dist/cli/main.js +51 -39
- package/apps/runtime/dist/cli/mcp.js +5 -4
- package/apps/runtime/dist/cli/menu.js +32 -30
- package/apps/runtime/dist/cli/report.js +7 -9
- package/apps/runtime/dist/cli/setup.js +42 -38
- package/apps/runtime/dist/cli/start.js +16 -15
- package/apps/runtime/dist/cli/status.js +20 -20
- package/apps/runtime/dist/cli/ui.js +9 -2
- package/apps/runtime/dist/cli/update.js +6 -6
- package/apps/runtime/dist/cli/validate.js +1 -1
- package/apps/runtime/dist/connectors/external.js +3 -2
- package/apps/runtime/dist/connectors/index.js +5 -5
- package/apps/runtime/dist/connectors/plugin-connections.js +2 -2
- package/apps/runtime/dist/connectors/via-account.js +5 -5
- package/apps/runtime/dist/db/control-schema.js +14 -0
- package/apps/runtime/dist/db/migrations/control/0009_plugin_claim.sql +9 -0
- package/apps/runtime/dist/db/migrations/control/meta/0009_snapshot.json +561 -0
- package/apps/runtime/dist/db/migrations/control/meta/_journal.json +7 -0
- package/apps/runtime/dist/docs/dev/index.md +16 -14
- package/apps/runtime/dist/docs/dev/plugins/connections.md +27 -24
- package/apps/runtime/dist/docs/dev/plugins/events.md +19 -17
- package/apps/runtime/dist/docs/dev/plugins/examples.md +13 -12
- package/apps/runtime/dist/docs/dev/plugins/index.md +29 -24
- package/apps/runtime/dist/docs/dev/plugins/layout.md +20 -19
- package/apps/runtime/dist/docs/dev/plugins/quick-start.md +16 -15
- package/apps/runtime/dist/docs/dev/plugins/reference.md +52 -40
- package/apps/runtime/dist/docs/dev/plugins/reloading.md +24 -23
- package/apps/runtime/dist/docs/dev/plugins/routes.md +26 -22
- package/apps/runtime/dist/docs/dev/plugins/runners.md +49 -44
- package/apps/runtime/dist/docs/dev/plugins/server.md +95 -43
- package/apps/runtime/dist/docs/dev/plugins/shipping.md +19 -16
- package/apps/runtime/dist/docs/dev/plugins/space.md +75 -69
- package/apps/runtime/dist/docs/dev/plugins/starters.md +22 -17
- package/apps/runtime/dist/docs/dev/plugins/studio.md +80 -37
- package/apps/runtime/dist/docs/dev/plugins/styling.md +44 -41
- package/apps/runtime/dist/docs/dev/plugins/tables.md +11 -11
- package/apps/runtime/dist/docs/dev/plugins/tools.md +26 -25
- package/apps/runtime/dist/docs/dev/wizard-format.md +35 -23
- package/apps/runtime/dist/docs/user/ai-apps.md +46 -43
- package/apps/runtime/dist/docs/user/assistant.md +41 -36
- package/apps/runtime/dist/docs/user/build-a-wizard.md +64 -39
- package/apps/runtime/dist/docs/user/command-line.md +47 -44
- package/apps/runtime/dist/docs/user/connectors.md +40 -35
- package/apps/runtime/dist/docs/user/create-account.md +27 -22
- package/apps/runtime/dist/docs/user/data.md +29 -29
- package/apps/runtime/dist/docs/user/first-start.md +26 -28
- package/apps/runtime/dist/docs/user/index.md +16 -17
- package/apps/runtime/dist/docs/user/install.md +28 -27
- package/apps/runtime/dist/docs/user/local-only.md +21 -17
- package/apps/runtime/dist/docs/user/models.md +92 -84
- package/apps/runtime/dist/docs/user/plugins.md +28 -23
- package/apps/runtime/dist/docs/user/run.md +51 -50
- package/apps/runtime/dist/docs/user/server.md +9 -9
- package/apps/runtime/dist/docs/user/space.md +87 -65
- package/apps/runtime/dist/docs/user/steps.md +73 -69
- package/apps/runtime/dist/docs/user/test-and-share.md +127 -105
- package/apps/runtime/dist/docs/user/troubleshooting.md +40 -38
- package/apps/runtime/dist/docs/user/wordpress.md +62 -54
- package/apps/runtime/dist/documents/parse.js +2 -2
- package/apps/runtime/dist/engenty/shims/web-ingest.js +17 -1
- package/apps/runtime/dist/engine/input.js +4 -4
- package/apps/runtime/dist/engine/push.js +2 -2
- package/apps/runtime/dist/engine/runner.js +8 -8
- package/apps/runtime/dist/engine/steps.js +2 -2
- package/apps/runtime/dist/engine/surface.js +1 -1
- package/apps/runtime/dist/film/step.js +3 -3
- package/apps/runtime/dist/harness/claude.js +1 -1
- package/apps/runtime/dist/harness/codex.js +1 -1
- package/apps/runtime/dist/harness/model.js +2 -2
- package/apps/runtime/dist/harness/terminal.js +3 -3
- package/apps/runtime/dist/mcp/handler.js +2 -2
- package/apps/runtime/dist/mcp/tools.js +9 -9
- package/apps/runtime/dist/models.js +15 -15
- package/apps/runtime/dist/plugins/claims.js +56 -0
- package/apps/runtime/dist/plugins/loader.js +2 -0
- package/apps/runtime/dist/plugins/public.js +2 -3
- package/apps/runtime/dist/plugins/runs.js +13 -8
- package/apps/runtime/dist/render/chromium.js +24 -11
- package/apps/runtime/dist/routes/api.js +15 -9
- package/apps/runtime/dist/routes/debug.js +1 -1
- package/apps/runtime/dist/routes/delivery.js +46 -0
- package/apps/runtime/dist/routes/lang.js +7 -0
- package/apps/runtime/dist/routes/marketplace.js +2 -1
- package/apps/runtime/dist/routes/plugin-public.js +2 -1
- package/apps/runtime/dist/routes/plugins.js +13 -14
- package/apps/runtime/dist/routes/runs.js +59 -49
- package/apps/runtime/dist/routes/studio.js +53 -23
- package/apps/runtime/dist/services/access.js +3 -3
- package/apps/runtime/dist/services/assistant-chats.js +1 -1
- package/apps/runtime/dist/services/brand.js +2 -2
- package/apps/runtime/dist/services/cloud.js +5 -4
- package/apps/runtime/dist/services/errors.js +2 -1
- package/apps/runtime/dist/services/knowledge-model.js +2 -2
- package/apps/runtime/dist/services/marketplace.js +2 -2
- package/apps/runtime/dist/services/package-file.js +12 -9
- package/apps/runtime/dist/services/package.js +2 -2
- package/apps/runtime/dist/services/project-files.js +10 -12
- package/apps/runtime/dist/services/projects.js +13 -8
- package/apps/runtime/dist/services/runners.js +4 -3
- package/apps/runtime/dist/services/runs.js +3 -3
- package/apps/runtime/dist/services/site.js +2 -2
- package/apps/runtime/dist/services/space-categories.js +4 -4
- package/apps/runtime/dist/services/space-data.js +13 -13
- package/apps/runtime/dist/services/space-origin.js +1 -1
- package/apps/runtime/dist/services/spaces.js +7 -7
- package/apps/runtime/dist/services/wizards.js +5 -5
- package/apps/runtime/dist/tools/net-guard.js +135 -24
- package/apps/runtime/dist/tools/plugin.js +1 -1
- package/apps/runtime/dist/tools/store.js +1 -1
- package/apps/runtime/dist/widgets/step.js +1 -1
- package/apps/web/dist/assets/AboutDialog-hRgrS60N.js +1 -0
- package/apps/web/dist/assets/{ChangelogDialog-BXpkgatF.js → ChangelogDialog-BUSpLhC6.js} +1 -1
- package/apps/web/dist/assets/{ChatView-t7z44uFN.js → ChatView-DO7P5Vv_.js} +1 -1
- package/apps/web/dist/assets/EditorPage-BabV35Bj.js +3 -0
- package/apps/web/dist/assets/{FlowPreview-WpS8DCPl.js → FlowPreview-CKrwLPN0.js} +1 -1
- package/apps/web/dist/assets/{Harness-DL7Bse40.js → Harness-o8IIQXZp.js} +1 -1
- package/apps/web/dist/assets/{NewWizardChannels-Crt6PzH2.js → NewWizardChannels-DqU79Myj.js} +1 -1
- package/apps/web/dist/assets/{NewWizardPage-COiVmNsl.js → NewWizardPage-D1UCvmDp.js} +1 -1
- package/apps/web/dist/assets/{OnboardingPage-BwluEqXq.js → OnboardingPage-C70bqPnq.js} +1 -1
- package/apps/web/dist/assets/{ProjectPage-BIRU_AlN.js → ProjectPage-BOLvmQWZ.js} +1 -1
- package/apps/web/dist/assets/{PublicRunner-BxMb4gEt.js → PublicRunner-B0PGyHI9.js} +1 -1
- package/apps/web/dist/assets/{ReadOnly-D9r5ze5S.js → ReadOnly-B0mJBD1q.js} +1 -1
- package/apps/web/dist/assets/{RunDrawer-DmJl2QOJ.js → RunDrawer-BsnsIJ0Y.js} +1 -1
- package/apps/web/dist/assets/{RunnerView-CF_1rC-7.js → RunnerView-B56i3nKO.js} +1 -1
- package/apps/web/dist/assets/SettingsPage-BvfRUqb2.js +1 -0
- package/apps/web/dist/assets/{SetupPage-BGKtbS7j.js → SetupPage-BvAFPu1J.js} +1 -1
- package/apps/web/dist/assets/{SharePage-C4MqXKDA.js → SharePage-hV5pYrO2.js} +1 -1
- package/apps/web/dist/assets/changelog-BftXQzUA.js +1 -0
- package/apps/web/dist/assets/{esm-CsY8TkyE.js → esm-DfapVSy6.js} +1 -1
- package/apps/web/dist/assets/{index-BjQvGQp_.js → index-BuFrRzvG.js} +4 -4
- package/apps/web/dist/assets/{index-Bi2x2g7n.css → index-DSbQiZY8.css} +1 -1
- package/apps/web/dist/assets/{lock-CI6TpWL-.js → lock-B-tJwE4p.js} +1 -1
- package/apps/web/dist/assets/oss-credits-BJrR7BR1.js +1 -0
- package/apps/web/dist/assets/{phone-BrtQz-fG.js → phone-DRHxY0l_.js} +1 -1
- package/apps/web/dist/assets/{settings-menu-BtEKL72n.js → settings-menu-OPrJTW8a.js} +1 -1
- package/apps/web/dist/assets/{ui-4IaTD7LB.js → ui-DftgEA2k.js} +3 -3
- package/apps/web/dist/assets/{upload-CWJAtPRo.js → upload-B73coFNw.js} +1 -1
- package/apps/web/dist/index.html +3 -3
- package/apps/web/dist/mcp/flow.html +4 -4
- package/bin/wizards.mjs +1 -1
- package/node_modules/@engenty-wizards/plugin-sdk/dist/index.d.ts +21 -2
- package/node_modules/@engenty-wizards/shared/dist/projects.js +1 -1
- package/node_modules/@engenty-wizards/shared/dist/run.d.ts +48 -48
- package/node_modules/@engenty-wizards/shared/dist/run.js +48 -48
- package/package.json +5 -4
- package/apps/web/dist/assets/AboutDialog-A_ILyeue.js +0 -1
- package/apps/web/dist/assets/EditorPage-4qxNJgKr.js +0 -3
- package/apps/web/dist/assets/SettingsPage-3xSInE-A.js +0 -1
- package/apps/web/dist/assets/changelog-CM_GdIVI.js +0 -1
- package/apps/web/dist/assets/oss-credits-BQQX0kvk.js +0 -1
package/bin/wizards.mjs
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
const [major, minor] = process.versions.node.split(".").map(Number);
|
|
5
5
|
if (major < 24 || (major === 24 && minor < 11)) {
|
|
6
6
|
console.error(
|
|
7
|
-
`engenty wizards needs Node.js 24.11 or newer
|
|
7
|
+
`engenty wizards needs Node.js 24.11 or newer. This is ${process.version}.\n` +
|
|
8
8
|
"The installer brings its own and leaves yours alone:\n\n" +
|
|
9
9
|
" curl -fsSL https://engenty.ai/install.sh | bash\n",
|
|
10
10
|
);
|
|
@@ -1021,6 +1021,24 @@ export interface PluginServerApi {
|
|
|
1021
1021
|
publicRef(): Promise<string>;
|
|
1022
1022
|
/** A route for every tenant at once (one webhook of a service for all of them). */
|
|
1023
1023
|
registerSharedRoute(route: PluginSharedRoute): void;
|
|
1024
|
+
/**
|
|
1025
|
+
* Keys the plugin holds across the runtime's tenants, each for one tenant at a time: a keyword
|
|
1026
|
+
* on a number every tenant shares, who writes to it, a number a tenant connected. A shared
|
|
1027
|
+
* route finds its tenant with `holder` and enters it with `inTenant`. Keys are the plugin's
|
|
1028
|
+
* own, 1 to 200 characters.
|
|
1029
|
+
*/
|
|
1030
|
+
claims: {
|
|
1031
|
+
/** Takes `key` for the current tenant; false when another tenant holds it. */
|
|
1032
|
+
take(key: string): Promise<boolean>;
|
|
1033
|
+
/** Gives `key` to the current tenant, whoever held it. */
|
|
1034
|
+
put(key: string): Promise<void>;
|
|
1035
|
+
/** Gives up the current tenant's `key`; nothing when another tenant holds it. */
|
|
1036
|
+
drop(key: string): Promise<void>;
|
|
1037
|
+
/** The ref of the tenant that holds `key` (for `inTenant`), or null. Asked outside a tenant too. */
|
|
1038
|
+
holder(key: string): Promise<string | null>;
|
|
1039
|
+
/** Whether the current tenant holds `key`. */
|
|
1040
|
+
mine(key: string): Promise<boolean>;
|
|
1041
|
+
};
|
|
1024
1042
|
/** The full address of a shared route, the same for every tenant. */
|
|
1025
1043
|
sharedUrl(path: string): string;
|
|
1026
1044
|
/**
|
|
@@ -1046,10 +1064,11 @@ export interface PluginServerApi {
|
|
|
1046
1064
|
withdraw(): Promise<boolean>;
|
|
1047
1065
|
/**
|
|
1048
1066
|
* Books what the tenant's number carried, at the Manage-App's prices: `sms` by segment
|
|
1049
|
-
* (sent or received), `call` by started minute. The same `key`
|
|
1067
|
+
* (sent or received), `call` by started minute, `whatsapp` by message sent. The same `key`
|
|
1068
|
+
* twice books once.
|
|
1050
1069
|
*/
|
|
1051
1070
|
book(input: {
|
|
1052
|
-
kind: "sms" | "call";
|
|
1071
|
+
kind: "sms" | "call" | "whatsapp";
|
|
1053
1072
|
quantity: number;
|
|
1054
1073
|
key: string;
|
|
1055
1074
|
runId?: string | null;
|
|
@@ -73,7 +73,7 @@ export const BASIC_FACTS = [
|
|
|
73
73
|
{ key: "adresse", de: "Adresse", en: "Address" },
|
|
74
74
|
{ key: "plz", de: "PLZ", en: "Postcode" },
|
|
75
75
|
{ key: "ort", de: "Ort", en: "City" },
|
|
76
|
-
{ key: "uid", de: "
|
|
76
|
+
{ key: "uid", de: "USt-IdNr.", en: "VAT ID" },
|
|
77
77
|
{ key: "telefon", de: "Telefon", en: "Phone" },
|
|
78
78
|
{ key: "e_mail", de: "E-Mail", en: "Email" },
|
|
79
79
|
{ key: "website", de: "Website", en: "Website" },
|
|
@@ -169,11 +169,11 @@ export declare const RUN_NOTES: {
|
|
|
169
169
|
};
|
|
170
170
|
readonly deciding: {
|
|
171
171
|
readonly de: "Entscheidet, wie es weitergeht …";
|
|
172
|
-
readonly en: "Deciding
|
|
172
|
+
readonly en: "Deciding what to do next…";
|
|
173
173
|
};
|
|
174
174
|
readonly choosingFields: {
|
|
175
175
|
readonly de: "Wählt die passenden Fragen …";
|
|
176
|
-
readonly en: "Choosing the right questions
|
|
176
|
+
readonly en: "Choosing the right questions…";
|
|
177
177
|
};
|
|
178
178
|
readonly batchDone: {
|
|
179
179
|
readonly de: "{done} von {total} fertig";
|
|
@@ -201,11 +201,11 @@ export declare const RUN_NOTES: {
|
|
|
201
201
|
};
|
|
202
202
|
readonly listen: {
|
|
203
203
|
readonly de: "Hört „{label}“ an …";
|
|
204
|
-
readonly en: "Listening to “{label}
|
|
204
|
+
readonly en: "Listening to “{label}”…";
|
|
205
205
|
};
|
|
206
206
|
readonly listenFailed: {
|
|
207
207
|
readonly de: "„{label}“ konnte nicht verschriftlicht werden.";
|
|
208
|
-
readonly en: "“{label}”
|
|
208
|
+
readonly en: "“{label}” couldn’t be transcribed.";
|
|
209
209
|
};
|
|
210
210
|
readonly filmCutting: {
|
|
211
211
|
readonly de: "Der Film wird geschnitten – das dauert etwa eine Minute.";
|
|
@@ -285,7 +285,7 @@ export declare const RUN_NOTES: {
|
|
|
285
285
|
};
|
|
286
286
|
readonly personDrives: {
|
|
287
287
|
readonly de: "Du steuerst den Browser – der Wizard wartet";
|
|
288
|
-
readonly en: "You
|
|
288
|
+
readonly en: "You’re driving the browser – the wizard waits";
|
|
289
289
|
};
|
|
290
290
|
readonly agentDrives: {
|
|
291
291
|
readonly de: "Der Wizard macht im Browser weiter";
|
|
@@ -297,7 +297,7 @@ export declare const RUN_NOTES: {
|
|
|
297
297
|
};
|
|
298
298
|
readonly waitsForSignIn: {
|
|
299
299
|
readonly de: "Wartet auf deine Anmeldung bei {name}";
|
|
300
|
-
readonly en: "Waiting for you to sign in
|
|
300
|
+
readonly en: "Waiting for you to sign in to {name}";
|
|
301
301
|
};
|
|
302
302
|
readonly downloads: {
|
|
303
303
|
readonly de: "Lädt {name} herunter";
|
|
@@ -325,11 +325,11 @@ export declare const RUN_NOTES: {
|
|
|
325
325
|
};
|
|
326
326
|
readonly searchesKnowledge: {
|
|
327
327
|
readonly de: "Sucht in Wissen: {query} – {relevant} von {candidates} passen";
|
|
328
|
-
readonly en: "Searching
|
|
328
|
+
readonly en: "Searching knowledge: {query} – {relevant} of {candidates} fit";
|
|
329
329
|
};
|
|
330
330
|
readonly listsKnowledge: {
|
|
331
331
|
readonly de: "Listet Wissen";
|
|
332
|
-
readonly en: "Listing
|
|
332
|
+
readonly en: "Listing knowledge";
|
|
333
333
|
};
|
|
334
334
|
readonly searchesMail: {
|
|
335
335
|
readonly de: "Durchsucht {label}";
|
|
@@ -365,7 +365,7 @@ export declare const RUN_NOTES: {
|
|
|
365
365
|
};
|
|
366
366
|
readonly filmFix: {
|
|
367
367
|
readonly de: "Der Film ließ sich nicht rendern – Claude Code bessert nach";
|
|
368
|
-
readonly en: "The film
|
|
368
|
+
readonly en: "The film didn’t render – Claude Code is fixing it";
|
|
369
369
|
};
|
|
370
370
|
readonly filmResume: {
|
|
371
371
|
readonly de: "Macht dort weiter, wo der Film stehen geblieben ist";
|
|
@@ -373,22 +373,22 @@ export declare const RUN_NOTES: {
|
|
|
373
373
|
};
|
|
374
374
|
readonly wizardUnavailable: {
|
|
375
375
|
readonly de: "Dieser Wizard ist gerade nicht verfügbar.";
|
|
376
|
-
readonly en: "This wizard
|
|
376
|
+
readonly en: "This wizard isn’t available right now.";
|
|
377
377
|
};
|
|
378
378
|
readonly wizardLimit: {
|
|
379
|
-
readonly de: "Für heute ist das Limit dieses Wizards erreicht.
|
|
379
|
+
readonly de: "Für heute ist das Limit dieses Wizards erreicht. Versuch es morgen wieder.";
|
|
380
380
|
readonly en: "This wizard has reached its limit for today. Try again tomorrow.";
|
|
381
381
|
};
|
|
382
382
|
readonly confirmHuman: {
|
|
383
|
-
readonly de: "
|
|
384
|
-
readonly en: "
|
|
383
|
+
readonly de: "Bestätige kurz, dass du ein Mensch bist.";
|
|
384
|
+
readonly en: "Confirm that you’re a person.";
|
|
385
385
|
};
|
|
386
386
|
readonly tooManyRuns: {
|
|
387
|
-
readonly de: "Du hast gerade viele
|
|
388
|
-
readonly en: "You started
|
|
387
|
+
readonly de: "Du hast gerade viele Läufe gestartet. Versuch es in einer Stunde wieder.";
|
|
388
|
+
readonly en: "You’ve started a lot of runs just now. Try again in an hour.";
|
|
389
389
|
};
|
|
390
390
|
readonly runOver: {
|
|
391
|
-
readonly de: "Der
|
|
391
|
+
readonly de: "Der Lauf ist beendet.";
|
|
392
392
|
readonly en: "The run is over.";
|
|
393
393
|
};
|
|
394
394
|
readonly runBusy: {
|
|
@@ -404,36 +404,36 @@ export declare const RUN_NOTES: {
|
|
|
404
404
|
readonly en: "There is no step before this one.";
|
|
405
405
|
};
|
|
406
406
|
readonly checkFields: {
|
|
407
|
-
readonly de: "
|
|
408
|
-
readonly en: "
|
|
407
|
+
readonly de: "Prüf die markierten Felder.";
|
|
408
|
+
readonly en: "Check the marked fields.";
|
|
409
409
|
};
|
|
410
410
|
readonly talkOff: {
|
|
411
411
|
readonly de: "Live-Gespräche sind für diesen Wizard nicht eingeschaltet.";
|
|
412
|
-
readonly en: "Live conversations
|
|
412
|
+
readonly en: "Live conversations aren’t turned on for this wizard.";
|
|
413
413
|
};
|
|
414
414
|
readonly talkKeyRefused: {
|
|
415
|
-
readonly de: "Das Gespräch ließ sich nicht starten: Der OpenAI
|
|
416
|
-
readonly en: "The conversation
|
|
415
|
+
readonly de: "Das Gespräch ließ sich nicht starten: Der OpenAI-API-Key wurde abgelehnt.";
|
|
416
|
+
readonly en: "The conversation couldn’t start: the OpenAI API key was refused.";
|
|
417
417
|
};
|
|
418
418
|
readonly talkFailed: {
|
|
419
419
|
readonly de: "Das Gespräch ließ sich nicht starten ({status}).";
|
|
420
|
-
readonly en: "The conversation
|
|
420
|
+
readonly en: "The conversation couldn’t start ({status}).";
|
|
421
421
|
};
|
|
422
422
|
readonly talkNoSecret: {
|
|
423
423
|
readonly de: "Das Gespräch ließ sich nicht starten: Es kam kein Zugang zurück.";
|
|
424
|
-
readonly en: "The conversation
|
|
424
|
+
readonly en: "The conversation couldn’t start: no access key came back.";
|
|
425
425
|
};
|
|
426
426
|
readonly tryLater: {
|
|
427
|
-
readonly de: "
|
|
427
|
+
readonly de: "Versuch es später noch einmal.";
|
|
428
428
|
readonly en: "Try again later.";
|
|
429
429
|
};
|
|
430
430
|
readonly recordingTooLarge: {
|
|
431
|
-
readonly de: "
|
|
432
|
-
readonly en: "
|
|
431
|
+
readonly de: "Die Aufnahme darf höchstens 10 MB groß sein.";
|
|
432
|
+
readonly en: "The recording can be 10 MB at most.";
|
|
433
433
|
};
|
|
434
434
|
readonly fileTooLarge: {
|
|
435
|
-
readonly de: "
|
|
436
|
-
readonly en: "Choose a file of
|
|
435
|
+
readonly de: "Wähl eine Datei bis {mb} MB.";
|
|
436
|
+
readonly en: "Choose a file of {mb} MB or less.";
|
|
437
437
|
};
|
|
438
438
|
readonly askClosed: {
|
|
439
439
|
readonly de: "Diese Frage ist nicht mehr offen.";
|
|
@@ -445,11 +445,11 @@ export declare const RUN_NOTES: {
|
|
|
445
445
|
};
|
|
446
446
|
readonly notWaiting: {
|
|
447
447
|
readonly de: "Der Wizard wartet gerade nicht auf dich.";
|
|
448
|
-
readonly en: "The wizard
|
|
448
|
+
readonly en: "The wizard isn’t waiting for you right now.";
|
|
449
449
|
};
|
|
450
450
|
readonly pageActFailed: {
|
|
451
451
|
readonly de: "Das hat auf der Seite nicht geklappt.";
|
|
452
|
-
readonly en: "That
|
|
452
|
+
readonly en: "That didn’t work on the page.";
|
|
453
453
|
};
|
|
454
454
|
readonly linkGone: {
|
|
455
455
|
readonly de: "Dieser Link ist abgelaufen oder wurde zurückgezogen.";
|
|
@@ -460,24 +460,24 @@ export declare const RUN_NOTES: {
|
|
|
460
460
|
readonly en: "Connected. You can close this window.";
|
|
461
461
|
};
|
|
462
462
|
readonly connectFailed: {
|
|
463
|
-
readonly de: "Verbinden hat nicht geklappt.
|
|
464
|
-
readonly en: "Connecting
|
|
463
|
+
readonly de: "Verbinden hat nicht geklappt. Versuch es noch einmal.";
|
|
464
|
+
readonly en: "Connecting didn’t work. Try again.";
|
|
465
465
|
};
|
|
466
466
|
readonly connectCancelled: {
|
|
467
467
|
readonly de: "Verbinden wurde abgebrochen.";
|
|
468
468
|
readonly en: "Connecting was cancelled.";
|
|
469
469
|
};
|
|
470
470
|
readonly appleOff: {
|
|
471
|
-
readonly de: "Apple Intelligence ist auf diesem Mac ausgeschaltet.
|
|
472
|
-
readonly en: "Apple Intelligence is
|
|
471
|
+
readonly de: "Apple Intelligence ist auf diesem Mac ausgeschaltet. Schalte es unter Systemeinstellungen → Apple Intelligence & Siri ein.";
|
|
472
|
+
readonly en: "Apple Intelligence is turned off on this Mac. Turn it on in System Settings → Apple Intelligence & Siri.";
|
|
473
473
|
};
|
|
474
474
|
readonly appleLoading: {
|
|
475
|
-
readonly de: "Apple lädt das Modell für Apple Intelligence noch auf diesen Mac.
|
|
475
|
+
readonly de: "Apple lädt das Modell für Apple Intelligence noch auf diesen Mac. Versuch es gleich noch einmal.";
|
|
476
476
|
readonly en: "Apple is still loading the model for Apple Intelligence onto this Mac. Try again in a moment.";
|
|
477
477
|
};
|
|
478
478
|
readonly appleMissing: {
|
|
479
479
|
readonly de: "Der Helfer für Apple Intelligence (wizards-apple) fehlt in dieser Installation.";
|
|
480
|
-
readonly en: "The helper for Apple Intelligence (wizards-apple) is missing from this
|
|
480
|
+
readonly en: "The helper for Apple Intelligence (wizards-apple) is missing from this install.";
|
|
481
481
|
};
|
|
482
482
|
readonly appleOs: {
|
|
483
483
|
readonly de: "Apple Intelligence braucht macOS 26 oder neuer.";
|
|
@@ -485,39 +485,39 @@ export declare const RUN_NOTES: {
|
|
|
485
485
|
};
|
|
486
486
|
readonly appleDevice: {
|
|
487
487
|
readonly de: "Apple Intelligence gibt es nur auf einem Mac mit Apple Silicon.";
|
|
488
|
-
readonly en: "Apple Intelligence
|
|
488
|
+
readonly en: "Apple Intelligence only works on a Mac with Apple silicon.";
|
|
489
489
|
};
|
|
490
490
|
readonly appleBusy: {
|
|
491
|
-
readonly de: "Apple Intelligence nimmt gerade keine weiteren Anfragen an.
|
|
492
|
-
readonly en: "Apple Intelligence
|
|
491
|
+
readonly de: "Apple Intelligence nimmt gerade keine weiteren Anfragen an. Versuch es gleich noch einmal.";
|
|
492
|
+
readonly en: "Apple Intelligence isn’t taking more requests right now. Try again in a moment.";
|
|
493
493
|
};
|
|
494
494
|
readonly appleTooLong: {
|
|
495
|
-
readonly de: "
|
|
496
|
-
readonly en: "
|
|
495
|
+
readonly de: "Der Text ist zu lang für Apple Intelligence auf diesem Mac (4.096 Tokens für Frage und Antwort). Wähle unter Einstellungen → Modelle ein anderes Modell für diese Klasse.";
|
|
496
|
+
readonly en: "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.";
|
|
497
497
|
};
|
|
498
498
|
readonly appleRefused: {
|
|
499
499
|
readonly de: "Apple Intelligence hat die Anfrage abgelehnt: Apples Inhaltsregeln lassen sie nicht zu.";
|
|
500
|
-
readonly en: "Apple Intelligence turned the request down: Apple
|
|
500
|
+
readonly en: "Apple Intelligence turned the request down: Apple’s content rules don’t allow it.";
|
|
501
501
|
};
|
|
502
502
|
readonly appleLanguage: {
|
|
503
503
|
readonly de: "Apple Intelligence versteht die Sprache dieser Anfrage nicht.";
|
|
504
|
-
readonly en: "Apple Intelligence
|
|
504
|
+
readonly en: "Apple Intelligence doesn’t understand the language of this request.";
|
|
505
505
|
};
|
|
506
506
|
readonly appleFormat: {
|
|
507
507
|
readonly de: "Apple Intelligence kann dieses Antwortformat nicht liefern: {detail}";
|
|
508
|
-
readonly en: "Apple Intelligence
|
|
508
|
+
readonly en: "Apple Intelligence can’t answer in this format: {detail}";
|
|
509
509
|
};
|
|
510
510
|
readonly appleFailed: {
|
|
511
511
|
readonly de: "Apple Intelligence: {detail}";
|
|
512
512
|
readonly en: "Apple Intelligence: {detail}";
|
|
513
513
|
};
|
|
514
514
|
readonly appleNoFfmpeg: {
|
|
515
|
-
readonly de: "Apple Intelligence liest {type} nicht
|
|
516
|
-
readonly en: "Apple Intelligence
|
|
515
|
+
readonly de: "Apple Intelligence liest {type} nicht, und ohne ffmpeg lässt sich die Aufnahme nicht umwandeln. Installiere ffmpeg oder nimm im Browser als MP4 auf.";
|
|
516
|
+
readonly en: "Apple Intelligence can’t read {type}, and without ffmpeg the recording can’t be converted. Install ffmpeg or record as MP4 in the browser.";
|
|
517
517
|
};
|
|
518
518
|
readonly appleNotConverted: {
|
|
519
|
-
readonly de: "Apple Intelligence
|
|
520
|
-
readonly en: "Apple Intelligence
|
|
519
|
+
readonly de: "Apple Intelligence konnte die Aufnahme nicht umwandeln: {detail}";
|
|
520
|
+
readonly en: "Apple Intelligence couldn’t convert the recording: {detail}";
|
|
521
521
|
};
|
|
522
522
|
};
|
|
523
523
|
export type RunNoteCode = keyof typeof RUN_NOTES;
|
|
@@ -8,8 +8,8 @@ export const RUN_NOTES = {
|
|
|
8
8
|
// A line written out in both languages where no line of its own fits (`bilingual`).
|
|
9
9
|
text: { de: "{de}", en: "{en}" },
|
|
10
10
|
entry: { de: "Eintrag {n} von {total}", en: "Entry {n} of {total}" },
|
|
11
|
-
deciding: { de: "Entscheidet, wie es weitergeht …", en: "Deciding
|
|
12
|
-
choosingFields: { de: "Wählt die passenden Fragen …", en: "Choosing the right questions
|
|
11
|
+
deciding: { de: "Entscheidet, wie es weitergeht …", en: "Deciding what to do next…" },
|
|
12
|
+
choosingFields: { de: "Wählt die passenden Fragen …", en: "Choosing the right questions…" },
|
|
13
13
|
batchDone: { de: "{done} von {total} fertig", en: "{done} of {total} done" },
|
|
14
14
|
editing: { de: "Bearbeitet {n} von {total}", en: "Editing {n} of {total}" },
|
|
15
15
|
filming: { de: "Dreht {n} von {total}", en: "Filming {n} of {total}" },
|
|
@@ -22,10 +22,10 @@ export const RUN_NOTES = {
|
|
|
22
22
|
en: "Rendering the video – this usually takes 1–3 minutes.",
|
|
23
23
|
},
|
|
24
24
|
photo: { de: "Sieht sich Foto {n} von {total} an", en: "Looking at photo {n} of {total}" },
|
|
25
|
-
listen: { de: "Hört „{label}“ an …", en: "Listening to “{label}
|
|
25
|
+
listen: { de: "Hört „{label}“ an …", en: "Listening to “{label}”…" },
|
|
26
26
|
listenFailed: {
|
|
27
27
|
de: "„{label}“ konnte nicht verschriftlicht werden.",
|
|
28
|
-
en: "“{label}”
|
|
28
|
+
en: "“{label}” couldn’t be transcribed.",
|
|
29
29
|
},
|
|
30
30
|
filmCutting: {
|
|
31
31
|
de: "Der Film wird geschnitten – das dauert etwa eine Minute.",
|
|
@@ -57,7 +57,7 @@ export const RUN_NOTES = {
|
|
|
57
57
|
fastLoop: { de: "Erledigt im Browser: {goal}", en: "Doing in the browser: {goal}" },
|
|
58
58
|
personDrives: {
|
|
59
59
|
de: "Du steuerst den Browser – der Wizard wartet",
|
|
60
|
-
en: "You
|
|
60
|
+
en: "You’re driving the browser – the wizard waits",
|
|
61
61
|
},
|
|
62
62
|
agentDrives: {
|
|
63
63
|
de: "Der Wizard macht im Browser weiter",
|
|
@@ -66,7 +66,7 @@ export const RUN_NOTES = {
|
|
|
66
66
|
looksAtPage: { de: "Sieht sich die Seite an", en: "Looking at the page" },
|
|
67
67
|
waitsForSignIn: {
|
|
68
68
|
de: "Wartet auf deine Anmeldung bei {name}",
|
|
69
|
-
en: "Waiting for you to sign in
|
|
69
|
+
en: "Waiting for you to sign in to {name}",
|
|
70
70
|
},
|
|
71
71
|
downloads: { de: "Lädt {name} herunter", en: "Downloading {name}" },
|
|
72
72
|
runs: { de: "Führt aus: {command}", en: "Running: {command}" },
|
|
@@ -79,9 +79,9 @@ export const RUN_NOTES = {
|
|
|
79
79
|
},
|
|
80
80
|
searchesKnowledge: {
|
|
81
81
|
de: "Sucht in Wissen: {query} – {relevant} von {candidates} passen",
|
|
82
|
-
en: "Searching
|
|
82
|
+
en: "Searching knowledge: {query} – {relevant} of {candidates} fit",
|
|
83
83
|
},
|
|
84
|
-
listsKnowledge: { de: "Listet Wissen", en: "Listing
|
|
84
|
+
listsKnowledge: { de: "Listet Wissen", en: "Listing knowledge" },
|
|
85
85
|
searchesMail: { de: "Durchsucht {label}", en: "Searching {label}" },
|
|
86
86
|
savesReceipts: {
|
|
87
87
|
de: "Speichert {count} Belege aus {label}",
|
|
@@ -101,7 +101,7 @@ export const RUN_NOTES = {
|
|
|
101
101
|
filmLooks: { de: "Sieht sich Bilder des Films an", en: "Looking at frames of the film" },
|
|
102
102
|
filmFix: {
|
|
103
103
|
de: "Der Film ließ sich nicht rendern – Claude Code bessert nach",
|
|
104
|
-
en: "The film
|
|
104
|
+
en: "The film didn’t render – Claude Code is fixing it",
|
|
105
105
|
},
|
|
106
106
|
filmResume: {
|
|
107
107
|
de: "Macht dort weiter, wo der Film stehen geblieben ist",
|
|
@@ -110,21 +110,21 @@ export const RUN_NOTES = {
|
|
|
110
110
|
// What the runtime answers the person running a shared wizard, in the wizard's language.
|
|
111
111
|
wizardUnavailable: {
|
|
112
112
|
de: "Dieser Wizard ist gerade nicht verfügbar.",
|
|
113
|
-
en: "This wizard
|
|
113
|
+
en: "This wizard isn’t available right now.",
|
|
114
114
|
},
|
|
115
115
|
wizardLimit: {
|
|
116
|
-
de: "Für heute ist das Limit dieses Wizards erreicht.
|
|
116
|
+
de: "Für heute ist das Limit dieses Wizards erreicht. Versuch es morgen wieder.",
|
|
117
117
|
en: "This wizard has reached its limit for today. Try again tomorrow.",
|
|
118
118
|
},
|
|
119
119
|
confirmHuman: {
|
|
120
|
-
de: "
|
|
121
|
-
en: "
|
|
120
|
+
de: "Bestätige kurz, dass du ein Mensch bist.",
|
|
121
|
+
en: "Confirm that you’re a person.",
|
|
122
122
|
},
|
|
123
123
|
tooManyRuns: {
|
|
124
|
-
de: "Du hast gerade viele
|
|
125
|
-
en: "You started
|
|
124
|
+
de: "Du hast gerade viele Läufe gestartet. Versuch es in einer Stunde wieder.",
|
|
125
|
+
en: "You’ve started a lot of runs just now. Try again in an hour.",
|
|
126
126
|
},
|
|
127
|
-
runOver: { de: "Der
|
|
127
|
+
runOver: { de: "Der Lauf ist beendet.", en: "The run is over." },
|
|
128
128
|
runBusy: { de: "Der Wizard arbeitet gerade.", en: "The wizard is working right now." },
|
|
129
129
|
pageOutdated: {
|
|
130
130
|
de: "Diese Seite ist nicht mehr aktuell.",
|
|
@@ -132,33 +132,33 @@ export const RUN_NOTES = {
|
|
|
132
132
|
},
|
|
133
133
|
noStepBefore: { de: "Kein vorheriger Schritt.", en: "There is no step before this one." },
|
|
134
134
|
checkFields: {
|
|
135
|
-
de: "
|
|
136
|
-
en: "
|
|
135
|
+
de: "Prüf die markierten Felder.",
|
|
136
|
+
en: "Check the marked fields.",
|
|
137
137
|
},
|
|
138
138
|
talkOff: {
|
|
139
139
|
de: "Live-Gespräche sind für diesen Wizard nicht eingeschaltet.",
|
|
140
|
-
en: "Live conversations
|
|
140
|
+
en: "Live conversations aren’t turned on for this wizard.",
|
|
141
141
|
},
|
|
142
142
|
talkKeyRefused: {
|
|
143
|
-
de: "Das Gespräch ließ sich nicht starten: Der OpenAI
|
|
144
|
-
en: "The conversation
|
|
143
|
+
de: "Das Gespräch ließ sich nicht starten: Der OpenAI-API-Key wurde abgelehnt.",
|
|
144
|
+
en: "The conversation couldn’t start: the OpenAI API key was refused.",
|
|
145
145
|
},
|
|
146
146
|
talkFailed: {
|
|
147
147
|
de: "Das Gespräch ließ sich nicht starten ({status}).",
|
|
148
|
-
en: "The conversation
|
|
148
|
+
en: "The conversation couldn’t start ({status}).",
|
|
149
149
|
},
|
|
150
150
|
talkNoSecret: {
|
|
151
151
|
de: "Das Gespräch ließ sich nicht starten: Es kam kein Zugang zurück.",
|
|
152
|
-
en: "The conversation
|
|
152
|
+
en: "The conversation couldn’t start: no access key came back.",
|
|
153
153
|
},
|
|
154
|
-
tryLater: { de: "
|
|
154
|
+
tryLater: { de: "Versuch es später noch einmal.", en: "Try again later." },
|
|
155
155
|
recordingTooLarge: {
|
|
156
|
-
de: "
|
|
157
|
-
en: "
|
|
156
|
+
de: "Die Aufnahme darf höchstens 10 MB groß sein.",
|
|
157
|
+
en: "The recording can be 10 MB at most.",
|
|
158
158
|
},
|
|
159
159
|
fileTooLarge: {
|
|
160
|
-
de: "
|
|
161
|
-
en: "Choose a file of
|
|
160
|
+
de: "Wähl eine Datei bis {mb} MB.",
|
|
161
|
+
en: "Choose a file of {mb} MB or less.",
|
|
162
162
|
},
|
|
163
163
|
askClosed: {
|
|
164
164
|
de: "Diese Frage ist nicht mehr offen.",
|
|
@@ -170,11 +170,11 @@ export const RUN_NOTES = {
|
|
|
170
170
|
},
|
|
171
171
|
notWaiting: {
|
|
172
172
|
de: "Der Wizard wartet gerade nicht auf dich.",
|
|
173
|
-
en: "The wizard
|
|
173
|
+
en: "The wizard isn’t waiting for you right now.",
|
|
174
174
|
},
|
|
175
175
|
pageActFailed: {
|
|
176
176
|
de: "Das hat auf der Seite nicht geklappt.",
|
|
177
|
-
en: "That
|
|
177
|
+
en: "That didn’t work on the page.",
|
|
178
178
|
},
|
|
179
179
|
linkGone: {
|
|
180
180
|
de: "Dieser Link ist abgelaufen oder wurde zurückgezogen.",
|
|
@@ -185,22 +185,22 @@ export const RUN_NOTES = {
|
|
|
185
185
|
en: "Connected. You can close this window.",
|
|
186
186
|
},
|
|
187
187
|
connectFailed: {
|
|
188
|
-
de: "Verbinden hat nicht geklappt.
|
|
189
|
-
en: "Connecting
|
|
188
|
+
de: "Verbinden hat nicht geklappt. Versuch es noch einmal.",
|
|
189
|
+
en: "Connecting didn’t work. Try again.",
|
|
190
190
|
},
|
|
191
191
|
connectCancelled: { de: "Verbinden wurde abgebrochen.", en: "Connecting was cancelled." },
|
|
192
192
|
// Apple Intelligence on the Mac the runtime runs on (apps/runtime/src/harness/apple.ts).
|
|
193
193
|
appleOff: {
|
|
194
|
-
de: "Apple Intelligence ist auf diesem Mac ausgeschaltet.
|
|
195
|
-
en: "Apple Intelligence is
|
|
194
|
+
de: "Apple Intelligence ist auf diesem Mac ausgeschaltet. Schalte es unter Systemeinstellungen → Apple Intelligence & Siri ein.",
|
|
195
|
+
en: "Apple Intelligence is turned off on this Mac. Turn it on in System Settings → Apple Intelligence & Siri.",
|
|
196
196
|
},
|
|
197
197
|
appleLoading: {
|
|
198
|
-
de: "Apple lädt das Modell für Apple Intelligence noch auf diesen Mac.
|
|
198
|
+
de: "Apple lädt das Modell für Apple Intelligence noch auf diesen Mac. Versuch es gleich noch einmal.",
|
|
199
199
|
en: "Apple is still loading the model for Apple Intelligence onto this Mac. Try again in a moment.",
|
|
200
200
|
},
|
|
201
201
|
appleMissing: {
|
|
202
202
|
de: "Der Helfer für Apple Intelligence (wizards-apple) fehlt in dieser Installation.",
|
|
203
|
-
en: "The helper for Apple Intelligence (wizards-apple) is missing from this
|
|
203
|
+
en: "The helper for Apple Intelligence (wizards-apple) is missing from this install.",
|
|
204
204
|
},
|
|
205
205
|
appleOs: {
|
|
206
206
|
de: "Apple Intelligence braucht macOS 26 oder neuer.",
|
|
@@ -208,36 +208,36 @@ export const RUN_NOTES = {
|
|
|
208
208
|
},
|
|
209
209
|
appleDevice: {
|
|
210
210
|
de: "Apple Intelligence gibt es nur auf einem Mac mit Apple Silicon.",
|
|
211
|
-
en: "Apple Intelligence
|
|
211
|
+
en: "Apple Intelligence only works on a Mac with Apple silicon.",
|
|
212
212
|
},
|
|
213
213
|
appleBusy: {
|
|
214
|
-
de: "Apple Intelligence nimmt gerade keine weiteren Anfragen an.
|
|
215
|
-
en: "Apple Intelligence
|
|
214
|
+
de: "Apple Intelligence nimmt gerade keine weiteren Anfragen an. Versuch es gleich noch einmal.",
|
|
215
|
+
en: "Apple Intelligence isn’t taking more requests right now. Try again in a moment.",
|
|
216
216
|
},
|
|
217
217
|
appleTooLong: {
|
|
218
|
-
de: "
|
|
219
|
-
en: "
|
|
218
|
+
de: "Der Text ist zu lang für Apple Intelligence auf diesem Mac (4.096 Tokens für Frage und Antwort). Wähle unter Einstellungen → Modelle ein anderes Modell für diese Klasse.",
|
|
219
|
+
en: "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.",
|
|
220
220
|
},
|
|
221
221
|
appleRefused: {
|
|
222
222
|
de: "Apple Intelligence hat die Anfrage abgelehnt: Apples Inhaltsregeln lassen sie nicht zu.",
|
|
223
|
-
en: "Apple Intelligence turned the request down: Apple
|
|
223
|
+
en: "Apple Intelligence turned the request down: Apple’s content rules don’t allow it.",
|
|
224
224
|
},
|
|
225
225
|
appleLanguage: {
|
|
226
226
|
de: "Apple Intelligence versteht die Sprache dieser Anfrage nicht.",
|
|
227
|
-
en: "Apple Intelligence
|
|
227
|
+
en: "Apple Intelligence doesn’t understand the language of this request.",
|
|
228
228
|
},
|
|
229
229
|
appleFormat: {
|
|
230
230
|
de: "Apple Intelligence kann dieses Antwortformat nicht liefern: {detail}",
|
|
231
|
-
en: "Apple Intelligence
|
|
231
|
+
en: "Apple Intelligence can’t answer in this format: {detail}",
|
|
232
232
|
},
|
|
233
233
|
appleFailed: { de: "Apple Intelligence: {detail}", en: "Apple Intelligence: {detail}" },
|
|
234
234
|
appleNoFfmpeg: {
|
|
235
|
-
de: "Apple Intelligence liest {type} nicht
|
|
236
|
-
en: "Apple Intelligence
|
|
235
|
+
de: "Apple Intelligence liest {type} nicht, und ohne ffmpeg lässt sich die Aufnahme nicht umwandeln. Installiere ffmpeg oder nimm im Browser als MP4 auf.",
|
|
236
|
+
en: "Apple Intelligence can’t read {type}, and without ffmpeg the recording can’t be converted. Install ffmpeg or record as MP4 in the browser.",
|
|
237
237
|
},
|
|
238
238
|
appleNotConverted: {
|
|
239
|
-
de: "Apple Intelligence
|
|
240
|
-
en: "Apple Intelligence
|
|
239
|
+
de: "Apple Intelligence konnte die Aufnahme nicht umwandeln: {detail}",
|
|
240
|
+
en: "Apple Intelligence couldn’t convert the recording: {detail}",
|
|
241
241
|
},
|
|
242
242
|
};
|
|
243
243
|
/** What is said, in a language. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wizards",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.2",
|
|
4
4
|
"description": "Make a wish. Get your wizard. It guides you step by step. Let AI do the work. Runs on your machine, on the AI subscription you already have.",
|
|
5
5
|
"license": "FSL-1.1-MIT",
|
|
6
6
|
"homepage": "https://engenty.ai",
|
|
@@ -32,12 +32,12 @@
|
|
|
32
32
|
"@clack/prompts": "1.8.1",
|
|
33
33
|
"@engenty-wizards/plugin-sdk": "0.1.0",
|
|
34
34
|
"@engenty-wizards/shared": "0.1.0",
|
|
35
|
-
"@executor-js/plugin-openapi": "1.6.
|
|
35
|
+
"@executor-js/plugin-openapi": "1.6.10",
|
|
36
36
|
"@hono/node-server": "2.1.3",
|
|
37
37
|
"@libsql/client": "0.18.0",
|
|
38
|
-
"@mastra/core": "1.
|
|
38
|
+
"@mastra/core": "1.77.0",
|
|
39
39
|
"@mastra/docker": "0.8.0",
|
|
40
|
-
"@mastra/mcp": "2.
|
|
40
|
+
"@mastra/mcp": "2.4.0",
|
|
41
41
|
"@modelcontextprotocol/client": "2.2.0",
|
|
42
42
|
"@modelcontextprotocol/ext-apps": "2.0.3",
|
|
43
43
|
"@modelcontextprotocol/server": "2.2.0",
|
|
@@ -63,6 +63,7 @@
|
|
|
63
63
|
"postal-mime": "4.0.2",
|
|
64
64
|
"rfc6902": "5.3.0",
|
|
65
65
|
"turndown": "7.2.4",
|
|
66
|
+
"undici": "7.30.0",
|
|
66
67
|
"zod": "4.6.5"
|
|
67
68
|
},
|
|
68
69
|
"bundleDependencies": [
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t,t as n}from"./jsx-runtime-BNakU3Ej.js";import{$t as r,Kn as i,Qt as a,Vn as o,dn as s,en as c,gn as l,ln as u,on as d,pn as f,tn as p,vn as m}from"./ui-4IaTD7LB.js";import{t as h}from"./preload-helper-CNEI7N0N.js";import{H as g,U as _,W as v,_t as y}from"./index-BjQvGQp_.js";import{c as b,f as x}from"./settings-menu-BtEKL72n.js";import{ReleaseNotes as S,loadReleases as C,releaseDate as w,releaseLabel as T}from"./ChangelogDialog-BXpkgatF.js";var E=e(t(),1),D=[{name:`engenty wizards`,description:{de:`KI-Wizards aus einer Beschreibung, mit einem Link geteilt.`,en:`AI wizards built from a description, shared with a link.`},homepage:`https://github.com/engenty/wizards`,license:`FSL-1.1-MIT`},{name:`engenty`,description:{de:`Konnektoren, Datentabellen, Suche und die Engenties stammen aus dem engenty-Framework.`,en:`Connectors, data tables, search and the engenties come from the engenty framework.`},homepage:`https://github.com/engenty/engenty`,license:`FSL-1.1-MIT`}],O=[{name:`Mastra`,description:{de:`Agent-Framework hinter den KI-Schritten.`,en:`Agent framework behind the AI steps.`},homepage:`https://github.com/mastra-ai/mastra`,license:`Apache-2.0`},{name:`AI SDK`,description:{de:`Modell-Aufrufe für Text, Bild, Video und Sprache.`,en:`Model calls for text, image, video and speech.`},homepage:`https://github.com/vercel/ai`,license:`Apache-2.0`},{name:`Model Context Protocol`,description:{de:`MCP-Server zum Bauen von Wizards, MCP-Client für Werkzeuge der Schritte.`,en:`MCP server for building wizards, MCP client for the steps' tools.`},homepage:`https://github.com/modelcontextprotocol/typescript-sdk`,license:`MIT`},{name:`Hono`,description:{de:`HTTP-API der Runtime.`,en:`The runtime's HTTP API.`},homepage:`https://github.com/honojs/hono`,license:`MIT`},{name:`Drizzle ORM`,description:{de:`Schema und Migrationen der Datenbanken.`,en:`Schema and migrations of the databases.`},homepage:`https://github.com/drizzle-team/drizzle-orm`,license:`Apache-2.0`},{name:`libSQL`,description:{de:`Eine Datenbank je Mandant, lokal als Datei oder bei Turso.`,en:`One database per tenant, a local file or at Turso.`},homepage:`https://github.com/tursodatabase/libsql`,license:`MIT`},{name:`Playwright`,description:{de:`Browser-Schritte sowie PDF- und PNG-Export.`,en:`Browser steps and the PDF and PNG export.`},homepage:`https://github.com/microsoft/playwright`,license:`Apache-2.0`},{name:`agentOS`,description:{de:`Sandbox für Code-Schritte ohne Docker.`,en:`Sandbox for code steps without Docker.`},homepage:`https://github.com/rivet-dev/agentos`,license:`Apache-2.0`},{name:`React`,description:{de:`UI-Bibliothek der Web-App.`,en:`UI library of the web app.`},homepage:`https://github.com/facebook/react`,license:`MIT`},{name:`Vite`,description:{de:`Build-Werkzeug der Web-App.`,en:`Build tool of the web app.`},homepage:`https://github.com/vitejs/vite`,license:`MIT`},{name:`Tailwind CSS`,description:{de:`Styling der Oberfläche.`,en:`Styling of the interface.`},homepage:`https://github.com/tailwindlabs/tailwindcss`,license:`MIT`},{name:`React Flow`,description:{de:`Das Diagramm der Schritte im Editor.`,en:`The diagram of steps in the editor.`},homepage:`https://github.com/xyflow/xyflow`,license:`MIT`},{name:`TanStack Query`,description:{de:`Server-Daten in der Web-App.`,en:`Server data in the web app.`},homepage:`https://github.com/TanStack/query`,license:`MIT`},{name:`xterm.js`,description:{de:`Das Terminal auf der Seite, in dem sich KI-Clients anmelden.`,en:`The terminal on the page where AI clients sign in.`},homepage:`https://github.com/xtermjs/xterm.js`,license:`MIT`},{name:`Lucide`,description:{de:`Icons.`,en:`Icons.`},homepage:`https://github.com/lucide-icons/lucide`,license:`ISC`},{name:`Geist & Geist Mono`,description:{de:`Schrift der Oberfläche.`,en:`Typeface of the interface.`},homepage:`https://github.com/vercel/geist-font`,license:`OFL-1.1`},{name:`Space Grotesk`,description:{de:`Schrift der Überschriften.`,en:`Typeface of the headings.`},homepage:`https://github.com/floriankarsten/space-grotesk`,license:`OFL-1.1`},{name:`git-cliff`,description:{de:`Erzeugt den Changelog aus den Commits.`,en:`Generates the changelog from the commits.`},homepage:`https://github.com/orhun/git-cliff`,license:`MIT OR Apache-2.0`}],k=e(n(),1),A=(e,...t)=>t.some(t=>t?.toLowerCase().includes(e));function j({name:e,homepage:t,version:n,license:r,description:i}){return(0,k.jsxs)(`li`,{className:`py-2.5`,children:[(0,k.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-2.5 gap-y-0.5`,children:[t?(0,k.jsxs)(`a`,{href:t,target:`_blank`,rel:`noreferrer`,className:`inline-flex items-center gap-1 font-medium text-[0.875rem] text-ink underline-offset-4 hover:underline`,children:[e,(0,k.jsx)(o,{"aria-hidden":!0,className:`size-3 text-ink-4`})]}):(0,k.jsx)(`span`,{className:`font-medium text-[0.875rem] text-ink`,children:e}),n?(0,k.jsx)(`span`,{className:`text-[0.75rem] text-ink-3 tabular-nums`,children:n}):null,(0,k.jsx)(`span`,{className:`text-[0.75rem] text-ink-3`,children:r})]}),i?(0,k.jsx)(`p`,{className:`mt-0.5 text-[0.8125rem] text-ink-3`,children:i}):null]})}function M({title:e,hint:t,children:n}){return(0,k.jsxs)(`section`,{className:`mt-6`,children:[(0,k.jsx)(`h3`,{className:`border-border-soft border-b pb-2 font-display font-semibold text-[1rem]`,children:e}),t?(0,k.jsx)(`p`,{className:`mt-2 text-[0.8125rem] text-ink-3`,children:t}):null,n]})}function N({credits:e}){return(0,k.jsx)(`ul`,{className:`divide-y divide-border-soft`,children:e.map(e=>(0,k.jsx)(j,{name:e.name,homepage:e.homepage,license:e.license,description:e.description[f]},e.name))})}function P({label:e,packages:t}){return(0,k.jsxs)(`div`,{className:`mt-4`,children:[(0,k.jsx)(`h4`,{className:`font-medium text-[0.75rem] text-ink-3 tracking-wide`,children:e}),(0,k.jsx)(`ul`,{className:`divide-y divide-border-soft`,children:t.map(e=>(0,k.jsx)(j,{...e},e.name))})]})}function F({active:e}){let[t,n]=(0,E.useState)(null),[i,a]=(0,E.useState)(``);(0,E.useEffect)(()=>{if(!e||t)return;let r=!1;return h(()=>import(`./oss-credits-BQQX0kvk.js`).then(e=>{r||n(e.default)}),[]),()=>{r=!0}},[e,t]),(0,E.useEffect)(()=>{e||a(``)},[e]);let o=i.trim().toLowerCase(),s=e=>o?e.filter(e=>A(o,e.name,e.license,e.description.de,e.description.en)):e,c=e=>o?e.filter(e=>A(o,e.name,e.license,e.version)):e,u=s(D),f=s(O),m=t?[{id:`shared`,label:l(`about.creditsShared`),packages:c(t.shared)},...t.groups.map(e=>({id:e.id,label:e.label,packages:c(e.packages)}))].filter(e=>e.packages.length>0):[],g=u.length===0&&f.length===0&&m.length===0;return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`p`,{className:`mb-4 text-[0.875rem] text-ink-3`,children:l(`about.creditsHint`)}),(0,k.jsx)(p,{type:`search`,value:i,placeholder:l(`about.search`),onChange:e=>a(e.target.value)}),u.length>0?(0,k.jsx)(M,{title:l(`about.creditsProduct`),children:(0,k.jsx)(N,{credits:u})}):null,f.length>0?(0,k.jsx)(M,{title:l(`about.creditsBuiltWith`),children:(0,k.jsx)(N,{credits:f})}):null,t===null?(0,k.jsx)(`div`,{className:`flex justify-center py-10 text-ink-3`,children:(0,k.jsx)(d,{})}):m.length>0?(0,k.jsx)(M,{title:l(`about.creditsDeps`),hint:o?void 0:l(`about.creditsDepsHint`),children:m.map(e=>(0,k.jsx)(P,{label:e.label,packages:e.packages},e.id))}):null,t!==null&&g?(0,k.jsx)(r,{children:l(`about.noMatches`)}):null]})}var I=[`new`,`earlier`,`credits`],L=e=>l(e===`new`?`about.tab.new`:e===`earlier`?`about.tab.earlier`:`about.credits`),R=e=>e===1?l(`about.change`):l(`about.changes`,{n:e});function z({open:e,onClose:t,me:n}){let r=n?.mode===`local`,{data:o,latest:f}=v(r&&e),[p,h]=(0,E.useState)(null),[D,O]=(0,E.useState)(`new`),A=x(I.indexOf(D)),j=o?.newer&&f?f:_;(0,E.useEffect)(()=>{if(!e)return;let t=!1;return h(null),C(j===`0.5.0`?void 0:j).then(e=>{t||h(e)}),()=>{t=!0}},[e,j]);let M=p?.find(e=>e.version===`v${j}`)??p?.[0]??null,N=p?.filter(e=>e!==M)??[],P=r?o?.kind??null:`cloud`;return(0,k.jsxs)(a,{open:e,onClose:t,wide:!0,height:`tall`,children:[(0,k.jsx)(`div`,{className:`-mt-2 -mr-2 sticky top-0 z-10 flex h-0 justify-end`,children:(0,k.jsx)(c,{label:l(`common.close`),onClick:t,children:(0,k.jsx)(m,{className:`size-4`})})}),(0,k.jsxs)(`div`,{className:`flex flex-col items-center pt-4 text-center`,children:[(0,k.jsx)(y,{size:96}),(0,k.jsxs)(`div`,{className:`mt-4 font-display font-semibold text-[1.5rem] tracking-tight`,children:[`engenty`,(0,k.jsx)(`span`,{className:`text-ember`,children:`.`}),(0,k.jsx)(`span`,{className:`ml-1.5 font-normal text-ink-3`,children:`wizards`})]}),(0,k.jsxs)(`div`,{className:`mt-1 text-[0.9375rem] text-ink-3 tabular-nums`,children:[l(`about.version`,{v:_}),P?` · ${l(`about.kind.${P}`)}`:``]})]}),r?(0,k.jsx)(`div`,{className:`mt-5`,children:(0,k.jsx)(g,{enabled:e})}):null,(0,k.jsx)(`div`,{className:`mt-6 flex justify-center`,children:(0,k.jsx)(u,{value:D,onChange:O,options:I.map(e=>({id:e,label:L(e)})),label:l(`about.title`)})}),(0,k.jsxs)(`div`,{className:s(`mt-5`,b(A)),children:[D===`new`?p===null?(0,k.jsx)(`div`,{className:`flex justify-center py-6 text-ink-3`,children:(0,k.jsx)(d,{})}):M?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsxs)(`h3`,{className:`flex items-baseline gap-3 border-border-soft border-b pb-2 font-display font-semibold text-[1rem]`,children:[T(M),(0,k.jsx)(`span`,{className:`font-normal font-sans text-[0.8125rem] text-ink-3 tabular-nums`,children:w(M)})]}),(0,k.jsx)(`div`,{className:`mt-3`,children:(0,k.jsx)(S,{release:M})})]}):(0,k.jsx)(`p`,{className:`text-[0.875rem] text-ink-3`,children:l(`about.changelogEmpty`)}):null,D===`earlier`?(0,k.jsx)(`div`,{className:`flex flex-col divide-y divide-border-soft`,children:N.map(e=>(0,k.jsxs)(`details`,{className:`group/r py-2`,children:[(0,k.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-baseline gap-3 text-[0.875rem] [&::-webkit-details-marker]:hidden`,children:[(0,k.jsx)(i,{className:`size-3.5 shrink-0 self-center text-ink-4 transition group-open/r:rotate-90`}),(0,k.jsx)(`span`,{className:`font-medium text-ink tabular-nums`,children:T(e)}),(0,k.jsx)(`span`,{className:`text-[0.8125rem] text-ink-3 tabular-nums`,children:w(e)}),(0,k.jsx)(`span`,{className:`ml-auto text-[0.8125rem] text-ink-4`,children:R(e.commits.length)})]}),(0,k.jsx)(`div`,{className:`mt-2 pl-6`,children:(0,k.jsx)(S,{release:e})})]},e.version??`unreleased`))}):null,D===`credits`?(0,k.jsx)(F,{active:!0}):null]},D)]})}export{z as AboutDialog};
|