@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,91 @@
|
|
|
1
|
+
# UAP Plugins
|
|
2
|
+
|
|
3
|
+
This directory contains all UAP (Universal Agent Protocol) plugins, hooks, and utilities.
|
|
4
|
+
|
|
5
|
+
## Plugin Files
|
|
6
|
+
|
|
7
|
+
### TypeScript Plugins
|
|
8
|
+
|
|
9
|
+
- **uap-commands.ts** - Defines UAP-specific commands for opencode integration
|
|
10
|
+
- **uap-droids.ts** - Specialized agent droids (code reviewer, security auditor, etc.)
|
|
11
|
+
- **uap-skills.ts** - Domain-specific skills (git workflow, testing patterns, etc.)
|
|
12
|
+
- **uap-patterns.ts** - Reusable coding patterns distilled from experience
|
|
13
|
+
|
|
14
|
+
### Shell Hooks
|
|
15
|
+
|
|
16
|
+
- **session-start.sh** - Runs at session initialization to enforce UAP compliance
|
|
17
|
+
- **pre-compact.sh** - Runs before context compression to preserve critical information
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
### Install Plugins
|
|
22
|
+
|
|
23
|
+
To install all UAP plugins for opencode:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
uap install opencode
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
This will copy all plugin files to `~/.opencode/plugin/`.
|
|
30
|
+
|
|
31
|
+
### Available Droids
|
|
32
|
+
|
|
33
|
+
- **code-reviewer** - Reviews code changes for quality and security
|
|
34
|
+
- **security-auditor** - Audits code for security vulnerabilities
|
|
35
|
+
- **performance-optimizer** - Analyzes and optimizes performance bottlenecks
|
|
36
|
+
- **unit-tester** - Generates comprehensive unit tests
|
|
37
|
+
- **debug-helper** - Helps diagnose and fix bugs
|
|
38
|
+
|
|
39
|
+
### Available Skills
|
|
40
|
+
|
|
41
|
+
- **git-workflow** - Manages git workflows with worktrees and branches
|
|
42
|
+
- **testing-patterns** - Applies testing best practices and patterns
|
|
43
|
+
- **ci-cd-setup** - Configures continuous integration and deployment pipelines
|
|
44
|
+
- **documentation-gen** - Generates and maintains project documentation
|
|
45
|
+
|
|
46
|
+
### Available Patterns
|
|
47
|
+
|
|
48
|
+
- **generic-uap-patterns** - Distilled patterns from tbench-specific implementation
|
|
49
|
+
- **worktree-isolation** - Use git worktrees for isolated feature development
|
|
50
|
+
- **session-persistence** - Maintain state across sessions using memory system
|
|
51
|
+
- **task-tracking** - Track and manage tasks with UAP task system
|
|
52
|
+
- **agent-coordination** - Coordinate multiple AI agents for complex tasks
|
|
53
|
+
|
|
54
|
+
## Plugin Manifest
|
|
55
|
+
|
|
56
|
+
Each plugin is registered in the `index.ts` file which exports:
|
|
57
|
+
|
|
58
|
+
- Version information
|
|
59
|
+
- Plugin manifest with hooks, droids, skills, and patterns
|
|
60
|
+
- Individual plugin modules
|
|
61
|
+
|
|
62
|
+
## Creating New Plugins
|
|
63
|
+
|
|
64
|
+
To add a new plugin:
|
|
65
|
+
|
|
66
|
+
1. Create a new TypeScript file in this directory
|
|
67
|
+
2. Export definitions using the appropriate interfaces
|
|
68
|
+
3. Add to the `index.ts` exports
|
|
69
|
+
4. Register in the `uapPluginManifest`
|
|
70
|
+
|
|
71
|
+
Example:
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
export interface MyPlugin {
|
|
75
|
+
id: string;
|
|
76
|
+
name: string;
|
|
77
|
+
description: string;
|
|
78
|
+
enabled: boolean;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export const myPlugin: MyPlugin = {
|
|
82
|
+
id: 'my-plugin',
|
|
83
|
+
name: 'My Plugin',
|
|
84
|
+
description: 'Description of my plugin',
|
|
85
|
+
enabled: true,
|
|
86
|
+
};
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## License
|
|
90
|
+
|
|
91
|
+
Part of Universal Agent Protocol v0.10.3
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* UAP Plugin Index
|
|
4
|
+
*
|
|
5
|
+
* This file serves as the main entry point for all UAP plugins.
|
|
6
|
+
* It exports all available plugins, hooks, and utilities.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { uapCommands } from './uap-commands.js';
|
|
10
|
+
import { uapDroids } from './uap-droids.js';
|
|
11
|
+
import { uapSkills } from './uap-skills.js';
|
|
12
|
+
import { uapPatterns } from './uap-patterns.js';
|
|
13
|
+
|
|
14
|
+
export const UAP_VERSION = '7.0.2';
|
|
15
|
+
|
|
16
|
+
export interface UAPPluginManifest {
|
|
17
|
+
name: string;
|
|
18
|
+
version: string;
|
|
19
|
+
description: string;
|
|
20
|
+
hooks?: string[];
|
|
21
|
+
droids?: string[];
|
|
22
|
+
skills?: string[];
|
|
23
|
+
patterns?: string[];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export const uapPluginManifest: UAPPluginManifest = {
|
|
27
|
+
name: 'universal-agent-protocol',
|
|
28
|
+
version: UAP_VERSION,
|
|
29
|
+
description: 'Universal Agent Protocol - AI agents that learn and remember across sessions',
|
|
30
|
+
hooks: ['session-start.sh', 'pre-compact.sh'],
|
|
31
|
+
droids: uapDroids.map((d) => d.id),
|
|
32
|
+
skills: uapSkills.map((s) => s.id),
|
|
33
|
+
patterns: uapPatterns.map((p) => p.id),
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export { uapCommands, uapDroids, uapSkills, uapPatterns };
|
|
37
|
+
|
|
38
|
+
// Default export for easy importing
|
|
39
|
+
export default {
|
|
40
|
+
version: UAP_VERSION,
|
|
41
|
+
manifest: uapPluginManifest,
|
|
42
|
+
commands: uapCommands,
|
|
43
|
+
droids: uapDroids,
|
|
44
|
+
skills: uapSkills,
|
|
45
|
+
patterns: uapPatterns,
|
|
46
|
+
};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# UAP Pre-Compact Hook for Claude Code
|
|
3
|
+
# 1. Checks compliance state and warns on violations
|
|
4
|
+
# 2. Writes a timestamp marker to the daily log before context compaction
|
|
5
|
+
# 3. Marks any agents registered by this session as completed
|
|
6
|
+
# Fails safely - never blocks the agent.
|
|
7
|
+
set -euo pipefail
|
|
8
|
+
|
|
9
|
+
PROJECT_DIR="${CLAUDE_PROJECT_DIR:-.}"
|
|
10
|
+
DB_PATH="${PROJECT_DIR}/agents/data/memory/short_term.db"
|
|
11
|
+
COORD_DB="${PROJECT_DIR}/agents/data/coordination/coordination.db"
|
|
12
|
+
|
|
13
|
+
if [ ! -f "$DB_PATH" ]; then
|
|
14
|
+
exit 0
|
|
15
|
+
fi
|
|
16
|
+
|
|
17
|
+
TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
|
18
|
+
|
|
19
|
+
# Record a compaction marker in memory so sessions can detect context resets
|
|
20
|
+
sqlite3 "$DB_PATH" "
|
|
21
|
+
INSERT OR IGNORE INTO memories (timestamp, type, content)
|
|
22
|
+
VALUES ('$TIMESTAMP', 'action', '[pre-compact] Context compaction at $TIMESTAMP');
|
|
23
|
+
" 2>/dev/null || true
|
|
24
|
+
|
|
25
|
+
# Check if any lessons were stored this session
|
|
26
|
+
recent_lessons=$(sqlite3 "$DB_PATH" "
|
|
27
|
+
SELECT COUNT(*) FROM session_memories
|
|
28
|
+
WHERE timestamp >= datetime('now', '-2 hours')
|
|
29
|
+
AND type = 'decision';
|
|
30
|
+
" 2>/dev/null || echo "0")
|
|
31
|
+
|
|
32
|
+
output=""
|
|
33
|
+
|
|
34
|
+
# Compliance reminder on compaction
|
|
35
|
+
output+="<system-reminder>"$'\n'
|
|
36
|
+
output+="## UAP COMPLIANCE REMINDER (Pre-Compact)"$'\n'
|
|
37
|
+
output+=""$'\n'
|
|
38
|
+
output+="Context is being compacted. Before continuing work after compaction:"$'\n'
|
|
39
|
+
output+="1. Re-run: uap task ready"$'\n'
|
|
40
|
+
output+="2. Re-query memory for current task context"$'\n'
|
|
41
|
+
output+="3. Check for stale worktrees: uap worktree list"$'\n'
|
|
42
|
+
output+=""$'\n'
|
|
43
|
+
|
|
44
|
+
if [ "$recent_lessons" = "0" ]; then
|
|
45
|
+
output+="WARNING: No lessons stored this session. Before compaction completes,"$'\n'
|
|
46
|
+
output+="store a summary: sqlite3 ./agents/data/memory/short_term.db \"INSERT INTO session_memories (session_id,timestamp,type,content,importance) VALUES ('current',datetime('now'),'decision','<summary>',7);\""$'\n'
|
|
47
|
+
fi
|
|
48
|
+
|
|
49
|
+
output+="</system-reminder>"$'\n'
|
|
50
|
+
|
|
51
|
+
echo "$output"
|
|
52
|
+
|
|
53
|
+
# Clean up agents with recent heartbeats (likely from this session being compacted)
|
|
54
|
+
if [ -f "$COORD_DB" ]; then
|
|
55
|
+
sqlite3 "$COORD_DB" "
|
|
56
|
+
DELETE FROM work_claims WHERE agent_id IN (
|
|
57
|
+
SELECT id FROM agent_registry
|
|
58
|
+
WHERE status='active' AND last_heartbeat >= datetime('now','-5 minutes')
|
|
59
|
+
);
|
|
60
|
+
UPDATE work_announcements SET completed_at='$TIMESTAMP'
|
|
61
|
+
WHERE completed_at IS NULL AND agent_id IN (
|
|
62
|
+
SELECT id FROM agent_registry
|
|
63
|
+
WHERE status='active' AND last_heartbeat >= datetime('now','-5 minutes')
|
|
64
|
+
);
|
|
65
|
+
UPDATE agent_registry SET status='completed'
|
|
66
|
+
WHERE status='active' AND last_heartbeat >= datetime('now','-5 minutes');
|
|
67
|
+
" 2>/dev/null || true
|
|
68
|
+
fi
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# UAP Session Start Hook for Claude Code
|
|
3
|
+
# COMPLIANCE ENFORCEMENT: Outputs mandatory protocol checklist
|
|
4
|
+
# that the AI agent MUST complete before any work begins.
|
|
5
|
+
# Fails safely - never blocks the agent.
|
|
6
|
+
set -euo pipefail
|
|
7
|
+
|
|
8
|
+
PROJECT_DIR="${CLAUDE_PROJECT_DIR:-.}"
|
|
9
|
+
DB_PATH="${PROJECT_DIR}/agents/data/memory/short_term.db"
|
|
10
|
+
COORD_DB="${PROJECT_DIR}/agents/data/coordination/coordination.db"
|
|
11
|
+
|
|
12
|
+
if [ ! -f "$DB_PATH" ]; then
|
|
13
|
+
exit 0
|
|
14
|
+
fi
|
|
15
|
+
|
|
16
|
+
# Auto-create coordination DB if missing (self-healing)
|
|
17
|
+
if [ ! -f "$COORD_DB" ]; then
|
|
18
|
+
mkdir -p "$(dirname "$COORD_DB")"
|
|
19
|
+
sqlite3 "$COORD_DB" "
|
|
20
|
+
PRAGMA journal_mode = WAL;
|
|
21
|
+
PRAGMA synchronous = NORMAL;
|
|
22
|
+
PRAGMA busy_timeout = 10000;
|
|
23
|
+
|
|
24
|
+
CREATE TABLE IF NOT EXISTS agent_registry (
|
|
25
|
+
id TEXT PRIMARY KEY, name TEXT NOT NULL, session_id TEXT NOT NULL,
|
|
26
|
+
status TEXT NOT NULL CHECK(status IN ('active','idle','completed','failed')),
|
|
27
|
+
current_task TEXT, worktree_branch TEXT, started_at TEXT NOT NULL,
|
|
28
|
+
last_heartbeat TEXT NOT NULL, capabilities TEXT
|
|
29
|
+
);
|
|
30
|
+
CREATE INDEX IF NOT EXISTS idx_agent_registry_session ON agent_registry(session_id);
|
|
31
|
+
CREATE INDEX IF NOT EXISTS idx_agent_registry_status ON agent_registry(status);
|
|
32
|
+
|
|
33
|
+
CREATE TABLE IF NOT EXISTS agent_messages (
|
|
34
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT, channel TEXT NOT NULL,
|
|
35
|
+
from_agent TEXT, to_agent TEXT,
|
|
36
|
+
type TEXT NOT NULL CHECK(type IN ('request','response','notification','claim','release')),
|
|
37
|
+
payload TEXT NOT NULL, priority INTEGER DEFAULT 5,
|
|
38
|
+
created_at TEXT NOT NULL, read_at TEXT, expires_at TEXT
|
|
39
|
+
);
|
|
40
|
+
CREATE INDEX IF NOT EXISTS idx_messages_channel ON agent_messages(channel);
|
|
41
|
+
CREATE INDEX IF NOT EXISTS idx_messages_to_agent ON agent_messages(to_agent);
|
|
42
|
+
CREATE INDEX IF NOT EXISTS idx_messages_created ON agent_messages(created_at);
|
|
43
|
+
|
|
44
|
+
CREATE TABLE IF NOT EXISTS work_announcements (
|
|
45
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT, agent_id TEXT NOT NULL,
|
|
46
|
+
agent_name TEXT, worktree_branch TEXT,
|
|
47
|
+
intent_type TEXT NOT NULL CHECK(intent_type IN ('editing','reviewing','refactoring','testing','documenting')),
|
|
48
|
+
resource TEXT NOT NULL, description TEXT, files_affected TEXT,
|
|
49
|
+
estimated_completion TEXT, announced_at TEXT NOT NULL, completed_at TEXT,
|
|
50
|
+
FOREIGN KEY (agent_id) REFERENCES agent_registry(id)
|
|
51
|
+
);
|
|
52
|
+
CREATE INDEX IF NOT EXISTS idx_announcements_agent ON work_announcements(agent_id);
|
|
53
|
+
CREATE INDEX IF NOT EXISTS idx_announcements_resource ON work_announcements(resource);
|
|
54
|
+
CREATE INDEX IF NOT EXISTS idx_announcements_active ON work_announcements(completed_at) WHERE completed_at IS NULL;
|
|
55
|
+
|
|
56
|
+
CREATE TABLE IF NOT EXISTS work_claims (
|
|
57
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT, resource TEXT NOT NULL,
|
|
58
|
+
agent_id TEXT NOT NULL, claim_type TEXT NOT NULL CHECK(claim_type IN ('exclusive','shared')),
|
|
59
|
+
claimed_at TEXT NOT NULL, expires_at TEXT,
|
|
60
|
+
FOREIGN KEY (agent_id) REFERENCES agent_registry(id)
|
|
61
|
+
);
|
|
62
|
+
CREATE INDEX IF NOT EXISTS idx_claims_agent ON work_claims(agent_id);
|
|
63
|
+
CREATE INDEX IF NOT EXISTS idx_claims_resource ON work_claims(resource);
|
|
64
|
+
|
|
65
|
+
CREATE TABLE IF NOT EXISTS deploy_queue (
|
|
66
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT, agent_id TEXT NOT NULL,
|
|
67
|
+
action_type TEXT NOT NULL CHECK(action_type IN ('commit','push','merge','deploy','workflow')),
|
|
68
|
+
target TEXT NOT NULL, payload TEXT,
|
|
69
|
+
status TEXT NOT NULL CHECK(status IN ('pending','batched','executing','completed','failed')),
|
|
70
|
+
batch_id TEXT, queued_at TEXT NOT NULL, execute_after TEXT,
|
|
71
|
+
priority INTEGER DEFAULT 5, dependencies TEXT
|
|
72
|
+
);
|
|
73
|
+
CREATE INDEX IF NOT EXISTS idx_deploy_status ON deploy_queue(status);
|
|
74
|
+
CREATE INDEX IF NOT EXISTS idx_deploy_batch ON deploy_queue(batch_id);
|
|
75
|
+
CREATE INDEX IF NOT EXISTS idx_deploy_target ON deploy_queue(target);
|
|
76
|
+
|
|
77
|
+
CREATE TABLE IF NOT EXISTS deploy_batches (
|
|
78
|
+
id TEXT PRIMARY KEY, created_at TEXT NOT NULL, executed_at TEXT,
|
|
79
|
+
status TEXT NOT NULL CHECK(status IN ('pending','executing','completed','failed')),
|
|
80
|
+
result TEXT
|
|
81
|
+
);
|
|
82
|
+
" 2>/dev/null || true
|
|
83
|
+
fi
|
|
84
|
+
|
|
85
|
+
# Clean stale agents from coordination DB (heartbeat >24h old)
|
|
86
|
+
if [ -f "$COORD_DB" ]; then
|
|
87
|
+
sqlite3 "$COORD_DB" "
|
|
88
|
+
DELETE FROM work_claims WHERE agent_id IN (
|
|
89
|
+
SELECT id FROM agent_registry
|
|
90
|
+
WHERE status IN ('active','idle') AND last_heartbeat < datetime('now','-24 hours')
|
|
91
|
+
);
|
|
92
|
+
DELETE FROM work_announcements WHERE agent_id IN (
|
|
93
|
+
SELECT id FROM agent_registry
|
|
94
|
+
WHERE status IN ('active','idle') AND last_heartbeat < datetime('now','-24 hours')
|
|
95
|
+
) AND completed_at IS NULL;
|
|
96
|
+
UPDATE agent_registry SET status='failed'
|
|
97
|
+
WHERE status IN ('active','idle') AND last_heartbeat < datetime('now','-24 hours');
|
|
98
|
+
DELETE FROM agent_registry
|
|
99
|
+
WHERE status IN ('completed','failed') AND started_at < datetime('now','-7 days');
|
|
100
|
+
DELETE FROM agent_messages WHERE created_at < datetime('now','-24 hours');
|
|
101
|
+
" 2>/dev/null || true
|
|
102
|
+
fi
|
|
103
|
+
|
|
104
|
+
output=""
|
|
105
|
+
|
|
106
|
+
# ============================================================
|
|
107
|
+
# COMPLIANCE ENFORCEMENT BLOCK
|
|
108
|
+
# This is injected as system context. The AI MUST follow these.
|
|
109
|
+
# ============================================================
|
|
110
|
+
output+="<system-reminder>"$'\n'
|
|
111
|
+
output+="## UAP COMPLIANCE - MANDATORY PROTOCOL"$'\n'
|
|
112
|
+
output+=""$'\n'
|
|
113
|
+
output+="You MUST complete these steps IN ORDER before doing ANY work."$'\n'
|
|
114
|
+
output+="Skipping ANY step is a critical protocol violation."$'\n'
|
|
115
|
+
output+=""$'\n'
|
|
116
|
+
output+="### BEFORE WORK (execute these commands NOW):"$'\n'
|
|
117
|
+
output+="1. Run: uap task ready"$'\n'
|
|
118
|
+
output+="2. Run: sqlite3 ./agents/data/memory/short_term.db \"SELECT type, substr(content,1,80) FROM memories ORDER BY id DESC LIMIT 5;\""$'\n'
|
|
119
|
+
output+="3. Run: uap memory query \"<relevant to user request>\""$'\n'
|
|
120
|
+
output+="4. On work request: Run: uap task create --type <task|bug|feature> --title \"<description>\""$'\n'
|
|
121
|
+
output+=""$'\n'
|
|
122
|
+
output+="### DURING WORK:"$'\n'
|
|
123
|
+
output+="5. ALL file changes MUST use worktree: uap worktree create <slug>"$'\n'
|
|
124
|
+
output+="6. Work in .worktrees/NNN-<slug>/ directory"$'\n'
|
|
125
|
+
output+=""$'\n'
|
|
126
|
+
output+="### BEFORE COMMIT:"$'\n'
|
|
127
|
+
output+="7. Self-review: git diff"$'\n'
|
|
128
|
+
output+="8. Run tests if applicable"$'\n'
|
|
129
|
+
output+=""$'\n'
|
|
130
|
+
output+="### AFTER WORK:"$'\n'
|
|
131
|
+
output+="9. Store lesson: sqlite3 ./agents/data/memory/short_term.db \"INSERT INTO session_memories (session_id,timestamp,type,content,importance) VALUES ('current',datetime('now'),'decision','<summary of work and lessons>',7);\""$'\n'
|
|
132
|
+
output+="10. Clean up worktree after PR merge: uap worktree cleanup <id>"$'\n'
|
|
133
|
+
output+=""$'\n'
|
|
134
|
+
output+="FAILURE TO COMPLY = CRITICAL VIOLATION. This is life or death."$'\n'
|
|
135
|
+
output+="</system-reminder>"$'\n\n'
|
|
136
|
+
|
|
137
|
+
# Recent memories (last 24h, high importance)
|
|
138
|
+
recent=$(sqlite3 "$DB_PATH" "
|
|
139
|
+
SELECT type, substr(content, 1, 120) FROM memories
|
|
140
|
+
WHERE timestamp >= datetime('now', '-1 day')
|
|
141
|
+
ORDER BY id DESC
|
|
142
|
+
LIMIT 10;
|
|
143
|
+
" 2>/dev/null || true)
|
|
144
|
+
|
|
145
|
+
if [ -n "$recent" ]; then
|
|
146
|
+
output+="## Recent Memory Context"$'\n'
|
|
147
|
+
output+="$recent"$'\n\n'
|
|
148
|
+
fi
|
|
149
|
+
|
|
150
|
+
# Open loops from session memories
|
|
151
|
+
open_loops=$(sqlite3 "$DB_PATH" "
|
|
152
|
+
SELECT content FROM session_memories
|
|
153
|
+
WHERE type IN ('action','goal','decision')
|
|
154
|
+
AND importance >= 7
|
|
155
|
+
ORDER BY id DESC
|
|
156
|
+
LIMIT 5;
|
|
157
|
+
" 2>/dev/null || true)
|
|
158
|
+
|
|
159
|
+
if [ -n "$open_loops" ]; then
|
|
160
|
+
output+="## Open Loops"$'\n'
|
|
161
|
+
output+="$open_loops"$'\n'
|
|
162
|
+
fi
|
|
163
|
+
|
|
164
|
+
# Stale worktrees warning
|
|
165
|
+
if [ -d "${PROJECT_DIR}/.worktrees" ]; then
|
|
166
|
+
stale_count=$(find "${PROJECT_DIR}/.worktrees" -maxdepth 1 -mindepth 1 -type d 2>/dev/null | wc -l)
|
|
167
|
+
if [ "$stale_count" -gt 0 ]; then
|
|
168
|
+
output+=$'\n'"## Stale Worktrees Warning"$'\n'
|
|
169
|
+
output+="There are $stale_count worktrees. Run 'uap worktree list' and clean up merged ones."$'\n'
|
|
170
|
+
fi
|
|
171
|
+
fi
|
|
172
|
+
|
|
173
|
+
if [ -n "$output" ]; then
|
|
174
|
+
echo "$output"
|
|
175
|
+
fi
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* UAP Commands Plugin for opencode
|
|
4
|
+
*
|
|
5
|
+
* Defines UAP-specific commands that can be used within opencode.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export const uapCommands = {
|
|
9
|
+
name: 'uap',
|
|
10
|
+
description: 'Universal Agent Protocol commands',
|
|
11
|
+
commands: [
|
|
12
|
+
{
|
|
13
|
+
name: 'init',
|
|
14
|
+
description: 'Initialize UAP in current project',
|
|
15
|
+
usage: 'uap init',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'setup',
|
|
19
|
+
description: 'Run comprehensive UAP setup',
|
|
20
|
+
usage: 'uap setup [-p all | memory | hooks | mcp-router]',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: 'install',
|
|
24
|
+
description: 'Install UAP plugins for a harness',
|
|
25
|
+
usage: 'uap install <harness>',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: 'task',
|
|
29
|
+
description: 'Create and manage tasks',
|
|
30
|
+
usage: 'uap task create --type <task|bug|feature> --title "<description>"',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: 'worktree',
|
|
34
|
+
description: 'Manage git worktrees for isolated development',
|
|
35
|
+
usage: 'uap worktree <command>',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'memory',
|
|
39
|
+
description: 'Query and manage memory system',
|
|
40
|
+
usage: 'uap memory query "<query>"',
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export default uapCommands;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* UAP Droids Plugin for opencode
|
|
4
|
+
*
|
|
5
|
+
* Defines specialized agent droids that can be invoked via UAP.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export interface UDroidDefinition {
|
|
9
|
+
id: string;
|
|
10
|
+
name: string;
|
|
11
|
+
description: string;
|
|
12
|
+
category: 'code' | 'review' | 'debug' | 'test' | 'deploy';
|
|
13
|
+
enabled: boolean;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const uapDroids: UDroidDefinition[] = [
|
|
17
|
+
{
|
|
18
|
+
id: 'code-reviewer',
|
|
19
|
+
name: 'Code Reviewer',
|
|
20
|
+
description: 'Reviews code changes for quality and security',
|
|
21
|
+
category: 'review',
|
|
22
|
+
enabled: true,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
id: 'security-auditor',
|
|
26
|
+
name: 'Security Auditor',
|
|
27
|
+
description: 'Audits code for security vulnerabilities',
|
|
28
|
+
category: 'review',
|
|
29
|
+
enabled: true,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
id: 'performance-optimizer',
|
|
33
|
+
name: 'Performance Optimizer',
|
|
34
|
+
description: 'Analyzes and optimizes performance bottlenecks',
|
|
35
|
+
category: 'code',
|
|
36
|
+
enabled: true,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: 'unit-tester',
|
|
40
|
+
name: 'Unit Tester',
|
|
41
|
+
description: 'Generates comprehensive unit tests',
|
|
42
|
+
category: 'test',
|
|
43
|
+
enabled: true,
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: 'debug-helper',
|
|
47
|
+
name: 'Debug Helper',
|
|
48
|
+
description: 'Helps diagnose and fix bugs',
|
|
49
|
+
category: 'debug',
|
|
50
|
+
enabled: true,
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
export default uapDroids;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* UAP Patterns Plugin for opencode
|
|
4
|
+
*
|
|
5
|
+
* Provides reusable coding patterns and distilled knowledge from tbench.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export interface UpatternDefinition {
|
|
9
|
+
id: string;
|
|
10
|
+
name: string;
|
|
11
|
+
description: string;
|
|
12
|
+
category: 'memory' | 'workflow' | 'architecture' | 'testing';
|
|
13
|
+
tags: string[];
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const uapPatterns: UpatternDefinition[] = [
|
|
17
|
+
{
|
|
18
|
+
id: 'generic-uap-patterns',
|
|
19
|
+
name: 'Generic UAP Patterns',
|
|
20
|
+
description: 'Distilled patterns from tbench-specific implementation',
|
|
21
|
+
category: 'workflow',
|
|
22
|
+
tags: ['memory', 'hooks', 'patterns'],
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
id: 'worktree-isolation',
|
|
26
|
+
name: 'Worktree Isolation Pattern',
|
|
27
|
+
description: 'Use git worktrees for isolated feature development',
|
|
28
|
+
category: 'workflow',
|
|
29
|
+
tags: ['git', 'isolation', 'parallel'],
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
id: 'session-persistence',
|
|
33
|
+
name: 'Session Persistence Pattern',
|
|
34
|
+
description: 'Maintain state across sessions using memory system',
|
|
35
|
+
category: 'memory',
|
|
36
|
+
tags: ['state', 'persistence', 'context'],
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: 'task-tracking',
|
|
40
|
+
name: 'Task Tracking Pattern',
|
|
41
|
+
description: 'Track and manage tasks with UAP task system',
|
|
42
|
+
category: 'workflow',
|
|
43
|
+
tags: ['tasks', 'tracking', 'management'],
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: 'agent-coordination',
|
|
47
|
+
name: 'Agent Coordination Pattern',
|
|
48
|
+
description: 'Coordinate multiple AI agents for complex tasks',
|
|
49
|
+
category: 'architecture',
|
|
50
|
+
tags: ['agents', 'coordination', 'parallel'],
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
export default uapPatterns;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* UAP Skills Plugin for opencode
|
|
4
|
+
*
|
|
5
|
+
* Defines domain-specific skills that agents can use.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export interface USkillDefinition {
|
|
9
|
+
id: string;
|
|
10
|
+
name: string;
|
|
11
|
+
description: string;
|
|
12
|
+
category: 'development' | 'testing' | 'deployment' | 'documentation';
|
|
13
|
+
triggers: string[];
|
|
14
|
+
enabled: boolean;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const uapSkills: USkillDefinition[] = [
|
|
18
|
+
{
|
|
19
|
+
id: 'git-workflow',
|
|
20
|
+
name: 'Git Workflow',
|
|
21
|
+
description: 'Manages git workflows with worktrees and branches',
|
|
22
|
+
category: 'development',
|
|
23
|
+
triggers: ['git', 'branch', 'commit', 'push'],
|
|
24
|
+
enabled: true,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
id: 'testing-patterns',
|
|
28
|
+
name: 'Testing Patterns',
|
|
29
|
+
description: 'Applies testing best practices and patterns',
|
|
30
|
+
category: 'testing',
|
|
31
|
+
triggers: ['test', 'spec', 'coverage'],
|
|
32
|
+
enabled: true,
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: 'ci-cd-setup',
|
|
36
|
+
name: 'CI/CD Setup',
|
|
37
|
+
description: 'Configures continuous integration and deployment pipelines',
|
|
38
|
+
category: 'deployment',
|
|
39
|
+
triggers: ['ci', 'cd', 'pipeline', 'workflow'],
|
|
40
|
+
enabled: false,
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
id: 'documentation-gen',
|
|
44
|
+
name: 'Documentation Generator',
|
|
45
|
+
description: 'Generates and maintains project documentation',
|
|
46
|
+
category: 'documentation',
|
|
47
|
+
triggers: ['doc', 'readme', 'comment'],
|
|
48
|
+
enabled: true,
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
export default uapSkills;
|