import { SfCommand } from '@salesforce/sf-plugins-core'; import { type CompatibilityResult } from '../../../operations/CompatibilityCheckOperation.js'; /** Result type returned for `--json` output. */ export type CompatibilityCheckResult = CompatibilityResult; /** * Reports the Cuneiform For Salesforce app version required by this CLI build, * and (when `--target-org` is supplied) verifies whether the target org has a * compatible version installed. * * Two-mode UX: * - No flag: prints the required app version and CLI version. No auth. * - With `--target-org `: queries the org for the installed `pnova` package via Tooling API, computes compatibility state, exits non-zero on mismatch. * * Exit codes: * - `0` for default mode, `installed-match`, `installed-newer` * - `1` for `installed-older`, `not-installed`, runtime errors * * Extends `SfCommand` directly (not `CuneiformCommand`): the compatibility check * is a meta query that runs without authentication in default mode and bypasses * the access gate even when an org is supplied — knowing whether you can run * Cuneiform commands is the very thing this command answers. * * @example Local-only readout: `sf cuneiform compatibility check` * @example Verify a target org: `sf cuneiform compatibility check --target-org myOrg` * @example Machine-readable: `sf cuneiform compatibility check --target-org myOrg --json` */ export default class CompatibilityCheck extends SfCommand { static readonly summary: string; static readonly description: string; static readonly examples: string[]; static readonly flags: { 'target-org': import("@oclif/core/interfaces").OptionFlag; 'api-version': import("@oclif/core/interfaces").OptionFlag; }; run(): Promise; /** * Render the compatibility check result to the user. * * Default mode (no installed): prints the required app version and CLI version. * Org-checked mode: adds the installed version and a state line with an indicator. */ private displayResult; }