@jevitate/cli 0.6.0 → 0.7.0
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/dist/author-journey-cli.js +7 -16
- package/dist/author-journey-cli.js.map +1 -1
- package/dist/bin.js +2520 -762
- package/dist/build-info.generated.js +2 -2
- package/dist/cli-output.js +4 -0
- package/dist/cli-output.js.map +1 -1
- package/dist/demo-aspect-api.d.ts +6 -5
- package/dist/demo-aspect-api.js +5 -1
- package/dist/demo-aspect-api.js.map +1 -1
- package/dist/environments.js +6 -1
- package/dist/environments.js.map +1 -1
- package/dist/explore-adversarial.js +1 -1
- package/dist/explore-adversarial.js.map +1 -1
- package/dist/explore-cli.js +18 -4
- package/dist/explore-cli.js.map +1 -1
- package/dist/explore-coverage.js +1 -1
- package/dist/explore-coverage.js.map +1 -1
- package/dist/explore-goal.js +9 -4
- package/dist/explore-goal.js.map +1 -1
- package/dist/journey-api.d.ts +72 -5
- package/dist/journey-api.js +125 -14
- package/dist/journey-api.js.map +1 -1
- package/dist/journey-cli.d.ts +1 -1
- package/dist/journey-cli.js +168 -5
- package/dist/journey-cli.js.map +1 -1
- package/dist/journey-demo-api.d.ts +7 -1
- package/dist/journey-demo-api.js +8 -3
- package/dist/journey-demo-api.js.map +1 -1
- package/dist/journey-demo-cli.js +3 -0
- package/dist/journey-demo-cli.js.map +1 -1
- package/dist/journey-lint-sarif.d.ts +19 -0
- package/dist/journey-lint-sarif.js +48 -0
- package/dist/journey-lint-sarif.js.map +1 -0
- package/dist/journey-network-checks.d.ts +45 -9
- package/dist/journey-network-checks.js +117 -30
- package/dist/journey-network-checks.js.map +1 -1
- package/dist/journey-prefix.d.ts +24 -15
- package/dist/journey-prefix.js +53 -7
- package/dist/journey-prefix.js.map +1 -1
- package/dist/journey-verify.d.ts +61 -0
- package/dist/journey-verify.js +131 -0
- package/dist/journey-verify.js.map +1 -0
- package/dist/load-api.js +9 -3
- package/dist/load-api.js.map +1 -1
- package/dist/mcp-cli-tools.d.ts +1 -0
- package/dist/mcp-cli-tools.js +25 -1
- package/dist/mcp-cli-tools.js.map +1 -1
- package/dist/promotions.d.ts +15 -0
- package/dist/promotions.js +52 -0
- package/dist/promotions.js.map +1 -0
- package/dist/self-heal-adapter.js +3 -1
- package/dist/self-heal-adapter.js.map +1 -1
- package/dist/source-run-api.js +17 -7
- package/dist/source-run-api.js.map +1 -1
- package/dist/usability-capture.js +6 -0
- package/dist/usability-capture.js.map +1 -1
- package/dist/ux-usability.js +1 -1
- package/dist/ux-usability.js.map +1 -1
- package/package.json +11 -11
- package/skills/jevitate-explore/SKILL.md +6 -2
|
@@ -17,8 +17,6 @@ const AUTHOR_GOAL_RUN_FLAGS = [
|
|
|
17
17
|
"allowDestructive", "dialogs", "readRpc", "hangReplays", "settleIgnore", "longPollMs", "apiPrefix", "ignoreNoProgress",
|
|
18
18
|
"allowSecretCmd", "secretCmdAttempts",
|
|
19
19
|
];
|
|
20
|
-
/** `reloadThen:<check>` → the inner `<check>` (what the Journey CAN assert). */
|
|
21
|
-
const innerOfReloadThen = (spec) => spec.replace(/^\s*reloadThen:/, "");
|
|
22
20
|
/** #369: one take's diagnostics as human lines (the paths a person opens next). */
|
|
23
21
|
function takeLines(label, d) {
|
|
24
22
|
const lines = [` ${label}: ${d.outcome}${d.stop === undefined ? "" : ` (stop: ${d.stop})`}${d.actions === undefined ? "" : ` · ${d.actions} action(s), ${d.decisions ?? 0} decision(s)`}`];
|
|
@@ -69,8 +67,8 @@ export function registerAuthorJourneyCommands(program, deps) {
|
|
|
69
67
|
.description("Jev-driving authors a promotable Journey (authoring plane); never auto-promoted"))
|
|
70
68
|
.option("--url <url>", "target URL (must be an authorized origin)")
|
|
71
69
|
.option("--goal <text>", "natural-language goal")
|
|
72
|
-
.option("--success <spec>", "independent success check (repeatable; all must hold), any explore --success kind
|
|
73
|
-
"'
|
|
70
|
+
.option("--success <spec>", "independent success check (repeatable; all must hold), any explore --success kind, e.g. urlIncludes:/confirmed, " +
|
|
71
|
+
"'reloadThen:textIncludes:css=main|Saved' or 'responseStatus:POST /api/save=2xx': every check is kept as the Journey's end state and re-checked after every replay's last step", (v, prev) => [...prev, v], [])
|
|
74
72
|
.option("--id <id>", "journey id (used for the <id>.json filename in the store)")
|
|
75
73
|
.option("--name <name>", "human-readable journey name")
|
|
76
74
|
.option("--takes <n>", "corroborating takes incl. discovery (default 1)", positiveIntArg, 1)
|
|
@@ -93,7 +91,8 @@ export function registerAuthorJourneyCommands(program, deps) {
|
|
|
93
91
|
"writing its own result, transcript and Recording (under --out). A take that does not reach the goal",
|
|
94
92
|
"is reported with its stop reason, its checks' verdicts and those paths. A field code types itself",
|
|
95
93
|
"(--secret-field/--totp) becomes a secret Journey parameter (secret1, …), passed with --param at replay.",
|
|
96
|
-
"
|
|
94
|
+
"Every --success check is kept as the Journey's end state (metadata.endState); each step's expect comes from what it",
|
|
95
|
+
"changed (a write's responseStatus, text it added — richer with --action-deltas), never from its own target.",
|
|
97
96
|
].join("\n"))
|
|
98
97
|
.action(async function () {
|
|
99
98
|
const o = this.opts();
|
|
@@ -105,19 +104,11 @@ export function registerAuthorJourneyCommands(program, deps) {
|
|
|
105
104
|
emitJson(program, fail("E_AUTHOR_ARGS", "--url, --goal, --success, --id and --name are all required"));
|
|
106
105
|
return;
|
|
107
106
|
}
|
|
108
|
-
// #322: every kind `explore --success` takes — page and network checks
|
|
107
|
+
// #322/#400: every kind `explore --success` takes — page, reloadThen and network checks.
|
|
109
108
|
const successChecks = [];
|
|
110
109
|
try {
|
|
111
|
-
for (const spec of o.success)
|
|
112
|
-
|
|
113
|
-
if (check.kind === "reloadThen") {
|
|
114
|
-
// #369: refused here, before any gateway or browser — a Journey has no reload step to re-check after.
|
|
115
|
-
throw new Error(`--success ${JSON.stringify(spec)}: a reloadThen check can't be authored into a Journey (a Journey has no reload step); nothing was run. ` +
|
|
116
|
-
`Author with its inner check (--success ${JSON.stringify(innerOfReloadThen(spec))}) and prove persistence with \`jevitate explore --success ${JSON.stringify(spec)}\`, ` +
|
|
117
|
-
"or use a requestMade/responseStatus check");
|
|
118
|
-
}
|
|
119
|
-
successChecks.push(check);
|
|
120
|
-
}
|
|
110
|
+
for (const spec of o.success)
|
|
111
|
+
successChecks.push(parseSuccessSpec(spec));
|
|
121
112
|
}
|
|
122
113
|
catch (err) {
|
|
123
114
|
emitJson(program, fail("E_EXPLORE_ASSERTION", String(err instanceof Error ? err.message : err)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"author-journey-cli.js","sourceRoot":"","sources":["../src/author-journey-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,sBAAsB,EAAwD,MAAM,mBAAmB,CAAC;AACjH,OAAO,EAAE,oBAAoB,EAAE,8BAA8B,EAA2E,MAAM,mBAAmB,CAAC;AAClK,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAEL,kBAAkB,EAElB,sBAAsB,EACtB,sBAAsB,EACtB,QAAQ,EACR,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAA0C,MAAM,qBAAqB,CAAC;AAEtI;;;GAGG;AACH,MAAM,qBAAqB,GAAG;IAC5B,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS;IAC9G,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM;IACjH,kBAAkB,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB;IACtH,gBAAgB,EAAE,mBAAmB;CACwB,CAAC;AAEhE,
|
|
1
|
+
{"version":3,"file":"author-journey-cli.js","sourceRoot":"","sources":["../src/author-journey-cli.ts"],"names":[],"mappings":"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"}
|