byterover-cli 0.4.1 → 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/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
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* LLM configuration schema with validation and defaults.
|
|
4
|
+
*/
|
|
5
|
+
export declare const LLMConfigSchema: z.ZodObject<{
|
|
6
|
+
maxIterations: z.ZodDefault<z.ZodNumber>;
|
|
7
|
+
maxTokens: z.ZodDefault<z.ZodNumber>;
|
|
8
|
+
temperature: z.ZodDefault<z.ZodNumber>;
|
|
9
|
+
topK: z.ZodOptional<z.ZodNumber>;
|
|
10
|
+
topP: z.ZodOptional<z.ZodNumber>;
|
|
11
|
+
verbose: z.ZodDefault<z.ZodBoolean>;
|
|
12
|
+
}, "strict", z.ZodTypeAny, {
|
|
13
|
+
maxIterations: number;
|
|
14
|
+
verbose: boolean;
|
|
15
|
+
maxTokens: number;
|
|
16
|
+
temperature: number;
|
|
17
|
+
topK?: number | undefined;
|
|
18
|
+
topP?: number | undefined;
|
|
19
|
+
}, {
|
|
20
|
+
maxIterations?: number | undefined;
|
|
21
|
+
verbose?: boolean | undefined;
|
|
22
|
+
maxTokens?: number | undefined;
|
|
23
|
+
temperature?: number | undefined;
|
|
24
|
+
topK?: number | undefined;
|
|
25
|
+
topP?: number | undefined;
|
|
26
|
+
}>;
|
|
27
|
+
export type LLMConfig = z.input<typeof LLMConfigSchema>;
|
|
28
|
+
export type ValidatedLLMConfig = z.output<typeof LLMConfigSchema>;
|
|
29
|
+
/**
|
|
30
|
+
* Session configuration schema.
|
|
31
|
+
*/
|
|
32
|
+
export declare const SessionConfigSchema: z.ZodObject<{
|
|
33
|
+
maxSessions: z.ZodDefault<z.ZodNumber>;
|
|
34
|
+
sessionTTL: z.ZodDefault<z.ZodNumber>;
|
|
35
|
+
}, "strict", z.ZodTypeAny, {
|
|
36
|
+
maxSessions: number;
|
|
37
|
+
sessionTTL: number;
|
|
38
|
+
}, {
|
|
39
|
+
maxSessions?: number | undefined;
|
|
40
|
+
sessionTTL?: number | undefined;
|
|
41
|
+
}>;
|
|
42
|
+
export type SessionConfig = z.input<typeof SessionConfigSchema>;
|
|
43
|
+
export type ValidatedSessionConfig = z.output<typeof SessionConfigSchema>;
|
|
44
|
+
/**
|
|
45
|
+
* File system configuration schema.
|
|
46
|
+
*/
|
|
47
|
+
export declare const FileSystemConfigSchema: z.ZodObject<{
|
|
48
|
+
allowedExtensions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
49
|
+
maxFileSize: z.ZodOptional<z.ZodNumber>;
|
|
50
|
+
workingDirectory: z.ZodOptional<z.ZodString>;
|
|
51
|
+
}, "strict", z.ZodTypeAny, {
|
|
52
|
+
allowedExtensions?: string[] | undefined;
|
|
53
|
+
maxFileSize?: number | undefined;
|
|
54
|
+
workingDirectory?: string | undefined;
|
|
55
|
+
}, {
|
|
56
|
+
allowedExtensions?: string[] | undefined;
|
|
57
|
+
maxFileSize?: number | undefined;
|
|
58
|
+
workingDirectory?: string | undefined;
|
|
59
|
+
}>;
|
|
60
|
+
export type FileSystemConfig = z.input<typeof FileSystemConfigSchema>;
|
|
61
|
+
export type ValidatedFileSystemConfig = z.output<typeof FileSystemConfigSchema>;
|
|
62
|
+
/**
|
|
63
|
+
* Blob storage configuration schema.
|
|
64
|
+
*/
|
|
65
|
+
export declare const BlobStorageConfigSchema: z.ZodObject<{
|
|
66
|
+
maxBlobSize: z.ZodDefault<z.ZodNumber>;
|
|
67
|
+
maxTotalSize: z.ZodDefault<z.ZodNumber>;
|
|
68
|
+
storageDir: z.ZodString;
|
|
69
|
+
}, "strict", z.ZodTypeAny, {
|
|
70
|
+
maxBlobSize: number;
|
|
71
|
+
maxTotalSize: number;
|
|
72
|
+
storageDir: string;
|
|
73
|
+
}, {
|
|
74
|
+
storageDir: string;
|
|
75
|
+
maxBlobSize?: number | undefined;
|
|
76
|
+
maxTotalSize?: number | undefined;
|
|
77
|
+
}>;
|
|
78
|
+
export type BlobStorageConfig = z.input<typeof BlobStorageConfigSchema>;
|
|
79
|
+
export type ValidatedBlobStorageConfig = z.output<typeof BlobStorageConfigSchema>;
|
|
80
|
+
/**
|
|
81
|
+
* Main agent configuration schema.
|
|
82
|
+
* Combines all sub-schemas with validation and defaults.
|
|
83
|
+
*
|
|
84
|
+
* This schema validates and transforms raw config into a fully-typed
|
|
85
|
+
* configuration with all defaults applied.
|
|
86
|
+
*/
|
|
87
|
+
export declare const AgentConfigSchema: z.ZodObject<{
|
|
88
|
+
accessToken: z.ZodString;
|
|
89
|
+
apiBaseUrl: z.ZodString;
|
|
90
|
+
blobStorage: z.ZodOptional<z.ZodObject<{
|
|
91
|
+
maxBlobSize: z.ZodDefault<z.ZodNumber>;
|
|
92
|
+
maxTotalSize: z.ZodDefault<z.ZodNumber>;
|
|
93
|
+
storageDir: z.ZodString;
|
|
94
|
+
}, "strict", z.ZodTypeAny, {
|
|
95
|
+
maxBlobSize: number;
|
|
96
|
+
maxTotalSize: number;
|
|
97
|
+
storageDir: string;
|
|
98
|
+
}, {
|
|
99
|
+
storageDir: string;
|
|
100
|
+
maxBlobSize?: number | undefined;
|
|
101
|
+
maxTotalSize?: number | undefined;
|
|
102
|
+
}>>;
|
|
103
|
+
fileSystem: z.ZodOptional<z.ZodObject<{
|
|
104
|
+
allowedExtensions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
105
|
+
maxFileSize: z.ZodOptional<z.ZodNumber>;
|
|
106
|
+
workingDirectory: z.ZodOptional<z.ZodString>;
|
|
107
|
+
}, "strict", z.ZodTypeAny, {
|
|
108
|
+
allowedExtensions?: string[] | undefined;
|
|
109
|
+
maxFileSize?: number | undefined;
|
|
110
|
+
workingDirectory?: string | undefined;
|
|
111
|
+
}, {
|
|
112
|
+
allowedExtensions?: string[] | undefined;
|
|
113
|
+
maxFileSize?: number | undefined;
|
|
114
|
+
workingDirectory?: string | undefined;
|
|
115
|
+
}>>;
|
|
116
|
+
httpReferer: z.ZodOptional<z.ZodString>;
|
|
117
|
+
llm: z.ZodDefault<z.ZodObject<{
|
|
118
|
+
maxIterations: z.ZodDefault<z.ZodNumber>;
|
|
119
|
+
maxTokens: z.ZodDefault<z.ZodNumber>;
|
|
120
|
+
temperature: z.ZodDefault<z.ZodNumber>;
|
|
121
|
+
topK: z.ZodOptional<z.ZodNumber>;
|
|
122
|
+
topP: z.ZodOptional<z.ZodNumber>;
|
|
123
|
+
verbose: z.ZodDefault<z.ZodBoolean>;
|
|
124
|
+
}, "strict", z.ZodTypeAny, {
|
|
125
|
+
maxIterations: number;
|
|
126
|
+
verbose: boolean;
|
|
127
|
+
maxTokens: number;
|
|
128
|
+
temperature: number;
|
|
129
|
+
topK?: number | undefined;
|
|
130
|
+
topP?: number | undefined;
|
|
131
|
+
}, {
|
|
132
|
+
maxIterations?: number | undefined;
|
|
133
|
+
verbose?: boolean | undefined;
|
|
134
|
+
maxTokens?: number | undefined;
|
|
135
|
+
temperature?: number | undefined;
|
|
136
|
+
topK?: number | undefined;
|
|
137
|
+
topP?: number | undefined;
|
|
138
|
+
}>>;
|
|
139
|
+
model: z.ZodString;
|
|
140
|
+
openRouterApiKey: z.ZodOptional<z.ZodString>;
|
|
141
|
+
projectId: z.ZodString;
|
|
142
|
+
region: z.ZodOptional<z.ZodString>;
|
|
143
|
+
sessionKey: z.ZodString;
|
|
144
|
+
sessions: z.ZodDefault<z.ZodObject<{
|
|
145
|
+
maxSessions: z.ZodDefault<z.ZodNumber>;
|
|
146
|
+
sessionTTL: z.ZodDefault<z.ZodNumber>;
|
|
147
|
+
}, "strict", z.ZodTypeAny, {
|
|
148
|
+
maxSessions: number;
|
|
149
|
+
sessionTTL: number;
|
|
150
|
+
}, {
|
|
151
|
+
maxSessions?: number | undefined;
|
|
152
|
+
sessionTTL?: number | undefined;
|
|
153
|
+
}>>;
|
|
154
|
+
siteName: z.ZodOptional<z.ZodString>;
|
|
155
|
+
spaceId: z.ZodOptional<z.ZodString>;
|
|
156
|
+
teamId: z.ZodOptional<z.ZodString>;
|
|
157
|
+
useGranularStorage: z.ZodDefault<z.ZodBoolean>;
|
|
158
|
+
}, "strict", z.ZodTypeAny, {
|
|
159
|
+
accessToken: string;
|
|
160
|
+
sessionKey: string;
|
|
161
|
+
model: string;
|
|
162
|
+
sessions: {
|
|
163
|
+
maxSessions: number;
|
|
164
|
+
sessionTTL: number;
|
|
165
|
+
};
|
|
166
|
+
apiBaseUrl: string;
|
|
167
|
+
llm: {
|
|
168
|
+
maxIterations: number;
|
|
169
|
+
verbose: boolean;
|
|
170
|
+
maxTokens: number;
|
|
171
|
+
temperature: number;
|
|
172
|
+
topK?: number | undefined;
|
|
173
|
+
topP?: number | undefined;
|
|
174
|
+
};
|
|
175
|
+
projectId: string;
|
|
176
|
+
useGranularStorage: boolean;
|
|
177
|
+
teamId?: string | undefined;
|
|
178
|
+
spaceId?: string | undefined;
|
|
179
|
+
blobStorage?: {
|
|
180
|
+
maxBlobSize: number;
|
|
181
|
+
maxTotalSize: number;
|
|
182
|
+
storageDir: string;
|
|
183
|
+
} | undefined;
|
|
184
|
+
fileSystem?: {
|
|
185
|
+
allowedExtensions?: string[] | undefined;
|
|
186
|
+
maxFileSize?: number | undefined;
|
|
187
|
+
workingDirectory?: string | undefined;
|
|
188
|
+
} | undefined;
|
|
189
|
+
httpReferer?: string | undefined;
|
|
190
|
+
openRouterApiKey?: string | undefined;
|
|
191
|
+
region?: string | undefined;
|
|
192
|
+
siteName?: string | undefined;
|
|
193
|
+
}, {
|
|
194
|
+
accessToken: string;
|
|
195
|
+
sessionKey: string;
|
|
196
|
+
model: string;
|
|
197
|
+
apiBaseUrl: string;
|
|
198
|
+
projectId: string;
|
|
199
|
+
sessions?: {
|
|
200
|
+
maxSessions?: number | undefined;
|
|
201
|
+
sessionTTL?: number | undefined;
|
|
202
|
+
} | undefined;
|
|
203
|
+
teamId?: string | undefined;
|
|
204
|
+
spaceId?: string | undefined;
|
|
205
|
+
blobStorage?: {
|
|
206
|
+
storageDir: string;
|
|
207
|
+
maxBlobSize?: number | undefined;
|
|
208
|
+
maxTotalSize?: number | undefined;
|
|
209
|
+
} | undefined;
|
|
210
|
+
fileSystem?: {
|
|
211
|
+
allowedExtensions?: string[] | undefined;
|
|
212
|
+
maxFileSize?: number | undefined;
|
|
213
|
+
workingDirectory?: string | undefined;
|
|
214
|
+
} | undefined;
|
|
215
|
+
httpReferer?: string | undefined;
|
|
216
|
+
llm?: {
|
|
217
|
+
maxIterations?: number | undefined;
|
|
218
|
+
verbose?: boolean | undefined;
|
|
219
|
+
maxTokens?: number | undefined;
|
|
220
|
+
temperature?: number | undefined;
|
|
221
|
+
topK?: number | undefined;
|
|
222
|
+
topP?: number | undefined;
|
|
223
|
+
} | undefined;
|
|
224
|
+
openRouterApiKey?: string | undefined;
|
|
225
|
+
region?: string | undefined;
|
|
226
|
+
siteName?: string | undefined;
|
|
227
|
+
useGranularStorage?: boolean | undefined;
|
|
228
|
+
}>;
|
|
229
|
+
export type AgentConfig = z.input<typeof AgentConfigSchema>;
|
|
230
|
+
export type ValidatedAgentConfig = z.output<typeof AgentConfigSchema>;
|
|
231
|
+
/**
|
|
232
|
+
* LLM updates schema for runtime config changes.
|
|
233
|
+
* All fields optional - only provided fields will be updated.
|
|
234
|
+
*/
|
|
235
|
+
export declare const LLMUpdatesSchema: z.ZodObject<{
|
|
236
|
+
maxIterations: z.ZodOptional<z.ZodNumber>;
|
|
237
|
+
maxTokens: z.ZodOptional<z.ZodNumber>;
|
|
238
|
+
model: z.ZodOptional<z.ZodString>;
|
|
239
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
240
|
+
verbose: z.ZodOptional<z.ZodBoolean>;
|
|
241
|
+
}, "strict", z.ZodTypeAny, {
|
|
242
|
+
maxIterations?: number | undefined;
|
|
243
|
+
model?: string | undefined;
|
|
244
|
+
verbose?: boolean | undefined;
|
|
245
|
+
maxTokens?: number | undefined;
|
|
246
|
+
temperature?: number | undefined;
|
|
247
|
+
}, {
|
|
248
|
+
maxIterations?: number | undefined;
|
|
249
|
+
model?: string | undefined;
|
|
250
|
+
verbose?: boolean | undefined;
|
|
251
|
+
maxTokens?: number | undefined;
|
|
252
|
+
temperature?: number | undefined;
|
|
253
|
+
}>;
|
|
254
|
+
export type LLMUpdates = z.input<typeof LLMUpdatesSchema>;
|
|
255
|
+
/**
|
|
256
|
+
* Validate agent configuration.
|
|
257
|
+
* Returns validated config with defaults applied, or throws on validation error.
|
|
258
|
+
*/
|
|
259
|
+
export declare function validateAgentConfig(config: unknown): ValidatedAgentConfig;
|
|
260
|
+
/**
|
|
261
|
+
* Safely validate agent configuration.
|
|
262
|
+
* Returns result object with success flag and either data or error.
|
|
263
|
+
*/
|
|
264
|
+
export declare function safeValidateAgentConfig(config: unknown): z.SafeParseReturnType<AgentConfig, ValidatedAgentConfig>;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* LLM configuration schema with validation and defaults.
|
|
4
|
+
*/
|
|
5
|
+
export const LLMConfigSchema = z
|
|
6
|
+
.object({
|
|
7
|
+
maxIterations: z.number().positive().default(50).describe('Maximum agentic loop iterations'),
|
|
8
|
+
maxTokens: z.number().positive().default(8192).describe('Maximum output tokens'),
|
|
9
|
+
temperature: z.number().min(0).max(2).default(0.7).describe('Temperature for generation'),
|
|
10
|
+
topK: z.number().positive().optional().describe('Top-K sampling parameter'),
|
|
11
|
+
topP: z.number().min(0).max(1).optional().describe('Top-P (nucleus) sampling parameter'),
|
|
12
|
+
verbose: z.boolean().default(false).describe('Enable verbose debug output'),
|
|
13
|
+
})
|
|
14
|
+
.strict();
|
|
15
|
+
/**
|
|
16
|
+
* Session configuration schema.
|
|
17
|
+
*/
|
|
18
|
+
export const SessionConfigSchema = z
|
|
19
|
+
.object({
|
|
20
|
+
maxSessions: z.number().positive().default(100).describe('Maximum concurrent sessions'),
|
|
21
|
+
sessionTTL: z.number().positive().default(3_600_000).describe('Session TTL in milliseconds (1 hour default)'),
|
|
22
|
+
})
|
|
23
|
+
.strict();
|
|
24
|
+
/**
|
|
25
|
+
* File system configuration schema.
|
|
26
|
+
*/
|
|
27
|
+
export const FileSystemConfigSchema = z
|
|
28
|
+
.object({
|
|
29
|
+
allowedExtensions: z.array(z.string()).optional().describe('Allowed file extensions'),
|
|
30
|
+
maxFileSize: z.number().positive().optional().describe('Maximum file size in bytes'),
|
|
31
|
+
workingDirectory: z.string().optional().describe('Working directory for file operations'),
|
|
32
|
+
})
|
|
33
|
+
.strict();
|
|
34
|
+
/**
|
|
35
|
+
* Blob storage configuration schema.
|
|
36
|
+
*/
|
|
37
|
+
export const BlobStorageConfigSchema = z
|
|
38
|
+
.object({
|
|
39
|
+
maxBlobSize: z.number().positive().default(100 * 1024 * 1024).describe('Max blob size (100MB default)'),
|
|
40
|
+
maxTotalSize: z.number().positive().default(1024 * 1024 * 1024).describe('Max total size (1GB default)'),
|
|
41
|
+
storageDir: z.string().describe('Directory for blob storage'),
|
|
42
|
+
})
|
|
43
|
+
.strict();
|
|
44
|
+
/**
|
|
45
|
+
* Main agent configuration schema.
|
|
46
|
+
* Combines all sub-schemas with validation and defaults.
|
|
47
|
+
*
|
|
48
|
+
* This schema validates and transforms raw config into a fully-typed
|
|
49
|
+
* configuration with all defaults applied.
|
|
50
|
+
*/
|
|
51
|
+
export const AgentConfigSchema = z
|
|
52
|
+
.object({
|
|
53
|
+
accessToken: z.string().min(1).describe('ByteRover access token'),
|
|
54
|
+
apiBaseUrl: z.string().url().describe('ByteRover API base URL'),
|
|
55
|
+
blobStorage: BlobStorageConfigSchema.optional().describe('Blob storage configuration'),
|
|
56
|
+
fileSystem: FileSystemConfigSchema.optional().describe('File system configuration'),
|
|
57
|
+
httpReferer: z.string().optional().describe('HTTP Referer for OpenRouter rankings'),
|
|
58
|
+
llm: LLMConfigSchema.default({}).describe('LLM configuration'),
|
|
59
|
+
model: z.string().min(1).describe('LLM model identifier'),
|
|
60
|
+
openRouterApiKey: z.string().optional().describe('OpenRouter API key'),
|
|
61
|
+
projectId: z.string().min(1).describe('ByteRover project ID'),
|
|
62
|
+
region: z.string().optional().describe('API region'),
|
|
63
|
+
sessionKey: z.string().min(1).describe('ByteRover session key'),
|
|
64
|
+
sessions: SessionConfigSchema.default({}).describe('Session management configuration'),
|
|
65
|
+
siteName: z.string().optional().describe('Site name for OpenRouter rankings'),
|
|
66
|
+
spaceId: z.string().optional().describe('ByteRover space ID'),
|
|
67
|
+
teamId: z.string().optional().describe('ByteRover team ID'),
|
|
68
|
+
useGranularStorage: z.boolean().default(false).describe('Enable granular history storage'),
|
|
69
|
+
})
|
|
70
|
+
.strict();
|
|
71
|
+
/**
|
|
72
|
+
* LLM updates schema for runtime config changes.
|
|
73
|
+
* All fields optional - only provided fields will be updated.
|
|
74
|
+
*/
|
|
75
|
+
export const LLMUpdatesSchema = z
|
|
76
|
+
.object({
|
|
77
|
+
maxIterations: z.number().positive().optional(),
|
|
78
|
+
maxTokens: z.number().positive().optional(),
|
|
79
|
+
model: z.string().min(1).optional(),
|
|
80
|
+
temperature: z.number().min(0).max(2).optional(),
|
|
81
|
+
verbose: z.boolean().optional(),
|
|
82
|
+
})
|
|
83
|
+
.strict();
|
|
84
|
+
/**
|
|
85
|
+
* Validate agent configuration.
|
|
86
|
+
* Returns validated config with defaults applied, or throws on validation error.
|
|
87
|
+
*/
|
|
88
|
+
export function validateAgentConfig(config) {
|
|
89
|
+
return AgentConfigSchema.parse(config);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Safely validate agent configuration.
|
|
93
|
+
* Returns result object with success flag and either data or error.
|
|
94
|
+
*/
|
|
95
|
+
export function safeValidateAgentConfig(config) {
|
|
96
|
+
return AgentConfigSchema.safeParse(config);
|
|
97
|
+
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import type { TerminationReason } from '../../../core/domain/cipher/agent/agent-state.js';
|
|
2
|
+
import type { AgentExecutionState, AgentState } from '../../../core/interfaces/cipher/i-cipher-agent.js';
|
|
3
|
+
import type { AgentEventBus } from '../events/event-emitter.js';
|
|
4
|
+
import type { ValidatedAgentConfig, ValidatedLLMConfig } from './agent-schemas.js';
|
|
5
|
+
/**
|
|
6
|
+
* Session-specific overrides that can differ from the global configuration.
|
|
7
|
+
*/
|
|
8
|
+
export interface SessionOverride {
|
|
9
|
+
llm?: Partial<ValidatedLLMConfig>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Unified agent state manager combining DextoAgent config patterns with execution state tracking.
|
|
13
|
+
*
|
|
14
|
+
* Manages two concerns:
|
|
15
|
+
*
|
|
16
|
+
* 1. Configuration State (DextoAgent pattern):
|
|
17
|
+
* - baselineConfig: Original validated config, never mutated
|
|
18
|
+
* - runtimeConfig: Current active config, can be mutated
|
|
19
|
+
* - sessionOverrides: Per-session config overrides
|
|
20
|
+
*
|
|
21
|
+
* 2. Execution State (runtime tracking):
|
|
22
|
+
* - currentIteration: Turn counter
|
|
23
|
+
* - executionState: idle | executing | complete | error | aborted | tool_calling
|
|
24
|
+
* - terminationReason: Why execution ended
|
|
25
|
+
* - timing: startTime, endTime, durationMs
|
|
26
|
+
* - toolCallsExecuted: Tool call counter
|
|
27
|
+
* - executionHistory: Legacy history records
|
|
28
|
+
*/
|
|
29
|
+
export declare class AgentStateManager {
|
|
30
|
+
private readonly agentEventBus;
|
|
31
|
+
private readonly baselineConfig;
|
|
32
|
+
private currentIteration;
|
|
33
|
+
private durationMs?;
|
|
34
|
+
private endTime?;
|
|
35
|
+
private executionHistory;
|
|
36
|
+
private executionState;
|
|
37
|
+
private runtimeConfig;
|
|
38
|
+
private readonly sessionOverrides;
|
|
39
|
+
private startTime?;
|
|
40
|
+
private terminationReason?;
|
|
41
|
+
private toolCallsExecuted;
|
|
42
|
+
constructor(staticConfig: ValidatedAgentConfig, agentEventBus: AgentEventBus);
|
|
43
|
+
/**
|
|
44
|
+
* Add an execution record to history (legacy method).
|
|
45
|
+
* @param record - Execution record to add
|
|
46
|
+
*/
|
|
47
|
+
addExecutionRecord(record: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* Clear session-specific overrides.
|
|
50
|
+
*/
|
|
51
|
+
clearSessionOverride(sessionId: string): void;
|
|
52
|
+
/**
|
|
53
|
+
* Mark execution as complete with reason.
|
|
54
|
+
* @param reason - Why execution terminated
|
|
55
|
+
*/
|
|
56
|
+
complete(reason: TerminationReason): void;
|
|
57
|
+
/**
|
|
58
|
+
* Export current runtime state as a config object.
|
|
59
|
+
*/
|
|
60
|
+
exportAsConfig(): ValidatedAgentConfig;
|
|
61
|
+
/**
|
|
62
|
+
* Mark execution as errored.
|
|
63
|
+
* @param reason - Error termination reason
|
|
64
|
+
*/
|
|
65
|
+
fail(reason: TerminationReason): void;
|
|
66
|
+
/**
|
|
67
|
+
* Get the original baseline configuration.
|
|
68
|
+
*/
|
|
69
|
+
getBaselineConfig(): Readonly<ValidatedAgentConfig>;
|
|
70
|
+
/**
|
|
71
|
+
* Get the current execution state.
|
|
72
|
+
* @returns Current agent state with all execution fields
|
|
73
|
+
*/
|
|
74
|
+
getExecutionState(): AgentState;
|
|
75
|
+
/**
|
|
76
|
+
* Get effective LLM config for a session.
|
|
77
|
+
*/
|
|
78
|
+
getLLMConfig(sessionId?: string): Readonly<ValidatedLLMConfig>;
|
|
79
|
+
/**
|
|
80
|
+
* Get the current model identifier.
|
|
81
|
+
*/
|
|
82
|
+
getModel(sessionId?: string): string;
|
|
83
|
+
/**
|
|
84
|
+
* Get runtime configuration for a session (includes session overrides if sessionId provided).
|
|
85
|
+
*/
|
|
86
|
+
getRuntimeConfig(sessionId?: string): Readonly<ValidatedAgentConfig>;
|
|
87
|
+
/**
|
|
88
|
+
* Get all session IDs that have overrides.
|
|
89
|
+
*/
|
|
90
|
+
getSessionsWithOverrides(): string[];
|
|
91
|
+
/**
|
|
92
|
+
* Check if a session has overrides.
|
|
93
|
+
*/
|
|
94
|
+
hasSessionOverride(sessionId: string): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Increment the iteration counter.
|
|
97
|
+
* @returns The new iteration count
|
|
98
|
+
*/
|
|
99
|
+
incrementIteration(): number;
|
|
100
|
+
/**
|
|
101
|
+
* Increment the tool calls counter.
|
|
102
|
+
* @returns The new tool calls count
|
|
103
|
+
*/
|
|
104
|
+
incrementToolCalls(): number;
|
|
105
|
+
/**
|
|
106
|
+
* Reset all state to initial values.
|
|
107
|
+
* Resets both execution state and configuration state.
|
|
108
|
+
*/
|
|
109
|
+
reset(): void;
|
|
110
|
+
/**
|
|
111
|
+
* Reset runtime configuration to baseline.
|
|
112
|
+
* Also clears all session overrides.
|
|
113
|
+
*/
|
|
114
|
+
resetToBaseline(): void;
|
|
115
|
+
/**
|
|
116
|
+
* Set the current execution state.
|
|
117
|
+
* @param state - New execution state
|
|
118
|
+
*/
|
|
119
|
+
setExecutionState(state: AgentExecutionState): void;
|
|
120
|
+
/**
|
|
121
|
+
* Start execution tracking.
|
|
122
|
+
* Sets startTime and transitions to executing state.
|
|
123
|
+
*/
|
|
124
|
+
startExecution(): void;
|
|
125
|
+
/**
|
|
126
|
+
* Update LLM configuration globally or for a specific session.
|
|
127
|
+
*
|
|
128
|
+
* @param updates - Partial LLM configuration updates
|
|
129
|
+
* @param sessionId - Optional session ID for session-specific override
|
|
130
|
+
*/
|
|
131
|
+
updateLLM(updates: Partial<ValidatedLLMConfig>, sessionId?: string): void;
|
|
132
|
+
/**
|
|
133
|
+
* Update the model globally or for a specific session.
|
|
134
|
+
*/
|
|
135
|
+
updateModel(model: string, sessionId?: string): void;
|
|
136
|
+
/**
|
|
137
|
+
* Set a session-specific override.
|
|
138
|
+
*/
|
|
139
|
+
private setSessionOverride;
|
|
140
|
+
}
|