@red-codes/agentguard 1.0.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/args.d.ts.map +1 -0
- package/dist/args.js.map +1 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +29190 -0
- package/dist/bin.js.map +7 -0
- package/dist/colors.d.ts.map +1 -0
- package/dist/colors.js.map +1 -0
- package/dist/commands/adoption.d.ts +2 -0
- package/dist/commands/adoption.d.ts.map +1 -0
- package/dist/commands/adoption.js +172 -0
- package/dist/commands/adoption.js.map +1 -0
- package/dist/commands/analytics.d.ts +3 -0
- package/dist/commands/analytics.d.ts.map +1 -0
- package/dist/commands/analytics.js +7 -0
- package/dist/commands/analytics.js.map +1 -0
- package/dist/commands/audit-verify.d.ts +3 -0
- package/dist/commands/audit-verify.d.ts.map +1 -0
- package/dist/commands/audit-verify.js +94 -0
- package/dist/commands/audit-verify.js.map +1 -0
- package/dist/commands/auto-setup.d.ts +28 -0
- package/dist/commands/auto-setup.d.ts.map +1 -0
- package/dist/commands/auto-setup.js +146 -0
- package/dist/commands/auto-setup.js.map +1 -0
- package/dist/commands/ci-check.d.ts +13 -0
- package/dist/commands/ci-check.d.ts.map +1 -0
- package/dist/commands/ci-check.js +286 -0
- package/dist/commands/ci-check.js.map +1 -0
- package/dist/commands/claude-hook.d.ts +2 -0
- package/dist/commands/claude-hook.d.ts.map +1 -0
- package/dist/commands/claude-hook.js +254 -0
- package/dist/commands/claude-hook.js.map +1 -0
- package/dist/commands/claude-init.d.ts.map +1 -0
- package/dist/commands/claude-init.js +401 -0
- package/dist/commands/claude-init.js.map +1 -0
- package/dist/commands/config.d.ts +39 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +368 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/demo.d.ts +2 -0
- package/dist/commands/demo.d.ts.map +1 -0
- package/dist/commands/demo.js +100 -0
- package/dist/commands/demo.js.map +1 -0
- package/dist/commands/diff.d.ts +3 -0
- package/dist/commands/diff.d.ts.map +1 -0
- package/dist/commands/diff.js +364 -0
- package/dist/commands/diff.js.map +1 -0
- package/dist/commands/evidence-pr.d.ts +3 -0
- package/dist/commands/evidence-pr.d.ts.map +1 -0
- package/dist/commands/evidence-pr.js +162 -0
- package/dist/commands/evidence-pr.js.map +1 -0
- package/dist/commands/export.d.ts +22 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +92 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/guard.d.ts +21 -0
- package/dist/commands/guard.d.ts.map +1 -0
- package/dist/commands/guard.js +272 -0
- package/dist/commands/guard.js.map +1 -0
- package/dist/commands/import.d.ts +3 -0
- package/dist/commands/import.d.ts.map +1 -0
- package/dist/{cli/commands → commands}/import.js +25 -26
- package/dist/commands/import.js.map +1 -0
- package/dist/commands/init.d.ts +5 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +1288 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/inspect.d.ts +4 -0
- package/dist/commands/inspect.d.ts.map +1 -0
- package/dist/{cli/commands → commands}/inspect.js +97 -70
- package/dist/commands/inspect.js.map +1 -0
- package/dist/commands/learn.d.ts +2 -0
- package/dist/commands/learn.d.ts.map +1 -0
- package/dist/commands/learn.js +264 -0
- package/dist/commands/learn.js.map +1 -0
- package/dist/commands/migrate.d.ts +3 -0
- package/dist/commands/migrate.d.ts.map +1 -0
- package/dist/commands/migrate.js +270 -0
- package/dist/commands/migrate.js.map +1 -0
- package/dist/commands/plugin.d.ts.map +1 -0
- package/dist/{cli/commands → commands}/plugin.js +2 -2
- package/dist/commands/plugin.js.map +1 -0
- package/dist/commands/policy-verify.d.ts +46 -0
- package/dist/commands/policy-verify.d.ts.map +1 -0
- package/dist/commands/policy-verify.js +173 -0
- package/dist/commands/policy-verify.js.map +1 -0
- package/dist/commands/policy.d.ts +27 -0
- package/dist/commands/policy.d.ts.map +1 -0
- package/dist/commands/policy.js +590 -0
- package/dist/commands/policy.js.map +1 -0
- package/dist/{cli/commands → commands}/replay.d.ts +2 -1
- package/dist/commands/replay.d.ts.map +1 -0
- package/dist/{cli/commands → commands}/replay.js +78 -12
- package/dist/commands/replay.js.map +1 -0
- package/dist/commands/session-viewer.d.ts +5 -0
- package/dist/commands/session-viewer.d.ts.map +1 -0
- package/dist/commands/session-viewer.js +462 -0
- package/dist/commands/session-viewer.js.map +1 -0
- package/dist/commands/simulate.d.ts +7 -0
- package/dist/commands/simulate.d.ts.map +1 -0
- package/dist/commands/simulate.js +505 -0
- package/dist/commands/simulate.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 +212 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/traces.d.ts +24 -0
- package/dist/commands/traces.d.ts.map +1 -0
- package/dist/commands/traces.js +282 -0
- package/dist/commands/traces.js.map +1 -0
- package/dist/commands/trust.d.ts +6 -0
- package/dist/commands/trust.d.ts.map +1 -0
- package/dist/commands/trust.js +129 -0
- package/dist/commands/trust.js.map +1 -0
- package/dist/evidence-summary.d.ts +35 -0
- package/dist/evidence-summary.d.ts.map +1 -0
- package/dist/evidence-summary.js +202 -0
- package/dist/evidence-summary.js.map +1 -0
- package/dist/{cli/file-event-store.d.ts → file-event-store.d.ts} +1 -1
- package/dist/file-event-store.d.ts.map +1 -0
- package/dist/{cli/file-event-store.js → file-event-store.js} +1 -1
- package/dist/file-event-store.js.map +1 -0
- package/{hooks → dist/hooks}/post-commit +3 -1
- package/{hooks → dist/hooks}/post-merge +3 -1
- package/dist/hooks/pre-commit +29 -0
- package/dist/policy-resolver.d.ts +32 -0
- package/dist/policy-resolver.d.ts.map +1 -0
- package/dist/policy-resolver.js +171 -0
- package/dist/policy-resolver.js.map +1 -0
- package/dist/{cli/recorder.d.ts → recorder.d.ts} +1 -1
- package/dist/recorder.d.ts.map +1 -0
- package/dist/{cli/recorder.js → recorder.js} +1 -1
- package/dist/recorder.js.map +1 -0
- package/dist/replay-timeline-html.d.ts +21 -0
- package/dist/replay-timeline-html.d.ts.map +1 -0
- package/dist/replay-timeline-html.js +414 -0
- package/dist/replay-timeline-html.js.map +1 -0
- package/dist/replay.d.ts.map +1 -0
- package/dist/{cli/replay.js → replay.js} +92 -1
- package/dist/replay.js.map +1 -0
- package/dist/{cli/session-store.d.ts → session-store.d.ts} +5 -0
- package/dist/session-store.d.ts.map +1 -0
- package/dist/{cli/session-store.js → session-store.js} +1 -0
- package/dist/session-store.js.map +1 -0
- package/dist/session-viewer-html.d.ts +10 -0
- package/dist/session-viewer-html.d.ts.map +1 -0
- package/dist/session-viewer-html.js +737 -0
- package/dist/session-viewer-html.js.map +1 -0
- package/dist/templates/ci-only.yaml +103 -0
- package/dist/templates/development.yaml +107 -0
- package/dist/templates/permissive.yaml +87 -0
- package/dist/templates/strict.yaml +112 -0
- package/dist/tui.d.ts +3 -0
- package/dist/tui.d.ts.map +1 -0
- package/dist/tui.js +2 -0
- package/dist/tui.js.map +1 -0
- package/package.json +42 -53
- package/README.md +0 -298
- package/dist/adapters/claude-code.d.ts +0 -24
- package/dist/adapters/claude-code.d.ts.map +0 -1
- package/dist/adapters/claude-code.js +0 -99
- package/dist/adapters/claude-code.js.map +0 -1
- package/dist/adapters/file.d.ts +0 -3
- package/dist/adapters/file.d.ts.map +0 -1
- package/dist/adapters/file.js +0 -35
- package/dist/adapters/file.js.map +0 -1
- package/dist/adapters/git.d.ts +0 -3
- package/dist/adapters/git.d.ts.map +0 -1
- package/dist/adapters/git.js +0 -61
- package/dist/adapters/git.js.map +0 -1
- package/dist/adapters/registry.d.ts +0 -5
- package/dist/adapters/registry.d.ts.map +0 -1
- package/dist/adapters/registry.js +0 -15
- package/dist/adapters/registry.js.map +0 -1
- package/dist/adapters/shell.d.ts +0 -8
- package/dist/adapters/shell.d.ts.map +0 -1
- package/dist/adapters/shell.js +0 -27
- package/dist/adapters/shell.js.map +0 -1
- package/dist/cli/args.d.ts.map +0 -1
- package/dist/cli/args.js.map +0 -1
- package/dist/cli/bin.d.ts.map +0 -1
- package/dist/cli/bin.js +0 -5769
- package/dist/cli/bin.js.map +0 -7
- package/dist/cli/colors.d.ts.map +0 -1
- package/dist/cli/colors.js.map +0 -1
- package/dist/cli/commands/claude-hook.d.ts +0 -2
- package/dist/cli/commands/claude-hook.d.ts.map +0 -1
- package/dist/cli/commands/claude-hook.js +0 -110
- package/dist/cli/commands/claude-hook.js.map +0 -1
- package/dist/cli/commands/claude-init.d.ts.map +0 -1
- package/dist/cli/commands/claude-init.js +0 -150
- package/dist/cli/commands/claude-init.js.map +0 -1
- package/dist/cli/commands/export.d.ts +0 -11
- package/dist/cli/commands/export.d.ts.map +0 -1
- package/dist/cli/commands/export.js +0 -113
- package/dist/cli/commands/export.js.map +0 -1
- package/dist/cli/commands/guard.d.ts +0 -12
- package/dist/cli/commands/guard.d.ts.map +0 -1
- package/dist/cli/commands/guard.js +0 -145
- package/dist/cli/commands/guard.js.map +0 -1
- package/dist/cli/commands/import.d.ts +0 -2
- package/dist/cli/commands/import.d.ts.map +0 -1
- package/dist/cli/commands/import.js.map +0 -1
- package/dist/cli/commands/inspect.d.ts +0 -3
- package/dist/cli/commands/inspect.d.ts.map +0 -1
- package/dist/cli/commands/inspect.js.map +0 -1
- package/dist/cli/commands/plugin.d.ts.map +0 -1
- package/dist/cli/commands/plugin.js.map +0 -1
- package/dist/cli/commands/replay.d.ts.map +0 -1
- package/dist/cli/commands/replay.js.map +0 -1
- package/dist/cli/file-event-store.d.ts.map +0 -1
- package/dist/cli/file-event-store.js.map +0 -1
- package/dist/cli/policy-resolver.d.ts +0 -4
- package/dist/cli/policy-resolver.d.ts.map +0 -1
- package/dist/cli/policy-resolver.js +0 -62
- package/dist/cli/policy-resolver.js.map +0 -1
- package/dist/cli/recorder.d.ts.map +0 -1
- package/dist/cli/recorder.js.map +0 -1
- package/dist/cli/replay.d.ts.map +0 -1
- package/dist/cli/replay.js.map +0 -1
- package/dist/cli/session-store.d.ts.map +0 -1
- package/dist/cli/session-store.js.map +0 -1
- package/dist/cli/tui.d.ts +0 -24
- package/dist/cli/tui.d.ts.map +0 -1
- package/dist/cli/tui.js +0 -197
- package/dist/cli/tui.js.map +0 -1
- package/dist/core/actions.d.ts +0 -11
- package/dist/core/actions.d.ts.map +0 -1
- package/dist/core/actions.js +0 -112
- package/dist/core/actions.js.map +0 -1
- package/dist/core/adapters.d.ts +0 -19
- package/dist/core/adapters.d.ts.map +0 -1
- package/dist/core/adapters.js +0 -85
- package/dist/core/adapters.js.map +0 -1
- package/dist/core/execution-log/bridge.d.ts +0 -12
- package/dist/core/execution-log/bridge.d.ts.map +0 -1
- package/dist/core/execution-log/bridge.js +0 -112
- package/dist/core/execution-log/bridge.js.map +0 -1
- package/dist/core/execution-log/event-log.d.ts +0 -7
- package/dist/core/execution-log/event-log.d.ts.map +0 -1
- package/dist/core/execution-log/event-log.js +0 -103
- package/dist/core/execution-log/event-log.js.map +0 -1
- package/dist/core/execution-log/event-projections.d.ts +0 -28
- package/dist/core/execution-log/event-projections.d.ts.map +0 -1
- package/dist/core/execution-log/event-projections.js +0 -272
- package/dist/core/execution-log/event-projections.js.map +0 -1
- package/dist/core/execution-log/event-schema.d.ts +0 -56
- package/dist/core/execution-log/event-schema.d.ts.map +0 -1
- package/dist/core/execution-log/event-schema.js +0 -160
- package/dist/core/execution-log/event-schema.js.map +0 -1
- package/dist/core/execution-log/index.d.ts +0 -7
- package/dist/core/execution-log/index.d.ts.map +0 -1
- package/dist/core/execution-log/index.js +0 -13
- package/dist/core/execution-log/index.js.map +0 -1
- package/dist/core/hash.d.ts +0 -5
- package/dist/core/hash.d.ts.map +0 -1
- package/dist/core/hash.js +0 -13
- package/dist/core/hash.js.map +0 -1
- package/dist/core/rng.d.ts +0 -29
- package/dist/core/rng.d.ts.map +0 -1
- package/dist/core/rng.js +0 -48
- package/dist/core/rng.js.map +0 -1
- package/dist/core/types.d.ts +0 -746
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/types.js +0 -8
- package/dist/core/types.js.map +0 -1
- package/dist/events/bus.d.ts +0 -24
- package/dist/events/bus.d.ts.map +0 -1
- package/dist/events/bus.js +0 -64
- package/dist/events/bus.js.map +0 -1
- package/dist/events/decision-jsonl.d.ts +0 -8
- package/dist/events/decision-jsonl.d.ts.map +0 -1
- package/dist/events/decision-jsonl.js +0 -44
- package/dist/events/decision-jsonl.js.map +0 -1
- package/dist/events/jsonl.d.ts +0 -8
- package/dist/events/jsonl.d.ts.map +0 -1
- package/dist/events/jsonl.js +0 -46
- package/dist/events/jsonl.js.map +0 -1
- package/dist/events/schema.d.ts +0 -59
- package/dist/events/schema.d.ts.map +0 -1
- package/dist/events/schema.js +0 -296
- package/dist/events/schema.js.map +0 -1
- package/dist/events/store.d.ts +0 -7
- package/dist/events/store.d.ts.map +0 -1
- package/dist/events/store.js +0 -64
- package/dist/events/store.js.map +0 -1
- package/dist/invariants/checker.d.ts +0 -15
- package/dist/invariants/checker.d.ts.map +0 -1
- package/dist/invariants/checker.js +0 -52
- package/dist/invariants/checker.js.map +0 -1
- package/dist/invariants/definitions.d.ts +0 -33
- package/dist/invariants/definitions.d.ts.map +0 -1
- package/dist/invariants/definitions.js +0 -168
- package/dist/invariants/definitions.js.map +0 -1
- package/dist/kernel/aab.d.ts +0 -26
- package/dist/kernel/aab.d.ts.map +0 -1
- package/dist/kernel/aab.js +0 -149
- package/dist/kernel/aab.js.map +0 -1
- package/dist/kernel/blast-radius.d.ts +0 -60
- package/dist/kernel/blast-radius.d.ts.map +0 -1
- package/dist/kernel/blast-radius.js +0 -146
- package/dist/kernel/blast-radius.js.map +0 -1
- package/dist/kernel/decision.d.ts +0 -40
- package/dist/kernel/decision.d.ts.map +0 -1
- package/dist/kernel/decision.js +0 -92
- package/dist/kernel/decision.js.map +0 -1
- package/dist/kernel/decisions/factory.d.ts +0 -12
- package/dist/kernel/decisions/factory.d.ts.map +0 -1
- package/dist/kernel/decisions/factory.js +0 -56
- package/dist/kernel/decisions/factory.js.map +0 -1
- package/dist/kernel/decisions/types.d.ts +0 -70
- package/dist/kernel/decisions/types.d.ts.map +0 -1
- package/dist/kernel/decisions/types.js +0 -5
- package/dist/kernel/decisions/types.js.map +0 -1
- package/dist/kernel/evidence.d.ts +0 -29
- package/dist/kernel/evidence.d.ts.map +0 -1
- package/dist/kernel/evidence.js +0 -61
- package/dist/kernel/evidence.js.map +0 -1
- package/dist/kernel/kernel.d.ts +0 -47
- package/dist/kernel/kernel.d.ts.map +0 -1
- package/dist/kernel/kernel.js +0 -377
- package/dist/kernel/kernel.js.map +0 -1
- package/dist/kernel/monitor.d.ts +0 -35
- package/dist/kernel/monitor.d.ts.map +0 -1
- package/dist/kernel/monitor.js +0 -144
- package/dist/kernel/monitor.js.map +0 -1
- package/dist/kernel/replay-comparator.d.ts +0 -72
- package/dist/kernel/replay-comparator.d.ts.map +0 -1
- package/dist/kernel/replay-comparator.js +0 -251
- package/dist/kernel/replay-comparator.js.map +0 -1
- package/dist/kernel/replay-engine.d.ts +0 -108
- package/dist/kernel/replay-engine.d.ts.map +0 -1
- package/dist/kernel/replay-engine.js +0 -241
- package/dist/kernel/replay-engine.js.map +0 -1
- package/dist/kernel/replay-processor.d.ts +0 -109
- package/dist/kernel/replay-processor.d.ts.map +0 -1
- package/dist/kernel/replay-processor.js +0 -118
- package/dist/kernel/replay-processor.js.map +0 -1
- package/dist/kernel/simulation/filesystem-simulator.d.ts +0 -3
- package/dist/kernel/simulation/filesystem-simulator.d.ts.map +0 -1
- package/dist/kernel/simulation/filesystem-simulator.js +0 -81
- package/dist/kernel/simulation/filesystem-simulator.js.map +0 -1
- package/dist/kernel/simulation/git-simulator.d.ts +0 -5
- package/dist/kernel/simulation/git-simulator.d.ts.map +0 -1
- package/dist/kernel/simulation/git-simulator.js +0 -115
- package/dist/kernel/simulation/git-simulator.js.map +0 -1
- package/dist/kernel/simulation/package-simulator.d.ts +0 -5
- package/dist/kernel/simulation/package-simulator.d.ts.map +0 -1
- package/dist/kernel/simulation/package-simulator.js +0 -164
- package/dist/kernel/simulation/package-simulator.js.map +0 -1
- package/dist/kernel/simulation/registry.d.ts +0 -3
- package/dist/kernel/simulation/registry.d.ts.map +0 -1
- package/dist/kernel/simulation/registry.js +0 -24
- package/dist/kernel/simulation/registry.js.map +0 -1
- package/dist/kernel/simulation/types.d.ts +0 -35
- package/dist/kernel/simulation/types.d.ts.map +0 -1
- package/dist/kernel/simulation/types.js +0 -4
- package/dist/kernel/simulation/types.js.map +0 -1
- package/dist/plugins/discovery.d.ts +0 -45
- package/dist/plugins/discovery.d.ts.map +0 -1
- package/dist/plugins/discovery.js +0 -89
- package/dist/plugins/discovery.js.map +0 -1
- package/dist/plugins/index.d.ts +0 -10
- package/dist/plugins/index.d.ts.map +0 -1
- package/dist/plugins/index.js +0 -7
- package/dist/plugins/index.js.map +0 -1
- package/dist/plugins/registry.d.ts +0 -52
- package/dist/plugins/registry.d.ts.map +0 -1
- package/dist/plugins/registry.js +0 -148
- package/dist/plugins/registry.js.map +0 -1
- package/dist/plugins/sandbox.d.ts +0 -87
- package/dist/plugins/sandbox.d.ts.map +0 -1
- package/dist/plugins/sandbox.js +0 -122
- package/dist/plugins/sandbox.js.map +0 -1
- package/dist/plugins/types.d.ts +0 -61
- package/dist/plugins/types.d.ts.map +0 -1
- package/dist/plugins/types.js +0 -16
- package/dist/plugins/types.js.map +0 -1
- package/dist/plugins/validator.d.ts +0 -36
- package/dist/plugins/validator.d.ts.map +0 -1
- package/dist/plugins/validator.js +0 -276
- package/dist/plugins/validator.js.map +0 -1
- package/dist/policy/evaluator.d.ts +0 -41
- package/dist/policy/evaluator.d.ts.map +0 -1
- package/dist/policy/evaluator.js +0 -111
- package/dist/policy/evaluator.js.map +0 -1
- package/dist/policy/loader.d.ts +0 -13
- package/dist/policy/loader.d.ts.map +0 -1
- package/dist/policy/loader.js +0 -118
- package/dist/policy/loader.js.map +0 -1
- package/dist/policy/pack-loader.d.ts +0 -40
- package/dist/policy/pack-loader.d.ts.map +0 -1
- package/dist/policy/pack-loader.js +0 -138
- package/dist/policy/pack-loader.js.map +0 -1
- package/dist/policy/yaml-loader.d.ts +0 -23
- package/dist/policy/yaml-loader.d.ts.map +0 -1
- package/dist/policy/yaml-loader.js +0 -222
- package/dist/policy/yaml-loader.js.map +0 -1
- package/dist/renderers/index.d.ts +0 -6
- package/dist/renderers/index.d.ts.map +0 -1
- package/dist/renderers/index.js +0 -4
- package/dist/renderers/index.js.map +0 -1
- package/dist/renderers/registry.d.ts +0 -39
- package/dist/renderers/registry.d.ts.map +0 -1
- package/dist/renderers/registry.js +0 -97
- package/dist/renderers/registry.js.map +0 -1
- package/dist/renderers/tui-renderer.d.ts +0 -18
- package/dist/renderers/tui-renderer.d.ts.map +0 -1
- package/dist/renderers/tui-renderer.js +0 -57
- package/dist/renderers/tui-renderer.js.map +0 -1
- package/dist/renderers/types.d.ts +0 -52
- package/dist/renderers/types.d.ts.map +0 -1
- package/dist/renderers/types.js +0 -4
- package/dist/renderers/types.js.map +0 -1
- package/dist/telemetry/index.d.ts +0 -3
- package/dist/telemetry/index.d.ts.map +0 -1
- package/dist/telemetry/index.js +0 -2
- package/dist/telemetry/index.js.map +0 -1
- package/dist/telemetry/runtimeLogger.d.ts +0 -9
- package/dist/telemetry/runtimeLogger.d.ts.map +0 -1
- package/dist/telemetry/runtimeLogger.js +0 -68
- package/dist/telemetry/runtimeLogger.js.map +0 -1
- package/dist/telemetry/types.d.ts +0 -22
- package/dist/telemetry/types.d.ts.map +0 -1
- package/dist/telemetry/types.js +0 -4
- package/dist/telemetry/types.js.map +0 -1
- package/hooks/pre-commit +0 -28
- /package/dist/{cli/args.d.ts → args.d.ts} +0 -0
- /package/dist/{cli/args.js → args.js} +0 -0
- /package/dist/{cli/bin.d.ts → bin.d.ts} +0 -0
- /package/dist/{cli/colors.d.ts → colors.d.ts} +0 -0
- /package/dist/{cli/colors.js → colors.js} +0 -0
- /package/dist/{cli/commands → commands}/claude-init.d.ts +0 -0
- /package/dist/{cli/commands → commands}/plugin.d.ts +0 -0
- /package/dist/{cli/replay.d.ts → replay.d.ts} +0 -0
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import type { DomainEvent } from '../core/types.js';
|
|
2
|
-
import type { ReplayAction, ReplaySession, ReplaySessionSummary, ReplayLoadOptions } from './replay-engine.js';
|
|
3
|
-
/** The result of comparing a single field between original and replayed. */
|
|
4
|
-
export interface FieldDifference {
|
|
5
|
-
readonly field: string;
|
|
6
|
-
readonly original: unknown;
|
|
7
|
-
readonly replayed: unknown;
|
|
8
|
-
}
|
|
9
|
-
/** Comparison status for a single action. */
|
|
10
|
-
export type ComparisonStatus = 'match' | 'divergent' | 'missing' | 'extra';
|
|
11
|
-
/** Side-by-side comparison of a single action encounter. */
|
|
12
|
-
export interface ActionComparison {
|
|
13
|
-
/** Position in the comparison list (0-based). */
|
|
14
|
-
readonly index: number;
|
|
15
|
-
/** Whether the action matched, diverged, or was only in one session. */
|
|
16
|
-
readonly status: ComparisonStatus;
|
|
17
|
-
/** The action from the original session (null if status is 'extra'). */
|
|
18
|
-
readonly original: ReplayAction | null;
|
|
19
|
-
/** The action from the replayed session (null if status is 'missing'). */
|
|
20
|
-
readonly replayed: ReplayAction | null;
|
|
21
|
-
/** Field-level differences (empty for 'match', 'missing', 'extra'). */
|
|
22
|
-
readonly differences: readonly FieldDifference[];
|
|
23
|
-
}
|
|
24
|
-
/** Diff of session-level summary statistics. */
|
|
25
|
-
export interface SummaryDiff {
|
|
26
|
-
readonly original: ReplaySessionSummary;
|
|
27
|
-
readonly replayed: ReplaySessionSummary;
|
|
28
|
-
readonly differences: readonly FieldDifference[];
|
|
29
|
-
}
|
|
30
|
-
/** Full comparison report between two governance sessions. */
|
|
31
|
-
export interface ComparisonReport {
|
|
32
|
-
readonly originalRunId: string;
|
|
33
|
-
readonly replayedRunId: string;
|
|
34
|
-
/** Total number of action comparisons performed. */
|
|
35
|
-
readonly totalComparisons: number;
|
|
36
|
-
/** Number of actions that produced identical decisions. */
|
|
37
|
-
readonly matches: number;
|
|
38
|
-
/** Number of actions that produced different decisions. */
|
|
39
|
-
readonly divergences: number;
|
|
40
|
-
/** Number of actions present in original but absent in replayed. */
|
|
41
|
-
readonly missing: number;
|
|
42
|
-
/** Number of actions present in replayed but absent in original. */
|
|
43
|
-
readonly extra: number;
|
|
44
|
-
/** Per-action comparison details. */
|
|
45
|
-
readonly comparisons: readonly ActionComparison[];
|
|
46
|
-
/** Session-level summary diff. */
|
|
47
|
-
readonly summaryDiff: SummaryDiff;
|
|
48
|
-
/** Whether the two sessions produced identical governance decisions. */
|
|
49
|
-
readonly identical: boolean;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Compare two replay sessions action-by-action.
|
|
53
|
-
*
|
|
54
|
-
* Actions are matched by position (index). If one session has more actions
|
|
55
|
-
* than the other, the extra actions are reported as 'missing' or 'extra'.
|
|
56
|
-
*/
|
|
57
|
-
export declare function compareReplaySessions(original: ReplaySession, replayed: ReplaySession): ComparisonReport;
|
|
58
|
-
/**
|
|
59
|
-
* Compare two sessions by run ID, loading from JSONL files.
|
|
60
|
-
* Returns null if either session cannot be loaded.
|
|
61
|
-
*/
|
|
62
|
-
export declare function compareRunIds(originalRunId: string, replayedRunId: string, options?: ReplayLoadOptions): ComparisonReport | null;
|
|
63
|
-
/**
|
|
64
|
-
* Compare an original session against an in-memory event array.
|
|
65
|
-
* Useful for re-evaluating a recorded session with a modified policy.
|
|
66
|
-
*/
|
|
67
|
-
export declare function compareSessionWithEvents(original: ReplaySession, replayedEvents: DomainEvent[], replayedRunId?: string): ComparisonReport;
|
|
68
|
-
/**
|
|
69
|
-
* Format a comparison report as a human-readable string.
|
|
70
|
-
*/
|
|
71
|
-
export declare function formatComparisonReport(report: ComparisonReport): string;
|
|
72
|
-
//# sourceMappingURL=replay-comparator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"replay-comparator.d.ts","sourceRoot":"","sources":["../../src/kernel/replay-comparator.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAO5B,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,6CAA6C;AAC7C,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;AAE3E,4DAA4D;AAC5D,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IACvC,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IACvC,uEAAuE;IACvE,QAAQ,CAAC,WAAW,EAAE,SAAS,eAAe,EAAE,CAAC;CAClD;AAED,gDAAgD;AAChD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,SAAS,eAAe,EAAE,CAAC;CAClD;AAED,8DAA8D;AAC9D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,oDAAoD;IACpD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qCAAqC;IACrC,QAAQ,CAAC,WAAW,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAClD,kCAAkC;IAClC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAqFD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,aAAa,GACtB,gBAAgB,CA2ElB;AAMD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,iBAAsB,GAC9B,gBAAgB,GAAG,IAAI,CAOzB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,aAAa,EACvB,cAAc,EAAE,WAAW,EAAE,EAC7B,aAAa,CAAC,EAAE,MAAM,GACrB,gBAAgB,CAGlB;AAMD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CA2EvE"}
|
|
@@ -1,251 +0,0 @@
|
|
|
1
|
-
// Replay Comparator — diffs two governance sessions to detect decision changes.
|
|
2
|
-
//
|
|
3
|
-
// Compares original vs replayed outcomes action-by-action, producing a structured
|
|
4
|
-
// report of matching decisions, divergences, and missing/extra actions.
|
|
5
|
-
// Use cases: policy regression testing, kernel correctness verification, audit validation.
|
|
6
|
-
import { loadReplaySession, buildReplaySession } from './replay-engine.js';
|
|
7
|
-
// ---------------------------------------------------------------------------
|
|
8
|
-
// Action Comparison
|
|
9
|
-
// ---------------------------------------------------------------------------
|
|
10
|
-
/** Fields compared on each action to determine match vs divergence. */
|
|
11
|
-
const COMPARED_FIELDS = ['allowed', 'executed', 'succeeded', 'actionType', 'target'];
|
|
12
|
-
/**
|
|
13
|
-
* Compare two ReplayAction objects field-by-field.
|
|
14
|
-
* Returns an array of field differences (empty if they match).
|
|
15
|
-
*/
|
|
16
|
-
function diffActions(original, replayed) {
|
|
17
|
-
const differences = [];
|
|
18
|
-
for (const field of COMPARED_FIELDS) {
|
|
19
|
-
const origVal = original[field];
|
|
20
|
-
const replayVal = replayed[field];
|
|
21
|
-
if (origVal !== replayVal) {
|
|
22
|
-
differences.push({ field, original: origVal, replayed: replayVal });
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
// Compare governance event counts
|
|
26
|
-
const origGovCount = original.governanceEvents.length;
|
|
27
|
-
const replayGovCount = replayed.governanceEvents.length;
|
|
28
|
-
if (origGovCount !== replayGovCount) {
|
|
29
|
-
differences.push({
|
|
30
|
-
field: 'governanceEventCount',
|
|
31
|
-
original: origGovCount,
|
|
32
|
-
replayed: replayGovCount,
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
// Compare denial reasons (from decision events)
|
|
36
|
-
const origReason = original.decisionEvent?.reason ?? null;
|
|
37
|
-
const replayReason = replayed.decisionEvent?.reason ?? null;
|
|
38
|
-
if (origReason !== replayReason) {
|
|
39
|
-
differences.push({ field: 'decisionReason', original: origReason, replayed: replayReason });
|
|
40
|
-
}
|
|
41
|
-
return differences;
|
|
42
|
-
}
|
|
43
|
-
// ---------------------------------------------------------------------------
|
|
44
|
-
// Summary Comparison
|
|
45
|
-
// ---------------------------------------------------------------------------
|
|
46
|
-
/** Summary fields to compare. */
|
|
47
|
-
const SUMMARY_FIELDS = [
|
|
48
|
-
'totalActions',
|
|
49
|
-
'allowed',
|
|
50
|
-
'denied',
|
|
51
|
-
'executed',
|
|
52
|
-
'failed',
|
|
53
|
-
'violations',
|
|
54
|
-
'escalations',
|
|
55
|
-
'simulationsRun',
|
|
56
|
-
];
|
|
57
|
-
/**
|
|
58
|
-
* Compare two session summaries field-by-field.
|
|
59
|
-
*/
|
|
60
|
-
function diffSummaries(original, replayed) {
|
|
61
|
-
const differences = [];
|
|
62
|
-
for (const field of SUMMARY_FIELDS) {
|
|
63
|
-
const origVal = original[field];
|
|
64
|
-
const replayVal = replayed[field];
|
|
65
|
-
if (origVal !== replayVal) {
|
|
66
|
-
differences.push({ field, original: origVal, replayed: replayVal });
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return differences;
|
|
70
|
-
}
|
|
71
|
-
// ---------------------------------------------------------------------------
|
|
72
|
-
// Core Comparator
|
|
73
|
-
// ---------------------------------------------------------------------------
|
|
74
|
-
/**
|
|
75
|
-
* Compare two replay sessions action-by-action.
|
|
76
|
-
*
|
|
77
|
-
* Actions are matched by position (index). If one session has more actions
|
|
78
|
-
* than the other, the extra actions are reported as 'missing' or 'extra'.
|
|
79
|
-
*/
|
|
80
|
-
export function compareReplaySessions(original, replayed) {
|
|
81
|
-
const origActions = original.actions;
|
|
82
|
-
const replayActions = replayed.actions;
|
|
83
|
-
const maxLen = Math.max(origActions.length, replayActions.length);
|
|
84
|
-
const comparisons = [];
|
|
85
|
-
let matches = 0;
|
|
86
|
-
let divergences = 0;
|
|
87
|
-
let missing = 0;
|
|
88
|
-
let extra = 0;
|
|
89
|
-
for (let i = 0; i < maxLen; i++) {
|
|
90
|
-
const origAction = i < origActions.length ? origActions[i] : null;
|
|
91
|
-
const replayAction = i < replayActions.length ? replayActions[i] : null;
|
|
92
|
-
if (origAction && replayAction) {
|
|
93
|
-
const differences = diffActions(origAction, replayAction);
|
|
94
|
-
if (differences.length === 0) {
|
|
95
|
-
comparisons.push({
|
|
96
|
-
index: i,
|
|
97
|
-
status: 'match',
|
|
98
|
-
original: origAction,
|
|
99
|
-
replayed: replayAction,
|
|
100
|
-
differences,
|
|
101
|
-
});
|
|
102
|
-
matches++;
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
comparisons.push({
|
|
106
|
-
index: i,
|
|
107
|
-
status: 'divergent',
|
|
108
|
-
original: origAction,
|
|
109
|
-
replayed: replayAction,
|
|
110
|
-
differences,
|
|
111
|
-
});
|
|
112
|
-
divergences++;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
else if (origAction && !replayAction) {
|
|
116
|
-
comparisons.push({
|
|
117
|
-
index: i,
|
|
118
|
-
status: 'missing',
|
|
119
|
-
original: origAction,
|
|
120
|
-
replayed: null,
|
|
121
|
-
differences: [],
|
|
122
|
-
});
|
|
123
|
-
missing++;
|
|
124
|
-
}
|
|
125
|
-
else if (!origAction && replayAction) {
|
|
126
|
-
comparisons.push({
|
|
127
|
-
index: i,
|
|
128
|
-
status: 'extra',
|
|
129
|
-
original: null,
|
|
130
|
-
replayed: replayAction,
|
|
131
|
-
differences: [],
|
|
132
|
-
});
|
|
133
|
-
extra++;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
const summaryDiff = {
|
|
137
|
-
original: original.summary,
|
|
138
|
-
replayed: replayed.summary,
|
|
139
|
-
differences: diffSummaries(original.summary, replayed.summary),
|
|
140
|
-
};
|
|
141
|
-
return {
|
|
142
|
-
originalRunId: original.runId,
|
|
143
|
-
replayedRunId: replayed.runId,
|
|
144
|
-
totalComparisons: comparisons.length,
|
|
145
|
-
matches,
|
|
146
|
-
divergences,
|
|
147
|
-
missing,
|
|
148
|
-
extra,
|
|
149
|
-
comparisons,
|
|
150
|
-
summaryDiff,
|
|
151
|
-
identical: divergences === 0 && missing === 0 && extra === 0,
|
|
152
|
-
};
|
|
153
|
-
}
|
|
154
|
-
// ---------------------------------------------------------------------------
|
|
155
|
-
// Convenience API
|
|
156
|
-
// ---------------------------------------------------------------------------
|
|
157
|
-
/**
|
|
158
|
-
* Compare two sessions by run ID, loading from JSONL files.
|
|
159
|
-
* Returns null if either session cannot be loaded.
|
|
160
|
-
*/
|
|
161
|
-
export function compareRunIds(originalRunId, replayedRunId, options = {}) {
|
|
162
|
-
const original = loadReplaySession(originalRunId, options);
|
|
163
|
-
const replayed = loadReplaySession(replayedRunId, options);
|
|
164
|
-
if (!original || !replayed)
|
|
165
|
-
return null;
|
|
166
|
-
return compareReplaySessions(original, replayed);
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Compare an original session against an in-memory event array.
|
|
170
|
-
* Useful for re-evaluating a recorded session with a modified policy.
|
|
171
|
-
*/
|
|
172
|
-
export function compareSessionWithEvents(original, replayedEvents, replayedRunId) {
|
|
173
|
-
const replayed = buildReplaySession(replayedRunId || `${original.runId}-replay`, replayedEvents);
|
|
174
|
-
return compareReplaySessions(original, replayed);
|
|
175
|
-
}
|
|
176
|
-
// ---------------------------------------------------------------------------
|
|
177
|
-
// Report Formatting
|
|
178
|
-
// ---------------------------------------------------------------------------
|
|
179
|
-
/**
|
|
180
|
-
* Format a comparison report as a human-readable string.
|
|
181
|
-
*/
|
|
182
|
-
export function formatComparisonReport(report) {
|
|
183
|
-
const lines = [];
|
|
184
|
-
lines.push('Replay Comparison Report');
|
|
185
|
-
lines.push('========================');
|
|
186
|
-
lines.push(`Original: ${report.originalRunId}`);
|
|
187
|
-
lines.push(`Replayed: ${report.replayedRunId}`);
|
|
188
|
-
lines.push('');
|
|
189
|
-
// Overall result
|
|
190
|
-
if (report.identical) {
|
|
191
|
-
lines.push('Result: IDENTICAL — all governance decisions match.');
|
|
192
|
-
}
|
|
193
|
-
else {
|
|
194
|
-
lines.push('Result: DIVERGENT — governance decisions differ.');
|
|
195
|
-
}
|
|
196
|
-
lines.push('');
|
|
197
|
-
// Stats
|
|
198
|
-
lines.push('Summary:');
|
|
199
|
-
lines.push(` Total comparisons: ${report.totalComparisons}`);
|
|
200
|
-
lines.push(` Matches: ${report.matches}`);
|
|
201
|
-
lines.push(` Divergences: ${report.divergences}`);
|
|
202
|
-
lines.push(` Missing (original only): ${report.missing}`);
|
|
203
|
-
lines.push(` Extra (replayed only): ${report.extra}`);
|
|
204
|
-
lines.push('');
|
|
205
|
-
// Divergent actions
|
|
206
|
-
const divergent = report.comparisons.filter((c) => c.status === 'divergent');
|
|
207
|
-
if (divergent.length > 0) {
|
|
208
|
-
lines.push('Divergent Actions:');
|
|
209
|
-
lines.push('------------------');
|
|
210
|
-
for (const comp of divergent) {
|
|
211
|
-
const actionType = comp.original?.actionType || comp.replayed?.actionType || 'unknown';
|
|
212
|
-
const target = comp.original?.target || comp.replayed?.target || '';
|
|
213
|
-
lines.push(` [${comp.index}] ${actionType} → ${target}`);
|
|
214
|
-
for (const diff of comp.differences) {
|
|
215
|
-
lines.push(` ${diff.field}: ${String(diff.original)} → ${String(diff.replayed)}`);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
lines.push('');
|
|
219
|
-
}
|
|
220
|
-
// Missing actions
|
|
221
|
-
const missingActions = report.comparisons.filter((c) => c.status === 'missing');
|
|
222
|
-
if (missingActions.length > 0) {
|
|
223
|
-
lines.push('Missing Actions (in original, not in replayed):');
|
|
224
|
-
lines.push('-----------------------------------------------');
|
|
225
|
-
for (const comp of missingActions) {
|
|
226
|
-
lines.push(` [${comp.index}] ${comp.original.actionType} → ${comp.original.target}`);
|
|
227
|
-
}
|
|
228
|
-
lines.push('');
|
|
229
|
-
}
|
|
230
|
-
// Extra actions
|
|
231
|
-
const extraActions = report.comparisons.filter((c) => c.status === 'extra');
|
|
232
|
-
if (extraActions.length > 0) {
|
|
233
|
-
lines.push('Extra Actions (in replayed, not in original):');
|
|
234
|
-
lines.push('---------------------------------------------');
|
|
235
|
-
for (const comp of extraActions) {
|
|
236
|
-
lines.push(` [${comp.index}] ${comp.replayed.actionType} → ${comp.replayed.target}`);
|
|
237
|
-
}
|
|
238
|
-
lines.push('');
|
|
239
|
-
}
|
|
240
|
-
// Summary-level diffs
|
|
241
|
-
if (report.summaryDiff.differences.length > 0) {
|
|
242
|
-
lines.push('Summary Differences:');
|
|
243
|
-
lines.push('--------------------');
|
|
244
|
-
for (const diff of report.summaryDiff.differences) {
|
|
245
|
-
lines.push(` ${diff.field}: ${String(diff.original)} → ${String(diff.replayed)}`);
|
|
246
|
-
}
|
|
247
|
-
lines.push('');
|
|
248
|
-
}
|
|
249
|
-
return lines.join('\n');
|
|
250
|
-
}
|
|
251
|
-
//# sourceMappingURL=replay-comparator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"replay-comparator.js","sourceRoot":"","sources":["../../src/kernel/replay-comparator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import type { DomainEvent, EventKind } from '../core/types.js';
|
|
2
|
-
/** A single action encounter — the full lifecycle of one proposed action. */
|
|
3
|
-
export interface ReplayAction {
|
|
4
|
-
/** The index of this action in the session (0-based). */
|
|
5
|
-
readonly index: number;
|
|
6
|
-
/** The ActionRequested event that started this encounter. */
|
|
7
|
-
readonly requestedEvent: DomainEvent;
|
|
8
|
-
/** The ActionAllowed or ActionDenied decision event (null if stream truncated). */
|
|
9
|
-
readonly decisionEvent: DomainEvent | null;
|
|
10
|
-
/** The ActionExecuted or ActionFailed result (null if denied or dry-run). */
|
|
11
|
-
readonly executionEvent: DomainEvent | null;
|
|
12
|
-
/** The SimulationCompleted event if pre-execution simulation ran. */
|
|
13
|
-
readonly simulationEvent: DomainEvent | null;
|
|
14
|
-
/** The DecisionRecorded audit event. */
|
|
15
|
-
readonly decisionRecordEvent: DomainEvent | null;
|
|
16
|
-
/** ActionEscalated event if the action was escalated. */
|
|
17
|
-
readonly escalationEvent: DomainEvent | null;
|
|
18
|
-
/** Governance violation events (PolicyDenied, InvariantViolation, etc.). */
|
|
19
|
-
readonly governanceEvents: readonly DomainEvent[];
|
|
20
|
-
/** Whether this action was ultimately allowed. */
|
|
21
|
-
readonly allowed: boolean;
|
|
22
|
-
/** Whether this action was executed (allowed + not dry-run). */
|
|
23
|
-
readonly executed: boolean;
|
|
24
|
-
/** Whether execution succeeded (false if ActionFailed). */
|
|
25
|
-
readonly succeeded: boolean;
|
|
26
|
-
/** Action type from the requested event (e.g. 'file.write', 'git.push'). */
|
|
27
|
-
readonly actionType: string;
|
|
28
|
-
/** Target from the requested event. */
|
|
29
|
-
readonly target: string;
|
|
30
|
-
}
|
|
31
|
-
/** Session-level summary statistics. */
|
|
32
|
-
export interface ReplaySessionSummary {
|
|
33
|
-
readonly totalActions: number;
|
|
34
|
-
readonly allowed: number;
|
|
35
|
-
readonly denied: number;
|
|
36
|
-
readonly executed: number;
|
|
37
|
-
readonly failed: number;
|
|
38
|
-
readonly violations: number;
|
|
39
|
-
readonly escalations: number;
|
|
40
|
-
readonly simulationsRun: number;
|
|
41
|
-
readonly durationMs: number;
|
|
42
|
-
readonly actionTypes: Readonly<Record<string, number>>;
|
|
43
|
-
readonly denialReasons: readonly string[];
|
|
44
|
-
}
|
|
45
|
-
/** A fully reconstructed governance session. */
|
|
46
|
-
export interface ReplaySession {
|
|
47
|
-
/** The run ID extracted from events or the JSONL filename. */
|
|
48
|
-
readonly runId: string;
|
|
49
|
-
/** All raw events in timestamp order. */
|
|
50
|
-
readonly events: readonly DomainEvent[];
|
|
51
|
-
/** Reconstructed action encounters, in order. */
|
|
52
|
-
readonly actions: readonly ReplayAction[];
|
|
53
|
-
/** Session-level summary statistics. */
|
|
54
|
-
readonly summary: ReplaySessionSummary;
|
|
55
|
-
/** The RunStarted event (if present). */
|
|
56
|
-
readonly startEvent: DomainEvent | null;
|
|
57
|
-
/** The RunEnded event (if present). */
|
|
58
|
-
readonly endEvent: DomainEvent | null;
|
|
59
|
-
}
|
|
60
|
-
/** Options for loading a replay session. */
|
|
61
|
-
export interface ReplayLoadOptions {
|
|
62
|
-
/** Base directory containing the events/ folder. Defaults to '.agentguard'. */
|
|
63
|
-
readonly baseDir?: string;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Load domain events from a JSONL file.
|
|
67
|
-
* Each line is a JSON-serialized DomainEvent.
|
|
68
|
-
* Malformed lines are silently skipped.
|
|
69
|
-
*/
|
|
70
|
-
export declare function loadEventsFromJsonl(filePath: string): DomainEvent[];
|
|
71
|
-
/**
|
|
72
|
-
* Resolve the JSONL file path for a given run ID.
|
|
73
|
-
*/
|
|
74
|
-
export declare function resolveEventFilePath(runId: string, baseDir?: string): string;
|
|
75
|
-
/**
|
|
76
|
-
* List all available run IDs that have stored events.
|
|
77
|
-
*/
|
|
78
|
-
export declare function listRunIds(baseDir?: string): string[];
|
|
79
|
-
/**
|
|
80
|
-
* Load a replay session from a JSONL event file by run ID.
|
|
81
|
-
* Returns null if the file does not exist.
|
|
82
|
-
*/
|
|
83
|
-
export declare function loadReplaySession(runId: string, options?: ReplayLoadOptions): ReplaySession | null;
|
|
84
|
-
/**
|
|
85
|
-
* Build a replay session from an in-memory event array.
|
|
86
|
-
* Useful for testing and when events are already loaded.
|
|
87
|
-
*/
|
|
88
|
-
export declare function buildReplaySession(runId: string, events: DomainEvent[]): ReplaySession;
|
|
89
|
-
/**
|
|
90
|
-
* Iterator for stepping through action encounters one at a time.
|
|
91
|
-
* Yields ReplayAction objects in chronological order.
|
|
92
|
-
*/
|
|
93
|
-
export declare function iterateActions(session: ReplaySession): Generator<ReplayAction>;
|
|
94
|
-
/**
|
|
95
|
-
* Filter a replay session's actions by a predicate.
|
|
96
|
-
* Returns a new session with only matching actions (events are not filtered).
|
|
97
|
-
*/
|
|
98
|
-
export declare function filterActions(session: ReplaySession, predicate: (action: ReplayAction) => boolean): ReplaySession;
|
|
99
|
-
/**
|
|
100
|
-
* Get the most recent run ID from stored events.
|
|
101
|
-
* Returns null if no runs exist.
|
|
102
|
-
*/
|
|
103
|
-
export declare function getLatestRunId(baseDir?: string): string | null;
|
|
104
|
-
/**
|
|
105
|
-
* Extract the event kinds present in a session as a frequency map.
|
|
106
|
-
*/
|
|
107
|
-
export declare function getEventKindCounts(session: ReplaySession): Record<EventKind, number>;
|
|
108
|
-
//# sourceMappingURL=replay-engine.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"replay-engine.d.ts","sourceRoot":"","sources":["../../src/kernel/replay-engine.ts"],"names":[],"mappings":"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"}
|