HERMES-GIELIE/api
Abdul Munim 7999d1c75a feat(workspace): add Open in VS Code action for files and folders (#2735)
Right-click any workspace file, folder, or root now shows
'Open in VS Code' alongside the existing Reveal in File Manager action.

- POST /api/file/open-vscode: resolves path via safe_resolve, finds VS
  Code via shutil.which() with fallbacks for macOS (/usr/local/bin/code,
  app bundle CLI), Linux (/usr/bin/code, /snap/bin/code), and Windows
  (%LOCALAPPDATA% and %PROGRAMFILES% user/system installs). Returns a
  descriptive error if not found rather than a bare OS error.
- Optional vscode block in config.yaml: command (default: code),
  host_path_prefix + container_path_prefix for Docker path mapping.
- i18n: open_in_vscode and open_in_vscode_failed translated in all 10
  locales (it, ja, ru, es, de, zh-CN, zh-TW, pt, ko).
- 26 tests in tests/test_2735_open_in_vscode.py covering source wiring,
  command resolution, i18n completeness, and live endpoint error paths.
2026-05-24 04:26:46 +00:00
..
__init__.py
agent_health.py fix(agent-health): treat stale running gateway as unknown 2026-05-11 23:13:09 +00:00
agent_sessions.py fix: keep resumed CLI sessions in sidebar cap 2026-05-20 15:54:44 -07:00
auth.py Add session-bound CSRF token checks 2026-05-18 07:14:26 +08:00
background.py
clarify.py chore: address review notes — dedup comment and 409-path clarification 2026-05-20 19:57:20 +00:00
commands.py
compression_anchor.py fix(compression): ignore tool output for compaction cards 2026-05-24 03:55:42 +00:00
config.py fix(models): surface bedrock provider in WebUI model picker (#2720) 2026-05-24 03:42:13 +00:00
dashboard_probe.py fix: preserve IPv6 dashboard link brackets 2026-05-19 21:35:10 -04:00
extensions.py
gateway_watcher.py
goals.py
helpers.py stage-348: apply Opus SHOULD-FIX-pre-merge — add '://' to _SENSITIVE_LOWER_MARKERS 2026-05-13 16:54:36 +00:00
kanban_bridge.py
metering.py
models.py fix: drop stale cached user tail after saved assistant 2026-05-24 04:06:45 +00:00
oauth.py
onboarding.py Classify onboarding DNS probe failures consistently 2026-05-15 08:51:30 +08:00
profiles.py Stage 393: PR #2637 2026-05-20 22:24:40 +00:00
providers.py feat: sort configured/custom providers to top in model picker and settings 2026-05-22 16:13:46 +00:00
request_diagnostics.py
rollback.py
routes.py feat(workspace): add Open in VS Code action for files and folders (#2735) 2026-05-24 04:26:46 +00:00
run_journal.py Address run journal replay review 2026-05-16 02:58:34 +00:00
runtime_adapter.py Stage 398: PR #2696 — feat(runtime): add runner-local adapter selection (RuntimeAdapter slice 4c, feature-flagged) 2026-05-21 17:43:54 +00:00
session_events.py sync session list from server events 2026-05-20 08:18:56 -06:00
session_lifecycle.py fix: align WebUI memory commits with CLI boundaries 2026-05-17 05:04:57 -06:00
session_ops.py
session_recovery.py fix(session): rebuild missing startup index 2026-05-20 23:43:30 +08:00
startup.py
state_sync.py
streaming.py fix(compression): ignore tool output for compaction cards 2026-05-24 03:55:42 +00:00
system_health.py
terminal.py fix: reap terminal shells on shutdown 2026-05-19 04:57:51 -07:00
turn_journal.py fix: lock turn journal appends 2026-05-15 16:39:45 -07:00
updates.py fix(updates): fall through to branch check when HEAD is past latest tag 2026-05-24 03:42:13 +00:00
upload.py fix(upload): scope archive extraction to per-session attachment dir 2026-05-18 21:22:02 +03:00
usage.py fix: display canonical cache hit percentage 2026-05-19 02:27:12 -06:00
workspace.py feat(workspace): add backend Git operations 2026-05-20 04:51:41 +00:00
workspace_git.py fix(workspace): tighten git subprocess trust boundary 2026-05-20 11:02:45 +00:00
worktrees.py Harden worktree removal safeguards 2026-05-13 09:49:15 +08:00