claude-flow-novice 1.6.1 → 1.6.3
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/.claude/agents/cfn-loop/product-owner.md +54 -4
- package/.claude/commands/cfn-claude-sync.md +303 -0
- package/.claude/commands/cfn-loop-epic.md +290 -0
- package/.claude/commands/cfn-loop-single.md +168 -0
- package/.claude/commands/cfn-loop-sprints.md +384 -0
- package/.claude/commands/cfn-loop.md +180 -0
- package/.claude/commands/metrics-summary.md +58 -0
- package/.claude/commands/parse-epic.md +357 -0
- package/.claude/settings.json +5 -4
- package/.claude/settings.local.json +9 -2
- package/.claude-flow-novice/.claude/agents/cfn-loop/product-owner.md +792 -0
- package/.claude-flow-novice/dist/mcp/server.js +21 -2
- package/.claude-flow-novice/dist/src/api/auth-service.js +84 -38
- package/.claude-flow-novice/dist/src/api/auth-service.js.map +1 -1
- package/.claude-flow-novice/dist/src/api/claude-client.js +138 -3
- package/.claude-flow-novice/dist/src/api/claude-client.js.map +1 -1
- package/.claude-flow-novice/dist/src/cfn-loop/phase-orchestrator-example.js +1 -1
- package/.claude-flow-novice/dist/src/cfn-loop/scope-control.js +247 -0
- package/.claude-flow-novice/dist/src/cfn-loop/scope-control.js.map +1 -0
- package/.claude-flow-novice/dist/src/cli/commands/swarm.js +32 -15
- package/.claude-flow-novice/dist/src/cli/commands/swarm.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/transparency.js +455 -0
- package/.claude-flow-novice/dist/src/cli/commands/transparency.js.map +1 -0
- package/.claude-flow-novice/dist/src/cli/simple-commands/init/templates/CLAUDE.md +129 -13
- package/.claude-flow-novice/dist/src/components/visualizations/index.js +9 -0
- package/.claude-flow-novice/dist/src/components/visualizations/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/adapters/v1-coordinator-adapter.js +462 -0
- package/.claude-flow-novice/dist/src/coordination/adapters/v1-coordinator-adapter.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/config-translator.js +248 -0
- package/.claude-flow-novice/dist/src/coordination/config-translator.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/coordination-toggle.js +287 -0
- package/.claude-flow-novice/dist/src/coordination/coordination-toggle.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/distributed-consensus.js +68 -9
- package/.claude-flow-novice/dist/src/coordination/distributed-consensus.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/feature-flags.js +166 -0
- package/.claude-flow-novice/dist/src/coordination/feature-flags.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/queen-agent.js +18 -4
- package/.claude-flow-novice/dist/src/coordination/queen-agent.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/role-assignment.js +6 -110
- package/.claude-flow-novice/dist/src/coordination/role-assignment.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/v2/cache/artifact-cache-optimizer.js +632 -0
- package/.claude-flow-novice/dist/src/coordination/v2/cache/artifact-cache-optimizer.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/cache/index.js +11 -0
- package/.claude-flow-novice/dist/src/coordination/v2/cache/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/checkpoints/checkpoint-compressor.js +318 -0
- package/.claude-flow-novice/dist/src/coordination/v2/checkpoints/checkpoint-compressor.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/cascading-shutdown.example.js +364 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/cascading-shutdown.example.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/cascading-shutdown.js +492 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/cascading-shutdown.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/hierarchical-coordinator.js +786 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/hierarchical-coordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/index.js +16 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/parent-child-manager.js +342 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/parent-child-manager.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/swarm-coordinator-v2.js +601 -0
- package/.claude-flow-novice/dist/src/coordination/v2/coordinators/swarm-coordinator-v2.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/core/help-request-metrics.js +211 -0
- package/.claude-flow-novice/dist/src/coordination/v2/core/help-request-metrics.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/core/index.js +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/core/index.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/v2/core/message-broker.js +365 -6
- package/.claude-flow-novice/dist/src/coordination/v2/core/message-broker.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/v2/core/resource-manager-safe.js +478 -0
- package/.claude-flow-novice/dist/src/coordination/v2/core/resource-manager-safe.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/core/state-machine-config.js +5 -2
- package/.claude-flow-novice/dist/src/coordination/v2/core/state-machine-config.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/v2/core/state-machine.js +189 -0
- package/.claude-flow-novice/dist/src/coordination/v2/core/state-machine.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/v2/deadlock/deadlock-detector.js +424 -0
- package/.claude-flow-novice/dist/src/coordination/v2/deadlock/deadlock-detector.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/deadlock/index.js +9 -0
- package/.claude-flow-novice/dist/src/coordination/v2/deadlock/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/deadlock/resource-manager.js +669 -0
- package/.claude-flow-novice/dist/src/coordination/v2/deadlock/resource-manager.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/artifact-storage.js +451 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/artifact-storage.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/cycle-detector.js +271 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/cycle-detector.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/dependency-graph.js +335 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/dependency-graph.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/dependency-manager.js +439 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/dependency-manager.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/dependency-request.js +92 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/dependency-request.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/index.js +21 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/topological-sort.js +223 -0
- package/.claude-flow-novice/dist/src/coordination/v2/dependency/topological-sort.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-coordinator.js +436 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-coordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-matcher.js +278 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-matcher.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-request-handler.js +317 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-request-handler.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-request.js +273 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/help-request.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/index.js +15 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/waiting-agent-pool.js +512 -0
- package/.claude-flow-novice/dist/src/coordination/v2/help-system/waiting-agent-pool.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/index.js +6 -0
- package/.claude-flow-novice/dist/src/coordination/v2/index.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/v2/integration/help-deadlock-integration.js +557 -0
- package/.claude-flow-novice/dist/src/coordination/v2/integration/help-deadlock-integration.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/integration/index.js +14 -0
- package/.claude-flow-novice/dist/src/coordination/v2/integration/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/integration/message-bus-completion-integration.example.js +212 -0
- package/.claude-flow-novice/dist/src/coordination/v2/integration/message-bus-completion-integration.example.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/integration/message-bus-completion-integration.js +552 -0
- package/.claude-flow-novice/dist/src/coordination/v2/integration/message-bus-completion-integration.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/memory/dependency-storage.js +367 -0
- package/.claude-flow-novice/dist/src/coordination/v2/memory/dependency-storage.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/memory/index.js +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/memory/index.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channel.js +371 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channel.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/dependency-channel.js +355 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/dependency-channel.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/help-channel.js +424 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/help-channel.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/index.js +16 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/state-channel.js +295 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/state-channel.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/task-channel.js +411 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/channels/task-channel.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/index.js +14 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/message-bus.js +387 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/message-bus.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/message-persistence.js +589 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/message-persistence.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/message-router.js +444 -0
- package/.claude-flow-novice/dist/src/coordination/v2/messaging/message-router.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/checkpoint-manager.js +29 -8
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/checkpoint-manager.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/help-coordinator.js +470 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/help-coordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/hierarchical-background-integration.js +450 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/hierarchical-background-integration.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/index.js +5 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/index.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/multi-level-control.js +545 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/multi-level-control.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/query-controller.js +44 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/query-controller.js.map +1 -1
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/query-message-integration.js +415 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/query-message-integration.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/session-pool-optimizer.js +615 -0
- package/.claude-flow-novice/dist/src/coordination/v2/sdk/session-pool-optimizer.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/security/payload-validator.js +259 -0
- package/.claude-flow-novice/dist/src/coordination/v2/security/payload-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/transparency/index.js +17 -0
- package/.claude-flow-novice/dist/src/coordination/v2/transparency/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/transparency/transparency-integration.js +357 -0
- package/.claude-flow-novice/dist/src/coordination/v2/transparency/transparency-integration.js.map +1 -0
- package/.claude-flow-novice/dist/src/coordination/v2/transparency/transparency-system.js +679 -0
- package/.claude-flow-novice/dist/src/coordination/v2/transparency/transparency-system.js.map +1 -0
- package/.claude-flow-novice/dist/src/core/agent-manager.js +30 -0
- package/.claude-flow-novice/dist/src/core/agent-manager.js.map +1 -1
- package/.claude-flow-novice/dist/src/mcp/server.js +21 -2
- package/.claude-flow-novice/dist/src/mcp/server.js.map +1 -1
- package/.claude-flow-novice/dist/src/monitoring/apm/apm-integration.js +719 -0
- package/.claude-flow-novice/dist/src/monitoring/apm/apm-integration.js.map +1 -0
- package/.claude-flow-novice/dist/src/monitoring/apm/datadog-collector.js +363 -0
- package/.claude-flow-novice/dist/src/monitoring/apm/datadog-collector.js.map +1 -0
- package/.claude-flow-novice/dist/src/monitoring/apm/index.js +97 -0
- package/.claude-flow-novice/dist/src/monitoring/apm/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/monitoring/apm/newrelic-collector.js +384 -0
- package/.claude-flow-novice/dist/src/monitoring/apm/newrelic-collector.js.map +1 -0
- package/.claude-flow-novice/dist/src/monitoring/apm/performance-optimizer.js +612 -0
- package/.claude-flow-novice/dist/src/monitoring/apm/performance-optimizer.js.map +1 -0
- package/.claude-flow-novice/dist/src/monitoring/metrics-collector.js +282 -0
- package/.claude-flow-novice/dist/src/monitoring/metrics-collector.js.map +1 -0
- package/.claude-flow-novice/dist/src/observability/metrics-counter.js +268 -0
- package/.claude-flow-novice/dist/src/observability/metrics-counter.js.map +1 -0
- package/.claude-flow-novice/dist/src/observability/metrics-storage.js +265 -0
- package/.claude-flow-novice/dist/src/observability/metrics-storage.js.map +1 -0
- package/.claude-flow-novice/dist/src/observability/telemetry.js +26 -0
- package/.claude-flow-novice/dist/src/observability/telemetry.js.map +1 -1
- package/.claude-flow-novice/dist/src/providers/tiered-router.js +64 -10
- package/.claude-flow-novice/dist/src/providers/tiered-router.js.map +1 -1
- package/.claude-flow-novice/dist/src/providers/zai-provider.js +196 -97
- package/.claude-flow-novice/dist/src/providers/zai-provider.js.map +1 -1
- package/.claude-flow-novice/dist/src/slash-commands/cfn-claude-sync.js +533 -0
- package/.claude-flow-novice/dist/src/slash-commands/index.js +5 -0
- package/.claude-flow-novice/dist/src/slash-commands/metrics-summary-class.js +74 -0
- package/.claude-flow-novice/dist/src/slash-commands/metrics-summary.js +335 -0
- package/.claude-flow-novice/dist/src/slash-commands/register-all-commands.js +12 -0
- package/.claude-flow-novice/dist/src/verification/checkpoint-compression-demo.js +96 -0
- package/.claude-flow-novice/dist/src/verification/checkpoint-compression-demo.js.map +1 -0
- package/.claude-flow-novice/dist/src/verification/checkpoint-compression.js +406 -0
- package/.claude-flow-novice/dist/src/verification/checkpoint-compression.js.map +1 -0
- package/.claude-flow-novice/dist/src/verification/checkpoint-manager.js +35 -5
- package/.claude-flow-novice/dist/src/verification/checkpoint-manager.js.map +1 -1
- package/.claude-flow-novice/dist/src/web/api/apm-routes.js +355 -0
- package/.claude-flow-novice/dist/src/web/api/apm-routes.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/config/api-config.js +186 -0
- package/.claude-flow-novice/dist/src/web/api/config/api-config.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/middleware/auth.js +205 -0
- package/.claude-flow-novice/dist/src/web/api/middleware/auth.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/middleware/cache.js +262 -0
- package/.claude-flow-novice/dist/src/web/api/middleware/cache.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/middleware/error-handler.js +250 -0
- package/.claude-flow-novice/dist/src/web/api/middleware/error-handler.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/middleware/request-logger.js +217 -0
- package/.claude-flow-novice/dist/src/web/api/middleware/request-logger.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/middleware/validation.js +325 -0
- package/.claude-flow-novice/dist/src/web/api/middleware/validation.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/routes/events.js +465 -0
- package/.claude-flow-novice/dist/src/web/api/routes/events.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/routes/hierarchy.js +302 -0
- package/.claude-flow-novice/dist/src/web/api/routes/hierarchy.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/routes/index.js +14 -0
- package/.claude-flow-novice/dist/src/web/api/routes/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/routes/metrics.js +561 -0
- package/.claude-flow-novice/dist/src/web/api/routes/metrics.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/routes/status.js +450 -0
- package/.claude-flow-novice/dist/src/web/api/routes/status.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/server.js +451 -0
- package/.claude-flow-novice/dist/src/web/api/server.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/dashboard/hooks/useWebSocket.js +385 -0
- package/.claude-flow-novice/dist/src/web/dashboard/hooks/useWebSocket.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/dashboard/index.js +87 -0
- package/.claude-flow-novice/dist/src/web/dashboard/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/dashboard/types.js +6 -0
- package/.claude-flow-novice/dist/src/web/dashboard/types.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/frontend/src/utils/security.js +425 -0
- package/.claude-flow-novice/dist/src/web/frontend/src/utils/security.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/security/security-middleware.js +379 -0
- package/.claude-flow-novice/dist/src/web/security/security-middleware.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/websocket/apm-websocket-handler.js +441 -0
- package/.claude-flow-novice/dist/src/web/websocket/apm-websocket-handler.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/websocket/websocket-manager.js +255 -1
- package/.claude-flow-novice/dist/src/web/websocket/websocket-manager.js.map +1 -1
- package/.claude-flow-novice/metrics.db +0 -0
- package/.claude-flow-novice/metrics.db-shm +0 -0
- package/.claude-flow-novice/metrics.db-wal +0 -0
- package/AGENT_PERFORMANCE_GUIDELINES.md +88 -0
- package/CLAUDE.md +60 -3
- package/MEMORY_LEAK_ROOT_CAUSE.md +149 -0
- package/README.md +27 -0
- package/config/hooks/post-edit-pipeline.js +36 -2
- package/examples/metrics-counter-demo.ts +106 -0
- package/examples/persistent-metrics-demo.ts +83 -0
- package/examples/phase-5-multi-level-control.ts +282 -0
- package/examples/session-pool-optimizer-example.ts +311 -0
- package/package.json +18 -4
- package/scripts/check-routing-stats.cjs +122 -0
- package/scripts/monitor-loop.sh +65 -0
- package/scripts/monitor-memory.sh +47 -0
- package/scripts/monitor.py +43 -0
- package/scripts/pre-publish-validation.cjs +212 -0
- package/scripts/test-provider-routing.cjs +228 -0
- package/scripts/test-routing-telemetry.cjs +147 -0
- package/scripts/test-zai-10k.cjs +81 -0
- package/scripts/test-zai-api.cjs +191 -0
- package/scripts/test-zai-diagnostic.cjs +151 -0
- package/scripts/test-zai-final.cjs +128 -0
- package/scripts/test-zai-with-env.cjs +85 -0
- package/scripts/validate-coordination-cli.js +69 -0
- package/scripts/validate-coordination-toggle-integration.cjs +501 -0
- package/src/cli/simple-commands/init/templates/CLAUDE.md +29 -0
- package/src/observability/metrics-counter.ts +347 -0
- package/src/observability/metrics-storage.ts +356 -0
- package/src/observability/telemetry.ts +658 -0
- package/src/slash-commands/cfn-claude-sync.js +533 -0
- package/src/slash-commands/index.js +5 -0
- package/src/slash-commands/metrics-summary-class.js +74 -0
- package/src/slash-commands/metrics-summary.js +335 -0
- package/src/slash-commands/register-all-commands.js +12 -0
|
@@ -0,0 +1,406 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checkpoint Compression Module
|
|
3
|
+
*
|
|
4
|
+
* Implements 60% storage reduction for checkpoints through:
|
|
5
|
+
* 1. Structural optimization (remove redundant fields)
|
|
6
|
+
* 2. Delta compression (store only changes between checkpoints)
|
|
7
|
+
* 3. Deduplication (shared state across checkpoints)
|
|
8
|
+
* 4. Gzip compression (tuned compression levels)
|
|
9
|
+
*
|
|
10
|
+
* @module verification/checkpoint-compression
|
|
11
|
+
*/ import { gzip, gunzip } from 'zlib';
|
|
12
|
+
import { promisify } from 'util';
|
|
13
|
+
import { createHash } from 'crypto';
|
|
14
|
+
const gzipAsync = promisify(gzip);
|
|
15
|
+
const gunzipAsync = promisify(gunzip);
|
|
16
|
+
// ===== CHECKPOINT COMPRESSOR =====
|
|
17
|
+
export class CheckpointCompressor {
|
|
18
|
+
config;
|
|
19
|
+
sharedStateStore;
|
|
20
|
+
checkpointHistory;
|
|
21
|
+
constructor(config){
|
|
22
|
+
this.config = {
|
|
23
|
+
gzipLevel: config?.gzipLevel ?? 6,
|
|
24
|
+
enableDelta: config?.enableDelta ?? true,
|
|
25
|
+
enableDeduplication: config?.enableDeduplication ?? true,
|
|
26
|
+
minSizeForCompression: config?.minSizeForCompression ?? 100
|
|
27
|
+
};
|
|
28
|
+
this.sharedStateStore = {
|
|
29
|
+
store: new Map(),
|
|
30
|
+
refCount: new Map()
|
|
31
|
+
};
|
|
32
|
+
this.checkpointHistory = new Map();
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Compress a checkpoint with all optimization techniques
|
|
36
|
+
*/ async compress(checkpoint) {
|
|
37
|
+
const startTime = Date.now();
|
|
38
|
+
// Step 1: Structural optimization (remove redundant fields)
|
|
39
|
+
const optimized = this.structuralOptimization(checkpoint);
|
|
40
|
+
// Step 2: Calculate original size
|
|
41
|
+
const originalData = JSON.stringify(optimized);
|
|
42
|
+
const originalSize = Buffer.byteLength(originalData, 'utf8');
|
|
43
|
+
// Step 3: Delta compression (if previous checkpoint exists)
|
|
44
|
+
let delta = null;
|
|
45
|
+
let previousCheckpointId = null;
|
|
46
|
+
if (this.config.enableDelta) {
|
|
47
|
+
const deltaResult = await this.deltaCompression(checkpoint, optimized);
|
|
48
|
+
delta = deltaResult.delta;
|
|
49
|
+
previousCheckpointId = deltaResult.previousCheckpointId;
|
|
50
|
+
}
|
|
51
|
+
// Step 4: Deduplication (extract shared state)
|
|
52
|
+
const sharedStateRefs = [];
|
|
53
|
+
let stateSnapshot = optimized.state_snapshot;
|
|
54
|
+
if (this.config.enableDeduplication) {
|
|
55
|
+
const dedupResult = await this.deduplicateState(stateSnapshot);
|
|
56
|
+
stateSnapshot = dedupResult.dedupedSnapshot;
|
|
57
|
+
sharedStateRefs.push(...dedupResult.sharedRefs);
|
|
58
|
+
}
|
|
59
|
+
// Step 5: Gzip compression for validations
|
|
60
|
+
const validationsData = JSON.stringify(optimized.validations);
|
|
61
|
+
const validationsBuffer = await this.gzipCompress(Buffer.from(validationsData, 'utf8'));
|
|
62
|
+
// Step 6: Calculate compressed size
|
|
63
|
+
const deltaSize = delta ? delta.length : 0;
|
|
64
|
+
const validationsSize = validationsBuffer.length;
|
|
65
|
+
const metadataSize = this.estimateMetadataSize(checkpoint);
|
|
66
|
+
const compressedSize = deltaSize + validationsSize + metadataSize;
|
|
67
|
+
const compressionRatio = compressedSize / originalSize;
|
|
68
|
+
const compressed = {
|
|
69
|
+
id: checkpoint.id,
|
|
70
|
+
type: checkpoint.type,
|
|
71
|
+
agent_id: checkpoint.agent_id,
|
|
72
|
+
task_id: checkpoint.task_id,
|
|
73
|
+
timestamp: checkpoint.timestamp,
|
|
74
|
+
required: checkpoint.required,
|
|
75
|
+
description: checkpoint.description,
|
|
76
|
+
scope: checkpoint.scope,
|
|
77
|
+
previousCheckpointId,
|
|
78
|
+
delta,
|
|
79
|
+
sharedStateRefs,
|
|
80
|
+
validations: validationsBuffer,
|
|
81
|
+
compressionMeta: {
|
|
82
|
+
originalSize,
|
|
83
|
+
compressedSize,
|
|
84
|
+
compressionRatio,
|
|
85
|
+
gzipLevel: this.config.gzipLevel,
|
|
86
|
+
deltaCompression: delta !== null,
|
|
87
|
+
deduplication: sharedStateRefs.length > 0,
|
|
88
|
+
compressedAt: Date.now()
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
// Store in history for future delta compression
|
|
92
|
+
this.checkpointHistory.set(checkpoint.id, compressed);
|
|
93
|
+
return compressed;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Decompress a checkpoint back to original format
|
|
97
|
+
*/ async decompress(compressed) {
|
|
98
|
+
// Step 1: Decompress validations
|
|
99
|
+
const validationsBuffer = await this.gzipDecompress(compressed.validations);
|
|
100
|
+
const validations = JSON.parse(validationsBuffer.toString('utf8'));
|
|
101
|
+
// Step 2: Reconstruct state from delta or shared refs
|
|
102
|
+
let state_snapshot;
|
|
103
|
+
if (compressed.delta && compressed.previousCheckpointId) {
|
|
104
|
+
// Delta decompression
|
|
105
|
+
state_snapshot = await this.reconstructFromDelta(compressed.delta, compressed.previousCheckpointId);
|
|
106
|
+
} else {
|
|
107
|
+
// Direct reconstruction
|
|
108
|
+
state_snapshot = await this.reconstructFromSharedRefs(compressed.sharedStateRefs);
|
|
109
|
+
}
|
|
110
|
+
const checkpoint = {
|
|
111
|
+
id: compressed.id,
|
|
112
|
+
type: compressed.type,
|
|
113
|
+
agent_id: compressed.agent_id,
|
|
114
|
+
task_id: compressed.task_id,
|
|
115
|
+
timestamp: compressed.timestamp,
|
|
116
|
+
required: compressed.required,
|
|
117
|
+
validations,
|
|
118
|
+
state_snapshot,
|
|
119
|
+
description: compressed.description,
|
|
120
|
+
scope: compressed.scope
|
|
121
|
+
};
|
|
122
|
+
return checkpoint;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Step 1: Structural optimization - remove redundant/unnecessary fields
|
|
126
|
+
*/ structuralOptimization(checkpoint) {
|
|
127
|
+
// Create optimized copy with only essential fields
|
|
128
|
+
const optimized = {
|
|
129
|
+
...checkpoint
|
|
130
|
+
};
|
|
131
|
+
// Remove null/undefined fields
|
|
132
|
+
Object.keys(optimized).forEach((key)=>{
|
|
133
|
+
if (optimized[key] === null || optimized[key] === undefined) {
|
|
134
|
+
delete optimized[key];
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
// Optimize state_snapshot by removing empty collections
|
|
138
|
+
if (optimized.state_snapshot) {
|
|
139
|
+
const snapshot = optimized.state_snapshot;
|
|
140
|
+
// Remove empty Maps
|
|
141
|
+
if (snapshot.agent_states && snapshot.agent_states.size === 0) {
|
|
142
|
+
snapshot.agent_states = new Map();
|
|
143
|
+
}
|
|
144
|
+
if (snapshot.task_states && snapshot.task_states.size === 0) {
|
|
145
|
+
snapshot.task_states = new Map();
|
|
146
|
+
}
|
|
147
|
+
// Remove redundant metadata fields if they match defaults
|
|
148
|
+
if (snapshot.metadata) {
|
|
149
|
+
if (snapshot.metadata.version === '2.0') delete snapshot.metadata.version;
|
|
150
|
+
if (snapshot.metadata.compression_ratio === 1.0) delete snapshot.metadata.compression_ratio;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return optimized;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Step 2: Delta compression - store only changes from previous checkpoint
|
|
157
|
+
*/ async deltaCompression(checkpoint, optimized) {
|
|
158
|
+
// Find previous checkpoint for same agent/task
|
|
159
|
+
const previous = this.findPreviousCheckpoint(checkpoint.agent_id, checkpoint.task_id);
|
|
160
|
+
if (!previous) {
|
|
161
|
+
// No previous checkpoint, store full state
|
|
162
|
+
return {
|
|
163
|
+
delta: null,
|
|
164
|
+
previousCheckpointId: null
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
// Decompress previous checkpoint to get full state
|
|
168
|
+
const previousFull = await this.decompress(previous);
|
|
169
|
+
// Calculate delta (only changed fields)
|
|
170
|
+
const delta = this.calculateDelta(previousFull, optimized);
|
|
171
|
+
// Compress delta
|
|
172
|
+
const deltaJson = JSON.stringify(delta);
|
|
173
|
+
const deltaBuffer = await this.gzipCompress(Buffer.from(deltaJson, 'utf8'));
|
|
174
|
+
return {
|
|
175
|
+
delta: deltaBuffer,
|
|
176
|
+
previousCheckpointId: previous.id
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Calculate delta between two checkpoints
|
|
181
|
+
*/ calculateDelta(previous, current) {
|
|
182
|
+
const delta = {};
|
|
183
|
+
// Compare top-level fields
|
|
184
|
+
for (const key of Object.keys(current)){
|
|
185
|
+
if (key === 'id' || key === 'timestamp') {
|
|
186
|
+
// Always include these
|
|
187
|
+
delta[key] = current[key];
|
|
188
|
+
} else if (JSON.stringify(previous[key]) !== JSON.stringify(current[key])) {
|
|
189
|
+
// Field changed
|
|
190
|
+
delta[key] = current[key];
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return delta;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Step 3: Deduplication - extract shared state into store
|
|
197
|
+
*/ async deduplicateState(snapshot) {
|
|
198
|
+
const sharedRefs = [];
|
|
199
|
+
const dedupedSnapshot = {
|
|
200
|
+
...snapshot
|
|
201
|
+
};
|
|
202
|
+
// Deduplicate agent_states
|
|
203
|
+
if (snapshot.agent_states && snapshot.agent_states.size > 0) {
|
|
204
|
+
for (const [agentId, agentState] of Array.from(snapshot.agent_states.entries())){
|
|
205
|
+
const stateJson = JSON.stringify(agentState);
|
|
206
|
+
const hash = this.hashContent(stateJson);
|
|
207
|
+
if (!this.sharedStateStore.store.has(hash)) {
|
|
208
|
+
// First occurrence, store it
|
|
209
|
+
const compressed = await this.gzipCompress(Buffer.from(stateJson, 'utf8'));
|
|
210
|
+
this.sharedStateStore.store.set(hash, compressed);
|
|
211
|
+
this.sharedStateStore.refCount.set(hash, 1);
|
|
212
|
+
} else {
|
|
213
|
+
// Already stored, increment ref count
|
|
214
|
+
const count = this.sharedStateStore.refCount.get(hash) || 0;
|
|
215
|
+
this.sharedStateStore.refCount.set(hash, count + 1);
|
|
216
|
+
}
|
|
217
|
+
sharedRefs.push(hash);
|
|
218
|
+
}
|
|
219
|
+
// Clear agent_states from snapshot (replaced by refs)
|
|
220
|
+
dedupedSnapshot.agent_states = new Map();
|
|
221
|
+
}
|
|
222
|
+
// Deduplicate task_states
|
|
223
|
+
if (snapshot.task_states && snapshot.task_states.size > 0) {
|
|
224
|
+
for (const [taskId, taskState] of Array.from(snapshot.task_states.entries())){
|
|
225
|
+
const stateJson = JSON.stringify(taskState);
|
|
226
|
+
const hash = this.hashContent(stateJson);
|
|
227
|
+
if (!this.sharedStateStore.store.has(hash)) {
|
|
228
|
+
const compressed = await this.gzipCompress(Buffer.from(stateJson, 'utf8'));
|
|
229
|
+
this.sharedStateStore.store.set(hash, compressed);
|
|
230
|
+
this.sharedStateStore.refCount.set(hash, 1);
|
|
231
|
+
} else {
|
|
232
|
+
const count = this.sharedStateStore.refCount.get(hash) || 0;
|
|
233
|
+
this.sharedStateStore.refCount.set(hash, count + 1);
|
|
234
|
+
}
|
|
235
|
+
sharedRefs.push(hash);
|
|
236
|
+
}
|
|
237
|
+
dedupedSnapshot.task_states = new Map();
|
|
238
|
+
}
|
|
239
|
+
return {
|
|
240
|
+
dedupedSnapshot,
|
|
241
|
+
sharedRefs
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Step 4: Gzip compression with tuned level
|
|
246
|
+
*/ async gzipCompress(data) {
|
|
247
|
+
if (data.length < this.config.minSizeForCompression) {
|
|
248
|
+
return data; // Skip compression for small data
|
|
249
|
+
}
|
|
250
|
+
return gzipAsync(data, {
|
|
251
|
+
level: this.config.gzipLevel
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Gzip decompression
|
|
256
|
+
*/ async gzipDecompress(data) {
|
|
257
|
+
try {
|
|
258
|
+
return await gunzipAsync(data);
|
|
259
|
+
} catch {
|
|
260
|
+
// Data wasn't compressed (below min size threshold)
|
|
261
|
+
return data;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Reconstruct state from delta
|
|
266
|
+
*/ async reconstructFromDelta(deltaBuffer, previousCheckpointId) {
|
|
267
|
+
// Get previous checkpoint
|
|
268
|
+
const previous = this.checkpointHistory.get(previousCheckpointId);
|
|
269
|
+
if (!previous) {
|
|
270
|
+
throw new Error(`Previous checkpoint ${previousCheckpointId} not found`);
|
|
271
|
+
}
|
|
272
|
+
// Decompress previous checkpoint
|
|
273
|
+
const previousFull = await this.decompress(previous);
|
|
274
|
+
// Decompress delta
|
|
275
|
+
const deltaJson = await this.gzipDecompress(deltaBuffer);
|
|
276
|
+
const delta = JSON.parse(deltaJson.toString('utf8'));
|
|
277
|
+
// Apply delta to previous state
|
|
278
|
+
const reconstructed = {
|
|
279
|
+
...previousFull,
|
|
280
|
+
...delta
|
|
281
|
+
};
|
|
282
|
+
return reconstructed.state_snapshot;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Reconstruct state from shared refs
|
|
286
|
+
*/ async reconstructFromSharedRefs(sharedRefs) {
|
|
287
|
+
const agent_states = new Map();
|
|
288
|
+
const task_states = new Map();
|
|
289
|
+
for (const hash of sharedRefs){
|
|
290
|
+
const compressed = this.sharedStateStore.store.get(hash);
|
|
291
|
+
if (!compressed) continue;
|
|
292
|
+
const decompressed = await this.gzipDecompress(compressed);
|
|
293
|
+
const state = JSON.parse(decompressed.toString('utf8'));
|
|
294
|
+
// Determine if agent or task state based on structure
|
|
295
|
+
if (state.id && state.status && state.capabilities) {
|
|
296
|
+
agent_states.set(state.id, state);
|
|
297
|
+
} else if (state.id && state.status && state.assigned_agent !== undefined) {
|
|
298
|
+
task_states.set(state.id, state);
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
return {
|
|
302
|
+
id: `snapshot_${Date.now()}`,
|
|
303
|
+
timestamp: Date.now(),
|
|
304
|
+
agent_states,
|
|
305
|
+
task_states,
|
|
306
|
+
system_state: {},
|
|
307
|
+
memory_state: {},
|
|
308
|
+
file_system_state: {},
|
|
309
|
+
database_state: {},
|
|
310
|
+
checksum: '',
|
|
311
|
+
metadata: {}
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Find previous checkpoint for same agent/task
|
|
316
|
+
*/ findPreviousCheckpoint(agentId, taskId) {
|
|
317
|
+
let latest = null;
|
|
318
|
+
let latestTimestamp = 0;
|
|
319
|
+
for (const checkpoint of Array.from(this.checkpointHistory.values())){
|
|
320
|
+
if (checkpoint.agent_id === agentId && checkpoint.task_id === taskId && checkpoint.timestamp > latestTimestamp) {
|
|
321
|
+
latest = checkpoint;
|
|
322
|
+
latestTimestamp = checkpoint.timestamp;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
return latest;
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Hash content for deduplication
|
|
329
|
+
*/ hashContent(content) {
|
|
330
|
+
return createHash('sha256').update(content).digest('hex').substring(0, 16);
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Estimate metadata size
|
|
334
|
+
*/ estimateMetadataSize(checkpoint) {
|
|
335
|
+
// Rough estimate: id + type + agent_id + task_id + timestamps + scope
|
|
336
|
+
return 200; // bytes
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Get compression statistics
|
|
340
|
+
*/ getCompressionStats() {
|
|
341
|
+
let totalOriginal = 0;
|
|
342
|
+
let totalCompressed = 0;
|
|
343
|
+
for (const checkpoint of Array.from(this.checkpointHistory.values())){
|
|
344
|
+
totalOriginal += checkpoint.compressionMeta.originalSize;
|
|
345
|
+
totalCompressed += checkpoint.compressionMeta.compressedSize;
|
|
346
|
+
}
|
|
347
|
+
const averageRatio = totalOriginal > 0 ? totalCompressed / totalOriginal : 0;
|
|
348
|
+
const savings = totalOriginal - totalCompressed;
|
|
349
|
+
return {
|
|
350
|
+
totalCheckpoints: this.checkpointHistory.size,
|
|
351
|
+
averageCompressionRatio: averageRatio,
|
|
352
|
+
totalOriginalSize: totalOriginal,
|
|
353
|
+
totalCompressedSize: totalCompressed,
|
|
354
|
+
totalSavings: savings,
|
|
355
|
+
sharedStateCount: this.sharedStateStore.store.size
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Clear checkpoint history and shared state
|
|
360
|
+
*/ clear() {
|
|
361
|
+
this.checkpointHistory.clear();
|
|
362
|
+
this.sharedStateStore.store.clear();
|
|
363
|
+
this.sharedStateStore.refCount.clear();
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Garbage collect unused shared state
|
|
367
|
+
*/ gcSharedState() {
|
|
368
|
+
let removedCount = 0;
|
|
369
|
+
for (const [hash, refCount] of Array.from(this.sharedStateStore.refCount.entries())){
|
|
370
|
+
if (refCount === 0) {
|
|
371
|
+
this.sharedStateStore.store.delete(hash);
|
|
372
|
+
this.sharedStateStore.refCount.delete(hash);
|
|
373
|
+
removedCount++;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
return removedCount;
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* Decrease reference count when checkpoint is deleted
|
|
380
|
+
*/ decrementRefs(checkpoint) {
|
|
381
|
+
for (const hash of checkpoint.sharedStateRefs){
|
|
382
|
+
const count = this.sharedStateStore.refCount.get(hash) || 0;
|
|
383
|
+
if (count > 0) {
|
|
384
|
+
this.sharedStateStore.refCount.set(hash, count - 1);
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* Create a checkpoint compressor instance
|
|
391
|
+
*/ export function createCheckpointCompressor(config) {
|
|
392
|
+
return new CheckpointCompressor(config);
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* Utility: Compress checkpoint with default config
|
|
396
|
+
*/ export async function compressCheckpoint(checkpoint) {
|
|
397
|
+
const compressor = createCheckpointCompressor();
|
|
398
|
+
return compressor.compress(checkpoint);
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Utility: Decompress checkpoint
|
|
402
|
+
*/ export async function decompressCheckpoint(compressed, compressor) {
|
|
403
|
+
return compressor.decompress(compressed);
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
//# sourceMappingURL=checkpoint-compression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/verification/checkpoint-compression.ts"],"names":["gzip","gunzip","promisify","createHash","gzipAsync","gunzipAsync","CheckpointCompressor","config","sharedStateStore","checkpointHistory","gzipLevel","enableDelta","enableDeduplication","minSizeForCompression","store","Map","refCount","compress","checkpoint","startTime","Date","now","optimized","structuralOptimization","originalData","JSON","stringify","originalSize","Buffer","byteLength","delta","previousCheckpointId","deltaResult","deltaCompression","sharedStateRefs","stateSnapshot","state_snapshot","dedupResult","deduplicateState","dedupedSnapshot","push","sharedRefs","validationsData","validations","validationsBuffer","gzipCompress","from","deltaSize","length","validationsSize","metadataSize","estimateMetadataSize","compressedSize","compressionRatio","compressed","id","type","agent_id","task_id","timestamp","required","description","scope","compressionMeta","deduplication","compressedAt","set","decompress","gzipDecompress","parse","toString","reconstructFromDelta","reconstructFromSharedRefs","Object","keys","forEach","key","undefined","snapshot","agent_states","size","task_states","metadata","version","compression_ratio","previous","findPreviousCheckpoint","previousFull","calculateDelta","deltaJson","deltaBuffer","current","agentId","agentState","Array","entries","stateJson","hash","hashContent","has","count","get","taskId","taskState","data","level","Error","reconstructed","decompressed","state","status","capabilities","assigned_agent","system_state","memory_state","file_system_state","database_state","checksum","latest","latestTimestamp","values","content","update","digest","substring","getCompressionStats","totalOriginal","totalCompressed","averageRatio","savings","totalCheckpoints","averageCompressionRatio","totalOriginalSize","totalCompressedSize","totalSavings","sharedStateCount","clear","gcSharedState","removedCount","delete","decrementRefs","createCheckpointCompressor","compressCheckpoint","compressor","decompressCheckpoint"],"mappings":"AAAA;;;;;;;;;;CAUC,GAED,SAASA,IAAI,EAAEC,MAAM,QAAQ,OAAO;AACpC,SAASC,SAAS,QAAQ,OAAO;AACjC,SAASC,UAAU,QAAQ,SAAS;AAGpC,MAAMC,YAAYF,UAAUF;AAC5B,MAAMK,cAAcH,UAAUD;AAgF9B,oCAAoC;AAEpC,OAAO,MAAMK;IACHC,OAA0B;IAC1BC,iBAAmC;IACnCC,kBAAqD;IAE7D,YAAYF,MAAmC,CAAE;QAC/C,IAAI,CAACA,MAAM,GAAG;YACZG,WAAWH,QAAQG,aAAa;YAChCC,aAAaJ,QAAQI,eAAe;YACpCC,qBAAqBL,QAAQK,uBAAuB;YACpDC,uBAAuBN,QAAQM,yBAAyB;QAC1D;QAEA,IAAI,CAACL,gBAAgB,GAAG;YACtBM,OAAO,IAAIC;YACXC,UAAU,IAAID;QAChB;QAEA,IAAI,CAACN,iBAAiB,GAAG,IAAIM;IAC/B;IAEA;;GAEC,GACD,MAAME,SAASC,UAAsB,EAAiC;QACpE,MAAMC,YAAYC,KAAKC,GAAG;QAE1B,4DAA4D;QAC5D,MAAMC,YAAY,IAAI,CAACC,sBAAsB,CAACL;QAE9C,kCAAkC;QAClC,MAAMM,eAAeC,KAAKC,SAAS,CAACJ;QACpC,MAAMK,eAAeC,OAAOC,UAAU,CAACL,cAAc;QAErD,4DAA4D;QAC5D,IAAIM,QAAuB;QAC3B,IAAIC,uBAAsC;QAE1C,IAAI,IAAI,CAACxB,MAAM,CAACI,WAAW,EAAE;YAC3B,MAAMqB,cAAc,MAAM,IAAI,CAACC,gBAAgB,CAACf,YAAYI;YAC5DQ,QAAQE,YAAYF,KAAK;YACzBC,uBAAuBC,YAAYD,oBAAoB;QACzD;QAEA,+CAA+C;QAC/C,MAAMG,kBAA4B,EAAE;QACpC,IAAIC,gBAAgBb,UAAUc,cAAc;QAE5C,IAAI,IAAI,CAAC7B,MAAM,CAACK,mBAAmB,EAAE;YACnC,MAAMyB,cAAc,MAAM,IAAI,CAACC,gBAAgB,CAACH;YAChDA,gBAAgBE,YAAYE,eAAe;YAC3CL,gBAAgBM,IAAI,IAAIH,YAAYI,UAAU;QAChD;QAEA,2CAA2C;QAC3C,MAAMC,kBAAkBjB,KAAKC,SAAS,CAACJ,UAAUqB,WAAW;QAC5D,MAAMC,oBAAoB,MAAM,IAAI,CAACC,YAAY,CAACjB,OAAOkB,IAAI,CAACJ,iBAAiB;QAE/E,oCAAoC;QACpC,MAAMK,YAAYjB,QAAQA,MAAMkB,MAAM,GAAG;QACzC,MAAMC,kBAAkBL,kBAAkBI,MAAM;QAChD,MAAME,eAAe,IAAI,CAACC,oBAAoB,CAACjC;QAC/C,MAAMkC,iBAAiBL,YAAYE,kBAAkBC;QAErD,MAAMG,mBAAmBD,iBAAiBzB;QAE1C,MAAM2B,aAAmC;YACvCC,IAAIrC,WAAWqC,EAAE;YACjBC,MAAMtC,WAAWsC,IAAI;YACrBC,UAAUvC,WAAWuC,QAAQ;YAC7BC,SAASxC,WAAWwC,OAAO;YAC3BC,WAAWzC,WAAWyC,SAAS;YAC/BC,UAAU1C,WAAW0C,QAAQ;YAC7BC,aAAa3C,WAAW2C,WAAW;YACnCC,OAAO5C,WAAW4C,KAAK;YACvB/B;YACAD;YACAI;YACAS,aAAaC;YACbmB,iBAAiB;gBACfpC;gBACAyB;gBACAC;gBACA3C,WAAW,IAAI,CAACH,MAAM,CAACG,SAAS;gBAChCuB,kBAAkBH,UAAU;gBAC5BkC,eAAe9B,gBAAgBc,MAAM,GAAG;gBACxCiB,cAAc7C,KAAKC,GAAG;YACxB;QACF;QAEA,gDAAgD;QAChD,IAAI,CAACZ,iBAAiB,CAACyD,GAAG,CAAChD,WAAWqC,EAAE,EAAED;QAE1C,OAAOA;IACT;IAEA;;GAEC,GACD,MAAMa,WAAWb,UAAgC,EAAuB;QACtE,iCAAiC;QACjC,MAAMV,oBAAoB,MAAM,IAAI,CAACwB,cAAc,CAACd,WAAWX,WAAW;QAC1E,MAAMA,cAAclB,KAAK4C,KAAK,CAACzB,kBAAkB0B,QAAQ,CAAC;QAE1D,sDAAsD;QACtD,IAAIlC;QAEJ,IAAIkB,WAAWxB,KAAK,IAAIwB,WAAWvB,oBAAoB,EAAE;YACvD,sBAAsB;YACtBK,iBAAiB,MAAM,IAAI,CAACmC,oBAAoB,CAC9CjB,WAAWxB,KAAK,EAChBwB,WAAWvB,oBAAoB;QAEnC,OAAO;YACL,wBAAwB;YACxBK,iBAAiB,MAAM,IAAI,CAACoC,yBAAyB,CAAClB,WAAWpB,eAAe;QAClF;QAEA,MAAMhB,aAAyB;YAC7BqC,IAAID,WAAWC,EAAE;YACjBC,MAAMF,WAAWE,IAAI;YACrBC,UAAUH,WAAWG,QAAQ;YAC7BC,SAASJ,WAAWI,OAAO;YAC3BC,WAAWL,WAAWK,SAAS;YAC/BC,UAAUN,WAAWM,QAAQ;YAC7BjB;YACAP;YACAyB,aAAaP,WAAWO,WAAW;YACnCC,OAAOR,WAAWQ,KAAK;QACzB;QAEA,OAAO5C;IACT;IAEA;;GAEC,GACD,AAAQK,uBAAuBL,UAAsB,EAAc;QACjE,mDAAmD;QACnD,MAAMI,YAAY;YAAE,GAAGJ,UAAU;QAAC;QAElC,+BAA+B;QAC/BuD,OAAOC,IAAI,CAACpD,WAAWqD,OAAO,CAAC,CAACC;YAC9B,IAAI,AAACtD,SAAiB,CAACsD,IAAI,KAAK,QAAQ,AAACtD,SAAiB,CAACsD,IAAI,KAAKC,WAAW;gBAC7E,OAAO,AAACvD,SAAiB,CAACsD,IAAI;YAChC;QACF;QAEA,wDAAwD;QACxD,IAAItD,UAAUc,cAAc,EAAE;YAC5B,MAAM0C,WAAWxD,UAAUc,cAAc;YAEzC,oBAAoB;YACpB,IAAI0C,SAASC,YAAY,IAAID,SAASC,YAAY,CAACC,IAAI,KAAK,GAAG;gBAC7DF,SAASC,YAAY,GAAG,IAAIhE;YAC9B;YACA,IAAI+D,SAASG,WAAW,IAAIH,SAASG,WAAW,CAACD,IAAI,KAAK,GAAG;gBAC3DF,SAASG,WAAW,GAAG,IAAIlE;YAC7B;YAEA,0DAA0D;YAC1D,IAAI+D,SAASI,QAAQ,EAAE;gBACrB,IAAIJ,SAASI,QAAQ,CAACC,OAAO,KAAK,OAAO,OAAOL,SAASI,QAAQ,CAACC,OAAO;gBACzE,IAAIL,SAASI,QAAQ,CAACE,iBAAiB,KAAK,KAAK,OAAON,SAASI,QAAQ,CAACE,iBAAiB;YAC7F;QACF;QAEA,OAAO9D;IACT;IAEA;;GAEC,GACD,MAAcW,iBACZf,UAAsB,EACtBI,SAAqB,EACmD;QACxE,+CAA+C;QAC/C,MAAM+D,WAAW,IAAI,CAACC,sBAAsB,CAACpE,WAAWuC,QAAQ,EAAEvC,WAAWwC,OAAO;QAEpF,IAAI,CAAC2B,UAAU;YACb,2CAA2C;YAC3C,OAAO;gBAAEvD,OAAO;gBAAMC,sBAAsB;YAAK;QACnD;QAEA,mDAAmD;QACnD,MAAMwD,eAAe,MAAM,IAAI,CAACpB,UAAU,CAACkB;QAE3C,wCAAwC;QACxC,MAAMvD,QAAQ,IAAI,CAAC0D,cAAc,CAACD,cAAcjE;QAEhD,iBAAiB;QACjB,MAAMmE,YAAYhE,KAAKC,SAAS,CAACI;QACjC,MAAM4D,cAAc,MAAM,IAAI,CAAC7C,YAAY,CAACjB,OAAOkB,IAAI,CAAC2C,WAAW;QAEnE,OAAO;YACL3D,OAAO4D;YACP3D,sBAAsBsD,SAAS9B,EAAE;QACnC;IACF;IAEA;;GAEC,GACD,AAAQiC,eAAeH,QAAoB,EAAEM,OAAmB,EAAO;QACrE,MAAM7D,QAAa,CAAC;QAEpB,2BAA2B;QAC3B,KAAK,MAAM8C,OAAOH,OAAOC,IAAI,CAACiB,SAAU;YACtC,IAAIf,QAAQ,QAAQA,QAAQ,aAAa;gBACvC,uBAAuB;gBACvB9C,KAAK,CAAC8C,IAAI,GAAG,AAACe,OAAe,CAACf,IAAI;YACpC,OAAO,IAAInD,KAAKC,SAAS,CAAC,AAAC2D,QAAgB,CAACT,IAAI,MAAMnD,KAAKC,SAAS,CAAC,AAACiE,OAAe,CAACf,IAAI,GAAG;gBAC3F,gBAAgB;gBAChB9C,KAAK,CAAC8C,IAAI,GAAG,AAACe,OAAe,CAACf,IAAI;YACpC;QACF;QAEA,OAAO9C;IACT;IAEA;;GAEC,GACD,MAAcQ,iBACZwC,QAAuB,EAC4C;QACnE,MAAMrC,aAAuB,EAAE;QAC/B,MAAMF,kBAAkB;YAAE,GAAGuC,QAAQ;QAAC;QAEtC,2BAA2B;QAC3B,IAAIA,SAASC,YAAY,IAAID,SAASC,YAAY,CAACC,IAAI,GAAG,GAAG;YAC3D,KAAK,MAAM,CAACY,SAASC,WAAW,IAAIC,MAAMhD,IAAI,CAACgC,SAASC,YAAY,CAACgB,OAAO,IAAK;gBAC/E,MAAMC,YAAYvE,KAAKC,SAAS,CAACmE;gBACjC,MAAMI,OAAO,IAAI,CAACC,WAAW,CAACF;gBAE9B,IAAI,CAAC,IAAI,CAACxF,gBAAgB,CAACM,KAAK,CAACqF,GAAG,CAACF,OAAO;oBAC1C,6BAA6B;oBAC7B,MAAM3C,aAAa,MAAM,IAAI,CAACT,YAAY,CAACjB,OAAOkB,IAAI,CAACkD,WAAW;oBAClE,IAAI,CAACxF,gBAAgB,CAACM,KAAK,CAACoD,GAAG,CAAC+B,MAAM3C;oBACtC,IAAI,CAAC9C,gBAAgB,CAACQ,QAAQ,CAACkD,GAAG,CAAC+B,MAAM;gBAC3C,OAAO;oBACL,sCAAsC;oBACtC,MAAMG,QAAQ,IAAI,CAAC5F,gBAAgB,CAACQ,QAAQ,CAACqF,GAAG,CAACJ,SAAS;oBAC1D,IAAI,CAACzF,gBAAgB,CAACQ,QAAQ,CAACkD,GAAG,CAAC+B,MAAMG,QAAQ;gBACnD;gBAEA3D,WAAWD,IAAI,CAACyD;YAClB;YAEA,sDAAsD;YACtD1D,gBAAgBwC,YAAY,GAAG,IAAIhE;QACrC;QAEA,0BAA0B;QAC1B,IAAI+D,SAASG,WAAW,IAAIH,SAASG,WAAW,CAACD,IAAI,GAAG,GAAG;YACzD,KAAK,MAAM,CAACsB,QAAQC,UAAU,IAAIT,MAAMhD,IAAI,CAACgC,SAASG,WAAW,CAACc,OAAO,IAAK;gBAC5E,MAAMC,YAAYvE,KAAKC,SAAS,CAAC6E;gBACjC,MAAMN,OAAO,IAAI,CAACC,WAAW,CAACF;gBAE9B,IAAI,CAAC,IAAI,CAACxF,gBAAgB,CAACM,KAAK,CAACqF,GAAG,CAACF,OAAO;oBAC1C,MAAM3C,aAAa,MAAM,IAAI,CAACT,YAAY,CAACjB,OAAOkB,IAAI,CAACkD,WAAW;oBAClE,IAAI,CAACxF,gBAAgB,CAACM,KAAK,CAACoD,GAAG,CAAC+B,MAAM3C;oBACtC,IAAI,CAAC9C,gBAAgB,CAACQ,QAAQ,CAACkD,GAAG,CAAC+B,MAAM;gBAC3C,OAAO;oBACL,MAAMG,QAAQ,IAAI,CAAC5F,gBAAgB,CAACQ,QAAQ,CAACqF,GAAG,CAACJ,SAAS;oBAC1D,IAAI,CAACzF,gBAAgB,CAACQ,QAAQ,CAACkD,GAAG,CAAC+B,MAAMG,QAAQ;gBACnD;gBAEA3D,WAAWD,IAAI,CAACyD;YAClB;YAEA1D,gBAAgB0C,WAAW,GAAG,IAAIlE;QACpC;QAEA,OAAO;YAAEwB;YAAiBE;QAAW;IACvC;IAEA;;GAEC,GACD,MAAcI,aAAa2D,IAAY,EAAmB;QACxD,IAAIA,KAAKxD,MAAM,GAAG,IAAI,CAACzC,MAAM,CAACM,qBAAqB,EAAE;YACnD,OAAO2F,MAAM,kCAAkC;QACjD;QAEA,OAAOpG,UAAUoG,MAAM;YAAEC,OAAO,IAAI,CAAClG,MAAM,CAACG,SAAS;QAAC;IACxD;IAEA;;GAEC,GACD,MAAc0D,eAAeoC,IAAY,EAAmB;QAC1D,IAAI;YACF,OAAO,MAAMnG,YAAYmG;QAC3B,EAAE,OAAM;YACN,oDAAoD;YACpD,OAAOA;QACT;IACF;IAEA;;GAEC,GACD,MAAcjC,qBACZmB,WAAmB,EACnB3D,oBAA4B,EACJ;QACxB,0BAA0B;QAC1B,MAAMsD,WAAW,IAAI,CAAC5E,iBAAiB,CAAC4F,GAAG,CAACtE;QAC5C,IAAI,CAACsD,UAAU;YACb,MAAM,IAAIqB,MAAM,CAAC,oBAAoB,EAAE3E,qBAAqB,UAAU,CAAC;QACzE;QAEA,iCAAiC;QACjC,MAAMwD,eAAe,MAAM,IAAI,CAACpB,UAAU,CAACkB;QAE3C,mBAAmB;QACnB,MAAMI,YAAY,MAAM,IAAI,CAACrB,cAAc,CAACsB;QAC5C,MAAM5D,QAAQL,KAAK4C,KAAK,CAACoB,UAAUnB,QAAQ,CAAC;QAE5C,gCAAgC;QAChC,MAAMqC,gBAAgB;YAAE,GAAGpB,YAAY;YAAE,GAAGzD,KAAK;QAAC;QAElD,OAAO6E,cAAcvE,cAAc;IACrC;IAEA;;GAEC,GACD,MAAcoC,0BAA0B/B,UAAoB,EAA0B;QACpF,MAAMsC,eAAe,IAAIhE;QACzB,MAAMkE,cAAc,IAAIlE;QAExB,KAAK,MAAMkF,QAAQxD,WAAY;YAC7B,MAAMa,aAAa,IAAI,CAAC9C,gBAAgB,CAACM,KAAK,CAACuF,GAAG,CAACJ;YACnD,IAAI,CAAC3C,YAAY;YAEjB,MAAMsD,eAAe,MAAM,IAAI,CAACxC,cAAc,CAACd;YAC/C,MAAMuD,QAAQpF,KAAK4C,KAAK,CAACuC,aAAatC,QAAQ,CAAC;YAE/C,sDAAsD;YACtD,IAAIuC,MAAMtD,EAAE,IAAIsD,MAAMC,MAAM,IAAID,MAAME,YAAY,EAAE;gBAClDhC,aAAab,GAAG,CAAC2C,MAAMtD,EAAE,EAAEsD;YAC7B,OAAO,IAAIA,MAAMtD,EAAE,IAAIsD,MAAMC,MAAM,IAAID,MAAMG,cAAc,KAAKnC,WAAW;gBACzEI,YAAYf,GAAG,CAAC2C,MAAMtD,EAAE,EAAEsD;YAC5B;QACF;QAEA,OAAO;YACLtD,IAAI,CAAC,SAAS,EAAEnC,KAAKC,GAAG,IAAI;YAC5BsC,WAAWvC,KAAKC,GAAG;YACnB0D;YACAE;YACAgC,cAAc,CAAC;YACfC,cAAc,CAAC;YACfC,mBAAmB,CAAC;YACpBC,gBAAgB,CAAC;YACjBC,UAAU;YACVnC,UAAU,CAAC;QACb;IACF;IAEA;;GAEC,GACD,AAAQI,uBAAuBM,OAAe,EAAEU,MAAc,EAA+B;QAC3F,IAAIgB,SAAsC;QAC1C,IAAIC,kBAAkB;QAEtB,KAAK,MAAMrG,cAAc4E,MAAMhD,IAAI,CAAC,IAAI,CAACrC,iBAAiB,CAAC+G,MAAM,IAAK;YACpE,IACEtG,WAAWuC,QAAQ,KAAKmC,WACxB1E,WAAWwC,OAAO,KAAK4C,UACvBpF,WAAWyC,SAAS,GAAG4D,iBACvB;gBACAD,SAASpG;gBACTqG,kBAAkBrG,WAAWyC,SAAS;YACxC;QACF;QAEA,OAAO2D;IACT;IAEA;;GAEC,GACD,AAAQpB,YAAYuB,OAAe,EAAU;QAC3C,OAAOtH,WAAW,UAAUuH,MAAM,CAACD,SAASE,MAAM,CAAC,OAAOC,SAAS,CAAC,GAAG;IACzE;IAEA;;GAEC,GACD,AAAQzE,qBAAqBjC,UAAsB,EAAU;QAC3D,sEAAsE;QACtE,OAAO,KAAK,QAAQ;IACtB;IAEA;;GAEC,GACD2G,sBAOE;QACA,IAAIC,gBAAgB;QACpB,IAAIC,kBAAkB;QAEtB,KAAK,MAAM7G,cAAc4E,MAAMhD,IAAI,CAAC,IAAI,CAACrC,iBAAiB,CAAC+G,MAAM,IAAK;YACpEM,iBAAiB5G,WAAW6C,eAAe,CAACpC,YAAY;YACxDoG,mBAAmB7G,WAAW6C,eAAe,CAACX,cAAc;QAC9D;QAEA,MAAM4E,eAAeF,gBAAgB,IAAIC,kBAAkBD,gBAAgB;QAC3E,MAAMG,UAAUH,gBAAgBC;QAEhC,OAAO;YACLG,kBAAkB,IAAI,CAACzH,iBAAiB,CAACuE,IAAI;YAC7CmD,yBAAyBH;YACzBI,mBAAmBN;YACnBO,qBAAqBN;YACrBO,cAAcL;YACdM,kBAAkB,IAAI,CAAC/H,gBAAgB,CAACM,KAAK,CAACkE,IAAI;QACpD;IACF;IAEA;;GAEC,GACDwD,QAAc;QACZ,IAAI,CAAC/H,iBAAiB,CAAC+H,KAAK;QAC5B,IAAI,CAAChI,gBAAgB,CAACM,KAAK,CAAC0H,KAAK;QACjC,IAAI,CAAChI,gBAAgB,CAACQ,QAAQ,CAACwH,KAAK;IACtC;IAEA;;GAEC,GACDC,gBAAwB;QACtB,IAAIC,eAAe;QAEnB,KAAK,MAAM,CAACzC,MAAMjF,SAAS,IAAI8E,MAAMhD,IAAI,CAAC,IAAI,CAACtC,gBAAgB,CAACQ,QAAQ,CAAC+E,OAAO,IAAK;YACnF,IAAI/E,aAAa,GAAG;gBAClB,IAAI,CAACR,gBAAgB,CAACM,KAAK,CAAC6H,MAAM,CAAC1C;gBACnC,IAAI,CAACzF,gBAAgB,CAACQ,QAAQ,CAAC2H,MAAM,CAAC1C;gBACtCyC;YACF;QACF;QAEA,OAAOA;IACT;IAEA;;GAEC,GACDE,cAAc1H,UAAgC,EAAQ;QACpD,KAAK,MAAM+E,QAAQ/E,WAAWgB,eAAe,CAAE;YAC7C,MAAMkE,QAAQ,IAAI,CAAC5F,gBAAgB,CAACQ,QAAQ,CAACqF,GAAG,CAACJ,SAAS;YAC1D,IAAIG,QAAQ,GAAG;gBACb,IAAI,CAAC5F,gBAAgB,CAACQ,QAAQ,CAACkD,GAAG,CAAC+B,MAAMG,QAAQ;YACnD;QACF;IACF;AACF;AAEA;;CAEC,GACD,OAAO,SAASyC,2BACdtI,MAAmC;IAEnC,OAAO,IAAID,qBAAqBC;AAClC;AAEA;;CAEC,GACD,OAAO,eAAeuI,mBAAmB5H,UAAsB;IAC7D,MAAM6H,aAAaF;IACnB,OAAOE,WAAW9H,QAAQ,CAACC;AAC7B;AAEA;;CAEC,GACD,OAAO,eAAe8H,qBACpB1F,UAAgC,EAChCyF,UAAgC;IAEhC,OAAOA,WAAW5E,UAAU,CAACb;AAC/B"}
|
|
@@ -4,12 +4,22 @@
|
|
|
4
4
|
*/ import { createHash } from 'crypto';
|
|
5
5
|
import { promises as fs } from 'fs';
|
|
6
6
|
import * as path from 'path';
|
|
7
|
+
import { createCheckpointCompressor } from './checkpoint-compression.js';
|
|
7
8
|
export class CheckpointManager {
|
|
8
9
|
checkpointStore = new Map();
|
|
9
10
|
snapshotStore = new Map();
|
|
10
11
|
storagePath;
|
|
11
|
-
|
|
12
|
+
compressor;
|
|
13
|
+
compressionEnabled;
|
|
14
|
+
constructor(storagePath = '.claude-flow/checkpoints', compressionEnabled = true){
|
|
12
15
|
this.storagePath = storagePath;
|
|
16
|
+
this.compressionEnabled = compressionEnabled;
|
|
17
|
+
this.compressor = createCheckpointCompressor({
|
|
18
|
+
gzipLevel: 6,
|
|
19
|
+
enableDelta: true,
|
|
20
|
+
enableDeduplication: true,
|
|
21
|
+
minSizeForCompression: 100
|
|
22
|
+
});
|
|
13
23
|
this.ensureStorageDirectory();
|
|
14
24
|
}
|
|
15
25
|
/**
|
|
@@ -414,9 +424,16 @@ export class CheckpointManager {
|
|
|
414
424
|
*/ async storeCheckpoint(checkpoint) {
|
|
415
425
|
// Store in memory
|
|
416
426
|
this.checkpointStore.set(checkpoint.id, checkpoint);
|
|
417
|
-
//
|
|
418
|
-
|
|
419
|
-
|
|
427
|
+
// Compress checkpoint if enabled
|
|
428
|
+
if (this.compressionEnabled) {
|
|
429
|
+
const compressed = await this.compressor.compress(checkpoint);
|
|
430
|
+
const checkpointFile = path.join(this.storagePath, `${checkpoint.id}.compressed.json`);
|
|
431
|
+
await this.writeJsonFile(checkpointFile, compressed);
|
|
432
|
+
} else {
|
|
433
|
+
// Store uncompressed
|
|
434
|
+
const checkpointFile = path.join(this.storagePath, `${checkpoint.id}.json`);
|
|
435
|
+
await this.writeJsonFile(checkpointFile, checkpoint);
|
|
436
|
+
}
|
|
420
437
|
}
|
|
421
438
|
/**
|
|
422
439
|
* Store snapshot to persistent storage
|
|
@@ -506,14 +523,27 @@ export class CheckpointManager {
|
|
|
506
523
|
const cutoffTime = Date.now() - retentionDays * 24 * 60 * 60 * 1000;
|
|
507
524
|
let deletedCount = 0;
|
|
508
525
|
// Cleanup checkpoints
|
|
509
|
-
for (const [id, checkpoint] of this.checkpointStore.entries()){
|
|
526
|
+
for (const [id, checkpoint] of Array.from(this.checkpointStore.entries())){
|
|
510
527
|
if (checkpoint.timestamp < cutoffTime) {
|
|
511
528
|
await this.deleteCheckpoint(id);
|
|
512
529
|
deletedCount++;
|
|
513
530
|
}
|
|
514
531
|
}
|
|
532
|
+
// Garbage collect unused shared state if compression enabled
|
|
533
|
+
if (this.compressionEnabled) {
|
|
534
|
+
const gcCount = this.compressor.gcSharedState();
|
|
535
|
+
console.log(`🧹 Garbage collected ${gcCount} unused shared states`);
|
|
536
|
+
}
|
|
515
537
|
console.log(`🧹 Cleaned up ${deletedCount} old checkpoints (retention: ${retentionDays} days)`);
|
|
516
538
|
}
|
|
539
|
+
/**
|
|
540
|
+
* Get compression statistics
|
|
541
|
+
*/ getCompressionStats() {
|
|
542
|
+
if (!this.compressionEnabled) {
|
|
543
|
+
return null;
|
|
544
|
+
}
|
|
545
|
+
return this.compressor.getCompressionStats();
|
|
546
|
+
}
|
|
517
547
|
}
|
|
518
548
|
|
|
519
549
|
//# sourceMappingURL=checkpoint-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/verification/checkpoint-manager.ts"],"names":["createHash","promises","fs","path","CheckpointManager","checkpointStore","Map","snapshotStore","storagePath","ensureStorageDirectory","createCheckpoint","description","scope","agentId","taskId","validations","checkpointId","generateCheckpointId","timestamp","Date","now","stateSnapshot","captureSystemState","checkpoint","id","type","agent_id","task_id","required","state_snapshot","storeCheckpoint","console","log","createPreExecutionCheckpoint","name","command","expected_result","passed","weight","execution_time_ms","executeValidations","createPostExecutionCheckpoint","truthScore","listCheckpoints","filter","checkpoints","Array","from","values","from_timestamp","to_timestamp","sort","a","b","getCheckpoint","get","deleteCheckpoint","Error","delete","checkpointFile","join","snapshotFile","unlink","error","warn","snapshotId","generateSnapshotId","stateScope","include_agents","include_tasks","include_memory","include_filesystem","include_database","agent_filter","undefined","task_filter","agentStates","captureAgentStates","systemState","captureSystemState_Component","taskStates","captureTaskStates","memoryState","captureMemoryState","fileSystemState","captureFileSystemState","databaseState","captureDatabaseState","checksum","calculateStateChecksum","metadata","version","created_by","tags","toString","size_bytes","compression_ratio","snapshot","agent_states","system_state","task_states","memory_state","file_system_state","database_state","storeSnapshot","agentFilter","mockAgents","includes","agentState","status","current_task","capabilities","memory","working_memory","long_term_memory","shared_memory_keys","memory_usage_mb","configuration","model","temperature","max_tokens","timeout_ms","retry_attempts","custom_parameters","performance_metrics","response_time_p95_ms","throughput_requests_per_second","error_rate_percentage","cpu_usage_percentage","last_heartbeat","set","uptime_ms","process","uptime","active_agents","active_tasks","memory_usage","disk_usage_mb","network_io_mbps","file_descriptors_used","max_agents","max_concurrent_tasks","truth_threshold","verification_enabled","rollback_enabled","taskFilter","mockTasks","taskState","assigned_agent","dependencies","start_time","progress_percentage","result","total_size_mb","used_size_mb","fragmentation_percentage","cache_hit_rate","active_sessions","total_files","last_modified","checksums","permissions_valid","connection_status","transaction_count","pending_migrations","data_integrity_check","backup_status","stateData","stateString","JSON","stringify","update","digest","validation","startTime","executeValidationCommand","actual_result","compareResults","error_message","message","expectedResult","expected","actual","Math","abs","writeJsonFile","snapshotDir","ensureDirectory","stats","stat","size","dirPath","access","mkdir","recursive","filePath","data","jsonData","writeFile","random","substr","loadCheckpointsFromDisk","files","readdir","checkpointFiles","f","startsWith","endsWith","file","readFile","parse","length","loadSnapshotsFromDisk","snapshotFiles","cleanup","retentionDays","cutoffTime","deletedCount","entries"],"mappings":"AAAA;;;CAGC,GAiBD,SAASA,UAAU,QAAQ,SAAS;AACpC,SAASC,YAAYC,EAAE,QAAQ,KAAK;AACpC,YAAYC,UAAU,OAAO;AAE7B,OAAO,MAAMC;IACHC,kBAA2C,IAAIC,MAAM;IACrDC,gBAA4C,IAAID,MAAM;IACtDE,YAAoB;IAE5B,YAAYA,cAAsB,0BAA0B,CAAE;QAC5D,IAAI,CAACA,WAAW,GAAGA;QACnB,IAAI,CAACC,sBAAsB;IAC7B;IAEA;;GAEC,GACD,MAAMC,iBACJC,WAAmB,EACnBC,KAAsB,EACtBC,OAAgB,EAChBC,MAAe,EACfC,cAA4B,EAAE,EACb;QACjB,MAAMC,eAAe,IAAI,CAACC,oBAAoB;QAC9C,MAAMC,YAAYC,KAAKC,GAAG;QAE1B,+BAA+B;QAC/B,MAAMC,gBAAgB,MAAM,IAAI,CAACC,kBAAkB,CAACV,OAAOC,SAASC;QAEpE,MAAMS,aAAyB;YAC7BC,IAAIR;YACJS,MAAM;YACNC,UAAUb,WAAW;YACrBc,SAASb,UAAU;YACnBI;YACAU,UAAU;YACVb;YACAc,gBAAgBR;YAChBV;YACAC;QACF;QAEA,mBAAmB;QACnB,MAAM,IAAI,CAACkB,eAAe,CAACP;QAE3BQ,QAAQC,GAAG,CAAC,CAAC,sBAAsB,EAAEhB,aAAa,EAAE,EAAEL,YAAY,CAAC,CAAC;QACpE,OAAOK;IACT;IAEA;;GAEC,GACD,MAAMiB,6BACJpB,OAAe,EACfC,MAAc,EACdH,WAAmB,EACF;QACjB,MAAMI,cAA4B;YAChC;gBACEmB,MAAM;gBACNT,MAAM;gBACNU,SAAS;gBACTC,iBAAiB;gBACjBC,QAAQ;gBACRC,QAAQ;gBACRC,mBAAmB;YACrB;YACA;gBACEL,MAAM;gBACNT,MAAM;gBACNU,SAAS;gBACTC,iBAAiB;gBACjBC,QAAQ;gBACRC,QAAQ;gBACRC,mBAAmB;YACrB;YACA;gBACEL,MAAM;gBACNT,MAAM;gBACNU,SAAS;gBACTC,iBAAiB;gBACjBC,QAAQ;gBACRC,QAAQ;gBACRC,mBAAmB;YACrB;SACD;QAED,MAAMvB,eAAe,MAAM,IAAI,CAACN,gBAAgB,CAC9C,CAAC,eAAe,EAAEC,aAAa,EAC/B,QACAE,SACAC,QACAC;QAGF,sBAAsB;QACtB,MAAM,IAAI,CAACyB,kBAAkB,CAACxB,cAAcD;QAE5C,OAAOC;IACT;IAEA;;GAEC,GACD,MAAMyB,8BACJ5B,OAAe,EACfC,MAAc,EACdH,WAAmB,EACnB+B,UAAkB,EACD;QACjB,MAAM3B,cAA4B;YAChC;gBACEmB,MAAM;gBACNT,MAAM;gBACNU,SAAS;gBACTC,iBAAiB;gBACjBC,QAAQ;gBACRC,QAAQ;gBACRC,mBAAmB;YACrB;YACA;gBACEL,MAAM;gBACNT,MAAM;gBACNU,SAAS;gBACTC,iBAAiB;gBACjBC,QAAQ;gBACRC,QAAQ;gBACRC,mBAAmB;YACrB;YACA;gBACEL,MAAM;gBACNT,MAAM;gBACNU,SAAS;gBACTC,iBAAiBM,cAAc;gBAC/BL,QAAQK,cAAc;gBACtBJ,QAAQ;gBACRC,mBAAmB;YACrB;SACD;QAED,MAAMvB,eAAe,MAAM,IAAI,CAACN,gBAAgB,CAC9C,CAAC,gBAAgB,EAAEC,aAAa,EAChC,QACAE,SACAC,QACAC;QAGF,sBAAsB;QACtB,MAAM,IAAI,CAACyB,kBAAkB,CAACxB,cAAcD;QAE5C,OAAOC;IACT;IAEA;;GAEC,GACD,MAAM2B,gBAAgBC,MAAyB,EAAyB;QACtE,IAAIC,cAAcC,MAAMC,IAAI,CAAC,IAAI,CAAC1C,eAAe,CAAC2C,MAAM;QAExD,IAAIJ,QAAQ;YACVC,cAAcA,YAAYD,MAAM,CAAC,CAACrB;gBAChC,IAAIqB,OAAOlB,QAAQ,IAAIH,WAAWG,QAAQ,KAAKkB,OAAOlB,QAAQ,EAAE,OAAO;gBACvE,IAAIkB,OAAOjB,OAAO,IAAIJ,WAAWI,OAAO,KAAKiB,OAAOjB,OAAO,EAAE,OAAO;gBACpE,IAAIiB,OAAOnB,IAAI,IAAIF,WAAWE,IAAI,KAAKmB,OAAOnB,IAAI,EAAE,OAAO;gBAC3D,IAAImB,OAAOhC,KAAK,IAAIW,WAAWX,KAAK,KAAKgC,OAAOhC,KAAK,EAAE,OAAO;gBAC9D,IAAIgC,OAAOK,cAAc,IAAI1B,WAAWL,SAAS,GAAG0B,OAAOK,cAAc,EAAE,OAAO;gBAClF,IAAIL,OAAOM,YAAY,IAAI3B,WAAWL,SAAS,GAAG0B,OAAOM,YAAY,EAAE,OAAO;gBAC9E,OAAO;YACT;QACF;QAEA,OAAOL,YAAYM,IAAI,CAAC,CAACC,GAAGC,IAAMA,EAAEnC,SAAS,GAAGkC,EAAElC,SAAS;IAC7D;IAEA;;GAEC,GACD,MAAMoC,cAActC,YAAoB,EAA8B;QACpE,OAAO,IAAI,CAACX,eAAe,CAACkD,GAAG,CAACvC,iBAAiB;IACnD;IAEA;;GAEC,GACD,MAAMwC,iBAAiBxC,YAAoB,EAAiB;QAC1D,MAAMO,aAAa,IAAI,CAAClB,eAAe,CAACkD,GAAG,CAACvC;QAC5C,IAAI,CAACO,YAAY;YACf,MAAM,IAAIkC,MAAM,CAAC,WAAW,EAAEzC,aAAa,UAAU,CAAC;QACxD;QAEA,qBAAqB;QACrB,IAAI,CAACX,eAAe,CAACqD,MAAM,CAAC1C;QAC5B,IAAI,CAACT,aAAa,CAACmD,MAAM,CAACnC,WAAWM,cAAc,CAACL,EAAE;QAEtD,mBAAmB;QACnB,MAAMmC,iBAAiBxD,KAAKyD,IAAI,CAAC,IAAI,CAACpD,WAAW,EAAE,GAAGQ,aAAa,KAAK,CAAC;QACzE,MAAM6C,eAAe1D,KAAKyD,IAAI,CAC5B,IAAI,CAACpD,WAAW,EAChB,aACA,GAAGe,WAAWM,cAAc,CAACL,EAAE,CAAC,KAAK,CAAC;QAGxC,IAAI;YACF,MAAMtB,GAAG4D,MAAM,CAACH;YAChB,MAAMzD,GAAG4D,MAAM,CAACD;YAChB9B,QAAQC,GAAG,CAAC,CAAC,wBAAwB,EAAEhB,cAAc;QACvD,EAAE,OAAO+C,OAAO;YACdhC,QAAQiC,IAAI,CAAC,CAAC,4CAA4C,EAAED,OAAO;QACrE;IACF;IAEA;;GAEC,GACD,MAAczC,mBACZV,KAAsB,EACtBC,OAAgB,EAChBC,MAAe,EACS;QACxB,MAAMmD,aAAa,IAAI,CAACC,kBAAkB;QAC1C,MAAMhD,YAAYC,KAAKC,GAAG;QAE1B,MAAM+C,aAAyB;YAC7BC,gBAAgBxD,UAAU;YAC1ByD,eAAezD,UAAU;YACzB0D,gBAAgB;YAChBC,oBAAoB3D,UAAU,YAAYA,UAAU;YACpD4D,kBAAkB5D,UAAU,YAAYA,UAAU;YAClD6D,cAAc5D,UAAU;gBAACA;aAAQ,GAAG6D;YACpCC,aAAa7D,SAAS;gBAACA;aAAO,GAAG4D;QACnC;QAEA,oDAAoD;QACpD,MAAME,cAAcT,WAAWC,cAAc,GACzC,MAAM,IAAI,CAACS,kBAAkB,CAACV,WAAWM,YAAY,IACrD,IAAInE;QACR,MAAMwE,cAAcX,WAAWC,cAAc,GACzC,MAAM,IAAI,CAACW,4BAA4B,KACtC,CAAC;QACN,MAAMC,aAAab,WAAWE,aAAa,GACvC,MAAM,IAAI,CAACY,iBAAiB,CAACd,WAAWQ,WAAW,IACnD,IAAIrE;QACR,MAAM4E,cAAcf,WAAWG,cAAc,GACzC,MAAM,IAAI,CAACa,kBAAkB,KAC5B,CAAC;QACN,MAAMC,kBAAkBjB,WAAWI,kBAAkB,GACjD,MAAM,IAAI,CAACc,sBAAsB,KAChC,CAAC;QACN,MAAMC,gBAAgBnB,WAAWK,gBAAgB,GAC7C,MAAM,IAAI,CAACe,oBAAoB,KAC9B,CAAC;QAEN,gDAAgD;QAChD,MAAMC,WAAW,IAAI,CAACC,sBAAsB,CAAC;YAC3Cb;YACAE;YACAE;YACAE;YACAE;YACAE;QACF;QAEA,MAAMI,WAA6B;YACjCC,SAAS;YACTC,YAAY/E,WAAW;YACvBF,aAAa,CAAC,mBAAmB,EAAEC,MAAM,MAAM,CAAC;YAChDiF,MAAM;gBAACjF;gBAAOM,UAAU4E,QAAQ;aAAG;YACnCC,YAAY;YACZC,mBAAmB;QACrB;QAEA,MAAMC,WAA0B;YAC9BzE,IAAIyC;YACJ/C;YACAgF,cAActB;YACduB,cAAcrB;YACdsB,aAAapB;YACbqB,cAAcnB;YACdoB,mBAAmBlB;YACnBmB,gBAAgBjB;YAChBE;YACAE;QACF;QAEA,iBAAiB;QACjB,MAAM,IAAI,CAACc,aAAa,CAACP;QAEzB,OAAOA;IACT;IAEA;;GAEC,GACD,MAAcpB,mBAAmB4B,WAAsB,EAAoC;QACzF,MAAM7B,cAAc,IAAItE;QAExB,qDAAqD;QACrD,iDAAiD;QACjD,MAAMoG,aAAa;YAAC;YAAe;YAAS;YAAU;SAAa;QAEnE,KAAK,MAAM7F,WAAW6F,WAAY;YAChC,IAAID,eAAe,CAACA,YAAYE,QAAQ,CAAC9F,UAAU;YAEnD,MAAM+F,aAAyB;gBAC7BpF,IAAIX;gBACJgG,QAAQ;gBACRC,cAAc;gBACdC,cAAc;oBAAC;oBAAQ;oBAAQ;iBAAU;gBACzCC,QAAQ;oBACNC,gBAAgB,CAAC;oBACjBC,kBAAkB,CAAC;oBACnBC,oBAAoB,EAAE;oBACtBC,iBAAiB;gBACnB;gBACAC,eAAe;oBACbC,OAAO;oBACPC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZC,gBAAgB;oBAChBC,mBAAmB,CAAC;gBACtB;gBACAC,qBAAqB;oBACnBC,sBAAsB;oBACtBC,gCAAgC;oBAChCC,uBAAuB;oBACvBC,sBAAsB;oBACtBZ,iBAAiB;gBACnB;gBACAa,gBAAgB9G,KAAKC,GAAG;YAC1B;YAEAwD,YAAYsD,GAAG,CAACrH,SAAS+F;QAC3B;QAEA,OAAOhC;IACT;IAEA;;GAEC,GACD,MAAcG,+BAAqD;QACjE,OAAO;YACLY,SAAS;YACTwC,WAAWC,QAAQC,MAAM,KAAK;YAC9BC,eAAe;YACfC,cAAc;YACdC,cAAc;gBACZR,sBAAsB;gBACtBZ,iBAAiB;gBACjBqB,eAAe;gBACfC,iBAAiB;gBACjBC,uBAAuB;YACzB;YACAtB,eAAe;gBACbuB,YAAY;gBACZC,sBAAsB;gBACtBC,iBAAiB;gBACjBC,sBAAsB;gBACtBC,kBAAkB;YACpB;QACF;IACF;IAEA;;GAEC,GACD,MAAc/D,kBAAkBgE,UAAqB,EAAmC;QACtF,MAAMjE,aAAa,IAAI1E;QAEvB,mBAAmB;QACnB,MAAM4I,YAAY;YAAC;YAAY;SAAW;QAE1C,KAAK,MAAMpI,UAAUoI,UAAW;YAC9B,IAAID,cAAc,CAACA,WAAWtC,QAAQ,CAAC7F,SAAS;YAEhD,MAAMqI,YAAuB;gBAC3B3H,IAAIV;gBACJ+F,QAAQ;gBACRuC,gBAAgB;gBAChBC,cAAc,EAAE;gBAChBC,YAAYnI,KAAKC,GAAG,KAAK;gBACzBmI,qBAAqB;gBACrBC,QAAQ;YACV;YAEAxE,WAAWkD,GAAG,CAACpH,QAAQqI;QACzB;QAEA,OAAOnE;IACT;IAEA;;GAEC,GACD,MAAcG,qBAA2C;QACvD,OAAO;YACLsE,eAAe;YACfC,cAAc;YACdC,0BAA0B;YAC1BC,gBAAgB;YAChBC,iBAAiB;QACnB;IACF;IAEA;;GAEC,GACD,MAAcxE,yBAAmD;QAC/D,OAAO;YACLyE,aAAa;YACbL,eAAe;YACfM,eAAe5I,KAAKC,GAAG;YACvB4I,WAAW;gBACT,gBAAgB;gBAChB,gBAAgB;YAClB;YACAC,mBAAmB;QACrB;IACF;IAEA;;GAEC,GACD,MAAc1E,uBAA+C;QAC3D,OAAO;YACL2E,mBAAmB;YACnBC,mBAAmB;YACnBC,oBAAoB;YACpBC,sBAAsB;YACtBC,eAAe;QACjB;IACF;IAEA;;GAEC,GACD,AAAQ7E,uBAAuB8E,SAAc,EAAU;QACrD,MAAMC,cAAcC,KAAKC,SAAS,CAACH,WAAW,MAAM;QACpD,OAAOvK,WAAW,UAAU2K,MAAM,CAACH,aAAaI,MAAM,CAAC;IACzD;IAEA;;GAEC,GACD,MAAcpI,mBAAmBxB,YAAoB,EAAED,WAAyB,EAAiB;QAC/F,MAAMQ,aAAa,IAAI,CAAClB,eAAe,CAACkD,GAAG,CAACvC;QAC5C,IAAI,CAACO,YAAY;QAEjB,KAAK,MAAMsJ,cAAc9J,YAAa;YACpC,MAAM+J,YAAY3J,KAAKC,GAAG;YAE1B,IAAI;gBACF,6BAA6B;gBAC7B,MAAMoI,SAAS,MAAM,IAAI,CAACuB,wBAAwB,CAChDF,WAAW1I,OAAO,EAClB0I,WAAWzI,eAAe;gBAG5ByI,WAAWG,aAAa,GAAGxB;gBAC3BqB,WAAWxI,MAAM,GAAG,IAAI,CAAC4I,cAAc,CAACJ,WAAWzI,eAAe,EAAEoH;gBACpEqB,WAAWtI,iBAAiB,GAAGpB,KAAKC,GAAG,KAAK0J;YAC9C,EAAE,OAAO/G,OAAY;gBACnB8G,WAAWxI,MAAM,GAAG;gBACpBwI,WAAWK,aAAa,GAAGnH,MAAMoH,OAAO;gBACxCN,WAAWtI,iBAAiB,GAAGpB,KAAKC,GAAG,KAAK0J;YAC9C;QACF;QAEA,4CAA4C;QAC5CvJ,WAAWR,WAAW,GAAGA;QACzB,MAAM,IAAI,CAACe,eAAe,CAACP;IAC7B;IAEA;;GAEC,GACD,MAAcwJ,yBAAyB5I,OAAe,EAAEiJ,cAAmB,EAAgB;QACzF,sDAAsD;QACtD,OAAQjJ;YACN,KAAK;gBACH,OAAO,MAAM,kBAAkB;YACjC,KAAK;gBACH,OAAO,MAAM,kBAAkB;YACjC,KAAK;gBACH,OAAO,MAAM,kBAAkB;YACjC,KAAK;gBACH,OAAO,MAAM,kBAAkB;YACjC,KAAK;gBACH,OAAO,MAAM,kBAAkB;YACjC,KAAK;gBACH,OAAOiJ,gBAAgB,0CAA0C;YACnE;gBACE,MAAM,IAAI3H,MAAM,CAAC,4BAA4B,EAAEtB,SAAS;QAC5D;IACF;IAEA;;GAEC,GACD,AAAQ8I,eAAeI,QAAa,EAAEC,MAAW,EAAW;QAC1D,IAAI,OAAOD,aAAa,aAAa,OAAOC,WAAW,WAAW;YAChE,OAAOD,aAAaC;QACtB;QAEA,IAAI,OAAOD,aAAa,YAAY,OAAOC,WAAW,UAAU;YAC9D,OAAOC,KAAKC,GAAG,CAACH,WAAWC,UAAU,OAAO,yCAAyC;QACvF;QAEA,OAAOb,KAAKC,SAAS,CAACW,cAAcZ,KAAKC,SAAS,CAACY;IACrD;IAEA;;GAEC,GACD,MAAcxJ,gBAAgBP,UAAsB,EAAiB;QACnE,kBAAkB;QAClB,IAAI,CAAClB,eAAe,CAAC6H,GAAG,CAAC3G,WAAWC,EAAE,EAAED;QAExC,gBAAgB;QAChB,MAAMoC,iBAAiBxD,KAAKyD,IAAI,CAAC,IAAI,CAACpD,WAAW,EAAE,GAAGe,WAAWC,EAAE,CAAC,KAAK,CAAC;QAC1E,MAAM,IAAI,CAACiK,aAAa,CAAC9H,gBAAgBpC;IAC3C;IAEA;;GAEC,GACD,MAAciF,cAAcP,QAAuB,EAAiB;QAClE,kBAAkB;QAClB,IAAI,CAAC1F,aAAa,CAAC2H,GAAG,CAACjC,SAASzE,EAAE,EAAEyE;QAEpC,gBAAgB;QAChB,MAAMyF,cAAcvL,KAAKyD,IAAI,CAAC,IAAI,CAACpD,WAAW,EAAE;QAChD,MAAM,IAAI,CAACmL,eAAe,CAACD;QAE3B,MAAM7H,eAAe1D,KAAKyD,IAAI,CAAC8H,aAAa,GAAGzF,SAASzE,EAAE,CAAC,KAAK,CAAC;QACjE,MAAM,IAAI,CAACiK,aAAa,CAAC5H,cAAcoC;QAEvC,wCAAwC;QACxC,MAAM2F,QAAQ,MAAM1L,GAAG2L,IAAI,CAAChI;QAC5BoC,SAASP,QAAQ,CAACK,UAAU,GAAG6F,MAAME,IAAI;IAC3C;IAEA;;GAEC,GACD,MAAcrL,yBAAwC;QACpD,MAAM,IAAI,CAACkL,eAAe,CAAC,IAAI,CAACnL,WAAW;QAC3C,MAAM,IAAI,CAACmL,eAAe,CAACxL,KAAKyD,IAAI,CAAC,IAAI,CAACpD,WAAW,EAAE;IACzD;IAEA;;GAEC,GACD,MAAcmL,gBAAgBI,OAAe,EAAiB;QAC5D,IAAI;YACF,MAAM7L,GAAG8L,MAAM,CAACD;QAClB,EAAE,OAAM;YACN,MAAM7L,GAAG+L,KAAK,CAACF,SAAS;gBAAEG,WAAW;YAAK;QAC5C;IACF;IAEA;;GAEC,GACD,MAAcT,cAAcU,QAAgB,EAAEC,IAAS,EAAiB;QACtE,MAAMC,WAAW5B,KAAKC,SAAS,CAAC0B,MAAM,MAAM;QAC5C,MAAMlM,GAAGoM,SAAS,CAACH,UAAUE,UAAU;IACzC;IAEA;;GAEC,GACD,AAAQpL,uBAA+B;QACrC,OAAO,CAAC,WAAW,EAAEE,KAAKC,GAAG,GAAG,CAAC,EAAEmK,KAAKgB,MAAM,GAAGzG,QAAQ,CAAC,IAAI0G,MAAM,CAAC,GAAG,IAAI;IAC9E;IAEA;;GAEC,GACD,AAAQtI,qBAA6B;QACnC,OAAO,CAAC,SAAS,EAAE/C,KAAKC,GAAG,GAAG,CAAC,EAAEmK,KAAKgB,MAAM,GAAGzG,QAAQ,CAAC,IAAI0G,MAAM,CAAC,GAAG,IAAI;IAC5E;IAEA;;GAEC,GACD,MAAMC,0BAAyC;QAC7C,IAAI;YACF,MAAMC,QAAQ,MAAMxM,GAAGyM,OAAO,CAAC,IAAI,CAACnM,WAAW;YAC/C,MAAMoM,kBAAkBF,MAAM9J,MAAM,CAClC,CAACiK,IAAMA,EAAEC,UAAU,CAAC,kBAAkBD,EAAEE,QAAQ,CAAC;YAGnD,KAAK,MAAMC,QAAQJ,gBAAiB;gBAClC,MAAMT,WAAWhM,KAAKyD,IAAI,CAAC,IAAI,CAACpD,WAAW,EAAEwM;gBAC7C,MAAMZ,OAAO,MAAMlM,GAAG+M,QAAQ,CAACd,UAAU;gBACzC,MAAM5K,aAAyBkJ,KAAKyC,KAAK,CAACd;gBAC1C,IAAI,CAAC/L,eAAe,CAAC6H,GAAG,CAAC3G,WAAWC,EAAE,EAAED;YAC1C;YAEAQ,QAAQC,GAAG,CAAC,CAAC,UAAU,EAAE4K,gBAAgBO,MAAM,CAAC,sBAAsB,CAAC;QACzE,EAAE,OAAOpJ,OAAO;YACdhC,QAAQiC,IAAI,CAAC,kDAAkDD;QACjE;IACF;IAEA;;GAEC,GACD,MAAMqJ,wBAAuC;QAC3C,IAAI;YACF,MAAM1B,cAAcvL,KAAKyD,IAAI,CAAC,IAAI,CAACpD,WAAW,EAAE;YAChD,MAAMkM,QAAQ,MAAMxM,GAAGyM,OAAO,CAACjB;YAC/B,MAAM2B,gBAAgBX,MAAM9J,MAAM,CAAC,CAACiK,IAAMA,EAAEC,UAAU,CAAC,gBAAgBD,EAAEE,QAAQ,CAAC;YAElF,KAAK,MAAMC,QAAQK,cAAe;gBAChC,MAAMlB,WAAWhM,KAAKyD,IAAI,CAAC8H,aAAasB;gBACxC,MAAMZ,OAAO,MAAMlM,GAAG+M,QAAQ,CAACd,UAAU;gBACzC,MAAMlG,WAA0BwE,KAAKyC,KAAK,CAACd;gBAC3C,IAAI,CAAC7L,aAAa,CAAC2H,GAAG,CAACjC,SAASzE,EAAE,EAAEyE;YACtC;YAEAlE,QAAQC,GAAG,CAAC,CAAC,UAAU,EAAEqL,cAAcF,MAAM,CAAC,oBAAoB,CAAC;QACrE,EAAE,OAAOpJ,OAAO;YACdhC,QAAQiC,IAAI,CAAC,gDAAgDD;QAC/D;IACF;IAEA;;GAEC,GACD,MAAMuJ,QAAQC,gBAAwB,CAAC,EAAiB;QACtD,MAAMC,aAAarM,KAAKC,GAAG,KAAKmM,gBAAgB,KAAK,KAAK,KAAK;QAC/D,IAAIE,eAAe;QAEnB,sBAAsB;QACtB,KAAK,MAAM,CAACjM,IAAID,WAAW,IAAI,IAAI,CAAClB,eAAe,CAACqN,OAAO,GAAI;YAC7D,IAAInM,WAAWL,SAAS,GAAGsM,YAAY;gBACrC,MAAM,IAAI,CAAChK,gBAAgB,CAAChC;gBAC5BiM;YACF;QACF;QAEA1L,QAAQC,GAAG,CAAC,CAAC,cAAc,EAAEyL,aAAa,6BAA6B,EAAEF,cAAc,MAAM,CAAC;IAChG;AACF"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/verification/checkpoint-manager.ts"],"names":["createHash","promises","fs","path","createCheckpointCompressor","CheckpointManager","checkpointStore","Map","snapshotStore","storagePath","compressor","compressionEnabled","gzipLevel","enableDelta","enableDeduplication","minSizeForCompression","ensureStorageDirectory","createCheckpoint","description","scope","agentId","taskId","validations","checkpointId","generateCheckpointId","timestamp","Date","now","stateSnapshot","captureSystemState","checkpoint","id","type","agent_id","task_id","required","state_snapshot","storeCheckpoint","console","log","createPreExecutionCheckpoint","name","command","expected_result","passed","weight","execution_time_ms","executeValidations","createPostExecutionCheckpoint","truthScore","listCheckpoints","filter","checkpoints","Array","from","values","from_timestamp","to_timestamp","sort","a","b","getCheckpoint","get","deleteCheckpoint","Error","delete","checkpointFile","join","snapshotFile","unlink","error","warn","snapshotId","generateSnapshotId","stateScope","include_agents","include_tasks","include_memory","include_filesystem","include_database","agent_filter","undefined","task_filter","agentStates","captureAgentStates","systemState","captureSystemState_Component","taskStates","captureTaskStates","memoryState","captureMemoryState","fileSystemState","captureFileSystemState","databaseState","captureDatabaseState","checksum","calculateStateChecksum","metadata","version","created_by","tags","toString","size_bytes","compression_ratio","snapshot","agent_states","system_state","task_states","memory_state","file_system_state","database_state","storeSnapshot","agentFilter","mockAgents","includes","agentState","status","current_task","capabilities","memory","working_memory","long_term_memory","shared_memory_keys","memory_usage_mb","configuration","model","temperature","max_tokens","timeout_ms","retry_attempts","custom_parameters","performance_metrics","response_time_p95_ms","throughput_requests_per_second","error_rate_percentage","cpu_usage_percentage","last_heartbeat","set","uptime_ms","process","uptime","active_agents","active_tasks","memory_usage","disk_usage_mb","network_io_mbps","file_descriptors_used","max_agents","max_concurrent_tasks","truth_threshold","verification_enabled","rollback_enabled","taskFilter","mockTasks","taskState","assigned_agent","dependencies","start_time","progress_percentage","result","total_size_mb","used_size_mb","fragmentation_percentage","cache_hit_rate","active_sessions","total_files","last_modified","checksums","permissions_valid","connection_status","transaction_count","pending_migrations","data_integrity_check","backup_status","stateData","stateString","JSON","stringify","update","digest","validation","startTime","executeValidationCommand","actual_result","compareResults","error_message","message","expectedResult","expected","actual","Math","abs","compressed","compress","writeJsonFile","snapshotDir","ensureDirectory","stats","stat","size","dirPath","access","mkdir","recursive","filePath","data","jsonData","writeFile","random","substr","loadCheckpointsFromDisk","files","readdir","checkpointFiles","f","startsWith","endsWith","file","readFile","parse","length","loadSnapshotsFromDisk","snapshotFiles","cleanup","retentionDays","cutoffTime","deletedCount","entries","gcCount","gcSharedState","getCompressionStats"],"mappings":"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"}
|