@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,235 @@
|
|
|
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
|
+
* Uninstall - Clean removal of debugging memory from a project
|
|
6
|
+
*
|
|
7
|
+
* Removes:
|
|
8
|
+
* 1. Hooks from .claude/settings.json
|
|
9
|
+
* 2. Slash commands from .claude/commands/
|
|
10
|
+
* 3. Debugging Memory section from CLAUDE.md
|
|
11
|
+
* 4. Optionally: memory data (.claude/memory/)
|
|
12
|
+
*/
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
+
var ownKeys = function(o) {
|
|
31
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
+
var ar = [];
|
|
33
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
return ownKeys(o);
|
|
37
|
+
};
|
|
38
|
+
return function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
})();
|
|
46
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
|
+
exports.uninstall = uninstall;
|
|
48
|
+
const fs = __importStar(require("fs"));
|
|
49
|
+
const path = __importStar(require("path"));
|
|
50
|
+
/**
|
|
51
|
+
* List of command files installed by the debugger
|
|
52
|
+
*/
|
|
53
|
+
const DEBUGGER_COMMANDS = [
|
|
54
|
+
'debugger.md',
|
|
55
|
+
'debugger-detail.md',
|
|
56
|
+
'debugger-status.md',
|
|
57
|
+
'debugger-scan.md',
|
|
58
|
+
'assess.md',
|
|
59
|
+
'feedback.md',
|
|
60
|
+
'update.md',
|
|
61
|
+
];
|
|
62
|
+
/**
|
|
63
|
+
* Remove debugger hooks from .claude/settings.json
|
|
64
|
+
*/
|
|
65
|
+
function removeHooks(projectRoot) {
|
|
66
|
+
const settingsPath = path.join(projectRoot, '.claude', 'settings.json');
|
|
67
|
+
if (!fs.existsSync(settingsPath))
|
|
68
|
+
return false;
|
|
69
|
+
try {
|
|
70
|
+
const settings = JSON.parse(fs.readFileSync(settingsPath, 'utf-8'));
|
|
71
|
+
if (!settings.hooks || typeof settings.hooks !== 'object')
|
|
72
|
+
return false;
|
|
73
|
+
let modified = false;
|
|
74
|
+
const hooks = settings.hooks;
|
|
75
|
+
// Remove Stop hooks containing our command
|
|
76
|
+
if (Array.isArray(hooks.Stop)) {
|
|
77
|
+
const before = hooks.Stop.length;
|
|
78
|
+
hooks.Stop = hooks.Stop.filter((h) => {
|
|
79
|
+
if (h.hooks) {
|
|
80
|
+
return !h.hooks.some((hook) => hook.command?.includes('claude-code-debugger'));
|
|
81
|
+
}
|
|
82
|
+
return !h.command?.includes('claude-code-debugger');
|
|
83
|
+
});
|
|
84
|
+
if (hooks.Stop.length < before)
|
|
85
|
+
modified = true;
|
|
86
|
+
if (hooks.Stop.length === 0)
|
|
87
|
+
delete hooks.Stop;
|
|
88
|
+
}
|
|
89
|
+
// Remove SessionStart hooks containing our command
|
|
90
|
+
if (Array.isArray(hooks.SessionStart)) {
|
|
91
|
+
const before = hooks.SessionStart.length;
|
|
92
|
+
hooks.SessionStart = hooks.SessionStart.filter((h) => {
|
|
93
|
+
if (h.hooks) {
|
|
94
|
+
return !h.hooks.some((hook) => hook.command?.includes('claude-code-debugger') ||
|
|
95
|
+
hook.prompt?.includes('Debugging Memory'));
|
|
96
|
+
}
|
|
97
|
+
return !h.prompt?.includes('Debugging Memory');
|
|
98
|
+
});
|
|
99
|
+
if (hooks.SessionStart.length < before)
|
|
100
|
+
modified = true;
|
|
101
|
+
if (hooks.SessionStart.length === 0)
|
|
102
|
+
delete hooks.SessionStart;
|
|
103
|
+
}
|
|
104
|
+
// Remove PreToolUse hooks mentioning debugging memory
|
|
105
|
+
if (Array.isArray(hooks.PreToolUse)) {
|
|
106
|
+
const before = hooks.PreToolUse.length;
|
|
107
|
+
hooks.PreToolUse = hooks.PreToolUse.filter((h) => {
|
|
108
|
+
if (h.hooks) {
|
|
109
|
+
return !h.hooks.some((hook) => hook.prompt?.includes('debugging memory'));
|
|
110
|
+
}
|
|
111
|
+
return !h.prompt?.includes('debugging memory');
|
|
112
|
+
});
|
|
113
|
+
if (hooks.PreToolUse.length < before)
|
|
114
|
+
modified = true;
|
|
115
|
+
if (hooks.PreToolUse.length === 0)
|
|
116
|
+
delete hooks.PreToolUse;
|
|
117
|
+
}
|
|
118
|
+
// Remove PostToolUse hooks mentioning debugging
|
|
119
|
+
if (Array.isArray(hooks.PostToolUse)) {
|
|
120
|
+
const before = hooks.PostToolUse.length;
|
|
121
|
+
hooks.PostToolUse = hooks.PostToolUse.filter((h) => {
|
|
122
|
+
if (h.hooks) {
|
|
123
|
+
return !h.hooks.some((hook) => hook.prompt?.includes('debugging') || hook.prompt?.includes('debugger-scan'));
|
|
124
|
+
}
|
|
125
|
+
return !(h.prompt?.includes('debugging') || h.prompt?.includes('debugger-scan'));
|
|
126
|
+
});
|
|
127
|
+
if (hooks.PostToolUse.length < before)
|
|
128
|
+
modified = true;
|
|
129
|
+
if (hooks.PostToolUse.length === 0)
|
|
130
|
+
delete hooks.PostToolUse;
|
|
131
|
+
}
|
|
132
|
+
// Clean up empty hooks object
|
|
133
|
+
if (Object.keys(hooks).length === 0) {
|
|
134
|
+
delete settings.hooks;
|
|
135
|
+
}
|
|
136
|
+
if (modified) {
|
|
137
|
+
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
|
|
138
|
+
}
|
|
139
|
+
return modified;
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Remove slash commands installed by the debugger
|
|
147
|
+
*/
|
|
148
|
+
function removeCommands(projectRoot) {
|
|
149
|
+
const commandsDir = path.join(projectRoot, '.claude', 'commands');
|
|
150
|
+
const removed = [];
|
|
151
|
+
if (!fs.existsSync(commandsDir))
|
|
152
|
+
return removed;
|
|
153
|
+
for (const cmd of DEBUGGER_COMMANDS) {
|
|
154
|
+
const cmdPath = path.join(commandsDir, cmd);
|
|
155
|
+
if (fs.existsSync(cmdPath)) {
|
|
156
|
+
try {
|
|
157
|
+
// Verify it's ours by checking content
|
|
158
|
+
const content = fs.readFileSync(cmdPath, 'utf-8');
|
|
159
|
+
if (content.includes('debugger') || content.includes('claude-code-debugger') || content.includes('assess')) {
|
|
160
|
+
fs.unlinkSync(cmdPath);
|
|
161
|
+
removed.push(cmd);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
catch { /* skip */ }
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return removed;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Remove Debugging Memory sections from CLAUDE.md
|
|
171
|
+
*/
|
|
172
|
+
function cleanClaudeMd(projectRoot) {
|
|
173
|
+
const claudeMdPath = path.join(projectRoot, 'CLAUDE.md');
|
|
174
|
+
if (!fs.existsSync(claudeMdPath))
|
|
175
|
+
return false;
|
|
176
|
+
try {
|
|
177
|
+
let content = fs.readFileSync(claudeMdPath, 'utf-8');
|
|
178
|
+
const originalLength = content.length;
|
|
179
|
+
// Remove dynamic section
|
|
180
|
+
content = content.replace(/<!-- debugger-dynamic-start -->[\s\S]*?<!-- debugger-dynamic-end -->\n*/g, '');
|
|
181
|
+
// Remove static Debugging Memory section
|
|
182
|
+
// Match from "## Debugging Memory" to the next ## heading or end of file
|
|
183
|
+
content = content.replace(/\n*## Debugging Memory\n[\s\S]*?(?=\n## [^D]|\n## $|$)/g, '');
|
|
184
|
+
// Remove v1.5.0 Storage Architecture section
|
|
185
|
+
content = content.replace(/\n*## v1\.5\.0 Storage Architecture\n[\s\S]*?(?=\n## [^v]|\n## $|$)/g, '');
|
|
186
|
+
// Remove Plugin Development section if it's ours
|
|
187
|
+
content = content.replace(/\n*## Plugin Development\n[\s\S]*?claude-code-debugger[\s\S]*?(?=\n## [^P]|\n## $|$)/g, '');
|
|
188
|
+
// Remove Architecture Patterns section if it's ours
|
|
189
|
+
content = content.replace(/\n*## Architecture Patterns \(from IBR & NavGator\)\n[\s\S]*?(?=\n## [^A]|\n## $|$)/g, '');
|
|
190
|
+
// Trim trailing whitespace
|
|
191
|
+
content = content.trimEnd() + '\n';
|
|
192
|
+
if (content.length !== originalLength) {
|
|
193
|
+
fs.writeFileSync(claudeMdPath, content);
|
|
194
|
+
return true;
|
|
195
|
+
}
|
|
196
|
+
return false;
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Remove memory data directory
|
|
204
|
+
*/
|
|
205
|
+
function removeMemoryData(projectRoot) {
|
|
206
|
+
const memoryPath = path.join(projectRoot, '.claude', 'memory');
|
|
207
|
+
if (!fs.existsSync(memoryPath))
|
|
208
|
+
return false;
|
|
209
|
+
try {
|
|
210
|
+
fs.rmSync(memoryPath, { recursive: true, force: true });
|
|
211
|
+
return true;
|
|
212
|
+
}
|
|
213
|
+
catch {
|
|
214
|
+
return false;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Run full uninstall
|
|
219
|
+
*/
|
|
220
|
+
async function uninstall(projectRoot, options = {}) {
|
|
221
|
+
const result = {
|
|
222
|
+
hooksRemoved: false,
|
|
223
|
+
commandsRemoved: [],
|
|
224
|
+
claudeMdCleaned: false,
|
|
225
|
+
memoryRemoved: false,
|
|
226
|
+
};
|
|
227
|
+
result.hooksRemoved = removeHooks(projectRoot);
|
|
228
|
+
result.commandsRemoved = removeCommands(projectRoot);
|
|
229
|
+
result.claudeMdCleaned = cleanClaudeMd(projectRoot);
|
|
230
|
+
if (options.removeData) {
|
|
231
|
+
result.memoryRemoved = removeMemoryData(projectRoot);
|
|
232
|
+
}
|
|
233
|
+
return result;
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=uninstall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/setup/uninstall.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Debugging Memory System - Storage Layer
|
|
3
|
+
*
|
|
4
|
+
* Handles reading/writing incidents and patterns to filesystem.
|
|
5
|
+
* File-based storage for simplicity and portability.
|
|
6
|
+
* Now supports configurable paths (local or shared mode).
|
|
7
|
+
*/
|
|
8
|
+
import type { Incident, Pattern, StorageOptions, VerificationResult, MemoryConfig, MemoryIndex, IncidentLogEntry, KeywordIndex, VerdictOutcome } from './types';
|
|
9
|
+
/**
|
|
10
|
+
* Store an incident in memory
|
|
11
|
+
*/
|
|
12
|
+
export declare function storeIncident(incident: Incident, options?: StorageOptions & {
|
|
13
|
+
config?: MemoryConfig;
|
|
14
|
+
interactive?: boolean;
|
|
15
|
+
}): Promise<{
|
|
16
|
+
incident_id: string;
|
|
17
|
+
file_path: string;
|
|
18
|
+
}>;
|
|
19
|
+
/**
|
|
20
|
+
* Load an incident by ID
|
|
21
|
+
*/
|
|
22
|
+
export declare function loadIncident(incident_id: string, config?: MemoryConfig): Promise<Incident | null>;
|
|
23
|
+
/**
|
|
24
|
+
* Load all incidents with batched I/O (max 50 concurrent reads)
|
|
25
|
+
*/
|
|
26
|
+
export declare function loadAllIncidents(config?: MemoryConfig): Promise<Incident[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Store a pattern
|
|
29
|
+
*/
|
|
30
|
+
export declare function storePattern(pattern: Pattern, config?: MemoryConfig): Promise<string>;
|
|
31
|
+
/**
|
|
32
|
+
* Load a pattern by ID
|
|
33
|
+
*/
|
|
34
|
+
export declare function loadPattern(pattern_id: string, config?: MemoryConfig): Promise<Pattern | null>;
|
|
35
|
+
/**
|
|
36
|
+
* Load all patterns with batched I/O (max 50 concurrent reads)
|
|
37
|
+
*/
|
|
38
|
+
export declare function loadAllPatterns(config?: MemoryConfig): Promise<Pattern[]>;
|
|
39
|
+
/**
|
|
40
|
+
* Validate incident structure
|
|
41
|
+
*/
|
|
42
|
+
export declare function validateIncident(incident: Incident): VerificationResult;
|
|
43
|
+
/**
|
|
44
|
+
* Generate incident ID with optional category prefix for self-documenting filenames
|
|
45
|
+
*
|
|
46
|
+
* Without category: INC_20250215_143022_a1b2
|
|
47
|
+
* With category: INC_API_20250215_143022_a1b2
|
|
48
|
+
*/
|
|
49
|
+
export declare function generateIncidentId(category?: string): string;
|
|
50
|
+
/**
|
|
51
|
+
* Generate pattern ID
|
|
52
|
+
*/
|
|
53
|
+
export declare function generatePatternId(category: string, name: string): string;
|
|
54
|
+
/**
|
|
55
|
+
* Get memory statistics
|
|
56
|
+
*/
|
|
57
|
+
export declare function getMemoryStats(config?: MemoryConfig): Promise<{
|
|
58
|
+
total_incidents: number;
|
|
59
|
+
total_patterns: number;
|
|
60
|
+
oldest_incident: number;
|
|
61
|
+
newest_incident: number;
|
|
62
|
+
disk_usage_kb: number;
|
|
63
|
+
}>;
|
|
64
|
+
import type { CompactIncident, CompactPattern, IncidentSummary } from './types';
|
|
65
|
+
/**
|
|
66
|
+
* Generate minimal incident summary (~100 tokens)
|
|
67
|
+
*/
|
|
68
|
+
export declare function generateIncidentSummary(incident: Incident): IncidentSummary;
|
|
69
|
+
/**
|
|
70
|
+
* Convert full incident to compact format (~200 tokens)
|
|
71
|
+
*
|
|
72
|
+
* Uses short keys to minimize token usage in LLM context.
|
|
73
|
+
* Preserves essential information for debugging assistance.
|
|
74
|
+
*/
|
|
75
|
+
export declare function toCompactIncident(incident: Incident): CompactIncident;
|
|
76
|
+
/**
|
|
77
|
+
* Convert full pattern to compact format (~120 tokens)
|
|
78
|
+
*/
|
|
79
|
+
export declare function toCompactPattern(pattern: Pattern): CompactPattern;
|
|
80
|
+
/**
|
|
81
|
+
* Batch convert incidents to compact format
|
|
82
|
+
*/
|
|
83
|
+
export declare function toCompactIncidents(incidents: Incident[]): CompactIncident[];
|
|
84
|
+
/**
|
|
85
|
+
* Batch convert patterns to compact format
|
|
86
|
+
*/
|
|
87
|
+
export declare function toCompactPatterns(patterns: Pattern[]): CompactPattern[];
|
|
88
|
+
/**
|
|
89
|
+
* Estimate tokens for a compact incident
|
|
90
|
+
*/
|
|
91
|
+
export declare function estimateCompactIncidentTokens(incident: CompactIncident): number;
|
|
92
|
+
/**
|
|
93
|
+
* Estimate tokens for a compact pattern
|
|
94
|
+
*/
|
|
95
|
+
export declare function estimateCompactPatternTokens(pattern: CompactPattern): number;
|
|
96
|
+
/**
|
|
97
|
+
* Enforce token budget on results
|
|
98
|
+
*
|
|
99
|
+
* Returns limited incidents and patterns that fit within budget.
|
|
100
|
+
* Patterns get 30% budget, incidents get 60%, metadata gets 10%.
|
|
101
|
+
*/
|
|
102
|
+
export declare function enforceTokenBudget(incidents: CompactIncident[], patterns: CompactPattern[], budget?: number): {
|
|
103
|
+
limitedIncidents: CompactIncident[];
|
|
104
|
+
limitedPatterns: CompactPattern[];
|
|
105
|
+
tokensUsed: number;
|
|
106
|
+
truncated: {
|
|
107
|
+
incidents: number;
|
|
108
|
+
patterns: number;
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* Load incidents and return compact versions
|
|
113
|
+
*/
|
|
114
|
+
export declare function loadCompactIncidents(config?: MemoryConfig): Promise<CompactIncident[]>;
|
|
115
|
+
/**
|
|
116
|
+
* Load patterns and return compact versions
|
|
117
|
+
*/
|
|
118
|
+
export declare function loadCompactPatterns(config?: MemoryConfig): Promise<CompactPattern[]>;
|
|
119
|
+
/**
|
|
120
|
+
* Append incident entry to JSONL log for fast search
|
|
121
|
+
*/
|
|
122
|
+
export declare function appendToIncidentLog(incident: Incident, config?: MemoryConfig): Promise<void>;
|
|
123
|
+
/**
|
|
124
|
+
* Search JSONL log for fast text matching (avoids loading all incident files)
|
|
125
|
+
*/
|
|
126
|
+
export declare function searchIncidentLog(query: string, config?: MemoryConfig): Promise<IncidentLogEntry[]>;
|
|
127
|
+
/**
|
|
128
|
+
* Build or rebuild the memory index from all incidents
|
|
129
|
+
*/
|
|
130
|
+
export declare function rebuildIndex(config?: MemoryConfig): Promise<MemoryIndex>;
|
|
131
|
+
/**
|
|
132
|
+
* Load memory index (fast, no incident file reads needed)
|
|
133
|
+
*/
|
|
134
|
+
export declare function loadIndex(config?: MemoryConfig): Promise<MemoryIndex | null>;
|
|
135
|
+
/**
|
|
136
|
+
* Build a compact MEMORY_SUMMARY.md for LLM context injection
|
|
137
|
+
* Stays under 150 lines to fit in context windows
|
|
138
|
+
*/
|
|
139
|
+
export declare function buildMemorySummary(config?: MemoryConfig): Promise<string>;
|
|
140
|
+
/**
|
|
141
|
+
* Archive incidents older than maxAge days, keeping at most maxActive incidents
|
|
142
|
+
*/
|
|
143
|
+
export declare function archiveOldIncidents(options?: {
|
|
144
|
+
maxActive?: number;
|
|
145
|
+
maxAgeDays?: number;
|
|
146
|
+
dryRun?: boolean;
|
|
147
|
+
}, config?: MemoryConfig): Promise<{
|
|
148
|
+
archived: string[];
|
|
149
|
+
kept: number;
|
|
150
|
+
}>;
|
|
151
|
+
/**
|
|
152
|
+
* Generate compressed context string optimized for LLM consumption
|
|
153
|
+
* Fits within token budget while maximizing information density
|
|
154
|
+
*/
|
|
155
|
+
export declare function compressContext(incidents: CompactIncident[], patterns: CompactPattern[], budget?: number): string;
|
|
156
|
+
/**
|
|
157
|
+
* Update keyword index with a new incident (incremental, no full rebuild)
|
|
158
|
+
*/
|
|
159
|
+
export declare function updateKeywordIndex(incident: Incident, config?: MemoryConfig): Promise<void>;
|
|
160
|
+
/**
|
|
161
|
+
* Load keyword index from disk
|
|
162
|
+
*/
|
|
163
|
+
export declare function loadKeywordIndex(config?: MemoryConfig): Promise<KeywordIndex | null>;
|
|
164
|
+
/**
|
|
165
|
+
* Find candidate incident IDs by keyword intersection
|
|
166
|
+
*/
|
|
167
|
+
export declare function findCandidatesByKeyword(queryWords: string[], index: KeywordIndex, maxCandidates?: number): string[];
|
|
168
|
+
/**
|
|
169
|
+
* Rebuild keyword index from scratch
|
|
170
|
+
*/
|
|
171
|
+
export declare function rebuildKeywordIndex(config?: MemoryConfig): Promise<KeywordIndex>;
|
|
172
|
+
/**
|
|
173
|
+
* Update index incrementally with a new incident (avoids full loadAllIncidents)
|
|
174
|
+
*/
|
|
175
|
+
export declare function updateIndexIncremental(incident: Incident, config?: MemoryConfig): Promise<void>;
|
|
176
|
+
/**
|
|
177
|
+
* Record whether a verdict suggestion actually worked
|
|
178
|
+
*/
|
|
179
|
+
export declare function recordOutcome(outcome: VerdictOutcome, config?: MemoryConfig): Promise<void>;
|
|
180
|
+
/**
|
|
181
|
+
* Load all recorded outcomes
|
|
182
|
+
*/
|
|
183
|
+
export declare function loadOutcomes(config?: MemoryConfig): Promise<VerdictOutcome[]>;
|
|
184
|
+
/**
|
|
185
|
+
* Get outcome statistics for a specific incident
|
|
186
|
+
*/
|
|
187
|
+
export declare function getOutcomeStats(incident_id: string, config?: MemoryConfig): Promise<{
|
|
188
|
+
worked: number;
|
|
189
|
+
failed: number;
|
|
190
|
+
modified: number;
|
|
191
|
+
}>;
|
|
192
|
+
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/storage.ts"],"names":[],"mappings":"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"}
|