@vonpay/checkout-cli 0.1.3 → 0.3.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/commands/checkout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAUvD"}
1
+ {"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/commands/checkout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAWvD"}
@@ -3,6 +3,7 @@ import { initCommand } from "./init.js";
3
3
  import { sessionsCommand } from "./sessions.js";
4
4
  import { triggerCommand } from "./trigger.js";
5
5
  import { healthCommand } from "./health.js";
6
+ import { doctorCommand } from "./doctor.js";
6
7
  export function registerCheckout(program) {
7
8
  const checkout = program
8
9
  .command("checkout")
@@ -12,5 +13,6 @@ export function registerCheckout(program) {
12
13
  checkout.addCommand(sessionsCommand());
13
14
  checkout.addCommand(triggerCommand());
14
15
  checkout.addCommand(healthCommand());
16
+ checkout.addCommand(doctorCommand());
15
17
  }
16
18
  //# sourceMappingURL=checkout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../src/commands/checkout.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,MAAM,QAAQ,GAAG,OAAO;SACrB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,4BAA4B,CAAC,CAAC;IAE7C,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;IACtC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../src/commands/checkout.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,MAAM,QAAQ,GAAG,OAAO;SACrB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,4BAA4B,CAAC,CAAC;IAE7C,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;IACtC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function doctorCommand(): Command;
3
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6VpC,wBAAgB,aAAa,IAAI,OAAO,CA4BvC"}
@@ -0,0 +1,337 @@
1
+ // `vonpay checkout doctor` — diagnostic bundle for support tickets and LLM agents.
2
+ //
3
+ // Captures the integrator's environment + a live health probe + (if a key is
4
+ // available) a sessions.validate round-trip, formats it as either:
5
+ // - human-readable (default) — coloured table for paste into chat
6
+ // - JSON (--json) — machine-parseable for tooling
7
+ // - LLM-friendly markdown (--for-llm) — structured so an agent can read it
8
+ // and decide next steps without further prompting
9
+ //
10
+ // PII posture: API keys are NEVER printed (only the prefix); env-var values
11
+ // are NEVER printed (only the names that are present). The bundle is safe to
12
+ // paste into a public support thread or hand to an LLM agent.
13
+ import { Command } from "commander";
14
+ import chalk from "chalk";
15
+ import ora from "ora";
16
+ import { readFileSync, existsSync } from "node:fs";
17
+ import { dirname, join } from "node:path";
18
+ import { fileURLToPath } from "node:url";
19
+ import { VonPayCheckout, VonPayError, helpFor, } from "@vonpay/checkout-node";
20
+ import { loadConfig } from "../config.js";
21
+ const __dirname = dirname(fileURLToPath(import.meta.url));
22
+ const pkgPath = join(__dirname, "..", "..", "package.json");
23
+ const cliPkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
24
+ const RELEVANT_ENV_VARS = [
25
+ "VON_PAY_SECRET_KEY",
26
+ "VON_PAY_PUBLISHABLE_KEY",
27
+ "VON_PAY_SESSION_SECRET",
28
+ "VONPAY_API_KEY",
29
+ "VONPAY_BASE_URL",
30
+ "VONPAY_QUIET",
31
+ "NEXT_PUBLIC_BASE_URL",
32
+ ];
33
+ function maskPrefix(key) {
34
+ if (!key)
35
+ return undefined;
36
+ // Show prefix + first 4 chars of payload so support can correlate, never
37
+ // the full secret. Example: "vp_sk_test_abcd…"
38
+ const m = key.match(/^(vp_[ps]k_(test|live)_)([A-Za-z0-9_-]{0,4})/);
39
+ if (!m)
40
+ return undefined;
41
+ return `${m[1]}${m[3]}…`;
42
+ }
43
+ function keyMode(key) {
44
+ if (!key)
45
+ return undefined;
46
+ if (key.includes("_test_"))
47
+ return "test";
48
+ if (key.includes("_live_"))
49
+ return "live";
50
+ return undefined;
51
+ }
52
+ async function gather() {
53
+ const config = loadConfig();
54
+ const apiKey = process.env.VON_PAY_SECRET_KEY ??
55
+ process.env.VONPAY_API_KEY ??
56
+ config.checkout?.apiKey;
57
+ const baseUrl = process.env.VONPAY_BASE_URL ?? "https://checkout.vonpay.com";
58
+ const envVarsPresent = RELEVANT_ENV_VARS.filter((n) => process.env[n] && process.env[n] !== "");
59
+ const report = {
60
+ generatedAt: new Date().toISOString(),
61
+ cli: { version: cliPkg.version },
62
+ runtime: {
63
+ node: process.version,
64
+ platform: process.platform,
65
+ arch: process.arch,
66
+ cwd: process.cwd(),
67
+ },
68
+ envVarsPresent,
69
+ configFile: {
70
+ path: `${process.env.HOME ?? process.env.USERPROFILE ?? "~"}/.vonpay/config.json`,
71
+ present: existsSync(`${process.env.HOME ?? process.env.USERPROFILE ?? ""}/.vonpay/config.json`),
72
+ keyType: config.checkout?.apiKey ? keyMode(config.checkout?.apiKey) : undefined,
73
+ },
74
+ apiKeyPrefix: maskPrefix(apiKey),
75
+ apiKeyMode: keyMode(apiKey),
76
+ health: { baseUrl, reachable: false },
77
+ hints: [],
78
+ };
79
+ if (!apiKey) {
80
+ report.hints.push("No API key found. Set VON_PAY_SECRET_KEY in env, or run `vonpay checkout login` to save one. Without a key the health probe still runs but sessions.validate is skipped.");
81
+ }
82
+ // Health probe — works without auth
83
+ const start = Date.now();
84
+ try {
85
+ const probeClient = new VonPayCheckout({
86
+ apiKey: apiKey ?? "vp_sk_test_diagnostic_probe_only",
87
+ baseUrl,
88
+ timeout: 10_000,
89
+ maxRetries: 0,
90
+ errorReporter: () => { }, // suppress default warn during the probe
91
+ });
92
+ const health = await probeClient.health();
93
+ report.health.reachable = true;
94
+ report.health.latencyMs = Date.now() - start;
95
+ report.health.status = health.status;
96
+ }
97
+ catch (err) {
98
+ report.health.error =
99
+ err instanceof Error ? err.message : String(err);
100
+ report.health.latencyMs = Date.now() - start;
101
+ if (err instanceof VonPayError) {
102
+ report.health.status = `error_${err.code}`;
103
+ report.hints.push(`Health probe returned ${err.code}: ${helpFor(err.code).llmHint}`);
104
+ }
105
+ else {
106
+ report.hints.push("Health probe could not reach the API. Check network / DNS / firewall — vonpay-checkout requires outbound HTTPS to checkout.vonpay.com.");
107
+ }
108
+ }
109
+ // sessions.validate probe — only if we have a key
110
+ if (apiKey && report.health.reachable) {
111
+ try {
112
+ const probeClient = new VonPayCheckout({
113
+ apiKey,
114
+ baseUrl,
115
+ timeout: 10_000,
116
+ maxRetries: 0,
117
+ errorReporter: () => { }, // suppress default warn during the probe
118
+ });
119
+ const result = await probeClient.sessions.validate({
120
+ amount: 1499,
121
+ currency: "USD",
122
+ });
123
+ report.validateProbe = {
124
+ ok: result.valid,
125
+ warnings: result.warnings,
126
+ };
127
+ if (!result.valid) {
128
+ report.hints.push(`sessions.validate returned valid=false with warnings: ${(result.warnings ?? []).join("; ")}.`);
129
+ }
130
+ else if (result.warnings && result.warnings.length > 0) {
131
+ report.hints.push(`sessions.validate succeeded but with warnings: ${result.warnings.join("; ")}.`);
132
+ }
133
+ }
134
+ catch (err) {
135
+ if (err instanceof VonPayError) {
136
+ const help = helpFor(err.code);
137
+ report.validateProbe = {
138
+ ok: false,
139
+ error: {
140
+ code: err.code,
141
+ status: err.status,
142
+ nextAction: help.nextAction,
143
+ llmHint: help.llmHint,
144
+ },
145
+ };
146
+ report.hints.push(`sessions.validate failed: ${err.code}. ${help.llmHint}`);
147
+ }
148
+ else {
149
+ report.validateProbe = {
150
+ ok: false,
151
+ error: {
152
+ code: "internal_error",
153
+ status: 0,
154
+ nextAction: "contact_support",
155
+ llmHint: err instanceof Error ? err.message : String(err),
156
+ },
157
+ };
158
+ }
159
+ }
160
+ }
161
+ return report;
162
+ }
163
+ function renderHuman(r) {
164
+ const lines = [];
165
+ lines.push(chalk.bold.blue("vonpay doctor — diagnostic report"));
166
+ lines.push(chalk.dim(`generated ${r.generatedAt}`));
167
+ lines.push("");
168
+ lines.push(chalk.bold("Runtime"));
169
+ lines.push(` CLI: ${r.cli.version}`);
170
+ lines.push(` Node: ${r.runtime.node}`);
171
+ lines.push(` Platform: ${r.runtime.platform} (${r.runtime.arch})`);
172
+ lines.push(` CWD: ${r.runtime.cwd}`);
173
+ lines.push("");
174
+ lines.push(chalk.bold("API key"));
175
+ if (r.apiKeyPrefix) {
176
+ lines.push(` Prefix: ${r.apiKeyPrefix}`);
177
+ lines.push(` Mode: ${r.apiKeyMode}`);
178
+ }
179
+ else {
180
+ lines.push(chalk.dim(" (no key found in env or ~/.vonpay/config.json)"));
181
+ }
182
+ lines.push("");
183
+ lines.push(chalk.bold("Env vars present (names only)"));
184
+ if (r.envVarsPresent.length === 0) {
185
+ lines.push(chalk.dim(" (none of the expected vonpay env vars are set)"));
186
+ }
187
+ else {
188
+ for (const n of r.envVarsPresent)
189
+ lines.push(` ✓ ${n}`);
190
+ }
191
+ lines.push("");
192
+ lines.push(chalk.bold("Health probe"));
193
+ if (r.health.reachable) {
194
+ const statusColor = r.health.status === "ok"
195
+ ? chalk.green
196
+ : r.health.status === "degraded"
197
+ ? chalk.yellow
198
+ : chalk.red;
199
+ lines.push(` Reachable: ${chalk.green("yes")}`);
200
+ lines.push(` Status: ${statusColor(r.health.status ?? "?")}`);
201
+ lines.push(` Latency: ${r.health.latencyMs}ms`);
202
+ }
203
+ else {
204
+ lines.push(` Reachable: ${chalk.red("no")}`);
205
+ lines.push(` Error: ${r.health.error}`);
206
+ }
207
+ lines.push("");
208
+ if (r.validateProbe) {
209
+ lines.push(chalk.bold("sessions.validate probe ($14.99 USD dry-run)"));
210
+ if (r.validateProbe.ok) {
211
+ lines.push(` Result: ${chalk.green("valid")}`);
212
+ }
213
+ else {
214
+ lines.push(` Result: ${chalk.red("invalid")}`);
215
+ if (r.validateProbe.error) {
216
+ lines.push(` Code: ${r.validateProbe.error.code}`);
217
+ lines.push(` Action: ${r.validateProbe.error.nextAction}`);
218
+ }
219
+ }
220
+ if (r.validateProbe.warnings && r.validateProbe.warnings.length > 0) {
221
+ lines.push(` Warnings:`);
222
+ for (const w of r.validateProbe.warnings)
223
+ lines.push(` - ${w}`);
224
+ }
225
+ lines.push("");
226
+ }
227
+ if (r.hints.length > 0) {
228
+ lines.push(chalk.bold("Hints"));
229
+ for (const h of r.hints)
230
+ lines.push(` • ${h}`);
231
+ lines.push("");
232
+ }
233
+ return lines.join("\n");
234
+ }
235
+ function renderForLlm(r) {
236
+ const out = [];
237
+ out.push("# vonpay doctor — diagnostic report (LLM-readable)");
238
+ out.push("");
239
+ out.push("This is a structured environment + live-API diagnostic from the");
240
+ out.push("Von Payments CLI. An LLM agent reading this should determine the");
241
+ out.push("most-likely root cause of the integrator's problem and produce");
242
+ out.push("specific next-step instructions.");
243
+ out.push("");
244
+ out.push(`generated_at: ${r.generatedAt}`);
245
+ out.push("");
246
+ out.push("## Runtime");
247
+ out.push(`- vonpay-cli: ${r.cli.version}`);
248
+ out.push(`- node: ${r.runtime.node}`);
249
+ out.push(`- platform: ${r.runtime.platform} (${r.runtime.arch})`);
250
+ out.push("");
251
+ out.push("## API key");
252
+ if (r.apiKeyPrefix) {
253
+ out.push(`- prefix: \`${r.apiKeyPrefix}\` (first 4 chars of payload only — full key never printed)`);
254
+ out.push(`- mode: ${r.apiKeyMode}`);
255
+ }
256
+ else {
257
+ out.push("- no key found in env or `~/.vonpay/config.json`");
258
+ out.push("- LLM-action: ask the human to set `VON_PAY_SECRET_KEY` or run `vonpay checkout login`");
259
+ }
260
+ out.push("");
261
+ out.push("## Env vars present (names only — values never printed)");
262
+ if (r.envVarsPresent.length === 0) {
263
+ out.push("- (none of the expected vonpay env vars are set)");
264
+ }
265
+ else {
266
+ for (const n of r.envVarsPresent)
267
+ out.push(`- \`${n}\``);
268
+ }
269
+ out.push("");
270
+ out.push("## Health probe");
271
+ out.push(`- base_url: ${r.health.baseUrl}`);
272
+ out.push(`- reachable: ${r.health.reachable}`);
273
+ if (r.health.latencyMs !== undefined) {
274
+ out.push(`- latency_ms: ${r.health.latencyMs}`);
275
+ }
276
+ if (r.health.status)
277
+ out.push(`- status: ${r.health.status}`);
278
+ if (r.health.error)
279
+ out.push(`- error: ${r.health.error}`);
280
+ out.push("");
281
+ if (r.validateProbe) {
282
+ out.push("## sessions.validate probe ($14.99 USD dry-run)");
283
+ out.push(`- ok: ${r.validateProbe.ok}`);
284
+ if (r.validateProbe.warnings && r.validateProbe.warnings.length > 0) {
285
+ out.push("- warnings:");
286
+ for (const w of r.validateProbe.warnings)
287
+ out.push(` - ${w}`);
288
+ }
289
+ if (r.validateProbe.error) {
290
+ out.push("- error:");
291
+ out.push(` - code: \`${r.validateProbe.error.code}\``);
292
+ out.push(` - status: ${r.validateProbe.error.status}`);
293
+ out.push(` - next_action: \`${r.validateProbe.error.nextAction}\``);
294
+ out.push(` - llm_hint: ${r.validateProbe.error.llmHint}`);
295
+ }
296
+ out.push("");
297
+ }
298
+ if (r.hints.length > 0) {
299
+ out.push("## Hints (in priority order)");
300
+ for (const h of r.hints)
301
+ out.push(`- ${h}`);
302
+ out.push("");
303
+ }
304
+ out.push("## Suggested LLM next steps");
305
+ out.push("1. Determine which of the three categories applies: missing-config / unreachable-api / failing-validation.");
306
+ out.push("2. For each hint above, propose ONE specific code or env change to the human.");
307
+ out.push("3. Suggest the human re-run `vonpay checkout doctor --for-llm` after applying changes and paste the new output.");
308
+ out.push("4. If the report shows everything healthy but the integrator still has a problem, the issue is likely in their own code (not vonpay) — ask them to share the failing call site.");
309
+ out.push("");
310
+ return out.join("\n");
311
+ }
312
+ export function doctorCommand() {
313
+ return new Command("doctor")
314
+ .description("Diagnose your Von Payments environment — runtime, env vars, live API probe; outputs human / JSON / LLM-readable formats")
315
+ .option("--json", "Output JSON (machine-parseable)")
316
+ .option("--for-llm", "Output LLM-friendly markdown (paste into Claude, ChatGPT, Cursor)")
317
+ .action(async (opts) => {
318
+ const spinner = ora({
319
+ text: "Running diagnostics...",
320
+ // suppress spinner output when emitting JSON / LLM markdown so the
321
+ // output remains pipeable
322
+ isSilent: opts.json || opts.forLlm,
323
+ }).start();
324
+ const report = await gather();
325
+ spinner.stop();
326
+ if (opts.json) {
327
+ console.log(JSON.stringify(report, null, 2));
328
+ }
329
+ else if (opts.forLlm) {
330
+ console.log(renderForLlm(report));
331
+ }
332
+ else {
333
+ console.log(renderHuman(report));
334
+ }
335
+ });
336
+ }
337
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vonpay/checkout-cli",
3
- "version": "0.1.3",
3
+ "version": "0.3.0",
4
4
  "description": "Von Payments CLI — developer tools for checkout integration",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -18,7 +18,7 @@
18
18
  "commander": "^13.0.0",
19
19
  "chalk": "^5.4.0",
20
20
  "ora": "^8.2.0",
21
- "@vonpay/checkout-node": "0.1.3"
21
+ "@vonpay/checkout-node": "0.3.0"
22
22
  },
23
23
  "devDependencies": {
24
24
  "typescript": "^5.7.0",