editormate 0.0.0-stage → 1.0.2
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/LICENSE.md +31 -0
- package/README.md +119 -2
- package/bin/cli.js +264 -0
- package/dist/adapters/ide/ide_adapters.d.ts +45 -0
- package/dist/adapters/ide/ide_adapters.d.ts.map +1 -0
- package/dist/adapters/ide/ide_adapters.js +9 -0
- package/dist/adapters/ide/ide_adapters.js.map +1 -0
- package/dist/adapters/messaging/discord_adapter.d.ts +56 -0
- package/dist/adapters/messaging/discord_adapter.d.ts.map +1 -0
- package/dist/adapters/messaging/discord_adapter.js +9 -0
- package/dist/adapters/messaging/discord_adapter.js.map +1 -0
- package/dist/adapters/messaging/discord_menu.d.ts +15 -0
- package/dist/adapters/messaging/discord_menu.d.ts.map +1 -0
- package/dist/adapters/messaging/discord_menu.js +9 -0
- package/dist/adapters/messaging/discord_menu.js.map +1 -0
- package/dist/adapters/messaging/matrix_adapter.d.ts +39 -0
- package/dist/adapters/messaging/matrix_adapter.d.ts.map +1 -0
- package/dist/adapters/messaging/matrix_adapter.js +9 -0
- package/dist/adapters/messaging/matrix_adapter.js.map +1 -0
- package/dist/adapters/messaging/slack_adapter.d.ts +115 -0
- package/dist/adapters/messaging/slack_adapter.d.ts.map +1 -0
- package/dist/adapters/messaging/slack_adapter.js +9 -0
- package/dist/adapters/messaging/slack_adapter.js.map +1 -0
- package/dist/adapters/messaging/telegram_adapter.d.ts +90 -0
- package/dist/adapters/messaging/telegram_adapter.d.ts.map +1 -0
- package/dist/adapters/messaging/telegram_adapter.js +9 -0
- package/dist/adapters/messaging/telegram_adapter.js.map +1 -0
- package/dist/adapters/messaging/telegram_client.d.ts +75 -0
- package/dist/adapters/messaging/telegram_client.d.ts.map +1 -0
- package/dist/adapters/messaging/telegram_client.js +9 -0
- package/dist/adapters/messaging/telegram_client.js.map +1 -0
- package/dist/adapters/messaging/telegram_keyboards.d.ts +55 -0
- package/dist/adapters/messaging/telegram_keyboards.d.ts.map +1 -0
- package/dist/adapters/messaging/telegram_keyboards.js +9 -0
- package/dist/adapters/messaging/telegram_keyboards.js.map +1 -0
- package/dist/adapters/messaging/whatsapp_adapter.d.ts +30 -0
- package/dist/adapters/messaging/whatsapp_adapter.d.ts.map +1 -0
- package/dist/adapters/messaging/whatsapp_adapter.js +9 -0
- package/dist/adapters/messaging/whatsapp_adapter.js.map +1 -0
- package/dist/adapters/messaging/whatsapp_baileys.d.ts +84 -0
- package/dist/adapters/messaging/whatsapp_baileys.d.ts.map +1 -0
- package/dist/adapters/messaging/whatsapp_baileys.js +9 -0
- package/dist/adapters/messaging/whatsapp_baileys.js.map +1 -0
- package/dist/core/blocking_prompt_bridge.d.ts +99 -0
- package/dist/core/blocking_prompt_bridge.d.ts.map +1 -0
- package/dist/core/blocking_prompt_bridge.js +9 -0
- package/dist/core/blocking_prompt_bridge.js.map +1 -0
- package/dist/core/chat_switchboard.d.ts +35 -0
- package/dist/core/chat_switchboard.d.ts.map +1 -0
- package/dist/core/chat_switchboard.js +9 -0
- package/dist/core/chat_switchboard.js.map +1 -0
- package/dist/core/companion_daemon.d.ts +23 -0
- package/dist/core/companion_daemon.d.ts.map +1 -0
- package/dist/core/companion_daemon.js +9 -0
- package/dist/core/companion_daemon.js.map +1 -0
- package/dist/core/email_reporter.d.ts +109 -0
- package/dist/core/email_reporter.d.ts.map +1 -0
- package/dist/core/email_reporter.js +9 -0
- package/dist/core/email_reporter.js.map +1 -0
- package/dist/core/licensing.d.ts +44 -0
- package/dist/core/licensing.d.ts.map +1 -0
- package/dist/core/licensing.js +9 -0
- package/dist/core/licensing.js.map +1 -0
- package/dist/core/media_handler.d.ts +67 -0
- package/dist/core/media_handler.d.ts.map +1 -0
- package/dist/core/media_handler.js +9 -0
- package/dist/core/media_handler.js.map +1 -0
- package/dist/core/os_keychain.d.ts +41 -0
- package/dist/core/os_keychain.d.ts.map +1 -0
- package/dist/core/os_keychain.js +9 -0
- package/dist/core/os_keychain.js.map +1 -0
- package/dist/core/outbound_dispatcher.d.ts +33 -0
- package/dist/core/outbound_dispatcher.d.ts.map +1 -0
- package/dist/core/outbound_dispatcher.js +9 -0
- package/dist/core/outbound_dispatcher.js.map +1 -0
- package/dist/core/pdf_generator.d.ts +66 -0
- package/dist/core/pdf_generator.d.ts.map +1 -0
- package/dist/core/pdf_generator.js +9 -0
- package/dist/core/pdf_generator.js.map +1 -0
- package/dist/core/process_checker.d.ts +10 -0
- package/dist/core/process_checker.d.ts.map +1 -0
- package/dist/core/process_checker.js +9 -0
- package/dist/core/process_checker.js.map +1 -0
- package/dist/core/prompt_sanitizer.d.ts +15 -0
- package/dist/core/prompt_sanitizer.d.ts.map +1 -0
- package/dist/core/prompt_sanitizer.js +9 -0
- package/dist/core/prompt_sanitizer.js.map +1 -0
- package/dist/core/security.d.ts +75 -0
- package/dist/core/security.d.ts.map +1 -0
- package/dist/core/security.js +9 -0
- package/dist/core/security.js.map +1 -0
- package/dist/core/session_manager.d.ts +67 -0
- package/dist/core/session_manager.d.ts.map +1 -0
- package/dist/core/session_manager.js +9 -0
- package/dist/core/session_manager.js.map +1 -0
- package/dist/core/standalone_dashboard/client_script.d.ts +5 -0
- package/dist/core/standalone_dashboard/client_script.d.ts.map +1 -0
- package/dist/core/standalone_dashboard/client_script.js +9 -0
- package/dist/core/standalone_dashboard/client_script.js.map +1 -0
- package/dist/core/standalone_dashboard/components/header.d.ts +5 -0
- package/dist/core/standalone_dashboard/components/header.d.ts.map +1 -0
- package/dist/core/standalone_dashboard/components/header.js +9 -0
- package/dist/core/standalone_dashboard/components/header.js.map +1 -0
- package/dist/core/standalone_dashboard/components/modals.d.ts +5 -0
- package/dist/core/standalone_dashboard/components/modals.d.ts.map +1 -0
- package/dist/core/standalone_dashboard/components/modals.js +9 -0
- package/dist/core/standalone_dashboard/components/modals.js.map +1 -0
- package/dist/core/standalone_dashboard/components/remote_deck.d.ts +5 -0
- package/dist/core/standalone_dashboard/components/remote_deck.d.ts.map +1 -0
- package/dist/core/standalone_dashboard/components/remote_deck.js +9 -0
- package/dist/core/standalone_dashboard/components/remote_deck.js.map +1 -0
- package/dist/core/standalone_dashboard/components/settings_deck.d.ts +5 -0
- package/dist/core/standalone_dashboard/components/settings_deck.d.ts.map +1 -0
- package/dist/core/standalone_dashboard/components/settings_deck.js +9 -0
- package/dist/core/standalone_dashboard/components/settings_deck.js.map +1 -0
- package/dist/core/standalone_dashboard/index.d.ts +13 -0
- package/dist/core/standalone_dashboard/index.d.ts.map +1 -0
- package/dist/core/standalone_dashboard/index.js +9 -0
- package/dist/core/standalone_dashboard/index.js.map +1 -0
- package/dist/core/standalone_dashboard/styles.d.ts +6 -0
- package/dist/core/standalone_dashboard/styles.d.ts.map +1 -0
- package/dist/core/standalone_dashboard/styles.js +9 -0
- package/dist/core/standalone_dashboard/styles.js.map +1 -0
- package/dist/core/standalone_dashboard.d.ts +6 -0
- package/dist/core/standalone_dashboard.d.ts.map +1 -0
- package/dist/core/standalone_dashboard.js +9 -0
- package/dist/core/standalone_dashboard.js.map +1 -0
- package/dist/core/telemetry.d.ts +62 -0
- package/dist/core/telemetry.d.ts.map +1 -0
- package/dist/core/telemetry.js +9 -0
- package/dist/core/telemetry.js.map +1 -0
- package/dist/core/transcript_watcher.d.ts +23 -0
- package/dist/core/transcript_watcher.d.ts.map +1 -0
- package/dist/core/transcript_watcher.js +9 -0
- package/dist/core/transcript_watcher.js.map +1 -0
- package/dist/core/transcription_refiner.d.ts +34 -0
- package/dist/core/transcription_refiner.d.ts.map +1 -0
- package/dist/core/transcription_refiner.js +9 -0
- package/dist/core/transcription_refiner.js.map +1 -0
- package/dist/core/tui_dashboard.d.ts +8 -0
- package/dist/core/tui_dashboard.d.ts.map +1 -0
- package/dist/core/tui_dashboard.js +9 -0
- package/dist/core/tui_dashboard.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +159 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +9 -0
- package/dist/types.js.map +1 -0
- package/extension/.vscodeignore +4 -0
- package/extension/LICENSE.md +31 -0
- package/extension/README.md +55 -0
- package/extension/assets/icon.png +0 -0
- package/extension/assets/icon.svg +16 -0
- package/extension/bin/cli.js +264 -0
- package/extension/bin/package.json +3 -0
- package/extension/daemon/adapters/ide/ide_adapters.d.ts +45 -0
- package/extension/daemon/adapters/ide/ide_adapters.d.ts.map +1 -0
- package/extension/daemon/adapters/ide/ide_adapters.js +9 -0
- package/extension/daemon/adapters/ide/ide_adapters.js.map +1 -0
- package/extension/daemon/adapters/messaging/discord_adapter.d.ts +56 -0
- package/extension/daemon/adapters/messaging/discord_adapter.d.ts.map +1 -0
- package/extension/daemon/adapters/messaging/discord_adapter.js +9 -0
- package/extension/daemon/adapters/messaging/discord_adapter.js.map +1 -0
- package/extension/daemon/adapters/messaging/discord_menu.d.ts +15 -0
- package/extension/daemon/adapters/messaging/discord_menu.d.ts.map +1 -0
- package/extension/daemon/adapters/messaging/discord_menu.js +9 -0
- package/extension/daemon/adapters/messaging/discord_menu.js.map +1 -0
- package/extension/daemon/adapters/messaging/matrix_adapter.d.ts +39 -0
- package/extension/daemon/adapters/messaging/matrix_adapter.d.ts.map +1 -0
- package/extension/daemon/adapters/messaging/matrix_adapter.js +9 -0
- package/extension/daemon/adapters/messaging/matrix_adapter.js.map +1 -0
- package/extension/daemon/adapters/messaging/slack_adapter.d.ts +115 -0
- package/extension/daemon/adapters/messaging/slack_adapter.d.ts.map +1 -0
- package/extension/daemon/adapters/messaging/slack_adapter.js +9 -0
- package/extension/daemon/adapters/messaging/slack_adapter.js.map +1 -0
- package/extension/daemon/adapters/messaging/telegram_adapter.d.ts +90 -0
- package/extension/daemon/adapters/messaging/telegram_adapter.d.ts.map +1 -0
- package/extension/daemon/adapters/messaging/telegram_adapter.js +9 -0
- package/extension/daemon/adapters/messaging/telegram_adapter.js.map +1 -0
- package/extension/daemon/adapters/messaging/telegram_client.d.ts +75 -0
- package/extension/daemon/adapters/messaging/telegram_client.d.ts.map +1 -0
- package/extension/daemon/adapters/messaging/telegram_client.js +9 -0
- package/extension/daemon/adapters/messaging/telegram_client.js.map +1 -0
- package/extension/daemon/adapters/messaging/telegram_keyboards.d.ts +55 -0
- package/extension/daemon/adapters/messaging/telegram_keyboards.d.ts.map +1 -0
- package/extension/daemon/adapters/messaging/telegram_keyboards.js +9 -0
- package/extension/daemon/adapters/messaging/telegram_keyboards.js.map +1 -0
- package/extension/daemon/adapters/messaging/whatsapp_adapter.d.ts +30 -0
- package/extension/daemon/adapters/messaging/whatsapp_adapter.d.ts.map +1 -0
- package/extension/daemon/adapters/messaging/whatsapp_adapter.js +9 -0
- package/extension/daemon/adapters/messaging/whatsapp_adapter.js.map +1 -0
- package/extension/daemon/adapters/messaging/whatsapp_baileys.d.ts +84 -0
- package/extension/daemon/adapters/messaging/whatsapp_baileys.d.ts.map +1 -0
- package/extension/daemon/adapters/messaging/whatsapp_baileys.js +9 -0
- package/extension/daemon/adapters/messaging/whatsapp_baileys.js.map +1 -0
- package/extension/daemon/core/blocking_prompt_bridge.d.ts +99 -0
- package/extension/daemon/core/blocking_prompt_bridge.d.ts.map +1 -0
- package/extension/daemon/core/blocking_prompt_bridge.js +9 -0
- package/extension/daemon/core/blocking_prompt_bridge.js.map +1 -0
- package/extension/daemon/core/chat_switchboard.d.ts +35 -0
- package/extension/daemon/core/chat_switchboard.d.ts.map +1 -0
- package/extension/daemon/core/chat_switchboard.js +9 -0
- package/extension/daemon/core/chat_switchboard.js.map +1 -0
- package/extension/daemon/core/companion_daemon.d.ts +23 -0
- package/extension/daemon/core/companion_daemon.d.ts.map +1 -0
- package/extension/daemon/core/companion_daemon.js +9 -0
- package/extension/daemon/core/companion_daemon.js.map +1 -0
- package/extension/daemon/core/email_reporter.d.ts +109 -0
- package/extension/daemon/core/email_reporter.d.ts.map +1 -0
- package/extension/daemon/core/email_reporter.js +9 -0
- package/extension/daemon/core/email_reporter.js.map +1 -0
- package/extension/daemon/core/licensing.d.ts +44 -0
- package/extension/daemon/core/licensing.d.ts.map +1 -0
- package/extension/daemon/core/licensing.js +9 -0
- package/extension/daemon/core/licensing.js.map +1 -0
- package/extension/daemon/core/media_handler.d.ts +67 -0
- package/extension/daemon/core/media_handler.d.ts.map +1 -0
- package/extension/daemon/core/media_handler.js +9 -0
- package/extension/daemon/core/media_handler.js.map +1 -0
- package/extension/daemon/core/os_keychain.d.ts +41 -0
- package/extension/daemon/core/os_keychain.d.ts.map +1 -0
- package/extension/daemon/core/os_keychain.js +9 -0
- package/extension/daemon/core/os_keychain.js.map +1 -0
- package/extension/daemon/core/outbound_dispatcher.d.ts +33 -0
- package/extension/daemon/core/outbound_dispatcher.d.ts.map +1 -0
- package/extension/daemon/core/outbound_dispatcher.js +9 -0
- package/extension/daemon/core/outbound_dispatcher.js.map +1 -0
- package/extension/daemon/core/pdf_generator.d.ts +66 -0
- package/extension/daemon/core/pdf_generator.d.ts.map +1 -0
- package/extension/daemon/core/pdf_generator.js +9 -0
- package/extension/daemon/core/pdf_generator.js.map +1 -0
- package/extension/daemon/core/process_checker.d.ts +10 -0
- package/extension/daemon/core/process_checker.d.ts.map +1 -0
- package/extension/daemon/core/process_checker.js +9 -0
- package/extension/daemon/core/process_checker.js.map +1 -0
- package/extension/daemon/core/prompt_sanitizer.d.ts +15 -0
- package/extension/daemon/core/prompt_sanitizer.d.ts.map +1 -0
- package/extension/daemon/core/prompt_sanitizer.js +9 -0
- package/extension/daemon/core/prompt_sanitizer.js.map +1 -0
- package/extension/daemon/core/security.d.ts +75 -0
- package/extension/daemon/core/security.d.ts.map +1 -0
- package/extension/daemon/core/security.js +9 -0
- package/extension/daemon/core/security.js.map +1 -0
- package/extension/daemon/core/session_manager.d.ts +67 -0
- package/extension/daemon/core/session_manager.d.ts.map +1 -0
- package/extension/daemon/core/session_manager.js +9 -0
- package/extension/daemon/core/session_manager.js.map +1 -0
- package/extension/daemon/core/standalone_dashboard/client_script.d.ts +5 -0
- package/extension/daemon/core/standalone_dashboard/client_script.d.ts.map +1 -0
- package/extension/daemon/core/standalone_dashboard/client_script.js +9 -0
- package/extension/daemon/core/standalone_dashboard/client_script.js.map +1 -0
- package/extension/daemon/core/standalone_dashboard/components/header.d.ts +5 -0
- package/extension/daemon/core/standalone_dashboard/components/header.d.ts.map +1 -0
- package/extension/daemon/core/standalone_dashboard/components/header.js +9 -0
- package/extension/daemon/core/standalone_dashboard/components/header.js.map +1 -0
- package/extension/daemon/core/standalone_dashboard/components/modals.d.ts +5 -0
- package/extension/daemon/core/standalone_dashboard/components/modals.d.ts.map +1 -0
- package/extension/daemon/core/standalone_dashboard/components/modals.js +9 -0
- package/extension/daemon/core/standalone_dashboard/components/modals.js.map +1 -0
- package/extension/daemon/core/standalone_dashboard/components/remote_deck.d.ts +5 -0
- package/extension/daemon/core/standalone_dashboard/components/remote_deck.d.ts.map +1 -0
- package/extension/daemon/core/standalone_dashboard/components/remote_deck.js +9 -0
- package/extension/daemon/core/standalone_dashboard/components/remote_deck.js.map +1 -0
- package/extension/daemon/core/standalone_dashboard/components/settings_deck.d.ts +5 -0
- package/extension/daemon/core/standalone_dashboard/components/settings_deck.d.ts.map +1 -0
- package/extension/daemon/core/standalone_dashboard/components/settings_deck.js +9 -0
- package/extension/daemon/core/standalone_dashboard/components/settings_deck.js.map +1 -0
- package/extension/daemon/core/standalone_dashboard/index.d.ts +13 -0
- package/extension/daemon/core/standalone_dashboard/index.d.ts.map +1 -0
- package/extension/daemon/core/standalone_dashboard/index.js +9 -0
- package/extension/daemon/core/standalone_dashboard/index.js.map +1 -0
- package/extension/daemon/core/standalone_dashboard/styles.d.ts +6 -0
- package/extension/daemon/core/standalone_dashboard/styles.d.ts.map +1 -0
- package/extension/daemon/core/standalone_dashboard/styles.js +9 -0
- package/extension/daemon/core/standalone_dashboard/styles.js.map +1 -0
- package/extension/daemon/core/standalone_dashboard.d.ts +6 -0
- package/extension/daemon/core/standalone_dashboard.d.ts.map +1 -0
- package/extension/daemon/core/standalone_dashboard.js +9 -0
- package/extension/daemon/core/standalone_dashboard.js.map +1 -0
- package/extension/daemon/core/telemetry.d.ts +62 -0
- package/extension/daemon/core/telemetry.d.ts.map +1 -0
- package/extension/daemon/core/telemetry.js +9 -0
- package/extension/daemon/core/telemetry.js.map +1 -0
- package/extension/daemon/core/transcript_watcher.d.ts +23 -0
- package/extension/daemon/core/transcript_watcher.d.ts.map +1 -0
- package/extension/daemon/core/transcript_watcher.js +9 -0
- package/extension/daemon/core/transcript_watcher.js.map +1 -0
- package/extension/daemon/core/transcription_refiner.d.ts +34 -0
- package/extension/daemon/core/transcription_refiner.d.ts.map +1 -0
- package/extension/daemon/core/transcription_refiner.js +9 -0
- package/extension/daemon/core/transcription_refiner.js.map +1 -0
- package/extension/daemon/core/tui_dashboard.d.ts +8 -0
- package/extension/daemon/core/tui_dashboard.d.ts.map +1 -0
- package/extension/daemon/core/tui_dashboard.js +9 -0
- package/extension/daemon/core/tui_dashboard.js.map +1 -0
- package/extension/daemon/index.d.ts +15 -0
- package/extension/daemon/index.d.ts.map +1 -0
- package/extension/daemon/index.js +9 -0
- package/extension/daemon/index.js.map +1 -0
- package/extension/daemon/types.d.ts +159 -0
- package/extension/daemon/types.d.ts.map +1 -0
- package/extension/daemon/types.js +9 -0
- package/extension/daemon/types.js.map +1 -0
- package/extension/dist/adapters/ide/ide_adapters.d.ts +45 -0
- package/extension/dist/adapters/ide/ide_adapters.d.ts.map +1 -0
- package/extension/dist/adapters/ide/ide_adapters.js +9 -0
- package/extension/dist/adapters/ide/ide_adapters.js.map +1 -0
- package/extension/dist/adapters/messaging/discord_adapter.d.ts +56 -0
- package/extension/dist/adapters/messaging/discord_adapter.d.ts.map +1 -0
- package/extension/dist/adapters/messaging/discord_adapter.js +9 -0
- package/extension/dist/adapters/messaging/discord_adapter.js.map +1 -0
- package/extension/dist/adapters/messaging/discord_menu.d.ts +15 -0
- package/extension/dist/adapters/messaging/discord_menu.d.ts.map +1 -0
- package/extension/dist/adapters/messaging/discord_menu.js +9 -0
- package/extension/dist/adapters/messaging/discord_menu.js.map +1 -0
- package/extension/dist/adapters/messaging/matrix_adapter.d.ts +39 -0
- package/extension/dist/adapters/messaging/matrix_adapter.d.ts.map +1 -0
- package/extension/dist/adapters/messaging/matrix_adapter.js +9 -0
- package/extension/dist/adapters/messaging/matrix_adapter.js.map +1 -0
- package/extension/dist/adapters/messaging/slack_adapter.d.ts +115 -0
- package/extension/dist/adapters/messaging/slack_adapter.d.ts.map +1 -0
- package/extension/dist/adapters/messaging/slack_adapter.js +9 -0
- package/extension/dist/adapters/messaging/slack_adapter.js.map +1 -0
- package/extension/dist/adapters/messaging/telegram_adapter.d.ts +90 -0
- package/extension/dist/adapters/messaging/telegram_adapter.d.ts.map +1 -0
- package/extension/dist/adapters/messaging/telegram_adapter.js +9 -0
- package/extension/dist/adapters/messaging/telegram_adapter.js.map +1 -0
- package/extension/dist/adapters/messaging/telegram_client.d.ts +75 -0
- package/extension/dist/adapters/messaging/telegram_client.d.ts.map +1 -0
- package/extension/dist/adapters/messaging/telegram_client.js +9 -0
- package/extension/dist/adapters/messaging/telegram_client.js.map +1 -0
- package/extension/dist/adapters/messaging/telegram_keyboards.d.ts +55 -0
- package/extension/dist/adapters/messaging/telegram_keyboards.d.ts.map +1 -0
- package/extension/dist/adapters/messaging/telegram_keyboards.js +9 -0
- package/extension/dist/adapters/messaging/telegram_keyboards.js.map +1 -0
- package/extension/dist/adapters/messaging/whatsapp_adapter.d.ts +30 -0
- package/extension/dist/adapters/messaging/whatsapp_adapter.d.ts.map +1 -0
- package/extension/dist/adapters/messaging/whatsapp_adapter.js +9 -0
- package/extension/dist/adapters/messaging/whatsapp_adapter.js.map +1 -0
- package/extension/dist/adapters/messaging/whatsapp_baileys.d.ts +84 -0
- package/extension/dist/adapters/messaging/whatsapp_baileys.d.ts.map +1 -0
- package/extension/dist/adapters/messaging/whatsapp_baileys.js +9 -0
- package/extension/dist/adapters/messaging/whatsapp_baileys.js.map +1 -0
- package/extension/dist/adapters/package.json +3 -0
- package/extension/dist/command_guard.js +9 -0
- package/extension/dist/commands_manager.js +9 -0
- package/extension/dist/core/blocking_prompt_bridge.d.ts +99 -0
- package/extension/dist/core/blocking_prompt_bridge.d.ts.map +1 -0
- package/extension/dist/core/blocking_prompt_bridge.js +9 -0
- package/extension/dist/core/blocking_prompt_bridge.js.map +1 -0
- package/extension/dist/core/chat_switchboard.d.ts +35 -0
- package/extension/dist/core/chat_switchboard.d.ts.map +1 -0
- package/extension/dist/core/chat_switchboard.js +9 -0
- package/extension/dist/core/chat_switchboard.js.map +1 -0
- package/extension/dist/core/companion_daemon.d.ts +23 -0
- package/extension/dist/core/companion_daemon.d.ts.map +1 -0
- package/extension/dist/core/companion_daemon.js +9 -0
- package/extension/dist/core/companion_daemon.js.map +1 -0
- package/extension/dist/core/email_reporter.d.ts +109 -0
- package/extension/dist/core/email_reporter.d.ts.map +1 -0
- package/extension/dist/core/email_reporter.js +9 -0
- package/extension/dist/core/email_reporter.js.map +1 -0
- package/extension/dist/core/licensing.d.ts +44 -0
- package/extension/dist/core/licensing.d.ts.map +1 -0
- package/extension/dist/core/licensing.js +9 -0
- package/extension/dist/core/licensing.js.map +1 -0
- package/extension/dist/core/media_handler.d.ts +67 -0
- package/extension/dist/core/media_handler.d.ts.map +1 -0
- package/extension/dist/core/media_handler.js +9 -0
- package/extension/dist/core/media_handler.js.map +1 -0
- package/extension/dist/core/os_keychain.d.ts +41 -0
- package/extension/dist/core/os_keychain.d.ts.map +1 -0
- package/extension/dist/core/os_keychain.js +9 -0
- package/extension/dist/core/os_keychain.js.map +1 -0
- package/extension/dist/core/outbound_dispatcher.d.ts +33 -0
- package/extension/dist/core/outbound_dispatcher.d.ts.map +1 -0
- package/extension/dist/core/outbound_dispatcher.js +9 -0
- package/extension/dist/core/outbound_dispatcher.js.map +1 -0
- package/extension/dist/core/package.json +3 -0
- package/extension/dist/core/pdf_generator.d.ts +66 -0
- package/extension/dist/core/pdf_generator.d.ts.map +1 -0
- package/extension/dist/core/pdf_generator.js +9 -0
- package/extension/dist/core/pdf_generator.js.map +1 -0
- package/extension/dist/core/process_checker.d.ts +10 -0
- package/extension/dist/core/process_checker.d.ts.map +1 -0
- package/extension/dist/core/process_checker.js +9 -0
- package/extension/dist/core/process_checker.js.map +1 -0
- package/extension/dist/core/prompt_sanitizer.d.ts +15 -0
- package/extension/dist/core/prompt_sanitizer.d.ts.map +1 -0
- package/extension/dist/core/prompt_sanitizer.js +9 -0
- package/extension/dist/core/prompt_sanitizer.js.map +1 -0
- package/extension/dist/core/security.d.ts +75 -0
- package/extension/dist/core/security.d.ts.map +1 -0
- package/extension/dist/core/security.js +9 -0
- package/extension/dist/core/security.js.map +1 -0
- package/extension/dist/core/session_manager.d.ts +67 -0
- package/extension/dist/core/session_manager.d.ts.map +1 -0
- package/extension/dist/core/session_manager.js +9 -0
- package/extension/dist/core/session_manager.js.map +1 -0
- package/extension/dist/core/standalone_dashboard/client_script.d.ts +5 -0
- package/extension/dist/core/standalone_dashboard/client_script.d.ts.map +1 -0
- package/extension/dist/core/standalone_dashboard/client_script.js +9 -0
- package/extension/dist/core/standalone_dashboard/client_script.js.map +1 -0
- package/extension/dist/core/standalone_dashboard/components/header.d.ts +5 -0
- package/extension/dist/core/standalone_dashboard/components/header.d.ts.map +1 -0
- package/extension/dist/core/standalone_dashboard/components/header.js +9 -0
- package/extension/dist/core/standalone_dashboard/components/header.js.map +1 -0
- package/extension/dist/core/standalone_dashboard/components/modals.d.ts +5 -0
- package/extension/dist/core/standalone_dashboard/components/modals.d.ts.map +1 -0
- package/extension/dist/core/standalone_dashboard/components/modals.js +9 -0
- package/extension/dist/core/standalone_dashboard/components/modals.js.map +1 -0
- package/extension/dist/core/standalone_dashboard/components/remote_deck.d.ts +5 -0
- package/extension/dist/core/standalone_dashboard/components/remote_deck.d.ts.map +1 -0
- package/extension/dist/core/standalone_dashboard/components/remote_deck.js +9 -0
- package/extension/dist/core/standalone_dashboard/components/remote_deck.js.map +1 -0
- package/extension/dist/core/standalone_dashboard/components/settings_deck.d.ts +5 -0
- package/extension/dist/core/standalone_dashboard/components/settings_deck.d.ts.map +1 -0
- package/extension/dist/core/standalone_dashboard/components/settings_deck.js +9 -0
- package/extension/dist/core/standalone_dashboard/components/settings_deck.js.map +1 -0
- package/extension/dist/core/standalone_dashboard/index.d.ts +13 -0
- package/extension/dist/core/standalone_dashboard/index.d.ts.map +1 -0
- package/extension/dist/core/standalone_dashboard/index.js +9 -0
- package/extension/dist/core/standalone_dashboard/index.js.map +1 -0
- package/extension/dist/core/standalone_dashboard/styles.d.ts +6 -0
- package/extension/dist/core/standalone_dashboard/styles.d.ts.map +1 -0
- package/extension/dist/core/standalone_dashboard/styles.js +9 -0
- package/extension/dist/core/standalone_dashboard/styles.js.map +1 -0
- package/extension/dist/core/standalone_dashboard.d.ts +6 -0
- package/extension/dist/core/standalone_dashboard.d.ts.map +1 -0
- package/extension/dist/core/standalone_dashboard.js +9 -0
- package/extension/dist/core/standalone_dashboard.js.map +1 -0
- package/extension/dist/core/telemetry.d.ts +62 -0
- package/extension/dist/core/telemetry.d.ts.map +1 -0
- package/extension/dist/core/telemetry.js +9 -0
- package/extension/dist/core/telemetry.js.map +1 -0
- package/extension/dist/core/transcript_watcher.d.ts +23 -0
- package/extension/dist/core/transcript_watcher.d.ts.map +1 -0
- package/extension/dist/core/transcript_watcher.js +9 -0
- package/extension/dist/core/transcript_watcher.js.map +1 -0
- package/extension/dist/core/transcription_refiner.d.ts +34 -0
- package/extension/dist/core/transcription_refiner.d.ts.map +1 -0
- package/extension/dist/core/transcription_refiner.js +9 -0
- package/extension/dist/core/transcription_refiner.js.map +1 -0
- package/extension/dist/core/tui_dashboard.d.ts +8 -0
- package/extension/dist/core/tui_dashboard.d.ts.map +1 -0
- package/extension/dist/core/tui_dashboard.js +9 -0
- package/extension/dist/core/tui_dashboard.js.map +1 -0
- package/extension/dist/extension.js +9 -0
- package/extension/dist/ide_detector.js +9 -0
- package/extension/dist/index.js +9 -0
- package/extension/dist/remote_actions.js +9 -0
- package/extension/dist/sidebar_provider.js +9 -0
- package/extension/dist/types.js +9 -0
- package/extension/dist/webview/webview_html.js +830 -0
- package/extension/dist/webview/webview_scripts.js +701 -0
- package/extension/dist/webview/webview_styles.js +1075 -0
- package/extension/dist/webview_template.js +9 -0
- 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 +15 -0
- package/extension/node_modules/@types/vscode/LICENSE +21 -0
- package/extension/node_modules/@types/vscode/README.md +15 -0
- package/extension/node_modules/@types/vscode/index.d.ts +21244 -0
- package/extension/node_modules/@types/vscode/package.json +26 -0
- package/extension/package-lock.json +25 -0
- package/extension/package.json +154 -0
- package/extension/scripts/build_protected.js +88 -0
- package/extension/scripts/transcribe_audio.py +42 -0
- package/extension/src/command_guard.ts +201 -0
- package/extension/src/commands_manager.ts +466 -0
- package/extension/src/extension.ts +458 -0
- package/extension/src/ide_detector.ts +60 -0
- package/extension/src/remote_actions.ts +284 -0
- package/extension/src/sidebar_provider.ts +471 -0
- package/extension/src/webview/webview_html.ts +895 -0
- package/extension/src/webview/webview_scripts.ts +698 -0
- package/extension/src/webview/webview_styles.ts +1073 -0
- package/extension/src/webview_template.ts +33 -0
- package/extension/tsconfig.json +16 -0
- package/package.json +52 -3
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EditorMate — Universal Types & Interfaces
|
|
3
|
+
* Commercial Remote Control for AI Coding Agents
|
|
4
|
+
*/
|
|
5
|
+
export type IdeType = 'vscode' | 'cursor' | 'antigravity' | 'claude_code' | 'windsurf' | 'aider' | 'terminal';
|
|
6
|
+
export type TaskStatus = 'IDLE' | 'WORKING' | 'WAITING_INPUT' | 'COMPLETED' | 'ERROR';
|
|
7
|
+
export type MessagingPlatform = 'telegram' | 'discord' | 'whatsapp' | 'slack' | 'matrix' | 'app';
|
|
8
|
+
export interface ApprovalRequest {
|
|
9
|
+
id: string;
|
|
10
|
+
action: string;
|
|
11
|
+
description: string;
|
|
12
|
+
command?: string;
|
|
13
|
+
affectedFiles?: string[];
|
|
14
|
+
severity: 'low' | 'medium' | 'high' | 'critical';
|
|
15
|
+
createdAt: number;
|
|
16
|
+
expiresAt: number;
|
|
17
|
+
}
|
|
18
|
+
export interface ExtensionShortcut {
|
|
19
|
+
id: string;
|
|
20
|
+
label: string;
|
|
21
|
+
command: string;
|
|
22
|
+
description?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface AgentSession {
|
|
25
|
+
id: string;
|
|
26
|
+
ideType: IdeType;
|
|
27
|
+
workspacePath: string;
|
|
28
|
+
workspaceName: string;
|
|
29
|
+
branch?: string;
|
|
30
|
+
gitStatusSummary?: string;
|
|
31
|
+
status: TaskStatus;
|
|
32
|
+
activeTask?: string;
|
|
33
|
+
lastOutput?: string;
|
|
34
|
+
recentLogs?: string[];
|
|
35
|
+
pendingApproval?: ApprovalRequest;
|
|
36
|
+
customShortcuts?: ExtensionShortcut[];
|
|
37
|
+
installedExtensions?: string[];
|
|
38
|
+
pendingExecutionCommand?: string;
|
|
39
|
+
pendingApprovalResolution?: 'allow' | 'deny' | 'allow_all';
|
|
40
|
+
lastActiveAt: number;
|
|
41
|
+
connectedAt: number;
|
|
42
|
+
}
|
|
43
|
+
export interface PairingSession {
|
|
44
|
+
token: string;
|
|
45
|
+
platform: MessagingPlatform;
|
|
46
|
+
createdAt: number;
|
|
47
|
+
expiresAt: number;
|
|
48
|
+
status: 'pending' | 'paired' | 'revoked';
|
|
49
|
+
deepLink: string;
|
|
50
|
+
channelId?: string;
|
|
51
|
+
userHandle?: string;
|
|
52
|
+
}
|
|
53
|
+
export interface LinkedAccount {
|
|
54
|
+
platform: MessagingPlatform;
|
|
55
|
+
userId: string;
|
|
56
|
+
userHandle: string;
|
|
57
|
+
deviceName?: string;
|
|
58
|
+
pairedAt: number;
|
|
59
|
+
lastActiveAt: number;
|
|
60
|
+
activeSessionId?: string;
|
|
61
|
+
}
|
|
62
|
+
export interface LicenseState {
|
|
63
|
+
tier: 'trial' | 'monthly' | 'annual' | 'lifetime';
|
|
64
|
+
status: 'active' | 'trial_active' | 'expired' | 'revoked';
|
|
65
|
+
licenseKey?: string;
|
|
66
|
+
trialEndsAt?: number;
|
|
67
|
+
expiresAt?: number;
|
|
68
|
+
deviceSeat: string;
|
|
69
|
+
allowedPlatforms: MessagingPlatform[];
|
|
70
|
+
features: {
|
|
71
|
+
remoteChat: boolean;
|
|
72
|
+
taskMonitoring: boolean;
|
|
73
|
+
humanIntervention: boolean;
|
|
74
|
+
multiSession: boolean;
|
|
75
|
+
voiceNotes: boolean;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export interface ChatHistoryEntry {
|
|
79
|
+
index: number;
|
|
80
|
+
id: string;
|
|
81
|
+
title: string;
|
|
82
|
+
timeAgo: string;
|
|
83
|
+
mtime: number;
|
|
84
|
+
snippet: string;
|
|
85
|
+
}
|
|
86
|
+
export interface AttachmentRequest {
|
|
87
|
+
id: string;
|
|
88
|
+
filePath: string;
|
|
89
|
+
fileName: string;
|
|
90
|
+
fileSize?: number;
|
|
91
|
+
caption?: string;
|
|
92
|
+
mimeType?: string;
|
|
93
|
+
createdAt: number;
|
|
94
|
+
}
|
|
95
|
+
export interface RemoteCommand {
|
|
96
|
+
type: 'chat' | 'ide' | 'approve' | 'reject' | 'stop' | 'status' | 'projects' | 'sessions' | 'devices' | 'chats' | 'select' | 'diff' | 'help' | 'menu' | 'detail' | 'allow_all' | 'mcp' | 'pdf' | 'snap' | 'terminal' | 'attach' | 'edit' | 'disconnect';
|
|
97
|
+
text?: string;
|
|
98
|
+
sessionId?: string;
|
|
99
|
+
approvalId?: string;
|
|
100
|
+
senderId: string;
|
|
101
|
+
senderName?: string;
|
|
102
|
+
platform: MessagingPlatform;
|
|
103
|
+
timestamp: number;
|
|
104
|
+
attachment?: AttachmentRequest;
|
|
105
|
+
mediaUrl?: string;
|
|
106
|
+
mediaType?: 'audio' | 'image' | 'video' | 'document';
|
|
107
|
+
}
|
|
108
|
+
export interface CommandResult {
|
|
109
|
+
success: boolean;
|
|
110
|
+
message: string;
|
|
111
|
+
session?: Partial<AgentSession>;
|
|
112
|
+
sessions?: AgentSession[];
|
|
113
|
+
approval?: ApprovalRequest;
|
|
114
|
+
diffSummary?: string;
|
|
115
|
+
chats?: ChatHistoryEntry[];
|
|
116
|
+
snapPath?: string;
|
|
117
|
+
pdfBuf?: Buffer;
|
|
118
|
+
output?: string;
|
|
119
|
+
error?: string;
|
|
120
|
+
data?: any;
|
|
121
|
+
}
|
|
122
|
+
export interface OutboundMessageOptions {
|
|
123
|
+
replyToMessageId?: string | number;
|
|
124
|
+
parseMode?: 'markdown' | 'plain';
|
|
125
|
+
silent?: boolean;
|
|
126
|
+
extraMeta?: Record<string, any>;
|
|
127
|
+
}
|
|
128
|
+
export interface IMessagingOutboundAdapter {
|
|
129
|
+
platform: MessagingPlatform;
|
|
130
|
+
sendMessage(recipientId: string, text: string, options?: OutboundMessageOptions): Promise<boolean>;
|
|
131
|
+
sendTypingIndicator?(recipientId: string): Promise<void>;
|
|
132
|
+
editMessage?(recipientId: string, messageId: string | number, text: string, options?: OutboundMessageOptions): Promise<boolean>;
|
|
133
|
+
sendAttachment?(recipientId: string, filePath: string, caption?: string, options?: OutboundMessageOptions): Promise<boolean>;
|
|
134
|
+
sendDirectMessage?(recipientId: string, text: string, options?: OutboundMessageOptions): Promise<boolean>;
|
|
135
|
+
sendApprovalPrompt?(recipientId: string, approval: ApprovalRequest): Promise<boolean>;
|
|
136
|
+
}
|
|
137
|
+
export interface RemoteTurnRequest {
|
|
138
|
+
id: string;
|
|
139
|
+
platform: MessagingPlatform;
|
|
140
|
+
recipientId: string;
|
|
141
|
+
placeholderMessageId?: string | number;
|
|
142
|
+
senderName: string;
|
|
143
|
+
promptText: string;
|
|
144
|
+
initiatedAt: number;
|
|
145
|
+
status: 'PENDING' | 'RESOLVED' | 'TIMED_OUT';
|
|
146
|
+
lastResponseSnippet?: string;
|
|
147
|
+
resolvedAt?: number;
|
|
148
|
+
}
|
|
149
|
+
export interface EditorMatePreferences {
|
|
150
|
+
sttWhisperEnabled: boolean;
|
|
151
|
+
sttLlmFiltering: boolean;
|
|
152
|
+
videoToTextEnabled: boolean;
|
|
153
|
+
rawAttachmentsPassthrough: boolean;
|
|
154
|
+
screenshotScope: 'screen' | 'window' | 'ide';
|
|
155
|
+
approvalMode?: 'STRICT' | 'NOTIFY' | 'AUTONOMOUS';
|
|
156
|
+
chatHistoryRetentionDays?: number;
|
|
157
|
+
}
|
|
158
|
+
export declare const DEFAULT_PREFERENCES: EditorMatePreferences;
|
|
159
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EditorMate — Universal AI Remote Control & Companion
|
|
3
|
+
* Copyright (c) 2026 Praveen Ojha (https://praveenojha.com). All Rights Reserved.
|
|
4
|
+
* PROPRIETARY AND CONFIDENTIAL.
|
|
5
|
+
* Designed & written by Praveen Ojha.
|
|
6
|
+
* Even if you can inspect or read this compiled code, you may NOT copy, modify,
|
|
7
|
+
* distribute, or reverse-engineer any part of this software without prior written consent.
|
|
8
|
+
*/
|
|
9
|
+
function _0x49795f(_0x23da54,_0x4c1e11,_0x1a7f14,_0x2920a1){return _0x3b1a(_0x2920a1- -0x1ce,_0x4c1e11);}(function(_0x4cac7b,_0xe02e77){const _0x7c7286={_0x46cadd:0x160,_0x96056:0x166,_0x41de18:0x165,_0x347e20:0x165,_0x4bcf93:0x238,_0x463629:0x238,_0x909041:0x236,_0x5c81a6:0x241,_0xfd73b6:0x23c,_0x480284:0x23d,_0x54e890:0x23b,_0x503968:0x240,_0x34a7c5:0x23b,_0x4a8014:0x23c,_0x278478:0x236,_0xbf75c6:0x156,_0x320ff1:0x15f,_0x1096f8:0x161,_0x4d7924:0x23e,_0x3f2d8c:0x241,_0x556a70:0x23f,_0x77d13a:0x245},_0x1ef18e={_0x2e18d5:0x237},_0x2565e4=_0x4cac7b();function _0xa3e033(_0x9d5e74,_0x47ba40,_0x3f1c00,_0x44368d){return _0x3b1a(_0x44368d- -_0x1ef18e._0x2e18d5,_0x9d5e74);}function _0x317f14(_0x5b1268,_0x530461,_0x1a9268,_0x1b0f63){return _0x3b1a(_0x530461-0x164,_0x1a9268);}while(!![]){try{const _0x2811cc=parseInt(_0xa3e033(-_0x7c7286._0x46cadd,-0x165,-0x15c,-0x161))/(0x719+0x13e3+-0x1afb)+-parseInt(_0xa3e033(-0x15d,-0x163,-0x164,-0x162))/(0x16ec+-0x171a+0x30)*(-parseInt(_0xa3e033(-0x164,-_0x7c7286._0x96056,-_0x7c7286._0x41de18,-_0x7c7286._0x347e20))/(0x4*-0x452+0x11fe+-0x1*0xb3))+-parseInt(_0x317f14(_0x7c7286._0x4bcf93,_0x7c7286._0x463629,_0x7c7286._0x463629,_0x7c7286._0x909041))/(-0x19c3+0x1b38+-0x171)+-parseInt(_0x317f14(_0x7c7286._0x5c81a6,_0x7c7286._0xfd73b6,0x236,0x23c))/(0x7*0x21+0x1cab+-0x1d8d)+parseInt(_0x317f14(0x23f,0x23d,_0x7c7286._0x480284,_0x7c7286._0x54e890))/(-0x1*0x1b6e+0x5*0x1bb+0x1*0x12cd)+-parseInt(_0x317f14(_0x7c7286._0x503968,_0x7c7286._0x34a7c5,_0x7c7286._0x4a8014,_0x7c7286._0x278478))/(0xc4f+-0xf9d+-0x1*-0x355)*(-parseInt(_0xa3e033(-_0x7c7286._0xbf75c6,-_0x7c7286._0x320ff1,-_0x7c7286._0x1096f8,-0x15b))/(0x160+-0x34f*0x7+0x15d1))+-parseInt(_0x317f14(_0x7c7286._0x4d7924,_0x7c7286._0x5c81a6,0x23f,0x245))/(0xdc1+-0x5*0x2e+-0xcd2)*(-parseInt(_0x317f14(_0x7c7286._0x3f2d8c,_0x7c7286._0x556a70,_0x7c7286._0x503968,_0x7c7286._0x77d13a))/(0xf99+0x258d*0x1+-0x351c));if(_0x2811cc===_0xe02e77)break;else _0x2565e4['push'](_0x2565e4['shift']());}catch(_0x141662){_0x2565e4['push'](_0x2565e4['shift']());}}}(_0x102f,0x92de5+-0x41b*-0x3ec+0xf514c*-0x1));function _0x102f(){const _0x31eebf=['nZy4ndCXmgz6u3z4vq','u1rssunu','mZbZDhHszuq','mtyXodKYoejyvhfhsa','mJKXote1weHkBwnq','mZy4mti0qvnPwwvt','AwrL','ndyXmdu0mfzxtgDSqG','mK5ywLfgDa','ntm1nda0rwj6zvfU','mJHSC2PwwM4','ntiWmduZmfnLr2r1za'];_0x102f=function(){return _0x31eebf;};return _0x102f();}function _0x3b1a(_0x278c4e,_0x1a98a2){_0x278c4e=_0x278c4e-(-0x1a72+-0x2*-0x335+0x14da);const _0x45a5b2=_0x102f();let _0x53b438=_0x45a5b2[_0x278c4e];if(_0x3b1a['QNDNVx']===undefined){var _0x371f8e=function(_0x2dd79e){const _0x103e73='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x50e89b='',_0x2d25ae='';for(let _0x12aad0=-0x1*0xc02+0x9*0x3fa+-0x17c8*0x1,_0x1b2b4d,_0x30ca23,_0x52addd=-0x375*0x9+-0x1*-0x2651+-0x734;_0x30ca23=_0x2dd79e['charAt'](_0x52addd++);~_0x30ca23&&(_0x1b2b4d=_0x12aad0%(-0x6*0x1c4+-0x2674*0x1+-0x1888*-0x2)?_0x1b2b4d*(-0xe*0x1a+0x1ff3*-0x1+0x1c5*0x13)+_0x30ca23:_0x30ca23,_0x12aad0++%(0x73*0x14+-0xa62+-0x16a*-0x1))?_0x50e89b+=String['fromCharCode'](0x12*0x18a+0x1fad+-0x3a62&_0x1b2b4d>>(-(0x1fa+-0xe02*-0x2+-0x1dfc)*_0x12aad0&-0x215a+-0x1*0x1f21+0x4081)):0x1e6c+-0x1648+0x824*-0x1){_0x30ca23=_0x103e73['indexOf'](_0x30ca23);}for(let _0x32ffdb=0x2ae*-0x7+0x1e5+0x3*0x59f,_0x3ea0db=_0x50e89b['length'];_0x32ffdb<_0x3ea0db;_0x32ffdb++){_0x2d25ae+='%'+('00'+_0x50e89b['charCodeAt'](_0x32ffdb)['toString'](-0x1f7*-0x12+0xb90+-0x7*0x6b2))['slice'](-(-0x349*0x3+0x2*-0x202+-0xbb*-0x13));}return decodeURIComponent(_0x2d25ae);};_0x3b1a['nrSPIo']=_0x371f8e,_0x3b1a['tiwyKe']={},_0x3b1a['QNDNVx']=!![];}const _0xcbb0ad=_0x45a5b2[-0x6d9*0x4+-0x939+0x249d];_0x3b1a['PqBWrz']!==_0xcbb0ad&&(_0x3b1a['tiwyKe']={},_0x3b1a['PqBWrz']=_0xcbb0ad);const _0x49174d=_0x3b1a['tiwyKe'][_0x278c4e];return _0x49174d===undefined?(_0x53b438=_0x3b1a['nrSPIo'](_0x53b438),_0x3b1a['tiwyKe'][_0x278c4e]=_0x53b438):_0x53b438=_0x49174d,_0x53b438;}function _0x536a9b(_0x336c50,_0x5acd2d,_0x82480c,_0x18f6ed){return _0x3b1a(_0x82480c- -0x283,_0x336c50);}export const DEFAULT_PREFERENCES={'sttWhisperEnabled':!![],'sttLlmFiltering':!![],'videoToTextEnabled':!![],'rawAttachmentsPassthrough':!![],'screenshotScope':_0x49795f(-0xfa,-0xf7,-0xf7,-0xfb),'approvalMode':_0x49795f(-0xf7,-0xf7,-0xfa,-0xf4),'chatHistoryRetentionDays':0x7};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAmMH,MAAM,CAAC,MAAM,mBAAmB,GAA0B;IACxD,iBAAiB,EAAE,IAAI;IACvB,eAAe,EAAE,IAAI;IACrB,kBAAkB,EAAE,IAAI;IACxB,yBAAyB,EAAE,IAAI;IAC/B,eAAe,EAAE,KAAK;IACtB,YAAY,EAAE,QAAQ;IACtB,wBAAwB,EAAE,CAAC;CAC5B,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# EditorMate Commercial & Proprietary Software License
|
|
2
|
+
|
|
3
|
+
**Copyright (c) 2026 Praveen Ojha (https://praveenojha.com). All Rights Reserved.**
|
|
4
|
+
**Designed, authored, and proprietary to Praveen Ojha.**
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
### IMPORTANT NOTICE — READ CAREFULLY
|
|
9
|
+
|
|
10
|
+
This software, including its source code, documentation, binary distributions, extensions, daemon services, communication protocols, and accompanying assets ("Software"), is the proprietary and confidential intellectual property of **Praveen Ojha** (`praveenojha.com`).
|
|
11
|
+
|
|
12
|
+
**EVEN IF YOU RECEIVE, ACCESS, DECOMPILE, OR CAN READ THIS CODE IN WHOLE OR IN PART, THIS DOES NOT CONSTITUTE A TRANSFER OF RIGHTS, AN OPEN SOURCE LICENSE, OR PERMISSION TO COPY, REPRODUCE, OR USE THIS SOFTWARE OR ANY COMPONENT THEREOF.**
|
|
13
|
+
|
|
14
|
+
### 1. Grant of License
|
|
15
|
+
Subject to the terms of your authorized purchase, active subscription, or commercial license key, Praveen Ojha grants you a non-exclusive, non-transferable, revocable license to install and execute the Software solely for its intended purpose on the number of personal seats and devices authorized by your license key.
|
|
16
|
+
|
|
17
|
+
### 2. Strict Restrictions & Prohibitions
|
|
18
|
+
You expressly agree NOT to, directly or indirectly:
|
|
19
|
+
1. **No Copying or Reproduction:** Copy, clone, reproduce, mirror, or extract the code, architecture, or design of this Software in whole or in part.
|
|
20
|
+
2. **No Reverse Engineering:** Reverse engineer, decompile, disassemble, decrypt, unpack, or attempt to derive the underlying source code, algorithms, or protocols of any binary, bytecode, or obfuscated component.
|
|
21
|
+
3. **No Redistribution or Sublicensing:** Resell, rent, lease, sublicense, distribute, publish, or publicly display this Software, or make it available over a network to unauthorized third parties.
|
|
22
|
+
4. **No Derivative Works:** Create derivative works, competitor products, or modified forks based upon this Software or its architectural concepts.
|
|
23
|
+
5. **No Tampering:** Remove, alter, obscure, or bypass any proprietary notices, copyright banners, device seat bindings, license validation tokens, or security mechanisms.
|
|
24
|
+
|
|
25
|
+
### 3. Ownership & Legal Enforcement
|
|
26
|
+
All title, ownership rights, trademarks, and intellectual property rights in and to the Software remain exclusively with **Praveen Ojha**. Any unauthorized copying, reverse engineering, redistribution, or infringement will be prosecuted to the maximum extent permitted under applicable national and international copyright, intellectual property, and trade secret laws.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
For commercial licensing, enterprise inquiries, or permission requests, contact:
|
|
31
|
+
**Praveen Ojha** • Website: [praveenojha.com](https://praveenojha.com) • Email: `support@praveenojha.com`
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# 🤖 EditorMate
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="assets/icon.png" width="128" height="128" alt="EditorMate Icon" />
|
|
5
|
+
</p>
|
|
6
|
+
|
|
7
|
+
> **Mobile Companion for AI Coding Workflows**
|
|
8
|
+
> Monitor your development workspace, review coding agent progress, approve pending diffs, and send voice instructions directly from your mobile device.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## 🌟 Key Capabilities
|
|
13
|
+
|
|
14
|
+
### 1. 📲 Companion Notifications & Status
|
|
15
|
+
* **Status Monitoring:** Check active tasks, branch info, and modified files on the go.
|
|
16
|
+
* **Progress Reports:** Receive structured summaries of ongoing coding sessions.
|
|
17
|
+
|
|
18
|
+
### 2. 🛡️ Interactive Decision Cards
|
|
19
|
+
* When an AI agent requests confirmation for file edits or long-running builds:
|
|
20
|
+
* Review the proposed diff summary on your device.
|
|
21
|
+
* Tap **Approve** or **Decline** with one tap to keep work flowing smoothly.
|
|
22
|
+
|
|
23
|
+
### 3. 🎙️ Mobile Voice Notes
|
|
24
|
+
* Speak quick instructions or clarification prompts on your phone.
|
|
25
|
+
* Automatic local transcription inserts your notes into the active IDE prompt without manual typing.
|
|
26
|
+
|
|
27
|
+
### 4. 📸 Workspace Snapshots
|
|
28
|
+
* Request snapshots of the active editor window to verify build output or UI state.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 🔒 Privacy & Architecture
|
|
33
|
+
|
|
34
|
+
EditorMate operates via a secure local-first companion daemon running directly on your workstation.
|
|
35
|
+
|
|
36
|
+
* **Local Processing:** No external servers inspect or store your source code.
|
|
37
|
+
* **Encrypted Storage:** Secrets and tokens are protected via your operating system's native credential store.
|
|
38
|
+
* **Hardware Bound:** Works directly with your licensed workstation.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 🚀 Quickstart
|
|
43
|
+
|
|
44
|
+
1. Install the EditorMate extension in your editor.
|
|
45
|
+
2. Open the EditorMate panel from the Activity Bar or status bar.
|
|
46
|
+
3. Follow the setup instructions in the sidebar to connect your companion device.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 📄 License & Support
|
|
51
|
+
|
|
52
|
+
EditorMate is part of the **PortSync AI Developer Suite** by **Praveen Ojha**.
|
|
53
|
+
For documentation, license keys, and support:
|
|
54
|
+
* 🌐 **Website:** [praveenojha.com/store/editormate](https://praveenojha.com/store/editormate)
|
|
55
|
+
* 📖 **Support:** [praveenojha.com/store/editormate#support](https://praveenojha.com/store/editormate#support)
|
|
Binary file
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round">
|
|
2
|
+
<!-- Desktop IDE Screen / Monitor -->
|
|
3
|
+
<rect x="2" y="3" width="13" height="11" rx="2"/>
|
|
4
|
+
<line x1="8.5" y1="14" x2="8.5" y2="18"/>
|
|
5
|
+
<line x1="5.5" y1="18" x2="11.5" y2="18"/>
|
|
6
|
+
<!-- Screen Cursor Pointer -->
|
|
7
|
+
<path d="M5.5 6.5l2 4 1.5-1.5 2 2"/>
|
|
8
|
+
|
|
9
|
+
<!-- Mobile Companion Device (Right) -->
|
|
10
|
+
<rect x="14" y="8" width="8" height="13" rx="2"/>
|
|
11
|
+
<line x1="16.5" y1="10.5" x2="19.5" y2="10.5"/>
|
|
12
|
+
<circle cx="18" cy="18.5" r="0.75" fill="currentColor"/>
|
|
13
|
+
|
|
14
|
+
<!-- Wireless Connection Link Wave -->
|
|
15
|
+
<path d="M12 4.5a3.5 3.5 0 0 1 3.5 2.5"/>
|
|
16
|
+
</svg>
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* EditorMate — Developer CLI & Companion Controller
|
|
5
|
+
* Universal Remote Control for AI Coding Agents
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { CompanionDaemon } from '../dist/core/companion_daemon.js';
|
|
9
|
+
import { SecurityVault } from '../dist/core/security.js';
|
|
10
|
+
import { SessionManager } from '../dist/core/session_manager.js';
|
|
11
|
+
import { LicenseManager } from '../dist/core/licensing.js';
|
|
12
|
+
import { VsCodeCursorAdapter, AntigravityAdapter, ClaudeCodeAdapter, WindsurfAdapter, AiderAdapter } from '../dist/adapters/ide/ide_adapters.js';
|
|
13
|
+
import { runInteractiveTui, launchDesktopGui } from '../dist/core/tui_dashboard.js';
|
|
14
|
+
import QRCode from 'qrcode';
|
|
15
|
+
import path from 'path';
|
|
16
|
+
import fs from 'fs';
|
|
17
|
+
import os from 'os';
|
|
18
|
+
|
|
19
|
+
const args = process.argv.slice(2);
|
|
20
|
+
let command = args[0];
|
|
21
|
+
if (!command) {
|
|
22
|
+
if (process.stdin.isTTY && !process.env.CI) {
|
|
23
|
+
command = 'tui';
|
|
24
|
+
} else {
|
|
25
|
+
command = 'status';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const vault = SecurityVault.getInstance();
|
|
30
|
+
const sm = SessionManager.getInstance();
|
|
31
|
+
const lm = LicenseManager.getInstance();
|
|
32
|
+
|
|
33
|
+
async function main() {
|
|
34
|
+
if (command === 'tui' || command === 'cockpit') {
|
|
35
|
+
await runInteractiveTui();
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (command === 'ui' || command === 'gui' || command === 'dashboard') {
|
|
40
|
+
launchDesktopGui('http://127.0.0.1:4588/dashboard');
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (command === 'daemon' || command === 'start') {
|
|
45
|
+
const daemon = new CompanionDaemon();
|
|
46
|
+
await daemon.start();
|
|
47
|
+
// Keep alive
|
|
48
|
+
process.on('SIGINT', async () => {
|
|
49
|
+
console.log('\nStopping EditorMate Companion Daemon...');
|
|
50
|
+
await daemon.stop();
|
|
51
|
+
process.exit(0);
|
|
52
|
+
});
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if (command === 'status') {
|
|
57
|
+
// Detect workspaces
|
|
58
|
+
const adapters = [
|
|
59
|
+
new VsCodeCursorAdapter(false),
|
|
60
|
+
new AntigravityAdapter(),
|
|
61
|
+
new ClaudeCodeAdapter(),
|
|
62
|
+
new WindsurfAdapter(),
|
|
63
|
+
new AiderAdapter()
|
|
64
|
+
];
|
|
65
|
+
for (const a of adapters) {
|
|
66
|
+
try {
|
|
67
|
+
const found = await a.detectActiveWorkspaces();
|
|
68
|
+
found.forEach((s) => sm.registerSession(s));
|
|
69
|
+
} catch {}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const sessions = sm.getAllSessions();
|
|
73
|
+
const entitlement = lm.checkEntitlement();
|
|
74
|
+
const linked = vault.getRealLinkedAccounts();
|
|
75
|
+
|
|
76
|
+
console.log(`
|
|
77
|
+
🛡️ EditorMate • Remote Control for AI Coding Agents (v1.0.0)
|
|
78
|
+
=============================================================
|
|
79
|
+
💻 Device Seat: ${vault.getDeviceSeat()}
|
|
80
|
+
📦 License Status: ${entitlement.license.status.toUpperCase()} (${entitlement.license.tier.toUpperCase()})
|
|
81
|
+
⏳ Trial Days Left: ${
|
|
82
|
+
entitlement.license.trialEndsAt
|
|
83
|
+
? Math.max(0, Math.ceil((entitlement.license.trialEndsAt - Date.now()) / (24 * 3600 * 1000)))
|
|
84
|
+
: 'N/A'
|
|
85
|
+
} days
|
|
86
|
+
|
|
87
|
+
📂 Active Workspaces (${sessions.length}):`);
|
|
88
|
+
|
|
89
|
+
if (sessions.length === 0) {
|
|
90
|
+
console.log(' (No IDE active. Start VS Code, Cursor, or Antigravity with EditorMate extension)');
|
|
91
|
+
} else {
|
|
92
|
+
sessions.forEach((s, idx) => {
|
|
93
|
+
console.log(` ${idx + 1}. [${s.ideType.toUpperCase()}] ${s.workspaceName}`);
|
|
94
|
+
console.log(` Path: ${s.workspacePath}`);
|
|
95
|
+
console.log(` Status: ${s.status} | Task: ${s.activeTask || 'None (Idle)'}`);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
console.log(`\n📱 Paired Messaging Accounts (${linked.length}):`);
|
|
100
|
+
if (linked.length === 0) {
|
|
101
|
+
console.log(' (None paired. Run: editormate pair telegram | discord | whatsapp)');
|
|
102
|
+
} else {
|
|
103
|
+
linked.forEach((acc) => {
|
|
104
|
+
console.log(` • ${acc.platform.toUpperCase()}: ${acc.userHandle} (ID: ${acc.userId})`);
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
console.log('');
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
if (command === 'pair') {
|
|
112
|
+
const platform = (args[1] || 'telegram').toLowerCase();
|
|
113
|
+
if (!['telegram', 'discord', 'whatsapp'].includes(platform)) {
|
|
114
|
+
console.error('Usage: editormate pair <telegram|discord|whatsapp>');
|
|
115
|
+
process.exit(1);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
const session = vault.createPairingToken(platform, 'EditorMate_bot');
|
|
119
|
+
const qrTerminal = await QRCode.toString(session.deepLink, { type: 'terminal', small: true });
|
|
120
|
+
|
|
121
|
+
const qrDir = path.join(os.homedir(), '.editormate');
|
|
122
|
+
if (!fs.existsSync(qrDir)) {
|
|
123
|
+
fs.mkdirSync(qrDir, { recursive: true });
|
|
124
|
+
}
|
|
125
|
+
const qrImagePath = path.join(qrDir, `pairing_${platform}.png`);
|
|
126
|
+
await QRCode.toFile(qrImagePath, session.deepLink, { width: 360, margin: 2 });
|
|
127
|
+
|
|
128
|
+
console.log(`
|
|
129
|
+
🔗 EditorMate Pairing Link (${platform.toUpperCase()})
|
|
130
|
+
======================================================
|
|
131
|
+
📱 Scan this QR Code with your phone camera or Telegram:
|
|
132
|
+
|
|
133
|
+
${qrTerminal}
|
|
134
|
+
|
|
135
|
+
1. Direct Link:
|
|
136
|
+
${session.deepLink}
|
|
137
|
+
|
|
138
|
+
2. QR Image saved to:
|
|
139
|
+
${qrImagePath}
|
|
140
|
+
|
|
141
|
+
3. Press 'Start' in @EditorMate_bot to complete pairing.
|
|
142
|
+
Token expires in 15 minutes: ${session.token}
|
|
143
|
+
`);
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
if (command === 'disconnect') {
|
|
148
|
+
const platform = args[1] ? args[1].toLowerCase() : undefined;
|
|
149
|
+
if (platform && ['telegram', 'discord', 'whatsapp'].includes(platform)) {
|
|
150
|
+
vault.disconnectAccount(platform);
|
|
151
|
+
console.log(`✅ Disconnected all ${platform} accounts from this computer.`);
|
|
152
|
+
} else {
|
|
153
|
+
vault.disconnectAccount('telegram');
|
|
154
|
+
vault.disconnectAccount('discord');
|
|
155
|
+
vault.disconnectAccount('whatsapp');
|
|
156
|
+
console.log('✅ Disconnected all messaging accounts from this computer.');
|
|
157
|
+
}
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
if (command === 'config') {
|
|
162
|
+
const target = args[1];
|
|
163
|
+
const platform = args[2] || 'telegram';
|
|
164
|
+
const val = args[3];
|
|
165
|
+
if (target === 'bot' && val) {
|
|
166
|
+
vault.setBotToken(platform, val);
|
|
167
|
+
console.log(`🔒 Securely saved ${platform.toUpperCase()} bot token into OS Keychain & encrypted vault.`);
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
console.log(`Usage: editormate config bot <telegram|discord|slack> <token>`);
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
if (command === 'license') {
|
|
175
|
+
const subCmd = args[1];
|
|
176
|
+
if (subCmd === 'activate' && args[2]) {
|
|
177
|
+
const key = args[2];
|
|
178
|
+
console.log(`Verifying license key with PortSync Licensing Authority...`);
|
|
179
|
+
const res = await lm.activateLicenseKey(key);
|
|
180
|
+
if (res.success) {
|
|
181
|
+
console.log(`🎉 ${res.message}`);
|
|
182
|
+
} else {
|
|
183
|
+
console.error(`❌ ${res.message}`);
|
|
184
|
+
}
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
console.log(`Usage: editormate license activate <your-license-key>`);
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
if (command === 'test-msg') {
|
|
192
|
+
const text = args.slice(1).join(' ') || '/status';
|
|
193
|
+
console.log(`[Test] Simulating incoming remote message: "${text}"`);
|
|
194
|
+
const adapters = [new VsCodeCursorAdapter(false)];
|
|
195
|
+
for (const a of adapters) {
|
|
196
|
+
const found = await a.detectActiveWorkspaces();
|
|
197
|
+
found.forEach((s) => sm.registerSession(s));
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
const res = await sm.handleRemoteCommand({
|
|
201
|
+
type: text.startsWith('/') ? text.substring(1).split(' ')[0] : 'chat',
|
|
202
|
+
text: text.startsWith('/') ? text.replace(/^\/\w+\s*/, '') : text,
|
|
203
|
+
senderId: 'test_user',
|
|
204
|
+
platform: 'telegram',
|
|
205
|
+
timestamp: Date.now(),
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
console.log(`\n--- Agent Reply ---\n${res.message}\n-------------------\n`);
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
if (command === 'telemetry') {
|
|
213
|
+
const { EditorMateTelemetry } = await import('../dist/core/telemetry.js');
|
|
214
|
+
const tel = EditorMateTelemetry.getInstance();
|
|
215
|
+
const snap = tel.getAggregatedSnapshot();
|
|
216
|
+
|
|
217
|
+
console.log(`
|
|
218
|
+
📊 EditorMate Remote Control Cloud Telemetry
|
|
219
|
+
============================================
|
|
220
|
+
• Primary Server: https://telemetry.praveenojha.com
|
|
221
|
+
• Device Seat: ${snap.deviceSeat}
|
|
222
|
+
• License Tier: ${snap.tier.toUpperCase()}
|
|
223
|
+
• Commands Handled: ${snap.commandsProcessed}
|
|
224
|
+
• Prompts Dispatched: ${snap.promptsDispatched}
|
|
225
|
+
• Voice Notes Processed: ${snap.voiceNotesTranscribed}
|
|
226
|
+
• Photos OCR Analyzed: ${snap.photosAnalyzed}
|
|
227
|
+
• Approvals Resolved: ${snap.approvalsHandled}
|
|
228
|
+
• Live Screen Snaps: ${snap.screenSnaps}
|
|
229
|
+
• Executive PDFs: ${snap.reportsGenerated}
|
|
230
|
+
• Active Workspaces: ${snap.activeWorkspacesCount}
|
|
231
|
+
• Connected Channels: ${snap.connectedChannels.length > 0 ? snap.connectedChannels.join(', ') : 'None paired'}
|
|
232
|
+
• Last Dispatched: ${snap.lastDispatchedAt || 'Never'}
|
|
233
|
+
`);
|
|
234
|
+
|
|
235
|
+
console.log('⚡ Dispatching real-time heartbeat to https://telemetry.praveenojha.com...');
|
|
236
|
+
const ok = await tel.dispatchHeartbeat();
|
|
237
|
+
if (ok) {
|
|
238
|
+
console.log('✅ Heartbeat accepted by telemetry.praveenojha.com (Cloudflare D1 SQL recorded)!');
|
|
239
|
+
} else {
|
|
240
|
+
console.log('⚠️ Could not connect to telemetry server. Will retry automatically.');
|
|
241
|
+
}
|
|
242
|
+
return;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
console.log(`
|
|
246
|
+
Usage: editormate <command>
|
|
247
|
+
|
|
248
|
+
Commands:
|
|
249
|
+
tui Launch interactive terminal control cockpit
|
|
250
|
+
ui / gui / dashboard Launch standalone rectangular desktop GUI companion
|
|
251
|
+
status View connected IDE sessions, pairing states & license
|
|
252
|
+
daemon Start the authenticated local companion daemon
|
|
253
|
+
telemetry Inspect and dispatch telemetry to telemetry.praveenojha.com
|
|
254
|
+
pair <platform> Generate 1-click pairing link (telegram | discord | whatsapp | slack)
|
|
255
|
+
disconnect [platform] Unlink connected messaging identities
|
|
256
|
+
license activate <key> Activate commercial license key
|
|
257
|
+
test-msg <command> Simulate remote instruction test
|
|
258
|
+
`);
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
main().catch((err) => {
|
|
262
|
+
console.error('Fatal:', err);
|
|
263
|
+
process.exit(1);
|
|
264
|
+
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EditorMate — Modular IDE Adapters
|
|
3
|
+
* Connectors for VS Code, Cursor, Google Antigravity, and Claude Code CLI
|
|
4
|
+
*/
|
|
5
|
+
import { AgentSession, IdeType } from '../../types.js';
|
|
6
|
+
import { isProcessRunning, isHostIdeRunning } from '../../core/process_checker.js';
|
|
7
|
+
export { isProcessRunning, isHostIdeRunning };
|
|
8
|
+
export interface IdeAdapter {
|
|
9
|
+
type: IdeType;
|
|
10
|
+
detectActiveWorkspaces(): Promise<AgentSession[]>;
|
|
11
|
+
dispatchInstruction(sessionId: string, prompt: string): Promise<boolean>;
|
|
12
|
+
requestApproval(sessionId: string, action: string, command?: string): Promise<string>;
|
|
13
|
+
}
|
|
14
|
+
export declare class VsCodeCursorAdapter implements IdeAdapter {
|
|
15
|
+
type: IdeType;
|
|
16
|
+
constructor(isCursor?: boolean);
|
|
17
|
+
detectActiveWorkspaces(): Promise<AgentSession[]>;
|
|
18
|
+
dispatchInstruction(sessionId: string, prompt: string): Promise<boolean>;
|
|
19
|
+
requestApproval(sessionId: string, action: string, command?: string): Promise<string>;
|
|
20
|
+
}
|
|
21
|
+
export declare class AntigravityAdapter implements IdeAdapter {
|
|
22
|
+
type: IdeType;
|
|
23
|
+
detectActiveWorkspaces(): Promise<AgentSession[]>;
|
|
24
|
+
dispatchInstruction(sessionId: string, prompt: string): Promise<boolean>;
|
|
25
|
+
requestApproval(sessionId: string, action: string, command?: string): Promise<string>;
|
|
26
|
+
}
|
|
27
|
+
export declare class ClaudeCodeAdapter implements IdeAdapter {
|
|
28
|
+
type: IdeType;
|
|
29
|
+
detectActiveWorkspaces(): Promise<AgentSession[]>;
|
|
30
|
+
dispatchInstruction(sessionId: string, prompt: string): Promise<boolean>;
|
|
31
|
+
requestApproval(sessionId: string, action: string, command?: string): Promise<string>;
|
|
32
|
+
}
|
|
33
|
+
export declare class WindsurfAdapter implements IdeAdapter {
|
|
34
|
+
type: IdeType;
|
|
35
|
+
detectActiveWorkspaces(): Promise<AgentSession[]>;
|
|
36
|
+
dispatchInstruction(sessionId: string, prompt: string): Promise<boolean>;
|
|
37
|
+
requestApproval(sessionId: string, action: string, command?: string): Promise<string>;
|
|
38
|
+
}
|
|
39
|
+
export declare class AiderAdapter implements IdeAdapter {
|
|
40
|
+
type: IdeType;
|
|
41
|
+
detectActiveWorkspaces(): Promise<AgentSession[]>;
|
|
42
|
+
dispatchInstruction(sessionId: string, prompt: string): Promise<boolean>;
|
|
43
|
+
requestApproval(sessionId: string, action: string, command?: string): Promise<string>;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=ide_adapters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ide_adapters.d.ts","sourceRoot":"","sources":["../../../src/adapters/ide/ide_adapters.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEnF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;AAE9C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,sBAAsB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAClD,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzE,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACvF;AAED,qBAAa,mBAAoB,YAAW,UAAU;IAC7C,IAAI,EAAE,OAAO,CAAC;gBAET,QAAQ,UAAQ;IAIf,sBAAsB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAQjD,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxE,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAKnG;AAED,qBAAa,kBAAmB,YAAW,UAAU;IAC5C,IAAI,EAAE,OAAO,CAAiB;IAExB,sBAAsB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAiBjD,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxE,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAKnG;AAED,qBAAa,iBAAkB,YAAW,UAAU;IAC3C,IAAI,EAAE,OAAO,CAAiB;IAExB,sBAAsB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAoBjD,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxE,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAKnG;AAED,qBAAa,eAAgB,YAAW,UAAU;IACzC,IAAI,EAAE,OAAO,CAAc;IAErB,sBAAsB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAgBjD,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxE,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAKnG;AAED,qBAAa,YAAa,YAAW,UAAU;IACtC,IAAI,EAAE,OAAO,CAAW;IAElB,sBAAsB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAgBjD,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxE,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAKnG"}
|