byterover-cli 1.7.2 → 2.0.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 +65 -551
- package/bin/kill-daemon.js +78 -0
- package/bin/run.js +2 -2
- package/dist/agent/core/domain/blob/types.d.ts +8 -2
- package/dist/agent/core/domain/llm/index.d.ts +1 -1
- package/dist/agent/core/domain/llm/index.js +1 -1
- package/dist/agent/core/domain/llm/registry.js +353 -14
- package/dist/agent/core/domain/llm/schemas.d.ts +13 -13
- package/dist/agent/core/domain/llm/schemas.js +3 -3
- package/dist/agent/core/domain/llm/types.d.ts +15 -5
- package/dist/agent/core/domain/llm/types.js +8 -2
- package/dist/agent/core/domain/sandbox/types.d.ts +6 -0
- package/dist/agent/core/domain/session/session-metadata.d.ts +7 -2
- package/dist/agent/core/domain/session/session-metadata.js +14 -4
- package/dist/agent/core/domain/streaming/types.d.ts +2 -0
- package/dist/agent/core/domain/tools/constants.d.ts +0 -15
- package/dist/agent/core/domain/tools/constants.js +0 -15
- package/dist/agent/core/domain/tools/types.d.ts +2 -0
- package/dist/agent/core/interfaces/i-chat-session.d.ts +1 -1
- package/dist/agent/core/interfaces/i-cipher-agent.d.ts +68 -0
- package/dist/agent/core/interfaces/i-curate-service.d.ts +34 -7
- package/dist/agent/core/interfaces/i-history-storage.d.ts +8 -0
- package/dist/agent/core/interfaces/i-key-storage.d.ts +11 -0
- package/dist/agent/core/interfaces/i-llm-service.d.ts +1 -1
- package/dist/agent/core/interfaces/i-sandbox-service.d.ts +26 -0
- package/dist/agent/core/interfaces/i-session-persistence.d.ts +3 -36
- package/dist/agent/core/interfaces/i-session-persistence.js +1 -1
- package/dist/agent/infra/agent/agent-schemas.d.ts +26 -5
- package/dist/agent/infra/agent/agent-schemas.js +10 -3
- package/dist/agent/infra/agent/cipher-agent.d.ts +87 -2
- package/dist/agent/infra/agent/cipher-agent.js +191 -16
- package/dist/agent/infra/agent/interactive-loop.js +1 -5
- package/dist/agent/infra/agent/provider-update-config.d.ts +19 -0
- package/dist/agent/infra/agent/service-initializer.d.ts +27 -6
- package/dist/agent/infra/agent/service-initializer.js +46 -60
- package/dist/agent/infra/blob/blob-storage-factory.d.ts +1 -1
- package/dist/agent/infra/blob/blob-storage-factory.js +1 -1
- package/dist/agent/infra/blob/sqlite-blob-storage.js +8 -5
- package/dist/agent/infra/file-system/file-system-service.js +6 -3
- package/dist/agent/infra/http/internal-llm-http-service.d.ts +9 -5
- package/dist/agent/infra/http/internal-llm-http-service.js +12 -7
- package/dist/agent/infra/llm/agent-llm-service.d.ts +420 -0
- package/dist/agent/infra/llm/agent-llm-service.js +1291 -0
- package/dist/agent/infra/llm/context/compaction/compaction-service.d.ts +14 -12
- package/dist/agent/infra/llm/context/compaction/compaction-service.js +26 -9
- package/dist/agent/infra/llm/context/compression/reactive-overflow.js +12 -3
- package/dist/agent/infra/llm/context/context-manager.d.ts +44 -3
- package/dist/agent/infra/llm/context/context-manager.js +203 -98
- package/dist/agent/infra/llm/context/deferred-effects.d.ts +30 -0
- package/dist/agent/infra/llm/context/deferred-effects.js +40 -0
- package/dist/agent/infra/llm/formatters/gemini-formatter.d.ts +1 -1
- package/dist/agent/infra/llm/formatters/gemini-formatter.js +14 -10
- package/dist/agent/infra/llm/generators/ai-sdk-content-generator.d.ts +33 -0
- package/dist/agent/infra/llm/generators/ai-sdk-content-generator.js +166 -0
- package/dist/agent/infra/llm/generators/ai-sdk-message-converter.d.ts +20 -0
- package/dist/agent/infra/llm/generators/ai-sdk-message-converter.js +182 -0
- package/dist/agent/infra/llm/generators/index.d.ts +3 -3
- package/dist/agent/infra/llm/generators/index.js +3 -3
- package/dist/agent/infra/llm/generators/retryable-content-generator.d.ts +7 -0
- package/dist/agent/infra/llm/generators/retryable-content-generator.js +29 -5
- package/dist/agent/infra/llm/index.d.ts +1 -2
- package/dist/agent/infra/llm/index.js +2 -3
- package/dist/agent/infra/llm/model-capabilities.d.ts +1 -0
- package/dist/agent/infra/llm/model-capabilities.js +31 -0
- package/dist/agent/infra/llm/providers/anthropic.d.ts +7 -0
- package/dist/agent/infra/llm/providers/anthropic.js +27 -0
- package/dist/agent/infra/llm/providers/byterover.d.ts +9 -0
- package/dist/agent/infra/llm/providers/byterover.js +37 -0
- package/dist/agent/infra/llm/providers/cerebras.d.ts +7 -0
- package/dist/agent/infra/llm/providers/cerebras.js +31 -0
- package/dist/agent/infra/llm/providers/cohere.d.ts +7 -0
- package/dist/agent/infra/llm/providers/cohere.js +26 -0
- package/dist/agent/infra/llm/providers/deepinfra.d.ts +7 -0
- package/dist/agent/infra/llm/providers/deepinfra.js +26 -0
- package/dist/agent/infra/llm/providers/glm.d.ts +7 -0
- package/dist/agent/infra/llm/providers/glm.js +30 -0
- package/dist/agent/infra/llm/providers/google-vertex.d.ts +15 -0
- package/dist/agent/infra/llm/providers/google-vertex.js +36 -0
- package/dist/agent/infra/llm/providers/google.d.ts +7 -0
- package/dist/agent/infra/llm/providers/google.js +25 -0
- package/dist/agent/infra/llm/providers/groq.d.ts +7 -0
- package/dist/agent/infra/llm/providers/groq.js +26 -0
- package/dist/agent/infra/llm/providers/index.d.ts +24 -0
- package/dist/agent/infra/llm/providers/index.js +75 -0
- package/dist/agent/infra/llm/providers/minimax.d.ts +7 -0
- package/dist/agent/infra/llm/providers/minimax.js +30 -0
- package/dist/agent/infra/llm/providers/mistral.d.ts +7 -0
- package/dist/agent/infra/llm/providers/mistral.js +26 -0
- package/dist/agent/infra/llm/providers/moonshot.d.ts +7 -0
- package/dist/agent/infra/llm/providers/moonshot.js +30 -0
- package/dist/agent/infra/llm/providers/openai-compatible.d.ts +9 -0
- package/dist/agent/infra/llm/providers/openai-compatible.js +30 -0
- package/dist/agent/infra/llm/providers/openai.d.ts +7 -0
- package/dist/agent/infra/llm/providers/openai.js +26 -0
- package/dist/agent/infra/llm/providers/openrouter.d.ts +7 -0
- package/dist/agent/infra/llm/providers/openrouter.js +26 -0
- package/dist/agent/infra/llm/providers/perplexity.d.ts +7 -0
- package/dist/agent/infra/llm/providers/perplexity.js +26 -0
- package/dist/agent/infra/llm/providers/togetherai.d.ts +7 -0
- package/dist/agent/infra/llm/providers/togetherai.js +26 -0
- package/dist/agent/infra/llm/providers/types.d.ts +81 -0
- package/dist/agent/infra/llm/providers/types.js +7 -0
- package/dist/agent/infra/llm/providers/vercel.d.ts +7 -0
- package/dist/agent/infra/llm/providers/vercel.js +32 -0
- package/dist/agent/infra/llm/providers/xai.d.ts +7 -0
- package/dist/agent/infra/llm/providers/xai.js +26 -0
- package/dist/agent/infra/llm/retry/retry-policy.d.ts +13 -0
- package/dist/agent/infra/llm/retry/retry-policy.js +207 -0
- package/dist/agent/infra/llm/tokenizers/openrouter-tokenizer.js +1 -1
- package/dist/agent/infra/llm/tool-output-processor.d.ts +16 -4
- package/dist/agent/infra/llm/tool-output-processor.js +61 -16
- package/dist/agent/infra/sandbox/curate-result-collector.d.ts +30 -0
- package/dist/agent/infra/sandbox/curate-result-collector.js +39 -0
- package/dist/agent/infra/sandbox/curate-service.d.ts +4 -1
- package/dist/agent/infra/sandbox/curate-service.js +12 -3
- package/dist/agent/infra/sandbox/local-sandbox.d.ts +13 -0
- package/dist/agent/infra/sandbox/local-sandbox.js +41 -4
- package/dist/agent/infra/sandbox/sandbox-service.d.ts +40 -5
- package/dist/agent/infra/sandbox/sandbox-service.js +97 -14
- package/dist/agent/infra/sandbox/tools-sdk.d.ts +42 -4
- package/dist/agent/infra/sandbox/tools-sdk.js +29 -4
- package/dist/agent/infra/session/chat-session.d.ts +1 -1
- package/dist/agent/infra/session/chat-session.js +2 -2
- package/dist/agent/infra/session/session-event-forwarder.js +6 -3
- package/dist/agent/infra/session/session-manager.d.ts +12 -2
- package/dist/agent/infra/session/session-manager.js +25 -8
- package/dist/agent/infra/session/session-metadata-store.d.ts +17 -10
- package/dist/agent/infra/session/session-metadata-store.js +12 -87
- package/dist/agent/infra/storage/blob-history-storage.d.ts +5 -0
- package/dist/agent/infra/storage/blob-history-storage.js +15 -0
- package/dist/agent/infra/storage/dual-format-history-storage.d.ts +6 -0
- package/dist/agent/infra/storage/dual-format-history-storage.js +16 -0
- package/dist/agent/infra/storage/message-storage-service.js +134 -22
- package/dist/agent/infra/storage/sqlite-key-storage.d.ts +8 -0
- package/dist/agent/infra/storage/sqlite-key-storage.js +47 -13
- package/dist/agent/infra/system-prompt/contributors/context-tree-structure-contributor.js +3 -3
- package/dist/agent/infra/tools/implementations/code-exec-tool.js +43 -2
- package/dist/agent/infra/tools/implementations/curate-tool.d.ts +221 -22
- package/dist/agent/infra/tools/implementations/curate-tool.js +100 -23
- package/dist/agent/infra/tools/implementations/memory-path-matcher.d.ts +48 -0
- package/dist/agent/infra/tools/implementations/memory-path-matcher.js +217 -0
- package/dist/agent/infra/tools/implementations/memory-symbol-tree.d.ts +101 -0
- package/dist/agent/infra/tools/implementations/memory-symbol-tree.js +259 -0
- package/dist/agent/infra/tools/implementations/search-knowledge-service.d.ts +48 -6
- package/dist/agent/infra/tools/implementations/search-knowledge-service.js +394 -41
- package/dist/agent/infra/tools/implementations/search-knowledge-tool.d.ts +2 -1
- package/dist/agent/infra/tools/implementations/search-knowledge-tool.js +50 -6
- package/dist/agent/infra/tools/index.d.ts +0 -4
- package/dist/agent/infra/tools/index.js +0 -4
- package/dist/agent/infra/tools/tool-registry.js +2 -115
- package/dist/agent/infra/transport/transport-event-bridge.d.ts +42 -0
- package/dist/agent/infra/transport/transport-event-bridge.js +90 -0
- package/dist/agent/infra/validation/workspace-validator.d.ts +3 -3
- package/dist/agent/infra/validation/workspace-validator.js +3 -8
- package/dist/agent/resources/prompts/curate-detail-preservation.yml +101 -0
- package/dist/agent/resources/prompts/system-prompt.yml +404 -94
- package/dist/agent/resources/tools/code_exec.txt +97 -0
- package/dist/agent/resources/tools/curate.txt +25 -13
- package/dist/agent/resources/tools/detect_domains.txt +4 -3
- package/dist/oclif/commands/connectors/index.d.ts +12 -0
- package/dist/oclif/commands/connectors/index.js +53 -0
- package/dist/oclif/commands/connectors/install.d.ts +31 -0
- package/dist/oclif/commands/connectors/install.js +148 -0
- package/dist/oclif/commands/connectors/list.d.ts +5 -0
- package/dist/oclif/commands/connectors/list.js +8 -0
- package/dist/oclif/commands/curate/index.d.ts +25 -0
- package/dist/oclif/commands/curate/index.js +256 -0
- package/dist/oclif/commands/curate/view.d.ts +18 -0
- package/dist/oclif/commands/curate/view.js +104 -0
- package/dist/oclif/commands/debug.d.ts +35 -0
- package/dist/oclif/commands/debug.js +436 -0
- package/dist/oclif/commands/hub/index.d.ts +5 -0
- package/dist/oclif/commands/hub/index.js +7 -0
- package/dist/oclif/commands/hub/install.d.ts +23 -0
- package/dist/oclif/commands/hub/install.js +74 -0
- package/dist/oclif/commands/hub/list.d.ts +13 -0
- package/dist/oclif/commands/hub/list.js +65 -0
- package/dist/oclif/commands/hub/registry/add.d.ts +19 -0
- package/dist/oclif/commands/hub/registry/add.js +74 -0
- package/dist/oclif/commands/hub/registry/index.d.ts +5 -0
- package/dist/oclif/commands/hub/registry/index.js +7 -0
- package/dist/oclif/commands/hub/registry/list.d.ts +12 -0
- package/dist/oclif/commands/hub/registry/list.js +49 -0
- package/dist/oclif/commands/hub/registry/remove.d.ts +15 -0
- package/dist/oclif/commands/hub/registry/remove.js +46 -0
- package/dist/oclif/commands/login.d.ts +4 -0
- package/dist/oclif/commands/login.js +51 -31
- package/dist/oclif/commands/main.d.ts +3 -17
- package/dist/oclif/commands/main.js +15 -96
- package/dist/oclif/commands/mcp.js +24 -5
- package/dist/oclif/commands/model/index.d.ts +15 -0
- package/dist/oclif/commands/model/index.js +59 -0
- package/dist/oclif/commands/model/list.d.ts +17 -0
- package/dist/oclif/commands/model/list.js +89 -0
- package/dist/oclif/commands/model/switch.d.ts +21 -0
- package/dist/oclif/commands/model/switch.js +81 -0
- package/dist/oclif/commands/providers/connect.d.ts +28 -0
- package/dist/oclif/commands/providers/connect.js +141 -0
- package/dist/oclif/commands/providers/disconnect.d.ts +14 -0
- package/dist/oclif/commands/providers/disconnect.js +61 -0
- package/dist/oclif/commands/providers/index.d.ts +15 -0
- package/dist/oclif/commands/providers/index.js +59 -0
- package/dist/oclif/commands/providers/list.d.ts +12 -0
- package/dist/oclif/commands/providers/list.js +45 -0
- package/dist/oclif/commands/providers/switch.d.ts +17 -0
- package/dist/oclif/commands/providers/switch.js +61 -0
- package/dist/oclif/commands/pull.d.ts +1 -6
- package/dist/oclif/commands/pull.js +46 -49
- package/dist/oclif/commands/push.d.ts +1 -7
- package/dist/oclif/commands/push.js +66 -59
- package/dist/oclif/commands/query.d.ts +5 -7
- package/dist/oclif/commands/query.js +142 -43
- package/dist/oclif/commands/restart.d.ts +95 -0
- package/dist/oclif/commands/restart.js +333 -0
- package/dist/oclif/commands/space/list.d.ts +12 -0
- package/dist/oclif/commands/space/list.js +66 -0
- package/dist/oclif/commands/space/switch.d.ts +17 -0
- package/dist/oclif/commands/space/switch.js +87 -0
- package/dist/oclif/commands/status.d.ts +4 -9
- package/dist/oclif/commands/status.js +94 -49
- package/dist/oclif/hooks/prerun/validate-brv-config-version.d.ts +16 -11
- package/dist/oclif/hooks/prerun/validate-brv-config-version.js +67 -24
- package/dist/oclif/lib/daemon-client.d.ts +40 -0
- package/dist/oclif/lib/daemon-client.js +142 -0
- package/dist/oclif/lib/json-response.d.ts +9 -0
- package/dist/oclif/lib/json-response.js +10 -0
- package/dist/oclif/lib/task-client.d.ts +68 -0
- package/dist/oclif/lib/task-client.js +227 -0
- package/dist/server/config/environment.d.ts +1 -1
- package/dist/server/config/environment.js +2 -2
- package/dist/server/constants.d.ts +30 -1
- package/dist/server/constants.js +43 -2
- package/dist/server/core/domain/client/client-info.d.ts +82 -0
- package/dist/server/core/domain/client/client-info.js +87 -0
- package/dist/server/core/domain/entities/agent.d.ts +3 -6
- package/dist/server/core/domain/entities/agent.js +49 -54
- package/dist/server/core/domain/entities/brv-config.d.ts +31 -10
- package/dist/server/core/domain/entities/brv-config.js +68 -39
- package/dist/server/core/domain/entities/connector-type.d.ts +1 -11
- package/dist/server/core/domain/entities/connector-type.js +1 -10
- package/dist/server/core/domain/entities/context-tree-snapshot.d.ts +2 -11
- package/dist/server/core/domain/entities/curate-log-entry.d.ts +41 -0
- package/dist/server/core/domain/entities/curation-status.d.ts +28 -0
- package/dist/server/core/domain/entities/provider-config.d.ts +14 -1
- package/dist/server/core/domain/entities/provider-config.js +17 -6
- package/dist/server/core/domain/entities/provider-registry.d.ts +3 -1
- package/dist/server/core/domain/entities/provider-registry.js +230 -10
- package/dist/server/core/domain/errors/task-error.d.ts +17 -4
- package/dist/server/core/domain/errors/task-error.js +35 -10
- package/dist/server/core/domain/knowledge/markdown-writer.d.ts +71 -1
- package/dist/server/core/domain/knowledge/markdown-writer.js +403 -37
- package/dist/server/core/domain/knowledge/memory-scoring.d.ts +118 -0
- package/dist/server/core/domain/knowledge/memory-scoring.js +217 -0
- package/dist/server/core/domain/knowledge/relation-parser.d.ts +16 -0
- package/dist/server/core/domain/knowledge/relation-parser.js +21 -8
- package/dist/server/core/domain/project/project-info.d.ts +54 -0
- package/dist/server/core/domain/project/project-info.js +62 -0
- package/dist/server/core/domain/transport/schemas.d.ts +97 -19
- package/dist/server/core/domain/transport/schemas.js +40 -1
- package/dist/server/core/domain/transport/task-info.d.ts +21 -0
- package/dist/server/core/interfaces/agent/i-agent-pool.d.ts +88 -0
- package/dist/server/core/interfaces/client/i-client-manager.d.ts +117 -0
- package/dist/server/core/interfaces/context-tree/i-context-file-reader.d.ts +5 -1
- package/dist/server/core/interfaces/context-tree/i-context-tree-merger.d.ts +80 -0
- package/dist/server/core/interfaces/context-tree/i-context-tree-service.d.ts +5 -0
- package/dist/server/core/interfaces/context-tree/i-context-tree-snapshot-service.d.ts +15 -0
- package/dist/server/core/interfaces/daemon/i-agent-idle-timeout-policy.d.ts +39 -0
- package/dist/server/core/interfaces/daemon/i-daemon-resilience.d.ts +24 -0
- package/dist/server/core/interfaces/daemon/i-heartbeat-writer.d.ts +28 -0
- package/dist/server/core/interfaces/daemon/i-idle-timeout-policy.d.ts +34 -0
- package/dist/server/core/interfaces/daemon/i-shutdown-handler.d.ts +20 -0
- package/dist/server/core/interfaces/daemon/index.d.ts +4 -0
- package/dist/server/core/interfaces/daemon/index.js +2 -0
- package/dist/server/core/interfaces/executor/i-curate-executor.d.ts +2 -2
- package/dist/server/core/interfaces/executor/i-query-executor.d.ts +2 -2
- package/dist/server/core/interfaces/hub/i-hub-install-service.d.ts +45 -0
- package/dist/server/core/interfaces/hub/i-hub-keychain-store.d.ts +27 -0
- package/dist/server/core/interfaces/hub/i-hub-registry-config-store.d.ts +27 -0
- package/dist/server/core/interfaces/hub/i-hub-registry-service.d.ts +30 -0
- package/dist/server/core/interfaces/hub/i-hub-registry-service.js +1 -0
- package/dist/server/core/interfaces/i-provider-config-store.d.ts +3 -1
- package/dist/server/core/interfaces/i-provider-model-fetcher.d.ts +59 -0
- package/dist/server/core/interfaces/i-provider-model-fetcher.js +7 -0
- package/dist/server/core/interfaces/process/i-task-lifecycle-hook.d.ts +27 -0
- package/dist/server/core/interfaces/process/i-task-lifecycle-hook.js +1 -0
- package/dist/server/core/interfaces/project/i-project-registry.d.ts +46 -0
- package/dist/server/core/interfaces/project/i-project-registry.js +1 -0
- package/dist/server/core/interfaces/routing/i-project-router.d.ts +45 -0
- package/dist/server/core/interfaces/routing/i-project-router.js +1 -0
- package/dist/server/core/interfaces/routing/index.d.ts +1 -0
- package/dist/server/core/interfaces/routing/index.js +1 -0
- package/dist/server/core/interfaces/session/i-session-reader.d.ts +13 -0
- package/dist/server/core/interfaces/session/i-session-reader.js +1 -0
- package/dist/server/core/interfaces/state/i-auth-state-store.d.ts +68 -0
- package/dist/server/core/interfaces/state/i-auth-state-store.js +1 -0
- package/dist/server/core/interfaces/state/i-project-state-loader.d.ts +110 -0
- package/dist/server/core/interfaces/state/i-project-state-loader.js +1 -0
- package/dist/server/core/interfaces/storage/i-curate-log-store.d.ts +20 -0
- package/dist/server/core/interfaces/storage/i-curate-log-store.js +1 -0
- package/dist/server/core/interfaces/storage/i-global-config-store.d.ts +1 -15
- package/dist/server/core/interfaces/storage/i-mcp-config-writer.d.ts +5 -1
- package/dist/server/core/interfaces/storage/i-project-config-store.d.ts +6 -1
- package/dist/server/core/interfaces/transport/i-transport-server.d.ts +12 -2
- package/dist/server/core/interfaces/usecase/i-curate-log-use-case.d.ts +12 -0
- package/dist/server/core/interfaces/usecase/i-curate-log-use-case.js +1 -0
- package/dist/server/infra/client/client-manager.d.ts +51 -0
- package/dist/server/infra/client/client-manager.js +144 -0
- package/dist/server/infra/cogit/context-tree-to-push-context-mapper.js +2 -2
- package/dist/server/infra/config/auto-init.d.ts +14 -0
- package/dist/server/infra/config/auto-init.js +18 -0
- package/dist/server/infra/config/file-config-store.d.ts +1 -0
- package/dist/server/infra/config/file-config-store.js +15 -7
- package/dist/server/infra/connectors/mcp/json-mcp-config-writer.d.ts +1 -2
- package/dist/server/infra/connectors/mcp/json-mcp-config-writer.js +9 -8
- package/dist/server/infra/connectors/mcp/mcp-connector-config.d.ts +29 -6
- package/dist/server/infra/connectors/mcp/mcp-connector-config.js +28 -1
- package/dist/server/infra/connectors/mcp/mcp-connector.js +5 -5
- package/dist/server/infra/connectors/mcp/toml-mcp-config-writer.d.ts +1 -2
- package/dist/server/infra/connectors/rules/rules-connector-config.d.ts +8 -0
- package/dist/server/infra/connectors/rules/rules-connector-config.js +8 -0
- package/dist/server/infra/connectors/rules/rules-connector.js +34 -7
- package/dist/server/infra/connectors/shared/constants.d.ts +5 -0
- package/dist/server/infra/connectors/shared/constants.js +12 -0
- package/dist/server/infra/connectors/shared/rule-segment-patcher.d.ts +29 -0
- package/dist/server/infra/connectors/shared/rule-segment-patcher.js +208 -0
- package/dist/server/infra/connectors/skill/skill-connector-config.d.ts +79 -20
- package/dist/server/infra/connectors/skill/skill-connector-config.js +74 -10
- package/dist/server/infra/connectors/skill/skill-connector.d.ts +31 -4
- package/dist/server/infra/connectors/skill/skill-connector.js +136 -39
- package/dist/server/infra/context-tree/file-context-file-reader.js +6 -2
- package/dist/server/infra/context-tree/file-context-tree-merger.d.ts +51 -0
- package/dist/server/infra/context-tree/file-context-tree-merger.js +261 -0
- package/dist/server/infra/context-tree/file-context-tree-service.d.ts +1 -0
- package/dist/server/infra/context-tree/file-context-tree-service.js +6 -1
- package/dist/server/infra/context-tree/file-context-tree-snapshot-service.d.ts +2 -4
- package/dist/server/infra/context-tree/file-context-tree-snapshot-service.js +19 -9
- package/dist/server/infra/context-tree/hash-utils.d.ts +6 -0
- package/dist/server/infra/context-tree/hash-utils.js +9 -0
- package/dist/server/infra/daemon/agent-idle-timeout-policy.d.ts +36 -0
- package/dist/server/infra/daemon/agent-idle-timeout-policy.js +89 -0
- package/dist/server/infra/daemon/agent-logger.d.ts +10 -0
- package/dist/server/infra/daemon/agent-logger.js +22 -0
- package/dist/server/infra/daemon/agent-pool.d.ts +112 -0
- package/dist/server/infra/daemon/agent-pool.js +335 -0
- package/dist/server/infra/daemon/agent-process.d.ts +21 -0
- package/dist/server/infra/daemon/agent-process.js +610 -0
- package/dist/server/infra/daemon/brv-server.d.ts +23 -0
- package/dist/server/infra/daemon/brv-server.js +405 -0
- package/dist/server/infra/daemon/daemon-resilience.d.ts +34 -0
- package/dist/server/infra/daemon/daemon-resilience.js +100 -0
- package/dist/server/infra/daemon/heartbeat.d.ts +28 -0
- package/dist/server/infra/daemon/heartbeat.js +81 -0
- package/dist/server/infra/daemon/idle-timeout-policy.d.ts +38 -0
- package/dist/server/infra/daemon/idle-timeout-policy.js +91 -0
- package/dist/server/infra/daemon/index.d.ts +5 -0
- package/dist/server/infra/daemon/index.js +11 -0
- package/dist/server/infra/daemon/port-selector.d.ts +28 -0
- package/dist/server/infra/daemon/port-selector.js +45 -0
- package/dist/server/infra/daemon/project-task-queue.d.ts +54 -0
- package/dist/server/infra/daemon/project-task-queue.js +103 -0
- package/dist/server/infra/daemon/session-resolver.d.ts +26 -0
- package/dist/server/infra/daemon/session-resolver.js +88 -0
- package/dist/server/infra/daemon/shutdown-handler.d.ts +42 -0
- package/dist/server/infra/daemon/shutdown-handler.js +101 -0
- package/dist/server/infra/executor/curate-executor.d.ts +10 -2
- package/dist/server/infra/executor/curate-executor.js +88 -14
- package/dist/server/infra/executor/direct-search-responder.d.ts +48 -0
- package/dist/server/infra/executor/direct-search-responder.js +88 -0
- package/dist/server/infra/executor/folder-pack-executor.d.ts +13 -5
- package/dist/server/infra/executor/folder-pack-executor.js +780 -39
- package/dist/server/infra/executor/query-executor.d.ts +69 -6
- package/dist/server/infra/executor/query-executor.js +313 -22
- package/dist/server/infra/executor/query-result-cache.d.ts +87 -0
- package/dist/server/infra/executor/query-result-cache.js +127 -0
- package/dist/server/infra/executor/query-similarity.d.ts +28 -0
- package/dist/server/infra/executor/query-similarity.js +41 -0
- package/dist/server/infra/http/provider-model-fetcher-registry.d.ts +31 -0
- package/dist/server/infra/http/provider-model-fetcher-registry.js +121 -0
- package/dist/server/infra/http/provider-model-fetchers.d.ts +108 -0
- package/dist/server/infra/http/provider-model-fetchers.js +582 -0
- package/dist/server/infra/hub/composite-hub-registry-service.d.ts +17 -0
- package/dist/server/infra/hub/composite-hub-registry-service.js +54 -0
- package/dist/server/infra/hub/hub-auth-headers.d.ts +11 -0
- package/dist/server/infra/hub/hub-auth-headers.js +29 -0
- package/dist/server/infra/hub/hub-install-service.d.ts +22 -0
- package/dist/server/infra/hub/hub-install-service.js +99 -0
- package/dist/server/infra/hub/hub-keychain-store.d.ts +29 -0
- package/dist/server/infra/hub/hub-keychain-store.js +98 -0
- package/dist/server/infra/hub/hub-registry-config-store.d.ts +24 -0
- package/dist/server/infra/hub/hub-registry-config-store.js +92 -0
- package/dist/server/infra/hub/hub-registry-service.d.ts +33 -0
- package/dist/server/infra/hub/hub-registry-service.js +109 -0
- package/dist/server/infra/mcp/mcp-mode-detector.d.ts +21 -0
- package/dist/server/infra/mcp/mcp-mode-detector.js +25 -0
- package/dist/server/infra/mcp/mcp-server.d.ts +15 -9
- package/dist/server/infra/mcp/mcp-server.js +84 -98
- package/dist/server/infra/mcp/tools/brv-curate-tool.d.ts +5 -10
- package/dist/server/infra/mcp/tools/brv-curate-tool.js +47 -17
- package/dist/server/infra/mcp/tools/brv-query-tool.d.ts +4 -1
- package/dist/server/infra/mcp/tools/brv-query-tool.js +39 -12
- package/dist/server/infra/mcp/tools/index.d.ts +1 -0
- package/dist/server/infra/mcp/tools/index.js +1 -0
- package/dist/server/infra/mcp/tools/resolve-client-cwd.d.ts +17 -0
- package/dist/server/infra/mcp/tools/resolve-client-cwd.js +27 -0
- package/dist/server/infra/mcp/tools/task-result-waiter.js +6 -5
- package/dist/server/infra/process/broadcast-utils.d.ts +16 -0
- package/dist/server/infra/process/broadcast-utils.js +22 -0
- package/dist/server/infra/process/connection-coordinator.d.ts +85 -0
- package/dist/server/infra/process/connection-coordinator.js +333 -0
- package/dist/server/infra/process/curate-log-handler.d.ts +35 -0
- package/dist/server/infra/process/curate-log-handler.js +179 -0
- package/dist/server/infra/process/feature-handlers.d.ts +25 -0
- package/dist/server/infra/process/feature-handlers.js +165 -0
- package/dist/server/infra/process/index.d.ts +6 -7
- package/dist/server/infra/process/index.js +5 -6
- package/dist/server/infra/process/task-router.d.ts +139 -0
- package/dist/server/infra/process/task-router.js +503 -0
- package/dist/server/infra/process/transport-handlers.d.ts +55 -117
- package/dist/server/infra/process/transport-handlers.js +50 -437
- package/dist/server/infra/process/types.d.ts +5 -0
- package/dist/server/infra/process/types.js +1 -0
- package/dist/server/infra/project/project-registry.d.ts +37 -0
- package/dist/server/infra/project/project-registry.js +147 -0
- package/dist/server/infra/provider/env-provider-detector.d.ts +33 -0
- package/dist/server/infra/provider/env-provider-detector.js +52 -0
- package/dist/server/infra/provider/provider-config-resolver.d.ts +30 -0
- package/dist/server/infra/provider/provider-config-resolver.js +167 -0
- package/dist/server/infra/provider/vertex-ai-utils.d.ts +10 -0
- package/dist/server/infra/provider/vertex-ai-utils.js +28 -0
- package/dist/server/infra/routing/project-router.d.ts +35 -0
- package/dist/server/infra/routing/project-router.js +60 -0
- package/dist/server/infra/session/session-reader.d.ts +18 -0
- package/dist/server/infra/session/session-reader.js +17 -0
- package/dist/server/infra/state/auth-state-store.d.ts +55 -0
- package/dist/server/infra/state/auth-state-store.js +111 -0
- package/dist/server/infra/state/project-state-loader.d.ts +69 -0
- package/dist/server/infra/state/project-state-loader.js +154 -0
- package/dist/server/infra/storage/file-curate-log-store.d.ts +61 -0
- package/dist/server/infra/storage/file-curate-log-store.js +198 -0
- package/dist/server/infra/storage/file-global-config-store.d.ts +0 -2
- package/dist/server/infra/storage/file-global-config-store.js +0 -19
- package/dist/server/infra/storage/file-onboarding-preference-store.d.ts +1 -1
- package/dist/server/infra/storage/file-onboarding-preference-store.js +7 -8
- package/dist/server/infra/storage/file-provider-config-store.d.ts +3 -2
- package/dist/server/infra/storage/file-provider-config-store.js +3 -3
- package/dist/server/infra/storage/file-provider-keychain-store.d.ts +31 -0
- package/dist/server/infra/storage/file-provider-keychain-store.js +110 -0
- package/dist/server/infra/storage/file-token-store.d.ts +2 -5
- package/dist/server/infra/storage/file-token-store.js +2 -5
- package/dist/server/infra/storage/provider-keychain-store.d.ts +2 -33
- package/dist/server/infra/storage/provider-keychain-store.js +4 -71
- package/dist/server/infra/storage/token-store.d.ts +3 -8
- package/dist/server/infra/storage/token-store.js +4 -11
- package/dist/server/infra/transport/agent-instance-discovery.d.ts +20 -0
- package/dist/server/infra/transport/agent-instance-discovery.js +32 -0
- package/dist/server/infra/transport/handlers/agent-dto-mapper.d.ts +6 -0
- package/dist/server/infra/transport/handlers/agent-dto-mapper.js +16 -0
- package/dist/server/infra/transport/handlers/auth-handler.d.ts +60 -0
- package/dist/server/infra/transport/handlers/auth-handler.js +257 -0
- package/dist/server/infra/transport/handlers/config-handler.d.ts +13 -0
- package/dist/server/infra/transport/handlers/config-handler.js +22 -0
- package/dist/server/infra/transport/handlers/connectors-handler.d.ts +23 -0
- package/dist/server/infra/transport/handlers/connectors-handler.js +73 -0
- package/dist/server/infra/transport/handlers/handler-types.d.ts +23 -0
- package/dist/server/infra/transport/handlers/handler-types.js +21 -0
- package/dist/server/infra/transport/handlers/hub-handler.d.ts +34 -0
- package/dist/server/infra/transport/handlers/hub-handler.js +218 -0
- package/dist/server/infra/transport/handlers/index.d.ts +26 -0
- package/dist/server/infra/transport/handlers/index.js +13 -0
- package/dist/server/infra/transport/handlers/init-handler.d.ts +50 -0
- package/dist/server/infra/transport/handlers/init-handler.js +157 -0
- package/dist/server/infra/transport/handlers/model-handler.d.ts +22 -0
- package/dist/server/infra/transport/handlers/model-handler.js +107 -0
- package/dist/server/infra/transport/handlers/provider-handler.d.ts +25 -0
- package/dist/server/infra/transport/handlers/provider-handler.js +101 -0
- package/dist/server/infra/transport/handlers/pull-handler.d.ts +35 -0
- package/dist/server/infra/transport/handlers/pull-handler.js +87 -0
- package/dist/server/infra/transport/handlers/push-handler.d.ts +37 -0
- package/dist/server/infra/transport/handlers/push-handler.js +109 -0
- package/dist/server/infra/transport/handlers/reset-handler.d.ts +23 -0
- package/dist/server/infra/transport/handlers/reset-handler.js +33 -0
- package/dist/server/infra/transport/handlers/space-handler.d.ts +44 -0
- package/dist/server/infra/transport/handlers/space-handler.js +206 -0
- package/dist/server/infra/transport/handlers/status-handler.d.ts +29 -0
- package/dist/server/infra/transport/handlers/status-handler.js +99 -0
- package/dist/server/infra/transport/index.d.ts +1 -1
- package/dist/server/infra/transport/index.js +0 -1
- package/dist/server/infra/transport/port-utils.d.ts +0 -35
- package/dist/server/infra/transport/port-utils.js +0 -62
- package/dist/server/infra/transport/socket-io-transport-server.d.ts +6 -1
- package/dist/server/infra/transport/socket-io-transport-server.js +30 -10
- package/dist/server/infra/transport/transport-connector.d.ts +13 -0
- package/dist/server/infra/transport/transport-connector.js +18 -0
- package/dist/server/infra/usecase/curate-log-use-case.d.ts +32 -0
- package/dist/server/infra/usecase/curate-log-use-case.js +142 -0
- package/dist/server/templates/sections/brv-instructions.md +8 -0
- package/dist/server/templates/sections/command-reference.md +5 -2
- package/dist/server/templates/sections/workflow.md +2 -0
- package/dist/server/templates/skill/SKILL.md +138 -59
- package/dist/server/utils/config-xdg-sync.d.ts +13 -0
- package/dist/server/utils/config-xdg-sync.js +25 -0
- package/dist/server/utils/curate-result-parser.d.ts +121 -0
- package/dist/server/utils/curate-result-parser.js +120 -0
- package/dist/server/utils/file-validator.js +78 -1
- package/dist/server/utils/global-config-path.d.ts +1 -1
- package/dist/server/utils/global-config-path.js +5 -2
- package/dist/server/utils/global-data-path.d.ts +2 -2
- package/dist/server/utils/global-data-path.js +8 -3
- package/dist/server/utils/path-utils.d.ts +38 -0
- package/dist/server/utils/path-utils.js +92 -0
- package/dist/server/utils/process-logger.js +1 -1
- package/dist/server/utils/server-main-resolver.d.ts +9 -0
- package/dist/server/utils/server-main-resolver.js +17 -0
- package/dist/shared/transport/events/agent-events.d.ts +16 -0
- package/dist/shared/transport/events/agent-events.js +10 -0
- package/dist/shared/transport/events/auth-events.d.ts +45 -0
- package/dist/shared/transport/events/auth-events.js +11 -0
- package/dist/shared/transport/events/config-events.d.ts +18 -0
- package/dist/shared/transport/events/config-events.js +5 -0
- package/dist/shared/transport/events/connector-events.d.ts +35 -0
- package/dist/shared/transport/events/connector-events.js +6 -0
- package/dist/shared/transport/events/hub-events.d.ts +62 -0
- package/dist/shared/transport/events/hub-events.js +10 -0
- package/dist/shared/transport/events/index.d.ts +123 -0
- package/dist/shared/transport/events/index.js +73 -0
- package/dist/shared/transport/events/init-events.d.ts +41 -0
- package/dist/shared/transport/events/init-events.js +8 -0
- package/dist/shared/transport/events/llm-events.d.ts +13 -0
- package/dist/shared/transport/events/llm-events.js +13 -0
- package/dist/shared/transport/events/model-events.d.ts +30 -0
- package/dist/shared/transport/events/model-events.js +5 -0
- package/dist/shared/transport/events/onboarding-events.d.ts +18 -0
- package/dist/shared/transport/events/onboarding-events.js +5 -0
- package/dist/shared/transport/events/provider-events.d.ts +44 -0
- package/dist/shared/transport/events/provider-events.js +8 -0
- package/dist/shared/transport/events/pull-events.d.ts +26 -0
- package/dist/shared/transport/events/pull-events.js +5 -0
- package/dist/shared/transport/events/push-events.d.ts +27 -0
- package/dist/shared/transport/events/push-events.js +5 -0
- package/dist/shared/transport/events/reset-events.d.ts +6 -0
- package/dist/shared/transport/events/reset-events.js +3 -0
- package/dist/shared/transport/events/session-events.d.ts +3 -0
- package/dist/shared/transport/events/session-events.js +3 -0
- package/dist/shared/transport/events/space-events.d.ts +30 -0
- package/dist/shared/transport/events/space-events.js +4 -0
- package/dist/shared/transport/events/status-events.d.ts +7 -0
- package/dist/shared/transport/events/status-events.js +3 -0
- package/dist/shared/transport/events/task-events.d.ts +19 -0
- package/dist/shared/transport/events/task-events.js +9 -0
- package/dist/shared/transport/types/auth-scheme.d.ts +1 -0
- package/dist/shared/transport/types/auth-scheme.js +1 -0
- package/dist/shared/transport/types/dto.d.ts +112 -0
- package/dist/shared/transport/types/dto.js +6 -0
- package/dist/shared/transport/types/index.d.ts +1 -0
- package/dist/shared/transport/types/index.js +1 -0
- package/dist/shared/types/agent.d.ts +5 -0
- package/dist/shared/types/agent.js +27 -0
- package/dist/shared/types/connector-type.d.ts +18 -0
- package/dist/shared/types/connector-type.js +26 -0
- package/dist/shared/types/context-tree-changes.d.ts +11 -0
- package/dist/shared/types/context-tree-changes.js +1 -0
- package/dist/shared/types/index.d.ts +3 -0
- package/dist/shared/types/index.js +2 -0
- package/dist/tui/app/index.d.ts +9 -0
- package/dist/tui/app/index.js +4 -0
- package/dist/tui/app/layouts/main-layout.d.ts +14 -0
- package/dist/tui/app/layouts/main-layout.js +19 -0
- package/dist/tui/app/pages/config-provider-page.d.ts +8 -0
- package/dist/tui/app/pages/config-provider-page.js +19 -0
- package/dist/tui/app/pages/home-page.d.ts +8 -0
- package/dist/tui/app/pages/home-page.js +85 -0
- package/dist/tui/app/pages/login-page.d.ts +12 -0
- package/dist/tui/app/pages/login-page.js +87 -0
- package/dist/tui/app/pages/protected-routes.d.ts +8 -0
- package/dist/tui/app/pages/protected-routes.js +14 -0
- package/dist/tui/app/router.d.ts +11 -0
- package/dist/tui/app/router.js +21 -0
- package/dist/tui/components/command/command-output.d.ts +1 -1
- package/dist/tui/components/command/command-output.js +5 -7
- package/dist/tui/components/command/expanded-command-view.d.ts +1 -1
- package/dist/tui/components/command/expanded-command-view.js +5 -6
- package/dist/tui/components/command/live-streaming-output.d.ts +2 -4
- package/dist/tui/components/command/live-streaming-output.js +5 -19
- package/dist/tui/components/command-details.d.ts +1 -1
- package/dist/tui/components/command-details.js +3 -3
- package/dist/tui/components/command-input.js +84 -171
- package/dist/tui/components/command-item.d.ts +1 -1
- package/dist/tui/components/command-item.js +6 -7
- package/dist/tui/components/execution/execution-status.d.ts +1 -1
- package/dist/tui/components/execution/execution-tool.d.ts +1 -1
- package/dist/tui/components/execution/expanded-log-view.d.ts +1 -1
- package/dist/tui/components/execution/expanded-log-view.js +1 -1
- package/dist/tui/components/execution/log-item.d.ts +1 -1
- package/dist/tui/components/execution/log-item.js +1 -1
- package/dist/tui/components/footer.js +6 -4
- package/dist/tui/components/header.js +2 -2
- package/dist/tui/components/index.d.ts +0 -2
- package/dist/tui/components/index.js +0 -2
- package/dist/tui/components/init.d.ts +1 -1
- package/dist/tui/components/init.js +26 -32
- package/dist/tui/components/inline-prompts/inline-file-selector.d.ts +1 -1
- package/dist/tui/components/inline-prompts/inline-input.d.ts +6 -0
- package/dist/tui/components/inline-prompts/inline-input.js +53 -16
- package/dist/tui/components/inline-prompts/inline-search.d.ts +2 -2
- package/dist/tui/components/inline-prompts/inline-search.js +1 -1
- package/dist/tui/components/inline-prompts/inline-select.d.ts +1 -1
- package/dist/tui/components/inline-prompts/inline-select.js +1 -1
- package/dist/tui/components/message-item.d.ts +1 -1
- package/dist/tui/components/message-item.js +2 -2
- package/dist/tui/components/onboarding/welcome-box.d.ts +1 -8
- package/dist/tui/components/onboarding/welcome-box.js +11 -12
- package/dist/tui/components/onboarding-item.d.ts +1 -1
- package/dist/tui/components/selectable-list.d.ts +3 -1
- package/dist/tui/components/selectable-list.js +7 -15
- package/dist/tui/components/status-badge.js +1 -1
- package/dist/tui/components/suggestions.js +5 -18
- package/dist/tui/features/activity/hooks/index.d.ts +2 -0
- package/dist/tui/features/activity/hooks/index.js +2 -0
- package/dist/tui/features/activity/hooks/use-activity-logs.d.ts +18 -0
- package/dist/tui/features/activity/hooks/use-activity-logs.js +208 -0
- package/dist/tui/features/activity/hooks/use-feed-navigation.d.ts +24 -0
- package/dist/tui/features/activity/hooks/use-feed-navigation.js +43 -0
- package/dist/tui/features/activity/index.d.ts +1 -0
- package/dist/tui/features/activity/index.js +1 -0
- package/dist/tui/features/auth/api/get-auth-state.d.ts +16 -0
- package/dist/tui/features/auth/api/get-auth-state.js +21 -0
- package/dist/tui/features/auth/api/login.d.ts +3 -0
- package/dist/tui/features/auth/api/login.js +14 -0
- package/dist/tui/features/auth/api/logout.d.ts +8 -0
- package/dist/tui/features/auth/api/logout.js +24 -0
- package/dist/tui/features/auth/api/refresh-auth.d.ts +8 -0
- package/dist/tui/features/auth/api/refresh-auth.js +24 -0
- package/dist/tui/features/auth/components/auth-initializer.d.ts +10 -0
- package/dist/tui/features/auth/components/auth-initializer.js +82 -0
- package/dist/tui/features/auth/components/login-flow.d.ts +8 -0
- package/dist/tui/features/auth/components/login-flow.js +62 -0
- package/dist/tui/features/auth/components/logout-flow.d.ts +12 -0
- package/dist/tui/features/auth/components/logout-flow.js +81 -0
- package/dist/tui/features/auth/guards/auth-guard.d.ts +2 -0
- package/dist/tui/features/auth/guards/auth-guard.js +11 -0
- package/dist/tui/features/auth/stores/auth-store.d.ts +27 -0
- package/dist/tui/features/auth/stores/auth-store.js +29 -0
- package/dist/tui/features/commands/components/command-view.d.ts +17 -0
- package/dist/tui/features/commands/components/command-view.js +34 -0
- package/dist/tui/features/commands/definitions/connectors.d.ts +2 -0
- package/dist/tui/features/commands/definitions/connectors.js +9 -0
- package/dist/tui/features/commands/definitions/curate.d.ts +2 -0
- package/dist/tui/features/commands/definitions/curate.js +53 -0
- package/dist/tui/features/commands/definitions/hub-list.d.ts +2 -0
- package/dist/tui/features/commands/definitions/hub-list.js +9 -0
- package/dist/tui/features/commands/definitions/hub-registry-add.d.ts +2 -0
- package/dist/tui/features/commands/definitions/hub-registry-add.js +36 -0
- package/dist/tui/features/commands/definitions/hub-registry-list.d.ts +2 -0
- package/dist/tui/features/commands/definitions/hub-registry-list.js +9 -0
- package/dist/tui/features/commands/definitions/hub-registry-remove.d.ts +2 -0
- package/dist/tui/features/commands/definitions/hub-registry-remove.js +25 -0
- package/dist/tui/features/commands/definitions/hub-registry.d.ts +2 -0
- package/dist/tui/features/commands/definitions/hub-registry.js +8 -0
- package/dist/tui/features/commands/definitions/hub.d.ts +2 -0
- package/dist/tui/features/commands/definitions/hub.js +7 -0
- package/dist/tui/features/commands/definitions/index.d.ts +8 -0
- package/dist/tui/features/commands/definitions/index.js +45 -0
- package/dist/tui/features/commands/definitions/login.d.ts +2 -0
- package/dist/tui/features/commands/definitions/login.js +12 -0
- package/dist/tui/features/commands/definitions/logout.d.ts +2 -0
- package/dist/tui/features/commands/definitions/logout.js +26 -0
- package/dist/tui/features/commands/definitions/model.d.ts +2 -0
- package/dist/tui/features/commands/definitions/model.js +9 -0
- package/dist/tui/features/commands/definitions/new.d.ts +2 -0
- package/dist/tui/features/commands/definitions/new.js +27 -0
- package/dist/tui/features/commands/definitions/providers.d.ts +2 -0
- package/dist/tui/features/commands/definitions/providers.js +9 -0
- package/dist/tui/features/commands/definitions/pull.d.ts +2 -0
- package/dist/tui/features/commands/definitions/pull.js +23 -0
- package/dist/tui/features/commands/definitions/push.d.ts +2 -0
- package/dist/tui/features/commands/definitions/push.js +29 -0
- package/dist/tui/features/commands/definitions/query.d.ts +2 -0
- package/dist/tui/features/commands/definitions/query.js +36 -0
- package/dist/tui/features/commands/definitions/reset.d.ts +2 -0
- package/dist/tui/features/commands/definitions/reset.js +22 -0
- package/dist/tui/features/commands/definitions/space-list.d.ts +2 -0
- package/dist/tui/features/commands/definitions/space-list.js +22 -0
- package/dist/tui/features/commands/definitions/space-switch.d.ts +2 -0
- package/dist/tui/features/commands/definitions/space-switch.js +9 -0
- package/dist/tui/features/commands/definitions/space.d.ts +2 -0
- package/dist/tui/features/commands/definitions/space.js +7 -0
- package/dist/tui/features/commands/definitions/status.d.ts +2 -0
- package/dist/tui/features/commands/definitions/status.js +11 -0
- package/dist/tui/features/commands/hooks/use-commands-controller.d.ts +38 -0
- package/dist/tui/features/commands/hooks/use-commands-controller.js +43 -0
- package/dist/tui/features/commands/hooks/use-slash-command-processor.d.ts +16 -0
- package/dist/tui/features/commands/hooks/use-slash-command-processor.js +134 -0
- package/dist/tui/features/commands/hooks/use-slash-completion.d.ts +30 -0
- package/dist/tui/features/commands/hooks/use-slash-completion.js +256 -0
- package/dist/tui/features/commands/stores/commands-store.d.ts +32 -0
- package/dist/tui/features/commands/stores/commands-store.js +23 -0
- package/dist/tui/features/commands/utils/arg-parser.d.ts +102 -0
- package/dist/tui/features/connectors/api/get-agent-config-paths.d.ts +18 -0
- package/dist/tui/features/connectors/api/get-agent-config-paths.js +17 -0
- package/dist/tui/features/connectors/api/get-agents.d.ts +16 -0
- package/dist/tui/features/connectors/api/get-agents.js +19 -0
- package/dist/tui/features/connectors/api/get-connectors.d.ts +16 -0
- package/dist/tui/features/connectors/api/get-connectors.js +17 -0
- package/dist/tui/features/connectors/api/install-connector.d.ts +14 -0
- package/dist/tui/features/connectors/api/install-connector.js +27 -0
- package/dist/tui/features/connectors/components/agent-search-step.d.ts +9 -0
- package/dist/tui/features/connectors/components/agent-search-step.js +18 -0
- package/dist/tui/features/connectors/components/confirm-switch-step.d.ts +10 -0
- package/dist/tui/features/connectors/components/confirm-switch-step.js +13 -0
- package/dist/tui/features/connectors/components/connector-list-step.d.ts +11 -0
- package/dist/tui/features/connectors/components/connector-list-step.js +29 -0
- package/dist/tui/features/connectors/components/connector-type-step.d.ts +13 -0
- package/dist/tui/features/connectors/components/connector-type-step.js +23 -0
- package/dist/tui/features/connectors/components/connectors-flow.d.ts +17 -0
- package/dist/tui/features/connectors/components/connectors-flow.js +179 -0
- package/dist/tui/features/connectors/utils/get-connector-name.d.ts +3 -0
- package/dist/tui/features/connectors/utils/get-connector-name.js +33 -0
- package/dist/tui/features/curate/api/create-curate-task.d.ts +22 -0
- package/dist/tui/features/curate/api/create-curate-task.js +40 -0
- package/dist/tui/features/curate/components/curate-flow.d.ts +20 -0
- package/dist/tui/features/curate/components/curate-flow.js +41 -0
- package/dist/tui/features/hub/api/add-hub-registry.d.ts +15 -0
- package/dist/tui/features/hub/api/add-hub-registry.js +30 -0
- package/dist/tui/features/hub/api/get-hub-entries.d.ts +16 -0
- package/dist/tui/features/hub/api/get-hub-entries.js +17 -0
- package/dist/tui/features/hub/api/install-hub-entry.d.ts +14 -0
- package/dist/tui/features/hub/api/install-hub-entry.js +24 -0
- package/dist/tui/features/hub/api/list-hub-registries.d.ts +16 -0
- package/dist/tui/features/hub/api/list-hub-registries.js +17 -0
- package/dist/tui/features/hub/api/remove-hub-registry.d.ts +11 -0
- package/dist/tui/features/hub/api/remove-hub-registry.js +24 -0
- package/dist/tui/features/hub/components/hub-agent-step.d.ts +8 -0
- package/dist/tui/features/hub/components/hub-agent-step.js +14 -0
- package/dist/tui/features/hub/components/hub-detail-step.d.ts +10 -0
- package/dist/tui/features/hub/components/hub-detail-step.js +25 -0
- package/dist/tui/features/hub/components/hub-flow.d.ts +7 -0
- package/dist/tui/features/hub/components/hub-flow.js +90 -0
- package/dist/tui/features/hub/components/hub-list-step.d.ts +10 -0
- package/dist/tui/features/hub/components/hub-list-step.js +34 -0
- package/dist/tui/features/hub/components/hub-registry-add-view.d.ts +12 -0
- package/dist/tui/features/hub/components/hub-registry-add-view.js +36 -0
- package/dist/tui/features/hub/components/hub-registry-list-view.d.ts +7 -0
- package/dist/tui/features/hub/components/hub-registry-list-view.js +38 -0
- package/dist/tui/features/hub/components/hub-registry-remove-view.d.ts +8 -0
- package/dist/tui/features/hub/components/hub-registry-remove-view.js +17 -0
- package/dist/tui/features/model/api/get-models-by-providers.d.ts +20 -0
- package/dist/tui/features/model/api/get-models-by-providers.js +17 -0
- package/dist/tui/features/model/api/get-models.d.ts +20 -0
- package/dist/tui/features/model/api/get-models.js +17 -0
- package/dist/tui/features/model/api/set-active-model.d.ts +13 -0
- package/dist/tui/features/model/api/set-active-model.js +13 -0
- package/dist/tui/features/model/components/model-dialog.d.ts +67 -0
- package/dist/tui/features/model/components/model-dialog.js +96 -0
- package/dist/tui/features/model/components/model-flow.d.ts +17 -0
- package/dist/tui/features/model/components/model-flow.js +108 -0
- package/dist/tui/features/model/stores/model-store.d.ts +35 -0
- package/dist/tui/features/model/stores/model-store.js +26 -0
- package/dist/tui/features/onboarding/api/auto-setup-onboarding.d.ts +8 -0
- package/dist/tui/features/onboarding/api/auto-setup-onboarding.js +24 -0
- package/dist/tui/features/onboarding/api/complete-onboarding.d.ts +11 -0
- package/dist/tui/features/onboarding/api/complete-onboarding.js +24 -0
- package/dist/tui/features/onboarding/api/get-onboarding-state.d.ts +16 -0
- package/dist/tui/features/onboarding/api/get-onboarding-state.js +17 -0
- package/dist/tui/features/onboarding/hooks/use-app-view-mode.d.ts +27 -0
- package/dist/tui/features/onboarding/hooks/use-app-view-mode.js +36 -0
- package/dist/tui/features/onboarding/types.d.ts +7 -0
- package/dist/tui/features/onboarding/types.js +4 -0
- package/dist/tui/features/onboarding/utils.d.ts +28 -0
- package/dist/tui/features/onboarding/utils.js +76 -0
- package/dist/tui/features/provider/api/connect-provider.d.ts +13 -0
- package/dist/tui/features/provider/api/connect-provider.js +28 -0
- package/dist/tui/features/provider/api/disconnect-provider.d.ts +11 -0
- package/dist/tui/features/provider/api/disconnect-provider.js +26 -0
- package/dist/tui/features/provider/api/get-active-provider-config.d.ts +16 -0
- package/dist/tui/features/provider/api/get-active-provider-config.js +17 -0
- package/dist/tui/features/provider/api/get-providers.d.ts +16 -0
- package/dist/tui/features/provider/api/get-providers.js +17 -0
- package/dist/tui/features/provider/api/set-active-provider.d.ts +11 -0
- package/dist/tui/features/provider/api/set-active-provider.js +24 -0
- package/dist/tui/features/provider/api/validate-api-key.d.ts +12 -0
- package/dist/tui/features/provider/api/validate-api-key.js +13 -0
- package/dist/tui/features/provider/components/api-key-dialog.d.ts +41 -0
- package/dist/tui/features/provider/components/api-key-dialog.js +126 -0
- package/dist/tui/features/provider/components/base-url-dialog.d.ts +24 -0
- package/dist/tui/features/provider/components/base-url-dialog.js +77 -0
- package/dist/tui/features/provider/components/credential-path-dialog.d.ts +30 -0
- package/dist/tui/features/provider/components/credential-path-dialog.js +85 -0
- package/dist/tui/features/provider/components/model-select-step.d.ts +20 -0
- package/dist/tui/features/provider/components/model-select-step.js +73 -0
- package/dist/tui/features/provider/components/provider-dialog.d.ts +29 -0
- package/dist/tui/features/provider/components/provider-dialog.js +20 -0
- package/dist/tui/features/provider/components/provider-flow.d.ts +25 -0
- package/dist/tui/features/provider/components/provider-flow.js +277 -0
- package/dist/tui/features/provider/stores/provider-store.d.ts +28 -0
- package/dist/tui/features/provider/stores/provider-store.js +22 -0
- package/dist/tui/features/pull/api/execute-pull.d.ts +11 -0
- package/dist/tui/features/pull/api/execute-pull.js +13 -0
- package/dist/tui/features/pull/api/prepare-pull.d.ts +20 -0
- package/dist/tui/features/pull/api/prepare-pull.js +17 -0
- package/dist/tui/features/pull/components/pull-flow.d.ts +12 -0
- package/dist/tui/features/pull/components/pull-flow.js +70 -0
- package/dist/tui/features/push/api/execute-push.d.ts +11 -0
- package/dist/tui/features/push/api/execute-push.js +13 -0
- package/dist/tui/features/push/api/prepare-push.d.ts +20 -0
- package/dist/tui/features/push/api/prepare-push.js +17 -0
- package/dist/tui/features/push/components/push-flow.d.ts +13 -0
- package/dist/tui/features/push/components/push-flow.js +86 -0
- package/dist/tui/features/query/api/create-query-task.d.ts +17 -0
- package/dist/tui/features/query/api/create-query-task.js +27 -0
- package/dist/tui/features/query/components/query-flow.d.ts +18 -0
- package/dist/tui/features/query/components/query-flow.js +36 -0
- package/dist/tui/features/reset/api/execute-reset.d.ts +8 -0
- package/dist/tui/features/reset/api/execute-reset.js +13 -0
- package/dist/tui/features/reset/components/reset-flow.d.ts +12 -0
- package/dist/tui/features/reset/components/reset-flow.js +44 -0
- package/dist/tui/features/session/components/new-session-flow.d.ts +12 -0
- package/dist/tui/features/session/components/new-session-flow.js +28 -0
- package/dist/tui/features/space/api/get-spaces.d.ts +16 -0
- package/dist/tui/features/space/api/get-spaces.js +17 -0
- package/dist/tui/features/space/api/switch-space.d.ts +11 -0
- package/dist/tui/features/space/api/switch-space.js +24 -0
- package/dist/tui/features/space/components/space-list-view.d.ts +12 -0
- package/dist/tui/features/space/components/space-list-view.js +56 -0
- package/dist/tui/features/space/components/space-switch-flow.d.ts +13 -0
- package/dist/tui/features/space/components/space-switch-flow.js +97 -0
- package/dist/tui/features/status/api/get-status.d.ts +16 -0
- package/dist/tui/features/status/api/get-status.js +17 -0
- package/dist/tui/features/status/components/status-view.d.ts +12 -0
- package/dist/tui/features/status/components/status-view.js +26 -0
- package/dist/tui/features/status/utils/format-status.d.ts +5 -0
- package/dist/tui/features/status/utils/format-status.js +62 -0
- package/dist/tui/features/tasks/components/task-subscription-initializer.d.ts +5 -0
- package/dist/tui/features/tasks/components/task-subscription-initializer.js +9 -0
- package/dist/tui/features/tasks/hooks/use-task-subscriptions.d.ts +5 -0
- package/dist/tui/features/tasks/hooks/use-task-subscriptions.js +74 -0
- package/dist/tui/features/tasks/stores/tasks-store.d.ts +92 -0
- package/dist/tui/features/tasks/stores/tasks-store.js +262 -0
- package/dist/tui/features/transport/components/transport-initializer.d.ts +13 -0
- package/dist/tui/features/transport/components/transport-initializer.js +107 -0
- package/dist/tui/features/transport/hooks/use-transport.d.ts +19 -0
- package/dist/tui/features/transport/hooks/use-transport.js +16 -0
- package/dist/tui/hooks/index.d.ts +14 -13
- package/dist/tui/hooks/index.js +15 -9
- package/dist/tui/hooks/use-terminal-breakpoint.js +3 -2
- package/dist/tui/lib/api-client.d.ts +20 -0
- package/dist/tui/lib/api-client.js +29 -0
- package/dist/tui/lib/environment.d.ts +18 -0
- package/dist/tui/lib/environment.js +18 -0
- package/dist/tui/lib/react-query.d.ts +17 -0
- package/dist/tui/lib/react-query.js +17 -0
- package/dist/tui/lib/transport-logger.d.ts +13 -0
- package/dist/tui/lib/transport-logger.js +40 -0
- package/dist/tui/providers/app-providers.d.ts +1 -16
- package/dist/tui/providers/app-providers.js +26 -4
- package/dist/tui/repl-startup.d.ts +1 -12
- package/dist/tui/repl-startup.js +6 -24
- package/dist/tui/stores/mode-store.d.ts +25 -0
- package/dist/tui/stores/mode-store.js +49 -0
- package/dist/tui/stores/theme-store.d.ts +43 -0
- package/dist/tui/stores/theme-store.js +39 -0
- package/dist/tui/stores/transport-store.d.ts +40 -0
- package/dist/tui/stores/transport-store.js +40 -0
- package/dist/tui/types/commands.d.ts +23 -91
- package/dist/tui/types/commands.js +1 -13
- package/dist/tui/types/index.d.ts +3 -4
- package/dist/tui/types/index.js +0 -2
- package/dist/tui/types/messages.d.ts +8 -1
- package/dist/tui/types/ui.d.ts +0 -5
- package/dist/tui/utils/error-messages.d.ts +22 -0
- package/dist/tui/utils/error-messages.js +45 -0
- package/dist/tui/utils/index.d.ts +2 -0
- package/dist/tui/utils/index.js +2 -0
- package/dist/tui/utils/input.d.ts +14 -0
- package/dist/tui/utils/input.js +17 -0
- package/dist/tui/utils/log.d.ts +1 -1
- package/node_modules/@campfirein/brv-transport-client/README.md +79 -338
- package/node_modules/@campfirein/brv-transport-client/dist/constants.d.ts +18 -3
- package/node_modules/@campfirein/brv-transport-client/dist/constants.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/constants.js +25 -4
- package/node_modules/@campfirein/brv-transport-client/dist/constants.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/entities/instance-info.d.ts +4 -9
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/entities/instance-info.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/entities/instance-info.js +9 -24
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/entities/instance-info.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/errors/connection-error.d.ts +20 -0
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/errors/connection-error.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/errors/connection-error.js +30 -0
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/errors/connection-error.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/errors/transport-error.d.ts +3 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/errors/transport-error.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/errors/transport-error.js +4 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/errors/transport-error.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/events/event-names.d.ts +10 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/events/event-names.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/events/event-names.js +10 -0
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/events/event-names.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/events/index.d.ts +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/events/index.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/events/index.js +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/events/index.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/types.d.ts +9 -0
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/types.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/types.js +8 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/types.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/validators/common.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/validators/common.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/validators/event-name-validator.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/validators/event-name-validator.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/validators/index.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/validators/index.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/validators/room-name-validator.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/validators/room-name-validator.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/validators/url-validator.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/domain/validators/url-validator.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-client-factory-config.d.ts +150 -0
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-client-factory-config.d.ts.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-client-factory-config.js +8 -0
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-client-factory-config.js.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-client-factory.d.ts +9 -4
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-client-factory.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-client-factory.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-client-logger.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-client-logger.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-client.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-client.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-connection-state.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-connection-state.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-event-dispatcher.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-event-dispatcher.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-force-reconnect-manager.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-force-reconnect-manager.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-instance-discovery.d.ts +9 -22
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-instance-discovery.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-instance-discovery.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-instance-manager.d.ts +46 -0
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-instance-manager.d.ts.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-instance-manager.js +2 -0
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-instance-manager.js.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-reconnection-strategy.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-reconnection-strategy.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-room-manager.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-room-manager.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-socket-provider.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-socket-provider.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-socket.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-socket.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-spawn-lock.d.ts +27 -0
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-spawn-lock.d.ts.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-spawn-lock.js +2 -0
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-spawn-lock.js.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-wake-detector.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-wake-detector.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/index.d.ts +26 -16
- package/node_modules/@campfirein/brv-transport-client/dist/index.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/index.js +28 -18
- package/node_modules/@campfirein/brv-transport-client/dist/index.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/client-factory.d.ts +49 -167
- package/node_modules/@campfirein/brv-transport-client/dist/infra/client-factory.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/client-factory.js +161 -260
- package/node_modules/@campfirein/brv-transport-client/dist/infra/client-factory.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/connection-state-manager.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/connection-state-manager.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-connector.d.ts +46 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-connector.d.ts.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-connector.js +47 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-connector.js.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-discovery-sync.d.ts +41 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-discovery-sync.d.ts.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-discovery-sync.js +48 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-discovery-sync.js.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-health.d.ts +37 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-health.d.ts.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-health.js +35 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-health.js.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-instance-discovery.d.ts +22 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-instance-discovery.d.ts.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-instance-discovery.js +83 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-instance-discovery.js.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-reconnector.d.ts +60 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-reconnector.d.ts.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-reconnector.js +101 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-reconnector.js.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-spawner.d.ts +33 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-spawner.d.ts.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-spawner.js +161 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/daemon-spawner.js.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/event-dispatcher.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/event-dispatcher.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/find-project-root.d.ts +11 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/find-project-root.d.ts.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/find-project-root.js +31 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/find-project-root.js.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/force-reconnect-manager.d.ts +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/force-reconnect-manager.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/force-reconnect-manager.js +4 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/force-reconnect-manager.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/global-data-path.d.ts +12 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/global-data-path.d.ts.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/global-data-path.js +38 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/global-data-path.js.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/global-instance-manager.d.ts +37 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/global-instance-manager.d.ts.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/global-instance-manager.js +100 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/global-instance-manager.js.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/heartbeat-utils.d.ts +12 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/heartbeat-utils.d.ts.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/heartbeat-utils.js +29 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/heartbeat-utils.js.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/no-op-client-logger.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/no-op-client-logger.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/process-utils.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/process-utils.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/reconnection-strategy.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/reconnection-strategy.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/resolve-server-path.d.ts +12 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/resolve-server-path.d.ts.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/resolve-server-path.js +52 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/resolve-server-path.js.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/room-manager.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/room-manager.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/schemas/index.d.ts +2 -2
- package/node_modules/@campfirein/brv-transport-client/dist/infra/schemas/index.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/schemas/index.js +4 -2
- package/node_modules/@campfirein/brv-transport-client/dist/infra/schemas/index.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/schemas/schemas.d.ts +65 -3
- package/node_modules/@campfirein/brv-transport-client/dist/infra/schemas/schemas.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/schemas/schemas.js +44 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/schemas/schemas.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/schemas/types.d.ts +11 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/schemas/types.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/schemas/types.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/socket-io-client.d.ts +32 -61
- package/node_modules/@campfirein/brv-transport-client/dist/infra/socket-io-client.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/socket-io-client.js +133 -37
- package/node_modules/@campfirein/brv-transport-client/dist/infra/socket-io-client.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/spawn-lock.d.ts +27 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/spawn-lock.d.ts.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/spawn-lock.js +124 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/spawn-lock.js.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/utils/deep-freeze.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/utils/deep-freeze.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/wait-for-connected-client.d.ts +13 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/wait-for-connected-client.d.ts.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/wait-for-connected-client.js +33 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/wait-for-connected-client.js.map +1 -0
- package/node_modules/@campfirein/brv-transport-client/dist/infra/wake-detector.d.ts.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/wake-detector.js.map +1 -1
- package/node_modules/@campfirein/brv-transport-client/package.json +3 -12
- package/oclif.manifest.json +1224 -180
- package/package.json +47 -8
- package/dist/agent/infra/llm/generators/openrouter-content-generator.d.ts +0 -94
- package/dist/agent/infra/llm/generators/openrouter-content-generator.js +0 -280
- package/dist/agent/infra/llm/internal-llm-service.d.ts +0 -362
- package/dist/agent/infra/llm/internal-llm-service.js +0 -1039
- package/dist/agent/infra/llm/openrouter-llm-service.d.ts +0 -215
- package/dist/agent/infra/llm/openrouter-llm-service.js +0 -572
- package/dist/agent/infra/llm/stream-processor.d.ts +0 -178
- package/dist/agent/infra/llm/stream-processor.js +0 -350
- package/dist/agent/infra/llm/transformers/openrouter-stream-transformer.d.ts +0 -49
- package/dist/agent/infra/llm/transformers/openrouter-stream-transformer.js +0 -270
- package/dist/agent/infra/tools/implementations/bash-exec-tool.d.ts +0 -13
- package/dist/agent/infra/tools/implementations/bash-exec-tool.js +0 -110
- package/dist/agent/infra/tools/implementations/bash-output-tool.d.ts +0 -12
- package/dist/agent/infra/tools/implementations/bash-output-tool.js +0 -43
- package/dist/agent/infra/tools/implementations/batch-tool.d.ts +0 -12
- package/dist/agent/infra/tools/implementations/batch-tool.js +0 -142
- package/dist/agent/infra/tools/implementations/create-knowledge-topic-tool.d.ts +0 -11
- package/dist/agent/infra/tools/implementations/create-knowledge-topic-tool.js +0 -149
- package/dist/agent/infra/tools/implementations/delete-memory-tool.d.ts +0 -12
- package/dist/agent/infra/tools/implementations/delete-memory-tool.js +0 -37
- package/dist/agent/infra/tools/implementations/edit-file-tool.d.ts +0 -13
- package/dist/agent/infra/tools/implementations/edit-file-tool.js +0 -50
- package/dist/agent/infra/tools/implementations/edit-memory-tool.d.ts +0 -13
- package/dist/agent/infra/tools/implementations/edit-memory-tool.js +0 -53
- package/dist/agent/infra/tools/implementations/kill-process-tool.d.ts +0 -12
- package/dist/agent/infra/tools/implementations/kill-process-tool.js +0 -55
- package/dist/agent/infra/tools/implementations/list-memories-tool.d.ts +0 -12
- package/dist/agent/infra/tools/implementations/list-memories-tool.js +0 -63
- package/dist/agent/infra/tools/implementations/read-memory-tool.d.ts +0 -12
- package/dist/agent/infra/tools/implementations/read-memory-tool.js +0 -39
- package/dist/agent/infra/tools/implementations/read-todos-tool.d.ts +0 -11
- package/dist/agent/infra/tools/implementations/read-todos-tool.js +0 -39
- package/dist/agent/infra/tools/implementations/search-history-tool.d.ts +0 -10
- package/dist/agent/infra/tools/implementations/search-history-tool.js +0 -36
- package/dist/agent/infra/tools/implementations/spec-analyze-tool.d.ts +0 -7
- package/dist/agent/infra/tools/implementations/spec-analyze-tool.js +0 -78
- package/dist/agent/infra/tools/implementations/write-memory-tool.d.ts +0 -13
- package/dist/agent/infra/tools/implementations/write-memory-tool.js +0 -52
- package/dist/agent/infra/tools/implementations/write-todos-tool.d.ts +0 -13
- package/dist/agent/infra/tools/implementations/write-todos-tool.js +0 -121
- package/dist/oclif/commands/curate.d.ts +0 -21
- package/dist/oclif/commands/curate.js +0 -96
- package/dist/oclif/commands/init.d.ts +0 -18
- package/dist/oclif/commands/init.js +0 -129
- package/dist/server/core/domain/entities/context-tree-index.d.ts +0 -26
- package/dist/server/core/domain/entities/context-tree-index.js +0 -27
- package/dist/server/core/domain/entities/event.d.ts +0 -8
- package/dist/server/core/domain/entities/event.js +0 -25
- package/dist/server/core/domain/errors/ace-error.d.ts +0 -34
- package/dist/server/core/domain/errors/ace-error.js +0 -53
- package/dist/server/core/domain/errors/brv-config-version-error.d.ts +0 -16
- package/dist/server/core/domain/errors/brv-config-version-error.js +0 -21
- package/dist/server/core/domain/errors/core-process-error.d.ts +0 -27
- package/dist/server/core/domain/errors/core-process-error.js +0 -43
- package/dist/server/core/domain/instance/index.d.ts +0 -1
- package/dist/server/core/domain/instance/index.js +0 -1
- package/dist/server/core/domain/instance/types.d.ts +0 -57
- package/dist/server/core/domain/instance/types.js +0 -72
- package/dist/server/core/interfaces/instance/i-instance-discovery.d.ts +0 -45
- package/dist/server/core/interfaces/instance/i-instance-manager.d.ts +0 -58
- package/dist/server/core/interfaces/instance/index.d.ts +0 -2
- package/dist/server/core/interfaces/instance/index.js +0 -2
- package/dist/server/core/interfaces/noop-implementations.d.ts +0 -53
- package/dist/server/core/interfaces/noop-implementations.js +0 -62
- package/dist/server/core/interfaces/services/i-tracking-service.d.ts +0 -21
- package/dist/server/core/interfaces/usecase/i-connectors-use-case.d.ts +0 -3
- package/dist/server/core/interfaces/usecase/i-curate-use-case.d.ts +0 -14
- package/dist/server/core/interfaces/usecase/i-init-use-case.d.ts +0 -11
- package/dist/server/core/interfaces/usecase/i-login-use-case.d.ts +0 -6
- package/dist/server/core/interfaces/usecase/i-logout-use-case.d.ts +0 -5
- package/dist/server/core/interfaces/usecase/i-pull-use-case.d.ts +0 -7
- package/dist/server/core/interfaces/usecase/i-push-use-case.d.ts +0 -8
- package/dist/server/core/interfaces/usecase/i-query-use-case.d.ts +0 -11
- package/dist/server/core/interfaces/usecase/i-reset-use-case.d.ts +0 -6
- package/dist/server/core/interfaces/usecase/i-space-list-use-case.d.ts +0 -3
- package/dist/server/core/interfaces/usecase/i-space-switch-use-case.d.ts +0 -3
- package/dist/server/core/interfaces/usecase/i-status-use-case.d.ts +0 -6
- package/dist/server/infra/executor/task-processor.d.ts +0 -89
- package/dist/server/infra/executor/task-processor.js +0 -133
- package/dist/server/infra/instance/file-instance-discovery.d.ts +0 -31
- package/dist/server/infra/instance/file-instance-discovery.js +0 -84
- package/dist/server/infra/instance/file-instance-manager.d.ts +0 -46
- package/dist/server/infra/instance/file-instance-manager.js +0 -123
- package/dist/server/infra/instance/index.d.ts +0 -3
- package/dist/server/infra/instance/index.js +0 -3
- package/dist/server/infra/instance/process-utils.d.ts +0 -14
- package/dist/server/infra/instance/process-utils.js +0 -39
- package/dist/server/infra/process/agent-worker.d.ts +0 -20
- package/dist/server/infra/process/agent-worker.js +0 -1392
- package/dist/server/infra/process/inline-agent-executor.d.ts +0 -32
- package/dist/server/infra/process/inline-agent-executor.js +0 -267
- package/dist/server/infra/process/ipc-types.d.ts +0 -68
- package/dist/server/infra/process/ipc-types.js +0 -12
- package/dist/server/infra/process/parent-heartbeat.d.ts +0 -47
- package/dist/server/infra/process/parent-heartbeat.js +0 -118
- package/dist/server/infra/process/process-manager.d.ts +0 -242
- package/dist/server/infra/process/process-manager.js +0 -765
- package/dist/server/infra/process/task-queue-manager.d.ts +0 -125
- package/dist/server/infra/process/task-queue-manager.js +0 -185
- package/dist/server/infra/process/transport-worker.d.ts +0 -20
- package/dist/server/infra/process/transport-worker.js +0 -196
- package/dist/server/infra/storage/keychain-token-store.d.ts +0 -13
- package/dist/server/infra/storage/keychain-token-store.js +0 -42
- package/dist/server/infra/terminal/oclif-terminal.d.ts +0 -19
- package/dist/server/infra/terminal/oclif-terminal.js +0 -60
- package/dist/server/infra/terminal/repl-terminal.d.ts +0 -31
- package/dist/server/infra/terminal/repl-terminal.js +0 -116
- package/dist/server/infra/tracking/mixpanel-tracking-service.d.ts +0 -24
- package/dist/server/infra/tracking/mixpanel-tracking-service.js +0 -49
- package/dist/server/infra/transport/transport-factory.d.ts +0 -17
- package/dist/server/infra/transport/transport-factory.js +0 -31
- package/dist/server/infra/usecase/connectors-use-case.d.ts +0 -63
- package/dist/server/infra/usecase/connectors-use-case.js +0 -234
- package/dist/server/infra/usecase/curate-use-case.d.ts +0 -59
- package/dist/server/infra/usecase/curate-use-case.js +0 -269
- package/dist/server/infra/usecase/init-use-case.d.ts +0 -126
- package/dist/server/infra/usecase/init-use-case.js +0 -538
- package/dist/server/infra/usecase/login-use-case.d.ts +0 -30
- package/dist/server/infra/usecase/login-use-case.js +0 -127
- package/dist/server/infra/usecase/logout-use-case.d.ts +0 -19
- package/dist/server/infra/usecase/logout-use-case.js +0 -48
- package/dist/server/infra/usecase/pull-use-case.d.ts +0 -49
- package/dist/server/infra/usecase/pull-use-case.js +0 -147
- package/dist/server/infra/usecase/push-use-case.d.ts +0 -50
- package/dist/server/infra/usecase/push-use-case.js +0 -191
- package/dist/server/infra/usecase/query-use-case.d.ts +0 -73
- package/dist/server/infra/usecase/query-use-case.js +0 -410
- package/dist/server/infra/usecase/reset-use-case.d.ts +0 -21
- package/dist/server/infra/usecase/reset-use-case.js +0 -60
- package/dist/server/infra/usecase/space-list-use-case.d.ts +0 -27
- package/dist/server/infra/usecase/space-list-use-case.js +0 -64
- package/dist/server/infra/usecase/space-switch-use-case.d.ts +0 -26
- package/dist/server/infra/usecase/space-switch-use-case.js +0 -110
- package/dist/server/infra/usecase/status-use-case.d.ts +0 -75
- package/dist/server/infra/usecase/status-use-case.js +0 -268
- package/dist/server/templates/skill/TROUBLESHOOTING.md +0 -50
- package/dist/server/templates/skill/WORKFLOWS.md +0 -229
- package/dist/server/utils/environment-detector.d.ts +0 -20
- package/dist/server/utils/environment-detector.js +0 -92
- package/dist/tui/app.d.ts +0 -9
- package/dist/tui/app.js +0 -28
- package/dist/tui/commands/arg-parser.d.ts +0 -102
- package/dist/tui/commands/connectors-command.d.ts +0 -8
- package/dist/tui/commands/connectors-command.js +0 -49
- package/dist/tui/commands/curate-command.d.ts +0 -9
- package/dist/tui/commands/curate-command.js +0 -80
- package/dist/tui/commands/index.d.ts +0 -8
- package/dist/tui/commands/index.js +0 -45
- package/dist/tui/commands/init-command.d.ts +0 -7
- package/dist/tui/commands/init-command.js +0 -87
- package/dist/tui/commands/login-command.d.ts +0 -7
- package/dist/tui/commands/login-command.js +0 -50
- package/dist/tui/commands/logout-command.d.ts +0 -5
- package/dist/tui/commands/logout-command.js +0 -46
- package/dist/tui/commands/model-command.d.ts +0 -13
- package/dist/tui/commands/model-command.js +0 -212
- package/dist/tui/commands/new-command.d.ts +0 -14
- package/dist/tui/commands/new-command.js +0 -61
- package/dist/tui/commands/provider-command.d.ts +0 -13
- package/dist/tui/commands/provider-command.js +0 -181
- package/dist/tui/commands/pull-command.d.ts +0 -5
- package/dist/tui/commands/pull-command.js +0 -61
- package/dist/tui/commands/push-command.d.ts +0 -5
- package/dist/tui/commands/push-command.js +0 -66
- package/dist/tui/commands/query-command.d.ts +0 -5
- package/dist/tui/commands/query-command.js +0 -63
- package/dist/tui/commands/reset-command.d.ts +0 -5
- package/dist/tui/commands/reset-command.js +0 -61
- package/dist/tui/commands/space/index.d.ts +0 -5
- package/dist/tui/commands/space/index.js +0 -14
- package/dist/tui/commands/space/list-command.d.ts +0 -5
- package/dist/tui/commands/space/list-command.js +0 -70
- package/dist/tui/commands/space/switch-command.d.ts +0 -5
- package/dist/tui/commands/space/switch-command.js +0 -35
- package/dist/tui/commands/status-command.d.ts +0 -5
- package/dist/tui/commands/status-command.js +0 -39
- package/dist/tui/components/api-key-dialog.d.ts +0 -39
- package/dist/tui/components/api-key-dialog.js +0 -94
- package/dist/tui/components/message-list.d.ts +0 -16
- package/dist/tui/components/message-list.js +0 -120
- package/dist/tui/components/model-dialog.d.ts +0 -63
- package/dist/tui/components/model-dialog.js +0 -89
- package/dist/tui/components/provider-dialog.d.ts +0 -27
- package/dist/tui/components/provider-dialog.js +0 -31
- package/dist/tui/components/tab-bar.d.ts +0 -11
- package/dist/tui/components/tab-bar.js +0 -11
- package/dist/tui/constants.d.ts +0 -6
- package/dist/tui/constants.js +0 -8
- package/dist/tui/contexts/auth-context.d.ts +0 -33
- package/dist/tui/contexts/auth-context.js +0 -193
- package/dist/tui/contexts/commands-context.d.ts +0 -37
- package/dist/tui/contexts/commands-context.js +0 -65
- package/dist/tui/contexts/index.d.ts +0 -11
- package/dist/tui/contexts/index.js +0 -11
- package/dist/tui/contexts/mode-context.d.ts +0 -43
- package/dist/tui/contexts/mode-context.js +0 -70
- package/dist/tui/contexts/onboarding-context.d.ts +0 -49
- package/dist/tui/contexts/onboarding-context.js +0 -193
- package/dist/tui/contexts/services-context.d.ts +0 -32
- package/dist/tui/contexts/services-context.js +0 -27
- package/dist/tui/contexts/tasks-context.d.ts +0 -101
- package/dist/tui/contexts/tasks-context.js +0 -422
- package/dist/tui/contexts/theme-context.d.ts +0 -55
- package/dist/tui/contexts/theme-context.js +0 -62
- package/dist/tui/contexts/transport-context.d.ts +0 -29
- package/dist/tui/contexts/transport-context.js +0 -81
- package/dist/tui/hooks/use-activity-logs.d.ts +0 -18
- package/dist/tui/hooks/use-activity-logs.js +0 -207
- package/dist/tui/hooks/use-auth-polling.d.ts +0 -27
- package/dist/tui/hooks/use-auth-polling.js +0 -118
- package/dist/tui/hooks/use-onboarding-logs.d.ts +0 -17
- package/dist/tui/hooks/use-onboarding-logs.js +0 -26
- package/dist/tui/hooks/use-onboarding.d.ts +0 -7
- package/dist/tui/hooks/use-onboarding.js +0 -6
- package/dist/tui/hooks/use-slash-command-processor.d.ts +0 -16
- package/dist/tui/hooks/use-slash-command-processor.js +0 -132
- package/dist/tui/hooks/use-slash-completion.d.ts +0 -30
- package/dist/tui/hooks/use-slash-completion.js +0 -230
- package/dist/tui/index.d.ts +0 -1
- package/dist/tui/index.js +0 -1
- package/dist/tui/types.d.ts +0 -1
- package/dist/tui/types.js +0 -1
- package/dist/tui/utils/transport-client-helper.d.ts +0 -9
- package/dist/tui/utils/transport-client-helper.js +0 -99
- package/dist/tui/views/index.d.ts +0 -5
- package/dist/tui/views/index.js +0 -5
- package/dist/tui/views/init-view.d.ts +0 -15
- package/dist/tui/views/init-view.js +0 -41
- package/dist/tui/views/login-view.d.ts +0 -10
- package/dist/tui/views/login-view.js +0 -33
- package/dist/tui/views/main-view.d.ts +0 -12
- package/dist/tui/views/main-view.js +0 -20
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-instance-reader.d.ts +0 -19
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-instance-reader.d.ts.map +0 -1
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-instance-reader.js +0 -2
- package/node_modules/@campfirein/brv-transport-client/dist/core/interfaces/i-instance-reader.js.map +0 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/file-instance-discovery.d.ts +0 -32
- package/node_modules/@campfirein/brv-transport-client/dist/infra/file-instance-discovery.d.ts.map +0 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/file-instance-discovery.js +0 -85
- package/node_modules/@campfirein/brv-transport-client/dist/infra/file-instance-discovery.js.map +0 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/file-instance-reader.d.ts +0 -16
- package/node_modules/@campfirein/brv-transport-client/dist/infra/file-instance-reader.d.ts.map +0 -1
- package/node_modules/@campfirein/brv-transport-client/dist/infra/file-instance-reader.js +0 -47
- package/node_modules/@campfirein/brv-transport-client/dist/infra/file-instance-reader.js.map +0 -1
- /package/dist/{server/core/interfaces/instance/i-instance-discovery.js → agent/infra/agent/provider-update-config.js} +0 -0
- /package/dist/server/core/{interfaces/instance/i-instance-manager.js → domain/entities/curate-log-entry.js} +0 -0
- /package/dist/server/core/{interfaces/services/i-tracking-service.js → domain/entities/curation-status.js} +0 -0
- /package/dist/server/core/{interfaces/usecase/i-connectors-use-case.js → domain/transport/task-info.js} +0 -0
- /package/dist/server/core/interfaces/{usecase/i-curate-use-case.js → agent/i-agent-pool.js} +0 -0
- /package/dist/server/core/interfaces/{usecase/i-init-use-case.js → client/i-client-manager.js} +0 -0
- /package/dist/server/core/interfaces/{usecase/i-login-use-case.js → context-tree/i-context-tree-merger.js} +0 -0
- /package/dist/server/core/interfaces/{usecase/i-logout-use-case.js → daemon/i-agent-idle-timeout-policy.js} +0 -0
- /package/dist/server/core/interfaces/{usecase/i-pull-use-case.js → daemon/i-daemon-resilience.js} +0 -0
- /package/dist/server/core/interfaces/{usecase/i-push-use-case.js → daemon/i-heartbeat-writer.js} +0 -0
- /package/dist/server/core/interfaces/{usecase/i-query-use-case.js → daemon/i-idle-timeout-policy.js} +0 -0
- /package/dist/server/core/interfaces/{usecase/i-reset-use-case.js → daemon/i-shutdown-handler.js} +0 -0
- /package/dist/server/core/interfaces/{usecase/i-space-list-use-case.js → hub/i-hub-install-service.js} +0 -0
- /package/dist/server/core/interfaces/{usecase/i-space-switch-use-case.js → hub/i-hub-keychain-store.js} +0 -0
- /package/dist/server/core/interfaces/{usecase/i-status-use-case.js → hub/i-hub-registry-config-store.js} +0 -0
- /package/dist/tui/{commands → features/commands/utils}/arg-parser.js +0 -0
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
import { copyFile, mkdir, opendir, readFile, rename, rm, stat, unlink, writeFile } from 'node:fs/promises';
|
|
2
|
+
import { dirname, extname, join } from 'node:path';
|
|
3
|
+
import { BRV_DIR, CONTEXT_TREE_BACKUP_DIR, CONTEXT_TREE_CONFLICT_DIR, CONTEXT_TREE_DIR } from '../../constants.js';
|
|
4
|
+
import { computeContentHash } from './hash-utils.js';
|
|
5
|
+
import { toUnixPath } from './path-utils.js';
|
|
6
|
+
/**
|
|
7
|
+
* File-based implementation of IContextTreeMerger.
|
|
8
|
+
*
|
|
9
|
+
* Merge decision per file (remote hash compared against last snapshot hash):
|
|
10
|
+
* - Remote unchanged → skip; local version wins regardless of local state.
|
|
11
|
+
* - Remote changed, local clean, preserveLocalFiles=false → overwrite with remote (regular pull).
|
|
12
|
+
* - Remote changed, local clean, preserveLocalFiles=true → conflict (first-time connect; no
|
|
13
|
+
* shared history so the local file is not treated as "old").
|
|
14
|
+
* - Remote changed, local also changed → conflict.
|
|
15
|
+
* Conflict handling: local copy saved to .brv/context-tree-conflicts/ and renamed _N.md;
|
|
16
|
+
* remote content written to the original path.
|
|
17
|
+
*
|
|
18
|
+
* Clean local files absent from remote are deleted (preserveLocalFiles=false) or preserved
|
|
19
|
+
* (preserveLocalFiles=true). Locally-deleted files are re-created if remote has a newer version.
|
|
20
|
+
*
|
|
21
|
+
* A full backup of the context tree is taken before each merge and used for automatic rollback
|
|
22
|
+
* on failure. The backup is deleted after a successful merge.
|
|
23
|
+
*/
|
|
24
|
+
export class FileContextTreeMerger {
|
|
25
|
+
static MAX_RENAME_ATTEMPTS = 100;
|
|
26
|
+
snapshotService;
|
|
27
|
+
constructor(deps) {
|
|
28
|
+
this.snapshotService = deps.snapshotService;
|
|
29
|
+
}
|
|
30
|
+
static isErrnoException(e) {
|
|
31
|
+
return e instanceof Error && 'code' in e;
|
|
32
|
+
}
|
|
33
|
+
async merge(params) {
|
|
34
|
+
const { directory, files, localChanges, preserveLocalFiles = false } = params;
|
|
35
|
+
const contextTreeDir = join(directory, BRV_DIR, CONTEXT_TREE_DIR);
|
|
36
|
+
const backupDir = join(directory, BRV_DIR, CONTEXT_TREE_BACKUP_DIR);
|
|
37
|
+
const conflictDir = join(directory, BRV_DIR, CONTEXT_TREE_CONFLICT_DIR);
|
|
38
|
+
// Capture pre-merge disk state and saved snapshot state for comparison
|
|
39
|
+
const localState = await this.snapshotService.getCurrentState(directory);
|
|
40
|
+
const snapshotState = await this.snapshotService.getSnapshotState(directory);
|
|
41
|
+
// Only added/modified files can conflict — deleted files are absent from disk so they
|
|
42
|
+
// cannot be read during conflict handling. Locally-deleted + remote-changed falls through
|
|
43
|
+
// to the "file not on disk" branch in runMerge(), where remote wins by re-creating the file.
|
|
44
|
+
const locallyChangedPaths = new Set([...localChanges.added, ...localChanges.modified]);
|
|
45
|
+
const remoteFilesMap = this.buildRemoteFilesMap(files);
|
|
46
|
+
// Clear any leftover backup or conflict folder from a previous merge.
|
|
47
|
+
await rm(backupDir, { force: true, recursive: true });
|
|
48
|
+
await rm(conflictDir, { force: true, recursive: true });
|
|
49
|
+
// Backup local context tree as a safety net for rollback on failure.
|
|
50
|
+
try {
|
|
51
|
+
await this.copyDir(contextTreeDir, backupDir);
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
if (!FileContextTreeMerger.isErrnoException(error) || error.code !== 'ENOENT')
|
|
55
|
+
throw error;
|
|
56
|
+
// Context tree dir does not exist — nothing to back up, continue
|
|
57
|
+
}
|
|
58
|
+
try {
|
|
59
|
+
const result = await this.runMerge({
|
|
60
|
+
conflictDir,
|
|
61
|
+
contextTreeDir,
|
|
62
|
+
locallyChangedPaths,
|
|
63
|
+
localState,
|
|
64
|
+
preserveLocalFiles,
|
|
65
|
+
remoteFilesMap,
|
|
66
|
+
snapshotState,
|
|
67
|
+
});
|
|
68
|
+
// Save snapshot atomically before deleting backup.
|
|
69
|
+
// If this fails, the catch block will restore the context tree from the backup.
|
|
70
|
+
await this.snapshotService.saveSnapshotFromState(result.remoteFileStates, directory);
|
|
71
|
+
// Snapshot saved — backup is no longer needed.
|
|
72
|
+
await rm(backupDir, { force: true, recursive: true });
|
|
73
|
+
const mergeResult = {
|
|
74
|
+
added: result.added,
|
|
75
|
+
conflicted: result.conflicted,
|
|
76
|
+
deleted: result.deleted,
|
|
77
|
+
edited: result.edited,
|
|
78
|
+
restoredFromRemote: result.restoredFromRemote,
|
|
79
|
+
};
|
|
80
|
+
return mergeResult;
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
// Failure: automatically restore context tree from backup.
|
|
84
|
+
await rm(contextTreeDir, { force: true, recursive: true });
|
|
85
|
+
try {
|
|
86
|
+
await rename(backupDir, contextTreeDir);
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
// Backup does not exist (context tree was empty before merge) — context tree is cleanly absent.
|
|
90
|
+
}
|
|
91
|
+
// Remove any partial conflict directory created before the failure.
|
|
92
|
+
await rm(conflictDir, { force: true, recursive: true }).catch(() => { });
|
|
93
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
94
|
+
throw new Error(`Merge failed: ${message}. Context tree has been restored to its original state.`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Builds a map of remote files with normalized paths and decoded content.
|
|
99
|
+
*/
|
|
100
|
+
buildRemoteFilesMap(files) {
|
|
101
|
+
const result = new Map();
|
|
102
|
+
for (const file of files) {
|
|
103
|
+
const normalPath = toUnixPath(file.path).replace(/^\/+/, '');
|
|
104
|
+
result.set(normalPath, { decodedContent: file.decodeContent() });
|
|
105
|
+
}
|
|
106
|
+
return result;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Recursively copies a directory tree from src to dest.
|
|
110
|
+
*/
|
|
111
|
+
async copyDir(src, dest) {
|
|
112
|
+
await mkdir(dest, { recursive: true });
|
|
113
|
+
const dir = await opendir(src);
|
|
114
|
+
for await (const entry of dir) {
|
|
115
|
+
const srcPath = join(src, entry.name);
|
|
116
|
+
const destPath = join(dest, entry.name);
|
|
117
|
+
await (entry.isDirectory() ? this.copyDir(srcPath, destPath) : copyFile(srcPath, destPath));
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Finds the first available filename by inserting _N before the extension.
|
|
122
|
+
* e.g. "path/to/file.md" → "path/to/file_1.md", "path/to/file_2.md", …
|
|
123
|
+
*/
|
|
124
|
+
async findAvailableName(contextTreeDir, relativePath) {
|
|
125
|
+
const ext = extname(relativePath); // '.md'
|
|
126
|
+
const withoutExt = relativePath.slice(0, -ext.length); // 'path/to/file'
|
|
127
|
+
for (let n = 1; n <= FileContextTreeMerger.MAX_RENAME_ATTEMPTS; n++) {
|
|
128
|
+
const candidate = `${withoutExt}_${n}${ext}`;
|
|
129
|
+
const fullPath = join(contextTreeDir, candidate);
|
|
130
|
+
try {
|
|
131
|
+
// eslint-disable-next-line no-await-in-loop
|
|
132
|
+
await stat(fullPath);
|
|
133
|
+
// File exists — try next number
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
return candidate;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
throw new Error(`Cannot find available name for ${relativePath} after ${FileContextTreeMerger.MAX_RENAME_ATTEMPTS} attempts`);
|
|
140
|
+
}
|
|
141
|
+
async runMerge(params) {
|
|
142
|
+
const { conflictDir, contextTreeDir, locallyChangedPaths, localState, preserveLocalFiles, remoteFilesMap, snapshotState, } = params;
|
|
143
|
+
const added = [];
|
|
144
|
+
const edited = [];
|
|
145
|
+
const deleted = [];
|
|
146
|
+
const conflicted = [];
|
|
147
|
+
const restoredFromRemote = [];
|
|
148
|
+
const remoteFileStates = new Map();
|
|
149
|
+
/* eslint-disable no-await-in-loop */
|
|
150
|
+
for (const [normalPath, file] of remoteFilesMap) {
|
|
151
|
+
const targetPath = join(contextTreeDir, normalPath);
|
|
152
|
+
const remoteHash = computeContentHash(file.decodedContent);
|
|
153
|
+
const snapshotHash = snapshotState.get(normalPath)?.hash;
|
|
154
|
+
remoteFileStates.set(normalPath, {
|
|
155
|
+
hash: remoteHash,
|
|
156
|
+
size: Buffer.byteLength(file.decodedContent, 'utf8'),
|
|
157
|
+
});
|
|
158
|
+
if (remoteHash === snapshotHash) {
|
|
159
|
+
// Remote has NOT changed this file — local wins, skip regardless of local state
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
// Remote has changed this file (or it is new to remote).
|
|
163
|
+
if (locallyChangedPaths.has(normalPath)) {
|
|
164
|
+
// Both sides changed — check if content is actually different before treating as conflict.
|
|
165
|
+
const localContent = await readFile(targetPath, 'utf8');
|
|
166
|
+
if (localContent === file.decodedContent) {
|
|
167
|
+
// Both sides converged on the same content — no real conflict, treat as edited.
|
|
168
|
+
edited.push(normalPath);
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
// True conflict: preserve original local in conflict dir, rename local to _N.md,
|
|
172
|
+
// write remote to original path.
|
|
173
|
+
const newRelPath = await this.writeConflict({
|
|
174
|
+
conflictDir,
|
|
175
|
+
contextTreeDir,
|
|
176
|
+
localContent,
|
|
177
|
+
normalPath,
|
|
178
|
+
remoteContent: file.decodedContent,
|
|
179
|
+
targetPath,
|
|
180
|
+
});
|
|
181
|
+
added.push(newRelPath);
|
|
182
|
+
conflicted.push(normalPath);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
else if (localState.has(normalPath)) {
|
|
186
|
+
if (preserveLocalFiles) {
|
|
187
|
+
// First-time connect: no shared history — treat tracked+clean file as a conflict.
|
|
188
|
+
// Convergence cannot occur here: local is clean (equals snapshot) and remote hash ≠
|
|
189
|
+
// snapshot hash, so the contents are guaranteed to differ.
|
|
190
|
+
const localContent = await readFile(targetPath, 'utf8');
|
|
191
|
+
const newRelPath = await this.writeConflict({
|
|
192
|
+
conflictDir,
|
|
193
|
+
contextTreeDir,
|
|
194
|
+
localContent,
|
|
195
|
+
normalPath,
|
|
196
|
+
remoteContent: file.decodedContent,
|
|
197
|
+
targetPath,
|
|
198
|
+
});
|
|
199
|
+
added.push(newRelPath);
|
|
200
|
+
conflicted.push(normalPath);
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
// Regular pull: file exists locally and is clean — overwrite with remote
|
|
204
|
+
await writeFile(targetPath, file.decodedContent, 'utf8');
|
|
205
|
+
edited.push(normalPath);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
// File not on disk — either new from remote or locally deleted with remote having newer version.
|
|
210
|
+
await mkdir(dirname(targetPath), { recursive: true });
|
|
211
|
+
await writeFile(targetPath, file.decodedContent, 'utf8');
|
|
212
|
+
if (snapshotState.has(normalPath)) {
|
|
213
|
+
// File was in the last snapshot but is absent from disk — user deleted it.
|
|
214
|
+
// Remote has a newer version so it is restored. Track this so the caller can notify the user.
|
|
215
|
+
restoredFromRemote.push(normalPath);
|
|
216
|
+
}
|
|
217
|
+
added.push(normalPath);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
// Apply remote deletions: if a file no longer exists in remote, remote deleted it — sync
|
|
221
|
+
// that deletion locally. Skip files with local changes so the user's work is not lost.
|
|
222
|
+
//
|
|
223
|
+
// Skip entirely when preserveLocalFiles=true (first-time space connect): the local context
|
|
224
|
+
// tree has no shared history with the target space, so "absent from remote" means
|
|
225
|
+
// "remote has never seen it", not "remote deleted it".
|
|
226
|
+
if (!preserveLocalFiles) {
|
|
227
|
+
for (const localPath of localState.keys()) {
|
|
228
|
+
const isLocallyChanged = locallyChangedPaths.has(localPath);
|
|
229
|
+
const isInRemote = remoteFilesMap.has(localPath);
|
|
230
|
+
if (!isLocallyChanged && !isInRemote) {
|
|
231
|
+
await unlink(join(contextTreeDir, localPath));
|
|
232
|
+
deleted.push(localPath);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
/* eslint-enable no-await-in-loop */
|
|
237
|
+
return { added, conflicted, deleted, edited, remoteFileStates, restoredFromRemote };
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Handles a true conflict: saves the local content to the conflict dir and as a _N.md
|
|
241
|
+
* rename, then writes remote content to the original path.
|
|
242
|
+
*
|
|
243
|
+
* @returns The _N.md relative path that the local content was saved to.
|
|
244
|
+
*/
|
|
245
|
+
async writeConflict(params) {
|
|
246
|
+
const { conflictDir, contextTreeDir, localContent, normalPath, remoteContent, targetPath } = params;
|
|
247
|
+
// Copy original to conflict dir for review
|
|
248
|
+
const conflictTargetPath = join(conflictDir, normalPath);
|
|
249
|
+
await mkdir(dirname(conflictTargetPath), { recursive: true });
|
|
250
|
+
await writeFile(conflictTargetPath, localContent, 'utf8');
|
|
251
|
+
// Save local version at _N.md
|
|
252
|
+
const newRelPath = await this.findAvailableName(contextTreeDir, normalPath);
|
|
253
|
+
const newTargetPath = join(contextTreeDir, newRelPath);
|
|
254
|
+
await mkdir(dirname(newTargetPath), { recursive: true });
|
|
255
|
+
await writeFile(newTargetPath, localContent, 'utf8');
|
|
256
|
+
// Write remote to original path
|
|
257
|
+
await mkdir(dirname(targetPath), { recursive: true });
|
|
258
|
+
await writeFile(targetPath, remoteContent, 'utf8');
|
|
259
|
+
return newRelPath;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
@@ -9,6 +9,7 @@ export type ContextTreeServiceConfig = {
|
|
|
9
9
|
export declare class FileContextTreeService implements IContextTreeService {
|
|
10
10
|
private readonly config;
|
|
11
11
|
constructor(config?: ContextTreeServiceConfig);
|
|
12
|
+
delete(directory?: string): Promise<void>;
|
|
12
13
|
exists(directory?: string): Promise<boolean>;
|
|
13
14
|
initialize(directory?: string): Promise<string>;
|
|
14
15
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { access, mkdir } from 'node:fs/promises';
|
|
1
|
+
import { access, mkdir, rm } from 'node:fs/promises';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { BRV_DIR, CONTEXT_TREE_DIR } from '../../constants.js';
|
|
4
4
|
/**
|
|
@@ -10,6 +10,11 @@ export class FileContextTreeService {
|
|
|
10
10
|
constructor(config = {}) {
|
|
11
11
|
this.config = config;
|
|
12
12
|
}
|
|
13
|
+
async delete(directory) {
|
|
14
|
+
const baseDir = directory ?? this.config.baseDirectory ?? process.cwd();
|
|
15
|
+
const contextTreeDir = join(baseDir, BRV_DIR, CONTEXT_TREE_DIR);
|
|
16
|
+
await rm(contextTreeDir, { force: true, recursive: true });
|
|
17
|
+
}
|
|
13
18
|
async exists(directory) {
|
|
14
19
|
const baseDir = directory ?? this.config.baseDirectory ?? process.cwd();
|
|
15
20
|
const contextTreeDir = join(baseDir, BRV_DIR, CONTEXT_TREE_DIR);
|
|
@@ -12,13 +12,11 @@ export declare class FileContextTreeSnapshotService implements IContextTreeSnaps
|
|
|
12
12
|
constructor(config?: ContextTreeSnapshotServiceConfig);
|
|
13
13
|
getChanges(directory?: string): Promise<ContextTreeChanges>;
|
|
14
14
|
getCurrentState(directory?: string): Promise<Map<string, FileState>>;
|
|
15
|
+
getSnapshotState(directory?: string): Promise<Map<string, FileState>>;
|
|
15
16
|
hasSnapshot(directory?: string): Promise<boolean>;
|
|
16
17
|
initEmptySnapshot(directory?: string): Promise<void>;
|
|
17
18
|
saveSnapshot(directory?: string): Promise<void>;
|
|
18
|
-
|
|
19
|
-
* Computes SHA-256 hash of file content.
|
|
20
|
-
*/
|
|
21
|
-
private computeHash;
|
|
19
|
+
saveSnapshotFromState(state: Map<string, FileState>, directory?: string): Promise<void>;
|
|
22
20
|
/**
|
|
23
21
|
* Loads snapshot from file.
|
|
24
22
|
*/
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { join, relative } from 'node:path';
|
|
1
|
+
import { mkdir, readdir, readFile, stat, writeFile } from 'node:fs/promises';
|
|
2
|
+
import { dirname, join, relative } from 'node:path';
|
|
4
3
|
import { BRV_DIR, CONTEXT_FILE_EXTENSION, CONTEXT_TREE_DIR, README_FILE, SNAPSHOT_FILE } from '../../constants.js';
|
|
5
4
|
import { ContextTreeSnapshot, } from '../../core/domain/entities/context-tree-snapshot.js';
|
|
5
|
+
import { computeContentHash } from './hash-utils.js';
|
|
6
6
|
import { toUnixPath } from './path-utils.js';
|
|
7
7
|
/**
|
|
8
8
|
* File-based implementation of IContextTreeSnapshotService.
|
|
@@ -37,6 +37,14 @@ export class FileContextTreeSnapshotService {
|
|
|
37
37
|
}
|
|
38
38
|
return files;
|
|
39
39
|
}
|
|
40
|
+
async getSnapshotState(directory) {
|
|
41
|
+
const baseDir = directory ?? this.config.baseDirectory ?? process.cwd();
|
|
42
|
+
const contextTreeDir = join(baseDir, BRV_DIR, CONTEXT_TREE_DIR);
|
|
43
|
+
const snapshot = await this.loadSnapshot(contextTreeDir);
|
|
44
|
+
if (!snapshot)
|
|
45
|
+
return new Map();
|
|
46
|
+
return new Map(snapshot.files);
|
|
47
|
+
}
|
|
40
48
|
async hasSnapshot(directory) {
|
|
41
49
|
const baseDir = directory ?? this.config.baseDirectory ?? process.cwd();
|
|
42
50
|
const snapshotPath = join(baseDir, BRV_DIR, CONTEXT_TREE_DIR, SNAPSHOT_FILE);
|
|
@@ -63,11 +71,13 @@ export class FileContextTreeSnapshotService {
|
|
|
63
71
|
const snapshot = ContextTreeSnapshot.create(currentState);
|
|
64
72
|
await writeFile(snapshotPath, JSON.stringify(snapshot.toJson(), null, 2), 'utf8');
|
|
65
73
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
74
|
+
async saveSnapshotFromState(state, directory) {
|
|
75
|
+
const baseDir = directory ?? this.config.baseDirectory ?? process.cwd();
|
|
76
|
+
const contextTreeDir = join(baseDir, BRV_DIR, CONTEXT_TREE_DIR);
|
|
77
|
+
const snapshotPath = join(contextTreeDir, SNAPSHOT_FILE);
|
|
78
|
+
await mkdir(dirname(snapshotPath), { recursive: true });
|
|
79
|
+
const snapshot = ContextTreeSnapshot.create(state);
|
|
80
|
+
await writeFile(snapshotPath, JSON.stringify(snapshot.toJson(), null, 2), 'utf8');
|
|
71
81
|
}
|
|
72
82
|
/**
|
|
73
83
|
* Loads snapshot from file.
|
|
@@ -90,7 +100,7 @@ export class FileContextTreeSnapshotService {
|
|
|
90
100
|
const relativePath = toUnixPath(relative(rootDir, fullPath));
|
|
91
101
|
const [content, fileStat] = await Promise.all([readFile(fullPath), stat(fullPath)]);
|
|
92
102
|
files.set(relativePath, {
|
|
93
|
-
hash:
|
|
103
|
+
hash: computeContentHash(content),
|
|
94
104
|
size: fileStat.size,
|
|
95
105
|
});
|
|
96
106
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
/**
|
|
3
|
+
* Computes SHA-256 hash of file content.
|
|
4
|
+
* Accepts both string (decoded text) and Buffer (raw bytes) so that
|
|
5
|
+
* all callers produce identical digests for the same content.
|
|
6
|
+
*/
|
|
7
|
+
export function computeContentHash(content) {
|
|
8
|
+
return createHash('sha256').update(content).digest('hex');
|
|
9
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { IAgentIdleTimeoutPolicy } from '../../core/interfaces/daemon/i-agent-idle-timeout-policy.js';
|
|
2
|
+
export interface AgentIdleTimeoutPolicyOptions {
|
|
3
|
+
readonly checkIntervalMs?: number;
|
|
4
|
+
readonly getQueueLength: (projectPath: string) => number;
|
|
5
|
+
readonly log: (message: string) => void;
|
|
6
|
+
readonly onAgentIdle: (projectPath: string, queueLength: number) => void;
|
|
7
|
+
readonly timeoutMs?: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Tracks agent activity to auto-cleanup idle agents after a period of inactivity.
|
|
11
|
+
*
|
|
12
|
+
* Uses recursive setTimeout (not setInterval) for safe cancellation.
|
|
13
|
+
* Fires callback for all idle agents in a single sweep.
|
|
14
|
+
*/
|
|
15
|
+
export declare class AgentIdleTimeoutPolicy implements IAgentIdleTimeoutPolicy {
|
|
16
|
+
private readonly agentActivity;
|
|
17
|
+
private readonly checkIntervalMs;
|
|
18
|
+
private readonly getQueueLength;
|
|
19
|
+
private isRunning;
|
|
20
|
+
private readonly log;
|
|
21
|
+
private readonly onAgentIdle;
|
|
22
|
+
private timeoutId;
|
|
23
|
+
private readonly timeoutMs;
|
|
24
|
+
constructor(options: AgentIdleTimeoutPolicyOptions);
|
|
25
|
+
getIdleStatus(): Array<{
|
|
26
|
+
idleMs: number;
|
|
27
|
+
projectPath: string;
|
|
28
|
+
remainingMs: number;
|
|
29
|
+
}>;
|
|
30
|
+
onAgentActivity(projectPath: string): void;
|
|
31
|
+
removeAgent(projectPath: string): void;
|
|
32
|
+
start(): void;
|
|
33
|
+
stop(): void;
|
|
34
|
+
private checkIdleAgents;
|
|
35
|
+
private scheduleCheck;
|
|
36
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { AGENT_IDLE_CHECK_INTERVAL_MS, AGENT_IDLE_TIMEOUT_MS } from '../../constants.js';
|
|
2
|
+
/**
|
|
3
|
+
* Tracks agent activity to auto-cleanup idle agents after a period of inactivity.
|
|
4
|
+
*
|
|
5
|
+
* Uses recursive setTimeout (not setInterval) for safe cancellation.
|
|
6
|
+
* Fires callback for all idle agents in a single sweep.
|
|
7
|
+
*/
|
|
8
|
+
export class AgentIdleTimeoutPolicy {
|
|
9
|
+
agentActivity = new Map(); // projectPath → lastActivityAt
|
|
10
|
+
checkIntervalMs;
|
|
11
|
+
getQueueLength;
|
|
12
|
+
isRunning = false;
|
|
13
|
+
log;
|
|
14
|
+
onAgentIdle;
|
|
15
|
+
timeoutId;
|
|
16
|
+
timeoutMs;
|
|
17
|
+
constructor(options) {
|
|
18
|
+
this.checkIntervalMs = options.checkIntervalMs ?? AGENT_IDLE_CHECK_INTERVAL_MS;
|
|
19
|
+
this.getQueueLength = options.getQueueLength;
|
|
20
|
+
this.log = options.log;
|
|
21
|
+
this.onAgentIdle = options.onAgentIdle;
|
|
22
|
+
this.timeoutMs = options.timeoutMs ?? AGENT_IDLE_TIMEOUT_MS;
|
|
23
|
+
}
|
|
24
|
+
getIdleStatus() {
|
|
25
|
+
const now = Date.now();
|
|
26
|
+
const result = [];
|
|
27
|
+
for (const [projectPath, lastActivityAt] of this.agentActivity.entries()) {
|
|
28
|
+
const idleMs = now - lastActivityAt;
|
|
29
|
+
const remainingMs = Math.max(0, this.timeoutMs - idleMs);
|
|
30
|
+
result.push({ idleMs, projectPath, remainingMs });
|
|
31
|
+
}
|
|
32
|
+
return result;
|
|
33
|
+
}
|
|
34
|
+
onAgentActivity(projectPath) {
|
|
35
|
+
this.agentActivity.set(projectPath, Date.now());
|
|
36
|
+
}
|
|
37
|
+
removeAgent(projectPath) {
|
|
38
|
+
this.agentActivity.delete(projectPath);
|
|
39
|
+
}
|
|
40
|
+
start() {
|
|
41
|
+
if (this.isRunning)
|
|
42
|
+
return;
|
|
43
|
+
this.isRunning = true;
|
|
44
|
+
this.log('Agent idle timeout policy started');
|
|
45
|
+
this.scheduleCheck();
|
|
46
|
+
}
|
|
47
|
+
stop() {
|
|
48
|
+
if (!this.isRunning)
|
|
49
|
+
return;
|
|
50
|
+
this.isRunning = false;
|
|
51
|
+
this.log('Agent idle timeout policy stopped');
|
|
52
|
+
if (this.timeoutId !== undefined) {
|
|
53
|
+
clearTimeout(this.timeoutId);
|
|
54
|
+
this.timeoutId = undefined;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
checkIdleAgents() {
|
|
58
|
+
const now = Date.now();
|
|
59
|
+
const idleProjectPaths = [];
|
|
60
|
+
// Find all idle agents
|
|
61
|
+
for (const [projectPath, lastActivityAt] of this.agentActivity.entries()) {
|
|
62
|
+
const idleTime = now - lastActivityAt;
|
|
63
|
+
if (idleTime >= this.timeoutMs) {
|
|
64
|
+
idleProjectPaths.push(projectPath);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
// Fire callback for each idle agent
|
|
68
|
+
for (const projectPath of idleProjectPaths) {
|
|
69
|
+
try {
|
|
70
|
+
const queueLength = this.getQueueLength(projectPath);
|
|
71
|
+
this.log(`Agent idle timeout (${this.timeoutMs}ms): ${projectPath}`);
|
|
72
|
+
this.onAgentIdle(projectPath, queueLength);
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
76
|
+
this.log(`onAgentIdle callback failed for ${projectPath}: ${message}`);
|
|
77
|
+
// Continue checking other agents even if one fails
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
scheduleCheck() {
|
|
82
|
+
if (!this.isRunning)
|
|
83
|
+
return;
|
|
84
|
+
this.timeoutId = setTimeout(() => {
|
|
85
|
+
this.checkIdleAgents();
|
|
86
|
+
this.scheduleCheck(); // Recursive scheduling
|
|
87
|
+
}, this.checkIntervalMs);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a logger function that writes timestamped messages to a log file.
|
|
3
|
+
*
|
|
4
|
+
* @param logPath - Absolute path to the log file (from BRV_SESSION_LOG env var).
|
|
5
|
+
* If undefined/empty, returns a no-op so that logging never throws.
|
|
6
|
+
* @param prefix - Label prepended to every message (e.g. "[agent-process:/path]").
|
|
7
|
+
*
|
|
8
|
+
* Write failures are swallowed — logging must never block or crash the agent.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createAgentLogger(logPath: string | undefined, prefix: string): (message: string) => void;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { appendFileSync } from 'node:fs';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a logger function that writes timestamped messages to a log file.
|
|
4
|
+
*
|
|
5
|
+
* @param logPath - Absolute path to the log file (from BRV_SESSION_LOG env var).
|
|
6
|
+
* If undefined/empty, returns a no-op so that logging never throws.
|
|
7
|
+
* @param prefix - Label prepended to every message (e.g. "[agent-process:/path]").
|
|
8
|
+
*
|
|
9
|
+
* Write failures are swallowed — logging must never block or crash the agent.
|
|
10
|
+
*/
|
|
11
|
+
export function createAgentLogger(logPath, prefix) {
|
|
12
|
+
if (!logPath)
|
|
13
|
+
return () => { };
|
|
14
|
+
return (message) => {
|
|
15
|
+
try {
|
|
16
|
+
appendFileSync(logPath, `${new Date().toISOString()} ${prefix} ${message}\n`);
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
// ignore — never block on logging
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentPool - Manages up to N forked child process agents.
|
|
3
|
+
*
|
|
4
|
+
* Each agent is a separate Node.js process (child_process.fork())
|
|
5
|
+
* associated with a projectPath. Communicates with agents via the
|
|
6
|
+
* daemon's transport server (Socket.IO).
|
|
7
|
+
*
|
|
8
|
+
* When the pool is full, submitTask() returns an error for new projects.
|
|
9
|
+
* Existing agents can still queue tasks. Idle agents are automatically
|
|
10
|
+
* cleaned up by AgentIdleTimeoutPolicy after a period of inactivity.
|
|
11
|
+
*
|
|
12
|
+
* Pool is pure lifecycle management — zero knowledge of auth,
|
|
13
|
+
* project config, or agent internals. Each child process handles
|
|
14
|
+
* all agent setup independently.
|
|
15
|
+
*
|
|
16
|
+
* Consumed by:
|
|
17
|
+
* - brv-server.ts: instantiation and wiring
|
|
18
|
+
* - TransportHandlers: delegates task submission via submitTask()
|
|
19
|
+
* - ClientManager.onProjectEmpty → markIdle() for potential cleanup
|
|
20
|
+
*/
|
|
21
|
+
import type { ChildProcess } from 'node:child_process';
|
|
22
|
+
import type { TaskExecute } from '../../core/domain/transport/schemas.js';
|
|
23
|
+
import type { AgentEntryInfo, IAgentPool, SubmitTaskResult } from '../../core/interfaces/agent/i-agent-pool.js';
|
|
24
|
+
import type { IAgentIdleTimeoutPolicy } from '../../core/interfaces/daemon/i-agent-idle-timeout-policy.js';
|
|
25
|
+
import type { ITransportServer } from '../../core/interfaces/transport/i-transport-server.js';
|
|
26
|
+
/**
|
|
27
|
+
* Factory function that forks a child process for an agent.
|
|
28
|
+
* Injected by consumer (brv-server.ts). Pool has no knowledge
|
|
29
|
+
* of CipherAgent, auth, or agent internals.
|
|
30
|
+
*
|
|
31
|
+
* The factory handles fork() invocation with correct module path
|
|
32
|
+
* and env vars (port, projectPath). Pool only provides projectPath.
|
|
33
|
+
* The returned ChildProcess must send IPC { type: 'ready', clientId }
|
|
34
|
+
* once initialized and connected to the transport server.
|
|
35
|
+
*/
|
|
36
|
+
export type AgentProcessFactory = (projectPath: string) => ChildProcess;
|
|
37
|
+
type AgentPoolOptions = {
|
|
38
|
+
agentIdleTimeoutPolicy?: IAgentIdleTimeoutPolicy;
|
|
39
|
+
agentProcessFactory: AgentProcessFactory;
|
|
40
|
+
log?: (message: string) => void;
|
|
41
|
+
maxConcurrentTasks?: number;
|
|
42
|
+
maxSize?: number;
|
|
43
|
+
readyTimeoutMs?: number;
|
|
44
|
+
stopTimeoutMs?: number;
|
|
45
|
+
transportServer: ITransportServer;
|
|
46
|
+
};
|
|
47
|
+
export declare class AgentPool implements IAgentPool {
|
|
48
|
+
private readonly agentIdleTimeoutPolicy?;
|
|
49
|
+
private readonly agentProcessFactory;
|
|
50
|
+
private readonly agents;
|
|
51
|
+
private readonly log;
|
|
52
|
+
private readonly maxConcurrentTasks;
|
|
53
|
+
private readonly maxSize;
|
|
54
|
+
private readonly pendingForks;
|
|
55
|
+
private readonly readyTimeoutMs;
|
|
56
|
+
private shutdownRequested;
|
|
57
|
+
private readonly stopTimeoutMs;
|
|
58
|
+
private readonly taskQueue;
|
|
59
|
+
private readonly transportServer;
|
|
60
|
+
constructor(options: AgentPoolOptions);
|
|
61
|
+
getEntries(): readonly AgentEntryInfo[];
|
|
62
|
+
/**
|
|
63
|
+
* Returns task queue summary for debugging.
|
|
64
|
+
* Used by daemon:getState handler in brv-server.ts.
|
|
65
|
+
*/
|
|
66
|
+
getQueueState(): Array<{
|
|
67
|
+
projectPath: string;
|
|
68
|
+
queueLength: number;
|
|
69
|
+
}>;
|
|
70
|
+
getSize(): number;
|
|
71
|
+
/**
|
|
72
|
+
* Handle agent socket disconnection.
|
|
73
|
+
* Removes the agent entry, best-effort stops the child process,
|
|
74
|
+
* and re-forks a new agent if queued tasks remain.
|
|
75
|
+
*/
|
|
76
|
+
handleAgentDisconnected(projectPath: string): void;
|
|
77
|
+
hasAgent(projectPath: string): boolean;
|
|
78
|
+
markIdle(projectPath: string): void;
|
|
79
|
+
/**
|
|
80
|
+
* Called by TransportHandlers when an agent completes or errors a task.
|
|
81
|
+
* Decrements active task count and drains queued tasks for the project.
|
|
82
|
+
*/
|
|
83
|
+
notifyTaskCompleted(projectPath: string): void;
|
|
84
|
+
shutdown(): Promise<void>;
|
|
85
|
+
submitTask(task: TaskExecute): Promise<SubmitTaskResult>;
|
|
86
|
+
private createAgentAndExecute;
|
|
87
|
+
private drainQueue;
|
|
88
|
+
/**
|
|
89
|
+
* Evict the least-recently-used idle agent to make room for a new project.
|
|
90
|
+
* Only evicts agents that are idle (no more external clients), have no active
|
|
91
|
+
* tasks, and have no queued tasks. Returns true if an agent was evicted.
|
|
92
|
+
*
|
|
93
|
+
* Invariant: evicted agents always have an empty task queue (enforced by the
|
|
94
|
+
* `getQueueLength === 0` guard), so `removeAgentAndRetryQueue` will never
|
|
95
|
+
* trigger a re-fork for the evicted project. This is what keeps eviction safe
|
|
96
|
+
* without going through `submitTask`'s capacity check.
|
|
97
|
+
*/
|
|
98
|
+
private evictIdleAgent;
|
|
99
|
+
private forkAgent;
|
|
100
|
+
/**
|
|
101
|
+
* Shared cleanup: remove agent entry, stop process, and re-fork
|
|
102
|
+
* a new agent if queued tasks remain for the project.
|
|
103
|
+
*
|
|
104
|
+
* Idempotent: no-op if agent was already removed.
|
|
105
|
+
*/
|
|
106
|
+
private removeAgentAndRetryQueue;
|
|
107
|
+
private sendTaskToAgent;
|
|
108
|
+
private stopChildProcess;
|
|
109
|
+
private tryCreateAndExecute;
|
|
110
|
+
private waitForReady;
|
|
111
|
+
}
|
|
112
|
+
export {};
|