indusagi 0.12.23 → 0.12.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 +393 -10
- package/local-dist/bot/actions/composio/accounts.d.ts +23 -0
- package/local-dist/bot/actions/composio/accounts.d.ts.map +1 -0
- package/local-dist/bot/actions/composio/accounts.js +40 -0
- package/local-dist/bot/actions/composio/accounts.js.map +1 -0
- package/local-dist/bot/actions/composio/client.d.ts +40 -0
- package/local-dist/bot/actions/composio/client.d.ts.map +1 -0
- package/local-dist/bot/actions/composio/client.js +361 -0
- package/local-dist/bot/actions/composio/client.js.map +1 -0
- package/local-dist/bot/actions/composio/connect.d.ts +20 -0
- package/local-dist/bot/actions/composio/connect.d.ts.map +1 -0
- package/local-dist/bot/actions/composio/connect.js +41 -0
- package/local-dist/bot/actions/composio/connect.js.map +1 -0
- package/local-dist/bot/actions/composio/enable.d.ts +26 -0
- package/local-dist/bot/actions/composio/enable.d.ts.map +1 -0
- package/local-dist/bot/actions/composio/enable.js +66 -0
- package/local-dist/bot/actions/composio/enable.js.map +1 -0
- package/local-dist/bot/actions/composio/execute.d.ts +27 -0
- package/local-dist/bot/actions/composio/execute.d.ts.map +1 -0
- package/local-dist/bot/actions/composio/execute.js +46 -0
- package/local-dist/bot/actions/composio/execute.js.map +1 -0
- package/local-dist/bot/actions/composio/helpers.d.ts +17 -0
- package/local-dist/bot/actions/composio/helpers.d.ts.map +1 -0
- package/local-dist/bot/actions/composio/helpers.js +533 -0
- package/local-dist/bot/actions/composio/helpers.js.map +1 -0
- package/local-dist/bot/actions/composio/index.d.ts +10 -0
- package/local-dist/bot/actions/composio/index.d.ts.map +1 -0
- package/local-dist/bot/actions/composio/index.js +9 -0
- package/local-dist/bot/actions/composio/index.js.map +1 -0
- package/local-dist/bot/actions/composio/provider.d.ts +9 -0
- package/local-dist/bot/actions/composio/provider.d.ts.map +1 -0
- package/local-dist/bot/actions/composio/provider.js +54 -0
- package/local-dist/bot/actions/composio/provider.js.map +1 -0
- package/local-dist/bot/actions/composio/toolkits.d.ts +23 -0
- package/local-dist/bot/actions/composio/toolkits.d.ts.map +1 -0
- package/local-dist/bot/actions/composio/toolkits.js +40 -0
- package/local-dist/bot/actions/composio/toolkits.js.map +1 -0
- package/local-dist/bot/actions/composio/tools.d.ts +29 -0
- package/local-dist/bot/actions/composio/tools.d.ts.map +1 -0
- package/local-dist/bot/actions/composio/tools.js +72 -0
- package/local-dist/bot/actions/composio/tools.js.map +1 -0
- package/local-dist/bot/actions/composio/types.d.ts +126 -0
- package/local-dist/bot/actions/composio/types.d.ts.map +1 -0
- package/local-dist/bot/actions/composio/types.js +2 -0
- package/local-dist/bot/actions/composio/types.js.map +1 -0
- package/{dist → local-dist}/bot/actions/crew/activity-tracker.js +1 -1
- package/{dist → local-dist}/bot/actions/crew/activity-tracker.js.map +1 -1
- package/{dist → local-dist}/bot/actions/crew/worktree.js +2 -2
- package/local-dist/bot/actions/crew/worktree.js.map +1 -0
- package/{dist → local-dist}/bot/actions/index.d.ts +111 -0
- package/local-dist/bot/actions/index.d.ts.map +1 -0
- package/{dist → local-dist}/bot/actions/index.js +108 -2
- package/local-dist/bot/actions/index.js.map +1 -0
- package/{dist → local-dist}/bot/actions/process-manager.js +1 -1
- package/{dist → local-dist}/bot/actions/process-manager.js.map +1 -1
- package/{dist → local-dist}/index.d.ts +1 -0
- package/{dist → local-dist}/index.d.ts.map +1 -1
- package/{dist → local-dist}/index.js +1 -0
- package/{dist → local-dist}/index.js.map +1 -1
- package/{dist → local-dist}/mcp/client-pool.d.ts +1 -1
- package/{dist → local-dist}/mcp/client-pool.js +1 -1
- package/{dist → local-dist}/mcp/client.d.ts +1 -1
- package/{dist → local-dist}/mcp/client.js +1 -1
- package/{dist → local-dist}/mcp/config.d.ts +1 -1
- package/{dist → local-dist}/mcp/config.js +1 -1
- package/{dist → local-dist}/mcp/errors.d.ts +1 -1
- package/{dist → local-dist}/mcp/errors.js +1 -1
- package/{dist → local-dist}/mcp/schema-converter.d.ts +1 -1
- package/{dist → local-dist}/mcp/schema-converter.js +1 -1
- package/{dist → local-dist}/mcp/server.d.ts +1 -1
- package/{dist → local-dist}/mcp/server.js +1 -1
- package/{dist → local-dist}/mcp/tool-factory.d.ts +1 -1
- package/{dist → local-dist}/mcp/tool-factory.js +1 -1
- package/{dist → local-dist}/mcp/types.d.ts +1 -1
- package/{dist → local-dist}/mcp/types.js +1 -1
- package/{dist → local-dist}/ml/adapters/openai-codex-responses.js +4 -2
- package/{dist → local-dist}/ml/adapters/openai-codex-responses.js.map +1 -1
- package/{dist → local-dist}/ml/kit/auth/openai-codex.d.ts +1 -1
- package/{dist → local-dist}/ml/kit/auth/openai-codex.js +2 -2
- package/{dist → local-dist}/ml/kit/auth/openai-codex.js.map +1 -1
- package/local-dist/react-host/index.d.ts +10 -0
- package/local-dist/react-host/index.d.ts.map +1 -0
- package/local-dist/react-host/index.js +9 -0
- package/local-dist/react-host/index.js.map +1 -0
- package/local-dist/react-host/ink.d.ts +5 -0
- package/local-dist/react-host/ink.d.ts.map +1 -0
- package/local-dist/react-host/ink.js +6 -0
- package/local-dist/react-host/ink.js.map +1 -0
- package/local-dist/react-host/jsx-runtime.d.ts +5 -0
- package/local-dist/react-host/jsx-runtime.d.ts.map +1 -0
- package/local-dist/react-host/jsx-runtime.js +6 -0
- package/local-dist/react-host/jsx-runtime.js.map +1 -0
- package/local-dist/react-host/loader.d.ts +4 -0
- package/local-dist/react-host/loader.d.ts.map +1 -0
- package/local-dist/react-host/loader.js +83 -0
- package/local-dist/react-host/loader.js.map +1 -0
- package/local-dist/react-ink/components/ChangelogBlock.d.ts +9 -0
- package/local-dist/react-ink/components/ChangelogBlock.d.ts.map +1 -0
- package/local-dist/react-ink/components/ChangelogBlock.js +58 -0
- package/local-dist/react-ink/components/ChangelogBlock.js.map +1 -0
- package/local-dist/react-ink/components/DisplayBlockView.d.ts +9 -0
- package/local-dist/react-ink/components/DisplayBlockView.d.ts.map +1 -0
- package/local-dist/react-ink/components/DisplayBlockView.js +11 -0
- package/local-dist/react-ink/components/DisplayBlockView.js.map +1 -0
- package/local-dist/react-ink/components/Footer.d.ts +12 -0
- package/local-dist/react-ink/components/Footer.d.ts.map +1 -0
- package/local-dist/react-ink/components/Footer.js +109 -0
- package/local-dist/react-ink/components/Footer.js.map +1 -0
- package/local-dist/react-ink/components/MessageList.d.ts +15 -0
- package/local-dist/react-ink/components/MessageList.d.ts.map +1 -0
- package/local-dist/react-ink/components/MessageList.js +43 -0
- package/local-dist/react-ink/components/MessageList.js.map +1 -0
- package/local-dist/react-ink/components/MessageRow.d.ts +14 -0
- package/local-dist/react-ink/components/MessageRow.d.ts.map +1 -0
- package/local-dist/react-ink/components/MessageRow.js +35 -0
- package/local-dist/react-ink/components/MessageRow.js.map +1 -0
- package/local-dist/react-ink/components/StatusLine.d.ts +10 -0
- package/local-dist/react-ink/components/StatusLine.d.ts.map +1 -0
- package/local-dist/react-ink/components/StatusLine.js +39 -0
- package/local-dist/react-ink/components/StatusLine.js.map +1 -0
- package/local-dist/react-ink/components/TaskPanel.d.ts +12 -0
- package/local-dist/react-ink/components/TaskPanel.d.ts.map +1 -0
- package/local-dist/react-ink/components/TaskPanel.js +23 -0
- package/local-dist/react-ink/components/TaskPanel.js.map +1 -0
- package/local-dist/react-ink/components/ToolEventBlock.d.ts +18 -0
- package/local-dist/react-ink/components/ToolEventBlock.d.ts.map +1 -0
- package/local-dist/react-ink/components/ToolEventBlock.js +61 -0
- package/local-dist/react-ink/components/ToolEventBlock.js.map +1 -0
- package/local-dist/react-ink/components/dialogs/DialogFrame.d.ts +9 -0
- package/local-dist/react-ink/components/dialogs/DialogFrame.d.ts.map +1 -0
- package/local-dist/react-ink/components/dialogs/DialogFrame.js +6 -0
- package/local-dist/react-ink/components/dialogs/DialogFrame.js.map +1 -0
- package/local-dist/react-ink/components/dialogs/LoginDialog.d.ts +15 -0
- package/local-dist/react-ink/components/dialogs/LoginDialog.d.ts.map +1 -0
- package/local-dist/react-ink/components/dialogs/LoginDialog.js +10 -0
- package/local-dist/react-ink/components/dialogs/LoginDialog.js.map +1 -0
- package/local-dist/react-ink/components/dialogs/ModelDialog.d.ts +10 -0
- package/local-dist/react-ink/components/dialogs/ModelDialog.d.ts.map +1 -0
- package/local-dist/react-ink/components/dialogs/ModelDialog.js +64 -0
- package/local-dist/react-ink/components/dialogs/ModelDialog.js.map +1 -0
- package/local-dist/react-ink/components/dialogs/OAuthDialog.d.ts +10 -0
- package/local-dist/react-ink/components/dialogs/OAuthDialog.d.ts.map +1 -0
- package/local-dist/react-ink/components/dialogs/OAuthDialog.js +24 -0
- package/local-dist/react-ink/components/dialogs/OAuthDialog.js.map +1 -0
- package/local-dist/react-ink/components/dialogs/ScopedModelsDialog.d.ts +10 -0
- package/local-dist/react-ink/components/dialogs/ScopedModelsDialog.d.ts.map +1 -0
- package/local-dist/react-ink/components/dialogs/ScopedModelsDialog.js +95 -0
- package/local-dist/react-ink/components/dialogs/ScopedModelsDialog.js.map +1 -0
- package/local-dist/react-ink/components/dialogs/SelectableDialog.d.ts +17 -0
- package/local-dist/react-ink/components/dialogs/SelectableDialog.d.ts.map +1 -0
- package/local-dist/react-ink/components/dialogs/SelectableDialog.js +66 -0
- package/local-dist/react-ink/components/dialogs/SelectableDialog.js.map +1 -0
- package/local-dist/react-ink/components/dialogs/SessionDialog.d.ts +14 -0
- package/local-dist/react-ink/components/dialogs/SessionDialog.d.ts.map +1 -0
- package/local-dist/react-ink/components/dialogs/SessionDialog.js +201 -0
- package/local-dist/react-ink/components/dialogs/SessionDialog.js.map +1 -0
- package/local-dist/react-ink/components/dialogs/SettingsDialog.d.ts +15 -0
- package/local-dist/react-ink/components/dialogs/SettingsDialog.d.ts.map +1 -0
- package/local-dist/react-ink/components/dialogs/SettingsDialog.js +79 -0
- package/local-dist/react-ink/components/dialogs/SettingsDialog.js.map +1 -0
- package/local-dist/react-ink/components/dialogs/StartupSessionPicker.d.ts +10 -0
- package/local-dist/react-ink/components/dialogs/StartupSessionPicker.d.ts.map +1 -0
- package/local-dist/react-ink/components/dialogs/StartupSessionPicker.js +100 -0
- package/local-dist/react-ink/components/dialogs/StartupSessionPicker.js.map +1 -0
- package/local-dist/react-ink/components/dialogs/ThemeDialog.d.ts +8 -0
- package/local-dist/react-ink/components/dialogs/ThemeDialog.d.ts.map +1 -0
- package/local-dist/react-ink/components/dialogs/ThemeDialog.js +7 -0
- package/local-dist/react-ink/components/dialogs/ThemeDialog.js.map +1 -0
- package/local-dist/react-ink/components/dialogs/TreeDialog.d.ts +9 -0
- package/local-dist/react-ink/components/dialogs/TreeDialog.d.ts.map +1 -0
- package/local-dist/react-ink/components/dialogs/TreeDialog.js +7 -0
- package/local-dist/react-ink/components/dialogs/TreeDialog.js.map +1 -0
- package/local-dist/react-ink/components/dialogs/UserMessageDialog.d.ts +9 -0
- package/local-dist/react-ink/components/dialogs/UserMessageDialog.d.ts.map +1 -0
- package/local-dist/react-ink/components/dialogs/UserMessageDialog.js +7 -0
- package/local-dist/react-ink/components/dialogs/UserMessageDialog.js.map +1 -0
- package/local-dist/react-ink/components/messages/AssistantMessage.d.ts +13 -0
- package/local-dist/react-ink/components/messages/AssistantMessage.d.ts.map +1 -0
- package/local-dist/react-ink/components/messages/AssistantMessage.js +20 -0
- package/local-dist/react-ink/components/messages/AssistantMessage.js.map +1 -0
- package/local-dist/react-ink/components/messages/BashMessage.d.ts +9 -0
- package/local-dist/react-ink/components/messages/BashMessage.d.ts.map +1 -0
- package/local-dist/react-ink/components/messages/BashMessage.js +11 -0
- package/local-dist/react-ink/components/messages/BashMessage.js.map +1 -0
- package/local-dist/react-ink/components/messages/BranchSummaryMessage.d.ts +9 -0
- package/local-dist/react-ink/components/messages/BranchSummaryMessage.d.ts.map +1 -0
- package/local-dist/react-ink/components/messages/BranchSummaryMessage.js +6 -0
- package/local-dist/react-ink/components/messages/BranchSummaryMessage.js.map +1 -0
- package/local-dist/react-ink/components/messages/CompactionMessage.d.ts +9 -0
- package/local-dist/react-ink/components/messages/CompactionMessage.d.ts.map +1 -0
- package/local-dist/react-ink/components/messages/CompactionMessage.js +6 -0
- package/local-dist/react-ink/components/messages/CompactionMessage.js.map +1 -0
- package/local-dist/react-ink/components/messages/CustomMessage.d.ts +10 -0
- package/local-dist/react-ink/components/messages/CustomMessage.d.ts.map +1 -0
- package/local-dist/react-ink/components/messages/CustomMessage.js +9 -0
- package/local-dist/react-ink/components/messages/CustomMessage.js.map +1 -0
- package/local-dist/react-ink/components/messages/SkillInvocationMessage.d.ts +8 -0
- package/local-dist/react-ink/components/messages/SkillInvocationMessage.d.ts.map +1 -0
- package/local-dist/react-ink/components/messages/SkillInvocationMessage.js +10 -0
- package/local-dist/react-ink/components/messages/SkillInvocationMessage.js.map +1 -0
- package/local-dist/react-ink/components/messages/ToolCallMessage.d.ts +9 -0
- package/local-dist/react-ink/components/messages/ToolCallMessage.d.ts.map +1 -0
- package/local-dist/react-ink/components/messages/ToolCallMessage.js +8 -0
- package/local-dist/react-ink/components/messages/ToolCallMessage.js.map +1 -0
- package/local-dist/react-ink/components/messages/ToolResultBlock.d.ts +13 -0
- package/local-dist/react-ink/components/messages/ToolResultBlock.d.ts.map +1 -0
- package/local-dist/react-ink/components/messages/ToolResultBlock.js +8 -0
- package/local-dist/react-ink/components/messages/ToolResultBlock.js.map +1 -0
- package/local-dist/react-ink/components/messages/UserMessage.d.ts +10 -0
- package/local-dist/react-ink/components/messages/UserMessage.d.ts.map +1 -0
- package/local-dist/react-ink/components/messages/UserMessage.js +9 -0
- package/local-dist/react-ink/components/messages/UserMessage.js.map +1 -0
- package/local-dist/react-ink/index.d.ts +35 -0
- package/local-dist/react-ink/index.d.ts.map +1 -0
- package/local-dist/react-ink/index.js +35 -0
- package/local-dist/react-ink/index.js.map +1 -0
- package/local-dist/react-ink/theme-adapter.d.ts +10 -0
- package/local-dist/react-ink/theme-adapter.d.ts.map +1 -0
- package/local-dist/react-ink/theme-adapter.js +44 -0
- package/local-dist/react-ink/theme-adapter.js.map +1 -0
- package/local-dist/react-ink/types.d.ts +134 -0
- package/local-dist/react-ink/types.d.ts.map +1 -0
- package/local-dist/react-ink/types.js +2 -0
- package/local-dist/react-ink/types.js.map +1 -0
- package/local-dist/react-ink/utils/message-groups.d.ts +26 -0
- package/local-dist/react-ink/utils/message-groups.d.ts.map +1 -0
- package/local-dist/react-ink/utils/message-groups.js +240 -0
- package/local-dist/react-ink/utils/message-groups.js.map +1 -0
- package/local-dist/react-ink/utils/selection-dialog.d.ts +3 -0
- package/local-dist/react-ink/utils/selection-dialog.d.ts.map +1 -0
- package/local-dist/react-ink/utils/selection-dialog.js +18 -0
- package/local-dist/react-ink/utils/selection-dialog.js.map +1 -0
- package/local-dist/react-ink/utils/session-browser.d.ts +28 -0
- package/local-dist/react-ink/utils/session-browser.d.ts.map +1 -0
- package/local-dist/react-ink/utils/session-browser.js +191 -0
- package/local-dist/react-ink/utils/session-browser.js.map +1 -0
- package/local-dist/react-ink/utils/tool-display.d.ts +22 -0
- package/local-dist/react-ink/utils/tool-display.d.ts.map +1 -0
- package/local-dist/react-ink/utils/tool-display.js +349 -0
- package/local-dist/react-ink/utils/tool-display.js.map +1 -0
- package/local-dist/react-ink.d.ts +3 -0
- package/local-dist/react-ink.d.ts.map +1 -0
- package/local-dist/react-ink.js +2 -0
- package/local-dist/react-ink.js.map +1 -0
- package/local-dist/tui.d.ts +9 -0
- package/local-dist/tui.d.ts.map +1 -0
- package/local-dist/tui.js +8 -0
- package/local-dist/tui.js.map +1 -0
- package/local-dist/ui/contracts.d.ts +39 -0
- package/local-dist/ui/contracts.d.ts.map +1 -0
- package/local-dist/ui/contracts.js +2 -0
- package/local-dist/ui/contracts.js.map +1 -0
- package/{dist → local-dist}/ui/editor-component.d.ts +1 -1
- package/local-dist/ui/editor-component.d.ts.map +1 -0
- package/local-dist/ui/index.d.ts +9 -0
- package/local-dist/ui/index.d.ts.map +1 -0
- package/local-dist/ui/index.js +6 -0
- package/local-dist/ui/index.js.map +1 -0
- package/local-dist/ui/theme-types.d.ts +37 -0
- package/local-dist/ui/theme-types.d.ts.map +1 -0
- package/local-dist/ui/theme-types.js +2 -0
- package/local-dist/ui/theme-types.js.map +1 -0
- package/package.json +39 -17
- package/dist/bot/actions/crew/worktree.js.map +0 -1
- package/dist/bot/actions/index.d.ts.map +0 -1
- package/dist/bot/actions/index.js.map +0 -1
- package/dist/tui.d.ts +0 -6
- package/dist/tui.d.ts.map +0 -1
- package/dist/tui.js +0 -6
- package/dist/tui.js.map +0 -1
- package/dist/ui/editor-component.d.ts.map +0 -1
- package/dist/ui/index.d.ts +0 -23
- package/dist/ui/index.d.ts.map +0 -1
- package/dist/ui/index.js +0 -32
- package/dist/ui/index.js.map +0 -1
- package/dist/ui/parts/box.d.ts +0 -19
- package/dist/ui/parts/box.d.ts.map +0 -1
- package/dist/ui/parts/box.js +0 -134
- package/dist/ui/parts/box.js.map +0 -1
- package/dist/ui/parts/cancellable-loader.d.ts +0 -26
- package/dist/ui/parts/cancellable-loader.d.ts.map +0 -1
- package/dist/ui/parts/cancellable-loader.js +0 -39
- package/dist/ui/parts/cancellable-loader.js.map +0 -1
- package/dist/ui/parts/editor.d.ts +0 -189
- package/dist/ui/parts/editor.d.ts.map +0 -1
- package/dist/ui/parts/editor.js +0 -1546
- package/dist/ui/parts/editor.js.map +0 -1
- package/dist/ui/parts/image.d.ts +0 -30
- package/dist/ui/parts/image.d.ts.map +0 -1
- package/dist/ui/parts/image.js +0 -105
- package/dist/ui/parts/image.js.map +0 -1
- package/dist/ui/parts/input.d.ts +0 -21
- package/dist/ui/parts/input.d.ts.map +0 -1
- package/dist/ui/parts/input.js +0 -305
- package/dist/ui/parts/input.js.map +0 -1
- package/dist/ui/parts/loader.d.ts +0 -23
- package/dist/ui/parts/loader.d.ts.map +0 -1
- package/dist/ui/parts/loader.js +0 -57
- package/dist/ui/parts/loader.js.map +0 -1
- package/dist/ui/parts/markdown.d.ts +0 -59
- package/dist/ui/parts/markdown.d.ts.map +0 -1
- package/dist/ui/parts/markdown.js +0 -511
- package/dist/ui/parts/markdown.js.map +0 -1
- package/dist/ui/parts/select-list.d.ts +0 -33
- package/dist/ui/parts/select-list.d.ts.map +0 -1
- package/dist/ui/parts/select-list.js +0 -157
- package/dist/ui/parts/select-list.js.map +0 -1
- package/dist/ui/parts/settings-list.d.ts +0 -50
- package/dist/ui/parts/settings-list.d.ts.map +0 -1
- package/dist/ui/parts/settings-list.js +0 -196
- package/dist/ui/parts/settings-list.js.map +0 -1
- package/dist/ui/parts/spacer.d.ts +0 -13
- package/dist/ui/parts/spacer.d.ts.map +0 -1
- package/dist/ui/parts/spacer.js +0 -42
- package/dist/ui/parts/spacer.js.map +0 -1
- package/dist/ui/parts/text-renderer.d.ts +0 -7
- package/dist/ui/parts/text-renderer.d.ts.map +0 -1
- package/dist/ui/parts/text-renderer.js +0 -25
- package/dist/ui/parts/text-renderer.js.map +0 -1
- package/dist/ui/parts/text.d.ts +0 -17
- package/dist/ui/parts/text.d.ts.map +0 -1
- package/dist/ui/parts/text.js +0 -89
- package/dist/ui/parts/text.js.map +0 -1
- package/dist/ui/parts/truncated-text.d.ts +0 -17
- package/dist/ui/parts/truncated-text.d.ts.map +0 -1
- package/dist/ui/parts/truncated-text.js +0 -54
- package/dist/ui/parts/truncated-text.js.map +0 -1
- package/dist/ui/stdin-buffer.d.ts +0 -53
- package/dist/ui/stdin-buffer.d.ts.map +0 -1
- package/dist/ui/stdin-buffer.js +0 -332
- package/dist/ui/stdin-buffer.js.map +0 -1
- package/dist/ui/terminal-image.d.ts +0 -72
- package/dist/ui/terminal-image.d.ts.map +0 -1
- package/dist/ui/terminal-image.js +0 -291
- package/dist/ui/terminal-image.js.map +0 -1
- package/dist/ui/terminal.d.ts +0 -55
- package/dist/ui/terminal.d.ts.map +0 -1
- package/dist/ui/terminal.js +0 -210
- package/dist/ui/terminal.js.map +0 -1
- package/dist/ui/tui.d.ts +0 -250
- package/dist/ui/tui.d.ts.map +0 -1
- package/dist/ui/tui.js +0 -937
- package/dist/ui/tui.js.map +0 -1
- /package/{dist → local-dist}/agent.d.ts +0 -0
- /package/{dist → local-dist}/agent.d.ts.map +0 -0
- /package/{dist → local-dist}/agent.js +0 -0
- /package/{dist → local-dist}/agent.js.map +0 -0
- /package/{dist → local-dist}/ai.d.ts +0 -0
- /package/{dist → local-dist}/ai.d.ts.map +0 -0
- /package/{dist → local-dist}/ai.js +0 -0
- /package/{dist → local-dist}/ai.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/bash.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/bash.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/bash.js +0 -0
- /package/{dist → local-dist}/bot/actions/bash.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/activity-tracker.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/crew/activity-tracker.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/cleanup.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/crew/cleanup.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/cleanup.js +0 -0
- /package/{dist → local-dist}/bot/actions/crew/cleanup.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/fs-lock.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/crew/fs-lock.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/fs-lock.js +0 -0
- /package/{dist → local-dist}/bot/actions/crew/fs-lock.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/index.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/crew/index.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/index.js +0 -0
- /package/{dist → local-dist}/bot/actions/crew/index.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/mailbox.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/crew/mailbox.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/mailbox.js +0 -0
- /package/{dist → local-dist}/bot/actions/crew/mailbox.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/model-policy.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/crew/model-policy.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/model-policy.js +0 -0
- /package/{dist → local-dist}/bot/actions/crew/model-policy.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/names.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/crew/names.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/names.js +0 -0
- /package/{dist → local-dist}/bot/actions/crew/names.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/protocol.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/crew/protocol.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/protocol.js +0 -0
- /package/{dist → local-dist}/bot/actions/crew/protocol.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/task-store.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/crew/task-store.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/task-store.js +0 -0
- /package/{dist → local-dist}/bot/actions/crew/task-store.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/team-attach-claim.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/crew/team-attach-claim.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/team-attach-claim.js +0 -0
- /package/{dist → local-dist}/bot/actions/crew/team-attach-claim.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/team-config.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/crew/team-config.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/team-config.js +0 -0
- /package/{dist → local-dist}/bot/actions/crew/team-config.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/crew/worktree.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/crew/worktree.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/edit-diff.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/edit-diff.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/edit-diff.js +0 -0
- /package/{dist → local-dist}/bot/actions/edit-diff.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/edit.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/edit.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/edit.js +0 -0
- /package/{dist → local-dist}/bot/actions/edit.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/find.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/find.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/find.js +0 -0
- /package/{dist → local-dist}/bot/actions/find.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/grep.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/grep.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/grep.js +0 -0
- /package/{dist → local-dist}/bot/actions/grep.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/kit/hook-runner.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/kit/hook-runner.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/kit/hook-runner.js +0 -0
- /package/{dist → local-dist}/bot/actions/kit/hook-runner.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/kit/image-resize.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/kit/image-resize.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/kit/image-resize.js +0 -0
- /package/{dist → local-dist}/bot/actions/kit/image-resize.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/kit/mime.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/kit/mime.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/kit/mime.js +0 -0
- /package/{dist → local-dist}/bot/actions/kit/mime.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/kit/shell.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/kit/shell.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/kit/shell.js +0 -0
- /package/{dist → local-dist}/bot/actions/kit/shell.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/ls.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/ls.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/ls.js +0 -0
- /package/{dist → local-dist}/bot/actions/ls.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/path-utils.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/path-utils.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/path-utils.js +0 -0
- /package/{dist → local-dist}/bot/actions/path-utils.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/process-controller.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/process-controller.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/process-controller.js +0 -0
- /package/{dist → local-dist}/bot/actions/process-controller.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/process-manager.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/process-manager.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/process-types.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/process-types.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/process-types.js +0 -0
- /package/{dist → local-dist}/bot/actions/process-types.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/process.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/process.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/process.js +0 -0
- /package/{dist → local-dist}/bot/actions/process.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/read.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/read.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/read.js +0 -0
- /package/{dist → local-dist}/bot/actions/read.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/registry.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/registry.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/registry.js +0 -0
- /package/{dist → local-dist}/bot/actions/registry.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/todo-store.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/todo-store.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/todo-store.js +0 -0
- /package/{dist → local-dist}/bot/actions/todo-store.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/todo-types.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/todo-types.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/todo-types.js +0 -0
- /package/{dist → local-dist}/bot/actions/todo-types.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/todo.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/todo.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/todo.js +0 -0
- /package/{dist → local-dist}/bot/actions/todo.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/truncate.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/truncate.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/truncate.js +0 -0
- /package/{dist → local-dist}/bot/actions/truncate.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/webfetch.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/webfetch.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/webfetch.js +0 -0
- /package/{dist → local-dist}/bot/actions/webfetch.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/websearch.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/websearch.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/websearch.js +0 -0
- /package/{dist → local-dist}/bot/actions/websearch.js.map +0 -0
- /package/{dist → local-dist}/bot/actions/write.d.ts +0 -0
- /package/{dist → local-dist}/bot/actions/write.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/actions/write.js +0 -0
- /package/{dist → local-dist}/bot/actions/write.js.map +0 -0
- /package/{dist → local-dist}/bot/agent-loop.d.ts +0 -0
- /package/{dist → local-dist}/bot/agent-loop.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/agent-loop.js +0 -0
- /package/{dist → local-dist}/bot/agent-loop.js.map +0 -0
- /package/{dist → local-dist}/bot/agent.d.ts +0 -0
- /package/{dist → local-dist}/bot/agent.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/agent.js +0 -0
- /package/{dist → local-dist}/bot/agent.js.map +0 -0
- /package/{dist → local-dist}/bot/error-handler.d.ts +0 -0
- /package/{dist → local-dist}/bot/error-handler.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/error-handler.js +0 -0
- /package/{dist → local-dist}/bot/error-handler.js.map +0 -0
- /package/{dist → local-dist}/bot/event-bus.d.ts +0 -0
- /package/{dist → local-dist}/bot/event-bus.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/event-bus.js +0 -0
- /package/{dist → local-dist}/bot/event-bus.js.map +0 -0
- /package/{dist → local-dist}/bot/index.d.ts +0 -0
- /package/{dist → local-dist}/bot/index.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/index.js +0 -0
- /package/{dist → local-dist}/bot/index.js.map +0 -0
- /package/{dist → local-dist}/bot/messages.d.ts +0 -0
- /package/{dist → local-dist}/bot/messages.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/messages.js +0 -0
- /package/{dist → local-dist}/bot/messages.js.map +0 -0
- /package/{dist → local-dist}/bot/proxy.d.ts +0 -0
- /package/{dist → local-dist}/bot/proxy.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/proxy.js +0 -0
- /package/{dist → local-dist}/bot/proxy.js.map +0 -0
- /package/{dist → local-dist}/bot/session-manager.d.ts +0 -0
- /package/{dist → local-dist}/bot/session-manager.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/session-manager.js +0 -0
- /package/{dist → local-dist}/bot/session-manager.js.map +0 -0
- /package/{dist → local-dist}/bot/state-manager.d.ts +0 -0
- /package/{dist → local-dist}/bot/state-manager.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/state-manager.js +0 -0
- /package/{dist → local-dist}/bot/state-manager.js.map +0 -0
- /package/{dist → local-dist}/bot/telemetry.d.ts +0 -0
- /package/{dist → local-dist}/bot/telemetry.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/telemetry.js +0 -0
- /package/{dist → local-dist}/bot/telemetry.js.map +0 -0
- /package/{dist → local-dist}/bot/types.d.ts +0 -0
- /package/{dist → local-dist}/bot/types.d.ts.map +0 -0
- /package/{dist → local-dist}/bot/types.js +0 -0
- /package/{dist → local-dist}/bot/types.js.map +0 -0
- /package/{dist → local-dist}/cli.d.ts +0 -0
- /package/{dist → local-dist}/cli.d.ts.map +0 -0
- /package/{dist → local-dist}/cli.js +0 -0
- /package/{dist → local-dist}/cli.js.map +0 -0
- /package/{dist → local-dist}/mcp/client-pool.d.ts.map +0 -0
- /package/{dist → local-dist}/mcp/client-pool.js.map +0 -0
- /package/{dist → local-dist}/mcp/client.d.ts.map +0 -0
- /package/{dist → local-dist}/mcp/client.js.map +0 -0
- /package/{dist → local-dist}/mcp/config.d.ts.map +0 -0
- /package/{dist → local-dist}/mcp/config.js.map +0 -0
- /package/{dist → local-dist}/mcp/errors.d.ts.map +0 -0
- /package/{dist → local-dist}/mcp/errors.js.map +0 -0
- /package/{dist → local-dist}/mcp/index.d.ts +0 -0
- /package/{dist → local-dist}/mcp/index.d.ts.map +0 -0
- /package/{dist → local-dist}/mcp/index.js +0 -0
- /package/{dist → local-dist}/mcp/index.js.map +0 -0
- /package/{dist → local-dist}/mcp/schema-converter.d.ts.map +0 -0
- /package/{dist → local-dist}/mcp/schema-converter.js.map +0 -0
- /package/{dist → local-dist}/mcp/server.d.ts.map +0 -0
- /package/{dist → local-dist}/mcp/server.js.map +0 -0
- /package/{dist → local-dist}/mcp/tool-factory.d.ts.map +0 -0
- /package/{dist → local-dist}/mcp/tool-factory.js.map +0 -0
- /package/{dist → local-dist}/mcp/types.d.ts.map +0 -0
- /package/{dist → local-dist}/mcp/types.js.map +0 -0
- /package/{dist → local-dist}/mcp.d.ts +0 -0
- /package/{dist → local-dist}/mcp.d.ts.map +0 -0
- /package/{dist → local-dist}/mcp.js +0 -0
- /package/{dist → local-dist}/mcp.js.map +0 -0
- /package/{dist → local-dist}/ml/adapters/amazon-bedrock.d.ts +0 -0
- /package/{dist → local-dist}/ml/adapters/amazon-bedrock.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/adapters/amazon-bedrock.js +0 -0
- /package/{dist → local-dist}/ml/adapters/amazon-bedrock.js.map +0 -0
- /package/{dist → local-dist}/ml/adapters/anthropic.d.ts +0 -0
- /package/{dist → local-dist}/ml/adapters/anthropic.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/adapters/anthropic.js +0 -0
- /package/{dist → local-dist}/ml/adapters/anthropic.js.map +0 -0
- /package/{dist → local-dist}/ml/adapters/azure-openai-responses.d.ts +0 -0
- /package/{dist → local-dist}/ml/adapters/azure-openai-responses.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/adapters/azure-openai-responses.js +0 -0
- /package/{dist → local-dist}/ml/adapters/azure-openai-responses.js.map +0 -0
- /package/{dist → local-dist}/ml/adapters/google-shared.d.ts +0 -0
- /package/{dist → local-dist}/ml/adapters/google-shared.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/adapters/google-shared.js +0 -0
- /package/{dist → local-dist}/ml/adapters/google-shared.js.map +0 -0
- /package/{dist → local-dist}/ml/adapters/google-vertex.d.ts +0 -0
- /package/{dist → local-dist}/ml/adapters/google-vertex.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/adapters/google-vertex.js +0 -0
- /package/{dist → local-dist}/ml/adapters/google-vertex.js.map +0 -0
- /package/{dist → local-dist}/ml/adapters/google.d.ts +0 -0
- /package/{dist → local-dist}/ml/adapters/google.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/adapters/google.js +0 -0
- /package/{dist → local-dist}/ml/adapters/google.js.map +0 -0
- /package/{dist → local-dist}/ml/adapters/kimi.d.ts +0 -0
- /package/{dist → local-dist}/ml/adapters/kimi.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/adapters/kimi.js +0 -0
- /package/{dist → local-dist}/ml/adapters/kimi.js.map +0 -0
- /package/{dist → local-dist}/ml/adapters/mock.d.ts +0 -0
- /package/{dist → local-dist}/ml/adapters/mock.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/adapters/mock.js +0 -0
- /package/{dist → local-dist}/ml/adapters/mock.js.map +0 -0
- /package/{dist → local-dist}/ml/adapters/openai-codex-responses.d.ts +0 -0
- /package/{dist → local-dist}/ml/adapters/openai-codex-responses.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/adapters/openai-completions.d.ts +0 -0
- /package/{dist → local-dist}/ml/adapters/openai-completions.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/adapters/openai-completions.js +0 -0
- /package/{dist → local-dist}/ml/adapters/openai-completions.js.map +0 -0
- /package/{dist → local-dist}/ml/adapters/openai-responses-shared.d.ts +0 -0
- /package/{dist → local-dist}/ml/adapters/openai-responses-shared.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/adapters/openai-responses-shared.js +0 -0
- /package/{dist → local-dist}/ml/adapters/openai-responses-shared.js.map +0 -0
- /package/{dist → local-dist}/ml/adapters/openai-responses.d.ts +0 -0
- /package/{dist → local-dist}/ml/adapters/openai-responses.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/adapters/openai-responses.js +0 -0
- /package/{dist → local-dist}/ml/adapters/openai-responses.js.map +0 -0
- /package/{dist → local-dist}/ml/adapters/openai-scaffold.d.ts +0 -0
- /package/{dist → local-dist}/ml/adapters/openai-scaffold.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/adapters/openai-scaffold.js +0 -0
- /package/{dist → local-dist}/ml/adapters/openai-scaffold.js.map +0 -0
- /package/{dist → local-dist}/ml/adapters/register-builtins.d.ts +0 -0
- /package/{dist → local-dist}/ml/adapters/register-builtins.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/adapters/register-builtins.js +0 -0
- /package/{dist → local-dist}/ml/adapters/register-builtins.js.map +0 -0
- /package/{dist → local-dist}/ml/adapters/simple-options.d.ts +0 -0
- /package/{dist → local-dist}/ml/adapters/simple-options.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/adapters/simple-options.js +0 -0
- /package/{dist → local-dist}/ml/adapters/simple-options.js.map +0 -0
- /package/{dist → local-dist}/ml/adapters/transform-messages.d.ts +0 -0
- /package/{dist → local-dist}/ml/adapters/transform-messages.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/adapters/transform-messages.js +0 -0
- /package/{dist → local-dist}/ml/adapters/transform-messages.js.map +0 -0
- /package/{dist → local-dist}/ml/api-registry.d.ts +0 -0
- /package/{dist → local-dist}/ml/api-registry.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/api-registry.js +0 -0
- /package/{dist → local-dist}/ml/api-registry.js.map +0 -0
- /package/{dist → local-dist}/ml/cli.d.ts +0 -0
- /package/{dist → local-dist}/ml/cli.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/cli.js +0 -0
- /package/{dist → local-dist}/ml/cli.js.map +0 -0
- /package/{dist → local-dist}/ml/env-api-keys.d.ts +0 -0
- /package/{dist → local-dist}/ml/env-api-keys.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/env-api-keys.js +0 -0
- /package/{dist → local-dist}/ml/env-api-keys.js.map +0 -0
- /package/{dist → local-dist}/ml/index.d.ts +0 -0
- /package/{dist → local-dist}/ml/index.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/index.js +0 -0
- /package/{dist → local-dist}/ml/index.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/auth/anthropic.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/auth/anthropic.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/auth/anthropic.js +0 -0
- /package/{dist → local-dist}/ml/kit/auth/anthropic.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/auth/github-copilot.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/auth/github-copilot.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/auth/github-copilot.js +0 -0
- /package/{dist → local-dist}/ml/kit/auth/github-copilot.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/auth/index.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/auth/index.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/auth/index.js +0 -0
- /package/{dist → local-dist}/ml/kit/auth/index.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/auth/kimi.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/auth/kimi.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/auth/kimi.js +0 -0
- /package/{dist → local-dist}/ml/kit/auth/kimi.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/auth/openai-codex.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/auth/pkce.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/auth/pkce.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/auth/pkce.js +0 -0
- /package/{dist → local-dist}/ml/kit/auth/pkce.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/auth/types.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/auth/types.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/auth/types.js +0 -0
- /package/{dist → local-dist}/ml/kit/auth/types.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/base-stream-handler.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/base-stream-handler.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/base-stream-handler.js +0 -0
- /package/{dist → local-dist}/ml/kit/base-stream-handler.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/event-stream.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/event-stream.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/event-stream.js +0 -0
- /package/{dist → local-dist}/ml/kit/event-stream.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/index.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/index.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/index.js +0 -0
- /package/{dist → local-dist}/ml/kit/index.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/json-parse.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/json-parse.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/json-parse.js +0 -0
- /package/{dist → local-dist}/ml/kit/json-parse.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/message-transform.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/message-transform.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/message-transform.js +0 -0
- /package/{dist → local-dist}/ml/kit/message-transform.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/output-factory.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/output-factory.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/output-factory.js +0 -0
- /package/{dist → local-dist}/ml/kit/output-factory.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/overflow.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/overflow.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/overflow.js +0 -0
- /package/{dist → local-dist}/ml/kit/overflow.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/provider-adapter.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/provider-adapter.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/provider-adapter.js +0 -0
- /package/{dist → local-dist}/ml/kit/provider-adapter.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/provider-client-builder.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/provider-client-builder.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/provider-client-builder.js +0 -0
- /package/{dist → local-dist}/ml/kit/provider-client-builder.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/provider-consolidation.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/provider-consolidation.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/provider-consolidation.js +0 -0
- /package/{dist → local-dist}/ml/kit/provider-consolidation.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/provider-constants.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/provider-constants.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/provider-constants.js +0 -0
- /package/{dist → local-dist}/ml/kit/provider-constants.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/provider-errors.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/provider-errors.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/provider-errors.js +0 -0
- /package/{dist → local-dist}/ml/kit/provider-errors.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/sanitize-unicode.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/sanitize-unicode.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/sanitize-unicode.js +0 -0
- /package/{dist → local-dist}/ml/kit/sanitize-unicode.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/stream-event-helper.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/stream-event-helper.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/stream-event-helper.js +0 -0
- /package/{dist → local-dist}/ml/kit/stream-event-helper.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/stream-handler-types.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/stream-handler-types.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/stream-handler-types.js +0 -0
- /package/{dist → local-dist}/ml/kit/stream-handler-types.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/streaming-state-manager.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/streaming-state-manager.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/streaming-state-manager.js +0 -0
- /package/{dist → local-dist}/ml/kit/streaming-state-manager.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/tool-converter.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/tool-converter.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/tool-converter.js +0 -0
- /package/{dist → local-dist}/ml/kit/tool-converter.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/typebox-helpers.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/typebox-helpers.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/typebox-helpers.js +0 -0
- /package/{dist → local-dist}/ml/kit/typebox-helpers.js.map +0 -0
- /package/{dist → local-dist}/ml/kit/validation.d.ts +0 -0
- /package/{dist → local-dist}/ml/kit/validation.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/kit/validation.js +0 -0
- /package/{dist → local-dist}/ml/kit/validation.js.map +0 -0
- /package/{dist → local-dist}/ml/models.d.ts +0 -0
- /package/{dist → local-dist}/ml/models.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/models.generated.d.ts +0 -0
- /package/{dist → local-dist}/ml/models.generated.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/models.generated.js +0 -0
- /package/{dist → local-dist}/ml/models.generated.js.map +0 -0
- /package/{dist → local-dist}/ml/models.js +0 -0
- /package/{dist → local-dist}/ml/models.js.map +0 -0
- /package/{dist → local-dist}/ml/stream.d.ts +0 -0
- /package/{dist → local-dist}/ml/stream.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/stream.js +0 -0
- /package/{dist → local-dist}/ml/stream.js.map +0 -0
- /package/{dist → local-dist}/ml/types.d.ts +0 -0
- /package/{dist → local-dist}/ml/types.d.ts.map +0 -0
- /package/{dist → local-dist}/ml/types.js +0 -0
- /package/{dist → local-dist}/ml/types.js.map +0 -0
- /package/{dist → local-dist}/observability.d.ts +0 -0
- /package/{dist → local-dist}/observability.d.ts.map +0 -0
- /package/{dist → local-dist}/observability.js +0 -0
- /package/{dist → local-dist}/observability.js.map +0 -0
- /package/{dist → local-dist}/ui/autocomplete.d.ts +0 -0
- /package/{dist → local-dist}/ui/autocomplete.d.ts.map +0 -0
- /package/{dist → local-dist}/ui/autocomplete.js +0 -0
- /package/{dist → local-dist}/ui/autocomplete.js.map +0 -0
- /package/{dist → local-dist}/ui/editor-component.js +0 -0
- /package/{dist → local-dist}/ui/editor-component.js.map +0 -0
- /package/{dist → local-dist}/ui/fuzzy.d.ts +0 -0
- /package/{dist → local-dist}/ui/fuzzy.d.ts.map +0 -0
- /package/{dist → local-dist}/ui/fuzzy.js +0 -0
- /package/{dist → local-dist}/ui/fuzzy.js.map +0 -0
- /package/{dist → local-dist}/ui/keybindings.d.ts +0 -0
- /package/{dist → local-dist}/ui/keybindings.d.ts.map +0 -0
- /package/{dist → local-dist}/ui/keybindings.js +0 -0
- /package/{dist → local-dist}/ui/keybindings.js.map +0 -0
- /package/{dist → local-dist}/ui/keys.d.ts +0 -0
- /package/{dist → local-dist}/ui/keys.d.ts.map +0 -0
- /package/{dist → local-dist}/ui/keys.js +0 -0
- /package/{dist → local-dist}/ui/keys.js.map +0 -0
- /package/{dist → local-dist}/ui/utils.d.ts +0 -0
- /package/{dist → local-dist}/ui/utils.d.ts.map +0 -0
- /package/{dist → local-dist}/ui/utils.js +0 -0
- /package/{dist → local-dist}/ui/utils.js.map +0 -0
package/dist/ui/parts/text.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ComponentBase } from "../tui.js";
|
|
2
|
-
/**
|
|
3
|
-
* Text component - displays multi-line text with word wrapping
|
|
4
|
-
*/
|
|
5
|
-
export declare class Text extends ComponentBase {
|
|
6
|
-
private text;
|
|
7
|
-
private paddingX;
|
|
8
|
-
private paddingY;
|
|
9
|
-
private customBgFn?;
|
|
10
|
-
private cachedText?;
|
|
11
|
-
constructor(text?: string, paddingX?: number, paddingY?: number, customBgFn?: (text: string) => string);
|
|
12
|
-
setText(text: string): void;
|
|
13
|
-
setCustomBgFn(customBgFn?: (text: string) => string): void;
|
|
14
|
-
invalidate(): void;
|
|
15
|
-
render(width: number): string[];
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=text.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../app/ui/parts/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAgD1C;;GAEG;AACH,qBAAa,IAAK,SAAQ,aAAa;IACtC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAC,CAA2B;IAC9C,OAAO,CAAC,UAAU,CAAC,CAAS;gBAEhB,IAAI,GAAE,MAAW,EAAE,QAAQ,GAAE,MAAU,EAAE,QAAQ,GAAE,MAAU,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM;IAQhH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM3B,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI;IAMjD,UAAU,IAAI,IAAI;IAK3B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;CA0B/B"}
|
package/dist/ui/parts/text.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { ComponentBase } from "../tui.js";
|
|
2
|
-
import { applyBackgroundToLine, visibleWidth } from "../utils.js";
|
|
3
|
-
import { textRenderer } from "./text-renderer.js";
|
|
4
|
-
class TextLayoutEngine {
|
|
5
|
-
static shouldRender(text) {
|
|
6
|
-
return !!text && text.trim() !== "";
|
|
7
|
-
}
|
|
8
|
-
static createPlan(text, width, paddingX) {
|
|
9
|
-
return {
|
|
10
|
-
normalizedText: text.replace(/\t/g, " "),
|
|
11
|
-
contentWidth: Math.max(1, width - paddingX * 2),
|
|
12
|
-
leftMargin: " ".repeat(paddingX),
|
|
13
|
-
rightMargin: " ".repeat(paddingX),
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
class TextBackgroundPainter {
|
|
18
|
-
static paintLine(line, width, customBgFn) {
|
|
19
|
-
if (customBgFn) {
|
|
20
|
-
return applyBackgroundToLine(line, width, customBgFn);
|
|
21
|
-
}
|
|
22
|
-
const visibleLen = visibleWidth(line);
|
|
23
|
-
const paddingNeeded = Math.max(0, width - visibleLen);
|
|
24
|
-
return line + " ".repeat(paddingNeeded);
|
|
25
|
-
}
|
|
26
|
-
static paintBlankLine(width, customBgFn) {
|
|
27
|
-
const emptyLine = " ".repeat(width);
|
|
28
|
-
return customBgFn ? applyBackgroundToLine(emptyLine, width, customBgFn) : emptyLine;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
class PaddingComposer {
|
|
32
|
-
static symmetricRows(line, count) {
|
|
33
|
-
return Array.from({ length: count }, () => line);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Text component - displays multi-line text with word wrapping
|
|
38
|
-
*/
|
|
39
|
-
export class Text extends ComponentBase {
|
|
40
|
-
text;
|
|
41
|
-
paddingX;
|
|
42
|
-
paddingY;
|
|
43
|
-
customBgFn;
|
|
44
|
-
cachedText;
|
|
45
|
-
constructor(text = "", paddingX = 1, paddingY = 1, customBgFn) {
|
|
46
|
-
super();
|
|
47
|
-
this.text = text;
|
|
48
|
-
this.paddingX = paddingX;
|
|
49
|
-
this.paddingY = paddingY;
|
|
50
|
-
this.customBgFn = customBgFn;
|
|
51
|
-
}
|
|
52
|
-
setText(text) {
|
|
53
|
-
this.text = text;
|
|
54
|
-
this.cachedText = undefined;
|
|
55
|
-
this.invalidate();
|
|
56
|
-
}
|
|
57
|
-
setCustomBgFn(customBgFn) {
|
|
58
|
-
this.customBgFn = customBgFn;
|
|
59
|
-
this.cachedText = undefined;
|
|
60
|
-
this.invalidate();
|
|
61
|
-
}
|
|
62
|
-
invalidate() {
|
|
63
|
-
super.invalidate();
|
|
64
|
-
this.cachedText = undefined;
|
|
65
|
-
}
|
|
66
|
-
render(width) {
|
|
67
|
-
if (this.cachedText !== this.text) {
|
|
68
|
-
this.invalidate();
|
|
69
|
-
this.cachedText = this.text;
|
|
70
|
-
}
|
|
71
|
-
return this.renderCached(width, () => {
|
|
72
|
-
if (!TextLayoutEngine.shouldRender(this.text)) {
|
|
73
|
-
return [];
|
|
74
|
-
}
|
|
75
|
-
const plan = TextLayoutEngine.createPlan(this.text, width, this.paddingX);
|
|
76
|
-
const wrappedLines = textRenderer.wrap(plan.normalizedText, plan.contentWidth);
|
|
77
|
-
const renderedContentLines = [];
|
|
78
|
-
for (const line of wrappedLines) {
|
|
79
|
-
const lineWithMargins = `${plan.leftMargin}${line}${plan.rightMargin}`;
|
|
80
|
-
renderedContentLines.push(TextBackgroundPainter.paintLine(lineWithMargins, width, this.customBgFn));
|
|
81
|
-
}
|
|
82
|
-
const padLine = TextBackgroundPainter.paintBlankLine(width, this.customBgFn);
|
|
83
|
-
const topBottom = PaddingComposer.symmetricRows(padLine, this.paddingY);
|
|
84
|
-
const result = [...topBottom, ...renderedContentLines, ...topBottom];
|
|
85
|
-
return result.length > 0 ? result : [""];
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
//# sourceMappingURL=text.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../../app/ui/parts/text.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ComponentBase } from "../tui.js";
|
|
2
|
-
export interface TruncatedTextConfig {
|
|
3
|
-
paddingX?: number;
|
|
4
|
-
paddingY?: number;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* Text component that truncates to fit viewport width
|
|
8
|
-
*/
|
|
9
|
-
export declare class TruncatedText extends ComponentBase {
|
|
10
|
-
private rawContent;
|
|
11
|
-
private hPad;
|
|
12
|
-
private vPad;
|
|
13
|
-
constructor(text: string, config?: TruncatedTextConfig);
|
|
14
|
-
invalidate(): void;
|
|
15
|
-
render(width: number): string[];
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=truncated-text.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"truncated-text.d.ts","sourceRoot":"","sources":["../../../app/ui/parts/truncated-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAI1C,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,aAAa;IAC/C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAS;gBAET,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,mBAAwB;IAOjD,UAAU,IAAI,IAAI;IAI3B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;CA2C/B"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { ComponentBase } from "../tui.js";
|
|
2
|
-
import { visibleWidth } from "../utils.js";
|
|
3
|
-
import { textRenderer } from "./text-renderer.js";
|
|
4
|
-
/**
|
|
5
|
-
* Text component that truncates to fit viewport width
|
|
6
|
-
*/
|
|
7
|
-
export class TruncatedText extends ComponentBase {
|
|
8
|
-
rawContent;
|
|
9
|
-
hPad;
|
|
10
|
-
vPad;
|
|
11
|
-
constructor(text, config = {}) {
|
|
12
|
-
super();
|
|
13
|
-
this.rawContent = text;
|
|
14
|
-
this.hPad = config.paddingX ?? 0;
|
|
15
|
-
this.vPad = config.paddingY ?? 0;
|
|
16
|
-
}
|
|
17
|
-
invalidate() {
|
|
18
|
-
super.invalidate();
|
|
19
|
-
}
|
|
20
|
-
render(width) {
|
|
21
|
-
const result = [];
|
|
22
|
-
// Empty line padded to width
|
|
23
|
-
const emptyLine = " ".repeat(width);
|
|
24
|
-
// Add vertical padding above
|
|
25
|
-
for (let i = 0; i < this.vPad; i++) {
|
|
26
|
-
result.push(emptyLine);
|
|
27
|
-
}
|
|
28
|
-
// Calculate available width after horizontal padding
|
|
29
|
-
const availableWidth = Math.max(1, width - this.hPad * 2);
|
|
30
|
-
// Take only the first line (stop at newline)
|
|
31
|
-
let singleLineText = this.rawContent;
|
|
32
|
-
const newlineIndex = this.rawContent.indexOf("\n");
|
|
33
|
-
if (newlineIndex !== -1) {
|
|
34
|
-
singleLineText = this.rawContent.substring(0, newlineIndex);
|
|
35
|
-
}
|
|
36
|
-
// Truncate text if needed (accounting for ANSI codes)
|
|
37
|
-
const displayText = textRenderer.clipWithIndicator(singleLineText, availableWidth);
|
|
38
|
-
// Add horizontal padding
|
|
39
|
-
const leftPadding = " ".repeat(this.hPad);
|
|
40
|
-
const rightPadding = " ".repeat(this.hPad);
|
|
41
|
-
const lineWithPadding = leftPadding + displayText + rightPadding;
|
|
42
|
-
// Pad line to exactly width characters
|
|
43
|
-
const lineVisibleWidth = visibleWidth(lineWithPadding);
|
|
44
|
-
const paddingNeeded = Math.max(0, width - lineVisibleWidth);
|
|
45
|
-
const finalLine = lineWithPadding + " ".repeat(paddingNeeded);
|
|
46
|
-
result.push(finalLine);
|
|
47
|
-
// Add vertical padding below
|
|
48
|
-
for (let i = 0; i < this.vPad; i++) {
|
|
49
|
-
result.push(emptyLine);
|
|
50
|
-
}
|
|
51
|
-
return result;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=truncated-text.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"truncated-text.js","sourceRoot":"","sources":["../../../app/ui/parts/truncated-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,aAAa;IACvC,UAAU,CAAS;IACnB,IAAI,CAAS;IACb,IAAI,CAAS;IAErB,YAAY,IAAY,EAAE,SAA8B,EAAE;QACzD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IAClC,CAAC;IAEQ,UAAU;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAAa;QACnB,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,6BAA6B;QAC7B,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpC,6BAA6B;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;QAED,qDAAqD;QACrD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAE1D,6CAA6C;QAC7C,IAAI,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACzB,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC;QAED,sDAAsD;QACtD,MAAM,WAAW,GAAG,YAAY,CAAC,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAEnF,yBAAyB;QACzB,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,eAAe,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;QAEjE,uCAAuC;QACvC,MAAM,gBAAgB,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,gBAAgB,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAE9D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEvB,6BAA6B;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;CACD"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* StdinBuffer buffers input and emits complete sequences.
|
|
3
|
-
*
|
|
4
|
-
* This is necessary because stdin data events can arrive in partial chunks,
|
|
5
|
-
* especially for escape sequences like mouse events. Without buffering,
|
|
6
|
-
* partial sequences can be misinterpreted as regular keypresses.
|
|
7
|
-
*
|
|
8
|
-
* For example, the mouse SGR sequence `\x1b[<35;20;5m` might arrive as:
|
|
9
|
-
* - Event 1: `\x1b`
|
|
10
|
-
* - Event 2: `[<35`
|
|
11
|
-
* - Event 3: `;20;5m`
|
|
12
|
-
*
|
|
13
|
-
* The buffer accumulates these until a complete sequence is detected.
|
|
14
|
-
* Call the `process()` method to feed input data.
|
|
15
|
-
*
|
|
16
|
-
* Based on code from OpenTUI (https://github.com/anomalyco/opentui)
|
|
17
|
-
* MIT License - Copyright (c) 2025 opentui
|
|
18
|
-
*/
|
|
19
|
-
import { EventEmitter } from "events";
|
|
20
|
-
export type StdinBufferOptions = {
|
|
21
|
-
/**
|
|
22
|
-
* Maximum time to wait for sequence completion (default: 10ms)
|
|
23
|
-
* After this time, the buffer is flushed even if incomplete
|
|
24
|
-
*/
|
|
25
|
-
timeout?: number;
|
|
26
|
-
};
|
|
27
|
-
export declare class StdinTimeoutValidator {
|
|
28
|
-
validate(timeout: number | undefined): number;
|
|
29
|
-
}
|
|
30
|
-
export type StdinBufferEventMap = {
|
|
31
|
-
data: [string];
|
|
32
|
-
paste: [string];
|
|
33
|
-
};
|
|
34
|
-
/**
|
|
35
|
-
* Buffers stdin input and emits complete sequences via the 'data' event.
|
|
36
|
-
* Handles partial escape sequences that arrive across multiple chunks.
|
|
37
|
-
*/
|
|
38
|
-
export declare class StdinBuffer extends EventEmitter<StdinBufferEventMap> {
|
|
39
|
-
private buffer;
|
|
40
|
-
private timeout;
|
|
41
|
-
private readonly timeoutMs;
|
|
42
|
-
private pasteMode;
|
|
43
|
-
private pasteBuffer;
|
|
44
|
-
private timeoutValidator;
|
|
45
|
-
constructor(options?: StdinBufferOptions);
|
|
46
|
-
process(data: string | Buffer): void;
|
|
47
|
-
private scheduleFlush;
|
|
48
|
-
flush(): string[];
|
|
49
|
-
clear(): void;
|
|
50
|
-
getBuffer(): string;
|
|
51
|
-
destroy(): void;
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=stdin-buffer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stdin-buffer.d.ts","sourceRoot":"","sources":["../../app/ui/stdin-buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAgNtC,MAAM,MAAM,kBAAkB,GAAG;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,qBAAqB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM;CAK7C;AAED,MAAM,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;IACf,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,qBAAa,WAAY,SAAQ,YAAY,CAAC,mBAAmB,CAAC;IACjE,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,OAAO,CAA8C;IAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,gBAAgB,CAA+B;gBAE3C,OAAO,GAAE,kBAAuB;IAKrC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IA6F3C,OAAO,CAAC,aAAa;IASrB,KAAK,IAAI,MAAM,EAAE;IAejB,KAAK,IAAI,IAAI;IAUb,SAAS,IAAI,MAAM;IAInB,OAAO,IAAI,IAAI;CAGf"}
|
package/dist/ui/stdin-buffer.js
DELETED
|
@@ -1,332 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* StdinBuffer buffers input and emits complete sequences.
|
|
3
|
-
*
|
|
4
|
-
* This is necessary because stdin data events can arrive in partial chunks,
|
|
5
|
-
* especially for escape sequences like mouse events. Without buffering,
|
|
6
|
-
* partial sequences can be misinterpreted as regular keypresses.
|
|
7
|
-
*
|
|
8
|
-
* For example, the mouse SGR sequence `\x1b[<35;20;5m` might arrive as:
|
|
9
|
-
* - Event 1: `\x1b`
|
|
10
|
-
* - Event 2: `[<35`
|
|
11
|
-
* - Event 3: `;20;5m`
|
|
12
|
-
*
|
|
13
|
-
* The buffer accumulates these until a complete sequence is detected.
|
|
14
|
-
* Call the `process()` method to feed input data.
|
|
15
|
-
*
|
|
16
|
-
* Based on code from OpenTUI (https://github.com/anomalyco/opentui)
|
|
17
|
-
* MIT License - Copyright (c) 2025 opentui
|
|
18
|
-
*/
|
|
19
|
-
import { EventEmitter } from "events";
|
|
20
|
-
const ESC = "\x1b";
|
|
21
|
-
const BRACKETED_PASTE_START = "\x1b[200~";
|
|
22
|
-
const BRACKETED_PASTE_END = "\x1b[201~";
|
|
23
|
-
class SequenceParser {
|
|
24
|
-
/**
|
|
25
|
-
* Check if a string is a complete escape sequence or needs more data
|
|
26
|
-
*/
|
|
27
|
-
static classifyEscapeSequence(data) {
|
|
28
|
-
if (!data.startsWith(ESC)) {
|
|
29
|
-
return "not-escape";
|
|
30
|
-
}
|
|
31
|
-
if (data.length === 1) {
|
|
32
|
-
return "incomplete";
|
|
33
|
-
}
|
|
34
|
-
const afterEsc = data.slice(1);
|
|
35
|
-
// CSI sequences: ESC [
|
|
36
|
-
if (afterEsc.startsWith("[")) {
|
|
37
|
-
// Check for old-style mouse sequence: ESC[M + 3 bytes
|
|
38
|
-
if (afterEsc.startsWith("[M")) {
|
|
39
|
-
// Old-style mouse needs ESC[M + 3 bytes = 6 total
|
|
40
|
-
return data.length >= 6 ? "complete" : "incomplete";
|
|
41
|
-
}
|
|
42
|
-
return SequenceParser.validateCsiBlock(data);
|
|
43
|
-
}
|
|
44
|
-
// OSC sequences: ESC ]
|
|
45
|
-
if (afterEsc.startsWith("]")) {
|
|
46
|
-
return SequenceParser.validateOscBlock(data);
|
|
47
|
-
}
|
|
48
|
-
// DCS sequences: ESC P ... ESC \ (includes XTVersion responses)
|
|
49
|
-
if (afterEsc.startsWith("P")) {
|
|
50
|
-
return SequenceParser.validateDcsBlock(data);
|
|
51
|
-
}
|
|
52
|
-
// APC sequences: ESC _ ... ESC \ (includes Kitty graphics responses)
|
|
53
|
-
if (afterEsc.startsWith("_")) {
|
|
54
|
-
return SequenceParser.validateApcBlock(data);
|
|
55
|
-
}
|
|
56
|
-
// SS3 sequences: ESC O
|
|
57
|
-
if (afterEsc.startsWith("O")) {
|
|
58
|
-
// ESC O followed by a single character
|
|
59
|
-
return afterEsc.length >= 2 ? "complete" : "incomplete";
|
|
60
|
-
}
|
|
61
|
-
// Meta key sequences: ESC followed by a single character
|
|
62
|
-
if (afterEsc.length === 1) {
|
|
63
|
-
return "complete";
|
|
64
|
-
}
|
|
65
|
-
// Unknown escape sequence - treat as complete
|
|
66
|
-
return "complete";
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Check if CSI sequence is complete
|
|
70
|
-
* CSI sequences: ESC [ ... followed by a final byte (0x40-0x7E)
|
|
71
|
-
*/
|
|
72
|
-
static validateCsiBlock(data) {
|
|
73
|
-
if (!data.startsWith(`${ESC}[`)) {
|
|
74
|
-
return "complete";
|
|
75
|
-
}
|
|
76
|
-
// Need at least ESC [ and one more character
|
|
77
|
-
if (data.length < 3) {
|
|
78
|
-
return "incomplete";
|
|
79
|
-
}
|
|
80
|
-
const payload = data.slice(2);
|
|
81
|
-
// CSI sequences end with a byte in the range 0x40-0x7E (@-~)
|
|
82
|
-
// This includes all letters and several special characters
|
|
83
|
-
const lastChar = payload[payload.length - 1];
|
|
84
|
-
const lastCharCode = lastChar.charCodeAt(0);
|
|
85
|
-
if (lastCharCode >= 0x40 && lastCharCode <= 0x7e) {
|
|
86
|
-
// Special handling for SGR mouse sequences
|
|
87
|
-
// Format: ESC[<B;X;Ym or ESC[<B;X;YM
|
|
88
|
-
if (payload.startsWith("<")) {
|
|
89
|
-
// Must have format: <digits;digits;digits[Mm]
|
|
90
|
-
const mouseMatch = /^<\d+;\d+;\d+[Mm]$/.test(payload);
|
|
91
|
-
if (mouseMatch) {
|
|
92
|
-
return "complete";
|
|
93
|
-
}
|
|
94
|
-
// If it ends with M or m but doesn't match the pattern, still incomplete
|
|
95
|
-
if (lastChar === "M" || lastChar === "m") {
|
|
96
|
-
// Check if we have the right structure
|
|
97
|
-
const parts = payload.slice(1, -1).split(";");
|
|
98
|
-
if (parts.length === 3 && parts.every((p) => /^\d+$/.test(p))) {
|
|
99
|
-
return "complete";
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
return "incomplete";
|
|
103
|
-
}
|
|
104
|
-
return "complete";
|
|
105
|
-
}
|
|
106
|
-
return "incomplete";
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Check if OSC sequence is complete
|
|
110
|
-
* OSC sequences: ESC ] ... ST (where ST is ESC \ or BEL)
|
|
111
|
-
*/
|
|
112
|
-
static validateOscBlock(data) {
|
|
113
|
-
if (!data.startsWith(`${ESC}]`)) {
|
|
114
|
-
return "complete";
|
|
115
|
-
}
|
|
116
|
-
// OSC sequences end with ST (ESC \) or BEL (\x07)
|
|
117
|
-
if (data.endsWith(`${ESC}\\`) || data.endsWith("\x07")) {
|
|
118
|
-
return "complete";
|
|
119
|
-
}
|
|
120
|
-
return "incomplete";
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Check if DCS (Device Control String) sequence is complete
|
|
124
|
-
* DCS sequences: ESC P ... ST (where ST is ESC \)
|
|
125
|
-
* Used for XTVersion responses like ESC P >| ... ESC \
|
|
126
|
-
*/
|
|
127
|
-
static validateDcsBlock(data) {
|
|
128
|
-
if (!data.startsWith(`${ESC}P`)) {
|
|
129
|
-
return "complete";
|
|
130
|
-
}
|
|
131
|
-
// DCS sequences end with ST (ESC \)
|
|
132
|
-
if (data.endsWith(`${ESC}\\`)) {
|
|
133
|
-
return "complete";
|
|
134
|
-
}
|
|
135
|
-
return "incomplete";
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Check if APC (Application Program Command) sequence is complete
|
|
139
|
-
* APC sequences: ESC _ ... ST (where ST is ESC \)
|
|
140
|
-
* Used for Kitty graphics responses like ESC _ G ... ESC \
|
|
141
|
-
*/
|
|
142
|
-
static validateApcBlock(data) {
|
|
143
|
-
if (!data.startsWith(`${ESC}_`)) {
|
|
144
|
-
return "complete";
|
|
145
|
-
}
|
|
146
|
-
// APC sequences end with ST (ESC \)
|
|
147
|
-
if (data.endsWith(`${ESC}\\`)) {
|
|
148
|
-
return "complete";
|
|
149
|
-
}
|
|
150
|
-
return "incomplete";
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Split accumulated buffer into complete sequences
|
|
154
|
-
*/
|
|
155
|
-
static parseInputBuffer(buffer) {
|
|
156
|
-
const sequences = [];
|
|
157
|
-
let pos = 0;
|
|
158
|
-
while (pos < buffer.length) {
|
|
159
|
-
const remaining = buffer.slice(pos);
|
|
160
|
-
// Try to extract a sequence starting at this position
|
|
161
|
-
if (remaining.startsWith(ESC)) {
|
|
162
|
-
// Find the end of this escape sequence
|
|
163
|
-
let seqEnd = 1;
|
|
164
|
-
while (seqEnd <= remaining.length) {
|
|
165
|
-
const candidate = remaining.slice(0, seqEnd);
|
|
166
|
-
const status = SequenceParser.classifyEscapeSequence(candidate);
|
|
167
|
-
if (status === "complete") {
|
|
168
|
-
sequences.push(candidate);
|
|
169
|
-
pos += seqEnd;
|
|
170
|
-
break;
|
|
171
|
-
}
|
|
172
|
-
else if (status === "incomplete") {
|
|
173
|
-
seqEnd++;
|
|
174
|
-
}
|
|
175
|
-
else {
|
|
176
|
-
// Should not happen when starting with ESC
|
|
177
|
-
sequences.push(candidate);
|
|
178
|
-
pos += seqEnd;
|
|
179
|
-
break;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
if (seqEnd > remaining.length) {
|
|
183
|
-
return { sequences, remainder: remaining };
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
else {
|
|
187
|
-
// Not an escape sequence - take a single character
|
|
188
|
-
sequences.push(remaining[0]);
|
|
189
|
-
pos++;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
return { sequences, remainder: "" };
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
export class StdinTimeoutValidator {
|
|
196
|
-
validate(timeout) {
|
|
197
|
-
if (timeout === undefined)
|
|
198
|
-
return 10;
|
|
199
|
-
if (!Number.isFinite(timeout) || timeout < 1)
|
|
200
|
-
return 10;
|
|
201
|
-
return Math.floor(timeout);
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Buffers stdin input and emits complete sequences via the 'data' event.
|
|
206
|
-
* Handles partial escape sequences that arrive across multiple chunks.
|
|
207
|
-
*/
|
|
208
|
-
export class StdinBuffer extends EventEmitter {
|
|
209
|
-
buffer = "";
|
|
210
|
-
timeout = null;
|
|
211
|
-
timeoutMs;
|
|
212
|
-
pasteMode = false;
|
|
213
|
-
pasteBuffer = "";
|
|
214
|
-
timeoutValidator = new StdinTimeoutValidator();
|
|
215
|
-
constructor(options = {}) {
|
|
216
|
-
super();
|
|
217
|
-
this.timeoutMs = this.timeoutValidator.validate(options.timeout);
|
|
218
|
-
}
|
|
219
|
-
process(data) {
|
|
220
|
-
// Clear any pending timeout
|
|
221
|
-
if (this.timeout) {
|
|
222
|
-
clearTimeout(this.timeout);
|
|
223
|
-
this.timeout = null;
|
|
224
|
-
}
|
|
225
|
-
// Handle high-byte conversion (for compatibility with parseKeypress)
|
|
226
|
-
// If buffer has single byte > 127, convert to ESC + (byte - 128)
|
|
227
|
-
let str;
|
|
228
|
-
if (Buffer.isBuffer(data)) {
|
|
229
|
-
if (data.length === 1 && data[0] > 127) {
|
|
230
|
-
const byte = data[0] - 128;
|
|
231
|
-
str = `\x1b${String.fromCharCode(byte)}`;
|
|
232
|
-
}
|
|
233
|
-
else {
|
|
234
|
-
str = data.toString();
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
else {
|
|
238
|
-
str = data;
|
|
239
|
-
}
|
|
240
|
-
if (str.length === 0 && this.buffer.length === 0) {
|
|
241
|
-
this.emit("data", "");
|
|
242
|
-
return;
|
|
243
|
-
}
|
|
244
|
-
this.buffer += str;
|
|
245
|
-
if (this.pasteMode) {
|
|
246
|
-
this.pasteBuffer += this.buffer;
|
|
247
|
-
this.buffer = "";
|
|
248
|
-
const endIndex = this.pasteBuffer.indexOf(BRACKETED_PASTE_END);
|
|
249
|
-
if (endIndex !== -1) {
|
|
250
|
-
const pastedContent = this.pasteBuffer.slice(0, endIndex);
|
|
251
|
-
const remaining = this.pasteBuffer.slice(endIndex + BRACKETED_PASTE_END.length);
|
|
252
|
-
this.pasteMode = false;
|
|
253
|
-
this.pasteBuffer = "";
|
|
254
|
-
this.emit("paste", pastedContent);
|
|
255
|
-
if (remaining.length > 0) {
|
|
256
|
-
this.process(remaining);
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
return;
|
|
260
|
-
}
|
|
261
|
-
const startIndex = this.buffer.indexOf(BRACKETED_PASTE_START);
|
|
262
|
-
if (startIndex !== -1) {
|
|
263
|
-
if (startIndex > 0) {
|
|
264
|
-
const beforePaste = this.buffer.slice(0, startIndex);
|
|
265
|
-
const result = SequenceParser.parseInputBuffer(beforePaste);
|
|
266
|
-
for (const sequence of result.sequences) {
|
|
267
|
-
this.emit("data", sequence);
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
this.buffer = this.buffer.slice(startIndex + BRACKETED_PASTE_START.length);
|
|
271
|
-
this.pasteMode = true;
|
|
272
|
-
this.pasteBuffer = this.buffer;
|
|
273
|
-
this.buffer = "";
|
|
274
|
-
const endIndex = this.pasteBuffer.indexOf(BRACKETED_PASTE_END);
|
|
275
|
-
if (endIndex !== -1) {
|
|
276
|
-
const pastedContent = this.pasteBuffer.slice(0, endIndex);
|
|
277
|
-
const remaining = this.pasteBuffer.slice(endIndex + BRACKETED_PASTE_END.length);
|
|
278
|
-
this.pasteMode = false;
|
|
279
|
-
this.pasteBuffer = "";
|
|
280
|
-
this.emit("paste", pastedContent);
|
|
281
|
-
if (remaining.length > 0) {
|
|
282
|
-
this.process(remaining);
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
return;
|
|
286
|
-
}
|
|
287
|
-
const result = SequenceParser.parseInputBuffer(this.buffer);
|
|
288
|
-
this.buffer = result.remainder;
|
|
289
|
-
for (const sequence of result.sequences) {
|
|
290
|
-
this.emit("data", sequence);
|
|
291
|
-
}
|
|
292
|
-
if (this.buffer.length > 0) {
|
|
293
|
-
this.scheduleFlush();
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
scheduleFlush() {
|
|
297
|
-
this.timeout = setTimeout(() => {
|
|
298
|
-
const flushed = this.flush();
|
|
299
|
-
for (const sequence of flushed) {
|
|
300
|
-
this.emit("data", sequence);
|
|
301
|
-
}
|
|
302
|
-
}, this.timeoutMs);
|
|
303
|
-
}
|
|
304
|
-
flush() {
|
|
305
|
-
if (this.timeout) {
|
|
306
|
-
clearTimeout(this.timeout);
|
|
307
|
-
this.timeout = null;
|
|
308
|
-
}
|
|
309
|
-
if (this.buffer.length === 0) {
|
|
310
|
-
return [];
|
|
311
|
-
}
|
|
312
|
-
const sequences = [this.buffer];
|
|
313
|
-
this.buffer = "";
|
|
314
|
-
return sequences;
|
|
315
|
-
}
|
|
316
|
-
clear() {
|
|
317
|
-
if (this.timeout) {
|
|
318
|
-
clearTimeout(this.timeout);
|
|
319
|
-
this.timeout = null;
|
|
320
|
-
}
|
|
321
|
-
this.buffer = "";
|
|
322
|
-
this.pasteMode = false;
|
|
323
|
-
this.pasteBuffer = "";
|
|
324
|
-
}
|
|
325
|
-
getBuffer() {
|
|
326
|
-
return this.buffer;
|
|
327
|
-
}
|
|
328
|
-
destroy() {
|
|
329
|
-
this.clear();
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
//# sourceMappingURL=stdin-buffer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stdin-buffer.js","sourceRoot":"","sources":["../../app/ui/stdin-buffer.ts"],"names":[],"mappings":"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"}
|