@codespar/cli 0.2.3 → 0.4.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.
package/README.md CHANGED
@@ -79,7 +79,7 @@ Resolution order (first match wins):
79
79
 
80
80
  ## Need more?
81
81
 
82
- For production workloads with governance, audit trails, policy engines, self-hosted runtimes, and enterprise commerce primitives (mandates, escrow, payment routing), see **[CodeSpar Enterprise](https://codespar.dev/enterprise)**.
82
+ Need governance, budget limits, and audit trails for agent payments? **[CodeSpar Enterprise](https://codespar.dev/enterprise)** adds policy engine, payment routing, and compliance templates on top of these MCP servers.
83
83
 
84
84
  ## License
85
85
 
@@ -0,0 +1,83 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { CodeSpar } from "@codespar/sdk";
3
+ import { CliError } from "../config.js";
4
+ import { info, json, success } from "../output.js";
5
+ /**
6
+ * Wraps `session.charge(args)`. The meta-tool router picks the rail,
7
+ * so no `--server` is needed — we open the session with `servers: []`.
8
+ * Args are read from `--input` (JSON string) or `--input-file` (path).
9
+ */
10
+ export async function chargeCommand(opts) {
11
+ const args = await resolveChargeInput(opts);
12
+ validateChargeArgs(args);
13
+ const userId = opts.user ?? "cli-user";
14
+ const cs = new CodeSpar({ apiKey: opts.apiKey, baseUrl: opts.baseUrl });
15
+ const session = await cs.create(userId, { servers: [] });
16
+ try {
17
+ const result = await session.charge(args);
18
+ if (opts.json) {
19
+ json(result);
20
+ return;
21
+ }
22
+ success(`charge ${result.id} → ${result.status}`);
23
+ info(`Amount: ${result.amount} ${result.currency} · method: ${result.method}`);
24
+ if (result.charge_url)
25
+ info(`Charge URL: ${result.charge_url}`);
26
+ if (result.pix_qr_code)
27
+ info(`Pix QR (truncated): ${result.pix_qr_code.slice(0, 40)}...`);
28
+ if (result.pix_copy_paste) {
29
+ info("Pix copy-paste:");
30
+ process.stdout.write(`\n${result.pix_copy_paste}\n\n`);
31
+ }
32
+ process.stdout.write(JSON.stringify(result, null, 2) + "\n");
33
+ }
34
+ finally {
35
+ await session.close();
36
+ }
37
+ }
38
+ async function resolveChargeInput(opts) {
39
+ if (opts.input && opts.inputFile) {
40
+ throw new CliError("Pass either --input or --input-file, not both.");
41
+ }
42
+ if (!opts.input && !opts.inputFile) {
43
+ throw new CliError("charge requires --input '<json>' or --input-file <path>. " +
44
+ 'Example: --input \'{"amount":50,"currency":"BRL","method":"pix","description":"Test","buyer":{"name":"Ana"}}\'');
45
+ }
46
+ const raw = opts.inputFile
47
+ ? await readFile(opts.inputFile, "utf-8")
48
+ : opts.input;
49
+ const source = opts.inputFile ?? "--input";
50
+ return parseJsonObject(raw, source);
51
+ }
52
+ function parseJsonObject(raw, source) {
53
+ try {
54
+ const parsed = JSON.parse(raw);
55
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
56
+ throw new CliError(`${source} must be a JSON object.`);
57
+ }
58
+ return parsed;
59
+ }
60
+ catch (err) {
61
+ if (err instanceof CliError)
62
+ throw err;
63
+ throw new CliError(`${source} is not valid JSON: ${err.message}`);
64
+ }
65
+ }
66
+ function validateChargeArgs(args) {
67
+ if (typeof args.amount !== "number") {
68
+ throw new CliError("charge.amount must be a number (major units).");
69
+ }
70
+ if (!args.currency || typeof args.currency !== "string") {
71
+ throw new CliError("charge.currency is required (e.g. BRL).");
72
+ }
73
+ if (!args.method) {
74
+ throw new CliError("charge.method is required (pix | boleto | card).");
75
+ }
76
+ if (!args.buyer || typeof args.buyer !== "object" || !args.buyer.name) {
77
+ throw new CliError("charge.buyer.name is required.");
78
+ }
79
+ if (!args.description) {
80
+ throw new CliError("charge.description is required.");
81
+ }
82
+ }
83
+ //# sourceMappingURL=charge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"charge.js","sourceRoot":"","sources":["../../src/commands/charge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import { CodeSpar } from "@codespar/sdk";
2
+ import { CliError } from "../config.js";
3
+ import { c, info, json, table } from "../output.js";
4
+ /**
5
+ * Wraps `session.discover(useCase)`. Discover spans the whole catalog,
6
+ * so we open a session with `servers: []` — no per-server connection
7
+ * is required. The default `--limit` is 10 (server clamps to 1..20).
8
+ */
9
+ export async function discoverCommand(query, opts) {
10
+ if (!query) {
11
+ throw new CliError("A search query is required. Example: `codespar discover \"issue an NF-e\"`");
12
+ }
13
+ const limit = opts.limit ? Number(opts.limit) : undefined;
14
+ if (limit !== undefined && (!Number.isFinite(limit) || limit <= 0)) {
15
+ throw new CliError("--limit must be a positive integer.");
16
+ }
17
+ const userId = opts.user ?? "cli-user";
18
+ const cs = new CodeSpar({ apiKey: opts.apiKey, baseUrl: opts.baseUrl });
19
+ const session = await cs.create(userId, { servers: [] });
20
+ try {
21
+ const discoverOpts = {};
22
+ if (opts.category)
23
+ discoverOpts.category = opts.category;
24
+ if (opts.country)
25
+ discoverOpts.country = opts.country;
26
+ if (limit !== undefined)
27
+ discoverOpts.limit = limit;
28
+ const result = await session.discover(query, discoverOpts);
29
+ if (opts.json) {
30
+ json(result);
31
+ return;
32
+ }
33
+ renderDiscoverResult(result, limit ?? 10);
34
+ }
35
+ finally {
36
+ await session.close();
37
+ }
38
+ }
39
+ function renderDiscoverResult(result, displayLimit) {
40
+ info(`Strategy: ${result.search_strategy} · use_case: ${JSON.stringify(result.use_case)}`);
41
+ const rows = [];
42
+ const matches = [];
43
+ if (result.recommended)
44
+ matches.push(result.recommended);
45
+ for (const m of result.related) {
46
+ if (matches.length >= displayLimit)
47
+ break;
48
+ matches.push(m);
49
+ }
50
+ if (matches.length === 0) {
51
+ process.stderr.write(c.dim("(no matches)\n"));
52
+ return;
53
+ }
54
+ matches.forEach((m, idx) => {
55
+ const score = m.cosine_distance !== null
56
+ ? (1 - m.cosine_distance).toFixed(3)
57
+ : m.trigram_similarity !== null
58
+ ? m.trigram_similarity.toFixed(3)
59
+ : "-";
60
+ const desc = m.description.length > 60 ? m.description.slice(0, 57) + "..." : m.description;
61
+ rows.push([
62
+ String(idx + 1),
63
+ score,
64
+ `${m.server_id}.${m.tool_name}`,
65
+ m.connection_status,
66
+ desc,
67
+ ]);
68
+ });
69
+ table(["#", "SCORE", "SERVER.TOOL", "CONN", "DESCRIPTION"], rows);
70
+ if (result.next_steps.length > 0) {
71
+ process.stdout.write("\n");
72
+ info("Next steps:");
73
+ for (const step of result.next_steps) {
74
+ process.stdout.write(` - ${step}\n`);
75
+ }
76
+ }
77
+ }
78
+ //# sourceMappingURL=discover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/commands/discover.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import { CodeSpar } from "@codespar/sdk";
2
+ import { CliError } from "../config.js";
3
+ import { info, json, success, warn } from "../output.js";
4
+ const DEFAULT_TIMEOUT_MS = 600_000;
5
+ /**
6
+ * Wraps `session.paymentStatus(toolCallId)` (default: poll once) and
7
+ * `session.paymentStatusStream(toolCallId, ...)` when `--stream` is
8
+ * passed. Ctrl+C aborts the stream cleanly via AbortController.
9
+ */
10
+ export async function paymentStatusCommand(toolCallId, opts) {
11
+ if (!toolCallId) {
12
+ throw new CliError("tool-call id is required. Example: `codespar payment-status tcl_abc123`");
13
+ }
14
+ const timeoutMs = opts.timeout ? Number(opts.timeout) : DEFAULT_TIMEOUT_MS;
15
+ if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
16
+ throw new CliError("--timeout must be a positive integer (milliseconds).");
17
+ }
18
+ const userId = opts.user ?? "cli-user";
19
+ const cs = new CodeSpar({ apiKey: opts.apiKey, baseUrl: opts.baseUrl });
20
+ const session = await cs.create(userId, { servers: [] });
21
+ try {
22
+ if (opts.stream) {
23
+ await runStream(session, toolCallId, timeoutMs, Boolean(opts.json));
24
+ }
25
+ else {
26
+ const result = await session.paymentStatus(toolCallId);
27
+ renderResult(result, Boolean(opts.json));
28
+ }
29
+ }
30
+ finally {
31
+ await session.close();
32
+ }
33
+ }
34
+ async function runStream(session, toolCallId, timeoutMs, asJson) {
35
+ const controller = new AbortController();
36
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
37
+ const onSigint = () => {
38
+ warn("Aborted by user.");
39
+ controller.abort();
40
+ };
41
+ process.on("SIGINT", onSigint);
42
+ try {
43
+ let updates = 0;
44
+ const final = await session.paymentStatusStream(toolCallId, {
45
+ signal: controller.signal,
46
+ onUpdate: (envelope) => {
47
+ updates++;
48
+ if (asJson) {
49
+ json(envelope);
50
+ }
51
+ else {
52
+ info(`update #${updates}: payment_status=${envelope.payment_status} events=${envelope.events.length}`);
53
+ }
54
+ },
55
+ });
56
+ renderResult(final, asJson);
57
+ }
58
+ catch (err) {
59
+ if (err.name === "AbortError") {
60
+ throw new CliError("payment-status stream timed out or was aborted.");
61
+ }
62
+ throw err;
63
+ }
64
+ finally {
65
+ clearTimeout(timer);
66
+ process.off("SIGINT", onSigint);
67
+ }
68
+ }
69
+ function renderResult(result, asJson) {
70
+ if (asJson) {
71
+ json(result);
72
+ return;
73
+ }
74
+ success(`payment_status: ${result.payment_status}`);
75
+ info(`tool_call_id: ${result.tool_call_id}`);
76
+ info(`original_status: ${result.original_status}`);
77
+ info(`idempotency_key: ${result.idempotency_key ?? "-"}`);
78
+ info(`events: ${result.events.length}`);
79
+ process.stdout.write(JSON.stringify(result, null, 2) + "\n");
80
+ }
81
+ //# sourceMappingURL=payment-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-status.js","sourceRoot":"","sources":["../../src/commands/payment-status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { CodeSpar } from "@codespar/sdk";
3
+ import { CliError } from "../config.js";
4
+ import { info, json, success } from "../output.js";
5
+ /**
6
+ * Wraps `session.ship(args)`. Three actions over a unified envelope —
7
+ * `label`, `quote`, `track`. Like charge, the meta-tool picks the
8
+ * carrier so no `--server` is required.
9
+ */
10
+ export async function shipCommand(opts) {
11
+ const args = await resolveShipInput(opts);
12
+ validateShipArgs(args);
13
+ const userId = opts.user ?? "cli-user";
14
+ const cs = new CodeSpar({ apiKey: opts.apiKey, baseUrl: opts.baseUrl });
15
+ const session = await cs.create(userId, { servers: [] });
16
+ try {
17
+ const result = await session.ship(args);
18
+ if (opts.json) {
19
+ json(result);
20
+ return;
21
+ }
22
+ success(`ship ${result.id} → ${result.status}`);
23
+ if (result.tracking_code)
24
+ info(`Tracking: ${result.tracking_code}`);
25
+ if (result.carrier)
26
+ info(`Carrier: ${result.carrier}`);
27
+ if (result.label_url)
28
+ info(`Label URL: ${result.label_url}`);
29
+ if (result.estimated_delivery)
30
+ info(`ETA: ${result.estimated_delivery}`);
31
+ if (typeof result.cost_minor === "number")
32
+ info(`Cost (minor units): ${result.cost_minor}`);
33
+ process.stdout.write(JSON.stringify(result, null, 2) + "\n");
34
+ }
35
+ finally {
36
+ await session.close();
37
+ }
38
+ }
39
+ async function resolveShipInput(opts) {
40
+ if (opts.input && opts.inputFile) {
41
+ throw new CliError("Pass either --input or --input-file, not both.");
42
+ }
43
+ if (!opts.input && !opts.inputFile) {
44
+ throw new CliError("ship requires --input '<json>' or --input-file <path>. " +
45
+ 'Example: --input \'{"action":"quote","origin":{"postal_code":"01310100"},"destination":{"postal_code":"22041011"},"items":[{"weight_g":500}]}\'');
46
+ }
47
+ const raw = opts.inputFile
48
+ ? await readFile(opts.inputFile, "utf-8")
49
+ : opts.input;
50
+ const source = opts.inputFile ?? "--input";
51
+ return parseJsonObject(raw, source);
52
+ }
53
+ function parseJsonObject(raw, source) {
54
+ try {
55
+ const parsed = JSON.parse(raw);
56
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
57
+ throw new CliError(`${source} must be a JSON object.`);
58
+ }
59
+ return parsed;
60
+ }
61
+ catch (err) {
62
+ if (err instanceof CliError)
63
+ throw err;
64
+ throw new CliError(`${source} is not valid JSON: ${err.message}`);
65
+ }
66
+ }
67
+ function validateShipArgs(args) {
68
+ if (!args.action || !["label", "quote", "track"].includes(args.action)) {
69
+ throw new CliError("ship.action must be one of: label, quote, track.");
70
+ }
71
+ if (args.action === "track" && !args.tracking_code) {
72
+ throw new CliError("ship.tracking_code is required when action=track.");
73
+ }
74
+ if ((args.action === "label" || args.action === "quote") && (!args.origin || !args.destination)) {
75
+ throw new CliError("ship.origin and ship.destination are required when action=label|quote.");
76
+ }
77
+ if ((args.action === "label" || args.action === "quote") && (!args.items || args.items.length === 0)) {
78
+ throw new CliError("ship.items must contain at least one item when action=label|quote.");
79
+ }
80
+ }
81
+ //# sourceMappingURL=ship.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship.js","sourceRoot":"","sources":["../../src/commands/ship.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import { CodeSpar } from "@codespar/sdk";
2
+ import { CliError } from "../config.js";
3
+ import { info, json, success, warn } from "../output.js";
4
+ const DEFAULT_TIMEOUT_MS = 600_000;
5
+ /**
6
+ * KYC sibling of payment-status. Default poll once; `--stream` opens
7
+ * an SSE channel and prints each `update` until the terminal frame.
8
+ * Ctrl+C cancels via AbortController.
9
+ */
10
+ export async function verificationStatusCommand(toolCallId, opts) {
11
+ if (!toolCallId) {
12
+ throw new CliError("tool-call id is required. Example: `codespar verification-status tcl_abc123`");
13
+ }
14
+ const timeoutMs = opts.timeout ? Number(opts.timeout) : DEFAULT_TIMEOUT_MS;
15
+ if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
16
+ throw new CliError("--timeout must be a positive integer (milliseconds).");
17
+ }
18
+ const userId = opts.user ?? "cli-user";
19
+ const cs = new CodeSpar({ apiKey: opts.apiKey, baseUrl: opts.baseUrl });
20
+ const session = await cs.create(userId, { servers: [] });
21
+ try {
22
+ if (opts.stream) {
23
+ await runStream(session, toolCallId, timeoutMs, Boolean(opts.json));
24
+ }
25
+ else {
26
+ const result = await session.verificationStatus(toolCallId);
27
+ renderResult(result, Boolean(opts.json));
28
+ }
29
+ }
30
+ finally {
31
+ await session.close();
32
+ }
33
+ }
34
+ async function runStream(session, toolCallId, timeoutMs, asJson) {
35
+ const controller = new AbortController();
36
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
37
+ const onSigint = () => {
38
+ warn("Aborted by user.");
39
+ controller.abort();
40
+ };
41
+ process.on("SIGINT", onSigint);
42
+ try {
43
+ let updates = 0;
44
+ const final = await session.verificationStatusStream(toolCallId, {
45
+ signal: controller.signal,
46
+ onUpdate: (envelope) => {
47
+ updates++;
48
+ if (asJson) {
49
+ json(envelope);
50
+ }
51
+ else {
52
+ info(`update #${updates}: verification_status=${envelope.verification_status} events=${envelope.events.length}`);
53
+ }
54
+ },
55
+ });
56
+ renderResult(final, asJson);
57
+ }
58
+ catch (err) {
59
+ if (err.name === "AbortError") {
60
+ throw new CliError("verification-status stream timed out or was aborted.");
61
+ }
62
+ throw err;
63
+ }
64
+ finally {
65
+ clearTimeout(timer);
66
+ process.off("SIGINT", onSigint);
67
+ }
68
+ }
69
+ function renderResult(result, asJson) {
70
+ if (asJson) {
71
+ json(result);
72
+ return;
73
+ }
74
+ success(`verification_status: ${result.verification_status}`);
75
+ info(`tool_call_id: ${result.tool_call_id}`);
76
+ info(`original_status: ${result.original_status}`);
77
+ info(`idempotency_key: ${result.idempotency_key ?? "-"}`);
78
+ if (result.hosted_url)
79
+ info(`hosted_url: ${result.hosted_url}`);
80
+ info(`events: ${result.events.length}`);
81
+ process.stdout.write(JSON.stringify(result, null, 2) + "\n");
82
+ }
83
+ //# sourceMappingURL=verification-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-status.js","sourceRoot":"","sources":["../../src/commands/verification-status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ import { CodeSpar } from "@codespar/sdk";
2
+ import { CliError } from "../config.js";
3
+ import { c, info, json, kv, success, table } from "../output.js";
4
+ /**
5
+ * Wraps `session.connectionWizard(options)`. The SDK expects a
6
+ * `ConnectionWizardOptions` (action defaults to "list" without a
7
+ * server_id, "status" with one). The CLI takes the server-id as the
8
+ * positional argument; pass nothing to list all connections.
9
+ */
10
+ export async function wizardCommand(serverId, opts) {
11
+ if (opts.action && !["list", "status", "initiate"].includes(opts.action)) {
12
+ throw new CliError("--action must be one of: list, status, initiate.");
13
+ }
14
+ if (opts.environment && !["live", "test"].includes(opts.environment)) {
15
+ throw new CliError("--environment must be 'live' or 'test'.");
16
+ }
17
+ const wizardOpts = {};
18
+ if (serverId)
19
+ wizardOpts.server_id = serverId;
20
+ if (opts.action)
21
+ wizardOpts.action = opts.action;
22
+ if (opts.country)
23
+ wizardOpts.country = opts.country;
24
+ if (opts.environment)
25
+ wizardOpts.environment = opts.environment;
26
+ if (opts.returnTo)
27
+ wizardOpts.return_to = opts.returnTo;
28
+ const userId = opts.user ?? "cli-user";
29
+ const cs = new CodeSpar({ apiKey: opts.apiKey, baseUrl: opts.baseUrl });
30
+ const session = await cs.create(userId, { servers: [] });
31
+ try {
32
+ const result = await session.connectionWizard(wizardOpts);
33
+ if (opts.json) {
34
+ json(result);
35
+ return;
36
+ }
37
+ renderWizardResult(result);
38
+ }
39
+ finally {
40
+ await session.close();
41
+ }
42
+ }
43
+ function renderWizardResult(result) {
44
+ if (result.action === "list") {
45
+ if (result.connections.length === 0) {
46
+ process.stderr.write(c.dim("(no connections)\n"));
47
+ return;
48
+ }
49
+ table(["SERVER", "AUTH", "STATUS", "DIFFICULTY", "CONNECTED"], result.connections.map((row) => [
50
+ row.server_id,
51
+ row.auth_type,
52
+ row.status,
53
+ row.difficulty,
54
+ row.connected_at ? new Date(row.connected_at).toISOString().slice(0, 10) : "-",
55
+ ]));
56
+ return;
57
+ }
58
+ if (result.action === "status") {
59
+ if (!result.status) {
60
+ process.stderr.write(c.dim("(no status returned)\n"));
61
+ return;
62
+ }
63
+ const s = result.status;
64
+ success(`${s.server_id} → ${s.status}`);
65
+ kv([
66
+ ["display_name", s.display_name],
67
+ ["auth_type", s.auth_type],
68
+ ["difficulty", s.difficulty],
69
+ ["connected_at", s.connected_at ?? "-"],
70
+ ]);
71
+ return;
72
+ }
73
+ if (result.action === "initiate") {
74
+ if (!result.initiate) {
75
+ process.stderr.write(c.dim("(no instructions returned)\n"));
76
+ return;
77
+ }
78
+ const i = result.initiate;
79
+ success(`${i.display_name} (${i.auth_type}) → ${i.status}`);
80
+ kv([
81
+ ["server_id", i.server_id],
82
+ ["difficulty", i.difficulty],
83
+ ["connect_url", i.connect_url],
84
+ ["next_action", i.next_action],
85
+ ]);
86
+ if (i.required_secrets.length > 0) {
87
+ process.stdout.write("\n");
88
+ info("Required secrets:");
89
+ for (const s of i.required_secrets) {
90
+ process.stdout.write(` - ${s.name}${s.hint ? ` ${c.dim(`(${s.hint})`)}` : ""}\n`);
91
+ }
92
+ }
93
+ if (i.instructions.length > 0) {
94
+ process.stdout.write("\n");
95
+ info("Instructions:");
96
+ i.instructions.forEach((line, idx) => process.stdout.write(` ${idx + 1}. ${line}\n`));
97
+ }
98
+ if (i.known_pitfalls.length > 0) {
99
+ process.stdout.write("\n");
100
+ info("Known pitfalls:");
101
+ for (const p of i.known_pitfalls) {
102
+ process.stdout.write(` - ${p}\n`);
103
+ }
104
+ }
105
+ }
106
+ }
107
+ //# sourceMappingURL=wizard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/commands/wizard.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10,9 +10,15 @@ import { closeSessionCommand, listSessionsCommand, showSessionCommand, } from ".
10
10
  import { listConnectionsCommand, revokeConnectCommand, startConnectCommand, } from "./commands/connect.js";
