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,255 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copilot Clean Service
|
|
3
|
+
* Transforms GitHub Copilot raw parsed data to clean normalized format
|
|
4
|
+
*/
|
|
5
|
+
import type { CleanSession } from '../../../core/domain/entities/parser.js';
|
|
6
|
+
import { Agent } from '../../../core/domain/entities/agent.js';
|
|
7
|
+
import { CleanCopilotProcessResult } from '../../../core/domain/entities/parser.js';
|
|
8
|
+
import { ICleanParserService } from '../../../core/interfaces/parser/i-clean-parser-service.js';
|
|
9
|
+
/**
|
|
10
|
+
* Copilot Clean Service
|
|
11
|
+
* Transforms GitHub Copilot raw parsed sessions to clean normalized format
|
|
12
|
+
*/
|
|
13
|
+
export declare class CopilotCleanService implements ICleanParserService {
|
|
14
|
+
private ide;
|
|
15
|
+
constructor(ide: Agent);
|
|
16
|
+
/**
|
|
17
|
+
* Parse and transform GitHub Copilot raw sessions to clean normalized format
|
|
18
|
+
*
|
|
19
|
+
* Reads Copilot raw session files organized by workspace, transforms them using
|
|
20
|
+
* Claude-compatible format, and normalizes the sessions.
|
|
21
|
+
* Returns sessions in-memory without file writing.
|
|
22
|
+
*
|
|
23
|
+
* @param rawDir - Absolute path to the directory containing raw Copilot session files organized by workspace
|
|
24
|
+
* @returns Promise resolving to array of clean normalized sessions
|
|
25
|
+
*/
|
|
26
|
+
parse(rawDir: string): Promise<readonly CleanSession[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Process Copilot data by analyzing and transforming valid workspaces
|
|
29
|
+
*
|
|
30
|
+
* Performs complete workspace analysis and transformation:
|
|
31
|
+
* 1. Analyzes all workspaces to identify valid Copilot sessions
|
|
32
|
+
* 2. Logs workspace validity analysis with session counts
|
|
33
|
+
* 3. Copies and transforms valid workspaces to Claude-compatible format
|
|
34
|
+
* Returns statistics about processed workspaces.
|
|
35
|
+
*
|
|
36
|
+
* @param rawResultsDir - Absolute path to raw Copilot results directory
|
|
37
|
+
* @param cleanResultsDir - Absolute path to clean results output directory
|
|
38
|
+
* @returns Promise with statistics: total workspaces, valid count, invalid count
|
|
39
|
+
*/
|
|
40
|
+
processCopilotData(rawResultsDir: string, cleanResultsDir: string): Promise<CleanCopilotProcessResult>;
|
|
41
|
+
/**
|
|
42
|
+
* Analyze Copilot workspaces to identify valid vs invalid sessions
|
|
43
|
+
*
|
|
44
|
+
* Scans workspace directories and validates each by checking for valid Copilot session
|
|
45
|
+
* files. A workspace is considered valid if it contains at least one session file with
|
|
46
|
+
* non-empty requests array. Returns a map of workspace information including validity
|
|
47
|
+
* status, valid/empty session counts, and reason.
|
|
48
|
+
*
|
|
49
|
+
* @param copilotResultsDir - Absolute path to directory containing Copilot workspace subdirectories
|
|
50
|
+
* @returns Promise that resolves to a map of workspace names to WorkspaceInfo objects
|
|
51
|
+
*/
|
|
52
|
+
private analyzeCopilotWorkspaces;
|
|
53
|
+
/**
|
|
54
|
+
* Build session metadata from Copilot session data
|
|
55
|
+
*
|
|
56
|
+
* Extracts and formats metadata from Copilot session including message/request counts,
|
|
57
|
+
* usernames, session ID, and duration. Combines data from transformed messages and
|
|
58
|
+
* original session metadata.
|
|
59
|
+
*
|
|
60
|
+
* @param transformedMessages - Array of transformed message objects
|
|
61
|
+
* @param copilotSession - Original Copilot session object with metadata
|
|
62
|
+
* @returns Metadata object with counts, usernames, session ID, and duration
|
|
63
|
+
*/
|
|
64
|
+
private buildSessionMetadata;
|
|
65
|
+
/**
|
|
66
|
+
* Copy and transform valid Copilot workspace to clean results directory
|
|
67
|
+
*
|
|
68
|
+
* Processes all JSON files in a valid workspace, transforming valid Copilot sessions
|
|
69
|
+
* (those with non-empty requests) to Claude-compatible format. Applies full normalization
|
|
70
|
+
* pipeline and splits multi-content assistant messages. Creates target directory as needed.
|
|
71
|
+
*
|
|
72
|
+
* @param workspaceHash - Hash identifier of the workspace directory
|
|
73
|
+
* @param sourceDir - Absolute path to parent directory containing workspace directories
|
|
74
|
+
* @param targetDir - Absolute path to clean results output directory
|
|
75
|
+
* @returns Promise that resolves when all files are processed and copied
|
|
76
|
+
*/
|
|
77
|
+
private copyValidCopilotWorkspace;
|
|
78
|
+
/**
|
|
79
|
+
* Count valid Copilot session files in a workspace directory
|
|
80
|
+
*
|
|
81
|
+
* Iterates through provided JSON files and counts how many are valid Copilot sessions
|
|
82
|
+
* (have non-empty requests array). Used for workspace analysis and validation.
|
|
83
|
+
*
|
|
84
|
+
* @param workspacePath - Absolute path to the workspace directory
|
|
85
|
+
* @param jsonFiles - Array of JSON filename strings to validate
|
|
86
|
+
* @returns Promise that resolves to the count of valid Copilot session files
|
|
87
|
+
*/
|
|
88
|
+
private countValidCopilotSessions;
|
|
89
|
+
/**
|
|
90
|
+
* Create assistant message from Copilot request response
|
|
91
|
+
*
|
|
92
|
+
* Extracts response data from Copilot request and builds an assistant message:
|
|
93
|
+
* 1. Converts response text to thinking block
|
|
94
|
+
* 2. Extracts tool invocations with arguments and results
|
|
95
|
+
* Returns null if no content could be extracted.
|
|
96
|
+
*
|
|
97
|
+
* @param req - Copilot request object with response and result data
|
|
98
|
+
* @returns Assistant message object with content array, or null if no valid content
|
|
99
|
+
*/
|
|
100
|
+
private createAssistantMessageFromRequest;
|
|
101
|
+
/**
|
|
102
|
+
* Create user message from Copilot request
|
|
103
|
+
*
|
|
104
|
+
* Extracts user message text from request and builds a user message object.
|
|
105
|
+
* Includes attachments from variableData if present (file references).
|
|
106
|
+
* Returns null if no message text found.
|
|
107
|
+
*
|
|
108
|
+
* @param req - Copilot request object with message and variableData
|
|
109
|
+
* @returns User message object with text content and optional attachments, or null
|
|
110
|
+
*/
|
|
111
|
+
private createUserMessageFromRequest;
|
|
112
|
+
/**
|
|
113
|
+
* Extract file attachments from Copilot variableData
|
|
114
|
+
*
|
|
115
|
+
* Scans the variableData object for file variables and extracts their names.
|
|
116
|
+
* File variables are identified by having kind='file'. Returns an array of filenames
|
|
117
|
+
* representing files attached to a Copilot request/message.
|
|
118
|
+
*
|
|
119
|
+
* @param variableData - Object containing variables array with file references
|
|
120
|
+
* @returns Array of file attachment names extracted from variables
|
|
121
|
+
*/
|
|
122
|
+
private extractCopilotAttachments;
|
|
123
|
+
/**
|
|
124
|
+
* Extract text content from Copilot response items
|
|
125
|
+
*
|
|
126
|
+
* Filters response items to find main text responses (items without kind or with kind='unknown')
|
|
127
|
+
* and concatenates their values into a single text string. Skips prepareToolInvocation items
|
|
128
|
+
* which are used for tool setup rather than content. Returns trimmed concatenated text.
|
|
129
|
+
*
|
|
130
|
+
* @param responseItems - Array of response item objects with kind and value properties
|
|
131
|
+
* @returns Concatenated text content from non-tool response items
|
|
132
|
+
*/
|
|
133
|
+
private extractCopilotResponseText;
|
|
134
|
+
/**
|
|
135
|
+
* Extract tool invocations and their results from Copilot response
|
|
136
|
+
*
|
|
137
|
+
* Processes toolInvocationSerialized response items and matches them with detailed tool calls
|
|
138
|
+
* from toolCallRounds and results from toolCallResults. Constructs tool_use content blocks
|
|
139
|
+
* with parsed arguments (converting from string JSON when needed) and associated output/results.
|
|
140
|
+
* Matches sequentially: the nth toolInvocationSerialized corresponds to the nth toolCall
|
|
141
|
+
* in the collected toolCalls array.
|
|
142
|
+
*
|
|
143
|
+
* @param responseItems - Array of response item objects, filtering for toolInvocationSerialized kind
|
|
144
|
+
* @param toolCallRounds - Optional array of tool call rounds, each containing toolCalls array
|
|
145
|
+
* @param toolCallResults - Optional map of tool results keyed by tool call ID
|
|
146
|
+
* @returns Array of tool_use content blocks with input arguments and output results
|
|
147
|
+
*/
|
|
148
|
+
private extractCopilotToolInvocations;
|
|
149
|
+
/**
|
|
150
|
+
* Extract valid workspace path from object's baseUri property
|
|
151
|
+
*
|
|
152
|
+
* Checks if an object contains a baseUri with a valid path property. Path must be
|
|
153
|
+
* a string starting with '/' and must not have been seen before (checked against seenPaths set).
|
|
154
|
+
* Adds valid paths to seenPaths to prevent duplicates. Used for workspace path extraction
|
|
155
|
+
* from nested Copilot session data structures.
|
|
156
|
+
*
|
|
157
|
+
* @param obj - Object that may contain baseUri.path structure
|
|
158
|
+
* @param seenPaths - Set of previously seen paths to avoid duplicates
|
|
159
|
+
* @returns Valid path string if found and not previously seen, null otherwise
|
|
160
|
+
*/
|
|
161
|
+
private extractPathFromBaseUri;
|
|
162
|
+
/**
|
|
163
|
+
* Extract readable text from deeply nested VS Code/Copilot object structures
|
|
164
|
+
*
|
|
165
|
+
* Recursively traverses nested object trees commonly found in Copilot tool results,
|
|
166
|
+
* extracting all text values from nodes. Handles multiple text source patterns:
|
|
167
|
+
* 1. Direct text property on nodes
|
|
168
|
+
* 2. String values in value property
|
|
169
|
+
* 3. Nested structures in children array
|
|
170
|
+
* 4. Nested structures in node property
|
|
171
|
+
* Returns concatenated text from all found sources, trimmed.
|
|
172
|
+
*
|
|
173
|
+
* @param obj - Nested object structure to traverse (may be object, array, or primitive)
|
|
174
|
+
* @returns Concatenated text content extracted from all nested text sources
|
|
175
|
+
*/
|
|
176
|
+
private extractTextFromNestedObject;
|
|
177
|
+
/**
|
|
178
|
+
* Extract human-readable text content from Copilot tool result objects
|
|
179
|
+
*
|
|
180
|
+
* Handles multiple result format patterns commonly returned by Copilot tools:
|
|
181
|
+
* 1. Array-based content: Simple string extraction from value properties (e.g., run_in_terminal)
|
|
182
|
+
* 2. Array-based content: Fallback to nested object extraction (e.g., copilot_readFile)
|
|
183
|
+
* 3. Object-based content: Traverses nested structures for text values
|
|
184
|
+
* Prefers simple extraction if content found, falls back to complex nested traversal.
|
|
185
|
+
* Used to extract readable output from tool invocation results.
|
|
186
|
+
*
|
|
187
|
+
* @param result - Tool result object with content property (array, object, or nested structure)
|
|
188
|
+
* @returns Extracted text content from the result, empty string if no content found
|
|
189
|
+
*/
|
|
190
|
+
private extractToolResultContent;
|
|
191
|
+
/**
|
|
192
|
+
* Extract workspace path from Copilot session data structures
|
|
193
|
+
*
|
|
194
|
+
* Recursively searches through all properties and nested objects in a Copilot session
|
|
195
|
+
* to find workspace paths. Looks for baseUri.path patterns which contain absolute paths
|
|
196
|
+
* starting with '/'. Returns the first valid path found. Uses a seenPaths set internally
|
|
197
|
+
* to avoid returning duplicate paths if multiple workspace paths exist.
|
|
198
|
+
*
|
|
199
|
+
* @param copilotSession - Copilot session object containing nested data structures with baseUri patterns
|
|
200
|
+
* @returns First valid workspace path found (absolute path starting with '/'), or null if not found
|
|
201
|
+
*/
|
|
202
|
+
private extractWorkspacePathFromCopilot;
|
|
203
|
+
/**
|
|
204
|
+
* Validate if a Copilot session file contains valid session data
|
|
205
|
+
*
|
|
206
|
+
* Reads and parses a JSON file, checking if it contains a non-empty requests array.
|
|
207
|
+
* A session is considered valid if requests field exists and contains at least one request.
|
|
208
|
+
* Used during workspace analysis to identify which session files have meaningful data.
|
|
209
|
+
* Returns false silently if file cannot be read or parsed.
|
|
210
|
+
*
|
|
211
|
+
* @param filePath - Absolute path to JSON session file
|
|
212
|
+
* @returns Promise resolving to true if file contains valid requests, false otherwise
|
|
213
|
+
*/
|
|
214
|
+
private isValidCopilotSession;
|
|
215
|
+
/**
|
|
216
|
+
* Normalize workspace paths from Copilot session to standard array format
|
|
217
|
+
*
|
|
218
|
+
* Ensures workspace paths are always returned as a string array. Handles multiple input formats:
|
|
219
|
+
* 1. Already-array workspace paths (monorepo with multiple paths)
|
|
220
|
+
* 2. String workspace paths (single workspace)
|
|
221
|
+
* 3. Extracted workspace paths via deep extraction if not found in top-level workspacePath property
|
|
222
|
+
* Returns empty array if no workspace paths found. Provides fallback extraction mechanism for
|
|
223
|
+
* complex Copilot session structures where workspace info is nested.
|
|
224
|
+
*
|
|
225
|
+
* @param copilotSession - Copilot session object which may have workspacePath property or nested paths
|
|
226
|
+
* @returns Array of workspace paths (may be empty if no paths found)
|
|
227
|
+
*/
|
|
228
|
+
private normalizeWorkspacePaths;
|
|
229
|
+
/**
|
|
230
|
+
* Split all messages in a session that have multiple content blocks
|
|
231
|
+
*
|
|
232
|
+
* Copilot assistant messages often contain multiple content blocks (thinking + tool_use)
|
|
233
|
+
* in a single message. This function splits such messages into separate messages, one per
|
|
234
|
+
* content block, to create a cleaner, more normalized message sequence.
|
|
235
|
+
*
|
|
236
|
+
* Processing logic:
|
|
237
|
+
* - User messages: Preserved as-is (no splitting)
|
|
238
|
+
* - Assistant messages with single content block: Preserved as-is
|
|
239
|
+
* - Assistant messages with multiple content blocks: Split into separate messages,
|
|
240
|
+
* one per content block, each with the same timestamp
|
|
241
|
+
*
|
|
242
|
+
* After splitting, recalculates turn_id for all messages to maintain proper sequential
|
|
243
|
+
* numbering (1, 2, 3, ...). This ensures the message sequence remains valid after the
|
|
244
|
+
* splitting transformation.
|
|
245
|
+
*
|
|
246
|
+
* @param session - Copilot session object with messages array to be split
|
|
247
|
+
* @returns New session object with split messages and recalculated turn_ids
|
|
248
|
+
*/
|
|
249
|
+
private splitAllCopilotContent;
|
|
250
|
+
/**
|
|
251
|
+
* Transform Copilot session to match Claude format
|
|
252
|
+
* Uses the requests array which contains detailed conversation structure
|
|
253
|
+
*/
|
|
254
|
+
private transformCopilotToClaudeFormat;
|
|
255
|
+
}
|