wizards 0.3.5 → 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/runtime/dist/docs/user/test-and-share.md +21 -11
- package/apps/runtime/dist/routes/studio.js +15 -2
- package/apps/runtime/dist/services/wizards.js +25 -0
- package/apps/web/dist/assets/{AboutDialog-D1N4-3FE.js → AboutDialog-Dz_tYBSU.js} +1 -1
- package/apps/web/dist/assets/{ChangelogDialog-VEBTlC3f.js → ChangelogDialog-m2M7gZiB.js} +1 -1
- package/apps/web/dist/assets/{ChatView-DSRUEpb6.js → ChatView-D21o-lq8.js} +2 -2
- package/apps/web/dist/assets/EditorPage-D6j3dQpu.js +3 -0
- package/apps/web/dist/assets/{FlowPreview-86xWWfdk.js → FlowPreview-BdRy7FO7.js} +1 -1
- package/apps/web/dist/assets/{Harness-CF6H2TYJ.js → Harness-DmJkTwOO.js} +1 -1
- package/apps/web/dist/assets/{Marketplace-C-Vz3yEk.js → Marketplace-B-gy2onK.js} +2 -2
- package/apps/web/dist/assets/{NewWizardChannels-Cc7gDitg.js → NewWizardChannels-B3FEpsJ-.js} +1 -1
- package/apps/web/dist/assets/{NewWizardPage-sY5q-l99.js → NewWizardPage-CT1lThNM.js} +1 -1
- package/apps/web/dist/assets/{ProjectPage-iSdpJAZS.js → ProjectPage-BIanCF0m.js} +2 -2
- package/apps/web/dist/assets/{PublicRunner-BgRXMUxS.js → PublicRunner-H1fXa9BK.js} +1 -1
- package/apps/web/dist/assets/{ReadOnly-mhKW496R.js → ReadOnly-CaGzgOPe.js} +1 -1
- package/apps/web/dist/assets/{RunDrawer-B0gJzdxH.js → RunDrawer-8sjkAbm5.js} +1 -1
- package/apps/web/dist/assets/{RunnerView-CTRFgyu5.js → RunnerView-CJ4cLA_0.js} +1 -1
- package/apps/web/dist/assets/{SettingsPage-CBF8i6j6.js → SettingsPage-BsdwE1OA.js} +1 -1
- package/apps/web/dist/assets/{SetupPage-Fpz9aSLN.js → SetupPage-sqrv7Auf.js} +1 -1
- package/apps/web/dist/assets/{SharePage-Dv3Csh4A.js → SharePage-B6ets1ot.js} +1 -1
- package/apps/web/dist/assets/{brand-BamUjXVr.js → brand-BRw18WJF.js} +1 -1
- package/apps/web/dist/assets/changelog-BOFdRjx2.js +1 -0
- package/apps/web/dist/assets/{circle-alert-CYs622_r.js → circle-alert-CpuMIhbH.js} +1 -1
- package/apps/web/dist/assets/{esm-B52LIMhP.js → esm-DRaZAcXQ.js} +1 -1
- package/apps/web/dist/assets/{index-CDdJDojq.css → index-DY9CslcT.css} +1 -1
- package/apps/web/dist/assets/{index-Bdx1Qity.js → index-DkDBEMwz.js} +4 -4
- package/apps/web/dist/assets/{lock-BvSWZOin.js → lock-BGotwAyN.js} +1 -1
- package/apps/web/dist/assets/{phone-CI2Flerg.js → phone-CA2A8W7I.js} +1 -1
- package/apps/web/dist/assets/{session-BEHF6g4Y.js → session-DBOQL_bg.js} +1 -1
- package/apps/web/dist/assets/{settings-menu-BOOPxcJH.js → settings-menu-DxswVOqQ.js} +1 -1
- package/apps/web/dist/assets/{ui-CMdSOoUZ.js → ui-DAHMnAVc.js} +1 -1
- package/apps/web/dist/assets/{upload-Cz9HgBT9.js → upload-DLbJVvfd.js} +1 -1
- package/apps/web/dist/assets/{volume-2-CyQuz1nn.js → volume-2-KaKQ4zMJ.js} +1 -1
- package/apps/web/dist/index.html +7 -7
- package/apps/web/dist/mcp/flow.html +2 -2
- 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/definition.d.ts +8 -8
- package/node_modules/@engenty-wizards/shared/dist/marketplace.d.ts +1 -1
- package/node_modules/@engenty-wizards/shared/dist/wizard-package.d.ts +1 -1
- package/package.json +1 -1
- package/apps/web/dist/assets/EditorPage-UkaHDklX.js +0 -3
- package/apps/web/dist/assets/changelog-ViHoNW7e.js +0 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { WizardDefinition } from "./definition.js";
|
|
2
|
+
import type { WorkspaceFile } from "./workspace.js";
|
|
3
|
+
/**
|
|
4
|
+
* What changed in a draft since the version people run: the wizard's own settings, each step
|
|
5
|
+
* by its title, the steps' order, the workspace's files. "Änderungen live schalten" lists it.
|
|
6
|
+
*/
|
|
7
|
+
export interface VersionChange {
|
|
8
|
+
kind: "wizard" | "step" | "order" | "file";
|
|
9
|
+
change: "added" | "removed" | "changed";
|
|
10
|
+
/** The step's title or the file's path. */
|
|
11
|
+
name?: string;
|
|
12
|
+
/** What of a changed step or of the wizard itself: the definition's keys (`instructions`, `fields`). */
|
|
13
|
+
parts?: string[];
|
|
14
|
+
}
|
|
15
|
+
/** A version as it runs: its definition and its workspace. */
|
|
16
|
+
interface Version {
|
|
17
|
+
definition: WizardDefinition;
|
|
18
|
+
files: Pick<WorkspaceFile, "path" | "hash">[];
|
|
19
|
+
}
|
|
20
|
+
/** What `after` changes of `before`: the wizard first, then its steps in their new order, then its files. */
|
|
21
|
+
export declare function versionChanges(before: Version, after: Version): VersionChange[];
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
const same = (a, b) => JSON.stringify(a) === JSON.stringify(b);
|
|
2
|
+
/** The keys whose values differ, in the order the newer one has them. */
|
|
3
|
+
function keysChanged(before, after) {
|
|
4
|
+
const was = before;
|
|
5
|
+
const now = after;
|
|
6
|
+
const keys = [...new Set([...Object.keys(now), ...Object.keys(was)])];
|
|
7
|
+
return keys.filter((k) => !same(was[k], now[k]));
|
|
8
|
+
}
|
|
9
|
+
/** What `after` changes of `before`: the wizard first, then its steps in their new order, then its files. */
|
|
10
|
+
export function versionChanges(before, after) {
|
|
11
|
+
const changes = [];
|
|
12
|
+
const { steps: oldSteps, ...oldWizard } = before.definition;
|
|
13
|
+
const { steps: newSteps, ...newWizard } = after.definition;
|
|
14
|
+
const parts = keysChanged(oldWizard, newWizard);
|
|
15
|
+
if (parts.length) {
|
|
16
|
+
changes.push({ kind: "wizard", change: "changed", parts });
|
|
17
|
+
}
|
|
18
|
+
const old = new Map(oldSteps.map((s) => [s.id, s]));
|
|
19
|
+
const now = new Set(newSteps.map((s) => s.id));
|
|
20
|
+
for (const step of newSteps) {
|
|
21
|
+
const was = old.get(step.id);
|
|
22
|
+
if (!was) {
|
|
23
|
+
changes.push({ kind: "step", change: "added", name: step.title });
|
|
24
|
+
}
|
|
25
|
+
else if (!same(was, step)) {
|
|
26
|
+
changes.push({
|
|
27
|
+
kind: "step",
|
|
28
|
+
change: "changed",
|
|
29
|
+
name: step.title,
|
|
30
|
+
parts: keysChanged(was, step).filter((k) => k !== "id"),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
for (const step of oldSteps) {
|
|
35
|
+
if (!now.has(step.id)) {
|
|
36
|
+
changes.push({ kind: "step", change: "removed", name: step.title });
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// The steps both have, in each one's order: a move is one change, however many steps moved.
|
|
40
|
+
const kept = (steps) => steps.map((s) => s.id).filter((id) => old.has(id) && now.has(id));
|
|
41
|
+
if (!same(kept(oldSteps), kept(newSteps))) {
|
|
42
|
+
changes.push({ kind: "order", change: "changed" });
|
|
43
|
+
}
|
|
44
|
+
const oldFiles = new Map(before.files.map((f) => [f.path, f.hash]));
|
|
45
|
+
const newFiles = new Map(after.files.map((f) => [f.path, f.hash]));
|
|
46
|
+
for (const [path, hash] of newFiles) {
|
|
47
|
+
const was = oldFiles.get(path);
|
|
48
|
+
if (was === undefined) {
|
|
49
|
+
changes.push({ kind: "file", change: "added", name: path });
|
|
50
|
+
}
|
|
51
|
+
else if (was !== hash) {
|
|
52
|
+
changes.push({ kind: "file", change: "changed", name: path });
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
for (const path of oldFiles.keys()) {
|
|
56
|
+
if (!newFiles.has(path)) {
|
|
57
|
+
changes.push({ kind: "file", change: "removed", name: path });
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return changes;
|
|
61
|
+
}
|
|
@@ -285,12 +285,12 @@ export declare const outputFieldSchema: z.ZodObject<{
|
|
|
285
285
|
id: z.ZodString;
|
|
286
286
|
kind: z.ZodEnum<{
|
|
287
287
|
number: "number";
|
|
288
|
-
choice: "choice";
|
|
289
|
-
score: "score";
|
|
290
288
|
text: "text";
|
|
291
289
|
list: "list";
|
|
292
290
|
table: "table";
|
|
293
291
|
yesno: "yesno";
|
|
292
|
+
choice: "choice";
|
|
293
|
+
score: "score";
|
|
294
294
|
}>;
|
|
295
295
|
description: z.ZodOptional<z.ZodString>;
|
|
296
296
|
columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -460,12 +460,12 @@ export declare const agentStepSchema: z.ZodObject<{
|
|
|
460
460
|
id: z.ZodString;
|
|
461
461
|
kind: z.ZodEnum<{
|
|
462
462
|
number: "number";
|
|
463
|
-
choice: "choice";
|
|
464
|
-
score: "score";
|
|
465
463
|
text: "text";
|
|
466
464
|
list: "list";
|
|
467
465
|
table: "table";
|
|
468
466
|
yesno: "yesno";
|
|
467
|
+
choice: "choice";
|
|
468
|
+
score: "score";
|
|
469
469
|
}>;
|
|
470
470
|
description: z.ZodOptional<z.ZodString>;
|
|
471
471
|
columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -1142,12 +1142,12 @@ export declare const stepSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
1142
1142
|
id: z.ZodString;
|
|
1143
1143
|
kind: z.ZodEnum<{
|
|
1144
1144
|
number: "number";
|
|
1145
|
-
choice: "choice";
|
|
1146
|
-
score: "score";
|
|
1147
1145
|
text: "text";
|
|
1148
1146
|
list: "list";
|
|
1149
1147
|
table: "table";
|
|
1150
1148
|
yesno: "yesno";
|
|
1149
|
+
choice: "choice";
|
|
1150
|
+
score: "score";
|
|
1151
1151
|
}>;
|
|
1152
1152
|
description: z.ZodOptional<z.ZodString>;
|
|
1153
1153
|
columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -2076,12 +2076,12 @@ export declare const wizardSchema: z.ZodObject<{
|
|
|
2076
2076
|
id: z.ZodString;
|
|
2077
2077
|
kind: z.ZodEnum<{
|
|
2078
2078
|
number: "number";
|
|
2079
|
-
choice: "choice";
|
|
2080
|
-
score: "score";
|
|
2081
2079
|
text: "text";
|
|
2082
2080
|
list: "list";
|
|
2083
2081
|
table: "table";
|
|
2084
2082
|
yesno: "yesno";
|
|
2083
|
+
choice: "choice";
|
|
2084
|
+
score: "score";
|
|
2085
2085
|
}>;
|
|
2086
2086
|
description: z.ZodOptional<z.ZodString>;
|
|
2087
2087
|
columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -214,7 +214,7 @@ export type MarketplacePlan = keyof typeof MARKETPLACE_PLANS;
|
|
|
214
214
|
export declare const ITEM_FORMAT_IDS: ("text" | "image" | "audio" | "video" | "document" | "dashboard" | "table")[];
|
|
215
215
|
export declare const INDUSTRY_IDS: ("any" | "trades" | "gastronomy" | "hospitality" | "realEstate" | "retail" | "health" | "professional" | "agency" | "events" | "publicSector")[];
|
|
216
216
|
export declare const USE_CASE_IDS: ("marketing" | "sales" | "accounting" | "service" | "research" | "hr" | "operations" | "website" | "visuals" | "inquiries" | "advice")[];
|
|
217
|
-
export declare const CAPABILITY_IDS: ("
|
|
217
|
+
export declare const CAPABILITY_IDS: ("text" | "code" | "image" | "browser" | "video" | "speech" | "film" | "web" | "documents" | "listening" | "connectors")[];
|
|
218
218
|
export declare const MARKETPLACE_PLAN_IDS: ("free" | "pro")[];
|
|
219
219
|
/** The formats a run hands over, read from what the result step offers. */
|
|
220
220
|
export declare function formatsOf(def: WizardDefinition): ItemFormat[];
|
|
@@ -32,8 +32,8 @@ export declare const manifestSchema: z.ZodObject<{
|
|
|
32
32
|
name: z.ZodString;
|
|
33
33
|
domain: z.ZodOptional<z.ZodString>;
|
|
34
34
|
sourceKind: z.ZodOptional<z.ZodEnum<{
|
|
35
|
-
openapi: "openapi";
|
|
36
35
|
mcp: "mcp";
|
|
36
|
+
openapi: "openapi";
|
|
37
37
|
}>>;
|
|
38
38
|
}, z.core.$strip>>>;
|
|
39
39
|
mcpServers: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wizards",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.6",
|
|
4
4
|
"description": "Make a wish. Get your wizard. It guides you step by step. Let AI do the work. Runs on your machine, on the AI subscription you already have.",
|
|
5
5
|
"license": "FSL-1.1-MIT",
|
|
6
6
|
"homepage": "https://engenty.ai",
|