byterover-cli 0.2.1 → 0.3.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 +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 +48 -3
- package/dist/commands/init.js +242 -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,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core memory types and interfaces for the cipher agent
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Supported memory sources
|
|
6
|
+
*/
|
|
7
|
+
export type MemorySource = 'agent' | 'system' | 'user';
|
|
8
|
+
/**
|
|
9
|
+
* Blob attachment metadata for a memory
|
|
10
|
+
* References a blob stored in BlobStorage
|
|
11
|
+
*/
|
|
12
|
+
export interface Attachment {
|
|
13
|
+
/** Reference key to the blob in BlobStorage */
|
|
14
|
+
blobKey: string;
|
|
15
|
+
/** Timestamp when the attachment was added (Unix timestamp in milliseconds) */
|
|
16
|
+
createdAt: number;
|
|
17
|
+
/** Original filename (if applicable) */
|
|
18
|
+
name?: string;
|
|
19
|
+
/** Size of the attachment in bytes */
|
|
20
|
+
size: number;
|
|
21
|
+
/** MIME type of the attachment */
|
|
22
|
+
type: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Memory item stored in the cipher agent system
|
|
26
|
+
*/
|
|
27
|
+
export interface Memory {
|
|
28
|
+
/** The actual memory content */
|
|
29
|
+
content: string;
|
|
30
|
+
/** When the memory was created (Unix timestamp in milliseconds) */
|
|
31
|
+
createdAt: number;
|
|
32
|
+
/** Unique identifier for the memory */
|
|
33
|
+
id: string;
|
|
34
|
+
/** Additional metadata */
|
|
35
|
+
metadata?: undefined | {
|
|
36
|
+
/** Any additional custom metadata */
|
|
37
|
+
[key: string]: unknown;
|
|
38
|
+
/** Whether this memory is pinned (for future hybrid approach) */
|
|
39
|
+
pinned?: boolean | undefined;
|
|
40
|
+
/** Source of the memory */
|
|
41
|
+
source?: MemorySource | undefined;
|
|
42
|
+
};
|
|
43
|
+
/** Optional tags for categorization */
|
|
44
|
+
tags?: string[] | undefined;
|
|
45
|
+
/** When the memory was last updated (Unix timestamp in milliseconds) */
|
|
46
|
+
updatedAt: number;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Input for creating a new memory
|
|
50
|
+
*/
|
|
51
|
+
export interface CreateMemoryInput {
|
|
52
|
+
/** The memory content */
|
|
53
|
+
content: string;
|
|
54
|
+
/** Optional metadata */
|
|
55
|
+
metadata?: {
|
|
56
|
+
[key: string]: unknown;
|
|
57
|
+
source?: MemorySource;
|
|
58
|
+
};
|
|
59
|
+
/** Optional tags */
|
|
60
|
+
tags?: string[];
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Input for updating an existing memory
|
|
64
|
+
*/
|
|
65
|
+
export interface UpdateMemoryInput {
|
|
66
|
+
/** Updated content (optional) */
|
|
67
|
+
content?: string;
|
|
68
|
+
/** Updated metadata (optional, merges with existing) */
|
|
69
|
+
metadata?: {
|
|
70
|
+
[key: string]: unknown;
|
|
71
|
+
pinned?: boolean;
|
|
72
|
+
source?: MemorySource;
|
|
73
|
+
};
|
|
74
|
+
/** Updated tags (optional, replaces existing) */
|
|
75
|
+
tags?: string[];
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Options for listing memories
|
|
79
|
+
*/
|
|
80
|
+
export interface ListMemoriesOptions {
|
|
81
|
+
/** Limit number of results */
|
|
82
|
+
limit?: number;
|
|
83
|
+
/** Skip first N results */
|
|
84
|
+
offset?: number;
|
|
85
|
+
/** Filter by pinned status */
|
|
86
|
+
pinned?: boolean;
|
|
87
|
+
/** Filter by source */
|
|
88
|
+
source?: MemorySource;
|
|
89
|
+
/** Filter by tags (OR logic - matches any of the provided tags) */
|
|
90
|
+
tags?: string[];
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Configuration for the cipher agent memory service
|
|
94
|
+
*/
|
|
95
|
+
export interface MemoryConfig {
|
|
96
|
+
/** Default tags to apply to all memories created by the agent */
|
|
97
|
+
defaultTags?: string[];
|
|
98
|
+
/** Maximum number of memories to keep (optional limit) */
|
|
99
|
+
maxMemories?: number;
|
|
100
|
+
/** Directory where memories are stored (default: .byterover/cipher/memories) */
|
|
101
|
+
storageDir?: string;
|
|
102
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a parsed interaction between a user and a coding agent.
|
|
3
|
+
* This entity captures valuable interaction data from coding agent logs
|
|
4
|
+
* (Claude Code, GitHub Copilot, Cursor, Codex, etc.).
|
|
5
|
+
*
|
|
6
|
+
* @deprecated Use CleanSession from '../entities/parser.js' instead.
|
|
7
|
+
* ParsedInteraction is a lossy format that only captures single Q&A pairs.
|
|
8
|
+
* CleanSession preserves full conversation history, tool calls, thinking blocks, and workspace context.
|
|
9
|
+
*/
|
|
10
|
+
export type ParsedInteraction = {
|
|
11
|
+
/** Agent's response */
|
|
12
|
+
readonly agentResponse: string;
|
|
13
|
+
/** Type of coding agent (e.g., 'claude-code', 'copilot', 'cursor') */
|
|
14
|
+
readonly agentType: string;
|
|
15
|
+
/** Additional metadata about the interaction */
|
|
16
|
+
readonly metadata?: Record<string, unknown>;
|
|
17
|
+
/** Timestamp of the interaction */
|
|
18
|
+
readonly timestamp: number;
|
|
19
|
+
/** Tool calls made by the agent, if any */
|
|
20
|
+
readonly toolCalls?: ToolCall[];
|
|
21
|
+
/** User's message or prompt */
|
|
22
|
+
readonly userMessage: string;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Represents a tool call made by a coding agent.
|
|
26
|
+
*/
|
|
27
|
+
type ToolCall = {
|
|
28
|
+
/** Tool input/parameters */
|
|
29
|
+
readonly input: Record<string, unknown>;
|
|
30
|
+
/** Name of the tool */
|
|
31
|
+
readonly name: string;
|
|
32
|
+
/** Tool output/result, if available */
|
|
33
|
+
readonly output?: unknown;
|
|
34
|
+
};
|
|
35
|
+
type CreateParsedInteractionParams = {
|
|
36
|
+
agentResponse: string;
|
|
37
|
+
agentType: string;
|
|
38
|
+
metadata?: Record<string, unknown>;
|
|
39
|
+
timestamp: number;
|
|
40
|
+
toolCalls?: ToolCall[];
|
|
41
|
+
userMessage: string;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Factory function to create a ParsedInteraction with validation.
|
|
45
|
+
*/
|
|
46
|
+
export declare const createParsedInteraction: (params: CreateParsedInteractionParams) => ParsedInteraction;
|
|
47
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory function to create a ParsedInteraction with validation.
|
|
3
|
+
*/
|
|
4
|
+
export const createParsedInteraction = (params) => {
|
|
5
|
+
if (params.agentType.trim() === '') {
|
|
6
|
+
throw new Error('agentType is required');
|
|
7
|
+
}
|
|
8
|
+
if (params.userMessage.trim() === '') {
|
|
9
|
+
throw new Error('userMessage is required');
|
|
10
|
+
}
|
|
11
|
+
if (params.agentResponse.trim() === '') {
|
|
12
|
+
throw new Error('agentResponse is required');
|
|
13
|
+
}
|
|
14
|
+
if (params.timestamp <= 0) {
|
|
15
|
+
throw new Error('timestamp must be a positive number');
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
agentResponse: params.agentResponse,
|
|
19
|
+
agentType: params.agentType,
|
|
20
|
+
metadata: params.metadata,
|
|
21
|
+
timestamp: params.timestamp,
|
|
22
|
+
toolCalls: params.toolCalls,
|
|
23
|
+
userMessage: params.userMessage,
|
|
24
|
+
};
|
|
25
|
+
};
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
import type { ChildProcess } from 'node:child_process';
|
|
2
|
+
/**
|
|
3
|
+
* Process execution configuration.
|
|
4
|
+
*
|
|
5
|
+
* Defines security settings, resource limits, and environment for command execution.
|
|
6
|
+
*/
|
|
7
|
+
export interface ProcessConfig {
|
|
8
|
+
/**
|
|
9
|
+
* Allowed commands whitelist (empty = all allowed with approval).
|
|
10
|
+
*/
|
|
11
|
+
allowedCommands: string[];
|
|
12
|
+
/**
|
|
13
|
+
* Blocked commands blacklist.
|
|
14
|
+
*/
|
|
15
|
+
blockedCommands: string[];
|
|
16
|
+
/**
|
|
17
|
+
* Custom environment variables for all commands.
|
|
18
|
+
*/
|
|
19
|
+
environment: Record<string, string>;
|
|
20
|
+
/**
|
|
21
|
+
* Maximum number of concurrent background processes.
|
|
22
|
+
* @default 5
|
|
23
|
+
*/
|
|
24
|
+
maxConcurrentProcesses: number;
|
|
25
|
+
/**
|
|
26
|
+
* Maximum output buffer size per background process (bytes).
|
|
27
|
+
* @default 1048576 (1MB)
|
|
28
|
+
*/
|
|
29
|
+
maxOutputBuffer: number;
|
|
30
|
+
/**
|
|
31
|
+
* Maximum timeout for any command (milliseconds).
|
|
32
|
+
* @default 600000 (10 minutes)
|
|
33
|
+
*/
|
|
34
|
+
maxTimeout: number;
|
|
35
|
+
/**
|
|
36
|
+
* Security level for command validation.
|
|
37
|
+
*
|
|
38
|
+
* - `strict`: All commands require approval, blocks multiple commands unless safe
|
|
39
|
+
* - `moderate`: Write operations require approval, dangerous patterns blocked
|
|
40
|
+
* - `permissive`: Only dangerous patterns blocked, minimal approval
|
|
41
|
+
*
|
|
42
|
+
* @default 'moderate'
|
|
43
|
+
*/
|
|
44
|
+
securityLevel: 'moderate' | 'permissive' | 'strict';
|
|
45
|
+
/**
|
|
46
|
+
* Base working directory for command execution.
|
|
47
|
+
* All cwd options are confined within this directory.
|
|
48
|
+
*
|
|
49
|
+
* @default process.cwd()
|
|
50
|
+
*/
|
|
51
|
+
workingDirectory?: string;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Options for executing a command.
|
|
55
|
+
*/
|
|
56
|
+
export interface ExecuteOptions {
|
|
57
|
+
/**
|
|
58
|
+
* Working directory for command execution (relative to ProcessConfig.workingDirectory).
|
|
59
|
+
*/
|
|
60
|
+
cwd?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Human-readable description of what the command does (5-10 words).
|
|
63
|
+
*/
|
|
64
|
+
description?: string;
|
|
65
|
+
/**
|
|
66
|
+
* Custom environment variables for this command.
|
|
67
|
+
*/
|
|
68
|
+
env?: Record<string, string>;
|
|
69
|
+
/**
|
|
70
|
+
* Execute command in background (returns immediately with process handle).
|
|
71
|
+
*
|
|
72
|
+
* @default false
|
|
73
|
+
*/
|
|
74
|
+
runInBackground?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Timeout in milliseconds (max: ProcessConfig.maxTimeout).
|
|
77
|
+
*
|
|
78
|
+
* @default 120000 (2 minutes)
|
|
79
|
+
*/
|
|
80
|
+
timeout?: number;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Result of a foreground command execution.
|
|
84
|
+
*/
|
|
85
|
+
export interface ProcessResult {
|
|
86
|
+
/**
|
|
87
|
+
* Execution duration in milliseconds.
|
|
88
|
+
*/
|
|
89
|
+
duration: number;
|
|
90
|
+
/**
|
|
91
|
+
* Process exit code (0 = success).
|
|
92
|
+
*/
|
|
93
|
+
exitCode: number;
|
|
94
|
+
/**
|
|
95
|
+
* Standard error output.
|
|
96
|
+
*/
|
|
97
|
+
stderr: string;
|
|
98
|
+
/**
|
|
99
|
+
* Standard output.
|
|
100
|
+
*/
|
|
101
|
+
stdout: string;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Handle for a background process.
|
|
105
|
+
*
|
|
106
|
+
* Returned immediately when executing a command in background.
|
|
107
|
+
*/
|
|
108
|
+
export interface ProcessHandle {
|
|
109
|
+
/**
|
|
110
|
+
* Command that was executed.
|
|
111
|
+
*/
|
|
112
|
+
command: string;
|
|
113
|
+
/**
|
|
114
|
+
* Optional description provided in ExecuteOptions.
|
|
115
|
+
*/
|
|
116
|
+
description?: string;
|
|
117
|
+
/**
|
|
118
|
+
* System process ID (may be undefined if process hasn't started).
|
|
119
|
+
*/
|
|
120
|
+
pid?: number;
|
|
121
|
+
/**
|
|
122
|
+
* Unique process identifier for tracking.
|
|
123
|
+
*/
|
|
124
|
+
processId: string;
|
|
125
|
+
/**
|
|
126
|
+
* Timestamp when process was started.
|
|
127
|
+
*/
|
|
128
|
+
startedAt: Date;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Output from a background process.
|
|
132
|
+
*
|
|
133
|
+
* Returned by getProcessOutput(). Reading output clears the buffer.
|
|
134
|
+
*/
|
|
135
|
+
export interface ProcessOutput {
|
|
136
|
+
/**
|
|
137
|
+
* Execution duration in milliseconds (only available when completed).
|
|
138
|
+
*/
|
|
139
|
+
duration?: number;
|
|
140
|
+
/**
|
|
141
|
+
* Process exit code (only available when completed).
|
|
142
|
+
*/
|
|
143
|
+
exitCode?: number;
|
|
144
|
+
/**
|
|
145
|
+
* Process status.
|
|
146
|
+
*/
|
|
147
|
+
status: 'completed' | 'failed' | 'running';
|
|
148
|
+
/**
|
|
149
|
+
* Standard error output (new since last read).
|
|
150
|
+
*/
|
|
151
|
+
stderr: string;
|
|
152
|
+
/**
|
|
153
|
+
* Standard output (new since last read).
|
|
154
|
+
*/
|
|
155
|
+
stdout: string;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Information about a background process.
|
|
159
|
+
*
|
|
160
|
+
* Returned by listProcesses().
|
|
161
|
+
*/
|
|
162
|
+
export interface ProcessInfo {
|
|
163
|
+
/**
|
|
164
|
+
* Command that was executed.
|
|
165
|
+
*/
|
|
166
|
+
command: string;
|
|
167
|
+
/**
|
|
168
|
+
* Timestamp when process completed (if applicable).
|
|
169
|
+
*/
|
|
170
|
+
completedAt?: Date;
|
|
171
|
+
/**
|
|
172
|
+
* Optional description provided in ExecuteOptions.
|
|
173
|
+
*/
|
|
174
|
+
description?: string;
|
|
175
|
+
/**
|
|
176
|
+
* Process exit code (only available when completed).
|
|
177
|
+
*/
|
|
178
|
+
exitCode?: number;
|
|
179
|
+
/**
|
|
180
|
+
* System process ID.
|
|
181
|
+
*/
|
|
182
|
+
pid?: number;
|
|
183
|
+
/**
|
|
184
|
+
* Unique process identifier.
|
|
185
|
+
*/
|
|
186
|
+
processId: string;
|
|
187
|
+
/**
|
|
188
|
+
* Timestamp when process was started.
|
|
189
|
+
*/
|
|
190
|
+
startedAt: Date;
|
|
191
|
+
/**
|
|
192
|
+
* Process status.
|
|
193
|
+
*/
|
|
194
|
+
status: 'completed' | 'failed' | 'running';
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Result of command validation.
|
|
198
|
+
* Uses discriminated union for type safety.
|
|
199
|
+
*
|
|
200
|
+
* Returned by CommandValidator.validateCommand().
|
|
201
|
+
*/
|
|
202
|
+
export type CommandValidation = {
|
|
203
|
+
/** Command is valid */
|
|
204
|
+
isValid: true;
|
|
205
|
+
/** Normalized command string (trimmed, whitespace collapsed) */
|
|
206
|
+
normalizedCommand: string;
|
|
207
|
+
} | {
|
|
208
|
+
/** Error message explaining why validation failed */
|
|
209
|
+
error: string;
|
|
210
|
+
/** Command is invalid */
|
|
211
|
+
isValid: false;
|
|
212
|
+
};
|
|
213
|
+
/**
|
|
214
|
+
* Output buffer for background process.
|
|
215
|
+
*
|
|
216
|
+
* Internal structure for tracking output with size limits.
|
|
217
|
+
*/
|
|
218
|
+
export interface OutputBuffer {
|
|
219
|
+
/**
|
|
220
|
+
* Running byte count for O(1) limit checking.
|
|
221
|
+
*/
|
|
222
|
+
bytesUsed: number;
|
|
223
|
+
/**
|
|
224
|
+
* Whether the process has finished execution.
|
|
225
|
+
*/
|
|
226
|
+
complete: boolean;
|
|
227
|
+
/**
|
|
228
|
+
* Timestamp of last read operation.
|
|
229
|
+
*/
|
|
230
|
+
lastRead: number;
|
|
231
|
+
/**
|
|
232
|
+
* Standard error chunks.
|
|
233
|
+
*/
|
|
234
|
+
stderr: string[];
|
|
235
|
+
/**
|
|
236
|
+
* Standard output chunks.
|
|
237
|
+
*/
|
|
238
|
+
stdout: string[];
|
|
239
|
+
/**
|
|
240
|
+
* Whether output was truncated due to buffer limits.
|
|
241
|
+
*/
|
|
242
|
+
truncated?: boolean;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Internal tracking structure for background processes.
|
|
246
|
+
*
|
|
247
|
+
* Not exported - used internally by ProcessService.
|
|
248
|
+
*/
|
|
249
|
+
export interface BackgroundProcess {
|
|
250
|
+
/**
|
|
251
|
+
* Node.js child process instance.
|
|
252
|
+
*/
|
|
253
|
+
child: ChildProcess;
|
|
254
|
+
/**
|
|
255
|
+
* Command that was executed.
|
|
256
|
+
*/
|
|
257
|
+
command: string;
|
|
258
|
+
/**
|
|
259
|
+
* Timestamp when process completed.
|
|
260
|
+
*/
|
|
261
|
+
completedAt?: Date;
|
|
262
|
+
/**
|
|
263
|
+
* Optional description provided in ExecuteOptions.
|
|
264
|
+
*/
|
|
265
|
+
description?: string;
|
|
266
|
+
/**
|
|
267
|
+
* Process exit code (only available when completed).
|
|
268
|
+
*/
|
|
269
|
+
exitCode?: number;
|
|
270
|
+
/**
|
|
271
|
+
* Output buffer for collecting stdout/stderr.
|
|
272
|
+
*/
|
|
273
|
+
outputBuffer: OutputBuffer;
|
|
274
|
+
/**
|
|
275
|
+
* Unique process identifier.
|
|
276
|
+
*/
|
|
277
|
+
processId: string;
|
|
278
|
+
/**
|
|
279
|
+
* Timestamp when process was started.
|
|
280
|
+
*/
|
|
281
|
+
startedAt: Date;
|
|
282
|
+
/**
|
|
283
|
+
* Process status.
|
|
284
|
+
*/
|
|
285
|
+
status: 'completed' | 'failed' | 'running';
|
|
286
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Message role in a conversation.
|
|
3
|
+
*/
|
|
4
|
+
export type MessageRole = 'assistant' | 'system' | 'tool' | 'user';
|
|
5
|
+
/**
|
|
6
|
+
* Tool call structure.
|
|
7
|
+
* Represents a request from the LLM to execute a tool.
|
|
8
|
+
*/
|
|
9
|
+
export interface ToolCall {
|
|
10
|
+
/** Arguments to pass to the tool */
|
|
11
|
+
arguments: Record<string, unknown>;
|
|
12
|
+
/** Unique identifier for this tool call */
|
|
13
|
+
id: string;
|
|
14
|
+
/** Name of the tool to execute */
|
|
15
|
+
name: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Message in a conversation.
|
|
19
|
+
* Represents a single message in the conversation history.
|
|
20
|
+
*/
|
|
21
|
+
export interface Message {
|
|
22
|
+
/** Message content */
|
|
23
|
+
content: string;
|
|
24
|
+
/** Message role (who sent the message) */
|
|
25
|
+
role: MessageRole;
|
|
26
|
+
/** Optional timestamp (milliseconds since epoch) */
|
|
27
|
+
timestamp?: number;
|
|
28
|
+
/** Tool call ID (for tool result messages) */
|
|
29
|
+
toolCallId?: string;
|
|
30
|
+
/** Tool calls requested by the assistant */
|
|
31
|
+
toolCalls?: ToolCall[];
|
|
32
|
+
/** Tool name (for tool result messages) */
|
|
33
|
+
toolName?: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Session configuration.
|
|
37
|
+
* Options for customizing session behavior.
|
|
38
|
+
*/
|
|
39
|
+
export interface SessionConfig {
|
|
40
|
+
/** Maximum number of tool execution iterations (default: 10) */
|
|
41
|
+
maxToolIterations?: number;
|
|
42
|
+
/** Optional system prompt to prepend to conversation */
|
|
43
|
+
systemPrompt?: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* LLM response structure.
|
|
47
|
+
* Response from the LLM service.
|
|
48
|
+
*/
|
|
49
|
+
export interface LLMResponse {
|
|
50
|
+
/** Response content */
|
|
51
|
+
content: string;
|
|
52
|
+
/** Optional tool calls requested by the LLM */
|
|
53
|
+
toolCalls?: ToolCall[];
|
|
54
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { InternalMessage } from '../../../interfaces/cipher/message-types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Persisted session history data structure.
|
|
4
|
+
*
|
|
5
|
+
* This structure is serialized to JSON and stored in blob storage.
|
|
6
|
+
* Contains the complete conversation history plus metadata for the session.
|
|
7
|
+
*/
|
|
8
|
+
export interface SessionHistoryData {
|
|
9
|
+
/** Unix timestamp when session was created */
|
|
10
|
+
createdAt: number;
|
|
11
|
+
/** Number of messages in the conversation */
|
|
12
|
+
messageCount: number;
|
|
13
|
+
/** All messages in chronological order */
|
|
14
|
+
messages: InternalMessage[];
|
|
15
|
+
/** Optional metadata for extensibility */
|
|
16
|
+
metadata?: Record<string, unknown>;
|
|
17
|
+
/** Unique session identifier */
|
|
18
|
+
sessionId: string;
|
|
19
|
+
/** Unix timestamp of last update */
|
|
20
|
+
updatedAt: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Lightweight session metadata (stored separately from full history).
|
|
24
|
+
*
|
|
25
|
+
* Used for listing sessions without loading full message history.
|
|
26
|
+
*/
|
|
27
|
+
export interface SessionMetadata {
|
|
28
|
+
/** Unix timestamp when session was created */
|
|
29
|
+
createdAt: number;
|
|
30
|
+
/** Unix timestamp of last activity */
|
|
31
|
+
lastActivity: number;
|
|
32
|
+
/** Number of messages in the session */
|
|
33
|
+
messageCount: number;
|
|
34
|
+
/** Unique session identifier */
|
|
35
|
+
sessionId: string;
|
|
36
|
+
/** Optional user-provided or auto-generated title */
|
|
37
|
+
title?: string;
|
|
38
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conversation metadata for execution context
|
|
3
|
+
*/
|
|
4
|
+
export interface ConversationMetadata {
|
|
5
|
+
/** ID of the conversation */
|
|
6
|
+
conversationId: string;
|
|
7
|
+
/** Title of the conversation */
|
|
8
|
+
title: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Context passed to system prompt contributors at runtime.
|
|
12
|
+
* This allows contributors to access runtime dependencies and configuration.
|
|
13
|
+
*/
|
|
14
|
+
export interface SystemPromptContext {
|
|
15
|
+
/** Additional context properties */
|
|
16
|
+
[key: string]: unknown;
|
|
17
|
+
/** Set of available tool marker strings */
|
|
18
|
+
availableMarkers?: Set<string>;
|
|
19
|
+
/** Array of available tool names */
|
|
20
|
+
availableTools?: string[];
|
|
21
|
+
/** Metadata about the conversation (for JSON input mode) */
|
|
22
|
+
conversationMetadata?: ConversationMetadata;
|
|
23
|
+
/** Whether running in JSON input mode (headless with conversation history) */
|
|
24
|
+
isJsonInputMode?: boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Configuration for a static contributor.
|
|
28
|
+
* Static contributors return the base system prompt from YAML or custom content.
|
|
29
|
+
*/
|
|
30
|
+
export interface StaticContributorConfig {
|
|
31
|
+
/** Optional category for YAML file (e.g., 'base', 'contributors') */
|
|
32
|
+
category?: string;
|
|
33
|
+
/** Optional custom content to return (overrides YAML) */
|
|
34
|
+
content?: string;
|
|
35
|
+
/** Whether this contributor is enabled (default: true) */
|
|
36
|
+
enabled?: boolean;
|
|
37
|
+
/** Optional filename for YAML file (without .yml extension) */
|
|
38
|
+
filename?: string;
|
|
39
|
+
/** Unique identifier for this contributor */
|
|
40
|
+
id: string;
|
|
41
|
+
/** Priority for ordering (lower = higher priority) */
|
|
42
|
+
priority: number;
|
|
43
|
+
/** Type discriminator */
|
|
44
|
+
type: 'static';
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Configuration for a date-time contributor.
|
|
48
|
+
* Provides current date and time in ISO format.
|
|
49
|
+
*/
|
|
50
|
+
export interface DateTimeContributorConfig {
|
|
51
|
+
/** Whether this contributor is enabled (default: true) */
|
|
52
|
+
enabled?: boolean;
|
|
53
|
+
/** Unique identifier for this contributor */
|
|
54
|
+
id: string;
|
|
55
|
+
/** Priority for ordering (lower = higher priority) */
|
|
56
|
+
priority: number;
|
|
57
|
+
/** Type discriminator */
|
|
58
|
+
type: 'dateTime';
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Options for memory contributor configuration.
|
|
62
|
+
* Controls how memories are retrieved and formatted in the system prompt.
|
|
63
|
+
*/
|
|
64
|
+
export interface MemoryContributorOptions {
|
|
65
|
+
/** Whether to include tags in memory display (default: true) */
|
|
66
|
+
includeTags?: boolean;
|
|
67
|
+
/** Whether to include timestamps in memory display (default: false) */
|
|
68
|
+
includeTimestamps?: boolean;
|
|
69
|
+
/** Maximum number of memories to include */
|
|
70
|
+
limit?: number;
|
|
71
|
+
/** Only include pinned memories (for hybrid approach, default: false) */
|
|
72
|
+
pinnedOnly?: boolean;
|
|
73
|
+
/** Filter by memory source (agent, system, or user) */
|
|
74
|
+
source?: 'agent' | 'system' | 'user';
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Configuration for a memory contributor.
|
|
78
|
+
* Retrieves and formats agent memories for inclusion in the system prompt.
|
|
79
|
+
*/
|
|
80
|
+
export interface MemoryContributorConfig {
|
|
81
|
+
/** Whether this contributor is enabled (default: true) */
|
|
82
|
+
enabled?: boolean;
|
|
83
|
+
/** Unique identifier for this contributor */
|
|
84
|
+
id: string;
|
|
85
|
+
/** Options for memory retrieval and formatting */
|
|
86
|
+
options?: MemoryContributorOptions;
|
|
87
|
+
/** Priority for ordering (lower = higher priority) */
|
|
88
|
+
priority: number;
|
|
89
|
+
/** Type discriminator */
|
|
90
|
+
type: 'memory';
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Configuration for an execution mode contributor.
|
|
94
|
+
* Provides context-specific instructions based on execution mode (e.g., JSON input mode).
|
|
95
|
+
*/
|
|
96
|
+
export interface ExecutionModeContributorConfig {
|
|
97
|
+
/** Whether this contributor is enabled (default: true) */
|
|
98
|
+
enabled?: boolean;
|
|
99
|
+
/** Unique identifier for this contributor */
|
|
100
|
+
id: string;
|
|
101
|
+
/** Priority for ordering (lower = higher priority) */
|
|
102
|
+
priority: number;
|
|
103
|
+
/** Type discriminator */
|
|
104
|
+
type: 'executionMode';
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Configuration for a marker-based prompt contributor.
|
|
108
|
+
* Generates prompt sections based on available tool markers.
|
|
109
|
+
*/
|
|
110
|
+
export interface MarkerPromptContributorConfig {
|
|
111
|
+
/** Whether this contributor is enabled (default: true) */
|
|
112
|
+
enabled?: boolean;
|
|
113
|
+
/** Unique identifier for this contributor */
|
|
114
|
+
id: string;
|
|
115
|
+
/** Priority for ordering (lower = higher priority) */
|
|
116
|
+
priority: number;
|
|
117
|
+
/** Type discriminator */
|
|
118
|
+
type: 'markerPrompt';
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Union type for all contributor configurations.
|
|
122
|
+
* Uses discriminated union for type-safe contributor creation.
|
|
123
|
+
*/
|
|
124
|
+
export type ContributorConfig = DateTimeContributorConfig | ExecutionModeContributorConfig | MarkerPromptContributorConfig | MemoryContributorConfig | StaticContributorConfig;
|
|
125
|
+
/**
|
|
126
|
+
* Configuration for the system prompt manager.
|
|
127
|
+
*/
|
|
128
|
+
export interface SystemPromptConfig {
|
|
129
|
+
/** Array of contributor configurations */
|
|
130
|
+
contributors: ContributorConfig[];
|
|
131
|
+
}
|