distill-mcp 0.6.0-beta
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/bin/cli.js +133 -0
- package/dist/analytics/session-tracker.d.ts +74 -0
- package/dist/analytics/session-tracker.d.ts.map +1 -0
- package/dist/analytics/session-tracker.js +123 -0
- package/dist/ast/benchmark.test.d.ts +7 -0
- package/dist/ast/benchmark.test.d.ts.map +1 -0
- package/dist/ast/benchmark.test.js +175 -0
- package/dist/ast/go/index.d.ts +9 -0
- package/dist/ast/go/index.d.ts.map +1 -0
- package/dist/ast/go/index.js +8 -0
- package/dist/ast/go/parser.d.ts +31 -0
- package/dist/ast/go/parser.d.ts.map +1 -0
- package/dist/ast/go/parser.js +428 -0
- package/dist/ast/go/parser.test.d.ts +5 -0
- package/dist/ast/go/parser.test.d.ts.map +1 -0
- package/dist/ast/go/parser.test.js +241 -0
- package/dist/ast/go/queries.d.ts +51 -0
- package/dist/ast/go/queries.d.ts.map +1 -0
- package/dist/ast/go/queries.js +114 -0
- package/dist/ast/go/utils.d.ts +66 -0
- package/dist/ast/go/utils.d.ts.map +1 -0
- package/dist/ast/go/utils.js +140 -0
- package/dist/ast/index.d.ts +39 -0
- package/dist/ast/index.d.ts.map +1 -0
- package/dist/ast/index.js +245 -0
- package/dist/ast/php/index.d.ts +9 -0
- package/dist/ast/php/index.d.ts.map +1 -0
- package/dist/ast/php/index.js +8 -0
- package/dist/ast/php/parser.d.ts +31 -0
- package/dist/ast/php/parser.d.ts.map +1 -0
- package/dist/ast/php/parser.js +388 -0
- package/dist/ast/php/parser.test.d.ts +5 -0
- package/dist/ast/php/parser.test.d.ts.map +1 -0
- package/dist/ast/php/parser.test.js +328 -0
- package/dist/ast/php/queries.d.ts +61 -0
- package/dist/ast/php/queries.d.ts.map +1 -0
- package/dist/ast/php/queries.js +117 -0
- package/dist/ast/php/utils.d.ts +83 -0
- package/dist/ast/php/utils.d.ts.map +1 -0
- package/dist/ast/php/utils.js +246 -0
- package/dist/ast/python/index.d.ts +9 -0
- package/dist/ast/python/index.d.ts.map +1 -0
- package/dist/ast/python/index.js +8 -0
- package/dist/ast/python/parser.d.ts +32 -0
- package/dist/ast/python/parser.d.ts.map +1 -0
- package/dist/ast/python/parser.js +422 -0
- package/dist/ast/python/parser.test.d.ts +5 -0
- package/dist/ast/python/parser.test.d.ts.map +1 -0
- package/dist/ast/python/parser.test.js +186 -0
- package/dist/ast/python/queries.d.ts +73 -0
- package/dist/ast/python/queries.d.ts.map +1 -0
- package/dist/ast/python/queries.js +137 -0
- package/dist/ast/python/utils.d.ts +63 -0
- package/dist/ast/python/utils.d.ts.map +1 -0
- package/dist/ast/python/utils.js +159 -0
- package/dist/ast/quick-scan.d.ts +40 -0
- package/dist/ast/quick-scan.d.ts.map +1 -0
- package/dist/ast/quick-scan.js +287 -0
- package/dist/ast/rust/index.d.ts +9 -0
- package/dist/ast/rust/index.d.ts.map +1 -0
- package/dist/ast/rust/index.js +8 -0
- package/dist/ast/rust/parser.d.ts +31 -0
- package/dist/ast/rust/parser.d.ts.map +1 -0
- package/dist/ast/rust/parser.js +416 -0
- package/dist/ast/rust/parser.test.d.ts +5 -0
- package/dist/ast/rust/parser.test.d.ts.map +1 -0
- package/dist/ast/rust/parser.test.js +329 -0
- package/dist/ast/rust/queries.d.ts +66 -0
- package/dist/ast/rust/queries.d.ts.map +1 -0
- package/dist/ast/rust/queries.js +132 -0
- package/dist/ast/rust/utils.d.ts +91 -0
- package/dist/ast/rust/utils.d.ts.map +1 -0
- package/dist/ast/rust/utils.js +254 -0
- package/dist/ast/swift/index.d.ts +10 -0
- package/dist/ast/swift/index.d.ts.map +1 -0
- package/dist/ast/swift/index.js +8 -0
- package/dist/ast/swift/parser.d.ts +31 -0
- package/dist/ast/swift/parser.d.ts.map +1 -0
- package/dist/ast/swift/parser.js +554 -0
- package/dist/ast/swift/parser.test.d.ts +5 -0
- package/dist/ast/swift/parser.test.d.ts.map +1 -0
- package/dist/ast/swift/parser.test.js +398 -0
- package/dist/ast/swift/queries.d.ts +71 -0
- package/dist/ast/swift/queries.d.ts.map +1 -0
- package/dist/ast/swift/queries.js +137 -0
- package/dist/ast/swift/utils.d.ts +94 -0
- package/dist/ast/swift/utils.d.ts.map +1 -0
- package/dist/ast/swift/utils.js +411 -0
- package/dist/ast/types.d.ts +96 -0
- package/dist/ast/types.d.ts.map +1 -0
- package/dist/ast/types.js +21 -0
- package/dist/ast/typescript.d.ts +24 -0
- package/dist/ast/typescript.d.ts.map +1 -0
- package/dist/ast/typescript.js +357 -0
- package/dist/cache/file-hash.d.ts +33 -0
- package/dist/cache/file-hash.d.ts.map +1 -0
- package/dist/cache/file-hash.js +59 -0
- package/dist/cache/index.d.ts +9 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +8 -0
- package/dist/cache/smart-cache.d.ts +68 -0
- package/dist/cache/smart-cache.d.ts.map +1 -0
- package/dist/cache/smart-cache.js +266 -0
- package/dist/cache/types.d.ts +102 -0
- package/dist/cache/types.d.ts.map +1 -0
- package/dist/cache/types.js +6 -0
- package/dist/cli/analyze.d.ts +43 -0
- package/dist/cli/analyze.d.ts.map +1 -0
- package/dist/cli/analyze.js +250 -0
- package/dist/cli/doctor.d.ts +2 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/doctor.js +127 -0
- package/dist/cli/hooks.d.ts +14 -0
- package/dist/cli/hooks.d.ts.map +1 -0
- package/dist/cli/hooks.js +229 -0
- package/dist/cli/index.d.ts +5 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +4 -0
- package/dist/cli/setup.d.ts +10 -0
- package/dist/cli/setup.d.ts.map +1 -0
- package/dist/cli/setup.js +117 -0
- package/dist/cli/utils.d.ts +30 -0
- package/dist/cli/utils.d.ts.map +1 -0
- package/dist/cli/utils.js +116 -0
- package/dist/compressors/config.d.ts +9 -0
- package/dist/compressors/config.d.ts.map +1 -0
- package/dist/compressors/config.js +183 -0
- package/dist/compressors/conversation.d.ts +109 -0
- package/dist/compressors/conversation.d.ts.map +1 -0
- package/dist/compressors/conversation.js +404 -0
- package/dist/compressors/diff.d.ts +35 -0
- package/dist/compressors/diff.d.ts.map +1 -0
- package/dist/compressors/diff.js +389 -0
- package/dist/compressors/generic.d.ts +9 -0
- package/dist/compressors/generic.d.ts.map +1 -0
- package/dist/compressors/generic.js +188 -0
- package/dist/compressors/index.d.ts +31 -0
- package/dist/compressors/index.d.ts.map +1 -0
- package/dist/compressors/index.js +82 -0
- package/dist/compressors/logs.d.ts +9 -0
- package/dist/compressors/logs.d.ts.map +1 -0
- package/dist/compressors/logs.js +245 -0
- package/dist/compressors/multifile.d.ts +106 -0
- package/dist/compressors/multifile.d.ts.map +1 -0
- package/dist/compressors/multifile.js +498 -0
- package/dist/compressors/semantic.d.ts +33 -0
- package/dist/compressors/semantic.d.ts.map +1 -0
- package/dist/compressors/semantic.js +233 -0
- package/dist/compressors/stacktrace.d.ts +9 -0
- package/dist/compressors/stacktrace.d.ts.map +1 -0
- package/dist/compressors/stacktrace.js +259 -0
- package/dist/compressors/types.d.ts +146 -0
- package/dist/compressors/types.d.ts.map +1 -0
- package/dist/compressors/types.js +6 -0
- package/dist/config/output-config.d.ts +56 -0
- package/dist/config/output-config.d.ts.map +1 -0
- package/dist/config/output-config.js +78 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +27 -0
- package/dist/middleware/chain.d.ts +49 -0
- package/dist/middleware/chain.d.ts.map +1 -0
- package/dist/middleware/chain.js +126 -0
- package/dist/middleware/index.d.ts +4 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +3 -0
- package/dist/middleware/logging.d.ts +8 -0
- package/dist/middleware/logging.d.ts.map +1 -0
- package/dist/middleware/logging.js +71 -0
- package/dist/middleware/types.d.ts +58 -0
- package/dist/middleware/types.d.ts.map +1 -0
- package/dist/middleware/types.js +7 -0
- package/dist/parsers/eslint.d.ts +8 -0
- package/dist/parsers/eslint.d.ts.map +1 -0
- package/dist/parsers/eslint.js +132 -0
- package/dist/parsers/generic.d.ts +8 -0
- package/dist/parsers/generic.d.ts.map +1 -0
- package/dist/parsers/generic.js +234 -0
- package/dist/parsers/index.d.ts +34 -0
- package/dist/parsers/index.d.ts.map +1 -0
- package/dist/parsers/index.js +216 -0
- package/dist/parsers/types.d.ts +84 -0
- package/dist/parsers/types.d.ts.map +1 -0
- package/dist/parsers/types.js +6 -0
- package/dist/parsers/typescript.d.ts +8 -0
- package/dist/parsers/typescript.d.ts.map +1 -0
- package/dist/parsers/typescript.js +107 -0
- package/dist/pipelines/definitions.d.ts +50 -0
- package/dist/pipelines/definitions.d.ts.map +1 -0
- package/dist/pipelines/definitions.js +206 -0
- package/dist/sandbox/executor.d.ts +12 -0
- package/dist/sandbox/executor.d.ts.map +1 -0
- package/dist/sandbox/executor.js +191 -0
- package/dist/sandbox/index.d.ts +11 -0
- package/dist/sandbox/index.d.ts.map +1 -0
- package/dist/sandbox/index.js +9 -0
- package/dist/sandbox/sandbox.test.d.ts +7 -0
- package/dist/sandbox/sandbox.test.d.ts.map +1 -0
- package/dist/sandbox/sandbox.test.js +202 -0
- package/dist/sandbox/sdk/analyze.d.ts +36 -0
- package/dist/sandbox/sdk/analyze.d.ts.map +1 -0
- package/dist/sandbox/sdk/analyze.js +413 -0
- package/dist/sandbox/sdk/analyze.test.d.ts +7 -0
- package/dist/sandbox/sdk/analyze.test.d.ts.map +1 -0
- package/dist/sandbox/sdk/analyze.test.js +191 -0
- package/dist/sandbox/sdk/code.d.ts +20 -0
- package/dist/sandbox/sdk/code.d.ts.map +1 -0
- package/dist/sandbox/sdk/code.js +104 -0
- package/dist/sandbox/sdk/compress.d.ts +23 -0
- package/dist/sandbox/sdk/compress.d.ts.map +1 -0
- package/dist/sandbox/sdk/compress.js +107 -0
- package/dist/sandbox/sdk/conversation.d.ts +148 -0
- package/dist/sandbox/sdk/conversation.d.ts.map +1 -0
- package/dist/sandbox/sdk/conversation.js +177 -0
- package/dist/sandbox/sdk/files.d.ts +29 -0
- package/dist/sandbox/sdk/files.d.ts.map +1 -0
- package/dist/sandbox/sdk/files.js +41 -0
- package/dist/sandbox/sdk/git.d.ts +37 -0
- package/dist/sandbox/sdk/git.d.ts.map +1 -0
- package/dist/sandbox/sdk/git.js +313 -0
- package/dist/sandbox/sdk/git.test.d.ts +8 -0
- package/dist/sandbox/sdk/git.test.d.ts.map +1 -0
- package/dist/sandbox/sdk/git.test.js +160 -0
- package/dist/sandbox/sdk/index.d.ts +16 -0
- package/dist/sandbox/sdk/index.d.ts.map +1 -0
- package/dist/sandbox/sdk/index.js +15 -0
- package/dist/sandbox/sdk/multifile.d.ts +63 -0
- package/dist/sandbox/sdk/multifile.d.ts.map +1 -0
- package/dist/sandbox/sdk/multifile.js +130 -0
- package/dist/sandbox/sdk/pipeline.d.ts +16 -0
- package/dist/sandbox/sdk/pipeline.d.ts.map +1 -0
- package/dist/sandbox/sdk/pipeline.js +454 -0
- package/dist/sandbox/sdk/pipeline.test.d.ts +7 -0
- package/dist/sandbox/sdk/pipeline.test.d.ts.map +1 -0
- package/dist/sandbox/sdk/pipeline.test.js +197 -0
- package/dist/sandbox/sdk/search.d.ts +36 -0
- package/dist/sandbox/sdk/search.d.ts.map +1 -0
- package/dist/sandbox/sdk/search.js +338 -0
- package/dist/sandbox/sdk/search.test.d.ts +7 -0
- package/dist/sandbox/sdk/search.test.d.ts.map +1 -0
- package/dist/sandbox/sdk/search.test.js +183 -0
- package/dist/sandbox/sdk/utils.d.ts +18 -0
- package/dist/sandbox/sdk/utils.d.ts.map +1 -0
- package/dist/sandbox/sdk/utils.js +24 -0
- package/dist/sandbox/security/code-analyzer.d.ts +15 -0
- package/dist/sandbox/security/code-analyzer.d.ts.map +1 -0
- package/dist/sandbox/security/code-analyzer.js +87 -0
- package/dist/sandbox/security/index.d.ts +6 -0
- package/dist/sandbox/security/index.d.ts.map +1 -0
- package/dist/sandbox/security/index.js +5 -0
- package/dist/sandbox/security/path-validator.d.ts +23 -0
- package/dist/sandbox/security/path-validator.d.ts.map +1 -0
- package/dist/sandbox/security/path-validator.js +113 -0
- package/dist/sandbox/types.d.ts +577 -0
- package/dist/sandbox/types.d.ts.map +1 -0
- package/dist/sandbox/types.js +14 -0
- package/dist/server.d.ts +36 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +133 -0
- package/dist/summarizers/build-logs.d.ts +11 -0
- package/dist/summarizers/build-logs.d.ts.map +1 -0
- package/dist/summarizers/build-logs.js +234 -0
- package/dist/summarizers/generic.d.ts +11 -0
- package/dist/summarizers/generic.d.ts.map +1 -0
- package/dist/summarizers/generic.js +93 -0
- package/dist/summarizers/index.d.ts +20 -0
- package/dist/summarizers/index.d.ts.map +1 -0
- package/dist/summarizers/index.js +43 -0
- package/dist/summarizers/server-logs.d.ts +11 -0
- package/dist/summarizers/server-logs.d.ts.map +1 -0
- package/dist/summarizers/server-logs.js +215 -0
- package/dist/summarizers/test-logs.d.ts +11 -0
- package/dist/summarizers/test-logs.d.ts.map +1 -0
- package/dist/summarizers/test-logs.js +258 -0
- package/dist/summarizers/types.d.ts +146 -0
- package/dist/summarizers/types.d.ts.map +1 -0
- package/dist/summarizers/types.js +21 -0
- package/dist/tools/analyze-build-output.d.ts +30 -0
- package/dist/tools/analyze-build-output.d.ts.map +1 -0
- package/dist/tools/analyze-build-output.js +45 -0
- package/dist/tools/analyze-context.d.ts +23 -0
- package/dist/tools/analyze-context.d.ts.map +1 -0
- package/dist/tools/analyze-context.js +78 -0
- package/dist/tools/auto-optimize.d.ts +9 -0
- package/dist/tools/auto-optimize.d.ts.map +1 -0
- package/dist/tools/auto-optimize.js +191 -0
- package/dist/tools/code-execute.d.ts +9 -0
- package/dist/tools/code-execute.d.ts.map +1 -0
- package/dist/tools/code-execute.js +84 -0
- package/dist/tools/code-skeleton.d.ts +33 -0
- package/dist/tools/code-skeleton.d.ts.map +1 -0
- package/dist/tools/code-skeleton.js +206 -0
- package/dist/tools/compress-context.d.ts +33 -0
- package/dist/tools/compress-context.d.ts.map +1 -0
- package/dist/tools/compress-context.js +64 -0
- package/dist/tools/context-budget.d.ts +43 -0
- package/dist/tools/context-budget.d.ts.map +1 -0
- package/dist/tools/context-budget.js +260 -0
- package/dist/tools/context-budget.test.d.ts +5 -0
- package/dist/tools/context-budget.test.d.ts.map +1 -0
- package/dist/tools/context-budget.test.js +219 -0
- package/dist/tools/conversation-compress.d.ts +46 -0
- package/dist/tools/conversation-compress.d.ts.map +1 -0
- package/dist/tools/conversation-compress.js +78 -0
- package/dist/tools/conversation-memory.d.ts +75 -0
- package/dist/tools/conversation-memory.d.ts.map +1 -0
- package/dist/tools/conversation-memory.js +289 -0
- package/dist/tools/deduplicate-errors.d.ts +30 -0
- package/dist/tools/deduplicate-errors.d.ts.map +1 -0
- package/dist/tools/deduplicate-errors.js +72 -0
- package/dist/tools/detect-retry-loop.d.ts +40 -0
- package/dist/tools/detect-retry-loop.d.ts.map +1 -0
- package/dist/tools/detect-retry-loop.js +212 -0
- package/dist/tools/diff-compress.d.ts +40 -0
- package/dist/tools/diff-compress.d.ts.map +1 -0
- package/dist/tools/diff-compress.js +94 -0
- package/dist/tools/discover-tools.d.ts +11 -0
- package/dist/tools/discover-tools.d.ts.map +1 -0
- package/dist/tools/discover-tools.js +163 -0
- package/dist/tools/dynamic-loader.d.ts +131 -0
- package/dist/tools/dynamic-loader.d.ts.map +1 -0
- package/dist/tools/dynamic-loader.js +378 -0
- package/dist/tools/dynamic-loader.test.d.ts +10 -0
- package/dist/tools/dynamic-loader.test.d.ts.map +1 -0
- package/dist/tools/dynamic-loader.test.js +164 -0
- package/dist/tools/lazy-mcp.d.ts +31 -0
- package/dist/tools/lazy-mcp.d.ts.map +1 -0
- package/dist/tools/lazy-mcp.js +151 -0
- package/dist/tools/lazy-mcp.test.d.ts +10 -0
- package/dist/tools/lazy-mcp.test.d.ts.map +1 -0
- package/dist/tools/lazy-mcp.test.js +172 -0
- package/dist/tools/multifile-compress.d.ts +36 -0
- package/dist/tools/multifile-compress.d.ts.map +1 -0
- package/dist/tools/multifile-compress.js +223 -0
- package/dist/tools/optimization-tips.d.ts +18 -0
- package/dist/tools/optimization-tips.d.ts.map +1 -0
- package/dist/tools/optimization-tips.js +133 -0
- package/dist/tools/registry.d.ts +70 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +169 -0
- package/dist/tools/semantic-compress.d.ts +39 -0
- package/dist/tools/semantic-compress.d.ts.map +1 -0
- package/dist/tools/semantic-compress.js +113 -0
- package/dist/tools/semantic-compress.test.d.ts +5 -0
- package/dist/tools/semantic-compress.test.d.ts.map +1 -0
- package/dist/tools/semantic-compress.test.js +182 -0
- package/dist/tools/session-stats.d.ts +34 -0
- package/dist/tools/session-stats.d.ts.map +1 -0
- package/dist/tools/session-stats.js +194 -0
- package/dist/tools/set-output-config.d.ts +38 -0
- package/dist/tools/set-output-config.d.ts.map +1 -0
- package/dist/tools/set-output-config.js +122 -0
- package/dist/tools/smart-cache-tool.d.ts +38 -0
- package/dist/tools/smart-cache-tool.d.ts.map +1 -0
- package/dist/tools/smart-cache-tool.js +224 -0
- package/dist/tools/smart-file-read.d.ts +52 -0
- package/dist/tools/smart-file-read.d.ts.map +1 -0
- package/dist/tools/smart-file-read.js +481 -0
- package/dist/tools/smart-pipeline.d.ts +40 -0
- package/dist/tools/smart-pipeline.d.ts.map +1 -0
- package/dist/tools/smart-pipeline.js +295 -0
- package/dist/tools/summarize-logs.d.ts +36 -0
- package/dist/tools/summarize-logs.d.ts.map +1 -0
- package/dist/tools/summarize-logs.js +184 -0
- package/dist/tools/token-budget.test.d.ts +11 -0
- package/dist/tools/token-budget.test.d.ts.map +1 -0
- package/dist/tools/token-budget.test.js +275 -0
- package/dist/utils/bm25.d.ts +86 -0
- package/dist/utils/bm25.d.ts.map +1 -0
- package/dist/utils/bm25.js +153 -0
- package/dist/utils/bm25.test.d.ts +5 -0
- package/dist/utils/bm25.test.d.ts.map +1 -0
- package/dist/utils/bm25.test.js +156 -0
- package/dist/utils/command-normalizer.d.ts +39 -0
- package/dist/utils/command-normalizer.d.ts.map +1 -0
- package/dist/utils/command-normalizer.js +90 -0
- package/dist/utils/content-detector.d.ts +27 -0
- package/dist/utils/content-detector.d.ts.map +1 -0
- package/dist/utils/content-detector.js +127 -0
- package/dist/utils/embeddings.d.ts +54 -0
- package/dist/utils/embeddings.d.ts.map +1 -0
- package/dist/utils/embeddings.js +97 -0
- package/dist/utils/embeddings.test.d.ts +8 -0
- package/dist/utils/embeddings.test.d.ts.map +1 -0
- package/dist/utils/embeddings.test.js +96 -0
- package/dist/utils/error-normalizer.d.ts +39 -0
- package/dist/utils/error-normalizer.d.ts.map +1 -0
- package/dist/utils/error-normalizer.js +233 -0
- package/dist/utils/hybrid-search.d.ts +79 -0
- package/dist/utils/hybrid-search.d.ts.map +1 -0
- package/dist/utils/hybrid-search.js +146 -0
- package/dist/utils/hybrid-search.test.d.ts +5 -0
- package/dist/utils/hybrid-search.test.d.ts.map +1 -0
- package/dist/utils/hybrid-search.test.js +172 -0
- package/dist/utils/index.d.ts +13 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +12 -0
- package/dist/utils/language-detector.d.ts +27 -0
- package/dist/utils/language-detector.d.ts.map +1 -0
- package/dist/utils/language-detector.js +94 -0
- package/dist/utils/log-parser.d.ts +46 -0
- package/dist/utils/log-parser.d.ts.map +1 -0
- package/dist/utils/log-parser.js +287 -0
- package/dist/utils/output-estimator.d.ts +54 -0
- package/dist/utils/output-estimator.d.ts.map +1 -0
- package/dist/utils/output-estimator.js +119 -0
- package/dist/utils/output-estimator.test.d.ts +5 -0
- package/dist/utils/output-estimator.test.d.ts.map +1 -0
- package/dist/utils/output-estimator.test.js +115 -0
- package/dist/utils/output-similarity.d.ts +48 -0
- package/dist/utils/output-similarity.d.ts.map +1 -0
- package/dist/utils/output-similarity.js +140 -0
- package/dist/utils/project-detector.d.ts +16 -0
- package/dist/utils/project-detector.d.ts.map +1 -0
- package/dist/utils/project-detector.js +119 -0
- package/dist/utils/segment-scorer.d.ts +99 -0
- package/dist/utils/segment-scorer.d.ts.map +1 -0
- package/dist/utils/segment-scorer.js +148 -0
- package/dist/utils/signature-grouper.d.ts +58 -0
- package/dist/utils/signature-grouper.d.ts.map +1 -0
- package/dist/utils/signature-grouper.js +185 -0
- package/dist/utils/tfidf.d.ts +45 -0
- package/dist/utils/tfidf.d.ts.map +1 -0
- package/dist/utils/tfidf.js +204 -0
- package/dist/utils/tfidf.test.d.ts +5 -0
- package/dist/utils/tfidf.test.d.ts.map +1 -0
- package/dist/utils/tfidf.test.js +115 -0
- package/dist/utils/token-counter.d.ts +35 -0
- package/dist/utils/token-counter.d.ts.map +1 -0
- package/dist/utils/token-counter.js +83 -0
- package/dist/utils/toon-serializer.d.ts +120 -0
- package/dist/utils/toon-serializer.d.ts.map +1 -0
- package/dist/utils/toon-serializer.js +472 -0
- package/dist/utils/toon-serializer.test.d.ts +7 -0
- package/dist/utils/toon-serializer.test.d.ts.map +1 -0
- package/dist/utils/toon-serializer.test.js +290 -0
- package/package.json +63 -0
- package/scripts/install.ps1 +133 -0
- package/scripts/install.sh +183 -0
- package/scripts/pre-commit-hook.sh +86 -0
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conversation Compressor
|
|
3
|
+
*
|
|
4
|
+
* Compresses conversation history using different strategies
|
|
5
|
+
* to reduce tokens while preserving key information.
|
|
6
|
+
*/
|
|
7
|
+
import { countTokens } from "../utils/token-counter.js";
|
|
8
|
+
/**
|
|
9
|
+
* Extract key points from messages using heuristics
|
|
10
|
+
*
|
|
11
|
+
* Looks for:
|
|
12
|
+
* - Decisions and conclusions
|
|
13
|
+
* - Code references (backticks)
|
|
14
|
+
* - Numbered and bullet lists
|
|
15
|
+
* - File paths and URLs
|
|
16
|
+
* - Important keywords
|
|
17
|
+
*/
|
|
18
|
+
function extractKeyPoints(messages) {
|
|
19
|
+
const keyPoints = [];
|
|
20
|
+
// Keywords that indicate important information
|
|
21
|
+
const importantPatterns = [
|
|
22
|
+
/\bdecided\b/i,
|
|
23
|
+
/\bwill use\b/i,
|
|
24
|
+
/\bshould\b/i,
|
|
25
|
+
/\bmust\b/i,
|
|
26
|
+
/\bimportant\b/i,
|
|
27
|
+
/\bcritical\b/i,
|
|
28
|
+
/\brequired\b/i,
|
|
29
|
+
/\bimplemented\b/i,
|
|
30
|
+
/\bcreated\b/i,
|
|
31
|
+
/\bfixed\b/i,
|
|
32
|
+
/\bupdated\b/i,
|
|
33
|
+
];
|
|
34
|
+
for (const msg of messages) {
|
|
35
|
+
const lines = msg.content.split("\n");
|
|
36
|
+
for (const line of lines) {
|
|
37
|
+
const trimmed = line.trim();
|
|
38
|
+
// Skip empty or very short lines
|
|
39
|
+
if (trimmed.length < 10)
|
|
40
|
+
continue;
|
|
41
|
+
// Skip very long lines (likely code blocks)
|
|
42
|
+
if (trimmed.length > 300)
|
|
43
|
+
continue;
|
|
44
|
+
// Check for important patterns
|
|
45
|
+
const isImportant = importantPatterns.some((p) => p.test(trimmed)) ||
|
|
46
|
+
/`[^`]+`/.test(trimmed) || // Code references
|
|
47
|
+
/^\d+\./.test(trimmed) || // Numbered lists
|
|
48
|
+
/^[-*]\s/.test(trimmed) || // Bullet points
|
|
49
|
+
/\.(ts|js|py|go|rs|tsx|jsx)\b/.test(trimmed) || // File extensions
|
|
50
|
+
/https?:\/\//.test(trimmed); // URLs
|
|
51
|
+
if (isImportant) {
|
|
52
|
+
// Clean up the line
|
|
53
|
+
let cleaned = trimmed;
|
|
54
|
+
// Remove markdown formatting
|
|
55
|
+
cleaned = cleaned.replace(/^\s*[-*]\s*/, "");
|
|
56
|
+
cleaned = cleaned.replace(/^\d+\.\s*/, "");
|
|
57
|
+
cleaned = cleaned.replace(/\*\*/g, "");
|
|
58
|
+
if (cleaned.length > 10 && cleaned.length < 200) {
|
|
59
|
+
keyPoints.push(cleaned);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// Deduplicate and limit to 15 most relevant
|
|
65
|
+
const unique = [...new Set(keyPoints)];
|
|
66
|
+
return unique.slice(0, 15);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Create a rolling summary of messages
|
|
70
|
+
*
|
|
71
|
+
* Groups messages by role and creates a concise summary
|
|
72
|
+
* of what was discussed and what actions were taken.
|
|
73
|
+
*/
|
|
74
|
+
function createRollingSummary(messages) {
|
|
75
|
+
const userTopics = [];
|
|
76
|
+
const assistantActions = [];
|
|
77
|
+
const codeFiles = new Set();
|
|
78
|
+
for (const msg of messages) {
|
|
79
|
+
// Extract first meaningful line as topic
|
|
80
|
+
const lines = msg.content.split("\n").filter((l) => l.trim().length > 0);
|
|
81
|
+
const firstLine = lines[0]?.slice(0, 150) || "";
|
|
82
|
+
if (msg.role === "user") {
|
|
83
|
+
// User messages are typically questions or requests
|
|
84
|
+
if (firstLine.length > 10) {
|
|
85
|
+
userTopics.push(firstLine);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else if (msg.role === "assistant") {
|
|
89
|
+
// Look for action patterns in assistant messages
|
|
90
|
+
const actionPatterns = [
|
|
91
|
+
/^(I |I'll |I've |Let me |I'm going to |I will )/i,
|
|
92
|
+
/^(Created|Updated|Fixed|Implemented|Added|Removed)/i,
|
|
93
|
+
];
|
|
94
|
+
if (actionPatterns.some((p) => p.test(firstLine))) {
|
|
95
|
+
assistantActions.push(firstLine);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// Extract file references from all messages
|
|
99
|
+
const fileMatches = msg.content.match(/[a-zA-Z0-9_\-./]+\.(ts|js|tsx|jsx|py|go|rs|json|yaml|md)\b/g);
|
|
100
|
+
if (fileMatches) {
|
|
101
|
+
fileMatches.slice(0, 5).forEach((f) => codeFiles.add(f));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
// Build summary
|
|
105
|
+
const parts = [];
|
|
106
|
+
if (userTopics.length > 0) {
|
|
107
|
+
const topics = userTopics.slice(0, 3).join("; ");
|
|
108
|
+
parts.push(`User discussed: ${topics}`);
|
|
109
|
+
}
|
|
110
|
+
if (assistantActions.length > 0) {
|
|
111
|
+
const actions = assistantActions.slice(0, 3).join("; ");
|
|
112
|
+
parts.push(`Assistant: ${actions}`);
|
|
113
|
+
}
|
|
114
|
+
if (codeFiles.size > 0) {
|
|
115
|
+
const files = [...codeFiles].slice(0, 5).join(", ");
|
|
116
|
+
parts.push(`Files mentioned: ${files}`);
|
|
117
|
+
}
|
|
118
|
+
return parts.join(". ") || "Previous conversation context.";
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Compress conversation messages
|
|
122
|
+
*/
|
|
123
|
+
export function compressConversation(messages, options) {
|
|
124
|
+
const preserveSystem = options.preserveSystem ?? true;
|
|
125
|
+
const preserveLastN = options.preserveLastN ?? 2;
|
|
126
|
+
// Handle edge cases
|
|
127
|
+
if (messages.length === 0) {
|
|
128
|
+
return {
|
|
129
|
+
compressedMessages: [],
|
|
130
|
+
originalTokens: 0,
|
|
131
|
+
compressedTokens: 0,
|
|
132
|
+
savings: 0,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
// Calculate original tokens
|
|
136
|
+
const originalTokens = messages.reduce((sum, m) => sum + countTokens(m.content), 0);
|
|
137
|
+
// Separate messages into categories
|
|
138
|
+
const systemMessages = preserveSystem
|
|
139
|
+
? messages.filter((m) => m.role === "system")
|
|
140
|
+
: [];
|
|
141
|
+
// Handle case where preserveLastN >= message count
|
|
142
|
+
const effectivePreserveN = Math.min(preserveLastN, messages.length);
|
|
143
|
+
const lastNMessages = effectivePreserveN > 0 ? messages.slice(-effectivePreserveN) : [];
|
|
144
|
+
// Messages to compress (excluding system and last N)
|
|
145
|
+
const toCompress = messages
|
|
146
|
+
.slice(0, messages.length - effectivePreserveN)
|
|
147
|
+
.filter((m) => !preserveSystem || m.role !== "system");
|
|
148
|
+
// If nothing to compress, return original
|
|
149
|
+
if (toCompress.length === 0) {
|
|
150
|
+
return {
|
|
151
|
+
compressedMessages: messages,
|
|
152
|
+
originalTokens,
|
|
153
|
+
compressedTokens: originalTokens,
|
|
154
|
+
savings: 0,
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
// Apply compression strategy
|
|
158
|
+
let summary;
|
|
159
|
+
let keyPoints;
|
|
160
|
+
let contextMessage;
|
|
161
|
+
switch (options.strategy) {
|
|
162
|
+
case "rolling-summary":
|
|
163
|
+
summary = createRollingSummary(toCompress);
|
|
164
|
+
contextMessage = {
|
|
165
|
+
role: "system",
|
|
166
|
+
content: `[Previous conversation summary]\n${summary}`,
|
|
167
|
+
};
|
|
168
|
+
break;
|
|
169
|
+
case "key-extraction":
|
|
170
|
+
keyPoints = extractKeyPoints(toCompress);
|
|
171
|
+
if (keyPoints.length === 0) {
|
|
172
|
+
// Fallback to summary if no key points found
|
|
173
|
+
summary = createRollingSummary(toCompress);
|
|
174
|
+
contextMessage = {
|
|
175
|
+
role: "system",
|
|
176
|
+
content: `[Previous conversation context]\n${summary}`,
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
contextMessage = {
|
|
181
|
+
role: "system",
|
|
182
|
+
content: `[Key points from conversation]\n${keyPoints.map((p) => `- ${p}`).join("\n")}`,
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
break;
|
|
186
|
+
case "hybrid":
|
|
187
|
+
summary = createRollingSummary(toCompress);
|
|
188
|
+
keyPoints = extractKeyPoints(toCompress);
|
|
189
|
+
const keyPointsSection = keyPoints.length > 0
|
|
190
|
+
? `\n\nKey points:\n${keyPoints
|
|
191
|
+
.slice(0, 7)
|
|
192
|
+
.map((p) => `- ${p}`)
|
|
193
|
+
.join("\n")}`
|
|
194
|
+
: "";
|
|
195
|
+
contextMessage = {
|
|
196
|
+
role: "system",
|
|
197
|
+
content: `[Conversation context]\n${summary}${keyPointsSection}`,
|
|
198
|
+
};
|
|
199
|
+
break;
|
|
200
|
+
}
|
|
201
|
+
// Build compressed messages array
|
|
202
|
+
// Order: system messages, context message, last N messages
|
|
203
|
+
const compressedMessages = [
|
|
204
|
+
...systemMessages,
|
|
205
|
+
contextMessage,
|
|
206
|
+
...lastNMessages,
|
|
207
|
+
];
|
|
208
|
+
// Calculate compressed tokens
|
|
209
|
+
const compressedTokens = compressedMessages.reduce((sum, m) => sum + countTokens(m.content), 0);
|
|
210
|
+
// Calculate savings percentage
|
|
211
|
+
const savings = originalTokens > 0
|
|
212
|
+
? Math.round((1 - compressedTokens / originalTokens) * 100)
|
|
213
|
+
: 0;
|
|
214
|
+
return {
|
|
215
|
+
compressedMessages,
|
|
216
|
+
summary,
|
|
217
|
+
keyPoints,
|
|
218
|
+
originalTokens,
|
|
219
|
+
compressedTokens,
|
|
220
|
+
savings: Math.max(0, savings), // Ensure non-negative
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Extract decisions from messages with enhanced patterns
|
|
225
|
+
*/
|
|
226
|
+
export function extractDecisions(messages) {
|
|
227
|
+
const decisions = [];
|
|
228
|
+
const now = Date.now();
|
|
229
|
+
// Decision patterns
|
|
230
|
+
const decisionPatterns = [
|
|
231
|
+
// Direct decisions
|
|
232
|
+
/(?:decided|will|going to|let's|I'll|we'll|we should)\s+(.{10,150})/gi,
|
|
233
|
+
// Plans and approaches
|
|
234
|
+
/(?:the approach|the solution|the plan|strategy)\s+(?:is|will be)\s+(.{10,150})/gi,
|
|
235
|
+
// Requirements
|
|
236
|
+
/(?:we need to|must|should|have to)\s+(.{10,150})/gi,
|
|
237
|
+
// Completed actions
|
|
238
|
+
/(?:done|completed|finished|implemented|created|fixed|updated):\s*(.{10,150})/gi,
|
|
239
|
+
];
|
|
240
|
+
for (const msg of messages) {
|
|
241
|
+
if (msg.role === "system")
|
|
242
|
+
continue;
|
|
243
|
+
const lines = msg.content.split("\n");
|
|
244
|
+
for (const line of lines) {
|
|
245
|
+
const trimmed = line.trim();
|
|
246
|
+
if (trimmed.length < 15 || trimmed.length > 300)
|
|
247
|
+
continue;
|
|
248
|
+
for (const pattern of decisionPatterns) {
|
|
249
|
+
pattern.lastIndex = 0; // Reset regex state
|
|
250
|
+
const match = pattern.exec(trimmed);
|
|
251
|
+
if (match && match[1]) {
|
|
252
|
+
const decision = match[1].trim();
|
|
253
|
+
// Avoid duplicates
|
|
254
|
+
if (!decisions.some((d) => d.decision === decision)) {
|
|
255
|
+
decisions.push({
|
|
256
|
+
decision,
|
|
257
|
+
context: trimmed.slice(0, 200),
|
|
258
|
+
timestamp: now,
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
// Also check for numbered list items that look like decisions
|
|
264
|
+
if (/^\d+\.\s+/.test(trimmed)) {
|
|
265
|
+
const item = trimmed.replace(/^\d+\.\s+/, "").trim();
|
|
266
|
+
if (item.length > 15 &&
|
|
267
|
+
item.length < 200 &&
|
|
268
|
+
!decisions.some((d) => d.decision === item)) {
|
|
269
|
+
decisions.push({
|
|
270
|
+
decision: item,
|
|
271
|
+
context: trimmed,
|
|
272
|
+
timestamp: now,
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
// Limit to 20 most recent decisions
|
|
279
|
+
return decisions.slice(-20);
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Extract code references from messages
|
|
283
|
+
*/
|
|
284
|
+
export function extractCodeReferences(messages) {
|
|
285
|
+
const refs = [];
|
|
286
|
+
const seenFiles = new Set();
|
|
287
|
+
// File path pattern
|
|
288
|
+
const filePattern = /[a-zA-Z0-9_\-./]+\.(ts|js|tsx|jsx|py|go|rs|json|yaml|yml|md|css|scss|html)\b/g;
|
|
289
|
+
// Action patterns
|
|
290
|
+
const actionPatterns = [
|
|
291
|
+
{ pattern: /\b(created?|add(?:ed|ing)?|writ(?:e|ing|ten))\b/i, action: "created" },
|
|
292
|
+
{ pattern: /\b(modif(?:y|ied|ying)|updat(?:e|ed|ing)|chang(?:e|ed|ing)|edit(?:ed|ing)?)\b/i, action: "modified" },
|
|
293
|
+
{ pattern: /\b(delet(?:e|ed|ing)|remov(?:e|ed|ing))\b/i, action: "deleted" },
|
|
294
|
+
];
|
|
295
|
+
for (const msg of messages) {
|
|
296
|
+
const content = msg.content;
|
|
297
|
+
let match;
|
|
298
|
+
while ((match = filePattern.exec(content)) !== null) {
|
|
299
|
+
const file = match[0];
|
|
300
|
+
if (seenFiles.has(file))
|
|
301
|
+
continue;
|
|
302
|
+
seenFiles.add(file);
|
|
303
|
+
// Find surrounding context to determine action
|
|
304
|
+
const start = Math.max(0, match.index - 50);
|
|
305
|
+
const end = Math.min(content.length, match.index + file.length + 50);
|
|
306
|
+
const context = content.slice(start, end).toLowerCase();
|
|
307
|
+
let action = "discussed";
|
|
308
|
+
for (const { pattern, action: act } of actionPatterns) {
|
|
309
|
+
if (pattern.test(context)) {
|
|
310
|
+
action = act;
|
|
311
|
+
break;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
refs.push({ file, action });
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
// Limit to 30 most relevant
|
|
318
|
+
return refs.slice(0, 30);
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Create conversation memory from messages
|
|
322
|
+
*/
|
|
323
|
+
export function createMemory(messages, options) {
|
|
324
|
+
const summary = createRollingSummary(messages);
|
|
325
|
+
const decisions = extractDecisions(messages);
|
|
326
|
+
const codeReferences = extractCodeReferences(messages);
|
|
327
|
+
// Compress messages using hybrid strategy
|
|
328
|
+
const result = compressConversation(messages, {
|
|
329
|
+
...options,
|
|
330
|
+
strategy: "hybrid",
|
|
331
|
+
});
|
|
332
|
+
return {
|
|
333
|
+
summary,
|
|
334
|
+
decisions,
|
|
335
|
+
codeReferences,
|
|
336
|
+
compressedHistory: result.compressedMessages,
|
|
337
|
+
lastUpdated: Date.now(),
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Restore context from memory state
|
|
342
|
+
*/
|
|
343
|
+
export function restoreContext(memory, options = {}) {
|
|
344
|
+
const { includeSummary = true, recentMessages = 3, includeCodeRefs = true, includeDecisions = true, } = options;
|
|
345
|
+
const parts = [];
|
|
346
|
+
// Add summary
|
|
347
|
+
if (includeSummary && memory.summary) {
|
|
348
|
+
parts.push("[Previous Context]");
|
|
349
|
+
parts.push(memory.summary);
|
|
350
|
+
parts.push("");
|
|
351
|
+
}
|
|
352
|
+
// Add decisions
|
|
353
|
+
if (includeDecisions && memory.decisions.length > 0) {
|
|
354
|
+
parts.push("[Key Decisions]");
|
|
355
|
+
for (const decision of memory.decisions.slice(-10)) {
|
|
356
|
+
parts.push(`- ${decision.decision}`);
|
|
357
|
+
}
|
|
358
|
+
parts.push("");
|
|
359
|
+
}
|
|
360
|
+
// Add code references
|
|
361
|
+
if (includeCodeRefs && memory.codeReferences.length > 0) {
|
|
362
|
+
parts.push("[Code References]");
|
|
363
|
+
const byAction = new Map();
|
|
364
|
+
for (const ref of memory.codeReferences) {
|
|
365
|
+
if (!byAction.has(ref.action)) {
|
|
366
|
+
byAction.set(ref.action, []);
|
|
367
|
+
}
|
|
368
|
+
byAction.get(ref.action).push(ref.file);
|
|
369
|
+
}
|
|
370
|
+
for (const [action, files] of byAction) {
|
|
371
|
+
parts.push(`${action}: ${files.slice(0, 10).join(", ")}`);
|
|
372
|
+
}
|
|
373
|
+
parts.push("");
|
|
374
|
+
}
|
|
375
|
+
// Add recent messages
|
|
376
|
+
if (recentMessages > 0 && memory.compressedHistory.length > 0) {
|
|
377
|
+
parts.push("[Recent Messages]");
|
|
378
|
+
const recent = memory.compressedHistory.slice(-recentMessages);
|
|
379
|
+
for (const msg of recent) {
|
|
380
|
+
const preview = msg.content.slice(0, 200);
|
|
381
|
+
parts.push(`${msg.role}: ${preview}${msg.content.length > 200 ? "..." : ""}`);
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
return parts.join("\n");
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* Compress conversation and create memory result
|
|
388
|
+
*/
|
|
389
|
+
export function compressConversationWithMemory(messages, options) {
|
|
390
|
+
const originalTokens = messages.reduce((sum, m) => sum + countTokens(m.content), 0);
|
|
391
|
+
const memory = createMemory(messages, options);
|
|
392
|
+
const context = restoreContext(memory);
|
|
393
|
+
const compressedTokens = countTokens(context);
|
|
394
|
+
return {
|
|
395
|
+
context,
|
|
396
|
+
memory,
|
|
397
|
+
stats: {
|
|
398
|
+
originalTokens,
|
|
399
|
+
compressedTokens,
|
|
400
|
+
decisionsExtracted: memory.decisions.length,
|
|
401
|
+
codeRefsFound: memory.codeReferences.length,
|
|
402
|
+
},
|
|
403
|
+
};
|
|
404
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Diff Compressor
|
|
3
|
+
*
|
|
4
|
+
* Compresses git diff output to reduce tokens while preserving essential changes.
|
|
5
|
+
* Supports three strategies: hunks-only, summary, and semantic.
|
|
6
|
+
*/
|
|
7
|
+
import type { ParsedDiff, DiffCompressOptions, DiffCompressedResult } from "./types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Parse unified diff format into structured data
|
|
10
|
+
*
|
|
11
|
+
* Handles:
|
|
12
|
+
* - Standard unified diff (git diff, diff -u)
|
|
13
|
+
* - File headers: diff --git a/path b/path
|
|
14
|
+
* - Index lines: index abc123..def456 100644
|
|
15
|
+
* - --- / +++ file markers
|
|
16
|
+
* - @@ hunk headers
|
|
17
|
+
* - Context lines (space prefix)
|
|
18
|
+
* - Addition lines (+ prefix)
|
|
19
|
+
* - Deletion lines (- prefix)
|
|
20
|
+
* - Binary file indicators
|
|
21
|
+
* - Renamed files (similarity index)
|
|
22
|
+
*/
|
|
23
|
+
export declare function parseDiff(diff: string): ParsedDiff;
|
|
24
|
+
/**
|
|
25
|
+
* Compress a git diff using the specified strategy
|
|
26
|
+
*/
|
|
27
|
+
export declare function compressDiff(diff: string, options: DiffCompressOptions): DiffCompressedResult;
|
|
28
|
+
/**
|
|
29
|
+
* Diff compressor instance for use with tool system
|
|
30
|
+
*/
|
|
31
|
+
export declare const diffCompressor: {
|
|
32
|
+
name: string;
|
|
33
|
+
compress: typeof compressDiff;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=diff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/compressors/diff.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAGV,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAQpB;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CA6GlD;AA+PD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,mBAAmB,GAC3B,oBAAoB,CA4DtB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc;;;CAG1B,CAAC"}
|