editormate 1.0.2 → 1.0.7
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/bin/cli.js +113 -12
- package/dist/adapters/ide/ide_adapters.js +147 -7
- package/dist/adapters/messaging/discord_adapter.js +606 -7
- package/dist/adapters/messaging/discord_menu.js +125 -7
- package/dist/adapters/messaging/matrix_adapter.js +98 -7
- package/dist/adapters/messaging/slack_adapter.js +420 -7
- package/dist/adapters/messaging/telegram_adapter.d.ts.map +1 -1
- package/dist/adapters/messaging/telegram_adapter.js +634 -7
- package/dist/adapters/messaging/telegram_adapter.js.map +1 -1
- package/dist/adapters/messaging/telegram_client.js +383 -7
- package/dist/adapters/messaging/telegram_keyboards.js +219 -7
- package/dist/adapters/messaging/whatsapp_adapter.js +153 -7
- package/dist/adapters/messaging/whatsapp_baileys.js +880 -7
- package/dist/core/blocking_prompt_bridge.js +255 -7
- package/dist/core/chat_switchboard.js +243 -7
- package/dist/core/companion_daemon.d.ts +4 -0
- package/dist/core/companion_daemon.d.ts.map +1 -1
- package/dist/core/companion_daemon.js +1191 -7
- package/dist/core/companion_daemon.js.map +1 -1
- package/dist/core/email_reporter.js +510 -7
- package/dist/core/licensing.d.ts.map +1 -1
- package/dist/core/licensing.js +335 -7
- package/dist/core/licensing.js.map +1 -1
- package/dist/core/media_handler.js +449 -7
- package/dist/core/os_keychain.js +155 -7
- package/dist/core/outbound_dispatcher.js +80 -7
- package/dist/core/pdf_generator.js +226 -7
- package/dist/core/process_checker.js +47 -7
- package/dist/core/prompt_sanitizer.js +93 -7
- package/dist/core/security.js +385 -7
- package/dist/core/session_manager.d.ts.map +1 -1
- package/dist/core/session_manager.js +1241 -7
- package/dist/core/session_manager.js.map +1 -1
- package/dist/core/standalone_dashboard/client_script.js +479 -7
- package/dist/core/standalone_dashboard/components/header.js +23 -7
- package/dist/core/standalone_dashboard/components/modals.js +11 -7
- package/dist/core/standalone_dashboard/components/remote_deck.js +228 -7
- package/dist/core/standalone_dashboard/components/settings_deck.js +205 -7
- package/dist/core/standalone_dashboard/index.js +49 -7
- package/dist/core/standalone_dashboard/styles.js +546 -7
- package/dist/core/standalone_dashboard.js +4 -7
- package/dist/core/telemetry.js +225 -7
- package/dist/core/transcript_watcher.d.ts.map +1 -1
- package/dist/core/transcript_watcher.js +257 -7
- package/dist/core/transcript_watcher.js.map +1 -1
- package/dist/core/transcription_refiner.js +203 -7
- package/dist/core/tui_dashboard.js +454 -7
- package/dist/index.js +13 -7
- package/dist/types.js +12 -7
- package/extension/editormate-1.0.7.vsix +0 -0
- package/extension/editormate-latest.vsix +0 -0
- package/package.json +4 -3
- package/extension/.vscodeignore +0 -4
- package/extension/LICENSE.md +0 -31
- package/extension/README.md +0 -55
- package/extension/assets/icon.png +0 -0
- package/extension/assets/icon.svg +0 -16
- package/extension/bin/cli.js +0 -264
- package/extension/bin/package.json +0 -3
- package/extension/daemon/adapters/ide/ide_adapters.d.ts +0 -45
- package/extension/daemon/adapters/ide/ide_adapters.d.ts.map +0 -1
- package/extension/daemon/adapters/ide/ide_adapters.js +0 -9
- package/extension/daemon/adapters/ide/ide_adapters.js.map +0 -1
- package/extension/daemon/adapters/messaging/discord_adapter.d.ts +0 -56
- package/extension/daemon/adapters/messaging/discord_adapter.d.ts.map +0 -1
- package/extension/daemon/adapters/messaging/discord_adapter.js +0 -9
- package/extension/daemon/adapters/messaging/discord_adapter.js.map +0 -1
- package/extension/daemon/adapters/messaging/discord_menu.d.ts +0 -15
- package/extension/daemon/adapters/messaging/discord_menu.d.ts.map +0 -1
- package/extension/daemon/adapters/messaging/discord_menu.js +0 -9
- package/extension/daemon/adapters/messaging/discord_menu.js.map +0 -1
- package/extension/daemon/adapters/messaging/matrix_adapter.d.ts +0 -39
- package/extension/daemon/adapters/messaging/matrix_adapter.d.ts.map +0 -1
- package/extension/daemon/adapters/messaging/matrix_adapter.js +0 -9
- package/extension/daemon/adapters/messaging/matrix_adapter.js.map +0 -1
- package/extension/daemon/adapters/messaging/slack_adapter.d.ts +0 -115
- package/extension/daemon/adapters/messaging/slack_adapter.d.ts.map +0 -1
- package/extension/daemon/adapters/messaging/slack_adapter.js +0 -9
- package/extension/daemon/adapters/messaging/slack_adapter.js.map +0 -1
- package/extension/daemon/adapters/messaging/telegram_adapter.d.ts +0 -90
- package/extension/daemon/adapters/messaging/telegram_adapter.d.ts.map +0 -1
- package/extension/daemon/adapters/messaging/telegram_adapter.js +0 -9
- package/extension/daemon/adapters/messaging/telegram_adapter.js.map +0 -1
- package/extension/daemon/adapters/messaging/telegram_client.d.ts +0 -75
- package/extension/daemon/adapters/messaging/telegram_client.d.ts.map +0 -1
- package/extension/daemon/adapters/messaging/telegram_client.js +0 -9
- package/extension/daemon/adapters/messaging/telegram_client.js.map +0 -1
- package/extension/daemon/adapters/messaging/telegram_keyboards.d.ts +0 -55
- package/extension/daemon/adapters/messaging/telegram_keyboards.d.ts.map +0 -1
- package/extension/daemon/adapters/messaging/telegram_keyboards.js +0 -9
- package/extension/daemon/adapters/messaging/telegram_keyboards.js.map +0 -1
- package/extension/daemon/adapters/messaging/whatsapp_adapter.d.ts +0 -30
- package/extension/daemon/adapters/messaging/whatsapp_adapter.d.ts.map +0 -1
- package/extension/daemon/adapters/messaging/whatsapp_adapter.js +0 -9
- package/extension/daemon/adapters/messaging/whatsapp_adapter.js.map +0 -1
- package/extension/daemon/adapters/messaging/whatsapp_baileys.d.ts +0 -84
- package/extension/daemon/adapters/messaging/whatsapp_baileys.d.ts.map +0 -1
- package/extension/daemon/adapters/messaging/whatsapp_baileys.js +0 -9
- package/extension/daemon/adapters/messaging/whatsapp_baileys.js.map +0 -1
- package/extension/daemon/core/blocking_prompt_bridge.d.ts +0 -99
- package/extension/daemon/core/blocking_prompt_bridge.d.ts.map +0 -1
- package/extension/daemon/core/blocking_prompt_bridge.js +0 -9
- package/extension/daemon/core/blocking_prompt_bridge.js.map +0 -1
- package/extension/daemon/core/chat_switchboard.d.ts +0 -35
- package/extension/daemon/core/chat_switchboard.d.ts.map +0 -1
- package/extension/daemon/core/chat_switchboard.js +0 -9
- package/extension/daemon/core/chat_switchboard.js.map +0 -1
- package/extension/daemon/core/companion_daemon.d.ts +0 -23
- package/extension/daemon/core/companion_daemon.d.ts.map +0 -1
- package/extension/daemon/core/companion_daemon.js +0 -9
- package/extension/daemon/core/companion_daemon.js.map +0 -1
- package/extension/daemon/core/email_reporter.d.ts +0 -109
- package/extension/daemon/core/email_reporter.d.ts.map +0 -1
- package/extension/daemon/core/email_reporter.js +0 -9
- package/extension/daemon/core/email_reporter.js.map +0 -1
- package/extension/daemon/core/licensing.d.ts +0 -44
- package/extension/daemon/core/licensing.d.ts.map +0 -1
- package/extension/daemon/core/licensing.js +0 -9
- package/extension/daemon/core/licensing.js.map +0 -1
- package/extension/daemon/core/media_handler.d.ts +0 -67
- package/extension/daemon/core/media_handler.d.ts.map +0 -1
- package/extension/daemon/core/media_handler.js +0 -9
- package/extension/daemon/core/media_handler.js.map +0 -1
- package/extension/daemon/core/os_keychain.d.ts +0 -41
- package/extension/daemon/core/os_keychain.d.ts.map +0 -1
- package/extension/daemon/core/os_keychain.js +0 -9
- package/extension/daemon/core/os_keychain.js.map +0 -1
- package/extension/daemon/core/outbound_dispatcher.d.ts +0 -33
- package/extension/daemon/core/outbound_dispatcher.d.ts.map +0 -1
- package/extension/daemon/core/outbound_dispatcher.js +0 -9
- package/extension/daemon/core/outbound_dispatcher.js.map +0 -1
- package/extension/daemon/core/pdf_generator.d.ts +0 -66
- package/extension/daemon/core/pdf_generator.d.ts.map +0 -1
- package/extension/daemon/core/pdf_generator.js +0 -9
- package/extension/daemon/core/pdf_generator.js.map +0 -1
- package/extension/daemon/core/process_checker.d.ts +0 -10
- package/extension/daemon/core/process_checker.d.ts.map +0 -1
- package/extension/daemon/core/process_checker.js +0 -9
- package/extension/daemon/core/process_checker.js.map +0 -1
- package/extension/daemon/core/prompt_sanitizer.d.ts +0 -15
- package/extension/daemon/core/prompt_sanitizer.d.ts.map +0 -1
- package/extension/daemon/core/prompt_sanitizer.js +0 -9
- package/extension/daemon/core/prompt_sanitizer.js.map +0 -1
- package/extension/daemon/core/security.d.ts +0 -75
- package/extension/daemon/core/security.d.ts.map +0 -1
- package/extension/daemon/core/security.js +0 -9
- package/extension/daemon/core/security.js.map +0 -1
- package/extension/daemon/core/session_manager.d.ts +0 -67
- package/extension/daemon/core/session_manager.d.ts.map +0 -1
- package/extension/daemon/core/session_manager.js +0 -9
- package/extension/daemon/core/session_manager.js.map +0 -1
- package/extension/daemon/core/standalone_dashboard/client_script.d.ts +0 -5
- package/extension/daemon/core/standalone_dashboard/client_script.d.ts.map +0 -1
- package/extension/daemon/core/standalone_dashboard/client_script.js +0 -9
- package/extension/daemon/core/standalone_dashboard/client_script.js.map +0 -1
- package/extension/daemon/core/standalone_dashboard/components/header.d.ts +0 -5
- package/extension/daemon/core/standalone_dashboard/components/header.d.ts.map +0 -1
- package/extension/daemon/core/standalone_dashboard/components/header.js +0 -9
- package/extension/daemon/core/standalone_dashboard/components/header.js.map +0 -1
- package/extension/daemon/core/standalone_dashboard/components/modals.d.ts +0 -5
- package/extension/daemon/core/standalone_dashboard/components/modals.d.ts.map +0 -1
- package/extension/daemon/core/standalone_dashboard/components/modals.js +0 -9
- package/extension/daemon/core/standalone_dashboard/components/modals.js.map +0 -1
- package/extension/daemon/core/standalone_dashboard/components/remote_deck.d.ts +0 -5
- package/extension/daemon/core/standalone_dashboard/components/remote_deck.d.ts.map +0 -1
- package/extension/daemon/core/standalone_dashboard/components/remote_deck.js +0 -9
- package/extension/daemon/core/standalone_dashboard/components/remote_deck.js.map +0 -1
- package/extension/daemon/core/standalone_dashboard/components/settings_deck.d.ts +0 -5
- package/extension/daemon/core/standalone_dashboard/components/settings_deck.d.ts.map +0 -1
- package/extension/daemon/core/standalone_dashboard/components/settings_deck.js +0 -9
- package/extension/daemon/core/standalone_dashboard/components/settings_deck.js.map +0 -1
- package/extension/daemon/core/standalone_dashboard/index.d.ts +0 -13
- package/extension/daemon/core/standalone_dashboard/index.d.ts.map +0 -1
- package/extension/daemon/core/standalone_dashboard/index.js +0 -9
- package/extension/daemon/core/standalone_dashboard/index.js.map +0 -1
- package/extension/daemon/core/standalone_dashboard/styles.d.ts +0 -6
- package/extension/daemon/core/standalone_dashboard/styles.d.ts.map +0 -1
- package/extension/daemon/core/standalone_dashboard/styles.js +0 -9
- package/extension/daemon/core/standalone_dashboard/styles.js.map +0 -1
- package/extension/daemon/core/standalone_dashboard.d.ts +0 -6
- package/extension/daemon/core/standalone_dashboard.d.ts.map +0 -1
- package/extension/daemon/core/standalone_dashboard.js +0 -9
- package/extension/daemon/core/standalone_dashboard.js.map +0 -1
- package/extension/daemon/core/telemetry.d.ts +0 -62
- package/extension/daemon/core/telemetry.d.ts.map +0 -1
- package/extension/daemon/core/telemetry.js +0 -9
- package/extension/daemon/core/telemetry.js.map +0 -1
- package/extension/daemon/core/transcript_watcher.d.ts +0 -23
- package/extension/daemon/core/transcript_watcher.d.ts.map +0 -1
- package/extension/daemon/core/transcript_watcher.js +0 -9
- package/extension/daemon/core/transcript_watcher.js.map +0 -1
- package/extension/daemon/core/transcription_refiner.d.ts +0 -34
- package/extension/daemon/core/transcription_refiner.d.ts.map +0 -1
- package/extension/daemon/core/transcription_refiner.js +0 -9
- package/extension/daemon/core/transcription_refiner.js.map +0 -1
- package/extension/daemon/core/tui_dashboard.d.ts +0 -8
- package/extension/daemon/core/tui_dashboard.d.ts.map +0 -1
- package/extension/daemon/core/tui_dashboard.js +0 -9
- package/extension/daemon/core/tui_dashboard.js.map +0 -1
- package/extension/daemon/index.d.ts +0 -15
- package/extension/daemon/index.d.ts.map +0 -1
- package/extension/daemon/index.js +0 -9
- package/extension/daemon/index.js.map +0 -1
- package/extension/daemon/types.d.ts +0 -159
- package/extension/daemon/types.d.ts.map +0 -1
- package/extension/daemon/types.js +0 -9
- package/extension/daemon/types.js.map +0 -1
- package/extension/dist/adapters/ide/ide_adapters.d.ts +0 -45
- package/extension/dist/adapters/ide/ide_adapters.d.ts.map +0 -1
- package/extension/dist/adapters/ide/ide_adapters.js +0 -9
- package/extension/dist/adapters/ide/ide_adapters.js.map +0 -1
- package/extension/dist/adapters/messaging/discord_adapter.d.ts +0 -56
- package/extension/dist/adapters/messaging/discord_adapter.d.ts.map +0 -1
- package/extension/dist/adapters/messaging/discord_adapter.js +0 -9
- package/extension/dist/adapters/messaging/discord_adapter.js.map +0 -1
- package/extension/dist/adapters/messaging/discord_menu.d.ts +0 -15
- package/extension/dist/adapters/messaging/discord_menu.d.ts.map +0 -1
- package/extension/dist/adapters/messaging/discord_menu.js +0 -9
- package/extension/dist/adapters/messaging/discord_menu.js.map +0 -1
- package/extension/dist/adapters/messaging/matrix_adapter.d.ts +0 -39
- package/extension/dist/adapters/messaging/matrix_adapter.d.ts.map +0 -1
- package/extension/dist/adapters/messaging/matrix_adapter.js +0 -9
- package/extension/dist/adapters/messaging/matrix_adapter.js.map +0 -1
- package/extension/dist/adapters/messaging/slack_adapter.d.ts +0 -115
- package/extension/dist/adapters/messaging/slack_adapter.d.ts.map +0 -1
- package/extension/dist/adapters/messaging/slack_adapter.js +0 -9
- package/extension/dist/adapters/messaging/slack_adapter.js.map +0 -1
- package/extension/dist/adapters/messaging/telegram_adapter.d.ts +0 -90
- package/extension/dist/adapters/messaging/telegram_adapter.d.ts.map +0 -1
- package/extension/dist/adapters/messaging/telegram_adapter.js +0 -9
- package/extension/dist/adapters/messaging/telegram_adapter.js.map +0 -1
- package/extension/dist/adapters/messaging/telegram_client.d.ts +0 -75
- package/extension/dist/adapters/messaging/telegram_client.d.ts.map +0 -1
- package/extension/dist/adapters/messaging/telegram_client.js +0 -9
- package/extension/dist/adapters/messaging/telegram_client.js.map +0 -1
- package/extension/dist/adapters/messaging/telegram_keyboards.d.ts +0 -55
- package/extension/dist/adapters/messaging/telegram_keyboards.d.ts.map +0 -1
- package/extension/dist/adapters/messaging/telegram_keyboards.js +0 -9
- package/extension/dist/adapters/messaging/telegram_keyboards.js.map +0 -1
- package/extension/dist/adapters/messaging/whatsapp_adapter.d.ts +0 -30
- package/extension/dist/adapters/messaging/whatsapp_adapter.d.ts.map +0 -1
- package/extension/dist/adapters/messaging/whatsapp_adapter.js +0 -9
- package/extension/dist/adapters/messaging/whatsapp_adapter.js.map +0 -1
- package/extension/dist/adapters/messaging/whatsapp_baileys.d.ts +0 -84
- package/extension/dist/adapters/messaging/whatsapp_baileys.d.ts.map +0 -1
- package/extension/dist/adapters/messaging/whatsapp_baileys.js +0 -9
- package/extension/dist/adapters/messaging/whatsapp_baileys.js.map +0 -1
- package/extension/dist/adapters/package.json +0 -3
- package/extension/dist/command_guard.js +0 -9
- package/extension/dist/commands_manager.js +0 -9
- package/extension/dist/core/blocking_prompt_bridge.d.ts +0 -99
- package/extension/dist/core/blocking_prompt_bridge.d.ts.map +0 -1
- package/extension/dist/core/blocking_prompt_bridge.js +0 -9
- package/extension/dist/core/blocking_prompt_bridge.js.map +0 -1
- package/extension/dist/core/chat_switchboard.d.ts +0 -35
- package/extension/dist/core/chat_switchboard.d.ts.map +0 -1
- package/extension/dist/core/chat_switchboard.js +0 -9
- package/extension/dist/core/chat_switchboard.js.map +0 -1
- package/extension/dist/core/companion_daemon.d.ts +0 -23
- package/extension/dist/core/companion_daemon.d.ts.map +0 -1
- package/extension/dist/core/companion_daemon.js +0 -9
- package/extension/dist/core/companion_daemon.js.map +0 -1
- package/extension/dist/core/email_reporter.d.ts +0 -109
- package/extension/dist/core/email_reporter.d.ts.map +0 -1
- package/extension/dist/core/email_reporter.js +0 -9
- package/extension/dist/core/email_reporter.js.map +0 -1
- package/extension/dist/core/licensing.d.ts +0 -44
- package/extension/dist/core/licensing.d.ts.map +0 -1
- package/extension/dist/core/licensing.js +0 -9
- package/extension/dist/core/licensing.js.map +0 -1
- package/extension/dist/core/media_handler.d.ts +0 -67
- package/extension/dist/core/media_handler.d.ts.map +0 -1
- package/extension/dist/core/media_handler.js +0 -9
- package/extension/dist/core/media_handler.js.map +0 -1
- package/extension/dist/core/os_keychain.d.ts +0 -41
- package/extension/dist/core/os_keychain.d.ts.map +0 -1
- package/extension/dist/core/os_keychain.js +0 -9
- package/extension/dist/core/os_keychain.js.map +0 -1
- package/extension/dist/core/outbound_dispatcher.d.ts +0 -33
- package/extension/dist/core/outbound_dispatcher.d.ts.map +0 -1
- package/extension/dist/core/outbound_dispatcher.js +0 -9
- package/extension/dist/core/outbound_dispatcher.js.map +0 -1
- package/extension/dist/core/package.json +0 -3
- package/extension/dist/core/pdf_generator.d.ts +0 -66
- package/extension/dist/core/pdf_generator.d.ts.map +0 -1
- package/extension/dist/core/pdf_generator.js +0 -9
- package/extension/dist/core/pdf_generator.js.map +0 -1
- package/extension/dist/core/process_checker.d.ts +0 -10
- package/extension/dist/core/process_checker.d.ts.map +0 -1
- package/extension/dist/core/process_checker.js +0 -9
- package/extension/dist/core/process_checker.js.map +0 -1
- package/extension/dist/core/prompt_sanitizer.d.ts +0 -15
- package/extension/dist/core/prompt_sanitizer.d.ts.map +0 -1
- package/extension/dist/core/prompt_sanitizer.js +0 -9
- package/extension/dist/core/prompt_sanitizer.js.map +0 -1
- package/extension/dist/core/security.d.ts +0 -75
- package/extension/dist/core/security.d.ts.map +0 -1
- package/extension/dist/core/security.js +0 -9
- package/extension/dist/core/security.js.map +0 -1
- package/extension/dist/core/session_manager.d.ts +0 -67
- package/extension/dist/core/session_manager.d.ts.map +0 -1
- package/extension/dist/core/session_manager.js +0 -9
- package/extension/dist/core/session_manager.js.map +0 -1
- package/extension/dist/core/standalone_dashboard/client_script.d.ts +0 -5
- package/extension/dist/core/standalone_dashboard/client_script.d.ts.map +0 -1
- package/extension/dist/core/standalone_dashboard/client_script.js +0 -9
- package/extension/dist/core/standalone_dashboard/client_script.js.map +0 -1
- package/extension/dist/core/standalone_dashboard/components/header.d.ts +0 -5
- package/extension/dist/core/standalone_dashboard/components/header.d.ts.map +0 -1
- package/extension/dist/core/standalone_dashboard/components/header.js +0 -9
- package/extension/dist/core/standalone_dashboard/components/header.js.map +0 -1
- package/extension/dist/core/standalone_dashboard/components/modals.d.ts +0 -5
- package/extension/dist/core/standalone_dashboard/components/modals.d.ts.map +0 -1
- package/extension/dist/core/standalone_dashboard/components/modals.js +0 -9
- package/extension/dist/core/standalone_dashboard/components/modals.js.map +0 -1
- package/extension/dist/core/standalone_dashboard/components/remote_deck.d.ts +0 -5
- package/extension/dist/core/standalone_dashboard/components/remote_deck.d.ts.map +0 -1
- package/extension/dist/core/standalone_dashboard/components/remote_deck.js +0 -9
- package/extension/dist/core/standalone_dashboard/components/remote_deck.js.map +0 -1
- package/extension/dist/core/standalone_dashboard/components/settings_deck.d.ts +0 -5
- package/extension/dist/core/standalone_dashboard/components/settings_deck.d.ts.map +0 -1
- package/extension/dist/core/standalone_dashboard/components/settings_deck.js +0 -9
- package/extension/dist/core/standalone_dashboard/components/settings_deck.js.map +0 -1
- package/extension/dist/core/standalone_dashboard/index.d.ts +0 -13
- package/extension/dist/core/standalone_dashboard/index.d.ts.map +0 -1
- package/extension/dist/core/standalone_dashboard/index.js +0 -9
- package/extension/dist/core/standalone_dashboard/index.js.map +0 -1
- package/extension/dist/core/standalone_dashboard/styles.d.ts +0 -6
- package/extension/dist/core/standalone_dashboard/styles.d.ts.map +0 -1
- package/extension/dist/core/standalone_dashboard/styles.js +0 -9
- package/extension/dist/core/standalone_dashboard/styles.js.map +0 -1
- package/extension/dist/core/standalone_dashboard.d.ts +0 -6
- package/extension/dist/core/standalone_dashboard.d.ts.map +0 -1
- package/extension/dist/core/standalone_dashboard.js +0 -9
- package/extension/dist/core/standalone_dashboard.js.map +0 -1
- package/extension/dist/core/telemetry.d.ts +0 -62
- package/extension/dist/core/telemetry.d.ts.map +0 -1
- package/extension/dist/core/telemetry.js +0 -9
- package/extension/dist/core/telemetry.js.map +0 -1
- package/extension/dist/core/transcript_watcher.d.ts +0 -23
- package/extension/dist/core/transcript_watcher.d.ts.map +0 -1
- package/extension/dist/core/transcript_watcher.js +0 -9
- package/extension/dist/core/transcript_watcher.js.map +0 -1
- package/extension/dist/core/transcription_refiner.d.ts +0 -34
- package/extension/dist/core/transcription_refiner.d.ts.map +0 -1
- package/extension/dist/core/transcription_refiner.js +0 -9
- package/extension/dist/core/transcription_refiner.js.map +0 -1
- package/extension/dist/core/tui_dashboard.d.ts +0 -8
- package/extension/dist/core/tui_dashboard.d.ts.map +0 -1
- package/extension/dist/core/tui_dashboard.js +0 -9
- package/extension/dist/core/tui_dashboard.js.map +0 -1
- package/extension/dist/extension.js +0 -9
- package/extension/dist/ide_detector.js +0 -9
- package/extension/dist/index.js +0 -9
- package/extension/dist/remote_actions.js +0 -9
- package/extension/dist/sidebar_provider.js +0 -9
- package/extension/dist/types.js +0 -9
- package/extension/dist/webview/webview_html.js +0 -830
- package/extension/dist/webview/webview_scripts.js +0 -701
- package/extension/dist/webview/webview_styles.js +0 -1075
- package/extension/dist/webview_template.js +0 -9
- package/extension/editormate-1.0.0.vsix +0 -0
- package/extension/editormate-1.0.1.vsix +0 -0
- package/extension/editormate-1.0.2.vsix +0 -0
- package/extension/editormate-companion-1.0.0.vsix +0 -0
- package/extension/node_modules/.package-lock.json +0 -15
- package/extension/node_modules/@types/vscode/LICENSE +0 -21
- package/extension/node_modules/@types/vscode/README.md +0 -15
- package/extension/node_modules/@types/vscode/index.d.ts +0 -21244
- package/extension/node_modules/@types/vscode/package.json +0 -26
- package/extension/package-lock.json +0 -25
- package/extension/package.json +0 -154
- package/extension/scripts/build_protected.js +0 -88
- package/extension/scripts/transcribe_audio.py +0 -42
- package/extension/src/command_guard.ts +0 -201
- package/extension/src/commands_manager.ts +0 -466
- package/extension/src/extension.ts +0 -458
- package/extension/src/ide_detector.ts +0 -60
- package/extension/src/remote_actions.ts +0 -284
- package/extension/src/sidebar_provider.ts +0 -471
- package/extension/src/webview/webview_html.ts +0 -895
- package/extension/src/webview/webview_scripts.ts +0 -698
- package/extension/src/webview/webview_styles.ts +0 -1073
- package/extension/src/webview_template.ts +0 -33
- package/extension/tsconfig.json +0 -16
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@types/vscode",
|
|
3
|
-
"version": "1.140.0",
|
|
4
|
-
"description": "TypeScript definitions for vscode",
|
|
5
|
-
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/vscode",
|
|
6
|
-
"license": "MIT",
|
|
7
|
-
"contributors": [
|
|
8
|
-
{
|
|
9
|
-
"name": "Visual Studio Code Team, Microsoft",
|
|
10
|
-
"githubUsername": "microsoft",
|
|
11
|
-
"url": "https://github.com/microsoft"
|
|
12
|
-
}
|
|
13
|
-
],
|
|
14
|
-
"main": "",
|
|
15
|
-
"types": "index.d.ts",
|
|
16
|
-
"repository": {
|
|
17
|
-
"type": "git",
|
|
18
|
-
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
|
|
19
|
-
"directory": "types/vscode"
|
|
20
|
-
},
|
|
21
|
-
"scripts": {},
|
|
22
|
-
"dependencies": {},
|
|
23
|
-
"peerDependencies": {},
|
|
24
|
-
"typesPublisherContentHash": "427dc5ba4504c5fd5e109ddcb5dddf9fbb3123fbc69ed3b5e767842a869a1e1a",
|
|
25
|
-
"typeScriptVersion": "5.6"
|
|
26
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "editormate",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"lockfileVersion": 3,
|
|
5
|
-
"requires": true,
|
|
6
|
-
"packages": {
|
|
7
|
-
"": {
|
|
8
|
-
"name": "editormate",
|
|
9
|
-
"version": "1.0.0",
|
|
10
|
-
"devDependencies": {
|
|
11
|
-
"@types/vscode": "^1.140.0"
|
|
12
|
-
},
|
|
13
|
-
"engines": {
|
|
14
|
-
"vscode": "^1.80.0"
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
"node_modules/@types/vscode": {
|
|
18
|
-
"version": "1.140.0",
|
|
19
|
-
"resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.140.0.tgz",
|
|
20
|
-
"integrity": "sha512-KAB5RBZIgnUhpp4mKsVJPPHLOQKu6WtGy2xpfWjaajEXO4xIIC+UESAXLiQ9ewx6QD1uBmvC/S8BJzkbvv4bRA==",
|
|
21
|
-
"dev": true,
|
|
22
|
-
"license": "MIT"
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
package/extension/package.json
DELETED
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "editormate",
|
|
3
|
-
"displayName": "EditorMate",
|
|
4
|
-
"description": "Mobile companion and status monitor for AI coding workflows.",
|
|
5
|
-
"version": "1.0.2",
|
|
6
|
-
"publisher": "praveenojha",
|
|
7
|
-
"author": {
|
|
8
|
-
"name": "Praveen Ojha",
|
|
9
|
-
"url": "https://praveenojha.com"
|
|
10
|
-
},
|
|
11
|
-
"homepage": "https://praveenojha.com/store/editormate",
|
|
12
|
-
"bugs": {
|
|
13
|
-
"url": "https://praveenojha.com/store/editormate#support"
|
|
14
|
-
},
|
|
15
|
-
"license": "Commercial",
|
|
16
|
-
"icon": "assets/icon.png",
|
|
17
|
-
"engines": {
|
|
18
|
-
"vscode": "^1.80.0"
|
|
19
|
-
},
|
|
20
|
-
"repository": {
|
|
21
|
-
"type": "git",
|
|
22
|
-
"url": "https://github.com/PraveenOjha/editormate"
|
|
23
|
-
},
|
|
24
|
-
"categories": [
|
|
25
|
-
"Programming Languages",
|
|
26
|
-
"Machine Learning",
|
|
27
|
-
"Other"
|
|
28
|
-
],
|
|
29
|
-
"keywords": [
|
|
30
|
-
"companion",
|
|
31
|
-
"productivity",
|
|
32
|
-
"status",
|
|
33
|
-
"workflow",
|
|
34
|
-
"editormate"
|
|
35
|
-
],
|
|
36
|
-
"main": "./dist/extension.js",
|
|
37
|
-
"activationEvents": [
|
|
38
|
-
"onView:editormate.controlPanel",
|
|
39
|
-
"onView:editormate.explorerPanel"
|
|
40
|
-
],
|
|
41
|
-
"contributes": {
|
|
42
|
-
"viewsContainers": {
|
|
43
|
-
"activitybar": [
|
|
44
|
-
{
|
|
45
|
-
"id": "editormate-sidebar",
|
|
46
|
-
"title": "EditorMate",
|
|
47
|
-
"icon": "assets/icon.svg"
|
|
48
|
-
}
|
|
49
|
-
]
|
|
50
|
-
},
|
|
51
|
-
"views": {
|
|
52
|
-
"editormate-sidebar": [
|
|
53
|
-
{
|
|
54
|
-
"type": "webview",
|
|
55
|
-
"id": "editormate.controlPanel",
|
|
56
|
-
"name": "EditorMate"
|
|
57
|
-
}
|
|
58
|
-
],
|
|
59
|
-
"explorer": [
|
|
60
|
-
{
|
|
61
|
-
"type": "webview",
|
|
62
|
-
"id": "editormate.explorerPanel",
|
|
63
|
-
"name": "EditorMate"
|
|
64
|
-
}
|
|
65
|
-
]
|
|
66
|
-
},
|
|
67
|
-
"commands": [
|
|
68
|
-
{
|
|
69
|
-
"command": "editormate.status",
|
|
70
|
-
"title": "EditorMate: Dashboard"
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
"command": "editormate.openSidebar",
|
|
74
|
-
"title": "EditorMate: Open Sidebar"
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
"command": "editormate.connectTelegram",
|
|
78
|
-
"title": "EditorMate: Connect Telegram"
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
"command": "editormate.connectDiscord",
|
|
82
|
-
"title": "EditorMate: Connect Discord"
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
"command": "editormate.connectWhatsApp",
|
|
86
|
-
"title": "EditorMate: Connect WhatsApp"
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
"command": "editormate.testPrompt",
|
|
90
|
-
"title": "EditorMate: Send Test Card"
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
"command": "editormate.pinToChat",
|
|
94
|
-
"title": "EditorMate: Pin Response"
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
"command": "editormate.manageAliases",
|
|
98
|
-
"title": "EditorMate: Manage Aliases"
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
"command": "editormate.addAlias",
|
|
102
|
-
"title": "EditorMate: Add Alias"
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
"command": "editormate.enableCompanionService",
|
|
106
|
-
"title": "EditorMate: Enable Companion Service"
|
|
107
|
-
}
|
|
108
|
-
],
|
|
109
|
-
"configuration": {
|
|
110
|
-
"title": "EditorMate",
|
|
111
|
-
"properties": {
|
|
112
|
-
"editormate.chatRouting": {
|
|
113
|
-
"type": "string",
|
|
114
|
-
"enum": [
|
|
115
|
-
"autoPin",
|
|
116
|
-
"autoSubmit",
|
|
117
|
-
"quickChat",
|
|
118
|
-
"manualToast"
|
|
119
|
-
],
|
|
120
|
-
"enumDescriptions": [
|
|
121
|
-
"Pin incoming message into active chat prompt",
|
|
122
|
-
"Submit incoming message to active agent",
|
|
123
|
-
"Open Quick Chat prompt with message",
|
|
124
|
-
"Show notification toast with action button"
|
|
125
|
-
],
|
|
126
|
-
"default": "autoPin",
|
|
127
|
-
"description": "Select routing mode for incoming messages"
|
|
128
|
-
},
|
|
129
|
-
"editormate.daemonPort": {
|
|
130
|
-
"type": "number",
|
|
131
|
-
"default": 4588,
|
|
132
|
-
"description": "Port of the companion daemon"
|
|
133
|
-
},
|
|
134
|
-
"editormate.botUsername": {
|
|
135
|
-
"type": "string",
|
|
136
|
-
"default": "EditorMate_bot",
|
|
137
|
-
"description": "Telegram bot username"
|
|
138
|
-
},
|
|
139
|
-
"editormate.showStatusBar": {
|
|
140
|
-
"type": "boolean",
|
|
141
|
-
"default": true,
|
|
142
|
-
"description": "Show status in the status bar"
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
},
|
|
147
|
-
"scripts": {
|
|
148
|
-
"prepackage": "mkdir -p daemon bin scripts && cp -r ../dist/* daemon/ && cp -r ../bin/* bin/ && cp -r ../scripts/* scripts/ 2>/dev/null || true",
|
|
149
|
-
"package": "npm run prepackage && npx @vscode/vsce package --no-dependencies --allow-missing-repository --allow-star-activation"
|
|
150
|
-
},
|
|
151
|
-
"devDependencies": {
|
|
152
|
-
"@types/vscode": "^1.80.0"
|
|
153
|
-
}
|
|
154
|
-
}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import { fileURLToPath } from 'url';
|
|
4
|
-
import JavaScriptObfuscator from 'javascript-obfuscator';
|
|
5
|
-
|
|
6
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
7
|
-
const __dirname = path.dirname(__filename);
|
|
8
|
-
const rootDir = path.resolve(__dirname, '..');
|
|
9
|
-
|
|
10
|
-
const obfuscationOptions = {
|
|
11
|
-
compact: true,
|
|
12
|
-
controlFlowFlattening: true,
|
|
13
|
-
controlFlowFlatteningThreshold: 0.75,
|
|
14
|
-
deadCodeInjection: true,
|
|
15
|
-
deadCodeInjectionThreshold: 0.3,
|
|
16
|
-
debugProtection: false,
|
|
17
|
-
disableConsoleOutput: false,
|
|
18
|
-
identifierNamesGenerator: 'hexadecimal',
|
|
19
|
-
log: false,
|
|
20
|
-
numbersToExpressions: true,
|
|
21
|
-
renameGlobals: false,
|
|
22
|
-
selfDefending: false,
|
|
23
|
-
simplify: true,
|
|
24
|
-
splitStrings: true,
|
|
25
|
-
splitStringsChunkLength: 8,
|
|
26
|
-
stringArray: true,
|
|
27
|
-
stringArrayCallsTransform: true,
|
|
28
|
-
stringArrayEncoding: ['base64'],
|
|
29
|
-
stringArrayIndexShift: true,
|
|
30
|
-
stringArrayRotate: true,
|
|
31
|
-
stringArrayShuffle: true,
|
|
32
|
-
stringArrayWrappersCount: 2,
|
|
33
|
-
stringArrayWrappersChainedCalls: true,
|
|
34
|
-
stringArrayWrappersParametersMaxCount: 4,
|
|
35
|
-
stringArrayWrappersType: 'function',
|
|
36
|
-
stringArrayThreshold: 0.8,
|
|
37
|
-
target: 'node',
|
|
38
|
-
unicodeEscapeSequence: false
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
const legalBanner = `/**
|
|
42
|
-
* EditorMate — Universal AI Remote Control & Companion
|
|
43
|
-
* Copyright (c) 2026 Praveen Ojha (https://praveenojha.com). All Rights Reserved.
|
|
44
|
-
* PROPRIETARY AND CONFIDENTIAL.
|
|
45
|
-
* Designed & written by Praveen Ojha.
|
|
46
|
-
* Even if you can inspect or read this compiled code, you may NOT copy, modify,
|
|
47
|
-
* distribute, or reverse-engineer any part of this software without prior written consent.
|
|
48
|
-
*/
|
|
49
|
-
`;
|
|
50
|
-
|
|
51
|
-
function obfuscateDirectory(dirPath) {
|
|
52
|
-
if (!fs.existsSync(dirPath)) return;
|
|
53
|
-
const entries = fs.readdirSync(dirPath, { withFileTypes: true });
|
|
54
|
-
|
|
55
|
-
for (const entry of entries) {
|
|
56
|
-
const fullPath = path.join(dirPath, entry.name);
|
|
57
|
-
if (entry.isDirectory()) {
|
|
58
|
-
if (entry.name !== 'node_modules' && entry.name !== '.git' && entry.name !== 'webview') {
|
|
59
|
-
obfuscateDirectory(fullPath);
|
|
60
|
-
}
|
|
61
|
-
} else if (entry.isFile() && entry.name.endsWith('.js') && !entry.name.endsWith('.d.ts')) {
|
|
62
|
-
try {
|
|
63
|
-
const sourceCode = fs.readFileSync(fullPath, 'utf8');
|
|
64
|
-
const obfuscationResult = JavaScriptObfuscator.obfuscate(sourceCode, obfuscationOptions);
|
|
65
|
-
const finalCode = legalBanner + obfuscationResult.getObfuscatedCode();
|
|
66
|
-
fs.writeFileSync(fullPath, finalCode, 'utf8');
|
|
67
|
-
console.log(`🛡️ Obfuscated: ${path.relative(rootDir, fullPath)}`);
|
|
68
|
-
} catch (err) {
|
|
69
|
-
console.error(`❌ Failed to obfuscate ${fullPath}:`, err.message);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
console.log('🚀 Starting EditorMate Proprietary Code Obfuscation...');
|
|
76
|
-
const targetDirs = [
|
|
77
|
-
path.join(rootDir, 'dist'),
|
|
78
|
-
path.join(rootDir, 'extension', 'dist')
|
|
79
|
-
];
|
|
80
|
-
|
|
81
|
-
for (const dir of targetDirs) {
|
|
82
|
-
if (fs.existsSync(dir)) {
|
|
83
|
-
console.log(`\n📦 Protecting folder: ${path.relative(rootDir, dir)}`);
|
|
84
|
-
obfuscateDirectory(dir);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
console.log('\n✅ All proprietary code successfully obfuscated and secured for distribution!');
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
"""
|
|
3
|
-
EditorMate Whisper Speech-to-Text Transcriber
|
|
4
|
-
Fast sub-second local CPU/GPU speech transcription for incoming voice notes.
|
|
5
|
-
"""
|
|
6
|
-
|
|
7
|
-
import sys
|
|
8
|
-
import os
|
|
9
|
-
import json
|
|
10
|
-
|
|
11
|
-
def transcribe(audio_path: str):
|
|
12
|
-
if not os.path.exists(audio_path):
|
|
13
|
-
print(json.dumps({"error": f"Audio file not found: {audio_path}", "text": ""}))
|
|
14
|
-
sys.exit(1)
|
|
15
|
-
|
|
16
|
-
try:
|
|
17
|
-
from faster_whisper import WhisperModel
|
|
18
|
-
# Use tiny model for sub-second CPU inference (~39 MB, int8 quantized)
|
|
19
|
-
model = WhisperModel("tiny", device="cpu", compute_type="int8")
|
|
20
|
-
segments, info = model.transcribe(audio_path, beam_size=3, language=None)
|
|
21
|
-
|
|
22
|
-
text_parts = []
|
|
23
|
-
for segment in segments:
|
|
24
|
-
text_parts.append(segment.text.strip())
|
|
25
|
-
|
|
26
|
-
full_text = " ".join(text_parts).strip()
|
|
27
|
-
result = {
|
|
28
|
-
"success": True,
|
|
29
|
-
"text": full_text,
|
|
30
|
-
"language": info.language if hasattr(info, "language") else "en",
|
|
31
|
-
"duration": round(info.duration, 2) if hasattr(info, "duration") else 0
|
|
32
|
-
}
|
|
33
|
-
print(json.dumps(result))
|
|
34
|
-
except Exception as e:
|
|
35
|
-
print(json.dumps({"success": False, "error": str(e), "text": ""}))
|
|
36
|
-
sys.exit(1)
|
|
37
|
-
|
|
38
|
-
if __name__ == "__main__":
|
|
39
|
-
if len(sys.argv) < 2:
|
|
40
|
-
print(json.dumps({"error": "Usage: transcribe_audio.py <audio_path>", "text": ""}))
|
|
41
|
-
sys.exit(1)
|
|
42
|
-
transcribe(sys.argv[1])
|
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* EditorMate — Remote Execution Security Guard
|
|
3
|
-
* Enforces execution policies: Allow, Deny, and Allow All (Whitelist).
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import * as vscode from 'vscode';
|
|
7
|
-
|
|
8
|
-
export type ApprovalMode = 'prompt' | 'allow_all' | 'deny_all';
|
|
9
|
-
|
|
10
|
-
export interface CommandExecutionRecord {
|
|
11
|
-
timestamp: number;
|
|
12
|
-
command: string;
|
|
13
|
-
alias?: string;
|
|
14
|
-
source: string;
|
|
15
|
-
status: 'allowed' | 'denied' | 'auto_allowed';
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export class CommandGuard {
|
|
19
|
-
private _mode: ApprovalMode = 'prompt';
|
|
20
|
-
private _whitelist = new Set<string>();
|
|
21
|
-
private _history: CommandExecutionRecord[] = [];
|
|
22
|
-
private _pendingExecutions: Array<{
|
|
23
|
-
id: string;
|
|
24
|
-
command: string;
|
|
25
|
-
alias?: string;
|
|
26
|
-
resolve: (action: 'allow' | 'allow_all' | 'deny') => void;
|
|
27
|
-
}> = [];
|
|
28
|
-
|
|
29
|
-
constructor(private readonly _context: vscode.ExtensionContext) {
|
|
30
|
-
const savedMode = this._context.globalState.get<ApprovalMode>('editormate.approvalMode');
|
|
31
|
-
if (savedMode) this._mode = savedMode;
|
|
32
|
-
|
|
33
|
-
const savedWhitelist = this._context.globalState.get<string[]>('editormate.whitelistedCommands') || [];
|
|
34
|
-
this._whitelist = new Set(savedWhitelist);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
public getApprovalMode(): ApprovalMode {
|
|
38
|
-
return this._mode;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
public async setApprovalMode(mode: ApprovalMode): Promise<void> {
|
|
42
|
-
this._mode = mode;
|
|
43
|
-
await this._context.globalState.update('editormate.approvalMode', mode);
|
|
44
|
-
vscode.window.setStatusBarMessage(`🛡️ EditorMate Guard Mode: ${mode.toUpperCase().replace('_', ' ')}`, 3000);
|
|
45
|
-
if (mode === 'allow_all') {
|
|
46
|
-
while (this._pendingExecutions.length > 0) {
|
|
47
|
-
const p = this._pendingExecutions.shift();
|
|
48
|
-
if (p) p.resolve('allow_all');
|
|
49
|
-
}
|
|
50
|
-
} else if (mode === 'deny_all') {
|
|
51
|
-
while (this._pendingExecutions.length > 0) {
|
|
52
|
-
const p = this._pendingExecutions.shift();
|
|
53
|
-
if (p) p.resolve('deny');
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
public getWhitelist(): string[] {
|
|
59
|
-
return Array.from(this._whitelist);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
public async addToWhitelist(command: string): Promise<void> {
|
|
63
|
-
this._whitelist.add(command);
|
|
64
|
-
await this._context.globalState.update('editormate.whitelistedCommands', Array.from(this._whitelist));
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
public async clearWhitelist(): Promise<void> {
|
|
68
|
-
this._whitelist.clear();
|
|
69
|
-
await this._context.globalState.update('editormate.whitelistedCommands', []);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
public getHistory(): CommandExecutionRecord[] {
|
|
73
|
-
return this._history.slice(-20);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
public getPendingCount(): number {
|
|
77
|
-
return this._pendingExecutions.length;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
public getPendingExecutions(): Array<{ id: string; command: string; alias?: string; source?: string }> {
|
|
81
|
-
return this._pendingExecutions.map((p) => ({
|
|
82
|
-
id: p.id,
|
|
83
|
-
command: p.command,
|
|
84
|
-
alias: p.alias,
|
|
85
|
-
source: (p as any).source,
|
|
86
|
-
}));
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Resolves the earliest pending execution via external signal (/approve, /deny, mobile action, sidebar button)
|
|
91
|
-
*/
|
|
92
|
-
public async resolvePendingExecution(action: 'allow' | 'allow_all' | 'deny'): Promise<boolean> {
|
|
93
|
-
if (this._pendingExecutions.length === 0) return false;
|
|
94
|
-
const pending = this._pendingExecutions.shift();
|
|
95
|
-
if (pending) {
|
|
96
|
-
pending.resolve(action);
|
|
97
|
-
return true;
|
|
98
|
-
}
|
|
99
|
-
return false;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* Evaluates inbound execution request and prompts user if not pre-approved.
|
|
104
|
-
*/
|
|
105
|
-
public async requestExecution(command: string, alias?: string, source: string = 'Mobile Remote'): Promise<boolean> {
|
|
106
|
-
const record: CommandExecutionRecord = {
|
|
107
|
-
timestamp: Date.now(),
|
|
108
|
-
command,
|
|
109
|
-
alias,
|
|
110
|
-
source,
|
|
111
|
-
status: 'denied',
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
// Policy 1: Global Deny
|
|
115
|
-
if (this._mode === 'deny_all') {
|
|
116
|
-
record.status = 'denied';
|
|
117
|
-
this._history.push(record);
|
|
118
|
-
vscode.window.showWarningMessage(`🚫 EditorMate: Remote command "${command}" blocked by Deny All policy.`);
|
|
119
|
-
return false;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
// Policy 2: Global Allow All or Specific Command Whitelisted
|
|
123
|
-
if (this._mode === 'allow_all' || this._whitelist.has(command)) {
|
|
124
|
-
record.status = 'auto_allowed';
|
|
125
|
-
this._history.push(record);
|
|
126
|
-
await this.executeSafely(command);
|
|
127
|
-
vscode.window.setStatusBarMessage(`⚡ EditorMate: Auto-approved command: ${alias ? `[${alias}] ` : ''}${command}`, 3000);
|
|
128
|
-
return true;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
// Policy 3: Interactive Prompt (Allow | Deny | Allow All)
|
|
132
|
-
// Supports both UI buttons AND remote programmatic resolution (/approve, /deny from mobile or chat)
|
|
133
|
-
const promptLabel = alias ? `Command "${command}" (Alias: "${alias}")` : `Command "${command}"`;
|
|
134
|
-
const execId = 'exec_' + Date.now() + '_' + Math.random().toString(36).substring(2, 6);
|
|
135
|
-
|
|
136
|
-
const promptPromise = new Promise<'allow' | 'allow_all' | 'deny'>((resolve) => {
|
|
137
|
-
let resolved = false;
|
|
138
|
-
const safeResolve = (action: 'allow' | 'allow_all' | 'deny') => {
|
|
139
|
-
if (!resolved) {
|
|
140
|
-
resolved = true;
|
|
141
|
-
const idx = this._pendingExecutions.findIndex((p) => p.id === execId);
|
|
142
|
-
if (idx !== -1) {
|
|
143
|
-
this._pendingExecutions.splice(idx, 1);
|
|
144
|
-
}
|
|
145
|
-
resolve(action);
|
|
146
|
-
}
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
this._pendingExecutions.push({ id: execId, command, alias, source, resolve: safeResolve } as any);
|
|
150
|
-
|
|
151
|
-
vscode.window
|
|
152
|
-
.showWarningMessage(
|
|
153
|
-
`⚡ EditorMate Execution Request (${source}):\nDo you want to run ${promptLabel}?`,
|
|
154
|
-
{ modal: false },
|
|
155
|
-
'✅ Allow',
|
|
156
|
-
'❌ Deny',
|
|
157
|
-
'⚡ Allow All'
|
|
158
|
-
)
|
|
159
|
-
.then((uiAction) => {
|
|
160
|
-
if (uiAction === '✅ Allow') safeResolve('allow');
|
|
161
|
-
else if (uiAction === '⚡ Allow All') safeResolve('allow_all');
|
|
162
|
-
else if (uiAction === '❌ Deny') safeResolve('deny');
|
|
163
|
-
});
|
|
164
|
-
|
|
165
|
-
// 60-second safety timeout so promises do not leak indefinitely
|
|
166
|
-
setTimeout(() => {
|
|
167
|
-
safeResolve('deny');
|
|
168
|
-
}, 60000);
|
|
169
|
-
});
|
|
170
|
-
|
|
171
|
-
const resolution = await promptPromise;
|
|
172
|
-
|
|
173
|
-
if (resolution === 'allow') {
|
|
174
|
-
record.status = 'allowed';
|
|
175
|
-
this._history.push(record);
|
|
176
|
-
await this.executeSafely(command);
|
|
177
|
-
vscode.window.setStatusBarMessage(`⚡ EditorMate: Allowed remote command: ${command}`, 3000);
|
|
178
|
-
return true;
|
|
179
|
-
} else if (resolution === 'allow_all') {
|
|
180
|
-
await this.addToWhitelist(command);
|
|
181
|
-
record.status = 'auto_allowed';
|
|
182
|
-
this._history.push(record);
|
|
183
|
-
await this.executeSafely(command);
|
|
184
|
-
vscode.window.showInformationMessage(`🛡️ EditorMate: "${command}" added to whitelist (Pre-Approved).`);
|
|
185
|
-
return true;
|
|
186
|
-
} else {
|
|
187
|
-
record.status = 'denied';
|
|
188
|
-
this._history.push(record);
|
|
189
|
-
vscode.window.setStatusBarMessage(`🚫 EditorMate: Denied remote command: ${command}`, 3000);
|
|
190
|
-
return false;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
private async executeSafely(command: string): Promise<void> {
|
|
195
|
-
try {
|
|
196
|
-
await vscode.commands.executeCommand(command);
|
|
197
|
-
} catch (err: any) {
|
|
198
|
-
vscode.window.showErrorMessage(`EditorMate: Failed executing "${command}": ${err.message}`);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
}
|