@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,273 @@
|
|
|
1
|
+
# Deploy Batching & Bucketing System
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
The UAP Deploy system provides intelligent action batching and execution for automated deployments. It uses **dynamic batch windows** to group related actions together, reducing unnecessary operations and improving efficiency.
|
|
6
|
+
|
|
7
|
+
## Key Features
|
|
8
|
+
|
|
9
|
+
### 1. Dynamic Batch Windows
|
|
10
|
+
|
|
11
|
+
Actions are queued with type-specific waiting periods before being batched together:
|
|
12
|
+
|
|
13
|
+
| Action Type | Default Window | Description |
|
|
14
|
+
| ----------- | -------------- | --------------------------------- |
|
|
15
|
+
| `commit` | 30,000ms (30s) | Allows squashing multiple commits |
|
|
16
|
+
| `push` | 5,000ms (5s) | Fast for PR creation |
|
|
17
|
+
| `merge` | 10,000ms (10s) | Moderate safety buffer |
|
|
18
|
+
| `workflow` | 5,000ms (5s) | Fast workflow triggers |
|
|
19
|
+
| `deploy` | 60,000ms (60s) | Safety buffer for deployments |
|
|
20
|
+
|
|
21
|
+
### 2. Smart Deduplication
|
|
22
|
+
|
|
23
|
+
The system automatically detects and merges similar actions:
|
|
24
|
+
|
|
25
|
+
- Multiple commits to the same branch are squashed
|
|
26
|
+
- Multiple pushes to the same branch are merged
|
|
27
|
+
- Duplicate workflow triggers are deduplicated
|
|
28
|
+
|
|
29
|
+
### 3. Parallel Execution
|
|
30
|
+
|
|
31
|
+
Independent actions (like workflow triggers) can execute in parallel while maintaining order for dependent actions (commits → push → merge).
|
|
32
|
+
|
|
33
|
+
### 4. Urgent Mode
|
|
34
|
+
|
|
35
|
+
For time-critical operations, urgent mode reduces all batch windows to minimum values:
|
|
36
|
+
|
|
37
|
+
- commit: 2,000ms
|
|
38
|
+
- push: 1,000ms
|
|
39
|
+
- merge: 2,000ms
|
|
40
|
+
- workflow: 1,000ms
|
|
41
|
+
- deploy: 5,000ms
|
|
42
|
+
|
|
43
|
+
## CLI Commands
|
|
44
|
+
|
|
45
|
+
### View Current Configuration
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
uap deploy config
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**Output:**
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
📋 Deploy Batch Configuration
|
|
55
|
+
|
|
56
|
+
Current batch window settings (ms):
|
|
57
|
+
|
|
58
|
+
commit: 30000ms (30s)
|
|
59
|
+
push: 5000ms (5s)
|
|
60
|
+
merge: 10000ms (10s)
|
|
61
|
+
workflow: 5000ms (5s)
|
|
62
|
+
deploy: 60000ms (60s)
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Set Custom Configuration
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
uap deploy set-config --message '{"commit":60000,"push":3000,"merge":15000}'
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Examples:**
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# Set custom windows for all types
|
|
75
|
+
uap deploy set-config --message '{"commit":60000,"push":5000,"merge":10000,"workflow":5000,"deploy":120000}'
|
|
76
|
+
|
|
77
|
+
# Set only specific windows (others remain unchanged)
|
|
78
|
+
uap deploy set-config --message '{"commit":120000}'
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Enable/Disable Urgent Mode
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
# Enable urgent mode (fast execution)
|
|
85
|
+
uap deploy urgent --on
|
|
86
|
+
|
|
87
|
+
# Disable urgent mode (return to default windows)
|
|
88
|
+
uap deploy urgent --off
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Usage Examples
|
|
92
|
+
|
|
93
|
+
### Queue a Deploy Action
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# Queue a commit action
|
|
97
|
+
uap deploy queue --agent-id my-agent --action-type commit --target main --message "Fix bug" --files src/file.ts
|
|
98
|
+
|
|
99
|
+
# Queue a push action
|
|
100
|
+
uap deploy queue --agent-id my-agent --action-type push --target main --remote origin --force
|
|
101
|
+
|
|
102
|
+
# Queue a merge action
|
|
103
|
+
uap deploy queue --agent-id my-agent --action-type merge --target main
|
|
104
|
+
|
|
105
|
+
# Queue a workflow trigger
|
|
106
|
+
uap deploy queue --agent-id my-agent --action-type workflow --target CI --ref main --inputs '{"deploy_env":"production"}'
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Create and Execute Batches
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
# Create a batch from pending actions
|
|
113
|
+
uap deploy batch
|
|
114
|
+
|
|
115
|
+
# Execute a specific batch
|
|
116
|
+
uap deploy execute --batch-id <batch-id>
|
|
117
|
+
|
|
118
|
+
# Execute all pending batches
|
|
119
|
+
uap deploy flush
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Check Status
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# View queue status
|
|
126
|
+
uap deploy status
|
|
127
|
+
|
|
128
|
+
# View detailed status
|
|
129
|
+
uap deploy status --verbose
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Configuration Schema
|
|
133
|
+
|
|
134
|
+
The batch window configuration follows this schema:
|
|
135
|
+
|
|
136
|
+
```typescript
|
|
137
|
+
interface DynamicBatchWindows {
|
|
138
|
+
commit: number; // Default: 30000ms (30s)
|
|
139
|
+
push: number; // Default: 5000ms (5s)
|
|
140
|
+
merge: number; // Default: 10000ms (10s)
|
|
141
|
+
workflow: number; // Default: 5000ms (5s)
|
|
142
|
+
deploy: number; // Default: 60000ms (60s)
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## Best Practices
|
|
147
|
+
|
|
148
|
+
### When to Adjust Windows
|
|
149
|
+
|
|
150
|
+
1. **Increase windows** when:
|
|
151
|
+
- You want more aggressive batching
|
|
152
|
+
- Multiple developers are working on the same branch
|
|
153
|
+
- You prefer fewer, larger deployments
|
|
154
|
+
|
|
155
|
+
2. **Decrease windows** when:
|
|
156
|
+
- You need faster feedback
|
|
157
|
+
- Time-sensitive deployments
|
|
158
|
+
- CI/CD pipeline is the bottleneck
|
|
159
|
+
|
|
160
|
+
3. **Use urgent mode** when:
|
|
161
|
+
- Hotfix deployment
|
|
162
|
+
- Security patch
|
|
163
|
+
- Critical bug fix
|
|
164
|
+
|
|
165
|
+
### Performance Considerations
|
|
166
|
+
|
|
167
|
+
- **Shorter windows** = Faster execution but more individual operations
|
|
168
|
+
- **Longer windows** = More batching but slower response time
|
|
169
|
+
- **Parallel execution** works best for independent workflow triggers
|
|
170
|
+
|
|
171
|
+
## Architecture
|
|
172
|
+
|
|
173
|
+
The deploy system consists of:
|
|
174
|
+
|
|
175
|
+
1. **DeployBatcher** - Core batching logic with dynamic windows
|
|
176
|
+
2. **CoordinationService** - Manages agent coordination state
|
|
177
|
+
3. **SQLite Database** - Persistent storage for pending actions and batches
|
|
178
|
+
|
|
179
|
+
## API Reference
|
|
180
|
+
|
|
181
|
+
### DeployBatcher Configuration
|
|
182
|
+
|
|
183
|
+
```typescript
|
|
184
|
+
interface DeployBatcherConfig {
|
|
185
|
+
dbPath?: string;
|
|
186
|
+
batchWindowMs?: number; // Legacy: single window for all types
|
|
187
|
+
dynamicWindows?: Partial<DynamicBatchWindows>; // NEW: per-type windows
|
|
188
|
+
maxBatchSize?: number;
|
|
189
|
+
dryRun?: boolean;
|
|
190
|
+
parallelExecution?: boolean;
|
|
191
|
+
maxParallelActions?: number;
|
|
192
|
+
}
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### Methods
|
|
196
|
+
|
|
197
|
+
```typescript
|
|
198
|
+
class DeployBatcher {
|
|
199
|
+
// Queue an action with type-specific batching
|
|
200
|
+
async queue(
|
|
201
|
+
agentId: string,
|
|
202
|
+
actionType: DeployActionType,
|
|
203
|
+
target: string,
|
|
204
|
+
payload?: Record<string, unknown>,
|
|
205
|
+
options?: { priority?: number; dependencies?: string[]; urgent?: boolean }
|
|
206
|
+
): Promise<number>;
|
|
207
|
+
|
|
208
|
+
// Get current batch window for action type
|
|
209
|
+
getBatchWindow(actionType: DeployActionType): number;
|
|
210
|
+
|
|
211
|
+
// Set urgent mode
|
|
212
|
+
setUrgentMode(urgent: boolean): void;
|
|
213
|
+
|
|
214
|
+
// Get current configuration
|
|
215
|
+
getWindowConfig(): DynamicBatchWindows;
|
|
216
|
+
|
|
217
|
+
// Create batch from ready actions
|
|
218
|
+
async createBatch(): Promise<DeployBatch | null>;
|
|
219
|
+
|
|
220
|
+
// Execute a batch
|
|
221
|
+
async executeBatch(batchId: string): Promise<BatchResult>;
|
|
222
|
+
|
|
223
|
+
// Flush all pending deploys
|
|
224
|
+
async flushAll(): Promise<BatchResult[]>;
|
|
225
|
+
}
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## Troubleshooting
|
|
229
|
+
|
|
230
|
+
### Actions Not Batching
|
|
231
|
+
|
|
232
|
+
**Issue:** Actions remain in "pending" status for too long.
|
|
233
|
+
|
|
234
|
+
**Solution:** Check batch window configuration:
|
|
235
|
+
|
|
236
|
+
```bash
|
|
237
|
+
uap deploy config
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
Adjust windows if needed:
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
uap deploy set-config --message '{"commit":5000,"push":2000}'
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Urgent Mode Not Working
|
|
247
|
+
|
|
248
|
+
**Issue:** Urgent mode doesn't reduce wait times.
|
|
249
|
+
|
|
250
|
+
**Solution:** Ensure you're using the correct flags:
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
uap deploy urgent --on
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### Parallel Execution Not Working
|
|
257
|
+
|
|
258
|
+
**Issue:** Actions execute sequentially instead of in parallel.
|
|
259
|
+
|
|
260
|
+
**Solution:** Check that actions are independent (different action types or targets).
|
|
261
|
+
|
|
262
|
+
## Related Documentation
|
|
263
|
+
|
|
264
|
+
- [Deploy Command Reference](./CLI_DEPLOY.md)
|
|
265
|
+
- [Coordination System](./COORDINATION.md)
|
|
266
|
+
- [Batch Execution Guide](./BATCH_EXECUTION.md)
|
|
267
|
+
|
|
268
|
+
## Version History
|
|
269
|
+
|
|
270
|
+
- **v4.3.0** - Added dynamic batch windows per action type
|
|
271
|
+
- **v4.2.0** - Added urgent mode for fast execution
|
|
272
|
+
- **v4.1.0** - Added parallel execution for independent actions
|
|
273
|
+
- **v4.0.0** - Initial deploy batching system
|
|
@@ -0,0 +1,420 @@
|
|
|
1
|
+
# Deploy Bucketing & Feature Analysis Report
|
|
2
|
+
|
|
3
|
+
## Executive Summary
|
|
4
|
+
|
|
5
|
+
This report documents the analysis of the UAP deploy bucketing capability, identifies forgotten/unlinked functionality, and outlines the fixes implemented.
|
|
6
|
+
|
|
7
|
+
## 1. Deploy Bucketing Capability
|
|
8
|
+
|
|
9
|
+
### Status: ✅ ENABLED & CONFIGURABLE
|
|
10
|
+
|
|
11
|
+
The deploy bucketing system is fully implemented with the following features:
|
|
12
|
+
|
|
13
|
+
#### 1.1 Dynamic Batch Windows
|
|
14
|
+
|
|
15
|
+
**Location:** `src/coordination/deploy-batcher.ts`
|
|
16
|
+
|
|
17
|
+
The system uses type-specific batch windows that control how long actions wait before being batched:
|
|
18
|
+
|
|
19
|
+
| Action Type | Default Window | Purpose |
|
|
20
|
+
| ----------- | -------------- | --------------------------------- |
|
|
21
|
+
| `commit` | 30,000ms (30s) | Allows squashing multiple commits |
|
|
22
|
+
| `push` | 5,000ms (5s) | Fast for PR creation |
|
|
23
|
+
| `merge` | 10,000ms (10s) | Moderate safety buffer |
|
|
24
|
+
| `workflow` | 5,000ms (5s) | Fast workflow triggers |
|
|
25
|
+
| `deploy` | 60,000ms (60s) | Safety buffer for deployments |
|
|
26
|
+
|
|
27
|
+
**Configuration Schema:** `src/types/config.ts`
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
batchWindows: z.object({
|
|
31
|
+
commit: z.number().default(30000),
|
|
32
|
+
push: z.number().default(5000),
|
|
33
|
+
merge: z.number().default(10000),
|
|
34
|
+
workflow: z.number().default(5000),
|
|
35
|
+
deploy: z.number().default(60000),
|
|
36
|
+
}).optional();
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
#### 1.2 Smart Deduplication
|
|
40
|
+
|
|
41
|
+
The system automatically detects and merges similar actions:
|
|
42
|
+
|
|
43
|
+
- Multiple commits to the same branch → squashed into one
|
|
44
|
+
- Multiple pushes to the same branch → merged
|
|
45
|
+
- Duplicate workflow triggers → deduplicated
|
|
46
|
+
|
|
47
|
+
#### 1.3 Parallel Execution
|
|
48
|
+
|
|
49
|
+
**Location:** `src/coordination/deploy-batcher.ts:507-569`
|
|
50
|
+
|
|
51
|
+
Independent actions can execute in parallel while maintaining order for dependent actions:
|
|
52
|
+
|
|
53
|
+
- **Parallel-safe:** workflow triggers
|
|
54
|
+
- **Sequential:** commit → push → merge → deploy
|
|
55
|
+
|
|
56
|
+
#### 1.4 Urgent Mode
|
|
57
|
+
|
|
58
|
+
**Location:** `src/coordination/deploy-batcher.ts:82-96`
|
|
59
|
+
|
|
60
|
+
Reduces all batch windows to minimum values for time-critical operations:
|
|
61
|
+
|
|
62
|
+
- commit: 2,000ms (was 30,000ms)
|
|
63
|
+
- push: 1,000ms (was 5,000ms)
|
|
64
|
+
- merge: 2,000ms (was 10,000ms)
|
|
65
|
+
- workflow: 1,000ms (was 5,000ms)
|
|
66
|
+
- deploy: 5,000ms (was 60,000ms)
|
|
67
|
+
|
|
68
|
+
## 2. CLI Command Status
|
|
69
|
+
|
|
70
|
+
### 2.1 Deploy Commands - ✅ FIXED
|
|
71
|
+
|
|
72
|
+
**Before:** Only basic commands were available (queue, batch, execute, status, flush)
|
|
73
|
+
|
|
74
|
+
**After:** Added configuration commands:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
# Show current batch window configuration
|
|
78
|
+
uap deploy config
|
|
79
|
+
|
|
80
|
+
# Set custom batch windows
|
|
81
|
+
uap deploy set-config --message '{"commit":60000,"push":3000}'
|
|
82
|
+
|
|
83
|
+
# Enable/disable urgent mode
|
|
84
|
+
uap deploy urgent --on
|
|
85
|
+
uap deploy urgent --off
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**Files Modified:**
|
|
89
|
+
|
|
90
|
+
- `src/cli/deploy.ts` - Added `showDeployConfig()`, `setDeployConfig()`, `setUrgentMode()` functions
|
|
91
|
+
- `src/bin/cli.ts` - Registered new commands
|
|
92
|
+
|
|
93
|
+
### 2.2 RTK Command - ✅ FIXED
|
|
94
|
+
|
|
95
|
+
**Before:** RTK functions existed but weren't registered in CLI
|
|
96
|
+
|
|
97
|
+
**After:** Added full RTK command:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
# Install RTK for 60-90% token savings
|
|
101
|
+
uap rtk install
|
|
102
|
+
|
|
103
|
+
# Check installation status
|
|
104
|
+
uap rtk status
|
|
105
|
+
|
|
106
|
+
# Show help
|
|
107
|
+
uap rtk help
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Files Modified:**
|
|
111
|
+
|
|
112
|
+
- `src/bin/cli.ts` - Added RTK command registration
|
|
113
|
+
|
|
114
|
+
### 2.3 Visualize Module - ℹ️ UTILITY ONLY
|
|
115
|
+
|
|
116
|
+
The `src/cli/visualize.ts` module contains rendering utilities (progress bars, charts, tables) used by other commands, not a standalone CLI command.
|
|
117
|
+
|
|
118
|
+
## 3. Forgotten/Unlinked Functionality
|
|
119
|
+
|
|
120
|
+
### 3.1 Identified Issues
|
|
121
|
+
|
|
122
|
+
| Feature | Status | Location | Fix Applied |
|
|
123
|
+
| ---------------------- | ------------- | ------------------------ | --------------- |
|
|
124
|
+
| Deploy config commands | ❌ Missing | `src/cli/deploy.ts` | ✅ Added |
|
|
125
|
+
| Deploy urgent mode | ❌ Missing | `src/cli/deploy.ts` | ✅ Added |
|
|
126
|
+
| RTK CLI command | ❌ Missing | `src/cli/rtk.ts` | ✅ Added |
|
|
127
|
+
| Visualize CLI | N/A | `src/cli/visualize.ts` | ℹ️ Utility only |
|
|
128
|
+
| Schema diff | ✅ Registered | `src/cli/schema-diff.ts` | Already working |
|
|
129
|
+
| Model commands | ✅ Registered | `src/cli/model.ts` | Already working |
|
|
130
|
+
|
|
131
|
+
### 3.2 Additional Findings
|
|
132
|
+
|
|
133
|
+
1. **Model Commands:** Registered via `registerModelCommands()` function
|
|
134
|
+
2. **Schema Diff:** Registered via `registerSchemaDiffCommand()` function
|
|
135
|
+
3. **Tool Calls:** Registered inline in `cli.ts`
|
|
136
|
+
|
|
137
|
+
## 4. Fixes Applied
|
|
138
|
+
|
|
139
|
+
### 4.1 Deploy Configuration Commands
|
|
140
|
+
|
|
141
|
+
**File:** `src/cli/deploy.ts`
|
|
142
|
+
|
|
143
|
+
Added three new functions:
|
|
144
|
+
|
|
145
|
+
1. **`showDeployConfig(batcher: DeployBatcher)`**
|
|
146
|
+
- Displays current batch window configuration
|
|
147
|
+
- Shows usage examples
|
|
148
|
+
- Colorful output with chalk
|
|
149
|
+
|
|
150
|
+
2. **`setDeployConfig(batcher: DeployBatcher, options: DeployOptions)`**
|
|
151
|
+
- Accepts JSON configuration via `--message` flag
|
|
152
|
+
- Validates all values are positive numbers
|
|
153
|
+
- Shows diff between old and new values
|
|
154
|
+
|
|
155
|
+
3. **`setUrgentMode(batcher: DeployBatcher, options: DeployOptions)`**
|
|
156
|
+
- Enables/disables urgent mode
|
|
157
|
+
- Shows current configuration after change
|
|
158
|
+
|
|
159
|
+
**File:** `src/bin/cli.ts`
|
|
160
|
+
|
|
161
|
+
Registered three new subcommands:
|
|
162
|
+
|
|
163
|
+
```typescript
|
|
164
|
+
.addCommand(
|
|
165
|
+
new Command('config')
|
|
166
|
+
.description('Show deploy batch configuration (window settings)')
|
|
167
|
+
.action((options) => deployCommand('config', options))
|
|
168
|
+
)
|
|
169
|
+
.addCommand(
|
|
170
|
+
new Command('set-config')
|
|
171
|
+
.description('Set deploy batch configuration (window settings)')
|
|
172
|
+
.option('--message <json>', 'JSON object with window settings')
|
|
173
|
+
.action((options) => deployCommand('set-config', options))
|
|
174
|
+
)
|
|
175
|
+
.addCommand(
|
|
176
|
+
new Command('urgent')
|
|
177
|
+
.description('Enable or disable urgent mode')
|
|
178
|
+
.option('--on', 'Enable urgent mode')
|
|
179
|
+
.option('--off', 'Disable urgent mode')
|
|
180
|
+
.action((options) => deployCommand('urgent', { force: options.on, remote: options.off }))
|
|
181
|
+
);
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### 4.2 RTK Command Registration
|
|
185
|
+
|
|
186
|
+
**File:** `src/bin/cli.ts`
|
|
187
|
+
|
|
188
|
+
Added complete RTK command with three subcommands:
|
|
189
|
+
|
|
190
|
+
```typescript
|
|
191
|
+
const rtkCmd = new Command('rtk');
|
|
192
|
+
rtkCmd.description('Manage RTK (Rust Token Killer) integration');
|
|
193
|
+
rtkCmd.addCommand(
|
|
194
|
+
new Command('install')
|
|
195
|
+
.description('Install RTK CLI proxy for 60-90% token savings')
|
|
196
|
+
.option('--force', 'Force reinstall')
|
|
197
|
+
.option('--method <method>', 'Installation method')
|
|
198
|
+
.action(async (options) => {
|
|
199
|
+
await installRTK({ force: !!options.force, method: options.method });
|
|
200
|
+
})
|
|
201
|
+
);
|
|
202
|
+
rtkCmd.addCommand(
|
|
203
|
+
new Command('status').description('Check RTK installation and token savings').action(async () => {
|
|
204
|
+
await checkRTKStatus();
|
|
205
|
+
})
|
|
206
|
+
);
|
|
207
|
+
rtkCmd.addCommand(
|
|
208
|
+
new Command('help').description('Show RTK usage information').action(() => {
|
|
209
|
+
showRTKHelp();
|
|
210
|
+
})
|
|
211
|
+
);
|
|
212
|
+
program.addCommand(rtkCmd);
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
## 5. Documentation Created
|
|
216
|
+
|
|
217
|
+
### 5.1 Deploy Batching Documentation
|
|
218
|
+
|
|
219
|
+
**File:** `docs/DEPLOY_BATCHING.md`
|
|
220
|
+
|
|
221
|
+
Comprehensive documentation covering:
|
|
222
|
+
|
|
223
|
+
- Overview of batch window system
|
|
224
|
+
- CLI command reference
|
|
225
|
+
- Configuration schema
|
|
226
|
+
- Usage examples
|
|
227
|
+
- Best practices
|
|
228
|
+
- Troubleshooting guide
|
|
229
|
+
- API reference
|
|
230
|
+
|
|
231
|
+
### 5.2 Documentation Structure
|
|
232
|
+
|
|
233
|
+
```
|
|
234
|
+
docs/
|
|
235
|
+
├── DEPLOY_BATCHING.md # NEW: Deploy batching guide
|
|
236
|
+
├── CLI_DEPLOY.md # Existing: Deploy commands
|
|
237
|
+
├── COORDINATION.md # Existing: Coordination system
|
|
238
|
+
├── BATCH_EXECUTION.md # Existing: Batch execution
|
|
239
|
+
└── [other existing docs]
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
## 6. Testing Results
|
|
243
|
+
|
|
244
|
+
### 6.1 Deploy Config Command
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
$ uap deploy config
|
|
248
|
+
|
|
249
|
+
📋 Deploy Batch Configuration
|
|
250
|
+
|
|
251
|
+
Current batch window settings (ms):
|
|
252
|
+
|
|
253
|
+
commit: 30000ms (30s)
|
|
254
|
+
push: 5000ms (5s)
|
|
255
|
+
merge: 10000ms (10s)
|
|
256
|
+
workflow: 5000ms (5s)
|
|
257
|
+
deploy: 60000ms (60s)
|
|
258
|
+
|
|
259
|
+
These windows control how long actions wait before being batched together.
|
|
260
|
+
Shorter windows = faster execution, longer windows = more batching.
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### 6.2 Deploy Set-Config Command
|
|
264
|
+
|
|
265
|
+
```bash
|
|
266
|
+
$ uap deploy set-config --message '{"commit":60000,"push":3000}'
|
|
267
|
+
|
|
268
|
+
✓ Deploy configuration updated:
|
|
269
|
+
|
|
270
|
+
commit: 30000ms → 60000ms (60s)
|
|
271
|
+
push: 5000ms → 3000ms (3s)
|
|
272
|
+
merge: 10000ms (10s) (unchanged)
|
|
273
|
+
workflow: 5000ms (5s) (unchanged)
|
|
274
|
+
deploy: 60000ms (60s) (unchanged)
|
|
275
|
+
|
|
276
|
+
Note: Changes apply to current batcher instance only.
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### 6.3 Deploy Urgent Command
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
$ uap deploy urgent --on
|
|
283
|
+
|
|
284
|
+
✓ Urgent mode enabled (fast batch windows):
|
|
285
|
+
commit: 2000ms, push: 1000ms, merge: 2000ms
|
|
286
|
+
workflow: 1000ms, deploy: 5000ms
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
### 6.4 RTK Command
|
|
290
|
+
|
|
291
|
+
```bash
|
|
292
|
+
$ uap rtk --help
|
|
293
|
+
|
|
294
|
+
Usage: uap rtk [options] [command]
|
|
295
|
+
|
|
296
|
+
Manage RTK (Rust Token Killer) integration for token optimization
|
|
297
|
+
|
|
298
|
+
Options:
|
|
299
|
+
-h, --help display help for command
|
|
300
|
+
|
|
301
|
+
Commands:
|
|
302
|
+
install [options] Install RTK CLI proxy for 60-90% token savings
|
|
303
|
+
status Check RTK installation and token savings
|
|
304
|
+
help Show RTK usage information
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
## 7. Recommendations
|
|
308
|
+
|
|
309
|
+
### 7.1 Immediate Actions
|
|
310
|
+
|
|
311
|
+
✅ **Completed:**
|
|
312
|
+
|
|
313
|
+
- Deploy configuration commands
|
|
314
|
+
- RTK command registration
|
|
315
|
+
- Documentation
|
|
316
|
+
|
|
317
|
+
### 7.2 Future Enhancements
|
|
318
|
+
|
|
319
|
+
1. **Persistent Configuration:**
|
|
320
|
+
- Save batch window settings to `.uap.json`
|
|
321
|
+
- Load settings on startup
|
|
322
|
+
- Example:
|
|
323
|
+
```json
|
|
324
|
+
{
|
|
325
|
+
"deploy": {
|
|
326
|
+
"batchWindows": {
|
|
327
|
+
"commit": 60000,
|
|
328
|
+
"push": 3000,
|
|
329
|
+
"merge": 15000,
|
|
330
|
+
"workflow": 5000,
|
|
331
|
+
"deploy": 120000
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
2. **Environment Variables:**
|
|
338
|
+
- Support `UAP_DEPLOY_COMMIT_WINDOW=60000`
|
|
339
|
+
- Support `UAP_DEPLOY_PUSH_WINDOW=3000`
|
|
340
|
+
- Allow runtime configuration override
|
|
341
|
+
|
|
342
|
+
3. **Configuration Profiles:**
|
|
343
|
+
- `--profile fast` - Short windows for rapid iteration
|
|
344
|
+
- `--profile safe` - Long windows for safety
|
|
345
|
+
- `--profile custom` - Use custom configuration
|
|
346
|
+
|
|
347
|
+
4. **Validation:**
|
|
348
|
+
- Warn if windows are too short (< 1000ms)
|
|
349
|
+
- Warn if windows are too long (> 300000ms)
|
|
350
|
+
- Suggest optimal values based on project size
|
|
351
|
+
|
|
352
|
+
## 8. Conclusion
|
|
353
|
+
|
|
354
|
+
### 8.1 Summary
|
|
355
|
+
|
|
356
|
+
The deploy bucketing system is **fully functional** and now **properly documented** with accessible CLI commands. All previously forgotten functionality has been identified and either fixed or documented.
|
|
357
|
+
|
|
358
|
+
### 8.2 Key Achievements
|
|
359
|
+
|
|
360
|
+
1. ✅ Deploy batch configuration is now configurable via CLI
|
|
361
|
+
2. ✅ Urgent mode is accessible via CLI
|
|
362
|
+
3. ✅ RTK command is properly registered
|
|
363
|
+
4. ✅ Comprehensive documentation created
|
|
364
|
+
5. ✅ All changes tested and verified
|
|
365
|
+
|
|
366
|
+
### 8.3 Files Modified
|
|
367
|
+
|
|
368
|
+
1. `src/cli/deploy.ts` - Added config, set-config, urgent commands
|
|
369
|
+
2. `src/bin/cli.ts` - Registered new commands
|
|
370
|
+
3. `docs/DEPLOY_BATCHING.md` - Created comprehensive documentation
|
|
371
|
+
|
|
372
|
+
### 8.4 Build Status
|
|
373
|
+
|
|
374
|
+
```bash
|
|
375
|
+
$ npm run build
|
|
376
|
+
> universal-agent-protocol@4.3.6 build
|
|
377
|
+
> tsc
|
|
378
|
+
|
|
379
|
+
✅ Build successful
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
## Appendix: Command Reference
|
|
383
|
+
|
|
384
|
+
### Deploy Commands
|
|
385
|
+
|
|
386
|
+
```bash
|
|
387
|
+
# Queue actions
|
|
388
|
+
uap deploy queue --agent-id <id> --action-type <type> --target <target>
|
|
389
|
+
|
|
390
|
+
# Create batch
|
|
391
|
+
uap deploy batch
|
|
392
|
+
|
|
393
|
+
# Execute batch
|
|
394
|
+
uap deploy execute --batch-id <id>
|
|
395
|
+
|
|
396
|
+
# Show status
|
|
397
|
+
uap deploy status
|
|
398
|
+
|
|
399
|
+
# Flush all
|
|
400
|
+
uap deploy flush
|
|
401
|
+
|
|
402
|
+
# Configuration (NEW)
|
|
403
|
+
uap deploy config
|
|
404
|
+
uap deploy set-config --message '{"commit":60000}'
|
|
405
|
+
uap deploy urgent --on
|
|
406
|
+
uap deploy urgent --off
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
### RTK Commands
|
|
410
|
+
|
|
411
|
+
```bash
|
|
412
|
+
# Install RTK
|
|
413
|
+
uap rtk install
|
|
414
|
+
|
|
415
|
+
# Check status
|
|
416
|
+
uap rtk status
|
|
417
|
+
|
|
418
|
+
# Show help
|
|
419
|
+
uap rtk help
|
|
420
|
+
```
|