@miller-tech/uap 1.0.0
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 +21 -0
- package/README.md +888 -0
- package/dist/analyzers/index.d.ts +3 -0
- package/dist/analyzers/index.d.ts.map +1 -0
- package/dist/analyzers/index.js +684 -0
- package/dist/analyzers/index.js.map +1 -0
- package/dist/benchmarks/agents/naive-agent.d.ts +60 -0
- package/dist/benchmarks/agents/naive-agent.d.ts.map +1 -0
- package/dist/benchmarks/agents/naive-agent.js +144 -0
- package/dist/benchmarks/agents/naive-agent.js.map +1 -0
- package/dist/benchmarks/agents/uap-agent.d.ts +167 -0
- package/dist/benchmarks/agents/uap-agent.d.ts.map +1 -0
- package/dist/benchmarks/agents/uap-agent.js +437 -0
- package/dist/benchmarks/agents/uap-agent.js.map +1 -0
- package/dist/benchmarks/benchmark.d.ts +328 -0
- package/dist/benchmarks/benchmark.d.ts.map +1 -0
- package/dist/benchmarks/benchmark.js +112 -0
- package/dist/benchmarks/benchmark.js.map +1 -0
- package/dist/benchmarks/execution-verifier.d.ts +41 -0
- package/dist/benchmarks/execution-verifier.d.ts.map +1 -0
- package/dist/benchmarks/execution-verifier.js +340 -0
- package/dist/benchmarks/execution-verifier.js.map +1 -0
- package/dist/benchmarks/hierarchical-prompting.d.ts +37 -0
- package/dist/benchmarks/hierarchical-prompting.d.ts.map +1 -0
- package/dist/benchmarks/hierarchical-prompting.js +246 -0
- package/dist/benchmarks/hierarchical-prompting.js.map +1 -0
- package/dist/benchmarks/improved-benchmark.d.ts +89 -0
- package/dist/benchmarks/improved-benchmark.d.ts.map +1 -0
- package/dist/benchmarks/improved-benchmark.js +585 -0
- package/dist/benchmarks/improved-benchmark.js.map +1 -0
- package/dist/benchmarks/index.d.ts +11 -0
- package/dist/benchmarks/index.d.ts.map +1 -0
- package/dist/benchmarks/index.js +11 -0
- package/dist/benchmarks/index.js.map +1 -0
- package/dist/benchmarks/model-integration.d.ts +111 -0
- package/dist/benchmarks/model-integration.d.ts.map +1 -0
- package/dist/benchmarks/model-integration.js +904 -0
- package/dist/benchmarks/model-integration.js.map +1 -0
- package/dist/benchmarks/multi-turn-agent.d.ts +44 -0
- package/dist/benchmarks/multi-turn-agent.d.ts.map +1 -0
- package/dist/benchmarks/multi-turn-agent.js +254 -0
- package/dist/benchmarks/multi-turn-agent.js.map +1 -0
- package/dist/benchmarks/multi-turn-loop.d.ts +57 -0
- package/dist/benchmarks/multi-turn-loop.d.ts.map +1 -0
- package/dist/benchmarks/multi-turn-loop.js +167 -0
- package/dist/benchmarks/multi-turn-loop.js.map +1 -0
- package/dist/benchmarks/tasks.d.ts +19 -0
- package/dist/benchmarks/tasks.d.ts.map +1 -0
- package/dist/benchmarks/tasks.js +435 -0
- package/dist/benchmarks/tasks.js.map +1 -0
- package/dist/bin/cli.d.ts +3 -0
- package/dist/bin/cli.d.ts.map +1 -0
- package/dist/bin/cli.js +546 -0
- package/dist/bin/cli.js.map +1 -0
- package/dist/bin/llama-server-optimize.d.ts +18 -0
- package/dist/bin/llama-server-optimize.d.ts.map +1 -0
- package/dist/bin/llama-server-optimize.js +708 -0
- package/dist/bin/llama-server-optimize.js.map +1 -0
- package/dist/bin/policy.d.ts +3 -0
- package/dist/bin/policy.d.ts.map +1 -0
- package/dist/bin/policy.js +143 -0
- package/dist/bin/policy.js.map +1 -0
- package/dist/bin/tool-calls.d.ts +3 -0
- package/dist/bin/tool-calls.d.ts.map +1 -0
- package/dist/bin/tool-calls.js +4 -0
- package/dist/bin/tool-calls.js.map +1 -0
- package/dist/browser/index.d.ts +2 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +2 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/web-browser.d.ts +30 -0
- package/dist/browser/web-browser.d.ts.map +1 -0
- package/dist/browser/web-browser.js +93 -0
- package/dist/browser/web-browser.js.map +1 -0
- package/dist/cli/agent.d.ts +20 -0
- package/dist/cli/agent.d.ts.map +1 -0
- package/dist/cli/agent.js +474 -0
- package/dist/cli/agent.js.map +1 -0
- package/dist/cli/analyze.d.ts +7 -0
- package/dist/cli/analyze.d.ts.map +1 -0
- package/dist/cli/analyze.js +103 -0
- package/dist/cli/analyze.js.map +1 -0
- package/dist/cli/completion-gates.d.ts +51 -0
- package/dist/cli/completion-gates.d.ts.map +1 -0
- package/dist/cli/completion-gates.js +201 -0
- package/dist/cli/completion-gates.js.map +1 -0
- package/dist/cli/compliance.d.ts +8 -0
- package/dist/cli/compliance.d.ts.map +1 -0
- package/dist/cli/compliance.js +509 -0
- package/dist/cli/compliance.js.map +1 -0
- package/dist/cli/coord.d.ts +7 -0
- package/dist/cli/coord.d.ts.map +1 -0
- package/dist/cli/coord.js +138 -0
- package/dist/cli/coord.js.map +1 -0
- package/dist/cli/dashboard.d.ts +21 -0
- package/dist/cli/dashboard.d.ts.map +1 -0
- package/dist/cli/dashboard.js +1508 -0
- package/dist/cli/dashboard.js.map +1 -0
- package/dist/cli/deploy.d.ts +19 -0
- package/dist/cli/deploy.d.ts.map +1 -0
- package/dist/cli/deploy.js +387 -0
- package/dist/cli/deploy.js.map +1 -0
- package/dist/cli/droids.d.ts +9 -0
- package/dist/cli/droids.d.ts.map +1 -0
- package/dist/cli/droids.js +227 -0
- package/dist/cli/droids.js.map +1 -0
- package/dist/cli/generate.d.ts +17 -0
- package/dist/cli/generate.d.ts.map +1 -0
- package/dist/cli/generate.js +432 -0
- package/dist/cli/generate.js.map +1 -0
- package/dist/cli/hooks.d.ts +9 -0
- package/dist/cli/hooks.d.ts.map +1 -0
- package/dist/cli/hooks.js +464 -0
- package/dist/cli/hooks.js.map +1 -0
- package/dist/cli/init.d.ts +12 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +364 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/mcp-router.d.ts +16 -0
- package/dist/cli/mcp-router.d.ts.map +1 -0
- package/dist/cli/mcp-router.js +143 -0
- package/dist/cli/mcp-router.js.map +1 -0
- package/dist/cli/memory.d.ts +24 -0
- package/dist/cli/memory.d.ts.map +1 -0
- package/dist/cli/memory.js +885 -0
- package/dist/cli/memory.js.map +1 -0
- package/dist/cli/model.d.ts +15 -0
- package/dist/cli/model.d.ts.map +1 -0
- package/dist/cli/model.js +290 -0
- package/dist/cli/model.js.map +1 -0
- package/dist/cli/patterns.d.ts +26 -0
- package/dist/cli/patterns.d.ts.map +1 -0
- package/dist/cli/patterns.js +862 -0
- package/dist/cli/patterns.js.map +1 -0
- package/dist/cli/rtk-validation.d.ts +9 -0
- package/dist/cli/rtk-validation.d.ts.map +1 -0
- package/dist/cli/rtk-validation.js +9 -0
- package/dist/cli/rtk-validation.js.map +1 -0
- package/dist/cli/rtk.d.ts +34 -0
- package/dist/cli/rtk.d.ts.map +1 -0
- package/dist/cli/rtk.js +401 -0
- package/dist/cli/rtk.js.map +1 -0
- package/dist/cli/schema-diff.d.ts +7 -0
- package/dist/cli/schema-diff.d.ts.map +1 -0
- package/dist/cli/schema-diff.js +11 -0
- package/dist/cli/schema-diff.js.map +1 -0
- package/dist/cli/setup-mcp-router.d.ts +8 -0
- package/dist/cli/setup-mcp-router.d.ts.map +1 -0
- package/dist/cli/setup-mcp-router.js +163 -0
- package/dist/cli/setup-mcp-router.js.map +1 -0
- package/dist/cli/setup-wizard.d.ts +2 -0
- package/dist/cli/setup-wizard.d.ts.map +1 -0
- package/dist/cli/setup-wizard.js +806 -0
- package/dist/cli/setup-wizard.js.map +1 -0
- package/dist/cli/setup.d.ts +15 -0
- package/dist/cli/setup.d.ts.map +1 -0
- package/dist/cli/setup.js +154 -0
- package/dist/cli/setup.js.map +1 -0
- package/dist/cli/sync.d.ts +8 -0
- package/dist/cli/sync.d.ts.map +1 -0
- package/dist/cli/sync.js +395 -0
- package/dist/cli/sync.js.map +1 -0
- package/dist/cli/task.d.ts +33 -0
- package/dist/cli/task.d.ts.map +1 -0
- package/dist/cli/task.js +672 -0
- package/dist/cli/task.js.map +1 -0
- package/dist/cli/tool-calls.d.ts +20 -0
- package/dist/cli/tool-calls.d.ts.map +1 -0
- package/dist/cli/tool-calls.js +605 -0
- package/dist/cli/tool-calls.js.map +1 -0
- package/dist/cli/uap.d.ts +10 -0
- package/dist/cli/uap.d.ts.map +1 -0
- package/dist/cli/uap.js +398 -0
- package/dist/cli/uap.js.map +1 -0
- package/dist/cli/update.d.ts +10 -0
- package/dist/cli/update.d.ts.map +1 -0
- package/dist/cli/update.js +300 -0
- package/dist/cli/update.js.map +1 -0
- package/dist/cli/visualize.d.ts +77 -0
- package/dist/cli/visualize.d.ts.map +1 -0
- package/dist/cli/visualize.js +287 -0
- package/dist/cli/visualize.js.map +1 -0
- package/dist/cli/worktree.d.ts +9 -0
- package/dist/cli/worktree.d.ts.map +1 -0
- package/dist/cli/worktree.js +213 -0
- package/dist/cli/worktree.js.map +1 -0
- package/dist/coordination/adaptive-patterns.d.ts +65 -0
- package/dist/coordination/adaptive-patterns.d.ts.map +1 -0
- package/dist/coordination/adaptive-patterns.js +108 -0
- package/dist/coordination/adaptive-patterns.js.map +1 -0
- package/dist/coordination/auto-agent.d.ts +82 -0
- package/dist/coordination/auto-agent.d.ts.map +1 -0
- package/dist/coordination/auto-agent.js +145 -0
- package/dist/coordination/auto-agent.js.map +1 -0
- package/dist/coordination/capability-router.d.ts +79 -0
- package/dist/coordination/capability-router.d.ts.map +1 -0
- package/dist/coordination/capability-router.js +334 -0
- package/dist/coordination/capability-router.js.map +1 -0
- package/dist/coordination/database.d.ts +13 -0
- package/dist/coordination/database.d.ts.map +1 -0
- package/dist/coordination/database.js +136 -0
- package/dist/coordination/database.js.map +1 -0
- package/dist/coordination/deploy-batcher.d.ts +122 -0
- package/dist/coordination/deploy-batcher.d.ts.map +1 -0
- package/dist/coordination/deploy-batcher.js +718 -0
- package/dist/coordination/deploy-batcher.js.map +1 -0
- package/dist/coordination/droid-validator.d.ts +59 -0
- package/dist/coordination/droid-validator.d.ts.map +1 -0
- package/dist/coordination/droid-validator.js +142 -0
- package/dist/coordination/droid-validator.js.map +1 -0
- package/dist/coordination/index.d.ts +10 -0
- package/dist/coordination/index.d.ts.map +1 -0
- package/dist/coordination/index.js +10 -0
- package/dist/coordination/index.js.map +1 -0
- package/dist/coordination/pattern-router.d.ts +50 -0
- package/dist/coordination/pattern-router.d.ts.map +1 -0
- package/dist/coordination/pattern-router.js +118 -0
- package/dist/coordination/pattern-router.js.map +1 -0
- package/dist/coordination/service.d.ts +81 -0
- package/dist/coordination/service.d.ts.map +1 -0
- package/dist/coordination/service.js +619 -0
- package/dist/coordination/service.js.map +1 -0
- package/dist/coordination/worktree-enforcer.d.ts +22 -0
- package/dist/coordination/worktree-enforcer.d.ts.map +1 -0
- package/dist/coordination/worktree-enforcer.js +71 -0
- package/dist/coordination/worktree-enforcer.js.map +1 -0
- package/dist/generators/claude-md.d.ts +3 -0
- package/dist/generators/claude-md.d.ts.map +1 -0
- package/dist/generators/claude-md.js +1020 -0
- package/dist/generators/claude-md.js.map +1 -0
- package/dist/generators/template-loader.d.ts +105 -0
- package/dist/generators/template-loader.d.ts.map +1 -0
- package/dist/generators/template-loader.js +291 -0
- package/dist/generators/template-loader.js.map +1 -0
- package/dist/index.d.ts +49 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +63 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp-router/config/parser.d.ts +9 -0
- package/dist/mcp-router/config/parser.d.ts.map +1 -0
- package/dist/mcp-router/config/parser.js +174 -0
- package/dist/mcp-router/config/parser.js.map +1 -0
- package/dist/mcp-router/executor/client.d.ts +31 -0
- package/dist/mcp-router/executor/client.d.ts.map +1 -0
- package/dist/mcp-router/executor/client.js +189 -0
- package/dist/mcp-router/executor/client.js.map +1 -0
- package/dist/mcp-router/index.d.ts +22 -0
- package/dist/mcp-router/index.d.ts.map +1 -0
- package/dist/mcp-router/index.js +18 -0
- package/dist/mcp-router/index.js.map +1 -0
- package/dist/mcp-router/output-compressor.d.ts +26 -0
- package/dist/mcp-router/output-compressor.d.ts.map +1 -0
- package/dist/mcp-router/output-compressor.js +236 -0
- package/dist/mcp-router/output-compressor.js.map +1 -0
- package/dist/mcp-router/search/fuzzy.d.ts +26 -0
- package/dist/mcp-router/search/fuzzy.d.ts.map +1 -0
- package/dist/mcp-router/search/fuzzy.js +94 -0
- package/dist/mcp-router/search/fuzzy.js.map +1 -0
- package/dist/mcp-router/server.d.ts +50 -0
- package/dist/mcp-router/server.d.ts.map +1 -0
- package/dist/mcp-router/server.js +229 -0
- package/dist/mcp-router/server.js.map +1 -0
- package/dist/mcp-router/session-stats.d.ts +37 -0
- package/dist/mcp-router/session-stats.d.ts.map +1 -0
- package/dist/mcp-router/session-stats.js +56 -0
- package/dist/mcp-router/session-stats.js.map +1 -0
- package/dist/mcp-router/tools/discover.d.ts +37 -0
- package/dist/mcp-router/tools/discover.d.ts.map +1 -0
- package/dist/mcp-router/tools/discover.js +65 -0
- package/dist/mcp-router/tools/discover.js.map +1 -0
- package/dist/mcp-router/tools/execute.d.ts +43 -0
- package/dist/mcp-router/tools/execute.d.ts.map +1 -0
- package/dist/mcp-router/tools/execute.js +144 -0
- package/dist/mcp-router/tools/execute.js.map +1 -0
- package/dist/mcp-router/types.d.ts +62 -0
- package/dist/mcp-router/types.d.ts.map +1 -0
- package/dist/mcp-router/types.js +6 -0
- package/dist/mcp-router/types.js.map +1 -0
- package/dist/memory/adaptive-context.d.ts +149 -0
- package/dist/memory/adaptive-context.d.ts.map +1 -0
- package/dist/memory/adaptive-context.js +1095 -0
- package/dist/memory/adaptive-context.js.map +1 -0
- package/dist/memory/agent-scoped-memory.d.ts +67 -0
- package/dist/memory/agent-scoped-memory.d.ts.map +1 -0
- package/dist/memory/agent-scoped-memory.js +126 -0
- package/dist/memory/agent-scoped-memory.js.map +1 -0
- package/dist/memory/ambiguity-detector.d.ts +54 -0
- package/dist/memory/ambiguity-detector.d.ts.map +1 -0
- package/dist/memory/ambiguity-detector.js +401 -0
- package/dist/memory/ambiguity-detector.js.map +1 -0
- package/dist/memory/backends/base.d.ts +18 -0
- package/dist/memory/backends/base.d.ts.map +1 -0
- package/dist/memory/backends/base.js +2 -0
- package/dist/memory/backends/base.js.map +1 -0
- package/dist/memory/backends/factory.d.ts +4 -0
- package/dist/memory/backends/factory.d.ts.map +1 -0
- package/dist/memory/backends/factory.js +53 -0
- package/dist/memory/backends/factory.js.map +1 -0
- package/dist/memory/backends/github.d.ts +27 -0
- package/dist/memory/backends/github.d.ts.map +1 -0
- package/dist/memory/backends/github.js +134 -0
- package/dist/memory/backends/github.js.map +1 -0
- package/dist/memory/backends/qdrant-cloud.d.ts +32 -0
- package/dist/memory/backends/qdrant-cloud.d.ts.map +1 -0
- package/dist/memory/backends/qdrant-cloud.js +167 -0
- package/dist/memory/backends/qdrant-cloud.js.map +1 -0
- package/dist/memory/context-compressor.d.ts +116 -0
- package/dist/memory/context-compressor.d.ts.map +1 -0
- package/dist/memory/context-compressor.js +430 -0
- package/dist/memory/context-compressor.js.map +1 -0
- package/dist/memory/context-pruner.d.ts +55 -0
- package/dist/memory/context-pruner.d.ts.map +1 -0
- package/dist/memory/context-pruner.js +85 -0
- package/dist/memory/context-pruner.js.map +1 -0
- package/dist/memory/correction-propagator.d.ts +44 -0
- package/dist/memory/correction-propagator.d.ts.map +1 -0
- package/dist/memory/correction-propagator.js +156 -0
- package/dist/memory/correction-propagator.js.map +1 -0
- package/dist/memory/daily-log.d.ts +67 -0
- package/dist/memory/daily-log.d.ts.map +1 -0
- package/dist/memory/daily-log.js +143 -0
- package/dist/memory/daily-log.js.map +1 -0
- package/dist/memory/dynamic-retrieval.d.ts +112 -0
- package/dist/memory/dynamic-retrieval.d.ts.map +1 -0
- package/dist/memory/dynamic-retrieval.js +908 -0
- package/dist/memory/dynamic-retrieval.js.map +1 -0
- package/dist/memory/embeddings.d.ts +172 -0
- package/dist/memory/embeddings.d.ts.map +1 -0
- package/dist/memory/embeddings.js +780 -0
- package/dist/memory/embeddings.js.map +1 -0
- package/dist/memory/generic-uap-patterns.d.ts +7 -0
- package/dist/memory/generic-uap-patterns.d.ts.map +1 -0
- package/dist/memory/generic-uap-patterns.js +43 -0
- package/dist/memory/generic-uap-patterns.js.map +1 -0
- package/dist/memory/hierarchical-memory.d.ts +141 -0
- package/dist/memory/hierarchical-memory.d.ts.map +1 -0
- package/dist/memory/hierarchical-memory.js +485 -0
- package/dist/memory/hierarchical-memory.js.map +1 -0
- package/dist/memory/knowledge-graph.d.ts +98 -0
- package/dist/memory/knowledge-graph.d.ts.map +1 -0
- package/dist/memory/knowledge-graph.js +275 -0
- package/dist/memory/knowledge-graph.js.map +1 -0
- package/dist/memory/memory-consolidator.d.ts +124 -0
- package/dist/memory/memory-consolidator.d.ts.map +1 -0
- package/dist/memory/memory-consolidator.js +514 -0
- package/dist/memory/memory-consolidator.js.map +1 -0
- package/dist/memory/memory-maintenance.d.ts +39 -0
- package/dist/memory/memory-maintenance.d.ts.map +1 -0
- package/dist/memory/memory-maintenance.js +336 -0
- package/dist/memory/memory-maintenance.js.map +1 -0
- package/dist/memory/model-router.d.ts +105 -0
- package/dist/memory/model-router.d.ts.map +1 -0
- package/dist/memory/model-router.js +474 -0
- package/dist/memory/model-router.js.map +1 -0
- package/dist/memory/multi-view-memory.d.ts +134 -0
- package/dist/memory/multi-view-memory.d.ts.map +1 -0
- package/dist/memory/multi-view-memory.js +430 -0
- package/dist/memory/multi-view-memory.js.map +1 -0
- package/dist/memory/predictive-memory.d.ts +79 -0
- package/dist/memory/predictive-memory.d.ts.map +1 -0
- package/dist/memory/predictive-memory.js +294 -0
- package/dist/memory/predictive-memory.js.map +1 -0
- package/dist/memory/prepopulate.d.ts +76 -0
- package/dist/memory/prepopulate.d.ts.map +1 -0
- package/dist/memory/prepopulate.js +832 -0
- package/dist/memory/prepopulate.js.map +1 -0
- package/dist/memory/semantic-compression.d.ts +77 -0
- package/dist/memory/semantic-compression.d.ts.map +1 -0
- package/dist/memory/semantic-compression.js +359 -0
- package/dist/memory/semantic-compression.js.map +1 -0
- package/dist/memory/serverless-qdrant.d.ts +102 -0
- package/dist/memory/serverless-qdrant.d.ts.map +1 -0
- package/dist/memory/serverless-qdrant.js +369 -0
- package/dist/memory/serverless-qdrant.js.map +1 -0
- package/dist/memory/short-term/factory.d.ts +26 -0
- package/dist/memory/short-term/factory.d.ts.map +1 -0
- package/dist/memory/short-term/factory.js +28 -0
- package/dist/memory/short-term/factory.js.map +1 -0
- package/dist/memory/short-term/indexeddb.d.ts +25 -0
- package/dist/memory/short-term/indexeddb.d.ts.map +1 -0
- package/dist/memory/short-term/indexeddb.js +64 -0
- package/dist/memory/short-term/indexeddb.js.map +1 -0
- package/dist/memory/short-term/schema.d.ts +6 -0
- package/dist/memory/short-term/schema.d.ts.map +1 -0
- package/dist/memory/short-term/schema.js +141 -0
- package/dist/memory/short-term/schema.js.map +1 -0
- package/dist/memory/short-term/sqlite.d.ts +64 -0
- package/dist/memory/short-term/sqlite.d.ts.map +1 -0
- package/dist/memory/short-term/sqlite.js +274 -0
- package/dist/memory/short-term/sqlite.js.map +1 -0
- package/dist/memory/speculative-cache.d.ts +111 -0
- package/dist/memory/speculative-cache.d.ts.map +1 -0
- package/dist/memory/speculative-cache.js +457 -0
- package/dist/memory/speculative-cache.js.map +1 -0
- package/dist/memory/task-classifier.d.ts +40 -0
- package/dist/memory/task-classifier.d.ts.map +1 -0
- package/dist/memory/task-classifier.js +342 -0
- package/dist/memory/task-classifier.js.map +1 -0
- package/dist/memory/terminal-bench-knowledge.d.ts +48 -0
- package/dist/memory/terminal-bench-knowledge.d.ts.map +1 -0
- package/dist/memory/terminal-bench-knowledge.js +622 -0
- package/dist/memory/terminal-bench-knowledge.js.map +1 -0
- package/dist/memory/write-gate.d.ts +39 -0
- package/dist/memory/write-gate.d.ts.map +1 -0
- package/dist/memory/write-gate.js +190 -0
- package/dist/memory/write-gate.js.map +1 -0
- package/dist/models/api-client.d.ts +46 -0
- package/dist/models/api-client.d.ts.map +1 -0
- package/dist/models/api-client.js +182 -0
- package/dist/models/api-client.js.map +1 -0
- package/dist/models/execution-profiles.d.ts +64 -0
- package/dist/models/execution-profiles.d.ts.map +1 -0
- package/dist/models/execution-profiles.js +403 -0
- package/dist/models/execution-profiles.js.map +1 -0
- package/dist/models/executor.d.ts +130 -0
- package/dist/models/executor.d.ts.map +1 -0
- package/dist/models/executor.js +382 -0
- package/dist/models/executor.js.map +1 -0
- package/dist/models/index.d.ts +19 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +23 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/plan-validator.d.ts +37 -0
- package/dist/models/plan-validator.d.ts.map +1 -0
- package/dist/models/plan-validator.js +179 -0
- package/dist/models/plan-validator.js.map +1 -0
- package/dist/models/planner.d.ts +73 -0
- package/dist/models/planner.d.ts.map +1 -0
- package/dist/models/planner.js +375 -0
- package/dist/models/planner.js.map +1 -0
- package/dist/models/router.d.ts +96 -0
- package/dist/models/router.d.ts.map +1 -0
- package/dist/models/router.js +523 -0
- package/dist/models/router.js.map +1 -0
- package/dist/models/types.d.ts +370 -0
- package/dist/models/types.d.ts.map +1 -0
- package/dist/models/types.js +232 -0
- package/dist/models/types.js.map +1 -0
- package/dist/models/unified-router.d.ts +152 -0
- package/dist/models/unified-router.d.ts.map +1 -0
- package/dist/models/unified-router.js +313 -0
- package/dist/models/unified-router.js.map +1 -0
- package/dist/policies/convert-policy-to-claude.d.ts +3 -0
- package/dist/policies/convert-policy-to-claude.d.ts.map +1 -0
- package/dist/policies/convert-policy-to-claude.js +87 -0
- package/dist/policies/convert-policy-to-claude.js.map +1 -0
- package/dist/policies/database-manager.d.ts +27 -0
- package/dist/policies/database-manager.d.ts.map +1 -0
- package/dist/policies/database-manager.js +198 -0
- package/dist/policies/database-manager.js.map +1 -0
- package/dist/policies/enforced-tool-router.d.ts +53 -0
- package/dist/policies/enforced-tool-router.d.ts.map +1 -0
- package/dist/policies/enforced-tool-router.js +80 -0
- package/dist/policies/enforced-tool-router.js.map +1 -0
- package/dist/policies/index.d.ts +10 -0
- package/dist/policies/index.d.ts.map +1 -0
- package/dist/policies/index.js +8 -0
- package/dist/policies/index.js.map +1 -0
- package/dist/policies/policy-gate.d.ts +59 -0
- package/dist/policies/policy-gate.d.ts.map +1 -0
- package/dist/policies/policy-gate.js +171 -0
- package/dist/policies/policy-gate.js.map +1 -0
- package/dist/policies/policy-memory.d.ts +18 -0
- package/dist/policies/policy-memory.d.ts.map +1 -0
- package/dist/policies/policy-memory.js +126 -0
- package/dist/policies/policy-memory.js.map +1 -0
- package/dist/policies/policy-tools.d.ts +11 -0
- package/dist/policies/policy-tools.d.ts.map +1 -0
- package/dist/policies/policy-tools.js +66 -0
- package/dist/policies/policy-tools.js.map +1 -0
- package/dist/policies/schemas/policy.d.ts +69 -0
- package/dist/policies/schemas/policy.d.ts.map +1 -0
- package/dist/policies/schemas/policy.js +31 -0
- package/dist/policies/schemas/policy.js.map +1 -0
- package/dist/tasks/coordination.d.ts +83 -0
- package/dist/tasks/coordination.d.ts.map +1 -0
- package/dist/tasks/coordination.js +291 -0
- package/dist/tasks/coordination.js.map +1 -0
- package/dist/tasks/database.d.ts +19 -0
- package/dist/tasks/database.d.ts.map +1 -0
- package/dist/tasks/database.js +149 -0
- package/dist/tasks/database.js.map +1 -0
- package/dist/tasks/decoder-gate.d.ts +64 -0
- package/dist/tasks/decoder-gate.d.ts.map +1 -0
- package/dist/tasks/decoder-gate.js +268 -0
- package/dist/tasks/decoder-gate.js.map +1 -0
- package/dist/tasks/index.d.ts +6 -0
- package/dist/tasks/index.d.ts.map +1 -0
- package/dist/tasks/index.js +6 -0
- package/dist/tasks/index.js.map +1 -0
- package/dist/tasks/service.d.ts +40 -0
- package/dist/tasks/service.d.ts.map +1 -0
- package/dist/tasks/service.js +671 -0
- package/dist/tasks/service.js.map +1 -0
- package/dist/tasks/types.d.ts +238 -0
- package/dist/tasks/types.d.ts.map +1 -0
- package/dist/tasks/types.js +74 -0
- package/dist/tasks/types.js.map +1 -0
- package/dist/telemetry/index.d.ts +2 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +2 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/session-telemetry.d.ts +56 -0
- package/dist/telemetry/session-telemetry.d.ts.map +1 -0
- package/dist/telemetry/session-telemetry.js +807 -0
- package/dist/telemetry/session-telemetry.js.map +1 -0
- package/dist/types/analysis.d.ts +82 -0
- package/dist/types/analysis.d.ts.map +1 -0
- package/dist/types/analysis.js +2 -0
- package/dist/types/analysis.js.map +1 -0
- package/dist/types/config.d.ts +3324 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +418 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/coordination.d.ts +240 -0
- package/dist/types/coordination.d.ts.map +1 -0
- package/dist/types/coordination.js +43 -0
- package/dist/types/coordination.js.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -0
- package/dist/uap-droids-strict.d.ts +59 -0
- package/dist/uap-droids-strict.d.ts.map +1 -0
- package/dist/uap-droids-strict.js +200 -0
- package/dist/uap-droids-strict.js.map +1 -0
- package/dist/utils/config-manager.d.ts +30 -0
- package/dist/utils/config-manager.d.ts.map +1 -0
- package/dist/utils/config-manager.js +41 -0
- package/dist/utils/config-manager.js.map +1 -0
- package/dist/utils/fetch-with-retry.d.ts +5 -0
- package/dist/utils/fetch-with-retry.d.ts.map +1 -0
- package/dist/utils/fetch-with-retry.js +61 -0
- package/dist/utils/fetch-with-retry.js.map +1 -0
- package/dist/utils/merge-claude-md.d.ts +28 -0
- package/dist/utils/merge-claude-md.d.ts.map +1 -0
- package/dist/utils/merge-claude-md.js +342 -0
- package/dist/utils/merge-claude-md.js.map +1 -0
- package/dist/utils/rate-limiter.d.ts +58 -0
- package/dist/utils/rate-limiter.d.ts.map +1 -0
- package/dist/utils/rate-limiter.js +100 -0
- package/dist/utils/rate-limiter.js.map +1 -0
- package/dist/utils/string-similarity.d.ts +37 -0
- package/dist/utils/string-similarity.d.ts.map +1 -0
- package/dist/utils/string-similarity.js +114 -0
- package/dist/utils/string-similarity.js.map +1 -0
- package/dist/utils/validate-json.d.ts +51 -0
- package/dist/utils/validate-json.d.ts.map +1 -0
- package/dist/utils/validate-json.js +94 -0
- package/dist/utils/validate-json.js.map +1 -0
- package/docs/INDEX.md +66 -0
- package/docs/architecture/MULTI_MODEL.md +224 -0
- package/docs/architecture/SYSTEM_ANALYSIS.md +1117 -0
- package/docs/architecture/UAP_COMPLIANCE.md +217 -0
- package/docs/architecture/UAP_PROTOCOL.md +339 -0
- package/docs/architecture/UAP_STRICT_DROIDS.md +172 -0
- package/docs/archive/BALLS_MODE_SELF_ANALYSIS.md +260 -0
- package/docs/archive/FAILING_TASKS_SOLUTION_PLAN.md +668 -0
- package/docs/archive/JINJA2-SYSTEM-MESSAGE-FIX.md +209 -0
- package/docs/archive/NPM-PUBLISH-V0.9.1.md +240 -0
- package/docs/archive/OPTIMIZATION_OPTIONS.md +334 -0
- package/docs/archive/SETUP_IMPROVEMENTS.md +213 -0
- package/docs/archive/UAP_GENERIC_OPTIMIZATION_PLAN.md +270 -0
- package/docs/archive/UAP_V103_PATTERN_DESIGN.md +315 -0
- package/docs/archive/UAP_V104_COMPLIANCE_DESIGN.md +223 -0
- package/docs/archive/changelog/2026-03-10_uap-100-compliance.md +77 -0
- package/docs/archive/changelog/2026-03-10_uap-full-system-verification.md +109 -0
- package/docs/benchmarks/ACCURACY_ANALYSIS.md +471 -0
- package/docs/benchmarks/TOKEN_OPTIMIZATION.md +572 -0
- package/docs/benchmarks/VALIDATION_PLAN.md +568 -0
- package/docs/benchmarks/VALIDATION_RESULTS.md +161 -0
- package/docs/deployment/DEPLOYMENT.md +895 -0
- package/docs/deployment/DEPLOYMENT_STRATEGIES.md +518 -0
- package/docs/deployment/DEPLOY_BATCHER_ANALYSIS.md +856 -0
- package/docs/deployment/DEPLOY_BATCHING.md +273 -0
- package/docs/deployment/DEPLOY_BUCKETING_ANALYSIS.md +420 -0
- package/docs/deployment/QWEN35_LLAMA_CPP.md +265 -0
- package/docs/getting-started/INTEGRATION.md +449 -0
- package/docs/getting-started/OVERVIEW.md +344 -0
- package/docs/getting-started/SETUP.md +203 -0
- package/docs/integrations/MCP_ROUTER_SETUP.md +445 -0
- package/docs/integrations/RTK_INTEGRATION.md +468 -0
- package/docs/operations/TROUBLESHOOTING.md +660 -0
- package/docs/reference/API_REFERENCE.md +903 -0
- package/docs/reference/FEATURES.md +472 -0
- package/docs/reference/HARNESS-MATRIX.md +318 -0
- package/docs/reference/UAP_CLI_REFERENCE.md +600 -0
- package/docs/research/BEHAVIORAL_PATTERNS.md +228 -0
- package/docs/research/DOMAIN_STRATEGIES.md +316 -0
- package/docs/research/MEMORY_SYSTEMS_COMPARISON.md +812 -0
- package/docs/research/PATTERN_ANALYSIS_2026-01-18.md +436 -0
- package/docs/research/PERFORMANCE_ANALYSIS_2026-01-18.md +209 -0
- package/docs/research/PERFORMANCE_TEST_PLAN.md +383 -0
- package/docs/research/TERMINAL_BENCH_LEARNINGS.md +217 -0
- package/package.json +113 -0
- package/scripts/README.md +161 -0
- package/templates/CLAUDE.template.md +10 -0
- package/templates/CLAUDE_ARCHITECTURE.template.md +103 -0
- package/templates/CLAUDE_CODING.template.md +127 -0
- package/templates/CLAUDE_DROIDS.template.md +109 -0
- package/templates/CLAUDE_MEMORY.template.md +131 -0
- package/templates/CLAUDE_WORKFLOWS.template.md +139 -0
- package/templates/PROJECT.template.md +209 -0
- package/templates/SCHEMA.md +57 -0
- package/templates/archive/CLAUDE.template.root-v6.md +534 -0
- package/templates/archive/CLAUDE.template.v6.md +534 -0
- package/templates/hooks/forgecode/pre-compact.sh +68 -0
- package/templates/hooks/forgecode/session-start.sh +169 -0
- package/templates/hooks/forgecode.plugin.sh +128 -0
- package/templates/hooks/pre-compact.sh +74 -0
- package/templates/hooks/session-start.sh +366 -0
- package/tools/agents/README.md +224 -0
- package/tools/agents/UAP/README.md +386 -0
- package/tools/agents/UAP/__init__.py +9 -0
- package/tools/agents/UAP/cli.py +901 -0
- package/tools/agents/UAP/compliance_verify.sh +108 -0
- package/tools/agents/UAP/full_verification.sh +126 -0
- package/tools/agents/UAP/version.py +32 -0
- package/tools/agents/benchmarks/benchmark_memory_systems.py +730 -0
- package/tools/agents/benchmarks/results/benchmark_20260106_064817.json +170 -0
- package/tools/agents/benchmarks/results/benchmark_20260106_064817.md +51 -0
- package/tools/agents/config/chat_template.jinja +77 -0
- package/tools/agents/config/tool-call-schema.json +19 -0
- package/tools/agents/config/tool-call.gbnf +58 -0
- package/tools/agents/docker/Dockerfile.python +52 -0
- package/tools/agents/docker/Dockerfile.ubuntu +55 -0
- package/tools/agents/docker-compose.qdrant.yml +24 -0
- package/tools/agents/install-opencode-local.sh.j2 +135 -0
- package/tools/agents/migrations/apply.py +256 -0
- package/tools/agents/opencode_uap_agent.py +1505 -0
- package/tools/agents/plugin/README.md +91 -0
- package/tools/agents/plugin/index.ts +46 -0
- package/tools/agents/plugin/pre-compact.sh +68 -0
- package/tools/agents/plugin/session-start.sh +175 -0
- package/tools/agents/plugin/uap-commands.ts +45 -0
- package/tools/agents/plugin/uap-droids.ts +54 -0
- package/tools/agents/plugin/uap-patterns.ts +54 -0
- package/tools/agents/plugin/uap-skills.ts +52 -0
- package/tools/agents/plugins/uap-enforce.ts +314 -0
- package/tools/agents/scripts/__pycache__/tool_call_wrapper.cpython-313.pyc +0 -0
- package/tools/agents/scripts/chat_template_verifier.py +343 -0
- package/tools/agents/scripts/fix-qwen-template.js +38 -0
- package/tools/agents/scripts/fix_qwen_chat_template.py +316 -0
- package/tools/agents/scripts/generate_lora_training_data.py +412 -0
- package/tools/agents/scripts/init_qdrant.py +151 -0
- package/tools/agents/scripts/memory_migration.py +560 -0
- package/tools/agents/scripts/migrate_memory_to_qdrant.py +110 -0
- package/tools/agents/scripts/prepare_lora.sh +512 -0
- package/tools/agents/scripts/query_memory.py +200 -0
- package/tools/agents/scripts/qwen-tool-call-test.js +38 -0
- package/tools/agents/scripts/qwen-tool-call-wrapper.js +38 -0
- package/tools/agents/scripts/qwen_tool_call_test.py +464 -0
- package/tools/agents/scripts/qwen_tool_call_wrapper.py +686 -0
- package/tools/agents/scripts/start-services.sh +96 -0
- package/tools/agents/scripts/tool-choice-proxy.cjs +296 -0
- package/tools/agents/scripts/tool_call_test.py +656 -0
- package/tools/agents/scripts/tool_call_wrapper.py +799 -0
- package/tools/agents/tests/test_uap_compliance.py +257 -0
- package/tools/agents/uap_agent.py +122 -0
- package/tools/agents/uap_agent_install.sh +12 -0
|
@@ -0,0 +1,401 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ambiguity Detection & Resolution System for UAP
|
|
3
|
+
*
|
|
4
|
+
* Implements P37: Ambiguity Detection pattern.
|
|
5
|
+
* Scores task instructions for ambiguity and generates clarifying questions
|
|
6
|
+
* when the score exceeds configurable thresholds.
|
|
7
|
+
*
|
|
8
|
+
* Ambiguity Levels:
|
|
9
|
+
* - score >= 0.6: MUST ask clarifying questions before execution
|
|
10
|
+
* - score 0.3-0.6: State assumptions explicitly, proceed with caution
|
|
11
|
+
* - score < 0.3: Execute directly (task is clear)
|
|
12
|
+
*/
|
|
13
|
+
// High ambiguity signals (weight: 0.3)
|
|
14
|
+
const HIGH_AMBIGUITY_PATTERNS = [
|
|
15
|
+
{
|
|
16
|
+
pattern: /\b(it|that|this|the thing|the module|the component|the service)\b(?!\s+(is|was|has|should|will|can|must)\s+(a|an|the)\s+\w+)/i,
|
|
17
|
+
type: 'pronoun',
|
|
18
|
+
questionTemplate: 'You mentioned "{match}" — which specific {entity} are you referring to?',
|
|
19
|
+
defaultTemplate: "I'll target the most recently modified {entity}",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
pattern: /\b(similar to|like before|the usual way|as we did|same as|like last time)\b/i,
|
|
23
|
+
type: 'relative_ref',
|
|
24
|
+
questionTemplate: 'You said "{match}" — can you specify which prior implementation or approach?',
|
|
25
|
+
defaultTemplate: "I'll follow the most common pattern in the codebase",
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
pattern: /\b(optimize|improve|fix|update|change|refactor|clean up|enhance)\b(?!\s+(the|this|that|my|our|a|an)\s+\w+\s+(in|at|of|from)\s)/i,
|
|
29
|
+
type: 'unspecified_target',
|
|
30
|
+
questionTemplate: 'You want to {match} — which specific file, module, or component should I target?',
|
|
31
|
+
defaultTemplate: "I'll analyze the codebase to identify the highest-impact target",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
pattern: /\b(update the code|change the config|modify the settings|fix the tests|update the docs)\b/i,
|
|
35
|
+
type: 'missing_scope',
|
|
36
|
+
questionTemplate: 'Should "{match}" apply to all instances or a specific subset?',
|
|
37
|
+
defaultTemplate: "I'll apply changes to the most relevant files based on context",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
pattern: /\b(fast\s+and\s+thorough|simple\s+and\s+comprehensive|quick\s+but\s+complete|minimal\s+but\s+full)\b/i,
|
|
41
|
+
type: 'contradiction',
|
|
42
|
+
questionTemplate: '"{match}" may involve trade-offs. Which aspect takes priority?',
|
|
43
|
+
defaultTemplate: "I'll prioritize correctness over speed",
|
|
44
|
+
},
|
|
45
|
+
];
|
|
46
|
+
// Medium ambiguity signals (weight: 0.2)
|
|
47
|
+
const MEDIUM_AMBIGUITY_PATTERNS = [
|
|
48
|
+
{
|
|
49
|
+
pattern: /\b(obviously|of course|naturally|clearly|surely|everyone knows)\b/i,
|
|
50
|
+
type: 'implicit_assumption',
|
|
51
|
+
questionTemplate: 'You said "{match}" — can you confirm the specific assumption being made?',
|
|
52
|
+
defaultTemplate: "I'll verify the assumption against the codebase before proceeding",
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
pattern: /\b(some|a few|several|many|a couple|a bunch|various|multiple)\b\s+\w+/i,
|
|
56
|
+
type: 'vague_quantifier',
|
|
57
|
+
questionTemplate: 'How many specifically? You mentioned "{match}"',
|
|
58
|
+
defaultTemplate: "I'll handle a reasonable number based on context",
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
pattern: /\b(output|return|produce|generate|create)\s+(the\s+)?(results?|data|output|response)\b(?!\s+(to|in|as|into)\s)/i,
|
|
62
|
+
type: 'underspecified_format',
|
|
63
|
+
questionTemplate: 'What format should the output be in? (JSON, text, file, stdout, etc.)',
|
|
64
|
+
defaultTemplate: "I'll output in the format most consistent with existing code",
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
pattern: /\b(make it work|get it working|make sure it runs|should be good)\b/i,
|
|
68
|
+
type: 'missing_criteria',
|
|
69
|
+
questionTemplate: 'What specific success criteria should I verify? How do I know it\'s "working"?',
|
|
70
|
+
defaultTemplate: "I'll verify by running existing tests and checking for errors",
|
|
71
|
+
},
|
|
72
|
+
];
|
|
73
|
+
// Low ambiguity signals (weight: 0.1)
|
|
74
|
+
const LOW_AMBIGUITY_PATTERNS = [
|
|
75
|
+
{
|
|
76
|
+
pattern: /\b(handle|deal with)\s+(errors?|exceptions?|failures?|edge cases?)\b/i,
|
|
77
|
+
type: 'error_handling',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
pattern: /\b(style|format|convention|naming)\b/i,
|
|
81
|
+
type: 'style_unspecified',
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
pattern: /\b(edge case|corner case|boundary|limit|overflow|underflow)\b/i,
|
|
85
|
+
type: 'edge_case',
|
|
86
|
+
},
|
|
87
|
+
];
|
|
88
|
+
/**
|
|
89
|
+
* Detect ambiguity in a task instruction and generate clarifying questions.
|
|
90
|
+
*
|
|
91
|
+
* @param instruction - The task instruction to analyze
|
|
92
|
+
* @param projectContext - Optional project context for resolving domain terms
|
|
93
|
+
* @returns AmbiguityResult with score, signals, questions, and assumptions
|
|
94
|
+
*/
|
|
95
|
+
export function detectAmbiguity(instruction, projectContext) {
|
|
96
|
+
const signals = [];
|
|
97
|
+
let score = 0;
|
|
98
|
+
// Check high ambiguity patterns (0.3 each)
|
|
99
|
+
for (const { pattern, type, questionTemplate: _qt, defaultTemplate: _dt, } of HIGH_AMBIGUITY_PATTERNS) {
|
|
100
|
+
const match = instruction.match(pattern);
|
|
101
|
+
if (match) {
|
|
102
|
+
const weight = 0.3;
|
|
103
|
+
signals.push({
|
|
104
|
+
type,
|
|
105
|
+
weight,
|
|
106
|
+
match: match[0],
|
|
107
|
+
context: getMatchContext(instruction, match.index || 0),
|
|
108
|
+
});
|
|
109
|
+
score += weight;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// Check medium ambiguity patterns (0.2 each)
|
|
113
|
+
for (const { pattern, type } of MEDIUM_AMBIGUITY_PATTERNS) {
|
|
114
|
+
const match = instruction.match(pattern);
|
|
115
|
+
if (match) {
|
|
116
|
+
const weight = 0.2;
|
|
117
|
+
signals.push({
|
|
118
|
+
type,
|
|
119
|
+
weight,
|
|
120
|
+
match: match[0],
|
|
121
|
+
context: getMatchContext(instruction, match.index || 0),
|
|
122
|
+
});
|
|
123
|
+
score += weight;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// Check low ambiguity patterns (0.1 each)
|
|
127
|
+
for (const { pattern, type } of LOW_AMBIGUITY_PATTERNS) {
|
|
128
|
+
const match = instruction.match(pattern);
|
|
129
|
+
if (match) {
|
|
130
|
+
const weight = 0.1;
|
|
131
|
+
signals.push({
|
|
132
|
+
type,
|
|
133
|
+
weight,
|
|
134
|
+
match: match[0],
|
|
135
|
+
context: getMatchContext(instruction, match.index || 0),
|
|
136
|
+
});
|
|
137
|
+
score += weight;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// Structural ambiguity checks
|
|
141
|
+
score += checkStructuralAmbiguity(instruction, signals);
|
|
142
|
+
// Reduce ambiguity if project context resolves references
|
|
143
|
+
if (projectContext?.knownEntities) {
|
|
144
|
+
score = reduceWithContext(score, signals, projectContext.knownEntities);
|
|
145
|
+
}
|
|
146
|
+
// Cap score at 1.0
|
|
147
|
+
score = Math.min(1.0, score);
|
|
148
|
+
// Determine level
|
|
149
|
+
const level = score >= 0.6 ? 'high' : score >= 0.3 ? 'moderate' : 'clear';
|
|
150
|
+
// Generate questions for high/moderate ambiguity
|
|
151
|
+
const questions = generateQuestions(signals, instruction);
|
|
152
|
+
// Generate assumptions for moderate ambiguity
|
|
153
|
+
const assumptions = generateAssumptions(signals, instruction);
|
|
154
|
+
return {
|
|
155
|
+
score,
|
|
156
|
+
level,
|
|
157
|
+
signals,
|
|
158
|
+
questions: questions.slice(0, 5), // Max 5 questions per P37
|
|
159
|
+
assumptions,
|
|
160
|
+
shouldAsk: level === 'high',
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Check structural ambiguity (instruction-level patterns)
|
|
165
|
+
*/
|
|
166
|
+
function checkStructuralAmbiguity(instruction, signals) {
|
|
167
|
+
let additionalScore = 0;
|
|
168
|
+
// Very short instructions are often ambiguous
|
|
169
|
+
const wordCount = instruction.split(/\s+/).length;
|
|
170
|
+
if (wordCount <= 3) {
|
|
171
|
+
signals.push({
|
|
172
|
+
type: 'missing_scope',
|
|
173
|
+
weight: 0.3,
|
|
174
|
+
match: instruction,
|
|
175
|
+
context: 'Very short instruction — likely missing details',
|
|
176
|
+
});
|
|
177
|
+
additionalScore += 0.3;
|
|
178
|
+
}
|
|
179
|
+
// No file paths or specific identifiers
|
|
180
|
+
const hasSpecificTarget = /[\w./\\-]+\.(ts|js|py|json|yaml|sh|sql|md|css|html)/i.test(instruction) ||
|
|
181
|
+
/\b(src|lib|test|config|scripts?)\//i.test(instruction);
|
|
182
|
+
if (!hasSpecificTarget && wordCount > 5) {
|
|
183
|
+
// Only flag if instruction is long enough to potentially need a target
|
|
184
|
+
const hasAction = /\b(fix|add|update|create|implement|refactor|optimize|remove|delete|change)\b/i.test(instruction);
|
|
185
|
+
if (hasAction) {
|
|
186
|
+
signals.push({
|
|
187
|
+
type: 'unspecified_target',
|
|
188
|
+
weight: 0.15,
|
|
189
|
+
match: 'no specific file/path mentioned',
|
|
190
|
+
context: 'Action verb present but no target file or path specified',
|
|
191
|
+
});
|
|
192
|
+
additionalScore += 0.15;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
// Multiple action verbs suggest compound task
|
|
196
|
+
const actionVerbs = instruction.match(/\b(fix|add|update|create|implement|refactor|optimize|remove|delete|change|configure|setup|install|deploy|test|verify)\b/gi);
|
|
197
|
+
if (actionVerbs && actionVerbs.length >= 3) {
|
|
198
|
+
signals.push({
|
|
199
|
+
type: 'missing_scope',
|
|
200
|
+
weight: 0.15,
|
|
201
|
+
match: `${actionVerbs.length} action verbs: ${actionVerbs.slice(0, 3).join(', ')}...`,
|
|
202
|
+
context: 'Multiple actions requested — may need prioritization',
|
|
203
|
+
});
|
|
204
|
+
additionalScore += 0.15;
|
|
205
|
+
}
|
|
206
|
+
return additionalScore;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Reduce ambiguity score when project context resolves references
|
|
210
|
+
*/
|
|
211
|
+
function reduceWithContext(score, signals, knownEntities) {
|
|
212
|
+
let reduction = 0;
|
|
213
|
+
for (const signal of signals) {
|
|
214
|
+
// If a pronoun/reference matches a known entity, reduce its weight
|
|
215
|
+
if (signal.type === 'pronoun' || signal.type === 'relative_ref') {
|
|
216
|
+
const matchesEntity = knownEntities.some((entity) => signal.context.toLowerCase().includes(entity.toLowerCase()));
|
|
217
|
+
if (matchesEntity) {
|
|
218
|
+
reduction += signal.weight * 0.5; // Reduce by half
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
return Math.max(0, score - reduction);
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Generate clarifying questions from ambiguity signals
|
|
226
|
+
*/
|
|
227
|
+
function generateQuestions(signals, instruction) {
|
|
228
|
+
const questions = [];
|
|
229
|
+
// Sort signals by weight (highest first = most important questions)
|
|
230
|
+
const sortedSignals = [...signals].sort((a, b) => b.weight - a.weight);
|
|
231
|
+
for (const signal of sortedSignals) {
|
|
232
|
+
const question = generateQuestionForSignal(signal, instruction);
|
|
233
|
+
if (question) {
|
|
234
|
+
questions.push(question);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
return questions;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Generate a single clarifying question for an ambiguity signal
|
|
241
|
+
*/
|
|
242
|
+
function generateQuestionForSignal(signal, _instruction) {
|
|
243
|
+
const templates = {
|
|
244
|
+
pronoun: {
|
|
245
|
+
question: `You mentioned "${signal.match}" — which specific file, module, or component are you referring to?`,
|
|
246
|
+
default: "I'll target the most recently modified relevant file",
|
|
247
|
+
priority: 'blocking',
|
|
248
|
+
},
|
|
249
|
+
relative_ref: {
|
|
250
|
+
question: `You said "${signal.match}" — can you specify which prior implementation or approach you mean?`,
|
|
251
|
+
default: "I'll follow the most common pattern in the codebase",
|
|
252
|
+
priority: 'blocking',
|
|
253
|
+
},
|
|
254
|
+
unspecified_target: {
|
|
255
|
+
question: `You want to "${signal.match}" — which specific file or component should I target?`,
|
|
256
|
+
default: "I'll analyze the codebase to identify the highest-impact target",
|
|
257
|
+
priority: 'blocking',
|
|
258
|
+
},
|
|
259
|
+
missing_scope: {
|
|
260
|
+
question: `For "${signal.match}" — should this apply to all instances or a specific subset?`,
|
|
261
|
+
default: "I'll apply changes to the most relevant files based on context",
|
|
262
|
+
priority: 'important',
|
|
263
|
+
},
|
|
264
|
+
contradiction: {
|
|
265
|
+
question: `"${signal.match}" involves trade-offs. Which aspect takes priority?`,
|
|
266
|
+
default: "I'll prioritize correctness over speed",
|
|
267
|
+
priority: 'blocking',
|
|
268
|
+
},
|
|
269
|
+
implicit_assumption: {
|
|
270
|
+
question: `You said "${signal.match}" — can you confirm the specific assumption?`,
|
|
271
|
+
default: "I'll verify the assumption against the codebase",
|
|
272
|
+
priority: 'important',
|
|
273
|
+
},
|
|
274
|
+
vague_quantifier: {
|
|
275
|
+
question: `How many specifically? You mentioned "${signal.match}"`,
|
|
276
|
+
default: "I'll handle a reasonable number based on context",
|
|
277
|
+
priority: 'nice_to_know',
|
|
278
|
+
},
|
|
279
|
+
undefined_term: {
|
|
280
|
+
question: `Can you define "${signal.match}" in the context of this project?`,
|
|
281
|
+
default: "I'll use the standard industry definition",
|
|
282
|
+
priority: 'important',
|
|
283
|
+
},
|
|
284
|
+
missing_criteria: {
|
|
285
|
+
question: `What specific success criteria should I verify? How do I know "${signal.match}" is achieved?`,
|
|
286
|
+
default: "I'll verify by running existing tests and checking for errors",
|
|
287
|
+
priority: 'important',
|
|
288
|
+
},
|
|
289
|
+
underspecified_format: {
|
|
290
|
+
question: `What format should the output be in? (JSON, text, file, stdout, etc.)`,
|
|
291
|
+
default: "I'll output in the format most consistent with existing code",
|
|
292
|
+
priority: 'nice_to_know',
|
|
293
|
+
},
|
|
294
|
+
optional_unspecified: {
|
|
295
|
+
question: `Should I include optional parameters for "${signal.match}"?`,
|
|
296
|
+
default: "I'll use sensible defaults",
|
|
297
|
+
priority: 'nice_to_know',
|
|
298
|
+
},
|
|
299
|
+
style_unspecified: {
|
|
300
|
+
question: `Any specific style or formatting preferences for "${signal.match}"?`,
|
|
301
|
+
default: "I'll follow the existing project conventions",
|
|
302
|
+
priority: 'nice_to_know',
|
|
303
|
+
},
|
|
304
|
+
error_handling: {
|
|
305
|
+
question: `How should errors be handled for "${signal.match}"? (throw, log, retry, ignore)`,
|
|
306
|
+
default: "I'll throw errors for critical failures and log warnings for recoverable ones",
|
|
307
|
+
priority: 'nice_to_know',
|
|
308
|
+
},
|
|
309
|
+
edge_case: {
|
|
310
|
+
question: `Any specific edge cases to handle for "${signal.match}"?`,
|
|
311
|
+
default: "I'll handle common edge cases (null, empty, boundary values)",
|
|
312
|
+
priority: 'nice_to_know',
|
|
313
|
+
},
|
|
314
|
+
};
|
|
315
|
+
const template = templates[signal.type];
|
|
316
|
+
if (!template)
|
|
317
|
+
return null;
|
|
318
|
+
return {
|
|
319
|
+
question: template.question,
|
|
320
|
+
defaultAnswer: template.default,
|
|
321
|
+
priority: template.priority,
|
|
322
|
+
relatedSignal: signal,
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Generate assumptions for moderate ambiguity (stated before proceeding)
|
|
327
|
+
*/
|
|
328
|
+
function generateAssumptions(signals, _instruction) {
|
|
329
|
+
const assumptions = [];
|
|
330
|
+
for (const signal of signals) {
|
|
331
|
+
switch (signal.type) {
|
|
332
|
+
case 'unspecified_target':
|
|
333
|
+
assumptions.push(`Assuming the target is the most relevant file based on codebase analysis`);
|
|
334
|
+
break;
|
|
335
|
+
case 'missing_scope':
|
|
336
|
+
assumptions.push(`Assuming changes should apply to the primary implementation, not tests or docs`);
|
|
337
|
+
break;
|
|
338
|
+
case 'error_handling':
|
|
339
|
+
assumptions.push(`Assuming standard error handling: throw on critical, log on recoverable`);
|
|
340
|
+
break;
|
|
341
|
+
case 'style_unspecified':
|
|
342
|
+
assumptions.push(`Following existing project conventions for style and formatting`);
|
|
343
|
+
break;
|
|
344
|
+
case 'edge_case':
|
|
345
|
+
assumptions.push(`Handling standard edge cases: null/undefined, empty collections, boundary values`);
|
|
346
|
+
break;
|
|
347
|
+
case 'underspecified_format':
|
|
348
|
+
assumptions.push(`Using the output format most consistent with existing code patterns`);
|
|
349
|
+
break;
|
|
350
|
+
case 'missing_criteria':
|
|
351
|
+
assumptions.push(`Success criteria: existing tests pass, no new errors, linter clean`);
|
|
352
|
+
break;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
return [...new Set(assumptions)]; // Deduplicate
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* Get surrounding context for a match
|
|
359
|
+
*/
|
|
360
|
+
function getMatchContext(text, matchIndex) {
|
|
361
|
+
const start = Math.max(0, matchIndex - 30);
|
|
362
|
+
const end = Math.min(text.length, matchIndex + 50);
|
|
363
|
+
return text.slice(start, end).trim();
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Format ambiguity result for injection into agent context
|
|
367
|
+
*/
|
|
368
|
+
export function formatAmbiguityForContext(result) {
|
|
369
|
+
if (result.level === 'clear')
|
|
370
|
+
return '';
|
|
371
|
+
const sections = [];
|
|
372
|
+
if (result.level === 'high') {
|
|
373
|
+
sections.push('## AMBIGUITY DETECTED — Clarification Needed');
|
|
374
|
+
sections.push(`Ambiguity score: ${result.score.toFixed(2)} (threshold: 0.6)`);
|
|
375
|
+
sections.push('');
|
|
376
|
+
sections.push('### Questions to resolve before proceeding:');
|
|
377
|
+
for (const q of result.questions.filter((q) => q.priority === 'blocking')) {
|
|
378
|
+
sections.push(`- **${q.question}**`);
|
|
379
|
+
sections.push(` Default: ${q.defaultAnswer}`);
|
|
380
|
+
}
|
|
381
|
+
for (const q of result.questions.filter((q) => q.priority === 'important')) {
|
|
382
|
+
sections.push(`- ${q.question}`);
|
|
383
|
+
sections.push(` Default: ${q.defaultAnswer}`);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
else if (result.level === 'moderate') {
|
|
387
|
+
sections.push('## Assumptions (Moderate Ambiguity)');
|
|
388
|
+
sections.push(`Ambiguity score: ${result.score.toFixed(2)}`);
|
|
389
|
+
sections.push('');
|
|
390
|
+
sections.push('Proceeding with these assumptions:');
|
|
391
|
+
for (const assumption of result.assumptions) {
|
|
392
|
+
sections.push(`- ${assumption}`);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
return sections.join('\n');
|
|
396
|
+
}
|
|
397
|
+
export default {
|
|
398
|
+
detectAmbiguity,
|
|
399
|
+
formatAmbiguityForContext,
|
|
400
|
+
};
|
|
401
|
+
//# sourceMappingURL=ambiguity-detector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ambiguity-detector.js","sourceRoot":"","sources":["../../src/memory/ambiguity-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface MemoryEntry {
|
|
2
|
+
id: string;
|
|
3
|
+
timestamp: string;
|
|
4
|
+
type: 'action' | 'observation' | 'thought' | 'goal' | 'lesson' | 'decision';
|
|
5
|
+
content: string;
|
|
6
|
+
embedding?: number[];
|
|
7
|
+
tags?: string[];
|
|
8
|
+
importance?: number;
|
|
9
|
+
metadata?: Record<string, unknown>;
|
|
10
|
+
}
|
|
11
|
+
export interface MemoryBackend {
|
|
12
|
+
isConfigured(): Promise<boolean>;
|
|
13
|
+
store(entry: MemoryEntry): Promise<void>;
|
|
14
|
+
query(query: string, limit?: number): Promise<MemoryEntry[]>;
|
|
15
|
+
getRecent(limit?: number): Promise<MemoryEntry[]>;
|
|
16
|
+
prune(olderThan: Date): Promise<number>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/memory/backends/base.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAE5B,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAGjC,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGzC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAG7D,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAGlD,KAAK,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/memory/backends/base.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/memory/backends/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAI/C,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAuDnG"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { GitHubMemoryBackend } from './github.js';
|
|
2
|
+
import { QdrantCloudBackend } from './qdrant-cloud.js';
|
|
3
|
+
export async function createMemoryBackend(config) {
|
|
4
|
+
if (!config.memory?.longTerm?.enabled) {
|
|
5
|
+
return null;
|
|
6
|
+
}
|
|
7
|
+
const longTerm = config.memory.longTerm;
|
|
8
|
+
// Check GitHub backend (opt-in via config or env vars)
|
|
9
|
+
if (longTerm.github?.enabled) {
|
|
10
|
+
const token = longTerm.github.token || process.env.GITHUB_TOKEN;
|
|
11
|
+
const repo = longTerm.github.repo;
|
|
12
|
+
if (token && repo) {
|
|
13
|
+
try {
|
|
14
|
+
const backend = new GitHubMemoryBackend({
|
|
15
|
+
token,
|
|
16
|
+
repo,
|
|
17
|
+
path: longTerm.github.path || '.uap/memory',
|
|
18
|
+
branch: longTerm.github.branch || 'main',
|
|
19
|
+
});
|
|
20
|
+
if (await backend.isConfigured()) {
|
|
21
|
+
return backend;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
console.warn(`GitHub backend not available: ${error}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
// Check Qdrant Cloud backend (opt-in via config or env vars)
|
|
30
|
+
if (longTerm.qdrantCloud?.enabled) {
|
|
31
|
+
const apiKey = longTerm.qdrantCloud.apiKey || process.env.QDRANT_API_KEY;
|
|
32
|
+
const url = longTerm.qdrantCloud.url || process.env.QDRANT_URL;
|
|
33
|
+
if (apiKey && url) {
|
|
34
|
+
try {
|
|
35
|
+
const backend = new QdrantCloudBackend({
|
|
36
|
+
url,
|
|
37
|
+
apiKey,
|
|
38
|
+
collection: longTerm.qdrantCloud.collection || 'agent_memory',
|
|
39
|
+
projectId: config.project?.name || process.cwd(),
|
|
40
|
+
});
|
|
41
|
+
if (await backend.isConfigured()) {
|
|
42
|
+
return backend;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
console.warn(`Qdrant Cloud backend not available: ${error}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// No configured backend found - gracefully return null
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/memory/backends/factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAA0B;IAClE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;IAExC,uDAAuD;IACvD,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QAChE,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAElC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC;oBACtC,KAAK;oBACL,IAAI;oBACJ,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,aAAa;oBAC3C,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM;iBACzC,CAAC,CAAC;gBAEH,IAAI,MAAM,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;oBACjC,OAAO,OAAO,CAAC;gBACjB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,IAAI,QAAQ,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QACzE,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QAE/D,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC;oBACrC,GAAG;oBACH,MAAM;oBACN,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,UAAU,IAAI,cAAc;oBAC7D,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE;iBACjD,CAAC,CAAC;gBAEH,IAAI,MAAM,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;oBACjC,OAAO,OAAO,CAAC;gBACjB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { MemoryBackend, MemoryEntry } from './base.js';
|
|
2
|
+
interface GitHubMemoryBackendConfig {
|
|
3
|
+
token: string;
|
|
4
|
+
repo: string;
|
|
5
|
+
path: string;
|
|
6
|
+
branch: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class GitHubMemoryBackend implements MemoryBackend {
|
|
9
|
+
private octokit;
|
|
10
|
+
private repo;
|
|
11
|
+
private owner;
|
|
12
|
+
private path;
|
|
13
|
+
private branch;
|
|
14
|
+
constructor(config: GitHubMemoryBackendConfig);
|
|
15
|
+
isConfigured(): Promise<boolean>;
|
|
16
|
+
store(entry: MemoryEntry): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Query memories by substring match (case-insensitive).
|
|
19
|
+
* Note: This is NOT semantic search — it uses simple string containment.
|
|
20
|
+
* For semantic search, use QdrantCloudBackend instead.
|
|
21
|
+
*/
|
|
22
|
+
query(query: string, limit?: number): Promise<MemoryEntry[]>;
|
|
23
|
+
getRecent(limit?: number): Promise<MemoryEntry[]>;
|
|
24
|
+
prune(olderThan: Date): Promise<number>;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=github.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../src/memory/backends/github.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE5D,UAAU,yBAAyB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,mBAAoB,YAAW,aAAa;IACvD,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,yBAAyB;IAWvC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAShC,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB9C;;;;OAIG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAOxD,SAAS,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAoC7C,KAAK,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;CA4C9C"}
|