feat(cli): add Zoo automation client - #1159
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
dc868c1 to
270bd8f
Compare
4274a2f to
d692b18
Compare
c6511df to
cb131fc
Compare
d692b18 to
a957c99
Compare
04e2307 to
7f0cd10
Compare
8391c2b to
0aa818f
Compare
3325a7a to
eb180c7
Compare
1fc922e to
c47d0c5
Compare
c47d0c5 to
e122a32
Compare
Stack
Position 4 of 6 in the Zoo CLI stack.
fm/zoo-cli-host-security(PR feat(cli): add secure supervised Zoo host #1158)fm/zoo-cli-interactive(planned)(main) <- contracts <- headless-api <- host-security <- automation.gh stack submit --auto --open --remote originreturnedStacked PRs are not enabled for this repository, so GitHub uses the approved classic base-branch fallback without flattening or retargeting local ancestry.Scope
@zoo-code/cliapplication andzooexecutable inapps/zoo; inheritedapps/cliremains untouched.run, formattedresume, and workspace-scopedsessions listgrammar with non-persisting overrides and safe unattended approval defaults.Acceptance Evidence
pnpm --dir apps/zoo test(9 unit and packaged subprocess tests)pnpm --dir apps/zoo check-typespnpm --dir packages/zoo-host test(5 tests) and typecheckpnpm --dir packages/zoo-protocol exec vitest run src/__tests__/contracts.test.ts(60 tests)pnpm --dir src exec vitest run extension/__tests__/api-headless.spec.ts(6 tests)Risk
This layer establishes automation semantics before release artifact assembly. The principal risk is lifecycle drift between extension events and normalized events; strict negotiation, subprocess crash/timeout/signal tests, and one authoritative parent settlement limit that risk. Interactive Ink behavior and installed cross-platform artifact layout intentionally remain in later stack layers.
sequenceDiagram participant U as User or CI participant Z as zoo parent participant H as zoo-host participant E as Production extension U->>Z: zoo run / resume Z->>H: hello.select + task command H->>E: direct headless API E-->>H: typed ordered events H-->>Z: IPC ACK, DONE, normalized events alt completion Z-->>U: text / one JSON / NDJSON result else timeout, signal, crash, or EPIPE Z->>H: bounded canonical cancel and shutdown Z-->>U: deterministic outcome and exit code end