11
11
  import { tailLogsCommand } from "./commands/logs.js";
12
12
  import { initCommand } from "./commands/init.js";
13
+ import { discoverCommand } from "./commands/discover.js";
14
+ import { chargeCommand } from "./commands/charge.js";
15
+ import { shipCommand } from "./commands/ship.js";
16
+ import { paymentStatusCommand } from "./commands/payment-status.js";
17
+ import { verificationStatusCommand } from "./commands/verification-status.js";
18
+ import { wizardCommand } from "./commands/wizard.js";
13
19
  import { c } from "./output.js";
14
20
  import { printBanner } from "./banner.js";
15
- const VERSION = "0.2.3";
21
+ const VERSION = "0.4.0";
16
22
  const program = new Command();
17
23
  program
18
24
  .name("codespar")
@@ -171,6 +177,118 @@ connect
171
177
  const client = await authedClient();
172
178
  await revokeConnectCommand(client, connectionOrServer, opts);
173
179
  });
180
+ // ============ meta-tool sugar (SDK 0.9.0) ============
181
+ program
182
+ .command("discover <query>")
183
+ .description("Search the catalog for tools matching a use case (codespar_discover)")
184
+ .option("--limit <n>", "Max results to display (default 10, server clamps 1..20)")
185
+ .option("--category <name>", "Filter by category")
186
+ .option("--country <code>", "Filter by country code (BR, MX, ...)")
187
+ .option("-u, --user <id>", "User id for the session (default: cli-user)")
188
+ .action(async (query, opts) => {
189
+ const config = await loadConfig();
190
+ const root = program.opts();
191
+ const apiKey = root.apiKey ?? requireApiKey(config);
192
+ const baseUrl = root.baseUrl ?? config.baseUrl ?? "https://api.codespar.dev";
193
+ await discoverCommand(query, {
194
+ ...opts,
195
+ apiKey,
196
+ baseUrl,
197
+ json: rootJsonFlag(),
198
+ });
199
+ });
200
+ program
201
+ .command("charge")
202
+ .description("Issue an inbound charge via codespar_charge (router picks the rail)")
203
+ .option("-i, --input <json>", "Charge args as JSON string")
204
+ .option("-f, --input-file <path>", "Charge args from JSON file")
205
+ .option("-u, --user <id>", "User id for the session (default: cli-user)")
206
+ .action(async (opts) => {
207
+ const config = await loadConfig();
208
+ const root = program.opts();
209
+ const apiKey = root.apiKey ?? requireApiKey(config);
210
+ const baseUrl = root.baseUrl ?? config.baseUrl ?? "https://api.codespar.dev";
211
+ await chargeCommand({
212
+ ...opts,
213
+ apiKey,
214
+ baseUrl,
215
+ json: rootJsonFlag(),
216
+ });
217
+ });
218
+ program
219
+ .command("ship")
220
+ .description("Generate label / quote rates / track shipment via codespar_ship")
221
+ .option("-i, --input <json>", "Ship args as JSON string")
222
+ .option("-f, --input-file <path>", "Ship args from JSON file")
223
+ .option("-u, --user <id>", "User id for the session (default: cli-user)")
224
+ .action(async (opts) => {
225
+ const config = await loadConfig();
226
+ const root = program.opts();
227
+ const apiKey = root.apiKey ?? requireApiKey(config);
228
+ const baseUrl = root.baseUrl ?? config.baseUrl ?? "https://api.codespar.dev";
229
+ await shipCommand({
230
+ ...opts,
231
+ apiKey,
232
+ baseUrl,
233
+ json: rootJsonFlag(),
234
+ });
235
+ });
236
+ program
237
+ .command("payment-status <tool-call-id>")
238
+ .description("Get the async settlement status for a tool call (poll once or --stream)")
239
+ .option("--stream", "Open an SSE stream and print updates until terminal frame")
240
+ .option("--timeout <ms>", "Max wait for the stream in ms (default 600000)")
241
+ .option("-u, --user <id>", "User id for the session (default: cli-user)")
242
+ .action(async (toolCallId, opts) => {
243
+ const config = await loadConfig();
244
+ const root = program.opts();
245
+ const apiKey = root.apiKey ?? requireApiKey(config);
246
+ const baseUrl = root.baseUrl ?? config.baseUrl ?? "https://api.codespar.dev";
247
+ await paymentStatusCommand(toolCallId, {
248
+ ...opts,
249
+ apiKey,
250
+ baseUrl,
251
+ json: rootJsonFlag(),
252
+ });
253
+ });
254
+ program
255
+ .command("verification-status <tool-call-id>")
256
+ .description("Get the async KYC verification status for a tool call (poll once or --stream)")
257
+ .option("--stream", "Open an SSE stream and print updates until terminal frame")
258
+ .option("--timeout <ms>", "Max wait for the stream in ms (default 600000)")
259
+ .option("-u, --user <id>", "User id for the session (default: cli-user)")
260
+ .action(async (toolCallId, opts) => {
261
+ const config = await loadConfig();
262
+ const root = program.opts();
263
+ const apiKey = root.apiKey ?? requireApiKey(config);
264
+ const baseUrl = root.baseUrl ?? config.baseUrl ?? "https://api.codespar.dev";
265
+ await verificationStatusCommand(toolCallId, {
266
+ ...opts,
267
+ apiKey,
268
+ baseUrl,
269
+ json: rootJsonFlag(),
270
+ });
271
+ });
272
+ program
273
+ .command("wizard [server-id]")
274
+ .description("Connection wizard for a server — required secrets, connect URL, next steps")
275
+ .option("--action <name>", "list | status | initiate (default: status if server-id given, else list)")
276
+ .option("--country <code>", "Filter list action by country code")
277
+ .option("--environment <env>", "live | test (initiate only)")
278
+ .option("--return-to <path>", "Dashboard return path after initiate (validated /dashboard/*)")
279
+ .option("-u, --user <id>", "User id for the session (default: cli-user)")
280
+ .action(async (serverId, opts) => {
281
+ const config = await loadConfig();
282
+ const root = program.opts();
283
+ const apiKey = root.apiKey ?? requireApiKey(config);
284
+ const baseUrl = root.baseUrl ?? config.baseUrl ?? "https://api.codespar.dev";
285
+ await wizardCommand(serverId, {
286
+ ...opts,
287
+ apiKey,
288
+ baseUrl,
289
+ json: rootJsonFlag(),
290
+ });
291
+ });
174
292
  // ============ logs ============
175
293
  const logs = program.command("logs").description("Inspect tool-call execution logs");
176
294
  logs
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codespar/cli",
3
- "version": "0.2.3",
3
+ "version": "0.4.0",
4
4
  "description": "CodeSpar CLI — authenticate, browse servers, execute tools, manage sessions, stream logs, and scaffold projects from your terminal.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -45,7 +45,7 @@
45
45
  "node": ">=20"
46
46
  },
47
47
  "dependencies": {
48
- "@codespar/sdk": "^0.3.0",
48
+ "@codespar/sdk": "^0.9.0",
49
49
  "commander": "^13.0.0"
50
50
  },
51
51
  "devDependencies": {