@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.
Files changed (518) hide show
  1. package/LICENSE +110 -0
  2. package/README.md +214 -2
  3. package/apps/runtime/dist/agents/architect.js +444 -0
  4. package/apps/runtime/dist/agents/studio-assistant.js +883 -0
  5. package/apps/runtime/dist/agents/subscription.js +207 -0
  6. package/apps/runtime/dist/agents/thought.js +21 -0
  7. package/apps/runtime/dist/agents/website.js +480 -0
  8. package/apps/runtime/dist/app.js +359 -0
  9. package/apps/runtime/dist/apple/wizards-apple +0 -0
  10. package/apps/runtime/dist/assistant/browser.js +26 -0
  11. package/apps/runtime/dist/assistant/docs.js +158 -0
  12. package/apps/runtime/dist/assistant/knows.js +353 -0
  13. package/apps/runtime/dist/assistant/primer.js +26 -0
  14. package/apps/runtime/dist/assistant/runs.js +24 -0
  15. package/apps/runtime/dist/auth/account.js +175 -0
  16. package/apps/runtime/dist/auth/device.js +112 -0
  17. package/apps/runtime/dist/auth/index.js +358 -0
  18. package/apps/runtime/dist/auth/keys.js +55 -0
  19. package/apps/runtime/dist/auth/local-ticket.js +26 -0
  20. package/apps/runtime/dist/authoring/example.js +74 -0
  21. package/apps/runtime/dist/authoring/guide.js +433 -0
  22. package/apps/runtime/dist/authoring/ops.js +117 -0
  23. package/apps/runtime/dist/browser/fast/action-space.js +160 -0
  24. package/apps/runtime/dist/browser/fast/classifier.js +91 -0
  25. package/apps/runtime/dist/browser/fast/decide.js +171 -0
  26. package/apps/runtime/dist/browser/fast/driver.js +141 -0
  27. package/apps/runtime/dist/browser/fast/instructions.js +33 -0
  28. package/apps/runtime/dist/browser/fast/run.js +249 -0
  29. package/apps/runtime/dist/browser/fast/span-picker.js +153 -0
  30. package/apps/runtime/dist/browser/fast/text-helper.js +178 -0
  31. package/apps/runtime/dist/browser/snapshot.js +335 -0
  32. package/apps/runtime/dist/cli/account.js +385 -0
  33. package/apps/runtime/dist/cli/autostart.js +182 -0
  34. package/apps/runtime/dist/cli/autoupdate.js +221 -0
  35. package/apps/runtime/dist/cli/clients.js +44 -0
  36. package/apps/runtime/dist/cli/connect.js +540 -0
  37. package/apps/runtime/dist/cli/environment.js +93 -0
  38. package/apps/runtime/dist/cli/exec.js +45 -0
  39. package/apps/runtime/dist/cli/features.js +50 -0
  40. package/apps/runtime/dist/cli/home.js +88 -0
  41. package/apps/runtime/dist/cli/install-env.js +33 -0
  42. package/apps/runtime/dist/cli/machine.js +107 -0
  43. package/apps/runtime/dist/cli/main.js +222 -0
  44. package/apps/runtime/dist/cli/mcp.js +136 -0
  45. package/apps/runtime/dist/cli/menu.js +202 -0
  46. package/apps/runtime/dist/cli/processes.js +72 -0
  47. package/apps/runtime/dist/cli/report.js +66 -0
  48. package/apps/runtime/dist/cli/setup.js +335 -0
  49. package/apps/runtime/dist/cli/start.js +276 -0
  50. package/apps/runtime/dist/cli/status.js +203 -0
  51. package/apps/runtime/dist/cli/ui.js +59 -0
  52. package/apps/runtime/dist/cli/uninstall-main.js +20 -0
  53. package/apps/runtime/dist/cli/uninstall.js +231 -0
  54. package/apps/runtime/dist/cli/update.js +86 -0
  55. package/apps/runtime/dist/cli/validate.js +75 -0
  56. package/apps/runtime/dist/cli/versions.js +123 -0
  57. package/apps/runtime/dist/connectors/builtin.js +86 -0
  58. package/apps/runtime/dist/connectors/external.js +409 -0
  59. package/apps/runtime/dist/connectors/gmail.js +107 -0
  60. package/apps/runtime/dist/connectors/imap.js +261 -0
  61. package/apps/runtime/dist/connectors/index.js +325 -0
  62. package/apps/runtime/dist/connectors/mail.js +72 -0
  63. package/apps/runtime/dist/connectors/outlook.js +90 -0
  64. package/apps/runtime/dist/connectors/plugin-connections.js +343 -0
  65. package/apps/runtime/dist/connectors/via-account.js +65 -0
  66. package/apps/runtime/dist/credits/credits.js +100 -0
  67. package/apps/runtime/dist/credits/estimate.js +152 -0
  68. package/apps/runtime/dist/db/adopt.js +149 -0
  69. package/apps/runtime/dist/db/client.js +173 -0
  70. package/apps/runtime/dist/db/control-schema.js +133 -0
  71. package/apps/runtime/dist/db/migrations/control/0000_last_absorbing_man.sql +47 -0
  72. package/apps/runtime/dist/db/migrations/control/0001_gorgeous_nicolaos.sql +41 -0
  73. package/apps/runtime/dist/db/migrations/control/0002_secret_penance.sql +1 -0
  74. package/apps/runtime/dist/db/migrations/control/0003_nasty_mordo.sql +3 -0
  75. package/apps/runtime/dist/db/migrations/control/0004_breezy_eddie_brock.sql +6 -0
  76. package/apps/runtime/dist/db/migrations/control/0005_chilly_oracle.sql +1 -0
  77. package/apps/runtime/dist/db/migrations/control/0006_sleepy_mojo.sql +1 -0
  78. package/apps/runtime/dist/db/migrations/control/0007_common_the_hand.sql +15 -0
  79. package/apps/runtime/dist/db/migrations/control/0008_runner.sql +8 -0
  80. package/apps/runtime/dist/db/migrations/control/0009_plugin_claim.sql +9 -0
  81. package/apps/runtime/dist/db/migrations/control/0010_tan_snowbird.sql +6 -0
  82. package/apps/runtime/dist/db/migrations/control/meta/0000_snapshot.json +311 -0
  83. package/apps/runtime/dist/db/migrations/control/meta/0001_snapshot.json +599 -0
  84. package/apps/runtime/dist/db/migrations/control/meta/0002_snapshot.json +607 -0
  85. package/apps/runtime/dist/db/migrations/control/meta/0003_snapshot.json +311 -0
  86. package/apps/runtime/dist/db/migrations/control/meta/0004_snapshot.json +350 -0
  87. package/apps/runtime/dist/db/migrations/control/meta/0005_snapshot.json +358 -0
  88. package/apps/runtime/dist/db/migrations/control/meta/0006_snapshot.json +365 -0
  89. package/apps/runtime/dist/db/migrations/control/meta/0007_snapshot.json +460 -0
  90. package/apps/runtime/dist/db/migrations/control/meta/0008_snapshot.json +505 -0
  91. package/apps/runtime/dist/db/migrations/control/meta/0009_snapshot.json +561 -0
  92. package/apps/runtime/dist/db/migrations/control/meta/0010_snapshot.json +600 -0
  93. package/apps/runtime/dist/db/migrations/control/meta/_journal.json +83 -0
  94. package/apps/runtime/dist/db/migrations/tenant/0000_eminent_freak.sql +188 -0
  95. package/apps/runtime/dist/db/migrations/tenant/0001_salty_master_chief.sql +1 -0
  96. package/apps/runtime/dist/db/migrations/tenant/0002_cloudy_firebird.sql +1 -0
  97. package/apps/runtime/dist/db/migrations/tenant/0003_brown_warbound.sql +52 -0
  98. package/apps/runtime/dist/db/migrations/tenant/0004_romantic_nocturne.sql +6 -0
  99. package/apps/runtime/dist/db/migrations/tenant/0005_reflective_forgotten_one.sql +2 -0
  100. package/apps/runtime/dist/db/migrations/tenant/0006_hard_war_machine.sql +30 -0
  101. package/apps/runtime/dist/db/migrations/tenant/0007_space_data.sql +43 -0
  102. package/apps/runtime/dist/db/migrations/tenant/0008_run_event_note.sql +1 -0
  103. package/apps/runtime/dist/db/migrations/tenant/0009_knowledge.sql +104 -0
  104. package/apps/runtime/dist/db/migrations/tenant/0010_plugin_connection.sql +15 -0
  105. package/apps/runtime/dist/db/migrations/tenant/0011_runners.sql +2 -0
  106. package/apps/runtime/dist/db/migrations/tenant/0012_assistant_chat.sql +40 -0
  107. package/apps/runtime/dist/db/migrations/tenant/0013_run_origin.sql +1 -0
  108. package/apps/runtime/dist/db/migrations/tenant/0014_run_answer.sql +2 -0
  109. package/apps/runtime/dist/db/migrations/tenant/0015_device_calls.sql +13 -0
  110. package/apps/runtime/dist/db/migrations/tenant/0016_even_trish_tilby.sql +12 -0
  111. package/apps/runtime/dist/db/migrations/tenant/meta/0000_snapshot.json +1323 -0
  112. package/apps/runtime/dist/db/migrations/tenant/meta/0001_snapshot.json +1330 -0
  113. package/apps/runtime/dist/db/migrations/tenant/meta/0002_snapshot.json +1337 -0
  114. package/apps/runtime/dist/db/migrations/tenant/meta/0003_snapshot.json +1605 -0
  115. package/apps/runtime/dist/db/migrations/tenant/meta/0004_snapshot.json +1645 -0
  116. package/apps/runtime/dist/db/migrations/tenant/meta/0005_snapshot.json +1659 -0
  117. package/apps/runtime/dist/db/migrations/tenant/meta/0006_snapshot.json +1696 -0
  118. package/apps/runtime/dist/db/migrations/tenant/meta/0007_snapshot.json +2012 -0
  119. package/apps/runtime/dist/db/migrations/tenant/meta/0008_snapshot.json +2019 -0
  120. package/apps/runtime/dist/db/migrations/tenant/meta/0009_snapshot.json +2837 -0
  121. package/apps/runtime/dist/db/migrations/tenant/meta/0010_snapshot.json +2942 -0
  122. package/apps/runtime/dist/db/migrations/tenant/meta/0011_snapshot.json +2956 -0
  123. package/apps/runtime/dist/db/migrations/tenant/meta/0012_snapshot.json +3132 -0
  124. package/apps/runtime/dist/db/migrations/tenant/meta/0013_snapshot.json +3139 -0
  125. package/apps/runtime/dist/db/migrations/tenant/meta/0014_snapshot.json +3154 -0
  126. package/apps/runtime/dist/db/migrations/tenant/meta/0015_snapshot.json +3243 -0
  127. package/apps/runtime/dist/db/migrations/tenant/meta/0016_snapshot.json +3326 -0
  128. package/apps/runtime/dist/db/migrations/tenant/meta/_journal.json +125 -0
  129. package/apps/runtime/dist/db/schema.js +602 -0
  130. package/apps/runtime/dist/debug.js +196 -0
  131. package/apps/runtime/dist/docs/dev/index.md +41 -0
  132. package/apps/runtime/dist/docs/dev/meta.json +7 -0
  133. package/apps/runtime/dist/docs/dev/plugins/connections.md +74 -0
  134. package/apps/runtime/dist/docs/dev/plugins/events.md +89 -0
  135. package/apps/runtime/dist/docs/dev/plugins/examples.md +101 -0
  136. package/apps/runtime/dist/docs/dev/plugins/index.md +78 -0
  137. package/apps/runtime/dist/docs/dev/plugins/layout.md +90 -0
  138. package/apps/runtime/dist/docs/dev/plugins/meta.json +28 -0
  139. package/apps/runtime/dist/docs/dev/plugins/quick-start.md +94 -0
  140. package/apps/runtime/dist/docs/dev/plugins/reference.md +348 -0
  141. package/apps/runtime/dist/docs/dev/plugins/reloading.md +76 -0
  142. package/apps/runtime/dist/docs/dev/plugins/routes.md +185 -0
  143. package/apps/runtime/dist/docs/dev/plugins/runners.md +230 -0
  144. package/apps/runtime/dist/docs/dev/plugins/server.md +281 -0
  145. package/apps/runtime/dist/docs/dev/plugins/shipping.md +79 -0
  146. package/apps/runtime/dist/docs/dev/plugins/space.md +297 -0
  147. package/apps/runtime/dist/docs/dev/plugins/starters.md +70 -0
  148. package/apps/runtime/dist/docs/dev/plugins/studio.md +363 -0
  149. package/apps/runtime/dist/docs/dev/plugins/styling.md +129 -0
  150. package/apps/runtime/dist/docs/dev/plugins/tables.md +104 -0
  151. package/apps/runtime/dist/docs/dev/plugins/tools.md +139 -0
  152. package/apps/runtime/dist/docs/dev/wizard-format.md +125 -0
  153. package/apps/runtime/dist/docs/meta.json +3 -0
  154. package/apps/runtime/dist/docs/user/ai-apps.md +112 -0
  155. package/apps/runtime/dist/docs/user/assistant.md +77 -0
  156. package/apps/runtime/dist/docs/user/build-a-wizard.md +116 -0
  157. package/apps/runtime/dist/docs/user/command-line.md +83 -0
  158. package/apps/runtime/dist/docs/user/connectors.md +90 -0
  159. package/apps/runtime/dist/docs/user/create-account.md +52 -0
  160. package/apps/runtime/dist/docs/user/data.md +66 -0
  161. package/apps/runtime/dist/docs/user/first-start.md +60 -0
  162. package/apps/runtime/dist/docs/user/index.md +49 -0
  163. package/apps/runtime/dist/docs/user/install.md +123 -0
  164. package/apps/runtime/dist/docs/user/local-only.md +42 -0
  165. package/apps/runtime/dist/docs/user/meta.json +32 -0
  166. package/apps/runtime/dist/docs/user/models.md +156 -0
  167. package/apps/runtime/dist/docs/user/plugins.md +71 -0
  168. package/apps/runtime/dist/docs/user/run.md +98 -0
  169. package/apps/runtime/dist/docs/user/server.md +52 -0
  170. package/apps/runtime/dist/docs/user/space.md +126 -0
  171. package/apps/runtime/dist/docs/user/steps.md +220 -0
  172. package/apps/runtime/dist/docs/user/test-and-share.md +224 -0
  173. package/apps/runtime/dist/docs/user/troubleshooting.md +67 -0
  174. package/apps/runtime/dist/docs/user/wordpress.md +121 -0
  175. package/apps/runtime/dist/documents/parse.js +246 -0
  176. package/apps/runtime/dist/engenty/connections-external/build-connector.js +193 -0
  177. package/apps/runtime/dist/engenty/connections-external/errors.js +11 -0
  178. package/apps/runtime/dist/engenty/connections-external/import-service.js +270 -0
  179. package/apps/runtime/dist/engenty/connections-external/importer/classify.js +34 -0
  180. package/apps/runtime/dist/engenty/connections-external/importer/map-auth.js +185 -0
  181. package/apps/runtime/dist/engenty/connections-external/importer/normalize-mcp.js +63 -0
  182. package/apps/runtime/dist/engenty/connections-external/importer/normalize-openapi.js +130 -0
  183. package/apps/runtime/dist/engenty/connections-external/invoke/http-invoker.js +143 -0
  184. package/apps/runtime/dist/engenty/connections-external/invoke/mcp-client.js +143 -0
  185. package/apps/runtime/dist/engenty/connections-external/net/guarded-fetch.js +119 -0
  186. package/apps/runtime/dist/engenty/connections-external/oauth-dcr.js +88 -0
  187. package/apps/runtime/dist/engenty/connections-external/registry-client.js +336 -0
  188. package/apps/runtime/dist/engenty/connections-external/registry-source.js +82 -0
  189. package/apps/runtime/dist/engenty/connections-external/types.js +7 -0
  190. package/apps/runtime/dist/engenty/connections-github/connector.js +209 -0
  191. package/apps/runtime/dist/engenty/connections-google/connectors/calendar.js +381 -0
  192. package/apps/runtime/dist/engenty/connections-google/connectors/contacts.js +94 -0
  193. package/apps/runtime/dist/engenty/connections-google/connectors/drive.js +290 -0
  194. package/apps/runtime/dist/engenty/connections-google/connectors/gmail.js +567 -0
  195. package/apps/runtime/dist/engenty/connections-google/definitions.js +11 -0
  196. package/apps/runtime/dist/engenty/connections-google/shared.js +73 -0
  197. package/apps/runtime/dist/engenty/connections-hubspot/connector.js +140 -0
  198. package/apps/runtime/dist/engenty/connections-microsoft/action.js +17 -0
  199. package/apps/runtime/dist/engenty/connections-microsoft/graph.js +114 -0
  200. package/apps/runtime/dist/engenty/connections-microsoft/onedrive.js +286 -0
  201. package/apps/runtime/dist/engenty/connections-microsoft/outlook.js +492 -0
  202. package/apps/runtime/dist/engenty/connections-s3/s3.js +328 -0
  203. package/apps/runtime/dist/engenty/connections-sdk/files-capability.js +86 -0
  204. package/apps/runtime/dist/engenty/connections-sdk/oauth2.js +150 -0
  205. package/apps/runtime/dist/engenty/connections-sdk/registry.js +89 -0
  206. package/apps/runtime/dist/engenty/connections-sdk/storage-capability.js +84 -0
  207. package/apps/runtime/dist/engenty/connections-sdk/types.js +30 -0
  208. package/apps/runtime/dist/engenty/connections-slack/connector.js +360 -0
  209. package/apps/runtime/dist/engenty/csv-import/csv-matrix.js +178 -0
  210. package/apps/runtime/dist/engenty/csv-import/import-sources.js +87 -0
  211. package/apps/runtime/dist/engenty/csv-import/parse-csv.js +129 -0
  212. package/apps/runtime/dist/engenty/csv-import/serialize-csv.js +20 -0
  213. package/apps/runtime/dist/engenty/csv-import/types.js +1 -0
  214. package/apps/runtime/dist/engenty/csv-import/xlsx-workbook.js +159 -0
  215. package/apps/runtime/dist/engenty/doc-converter/interface.js +9 -0
  216. package/apps/runtime/dist/engenty/doc-converter/page-break.js +92 -0
  217. package/apps/runtime/dist/engenty/doc-converter/providers/local/index.js +72 -0
  218. package/apps/runtime/dist/engenty/document-scanner/schemas/classifier.js +30 -0
  219. package/apps/runtime/dist/engenty/document-scanner/schemas/index.js +4 -0
  220. package/apps/runtime/dist/engenty/document-scanner/schemas/invoice.js +73 -0
  221. package/apps/runtime/dist/engenty/document-scanner/schemas/receipt.js +63 -0
  222. package/apps/runtime/dist/engenty/document-scanner/schemas/shared.js +40 -0
  223. package/apps/runtime/dist/engenty/search-index/chunks.js +164 -0
  224. package/apps/runtime/dist/engenty/search-index/contracts.js +9 -0
  225. package/apps/runtime/dist/engenty/shims/connections-sdk.js +39 -0
  226. package/apps/runtime/dist/engenty/shims/plugin-sdk.js +1 -0
  227. package/apps/runtime/dist/engenty/shims/web-ingest.js +19 -0
  228. package/apps/runtime/dist/engenty/web-ingest/ssrf.js +277 -0
  229. package/apps/runtime/dist/engine/asks.js +82 -0
  230. package/apps/runtime/dist/engine/decide.js +82 -0
  231. package/apps/runtime/dist/engine/device.js +194 -0
  232. package/apps/runtime/dist/engine/events.js +128 -0
  233. package/apps/runtime/dist/engine/input.js +208 -0
  234. package/apps/runtime/dist/engine/owner.js +32 -0
  235. package/apps/runtime/dist/engine/prepare.js +90 -0
  236. package/apps/runtime/dist/engine/push.js +58 -0
  237. package/apps/runtime/dist/engine/requirements.js +355 -0
  238. package/apps/runtime/dist/engine/resources.js +198 -0
  239. package/apps/runtime/dist/engine/runner.js +970 -0
  240. package/apps/runtime/dist/engine/steps.js +1000 -0
  241. package/apps/runtime/dist/engine/surface.js +91 -0
  242. package/apps/runtime/dist/engine/template.js +240 -0
  243. package/apps/runtime/dist/engine/types.js +4 -0
  244. package/apps/runtime/dist/env.js +295 -0
  245. package/apps/runtime/dist/features.js +123 -0
  246. package/apps/runtime/dist/files/blobs.js +22 -0
  247. package/apps/runtime/dist/files/objects.js +86 -0
  248. package/apps/runtime/dist/files/storage.js +120 -0
  249. package/apps/runtime/dist/files/web-images.js +101 -0
  250. package/apps/runtime/dist/film/project.js +257 -0
  251. package/apps/runtime/dist/film/skills.js +91 -0
  252. package/apps/runtime/dist/film/sounds.js +122 -0
  253. package/apps/runtime/dist/film/step.js +289 -0
  254. package/apps/runtime/dist/film/tools.js +99 -0
  255. package/apps/runtime/dist/geocode.js +58 -0
  256. package/apps/runtime/dist/harness/antigravity.js +129 -0
  257. package/apps/runtime/dist/harness/apple.js +270 -0
  258. package/apps/runtime/dist/harness/claude.js +147 -0
  259. package/apps/runtime/dist/harness/codex.js +229 -0
  260. package/apps/runtime/dist/harness/cursor.js +93 -0
  261. package/apps/runtime/dist/harness/env.js +124 -0
  262. package/apps/runtime/dist/harness/index.js +95 -0
  263. package/apps/runtime/dist/harness/model.js +279 -0
  264. package/apps/runtime/dist/harness/prompt.js +121 -0
  265. package/apps/runtime/dist/harness/terminal.js +194 -0
  266. package/apps/runtime/dist/harness/types.js +7 -0
  267. package/apps/runtime/dist/index.js +113 -0
  268. package/apps/runtime/dist/limits.js +81 -0
  269. package/apps/runtime/dist/link-preview.js +60 -0
  270. package/apps/runtime/dist/log.js +106 -0
  271. package/apps/runtime/dist/manage.js +249 -0
  272. package/apps/runtime/dist/mcp/auth.js +161 -0
  273. package/apps/runtime/dist/mcp/bridge.js +59 -0
  274. package/apps/runtime/dist/mcp/flow-app.js +97 -0
  275. package/apps/runtime/dist/mcp/handler.js +54 -0
  276. package/apps/runtime/dist/mcp/scopes.js +14 -0
  277. package/apps/runtime/dist/mcp/seen.js +65 -0
  278. package/apps/runtime/dist/mcp/tools.js +572 -0
  279. package/apps/runtime/dist/media/conversation.js +167 -0
  280. package/apps/runtime/dist/media/ffmpeg.js +121 -0
  281. package/apps/runtime/dist/media/generate.js +120 -0
  282. package/apps/runtime/dist/media/marking.js +121 -0
  283. package/apps/runtime/dist/media/transcribe.js +198 -0
  284. package/apps/runtime/dist/model-errors.js +42 -0
  285. package/apps/runtime/dist/models.js +1164 -0
  286. package/apps/runtime/dist/plugin.js +61 -0
  287. package/apps/runtime/dist/plugins/channels.js +78 -0
  288. package/apps/runtime/dist/plugins/claims.js +56 -0
  289. package/apps/runtime/dist/plugins/discovery.js +155 -0
  290. package/apps/runtime/dist/plugins/events.js +63 -0
  291. package/apps/runtime/dist/plugins/jobs.js +64 -0
  292. package/apps/runtime/dist/plugins/loader.js +508 -0
  293. package/apps/runtime/dist/plugins/migrations.js +69 -0
  294. package/apps/runtime/dist/plugins/pro-keys.js +34 -0
  295. package/apps/runtime/dist/plugins/pro-state.js +83 -0
  296. package/apps/runtime/dist/plugins/pro.js +310 -0
  297. package/apps/runtime/dist/plugins/public.js +44 -0
  298. package/apps/runtime/dist/plugins/registry.js +122 -0
  299. package/apps/runtime/dist/plugins/runs.js +210 -0
  300. package/apps/runtime/dist/render/browser-path.js +54 -0
  301. package/apps/runtime/dist/render/chromium.js +98 -0
  302. package/apps/runtime/dist/render/convert.js +158 -0
  303. package/apps/runtime/dist/render/downloads.js +299 -0
  304. package/apps/runtime/dist/render/guard.js +25 -0
  305. package/apps/runtime/dist/render/shaped.js +137 -0
  306. package/apps/runtime/dist/routes/api.js +440 -0
  307. package/apps/runtime/dist/routes/debug.js +42 -0
  308. package/apps/runtime/dist/routes/delivery.js +90 -0
  309. package/apps/runtime/dist/routes/internal.js +81 -0
  310. package/apps/runtime/dist/routes/lang.js +25 -0
  311. package/apps/runtime/dist/routes/marketplace.js +43 -0
  312. package/apps/runtime/dist/routes/plugin-public.js +113 -0
  313. package/apps/runtime/dist/routes/plugins.js +212 -0
  314. package/apps/runtime/dist/routes/runs.js +1422 -0
  315. package/apps/runtime/dist/routes/studio.js +1629 -0
  316. package/apps/runtime/dist/routes/wizard-stream.js +30 -0
  317. package/apps/runtime/dist/running.js +39 -0
  318. package/apps/runtime/dist/sandbox/docker.js +75 -0
  319. package/apps/runtime/dist/sandbox/index.js +23 -0
  320. package/apps/runtime/dist/sandbox/types.js +1 -0
  321. package/apps/runtime/dist/secrets/crypto.js +28 -0
  322. package/apps/runtime/dist/secrets/signing.js +52 -0
  323. package/apps/runtime/dist/secrets/vault.js +59 -0
  324. package/apps/runtime/dist/services/access.js +88 -0
  325. package/apps/runtime/dist/services/api.js +248 -0
  326. package/apps/runtime/dist/services/architect.js +95 -0
  327. package/apps/runtime/dist/services/assistant-chats.js +311 -0
  328. package/apps/runtime/dist/services/brand.js +85 -0
  329. package/apps/runtime/dist/services/cloud.js +456 -0
  330. package/apps/runtime/dist/services/draft-events.js +27 -0
  331. package/apps/runtime/dist/services/engenty-shapes.js +71 -0
  332. package/apps/runtime/dist/services/errors.js +29 -0
  333. package/apps/runtime/dist/services/files.js +178 -0
  334. package/apps/runtime/dist/services/knowledge-model.js +559 -0
  335. package/apps/runtime/dist/services/knowledge.js +721 -0
  336. package/apps/runtime/dist/services/links.js +16 -0
  337. package/apps/runtime/dist/services/marketplace.js +492 -0
  338. package/apps/runtime/dist/services/onboarding.js +152 -0
  339. package/apps/runtime/dist/services/package-file.js +82 -0
  340. package/apps/runtime/dist/services/package.js +170 -0
  341. package/apps/runtime/dist/services/profile.js +51 -0
  342. package/apps/runtime/dist/services/project-files.js +439 -0
  343. package/apps/runtime/dist/services/project-index.js +707 -0
  344. package/apps/runtime/dist/services/projects.js +387 -0
  345. package/apps/runtime/dist/services/relevance.js +58 -0
  346. package/apps/runtime/dist/services/runners.js +178 -0
  347. package/apps/runtime/dist/services/runs.js +524 -0
  348. package/apps/runtime/dist/services/shares.js +130 -0
  349. package/apps/runtime/dist/services/site.js +270 -0
  350. package/apps/runtime/dist/services/space-categories.js +861 -0
  351. package/apps/runtime/dist/services/space-data.js +792 -0
  352. package/apps/runtime/dist/services/space-origin.js +207 -0
  353. package/apps/runtime/dist/services/spaces.js +656 -0
  354. package/apps/runtime/dist/services/translations.js +306 -0
  355. package/apps/runtime/dist/services/widgets.js +34 -0
  356. package/apps/runtime/dist/services/wizard-icon.js +157 -0
  357. package/apps/runtime/dist/services/wizards.js +420 -0
  358. package/apps/runtime/dist/settings.js +16 -0
  359. package/apps/runtime/dist/store/errors.js +4 -0
  360. package/apps/runtime/dist/store/index.js +299 -0
  361. package/apps/runtime/dist/store/shared-lists.js +123 -0
  362. package/apps/runtime/dist/tenants/control.js +238 -0
  363. package/apps/runtime/dist/tenants/tenant.js +26 -0
  364. package/apps/runtime/dist/texts.js +207 -0
  365. package/apps/runtime/dist/tools/browser.js +703 -0
  366. package/apps/runtime/dist/tools/connector.js +204 -0
  367. package/apps/runtime/dist/tools/index.js +291 -0
  368. package/apps/runtime/dist/tools/mail.js +104 -0
  369. package/apps/runtime/dist/tools/net-guard.js +170 -0
  370. package/apps/runtime/dist/tools/pages.js +81 -0
  371. package/apps/runtime/dist/tools/plugin.js +180 -0
  372. package/apps/runtime/dist/tools/project.js +154 -0
  373. package/apps/runtime/dist/tools/shared.js +69 -0
  374. package/apps/runtime/dist/tools/store.js +238 -0
  375. package/apps/runtime/dist/update.js +113 -0
  376. package/apps/runtime/dist/widgets/bundle.js +99 -0
  377. package/apps/runtime/dist/widgets/render.js +329 -0
  378. package/apps/runtime/dist/widgets/runtime.js +108 -0
  379. package/apps/runtime/dist/widgets/script.js +30 -0
  380. package/apps/runtime/dist/widgets/step.js +223 -0
  381. package/apps/web/dist/ai-labels/ai-black.svg +20 -0
  382. package/apps/web/dist/ai-labels/ai-generated-black.svg +31 -0
  383. package/apps/web/dist/ai-labels/ai-generated-white.svg +32 -0
  384. package/apps/web/dist/ai-labels/ai-modified-black.svg +30 -0
  385. package/apps/web/dist/ai-labels/ai-modified-white.svg +31 -0
  386. package/apps/web/dist/ai-labels/ai-white.svg +21 -0
  387. package/apps/web/dist/assets/AboutDialog-D4mvc-zu.js +1 -0
  388. package/apps/web/dist/assets/ChangelogDialog-DLqpJsF6.js +1 -0
  389. package/apps/web/dist/assets/ChatView-3laypRcE.js +10 -0
  390. package/apps/web/dist/assets/EditorPage-BalA5U2Y.js +3 -0
  391. package/apps/web/dist/assets/FlowPreview-CusP7ci9.js +1 -0
  392. package/apps/web/dist/assets/Harness-BrP-ENHg.css +1 -0
  393. package/apps/web/dist/assets/Harness-iYLtOLaK.js +16 -0
  394. package/apps/web/dist/assets/NewWizardChannels-CbwJ9A56.js +1 -0
  395. package/apps/web/dist/assets/NewWizardPage-BOBYiB9i.js +7 -0
  396. package/apps/web/dist/assets/OnboardingPage-CUwCiVIr.js +1 -0
  397. package/apps/web/dist/assets/ProjectPage-Bb16MdYG.js +1 -0
  398. package/apps/web/dist/assets/PublicRunner-BCt7Q6C-.js +1 -0
  399. package/apps/web/dist/assets/ReadOnly-kIHX2TEy.js +1 -0
  400. package/apps/web/dist/assets/RunDrawer-hZ9oeSXu.js +4 -0
  401. package/apps/web/dist/assets/RunnerView-DUS9fPmx.js +1 -0
  402. package/apps/web/dist/assets/SettingsPage-BzwR50fi.js +1 -0
  403. package/apps/web/dist/assets/SetupPage-gAp7rPxp.js +1 -0
  404. package/apps/web/dist/assets/SharePage-DqZWHva_.js +1 -0
  405. package/apps/web/dist/assets/changelog-DugmCNSf.js +1 -0
  406. package/apps/web/dist/assets/engenty-eXZ-EAwd.js +1 -0
  407. package/apps/web/dist/assets/esm-DXeMu8Lb.js +7 -0
  408. package/apps/web/dist/assets/fluffy-engenty-ClRou7yu.js +456 -0
  409. package/apps/web/dist/assets/index-AfUa8xKD.css +1 -0
  410. package/apps/web/dist/assets/index-C5Sm7tTR.js +14 -0
  411. package/apps/web/dist/assets/jsx-runtime-BNakU3Ej.js +1 -0
  412. package/apps/web/dist/assets/lock-R_CfU0Xo.js +1 -0
  413. package/apps/web/dist/assets/oss-credits-cZ9NUaLZ.js +1 -0
  414. package/apps/web/dist/assets/pdfmake-Cx9scTbD.js +228 -0
  415. package/apps/web/dist/assets/phone-CgrIS4_-.js +1 -0
  416. package/apps/web/dist/assets/preload-helper-CNEI7N0N.js +1 -0
  417. package/apps/web/dist/assets/qr-scanner-worker.min-CJaXo3yu.js +98 -0
  418. package/apps/web/dist/assets/qr-scanner.min-C_UI0gH-.js +1 -0
  419. package/apps/web/dist/assets/rolldown-runtime-hePW80VL.js +1 -0
  420. package/apps/web/dist/assets/settings-menu-2IMOOlLl.js +1 -0
  421. package/apps/web/dist/assets/ui-dzGvc3xk.js +137 -0
  422. package/apps/web/dist/assets/upload-BSuTilFF.js +1 -0
  423. package/apps/web/dist/assets/vfs_fonts-DllDSYt1.js +1 -0
  424. package/apps/web/dist/embed.js +266 -0
  425. package/apps/web/dist/favicon.svg +1 -0
  426. package/apps/web/dist/icons/apple-touch-icon.png +0 -0
  427. package/apps/web/dist/icons/icon-192.png +0 -0
  428. package/apps/web/dist/icons/icon-512.png +0 -0
  429. package/apps/web/dist/icons/icon-maskable-512.png +0 -0
  430. package/apps/web/dist/index.html +48 -0
  431. package/apps/web/dist/install.sh +577 -0
  432. package/apps/web/dist/manifest.webmanifest +21 -0
  433. package/apps/web/dist/mcp/flow.html +980 -0
  434. package/apps/web/dist/sw.js +15 -0
  435. package/bin/wizards.mjs +288 -0
  436. package/modules/README.md +15 -0
  437. package/node_modules/@engenty/wizards/dist/plugin/index.d.ts +1150 -0
  438. package/node_modules/@engenty/wizards/dist/plugin/index.js +4 -0
  439. package/node_modules/@engenty/wizards/dist/plugin/studio.d.ts +322 -0
  440. package/node_modules/@engenty/wizards/dist/plugin/studio.js +4 -0
  441. package/node_modules/@engenty/wizards/dist/plugin/thread.d.ts +174 -0
  442. package/node_modules/@engenty/wizards/dist/plugin/thread.js +821 -0
  443. package/node_modules/@engenty/wizards/package.json +11 -0
  444. package/node_modules/@engenty-wizards/shared/dist/assistant.d.ts +174 -0
  445. package/node_modules/@engenty-wizards/shared/dist/assistant.js +65 -0
  446. package/node_modules/@engenty-wizards/shared/dist/changes.d.ts +22 -0
  447. package/node_modules/@engenty-wizards/shared/dist/changes.js +61 -0
  448. package/node_modules/@engenty-wizards/shared/dist/connectors.d.ts +77 -0
  449. package/node_modules/@engenty-wizards/shared/dist/connectors.js +2 -0
  450. package/node_modules/@engenty-wizards/shared/dist/decision.d.ts +76 -0
  451. package/node_modules/@engenty-wizards/shared/dist/decision.js +147 -0
  452. package/node_modules/@engenty-wizards/shared/dist/definition.d.ts +2922 -0
  453. package/node_modules/@engenty-wizards/shared/dist/definition.js +1920 -0
  454. package/node_modules/@engenty-wizards/shared/dist/engenty/data-tables/columns-format.d.ts +5 -0
  455. package/node_modules/@engenty-wizards/shared/dist/engenty/data-tables/columns-format.js +132 -0
  456. package/node_modules/@engenty-wizards/shared/dist/engenty/data-tables/columns-value.d.ts +11 -0
  457. package/node_modules/@engenty-wizards/shared/dist/engenty/data-tables/columns-value.js +209 -0
  458. package/node_modules/@engenty-wizards/shared/dist/engenty/data-tables/columns.d.ts +532 -0
  459. package/node_modules/@engenty-wizards/shared/dist/engenty/data-tables/columns.js +217 -0
  460. package/node_modules/@engenty-wizards/shared/dist/engenty/data-tables/index.d.ts +3 -0
  461. package/node_modules/@engenty-wizards/shared/dist/engenty/data-tables/index.js +3 -0
  462. package/node_modules/@engenty-wizards/shared/dist/engenty/search-index/catalog-lexical.d.ts +14 -0
  463. package/node_modules/@engenty-wizards/shared/dist/engenty/search-index/catalog-lexical.js +166 -0
  464. package/node_modules/@engenty-wizards/shared/dist/engenty/search-index/catalog-rank.d.ts +33 -0
  465. package/node_modules/@engenty-wizards/shared/dist/engenty/search-index/catalog-rank.js +99 -0
  466. package/node_modules/@engenty-wizards/shared/dist/feature-flags.d.ts +78 -0
  467. package/node_modules/@engenty-wizards/shared/dist/feature-flags.js +70 -0
  468. package/node_modules/@engenty-wizards/shared/dist/features.d.ts +41 -0
  469. package/node_modules/@engenty-wizards/shared/dist/features.js +89 -0
  470. package/node_modules/@engenty-wizards/shared/dist/fit.d.ts +71 -0
  471. package/node_modules/@engenty-wizards/shared/dist/fit.js +382 -0
  472. package/node_modules/@engenty-wizards/shared/dist/json-schema.d.ts +14 -0
  473. package/node_modules/@engenty-wizards/shared/dist/json-schema.js +66 -0
  474. package/node_modules/@engenty-wizards/shared/dist/knowledge.d.ts +199 -0
  475. package/node_modules/@engenty-wizards/shared/dist/knowledge.js +68 -0
  476. package/node_modules/@engenty-wizards/shared/dist/marketplace-entry.d.ts +35 -0
  477. package/node_modules/@engenty-wizards/shared/dist/marketplace-entry.js +107 -0
  478. package/node_modules/@engenty-wizards/shared/dist/marketplace-search.d.ts +20 -0
  479. package/node_modules/@engenty-wizards/shared/dist/marketplace-search.js +136 -0
  480. package/node_modules/@engenty-wizards/shared/dist/marketplace.d.ts +227 -0
  481. package/node_modules/@engenty-wizards/shared/dist/marketplace.js +354 -0
  482. package/node_modules/@engenty-wizards/shared/dist/merge.d.ts +7 -0
  483. package/node_modules/@engenty-wizards/shared/dist/merge.js +40 -0
  484. package/node_modules/@engenty-wizards/shared/dist/numbers.d.ts +24 -0
  485. package/node_modules/@engenty-wizards/shared/dist/numbers.js +54 -0
  486. package/node_modules/@engenty-wizards/shared/dist/projects.d.ts +224 -0
  487. package/node_modules/@engenty-wizards/shared/dist/projects.js +319 -0
  488. package/node_modules/@engenty-wizards/shared/dist/providers.d.ts +101 -0
  489. package/node_modules/@engenty-wizards/shared/dist/providers.js +390 -0
  490. package/node_modules/@engenty-wizards/shared/dist/run.d.ts +680 -0
  491. package/node_modules/@engenty-wizards/shared/dist/run.js +620 -0
  492. package/node_modules/@engenty-wizards/shared/dist/runner-texts.d.ts +546 -0
  493. package/node_modules/@engenty-wizards/shared/dist/runner-texts.js +523 -0
  494. package/node_modules/@engenty-wizards/shared/dist/runners.d.ts +93 -0
  495. package/node_modules/@engenty-wizards/shared/dist/runners.js +146 -0
  496. package/node_modules/@engenty-wizards/shared/dist/shape.d.ts +102 -0
  497. package/node_modules/@engenty-wizards/shared/dist/shape.js +318 -0
  498. package/node_modules/@engenty-wizards/shared/dist/space-data.d.ts +89 -0
  499. package/node_modules/@engenty-wizards/shared/dist/space-data.js +47 -0
  500. package/node_modules/@engenty-wizards/shared/dist/store.d.ts +117 -0
  501. package/node_modules/@engenty-wizards/shared/dist/store.js +81 -0
  502. package/node_modules/@engenty-wizards/shared/dist/surface.d.ts +115 -0
  503. package/node_modules/@engenty-wizards/shared/dist/surface.js +442 -0
  504. package/node_modules/@engenty-wizards/shared/dist/texts.d.ts +45 -0
  505. package/node_modules/@engenty-wizards/shared/dist/texts.js +54 -0
  506. package/node_modules/@engenty-wizards/shared/dist/translation.d.ts +23 -0
  507. package/node_modules/@engenty-wizards/shared/dist/translation.js +154 -0
  508. package/node_modules/@engenty-wizards/shared/dist/wizard-package.d.ts +48 -0
  509. package/node_modules/@engenty-wizards/shared/dist/wizard-package.js +49 -0
  510. package/node_modules/@engenty-wizards/shared/dist/workspace.d.ts +16 -0
  511. package/node_modules/@engenty-wizards/shared/dist/workspace.js +51 -0
  512. package/node_modules/@engenty-wizards/shared/package.json +10 -0
  513. package/package.json +77 -4
  514. package/plugin/.claude-plugin/plugin.json +9 -0
  515. package/plugin/.mcp.json +8 -0
  516. package/plugin/commands/wizard.md +8 -0
  517. package/plugin/skills/build-wizard/SKILL.md +27 -0
  518. package/plugin/skills/use-wizard/SKILL.md +18 -0
