byterover-cli 0.2.0 → 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 +53 -2
- package/dist/commands/init.js +279 -66
- package/dist/commands/login.js +9 -4
- package/dist/commands/logout.d.ts +16 -0
- package/dist/commands/logout.js +61 -0
- 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 +4 -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/i-rule-template-service.d.ts +0 -4
- package/dist/core/interfaces/i-rule-template-service.js +1 -4
- 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/rule/constants.d.ts +4 -0
- package/dist/infra/rule/constants.js +4 -0
- package/dist/infra/rule/rule-template-service.js +1 -1
- package/dist/infra/rule/rule-writer-service.js +1 -5
- 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 -93
- 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 +422 -142
- package/package.json +29 -10
- 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
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
export interface ExecutorOutputJson {
|
|
2
|
-
bulletIds: string[];
|
|
3
|
-
finalAnswer: string;
|
|
4
|
-
hint: string;
|
|
5
|
-
reasoning: string;
|
|
6
|
-
toolUsage: string[];
|
|
7
|
-
}
|
|
8
|
-
export interface ExecutorOutputOptions {
|
|
9
|
-
bulletIds?: string[];
|
|
10
|
-
finalAnswer: string;
|
|
11
|
-
hint: string;
|
|
12
|
-
reasoning: string;
|
|
13
|
-
toolUsage?: string[];
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Output from the executor (the coding agent) phase.
|
|
17
|
-
* Contains reasoning, final answer, and bullets referenced.
|
|
18
|
-
*/
|
|
19
|
-
export declare class ExecutorOutput {
|
|
20
|
-
readonly bulletIds: string[];
|
|
21
|
-
readonly finalAnswer: string;
|
|
22
|
-
readonly hint: string;
|
|
23
|
-
readonly reasoning: string;
|
|
24
|
-
readonly toolUsage: string[];
|
|
25
|
-
constructor(options: ExecutorOutputOptions);
|
|
26
|
-
toJson(): ExecutorOutputJson;
|
|
27
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Output from the executor (the coding agent) phase.
|
|
3
|
-
* Contains reasoning, final answer, and bullets referenced.
|
|
4
|
-
*/
|
|
5
|
-
export class ExecutorOutput {
|
|
6
|
-
bulletIds;
|
|
7
|
-
finalAnswer;
|
|
8
|
-
hint;
|
|
9
|
-
reasoning;
|
|
10
|
-
toolUsage;
|
|
11
|
-
constructor(options) {
|
|
12
|
-
if (options.reasoning.trim().length === 0) {
|
|
13
|
-
throw new Error('Executor reasoning cannot be empty');
|
|
14
|
-
}
|
|
15
|
-
if (options.finalAnswer.trim().length === 0) {
|
|
16
|
-
throw new Error('Executor final answer cannot be empty');
|
|
17
|
-
}
|
|
18
|
-
this.hint = options.hint;
|
|
19
|
-
this.reasoning = options.reasoning;
|
|
20
|
-
this.finalAnswer = options.finalAnswer;
|
|
21
|
-
this.bulletIds = [...(options.bulletIds ?? [])];
|
|
22
|
-
this.toolUsage = [...(options.toolUsage ?? [])];
|
|
23
|
-
}
|
|
24
|
-
toJson() {
|
|
25
|
-
return {
|
|
26
|
-
bulletIds: this.bulletIds,
|
|
27
|
-
finalAnswer: this.finalAnswer,
|
|
28
|
-
hint: this.hint,
|
|
29
|
-
reasoning: this.reasoning,
|
|
30
|
-
toolUsage: this.toolUsage,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
export interface BulletTag {
|
|
2
|
-
id: string;
|
|
3
|
-
tag: string;
|
|
4
|
-
}
|
|
5
|
-
export interface ReflectorOutputInput {
|
|
6
|
-
bulletTags: BulletTag[];
|
|
7
|
-
correctApproach: string;
|
|
8
|
-
errorIdentification: string;
|
|
9
|
-
hint: string;
|
|
10
|
-
keyInsight: string;
|
|
11
|
-
reasoning: string;
|
|
12
|
-
rootCauseAnalysis: string;
|
|
13
|
-
}
|
|
14
|
-
export interface ReflectorOutputJson {
|
|
15
|
-
bulletTags: BulletTag[];
|
|
16
|
-
correctApproach: string;
|
|
17
|
-
errorIdentification: string;
|
|
18
|
-
hint: string;
|
|
19
|
-
keyInsight: string;
|
|
20
|
-
reasoning: string;
|
|
21
|
-
rootCauseAnalysis: string;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Output from the reflector phase.
|
|
25
|
-
* Contains error analysis and bullet tagging.
|
|
26
|
-
*/
|
|
27
|
-
export declare class ReflectorOutput {
|
|
28
|
-
readonly bulletTags: BulletTag[];
|
|
29
|
-
readonly correctApproach: string;
|
|
30
|
-
readonly errorIdentification: string;
|
|
31
|
-
readonly hint: string;
|
|
32
|
-
readonly keyInsight: string;
|
|
33
|
-
readonly reasoning: string;
|
|
34
|
-
readonly rootCauseAnalysis: string;
|
|
35
|
-
constructor(input: ReflectorOutputInput);
|
|
36
|
-
static fromJson(json: ReflectorOutputJson): ReflectorOutput;
|
|
37
|
-
toJson(): ReflectorOutputJson;
|
|
38
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Output from the reflector phase.
|
|
3
|
-
* Contains error analysis and bullet tagging.
|
|
4
|
-
*/
|
|
5
|
-
export class ReflectorOutput {
|
|
6
|
-
bulletTags;
|
|
7
|
-
correctApproach;
|
|
8
|
-
errorIdentification;
|
|
9
|
-
hint;
|
|
10
|
-
keyInsight;
|
|
11
|
-
reasoning;
|
|
12
|
-
rootCauseAnalysis;
|
|
13
|
-
constructor(input) {
|
|
14
|
-
this.reasoning = input.reasoning;
|
|
15
|
-
this.errorIdentification = input.errorIdentification;
|
|
16
|
-
this.rootCauseAnalysis = input.rootCauseAnalysis;
|
|
17
|
-
this.correctApproach = input.correctApproach;
|
|
18
|
-
this.keyInsight = input.keyInsight;
|
|
19
|
-
this.hint = input.hint;
|
|
20
|
-
this.bulletTags = [...input.bulletTags];
|
|
21
|
-
}
|
|
22
|
-
static fromJson(json) {
|
|
23
|
-
return new ReflectorOutput({
|
|
24
|
-
bulletTags: json.bulletTags,
|
|
25
|
-
correctApproach: json.correctApproach,
|
|
26
|
-
errorIdentification: json.errorIdentification,
|
|
27
|
-
hint: json.hint || '',
|
|
28
|
-
keyInsight: json.keyInsight,
|
|
29
|
-
reasoning: json.reasoning,
|
|
30
|
-
rootCauseAnalysis: json.rootCauseAnalysis,
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
toJson() {
|
|
34
|
-
return {
|
|
35
|
-
bulletTags: this.bulletTags,
|
|
36
|
-
correctApproach: this.correctApproach,
|
|
37
|
-
errorIdentification: this.errorIdentification,
|
|
38
|
-
hint: this.hint,
|
|
39
|
-
keyInsight: this.keyInsight,
|
|
40
|
-
reasoning: this.reasoning,
|
|
41
|
-
rootCauseAnalysis: this.rootCauseAnalysis,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import type { ExecutorOutput } from '../domain/entities/executor-output.js';
|
|
2
|
-
import type { Playbook } from '../domain/entities/playbook.js';
|
|
3
|
-
import type { ReflectorOutput } from '../domain/entities/reflector-output.js';
|
|
4
|
-
/**
|
|
5
|
-
* Parameters for building a reflector prompt
|
|
6
|
-
*/
|
|
7
|
-
export interface ReflectorPromptParams {
|
|
8
|
-
executorOutput: ExecutorOutput;
|
|
9
|
-
feedback: string;
|
|
10
|
-
groundTruth?: string;
|
|
11
|
-
playbook: Playbook;
|
|
12
|
-
task: string;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Port for building prompts for ACE pipeline
|
|
16
|
-
* This abstraction allows different prompt strategies for different roles of coding agent
|
|
17
|
-
*/
|
|
18
|
-
export interface IAcePromptBuilder {
|
|
19
|
-
/**
|
|
20
|
-
* Builds the curator prompt for updating the playbook.
|
|
21
|
-
* The curator transforms reflections into structured playbook updates.
|
|
22
|
-
*
|
|
23
|
-
* @param reflection The reflector's analysis and insights
|
|
24
|
-
* @param playbook The current playbook to update
|
|
25
|
-
* @param questionContext Context about what task was being solved
|
|
26
|
-
* @returns A prompt string ready for the coding agent
|
|
27
|
-
*/
|
|
28
|
-
buildCuratorPrompt: (reflection: ReflectorOutput, playbook: Playbook, questionContext: string) => string;
|
|
29
|
-
/**
|
|
30
|
-
* Builds the executor (generator) prompt for coding agents.
|
|
31
|
-
* The executor uses the playbook to solve tasks with context-aware reasoning.
|
|
32
|
-
*
|
|
33
|
-
* @param task The task or question to solve
|
|
34
|
-
* @param context Additional context about the task (e.g., file contents, error messages)
|
|
35
|
-
* @param playbook The knowledge playbook containing strategies and lessons
|
|
36
|
-
* @param recentReflections Recent reflection summaries to avoid repeating mistakes
|
|
37
|
-
* @returns A prompt string ready for the coding aqgent
|
|
38
|
-
*/
|
|
39
|
-
buildExecutorPrompt: (task: string, context: string, playbook: Playbook, recentReflections: string[]) => string;
|
|
40
|
-
/**
|
|
41
|
-
* Builds the reflector prompt for analyzing execution results.
|
|
42
|
-
* The reflector identifies errors, root causes, and key insights.
|
|
43
|
-
*
|
|
44
|
-
* @param params The reflector prompt parameters
|
|
45
|
-
* @returns A prompt string ready for the coding agent
|
|
46
|
-
*/
|
|
47
|
-
buildReflectorPrompt: (params: ReflectorPromptParams) => string;
|
|
48
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Port for bullet content file persistence operations.
|
|
3
|
-
* Manages individual markdown files for bullet content.
|
|
4
|
-
*/
|
|
5
|
-
export interface IBulletContentStore {
|
|
6
|
-
/**
|
|
7
|
-
* Deletes a bullet content file from storage.
|
|
8
|
-
* Does nothing if the content file doesn't exist.
|
|
9
|
-
* @param bulletId The bullet ID
|
|
10
|
-
* @param directory The project directory (defaults to current working directory)
|
|
11
|
-
*/
|
|
12
|
-
delete: (bulletId: string, directory?: string) => Promise<void>;
|
|
13
|
-
/**
|
|
14
|
-
* Checks if a bullet content file exists.
|
|
15
|
-
* @param bulletId The bullet ID
|
|
16
|
-
* @param directory The project directory (defaults to current working directory)
|
|
17
|
-
* @returns True if content file exists, false otherwise
|
|
18
|
-
*/
|
|
19
|
-
exists: (bulletId: string, directory?: string) => Promise<boolean>;
|
|
20
|
-
/**
|
|
21
|
-
* Loads bullet content from a markdown file.
|
|
22
|
-
* @param bulletId The bullet ID
|
|
23
|
-
* @param directory The project directory (defaults to current working directory)
|
|
24
|
-
* @returns The content, or undefined if not found
|
|
25
|
-
*/
|
|
26
|
-
load: (bulletId: string, directory?: string) => Promise<string | undefined>;
|
|
27
|
-
/**
|
|
28
|
-
* Saves bullet content to a markdown file.
|
|
29
|
-
* Creates the directory structure if it doesn't exist.
|
|
30
|
-
* @param bulletId The bullet ID
|
|
31
|
-
* @param content The bullet content
|
|
32
|
-
* @param directory The project directory (defaults to current working directory)
|
|
33
|
-
* @returns The file path where content was saved
|
|
34
|
-
*/
|
|
35
|
-
save: (bulletId: string, content: string, directory?: string) => Promise<string>;
|
|
36
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { DeltaBatch } from '../domain/entities/delta-batch.js';
|
|
2
|
-
/**
|
|
3
|
-
* Interface for delta batch storage operations.
|
|
4
|
-
* Implementations can be file-based (for production) or in-memory (for testing).
|
|
5
|
-
*/
|
|
6
|
-
export interface IDeltaStore {
|
|
7
|
-
/**
|
|
8
|
-
* Saves a delta batch to storage.
|
|
9
|
-
* @param deltaBatch - The delta batch to save
|
|
10
|
-
* @param hint - Optional hint to include in the filename for identification
|
|
11
|
-
* @param directory - Optional base directory (defaults to current working directory)
|
|
12
|
-
* @returns The absolute path where the delta batch was saved
|
|
13
|
-
*/
|
|
14
|
-
save(deltaBatch: DeltaBatch, hint?: string, directory?: string): Promise<string>;
|
|
15
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { ExecutorOutput } from '../domain/entities/executor-output.js';
|
|
2
|
-
/**
|
|
3
|
-
* Interface for executor output storage operations.
|
|
4
|
-
* Implementations can be file-based (for production) or in-memory (for testing).
|
|
5
|
-
*/
|
|
6
|
-
export interface IExecutorOutputStore {
|
|
7
|
-
/**
|
|
8
|
-
* Saves executor output to storage.
|
|
9
|
-
* @param output - The executor output to save
|
|
10
|
-
* @param directory - Optional base directory (defaults to current working directory)
|
|
11
|
-
* @returns The absolute path where the executor output was saved
|
|
12
|
-
*/
|
|
13
|
-
save(output: ExecutorOutput, directory?: string): Promise<string>;
|
|
14
|
-
}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import type { Bullet, BulletMetadata } from '../domain/entities/bullet.js';
|
|
2
|
-
import type { DeltaBatch } from '../domain/entities/delta-batch.js';
|
|
3
|
-
import type { Playbook } from '../domain/entities/playbook.js';
|
|
4
|
-
import type { ReflectorOutput } from '../domain/entities/reflector-output.js';
|
|
5
|
-
/**
|
|
6
|
-
* Interface for playbook operations service.
|
|
7
|
-
* Provides high-level operations for managing ACE playbooks including
|
|
8
|
-
* initialization, bullet management, delta application, and reflection tag processing.
|
|
9
|
-
*/
|
|
10
|
-
export interface IPlaybookService {
|
|
11
|
-
/**
|
|
12
|
-
* Adds a new bullet or updates an existing bullet in the playbook.
|
|
13
|
-
* @param params - Bullet parameters
|
|
14
|
-
* @param params.section - Section name for the bullet
|
|
15
|
-
* @param params.content - Content of the bullet
|
|
16
|
-
* @param params.bulletId - Optional bullet ID for update operation
|
|
17
|
-
* @param params.metadata - Optional metadata (tags, related files, timestamp)
|
|
18
|
-
* @param params.directory - Optional base directory (defaults to current working directory)
|
|
19
|
-
* @returns The created or updated bullet
|
|
20
|
-
* @throws Error if validation fails or bulletId not found for updates
|
|
21
|
-
*/
|
|
22
|
-
addOrUpdateBullet(params: {
|
|
23
|
-
bulletId?: string;
|
|
24
|
-
content: string;
|
|
25
|
-
directory?: string;
|
|
26
|
-
metadata?: BulletMetadata;
|
|
27
|
-
section: string;
|
|
28
|
-
}): Promise<Bullet>;
|
|
29
|
-
/**
|
|
30
|
-
* Applies delta operations (ADD/UPDATE/REMOVE) to the playbook.
|
|
31
|
-
* Creates a new playbook if it doesn't exist.
|
|
32
|
-
* @param params - Delta application parameters
|
|
33
|
-
* @param params.delta - Delta batch containing operations to apply
|
|
34
|
-
* @param params.directory - Optional base directory (defaults to current working directory)
|
|
35
|
-
* @returns Result containing operations applied count and updated playbook
|
|
36
|
-
* @throws Error if delta application fails
|
|
37
|
-
*/
|
|
38
|
-
applyDelta(params: {
|
|
39
|
-
delta: DeltaBatch;
|
|
40
|
-
directory?: string;
|
|
41
|
-
}): Promise<{
|
|
42
|
-
operationsApplied: number;
|
|
43
|
-
playbook: Playbook;
|
|
44
|
-
}>;
|
|
45
|
-
/**
|
|
46
|
-
* Applies reflection bullet tags to existing bullets in the playbook.
|
|
47
|
-
* Skips bullets that don't exist in the playbook.
|
|
48
|
-
* @param params - Reflection tag parameters
|
|
49
|
-
* @param params.reflection - Reflection output containing bullet tags
|
|
50
|
-
* @param params.directory - Optional base directory (defaults to current working directory)
|
|
51
|
-
* @returns Result containing tags applied count and updated playbook
|
|
52
|
-
* @throws Error if playbook not found or tag application fails
|
|
53
|
-
*/
|
|
54
|
-
applyReflectionTags(params: {
|
|
55
|
-
directory?: string;
|
|
56
|
-
reflection: ReflectorOutput;
|
|
57
|
-
}): Promise<{
|
|
58
|
-
playbook: Playbook;
|
|
59
|
-
tagsApplied: number;
|
|
60
|
-
}>;
|
|
61
|
-
/**
|
|
62
|
-
* Initializes the ACE playbook directory structure and creates an empty playbook.
|
|
63
|
-
* Creates .brv/ace/ directory with subdirectories: reflections/, executor-outputs/, deltas/
|
|
64
|
-
* @param directory - Optional base directory (defaults to current working directory)
|
|
65
|
-
* @returns The absolute path to the created playbook file
|
|
66
|
-
* @throws Error if playbook already exists or initialization fails
|
|
67
|
-
*/
|
|
68
|
-
initialize(directory?: string): Promise<string>;
|
|
69
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import type { Playbook } from '../domain/entities/playbook.js';
|
|
2
|
-
/**
|
|
3
|
-
* Port for playbook persistence operations.
|
|
4
|
-
* Implementations can use file system, database, or remote storage.
|
|
5
|
-
*/
|
|
6
|
-
export interface IPlaybookStore {
|
|
7
|
-
/**
|
|
8
|
-
* Clears the playbook content by replacing it with an empty playbook.
|
|
9
|
-
* Does nothing if the playbook doesn't exist.
|
|
10
|
-
* @param directory The project directory (defaults to current working directory)
|
|
11
|
-
*/
|
|
12
|
-
clear: (directory?: string) => Promise<void>;
|
|
13
|
-
/**
|
|
14
|
-
* Deletes a playbook from storage.
|
|
15
|
-
* Does nothing if the playbook doesn't exist.
|
|
16
|
-
* @param directory The project directory (defaults to current working directory)
|
|
17
|
-
*/
|
|
18
|
-
delete: (directory?: string) => Promise<void>;
|
|
19
|
-
/**
|
|
20
|
-
* Checks if a playbook exists in the specified directory.
|
|
21
|
-
* @param directory The project directory (defaults to current working directory)
|
|
22
|
-
* @returns True if playbook exists, false otherwise
|
|
23
|
-
*/
|
|
24
|
-
exists: (directory?: string) => Promise<boolean>;
|
|
25
|
-
/**
|
|
26
|
-
* Loads a playbook from storage.
|
|
27
|
-
* @param directory The project directory (defaults to current working directory)
|
|
28
|
-
* @returns The playbook, or undefined if not found
|
|
29
|
-
*/
|
|
30
|
-
load: (directory?: string) => Promise<Playbook | undefined>;
|
|
31
|
-
/**
|
|
32
|
-
* Saves a playbook to storage.
|
|
33
|
-
* Creates the directory structure if it doesn't exist.
|
|
34
|
-
* @param playbook The playbook to save
|
|
35
|
-
* @param directory The project directory (defaults to current working directory)
|
|
36
|
-
*/
|
|
37
|
-
save: (playbook: Playbook, directory?: string) => Promise<void>;
|
|
38
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { ReflectorOutput } from '../domain/entities/reflector-output.js';
|
|
2
|
-
/**
|
|
3
|
-
* Interface for reflection output storage operations.
|
|
4
|
-
* Implementations can be file-based (for production) or in-memory (for testing).
|
|
5
|
-
*/
|
|
6
|
-
export interface IReflectionStore {
|
|
7
|
-
/**
|
|
8
|
-
* Loads the most recent reflections from storage.
|
|
9
|
-
* @param directory - Optional base directory (defaults to current working directory)
|
|
10
|
-
* @param count - Maximum number of recent reflections to load (default: 3)
|
|
11
|
-
* @returns Array of recent reflections, ordered from most recent to oldest
|
|
12
|
-
*/
|
|
13
|
-
loadRecent(directory?: string, count?: number): Promise<ReflectorOutput[]>;
|
|
14
|
-
/**
|
|
15
|
-
* Saves a reflection output to storage.
|
|
16
|
-
* @param reflection - The reflection output to save
|
|
17
|
-
* @param directory - Optional base directory (defaults to current working directory)
|
|
18
|
-
* @returns The absolute path where the reflection was saved
|
|
19
|
-
*/
|
|
20
|
-
save(reflection: ReflectorOutput, directory?: string): Promise<string>;
|
|
21
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { DeltaBatch } from '../../core/domain/entities/delta-batch.js';
|
|
2
|
-
import { ExecutorOutput } from '../../core/domain/entities/executor-output.js';
|
|
3
|
-
import { ReflectorOutput } from '../../core/domain/entities/reflector-output.js';
|
|
4
|
-
/**
|
|
5
|
-
* Sanitize hint for use in filename.
|
|
6
|
-
* Converts to lowercase, replaces spaces/underscores with hyphens,
|
|
7
|
-
* removes all non-alphanumeric characters except hyphens.
|
|
8
|
-
* @param hint - The hint string to sanitize
|
|
9
|
-
* @returns Sanitized hint suitable for filename
|
|
10
|
-
*/
|
|
11
|
-
export declare function sanitizeHint(hint: string): string;
|
|
12
|
-
/**
|
|
13
|
-
* Generates a timestamped filename for ACE output files.
|
|
14
|
-
* @param type - The file type prefix (e.g., 'delta', 'reflection', 'executor-output')
|
|
15
|
-
* @param hint - Optional hint to include in filename
|
|
16
|
-
* @returns Filename in format: {type}-{hint}-{timestamp}.json or {type}-{timestamp}.json
|
|
17
|
-
*/
|
|
18
|
-
export declare function generateTimestampedFilename(type: string, hint?: string): string;
|
|
19
|
-
/**
|
|
20
|
-
* Ensures that an ACE subdirectory exists, creating it if necessary.
|
|
21
|
-
* @param baseDir - The base project directory (defaults to current working directory)
|
|
22
|
-
* @param subdir - The ACE subdirectory name (e.g., 'deltas', 'reflections', 'executor-outputs')
|
|
23
|
-
* @returns The absolute path to the subdirectory
|
|
24
|
-
*/
|
|
25
|
-
export declare function ensureAceDirectory(baseDir: string | undefined, subdir: string): Promise<string>;
|
|
26
|
-
/**
|
|
27
|
-
* Loads and parses an executor output file.
|
|
28
|
-
* @param filePath - Absolute path to executor output JSON file
|
|
29
|
-
* @returns ExecutorOutput entity
|
|
30
|
-
* @throws Error if file doesn't exist or JSON is invalid
|
|
31
|
-
*/
|
|
32
|
-
export declare function loadExecutorOutput(filePath: string): Promise<ExecutorOutput>;
|
|
33
|
-
/**
|
|
34
|
-
* Loads and parses a reflection output file.
|
|
35
|
-
* @param filePath - Absolute path to reflection output JSON file
|
|
36
|
-
* @returns ReflectorOutput entity
|
|
37
|
-
* @throws Error if file doesn't exist or JSON is invalid
|
|
38
|
-
*/
|
|
39
|
-
export declare function loadReflectionOutput(filePath: string): Promise<ReflectorOutput>;
|
|
40
|
-
/**
|
|
41
|
-
* Loads and parses a delta batch file.
|
|
42
|
-
* @param filePath - Absolute path to delta batch JSON file
|
|
43
|
-
* @returns DeltaBatch entity
|
|
44
|
-
* @throws Error if file doesn't exist or JSON is invalid
|
|
45
|
-
*/
|
|
46
|
-
export declare function loadDeltaBatch(filePath: string): Promise<DeltaBatch>;
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { mkdir, readFile } from 'node:fs/promises';
|
|
2
|
-
import { join } from 'node:path';
|
|
3
|
-
import { ACE_DIR, BRV_DIR } from '../../constants.js';
|
|
4
|
-
import { DeltaBatch } from '../../core/domain/entities/delta-batch.js';
|
|
5
|
-
import { ExecutorOutput } from '../../core/domain/entities/executor-output.js';
|
|
6
|
-
import { ReflectorOutput } from '../../core/domain/entities/reflector-output.js';
|
|
7
|
-
/**
|
|
8
|
-
* Sanitize hint for use in filename.
|
|
9
|
-
* Converts to lowercase, replaces spaces/underscores with hyphens,
|
|
10
|
-
* removes all non-alphanumeric characters except hyphens.
|
|
11
|
-
* @param hint - The hint string to sanitize
|
|
12
|
-
* @returns Sanitized hint suitable for filename
|
|
13
|
-
*/
|
|
14
|
-
export function sanitizeHint(hint) {
|
|
15
|
-
return hint
|
|
16
|
-
.toLowerCase()
|
|
17
|
-
.replaceAll(/[\s_]+/g, '-')
|
|
18
|
-
.replaceAll(/[^\da-z-]/g, '')
|
|
19
|
-
.replaceAll(/-+/g, '-')
|
|
20
|
-
.replaceAll(/^-|-$/g, '');
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Generates a timestamped filename for ACE output files.
|
|
24
|
-
* @param type - The file type prefix (e.g., 'delta', 'reflection', 'executor-output')
|
|
25
|
-
* @param hint - Optional hint to include in filename
|
|
26
|
-
* @returns Filename in format: {type}-{hint}-{timestamp}.json or {type}-{timestamp}.json
|
|
27
|
-
*/
|
|
28
|
-
export function generateTimestampedFilename(type, hint) {
|
|
29
|
-
const timestamp = new Date().toISOString().replaceAll(':', '-');
|
|
30
|
-
const sanitizedHint = hint ? sanitizeHint(hint) : '';
|
|
31
|
-
return sanitizedHint ? `${type}-${sanitizedHint}-${timestamp}.json` : `${type}-${timestamp}.json`;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Ensures that an ACE subdirectory exists, creating it if necessary.
|
|
35
|
-
* @param baseDir - The base project directory (defaults to current working directory)
|
|
36
|
-
* @param subdir - The ACE subdirectory name (e.g., 'deltas', 'reflections', 'executor-outputs')
|
|
37
|
-
* @returns The absolute path to the subdirectory
|
|
38
|
-
*/
|
|
39
|
-
export async function ensureAceDirectory(baseDir, subdir) {
|
|
40
|
-
const resolvedBaseDir = baseDir ?? process.cwd();
|
|
41
|
-
const aceSubdir = join(resolvedBaseDir, BRV_DIR, ACE_DIR, subdir);
|
|
42
|
-
await mkdir(aceSubdir, { recursive: true });
|
|
43
|
-
return aceSubdir;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Loads and parses an executor output file.
|
|
47
|
-
* @param filePath - Absolute path to executor output JSON file
|
|
48
|
-
* @returns ExecutorOutput entity
|
|
49
|
-
* @throws Error if file doesn't exist or JSON is invalid
|
|
50
|
-
*/
|
|
51
|
-
export async function loadExecutorOutput(filePath) {
|
|
52
|
-
const content = await readFile(filePath, 'utf8');
|
|
53
|
-
const json = JSON.parse(content);
|
|
54
|
-
return new ExecutorOutput({
|
|
55
|
-
bulletIds: json.bulletIds,
|
|
56
|
-
finalAnswer: json.finalAnswer,
|
|
57
|
-
hint: json.hint || '',
|
|
58
|
-
reasoning: json.reasoning,
|
|
59
|
-
toolUsage: json.toolUsage,
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Loads and parses a reflection output file.
|
|
64
|
-
* @param filePath - Absolute path to reflection output JSON file
|
|
65
|
-
* @returns ReflectorOutput entity
|
|
66
|
-
* @throws Error if file doesn't exist or JSON is invalid
|
|
67
|
-
*/
|
|
68
|
-
export async function loadReflectionOutput(filePath) {
|
|
69
|
-
const content = await readFile(filePath, 'utf8');
|
|
70
|
-
const json = JSON.parse(content);
|
|
71
|
-
return ReflectorOutput.fromJson(json);
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Loads and parses a delta batch file.
|
|
75
|
-
* @param filePath - Absolute path to delta batch JSON file
|
|
76
|
-
* @returns DeltaBatch entity
|
|
77
|
-
* @throws Error if file doesn't exist or JSON is invalid
|
|
78
|
-
*/
|
|
79
|
-
export async function loadDeltaBatch(filePath) {
|
|
80
|
-
const content = await readFile(filePath, 'utf8');
|
|
81
|
-
const json = JSON.parse(content);
|
|
82
|
-
return DeltaBatch.fromJson(json);
|
|
83
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { Playbook } from '../../core/domain/entities/playbook.js';
|
|
2
|
-
import type { ReflectorOutput } from '../../core/domain/entities/reflector-output.js';
|
|
3
|
-
import type { IAcePromptBuilder, ReflectorPromptParams } from '../../core/interfaces/i-ace-prompt-builder.js';
|
|
4
|
-
/**
|
|
5
|
-
* Default implementation of ACE prompts using template strings.
|
|
6
|
-
* These prompts are designed to work with coding agents (Claude Code, Cursor, etc.)
|
|
7
|
-
* and LLMs that understand structured JSON output.
|
|
8
|
-
*/
|
|
9
|
-
export declare class AcePromptTemplates implements IAcePromptBuilder {
|
|
10
|
-
buildCuratorPrompt(reflection: ReflectorOutput, playbook: Playbook, questionContext: string): string;
|
|
11
|
-
buildExecutorPrompt(task: string, context: string, playbook: Playbook, recentReflections: string[]): string;
|
|
12
|
-
buildReflectorPrompt(params: ReflectorPromptParams): string;
|
|
13
|
-
}
|