/** * Helper for rendering copy-pasteable `npx` invocations in CLI banners, * help text, and prompts. * * Every harness plugin ships a CLI bin named `ory-` (e.g. * `ory-claude`, `ory-gemini`). Those bins only resolve on `PATH` when the * package is already installed. In the common install flow the user runs * `npx @ory/ install` — a one-shot npx invocation that leaves * nothing on `PATH` — so a follow-up banner that says `npx ory-claude * permissions status` fails: npm can't find a package literally named * `ory-claude` and errors out. * * The always-resolvable form is `npx -y -p @ory/ ory- * `, which is exactly what the READMEs document. {@link oryNpx} * renders that prefix for a given bin name so every banner is * copy-paste-safe from a clean shell. */ /** * Render a copy-pasteable `npx` invocation prefix for a harness bin. * * Returns `npx -y -p ` when the bin's package is * known, so the command resolves from a clean shell. Each package ships * sibling `-setup` and `-hook` bins alongside its main `ory-` bin; * those normalize to the same package. Falls back to the bare `npx * ` for unknown bins (preserving prior behavior) — that only * resolves when the bin is already on `PATH`, so keep * {@link BIN_TO_PACKAGE} in sync with the shipped bins. * * @example * oryNpx("ory-claude") // "npx -y -p @ory/claude-code ory-claude" * oryNpx("ory-claude-setup") // "npx -y -p @ory/claude-code ory-claude-setup" * `${oryNpx("ory-claude")} permissions status` */ export declare function oryNpx(binName: string): string;