@@ -0,0 +1,156 @@
1
+ ---
2
+ title: Models and account
3
+ description: What runs the AI in your wizards – an AI client on your computer, your own API keys, a local model or credits.
4
+ version: 0.5.0
5
+ ---
6
+
7
+ Settings → Models decides what runs the AI in your wizards. On your computer you set it up
8
+ yourself. On engenty.ai the settings belong to the team, and only its admins can change them.
9
+
10
+ ## What the wizards can do
11
+
12
+ The menu lists five capabilities under “Capabilities”. A dot beside each one shows how it runs:
13
+ green on something of your own, amber on credits, hollow when nothing is set up.
14
+
15
+ | Capability | Used for | Classes |
16
+ |---|---|---|
17
+ | Text & reasoning | Writing, research and decisions; Goose and the assistant in the editor | Classifier, Standard, High, Highest |
18
+ | Images | Logos, product shots, illustrations | Image |
19
+ | Videos | Short clips from text or an image | Video |
20
+ | Voice | Reading text aloud | Speech |
21
+ | Voice notes | Turning speech into text | Audio |
22
+
23
+ A capability’s page asks “Who does it?”:
24
+
25
+ | Choice | What it is | Cost |
26
+ |---|---|---|
27
+ | Your subscription | Claude Code, Codex, Antigravity or Cursor Agent on this computer, using your sign-in there (text; Codex also makes images; Antigravity runs steps without their tools) | Your subscription |
28
+ | Your own API key | OpenAI, Anthropic, Google Gemini, fal.ai, ElevenLabs, Replicate or Vercel AI Gateway | The provider bills your key |
29
+ | Apple Intelligence | The model on this Mac: short texts and decisions (Classifier, Standard) and voice notes. See [Apple Intelligence](#apple-intelligence) | Nothing |
30
+ | Local model | [Ollama](https://ollama.com) on this computer (text) | Nothing |
31
+ | engenty credits | Your account’s credits. engenty chooses the model, or you choose one it offers (FLUX on fal, ElevenLabs voices, Veo …) | Credits |
32
+
33
+ Below that you choose the provider’s model, and “Try it” makes one real call: a short answer, a
34
+ test image, a voice to hear, a 4-second clip or a transcript. A try costs the same as a real call.
35
+
36
+ With an account, credits step in where you have nothing of your own set up – for example,
37
+ videos without your own API key. The switch “Credits step in” on the page “engenty credits” turns
38
+ that off. A capability with nothing of its own set up then doesn’t run.
39
+
40
+ ## Apple Intelligence
41
+
42
+ On a Mac with Apple silicon and macOS 26 or later, the [setup](./first-start.md) and “Text &
43
+ reasoning” offer Apple Intelligence: the model Apple keeps on the Mac. It is there on your
44
+ computer only, not on engenty.ai. Nothing leaves the Mac, you don’t sign in and you pay nothing.
45
+ It needs Apple Intelligence switched on (System Settings → Apple Intelligence & Siri). Until
46
+ then, the choice says why it can’t be used yet: “switched off” or “Apple is still loading the
47
+ model”.
48
+
49
+ The model is small. It reads at most 4,096 tokens for a prompt and its answer together, and it
50
+ uses no tools. So it takes only the classes Classifier and Standard: decisions, picking values
51
+ out of text and short copy. A step of these classes runs there without its tools (no API calls,
52
+ no web, no lists or documents). A step whose text is too long fails with a note that says so.
53
+ Give such a step the class High, or choose something else for the class. The binding is
54
+ `apple:default`; `apple:tagging` is Apple’s adapter for tagging and extraction.
55
+
56
+ High and Highest keep what they ran on before: the AI client on this computer, an API key or the
57
+ credits. The page names it under the choice. If you later choose something else for text,
58
+ Classifier and Standard leave Apple Intelligence again.
59
+
60
+ “Voice notes” offers Apple Intelligence on the same Macs, even with Apple Intelligence switched
61
+ off. The Mac writes a recording down itself (`apple:transcribe`), in the language of the run, and
62
+ it costs nothing. The first note in a language waits while Apple downloads that language. A
63
+ recording from Chrome or Firefox (WebM, Ogg) needs ffmpeg on the Mac, which turns it into WAV
64
+ first. Recordings from Safari and the app need nothing. Without ffmpeg, the page “Voice notes”
65
+ says so.
66
+
67
+ **In the app.** On an iPhone with iOS 26, the engenty wizards app writes voice notes down on the
68
+ phone. Once Apple Intelligence is switched on, it also answers a run’s short text calls:
69
+ Classifier and Standard steps without tools or files of their own. A run in the cloud then
70
+ spends no credits on them, and that text never leaves the phone. Where the phone doesn’t answer,
71
+ the run uses what these settings say.
72
+
73
+ ## Keys
74
+
75
+ engenty wizards checks a key with its provider before it stores it. On your computer, keys stay
76
+ in the Keychain on a Mac and in an encrypted file in the data folder elsewhere. On engenty.ai
77
+ they are kept encrypted for the team. They are never in the database, and nobody sees them again.
78
+
79
+ Under “Access” you find the credits, the AI clients on this computer and each provider you gave
80
+ a key. The other providers are under “More providers”. A provider’s page holds its key, what it
81
+ is used for, and which of its models run on credits without your own API key.
82
+
83
+ On engenty.ai, your own API keys come with the Pro plan. Without them, runs use the team’s
84
+ credits.
85
+
86
+ Vercel refuses many models for an AI Gateway key on its free tier. The Models page and the check
87
+ before a run say so, with a link to top up at Vercel.
88
+
89
+ | Provider | Serves |
90
+ |---|---|
91
+ | OpenAI | Text, images, voice, transcripts |
92
+ | Anthropic | Text |
93
+ | Google Gemini | Text, images, video (Veo), voice, voice notes |
94
+ | fal.ai | Images (FLUX, Recraft, Imagen), video (Veo, Luma, MiniMax), voice, transcripts |
95
+ | ElevenLabs | Voices, transcripts (Scribe) |
96
+ | Replicate | Images, video |
97
+ | Vercel AI Gateway | Many providers’ models with one key, web search |
98
+
99
+ ## Model per class
100
+
101
+ A step names a class, never a model. For text, “Adjust per class” sets the model of each class:
102
+
103
+ | Class | Used for |
104
+ |---|---|
105
+ | Classifier | Decisions, picking values out of text |
106
+ | Standard | Short copy, API calls |
107
+ | High | Research, long documents; [Goose](./assistant.md) |
108
+ | Highest | Hard reasoning, code; the assistant in the editor |
109
+
110
+ You write a model as `vendor/model` for the AI Gateway, with the provider in front for the others
111
+ (`openai:gpt-5.4-mini`, `fal:fal-ai/flux/schnell`, `ollama:qwen3`), or as `credits` /
112
+ `credits:<model>` for the credits.
113
+
114
+ Some decisions go to a decision model, Jev, wherever one can be reached: decisions in a wizard (a
115
+ branch with a statement, a field shown when the AI finds a statement true) and the check of what
116
+ a Knowledge search found. Jev is reached through an AI Gateway key, a TypeSafe key
117
+ (`TYPESAFE_API_KEY` in the settings file) or an account. Without one of them, the Classifier class
118
+ decides.
119
+
120
+ ## The editor’s chat
121
+
122
+ Where Claude Code is installed on this computer, “The studio chat uses” (on the page “Text &
123
+ reasoning”) sets what builds your wizards in the editor’s chat:
124
+
125
+ | Choice | Means |
126
+ |---|---|
127
+ | Model class Highest | The model set for that class |
128
+ | Claude subscription (Claude Code) | Claude Code on this computer builds the wizard, using your sign-in there. Runs still use keys or credits |
129
+
130
+ ## Account
131
+
132
+ engenty wizards on your computer normally signs in to your account during the setup
133
+ ([Install](./install.md)). If you set it up without an account, it stays
134
+ [on your computer only](./local-only.md). With an account you can
135
+
136
+ - use credits instead of your own API keys (where text, image or video models are missing, the
137
+ editor’s note about them says so),
138
+ - publish wizards to the cloud, where their links work while your computer is off
139
+ ([Test and share](./test-and-share.md#in-the-cloud)),
140
+ - connect Gmail, Drive, Calendar and Contacts without a Google client of your own
141
+ ([Connectors](./connectors.md)).
142
+
143
+ You sign in under Settings → Account, which opens your browser. In a terminal,
144
+ `wizards account sign-in` does the same. A new account needs an invitation code: enter it under
145
+ “No account yet?”, and “Create account” opens the sign-up with the code filled in
146
+ ([Create an account](./create-account.md)). An account starts with credits. Some of them expire
147
+ on a set date, which the settings show. Runs in the cloud are paid from the account’s credits.
148
+ They stop when the credits are used up, until you top up.
149
+
150
+ While you are signed in, the studio uses the name and email of your account. Settings → Account
151
+ shows them under “Profile”, and you can’t change them there. The avatar carries a small cloud.
152
+ Its menu says “Connected to engenty.ai” and shows your credits, or says “Sign-in expired” when
153
+ you need to sign in again.
154
+
155
+ Without an account, engenty wizards isn’t connected to anything. Your wizards, the space and its
156
+ files stay on your computer.
@@ -0,0 +1,71 @@
1
+ ---
2
+ title: Plugins
3
+ description: Add pages, settings and tools for steps to engenty wizards on your computer. What a plugin may do, and how to install one.
4
+ version: 0.5.0
5
+ ---
6
+
7
+ A plugin adds to engenty wizards without changing it:
8
+
9
+ | It can add | Where you find it |
10
+ |---|---|
11
+ | Tools for AI steps | In a step’s tool list, beside the built-in ones |
12
+ | What every AI step of a space knows | Nowhere: the steps get it, with tools to look things up |
13
+ | A page | Behind an icon in the studio’s app bar |
14
+ | A settings section | In the settings |
15
+ | A section of the space page | In one of the space page’s parts |
16
+ | A part of the space page | In the space’s menu, beside Info & brand, Knowledge and Data |
17
+ | A template | First among the templates of a new wizard |
18
+ | A channel a wizard runs through | Under “How should it run?” on a new wizard, and under “How others reach it” in the share dialog, where “Set up” opens the plugin’s own setup |
19
+ | Something that happens when a run ends, or again and again | Nowhere: it works in the background, for example posts a message |
20
+
21
+ > A plugin runs with the app’s full rights: it reads your wizards, your results, your settings
22
+ > and the files on your computer. Install only plugins you trust.
23
+
24
+ ## Install one
25
+
26
+ A plugin is a file or a folder. Put it into the plugins folder of engenty wizards:
27
+
28
+ ```bash
29
+ ~/.engenty/wizards/plugins
30
+ ```
31
+
32
+ - engenty wizards notices a new plugin while it runs. You don’t need to restart it.
33
+ - A plugin’s own instructions say which settings it needs. They go into the
34
+ [settings file](./command-line.md#settings).
35
+ - To use another folder, name it with `PLUGINS_DIR` in the settings file. You can name several,
36
+ separated by commas. They replace the plugins folder above, so name that one too if you want
37
+ to keep it.
38
+
39
+ ## See what is installed
40
+
41
+ Settings → Plugins lists the plugins with their version and the tools they add. The section
42
+ appears once there is a plugin, or a file that looks like one. It also appears while you are
43
+ signed in to an account.
44
+
45
+ | Button | What it does |
46
+ |---|---|
47
+ | Reload | Loads one plugin again from its files |
48
+ | Look again | Loads all plugins again and finds new ones |
49
+
50
+ - “The server part didn’t load” or “The studio part didn’t load” says what went wrong with a
51
+ plugin. The plugin adds nothing until that is fixed.
52
+ - “Not a plugin” lists files in the plugins folder that look like a plugin but aren’t one.
53
+
54
+ ## Remove one
55
+
56
+ Delete its file or folder. Tables the plugin made in your database stay, with their rows.
57
+
58
+ ## Wizards that use a plugin’s tool
59
+
60
+ A wizard that lists a plugin’s tool runs only where that plugin is installed. Elsewhere the
61
+ editor shows an issue, and a run stops at that step. Keep that in mind when you export a wizard
62
+ or publish it to the cloud.
63
+
64
+ ## On engenty.ai
65
+
66
+ engenty installs the plugins in the cloud. Settings → Plugins lists the ones switched on for your
67
+ account.
68
+
69
+ ## Write your own
70
+
71
+ See the [developer docs](../dev/plugins/index.md).
@@ -0,0 +1,98 @@
1
+ ---
2
+ title: Run a wizard
3
+ description: What you see when you open a wizard's link, on a computer or a phone.
4
+ version: 0.5.0
5
+ ---
6
+
7
+ ## From the link to the result
8
+
9
+ 1. The link opens the wizard. “Let’s go” starts a run.
10
+ 2. Pages ask their questions. “Continue” takes you to the next page, “Back” to the one before.
11
+ 3. While an AI step works, the page says what it is doing. The screen stays on.
12
+ 4. A review shows what was made. “Looks good” accepts it. “New version” asks for another one,
13
+ with a note on what should change. “Edit” lets you change a text by hand.
14
+ 5. The result page offers the downloads, “Copy text” and “Share”.
15
+
16
+ If you left a run, you can pick it up again with “Continue your last run”.
17
+
18
+ ## As a chat
19
+
20
+ Where the owner switched it on, the wizard also runs as a chat, at `…/chat` or straight on its
21
+ link. It asks one question at a time. You answer in the composer or with the replies under the
22
+ question, and every answer stays in the chat. The composer has these buttons:
23
+
24
+ | Button | Does |
25
+ |---|---|
26
+ | Speaker (“Read aloud”) | Reads what the wizard says aloud, with the browser’s own voice in the wizard’s language. It costs nothing and stays on in this browser |
27
+ | Microphone (“Dictate”, ⌘⇧M, Ctrl⇧M on Windows) | Dictates into the composer. Where the browser can recognise speech, it writes along. Elsewhere the wizard’s own model writes the recording down when you stop, like a voice note |
28
+ | Phone (“Start talking”) | Starts a live conversation: you talk, and the wizard talks back and fills its pages from what you say, one question at a time. Files and signatures stay on the screen, and the wizard tells you so. The button is there only where the owner switched on live voice or the video call for the wizard (always in the owner’s test run), and for now only where the app that runs it has an OpenAI API key under Models |
29
+ | Camera, in a conversation | The wizard sees what you show it (“is the dent on the left?”) and takes photos into a photo field when you hold something still. The small picture shows what it sees |
30
+
31
+ When a step works on a website, the chat shows that page live with what the wizard just did.
32
+ “Take over” lets you click and type in it yourself while the wizard waits. “Hand back” lets the
33
+ wizard go on from where you left the page.
34
+
35
+ ## As a live conversation
36
+
37
+ Where the owner switched it on, the wizard opens at `…/talk`, or straight on its link, as a
38
+ live audio screen. “Start talking” begins the conversation. The wizard’s engenty stands alone
39
+ in the middle: it breathes while it speaks and glows while it listens. The whole transcript of
40
+ what either of you said runs under it, with “Mute”, the camera and “Leave” underneath. The chat
41
+ sits beside it as the screen the wizard draws on. If you switch the camera on, it becomes the
42
+ video call below.
43
+
44
+ ## As a video call
45
+
46
+ Where the owner switched it on, the wizard runs as a call, at `…/video` or straight on its link.
47
+ A stage shows your camera and the wizard’s engenty as the two on the call, with what either of
48
+ you said as captions. The controls underneath are “Mute”, the camera, “Switch camera” on a phone
49
+ and “Leave”. The chat sits beside the stage (under it on a phone) and is the screen the wizard
50
+ draws on: the questions and answers as they go, a photo field filled from the camera, a
51
+ signature or a file where only the screen can take it, and the result at the end.
52
+
53
+ “Let’s go” starts the run, and “Join” starts the call. Your browser then asks for the microphone
54
+ and the camera. The conversation is the same as the chat’s live voice, with the camera on from
55
+ the start. For now it needs an OpenAI API key under Models.
56
+
57
+ ## On a phone
58
+
59
+ | The wizard asks for | The phone gives |
60
+ |---|---|
61
+ | Photos | The camera, page after page, or pictures from the library |
62
+ | A paper | The camera as a scanner |
63
+ | A short clip | The camera, up to 30 seconds |
64
+ | A serial or ticket number | “Scan” reads a QR code or barcode |
65
+ | Where you are | “Use my location”, with its accuracy. You can type an address instead |
66
+ | What happened | “Record a voice note”, up to 5 minutes |
67
+ | A sign-off | “Sign here”, with your finger |
68
+
69
+ Your browser asks before it uses the camera, the microphone or your location. If you denied one,
70
+ allow it in your browser’s site settings (the lock icon in the address bar). Or use the fallback
71
+ the field offers: choose a photo, type the address or choose an audio file.
72
+
73
+ With “Tell me when it’s done” you can switch apps during a long step: a notification, a sound
74
+ or a buzz brings you back. “Add to home screen” puts the wizard on your phone like an app. On a
75
+ computer, “Bookmark this wizard” shows how to keep it in your bookmarks.
76
+
77
+ ## When the wizard needs you
78
+
79
+ | It shows | Because | You |
80
+ |---|---|---|
81
+ | A website live, with a sign-in | A step met a login, a captcha or “continue with Google” | Fill in the fields shown, or click and type in the live page itself. Then choose “Sign in” or “I’m signed in”. What you enter goes straight into the page, and the AI never sees it. “Remember this sign-in for next time” stores it encrypted. “Skip” goes on without the site |
82
+ | “The wizard wants to run this in …” | A step wants to change something in a service you connected | Choose “Allow”, “Allow for the rest of this run” or “Don’t allow”. Reading doesn’t ask, deleting always does |
83
+ | “Connect” | The wizard works with your own account of a service | Sign in to the service in a new tab. The connection is kept for your next run |
84
+
85
+ ## What this wizard remembers
86
+
87
+ A wizard can keep lists, files and connected accounts for your next run. Only you see them.
88
+ The link “What this wizard remembers” below the wizard’s pages shows what is kept, and “Delete
89
+ everything” deletes it. Anything nobody used for 400 days is deleted by itself.
90
+
91
+ ## Share a result
92
+
93
+ “Share” on the result page makes a link to the result. You can copy it, send it by email or hand
94
+ it to another app. When you ran the wizard over its link, the result and its link are kept for 7
95
+ days. “Withdraw link” ends the link earlier.
96
+
97
+ Media made by a model carries an “AI-generated” label. Whoever publishes it has to label it as
98
+ AI-generated. The file already carries the marking.
@@ -0,0 +1,52 @@
1
+ ---
2
+ title: Run it on a server
3
+ description: One Docker container behind an https proxy, so others can open your wizards' links.
4
+ version: 0.5.0
5
+ ---
6
+
7
+ engenty wizards on your computer answers on `localhost` only. On a server with a public address,
8
+ anyone with a link can run your wizards.
9
+
10
+ ## Start it
11
+
12
+ You need Docker and an https proxy in front, such as Caddy or Traefik.
13
+
14
+ ```bash
15
+ git clone https://github.com/engenty/wizards.git
16
+ cd wizards
17
+ cp .env.example .env
18
+ ```
19
+
20
+ In `.env`, set `APP_URL` to your https address (the container doesn’t start without it) and add
21
+ a model key. Then:
22
+
23
+ ```bash
24
+ docker compose up -d --build
25
+ docker compose logs
26
+ ```
27
+
28
+ The logs show a link (“Open the studio: …”). Open it once: it signs your browser in.
29
+
30
+ ## What to know
31
+
32
+ | | |
33
+ |---|---|
34
+ | Port | Point the proxy at port 8891 |
35
+ | Data | Databases and files are on the `/data` volume. Back that volume up |
36
+ | Models | Your own API keys or Ollama. The subscriptions of AI clients live on your own computer, not on a server |
37
+ | PDF, PNG, browser steps, MP4 | Chromium and ffmpeg are in the image |
38
+ | Code & shell | The sandbox is off in this image, so steps can’t use that tool. `compose.yaml` shows how to switch it on |
39
+ | Plugins | Put them in a folder that you mount into the container and name in `PLUGINS_DIR` |
40
+
41
+ ## Update
42
+
43
+ ```bash
44
+ git pull
45
+ docker compose up -d --build
46
+ ```
47
+
48
+ Your data is brought up to date when the container starts.
49
+
50
+ ## Sign in again
51
+
52
+ The link works once. For a new one, restart the container and read the logs again.
@@ -0,0 +1,126 @@
1
+ ---
2
+ title: Space
3
+ description: What your wizards share and produce – who you are, what they look things up in, and the results of their runs.
4
+ version: 0.5.0
5
+ ---
6
+
7
+ Your space holds what all your wizards share, and what they produce. Every AI step knows it, so a
8
+ wizard never has to ask for your company’s name or address.
9
+
10
+ You open it in two ways:
11
+
12
+ - The house in the app bar, after the space’s tile, opens the space’s page.
13
+ - The button left of the space’s name in the top bar (“Space menu”) opens the sidebar. It lists “Wizards”,
14
+ “New wizard” and, under “Space”, the space’s four parts. On a narrow window the sidebar stays
15
+ closed.
16
+
17
+ The menu on the left shows the space’s four parts. A part opens its own sections, and the arrow
18
+ at the top leads back. While the sidebar is open, the menu stands in it. On a phone, the parts,
19
+ a part’s sections and the page take turns.
20
+
21
+ | Part | Sections | Used for |
22
+ |---|---|---|
23
+ | Info & brand | Basics, Facts, Logos, Colours, Brand assets | Who you are and how you look |
24
+ | Knowledge | All, then each category, then the sections plugins add | What every AI step looks things up in |
25
+ | Data | All data, General, then each wizard | Tables and pages the wizards keep |
26
+ | Results | All results, then each wizard | The runs that reached their result |
27
+
28
+ ## Info & brand
29
+
30
+ Logos, Colours and Brand assets each have an “Add” menu in their head.
31
+
32
+ | Section | Holds | Used for |
33
+ |---|---|---|
34
+ | Basics | “Title” and “About”: what you do, for whom, and the tone you write in | Texts sound like you. People who run a wizard see the title too |
35
+ | Facts | Labelled values: address, VAT ID, opening hours | Steps use them as written |
36
+ | Logos | One or several, each with a description of what it is for. Upload one, or take it from a web address (“Logo from URL”) | People see the main logo. The description tells a step what a variant is for |
37
+ | Colours | Named colours, each with a note on its use. Add one, or read them off a web page (“Colours from URL”) | The first colour is the accent of documents, dashboards and public pages |
38
+ | Brand assets | Images, videos, audio, PDFs, fonts, Lottie and 3D files, in tabs you can search | AI steps place pictures in documents and choose them by their description |
39
+
40
+ ## Knowledge
41
+
42
+ Knowledge is the ground truth your wizards’ steps look things up in: pages, tables and files. You
43
+ see here exactly what a step can find. Drop documents on the page, or add a page or a table
44
+ yourself (“New page”, “New table”). A table can be an FAQ, with a question and its answer per row.
45
+
46
+ - **Documents become pages and tables when they arrive.** A PDF, a Word file or a scan becomes a
47
+ page. The original stays behind it (“Original”), and the page marks where each page of it
48
+ begins, so a step can quote “p. 2”. A long document with headings of its own, such as a law or
49
+ a manual, becomes a page with sub-pages, one per section; “§ 281” in the text links to that
50
+ sub-page. A workbook becomes a table per sheet, and a CSV becomes one table. What can’t be read
51
+ stays a file, and steps find it by its name and description. A scan that read badly is marked
52
+ “Check”.
53
+ - **Categories keep things apart.** A category is a property with a type: a choice (building
54
+ site, type of funding), a date, a number with its unit, a text, or yes/no. You set them on a
55
+ page, a table or a file with the chips under its title. When a document arrives, a model fills
56
+ them in from what it reads. A table’s column can be one. A step filters by them before it
57
+ searches: “reports of Graz Süd in March” is a filter first.
58
+ - **Each value of a choice** has its contents (everything that has this value) and an overview.
59
+ A model writes the overview when you ask for it (“Write the overview”). The search finds the
60
+ overview like a page.
61
+ - **Two spellings of one value** (“Graz-Süd”, “Graz Süd”) are offered for merging on the
62
+ category’s page. A category that a source proposes stands as “Proposed” until you accept it.
63
+ - **“Try a search…”** searches the way a step does: the filters first, then words and meaning.
64
+ Then a model asks of each hit whether it answers the question, keeps those that do and says how
65
+ sure it is. That check is quickest with a decision model, which needs an AI Gateway or TypeSafe
66
+ key, or an account. Searching by meaning needs an AI Gateway or OpenAI key, or an account;
67
+ without one, the search finds words only. See [Models and account](./models.md).
68
+
69
+ A plugin can fill Knowledge from outside, from a website or a folder, for example. What it wrote
70
+ shows where it came from (“From …”). Once you change it by hand, it stays yours, and the plugin
71
+ no longer updates it.
72
+
73
+ ## Data
74
+
75
+ Data holds the tables and pages of the space and its wizards. Those of the space itself stand
76
+ under “General”, a wizard’s under its name. A wizard fills its own: a shared list becomes one of
77
+ its tables, and a step with the “Pages” tool writes its pages. The columns of a shared list come
78
+ from the wizard. The buttons “Table” and “Page” add one, for the space or for one of its
79
+ wizards.
80
+
81
+ - **Table**: columns of a type (text, number, date, duration, choice, yes/no) and a row per
82
+ line. Type into a cell; it is saved when you leave it. A value that doesn’t fit the column is
83
+ marked and not saved. The heading of a column changes its name and type, and the plus beside
84
+ the headings adds a column.
85
+ - **Page**: a title and text in Markdown. “Write” edits it, and “Preview” shows it. It is saved
86
+ as you type.
87
+
88
+ ### On your computer and in the cloud
89
+
90
+ Data stays where it was written. A wizard’s tables and pages are filled where it runs: on your
91
+ computer by its runs there, in the cloud by the runs over its link. The pages and tables of
92
+ Knowledge, with their categories, go to the cloud with every wizard you publish there. The cloud
93
+ shows them without changing them. Files stay on your computer.
94
+
95
+ ## Results
96
+
97
+ Results lists every run that reached its result, newest first: of all wizards, or of the one you
98
+ choose in the menu, where the wizard with the latest result stands first. The search finds words
99
+ in the wizard’s name, in what was answered and in what the run produced. The filters keep live or
100
+ test runs, and the last 24 hours, 7 or 30 days. A run opens beside the list as the person saw it,
101
+ with its files.
102
+
103
+ ## Have it filled in
104
+
105
+ [Goose](./assistant.md), at the bottom of the page, fills in the space for you where it is
106
+ switched on. Tell it about yourselves, name your website or give it files:
107
+
108
+ > Read our website example.com
109
+
110
+ It enters what it finds: title, description, logo, colours and facts. You correct the rest.
111
+
112
+ In the cloud, the first visit to the studio does the same: it asks for your website and your
113
+ first documents. See [Create an account](./create-account.md).
114
+
115
+ ## One space
116
+
117
+ engenty wizards on your computer has one space, called “My computer” at first (“Mein Computer” in German). On engenty.ai the
118
+ team’s plan says how many spaces it may have. The space’s name in the top bar opens a menu: it
119
+ switches between spaces, “Rename space” renames this one, and “Add space” adds one while the plan
120
+ has room. Each space
121
+ has its own wizards, Info & brand, Knowledge, Data, connectors and results. The account, the
122
+ models and the plugins are the same for every space.
123
+
124
+ When you publish wizards from your computer with an account signed in, their space shows up in
125
+ the cloud too, marked with a laptop. You can only look at it there: you edit it in engenty
126
+ wizards on your computer, and changes show up in the cloud the next time you publish a wizard.