@mmmbuto/gemini-cli-termux 0.30.3-termux → 0.30.5-termux
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 +42 -193
- package/bundle/docs/cli/settings.md +8 -9
- package/bundle/docs/extensions/reference.md +14 -38
- package/bundle/docs/hooks/reference.md +0 -8
- package/bundle/docs/reference/configuration.md +0 -8
- package/bundle/gemini.js +10730 -11704
- package/bundle/node_modules/@google/gemini-cli-devtools/package.json +1 -1
- package/bundle/package.json +2 -1
- package/package.json +67 -5
- package/packages/cli/dist/index.js +0 -0
- package/packages/cli/dist/package.json +2 -2
- package/packages/cli/dist/src/commands/extensions/examples/custom-commands/gemini-extension.json +2 -2
- package/packages/cli/dist/src/commands/extensions/examples/exclude-tools/gemini-extension.json +3 -3
- package/packages/cli/dist/src/commands/extensions/examples/hooks/gemini-extension.json +2 -2
- package/packages/cli/dist/src/commands/extensions/examples/hooks/hooks/hooks.json +11 -11
- package/packages/cli/dist/src/commands/extensions/examples/mcp-server/example.js +1 -1
- package/packages/cli/dist/src/commands/extensions/examples/mcp-server/gemini-extension.json +8 -8
- package/packages/cli/dist/src/commands/extensions/examples/mcp-server/package.json +9 -9
- package/packages/cli/dist/src/commands/extensions/examples/skills/gemini-extension.json +2 -2
- package/packages/cli/dist/src/commands/extensions/examples/themes-example/README.md +8 -5
- package/packages/cli/dist/src/commands/extensions/examples/themes-example/gemini-extension.json +27 -27
- package/packages/cli/dist/src/config/config.js +4 -65
- package/packages/cli/dist/src/config/config.js.map +1 -1
- package/packages/cli/dist/src/config/settingsSchema.d.ts +1 -235
- package/packages/cli/dist/src/config/settingsSchema.js +1 -235
- package/packages/cli/dist/src/config/settingsSchema.js.map +1 -1
- package/packages/cli/dist/src/gemini.js +0 -2
- package/packages/cli/dist/src/gemini.js.map +1 -1
- package/packages/cli/dist/src/generated/git-commit.d.ts +2 -2
- package/packages/cli/dist/src/generated/git-commit.js +2 -2
- package/packages/cli/dist/src/patches/empty-module.d.ts +2 -0
- package/packages/cli/dist/src/patches/empty-module.js +2 -0
- package/packages/cli/dist/src/patches/empty-module.js.map +1 -0
- package/packages/cli/dist/src/services/McpPromptLoader.js +3 -6
- package/packages/cli/dist/src/services/McpPromptLoader.js.map +1 -1
- package/packages/cli/dist/src/ui/components/AgentConfigDialog.js +19 -5
- package/packages/cli/dist/src/ui/components/AgentConfigDialog.js.map +1 -1
- package/packages/cli/dist/src/ui/components/AgentConfigDialog.test.js +41 -19
- package/packages/cli/dist/src/ui/components/AgentConfigDialog.test.js.map +1 -1
- package/packages/cli/dist/src/ui/components/DialogManager.d.ts +1 -1
- package/packages/cli/dist/src/ui/components/DialogManager.js +34 -7
- package/packages/cli/dist/src/ui/components/DialogManager.js.map +1 -1
- package/packages/cli/dist/src/ui/components/InputPrompt.d.ts +9 -0
- package/packages/cli/dist/src/ui/components/InputPrompt.js +350 -125
- package/packages/cli/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/packages/cli/dist/src/ui/components/InputPrompt.test.js +788 -35
- package/packages/cli/dist/src/ui/components/InputPrompt.test.js.map +1 -1
- package/packages/cli/dist/src/ui/components/messages/ShellToolMessage.js +2 -2
- package/packages/cli/dist/src/ui/components/messages/ShellToolMessage.js.map +1 -1
- package/packages/cli/dist/src/ui/components/messages/ToolConfirmationMessage.js +4 -77
- package/packages/cli/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/packages/cli/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +0 -51
- package/packages/cli/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
- package/packages/cli/dist/src/ui/components/messages/ToolMessage.js +2 -2
- package/packages/cli/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
- package/packages/cli/dist/src/ui/components/messages/ToolShared.d.ts +0 -1
- package/packages/cli/dist/src/ui/components/messages/ToolShared.js +2 -2
- package/packages/cli/dist/src/ui/components/messages/ToolShared.js.map +1 -1
- package/packages/cli/dist/src/ui/components/shared/BaseSettingsDialog.js +4 -1
- package/packages/cli/dist/src/ui/components/shared/BaseSettingsDialog.js.map +1 -1
- package/packages/cli/dist/src/ui/components/shared/BaseSettingsDialog.test.js +139 -40
- package/packages/cli/dist/src/ui/components/shared/BaseSettingsDialog.test.js.map +1 -1
- package/packages/cli/dist/src/ui/components/shared/TextInput.js +2 -1
- package/packages/cli/dist/src/ui/components/shared/TextInput.js.map +1 -1
- package/packages/cli/dist/src/ui/hooks/toolMapping.js +0 -1
- package/packages/cli/dist/src/ui/hooks/toolMapping.js.map +1 -1
- package/packages/cli/dist/src/ui/hooks/toolMapping.test.js +0 -13
- package/packages/cli/dist/src/ui/hooks/toolMapping.test.js.map +1 -1
- package/packages/cli/dist/src/ui/hooks/useToolScheduler.js +2 -18
- package/packages/cli/dist/src/ui/hooks/useToolScheduler.js.map +1 -1
- package/packages/cli/dist/src/ui/hooks/useToolScheduler.test.js +0 -44
- package/packages/cli/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
- package/packages/cli/dist/src/ui/keyMatchers.test.js.map +1 -1
- package/packages/cli/dist/src/ui/types.d.ts +0 -1
- package/packages/cli/dist/src/ui/types.js.map +1 -1
- package/packages/cli/dist/src/ui/utils/commandUtils.js +4 -1
- package/packages/cli/dist/src/ui/utils/commandUtils.js.map +1 -1
- package/packages/cli/dist/src/utils/activityLogger.js +23 -94
- package/packages/cli/dist/src/utils/activityLogger.js.map +1 -1
- package/packages/cli/dist/src/utils/handleAutoUpdate.d.ts +1 -1
- package/packages/cli/dist/src/utils/handleAutoUpdate.js +1 -1
- package/packages/cli/dist/src/utils/handleAutoUpdate.js.map +1 -1
- package/packages/cli/dist/src/utils/handleAutoUpdate.test.js +11 -11
- package/packages/cli/dist/src/utils/handleAutoUpdate.test.js.map +1 -1
- package/{bundle/sandbox-macos-restrictive-closed.sb → packages/cli/dist/src/utils/sandbox-macos-strict-open.sb} +42 -4
- package/packages/cli/dist/src/utils/{sandbox-macos-restrictive-closed.sb → sandbox-macos-strict-proxied.sb} +44 -4
- package/packages/cli/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/core/dist/docs/admin/enterprise-controls.md +115 -0
- package/packages/core/dist/docs/changelogs/index.md +57 -1
- package/packages/core/dist/docs/changelogs/latest.md +357 -314
- package/packages/core/dist/docs/changelogs/preview.md +288 -411
- package/packages/core/dist/docs/cli/checkpointing.md +2 -3
- package/packages/core/dist/docs/cli/cli-reference.md +42 -28
- package/packages/core/dist/docs/cli/custom-commands.md +3 -0
- package/packages/core/dist/docs/cli/enterprise.md +28 -8
- package/packages/core/dist/docs/cli/gemini-md.md +21 -13
- package/packages/core/dist/docs/cli/headless.md +34 -372
- package/packages/core/dist/docs/cli/model.md +1 -1
- package/packages/core/dist/docs/cli/plan-mode.md +245 -0
- package/packages/core/dist/docs/cli/rewind.md +11 -11
- package/packages/core/dist/docs/cli/sandbox.md +6 -5
- package/packages/core/dist/docs/cli/session-management.md +61 -44
- package/packages/core/dist/docs/cli/settings.md +64 -49
- package/packages/core/dist/docs/cli/skills.md +29 -7
- package/packages/core/dist/docs/cli/telemetry.md +41 -5
- package/packages/core/dist/docs/cli/themes.md +88 -54
- package/packages/core/dist/docs/cli/trusted-folders.md +31 -0
- package/packages/core/dist/docs/cli/tutorials/automation.md +187 -0
- package/packages/core/dist/docs/cli/tutorials/file-management.md +142 -0
- package/packages/core/dist/docs/cli/tutorials/mcp-setup.md +105 -0
- package/packages/core/dist/docs/cli/tutorials/memory-management.md +126 -0
- package/packages/core/dist/docs/cli/tutorials/session-management.md +105 -0
- package/packages/core/dist/docs/cli/tutorials/shell-commands.md +107 -0
- package/packages/core/dist/docs/cli/tutorials/skills-getting-started.md +36 -31
- package/packages/core/dist/docs/cli/tutorials/task-planning.md +93 -0
- package/packages/core/dist/docs/cli/tutorials/web-tools.md +78 -0
- package/packages/core/dist/docs/core/index.md +7 -7
- package/packages/core/dist/docs/core/subagents.md +40 -40
- package/packages/core/dist/docs/extensions/best-practices.md +102 -53
- package/packages/core/dist/docs/extensions/index.md +37 -21
- package/packages/core/dist/docs/extensions/reference.md +148 -219
- package/packages/core/dist/docs/extensions/releasing.md +93 -122
- package/packages/core/dist/docs/extensions/writing-extensions.md +87 -76
- package/packages/core/dist/docs/get-started/authentication.md +4 -4
- package/packages/core/dist/docs/get-started/examples.md +39 -119
- package/packages/core/dist/docs/get-started/gemini-3.md +17 -3
- package/packages/core/dist/docs/get-started/index.md +16 -5
- package/packages/core/dist/docs/get-started/installation.md +110 -77
- package/packages/core/dist/docs/hooks/best-practices.md +1 -1
- package/packages/core/dist/docs/hooks/reference.md +2 -2
- package/packages/core/dist/docs/index.md +142 -149
- package/packages/core/dist/docs/redirects.json +19 -0
- package/packages/core/dist/docs/reference/commands.md +523 -0
- package/{bundle/docs/get-started → packages/core/dist/docs/reference}/configuration.md +180 -71
- package/packages/core/dist/docs/{cli → reference}/keyboard-shortcuts.md +49 -35
- package/packages/core/dist/docs/{core → reference}/policy-engine.md +76 -32
- package/packages/core/dist/docs/releases.md +2 -2
- package/{bundle/docs → packages/core/dist/docs/resources}/faq.md +1 -1
- package/packages/core/dist/docs/{quota-and-pricing.md → resources/quota-and-pricing.md} +12 -5
- package/{bundle/docs → packages/core/dist/docs/resources}/tos-privacy.md +3 -3
- package/packages/core/dist/docs/{troubleshooting.md → resources/troubleshooting.md} +1 -1
- package/packages/core/dist/docs/sidebar.json +194 -113
- package/packages/core/dist/docs/tools/activate-skill.md +43 -0
- package/packages/core/dist/docs/tools/ask-user.md +95 -0
- package/packages/core/dist/docs/tools/file-system.md +55 -143
- package/packages/core/dist/docs/tools/index.md +97 -93
- package/packages/core/dist/docs/tools/internal-docs.md +46 -0
- package/packages/core/dist/docs/tools/mcp-server.md +65 -16
- package/packages/core/dist/docs/tools/memory.md +21 -40
- package/packages/core/dist/docs/tools/planning.md +57 -0
- package/packages/core/dist/docs/tools/shell.md +44 -88
- package/packages/core/dist/docs/tools/todos.md +22 -44
- package/packages/core/dist/docs/tools/web-fetch.md +22 -46
- package/packages/core/dist/docs/tools/web-search.md +19 -29
- package/packages/core/dist/src/code_assist/types.d.ts +14 -14
- package/packages/core/dist/src/config/config.d.ts +1 -13
- package/packages/core/dist/src/config/config.js +6 -39
- package/packages/core/dist/src/config/config.js.map +1 -1
- package/packages/core/dist/src/confirmation-bus/types.d.ts +0 -3
- package/packages/core/dist/src/confirmation-bus/types.js.map +1 -1
- package/packages/core/dist/src/core/coreToolHookTriggers.d.ts +1 -1
- package/packages/core/dist/src/core/coreToolHookTriggers.js +3 -8
- package/packages/core/dist/src/core/coreToolHookTriggers.js.map +1 -1
- package/packages/core/dist/src/generated/git-commit.d.ts +2 -2
- package/packages/core/dist/src/generated/git-commit.js +2 -2
- package/packages/core/dist/src/hooks/hookEventHandler.d.ts +2 -2
- package/packages/core/dist/src/hooks/hookEventHandler.js +2 -8
- package/packages/core/dist/src/hooks/hookEventHandler.js.map +1 -1
- package/packages/core/dist/src/hooks/hookSystem.d.ts +2 -2
- package/packages/core/dist/src/hooks/hookSystem.js +4 -4
- package/packages/core/dist/src/hooks/hookSystem.js.map +1 -1
- package/packages/core/dist/src/hooks/types.d.ts +0 -18
- package/packages/core/dist/src/hooks/types.js +0 -17
- package/packages/core/dist/src/hooks/types.js.map +1 -1
- package/packages/core/dist/src/ide/ide-client.js +1 -1
- package/packages/core/dist/src/ide/ide-client.js.map +1 -1
- package/packages/core/dist/src/ide/types.d.ts +8 -8
- package/packages/core/dist/src/index.d.ts +2 -0
- package/packages/core/dist/src/index.js +2 -0
- package/packages/core/dist/src/index.js.map +1 -1
- package/packages/core/dist/src/policy/policies/plan.toml +29 -43
- package/packages/core/dist/src/policy/policies/read-only.toml +12 -11
- package/packages/core/dist/src/policy/policies/write.toml +11 -10
- package/packages/core/dist/src/policy/policies/yolo.toml +24 -12
- package/packages/core/dist/src/policy/policy-engine.js +1 -5
- package/packages/core/dist/src/policy/policy-engine.js.map +1 -1
- package/packages/core/dist/src/policy/types.d.ts +1 -2
- package/packages/core/dist/src/policy/types.js +0 -1
- package/packages/core/dist/src/policy/types.js.map +1 -1
- package/packages/core/dist/src/safety/context-builder.d.ts +3 -3
- package/packages/core/dist/src/safety/context-builder.js +4 -60
- package/packages/core/dist/src/safety/context-builder.js.map +1 -1
- package/packages/core/dist/src/safety/context-builder.test.js +18 -98
- package/packages/core/dist/src/safety/context-builder.test.js.map +1 -1
- package/packages/core/dist/src/safety/protocol.d.ts +0 -4
- package/packages/core/dist/src/safety/registry.d.ts +1 -2
- package/packages/core/dist/src/safety/registry.js +4 -14
- package/packages/core/dist/src/safety/registry.js.map +1 -1
- package/packages/core/dist/src/safety/registry.test.js +2 -5
- package/packages/core/dist/src/safety/registry.test.js.map +1 -1
- package/packages/core/dist/src/scheduler/scheduler.d.ts +1 -1
- package/packages/core/dist/src/scheduler/scheduler.js +4 -49
- package/packages/core/dist/src/scheduler/scheduler.js.map +1 -1
- package/packages/core/dist/src/scheduler/scheduler.test.js +0 -91
- package/packages/core/dist/src/scheduler/scheduler.test.js.map +1 -1
- package/packages/core/dist/src/scheduler/state-manager.d.ts +0 -6
- package/packages/core/dist/src/scheduler/state-manager.js +0 -12
- package/packages/core/dist/src/scheduler/state-manager.js.map +1 -1
- package/packages/core/dist/src/scheduler/tool-executor.js +7 -9
- package/packages/core/dist/src/scheduler/tool-executor.js.map +1 -1
- package/packages/core/dist/src/scheduler/tool-executor.test.js +1 -1
- package/packages/core/dist/src/scheduler/tool-executor.test.js.map +1 -1
- package/packages/core/dist/src/scheduler/types.d.ts +0 -13
- package/packages/core/dist/src/services/shellExecutionService.d.ts +1 -1
- package/packages/core/dist/src/services/shellExecutionService.js +7 -8
- package/packages/core/dist/src/services/shellExecutionService.js.map +1 -1
- package/packages/core/dist/src/services/shellExecutionService.test.js +5 -5
- package/packages/core/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/packages/core/dist/src/services/test-data/resolved-aliases-retry.golden.json +251 -251
- package/packages/core/dist/src/services/test-data/resolved-aliases.golden.json +251 -251
- package/packages/core/dist/src/skills/builtin/skill-creator/scripts/init_skill.cjs +5 -1
- package/packages/core/dist/src/skills/builtin/skill-creator/scripts/package_skill.cjs +5 -1
- package/packages/core/dist/src/skills/builtin/skill-creator/scripts/validate_skill.cjs +5 -1
- package/packages/core/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +1 -3
- package/packages/core/dist/src/telemetry/clearcut-logger/clearcut-logger.js +0 -2
- package/packages/core/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/packages/core/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +1 -9
- package/packages/core/dist/src/telemetry/clearcut-logger/event-metadata-key.js +1 -19
- package/packages/core/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/packages/core/dist/src/telemetry/index.d.ts +1 -2
- package/packages/core/dist/src/telemetry/index.js +1 -2
- package/packages/core/dist/src/telemetry/index.js.map +1 -1
- package/packages/core/dist/src/telemetry/loggers.js +0 -4
- package/packages/core/dist/src/telemetry/loggers.js.map +1 -1
- package/packages/core/dist/src/telemetry/trace.js.map +1 -1
- package/packages/core/dist/src/telemetry/types.d.ts +0 -26
- package/packages/core/dist/src/telemetry/types.js +2 -76
- package/packages/core/dist/src/telemetry/types.js.map +1 -1
- package/packages/core/dist/src/tools/diffOptions.d.ts +2 -2
- package/packages/core/dist/src/tools/diffOptions.js.map +1 -1
- package/packages/core/dist/src/tools/mcp-client.test.js.map +1 -1
- package/packages/core/dist/src/tools/mcp-tool.d.ts +1 -3
- package/packages/core/dist/src/tools/mcp-tool.js +2 -9
- package/packages/core/dist/src/tools/mcp-tool.js.map +1 -1
- package/packages/core/dist/src/tools/memoryTool.d.ts +0 -10
- package/packages/core/dist/src/tools/memoryTool.js +30 -25
- package/packages/core/dist/src/tools/memoryTool.js.map +1 -1
- package/packages/core/dist/src/tools/tool-names.d.ts +6 -0
- package/packages/core/dist/src/tools/tool-names.js +16 -1
- package/packages/core/dist/src/tools/tool-names.js.map +1 -1
- package/packages/core/dist/src/tools/tools.d.ts +0 -11
- package/packages/core/dist/src/tools/tools.js.map +1 -1
- package/packages/core/dist/src/utils/getPty.d.ts +14 -1
- package/packages/core/dist/src/utils/getPty.js +67 -2
- package/packages/core/dist/src/utils/getPty.js.map +1 -1
- package/packages/core/dist/src/utils/memoryDiscovery.d.ts +11 -3
- package/packages/core/dist/src/utils/memoryDiscovery.js +56 -21
- package/packages/core/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/packages/core/dist/src/utils/secure-browser-launcher.js +40 -29
- package/packages/core/dist/src/utils/secure-browser-launcher.js.map +1 -1
- package/packages/core/dist/src/utils/textUtils.d.ts +0 -9
- package/packages/core/dist/src/utils/textUtils.js +0 -15
- package/packages/core/dist/src/utils/textUtils.js.map +1 -1
- package/packages/core/dist/src/utils/textUtils.test.js +1 -42
- package/packages/core/dist/src/utils/textUtils.test.js.map +1 -1
- package/packages/core/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/test-utils/dist/tsconfig.tsbuildinfo +1 -1
- package/bundle/docs/ROADMAP.md +0 -113
- package/bundle/docs/TERMUX.md +0 -95
- package/bundle/docs/architecture.md +0 -80
- package/bundle/docs/assets/hero.png +0 -0
- package/bundle/docs/cli/authentication.md +0 -3
- package/bundle/docs/cli/commands.md +0 -430
- package/bundle/docs/cli/context-memory.md +0 -69
- package/bundle/docs/cli/index.md +0 -65
- package/bundle/docs/cli/keyboard-shortcuts.md +0 -140
- package/bundle/docs/cli/tutorials.md +0 -87
- package/bundle/docs/core/policy-engine.md +0 -305
- package/bundle/docs/get-started/configuration-v1.md +0 -888
- package/bundle/docs/patches/README.md +0 -74
- package/bundle/docs/patches/mcp-sdk-typings-shim.md +0 -27
- package/bundle/docs/quota-and-pricing.md +0 -158
- package/bundle/docs/termux-api/COMMANDS.md +0 -592
- package/bundle/docs/termux-api/DISCOVERY_SETUP.md +0 -670
- package/bundle/docs/termux-api/EXECUTION_PLAN.md +0 -532
- package/bundle/docs/termux-api/MERGE_STRATEGY.md +0 -365
- package/bundle/docs/termux-api/PATCHES.md +0 -480
- package/bundle/docs/termux-api/README.md +0 -416
- package/bundle/docs/troubleshooting.md +0 -173
- package/bundle/policies/conseca.toml +0 -6
- package/bundle/sandbox-macos-permissive-closed.sb +0 -32
- package/packages/cli/README.md +0 -173
- package/packages/cli/dist/src/commands/extensions/examples/mcp-server/example.d.ts +0 -6
- package/packages/cli/dist/src/commands/extensions/examples/mcp-server/example.js.map +0 -1
- package/packages/cli/dist/src/commands/extensions/examples/mcp-server/example.test.d.ts +0 -6
- package/packages/cli/dist/src/commands/extensions/examples/mcp-server/example.test.js +0 -111
- package/packages/cli/dist/src/commands/extensions/examples/mcp-server/example.test.js.map +0 -1
- package/packages/cli/dist/src/ui/components/messages/ToolConfirmationMessageOverflow.test.d.ts +0 -6
- package/packages/cli/dist/src/ui/components/messages/ToolConfirmationMessageOverflow.test.js +0 -93
- package/packages/cli/dist/src/ui/components/messages/ToolConfirmationMessageOverflow.test.js.map +0 -1
- package/packages/cli/dist/src/ui/hooks/useReactToolScheduler.d.ts +0 -42
- package/packages/cli/dist/src/ui/hooks/useReactToolScheduler.js +0 -105
- package/packages/cli/dist/src/ui/hooks/useReactToolScheduler.js.map +0 -1
- package/packages/cli/dist/src/ui/hooks/useReactToolScheduler.test.d.ts +0 -6
- package/packages/cli/dist/src/ui/hooks/useReactToolScheduler.test.js +0 -58
- package/packages/cli/dist/src/ui/hooks/useReactToolScheduler.test.js.map +0 -1
- package/packages/cli/dist/src/ui/hooks/useRefreshMemoryCommand.d.ts +0 -6
- package/packages/cli/dist/src/ui/hooks/useRefreshMemoryCommand.js +0 -7
- package/packages/cli/dist/src/ui/hooks/useRefreshMemoryCommand.js.map +0 -1
- package/packages/cli/dist/src/ui/hooks/useShowMemoryCommand.d.ts +0 -9
- package/packages/cli/dist/src/ui/hooks/useShowMemoryCommand.js +0 -59
- package/packages/cli/dist/src/ui/hooks/useShowMemoryCommand.js.map +0 -1
- package/packages/cli/dist/src/ui/hooks/useToolExecutionScheduler.d.ts +0 -30
- package/packages/cli/dist/src/ui/hooks/useToolExecutionScheduler.js +0 -149
- package/packages/cli/dist/src/ui/hooks/useToolExecutionScheduler.js.map +0 -1
- package/packages/cli/dist/src/ui/hooks/useToolExecutionScheduler.test.d.ts +0 -6
- package/packages/cli/dist/src/ui/hooks/useToolExecutionScheduler.test.js +0 -376
- package/packages/cli/dist/src/ui/hooks/useToolExecutionScheduler.test.js.map +0 -1
- package/packages/cli/dist/src/ui/hooks/useToolSchedulerFacade.test.d.ts +0 -6
- package/packages/cli/dist/src/ui/hooks/useToolSchedulerFacade.test.js +0 -45
- package/packages/cli/dist/src/ui/hooks/useToolSchedulerFacade.test.js.map +0 -1
- package/packages/cli/dist/src/ui/utils/InlineMarkdownRenderer.test.d.ts +0 -6
- package/packages/cli/dist/src/ui/utils/InlineMarkdownRenderer.test.js +0 -21
- package/packages/cli/dist/src/ui/utils/InlineMarkdownRenderer.test.js.map +0 -1
- package/packages/cli/dist/src/ui/utils/terminalUtils.test.d.ts +0 -6
- package/packages/cli/dist/src/ui/utils/terminalUtils.test.js +0 -40
- package/packages/cli/dist/src/ui/utils/terminalUtils.test.js.map +0 -1
- package/packages/cli/dist/src/utils/checks.d.ts +0 -19
- package/packages/cli/dist/src/utils/checks.js +0 -24
- package/packages/cli/dist/src/utils/checks.js.map +0 -1
- package/packages/cli/dist/src/utils/checks.test.d.ts +0 -6
- package/packages/cli/dist/src/utils/checks.test.js +0 -29
- package/packages/cli/dist/src/utils/checks.test.js.map +0 -1
- package/packages/cli/dist/src/utils/sandbox-macos-permissive-closed.sb +0 -32
- package/packages/cli/index.js +0 -2
- package/packages/core/dist/docs/TERMUX.md +0 -95
- package/packages/core/dist/docs/architecture.md +0 -80
- package/packages/core/dist/docs/assets/hero.png +0 -0
- package/packages/core/dist/docs/cli/authentication.md +0 -3
- package/packages/core/dist/docs/cli/commands.md +0 -430
- package/packages/core/dist/docs/cli/context-memory.md +0 -69
- package/packages/core/dist/docs/cli/index.md +0 -65
- package/packages/core/dist/docs/cli/tutorials.md +0 -87
- package/packages/core/dist/docs/cli/uninstall.md +0 -65
- package/packages/core/dist/docs/core/memport.md +0 -246
- package/packages/core/dist/docs/core/tools-api.md +0 -131
- package/packages/core/dist/docs/faq.md +0 -154
- package/packages/core/dist/docs/get-started/configuration-v1.md +0 -888
- package/packages/core/dist/docs/get-started/configuration.md +0 -1585
- package/packages/core/dist/docs/patches/README.md +0 -74
- package/packages/core/dist/docs/patches/mcp-sdk-typings-shim.md +0 -27
- package/packages/core/dist/docs/termux-api/COMMANDS.md +0 -592
- package/packages/core/dist/docs/termux-api/DISCOVERY_SETUP.md +0 -670
- package/packages/core/dist/docs/termux-api/EXECUTION_PLAN.md +0 -532
- package/packages/core/dist/docs/termux-api/MERGE_STRATEGY.md +0 -365
- package/packages/core/dist/docs/termux-api/PATCHES.md +0 -480
- package/packages/core/dist/docs/termux-api/README.md +0 -416
- package/packages/core/dist/docs/tos-privacy.md +0 -96
- package/packages/core/dist/src/safety/conseca/conseca.d.ts +0 -31
- package/packages/core/dist/src/safety/conseca/conseca.js +0 -105
- package/packages/core/dist/src/safety/conseca/conseca.js.map +0 -1
- package/packages/core/dist/src/safety/conseca/conseca.test.d.ts +0 -6
- package/packages/core/dist/src/safety/conseca/conseca.test.js +0 -226
- package/packages/core/dist/src/safety/conseca/conseca.test.js.map +0 -1
- package/packages/core/dist/src/safety/conseca/integration.test.d.ts +0 -6
- package/packages/core/dist/src/safety/conseca/integration.test.js +0 -19
- package/packages/core/dist/src/safety/conseca/integration.test.js.map +0 -1
- package/packages/core/dist/src/safety/conseca/policy-enforcer.d.ts +0 -13
- package/packages/core/dist/src/safety/conseca/policy-enforcer.js +0 -135
- package/packages/core/dist/src/safety/conseca/policy-enforcer.js.map +0 -1
- package/packages/core/dist/src/safety/conseca/policy-enforcer.test.d.ts +0 -6
- package/packages/core/dist/src/safety/conseca/policy-enforcer.test.js +0 -141
- package/packages/core/dist/src/safety/conseca/policy-enforcer.test.js.map +0 -1
- package/packages/core/dist/src/safety/conseca/policy-generator.d.ts +0 -15
- package/packages/core/dist/src/safety/conseca/policy-generator.js +0 -144
- package/packages/core/dist/src/safety/conseca/policy-generator.js.map +0 -1
- package/packages/core/dist/src/safety/conseca/policy-generator.test.d.ts +0 -6
- package/packages/core/dist/src/safety/conseca/policy-generator.test.js +0 -84
- package/packages/core/dist/src/safety/conseca/policy-generator.test.js.map +0 -1
- package/packages/core/dist/src/safety/conseca/types.d.ts +0 -15
- package/packages/core/dist/src/safety/conseca/types.js +0 -7
- package/packages/core/dist/src/safety/conseca/types.js.map +0 -1
- package/packages/core/dist/src/telemetry/conseca-logger.d.ts +0 -9
- package/packages/core/dist/src/telemetry/conseca-logger.js +0 -91
- package/packages/core/dist/src/telemetry/conseca-logger.js.map +0 -1
- package/packages/core/dist/src/telemetry/conseca-logger.test.d.ts +0 -6
- package/packages/core/dist/src/telemetry/conseca-logger.test.js +0 -89
- package/packages/core/dist/src/telemetry/conseca-logger.test.js.map +0 -1
- package/packages/core/dist/src/tools/mcpImportTool.d.ts +0 -31
- package/packages/core/dist/src/tools/mcpImportTool.js +0 -143
- package/packages/core/dist/src/tools/mcpImportTool.js.map +0 -1
- package/packages/core/dist/src/utils/contextMemory.d.ts +0 -67
- package/packages/core/dist/src/utils/contextMemory.js +0 -493
- package/packages/core/dist/src/utils/contextMemory.js.map +0 -1
- package/packages/core/dist/src/utils/contextMemory.test.d.ts +0 -6
- package/packages/core/dist/src/utils/contextMemory.test.js +0 -183
- package/packages/core/dist/src/utils/contextMemory.test.js.map +0 -1
- /package/{bundle/docs/core → packages/core/dist/docs/reference}/memport.md +0 -0
- /package/{bundle/docs/core → packages/core/dist/docs/reference}/tools-api.md +0 -0
- /package/{bundle/docs/cli → packages/core/dist/docs/resources}/uninstall.md +0 -0
|
@@ -91,7 +91,7 @@ describe('BaseSettingsDialog', () => {
|
|
|
91
91
|
mockOnClose = vi.fn();
|
|
92
92
|
mockOnScopeChange = vi.fn();
|
|
93
93
|
});
|
|
94
|
-
const renderDialog = (props = {}) => {
|
|
94
|
+
const renderDialog = async (props = {}) => {
|
|
95
95
|
const defaultProps = {
|
|
96
96
|
title: 'Test Settings',
|
|
97
97
|
items: createMockItems(),
|
|
@@ -103,61 +103,74 @@ describe('BaseSettingsDialog', () => {
|
|
|
103
103
|
onClose: mockOnClose,
|
|
104
104
|
...props,
|
|
105
105
|
};
|
|
106
|
-
|
|
106
|
+
const result = render(_jsx(KeypressProvider, { children: _jsx(BaseSettingsDialog, { ...defaultProps }) }));
|
|
107
|
+
await result.waitUntilReady();
|
|
108
|
+
return result;
|
|
107
109
|
};
|
|
108
110
|
describe('rendering', () => {
|
|
109
|
-
it('should render the dialog with title', () => {
|
|
110
|
-
const { lastFrame } = renderDialog();
|
|
111
|
+
it('should render the dialog with title', async () => {
|
|
112
|
+
const { lastFrame, unmount } = await renderDialog();
|
|
111
113
|
expect(lastFrame()).toContain('Test Settings');
|
|
114
|
+
unmount();
|
|
112
115
|
});
|
|
113
|
-
it('should render all items', () => {
|
|
114
|
-
const { lastFrame } = renderDialog();
|
|
116
|
+
it('should render all items', async () => {
|
|
117
|
+
const { lastFrame, unmount } = await renderDialog();
|
|
115
118
|
const frame = lastFrame();
|
|
116
119
|
expect(frame).toContain('Boolean Setting');
|
|
117
120
|
expect(frame).toContain('String Setting');
|
|
118
121
|
expect(frame).toContain('Number Setting');
|
|
119
122
|
expect(frame).toContain('Enum Setting');
|
|
123
|
+
unmount();
|
|
120
124
|
});
|
|
121
|
-
it('should render help text with Ctrl+L for reset', () => {
|
|
122
|
-
const { lastFrame } = renderDialog();
|
|
125
|
+
it('should render help text with Ctrl+L for reset', async () => {
|
|
126
|
+
const { lastFrame, unmount } = await renderDialog();
|
|
123
127
|
const frame = lastFrame();
|
|
124
128
|
expect(frame).toContain('Use Enter to select');
|
|
125
129
|
expect(frame).toContain('Ctrl+L to reset');
|
|
126
130
|
expect(frame).toContain('Tab to change focus');
|
|
127
131
|
expect(frame).toContain('Esc to close');
|
|
132
|
+
unmount();
|
|
128
133
|
});
|
|
129
|
-
it('should render scope selector when showScopeSelector is true', () => {
|
|
130
|
-
const { lastFrame } = renderDialog({
|
|
134
|
+
it('should render scope selector when showScopeSelector is true', async () => {
|
|
135
|
+
const { lastFrame, unmount } = await renderDialog({
|
|
131
136
|
showScopeSelector: true,
|
|
132
137
|
onScopeChange: mockOnScopeChange,
|
|
133
138
|
});
|
|
134
139
|
expect(lastFrame()).toContain('Apply To');
|
|
140
|
+
unmount();
|
|
135
141
|
});
|
|
136
|
-
it('should not render scope selector when showScopeSelector is false', () => {
|
|
137
|
-
const { lastFrame } = renderDialog({
|
|
142
|
+
it('should not render scope selector when showScopeSelector is false', async () => {
|
|
143
|
+
const { lastFrame, unmount } = await renderDialog({
|
|
138
144
|
showScopeSelector: false,
|
|
139
145
|
});
|
|
140
|
-
expect(lastFrame()).not.toContain('Apply To');
|
|
146
|
+
expect(lastFrame({ allowEmpty: true })).not.toContain('Apply To');
|
|
147
|
+
unmount();
|
|
141
148
|
});
|
|
142
|
-
it('should render footer content when provided', () => {
|
|
143
|
-
const { lastFrame } = renderDialog({
|
|
149
|
+
it('should render footer content when provided', async () => {
|
|
150
|
+
const { lastFrame, unmount } = await renderDialog({
|
|
144
151
|
footerContent: _jsx(Text, { children: "Custom Footer" }),
|
|
145
152
|
});
|
|
146
153
|
expect(lastFrame()).toContain('Custom Footer');
|
|
154
|
+
unmount();
|
|
147
155
|
});
|
|
148
156
|
});
|
|
149
157
|
describe('keyboard navigation', () => {
|
|
150
158
|
it('should close dialog on Escape', async () => {
|
|
151
|
-
const { stdin } = renderDialog();
|
|
159
|
+
const { stdin, waitUntilReady, unmount } = await renderDialog();
|
|
152
160
|
await act(async () => {
|
|
153
161
|
stdin.write(TerminalKeys.ESCAPE);
|
|
154
162
|
});
|
|
163
|
+
// Escape key has a 50ms timeout in KeypressContext, so we need to wrap waitUntilReady in act
|
|
164
|
+
await act(async () => {
|
|
165
|
+
await waitUntilReady();
|
|
166
|
+
});
|
|
155
167
|
await waitFor(() => {
|
|
156
168
|
expect(mockOnClose).toHaveBeenCalled();
|
|
157
169
|
});
|
|
170
|
+
unmount();
|
|
158
171
|
});
|
|
159
172
|
it('should navigate down with arrow key', async () => {
|
|
160
|
-
const { lastFrame, stdin } = renderDialog();
|
|
173
|
+
const { lastFrame, stdin, waitUntilReady, unmount } = await renderDialog();
|
|
161
174
|
// Initially first item is active (indicated by bullet point)
|
|
162
175
|
const initialFrame = lastFrame();
|
|
163
176
|
expect(initialFrame).toContain('Boolean Setting');
|
|
@@ -165,54 +178,66 @@ describe('BaseSettingsDialog', () => {
|
|
|
165
178
|
await act(async () => {
|
|
166
179
|
stdin.write(TerminalKeys.DOWN_ARROW);
|
|
167
180
|
});
|
|
181
|
+
await waitUntilReady();
|
|
168
182
|
// Navigation should move to next item
|
|
169
183
|
await waitFor(() => {
|
|
170
184
|
const frame = lastFrame();
|
|
171
185
|
// The active indicator should now be on a different row
|
|
172
186
|
expect(frame).toContain('String Setting');
|
|
173
187
|
});
|
|
188
|
+
unmount();
|
|
174
189
|
});
|
|
175
190
|
it('should navigate up with arrow key', async () => {
|
|
176
|
-
const { stdin } = renderDialog();
|
|
191
|
+
const { stdin, waitUntilReady, unmount } = await renderDialog();
|
|
177
192
|
// Press down then up
|
|
178
193
|
await act(async () => {
|
|
179
194
|
stdin.write(TerminalKeys.DOWN_ARROW);
|
|
180
195
|
});
|
|
196
|
+
await waitUntilReady();
|
|
181
197
|
await act(async () => {
|
|
182
198
|
stdin.write(TerminalKeys.UP_ARROW);
|
|
183
199
|
});
|
|
200
|
+
await waitUntilReady();
|
|
184
201
|
// Should be back at first item
|
|
185
202
|
await waitFor(() => {
|
|
186
203
|
// First item should be active again
|
|
187
204
|
expect(mockOnClose).not.toHaveBeenCalled();
|
|
188
205
|
});
|
|
206
|
+
unmount();
|
|
189
207
|
});
|
|
190
208
|
it('should wrap around when navigating past last item', async () => {
|
|
191
209
|
const items = createMockItems(2); // Only 2 items
|
|
192
|
-
const { stdin } = renderDialog({ items });
|
|
210
|
+
const { stdin, waitUntilReady, unmount } = await renderDialog({ items });
|
|
193
211
|
// Press down twice to go past the last item
|
|
194
212
|
await act(async () => {
|
|
195
213
|
stdin.write(TerminalKeys.DOWN_ARROW);
|
|
214
|
+
});
|
|
215
|
+
await waitUntilReady();
|
|
216
|
+
await act(async () => {
|
|
196
217
|
stdin.write(TerminalKeys.DOWN_ARROW);
|
|
197
218
|
});
|
|
219
|
+
await waitUntilReady();
|
|
198
220
|
// Should wrap to first item - verify no crash
|
|
199
221
|
await waitFor(() => {
|
|
200
222
|
expect(mockOnClose).not.toHaveBeenCalled();
|
|
201
223
|
});
|
|
224
|
+
unmount();
|
|
202
225
|
});
|
|
203
226
|
it('should wrap around when navigating before first item', async () => {
|
|
204
|
-
const { stdin } = renderDialog();
|
|
227
|
+
const { stdin, waitUntilReady, unmount } = await renderDialog();
|
|
205
228
|
// Press up at first item
|
|
206
229
|
await act(async () => {
|
|
207
230
|
stdin.write(TerminalKeys.UP_ARROW);
|
|
208
231
|
});
|
|
232
|
+
await waitUntilReady();
|
|
209
233
|
// Should wrap to last item - verify no crash
|
|
210
234
|
await waitFor(() => {
|
|
211
235
|
expect(mockOnClose).not.toHaveBeenCalled();
|
|
212
236
|
});
|
|
237
|
+
unmount();
|
|
213
238
|
});
|
|
214
239
|
it('should switch focus with Tab when scope selector is shown', async () => {
|
|
215
|
-
const { lastFrame, stdin } = renderDialog({
|
|
240
|
+
const { lastFrame, stdin, waitUntilReady, unmount } = await renderDialog({
|
|
216
241
|
showScopeSelector: true,
|
|
217
242
|
onScopeChange: mockOnScopeChange,
|
|
218
243
|
});
|
|
@@ -222,15 +247,17 @@ describe('BaseSettingsDialog', () => {
|
|
|
222
247
|
await act(async () => {
|
|
223
248
|
stdin.write(TerminalKeys.TAB);
|
|
224
249
|
});
|
|
250
|
+
await waitUntilReady();
|
|
225
251
|
await waitFor(() => {
|
|
226
252
|
expect(lastFrame()).toContain('> Apply To');
|
|
227
253
|
});
|
|
254
|
+
unmount();
|
|
228
255
|
});
|
|
229
256
|
});
|
|
230
257
|
describe('scrolling and resizing list (search filtering)', () => {
|
|
231
258
|
it('should preserve focus on the active item if it remains in the filtered list', async () => {
|
|
232
259
|
const items = createMockItems(5); // items 0 to 4
|
|
233
|
-
const { rerender, stdin, lastFrame } = renderDialog({
|
|
260
|
+
const { rerender, stdin, lastFrame, waitUntilReady, unmount } = await renderDialog({
|
|
234
261
|
items,
|
|
235
262
|
maxItemsToShow: 5,
|
|
236
263
|
});
|
|
@@ -239,12 +266,17 @@ describe('BaseSettingsDialog', () => {
|
|
|
239
266
|
await act(async () => {
|
|
240
267
|
stdin.write(TerminalKeys.DOWN_ARROW);
|
|
241
268
|
});
|
|
269
|
+
await waitUntilReady();
|
|
242
270
|
await act(async () => {
|
|
243
271
|
stdin.write(TerminalKeys.DOWN_ARROW);
|
|
244
272
|
});
|
|
273
|
+
await waitUntilReady();
|
|
245
274
|
// Rerender with a filtered list where "Number Setting" is now at index 1
|
|
246
275
|
const filteredItems = [items[0], items[2], items[4]];
|
|
247
|
-
|
|
276
|
+
await act(async () => {
|
|
277
|
+
rerender(_jsx(KeypressProvider, { children: _jsx(BaseSettingsDialog, { title: "Test Settings", items: filteredItems, selectedScope: SettingScope.User, maxItemsToShow: 5, onItemToggle: mockOnItemToggle, onEditCommit: mockOnEditCommit, onItemClear: mockOnItemClear, onClose: mockOnClose }) }));
|
|
278
|
+
});
|
|
279
|
+
await waitUntilReady();
|
|
248
280
|
// Verify the dialog hasn't crashed and the items are displayed
|
|
249
281
|
await waitFor(() => {
|
|
250
282
|
const frame = lastFrame();
|
|
@@ -258,13 +290,15 @@ describe('BaseSettingsDialog', () => {
|
|
|
258
290
|
await act(async () => {
|
|
259
291
|
stdin.write(TerminalKeys.ENTER);
|
|
260
292
|
});
|
|
293
|
+
await waitUntilReady();
|
|
261
294
|
await waitFor(() => {
|
|
262
295
|
expect(mockOnItemToggle).not.toHaveBeenCalled();
|
|
263
296
|
});
|
|
297
|
+
unmount();
|
|
264
298
|
});
|
|
265
299
|
it('should reset focus to the top if the active item is filtered out', async () => {
|
|
266
300
|
const items = createMockItems(5);
|
|
267
|
-
const { rerender, stdin, lastFrame } = renderDialog({
|
|
301
|
+
const { rerender, stdin, lastFrame, waitUntilReady, unmount } = await renderDialog({
|
|
268
302
|
items,
|
|
269
303
|
maxItemsToShow: 5,
|
|
270
304
|
});
|
|
@@ -272,12 +306,17 @@ describe('BaseSettingsDialog', () => {
|
|
|
272
306
|
await act(async () => {
|
|
273
307
|
stdin.write(TerminalKeys.DOWN_ARROW);
|
|
274
308
|
});
|
|
309
|
+
await waitUntilReady();
|
|
275
310
|
await act(async () => {
|
|
276
311
|
stdin.write(TerminalKeys.DOWN_ARROW);
|
|
277
312
|
});
|
|
313
|
+
await waitUntilReady();
|
|
278
314
|
// Rerender with a filtered list that EXCLUDES "Number Setting"
|
|
279
315
|
const filteredItems = [items[0], items[1]];
|
|
280
|
-
|
|
316
|
+
await act(async () => {
|
|
317
|
+
rerender(_jsx(KeypressProvider, { children: _jsx(BaseSettingsDialog, { title: "Test Settings", items: filteredItems, selectedScope: SettingScope.User, maxItemsToShow: 5, onItemToggle: mockOnItemToggle, onEditCommit: mockOnEditCommit, onItemClear: mockOnItemClear, onClose: mockOnClose }) }));
|
|
318
|
+
});
|
|
319
|
+
await waitUntilReady();
|
|
281
320
|
await waitFor(() => {
|
|
282
321
|
const frame = lastFrame();
|
|
283
322
|
expect(frame).toContain('Boolean Setting');
|
|
@@ -287,226 +326,286 @@ describe('BaseSettingsDialog', () => {
|
|
|
287
326
|
await act(async () => {
|
|
288
327
|
stdin.write(TerminalKeys.ENTER);
|
|
289
328
|
});
|
|
329
|
+
await waitUntilReady();
|
|
290
330
|
await waitFor(() => {
|
|
291
331
|
expect(mockOnItemToggle).toHaveBeenCalledWith('boolean-setting', expect.anything());
|
|
292
332
|
});
|
|
333
|
+
unmount();
|
|
293
334
|
});
|
|
294
335
|
});
|
|
295
336
|
describe('item interactions', () => {
|
|
296
337
|
it('should call onItemToggle for boolean items on Enter', async () => {
|
|
297
|
-
const { stdin } = renderDialog();
|
|
338
|
+
const { stdin, waitUntilReady, unmount } = await renderDialog();
|
|
298
339
|
// Press Enter on first item (boolean)
|
|
299
340
|
await act(async () => {
|
|
300
341
|
stdin.write(TerminalKeys.ENTER);
|
|
301
342
|
});
|
|
343
|
+
await waitUntilReady();
|
|
302
344
|
await waitFor(() => {
|
|
303
345
|
expect(mockOnItemToggle).toHaveBeenCalledWith('boolean-setting', expect.objectContaining({ type: 'boolean' }));
|
|
304
346
|
});
|
|
347
|
+
unmount();
|
|
305
348
|
});
|
|
306
349
|
it('should call onItemToggle for enum items on Enter', async () => {
|
|
307
350
|
const items = createMockItems(4);
|
|
308
351
|
// Move enum to first position
|
|
309
352
|
const enumItem = items.find((i) => i.type === 'enum');
|
|
310
|
-
const { stdin } = renderDialog({
|
|
353
|
+
const { stdin, waitUntilReady, unmount } = await renderDialog({
|
|
354
|
+
items: [enumItem],
|
|
355
|
+
});
|
|
311
356
|
// Press Enter on enum item
|
|
312
357
|
await act(async () => {
|
|
313
358
|
stdin.write(TerminalKeys.ENTER);
|
|
314
359
|
});
|
|
360
|
+
await waitUntilReady();
|
|
315
361
|
await waitFor(() => {
|
|
316
362
|
expect(mockOnItemToggle).toHaveBeenCalledWith('enum-setting', expect.objectContaining({ type: 'enum' }));
|
|
317
363
|
});
|
|
364
|
+
unmount();
|
|
318
365
|
});
|
|
319
366
|
it('should enter edit mode for string items on Enter', async () => {
|
|
320
367
|
const items = createMockItems(4);
|
|
321
368
|
const stringItem = items.find((i) => i.type === 'string');
|
|
322
|
-
const { lastFrame, stdin } = renderDialog({
|
|
369
|
+
const { lastFrame, stdin, waitUntilReady, unmount } = await renderDialog({
|
|
370
|
+
items: [stringItem],
|
|
371
|
+
});
|
|
323
372
|
// Press Enter to start editing
|
|
324
373
|
await act(async () => {
|
|
325
374
|
stdin.write(TerminalKeys.ENTER);
|
|
326
375
|
});
|
|
376
|
+
await waitUntilReady();
|
|
327
377
|
// Should show the edit buffer with cursor
|
|
328
378
|
await waitFor(() => {
|
|
329
379
|
const frame = lastFrame();
|
|
330
380
|
// In edit mode, the value should be displayed (possibly with cursor)
|
|
331
381
|
expect(frame).toContain('test-value');
|
|
332
382
|
});
|
|
383
|
+
unmount();
|
|
333
384
|
});
|
|
334
385
|
it('should enter edit mode for number items on Enter', async () => {
|
|
335
386
|
const items = createMockItems(4);
|
|
336
387
|
const numberItem = items.find((i) => i.type === 'number');
|
|
337
|
-
const { lastFrame, stdin } = renderDialog({
|
|
388
|
+
const { lastFrame, stdin, waitUntilReady, unmount } = await renderDialog({
|
|
389
|
+
items: [numberItem],
|
|
390
|
+
});
|
|
338
391
|
// Press Enter to start editing
|
|
339
392
|
await act(async () => {
|
|
340
393
|
stdin.write(TerminalKeys.ENTER);
|
|
341
394
|
});
|
|
395
|
+
await waitUntilReady();
|
|
342
396
|
// Should show the edit buffer
|
|
343
397
|
await waitFor(() => {
|
|
344
398
|
const frame = lastFrame();
|
|
345
399
|
expect(frame).toContain('42');
|
|
346
400
|
});
|
|
401
|
+
unmount();
|
|
347
402
|
});
|
|
348
403
|
it('should call onItemClear on Ctrl+L', async () => {
|
|
349
|
-
const { stdin } = renderDialog();
|
|
404
|
+
const { stdin, waitUntilReady, unmount } = await renderDialog();
|
|
350
405
|
// Press Ctrl+L to reset
|
|
351
406
|
await act(async () => {
|
|
352
407
|
stdin.write(TerminalKeys.CTRL_L);
|
|
353
408
|
});
|
|
409
|
+
await waitUntilReady();
|
|
354
410
|
await waitFor(() => {
|
|
355
411
|
expect(mockOnItemClear).toHaveBeenCalledWith('boolean-setting', expect.objectContaining({ type: 'boolean' }));
|
|
356
412
|
});
|
|
413
|
+
unmount();
|
|
357
414
|
});
|
|
358
415
|
});
|
|
359
416
|
describe('edit mode', () => {
|
|
360
417
|
it('should commit edit on Enter', async () => {
|
|
361
418
|
const items = createMockItems(4);
|
|
362
419
|
const stringItem = items.find((i) => i.type === 'string');
|
|
363
|
-
const { stdin } = renderDialog({
|
|
420
|
+
const { stdin, waitUntilReady, unmount } = await renderDialog({
|
|
421
|
+
items: [stringItem],
|
|
422
|
+
});
|
|
364
423
|
// Enter edit mode
|
|
365
424
|
await act(async () => {
|
|
366
425
|
stdin.write(TerminalKeys.ENTER);
|
|
367
426
|
});
|
|
427
|
+
await waitUntilReady();
|
|
368
428
|
// Type some characters
|
|
369
429
|
await act(async () => {
|
|
370
430
|
stdin.write('x');
|
|
371
431
|
});
|
|
432
|
+
await waitUntilReady();
|
|
372
433
|
// Commit with Enter
|
|
373
434
|
await act(async () => {
|
|
374
435
|
stdin.write(TerminalKeys.ENTER);
|
|
375
436
|
});
|
|
437
|
+
await waitUntilReady();
|
|
376
438
|
await waitFor(() => {
|
|
377
439
|
expect(mockOnEditCommit).toHaveBeenCalledWith('string-setting', 'test-valuex', expect.objectContaining({ type: 'string' }));
|
|
378
440
|
});
|
|
441
|
+
unmount();
|
|
379
442
|
});
|
|
380
443
|
it('should commit edit on Escape', async () => {
|
|
381
444
|
const items = createMockItems(4);
|
|
382
445
|
const stringItem = items.find((i) => i.type === 'string');
|
|
383
|
-
const { stdin } = renderDialog({
|
|
446
|
+
const { stdin, waitUntilReady, unmount } = await renderDialog({
|
|
447
|
+
items: [stringItem],
|
|
448
|
+
});
|
|
384
449
|
// Enter edit mode
|
|
385
450
|
await act(async () => {
|
|
386
451
|
stdin.write(TerminalKeys.ENTER);
|
|
387
452
|
});
|
|
453
|
+
await waitUntilReady();
|
|
388
454
|
// Commit with Escape
|
|
389
455
|
await act(async () => {
|
|
390
456
|
stdin.write(TerminalKeys.ESCAPE);
|
|
391
457
|
});
|
|
458
|
+
// Escape key has a 50ms timeout in KeypressContext, so we need to wrap waitUntilReady in act
|
|
459
|
+
await act(async () => {
|
|
460
|
+
await waitUntilReady();
|
|
461
|
+
});
|
|
392
462
|
await waitFor(() => {
|
|
393
463
|
expect(mockOnEditCommit).toHaveBeenCalled();
|
|
394
464
|
});
|
|
465
|
+
unmount();
|
|
395
466
|
});
|
|
396
467
|
it('should commit edit and navigate on Down arrow', async () => {
|
|
397
468
|
const items = createMockItems(4);
|
|
398
469
|
const stringItem = items.find((i) => i.type === 'string');
|
|
399
470
|
const numberItem = items.find((i) => i.type === 'number');
|
|
400
|
-
const { stdin } = renderDialog({
|
|
471
|
+
const { stdin, waitUntilReady, unmount } = await renderDialog({
|
|
472
|
+
items: [stringItem, numberItem],
|
|
473
|
+
});
|
|
401
474
|
// Enter edit mode
|
|
402
475
|
await act(async () => {
|
|
403
476
|
stdin.write(TerminalKeys.ENTER);
|
|
404
477
|
});
|
|
478
|
+
await waitUntilReady();
|
|
405
479
|
// Press Down to commit and navigate
|
|
406
480
|
await act(async () => {
|
|
407
481
|
stdin.write(TerminalKeys.DOWN_ARROW);
|
|
408
482
|
});
|
|
483
|
+
await waitUntilReady();
|
|
409
484
|
await waitFor(() => {
|
|
410
485
|
expect(mockOnEditCommit).toHaveBeenCalled();
|
|
411
486
|
});
|
|
487
|
+
unmount();
|
|
412
488
|
});
|
|
413
489
|
it('should commit edit and navigate on Up arrow', async () => {
|
|
414
490
|
const items = createMockItems(4);
|
|
415
491
|
const stringItem = items.find((i) => i.type === 'string');
|
|
416
492
|
const numberItem = items.find((i) => i.type === 'number');
|
|
417
|
-
const { stdin } = renderDialog({
|
|
493
|
+
const { stdin, waitUntilReady, unmount } = await renderDialog({
|
|
494
|
+
items: [stringItem, numberItem],
|
|
495
|
+
});
|
|
418
496
|
// Navigate to second item
|
|
419
497
|
await act(async () => {
|
|
420
498
|
stdin.write(TerminalKeys.DOWN_ARROW);
|
|
421
499
|
});
|
|
500
|
+
await waitUntilReady();
|
|
422
501
|
// Enter edit mode
|
|
423
502
|
await act(async () => {
|
|
424
503
|
stdin.write(TerminalKeys.ENTER);
|
|
425
504
|
});
|
|
505
|
+
await waitUntilReady();
|
|
426
506
|
// Press Up to commit and navigate
|
|
427
507
|
await act(async () => {
|
|
428
508
|
stdin.write(TerminalKeys.UP_ARROW);
|
|
429
509
|
});
|
|
510
|
+
await waitUntilReady();
|
|
430
511
|
await waitFor(() => {
|
|
431
512
|
expect(mockOnEditCommit).toHaveBeenCalled();
|
|
432
513
|
});
|
|
514
|
+
unmount();
|
|
433
515
|
});
|
|
434
516
|
it('should allow number input for number fields', async () => {
|
|
435
517
|
const items = createMockItems(4);
|
|
436
518
|
const numberItem = items.find((i) => i.type === 'number');
|
|
437
|
-
const { stdin } = renderDialog({
|
|
519
|
+
const { stdin, waitUntilReady, unmount } = await renderDialog({
|
|
520
|
+
items: [numberItem],
|
|
521
|
+
});
|
|
438
522
|
// Enter edit mode
|
|
439
523
|
await act(async () => {
|
|
440
524
|
stdin.write(TerminalKeys.ENTER);
|
|
441
525
|
});
|
|
526
|
+
await waitUntilReady();
|
|
442
527
|
// Type numbers one at a time
|
|
443
528
|
await act(async () => {
|
|
444
529
|
stdin.write('1');
|
|
445
530
|
});
|
|
531
|
+
await waitUntilReady();
|
|
446
532
|
await act(async () => {
|
|
447
533
|
stdin.write('2');
|
|
448
534
|
});
|
|
535
|
+
await waitUntilReady();
|
|
449
536
|
await act(async () => {
|
|
450
537
|
stdin.write('3');
|
|
451
538
|
});
|
|
539
|
+
await waitUntilReady();
|
|
452
540
|
// Commit
|
|
453
541
|
await act(async () => {
|
|
454
542
|
stdin.write(TerminalKeys.ENTER);
|
|
455
543
|
});
|
|
544
|
+
await waitUntilReady();
|
|
456
545
|
await waitFor(() => {
|
|
457
546
|
expect(mockOnEditCommit).toHaveBeenCalledWith('number-setting', '42123', expect.objectContaining({ type: 'number' }));
|
|
458
547
|
});
|
|
548
|
+
unmount();
|
|
459
549
|
});
|
|
460
550
|
it('should support quick number entry for number fields', async () => {
|
|
461
551
|
const items = createMockItems(4);
|
|
462
552
|
const numberItem = items.find((i) => i.type === 'number');
|
|
463
|
-
const { stdin } = renderDialog({
|
|
553
|
+
const { stdin, waitUntilReady, unmount } = await renderDialog({
|
|
554
|
+
items: [numberItem],
|
|
555
|
+
});
|
|
464
556
|
// Type a number directly (without Enter first)
|
|
465
557
|
await act(async () => {
|
|
466
558
|
stdin.write('5');
|
|
467
559
|
});
|
|
560
|
+
await waitUntilReady();
|
|
468
561
|
// Should start editing with that number
|
|
469
|
-
await waitFor(() => {
|
|
562
|
+
await waitFor(async () => {
|
|
470
563
|
// Commit to verify
|
|
471
|
-
act(() => {
|
|
564
|
+
await act(async () => {
|
|
472
565
|
stdin.write(TerminalKeys.ENTER);
|
|
473
566
|
});
|
|
567
|
+
await waitUntilReady();
|
|
474
568
|
});
|
|
475
569
|
await waitFor(() => {
|
|
476
570
|
expect(mockOnEditCommit).toHaveBeenCalledWith('number-setting', '5', expect.objectContaining({ type: 'number' }));
|
|
477
571
|
});
|
|
572
|
+
unmount();
|
|
478
573
|
});
|
|
479
574
|
});
|
|
480
575
|
describe('custom key handling', () => {
|
|
481
576
|
it('should call onKeyPress and respect its return value', async () => {
|
|
482
577
|
const customKeyHandler = vi.fn().mockReturnValue(true);
|
|
483
|
-
const { stdin } = renderDialog({
|
|
578
|
+
const { stdin, waitUntilReady, unmount } = await renderDialog({
|
|
484
579
|
onKeyPress: customKeyHandler,
|
|
485
580
|
});
|
|
486
581
|
// Press a key
|
|
487
582
|
await act(async () => {
|
|
488
583
|
stdin.write('r');
|
|
489
584
|
});
|
|
585
|
+
await waitUntilReady();
|
|
490
586
|
await waitFor(() => {
|
|
491
587
|
expect(customKeyHandler).toHaveBeenCalled();
|
|
492
588
|
});
|
|
493
589
|
// Since handler returned true, default behavior should be blocked
|
|
494
590
|
expect(mockOnClose).not.toHaveBeenCalled();
|
|
591
|
+
unmount();
|
|
495
592
|
});
|
|
496
593
|
});
|
|
497
594
|
describe('focus management', () => {
|
|
498
595
|
it('should keep focus on settings when scope selector is hidden', async () => {
|
|
499
|
-
const { lastFrame, stdin } = renderDialog({
|
|
596
|
+
const { lastFrame, stdin, waitUntilReady, unmount } = await renderDialog({
|
|
500
597
|
showScopeSelector: false,
|
|
501
598
|
});
|
|
502
599
|
// Press Tab - should not crash and focus should stay on settings
|
|
503
600
|
await act(async () => {
|
|
504
601
|
stdin.write(TerminalKeys.TAB);
|
|
505
602
|
});
|
|
603
|
+
await waitUntilReady();
|
|
506
604
|
await waitFor(() => {
|
|
507
605
|
// Should still show settings as focused
|
|
508
606
|
expect(lastFrame()).toContain('> Test Settings');
|
|
509
607
|
});
|
|
608
|
+
unmount();
|
|
510
609
|
});
|
|
511
610
|
});
|
|
512
611
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseSettingsDialog.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/shared/BaseSettingsDialog.test.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseSettingsDialog.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/shared/BaseSettingsDialog.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { useKeypress } from '../../hooks/useKeypress.js';
|
|
|
5
5
|
import chalk from 'chalk';
|
|
6
6
|
import { theme } from '../../semantic-colors.js';
|
|
7
7
|
import { cpSlice, cpIndexToOffset } from '../../utils/textUtils.js';
|
|
8
|
+
import { keyMatchers, Command } from '../../keyMatchers.js';
|
|
8
9
|
export function TextInput({ buffer, placeholder = '', onSubmit, onCancel, focus = true, }) {
|
|
9
10
|
const { text, handleInput, visualCursor, viewportVisualLines, visualScrollRow, } = buffer;
|
|
10
11
|
const [cursorVisualRowAbsolute, cursorVisualColAbsolute] = visualCursor;
|
|
@@ -13,7 +14,7 @@ export function TextInput({ buffer, placeholder = '', onSubmit, onCancel, focus
|
|
|
13
14
|
onCancel();
|
|
14
15
|
return true;
|
|
15
16
|
}
|
|
16
|
-
if (key
|
|
17
|
+
if (keyMatchers[Command.SUBMIT](key) && onSubmit) {
|
|
17
18
|
onSubmit(text);
|
|
18
19
|
return true;
|
|
19
20
|
}
|