mirror of
https://github.com/stablyai/orca.git
synced 2026-10-23 00:03:52 +00:00
Threading the `fish` dialect to real callers made quoting a correctness problem: `quoteStartupArg` had no fish branch, so prompts and CLI args were quoted with sh rules and handed to fish. fish single quotes are not literal — `\\` and `\'` are escapes inside them — so every backslash silently halved and a trailing backslash was a hard syntax error that killed the launch. - `quoteStartupArg` gains a fish branch escaping `\` and `'`. - New `fish-command-tokenizer.ts`: fish's single/double-quote and unquoted escape rules, plus divergence flags for command substitution, brace expansion and globs (an unmatched wildcard is a hard error in fish). - `agent-resume-argv-drop` adds fish to the quoting candidates, so a fish-quoted resume suffix is recognised instead of refusing the launch. - `agent-resume-launch-command` skips `NAME=value` prefixes for fish too. - `ai-vault-resume-command` quotes its cd/CODEX_HOME prefix for the live shell. - `hermes-startup-query` quotes the `sh -c` wrapper for the real dialect. - `isPosixStartupShell`'s doc no longer claims fish shares sh quoting. fish history deletion now uses the path resolved from the PTY's spawn env (recorded in meta.json) rather than the main process env, and warns explicitly when no file is found instead of leaking one per deleted worktree in silence.