sneakoscope 1.0.0 → 1.0.2
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/README.md +25 -5
- package/crates/sks-core/Cargo.lock +1 -1
- package/crates/sks-core/Cargo.toml +1 -1
- package/crates/sks-core/src/main.rs +1 -1
- package/dist/bin/sks.js +4 -4
- package/dist/bin/sks.js.map +1 -1
- package/dist/build-manifest.json +1116 -275
- package/dist/cli/args.d.ts +4 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +49 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/codex-app-command.d.ts +2 -0
- package/dist/cli/codex-app-command.d.ts.map +1 -0
- package/dist/cli/codex-app-command.js +63 -0
- package/dist/cli/codex-app-command.js.map +1 -0
- package/dist/cli/command-registry.d.ts +182 -6
- package/dist/cli/command-registry.d.ts.map +1 -1
- package/dist/cli/command-registry.js +168 -21
- package/dist/cli/command-registry.js.map +1 -1
- package/dist/cli/context7-command.d.ts +2 -0
- package/dist/cli/context7-command.d.ts.map +1 -0
- package/dist/cli/context7-command.js +181 -0
- package/dist/cli/context7-command.js.map +1 -0
- package/dist/cli/feature-commands.d.ts +23 -0
- package/dist/cli/feature-commands.d.ts.map +1 -0
- package/dist/cli/feature-commands.js +312 -0
- package/dist/cli/feature-commands.js.map +1 -0
- package/dist/cli/help-fast.d.ts +2 -0
- package/dist/cli/help-fast.d.ts.map +1 -0
- package/dist/cli/help-fast.js +30 -0
- package/dist/cli/help-fast.js.map +1 -0
- package/dist/cli/install-helpers.d.ts +526 -0
- package/dist/cli/install-helpers.d.ts.map +1 -0
- package/dist/cli/install-helpers.js +2610 -0
- package/dist/cli/install-helpers.js.map +1 -0
- package/dist/cli/main.d.ts +3 -0
- package/dist/cli/main.d.ts.map +1 -0
- package/dist/cli/main.js +12 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/cli/openclaw-command.d.ts +2 -0
- package/dist/cli/openclaw-command.d.ts.map +1 -0
- package/dist/cli/openclaw-command.js +83 -0
- package/dist/cli/openclaw-command.js.map +1 -0
- package/dist/cli/output.d.ts +3 -0
- package/dist/cli/output.d.ts.map +1 -0
- package/dist/cli/output.js +8 -0
- package/dist/cli/output.js.map +1 -0
- package/dist/cli/recallpulse-command.d.ts +2 -0
- package/dist/cli/recallpulse-command.d.ts.map +1 -0
- package/dist/cli/recallpulse-command.js +145 -0
- package/dist/cli/recallpulse-command.js.map +1 -0
- package/dist/cli/router.d.ts +15 -0
- package/dist/cli/router.d.ts.map +1 -0
- package/dist/cli/router.js +41 -0
- package/dist/cli/router.js.map +1 -0
- package/dist/commands/aliases.d.ts +2 -0
- package/dist/commands/aliases.d.ts.map +1 -0
- package/dist/commands/aliases.js +3 -0
- package/dist/commands/aliases.js.map +1 -0
- package/dist/commands/all-features.d.ts +2 -0
- package/dist/commands/all-features.d.ts.map +1 -0
- package/dist/commands/all-features.js +6 -0
- package/dist/commands/all-features.js.map +1 -0
- package/dist/commands/auto-review.d.ts +2 -0
- package/dist/commands/auto-review.d.ts.map +1 -0
- package/dist/commands/auto-review.js +6 -0
- package/dist/commands/auto-review.js.map +1 -0
- package/dist/commands/autoresearch.d.ts +2 -0
- package/dist/commands/autoresearch.d.ts.map +1 -0
- package/dist/commands/autoresearch.js +6 -0
- package/dist/commands/autoresearch.js.map +1 -0
- package/dist/commands/bench.d.ts +145 -0
- package/dist/commands/bench.d.ts.map +1 -0
- package/dist/commands/bench.js +5 -0
- package/dist/commands/bench.js.map +1 -0
- package/dist/commands/bootstrap.d.ts +2 -0
- package/dist/commands/bootstrap.d.ts.map +1 -0
- package/dist/commands/bootstrap.js +3 -0
- package/dist/commands/bootstrap.js.map +1 -0
- package/dist/commands/code-structure.d.ts +2 -0
- package/dist/commands/code-structure.d.ts.map +1 -0
- package/dist/commands/code-structure.js +6 -0
- package/dist/commands/code-structure.js.map +1 -0
- package/dist/commands/codex-app.d.ts +2 -0
- package/dist/commands/codex-app.d.ts.map +1 -0
- package/dist/commands/codex-app.js +35 -0
- package/dist/commands/codex-app.js.map +1 -0
- package/dist/commands/codex-lb.d.ts +2 -0
- package/dist/commands/codex-lb.d.ts.map +1 -0
- package/dist/commands/codex-lb.js +124 -0
- package/dist/commands/codex-lb.js.map +1 -0
- package/dist/commands/commands.d.ts +2 -0
- package/dist/commands/commands.d.ts.map +1 -0
- package/dist/commands/commands.js +5 -0
- package/dist/commands/commands.js.map +1 -0
- package/dist/commands/commit-and-push.d.ts +2 -0
- package/dist/commands/commit-and-push.d.ts.map +1 -0
- package/dist/commands/commit-and-push.js +5 -0
- package/dist/commands/commit-and-push.js.map +1 -0
- package/dist/commands/commit.d.ts +2 -0
- package/dist/commands/commit.d.ts.map +1 -0
- package/dist/commands/commit.js +5 -0
- package/dist/commands/commit.js.map +1 -0
- package/dist/commands/computer-use.d.ts +2 -0
- package/dist/commands/computer-use.d.ts.map +1 -0
- package/dist/commands/computer-use.js +5 -0
- package/dist/commands/computer-use.js.map +1 -0
- package/dist/commands/conflicts.d.ts +2 -0
- package/dist/commands/conflicts.d.ts.map +1 -0
- package/dist/commands/conflicts.js +17 -0
- package/dist/commands/conflicts.js.map +1 -0
- package/dist/commands/context7.d.ts +2 -0
- package/dist/commands/context7.d.ts.map +1 -0
- package/dist/commands/context7.js +6 -0
- package/dist/commands/context7.js.map +1 -0
- package/dist/commands/db.d.ts +2 -0
- package/dist/commands/db.d.ts.map +1 -0
- package/dist/commands/db.js +6 -0
- package/dist/commands/db.js.map +1 -0
- package/dist/commands/deps.d.ts +2 -0
- package/dist/commands/deps.d.ts.map +1 -0
- package/dist/commands/deps.js +6 -0
- package/dist/commands/deps.js.map +1 -0
- package/dist/commands/dfix.d.ts +2 -0
- package/dist/commands/dfix.d.ts.map +1 -0
- package/dist/commands/dfix.js +3 -0
- package/dist/commands/dfix.js.map +1 -0
- package/dist/commands/doctor.d.ts +2 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +76 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/dollar-commands.d.ts +2 -0
- package/dist/commands/dollar-commands.d.ts.map +1 -0
- package/dist/commands/dollar-commands.js +3 -0
- package/dist/commands/dollar-commands.js.map +1 -0
- package/dist/commands/eval.d.ts +2 -0
- package/dist/commands/eval.d.ts.map +1 -0
- package/dist/commands/eval.js +6 -0
- package/dist/commands/eval.js.map +1 -0
- package/dist/commands/features.d.ts +2 -0
- package/dist/commands/features.d.ts.map +1 -0
- package/dist/commands/features.js +6 -0
- package/dist/commands/features.js.map +1 -0
- package/dist/commands/fix-path.d.ts +2 -0
- package/dist/commands/fix-path.d.ts.map +1 -0
- package/dist/commands/fix-path.js +3 -0
- package/dist/commands/fix-path.js.map +1 -0
- package/dist/commands/gc.d.ts +2 -0
- package/dist/commands/gc.d.ts.map +1 -0
- package/dist/commands/gc.js +3 -0
- package/dist/commands/gc.js.map +1 -0
- package/dist/commands/goal.d.ts +2 -0
- package/dist/commands/goal.d.ts.map +1 -0
- package/dist/commands/goal.js +6 -0
- package/dist/commands/goal.js.map +1 -0
- package/dist/commands/guard.d.ts +2 -0
- package/dist/commands/guard.d.ts.map +1 -0
- package/dist/commands/guard.js +13 -0
- package/dist/commands/guard.js.map +1 -0
- package/dist/commands/gx.d.ts +2 -0
- package/dist/commands/gx.d.ts.map +1 -0
- package/dist/commands/gx.js +6 -0
- package/dist/commands/gx.js.map +1 -0
- package/dist/commands/harness.d.ts +2 -0
- package/dist/commands/harness.d.ts.map +1 -0
- package/dist/commands/harness.js +6 -0
- package/dist/commands/harness.js.map +1 -0
- package/dist/commands/help.d.ts +2 -0
- package/dist/commands/help.d.ts.map +1 -0
- package/dist/commands/help.js +7 -0
- package/dist/commands/help.js.map +1 -0
- package/dist/commands/hook.d.ts +2 -0
- package/dist/commands/hook.d.ts.map +1 -0
- package/dist/commands/hook.js +6 -0
- package/dist/commands/hook.js.map +1 -0
- package/dist/commands/hooks.d.ts +2 -0
- package/dist/commands/hooks.d.ts.map +1 -0
- package/dist/commands/hooks.js +6 -0
- package/dist/commands/hooks.js.map +1 -0
- package/dist/commands/hproof.d.ts +2 -0
- package/dist/commands/hproof.d.ts.map +1 -0
- package/dist/commands/hproof.js +6 -0
- package/dist/commands/hproof.js.map +1 -0
- package/dist/commands/image-ux-review.d.ts +2 -0
- package/dist/commands/image-ux-review.d.ts.map +1 -0
- package/dist/commands/image-ux-review.js +5 -0
- package/dist/commands/image-ux-review.js.map +1 -0
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +3 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/mad-sks.d.ts +51 -0
- package/dist/commands/mad-sks.d.ts.map +1 -0
- package/dist/commands/mad-sks.js +14 -0
- package/dist/commands/mad-sks.js.map +1 -0
- package/dist/commands/memory.d.ts +2 -0
- package/dist/commands/memory.d.ts.map +1 -0
- package/dist/commands/memory.js +6 -0
- package/dist/commands/memory.js.map +1 -0
- package/dist/commands/openclaw.d.ts +2 -0
- package/dist/commands/openclaw.d.ts.map +1 -0
- package/dist/commands/openclaw.js +3 -0
- package/dist/commands/openclaw.js.map +1 -0
- package/dist/commands/paths.d.ts +2 -0
- package/dist/commands/paths.d.ts.map +1 -0
- package/dist/commands/paths.js +5 -0
- package/dist/commands/paths.js.map +1 -0
- package/dist/commands/perf.d.ts +53 -0
- package/dist/commands/perf.d.ts.map +1 -0
- package/dist/commands/perf.js +125 -0
- package/dist/commands/perf.js.map +1 -0
- package/dist/commands/pipeline.d.ts +2 -0
- package/dist/commands/pipeline.d.ts.map +1 -0
- package/dist/commands/pipeline.js +5 -0
- package/dist/commands/pipeline.js.map +1 -0
- package/dist/commands/postinstall.d.ts +2 -0
- package/dist/commands/postinstall.d.ts.map +1 -0
- package/dist/commands/postinstall.js +3 -0
- package/dist/commands/postinstall.js.map +1 -0
- package/dist/commands/ppt.d.ts +2 -0
- package/dist/commands/ppt.d.ts.map +1 -0
- package/dist/commands/ppt.js +5 -0
- package/dist/commands/ppt.js.map +1 -0
- package/dist/commands/profile.d.ts +2 -0
- package/dist/commands/profile.d.ts.map +1 -0
- package/dist/commands/profile.js +6 -0
- package/dist/commands/profile.js.map +1 -0
- package/dist/commands/proof-field.d.ts +2 -0
- package/dist/commands/proof-field.d.ts.map +1 -0
- package/dist/commands/proof-field.js +6 -0
- package/dist/commands/proof-field.js.map +1 -0
- package/dist/commands/proof.d.ts +2 -0
- package/dist/commands/proof.d.ts.map +1 -0
- package/dist/commands/proof.js +136 -0
- package/dist/commands/proof.js.map +1 -0
- package/dist/commands/qa-loop.d.ts +2 -0
- package/dist/commands/qa-loop.d.ts.map +1 -0
- package/dist/commands/qa-loop.js +6 -0
- package/dist/commands/qa-loop.js.map +1 -0
- package/dist/commands/quickstart.d.ts +2 -0
- package/dist/commands/quickstart.d.ts.map +1 -0
- package/dist/commands/quickstart.js +3 -0
- package/dist/commands/quickstart.js.map +1 -0
- package/dist/commands/reasoning.d.ts +2 -0
- package/dist/commands/reasoning.d.ts.map +1 -0
- package/dist/commands/reasoning.js +3 -0
- package/dist/commands/reasoning.js.map +1 -0
- package/dist/commands/recallpulse.d.ts +2 -0
- package/dist/commands/recallpulse.d.ts.map +1 -0
- package/dist/commands/recallpulse.js +6 -0
- package/dist/commands/recallpulse.js.map +1 -0
- package/dist/commands/research.d.ts +2 -0
- package/dist/commands/research.d.ts.map +1 -0
- package/dist/commands/research.js +6 -0
- package/dist/commands/research.js.map +1 -0
- package/dist/commands/rollback.d.ts +20 -0
- package/dist/commands/rollback.d.ts.map +1 -0
- package/dist/commands/rollback.js +5 -0
- package/dist/commands/rollback.js.map +1 -0
- package/dist/commands/root.d.ts +2 -0
- package/dist/commands/root.d.ts.map +1 -0
- package/dist/commands/root.js +26 -0
- package/dist/commands/root.js.map +1 -0
- package/dist/commands/run.d.ts +2 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/run.js +5 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/commands/rust.d.ts +8 -0
- package/dist/commands/rust.d.ts.map +1 -0
- package/dist/commands/rust.js +5 -0
- package/dist/commands/rust.js.map +1 -0
- package/dist/commands/scouts.d.ts +2 -0
- package/dist/commands/scouts.d.ts.map +1 -0
- package/dist/commands/scouts.js +5 -0
- package/dist/commands/scouts.js.map +1 -0
- package/dist/commands/selftest.d.ts +2 -0
- package/dist/commands/selftest.d.ts.map +1 -0
- package/dist/commands/selftest.js +3 -0
- package/dist/commands/selftest.js.map +1 -0
- package/dist/commands/setup.d.ts +2 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +3 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/skill-dream.d.ts +2 -0
- package/dist/commands/skill-dream.d.ts.map +1 -0
- package/dist/commands/skill-dream.js +6 -0
- package/dist/commands/skill-dream.js.map +1 -0
- package/dist/commands/stats.d.ts +2 -0
- package/dist/commands/stats.d.ts.map +1 -0
- package/dist/commands/stats.js +3 -0
- package/dist/commands/stats.js.map +1 -0
- package/dist/commands/status.d.ts +2 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +5 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/team.d.ts +2 -0
- package/dist/commands/team.d.ts.map +1 -0
- package/dist/commands/team.js +3 -0
- package/dist/commands/team.js.map +1 -0
- package/dist/commands/tmux.d.ts +65 -0
- package/dist/commands/tmux.d.ts.map +1 -0
- package/dist/commands/tmux.js +6 -0
- package/dist/commands/tmux.js.map +1 -0
- package/dist/commands/trust.d.ts +2 -0
- package/dist/commands/trust.d.ts.map +1 -0
- package/dist/commands/trust.js +5 -0
- package/dist/commands/trust.js.map +1 -0
- package/dist/commands/update-check.d.ts +2 -0
- package/dist/commands/update-check.d.ts.map +1 -0
- package/dist/commands/update-check.js +3 -0
- package/dist/commands/update-check.js.map +1 -0
- package/dist/commands/usage.d.ts +2 -0
- package/dist/commands/usage.d.ts.map +1 -0
- package/dist/commands/usage.js +3 -0
- package/dist/commands/usage.js.map +1 -0
- package/dist/commands/validate-artifacts.d.ts +2 -0
- package/dist/commands/validate-artifacts.d.ts.map +1 -0
- package/dist/commands/validate-artifacts.js +3 -0
- package/dist/commands/validate-artifacts.js.map +1 -0
- package/dist/commands/version.d.ts +2 -0
- package/dist/commands/version.d.ts.map +1 -0
- package/dist/commands/version.js +5 -0
- package/dist/commands/version.js.map +1 -0
- package/dist/commands/versioning.d.ts +2 -0
- package/dist/commands/versioning.d.ts.map +1 -0
- package/dist/commands/versioning.js +19 -0
- package/dist/commands/versioning.js.map +1 -0
- package/dist/commands/wiki.d.ts +34 -0
- package/dist/commands/wiki.d.ts.map +1 -0
- package/dist/commands/wiki.js +6 -0
- package/dist/commands/wiki.js.map +1 -0
- package/dist/core/artifact-schemas.d.ts +167 -0
- package/dist/core/artifact-schemas.d.ts.map +1 -0
- package/dist/core/artifact-schemas.js +285 -0
- package/dist/core/artifact-schemas.js.map +1 -0
- package/dist/core/auto-review.d.ts +53 -0
- package/dist/core/auto-review.d.ts.map +1 -0
- package/dist/core/auto-review.js +203 -0
- package/dist/core/auto-review.js.map +1 -0
- package/dist/core/bench.d.ts +136 -0
- package/dist/core/bench.d.ts.map +1 -0
- package/dist/core/bench.js +144 -0
- package/dist/core/bench.js.map +1 -0
- package/dist/core/code-structure.d.ts +32 -0
- package/dist/core/code-structure.d.ts.map +1 -0
- package/dist/core/code-structure.js +105 -0
- package/dist/core/code-structure.js.map +1 -0
- package/dist/core/codex-adapter.d.ts +14 -0
- package/dist/core/codex-adapter.d.ts.map +1 -0
- package/dist/core/codex-adapter.js +71 -0
- package/dist/core/codex-adapter.js.map +1 -0
- package/dist/core/codex-app.d.ts +170 -0
- package/dist/core/codex-app.d.ts.map +1 -0
- package/dist/core/codex-app.js +696 -0
- package/dist/core/codex-app.js.map +1 -0
- package/dist/core/codex-lb-circuit.d.ts +41 -0
- package/dist/core/codex-lb-circuit.d.ts.map +1 -0
- package/dist/core/codex-lb-circuit.js +147 -0
- package/dist/core/codex-lb-circuit.js.map +1 -0
- package/dist/core/codex-model-guard.d.ts +5 -0
- package/dist/core/codex-model-guard.d.ts.map +1 -0
- package/dist/core/codex-model-guard.js +48 -0
- package/dist/core/codex-model-guard.js.map +1 -0
- package/dist/core/commands/autoresearch-command.d.ts +2 -0
- package/dist/core/commands/autoresearch-command.d.ts.map +1 -0
- package/dist/core/commands/autoresearch-command.js +5 -0
- package/dist/core/commands/autoresearch-command.js.map +1 -0
- package/dist/core/commands/basic-cli.d.ts +82 -0
- package/dist/core/commands/basic-cli.d.ts.map +1 -0
- package/dist/core/commands/basic-cli.js +320 -0
- package/dist/core/commands/basic-cli.js.map +1 -0
- package/dist/core/commands/bench-command.d.ts +145 -0
- package/dist/core/commands/bench-command.d.ts.map +1 -0
- package/dist/core/commands/bench-command.js +55 -0
- package/dist/core/commands/bench-command.js.map +1 -0
- package/dist/core/commands/code-structure-command.d.ts +2 -0
- package/dist/core/commands/code-structure-command.d.ts.map +1 -0
- package/dist/core/commands/code-structure-command.js +21 -0
- package/dist/core/commands/code-structure-command.js.map +1 -0
- package/dist/core/commands/command-utils.d.ts +19 -0
- package/dist/core/commands/command-utils.d.ts.map +1 -0
- package/dist/core/commands/command-utils.js +73 -0
- package/dist/core/commands/command-utils.js.map +1 -0
- package/dist/core/commands/computer-use-command.d.ts +2 -0
- package/dist/core/commands/computer-use-command.d.ts.map +1 -0
- package/dist/core/commands/computer-use-command.js +82 -0
- package/dist/core/commands/computer-use-command.js.map +1 -0
- package/dist/core/commands/db-command.d.ts +2 -0
- package/dist/core/commands/db-command.d.ts.map +1 -0
- package/dist/core/commands/db-command.js +111 -0
- package/dist/core/commands/db-command.js.map +1 -0
- package/dist/core/commands/eval-command.d.ts +2 -0
- package/dist/core/commands/eval-command.d.ts.map +1 -0
- package/dist/core/commands/eval-command.js +71 -0
- package/dist/core/commands/eval-command.js.map +1 -0
- package/dist/core/commands/gc-command.d.ts +4 -0
- package/dist/core/commands/gc-command.d.ts.map +1 -0
- package/dist/core/commands/gc-command.js +29 -0
- package/dist/core/commands/gc-command.js.map +1 -0
- package/dist/core/commands/goal-command.d.ts +2 -0
- package/dist/core/commands/goal-command.d.ts.map +1 -0
- package/dist/core/commands/goal-command.js +65 -0
- package/dist/core/commands/goal-command.js.map +1 -0
- package/dist/core/commands/gx-command.d.ts +28 -0
- package/dist/core/commands/gx-command.d.ts.map +1 -0
- package/dist/core/commands/gx-command.js +95 -0
- package/dist/core/commands/gx-command.js.map +1 -0
- package/dist/core/commands/harness-command.d.ts +2 -0
- package/dist/core/commands/harness-command.d.ts.map +1 -0
- package/dist/core/commands/harness-command.js +18 -0
- package/dist/core/commands/harness-command.js.map +1 -0
- package/dist/core/commands/hproof-command.d.ts +2 -0
- package/dist/core/commands/hproof-command.d.ts.map +1 -0
- package/dist/core/commands/hproof-command.js +13 -0
- package/dist/core/commands/hproof-command.js.map +1 -0
- package/dist/core/commands/image-ux-review-command.d.ts +2 -0
- package/dist/core/commands/image-ux-review-command.d.ts.map +1 -0
- package/dist/core/commands/image-ux-review-command.js +86 -0
- package/dist/core/commands/image-ux-review-command.js.map +1 -0
- package/dist/core/commands/mad-sks-command.d.ts +72 -0
- package/dist/core/commands/mad-sks-command.d.ts.map +1 -0
- package/dist/core/commands/mad-sks-command.js +130 -0
- package/dist/core/commands/mad-sks-command.js.map +1 -0
- package/dist/core/commands/paths-command.d.ts +2 -0
- package/dist/core/commands/paths-command.d.ts.map +1 -0
- package/dist/core/commands/paths-command.js +19 -0
- package/dist/core/commands/paths-command.js.map +1 -0
- package/dist/core/commands/perf-command.d.ts +2 -0
- package/dist/core/commands/perf-command.d.ts.map +1 -0
- package/dist/core/commands/perf-command.js +35 -0
- package/dist/core/commands/perf-command.js.map +1 -0
- package/dist/core/commands/pipeline-command.d.ts +2 -0
- package/dist/core/commands/pipeline-command.d.ts.map +1 -0
- package/dist/core/commands/pipeline-command.js +61 -0
- package/dist/core/commands/pipeline-command.js.map +1 -0
- package/dist/core/commands/ppt-command.d.ts +2 -0
- package/dist/core/commands/ppt-command.d.ts.map +1 -0
- package/dist/core/commands/ppt-command.js +96 -0
- package/dist/core/commands/ppt-command.js.map +1 -0
- package/dist/core/commands/profile-command.d.ts +2 -0
- package/dist/core/commands/profile-command.d.ts.map +1 -0
- package/dist/core/commands/profile-command.js +17 -0
- package/dist/core/commands/profile-command.js.map +1 -0
- package/dist/core/commands/proof-field-command.d.ts +2 -0
- package/dist/core/commands/proof-field-command.d.ts.map +1 -0
- package/dist/core/commands/proof-field-command.js +29 -0
- package/dist/core/commands/proof-field-command.js.map +1 -0
- package/dist/core/commands/qa-loop-command.d.ts +2 -0
- package/dist/core/commands/qa-loop-command.d.ts.map +1 -0
- package/dist/core/commands/qa-loop-command.js +200 -0
- package/dist/core/commands/qa-loop-command.js.map +1 -0
- package/dist/core/commands/recallpulse-command.d.ts +2 -0
- package/dist/core/commands/recallpulse-command.d.ts.map +1 -0
- package/dist/core/commands/recallpulse-command.js +5 -0
- package/dist/core/commands/recallpulse-command.js.map +1 -0
- package/dist/core/commands/research-command.d.ts +3 -0
- package/dist/core/commands/research-command.d.ts.map +1 -0
- package/dist/core/commands/research-command.js +308 -0
- package/dist/core/commands/research-command.js.map +1 -0
- package/dist/core/commands/rollback-command.d.ts +20 -0
- package/dist/core/commands/rollback-command.d.ts.map +1 -0
- package/dist/core/commands/rollback-command.js +46 -0
- package/dist/core/commands/rollback-command.js.map +1 -0
- package/dist/core/commands/run-command.d.ts +78 -0
- package/dist/core/commands/run-command.d.ts.map +1 -0
- package/dist/core/commands/run-command.js +413 -0
- package/dist/core/commands/run-command.js.map +1 -0
- package/dist/core/commands/rust-command.d.ts +8 -0
- package/dist/core/commands/rust-command.d.ts.map +1 -0
- package/dist/core/commands/rust-command.js +81 -0
- package/dist/core/commands/rust-command.js.map +1 -0
- package/dist/core/commands/scouts-command.d.ts +2 -0
- package/dist/core/commands/scouts-command.d.ts.map +1 -0
- package/dist/core/commands/scouts-command.js +298 -0
- package/dist/core/commands/scouts-command.js.map +1 -0
- package/dist/core/commands/skill-dream-command.d.ts +2 -0
- package/dist/core/commands/skill-dream-command.d.ts.map +1 -0
- package/dist/core/commands/skill-dream-command.js +44 -0
- package/dist/core/commands/skill-dream-command.js.map +1 -0
- package/dist/core/commands/status-command.d.ts +2 -0
- package/dist/core/commands/status-command.d.ts.map +1 -0
- package/dist/core/commands/status-command.js +55 -0
- package/dist/core/commands/status-command.js.map +1 -0
- package/dist/core/commands/team-command.d.ts +182 -0
- package/dist/core/commands/team-command.d.ts.map +1 -0
- package/dist/core/commands/team-command.js +351 -0
- package/dist/core/commands/team-command.js.map +1 -0
- package/dist/core/commands/trust-command.d.ts +2 -0
- package/dist/core/commands/trust-command.d.ts.map +1 -0
- package/dist/core/commands/trust-command.js +55 -0
- package/dist/core/commands/trust-command.js.map +1 -0
- package/dist/core/commands/validate-artifacts-command.d.ts +2 -0
- package/dist/core/commands/validate-artifacts-command.d.ts.map +1 -0
- package/dist/core/commands/validate-artifacts-command.js +50 -0
- package/dist/core/commands/validate-artifacts-command.js.map +1 -0
- package/dist/core/commands/wiki-command.d.ts +86 -0
- package/dist/core/commands/wiki-command.d.ts.map +1 -0
- package/dist/core/commands/wiki-command.js +529 -0
- package/dist/core/commands/wiki-command.js.map +1 -0
- package/dist/core/commands/wrongness-command.d.ts +3 -0
- package/dist/core/commands/wrongness-command.d.ts.map +1 -0
- package/dist/core/commands/wrongness-command.js +3 -0
- package/dist/core/commands/wrongness-command.js.map +1 -0
- package/dist/core/context7-client.d.ts +82 -0
- package/dist/core/context7-client.d.ts.map +1 -0
- package/dist/core/context7-client.js +287 -0
- package/dist/core/context7-client.js.map +1 -0
- package/dist/core/db-safety.d.ts +261 -0
- package/dist/core/db-safety.d.ts.map +1 -0
- package/dist/core/db-safety.js +655 -0
- package/dist/core/db-safety.js.map +1 -0
- package/dist/core/decision-contract.d.ts +9 -0
- package/dist/core/decision-contract.d.ts.map +1 -0
- package/dist/core/decision-contract.js +179 -0
- package/dist/core/decision-contract.js.map +1 -0
- package/dist/core/decision-lattice.d.ts +14 -0
- package/dist/core/decision-lattice.d.ts.map +1 -0
- package/dist/core/decision-lattice.js +469 -0
- package/dist/core/decision-lattice.js.map +1 -0
- package/dist/core/dogfood-loop.d.ts +29 -0
- package/dist/core/dogfood-loop.d.ts.map +1 -0
- package/dist/core/dogfood-loop.js +38 -0
- package/dist/core/dogfood-loop.js.map +1 -0
- package/dist/core/effort-orchestrator.d.ts +24 -0
- package/dist/core/effort-orchestrator.d.ts.map +1 -0
- package/dist/core/effort-orchestrator.js +103 -0
- package/dist/core/effort-orchestrator.js.map +1 -0
- package/dist/core/evaluation.d.ts +802 -0
- package/dist/core/evaluation.d.ts.map +1 -0
- package/dist/core/evaluation.js +591 -0
- package/dist/core/evaluation.js.map +1 -0
- package/dist/core/evidence/evidence-dedupe.d.ts +2 -0
- package/dist/core/evidence/evidence-dedupe.d.ts.map +1 -0
- package/dist/core/evidence/evidence-dedupe.js +21 -0
- package/dist/core/evidence/evidence-dedupe.js.map +1 -0
- package/dist/core/evidence/evidence-freshness.d.ts +13 -0
- package/dist/core/evidence/evidence-freshness.d.ts.map +1 -0
- package/dist/core/evidence/evidence-freshness.js +38 -0
- package/dist/core/evidence/evidence-freshness.js.map +1 -0
- package/dist/core/evidence/evidence-proof-linker.d.ts +9 -0
- package/dist/core/evidence/evidence-proof-linker.d.ts.map +1 -0
- package/dist/core/evidence/evidence-proof-linker.js +20 -0
- package/dist/core/evidence/evidence-proof-linker.js.map +1 -0
- package/dist/core/evidence/evidence-redaction.d.ts +3 -0
- package/dist/core/evidence/evidence-redaction.d.ts.map +1 -0
- package/dist/core/evidence/evidence-redaction.js +8 -0
- package/dist/core/evidence/evidence-redaction.js.map +1 -0
- package/dist/core/evidence/evidence-router.d.ts +12 -0
- package/dist/core/evidence/evidence-router.d.ts.map +1 -0
- package/dist/core/evidence/evidence-router.js +223 -0
- package/dist/core/evidence/evidence-router.js.map +1 -0
- package/dist/core/evidence/evidence-schema.d.ts +24 -8
- package/dist/core/evidence/evidence-schema.d.ts.map +1 -1
- package/dist/core/evidence/evidence-schema.js +125 -1
- package/dist/core/evidence/evidence-schema.js.map +1 -1
- package/dist/core/evidence/evidence-store.d.ts +15 -0
- package/dist/core/evidence/evidence-store.d.ts.map +1 -0
- package/dist/core/evidence/evidence-store.js +66 -0
- package/dist/core/evidence/evidence-store.js.map +1 -0
- package/dist/core/feature-fixture-runner.d.ts +44 -0
- package/dist/core/feature-fixture-runner.d.ts.map +1 -0
- package/dist/core/feature-fixture-runner.js +261 -0
- package/dist/core/feature-fixture-runner.js.map +1 -0
- package/dist/core/feature-fixtures.d.ts +15 -0
- package/dist/core/feature-fixtures.d.ts.map +1 -0
- package/dist/core/feature-fixtures.js +221 -0
- package/dist/core/feature-fixtures.js.map +1 -0
- package/dist/core/feature-registry.d.ts +16 -0
- package/dist/core/feature-registry.d.ts.map +1 -0
- package/dist/core/feature-registry.js +683 -0
- package/dist/core/feature-registry.js.map +1 -0
- package/dist/core/from-chat-img-forensics.d.ts +27 -0
- package/dist/core/from-chat-img-forensics.d.ts.map +1 -0
- package/dist/core/from-chat-img-forensics.js +104 -0
- package/dist/core/from-chat-img-forensics.js.map +1 -0
- package/dist/core/fsx.d.ts +85 -0
- package/dist/core/fsx.d.ts.map +1 -0
- package/dist/core/fsx.js +433 -0
- package/dist/core/fsx.js.map +1 -0
- package/dist/core/git-simple.d.ts +3 -0
- package/dist/core/git-simple.d.ts.map +1 -0
- package/dist/core/git-simple.js +118 -0
- package/dist/core/git-simple.js.map +1 -0
- package/dist/core/goal-workflow.d.ts +56 -0
- package/dist/core/goal-workflow.d.ts.map +1 -0
- package/dist/core/goal-workflow.js +132 -0
- package/dist/core/goal-workflow.js.map +1 -0
- package/dist/core/gx-renderer.d.ts +287 -0
- package/dist/core/gx-renderer.d.ts.map +1 -0
- package/dist/core/gx-renderer.js +392 -0
- package/dist/core/gx-renderer.js.map +1 -0
- package/dist/core/harness-conflicts.d.ts +17 -0
- package/dist/core/harness-conflicts.d.ts.map +1 -0
- package/dist/core/harness-conflicts.js +222 -0
- package/dist/core/harness-conflicts.js.map +1 -0
- package/dist/core/harness-guard.d.ts +69 -0
- package/dist/core/harness-guard.d.ts.map +1 -0
- package/dist/core/harness-guard.js +243 -0
- package/dist/core/harness-guard.js.map +1 -0
- package/dist/core/hooks-runtime.d.ts +7 -0
- package/dist/core/hooks-runtime.d.ts.map +1 -0
- package/dist/core/hooks-runtime.js +1299 -0
- package/dist/core/hooks-runtime.js.map +1 -0
- package/dist/core/hproof.d.ts +23 -0
- package/dist/core/hproof.d.ts.map +1 -0
- package/dist/core/hproof.js +54 -0
- package/dist/core/hproof.js.map +1 -0
- package/dist/core/image-ux-review.d.ts +285 -0
- package/dist/core/image-ux-review.d.ts.map +1 -0
- package/dist/core/image-ux-review.js +292 -0
- package/dist/core/image-ux-review.js.map +1 -0
- package/dist/core/init.d.ts +34 -0
- package/dist/core/init.d.ts.map +1 -0
- package/dist/core/init.js +1224 -0
- package/dist/core/init.js.map +1 -0
- package/dist/core/language-preference.d.ts +9 -0
- package/dist/core/language-preference.d.ts.map +1 -0
- package/dist/core/language-preference.js +95 -0
- package/dist/core/language-preference.js.map +1 -0
- package/dist/core/managed-paths.d.ts +19 -0
- package/dist/core/managed-paths.d.ts.map +1 -0
- package/dist/core/managed-paths.js +60 -0
- package/dist/core/managed-paths.js.map +1 -0
- package/dist/core/memory-governor.d.ts +117 -0
- package/dist/core/memory-governor.d.ts.map +1 -0
- package/dist/core/memory-governor.js +158 -0
- package/dist/core/memory-governor.js.map +1 -0
- package/dist/core/mission.d.ts +11 -0
- package/dist/core/mission.d.ts.map +1 -0
- package/dist/core/mission.js +64 -0
- package/dist/core/mission.js.map +1 -0
- package/dist/core/mistake-memory.d.ts +40 -0
- package/dist/core/mistake-memory.d.ts.map +1 -0
- package/dist/core/mistake-memory.js +79 -0
- package/dist/core/mistake-memory.js.map +1 -0
- package/dist/core/mistake-recall.d.ts +63 -0
- package/dist/core/mistake-recall.d.ts.map +1 -0
- package/dist/core/mistake-recall.js +284 -0
- package/dist/core/mistake-recall.js.map +1 -0
- package/dist/core/no-question-guard.d.ts +6 -0
- package/dist/core/no-question-guard.d.ts.map +1 -0
- package/dist/core/no-question-guard.js +51 -0
- package/dist/core/no-question-guard.js.map +1 -0
- package/dist/core/openclaw.d.ts +23 -0
- package/dist/core/openclaw.d.ts.map +1 -0
- package/dist/core/openclaw.js +159 -0
- package/dist/core/openclaw.js.map +1 -0
- package/dist/core/perf-bench.d.ts +371 -0
- package/dist/core/perf-bench.d.ts.map +1 -0
- package/dist/core/perf-bench.js +217 -0
- package/dist/core/perf-bench.js.map +1 -0
- package/dist/core/permission-gates.d.ts +73 -0
- package/dist/core/permission-gates.d.ts.map +1 -0
- package/dist/core/permission-gates.js +97 -0
- package/dist/core/permission-gates.js.map +1 -0
- package/dist/core/pipeline/active-context.d.ts +2 -0
- package/dist/core/pipeline/active-context.d.ts.map +1 -0
- package/dist/core/pipeline/active-context.js +2 -0
- package/dist/core/pipeline/active-context.js.map +1 -0
- package/dist/core/pipeline/pipeline-plan-writer.d.ts +2 -0
- package/dist/core/pipeline/pipeline-plan-writer.d.ts.map +1 -0
- package/dist/core/pipeline/pipeline-plan-writer.js +2 -0
- package/dist/core/pipeline/pipeline-plan-writer.js.map +1 -0
- package/dist/core/pipeline/plan-schema.d.ts +2 -0
- package/dist/core/pipeline/plan-schema.d.ts.map +1 -0
- package/dist/core/pipeline/plan-schema.js +2 -0
- package/dist/core/pipeline/plan-schema.js.map +1 -0
- package/dist/core/pipeline/prompt-context-answer.d.ts +2 -0
- package/dist/core/pipeline/prompt-context-answer.d.ts.map +1 -0
- package/dist/core/pipeline/prompt-context-answer.js +2 -0
- package/dist/core/pipeline/prompt-context-answer.js.map +1 -0
- package/dist/core/pipeline/prompt-context-computer-use.d.ts +2 -0
- package/dist/core/pipeline/prompt-context-computer-use.d.ts.map +1 -0
- package/dist/core/pipeline/prompt-context-computer-use.js +2 -0
- package/dist/core/pipeline/prompt-context-computer-use.js.map +1 -0
- package/dist/core/pipeline/prompt-context-dfix.d.ts +2 -0
- package/dist/core/pipeline/prompt-context-dfix.d.ts.map +1 -0
- package/dist/core/pipeline/prompt-context-dfix.js +2 -0
- package/dist/core/pipeline/prompt-context-dfix.js.map +1 -0
- package/dist/core/pipeline/prompt-context.d.ts +2 -0
- package/dist/core/pipeline/prompt-context.d.ts.map +1 -0
- package/dist/core/pipeline/prompt-context.js +2 -0
- package/dist/core/pipeline/prompt-context.js.map +1 -0
- package/dist/core/pipeline/route-prep-db.d.ts +2 -0
- package/dist/core/pipeline/route-prep-db.d.ts.map +1 -0
- package/dist/core/pipeline/route-prep-db.js +2 -0
- package/dist/core/pipeline/route-prep-db.js.map +1 -0
- package/dist/core/pipeline/route-prep-gx.d.ts +2 -0
- package/dist/core/pipeline/route-prep-gx.d.ts.map +1 -0
- package/dist/core/pipeline/route-prep-gx.js +2 -0
- package/dist/core/pipeline/route-prep-gx.js.map +1 -0
- package/dist/core/pipeline/route-prep-image-ux.d.ts +2 -0
- package/dist/core/pipeline/route-prep-image-ux.d.ts.map +1 -0
- package/dist/core/pipeline/route-prep-image-ux.js +2 -0
- package/dist/core/pipeline/route-prep-image-ux.js.map +1 -0
- package/dist/core/pipeline/route-prep-ppt.d.ts +2 -0
- package/dist/core/pipeline/route-prep-ppt.d.ts.map +1 -0
- package/dist/core/pipeline/route-prep-ppt.js +2 -0
- package/dist/core/pipeline/route-prep-ppt.js.map +1 -0
- package/dist/core/pipeline/route-prep-qa.d.ts +2 -0
- package/dist/core/pipeline/route-prep-qa.d.ts.map +1 -0
- package/dist/core/pipeline/route-prep-qa.js +2 -0
- package/dist/core/pipeline/route-prep-qa.js.map +1 -0
- package/dist/core/pipeline/route-prep-research.d.ts +2 -0
- package/dist/core/pipeline/route-prep-research.d.ts.map +1 -0
- package/dist/core/pipeline/route-prep-research.js +2 -0
- package/dist/core/pipeline/route-prep-research.js.map +1 -0
- package/dist/core/pipeline/route-prep-team.d.ts +2 -0
- package/dist/core/pipeline/route-prep-team.d.ts.map +1 -0
- package/dist/core/pipeline/route-prep-team.js +2 -0
- package/dist/core/pipeline/route-prep-team.js.map +1 -0
- package/dist/core/pipeline/route-prep.d.ts +2 -0
- package/dist/core/pipeline/route-prep.d.ts.map +1 -0
- package/dist/core/pipeline/route-prep.js +2 -0
- package/dist/core/pipeline/route-prep.js.map +1 -0
- package/dist/core/pipeline/scout-stage-policy.d.ts +2 -0
- package/dist/core/pipeline/scout-stage-policy.d.ts.map +1 -0
- package/dist/core/pipeline/scout-stage-policy.js +2 -0
- package/dist/core/pipeline/scout-stage-policy.js.map +1 -0
- package/dist/core/pipeline/stage-policy.d.ts +2 -0
- package/dist/core/pipeline/stage-policy.d.ts.map +1 -0
- package/dist/core/pipeline/stage-policy.js +2 -0
- package/dist/core/pipeline/stage-policy.js.map +1 -0
- package/dist/core/pipeline/stop-gate-context7.d.ts +2 -0
- package/dist/core/pipeline/stop-gate-context7.d.ts.map +1 -0
- package/dist/core/pipeline/stop-gate-context7.js +2 -0
- package/dist/core/pipeline/stop-gate-context7.js.map +1 -0
- package/dist/core/pipeline/stop-gate-proof.d.ts +2 -0
- package/dist/core/pipeline/stop-gate-proof.d.ts.map +1 -0
- package/dist/core/pipeline/stop-gate-proof.js +2 -0
- package/dist/core/pipeline/stop-gate-proof.js.map +1 -0
- package/dist/core/pipeline/stop-gate-subagents.d.ts +2 -0
- package/dist/core/pipeline/stop-gate-subagents.d.ts.map +1 -0
- package/dist/core/pipeline/stop-gate-subagents.js +2 -0
- package/dist/core/pipeline/stop-gate-subagents.js.map +1 -0
- package/dist/core/pipeline/stop-gate.d.ts +2 -0
- package/dist/core/pipeline/stop-gate.d.ts.map +1 -0
- package/dist/core/pipeline/stop-gate.js +2 -0
- package/dist/core/pipeline/stop-gate.js.map +1 -0
- package/dist/core/pipeline/validation.d.ts +2 -0
- package/dist/core/pipeline/validation.d.ts.map +1 -0
- package/dist/core/pipeline/validation.js +2 -0
- package/dist/core/pipeline/validation.js.map +1 -0
- package/dist/core/pipeline-internals/runtime-core.d.ts +342 -0
- package/dist/core/pipeline-internals/runtime-core.d.ts.map +1 -0
- package/dist/core/pipeline-internals/runtime-core.js +1242 -0
- package/dist/core/pipeline-internals/runtime-core.js.map +1 -0
- package/dist/core/pipeline-internals/runtime-gates.d.ts +24 -0
- package/dist/core/pipeline-internals/runtime-gates.d.ts.map +1 -0
- package/dist/core/pipeline-internals/runtime-gates.js +599 -0
- package/dist/core/pipeline-internals/runtime-gates.js.map +1 -0
- package/dist/core/pipeline-runtime.d.ts +2 -0
- package/dist/core/pipeline-runtime.d.ts.map +1 -0
- package/dist/core/pipeline-runtime.js +2 -0
- package/dist/core/pipeline-runtime.js.map +1 -0
- package/dist/core/pipeline.d.ts +6 -0
- package/dist/core/pipeline.d.ts.map +1 -0
- package/dist/core/pipeline.js +6 -0
- package/dist/core/pipeline.js.map +1 -0
- package/dist/core/ppt.d.ts +696 -0
- package/dist/core/ppt.d.ts.map +1 -0
- package/dist/core/ppt.js +1425 -0
- package/dist/core/ppt.js.map +1 -0
- package/dist/core/prompt-context-builder.d.ts +11 -0
- package/dist/core/prompt-context-builder.d.ts.map +1 -0
- package/dist/core/prompt-context-builder.js +37 -0
- package/dist/core/prompt-context-builder.js.map +1 -0
- package/dist/core/proof/auto-finalize.d.ts +3 -0
- package/dist/core/proof/auto-finalize.d.ts.map +1 -0
- package/dist/core/proof/auto-finalize.js +62 -0
- package/dist/core/proof/auto-finalize.js.map +1 -0
- package/dist/core/proof/claim-ledger.d.ts +7 -0
- package/dist/core/proof/claim-ledger.d.ts.map +1 -0
- package/dist/core/proof/claim-ledger.js +10 -0
- package/dist/core/proof/claim-ledger.js.map +1 -0
- package/dist/core/proof/command-ledger.d.ts +3 -0
- package/dist/core/proof/command-ledger.d.ts.map +1 -0
- package/dist/core/proof/command-ledger.js +21 -0
- package/dist/core/proof/command-ledger.js.map +1 -0
- package/dist/core/proof/evidence-collector.d.ts +63 -0
- package/dist/core/proof/evidence-collector.d.ts.map +1 -0
- package/dist/core/proof/evidence-collector.js +36 -0
- package/dist/core/proof/evidence-collector.js.map +1 -0
- package/dist/core/proof/file-change-ledger.d.ts +5 -0
- package/dist/core/proof/file-change-ledger.d.ts.map +1 -0
- package/dist/core/proof/file-change-ledger.js +6 -0
- package/dist/core/proof/file-change-ledger.js.map +1 -0
- package/dist/core/proof/proof-reader.d.ts +33 -0
- package/dist/core/proof/proof-reader.d.ts.map +1 -0
- package/dist/core/proof/proof-reader.js +33 -0
- package/dist/core/proof/proof-reader.js.map +1 -0
- package/dist/core/proof/proof-redaction.test-helper.d.ts +5 -0
- package/dist/core/proof/proof-redaction.test-helper.d.ts.map +1 -0
- package/dist/core/proof/proof-redaction.test-helper.js +9 -0
- package/dist/core/proof/proof-redaction.test-helper.js.map +1 -0
- package/dist/core/proof/proof-schema.d.ts +37 -6
- package/dist/core/proof/proof-schema.d.ts.map +1 -1
- package/dist/core/proof/proof-schema.js +41 -2
- package/dist/core/proof/proof-schema.js.map +1 -1
- package/dist/core/proof/proof-writer.d.ts +16 -0
- package/dist/core/proof/proof-writer.d.ts.map +1 -0
- package/dist/core/proof/proof-writer.js +87 -0
- package/dist/core/proof/proof-writer.js.map +1 -0
- package/dist/core/proof/route-adapter.d.ts +131 -0
- package/dist/core/proof/route-adapter.d.ts.map +1 -0
- package/dist/core/proof/route-adapter.js +88 -0
- package/dist/core/proof/route-adapter.js.map +1 -0
- package/dist/core/proof/route-finalizer-fixtures.d.ts +2 -0
- package/dist/core/proof/route-finalizer-fixtures.d.ts.map +1 -0
- package/dist/core/proof/route-finalizer-fixtures.js +22 -0
- package/dist/core/proof/route-finalizer-fixtures.js.map +1 -0
- package/dist/core/proof/route-finalizer-policy.d.ts +8 -0
- package/dist/core/proof/route-finalizer-policy.d.ts.map +1 -0
- package/dist/core/proof/route-finalizer-policy.js +13 -0
- package/dist/core/proof/route-finalizer-policy.js.map +1 -0
- package/dist/core/proof/route-finalizer.d.ts +131 -0
- package/dist/core/proof/route-finalizer.d.ts.map +1 -0
- package/dist/core/proof/route-finalizer.js +74 -0
- package/dist/core/proof/route-finalizer.js.map +1 -0
- package/dist/core/proof/route-proof-gate.d.ts +14 -0
- package/dist/core/proof/route-proof-gate.d.ts.map +1 -0
- package/dist/core/proof/route-proof-gate.js +56 -0
- package/dist/core/proof/route-proof-gate.js.map +1 -0
- package/dist/core/proof/route-proof-policy.d.ts +8 -0
- package/dist/core/proof/route-proof-policy.d.ts.map +1 -0
- package/dist/core/proof/route-proof-policy.js +95 -0
- package/dist/core/proof/route-proof-policy.js.map +1 -0
- package/dist/core/proof/selftest-proof-fixtures.d.ts +131 -0
- package/dist/core/proof/selftest-proof-fixtures.d.ts.map +1 -0
- package/dist/core/proof/selftest-proof-fixtures.js +45 -0
- package/dist/core/proof/selftest-proof-fixtures.js.map +1 -0
- package/dist/core/proof/validation.d.ts +3 -5
- package/dist/core/proof/validation.d.ts.map +1 -1
- package/dist/core/proof/validation.js +28 -12
- package/dist/core/proof/validation.js.map +1 -1
- package/dist/core/proof-field.d.ts +411 -0
- package/dist/core/proof-field.d.ts.map +1 -0
- package/dist/core/proof-field.js +460 -0
- package/dist/core/proof-field.js.map +1 -0
- package/dist/core/qa-loop.d.ts +138 -0
- package/dist/core/qa-loop.d.ts.map +1 -0
- package/dist/core/qa-loop.js +342 -0
- package/dist/core/qa-loop.js.map +1 -0
- package/dist/core/questions.d.ts +219 -0
- package/dist/core/questions.d.ts.map +1 -0
- package/dist/core/questions.js +526 -0
- package/dist/core/questions.js.map +1 -0
- package/dist/core/recallpulse.d.ts +834 -0
- package/dist/core/recallpulse.d.ts.map +1 -0
- package/dist/core/recallpulse.js +1239 -0
- package/dist/core/recallpulse.js.map +1 -0
- package/dist/core/research.d.ts +389 -0
- package/dist/core/research.d.ts.map +1 -0
- package/dist/core/research.js +1014 -0
- package/dist/core/research.js.map +1 -0
- package/dist/core/retention.d.ts +36 -0
- package/dist/core/retention.d.ts.map +1 -0
- package/dist/core/retention.js +267 -0
- package/dist/core/retention.js.map +1 -0
- package/dist/core/routes.d.ts +196 -0
- package/dist/core/routes.d.ts.map +1 -0
- package/dist/core/routes.js +962 -0
- package/dist/core/routes.js.map +1 -0
- package/dist/core/rust-accelerator.d.ts +37 -0
- package/dist/core/rust-accelerator.d.ts.map +1 -0
- package/dist/core/rust-accelerator.js +141 -0
- package/dist/core/rust-accelerator.js.map +1 -0
- package/dist/core/scouts/engines/codex-app-subagent-engine.d.ts +34 -0
- package/dist/core/scouts/engines/codex-app-subagent-engine.d.ts.map +1 -0
- package/dist/core/scouts/engines/codex-app-subagent-engine.js +73 -0
- package/dist/core/scouts/engines/codex-app-subagent-engine.js.map +1 -0
- package/dist/core/scouts/engines/codex-exec-parallel-engine.d.ts +28 -0
- package/dist/core/scouts/engines/codex-exec-parallel-engine.d.ts.map +1 -0
- package/dist/core/scouts/engines/codex-exec-parallel-engine.js +59 -0
- package/dist/core/scouts/engines/codex-exec-parallel-engine.js.map +1 -0
- package/dist/core/scouts/engines/local-static-engine.d.ts +2 -0
- package/dist/core/scouts/engines/local-static-engine.d.ts.map +1 -0
- package/dist/core/scouts/engines/local-static-engine.js +10 -0
- package/dist/core/scouts/engines/local-static-engine.js.map +1 -0
- package/dist/core/scouts/engines/scout-engine-base.d.ts +28 -0
- package/dist/core/scouts/engines/scout-engine-base.d.ts.map +1 -0
- package/dist/core/scouts/engines/scout-engine-base.js +99 -0
- package/dist/core/scouts/engines/scout-engine-base.js.map +1 -0
- package/dist/core/scouts/engines/scout-engine-detect.d.ts +9 -0
- package/dist/core/scouts/engines/scout-engine-detect.d.ts.map +1 -0
- package/dist/core/scouts/engines/scout-engine-detect.js +67 -0
- package/dist/core/scouts/engines/scout-engine-detect.js.map +1 -0
- package/dist/core/scouts/engines/scout-engine-policy.d.ts +15 -0
- package/dist/core/scouts/engines/scout-engine-policy.d.ts.map +1 -0
- package/dist/core/scouts/engines/scout-engine-policy.js +68 -0
- package/dist/core/scouts/engines/scout-engine-policy.js.map +1 -0
- package/dist/core/scouts/engines/sequential-fallback-engine.d.ts +2 -0
- package/dist/core/scouts/engines/sequential-fallback-engine.d.ts.map +1 -0
- package/dist/core/scouts/engines/sequential-fallback-engine.js +10 -0
- package/dist/core/scouts/engines/sequential-fallback-engine.js.map +1 -0
- package/dist/core/scouts/engines/tmux-lane-cleanup.d.ts +10 -0
- package/dist/core/scouts/engines/tmux-lane-cleanup.d.ts.map +1 -0
- package/dist/core/scouts/engines/tmux-lane-cleanup.js +17 -0
- package/dist/core/scouts/engines/tmux-lane-cleanup.js.map +1 -0
- package/dist/core/scouts/engines/tmux-lane-engine.d.ts +16 -0
- package/dist/core/scouts/engines/tmux-lane-engine.d.ts.map +1 -0
- package/dist/core/scouts/engines/tmux-lane-engine.js +65 -0
- package/dist/core/scouts/engines/tmux-lane-engine.js.map +1 -0
- package/dist/core/scouts/engines/tmux-lane-watcher.d.ts +4 -0
- package/dist/core/scouts/engines/tmux-lane-watcher.d.ts.map +1 -0
- package/dist/core/scouts/engines/tmux-lane-watcher.js +27 -0
- package/dist/core/scouts/engines/tmux-lane-watcher.js.map +1 -0
- package/dist/core/scouts/scout-artifacts.d.ts +15 -0
- package/dist/core/scouts/scout-artifacts.d.ts.map +1 -0
- package/dist/core/scouts/scout-artifacts.js +93 -0
- package/dist/core/scouts/scout-artifacts.js.map +1 -0
- package/dist/core/scouts/scout-consensus.d.ts +39 -0
- package/dist/core/scouts/scout-consensus.d.ts.map +1 -0
- package/dist/core/scouts/scout-consensus.js +155 -0
- package/dist/core/scouts/scout-consensus.js.map +1 -0
- package/dist/core/scouts/scout-gate.d.ts +24 -0
- package/dist/core/scouts/scout-gate.d.ts.map +1 -0
- package/dist/core/scouts/scout-gate.js +78 -0
- package/dist/core/scouts/scout-gate.js.map +1 -0
- package/dist/core/scouts/scout-output-fixtures.d.ts +3 -0
- package/dist/core/scouts/scout-output-fixtures.d.ts.map +1 -0
- package/dist/core/scouts/scout-output-fixtures.js +27 -0
- package/dist/core/scouts/scout-output-fixtures.js.map +1 -0
- package/dist/core/scouts/scout-output-normalizer.d.ts +2 -0
- package/dist/core/scouts/scout-output-normalizer.d.ts.map +1 -0
- package/dist/core/scouts/scout-output-normalizer.js +2 -0
- package/dist/core/scouts/scout-output-normalizer.js.map +1 -0
- package/dist/core/scouts/scout-output-parser.d.ts +18 -0
- package/dist/core/scouts/scout-output-parser.d.ts.map +1 -0
- package/dist/core/scouts/scout-output-parser.js +255 -0
- package/dist/core/scouts/scout-output-parser.js.map +1 -0
- package/dist/core/scouts/scout-output-validator.d.ts +3 -0
- package/dist/core/scouts/scout-output-validator.d.ts.map +1 -0
- package/dist/core/scouts/scout-output-validator.js +3 -0
- package/dist/core/scouts/scout-output-validator.js.map +1 -0
- package/dist/core/scouts/scout-plan.d.ts +40 -0
- package/dist/core/scouts/scout-plan.d.ts.map +1 -0
- package/dist/core/scouts/scout-plan.js +140 -0
- package/dist/core/scouts/scout-plan.js.map +1 -0
- package/dist/core/scouts/scout-proof-evidence.d.ts +30 -0
- package/dist/core/scouts/scout-proof-evidence.d.ts.map +1 -0
- package/dist/core/scouts/scout-proof-evidence.js +50 -0
- package/dist/core/scouts/scout-proof-evidence.js.map +1 -0
- package/dist/core/scouts/scout-readonly-guard.d.ts +16 -0
- package/dist/core/scouts/scout-readonly-guard.d.ts.map +1 -0
- package/dist/core/scouts/scout-readonly-guard.js +108 -0
- package/dist/core/scouts/scout-readonly-guard.js.map +1 -0
- package/dist/core/scouts/scout-runner.d.ts +314 -0
- package/dist/core/scouts/scout-runner.d.ts.map +1 -0
- package/dist/core/scouts/scout-runner.js +495 -0
- package/dist/core/scouts/scout-runner.js.map +1 -0
- package/dist/core/scouts/scout-schema.d.ts +21 -0
- package/dist/core/scouts/scout-schema.d.ts.map +1 -1
- package/dist/core/scouts/scout-schema.js +76 -0
- package/dist/core/scouts/scout-schema.js.map +1 -1
- package/dist/core/scouts/scout-triwiki.d.ts +14 -0
- package/dist/core/scouts/scout-triwiki.d.ts.map +1 -0
- package/dist/core/scouts/scout-triwiki.js +20 -0
- package/dist/core/scouts/scout-triwiki.js.map +1 -0
- package/dist/core/secret-redaction.d.ts +5 -0
- package/dist/core/secret-redaction.d.ts.map +1 -0
- package/dist/core/secret-redaction.js +71 -0
- package/dist/core/secret-redaction.js.map +1 -0
- package/dist/core/skill-forge.d.ts +431 -0
- package/dist/core/skill-forge.d.ts.map +1 -0
- package/dist/core/skill-forge.js +490 -0
- package/dist/core/skill-forge.js.map +1 -0
- package/dist/core/team-dag.d.ts +200 -0
- package/dist/core/team-dag.d.ts.map +1 -0
- package/dist/core/team-dag.js +511 -0
- package/dist/core/team-dag.js.map +1 -0
- package/dist/core/team-dashboard-renderer.d.ts +65 -0
- package/dist/core/team-dashboard-renderer.d.ts.map +1 -0
- package/dist/core/team-dashboard-renderer.js +104 -0
- package/dist/core/team-dashboard-renderer.js.map +1 -0
- package/dist/core/team-live.d.ts +202 -0
- package/dist/core/team-live.d.ts.map +1 -0
- package/dist/core/team-live.js +871 -0
- package/dist/core/team-live.js.map +1 -0
- package/dist/core/team-review-policy.d.ts +21 -0
- package/dist/core/team-review-policy.d.ts.map +1 -0
- package/dist/core/team-review-policy.js +47 -0
- package/dist/core/team-review-policy.js.map +1 -0
- package/dist/core/tmux-ui.d.ts +299 -0
- package/dist/core/tmux-ui.d.ts.map +1 -0
- package/dist/core/tmux-ui.js +1480 -0
- package/dist/core/tmux-ui.js.map +1 -0
- package/dist/core/triwiki-attention.d.ts +64 -0
- package/dist/core/triwiki-attention.d.ts.map +1 -0
- package/dist/core/triwiki-attention.js +341 -0
- package/dist/core/triwiki-attention.js.map +1 -0
- package/dist/core/triwiki-wrongness/avoidance-rules.d.ts +7 -0
- package/dist/core/triwiki-wrongness/avoidance-rules.d.ts.map +1 -0
- package/dist/core/triwiki-wrongness/avoidance-rules.js +15 -0
- package/dist/core/triwiki-wrongness/avoidance-rules.js.map +1 -0
- package/dist/core/triwiki-wrongness/image-wrongness.d.ts +21 -0
- package/dist/core/triwiki-wrongness/image-wrongness.d.ts.map +1 -0
- package/dist/core/triwiki-wrongness/image-wrongness.js +142 -0
- package/dist/core/triwiki-wrongness/image-wrongness.js.map +1 -0
- package/dist/core/triwiki-wrongness/validators.d.ts +4 -0
- package/dist/core/triwiki-wrongness/validators.d.ts.map +1 -0
- package/dist/core/triwiki-wrongness/validators.js +4 -0
- package/dist/core/triwiki-wrongness/validators.js.map +1 -0
- package/dist/core/triwiki-wrongness/wrongness-cli.d.ts +82 -0
- package/dist/core/triwiki-wrongness/wrongness-cli.d.ts.map +1 -0
- package/dist/core/triwiki-wrongness/wrongness-cli.js +197 -0
- package/dist/core/triwiki-wrongness/wrongness-cli.js.map +1 -0
- package/dist/core/triwiki-wrongness/wrongness-ledger.d.ts +47 -0
- package/dist/core/triwiki-wrongness/wrongness-ledger.d.ts.map +1 -0
- package/dist/core/triwiki-wrongness/wrongness-ledger.js +436 -0
- package/dist/core/triwiki-wrongness/wrongness-ledger.js.map +1 -0
- package/dist/core/triwiki-wrongness/wrongness-proof-linker.d.ts +26 -0
- package/dist/core/triwiki-wrongness/wrongness-proof-linker.d.ts.map +1 -0
- package/dist/core/triwiki-wrongness/wrongness-proof-linker.js +46 -0
- package/dist/core/triwiki-wrongness/wrongness-proof-linker.js.map +1 -0
- package/dist/core/triwiki-wrongness/wrongness-retrieval.d.ts +27 -0
- package/dist/core/triwiki-wrongness/wrongness-retrieval.d.ts.map +1 -0
- package/dist/core/triwiki-wrongness/wrongness-retrieval.js +72 -0
- package/dist/core/triwiki-wrongness/wrongness-retrieval.js.map +1 -0
- package/dist/core/triwiki-wrongness/wrongness-schema.d.ts +100 -0
- package/dist/core/triwiki-wrongness/wrongness-schema.d.ts.map +1 -0
- package/dist/core/triwiki-wrongness/wrongness-schema.js +288 -0
- package/dist/core/triwiki-wrongness/wrongness-schema.js.map +1 -0
- package/dist/core/triwiki-wrongness/wrongness-trust-policy.d.ts +14 -0
- package/dist/core/triwiki-wrongness/wrongness-trust-policy.d.ts.map +1 -0
- package/dist/core/triwiki-wrongness/wrongness-trust-policy.js +75 -0
- package/dist/core/triwiki-wrongness/wrongness-trust-policy.js.map +1 -0
- package/dist/core/trust-kernel/completion-contract.d.ts +5 -1
- package/dist/core/trust-kernel/completion-contract.d.ts.map +1 -1
- package/dist/core/trust-kernel/completion-contract.js +103 -1
- package/dist/core/trust-kernel/completion-contract.js.map +1 -1
- package/dist/core/trust-kernel/evidence-router.d.ts +2 -0
- package/dist/core/trust-kernel/evidence-router.d.ts.map +1 -0
- package/dist/core/trust-kernel/evidence-router.js +2 -0
- package/dist/core/trust-kernel/evidence-router.js.map +1 -0
- package/dist/core/trust-kernel/route-contract.d.ts +68 -11
- package/dist/core/trust-kernel/route-contract.d.ts.map +1 -1
- package/dist/core/trust-kernel/route-contract.js +85 -17
- package/dist/core/trust-kernel/route-contract.js.map +1 -1
- package/dist/core/trust-kernel/route-state-machine.d.ts +5 -9
- package/dist/core/trust-kernel/route-state-machine.d.ts.map +1 -1
- package/dist/core/trust-kernel/route-state-machine.js +34 -8
- package/dist/core/trust-kernel/route-state-machine.js.map +1 -1
- package/dist/core/trust-kernel/trust-kernel-schema.d.ts +5 -0
- package/dist/core/trust-kernel/trust-kernel-schema.d.ts.map +1 -1
- package/dist/core/trust-kernel/trust-kernel-schema.js +9 -1
- package/dist/core/trust-kernel/trust-kernel-schema.js.map +1 -1
- package/dist/core/trust-kernel/trust-report.d.ts +171 -14
- package/dist/core/trust-kernel/trust-report.d.ts.map +1 -1
- package/dist/core/trust-kernel/trust-report.js +174 -13
- package/dist/core/trust-kernel/trust-report.js.map +1 -1
- package/dist/core/trust-kernel/trust-status.d.ts +2 -2
- package/dist/core/trust-kernel/trust-status.d.ts.map +1 -1
- package/dist/core/trust-kernel/trust-status.js +19 -8
- package/dist/core/trust-kernel/trust-status.js.map +1 -1
- package/dist/core/validators/completion-proof-validator.d.ts +3 -0
- package/dist/core/validators/completion-proof-validator.d.ts.map +1 -0
- package/dist/core/validators/completion-proof-validator.js +8 -0
- package/dist/core/validators/completion-proof-validator.js.map +1 -0
- package/dist/core/validators/evidence-validator.d.ts +4 -0
- package/dist/core/validators/evidence-validator.d.ts.map +1 -0
- package/dist/core/validators/evidence-validator.js +19 -0
- package/dist/core/validators/evidence-validator.js.map +1 -0
- package/dist/core/validators/feature-fixture-validator.d.ts +3 -0
- package/dist/core/validators/feature-fixture-validator.d.ts.map +1 -0
- package/dist/core/validators/feature-fixture-validator.js +8 -0
- package/dist/core/validators/feature-fixture-validator.js.map +1 -0
- package/dist/core/validators/image-voxel-validator.d.ts +3 -0
- package/dist/core/validators/image-voxel-validator.d.ts.map +1 -0
- package/dist/core/validators/image-voxel-validator.js +8 -0
- package/dist/core/validators/image-voxel-validator.js.map +1 -0
- package/dist/core/validators/route-contract-validator.d.ts +3 -0
- package/dist/core/validators/route-contract-validator.d.ts.map +1 -0
- package/dist/core/validators/route-contract-validator.js +16 -0
- package/dist/core/validators/route-contract-validator.js.map +1 -0
- package/dist/core/validators/scout-result-validator.d.ts +3 -0
- package/dist/core/validators/scout-result-validator.d.ts.map +1 -0
- package/dist/core/validators/scout-result-validator.js +8 -0
- package/dist/core/validators/scout-result-validator.js.map +1 -0
- package/dist/core/validators/trust-report-validator.d.ts +3 -0
- package/dist/core/validators/trust-report-validator.d.ts.map +1 -0
- package/dist/core/validators/trust-report-validator.js +16 -0
- package/dist/core/validators/trust-report-validator.js.map +1 -0
- package/dist/core/validators/validation-error.d.ts +4 -0
- package/dist/core/validators/validation-error.d.ts.map +1 -0
- package/dist/core/validators/validation-error.js +7 -0
- package/dist/core/validators/validation-error.js.map +1 -0
- package/dist/core/version-manager.d.ts +166 -0
- package/dist/core/version-manager.d.ts.map +1 -0
- package/dist/core/version-manager.js +426 -0
- package/dist/core/version-manager.js.map +1 -0
- package/dist/core/version.d.ts +2 -0
- package/dist/core/version.d.ts.map +1 -0
- package/dist/core/version.js +2 -0
- package/dist/core/version.js.map +1 -0
- package/dist/core/wiki-coordinate.d.ts +135 -0
- package/dist/core/wiki-coordinate.d.ts.map +1 -0
- package/dist/core/wiki-coordinate.js +400 -0
- package/dist/core/wiki-coordinate.js.map +1 -0
- package/dist/core/wiki-image/bbox.d.ts +5 -0
- package/dist/core/wiki-image/bbox.d.ts.map +1 -0
- package/dist/core/wiki-image/bbox.js +19 -0
- package/dist/core/wiki-image/bbox.js.map +1 -0
- package/dist/core/wiki-image/before-after-relation.d.ts +2 -0
- package/dist/core/wiki-image/before-after-relation.d.ts.map +1 -0
- package/dist/core/wiki-image/before-after-relation.js +2 -0
- package/dist/core/wiki-image/before-after-relation.js.map +1 -0
- package/dist/core/wiki-image/callout-parser.d.ts +2 -0
- package/dist/core/wiki-image/callout-parser.d.ts.map +1 -0
- package/dist/core/wiki-image/callout-parser.js +17 -0
- package/dist/core/wiki-image/callout-parser.js.map +1 -0
- package/dist/core/wiki-image/computer-use-evidence.d.ts +2 -0
- package/dist/core/wiki-image/computer-use-evidence.d.ts.map +1 -0
- package/dist/core/wiki-image/computer-use-evidence.js +2 -0
- package/dist/core/wiki-image/computer-use-evidence.js.map +1 -0
- package/dist/core/wiki-image/computer-use-ledger.d.ts +17 -0
- package/dist/core/wiki-image/computer-use-ledger.d.ts.map +1 -0
- package/dist/core/wiki-image/computer-use-ledger.js +39 -0
- package/dist/core/wiki-image/computer-use-ledger.js.map +1 -0
- package/dist/core/wiki-image/generated-review-parser.d.ts +2 -0
- package/dist/core/wiki-image/generated-review-parser.d.ts.map +1 -0
- package/dist/core/wiki-image/generated-review-parser.js +2 -0
- package/dist/core/wiki-image/generated-review-parser.js.map +1 -0
- package/dist/core/wiki-image/image-hash.d.ts +11 -0
- package/dist/core/wiki-image/image-hash.d.ts.map +1 -0
- package/dist/core/wiki-image/image-hash.js +43 -0
- package/dist/core/wiki-image/image-hash.js.map +1 -0
- package/dist/core/wiki-image/image-relation.d.ts +3 -0
- package/dist/core/wiki-image/image-relation.d.ts.map +1 -0
- package/dist/core/wiki-image/image-relation.js +3 -0
- package/dist/core/wiki-image/image-relation.js.map +1 -0
- package/dist/core/wiki-image/image-ux-evidence.d.ts +2 -0
- package/dist/core/wiki-image/image-ux-evidence.d.ts.map +1 -0
- package/dist/core/wiki-image/image-ux-evidence.js +2 -0
- package/dist/core/wiki-image/image-ux-evidence.js.map +1 -0
- package/dist/core/wiki-image/image-voxel-ledger.d.ts +122 -0
- package/dist/core/wiki-image/image-voxel-ledger.d.ts.map +1 -0
- package/dist/core/wiki-image/image-voxel-ledger.js +146 -0
- package/dist/core/wiki-image/image-voxel-ledger.js.map +1 -0
- package/dist/core/wiki-image/image-voxel-schema.d.ts +13 -1
- package/dist/core/wiki-image/image-voxel-schema.d.ts.map +1 -1
- package/dist/core/wiki-image/image-voxel-schema.js +13 -0
- package/dist/core/wiki-image/image-voxel-schema.js.map +1 -1
- package/dist/core/wiki-image/ppt-image-evidence.d.ts +2 -0
- package/dist/core/wiki-image/ppt-image-evidence.d.ts.map +1 -0
- package/dist/core/wiki-image/ppt-image-evidence.js +2 -0
- package/dist/core/wiki-image/ppt-image-evidence.js.map +1 -0
- package/dist/core/wiki-image/proof-linker.d.ts +17 -0
- package/dist/core/wiki-image/proof-linker.d.ts.map +1 -0
- package/dist/core/wiki-image/proof-linker.js +12 -0
- package/dist/core/wiki-image/proof-linker.js.map +1 -0
- package/dist/core/wiki-image/route-image-evidence.d.ts +69 -0
- package/dist/core/wiki-image/route-image-evidence.d.ts.map +1 -0
- package/dist/core/wiki-image/route-image-evidence.js +101 -0
- package/dist/core/wiki-image/route-image-evidence.js.map +1 -0
- package/dist/core/wiki-image/validation.d.ts +11 -0
- package/dist/core/wiki-image/validation.d.ts.map +1 -0
- package/dist/core/wiki-image/validation.js +76 -0
- package/dist/core/wiki-image/validation.js.map +1 -0
- package/dist/core/wiki-image/visual-anchor.d.ts +45 -0
- package/dist/core/wiki-image/visual-anchor.d.ts.map +1 -0
- package/dist/core/wiki-image/visual-anchor.js +41 -0
- package/dist/core/wiki-image/visual-anchor.js.map +1 -0
- package/dist/core/work-order-ledger.d.ts +21 -0
- package/dist/core/work-order-ledger.d.ts.map +1 -0
- package/dist/core/work-order-ledger.js +54 -0
- package/dist/core/work-order-ledger.js.map +1 -0
- package/package.json +21 -16
- package/dist/cli/args.mjs +0 -49
- package/dist/cli/codex-app-command.mjs +0 -68
- package/dist/cli/command-registry.mjs +0 -133
- package/dist/cli/context7-command.mjs +0 -163
- package/dist/cli/feature-commands.mjs +0 -276
- package/dist/cli/help-fast.mjs +0 -31
- package/dist/cli/install-helpers.mjs +0 -2380
- package/dist/cli/main.mjs +0 -13
- package/dist/cli/openclaw-command.mjs +0 -83
- package/dist/cli/output.mjs +0 -9
- package/dist/cli/recallpulse-command.mjs +0 -157
- package/dist/cli/router.mjs +0 -29
- package/dist/commands/aliases.mjs +0 -2
- package/dist/commands/all-features.mjs +0 -6
- package/dist/commands/auto-review.mjs +0 -5
- package/dist/commands/autoresearch.mjs +0 -5
- package/dist/commands/bench.mjs +0 -5
- package/dist/commands/bootstrap.mjs +0 -2
- package/dist/commands/code-structure.mjs +0 -5
- package/dist/commands/codex-app.mjs +0 -30
- package/dist/commands/codex-lb.mjs +0 -105
- package/dist/commands/commands.mjs +0 -5
- package/dist/commands/commit-and-push.mjs +0 -5
- package/dist/commands/commit.mjs +0 -5
- package/dist/commands/computer-use.mjs +0 -5
- package/dist/commands/conflicts.mjs +0 -13
- package/dist/commands/context7.mjs +0 -5
- package/dist/commands/db.mjs +0 -6
- package/dist/commands/deps.mjs +0 -5
- package/dist/commands/dfix.mjs +0 -2
- package/dist/commands/doctor.mjs +0 -66
- package/dist/commands/dollar-commands.mjs +0 -2
- package/dist/commands/eval.mjs +0 -5
- package/dist/commands/features.mjs +0 -6
- package/dist/commands/fix-path.mjs +0 -2
- package/dist/commands/gc.mjs +0 -2
- package/dist/commands/goal.mjs +0 -5
- package/dist/commands/guard.mjs +0 -10
- package/dist/commands/gx.mjs +0 -5
- package/dist/commands/harness.mjs +0 -5
- package/dist/commands/help.mjs +0 -6
- package/dist/commands/hook.mjs +0 -6
- package/dist/commands/hooks.mjs +0 -6
- package/dist/commands/hproof.mjs +0 -5
- package/dist/commands/image-ux-review.mjs +0 -5
- package/dist/commands/init.mjs +0 -2
- package/dist/commands/mad-sks.mjs +0 -14
- package/dist/commands/memory.mjs +0 -5
- package/dist/commands/openclaw.mjs +0 -2
- package/dist/commands/paths.mjs +0 -5
- package/dist/commands/perf.mjs +0 -127
- package/dist/commands/pipeline.mjs +0 -5
- package/dist/commands/postinstall.mjs +0 -2
- package/dist/commands/ppt.mjs +0 -5
- package/dist/commands/profile.mjs +0 -5
- package/dist/commands/proof-field.mjs +0 -5
- package/dist/commands/proof.mjs +0 -124
- package/dist/commands/qa-loop.mjs +0 -5
- package/dist/commands/quickstart.mjs +0 -2
- package/dist/commands/reasoning.mjs +0 -2
- package/dist/commands/recallpulse.mjs +0 -6
- package/dist/commands/research.mjs +0 -5
- package/dist/commands/rollback.mjs +0 -5
- package/dist/commands/root.mjs +0 -24
- package/dist/commands/run.mjs +0 -5
- package/dist/commands/rust.mjs +0 -5
- package/dist/commands/scouts.mjs +0 -5
- package/dist/commands/selftest.mjs +0 -2
- package/dist/commands/setup.mjs +0 -2
- package/dist/commands/skill-dream.mjs +0 -5
- package/dist/commands/stats.mjs +0 -2
- package/dist/commands/status.mjs +0 -5
- package/dist/commands/team.mjs +0 -2
- package/dist/commands/tmux.mjs +0 -5
- package/dist/commands/trust.mjs +0 -5
- package/dist/commands/update-check.mjs +0 -2
- package/dist/commands/usage.mjs +0 -2
- package/dist/commands/validate-artifacts.mjs +0 -2
- package/dist/commands/version.mjs +0 -5
- package/dist/commands/versioning.mjs +0 -16
- package/dist/commands/wiki.mjs +0 -6
- package/dist/core/artifact-schemas.mjs +0 -261
- package/dist/core/auto-review.mjs +0 -212
- package/dist/core/bench.mjs +0 -148
- package/dist/core/code-structure.mjs +0 -102
- package/dist/core/codex-adapter.mjs +0 -55
- package/dist/core/codex-app.mjs +0 -681
- package/dist/core/codex-lb-circuit.mjs +0 -148
- package/dist/core/codex-model-guard.mjs +0 -50
- package/dist/core/commands/autoresearch-command.mjs +0 -5
- package/dist/core/commands/basic-cli.mjs +0 -315
- package/dist/core/commands/bench-command.mjs +0 -49
- package/dist/core/commands/code-structure-command.mjs +0 -18
- package/dist/core/commands/command-utils.mjs +0 -77
- package/dist/core/commands/computer-use-command.mjs +0 -78
- package/dist/core/commands/db-command.mjs +0 -91
- package/dist/core/commands/eval-command.mjs +0 -68
- package/dist/core/commands/gc-command.mjs +0 -28
- package/dist/core/commands/goal-command.mjs +0 -60
- package/dist/core/commands/gx-command.mjs +0 -99
- package/dist/core/commands/harness-command.mjs +0 -17
- package/dist/core/commands/hproof-command.mjs +0 -11
- package/dist/core/commands/image-ux-review-command.mjs +0 -83
- package/dist/core/commands/mad-sks-command.mjs +0 -129
- package/dist/core/commands/paths-command.mjs +0 -17
- package/dist/core/commands/perf-command.mjs +0 -33
- package/dist/core/commands/pipeline-command.mjs +0 -58
- package/dist/core/commands/ppt-command.mjs +0 -93
- package/dist/core/commands/profile-command.mjs +0 -15
- package/dist/core/commands/proof-field-command.mjs +0 -28
- package/dist/core/commands/qa-loop-command.mjs +0 -188
- package/dist/core/commands/recallpulse-command.mjs +0 -5
- package/dist/core/commands/research-command.mjs +0 -298
- package/dist/core/commands/rollback-command.mjs +0 -42
- package/dist/core/commands/run-command.mjs +0 -316
- package/dist/core/commands/rust-command.mjs +0 -76
- package/dist/core/commands/scouts-command.mjs +0 -287
- package/dist/core/commands/skill-dream-command.mjs +0 -40
- package/dist/core/commands/status-command.mjs +0 -51
- package/dist/core/commands/team-command.mjs +0 -336
- package/dist/core/commands/trust-command.mjs +0 -47
- package/dist/core/commands/validate-artifacts-command.mjs +0 -45
- package/dist/core/commands/wiki-command.mjs +0 -467
- package/dist/core/context7-client.mjs +0 -279
- package/dist/core/db-safety.mjs +0 -567
- package/dist/core/decision-contract.mjs +0 -176
- package/dist/core/decision-lattice.mjs +0 -481
- package/dist/core/dogfood-loop.mjs +0 -40
- package/dist/core/effort-orchestrator.mjs +0 -99
- package/dist/core/evaluation.mjs +0 -598
- package/dist/core/evidence/evidence-dedupe.mjs +0 -19
- package/dist/core/evidence/evidence-freshness.mjs +0 -34
- package/dist/core/evidence/evidence-proof-linker.mjs +0 -20
- package/dist/core/evidence/evidence-redaction.mjs +0 -9
- package/dist/core/evidence/evidence-router.mjs +0 -186
- package/dist/core/evidence/evidence-schema.mjs +0 -105
- package/dist/core/evidence/evidence-store.mjs +0 -73
- package/dist/core/feature-fixture-runner.mjs +0 -245
- package/dist/core/feature-fixtures.mjs +0 -215
- package/dist/core/feature-registry.mjs +0 -694
- package/dist/core/from-chat-img-forensics.mjs +0 -108
- package/dist/core/fsx.mjs +0 -362
- package/dist/core/git-simple.mjs +0 -118
- package/dist/core/goal-workflow.mjs +0 -133
- package/dist/core/gx-renderer.mjs +0 -391
- package/dist/core/harness-conflicts.mjs +0 -220
- package/dist/core/harness-guard.mjs +0 -230
- package/dist/core/hooks-runtime.mjs +0 -1237
- package/dist/core/hproof.mjs +0 -45
- package/dist/core/image-ux-review.mjs +0 -300
- package/dist/core/init.mjs +0 -1223
- package/dist/core/language-preference.mjs +0 -106
- package/dist/core/managed-paths.mjs +0 -65
- package/dist/core/memory-governor.mjs +0 -166
- package/dist/core/mission.mjs +0 -68
- package/dist/core/mistake-memory.mjs +0 -82
- package/dist/core/mistake-recall.mjs +0 -277
- package/dist/core/no-question-guard.mjs +0 -53
- package/dist/core/openclaw.mjs +0 -167
- package/dist/core/perf-bench.mjs +0 -197
- package/dist/core/permission-gates.mjs +0 -99
- package/dist/core/pipeline/active-context.mjs +0 -3
- package/dist/core/pipeline/pipeline-plan-writer.mjs +0 -8
- package/dist/core/pipeline/plan-schema.mjs +0 -4
- package/dist/core/pipeline/prompt-context-answer.mjs +0 -1
- package/dist/core/pipeline/prompt-context-computer-use.mjs +0 -1
- package/dist/core/pipeline/prompt-context-dfix.mjs +0 -1
- package/dist/core/pipeline/prompt-context.mjs +0 -6
- package/dist/core/pipeline/route-prep-db.mjs +0 -1
- package/dist/core/pipeline/route-prep-gx.mjs +0 -1
- package/dist/core/pipeline/route-prep-image-ux.mjs +0 -1
- package/dist/core/pipeline/route-prep-ppt.mjs +0 -1
- package/dist/core/pipeline/route-prep-qa.mjs +0 -1
- package/dist/core/pipeline/route-prep-research.mjs +0 -1
- package/dist/core/pipeline/route-prep-team.mjs +0 -1
- package/dist/core/pipeline/route-prep.mjs +0 -3
- package/dist/core/pipeline/scout-stage-policy.mjs +0 -4
- package/dist/core/pipeline/stage-policy.mjs +0 -4
- package/dist/core/pipeline/stop-gate-context7.mjs +0 -5
- package/dist/core/pipeline/stop-gate-proof.mjs +0 -4
- package/dist/core/pipeline/stop-gate-subagents.mjs +0 -5
- package/dist/core/pipeline/stop-gate.mjs +0 -10
- package/dist/core/pipeline/validation.mjs +0 -3
- package/dist/core/pipeline-internals/runtime-core.mjs +0 -1197
- package/dist/core/pipeline-internals/runtime-gates.mjs +0 -523
- package/dist/core/pipeline-runtime.mjs +0 -22
- package/dist/core/pipeline.mjs +0 -34
- package/dist/core/ppt.mjs +0 -1457
- package/dist/core/prompt-context-builder.mjs +0 -38
- package/dist/core/proof/auto-finalize.mjs +0 -81
- package/dist/core/proof/claim-ledger.mjs +0 -9
- package/dist/core/proof/command-ledger.mjs +0 -17
- package/dist/core/proof/evidence-collector.mjs +0 -33
- package/dist/core/proof/file-change-ledger.mjs +0 -6
- package/dist/core/proof/proof-reader.mjs +0 -30
- package/dist/core/proof/proof-redaction.test-helper.mjs +0 -9
- package/dist/core/proof/proof-schema.mjs +0 -43
- package/dist/core/proof/proof-writer.mjs +0 -84
- package/dist/core/proof/route-adapter.mjs +0 -97
- package/dist/core/proof/route-finalizer-fixtures.mjs +0 -21
- package/dist/core/proof/route-finalizer-policy.mjs +0 -13
- package/dist/core/proof/route-finalizer.mjs +0 -86
- package/dist/core/proof/route-proof-gate.mjs +0 -43
- package/dist/core/proof/route-proof-policy.mjs +0 -97
- package/dist/core/proof/selftest-proof-fixtures.mjs +0 -54
- package/dist/core/proof/validation.mjs +0 -20
- package/dist/core/proof-field.mjs +0 -453
- package/dist/core/qa-loop.mjs +0 -366
- package/dist/core/questions.mjs +0 -606
- package/dist/core/recallpulse.mjs +0 -1215
- package/dist/core/research.mjs +0 -999
- package/dist/core/retention.mjs +0 -247
- package/dist/core/routes.mjs +0 -951
- package/dist/core/rust-accelerator.mjs +0 -140
- package/dist/core/scouts/engines/codex-app-subagent-engine.mjs +0 -70
- package/dist/core/scouts/engines/codex-exec-parallel-engine.mjs +0 -66
- package/dist/core/scouts/engines/local-static-engine.mjs +0 -10
- package/dist/core/scouts/engines/scout-engine-base.mjs +0 -122
- package/dist/core/scouts/engines/scout-engine-detect.mjs +0 -67
- package/dist/core/scouts/engines/scout-engine-policy.mjs +0 -76
- package/dist/core/scouts/engines/sequential-fallback-engine.mjs +0 -10
- package/dist/core/scouts/engines/tmux-lane-cleanup.mjs +0 -16
- package/dist/core/scouts/engines/tmux-lane-engine.mjs +0 -76
- package/dist/core/scouts/engines/tmux-lane-watcher.mjs +0 -26
- package/dist/core/scouts/scout-artifacts.mjs +0 -95
- package/dist/core/scouts/scout-consensus.mjs +0 -134
- package/dist/core/scouts/scout-gate.mjs +0 -75
- package/dist/core/scouts/scout-output-fixtures.mjs +0 -27
- package/dist/core/scouts/scout-output-normalizer.mjs +0 -4
- package/dist/core/scouts/scout-output-parser.mjs +0 -266
- package/dist/core/scouts/scout-output-validator.mjs +0 -3
- package/dist/core/scouts/scout-plan.mjs +0 -149
- package/dist/core/scouts/scout-proof-evidence.mjs +0 -49
- package/dist/core/scouts/scout-readonly-guard.mjs +0 -101
- package/dist/core/scouts/scout-runner.mjs +0 -515
- package/dist/core/scouts/scout-schema.mjs +0 -81
- package/dist/core/scouts/scout-triwiki.mjs +0 -19
- package/dist/core/secret-redaction.mjs +0 -69
- package/dist/core/skill-forge.mjs +0 -504
- package/dist/core/team-dag.mjs +0 -488
- package/dist/core/team-dashboard-renderer.mjs +0 -102
- package/dist/core/team-live.mjs +0 -866
- package/dist/core/team-review-policy.mjs +0 -49
- package/dist/core/tmux-ui.mjs +0 -1433
- package/dist/core/triwiki-attention.mjs +0 -344
- package/dist/core/trust-kernel/completion-contract.mjs +0 -46
- package/dist/core/trust-kernel/evidence-router.mjs +0 -4
- package/dist/core/trust-kernel/route-contract.mjs +0 -66
- package/dist/core/trust-kernel/route-state-machine.mjs +0 -29
- package/dist/core/trust-kernel/trust-kernel-schema.mjs +0 -23
- package/dist/core/trust-kernel/trust-report.mjs +0 -162
- package/dist/core/trust-kernel/trust-status.mjs +0 -16
- package/dist/core/version-manager.mjs +0 -411
- package/dist/core/version.mjs +0 -1
- package/dist/core/wiki-coordinate.mjs +0 -381
- package/dist/core/wiki-image/bbox.mjs +0 -10
- package/dist/core/wiki-image/before-after-relation.mjs +0 -1
- package/dist/core/wiki-image/callout-parser.mjs +0 -16
- package/dist/core/wiki-image/computer-use-evidence.mjs +0 -1
- package/dist/core/wiki-image/computer-use-ledger.mjs +0 -38
- package/dist/core/wiki-image/generated-review-parser.mjs +0 -1
- package/dist/core/wiki-image/image-hash.mjs +0 -42
- package/dist/core/wiki-image/image-relation.mjs +0 -2
- package/dist/core/wiki-image/image-ux-evidence.mjs +0 -1
- package/dist/core/wiki-image/image-voxel-ledger.mjs +0 -154
- package/dist/core/wiki-image/image-voxel-schema.mjs +0 -16
- package/dist/core/wiki-image/ppt-image-evidence.mjs +0 -1
- package/dist/core/wiki-image/proof-linker.mjs +0 -12
- package/dist/core/wiki-image/route-image-evidence.mjs +0 -107
- package/dist/core/wiki-image/validation.mjs +0 -55
- package/dist/core/wiki-image/visual-anchor.mjs +0 -42
- package/dist/core/work-order-ledger.mjs +0 -57
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
import fsp from 'node:fs/promises';
|
|
2
|
-
import path from 'node:path';
|
|
3
|
-
import { missionDir } from '../mission.mjs';
|
|
4
|
-
import { exists, readText, rel, sha256 } from '../fsx.mjs';
|
|
5
|
-
import { routeRequiresImageVoxelAnchors } from '../proof/route-proof-policy.mjs';
|
|
6
|
-
import { evidenceHasPlaintextSecret, redactEvidence } from './evidence-redaction.mjs';
|
|
7
|
-
import { createEvidenceRecord, validateEvidenceRecord } from './evidence-schema.mjs';
|
|
8
|
-
import { dedupeEvidence } from './evidence-dedupe.mjs';
|
|
9
|
-
import { fileFreshness, lastJsonlEventTime } from './evidence-freshness.mjs';
|
|
10
|
-
import { writeEvidenceIndex } from './evidence-store.mjs';
|
|
11
|
-
|
|
12
|
-
export async function writeEvidenceIndexForProof(root, proof = {}, opts = {}) {
|
|
13
|
-
const missionId = proof.mission_id || opts.missionId || null;
|
|
14
|
-
const route = proof.route || opts.route || null;
|
|
15
|
-
const staleAfter = missionId ? await lastJsonlEventTime(path.join(missionDir(root, missionId), 'events.jsonl')) : null;
|
|
16
|
-
const candidates = await evidenceCandidatesForProof(root, proof, { missionId, route });
|
|
17
|
-
const records = [];
|
|
18
|
-
const issues = [];
|
|
19
|
-
for (const candidate of candidates) {
|
|
20
|
-
const record = await evidenceRecordForCandidate(root, candidate, { missionId, staleAfter, proof });
|
|
21
|
-
if (!record) continue;
|
|
22
|
-
const validation = validateEvidenceRecord(record);
|
|
23
|
-
if (!validation.ok) record.issues.push(...validation.issues);
|
|
24
|
-
if (record.issues.length) issues.push(...record.issues.map((issue) => `${record.path || record.id}:${issue}`));
|
|
25
|
-
records.push(record);
|
|
26
|
-
}
|
|
27
|
-
const deduped = dedupeEvidence(records);
|
|
28
|
-
const status = evidenceStatus(deduped, issues);
|
|
29
|
-
return writeEvidenceIndex(root, {
|
|
30
|
-
missionId,
|
|
31
|
-
route,
|
|
32
|
-
records: deduped.map(redactEvidence),
|
|
33
|
-
issues: [...new Set(issues)],
|
|
34
|
-
status
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export async function evidenceCandidatesForProof(root, proof = {}, opts = {}) {
|
|
39
|
-
const missionId = opts.missionId || proof.mission_id || null;
|
|
40
|
-
const route = opts.route || proof.route || null;
|
|
41
|
-
const candidates = [];
|
|
42
|
-
if (missionId) {
|
|
43
|
-
candidates.push({ kind: 'proof', relPath: `.sneakoscope/missions/${missionId}/completion-proof.json`, source: sourceForProof(proof) });
|
|
44
|
-
candidates.push({ kind: 'route_contract', relPath: `.sneakoscope/missions/${missionId}/route-completion-contract.json`, source: 'real', optional: true });
|
|
45
|
-
candidates.push({ kind: 'trust_report', relPath: `.sneakoscope/missions/${missionId}/trust-report.json`, source: 'real', optional: true });
|
|
46
|
-
}
|
|
47
|
-
addArtifactCandidates(candidates, proof.evidence?.artifacts, missionId);
|
|
48
|
-
addGateCandidate(candidates, proof.evidence?.route_gate, missionId);
|
|
49
|
-
addScoutCandidates(candidates, proof.evidence?.scouts);
|
|
50
|
-
addDbCandidates(candidates, proof.evidence?.db || proof.evidence?.db_safety, missionId);
|
|
51
|
-
addTestCandidates(candidates, proof.evidence?.tests, missionId);
|
|
52
|
-
if (missionId && routeRequiresImageVoxelAnchors(route)) {
|
|
53
|
-
candidates.push({ kind: 'image_voxel', relPath: `.sneakoscope/missions/${missionId}/image-voxel-ledger.json`, source: proof.evidence?.image_voxels?.mock ? 'mock' : sourceForProof(proof) });
|
|
54
|
-
}
|
|
55
|
-
return uniqueCandidates(candidates).filter((candidate) => candidate.relPath);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
async function evidenceRecordForCandidate(root, candidate, { missionId, staleAfter, proof }) {
|
|
59
|
-
const relPath = normalizeRelPath(candidate.relPath, missionId, root);
|
|
60
|
-
const absolute = path.resolve(root, relPath);
|
|
61
|
-
const freshness = await fileFreshness(absolute, { staleAfter });
|
|
62
|
-
if (candidate.optional && !freshness.exists) return null;
|
|
63
|
-
const issues = candidate.optional && !freshness.exists ? [] : [...freshness.issues];
|
|
64
|
-
let digest = null;
|
|
65
|
-
let secret = false;
|
|
66
|
-
if (freshness.exists) {
|
|
67
|
-
const data = await fsp.readFile(absolute);
|
|
68
|
-
digest = sha256(data);
|
|
69
|
-
const text = isTextEvidence(relPath) ? await readText(absolute, '') : '';
|
|
70
|
-
secret = text ? evidenceHasPlaintextSecret(text) : false;
|
|
71
|
-
if (secret) issues.push('plaintext_secret');
|
|
72
|
-
} else if (!candidate.optional) {
|
|
73
|
-
issues.push('required_evidence_path_missing');
|
|
74
|
-
}
|
|
75
|
-
const source = issues.includes('required_evidence_path_missing') ? 'blocked' : normalizeSource(candidate.source || sourceForPath(relPath, proof));
|
|
76
|
-
const blocked = issues.includes('plaintext_secret') || issues.includes('stale') || issues.includes('required_evidence_path_missing');
|
|
77
|
-
return createEvidenceRecord({
|
|
78
|
-
mission_id: missionId,
|
|
79
|
-
kind: candidate.kind,
|
|
80
|
-
source,
|
|
81
|
-
path: relPath,
|
|
82
|
-
sha256: digest,
|
|
83
|
-
freshness: freshness.freshness,
|
|
84
|
-
blocked,
|
|
85
|
-
issues
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
function addArtifactCandidates(candidates, artifacts = [], missionId = null) {
|
|
90
|
-
for (const artifact of artifacts || []) {
|
|
91
|
-
const relPath = typeof artifact === 'string' ? artifact : artifact?.path;
|
|
92
|
-
if (!relPath) continue;
|
|
93
|
-
candidates.push({ kind: inferKind(relPath), relPath: normalizeRelPath(relPath, missionId), source: sourceForPath(relPath) });
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
function addGateCandidate(candidates, gate = null, missionId = null) {
|
|
98
|
-
const relPath = typeof gate === 'string' ? gate : gate?.source || gate?.path || null;
|
|
99
|
-
if (relPath) candidates.push({ kind: 'route_gate', relPath: normalizeRelPath(relPath, missionId), source: 'real' });
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
function addScoutCandidates(candidates, scouts = null) {
|
|
103
|
-
if (!scouts || scouts.required === false) return;
|
|
104
|
-
for (const key of ['consensus', 'handoff', 'gate_file', 'performance', 'engine_result']) {
|
|
105
|
-
if (scouts[key]) candidates.push({ kind: 'scout', relPath: scouts[key], source: scouts.real_parallel ? 'real' : 'fixture' });
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
function addDbCandidates(candidates, db = null, missionId = null) {
|
|
110
|
-
const rows = Array.isArray(db) ? db : [db].filter(Boolean);
|
|
111
|
-
for (const row of rows) {
|
|
112
|
-
const relPath = row?.path || row?.report || row?.evidence || null;
|
|
113
|
-
if (relPath) candidates.push({ kind: 'db_safety', relPath: normalizeRelPath(relPath, missionId), source: sourceForPath(relPath) });
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
function addTestCandidates(candidates, tests = null, missionId = null) {
|
|
118
|
-
const rows = Array.isArray(tests) ? tests : [tests].filter(Boolean);
|
|
119
|
-
for (const row of rows) {
|
|
120
|
-
const relPath = row?.path || row?.report || row?.evidence || null;
|
|
121
|
-
if (relPath) candidates.push({ kind: 'test', relPath: normalizeRelPath(relPath, missionId), source: sourceForPath(relPath) });
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
function uniqueCandidates(candidates) {
|
|
126
|
-
const seen = new Set();
|
|
127
|
-
const out = [];
|
|
128
|
-
for (const candidate of candidates) {
|
|
129
|
-
const key = `${candidate.kind}:${candidate.relPath}`;
|
|
130
|
-
if (seen.has(key)) continue;
|
|
131
|
-
seen.add(key);
|
|
132
|
-
out.push(candidate);
|
|
133
|
-
}
|
|
134
|
-
return out;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
function normalizeRelPath(value = '', missionId = null, root = process.cwd()) {
|
|
138
|
-
const raw = String(value || '').trim();
|
|
139
|
-
if (!raw) return raw;
|
|
140
|
-
if (path.isAbsolute(raw)) return rel(root, raw);
|
|
141
|
-
if (raw.startsWith('.sneakoscope/')) return raw;
|
|
142
|
-
if (missionId && !raw.includes('/')) return `.sneakoscope/missions/${missionId}/${raw}`;
|
|
143
|
-
return raw.replace(/^\.\//, '');
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
function sourceForProof(proof = {}) {
|
|
147
|
-
const hay = JSON.stringify([proof.unverified, proof.claims, proof.evidence?.image_voxels]);
|
|
148
|
-
if (/static_contract/i.test(hay)) return 'static_contract';
|
|
149
|
-
if (/mock/i.test(hay)) return 'mock';
|
|
150
|
-
if (/fixture/i.test(hay)) return 'fixture';
|
|
151
|
-
return 'real';
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
function sourceForPath(relPath = '', proof = {}) {
|
|
155
|
-
const hay = `${relPath} ${JSON.stringify(proof?.unverified || [])}`;
|
|
156
|
-
if (/test\/fixtures|fixture/i.test(hay)) return 'fixture';
|
|
157
|
-
if (/mock/i.test(hay)) return 'mock';
|
|
158
|
-
if (/static[-_]?contract/i.test(hay)) return 'static_contract';
|
|
159
|
-
return 'real';
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
function normalizeSource(source) {
|
|
163
|
-
return ['real', 'mock', 'static_contract', 'fixture', 'blocked'].includes(source) ? source : 'real';
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
function inferKind(relPath = '') {
|
|
167
|
-
if (/completion-proof\.json$/.test(relPath)) return 'proof';
|
|
168
|
-
if (/route-completion-contract\.json$/.test(relPath)) return 'route_contract';
|
|
169
|
-
if (/trust-report\.json$/.test(relPath)) return 'trust_report';
|
|
170
|
-
if (/image-voxel-ledger\.json$|visual-anchors\.json$|image-assets\.json$/.test(relPath)) return 'image_voxel';
|
|
171
|
-
if (/scout/.test(relPath)) return 'scout';
|
|
172
|
-
if (/db/.test(relPath)) return 'db_safety';
|
|
173
|
-
if (/blackbox|npx|global-shim|pack-install/.test(relPath)) return 'blackbox';
|
|
174
|
-
if (/test|gate|report/.test(relPath)) return 'test';
|
|
175
|
-
return 'artifact';
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
function isTextEvidence(relPath = '') {
|
|
179
|
-
return /\.(json|jsonl|md|txt|log|mjs|js|ts|tsx|jsx|html|css|toml|yml|yaml)$/i.test(relPath);
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
function evidenceStatus(records = [], issues = []) {
|
|
183
|
-
if (records.some((record) => record.trust === 'blocked') || issues.some((issue) => /required_evidence_path_missing|plaintext_secret|stale/.test(issue))) return 'blocked';
|
|
184
|
-
if (records.some((record) => record.source !== 'real' || record.trust !== 'high')) return 'verified_partial';
|
|
185
|
-
return records.length ? 'verified' : 'not_verified';
|
|
186
|
-
}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { nowIso, randomId } from '../fsx.mjs';
|
|
2
|
-
|
|
3
|
-
export const EVIDENCE_SCHEMA = 'sks.evidence.v1';
|
|
4
|
-
export const EVIDENCE_INDEX_SCHEMA = 'sks.evidence-index.v1';
|
|
5
|
-
export const PROJECT_EVIDENCE_INDEX_SCHEMA = 'sks.project-evidence-index.v1';
|
|
6
|
-
|
|
7
|
-
export const EVIDENCE_KINDS = Object.freeze([
|
|
8
|
-
'scout',
|
|
9
|
-
'image_voxel',
|
|
10
|
-
'db_safety',
|
|
11
|
-
'hook',
|
|
12
|
-
'codex_lb',
|
|
13
|
-
'test',
|
|
14
|
-
'file_change',
|
|
15
|
-
'command',
|
|
16
|
-
'rust',
|
|
17
|
-
'blackbox',
|
|
18
|
-
'proof',
|
|
19
|
-
'route_contract',
|
|
20
|
-
'trust_report',
|
|
21
|
-
'route_gate',
|
|
22
|
-
'artifact'
|
|
23
|
-
]);
|
|
24
|
-
|
|
25
|
-
export const EVIDENCE_SOURCES = Object.freeze([
|
|
26
|
-
'real',
|
|
27
|
-
'mock',
|
|
28
|
-
'static_contract',
|
|
29
|
-
'fixture',
|
|
30
|
-
'blocked'
|
|
31
|
-
]);
|
|
32
|
-
|
|
33
|
-
export const EVIDENCE_FRESHNESS = Object.freeze([
|
|
34
|
-
'fresh',
|
|
35
|
-
'stale',
|
|
36
|
-
'unknown'
|
|
37
|
-
]);
|
|
38
|
-
|
|
39
|
-
export const EVIDENCE_TRUST = Object.freeze([
|
|
40
|
-
'high',
|
|
41
|
-
'medium',
|
|
42
|
-
'low',
|
|
43
|
-
'blocked'
|
|
44
|
-
]);
|
|
45
|
-
|
|
46
|
-
export function evidenceId(kind = 'artifact') {
|
|
47
|
-
return `EV-${String(kind || 'artifact').replace(/[^A-Za-z0-9]+/g, '-').replace(/^-|-$/g, '').toUpperCase() || 'ART'}-${randomId(8)}`;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export function normalizeEvidenceKind(kind = 'artifact') {
|
|
51
|
-
return EVIDENCE_KINDS.includes(kind) ? kind : 'artifact';
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export function normalizeEvidenceSource(source = 'real') {
|
|
55
|
-
return EVIDENCE_SOURCES.includes(source) ? source : 'real';
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
export function normalizeEvidenceFreshness(freshness = 'unknown') {
|
|
59
|
-
return EVIDENCE_FRESHNESS.includes(freshness) ? freshness : 'unknown';
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
export function normalizeEvidenceTrust(trust = 'low') {
|
|
63
|
-
return EVIDENCE_TRUST.includes(trust) ? trust : 'low';
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
export function createEvidenceRecord(input = {}) {
|
|
67
|
-
const source = normalizeEvidenceSource(input.source);
|
|
68
|
-
const freshness = normalizeEvidenceFreshness(input.freshness);
|
|
69
|
-
return {
|
|
70
|
-
schema: EVIDENCE_SCHEMA,
|
|
71
|
-
id: input.id || evidenceId(input.kind),
|
|
72
|
-
mission_id: input.mission_id || null,
|
|
73
|
-
kind: normalizeEvidenceKind(input.kind),
|
|
74
|
-
source,
|
|
75
|
-
path: input.path || null,
|
|
76
|
-
sha256: input.sha256 || null,
|
|
77
|
-
created_at: input.created_at || nowIso(),
|
|
78
|
-
freshness,
|
|
79
|
-
trust: normalizeEvidenceTrust(input.trust || trustForEvidence({ source, freshness, blocked: input.blocked })),
|
|
80
|
-
redacted: input.redacted !== false,
|
|
81
|
-
issues: Array.isArray(input.issues) ? input.issues : []
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
export function trustForEvidence({ source = 'real', freshness = 'unknown', blocked = false } = {}) {
|
|
86
|
-
if (blocked || source === 'blocked') return 'blocked';
|
|
87
|
-
if (freshness === 'stale') return 'blocked';
|
|
88
|
-
if (source === 'mock' || source === 'static_contract') return 'low';
|
|
89
|
-
if (source === 'fixture') return 'medium';
|
|
90
|
-
return freshness === 'fresh' ? 'high' : 'medium';
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
export function validateEvidenceRecord(record = {}) {
|
|
94
|
-
const issues = [];
|
|
95
|
-
if (record.schema !== EVIDENCE_SCHEMA) issues.push('schema');
|
|
96
|
-
if (!record.id) issues.push('id');
|
|
97
|
-
if (!EVIDENCE_KINDS.includes(record.kind)) issues.push('kind');
|
|
98
|
-
if (!EVIDENCE_SOURCES.includes(record.source)) issues.push('source');
|
|
99
|
-
if (!EVIDENCE_FRESHNESS.includes(record.freshness)) issues.push('freshness');
|
|
100
|
-
if (!EVIDENCE_TRUST.includes(record.trust)) issues.push('trust');
|
|
101
|
-
if (record.path && !record.sha256) issues.push('sha256');
|
|
102
|
-
if ((record.source === 'mock' || record.source === 'static_contract') && record.trust === 'high') issues.push('mock_high_trust');
|
|
103
|
-
if (record.freshness === 'stale' && record.trust !== 'blocked') issues.push('stale_not_blocked');
|
|
104
|
-
return { ok: issues.length === 0, issues };
|
|
105
|
-
}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import path from 'node:path';
|
|
2
|
-
import { appendJsonl, ensureDir, exists, nowIso, readJson, writeJsonAtomic } from '../fsx.mjs';
|
|
3
|
-
import { missionDir } from '../mission.mjs';
|
|
4
|
-
import { EVIDENCE_INDEX_SCHEMA, PROJECT_EVIDENCE_INDEX_SCHEMA } from './evidence-schema.mjs';
|
|
5
|
-
|
|
6
|
-
export function missionEvidenceIndexPath(root, missionId) {
|
|
7
|
-
return path.join(missionDir(root, missionId), 'evidence-index.json');
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export function missionEvidenceJsonlPath(root, missionId) {
|
|
11
|
-
return path.join(missionDir(root, missionId), 'evidence.jsonl');
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export function projectEvidenceIndexPath(root) {
|
|
15
|
-
return path.join(root, '.sneakoscope', 'evidence', 'project-index.json');
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export async function readEvidenceIndex(root, missionId) {
|
|
19
|
-
const file = missionEvidenceIndexPath(root, missionId);
|
|
20
|
-
if (!missionId || !(await exists(file))) return null;
|
|
21
|
-
return readJson(file, null);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export async function writeEvidenceIndex(root, {
|
|
25
|
-
missionId,
|
|
26
|
-
route = null,
|
|
27
|
-
records = [],
|
|
28
|
-
issues = [],
|
|
29
|
-
status = 'not_verified'
|
|
30
|
-
} = {}) {
|
|
31
|
-
const index = {
|
|
32
|
-
schema: EVIDENCE_INDEX_SCHEMA,
|
|
33
|
-
generated_at: nowIso(),
|
|
34
|
-
mission_id: missionId || null,
|
|
35
|
-
route,
|
|
36
|
-
status,
|
|
37
|
-
ok: issues.length === 0 && status !== 'blocked' && status !== 'failed',
|
|
38
|
-
records,
|
|
39
|
-
issues
|
|
40
|
-
};
|
|
41
|
-
if (missionId) {
|
|
42
|
-
await ensureDir(missionDir(root, missionId));
|
|
43
|
-
await writeJsonAtomic(missionEvidenceIndexPath(root, missionId), index);
|
|
44
|
-
for (const record of records) await appendJsonl(missionEvidenceJsonlPath(root, missionId), record);
|
|
45
|
-
}
|
|
46
|
-
await appendProjectEvidenceIndex(root, index);
|
|
47
|
-
return index;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
async function appendProjectEvidenceIndex(root, index) {
|
|
51
|
-
const file = projectEvidenceIndexPath(root);
|
|
52
|
-
const current = await readJson(file, {
|
|
53
|
-
schema: PROJECT_EVIDENCE_INDEX_SCHEMA,
|
|
54
|
-
generated_at: nowIso(),
|
|
55
|
-
missions: []
|
|
56
|
-
});
|
|
57
|
-
const missions = [
|
|
58
|
-
...(current.missions || []).filter((row) => row.mission_id !== index.mission_id),
|
|
59
|
-
{
|
|
60
|
-
mission_id: index.mission_id,
|
|
61
|
-
route: index.route,
|
|
62
|
-
status: index.status,
|
|
63
|
-
ok: index.ok,
|
|
64
|
-
evidence_count: index.records?.length || 0,
|
|
65
|
-
generated_at: index.generated_at
|
|
66
|
-
}
|
|
67
|
-
].slice(-200);
|
|
68
|
-
await writeJsonAtomic(file, {
|
|
69
|
-
schema: PROJECT_EVIDENCE_INDEX_SCHEMA,
|
|
70
|
-
generated_at: nowIso(),
|
|
71
|
-
missions
|
|
72
|
-
});
|
|
73
|
-
}
|
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
import fs from 'node:fs';
|
|
2
|
-
import os from 'node:os';
|
|
3
|
-
import path from 'node:path';
|
|
4
|
-
import { spawnSync } from 'node:child_process';
|
|
5
|
-
|
|
6
|
-
export function runFeatureFixture(feature, {
|
|
7
|
-
root = process.cwd(),
|
|
8
|
-
tempRoot = fs.mkdtempSync(path.join(os.tmpdir(), 'sks-feature-fixture-')),
|
|
9
|
-
execute = false,
|
|
10
|
-
validateArtifacts = false,
|
|
11
|
-
commandArgs = null
|
|
12
|
-
} = {}) {
|
|
13
|
-
const fixture = feature.fixture || {};
|
|
14
|
-
const expected = normalizeExpectedArtifacts(fixture.expected_artifacts);
|
|
15
|
-
const useHermeticRoot = fixture.root_mode !== 'source_checkout_required' && (execute || validateArtifacts || fixture.kind === 'execute_and_validate_artifacts');
|
|
16
|
-
const projectRoot = useHermeticRoot ? prepareHermeticFixtureRoot(root, tempRoot) : root;
|
|
17
|
-
const latestBefore = latestMissionId(projectRoot);
|
|
18
|
-
const execution = execute && commandArgs ? executeCommand(root, projectRoot, commandArgs, fixture) : null;
|
|
19
|
-
const latestAfter = execution?.mission_id || latestMissionId(projectRoot) || latestBefore;
|
|
20
|
-
const shouldValidateArtifacts = validateArtifacts && (fixture.kind === 'execute_and_validate_artifacts' || execution);
|
|
21
|
-
const artifacts = shouldValidateArtifacts
|
|
22
|
-
? expected.map((artifact) => inspectExpectedArtifact(projectRoot, tempRoot, artifact, { latestMissionId: latestAfter }))
|
|
23
|
-
: expected.map((artifact) => ({ path: artifact.path, requested_path: artifact.path, schema: artifact.schema || inferSchema(artifact.path), exists: null, schema_ok: null, content_ok: null, skipped: 'contract_only' }));
|
|
24
|
-
const artifactFailures = shouldValidateArtifacts
|
|
25
|
-
? artifacts.filter((artifact) => !artifact.exists || !artifact.schema_ok || !artifact.content_ok).map((artifact) => `${feature.id}:${artifact.path}:${artifact.failure || 'artifact_invalid'}`)
|
|
26
|
-
: [];
|
|
27
|
-
return {
|
|
28
|
-
id: feature.id,
|
|
29
|
-
kind: fixture.kind || 'static',
|
|
30
|
-
command: fixture.command || null,
|
|
31
|
-
temp_root: useHermeticRoot ? projectRoot : tempRoot,
|
|
32
|
-
root_mode: useHermeticRoot ? 'hermetic_temp_project' : 'source_checkout_required',
|
|
33
|
-
latest_mission_id: latestAfter,
|
|
34
|
-
executed: Boolean(execution),
|
|
35
|
-
execution,
|
|
36
|
-
expected_artifacts: artifacts,
|
|
37
|
-
artifact_schema_validated: validateArtifacts,
|
|
38
|
-
no_plaintext_secrets: validateNoPlaintextSecrets(projectRoot),
|
|
39
|
-
ok: (!execution || execution.ok) && artifactFailures.length === 0 && validateNoPlaintextSecrets(projectRoot) && !(validateArtifacts && fixture.kind === 'execute_and_validate_artifacts' && expected.length && !execution),
|
|
40
|
-
failures: [
|
|
41
|
-
...(!fixture.command && fixture.status === 'pass' ? [`${feature.id}:fixture_command_missing`] : []),
|
|
42
|
-
...(validateArtifacts && fixture.kind === 'execute_and_validate_artifacts' && expected.length && !execution ? [`${feature.id}:command_not_executed_for_artifact_validation`] : []),
|
|
43
|
-
...(execution && !execution.ok ? [`${feature.id}:command_exit_${execution.status}`] : []),
|
|
44
|
-
...(validateNoPlaintextSecrets(projectRoot) ? [] : [`${feature.id}:plaintext_secret_detected`]),
|
|
45
|
-
...artifactFailures
|
|
46
|
-
]
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export function writeFeatureFixtureReports(root, report) {
|
|
51
|
-
const reportDir = path.join(root, '.sneakoscope', 'reports');
|
|
52
|
-
fs.mkdirSync(reportDir, { recursive: true });
|
|
53
|
-
const jsonPath = path.join(reportDir, 'feature-fixtures.json');
|
|
54
|
-
const mdPath = path.join(reportDir, 'feature-fixtures.md');
|
|
55
|
-
fs.writeFileSync(jsonPath, `${JSON.stringify(report, null, 2)}\n`);
|
|
56
|
-
fs.writeFileSync(mdPath, renderFeatureFixtureMarkdown(report));
|
|
57
|
-
return { json: jsonPath, md: mdPath };
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function executeCommand(sourceRoot, projectRoot, spec, fixture = {}) {
|
|
61
|
-
const normalized = Array.isArray(spec) ? { command: spec } : spec;
|
|
62
|
-
const setup = [
|
|
63
|
-
...(fixture.root_mode === 'source_checkout_required' ? [] : [['setup', '--local-only', '--json']]),
|
|
64
|
-
...(normalized.setup || [])
|
|
65
|
-
];
|
|
66
|
-
const setupResults = setup.map((args) => spawnSks(sourceRoot, projectRoot, args));
|
|
67
|
-
const command = normalized.command || normalized.args || [];
|
|
68
|
-
const result = command.length ? spawnSks(sourceRoot, projectRoot, command) : { status: 0, signal: null, ok: true, stdout_bytes: 0, stderr_bytes: 0, args: [] };
|
|
69
|
-
const missionId = result.mission_id || [...setupResults].reverse().find((row) => row.mission_id)?.mission_id || null;
|
|
70
|
-
return {
|
|
71
|
-
args: command,
|
|
72
|
-
setup: setupResults,
|
|
73
|
-
mission_id: missionId,
|
|
74
|
-
status: result.status,
|
|
75
|
-
signal: result.signal || null,
|
|
76
|
-
ok: setupResults.every((row) => row.ok) && result.ok,
|
|
77
|
-
stdout_bytes: result.stdout_bytes,
|
|
78
|
-
stderr_bytes: result.stderr_bytes
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
function spawnSks(sourceRoot, projectRoot, args = []) {
|
|
83
|
-
const result = spawnSync(process.execPath, [path.join(sourceRoot, 'bin', 'sks.mjs'), ...args], {
|
|
84
|
-
cwd: projectRoot,
|
|
85
|
-
encoding: 'utf8',
|
|
86
|
-
timeout: 30_000,
|
|
87
|
-
env: { ...process.env, CI: 'true', SKS_SKIP_NPM_FRESHNESS_CHECK: '1' }
|
|
88
|
-
});
|
|
89
|
-
const parsed = parseJsonOutput(result.stdout || '');
|
|
90
|
-
return {
|
|
91
|
-
args,
|
|
92
|
-
status: result.status,
|
|
93
|
-
signal: result.signal || null,
|
|
94
|
-
ok: result.status === 0,
|
|
95
|
-
mission_id: parsed?.mission_id || parsed?.id || parsed?.proof?.mission_id || parsed?.completion_proof?.mission_id || null,
|
|
96
|
-
stdout_bytes: Buffer.byteLength(result.stdout || ''),
|
|
97
|
-
stderr_bytes: Buffer.byteLength(result.stderr || ''),
|
|
98
|
-
stderr_tail: String(result.stderr || '').slice(-600)
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
function prepareHermeticFixtureRoot(sourceRoot, tempRoot) {
|
|
103
|
-
fs.mkdirSync(tempRoot, { recursive: true });
|
|
104
|
-
const packageFile = path.join(tempRoot, 'package.json');
|
|
105
|
-
if (!fs.existsSync(packageFile)) {
|
|
106
|
-
fs.writeFileSync(packageFile, `${JSON.stringify({ name: 'sks-hermetic-fixture', private: true, version: '0.0.0' }, null, 2)}\n`);
|
|
107
|
-
}
|
|
108
|
-
const readme = path.join(tempRoot, 'README.md');
|
|
109
|
-
if (!fs.existsSync(readme)) fs.writeFileSync(readme, '# SKS Hermetic Fixture\n');
|
|
110
|
-
copyFixtureFile(sourceRoot, tempRoot, 'test/fixtures/images/one-by-one.png');
|
|
111
|
-
return tempRoot;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
function copyFixtureFile(sourceRoot, tempRoot, rel) {
|
|
115
|
-
const src = path.join(sourceRoot, rel);
|
|
116
|
-
const dest = path.join(tempRoot, rel);
|
|
117
|
-
if (!fs.existsSync(src) || fs.existsSync(dest)) return;
|
|
118
|
-
fs.mkdirSync(path.dirname(dest), { recursive: true });
|
|
119
|
-
fs.copyFileSync(src, dest);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
function parseJsonOutput(text = '') {
|
|
123
|
-
const trimmed = String(text || '').trim();
|
|
124
|
-
if (!trimmed) return null;
|
|
125
|
-
try { return JSON.parse(trimmed); } catch {}
|
|
126
|
-
const start = trimmed.indexOf('{');
|
|
127
|
-
const end = trimmed.lastIndexOf('}');
|
|
128
|
-
if (start >= 0 && end > start) {
|
|
129
|
-
try { return JSON.parse(trimmed.slice(start, end + 1)); } catch {}
|
|
130
|
-
}
|
|
131
|
-
return null;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
export function resolveExpectedArtifactPath(root, rel, { latestMissionId = null } = {}) {
|
|
135
|
-
const normalized = String(rel || '').replace('<latest>', latestMissionId || 'latest').replace('<mission-id>', latestMissionId || 'latest').replace('<root>', '.');
|
|
136
|
-
if (normalized.startsWith('.sneakoscope/')) return path.join(root, normalized);
|
|
137
|
-
if (latestMissionId) return path.join(root, '.sneakoscope', 'missions', latestMissionId, normalized);
|
|
138
|
-
return path.join(root, normalized);
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
function inspectExpectedArtifact(root, tempRoot, artifact, ctx = {}) {
|
|
142
|
-
const rel = artifact.path;
|
|
143
|
-
const file = resolveExpectedArtifactPath(root, rel, ctx);
|
|
144
|
-
const exists = fs.existsSync(file);
|
|
145
|
-
const schema = artifact.schema || inferSchema(rel);
|
|
146
|
-
const result = {
|
|
147
|
-
path: path.relative(root, file).split(path.sep).join('/'),
|
|
148
|
-
requested_path: rel,
|
|
149
|
-
schema,
|
|
150
|
-
exists,
|
|
151
|
-
schema_ok: false,
|
|
152
|
-
content_ok: false,
|
|
153
|
-
temp_root: tempRoot
|
|
154
|
-
};
|
|
155
|
-
if (!exists) return { ...result, failure: 'missing' };
|
|
156
|
-
if (file.endsWith('.md')) return { ...result, schema_ok: true, content_ok: fs.readFileSync(file, 'utf8').trim().length > 0 };
|
|
157
|
-
let parsed;
|
|
158
|
-
try {
|
|
159
|
-
parsed = JSON.parse(fs.readFileSync(file, 'utf8'));
|
|
160
|
-
} catch {
|
|
161
|
-
return { ...result, failure: 'json_parse' };
|
|
162
|
-
}
|
|
163
|
-
if (schema === 'sks.completion-proof.v1') return { ...result, schema_ok: parsed.schema === schema, content_ok: ['verified', 'verified_partial', 'blocked'].includes(parsed.status), status: parsed.status };
|
|
164
|
-
if (schema === 'sks.image-voxel-ledger.v1') {
|
|
165
|
-
const anchorCount = Array.isArray(parsed.anchors) ? parsed.anchors.length : 0;
|
|
166
|
-
const relationCount = Array.isArray(parsed.relations) ? parsed.relations.length : 0;
|
|
167
|
-
const requireAnchors = artifact.require_anchors !== false;
|
|
168
|
-
const requireRelations = artifact.require_relations === true;
|
|
169
|
-
return { ...result, schema_ok: parsed.schema === schema, content_ok: (!requireAnchors || anchorCount >= 1) && (!requireRelations || relationCount >= 1), anchor_count: anchorCount, relation_count: relationCount };
|
|
170
|
-
}
|
|
171
|
-
if (schema === 'sks.visual-anchors.v1') return { ...result, schema_ok: parsed.schema === schema, content_ok: Array.isArray(parsed.anchors) && (artifact.require_anchors === false || parsed.anchors.length >= 1), anchor_count: parsed.anchors?.length || 0 };
|
|
172
|
-
if (schema === 'sks.fixture-artifact.v1') return { ...result, schema_ok: Boolean(parsed.schema || parsed.schema_version || Object.hasOwn(parsed, 'passed') || Object.hasOwn(parsed, 'ok')), content_ok: true };
|
|
173
|
-
return { ...result, schema_ok: schema ? parsed.schema === schema || parsed.schema_version != null : true, content_ok: true };
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
function normalizeExpectedArtifacts(items = []) {
|
|
177
|
-
return (items || []).map((artifact) => {
|
|
178
|
-
if (typeof artifact === 'string') return { path: artifact, schema: inferSchema(artifact) };
|
|
179
|
-
return { ...artifact, schema: artifact.schema || inferSchema(artifact.path) };
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
function inferSchema(file = '') {
|
|
184
|
-
if (file.includes('completion-proof')) return 'sks.completion-proof.v1';
|
|
185
|
-
if (file.includes('image-voxel-ledger')) return 'sks.image-voxel-ledger.v1';
|
|
186
|
-
if (file.includes('visual-anchors')) return 'sks.visual-anchors.v1';
|
|
187
|
-
if (file.includes('image-assets')) return 'sks.image-assets.v1';
|
|
188
|
-
if (file.endsWith('.json')) return 'sks.fixture-artifact.v1';
|
|
189
|
-
return null;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
function latestMissionId(root) {
|
|
193
|
-
const dir = path.join(root, '.sneakoscope', 'missions');
|
|
194
|
-
if (!fs.existsSync(dir)) return null;
|
|
195
|
-
const entries = fs.readdirSync(dir, { withFileTypes: true }).filter((entry) => entry.isDirectory() && entry.name.startsWith('M-')).map((entry) => entry.name).sort();
|
|
196
|
-
return entries.at(-1) || null;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
function renderFeatureFixtureMarkdown(report = {}) {
|
|
200
|
-
const lines = [
|
|
201
|
-
'# SKS Feature Fixtures',
|
|
202
|
-
'',
|
|
203
|
-
`- Status: ${report.ok ? 'pass' : 'blocked'}`,
|
|
204
|
-
`- Checked: ${report.checked || 0}`,
|
|
205
|
-
`- Executed: ${report.executed || 0}`,
|
|
206
|
-
`- Artifact/schema validated: ${report.artifact_schema_validated || 0}`,
|
|
207
|
-
''
|
|
208
|
-
];
|
|
209
|
-
if (report.failures?.length) {
|
|
210
|
-
lines.push('## Failures', '');
|
|
211
|
-
for (const failure of report.failures) lines.push(`- ${failure}`);
|
|
212
|
-
}
|
|
213
|
-
return `${lines.join('\n')}\n`;
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
export function validateCompletionProofArtifact(file) {
|
|
217
|
-
const proof = JSON.parse(fs.readFileSync(file, 'utf8'));
|
|
218
|
-
return proof.schema === 'sks.completion-proof.v1' && ['verified', 'verified_partial', 'blocked'].includes(proof.status);
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
export function validateImageVoxelArtifact(file, { requireAnchors = true, requireRelations = false } = {}) {
|
|
222
|
-
const ledger = JSON.parse(fs.readFileSync(file, 'utf8'));
|
|
223
|
-
const anchors = ledger.anchors?.length || 0;
|
|
224
|
-
const relations = ledger.relations?.length || 0;
|
|
225
|
-
return ledger.schema === 'sks.image-voxel-ledger.v1' && (!requireAnchors || anchors >= 1) && (!requireRelations || relations >= 1);
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
export function validateNoPlaintextSecrets(root) {
|
|
229
|
-
const secretPattern = /(sk-proj-[A-Za-z0-9_-]{8,}|sk-clb-[A-Za-z0-9_-]{8,}|github_pat_[A-Za-z0-9_]{8,}|(?:CODEX_ACCESS_TOKEN|OPENAI_API_KEY)\s*[:=]\s*["']?(?:sk-[A-Za-z0-9_-]{8,}|[A-Za-z0-9_-]{32,}))/;
|
|
230
|
-
const reportDir = path.join(root, '.sneakoscope');
|
|
231
|
-
if (!fs.existsSync(reportDir)) return true;
|
|
232
|
-
const stack = [reportDir];
|
|
233
|
-
while (stack.length) {
|
|
234
|
-
const current = stack.pop();
|
|
235
|
-
for (const entry of fs.readdirSync(current, { withFileTypes: true })) {
|
|
236
|
-
const p = path.join(current, entry.name);
|
|
237
|
-
if (entry.isDirectory()) stack.push(p);
|
|
238
|
-
else if (/\.(json|md|txt|jsonl)$/i.test(entry.name) && secretPattern.test(fs.readFileSync(p, 'utf8'))) return false;
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
return true;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
export const validateDbEvidenceArtifact = validateCompletionProofArtifact;
|
|
245
|
-
export const validateHookReplayArtifact = validateCompletionProofArtifact;
|