@vinaes/succ 1.3.19
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/LICENSE +87 -0
- package/README.md +588 -0
- package/agents/succ-checkpoint-manager.md +51 -0
- package/agents/succ-code-reviewer.md +181 -0
- package/agents/succ-context-optimizer.md +83 -0
- package/agents/succ-debug.md +224 -0
- package/agents/succ-decision-auditor.md +74 -0
- package/agents/succ-deep-search.md +41 -0
- package/agents/succ-diff-reviewer.md +123 -0
- package/agents/succ-explore.md +83 -0
- package/agents/succ-general.md +109 -0
- package/agents/succ-knowledge-indexer.md +45 -0
- package/agents/succ-knowledge-mapper.md +61 -0
- package/agents/succ-memory-curator.md +43 -0
- package/agents/succ-memory-health-monitor.md +55 -0
- package/agents/succ-pattern-detective.md +62 -0
- package/agents/succ-plan.md +172 -0
- package/agents/succ-quality-improvement-coach.md +63 -0
- package/agents/succ-readiness-improver.md +62 -0
- package/agents/succ-session-handoff-orchestrator.md +54 -0
- package/agents/succ-session-reviewer.md +46 -0
- package/agents/succ-style-tracker.md +73 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +749 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/agents-md.d.ts +16 -0
- package/dist/commands/agents-md.d.ts.map +1 -0
- package/dist/commands/agents-md.js +33 -0
- package/dist/commands/agents-md.js.map +1 -0
- package/dist/commands/analyze-agents.d.ts +20 -0
- package/dist/commands/analyze-agents.d.ts.map +1 -0
- package/dist/commands/analyze-agents.js +305 -0
- package/dist/commands/analyze-agents.js.map +1 -0
- package/dist/commands/analyze-helpers.d.ts +22 -0
- package/dist/commands/analyze-helpers.d.ts.map +1 -0
- package/dist/commands/analyze-helpers.js +38 -0
- package/dist/commands/analyze-helpers.js.map +1 -0
- package/dist/commands/analyze-profile.d.ts +53 -0
- package/dist/commands/analyze-profile.d.ts.map +1 -0
- package/dist/commands/analyze-profile.js +638 -0
- package/dist/commands/analyze-profile.js.map +1 -0
- package/dist/commands/analyze-recursive.d.ts +20 -0
- package/dist/commands/analyze-recursive.d.ts.map +1 -0
- package/dist/commands/analyze-recursive.js +326 -0
- package/dist/commands/analyze-recursive.js.map +1 -0
- package/dist/commands/analyze-utils.d.ts +83 -0
- package/dist/commands/analyze-utils.d.ts.map +1 -0
- package/dist/commands/analyze-utils.js +541 -0
- package/dist/commands/analyze-utils.js.map +1 -0
- package/dist/commands/analyze.d.ts +15 -0
- package/dist/commands/analyze.d.ts.map +1 -0
- package/dist/commands/analyze.js +265 -0
- package/dist/commands/analyze.js.map +1 -0
- package/dist/commands/backfill.d.ts +22 -0
- package/dist/commands/backfill.d.ts.map +1 -0
- package/dist/commands/backfill.js +62 -0
- package/dist/commands/backfill.js.map +1 -0
- package/dist/commands/benchmark-quality.d.ts +18 -0
- package/dist/commands/benchmark-quality.d.ts.map +1 -0
- package/dist/commands/benchmark-quality.js +316 -0
- package/dist/commands/benchmark-quality.js.map +1 -0
- package/dist/commands/benchmark-sqlite-vec.d.ts +12 -0
- package/dist/commands/benchmark-sqlite-vec.d.ts.map +1 -0
- package/dist/commands/benchmark-sqlite-vec.js +281 -0
- package/dist/commands/benchmark-sqlite-vec.js.map +1 -0
- package/dist/commands/benchmark.d.ts +57 -0
- package/dist/commands/benchmark.d.ts.map +1 -0
- package/dist/commands/benchmark.js +682 -0
- package/dist/commands/benchmark.js.map +1 -0
- package/dist/commands/chat.d.ts +14 -0
- package/dist/commands/chat.d.ts.map +1 -0
- package/dist/commands/chat.js +84 -0
- package/dist/commands/chat.js.map +1 -0
- package/dist/commands/checkpoint.d.ts +27 -0
- package/dist/commands/checkpoint.d.ts.map +1 -0
- package/dist/commands/checkpoint.js +181 -0
- package/dist/commands/checkpoint.js.map +1 -0
- package/dist/commands/clear.d.ts +9 -0
- package/dist/commands/clear.d.ts.map +1 -0
- package/dist/commands/clear.js +31 -0
- package/dist/commands/clear.js.map +1 -0
- package/dist/commands/config.d.ts +26 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +247 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/consolidate.d.ts +21 -0
- package/dist/commands/consolidate.d.ts.map +1 -0
- package/dist/commands/consolidate.js +117 -0
- package/dist/commands/consolidate.js.map +1 -0
- package/dist/commands/daemon.d.ts +48 -0
- package/dist/commands/daemon.d.ts.map +1 -0
- package/dist/commands/daemon.js +218 -0
- package/dist/commands/daemon.js.map +1 -0
- package/dist/commands/embedding.d.ts +26 -0
- package/dist/commands/embedding.d.ts.map +1 -0
- package/dist/commands/embedding.js +168 -0
- package/dist/commands/embedding.js.map +1 -0
- package/dist/commands/graph.d.ts +20 -0
- package/dist/commands/graph.d.ts.map +1 -0
- package/dist/commands/graph.js +128 -0
- package/dist/commands/graph.js.map +1 -0
- package/dist/commands/index-code.d.ts +23 -0
- package/dist/commands/index-code.d.ts.map +1 -0
- package/dist/commands/index-code.js +218 -0
- package/dist/commands/index-code.js.map +1 -0
- package/dist/commands/index.d.ts +23 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +217 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/init-templates.d.ts +21 -0
- package/dist/commands/init-templates.d.ts.map +1 -0
- package/dist/commands/init-templates.js +487 -0
- package/dist/commands/init-templates.js.map +1 -0
- package/dist/commands/init.d.ts +10 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +865 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/memories.d.ts +47 -0
- package/dist/commands/memories.d.ts.map +1 -0
- package/dist/commands/memories.js +597 -0
- package/dist/commands/memories.js.map +1 -0
- package/dist/commands/migrate.d.ts +19 -0
- package/dist/commands/migrate.d.ts.map +1 -0
- package/dist/commands/migrate.js +154 -0
- package/dist/commands/migrate.js.map +1 -0
- package/dist/commands/prd.d.ts +46 -0
- package/dist/commands/prd.d.ts.map +1 -0
- package/dist/commands/prd.js +378 -0
- package/dist/commands/prd.js.map +1 -0
- package/dist/commands/precompute-context.d.ts +11 -0
- package/dist/commands/precompute-context.d.ts.map +1 -0
- package/dist/commands/precompute-context.js +12 -0
- package/dist/commands/precompute-context.js.map +1 -0
- package/dist/commands/progress.d.ts +16 -0
- package/dist/commands/progress.d.ts.map +1 -0
- package/dist/commands/progress.js +38 -0
- package/dist/commands/progress.js.map +1 -0
- package/dist/commands/reindex.d.ts +17 -0
- package/dist/commands/reindex.d.ts.map +1 -0
- package/dist/commands/reindex.js +83 -0
- package/dist/commands/reindex.js.map +1 -0
- package/dist/commands/retention.d.ts +19 -0
- package/dist/commands/retention.d.ts.map +1 -0
- package/dist/commands/retention.js +162 -0
- package/dist/commands/retention.js.map +1 -0
- package/dist/commands/score.d.ts +10 -0
- package/dist/commands/score.d.ts.map +1 -0
- package/dist/commands/score.js +28 -0
- package/dist/commands/score.js.map +1 -0
- package/dist/commands/search.d.ts +7 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +89 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/session-summary.d.ts +15 -0
- package/dist/commands/session-summary.d.ts.map +1 -0
- package/dist/commands/session-summary.js +16 -0
- package/dist/commands/session-summary.js.map +1 -0
- package/dist/commands/setup.d.ts +6 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +222 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/soul.d.ts +9 -0
- package/dist/commands/soul.d.ts.map +1 -0
- package/dist/commands/soul.js +256 -0
- package/dist/commands/soul.js.map +1 -0
- package/dist/commands/stats.d.ts +18 -0
- package/dist/commands/stats.d.ts.map +1 -0
- package/dist/commands/stats.js +138 -0
- package/dist/commands/stats.js.map +1 -0
- package/dist/commands/status.d.ts +2 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +145 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/train-bpe.d.ts +8 -0
- package/dist/commands/train-bpe.d.ts.map +1 -0
- package/dist/commands/train-bpe.js +35 -0
- package/dist/commands/train-bpe.js.map +1 -0
- package/dist/commands/watch.d.ts +22 -0
- package/dist/commands/watch.d.ts.map +1 -0
- package/dist/commands/watch.js +171 -0
- package/dist/commands/watch.js.map +1 -0
- package/dist/daemon/analyzer.d.ts +54 -0
- package/dist/daemon/analyzer.d.ts.map +1 -0
- package/dist/daemon/analyzer.js +362 -0
- package/dist/daemon/analyzer.js.map +1 -0
- package/dist/daemon/client.d.ts +87 -0
- package/dist/daemon/client.d.ts.map +1 -0
- package/dist/daemon/client.js +356 -0
- package/dist/daemon/client.js.map +1 -0
- package/dist/daemon/index.d.ts +12 -0
- package/dist/daemon/index.d.ts.map +1 -0
- package/dist/daemon/index.js +12 -0
- package/dist/daemon/index.js.map +1 -0
- package/dist/daemon/service.d.ts +51 -0
- package/dist/daemon/service.d.ts.map +1 -0
- package/dist/daemon/service.js +1203 -0
- package/dist/daemon/service.js.map +1 -0
- package/dist/daemon/session-processor.d.ts +85 -0
- package/dist/daemon/session-processor.d.ts.map +1 -0
- package/dist/daemon/session-processor.js +571 -0
- package/dist/daemon/session-processor.js.map +1 -0
- package/dist/daemon/sessions.d.ts +62 -0
- package/dist/daemon/sessions.d.ts.map +1 -0
- package/dist/daemon/sessions.js +192 -0
- package/dist/daemon/sessions.js.map +1 -0
- package/dist/daemon/watcher.d.ts +52 -0
- package/dist/daemon/watcher.d.ts.map +1 -0
- package/dist/daemon/watcher.js +363 -0
- package/dist/daemon/watcher.js.map +1 -0
- package/dist/lib/agents-md-generator.d.ts +33 -0
- package/dist/lib/agents-md-generator.d.ts.map +1 -0
- package/dist/lib/agents-md-generator.js +156 -0
- package/dist/lib/agents-md-generator.js.map +1 -0
- package/dist/lib/ai-readiness.d.ts +132 -0
- package/dist/lib/ai-readiness.d.ts.map +1 -0
- package/dist/lib/ai-readiness.js +702 -0
- package/dist/lib/ai-readiness.js.map +1 -0
- package/dist/lib/analyze-state.d.ts +34 -0
- package/dist/lib/analyze-state.d.ts.map +1 -0
- package/dist/lib/analyze-state.js +106 -0
- package/dist/lib/analyze-state.js.map +1 -0
- package/dist/lib/benchmark.d.ts +250 -0
- package/dist/lib/benchmark.d.ts.map +1 -0
- package/dist/lib/benchmark.js +778 -0
- package/dist/lib/benchmark.js.map +1 -0
- package/dist/lib/bm25.d.ts +114 -0
- package/dist/lib/bm25.d.ts.map +1 -0
- package/dist/lib/bm25.js +727 -0
- package/dist/lib/bm25.js.map +1 -0
- package/dist/lib/bpe.d.ts +70 -0
- package/dist/lib/bpe.d.ts.map +1 -0
- package/dist/lib/bpe.js +270 -0
- package/dist/lib/bpe.js.map +1 -0
- package/dist/lib/checkpoint.d.ts +124 -0
- package/dist/lib/checkpoint.d.ts.map +1 -0
- package/dist/lib/checkpoint.js +321 -0
- package/dist/lib/checkpoint.js.map +1 -0
- package/dist/lib/chunker.d.ts +47 -0
- package/dist/lib/chunker.d.ts.map +1 -0
- package/dist/lib/chunker.js +358 -0
- package/dist/lib/chunker.js.map +1 -0
- package/dist/lib/claude-ws-transport.d.ts +76 -0
- package/dist/lib/claude-ws-transport.d.ts.map +1 -0
- package/dist/lib/claude-ws-transport.js +487 -0
- package/dist/lib/claude-ws-transport.js.map +1 -0
- package/dist/lib/compact-briefing.d.ts +22 -0
- package/dist/lib/compact-briefing.d.ts.map +1 -0
- package/dist/lib/compact-briefing.js +180 -0
- package/dist/lib/compact-briefing.js.map +1 -0
- package/dist/lib/config-defaults.d.ts +41 -0
- package/dist/lib/config-defaults.d.ts.map +1 -0
- package/dist/lib/config-defaults.js +99 -0
- package/dist/lib/config-defaults.js.map +1 -0
- package/dist/lib/config-display.d.ts +16 -0
- package/dist/lib/config-display.d.ts.map +1 -0
- package/dist/lib/config-display.js +408 -0
- package/dist/lib/config-display.js.map +1 -0
- package/dist/lib/config-types.d.ts +601 -0
- package/dist/lib/config-types.d.ts.map +1 -0
- package/dist/lib/config-types.js +7 -0
- package/dist/lib/config-types.js.map +1 -0
- package/dist/lib/config-validation.d.ts +19 -0
- package/dist/lib/config-validation.d.ts.map +1 -0
- package/dist/lib/config-validation.js +136 -0
- package/dist/lib/config-validation.js.map +1 -0
- package/dist/lib/config.d.ts +143 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +689 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/consolidate.d.ts +115 -0
- package/dist/lib/consolidate.d.ts.map +1 -0
- package/dist/lib/consolidate.js +600 -0
- package/dist/lib/consolidate.js.map +1 -0
- package/dist/lib/db/bm25-indexes.d.ts +58 -0
- package/dist/lib/db/bm25-indexes.d.ts.map +1 -0
- package/dist/lib/db/bm25-indexes.js +333 -0
- package/dist/lib/db/bm25-indexes.js.map +1 -0
- package/dist/lib/db/bpe.d.ts +18 -0
- package/dist/lib/db/bpe.d.ts.map +1 -0
- package/dist/lib/db/bpe.js +44 -0
- package/dist/lib/db/bpe.js.map +1 -0
- package/dist/lib/db/connection.d.ts +47 -0
- package/dist/lib/db/connection.d.ts.map +1 -0
- package/dist/lib/db/connection.js +114 -0
- package/dist/lib/db/connection.js.map +1 -0
- package/dist/lib/db/documents.d.ts +58 -0
- package/dist/lib/db/documents.d.ts.map +1 -0
- package/dist/lib/db/documents.js +374 -0
- package/dist/lib/db/documents.js.map +1 -0
- package/dist/lib/db/file-hash.d.ts +26 -0
- package/dist/lib/db/file-hash.d.ts.map +1 -0
- package/dist/lib/db/file-hash.js +56 -0
- package/dist/lib/db/file-hash.js.map +1 -0
- package/dist/lib/db/global-memories.d.ts +62 -0
- package/dist/lib/db/global-memories.d.ts.map +1 -0
- package/dist/lib/db/global-memories.js +173 -0
- package/dist/lib/db/global-memories.js.map +1 -0
- package/dist/lib/db/graph.d.ts +163 -0
- package/dist/lib/db/graph.d.ts.map +1 -0
- package/dist/lib/db/graph.js +488 -0
- package/dist/lib/db/graph.js.map +1 -0
- package/dist/lib/db/helpers.d.ts +13 -0
- package/dist/lib/db/helpers.d.ts.map +1 -0
- package/dist/lib/db/helpers.js +21 -0
- package/dist/lib/db/helpers.js.map +1 -0
- package/dist/lib/db/hybrid-search.d.ts +64 -0
- package/dist/lib/db/hybrid-search.d.ts.map +1 -0
- package/dist/lib/db/hybrid-search.js +549 -0
- package/dist/lib/db/hybrid-search.js.map +1 -0
- package/dist/lib/db/index.d.ts +23 -0
- package/dist/lib/db/index.d.ts.map +1 -0
- package/dist/lib/db/index.js +23 -0
- package/dist/lib/db/index.js.map +1 -0
- package/dist/lib/db/memories.d.ts +174 -0
- package/dist/lib/db/memories.d.ts.map +1 -0
- package/dist/lib/db/memories.js +866 -0
- package/dist/lib/db/memories.js.map +1 -0
- package/dist/lib/db/retention.d.ts +64 -0
- package/dist/lib/db/retention.d.ts.map +1 -0
- package/dist/lib/db/retention.js +115 -0
- package/dist/lib/db/retention.js.map +1 -0
- package/dist/lib/db/schema.d.ts +29 -0
- package/dist/lib/db/schema.d.ts.map +1 -0
- package/dist/lib/db/schema.js +832 -0
- package/dist/lib/db/schema.js.map +1 -0
- package/dist/lib/db/skills.d.ts +65 -0
- package/dist/lib/db/skills.d.ts.map +1 -0
- package/dist/lib/db/skills.js +119 -0
- package/dist/lib/db/skills.js.map +1 -0
- package/dist/lib/db/token-frequency.d.ts +34 -0
- package/dist/lib/db/token-frequency.d.ts.map +1 -0
- package/dist/lib/db/token-frequency.js +92 -0
- package/dist/lib/db/token-frequency.js.map +1 -0
- package/dist/lib/db/token-stats.d.ts +43 -0
- package/dist/lib/db/token-stats.d.ts.map +1 -0
- package/dist/lib/db/token-stats.js +59 -0
- package/dist/lib/db/token-stats.js.map +1 -0
- package/dist/lib/db/types.d.ts +57 -0
- package/dist/lib/db/types.d.ts.map +1 -0
- package/dist/lib/db/types.js +5 -0
- package/dist/lib/db/types.js.map +1 -0
- package/dist/lib/db/web-search-history.d.ts +22 -0
- package/dist/lib/db/web-search-history.d.ts.map +1 -0
- package/dist/lib/db/web-search-history.js +107 -0
- package/dist/lib/db/web-search-history.js.map +1 -0
- package/dist/lib/debug/state.d.ts +17 -0
- package/dist/lib/debug/state.d.ts.map +1 -0
- package/dist/lib/debug/state.js +131 -0
- package/dist/lib/debug/state.js.map +1 -0
- package/dist/lib/debug/types.d.ts +74 -0
- package/dist/lib/debug/types.d.ts.map +1 -0
- package/dist/lib/debug/types.js +85 -0
- package/dist/lib/debug/types.js.map +1 -0
- package/dist/lib/embedding-pool.d.ts +37 -0
- package/dist/lib/embedding-pool.d.ts.map +1 -0
- package/dist/lib/embedding-pool.js +159 -0
- package/dist/lib/embedding-pool.js.map +1 -0
- package/dist/lib/embedding-worker.d.ts +7 -0
- package/dist/lib/embedding-worker.d.ts.map +1 -0
- package/dist/lib/embedding-worker.js +49 -0
- package/dist/lib/embedding-worker.js.map +1 -0
- package/dist/lib/embeddings.d.ts +54 -0
- package/dist/lib/embeddings.d.ts.map +1 -0
- package/dist/lib/embeddings.js +437 -0
- package/dist/lib/embeddings.js.map +1 -0
- package/dist/lib/errors.d.ts +40 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +66 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/fault-logger.d.ts +35 -0
- package/dist/lib/fault-logger.d.ts.map +1 -0
- package/dist/lib/fault-logger.js +182 -0
- package/dist/lib/fault-logger.js.map +1 -0
- package/dist/lib/graph/centrality.d.ts +34 -0
- package/dist/lib/graph/centrality.d.ts.map +1 -0
- package/dist/lib/graph/centrality.js +76 -0
- package/dist/lib/graph/centrality.js.map +1 -0
- package/dist/lib/graph/cleanup.d.ts +36 -0
- package/dist/lib/graph/cleanup.d.ts.map +1 -0
- package/dist/lib/graph/cleanup.js +96 -0
- package/dist/lib/graph/cleanup.js.map +1 -0
- package/dist/lib/graph/community-detection.d.ts +61 -0
- package/dist/lib/graph/community-detection.d.ts.map +1 -0
- package/dist/lib/graph/community-detection.js +218 -0
- package/dist/lib/graph/community-detection.js.map +1 -0
- package/dist/lib/graph/contextual-proximity.d.ts +41 -0
- package/dist/lib/graph/contextual-proximity.d.ts.map +1 -0
- package/dist/lib/graph/contextual-proximity.js +125 -0
- package/dist/lib/graph/contextual-proximity.js.map +1 -0
- package/dist/lib/graph/llm-relations.d.ts +54 -0
- package/dist/lib/graph/llm-relations.d.ts.map +1 -0
- package/dist/lib/graph/llm-relations.js +265 -0
- package/dist/lib/graph/llm-relations.js.map +1 -0
- package/dist/lib/graph-export.d.ts +13 -0
- package/dist/lib/graph-export.d.ts.map +1 -0
- package/dist/lib/graph-export.js +637 -0
- package/dist/lib/graph-export.js.map +1 -0
- package/dist/lib/graph-scheduler.d.ts +7 -0
- package/dist/lib/graph-scheduler.d.ts.map +1 -0
- package/dist/lib/graph-scheduler.js +21 -0
- package/dist/lib/graph-scheduler.js.map +1 -0
- package/dist/lib/indexer.d.ts +36 -0
- package/dist/lib/indexer.d.ts.map +1 -0
- package/dist/lib/indexer.js +226 -0
- package/dist/lib/indexer.js.map +1 -0
- package/dist/lib/learning-delta.d.ts +35 -0
- package/dist/lib/learning-delta.d.ts.map +1 -0
- package/dist/lib/learning-delta.js +53 -0
- package/dist/lib/learning-delta.js.map +1 -0
- package/dist/lib/llm.d.ts +118 -0
- package/dist/lib/llm.d.ts.map +1 -0
- package/dist/lib/llm.js +439 -0
- package/dist/lib/llm.js.map +1 -0
- package/dist/lib/lock.d.ts +27 -0
- package/dist/lib/lock.d.ts.map +1 -0
- package/dist/lib/lock.js +143 -0
- package/dist/lib/lock.js.map +1 -0
- package/dist/lib/md-fetch.d.ts +61 -0
- package/dist/lib/md-fetch.d.ts.map +1 -0
- package/dist/lib/md-fetch.js +141 -0
- package/dist/lib/md-fetch.js.map +1 -0
- package/dist/lib/mmr.d.ts +29 -0
- package/dist/lib/mmr.d.ts.map +1 -0
- package/dist/lib/mmr.js +89 -0
- package/dist/lib/mmr.js.map +1 -0
- package/dist/lib/onboarding/ai-chat.d.ts +11 -0
- package/dist/lib/onboarding/ai-chat.d.ts.map +1 -0
- package/dist/lib/onboarding/ai-chat.js +85 -0
- package/dist/lib/onboarding/ai-chat.js.map +1 -0
- package/dist/lib/onboarding/index.d.ts +7 -0
- package/dist/lib/onboarding/index.d.ts.map +1 -0
- package/dist/lib/onboarding/index.js +7 -0
- package/dist/lib/onboarding/index.js.map +1 -0
- package/dist/lib/onboarding/wizard.d.ts +11 -0
- package/dist/lib/onboarding/wizard.d.ts.map +1 -0
- package/dist/lib/onboarding/wizard.js +104 -0
- package/dist/lib/onboarding/wizard.js.map +1 -0
- package/dist/lib/ort-provider.d.ts +27 -0
- package/dist/lib/ort-provider.d.ts.map +1 -0
- package/dist/lib/ort-provider.js +83 -0
- package/dist/lib/ort-provider.js.map +1 -0
- package/dist/lib/ort-session.d.ts +32 -0
- package/dist/lib/ort-session.d.ts.map +1 -0
- package/dist/lib/ort-session.js +227 -0
- package/dist/lib/ort-session.js.map +1 -0
- package/dist/lib/patterns.d.ts +43 -0
- package/dist/lib/patterns.d.ts.map +1 -0
- package/dist/lib/patterns.js +395 -0
- package/dist/lib/patterns.js.map +1 -0
- package/dist/lib/prd/codebase-context.d.ts +27 -0
- package/dist/lib/prd/codebase-context.d.ts.map +1 -0
- package/dist/lib/prd/codebase-context.js +420 -0
- package/dist/lib/prd/codebase-context.js.map +1 -0
- package/dist/lib/prd/context.d.ts +24 -0
- package/dist/lib/prd/context.d.ts.map +1 -0
- package/dist/lib/prd/context.js +68 -0
- package/dist/lib/prd/context.js.map +1 -0
- package/dist/lib/prd/executor.d.ts +52 -0
- package/dist/lib/prd/executor.d.ts.map +1 -0
- package/dist/lib/prd/executor.js +154 -0
- package/dist/lib/prd/executor.js.map +1 -0
- package/dist/lib/prd/export.d.ts +40 -0
- package/dist/lib/prd/export.d.ts.map +1 -0
- package/dist/lib/prd/export.js +511 -0
- package/dist/lib/prd/export.js.map +1 -0
- package/dist/lib/prd/gates.d.ts +30 -0
- package/dist/lib/prd/gates.d.ts.map +1 -0
- package/dist/lib/prd/gates.js +100 -0
- package/dist/lib/prd/gates.js.map +1 -0
- package/dist/lib/prd/generate.d.ts +56 -0
- package/dist/lib/prd/generate.d.ts.map +1 -0
- package/dist/lib/prd/generate.js +357 -0
- package/dist/lib/prd/generate.js.map +1 -0
- package/dist/lib/prd/parse.d.ts +21 -0
- package/dist/lib/prd/parse.d.ts.map +1 -0
- package/dist/lib/prd/parse.js +270 -0
- package/dist/lib/prd/parse.js.map +1 -0
- package/dist/lib/prd/prompt-builder.d.ts +18 -0
- package/dist/lib/prd/prompt-builder.d.ts.map +1 -0
- package/dist/lib/prd/prompt-builder.js +61 -0
- package/dist/lib/prd/prompt-builder.js.map +1 -0
- package/dist/lib/prd/runner.d.ts +54 -0
- package/dist/lib/prd/runner.d.ts.map +1 -0
- package/dist/lib/prd/runner.js +563 -0
- package/dist/lib/prd/runner.js.map +1 -0
- package/dist/lib/prd/scheduler.d.ts +27 -0
- package/dist/lib/prd/scheduler.d.ts.map +1 -0
- package/dist/lib/prd/scheduler.js +113 -0
- package/dist/lib/prd/scheduler.js.map +1 -0
- package/dist/lib/prd/state.d.ts +77 -0
- package/dist/lib/prd/state.d.ts.map +1 -0
- package/dist/lib/prd/state.js +253 -0
- package/dist/lib/prd/state.js.map +1 -0
- package/dist/lib/prd/team-runner.d.ts +48 -0
- package/dist/lib/prd/team-runner.d.ts.map +1 -0
- package/dist/lib/prd/team-runner.js +261 -0
- package/dist/lib/prd/team-runner.js.map +1 -0
- package/dist/lib/prd/types.d.ts +169 -0
- package/dist/lib/prd/types.d.ts.map +1 -0
- package/dist/lib/prd/types.js +143 -0
- package/dist/lib/prd/types.js.map +1 -0
- package/dist/lib/prd/worktree.d.ts +54 -0
- package/dist/lib/prd/worktree.d.ts.map +1 -0
- package/dist/lib/prd/worktree.js +255 -0
- package/dist/lib/prd/worktree.js.map +1 -0
- package/dist/lib/precompute-context.d.ts +48 -0
- package/dist/lib/precompute-context.d.ts.map +1 -0
- package/dist/lib/precompute-context.js +265 -0
- package/dist/lib/precompute-context.js.map +1 -0
- package/dist/lib/pricing.d.ts +60 -0
- package/dist/lib/pricing.d.ts.map +1 -0
- package/dist/lib/pricing.js +258 -0
- package/dist/lib/pricing.js.map +1 -0
- package/dist/lib/process-registry.d.ts +30 -0
- package/dist/lib/process-registry.d.ts.map +1 -0
- package/dist/lib/process-registry.js +92 -0
- package/dist/lib/process-registry.js.map +1 -0
- package/dist/lib/progress-log.d.ts +44 -0
- package/dist/lib/progress-log.d.ts.map +1 -0
- package/dist/lib/progress-log.js +58 -0
- package/dist/lib/progress-log.js.map +1 -0
- package/dist/lib/public-api.d.ts +56 -0
- package/dist/lib/public-api.d.ts.map +1 -0
- package/dist/lib/public-api.js +63 -0
- package/dist/lib/public-api.js.map +1 -0
- package/dist/lib/quality.d.ts +66 -0
- package/dist/lib/quality.d.ts.map +1 -0
- package/dist/lib/quality.js +486 -0
- package/dist/lib/quality.js.map +1 -0
- package/dist/lib/query-expansion.d.ts +16 -0
- package/dist/lib/query-expansion.d.ts.map +1 -0
- package/dist/lib/query-expansion.js +53 -0
- package/dist/lib/query-expansion.js.map +1 -0
- package/dist/lib/readiness.d.ts +35 -0
- package/dist/lib/readiness.d.ts.map +1 -0
- package/dist/lib/readiness.js +142 -0
- package/dist/lib/readiness.js.map +1 -0
- package/dist/lib/reference-embeddings.d.ts +39 -0
- package/dist/lib/reference-embeddings.d.ts.map +1 -0
- package/dist/lib/reference-embeddings.js +95 -0
- package/dist/lib/reference-embeddings.js.map +1 -0
- package/dist/lib/reflection-synthesizer.d.ts +27 -0
- package/dist/lib/reflection-synthesizer.d.ts.map +1 -0
- package/dist/lib/reflection-synthesizer.js +149 -0
- package/dist/lib/reflection-synthesizer.js.map +1 -0
- package/dist/lib/retention.d.ts +105 -0
- package/dist/lib/retention.d.ts.map +1 -0
- package/dist/lib/retention.js +246 -0
- package/dist/lib/retention.js.map +1 -0
- package/dist/lib/sensitive-filter.d.ts +34 -0
- package/dist/lib/sensitive-filter.d.ts.map +1 -0
- package/dist/lib/sensitive-filter.js +344 -0
- package/dist/lib/sensitive-filter.js.map +1 -0
- package/dist/lib/session-observations.d.ts +59 -0
- package/dist/lib/session-observations.d.ts.map +1 -0
- package/dist/lib/session-observations.js +128 -0
- package/dist/lib/session-observations.js.map +1 -0
- package/dist/lib/session-summary.d.ts +65 -0
- package/dist/lib/session-summary.d.ts.map +1 -0
- package/dist/lib/session-summary.js +344 -0
- package/dist/lib/session-summary.js.map +1 -0
- package/dist/lib/similarity-worker.d.ts +7 -0
- package/dist/lib/similarity-worker.d.ts.map +1 -0
- package/dist/lib/similarity-worker.js +36 -0
- package/dist/lib/similarity-worker.js.map +1 -0
- package/dist/lib/skills.d.ts +78 -0
- package/dist/lib/skills.d.ts.map +1 -0
- package/dist/lib/skills.js +439 -0
- package/dist/lib/skills.js.map +1 -0
- package/dist/lib/skyll-client.d.ts +59 -0
- package/dist/lib/skyll-client.d.ts.map +1 -0
- package/dist/lib/skyll-client.js +257 -0
- package/dist/lib/skyll-client.js.map +1 -0
- package/dist/lib/storage/backends/interface.d.ts +383 -0
- package/dist/lib/storage/backends/interface.d.ts.map +1 -0
- package/dist/lib/storage/backends/interface.js +12 -0
- package/dist/lib/storage/backends/interface.js.map +1 -0
- package/dist/lib/storage/backends/postgresql.d.ts +454 -0
- package/dist/lib/storage/backends/postgresql.d.ts.map +1 -0
- package/dist/lib/storage/backends/postgresql.js +2528 -0
- package/dist/lib/storage/backends/postgresql.js.map +1 -0
- package/dist/lib/storage/benchmark.d.ts +16 -0
- package/dist/lib/storage/benchmark.d.ts.map +1 -0
- package/dist/lib/storage/benchmark.js +219 -0
- package/dist/lib/storage/benchmark.js.map +1 -0
- package/dist/lib/storage/dispatcher-export.d.ts +108 -0
- package/dist/lib/storage/dispatcher-export.d.ts.map +1 -0
- package/dist/lib/storage/dispatcher-export.js +593 -0
- package/dist/lib/storage/dispatcher-export.js.map +1 -0
- package/dist/lib/storage/dispatcher.d.ts +468 -0
- package/dist/lib/storage/dispatcher.d.ts.map +1 -0
- package/dist/lib/storage/dispatcher.js +1926 -0
- package/dist/lib/storage/dispatcher.js.map +1 -0
- package/dist/lib/storage/index.d.ts +481 -0
- package/dist/lib/storage/index.d.ts.map +1 -0
- package/dist/lib/storage/index.js +727 -0
- package/dist/lib/storage/index.js.map +1 -0
- package/dist/lib/storage/migration/export-import.d.ts +133 -0
- package/dist/lib/storage/migration/export-import.d.ts.map +1 -0
- package/dist/lib/storage/migration/export-import.js +264 -0
- package/dist/lib/storage/migration/export-import.js.map +1 -0
- package/dist/lib/storage/types.d.ts +313 -0
- package/dist/lib/storage/types.d.ts.map +1 -0
- package/dist/lib/storage/types.js +30 -0
- package/dist/lib/storage/types.js.map +1 -0
- package/dist/lib/storage/vector/interface.d.ts +89 -0
- package/dist/lib/storage/vector/interface.d.ts.map +1 -0
- package/dist/lib/storage/vector/interface.js +10 -0
- package/dist/lib/storage/vector/interface.js.map +1 -0
- package/dist/lib/storage/vector/qdrant.d.ts +221 -0
- package/dist/lib/storage/vector/qdrant.d.ts.map +1 -0
- package/dist/lib/storage/vector/qdrant.js +880 -0
- package/dist/lib/storage/vector/qdrant.js.map +1 -0
- package/dist/lib/supersession.d.ts +26 -0
- package/dist/lib/supersession.d.ts.map +1 -0
- package/dist/lib/supersession.js +97 -0
- package/dist/lib/supersession.js.map +1 -0
- package/dist/lib/temporal.d.ts +140 -0
- package/dist/lib/temporal.d.ts.map +1 -0
- package/dist/lib/temporal.js +303 -0
- package/dist/lib/temporal.js.map +1 -0
- package/dist/lib/token-budget.d.ts +79 -0
- package/dist/lib/token-budget.d.ts.map +1 -0
- package/dist/lib/token-budget.js +146 -0
- package/dist/lib/token-budget.js.map +1 -0
- package/dist/lib/token-counter.d.ts +27 -0
- package/dist/lib/token-counter.d.ts.map +1 -0
- package/dist/lib/token-counter.js +52 -0
- package/dist/lib/token-counter.js.map +1 -0
- package/dist/lib/tree-sitter/chunker-ts.d.ts +24 -0
- package/dist/lib/tree-sitter/chunker-ts.d.ts.map +1 -0
- package/dist/lib/tree-sitter/chunker-ts.js +206 -0
- package/dist/lib/tree-sitter/chunker-ts.js.map +1 -0
- package/dist/lib/tree-sitter/extractor.d.ts +43 -0
- package/dist/lib/tree-sitter/extractor.d.ts.map +1 -0
- package/dist/lib/tree-sitter/extractor.js +297 -0
- package/dist/lib/tree-sitter/extractor.js.map +1 -0
- package/dist/lib/tree-sitter/index.d.ts +13 -0
- package/dist/lib/tree-sitter/index.d.ts.map +1 -0
- package/dist/lib/tree-sitter/index.js +14 -0
- package/dist/lib/tree-sitter/index.js.map +1 -0
- package/dist/lib/tree-sitter/parser.d.ts +70 -0
- package/dist/lib/tree-sitter/parser.d.ts.map +1 -0
- package/dist/lib/tree-sitter/parser.js +354 -0
- package/dist/lib/tree-sitter/parser.js.map +1 -0
- package/dist/lib/tree-sitter/public.d.ts +28 -0
- package/dist/lib/tree-sitter/public.d.ts.map +1 -0
- package/dist/lib/tree-sitter/public.js +50 -0
- package/dist/lib/tree-sitter/public.js.map +1 -0
- package/dist/lib/tree-sitter/queries.d.ts +28 -0
- package/dist/lib/tree-sitter/queries.d.ts.map +1 -0
- package/dist/lib/tree-sitter/queries.js +383 -0
- package/dist/lib/tree-sitter/queries.js.map +1 -0
- package/dist/lib/tree-sitter/types.d.ts +69 -0
- package/dist/lib/tree-sitter/types.d.ts.map +1 -0
- package/dist/lib/tree-sitter/types.js +131 -0
- package/dist/lib/tree-sitter/types.js.map +1 -0
- package/dist/lib/working-memory-pipeline.d.ts +118 -0
- package/dist/lib/working-memory-pipeline.d.ts.map +1 -0
- package/dist/lib/working-memory-pipeline.js +344 -0
- package/dist/lib/working-memory-pipeline.js.map +1 -0
- package/dist/mcp/helpers.d.ts +44 -0
- package/dist/mcp/helpers.d.ts.map +1 -0
- package/dist/mcp/helpers.js +244 -0
- package/dist/mcp/helpers.js.map +1 -0
- package/dist/mcp/index.d.ts +10 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +15 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/resources.d.ts +12 -0
- package/dist/mcp/resources.d.ts.map +1 -0
- package/dist/mcp/resources.js +136 -0
- package/dist/mcp/resources.js.map +1 -0
- package/dist/mcp/server.d.ts +22 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +131 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools/config.d.ts +10 -0
- package/dist/mcp/tools/config.d.ts.map +1 -0
- package/dist/mcp/tools/config.js +236 -0
- package/dist/mcp/tools/config.js.map +1 -0
- package/dist/mcp/tools/dead-end.d.ts +9 -0
- package/dist/mcp/tools/dead-end.d.ts.map +1 -0
- package/dist/mcp/tools/dead-end.js +137 -0
- package/dist/mcp/tools/dead-end.js.map +1 -0
- package/dist/mcp/tools/debug.d.ts +9 -0
- package/dist/mcp/tools/debug.d.ts.map +1 -0
- package/dist/mcp/tools/debug.js +387 -0
- package/dist/mcp/tools/debug.js.map +1 -0
- package/dist/mcp/tools/graph.d.ts +9 -0
- package/dist/mcp/tools/graph.d.ts.map +1 -0
- package/dist/mcp/tools/graph.js +337 -0
- package/dist/mcp/tools/graph.js.map +1 -0
- package/dist/mcp/tools/indexing.d.ts +12 -0
- package/dist/mcp/tools/indexing.d.ts.map +1 -0
- package/dist/mcp/tools/indexing.js +289 -0
- package/dist/mcp/tools/indexing.js.map +1 -0
- package/dist/mcp/tools/memory.d.ts +14 -0
- package/dist/mcp/tools/memory.d.ts.map +1 -0
- package/dist/mcp/tools/memory.js +1170 -0
- package/dist/mcp/tools/memory.js.map +1 -0
- package/dist/mcp/tools/prd.d.ts +12 -0
- package/dist/mcp/tools/prd.d.ts.map +1 -0
- package/dist/mcp/tools/prd.js +276 -0
- package/dist/mcp/tools/prd.js.map +1 -0
- package/dist/mcp/tools/search.d.ts +9 -0
- package/dist/mcp/tools/search.d.ts.map +1 -0
- package/dist/mcp/tools/search.js +279 -0
- package/dist/mcp/tools/search.js.map +1 -0
- package/dist/mcp/tools/status.d.ts +10 -0
- package/dist/mcp/tools/status.d.ts.map +1 -0
- package/dist/mcp/tools/status.js +296 -0
- package/dist/mcp/tools/status.js.map +1 -0
- package/dist/mcp/tools/web-fetch.d.ts +10 -0
- package/dist/mcp/tools/web-fetch.d.ts.map +1 -0
- package/dist/mcp/tools/web-fetch.js +107 -0
- package/dist/mcp/tools/web-fetch.js.map +1 -0
- package/dist/mcp/tools/web-search.d.ts +14 -0
- package/dist/mcp/tools/web-search.d.ts.map +1 -0
- package/dist/mcp/tools/web-search.js +427 -0
- package/dist/mcp/tools/web-search.js.map +1 -0
- package/dist/mcp/types.d.ts +16 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +5 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/mcp-server.d.ts +9 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +9 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/prompts/analyze.d.ts +21 -0
- package/dist/prompts/analyze.d.ts.map +1 -0
- package/dist/prompts/analyze.js +27 -0
- package/dist/prompts/analyze.js.map +1 -0
- package/dist/prompts/briefing.d.ts +27 -0
- package/dist/prompts/briefing.d.ts.map +1 -0
- package/dist/prompts/briefing.js +123 -0
- package/dist/prompts/briefing.js.map +1 -0
- package/dist/prompts/chat.d.ts +8 -0
- package/dist/prompts/chat.d.ts.map +1 -0
- package/dist/prompts/chat.js +39 -0
- package/dist/prompts/chat.js.map +1 -0
- package/dist/prompts/daemon.d.ts +16 -0
- package/dist/prompts/daemon.d.ts.map +1 -0
- package/dist/prompts/daemon.js +46 -0
- package/dist/prompts/daemon.js.map +1 -0
- package/dist/prompts/extraction.d.ts +13 -0
- package/dist/prompts/extraction.d.ts.map +1 -0
- package/dist/prompts/extraction.js +93 -0
- package/dist/prompts/extraction.js.map +1 -0
- package/dist/prompts/index.d.ts +17 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +27 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/memory.d.ts +11 -0
- package/dist/prompts/memory.d.ts.map +1 -0
- package/dist/prompts/memory.js +23 -0
- package/dist/prompts/memory.js.map +1 -0
- package/dist/prompts/onboarding.d.ts +16 -0
- package/dist/prompts/onboarding.d.ts.map +1 -0
- package/dist/prompts/onboarding.js +183 -0
- package/dist/prompts/onboarding.js.map +1 -0
- package/dist/prompts/prd.d.ts +12 -0
- package/dist/prompts/prd.d.ts.map +1 -0
- package/dist/prompts/prd.js +211 -0
- package/dist/prompts/prd.js.map +1 -0
- package/dist/prompts/quality.d.ts +11 -0
- package/dist/prompts/quality.d.ts.map +1 -0
- package/dist/prompts/quality.js +11 -0
- package/dist/prompts/quality.js.map +1 -0
- package/dist/prompts/skills.d.ts +16 -0
- package/dist/prompts/skills.d.ts.map +1 -0
- package/dist/prompts/skills.js +30 -0
- package/dist/prompts/skills.js.map +1 -0
- package/hooks/succ-post-tool.cjs +227 -0
- package/hooks/succ-pre-tool.cjs +312 -0
- package/hooks/succ-session-end.cjs +85 -0
- package/hooks/succ-session-start.cjs +618 -0
- package/hooks/succ-stop-reflection.cjs +87 -0
- package/hooks/succ-user-prompt.cjs +220 -0
- package/package.json +128 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"temporal.js","sourceRoot":"","sources":["../../src/lib/temporal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token Budget Tracker
|
|
3
|
+
*
|
|
4
|
+
* Tracks cumulative token usage per daemon session for:
|
|
5
|
+
* - Smarter observer extraction triggers (real tokens vs byte estimate)
|
|
6
|
+
* - Cost reporting (extraction + synthesis LLM calls)
|
|
7
|
+
* - Session-level analytics
|
|
8
|
+
*
|
|
9
|
+
* State is ephemeral (in-memory per daemon process).
|
|
10
|
+
* Persisted to .succ/session-tokens.json on flush.
|
|
11
|
+
*/
|
|
12
|
+
export interface TokenBudgetEntry {
|
|
13
|
+
/** Tokens in transcript since last observation */
|
|
14
|
+
transcriptTokens: number;
|
|
15
|
+
/** Tokens consumed by LLM extraction calls */
|
|
16
|
+
extractionInputTokens: number;
|
|
17
|
+
/** Tokens generated by LLM extraction */
|
|
18
|
+
extractionOutputTokens: number;
|
|
19
|
+
/** Tokens consumed by LLM synthesis calls */
|
|
20
|
+
synthesisInputTokens: number;
|
|
21
|
+
/** Tokens generated by LLM synthesis */
|
|
22
|
+
synthesisOutputTokens: number;
|
|
23
|
+
/** Number of facts extracted */
|
|
24
|
+
factsExtracted: number;
|
|
25
|
+
/** Number of facts saved (after dedup/quality filter) */
|
|
26
|
+
factsSaved: number;
|
|
27
|
+
/** Timestamp of last update */
|
|
28
|
+
lastUpdate: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Get or create budget for a session.
|
|
32
|
+
*/
|
|
33
|
+
export declare function getBudget(sessionId: string): TokenBudgetEntry;
|
|
34
|
+
/**
|
|
35
|
+
* Record new transcript content tokens.
|
|
36
|
+
* Called by the observer when reading new transcript content.
|
|
37
|
+
*/
|
|
38
|
+
export declare function recordTranscriptTokens(sessionId: string, text: string): number;
|
|
39
|
+
/**
|
|
40
|
+
* Record extraction LLM usage.
|
|
41
|
+
* Called after extractSessionSummary completes.
|
|
42
|
+
*/
|
|
43
|
+
export declare function recordExtraction(sessionId: string, inputTokens: number, outputTokens: number, factsExtracted: number, factsSaved: number): void;
|
|
44
|
+
/**
|
|
45
|
+
* Record synthesis LLM usage.
|
|
46
|
+
* Called after reflection synthesis completes.
|
|
47
|
+
*/
|
|
48
|
+
export declare function recordSynthesis(sessionId: string, inputTokens: number, outputTokens: number): void;
|
|
49
|
+
/**
|
|
50
|
+
* Get total LLM tokens consumed by this session (input + output).
|
|
51
|
+
*/
|
|
52
|
+
export declare function getTotalLLMTokens(sessionId: string): number;
|
|
53
|
+
/**
|
|
54
|
+
* Check if a session has reached the transcript token threshold.
|
|
55
|
+
* Used by the observer to decide when to extract.
|
|
56
|
+
*/
|
|
57
|
+
export declare function hasReachedTokenThreshold(sessionId: string, threshold: number): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Reset transcript token counter after extraction.
|
|
60
|
+
* Called by the observer after successful extraction.
|
|
61
|
+
*/
|
|
62
|
+
export declare function resetTranscriptCounter(sessionId: string): void;
|
|
63
|
+
/**
|
|
64
|
+
* Flush all session budgets to disk for persistence across daemon restarts.
|
|
65
|
+
*/
|
|
66
|
+
export declare function flushBudgets(): void;
|
|
67
|
+
/**
|
|
68
|
+
* Load budgets from disk (daemon startup).
|
|
69
|
+
*/
|
|
70
|
+
export declare function loadBudgets(): void;
|
|
71
|
+
/**
|
|
72
|
+
* Remove budget for a session (session ended).
|
|
73
|
+
*/
|
|
74
|
+
export declare function removeBudget(sessionId: string): void;
|
|
75
|
+
/**
|
|
76
|
+
* Get all active session budgets (for status reporting).
|
|
77
|
+
*/
|
|
78
|
+
export declare function getAllBudgets(): Map<string, TokenBudgetEntry>;
|
|
79
|
+
//# sourceMappingURL=token-budget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-budget.d.ts","sourceRoot":"","sources":["../../src/lib/token-budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,gBAAgB,EAAE,MAAM,CAAC;IACzB,8CAA8C;IAC9C,qBAAqB,EAAE,MAAM,CAAC;IAC9B,yCAAyC;IACzC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,6CAA6C;IAC7C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wCAAwC;IACxC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAkBD;;GAEG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAK7D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAM9E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,GACjB,IAAI,CAON;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,IAAI,CAKN;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAQ3D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAGtF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAI9D;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAYnC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAalC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAEpD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAE7D"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token Budget Tracker
|
|
3
|
+
*
|
|
4
|
+
* Tracks cumulative token usage per daemon session for:
|
|
5
|
+
* - Smarter observer extraction triggers (real tokens vs byte estimate)
|
|
6
|
+
* - Cost reporting (extraction + synthesis LLM calls)
|
|
7
|
+
* - Session-level analytics
|
|
8
|
+
*
|
|
9
|
+
* State is ephemeral (in-memory per daemon process).
|
|
10
|
+
* Persisted to .succ/session-tokens.json on flush.
|
|
11
|
+
*/
|
|
12
|
+
import fs from 'fs';
|
|
13
|
+
import path from 'path';
|
|
14
|
+
import { countTokens } from './token-counter.js';
|
|
15
|
+
import { getSuccDir } from './config.js';
|
|
16
|
+
// In-memory state: sessionId → budget
|
|
17
|
+
const budgets = new Map();
|
|
18
|
+
function createEmptyBudget() {
|
|
19
|
+
return {
|
|
20
|
+
transcriptTokens: 0,
|
|
21
|
+
extractionInputTokens: 0,
|
|
22
|
+
extractionOutputTokens: 0,
|
|
23
|
+
synthesisInputTokens: 0,
|
|
24
|
+
synthesisOutputTokens: 0,
|
|
25
|
+
factsExtracted: 0,
|
|
26
|
+
factsSaved: 0,
|
|
27
|
+
lastUpdate: Date.now(),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Get or create budget for a session.
|
|
32
|
+
*/
|
|
33
|
+
export function getBudget(sessionId) {
|
|
34
|
+
if (!budgets.has(sessionId)) {
|
|
35
|
+
budgets.set(sessionId, createEmptyBudget());
|
|
36
|
+
}
|
|
37
|
+
return budgets.get(sessionId);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Record new transcript content tokens.
|
|
41
|
+
* Called by the observer when reading new transcript content.
|
|
42
|
+
*/
|
|
43
|
+
export function recordTranscriptTokens(sessionId, text) {
|
|
44
|
+
const budget = getBudget(sessionId);
|
|
45
|
+
const tokens = countTokens(text);
|
|
46
|
+
budget.transcriptTokens += tokens;
|
|
47
|
+
budget.lastUpdate = Date.now();
|
|
48
|
+
return tokens;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Record extraction LLM usage.
|
|
52
|
+
* Called after extractSessionSummary completes.
|
|
53
|
+
*/
|
|
54
|
+
export function recordExtraction(sessionId, inputTokens, outputTokens, factsExtracted, factsSaved) {
|
|
55
|
+
const budget = getBudget(sessionId);
|
|
56
|
+
budget.extractionInputTokens += inputTokens;
|
|
57
|
+
budget.extractionOutputTokens += outputTokens;
|
|
58
|
+
budget.factsExtracted += factsExtracted;
|
|
59
|
+
budget.factsSaved += factsSaved;
|
|
60
|
+
budget.lastUpdate = Date.now();
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Record synthesis LLM usage.
|
|
64
|
+
* Called after reflection synthesis completes.
|
|
65
|
+
*/
|
|
66
|
+
export function recordSynthesis(sessionId, inputTokens, outputTokens) {
|
|
67
|
+
const budget = getBudget(sessionId);
|
|
68
|
+
budget.synthesisInputTokens += inputTokens;
|
|
69
|
+
budget.synthesisOutputTokens += outputTokens;
|
|
70
|
+
budget.lastUpdate = Date.now();
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Get total LLM tokens consumed by this session (input + output).
|
|
74
|
+
*/
|
|
75
|
+
export function getTotalLLMTokens(sessionId) {
|
|
76
|
+
const budget = getBudget(sessionId);
|
|
77
|
+
return (budget.extractionInputTokens +
|
|
78
|
+
budget.extractionOutputTokens +
|
|
79
|
+
budget.synthesisInputTokens +
|
|
80
|
+
budget.synthesisOutputTokens);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Check if a session has reached the transcript token threshold.
|
|
84
|
+
* Used by the observer to decide when to extract.
|
|
85
|
+
*/
|
|
86
|
+
export function hasReachedTokenThreshold(sessionId, threshold) {
|
|
87
|
+
const budget = getBudget(sessionId);
|
|
88
|
+
return budget.transcriptTokens >= threshold;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Reset transcript token counter after extraction.
|
|
92
|
+
* Called by the observer after successful extraction.
|
|
93
|
+
*/
|
|
94
|
+
export function resetTranscriptCounter(sessionId) {
|
|
95
|
+
const budget = getBudget(sessionId);
|
|
96
|
+
budget.transcriptTokens = 0;
|
|
97
|
+
budget.lastUpdate = Date.now();
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Flush all session budgets to disk for persistence across daemon restarts.
|
|
101
|
+
*/
|
|
102
|
+
export function flushBudgets() {
|
|
103
|
+
try {
|
|
104
|
+
const succDir = getSuccDir();
|
|
105
|
+
const filePath = path.join(succDir, 'session-tokens.json');
|
|
106
|
+
const data = {};
|
|
107
|
+
for (const [sessionId, budget] of budgets) {
|
|
108
|
+
data[sessionId] = budget;
|
|
109
|
+
}
|
|
110
|
+
fs.writeFileSync(filePath, JSON.stringify(data, null, 2));
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
// Non-critical — budgets are ephemeral
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Load budgets from disk (daemon startup).
|
|
118
|
+
*/
|
|
119
|
+
export function loadBudgets() {
|
|
120
|
+
try {
|
|
121
|
+
const succDir = getSuccDir();
|
|
122
|
+
const filePath = path.join(succDir, 'session-tokens.json');
|
|
123
|
+
if (fs.existsSync(filePath)) {
|
|
124
|
+
const data = JSON.parse(fs.readFileSync(filePath, 'utf-8'));
|
|
125
|
+
for (const [sessionId, budget] of Object.entries(data)) {
|
|
126
|
+
budgets.set(sessionId, budget);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
// Non-critical
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Remove budget for a session (session ended).
|
|
136
|
+
*/
|
|
137
|
+
export function removeBudget(sessionId) {
|
|
138
|
+
budgets.delete(sessionId);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Get all active session budgets (for status reporting).
|
|
142
|
+
*/
|
|
143
|
+
export function getAllBudgets() {
|
|
144
|
+
return new Map(budgets);
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=token-budget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-budget.js","sourceRoot":"","sources":["../../src/lib/token-budget.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple token counter utility.
|
|
3
|
+
*
|
|
4
|
+
* Uses Anthropic's recommended heuristic: ~3.5 characters per token.
|
|
5
|
+
* This balances accuracy across English (~4), code (~3.5), and other languages (~2).
|
|
6
|
+
*
|
|
7
|
+
* Reference: https://platform.claude.com/docs/en/build-with-claude/token-counting
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Estimate token count for a string.
|
|
11
|
+
* Uses ~3.5 chars/token (Anthropic's recommended heuristic).
|
|
12
|
+
*/
|
|
13
|
+
export declare function countTokens(text: string): number;
|
|
14
|
+
/**
|
|
15
|
+
* Estimate token count for an array of strings.
|
|
16
|
+
*/
|
|
17
|
+
export declare function countTokensArray(texts: string[]): number;
|
|
18
|
+
/**
|
|
19
|
+
* Format token count for display (e.g., "1.2M", "45K", "890").
|
|
20
|
+
*/
|
|
21
|
+
export declare function formatTokens(tokens: number): string;
|
|
22
|
+
/**
|
|
23
|
+
* Calculate compression ratio (how much was saved).
|
|
24
|
+
* Returns "99.98% saved" style string.
|
|
25
|
+
*/
|
|
26
|
+
export declare function compressionPercent(original: number, compressed: number): string;
|
|
27
|
+
//# sourceMappingURL=token-counter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-counter.d.ts","sourceRoot":"","sources":["../../src/lib/token-counter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGhD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAExD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQnD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQ/E"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple token counter utility.
|
|
3
|
+
*
|
|
4
|
+
* Uses Anthropic's recommended heuristic: ~3.5 characters per token.
|
|
5
|
+
* This balances accuracy across English (~4), code (~3.5), and other languages (~2).
|
|
6
|
+
*
|
|
7
|
+
* Reference: https://platform.claude.com/docs/en/build-with-claude/token-counting
|
|
8
|
+
*/
|
|
9
|
+
// Anthropic's recommended heuristic for mixed content
|
|
10
|
+
const CHARS_PER_TOKEN = 3.5;
|
|
11
|
+
/**
|
|
12
|
+
* Estimate token count for a string.
|
|
13
|
+
* Uses ~3.5 chars/token (Anthropic's recommended heuristic).
|
|
14
|
+
*/
|
|
15
|
+
export function countTokens(text) {
|
|
16
|
+
if (!text)
|
|
17
|
+
return 0;
|
|
18
|
+
return Math.ceil(text.length / CHARS_PER_TOKEN);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Estimate token count for an array of strings.
|
|
22
|
+
*/
|
|
23
|
+
export function countTokensArray(texts) {
|
|
24
|
+
return texts.reduce((sum, text) => sum + countTokens(text), 0);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Format token count for display (e.g., "1.2M", "45K", "890").
|
|
28
|
+
*/
|
|
29
|
+
export function formatTokens(tokens) {
|
|
30
|
+
if (tokens >= 1_000_000) {
|
|
31
|
+
return `${(tokens / 1_000_000).toFixed(1)}M`;
|
|
32
|
+
}
|
|
33
|
+
if (tokens >= 1_000) {
|
|
34
|
+
return `${(tokens / 1_000).toFixed(0)}K`;
|
|
35
|
+
}
|
|
36
|
+
return tokens.toString();
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Calculate compression ratio (how much was saved).
|
|
40
|
+
* Returns "99.98% saved" style string.
|
|
41
|
+
*/
|
|
42
|
+
export function compressionPercent(original, compressed) {
|
|
43
|
+
if (original === 0)
|
|
44
|
+
return '0% saved';
|
|
45
|
+
const saved = ((original - compressed) / original) * 100;
|
|
46
|
+
// Avoid showing 100.0% - use more precision for high compression
|
|
47
|
+
if (saved >= 99.9 && saved < 100) {
|
|
48
|
+
return `${saved.toFixed(2)}% saved`;
|
|
49
|
+
}
|
|
50
|
+
return `${saved.toFixed(1)}% saved`;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=token-counter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-counter.js","sourceRoot":"","sources":["../../src/lib/token-counter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,sDAAsD;AACtD,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC;IACpB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAe;IAC9C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/C,CAAC;IACD,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3C,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,UAAkB;IACrE,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;IACzD,iEAAiE;IACjE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QACjC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACtC,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AST-based code chunker using tree-sitter.
|
|
3
|
+
*
|
|
4
|
+
* Produces chunks aligned to symbol boundaries (functions, classes, methods)
|
|
5
|
+
* with metadata (symbolName, symbolType, signature, docComment).
|
|
6
|
+
*
|
|
7
|
+
* Falls back to null if tree-sitter is unavailable for the given file,
|
|
8
|
+
* signaling the caller to use the regex/line-based fallback.
|
|
9
|
+
*/
|
|
10
|
+
import type { TreeSitterChunk } from './types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Chunk source code using tree-sitter AST analysis.
|
|
13
|
+
*
|
|
14
|
+
* Strategy:
|
|
15
|
+
* 1. Parse the file with tree-sitter
|
|
16
|
+
* 2. Extract all top-level symbols (functions, classes, etc.)
|
|
17
|
+
* 3. Create a chunk per symbol, including leading comments/whitespace
|
|
18
|
+
* 4. Collect any "orphan" lines between symbols into separate chunks
|
|
19
|
+
* 5. Split oversized chunks to fit model context limits
|
|
20
|
+
*
|
|
21
|
+
* @returns Array of chunks with metadata, or null if tree-sitter unavailable
|
|
22
|
+
*/
|
|
23
|
+
export declare function chunkCodeWithTreeSitter(content: string, filePath: string): Promise<TreeSitterChunk[] | null>;
|
|
24
|
+
//# sourceMappingURL=chunker-ts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunker-ts.d.ts","sourceRoot":"","sources":["../../../src/lib/tree-sitter/chunker-ts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAc,MAAM,YAAY,CAAC;AAQ9D;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,CAqFnC"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AST-based code chunker using tree-sitter.
|
|
3
|
+
*
|
|
4
|
+
* Produces chunks aligned to symbol boundaries (functions, classes, methods)
|
|
5
|
+
* with metadata (symbolName, symbolType, signature, docComment).
|
|
6
|
+
*
|
|
7
|
+
* Falls back to null if tree-sitter is unavailable for the given file,
|
|
8
|
+
* signaling the caller to use the regex/line-based fallback.
|
|
9
|
+
*/
|
|
10
|
+
import { getLanguageForExtension } from './types.js';
|
|
11
|
+
import { parseFile } from './parser.js';
|
|
12
|
+
import { extractSymbols } from './extractor.js';
|
|
13
|
+
/** Max chunk size in characters (match existing chunker limit) */
|
|
14
|
+
const MAX_CHUNK_CHARS = 4000;
|
|
15
|
+
/**
|
|
16
|
+
* Chunk source code using tree-sitter AST analysis.
|
|
17
|
+
*
|
|
18
|
+
* Strategy:
|
|
19
|
+
* 1. Parse the file with tree-sitter
|
|
20
|
+
* 2. Extract all top-level symbols (functions, classes, etc.)
|
|
21
|
+
* 3. Create a chunk per symbol, including leading comments/whitespace
|
|
22
|
+
* 4. Collect any "orphan" lines between symbols into separate chunks
|
|
23
|
+
* 5. Split oversized chunks to fit model context limits
|
|
24
|
+
*
|
|
25
|
+
* @returns Array of chunks with metadata, or null if tree-sitter unavailable
|
|
26
|
+
*/
|
|
27
|
+
export async function chunkCodeWithTreeSitter(content, filePath) {
|
|
28
|
+
// Check if language is recognized
|
|
29
|
+
const ext = filePath.split('.').pop() || '';
|
|
30
|
+
const language = getLanguageForExtension(ext);
|
|
31
|
+
if (!language)
|
|
32
|
+
return null;
|
|
33
|
+
// Parse the file
|
|
34
|
+
const [tree, lang] = await parseFile(filePath, content);
|
|
35
|
+
if (!tree || !lang)
|
|
36
|
+
return null;
|
|
37
|
+
try {
|
|
38
|
+
// Extract symbols
|
|
39
|
+
const symbols = await extractSymbols(tree, content, lang);
|
|
40
|
+
const lines = content.split('\n');
|
|
41
|
+
if (symbols.length === 0) {
|
|
42
|
+
// No symbols found — return entire file as one chunk (or split if too large)
|
|
43
|
+
return splitLargeChunk({
|
|
44
|
+
content,
|
|
45
|
+
startLine: 1,
|
|
46
|
+
endLine: lines.length,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
// Sort symbols by start position
|
|
50
|
+
const sorted = [...symbols].sort((a, b) => a.startRow - b.startRow);
|
|
51
|
+
const chunks = [];
|
|
52
|
+
let lastEndRow = 0; // 0-based, exclusive
|
|
53
|
+
for (const symbol of sorted) {
|
|
54
|
+
// Collect any orphan lines before this symbol (imports, comments, blank lines)
|
|
55
|
+
const gapStart = lastEndRow;
|
|
56
|
+
const symbolStartWithDoc = findChunkStart(symbol, lines, gapStart);
|
|
57
|
+
if (symbolStartWithDoc > gapStart) {
|
|
58
|
+
// There are orphan lines between the previous symbol and this one
|
|
59
|
+
const orphanContent = lines.slice(gapStart, symbolStartWithDoc).join('\n');
|
|
60
|
+
if (orphanContent.trim().length > 20) {
|
|
61
|
+
chunks.push({
|
|
62
|
+
content: orphanContent,
|
|
63
|
+
startLine: gapStart + 1, // 1-based
|
|
64
|
+
endLine: symbolStartWithDoc,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// Create chunk for this symbol
|
|
69
|
+
const chunkStartRow = symbolStartWithDoc;
|
|
70
|
+
const chunkEndRow = symbol.endRow + 1; // exclusive, 0-based
|
|
71
|
+
const symbolContent = lines.slice(chunkStartRow, chunkEndRow).join('\n');
|
|
72
|
+
chunks.push({
|
|
73
|
+
content: symbolContent,
|
|
74
|
+
startLine: chunkStartRow + 1, // 1-based
|
|
75
|
+
endLine: chunkEndRow,
|
|
76
|
+
symbolName: symbol.name,
|
|
77
|
+
symbolType: symbol.type,
|
|
78
|
+
signature: symbol.signature,
|
|
79
|
+
docComment: symbol.docComment,
|
|
80
|
+
});
|
|
81
|
+
lastEndRow = Math.max(lastEndRow, chunkEndRow);
|
|
82
|
+
}
|
|
83
|
+
// Remaining lines after the last symbol
|
|
84
|
+
if (lastEndRow < lines.length) {
|
|
85
|
+
const remainingContent = lines.slice(lastEndRow).join('\n');
|
|
86
|
+
if (remainingContent.trim().length > 20) {
|
|
87
|
+
chunks.push({
|
|
88
|
+
content: remainingContent,
|
|
89
|
+
startLine: lastEndRow + 1,
|
|
90
|
+
endLine: lines.length,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// Filter empty chunks and split oversized ones
|
|
95
|
+
const filtered = chunks.filter((c) => c.content.trim().length > 0);
|
|
96
|
+
return filtered.flatMap(splitLargeChunk);
|
|
97
|
+
}
|
|
98
|
+
finally {
|
|
99
|
+
// Free the tree to avoid memory leaks
|
|
100
|
+
tree.delete();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Find where a chunk should start, including leading doc comments
|
|
105
|
+
* and decorators that belong to this symbol.
|
|
106
|
+
*
|
|
107
|
+
* Walks backward from the symbol's start to include:
|
|
108
|
+
* - Adjacent comment lines (doc comments)
|
|
109
|
+
* - Decorator lines (e.g., @decorator)
|
|
110
|
+
* - Blank lines between decorator/comment groups and the definition
|
|
111
|
+
*/
|
|
112
|
+
function findChunkStart(symbol, lines, minRow) {
|
|
113
|
+
let start = symbol.startRow;
|
|
114
|
+
// Walk backward to include comments and decorators
|
|
115
|
+
while (start > minRow) {
|
|
116
|
+
const prevLine = lines[start - 1]?.trim();
|
|
117
|
+
if (!prevLine) {
|
|
118
|
+
// Blank line — check if there's a comment/decorator above it
|
|
119
|
+
if (start - 2 >= minRow) {
|
|
120
|
+
const lineAboveBlank = lines[start - 2]?.trim();
|
|
121
|
+
if (lineAboveBlank &&
|
|
122
|
+
(lineAboveBlank.startsWith('//') ||
|
|
123
|
+
lineAboveBlank.startsWith('/*') ||
|
|
124
|
+
lineAboveBlank.startsWith('*') ||
|
|
125
|
+
lineAboveBlank.startsWith('#') ||
|
|
126
|
+
lineAboveBlank.startsWith('@') ||
|
|
127
|
+
lineAboveBlank.startsWith('///'))) {
|
|
128
|
+
start--;
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
if (prevLine.startsWith('//') ||
|
|
135
|
+
prevLine.startsWith('/*') ||
|
|
136
|
+
prevLine.startsWith('*') ||
|
|
137
|
+
prevLine.startsWith('*/') ||
|
|
138
|
+
prevLine.startsWith('#') ||
|
|
139
|
+
prevLine.startsWith('@') ||
|
|
140
|
+
prevLine.startsWith('///') ||
|
|
141
|
+
prevLine.startsWith('"""') ||
|
|
142
|
+
prevLine.startsWith("'''")) {
|
|
143
|
+
start--;
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return start;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Split a chunk that exceeds MAX_CHUNK_CHARS into smaller pieces.
|
|
153
|
+
* Preserves metadata on the first sub-chunk.
|
|
154
|
+
*/
|
|
155
|
+
function splitLargeChunk(chunk) {
|
|
156
|
+
if (chunk.content.length <= MAX_CHUNK_CHARS) {
|
|
157
|
+
return [chunk];
|
|
158
|
+
}
|
|
159
|
+
const lines = chunk.content.split('\n');
|
|
160
|
+
const result = [];
|
|
161
|
+
let currentLines = [];
|
|
162
|
+
let currentSize = 0;
|
|
163
|
+
let currentStartLine = chunk.startLine;
|
|
164
|
+
let isFirst = true;
|
|
165
|
+
for (let i = 0; i < lines.length; i++) {
|
|
166
|
+
const line = lines[i];
|
|
167
|
+
const lineSize = line.length + 1;
|
|
168
|
+
if (currentSize + lineSize > MAX_CHUNK_CHARS && currentLines.length > 0) {
|
|
169
|
+
const subChunk = {
|
|
170
|
+
content: currentLines.join('\n'),
|
|
171
|
+
startLine: currentStartLine,
|
|
172
|
+
endLine: currentStartLine + currentLines.length - 1,
|
|
173
|
+
};
|
|
174
|
+
// Copy metadata only to the first sub-chunk
|
|
175
|
+
if (isFirst) {
|
|
176
|
+
subChunk.symbolName = chunk.symbolName;
|
|
177
|
+
subChunk.symbolType = chunk.symbolType;
|
|
178
|
+
subChunk.signature = chunk.signature;
|
|
179
|
+
subChunk.docComment = chunk.docComment;
|
|
180
|
+
isFirst = false;
|
|
181
|
+
}
|
|
182
|
+
result.push(subChunk);
|
|
183
|
+
currentLines = [];
|
|
184
|
+
currentSize = 0;
|
|
185
|
+
currentStartLine = chunk.startLine + i;
|
|
186
|
+
}
|
|
187
|
+
currentLines.push(line);
|
|
188
|
+
currentSize += lineSize;
|
|
189
|
+
}
|
|
190
|
+
if (currentLines.length > 0) {
|
|
191
|
+
const subChunk = {
|
|
192
|
+
content: currentLines.join('\n'),
|
|
193
|
+
startLine: currentStartLine,
|
|
194
|
+
endLine: currentStartLine + currentLines.length - 1,
|
|
195
|
+
};
|
|
196
|
+
if (isFirst) {
|
|
197
|
+
subChunk.symbolName = chunk.symbolName;
|
|
198
|
+
subChunk.symbolType = chunk.symbolType;
|
|
199
|
+
subChunk.signature = chunk.signature;
|
|
200
|
+
subChunk.docComment = chunk.docComment;
|
|
201
|
+
}
|
|
202
|
+
result.push(subChunk);
|
|
203
|
+
}
|
|
204
|
+
return result;
|
|
205
|
+
}
|
|
206
|
+
//# sourceMappingURL=chunker-ts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunker-ts.js","sourceRoot":"","sources":["../../../src/lib/tree-sitter/chunker-ts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AST symbol extraction using tree-sitter queries.
|
|
3
|
+
*
|
|
4
|
+
* Shared infrastructure used by chunker, bm25, analyze, PRD context, quality scoring.
|
|
5
|
+
* Extracts functions, classes, interfaces, types with metadata (name, signature, docstring).
|
|
6
|
+
*/
|
|
7
|
+
import type { Tree, Node } from 'web-tree-sitter';
|
|
8
|
+
import type { SymbolInfo } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Extract all symbols from a parsed tree.
|
|
11
|
+
*
|
|
12
|
+
* @param tree - Parsed tree-sitter Tree
|
|
13
|
+
* @param sourceCode - Original source code
|
|
14
|
+
* @param language - Tree-sitter language name
|
|
15
|
+
* @returns Array of extracted symbols with metadata
|
|
16
|
+
*/
|
|
17
|
+
export declare function extractSymbols(tree: Tree, sourceCode: string, language: string): Promise<SymbolInfo[]>;
|
|
18
|
+
/**
|
|
19
|
+
* Extract only function/method definitions.
|
|
20
|
+
*/
|
|
21
|
+
export declare function extractFunctions(tree: Tree, sourceCode: string, language: string): Promise<SymbolInfo[]>;
|
|
22
|
+
/**
|
|
23
|
+
* Extract only class definitions.
|
|
24
|
+
*/
|
|
25
|
+
export declare function extractClasses(tree: Tree, sourceCode: string, language: string): Promise<SymbolInfo[]>;
|
|
26
|
+
/**
|
|
27
|
+
* Extract only interface/trait definitions.
|
|
28
|
+
*/
|
|
29
|
+
export declare function extractInterfaces(tree: Tree, sourceCode: string, language: string): Promise<SymbolInfo[]>;
|
|
30
|
+
/**
|
|
31
|
+
* Extract only type definitions (type aliases, enums, structs).
|
|
32
|
+
*/
|
|
33
|
+
export declare function extractTypes(tree: Tree, sourceCode: string, language: string): Promise<SymbolInfo[]>;
|
|
34
|
+
/**
|
|
35
|
+
* Extract all identifier names from source code (for BM25 tokenization).
|
|
36
|
+
* This is a lightweight extraction that doesn't need full query matching.
|
|
37
|
+
*/
|
|
38
|
+
export declare function extractIdentifiers(rootNode: Node): string[];
|
|
39
|
+
/**
|
|
40
|
+
* Reset the query cache (useful for testing).
|
|
41
|
+
*/
|
|
42
|
+
export declare function resetQueryCache(): void;
|
|
43
|
+
//# sourceMappingURL=extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../../src/lib/tree-sitter/extractor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAuB,MAAM,iBAAiB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,YAAY,CAAC;AAwLzD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,EAAE,CAAC,CAoDvB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,EAAE,CAAC,CAGvB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,EAAE,CAAC,CAGvB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,EAAE,CAAC,CAGvB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,EAAE,CAAC,CAGvB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,IAAI,GAAG,MAAM,EAAE,CAwB3D;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAUtC"}
|