@jevitate/cli 0.10.0 → 0.12.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 (141) hide show
  1. package/dist/approval-provenance.d.ts +6 -0
  2. package/dist/approval-provenance.js +9 -1
  3. package/dist/approval-provenance.js.map +1 -1
  4. package/dist/approved-demo.d.ts +86 -0
  5. package/dist/approved-demo.js +184 -0
  6. package/dist/approved-demo.js.map +1 -0
  7. package/dist/author-journey-cli.js +2 -1
  8. package/dist/author-journey-cli.js.map +1 -1
  9. package/dist/bin.js +16525 -13523
  10. package/dist/build-info.generated.js +2 -2
  11. package/dist/campaign-api.d.ts +15 -0
  12. package/dist/campaign-api.js +67 -6
  13. package/dist/campaign-api.js.map +1 -1
  14. package/dist/campaign-cli.js +7 -2
  15. package/dist/campaign-cli.js.map +1 -1
  16. package/dist/campaign-preflight.d.ts +76 -0
  17. package/dist/campaign-preflight.js +117 -0
  18. package/dist/campaign-preflight.js.map +1 -0
  19. package/dist/catalog-bundle-api.d.ts +15 -5
  20. package/dist/catalog-bundle-api.js +117 -14
  21. package/dist/catalog-bundle-api.js.map +1 -1
  22. package/dist/catalog-bundle-findings.d.ts +10 -0
  23. package/dist/catalog-bundle-findings.js +75 -1
  24. package/dist/catalog-bundle-findings.js.map +1 -1
  25. package/dist/catalog-bundle.d.ts +111 -7
  26. package/dist/catalog-bundle.js +208 -9
  27. package/dist/catalog-bundle.js.map +1 -1
  28. package/dist/catalog-cli.js +3 -2
  29. package/dist/catalog-cli.js.map +1 -1
  30. package/dist/check-api.js +20 -2
  31. package/dist/check-api.js.map +1 -1
  32. package/dist/check-cli.d.ts +2 -0
  33. package/dist/check-cli.js +25 -0
  34. package/dist/check-cli.js.map +1 -1
  35. package/dist/check-execute.d.ts +6 -0
  36. package/dist/check-execute.js +1 -0
  37. package/dist/check-execute.js.map +1 -1
  38. package/dist/check-types.d.ts +7 -0
  39. package/dist/check-types.js.map +1 -1
  40. package/dist/cli-output.js +15 -1
  41. package/dist/cli-output.js.map +1 -1
  42. package/dist/cold-start-report.d.ts +32 -0
  43. package/dist/cold-start-report.js +31 -0
  44. package/dist/cold-start-report.js.map +1 -0
  45. package/dist/defect-evidence.js +10 -5
  46. package/dist/defect-evidence.js.map +1 -1
  47. package/dist/demo-aspect-api.d.ts +11 -0
  48. package/dist/demo-aspect-api.js +27 -2
  49. package/dist/demo-aspect-api.js.map +1 -1
  50. package/dist/demo-aspect-cli.js +7 -1
  51. package/dist/demo-aspect-cli.js.map +1 -1
  52. package/dist/demo-capture.d.ts +79 -2
  53. package/dist/demo-capture.js +504 -12
  54. package/dist/demo-capture.js.map +1 -1
  55. package/dist/environments.d.ts +8 -1
  56. package/dist/environments.js +14 -3
  57. package/dist/environments.js.map +1 -1
  58. package/dist/exit-codes.js +1 -0
  59. package/dist/exit-codes.js.map +1 -1
  60. package/dist/explore-adversarial.js +2 -2
  61. package/dist/explore-adversarial.js.map +1 -1
  62. package/dist/explore-cli.js +3 -2
  63. package/dist/explore-cli.js.map +1 -1
  64. package/dist/explore-goal.js +4 -3
  65. package/dist/explore-goal.js.map +1 -1
  66. package/dist/explore-shared.d.ts +11 -0
  67. package/dist/explore-shared.js +9 -0
  68. package/dist/explore-shared.js.map +1 -1
  69. package/dist/findings-filing.js +7 -3
  70. package/dist/findings-filing.js.map +1 -1
  71. package/dist/github-issue-filer.js +15 -9
  72. package/dist/github-issue-filer.js.map +1 -1
  73. package/dist/journeeze-api.d.ts +8 -2
  74. package/dist/journeeze-api.js +105 -19
  75. package/dist/journeeze-api.js.map +1 -1
  76. package/dist/journey-anchor-api.d.ts +37 -0
  77. package/dist/journey-anchor-api.js +58 -0
  78. package/dist/journey-anchor-api.js.map +1 -0
  79. package/dist/journey-anchor-cli.d.ts +17 -0
  80. package/dist/journey-anchor-cli.js +104 -0
  81. package/dist/journey-anchor-cli.js.map +1 -0
  82. package/dist/journey-api.d.ts +38 -1
  83. package/dist/journey-api.js +107 -10
  84. package/dist/journey-api.js.map +1 -1
  85. package/dist/journey-cli.d.ts +0 -1
  86. package/dist/journey-cli.js +124 -22
  87. package/dist/journey-cli.js.map +1 -1
  88. package/dist/journey-demo-api.d.ts +29 -0
  89. package/dist/journey-demo-api.js +29 -7
  90. package/dist/journey-demo-api.js.map +1 -1
  91. package/dist/journey-labels-migrate-api.d.ts +100 -0
  92. package/dist/journey-labels-migrate-api.js +194 -0
  93. package/dist/journey-labels-migrate-api.js.map +1 -0
  94. package/dist/journey-lint-sarif.js +6 -0
  95. package/dist/journey-lint-sarif.js.map +1 -1
  96. package/dist/journey-network-checks.d.ts +11 -0
  97. package/dist/journey-network-checks.js +36 -13
  98. package/dist/journey-network-checks.js.map +1 -1
  99. package/dist/journey-review.d.ts +12 -2
  100. package/dist/journey-review.js +522 -108
  101. package/dist/journey-review.js.map +1 -1
  102. package/dist/load-api.js +4 -2
  103. package/dist/load-api.js.map +1 -1
  104. package/dist/mcp-api.d.ts +3 -1
  105. package/dist/mcp-api.js +21 -2
  106. package/dist/mcp-api.js.map +1 -1
  107. package/dist/mcp-cli-tools.d.ts +1 -0
  108. package/dist/mcp-cli-tools.js +32 -9
  109. package/dist/mcp-cli-tools.js.map +1 -1
  110. package/dist/openrouter-call.d.ts +23 -10
  111. package/dist/openrouter-call.js +14 -11
  112. package/dist/openrouter-call.js.map +1 -1
  113. package/dist/png-pixels.d.ts +12 -0
  114. package/dist/png-pixels.js +96 -0
  115. package/dist/png-pixels.js.map +1 -0
  116. package/dist/regression-api.js +8 -5
  117. package/dist/regression-api.js.map +1 -1
  118. package/dist/review-render-options.d.ts +17 -0
  119. package/dist/review-render-options.js +17 -0
  120. package/dist/review-render-options.js.map +1 -0
  121. package/dist/server-log-verify.js +2 -1
  122. package/dist/server-log-verify.js.map +1 -1
  123. package/dist/signal-triage.js +7 -3
  124. package/dist/signal-triage.js.map +1 -1
  125. package/dist/source-run-api.js +2 -2
  126. package/dist/source-run-api.js.map +1 -1
  127. package/dist/ux-usability.js +5 -2
  128. package/dist/ux-usability.js.map +1 -1
  129. package/dist/verify-fix-api.d.ts +29 -0
  130. package/dist/verify-fix-api.js +45 -2
  131. package/dist/verify-fix-api.js.map +1 -1
  132. package/dist/verify-fix-cli.js +4 -0
  133. package/dist/verify-fix-cli.js.map +1 -1
  134. package/dist/zip-store.d.ts +15 -0
  135. package/dist/zip-store.js +93 -0
  136. package/dist/zip-store.js.map +1 -0
  137. package/package.json +14 -14
  138. package/skills/jevitate-demo/SKILL.md +4 -1
  139. package/skills/jevitate-run-journey/SKILL.md +4 -0
  140. package/skills/jevitate-test-campaign/SKILL.md +13 -0
  141. package/skills/jevitate-verify-fix/SKILL.md +5 -0
