@lotagate/cli 0.1.24 → 0.1.26
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 +75 -7
- package/SECURITY.md +2 -0
- package/bin/lotagate.mjs +50 -8
- package/dist/application/agent/agent-constants.d.ts +6 -0
- package/dist/application/agent/agent-constants.js +1 -0
- package/dist/application/agent/agent-history.d.ts +3 -0
- package/dist/application/agent/agent-history.js +5 -0
- package/dist/application/agent/agent-input-context.d.ts +12 -0
- package/dist/application/agent/agent-input-context.js +5 -0
- package/dist/application/agent/agent-limit.d.ts +3 -0
- package/dist/application/agent/agent-limit.js +1 -0
- package/dist/application/agent/agent-run-tracker.d.ts +30 -0
- package/dist/application/agent/agent-run-tracker.js +1 -0
- package/dist/application/agent/agent-runtime-context.d.ts +22 -0
- package/dist/application/agent/agent-runtime-context.js +1 -0
- package/dist/application/agent/agent-session-store-registry.d.ts +16 -0
- package/dist/application/agent/agent-session-store-registry.js +1 -0
- package/dist/application/agent/agent-session-store.d.ts +23 -0
- package/dist/application/agent/agent-session-store.js +6 -0
- package/dist/application/agent/capability-profile.d.ts +17 -0
- package/dist/application/agent/capability-profile.js +0 -0
- package/dist/application/agent/cli-agent-execution-service.d.ts +120 -0
- package/dist/application/agent/cli-agent-execution-service.js +1 -0
- package/dist/application/agent/cli-agent-preparation-cache.d.ts +39 -0
- package/dist/application/agent/cli-agent-preparation-cache.js +1 -0
- package/dist/application/agent/cli-agent-run-request.d.ts +12 -0
- package/dist/application/agent/cli-agent-run-request.js +0 -0
- package/dist/application/agent/context-compaction-persistence.d.ts +8 -0
- package/dist/application/agent/context-compaction-persistence.js +1 -0
- package/dist/application/agent/context-compaction.d.ts +22 -0
- package/dist/application/agent/context-compaction.js +8 -0
- package/dist/application/agent/context-token-cache.d.ts +21 -0
- package/dist/application/agent/context-token-cache.js +4 -0
- package/dist/application/agent/context-usage-service.d.ts +52 -0
- package/dist/application/agent/context-usage-service.js +1 -0
- package/dist/application/agent/continuation-checkpoint.d.ts +15 -0
- package/dist/application/agent/continuation-checkpoint.js +2 -0
- package/dist/application/agent/interactive-agent-guidance.d.ts +5 -0
- package/dist/application/agent/interactive-agent-guidance.js +2 -0
- package/dist/application/agent/prompt-data-safety.d.ts +14 -0
- package/dist/application/agent/prompt-data-safety.js +4 -0
- package/dist/application/agent/scoped-tool-executor.d.ts +13 -0
- package/dist/application/agent/scoped-tool-executor.js +1 -0
- package/dist/application/agent/tool-catalog.d.ts +14 -0
- package/dist/application/agent/tool-catalog.js +1 -0
- package/dist/application/agent/tool-display.d.ts +7 -0
- package/dist/application/agent/tool-display.js +1 -0
- package/dist/application/agent/tool-hook-lifecycle.d.ts +19 -0
- package/dist/application/agent/tool-hook-lifecycle.js +1 -0
- package/dist/application/auth/authentication-service.d.ts +20 -0
- package/dist/application/auth/authentication-service.js +1 -0
- package/dist/application/chat/chat-service.d.ts +12 -0
- package/dist/application/chat/chat-service.js +1 -0
- package/dist/application/chat/pending-attachment-store.d.ts +15 -0
- package/dist/application/chat/pending-attachment-store.js +1 -0
- package/dist/application/commands/application-command-executor.d.ts +23 -0
- package/dist/application/commands/application-command-executor.js +3 -0
- package/dist/application/commands/cli-args.d.ts +6 -0
- package/dist/application/commands/cli-args.js +1 -0
- package/dist/application/commands/cli-command-services.d.ts +17 -0
- package/dist/application/commands/cli-command-services.js +33 -0
- package/dist/application/commands/command-cancellation.d.ts +6 -0
- package/dist/application/commands/command-cancellation.js +1 -0
- package/dist/application/commands/command-catalog.d.ts +6 -0
- package/dist/application/commands/command-catalog.js +1 -0
- package/dist/application/commands/command-contract.d.ts +60 -0
- package/dist/application/commands/command-contract.js +0 -0
- package/dist/application/commands/command-hints.d.ts +9 -0
- package/dist/application/commands/command-hints.js +1 -0
- package/dist/application/commands/command-output.d.ts +4 -0
- package/dist/application/commands/command-output.js +0 -0
- package/dist/application/commands/command-parser.d.ts +10 -0
- package/dist/application/commands/command-parser.js +1 -0
- package/dist/application/commands/command-presentation.d.ts +7 -0
- package/dist/application/commands/command-presentation.js +3 -0
- package/dist/application/commands/command-registry.d.ts +11 -0
- package/dist/application/commands/command-registry.js +1 -0
- package/dist/application/commands/command-runtime.d.ts +2 -0
- package/dist/application/commands/command-runtime.js +1 -0
- package/dist/application/commands/goal-command-handlers.d.ts +3 -0
- package/dist/application/commands/goal-command-handlers.js +7 -0
- package/dist/application/commands/media-command-handlers.d.ts +9 -0
- package/dist/application/commands/media-command-handlers.js +9 -0
- package/dist/application/commands/media-command-output.d.ts +11 -0
- package/dist/application/commands/media-command-output.js +1 -0
- package/dist/application/commands/memory-command-handler.d.ts +29 -0
- package/dist/application/commands/memory-command-handler.js +12 -0
- package/dist/application/commands/runtime-command-handlers.d.ts +7 -0
- package/dist/application/commands/runtime-command-handlers.js +14 -0
- package/dist/application/commands/stream-output.d.ts +4 -0
- package/dist/application/commands/stream-output.js +1 -0
- package/dist/application/commands/utility-commands.d.ts +6 -0
- package/dist/application/commands/utility-commands.js +10 -0
- package/dist/application/config/execution-config.d.ts +4 -0
- package/dist/application/config/execution-config.js +1 -0
- package/dist/application/extensions/extension-list-contract.d.ts +18 -0
- package/dist/application/extensions/extension-list-contract.js +0 -0
- package/dist/application/extensions/extension-list-formatters.d.ts +38 -0
- package/dist/application/extensions/extension-list-formatters.js +1 -0
- package/dist/application/extensions/extension-list-output.d.ts +3 -0
- package/dist/application/extensions/extension-list-output.js +3 -0
- package/dist/application/extensions/plugin-contribution-registry.d.ts +31 -0
- package/dist/application/extensions/plugin-contribution-registry.js +1 -0
- package/dist/application/extensions/plugin-detail-contract.d.ts +25 -0
- package/dist/application/extensions/plugin-detail-contract.js +0 -0
- package/dist/application/extensions/plugin-detail-service.d.ts +3 -0
- package/dist/application/extensions/plugin-detail-service.js +1 -0
- package/dist/application/extensions/skill-scope-store.d.ts +23 -0
- package/dist/application/extensions/skill-scope-store.js +1 -0
- package/dist/application/formatting/compact-number.d.ts +2 -0
- package/dist/application/formatting/compact-number.js +1 -0
- package/dist/application/formatting/compact-table.d.ts +22 -0
- package/dist/application/formatting/compact-table.js +2 -0
- package/dist/application/intent/completion-gate.d.ts +3 -0
- package/dist/application/intent/completion-gate.js +1 -0
- package/dist/application/intent/evidence-ledger.d.ts +22 -0
- package/dist/application/intent/evidence-ledger.js +1 -0
- package/dist/application/intent/evidence-recording-tool-executor.d.ts +16 -0
- package/dist/application/intent/evidence-recording-tool-executor.js +1 -0
- package/dist/application/intent/intent-compiler.d.ts +11 -0
- package/dist/application/intent/intent-compiler.js +2 -0
- package/dist/application/intent/intent-execution-gate.d.ts +11 -0
- package/dist/application/intent/intent-execution-gate.js +1 -0
- package/dist/application/intent/intent-host-context.d.ts +6 -0
- package/dist/application/intent/intent-host-context.js +1 -0
- package/dist/application/intent/intent-run-controller.d.ts +56 -0
- package/dist/application/intent/intent-run-controller.js +3 -0
- package/dist/application/intent/project-policy.d.ts +16 -0
- package/dist/application/intent/project-policy.js +1 -0
- package/dist/application/media/video-operation-poller.d.ts +5 -0
- package/dist/application/media/video-operation-poller.js +1 -0
- package/dist/application/memory/memory-capture-policy.d.ts +10 -0
- package/dist/application/memory/memory-capture-policy.js +1 -0
- package/dist/application/memory/memory-consolidation-service.d.ts +12 -0
- package/dist/application/memory/memory-consolidation-service.js +1 -0
- package/dist/application/memory/memory-context-assembler.d.ts +24 -0
- package/dist/application/memory/memory-context-assembler.js +1 -0
- package/dist/application/memory/memory-extractor.d.ts +21 -0
- package/dist/application/memory/memory-extractor.js +2 -0
- package/dist/application/memory/memory-service.d.ts +34 -0
- package/dist/application/memory/memory-service.js +1 -0
- package/dist/application/model/cached-model-catalog.d.ts +19 -0
- package/dist/application/model/cached-model-catalog.js +1 -0
- package/dist/application/model/initial-model-selection.d.ts +10 -0
- package/dist/application/model/initial-model-selection.js +1 -0
- package/dist/application/model/model-catalog-service.d.ts +6 -0
- package/dist/application/model/model-catalog-service.js +1 -0
- package/dist/application/model/model-context-window.d.ts +3 -0
- package/dist/application/model/model-context-window.js +1 -0
- package/dist/application/model/model-response-retry.d.ts +15 -0
- package/dist/application/model/model-response-retry.js +1 -0
- package/dist/application/orchestration/abortable-wait.d.ts +2 -0
- package/dist/application/orchestration/abortable-wait.js +1 -0
- package/dist/application/orchestration/cli-subagent-service.d.ts +77 -0
- package/dist/application/orchestration/cli-subagent-service.js +13 -0
- package/dist/application/orchestration/cli-turn-event-projector.d.ts +15 -0
- package/dist/application/orchestration/cli-turn-event-projector.js +1 -0
- package/dist/application/orchestration/cli-turn-events.d.ts +76 -0
- package/dist/application/orchestration/cli-turn-events.js +1 -0
- package/dist/application/orchestration/cli-turn-persistence.d.ts +6 -0
- package/dist/application/orchestration/cli-turn-persistence.js +1 -0
- package/dist/application/orchestration/goal-evaluator.d.ts +18 -0
- package/dist/application/orchestration/goal-evaluator.js +3 -0
- package/dist/application/orchestration/goal-input.d.ts +3 -0
- package/dist/application/orchestration/goal-input.js +1 -0
- package/dist/application/orchestration/goal-output.d.ts +2 -0
- package/dist/application/orchestration/goal-output.js +2 -0
- package/dist/application/orchestration/goal-runner.d.ts +22 -0
- package/dist/application/orchestration/goal-runner.js +10 -0
- package/dist/application/orchestration/goal-usage.d.ts +9 -0
- package/dist/application/orchestration/goal-usage.js +1 -0
- package/dist/application/orchestration/headless-agent-turn.d.ts +36 -0
- package/dist/application/orchestration/headless-agent-turn.js +4 -0
- package/dist/application/orchestration/orchestration-constants.d.ts +3 -0
- package/dist/application/orchestration/orchestration-constants.js +1 -0
- package/dist/application/orchestration/subagent-coordinator.d.ts +41 -0
- package/dist/application/orchestration/subagent-coordinator.js +1 -0
- package/dist/application/orchestration/subagent-handoff.d.ts +3 -0
- package/dist/application/orchestration/subagent-handoff.js +3 -0
- package/dist/application/orchestration/subagent-tool-executor.d.ts +12 -0
- package/dist/application/orchestration/subagent-tool-executor.js +1 -0
- package/dist/application/orchestration/task-graph.d.ts +13 -0
- package/dist/application/orchestration/task-graph.js +1 -0
- package/dist/application/orchestration/task-scheduler.d.ts +18 -0
- package/dist/application/orchestration/task-scheduler.js +1 -0
- package/dist/application/project/project-trust-service.d.ts +13 -0
- package/dist/application/project/project-trust-service.js +1 -0
- package/dist/application/project-intelligence/project-intelligence-constants.d.ts +56 -0
- package/dist/application/project-intelligence/project-intelligence-constants.js +1 -0
- package/dist/application/project-intelligence/project-intelligence-service.d.ts +14 -0
- package/dist/application/project-intelligence/project-intelligence-service.js +1 -0
- package/dist/application/protocol/browser-host-tool-executor.d.ts +51 -0
- package/dist/application/protocol/browser-host-tool-executor.js +2 -0
- package/dist/application/protocol/computer-host-tool-executor.d.ts +45 -0
- package/dist/application/protocol/computer-host-tool-executor.js +2 -0
- package/dist/application/protocol/desktop-agent-command.d.ts +9 -0
- package/dist/application/protocol/desktop-agent-command.js +3 -0
- package/dist/application/protocol/desktop-agent-contracts.d.ts +34 -0
- package/dist/application/protocol/desktop-agent-contracts.js +1 -0
- package/dist/application/protocol/desktop-agent-helpers.d.ts +5 -0
- package/dist/application/protocol/desktop-agent-helpers.js +1 -0
- package/dist/application/protocol/desktop-agent-request-parser.d.ts +211 -0
- package/dist/application/protocol/desktop-agent-request-parser.js +1 -0
- package/dist/application/protocol/desktop-approval-broker.d.ts +26 -0
- package/dist/application/protocol/desktop-approval-broker.js +1 -0
- package/dist/application/protocol/desktop-attachment-store.d.ts +33 -0
- package/dist/application/protocol/desktop-attachment-store.js +1 -0
- package/dist/application/protocol/desktop-command-catalog.d.ts +2 -0
- package/dist/application/protocol/desktop-command-catalog.js +1 -0
- package/dist/application/protocol/desktop-command-contract.d.ts +26 -0
- package/dist/application/protocol/desktop-command-contract.js +1 -0
- package/dist/application/protocol/desktop-command-executor.d.ts +17 -0
- package/dist/application/protocol/desktop-command-executor.js +1 -0
- package/dist/application/protocol/desktop-command-output.d.ts +15 -0
- package/dist/application/protocol/desktop-command-output.js +1 -0
- package/dist/application/protocol/desktop-execution-policy.d.ts +19 -0
- package/dist/application/protocol/desktop-execution-policy.js +1 -0
- package/dist/application/protocol/desktop-extension-request-handler.d.ts +14 -0
- package/dist/application/protocol/desktop-extension-request-handler.js +1 -0
- package/dist/application/protocol/desktop-extension-service.d.ts +44 -0
- package/dist/application/protocol/desktop-extension-service.js +3 -0
- package/dist/application/protocol/desktop-host-bridge.d.ts +33 -0
- package/dist/application/protocol/desktop-host-bridge.js +1 -0
- package/dist/application/protocol/desktop-host-capabilities.d.ts +12 -0
- package/dist/application/protocol/desktop-host-capabilities.js +1 -0
- package/dist/application/protocol/desktop-host-tool-executor.d.ts +76 -0
- package/dist/application/protocol/desktop-host-tool-executor.js +2 -0
- package/dist/application/protocol/desktop-intent-event-writer.d.ts +20 -0
- package/dist/application/protocol/desktop-intent-event-writer.js +1 -0
- package/dist/application/protocol/desktop-mcp-events.d.ts +10 -0
- package/dist/application/protocol/desktop-mcp-events.js +1 -0
- package/dist/application/protocol/desktop-orchestration-events.d.ts +2 -0
- package/dist/application/protocol/desktop-orchestration-events.js +2 -0
- package/dist/application/protocol/desktop-protocol-helpers.d.ts +13 -0
- package/dist/application/protocol/desktop-protocol-helpers.js +1 -0
- package/dist/application/protocol/json-line-writer.d.ts +31 -0
- package/dist/application/protocol/json-line-writer.js +2 -0
- package/dist/application/protocol/jsonl-agent-command.d.ts +3 -0
- package/dist/application/protocol/jsonl-agent-command.js +3 -0
- package/dist/application/protocol/jsonl-protocol.d.ts +82 -0
- package/dist/application/protocol/jsonl-protocol.js +2 -0
- package/dist/application/protocol/tool-image-content.d.ts +4 -0
- package/dist/application/protocol/tool-image-content.js +1 -0
- package/dist/application/security/delegated-worker-policy.d.ts +3 -0
- package/dist/application/security/delegated-worker-policy.js +1 -0
- package/dist/application/security/desktop-tool-scope-policy.d.ts +4 -0
- package/dist/application/security/desktop-tool-scope-policy.js +1 -0
- package/dist/application/security/tool-action-risk-analyzer.d.ts +13 -0
- package/dist/application/security/tool-action-risk-analyzer.js +1 -0
- package/dist/application/security/tool-approval-service.d.ts +43 -0
- package/dist/application/security/tool-approval-service.js +1 -0
- package/dist/application/security/tool-policy-registry.d.ts +20 -0
- package/dist/application/security/tool-policy-registry.js +1 -0
- package/dist/application/security/tool-risk-classifier.d.ts +19 -0
- package/dist/application/security/tool-risk-classifier.js +1 -0
- package/dist/application/security/workspace-permission-policy.d.ts +10 -0
- package/dist/application/security/workspace-permission-policy.js +1 -0
- package/dist/application/session/project-session-access.d.ts +8 -0
- package/dist/application/session/project-session-access.js +1 -0
- package/dist/application/session/session-compaction-service.d.ts +10 -0
- package/dist/application/session/session-compaction-service.js +1 -0
- package/dist/application/session/session-turn-lifecycle.d.ts +5 -0
- package/dist/application/session/session-turn-lifecycle.js +1 -0
- package/dist/application/workspace/session-execution-workspace.d.ts +59 -0
- package/dist/application/workspace/session-execution-workspace.js +3 -0
- package/dist/application/workspace/workspace-constants.d.ts +17 -0
- package/dist/application/workspace/workspace-constants.js +1 -0
- package/dist/application/workspace/workspace-file-index.d.ts +14 -0
- package/dist/application/workspace/workspace-file-index.js +1 -0
- package/dist/application/workspace/workspace-file-reference-resolver.d.ts +20 -0
- package/dist/application/workspace/workspace-file-reference-resolver.js +17 -0
- package/dist/application/workspace/workspace-instruction-loader.d.ts +8 -0
- package/dist/application/workspace/workspace-instruction-loader.js +1 -0
- package/dist/bootstrap/composition-root.d.ts +7 -0
- package/dist/bootstrap/composition-root.js +1 -0
- package/dist/bootstrap/global-cli-options.d.ts +6 -0
- package/dist/bootstrap/global-cli-options.js +1 -0
- package/dist/bootstrap/native-devtools-stub.d.ts +10 -0
- package/dist/bootstrap/native-devtools-stub.js +1 -0
- package/dist/bootstrap/native-entry.d.ts +1 -0
- package/dist/bootstrap/native-entry.js +2 -0
- package/dist/bootstrap/native-tiktoken.d.ts +4 -0
- package/dist/bootstrap/native-tiktoken.js +1 -0
- package/dist/bootstrap/runtime-factory.d.ts +46 -0
- package/dist/bootstrap/runtime-factory.js +1 -0
- package/dist/bootstrap/shutdown-manager.d.ts +11 -0
- package/dist/bootstrap/shutdown-manager.js +1 -0
- package/dist/bootstrap/startup-sequence.d.ts +5 -0
- package/dist/bootstrap/startup-sequence.js +1 -0
- package/dist/domain/auth/auth-profile.d.ts +14 -0
- package/dist/domain/auth/auth-profile.js +1 -0
- package/dist/domain/config/config-schema.d.ts +24 -0
- package/dist/domain/config/config-schema.js +1 -0
- package/dist/domain/errors/cli-command-hint.d.ts +5 -0
- package/dist/domain/errors/cli-command-hint.js +0 -0
- package/dist/domain/errors/cli-error.d.ts +35 -0
- package/dist/domain/errors/cli-error.js +1 -0
- package/dist/domain/errors/error-codes.d.ts +51 -0
- package/dist/domain/errors/error-codes.js +1 -0
- package/dist/domain/extensions/extension-constants.d.ts +1 -0
- package/dist/domain/extensions/extension-constants.js +1 -0
- package/dist/domain/extensions/extension-scope.d.ts +3 -0
- package/dist/domain/extensions/extension-scope.js +1 -0
- package/dist/domain/extensions/extension-state.d.ts +5 -0
- package/dist/domain/extensions/extension-state.js +1 -0
- package/dist/domain/extensions/hook-manifest.d.ts +13 -0
- package/dist/domain/extensions/hook-manifest.js +1 -0
- package/dist/domain/extensions/host-tool-plugin-ids.d.ts +5 -0
- package/dist/domain/extensions/host-tool-plugin-ids.js +1 -0
- package/dist/domain/extensions/mcp-config.d.ts +35 -0
- package/dist/domain/extensions/mcp-config.js +1 -0
- package/dist/domain/extensions/plugin-agent-manifest.d.ts +8 -0
- package/dist/domain/extensions/plugin-agent-manifest.js +1 -0
- package/dist/domain/extensions/plugin-manifest.d.ts +23 -0
- package/dist/domain/extensions/plugin-manifest.js +1 -0
- package/dist/domain/extensions/skill-manifest.d.ts +10 -0
- package/dist/domain/extensions/skill-manifest.js +3 -0
- package/dist/domain/extensions/yaml-subset.d.ts +9 -0
- package/dist/domain/extensions/yaml-subset.js +2 -0
- package/dist/domain/filesystem/file-change-diff.d.ts +21 -0
- package/dist/domain/filesystem/file-change-diff.js +3 -0
- package/dist/domain/intent/intent-contract.d.ts +33 -0
- package/dist/domain/intent/intent-contract.js +1 -0
- package/dist/domain/media/gateway-media-contract.d.ts +23 -0
- package/dist/domain/media/gateway-media-contract.js +1 -0
- package/dist/domain/media/media-constants.d.ts +3 -0
- package/dist/domain/media/media-constants.js +1 -0
- package/dist/domain/media/media-contract.d.ts +28 -0
- package/dist/domain/media/media-contract.js +0 -0
- package/dist/domain/media/media-execution-policy.d.ts +9 -0
- package/dist/domain/media/media-execution-policy.js +1 -0
- package/dist/domain/memory/memory-constants.d.ts +3 -0
- package/dist/domain/memory/memory-constants.js +1 -0
- package/dist/domain/memory/memory-kinds.d.ts +15 -0
- package/dist/domain/memory/memory-kinds.js +1 -0
- package/dist/domain/memory/memory-retrieval-policy.d.ts +3 -0
- package/dist/domain/memory/memory-retrieval-policy.js +1 -0
- package/dist/domain/memory/memory-search.d.ts +33 -0
- package/dist/domain/memory/memory-search.js +2 -0
- package/dist/domain/memory/memory.d.ts +48 -0
- package/dist/domain/memory/memory.js +1 -0
- package/dist/domain/orchestration/goal.d.ts +57 -0
- package/dist/domain/orchestration/goal.js +1 -0
- package/dist/domain/orchestration/subagent-identity.d.ts +2 -0
- package/dist/domain/orchestration/subagent-identity.js +1 -0
- package/dist/domain/orchestration/subagent.d.ts +33 -0
- package/dist/domain/orchestration/subagent.js +0 -0
- package/dist/domain/orchestration/work-plan.d.ts +15 -0
- package/dist/domain/orchestration/work-plan.js +0 -0
- package/dist/domain/project/project-identity.d.ts +6 -0
- package/dist/domain/project/project-identity.js +1 -0
- package/dist/domain/runtime/assistant-delta-normalizer.d.ts +11 -0
- package/dist/domain/runtime/assistant-delta-normalizer.js +1 -0
- package/dist/domain/runtime/assistant-stream-text.d.ts +11 -0
- package/dist/domain/runtime/assistant-stream-text.js +1 -0
- package/dist/domain/runtime/gateway-request-budget.d.ts +19 -0
- package/dist/domain/runtime/gateway-request-budget.js +1 -0
- package/dist/domain/runtime/resource-limits.d.ts +92 -0
- package/dist/domain/runtime/resource-limits.js +1 -0
- package/dist/domain/session/attachment.d.ts +15 -0
- package/dist/domain/session/attachment.js +0 -0
- package/dist/domain/session/session-schema.d.ts +6 -0
- package/dist/domain/session/session-schema.js +1 -0
- package/dist/domain/session/session.d.ts +27 -0
- package/dist/domain/session/session.js +0 -0
- package/dist/domain/settings/settings-document.d.ts +8 -0
- package/dist/domain/settings/settings-document.js +1 -0
- package/dist/domain/validation/record-schema.d.ts +4 -0
- package/dist/domain/validation/record-schema.js +1 -0
- package/dist/domain/workspace/workspace-settings.d.ts +14 -0
- package/dist/domain/workspace/workspace-settings.js +1 -0
- package/dist/infrastructure/agent-sdk/agent-instance-factory.d.ts +22 -0
- package/dist/infrastructure/agent-sdk/agent-instance-factory.js +1 -0
- package/dist/infrastructure/agent-sdk/model-response-metrics.d.ts +7 -0
- package/dist/infrastructure/agent-sdk/model-response-metrics.js +1 -0
- package/dist/infrastructure/agent-sdk/model-tool-name-mapper.d.ts +13 -0
- package/dist/infrastructure/agent-sdk/model-tool-name-mapper.js +1 -0
- package/dist/infrastructure/agent-sdk/sdk-constants.d.ts +2 -0
- package/dist/infrastructure/agent-sdk/sdk-constants.js +1 -0
- package/dist/infrastructure/agent-sdk/tool-calling-completion-client.d.ts +4 -0
- package/dist/infrastructure/agent-sdk/tool-calling-completion-client.js +1 -0
- package/dist/infrastructure/agent-sdk/tool-calling-model-client.d.ts +11 -0
- package/dist/infrastructure/agent-sdk/tool-calling-model-client.js +1 -0
- package/dist/infrastructure/cache/cache-policy.d.ts +9 -0
- package/dist/infrastructure/cache/cache-policy.js +1 -0
- package/dist/infrastructure/cache/file-cache-store.d.ts +25 -0
- package/dist/infrastructure/cache/file-cache-store.js +2 -0
- package/dist/infrastructure/clipboard/clipboard-adapter-factory.d.ts +11 -0
- package/dist/infrastructure/clipboard/clipboard-adapter-factory.js +1 -0
- package/dist/infrastructure/clipboard/clipboard-constants.d.ts +1 -0
- package/dist/infrastructure/clipboard/clipboard-constants.js +1 -0
- package/dist/infrastructure/clipboard/clipboard-policy.d.ts +8 -0
- package/dist/infrastructure/clipboard/clipboard-policy.js +1 -0
- package/dist/infrastructure/clipboard/clipboard-text-adapter-factory.d.ts +10 -0
- package/dist/infrastructure/clipboard/clipboard-text-adapter-factory.js +1 -0
- package/dist/infrastructure/clipboard/image-normalizer.d.ts +12 -0
- package/dist/infrastructure/clipboard/image-normalizer.js +1 -0
- package/dist/infrastructure/clipboard/windows-clipboard-adapter.d.ts +7 -0
- package/dist/infrastructure/clipboard/windows-clipboard-adapter.js +1 -0
- package/dist/infrastructure/clipboard/windows-clipboard-text-adapter.d.ts +7 -0
- package/dist/infrastructure/clipboard/windows-clipboard-text-adapter.js +1 -0
- package/dist/infrastructure/config/config-loader.d.ts +19 -0
- package/dist/infrastructure/config/config-loader.js +2 -0
- package/dist/infrastructure/config/environment-values.d.ts +2 -0
- package/dist/infrastructure/config/environment-values.js +1 -0
- package/dist/infrastructure/credentials/composite-credential-store.d.ts +11 -0
- package/dist/infrastructure/credentials/composite-credential-store.js +1 -0
- package/dist/infrastructure/credentials/encrypted-file-credential-store.d.ts +17 -0
- package/dist/infrastructure/credentials/encrypted-file-credential-store.js +3 -0
- package/dist/infrastructure/credentials/environment-credential-store.d.ts +11 -0
- package/dist/infrastructure/credentials/environment-credential-store.js +1 -0
- package/dist/infrastructure/credentials/secret-input.d.ts +7 -0
- package/dist/infrastructure/credentials/secret-input.js +3 -0
- package/dist/infrastructure/extensions/composite-mcp-config-store.d.ts +9 -0
- package/dist/infrastructure/extensions/composite-mcp-config-store.js +1 -0
- package/dist/infrastructure/extensions/extension-directory-reader.d.ts +2 -0
- package/dist/infrastructure/extensions/extension-directory-reader.js +1 -0
- package/dist/infrastructure/extensions/extension-integrity.d.ts +7 -0
- package/dist/infrastructure/extensions/extension-integrity.js +1 -0
- package/dist/infrastructure/extensions/extension-source-resolver.d.ts +6 -0
- package/dist/infrastructure/extensions/extension-source-resolver.js +1 -0
- package/dist/infrastructure/extensions/extensions-constants.d.ts +6 -0
- package/dist/infrastructure/extensions/extensions-constants.js +1 -0
- package/dist/infrastructure/extensions/file-mcp-config-store.d.ts +15 -0
- package/dist/infrastructure/extensions/file-mcp-config-store.js +2 -0
- package/dist/infrastructure/extensions/hook-runtime.d.ts +18 -0
- package/dist/infrastructure/extensions/hook-runtime.js +1 -0
- package/dist/infrastructure/extensions/mcp-runtime.d.ts +58 -0
- package/dist/infrastructure/extensions/mcp-runtime.js +1 -0
- package/dist/infrastructure/extensions/plugin-agent-discovery.d.ts +4 -0
- package/dist/infrastructure/extensions/plugin-agent-discovery.js +1 -0
- package/dist/infrastructure/extensions/plugin-discovery.d.ts +5 -0
- package/dist/infrastructure/extensions/plugin-discovery.js +1 -0
- package/dist/infrastructure/extensions/plugin-manager.d.ts +23 -0
- package/dist/infrastructure/extensions/plugin-manager.js +2 -0
- package/dist/infrastructure/extensions/skill-discovery.d.ts +4 -0
- package/dist/infrastructure/extensions/skill-discovery.js +1 -0
- package/dist/infrastructure/extensions/skill-installer.d.ts +9 -0
- package/dist/infrastructure/extensions/skill-installer.js +1 -0
- package/dist/infrastructure/extensions/skill-manager.d.ts +22 -0
- package/dist/infrastructure/extensions/skill-manager.js +2 -0
- package/dist/infrastructure/extensions/skill-roots.d.ts +19 -0
- package/dist/infrastructure/extensions/skill-roots.js +1 -0
- package/dist/infrastructure/extensions/skill-tool-executor.d.ts +20 -0
- package/dist/infrastructure/extensions/skill-tool-executor.js +2 -0
- package/dist/infrastructure/filesystem/atomic-file-store.d.ts +28 -0
- package/dist/infrastructure/filesystem/atomic-file-store.js +1 -0
- package/dist/infrastructure/filesystem/bounded-file-reader.d.ts +6 -0
- package/dist/infrastructure/filesystem/bounded-file-reader.js +1 -0
- package/dist/infrastructure/filesystem/bounded-json-reader.d.ts +1 -0
- package/dist/infrastructure/filesystem/bounded-json-reader.js +1 -0
- package/dist/infrastructure/filesystem/filesystem-constants.d.ts +8 -0
- package/dist/infrastructure/filesystem/filesystem-constants.js +1 -0
- package/dist/infrastructure/filesystem/fs-errors.d.ts +2 -0
- package/dist/infrastructure/filesystem/fs-errors.js +1 -0
- package/dist/infrastructure/filesystem/gateway-media-input-reader.d.ts +12 -0
- package/dist/infrastructure/filesystem/gateway-media-input-reader.js +1 -0
- package/dist/infrastructure/filesystem/local-filesystem-tool-executor.d.ts +25 -0
- package/dist/infrastructure/filesystem/local-filesystem-tool-executor.js +3 -0
- package/dist/infrastructure/filesystem/path-resolver.d.ts +20 -0
- package/dist/infrastructure/filesystem/path-resolver.js +1 -0
- package/dist/infrastructure/filesystem/workspace-media-artifact-store.d.ts +13 -0
- package/dist/infrastructure/filesystem/workspace-media-artifact-store.js +1 -0
- package/dist/infrastructure/logging/daily-rotating-file-writer.d.ts +26 -0
- package/dist/infrastructure/logging/daily-rotating-file-writer.js +2 -0
- package/dist/infrastructure/logging/log-redactor.d.ts +2 -0
- package/dist/infrastructure/logging/log-redactor.js +1 -0
- package/dist/infrastructure/logging/logging-constants.d.ts +3 -0
- package/dist/infrastructure/logging/logging-constants.js +1 -0
- package/dist/infrastructure/logging/logging-policy.d.ts +6 -0
- package/dist/infrastructure/logging/logging-policy.js +1 -0
- package/dist/infrastructure/logging/structured-logger.d.ts +24 -0
- package/dist/infrastructure/logging/structured-logger.js +4 -0
- package/dist/infrastructure/memory/file-memory-store.d.ts +37 -0
- package/dist/infrastructure/memory/file-memory-store.js +11 -0
- package/dist/infrastructure/network/safe-media-downloader.d.ts +23 -0
- package/dist/infrastructure/network/safe-media-downloader.js +1 -0
- package/dist/infrastructure/observability/tool-execution-logger.d.ts +11 -0
- package/dist/infrastructure/observability/tool-execution-logger.js +1 -0
- package/dist/infrastructure/platform/host-platform.d.ts +16 -0
- package/dist/infrastructure/platform/host-platform.js +1 -0
- package/dist/infrastructure/platform/host-process.d.ts +31 -0
- package/dist/infrastructure/platform/host-process.js +1 -0
- package/dist/infrastructure/platform/platform-constants.d.ts +4 -0
- package/dist/infrastructure/platform/platform-constants.js +1 -0
- package/dist/infrastructure/platform/platform-paths.d.ts +25 -0
- package/dist/infrastructure/platform/platform-paths.js +1 -0
- package/dist/infrastructure/platform/process-identity.d.ts +8 -0
- package/dist/infrastructure/platform/process-identity.js +1 -0
- package/dist/infrastructure/platform/process-termination.d.ts +4 -0
- package/dist/infrastructure/platform/process-termination.js +1 -0
- package/dist/infrastructure/platform/read-only-executable.d.ts +4 -0
- package/dist/infrastructure/platform/read-only-executable.js +1 -0
- package/dist/infrastructure/project/file-project-trust-store.d.ts +12 -0
- package/dist/infrastructure/project/file-project-trust-store.js +2 -0
- package/dist/infrastructure/sdk/chat-completion-adapter.d.ts +8 -0
- package/dist/infrastructure/sdk/chat-completion-adapter.js +1 -0
- package/dist/infrastructure/sdk/lotagate-client-factory.d.ts +3 -0
- package/dist/infrastructure/sdk/lotagate-client-factory.js +1 -0
- package/dist/infrastructure/sdk/model-catalog-adapter.d.ts +19 -0
- package/dist/infrastructure/sdk/model-catalog-adapter.js +1 -0
- package/dist/infrastructure/sdk/sdk-media-gateway-client.d.ts +24 -0
- package/dist/infrastructure/sdk/sdk-media-gateway-client.js +1 -0
- package/dist/infrastructure/sessions/file-goal-store.d.ts +21 -0
- package/dist/infrastructure/sessions/file-goal-store.js +1 -0
- package/dist/infrastructure/sessions/file-session-store.d.ts +50 -0
- package/dist/infrastructure/sessions/file-session-store.js +4 -0
- package/dist/infrastructure/sessions/project-session-paths.d.ts +17 -0
- package/dist/infrastructure/sessions/project-session-paths.js +1 -0
- package/dist/infrastructure/sessions/session-constants.d.ts +3 -0
- package/dist/infrastructure/sessions/session-constants.js +1 -0
- package/dist/infrastructure/sessions/session-index.d.ts +16 -0
- package/dist/infrastructure/sessions/session-index.js +3 -0
- package/dist/infrastructure/sessions/session-journal-health.d.ts +7 -0
- package/dist/infrastructure/sessions/session-journal-health.js +1 -0
- package/dist/infrastructure/sessions/session-journal.d.ts +22 -0
- package/dist/infrastructure/sessions/session-journal.js +6 -0
- package/dist/infrastructure/sessions/subagent-journal-store.d.ts +28 -0
- package/dist/infrastructure/sessions/subagent-journal-store.js +2 -0
- package/dist/infrastructure/shell/shell-tool-executor.d.ts +21 -0
- package/dist/infrastructure/shell/shell-tool-executor.js +2 -0
- package/dist/infrastructure/tokens/tiktoken-token-estimator.d.ts +18 -0
- package/dist/infrastructure/tokens/tiktoken-token-estimator.js +1 -0
- package/dist/infrastructure/tokens/token-constants.d.ts +1 -0
- package/dist/infrastructure/tokens/token-constants.js +1 -0
- package/dist/infrastructure/workspace/workspace-settings-store.d.ts +10 -0
- package/dist/infrastructure/workspace/workspace-settings-store.js +4 -0
- package/dist/main.d.ts +7 -0
- package/dist/main.js +3 -0
- package/dist/ports/cache-store.d.ts +10 -0
- package/dist/ports/cache-store.js +0 -0
- package/dist/ports/chat-model.d.ts +30 -0
- package/dist/ports/chat-model.js +0 -0
- package/dist/ports/clipboard-adapter.d.ts +7 -0
- package/dist/ports/clipboard-adapter.js +0 -0
- package/dist/ports/clipboard-text-adapter.d.ts +3 -0
- package/dist/ports/clipboard-text-adapter.js +0 -0
- package/dist/ports/credential-store.d.ts +7 -0
- package/dist/ports/credential-store.js +0 -0
- package/dist/ports/goal-store.d.ts +12 -0
- package/dist/ports/goal-store.js +0 -0
- package/dist/ports/logger.d.ts +8 -0
- package/dist/ports/logger.js +0 -0
- package/dist/ports/media-gateway-client.d.ts +60 -0
- package/dist/ports/media-gateway-client.js +0 -0
- package/dist/ports/memory-store.d.ts +26 -0
- package/dist/ports/memory-store.js +0 -0
- package/dist/ports/model-completion-client.d.ts +8 -0
- package/dist/ports/model-completion-client.js +0 -0
- package/dist/ports/model-diagnostics.d.ts +17 -0
- package/dist/ports/model-diagnostics.js +0 -0
- package/dist/ports/project-trust-store.d.ts +12 -0
- package/dist/ports/project-trust-store.js +0 -0
- package/dist/ports/session-store.d.ts +59 -0
- package/dist/ports/session-store.js +0 -0
- package/dist/ports/subagent-lifecycle.d.ts +31 -0
- package/dist/ports/subagent-lifecycle.js +0 -0
- package/dist/ports/tool-activity.d.ts +13 -0
- package/dist/ports/tool-activity.js +0 -0
- package/dist/presentation/themes/theme.d.ts +19 -0
- package/dist/presentation/themes/theme.js +1 -0
- package/dist/presentation/tui/agent-initialization-renderer.d.ts +4 -0
- package/dist/presentation/tui/agent-initialization-renderer.js +1 -0
- package/dist/presentation/tui/context-display.d.ts +21 -0
- package/dist/presentation/tui/context-display.js +2 -0
- package/dist/presentation/tui/formatters.d.ts +6 -0
- package/dist/presentation/tui/formatters.js +1 -0
- package/dist/presentation/tui/ink/choice-window.d.ts +5 -0
- package/dist/presentation/tui/ink/choice-window.js +1 -0
- package/dist/presentation/tui/ink/components/activity-animation.d.ts +3 -0
- package/dist/presentation/tui/ink/components/activity-animation.js +1 -0
- package/dist/presentation/tui/ink/components/activity-entry.d.ts +6 -0
- package/dist/presentation/tui/ink/components/activity-entry.js +1 -0
- package/dist/presentation/tui/ink/components/activity-status.d.ts +10 -0
- package/dist/presentation/tui/ink/components/activity-status.js +1 -0
- package/dist/presentation/tui/ink/components/choice-modal.d.ts +11 -0
- package/dist/presentation/tui/ink/components/choice-modal.js +1 -0
- package/dist/presentation/tui/ink/components/composer.d.ts +40 -0
- package/dist/presentation/tui/ink/components/composer.js +8 -0
- package/dist/presentation/tui/ink/components/file-diff.d.ts +6 -0
- package/dist/presentation/tui/ink/components/file-diff.js +1 -0
- package/dist/presentation/tui/ink/components/modal.d.ts +8 -0
- package/dist/presentation/tui/ink/components/modal.js +2 -0
- package/dist/presentation/tui/ink/components/shimmer-text.d.ts +8 -0
- package/dist/presentation/tui/ink/components/shimmer-text.js +1 -0
- package/dist/presentation/tui/ink/components/subagent-activity.d.ts +11 -0
- package/dist/presentation/tui/ink/components/subagent-activity.js +1 -0
- package/dist/presentation/tui/ink/components/transcript.d.ts +40 -0
- package/dist/presentation/tui/ink/components/transcript.js +5 -0
- package/dist/presentation/tui/ink/components/welcome-panel.d.ts +6 -0
- package/dist/presentation/tui/ink/components/welcome-panel.js +1 -0
- package/dist/presentation/tui/ink/lotagate-tui.d.ts +6 -0
- package/dist/presentation/tui/ink/lotagate-tui.js +2 -0
- package/dist/presentation/tui/ink/markdown-inline-renderer.d.ts +4 -0
- package/dist/presentation/tui/ink/markdown-inline-renderer.js +1 -0
- package/dist/presentation/tui/ink/markdown-inline.d.ts +13 -0
- package/dist/presentation/tui/ink/markdown-inline.js +1 -0
- package/dist/presentation/tui/ink/markdown-message.d.ts +6 -0
- package/dist/presentation/tui/ink/markdown-message.js +2 -0
- package/dist/presentation/tui/ink/markdown-table.d.ts +16 -0
- package/dist/presentation/tui/ink/markdown-table.js +1 -0
- package/dist/presentation/tui/ink/tui-bridge.d.ts +193 -0
- package/dist/presentation/tui/ink/tui-bridge.js +1 -0
- package/dist/presentation/tui/terminal-capabilities.d.ts +15 -0
- package/dist/presentation/tui/terminal-capabilities.js +1 -0
- package/dist/presentation/tui/terminal-mouse.d.ts +5 -0
- package/dist/presentation/tui/terminal-mouse.js +1 -0
- package/dist/presentation/tui/terminal-screen.d.ts +10 -0
- package/dist/presentation/tui/terminal-screen.js +1 -0
- package/dist/presentation/tui/tui-agent-event-runner.d.ts +29 -0
- package/dist/presentation/tui/tui-agent-event-runner.js +1 -0
- package/dist/presentation/tui/tui-agent-turn-controller.d.ts +45 -0
- package/dist/presentation/tui/tui-agent-turn-controller.js +1 -0
- package/dist/presentation/tui/tui-application-contract.d.ts +11 -0
- package/dist/presentation/tui/tui-application-contract.js +1 -0
- package/dist/presentation/tui/tui-application.d.ts +61 -0
- package/dist/presentation/tui/tui-application.js +3 -0
- package/dist/presentation/tui/tui-clipboard-paste-handlers.d.ts +11 -0
- package/dist/presentation/tui/tui-clipboard-paste-handlers.js +1 -0
- package/dist/presentation/tui/tui-command-context.d.ts +3 -0
- package/dist/presentation/tui/tui-command-context.js +0 -0
- package/dist/presentation/tui/tui-command-executor.d.ts +38 -0
- package/dist/presentation/tui/tui-command-executor.js +4 -0
- package/dist/presentation/tui/tui-command-host-factory.d.ts +40 -0
- package/dist/presentation/tui/tui-command-host-factory.js +1 -0
- package/dist/presentation/tui/tui-context-compaction.d.ts +8 -0
- package/dist/presentation/tui/tui-context-compaction.js +1 -0
- package/dist/presentation/tui/tui-context-service.d.ts +2 -0
- package/dist/presentation/tui/tui-context-service.js +1 -0
- package/dist/presentation/tui/tui-extension-loader.d.ts +21 -0
- package/dist/presentation/tui/tui-extension-loader.js +1 -0
- package/dist/presentation/tui/tui-file-suggestions.d.ts +3 -0
- package/dist/presentation/tui/tui-file-suggestions.js +1 -0
- package/dist/presentation/tui/tui-goal-controller.d.ts +14 -0
- package/dist/presentation/tui/tui-goal-controller.js +1 -0
- package/dist/presentation/tui/tui-initial-model.d.ts +3 -0
- package/dist/presentation/tui/tui-initial-model.js +1 -0
- package/dist/presentation/tui/tui-lifecycle-actions.d.ts +13 -0
- package/dist/presentation/tui/tui-lifecycle-actions.js +1 -0
- package/dist/presentation/tui/tui-manual-compaction.d.ts +18 -0
- package/dist/presentation/tui/tui-manual-compaction.js +1 -0
- package/dist/presentation/tui/tui-media-model-selection.d.ts +12 -0
- package/dist/presentation/tui/tui-media-model-selection.js +1 -0
- package/dist/presentation/tui/tui-prompt-dispatcher.d.ts +16 -0
- package/dist/presentation/tui/tui-prompt-dispatcher.js +1 -0
- package/dist/presentation/tui/tui-skill-controller.d.ts +11 -0
- package/dist/presentation/tui/tui-skill-controller.js +3 -0
- package/dist/presentation/tui/tui-tool-approval.d.ts +22 -0
- package/dist/presentation/tui/tui-tool-approval.js +1 -0
- package/dist/version.d.ts +1 -0
- package/dist/version.js +1 -0
- package/native-targets.mjs +1 -1
- package/package.json +13 -12
- package/scripts/install-native.mjs +5 -13
- package/skills/architecture-review/SKILL.md +41 -14
- package/skills/code-review/SKILL.md +41 -12
- package/skills/debugging/SKILL.md +49 -12
- package/skills/documentation/SKILL.md +43 -9
- package/skills/feature-implementation/SKILL.md +58 -19
- package/bin/lotagate.exe +0 -1
- package/skills/api-contract-review/SKILL.md +0 -17
- package/skills/database-review/SKILL.md +0 -17
- package/skills/dependency-review/SKILL.md +0 -16
- package/skills/frontend-review/SKILL.md +0 -18
- package/skills/incident-response/SKILL.md +0 -18
- package/skills/performance-review/SKILL.md +0 -17
- package/skills/refactor/SKILL.md +0 -23
- package/skills/release-readiness/SKILL.md +0 -16
- package/skills/security-review/SKILL.md +0 -16
- package/skills/test-plan/SKILL.md +0 -22
- package/skills/verify/SKILL.md +0 -13
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ChatUsage } from '../../ports/chat-model.js';
|
|
2
|
+
export interface TokenEstimateInput {
|
|
3
|
+
model: string;
|
|
4
|
+
prompt: string;
|
|
5
|
+
response: string;
|
|
6
|
+
}
|
|
7
|
+
export interface TextTokenEstimateInput {
|
|
8
|
+
model: string;
|
|
9
|
+
text: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Estimates turn usage when an upstream provider does not include usage in the
|
|
13
|
+
* streaming protocol. The result is deliberately marked as estimated because
|
|
14
|
+
* providers may use a tokenizer different from the OpenAI tokenizer family.
|
|
15
|
+
*/
|
|
16
|
+
export declare function estimateTurnUsage(input: TokenEstimateInput): ChatUsage | undefined;
|
|
17
|
+
/** Estimates one text payload with the same tokenizer used for turn fallback accounting. */
|
|
18
|
+
export declare function estimateTextTokens(input: TextTokenEstimateInput): number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{encoding_for_model as c,get_encoding as d}from"tiktoken";import{FALLBACK_ENCODING as f}from"./token-constants.js";function m(e){try{const t=o(e.model);try{const n=t.encode(e.prompt).length,r=t.encode(e.response).length;return{promptTokens:n,completionTokens:r,totalTokens:n+r,estimated:!0}}finally{t.free()}}catch{return}}function a(e){try{const t=o(e.model);try{return t.encode(e.text).length}finally{t.free()}}catch{return Math.ceil(Buffer.byteLength(e.text,"utf8")/4)}}function o(e){try{return c(e)}catch{return d(f)}}export{a as estimateTextTokens,m as estimateTurnUsage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const FALLBACK_ENCODING = "o200k_base";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const o="o200k_base";export{o as FALLBACK_ENCODING};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type WorkspaceSettings } from '../../domain/workspace/workspace-settings.js';
|
|
2
|
+
export declare class WorkspaceSettingsStore {
|
|
3
|
+
ensureInitialized(cwd: string): Promise<void>;
|
|
4
|
+
load(cwd: string): Promise<WorkspaceSettings>;
|
|
5
|
+
/** Persist a user-approved rule in the ignored local project policy. */
|
|
6
|
+
rememberAllow(cwd: string, rule: string): Promise<void>;
|
|
7
|
+
private readOptional;
|
|
8
|
+
private readDocumentOptional;
|
|
9
|
+
private createIfMissing;
|
|
10
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import n from"node:fs/promises";import d from"node:path";import{DEFAULT_WORKSPACE_SETTINGS as l,normalizePermissionRule as f}from"../../domain/workspace/workspace-settings.js";import{permissionsFromSettings as u,validateSettingsDocument as g}from"../../domain/settings/settings-document.js";import{resolveProjectConfigPaths as c}from"../platform/platform-paths.js";import{atomicWriteFile as w,withFileLock as h}from"../filesystem/atomic-file-store.js";import{isAlreadyExists as y,isFileNotFound as S}from"../filesystem/fs-errors.js";import{readJsonFileBounded as k}from"../filesystem/bounded-json-reader.js";import{RESOURCE_LIMITS as O}from"../../domain/runtime/resource-limits.js";class T{async ensureInitialized(t){const i=c(t);await n.mkdir(i.directory,{recursive:!0}),await Promise.all([i.skillsDir,i.pluginsDir,i.hooksDir].map(e=>n.mkdir(e,{recursive:!0}))),await this.createIfMissing(i.settings,l),await this.createIfMissing(i.localSettings,l),await this.createIfMissing(d.join(i.directory,".gitignore"),`settings.local.json
|
|
2
|
+
`)}async load(t){const i=c(t),[e,r]=await Promise.all([this.readOptional(i.settings),this.readOptional(i.localSettings)]);return{schemaVersion:1,permissions:D(e?.permissions,r?.permissions)}}async rememberAllow(t,i){if(i.trim().length===0)return;const e=f(i),r=c(t);await n.mkdir(r.directory,{recursive:!0}),await h(r.localSettings,async()=>{const o=await this.readDocumentOptional(r.localSettings),a=o===void 0?l:{schemaVersion:1,permissions:u(o)};if(a.permissions.allow.includes(e))return;const p={...o?.config??{},permissions:{...a.permissions,allow:[...a.permissions.allow,e]}};await w(r.localSettings,`${JSON.stringify(p,null,2)}
|
|
3
|
+
`)})}async readOptional(t){const i=await this.readDocumentOptional(t);if(i!==void 0)return{schemaVersion:1,permissions:u(i)}}async readDocumentOptional(t){try{return g(await k(t,O.workspaceSettingsBytes))}catch(i){if(S(i))return;throw i}}async createIfMissing(t,i){try{await n.writeFile(t,typeof i=="string"?i:`${JSON.stringify(i,null,2)}
|
|
4
|
+
`,{encoding:"utf8",mode:384,flag:"wx"})}catch(e){if(!y(e))throw e}}}function D(s,t){return{allow:m(s?.allow,t?.allow),ask:m(s?.ask,t?.ask),deny:m(s?.deny,t?.deny)}}function m(...s){return[...new Set(s.flatMap(t=>t??[]))]}export{T as WorkspaceSettingsStore};
|
package/dist/main.d.ts
ADDED
package/dist/main.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{asCliError as S}from"./domain/errors/cli-error.js";import{createCompositionRoot as E}from"./bootstrap/composition-root.js";import{resolveStartupContext as x}from"./bootstrap/startup-sequence.js";import{parseGlobalCliOptions as O}from"./bootstrap/global-cli-options.js";import{TuiApplication as h}from"./presentation/tui/tui-application.js";import{formatCliErrorMessage as T}from"./application/commands/command-hints.js";import{COMMAND_REGISTRY as b}from"./application/commands/command-runtime.js";import{parseCommandInvocation as R}from"./application/commands/command-parser.js";import{executeApplicationCommand as v,executeInformationalCommand as G}from"./application/commands/application-command-executor.js";import{CLI_VERSION as B}from"./version.js";async function V(o,e={}){const y=e.stdin??process.stdin,n=e.stdout??process.stdout,u=e.stderr??process.stderr;let r;const i=new AbortController;let f=143;const p=()=>i.abort(new Error("Process termination requested."));let c;process.once("SIGTERM",p);try{const l=O(o),t=M(l.commandTokens);if(t.length===0){r=E({stderr:u,interactive:!0});const d=r.logger;d.info("Interactive session started.");const w=await new h(r,x(o).cwd,{output:n,signal:i.signal}).run();return d.info("Interactive session completed.",{exitCode:w}),w}const a=x(o).cwd,s=R(t,"direct",b),g=G(s,n);if(g!==void 0)return g;s.action.executor==="agent"&&(c=()=>{f=130,i.abort(new Error("Process interruption requested."))},process.once("SIGINT",c));const m=E({stderr:u});r=m;const C=m.logger;C.info("CLI command started.",{command:s.action.id,cwd:a});const I=await v(s,{runtime:m,cwd:a,output:n,stdin:y,writableOutput:n,signal:i.signal,resumeInteractive:async d=>new h(m,a,{output:n,sessionId:d,signal:i.signal}).run()});return C.info("CLI command completed.",{command:s.action.id,exitCode:I}),I}catch(l){if(i.signal.aborted)return f;const t=S(l);return r?.logger.error("CLI command failed.",{code:t.code,category:t.category}),N(o)?n.write(`${JSON.stringify({error:t.toJSON()})}
|
|
2
|
+
`):r!==void 0?r.logger.error(T(t,"direct"),{code:t.code,category:t.category}):u.write(`[error] ${T(t,"direct")}
|
|
3
|
+
`),t.exitCode}finally{process.off("SIGTERM",p),c!==void 0&&process.off("SIGINT",c),await r?.shutdown.shutdown()}}function N(o){return o.some(e=>e==="--json"||e.startsWith("--json="))}function M(o){return o.length===1&&(o[0]==="--help"||o[0]==="-h")?["help"]:o.length===1&&o[0]==="--version"?["version"]:o}export{B as CLI_VERSION,V as main};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface CacheWriteOptions {
|
|
2
|
+
ttlMs: number;
|
|
3
|
+
}
|
|
4
|
+
export interface CacheStore {
|
|
5
|
+
get<T>(namespace: string, key: string): Promise<T | undefined>;
|
|
6
|
+
set<T>(namespace: string, key: string, value: T, options: CacheWriteOptions): Promise<void>;
|
|
7
|
+
delete(namespace: string, key: string): Promise<void>;
|
|
8
|
+
clear(namespace?: string): Promise<void>;
|
|
9
|
+
prune(): Promise<void>;
|
|
10
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { AttachmentPayload } from '../domain/session/attachment.js';
|
|
2
|
+
export interface ChatModelRequest {
|
|
3
|
+
model: string;
|
|
4
|
+
prompt: string;
|
|
5
|
+
reasoningEffort?: string;
|
|
6
|
+
attachments?: readonly AttachmentPayload[];
|
|
7
|
+
signal?: AbortSignal;
|
|
8
|
+
}
|
|
9
|
+
export interface ChatUsage {
|
|
10
|
+
promptTokens?: number;
|
|
11
|
+
completionTokens?: number;
|
|
12
|
+
totalTokens?: number;
|
|
13
|
+
/** True when the CLI derived usage locally rather than receiving it from the provider. */
|
|
14
|
+
estimated?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export type ChatModelEvent = {
|
|
17
|
+
type: 'activity';
|
|
18
|
+
state: 'connecting' | 'thinking' | 'writing' | 'completed';
|
|
19
|
+
} | {
|
|
20
|
+
type: 'delta';
|
|
21
|
+
content: string;
|
|
22
|
+
} | {
|
|
23
|
+
type: 'usage';
|
|
24
|
+
usage: ChatUsage;
|
|
25
|
+
} | {
|
|
26
|
+
type: 'completed';
|
|
27
|
+
};
|
|
28
|
+
export interface ChatModelPort {
|
|
29
|
+
stream(request: ChatModelRequest): AsyncIterable<ChatModelEvent>;
|
|
30
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { AuthProfile, StoredCredential } from '../domain/auth/auth-profile.js';
|
|
2
|
+
export interface CredentialStore {
|
|
3
|
+
list(): Promise<readonly AuthProfile[]>;
|
|
4
|
+
get(profileName: string): Promise<StoredCredential | undefined>;
|
|
5
|
+
set(credential: StoredCredential): Promise<void>;
|
|
6
|
+
delete(profileName: string): Promise<boolean>;
|
|
7
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { CreateGoalInput, GoalEvaluation, GoalState, GoalUsageDelta } from '../domain/orchestration/goal.js';
|
|
2
|
+
export interface GoalStore {
|
|
3
|
+
get(sessionId: string): Promise<GoalState | undefined>;
|
|
4
|
+
create(sessionId: string, input: CreateGoalInput): Promise<GoalState>;
|
|
5
|
+
replace(sessionId: string, input: CreateGoalInput): Promise<GoalState>;
|
|
6
|
+
pause(sessionId: string, reason?: string): Promise<GoalState>;
|
|
7
|
+
resume(sessionId: string): Promise<GoalState>;
|
|
8
|
+
recordTurn(sessionId: string): Promise<GoalState>;
|
|
9
|
+
recordUsage(sessionId: string, delta: GoalUsageDelta): Promise<GoalState>;
|
|
10
|
+
recordEvaluation(sessionId: string, evaluation: GoalEvaluation): Promise<GoalState>;
|
|
11
|
+
clear(sessionId: string, reason?: string): Promise<void>;
|
|
12
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type LogLevel = 'error' | 'warn' | 'info' | 'debug' | 'trace';
|
|
2
|
+
export interface Logger {
|
|
3
|
+
error(message: string, details?: Record<string, unknown>): void;
|
|
4
|
+
warn(message: string, details?: Record<string, unknown>): void;
|
|
5
|
+
info(message: string, details?: Record<string, unknown>): void;
|
|
6
|
+
debug(message: string, details?: Record<string, unknown>): void;
|
|
7
|
+
trace(message: string, details?: Record<string, unknown>): void;
|
|
8
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { GeneratedImage, MediaBinary, VideoOperation } from '../domain/media/media-contract.js';
|
|
2
|
+
export type SpeechStreamFormat = 'audio' | 'sse';
|
|
3
|
+
export type SpeechStreamEvent = Readonly<Record<string, unknown>>;
|
|
4
|
+
export interface MediaRequestOptions {
|
|
5
|
+
readonly signal?: AbortSignal | undefined;
|
|
6
|
+
}
|
|
7
|
+
export interface ImageGenerationInput {
|
|
8
|
+
readonly model: string;
|
|
9
|
+
readonly prompt: string;
|
|
10
|
+
readonly n?: number | undefined;
|
|
11
|
+
readonly size?: string | undefined;
|
|
12
|
+
readonly quality?: 'low' | 'medium' | 'high' | 'auto' | undefined;
|
|
13
|
+
readonly background?: 'transparent' | 'opaque' | 'auto' | undefined;
|
|
14
|
+
readonly outputFormat?: 'png' | 'jpeg' | 'webp' | undefined;
|
|
15
|
+
readonly outputCompression?: number | undefined;
|
|
16
|
+
readonly moderation?: string | undefined;
|
|
17
|
+
readonly user?: string | undefined;
|
|
18
|
+
}
|
|
19
|
+
export interface ImageEditInput extends ImageGenerationInput {
|
|
20
|
+
readonly images: Uint8Array[];
|
|
21
|
+
readonly mask?: Uint8Array | undefined;
|
|
22
|
+
readonly inputFidelity?: 'low' | 'high' | undefined;
|
|
23
|
+
}
|
|
24
|
+
export interface SpeechInput {
|
|
25
|
+
readonly model: string;
|
|
26
|
+
readonly input: string;
|
|
27
|
+
readonly voice: string;
|
|
28
|
+
readonly instructions?: string | undefined;
|
|
29
|
+
readonly responseFormat?: 'mp3' | 'opus' | 'aac' | 'flac' | 'wav' | 'pcm' | undefined;
|
|
30
|
+
readonly speed?: number | undefined;
|
|
31
|
+
readonly streamFormat?: SpeechStreamFormat | undefined;
|
|
32
|
+
}
|
|
33
|
+
export interface AudioUploadInput {
|
|
34
|
+
readonly model: string;
|
|
35
|
+
readonly file: Uint8Array;
|
|
36
|
+
readonly filename: string;
|
|
37
|
+
readonly prompt?: string | undefined;
|
|
38
|
+
readonly responseFormat?: string | undefined;
|
|
39
|
+
readonly temperature?: number | undefined;
|
|
40
|
+
readonly language?: string | undefined;
|
|
41
|
+
readonly timestampGranularities?: readonly ('word' | 'segment')[] | undefined;
|
|
42
|
+
readonly include?: readonly string[] | undefined;
|
|
43
|
+
}
|
|
44
|
+
export interface MediaGatewayClient {
|
|
45
|
+
generateImage(input: ImageGenerationInput, options?: MediaRequestOptions): Promise<readonly GeneratedImage[]>;
|
|
46
|
+
editImage(input: ImageEditInput, options?: MediaRequestOptions): Promise<readonly GeneratedImage[]>;
|
|
47
|
+
createSpeech(input: SpeechInput, options?: MediaRequestOptions): Promise<MediaBinary>;
|
|
48
|
+
createSpeechStream(input: SpeechInput & {
|
|
49
|
+
readonly streamFormat: 'sse';
|
|
50
|
+
}, options?: MediaRequestOptions): AsyncIterable<SpeechStreamEvent>;
|
|
51
|
+
transcribe(input: AudioUploadInput, options?: MediaRequestOptions): Promise<string>;
|
|
52
|
+
translate(input: AudioUploadInput, options?: MediaRequestOptions): Promise<string>;
|
|
53
|
+
createVideo(input: {
|
|
54
|
+
model: string;
|
|
55
|
+
prompt: string;
|
|
56
|
+
parameters?: Record<string, unknown>;
|
|
57
|
+
}, options?: MediaRequestOptions): Promise<VideoOperation>;
|
|
58
|
+
getVideoOperation(id: string, options?: MediaRequestOptions): Promise<VideoOperation>;
|
|
59
|
+
downloadVideo(id: string, options?: MediaRequestOptions): Promise<MediaBinary>;
|
|
60
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { MemoryBundle, MemoryDraft, MemoryRecord, MemoryState } from '../domain/memory/memory.js';
|
|
2
|
+
import type { MemoryKind } from '../domain/memory/memory-kinds.js';
|
|
3
|
+
import type { MemorySearchHit, MemorySearchQuery, MemorySemanticHit } from '../domain/memory/memory-search.js';
|
|
4
|
+
export interface MemoryListOptions {
|
|
5
|
+
readonly kind?: MemoryKind;
|
|
6
|
+
readonly state?: MemoryState;
|
|
7
|
+
}
|
|
8
|
+
export interface MemoryStore {
|
|
9
|
+
list(cwd: string, options?: MemoryListOptions): Promise<readonly MemoryRecord[]>;
|
|
10
|
+
search(cwd: string, query: MemorySearchQuery): Promise<readonly MemorySearchHit[]>;
|
|
11
|
+
ensureSemanticIndex(cwd: string, model: string, embed: (texts: readonly string[], signal?: AbortSignal) => Promise<readonly number[][]>, signal?: AbortSignal): Promise<void>;
|
|
12
|
+
semanticSearch(cwd: string, model: string, vector: readonly number[], maximum: number): Promise<readonly MemorySemanticHit[]>;
|
|
13
|
+
get(cwd: string, id: string): Promise<MemoryRecord | undefined>;
|
|
14
|
+
consolidate(cwd: string, draft: MemoryDraft): Promise<{
|
|
15
|
+
record: MemoryRecord;
|
|
16
|
+
action: 'insert' | 'merge' | 'supersede' | 'ignore';
|
|
17
|
+
}>;
|
|
18
|
+
forget(cwd: string, id: string): Promise<boolean>;
|
|
19
|
+
clear(cwd: string): Promise<number>;
|
|
20
|
+
markRetrieved(cwd: string, ids: readonly string[]): Promise<void>;
|
|
21
|
+
export(cwd: string): Promise<MemoryBundle>;
|
|
22
|
+
import(cwd: string, bundle: MemoryBundle): Promise<{
|
|
23
|
+
imported: number;
|
|
24
|
+
skipped: number;
|
|
25
|
+
}>;
|
|
26
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ChatCompletionRequest, ChatCompletionResponse, RequestOptions } from '@lotagate/sdk';
|
|
2
|
+
export interface ModelCompletionClient {
|
|
3
|
+
readonly chat: {
|
|
4
|
+
readonly completions: {
|
|
5
|
+
create(request: ChatCompletionRequest, options?: RequestOptions): Promise<ChatCompletionResponse>;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ChatUsage } from './chat-model.js';
|
|
2
|
+
export interface ModelCallSummary {
|
|
3
|
+
model: string;
|
|
4
|
+
stream: boolean;
|
|
5
|
+
contentLength: number;
|
|
6
|
+
toolCallCount: number;
|
|
7
|
+
toolNames: readonly string[];
|
|
8
|
+
finishReason?: string | null;
|
|
9
|
+
usage?: ChatUsage;
|
|
10
|
+
}
|
|
11
|
+
export interface ModelUsageReport {
|
|
12
|
+
usage: ChatUsage;
|
|
13
|
+
modelCalls?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface ModelCallObserver {
|
|
16
|
+
onComplete?: (summary: ModelCallSummary) => void;
|
|
17
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface TrustedProject {
|
|
2
|
+
fingerprint: string;
|
|
3
|
+
canonicalPath: string;
|
|
4
|
+
grantedAt: string;
|
|
5
|
+
grantedBy: 'user';
|
|
6
|
+
}
|
|
7
|
+
export interface ProjectTrustStore {
|
|
8
|
+
list(): Promise<readonly TrustedProject[]>;
|
|
9
|
+
get(fingerprint: string): Promise<TrustedProject | undefined>;
|
|
10
|
+
grant(project: TrustedProject): Promise<void>;
|
|
11
|
+
revoke(fingerprint: string): Promise<boolean>;
|
|
12
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { Attachment } from '../domain/session/attachment.js';
|
|
2
|
+
import type { SessionEvent, SessionMetadata, TranscriptEntry } from '../domain/session/session.js';
|
|
3
|
+
export interface SessionBundle {
|
|
4
|
+
metadata: SessionMetadata;
|
|
5
|
+
events: readonly SessionEvent[];
|
|
6
|
+
transcript: readonly TranscriptEntry[];
|
|
7
|
+
attachments: readonly {
|
|
8
|
+
attachment: Attachment;
|
|
9
|
+
dataBase64: string;
|
|
10
|
+
}[];
|
|
11
|
+
}
|
|
12
|
+
export interface SessionRepairResult {
|
|
13
|
+
eventsRemoved: number;
|
|
14
|
+
transcriptRemoved: number;
|
|
15
|
+
}
|
|
16
|
+
export interface AppendEventOptions {
|
|
17
|
+
/** The caller already owns the session lock for an atomic read/modify/write operation. */
|
|
18
|
+
locked?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface CompactSessionOptions {
|
|
21
|
+
turnId?: string;
|
|
22
|
+
}
|
|
23
|
+
/** A consistent transcript/event view derived from one journal snapshot. */
|
|
24
|
+
export interface SessionHistory {
|
|
25
|
+
events: readonly SessionEvent[];
|
|
26
|
+
transcript: readonly TranscriptEntry[];
|
|
27
|
+
}
|
|
28
|
+
/** Ordered durable records to append under one session lock. */
|
|
29
|
+
export type SessionJournalAppend = {
|
|
30
|
+
kind: 'event';
|
|
31
|
+
event: SessionEvent;
|
|
32
|
+
} | {
|
|
33
|
+
kind: 'transcript';
|
|
34
|
+
entry: TranscriptEntry;
|
|
35
|
+
};
|
|
36
|
+
export interface SessionStore {
|
|
37
|
+
create(input: Omit<SessionMetadata, 'id' | 'createdAt' | 'updatedAt'>): Promise<SessionMetadata>;
|
|
38
|
+
get(sessionId: string): Promise<SessionMetadata | undefined>;
|
|
39
|
+
list(projectFingerprint?: string): Promise<readonly SessionMetadata[]>;
|
|
40
|
+
updateStatus(sessionId: string, status: SessionMetadata['status']): Promise<SessionMetadata>;
|
|
41
|
+
rename(sessionId: string, name: string): Promise<SessionMetadata>;
|
|
42
|
+
appendEvent(event: SessionEvent, options?: AppendEventOptions): Promise<void>;
|
|
43
|
+
appendTranscript(sessionId: string, entry: TranscriptEntry): Promise<void>;
|
|
44
|
+
appendJournal(sessionId: string, records: readonly SessionJournalAppend[]): Promise<void>;
|
|
45
|
+
readEvents(sessionId: string): Promise<readonly SessionEvent[]>;
|
|
46
|
+
readTranscript(sessionId: string): Promise<readonly TranscriptEntry[]>;
|
|
47
|
+
readHistory(sessionId: string): Promise<SessionHistory>;
|
|
48
|
+
delete(sessionId: string): Promise<boolean>;
|
|
49
|
+
fork(sessionId: string, overrides?: Partial<Pick<SessionMetadata, 'model' | 'profile'>>): Promise<SessionMetadata>;
|
|
50
|
+
compact(sessionId: string, summary: string, options?: CompactSessionOptions): Promise<void>;
|
|
51
|
+
export(sessionId: string): Promise<SessionBundle>;
|
|
52
|
+
import(bundle: SessionBundle, projectFingerprint: string, cwd: string): Promise<SessionMetadata>;
|
|
53
|
+
saveAttachment(sessionId: string, attachment: Attachment, bytes: Uint8Array): Promise<Attachment>;
|
|
54
|
+
deleteAttachment(sessionId: string, attachmentId: string): Promise<boolean>;
|
|
55
|
+
readAttachment(sessionId: string, attachmentId: string): Promise<Uint8Array | undefined>;
|
|
56
|
+
recoverStaleLock(sessionId: string): Promise<boolean>;
|
|
57
|
+
repair(sessionId: string): Promise<SessionRepairResult>;
|
|
58
|
+
withLock<T>(sessionId: string, action: () => Promise<T>): Promise<T>;
|
|
59
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { SubagentHandoff, SubagentMode, SubagentStatus } from '../domain/orchestration/subagent.js';
|
|
2
|
+
export type SubagentLifecycleEventType = 'created' | 'started' | 'activity' | 'completed' | 'completed_with_warning' | 'failed' | 'cancelled';
|
|
3
|
+
export type SubagentActionKind = 'filesystem' | 'shell' | 'mcp' | 'approval';
|
|
4
|
+
/** A redacted, presentation-safe description of the child's current operation. */
|
|
5
|
+
export interface SubagentLastAction {
|
|
6
|
+
readonly kind: SubagentActionKind;
|
|
7
|
+
readonly label: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* CLI-owned lifecycle signal for presenting delegated work without coupling
|
|
11
|
+
* orchestration to a specific user interface.
|
|
12
|
+
*/
|
|
13
|
+
export interface SubagentLifecycleEvent {
|
|
14
|
+
readonly type: SubagentLifecycleEventType;
|
|
15
|
+
readonly sessionId: string;
|
|
16
|
+
readonly id: string;
|
|
17
|
+
readonly displayName: string;
|
|
18
|
+
readonly task: string;
|
|
19
|
+
readonly mode: SubagentMode;
|
|
20
|
+
readonly model: string;
|
|
21
|
+
readonly status: SubagentStatus;
|
|
22
|
+
readonly background: boolean;
|
|
23
|
+
readonly timestamp: number;
|
|
24
|
+
readonly durationMs?: number;
|
|
25
|
+
readonly summary?: string;
|
|
26
|
+
readonly lastAction?: SubagentLastAction;
|
|
27
|
+
readonly handoff?: SubagentHandoff;
|
|
28
|
+
}
|
|
29
|
+
export interface SubagentLifecycleObserver {
|
|
30
|
+
onSubagentLifecycle(event: SubagentLifecycleEvent): void | Promise<void>;
|
|
31
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface ToolActivityStart {
|
|
2
|
+
key: string;
|
|
3
|
+
toolName: string;
|
|
4
|
+
source?: string;
|
|
5
|
+
label: string;
|
|
6
|
+
}
|
|
7
|
+
export interface ToolActivityHandle {
|
|
8
|
+
complete(isError: boolean, metadata?: Readonly<Record<string, unknown>>): void;
|
|
9
|
+
}
|
|
10
|
+
/** Observes tool execution without making UI concerns part of tool executors. */
|
|
11
|
+
export interface ToolActivityObserver {
|
|
12
|
+
start(activity: ToolActivityStart): ToolActivityHandle | undefined;
|
|
13
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface CliTheme {
|
|
2
|
+
background: string;
|
|
3
|
+
surface: string;
|
|
4
|
+
surfaceRaised: string;
|
|
5
|
+
text: string;
|
|
6
|
+
muted: string;
|
|
7
|
+
accent: string;
|
|
8
|
+
border: string;
|
|
9
|
+
selection: string;
|
|
10
|
+
warning: string;
|
|
11
|
+
user: string;
|
|
12
|
+
error: string;
|
|
13
|
+
success: string;
|
|
14
|
+
diffAdded: string;
|
|
15
|
+
diffRemoved: string;
|
|
16
|
+
code: string;
|
|
17
|
+
link: string;
|
|
18
|
+
}
|
|
19
|
+
export declare const DARK_THEME: CliTheme;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={background:"#10151c",surface:"#171e27",surfaceRaised:"#202a36",text:"#e6edf3",accent:"#5ba7d8",border:"#3b424b",selection:"#2a3a4d",warning:"#d6b574",user:"#1b2b3d",error:"#e06c75",success:"#86c991",diffAdded:"#173323",diffRemoved:"#3a2028",code:"#d6b574",link:"#75b7e7",muted:"#8b949e"};export{e as DARK_THEME};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AgentEvent } from '@lotagate/agent-sdk';
|
|
2
|
+
import type { InkTuiBridge } from './ink/tui-bridge.js';
|
|
3
|
+
/** Reports only actionable MCP initialization failures; routine connects stay out of the transcript. */
|
|
4
|
+
export declare function renderAgentInitialization(renderer: InkTuiBridge, events: readonly AgentEvent[]): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function c(t,s){const r=new Map;for(const e of s)if(e.type==="mcp.server.status"){const o=i(r,e.summary.serverId);o.status=e.summary.status,e.summary.protocolVersion!==void 0&&(o.protocolVersion=e.summary.protocolVersion)}else e.type==="mcp.tool.discovered"?i(r,e.tool.serverId).discovered+=1:e.type==="mcp.tool.catalog.updated"&&e.error!==void 0&&(i(r,e.serverId).discoveryError=e.error.message);for(const[e,o]of r){if(o.discoveryError===void 0&&(o.status===void 0||o.status==="connected"))continue;const n=[o.status==="connected"?void 0:o.status,...o.protocolVersion===void 0?[]:[`protocol ${o.protocolVersion}`],...o.discovered===0?[]:[`${o.discovered} tool${o.discovered===1?"":"s"} discovered`],...o.discoveryError===void 0?[]:[`tool discovery failed \xB7 ${o.discoveryError}`]].filter(d=>d!==void 0);t.initializationNotice(`mcp:${e}`,`MCP ${e}: ${n.join(" \xB7 ")||"initialized"}`)}}function i(t,s){const r=t.get(s);if(r!==void 0)return r;const e={discovered:0};return t.set(s,e),e}export{c as renderAgentInitialization};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface TuiContextSnapshot {
|
|
2
|
+
model: string | null;
|
|
3
|
+
contextWindow?: number;
|
|
4
|
+
usedTokens: number;
|
|
5
|
+
systemPromptTokens: number;
|
|
6
|
+
conversationTokens: number;
|
|
7
|
+
inputTokens?: number;
|
|
8
|
+
outputTokens?: number;
|
|
9
|
+
otherTokens?: number;
|
|
10
|
+
transcriptEntries: number;
|
|
11
|
+
userMessages: number;
|
|
12
|
+
assistantMessages: number;
|
|
13
|
+
toolCalls: number;
|
|
14
|
+
compactions: number;
|
|
15
|
+
pendingAttachments: number;
|
|
16
|
+
toolNames: readonly string[];
|
|
17
|
+
mcpServers: number;
|
|
18
|
+
memoryFiles: number;
|
|
19
|
+
}
|
|
20
|
+
/** Renders durable and estimated context information as a human-readable TUI report. */
|
|
21
|
+
export declare function formatContextSnapshot(snapshot: TuiContextSnapshot): string;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{formatCompactNumber as t}from"./formatters.js";function d(e){const o=e.contextWindow===void 0?"?":t(e.contextWindow),n=e.contextWindow===void 0?void 0:Math.max(0,e.contextWindow-e.usedTokens),i=e.contextWindow===void 0||e.contextWindow<=0?"?":`${Math.round(e.usedTokens/e.contextWindow*100)}%`;return["Context Usage",`Model ${e.model??"not selected"}`,`Context ${t(e.usedTokens)}/${o} tokens (${i})`,`System ${t(e.systemPromptTokens)} tokens`,`Conversation ${t(e.conversationTokens)} tokens`,...e.inputTokens===void 0?[]:[` Input ${t(e.inputTokens)} tokens`],...e.outputTokens===void 0?[]:[` Output ${t(e.outputTokens)} tokens`],...e.otherTokens===void 0?[]:[` Other ${t(e.otherTokens)} tokens`],`Free space ${n===void 0?"?":t(n)} tokens`,"",`Local tools ${e.toolNames.length}`,`MCP servers ${e.mcpServers}`,"MCP tools discovered when an agent run initializes the servers",`Memory files ${e.memoryFiles}`,`Messages ${e.transcriptEntries} (${e.userMessages} user \xB7 ${e.assistantMessages} assistant)`,`Tool calls ${e.toolCalls}`,`Compactions ${e.compactions}`,`Attachments ${e.pendingAttachments}`,"","Token counts are estimated from persisted conversation context and the current system guidance; provider usage may differ."].join(`
|
|
2
|
+
`)}export{d as formatContextSnapshot};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { formatCompactNumber } from '../../application/formatting/compact-number.js';
|
|
2
|
+
/** Estimates terminal column width without relying on a transitive dependency. */
|
|
3
|
+
export declare function terminalTextWidth(value: string): number;
|
|
4
|
+
export declare function wrapTerminalText(value: string, width: number): string[];
|
|
5
|
+
export declare function truncateTerminalText(value: string, width: number, suffix?: string): string;
|
|
6
|
+
export declare function formatContextUsage(usedTokens: number, contextWindow?: number): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{formatCompactNumber as n}from"../../application/formatting/compact-number.js";import{formatCompactNumber as g}from"../../application/formatting/compact-number.js";function m(r){let t=0;for(const x of r){const f=x.codePointAt(0)??0;h(f)||(t+=p(f)?2:1)}return t}function u(r,t){if(r.length===0)return[""];const x=[];let f="";for(const a of Array.from(r)){const e=`${f}${a}`;f.length>0&&m(e)>Math.max(1,t)?(x.push(f),f=a):f=e}return f.length>0&&x.push(f),x}function i(r,t,x="\u2026"){const f=Math.max(0,Math.floor(t));if(m(r)<=f)return r;if(f===0)return"";const a=m(x);return a>=f?Array.from(x).slice(0,f).join(""):`${u(r,f-a)[0]??""}${x}`}function l(r,t){return t===void 0?`${n(r)}/?`:`${n(r)}/${n(t)}`}function h(r){return r>=768&&r<=879||r===8205||r>=65024&&r<=65039}function p(r){return r>=4352&&(r<=4447||r===9001||r===9002||r>=11904&&r<=42191||r>=44032&&r<=55203||r>=63744&&r<=64255||r>=65040&&r<=65049||r>=65072&&r<=65135||r>=65280&&r<=65376||r>=65504&&r<=65510||r>=127744&&r<=129791)}export{g as formatCompactNumber,l as formatContextUsage,m as terminalTextWidth,i as truncateTerminalText,u as wrapTerminalText};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function h(n,e,o){const t=Math.max(1,o),a=Math.max(0,Math.min(e-Math.floor(t/2),Math.max(0,n.length-t)));return{start:a,entries:n.slice(a,a+t)}}export{h as choiceWindow};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const I=120,t=["\u25D0","\u25D3","\u25D1","\u25D2"];function e(n){return t[n%t.length]??t[0]}export{I as ACTIVITY_ANIMATION_INTERVAL_MS,t as ACTIVITY_SPINNER_FRAMES,e as activitySpinnerFrame};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsxs as m,jsx as d}from"react/jsx-runtime";import{Box as $,Text as l,useAnimation as A,useStdout as g}from"ink";import{DARK_THEME as n}from"../../../themes/theme.js";import{terminalTextWidth as i,truncateTerminalText as h}from"../../formatters.js";import{ShimmerText as M}from"./shimmer-text.js";import{ACTIVITY_ANIMATION_INTERVAL_MS as _,activitySpinnerFrame as b}from"./activity-animation.js";function L({activity:e,showDetails:u=!1}){const{stdout:f}=g(),o=e.state==="pending",t=e.state==="running",a=A({interval:_,isActive:t}),p=t?Math.max(e.elapsedMs??0,Date.now()-e.startedAt):e.elapsedMs??0,r=o?"\u25CC":t?b(a.frame):e.state==="failed"?"!":"\u2713",c=`${o?"Run":t?"Running":e.state==="failed"?"Command failed":"Ran"} ${e.label.replace(/\s+/gu," ").trim()}`,s=` \xB7 ${I(p)}${u&&e.toolName!==void 0?` \xB7 ${e.toolName}${e.kind===void 0?"":` \xB7 ${e.kind}`}`:""}`,x=Math.max(1,(f.columns??80)-2-i(`${r} `)-i(s)),T=h(c,x,"....");return m($,{marginBottom:1,children:[m(l,{color:e.state==="failed"?n.error:t||o?n.warning:n.muted,children:[r," "]}),d(M,{value:T,active:t,frame:a.frame,color:t?n.warning:n.text}),d(l,{color:n.muted,children:s})]})}function I(e){return e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}export{L as ActivityEntry};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { JSX } from 'react';
|
|
2
|
+
import type { ChatUsage } from '../../../../ports/chat-model.js';
|
|
3
|
+
export interface ActivityStatusProps {
|
|
4
|
+
status: string;
|
|
5
|
+
activityStartedAt?: number;
|
|
6
|
+
elapsedMs?: number;
|
|
7
|
+
usage?: ChatUsage;
|
|
8
|
+
paused?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function ActivityStatus({ status, activityStartedAt, elapsedMs, usage, paused }: ActivityStatusProps): JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsxs as i,jsx as x}from"react/jsx-runtime";import{Box as T,Text as l,useAnimation as h}from"ink";import{DARK_THEME as t}from"../../../themes/theme.js";import{ShimmerText as A}from"./shimmer-text.js";import{ACTIVITY_ANIMATION_INTERVAL_MS as v,activitySpinnerFrame as _}from"./activity-animation.js";function $({status:o,activityStartedAt:c,elapsedMs:a,usage:n,paused:m=!1}){const e=o!=="Done"&&o!=="Cancelled"&&o!=="Failed",s=h({interval:v,isActive:e&&!m}),p=e&&c!==void 0?Math.max(a??0,Date.now()-c):a??0,r=[j(p)],f=n?.completionTokens??n?.totalTokens;f!==void 0&&r.push(`${n?.estimated===!0?"~":""}${f} output tokens`),e&&r.push("Esc cancel");const u=e?_(s.frame):"\u25CF",d=o==="Failed"?t.error:e?t.warning:t.success;return i(T,{marginBottom:1,children:[i(l,{color:d,children:[u," "]}),x(A,{value:o,active:e&&!m,frame:s.frame}),i(l,{color:t.muted,children:[" ",r.join(" \xB7 ")]})]})}function j(o){return o<1e3?`${o}ms`:`${(o/1e3).toFixed(1)}s`}export{$ as ActivityStatus};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { JSX } from 'react';
|
|
2
|
+
import type { InkTuiBridge, TuiChoice } from '../tui-bridge.js';
|
|
3
|
+
export interface ChoiceModalProps {
|
|
4
|
+
bridge: InkTuiBridge;
|
|
5
|
+
title: string;
|
|
6
|
+
choices: readonly TuiChoice[];
|
|
7
|
+
currentValue?: string;
|
|
8
|
+
detail?: string;
|
|
9
|
+
borderColor?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function ChoiceModal({ bridge, title, choices, currentValue, detail, borderColor }: ChoiceModalProps): JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as a,jsxs as s}from"react/jsx-runtime";import{useState as M}from"react";import{Box as v,Text as r,useInput as A}from"ink";import{DARK_THEME as t}from"../../../themes/theme.js";import{choiceWindow as C}from"../choice-window.js";function b({bridge:i,title:x,choices:l,currentValue:p,detail:u,borderColor:w=t.accent}){const h=l.findIndex(e=>e.value===p),[c,m]=M(Math.max(0,h)),f=C(l,c,8);return A((e,n)=>{n.upArrow?m(o=>Math.max(0,o-1)):n.downArrow?m(o=>Math.min(Math.max(0,l.length-1),o+1)):n.return?i.resolveActiveModal(l[c]?.value):e.toLowerCase()==="y"&&l.some(o=>o.value==="allow")?i.resolveActiveModal("allow"):e.toLowerCase()==="n"&&l.some(o=>o.value==="deny")?i.resolveActiveModal("deny"):(n.escape||e==="q")&&i.resolveActiveModal(void 0)}),s(v,{borderStyle:"double",borderColor:w,flexDirection:"column",marginTop:1,paddingX:1,children:[a(r,{bold:!0,color:t.text,children:"Action required"}),a(r,{color:t.text,children:x}),u!==void 0&&a(r,{color:t.muted,children:u}),f.entries.map((e,n)=>{const o=f.start+n===c,d=o?{backgroundColor:t.selection}:{};return s(v,{width:"100%",alignSelf:"stretch",flexDirection:"row",...d,children:[a(r,{color:o?t.accent:t.muted,...d,children:"\u203A "}),a(r,{color:t.text,...d,children:e.label}),e.description!==void 0&&s(r,{color:t.muted,...d,children:[" ",e.description]})]},e.value)}),a(r,{color:t.muted,children:"\u2191\u2193 navigate \xB7 Enter select \xB7 Esc cancel"})]})}export{b as ChoiceModal};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { JSX } from 'react';
|
|
2
|
+
import type { Attachment } from '../../../../domain/session/attachment.js';
|
|
3
|
+
import type { InkTuiBridge, TuiChoice } from '../tui-bridge.js';
|
|
4
|
+
export interface ComposerCursorPosition {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
}
|
|
8
|
+
interface ComposerInputLayout {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
width: number;
|
|
12
|
+
}
|
|
13
|
+
export declare function calculateComposerCursorPosition({ layout, value, cursor, terminalRows }: {
|
|
14
|
+
layout: ComposerInputLayout;
|
|
15
|
+
value: string;
|
|
16
|
+
cursor: number;
|
|
17
|
+
terminalRows?: number;
|
|
18
|
+
}): ComposerCursorPosition | undefined;
|
|
19
|
+
export declare function Composer({ bridge, enabled, activeRun, visible, clearBlockedUntil, footerNotice, contextUsage, attachments, fileChoices, onLayoutRowsChange }: {
|
|
20
|
+
bridge: InkTuiBridge;
|
|
21
|
+
enabled: boolean;
|
|
22
|
+
activeRun: boolean;
|
|
23
|
+
visible?: boolean;
|
|
24
|
+
clearBlockedUntil?: number;
|
|
25
|
+
footerNotice?: string;
|
|
26
|
+
contextUsage?: {
|
|
27
|
+
usedTokens: number;
|
|
28
|
+
contextWindow?: number;
|
|
29
|
+
};
|
|
30
|
+
attachments: readonly Attachment[];
|
|
31
|
+
fileChoices: readonly TuiChoice[];
|
|
32
|
+
onLayoutRowsChange?: (rows: number) => void;
|
|
33
|
+
}): JSX.Element | null;
|
|
34
|
+
export interface AtFileReference {
|
|
35
|
+
start: number;
|
|
36
|
+
query: string;
|
|
37
|
+
}
|
|
38
|
+
/** Returns the active unquoted @workspace-file token immediately before the cursor. */
|
|
39
|
+
export declare function atFileReference(value: string, cursor: number): AtFileReference | undefined;
|
|
40
|
+
export {};
|