byterover-cli 0.2.1 → 0.3.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 +56 -56
- package/bin/dev.js +1 -1
- package/dist/commands/cipher-agent/run.d.ts +111 -0
- package/dist/commands/cipher-agent/run.js +493 -0
- package/dist/commands/cipher-agent/set-prompt.d.ts +14 -0
- package/dist/commands/cipher-agent/set-prompt.js +53 -0
- package/dist/commands/cipher-agent/show-prompt.d.ts +11 -0
- package/dist/commands/cipher-agent/show-prompt.js +48 -0
- package/dist/commands/clear.d.ts +6 -0
- package/dist/commands/clear.js +36 -15
- package/dist/commands/curate.d.ts +74 -0
- package/dist/commands/curate.js +396 -0
- package/dist/commands/foo.d.ts +12 -0
- package/dist/commands/foo.js +61 -0
- package/dist/commands/gen-rules.d.ts +3 -0
- package/dist/commands/gen-rules.js +39 -20
- package/dist/commands/init.d.ts +63 -3
- package/dist/commands/init.js +285 -70
- package/dist/commands/login.js +9 -4
- package/dist/commands/pull.d.ts +33 -0
- package/dist/commands/pull.js +115 -0
- package/dist/commands/push.d.ts +13 -13
- package/dist/commands/push.js +81 -101
- package/dist/commands/query.d.ts +63 -0
- package/dist/commands/query.js +349 -0
- package/dist/commands/space/list.d.ts +5 -2
- package/dist/commands/space/list.js +60 -56
- package/dist/commands/space/switch.d.ts +16 -0
- package/dist/commands/space/switch.js +102 -53
- package/dist/commands/status.d.ts +5 -2
- package/dist/commands/status.js +43 -33
- package/dist/commands/watch.d.ts +23 -0
- package/dist/commands/watch.js +171 -0
- package/dist/config/auth.config.js +14 -2
- package/dist/config/context-tree-domains.d.ts +12 -0
- package/dist/config/context-tree-domains.js +29 -0
- package/dist/config/environment.d.ts +6 -0
- package/dist/config/environment.js +9 -2
- package/dist/constants.d.ts +5 -0
- package/dist/constants.js +6 -0
- package/dist/core/domain/cipher/agent/agent-state-machine.d.ts +128 -0
- package/dist/core/domain/cipher/agent/agent-state-machine.js +183 -0
- package/dist/core/domain/cipher/agent/agent-state.d.ts +77 -0
- package/dist/core/domain/cipher/agent/agent-state.js +59 -0
- package/dist/core/domain/cipher/agent/index.d.ts +7 -0
- package/dist/core/domain/cipher/agent/index.js +7 -0
- package/dist/core/domain/cipher/agent-events/index.d.ts +8 -0
- package/dist/core/domain/cipher/agent-events/index.js +7 -0
- package/dist/core/domain/cipher/agent-events/types.d.ts +419 -0
- package/dist/core/domain/cipher/agent-events/types.js +42 -0
- package/dist/core/domain/cipher/blob/types.d.ts +108 -0
- package/dist/core/domain/cipher/errors/blob-error.d.ts +36 -0
- package/dist/core/domain/cipher/errors/blob-error.js +68 -0
- package/dist/core/domain/cipher/errors/file-system-error.d.ts +211 -0
- package/dist/core/domain/cipher/errors/file-system-error.js +291 -0
- package/dist/core/domain/cipher/errors/llm-error.d.ts +120 -0
- package/dist/core/domain/cipher/errors/llm-error.js +161 -0
- package/dist/core/domain/cipher/errors/memory-error.d.ts +35 -0
- package/dist/core/domain/cipher/errors/memory-error.js +62 -0
- package/dist/core/domain/cipher/errors/process-error-code.d.ts +97 -0
- package/dist/core/domain/cipher/errors/process-error-code.js +98 -0
- package/dist/core/domain/cipher/errors/process-error.d.ts +135 -0
- package/dist/core/domain/cipher/errors/process-error.js +173 -0
- package/dist/core/domain/cipher/errors/session-error.d.ts +56 -0
- package/dist/core/domain/cipher/errors/session-error.js +74 -0
- package/dist/core/domain/cipher/errors/tool-error.d.ts +57 -0
- package/dist/core/domain/cipher/errors/tool-error.js +81 -0
- package/dist/core/domain/cipher/file-system/types.d.ts +203 -0
- package/dist/core/domain/cipher/memory/types.d.ts +102 -0
- package/dist/core/domain/cipher/memory/types.js +4 -0
- package/dist/core/domain/cipher/parsed-interaction.d.ts +47 -0
- package/dist/core/domain/cipher/parsed-interaction.js +25 -0
- package/dist/core/domain/cipher/process/types.d.ts +286 -0
- package/dist/core/domain/cipher/session/types.d.ts +54 -0
- package/dist/core/domain/cipher/storage/history-types.d.ts +38 -0
- package/dist/core/domain/cipher/system-prompt/types.d.ts +131 -0
- package/dist/core/domain/cipher/todos/index.d.ts +4 -0
- package/dist/core/domain/cipher/todos/index.js +4 -0
- package/dist/core/domain/cipher/todos/types.d.ts +57 -0
- package/dist/core/domain/cipher/todos/types.js +5 -0
- package/dist/core/domain/cipher/tools/constants.d.ts +28 -0
- package/dist/core/domain/cipher/tools/constants.js +24 -0
- package/dist/core/domain/cipher/tools/tool-error.d.ts +183 -0
- package/dist/core/domain/cipher/tools/tool-error.js +246 -0
- package/dist/core/domain/cipher/tools/types.d.ts +145 -0
- package/dist/core/domain/entities/brv-config.d.ts +42 -6
- package/dist/core/domain/entities/brv-config.js +115 -17
- package/dist/core/domain/entities/cogit-push-context.d.ts +38 -0
- package/dist/core/domain/entities/cogit-push-context.js +91 -0
- package/dist/core/domain/entities/cogit-push-response.d.ts +20 -0
- package/dist/core/domain/entities/cogit-push-response.js +31 -0
- package/dist/core/domain/entities/cogit-snapshot-author.d.ts +24 -0
- package/dist/core/domain/entities/cogit-snapshot-author.js +39 -0
- package/dist/core/domain/entities/cogit-snapshot-file.d.ts +34 -0
- package/dist/core/domain/entities/cogit-snapshot-file.js +59 -0
- package/dist/core/domain/entities/cogit-snapshot.d.ts +31 -0
- package/dist/core/domain/entities/cogit-snapshot.js +58 -0
- package/dist/core/domain/entities/context-tree-index.d.ts +26 -0
- package/dist/core/domain/entities/context-tree-index.js +27 -0
- package/dist/core/domain/entities/context-tree-snapshot.d.ts +56 -0
- package/dist/core/domain/entities/context-tree-snapshot.js +83 -0
- package/dist/core/domain/entities/event.d.ts +1 -1
- package/dist/core/domain/entities/event.js +3 -1
- package/dist/core/domain/entities/parser.d.ts +567 -0
- package/dist/core/domain/entities/parser.js +10 -0
- package/dist/core/domain/entities/playbook.d.ts +2 -23
- package/dist/core/domain/entities/playbook.js +2 -70
- package/dist/core/domain/errors/brv-config-version-error.d.ts +16 -0
- package/dist/core/domain/errors/brv-config-version-error.js +21 -0
- package/dist/core/domain/knowledge/directory-manager.d.ts +80 -0
- package/dist/core/domain/knowledge/directory-manager.js +145 -0
- package/dist/core/domain/knowledge/markdown-writer.d.ts +18 -0
- package/dist/core/domain/knowledge/markdown-writer.js +18 -0
- package/dist/core/domain/knowledge/relation-parser.d.ts +90 -0
- package/dist/core/domain/knowledge/relation-parser.js +131 -0
- package/dist/core/interfaces/cipher/cipher-services.d.ts +71 -0
- package/dist/core/interfaces/cipher/cipher-services.js +1 -0
- package/dist/core/interfaces/cipher/i-blob-storage.d.ts +78 -0
- package/dist/core/interfaces/cipher/i-blob-storage.js +1 -0
- package/dist/core/interfaces/cipher/i-chat-session.d.ts +62 -0
- package/dist/core/interfaces/cipher/i-chat-session.js +1 -0
- package/dist/core/interfaces/cipher/i-cipher-agent.d.ts +88 -0
- package/dist/core/interfaces/cipher/i-cipher-agent.js +1 -0
- package/dist/core/interfaces/cipher/i-coding-agent-log-parser.d.ts +20 -0
- package/dist/core/interfaces/cipher/i-coding-agent-log-parser.js +1 -0
- package/dist/core/interfaces/cipher/i-coding-agent-log-watcher.d.ts +31 -0
- package/dist/core/interfaces/cipher/i-coding-agent-log-watcher.js +1 -0
- package/dist/core/interfaces/cipher/i-content-generator.d.ts +120 -0
- package/dist/core/interfaces/cipher/i-content-generator.js +12 -0
- package/dist/core/interfaces/cipher/i-event-emitter.d.ts +76 -0
- package/dist/core/interfaces/cipher/i-event-emitter.js +1 -0
- package/dist/core/interfaces/cipher/i-file-system.d.ts +68 -0
- package/dist/core/interfaces/cipher/i-file-system.js +1 -0
- package/dist/core/interfaces/cipher/i-history-storage.d.ts +53 -0
- package/dist/core/interfaces/cipher/i-history-storage.js +1 -0
- package/dist/core/interfaces/cipher/i-llm-provider.d.ts +14 -0
- package/dist/core/interfaces/cipher/i-llm-provider.js +1 -0
- package/dist/core/interfaces/cipher/i-llm-service.d.ts +62 -0
- package/dist/core/interfaces/cipher/i-llm-service.js +1 -0
- package/dist/core/interfaces/cipher/i-logger.d.ts +78 -0
- package/dist/core/interfaces/cipher/i-logger.js +28 -0
- package/dist/core/interfaces/cipher/i-message-formatter.d.ts +44 -0
- package/dist/core/interfaces/cipher/i-message-formatter.js +1 -0
- package/dist/core/interfaces/cipher/i-policy-engine.d.ts +102 -0
- package/dist/core/interfaces/cipher/i-policy-engine.js +9 -0
- package/dist/core/interfaces/cipher/i-process-service.d.ts +65 -0
- package/dist/core/interfaces/cipher/i-process-service.js +1 -0
- package/dist/core/interfaces/cipher/i-system-prompt-contributor.d.ts +25 -0
- package/dist/core/interfaces/cipher/i-system-prompt-contributor.js +1 -0
- package/dist/core/interfaces/cipher/i-tokenizer.d.ts +15 -0
- package/dist/core/interfaces/cipher/i-tokenizer.js +1 -0
- package/dist/core/interfaces/cipher/i-tool-provider.d.ts +64 -0
- package/dist/core/interfaces/cipher/i-tool-provider.js +1 -0
- package/dist/core/interfaces/cipher/i-tool-scheduler.d.ts +103 -0
- package/dist/core/interfaces/cipher/i-tool-scheduler.js +11 -0
- package/dist/core/interfaces/cipher/llm-types.d.ts +46 -0
- package/dist/core/interfaces/cipher/llm-types.js +5 -0
- package/dist/core/interfaces/cipher/message-types.d.ts +118 -0
- package/dist/core/interfaces/cipher/message-types.js +5 -0
- package/dist/core/interfaces/cipher/tokenizer-types.d.ts +11 -0
- package/dist/core/interfaces/cipher/tokenizer-types.js +14 -0
- package/dist/core/interfaces/i-cogit-pull-service.d.ts +24 -0
- package/dist/core/interfaces/i-cogit-pull-service.js +1 -0
- package/dist/core/interfaces/i-cogit-push-service.d.ts +27 -0
- package/dist/core/interfaces/i-cogit-push-service.js +1 -0
- package/dist/core/interfaces/i-context-file-reader.d.ts +32 -0
- package/dist/core/interfaces/i-context-file-reader.js +1 -0
- package/dist/core/interfaces/i-context-tree-service.d.ts +21 -0
- package/dist/core/interfaces/i-context-tree-service.js +1 -0
- package/dist/core/interfaces/i-context-tree-snapshot-service.d.ts +36 -0
- package/dist/core/interfaces/i-context-tree-snapshot-service.js +1 -0
- package/dist/core/interfaces/i-context-tree-writer-service.d.ts +32 -0
- package/dist/core/interfaces/i-context-tree-writer-service.js +1 -0
- package/dist/core/interfaces/i-file-watcher-service.d.ts +41 -0
- package/dist/core/interfaces/i-file-watcher-service.js +1 -0
- package/dist/core/interfaces/parser/i-clean-parser-service.d.ts +18 -0
- package/dist/core/interfaces/parser/i-clean-parser-service.js +1 -0
- package/dist/core/interfaces/parser/i-raw-parser-service.d.ts +17 -0
- package/dist/core/interfaces/parser/i-raw-parser-service.js +1 -0
- package/dist/core/interfaces/parser/i-session-normalizer.d.ts +56 -0
- package/dist/core/interfaces/parser/i-session-normalizer.js +1 -0
- package/dist/hooks/command_not_found/handle-invalid-commands.d.ts +7 -0
- package/dist/hooks/command_not_found/handle-invalid-commands.js +32 -0
- package/dist/hooks/error/clean-errors.d.ts +7 -0
- package/dist/hooks/error/clean-errors.js +50 -0
- package/dist/hooks/init/welcome.js +72 -1
- package/dist/hooks/prerun/validate-brv-config-version.d.ts +28 -0
- package/dist/hooks/prerun/validate-brv-config-version.js +43 -0
- package/dist/infra/cipher/agent-service-factory.d.ts +86 -0
- package/dist/infra/cipher/agent-service-factory.js +212 -0
- package/dist/infra/cipher/blob/blob-storage-factory.d.ts +13 -0
- package/dist/infra/cipher/blob/blob-storage-factory.js +14 -0
- package/dist/infra/cipher/blob/index.d.ts +10 -0
- package/dist/infra/cipher/blob/index.js +12 -0
- package/dist/infra/cipher/blob/migrations.d.ts +63 -0
- package/dist/infra/cipher/blob/migrations.js +148 -0
- package/dist/infra/cipher/blob/sqlite-blob-storage.d.ts +82 -0
- package/dist/infra/cipher/blob/sqlite-blob-storage.js +307 -0
- package/dist/infra/cipher/cipher-agent-state-manager.d.ts +63 -0
- package/dist/infra/cipher/cipher-agent-state-manager.js +108 -0
- package/dist/infra/cipher/cipher-agent.d.ts +182 -0
- package/dist/infra/cipher/cipher-agent.js +317 -0
- package/dist/infra/cipher/command-parser.d.ts +23 -0
- package/dist/infra/cipher/command-parser.js +85 -0
- package/dist/infra/cipher/display/todo-display.d.ts +23 -0
- package/dist/infra/cipher/display/todo-display.js +129 -0
- package/dist/infra/cipher/events/event-emitter.d.ts +137 -0
- package/dist/infra/cipher/events/event-emitter.js +158 -0
- package/dist/infra/cipher/exit-codes.d.ts +44 -0
- package/dist/infra/cipher/exit-codes.js +58 -0
- package/dist/infra/cipher/file-system/file-system-service.d.ts +105 -0
- package/dist/infra/cipher/file-system/file-system-service.js +641 -0
- package/dist/infra/cipher/file-system/gitignore-filter.d.ts +77 -0
- package/dist/infra/cipher/file-system/gitignore-filter.js +120 -0
- package/dist/infra/cipher/file-system/glob-utils.d.ts +60 -0
- package/dist/infra/cipher/file-system/glob-utils.js +120 -0
- package/dist/infra/cipher/file-system/path-validator.d.ts +69 -0
- package/dist/infra/cipher/file-system/path-validator.js +184 -0
- package/dist/infra/cipher/grpc/internal-llm-grpc-service.d.ts +149 -0
- package/dist/infra/cipher/grpc/internal-llm-grpc-service.js +364 -0
- package/dist/infra/cipher/grpc/internal-llm-grpc.proto +94 -0
- package/dist/infra/cipher/interactive-commands.d.ts +16 -0
- package/dist/infra/cipher/interactive-commands.js +198 -0
- package/dist/infra/cipher/interactive-loop.d.ts +24 -0
- package/dist/infra/cipher/interactive-loop.js +352 -0
- package/dist/infra/cipher/llm/context/async-mutex.d.ts +59 -0
- package/dist/infra/cipher/llm/context/async-mutex.js +92 -0
- package/dist/infra/cipher/llm/context/compression/index.d.ts +6 -0
- package/dist/infra/cipher/llm/context/compression/index.js +5 -0
- package/dist/infra/cipher/llm/context/compression/middle-removal.d.ts +40 -0
- package/dist/infra/cipher/llm/context/compression/middle-removal.js +76 -0
- package/dist/infra/cipher/llm/context/compression/oldest-removal.d.ts +38 -0
- package/dist/infra/cipher/llm/context/compression/oldest-removal.js +53 -0
- package/dist/infra/cipher/llm/context/compression/types.d.ts +36 -0
- package/dist/infra/cipher/llm/context/compression/types.js +1 -0
- package/dist/infra/cipher/llm/context/context-manager.d.ts +234 -0
- package/dist/infra/cipher/llm/context/context-manager.js +419 -0
- package/dist/infra/cipher/llm/context/index.d.ts +2 -0
- package/dist/infra/cipher/llm/context/index.js +2 -0
- package/dist/infra/cipher/llm/context/loop-detector.d.ts +125 -0
- package/dist/infra/cipher/llm/context/loop-detector.js +194 -0
- package/dist/infra/cipher/llm/context/utils.d.ts +17 -0
- package/dist/infra/cipher/llm/context/utils.js +89 -0
- package/dist/infra/cipher/llm/formatters/claude-formatter.d.ts +54 -0
- package/dist/infra/cipher/llm/formatters/claude-formatter.js +182 -0
- package/dist/infra/cipher/llm/formatters/gemini-formatter.d.ts +69 -0
- package/dist/infra/cipher/llm/formatters/gemini-formatter.js +253 -0
- package/dist/infra/cipher/llm/formatters/openrouter-formatter.d.ts +47 -0
- package/dist/infra/cipher/llm/formatters/openrouter-formatter.js +238 -0
- package/dist/infra/cipher/llm/generators/byterover-content-generator.d.ts +92 -0
- package/dist/infra/cipher/llm/generators/byterover-content-generator.js +211 -0
- package/dist/infra/cipher/llm/generators/index.d.ts +13 -0
- package/dist/infra/cipher/llm/generators/index.js +13 -0
- package/dist/infra/cipher/llm/generators/logging-content-generator.d.ts +104 -0
- package/dist/infra/cipher/llm/generators/logging-content-generator.js +182 -0
- package/dist/infra/cipher/llm/generators/openrouter-content-generator.d.ts +93 -0
- package/dist/infra/cipher/llm/generators/openrouter-content-generator.js +254 -0
- package/dist/infra/cipher/llm/generators/retryable-content-generator.d.ts +90 -0
- package/dist/infra/cipher/llm/generators/retryable-content-generator.js +157 -0
- package/dist/infra/cipher/llm/index.d.ts +9 -0
- package/dist/infra/cipher/llm/index.js +13 -0
- package/dist/infra/cipher/llm/internal-llm-service.d.ts +308 -0
- package/dist/infra/cipher/llm/internal-llm-service.js +724 -0
- package/dist/infra/cipher/llm/openrouter-llm-service.d.ts +183 -0
- package/dist/infra/cipher/llm/openrouter-llm-service.js +386 -0
- package/dist/infra/cipher/llm/response-validator.d.ts +89 -0
- package/dist/infra/cipher/llm/response-validator.js +157 -0
- package/dist/infra/cipher/llm/retry/index.d.ts +10 -0
- package/dist/infra/cipher/llm/retry/index.js +10 -0
- package/dist/infra/cipher/llm/retry/retry-policy.d.ts +74 -0
- package/dist/infra/cipher/llm/retry/retry-policy.js +146 -0
- package/dist/infra/cipher/llm/retry/retry-with-backoff.d.ts +113 -0
- package/dist/infra/cipher/llm/retry/retry-with-backoff.js +247 -0
- package/dist/infra/cipher/llm/thought-parser.d.ts +145 -0
- package/dist/infra/cipher/llm/thought-parser.js +190 -0
- package/dist/infra/cipher/llm/tokenizers/claude-tokenizer.d.ts +47 -0
- package/dist/infra/cipher/llm/tokenizers/claude-tokenizer.js +55 -0
- package/dist/infra/cipher/llm/tokenizers/default-tokenizer.d.ts +31 -0
- package/dist/infra/cipher/llm/tokenizers/default-tokenizer.js +38 -0
- package/dist/infra/cipher/llm/tokenizers/gemini-tokenizer.d.ts +37 -0
- package/dist/infra/cipher/llm/tokenizers/gemini-tokenizer.js +45 -0
- package/dist/infra/cipher/llm/tokenizers/openrouter-tokenizer.d.ts +29 -0
- package/dist/infra/cipher/llm/tokenizers/openrouter-tokenizer.js +37 -0
- package/dist/infra/cipher/llm/tool-output-processor.d.ts +117 -0
- package/dist/infra/cipher/llm/tool-output-processor.js +153 -0
- package/dist/infra/cipher/logger/console-logger.d.ts +42 -0
- package/dist/infra/cipher/logger/console-logger.js +63 -0
- package/dist/infra/cipher/logger/event-based-logger.d.ts +54 -0
- package/dist/infra/cipher/logger/event-based-logger.js +92 -0
- package/dist/infra/cipher/memory/index.d.ts +6 -0
- package/dist/infra/cipher/memory/index.js +7 -0
- package/dist/infra/cipher/memory/memory-manager.d.ts +136 -0
- package/dist/infra/cipher/memory/memory-manager.js +523 -0
- package/dist/infra/cipher/parsers/coding-agent-log-parser.d.ts +24 -0
- package/dist/infra/cipher/parsers/coding-agent-log-parser.js +51 -0
- package/dist/infra/cipher/process/command-validator.d.ts +59 -0
- package/dist/infra/cipher/process/command-validator.js +266 -0
- package/dist/infra/cipher/process/index.d.ts +8 -0
- package/dist/infra/cipher/process/index.js +8 -0
- package/dist/infra/cipher/process/process-service.d.ts +95 -0
- package/dist/infra/cipher/process/process-service.js +439 -0
- package/dist/infra/cipher/session/chat-session.d.ts +80 -0
- package/dist/infra/cipher/session/chat-session.js +165 -0
- package/dist/infra/cipher/session/index.d.ts +6 -0
- package/dist/infra/cipher/session/index.js +5 -0
- package/dist/infra/cipher/session/session-event-forwarder.d.ts +37 -0
- package/dist/infra/cipher/session/session-event-forwarder.js +83 -0
- package/dist/infra/cipher/session/session-manager.d.ts +109 -0
- package/dist/infra/cipher/session/session-manager.js +172 -0
- package/dist/infra/cipher/storage/blob-history-storage.d.ts +76 -0
- package/dist/infra/cipher/storage/blob-history-storage.js +178 -0
- package/dist/infra/cipher/system-prompt/simple-prompt-factory.d.ts +105 -0
- package/dist/infra/cipher/system-prompt/simple-prompt-factory.js +290 -0
- package/dist/infra/cipher/tools/core-tool-scheduler.d.ts +99 -0
- package/dist/infra/cipher/tools/core-tool-scheduler.js +161 -0
- package/dist/infra/cipher/tools/default-policy-rules.d.ts +26 -0
- package/dist/infra/cipher/tools/default-policy-rules.js +125 -0
- package/dist/infra/cipher/tools/implementations/bash-exec-tool.d.ts +12 -0
- package/dist/infra/cipher/tools/implementations/bash-exec-tool.js +93 -0
- package/dist/infra/cipher/tools/implementations/bash-output-tool.d.ts +12 -0
- package/dist/infra/cipher/tools/implementations/bash-output-tool.js +47 -0
- package/dist/infra/cipher/tools/implementations/create-knowledge-topic-tool.d.ts +11 -0
- package/dist/infra/cipher/tools/implementations/create-knowledge-topic-tool.js +142 -0
- package/dist/infra/cipher/tools/implementations/delete-memory-tool.d.ts +12 -0
- package/dist/infra/cipher/tools/implementations/delete-memory-tool.js +37 -0
- package/dist/infra/cipher/tools/implementations/detect-domains-tool.d.ts +7 -0
- package/dist/infra/cipher/tools/implementations/detect-domains-tool.js +73 -0
- package/dist/infra/cipher/tools/implementations/edit-file-tool.d.ts +13 -0
- package/dist/infra/cipher/tools/implementations/edit-file-tool.js +50 -0
- package/dist/infra/cipher/tools/implementations/edit-memory-tool.d.ts +13 -0
- package/dist/infra/cipher/tools/implementations/edit-memory-tool.js +53 -0
- package/dist/infra/cipher/tools/implementations/find-knowledge-topics-tool.d.ts +7 -0
- package/dist/infra/cipher/tools/implementations/find-knowledge-topics-tool.js +421 -0
- package/dist/infra/cipher/tools/implementations/glob-files-tool.d.ts +18 -0
- package/dist/infra/cipher/tools/implementations/glob-files-tool.js +70 -0
- package/dist/infra/cipher/tools/implementations/grep-content-tool.d.ts +12 -0
- package/dist/infra/cipher/tools/implementations/grep-content-tool.js +77 -0
- package/dist/infra/cipher/tools/implementations/kill-process-tool.d.ts +12 -0
- package/dist/infra/cipher/tools/implementations/kill-process-tool.js +55 -0
- package/dist/infra/cipher/tools/implementations/list-memories-tool.d.ts +12 -0
- package/dist/infra/cipher/tools/implementations/list-memories-tool.js +63 -0
- package/dist/infra/cipher/tools/implementations/read-file-tool.d.ts +12 -0
- package/dist/infra/cipher/tools/implementations/read-file-tool.js +54 -0
- package/dist/infra/cipher/tools/implementations/read-memory-tool.d.ts +12 -0
- package/dist/infra/cipher/tools/implementations/read-memory-tool.js +39 -0
- package/dist/infra/cipher/tools/implementations/search-history-tool.d.ts +10 -0
- package/dist/infra/cipher/tools/implementations/search-history-tool.js +36 -0
- package/dist/infra/cipher/tools/implementations/write-file-tool.d.ts +12 -0
- package/dist/infra/cipher/tools/implementations/write-file-tool.js +52 -0
- package/dist/infra/cipher/tools/implementations/write-memory-tool.d.ts +13 -0
- package/dist/infra/cipher/tools/implementations/write-memory-tool.js +52 -0
- package/dist/infra/cipher/tools/implementations/write-todos-tool.d.ts +10 -0
- package/dist/infra/cipher/tools/implementations/write-todos-tool.js +165 -0
- package/dist/infra/cipher/tools/index.d.ts +18 -0
- package/dist/infra/cipher/tools/index.js +19 -0
- package/dist/infra/cipher/tools/policy-engine.d.ts +80 -0
- package/dist/infra/cipher/tools/policy-engine.js +110 -0
- package/dist/infra/cipher/tools/tool-invocation-queue.d.ts +191 -0
- package/dist/infra/cipher/tools/tool-invocation-queue.js +254 -0
- package/dist/infra/cipher/tools/tool-invocation.d.ts +216 -0
- package/dist/infra/cipher/tools/tool-invocation.js +294 -0
- package/dist/infra/cipher/tools/tool-manager.d.ts +135 -0
- package/dist/infra/cipher/tools/tool-manager.js +209 -0
- package/dist/infra/cipher/tools/tool-markers.d.ts +48 -0
- package/dist/infra/cipher/tools/tool-markers.js +49 -0
- package/dist/infra/cipher/tools/tool-provider.d.ts +77 -0
- package/dist/infra/cipher/tools/tool-provider.js +196 -0
- package/dist/infra/cipher/tools/tool-registry.d.ts +52 -0
- package/dist/infra/cipher/tools/tool-registry.js +144 -0
- package/dist/infra/cipher/tools/utils/schema-converter.d.ts +10 -0
- package/dist/infra/cipher/tools/utils/schema-converter.js +29 -0
- package/dist/infra/cipher/validation/workspace-validator.d.ts +19 -0
- package/dist/infra/cipher/validation/workspace-validator.js +37 -0
- package/dist/infra/cipher/watcher/coding-agent-log-watcher.d.ts +14 -0
- package/dist/infra/cipher/watcher/coding-agent-log-watcher.js +55 -0
- package/dist/infra/cogit/context-tree-to-push-context-mapper.d.ts +21 -0
- package/dist/infra/cogit/context-tree-to-push-context-mapper.js +32 -0
- package/dist/infra/cogit/http-cogit-pull-service.d.ts +15 -0
- package/dist/infra/cogit/http-cogit-pull-service.js +30 -0
- package/dist/infra/cogit/http-cogit-push-service.d.ts +17 -0
- package/dist/infra/cogit/http-cogit-push-service.js +104 -0
- package/dist/infra/config/file-config-store.js +9 -3
- package/dist/infra/context-tree/file-context-file-reader.d.ts +14 -0
- package/dist/infra/context-tree/file-context-file-reader.js +46 -0
- package/dist/infra/context-tree/file-context-tree-service.d.ts +14 -0
- package/dist/infra/context-tree/file-context-tree-service.js +46 -0
- package/dist/infra/context-tree/file-context-tree-snapshot-service.d.ts +34 -0
- package/dist/infra/context-tree/file-context-tree-snapshot-service.js +117 -0
- package/dist/infra/context-tree/file-context-tree-writer-service.d.ts +22 -0
- package/dist/infra/context-tree/file-context-tree-writer-service.js +61 -0
- package/dist/infra/memory/http-memory-retrieval-service.js +2 -1
- package/dist/infra/memory/http-memory-storage-service.js +4 -3
- package/dist/infra/parsers/clean/clean-claude-service.d.ts +111 -0
- package/dist/infra/parsers/clean/clean-claude-service.js +271 -0
- package/dist/infra/parsers/clean/clean-codex-service.d.ts +231 -0
- package/dist/infra/parsers/clean/clean-codex-service.js +534 -0
- package/dist/infra/parsers/clean/clean-copilot-service.d.ts +255 -0
- package/dist/infra/parsers/clean/clean-copilot-service.js +729 -0
- package/dist/infra/parsers/clean/clean-cursor-service.d.ts +161 -0
- package/dist/infra/parsers/clean/clean-cursor-service.js +432 -0
- package/dist/infra/parsers/clean/clean-parser-service-factory.d.ts +54 -0
- package/dist/infra/parsers/clean/clean-parser-service-factory.js +80 -0
- package/dist/infra/parsers/clean/shared.d.ts +84 -0
- package/dist/infra/parsers/clean/shared.js +273 -0
- package/dist/infra/parsers/raw/raw-claude-service.d.ts +195 -0
- package/dist/infra/parsers/raw/raw-claude-service.js +548 -0
- package/dist/infra/parsers/raw/raw-codex-service.d.ts +313 -0
- package/dist/infra/parsers/raw/raw-codex-service.js +782 -0
- package/dist/infra/parsers/raw/raw-copilot-service.d.ts +196 -0
- package/dist/infra/parsers/raw/raw-copilot-service.js +558 -0
- package/dist/infra/parsers/raw/raw-cursor-service.d.ts +316 -0
- package/dist/infra/parsers/raw/raw-cursor-service.js +818 -0
- package/dist/infra/parsers/raw/raw-parser-service-factory.d.ts +54 -0
- package/dist/infra/parsers/raw/raw-parser-service-factory.js +81 -0
- package/dist/infra/space/http-space-service.js +2 -1
- package/dist/infra/team/http-team-service.js +2 -1
- package/dist/infra/user/http-user-service.js +2 -1
- package/dist/infra/watcher/file-watcher-service.d.ts +10 -0
- package/dist/infra/watcher/file-watcher-service.js +81 -0
- package/dist/infra/workspace/workspace-detector-service.d.ts +60 -0
- package/dist/infra/workspace/workspace-detector-service.js +165 -0
- package/dist/resources/prompts/curate-context-tree-curation.yml +48 -0
- package/dist/resources/prompts/modes/autonomous.yml +9 -0
- package/dist/resources/prompts/query-context-tree-retrieval.yml +49 -0
- package/dist/resources/prompts/reflection.yml +27 -0
- package/dist/resources/prompts/system-prompt.yml +82 -0
- package/dist/resources/prompts/tool-outputs.yml +30 -0
- package/dist/templates/README.md +6 -7
- package/dist/templates/sections/command-reference.md +40 -111
- package/dist/templates/sections/workflow.md +3 -30
- package/dist/utils/emoji-helpers.d.ts +38 -0
- package/dist/utils/emoji-helpers.js +42 -0
- package/dist/utils/error-handler.d.ts +51 -0
- package/dist/utils/error-handler.js +169 -0
- package/dist/utils/error-helpers.d.ts +30 -0
- package/dist/utils/error-helpers.js +47 -0
- package/dist/utils/file-helpers.d.ts +15 -0
- package/dist/utils/file-helpers.js +44 -0
- package/dist/utils/oclif-error-helpers.d.ts +40 -0
- package/dist/utils/oclif-error-helpers.js +46 -0
- package/dist/utils/tool-display-formatter.d.ts +53 -0
- package/dist/utils/tool-display-formatter.js +257 -0
- package/oclif.manifest.json +381 -141
- package/package.json +27 -6
- package/dist/commands/add.d.ts +0 -49
- package/dist/commands/add.js +0 -192
- package/dist/commands/complete.d.ts +0 -108
- package/dist/commands/complete.js +0 -340
- package/dist/commands/retrieve.d.ts +0 -26
- package/dist/commands/retrieve.js +0 -101
- package/dist/core/domain/entities/curator-output.d.ts +0 -14
- package/dist/core/domain/entities/curator-output.js +0 -23
- package/dist/core/domain/entities/delta-batch.d.ts +0 -30
- package/dist/core/domain/entities/delta-batch.js +0 -52
- package/dist/core/domain/entities/delta-operation.d.ts +0 -31
- package/dist/core/domain/entities/delta-operation.js +0 -50
- package/dist/core/domain/entities/executor-output.d.ts +0 -27
- package/dist/core/domain/entities/executor-output.js +0 -33
- package/dist/core/domain/entities/reflector-output.d.ts +0 -38
- package/dist/core/domain/entities/reflector-output.js +0 -44
- package/dist/core/interfaces/i-ace-prompt-builder.d.ts +0 -48
- package/dist/core/interfaces/i-bullet-content-store.d.ts +0 -36
- package/dist/core/interfaces/i-delta-store.d.ts +0 -15
- package/dist/core/interfaces/i-executor-output-store.d.ts +0 -14
- package/dist/core/interfaces/i-playbook-service.d.ts +0 -69
- package/dist/core/interfaces/i-playbook-store.d.ts +0 -38
- package/dist/core/interfaces/i-reflection-store.d.ts +0 -21
- package/dist/infra/ace/ace-file-utils.d.ts +0 -46
- package/dist/infra/ace/ace-file-utils.js +0 -83
- package/dist/infra/ace/ace-prompt-templates.d.ts +0 -13
- package/dist/infra/ace/ace-prompt-templates.js +0 -177
- package/dist/infra/ace/file-bullet-content-store.d.ts +0 -27
- package/dist/infra/ace/file-bullet-content-store.js +0 -89
- package/dist/infra/ace/file-delta-store.d.ts +0 -9
- package/dist/infra/ace/file-delta-store.js +0 -26
- package/dist/infra/ace/file-executor-output-store.d.ts +0 -9
- package/dist/infra/ace/file-executor-output-store.js +0 -26
- package/dist/infra/ace/file-playbook-store.d.ts +0 -29
- package/dist/infra/ace/file-playbook-store.js +0 -107
- package/dist/infra/ace/file-reflection-store.d.ts +0 -10
- package/dist/infra/ace/file-reflection-store.js +0 -55
- package/dist/infra/playbook/file-playbook-service.d.ts +0 -42
- package/dist/infra/playbook/file-playbook-service.js +0 -132
- /package/dist/core/{interfaces/i-ace-prompt-builder.js → domain/cipher/blob/types.js} +0 -0
- /package/dist/core/{interfaces/i-bullet-content-store.js → domain/cipher/file-system/types.js} +0 -0
- /package/dist/core/{interfaces/i-delta-store.js → domain/cipher/process/types.js} +0 -0
- /package/dist/core/{interfaces/i-executor-output-store.js → domain/cipher/session/types.js} +0 -0
- /package/dist/core/{interfaces/i-playbook-service.js → domain/cipher/storage/history-types.js} +0 -0
- /package/dist/core/{interfaces/i-playbook-store.js → domain/cipher/system-prompt/types.js} +0 -0
- /package/dist/core/{interfaces/i-reflection-store.js → domain/cipher/tools/types.js} +0 -0
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
import type { ToolSet } from '../../../core/domain/cipher/tools/types.js';
|
|
2
|
+
import type { ExecutionContext } from '../../../core/interfaces/cipher/i-cipher-agent.js';
|
|
3
|
+
import type { IContentGenerator } from '../../../core/interfaces/cipher/i-content-generator.js';
|
|
4
|
+
import type { IHistoryStorage } from '../../../core/interfaces/cipher/i-history-storage.js';
|
|
5
|
+
import type { ILLMService } from '../../../core/interfaces/cipher/i-llm-service.js';
|
|
6
|
+
import type { ILogger } from '../../../core/interfaces/cipher/i-logger.js';
|
|
7
|
+
import type { MemoryManager } from '../memory/memory-manager.js';
|
|
8
|
+
import type { SimplePromptFactory } from '../system-prompt/simple-prompt-factory.js';
|
|
9
|
+
import type { ToolManager } from '../tools/tool-manager.js';
|
|
10
|
+
import { SessionEventBus } from '../events/event-emitter.js';
|
|
11
|
+
import { ContextManager, type FileData, type ImageData } from './context/context-manager.js';
|
|
12
|
+
import { type ThinkingConfig } from './thought-parser.js';
|
|
13
|
+
import { type TruncationConfig } from './tool-output-processor.js';
|
|
14
|
+
/**
|
|
15
|
+
* Configuration for ByteRover LLM service
|
|
16
|
+
*/
|
|
17
|
+
export interface ByteRoverLLMServiceConfig {
|
|
18
|
+
maxInputTokens?: number;
|
|
19
|
+
maxIterations?: number;
|
|
20
|
+
maxTokens?: number;
|
|
21
|
+
model: string;
|
|
22
|
+
temperature?: number;
|
|
23
|
+
/**
|
|
24
|
+
* Thinking configuration for Gemini models (optional).
|
|
25
|
+
* If not provided, will be auto-configured based on model version.
|
|
26
|
+
*/
|
|
27
|
+
thinkingConfig?: ThinkingConfig;
|
|
28
|
+
timeout?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Truncation configuration for tool outputs (optional).
|
|
31
|
+
* If not provided, will use default truncation settings.
|
|
32
|
+
*/
|
|
33
|
+
truncationConfig?: TruncationConfig;
|
|
34
|
+
verbose?: boolean;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* LLM service configuration response
|
|
38
|
+
*/
|
|
39
|
+
export interface LLMServiceConfig {
|
|
40
|
+
configuredMaxInputTokens: number;
|
|
41
|
+
model: string;
|
|
42
|
+
modelMaxInputTokens: number;
|
|
43
|
+
provider: string;
|
|
44
|
+
router: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* ByteRover LLM Service.
|
|
48
|
+
*
|
|
49
|
+
* Orchestrates the agentic loop using IContentGenerator for LLM calls.
|
|
50
|
+
* Responsibilities:
|
|
51
|
+
* - Manage conversation context via ContextManager
|
|
52
|
+
* - Execute agentic loop (call LLM → execute tools → repeat)
|
|
53
|
+
* - Delegate tool execution to ToolManager
|
|
54
|
+
* - Delegate LLM calls to IContentGenerator
|
|
55
|
+
* - Handle errors and iteration limits
|
|
56
|
+
*
|
|
57
|
+
* Does NOT:
|
|
58
|
+
* - Execute tools directly (uses ToolManager)
|
|
59
|
+
* - Store persistent history (uses in-memory ContextManager)
|
|
60
|
+
* - Format messages for specific providers (handled by generators)
|
|
61
|
+
* - Handle retry logic (handled by RetryableContentGenerator decorator)
|
|
62
|
+
*/
|
|
63
|
+
export declare class ByteRoverLLMService implements ILLMService {
|
|
64
|
+
private readonly config;
|
|
65
|
+
private readonly contextManager;
|
|
66
|
+
private readonly formatter;
|
|
67
|
+
private readonly generator;
|
|
68
|
+
private readonly logger;
|
|
69
|
+
private readonly loopDetector;
|
|
70
|
+
private readonly memoryManager?;
|
|
71
|
+
private readonly outputProcessor;
|
|
72
|
+
private readonly promptFactory;
|
|
73
|
+
private readonly providerType;
|
|
74
|
+
private readonly sessionEventBus;
|
|
75
|
+
private readonly tokenizer;
|
|
76
|
+
private readonly toolManager;
|
|
77
|
+
/**
|
|
78
|
+
* Initialize a new ByteRover LLM service instance.
|
|
79
|
+
*
|
|
80
|
+
* Sets up the service with all required dependencies and initializes:
|
|
81
|
+
* - Context manager for conversation history
|
|
82
|
+
* - Message formatter (Gemini or Claude format based on model)
|
|
83
|
+
* - Token counter/tokenizer for the selected model
|
|
84
|
+
* - Configuration with sensible defaults
|
|
85
|
+
*
|
|
86
|
+
* Each service instance maintains isolated conversation context,
|
|
87
|
+
* allowing multiple concurrent sessions with separate histories.
|
|
88
|
+
*
|
|
89
|
+
* @param sessionId - Unique identifier for this session
|
|
90
|
+
* @param generator - Content generator for LLM calls (with decorators pre-applied)
|
|
91
|
+
* @param config - LLM service configuration (model, tokens, temperature)
|
|
92
|
+
* @param options - Service dependencies
|
|
93
|
+
* @param options.toolManager - Tool manager for executing agent tools
|
|
94
|
+
* @param options.promptFactory - Simple prompt factory for building system prompts
|
|
95
|
+
* @param options.memoryManager - Memory manager for agent memories
|
|
96
|
+
* @param options.sessionEventBus - Event bus for session lifecycle events
|
|
97
|
+
* @param options.historyStorage - Optional history storage for persistence
|
|
98
|
+
* @param options.logger - Optional logger for structured logging
|
|
99
|
+
*/
|
|
100
|
+
constructor(sessionId: string, generator: IContentGenerator, config: ByteRoverLLMServiceConfig, options: {
|
|
101
|
+
historyStorage?: IHistoryStorage;
|
|
102
|
+
logger?: ILogger;
|
|
103
|
+
memoryManager?: MemoryManager;
|
|
104
|
+
promptFactory: SimplePromptFactory;
|
|
105
|
+
sessionEventBus: SessionEventBus;
|
|
106
|
+
toolManager: ToolManager;
|
|
107
|
+
});
|
|
108
|
+
/**
|
|
109
|
+
* Complete a task with tool calling support.
|
|
110
|
+
*
|
|
111
|
+
* This is the main entry point for the agentic loop.
|
|
112
|
+
* It handles:
|
|
113
|
+
* 1. Adding user message to context
|
|
114
|
+
* 2. Looping: call LLM → check for tool calls → execute tools
|
|
115
|
+
* 3. Returning final response when no more tool calls
|
|
116
|
+
*
|
|
117
|
+
* @param textInput - User input text
|
|
118
|
+
* @param sessionId - Session ID for tracking the llm request in a command session
|
|
119
|
+
* @param options - Execution options
|
|
120
|
+
* @param options.executionContext - Optional execution context
|
|
121
|
+
* @param options.signal - Optional abort signal for cancellation
|
|
122
|
+
* @param options.imageData - Optional image data
|
|
123
|
+
* @param options.fileData - Optional file data
|
|
124
|
+
* @param options.stream - Whether to stream response (not implemented yet)
|
|
125
|
+
* @param options.mode - Optional mode for system prompt ('autonomous' enables autonomous mode)
|
|
126
|
+
* @returns Final assistant response
|
|
127
|
+
*/
|
|
128
|
+
completeTask(textInput: string, sessionId: string, options?: {
|
|
129
|
+
executionContext?: ExecutionContext;
|
|
130
|
+
fileData?: FileData;
|
|
131
|
+
imageData?: ImageData;
|
|
132
|
+
mode?: 'autonomous' | 'default' | 'query';
|
|
133
|
+
signal?: AbortSignal;
|
|
134
|
+
stream?: boolean;
|
|
135
|
+
}): Promise<string>;
|
|
136
|
+
/**
|
|
137
|
+
* Get all available tools for the agent.
|
|
138
|
+
*
|
|
139
|
+
* Retrieves the current set of tools that can be used during task execution.
|
|
140
|
+
* These tools are passed to the LLM to enable function calling capabilities.
|
|
141
|
+
*
|
|
142
|
+
* @returns Promise resolving to a map of tool names to their schemas
|
|
143
|
+
*/
|
|
144
|
+
getAllTools(): Promise<ToolSet>;
|
|
145
|
+
/**
|
|
146
|
+
* Get the service's runtime configuration.
|
|
147
|
+
*
|
|
148
|
+
* Returns metadata about the service including:
|
|
149
|
+
* - Configured and model-specific token limits
|
|
150
|
+
* - Selected LLM model
|
|
151
|
+
* - Provider name (always 'byterover')
|
|
152
|
+
* - Router type (always 'in-built')
|
|
153
|
+
*
|
|
154
|
+
* This is useful for introspecting service capabilities and limits
|
|
155
|
+
* without needing access to the internal config object.
|
|
156
|
+
*
|
|
157
|
+
* @returns Service configuration object with model info and constraints
|
|
158
|
+
*/
|
|
159
|
+
getConfig(): LLMServiceConfig;
|
|
160
|
+
/**
|
|
161
|
+
* Get access to the conversation context manager.
|
|
162
|
+
*
|
|
163
|
+
* Provides access to the ContextManager instance that maintains:
|
|
164
|
+
* - Conversation history (messages and responses)
|
|
165
|
+
* - Token counting and compression
|
|
166
|
+
* - Message formatting for the selected model
|
|
167
|
+
*
|
|
168
|
+
* Useful for:
|
|
169
|
+
* - Inspecting conversation state
|
|
170
|
+
* - Retrieving formatted messages
|
|
171
|
+
* - Managing context during multi-turn interactions
|
|
172
|
+
*
|
|
173
|
+
* @returns The ContextManager instance managing conversation state
|
|
174
|
+
*/
|
|
175
|
+
getContextManager(): ContextManager<unknown>;
|
|
176
|
+
/**
|
|
177
|
+
* Initialize the LLM service by loading persisted history.
|
|
178
|
+
* Should be called after construction to restore previous conversation.
|
|
179
|
+
*
|
|
180
|
+
* @returns True if history was loaded, false otherwise
|
|
181
|
+
*/
|
|
182
|
+
initialize(): Promise<boolean>;
|
|
183
|
+
/**
|
|
184
|
+
* Add a parallel tool result to the context.
|
|
185
|
+
* Called sequentially after parallel execution to preserve message order.
|
|
186
|
+
*
|
|
187
|
+
* @param result - Parallel tool result to add
|
|
188
|
+
*/
|
|
189
|
+
private addParallelToolResultToContext;
|
|
190
|
+
/**
|
|
191
|
+
* Build generation request for the IContentGenerator.
|
|
192
|
+
*
|
|
193
|
+
* Converts internal context to the standardized GenerateContentRequest format.
|
|
194
|
+
*
|
|
195
|
+
* @param sessionId - Session ID for tracking the llm request in a command session
|
|
196
|
+
* @param systemPrompt - System prompt text
|
|
197
|
+
* @param tools - Available tools for function calling
|
|
198
|
+
* @param mode - Optional mode for system prompt
|
|
199
|
+
* @param executionContext - Optional execution context
|
|
200
|
+
* @returns GenerateContentRequest for the generator
|
|
201
|
+
*/
|
|
202
|
+
private buildGenerateContentRequest;
|
|
203
|
+
/**
|
|
204
|
+
* Call LLM via generator and process the response.
|
|
205
|
+
*
|
|
206
|
+
* Uses the IContentGenerator interface which already has:
|
|
207
|
+
* - Retry logic (via RetryableContentGenerator decorator)
|
|
208
|
+
* - Logging (via LoggingContentGenerator decorator)
|
|
209
|
+
*
|
|
210
|
+
* @param request - Generation request
|
|
211
|
+
* @returns Parsed internal message from response
|
|
212
|
+
*/
|
|
213
|
+
private callLLMAndParseResponse;
|
|
214
|
+
/**
|
|
215
|
+
* Detect provider type from model name.
|
|
216
|
+
*
|
|
217
|
+
* @param model - Model identifier
|
|
218
|
+
* @returns Provider type ('claude' or 'gemini')
|
|
219
|
+
*/
|
|
220
|
+
private detectProviderType;
|
|
221
|
+
/**
|
|
222
|
+
* Determine which reflection prompt to add based on hierarchical priority.
|
|
223
|
+
* Only the highest priority eligible reflection is returned.
|
|
224
|
+
*
|
|
225
|
+
* Priority (highest to lowest):
|
|
226
|
+
* 1. final_iteration - query only, at the last iteration
|
|
227
|
+
* 2. near_max_iterations - general, at 80% threshold
|
|
228
|
+
* 3. mid_point_check - query only, at 50% threshold
|
|
229
|
+
* 4. completion_check - general, periodic every 3 iterations
|
|
230
|
+
*
|
|
231
|
+
* @param iterationCount - Current iteration count (0-indexed)
|
|
232
|
+
* @param commandType - Command type ('query' or 'curate')
|
|
233
|
+
* @returns Reflection type to add, or undefined if none eligible
|
|
234
|
+
*/
|
|
235
|
+
private determineReflectionType;
|
|
236
|
+
/**
|
|
237
|
+
* Execute a single iteration of the agentic loop.
|
|
238
|
+
*
|
|
239
|
+
* @param options - Iteration options
|
|
240
|
+
* @param options.iterationCount - Current iteration number
|
|
241
|
+
* @param options.sessionId - Session ID for tracking the llm request in a command session
|
|
242
|
+
* @param options.tools - Available tools for this iteration
|
|
243
|
+
* @param options.mode - Optional mode for system prompt
|
|
244
|
+
* @param options.executionContext - Optional execution context
|
|
245
|
+
* @returns Final response string if complete, null if more iterations needed
|
|
246
|
+
*/
|
|
247
|
+
private executeAgenticIteration;
|
|
248
|
+
/**
|
|
249
|
+
* Execute a single tool call in parallel (without adding to context).
|
|
250
|
+
* Returns all information needed to add the result to context later.
|
|
251
|
+
*
|
|
252
|
+
* @param toolCall - Tool call to execute
|
|
253
|
+
* @returns Parallel tool result with all execution data
|
|
254
|
+
*/
|
|
255
|
+
private executeToolCallParallel;
|
|
256
|
+
/**
|
|
257
|
+
* Extract text content from an internal message.
|
|
258
|
+
*
|
|
259
|
+
* @param message - Internal message
|
|
260
|
+
* @returns Text content as string
|
|
261
|
+
*/
|
|
262
|
+
private extractTextContent;
|
|
263
|
+
/**
|
|
264
|
+
* Extract partial response from conversation history when max iterations reached.
|
|
265
|
+
* Returns the last assistant message or accumulated tool outputs.
|
|
266
|
+
*
|
|
267
|
+
* @returns Partial response string
|
|
268
|
+
*/
|
|
269
|
+
private getPartialResponse;
|
|
270
|
+
/**
|
|
271
|
+
* Handle final response when there are no tool calls.
|
|
272
|
+
*
|
|
273
|
+
* @param lastMessage - Last message from LLM
|
|
274
|
+
* @returns Final response content
|
|
275
|
+
*/
|
|
276
|
+
private handleFinalResponse;
|
|
277
|
+
/**
|
|
278
|
+
* Handle LLM errors and re-throw or wrap appropriately.
|
|
279
|
+
*
|
|
280
|
+
* @param error - Error to handle
|
|
281
|
+
*/
|
|
282
|
+
private handleLLMError;
|
|
283
|
+
/**
|
|
284
|
+
* Handle agent termination due to timeout or max turns.
|
|
285
|
+
*
|
|
286
|
+
* Emits appropriate events and returns a partial response.
|
|
287
|
+
*
|
|
288
|
+
* @param reason - Why the agent is terminating
|
|
289
|
+
* @param stateMachine - The state machine for context
|
|
290
|
+
* @returns Partial response or fallback message
|
|
291
|
+
*/
|
|
292
|
+
private handleTermination;
|
|
293
|
+
/**
|
|
294
|
+
* Handle thoughts from LLM response (Gemini only).
|
|
295
|
+
*
|
|
296
|
+
* Extracts and emits thought events if present.
|
|
297
|
+
*
|
|
298
|
+
* @param message - Message potentially containing thoughts
|
|
299
|
+
*/
|
|
300
|
+
private handleThoughts;
|
|
301
|
+
/**
|
|
302
|
+
* Handle tool calls from LLM response.
|
|
303
|
+
* Executes tools in parallel for performance, but adds results to context in order.
|
|
304
|
+
*
|
|
305
|
+
* @param lastMessage - Last message containing tool calls
|
|
306
|
+
*/
|
|
307
|
+
private handleToolCalls;
|
|
308
|
+
}
|