@red-codes/agentguard 1.0.0 → 1.1.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 +179 -298
- 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 +29185 -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/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
package/dist/core/actions.js
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
// Canonical action schema for the Agent Reference Monitor
|
|
2
|
-
// All agent execution requests are normalized into these action objects.
|
|
3
|
-
// No DOM, no Node.js APIs — pure data definitions.
|
|
4
|
-
import { simpleHash } from './hash.js';
|
|
5
|
-
// --- Action Classes ---
|
|
6
|
-
export const ACTION_CLASS = {
|
|
7
|
-
FILE: 'file',
|
|
8
|
-
TEST: 'test',
|
|
9
|
-
GIT: 'git',
|
|
10
|
-
SHELL: 'shell',
|
|
11
|
-
NPM: 'npm',
|
|
12
|
-
HTTP: 'http',
|
|
13
|
-
DEPLOY: 'deploy',
|
|
14
|
-
INFRA: 'infra',
|
|
15
|
-
};
|
|
16
|
-
// --- Action Types ---
|
|
17
|
-
export const ACTION_TYPES = {
|
|
18
|
-
'file.read': { class: 'file', description: 'Read file contents' },
|
|
19
|
-
'file.write': { class: 'file', description: 'Write or create a file' },
|
|
20
|
-
'file.delete': { class: 'file', description: 'Delete a file' },
|
|
21
|
-
'file.move': { class: 'file', description: 'Move or rename a file' },
|
|
22
|
-
'test.run': { class: 'test', description: 'Run test suite' },
|
|
23
|
-
'test.run.unit': { class: 'test', description: 'Run unit tests' },
|
|
24
|
-
'test.run.integration': { class: 'test', description: 'Run integration tests' },
|
|
25
|
-
'git.diff': { class: 'git', description: 'View git diff' },
|
|
26
|
-
'git.commit': { class: 'git', description: 'Create a git commit' },
|
|
27
|
-
'git.push': { class: 'git', description: 'Push to remote' },
|
|
28
|
-
'git.branch.create': { class: 'git', description: 'Create a branch' },
|
|
29
|
-
'git.branch.delete': { class: 'git', description: 'Delete a branch' },
|
|
30
|
-
'git.checkout': { class: 'git', description: 'Switch branches' },
|
|
31
|
-
'git.reset': { class: 'git', description: 'Reset git state' },
|
|
32
|
-
'git.merge': { class: 'git', description: 'Merge branches' },
|
|
33
|
-
'shell.exec': { class: 'shell', description: 'Execute a shell command' },
|
|
34
|
-
'npm.install': { class: 'npm', description: 'Install npm packages' },
|
|
35
|
-
'npm.script.run': { class: 'npm', description: 'Run an npm script' },
|
|
36
|
-
'npm.publish': { class: 'npm', description: 'Publish to npm registry' },
|
|
37
|
-
'http.request': { class: 'http', description: 'Make an HTTP request' },
|
|
38
|
-
'deploy.trigger': { class: 'deploy', description: 'Trigger deployment' },
|
|
39
|
-
'infra.apply': { class: 'infra', description: 'Apply infrastructure changes' },
|
|
40
|
-
'infra.destroy': { class: 'infra', description: 'Destroy infrastructure' },
|
|
41
|
-
};
|
|
42
|
-
// --- Decisions ---
|
|
43
|
-
export const DECISION = {
|
|
44
|
-
ALLOW: 'allow',
|
|
45
|
-
DENY: 'deny',
|
|
46
|
-
ESCALATE: 'escalate',
|
|
47
|
-
};
|
|
48
|
-
// --- Action Factory ---
|
|
49
|
-
let actionCounter = 0;
|
|
50
|
-
export function resetActionCounter() {
|
|
51
|
-
actionCounter = 0;
|
|
52
|
-
}
|
|
53
|
-
function generateActionId(timestamp) {
|
|
54
|
-
return `act_${timestamp}_${++actionCounter}`;
|
|
55
|
-
}
|
|
56
|
-
function fingerprintAction(type, target, justification) {
|
|
57
|
-
return simpleHash(`${type}:${target}:${justification}`);
|
|
58
|
-
}
|
|
59
|
-
export function validateActionType(type) {
|
|
60
|
-
const errors = [];
|
|
61
|
-
if (typeof type !== 'string' || !type) {
|
|
62
|
-
errors.push('Action type must be a non-empty string');
|
|
63
|
-
return { valid: false, errors };
|
|
64
|
-
}
|
|
65
|
-
if (!ACTION_TYPES[type]) {
|
|
66
|
-
errors.push(`Unknown action type: ${type}`);
|
|
67
|
-
return { valid: false, errors };
|
|
68
|
-
}
|
|
69
|
-
return { valid: true, errors };
|
|
70
|
-
}
|
|
71
|
-
export function validateAction(action) {
|
|
72
|
-
const errors = [];
|
|
73
|
-
if (!action || typeof action !== 'object') {
|
|
74
|
-
return { valid: false, errors: ['Action must be a non-null object'] };
|
|
75
|
-
}
|
|
76
|
-
if (!action.type) {
|
|
77
|
-
errors.push('Action is missing required field: type');
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
const typeCheck = validateActionType(action.type);
|
|
81
|
-
if (!typeCheck.valid)
|
|
82
|
-
errors.push(...typeCheck.errors);
|
|
83
|
-
}
|
|
84
|
-
if (!action.target && action.target !== '') {
|
|
85
|
-
errors.push('Action is missing required field: target');
|
|
86
|
-
}
|
|
87
|
-
if (!action.justification) {
|
|
88
|
-
errors.push('Action is missing required field: justification');
|
|
89
|
-
}
|
|
90
|
-
return { valid: errors.length === 0, errors };
|
|
91
|
-
}
|
|
92
|
-
export function createAction(type, target, justification, metadata = {}) {
|
|
93
|
-
const action = { type, target, justification, ...metadata };
|
|
94
|
-
const { valid, errors } = validateAction(action);
|
|
95
|
-
if (!valid) {
|
|
96
|
-
throw new Error(`Invalid action: ${errors.join('; ')}`);
|
|
97
|
-
}
|
|
98
|
-
const timestamp = Date.now();
|
|
99
|
-
action.id = generateActionId(timestamp);
|
|
100
|
-
action.class = ACTION_TYPES[type].class;
|
|
101
|
-
action.timestamp = timestamp;
|
|
102
|
-
action.fingerprint = fingerprintAction(type, target, justification);
|
|
103
|
-
return action;
|
|
104
|
-
}
|
|
105
|
-
export function getActionClass(type) {
|
|
106
|
-
const def = ACTION_TYPES[type];
|
|
107
|
-
return def ? def.class : null;
|
|
108
|
-
}
|
|
109
|
-
export function listActionTypes() {
|
|
110
|
-
return Object.keys(ACTION_TYPES);
|
|
111
|
-
}
|
|
112
|
-
//# sourceMappingURL=actions.js.map
|
package/dist/core/actions.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/core/actions.ts"],"names":[],"mappings":"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"}
|
package/dist/core/adapters.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { AdapterHandler, AdapterRegistry } from './types.js';
|
|
2
|
-
export declare function createAdapterRegistry(): AdapterRegistry;
|
|
3
|
-
interface DryRunEntry {
|
|
4
|
-
type: string;
|
|
5
|
-
target: string;
|
|
6
|
-
timestamp: number;
|
|
7
|
-
dryRun: true;
|
|
8
|
-
}
|
|
9
|
-
export declare function createDryRunAdapter(): {
|
|
10
|
-
adapter: AdapterHandler;
|
|
11
|
-
getLog: () => DryRunEntry[];
|
|
12
|
-
clear: () => void;
|
|
13
|
-
};
|
|
14
|
-
export declare function createDryRunRegistry(): {
|
|
15
|
-
registry: AdapterRegistry;
|
|
16
|
-
dryRun: ReturnType<typeof createDryRunAdapter>;
|
|
17
|
-
};
|
|
18
|
-
export {};
|
|
19
|
-
//# sourceMappingURL=adapters.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/core/adapters.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAIV,cAAc,EACd,eAAe,EAChB,MAAM,YAAY,CAAC;AAKpB,wBAAgB,qBAAqB,IAAI,eAAe,CA0DvD;AAID,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,IAAI,CAAC;CACd;AAED,wBAAgB,mBAAmB,IAAI;IACrC,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,MAAM,WAAW,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAqBA;AAED,wBAAgB,oBAAoB,IAAI;IACtC,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;CAChD,CAUA"}
|
package/dist/core/adapters.js
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
// Execution adapters for the Agent Reference Monitor
|
|
2
|
-
// Adapters translate authorized action objects into executable operations.
|
|
3
|
-
// Each adapter validates that an action has been authorized before proceeding.
|
|
4
|
-
// No DOM, no Node.js APIs — pure adapter interfaces and registry.
|
|
5
|
-
import { DECISION } from './actions.js';
|
|
6
|
-
// --- Adapter Registry ---
|
|
7
|
-
export function createAdapterRegistry() {
|
|
8
|
-
const adapters = new Map();
|
|
9
|
-
function register(actionClass, handler) {
|
|
10
|
-
if (typeof handler !== 'function') {
|
|
11
|
-
throw new Error(`Adapter handler must be a function for class: ${actionClass}`);
|
|
12
|
-
}
|
|
13
|
-
adapters.set(actionClass, handler);
|
|
14
|
-
}
|
|
15
|
-
async function execute(action, decisionRecord) {
|
|
16
|
-
if (!decisionRecord || decisionRecord.decision !== DECISION.ALLOW) {
|
|
17
|
-
return {
|
|
18
|
-
success: false,
|
|
19
|
-
error: `Action not authorized: ${decisionRecord ? decisionRecord.decision : 'no decision'}`,
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
if (decisionRecord.actionId !== action.id) {
|
|
23
|
-
return {
|
|
24
|
-
success: false,
|
|
25
|
-
error: `Decision record does not match action (expected ${action.id}, got ${decisionRecord.actionId})`,
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
const adapter = adapters.get(action.class);
|
|
29
|
-
if (!adapter) {
|
|
30
|
-
return {
|
|
31
|
-
success: false,
|
|
32
|
-
error: `No adapter registered for action class: ${action.class}`,
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
try {
|
|
36
|
-
const result = await adapter(action);
|
|
37
|
-
return { success: true, result };
|
|
38
|
-
}
|
|
39
|
-
catch (err) {
|
|
40
|
-
return { success: false, error: err.message };
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
function has(actionClass) {
|
|
44
|
-
return adapters.has(actionClass);
|
|
45
|
-
}
|
|
46
|
-
function listRegistered() {
|
|
47
|
-
return [...adapters.keys()];
|
|
48
|
-
}
|
|
49
|
-
return Object.freeze({
|
|
50
|
-
register,
|
|
51
|
-
execute,
|
|
52
|
-
has,
|
|
53
|
-
listRegistered,
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
export function createDryRunAdapter() {
|
|
57
|
-
const log = [];
|
|
58
|
-
const adapter = (action) => {
|
|
59
|
-
const entry = {
|
|
60
|
-
type: action.type,
|
|
61
|
-
target: action.target,
|
|
62
|
-
timestamp: Date.now(),
|
|
63
|
-
dryRun: true,
|
|
64
|
-
};
|
|
65
|
-
log.push(entry);
|
|
66
|
-
return entry;
|
|
67
|
-
};
|
|
68
|
-
return {
|
|
69
|
-
adapter,
|
|
70
|
-
getLog: () => [...log],
|
|
71
|
-
clear: () => {
|
|
72
|
-
log.length = 0;
|
|
73
|
-
},
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
export function createDryRunRegistry() {
|
|
77
|
-
const registry = createAdapterRegistry();
|
|
78
|
-
const dryRun = createDryRunAdapter();
|
|
79
|
-
const classes = ['file', 'test', 'git', 'shell', 'npm', 'http', 'deploy', 'infra'];
|
|
80
|
-
for (const cls of classes) {
|
|
81
|
-
registry.register(cls, dryRun.adapter);
|
|
82
|
-
}
|
|
83
|
-
return { registry, dryRun };
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=adapters.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/core/adapters.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { DomainEvent, ExecutionEvent, ExecutionEventLog } from '../types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Convert a domain event into an execution event.
|
|
4
|
-
* Returns null if the domain event kind has no execution event mapping.
|
|
5
|
-
*/
|
|
6
|
-
export declare function domainEventToExecutionEvent(event: DomainEvent): ExecutionEvent | null;
|
|
7
|
-
/**
|
|
8
|
-
* Create a bridge that automatically records domain events as execution events.
|
|
9
|
-
* Returns a subscriber function compatible with the domain event system.
|
|
10
|
-
*/
|
|
11
|
-
export declare function createEventBridge(log: ExecutionEventLog): (event: DomainEvent) => void;
|
|
12
|
-
//# sourceMappingURL=bridge.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../src/core/execution-log/bridge.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,iBAAiB,EAIlB,MAAM,aAAa,CAAC;AA+ErB;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,WAAW,GAAG,cAAc,GAAG,IAAI,CA0BrF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAOtF"}
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
// Execution Event Log Bridge — connects execution events to the domain event system.
|
|
2
|
-
// Maps domain events to execution events and vice versa.
|
|
3
|
-
// No DOM, no Node.js APIs — pure domain logic.
|
|
4
|
-
import { createExecutionEvent } from './event-schema.js';
|
|
5
|
-
import { AGENT_EDIT_FILE, RUNTIME_EXCEPTION, TEST_SUITE_FAILED, TEST_SUITE_PASSED, BUILD_FAILED, BUILD_SUCCEEDED, DEPLOYMENT_FAILED, DEPLOYMENT_SUCCEEDED, POLICY_VIOLATION_DETECTED, INVARIANT_CHECK_FAILED, } from './event-schema.js';
|
|
6
|
-
// --- Domain Event → Execution Event Kind Mapping ---
|
|
7
|
-
const DOMAIN_TO_EXECUTION_KIND = {
|
|
8
|
-
ActionExecuted: AGENT_EDIT_FILE,
|
|
9
|
-
ActionFailed: RUNTIME_EXCEPTION,
|
|
10
|
-
ErrorObserved: RUNTIME_EXCEPTION,
|
|
11
|
-
TestCompleted: TEST_SUITE_PASSED,
|
|
12
|
-
BuildCompleted: BUILD_SUCCEEDED,
|
|
13
|
-
DeployCompleted: DEPLOYMENT_SUCCEEDED,
|
|
14
|
-
PolicyDenied: POLICY_VIOLATION_DETECTED,
|
|
15
|
-
InvariantViolation: INVARIANT_CHECK_FAILED,
|
|
16
|
-
};
|
|
17
|
-
// Override with failure kinds when the domain event indicates failure
|
|
18
|
-
const FAILURE_OVERRIDES = {
|
|
19
|
-
TestCompleted: (event) => (event.result === 'fail' ? TEST_SUITE_FAILED : null),
|
|
20
|
-
BuildCompleted: (event) => (event.result === 'fail' ? BUILD_FAILED : null),
|
|
21
|
-
DeployCompleted: (event) => (event.result === 'fail' ? DEPLOYMENT_FAILED : null),
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Infer actor from a domain event.
|
|
25
|
-
*/
|
|
26
|
-
function inferActor(event) {
|
|
27
|
-
if (event.agentId || event.kind === 'ActionExecuted' || event.kind === 'ActionFailed') {
|
|
28
|
-
return 'agent';
|
|
29
|
-
}
|
|
30
|
-
if (event.kind === 'PolicyDenied' ||
|
|
31
|
-
event.kind === 'InvariantViolation' ||
|
|
32
|
-
event.kind === 'BlastRadiusExceeded') {
|
|
33
|
-
return 'system';
|
|
34
|
-
}
|
|
35
|
-
return 'human';
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Infer event source from a domain event kind.
|
|
39
|
-
*/
|
|
40
|
-
function inferSource(event) {
|
|
41
|
-
const kind = event.kind;
|
|
42
|
-
if (kind === 'TestCompleted' || kind === 'BuildCompleted')
|
|
43
|
-
return 'ci';
|
|
44
|
-
if (kind === 'CommitCreated' || kind === 'FileSaved')
|
|
45
|
-
return 'git';
|
|
46
|
-
if (kind === 'DeployCompleted')
|
|
47
|
-
return 'runtime';
|
|
48
|
-
if (kind === 'PolicyDenied' || kind === 'InvariantViolation' || kind === 'BlastRadiusExceeded') {
|
|
49
|
-
return 'governance';
|
|
50
|
-
}
|
|
51
|
-
if (kind === 'ErrorObserved')
|
|
52
|
-
return 'runtime';
|
|
53
|
-
return 'cli';
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Build execution context from a domain event.
|
|
57
|
-
*/
|
|
58
|
-
function buildContext(event) {
|
|
59
|
-
const context = {};
|
|
60
|
-
if (typeof event.file === 'string')
|
|
61
|
-
context.file = event.file;
|
|
62
|
-
if (typeof event.branch === 'string')
|
|
63
|
-
context.branch = event.branch;
|
|
64
|
-
if (typeof event.hash === 'string')
|
|
65
|
-
context.commit = event.hash;
|
|
66
|
-
if (typeof event.agentId === 'string')
|
|
67
|
-
context.agentRunId = event.agentId;
|
|
68
|
-
return context;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Convert a domain event into an execution event.
|
|
72
|
-
* Returns null if the domain event kind has no execution event mapping.
|
|
73
|
-
*/
|
|
74
|
-
export function domainEventToExecutionEvent(event) {
|
|
75
|
-
let executionKind = DOMAIN_TO_EXECUTION_KIND[event.kind];
|
|
76
|
-
if (!executionKind)
|
|
77
|
-
return null;
|
|
78
|
-
// Check for failure overrides
|
|
79
|
-
const override = FAILURE_OVERRIDES[event.kind];
|
|
80
|
-
if (override) {
|
|
81
|
-
const overrideKind = override(event);
|
|
82
|
-
if (overrideKind)
|
|
83
|
-
executionKind = overrideKind;
|
|
84
|
-
}
|
|
85
|
-
// Build payload from domain event data (exclude standard fields)
|
|
86
|
-
const payload = {};
|
|
87
|
-
const standardFields = new Set(['id', 'kind', 'timestamp', 'fingerprint']);
|
|
88
|
-
for (const [key, value] of Object.entries(event)) {
|
|
89
|
-
if (!standardFields.has(key)) {
|
|
90
|
-
payload[key] = value;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
return createExecutionEvent(executionKind, {
|
|
94
|
-
actor: inferActor(event),
|
|
95
|
-
source: inferSource(event),
|
|
96
|
-
context: buildContext(event),
|
|
97
|
-
payload,
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Create a bridge that automatically records domain events as execution events.
|
|
102
|
-
* Returns a subscriber function compatible with the domain event system.
|
|
103
|
-
*/
|
|
104
|
-
export function createEventBridge(log) {
|
|
105
|
-
return (event) => {
|
|
106
|
-
const executionEvent = domainEventToExecutionEvent(event);
|
|
107
|
-
if (executionEvent) {
|
|
108
|
-
log.append(executionEvent);
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
//# sourceMappingURL=bridge.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../src/core/execution-log/bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { ExecutionEventLog } from '../types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Create an in-memory execution event log.
|
|
4
|
-
* Append-only with support for causal chain tracing and NDJSON persistence.
|
|
5
|
-
*/
|
|
6
|
-
export declare function createExecutionEventLog(): ExecutionEventLog;
|
|
7
|
-
//# sourceMappingURL=event-log.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-log.d.ts","sourceRoot":"","sources":["../../../src/core/execution-log/event-log.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAwC,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAG3F;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,iBAAiB,CAqG3D"}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
// Execution Event Log — append-only event log with causal chain support.
|
|
2
|
-
// Stores execution events and supports query, replay, trace, and NDJSON serialization.
|
|
3
|
-
// No DOM, no Node.js APIs — pure domain logic.
|
|
4
|
-
import { validateExecutionEvent } from './event-schema.js';
|
|
5
|
-
/**
|
|
6
|
-
* Create an in-memory execution event log.
|
|
7
|
-
* Append-only with support for causal chain tracing and NDJSON persistence.
|
|
8
|
-
*/
|
|
9
|
-
export function createExecutionEventLog() {
|
|
10
|
-
let events = [];
|
|
11
|
-
const indexById = new Map();
|
|
12
|
-
function rebuildIndex() {
|
|
13
|
-
indexById.clear();
|
|
14
|
-
for (let i = 0; i < events.length; i++) {
|
|
15
|
-
indexById.set(events[i].id, i);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
return {
|
|
19
|
-
append(event) {
|
|
20
|
-
const { valid, errors } = validateExecutionEvent(event);
|
|
21
|
-
if (!valid) {
|
|
22
|
-
throw new Error(`Cannot append invalid execution event: ${errors.join('; ')}`);
|
|
23
|
-
}
|
|
24
|
-
if (event.causedBy && !indexById.has(event.causedBy)) {
|
|
25
|
-
// causedBy references must point to events already in the log,
|
|
26
|
-
// or to events from a previous session (allow unknown references)
|
|
27
|
-
}
|
|
28
|
-
indexById.set(event.id, events.length);
|
|
29
|
-
events.push(event);
|
|
30
|
-
},
|
|
31
|
-
query(filter = {}) {
|
|
32
|
-
let result = events;
|
|
33
|
-
if (filter.kind) {
|
|
34
|
-
result = result.filter((e) => e.kind === filter.kind);
|
|
35
|
-
}
|
|
36
|
-
if (filter.actor) {
|
|
37
|
-
result = result.filter((e) => e.actor === filter.actor);
|
|
38
|
-
}
|
|
39
|
-
if (filter.source) {
|
|
40
|
-
result = result.filter((e) => e.source === filter.source);
|
|
41
|
-
}
|
|
42
|
-
if (filter.since !== undefined) {
|
|
43
|
-
result = result.filter((e) => e.timestamp >= filter.since);
|
|
44
|
-
}
|
|
45
|
-
if (filter.until !== undefined) {
|
|
46
|
-
result = result.filter((e) => e.timestamp <= filter.until);
|
|
47
|
-
}
|
|
48
|
-
if (filter.agentRunId) {
|
|
49
|
-
result = result.filter((e) => e.context.agentRunId === filter.agentRunId);
|
|
50
|
-
}
|
|
51
|
-
if (filter.file) {
|
|
52
|
-
result = result.filter((e) => e.context.file === filter.file);
|
|
53
|
-
}
|
|
54
|
-
return result;
|
|
55
|
-
},
|
|
56
|
-
replay(fromId) {
|
|
57
|
-
if (!fromId)
|
|
58
|
-
return [...events];
|
|
59
|
-
const idx = indexById.get(fromId);
|
|
60
|
-
if (idx === undefined)
|
|
61
|
-
return [];
|
|
62
|
-
return events.slice(idx);
|
|
63
|
-
},
|
|
64
|
-
trace(eventId) {
|
|
65
|
-
const chain = [];
|
|
66
|
-
const visited = new Set();
|
|
67
|
-
let currentId = eventId;
|
|
68
|
-
while (currentId && !visited.has(currentId)) {
|
|
69
|
-
visited.add(currentId);
|
|
70
|
-
const idx = indexById.get(currentId);
|
|
71
|
-
if (idx === undefined)
|
|
72
|
-
break;
|
|
73
|
-
const event = events[idx];
|
|
74
|
-
chain.unshift(event);
|
|
75
|
-
currentId = event.causedBy;
|
|
76
|
-
}
|
|
77
|
-
return chain;
|
|
78
|
-
},
|
|
79
|
-
count() {
|
|
80
|
-
return events.length;
|
|
81
|
-
},
|
|
82
|
-
clear() {
|
|
83
|
-
events = [];
|
|
84
|
-
indexById.clear();
|
|
85
|
-
},
|
|
86
|
-
toNDJSON() {
|
|
87
|
-
return events.map((e) => JSON.stringify(e)).join('\n');
|
|
88
|
-
},
|
|
89
|
-
fromNDJSON(ndjson) {
|
|
90
|
-
const lines = ndjson.split('\n').filter((line) => line.trim().length > 0);
|
|
91
|
-
let loaded = 0;
|
|
92
|
-
for (const line of lines) {
|
|
93
|
-
const parsed = JSON.parse(line);
|
|
94
|
-
indexById.set(parsed.id, events.length);
|
|
95
|
-
events.push(parsed);
|
|
96
|
-
loaded++;
|
|
97
|
-
}
|
|
98
|
-
rebuildIndex();
|
|
99
|
-
return loaded;
|
|
100
|
-
},
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
//# sourceMappingURL=event-log.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-log.js","sourceRoot":"","sources":["../../../src/core/execution-log/event-log.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { ExecutionEvent, ExecutionEventLog, FailureCluster, EncounterMapping, RiskScore } from '../types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Build the full causal chain leading to an event.
|
|
4
|
-
* Walks `causedBy` references back to the root cause.
|
|
5
|
-
* Returns events in chronological order (root first).
|
|
6
|
-
*/
|
|
7
|
-
export declare function buildCausalChain(log: ExecutionEventLog, eventId: string): ExecutionEvent[];
|
|
8
|
-
/**
|
|
9
|
-
* Score an agent run by its risk profile.
|
|
10
|
-
* Higher score = more risk. Based on failures, violations,
|
|
11
|
-
* skipped tests, sensitive file edits, and action velocity.
|
|
12
|
-
*/
|
|
13
|
-
export declare function scoreAgentRun(log: ExecutionEventLog, agentRunId: string): RiskScore;
|
|
14
|
-
export interface ClusterOptions {
|
|
15
|
-
readonly windowMs?: number;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Cluster related failures by file and time proximity.
|
|
19
|
-
* Groups failures that share a common file or occur within a time window.
|
|
20
|
-
*/
|
|
21
|
-
export declare function clusterFailures(log: ExecutionEventLog, options?: ClusterOptions): FailureCluster[];
|
|
22
|
-
/**
|
|
23
|
-
* Map an execution event to a game encounter.
|
|
24
|
-
* Only failure events produce encounters.
|
|
25
|
-
* Returns null for non-failure events.
|
|
26
|
-
*/
|
|
27
|
-
export declare function mapToEncounter(event: ExecutionEvent): EncounterMapping | null;
|
|
28
|
-
//# sourceMappingURL=event-projections.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-projections.d.ts","sourceRoot":"","sources":["../../../src/core/execution-log/event-projections.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,SAAS,EAGV,MAAM,aAAa,CAAC;AAerB;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,EAAE,CAE1F;AA6BD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,CAsFnF;AAID,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,iBAAiB,EACtB,OAAO,GAAE,cAAmB,GAC3B,cAAc,EAAE,CA0FlB;AA8CD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,gBAAgB,GAAG,IAAI,CAe7E"}
|