@jevitate/cli 0.4.0 → 0.5.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.
Files changed (63) hide show
  1. package/dist/author-journey-cli.js +14 -6
  2. package/dist/author-journey-cli.js.map +1 -1
  3. package/dist/bin.js +1279 -162
  4. package/dist/build-info.generated.js +2 -2
  5. package/dist/check-execute.js +1 -0
  6. package/dist/check-execute.js.map +1 -1
  7. package/dist/check-plan.js +2 -1
  8. package/dist/check-plan.js.map +1 -1
  9. package/dist/check-suite.d.ts +6 -6
  10. package/dist/check-suite.js +18 -12
  11. package/dist/check-suite.js.map +1 -1
  12. package/dist/cli-shared.d.ts +5 -2
  13. package/dist/cli-shared.js +10 -3
  14. package/dist/cli-shared.js.map +1 -1
  15. package/dist/conversation-options.d.ts +3 -0
  16. package/dist/conversation-options.js +1 -0
  17. package/dist/conversation-options.js.map +1 -1
  18. package/dist/demo-capture.d.ts +16 -4
  19. package/dist/demo-capture.js +82 -15
  20. package/dist/demo-capture.js.map +1 -1
  21. package/dist/exit-codes.d.ts +1 -1
  22. package/dist/exit-codes.js +1 -1
  23. package/dist/explore-author.d.ts +7 -3
  24. package/dist/explore-author.js +4 -2
  25. package/dist/explore-author.js.map +1 -1
  26. package/dist/explore-cli.js +31 -9
  27. package/dist/explore-cli.js.map +1 -1
  28. package/dist/explore-goal.d.ts +5 -1
  29. package/dist/explore-goal.js +19 -1
  30. package/dist/explore-goal.js.map +1 -1
  31. package/dist/explore-specs.js +12 -2
  32. package/dist/explore-specs.js.map +1 -1
  33. package/dist/journey-api.js +4 -1
  34. package/dist/journey-api.js.map +1 -1
  35. package/dist/journey-network-checks.d.ts +15 -0
  36. package/dist/journey-network-checks.js +36 -0
  37. package/dist/journey-network-checks.js.map +1 -0
  38. package/dist/kill-signal.d.ts +30 -3
  39. package/dist/kill-signal.js +51 -6
  40. package/dist/kill-signal.js.map +1 -1
  41. package/dist/mcp-api.js +8 -4
  42. package/dist/mcp-api.js.map +1 -1
  43. package/dist/mcp-cli-tools.js +7 -3
  44. package/dist/mcp-cli-tools.js.map +1 -1
  45. package/dist/mission-queue-cli.js +3 -1
  46. package/dist/mission-queue-cli.js.map +1 -1
  47. package/dist/secret-command.d.ts +7 -0
  48. package/dist/secret-command.js +52 -0
  49. package/dist/secret-command.js.map +1 -0
  50. package/dist/source-run-api.js +3 -1
  51. package/dist/source-run-api.js.map +1 -1
  52. package/dist/suite-explore-options.d.ts +9 -0
  53. package/dist/suite-explore-options.js +5 -0
  54. package/dist/suite-explore-options.js.map +1 -1
  55. package/dist/target-config.d.ts +3 -1
  56. package/dist/target-config.js +6 -0
  57. package/dist/target-config.js.map +1 -1
  58. package/dist/usability-capture.js +16 -2
  59. package/dist/usability-capture.js.map +1 -1
  60. package/dist/ux-usability.d.ts +5 -1
  61. package/dist/ux-usability.js +19 -2
  62. package/dist/ux-usability.js.map +1 -1
  63. package/package.json +8 -8
@@ -3,7 +3,7 @@ import { MissingCredentialError } from "@jevitate/ai-core";
3
3
  import { UnauthorizedExploreTargetError } from "@jevitate/explore";
4
4
  import { ok, fail } from "./envelope.js";
5
5
  import { positiveIntArg } from "./cli-args.js";
6
- import { runAuthorJourney, parseAssertionSpec, resolveExploreAllowlist } from "./explore-api.js";
6
+ import { runAuthorJourney, parseSuccessSpec, resolveExploreAllowlist } from "./explore-api.js";
7
7
  import { allowWithExtensions } from "./browser-run-options.js";
8
8
  import { resolveJourneysDir, withBrowserLaunchFlags, browserLaunchFromFlags, emitJson, writeRawResult, GatewaySelectionError, buildExploreGateways, } from "./cli-shared.js";
9
9
  /** Registers `jevitate explore-author-journey` (Jev authors an unpromoted, parameterized Journey). */
@@ -18,7 +18,8 @@ export function registerAuthorJourneyCommands(program, deps) {
18
18
  .description("Jev-driving authors a promotable Journey (authoring plane); never auto-promoted"))
19
19
  .option("--url <url>", "target URL (must be an authorized origin)")
20
20
  .option("--goal <text>", "natural-language goal")
21
- .option("--success <spec>", "independent success assertion, e.g. urlIncludes:/confirmed")
21
+ .option("--success <spec>", "independent success check (repeatable; all must hold), any explore --success kind but reloadThen, e.g. urlIncludes:/confirmed or " +
22
+ "'requestMade:POST /api/save': a page check becomes the Journey's last assert step, a requestMade/responseStatus check is re-checked over every replay's requests", (v, prev) => [...prev, v], [])
22
23
  .option("--id <id>", "journey id (used for the <id>.json filename in the store)")
23
24
  .option("--name <name>", "human-readable journey name")
24
25
  .option("--takes <n>", "corroborating takes incl. discovery (default 1)", positiveIntArg, 1)
@@ -36,13 +37,20 @@ export function registerAuthorJourneyCommands(program, deps) {
36
37
  emitJson(program, fail("E_EXPLORE_ARGS", `storage state not found: ${o.storageState}`));
37
38
  return;
38
39
  }
39
- if (!o.url || !o.goal || !o.success || !o.id || !o.name) {
40
+ if (!o.url || !o.goal || o.success.length === 0 || !o.id || !o.name) {
40
41
  emitJson(program, fail("E_AUTHOR_ARGS", "--url, --goal, --success, --id and --name are all required"));
41
42
  return;
42
43
  }
43
- let successAssertion;
44
+ // #322: every kind `explore --success` takes — page and network checks — but reloadThen.
45
+ const successChecks = [];
44
46
  try {
45
- successAssertion = parseAssertionSpec(o.success);
47
+ for (const spec of o.success) {
48
+ const check = parseSuccessSpec(spec);
49
+ if (check.kind === "reloadThen") {
50
+ throw new Error(`${JSON.stringify(spec)}: reloadThen can't be authored into a Journey yet — use a page check or a requestMade/responseStatus check`);
51
+ }
52
+ successChecks.push(check);
53
+ }
46
54
  }
47
55
  catch (err) {
48
56
  emitJson(program, fail("E_EXPLORE_ASSERTION", String(err instanceof Error ? err.message : err)));
@@ -74,7 +82,7 @@ export function registerAuthorJourneyCommands(program, deps) {
74
82
  const result = await runAuthorJourney({
75
83
  url: o.url,
76
84
  goal: o.goal,
77
- successAssertion,
85
+ successChecks,
78
86
  allowlist,
79
87
  journeysDir: resolveJourneysDir(deps, o.journeysDir),
80
88
  journeyId: o.id,
@@ -1 +1 @@
1
- {"version":3,"file":"author-journey-cli.js","sourceRoot":"","sources":["../src/author-journey-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"author-journey-cli.js","sourceRoot":"","sources":["../src/author-journey-cli.ts"],"names":[],"mappings":"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"}