@tyroneross/build-loop 0.30.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/.agents/plugins/marketplace.json +10 -0
- package/.claude-plugin/marketplace.json +38 -0
- package/.claude-plugin/plugin.json +30 -0
- package/.codex-plugin/plugin.json +41 -0
- package/.cursor/rules/build-loop-surface.mdc +22 -0
- package/AGENTS.md +498 -0
- package/LICENSE +202 -0
- package/README.md +403 -0
- package/agents/alignment-checker.md +124 -0
- package/agents/api-assessor.md +136 -0
- package/agents/architecture-scout.md +185 -0
- package/agents/assessment-orchestrator.md +163 -0
- package/agents/build-orchestrator.md +198 -0
- package/agents/database-assessor.md +133 -0
- package/agents/design-contract-specialist.md +239 -0
- package/agents/fact-checker.md +69 -0
- package/agents/fix-critique.md +161 -0
- package/agents/frontend-assessor.md +136 -0
- package/agents/implementer.md +185 -0
- package/agents/independent-auditor.md +143 -0
- package/agents/mock-scanner.md +78 -0
- package/agents/optimize-runner.md +112 -0
- package/agents/overfitting-reviewer.md +96 -0
- package/agents/performance-assessor.md +159 -0
- package/agents/plan-critic.md +85 -0
- package/agents/promotion-reviewer.md +121 -0
- package/agents/recurring-pattern-detector.md +248 -0
- package/agents/retrospective-synthesizer.md +109 -0
- package/agents/root-cause-investigator.md +285 -0
- package/agents/scope-auditor.md +121 -0
- package/agents/security-reviewer.md +151 -0
- package/agents/self-improvement-architect.md +125 -0
- package/agents/synthesis-critic.md +99 -0
- package/agents/transcript-pattern-miner.md +165 -0
- package/agents/ui-validator.md +193 -0
- package/codex-skills/build-loop/SKILL.md +20 -0
- package/codex-skills/debug-loop/SKILL.md +18 -0
- package/codex-skills/handoff/SKILL.md +22 -0
- package/codex-skills/knowledge/SKILL.md +21 -0
- package/codex-skills/optimize/SKILL.md +18 -0
- package/codex-skills/research/SKILL.md +18 -0
- package/commands/agent-rally-point.md +301 -0
- package/commands/assess.md +41 -0
- package/commands/debug.md +20 -0
- package/commands/debugger-detail.md +34 -0
- package/commands/debugger-scan.md +15 -0
- package/commands/debugger-status.md +20 -0
- package/commands/debugger.md +32 -0
- package/commands/handoff.md +113 -0
- package/commands/knowledge-review.md +16 -0
- package/commands/optimize.md +31 -0
- package/commands/plan-verify.md +39 -0
- package/commands/promote-experiment.md +129 -0
- package/commands/research.md +22 -0
- package/commands/run.md +12 -0
- package/commands/self-review.md +51 -0
- package/commands/start-prd.md +57 -0
- package/commands/test.md +34 -0
- package/dist/src/assessment-orchestrator.d.ts +78 -0
- package/dist/src/assessment-orchestrator.d.ts.map +1 -0
- package/dist/src/assessment-orchestrator.js +304 -0
- package/dist/src/assessment-orchestrator.js.map +1 -0
- package/dist/src/audit-miner.d.ts +21 -0
- package/dist/src/audit-miner.d.ts.map +1 -0
- package/dist/src/audit-miner.js +421 -0
- package/dist/src/audit-miner.js.map +1 -0
- package/dist/src/batch-operations.d.ts +30 -0
- package/dist/src/batch-operations.d.ts.map +1 -0
- package/dist/src/batch-operations.js +339 -0
- package/dist/src/batch-operations.js.map +1 -0
- package/dist/src/config.d.ts +83 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +176 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/context-engine.d.ts +45 -0
- package/dist/src/context-engine.d.ts.map +1 -0
- package/dist/src/context-engine.js +135 -0
- package/dist/src/context-engine.js.map +1 -0
- package/dist/src/debug-wrapper.d.ts +58 -0
- package/dist/src/debug-wrapper.d.ts.map +1 -0
- package/dist/src/debug-wrapper.js +285 -0
- package/dist/src/debug-wrapper.js.map +1 -0
- package/dist/src/index.d.ts +31 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +149 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/interactive-verifier.d.ts +26 -0
- package/dist/src/interactive-verifier.d.ts.map +1 -0
- package/dist/src/interactive-verifier.js +435 -0
- package/dist/src/interactive-verifier.js.map +1 -0
- package/dist/src/lessons.d.ts +59 -0
- package/dist/src/lessons.d.ts.map +1 -0
- package/dist/src/lessons.js +172 -0
- package/dist/src/lessons.js.map +1 -0
- package/dist/src/log-reader.d.ts +39 -0
- package/dist/src/log-reader.d.ts.map +1 -0
- package/dist/src/log-reader.js +291 -0
- package/dist/src/log-reader.js.map +1 -0
- package/dist/src/logger.d.ts +59 -0
- package/dist/src/logger.d.ts.map +1 -0
- package/dist/src/logger.js +328 -0
- package/dist/src/logger.js.map +1 -0
- package/dist/src/parallel-retrieval.d.ts +52 -0
- package/dist/src/parallel-retrieval.d.ts.map +1 -0
- package/dist/src/parallel-retrieval.js +309 -0
- package/dist/src/parallel-retrieval.js.map +1 -0
- package/dist/src/pattern-extractor.d.ts +30 -0
- package/dist/src/pattern-extractor.d.ts.map +1 -0
- package/dist/src/pattern-extractor.js +386 -0
- package/dist/src/pattern-extractor.js.map +1 -0
- package/dist/src/result-aggregator.d.ts +44 -0
- package/dist/src/result-aggregator.d.ts.map +1 -0
- package/dist/src/result-aggregator.js +315 -0
- package/dist/src/result-aggregator.js.map +1 -0
- package/dist/src/retrieval.d.ts +139 -0
- package/dist/src/retrieval.d.ts.map +1 -0
- package/dist/src/retrieval.js +724 -0
- package/dist/src/retrieval.js.map +1 -0
- package/dist/src/setup/auto-setup.d.ts +15 -0
- package/dist/src/setup/auto-setup.d.ts.map +1 -0
- package/dist/src/setup/auto-setup.js +157 -0
- package/dist/src/setup/auto-setup.js.map +1 -0
- package/dist/src/setup/configure-hooks.d.ts +8 -0
- package/dist/src/setup/configure-hooks.d.ts.map +1 -0
- package/dist/src/setup/configure-hooks.js +16 -0
- package/dist/src/setup/configure-hooks.js.map +1 -0
- package/dist/src/setup/create-slash-commands.d.ts +8 -0
- package/dist/src/setup/create-slash-commands.d.ts.map +1 -0
- package/dist/src/setup/create-slash-commands.js +101 -0
- package/dist/src/setup/create-slash-commands.js.map +1 -0
- package/dist/src/setup/index.d.ts +8 -0
- package/dist/src/setup/index.d.ts.map +1 -0
- package/dist/src/setup/index.js +17 -0
- package/dist/src/setup/index.js.map +1 -0
- package/dist/src/setup/inject-claude-md.d.ts +10 -0
- package/dist/src/setup/inject-claude-md.d.ts.map +1 -0
- package/dist/src/setup/inject-claude-md.js +150 -0
- package/dist/src/setup/inject-claude-md.js.map +1 -0
- package/dist/src/setup/uninstall.d.ts +22 -0
- package/dist/src/setup/uninstall.d.ts.map +1 -0
- package/dist/src/setup/uninstall.js +235 -0
- package/dist/src/setup/uninstall.js.map +1 -0
- package/dist/src/storage.d.ts +192 -0
- package/dist/src/storage.d.ts.map +1 -0
- package/dist/src/storage.js +1037 -0
- package/dist/src/storage.js.map +1 -0
- package/dist/src/string-similarity.d.ts +8 -0
- package/dist/src/string-similarity.d.ts.map +1 -0
- package/dist/src/string-similarity.js +57 -0
- package/dist/src/string-similarity.js.map +1 -0
- package/dist/src/traces/adapters/browser.d.ts +69 -0
- package/dist/src/traces/adapters/browser.d.ts.map +1 -0
- package/dist/src/traces/adapters/browser.js +280 -0
- package/dist/src/traces/adapters/browser.js.map +1 -0
- package/dist/src/traces/adapters/index.d.ts +23 -0
- package/dist/src/traces/adapters/index.d.ts.map +1 -0
- package/dist/src/traces/adapters/index.js +67 -0
- package/dist/src/traces/adapters/index.js.map +1 -0
- package/dist/src/traces/adapters/langchain.d.ts +42 -0
- package/dist/src/traces/adapters/langchain.d.ts.map +1 -0
- package/dist/src/traces/adapters/langchain.js +151 -0
- package/dist/src/traces/adapters/langchain.js.map +1 -0
- package/dist/src/traces/adapters/opentelemetry.d.ts +46 -0
- package/dist/src/traces/adapters/opentelemetry.d.ts.map +1 -0
- package/dist/src/traces/adapters/opentelemetry.js +164 -0
- package/dist/src/traces/adapters/opentelemetry.js.map +1 -0
- package/dist/src/traces/adapters/sentry.d.ts +58 -0
- package/dist/src/traces/adapters/sentry.d.ts.map +1 -0
- package/dist/src/traces/adapters/sentry.js +212 -0
- package/dist/src/traces/adapters/sentry.js.map +1 -0
- package/dist/src/traces/index.d.ts +10 -0
- package/dist/src/traces/index.d.ts.map +1 -0
- package/dist/src/traces/index.js +45 -0
- package/dist/src/traces/index.js.map +1 -0
- package/dist/src/traces/storage.d.ts +78 -0
- package/dist/src/traces/storage.d.ts.map +1 -0
- package/dist/src/traces/storage.js +399 -0
- package/dist/src/traces/storage.js.map +1 -0
- package/dist/src/traces/summarizer.d.ts +83 -0
- package/dist/src/traces/summarizer.d.ts.map +1 -0
- package/dist/src/traces/summarizer.js +247 -0
- package/dist/src/traces/summarizer.js.map +1 -0
- package/dist/src/traces/types.d.ts +365 -0
- package/dist/src/traces/types.d.ts.map +1 -0
- package/dist/src/traces/types.js +14 -0
- package/dist/src/traces/types.js.map +1 -0
- package/dist/src/types.d.ts +495 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +27 -0
- package/dist/src/types.js.map +1 -0
- package/docs/agent-surface-policy.md +45 -0
- package/docs/memory-setup.md +226 -0
- package/hooks/_arch_scan_bg.py +88 -0
- package/hooks/_plugin_drift_check_bg.py +85 -0
- package/hooks/_session_start_lib.sh +42 -0
- package/hooks/git/pre-push +141 -0
- package/hooks/hooks.json +126 -0
- package/hooks/post-commit +30 -0
- package/hooks/pre-commit +29 -0
- package/hooks/pre-edit-apppulse.sh +6 -0
- package/hooks/pre-edit-architecture.sh +106 -0
- package/hooks/pre-edit-rally-point.sh +92 -0
- package/hooks/session-start-apppulse.sh +6 -0
- package/hooks/session-start-architecture.sh +10 -0
- package/hooks/session-start-git-hooks.sh +12 -0
- package/hooks/session-start-plugin-drift.sh +27 -0
- package/hooks/session-start-rally-point.sh +44 -0
- package/hooks/session-start-retrieval.sh +24 -0
- package/hooks/session-start-worktree-gc.sh +105 -0
- package/hooks/test_apppulse_hooks.sh +6 -0
- package/hooks/test_rally_point_hooks.sh +388 -0
- package/hooks/test_sec008_hooks.sh +66 -0
- package/package.json +111 -0
- package/scripts/README.md +301 -0
- package/scripts/_db_url.py +61 -0
- package/scripts/_paths.py +445 -0
- package/scripts/blm.py +162 -0
- package/scripts/blm_api.py +263 -0
- package/scripts/check_cache_sync.py +490 -0
- package/scripts/embed_backend.py +475 -0
- package/scripts/install_memory.py +556 -0
- package/scripts/lessons_index/__init__.py +77 -0
- package/scripts/lessons_index/__main__.py +135 -0
- package/scripts/lessons_index/ingest.py +288 -0
- package/scripts/lessons_index/query.py +285 -0
- package/scripts/lessons_index/schema.py +114 -0
- package/scripts/memory_context/__init__.py +610 -0
- package/scripts/memory_graph/__init__.py +393 -0
- package/scripts/project_resolver.py +172 -0
- package/scripts/prune_codex_plugin_cache.py +23 -0
- package/scripts/prune_plugin_cache.py +359 -0
- package/scripts/semantic_index/__init__.py +482 -0
- package/scripts/semantic_index/_bench_hybrid.py +175 -0
- package/scripts/semantic_index/backfill.py +263 -0
- package/scripts/semantic_index/hybrid.py +174 -0
- package/scripts/semantic_index/test_backfill.py +292 -0
- package/scripts/semantic_index/test_hybrid.py +541 -0
- package/scripts/sync_navgator_lessons.py +666 -0
- package/scripts/sync_plugin_cache.py +388 -0
- package/skills/agent-rally-point/SKILL.md +165 -0
- package/skills/agent-rally-watcher/SKILL.md +83 -0
- package/skills/api-registry-bridge/SKILL.md +59 -0
- package/skills/architecture/dead/SKILL.md +56 -0
- package/skills/architecture/impact/SKILL.md +88 -0
- package/skills/architecture/review/SKILL.md +227 -0
- package/skills/architecture/rules/SKILL.md +72 -0
- package/skills/architecture/scan/SKILL.md +79 -0
- package/skills/architecture/trace/SKILL.md +65 -0
- package/skills/attribution-standard/SKILL.md +122 -0
- package/skills/authentication/SKILL.md +81 -0
- package/skills/authentication/references/better-auth-magic-link.md +135 -0
- package/skills/authentication/references/better-auth-setup.md +224 -0
- package/skills/authentication/references/google-calendar-sync.md +278 -0
- package/skills/authentication/references/google-cloud-console.md +159 -0
- package/skills/authentication/references/google-geocoding-directions.md +126 -0
- package/skills/authentication/references/google-lessons-example-web-app.md +177 -0
- package/skills/authentication/references/google-maps.md +162 -0
- package/skills/authentication/references/google-oauth-setup.md +343 -0
- package/skills/authentication/references/google-places.md +173 -0
- package/skills/authentication/references/lessons-example-web-app-better-auth.md +126 -0
- package/skills/authentication/references/resend-email.md +227 -0
- package/skills/authentication/references/resend-otp-magic-link.md +153 -0
- package/skills/authentication/references/supabase-auth.md +172 -0
- package/skills/auto-decision-capture/SKILL.md +419 -0
- package/skills/build-loop/SKILL.md +516 -0
- package/skills/build-loop/detect-plugins.mjs +82 -0
- package/skills/build-loop/eval-guide.md +65 -0
- package/skills/build-loop/fallbacks.md +549 -0
- package/skills/build-loop/phases/fact-check.md +42 -0
- package/skills/build-loop/phases/ui-validation.md +267 -0
- package/skills/build-loop/references/apple-native-planning.md +439 -0
- package/skills/build-loop/references/capability-routing.md +181 -0
- package/skills/build-loop/references/codex-subagents.md +98 -0
- package/skills/build-loop/references/coordination.md +161 -0
- package/skills/build-loop/references/correction-aware-capture.md +177 -0
- package/skills/build-loop/references/independent-auditor.md +72 -0
- package/skills/build-loop/references/intent-capability-pack.md +170 -0
- package/skills/build-loop/references/intent-exploration-prompts.md +96 -0
- package/skills/build-loop/references/leadership.md +72 -0
- package/skills/build-loop/references/memory.md +284 -0
- package/skills/build-loop/references/modular-systems-pack.md +96 -0
- package/skills/build-loop/references/output-style.md +129 -0
- package/skills/build-loop/references/pay-it-forward-arch.md +98 -0
- package/skills/build-loop/references/phase-1-assess.md +218 -0
- package/skills/build-loop/references/phase-2-plan.md +77 -0
- package/skills/build-loop/references/phase-3-execute.md +47 -0
- package/skills/build-loop/references/phase-4-review.md +310 -0
- package/skills/build-loop/references/phase-5-iterate.md +71 -0
- package/skills/build-loop/references/phase-6-learn.md +56 -0
- package/skills/build-loop/references/recent-design-structures.md +274 -0
- package/skills/build-loop/references/refactor-history/ASSESSMENT.md +85 -0
- package/skills/build-loop/references/refactor-history/STANDALONE_TEST_RUN.md +149 -0
- package/skills/build-loop/references/refactor-history/scenarios/01-simple-bugfix.md +32 -0
- package/skills/build-loop/references/refactor-history/scenarios/02-ui-build-with-iteration.md +48 -0
- package/skills/build-loop/references/refactor-history/scenarios/03-multi-failure-escalation.md +60 -0
- package/skills/build-loop/references/refactor-history/scenarios/04-ui-build-ibr-absent.md +51 -0
- package/skills/build-loop/references/refactor-history/scenarios/05-refactor-navgator-absent.md +71 -0
- package/skills/build-loop/references/refactor-history/scenarios/06-recurring-bug-debugger-absent.md +52 -0
- package/skills/build-loop/references/refactor-history/trace-comparison.md +202 -0
- package/skills/build-loop/references/self-recursive-dev.md +77 -0
- package/skills/build-loop/references/self-review.md +232 -0
- package/skills/build-loop/references/ui-io-contract.md +116 -0
- package/skills/build-loop/scanners/audit-design-rules.mjs +476 -0
- package/skills/build-loop/scanners/require-visual-evidence.mjs +239 -0
- package/skills/build-loop/templates/backlog-item.md +35 -0
- package/skills/build-loop/templates/codex-worker-prompt.md +89 -0
- package/skills/build-loop/templates/ui-subagent-prompt.md +179 -0
- package/skills/build-loop/templates/ux-fix-plan.md +40 -0
- package/skills/building-with-deepagents/SKILL.md +195 -0
- package/skills/building-with-deepagents/references/anti-patterns.md +141 -0
- package/skills/building-with-deepagents/references/api-quick-reference.md +184 -0
- package/skills/capabilities/SKILL.md +91 -0
- package/skills/debug-loop/SKILL.md +278 -0
- package/skills/debug-loop/references/convergence-rules.md +145 -0
- package/skills/debug-loop/references/swiftui-macos-clunky-ui-debugger.html +823 -0
- package/skills/debugging/assess/SKILL.md +111 -0
- package/skills/debugging/debug-loop/SKILL.md +231 -0
- package/skills/debugging/memory/SKILL.md +147 -0
- package/skills/debugging/store/SKILL.md +153 -0
- package/skills/debugging-memory/SKILL.md +440 -0
- package/skills/debugging-memory/examples/incident-example.json +67 -0
- package/skills/debugging-memory/references/incident-documentation.md +280 -0
- package/skills/debugging-memory/references/ios-notification-alarm-playbook.md +300 -0
- package/skills/debugging-memory/references/pattern-extraction.md +163 -0
- package/skills/debugging-memory/references/subagent-integration.md +312 -0
- package/skills/defenseclaw-bridge/SKILL.md +156 -0
- package/skills/defenseclaw-bridge/references/dc-config-mapping.md +162 -0
- package/skills/defenseclaw-bridge/references/output-format.md +108 -0
- package/skills/handoff/SKILL.md +94 -0
- package/skills/ibr-bridge/SKILL.md +68 -0
- package/skills/knowledge/SKILL.md +127 -0
- package/skills/knowledge/references/recall-integration.md +83 -0
- package/skills/knowledge/templates/madr-minimal.md +56 -0
- package/skills/knowledge-review/SKILL.md +112 -0
- package/skills/logging-tracer/SKILL.md +202 -0
- package/skills/logging-tracer/references/log-analysis.md +128 -0
- package/skills/logging-tracer/references/stack-templates.md +274 -0
- package/skills/logging-tracer-bridge/SKILL.md +70 -0
- package/skills/mcp-builder/SKILL.md +278 -0
- package/skills/mcp-builder/references/mcp-security.md +106 -0
- package/skills/model-tiering/SKILL.md +216 -0
- package/skills/native-ax-driver/SKILL.md +220 -0
- package/skills/native-ax-driver/scripts/layout_fill.py +222 -0
- package/skills/native-ax-driver/scripts/native_driver.py +495 -0
- package/skills/native-ax-driver/swift/bl-ax-driver/Package.swift +20 -0
- package/skills/native-ax-driver/swift/bl-ax-driver/Sources/main.swift +542 -0
- package/skills/optimize/SKILL.md +202 -0
- package/skills/optimize/profiles.md +61 -0
- package/skills/plan-verify/SKILL.md +115 -0
- package/skills/plan-verify/test-fixtures/example-app-v20-findings.json +27 -0
- package/skills/plan-verify/test-fixtures/example-app-v20.md +42 -0
- package/skills/plan-verify/test-fixtures/example-app-v22-findings.json +15 -0
- package/skills/plan-verify/test-fixtures/example-app-v22.md +1608 -0
- package/skills/plan-verify/test-fixtures/unrelated-good-plan-findings.json +15 -0
- package/skills/plan-verify/test-fixtures/unrelated-good-plan.md +55 -0
- package/skills/plugin-builder/SKILL.md +329 -0
- package/skills/plugin-builder/references/authoritative-sources.md +104 -0
- package/skills/plugin-builder/references/build-loop-phase-guidance.md +94 -0
- package/skills/plugin-builder/references/components-guide.md +221 -0
- package/skills/plugin-builder/references/distribution.md +317 -0
- package/skills/plugin-builder/references/dual-host-claude-codex.md +220 -0
- package/skills/plugin-builder/references/hooks-reference.md +210 -0
- package/skills/plugin-builder/references/manifest-schema.md +111 -0
- package/skills/plugin-builder/references/plugin-hygiene-lessons.md +307 -0
- package/skills/plugin-tests/SKILL.md +94 -0
- package/skills/prd-bridge/SKILL.md +135 -0
- package/skills/research/SKILL.md +80 -0
- package/skills/security-methodology/SKILL.md +105 -0
- package/skills/security-methodology/references/cross-source-matrix.md +77 -0
- package/skills/security-methodology/references/mitre-atlas-starter.md +83 -0
- package/skills/security-methodology/references/nist-600-1-mapping.md +119 -0
- package/skills/security-methodology/references/owasp-agentic-top-10.md +157 -0
- package/skills/security-methodology/references/owasp-llm-top-10.md +144 -0
- package/skills/security-methodology/references/owasp-web-top-10.md +65 -0
- package/skills/self-improve/SKILL.md +298 -0
- package/skills/spec-writing/SKILL.md +548 -0
- package/skills/spec-writing/scripts/check_checklist.py +478 -0
- package/skills/sync-skills/SKILL.md +132 -0
- package/skills/telemetry/SKILL.md +66 -0
- package/skills/ui-design/SKILL.md +75 -0
- package/skills/ui-design/references/design-patterns-multi.md +165 -0
- package/skills/ui-design/references/design-preferences-from-owned-apps.md +150 -0
- package/skills/ui-design/references/evidence-capture-policy.md +55 -0
- package/skills/ui-design/references/ui-guidance-sources.md +330 -0
- package/skills/ui-design/references/universal-design-principles.alt.md +182 -0
- package/skills/ui-design/references/universal-design-principles.md +419 -0
- package/templates/memory/MEMORY.md.template +55 -0
- package/templates/memory/constitution.md.template +64 -0
- package/templates/memory/manifest.json +47 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context Engine - Auto-injection, file-aware context, and session context
|
|
3
|
+
*
|
|
4
|
+
* Three layers of progressive context:
|
|
5
|
+
* 1. CLAUDE.md dynamic section (~250 tokens, always present)
|
|
6
|
+
* 2. Session-start context (compact JSON with stats + triggers)
|
|
7
|
+
* 3. File-aware pre-tool context (incident IDs for files being edited)
|
|
8
|
+
*/
|
|
9
|
+
import type { MemoryConfig } from './types';
|
|
10
|
+
/**
|
|
11
|
+
* Generate the dynamic CLAUDE.md section from index data
|
|
12
|
+
*
|
|
13
|
+
* Reads index.json (O(1), no file scan) and produces a ~250 token section
|
|
14
|
+
* that tells the AI WHEN to invoke /debugger.
|
|
15
|
+
*/
|
|
16
|
+
export declare function generateDynamicSection(config?: MemoryConfig): Promise<string>;
|
|
17
|
+
/**
|
|
18
|
+
* Generate session-start context ā compact JSON for the SessionStart hook
|
|
19
|
+
*
|
|
20
|
+
* Output: ~150 tokens of structured context.
|
|
21
|
+
*/
|
|
22
|
+
export declare function generateSessionContext(config?: MemoryConfig): Promise<{
|
|
23
|
+
ok: boolean;
|
|
24
|
+
memory_state: {
|
|
25
|
+
incidents: number;
|
|
26
|
+
patterns: number;
|
|
27
|
+
categories: string[];
|
|
28
|
+
hot_files: string[];
|
|
29
|
+
recent_ids: string[];
|
|
30
|
+
};
|
|
31
|
+
triggers: string[];
|
|
32
|
+
}>;
|
|
33
|
+
/**
|
|
34
|
+
* Check if a file has past incidents ā for PreToolUse file-aware hook
|
|
35
|
+
*
|
|
36
|
+
* Returns incident IDs if file has past bugs, or {ok: true} if clean.
|
|
37
|
+
* Zero noise for files without history.
|
|
38
|
+
*/
|
|
39
|
+
export declare function checkFileContext(filepath: string, config?: MemoryConfig): Promise<{
|
|
40
|
+
ok: boolean;
|
|
41
|
+
has_incidents: boolean;
|
|
42
|
+
incident_ids?: string[];
|
|
43
|
+
message?: string;
|
|
44
|
+
}>;
|
|
45
|
+
//# sourceMappingURL=context-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-engine.d.ts","sourceRoot":"","sources":["../../src/context-engine.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,SAAS,CAAC;AAIzD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CA4CnF;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;IAC3E,EAAE,EAAE,OAAO,CAAC;IACZ,YAAY,EAAE;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IACF,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC,CA6CD;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC;IACT,EAAE,EAAE,OAAO,CAAC;IACZ,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC,CAqBD"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com>
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
/**
|
|
5
|
+
* Context Engine - Auto-injection, file-aware context, and session context
|
|
6
|
+
*
|
|
7
|
+
* Three layers of progressive context:
|
|
8
|
+
* 1. CLAUDE.md dynamic section (~250 tokens, always present)
|
|
9
|
+
* 2. Session-start context (compact JSON with stats + triggers)
|
|
10
|
+
* 3. File-aware pre-tool context (incident IDs for files being edited)
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.generateDynamicSection = generateDynamicSection;
|
|
14
|
+
exports.generateSessionContext = generateSessionContext;
|
|
15
|
+
exports.checkFileContext = checkFileContext;
|
|
16
|
+
const storage_1 = require("./storage");
|
|
17
|
+
/**
|
|
18
|
+
* Generate the dynamic CLAUDE.md section from index data
|
|
19
|
+
*
|
|
20
|
+
* Reads index.json (O(1), no file scan) and produces a ~250 token section
|
|
21
|
+
* that tells the AI WHEN to invoke /debugger.
|
|
22
|
+
*/
|
|
23
|
+
async function generateDynamicSection(config) {
|
|
24
|
+
const index = await (0, storage_1.loadIndex)(config);
|
|
25
|
+
if (!index || index.stats.total_incidents === 0) {
|
|
26
|
+
return `
|
|
27
|
+
## Debugging Memory (Auto-Active)
|
|
28
|
+
|
|
29
|
+
**Trigger:** Call \`/debugger "symptom"\` BEFORE investigating when you see:
|
|
30
|
+
- Error messages, stack traces, test failures
|
|
31
|
+
- "fix", "debug", "broken", "not working" from user
|
|
32
|
+
- Editing a file that previously had bugs
|
|
33
|
+
|
|
34
|
+
**Memory State:** Empty ā no incidents stored yet
|
|
35
|
+
**Start building memory** by documenting fixes with /debugger-scan
|
|
36
|
+
`;
|
|
37
|
+
}
|
|
38
|
+
// Build category summary
|
|
39
|
+
const topCategories = Object.entries(index.stats.categories)
|
|
40
|
+
.sort(([, a], [, b]) => b - a)
|
|
41
|
+
.slice(0, 5)
|
|
42
|
+
.map(([cat, count]) => `${cat}(${count})`)
|
|
43
|
+
.join(', ');
|
|
44
|
+
// Build hot files list
|
|
45
|
+
const hotFiles = Object.entries(index.by_file)
|
|
46
|
+
.sort(([, a], [, b]) => b.length - a.length)
|
|
47
|
+
.slice(0, 5)
|
|
48
|
+
.map(([file, ids]) => `${file}(${ids.length})`)
|
|
49
|
+
.join(', ');
|
|
50
|
+
return `
|
|
51
|
+
## Debugging Memory (Auto-Active)
|
|
52
|
+
|
|
53
|
+
**Trigger:** Call \`/debugger "symptom"\` BEFORE investigating when you see:
|
|
54
|
+
- Error messages, stack traces, test failures
|
|
55
|
+
- "fix", "debug", "broken", "not working" from user
|
|
56
|
+
- Editing a file listed in Hot Files below
|
|
57
|
+
|
|
58
|
+
**Memory State:** ${index.stats.total_incidents} incidents | ${index.stats.total_patterns} patterns | Quality: ${index.stats.quality_distribution.excellent}E/${index.stats.quality_distribution.good}G/${index.stats.quality_distribution.fair}F
|
|
59
|
+
**Categories:** ${topCategories || 'none'}
|
|
60
|
+
**Hot files:** ${hotFiles || 'none'}
|
|
61
|
+
**Progressive:** Use \`/debugger-detail <ID>\` to drill into any match
|
|
62
|
+
`;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Generate session-start context ā compact JSON for the SessionStart hook
|
|
66
|
+
*
|
|
67
|
+
* Output: ~150 tokens of structured context.
|
|
68
|
+
*/
|
|
69
|
+
async function generateSessionContext(config) {
|
|
70
|
+
const index = await (0, storage_1.loadIndex)(config);
|
|
71
|
+
if (!index || index.stats.total_incidents === 0) {
|
|
72
|
+
return {
|
|
73
|
+
ok: true,
|
|
74
|
+
memory_state: {
|
|
75
|
+
incidents: 0,
|
|
76
|
+
patterns: 0,
|
|
77
|
+
categories: [],
|
|
78
|
+
hot_files: [],
|
|
79
|
+
recent_ids: [],
|
|
80
|
+
},
|
|
81
|
+
triggers: [
|
|
82
|
+
'Call /debugger "symptom" when you see errors or test failures',
|
|
83
|
+
'Document fixes with /debugger-scan at session end',
|
|
84
|
+
],
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
const topCategories = Object.entries(index.stats.categories)
|
|
88
|
+
.sort(([, a], [, b]) => b - a)
|
|
89
|
+
.slice(0, 5)
|
|
90
|
+
.map(([cat]) => cat);
|
|
91
|
+
const hotFiles = Object.entries(index.by_file)
|
|
92
|
+
.sort(([, a], [, b]) => b.length - a.length)
|
|
93
|
+
.slice(0, 5)
|
|
94
|
+
.map(([file]) => file);
|
|
95
|
+
return {
|
|
96
|
+
ok: true,
|
|
97
|
+
memory_state: {
|
|
98
|
+
incidents: index.stats.total_incidents,
|
|
99
|
+
patterns: index.stats.total_patterns,
|
|
100
|
+
categories: topCategories,
|
|
101
|
+
hot_files: hotFiles,
|
|
102
|
+
recent_ids: index.recent.slice(0, 5),
|
|
103
|
+
},
|
|
104
|
+
triggers: [
|
|
105
|
+
'Call /debugger "symptom" BEFORE investigating errors',
|
|
106
|
+
`Hot files with past bugs: ${hotFiles.slice(0, 3).join(', ') || 'none'}`,
|
|
107
|
+
'Use /debugger-detail <ID> to drill into matches',
|
|
108
|
+
],
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Check if a file has past incidents ā for PreToolUse file-aware hook
|
|
113
|
+
*
|
|
114
|
+
* Returns incident IDs if file has past bugs, or {ok: true} if clean.
|
|
115
|
+
* Zero noise for files without history.
|
|
116
|
+
*/
|
|
117
|
+
async function checkFileContext(filepath, config) {
|
|
118
|
+
const index = await (0, storage_1.loadIndex)(config);
|
|
119
|
+
if (!index) {
|
|
120
|
+
return { ok: true, has_incidents: false };
|
|
121
|
+
}
|
|
122
|
+
// Normalize filepath for lookup
|
|
123
|
+
const normalizedPath = filepath.replace(/^\.\//, '');
|
|
124
|
+
const ids = index.by_file[normalizedPath] || index.by_file[filepath] || [];
|
|
125
|
+
if (ids.length === 0) {
|
|
126
|
+
return { ok: true, has_incidents: false };
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
ok: true,
|
|
130
|
+
has_incidents: true,
|
|
131
|
+
incident_ids: ids.slice(0, 5),
|
|
132
|
+
message: `This file has ${ids.length} past incident(s). Run /debugger-detail ${ids[0]} to review before editing.`,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=context-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-engine.js","sourceRoot":"","sources":["../../src/context-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Debug With Memory - Wrapper Function
|
|
3
|
+
*
|
|
4
|
+
* Automatically checks memory before debugging and stores incidents after.
|
|
5
|
+
* Works with all 4 entry points: chief agent, direct agent, chat mode, resume work.
|
|
6
|
+
*/
|
|
7
|
+
import type { Incident, RetrievalResult } from './types';
|
|
8
|
+
interface DebugContext {
|
|
9
|
+
symptom: string;
|
|
10
|
+
memory: RetrievalResult;
|
|
11
|
+
session_id: string;
|
|
12
|
+
started_at: number;
|
|
13
|
+
}
|
|
14
|
+
interface DebugResult {
|
|
15
|
+
success: boolean;
|
|
16
|
+
incident?: Incident;
|
|
17
|
+
memory_stored: boolean;
|
|
18
|
+
verification_passed: boolean;
|
|
19
|
+
context_used: DebugContext;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Main wrapper function for debugging with memory
|
|
23
|
+
*
|
|
24
|
+
* Usage:
|
|
25
|
+
* const result = await debugWithMemory("Search filters not working");
|
|
26
|
+
*
|
|
27
|
+
* This function:
|
|
28
|
+
* 1. Checks memory for similar past incidents
|
|
29
|
+
* 2. Provides context to the debugging process
|
|
30
|
+
* 3. Stores the incident after debugging
|
|
31
|
+
* 4. Verifies storage succeeded
|
|
32
|
+
*/
|
|
33
|
+
export declare function debugWithMemory(symptom: string, options?: {
|
|
34
|
+
agent?: string;
|
|
35
|
+
auto_store?: boolean;
|
|
36
|
+
min_confidence?: number;
|
|
37
|
+
}): Promise<DebugResult>;
|
|
38
|
+
/**
|
|
39
|
+
* Store incident after debugging is complete
|
|
40
|
+
*
|
|
41
|
+
* Usage:
|
|
42
|
+
* await storeDebugIncident(session_id, {
|
|
43
|
+
* root_cause: { description: "...", confidence: 0.9 },
|
|
44
|
+
* fix: { approach: "...", changes: [...] },
|
|
45
|
+
* // ... other fields
|
|
46
|
+
* });
|
|
47
|
+
*/
|
|
48
|
+
export declare function storeDebugIncident(session_id: string, incident_data: Partial<Incident>): Promise<{
|
|
49
|
+
success: boolean;
|
|
50
|
+
incident_id: string;
|
|
51
|
+
verified: boolean;
|
|
52
|
+
}>;
|
|
53
|
+
/**
|
|
54
|
+
* Get memory system statistics
|
|
55
|
+
*/
|
|
56
|
+
export declare function getMemoryStatus(): Promise<void>;
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=debug-wrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-wrapper.d.ts","sourceRoot":"","sources":["../../src/debug-wrapper.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAyB,MAAM,SAAS,CAAC;AAQhF,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,WAAW;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACpB,GACL,OAAO,CAAC,WAAW,CAAC,CAiFtB;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,GAC/B,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,CAsFvE;AAwFD;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAoBrD"}
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com>
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
/**
|
|
5
|
+
* Debug With Memory - Wrapper Function
|
|
6
|
+
*
|
|
7
|
+
* Automatically checks memory before debugging and stores incidents after.
|
|
8
|
+
* Works with all 4 entry points: chief agent, direct agent, chat mode, resume work.
|
|
9
|
+
*/
|
|
10
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
11
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.debugWithMemory = debugWithMemory;
|
|
15
|
+
exports.storeDebugIncident = storeDebugIncident;
|
|
16
|
+
exports.getMemoryStatus = getMemoryStatus;
|
|
17
|
+
const retrieval_1 = require("./retrieval");
|
|
18
|
+
const storage_1 = require("./storage");
|
|
19
|
+
const pattern_extractor_1 = require("./pattern-extractor");
|
|
20
|
+
const config_1 = require("./config");
|
|
21
|
+
const promises_1 = __importDefault(require("fs/promises"));
|
|
22
|
+
const path_1 = __importDefault(require("path"));
|
|
23
|
+
/**
|
|
24
|
+
* Main wrapper function for debugging with memory
|
|
25
|
+
*
|
|
26
|
+
* Usage:
|
|
27
|
+
* const result = await debugWithMemory("Search filters not working");
|
|
28
|
+
*
|
|
29
|
+
* This function:
|
|
30
|
+
* 1. Checks memory for similar past incidents
|
|
31
|
+
* 2. Provides context to the debugging process
|
|
32
|
+
* 3. Stores the incident after debugging
|
|
33
|
+
* 4. Verifies storage succeeded
|
|
34
|
+
*/
|
|
35
|
+
async function debugWithMemory(symptom, options = {}) {
|
|
36
|
+
const { agent = 'unknown', auto_store = true, min_confidence = 0.7 } = options;
|
|
37
|
+
console.log('\nš§ Debug With Memory');
|
|
38
|
+
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n');
|
|
39
|
+
// Step 1: Check Memory
|
|
40
|
+
console.log('Step 1: Checking memory for similar incidents...');
|
|
41
|
+
const memory = await (0, retrieval_1.checkMemory)(symptom, {
|
|
42
|
+
similarity_threshold: min_confidence,
|
|
43
|
+
max_results: 5,
|
|
44
|
+
temporal_preference: 90
|
|
45
|
+
});
|
|
46
|
+
const context = {
|
|
47
|
+
symptom,
|
|
48
|
+
memory,
|
|
49
|
+
session_id: `SESSION_${Date.now()}_${Math.random().toString(36).substring(2, 6)}`,
|
|
50
|
+
started_at: Date.now()
|
|
51
|
+
};
|
|
52
|
+
// Save session context
|
|
53
|
+
await saveSessionContext(context);
|
|
54
|
+
// Step 2: Present Memory to User/Agent
|
|
55
|
+
if (memory.patterns.length > 0) {
|
|
56
|
+
console.log(`ā
Found ${memory.patterns.length} matching patterns`);
|
|
57
|
+
console.log(` Confidence: ${(memory.confidence * 100).toFixed(0)}%`);
|
|
58
|
+
console.log(` Context tokens: ${memory.tokens_used}\n`);
|
|
59
|
+
memory.patterns.forEach((pattern, i) => {
|
|
60
|
+
console.log(` Pattern ${i + 1}: ${pattern.name}`);
|
|
61
|
+
console.log(` Success rate: ${(pattern.success_rate * 100).toFixed(0)}%`);
|
|
62
|
+
console.log(` Solution: ${pattern.solution_template.substring(0, 80)}...`);
|
|
63
|
+
if (pattern.caveats && pattern.caveats.length > 0) {
|
|
64
|
+
console.log(` ā ļø Caveats: ${pattern.caveats.join(', ')}`);
|
|
65
|
+
}
|
|
66
|
+
console.log('');
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
else if (memory.incidents.length > 0) {
|
|
70
|
+
console.log(`ā
Found ${memory.incidents.length} similar incidents`);
|
|
71
|
+
console.log(` Confidence: ${(memory.confidence * 100).toFixed(0)}%`);
|
|
72
|
+
console.log(` Context tokens: ${memory.tokens_used}\n`);
|
|
73
|
+
memory.incidents.forEach((incident, i) => {
|
|
74
|
+
console.log(` Incident ${i + 1}: ${incident.symptom?.substring(0, 60) ?? 'Unknown'}...`);
|
|
75
|
+
console.log(` Root cause: ${incident.root_cause?.description?.substring(0, 60) ?? 'Unknown'}...`);
|
|
76
|
+
console.log(` Fix approach: ${incident.fix?.approach?.substring(0, 60) ?? 'Unknown'}...`);
|
|
77
|
+
console.log(` Confidence: ${((incident.root_cause?.confidence ?? 0) * 100).toFixed(0)}%`);
|
|
78
|
+
// Quality warnings
|
|
79
|
+
if (incident.quality_gates && !incident.quality_gates.guardian_validated) {
|
|
80
|
+
console.log(` ā ļø Not security validated`);
|
|
81
|
+
}
|
|
82
|
+
if (incident.verification && incident.verification.status !== 'verified') {
|
|
83
|
+
console.log(` ā ļø Fix not fully verified`);
|
|
84
|
+
}
|
|
85
|
+
console.log('');
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
console.log('ā¹ļø No similar incidents found in memory');
|
|
90
|
+
console.log(' This appears to be a new type of issue\n');
|
|
91
|
+
}
|
|
92
|
+
console.log('Step 2: Proceed with debugging...');
|
|
93
|
+
console.log(' (Memory context available for reference)\n');
|
|
94
|
+
// Return context for manual debugging
|
|
95
|
+
// In actual usage, this would be followed by agent invocation or manual debugging
|
|
96
|
+
return {
|
|
97
|
+
success: true,
|
|
98
|
+
memory_stored: false,
|
|
99
|
+
verification_passed: false,
|
|
100
|
+
context_used: context
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Store incident after debugging is complete
|
|
105
|
+
*
|
|
106
|
+
* Usage:
|
|
107
|
+
* await storeDebugIncident(session_id, {
|
|
108
|
+
* root_cause: { description: "...", confidence: 0.9 },
|
|
109
|
+
* fix: { approach: "...", changes: [...] },
|
|
110
|
+
* // ... other fields
|
|
111
|
+
* });
|
|
112
|
+
*/
|
|
113
|
+
async function storeDebugIncident(session_id, incident_data) {
|
|
114
|
+
console.log('\nš¾ Storing incident in memory...');
|
|
115
|
+
// Load session context
|
|
116
|
+
const context = await loadSessionContext(session_id);
|
|
117
|
+
if (!context) {
|
|
118
|
+
console.error('ā Session not found');
|
|
119
|
+
return { success: false, incident_id: '', verified: false };
|
|
120
|
+
}
|
|
121
|
+
// Build complete incident (with category-prefixed ID)
|
|
122
|
+
const category = incident_data.root_cause?.category;
|
|
123
|
+
const incident = {
|
|
124
|
+
incident_id: (0, storage_1.generateIncidentId)(category),
|
|
125
|
+
timestamp: Date.now(),
|
|
126
|
+
symptom: context.symptom,
|
|
127
|
+
session_id: session_id,
|
|
128
|
+
// Provided by caller
|
|
129
|
+
root_cause: incident_data.root_cause,
|
|
130
|
+
fix: incident_data.fix,
|
|
131
|
+
verification: incident_data.verification || {
|
|
132
|
+
status: 'unverified',
|
|
133
|
+
regression_tests_passed: false,
|
|
134
|
+
user_journey_tested: false,
|
|
135
|
+
success_criteria_met: false
|
|
136
|
+
},
|
|
137
|
+
// Metadata
|
|
138
|
+
tags: incident_data.tags || extractTags(context.symptom),
|
|
139
|
+
files_changed: incident_data.files_changed || [],
|
|
140
|
+
agent_used: incident_data.agent_used || 'unknown',
|
|
141
|
+
// Quality tracking
|
|
142
|
+
quality_gates: incident_data.quality_gates || {
|
|
143
|
+
guardian_validated: false,
|
|
144
|
+
tested_e2e: false,
|
|
145
|
+
tested_from_ui: false,
|
|
146
|
+
security_reviewed: false,
|
|
147
|
+
architect_reviewed: false
|
|
148
|
+
},
|
|
149
|
+
completeness: calculateCompleteness(incident_data)
|
|
150
|
+
};
|
|
151
|
+
// Store incident
|
|
152
|
+
try {
|
|
153
|
+
const result = await (0, storage_1.storeIncident)(incident, { validate_schema: true });
|
|
154
|
+
console.log(`ā
Stored: ${result.incident_id}`);
|
|
155
|
+
// Verify storage (ground truth check)
|
|
156
|
+
const verified = await verifyIncidentStorage(result.incident_id);
|
|
157
|
+
if (verified) {
|
|
158
|
+
console.log('ā
Verification passed: File exists on disk');
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
console.warn('ā ļø Verification failed: File not found on disk');
|
|
162
|
+
}
|
|
163
|
+
// Auto-extract patterns if ready
|
|
164
|
+
console.log('\nš Checking for pattern extraction opportunities...');
|
|
165
|
+
const pattern = await (0, pattern_extractor_1.autoExtractPatternIfReady)(incident);
|
|
166
|
+
if (pattern) {
|
|
167
|
+
console.log(`⨠Auto-extracted pattern: ${pattern.name}`);
|
|
168
|
+
console.log(`š Based on ${pattern.usage_history.total_uses} similar incidents`);
|
|
169
|
+
console.log(`šÆ Pattern ID: ${pattern.pattern_id}`);
|
|
170
|
+
console.log(`ā
Success rate: ${(pattern.success_rate * 100).toFixed(0)}%`);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
console.log('ā¹ļø Not enough similar incidents yet for pattern extraction');
|
|
174
|
+
}
|
|
175
|
+
// Clean up session
|
|
176
|
+
await cleanupSession(session_id);
|
|
177
|
+
return {
|
|
178
|
+
success: true,
|
|
179
|
+
incident_id: result.incident_id,
|
|
180
|
+
verified
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
console.error('ā Storage failed:', error);
|
|
185
|
+
return { success: false, incident_id: '', verified: false };
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Verify incident was actually stored (file system ground truth)
|
|
190
|
+
*/
|
|
191
|
+
async function verifyIncidentStorage(incident_id, config) {
|
|
192
|
+
const paths = (0, config_1.getMemoryPaths)(config);
|
|
193
|
+
const filepath = path_1.default.join(paths.incidents, `${incident_id}.json`);
|
|
194
|
+
try {
|
|
195
|
+
await promises_1.default.access(filepath);
|
|
196
|
+
const content = await promises_1.default.readFile(filepath, 'utf-8');
|
|
197
|
+
const incident = JSON.parse(content);
|
|
198
|
+
return incident.incident_id === incident_id;
|
|
199
|
+
}
|
|
200
|
+
catch {
|
|
201
|
+
return false;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Save session context for later reference
|
|
206
|
+
*/
|
|
207
|
+
async function saveSessionContext(context, config) {
|
|
208
|
+
const paths = (0, config_1.getMemoryPaths)(config);
|
|
209
|
+
await promises_1.default.mkdir(paths.sessions, { recursive: true });
|
|
210
|
+
const filepath = path_1.default.join(paths.sessions, `${context.session_id}.json`);
|
|
211
|
+
await promises_1.default.writeFile(filepath, JSON.stringify(context, null, 2), 'utf-8');
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Load session context
|
|
215
|
+
*/
|
|
216
|
+
async function loadSessionContext(session_id, config) {
|
|
217
|
+
const paths = (0, config_1.getMemoryPaths)(config);
|
|
218
|
+
const filepath = path_1.default.join(paths.sessions, `${session_id}.json`);
|
|
219
|
+
try {
|
|
220
|
+
const content = await promises_1.default.readFile(filepath, 'utf-8');
|
|
221
|
+
return JSON.parse(content);
|
|
222
|
+
}
|
|
223
|
+
catch {
|
|
224
|
+
return null;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Clean up session after incident stored
|
|
229
|
+
*/
|
|
230
|
+
async function cleanupSession(session_id, config) {
|
|
231
|
+
const paths = (0, config_1.getMemoryPaths)(config);
|
|
232
|
+
const filepath = path_1.default.join(paths.sessions, `${session_id}.json`);
|
|
233
|
+
try {
|
|
234
|
+
await promises_1.default.unlink(filepath);
|
|
235
|
+
}
|
|
236
|
+
catch {
|
|
237
|
+
// Ignore cleanup errors
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Extract tags from symptom description
|
|
242
|
+
*/
|
|
243
|
+
function extractTags(symptom) {
|
|
244
|
+
const keywords = symptom.toLowerCase().match(/\b\w{4,}\b/g) || [];
|
|
245
|
+
const commonWords = new Set(['this', 'that', 'with', 'from', 'have', 'been', 'were']);
|
|
246
|
+
return [...new Set(keywords.filter(w => !commonWords.has(w)))].slice(0, 5);
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Calculate incident completeness score
|
|
250
|
+
*/
|
|
251
|
+
function calculateCompleteness(incident_data) {
|
|
252
|
+
const fields = {
|
|
253
|
+
symptom: true,
|
|
254
|
+
root_cause: !!incident_data.root_cause,
|
|
255
|
+
fix: !!incident_data.fix,
|
|
256
|
+
verification: !!incident_data.verification
|
|
257
|
+
};
|
|
258
|
+
const total = Object.values(fields).length;
|
|
259
|
+
const complete = Object.values(fields).filter(Boolean).length;
|
|
260
|
+
return {
|
|
261
|
+
...fields,
|
|
262
|
+
quality_score: complete / total
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Get memory system statistics
|
|
267
|
+
*/
|
|
268
|
+
async function getMemoryStatus() {
|
|
269
|
+
console.log('\nš Memory System Status');
|
|
270
|
+
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n');
|
|
271
|
+
const stats = await (0, storage_1.getMemoryStats)();
|
|
272
|
+
console.log(`Total incidents: ${stats.total_incidents}`);
|
|
273
|
+
console.log(`Total patterns: ${stats.total_patterns}`);
|
|
274
|
+
console.log(`Disk usage: ${stats.disk_usage_kb} KB`);
|
|
275
|
+
if (stats.total_incidents > 0 && stats.oldest_incident > 0) {
|
|
276
|
+
const oldestDate = new Date(stats.oldest_incident);
|
|
277
|
+
const newestDate = new Date(stats.newest_incident);
|
|
278
|
+
const oldestStr = isNaN(oldestDate.getTime()) ? 'Unknown' : oldestDate.toLocaleDateString();
|
|
279
|
+
const newestStr = isNaN(newestDate.getTime()) ? 'Unknown' : newestDate.toLocaleDateString();
|
|
280
|
+
console.log(`Oldest incident: ${oldestStr}`);
|
|
281
|
+
console.log(`Newest incident: ${newestStr}`);
|
|
282
|
+
}
|
|
283
|
+
console.log('');
|
|
284
|
+
}
|
|
285
|
+
//# sourceMappingURL=debug-wrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-wrapper.js","sourceRoot":"","sources":["../../src/debug-wrapper.ts"],"names":[],"mappings":";AAAA,mGAAmG;AACnG,sCAAsC;AACtC;;;;;GAKG;;;;;AAqCH,0CAwFC;AAYD,gDAyFC;AA2FD,0CAoBC;AA9UD,2CAA0C;AAC1C,uCAA8E;AAC9E,2DAAgE;AAChE,qCAA0C;AAC1C,2DAA6B;AAC7B,gDAAwB;AAiBxB;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,UAII,EAAE;IAGN,MAAM,EACJ,KAAK,GAAG,SAAS,EACjB,UAAU,GAAG,IAAI,EACjB,cAAc,GAAG,GAAG,EACrB,GAAG,OAAO,CAAC;IAEZ,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IAEjE,uBAAuB;IACvB,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAEhE,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAW,EAAC,OAAO,EAAE;QACxC,oBAAoB,EAAE,cAAc;QACpC,WAAW,EAAE,CAAC;QACd,mBAAmB,EAAE,EAAE;KACxB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAiB;QAC5B,OAAO;QACP,MAAM;QACN,UAAU,EAAE,WAAW,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QACjF,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;KACvB,CAAC;IAEF,uBAAuB;IACvB,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAElC,uCAAuC;IACvC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,QAAQ,CAAC,MAAM,oBAAoB,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;QAE1D,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;YACrC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC5E,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;YAC7E,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,SAAS,CAAC,MAAM,oBAAoB,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;QAE1D,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,KAAK,CAAC,CAAC;YAC3F,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,KAAK,CAAC,CAAC;YACpG,OAAO,CAAC,GAAG,CAAC,oBAAoB,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,KAAK,CAAC,CAAC;YAC5F,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAE5F,mBAAmB;YACnB,IAAI,QAAQ,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC;gBACzE,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC/C,CAAC;YACD,IAAI,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACzE,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC/C,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAE7D,sCAAsC;IACtC,kFAAkF;IAClF,OAAO;QACL,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,KAAK;QACpB,mBAAmB,EAAE,KAAK;QAC1B,YAAY,EAAE,OAAO;KACtB,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,kBAAkB,CACtC,UAAkB,EAClB,aAAgC;IAGhC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAElD,uBAAuB;IACvB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACrC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC9D,CAAC;IAED,sDAAsD;IACtD,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC;IACpD,MAAM,QAAQ,GAAa;QACzB,WAAW,EAAE,IAAA,4BAAkB,EAAC,QAAQ,CAAC;QACzC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,UAAU;QAEtB,qBAAqB;QACrB,UAAU,EAAE,aAAa,CAAC,UAAW;QACrC,GAAG,EAAE,aAAa,CAAC,GAAI;QACvB,YAAY,EAAE,aAAa,CAAC,YAAY,IAAI;YAC1C,MAAM,EAAE,YAAY;YACpB,uBAAuB,EAAE,KAAK;YAC9B,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;SAC5B;QAED,WAAW;QACX,IAAI,EAAE,aAAa,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;QACxD,aAAa,EAAE,aAAa,CAAC,aAAa,IAAI,EAAE;QAChD,UAAU,EAAE,aAAa,CAAC,UAAU,IAAI,SAAS;QAEjD,mBAAmB;QACnB,aAAa,EAAE,aAAa,CAAC,aAAa,IAAI;YAC5C,kBAAkB,EAAE,KAAK;YACzB,UAAU,EAAE,KAAK;YACjB,cAAc,EAAE,KAAK;YACrB,iBAAiB,EAAE,KAAK;YACxB,kBAAkB,EAAE,KAAK;SAC1B;QAED,YAAY,EAAE,qBAAqB,CAAC,aAAa,CAAC;KACnD,CAAC;IAEF,iBAAiB;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAa,EAAC,QAAQ,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAE/C,sCAAsC;QACtC,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEjE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAClE,CAAC;QAED,iCAAiC;QACjC,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,MAAM,IAAA,6CAAyB,EAAC,QAAQ,CAAC,CAAC;QAE1D,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,6BAA6B,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,aAAa,CAAC,UAAU,oBAAoB,CAAC,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAC7E,CAAC;QAED,mBAAmB;QACnB,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;QAEjC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ;SACT,CAAC;IAEJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC9D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,qBAAqB,CAAC,WAAmB,EAAE,MAAqB;IAC7E,MAAM,KAAK,GAAG,IAAA,uBAAc,EAAC,MAAM,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,WAAW,OAAO,CAAC,CAAC;IAEnE,IAAI,CAAC;QACH,MAAM,kBAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1B,MAAM,OAAO,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,QAAQ,CAAC,WAAW,KAAK,WAAW,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAAC,OAAqB,EAAE,MAAqB;IAC5E,MAAM,KAAK,GAAG,IAAA,uBAAc,EAAC,MAAM,CAAC,CAAC;IACrC,MAAM,kBAAE,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,UAAU,OAAO,CAAC,CAAC;IACzE,MAAM,kBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC1E,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAAC,UAAkB,EAAE,MAAqB;IACzE,MAAM,KAAK,GAAG,IAAA,uBAAc,EAAC,MAAM,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,UAAU,OAAO,CAAC,CAAC;IAEjE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAiB,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAAC,UAAkB,EAAE,MAAqB;IACrE,MAAM,KAAK,GAAG,IAAA,uBAAc,EAAC,MAAM,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,UAAU,OAAO,CAAC,CAAC;IAEjE,IAAI,CAAC;QACH,MAAM,kBAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,OAAe;IAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAClE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,aAAgC;IAC7D,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,UAAU;QACtC,GAAG,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG;QACxB,YAAY,EAAE,CAAC,CAAC,aAAa,CAAC,YAAY;KAC3C,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAE9D,OAAO;QACL,GAAG,MAAM;QACT,aAAa,EAAE,QAAQ,GAAG,KAAK;KAChC,CAAC;AACJ,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,eAAe;IACnC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IAEjE,MAAM,KAAK,GAAG,MAAM,IAAA,wBAAc,GAAE,CAAC;IAErC,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,aAAa,KAAK,CAAC,CAAC;IAErD,IAAI,KAAK,CAAC,eAAe,GAAG,CAAC,IAAI,KAAK,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;QAC3D,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;QAC5F,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;QAC5F,OAAO,CAAC,GAAG,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Memory - Main Entry Point
|
|
3
|
+
*
|
|
4
|
+
* Debugging memory system for Claude Code.
|
|
5
|
+
* Never solve the same bug twice.
|
|
6
|
+
*/
|
|
7
|
+
export { getConfig, getMemoryPaths, displayConfig } from './config';
|
|
8
|
+
export type { MemoryConfig } from './types';
|
|
9
|
+
export type { Incident, Pattern, RootCause, Fix, FileChange, Verification, QualityGates, Completeness, DurabilityTracking, RetrievalConfig, RetrievalResult, StorageOptions, VerificationResult } from './types';
|
|
10
|
+
export { storeIncident, loadIncident, loadAllIncidents, storePattern, loadPattern, loadAllPatterns, validateIncident, generateIncidentId, generatePatternId, getMemoryStats, appendToIncidentLog, searchIncidentLog, rebuildIndex, loadIndex, buildMemorySummary, archiveOldIncidents, compressContext, enforceTokenBudget, toCompactIncident, toCompactPattern, toCompactIncidents, toCompactPatterns, updateKeywordIndex, loadKeywordIndex, findCandidatesByKeyword, rebuildKeywordIndex, updateIndexIncremental, recordOutcome, loadOutcomes, getOutcomeStats, } from './storage';
|
|
11
|
+
export { buildIncidentInteractive, calculateQualityScore, generateQualityFeedback } from './interactive-verifier';
|
|
12
|
+
export { checkMemory, getFullIncident, searchByTags, getRecentIncidents, enhancedSearch } from './retrieval';
|
|
13
|
+
export type { SearchResult } from './retrieval';
|
|
14
|
+
export { debugWithMemory, storeDebugIncident, getMemoryStatus } from './debug-wrapper';
|
|
15
|
+
export { extractPatterns, suggestPatterns, autoExtractPatternIfReady } from './pattern-extractor';
|
|
16
|
+
export { batchReviewIncomplete, batchExtractPatterns, batchCleanup } from './batch-operations';
|
|
17
|
+
export { mineAuditTrail, previewAuditMining } from './audit-miner';
|
|
18
|
+
export { checkMemoryTiered, quickMemoryCheck, getIncidentDetails, getPatternDetails, checkMemoryWithVerdict, classifyVerdict, checkMemoryProgressive, checkMemoryScaled, } from './retrieval';
|
|
19
|
+
export type { CompactIncident, CompactPattern, IncidentSummary, TokenBudget, TieredRetrievalConfig, TieredRetrievalResult, SearchVerdict, VerdictResult, MemoryIndex, IncidentLogEntry, ArchiveManifest, ProgressiveResult, ProgressiveMatch, KeywordIndex, VerdictOutcome, } from './types';
|
|
20
|
+
export { parallelSearch, parallelPatternMatch, parallelMemoryCheck } from './parallel-retrieval';
|
|
21
|
+
export { detectDomains, selectDomainsForAssessment, generateAssessorPrompts, parseAssessmentResponse, rankAssessments, createOrchestrationResult, formatOrchestrationResult, prepareOrchestration } from './assessment-orchestrator';
|
|
22
|
+
export type { Domain, DomainPriority, DomainDetection, OrchestrationConfig } from './assessment-orchestrator';
|
|
23
|
+
export type { DomainAssessment, OrchestrationResult, AggregatedResult, ScoredItem } from './types';
|
|
24
|
+
export { scoreAssessment, scoreIncident, scorePattern, aggregateResults, formatAggregatedResults, createQuickSummary } from './result-aggregator';
|
|
25
|
+
export { generateDynamicSection, generateSessionContext, checkFileContext, } from './context-engine';
|
|
26
|
+
export * from './traces';
|
|
27
|
+
export { traced, log, readLogs, configureLogger } from './logger';
|
|
28
|
+
export type { LogLevel, LogEntry, LoggerConfig, ReadLogsOptions } from './logger';
|
|
29
|
+
export { readProjectLogs } from './log-reader';
|
|
30
|
+
export type { LogSource, LogSeverity, LogReaderOptions, LogItem, LogReaderResult } from './log-reader';
|
|
31
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|