@celljs/ta-web 0.0.0-stage → 4.6.1
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 +83 -2
- package/esm/browser/assistant/assistant-export.d.ts +13 -0
- package/esm/browser/assistant/assistant-export.js +33 -0
- package/esm/browser/assistant/assistant-export.js.map +1 -0
- package/esm/browser/assistant/assistant-extension.d.ts +20 -0
- package/esm/browser/assistant/assistant-extension.js +153 -0
- package/esm/browser/assistant/assistant-extension.js.map +1 -0
- package/esm/browser/assistant/assistant-hooks.d.ts +8 -0
- package/esm/browser/assistant/assistant-hooks.js +55 -0
- package/esm/browser/assistant/assistant-hooks.js.map +1 -0
- package/esm/browser/assistant/assistant-protocol.d.ts +51 -0
- package/esm/browser/assistant/assistant-protocol.js +2 -0
- package/esm/browser/assistant/assistant-protocol.js.map +1 -0
- package/esm/browser/assistant/assistant-tasks.d.ts +48 -0
- package/esm/browser/assistant/assistant-tasks.js +115 -0
- package/esm/browser/assistant/assistant-tasks.js.map +1 -0
- package/esm/browser/assistant/assistant-view.d.ts +21 -0
- package/esm/browser/assistant/assistant-view.js +324 -0
- package/esm/browser/assistant/assistant-view.js.map +1 -0
- package/esm/browser/assistant/assistant.d.ts +51 -0
- package/esm/browser/assistant/assistant.js +302 -0
- package/esm/browser/assistant/assistant.js.map +1 -0
- package/esm/browser/assistant/voice.d.ts +14 -0
- package/esm/browser/assistant/voice.js +72 -0
- package/esm/browser/assistant/voice.js.map +1 -0
- package/esm/browser/avatar/dino-avatar.d.ts +139 -0
- package/esm/browser/avatar/dino-avatar.js +420 -0
- package/esm/browser/avatar/dino-avatar.js.map +1 -0
- package/esm/browser/avatar/dino-motion.d.ts +24 -0
- package/esm/browser/avatar/dino-motion.js +295 -0
- package/esm/browser/avatar/dino-motion.js.map +1 -0
- package/esm/browser/chat/chat-protocol.d.ts +46 -0
- package/esm/browser/chat/chat-protocol.js +2 -0
- package/esm/browser/chat/chat-protocol.js.map +1 -0
- package/esm/browser/chat/chat-view.d.ts +15 -0
- package/esm/browser/chat/chat-view.js +87 -0
- package/esm/browser/chat/chat-view.js.map +1 -0
- package/esm/browser/chat/chat.d.ts +69 -0
- package/esm/browser/chat/chat.js +343 -0
- package/esm/browser/chat/chat.js.map +1 -0
- package/esm/browser/components/account-menu.d.ts +8 -0
- package/esm/browser/components/account-menu.js +82 -0
- package/esm/browser/components/account-menu.js.map +1 -0
- package/esm/browser/components/agent-settings-view.d.ts +23 -0
- package/esm/browser/components/agent-settings-view.js +105 -0
- package/esm/browser/components/agent-settings-view.js.map +1 -0
- package/esm/browser/components/app-view.d.ts +9 -0
- package/esm/browser/components/app-view.js +405 -0
- package/esm/browser/components/app-view.js.map +1 -0
- package/esm/browser/components/auth-pictures.d.ts +6 -0
- package/esm/browser/components/auth-pictures.js +37 -0
- package/esm/browser/components/auth-pictures.js.map +1 -0
- package/esm/browser/components/auth-view.d.ts +54 -0
- package/esm/browser/components/auth-view.js +300 -0
- package/esm/browser/components/auth-view.js.map +1 -0
- package/esm/browser/components/callout.d.ts +18 -0
- package/esm/browser/components/callout.js +17 -0
- package/esm/browser/components/callout.js.map +1 -0
- package/esm/browser/components/chat-list.d.ts +52 -0
- package/esm/browser/components/chat-list.js +189 -0
- package/esm/browser/components/chat-list.js.map +1 -0
- package/esm/browser/components/code-editor.d.ts +7 -0
- package/esm/browser/components/code-editor.js +85 -0
- package/esm/browser/components/code-editor.js.map +1 -0
- package/esm/browser/components/composer-box.d.ts +73 -0
- package/esm/browser/components/composer-box.js +297 -0
- package/esm/browser/components/composer-box.js.map +1 -0
- package/esm/browser/components/composer-menu.d.ts +17 -0
- package/esm/browser/components/composer-menu.js +18 -0
- package/esm/browser/components/composer-menu.js.map +1 -0
- package/esm/browser/components/composer.d.ts +37 -0
- package/esm/browser/components/composer.js +99 -0
- package/esm/browser/components/composer.js.map +1 -0
- package/esm/browser/components/connection-bar.d.ts +6 -0
- package/esm/browser/components/connection-bar.js +73 -0
- package/esm/browser/components/connection-bar.js.map +1 -0
- package/esm/browser/components/context-menu.d.ts +12 -0
- package/esm/browser/components/context-menu.js +68 -0
- package/esm/browser/components/context-menu.js.map +1 -0
- package/esm/browser/components/conversation-scroll.d.ts +13 -0
- package/esm/browser/components/conversation-scroll.js +121 -0
- package/esm/browser/components/conversation-scroll.js.map +1 -0
- package/esm/browser/components/dialog-view.d.ts +9 -0
- package/esm/browser/components/dialog-view.js +41 -0
- package/esm/browser/components/dialog-view.js.map +1 -0
- package/esm/browser/components/diff-editor.d.ts +10 -0
- package/esm/browser/components/diff-editor.js +101 -0
- package/esm/browser/components/diff-editor.js.map +1 -0
- package/esm/browser/components/diff-view.d.ts +4 -0
- package/esm/browser/components/diff-view.js +11 -0
- package/esm/browser/components/diff-view.js.map +1 -0
- package/esm/browser/components/dino.d.ts +8 -0
- package/esm/browser/components/dino.js +14 -0
- package/esm/browser/components/dino.js.map +1 -0
- package/esm/browser/components/editor-area.d.ts +28 -0
- package/esm/browser/components/editor-area.js +134 -0
- package/esm/browser/components/editor-area.js.map +1 -0
- package/esm/browser/components/folder-picker.d.ts +28 -0
- package/esm/browser/components/folder-picker.js +106 -0
- package/esm/browser/components/folder-picker.js.map +1 -0
- package/esm/browser/components/fork-view.d.ts +14 -0
- package/esm/browser/components/fork-view.js +43 -0
- package/esm/browser/components/fork-view.js.map +1 -0
- package/esm/browser/components/hero-cards.d.ts +20 -0
- package/esm/browser/components/hero-cards.js +109 -0
- package/esm/browser/components/hero-cards.js.map +1 -0
- package/esm/browser/components/icon.d.ts +29 -0
- package/esm/browser/components/icon.js +23 -0
- package/esm/browser/components/icon.js.map +1 -0
- package/esm/browser/components/link-dialog.d.ts +3 -0
- package/esm/browser/components/link-dialog.js +45 -0
- package/esm/browser/components/link-dialog.js.map +1 -0
- package/esm/browser/components/link.d.ts +19 -0
- package/esm/browser/components/link.js +56 -0
- package/esm/browser/components/link.js.map +1 -0
- package/esm/browser/components/manage-menu.d.ts +13 -0
- package/esm/browser/components/manage-menu.js +96 -0
- package/esm/browser/components/manage-menu.js.map +1 -0
- package/esm/browser/components/markdown.d.ts +9 -0
- package/esm/browser/components/markdown.js +98 -0
- package/esm/browser/components/markdown.js.map +1 -0
- package/esm/browser/components/math.d.ts +10 -0
- package/esm/browser/components/math.js +21 -0
- package/esm/browser/components/math.js.map +1 -0
- package/esm/browser/components/media.d.ts +11 -0
- package/esm/browser/components/media.js +76 -0
- package/esm/browser/components/media.js.map +1 -0
- package/esm/browser/components/mermaid-view.d.ts +10 -0
- package/esm/browser/components/mermaid-view.js +84 -0
- package/esm/browser/components/mermaid-view.js.map +1 -0
- package/esm/browser/components/message-actions.d.ts +12 -0
- package/esm/browser/components/message-actions.js +78 -0
- package/esm/browser/components/message-actions.js.map +1 -0
- package/esm/browser/components/message-footer.d.ts +29 -0
- package/esm/browser/components/message-footer.js +86 -0
- package/esm/browser/components/message-footer.js.map +1 -0
- package/esm/browser/components/message-list.d.ts +37 -0
- package/esm/browser/components/message-list.js +216 -0
- package/esm/browser/components/message-list.js.map +1 -0
- package/esm/browser/components/notice-center.d.ts +3 -0
- package/esm/browser/components/notice-center.js +114 -0
- package/esm/browser/components/notice-center.js.map +1 -0
- package/esm/browser/components/relay-view.d.ts +5 -0
- package/esm/browser/components/relay-view.js +114 -0
- package/esm/browser/components/relay-view.js.map +1 -0
- package/esm/browser/components/run-status.d.ts +9 -0
- package/esm/browser/components/run-status.js +54 -0
- package/esm/browser/components/run-status.js.map +1 -0
- package/esm/browser/components/session-settings.d.ts +37 -0
- package/esm/browser/components/session-settings.js +84 -0
- package/esm/browser/components/session-settings.js.map +1 -0
- package/esm/browser/components/session-view.d.ts +24 -0
- package/esm/browser/components/session-view.js +84 -0
- package/esm/browser/components/session-view.js.map +1 -0
- package/esm/browser/components/settings-controls.d.ts +40 -0
- package/esm/browser/components/settings-controls.js +28 -0
- package/esm/browser/components/settings-controls.js.map +1 -0
- package/esm/browser/components/settings-view.d.ts +22 -0
- package/esm/browser/components/settings-view.js +357 -0
- package/esm/browser/components/settings-view.js.map +1 -0
- package/esm/browser/components/split-pane.d.ts +24 -0
- package/esm/browser/components/split-pane.js +75 -0
- package/esm/browser/components/split-pane.js.map +1 -0
- package/esm/browser/components/ta-avatar.d.ts +13 -0
- package/esm/browser/components/ta-avatar.js +185 -0
- package/esm/browser/components/ta-avatar.js.map +1 -0
- package/esm/browser/components/tool-view.d.ts +18 -0
- package/esm/browser/components/tool-view.js +110 -0
- package/esm/browser/components/tool-view.js.map +1 -0
- package/esm/browser/components/trusted-domains.d.ts +3 -0
- package/esm/browser/components/trusted-domains.js +39 -0
- package/esm/browser/components/trusted-domains.js.map +1 -0
- package/esm/browser/components/web-composer.d.ts +14 -0
- package/esm/browser/components/web-composer.js +22 -0
- package/esm/browser/components/web-composer.js.map +1 -0
- package/esm/browser/components/web-dialog.d.ts +4 -0
- package/esm/browser/components/web-dialog.js +22 -0
- package/esm/browser/components/web-dialog.js.map +1 -0
- package/esm/browser/components/workbench-toggle.d.ts +12 -0
- package/esm/browser/components/workbench-toggle.js +17 -0
- package/esm/browser/components/workbench-toggle.js.map +1 -0
- package/esm/browser/components/workbench-view.d.ts +8 -0
- package/esm/browser/components/workbench-view.js +62 -0
- package/esm/browser/components/workbench-view.js.map +1 -0
- package/esm/browser/components/working-directory.d.ts +5 -0
- package/esm/browser/components/working-directory.js +25 -0
- package/esm/browser/components/working-directory.js.map +1 -0
- package/esm/browser/editor/monaco-loader.d.ts +60 -0
- package/esm/browser/editor/monaco-loader.js +135 -0
- package/esm/browser/editor/monaco-loader.js.map +1 -0
- package/esm/browser/editor/monaco.d.ts +45 -0
- package/esm/browser/editor/monaco.js +54 -0
- package/esm/browser/editor/monaco.js.map +1 -0
- package/esm/browser/extension/extension-view.d.ts +35 -0
- package/esm/browser/extension/extension-view.js +53 -0
- package/esm/browser/extension/extension-view.js.map +1 -0
- package/esm/browser/extension/icons.d.ts +3 -0
- package/esm/browser/extension/icons.js +82 -0
- package/esm/browser/extension/icons.js.map +1 -0
- package/esm/browser/extension/web-extension-api.d.ts +362 -0
- package/esm/browser/extension/web-extension-api.js +2 -0
- package/esm/browser/extension/web-extension-api.js.map +1 -0
- package/esm/browser/extension/web-extension-protocol.d.ts +132 -0
- package/esm/browser/extension/web-extension-protocol.js +10 -0
- package/esm/browser/extension/web-extension-protocol.js.map +1 -0
- package/esm/browser/extension/web-extensions.d.ts +118 -0
- package/esm/browser/extension/web-extensions.js +654 -0
- package/esm/browser/extension/web-extensions.js.map +1 -0
- package/esm/browser/hooks.d.ts +21 -0
- package/esm/browser/hooks.js +65 -0
- package/esm/browser/hooks.js.map +1 -0
- package/esm/browser/i18n/locales.d.ts +435 -0
- package/esm/browser/i18n/locales.js +35 -0
- package/esm/browser/i18n/locales.js.map +1 -0
- package/esm/browser/i18n/messages.d.ts +427 -0
- package/esm/browser/i18n/messages.js +858 -0
- package/esm/browser/i18n/messages.js.map +1 -0
- package/esm/browser/i18n/use-t.d.ts +7 -0
- package/esm/browser/i18n/use-t.js +18 -0
- package/esm/browser/i18n/use-t.js.map +1 -0
- package/esm/browser/index.d.ts +52 -0
- package/esm/browser/index.js +53 -0
- package/esm/browser/index.js.map +1 -0
- package/esm/browser/links/links-protocol.d.ts +35 -0
- package/esm/browser/links/links-protocol.js +2 -0
- package/esm/browser/links/links-protocol.js.map +1 -0
- package/esm/browser/links/links.d.ts +32 -0
- package/esm/browser/links/links.js +141 -0
- package/esm/browser/links/links.js.map +1 -0
- package/esm/browser/markdown/hooks.d.ts +6 -0
- package/esm/browser/markdown/hooks.js +21 -0
- package/esm/browser/markdown/hooks.js.map +1 -0
- package/esm/browser/markdown/lazy.d.ts +21 -0
- package/esm/browser/markdown/lazy.js +39 -0
- package/esm/browser/markdown/lazy.js.map +1 -0
- package/esm/browser/markdown/math.d.ts +18 -0
- package/esm/browser/markdown/math.js +30 -0
- package/esm/browser/markdown/math.js.map +1 -0
- package/esm/browser/markdown/mermaid.d.ts +20 -0
- package/esm/browser/markdown/mermaid.js +84 -0
- package/esm/browser/markdown/mermaid.js.map +1 -0
- package/esm/browser/module.d.ts +4 -0
- package/esm/browser/module.js +6 -0
- package/esm/browser/module.js.map +1 -0
- package/esm/browser/notices/notices-protocol.d.ts +82 -0
- package/esm/browser/notices/notices-protocol.js +2 -0
- package/esm/browser/notices/notices-protocol.js.map +1 -0
- package/esm/browser/notices/notices.d.ts +47 -0
- package/esm/browser/notices/notices.js +162 -0
- package/esm/browser/notices/notices.js.map +1 -0
- package/esm/browser/pwa/pwa-protocol.d.ts +20 -0
- package/esm/browser/pwa/pwa-protocol.js +2 -0
- package/esm/browser/pwa/pwa-protocol.js.map +1 -0
- package/esm/browser/pwa/pwa.d.ts +39 -0
- package/esm/browser/pwa/pwa.js +120 -0
- package/esm/browser/pwa/pwa.js.map +1 -0
- package/esm/browser/settings/agent-settings.d.ts +33 -0
- package/esm/browser/settings/agent-settings.js +85 -0
- package/esm/browser/settings/agent-settings.js.map +1 -0
- package/esm/browser/settings/settings-protocol.d.ts +44 -0
- package/esm/browser/settings/settings-protocol.js +35 -0
- package/esm/browser/settings/settings-protocol.js.map +1 -0
- package/esm/browser/settings/settings.d.ts +31 -0
- package/esm/browser/settings/settings.js +102 -0
- package/esm/browser/settings/settings.js.map +1 -0
- package/esm/browser/state/state-protocol.d.ts +48 -0
- package/esm/browser/state/state-protocol.js +32 -0
- package/esm/browser/state/state-protocol.js.map +1 -0
- package/esm/browser/state/state.d.ts +39 -0
- package/esm/browser/state/state.js +210 -0
- package/esm/browser/state/state.js.map +1 -0
- package/esm/browser/style/base.d.ts +2 -0
- package/esm/browser/style/base.js +140 -0
- package/esm/browser/style/base.js.map +1 -0
- package/esm/browser/style/conversation.d.ts +2 -0
- package/esm/browser/style/conversation.js +201 -0
- package/esm/browser/style/conversation.js.map +1 -0
- package/esm/browser/style/layout.d.ts +2 -0
- package/esm/browser/style/layout.js +371 -0
- package/esm/browser/style/layout.js.map +1 -0
- package/esm/browser/style/pages.d.ts +2 -0
- package/esm/browser/style/pages.js +75 -0
- package/esm/browser/style/pages.js.map +1 -0
- package/esm/browser/style/shell.d.ts +2 -0
- package/esm/browser/style/shell.js +236 -0
- package/esm/browser/style/shell.js.map +1 -0
- package/esm/browser/style.d.ts +5 -0
- package/esm/browser/style.js +11 -0
- package/esm/browser/style.js.map +1 -0
- package/esm/browser/util/composer.d.ts +85 -0
- package/esm/browser/util/composer.js +121 -0
- package/esm/browser/util/composer.js.map +1 -0
- package/esm/browser/util/diff.d.ts +17 -0
- package/esm/browser/util/diff.js +29 -0
- package/esm/browser/util/diff.js.map +1 -0
- package/esm/browser/util/frame.d.ts +32 -0
- package/esm/browser/util/frame.js +47 -0
- package/esm/browser/util/frame.js.map +1 -0
- package/esm/browser/util/layout.d.ts +26 -0
- package/esm/browser/util/layout.js +54 -0
- package/esm/browser/util/layout.js.map +1 -0
- package/esm/browser/util/link.d.ts +53 -0
- package/esm/browser/util/link.js +229 -0
- package/esm/browser/util/link.js.map +1 -0
- package/esm/browser/util/markdown.d.ts +86 -0
- package/esm/browser/util/markdown.js +330 -0
- package/esm/browser/util/markdown.js.map +1 -0
- package/esm/browser/util/message.d.ts +74 -0
- package/esm/browser/util/message.js +143 -0
- package/esm/browser/util/message.js.map +1 -0
- package/esm/browser/util/process.d.ts +73 -0
- package/esm/browser/util/process.js +135 -0
- package/esm/browser/util/process.js.map +1 -0
- package/esm/browser/util/progress.d.ts +50 -0
- package/esm/browser/util/progress.js +143 -0
- package/esm/browser/util/progress.js.map +1 -0
- package/esm/browser/util/qr-code.d.ts +37 -0
- package/esm/browser/util/qr-code.js +349 -0
- package/esm/browser/util/qr-code.js.map +1 -0
- package/esm/browser/util/tool.d.ts +41 -0
- package/esm/browser/util/tool.js +151 -0
- package/esm/browser/util/tool.js.map +1 -0
- package/esm/browser/view.d.ts +3 -0
- package/esm/browser/view.js +16 -0
- package/esm/browser/view.js.map +1 -0
- package/esm/browser/workbench-protocol.d.ts +50 -0
- package/esm/browser/workbench-protocol.js +2 -0
- package/esm/browser/workbench-protocol.js.map +1 -0
- package/esm/browser/workbench.d.ts +63 -0
- package/esm/browser/workbench.js +278 -0
- package/esm/browser/workbench.js.map +1 -0
- package/esm/package.json +3 -0
- package/lib/browser/assistant/assistant-export.d.ts +14 -0
- package/lib/browser/assistant/assistant-export.d.ts.map +1 -0
- package/lib/browser/assistant/assistant-export.js +36 -0
- package/lib/browser/assistant/assistant-export.js.map +1 -0
- package/lib/browser/assistant/assistant-export.spec.d.ts +2 -0
- package/lib/browser/assistant/assistant-export.spec.d.ts.map +1 -0
- package/lib/browser/assistant/assistant-export.spec.js +27 -0
- package/lib/browser/assistant/assistant-export.spec.js.map +1 -0
- package/lib/browser/assistant/assistant-extension.d.ts +21 -0
- package/lib/browser/assistant/assistant-extension.d.ts.map +1 -0
- package/lib/browser/assistant/assistant-extension.js +189 -0
- package/lib/browser/assistant/assistant-extension.js.map +1 -0
- package/lib/browser/assistant/assistant-extension.spec.d.ts +2 -0
- package/lib/browser/assistant/assistant-extension.spec.d.ts.map +1 -0
- package/lib/browser/assistant/assistant-extension.spec.js +121 -0
- package/lib/browser/assistant/assistant-extension.spec.js.map +1 -0
- package/lib/browser/assistant/assistant-hooks.d.ts +9 -0
- package/lib/browser/assistant/assistant-hooks.d.ts.map +1 -0
- package/lib/browser/assistant/assistant-hooks.js +94 -0
- package/lib/browser/assistant/assistant-hooks.js.map +1 -0
- package/lib/browser/assistant/assistant-protocol.d.ts +52 -0
- package/lib/browser/assistant/assistant-protocol.d.ts.map +1 -0
- package/lib/browser/assistant/assistant-protocol.js +5 -0
- package/lib/browser/assistant/assistant-protocol.js.map +1 -0
- package/lib/browser/assistant/assistant-tasks.d.ts +49 -0
- package/lib/browser/assistant/assistant-tasks.d.ts.map +1 -0
- package/lib/browser/assistant/assistant-tasks.js +158 -0
- package/lib/browser/assistant/assistant-tasks.js.map +1 -0
- package/lib/browser/assistant/assistant-view.d.ts +22 -0
- package/lib/browser/assistant/assistant-view.d.ts.map +1 -0
- package/lib/browser/assistant/assistant-view.js +365 -0
- package/lib/browser/assistant/assistant-view.js.map +1 -0
- package/lib/browser/assistant/assistant.d.ts +52 -0
- package/lib/browser/assistant/assistant.d.ts.map +1 -0
- package/lib/browser/assistant/assistant.js +305 -0
- package/lib/browser/assistant/assistant.js.map +1 -0
- package/lib/browser/assistant/assistant.spec.d.ts +2 -0
- package/lib/browser/assistant/assistant.spec.d.ts.map +1 -0
- package/lib/browser/assistant/assistant.spec.js +80 -0
- package/lib/browser/assistant/assistant.spec.js.map +1 -0
- package/lib/browser/assistant/voice.d.ts +15 -0
- package/lib/browser/assistant/voice.d.ts.map +1 -0
- package/lib/browser/assistant/voice.js +75 -0
- package/lib/browser/assistant/voice.js.map +1 -0
- package/lib/browser/assistant/voice.spec.d.ts +2 -0
- package/lib/browser/assistant/voice.spec.d.ts.map +1 -0
- package/lib/browser/assistant/voice.spec.js +10 -0
- package/lib/browser/assistant/voice.spec.js.map +1 -0
- package/lib/browser/avatar/dino-avatar.d.ts +140 -0
- package/lib/browser/avatar/dino-avatar.d.ts.map +1 -0
- package/lib/browser/avatar/dino-avatar.js +429 -0
- package/lib/browser/avatar/dino-avatar.js.map +1 -0
- package/lib/browser/avatar/dino-avatar.spec.d.ts +2 -0
- package/lib/browser/avatar/dino-avatar.spec.d.ts.map +1 -0
- package/lib/browser/avatar/dino-avatar.spec.js +143 -0
- package/lib/browser/avatar/dino-avatar.spec.js.map +1 -0
- package/lib/browser/avatar/dino-motion.d.ts +25 -0
- package/lib/browser/avatar/dino-motion.d.ts.map +1 -0
- package/lib/browser/avatar/dino-motion.js +298 -0
- package/lib/browser/avatar/dino-motion.js.map +1 -0
- package/lib/browser/chat/chat-protocol.d.ts +47 -0
- package/lib/browser/chat/chat-protocol.d.ts.map +1 -0
- package/lib/browser/chat/chat-protocol.js +5 -0
- package/lib/browser/chat/chat-protocol.js.map +1 -0
- package/lib/browser/chat/chat-view.d.ts +16 -0
- package/lib/browser/chat/chat-view.d.ts.map +1 -0
- package/lib/browser/chat/chat-view.js +125 -0
- package/lib/browser/chat/chat-view.js.map +1 -0
- package/lib/browser/chat/chat.d.ts +70 -0
- package/lib/browser/chat/chat.d.ts.map +1 -0
- package/lib/browser/chat/chat.js +346 -0
- package/lib/browser/chat/chat.js.map +1 -0
- package/lib/browser/chat/chat.spec.d.ts +2 -0
- package/lib/browser/chat/chat.spec.d.ts.map +1 -0
- package/lib/browser/chat/chat.spec.js +185 -0
- package/lib/browser/chat/chat.spec.js.map +1 -0
- package/lib/browser/components/account-menu.d.ts +9 -0
- package/lib/browser/components/account-menu.d.ts.map +1 -0
- package/lib/browser/components/account-menu.js +119 -0
- package/lib/browser/components/account-menu.js.map +1 -0
- package/lib/browser/components/agent-settings-view.d.ts +24 -0
- package/lib/browser/components/agent-settings-view.d.ts.map +1 -0
- package/lib/browser/components/agent-settings-view.js +143 -0
- package/lib/browser/components/agent-settings-view.js.map +1 -0
- package/lib/browser/components/app-view.d.ts +10 -0
- package/lib/browser/components/app-view.d.ts.map +1 -0
- package/lib/browser/components/app-view.js +441 -0
- package/lib/browser/components/app-view.js.map +1 -0
- package/lib/browser/components/auth-pictures.d.ts +7 -0
- package/lib/browser/components/auth-pictures.d.ts.map +1 -0
- package/lib/browser/components/auth-pictures.js +73 -0
- package/lib/browser/components/auth-pictures.js.map +1 -0
- package/lib/browser/components/auth-view.d.ts +55 -0
- package/lib/browser/components/auth-view.d.ts.map +1 -0
- package/lib/browser/components/auth-view.js +340 -0
- package/lib/browser/components/auth-view.js.map +1 -0
- package/lib/browser/components/callout.d.ts +19 -0
- package/lib/browser/components/callout.d.ts.map +1 -0
- package/lib/browser/components/callout.js +54 -0
- package/lib/browser/components/callout.js.map +1 -0
- package/lib/browser/components/chat-list.d.ts +53 -0
- package/lib/browser/components/chat-list.d.ts.map +1 -0
- package/lib/browser/components/chat-list.js +226 -0
- package/lib/browser/components/chat-list.js.map +1 -0
- package/lib/browser/components/chat-list.spec.d.ts +2 -0
- package/lib/browser/components/chat-list.spec.d.ts.map +1 -0
- package/lib/browser/components/chat-list.spec.js +61 -0
- package/lib/browser/components/chat-list.spec.js.map +1 -0
- package/lib/browser/components/code-editor.d.ts +8 -0
- package/lib/browser/components/code-editor.d.ts.map +1 -0
- package/lib/browser/components/code-editor.js +121 -0
- package/lib/browser/components/code-editor.js.map +1 -0
- package/lib/browser/components/composer-box.d.ts +74 -0
- package/lib/browser/components/composer-box.d.ts.map +1 -0
- package/lib/browser/components/composer-box.js +334 -0
- package/lib/browser/components/composer-box.js.map +1 -0
- package/lib/browser/components/composer-menu.d.ts +18 -0
- package/lib/browser/components/composer-menu.d.ts.map +1 -0
- package/lib/browser/components/composer-menu.js +54 -0
- package/lib/browser/components/composer-menu.js.map +1 -0
- package/lib/browser/components/composer.d.ts +38 -0
- package/lib/browser/components/composer.d.ts.map +1 -0
- package/lib/browser/components/composer.js +135 -0
- package/lib/browser/components/composer.js.map +1 -0
- package/lib/browser/components/composer.spec.d.ts +2 -0
- package/lib/browser/components/composer.spec.d.ts.map +1 -0
- package/lib/browser/components/composer.spec.js +129 -0
- package/lib/browser/components/composer.spec.js.map +1 -0
- package/lib/browser/components/connection-bar.d.ts +7 -0
- package/lib/browser/components/connection-bar.d.ts.map +1 -0
- package/lib/browser/components/connection-bar.js +109 -0
- package/lib/browser/components/connection-bar.js.map +1 -0
- package/lib/browser/components/context-menu.d.ts +13 -0
- package/lib/browser/components/context-menu.d.ts.map +1 -0
- package/lib/browser/components/context-menu.js +104 -0
- package/lib/browser/components/context-menu.js.map +1 -0
- package/lib/browser/components/conversation-scroll.d.ts +14 -0
- package/lib/browser/components/conversation-scroll.d.ts.map +1 -0
- package/lib/browser/components/conversation-scroll.js +158 -0
- package/lib/browser/components/conversation-scroll.js.map +1 -0
- package/lib/browser/components/dialog-view.d.ts +10 -0
- package/lib/browser/components/dialog-view.d.ts.map +1 -0
- package/lib/browser/components/dialog-view.js +77 -0
- package/lib/browser/components/dialog-view.js.map +1 -0
- package/lib/browser/components/diff-editor.d.ts +11 -0
- package/lib/browser/components/diff-editor.d.ts.map +1 -0
- package/lib/browser/components/diff-editor.js +137 -0
- package/lib/browser/components/diff-editor.js.map +1 -0
- package/lib/browser/components/diff-view.d.ts +5 -0
- package/lib/browser/components/diff-view.d.ts.map +1 -0
- package/lib/browser/components/diff-view.js +47 -0
- package/lib/browser/components/diff-view.js.map +1 -0
- package/lib/browser/components/dino.d.ts +9 -0
- package/lib/browser/components/dino.d.ts.map +1 -0
- package/lib/browser/components/dino.js +52 -0
- package/lib/browser/components/dino.js.map +1 -0
- package/lib/browser/components/editor-area.d.ts +29 -0
- package/lib/browser/components/editor-area.d.ts.map +1 -0
- package/lib/browser/components/editor-area.js +171 -0
- package/lib/browser/components/editor-area.js.map +1 -0
- package/lib/browser/components/folder-picker.d.ts +29 -0
- package/lib/browser/components/folder-picker.d.ts.map +1 -0
- package/lib/browser/components/folder-picker.js +144 -0
- package/lib/browser/components/folder-picker.js.map +1 -0
- package/lib/browser/components/folder-picker.spec.d.ts +2 -0
- package/lib/browser/components/folder-picker.spec.d.ts.map +1 -0
- package/lib/browser/components/folder-picker.spec.js +28 -0
- package/lib/browser/components/folder-picker.spec.js.map +1 -0
- package/lib/browser/components/fork-view.d.ts +15 -0
- package/lib/browser/components/fork-view.d.ts.map +1 -0
- package/lib/browser/components/fork-view.js +79 -0
- package/lib/browser/components/fork-view.js.map +1 -0
- package/lib/browser/components/hero-cards.d.ts +21 -0
- package/lib/browser/components/hero-cards.d.ts.map +1 -0
- package/lib/browser/components/hero-cards.js +146 -0
- package/lib/browser/components/hero-cards.js.map +1 -0
- package/lib/browser/components/icon.d.ts +30 -0
- package/lib/browser/components/icon.d.ts.map +1 -0
- package/lib/browser/components/icon.js +61 -0
- package/lib/browser/components/icon.js.map +1 -0
- package/lib/browser/components/link-dialog.d.ts +4 -0
- package/lib/browser/components/link-dialog.d.ts.map +1 -0
- package/lib/browser/components/link-dialog.js +81 -0
- package/lib/browser/components/link-dialog.js.map +1 -0
- package/lib/browser/components/link.d.ts +20 -0
- package/lib/browser/components/link.d.ts.map +1 -0
- package/lib/browser/components/link.js +94 -0
- package/lib/browser/components/link.js.map +1 -0
- package/lib/browser/components/manage-menu.d.ts +14 -0
- package/lib/browser/components/manage-menu.d.ts.map +1 -0
- package/lib/browser/components/manage-menu.js +132 -0
- package/lib/browser/components/manage-menu.js.map +1 -0
- package/lib/browser/components/markdown.d.ts +10 -0
- package/lib/browser/components/markdown.d.ts.map +1 -0
- package/lib/browser/components/markdown.js +135 -0
- package/lib/browser/components/markdown.js.map +1 -0
- package/lib/browser/components/markdown.spec.d.ts +2 -0
- package/lib/browser/components/markdown.spec.d.ts.map +1 -0
- package/lib/browser/components/markdown.spec.js +72 -0
- package/lib/browser/components/markdown.spec.js.map +1 -0
- package/lib/browser/components/math.d.ts +11 -0
- package/lib/browser/components/math.d.ts.map +1 -0
- package/lib/browser/components/math.js +57 -0
- package/lib/browser/components/math.js.map +1 -0
- package/lib/browser/components/media.d.ts +12 -0
- package/lib/browser/components/media.d.ts.map +1 -0
- package/lib/browser/components/media.js +113 -0
- package/lib/browser/components/media.js.map +1 -0
- package/lib/browser/components/mermaid-view.d.ts +11 -0
- package/lib/browser/components/mermaid-view.d.ts.map +1 -0
- package/lib/browser/components/mermaid-view.js +120 -0
- package/lib/browser/components/mermaid-view.js.map +1 -0
- package/lib/browser/components/message-actions.d.ts +13 -0
- package/lib/browser/components/message-actions.d.ts.map +1 -0
- package/lib/browser/components/message-actions.js +114 -0
- package/lib/browser/components/message-actions.js.map +1 -0
- package/lib/browser/components/message-footer.d.ts +30 -0
- package/lib/browser/components/message-footer.d.ts.map +1 -0
- package/lib/browser/components/message-footer.js +124 -0
- package/lib/browser/components/message-footer.js.map +1 -0
- package/lib/browser/components/message-list.d.ts +38 -0
- package/lib/browser/components/message-list.d.ts.map +1 -0
- package/lib/browser/components/message-list.js +257 -0
- package/lib/browser/components/message-list.js.map +1 -0
- package/lib/browser/components/message-list.spec.d.ts +2 -0
- package/lib/browser/components/message-list.spec.d.ts.map +1 -0
- package/lib/browser/components/message-list.spec.js +269 -0
- package/lib/browser/components/message-list.spec.js.map +1 -0
- package/lib/browser/components/notice-center.d.ts +4 -0
- package/lib/browser/components/notice-center.d.ts.map +1 -0
- package/lib/browser/components/notice-center.js +150 -0
- package/lib/browser/components/notice-center.js.map +1 -0
- package/lib/browser/components/relay-view.d.ts +6 -0
- package/lib/browser/components/relay-view.d.ts.map +1 -0
- package/lib/browser/components/relay-view.js +150 -0
- package/lib/browser/components/relay-view.js.map +1 -0
- package/lib/browser/components/run-status.d.ts +10 -0
- package/lib/browser/components/run-status.d.ts.map +1 -0
- package/lib/browser/components/run-status.js +90 -0
- package/lib/browser/components/run-status.js.map +1 -0
- package/lib/browser/components/session-settings.d.ts +38 -0
- package/lib/browser/components/session-settings.d.ts.map +1 -0
- package/lib/browser/components/session-settings.js +121 -0
- package/lib/browser/components/session-settings.js.map +1 -0
- package/lib/browser/components/session-settings.spec.d.ts +2 -0
- package/lib/browser/components/session-settings.spec.d.ts.map +1 -0
- package/lib/browser/components/session-settings.spec.js +47 -0
- package/lib/browser/components/session-settings.spec.js.map +1 -0
- package/lib/browser/components/session-view.d.ts +25 -0
- package/lib/browser/components/session-view.d.ts.map +1 -0
- package/lib/browser/components/session-view.js +120 -0
- package/lib/browser/components/session-view.js.map +1 -0
- package/lib/browser/components/settings-controls.d.ts +41 -0
- package/lib/browser/components/settings-controls.d.ts.map +1 -0
- package/lib/browser/components/settings-controls.js +68 -0
- package/lib/browser/components/settings-controls.js.map +1 -0
- package/lib/browser/components/settings-view.d.ts +23 -0
- package/lib/browser/components/settings-view.d.ts.map +1 -0
- package/lib/browser/components/settings-view.js +394 -0
- package/lib/browser/components/settings-view.js.map +1 -0
- package/lib/browser/components/split-pane.d.ts +25 -0
- package/lib/browser/components/split-pane.d.ts.map +1 -0
- package/lib/browser/components/split-pane.js +113 -0
- package/lib/browser/components/split-pane.js.map +1 -0
- package/lib/browser/components/ta-avatar.d.ts +14 -0
- package/lib/browser/components/ta-avatar.d.ts.map +1 -0
- package/lib/browser/components/ta-avatar.js +221 -0
- package/lib/browser/components/ta-avatar.js.map +1 -0
- package/lib/browser/components/ta-avatar.spec.d.ts +2 -0
- package/lib/browser/components/ta-avatar.spec.d.ts.map +1 -0
- package/lib/browser/components/ta-avatar.spec.js +60 -0
- package/lib/browser/components/ta-avatar.spec.js.map +1 -0
- package/lib/browser/components/tool-view.d.ts +19 -0
- package/lib/browser/components/tool-view.d.ts.map +1 -0
- package/lib/browser/components/tool-view.js +146 -0
- package/lib/browser/components/tool-view.js.map +1 -0
- package/lib/browser/components/trusted-domains.d.ts +4 -0
- package/lib/browser/components/trusted-domains.d.ts.map +1 -0
- package/lib/browser/components/trusted-domains.js +75 -0
- package/lib/browser/components/trusted-domains.js.map +1 -0
- package/lib/browser/components/web-composer.d.ts +15 -0
- package/lib/browser/components/web-composer.d.ts.map +1 -0
- package/lib/browser/components/web-composer.js +58 -0
- package/lib/browser/components/web-composer.js.map +1 -0
- package/lib/browser/components/web-dialog.d.ts +5 -0
- package/lib/browser/components/web-dialog.d.ts.map +1 -0
- package/lib/browser/components/web-dialog.js +58 -0
- package/lib/browser/components/web-dialog.js.map +1 -0
- package/lib/browser/components/workbench-toggle.d.ts +13 -0
- package/lib/browser/components/workbench-toggle.d.ts.map +1 -0
- package/lib/browser/components/workbench-toggle.js +54 -0
- package/lib/browser/components/workbench-toggle.js.map +1 -0
- package/lib/browser/components/workbench-toggle.spec.d.ts +2 -0
- package/lib/browser/components/workbench-toggle.spec.d.ts.map +1 -0
- package/lib/browser/components/workbench-toggle.spec.js +64 -0
- package/lib/browser/components/workbench-toggle.spec.js.map +1 -0
- package/lib/browser/components/workbench-view.d.ts +9 -0
- package/lib/browser/components/workbench-view.d.ts.map +1 -0
- package/lib/browser/components/workbench-view.js +99 -0
- package/lib/browser/components/workbench-view.js.map +1 -0
- package/lib/browser/components/working-directory.d.ts +6 -0
- package/lib/browser/components/working-directory.d.ts.map +1 -0
- package/lib/browser/components/working-directory.js +61 -0
- package/lib/browser/components/working-directory.js.map +1 -0
- package/lib/browser/editor/monaco-loader.d.ts +61 -0
- package/lib/browser/editor/monaco-loader.d.ts.map +1 -0
- package/lib/browser/editor/monaco-loader.js +138 -0
- package/lib/browser/editor/monaco-loader.js.map +1 -0
- package/lib/browser/editor/monaco-loader.spec.d.ts +2 -0
- package/lib/browser/editor/monaco-loader.spec.d.ts.map +1 -0
- package/lib/browser/editor/monaco-loader.spec.js +39 -0
- package/lib/browser/editor/monaco-loader.spec.js.map +1 -0
- package/lib/browser/editor/monaco.d.ts +46 -0
- package/lib/browser/editor/monaco.d.ts.map +1 -0
- package/lib/browser/editor/monaco.js +93 -0
- package/lib/browser/editor/monaco.js.map +1 -0
- package/lib/browser/extension/extension-view.d.ts +36 -0
- package/lib/browser/extension/extension-view.d.ts.map +1 -0
- package/lib/browser/extension/extension-view.js +91 -0
- package/lib/browser/extension/extension-view.js.map +1 -0
- package/lib/browser/extension/icons.d.ts +4 -0
- package/lib/browser/extension/icons.d.ts.map +1 -0
- package/lib/browser/extension/icons.js +85 -0
- package/lib/browser/extension/icons.js.map +1 -0
- package/lib/browser/extension/web-extension-api.d.ts +363 -0
- package/lib/browser/extension/web-extension-api.d.ts.map +1 -0
- package/lib/browser/extension/web-extension-api.js +3 -0
- package/lib/browser/extension/web-extension-api.js.map +1 -0
- package/lib/browser/extension/web-extension-protocol.d.ts +133 -0
- package/lib/browser/extension/web-extension-protocol.d.ts.map +1 -0
- package/lib/browser/extension/web-extension-protocol.js +13 -0
- package/lib/browser/extension/web-extension-protocol.js.map +1 -0
- package/lib/browser/extension/web-extensions.d.ts +119 -0
- package/lib/browser/extension/web-extensions.d.ts.map +1 -0
- package/lib/browser/extension/web-extensions.js +690 -0
- package/lib/browser/extension/web-extensions.js.map +1 -0
- package/lib/browser/extension/web-extensions.spec.d.ts +2 -0
- package/lib/browser/extension/web-extensions.spec.d.ts.map +1 -0
- package/lib/browser/extension/web-extensions.spec.js +617 -0
- package/lib/browser/extension/web-extensions.spec.js.map +1 -0
- package/lib/browser/hooks.d.ts +22 -0
- package/lib/browser/hooks.d.ts.map +1 -0
- package/lib/browser/hooks.js +109 -0
- package/lib/browser/hooks.js.map +1 -0
- package/lib/browser/i18n/locales.d.ts +436 -0
- package/lib/browser/i18n/locales.d.ts.map +1 -0
- package/lib/browser/i18n/locales.js +38 -0
- package/lib/browser/i18n/locales.js.map +1 -0
- package/lib/browser/i18n/messages.d.ts +428 -0
- package/lib/browser/i18n/messages.d.ts.map +1 -0
- package/lib/browser/i18n/messages.js +862 -0
- package/lib/browser/i18n/messages.js.map +1 -0
- package/lib/browser/i18n/use-t.d.ts +8 -0
- package/lib/browser/i18n/use-t.d.ts.map +1 -0
- package/lib/browser/i18n/use-t.js +54 -0
- package/lib/browser/i18n/use-t.js.map +1 -0
- package/lib/browser/index.d.ts +53 -0
- package/lib/browser/index.d.ts.map +1 -0
- package/lib/browser/index.js +69 -0
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/links/links-protocol.d.ts +36 -0
- package/lib/browser/links/links-protocol.d.ts.map +1 -0
- package/lib/browser/links/links-protocol.js +5 -0
- package/lib/browser/links/links-protocol.js.map +1 -0
- package/lib/browser/links/links.d.ts +33 -0
- package/lib/browser/links/links.d.ts.map +1 -0
- package/lib/browser/links/links.js +144 -0
- package/lib/browser/links/links.js.map +1 -0
- package/lib/browser/links/links.spec.d.ts +2 -0
- package/lib/browser/links/links.spec.d.ts.map +1 -0
- package/lib/browser/links/links.spec.js +123 -0
- package/lib/browser/links/links.spec.js.map +1 -0
- package/lib/browser/markdown/hooks.d.ts +7 -0
- package/lib/browser/markdown/hooks.d.ts.map +1 -0
- package/lib/browser/markdown/hooks.js +58 -0
- package/lib/browser/markdown/hooks.js.map +1 -0
- package/lib/browser/markdown/lazy.d.ts +22 -0
- package/lib/browser/markdown/lazy.d.ts.map +1 -0
- package/lib/browser/markdown/lazy.js +44 -0
- package/lib/browser/markdown/lazy.js.map +1 -0
- package/lib/browser/markdown/lazy.spec.d.ts +2 -0
- package/lib/browser/markdown/lazy.spec.d.ts.map +1 -0
- package/lib/browser/markdown/lazy.spec.js +35 -0
- package/lib/browser/markdown/lazy.spec.js.map +1 -0
- package/lib/browser/markdown/math.d.ts +19 -0
- package/lib/browser/markdown/math.d.ts.map +1 -0
- package/lib/browser/markdown/math.js +33 -0
- package/lib/browser/markdown/math.js.map +1 -0
- package/lib/browser/markdown/math.spec.d.ts +2 -0
- package/lib/browser/markdown/math.spec.d.ts.map +1 -0
- package/lib/browser/markdown/math.spec.js +24 -0
- package/lib/browser/markdown/math.spec.js.map +1 -0
- package/lib/browser/markdown/mermaid.d.ts +21 -0
- package/lib/browser/markdown/mermaid.d.ts.map +1 -0
- package/lib/browser/markdown/mermaid.js +87 -0
- package/lib/browser/markdown/mermaid.js.map +1 -0
- package/lib/browser/markdown/mermaid.spec.d.ts +2 -0
- package/lib/browser/markdown/mermaid.spec.d.ts.map +1 -0
- package/lib/browser/markdown/mermaid.spec.js +21 -0
- package/lib/browser/markdown/mermaid.spec.js.map +1 -0
- package/lib/browser/module.d.ts +5 -0
- package/lib/browser/module.d.ts.map +1 -0
- package/lib/browser/module.js +8 -0
- package/lib/browser/module.js.map +1 -0
- package/lib/browser/notices/notices-protocol.d.ts +83 -0
- package/lib/browser/notices/notices-protocol.d.ts.map +1 -0
- package/lib/browser/notices/notices-protocol.js +5 -0
- package/lib/browser/notices/notices-protocol.js.map +1 -0
- package/lib/browser/notices/notices.d.ts +48 -0
- package/lib/browser/notices/notices.d.ts.map +1 -0
- package/lib/browser/notices/notices.js +165 -0
- package/lib/browser/notices/notices.js.map +1 -0
- package/lib/browser/notices/notices.spec.d.ts +2 -0
- package/lib/browser/notices/notices.spec.d.ts.map +1 -0
- package/lib/browser/notices/notices.spec.js +96 -0
- package/lib/browser/notices/notices.spec.js.map +1 -0
- package/lib/browser/pwa/pwa-protocol.d.ts +21 -0
- package/lib/browser/pwa/pwa-protocol.d.ts.map +1 -0
- package/lib/browser/pwa/pwa-protocol.js +5 -0
- package/lib/browser/pwa/pwa-protocol.js.map +1 -0
- package/lib/browser/pwa/pwa.d.ts +40 -0
- package/lib/browser/pwa/pwa.d.ts.map +1 -0
- package/lib/browser/pwa/pwa.js +123 -0
- package/lib/browser/pwa/pwa.js.map +1 -0
- package/lib/browser/pwa/pwa.spec.d.ts +2 -0
- package/lib/browser/pwa/pwa.spec.d.ts.map +1 -0
- package/lib/browser/pwa/pwa.spec.js +134 -0
- package/lib/browser/pwa/pwa.spec.js.map +1 -0
- package/lib/browser/settings/agent-settings.d.ts +34 -0
- package/lib/browser/settings/agent-settings.d.ts.map +1 -0
- package/lib/browser/settings/agent-settings.js +88 -0
- package/lib/browser/settings/agent-settings.js.map +1 -0
- package/lib/browser/settings/agent-settings.spec.d.ts +2 -0
- package/lib/browser/settings/agent-settings.spec.d.ts.map +1 -0
- package/lib/browser/settings/agent-settings.spec.js +53 -0
- package/lib/browser/settings/agent-settings.spec.js.map +1 -0
- package/lib/browser/settings/settings-protocol.d.ts +45 -0
- package/lib/browser/settings/settings-protocol.d.ts.map +1 -0
- package/lib/browser/settings/settings-protocol.js +38 -0
- package/lib/browser/settings/settings-protocol.js.map +1 -0
- package/lib/browser/settings/settings.d.ts +32 -0
- package/lib/browser/settings/settings.d.ts.map +1 -0
- package/lib/browser/settings/settings.js +105 -0
- package/lib/browser/settings/settings.js.map +1 -0
- package/lib/browser/settings/settings.spec.d.ts +2 -0
- package/lib/browser/settings/settings.spec.d.ts.map +1 -0
- package/lib/browser/settings/settings.spec.js +32 -0
- package/lib/browser/settings/settings.spec.js.map +1 -0
- package/lib/browser/state/state-protocol.d.ts +49 -0
- package/lib/browser/state/state-protocol.d.ts.map +1 -0
- package/lib/browser/state/state-protocol.js +35 -0
- package/lib/browser/state/state-protocol.js.map +1 -0
- package/lib/browser/state/state.d.ts +40 -0
- package/lib/browser/state/state.d.ts.map +1 -0
- package/lib/browser/state/state.js +213 -0
- package/lib/browser/state/state.js.map +1 -0
- package/lib/browser/state/state.spec.d.ts +2 -0
- package/lib/browser/state/state.spec.d.ts.map +1 -0
- package/lib/browser/state/state.spec.js +201 -0
- package/lib/browser/state/state.spec.js.map +1 -0
- package/lib/browser/style/base.d.ts +3 -0
- package/lib/browser/style/base.d.ts.map +1 -0
- package/lib/browser/style/base.js +143 -0
- package/lib/browser/style/base.js.map +1 -0
- package/lib/browser/style/conversation.d.ts +3 -0
- package/lib/browser/style/conversation.d.ts.map +1 -0
- package/lib/browser/style/conversation.js +204 -0
- package/lib/browser/style/conversation.js.map +1 -0
- package/lib/browser/style/layout.d.ts +3 -0
- package/lib/browser/style/layout.d.ts.map +1 -0
- package/lib/browser/style/layout.js +374 -0
- package/lib/browser/style/layout.js.map +1 -0
- package/lib/browser/style/pages.d.ts +3 -0
- package/lib/browser/style/pages.d.ts.map +1 -0
- package/lib/browser/style/pages.js +78 -0
- package/lib/browser/style/pages.js.map +1 -0
- package/lib/browser/style/shell.d.ts +3 -0
- package/lib/browser/style/shell.d.ts.map +1 -0
- package/lib/browser/style/shell.js +239 -0
- package/lib/browser/style/shell.js.map +1 -0
- package/lib/browser/style.d.ts +6 -0
- package/lib/browser/style.d.ts.map +1 -0
- package/lib/browser/style.js +14 -0
- package/lib/browser/style.js.map +1 -0
- package/lib/browser/util/composer.d.ts +86 -0
- package/lib/browser/util/composer.d.ts.map +1 -0
- package/lib/browser/util/composer.js +124 -0
- package/lib/browser/util/composer.js.map +1 -0
- package/lib/browser/util/composer.spec.d.ts +2 -0
- package/lib/browser/util/composer.spec.d.ts.map +1 -0
- package/lib/browser/util/composer.spec.js +66 -0
- package/lib/browser/util/composer.spec.js.map +1 -0
- package/lib/browser/util/diff.d.ts +18 -0
- package/lib/browser/util/diff.d.ts.map +1 -0
- package/lib/browser/util/diff.js +32 -0
- package/lib/browser/util/diff.js.map +1 -0
- package/lib/browser/util/diff.spec.d.ts +2 -0
- package/lib/browser/util/diff.spec.d.ts.map +1 -0
- package/lib/browser/util/diff.spec.js +21 -0
- package/lib/browser/util/diff.spec.js.map +1 -0
- package/lib/browser/util/frame.d.ts +33 -0
- package/lib/browser/util/frame.d.ts.map +1 -0
- package/lib/browser/util/frame.js +50 -0
- package/lib/browser/util/frame.js.map +1 -0
- package/lib/browser/util/frame.spec.d.ts +2 -0
- package/lib/browser/util/frame.spec.d.ts.map +1 -0
- package/lib/browser/util/frame.spec.js +60 -0
- package/lib/browser/util/frame.spec.js.map +1 -0
- package/lib/browser/util/layout.d.ts +27 -0
- package/lib/browser/util/layout.d.ts.map +1 -0
- package/lib/browser/util/layout.js +57 -0
- package/lib/browser/util/layout.js.map +1 -0
- package/lib/browser/util/layout.spec.d.ts +2 -0
- package/lib/browser/util/layout.spec.d.ts.map +1 -0
- package/lib/browser/util/layout.spec.js +35 -0
- package/lib/browser/util/layout.spec.js.map +1 -0
- package/lib/browser/util/link.d.ts +54 -0
- package/lib/browser/util/link.d.ts.map +1 -0
- package/lib/browser/util/link.js +232 -0
- package/lib/browser/util/link.js.map +1 -0
- package/lib/browser/util/link.spec.d.ts +2 -0
- package/lib/browser/util/link.spec.d.ts.map +1 -0
- package/lib/browser/util/link.spec.js +101 -0
- package/lib/browser/util/link.spec.js.map +1 -0
- package/lib/browser/util/markdown.d.ts +87 -0
- package/lib/browser/util/markdown.d.ts.map +1 -0
- package/lib/browser/util/markdown.js +333 -0
- package/lib/browser/util/markdown.js.map +1 -0
- package/lib/browser/util/markdown.spec.d.ts +2 -0
- package/lib/browser/util/markdown.spec.d.ts.map +1 -0
- package/lib/browser/util/markdown.spec.js +124 -0
- package/lib/browser/util/markdown.spec.js.map +1 -0
- package/lib/browser/util/message.d.ts +75 -0
- package/lib/browser/util/message.d.ts.map +1 -0
- package/lib/browser/util/message.js +146 -0
- package/lib/browser/util/message.js.map +1 -0
- package/lib/browser/util/message.spec.d.ts +2 -0
- package/lib/browser/util/message.spec.d.ts.map +1 -0
- package/lib/browser/util/message.spec.js +59 -0
- package/lib/browser/util/message.spec.js.map +1 -0
- package/lib/browser/util/process.d.ts +74 -0
- package/lib/browser/util/process.d.ts.map +1 -0
- package/lib/browser/util/process.js +138 -0
- package/lib/browser/util/process.js.map +1 -0
- package/lib/browser/util/process.spec.d.ts +2 -0
- package/lib/browser/util/process.spec.d.ts.map +1 -0
- package/lib/browser/util/process.spec.js +106 -0
- package/lib/browser/util/process.spec.js.map +1 -0
- package/lib/browser/util/progress.d.ts +51 -0
- package/lib/browser/util/progress.d.ts.map +1 -0
- package/lib/browser/util/progress.js +146 -0
- package/lib/browser/util/progress.js.map +1 -0
- package/lib/browser/util/progress.spec.d.ts +2 -0
- package/lib/browser/util/progress.spec.d.ts.map +1 -0
- package/lib/browser/util/progress.spec.js +77 -0
- package/lib/browser/util/progress.spec.js.map +1 -0
- package/lib/browser/util/qr-code.d.ts +38 -0
- package/lib/browser/util/qr-code.d.ts.map +1 -0
- package/lib/browser/util/qr-code.js +353 -0
- package/lib/browser/util/qr-code.js.map +1 -0
- package/lib/browser/util/qr-code.spec.d.ts +2 -0
- package/lib/browser/util/qr-code.spec.d.ts.map +1 -0
- package/lib/browser/util/qr-code.spec.js +48 -0
- package/lib/browser/util/qr-code.spec.js.map +1 -0
- package/lib/browser/util/tool.d.ts +42 -0
- package/lib/browser/util/tool.d.ts.map +1 -0
- package/lib/browser/util/tool.js +154 -0
- package/lib/browser/util/tool.js.map +1 -0
- package/lib/browser/util/tool.spec.d.ts +2 -0
- package/lib/browser/util/tool.spec.d.ts.map +1 -0
- package/lib/browser/util/tool.spec.js +73 -0
- package/lib/browser/util/tool.spec.js.map +1 -0
- package/lib/browser/view.d.ts +4 -0
- package/lib/browser/view.d.ts.map +1 -0
- package/lib/browser/view.js +19 -0
- package/lib/browser/view.js.map +1 -0
- package/lib/browser/workbench-protocol.d.ts +51 -0
- package/lib/browser/workbench-protocol.d.ts.map +1 -0
- package/lib/browser/workbench-protocol.js +5 -0
- package/lib/browser/workbench-protocol.js.map +1 -0
- package/lib/browser/workbench.d.ts +64 -0
- package/lib/browser/workbench.d.ts.map +1 -0
- package/lib/browser/workbench.js +281 -0
- package/lib/browser/workbench.js.map +1 -0
- package/lib/browser/workbench.spec.d.ts +2 -0
- package/lib/browser/workbench.spec.d.ts.map +1 -0
- package/lib/browser/workbench.spec.js +34 -0
- package/lib/browser/workbench.spec.js.map +1 -0
- package/package.json +81 -4
- package/src/browser/assistant/assistant-export.spec.ts +30 -0
- package/src/browser/assistant/assistant-export.ts +41 -0
- package/src/browser/assistant/assistant-extension.spec.ts +122 -0
- package/src/browser/assistant/assistant-extension.ts +137 -0
- package/src/browser/assistant/assistant-hooks.ts +63 -0
- package/src/browser/assistant/assistant-protocol.ts +55 -0
- package/src/browser/assistant/assistant-tasks.tsx +194 -0
- package/src/browser/assistant/assistant-view.tsx +453 -0
- package/src/browser/assistant/assistant.spec.ts +80 -0
- package/src/browser/assistant/assistant.ts +315 -0
- package/src/browser/assistant/voice.spec.ts +8 -0
- package/src/browser/assistant/voice.ts +87 -0
- package/src/browser/avatar/dino-avatar.spec.ts +151 -0
- package/src/browser/avatar/dino-avatar.ts +541 -0
- package/src/browser/avatar/dino-motion.ts +313 -0
- package/src/browser/chat/chat-protocol.ts +47 -0
- package/src/browser/chat/chat-view.tsx +155 -0
- package/src/browser/chat/chat.spec.ts +194 -0
- package/src/browser/chat/chat.ts +335 -0
- package/src/browser/components/account-menu.tsx +114 -0
- package/src/browser/components/agent-settings-view.tsx +196 -0
- package/src/browser/components/app-view.tsx +553 -0
- package/src/browser/components/auth-pictures.tsx +55 -0
- package/src/browser/components/auth-view.tsx +421 -0
- package/src/browser/components/callout.tsx +33 -0
- package/src/browser/components/chat-list.spec.ts +66 -0
- package/src/browser/components/chat-list.tsx +276 -0
- package/src/browser/components/code-editor.tsx +114 -0
- package/src/browser/components/composer-box.tsx +475 -0
- package/src/browser/components/composer-menu.tsx +49 -0
- package/src/browser/components/composer.spec.tsx +130 -0
- package/src/browser/components/composer.tsx +170 -0
- package/src/browser/components/connection-bar.tsx +85 -0
- package/src/browser/components/context-menu.tsx +100 -0
- package/src/browser/components/conversation-scroll.ts +126 -0
- package/src/browser/components/dialog-view.tsx +82 -0
- package/src/browser/components/diff-editor.tsx +131 -0
- package/src/browser/components/diff-view.tsx +19 -0
- package/src/browser/components/dino.tsx +19 -0
- package/src/browser/components/editor-area.tsx +234 -0
- package/src/browser/components/folder-picker.spec.ts +30 -0
- package/src/browser/components/folder-picker.tsx +177 -0
- package/src/browser/components/fork-view.tsx +65 -0
- package/src/browser/components/hero-cards.tsx +189 -0
- package/src/browser/components/icon.tsx +62 -0
- package/src/browser/components/link-dialog.tsx +66 -0
- package/src/browser/components/link.tsx +77 -0
- package/src/browser/components/manage-menu.tsx +165 -0
- package/src/browser/components/markdown.spec.tsx +46 -0
- package/src/browser/components/markdown.tsx +155 -0
- package/src/browser/components/math.tsx +21 -0
- package/src/browser/components/media.tsx +91 -0
- package/src/browser/components/mermaid-view.tsx +105 -0
- package/src/browser/components/message-actions.tsx +89 -0
- package/src/browser/components/message-footer.tsx +128 -0
- package/src/browser/components/message-list.spec.tsx +321 -0
- package/src/browser/components/message-list.tsx +328 -0
- package/src/browser/components/notice-center.tsx +187 -0
- package/src/browser/components/relay-view.tsx +146 -0
- package/src/browser/components/run-status.tsx +70 -0
- package/src/browser/components/session-settings.spec.tsx +49 -0
- package/src/browser/components/session-settings.tsx +119 -0
- package/src/browser/components/session-view.tsx +153 -0
- package/src/browser/components/settings-controls.tsx +94 -0
- package/src/browser/components/settings-view.tsx +573 -0
- package/src/browser/components/split-pane.tsx +108 -0
- package/src/browser/components/ta-avatar.spec.tsx +27 -0
- package/src/browser/components/ta-avatar.tsx +251 -0
- package/src/browser/components/tool-view.tsx +186 -0
- package/src/browser/components/trusted-domains.tsx +60 -0
- package/src/browser/components/web-composer.tsx +47 -0
- package/src/browser/components/web-dialog.tsx +29 -0
- package/src/browser/components/workbench-toggle.spec.tsx +35 -0
- package/src/browser/components/workbench-toggle.tsx +24 -0
- package/src/browser/components/workbench-view.tsx +77 -0
- package/src/browser/components/working-directory.tsx +22 -0
- package/src/browser/editor/monaco-loader.spec.ts +39 -0
- package/src/browser/editor/monaco-loader.ts +139 -0
- package/src/browser/editor/monaco.ts +55 -0
- package/src/browser/editor/worker-modules.d.ts +5 -0
- package/src/browser/extension/extension-view.tsx +78 -0
- package/src/browser/extension/icons.ts +161 -0
- package/src/browser/extension/web-extension-api.ts +346 -0
- package/src/browser/extension/web-extension-protocol.ts +154 -0
- package/src/browser/extension/web-extensions.spec.ts +597 -0
- package/src/browser/extension/web-extensions.ts +717 -0
- package/src/browser/hooks.ts +102 -0
- package/src/browser/i18n/locales.ts +20 -0
- package/src/browser/i18n/messages.ts +864 -0
- package/src/browser/i18n/use-t.ts +21 -0
- package/src/browser/index.ts +52 -0
- package/src/browser/links/links-protocol.ts +41 -0
- package/src/browser/links/links.spec.ts +132 -0
- package/src/browser/links/links.ts +127 -0
- package/src/browser/markdown/hooks.ts +32 -0
- package/src/browser/markdown/lazy.spec.ts +34 -0
- package/src/browser/markdown/lazy.ts +46 -0
- package/src/browser/markdown/math.spec.ts +20 -0
- package/src/browser/markdown/math.ts +33 -0
- package/src/browser/markdown/mermaid.spec.ts +21 -0
- package/src/browser/markdown/mermaid.ts +89 -0
- package/src/browser/markdown/style-modules.d.ts +2 -0
- package/src/browser/module.ts +6 -0
- package/src/browser/notices/notices-protocol.ts +92 -0
- package/src/browser/notices/notices.spec.ts +99 -0
- package/src/browser/notices/notices.ts +173 -0
- package/src/browser/public/icons/apple-touch-icon.png +0 -0
- package/src/browser/public/icons/icon-192.png +0 -0
- package/src/browser/public/icons/icon-512.png +0 -0
- package/src/browser/public/icons/icon.svg +1 -0
- package/src/browser/public/icons/maskable-512.png +0 -0
- package/src/browser/public/manifest.webmanifest +40 -0
- package/src/browser/public/sw.js +78 -0
- package/src/browser/pwa/pwa-protocol.ts +22 -0
- package/src/browser/pwa/pwa.spec.ts +143 -0
- package/src/browser/pwa/pwa.ts +123 -0
- package/src/browser/settings/agent-settings.spec.ts +56 -0
- package/src/browser/settings/agent-settings.ts +96 -0
- package/src/browser/settings/settings-protocol.ts +75 -0
- package/src/browser/settings/settings.spec.ts +31 -0
- package/src/browser/settings/settings.ts +89 -0
- package/src/browser/state/state-protocol.ts +71 -0
- package/src/browser/state/state.spec.ts +214 -0
- package/src/browser/state/state.ts +217 -0
- package/src/browser/style/base.ts +139 -0
- package/src/browser/style/conversation.ts +200 -0
- package/src/browser/style/layout.ts +370 -0
- package/src/browser/style/pages.ts +74 -0
- package/src/browser/style/shell.ts +235 -0
- package/src/browser/style.ts +11 -0
- package/src/browser/util/composer.spec.ts +71 -0
- package/src/browser/util/composer.ts +157 -0
- package/src/browser/util/diff.spec.ts +20 -0
- package/src/browser/util/diff.ts +33 -0
- package/src/browser/util/frame.spec.ts +62 -0
- package/src/browser/util/frame.ts +54 -0
- package/src/browser/util/layout.spec.ts +37 -0
- package/src/browser/util/layout.ts +71 -0
- package/src/browser/util/link.spec.ts +104 -0
- package/src/browser/util/link.ts +237 -0
- package/src/browser/util/markdown.spec.ts +133 -0
- package/src/browser/util/markdown.ts +347 -0
- package/src/browser/util/message.spec.ts +63 -0
- package/src/browser/util/message.ts +188 -0
- package/src/browser/util/process.spec.ts +133 -0
- package/src/browser/util/process.ts +166 -0
- package/src/browser/util/progress.spec.ts +86 -0
- package/src/browser/util/progress.ts +170 -0
- package/src/browser/util/qr-code.spec.ts +49 -0
- package/src/browser/util/qr-code.ts +371 -0
- package/src/browser/util/tool.spec.ts +78 -0
- package/src/browser/util/tool.ts +190 -0
- package/src/browser/view.ts +6 -0
- package/src/browser/workbench-protocol.ts +66 -0
- package/src/browser/workbench.spec.ts +37 -0
- package/src/browser/workbench.ts +297 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Undo2 } from 'lucide-react';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { useT } from '../i18n/use-t.js';
|
|
4
|
+
import { ComposerUtil } from '../util/composer.js';
|
|
5
|
+
import { ComposerBox } from './composer-box.js';
|
|
6
|
+
import { Icon } from './icon.js';
|
|
7
|
+
const FILE_LIMIT = 20;
|
|
8
|
+
const FILE_DELAY_MS = 120;
|
|
9
|
+
const EMPTY_QUEUE = { steering: [], followUp: [] };
|
|
10
|
+
/** The files for an `@` being typed; a server without file search answers with an error, and the menu says so. */
|
|
11
|
+
function useFiles(workspace, cwd, query) {
|
|
12
|
+
const t = useT();
|
|
13
|
+
const [matches, setMatches] = React.useState();
|
|
14
|
+
React.useEffect(() => {
|
|
15
|
+
if (query === undefined) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
let current = true;
|
|
19
|
+
const timer = setTimeout(() => {
|
|
20
|
+
workspace.findFiles(query, cwd, FILE_LIMIT).then(paths => current && setMatches({ query, paths }), () => current && setMatches({ query, paths: [], failed: true }));
|
|
21
|
+
}, FILE_DELAY_MS);
|
|
22
|
+
return () => {
|
|
23
|
+
current = false;
|
|
24
|
+
clearTimeout(timer);
|
|
25
|
+
};
|
|
26
|
+
}, [workspace, cwd, query]);
|
|
27
|
+
if (query === undefined || !matches) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
const note = ComposerUtil.fileNote(matches);
|
|
31
|
+
return {
|
|
32
|
+
items: matches.paths.map(path => ({ key: path, label: path })),
|
|
33
|
+
note: note === 'unavailable' ? t('ta.composer.filesUnavailable') : note === 'none' ? t('ta.composer.noFiles') : undefined,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/** The messages waiting for the agent, from pi's `queue_update`. */
|
|
37
|
+
function useQueue(store, working) {
|
|
38
|
+
const [queue, setQueue] = React.useState(EMPTY_QUEUE);
|
|
39
|
+
React.useEffect(() => store === null || store === void 0 ? void 0 : store.onEvent(event => {
|
|
40
|
+
if (event.type === 'queue_update') {
|
|
41
|
+
setQueue({ steering: [...event.steering], followUp: [...event.followUp] });
|
|
42
|
+
}
|
|
43
|
+
}), [store]);
|
|
44
|
+
React.useEffect(() => {
|
|
45
|
+
if (!working) {
|
|
46
|
+
setQueue(EMPTY_QUEUE);
|
|
47
|
+
}
|
|
48
|
+
}, [working]);
|
|
49
|
+
return [queue, setQueue];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The message box of a session, with the keys of pi's terminal: while the agent works, Enter steers it
|
|
53
|
+
* and Alt+Enter queues a follow-up; Escape stops it.
|
|
54
|
+
*/
|
|
55
|
+
export const Composer = React.forwardRef(function Composer(props, ref) {
|
|
56
|
+
const { store, onSubmit, beside, after, server, workspace, working, commands, cwd, actions, placeholder, above, onSending, onError } = props;
|
|
57
|
+
const t = useT();
|
|
58
|
+
const [queue, setQueue] = useQueue(store, working);
|
|
59
|
+
const [query, setQuery] = React.useState();
|
|
60
|
+
const files = useFiles(workspace, cwd, query);
|
|
61
|
+
const box = React.useRef(null);
|
|
62
|
+
React.useImperativeHandle(ref, () => ({ text: () => { var _a; var _b; return (_b = (_a = box.current) === null || _a === void 0 ? void 0 : _a.text()) !== null && _b !== void 0 ? _b : ''; }, setText: text => { var _a; return (_a = box.current) === null || _a === void 0 ? void 0 : _a.setText(text); } }));
|
|
63
|
+
const stop = () => store && server.abort(store.sessionId).catch(onError);
|
|
64
|
+
const send = (message, images, followUp) => {
|
|
65
|
+
var _a;
|
|
66
|
+
onSending === null || onSending === void 0 ? void 0 : onSending();
|
|
67
|
+
const prompt = { clientMessageId: crypto.randomUUID(), message, images: images.length ? images : undefined };
|
|
68
|
+
if (!store) {
|
|
69
|
+
return (_a = onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(message, prompt.images)) !== null && _a !== void 0 ? _a : Promise.resolve();
|
|
70
|
+
}
|
|
71
|
+
return !working
|
|
72
|
+
? store.prompt(message, { images: prompt.images })
|
|
73
|
+
: followUp
|
|
74
|
+
? server.followUp(store.sessionId, prompt)
|
|
75
|
+
: server.steer(store.sessionId, prompt);
|
|
76
|
+
};
|
|
77
|
+
const takeBack = () => {
|
|
78
|
+
if (!store) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
server.clearQueue(store.sessionId).then(taken => {
|
|
82
|
+
var _a;
|
|
83
|
+
setQueue(EMPTY_QUEUE);
|
|
84
|
+
(_a = box.current) === null || _a === void 0 ? void 0 : _a.setText(ComposerUtil.restore(taken, box.current.text()));
|
|
85
|
+
}, onError);
|
|
86
|
+
};
|
|
87
|
+
const waiting = ComposerUtil.queued(queue);
|
|
88
|
+
return (React.createElement(ComposerBox, { ref: box, placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : t(working ? 'ta.composer.steerPlaceholder' : 'ta.composer.placeholder'), working: working, onStop: stop, onSend: send, commands: commands, onMentionQuery: setQuery, mentions: files, mentionLabel: t('ta.composer.mentionFile'), images: true, actions: actions, beside: beside, after: after, autoFocus: true, onError: onError, above: React.createElement(React.Fragment, null,
|
|
89
|
+
above,
|
|
90
|
+
waiting.length > 0 && (React.createElement("div", { className: "ta-queue", "aria-live": "polite" },
|
|
91
|
+
waiting.map((entry, index) => (React.createElement("div", { key: index, className: "ta-queue-row" },
|
|
92
|
+
React.createElement("span", { className: "ta-queue-kind" }, t(entry.kind === 'steering' ? 'ta.composer.queue.steering' : 'ta.composer.queue.followUp')),
|
|
93
|
+
React.createElement("span", { className: "ta-ellipsis" }, entry.text)))),
|
|
94
|
+
React.createElement("button", { type: "button", className: "ta-link ta-queue-back", onClick: takeBack, title: t('ta.composer.queue.takeBackTitle') },
|
|
95
|
+
React.createElement(Icon, { icon: Undo2, size: 13 }),
|
|
96
|
+
" ",
|
|
97
|
+
t('ta.composer.queue.takeBack'))))) }));
|
|
98
|
+
});
|
|
99
|
+
//# sourceMappingURL=composer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composer.js","sourceRoot":"","sources":["../../../src/browser/components/composer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* The state of the connection to ta serve, over the top of the main area while it is not online: why,
|
|
4
|
+
* when the next try is, and a button to try now. Nothing while all is well.
|
|
5
|
+
*/
|
|
6
|
+
export declare function ConnectionBar(): React.JSX.Element | null;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { CircleCheck, RotateCw, WifiOff } from 'lucide-react';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { useWorkbench } from '../hooks.js';
|
|
4
|
+
import { useT } from '../i18n/use-t.js';
|
|
5
|
+
import { Icon } from './icon.js';
|
|
6
|
+
/** A drop shorter than this, which the connection mends by itself, shows nothing. */
|
|
7
|
+
const GRACE_MS = 1000;
|
|
8
|
+
/** How long "connected again" stays. */
|
|
9
|
+
const BACK_MS = 2000;
|
|
10
|
+
/** The seconds until `at`, counted down once a second; `undefined` without `at`. */
|
|
11
|
+
function useSecondsUntil(at) {
|
|
12
|
+
const [now, setNow] = React.useState(Date.now);
|
|
13
|
+
React.useEffect(() => {
|
|
14
|
+
if (at === undefined) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
setNow(Date.now());
|
|
18
|
+
const timer = setInterval(() => setNow(Date.now()), 1000);
|
|
19
|
+
return () => clearInterval(timer);
|
|
20
|
+
}, [at]);
|
|
21
|
+
return at === undefined ? undefined : Math.max(0, Math.ceil((at - now) / 1000));
|
|
22
|
+
}
|
|
23
|
+
/** Offline after the grace, and "back" for a moment after it was shown offline. */
|
|
24
|
+
function useShown(offline) {
|
|
25
|
+
const [shown, setShown] = React.useState('none');
|
|
26
|
+
const was = React.useRef(false);
|
|
27
|
+
React.useEffect(() => {
|
|
28
|
+
if (offline) {
|
|
29
|
+
const timer = setTimeout(() => {
|
|
30
|
+
was.current = true;
|
|
31
|
+
setShown('offline');
|
|
32
|
+
}, GRACE_MS);
|
|
33
|
+
return () => clearTimeout(timer);
|
|
34
|
+
}
|
|
35
|
+
if (!was.current) {
|
|
36
|
+
setShown('none');
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
was.current = false;
|
|
40
|
+
setShown('back');
|
|
41
|
+
const timer = setTimeout(() => setShown('none'), BACK_MS);
|
|
42
|
+
return () => clearTimeout(timer);
|
|
43
|
+
}, [offline]);
|
|
44
|
+
return shown;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The state of the connection to ta serve, over the top of the main area while it is not online: why,
|
|
48
|
+
* when the next try is, and a button to try now. Nothing while all is well.
|
|
49
|
+
*/
|
|
50
|
+
export function ConnectionBar() {
|
|
51
|
+
const t = useT();
|
|
52
|
+
const [{ status, error, retryAt }, workbench] = useWorkbench();
|
|
53
|
+
const shown = useShown(status === 'offline');
|
|
54
|
+
const seconds = useSecondsUntil(shown === 'offline' ? retryAt : undefined);
|
|
55
|
+
if (shown === 'none') {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
if (shown === 'back') {
|
|
59
|
+
return (React.createElement("div", { className: "ta-connection ta-connection-back", role: "status" },
|
|
60
|
+
React.createElement(Icon, { icon: CircleCheck, size: 15, className: "ta-level-icon" }),
|
|
61
|
+
React.createElement("span", null, t('ta.connection.back'))));
|
|
62
|
+
}
|
|
63
|
+
const waiting = seconds !== undefined && seconds > 0;
|
|
64
|
+
return (React.createElement("div", { className: "ta-connection", role: "status" },
|
|
65
|
+
React.createElement(Icon, { icon: WifiOff, size: 15, className: "ta-level-icon" }),
|
|
66
|
+
React.createElement("span", { className: "ta-connection-text" }, error === 'unreachable' ? t('ta.unreachable') : t('ta.connection.lost')),
|
|
67
|
+
React.createElement("span", { className: "ta-connection-when" }, waiting ? t('ta.connection.retryIn', { seconds }) : t('ta.connection.retrying')),
|
|
68
|
+
waiting && (React.createElement("button", { type: "button", className: "ta-connection-retry", onClick: () => workbench.reconnect() },
|
|
69
|
+
React.createElement(Icon, { icon: RotateCw, size: 13 }),
|
|
70
|
+
" ",
|
|
71
|
+
t('ta.connection.retryNow')))));
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=connection-bar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-bar.js","sourceRoot":"","sources":["../../../src/browser/components/connection-bar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/** An entry of a context menu; `'-'` is a line between groups. */
|
|
3
|
+
export type ContextMenuItem = '-' | {
|
|
4
|
+
label: string;
|
|
5
|
+
run(): void;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* A context menu at the pointer, as a browser's tabs have: arrows move, Enter runs, Escape or a click
|
|
10
|
+
* elsewhere closes. `open` takes the event of a right click (or of the menu key) and the entries.
|
|
11
|
+
*/
|
|
12
|
+
export declare function useContextMenu(): [React.ReactNode, (event: React.MouseEvent, items: ContextMenuItem[]) => void];
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* A context menu at the pointer, as a browser's tabs have: arrows move, Enter runs, Escape or a click
|
|
4
|
+
* elsewhere closes. `open` takes the event of a right click (or of the menu key) and the entries.
|
|
5
|
+
*/
|
|
6
|
+
export function useContextMenu() {
|
|
7
|
+
const [menu, setMenu] = React.useState();
|
|
8
|
+
const open = React.useCallback((event, items) => {
|
|
9
|
+
event.preventDefault();
|
|
10
|
+
event.stopPropagation();
|
|
11
|
+
const box = event.currentTarget.getBoundingClientRect();
|
|
12
|
+
// The menu key gives no pointer: under the element.
|
|
13
|
+
const pointer = event.clientX || event.clientY;
|
|
14
|
+
setMenu({ x: pointer ? event.clientX : box.left + 8, y: pointer ? event.clientY : box.bottom, items });
|
|
15
|
+
}, []);
|
|
16
|
+
const close = React.useCallback(() => setMenu(undefined), []);
|
|
17
|
+
const element = menu ? React.createElement(ContextMenu, { ...menu, onClose: close }) : null;
|
|
18
|
+
return [element, open];
|
|
19
|
+
}
|
|
20
|
+
function ContextMenu({ x, y, items, onClose }) {
|
|
21
|
+
const root = React.useRef(null);
|
|
22
|
+
const [place, setPlace] = React.useState({ left: x, top: y, ready: false });
|
|
23
|
+
React.useLayoutEffect(() => {
|
|
24
|
+
var _a, _b, _c;
|
|
25
|
+
const box = (_a = root.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
|
|
26
|
+
if (box) {
|
|
27
|
+
const left = Math.max(4, Math.min(x, window.innerWidth - box.width - 4));
|
|
28
|
+
const top = y + box.height > window.innerHeight - 4 ? Math.max(4, y - box.height) : y;
|
|
29
|
+
setPlace({ left, top, ready: true });
|
|
30
|
+
}
|
|
31
|
+
(_c = (_b = root.current) === null || _b === void 0 ? void 0 : _b.querySelector('button:not(:disabled)')) === null || _c === void 0 ? void 0 : _c.focus();
|
|
32
|
+
}, [x, y]);
|
|
33
|
+
React.useEffect(() => {
|
|
34
|
+
const onPointer = (event) => {
|
|
35
|
+
var _a;
|
|
36
|
+
if (!((_a = root.current) === null || _a === void 0 ? void 0 : _a.contains(event.target))) {
|
|
37
|
+
onClose();
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
const onKey = (event) => event.key === 'Escape' && onClose();
|
|
41
|
+
document.addEventListener('pointerdown', onPointer, true);
|
|
42
|
+
document.addEventListener('keydown', onKey);
|
|
43
|
+
window.addEventListener('blur', onClose);
|
|
44
|
+
window.addEventListener('resize', onClose);
|
|
45
|
+
return () => {
|
|
46
|
+
document.removeEventListener('pointerdown', onPointer, true);
|
|
47
|
+
document.removeEventListener('keydown', onKey);
|
|
48
|
+
window.removeEventListener('blur', onClose);
|
|
49
|
+
window.removeEventListener('resize', onClose);
|
|
50
|
+
};
|
|
51
|
+
}, [onClose]);
|
|
52
|
+
const onKeyDown = (event) => {
|
|
53
|
+
var _a, _b;
|
|
54
|
+
var _c;
|
|
55
|
+
if (event.key !== 'ArrowDown' && event.key !== 'ArrowUp') {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
event.preventDefault();
|
|
59
|
+
const buttons = [...((_c = (_a = root.current) === null || _a === void 0 ? void 0 : _a.querySelectorAll('button:not(:disabled)')) !== null && _c !== void 0 ? _c : [])];
|
|
60
|
+
const at = buttons.indexOf(document.activeElement);
|
|
61
|
+
(_b = buttons[(at + (event.key === 'ArrowDown' ? 1 : buttons.length - 1)) % buttons.length]) === null || _b === void 0 ? void 0 : _b.focus();
|
|
62
|
+
};
|
|
63
|
+
return (React.createElement("div", { ref: root, className: "ta-context-menu", role: "menu", style: { left: place.left, top: place.top, visibility: place.ready ? 'visible' : 'hidden' }, onKeyDown: onKeyDown, onContextMenu: event => event.preventDefault() }, items.map((item, index) => item === '-' ? (React.createElement("hr", { key: `-${index}`, className: "ta-context-menu-line" })) : (React.createElement("button", { key: item.label, type: "button", role: "menuitem", className: "ta-context-menu-item", disabled: item.disabled, onClick: () => {
|
|
64
|
+
onClose();
|
|
65
|
+
item.run();
|
|
66
|
+
} }, item.label)))));
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=context-menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-menu.js","sourceRoot":"","sources":["../../../src/browser/components/context-menu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/** A message of the user in the thread: where the view goes when one is sent. */
|
|
3
|
+
export declare const ASK_CLASS = "ta-thread-ask";
|
|
4
|
+
/**
|
|
5
|
+
* The scrolling of a conversation, whose thread is the first child of the element of the returned ref.
|
|
6
|
+
* A message the user sends goes to the top of the view, and the answer comes in under it: the thread
|
|
7
|
+
* keeps the room for that until the answer fills it. Past that, the view follows what comes in while it
|
|
8
|
+
* is at the bottom, after layout, on a change of the size of the thread rather than of the state.
|
|
9
|
+
* Opened, and when messages of the user go (a rewind), the view goes to the bottom.
|
|
10
|
+
*
|
|
11
|
+
* `asked`: how many messages of the user there are; the thread marks them with ASK_CLASS.
|
|
12
|
+
*/
|
|
13
|
+
export declare function useConversationScroll(asked: number): React.RefObject<HTMLDivElement | null>;
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { FrameUtil } from '../util/frame.js';
|
|
3
|
+
/** A message of the user in the thread: where the view goes when one is sent. */
|
|
4
|
+
export const ASK_CLASS = 'ta-thread-ask';
|
|
5
|
+
function calm() {
|
|
6
|
+
return typeof document !== 'undefined' && document.documentElement.hasAttribute('data-reduce-motion');
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The scrolling of a conversation, whose thread is the first child of the element of the returned ref.
|
|
10
|
+
* A message the user sends goes to the top of the view, and the answer comes in under it: the thread
|
|
11
|
+
* keeps the room for that until the answer fills it. Past that, the view follows what comes in while it
|
|
12
|
+
* is at the bottom, after layout, on a change of the size of the thread rather than of the state.
|
|
13
|
+
* Opened, and when messages of the user go (a rewind), the view goes to the bottom.
|
|
14
|
+
*
|
|
15
|
+
* `asked`: how many messages of the user there are; the thread marks them with ASK_CLASS.
|
|
16
|
+
*/
|
|
17
|
+
export function useConversationScroll(asked) {
|
|
18
|
+
const ref = React.useRef(null);
|
|
19
|
+
const stuck = React.useRef(true);
|
|
20
|
+
// Where a smooth scroll to a message goes: the view need not follow a bottom it is on its way to.
|
|
21
|
+
const heading = React.useRef(undefined);
|
|
22
|
+
// The message sent last, kept at the top until the user scrolls: rows above it may still change their height.
|
|
23
|
+
const anchored = React.useRef(undefined);
|
|
24
|
+
const before = React.useRef(undefined);
|
|
25
|
+
React.useEffect(() => {
|
|
26
|
+
const element = ref.current;
|
|
27
|
+
if (!element) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const onScroll = () => {
|
|
31
|
+
if (heading.current === undefined) {
|
|
32
|
+
stuck.current = FrameUtil.atBottom(element);
|
|
33
|
+
}
|
|
34
|
+
else if (Math.abs(element.scrollTop - heading.current) < 1) {
|
|
35
|
+
// There: from now on the view follows the answer as it grows past the bottom.
|
|
36
|
+
heading.current = undefined;
|
|
37
|
+
stuck.current = true;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
// The user scrolls: a smooth scroll on its way stops, and where the view is says whether it follows.
|
|
41
|
+
const onInput = () => {
|
|
42
|
+
heading.current = undefined;
|
|
43
|
+
anchored.current = undefined;
|
|
44
|
+
};
|
|
45
|
+
// A smooth scroll that ended short of where it went (the page moved under it) counts as there.
|
|
46
|
+
const onScrollEnd = () => {
|
|
47
|
+
if (heading.current !== undefined) {
|
|
48
|
+
heading.current = undefined;
|
|
49
|
+
stuck.current = true;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
const inputs = ['wheel', 'touchstart', 'pointerdown', 'keydown'];
|
|
53
|
+
element.addEventListener('scroll', onScroll, { passive: true });
|
|
54
|
+
element.addEventListener('scrollend', onScrollEnd);
|
|
55
|
+
for (const input of inputs) {
|
|
56
|
+
element.addEventListener(input, onInput, { passive: true });
|
|
57
|
+
}
|
|
58
|
+
const content = element.firstElementChild;
|
|
59
|
+
const observer = content && typeof ResizeObserver !== 'undefined'
|
|
60
|
+
? new ResizeObserver(() => {
|
|
61
|
+
const message = anchored.current;
|
|
62
|
+
if (message && content instanceof HTMLElement) {
|
|
63
|
+
const { top, minHeight } = FrameUtil.anchor(message.offsetTop, element.clientHeight);
|
|
64
|
+
content.style.minHeight = `${minHeight}px`;
|
|
65
|
+
if (heading.current !== undefined && Math.abs(top - heading.current) >= 1) {
|
|
66
|
+
heading.current = top;
|
|
67
|
+
element.scrollTo({ top, behavior: calm() ? 'auto' : 'smooth' });
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
const bottom = element.scrollHeight - element.clientHeight;
|
|
72
|
+
if (stuck.current && heading.current === undefined && bottom - element.scrollTop >= 1) {
|
|
73
|
+
element.scrollTo({ top: bottom });
|
|
74
|
+
}
|
|
75
|
+
})
|
|
76
|
+
: undefined;
|
|
77
|
+
if (content) {
|
|
78
|
+
observer === null || observer === void 0 ? void 0 : observer.observe(content);
|
|
79
|
+
}
|
|
80
|
+
return () => {
|
|
81
|
+
element.removeEventListener('scroll', onScroll);
|
|
82
|
+
element.removeEventListener('scrollend', onScrollEnd);
|
|
83
|
+
for (const input of inputs) {
|
|
84
|
+
element.removeEventListener(input, onInput);
|
|
85
|
+
}
|
|
86
|
+
observer === null || observer === void 0 ? void 0 : observer.disconnect();
|
|
87
|
+
};
|
|
88
|
+
}, []);
|
|
89
|
+
React.useLayoutEffect(() => {
|
|
90
|
+
const element = ref.current;
|
|
91
|
+
const content = element === null || element === void 0 ? void 0 : element.firstElementChild;
|
|
92
|
+
// One more: sent now. More at once is the conversation loaded again, which opens at its bottom.
|
|
93
|
+
const sent = before.current !== undefined && asked === before.current + 1;
|
|
94
|
+
before.current = asked;
|
|
95
|
+
if (!element || !content) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const asks = sent ? content.getElementsByClassName(ASK_CLASS) : undefined;
|
|
99
|
+
const message = asks === null || asks === void 0 ? void 0 : asks[asks.length - 1];
|
|
100
|
+
anchored.current = message;
|
|
101
|
+
if (!message) {
|
|
102
|
+
content.style.minHeight = '';
|
|
103
|
+
heading.current = undefined;
|
|
104
|
+
stuck.current = true;
|
|
105
|
+
element.scrollTo({ top: element.scrollHeight });
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
// offsetTop: from the thread, which is positioned; the transform of the message coming in does not count.
|
|
109
|
+
const { top, minHeight } = FrameUtil.anchor(message.offsetTop, element.clientHeight);
|
|
110
|
+
content.style.minHeight = `${minHeight}px`;
|
|
111
|
+
stuck.current = false;
|
|
112
|
+
if (Math.abs(element.scrollTop - top) < 1) {
|
|
113
|
+
stuck.current = true;
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
heading.current = top;
|
|
117
|
+
element.scrollTo({ top, behavior: calm() ? 'auto' : 'smooth' });
|
|
118
|
+
}, [asked]);
|
|
119
|
+
return ref;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=conversation-scroll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-scroll.js","sourceRoot":"","sources":["../../../src/browser/components/conversation-scroll.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RpcExtensionUIRequest, RpcExtensionUIResponse } from '@celljs/ta-protocol';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
type Respond = (response: RpcExtensionUIResponse) => void;
|
|
4
|
+
/** The dialog an extension opened, such as the permission gate's question; one at a time, oldest first. */
|
|
5
|
+
export declare function DialogView({ request, respond }: {
|
|
6
|
+
request: RpcExtensionUIRequest;
|
|
7
|
+
respond: Respond;
|
|
8
|
+
}): React.JSX.Element | null;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useT } from '../i18n/use-t.js';
|
|
3
|
+
/** The dialog an extension opened, such as the permission gate's question; one at a time, oldest first. */
|
|
4
|
+
export function DialogView({ request, respond }) {
|
|
5
|
+
const t = useT();
|
|
6
|
+
const [value, setValue] = React.useState(() => { var _a; return ('prefill' in request ? ((_a = request.prefill) !== null && _a !== void 0 ? _a : '') : ''); });
|
|
7
|
+
const cancel = () => respond({ type: 'extension_ui_response', id: request.id, cancelled: true });
|
|
8
|
+
const answer = (response) => respond({ type: 'extension_ui_response', id: request.id, ...response });
|
|
9
|
+
let body = null;
|
|
10
|
+
switch (request.method) {
|
|
11
|
+
case 'confirm':
|
|
12
|
+
body = (React.createElement(React.Fragment, null,
|
|
13
|
+
React.createElement("p", { className: "ta-dialog-message" }, request.message),
|
|
14
|
+
React.createElement("div", { className: "ta-dialog-actions" },
|
|
15
|
+
React.createElement("button", { type: "button", className: "ta-button", onClick: () => answer({ confirmed: false }) }, t('ta.no')),
|
|
16
|
+
React.createElement("button", { type: "button", className: "ta-button ta-primary", autoFocus: true, onClick: () => answer({ confirmed: true }) }, t('ta.yes')))));
|
|
17
|
+
break;
|
|
18
|
+
case 'select':
|
|
19
|
+
body = (React.createElement("div", { className: "ta-dialog-options" }, request.options.map((option, index) => (React.createElement("button", { key: option, type: "button", className: "ta-option", autoFocus: index === 0, onClick: () => answer({ value: option }) }, option)))));
|
|
20
|
+
break;
|
|
21
|
+
case 'input':
|
|
22
|
+
case 'editor': {
|
|
23
|
+
const submit = (event) => {
|
|
24
|
+
event.preventDefault();
|
|
25
|
+
answer({ value });
|
|
26
|
+
};
|
|
27
|
+
body = (React.createElement("form", { onSubmit: submit },
|
|
28
|
+
request.method === 'input' ? (React.createElement("input", { className: "ta-input", autoFocus: true, value: value, placeholder: request.placeholder, onChange: event => setValue(event.target.value) })) : (React.createElement("textarea", { className: "ta-input ta-editor", autoFocus: true, value: value, onChange: event => setValue(event.target.value) })),
|
|
29
|
+
React.createElement("div", { className: "ta-dialog-actions" },
|
|
30
|
+
React.createElement("button", { type: "button", className: "ta-button", onClick: cancel }, t('ta.cancel')),
|
|
31
|
+
React.createElement("button", { type: "submit", className: "ta-button ta-primary" }, t('ta.ok')))));
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
34
|
+
default:
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
return (React.createElement("div", { className: "ta-dialog ta-glass", role: "dialog", "aria-label": request.title, onKeyDown: event => event.key === 'Escape' && cancel() },
|
|
38
|
+
React.createElement("div", { className: "ta-dialog-title" }, request.title),
|
|
39
|
+
body));
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=dialog-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog-view.js","sourceRoot":"","sources":["../../../src/browser/components/dialog-view.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAIrC,2GAA2G;AAC3G,MAAM,UAAU,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,EAAwD;IACjG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IACjB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,kBAAC,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,OAAC,OAAO,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAA,CAAC,CAAC;IACtG,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjG,MAAM,MAAM,GAAG,CAAC,QAAqD,EAAE,EAAE,CACrE,OAAO,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,QAAQ,EAA4B,CAAC,CAAC;IACtG,IAAI,IAAI,GAAoB,IAAI,CAAC;IACjC,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,SAAS;YACV,IAAI,GAAG,CACH;gBACI,2BAAG,SAAS,EAAC,mBAAmB,IAAE,OAAO,CAAC,OAAO,CAAK;gBACtD,6BAAK,SAAS,EAAC,mBAAmB;oBAC9B,gCAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,WAAW,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,IAClF,CAAC,CAAC,OAAO,CAAC,CACN;oBACT,gCAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,sBAAsB,EAAC,SAAS,QAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,IACtG,CAAC,CAAC,QAAQ,CAAC,CACP,CACP,CACP,CACN,CAAC;YACF,MAAM;QACV,KAAK,QAAQ;YACT,IAAI,GAAG,CACH,6BAAK,SAAS,EAAC,mBAAmB,IAC7B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CACpC,gCAAQ,GAAG,EAAE,MAAM,EAAE,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,WAAW,EAAC,SAAS,EAAE,KAAK,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,IACpH,MAAM,CACF,CACZ,CAAC,CACA,CACT,CAAC;YACF,MAAM;QACV,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,CAAC,KAAsB,EAAE,EAAE;gBACtC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACtB,CAAC,CAAC;YACF,IAAI,GAAG,CACH,8BAAM,QAAQ,EAAE,MAAM;gBACjB,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAC1B,+BACI,SAAS,EAAC,UAAU,EACpB,SAAS,QACT,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,OAAO,CAAC,WAAW,EAChC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GACjD,CACL,CAAC,CAAC,CAAC,CACA,kCAAU,SAAS,EAAC,oBAAoB,EAAC,SAAS,QAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAI,CACvH;gBACD,6BAAK,SAAS,EAAC,mBAAmB;oBAC9B,gCAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,WAAW,EAAC,OAAO,EAAE,MAAM,IACtD,CAAC,CAAC,WAAW,CAAC,CACV;oBACT,gCAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,sBAAsB,IACjD,CAAC,CAAC,OAAO,CAAC,CACN,CACP,CACH,CACV,CAAC;YACF,MAAM;QACV,CAAC;QACD;YACI,OAAO,IAAI,CAAC;IACpB,CAAC;IACD,OAAO,CACH,6BAAK,SAAS,EAAC,oBAAoB,EAAC,IAAI,EAAC,QAAQ,gBAAa,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,EAAE;QAC/H,6BAAK,SAAS,EAAC,iBAAiB,IAAE,OAAO,CAAC,KAAK,CAAO;QACrD,IAAI,CACH,CACT,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { DiffEditorProps } from '../extension/web-extension-api.js';
|
|
3
|
+
import type { TaSettings } from '../settings/settings-protocol.js';
|
|
4
|
+
/**
|
|
5
|
+
* Monaco's diff editor on two texts of a file, in the theme of `settings`: side by side (inline when
|
|
6
|
+
* narrow, or with `inline`), the unchanged regions folded, as the diffs of an IDE.
|
|
7
|
+
*/
|
|
8
|
+
export declare function DiffEditor({ settings: store, path, original, modified, inline, readOnly, onChange, onSave, onDiff, }: DiffEditorProps & {
|
|
9
|
+
settings: TaSettings;
|
|
10
|
+
}): React.JSX.Element;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { MonacoLoader, MonacoUtil } from '../editor/monaco-loader.js';
|
|
3
|
+
import { useT } from '../i18n/use-t.js';
|
|
4
|
+
let models = 0;
|
|
5
|
+
/**
|
|
6
|
+
* Monaco's diff editor on two texts of a file, in the theme of `settings`: side by side (inline when
|
|
7
|
+
* narrow, or with `inline`), the unchanged regions folded, as the diffs of an IDE.
|
|
8
|
+
*/
|
|
9
|
+
export function DiffEditor({ settings: store, path, original, modified, inline = false, readOnly = true, onChange, onSave, onDiff, }) {
|
|
10
|
+
const t = useT();
|
|
11
|
+
const settings = React.useSyncExternalStore(listener => store.subscribe(listener), () => store.state);
|
|
12
|
+
const host = React.useRef(null);
|
|
13
|
+
const [monaco, setMonaco] = React.useState();
|
|
14
|
+
const [error, setError] = React.useState();
|
|
15
|
+
const [editor, setEditor] = React.useState();
|
|
16
|
+
const callbacks = React.useRef({ onChange, onSave, onDiff });
|
|
17
|
+
callbacks.current = { onChange, onSave, onDiff };
|
|
18
|
+
const applying = React.useRef(false);
|
|
19
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: Monaco loads once, in the language of that time
|
|
20
|
+
React.useEffect(() => {
|
|
21
|
+
let live = true;
|
|
22
|
+
MonacoLoader.load(settings.language).then(loaded => live && setMonaco(() => loaded), failure => live && setError(failure instanceof Error ? failure.message : String(failure)));
|
|
23
|
+
return () => {
|
|
24
|
+
live = false;
|
|
25
|
+
};
|
|
26
|
+
}, []);
|
|
27
|
+
React.useEffect(() => {
|
|
28
|
+
if (monaco) {
|
|
29
|
+
MonacoUtil.applyTheme(monaco, settings.theme);
|
|
30
|
+
}
|
|
31
|
+
}, [monaco, settings.theme]);
|
|
32
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: later texts and options are applied by the effects below, without a new editor
|
|
33
|
+
React.useEffect(() => {
|
|
34
|
+
if (!monaco || !host.current) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const id = ++models;
|
|
38
|
+
const name = path.replace(/^\/+/, '');
|
|
39
|
+
const left = monaco.editor.createModel(original, undefined, monaco.Uri.from({ scheme: 'ta-diff', path: `/${id}/original/${name}` }));
|
|
40
|
+
const right = monaco.editor.createModel(modified, undefined, monaco.Uri.from({ scheme: 'ta-diff', path: `/${id}/modified/${name}` }));
|
|
41
|
+
const created = monaco.editor.createDiffEditor(host.current, {
|
|
42
|
+
...MonacoUtil.editorOptions(),
|
|
43
|
+
readOnly,
|
|
44
|
+
originalEditable: false,
|
|
45
|
+
renderSideBySide: !inline,
|
|
46
|
+
useInlineViewWhenSpaceIsLimited: true,
|
|
47
|
+
renderSideBySideInlineBreakpoint: 560,
|
|
48
|
+
renderOverviewRuler: false,
|
|
49
|
+
enableSplitViewResizing: true,
|
|
50
|
+
ignoreTrimWhitespace: false,
|
|
51
|
+
hideUnchangedRegions: { enabled: true, contextLineCount: 3, minimumLineCount: 3, revealLineCount: 20 },
|
|
52
|
+
renderIndicators: true,
|
|
53
|
+
diffWordWrap: 'off',
|
|
54
|
+
});
|
|
55
|
+
created.setModel({ original: left, modified: right });
|
|
56
|
+
const changes = right.onDidChangeContent(() => {
|
|
57
|
+
var _a, _b;
|
|
58
|
+
if (!applying.current) {
|
|
59
|
+
(_b = (_a = callbacks.current).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, right.getValue());
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
const updated = created.onDidUpdateDiff(() => { var _a, _b, _c; var _d; return (_b = (_a = callbacks.current).onDiff) === null || _b === void 0 ? void 0 : _b.call(_a, {
|
|
63
|
+
changes: (_d = (_c = created.getLineChanges()) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0,
|
|
64
|
+
next: () => created.goToDiff('next'),
|
|
65
|
+
previous: () => created.goToDiff('previous'),
|
|
66
|
+
}); });
|
|
67
|
+
created.getModifiedEditor().addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyS, () => { var _a, _b; return (_b = (_a = callbacks.current).onSave) === null || _b === void 0 ? void 0 : _b.call(_a, right.getValue()); });
|
|
68
|
+
setEditor(created);
|
|
69
|
+
return () => {
|
|
70
|
+
changes.dispose();
|
|
71
|
+
updated.dispose();
|
|
72
|
+
created.dispose();
|
|
73
|
+
left.dispose();
|
|
74
|
+
right.dispose();
|
|
75
|
+
setEditor(undefined);
|
|
76
|
+
};
|
|
77
|
+
}, [monaco, path]);
|
|
78
|
+
React.useEffect(() => {
|
|
79
|
+
const model = editor === null || editor === void 0 ? void 0 : editor.getModel();
|
|
80
|
+
if (!model) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
if (model.original.getValue() !== original) {
|
|
84
|
+
model.original.setValue(original);
|
|
85
|
+
}
|
|
86
|
+
if (model.modified.getValue() !== modified) {
|
|
87
|
+
applying.current = true;
|
|
88
|
+
try {
|
|
89
|
+
model.modified.pushEditOperations([], [{ range: model.modified.getFullModelRange(), text: modified }], () => null);
|
|
90
|
+
}
|
|
91
|
+
finally {
|
|
92
|
+
applying.current = false;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}, [editor, original, modified]);
|
|
96
|
+
React.useEffect(() => editor === null || editor === void 0 ? void 0 : editor.updateOptions({ readOnly, renderSideBySide: !inline }), [editor, readOnly, inline]);
|
|
97
|
+
return (React.createElement("div", { className: "ta-code-editor" },
|
|
98
|
+
React.createElement("div", { ref: host, className: "ta-code-editor-host" }),
|
|
99
|
+
!editor && React.createElement("div", { className: "ta-code-editor-state" }, error ? t('ta.editor.failed', { message: error }) : t('ta.editor.loading'))));
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=diff-editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff-editor.js","sourceRoot":"","sources":["../../../src/browser/components/diff-editor.tsx"],"names":[],"mappings":"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"}
|