@proxy-checkout/cli 0.1.1-prx-124.150.1 → 0.1.1-prx-144.155.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -28,6 +28,17 @@ macOS uses the built-in Security framework and Keychain; supported Linux desktop
28
28
 
29
29
  All grants issued in this release and all operational/resource commands are test-only. `auth status` and `auth logout` are mode-neutral safety controls so a future separately issued live grant can still be inspected and revoked. This release does not issue live grants, and `--mode live` on login or a resource command exits `5` with `cli_live_mode_not_enabled` before authentication or resource creation. The credential/verifier, profiles, command registry, and policies model mode explicitly so future live commands can require a separate live-bound grant, capability, and command intent without redesigning auth.
30
30
 
31
+ ## Inspect a Stripe path
32
+
33
+ `stripe doctor` is a credential-free, generated facts check. It prints the exact capability closure, read-only reconciliation operations, restricted-key permissions, webhook events, compatibility floor, helper, unsupported options, and readiness gate for a path:
34
+
35
+ ```bash
36
+ proxy stripe doctor --path OT-PI --format json
37
+ proxy stripe doctor --path OT-CO-H --format json
38
+ ```
39
+
40
+ The command never connects to Stripe or Proxy and never reads secrets or provider objects. `OT-PI` and `OT-CO-H` remain `action_required` outside the named internal cohort until production-deployed Stripe test-mode proof passes. The merchant backend still owns the Stripe create/edit credential and injects its Stripe client into the SDK helper; Proxy stores only the separate read-only restricted key described by the output.
41
+
31
42
  ## Listen for Proxy webhooks
32
43
 
33
44
  An active HTTPS source endpoint must already exist. Its selected event types, schema version, and signing-secret identity are cloned server-side; the CLI never receives the signing secret.
@@ -1,6 +1,6 @@
1
1
  import { CliConfigStore } from "./config.js";
2
2
  import { type CliIo } from "./output.js";
3
- export declare const cliVersion = "0.1.1-prx-124.150.1";
3
+ export declare const cliVersion = "0.1.1-prx-144.155.1";
4
4
  export interface RunCliOptions {
5
5
  configStore?: CliConfigStore;
6
6
  environment?: NodeJS.ProcessEnv;
package/dist/cjs/cli.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { CliConfigStore } from "./config.js";
2
2
  import { type CliIo } from "./output.js";
3
- export declare const cliVersion = "0.1.1-prx-124.150.1";
3
+ export declare const cliVersion = "0.1.1-prx-144.155.1";
4
4
  export interface RunCliOptions {
5
5
  configStore?: CliConfigStore;
6
6
  environment?: NodeJS.ProcessEnv;
package/dist/cjs/cli.js CHANGED
@@ -8,8 +8,9 @@ const command_schema_js_1 = require("./command-schema.js");
8
8
  const config_js_1 = require("./config.js");
9
9
  const errors_js_1 = require("./errors.js");
10
10
  const output_js_1 = require("./output.js");
11
+ const stripe_doctor_js_1 = require("./stripe-doctor.js");
11
12
  const webhooks_js_1 = require("./webhooks.js");
12
- exports.cliVersion = "0.1.1-prx-124.150.1";
13
+ exports.cliVersion = "0.1.1-prx-144.155.1";
13
14
  async function runCli(argv, options = {}) {
14
15
  const io = options.io ?? {
15
16
  isTTY: Boolean(process.stdin.isTTY && process.stdout.isTTY),
@@ -28,7 +29,7 @@ async function runCli(argv, options = {}) {
28
29
  }
29
30
  if (parsedGlobals.options.llmsFull) {
30
31
  const document = (0, command_schema_js_1.llmsFullDocument)();
31
- output.result({ document, schema_version: "2026-07-14" }, document);
32
+ output.result({ document, schema_version: "2026-07-18" }, document);
32
33
  return errors_js_1.cliExitCodes.success;
33
34
  }
34
35
  if (parsedGlobals.args.join(" ") === "commands schema") {
@@ -104,6 +105,15 @@ async function executeCommand(input) {
104
105
  input.output.result(publicProfile(input.profileName, profile), `Authenticated profile ${input.profileName} for test merchant ${profile.merchantId}.`);
105
106
  return;
106
107
  }
108
+ if (input.command.path === "stripe doctor") {
109
+ const pathId = readRequiredString(input.options, "--path");
110
+ const report = (0, stripe_doctor_js_1.stripeDoctorReport)(pathId);
111
+ if (!report) {
112
+ throw (0, errors_js_1.usageError)(`Unknown Stripe path ID ${pathId}; expected one of ${(0, stripe_doctor_js_1.stripeDoctorPathIds)().join(", ")}`);
113
+ }
114
+ input.output.result({ stripe_path: report }, (0, stripe_doctor_js_1.formatStripeDoctorReport)(report));
115
+ return;
116
+ }
107
117
  const resolved = await input.configStore.resolveCredential({
108
118
  apiBaseUrl: input.requestedApiBase,
109
119
  profileName: input.profileName,
@@ -63,6 +63,20 @@ exports.commandSchemas = [
63
63
  output: "Revocation status.",
64
64
  path: "auth logout",
65
65
  },
66
+ {
67
+ capabilities: [],
68
+ description: "Print generated Stripe path facts, exact read/event requirements, and static readiness gates.",
69
+ interactive: false,
70
+ modes: ["test", "live"],
71
+ options: withCommonOptions({
72
+ description: "Canonical Stripe path ID such as OT-PI or OT-CO-H.",
73
+ name: "--path",
74
+ required: true,
75
+ type: "string",
76
+ }),
77
+ output: "Generated path facts and readiness status; never credentials or provider objects.",
78
+ path: "stripe doctor",
79
+ },
66
80
  {
67
81
  description: "Relay signed Proxy test webhooks to a loopback development server.",
68
82
  interactive: true,
@@ -214,7 +228,7 @@ function findCommandSchema(path) {
214
228
  }
215
229
  function commandSchemaDocument(path) {
216
230
  if (!path) {
217
- return { commands: exports.commandSchemas, schema_version: "2026-07-14" };
231
+ return { commands: exports.commandSchemas, schema_version: "2026-07-18" };
218
232
  }
219
233
  return findCommandSchema(path);
220
234
  }