Context
Issue #398 (upstream: Light-Heart-Labs/DreamServer) was dropped from PR-1F (batch A)
because the target code does not exist on upstream/main @ d5154c3.
The `--json` branch in `cmd_list` is introduced by upstream PR Light-Heart-Labs#1000
(`feat/dream-cli-json-flag`, branch `feat/dream-cli-json-flag`). Until that PR
merges upstream, there is nothing to refactor on main.
What this follow-up tracks
Once upstream PR Light-Heart-Labs#1000 is merged:
- Refactor `cmd_list`'s `--json` emission from `printf '{"id":"%s",...}'` to the
same `jq -n --arg ... | jq -s .` pattern used by `cmd_status_json`.
- This closes the user-installed-extension special-char escaping risk raised in
the original issue body.
Scope
Mechanical: read manifest fields into `--arg` pairs, collect per-service jq objects,
`jq -s .` at end. No behavior change for built-in extensions.
Dependencies
Origin
Deferred from batch A PR-1F by verify-1f (dreamserver-verifier).
Original upstream issue: Light-Heart-Labs#398.
Context
Issue #398 (upstream: Light-Heart-Labs/DreamServer) was dropped from PR-1F (batch A)
because the target code does not exist on upstream/main @ d5154c3.
The `--json` branch in `cmd_list` is introduced by upstream PR Light-Heart-Labs#1000
(`feat/dream-cli-json-flag`, branch `feat/dream-cli-json-flag`). Until that PR
merges upstream, there is nothing to refactor on main.
What this follow-up tracks
Once upstream PR Light-Heart-Labs#1000 is merged:
same `jq -n --arg ... | jq -s .` pattern used by `cmd_status_json`.
the original issue body.
Scope
Mechanical: read manifest fields into `--arg` pairs, collect per-service jq objects,
`jq -s .` at end. No behavior change for built-in extensions.
Dependencies
after feat(dream-cli): --json flag on list/status and document doctor --json Light-Heart-Labs/DreamServer#1000 merges.
Origin
Deferred from batch A PR-1F by verify-1f (dreamserver-verifier).
Original upstream issue: Light-Heart-Labs#398.