发布

  • fix(cli): handle incompatible Codex plugin commands (#3845)

    frostbyte_neo 发布于 2026-07-15 03:18:33 +00:00

    Summary

    • classify detected Claude Code and Codex hosts as supported or
      unsupported before plugin inspection
    • verify both marketplace and plugin-list JSON capabilities; retain the
      Codex 0.139.0 minimum
    • in automatic mode, skip unsupported hosts and continue with supported
      hosts
    • honor --if-present when automatic detection leaves only unsupported
      hosts
    • fail before mutation when no supported host remains without
      --if-present, or when an unsupported host is explicitly targeted
    • turn expected setup, inspection, install, verification, and uninstall
      failures into concise setup-specific errors with recovery commands
    • keep failures nonzero while avoiding generic Effect diagnostics and
      command-usage dumps

    Deferred follow-up

    Install/setup/plugin lifecycle telemetry and direct PostHog delivery are
    intentionally out of scope for this compatibility PR. They will be
    implemented separately so anonymous first-install events have a working
    delivery path.

    Regression coverage

    • unit coverage exercises supported and unsupported Claude/Codex
      combinations, explicit targets, --if-present, safe preflight, native
      failures, timeouts, malformed responses, and verification failures
    • Debian CLI E2E covers both unsupported-host directions,
      unsupported-only --if-present, and packaged noninteractive failures
      with concise output
    • a fresh isolated macOS HOME matrix covers 16 host/state scenarios
      using the exact standalone binary, real skill ZIP installation from a
      localhost fixture, PTY transcripts, idempotence, uninstall, and
      reinstall

    Verification

    • pnpm --filter @composio/cli test: 781 passed, 1 skipped across 83
      files
    • pnpm typecheck: 12 tasks passed
    • bash test/install-sh-release-resolution.test.sh: passed
    • pnpm --filter @e2e-tests/cli-setup-plugins test:e2e:cli: 11 passed
      in a rebuilt Debian image
    • fresh isolated macOS HOME/PTY matrix: 16/16 passed
    • git diff --check: passed

    No changeset: this remains an unreleased CLI compatibility change;
    stable promotion is separate.

    下载附件