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
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codex Raw Service
|
|
3
|
+
* Consolidates CodexParser + CodexRawParser
|
|
4
|
+
* Parses JSONL transcript files from ~/.codex/sessions/
|
|
5
|
+
*/
|
|
6
|
+
import { Agent } from '../../../core/domain/entities/agent.js';
|
|
7
|
+
import { IRawParserService } from '../../../core/interfaces/parser/i-raw-parser-service.js';
|
|
8
|
+
/**
|
|
9
|
+
* Codex Raw Service
|
|
10
|
+
* Handles extraction of Codex sessions from JSONL transcript files
|
|
11
|
+
*/
|
|
12
|
+
export declare class CodexRawService implements IRawParserService {
|
|
13
|
+
private ide;
|
|
14
|
+
/**
|
|
15
|
+
* Initialize Codex Raw Service
|
|
16
|
+
*
|
|
17
|
+
* @param ide - The IDE type (Codex)
|
|
18
|
+
*/
|
|
19
|
+
constructor(ide: Agent);
|
|
20
|
+
/**
|
|
21
|
+
* Main entry point - Parse Codex sessions from a custom directory
|
|
22
|
+
*
|
|
23
|
+
* Parses all JSONL transcript files from a Codex sessions directory,
|
|
24
|
+
* extracts session information, and writes normalized JSON files to output directory.
|
|
25
|
+
* Organizes output by date (YYYY-MM-DD) matching Codex's original directory structure.
|
|
26
|
+
* Returns success status.
|
|
27
|
+
*
|
|
28
|
+
* @param customDir - Path to directory containing Codex session files
|
|
29
|
+
* @param outputDir - Optional output directory (defaults to process.cwd()/.brv/logs/{ide}/raw)
|
|
30
|
+
* @returns Promise resolving to true if parsing succeeded, false otherwise
|
|
31
|
+
*/
|
|
32
|
+
parse(customDir: string, outputDir?: string): Promise<boolean>;
|
|
33
|
+
/**
|
|
34
|
+
* Build token usage object with optional cache tokens
|
|
35
|
+
*
|
|
36
|
+
* Constructs a token usage metrics object, including cache tokens only if they're
|
|
37
|
+
* greater than zero. Calculates total tokens as sum of input and output.
|
|
38
|
+
*
|
|
39
|
+
* @param cacheTokens - Number of cached input tokens
|
|
40
|
+
* @param inputTokens - Number of input tokens used
|
|
41
|
+
* @param outputTokens - Number of output tokens generated
|
|
42
|
+
* @returns Token usage object with optional cacheTokens and calculated total
|
|
43
|
+
*/
|
|
44
|
+
private buildTokenUsageObject;
|
|
45
|
+
/**
|
|
46
|
+
* Calculate aggregate session metadata from transcript entries
|
|
47
|
+
*
|
|
48
|
+
* Aggregates token usage, counts message types, extracts timestamps and workspace information.
|
|
49
|
+
* Returns comprehensive metadata including token costs, message counts, duration, and session details.
|
|
50
|
+
*
|
|
51
|
+
* @param entries - Array of transcript entries from JSONL file
|
|
52
|
+
* @param messages - Parsed messages array (for count verification)
|
|
53
|
+
* @param logPath - Log file path (used to extract workspace information)
|
|
54
|
+
* @param sessionMeta - Extracted session metadata (may be null)
|
|
55
|
+
* @returns RawCodexSessionMetadata object with aggregated statistics
|
|
56
|
+
*/
|
|
57
|
+
private calculateMetadata;
|
|
58
|
+
/**
|
|
59
|
+
* Calculate total token usage from transcript entries
|
|
60
|
+
*
|
|
61
|
+
* Aggregates token counts from all token_count event messages in the transcript.
|
|
62
|
+
* Includes input tokens, output tokens, and cached input tokens.
|
|
63
|
+
*
|
|
64
|
+
* @param entries - Array of transcript entries to analyze
|
|
65
|
+
* @returns Object with aggregated cacheTokens, inputTokens, and outputTokens
|
|
66
|
+
*/
|
|
67
|
+
private calculateTokenUsage;
|
|
68
|
+
/**
|
|
69
|
+
* Convert Codex content block to normalized content block
|
|
70
|
+
*
|
|
71
|
+
* Transforms a Codex-specific content block into a standardized ContentBlock format.
|
|
72
|
+
* Handles tool_use blocks (preserves id, input, name) and text blocks (normalizes types).
|
|
73
|
+
* Converts input_text type to text type for consistency.
|
|
74
|
+
*
|
|
75
|
+
* @param block - Codex content block to convert
|
|
76
|
+
* @returns Normalized ContentBlock object
|
|
77
|
+
*/
|
|
78
|
+
private convertCodexContentBlockToContentBlock;
|
|
79
|
+
/**
|
|
80
|
+
* Convert Codex transcript entries to normalized messages
|
|
81
|
+
*
|
|
82
|
+
* Transforms raw JSONL transcript entries (messages, function calls, reasoning, token counts) into
|
|
83
|
+
* standardized RawCodexRawMessage objects. Tracks token usage and reasoning context across entries,
|
|
84
|
+
* maintaining order and relationships between tool calls and responses.
|
|
85
|
+
*
|
|
86
|
+
* @param entries - Array of transcript entries from JSONL file
|
|
87
|
+
* @returns Array of normalized RawCodexRawMessage objects
|
|
88
|
+
*/
|
|
89
|
+
private convertToMessages;
|
|
90
|
+
/**
|
|
91
|
+
* Convert transcript entry to raw entry format
|
|
92
|
+
*
|
|
93
|
+
* Transforms a transcript entry into the raw entry storage format, filtering entries without payloads
|
|
94
|
+
* and converting ISO timestamp strings to millisecond timestamps. Validates entry types and applies
|
|
95
|
+
* fallback type for invalid entries.
|
|
96
|
+
*
|
|
97
|
+
* @param entry - Transcript entry to convert
|
|
98
|
+
* @returns Converted RawCodexRawEntry object, or null if entry has no payload
|
|
99
|
+
*/
|
|
100
|
+
private convertTranscriptEntryToRawEntry;
|
|
101
|
+
/**
|
|
102
|
+
* Count user and assistant messages in a message array
|
|
103
|
+
*
|
|
104
|
+
* Iterates through messages and counts the total number of user and assistant messages.
|
|
105
|
+
* Used for metadata tracking and session statistics.
|
|
106
|
+
*
|
|
107
|
+
* @param messages - Array of messages to count
|
|
108
|
+
* @returns Object with assistantCount and userCount totals
|
|
109
|
+
*/
|
|
110
|
+
private countMessageTypes;
|
|
111
|
+
/**
|
|
112
|
+
* Extract and normalize content blocks from message content
|
|
113
|
+
*
|
|
114
|
+
* Handles multiple content formats: null/undefined (empty array), strings (wrapped as text block),
|
|
115
|
+
* arrays of blocks/strings (normalized to RawCodexContentBlock array), and objects.
|
|
116
|
+
* Produces consistent RawCodexContentBlock array output for consistent processing.
|
|
117
|
+
*
|
|
118
|
+
* @param content - Raw message content in various formats
|
|
119
|
+
* @returns Array of normalized RawCodexContentBlock objects
|
|
120
|
+
*/
|
|
121
|
+
private extractContentBlocks;
|
|
122
|
+
/**
|
|
123
|
+
* Extract session ID from Codex log file path
|
|
124
|
+
*
|
|
125
|
+
* Parses the filename from the log path to extract the session ID.
|
|
126
|
+
* Codex session IDs are typically UUIDs in the JSONL filename.
|
|
127
|
+
* Removes the .jsonl extension to get the session ID.
|
|
128
|
+
*
|
|
129
|
+
* @param logPath - Path to Codex session log file
|
|
130
|
+
* @returns Session ID extracted from the filename
|
|
131
|
+
*/
|
|
132
|
+
private extractSessionId;
|
|
133
|
+
/**
|
|
134
|
+
* Extract session metadata from transcript entries
|
|
135
|
+
*
|
|
136
|
+
* Searches transcript entries for session_meta type entries and validates them.
|
|
137
|
+
* Returns the session metadata payload (containing model, CLI version, timestamp, git info).
|
|
138
|
+
* Returns null if no valid session metadata is found.
|
|
139
|
+
*
|
|
140
|
+
* @param entries - Array of transcript entries to search
|
|
141
|
+
* @returns Extracted RawCodexSessionMeta payload, or null if not found
|
|
142
|
+
*/
|
|
143
|
+
private extractSessionMeta;
|
|
144
|
+
/**
|
|
145
|
+
* Extract session start and end timestamps
|
|
146
|
+
*
|
|
147
|
+
* Collects timestamps from transcript entries, filters empty values, sorts chronologically.
|
|
148
|
+
* Prefers session metadata timestamp for start time if available, otherwise uses first entry timestamp.
|
|
149
|
+
* Returns last timestamp as end time, or undefined if only one timestamp exists.
|
|
150
|
+
*
|
|
151
|
+
* @param entries - Array of transcript entries with optional timestamp fields
|
|
152
|
+
* @param sessionMeta - Optional session metadata containing preferred start timestamp
|
|
153
|
+
* @returns Object with startedAt and optional endedAt ISO timestamp strings
|
|
154
|
+
*/
|
|
155
|
+
private extractTimestamps;
|
|
156
|
+
/**
|
|
157
|
+
* Extract session title from first user message
|
|
158
|
+
*
|
|
159
|
+
* Uses the first line of the first user message as the session title.
|
|
160
|
+
* Handles both string and array content formats, extracting text blocks from arrays.
|
|
161
|
+
* Truncates to TITLE_MAX_LENGTH (100 chars) and appends "..." if truncated.
|
|
162
|
+
* Returns default title if no user messages found or first message is empty.
|
|
163
|
+
*
|
|
164
|
+
* @param messages - Array of parsed session messages
|
|
165
|
+
* @returns Session title string (max 100 characters)
|
|
166
|
+
*/
|
|
167
|
+
private extractTitle;
|
|
168
|
+
/**
|
|
169
|
+
* Extract workspace information from session metadata and log path
|
|
170
|
+
*
|
|
171
|
+
* Extracts workspace path and repository information from session metadata (preferred)
|
|
172
|
+
* or falls back to log path if metadata is unavailable. Includes repository name and
|
|
173
|
+
* optional git URL if available in session metadata.
|
|
174
|
+
*
|
|
175
|
+
* @param logPath - Codex session log file path (used as fallback)
|
|
176
|
+
* @param sessionMeta - Optional session metadata containing workspace and git info
|
|
177
|
+
* @returns Object with workspace path and optional repository name/url
|
|
178
|
+
*/
|
|
179
|
+
private extractWorkspace;
|
|
180
|
+
/**
|
|
181
|
+
* Type guard for event payload
|
|
182
|
+
*
|
|
183
|
+
* Checks if a payload is a valid RawCodexEventPayload by verifying it's an object
|
|
184
|
+
* with a type field matching token_count or agent_reasoning event types.
|
|
185
|
+
*
|
|
186
|
+
* @param payload - Value to check
|
|
187
|
+
* @returns True if payload is a valid RawCodexEventPayload, false otherwise
|
|
188
|
+
*/
|
|
189
|
+
private isEventPayload;
|
|
190
|
+
/**
|
|
191
|
+
* Type guard for response payload
|
|
192
|
+
*
|
|
193
|
+
* Checks if a payload is a valid RawCodexResponsePayload by verifying it's an object
|
|
194
|
+
* with a type field matching one of: function_call, function_call_output, message, or reasoning.
|
|
195
|
+
*
|
|
196
|
+
* @param payload - Value to check
|
|
197
|
+
* @returns True if payload is a valid RawCodexResponsePayload, false otherwise
|
|
198
|
+
*/
|
|
199
|
+
private isResponsePayload;
|
|
200
|
+
/**
|
|
201
|
+
* Type guard for session meta payload
|
|
202
|
+
*
|
|
203
|
+
* Checks if a payload is a valid RawCodexSessionMetaPayload by verifying it's an object
|
|
204
|
+
* containing at least one of: model_provider, cli_version, or timestamp fields.
|
|
205
|
+
*
|
|
206
|
+
* @param payload - Value to check
|
|
207
|
+
* @returns True if payload is a valid RawCodexSessionMetaPayload, false otherwise
|
|
208
|
+
*/
|
|
209
|
+
private isSessionMetaPayload;
|
|
210
|
+
/**
|
|
211
|
+
* Check if entry is a token count event
|
|
212
|
+
*
|
|
213
|
+
* Validates that an entry is an event_msg type with an event payload of type 'token_count'
|
|
214
|
+
* and contains token usage information (info field).
|
|
215
|
+
*
|
|
216
|
+
* @param entry - Transcript entry to check
|
|
217
|
+
* @returns True if entry is a valid token count event, false otherwise
|
|
218
|
+
*/
|
|
219
|
+
private isTokenCountEntry;
|
|
220
|
+
/**
|
|
221
|
+
* Parse all Codex session logs in a directory
|
|
222
|
+
*
|
|
223
|
+
* Finds all JSONL files in the directory (including subdirectories), parses them in sequence,
|
|
224
|
+
* and returns array of successfully parsed sessions sorted by start time.
|
|
225
|
+
* Collects and reports any parse errors without failing completely.
|
|
226
|
+
*
|
|
227
|
+
* @param dirPath - Path to directory containing JSONL session files
|
|
228
|
+
* @returns Promise resolving to array of parsed RawCodexRawSession objects
|
|
229
|
+
* @throws Error if directory cannot be read
|
|
230
|
+
*/
|
|
231
|
+
private parseSessionDirectory;
|
|
232
|
+
/**
|
|
233
|
+
* Parse a single Codex session log file
|
|
234
|
+
*
|
|
235
|
+
* Validates log file format, reads JSONL content, parses each line as a transcript entry,
|
|
236
|
+
* converts entries to messages, extracts session metadata, calculates aggregated statistics,
|
|
237
|
+
* and extracts session title. Handles token usage, function calls, and reasoning payloads.
|
|
238
|
+
*
|
|
239
|
+
* @param logPath - Absolute path to Codex session JSONL file
|
|
240
|
+
* @returns Promise resolving to parsed RawCodexRawSession object
|
|
241
|
+
* @throws Error if file is invalid or cannot be parsed
|
|
242
|
+
*/
|
|
243
|
+
private parseSessionLog;
|
|
244
|
+
/**
|
|
245
|
+
* Process function call payload and add to last message
|
|
246
|
+
*
|
|
247
|
+
* Extracts function call information from a function_call payload and appends it as a tool_use
|
|
248
|
+
* content block to the last message. Converts string arguments to parsed objects.
|
|
249
|
+
* If last message content is a string, converts it to an array before adding tool block.
|
|
250
|
+
*
|
|
251
|
+
* @param payload - Function call payload containing name, arguments, and call ID
|
|
252
|
+
* @param messages - Messages array to update (modifies last message in place)
|
|
253
|
+
*/
|
|
254
|
+
private processFunctionCall;
|
|
255
|
+
/**
|
|
256
|
+
* Process function call output and attach to corresponding tool use block
|
|
257
|
+
*
|
|
258
|
+
* Finds the most recent tool_use block in the last message and appends the function output to it.
|
|
259
|
+
* The output field contains the result of the function call execution.
|
|
260
|
+
*
|
|
261
|
+
* @param payload - Function call output payload containing output data
|
|
262
|
+
* @param messages - Messages array to update (modifies last message in place)
|
|
263
|
+
*/
|
|
264
|
+
private processFunctionCallOutput;
|
|
265
|
+
/**
|
|
266
|
+
* Process message payload and add to messages array
|
|
267
|
+
*
|
|
268
|
+
* Converts a message payload into a normalized RawCodexRawMessage and appends to messages array.
|
|
269
|
+
* Handles content block conversion, attaches token usage and reasoning context if available.
|
|
270
|
+
* Collapses single text blocks to strings for backward compatibility.
|
|
271
|
+
*
|
|
272
|
+
* @param payload - Message payload containing role and content
|
|
273
|
+
* @param messages - Messages array to update (appends new message)
|
|
274
|
+
* @param timestamp - ISO timestamp for the message
|
|
275
|
+
* @param currentTokenUsage - Optional token usage metrics to attach to message
|
|
276
|
+
* @param currentReasoning - Optional reasoning content to attach to message
|
|
277
|
+
*/
|
|
278
|
+
private processMessage;
|
|
279
|
+
/**
|
|
280
|
+
* Process reasoning payload and extract reasoning text summary
|
|
281
|
+
*
|
|
282
|
+
* Extracts reasoning content from a reasoning payload by filtering summary items of type 'summary_text'
|
|
283
|
+
* and joining their text content. Returns null if no valid reasoning content is found.
|
|
284
|
+
*
|
|
285
|
+
* @param payload - Reasoning payload containing summary array
|
|
286
|
+
* @returns Extracted reasoning text or null if no valid content found
|
|
287
|
+
*/
|
|
288
|
+
private processReasoningPayload;
|
|
289
|
+
/**
|
|
290
|
+
* Safely parse JSON string or return object as-is
|
|
291
|
+
*
|
|
292
|
+
* Attempts to parse a JSON string. If input is already an object, returns it directly.
|
|
293
|
+
* Returns empty object on parse errors or non-string/object inputs.
|
|
294
|
+
* Used for defensive parsing of tool call arguments.
|
|
295
|
+
*
|
|
296
|
+
* @param jsonString - String to parse or object to validate
|
|
297
|
+
* @returns Parsed object or empty object if parsing fails
|
|
298
|
+
*/
|
|
299
|
+
private safeJsonParse;
|
|
300
|
+
/**
|
|
301
|
+
* Validate Codex log file format and existence
|
|
302
|
+
*
|
|
303
|
+
* Checks three validation criteria:
|
|
304
|
+
* 1. Path contains /.codex/sessions/ directory marker
|
|
305
|
+
* 2. File has .jsonl extension
|
|
306
|
+
* 3. File exists on filesystem
|
|
307
|
+
* Returns false silently if any check fails.
|
|
308
|
+
*
|
|
309
|
+
* @param logPath - Path to file to validate
|
|
310
|
+
* @returns Promise resolving to true if file is valid Codex log file, false otherwise
|
|
311
|
+
*/
|
|
312
|
+
private validateLogFile;
|
|
313
|
+
}
|