byterover-cli 0.4.1 → 1.0.1
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/README.md +1 -9
- package/dist/commands/curate.d.ts +1 -3
- package/dist/commands/curate.js +14 -51
- package/dist/commands/main.d.ts +8 -0
- package/dist/commands/main.js +29 -8
- package/dist/commands/query.d.ts +1 -3
- package/dist/commands/query.js +8 -35
- package/dist/config/context-tree-domains.d.ts +5 -0
- package/dist/config/context-tree-domains.js +6 -1
- package/dist/config/environment.js +9 -9
- package/dist/constants.d.ts +14 -0
- package/dist/constants.js +18 -0
- package/dist/core/domain/cipher/agent/agent-info.d.ts +199 -0
- package/dist/core/domain/cipher/agent/agent-info.js +143 -0
- package/dist/core/domain/cipher/agent/agent-registry.d.ts +96 -0
- package/dist/core/domain/cipher/agent/agent-registry.js +254 -0
- package/dist/core/domain/cipher/agent/index.d.ts +4 -1
- package/dist/core/domain/cipher/agent/index.js +7 -1
- package/dist/core/domain/cipher/agent-events/types.d.ts +355 -2
- package/dist/core/domain/cipher/agent-events/types.js +11 -0
- package/dist/core/domain/cipher/errors/error-normalizer.d.ts +156 -0
- package/dist/core/domain/cipher/errors/error-normalizer.js +379 -0
- package/dist/core/domain/cipher/errors/file-system-error.d.ts +2 -1
- package/dist/core/domain/cipher/errors/file-system-error.js +3 -2
- package/dist/core/domain/cipher/errors/system-prompt-error-codes.d.ts +79 -0
- package/dist/core/domain/cipher/errors/system-prompt-error-codes.js +80 -0
- package/dist/core/domain/cipher/errors/system-prompt-error.d.ts +114 -0
- package/dist/core/domain/cipher/errors/system-prompt-error.js +144 -0
- package/dist/core/domain/cipher/file-system/types.d.ts +57 -0
- package/dist/core/domain/cipher/llm/error-codes.d.ts +51 -0
- package/dist/core/domain/cipher/llm/error-codes.js +51 -0
- package/dist/core/domain/cipher/llm/index.d.ts +9 -0
- package/dist/core/domain/cipher/llm/index.js +13 -0
- package/dist/core/domain/cipher/llm/registry.d.ts +113 -0
- package/dist/core/domain/cipher/llm/registry.js +244 -0
- package/dist/core/domain/cipher/llm/schemas.d.ts +155 -0
- package/dist/core/domain/cipher/llm/schemas.js +151 -0
- package/dist/core/domain/cipher/llm/types.d.ts +121 -0
- package/dist/core/domain/cipher/llm/types.js +60 -0
- package/dist/core/domain/cipher/storage/message-storage-types.d.ts +114 -5
- package/dist/core/domain/cipher/streaming/types.d.ts +119 -0
- package/dist/core/domain/cipher/streaming/types.js +16 -0
- package/dist/core/domain/cipher/system-prompt/types.d.ts +44 -0
- package/dist/core/domain/cipher/todos/types.d.ts +34 -0
- package/dist/core/domain/cipher/tools/constants.d.ts +5 -2
- package/dist/core/domain/cipher/tools/constants.js +5 -2
- package/dist/core/domain/cipher/tools/types.d.ts +31 -0
- package/dist/core/domain/errors/connection-error.d.ts +33 -0
- package/dist/core/domain/errors/connection-error.js +54 -0
- package/dist/core/domain/errors/core-process-error.d.ts +27 -0
- package/dist/core/domain/errors/core-process-error.js +43 -0
- package/dist/core/domain/errors/task-error.d.ts +64 -0
- package/dist/core/domain/errors/task-error.js +116 -0
- package/dist/core/domain/errors/transport-error.d.ts +72 -0
- package/dist/core/domain/errors/transport-error.js +114 -0
- package/dist/core/domain/instance/index.d.ts +1 -0
- package/dist/core/domain/instance/index.js +1 -0
- package/dist/core/domain/instance/types.d.ts +57 -0
- package/dist/core/domain/instance/types.js +72 -0
- package/dist/core/domain/knowledge/directory-manager.d.ts +16 -0
- package/dist/core/domain/knowledge/directory-manager.js +31 -0
- package/dist/core/domain/transport/index.d.ts +2 -0
- package/dist/core/domain/transport/index.js +2 -0
- package/dist/core/domain/transport/schemas.d.ts +1149 -0
- package/dist/core/domain/transport/schemas.js +554 -0
- package/dist/core/domain/transport/types.d.ts +67 -0
- package/dist/core/domain/transport/types.js +7 -0
- package/dist/core/interfaces/cipher/cipher-services.d.ts +15 -3
- package/dist/core/interfaces/cipher/i-chat-session.d.ts +47 -5
- package/dist/core/interfaces/cipher/i-cipher-agent.d.ts +39 -4
- package/dist/core/interfaces/cipher/i-content-generator.d.ts +3 -5
- package/dist/core/interfaces/cipher/i-file-system.d.ts +12 -1
- package/dist/core/interfaces/cipher/i-llm-service.d.ts +4 -5
- package/dist/core/interfaces/cipher/i-todo-storage.d.ts +24 -0
- package/dist/core/interfaces/cipher/i-todo-storage.js +1 -0
- package/dist/core/interfaces/cipher/i-tool-plugin.d.ts +90 -0
- package/dist/core/interfaces/cipher/i-tool-plugin.js +1 -0
- package/dist/core/interfaces/cipher/i-tool-provider.d.ts +3 -2
- package/dist/core/interfaces/cipher/i-tool-scheduler.d.ts +4 -0
- package/dist/core/interfaces/cipher/index.d.ts +35 -0
- package/dist/core/interfaces/cipher/index.js +11 -0
- package/dist/core/interfaces/cipher/message-factory.d.ts +155 -0
- package/dist/core/interfaces/cipher/message-factory.js +252 -0
- package/dist/core/interfaces/cipher/message-type-guards.d.ts +139 -0
- package/dist/core/interfaces/cipher/message-type-guards.js +173 -0
- package/dist/core/interfaces/cipher/message-types.d.ts +279 -5
- package/dist/core/interfaces/cipher/message-types.js +6 -0
- package/dist/core/interfaces/cipher/sanitization-types.d.ts +147 -0
- package/dist/core/interfaces/cipher/sanitization-types.js +46 -0
- package/dist/core/interfaces/executor/i-curate-executor.d.ts +34 -0
- package/dist/core/interfaces/executor/i-curate-executor.js +1 -0
- package/dist/core/interfaces/executor/i-query-executor.d.ts +32 -0
- package/dist/core/interfaces/executor/i-query-executor.js +1 -0
- package/dist/core/interfaces/executor/index.d.ts +2 -0
- package/dist/core/interfaces/executor/index.js +2 -0
- package/dist/core/interfaces/instance/i-instance-discovery.d.ts +45 -0
- package/dist/core/interfaces/instance/i-instance-discovery.js +1 -0
- package/dist/core/interfaces/instance/i-instance-manager.d.ts +58 -0
- package/dist/core/interfaces/instance/i-instance-manager.js +1 -0
- package/dist/core/interfaces/instance/index.d.ts +2 -0
- package/dist/core/interfaces/instance/index.js +2 -0
- package/dist/core/interfaces/noop-implementations.d.ts +53 -0
- package/dist/core/interfaces/noop-implementations.js +62 -0
- package/dist/core/interfaces/transport/i-transport-client.d.ts +97 -0
- package/dist/core/interfaces/transport/i-transport-client.js +1 -0
- package/dist/core/interfaces/transport/i-transport-server.d.ts +93 -0
- package/dist/core/interfaces/transport/i-transport-server.js +1 -0
- package/dist/core/interfaces/transport/index.d.ts +2 -0
- package/dist/core/interfaces/transport/index.js +2 -0
- package/dist/infra/cipher/agent/agent-error-codes.d.ts +16 -0
- package/dist/infra/cipher/agent/agent-error-codes.js +17 -0
- package/dist/infra/cipher/agent/agent-error.d.ts +54 -0
- package/dist/infra/cipher/agent/agent-error.js +79 -0
- package/dist/infra/cipher/agent/agent-schemas.d.ts +264 -0
- package/dist/infra/cipher/agent/agent-schemas.js +97 -0
- package/dist/infra/cipher/agent/agent-state-manager.d.ts +140 -0
- package/dist/infra/cipher/agent/agent-state-manager.js +275 -0
- package/dist/infra/cipher/agent/base-agent.d.ts +118 -0
- package/dist/infra/cipher/agent/base-agent.js +240 -0
- package/dist/infra/cipher/agent/cipher-agent.d.ts +165 -0
- package/dist/infra/cipher/agent/cipher-agent.js +546 -0
- package/dist/infra/cipher/agent/index.d.ts +22 -0
- package/dist/infra/cipher/agent/index.js +24 -0
- package/dist/infra/cipher/agent/service-initializer.d.ts +79 -0
- package/dist/infra/cipher/{agent-service-factory.js → agent/service-initializer.js} +117 -68
- package/dist/infra/cipher/agent/types.d.ts +35 -0
- package/dist/infra/cipher/agent/types.js +1 -0
- package/dist/infra/cipher/blob/blob-reference-resolver.d.ts +107 -0
- package/dist/infra/cipher/blob/blob-reference-resolver.js +228 -0
- package/dist/infra/cipher/blob/blob-reference-utils.d.ts +117 -0
- package/dist/infra/cipher/blob/blob-reference-utils.js +230 -0
- package/dist/infra/cipher/consumer/consumer-lock.js +1 -0
- package/dist/infra/cipher/consumer/consumer-service.js +1 -0
- package/dist/infra/cipher/consumer/execution-consumer.d.ts +6 -1
- package/dist/infra/cipher/consumer/execution-consumer.js +54 -16
- package/dist/infra/cipher/consumer/index.d.ts +1 -1
- package/dist/infra/cipher/consumer/index.js +2 -1
- package/dist/infra/cipher/consumer/queue-polling-service.js +1 -0
- package/dist/infra/cipher/file-system/binary-utils.d.ts +43 -0
- package/dist/infra/cipher/file-system/binary-utils.js +164 -0
- package/dist/infra/cipher/file-system/context-tree-file-system-factory.d.ts +9 -0
- package/dist/infra/cipher/file-system/context-tree-file-system-factory.js +24 -0
- package/dist/infra/cipher/file-system/file-system-service.d.ts +17 -1
- package/dist/infra/cipher/file-system/file-system-service.js +327 -36
- package/dist/infra/cipher/file-system/path-validator.d.ts +32 -0
- package/dist/infra/cipher/file-system/path-validator.js +111 -6
- package/dist/infra/cipher/interactive-loop.js +41 -33
- package/dist/infra/cipher/llm/capability-cache.d.ts +87 -0
- package/dist/infra/cipher/llm/capability-cache.js +125 -0
- package/dist/infra/cipher/llm/context/compaction/compaction-service.d.ts +32 -0
- package/dist/infra/cipher/llm/context/compaction/compaction-service.js +44 -3
- package/dist/infra/cipher/llm/context/compression/enhanced-compaction.d.ts +112 -0
- package/dist/infra/cipher/llm/context/compression/enhanced-compaction.js +175 -0
- package/dist/infra/cipher/llm/context/compression/filter-compacted.d.ts +83 -0
- package/dist/infra/cipher/llm/context/compression/filter-compacted.js +150 -0
- package/dist/infra/cipher/llm/context/compression/index.d.ts +5 -0
- package/dist/infra/cipher/llm/context/compression/index.js +6 -0
- package/dist/infra/cipher/llm/context/compression/reactive-overflow.d.ts +107 -0
- package/dist/infra/cipher/llm/context/compression/reactive-overflow.js +272 -0
- package/dist/infra/cipher/llm/context/context-manager.d.ts +47 -1
- package/dist/infra/cipher/llm/context/context-manager.js +129 -0
- package/dist/infra/cipher/llm/context/utils.js +17 -4
- package/dist/infra/cipher/llm/generators/byterover-content-generator.js +4 -2
- package/dist/infra/cipher/llm/internal-llm-service.d.ts +50 -17
- package/dist/infra/cipher/llm/internal-llm-service.js +273 -50
- package/dist/infra/cipher/llm/openrouter-llm-service.d.ts +6 -8
- package/dist/infra/cipher/llm/openrouter-llm-service.js +14 -16
- package/dist/infra/cipher/llm/retry/retry-policy.d.ts +1 -0
- package/dist/infra/cipher/llm/retry/retry-policy.js +11 -0
- package/dist/infra/cipher/llm/retry/retry-with-backoff.js +3 -2
- package/dist/infra/cipher/llm/sanitization/base64-utils.d.ts +102 -0
- package/dist/infra/cipher/llm/sanitization/base64-utils.js +182 -0
- package/dist/infra/cipher/llm/sanitization/index.d.ts +12 -0
- package/dist/infra/cipher/llm/sanitization/index.js +13 -0
- package/dist/infra/cipher/llm/sanitization/tool-sanitizer.d.ts +74 -0
- package/dist/infra/cipher/llm/sanitization/tool-sanitizer.js +398 -0
- package/dist/infra/cipher/llm/stream-processor.d.ts +158 -0
- package/dist/infra/cipher/llm/stream-processor.js +276 -0
- package/dist/infra/cipher/llm/tokenizers/claude-tokenizer.d.ts +13 -20
- package/dist/infra/cipher/llm/tokenizers/claude-tokenizer.js +17 -24
- package/dist/infra/cipher/llm/tokenizers/gemini-tokenizer.d.ts +12 -11
- package/dist/infra/cipher/llm/tokenizers/gemini-tokenizer.js +16 -15
- package/dist/infra/cipher/llm/tokenizers/openrouter-tokenizer.d.ts +15 -7
- package/dist/infra/cipher/llm/tokenizers/openrouter-tokenizer.js +22 -10
- package/dist/infra/cipher/llm/tool-output-processor.d.ts +51 -0
- package/dist/infra/cipher/llm/tool-output-processor.js +139 -0
- package/dist/infra/cipher/process/command-validator.d.ts +23 -0
- package/dist/infra/cipher/process/command-validator.js +75 -0
- package/dist/infra/cipher/process/path-utils.d.ts +66 -0
- package/dist/infra/cipher/process/path-utils.js +94 -0
- package/dist/infra/cipher/process/process-service.d.ts +32 -0
- package/dist/infra/cipher/process/process-service.js +98 -17
- package/dist/infra/cipher/session/chat-session.d.ts +56 -7
- package/dist/infra/cipher/session/chat-session.js +163 -13
- package/dist/infra/cipher/session/index.d.ts +1 -0
- package/dist/infra/cipher/session/index.js +2 -0
- package/dist/infra/cipher/session/message-queue.d.ts +65 -0
- package/dist/infra/cipher/session/message-queue.js +90 -0
- package/dist/infra/cipher/session/session-manager.d.ts +106 -5
- package/dist/infra/cipher/session/session-manager.js +254 -7
- package/dist/infra/cipher/session/session-status.d.ts +137 -0
- package/dist/infra/cipher/session/session-status.js +184 -0
- package/dist/infra/cipher/session/title-generator.d.ts +8 -0
- package/dist/infra/cipher/session/title-generator.js +31 -0
- package/dist/infra/cipher/storage/message-storage-service.d.ts +65 -2
- package/dist/infra/cipher/storage/message-storage-service.js +300 -54
- package/dist/infra/cipher/storage/tool-part-factory.d.ts +116 -0
- package/dist/infra/cipher/storage/tool-part-factory.js +197 -0
- package/dist/infra/cipher/system-prompt/contributor-schemas.d.ts +516 -0
- package/dist/infra/cipher/system-prompt/contributor-schemas.js +85 -0
- package/dist/infra/cipher/system-prompt/contributors/agent-prompt-contributor.d.ts +59 -0
- package/dist/infra/cipher/system-prompt/contributors/agent-prompt-contributor.js +131 -0
- package/dist/infra/cipher/system-prompt/contributors/companion-contributor.d.ts +54 -0
- package/dist/infra/cipher/system-prompt/contributors/companion-contributor.js +107 -0
- package/dist/infra/cipher/system-prompt/contributors/context-tree-structure-contributor.d.ts +68 -0
- package/dist/infra/cipher/system-prompt/contributors/context-tree-structure-contributor.js +179 -0
- package/dist/infra/cipher/system-prompt/contributors/datetime-contributor.d.ts +25 -0
- package/dist/infra/cipher/system-prompt/contributors/datetime-contributor.js +29 -0
- package/dist/infra/cipher/system-prompt/contributors/environment-contributor.d.ts +25 -0
- package/dist/infra/cipher/system-prompt/contributors/environment-contributor.js +54 -0
- package/dist/infra/cipher/system-prompt/contributors/file-contributor.d.ts +60 -0
- package/dist/infra/cipher/system-prompt/contributors/file-contributor.js +128 -0
- package/dist/infra/cipher/system-prompt/contributors/index.d.ts +13 -0
- package/dist/infra/cipher/system-prompt/contributors/index.js +8 -0
- package/dist/infra/cipher/system-prompt/contributors/memory-contributor.d.ts +40 -0
- package/dist/infra/cipher/system-prompt/contributors/memory-contributor.js +56 -0
- package/dist/infra/cipher/system-prompt/contributors/static-contributor.d.ts +26 -0
- package/dist/infra/cipher/system-prompt/contributors/static-contributor.js +31 -0
- package/dist/infra/cipher/system-prompt/environment-context-builder.d.ts +112 -0
- package/dist/infra/cipher/system-prompt/environment-context-builder.js +256 -0
- package/dist/infra/cipher/system-prompt/prompt-cache.d.ts +102 -0
- package/dist/infra/cipher/system-prompt/prompt-cache.js +156 -0
- package/dist/infra/cipher/system-prompt/schemas.d.ts +151 -0
- package/dist/infra/cipher/system-prompt/schemas.js +94 -0
- package/dist/infra/cipher/system-prompt/system-prompt-manager.d.ts +136 -0
- package/dist/infra/cipher/system-prompt/system-prompt-manager.js +307 -0
- package/dist/infra/cipher/todos/todo-storage-service.d.ts +26 -0
- package/dist/infra/cipher/todos/todo-storage-service.js +28 -0
- package/dist/infra/cipher/tools/core-tool-scheduler.js +5 -1
- package/dist/infra/cipher/tools/default-policy-rules.js +1 -1
- package/dist/infra/cipher/tools/implementations/bash-exec-tool.d.ts +1 -0
- package/dist/infra/cipher/tools/implementations/bash-exec-tool.js +27 -10
- package/dist/infra/cipher/tools/implementations/bash-output-tool.js +1 -5
- package/dist/infra/cipher/tools/implementations/batch-tool.d.ts +12 -0
- package/dist/infra/cipher/tools/implementations/batch-tool.js +142 -0
- package/dist/infra/cipher/tools/implementations/curate-tool.js +195 -68
- package/dist/infra/cipher/tools/implementations/list-directory-tool.d.ts +12 -0
- package/dist/infra/cipher/tools/implementations/list-directory-tool.js +52 -0
- package/dist/infra/cipher/tools/implementations/read-file-tool.d.ts +8 -1
- package/dist/infra/cipher/tools/implementations/read-file-tool.js +17 -7
- package/dist/infra/cipher/tools/implementations/read-todos-tool.d.ts +11 -0
- package/dist/infra/cipher/tools/implementations/read-todos-tool.js +39 -0
- package/dist/infra/cipher/tools/implementations/{detect-domains-tool.d.ts → spec-analyze-tool.d.ts} +1 -1
- package/dist/infra/cipher/tools/implementations/{detect-domains-tool.js → spec-analyze-tool.js} +9 -7
- package/dist/infra/cipher/tools/implementations/task-tool.d.ts +34 -0
- package/dist/infra/cipher/tools/implementations/task-tool.js +207 -0
- package/dist/infra/cipher/tools/implementations/write-todos-tool.d.ts +4 -1
- package/dist/infra/cipher/tools/implementations/write-todos-tool.js +19 -63
- package/dist/infra/cipher/tools/index.d.ts +1 -1
- package/dist/infra/cipher/tools/index.js +1 -1
- package/dist/infra/cipher/tools/plugins/index.d.ts +3 -0
- package/dist/infra/cipher/tools/plugins/index.js +2 -0
- package/dist/infra/cipher/tools/plugins/logging-plugin.d.ts +28 -0
- package/dist/infra/cipher/tools/plugins/logging-plugin.js +66 -0
- package/dist/infra/cipher/tools/plugins/plugin-manager.d.ts +81 -0
- package/dist/infra/cipher/tools/plugins/plugin-manager.js +122 -0
- package/dist/infra/cipher/tools/streaming/index.d.ts +1 -0
- package/dist/infra/cipher/tools/streaming/index.js +1 -0
- package/dist/infra/cipher/tools/streaming/metadata-handler.d.ts +31 -0
- package/dist/infra/cipher/tools/streaming/metadata-handler.js +39 -0
- package/dist/infra/cipher/tools/tool-description-loader.d.ts +57 -0
- package/dist/infra/cipher/tools/tool-description-loader.js +108 -0
- package/dist/infra/cipher/tools/tool-manager.d.ts +38 -4
- package/dist/infra/cipher/tools/tool-manager.js +107 -11
- package/dist/infra/cipher/tools/tool-provider-getter.d.ts +6 -0
- package/dist/infra/cipher/tools/tool-provider-getter.js +1 -0
- package/dist/infra/cipher/tools/tool-provider.d.ts +32 -7
- package/dist/infra/cipher/tools/tool-provider.js +81 -25
- package/dist/infra/cipher/tools/tool-registry.d.ts +23 -0
- package/dist/infra/cipher/tools/tool-registry.js +58 -16
- package/dist/infra/context-tree/file-context-tree-snapshot-service.js +10 -4
- package/dist/infra/context-tree/file-context-tree-writer-service.d.ts +4 -3
- package/dist/infra/context-tree/file-context-tree-writer-service.js +6 -4
- package/dist/infra/context-tree/path-utils.d.ts +7 -0
- package/dist/infra/context-tree/path-utils.js +7 -0
- package/dist/infra/core/executors/curate-executor.d.ts +35 -0
- package/dist/infra/core/executors/curate-executor.js +123 -0
- package/dist/infra/core/executors/index.d.ts +2 -0
- package/dist/infra/core/executors/index.js +2 -0
- package/dist/infra/core/executors/query-executor.d.ts +23 -0
- package/dist/infra/core/executors/query-executor.js +51 -0
- package/dist/infra/core/task-processor.d.ts +81 -0
- package/dist/infra/core/task-processor.js +115 -0
- package/dist/infra/instance/file-instance-discovery.d.ts +31 -0
- package/dist/infra/instance/file-instance-discovery.js +84 -0
- package/dist/infra/instance/file-instance-manager.d.ts +46 -0
- package/dist/infra/instance/file-instance-manager.js +123 -0
- package/dist/infra/instance/index.d.ts +3 -0
- package/dist/infra/instance/index.js +3 -0
- package/dist/infra/instance/process-utils.d.ts +14 -0
- package/dist/infra/instance/process-utils.js +39 -0
- package/dist/infra/process/agent-worker.d.ts +20 -0
- package/dist/infra/process/agent-worker.js +602 -0
- package/dist/infra/process/index.d.ts +12 -0
- package/dist/infra/process/index.js +11 -0
- package/dist/infra/process/ipc-types.d.ts +55 -0
- package/dist/infra/process/ipc-types.js +12 -0
- package/dist/infra/process/process-manager.d.ts +154 -0
- package/dist/infra/process/process-manager.js +471 -0
- package/dist/infra/process/task-queue-manager.d.ts +123 -0
- package/dist/infra/process/task-queue-manager.js +226 -0
- package/dist/infra/process/transport-handlers.d.ts +124 -0
- package/dist/infra/process/transport-handlers.js +348 -0
- package/dist/infra/process/transport-worker.d.ts +20 -0
- package/dist/infra/process/transport-worker.js +168 -0
- package/dist/infra/repl/commands/curate-command.js +0 -5
- package/dist/infra/repl/commands/query-command.js +0 -3
- package/dist/infra/repl/repl-startup.d.ts +4 -0
- package/dist/infra/repl/repl-startup.js +8 -1
- package/dist/infra/repl/transport-client-helper.d.ts +9 -0
- package/dist/infra/repl/transport-client-helper.js +96 -0
- package/dist/infra/transport/index.d.ts +4 -0
- package/dist/infra/transport/index.js +4 -0
- package/dist/infra/transport/port-utils.d.ts +42 -0
- package/dist/infra/transport/port-utils.js +84 -0
- package/dist/infra/transport/socket-io-transport-client.d.ts +45 -0
- package/dist/infra/transport/socket-io-transport-client.js +270 -0
- package/dist/infra/transport/socket-io-transport-server.d.ts +35 -0
- package/dist/infra/transport/socket-io-transport-server.js +207 -0
- package/dist/infra/transport/transport-client-factory.d.ts +76 -0
- package/dist/infra/transport/transport-client-factory.js +168 -0
- package/dist/infra/transport/transport-factory.d.ts +33 -0
- package/dist/infra/transport/transport-factory.js +59 -0
- package/dist/infra/usecase/curate-use-case.d.ts +8 -55
- package/dist/infra/usecase/curate-use-case.js +71 -262
- package/dist/infra/usecase/init-use-case.js +3 -2
- package/dist/infra/usecase/query-use-case.d.ts +18 -45
- package/dist/infra/usecase/query-use-case.js +250 -326
- package/dist/infra/usecase/status-use-case.js +1 -1
- package/dist/resources/prompts/{curate-context-tree-curation.yml → curate.yml} +25 -22
- package/dist/resources/prompts/explore.yml +78 -0
- package/dist/resources/prompts/plan.yml +114 -0
- package/dist/resources/prompts/reflection.yml +1 -1
- package/dist/resources/prompts/system-prompt.yml +15 -8
- package/dist/resources/prompts/tool-outputs.yml +0 -5
- package/dist/resources/tools/bash_exec.txt +98 -0
- package/dist/resources/tools/bash_output.txt +40 -0
- package/dist/resources/tools/batch.txt +28 -0
- package/dist/resources/tools/create_knowledge_topic.txt +23 -0
- package/dist/resources/tools/curate.txt +22 -0
- package/dist/resources/tools/delete_memory.txt +1 -0
- package/dist/resources/tools/detect_domains.txt +11 -0
- package/dist/resources/tools/edit_file.txt +1 -0
- package/dist/resources/tools/edit_memory.txt +1 -0
- package/dist/resources/tools/glob_files.txt +20 -0
- package/dist/resources/tools/grep_content.txt +18 -0
- package/dist/resources/tools/kill_process.txt +16 -0
- package/dist/resources/tools/list_directory.txt +16 -0
- package/dist/resources/tools/list_memories.txt +1 -0
- package/dist/resources/tools/read_file.txt +31 -0
- package/dist/resources/tools/read_memory.txt +1 -0
- package/dist/resources/tools/read_todos.txt +17 -0
- package/dist/resources/tools/search_history.txt +1 -0
- package/dist/resources/tools/task.txt +23 -0
- package/dist/resources/tools/write_file.txt +1 -0
- package/dist/resources/tools/write_memory.txt +1 -0
- package/dist/resources/tools/write_todos.txt +29 -0
- package/dist/tui/app.js +9 -13
- package/dist/tui/components/command-details.d.ts +14 -0
- package/dist/tui/components/command-details.js +35 -0
- package/dist/tui/components/execution/execution-changes.d.ts +5 -0
- package/dist/tui/components/execution/execution-changes.js +19 -4
- package/dist/tui/components/execution/execution-content.d.ts +4 -2
- package/dist/tui/components/execution/execution-content.js +26 -13
- package/dist/tui/components/execution/execution-input.js +3 -3
- package/dist/tui/components/execution/execution-progress.d.ts +2 -2
- package/dist/tui/components/execution/execution-progress.js +8 -6
- package/dist/tui/components/execution/log-item.d.ts +3 -4
- package/dist/tui/components/execution/log-item.js +2 -5
- package/dist/tui/components/footer.js +9 -4
- package/dist/tui/components/header.d.ts +3 -3
- package/dist/tui/components/header.js +5 -3
- package/dist/tui/components/index.d.ts +1 -0
- package/dist/tui/components/index.js +1 -0
- package/dist/tui/components/onboarding/copyable-prompt.d.ts +5 -3
- package/dist/tui/components/onboarding/copyable-prompt.js +7 -8
- package/dist/tui/components/onboarding/onboarding-flow.js +35 -25
- package/dist/tui/components/scrollable-list.js +12 -10
- package/dist/tui/components/suggestions.js +39 -41
- package/dist/tui/components/tab-bar.d.ts +2 -1
- package/dist/tui/components/tab-bar.js +3 -4
- package/dist/tui/constants.d.ts +0 -5
- package/dist/tui/constants.js +0 -5
- package/dist/tui/contexts/auth-context.js +9 -2
- package/dist/tui/contexts/{use-commands.js → commands-context.js} +3 -3
- package/dist/tui/contexts/index.d.ts +6 -1
- package/dist/tui/contexts/index.js +6 -1
- package/dist/tui/contexts/onboarding-context.d.ts +1 -1
- package/dist/tui/contexts/onboarding-context.js +9 -9
- package/dist/tui/contexts/tasks-context.d.ts +84 -0
- package/dist/tui/contexts/tasks-context.js +218 -0
- package/dist/tui/contexts/transport-context.d.ts +29 -0
- package/dist/tui/contexts/transport-context.js +82 -0
- package/dist/tui/hooks/index.d.ts +10 -6
- package/dist/tui/hooks/index.js +7 -6
- package/dist/tui/hooks/use-activity-logs.d.ts +3 -11
- package/dist/tui/hooks/use-activity-logs.js +87 -34
- package/dist/tui/hooks/use-auth-polling.d.ts +24 -0
- package/dist/tui/hooks/use-auth-polling.js +104 -0
- package/dist/tui/hooks/use-slash-command-processor.js +0 -1
- package/dist/tui/hooks/use-slash-completion.js +1 -1
- package/dist/tui/hooks/use-tab-navigation.d.ts +2 -1
- package/dist/tui/hooks/use-tab-navigation.js +16 -7
- package/dist/tui/hooks/use-terminal-breakpoint.d.ts +21 -0
- package/dist/tui/hooks/use-terminal-breakpoint.js +38 -0
- package/dist/tui/hooks/use-ui-heights.d.ts +120 -0
- package/dist/tui/hooks/use-ui-heights.js +88 -0
- package/dist/tui/providers/app-providers.js +2 -6
- package/dist/tui/types/commands.d.ts +0 -26
- package/dist/tui/types/index.d.ts +1 -1
- package/dist/tui/types/ui.d.ts +9 -4
- package/dist/tui/utils/line.d.ts +11 -0
- package/dist/tui/utils/line.js +16 -0
- package/dist/tui/utils/log.d.ts +27 -0
- package/dist/tui/utils/log.js +114 -0
- package/dist/tui/views/command-view.d.ts +7 -0
- package/dist/tui/views/command-view.js +103 -80
- package/dist/tui/views/login-view.js +7 -4
- package/dist/tui/views/logs-view.d.ts +13 -0
- package/dist/tui/views/logs-view.js +27 -52
- package/dist/utils/connection-error-handler.d.ts +16 -0
- package/dist/utils/connection-error-handler.js +49 -0
- package/dist/utils/crash-log.d.ts +14 -0
- package/dist/utils/crash-log.js +19 -0
- package/dist/utils/file-helpers.d.ts +14 -0
- package/dist/utils/file-helpers.js +21 -0
- package/dist/utils/global-logs-path.d.ts +11 -0
- package/dist/utils/global-logs-path.js +37 -0
- package/dist/utils/process-logger.d.ts +53 -0
- package/dist/utils/process-logger.js +253 -0
- package/dist/utils/sandbox-detector.d.ts +31 -0
- package/dist/utils/sandbox-detector.js +122 -0
- package/oclif.manifest.json +10 -198
- package/package.json +5 -1
- package/dist/commands/cipher-agent/run.d.ts +0 -142
- package/dist/commands/cipher-agent/run.js +0 -555
- package/dist/commands/cipher-agent/set-prompt.d.ts +0 -16
- package/dist/commands/cipher-agent/set-prompt.js +0 -58
- package/dist/commands/cipher-agent/show-prompt.d.ts +0 -13
- package/dist/commands/cipher-agent/show-prompt.js +0 -53
- package/dist/commands/foo.d.ts +0 -14
- package/dist/commands/foo.js +0 -66
- package/dist/infra/cipher/agent-service-factory.d.ts +0 -93
- package/dist/infra/cipher/cipher-agent-state-manager.d.ts +0 -63
- package/dist/infra/cipher/cipher-agent-state-manager.js +0 -108
- package/dist/infra/cipher/cipher-agent.d.ts +0 -182
- package/dist/infra/cipher/cipher-agent.js +0 -317
- package/dist/infra/cipher/system-prompt/simple-prompt-factory.d.ts +0 -106
- package/dist/infra/cipher/system-prompt/simple-prompt-factory.js +0 -297
- package/dist/infra/cipher/tools/implementations/find-knowledge-topics-tool.d.ts +0 -7
- package/dist/infra/cipher/tools/implementations/find-knowledge-topics-tool.js +0 -424
- package/dist/resources/prompts/modes/autonomous.yml +0 -9
- package/dist/resources/prompts/query-context-tree-retrieval.yml +0 -48
- package/dist/tui/contexts/consumer.d.ts +0 -31
- package/dist/tui/contexts/consumer.js +0 -56
- package/dist/tui/hooks/use-consumer.d.ts +0 -12
- package/dist/tui/hooks/use-consumer.js +0 -50
- package/dist/tui/hooks/use-queue-polling.d.ts +0 -31
- package/dist/tui/hooks/use-queue-polling.js +0 -90
- /package/dist/tui/contexts/{use-commands.d.ts → commands-context.d.ts} +0 -0
- /package/dist/tui/contexts/{use-mode.d.ts → mode-context.d.ts} +0 -0
- /package/dist/tui/contexts/{use-mode.js → mode-context.js} +0 -0
- /package/dist/tui/contexts/{use-theme.d.ts → theme-context.d.ts} +0 -0
- /package/dist/tui/contexts/{use-theme.js → theme-context.js} +0 -0
package/README.md
CHANGED
|
@@ -6,14 +6,6 @@ Command-line interface for ByteRover, featuring an interactive REPL with a moder
|
|
|
6
6
|
[](https://npmjs.org/package/byterover-cli)
|
|
7
7
|
[](https://nodejs.org)
|
|
8
8
|
|
|
9
|
-
## Important
|
|
10
|
-
|
|
11
|
-
Starting with version **0.2.0**, the ByteRover CLI command has been renamed from `br` to `brv` to avoid conflicts with [broot](https://github.com/Canop/broot), another popular CLI tool that also uses the `br` command.
|
|
12
|
-
|
|
13
|
-
This is a **breaking change** that requires action from existing users.
|
|
14
|
-
|
|
15
|
-
Please check the migration guide [here](https://docs.byterover.dev/beta/migration-br-brv).
|
|
16
|
-
|
|
17
9
|
## Table of Contents
|
|
18
10
|
|
|
19
11
|
* [Installation](#installation)
|
|
@@ -284,7 +276,7 @@ If you encounter issues or have questions:
|
|
|
284
276
|
|
|
285
277
|
1. Check the command help in the REPL
|
|
286
278
|
2. Run `/status` to review your project state
|
|
287
|
-
3. Visit [ByteRover Docs](https://docs.byterover.dev
|
|
279
|
+
3. Visit [ByteRover Docs](https://docs.byterover.dev)
|
|
288
280
|
4. Contact ByteRover support
|
|
289
281
|
|
|
290
282
|
---
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Command } from '@oclif/core';
|
|
2
|
-
import
|
|
2
|
+
import { ICurateUseCase } from '../core/interfaces/usecase/i-curate-use-case.js';
|
|
3
3
|
export default class Curate extends Command {
|
|
4
4
|
static args: {
|
|
5
5
|
context: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
@@ -7,8 +7,6 @@ export default class Curate extends Command {
|
|
|
7
7
|
static description: string;
|
|
8
8
|
static examples: string[];
|
|
9
9
|
static flags: {
|
|
10
|
-
apiKey?: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions> | undefined;
|
|
11
|
-
model?: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions> | undefined;
|
|
12
10
|
verbose?: import("@oclif/core/interfaces").BooleanFlag<boolean> | undefined;
|
|
13
11
|
files: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
12
|
};
|
package/dist/commands/curate.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Args, Command, Flags } from '@oclif/core';
|
|
2
2
|
import { isDevelopment } from '../config/environment.js';
|
|
3
|
-
import { ProjectConfigStore } from '../infra/config/file-config-store.js';
|
|
4
3
|
import { FileGlobalConfigStore } from '../infra/storage/file-global-config-store.js';
|
|
5
4
|
import { KeychainTokenStore } from '../infra/storage/keychain-token-store.js';
|
|
6
5
|
import { OclifTerminal } from '../infra/terminal/oclif-terminal.js';
|
|
@@ -13,9 +12,9 @@ export default class Curate extends Command {
|
|
|
13
12
|
required: false,
|
|
14
13
|
}),
|
|
15
14
|
};
|
|
16
|
-
static description = `Curate context to the context tree (
|
|
15
|
+
static description = `Curate context to the context tree (connects to running brv instance)
|
|
17
16
|
|
|
18
|
-
|
|
17
|
+
Requires a running brv instance. Start one with: brv start
|
|
19
18
|
|
|
20
19
|
Good examples:
|
|
21
20
|
- "Auth uses JWT with 24h expiry. Tokens stored in httpOnly cookies via authMiddleware.ts"
|
|
@@ -24,47 +23,23 @@ Bad examples:
|
|
|
24
23
|
- "Authentication" or "JWT tokens" (too vague, lacks context)
|
|
25
24
|
- "Rate limiting" (no implementation details or file references)`;
|
|
26
25
|
static examples = [
|
|
27
|
-
'#
|
|
26
|
+
'# Curate context - queues task for background processing',
|
|
28
27
|
'<%= config.bin %> <%= command.id %> "Auth uses JWT with 24h expiry. Tokens stored in httpOnly cookies via authMiddleware.ts"',
|
|
29
28
|
'',
|
|
30
|
-
'# Include relevant files for comprehensive context (
|
|
31
|
-
'
|
|
32
|
-
'- NOTE: For multiple files, repeat --files (or -f) flag for each file',
|
|
33
|
-
'- NOTE: Only text/code files from current project directory.',
|
|
29
|
+
'# Include relevant files for comprehensive context (max 5 files)',
|
|
30
|
+
'<%= config.bin %> <%= command.id %> "Authentication middleware validates JWT tokens" -f src/middleware/auth.ts',
|
|
34
31
|
'',
|
|
35
|
-
'
|
|
36
|
-
'<%= config.bin %> <%= command.id %> "
|
|
37
|
-
'',
|
|
38
|
-
'## Multiple files',
|
|
39
|
-
'<%= config.bin %> <%= command.id %> "JWT authentication implementation with refresh token rotation" --files src/auth/jwt.ts --files docs/auth.md',
|
|
40
|
-
'',
|
|
41
|
-
...(isDevelopment()
|
|
42
|
-
? [
|
|
43
|
-
'# Autonomous mode with OpenRouter (development only)',
|
|
44
|
-
'<%= config.bin %> <%= command.id %> -k YOUR_API_KEY "React components follow atomic design in src/components/. Atoms in atoms/, molecules in molecules/, organisms in organisms/"',
|
|
45
|
-
'',
|
|
46
|
-
'# Autonomous mode with custom model (development only)',
|
|
47
|
-
'<%= config.bin %> <%= command.id %> -k YOUR_API_KEY -m anthropic/claude-sonnet-4 "API rate limit is 100 req/min per user. Implemented using Redis with sliding window in rateLimiter.ts"',
|
|
48
|
-
]
|
|
49
|
-
: []),
|
|
32
|
+
'# Multiple files',
|
|
33
|
+
'<%= config.bin %> <%= command.id %> "JWT authentication implementation" --files src/auth/jwt.ts --files docs/auth.md',
|
|
50
34
|
];
|
|
51
35
|
static flags = {
|
|
52
36
|
files: Flags.string({
|
|
53
37
|
char: 'f',
|
|
54
|
-
description: 'Include specific file paths for critical context (max 5 files)
|
|
38
|
+
description: 'Include specific file paths for critical context (max 5 files)',
|
|
55
39
|
multiple: true,
|
|
56
40
|
}),
|
|
57
41
|
...(isDevelopment()
|
|
58
42
|
? {
|
|
59
|
-
apiKey: Flags.string({
|
|
60
|
-
char: 'k',
|
|
61
|
-
description: 'OpenRouter API key (use OpenRouter instead of internal gRPC backend) [Development only]',
|
|
62
|
-
env: 'OPENROUTER_API_KEY',
|
|
63
|
-
}),
|
|
64
|
-
model: Flags.string({
|
|
65
|
-
char: 'm',
|
|
66
|
-
description: 'Model to use (default: google/gemini-2.5-pro for OpenRouter, gemini-2.5-pro for gRPC) [Development only]',
|
|
67
|
-
}),
|
|
68
43
|
verbose: Flags.boolean({
|
|
69
44
|
char: 'v',
|
|
70
45
|
default: false,
|
|
@@ -76,25 +51,13 @@ Bad examples:
|
|
|
76
51
|
createUseCase() {
|
|
77
52
|
const tokenStore = new KeychainTokenStore();
|
|
78
53
|
const globalConfigStore = new FileGlobalConfigStore();
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
tokenStore,
|
|
83
|
-
trackingService: new MixpanelTrackingService({ globalConfigStore, tokenStore }),
|
|
84
|
-
});
|
|
54
|
+
const terminal = new OclifTerminal(this);
|
|
55
|
+
const trackingService = new MixpanelTrackingService({ globalConfigStore, tokenStore });
|
|
56
|
+
return new CurateUseCase({ terminal, trackingService });
|
|
85
57
|
}
|
|
86
58
|
async run() {
|
|
87
|
-
const { args, flags } = await this.parse(Curate);
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
await this.createUseCase().run({
|
|
93
|
-
apiKey: flags.apiKey,
|
|
94
|
-
context: args.context,
|
|
95
|
-
files: flags.files,
|
|
96
|
-
model: flags.model,
|
|
97
|
-
verbose: flags.verbose,
|
|
98
|
-
});
|
|
59
|
+
const { args, flags: rawFlags } = await this.parse(Curate);
|
|
60
|
+
const flags = rawFlags;
|
|
61
|
+
return this.createUseCase().run({ context: args.context, files: flags.files, verbose: flags.verbose });
|
|
99
62
|
}
|
|
100
63
|
}
|
package/dist/commands/main.d.ts
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { Command } from '@oclif/core';
|
|
2
|
+
/**
|
|
3
|
+
* Main command - Entry point for ByteRover CLI.
|
|
4
|
+
*
|
|
5
|
+
* Architecture v0.5.0:
|
|
6
|
+
* - Main Process: Spawns Transport and Agent processes
|
|
7
|
+
* - TUI discovers Transport via TransportClientFactory (same as external CLIs)
|
|
8
|
+
* - All task communication via Socket.IO (NO IPC)
|
|
9
|
+
*/
|
|
2
10
|
export default class Main extends Command {
|
|
3
11
|
static description: string;
|
|
4
12
|
/**
|
package/dist/commands/main.js
CHANGED
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
import { Command } from '@oclif/core';
|
|
2
2
|
import { ProjectConfigStore } from '../infra/config/file-config-store.js';
|
|
3
|
+
import { getProcessManager } from '../infra/process/index.js';
|
|
3
4
|
import { startRepl } from '../infra/repl/repl-startup.js';
|
|
4
|
-
import { FileGlobalConfigStore } from
|
|
5
|
+
import { FileGlobalConfigStore } from '../infra/storage/file-global-config-store.js';
|
|
5
6
|
import { FileOnboardingPreferenceStore } from '../infra/storage/file-onboarding-preference-store.js';
|
|
6
7
|
import { KeychainTokenStore } from '../infra/storage/keychain-token-store.js';
|
|
7
8
|
import { MixpanelTrackingService } from '../infra/tracking/mixpanel-tracking-service.js';
|
|
9
|
+
import { initSessionLog } from '../utils/process-logger.js';
|
|
10
|
+
/**
|
|
11
|
+
* Main command - Entry point for ByteRover CLI.
|
|
12
|
+
*
|
|
13
|
+
* Architecture v0.5.0:
|
|
14
|
+
* - Main Process: Spawns Transport and Agent processes
|
|
15
|
+
* - TUI discovers Transport via TransportClientFactory (same as external CLIs)
|
|
16
|
+
* - All task communication via Socket.IO (NO IPC)
|
|
17
|
+
*/
|
|
8
18
|
export default class Main extends Command {
|
|
9
19
|
static description = 'ByteRover CLI - Interactive REPL';
|
|
10
20
|
/**
|
|
@@ -12,23 +22,34 @@ export default class Main extends Command {
|
|
|
12
22
|
*/
|
|
13
23
|
static hidden = true;
|
|
14
24
|
async run() {
|
|
25
|
+
// Initialize session log (creates ~/.brv/logs/brv-{timestamp}.log)
|
|
26
|
+
initSessionLog();
|
|
15
27
|
// Check if running in an interactive terminal
|
|
16
28
|
if (!process.stdin.isTTY || !process.stdout.isTTY) {
|
|
17
29
|
this.log('ByteRover REPL requires an interactive terminal.');
|
|
18
30
|
this.log("Run 'brv --help' for available commands.");
|
|
19
31
|
return;
|
|
20
32
|
}
|
|
33
|
+
// Start Transport and Agent processes (v0.5.0 architecture)
|
|
34
|
+
const processManager = getProcessManager();
|
|
35
|
+
await processManager.start();
|
|
21
36
|
const tokenStore = new KeychainTokenStore();
|
|
22
37
|
const globalConfigStore = new FileGlobalConfigStore();
|
|
23
38
|
const trackingService = new MixpanelTrackingService({ globalConfigStore, tokenStore });
|
|
24
39
|
const onboardingPreferenceStore = new FileOnboardingPreferenceStore();
|
|
25
40
|
// Start the interactive REPL
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
41
|
+
// TUI will discover Transport via TransportClientFactory (same as external CLIs)
|
|
42
|
+
try {
|
|
43
|
+
await startRepl({
|
|
44
|
+
onboardingPreferenceStore,
|
|
45
|
+
projectConfigStore: new ProjectConfigStore(),
|
|
46
|
+
tokenStore,
|
|
47
|
+
trackingService,
|
|
48
|
+
version: this.config.version,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
finally {
|
|
52
|
+
await processManager.stop();
|
|
53
|
+
}
|
|
33
54
|
}
|
|
34
55
|
}
|
package/dist/commands/query.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Command } from '@oclif/core';
|
|
2
|
-
import
|
|
2
|
+
import { IQueryUseCase } from '../core/interfaces/usecase/i-query-use-case.js';
|
|
3
3
|
export default class Query extends Command {
|
|
4
4
|
static args: {
|
|
5
5
|
query: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
@@ -7,8 +7,6 @@ export default class Query extends Command {
|
|
|
7
7
|
static description: string;
|
|
8
8
|
static examples: string[];
|
|
9
9
|
static flags: {
|
|
10
|
-
apiKey?: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions> | undefined;
|
|
11
|
-
model?: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions> | undefined;
|
|
12
10
|
verbose?: import("@oclif/core/interfaces").BooleanFlag<boolean> | undefined;
|
|
13
11
|
};
|
|
14
12
|
static strict: boolean;
|
package/dist/commands/query.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Args, Command, Flags } from '@oclif/core';
|
|
2
2
|
import { isDevelopment } from '../config/environment.js';
|
|
3
|
-
import { ProjectConfigStore } from '../infra/config/file-config-store.js';
|
|
4
3
|
import { FileGlobalConfigStore } from '../infra/storage/file-global-config-store.js';
|
|
5
4
|
import { KeychainTokenStore } from '../infra/storage/keychain-token-store.js';
|
|
6
5
|
import { OclifTerminal } from '../infra/terminal/oclif-terminal.js';
|
|
@@ -13,7 +12,10 @@ export default class Query extends Command {
|
|
|
13
12
|
required: true,
|
|
14
13
|
}),
|
|
15
14
|
};
|
|
16
|
-
static description = `Query and retrieve information from the context tree
|
|
15
|
+
static description = `Query and retrieve information from the context tree (connects to running brv instance)
|
|
16
|
+
|
|
17
|
+
Requires a running brv instance. Start one with: brv start
|
|
18
|
+
|
|
17
19
|
Good:
|
|
18
20
|
- "How is user authentication implemented?"
|
|
19
21
|
- "What are the API rate limits and where are they enforced?"
|
|
@@ -24,32 +26,10 @@ Bad:
|
|
|
24
26
|
'# Ask questions about patterns, decisions, or implementation details',
|
|
25
27
|
'<%= config.bin %> <%= command.id %> What are the coding standards?',
|
|
26
28
|
'<%= config.bin %> <%= command.id %> How is authentication implemented?',
|
|
27
|
-
'',
|
|
28
|
-
...(isDevelopment()
|
|
29
|
-
? [
|
|
30
|
-
'# Query with OpenRouter (development only)',
|
|
31
|
-
'<%= config.bin %> <%= command.id %> -k YOUR_API_KEY Show me all API endpoints',
|
|
32
|
-
'',
|
|
33
|
-
'# Query with custom model (development only)',
|
|
34
|
-
'<%= config.bin %> <%= command.id %> -k YOUR_API_KEY -m anthropic/claude-sonnet-4 Explain the database schema',
|
|
35
|
-
'',
|
|
36
|
-
'# Query with verbose output (development only)',
|
|
37
|
-
'<%= config.bin %> <%= command.id %> -v What testing strategies are used?',
|
|
38
|
-
]
|
|
39
|
-
: []),
|
|
40
29
|
];
|
|
41
30
|
static flags = {
|
|
42
31
|
...(isDevelopment()
|
|
43
32
|
? {
|
|
44
|
-
apiKey: Flags.string({
|
|
45
|
-
char: 'k',
|
|
46
|
-
description: 'OpenRouter API key (use OpenRouter instead of internal gRPC backend) [Development only]',
|
|
47
|
-
env: 'OPENROUTER_API_KEY',
|
|
48
|
-
}),
|
|
49
|
-
model: Flags.string({
|
|
50
|
-
char: 'm',
|
|
51
|
-
description: 'Model to use (default: google/gemini-2.5-pro for OpenRouter, gemini-2.5-pro for gRPC) [Development only]',
|
|
52
|
-
}),
|
|
53
33
|
verbose: Flags.boolean({
|
|
54
34
|
char: 'v',
|
|
55
35
|
default: false,
|
|
@@ -62,21 +42,14 @@ Bad:
|
|
|
62
42
|
createUseCase() {
|
|
63
43
|
const tokenStore = new KeychainTokenStore();
|
|
64
44
|
const globalConfigStore = new FileGlobalConfigStore();
|
|
45
|
+
const trackingService = new MixpanelTrackingService({ globalConfigStore, tokenStore });
|
|
65
46
|
return new QueryUseCase({
|
|
66
|
-
projectConfigStore: new ProjectConfigStore(),
|
|
67
47
|
terminal: new OclifTerminal(this),
|
|
68
|
-
|
|
69
|
-
trackingService: new MixpanelTrackingService({ globalConfigStore, tokenStore }),
|
|
48
|
+
trackingService,
|
|
70
49
|
});
|
|
71
50
|
}
|
|
72
51
|
async run() {
|
|
73
|
-
const {
|
|
74
|
-
|
|
75
|
-
await this.createUseCase().run({
|
|
76
|
-
apiKey: flags.apiKey,
|
|
77
|
-
model: flags.model,
|
|
78
|
-
query: queryTerms,
|
|
79
|
-
verbose: flags.verbose ?? false,
|
|
80
|
-
});
|
|
52
|
+
const { args, flags } = await this.parse(Query);
|
|
53
|
+
await this.createUseCase().run({ query: args.query, verbose: flags.verbose });
|
|
81
54
|
}
|
|
82
55
|
}
|
|
@@ -9,4 +9,9 @@ export interface DomainConfig {
|
|
|
9
9
|
/**
|
|
10
10
|
* Predefined domains that will be scaffolded during project initialization.
|
|
11
11
|
*/
|
|
12
|
+
export declare const DEFAULT_CONTEXT_TREE_DOMAINS: DomainConfig[];
|
|
13
|
+
/**
|
|
14
|
+
* Alias for backward compatibility.
|
|
15
|
+
* @deprecated Use DEFAULT_CONTEXT_TREE_DOMAINS instead
|
|
16
|
+
*/
|
|
12
17
|
export declare const CONTEXT_TREE_DOMAINS: DomainConfig[];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Predefined domains that will be scaffolded during project initialization.
|
|
3
3
|
*/
|
|
4
|
-
export const
|
|
4
|
+
export const DEFAULT_CONTEXT_TREE_DOMAINS = [
|
|
5
5
|
{
|
|
6
6
|
description: 'Ensure all code follows style guidelines and quality standards',
|
|
7
7
|
name: 'code_style',
|
|
@@ -27,3 +27,8 @@ export const CONTEXT_TREE_DOMAINS = [
|
|
|
27
27
|
name: 'bug_fixes',
|
|
28
28
|
},
|
|
29
29
|
];
|
|
30
|
+
/**
|
|
31
|
+
* Alias for backward compatibility.
|
|
32
|
+
* @deprecated Use DEFAULT_CONTEXT_TREE_DOMAINS instead
|
|
33
|
+
*/
|
|
34
|
+
export const CONTEXT_TREE_DOMAINS = DEFAULT_CONTEXT_TREE_DOMAINS;
|
|
@@ -23,17 +23,17 @@ export const ENV_CONFIG = {
|
|
|
23
23
|
webAppUrl: 'https://dev-beta-app.byterover.dev',
|
|
24
24
|
},
|
|
25
25
|
production: {
|
|
26
|
-
apiBaseUrl: 'https://
|
|
27
|
-
authorizationUrl: 'https://
|
|
28
|
-
clientId: 'byterover-cli',
|
|
29
|
-
cogitApiBaseUrl: 'https://
|
|
30
|
-
issuerUrl: 'https://
|
|
31
|
-
llmApiBaseUrl: 'https://
|
|
26
|
+
apiBaseUrl: 'https://iam.byterover.dev/api/v1',
|
|
27
|
+
authorizationUrl: 'https://iam.byterover.dev/api/v1/oidc/authorize',
|
|
28
|
+
clientId: 'byterover-cli-client',
|
|
29
|
+
cogitApiBaseUrl: 'https://v3-cgit.byterover.dev',
|
|
30
|
+
issuerUrl: 'https://iam.byterover.dev/api/v1/oidc',
|
|
31
|
+
llmApiBaseUrl: 'https://llm.byterover.dev',
|
|
32
32
|
memoraApiBaseUrl: 'https://beta-memora-retrieve.byterover.dev/api/v3',
|
|
33
|
-
mixpanelToken: '
|
|
33
|
+
mixpanelToken: 'fac9051df8242c885a9e0eaf60f78b10',
|
|
34
34
|
scopes: ['read', 'write'],
|
|
35
|
-
tokenUrl: 'https://
|
|
36
|
-
webAppUrl: 'https://
|
|
35
|
+
tokenUrl: 'https://iam.byterover.dev/api/v1/oidc/token',
|
|
36
|
+
webAppUrl: 'https://app.byterover.dev',
|
|
37
37
|
},
|
|
38
38
|
};
|
|
39
39
|
/**
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare const BRV_DIR = ".brv";
|
|
2
2
|
export declare const BLOBS_DIR = "blobs";
|
|
3
3
|
export declare const PROJECT_CONFIG_FILE = "config.json";
|
|
4
|
+
export declare const INSTANCE_FILE = "instance.json";
|
|
4
5
|
export declare const BRV_CONFIG_VERSION = "0.0.1";
|
|
5
6
|
export declare const GLOBAL_CONFIG_DIR = "brv";
|
|
6
7
|
export declare const GLOBAL_CONFIG_FILE = "config.json";
|
|
@@ -9,6 +10,8 @@ export declare const ACE_DIR = "ace";
|
|
|
9
10
|
export declare const PROJECT = "byterover";
|
|
10
11
|
export declare const CONTEXT_TREE_DIR = "context-tree";
|
|
11
12
|
export declare const CONTEXT_FILE = "context.md";
|
|
13
|
+
export declare const CONTEXT_FILE_EXTENSION = ".md";
|
|
14
|
+
export declare const README_FILE = "README.md";
|
|
12
15
|
export declare const SNAPSHOT_FILE = ".snapshot.json";
|
|
13
16
|
/**
|
|
14
17
|
* Default ByteRover branch name for memory storage.
|
|
@@ -20,3 +23,14 @@ export declare const DEFAULT_BRANCH = "main";
|
|
|
20
23
|
* Used in CLI help output to direct users to online documentation.
|
|
21
24
|
*/
|
|
22
25
|
export declare const DOCS_URL = "https://docs.byterover.dev/beta";
|
|
26
|
+
export declare const TRANSPORT_HOST = "127.0.0.1";
|
|
27
|
+
export declare const TRANSPORT_REQUEST_TIMEOUT_MS = 10000;
|
|
28
|
+
export declare const TRANSPORT_ROOM_TIMEOUT_MS = 2000;
|
|
29
|
+
export declare const TRANSPORT_CONNECT_TIMEOUT_MS = 3000;
|
|
30
|
+
export declare const TRANSPORT_RECONNECTION_DELAY_MS = 50;
|
|
31
|
+
export declare const TRANSPORT_RECONNECTION_DELAY_MAX_MS = 1000;
|
|
32
|
+
export declare const TRANSPORT_RECONNECTION_ATTEMPTS = 30;
|
|
33
|
+
export declare const TRANSPORT_PING_INTERVAL_MS = 5000;
|
|
34
|
+
export declare const TRANSPORT_PING_TIMEOUT_MS = 10000;
|
|
35
|
+
export declare const TRANSPORT_DEFAULT_TRANSPORTS: ('polling' | 'websocket')[];
|
|
36
|
+
export declare const DEFAULT_LLM_MODEL = "gemini-2.5-pro";
|
package/dist/constants.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export const BRV_DIR = '.brv';
|
|
2
2
|
export const BLOBS_DIR = 'blobs';
|
|
3
3
|
export const PROJECT_CONFIG_FILE = 'config.json';
|
|
4
|
+
export const INSTANCE_FILE = 'instance.json';
|
|
4
5
|
export const BRV_CONFIG_VERSION = '0.0.1';
|
|
5
6
|
// Global config constants (user-level, stored in XDG config directory)
|
|
6
7
|
export const GLOBAL_CONFIG_DIR = 'brv';
|
|
@@ -12,6 +13,8 @@ export const PROJECT = 'byterover';
|
|
|
12
13
|
// Context Tree directory structure constants
|
|
13
14
|
export const CONTEXT_TREE_DIR = 'context-tree';
|
|
14
15
|
export const CONTEXT_FILE = 'context.md';
|
|
16
|
+
export const CONTEXT_FILE_EXTENSION = '.md';
|
|
17
|
+
export const README_FILE = 'README.md';
|
|
15
18
|
export const SNAPSHOT_FILE = '.snapshot.json';
|
|
16
19
|
/**
|
|
17
20
|
* Default ByteRover branch name for memory storage.
|
|
@@ -23,3 +26,18 @@ export const DEFAULT_BRANCH = 'main';
|
|
|
23
26
|
* Used in CLI help output to direct users to online documentation.
|
|
24
27
|
*/
|
|
25
28
|
export const DOCS_URL = 'https://docs.byterover.dev/beta';
|
|
29
|
+
// Transport layer constants (optimized for localhost real-time)
|
|
30
|
+
export const TRANSPORT_HOST = '127.0.0.1'; // Use hostname for better sandbox compatibility
|
|
31
|
+
export const TRANSPORT_REQUEST_TIMEOUT_MS = 10_000; // 10s - most operations complete quickly
|
|
32
|
+
export const TRANSPORT_ROOM_TIMEOUT_MS = 2000; // 2s - room ops are instant on localhost
|
|
33
|
+
export const TRANSPORT_CONNECT_TIMEOUT_MS = 3000; // 3s - 127.0.0.1 connects in <10ms
|
|
34
|
+
export const TRANSPORT_RECONNECTION_DELAY_MS = 50; // 50ms - ultra aggressive start
|
|
35
|
+
export const TRANSPORT_RECONNECTION_DELAY_MAX_MS = 1000; // 1s cap - fail fast, retry fast
|
|
36
|
+
export const TRANSPORT_RECONNECTION_ATTEMPTS = 30; // More attempts with faster retry
|
|
37
|
+
export const TRANSPORT_PING_INTERVAL_MS = 5000; // 5s ping - reasonable for local communication
|
|
38
|
+
export const TRANSPORT_PING_TIMEOUT_MS = 10_000; // 10s timeout - avoid false disconnects during GC/load
|
|
39
|
+
// WebSocket-only transport to avoid HTTP polling issues in sandboxed environments (Cursor, etc.)
|
|
40
|
+
// HTTP polling may be blocked by IDE sandboxes causing "xhr poll error"
|
|
41
|
+
export const TRANSPORT_DEFAULT_TRANSPORTS = ['websocket'];
|
|
42
|
+
// LLM Model defaults
|
|
43
|
+
export const DEFAULT_LLM_MODEL = 'gemini-2.5-pro';
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Permission values for agent operations.
|
|
4
|
+
* - allow: Operation is permitted without asking
|
|
5
|
+
* - deny: Operation is blocked
|
|
6
|
+
* - ask: User must approve the operation
|
|
7
|
+
*/
|
|
8
|
+
export declare const PermissionValue: z.ZodEnum<["allow", "deny", "ask"]>;
|
|
9
|
+
export type PermissionValue = z.infer<typeof PermissionValue>;
|
|
10
|
+
/**
|
|
11
|
+
* Agent mode determines how the agent can be used.
|
|
12
|
+
* - primary: Entry point agent (e.g., plan, cipher)
|
|
13
|
+
* - subagent: Can only be invoked by primary agents via TaskTool
|
|
14
|
+
* - all: Can be used as both primary and subagent
|
|
15
|
+
*/
|
|
16
|
+
export declare const AgentMode: z.ZodEnum<["primary", "subagent", "all"]>;
|
|
17
|
+
export type AgentMode = z.infer<typeof AgentMode>;
|
|
18
|
+
/**
|
|
19
|
+
* Permission configuration for an agent.
|
|
20
|
+
* Controls what operations the agent is allowed to perform.
|
|
21
|
+
*/
|
|
22
|
+
export declare const AgentPermissionSchema: z.ZodObject<{
|
|
23
|
+
/**
|
|
24
|
+
* Permission map for bash commands.
|
|
25
|
+
* Keys are command patterns (supports wildcards like 'git*', 'ls*').
|
|
26
|
+
* Value '*' applies to all commands not matched by other patterns.
|
|
27
|
+
* @default { '*': 'allow' }
|
|
28
|
+
*/
|
|
29
|
+
bash: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEnum<["allow", "deny", "ask"]>>>;
|
|
30
|
+
/**
|
|
31
|
+
* Permission for file editing operations (edit_file, write_file).
|
|
32
|
+
* @default 'allow'
|
|
33
|
+
*/
|
|
34
|
+
edit: z.ZodDefault<z.ZodEnum<["allow", "deny", "ask"]>>;
|
|
35
|
+
}, "strip", z.ZodTypeAny, {
|
|
36
|
+
edit: "allow" | "deny" | "ask";
|
|
37
|
+
bash: Record<string, "allow" | "deny" | "ask">;
|
|
38
|
+
}, {
|
|
39
|
+
edit?: "allow" | "deny" | "ask" | undefined;
|
|
40
|
+
bash?: Record<string, "allow" | "deny" | "ask"> | undefined;
|
|
41
|
+
}>;
|
|
42
|
+
export type AgentPermission = z.infer<typeof AgentPermissionSchema>;
|
|
43
|
+
/**
|
|
44
|
+
* Agent information schema.
|
|
45
|
+
* Defines the configuration for a Cipher agent (modeled after OpenCode's Agent.Info).
|
|
46
|
+
*/
|
|
47
|
+
export declare const AgentInfoSchema: z.ZodObject<{
|
|
48
|
+
/**
|
|
49
|
+
* Optional color for UI display (hex code like #RRGGBB).
|
|
50
|
+
*/
|
|
51
|
+
color: z.ZodOptional<z.ZodString>;
|
|
52
|
+
/**
|
|
53
|
+
* Human-readable description of when to use this agent.
|
|
54
|
+
* Displayed to LLM when selecting subagents via TaskTool.
|
|
55
|
+
*/
|
|
56
|
+
description: z.ZodOptional<z.ZodString>;
|
|
57
|
+
/**
|
|
58
|
+
* Whether this agent is hidden from user selection.
|
|
59
|
+
* Hidden agents can still be invoked programmatically.
|
|
60
|
+
* @default false
|
|
61
|
+
*/
|
|
62
|
+
hidden: z.ZodDefault<z.ZodBoolean>;
|
|
63
|
+
/**
|
|
64
|
+
* Maximum number of LLM iterations for this agent.
|
|
65
|
+
* Overrides the default maxIterations from config.
|
|
66
|
+
*/
|
|
67
|
+
maxIterations: z.ZodOptional<z.ZodNumber>;
|
|
68
|
+
/**
|
|
69
|
+
* Agent mode: primary, subagent, or all.
|
|
70
|
+
* - primary: Direct entry point for users
|
|
71
|
+
* - subagent: Invoked via TaskTool from primary agents
|
|
72
|
+
* - all: Can be used in both contexts
|
|
73
|
+
*/
|
|
74
|
+
mode: z.ZodEnum<["primary", "subagent", "all"]>;
|
|
75
|
+
/**
|
|
76
|
+
* Optional model override for this agent.
|
|
77
|
+
* If not specified, uses the default model from agent config.
|
|
78
|
+
*/
|
|
79
|
+
model: z.ZodOptional<z.ZodObject<{
|
|
80
|
+
modelId: z.ZodString;
|
|
81
|
+
providerId: z.ZodOptional<z.ZodString>;
|
|
82
|
+
}, "strip", z.ZodTypeAny, {
|
|
83
|
+
modelId: string;
|
|
84
|
+
providerId?: string | undefined;
|
|
85
|
+
}, {
|
|
86
|
+
modelId: string;
|
|
87
|
+
providerId?: string | undefined;
|
|
88
|
+
}>>;
|
|
89
|
+
/**
|
|
90
|
+
* Unique identifier for the agent.
|
|
91
|
+
* Used to reference the agent in TaskTool and registry.
|
|
92
|
+
*/
|
|
93
|
+
name: z.ZodString;
|
|
94
|
+
/**
|
|
95
|
+
* Whether this is a native (built-in) agent.
|
|
96
|
+
* Native agents are defined in code, not config files.
|
|
97
|
+
* @default true
|
|
98
|
+
*/
|
|
99
|
+
native: z.ZodDefault<z.ZodBoolean>;
|
|
100
|
+
/**
|
|
101
|
+
* Permission configuration for this agent.
|
|
102
|
+
* Controls file editing and bash command access.
|
|
103
|
+
*/
|
|
104
|
+
permission: z.ZodDefault<z.ZodObject<{
|
|
105
|
+
/**
|
|
106
|
+
* Permission map for bash commands.
|
|
107
|
+
* Keys are command patterns (supports wildcards like 'git*', 'ls*').
|
|
108
|
+
* Value '*' applies to all commands not matched by other patterns.
|
|
109
|
+
* @default { '*': 'allow' }
|
|
110
|
+
*/
|
|
111
|
+
bash: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEnum<["allow", "deny", "ask"]>>>;
|
|
112
|
+
/**
|
|
113
|
+
* Permission for file editing operations (edit_file, write_file).
|
|
114
|
+
* @default 'allow'
|
|
115
|
+
*/
|
|
116
|
+
edit: z.ZodDefault<z.ZodEnum<["allow", "deny", "ask"]>>;
|
|
117
|
+
}, "strip", z.ZodTypeAny, {
|
|
118
|
+
edit: "allow" | "deny" | "ask";
|
|
119
|
+
bash: Record<string, "allow" | "deny" | "ask">;
|
|
120
|
+
}, {
|
|
121
|
+
edit?: "allow" | "deny" | "ask" | undefined;
|
|
122
|
+
bash?: Record<string, "allow" | "deny" | "ask"> | undefined;
|
|
123
|
+
}>>;
|
|
124
|
+
/**
|
|
125
|
+
* Inline system prompt for this agent.
|
|
126
|
+
* Used when promptFile is not specified.
|
|
127
|
+
*/
|
|
128
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
129
|
+
/**
|
|
130
|
+
* Reference to a YAML prompt file in src/resources/prompts/.
|
|
131
|
+
* The file content will be used as the agent's system prompt.
|
|
132
|
+
* Takes precedence over inline `prompt` if both are specified.
|
|
133
|
+
*/
|
|
134
|
+
promptFile: z.ZodOptional<z.ZodString>;
|
|
135
|
+
/**
|
|
136
|
+
* LLM temperature for this agent.
|
|
137
|
+
* Controls randomness/creativity of responses.
|
|
138
|
+
*/
|
|
139
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
140
|
+
/**
|
|
141
|
+
* Tool enable/disable configuration.
|
|
142
|
+
* Keys are tool names, values are boolean (true = enabled, false = disabled).
|
|
143
|
+
* Supports wildcard '*' for all tools.
|
|
144
|
+
* Tools not listed inherit from parent/default configuration.
|
|
145
|
+
*/
|
|
146
|
+
tools: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
147
|
+
}, "strip", z.ZodTypeAny, {
|
|
148
|
+
name: string;
|
|
149
|
+
hidden: boolean;
|
|
150
|
+
mode: "primary" | "subagent" | "all";
|
|
151
|
+
native: boolean;
|
|
152
|
+
permission: {
|
|
153
|
+
edit: "allow" | "deny" | "ask";
|
|
154
|
+
bash: Record<string, "allow" | "deny" | "ask">;
|
|
155
|
+
};
|
|
156
|
+
tools: Record<string, boolean>;
|
|
157
|
+
prompt?: string | undefined;
|
|
158
|
+
maxIterations?: number | undefined;
|
|
159
|
+
model?: {
|
|
160
|
+
modelId: string;
|
|
161
|
+
providerId?: string | undefined;
|
|
162
|
+
} | undefined;
|
|
163
|
+
description?: string | undefined;
|
|
164
|
+
color?: string | undefined;
|
|
165
|
+
temperature?: number | undefined;
|
|
166
|
+
promptFile?: string | undefined;
|
|
167
|
+
}, {
|
|
168
|
+
name: string;
|
|
169
|
+
mode: "primary" | "subagent" | "all";
|
|
170
|
+
prompt?: string | undefined;
|
|
171
|
+
maxIterations?: number | undefined;
|
|
172
|
+
model?: {
|
|
173
|
+
modelId: string;
|
|
174
|
+
providerId?: string | undefined;
|
|
175
|
+
} | undefined;
|
|
176
|
+
description?: string | undefined;
|
|
177
|
+
hidden?: boolean | undefined;
|
|
178
|
+
color?: string | undefined;
|
|
179
|
+
temperature?: number | undefined;
|
|
180
|
+
native?: boolean | undefined;
|
|
181
|
+
permission?: {
|
|
182
|
+
edit?: "allow" | "deny" | "ask" | undefined;
|
|
183
|
+
bash?: Record<string, "allow" | "deny" | "ask"> | undefined;
|
|
184
|
+
} | undefined;
|
|
185
|
+
promptFile?: string | undefined;
|
|
186
|
+
tools?: Record<string, boolean> | undefined;
|
|
187
|
+
}>;
|
|
188
|
+
/**
|
|
189
|
+
* Type for agent information.
|
|
190
|
+
*/
|
|
191
|
+
export type AgentInfo = z.infer<typeof AgentInfoSchema>;
|
|
192
|
+
/**
|
|
193
|
+
* Default permission configuration for agents.
|
|
194
|
+
*/
|
|
195
|
+
export declare const DEFAULT_AGENT_PERMISSION: AgentPermission;
|
|
196
|
+
/**
|
|
197
|
+
* Read-only permission configuration (for planning agents).
|
|
198
|
+
*/
|
|
199
|
+
export declare const READONLY_AGENT_PERMISSION: AgentPermission;
|