@engenty/wizards-runtime 0.0.0-stage → 0.7.5
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/LICENSE +110 -0
- package/README.md +214 -2
- package/apps/runtime/dist/agents/architect.js +444 -0
- package/apps/runtime/dist/agents/studio-assistant.js +883 -0
- package/apps/runtime/dist/agents/subscription.js +207 -0
- package/apps/runtime/dist/agents/thought.js +21 -0
- package/apps/runtime/dist/agents/website.js +480 -0
- package/apps/runtime/dist/app.js +359 -0
- package/apps/runtime/dist/apple/wizards-apple +0 -0
- package/apps/runtime/dist/assistant/browser.js +26 -0
- package/apps/runtime/dist/assistant/docs.js +158 -0
- package/apps/runtime/dist/assistant/knows.js +353 -0
- package/apps/runtime/dist/assistant/primer.js +26 -0
- package/apps/runtime/dist/assistant/runs.js +24 -0
- package/apps/runtime/dist/auth/account.js +175 -0
- package/apps/runtime/dist/auth/device.js +112 -0
- package/apps/runtime/dist/auth/index.js +358 -0
- package/apps/runtime/dist/auth/keys.js +55 -0
- package/apps/runtime/dist/auth/local-ticket.js +26 -0
- package/apps/runtime/dist/authoring/example.js +74 -0
- package/apps/runtime/dist/authoring/guide.js +433 -0
- package/apps/runtime/dist/authoring/ops.js +117 -0
- package/apps/runtime/dist/browser/fast/action-space.js +160 -0
- package/apps/runtime/dist/browser/fast/classifier.js +91 -0
- package/apps/runtime/dist/browser/fast/decide.js +171 -0
- package/apps/runtime/dist/browser/fast/driver.js +141 -0
- package/apps/runtime/dist/browser/fast/instructions.js +33 -0
- package/apps/runtime/dist/browser/fast/run.js +249 -0
- package/apps/runtime/dist/browser/fast/span-picker.js +153 -0
- package/apps/runtime/dist/browser/fast/text-helper.js +178 -0
- package/apps/runtime/dist/browser/snapshot.js +335 -0
- package/apps/runtime/dist/cli/account.js +385 -0
- package/apps/runtime/dist/cli/autostart.js +182 -0
- package/apps/runtime/dist/cli/autoupdate.js +221 -0
- package/apps/runtime/dist/cli/clients.js +44 -0
- package/apps/runtime/dist/cli/connect.js +540 -0
- package/apps/runtime/dist/cli/environment.js +93 -0
- package/apps/runtime/dist/cli/exec.js +45 -0
- package/apps/runtime/dist/cli/features.js +50 -0
- package/apps/runtime/dist/cli/home.js +88 -0
- package/apps/runtime/dist/cli/install-env.js +33 -0
- package/apps/runtime/dist/cli/machine.js +107 -0
- package/apps/runtime/dist/cli/main.js +222 -0
- package/apps/runtime/dist/cli/mcp.js +136 -0
- package/apps/runtime/dist/cli/menu.js +202 -0
- package/apps/runtime/dist/cli/processes.js +72 -0
- package/apps/runtime/dist/cli/report.js +66 -0
- package/apps/runtime/dist/cli/setup.js +335 -0
- package/apps/runtime/dist/cli/start.js +276 -0
- package/apps/runtime/dist/cli/status.js +203 -0
- package/apps/runtime/dist/cli/ui.js +59 -0
- package/apps/runtime/dist/cli/uninstall-main.js +20 -0
- package/apps/runtime/dist/cli/uninstall.js +231 -0
- package/apps/runtime/dist/cli/update.js +86 -0
- package/apps/runtime/dist/cli/validate.js +75 -0
- package/apps/runtime/dist/cli/versions.js +123 -0
- package/apps/runtime/dist/connectors/builtin.js +86 -0
- package/apps/runtime/dist/connectors/external.js +409 -0
- package/apps/runtime/dist/connectors/gmail.js +107 -0
- package/apps/runtime/dist/connectors/imap.js +261 -0
- package/apps/runtime/dist/connectors/index.js +325 -0
- package/apps/runtime/dist/connectors/mail.js +72 -0
- package/apps/runtime/dist/connectors/outlook.js +90 -0
- package/apps/runtime/dist/connectors/plugin-connections.js +343 -0
- package/apps/runtime/dist/connectors/via-account.js +65 -0
- package/apps/runtime/dist/credits/credits.js +100 -0
- package/apps/runtime/dist/credits/estimate.js +152 -0
- package/apps/runtime/dist/db/adopt.js +149 -0
- package/apps/runtime/dist/db/client.js +173 -0
- package/apps/runtime/dist/db/control-schema.js +133 -0
- package/apps/runtime/dist/db/migrations/control/0000_last_absorbing_man.sql +47 -0
- package/apps/runtime/dist/db/migrations/control/0001_gorgeous_nicolaos.sql +41 -0
- package/apps/runtime/dist/db/migrations/control/0002_secret_penance.sql +1 -0
- package/apps/runtime/dist/db/migrations/control/0003_nasty_mordo.sql +3 -0
- package/apps/runtime/dist/db/migrations/control/0004_breezy_eddie_brock.sql +6 -0
- package/apps/runtime/dist/db/migrations/control/0005_chilly_oracle.sql +1 -0
- package/apps/runtime/dist/db/migrations/control/0006_sleepy_mojo.sql +1 -0
- package/apps/runtime/dist/db/migrations/control/0007_common_the_hand.sql +15 -0
- package/apps/runtime/dist/db/migrations/control/0008_runner.sql +8 -0
- package/apps/runtime/dist/db/migrations/control/0009_plugin_claim.sql +9 -0
- package/apps/runtime/dist/db/migrations/control/0010_tan_snowbird.sql +6 -0
- package/apps/runtime/dist/db/migrations/control/meta/0000_snapshot.json +311 -0
- package/apps/runtime/dist/db/migrations/control/meta/0001_snapshot.json +599 -0
- package/apps/runtime/dist/db/migrations/control/meta/0002_snapshot.json +607 -0
- package/apps/runtime/dist/db/migrations/control/meta/0003_snapshot.json +311 -0
- package/apps/runtime/dist/db/migrations/control/meta/0004_snapshot.json +350 -0
- package/apps/runtime/dist/db/migrations/control/meta/0005_snapshot.json +358 -0
- package/apps/runtime/dist/db/migrations/control/meta/0006_snapshot.json +365 -0
- package/apps/runtime/dist/db/migrations/control/meta/0007_snapshot.json +460 -0
- package/apps/runtime/dist/db/migrations/control/meta/0008_snapshot.json +505 -0
- package/apps/runtime/dist/db/migrations/control/meta/0009_snapshot.json +561 -0
- package/apps/runtime/dist/db/migrations/control/meta/0010_snapshot.json +600 -0
- package/apps/runtime/dist/db/migrations/control/meta/_journal.json +83 -0
- package/apps/runtime/dist/db/migrations/tenant/0000_eminent_freak.sql +188 -0
- package/apps/runtime/dist/db/migrations/tenant/0001_salty_master_chief.sql +1 -0
- package/apps/runtime/dist/db/migrations/tenant/0002_cloudy_firebird.sql +1 -0
- package/apps/runtime/dist/db/migrations/tenant/0003_brown_warbound.sql +52 -0
- package/apps/runtime/dist/db/migrations/tenant/0004_romantic_nocturne.sql +6 -0
- package/apps/runtime/dist/db/migrations/tenant/0005_reflective_forgotten_one.sql +2 -0
- package/apps/runtime/dist/db/migrations/tenant/0006_hard_war_machine.sql +30 -0
- package/apps/runtime/dist/db/migrations/tenant/0007_space_data.sql +43 -0
- package/apps/runtime/dist/db/migrations/tenant/0008_run_event_note.sql +1 -0
- package/apps/runtime/dist/db/migrations/tenant/0009_knowledge.sql +104 -0
- package/apps/runtime/dist/db/migrations/tenant/0010_plugin_connection.sql +15 -0
- package/apps/runtime/dist/db/migrations/tenant/0011_runners.sql +2 -0
- package/apps/runtime/dist/db/migrations/tenant/0012_assistant_chat.sql +40 -0
- package/apps/runtime/dist/db/migrations/tenant/0013_run_origin.sql +1 -0
- package/apps/runtime/dist/db/migrations/tenant/0014_run_answer.sql +2 -0
- package/apps/runtime/dist/db/migrations/tenant/0015_device_calls.sql +13 -0
- package/apps/runtime/dist/db/migrations/tenant/0016_even_trish_tilby.sql +12 -0
- package/apps/runtime/dist/db/migrations/tenant/meta/0000_snapshot.json +1323 -0
- package/apps/runtime/dist/db/migrations/tenant/meta/0001_snapshot.json +1330 -0
- package/apps/runtime/dist/db/migrations/tenant/meta/0002_snapshot.json +1337 -0
- package/apps/runtime/dist/db/migrations/tenant/meta/0003_snapshot.json +1605 -0
- package/apps/runtime/dist/db/migrations/tenant/meta/0004_snapshot.json +1645 -0
- package/apps/runtime/dist/db/migrations/tenant/meta/0005_snapshot.json +1659 -0
- package/apps/runtime/dist/db/migrations/tenant/meta/0006_snapshot.json +1696 -0
- package/apps/runtime/dist/db/migrations/tenant/meta/0007_snapshot.json +2012 -0
- package/apps/runtime/dist/db/migrations/tenant/meta/0008_snapshot.json +2019 -0
- package/apps/runtime/dist/db/migrations/tenant/meta/0009_snapshot.json +2837 -0
- package/apps/runtime/dist/db/migrations/tenant/meta/0010_snapshot.json +2942 -0
- package/apps/runtime/dist/db/migrations/tenant/meta/0011_snapshot.json +2956 -0
- package/apps/runtime/dist/db/migrations/tenant/meta/0012_snapshot.json +3132 -0
- package/apps/runtime/dist/db/migrations/tenant/meta/0013_snapshot.json +3139 -0
- package/apps/runtime/dist/db/migrations/tenant/meta/0014_snapshot.json +3154 -0
- package/apps/runtime/dist/db/migrations/tenant/meta/0015_snapshot.json +3243 -0
- package/apps/runtime/dist/db/migrations/tenant/meta/0016_snapshot.json +3326 -0
- package/apps/runtime/dist/db/migrations/tenant/meta/_journal.json +125 -0
- package/apps/runtime/dist/db/schema.js +602 -0
- package/apps/runtime/dist/debug.js +196 -0
- package/apps/runtime/dist/docs/dev/index.md +41 -0
- package/apps/runtime/dist/docs/dev/meta.json +7 -0
- package/apps/runtime/dist/docs/dev/plugins/connections.md +74 -0
- package/apps/runtime/dist/docs/dev/plugins/events.md +89 -0
- package/apps/runtime/dist/docs/dev/plugins/examples.md +101 -0
- package/apps/runtime/dist/docs/dev/plugins/index.md +78 -0
- package/apps/runtime/dist/docs/dev/plugins/layout.md +90 -0
- package/apps/runtime/dist/docs/dev/plugins/meta.json +28 -0
- package/apps/runtime/dist/docs/dev/plugins/quick-start.md +94 -0
- package/apps/runtime/dist/docs/dev/plugins/reference.md +348 -0
- package/apps/runtime/dist/docs/dev/plugins/reloading.md +76 -0
- package/apps/runtime/dist/docs/dev/plugins/routes.md +185 -0
- package/apps/runtime/dist/docs/dev/plugins/runners.md +230 -0
- package/apps/runtime/dist/docs/dev/plugins/server.md +281 -0
- package/apps/runtime/dist/docs/dev/plugins/shipping.md +79 -0
- package/apps/runtime/dist/docs/dev/plugins/space.md +297 -0
- package/apps/runtime/dist/docs/dev/plugins/starters.md +70 -0
- package/apps/runtime/dist/docs/dev/plugins/studio.md +363 -0
- package/apps/runtime/dist/docs/dev/plugins/styling.md +129 -0
- package/apps/runtime/dist/docs/dev/plugins/tables.md +104 -0
- package/apps/runtime/dist/docs/dev/plugins/tools.md +139 -0
- package/apps/runtime/dist/docs/dev/wizard-format.md +125 -0
- package/apps/runtime/dist/docs/meta.json +3 -0
- package/apps/runtime/dist/docs/user/ai-apps.md +112 -0
- package/apps/runtime/dist/docs/user/assistant.md +77 -0
- package/apps/runtime/dist/docs/user/build-a-wizard.md +116 -0
- package/apps/runtime/dist/docs/user/command-line.md +83 -0
- package/apps/runtime/dist/docs/user/connectors.md +90 -0
- package/apps/runtime/dist/docs/user/create-account.md +52 -0
- package/apps/runtime/dist/docs/user/data.md +66 -0
- package/apps/runtime/dist/docs/user/first-start.md +60 -0
- package/apps/runtime/dist/docs/user/index.md +49 -0
- package/apps/runtime/dist/docs/user/install.md +123 -0
- package/apps/runtime/dist/docs/user/local-only.md +42 -0
- package/apps/runtime/dist/docs/user/meta.json +32 -0
- package/apps/runtime/dist/docs/user/models.md +156 -0
- package/apps/runtime/dist/docs/user/plugins.md +71 -0
- package/apps/runtime/dist/docs/user/run.md +98 -0
- package/apps/runtime/dist/docs/user/server.md +52 -0
- package/apps/runtime/dist/docs/user/space.md +126 -0
- package/apps/runtime/dist/docs/user/steps.md +220 -0
- package/apps/runtime/dist/docs/user/test-and-share.md +224 -0
- package/apps/runtime/dist/docs/user/troubleshooting.md +67 -0
- package/apps/runtime/dist/docs/user/wordpress.md +121 -0
- package/apps/runtime/dist/documents/parse.js +246 -0
- package/apps/runtime/dist/engenty/connections-external/build-connector.js +193 -0
- package/apps/runtime/dist/engenty/connections-external/errors.js +11 -0
- package/apps/runtime/dist/engenty/connections-external/import-service.js +270 -0
- package/apps/runtime/dist/engenty/connections-external/importer/classify.js +34 -0
- package/apps/runtime/dist/engenty/connections-external/importer/map-auth.js +185 -0
- package/apps/runtime/dist/engenty/connections-external/importer/normalize-mcp.js +63 -0
- package/apps/runtime/dist/engenty/connections-external/importer/normalize-openapi.js +130 -0
- package/apps/runtime/dist/engenty/connections-external/invoke/http-invoker.js +143 -0
- package/apps/runtime/dist/engenty/connections-external/invoke/mcp-client.js +143 -0
- package/apps/runtime/dist/engenty/connections-external/net/guarded-fetch.js +119 -0
- package/apps/runtime/dist/engenty/connections-external/oauth-dcr.js +88 -0
- package/apps/runtime/dist/engenty/connections-external/registry-client.js +336 -0
- package/apps/runtime/dist/engenty/connections-external/registry-source.js +82 -0
- package/apps/runtime/dist/engenty/connections-external/types.js +7 -0
- package/apps/runtime/dist/engenty/connections-github/connector.js +209 -0
- package/apps/runtime/dist/engenty/connections-google/connectors/calendar.js +381 -0
- package/apps/runtime/dist/engenty/connections-google/connectors/contacts.js +94 -0
- package/apps/runtime/dist/engenty/connections-google/connectors/drive.js +290 -0
- package/apps/runtime/dist/engenty/connections-google/connectors/gmail.js +567 -0
- package/apps/runtime/dist/engenty/connections-google/definitions.js +11 -0
- package/apps/runtime/dist/engenty/connections-google/shared.js +73 -0
- package/apps/runtime/dist/engenty/connections-hubspot/connector.js +140 -0
- package/apps/runtime/dist/engenty/connections-microsoft/action.js +17 -0
- package/apps/runtime/dist/engenty/connections-microsoft/graph.js +114 -0
- package/apps/runtime/dist/engenty/connections-microsoft/onedrive.js +286 -0
- package/apps/runtime/dist/engenty/connections-microsoft/outlook.js +492 -0
- package/apps/runtime/dist/engenty/connections-s3/s3.js +328 -0
- package/apps/runtime/dist/engenty/connections-sdk/files-capability.js +86 -0
- package/apps/runtime/dist/engenty/connections-sdk/oauth2.js +150 -0
- package/apps/runtime/dist/engenty/connections-sdk/registry.js +89 -0
- package/apps/runtime/dist/engenty/connections-sdk/storage-capability.js +84 -0
- package/apps/runtime/dist/engenty/connections-sdk/types.js +30 -0
- package/apps/runtime/dist/engenty/connections-slack/connector.js +360 -0
- package/apps/runtime/dist/engenty/csv-import/csv-matrix.js +178 -0
- package/apps/runtime/dist/engenty/csv-import/import-sources.js +87 -0
- package/apps/runtime/dist/engenty/csv-import/parse-csv.js +129 -0
- package/apps/runtime/dist/engenty/csv-import/serialize-csv.js +20 -0
- package/apps/runtime/dist/engenty/csv-import/types.js +1 -0
- package/apps/runtime/dist/engenty/csv-import/xlsx-workbook.js +159 -0
- package/apps/runtime/dist/engenty/doc-converter/interface.js +9 -0
- package/apps/runtime/dist/engenty/doc-converter/page-break.js +92 -0
- package/apps/runtime/dist/engenty/doc-converter/providers/local/index.js +72 -0
- package/apps/runtime/dist/engenty/document-scanner/schemas/classifier.js +30 -0
- package/apps/runtime/dist/engenty/document-scanner/schemas/index.js +4 -0
- package/apps/runtime/dist/engenty/document-scanner/schemas/invoice.js +73 -0
- package/apps/runtime/dist/engenty/document-scanner/schemas/receipt.js +63 -0
- package/apps/runtime/dist/engenty/document-scanner/schemas/shared.js +40 -0
- package/apps/runtime/dist/engenty/search-index/chunks.js +164 -0
- package/apps/runtime/dist/engenty/search-index/contracts.js +9 -0
- package/apps/runtime/dist/engenty/shims/connections-sdk.js +39 -0
- package/apps/runtime/dist/engenty/shims/plugin-sdk.js +1 -0
- package/apps/runtime/dist/engenty/shims/web-ingest.js +19 -0
- package/apps/runtime/dist/engenty/web-ingest/ssrf.js +277 -0
- package/apps/runtime/dist/engine/asks.js +82 -0
- package/apps/runtime/dist/engine/decide.js +82 -0
- package/apps/runtime/dist/engine/device.js +194 -0
- package/apps/runtime/dist/engine/events.js +128 -0
- package/apps/runtime/dist/engine/input.js +208 -0
- package/apps/runtime/dist/engine/owner.js +32 -0
- package/apps/runtime/dist/engine/prepare.js +90 -0
- package/apps/runtime/dist/engine/push.js +58 -0
- package/apps/runtime/dist/engine/requirements.js +355 -0
- package/apps/runtime/dist/engine/resources.js +198 -0
- package/apps/runtime/dist/engine/runner.js +970 -0
- package/apps/runtime/dist/engine/steps.js +1000 -0
- package/apps/runtime/dist/engine/surface.js +91 -0
- package/apps/runtime/dist/engine/template.js +240 -0
- package/apps/runtime/dist/engine/types.js +4 -0
- package/apps/runtime/dist/env.js +295 -0
- package/apps/runtime/dist/features.js +123 -0
- package/apps/runtime/dist/files/blobs.js +22 -0
- package/apps/runtime/dist/files/objects.js +86 -0
- package/apps/runtime/dist/files/storage.js +120 -0
- package/apps/runtime/dist/files/web-images.js +101 -0
- package/apps/runtime/dist/film/project.js +257 -0
- package/apps/runtime/dist/film/skills.js +91 -0
- package/apps/runtime/dist/film/sounds.js +122 -0
- package/apps/runtime/dist/film/step.js +289 -0
- package/apps/runtime/dist/film/tools.js +99 -0
- package/apps/runtime/dist/geocode.js +58 -0
- package/apps/runtime/dist/harness/antigravity.js +129 -0
- package/apps/runtime/dist/harness/apple.js +270 -0
- package/apps/runtime/dist/harness/claude.js +147 -0
- package/apps/runtime/dist/harness/codex.js +229 -0
- package/apps/runtime/dist/harness/cursor.js +93 -0
- package/apps/runtime/dist/harness/env.js +124 -0
- package/apps/runtime/dist/harness/index.js +95 -0
- package/apps/runtime/dist/harness/model.js +279 -0
- package/apps/runtime/dist/harness/prompt.js +121 -0
- package/apps/runtime/dist/harness/terminal.js +194 -0
- package/apps/runtime/dist/harness/types.js +7 -0
- package/apps/runtime/dist/index.js +113 -0
- package/apps/runtime/dist/limits.js +81 -0
- package/apps/runtime/dist/link-preview.js +60 -0
- package/apps/runtime/dist/log.js +106 -0
- package/apps/runtime/dist/manage.js +249 -0
- package/apps/runtime/dist/mcp/auth.js +161 -0
- package/apps/runtime/dist/mcp/bridge.js +59 -0
- package/apps/runtime/dist/mcp/flow-app.js +97 -0
- package/apps/runtime/dist/mcp/handler.js +54 -0
- package/apps/runtime/dist/mcp/scopes.js +14 -0
- package/apps/runtime/dist/mcp/seen.js +65 -0
- package/apps/runtime/dist/mcp/tools.js +572 -0
- package/apps/runtime/dist/media/conversation.js +167 -0
- package/apps/runtime/dist/media/ffmpeg.js +121 -0
- package/apps/runtime/dist/media/generate.js +120 -0
- package/apps/runtime/dist/media/marking.js +121 -0
- package/apps/runtime/dist/media/transcribe.js +198 -0
- package/apps/runtime/dist/model-errors.js +42 -0
- package/apps/runtime/dist/models.js +1164 -0
- package/apps/runtime/dist/plugin.js +61 -0
- package/apps/runtime/dist/plugins/channels.js +78 -0
- package/apps/runtime/dist/plugins/claims.js +56 -0
- package/apps/runtime/dist/plugins/discovery.js +155 -0
- package/apps/runtime/dist/plugins/events.js +63 -0
- package/apps/runtime/dist/plugins/jobs.js +64 -0
- package/apps/runtime/dist/plugins/loader.js +508 -0
- package/apps/runtime/dist/plugins/migrations.js +69 -0
- package/apps/runtime/dist/plugins/pro-keys.js +34 -0
- package/apps/runtime/dist/plugins/pro-state.js +83 -0
- package/apps/runtime/dist/plugins/pro.js +310 -0
- package/apps/runtime/dist/plugins/public.js +44 -0
- package/apps/runtime/dist/plugins/registry.js +122 -0
- package/apps/runtime/dist/plugins/runs.js +210 -0
- package/apps/runtime/dist/render/browser-path.js +54 -0
- package/apps/runtime/dist/render/chromium.js +98 -0
- package/apps/runtime/dist/render/convert.js +158 -0
- package/apps/runtime/dist/render/downloads.js +299 -0
- package/apps/runtime/dist/render/guard.js +25 -0
- package/apps/runtime/dist/render/shaped.js +137 -0
- package/apps/runtime/dist/routes/api.js +440 -0
- package/apps/runtime/dist/routes/debug.js +42 -0
- package/apps/runtime/dist/routes/delivery.js +90 -0
- package/apps/runtime/dist/routes/internal.js +81 -0
- package/apps/runtime/dist/routes/lang.js +25 -0
- package/apps/runtime/dist/routes/marketplace.js +43 -0
- package/apps/runtime/dist/routes/plugin-public.js +113 -0
- package/apps/runtime/dist/routes/plugins.js +212 -0
- package/apps/runtime/dist/routes/runs.js +1422 -0
- package/apps/runtime/dist/routes/studio.js +1629 -0
- package/apps/runtime/dist/routes/wizard-stream.js +30 -0
- package/apps/runtime/dist/running.js +39 -0
- package/apps/runtime/dist/sandbox/docker.js +75 -0
- package/apps/runtime/dist/sandbox/index.js +23 -0
- package/apps/runtime/dist/sandbox/types.js +1 -0
- package/apps/runtime/dist/secrets/crypto.js +28 -0
- package/apps/runtime/dist/secrets/signing.js +52 -0
- package/apps/runtime/dist/secrets/vault.js +59 -0
- package/apps/runtime/dist/services/access.js +88 -0
- package/apps/runtime/dist/services/api.js +248 -0
- package/apps/runtime/dist/services/architect.js +95 -0
- package/apps/runtime/dist/services/assistant-chats.js +311 -0
- package/apps/runtime/dist/services/brand.js +85 -0
- package/apps/runtime/dist/services/cloud.js +456 -0
- package/apps/runtime/dist/services/draft-events.js +27 -0
- package/apps/runtime/dist/services/engenty-shapes.js +71 -0
- package/apps/runtime/dist/services/errors.js +29 -0
- package/apps/runtime/dist/services/files.js +178 -0
- package/apps/runtime/dist/services/knowledge-model.js +559 -0
- package/apps/runtime/dist/services/knowledge.js +721 -0
- package/apps/runtime/dist/services/links.js +16 -0
- package/apps/runtime/dist/services/marketplace.js +492 -0
- package/apps/runtime/dist/services/onboarding.js +152 -0
- package/apps/runtime/dist/services/package-file.js +82 -0
- package/apps/runtime/dist/services/package.js +170 -0
- package/apps/runtime/dist/services/profile.js +51 -0
- package/apps/runtime/dist/services/project-files.js +439 -0
- package/apps/runtime/dist/services/project-index.js +707 -0
- package/apps/runtime/dist/services/projects.js +387 -0
- package/apps/runtime/dist/services/relevance.js +58 -0
- package/apps/runtime/dist/services/runners.js +178 -0
- package/apps/runtime/dist/services/runs.js +524 -0
- package/apps/runtime/dist/services/shares.js +130 -0
- package/apps/runtime/dist/services/site.js +270 -0
- package/apps/runtime/dist/services/space-categories.js +861 -0
- package/apps/runtime/dist/services/space-data.js +792 -0
- package/apps/runtime/dist/services/space-origin.js +207 -0
- package/apps/runtime/dist/services/spaces.js +656 -0
- package/apps/runtime/dist/services/translations.js +306 -0
- package/apps/runtime/dist/services/widgets.js +34 -0
- package/apps/runtime/dist/services/wizard-icon.js +157 -0
- package/apps/runtime/dist/services/wizards.js +420 -0
- package/apps/runtime/dist/settings.js +16 -0
- package/apps/runtime/dist/store/errors.js +4 -0
- package/apps/runtime/dist/store/index.js +299 -0
- package/apps/runtime/dist/store/shared-lists.js +123 -0
- package/apps/runtime/dist/tenants/control.js +238 -0
- package/apps/runtime/dist/tenants/tenant.js +26 -0
- package/apps/runtime/dist/texts.js +207 -0
- package/apps/runtime/dist/tools/browser.js +703 -0
- package/apps/runtime/dist/tools/connector.js +204 -0
- package/apps/runtime/dist/tools/index.js +291 -0
- package/apps/runtime/dist/tools/mail.js +104 -0
- package/apps/runtime/dist/tools/net-guard.js +170 -0
- package/apps/runtime/dist/tools/pages.js +81 -0
- package/apps/runtime/dist/tools/plugin.js +180 -0
- package/apps/runtime/dist/tools/project.js +154 -0
- package/apps/runtime/dist/tools/shared.js +69 -0
- package/apps/runtime/dist/tools/store.js +238 -0
- package/apps/runtime/dist/update.js +113 -0
- package/apps/runtime/dist/widgets/bundle.js +99 -0
- package/apps/runtime/dist/widgets/render.js +329 -0
- package/apps/runtime/dist/widgets/runtime.js +108 -0
- package/apps/runtime/dist/widgets/script.js +30 -0
- package/apps/runtime/dist/widgets/step.js +223 -0
- package/apps/web/dist/ai-labels/ai-black.svg +20 -0
- package/apps/web/dist/ai-labels/ai-generated-black.svg +31 -0
- package/apps/web/dist/ai-labels/ai-generated-white.svg +32 -0
- package/apps/web/dist/ai-labels/ai-modified-black.svg +30 -0
- package/apps/web/dist/ai-labels/ai-modified-white.svg +31 -0
- package/apps/web/dist/ai-labels/ai-white.svg +21 -0
- package/apps/web/dist/assets/AboutDialog-D4mvc-zu.js +1 -0
- package/apps/web/dist/assets/ChangelogDialog-DLqpJsF6.js +1 -0
- package/apps/web/dist/assets/ChatView-3laypRcE.js +10 -0
- package/apps/web/dist/assets/EditorPage-BalA5U2Y.js +3 -0
- package/apps/web/dist/assets/FlowPreview-CusP7ci9.js +1 -0
- package/apps/web/dist/assets/Harness-BrP-ENHg.css +1 -0
- package/apps/web/dist/assets/Harness-iYLtOLaK.js +16 -0
- package/apps/web/dist/assets/NewWizardChannels-CbwJ9A56.js +1 -0
- package/apps/web/dist/assets/NewWizardPage-BOBYiB9i.js +7 -0
- package/apps/web/dist/assets/OnboardingPage-CUwCiVIr.js +1 -0
- package/apps/web/dist/assets/ProjectPage-Bb16MdYG.js +1 -0
- package/apps/web/dist/assets/PublicRunner-BCt7Q6C-.js +1 -0
- package/apps/web/dist/assets/ReadOnly-kIHX2TEy.js +1 -0
- package/apps/web/dist/assets/RunDrawer-hZ9oeSXu.js +4 -0
- package/apps/web/dist/assets/RunnerView-DUS9fPmx.js +1 -0
- package/apps/web/dist/assets/SettingsPage-BzwR50fi.js +1 -0
- package/apps/web/dist/assets/SetupPage-gAp7rPxp.js +1 -0
- package/apps/web/dist/assets/SharePage-DqZWHva_.js +1 -0
- package/apps/web/dist/assets/changelog-DugmCNSf.js +1 -0
- package/apps/web/dist/assets/engenty-eXZ-EAwd.js +1 -0
- package/apps/web/dist/assets/esm-DXeMu8Lb.js +7 -0
- package/apps/web/dist/assets/fluffy-engenty-ClRou7yu.js +456 -0
- package/apps/web/dist/assets/index-AfUa8xKD.css +1 -0
- package/apps/web/dist/assets/index-C5Sm7tTR.js +14 -0
- package/apps/web/dist/assets/jsx-runtime-BNakU3Ej.js +1 -0
- package/apps/web/dist/assets/lock-R_CfU0Xo.js +1 -0
- package/apps/web/dist/assets/oss-credits-cZ9NUaLZ.js +1 -0
- package/apps/web/dist/assets/pdfmake-Cx9scTbD.js +228 -0
- package/apps/web/dist/assets/phone-CgrIS4_-.js +1 -0
- package/apps/web/dist/assets/preload-helper-CNEI7N0N.js +1 -0
- package/apps/web/dist/assets/qr-scanner-worker.min-CJaXo3yu.js +98 -0
- package/apps/web/dist/assets/qr-scanner.min-C_UI0gH-.js +1 -0
- package/apps/web/dist/assets/rolldown-runtime-hePW80VL.js +1 -0
- package/apps/web/dist/assets/settings-menu-2IMOOlLl.js +1 -0
- package/apps/web/dist/assets/ui-dzGvc3xk.js +137 -0
- package/apps/web/dist/assets/upload-BSuTilFF.js +1 -0
- package/apps/web/dist/assets/vfs_fonts-DllDSYt1.js +1 -0
- package/apps/web/dist/embed.js +266 -0
- package/apps/web/dist/favicon.svg +1 -0
- package/apps/web/dist/icons/apple-touch-icon.png +0 -0
- package/apps/web/dist/icons/icon-192.png +0 -0
- package/apps/web/dist/icons/icon-512.png +0 -0
- package/apps/web/dist/icons/icon-maskable-512.png +0 -0
- package/apps/web/dist/index.html +48 -0
- package/apps/web/dist/install.sh +577 -0
- package/apps/web/dist/manifest.webmanifest +21 -0
- package/apps/web/dist/mcp/flow.html +980 -0
- package/apps/web/dist/sw.js +15 -0
- package/bin/wizards.mjs +288 -0
- package/modules/README.md +15 -0
- package/node_modules/@engenty/wizards/dist/plugin/index.d.ts +1150 -0
- package/node_modules/@engenty/wizards/dist/plugin/index.js +4 -0
- package/node_modules/@engenty/wizards/dist/plugin/studio.d.ts +322 -0
- package/node_modules/@engenty/wizards/dist/plugin/studio.js +4 -0
- package/node_modules/@engenty/wizards/dist/plugin/thread.d.ts +174 -0
- package/node_modules/@engenty/wizards/dist/plugin/thread.js +821 -0
- package/node_modules/@engenty/wizards/package.json +11 -0
- package/node_modules/@engenty-wizards/shared/dist/assistant.d.ts +174 -0
- package/node_modules/@engenty-wizards/shared/dist/assistant.js +65 -0
- package/node_modules/@engenty-wizards/shared/dist/changes.d.ts +22 -0
- package/node_modules/@engenty-wizards/shared/dist/changes.js +61 -0
- package/node_modules/@engenty-wizards/shared/dist/connectors.d.ts +77 -0
- package/node_modules/@engenty-wizards/shared/dist/connectors.js +2 -0
- package/node_modules/@engenty-wizards/shared/dist/decision.d.ts +76 -0
- package/node_modules/@engenty-wizards/shared/dist/decision.js +147 -0
- package/node_modules/@engenty-wizards/shared/dist/definition.d.ts +2922 -0
- package/node_modules/@engenty-wizards/shared/dist/definition.js +1920 -0
- package/node_modules/@engenty-wizards/shared/dist/engenty/data-tables/columns-format.d.ts +5 -0
- package/node_modules/@engenty-wizards/shared/dist/engenty/data-tables/columns-format.js +132 -0
- package/node_modules/@engenty-wizards/shared/dist/engenty/data-tables/columns-value.d.ts +11 -0
- package/node_modules/@engenty-wizards/shared/dist/engenty/data-tables/columns-value.js +209 -0
- package/node_modules/@engenty-wizards/shared/dist/engenty/data-tables/columns.d.ts +532 -0
- package/node_modules/@engenty-wizards/shared/dist/engenty/data-tables/columns.js +217 -0
- package/node_modules/@engenty-wizards/shared/dist/engenty/data-tables/index.d.ts +3 -0
- package/node_modules/@engenty-wizards/shared/dist/engenty/data-tables/index.js +3 -0
- package/node_modules/@engenty-wizards/shared/dist/engenty/search-index/catalog-lexical.d.ts +14 -0
- package/node_modules/@engenty-wizards/shared/dist/engenty/search-index/catalog-lexical.js +166 -0
- package/node_modules/@engenty-wizards/shared/dist/engenty/search-index/catalog-rank.d.ts +33 -0
- package/node_modules/@engenty-wizards/shared/dist/engenty/search-index/catalog-rank.js +99 -0
- package/node_modules/@engenty-wizards/shared/dist/feature-flags.d.ts +78 -0
- package/node_modules/@engenty-wizards/shared/dist/feature-flags.js +70 -0
- package/node_modules/@engenty-wizards/shared/dist/features.d.ts +41 -0
- package/node_modules/@engenty-wizards/shared/dist/features.js +89 -0
- package/node_modules/@engenty-wizards/shared/dist/fit.d.ts +71 -0
- package/node_modules/@engenty-wizards/shared/dist/fit.js +382 -0
- package/node_modules/@engenty-wizards/shared/dist/json-schema.d.ts +14 -0
- package/node_modules/@engenty-wizards/shared/dist/json-schema.js +66 -0
- package/node_modules/@engenty-wizards/shared/dist/knowledge.d.ts +199 -0
- package/node_modules/@engenty-wizards/shared/dist/knowledge.js +68 -0
- package/node_modules/@engenty-wizards/shared/dist/marketplace-entry.d.ts +35 -0
- package/node_modules/@engenty-wizards/shared/dist/marketplace-entry.js +107 -0
- package/node_modules/@engenty-wizards/shared/dist/marketplace-search.d.ts +20 -0
- package/node_modules/@engenty-wizards/shared/dist/marketplace-search.js +136 -0
- package/node_modules/@engenty-wizards/shared/dist/marketplace.d.ts +227 -0
- package/node_modules/@engenty-wizards/shared/dist/marketplace.js +354 -0
- package/node_modules/@engenty-wizards/shared/dist/merge.d.ts +7 -0
- package/node_modules/@engenty-wizards/shared/dist/merge.js +40 -0
- package/node_modules/@engenty-wizards/shared/dist/numbers.d.ts +24 -0
- package/node_modules/@engenty-wizards/shared/dist/numbers.js +54 -0
- package/node_modules/@engenty-wizards/shared/dist/projects.d.ts +224 -0
- package/node_modules/@engenty-wizards/shared/dist/projects.js +319 -0
- package/node_modules/@engenty-wizards/shared/dist/providers.d.ts +101 -0
- package/node_modules/@engenty-wizards/shared/dist/providers.js +390 -0
- package/node_modules/@engenty-wizards/shared/dist/run.d.ts +680 -0
- package/node_modules/@engenty-wizards/shared/dist/run.js +620 -0
- package/node_modules/@engenty-wizards/shared/dist/runner-texts.d.ts +546 -0
- package/node_modules/@engenty-wizards/shared/dist/runner-texts.js +523 -0
- package/node_modules/@engenty-wizards/shared/dist/runners.d.ts +93 -0
- package/node_modules/@engenty-wizards/shared/dist/runners.js +146 -0
- package/node_modules/@engenty-wizards/shared/dist/shape.d.ts +102 -0
- package/node_modules/@engenty-wizards/shared/dist/shape.js +318 -0
- package/node_modules/@engenty-wizards/shared/dist/space-data.d.ts +89 -0
- package/node_modules/@engenty-wizards/shared/dist/space-data.js +47 -0
- package/node_modules/@engenty-wizards/shared/dist/store.d.ts +117 -0
- package/node_modules/@engenty-wizards/shared/dist/store.js +81 -0
- package/node_modules/@engenty-wizards/shared/dist/surface.d.ts +115 -0
- package/node_modules/@engenty-wizards/shared/dist/surface.js +442 -0
- package/node_modules/@engenty-wizards/shared/dist/texts.d.ts +45 -0
- package/node_modules/@engenty-wizards/shared/dist/texts.js +54 -0
- package/node_modules/@engenty-wizards/shared/dist/translation.d.ts +23 -0
- package/node_modules/@engenty-wizards/shared/dist/translation.js +154 -0
- package/node_modules/@engenty-wizards/shared/dist/wizard-package.d.ts +48 -0
- package/node_modules/@engenty-wizards/shared/dist/wizard-package.js +49 -0
- package/node_modules/@engenty-wizards/shared/dist/workspace.d.ts +16 -0
- package/node_modules/@engenty-wizards/shared/dist/workspace.js +51 -0
- package/node_modules/@engenty-wizards/shared/package.json +10 -0
- package/package.json +77 -4
- package/plugin/.claude-plugin/plugin.json +9 -0
- package/plugin/.mcp.json +8 -0
- package/plugin/commands/wizard.md +8 -0
- package/plugin/skills/build-wizard/SKILL.md +27 -0
- package/plugin/skills/use-wizard/SKILL.md +18 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Tools
|
|
3
|
+
description: A tool an AI step can call – how to register it, how a wizard lists it, and what the model sees.
|
|
4
|
+
version: 0.5.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
A tool is a function an AI step may call while it works. The model decides when, from the
|
|
8
|
+
tool’s description.
|
|
9
|
+
|
|
10
|
+
```ts
|
|
11
|
+
server.registerTool({
|
|
12
|
+
name: "lookup",
|
|
13
|
+
title: "Contacts",
|
|
14
|
+
description:
|
|
15
|
+
"Looks a person up by email among the people who ran a wizard of this space before.",
|
|
16
|
+
inputSchema: z.object({ email: z.string().email() }),
|
|
17
|
+
execute: async ({ email }) => {
|
|
18
|
+
const [found] = await db()
|
|
19
|
+
.select()
|
|
20
|
+
.from(person)
|
|
21
|
+
.where(eq(person.email, email.toLowerCase()));
|
|
22
|
+
return found ? { known: true, name: found.name, lastWizard: found.wizard } : { known: false };
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
| Field | |
|
|
28
|
+
|---|---|
|
|
29
|
+
| `name` | Lower case, digits and `_`, starting with a letter, at most 40 characters. Unique in the plugin, its [space tools](./space.md#a-block-for-every-ai-step) included |
|
|
30
|
+
| `title` | What the editor calls it. Default: the name |
|
|
31
|
+
| `description` | For the model: what the tool does and when to use it. The assistant reads it too when it builds a wizard |
|
|
32
|
+
| `inputSchema` | A zod schema. `.describe()` on a field tells the model what to put there |
|
|
33
|
+
| `execute(input, step)` | Returns what the model gets back: anything that can be JSON |
|
|
34
|
+
|
|
35
|
+
## Names
|
|
36
|
+
|
|
37
|
+
| Where | The tool is called |
|
|
38
|
+
|---|---|
|
|
39
|
+
| A step’s `tools` in a wizard | `contacts.lookup`: `<plugin id>.<tool name>` |
|
|
40
|
+
| The model | `contacts_lookup`. A `-` in the plugin’s id becomes `_`: `run-log.recent` is `run_log_recent` |
|
|
41
|
+
| The editor | Its `title` |
|
|
42
|
+
|
|
43
|
+
## What `execute` knows
|
|
44
|
+
|
|
45
|
+
The second argument is the step that calls the tool:
|
|
46
|
+
|
|
47
|
+
| | |
|
|
48
|
+
|---|---|
|
|
49
|
+
| `step.runId`, `step.stepId` | The run and the step |
|
|
50
|
+
| `step.tenantId` | The tenant |
|
|
51
|
+
| `step.space` | `{ id, name }`: the space of the step’s wizard |
|
|
52
|
+
| `step.project` | The same as `step.space`, by its older name |
|
|
53
|
+
| `step.wizard` | `{ id, title }` |
|
|
54
|
+
| `step.mode` | `"test"` for a test run from the studio, else `"live"`. Keep what a test run makes apart, such as a booking or a message to someone outside |
|
|
55
|
+
| `step.signal` | Aborted when the run is cancelled. Pass it to `fetch` |
|
|
56
|
+
| `step.emit(message)` | Tells the person what the step is doing right now |
|
|
57
|
+
|
|
58
|
+
`server.getTenantDb()` inside `execute` is the database of the tenant the run belongs to.
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
execute: async ({ url }, step) => {
|
|
62
|
+
await step.emit("Asking the price list …");
|
|
63
|
+
const response = await fetch(url, { signal: step.signal });
|
|
64
|
+
return response.json();
|
|
65
|
+
},
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Errors
|
|
69
|
+
|
|
70
|
+
An error thrown in `execute` does not fail the step. The model gets `{ "error": "<message>" }`
|
|
71
|
+
as the tool’s result, with the first 400 characters of the message, and can try again or work
|
|
72
|
+
around it. Throw errors whose message says what was wrong with the input.
|
|
73
|
+
|
|
74
|
+
## In a wizard
|
|
75
|
+
|
|
76
|
+
A step lists the tool beside the built-in ones:
|
|
77
|
+
|
|
78
|
+
```json
|
|
79
|
+
"tools": ["web_search", "contacts.lookup"]
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
- The editor offers the tools of the tenant’s plugins in every AI step.
|
|
83
|
+
- The assistant and the MCP authoring guide list them with their descriptions.
|
|
84
|
+
- A draft with a step that lists a tool this tenant does not have shows an issue.
|
|
85
|
+
- A run fails at the step that names such a tool, with “This step needs the tool “…”. The
|
|
86
|
+
plugin “…” isn’t installed here.” A wizard that uses a plugin’s tool runs only where that
|
|
87
|
+
plugin is installed. Keep that in mind before you publish a wizard to the cloud or export it.
|
|
88
|
+
- The model has to call the tools. Apple Intelligence on a Mac calls none: a step whose class it
|
|
89
|
+
answers (Classifier, Standard) runs from its prompt alone. A step that needs the tool runs on
|
|
90
|
+
High, or a [call without a model](#called-without-a-model) does the job.
|
|
91
|
+
|
|
92
|
+
### Called without a model
|
|
93
|
+
|
|
94
|
+
Where a step only fetches data and hands it on unchanged, it can call the tool itself: no model
|
|
95
|
+
picks the tool, and no model copies its answer.
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"id": "known",
|
|
100
|
+
"type": "agent",
|
|
101
|
+
"title": "Known contact",
|
|
102
|
+
"call": {
|
|
103
|
+
"tool": "contacts.lookup",
|
|
104
|
+
"input": { "email": "{{steps.ask.email}}" }
|
|
105
|
+
},
|
|
106
|
+
"output": {
|
|
107
|
+
"format": "json",
|
|
108
|
+
"fields": [
|
|
109
|
+
{ "id": "known", "kind": "yesno" },
|
|
110
|
+
{ "id": "name", "kind": "text" }
|
|
111
|
+
]
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
- The tool’s answer is the step’s json output, as it is. An answer that is not an object (a
|
|
117
|
+
list, a text) is kept as `{ "result": … }`. `output.fields` name the keys later steps read,
|
|
118
|
+
so the editor and the checks know them.
|
|
119
|
+
- String inputs are templates. A template that fills in to a number or to `true`/`false` is
|
|
120
|
+
passed as one, and an empty one is left out. The input is checked against the tool’s schema.
|
|
121
|
+
- What the tool throws, or an answer that is only `{ "error": … }`, is the step’s error. A tool
|
|
122
|
+
this tenant does not have fails the step too.
|
|
123
|
+
- It costs no credits and answers as fast as the tool: the free times of a calendar in under a
|
|
124
|
+
second instead of half a minute.
|
|
125
|
+
|
|
126
|
+
## While a step runs
|
|
127
|
+
|
|
128
|
+
A step that is running keeps the tools it started with. When a plugin loads again, the change
|
|
129
|
+
reaches the next step.
|
|
130
|
+
|
|
131
|
+
## Write a good tool
|
|
132
|
+
|
|
133
|
+
- One job per tool. Two small tools are easier for a model to choose between than one with a
|
|
134
|
+
`mode` field.
|
|
135
|
+
- Describe the result as well as the input: “returns the working days as a number”.
|
|
136
|
+
- Return data, not prose. The step writes the sentences.
|
|
137
|
+
- Bound what it returns: a `limit` with a maximum, the newest 50 rows.
|
|
138
|
+
- A tool that changes something outside says so in its description. There is no
|
|
139
|
+
ask-the-person-first for plugin tools: the step runs them without asking.
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: The wizard format
|
|
3
|
+
description: A wizard as JSON and as a .wizard file, its JSON Schema, and checking it with wizards validate.
|
|
4
|
+
version: 0.5.13
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
A wizard is one JSON document, its **definition**. The studio exports it as a `.wizard` file
|
|
8
|
+
and imports one back. You can write either by hand or with a tool, check it in your editor
|
|
9
|
+
against a JSON Schema, and check it completely with `wizards validate`.
|
|
10
|
+
|
|
11
|
+
The code that defines the format and checks it is also under the
|
|
12
|
+
[MIT licence](https://github.com/engenty/wizards/blob/main/packages/shared/LICENSE-MIT), so any
|
|
13
|
+
tool may read and write wizards.
|
|
14
|
+
|
|
15
|
+
## The definition
|
|
16
|
+
|
|
17
|
+
```json
|
|
18
|
+
{
|
|
19
|
+
"$schema": "https://engenty.ai/schema/v1/wizard.json",
|
|
20
|
+
"version": 1,
|
|
21
|
+
"title": "Create an invoice",
|
|
22
|
+
"description": "A finished invoice from a few details.",
|
|
23
|
+
"avatar": "round",
|
|
24
|
+
"lang": "en",
|
|
25
|
+
"steps": [ … ]
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
`steps` run from top to bottom, and the last one is always a `result` step. The schema below
|
|
30
|
+
lists the step types and their fields. The studio’s MCP tool `get_authoring_guide` explains them
|
|
31
|
+
with a complete example.
|
|
32
|
+
|
|
33
|
+
`lang` is the language the wizard speaks to people, as a two-letter code: `en`, `de`, `it`, `fr`
|
|
34
|
+
and so on. The schema checks the shape of the code; `wizards validate` and the studio check that
|
|
35
|
+
it names a real language. It sets the runner’s own words and how numbers and dates are written.
|
|
36
|
+
Without it, the language is read from the wizard’s own words, and English is the default where
|
|
37
|
+
they are not clearly German.
|
|
38
|
+
|
|
39
|
+
`version` is the definition’s version. It changes only with a breaking change; the schemas of
|
|
40
|
+
each version stay online in their own folder (`/schema/v1/`, `/schema/v2/`, …).
|
|
41
|
+
|
|
42
|
+
## The `.wizard` file
|
|
43
|
+
|
|
44
|
+
The file is a zip with two things in it:
|
|
45
|
+
|
|
46
|
+
| Path | What it holds |
|
|
47
|
+
|---|---|
|
|
48
|
+
| `wizard.json` | The manifest: the definition, plus what the wizard needs from its space |
|
|
49
|
+
| `files/…` | The wizard’s workspace: widget pages, templates, images. At most 200 files and 25 MB |
|
|
50
|
+
| `files/knowledge/…` | Only when the export was asked for it: the space’s Knowledge pages as Markdown files, one per page, with its title in front. A website runs the wizard with them, without the space |
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
{
|
|
54
|
+
"$schema": "https://engenty.ai/schema/v1/wizard-package.json",
|
|
55
|
+
"format": "engenty-wizard",
|
|
56
|
+
"version": 1,
|
|
57
|
+
"definition": { … },
|
|
58
|
+
"connectors": [{ "id": "billomat", "name": "Billomat", "domain": "billomat.com" }],
|
|
59
|
+
"mcpServers": [{ "id": "notion", "name": "Notion" }]
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
`connectors` and `mcpServers` (the space’s connected systems) name what the wizard’s steps use
|
|
64
|
+
from its space, without addresses or credentials. When the space you import into lacks one, the
|
|
65
|
+
import says so.
|
|
66
|
+
|
|
67
|
+
`knowledge` (`{ "pages": 12, "truncated": false }`) is there when the export took the space’s
|
|
68
|
+
pages along. It says how many there are and whether the cap of about 2 MB left some out. The
|
|
69
|
+
share dialog’s website package does this with “Take the knowledge along”.
|
|
70
|
+
|
|
71
|
+
The import also takes a `wizard.json` on its own, or a definition on its own.
|
|
72
|
+
The file’s media type is `application/vnd.engenty.wizard+zip`.
|
|
73
|
+
|
|
74
|
+
## JSON Schema
|
|
75
|
+
|
|
76
|
+
| For | Schema |
|
|
77
|
+
|---|---|
|
|
78
|
+
| A definition | [`https://engenty.ai/schema/v1/wizard.json`](https://engenty.ai/schema/v1/wizard.json) |
|
|
79
|
+
| `wizard.json` in a package | [`https://engenty.ai/schema/v1/wizard-package.json`](https://engenty.ai/schema/v1/wizard-package.json) |
|
|
80
|
+
|
|
81
|
+
Put the address under `"$schema"`, and editors such as VS Code complete keys and mark mistakes
|
|
82
|
+
as you type. The studio’s export writes it into every `wizard.json`.
|
|
83
|
+
|
|
84
|
+
The schemas are written from the code that reads wizards, so they match it. They are stricter
|
|
85
|
+
in one way: a key the app does not know is an error. The app would drop such a key without a
|
|
86
|
+
word.
|
|
87
|
+
|
|
88
|
+
`wizards validate` checks what a JSON Schema cannot say: unique ids, steps and fields that refer
|
|
89
|
+
to each other, templates that name answers that exist by then, and files in the workspace.
|
|
90
|
+
|
|
91
|
+
## `wizards validate`
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
wizards validate invoice.wizard
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
It checks a wizard the way the studio’s import does, without a running studio and without an
|
|
98
|
+
account. It takes any number of paths:
|
|
99
|
+
|
|
100
|
+
| Path | Read as |
|
|
101
|
+
|---|---|
|
|
102
|
+
| `invoice.wizard` | A package |
|
|
103
|
+
| `invoice/` or `invoice/wizard.json` | An unpacked package, its workspace under `invoice/files/` |
|
|
104
|
+
| `invoice.json` | A definition on its own, or a `wizard.json` |
|
|
105
|
+
|
|
106
|
+
```text
|
|
107
|
+
✗ invoice.json 2 issues
|
|
108
|
+
The last step must be a result step.
|
|
109
|
+
"{{nope}}" refers to a field that is not asked before "g".
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
A wizard without issues gets a ✓ with its number of steps and files. `--json` prints the
|
|
113
|
+
results as JSON. The exit code is `0` when every wizard is fine, `1` when one has issues and `2`
|
|
114
|
+
when no path was given. That is enough for a check in CI:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
npx wizards validate wizards/*.wizard
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
`npx wizards` installs engenty wizards into `~/.engenty/wizards` first, the first time. To check
|
|
121
|
+
without an install, on Node.js 24.11 or newer, run the runtime from npm directly:
|
|
122
|
+
`npx -p @engenty/wizards-runtime wizards validate wizards/*.wizard`.
|
|
123
|
+
|
|
124
|
+
The import checks what belongs to the space, because only the space has it: its connectors and
|
|
125
|
+
their actions, its connected systems (MCP servers) and its plugins’ tools.
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI apps
|
|
3
|
+
description: Run and build your wizards inside Claude Desktop, Cursor, Codex and other AI apps.
|
|
4
|
+
version: 0.5.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Settings → Integrate brings your wizards to where you work. engenty wizards is an MCP server: an
|
|
8
|
+
AI app that adds it gets the tools to find, run and build wizards. Under “Share”, the same page
|
|
9
|
+
has the WordPress plugin: see [WordPress](./wordpress.md).
|
|
10
|
+
|
|
11
|
+
## What an app can do
|
|
12
|
+
|
|
13
|
+
| In the chat | How |
|
|
14
|
+
|---|---|
|
|
15
|
+
| Run a wizard | “Start one of my engenty wizards.” The app asks the wizard’s questions, shows the review and hands over the downloads. Only published wizards run |
|
|
16
|
+
| See the wizard itself | Apps that support MCP Apps show the wizard as a widget, page by page, and you answer there |
|
|
17
|
+
| Build a wizard | “Use engenty wizards to build a wizard that reads amount, date and sender from an invoice PDF.” |
|
|
18
|
+
| Change one | The app can create, change and publish wizards, find templates and connectors, and read and write a wizard’s files |
|
|
19
|
+
|
|
20
|
+
- A run in a chat spends what any run of the wizard spends, and so does a test run.
|
|
21
|
+
- What a chat can’t fill in (files, recordings, signatures, line items) you fill in on the run’s
|
|
22
|
+
page in the browser. The app gives you the link.
|
|
23
|
+
- What an app writes shows up live in an open editor, marked with the app’s name (“Via …”).
|
|
24
|
+
|
|
25
|
+
## Apps
|
|
26
|
+
|
|
27
|
+
| App | Shows the wizard as a widget | Name for the command |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| Claude Desktop | yes | `claude-desktop` |
|
|
30
|
+
| Claude Code | no, a run comes as text | `claude-code` |
|
|
31
|
+
| Codex · ChatGPT app | no | `codex` |
|
|
32
|
+
| Cursor | yes | `cursor` |
|
|
33
|
+
| VS Code (Copilot) | yes | `vscode` |
|
|
34
|
+
| Windsurf | no | `windsurf` |
|
|
35
|
+
| Antigravity | no | `antigravity` |
|
|
36
|
+
| Goose | yes | `goose` |
|
|
37
|
+
| OpenClaw | no | `openclaw` |
|
|
38
|
+
| LM Studio | no | `lm-studio` |
|
|
39
|
+
| claude.ai, ChatGPT | yes | not on your computer, see below |
|
|
40
|
+
|
|
41
|
+
## Add an app
|
|
42
|
+
|
|
43
|
+
Settings → Integrate opens on the apps found on this computer. Each one has a button and says
|
|
44
|
+
where it stands: “Works”, “Added, not tested yet” or “Not set up yet”. The dots in the menu say
|
|
45
|
+
the same.
|
|
46
|
+
|
|
47
|
+
Choose an app and follow its numbered steps:
|
|
48
|
+
|
|
49
|
+
1. **Add to …** writes engenty wizards into the app’s settings. You need no key and no port: the
|
|
50
|
+
app starts engenty wizards itself.
|
|
51
|
+
2. **Restart …**, or reload the app’s MCP servers. The page notices by itself when the app
|
|
52
|
+
checks in.
|
|
53
|
+
3. **Try it in the chat**: “Which wizards do I have in engenty?”
|
|
54
|
+
|
|
55
|
+
Once the app has used a tool, the page says “Works” and offers first sentences to try, with your
|
|
56
|
+
own wizards’ names.
|
|
57
|
+
|
|
58
|
+
From a terminal, this command does the same as step 1:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
wizards connect
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
It adds every AI app found on this computer. To add only some apps, name them. To take an app
|
|
65
|
+
out again, use `disconnect`:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
wizards connect cursor codex
|
|
69
|
+
wizards disconnect cursor
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
- The app’s settings file as it was before is kept beside it as `<file>.before-engenty`.
|
|
73
|
+
- If Claude Desktop is running, the command asks you to quit it first: it writes its settings
|
|
74
|
+
from memory while it runs and would overwrite the change.
|
|
75
|
+
- A settings file that isn’t plain JSON is left alone. The command prints the entry for you to
|
|
76
|
+
paste in yourself.
|
|
77
|
+
|
|
78
|
+
## An app on another computer
|
|
79
|
+
|
|
80
|
+
Under the steps, “Connect with the address and an API key” is for an app that runs elsewhere.
|
|
81
|
+
The API key is shown once and goes straight into the command or settings entry the page shows.
|
|
82
|
+
|
|
83
|
+
- Each API key signs in one app and has full rights. Treat it like a password.
|
|
84
|
+
- The page lists the API keys with their last use. When you delete one, that app is signed out.
|
|
85
|
+
|
|
86
|
+
## Apps on the web
|
|
87
|
+
|
|
88
|
+
claude.ai and ChatGPT connect from their makers’ servers, and so do Claude Desktop’s
|
|
89
|
+
connectors. They can’t reach your computer, so for them your wizards run on engenty.ai.
|
|
90
|
+
|
|
91
|
+
- **In the studio on engenty.ai**, the page walks you through it: open the app’s connector
|
|
92
|
+
settings, enter the name and the address `https://engenty.ai/api/mcp`, click “Connect”, sign
|
|
93
|
+
in to engenty and choose “Allow”. You need no key.
|
|
94
|
+
- **On your computer**, connect your engenty account first (“Connect to engenty.ai”). The wizards
|
|
95
|
+
you publish then go to engenty.ai, and claude.ai connects there. If you’d rather not use an
|
|
96
|
+
account, use Claude Desktop on this computer.
|
|
97
|
+
|
|
98
|
+
The consent page names the team the access is for and the address it goes back to. An app that
|
|
99
|
+
only named itself is marked “Name given by the app itself”.
|
|
100
|
+
|
|
101
|
+
You disconnect an app at engenty.ai under Account → Connected apps. Its access ends within half
|
|
102
|
+
a minute, even with a token it already holds.
|
|
103
|
+
|
|
104
|
+
## The Claude Code plugin
|
|
105
|
+
|
|
106
|
+
If engenty wizards has a public https address, Claude Code can also install a plugin. It adds
|
|
107
|
+
the `/wizard` command and the skills to build and use wizards:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
claude plugin marketplace add <your address>/api/claude-plugin/marketplace.json
|
|
111
|
+
claude plugin install engenty-wizards@engenty
|
|
112
|
+
```
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Goose, the help assistant
|
|
3
|
+
description: The chat at the bottom of every studio page. Goose knows engenty wizards, sees the page you are on, shows you where things are and fills in the space.
|
|
4
|
+
version: 0.5.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Goose is still being tried out and doesn’t show in every studio yet. Where it is switched on, it
|
|
8
|
+
works as described here.
|
|
9
|
+
|
|
10
|
+
Goose stands at the bottom of every page of the studio except the editor, which has a chat of its
|
|
11
|
+
own: the assistant that builds your wizard. Goose runs on the High class of Text & reasoning:
|
|
12
|
+
your subscription, your own API keys or your credits ([Models and account](./models.md)).
|
|
13
|
+
|
|
14
|
+
| Ask it | Goose |
|
|
15
|
+
|---|---|
|
|
16
|
+
| How something works | Reads this guide (the version you installed) and links the page |
|
|
17
|
+
| Where something is | Opens the page and points at the place |
|
|
18
|
+
| About your account | Looks up your plan, credits and what you used. It never buys or upgrades anything |
|
|
19
|
+
| About templates | Searches the templates and shows the ones it recommends as cards under its answer. A card opens the template, and you start a wizard from it there |
|
|
20
|
+
| About your wizards | Looks at their runs, the failed ones too |
|
|
21
|
+
| About models | Says which models are set up here, and what is missing |
|
|
22
|
+
| To fill in the space | Reads a website or your files ([Space](./space.md#have-it-filled-in)) |
|
|
23
|
+
|
|
24
|
+
Goose sees the page you write from: where you are, what is open and what the page shows. It may
|
|
25
|
+
put a value into a field for you; you check it and save. It doesn’t click buttons.
|
|
26
|
+
|
|
27
|
+
## Where it stands
|
|
28
|
+
|
|
29
|
+
| | |
|
|
30
|
+
|---|---|
|
|
31
|
+
| At the bottom | The default. Click the field, and the chat rises above it |
|
|
32
|
+
| Closed | ✕ in the header closes it to “Ask Goose” at the lower right. A click opens the chat where it last stood. On Data and Results it starts there |
|
|
33
|
+
| Sidebar | Beside the page, in a window 1,520 pixels wide or more |
|
|
34
|
+
|
|
35
|
+
The buttons in the chat’s header (“As a sidebar”, “Dock at the bottom”) switch between them. The
|
|
36
|
+
studio remembers your choice.
|
|
37
|
+
|
|
38
|
+
At the bottom, you can move the chat out of the way of what it covers: drag it by its grip, or by
|
|
39
|
+
Goose sitting on top of it. It stays where you put it. Near the bottom it snaps to the middle or
|
|
40
|
+
the right. Near the right side, higher up, it becomes the sidebar, and the sidebar’s grip pulls it
|
|
41
|
+
out again. A dashed outline shows where it will snap. The handle on top of the chat sets how tall
|
|
42
|
+
the chat history is; a click on it folds the history away.
|
|
43
|
+
|
|
44
|
+
## Writing while it works
|
|
45
|
+
|
|
46
|
+
You can keep writing while Goose answers. What you send waits above the field:
|
|
47
|
+
|
|
48
|
+
| | |
|
|
49
|
+
|---|---|
|
|
50
|
+
| Enter | Goose reads it before its next step. It keeps to what you asked before unless the new message changes it |
|
|
51
|
+
| ⌘↩ (Ctrl+↩) | It goes out as the next question once the answer is done |
|
|
52
|
+
| “Send now” | Stops Goose and sends it at once |
|
|
53
|
+
|
|
54
|
+
While Goose answers and the field is empty, the stop button stands where “Send” does.
|
|
55
|
+
|
|
56
|
+
## One chat
|
|
57
|
+
|
|
58
|
+
You have one chat. It is the same on every page and in every space, after a reload and on another
|
|
59
|
+
device. Nobody else in the team sees it.
|
|
60
|
+
|
|
61
|
+
- **“New chat”** (the pen in the header, or the menu at the chat’s name) clears the chat at once
|
|
62
|
+
and summarises the old one in the background. Goose keeps the summaries of your last chats in
|
|
63
|
+
mind.
|
|
64
|
+
- **“Earlier chats”** lists the closed ones, for you to read. Ask about something you discussed
|
|
65
|
+
before, and Goose searches them.
|
|
66
|
+
|
|
67
|
+
## Live chat
|
|
68
|
+
|
|
69
|
+
**“Talk”** stands where “Send” does while the field is empty. The chat becomes a call: you speak,
|
|
70
|
+
a pause sends what you said, and Goose reads its answer aloud. Then it listens again. If you talk
|
|
71
|
+
over it, it stops speaking.
|
|
72
|
+
|
|
73
|
+
- Chrome and Safari turn your speech into text themselves. Other browsers record it, and your
|
|
74
|
+
model for voice notes writes it down.
|
|
75
|
+
- Goose reads its answers with your computer’s voices, or with the speech model where one is set
|
|
76
|
+
up (the speaker button in the call).
|
|
77
|
+
- Everything said stays in the chat as messages.
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Build a wizard
|
|
3
|
+
description: Describe what the wizard should do, or start from a template. Then change it in the chat or step by step.
|
|
4
|
+
version: 0.5.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Start one
|
|
8
|
+
|
|
9
|
+
“New wizard” on the list of your wizards, or in the sidebar, opens the page “What should your
|
|
10
|
+
wizard do?”. It gives you three ways in:
|
|
11
|
+
|
|
12
|
+
| Way | How |
|
|
13
|
+
|---|---|
|
|
14
|
+
| Describe it | Write what the wizard should do in your own words and click “Build wizard” |
|
|
15
|
+
| A template | Choose one under “Or start from a template”. Search, or narrow the list by industry, result and capability |
|
|
16
|
+
| A wizard file | “Import a wizard file”, at the foot of the page, takes a `.wizard` file someone exported |
|
|
17
|
+
|
|
18
|
+
A description that works says who enters what, what the wizard does with it, and what comes out:
|
|
19
|
+
|
|
20
|
+
> Customers enter their product and audience. The wizard researches competitors and writes a
|
|
21
|
+
> positioning briefing as a PDF.
|
|
22
|
+
|
|
23
|
+
You can change everything afterwards in the chat.
|
|
24
|
+
|
|
25
|
+
### Before you build
|
|
26
|
+
|
|
27
|
+
- **How it runs.** “Runs as” above the text field says how people will reach the wizard: as a
|
|
28
|
+
“Step-by-step wizard” unless you choose otherwise. The + beside it asks “How should it run?”
|
|
29
|
+
and lists the other channels this studio offers, for example “Chat”, “Live voice” or “Video
|
|
30
|
+
call”. One channel always stays on. The assistant builds the wizard for what you chose.
|
|
31
|
+
- **Files.** Attach examples, price lists or screenshots with the + in the text field, or paste
|
|
32
|
+
or drop them there. They go into the wizard’s files, and the assistant looks at them.
|
|
33
|
+
- **Dictation.** The microphone button lets you speak instead of type.
|
|
34
|
+
- **Similar wizards.** While you type, the page lists up to ten of your own wizards and templates
|
|
35
|
+
that come close. “Open” opens one of yours, and “Use” starts from a template. This way you
|
|
36
|
+
don’t build again what is already there.
|
|
37
|
+
|
|
38
|
+
### Templates
|
|
39
|
+
|
|
40
|
+
- A template shows how the wizard runs, how long a run takes, what it costs and what it needs
|
|
41
|
+
before you start from it with “Start with this template”.
|
|
42
|
+
- “Not set up here” names a model that isn’t set up on this computer yet, for example for video.
|
|
43
|
+
Set it up under [Models and account](./models.md), or choose another template.
|
|
44
|
+
- A template marked “Pro” needs plugins that come with Pro on engenty.ai.
|
|
45
|
+
- A star keeps a template on this computer, so you can use it without a connection.
|
|
46
|
+
- A wizard started from a template is your copy. Later changes to the template don’t touch it.
|
|
47
|
+
|
|
48
|
+
## The editor
|
|
49
|
+
|
|
50
|
+
| Part | What it is for |
|
|
51
|
+
|---|---|
|
|
52
|
+
| The diagram, left | The steps as a flow with their branches. Click a step to open it |
|
|
53
|
+
| Chat | Say what should change. The assistant edits the flow and tells you what it did |
|
|
54
|
+
| Steps | One step at a time: its texts, fields, tools and model class. Move it up or down, or delete it |
|
|
55
|
+
| Files | Files the wizard uses on every run, like widget code, libraries or price lists. Upload your own or let the assistant write them |
|
|
56
|
+
| Memory | What the wizard knows across all its runs: the notes that AI steps with the “Pages” tool read and add to, and the tables of its shared lists |
|
|
57
|
+
| Runs | The test runs and live runs of this wizard |
|
|
58
|
+
|
|
59
|
+
On a phone or a narrow window the panels sit in a sheet over the bottom of the diagram. Drag its handle to make it taller, or tap
|
|
60
|
+
it to fold it away.
|
|
61
|
+
|
|
62
|
+
A click on the wizard’s name in the top bar opens its own settings: its title, description and
|
|
63
|
+
greeting, its avatar, and the language it speaks to people in. With “Automatic, from its texts”
|
|
64
|
+
the wizard speaks the language its texts are written in.
|
|
65
|
+
|
|
66
|
+
The ⋯ button in the top bar (“More”) duplicates the wizard, exports it, or deletes it. Only
|
|
67
|
+
whoever manages the team can delete a wizard. The same menu is on the wizard’s card in the list.
|
|
68
|
+
|
|
69
|
+
### In the chat
|
|
70
|
+
|
|
71
|
+
- Write what should be different: “Ask for the delivery date on the first page”, “Add a review
|
|
72
|
+
before the PDF”.
|
|
73
|
+
- Attach files the assistant should look at: an example document, a price list, a screenshot.
|
|
74
|
+
- Dictate instead of typing with the microphone button.
|
|
75
|
+
- If the connection drops, what was already built is saved. Send your message again.
|
|
76
|
+
|
|
77
|
+
### Step by step
|
|
78
|
+
|
|
79
|
+
Open a step from the diagram or under “Steps”. What you can set depends on its type: see
|
|
80
|
+
[Steps](./steps.md).
|
|
81
|
+
|
|
82
|
+
“Add step” on a step in the diagram, or under “Steps”, puts a new step after it. Say what it
|
|
83
|
+
should do and choose its kind, or leave it to “AI chooses”. Then say when it runs: “Always”,
|
|
84
|
+
“Only if…” a condition holds, or when “AI decides…”. “Create” lets the assistant build the step
|
|
85
|
+
in the chat. “Insert empty” adds a blank step of the kind you choose, for you to fill in.
|
|
86
|
+
|
|
87
|
+
## When the wizard needs fixes
|
|
88
|
+
|
|
89
|
+
A draft may be incomplete while you work on it. Before you test or share, the editor lists what
|
|
90
|
+
is missing, for example a step that uses an answer that is only asked later, or a tool that isn’t
|
|
91
|
+
installed here. “Let the assistant fix it” hands that list to the chat.
|
|
92
|
+
|
|
93
|
+
If a step needs a model that isn’t set up here, the editor names the step and the model, and
|
|
94
|
+
“Set up models” takes you there. If every path of the wizard needs that model, the wizard can’t
|
|
95
|
+
start. If only one branch needs it, choose another path when you test.
|
|
96
|
+
|
|
97
|
+
## What makes a good wizard
|
|
98
|
+
|
|
99
|
+
- Write for people who are not technical: use plain words, and phrase titles as questions.
|
|
100
|
+
- Keep to few pages, one theme per page and at most five fields. Ask only what the result needs.
|
|
101
|
+
- Put a review before anything expensive, such as video, and before the final result.
|
|
102
|
+
- Let the phone do the typing: a photo instead of a description, the location instead of an
|
|
103
|
+
address form, a voice note instead of a long text.
|
|
104
|
+
- Put money in a line-items field. The wizard works out net, VAT and total itself; a model never
|
|
105
|
+
does.
|
|
106
|
+
- Facts from the web need a research step before the step that writes.
|
|
107
|
+
|
|
108
|
+
## Take it with you
|
|
109
|
+
|
|
110
|
+
“Export as a wizard file (.wizard)” in the wizard’s ⋯ menu downloads its steps and its files as
|
|
111
|
+
one file. “Import a wizard file” on the “New wizard” page of any studio takes it in.
|
|
112
|
+
|
|
113
|
+
The share dialog downloads a wizard file too, under “Website” → “Without an account: as a
|
|
114
|
+
package”. It holds the published version, or the draft while there is none, for a WordPress site
|
|
115
|
+
that runs it without an account. With “Take the knowledge along”, the space’s pages go with it
|
|
116
|
+
as files. See [WordPress](./wordpress.md#without-an-account).
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Command line
|
|
3
|
+
description: The wizards command – start, setup, status, update – and the settings file on your computer.
|
|
4
|
+
version: 0.5.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Commands
|
|
8
|
+
|
|
9
|
+
| Command | What it does |
|
|
10
|
+
|---|---|
|
|
11
|
+
| `wizards` | Shows what is running, and a menu. While it runs, you can open the studio, restart or stop it; while it doesn’t, “Start in the background” or “Start in this terminal”. Then “Update”, which restarts it into the new version, “Start at login”, “Connect AI apps”, “Account”, “Status”, “Setup”, “Uninstall” and “Help”. The first time, the setup runs first. It needs a terminal |
|
|
12
|
+
| `wizards start` | Starts it and opens the studio. It runs in that terminal, and Ctrl-C stops it. The first time, the setup runs first |
|
|
13
|
+
| `wizards studio` | Opens the studio in your browser. If it isn’t running, it starts in the background first |
|
|
14
|
+
| `wizards setup` | Runs the guided setup again: your account, an AI client, the browser and ffmpeg, start at login, your AI apps. `--local` leaves the account out ([Local only](./local-only.md)) |
|
|
15
|
+
| `wizards account` | Shows the account this computer is signed in to: who, which team, the credits. `sign-in` shows a link and a code and opens your browser; `sign-out` disconnects this computer |
|
|
16
|
+
| `wizards open` | Signs this browser in to the running studio. `--print` only prints the link; it works once, within a minute |
|
|
17
|
+
| `wizards status` | Shows what is installed and running, with the browser it uses for PDF, PNG and websites |
|
|
18
|
+
| `wizards doctor` | Shows the status and checks for problems |
|
|
19
|
+
| `wizards logs [n]` | Prints the last lines engenty wizards printed while running (100, or `n` up to 2000). Keys and tokens are taken out |
|
|
20
|
+
| `wizards report` | Sends the status, the model settings (never a key) and the last 500 log lines to your [account](./models.md#account), so support can see what went wrong. Nothing is sent unless you run it. The command names the report’s ID. If this computer isn’t signed in, it tells you to sign in under Settings → Account or with `wizards account sign-in` |
|
|
21
|
+
| `wizards stop` | Stops it, with any other copy of it still running in the background. Your data is kept. AI apps that use your wizards start it again when you use one there |
|
|
22
|
+
| `wizards restart` | Stops it and starts it again; after an update, that is the new version. If it isn’t running, it starts in the background |
|
|
23
|
+
| `wizards update` | Installs the latest version |
|
|
24
|
+
| `wizards autostart on` / `off` | Starts it when you log in, or stops doing so. It is a LaunchAgent on macOS and a systemd user service on Linux |
|
|
25
|
+
| `wizards connect [app …]` | Adds your wizards to your [AI apps](./ai-apps.md): every app found, or the ones you name |
|
|
26
|
+
| `wizards disconnect [app …]` | Takes them out again |
|
|
27
|
+
| `wizards mcp` | Runs the MCP server over stdio. AI apps start it; you don’t |
|
|
28
|
+
| `wizards uninstall` | Takes engenty wizards off this computer. It shows what it will remove first and asks about your data on its own; your data is kept unless you choose to delete it. `--dry-run` only shows the plan, `--yes` asks nothing and keeps your data, `--yes --delete-data` deletes it too. See [Remove](./install.md#remove) |
|
|
29
|
+
| `wizards validate <path …>` | Checks wizards without the studio: `.wizard` files, unpacked wizard files, or a wizard’s JSON. `--json` prints the problems as JSON. A space’s connectors and plugins are checked when you import it |
|
|
30
|
+
|
|
31
|
+
| Option | What it does |
|
|
32
|
+
|---|---|
|
|
33
|
+
| `--yes`, `-y` | Asks nothing and installs nothing optional |
|
|
34
|
+
| `--local` | Sets up without an account, so nothing leaves this computer ([Local only](./local-only.md)) |
|
|
35
|
+
| `--client <name>` | Installs this AI client without asking: `codex`, `claude`, `antigravity`, `cursor` |
|
|
36
|
+
| `--no-open` | Starts without opening the browser |
|
|
37
|
+
| `--background`, `-s` | Starts it in the background (`--service` still works): detached from the terminal, and the command returns. `wizards stop` stops it, and its output goes to `logs/runtime.log` |
|
|
38
|
+
| `--version`, `-v` | Prints the version |
|
|
39
|
+
| `--help`, `-h` | Lists every command |
|
|
40
|
+
|
|
41
|
+
When you start it in a terminal, it runs while that terminal is open, and Ctrl-C stops it. With
|
|
42
|
+
`wizards start --background` it keeps running after the terminal closes. If it is already
|
|
43
|
+
running, `wizards start` opens the running one instead of starting a second.
|
|
44
|
+
|
|
45
|
+
## Where things are
|
|
46
|
+
|
|
47
|
+
| Path | What it holds |
|
|
48
|
+
|---|---|
|
|
49
|
+
| `~/.engenty/wizards` | Everything engenty wizards installed. `ENGENTY_HOME` moves `~/.engenty` |
|
|
50
|
+
| `~/.engenty/wizards/data` | Your wizards, results and files. See [Your data](./data.md) |
|
|
51
|
+
| `~/.engenty/wizards/.env` | The settings file |
|
|
52
|
+
| `~/.engenty/wizards/plugins` | [Plugins](./plugins.md) on this computer |
|
|
53
|
+
| `~/.engenty/wizards/logs` | Logs: `install.log`, `update.log`, `runtime.log` when it runs in the background, `autostart.log` when a Mac starts it at login |
|
|
54
|
+
| `~/.engenty/wizards/tools`, `runtime` | Its own Node.js, and engenty wizards itself |
|
|
55
|
+
| `~/.engenty/wizards/bin/wizards` | The command; `~/.local/bin/wizards` links to it |
|
|
56
|
+
|
|
57
|
+
## Settings
|
|
58
|
+
|
|
59
|
+
You change most settings in the studio. The settings file `~/.engenty/wizards/.env` holds what
|
|
60
|
+
the studio doesn’t: one `NAME=value` per line. Restart engenty wizards after a change.
|
|
61
|
+
|
|
62
|
+
| Setting | What it does | Default |
|
|
63
|
+
|---|---|---|
|
|
64
|
+
| `APP_URL` | The address you open. Links and sign-ins use it | `http://localhost:24368` |
|
|
65
|
+
| `API_PORT` | The port | `24368`; if it is taken, the next free one up to `24387` |
|
|
66
|
+
| `CHROME_PATH` | The browser for PDF and PNG exports and steps on websites: Chrome, Edge, Chromium or Brave | The first one found: on a Mac Google Chrome, Microsoft Edge, Chromium or Brave in `/Applications` or `~/Applications`; on Linux `google-chrome`, `chromium`, `chromium-browser` or `microsoft-edge` on the PATH. `wizards status` names it |
|
|
67
|
+
| `FFMPEG_PATH` | ffmpeg for MP4 videos | `ffmpeg` |
|
|
68
|
+
| `OLLAMA_URL` | Where Ollama answers | `http://127.0.0.1:11434/v1` |
|
|
69
|
+
| `PLUGINS_DIR` | Folders with plugins, comma-separated. If you set it, it replaces the default | `~/.engenty/wizards/plugins` |
|
|
70
|
+
| `PLUGINS_WATCH` | With `0`, plugins no longer load again when their files change | `1` |
|
|
71
|
+
| `GEOCODER_URL` | Finds the place of a location (street, town). If it is not set, a location is only coordinates, and no position leaves your computer | not set |
|
|
72
|
+
| `LIMIT_DEFAULT_DAILY_RUNS` | How many runs a day a shared link allows, unless the wizard sets its own limit | `50` |
|
|
73
|
+
| `LIMIT_VISITOR_RUNS_PER_HOUR` | How many runs one visitor can start in an hour | `6` |
|
|
74
|
+
| `RESULT_TTL_DAYS` | How many days the result of a run over a wizard’s link is kept | `7` |
|
|
75
|
+
| `STORE_TTL_DAYS` | How many days what a wizard keeps for a person stays when nobody uses it | `400` |
|
|
76
|
+
|
|
77
|
+
The OAuth clients of the built-in connectors go here too: see [Connectors](./connectors.md).
|
|
78
|
+
Every setting, with what it is for, is in
|
|
79
|
+
[.env.example](https://github.com/engenty/wizards/blob/main/.env.example).
|
|
80
|
+
|
|
81
|
+
The command passes engenty wizards only a short list of your terminal’s variables. A key your
|
|
82
|
+
shell exports for another project doesn’t reach it: put it into the settings file, or enter it
|
|
83
|
+
in the studio.
|