Locate an existing OpenCode project config. Returns the path to
opencode.jsonc if present, else opencode.json if present, else
None. Prefers .jsonc because a user who bothered to write a
comment-annotated config is more invested in it, and sqz must not
silently create a parallel .json that would leave the .jsonc
looking un-updated (reported in issue #6).
Return true if the user’s OpenCode project config is a .jsonc
file that contains comments. Callers use this to decide whether to
warn the user that sqz’s upcoming merge will drop those comments
(serde_json round-trips discard them).
Remove sqz’s entries from an existing opencode.json/opencode.jsonc
without deleting the whole file. Removes mcp.sqz and any "sqz"
entry from plugin. If this leaves mcp or plugin empty the keys
are dropped too. Returns (path, changed) — changed is false
when neither sqz entry was present.
Like update_opencode_config but also reports whether comments had
to be dropped from a JSONC file during the merge. Used by the sqz init CLI to print a warning.