* Add Amp agent hook service and /hook/amp status pipeline
- Register Amp across managed and remote hook installers so it installs, removes, and reports like other agents.
- Add a dedicated Amp plugin service that writes a managed plugin file, preserves user-authored plugins, and exposes consistent status detection.
- Wire Amp endpoints and payload normalization through relay/listener, including agent/start, tool call/result, and end/cancel handling.
- Extend IPC/preload/web/renderer contracts with ampStatus plus UI catalog label/icon support.
- Add tests for plugin installation/removal/status, remote installer behavior, and server acceptance/normalization of Amp hook events.
* Fix Amp hook ordering and status normalization
Co-authored-by: Orca <help@stably.ai>
---------
Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
Adds an RPM Linux package target and renames the Linux CLI command to orca-ide to avoid shadowing GNOME Orca, while preserving macOS and Windows CLI command behavior.\n\nFollow-up hardening keeps the Linux launcher executable, removes only old Orca-managed Linux/WSL orca launchers during migration, preserves AppImage/deb artifact names, and updates package/release tests for the RPM asset.
* fix(session): broaden hydration carve-out beyond SSH repos (#1158)
Finish the third deferred follow-up from #1158: preserve persisted terminal tabs when a repo is still known but its worktree list has not loaded yet.
Startup fetches repos and worktrees before hydrating the saved session. If a local repo fetch degrades to an empty list, or an SSH repo has not reconnected yet, the old SSH-only carve-out could drop every tab for that repo and let the session writer persist the loss after hydration succeeded.
Hydration now preserves missing session worktree IDs only when their owning repo is still in s.repos and that repo has not produced a non-empty worktree list. Once a repo has loaded one or more worktrees, that list stays authoritative so genuinely deleted worktrees are still filtered instead of being kept as zombies.
The sidebar placeholder synthesis remains SSH-only: local worktree metadata should come from the next successful fetch rather than a synthetic entry.
Tests cover preserving tabs for a known repo with an unloaded worktree list, dropping tabs for an unknown repo, and the existing invalid-worktree path now also pins the loaded-repo/deleted-worktree case.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* Fix authoritative hydration cleanup
Co-authored-by: Orca <help@stably.ai>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>