@proxy-checkout/cli 0.1.1-prx-144.156.1 → 0.1.1-prx-145.159.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
@@ -35,9 +35,11 @@ All grants issued in this release and all operational/resource commands are test
35
35
  ```bash
36
36
  proxy stripe doctor --path OT-PI --format json
37
37
  proxy stripe doctor --path OT-CO-H --format json
38
+ proxy stripe doctor --path OT-CO-E --format json
39
+ proxy stripe doctor --path OT-CO-C --format json
38
40
  ```
39
41
 
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.
42
+ The command never connects to Stripe or Proxy and never reads secrets or provider objects. All four one-time paths remain independently `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. Fiveable's classic lane stays positive for direct/hosted and rejects embedded/custom with only the boundaries that actually need upgrading.
41
43
 
42
44
  ## Listen for Proxy webhooks
43
45
 
@@ -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-144.156.1";
3
+ export declare const cliVersion = "0.1.1-prx-145.159.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-144.156.1";
3
+ export declare const cliVersion = "0.1.1-prx-145.159.1";
4
4
  export interface RunCliOptions {
5
5
  configStore?: CliConfigStore;
6
6
  environment?: NodeJS.ProcessEnv;
package/dist/cjs/cli.js CHANGED
@@ -10,7 +10,7 @@ const errors_js_1 = require("./errors.js");
10
10
  const output_js_1 = require("./output.js");
11
11
  const stripe_doctor_js_1 = require("./stripe-doctor.js");
12
12
  const webhooks_js_1 = require("./webhooks.js");
13
- exports.cliVersion = "0.1.1-prx-144.156.1";
13
+ exports.cliVersion = "0.1.1-prx-145.159.1";
14
14
  async function runCli(argv, options = {}) {
15
15
  const io = options.io ?? {
16
16
  isTTY: Boolean(process.stdin.isTTY && process.stdout.isTTY),
@@ -69,7 +69,7 @@ exports.commandSchemas = [
69
69
  interactive: false,
70
70
  modes: ["test", "live"],
71
71
  options: withCommonOptions({
72
- description: "Canonical Stripe path ID such as OT-PI or OT-CO-H.",
72
+ description: "Canonical Stripe path ID such as OT-PI, OT-CO-H, OT-CO-E, or OT-CO-C.",
73
73
  name: "--path",
74
74
  required: true,
75
75
  type: "string",
@@ -82,20 +82,19 @@ export declare const stripeIntegrationCapabilitiesManifest: {
82
82
  readonly proxy_merchant_event_types: readonly ["provider_acquisition.expired", "provider_acquisition.processing", "provider_acquisition.reconciliation_required", "provider_acquisition.requires_action", "payment_attempt.processing", "payment_attempt.requires_action", "proxy_session.paid"];
83
83
  readonly reconciliation_operation_ids: readonly ["checkout_sessions.retrieve", "checkout_sessions.line_items", "payment_intents.retrieve"];
84
84
  }, {
85
- readonly availability: "disabled";
85
+ readonly availability: "internal";
86
86
  readonly checkout_ui_mode: "embedded";
87
87
  readonly commercial_mode: "one_time";
88
- readonly create_time_features: readonly ["checkout_mode_payment", "ui_mode_embedded"];
88
+ readonly create_time_features: readonly ["checkout_mode_payment", "proxy_metadata", "ui_mode_embedded"];
89
89
  readonly dependencies: readonly ["setup.webhook_endpoint_verification"];
90
90
  readonly id: "one_time.checkout.embedded";
91
91
  readonly integration_path: "checkout_session";
92
92
  readonly local_stripe_cli_event_groups: readonly ["checkout_lifecycle", "payment_intent_lifecycle"];
93
93
  readonly path_id: "OT-CO-E";
94
94
  readonly pricing_modes: readonly ["fixed", "provider_finalized"];
95
- readonly proxy_merchant_event_types: readonly ["provider_acquisition.expired", "proxy_session.paid"];
96
95
  readonly public_documentation_anchor: "/guides/stripe-checkout/#embedded";
97
96
  readonly restricted_key_permission_labels: readonly ["Checkout Sessions: Read", "Payment Intents: Read"];
98
- readonly setup_probe_operation_ids: readonly ["payment_intents.list_probe"];
97
+ readonly setup_probe_operation_ids: readonly ["checkout_sessions.list_probe", "payment_intents.list_probe"];
99
98
  readonly unsupported_options: readonly ["after_expiration_recovery", "checkout_setup_mode"];
100
99
  readonly webhook_event_group_ids: readonly ["checkout_lifecycle", "payment_intent_lifecycle"];
101
100
  readonly minimum_versions: {
@@ -105,22 +104,22 @@ export declare const stripeIntegrationCapabilitiesManifest: {
105
104
  readonly server_sdk: "14.0.0";
106
105
  readonly status: "candidate";
107
106
  };
107
+ readonly proxy_merchant_event_types: readonly ["provider_acquisition.expired", "provider_acquisition.processing", "provider_acquisition.reconciliation_required", "provider_acquisition.requires_action", "payment_attempt.processing", "payment_attempt.requires_action", "proxy_session.paid"];
108
108
  readonly reconciliation_operation_ids: readonly ["checkout_sessions.retrieve", "checkout_sessions.line_items", "payment_intents.retrieve"];
109
109
  }, {
110
- readonly availability: "disabled";
110
+ readonly availability: "internal";
111
111
  readonly checkout_ui_mode: "custom";
112
112
  readonly commercial_mode: "one_time";
113
- readonly create_time_features: readonly ["checkout_mode_payment", "ui_mode_custom"];
113
+ readonly create_time_features: readonly ["checkout_mode_payment", "proxy_metadata", "ui_mode_custom"];
114
114
  readonly dependencies: readonly ["setup.webhook_endpoint_verification"];
115
115
  readonly id: "one_time.checkout.custom";
116
116
  readonly integration_path: "checkout_session";
117
117
  readonly local_stripe_cli_event_groups: readonly ["checkout_lifecycle", "payment_intent_lifecycle"];
118
118
  readonly path_id: "OT-CO-C";
119
119
  readonly pricing_modes: readonly ["fixed", "provider_finalized"];
120
- readonly proxy_merchant_event_types: readonly ["provider_acquisition.expired", "proxy_session.paid"];
121
120
  readonly public_documentation_anchor: "/guides/stripe-checkout/#custom";
122
121
  readonly restricted_key_permission_labels: readonly ["Checkout Sessions: Read", "Payment Intents: Read"];
123
- readonly setup_probe_operation_ids: readonly ["payment_intents.list_probe"];
122
+ readonly setup_probe_operation_ids: readonly ["checkout_sessions.list_probe", "payment_intents.list_probe"];
124
123
  readonly unsupported_options: readonly ["after_expiration_recovery", "checkout_setup_mode"];
125
124
  readonly webhook_event_group_ids: readonly ["checkout_lifecycle", "payment_intent_lifecycle"];
126
125
  readonly minimum_versions: {
@@ -130,6 +129,7 @@ export declare const stripeIntegrationCapabilitiesManifest: {
130
129
  readonly server_sdk: "18.0.0";
131
130
  readonly status: "candidate";
132
131
  };
132
+ readonly proxy_merchant_event_types: readonly ["provider_acquisition.expired", "provider_acquisition.processing", "provider_acquisition.reconciliation_required", "provider_acquisition.requires_action", "payment_attempt.processing", "payment_attempt.requires_action", "proxy_session.paid"];
133
133
  readonly reconciliation_operation_ids: readonly ["checkout_sessions.retrieve", "checkout_sessions.line_items", "payment_intents.retrieve"];
134
134
  }, {
135
135
  readonly availability: "disabled";
@@ -82,20 +82,19 @@ export declare const stripeIntegrationCapabilitiesManifest: {
82
82
  readonly proxy_merchant_event_types: readonly ["provider_acquisition.expired", "provider_acquisition.processing", "provider_acquisition.reconciliation_required", "provider_acquisition.requires_action", "payment_attempt.processing", "payment_attempt.requires_action", "proxy_session.paid"];
83
83
  readonly reconciliation_operation_ids: readonly ["checkout_sessions.retrieve", "checkout_sessions.line_items", "payment_intents.retrieve"];
84
84
  }, {
85
- readonly availability: "disabled";
85
+ readonly availability: "internal";
86
86
  readonly checkout_ui_mode: "embedded";
87
87
  readonly commercial_mode: "one_time";
88
- readonly create_time_features: readonly ["checkout_mode_payment", "ui_mode_embedded"];
88
+ readonly create_time_features: readonly ["checkout_mode_payment", "proxy_metadata", "ui_mode_embedded"];
89
89
  readonly dependencies: readonly ["setup.webhook_endpoint_verification"];
90
90
  readonly id: "one_time.checkout.embedded";
91
91
  readonly integration_path: "checkout_session";
92
92
  readonly local_stripe_cli_event_groups: readonly ["checkout_lifecycle", "payment_intent_lifecycle"];
93
93
  readonly path_id: "OT-CO-E";
94
94
  readonly pricing_modes: readonly ["fixed", "provider_finalized"];
95
- readonly proxy_merchant_event_types: readonly ["provider_acquisition.expired", "proxy_session.paid"];
96
95
  readonly public_documentation_anchor: "/guides/stripe-checkout/#embedded";
97
96
  readonly restricted_key_permission_labels: readonly ["Checkout Sessions: Read", "Payment Intents: Read"];
98
- readonly setup_probe_operation_ids: readonly ["payment_intents.list_probe"];
97
+ readonly setup_probe_operation_ids: readonly ["checkout_sessions.list_probe", "payment_intents.list_probe"];
99
98
  readonly unsupported_options: readonly ["after_expiration_recovery", "checkout_setup_mode"];
100
99
  readonly webhook_event_group_ids: readonly ["checkout_lifecycle", "payment_intent_lifecycle"];
101
100
  readonly minimum_versions: {
@@ -105,22 +104,22 @@ export declare const stripeIntegrationCapabilitiesManifest: {
105
104
  readonly server_sdk: "14.0.0";
106
105
  readonly status: "candidate";
107
106
  };
107
+ readonly proxy_merchant_event_types: readonly ["provider_acquisition.expired", "provider_acquisition.processing", "provider_acquisition.reconciliation_required", "provider_acquisition.requires_action", "payment_attempt.processing", "payment_attempt.requires_action", "proxy_session.paid"];
108
108
  readonly reconciliation_operation_ids: readonly ["checkout_sessions.retrieve", "checkout_sessions.line_items", "payment_intents.retrieve"];
109
109
  }, {
110
- readonly availability: "disabled";
110
+ readonly availability: "internal";
111
111
  readonly checkout_ui_mode: "custom";
112
112
  readonly commercial_mode: "one_time";
113
- readonly create_time_features: readonly ["checkout_mode_payment", "ui_mode_custom"];
113
+ readonly create_time_features: readonly ["checkout_mode_payment", "proxy_metadata", "ui_mode_custom"];
114
114
  readonly dependencies: readonly ["setup.webhook_endpoint_verification"];
115
115
  readonly id: "one_time.checkout.custom";
116
116
  readonly integration_path: "checkout_session";
117
117
  readonly local_stripe_cli_event_groups: readonly ["checkout_lifecycle", "payment_intent_lifecycle"];
118
118
  readonly path_id: "OT-CO-C";
119
119
  readonly pricing_modes: readonly ["fixed", "provider_finalized"];
120
- readonly proxy_merchant_event_types: readonly ["provider_acquisition.expired", "proxy_session.paid"];
121
120
  readonly public_documentation_anchor: "/guides/stripe-checkout/#custom";
122
121
  readonly restricted_key_permission_labels: readonly ["Checkout Sessions: Read", "Payment Intents: Read"];
123
- readonly setup_probe_operation_ids: readonly ["payment_intents.list_probe"];
122
+ readonly setup_probe_operation_ids: readonly ["checkout_sessions.list_probe", "payment_intents.list_probe"];
124
123
  readonly unsupported_options: readonly ["after_expiration_recovery", "checkout_setup_mode"];
125
124
  readonly webhook_event_group_ids: readonly ["checkout_lifecycle", "payment_intent_lifecycle"];
126
125
  readonly minimum_versions: {
@@ -130,6 +129,7 @@ export declare const stripeIntegrationCapabilitiesManifest: {
130
129
  readonly server_sdk: "18.0.0";
131
130
  readonly status: "candidate";
132
131
  };
132
+ readonly proxy_merchant_event_types: readonly ["provider_acquisition.expired", "provider_acquisition.processing", "provider_acquisition.reconciliation_required", "provider_acquisition.requires_action", "payment_attempt.processing", "payment_attempt.requires_action", "proxy_session.paid"];
133
133
  readonly reconciliation_operation_ids: readonly ["checkout_sessions.retrieve", "checkout_sessions.line_items", "payment_intents.retrieve"];
134
134
  }, {
135
135
  readonly availability: "disabled";
@@ -174,11 +174,12 @@ exports.stripeIntegrationCapabilitiesManifest = {
174
174
  ]
175
175
  },
176
176
  {
177
- "availability": "disabled",
177
+ "availability": "internal",
178
178
  "checkout_ui_mode": "embedded",
179
179
  "commercial_mode": "one_time",
180
180
  "create_time_features": [
181
181
  "checkout_mode_payment",
182
+ "proxy_metadata",
182
183
  "ui_mode_embedded"
183
184
  ],
184
185
  "dependencies": [
@@ -195,16 +196,13 @@ exports.stripeIntegrationCapabilitiesManifest = {
195
196
  "fixed",
196
197
  "provider_finalized"
197
198
  ],
198
- "proxy_merchant_event_types": [
199
- "provider_acquisition.expired",
200
- "proxy_session.paid"
201
- ],
202
199
  "public_documentation_anchor": "/guides/stripe-checkout/#embedded",
203
200
  "restricted_key_permission_labels": [
204
201
  "Checkout Sessions: Read",
205
202
  "Payment Intents: Read"
206
203
  ],
207
204
  "setup_probe_operation_ids": [
205
+ "checkout_sessions.list_probe",
208
206
  "payment_intents.list_probe"
209
207
  ],
210
208
  "unsupported_options": [
@@ -222,6 +220,15 @@ exports.stripeIntegrationCapabilitiesManifest = {
222
220
  "server_sdk": "14.0.0",
223
221
  "status": "candidate"
224
222
  },
223
+ "proxy_merchant_event_types": [
224
+ "provider_acquisition.expired",
225
+ "provider_acquisition.processing",
226
+ "provider_acquisition.reconciliation_required",
227
+ "provider_acquisition.requires_action",
228
+ "payment_attempt.processing",
229
+ "payment_attempt.requires_action",
230
+ "proxy_session.paid"
231
+ ],
225
232
  "reconciliation_operation_ids": [
226
233
  "checkout_sessions.retrieve",
227
234
  "checkout_sessions.line_items",
@@ -229,11 +236,12 @@ exports.stripeIntegrationCapabilitiesManifest = {
229
236
  ]
230
237
  },
231
238
  {
232
- "availability": "disabled",
239
+ "availability": "internal",
233
240
  "checkout_ui_mode": "custom",
234
241
  "commercial_mode": "one_time",
235
242
  "create_time_features": [
236
243
  "checkout_mode_payment",
244
+ "proxy_metadata",
237
245
  "ui_mode_custom"
238
246
  ],
239
247
  "dependencies": [
@@ -250,16 +258,13 @@ exports.stripeIntegrationCapabilitiesManifest = {
250
258
  "fixed",
251
259
  "provider_finalized"
252
260
  ],
253
- "proxy_merchant_event_types": [
254
- "provider_acquisition.expired",
255
- "proxy_session.paid"
256
- ],
257
261
  "public_documentation_anchor": "/guides/stripe-checkout/#custom",
258
262
  "restricted_key_permission_labels": [
259
263
  "Checkout Sessions: Read",
260
264
  "Payment Intents: Read"
261
265
  ],
262
266
  "setup_probe_operation_ids": [
267
+ "checkout_sessions.list_probe",
263
268
  "payment_intents.list_probe"
264
269
  ],
265
270
  "unsupported_options": [
@@ -277,6 +282,15 @@ exports.stripeIntegrationCapabilitiesManifest = {
277
282
  "server_sdk": "18.0.0",
278
283
  "status": "candidate"
279
284
  },
285
+ "proxy_merchant_event_types": [
286
+ "provider_acquisition.expired",
287
+ "provider_acquisition.processing",
288
+ "provider_acquisition.reconciliation_required",
289
+ "provider_acquisition.requires_action",
290
+ "payment_attempt.processing",
291
+ "payment_attempt.requires_action",
292
+ "proxy_session.paid"
293
+ ],
280
294
  "reconciliation_operation_ids": [
281
295
  "checkout_sessions.retrieve",
282
296
  "checkout_sessions.line_items",
@@ -4,6 +4,7 @@ export interface StripeDoctorReport {
4
4
  commercial_mode: string;
5
5
  helper: string;
6
6
  integration_path: string;
7
+ local_stripe_cli_event_profiles: StripeDoctorEventProfile[];
7
8
  money_object_creation: {
8
9
  merchant_create_credential: "merchant_backend_only";
9
10
  proxy_creates_stripe_money_objects: false;
@@ -12,6 +13,7 @@ export interface StripeDoctorReport {
12
13
  path_id: string;
13
14
  presentation: string | null;
14
15
  pricing_modes: string[];
16
+ proxy_merchant_event_types: string[];
15
17
  public_documentation_anchor: string;
16
18
  readiness: {
17
19
  reasons: string[];
@@ -41,14 +43,16 @@ export interface StripeDoctorReport {
41
43
  request_api: string;
42
44
  server_sdk: string;
43
45
  };
44
- webhook_event_profiles: Array<{
45
- id: string;
46
- maximum_api_version: string | null;
47
- minimum_api_version: string;
48
- optional_event_types: string[];
49
- required_event_types: string[];
50
- }>;
46
+ webhook_event_profiles: StripeDoctorEventProfile[];
47
+ }
48
+ interface StripeDoctorEventProfile {
49
+ id: string;
50
+ maximum_api_version: string | null;
51
+ minimum_api_version: string;
52
+ optional_event_types: string[];
53
+ required_event_types: string[];
51
54
  }
52
55
  export declare function stripeDoctorPathIds(): string[];
53
56
  export declare function stripeDoctorReport(pathId: string): StripeDoctorReport | undefined;
54
57
  export declare function formatStripeDoctorReport(report: StripeDoctorReport): string;
58
+ export {};
@@ -4,6 +4,7 @@ export interface StripeDoctorReport {
4
4
  commercial_mode: string;
5
5
  helper: string;
6
6
  integration_path: string;
7
+ local_stripe_cli_event_profiles: StripeDoctorEventProfile[];
7
8
  money_object_creation: {
8
9
  merchant_create_credential: "merchant_backend_only";
9
10
  proxy_creates_stripe_money_objects: false;
@@ -12,6 +13,7 @@ export interface StripeDoctorReport {
12
13
  path_id: string;
13
14
  presentation: string | null;
14
15
  pricing_modes: string[];
16
+ proxy_merchant_event_types: string[];
15
17
  public_documentation_anchor: string;
16
18
  readiness: {
17
19
  reasons: string[];
@@ -41,14 +43,16 @@ export interface StripeDoctorReport {
41
43
  request_api: string;
42
44
  server_sdk: string;
43
45
  };
44
- webhook_event_profiles: Array<{
45
- id: string;
46
- maximum_api_version: string | null;
47
- minimum_api_version: string;
48
- optional_event_types: string[];
49
- required_event_types: string[];
50
- }>;
46
+ webhook_event_profiles: StripeDoctorEventProfile[];
47
+ }
48
+ interface StripeDoctorEventProfile {
49
+ id: string;
50
+ maximum_api_version: string | null;
51
+ minimum_api_version: string;
52
+ optional_event_types: string[];
53
+ required_event_types: string[];
51
54
  }
52
55
  export declare function stripeDoctorPathIds(): string[];
53
56
  export declare function stripeDoctorReport(pathId: string): StripeDoctorReport | undefined;
54
57
  export declare function formatStripeDoctorReport(report: StripeDoctorReport): string;
58
+ export {};
@@ -29,8 +29,9 @@ function stripeDoctorReport(pathId) {
29
29
  setup_probe: "setup_probe" in operation && operation.setup_probe === true,
30
30
  }))
31
31
  .sort((left, right) => left.id.localeCompare(right.id));
32
- const eventGroupIds = new Set(capabilityIds.flatMap((capabilityId) => requireCapability(capabilityId).webhook_event_group_ids));
33
- const webhookEventProfiles = manifest.webhook_event_profiles.map((profile) => {
32
+ const webhookEventGroupIds = new Set(capabilityIds.flatMap((capabilityId) => requireCapability(capabilityId).webhook_event_group_ids));
33
+ const localEventGroupIds = new Set(capabilityIds.flatMap((capabilityId) => requireCapability(capabilityId).local_stripe_cli_event_groups));
34
+ const eventProfilesFor = (eventGroupIds) => manifest.webhook_event_profiles.map((profile) => {
34
35
  const groups = profile.event_groups;
35
36
  const required = new Set();
36
37
  const optional = new Set();
@@ -51,20 +52,25 @@ function stripeDoctorReport(pathId) {
51
52
  required_event_types: [...required].sort(),
52
53
  };
53
54
  });
55
+ const proxyMerchantEventTypes = [
56
+ ...new Set(capabilityIds.flatMap((capabilityId) => requireCapability(capabilityId).proxy_merchant_event_types)),
57
+ ].sort();
54
58
  return {
55
59
  capability_ids: capabilityIds,
56
60
  capability_manifest_version: manifest.manifest_version,
57
61
  commercial_mode: capability.commercial_mode,
58
62
  helper: helperFor(capability),
59
63
  integration_path: capability.integration_path,
64
+ local_stripe_cli_event_profiles: eventProfilesFor(localEventGroupIds),
60
65
  path_id: capability.path_id,
61
66
  presentation: capability.checkout_ui_mode,
62
67
  pricing_modes: [...capability.pricing_modes],
68
+ proxy_merchant_event_types: proxyMerchantEventTypes,
63
69
  public_documentation_anchor: capability.public_documentation_anchor,
64
70
  readiness: readinessFor(capability.availability),
65
71
  unsupported_options: [...capability.unsupported_options],
66
72
  validation_command: `proxy stripe doctor --path ${capability.path_id}`,
67
- webhook_event_profiles: webhookEventProfiles,
73
+ webhook_event_profiles: eventProfilesFor(webhookEventGroupIds),
68
74
  money_object_creation: {
69
75
  merchant_create_credential: "merchant_backend_only",
70
76
  proxy_creates_stripe_money_objects: false,
package/dist/esm/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-144.156.1";
3
+ export declare const cliVersion = "0.1.1-prx-145.159.1";
4
4
  export interface RunCliOptions {
5
5
  configStore?: CliConfigStore;
6
6
  environment?: NodeJS.ProcessEnv;
package/dist/esm/cli.js CHANGED
@@ -6,7 +6,7 @@ import { asCliError, CliError, cliExitCodes, usageError } from "./errors.js";
6
6
  import { CliOutput } from "./output.js";
7
7
  import { formatStripeDoctorReport, stripeDoctorPathIds, stripeDoctorReport, } from "./stripe-doctor.js";
8
8
  import { forwardSelectedDelivery, ProxyWebhooksClient, runListener, } from "./webhooks.js";
9
- export const cliVersion = "0.1.1-prx-144.156.1";
9
+ export const cliVersion = "0.1.1-prx-145.159.1";
10
10
  export async function runCli(argv, options = {}) {
11
11
  const io = options.io ?? {
12
12
  isTTY: Boolean(process.stdin.isTTY && process.stdout.isTTY),
@@ -63,7 +63,7 @@ export const commandSchemas = [
63
63
  interactive: false,
64
64
  modes: ["test", "live"],
65
65
  options: withCommonOptions({
66
- description: "Canonical Stripe path ID such as OT-PI or OT-CO-H.",
66
+ description: "Canonical Stripe path ID such as OT-PI, OT-CO-H, OT-CO-E, or OT-CO-C.",
67
67
  name: "--path",
68
68
  required: true,
69
69
  type: "string",
@@ -82,20 +82,19 @@ export declare const stripeIntegrationCapabilitiesManifest: {
82
82
  readonly proxy_merchant_event_types: readonly ["provider_acquisition.expired", "provider_acquisition.processing", "provider_acquisition.reconciliation_required", "provider_acquisition.requires_action", "payment_attempt.processing", "payment_attempt.requires_action", "proxy_session.paid"];
83
83
  readonly reconciliation_operation_ids: readonly ["checkout_sessions.retrieve", "checkout_sessions.line_items", "payment_intents.retrieve"];
84
84
  }, {
85
- readonly availability: "disabled";
85
+ readonly availability: "internal";
86
86
  readonly checkout_ui_mode: "embedded";
87
87
  readonly commercial_mode: "one_time";
88
- readonly create_time_features: readonly ["checkout_mode_payment", "ui_mode_embedded"];
88
+ readonly create_time_features: readonly ["checkout_mode_payment", "proxy_metadata", "ui_mode_embedded"];
89
89
  readonly dependencies: readonly ["setup.webhook_endpoint_verification"];
90
90
  readonly id: "one_time.checkout.embedded";
91
91
  readonly integration_path: "checkout_session";
92
92
  readonly local_stripe_cli_event_groups: readonly ["checkout_lifecycle", "payment_intent_lifecycle"];
93
93
  readonly path_id: "OT-CO-E";
94
94
  readonly pricing_modes: readonly ["fixed", "provider_finalized"];
95
- readonly proxy_merchant_event_types: readonly ["provider_acquisition.expired", "proxy_session.paid"];
96
95
  readonly public_documentation_anchor: "/guides/stripe-checkout/#embedded";
97
96
  readonly restricted_key_permission_labels: readonly ["Checkout Sessions: Read", "Payment Intents: Read"];
98
- readonly setup_probe_operation_ids: readonly ["payment_intents.list_probe"];
97
+ readonly setup_probe_operation_ids: readonly ["checkout_sessions.list_probe", "payment_intents.list_probe"];
99
98
  readonly unsupported_options: readonly ["after_expiration_recovery", "checkout_setup_mode"];
100
99
  readonly webhook_event_group_ids: readonly ["checkout_lifecycle", "payment_intent_lifecycle"];
101
100
  readonly minimum_versions: {
@@ -105,22 +104,22 @@ export declare const stripeIntegrationCapabilitiesManifest: {
105
104
  readonly server_sdk: "14.0.0";
106
105
  readonly status: "candidate";
107
106
  };
107
+ readonly proxy_merchant_event_types: readonly ["provider_acquisition.expired", "provider_acquisition.processing", "provider_acquisition.reconciliation_required", "provider_acquisition.requires_action", "payment_attempt.processing", "payment_attempt.requires_action", "proxy_session.paid"];
108
108
  readonly reconciliation_operation_ids: readonly ["checkout_sessions.retrieve", "checkout_sessions.line_items", "payment_intents.retrieve"];
109
109
  }, {
110
- readonly availability: "disabled";
110
+ readonly availability: "internal";
111
111
  readonly checkout_ui_mode: "custom";
112
112
  readonly commercial_mode: "one_time";
113
- readonly create_time_features: readonly ["checkout_mode_payment", "ui_mode_custom"];
113
+ readonly create_time_features: readonly ["checkout_mode_payment", "proxy_metadata", "ui_mode_custom"];
114
114
  readonly dependencies: readonly ["setup.webhook_endpoint_verification"];
115
115
  readonly id: "one_time.checkout.custom";
116
116
  readonly integration_path: "checkout_session";
117
117
  readonly local_stripe_cli_event_groups: readonly ["checkout_lifecycle", "payment_intent_lifecycle"];
118
118
  readonly path_id: "OT-CO-C";
119
119
  readonly pricing_modes: readonly ["fixed", "provider_finalized"];
120
- readonly proxy_merchant_event_types: readonly ["provider_acquisition.expired", "proxy_session.paid"];
121
120
  readonly public_documentation_anchor: "/guides/stripe-checkout/#custom";
122
121
  readonly restricted_key_permission_labels: readonly ["Checkout Sessions: Read", "Payment Intents: Read"];
123
- readonly setup_probe_operation_ids: readonly ["payment_intents.list_probe"];
122
+ readonly setup_probe_operation_ids: readonly ["checkout_sessions.list_probe", "payment_intents.list_probe"];
124
123
  readonly unsupported_options: readonly ["after_expiration_recovery", "checkout_setup_mode"];
125
124
  readonly webhook_event_group_ids: readonly ["checkout_lifecycle", "payment_intent_lifecycle"];
126
125
  readonly minimum_versions: {
@@ -130,6 +129,7 @@ export declare const stripeIntegrationCapabilitiesManifest: {
130
129
  readonly server_sdk: "18.0.0";
131
130
  readonly status: "candidate";
132
131
  };
132
+ readonly proxy_merchant_event_types: readonly ["provider_acquisition.expired", "provider_acquisition.processing", "provider_acquisition.reconciliation_required", "provider_acquisition.requires_action", "payment_attempt.processing", "payment_attempt.requires_action", "proxy_session.paid"];
133
133
  readonly reconciliation_operation_ids: readonly ["checkout_sessions.retrieve", "checkout_sessions.line_items", "payment_intents.retrieve"];
134
134
  }, {
135
135
  readonly availability: "disabled";
@@ -171,11 +171,12 @@ export const stripeIntegrationCapabilitiesManifest = {
171
171
  ]
172
172
  },
173
173
  {
174
- "availability": "disabled",
174
+ "availability": "internal",
175
175
  "checkout_ui_mode": "embedded",
176
176
  "commercial_mode": "one_time",
177
177
  "create_time_features": [
178
178
  "checkout_mode_payment",
179
+ "proxy_metadata",
179
180
  "ui_mode_embedded"
180
181
  ],
181
182
  "dependencies": [
@@ -192,16 +193,13 @@ export const stripeIntegrationCapabilitiesManifest = {
192
193
  "fixed",
193
194
  "provider_finalized"
194
195
  ],
195
- "proxy_merchant_event_types": [
196
- "provider_acquisition.expired",
197
- "proxy_session.paid"
198
- ],
199
196
  "public_documentation_anchor": "/guides/stripe-checkout/#embedded",
200
197
  "restricted_key_permission_labels": [
201
198
  "Checkout Sessions: Read",
202
199
  "Payment Intents: Read"
203
200
  ],
204
201
  "setup_probe_operation_ids": [
202
+ "checkout_sessions.list_probe",
205
203
  "payment_intents.list_probe"
206
204
  ],
207
205
  "unsupported_options": [
@@ -219,6 +217,15 @@ export const stripeIntegrationCapabilitiesManifest = {
219
217
  "server_sdk": "14.0.0",
220
218
  "status": "candidate"
221
219
  },
220
+ "proxy_merchant_event_types": [
221
+ "provider_acquisition.expired",
222
+ "provider_acquisition.processing",
223
+ "provider_acquisition.reconciliation_required",
224
+ "provider_acquisition.requires_action",
225
+ "payment_attempt.processing",
226
+ "payment_attempt.requires_action",
227
+ "proxy_session.paid"
228
+ ],
222
229
  "reconciliation_operation_ids": [
223
230
  "checkout_sessions.retrieve",
224
231
  "checkout_sessions.line_items",
@@ -226,11 +233,12 @@ export const stripeIntegrationCapabilitiesManifest = {
226
233
  ]
227
234
  },
228
235
  {
229
- "availability": "disabled",
236
+ "availability": "internal",
230
237
  "checkout_ui_mode": "custom",
231
238
  "commercial_mode": "one_time",
232
239
  "create_time_features": [
233
240
  "checkout_mode_payment",
241
+ "proxy_metadata",
234
242
  "ui_mode_custom"
235
243
  ],
236
244
  "dependencies": [
@@ -247,16 +255,13 @@ export const stripeIntegrationCapabilitiesManifest = {
247
255
  "fixed",
248
256
  "provider_finalized"
249
257
  ],
250
- "proxy_merchant_event_types": [
251
- "provider_acquisition.expired",
252
- "proxy_session.paid"
253
- ],
254
258
  "public_documentation_anchor": "/guides/stripe-checkout/#custom",
255
259
  "restricted_key_permission_labels": [
256
260
  "Checkout Sessions: Read",
257
261
  "Payment Intents: Read"
258
262
  ],
259
263
  "setup_probe_operation_ids": [
264
+ "checkout_sessions.list_probe",
260
265
  "payment_intents.list_probe"
261
266
  ],
262
267
  "unsupported_options": [
@@ -274,6 +279,15 @@ export const stripeIntegrationCapabilitiesManifest = {
274
279
  "server_sdk": "18.0.0",
275
280
  "status": "candidate"
276
281
  },
282
+ "proxy_merchant_event_types": [
283
+ "provider_acquisition.expired",
284
+ "provider_acquisition.processing",
285
+ "provider_acquisition.reconciliation_required",
286
+ "provider_acquisition.requires_action",
287
+ "payment_attempt.processing",
288
+ "payment_attempt.requires_action",
289
+ "proxy_session.paid"
290
+ ],
277
291
  "reconciliation_operation_ids": [
278
292
  "checkout_sessions.retrieve",
279
293
  "checkout_sessions.line_items",
@@ -4,6 +4,7 @@ export interface StripeDoctorReport {
4
4
  commercial_mode: string;
5
5
  helper: string;
6
6
  integration_path: string;
7
+ local_stripe_cli_event_profiles: StripeDoctorEventProfile[];
7
8
  money_object_creation: {
8
9
  merchant_create_credential: "merchant_backend_only";
9
10
  proxy_creates_stripe_money_objects: false;
@@ -12,6 +13,7 @@ export interface StripeDoctorReport {
12
13
  path_id: string;
13
14
  presentation: string | null;
14
15
  pricing_modes: string[];
16
+ proxy_merchant_event_types: string[];
15
17
  public_documentation_anchor: string;
16
18
  readiness: {
17
19
  reasons: string[];
@@ -41,14 +43,16 @@ export interface StripeDoctorReport {
41
43
  request_api: string;
42
44
  server_sdk: string;
43
45
  };
44
- webhook_event_profiles: Array<{
45
- id: string;
46
- maximum_api_version: string | null;
47
- minimum_api_version: string;
48
- optional_event_types: string[];
49
- required_event_types: string[];
50
- }>;
46
+ webhook_event_profiles: StripeDoctorEventProfile[];
47
+ }
48
+ interface StripeDoctorEventProfile {
49
+ id: string;
50
+ maximum_api_version: string | null;
51
+ minimum_api_version: string;
52
+ optional_event_types: string[];
53
+ required_event_types: string[];
51
54
  }
52
55
  export declare function stripeDoctorPathIds(): string[];
53
56
  export declare function stripeDoctorReport(pathId: string): StripeDoctorReport | undefined;
54
57
  export declare function formatStripeDoctorReport(report: StripeDoctorReport): string;
58
+ export {};
@@ -24,8 +24,9 @@ export function stripeDoctorReport(pathId) {
24
24
  setup_probe: "setup_probe" in operation && operation.setup_probe === true,
25
25
  }))
26
26
  .sort((left, right) => left.id.localeCompare(right.id));
27
- const eventGroupIds = new Set(capabilityIds.flatMap((capabilityId) => requireCapability(capabilityId).webhook_event_group_ids));
28
- const webhookEventProfiles = manifest.webhook_event_profiles.map((profile) => {
27
+ const webhookEventGroupIds = new Set(capabilityIds.flatMap((capabilityId) => requireCapability(capabilityId).webhook_event_group_ids));
28
+ const localEventGroupIds = new Set(capabilityIds.flatMap((capabilityId) => requireCapability(capabilityId).local_stripe_cli_event_groups));
29
+ const eventProfilesFor = (eventGroupIds) => manifest.webhook_event_profiles.map((profile) => {
29
30
  const groups = profile.event_groups;
30
31
  const required = new Set();
31
32
  const optional = new Set();
@@ -46,20 +47,25 @@ export function stripeDoctorReport(pathId) {
46
47
  required_event_types: [...required].sort(),
47
48
  };
48
49
  });
50
+ const proxyMerchantEventTypes = [
51
+ ...new Set(capabilityIds.flatMap((capabilityId) => requireCapability(capabilityId).proxy_merchant_event_types)),
52
+ ].sort();
49
53
  return {
50
54
  capability_ids: capabilityIds,
51
55
  capability_manifest_version: manifest.manifest_version,
52
56
  commercial_mode: capability.commercial_mode,
53
57
  helper: helperFor(capability),
54
58
  integration_path: capability.integration_path,
59
+ local_stripe_cli_event_profiles: eventProfilesFor(localEventGroupIds),
55
60
  path_id: capability.path_id,
56
61
  presentation: capability.checkout_ui_mode,
57
62
  pricing_modes: [...capability.pricing_modes],
63
+ proxy_merchant_event_types: proxyMerchantEventTypes,
58
64
  public_documentation_anchor: capability.public_documentation_anchor,
59
65
  readiness: readinessFor(capability.availability),
60
66
  unsupported_options: [...capability.unsupported_options],
61
67
  validation_command: `proxy stripe doctor --path ${capability.path_id}`,
62
- webhook_event_profiles: webhookEventProfiles,
68
+ webhook_event_profiles: eventProfilesFor(webhookEventGroupIds),
63
69
  money_object_creation: {
64
70
  merchant_create_credential: "merchant_backend_only",
65
71
  proxy_creates_stripe_money_objects: false,
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "sideEffects": false,
8
8
  "type": "module",
9
9
  "types": "./dist/esm/index.d.ts",
10
- "version": "0.1.1-prx-144.156.1",
10
+ "version": "0.1.1-prx-145.159.1",
11
11
  "bin": {
12
12
  "proxy": "./dist/esm/bin.js"
13
13
  },