-
fix(cli): fail closed on permission gaps and tolerate skewed payloads (#3879)
发布于
2026-07-21 07:15:53 +00:00 This PR:
- lands ten behavioral fixes as one commit each, so
git showreviews
standalone - fails the tool-permission gate closed: an unknown snapshot state or a
failed policy resolve on a controls-enabled org now synthesizes an
ask_every_callsnapshot (never persisted) instead of silently skipping
the gate, and interactive approval UI never spawns where nobody can
answer it (CI/Vitest) - surfaces realtime subscription failures as typed errors:
composio listenprints one actionable line mentioningcomposio login, cleans
up temporary triggers, and exits 1 instead of dumping a captured defect - tolerates newer connected-account payloads with a fallback decode
whose field allowlist keeps credential-bearing fields (state,data)
out oflink --listoutput - decodes persisted caches and GitHub release listings per entry, so one
corrupt or version-skewed entry drops only itself - extracts API error details field by field, renders the deepest cause
in pretty errors, and acceptsnulloptional strings in agent API
responses
Stack (re-slice of https://github.com/ComposioHQ/composio/pull/3859;
each PR targets its parent and auto-retargets tonextas parents
merge):- https://github.com/ComposioHQ/composio/pull/3877 — guidelines + inert
rule groups - https://github.com/ComposioHQ/composio/pull/3878 —
new Function()
eval security fix - https://github.com/ComposioHQ/composio/pull/3879 — behavioral fix
pack ← this PR - https://github.com/ComposioHQ/composio/pull/3880 — platform-imports
rule + migration - https://github.com/ComposioHQ/composio/pull/3881 — terminal-streams
rule + TerminalUI boundary - https://github.com/ComposioHQ/composio/pull/3882 — descriptor seam +
zod→Schema - https://github.com/ComposioHQ/composio/pull/3883 — test-tree lint +
deterministic suites - https://github.com/ComposioHQ/composio/pull/3884 — typed error
boundaries + v4 seams - https://github.com/ComposioHQ/composio/pull/3885 — try/catch+env ban
- boundary ratchet
On stacked bases CI runs lint/build and the CLI Docker e2e job; unit
tests and typecheck are verified locally per PR and re-verified by full
CI when each PR is retargeted tonext.下载附件
- lands ten behavioral fixes as one commit each, so