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 @@
|
|
|
1
|
+
{"version":3,"file":"diff-compress.d.ts","sourceRoot":"","sources":["../../src/tools/diff-compress.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD;;GAEG;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;CAQ9B,CAAC;AAoCF;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC;IACT,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC,CA+CD;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAM9B,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Diff Compress Tool
|
|
3
|
+
*
|
|
4
|
+
* Compress git diff output to reduce tokens while preserving essential changes.
|
|
5
|
+
* Supports three strategies: hunks-only, summary, and semantic.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
import { compressDiff } from "../compressors/diff.js";
|
|
9
|
+
/**
|
|
10
|
+
* JSON Schema for MCP tool registration
|
|
11
|
+
*/
|
|
12
|
+
// Minimal schema
|
|
13
|
+
export const diffCompressSchema = {
|
|
14
|
+
type: "object",
|
|
15
|
+
properties: {
|
|
16
|
+
diff: { type: "string" },
|
|
17
|
+
strategy: { enum: ["hunks-only", "summary", "semantic"] },
|
|
18
|
+
maxTokens: { type: "number" },
|
|
19
|
+
},
|
|
20
|
+
required: ["diff", "strategy"],
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Zod schema for runtime input validation
|
|
24
|
+
*/
|
|
25
|
+
const inputSchema = z.object({
|
|
26
|
+
diff: z.string().min(1, "Diff content is required"),
|
|
27
|
+
strategy: z.enum(["hunks-only", "summary", "semantic"]),
|
|
28
|
+
maxTokens: z.number().positive().optional(),
|
|
29
|
+
});
|
|
30
|
+
/**
|
|
31
|
+
* Format the compression result - minimal header to save tokens
|
|
32
|
+
*/
|
|
33
|
+
function formatOutput(output, _strategy) {
|
|
34
|
+
const savingsPercent = output.originalTokens > 0
|
|
35
|
+
? Math.round(((output.originalTokens - output.compressedTokens) / output.originalTokens) * 100)
|
|
36
|
+
: 0;
|
|
37
|
+
const header = `[diff] ${output.filesChanged.length} files, +${output.additions}/-${output.deletions}, ${output.originalTokens}→${output.compressedTokens} tokens (-${savingsPercent}%)`;
|
|
38
|
+
return `${header}\n${output.compressed}`;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Execute diff compression
|
|
42
|
+
*/
|
|
43
|
+
export async function executeDiffCompress(args) {
|
|
44
|
+
// Validate input
|
|
45
|
+
const parseResult = inputSchema.safeParse(args);
|
|
46
|
+
if (!parseResult.success) {
|
|
47
|
+
return {
|
|
48
|
+
content: [
|
|
49
|
+
{
|
|
50
|
+
type: "text",
|
|
51
|
+
text: `Invalid input: ${parseResult.error.errors.map((e) => e.message).join(", ")}`,
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
isError: true,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
const input = parseResult.data;
|
|
58
|
+
// Compress diff
|
|
59
|
+
const result = compressDiff(input.diff, {
|
|
60
|
+
strategy: input.strategy,
|
|
61
|
+
maxTokens: input.maxTokens,
|
|
62
|
+
});
|
|
63
|
+
// Build output
|
|
64
|
+
const output = {
|
|
65
|
+
compressed: result.compressed,
|
|
66
|
+
filesChanged: result.filesChanged,
|
|
67
|
+
summary: result.summary,
|
|
68
|
+
additions: result.additions,
|
|
69
|
+
deletions: result.deletions,
|
|
70
|
+
originalTokens: result.stats.originalTokens,
|
|
71
|
+
compressedTokens: result.stats.compressedTokens,
|
|
72
|
+
};
|
|
73
|
+
// Update session state with tokens saved
|
|
74
|
+
const tokensSaved = output.originalTokens - output.compressedTokens;
|
|
75
|
+
if (tokensSaved > 0) {
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
content: [
|
|
79
|
+
{
|
|
80
|
+
type: "text",
|
|
81
|
+
text: formatOutput(output, input.strategy),
|
|
82
|
+
},
|
|
83
|
+
],
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Tool definition for MCP registration
|
|
88
|
+
*/
|
|
89
|
+
export const diffCompressTool = {
|
|
90
|
+
name: "diff_compress",
|
|
91
|
+
description: "Compress git diff. Strategies: hunks-only, summary, semantic.",
|
|
92
|
+
inputSchema: diffCompressSchema,
|
|
93
|
+
execute: executeDiffCompress,
|
|
94
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Discover Tools - Meta-tool for dynamic tool discovery
|
|
3
|
+
*
|
|
4
|
+
* Allows LLMs to discover and load available tools on-demand,
|
|
5
|
+
* reducing initial token consumption by ~80%.
|
|
6
|
+
*
|
|
7
|
+
* Supports TOON output format for additional ~40% token savings.
|
|
8
|
+
*/
|
|
9
|
+
import type { ToolDefinition } from "./registry.js";
|
|
10
|
+
export declare const discoverToolsTool: ToolDefinition;
|
|
11
|
+
//# sourceMappingURL=discover-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discover-tools.d.ts","sourceRoot":"","sources":["../../src/tools/discover-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAoMpD,eAAO,MAAM,iBAAiB,EAAE,cAK/B,CAAC"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Discover Tools - Meta-tool for dynamic tool discovery
|
|
3
|
+
*
|
|
4
|
+
* Allows LLMs to discover and load available tools on-demand,
|
|
5
|
+
* reducing initial token consumption by ~80%.
|
|
6
|
+
*
|
|
7
|
+
* Supports TOON output format for additional ~40% token savings.
|
|
8
|
+
*/
|
|
9
|
+
import { getDynamicLoader } from "./dynamic-loader.js";
|
|
10
|
+
import { serializeToolsToToon, serializeToolsToToonTabular, serializeMetadataToToon, serializeMetadataToToonTabular, compareTokens, } from "../utils/toon-serializer.js";
|
|
11
|
+
// Minimal schema - descriptions in tool description, not properties
|
|
12
|
+
const discoverToolsSchema = {
|
|
13
|
+
type: "object",
|
|
14
|
+
properties: {
|
|
15
|
+
query: { type: "string" },
|
|
16
|
+
category: { enum: ["compress", "analyze", "logs", "code", "pipeline"] },
|
|
17
|
+
load: { type: "boolean" },
|
|
18
|
+
format: { enum: ["list", "toon", "toon-tabular"] },
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
async function executeDiscoverTools(args) {
|
|
22
|
+
const { query, category, load = false, format = "list" } = args;
|
|
23
|
+
const loader = getDynamicLoader();
|
|
24
|
+
// Get matching tools metadata
|
|
25
|
+
let matches;
|
|
26
|
+
if (query) {
|
|
27
|
+
matches = loader.searchTools(query).map((t) => ({
|
|
28
|
+
name: t.name,
|
|
29
|
+
category: t.category,
|
|
30
|
+
description: t.description,
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
else if (category) {
|
|
34
|
+
matches = loader.getToolsByCategory(category).map((t) => ({
|
|
35
|
+
name: t.name,
|
|
36
|
+
category: t.category,
|
|
37
|
+
description: t.description,
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
// List all available tools
|
|
42
|
+
matches = loader.getAvailableTools();
|
|
43
|
+
}
|
|
44
|
+
// Load tools if requested
|
|
45
|
+
let loadedCount = 0;
|
|
46
|
+
if (load && matches.length > 0) {
|
|
47
|
+
const names = matches.map((m) => m.name);
|
|
48
|
+
const loaded = await loader.loadByNames(names);
|
|
49
|
+
loadedCount = loaded.length;
|
|
50
|
+
}
|
|
51
|
+
// Handle TOON format output
|
|
52
|
+
if (format === "toon" || format === "toon-tabular") {
|
|
53
|
+
return formatToonOutput(matches, format, load, loadedCount);
|
|
54
|
+
}
|
|
55
|
+
// Default list format
|
|
56
|
+
return formatListOutput(matches, loader, load, loadedCount);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Format output as TOON (Token-Oriented Object Notation)
|
|
60
|
+
*
|
|
61
|
+
* When load=false, uses lightweight metadata-only TOON (no schema loading).
|
|
62
|
+
* When load=true, loads full definitions and includes parameter info.
|
|
63
|
+
*/
|
|
64
|
+
async function formatToonOutput(matches, format, load, loadedCount) {
|
|
65
|
+
if (matches.length === 0) {
|
|
66
|
+
return {
|
|
67
|
+
content: [{ type: "text", text: "No tools found.\nCategories: compress|analyze|logs|code|pipeline" }],
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
const loader = getDynamicLoader();
|
|
71
|
+
let toonOutput;
|
|
72
|
+
let savingsNote;
|
|
73
|
+
if (load) {
|
|
74
|
+
// Load full tool definitions to get schemas for detailed TOON output
|
|
75
|
+
const toolDefs = await loader.loadByNames(matches.map((m) => m.name));
|
|
76
|
+
// Build category map
|
|
77
|
+
const categories = new Map();
|
|
78
|
+
for (const m of matches) {
|
|
79
|
+
categories.set(m.name, m.category);
|
|
80
|
+
}
|
|
81
|
+
// Serialize to full TOON with parameters
|
|
82
|
+
if (format === "toon-tabular") {
|
|
83
|
+
toonOutput = serializeToolsToToonTabular(toolDefs);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
toonOutput = serializeToolsToToon(toolDefs, {
|
|
87
|
+
groupByCategory: true,
|
|
88
|
+
categories,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
const stats = compareTokens(toolDefs);
|
|
92
|
+
savingsNote = `[tokens] json:${stats.json} → toon:${format === "toon-tabular" ? stats.toonTabular : stats.toon} (-${stats.savings}%)`;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
// Use lightweight metadata-only TOON (no loading required)
|
|
96
|
+
const metadata = matches.map((m) => ({
|
|
97
|
+
name: m.name,
|
|
98
|
+
category: m.category,
|
|
99
|
+
description: m.description,
|
|
100
|
+
}));
|
|
101
|
+
if (format === "toon-tabular") {
|
|
102
|
+
toonOutput = serializeMetadataToToonTabular(metadata);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
toonOutput = serializeMetadataToToon(metadata, { groupByCategory: true });
|
|
106
|
+
}
|
|
107
|
+
savingsNote = "[lazy] metadata only (use load:true for full schemas)";
|
|
108
|
+
}
|
|
109
|
+
const lines = [toonOutput, "", savingsNote];
|
|
110
|
+
if (load) {
|
|
111
|
+
lines.push(`[loaded] ${loadedCount} tools activated`);
|
|
112
|
+
}
|
|
113
|
+
return {
|
|
114
|
+
content: [{ type: "text", text: lines.join("\n") }],
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Format output as standard list
|
|
119
|
+
*/
|
|
120
|
+
function formatListOutput(matches, loader, load, loadedCount) {
|
|
121
|
+
const lines = [];
|
|
122
|
+
if (matches.length === 0) {
|
|
123
|
+
lines.push("No tools found matching your criteria.");
|
|
124
|
+
lines.push("");
|
|
125
|
+
lines.push("Available categories: compress, analyze, logs, code, pipeline");
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
// Group by category for better readability
|
|
129
|
+
const byCategory = new Map();
|
|
130
|
+
for (const tool of matches) {
|
|
131
|
+
const cat = tool.category;
|
|
132
|
+
if (!byCategory.has(cat)) {
|
|
133
|
+
byCategory.set(cat, []);
|
|
134
|
+
}
|
|
135
|
+
byCategory.get(cat).push(tool);
|
|
136
|
+
}
|
|
137
|
+
lines.push(`Found ${matches.length} tools:`);
|
|
138
|
+
lines.push("");
|
|
139
|
+
for (const [cat, tools] of byCategory) {
|
|
140
|
+
lines.push(`[${cat}]`);
|
|
141
|
+
for (const t of tools) {
|
|
142
|
+
const status = loader.isLoaded(t.name) ? "*" : " ";
|
|
143
|
+
lines.push(`${status} ${t.name}: ${t.description}`);
|
|
144
|
+
}
|
|
145
|
+
lines.push("");
|
|
146
|
+
}
|
|
147
|
+
if (load) {
|
|
148
|
+
lines.push(`Loaded ${loadedCount} new tools. They are now available for use.`);
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
lines.push("Use load:true to activate these tools.");
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return {
|
|
155
|
+
content: [{ type: "text", text: lines.join("\n") }],
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
export const discoverToolsTool = {
|
|
159
|
+
name: "discover_tools",
|
|
160
|
+
description: "Find and load optimization tools. Categories: compress, analyze, logs, code, pipeline.",
|
|
161
|
+
inputSchema: discoverToolsSchema,
|
|
162
|
+
execute: executeDiscoverTools,
|
|
163
|
+
};
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dynamic Tool Loader
|
|
3
|
+
*
|
|
4
|
+
* Manages lazy loading of MCP tools to reduce token consumption.
|
|
5
|
+
* Only core tools are loaded at startup; others are loaded on-demand.
|
|
6
|
+
*/
|
|
7
|
+
import type { ToolDefinition } from "./registry.js";
|
|
8
|
+
import { type BM25Result } from "../utils/bm25.js";
|
|
9
|
+
import { type HybridSearchResult } from "../utils/hybrid-search.js";
|
|
10
|
+
export type ToolCategory = "compress" | "analyze" | "logs" | "code" | "pipeline" | "core";
|
|
11
|
+
export interface ToolMetadata {
|
|
12
|
+
name: string;
|
|
13
|
+
category: ToolCategory;
|
|
14
|
+
keywords: string[];
|
|
15
|
+
description: string;
|
|
16
|
+
loader: () => Promise<ToolDefinition>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Tool catalog with metadata for discovery
|
|
20
|
+
* Full tool definitions are loaded lazily via the loader function
|
|
21
|
+
*/
|
|
22
|
+
export declare const TOOL_CATALOG: ToolMetadata[];
|
|
23
|
+
/**
|
|
24
|
+
* Dynamic Tool Loader
|
|
25
|
+
*
|
|
26
|
+
* Manages tool loading and provides discovery capabilities.
|
|
27
|
+
*/
|
|
28
|
+
export declare class DynamicToolLoader {
|
|
29
|
+
private loadedTools;
|
|
30
|
+
private onChangeCallbacks;
|
|
31
|
+
private bm25Index;
|
|
32
|
+
private hybridIndex;
|
|
33
|
+
/**
|
|
34
|
+
* Get searchable text from tool metadata
|
|
35
|
+
*/
|
|
36
|
+
private static getSearchableText;
|
|
37
|
+
/**
|
|
38
|
+
* Get or create BM25 search index (lazy initialization)
|
|
39
|
+
*/
|
|
40
|
+
private getBM25Index;
|
|
41
|
+
/**
|
|
42
|
+
* Get or create hybrid search index (lazy initialization)
|
|
43
|
+
*/
|
|
44
|
+
private getHybridIndex;
|
|
45
|
+
/**
|
|
46
|
+
* Get metadata for all available tools (without loading them)
|
|
47
|
+
*/
|
|
48
|
+
getAvailableTools(): Array<{
|
|
49
|
+
name: string;
|
|
50
|
+
category: ToolCategory;
|
|
51
|
+
description: string;
|
|
52
|
+
}>;
|
|
53
|
+
/**
|
|
54
|
+
* Search tools by query string using BM25 ranking
|
|
55
|
+
* Returns results sorted by relevance score (most relevant first)
|
|
56
|
+
*/
|
|
57
|
+
searchTools(query: string): ToolMetadata[];
|
|
58
|
+
/**
|
|
59
|
+
* Search tools with BM25 scores and matched terms
|
|
60
|
+
* Useful for debugging or displaying search relevance
|
|
61
|
+
*/
|
|
62
|
+
searchToolsWithScores(query: string): BM25Result<ToolMetadata>[];
|
|
63
|
+
/**
|
|
64
|
+
* Hybrid search combining BM25 (lexical) and semantic similarity
|
|
65
|
+
*
|
|
66
|
+
* This method finds tools even when the query uses different words
|
|
67
|
+
* than the tool description (e.g., "shrink output" → compress).
|
|
68
|
+
*
|
|
69
|
+
* @param query - Search query
|
|
70
|
+
* @returns Ranked results with both BM25 and semantic scores
|
|
71
|
+
*/
|
|
72
|
+
searchToolsHybrid(query: string): Promise<HybridSearchResult<ToolMetadata>[]>;
|
|
73
|
+
/**
|
|
74
|
+
* Preload semantic embeddings for faster hybrid search
|
|
75
|
+
*
|
|
76
|
+
* Call this during idle time to avoid latency on first hybrid search.
|
|
77
|
+
* The embedding model (~23MB) is downloaded and cached on first use.
|
|
78
|
+
*/
|
|
79
|
+
preloadSemanticSearch(): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* Check if semantic search is ready (embeddings loaded)
|
|
82
|
+
*/
|
|
83
|
+
isSemanticSearchReady(): boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Get tools by category
|
|
86
|
+
*/
|
|
87
|
+
getToolsByCategory(category: ToolCategory): ToolMetadata[];
|
|
88
|
+
/**
|
|
89
|
+
* Load core tools (called at startup)
|
|
90
|
+
*/
|
|
91
|
+
loadCoreTools(): Promise<ToolDefinition[]>;
|
|
92
|
+
/**
|
|
93
|
+
* Load tools by category
|
|
94
|
+
*/
|
|
95
|
+
loadByCategory(category: ToolCategory): Promise<ToolDefinition[]>;
|
|
96
|
+
/**
|
|
97
|
+
* Load tools matching a query
|
|
98
|
+
*/
|
|
99
|
+
loadByQuery(query: string): Promise<ToolDefinition[]>;
|
|
100
|
+
/**
|
|
101
|
+
* Load specific tools by name
|
|
102
|
+
*/
|
|
103
|
+
loadByNames(names: string[]): Promise<ToolDefinition[]>;
|
|
104
|
+
/**
|
|
105
|
+
* Load all tools (fallback for clients that don't support dynamic loading)
|
|
106
|
+
*/
|
|
107
|
+
loadAllTools(): Promise<ToolDefinition[]>;
|
|
108
|
+
/**
|
|
109
|
+
* Get already loaded tools
|
|
110
|
+
*/
|
|
111
|
+
getLoadedTools(): ToolDefinition[];
|
|
112
|
+
/**
|
|
113
|
+
* Check if a tool is loaded
|
|
114
|
+
*/
|
|
115
|
+
isLoaded(name: string): boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Register callback for tool list changes
|
|
118
|
+
*/
|
|
119
|
+
onToolsChanged(callback: () => void): void;
|
|
120
|
+
/**
|
|
121
|
+
* Internal: Load tools from metadata array
|
|
122
|
+
*/
|
|
123
|
+
private loadToolsFromMetadata;
|
|
124
|
+
/**
|
|
125
|
+
* Emit change notification
|
|
126
|
+
*/
|
|
127
|
+
private emitChange;
|
|
128
|
+
}
|
|
129
|
+
export declare function getDynamicLoader(): DynamicToolLoader;
|
|
130
|
+
export declare function resetDynamicLoader(): void;
|
|
131
|
+
//# sourceMappingURL=dynamic-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-loader.d.ts","sourceRoot":"","sources":["../../src/tools/dynamic-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAmC,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;AAE1F,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;CACvC;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,YAAY,EAoLtC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,WAAW,CAA0C;IAC7D,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,WAAW,CAAgD;IAEnE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC;;OAEG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;IACH,iBAAiB,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAQzF;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE;IAM1C;;;OAGG;IACH,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,EAAE;IAKhE;;;;;;;;OAQG;IACG,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;IAKnF;;;;;OAKG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5C;;OAEG;IACH,qBAAqB,IAAI,OAAO;IAIhC;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,EAAE;IAI1D;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAKhD;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAKvE;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAK3D;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAK7D;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAI/C;;OAEG;IACH,cAAc,IAAI,cAAc,EAAE;IAIlC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAI1C;;OAEG;YACW,qBAAqB;IAmBnC;;OAEG;IACH,OAAO,CAAC,UAAU;CASnB;AAOD,wBAAgB,gBAAgB,IAAI,iBAAiB,CAKpD;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
|