@@ -13,7 +13,10 @@ something the app didn't do.
13
13
  - Demos and Journey replays run against a named environment from the committed
14
14
  `.jevitate/environments.json` (`jevitate init` writes an example with a `local` entry). Each
15
15
  entry has `baseUrl` (an origin), an optional `allow` list, `fixtures` and `hooks`. Mark a live
16
- site with `"production": true`. `demo` refuses one (`E_DEMO_PRODUCTION_ENV`, exit 64).
16
+ site with `"production": true`. `demo` refuses one (`E_DEMO_PRODUCTION_ENV`, exit 64). Mark a
17
+ seeded, synthetic tenant with `"synthetic": true`: only a demo approved there ships masked media
18
+ (jz-mask-v1) to Journeeze with `catalog export` / `publish journeeze`. Set it only when the human
19
+ says the environment holds no real customer data.
17
20
  - The file never holds a secret or a session. Sessions and secret fields live in
18
21
  `~/.jevitate/targets.json`, keyed by the environment's origin, with `personas` for named
19
22
  sessions. Never write a session or password into the repo.
@@ -46,6 +46,10 @@ artifact; your job is to find the right one and run it with the right params.
46
46
  - Evidence: `--record-video` (listed as `videoPaths`), `--screenshots
47
47
  [screens|steps]` (`screenshotPaths` + an `index.md`), `--headed`/`--slow-mo <ms>`
