@adhdev/daemon-core 0.6.52 → 0.6.55
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/dist/index.d.ts +77 -35
- package/dist/index.js +717 -275
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/providers/_builtin/_helpers/index.js +26 -26
- package/providers/_builtin/cli/aider-cli/provider.json +37 -0
- package/providers/_builtin/cli/aider-cli/scripts/1.0/detect_status.js +20 -0
- package/providers/_builtin/cli/aider-cli/scripts/1.0/parse_approval.js +10 -0
- package/providers/_builtin/cli/aider-cli/scripts/1.0/parse_output.js +49 -0
- package/providers/_builtin/cli/aider-cli/scripts/1.0/scripts.js +7 -0
- package/providers/_builtin/cli/claude-cli/provider.json +9 -2
- package/providers/_builtin/cli/claude-cli/scripts/1.0/detect_status.js +31 -0
- package/providers/_builtin/cli/claude-cli/scripts/1.0/parse_approval.js +38 -0
- package/providers/_builtin/cli/claude-cli/scripts/1.0/parse_output.js +164 -0
- package/providers/_builtin/cli/claude-cli/scripts/1.0/scripts.js +42 -0
- package/providers/_builtin/cli/codex-cli/provider.json +9 -2
- package/providers/_builtin/cli/codex-cli/scripts/1.0/detect_status.js +20 -0
- package/providers/_builtin/cli/codex-cli/scripts/1.0/parse_approval.js +15 -0
- package/providers/_builtin/cli/codex-cli/scripts/1.0/parse_output.js +68 -0
- package/providers/_builtin/cli/codex-cli/scripts/1.0/scripts.js +11 -0
- package/providers/_builtin/cli/cursor-cli/provider.json +37 -0
- package/providers/_builtin/cli/cursor-cli/scripts/1.0/detect_status.js +19 -0
- package/providers/_builtin/cli/cursor-cli/scripts/1.0/parse_approval.js +10 -0
- package/providers/_builtin/cli/cursor-cli/scripts/1.0/parse_output.js +48 -0
- package/providers/_builtin/cli/cursor-cli/scripts/1.0/scripts.js +7 -0
- package/providers/_builtin/cli/gemini-cli/provider.json +9 -2
- package/providers/_builtin/cli/gemini-cli/scripts/1.0/detect_status.js +26 -0
- package/providers/_builtin/cli/gemini-cli/scripts/1.0/parse_approval.js +22 -0
- package/providers/_builtin/cli/gemini-cli/scripts/1.0/parse_output.js +71 -0
- package/providers/_builtin/cli/gemini-cli/scripts/1.0/scripts.js +12 -0
- package/providers/_builtin/cli/github-copilot-cli/provider.json +37 -0
- package/providers/_builtin/cli/github-copilot-cli/scripts/1.0/detect_status.js +19 -0
- package/providers/_builtin/cli/github-copilot-cli/scripts/1.0/parse_approval.js +9 -0
- package/providers/_builtin/cli/github-copilot-cli/scripts/1.0/parse_output.js +48 -0
- package/providers/_builtin/cli/github-copilot-cli/scripts/1.0/scripts.js +7 -0
- package/providers/_builtin/cli/goose-cli/provider.json +37 -0
- package/providers/_builtin/cli/goose-cli/scripts/1.0/detect_status.js +20 -0
- package/providers/_builtin/cli/goose-cli/scripts/1.0/parse_approval.js +10 -0
- package/providers/_builtin/cli/goose-cli/scripts/1.0/parse_output.js +48 -0
- package/providers/_builtin/cli/goose-cli/scripts/1.0/scripts.js +7 -0
- package/providers/_builtin/cli/opencode-cli/provider.json +37 -0
- package/providers/_builtin/cli/opencode-cli/scripts/1.0/detect_status.js +15 -0
- package/providers/_builtin/cli/opencode-cli/scripts/1.0/parse_approval.js +9 -0
- package/providers/_builtin/cli/opencode-cli/scripts/1.0/parse_output.js +48 -0
- package/providers/_builtin/cli/opencode-cli/scripts/1.0/scripts.js +7 -0
- package/providers/_builtin/extension/cline/scripts/1.0/focus_editor.js +5 -5
- package/providers/_builtin/extension/cline/scripts/1.0/list_chats.js +11 -11
- package/providers/_builtin/extension/cline/scripts/1.0/list_models.js +6 -6
- package/providers/_builtin/extension/cline/scripts/1.0/list_modes.js +5 -5
- package/providers/_builtin/extension/cline/scripts/1.0/new_session.js +12 -12
- package/providers/_builtin/extension/cline/scripts/1.0/open_panel.js +7 -7
- package/providers/_builtin/extension/cline/scripts/1.0/read_chat.js +29 -29
- package/providers/_builtin/extension/cline/scripts/1.0/resolve_action.js +19 -19
- package/providers/_builtin/extension/cline/scripts/1.0/send_message.js +15 -15
- package/providers/_builtin/extension/cline/scripts/1.0/set_mode.js +4 -4
- package/providers/_builtin/extension/cline/scripts/1.0/set_model.js +4 -4
- package/providers/_builtin/extension/cline/scripts/1.0/switch_session.js +21 -21
- package/providers/_builtin/extension/codex/scripts/1.0/explore_controls_webview.js +2 -2
- package/providers/_builtin/extension/codex/scripts/1.0/list_models.js +1 -1
- package/providers/_builtin/extension/codex/scripts/1.0/list_modes.js +1 -1
- package/providers/_builtin/extension/codex/scripts/1.0/new_session.js +2 -2
- package/providers/_builtin/extension/codex/scripts/1.0/read_chat.js +6 -6
- package/providers/_builtin/extension/codex/scripts/1.0/resolve_action.js +3 -3
- package/providers/_builtin/extension/codex/scripts/1.0/set_model.js +1 -1
- package/providers/_builtin/ide/antigravity/scripts/1.0/focus_editor.js +2 -2
- package/providers/_builtin/ide/antigravity/scripts/1.0/list_chats.js +19 -19
- package/providers/_builtin/ide/antigravity/scripts/1.0/list_models.js +1 -1
- package/providers/_builtin/ide/antigravity/scripts/1.0/list_modes.js +1 -1
- package/providers/_builtin/ide/antigravity/scripts/1.0/new_session.js +17 -17
- package/providers/_builtin/ide/antigravity/scripts/1.0/read_chat.js +41 -41
- package/providers/_builtin/ide/antigravity/scripts/1.0/resolve_action.js +6 -6
- package/providers/_builtin/ide/antigravity/scripts/1.0/send_message.js +13 -13
- package/providers/_builtin/ide/antigravity/scripts/1.0/set_model.js +1 -1
- package/providers/_builtin/ide/antigravity/scripts/1.0/switch_session.js +13 -13
- package/providers/_builtin/ide/cursor/scripts/1.0/dismiss_notification.js +3 -3
- package/providers/_builtin/ide/cursor/scripts/1.0/focus_editor.js +1 -1
- package/providers/_builtin/ide/cursor/scripts/1.0/list_models.js +12 -12
- package/providers/_builtin/ide/cursor/scripts/1.0/list_modes.js +5 -5
- package/providers/_builtin/ide/cursor/scripts/1.0/list_notifications.js +2 -2
- package/providers/_builtin/ide/cursor/scripts/1.0/list_sessions.js +5 -5
- package/providers/_builtin/ide/cursor/scripts/1.0/new_session.js +1 -1
- package/providers/_builtin/ide/cursor/scripts/1.0/open_panel.js +3 -3
- package/providers/_builtin/ide/cursor/scripts/1.0/read_chat.js +9 -9
- package/providers/_builtin/ide/cursor/scripts/1.0/resolve_action.js +4 -4
- package/providers/_builtin/ide/cursor/scripts/1.0/send_message.js +5 -5
- package/providers/_builtin/ide/cursor/scripts/1.0/set_mode.js +4 -4
- package/providers/_builtin/ide/cursor/scripts/1.0/set_model.js +12 -12
- package/providers/_builtin/ide/cursor/scripts/1.0/switch_session.js +2 -2
- package/providers/_builtin/ide/kiro/scripts/1.0/focus_editor.js +2 -2
- package/providers/_builtin/ide/kiro/scripts/1.0/open_panel.js +7 -7
- package/providers/_builtin/ide/kiro/scripts/1.0/resolve_action.js +3 -3
- package/providers/_builtin/ide/kiro/scripts/1.0/send_message.js +4 -4
- package/providers/_builtin/ide/kiro/scripts/1.0/webview_list_sessions.js +2 -2
- package/providers/_builtin/ide/kiro/scripts/1.0/webview_new_session.js +5 -5
- package/providers/_builtin/ide/kiro/scripts/1.0/webview_read_chat.js +13 -13
- package/providers/_builtin/ide/kiro/scripts/1.0/webview_resolve_action.js +1 -1
- package/providers/_builtin/ide/kiro/scripts/1.0/webview_send_message.js +8 -8
- package/providers/_builtin/ide/kiro/scripts/1.0/webview_set_mode.js +1 -1
- package/providers/_builtin/ide/kiro/scripts/1.0/webview_set_model.js +1 -1
- package/providers/_builtin/ide/kiro/scripts/1.0/webview_switch_session.js +3 -3
- package/providers/_builtin/ide/pearai/.tmp/after_rich.json +157 -0
- package/providers/_builtin/ide/pearai/.tmp/after_rich_raw.json +161 -0
- package/providers/_builtin/ide/pearai/.tmp/after_switch.json +592 -0
- package/providers/_builtin/ide/pearai/.tmp/after_switch_raw.json +596 -0
- package/providers/_builtin/ide/pearai/.tmp/home_dump_raw.json +176 -0
- package/providers/_builtin/ide/pearai/.tmp/items_raw.json +778 -0
- package/providers/_builtin/ide/pearai/.tmp/webview_dump.json +157 -0
- package/providers/_builtin/ide/pearai/.tmp/webview_dump_raw.json +161 -0
- package/providers/_builtin/ide/pearai/provider.json +1 -3
- package/providers/_builtin/ide/pearai/scripts/1.0/focus_editor.js +12 -16
- package/providers/_builtin/ide/pearai/scripts/1.0/list_models.js +45 -0
- package/providers/_builtin/ide/pearai/scripts/1.0/list_modes.js +44 -0
- package/providers/_builtin/ide/pearai/scripts/1.0/list_sessions.js +82 -27
- package/providers/_builtin/ide/pearai/scripts/1.0/new_session.js +26 -43
- package/providers/_builtin/ide/pearai/scripts/1.0/open_panel.js +10 -33
- package/providers/_builtin/ide/pearai/scripts/1.0/read_chat.js +169 -0
- package/providers/_builtin/ide/pearai/scripts/1.0/resolve_action.js +47 -41
- package/providers/_builtin/ide/pearai/scripts/1.0/scripts.js +36 -7
- package/providers/_builtin/ide/pearai/scripts/1.0/send_message.js +97 -22
- package/providers/_builtin/ide/pearai/scripts/1.0/set_mode.js +51 -0
- package/providers/_builtin/ide/pearai/scripts/1.0/set_model.js +54 -0
- package/providers/_builtin/ide/pearai/scripts/1.0/switch_session.js +81 -0
- package/providers/_builtin/ide/trae/scripts/1.0/focus_editor.js +2 -2
- package/providers/_builtin/ide/trae/scripts/1.0/list_chats.js +2 -2
- package/providers/_builtin/ide/trae/scripts/1.0/new_session.js +4 -4
- package/providers/_builtin/ide/trae/scripts/1.0/open_panel.js +6 -6
- package/providers/_builtin/ide/trae/scripts/1.0/read_chat.js +13 -13
- package/providers/_builtin/ide/trae/scripts/1.0/resolve_action.js +3 -3
- package/providers/_builtin/ide/trae/scripts/1.0/send_message.js +11 -11
- package/providers/_builtin/ide/trae/scripts/1.0/switch_session.js +2 -2
- package/providers/_builtin/ide/windsurf/scripts/1.0/focus_editor.js +6 -6
- package/providers/_builtin/ide/windsurf/scripts/1.0/list_chats.js +4 -4
- package/providers/_builtin/ide/windsurf/scripts/1.0/list_sessions.js +6 -6
- package/providers/_builtin/ide/windsurf/scripts/1.0/new_session.js +9 -9
- package/providers/_builtin/ide/windsurf/scripts/1.0/open_panel.js +6 -6
- package/providers/_builtin/ide/windsurf/scripts/1.0/resolve_action.js +8 -8
- package/providers/_builtin/ide/windsurf/scripts/1.0/switch_session.js +8 -8
- package/providers/_builtin/ide/windsurf/scripts/1.0.bak/focus_editor.js +6 -6
- package/providers/_builtin/ide/windsurf/scripts/1.0.bak/list_chats.js +12 -12
- package/providers/_builtin/ide/windsurf/scripts/1.0.bak/new_session.js +15 -15
- package/providers/_builtin/ide/windsurf/scripts/1.0.bak/open_panel.js +10 -10
- package/providers/_builtin/ide/windsurf/scripts/1.0.bak/read_chat.js +33 -33
- package/providers/_builtin/ide/windsurf/scripts/1.0.bak/resolve_action.js +6 -6
- package/providers/_builtin/ide/windsurf/scripts/1.0.bak/send_message.js +16 -16
- package/providers/_builtin/ide/windsurf/scripts/1.0.bak/switch_session.js +7 -7
- package/providers/_builtin/registry.json +76 -3
- package/src/cli-adapters/provider-cli-adapter.ts +267 -251
- package/src/cli-adapters/terminal-screen.ts +268 -0
- package/src/commands/chat-commands.ts +41 -15
- package/src/commands/cli-manager.ts +4 -2
- package/src/daemon/dev-server.ts +245 -35
- package/src/providers/acp-provider-instance.ts +1 -1
- package/src/providers/cli-provider-instance.ts +21 -8
- package/src/providers/provider-loader.ts +6 -6
- package/providers/_builtin/ide/pearai/scripts/1.0/webview_list_models.js +0 -43
- package/providers/_builtin/ide/pearai/scripts/1.0/webview_list_modes.js +0 -35
- package/providers/_builtin/ide/pearai/scripts/1.0/webview_list_sessions.js +0 -62
- package/providers/_builtin/ide/pearai/scripts/1.0/webview_new_session.js +0 -49
- package/providers/_builtin/ide/pearai/scripts/1.0/webview_read_chat.js +0 -92
- package/providers/_builtin/ide/pearai/scripts/1.0/webview_resolve_action.js +0 -59
- package/providers/_builtin/ide/pearai/scripts/1.0/webview_send_message.js +0 -72
- package/providers/_builtin/ide/pearai/scripts/1.0/webview_set_mode.js +0 -36
- package/providers/_builtin/ide/pearai/scripts/1.0/webview_set_model.js +0 -36
- package/providers/_builtin/ide/pearai/scripts/1.0/webview_switch_session.js +0 -34
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Roo Code",
|
|
3
|
+
"text": "PearAI Coding Agent\nPowered by Roo Code / Cline\nAutonomous coding agent that has access to your development environment (with your permission) for a feedback loop to add features, fix bugs, and more.\nMARCH 28, 5:43 PM\n테스트\n↑ 93.2k\n↓ 2.2k\nMARCH 28, 5:26 PM\nDo ALL of the following:\n1. Run `ls -la /tmp` in the terminal\n2. Write a file /tmp/adhdev_test.txt with content 'hello world'\n3. Show a markdown table with 3 rows: Name, Language, Stars for Python, JavaScript, Rust\n4. Write a python code block that prints fibonacci numbers\nThink step by step before each task.\n↑ 40.6k\n↓ 2.9k\nMARCH 28, 5:24 PM\nSay hello in one word\n↑ 0\n↓ 0\nAuto-approve:\nRead, Write, Execute, Browser, MCP, Mode, Subtasks, Retry\n(@ to add context, / to switch modes, hold shift to drag in files/images)\n💻 Code\ndefault\nSend",
|
|
4
|
+
"html": "\n <noscript>You need to enable JavaScript to run this app.</noscript>\n <div id=\"root\"><div style=\"position: fixed; inset: 0px; padding: 12px; display: flex; flex-direction: column; overflow: hidden;\"><div style=\"flex: 1 1 0px; min-height: 0px; overflow-y: auto; display: flex; flex-direction: column-reverse; padding-bottom: 10px;\"><div class=\"max-w-2xl mx-auto w-full h-[calc(100vh-270px)] text-center flex flex-col justify-center\"><div class=\"w-full text-center flex flex-col items-center justify-center relative gap-5\"><img src=\"data:image/svg+xml,%3csvg%20width='301'%20height='208'%20viewBox='0%200%20301%20208'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='5.19824'%20y='5.12256'%20width='290.603'%20height='38.5863'%20rx='14.4699'%20fill='%23FF34A1'%20fill-opacity='0.5'/%3e%3cpath%20d='M31.1083%2017.7987C30.2842%2016.9746%2028.9481%2016.9746%2028.1241%2017.7987L22.9853%2022.9375C22.6774%2023.2454%2022.4332%2023.6109%2022.2665%2024.0132L21.2443%2026.481C21.1043%2026.8189%2021.1817%2027.2079%2021.4403%2027.4665C21.6989%2027.7252%2022.0879%2027.8026%2022.4259%2027.6626L24.8939%2026.6404C25.2963%2026.4737%2025.6619%2026.2294%2025.9698%2025.9215L31.1083%2020.783C31.9324%2019.9589%2031.9324%2018.6228%2031.1083%2017.7987Z'%20fill='%23FF34A1'/%3e%3cpath%20d='M20.5725%2018.9894C19.74%2018.9894%2019.0652%2019.6642%2019.0652%2020.4967V28.3345C19.0652%2029.167%2019.74%2029.8418%2020.5725%2029.8418H28.4103C29.2428%2029.8418%2029.9176%2029.167%2029.9176%2028.3345V25.6214C29.9176%2025.122%2030.3225%2024.7171%2030.822%2024.7171C31.3215%2024.7171%2031.7263%2025.122%2031.7263%2025.6214V28.3345C31.7263%2030.1659%2030.2417%2031.6505%2028.4103%2031.6505H20.5725C18.7411%2031.6505%2017.2565%2030.1659%2017.2565%2028.3345V20.4967C17.2565%2018.6653%2018.7411%2017.1807%2020.5725%2017.1807H23.2856C23.7851%2017.1807%2024.19%2017.5856%2024.19%2018.085C24.19%2018.5845%2023.7851%2018.9894%2023.2856%2018.9894H20.5725Z'%20fill='%23FF34A1'/%3e%3crect%20x='43.7845'%20y='19.5923'%20width='125.406'%20height='9.64659'%20rx='4.82329'%20fill='%23FF34A1'%20fill-opacity='0.5'/%3e%3crect%20x='5.19824'%20y='53.3555'%20width='290.603'%20height='77.1727'%20rx='14.4699'%20fill='%23FF34A1'%20fill-opacity='0.05'/%3e%3cpath%20d='M25.7492%2087.1705C25.7492%2086.671%2025.3443%2086.2661%2024.8448%2086.2661C24.3453%2086.2661%2023.9404%2086.671%2023.9404%2087.1705V91.3909H19.72C19.2206%2091.3909%2018.8157%2091.7958%2018.8157%2092.2952C18.8157%2092.7947%2019.2206%2093.1996%2019.72%2093.1996L23.9404%2093.1996V97.42C23.9404%2097.9194%2024.3453%2098.3243%2024.8448%2098.3243C25.3443%2098.3243%2025.7492%2097.9194%2025.7492%2097.42V93.1996L29.9695%2093.1996C30.469%2093.1996%2030.8739%2092.7947%2030.8739%2092.2952C30.8739%2091.7958%2030.469%2091.3909%2029.9695%2091.3909H25.7492V87.1705Z'%20fill='%23FF34A1'/%3e%3crect%20x='43.7845'%20y='65.4136'%20width='125.406'%20height='9.64659'%20rx='4.82329'%20fill='%23FF34A1'%20fill-opacity='0.05'/%3e%3crect%20x='58.2544'%20y='79.8833'%20width='194.138'%20height='9.64659'%20rx='4.82329'%20fill='%23FF34A1'%20fill-opacity='0.05'/%3e%3crect%20x='58.2544'%20y='94.3535'%20width='212.225'%20height='9.64659'%20rx='4.82329'%20fill='%23FF34A1'%20fill-opacity='0.05'/%3e%3crect%20x='58.2544'%20y='108.823'%20width='118.171'%20height='9.64659'%20rx='4.82329'%20fill='%23FF34A1'%20fill-opacity='0.05'/%3e%3crect%20x='5.19824'%20y='140.175'%20width='290.603'%20height='62.7028'%20rx='14.4699'%20fill='%23FF34A1'%20fill-opacity='0.05'/%3e%3cpath%20d='M19.72%20170.975C19.2206%20170.975%2018.8157%20171.38%2018.8157%20171.879C18.8157%20172.379%2019.2206%20172.784%2019.72%20172.784L29.9695%20172.784C30.469%20172.784%2030.8739%20172.379%2030.8739%20171.879C30.8739%20171.38%2030.469%20170.975%2029.9695%20170.975H19.72Z'%20fill='%23FF34A1'/%3e%3crect%20x='43.7845'%20y='152.233'%20width='94.0542'%20height='9.64659'%20rx='4.82329'%20fill='%23FF34A1'%20fill-opacity='0.05'/%3e%3crect%20x='58.2544'%20y='166.703'%20width='27.7339'%20height='9.64659'%20rx='4.82329'%20fill='%23FF34A1'%20fill-opacity='0.05'/%3e%3crect%20x='58.2544'%20y='181.173'%20width='50.6446'%20height='9.64659'%20rx='4.82329'%20fill='%23FF34A1'%20fill-opacity='0.05'/%3e%3c/svg%3e\" alt=\"...\"><div class=\"w-[300px] flex-col justify-start items-start gap-5 inline-flex\"><div class=\"flex flex-col text-left\"><div class=\"text-2xl\">PearAI Coding Agent</div><div class=\"h-[18px] opacity-50 text-xs leading-[18px]\">Powered by Roo Code / Cline</div></div></div><div class=\"w-[300px] text-left opacity-50 text-xs leading-[18px]\">Autonomous coding agent that has access to your development environment (with your permission) for a feedback loop to add features, fix bugs, and more.</div></div></div><div class=\"flex flex-col gap-3\"><div class=\"bg-vscode-editor-background rounded relative overflow-hidden cursor-pointer border border-vscode-toolbar-hoverBackground/30 hover:border-vscode-toolbar-hoverBackground/60\"><div class=\"flex flex-col gap-2 p-3 pt-1\"><div class=\"flex justify-between items-center\"><span class=\"text-xs font-medium text-vscode-descriptionForeground uppercase\">MARCH 28, 5:43 PM</span><button class=\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xs text-base font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer active:opacity-80 hover:bg-accent hover:text-accent-foreground h-7 w-7 opacity-50 hover:opacity-100\" title=\"Copy Prompt\" data-testid=\"copy-prompt-button\"><span class=\"codicon scale-80 codicon-copy\"></span></button></div><div class=\"text-vscode-foreground overflow-hidden whitespace-pre-wrap\" style=\"display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-break: break-word; overflow-wrap: anywhere;\">테스트</div><div class=\"flex flex-row gap-2 text-xs text-vscode-descriptionForeground\"><span>↑ 93.2k</span><span>↓ 2.2k</span></div></div></div><div class=\"bg-vscode-editor-background rounded relative overflow-hidden cursor-pointer border border-vscode-toolbar-hoverBackground/30 hover:border-vscode-toolbar-hoverBackground/60\"><div class=\"flex flex-col gap-2 p-3 pt-1\"><div class=\"flex justify-between items-center\"><span class=\"text-xs font-medium text-vscode-descriptionForeground uppercase\">MARCH 28, 5:26 PM</span><button class=\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xs text-base font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer active:opacity-80 hover:bg-accent hover:text-accent-foreground h-7 w-7 opacity-50 hover:opacity-100\" title=\"Copy Prompt\" data-testid=\"copy-prompt-button\"><span class=\"codicon scale-80 codicon-copy\"></span></button></div><div class=\"text-vscode-foreground overflow-hidden whitespace-pre-wrap\" style=\"display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-break: break-word; overflow-wrap: anywhere;\">Do ALL of the following:\n1. Run `ls -la /tmp` in the terminal\n2. Write a file /tmp/adhdev_test.txt with content 'hello world'\n3. Show a markdown table with 3 rows: Name, Language, Stars for Python, JavaScript, Rust\n4. Write a python code block that prints fibonacci numbers\nThink step by step before each task.</div><div class=\"flex flex-row gap-2 text-xs text-vscode-descriptionForeground\"><span>↑ 40.6k</span><span>↓ 2.9k</span></div></div></div><div class=\"bg-vscode-editor-background rounded relative overflow-hidden cursor-pointer border border-vscode-toolbar-hoverBackground/30 hover:border-vscode-toolbar-hoverBackground/60\"><div class=\"flex flex-col gap-2 p-3 pt-1\"><div class=\"flex justify-between items-center\"><span class=\"text-xs font-medium text-vscode-descriptionForeground uppercase\">MARCH 28, 5:24 PM</span><button class=\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xs text-base font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer active:opacity-80 hover:bg-accent hover:text-accent-foreground h-7 w-7 opacity-50 hover:opacity-100\" title=\"Copy Prompt\" data-testid=\"copy-prompt-button\"><span class=\"codicon scale-80 codicon-copy\"></span></button></div><div class=\"text-vscode-foreground overflow-hidden whitespace-pre-wrap\" style=\"display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-break: break-word; overflow-wrap: anywhere;\">Say hello in one word</div><div class=\"flex flex-row gap-2 text-xs text-vscode-descriptionForeground\"><span>↑ 0</span><span>↓ 0</span></div></div></div></div></div><div class=\"mb-[-2px] flex-initial min-h-0\"><div style=\"padding: 6px 6px 10px; user-select: none; border-top: none; overflow-y: auto;\"><div style=\"display: flex; align-items: center; gap: 8px; cursor: pointer;\"><div><vscode-checkbox role=\"checkbox\" aria-checked=\"true\" aria-required=\"false\" aria-disabled=\"false\" tabindex=\"0\" aria-label=\"Checkbox\" current-value=\"on\" current-checked=\"true\" class=\"checked\"></vscode-checkbox></div><div style=\"display: flex; align-items: center; gap: 4px; flex: 1 1 0%; min-width: 0px;\"><span style=\"color: var(--vscode-foreground); flex-shrink: 0;\">Auto-approve:</span><span style=\"color: var(--vscode-descriptionForeground); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1 1 0%; min-width: 0px;\">Read, Write, Execute, Browser, MCP, Mode, Subtasks, Retry</span><span class=\"codicon codicon-chevron-right\" style=\"flex-shrink: 0; margin-left: -2px;\"></span></div></div></div></div><div class=\"relative flex flex-col gap-2 m-[10px_15px] p-2 outline-none border-none w-[calc(100%-30px)] rounded-xl ml-auto mr-auto box-border opacity-100\" style=\"background-color: var(--vscode-editor-background);\"><div class=\"relative\"><div class=\"chat-text-area relative flex flex-col outline-none\"><div class=\"relative flex-1 flex flex-col-reverse min-h-0 overflow-hidden rounded\"><div class=\"absolute inset-0 pointer-events-none whitespace-pre-wrap break-words text-transparent overflow-hidden py-2 px-[9px] z-[1000]\" style=\"color: transparent; font-family: var(--vscode-font-family); font-size: var(--vscode-editor-font-size); line-height: var(--vscode-editor-line-height);\"></div><textarea placeholder=\"Type your task here...\" class=\"w-full text-vscode-input-foreground cursor-text py-1.5 px-2 border-none outline-none focus:outline-none focus:ring-0 opacity-100 bg-transparent transition-background-color duration-150 ease-in-out will-change-background-color min-h-[90px] box-border rounded resize-none overflow-x-hidden overflow-y-auto pr-2 flex-none flex-grow z-[2] scrollbar-none\" style=\"font-family: var(--vscode-font-family); font-size: var(--vscode-editor-font-size); line-height: var(--vscode-editor-line-height); outline: none; height: 57px !important;\"></textarea><div class=\"absolute left-2 flex gap-2 text-xs text-vscode-input-foreground pointer-events-none z-25 bottom-1.5 pr-2 transition-opacity duration-200 ease-in-out opacity-70\">\n(@ to add context, / to switch modes, hold shift to drag in files/images)</div></div></div></div><div class=\"flex justify-between items-center mt-auto pt-0.5\"><div class=\"flex items-center gap-1 min-w-0\"><div class=\"shrink-0\"><button type=\"button\" aria-haspopup=\"dialog\" aria-expanded=\"false\" aria-controls=\"radix-:r0:\" data-state=\"closed\" title=\"Select mode for interaction\" data-testid=\"dropdown-trigger\" class=\"min-w-0 max-w-full inline-flex items-center gap-1.5 relative whitespace-nowrap px-1.5 py-1 text-xs bg-transparent border border-[rgba(255,255,255,0.08)] rounded-md text-vscode-foreground transition-all duration-150 focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder opacity-90 hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)] cursor-pointer w-full\"><svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"pointer-events-none opacity-80 flex-shrink-0 size-3\"><path d=\"M4.18179 8.81819C4.00605 8.64245 4.00605 8.35753 4.18179 8.18179L7.18179 5.18179C7.26618 5.0974 7.38064 5.04999 7.49999 5.04999C7.61933 5.04999 7.73379 5.0974 7.81819 5.18179L10.8182 8.18179C10.9939 8.35753 10.9939 8.64245 10.8182 8.81819C10.6424 8.99392 10.3575 8.99392 10.1818 8.81819L7.49999 6.13638L4.81819 8.81819C4.64245 8.99392 4.35753 8.99392 4.18179 8.81819Z\" fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"></path></svg><span class=\"truncate\">💻 Code</span></button></div><div class=\"flex-1 min-w-0 overflow-hidden\"><button type=\"button\" aria-haspopup=\"dialog\" aria-expanded=\"false\" aria-controls=\"radix-:r1:\" data-state=\"closed\" title=\"Select API configuration\" data-testid=\"dropdown-trigger\" class=\"min-w-0 max-w-full inline-flex items-center gap-1.5 relative whitespace-nowrap px-1.5 py-1 text-xs bg-transparent border border-[rgba(255,255,255,0.08)] rounded-md text-vscode-foreground transition-all duration-150 focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder opacity-90 hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)] cursor-pointer w-full text-ellipsis overflow-hidden\"><svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"pointer-events-none opacity-80 flex-shrink-0 size-3\"><path d=\"M4.18179 8.81819C4.00605 8.64245 4.00605 8.35753 4.18179 8.18179L7.18179 5.18179C7.26618 5.0974 7.38064 5.04999 7.49999 5.04999C7.61933 5.04999 7.73379 5.0974 7.81819 5.18179L10.8182 8.18179C10.9939 8.35753 10.9939 8.64245 10.8182 8.81819C10.6424 8.99392 10.3575 8.99392 10.1818 8.81819L7.49999 6.13638L4.81819 8.81819C4.64245 8.99392 4.35753 8.99392 4.18179 8.81819Z\" fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"></path></svg><span class=\"truncate\">default</span></button></div></div><div class=\"flex items-center gap-0.5 shrink-0\"><button aria-label=\"Add images to message\" title=\"Add images to message\" class=\"relative inline-flex items-center justify-center bg-transparent border-none p-1.5 rounded-md min-w-[28px] min-h-[28px] text-vscode-foreground opacity-85 transition-all duration-150 hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)] focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder active:bg-[rgba(255,255,255,0.1)]\" style=\"font-size: 16.5px;\"><span class=\"codicon codicon-device-camera\"></span></button><button class=\"inline-flex items-center justify-center whitespace-nowrap font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer active:opacity-80 border border-vscode-input-border shadow hover:bg-primary/90 gap-1 h-6 bg-[#E64C9E] text-white text-xs px-2 rounded-lg\"><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"currentColor\" aria-hidden=\"true\" data-slot=\"icon\" width=\"12px\" height=\"12px\"><path fill-rule=\"evenodd\" d=\"M13.25 2a.75.75 0 0 0-.75.75v6.5H4.56l.97-.97a.75.75 0 0 0-1.06-1.06L2.22 9.47a.75.75 0 0 0 0 1.06l2.25 2.25a.75.75 0 0 0 1.06-1.06l-.97-.97h8.69A.75.75 0 0 0 14 10V2.75a.75.75 0 0 0-.75-.75Z\" clip-rule=\"evenodd\"></path></svg>Send</button></div></div></div><div id=\"roo-portal\"></div></div></div>\n <script nonce=\"j5u673kij40bpVvUJgwCABMGTv1qebOB\" type=\"module\" src=\"https://file%2B.vscode-resource.vscode-cdn.net/Applications/PearAI.app/Contents/Resources/app/extensions/pearai.pearai-roo-cline-3.15.2/webview-ui/build/assets/index.js\"></script>\n \n \n <textarea tabindex=\"-1\" aria-hidden=\"true\" style=\"min-height: 0px !important; max-height: none !important; height: 0px !important; visibility: hidden !important; overflow: hidden !important; position: absolute !important; z-index: -1000 !important; top: 0px !important; right: 0px !important; display: block !important; border-width: 0px; box-sizing: border-box; font-family: -apple-system, "system-ui", sans-serif; font-size: 12px; font-style: normal; font-weight: 400; letter-spacing: normal; line-height: 15px; padding: 6px 8px; tab-size: 4; text-indent: 0px; text-rendering: auto; text-transform: none; width: 329px; word-break: normal; word-spacing: 0px; scrollbar-gutter: auto;\"></textarea>",
|
|
5
|
+
"elements": [
|
|
6
|
+
{
|
|
7
|
+
"tag": "button",
|
|
8
|
+
"id": "",
|
|
9
|
+
"className": "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xs text-base font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:poin",
|
|
10
|
+
"role": "",
|
|
11
|
+
"ariaLabel": "",
|
|
12
|
+
"title": "Copy Prompt",
|
|
13
|
+
"placeholder": "",
|
|
14
|
+
"dataTestId": "copy-prompt-button",
|
|
15
|
+
"text": "",
|
|
16
|
+
"x": 336,
|
|
17
|
+
"y": -223,
|
|
18
|
+
"w": 28,
|
|
19
|
+
"h": 28
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"tag": "button",
|
|
23
|
+
"id": "",
|
|
24
|
+
"className": "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xs text-base font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:poin",
|
|
25
|
+
"role": "",
|
|
26
|
+
"ariaLabel": "",
|
|
27
|
+
"title": "Copy Prompt",
|
|
28
|
+
"placeholder": "",
|
|
29
|
+
"dataTestId": "copy-prompt-button",
|
|
30
|
+
"text": "",
|
|
31
|
+
"x": 336,
|
|
32
|
+
"y": -118,
|
|
33
|
+
"w": 28,
|
|
34
|
+
"h": 28
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"tag": "button",
|
|
38
|
+
"id": "",
|
|
39
|
+
"className": "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xs text-base font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:poin",
|
|
40
|
+
"role": "",
|
|
41
|
+
"ariaLabel": "",
|
|
42
|
+
"title": "Copy Prompt",
|
|
43
|
+
"placeholder": "",
|
|
44
|
+
"dataTestId": "copy-prompt-button",
|
|
45
|
+
"text": "",
|
|
46
|
+
"x": 336,
|
|
47
|
+
"y": 3,
|
|
48
|
+
"w": 28,
|
|
49
|
+
"h": 28
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"tag": "vscode-checkbox",
|
|
53
|
+
"id": "",
|
|
54
|
+
"className": "checked",
|
|
55
|
+
"role": "checkbox",
|
|
56
|
+
"ariaLabel": "Checkbox",
|
|
57
|
+
"title": "",
|
|
58
|
+
"placeholder": "",
|
|
59
|
+
"dataTestId": "",
|
|
60
|
+
"text": "",
|
|
61
|
+
"x": 18,
|
|
62
|
+
"y": 463,
|
|
63
|
+
"w": 18,
|
|
64
|
+
"h": 18
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"tag": "textarea",
|
|
68
|
+
"id": "",
|
|
69
|
+
"className": "w-full text-vscode-input-foreground cursor-text py-1.5 px-2 border-none outline-none focus:outline-none focus:ring-0 opacity-100 bg-transparent transition-background-color duration-150 ease-in-out wil",
|
|
70
|
+
"role": "",
|
|
71
|
+
"ariaLabel": "",
|
|
72
|
+
"title": "",
|
|
73
|
+
"placeholder": "Type your task here...",
|
|
74
|
+
"dataTestId": "",
|
|
75
|
+
"text": "",
|
|
76
|
+
"x": 35,
|
|
77
|
+
"y": 511,
|
|
78
|
+
"w": 329,
|
|
79
|
+
"h": 90
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"tag": "button",
|
|
83
|
+
"id": "",
|
|
84
|
+
"className": "min-w-0 max-w-full inline-flex items-center gap-1.5 relative whitespace-nowrap px-1.5 py-1 text-xs bg-transparent border border-[rgba(255,255,255,0.08)] rounded-md text-vscode-foreground transition-al",
|
|
85
|
+
"role": "",
|
|
86
|
+
"ariaLabel": "",
|
|
87
|
+
"title": "Select mode for interaction",
|
|
88
|
+
"placeholder": "",
|
|
89
|
+
"dataTestId": "dropdown-trigger",
|
|
90
|
+
"text": "💻 Code",
|
|
91
|
+
"x": 35,
|
|
92
|
+
"y": 613,
|
|
93
|
+
"w": 74,
|
|
94
|
+
"h": 25
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"tag": "button",
|
|
98
|
+
"id": "",
|
|
99
|
+
"className": "min-w-0 max-w-full inline-flex items-center gap-1.5 relative whitespace-nowrap px-1.5 py-1 text-xs bg-transparent border border-[rgba(255,255,255,0.08)] rounded-md text-vscode-foreground transition-al",
|
|
100
|
+
"role": "",
|
|
101
|
+
"ariaLabel": "",
|
|
102
|
+
"title": "Select API configuration",
|
|
103
|
+
"placeholder": "",
|
|
104
|
+
"dataTestId": "dropdown-trigger",
|
|
105
|
+
"text": "default",
|
|
106
|
+
"x": 113,
|
|
107
|
+
"y": 613,
|
|
108
|
+
"w": 69,
|
|
109
|
+
"h": 25
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"tag": "button",
|
|
113
|
+
"id": "",
|
|
114
|
+
"className": "relative inline-flex items-center justify-center bg-transparent border-none p-1.5 rounded-md min-w-[28px] min-h-[28px] text-vscode-foreground opacity-85 transition-all duration-150 hover:opacity-100 h",
|
|
115
|
+
"role": "",
|
|
116
|
+
"ariaLabel": "Add images to message",
|
|
117
|
+
"title": "Add images to message",
|
|
118
|
+
"placeholder": "",
|
|
119
|
+
"dataTestId": "",
|
|
120
|
+
"text": "",
|
|
121
|
+
"x": 269,
|
|
122
|
+
"y": 611,
|
|
123
|
+
"w": 28,
|
|
124
|
+
"h": 28
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"tag": "button",
|
|
128
|
+
"id": "",
|
|
129
|
+
"className": "inline-flex items-center justify-center whitespace-nowrap font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:op",
|
|
130
|
+
"role": "",
|
|
131
|
+
"ariaLabel": "",
|
|
132
|
+
"title": "",
|
|
133
|
+
"placeholder": "",
|
|
134
|
+
"dataTestId": "",
|
|
135
|
+
"text": "Send",
|
|
136
|
+
"x": 299,
|
|
137
|
+
"y": 613,
|
|
138
|
+
"w": 65,
|
|
139
|
+
"h": 24
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"tag": "textarea",
|
|
143
|
+
"id": "",
|
|
144
|
+
"className": "",
|
|
145
|
+
"role": "",
|
|
146
|
+
"ariaLabel": "",
|
|
147
|
+
"title": "",
|
|
148
|
+
"placeholder": "",
|
|
149
|
+
"dataTestId": "",
|
|
150
|
+
"text": "",
|
|
151
|
+
"x": 70,
|
|
152
|
+
"y": 0,
|
|
153
|
+
"w": 329,
|
|
154
|
+
"h": 12
|
|
155
|
+
}
|
|
156
|
+
]
|
|
157
|
+
}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "pearai",
|
|
3
|
+
"script": "webviewDumpHtml",
|
|
4
|
+
"result": {
|
|
5
|
+
"title": "Roo Code",
|
|
6
|
+
"text": "PearAI Coding Agent\nPowered by Roo Code / Cline\nAutonomous coding agent that has access to your development environment (with your permission) for a feedback loop to add features, fix bugs, and more.\nMARCH 28, 5:43 PM\n테스트\n↑ 93.2k\n↓ 2.2k\nMARCH 28, 5:26 PM\nDo ALL of the following:\n1. Run `ls -la /tmp` in the terminal\n2. Write a file /tmp/adhdev_test.txt with content 'hello world'\n3. Show a markdown table with 3 rows: Name, Language, Stars for Python, JavaScript, Rust\n4. Write a python code block that prints fibonacci numbers\nThink step by step before each task.\n↑ 40.6k\n↓ 2.9k\nMARCH 28, 5:24 PM\nSay hello in one word\n↑ 0\n↓ 0\nAuto-approve:\nRead, Write, Execute, Browser, MCP, Mode, Subtasks, Retry\n(@ to add context, / to switch modes, hold shift to drag in files/images)\n💻 Code\ndefault\nSend",
|
|
7
|
+
"html": "\n <noscript>You need to enable JavaScript to run this app.</noscript>\n <div id=\"root\"><div style=\"position: fixed; inset: 0px; padding: 12px; display: flex; flex-direction: column; overflow: hidden;\"><div style=\"flex: 1 1 0px; min-height: 0px; overflow-y: auto; display: flex; flex-direction: column-reverse; padding-bottom: 10px;\"><div class=\"max-w-2xl mx-auto w-full h-[calc(100vh-270px)] text-center flex flex-col justify-center\"><div class=\"w-full text-center flex flex-col items-center justify-center relative gap-5\"><img src=\"data:image/svg+xml,%3csvg%20width='301'%20height='208'%20viewBox='0%200%20301%20208'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='5.19824'%20y='5.12256'%20width='290.603'%20height='38.5863'%20rx='14.4699'%20fill='%23FF34A1'%20fill-opacity='0.5'/%3e%3cpath%20d='M31.1083%2017.7987C30.2842%2016.9746%2028.9481%2016.9746%2028.1241%2017.7987L22.9853%2022.9375C22.6774%2023.2454%2022.4332%2023.6109%2022.2665%2024.0132L21.2443%2026.481C21.1043%2026.8189%2021.1817%2027.2079%2021.4403%2027.4665C21.6989%2027.7252%2022.0879%2027.8026%2022.4259%2027.6626L24.8939%2026.6404C25.2963%2026.4737%2025.6619%2026.2294%2025.9698%2025.9215L31.1083%2020.783C31.9324%2019.9589%2031.9324%2018.6228%2031.1083%2017.7987Z'%20fill='%23FF34A1'/%3e%3cpath%20d='M20.5725%2018.9894C19.74%2018.9894%2019.0652%2019.6642%2019.0652%2020.4967V28.3345C19.0652%2029.167%2019.74%2029.8418%2020.5725%2029.8418H28.4103C29.2428%2029.8418%2029.9176%2029.167%2029.9176%2028.3345V25.6214C29.9176%2025.122%2030.3225%2024.7171%2030.822%2024.7171C31.3215%2024.7171%2031.7263%2025.122%2031.7263%2025.6214V28.3345C31.7263%2030.1659%2030.2417%2031.6505%2028.4103%2031.6505H20.5725C18.7411%2031.6505%2017.2565%2030.1659%2017.2565%2028.3345V20.4967C17.2565%2018.6653%2018.7411%2017.1807%2020.5725%2017.1807H23.2856C23.7851%2017.1807%2024.19%2017.5856%2024.19%2018.085C24.19%2018.5845%2023.7851%2018.9894%2023.2856%2018.9894H20.5725Z'%20fill='%23FF34A1'/%3e%3crect%20x='43.7845'%20y='19.5923'%20width='125.406'%20height='9.64659'%20rx='4.82329'%20fill='%23FF34A1'%20fill-opacity='0.5'/%3e%3crect%20x='5.19824'%20y='53.3555'%20width='290.603'%20height='77.1727'%20rx='14.4699'%20fill='%23FF34A1'%20fill-opacity='0.05'/%3e%3cpath%20d='M25.7492%2087.1705C25.7492%2086.671%2025.3443%2086.2661%2024.8448%2086.2661C24.3453%2086.2661%2023.9404%2086.671%2023.9404%2087.1705V91.3909H19.72C19.2206%2091.3909%2018.8157%2091.7958%2018.8157%2092.2952C18.8157%2092.7947%2019.2206%2093.1996%2019.72%2093.1996L23.9404%2093.1996V97.42C23.9404%2097.9194%2024.3453%2098.3243%2024.8448%2098.3243C25.3443%2098.3243%2025.7492%2097.9194%2025.7492%2097.42V93.1996L29.9695%2093.1996C30.469%2093.1996%2030.8739%2092.7947%2030.8739%2092.2952C30.8739%2091.7958%2030.469%2091.3909%2029.9695%2091.3909H25.7492V87.1705Z'%20fill='%23FF34A1'/%3e%3crect%20x='43.7845'%20y='65.4136'%20width='125.406'%20height='9.64659'%20rx='4.82329'%20fill='%23FF34A1'%20fill-opacity='0.05'/%3e%3crect%20x='58.2544'%20y='79.8833'%20width='194.138'%20height='9.64659'%20rx='4.82329'%20fill='%23FF34A1'%20fill-opacity='0.05'/%3e%3crect%20x='58.2544'%20y='94.3535'%20width='212.225'%20height='9.64659'%20rx='4.82329'%20fill='%23FF34A1'%20fill-opacity='0.05'/%3e%3crect%20x='58.2544'%20y='108.823'%20width='118.171'%20height='9.64659'%20rx='4.82329'%20fill='%23FF34A1'%20fill-opacity='0.05'/%3e%3crect%20x='5.19824'%20y='140.175'%20width='290.603'%20height='62.7028'%20rx='14.4699'%20fill='%23FF34A1'%20fill-opacity='0.05'/%3e%3cpath%20d='M19.72%20170.975C19.2206%20170.975%2018.8157%20171.38%2018.8157%20171.879C18.8157%20172.379%2019.2206%20172.784%2019.72%20172.784L29.9695%20172.784C30.469%20172.784%2030.8739%20172.379%2030.8739%20171.879C30.8739%20171.38%2030.469%20170.975%2029.9695%20170.975H19.72Z'%20fill='%23FF34A1'/%3e%3crect%20x='43.7845'%20y='152.233'%20width='94.0542'%20height='9.64659'%20rx='4.82329'%20fill='%23FF34A1'%20fill-opacity='0.05'/%3e%3crect%20x='58.2544'%20y='166.703'%20width='27.7339'%20height='9.64659'%20rx='4.82329'%20fill='%23FF34A1'%20fill-opacity='0.05'/%3e%3crect%20x='58.2544'%20y='181.173'%20width='50.6446'%20height='9.64659'%20rx='4.82329'%20fill='%23FF34A1'%20fill-opacity='0.05'/%3e%3c/svg%3e\" alt=\"...\"><div class=\"w-[300px] flex-col justify-start items-start gap-5 inline-flex\"><div class=\"flex flex-col text-left\"><div class=\"text-2xl\">PearAI Coding Agent</div><div class=\"h-[18px] opacity-50 text-xs leading-[18px]\">Powered by Roo Code / Cline</div></div></div><div class=\"w-[300px] text-left opacity-50 text-xs leading-[18px]\">Autonomous coding agent that has access to your development environment (with your permission) for a feedback loop to add features, fix bugs, and more.</div></div></div><div class=\"flex flex-col gap-3\"><div class=\"bg-vscode-editor-background rounded relative overflow-hidden cursor-pointer border border-vscode-toolbar-hoverBackground/30 hover:border-vscode-toolbar-hoverBackground/60\"><div class=\"flex flex-col gap-2 p-3 pt-1\"><div class=\"flex justify-between items-center\"><span class=\"text-xs font-medium text-vscode-descriptionForeground uppercase\">MARCH 28, 5:43 PM</span><button class=\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xs text-base font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer active:opacity-80 hover:bg-accent hover:text-accent-foreground h-7 w-7 opacity-50 hover:opacity-100\" title=\"Copy Prompt\" data-testid=\"copy-prompt-button\"><span class=\"codicon scale-80 codicon-copy\"></span></button></div><div class=\"text-vscode-foreground overflow-hidden whitespace-pre-wrap\" style=\"display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-break: break-word; overflow-wrap: anywhere;\">테스트</div><div class=\"flex flex-row gap-2 text-xs text-vscode-descriptionForeground\"><span>↑ 93.2k</span><span>↓ 2.2k</span></div></div></div><div class=\"bg-vscode-editor-background rounded relative overflow-hidden cursor-pointer border border-vscode-toolbar-hoverBackground/30 hover:border-vscode-toolbar-hoverBackground/60\"><div class=\"flex flex-col gap-2 p-3 pt-1\"><div class=\"flex justify-between items-center\"><span class=\"text-xs font-medium text-vscode-descriptionForeground uppercase\">MARCH 28, 5:26 PM</span><button class=\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xs text-base font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer active:opacity-80 hover:bg-accent hover:text-accent-foreground h-7 w-7 opacity-50 hover:opacity-100\" title=\"Copy Prompt\" data-testid=\"copy-prompt-button\"><span class=\"codicon scale-80 codicon-copy\"></span></button></div><div class=\"text-vscode-foreground overflow-hidden whitespace-pre-wrap\" style=\"display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-break: break-word; overflow-wrap: anywhere;\">Do ALL of the following:\n1. Run `ls -la /tmp` in the terminal\n2. Write a file /tmp/adhdev_test.txt with content 'hello world'\n3. Show a markdown table with 3 rows: Name, Language, Stars for Python, JavaScript, Rust\n4. Write a python code block that prints fibonacci numbers\nThink step by step before each task.</div><div class=\"flex flex-row gap-2 text-xs text-vscode-descriptionForeground\"><span>↑ 40.6k</span><span>↓ 2.9k</span></div></div></div><div class=\"bg-vscode-editor-background rounded relative overflow-hidden cursor-pointer border border-vscode-toolbar-hoverBackground/30 hover:border-vscode-toolbar-hoverBackground/60\"><div class=\"flex flex-col gap-2 p-3 pt-1\"><div class=\"flex justify-between items-center\"><span class=\"text-xs font-medium text-vscode-descriptionForeground uppercase\">MARCH 28, 5:24 PM</span><button class=\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xs text-base font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer active:opacity-80 hover:bg-accent hover:text-accent-foreground h-7 w-7 opacity-50 hover:opacity-100\" title=\"Copy Prompt\" data-testid=\"copy-prompt-button\"><span class=\"codicon scale-80 codicon-copy\"></span></button></div><div class=\"text-vscode-foreground overflow-hidden whitespace-pre-wrap\" style=\"display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-break: break-word; overflow-wrap: anywhere;\">Say hello in one word</div><div class=\"flex flex-row gap-2 text-xs text-vscode-descriptionForeground\"><span>↑ 0</span><span>↓ 0</span></div></div></div></div></div><div class=\"mb-[-2px] flex-initial min-h-0\"><div style=\"padding: 6px 6px 10px; user-select: none; border-top: none; overflow-y: auto;\"><div style=\"display: flex; align-items: center; gap: 8px; cursor: pointer;\"><div><vscode-checkbox role=\"checkbox\" aria-checked=\"true\" aria-required=\"false\" aria-disabled=\"false\" tabindex=\"0\" aria-label=\"Checkbox\" current-value=\"on\" current-checked=\"true\" class=\"checked\"></vscode-checkbox></div><div style=\"display: flex; align-items: center; gap: 4px; flex: 1 1 0%; min-width: 0px;\"><span style=\"color: var(--vscode-foreground); flex-shrink: 0;\">Auto-approve:</span><span style=\"color: var(--vscode-descriptionForeground); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1 1 0%; min-width: 0px;\">Read, Write, Execute, Browser, MCP, Mode, Subtasks, Retry</span><span class=\"codicon codicon-chevron-right\" style=\"flex-shrink: 0; margin-left: -2px;\"></span></div></div></div></div><div class=\"relative flex flex-col gap-2 m-[10px_15px] p-2 outline-none border-none w-[calc(100%-30px)] rounded-xl ml-auto mr-auto box-border opacity-100\" style=\"background-color: var(--vscode-editor-background);\"><div class=\"relative\"><div class=\"chat-text-area relative flex flex-col outline-none\"><div class=\"relative flex-1 flex flex-col-reverse min-h-0 overflow-hidden rounded\"><div class=\"absolute inset-0 pointer-events-none whitespace-pre-wrap break-words text-transparent overflow-hidden py-2 px-[9px] z-[1000]\" style=\"color: transparent; font-family: var(--vscode-font-family); font-size: var(--vscode-editor-font-size); line-height: var(--vscode-editor-line-height);\"></div><textarea placeholder=\"Type your task here...\" class=\"w-full text-vscode-input-foreground cursor-text py-1.5 px-2 border-none outline-none focus:outline-none focus:ring-0 opacity-100 bg-transparent transition-background-color duration-150 ease-in-out will-change-background-color min-h-[90px] box-border rounded resize-none overflow-x-hidden overflow-y-auto pr-2 flex-none flex-grow z-[2] scrollbar-none\" style=\"font-family: var(--vscode-font-family); font-size: var(--vscode-editor-font-size); line-height: var(--vscode-editor-line-height); outline: none; height: 57px !important;\"></textarea><div class=\"absolute left-2 flex gap-2 text-xs text-vscode-input-foreground pointer-events-none z-25 bottom-1.5 pr-2 transition-opacity duration-200 ease-in-out opacity-70\">\n(@ to add context, / to switch modes, hold shift to drag in files/images)</div></div></div></div><div class=\"flex justify-between items-center mt-auto pt-0.5\"><div class=\"flex items-center gap-1 min-w-0\"><div class=\"shrink-0\"><button type=\"button\" aria-haspopup=\"dialog\" aria-expanded=\"false\" aria-controls=\"radix-:r0:\" data-state=\"closed\" title=\"Select mode for interaction\" data-testid=\"dropdown-trigger\" class=\"min-w-0 max-w-full inline-flex items-center gap-1.5 relative whitespace-nowrap px-1.5 py-1 text-xs bg-transparent border border-[rgba(255,255,255,0.08)] rounded-md text-vscode-foreground transition-all duration-150 focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder opacity-90 hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)] cursor-pointer w-full\"><svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"pointer-events-none opacity-80 flex-shrink-0 size-3\"><path d=\"M4.18179 8.81819C4.00605 8.64245 4.00605 8.35753 4.18179 8.18179L7.18179 5.18179C7.26618 5.0974 7.38064 5.04999 7.49999 5.04999C7.61933 5.04999 7.73379 5.0974 7.81819 5.18179L10.8182 8.18179C10.9939 8.35753 10.9939 8.64245 10.8182 8.81819C10.6424 8.99392 10.3575 8.99392 10.1818 8.81819L7.49999 6.13638L4.81819 8.81819C4.64245 8.99392 4.35753 8.99392 4.18179 8.81819Z\" fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"></path></svg><span class=\"truncate\">💻 Code</span></button></div><div class=\"flex-1 min-w-0 overflow-hidden\"><button type=\"button\" aria-haspopup=\"dialog\" aria-expanded=\"false\" aria-controls=\"radix-:r1:\" data-state=\"closed\" title=\"Select API configuration\" data-testid=\"dropdown-trigger\" class=\"min-w-0 max-w-full inline-flex items-center gap-1.5 relative whitespace-nowrap px-1.5 py-1 text-xs bg-transparent border border-[rgba(255,255,255,0.08)] rounded-md text-vscode-foreground transition-all duration-150 focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder opacity-90 hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)] cursor-pointer w-full text-ellipsis overflow-hidden\"><svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"pointer-events-none opacity-80 flex-shrink-0 size-3\"><path d=\"M4.18179 8.81819C4.00605 8.64245 4.00605 8.35753 4.18179 8.18179L7.18179 5.18179C7.26618 5.0974 7.38064 5.04999 7.49999 5.04999C7.61933 5.04999 7.73379 5.0974 7.81819 5.18179L10.8182 8.18179C10.9939 8.35753 10.9939 8.64245 10.8182 8.81819C10.6424 8.99392 10.3575 8.99392 10.1818 8.81819L7.49999 6.13638L4.81819 8.81819C4.64245 8.99392 4.35753 8.99392 4.18179 8.81819Z\" fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"></path></svg><span class=\"truncate\">default</span></button></div></div><div class=\"flex items-center gap-0.5 shrink-0\"><button aria-label=\"Add images to message\" title=\"Add images to message\" class=\"relative inline-flex items-center justify-center bg-transparent border-none p-1.5 rounded-md min-w-[28px] min-h-[28px] text-vscode-foreground opacity-85 transition-all duration-150 hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)] focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder active:bg-[rgba(255,255,255,0.1)]\" style=\"font-size: 16.5px;\"><span class=\"codicon codicon-device-camera\"></span></button><button class=\"inline-flex items-center justify-center whitespace-nowrap font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer active:opacity-80 border border-vscode-input-border shadow hover:bg-primary/90 gap-1 h-6 bg-[#E64C9E] text-white text-xs px-2 rounded-lg\"><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"currentColor\" aria-hidden=\"true\" data-slot=\"icon\" width=\"12px\" height=\"12px\"><path fill-rule=\"evenodd\" d=\"M13.25 2a.75.75 0 0 0-.75.75v6.5H4.56l.97-.97a.75.75 0 0 0-1.06-1.06L2.22 9.47a.75.75 0 0 0 0 1.06l2.25 2.25a.75.75 0 0 0 1.06-1.06l-.97-.97h8.69A.75.75 0 0 0 14 10V2.75a.75.75 0 0 0-.75-.75Z\" clip-rule=\"evenodd\"></path></svg>Send</button></div></div></div><div id=\"roo-portal\"></div></div></div>\n <script nonce=\"j5u673kij40bpVvUJgwCABMGTv1qebOB\" type=\"module\" src=\"https://file%2B.vscode-resource.vscode-cdn.net/Applications/PearAI.app/Contents/Resources/app/extensions/pearai.pearai-roo-cline-3.15.2/webview-ui/build/assets/index.js\"></script>\n \n \n <textarea tabindex=\"-1\" aria-hidden=\"true\" style=\"min-height: 0px !important; max-height: none !important; height: 0px !important; visibility: hidden !important; overflow: hidden !important; position: absolute !important; z-index: -1000 !important; top: 0px !important; right: 0px !important; display: block !important; border-width: 0px; box-sizing: border-box; font-family: -apple-system, "system-ui", sans-serif; font-size: 12px; font-style: normal; font-weight: 400; letter-spacing: normal; line-height: 15px; padding: 6px 8px; tab-size: 4; text-indent: 0px; text-rendering: auto; text-transform: none; width: 329px; word-break: normal; word-spacing: 0px; scrollbar-gutter: auto;\"></textarea>",
|
|
8
|
+
"elements": [
|
|
9
|
+
{
|
|
10
|
+
"tag": "button",
|
|
11
|
+
"id": "",
|
|
12
|
+
"className": "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xs text-base font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:poin",
|
|
13
|
+
"role": "",
|
|
14
|
+
"ariaLabel": "",
|
|
15
|
+
"title": "Copy Prompt",
|
|
16
|
+
"placeholder": "",
|
|
17
|
+
"dataTestId": "copy-prompt-button",
|
|
18
|
+
"text": "",
|
|
19
|
+
"x": 336,
|
|
20
|
+
"y": -223,
|
|
21
|
+
"w": 28,
|
|
22
|
+
"h": 28
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"tag": "button",
|
|
26
|
+
"id": "",
|
|
27
|
+
"className": "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xs text-base font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:poin",
|
|
28
|
+
"role": "",
|
|
29
|
+
"ariaLabel": "",
|
|
30
|
+
"title": "Copy Prompt",
|
|
31
|
+
"placeholder": "",
|
|
32
|
+
"dataTestId": "copy-prompt-button",
|
|
33
|
+
"text": "",
|
|
34
|
+
"x": 336,
|
|
35
|
+
"y": -118,
|
|
36
|
+
"w": 28,
|
|
37
|
+
"h": 28
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"tag": "button",
|
|
41
|
+
"id": "",
|
|
42
|
+
"className": "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xs text-base font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:poin",
|
|
43
|
+
"role": "",
|
|
44
|
+
"ariaLabel": "",
|
|
45
|
+
"title": "Copy Prompt",
|
|
46
|
+
"placeholder": "",
|
|
47
|
+
"dataTestId": "copy-prompt-button",
|
|
48
|
+
"text": "",
|
|
49
|
+
"x": 336,
|
|
50
|
+
"y": 3,
|
|
51
|
+
"w": 28,
|
|
52
|
+
"h": 28
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"tag": "vscode-checkbox",
|
|
56
|
+
"id": "",
|
|
57
|
+
"className": "checked",
|
|
58
|
+
"role": "checkbox",
|
|
59
|
+
"ariaLabel": "Checkbox",
|
|
60
|
+
"title": "",
|
|
61
|
+
"placeholder": "",
|
|
62
|
+
"dataTestId": "",
|
|
63
|
+
"text": "",
|
|
64
|
+
"x": 18,
|
|
65
|
+
"y": 463,
|
|
66
|
+
"w": 18,
|
|
67
|
+
"h": 18
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"tag": "textarea",
|
|
71
|
+
"id": "",
|
|
72
|
+
"className": "w-full text-vscode-input-foreground cursor-text py-1.5 px-2 border-none outline-none focus:outline-none focus:ring-0 opacity-100 bg-transparent transition-background-color duration-150 ease-in-out wil",
|
|
73
|
+
"role": "",
|
|
74
|
+
"ariaLabel": "",
|
|
75
|
+
"title": "",
|
|
76
|
+
"placeholder": "Type your task here...",
|
|
77
|
+
"dataTestId": "",
|
|
78
|
+
"text": "",
|
|
79
|
+
"x": 35,
|
|
80
|
+
"y": 511,
|
|
81
|
+
"w": 329,
|
|
82
|
+
"h": 90
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"tag": "button",
|
|
86
|
+
"id": "",
|
|
87
|
+
"className": "min-w-0 max-w-full inline-flex items-center gap-1.5 relative whitespace-nowrap px-1.5 py-1 text-xs bg-transparent border border-[rgba(255,255,255,0.08)] rounded-md text-vscode-foreground transition-al",
|
|
88
|
+
"role": "",
|
|
89
|
+
"ariaLabel": "",
|
|
90
|
+
"title": "Select mode for interaction",
|
|
91
|
+
"placeholder": "",
|
|
92
|
+
"dataTestId": "dropdown-trigger",
|
|
93
|
+
"text": "💻 Code",
|
|
94
|
+
"x": 35,
|
|
95
|
+
"y": 613,
|
|
96
|
+
"w": 74,
|
|
97
|
+
"h": 25
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"tag": "button",
|
|
101
|
+
"id": "",
|
|
102
|
+
"className": "min-w-0 max-w-full inline-flex items-center gap-1.5 relative whitespace-nowrap px-1.5 py-1 text-xs bg-transparent border border-[rgba(255,255,255,0.08)] rounded-md text-vscode-foreground transition-al",
|
|
103
|
+
"role": "",
|
|
104
|
+
"ariaLabel": "",
|
|
105
|
+
"title": "Select API configuration",
|
|
106
|
+
"placeholder": "",
|
|
107
|
+
"dataTestId": "dropdown-trigger",
|
|
108
|
+
"text": "default",
|
|
109
|
+
"x": 113,
|
|
110
|
+
"y": 613,
|
|
111
|
+
"w": 69,
|
|
112
|
+
"h": 25
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"tag": "button",
|
|
116
|
+
"id": "",
|
|
117
|
+
"className": "relative inline-flex items-center justify-center bg-transparent border-none p-1.5 rounded-md min-w-[28px] min-h-[28px] text-vscode-foreground opacity-85 transition-all duration-150 hover:opacity-100 h",
|
|
118
|
+
"role": "",
|
|
119
|
+
"ariaLabel": "Add images to message",
|
|
120
|
+
"title": "Add images to message",
|
|
121
|
+
"placeholder": "",
|
|
122
|
+
"dataTestId": "",
|
|
123
|
+
"text": "",
|
|
124
|
+
"x": 269,
|
|
125
|
+
"y": 611,
|
|
126
|
+
"w": 28,
|
|
127
|
+
"h": 28
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"tag": "button",
|
|
131
|
+
"id": "",
|
|
132
|
+
"className": "inline-flex items-center justify-center whitespace-nowrap font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:op",
|
|
133
|
+
"role": "",
|
|
134
|
+
"ariaLabel": "",
|
|
135
|
+
"title": "",
|
|
136
|
+
"placeholder": "",
|
|
137
|
+
"dataTestId": "",
|
|
138
|
+
"text": "Send",
|
|
139
|
+
"x": 299,
|
|
140
|
+
"y": 613,
|
|
141
|
+
"w": 65,
|
|
142
|
+
"h": 24
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"tag": "textarea",
|
|
146
|
+
"id": "",
|
|
147
|
+
"className": "",
|
|
148
|
+
"role": "",
|
|
149
|
+
"ariaLabel": "",
|
|
150
|
+
"title": "",
|
|
151
|
+
"placeholder": "",
|
|
152
|
+
"dataTestId": "",
|
|
153
|
+
"text": "",
|
|
154
|
+
"x": 70,
|
|
155
|
+
"y": 0,
|
|
156
|
+
"w": 329,
|
|
157
|
+
"h": 12
|
|
158
|
+
}
|
|
159
|
+
]
|
|
160
|
+
}
|
|
161
|
+
}
|
|
@@ -37,8 +37,6 @@
|
|
|
37
37
|
"/usr/share/pearai"
|
|
38
38
|
]
|
|
39
39
|
},
|
|
40
|
-
"inputMethod": "cdp-type-and-send",
|
|
41
|
-
"inputSelector": "[contenteditable=\"true\"][role=\"textbox\"]",
|
|
42
40
|
"webviewMatchText": "chat-text-area",
|
|
43
41
|
"versionCommand": "pearai --version",
|
|
44
42
|
"providerVersion": "0.0.0",
|
|
@@ -70,4 +68,4 @@
|
|
|
70
68
|
"max": 600
|
|
71
69
|
}
|
|
72
70
|
}
|
|
73
|
-
}
|
|
71
|
+
}
|
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* CURSOR.md 4-5: 셀렉터 우선순위
|
|
5
|
-
* [contenteditable="true"][role="textbox"]
|
|
6
|
-
* → .chat-input textarea
|
|
7
|
-
* → .composer-input
|
|
8
|
-
* → textarea
|
|
9
|
-
*
|
|
10
|
-
* 최종 확인: 2026-03-06
|
|
2
|
+
* PearAI — focus_editor
|
|
11
3
|
*/
|
|
12
4
|
(() => {
|
|
13
|
-
const editor = document.querySelector('[
|
|
14
|
-
|| document.querySelector('
|
|
15
|
-
|| document.querySelector('.
|
|
16
|
-
|| document.querySelector('
|
|
17
|
-
|
|
18
|
-
if (editor)
|
|
19
|
-
|
|
5
|
+
const editor = document.querySelector('textarea[placeholder*="Type your task" i]')
|
|
6
|
+
|| document.querySelector('textarea')
|
|
7
|
+
|| document.querySelector('.chat-text-area textarea')
|
|
8
|
+
|| document.querySelector('[contenteditable="true"]');
|
|
9
|
+
|
|
10
|
+
if (!editor) return 'no editor found';
|
|
11
|
+
|
|
12
|
+
editor.scrollIntoView({ block: 'center' });
|
|
13
|
+
editor.focus();
|
|
14
|
+
editor.click?.();
|
|
15
|
+
return 'focused';
|
|
20
16
|
})()
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PearAI — webview_list_models
|
|
3
|
+
*/
|
|
4
|
+
(async () => {
|
|
5
|
+
try {
|
|
6
|
+
const knownModelPattern = /default|gpt|claude|gemini|sonnet|haiku|o1|o3|4\.1|3\.7/i;
|
|
7
|
+
const trigger = Array.from(document.querySelectorAll('button[data-testid="dropdown-trigger"], button[title], button'))
|
|
8
|
+
.find((button) => /select api configuration/i.test(button.getAttribute('title') || ''));
|
|
9
|
+
|
|
10
|
+
if (!trigger) {
|
|
11
|
+
return JSON.stringify({ models: [], current: '', error: 'model trigger not found' });
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const current = (trigger.textContent || '').trim();
|
|
15
|
+
trigger.click();
|
|
16
|
+
await new Promise((resolve) => setTimeout(resolve, 250));
|
|
17
|
+
|
|
18
|
+
const options = Array.from(document.querySelectorAll('[role="option"], [cmdk-item], [data-radix-collection-item], [data-state], button, div, span'))
|
|
19
|
+
.filter((node) => {
|
|
20
|
+
const rect = node.getBoundingClientRect();
|
|
21
|
+
const text = (node.textContent || '').trim();
|
|
22
|
+
return rect.width > 0
|
|
23
|
+
&& rect.height > 0
|
|
24
|
+
&& text
|
|
25
|
+
&& text.length < 80
|
|
26
|
+
&& !node.querySelector('textarea')
|
|
27
|
+
&& node.querySelectorAll('button').length === 0
|
|
28
|
+
&& node.children.length <= 2;
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
const models = [];
|
|
32
|
+
for (const option of options) {
|
|
33
|
+
const text = (option.textContent || '').trim();
|
|
34
|
+
if (!text || text === current) continue;
|
|
35
|
+
if (knownModelPattern.test(text)) {
|
|
36
|
+
models.push(text);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
document.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape', bubbles: true }));
|
|
41
|
+
return JSON.stringify({ models: [...new Set([current, ...models].filter(Boolean))], current });
|
|
42
|
+
} catch (error) {
|
|
43
|
+
return JSON.stringify({ models: [], current: '', error: String(error && error.message || error) });
|
|
44
|
+
}
|
|
45
|
+
})()
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PearAI — webview_list_modes
|
|
3
|
+
*/
|
|
4
|
+
(async () => {
|
|
5
|
+
try {
|
|
6
|
+
const knownModes = ['💻 Code', '🏗️ Architect', '❓ Ask', '🪲 Debug'];
|
|
7
|
+
const trigger = Array.from(document.querySelectorAll('button[data-testid="dropdown-trigger"], button[title], button'))
|
|
8
|
+
.find((button) => /select mode for interaction/i.test(button.getAttribute('title') || ''));
|
|
9
|
+
|
|
10
|
+
if (!trigger) {
|
|
11
|
+
return JSON.stringify({ modes: [], current: '', error: 'mode trigger not found' });
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const current = (trigger.textContent || '').trim();
|
|
15
|
+
trigger.click();
|
|
16
|
+
await new Promise((resolve) => setTimeout(resolve, 250));
|
|
17
|
+
|
|
18
|
+
const options = Array.from(document.querySelectorAll('[role="option"], [cmdk-item], [data-radix-collection-item], [data-state], button, div, span'))
|
|
19
|
+
.filter((node) => {
|
|
20
|
+
const rect = node.getBoundingClientRect();
|
|
21
|
+
const text = (node.textContent || '').trim();
|
|
22
|
+
return node !== trigger
|
|
23
|
+
&& !trigger.contains(node)
|
|
24
|
+
&& rect.width > 0
|
|
25
|
+
&& rect.height > 0
|
|
26
|
+
&& text
|
|
27
|
+
&& text.length < 40;
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
const modes = [];
|
|
31
|
+
for (const option of options) {
|
|
32
|
+
const text = (option.textContent || '').trim();
|
|
33
|
+
if (!text || text === current) continue;
|
|
34
|
+
if (knownModes.includes(text)) {
|
|
35
|
+
modes.push(text);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
document.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape', bubbles: true }));
|
|
40
|
+
return JSON.stringify({ modes: [...new Set([current, ...knownModes, ...modes].filter(Boolean))], current });
|
|
41
|
+
} catch (error) {
|
|
42
|
+
return JSON.stringify({ modes: [], current: '', error: String(error && error.message || error) });
|
|
43
|
+
}
|
|
44
|
+
})()
|