48
48
  to watch it. `--viewport 375x812` / `--device "iPhone 13"` for mobile.
49
+ - A step's `responseStatus` check waits up to 15 s for a request that was sent
50
+ but not yet answered (a cold start after a deploy); `--step-response-timeout
51
+ <ms>` (MCP `run_journey`'s `stepResponseTimeoutMs`) raises it for one run. A
52
+ late 2xx is an advisory `slowSteps` finding, not a failure.
49
53
  - For a narrated demo video or a step-by-step guide of a Journey, use
50
54
  `jevitate-demo` (`journey demo`, `journey annotate`).
51
55
 
@@ -78,6 +78,15 @@ mission takes over on the live page:
78
78
 
79
79
  ```bash
80
80
  jevitate journey anchors <journey-id> --json # the named states worth exploring from, with suggested probes
81
+ jevitate journey anchors <journey-id> --suggest --json # advisory: where the flow changes state (writes nothing)
82
+ jevitate journey anchor add <journey-id> --name <name> --step <n|stepId> --json # a DRAFT Journey only
83
+ ```
84
+
85
+ Over MCP: `journey_anchors` (`suggest: true`), `journey_anchor_add`, `journey_anchor_remove`, and
86
+ `lint_journey` with `fix: true` (stamps number-only anchors with their step id). Anchor edits refuse a
87
+ promoted Journey: its approval binds to the content hash, so edit a draft and a person re-promotes it.
88
+
89
+ ```bash
81
90
  jevitate explore --from-journey <journey-id> --at-step <anchor|n> --param <k=v> --env <env> --strategy adversarial --storage-state <persona-file> --max-actions 60 --evidence-video --real --json
82
91
  ```
83
92
 
@@ -113,6 +122,10 @@ Flags such as `--allow-destructive`, `--paid`, `--invariants`, `--log-source`/`-
113
122
  `--evidence-video` on `campaign run` are forwarded to every mission; `--hook-timeout-ms` bounds the
114
123
  spec's hooks. An invalid spec is refused with every problem listed (exit 64). Shell `before`/`after` restore
115
124
  hooks in the spec run only with `--allow-shell-hooks`, and only when the human asked for them.
125
+ Before any mission, a preflight checks every start URL is reachable, every session is signed in and
126
+ no app call slips outside the allow list, and refuses with the problems listed. Fix them;
127
+ `--skip-preflight` (MCP `run_campaign` `skipPreflight`) only when the human asks, and it is recorded
128
+ on the report.
116
129
 
117
130
  ## 5. A small untargeted pass, plus non-journey attacks
118
131
 
@@ -24,6 +24,11 @@ the evidence. No model decides any of these verdicts.
24
24
  target's session in `~/.jevitate/targets.json`. A finding recorded at a viewport or device
25
25
  replays at that emulation. `--viewport`/`--device` that differ are refused unless
26
26
  `--allow-emulation-override` is passed.
27
+ - A finding replays under the allow list stored with its result. To prove an allow-list
28
+ config fix (e.g. `localhost` → `127.0.0.1`), pass `--allow <origin...>` or `--env <name>`
29
+ (that environment's CURRENT allow list), never both; MCP: `verify_fix`'s `env` only (an MCP caller never names origins).
30
+ The report then carries `allowlistOverride` (origins used, what was added and removed): say so
31
+ when you report the verdict.
27
32
 
28
33
  ## Evidence for a PR or an issue
29
34