@oasissys/sqlcl-cli 0.2.1 → 0.2.2

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/dist/src/cli.js CHANGED
@@ -9,12 +9,45 @@
9
9
  * Output is TOON on stdout; diagnostics on stderr; exit codes 0/1/2.
10
10
  * AXI standards: https://toonformat.dev/reference/spec.html
11
11
  */
12
+ import { existsSync, readFileSync } from "node:fs";
13
+ import { dirname, join } from "node:path";
14
+ import { fileURLToPath } from "node:url";
15
+ import { runAxiCli } from "axi-sdk-js";
12
16
  import { listConnections, runSql, saveConnection, deleteConnection, probeConnection, validateConnectionName, summarizeSqlError, } from "./session.js";
13
17
  import { loadSection, saveSection } from "./storage.js";
18
+ import { encode } from "./toon.js";
14
19
  import { EXIT, emit, emitRaw, fail, binPath, parseArgs, flagStr, flagBool, flagInt, renderSkillDoc, runSetup, } from "./axi.js";
15
20
  const DESCRIPTION = "Manage Oracle SQLcl connections and run SQL against the Oasis databases";
16
21
  const BIN = "oasis-sqlcl";
17
22
  const ROWS_DEFAULT = 50; // result rows shown before truncation
23
+ function readPackageVersion() {
24
+ const here = dirname(fileURLToPath(import.meta.url));
25
+ for (const candidate of [join(here, "..", "package.json"), join(here, "..", "..", "package.json")]) {
26
+ if (!existsSync(candidate))
27
+ continue;
28
+ const parsed = JSON.parse(readFileSync(candidate, "utf-8"));
29
+ if (typeof parsed.version === "string" && parsed.version.length > 0)
30
+ return parsed.version;
31
+ }
32
+ throw new Error("Could not determine oasis-sqlcl package version");
33
+ }
34
+ /**
35
+ * Render a doc the same way `emit()` does (help[] as an indented block, not
36
+ * an inline TOON array) but return the string instead of writing it — needed
37
+ * because runAxiCli owns the single stdout write for a command's return
38
+ * value, so commands must return their rendered output rather than write it.
39
+ */
40
+ function renderDoc(doc) {
41
+ if (doc && typeof doc === "object" && !Array.isArray(doc) && Array.isArray(doc.help)) {
42
+ const { help, ...rest } = doc;
43
+ const body = encode(rest);
44
+ const helpBlock = help.length > 0
45
+ ? `help[${help.length}]:\n` + help.map(h => ` ${String(h)}`).join("\n")
46
+ : "";
47
+ return [body, helpBlock].filter(Boolean).join("\n");
48
+ }
49
+ return encode(doc);
50
+ }
18
51
  function getActive() {
19
52
  return loadSection("sqlcl").active;
20
53
  }
@@ -112,7 +145,7 @@ function parseCsv(text) {
112
145
  function connRows(conns) {
113
146
  return conns.map(c => ({ name: c.name, user: c.user, host: c.host, service: c.service }));
114
147
  }
115
- async function cmdHome() {
148
+ async function homeOutput() {
116
149
  const conns = listConnections();
117
150
  const active = getActive();
118
151
  const doc = {
@@ -123,10 +156,11 @@ async function cmdHome() {
123
156
  };
124
157
  if (conns.length === 0) {
125
158
  doc.connections = [];
126
- emit(doc);
127
- emitRaw("connections: 0 saved connections");
128
- emit({ help: [`Run \`${BIN} add <name> --host <h> --service <s> --user <u> --password <p>\` to add one`] });
129
- return;
159
+ return [
160
+ renderDoc(doc),
161
+ "connections: 0 saved connections",
162
+ renderDoc({ help: [`Run \`${BIN} add <name> --host <h> --service <s> --user <u> --password <p>\` to add one`] }),
163
+ ].join("\n");
130
164
  }
131
165
  doc.connections = connRows(conns);
132
166
  doc.help = [
@@ -134,18 +168,19 @@ async function cmdHome() {
134
168
  `Run \`${BIN} use <name>\` to switch the active connection`,
135
169
  `Run \`${BIN} run "<sql>" --conn <name>\` to target a specific one`,
136
170
  ];
137
- emit(doc);
171
+ return renderDoc(doc);
138
172
  }
139
173
  async function cmdConnections() {
140
174
  const conns = listConnections();
141
175
  const active = getActive();
142
176
  if (conns.length === 0) {
143
- emit({ connections: [] });
144
- emitRaw("connections: 0 saved connections");
145
- emit({ help: [`Run \`${BIN} add <name> --host <h> --service <s> --user <u> --password <p>\` to add one`] });
146
- return;
177
+ return [
178
+ renderDoc({ connections: [] }),
179
+ "connections: 0 saved connections",
180
+ renderDoc({ help: [`Run \`${BIN} add <name> --host <h> --service <s> --user <u> --password <p>\` to add one`] }),
181
+ ].join("\n");
147
182
  }
148
- emit({
183
+ return renderDoc({
149
184
  active: active && conns.some(c => c.name === active) ? active : "none",
150
185
  count: conns.length,
151
186
  connections: connRows(conns),
@@ -161,11 +196,10 @@ async function cmdUse(parsed) {
161
196
  fail(`connection '${name}' not found`, `Run \`${BIN} connections\` to list saved connections`);
162
197
  }
163
198
  if (getActive() === name) {
164
- emit({ active: name, note: "already active (no-op)" });
165
- return; // idempotent — exit 0
199
+ return renderDoc({ active: name, note: "already active (no-op)" }); // idempotent — exit 0
166
200
  }
167
201
  await setActive(name);
168
- emit({ active: name });
202
+ return renderDoc({ active: name });
169
203
  }
170
204
  async function cmdAdd(parsed) {
171
205
  const name = parsed.positionals[0];
@@ -190,7 +224,7 @@ async function cmdAdd(parsed) {
190
224
  // First connection becomes active automatically.
191
225
  if (!getActive())
192
226
  await setActive(name);
193
- emit({ added: name, user, host, service, active: getActive() === name });
227
+ return renderDoc({ added: name, user, host, service, active: getActive() === name });
194
228
  }
195
229
  async function cmdRm(parsed) {
196
230
  const name = parsed.positionals[0];
@@ -198,15 +232,14 @@ async function cmdRm(parsed) {
198
232
  fail("connection name is required", `${BIN} rm <name>`, EXIT.USAGE);
199
233
  const existed = listConnections().some(c => c.name === name);
200
234
  if (!existed) {
201
- emit({ removed: name, note: "not found (no-op)" });
202
- return; // idempotent — desired state (absent) already holds
235
+ return renderDoc({ removed: name, note: "not found (no-op)" }); // idempotent — desired state (absent) already holds
203
236
  }
204
237
  const r = await deleteConnection(name);
205
238
  if (r.code !== 0)
206
239
  fail(`could not remove '${name}': ${summarizeSqlError(r)}`);
207
240
  if (getActive() === name)
208
241
  await clearActive();
209
- emit({ removed: name });
242
+ return renderDoc({ removed: name });
210
243
  }
211
244
  async function cmdTest(parsed) {
212
245
  const host = flagStr(parsed, "--host");
@@ -221,7 +254,7 @@ async function cmdTest(parsed) {
221
254
  const result = await probeConnection({ name: "probe", host: host, port, service: service, user: user, password: password });
222
255
  if (!result.ok)
223
256
  fail(`connection failed: ${result.message}`, "Check host/port/service/user/password and DB reachability");
224
- emit({ test: "ok", host, port, service, user });
257
+ return renderDoc({ test: "ok", host, port, service, user });
225
258
  }
226
259
  async function cmdRun(parsed) {
227
260
  const sql = parsed.positionals.join(" ").trim();
@@ -234,10 +267,7 @@ async function cmdRun(parsed) {
234
267
  const r = await runSql(conn, sql, { format: raw ? "ansiconsole" : "csv", timeoutMs: 60_000 });
235
268
  // --raw dumps SQLcl output verbatim (errors included) — that is its purpose.
236
269
  if (raw) {
237
- emit({ conn });
238
- emitRaw("");
239
- emitRaw(r.stdout.replace(ANSI, "").replace(/\s+$/, "") || "(no output)");
240
- return;
270
+ return [renderDoc({ conn }), "", r.stdout.replace(ANSI, "").replace(/\s+$/, "") || "(no output)"].join("\n");
241
271
  }
242
272
  if (r.code !== 0 && !r.stdout) {
243
273
  fail(`sqlcl failed: ${sqlErrorMessage(r)}`);
@@ -247,18 +277,15 @@ async function cmdRun(parsed) {
247
277
  }
248
278
  const records = parseCsv(r.stdout.trim());
249
279
  if (records.length === 0) {
250
- emit({ conn, result: "statement executed (no rows returned)" });
251
- return;
280
+ return renderDoc({ conn, result: "statement executed (no rows returned)" });
252
281
  }
253
282
  const [header, ...dataRows] = records;
254
283
  if (dataRows.length === 0) {
255
- emit({ conn, columns: header.join(","), rows: 0 });
256
- emitRaw("rows: 0 rows");
257
- return;
284
+ return [renderDoc({ conn, columns: header.join(","), rows: 0 }), "rows: 0 rows"].join("\n");
258
285
  }
259
286
  const shown = dataRows.slice(0, limit);
260
287
  const truncated = dataRows.length > limit;
261
- emit({
288
+ return renderDoc({
262
289
  conn,
263
290
  count: truncated ? `${shown.length} of ${dataRows.length}` : dataRows.length,
264
291
  rows: shown.map(row => Object.fromEntries(header.map((h, i) => [h, row[i] ?? ""]))),
@@ -344,6 +371,7 @@ function topHelp() {
344
371
  " test verify credentials without saving",
345
372
  " run <SQL> run SQL (--conn, --limit, --raw)",
346
373
  " setup register ambient context for Codex + OpenCode",
374
+ " update upgrade oasis-sqlcl to the latest published version (--check to preview)",
347
375
  "",
348
376
  `Run \`${BIN} <command> --help\` for flags and examples.`,
349
377
  ].join("\n");
@@ -392,6 +420,25 @@ const COMMAND_FLAGS = {
392
420
  test: { "--host": "value", "--service": "value", "--user": "value", "--password": "value", "--port": "value" },
393
421
  run: { "--conn": "value", "--limit": "value", "--raw": "bool" },
394
422
  };
423
+ const COMMAND_HANDLERS = {
424
+ connections: cmdConnections,
425
+ use: cmdUse,
426
+ add: cmdAdd,
427
+ rm: cmdRm,
428
+ test: cmdTest,
429
+ run: cmdRun,
430
+ };
431
+ /**
432
+ * Wrap a `cmdXxx(parsed)` handler as an axi-sdk-js `AxiCliCommand`: runAxiCli
433
+ * hands us the raw args (command name already stripped) and owns the single
434
+ * stdout write of whatever we return, so parsing stays exactly as before —
435
+ * only where the write happens changes.
436
+ */
437
+ function sdkCommand(name) {
438
+ const handler = COMMAND_HANDLERS[name];
439
+ return (args) => handler(parseArgs(args, COMMAND_FLAGS[name], `${BIN} ${name}`));
440
+ }
441
+ const COMMANDS = Object.fromEntries(Object.keys(COMMAND_FLAGS).map(name => [name, sdkCommand(name)]));
395
442
  export async function main() {
396
443
  const [, , command, ...rest] = process.argv;
397
444
  if (command === "--ambient") {
@@ -407,7 +454,7 @@ export async function main() {
407
454
  return;
408
455
  }
409
456
  if (command === undefined) {
410
- await cmdHome();
457
+ process.stdout.write(`${await homeOutput()}\n`);
411
458
  return;
412
459
  }
413
460
  if (command === "help" || command === "--help" || command === "-h") {
@@ -415,23 +462,28 @@ export async function main() {
415
462
  emitRaw(topic && HELP[topic] ? HELP[topic] : topHelp());
416
463
  return;
417
464
  }
418
- if (!(command in COMMAND_FLAGS)) {
419
- fail(`unknown command '${command}'`, `valid commands: ${Object.keys(COMMAND_FLAGS).join(", ")} (run \`${BIN} help\`)`, EXIT.USAGE);
420
- }
421
- const known = COMMAND_FLAGS[command];
422
- const parsed = parseArgs(rest, known, `${BIN} ${command}`);
423
- if (flagBool(parsed, "--help")) {
424
- emitRaw(HELP[command] ?? topHelp());
425
- return;
426
- }
427
- switch (command) {
428
- case "connections": return cmdConnections();
429
- case "use": return cmdUse(parsed);
430
- case "add": return cmdAdd(parsed);
431
- case "rm": return cmdRm(parsed);
432
- case "test": return cmdTest(parsed);
433
- case "run": return cmdRun(parsed);
434
- }
465
+ // Everything else (the 6 business commands, `update`, `--version`/-v/-V,
466
+ // and any genuinely unknown command/flag) dispatches through the SDK.
467
+ await runAxiCli({
468
+ argv: process.argv.slice(2),
469
+ description: DESCRIPTION,
470
+ version: readPackageVersion(),
471
+ topLevelHelp: `${topHelp()}\n`,
472
+ commands: COMMANDS,
473
+ home: () => homeOutput(),
474
+ getCommandHelp: (cmd) => {
475
+ const h = HELP[cmd];
476
+ return h ? (h.endsWith("\n") ? h : `${h}\n`) : undefined;
477
+ },
478
+ renderUnknownCommand: (cmd) => `${renderDoc({
479
+ error: `unknown command '${cmd}'`,
480
+ help: [`valid commands: ${Object.keys(COMMAND_FLAGS).join(", ")} (run \`${BIN} help\`)`],
481
+ })}\n`,
482
+ formatError: (error) => ({
483
+ output: `${renderDoc({ error: error instanceof Error ? error.message : String(error) })}\n`,
484
+ exitCode: EXIT.ERROR,
485
+ }),
486
+ });
435
487
  }
436
488
  /** Entry used by bin/: run main() and convert any escaped error into an AXI error (§6). */
437
489
  export function run() {
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,2 @@
1
- /**
2
- * Minimal TOON (Token-Oriented Object Notation) encoder.
3
- *
4
- * TOON is the stdout format for AXI CLIs — ~40% fewer tokens than JSON while
5
- * staying readable by agents. See https://toonformat.dev/reference/spec.html.
6
- *
7
- * Keep all internal logic on plain JS objects; call `encode()` only at the
8
- * output boundary. This encoder covers the shapes an AXI CLI actually emits:
9
- *
10
- * - objects key: value
11
- * - nested objects key:\n child: value
12
- * - tabular arrays key[N]{f1,f2}:\n a,b\n c,d
13
- * - primitive arrays key[N]: a,b,c
14
- * - empty arrays key[0]:
15
- *
16
- * Two-space indentation, no tabs, no trailing newline (§12).
17
- */
18
1
  /** Encode a JS value to a TOON document (no trailing newline). */
19
2
  export declare function encode(value: unknown): string;
package/dist/src/toon.js CHANGED
@@ -1,148 +1,74 @@
1
1
  /**
2
- * Minimal TOON (Token-Oriented Object Notation) encoder.
2
+ * TOON (Token-Oriented Object Notation) encoder.
3
+ *
4
+ * Thin wrapper around @toon-format/toon's encode(), normalized to match the
5
+ * vendored encoder's output on four constructs where the package's default
6
+ * behaviour drifts (confirmed via test/toon-parity.test.ts):
7
+ * 1. undefined-valued object keys — package renders `key: null` (the
8
+ * `replacer` option can't help, values are already normalized to null
9
+ * before it runs); vendored omits the key entirely.
10
+ * 2. empty arrays — package emits `key: []`; vendored emits `key[0]:`.
11
+ * 3. non-uniform/nested-object array items — package emits
12
+ * `- field1: val1` (dash inline with the first field); vendored emits
13
+ * a bare `-` line with every field indented one level deeper.
14
+ * 4. leading-dash strings — package quotes any scalar starting with `-`
15
+ * (e.g. `"-fix-typo"`); vendored never quotes on leading dash alone
16
+ * (it still quotes negative-number-shaped strings like `"-123"`, which
17
+ * already matches — only the extra unconditional leading-dash rule is
18
+ * the drift). Neutralized by swapping the leading dash for an inert
19
+ * sentinel before encode() and restoring it after. The sentinel MUST
20
+ * stay in place through both regex fixups below and only get restored
21
+ * to a literal `-` last — restoring it earlier lets a tabular row
22
+ * whose first column starts with "- " get misread as a non-uniform
23
+ * list-item dash marker by the second regex, corrupting the row.
3
24
  *
4
25
  * TOON is the stdout format for AXI CLIs — ~40% fewer tokens than JSON while
5
26
  * staying readable by agents. See https://toonformat.dev/reference/spec.html.
6
27
  *
7
- * Keep all internal logic on plain JS objects; call `encode()` only at the
8
- * output boundary. This encoder covers the shapes an AXI CLI actually emits:
9
- *
10
- * - objects key: value
11
- * - nested objects key:\n child: value
12
- * - tabular arrays key[N]{f1,f2}:\n a,b\n c,d
13
- * - primitive arrays key[N]: a,b,c
14
- * - empty arrays key[0]:
15
- *
16
- * Two-space indentation, no tabs, no trailing newline (§12).
28
+ * Known limitation: a genuine U+E000 (the private-use sentinel) inside input
29
+ * data is restored to `-` on output. U+E000 never occurs in real service
30
+ * data; escaping it would need a second sentinel and buys nothing here.
17
31
  */
18
- const INDENT = " ";
19
- function isPlainObject(v) {
20
- return typeof v === "object" && v !== null && !Array.isArray(v);
21
- }
22
- function isScalar(v) {
23
- return v === null || v === undefined || ["string", "number", "boolean"].includes(typeof v);
24
- }
25
- // §7.2 — a string MUST be quoted when it would otherwise be ambiguous with a
26
- // structural token, a literal (true/false/null), or a number. We also quote on
27
- // the comma delimiter so the same formatter is safe inside tabular rows.
32
+ import { encode as toonEncode } from "@toon-format/toon";
28
33
  const NUMERIC_LIKE = /^-?\d+(?:\.\d+)?(?:e[+-]?\d+)?$/i;
29
- const NEEDS_QUOTE = /[:"\\[\]{},]/;
30
- function hasControlChar(s) {
31
- for (let i = 0; i < s.length; i++) {
32
- if (s.charCodeAt(i) <= 0x1f)
33
- return true;
34
- }
35
- return false;
36
- }
37
- function quoteString(s) {
38
- const needs = s.length === 0 ||
39
- s !== s.trim() ||
40
- s === "true" ||
41
- s === "false" ||
42
- s === "null" ||
43
- NUMERIC_LIKE.test(s) ||
44
- NEEDS_QUOTE.test(s) ||
45
- hasControlChar(s);
46
- if (!needs)
47
- return s;
48
- const escaped = s
49
- .replace(/\\/g, "\\\\")
50
- .replace(/"/g, '\\"')
51
- .replace(/\n/g, "\\n")
52
- .replace(/\r/g, "\\r")
53
- .replace(/\t/g, "\\t");
54
- return `"${escaped}"`;
55
- }
56
- function formatScalar(v) {
57
- if (v === null || v === undefined)
58
- return "null";
59
- if (typeof v === "boolean")
60
- return v ? "true" : "false";
61
- if (typeof v === "number") {
62
- if (!Number.isFinite(v))
63
- return "null";
64
- return Object.is(v, -0) ? "0" : String(v);
65
- }
66
- if (typeof v === "string")
67
- return quoteString(v);
68
- // Non-scalar leaked into a scalar slot — stringify defensively rather than throw.
69
- return quoteString(JSON.stringify(v));
70
- }
71
- function tableFields(arr) {
72
- // Tabular form is only valid when every row is a flat object (scalar values)
73
- // sharing the first row's key set. Otherwise fall back to a list.
74
- const fields = Object.keys(arr[0]);
75
- if (fields.length === 0)
76
- return null;
77
- for (const row of arr) {
78
- const keys = Object.keys(row);
79
- if (keys.length !== fields.length || !fields.every(f => f in row))
80
- return null;
81
- if (!fields.every(f => isScalar(row[f])))
82
- return null;
83
- }
84
- return fields;
85
- }
86
- function emitArray(key, arr, depth, lines) {
87
- const pad = INDENT.repeat(depth);
88
- if (arr.length === 0) {
89
- lines.push(`${pad}${key}[0]:`);
90
- return;
91
- }
92
- if (arr.every(isScalar)) {
93
- lines.push(`${pad}${key}[${arr.length}]: ${arr.map(formatScalar).join(",")}`);
94
- return;
95
- }
96
- if (arr.every(isPlainObject)) {
97
- const rows = arr;
98
- const fields = tableFields(rows);
99
- if (fields) {
100
- lines.push(`${pad}${key}[${arr.length}]{${fields.join(",")}}:`);
101
- for (const row of rows) {
102
- lines.push(`${INDENT.repeat(depth + 1)}${fields.map(f => formatScalar(row[f])).join(",")}`);
103
- }
104
- return;
34
+ // Private-use-area code point: encode()-only sentinel, never present in real
35
+ // CLI output. Built via fromCharCode (not a literal in source) so it can't be
36
+ // mistyped/mistransmitted as some other character.
37
+ const DASH_SENTINEL = String.fromCharCode(0xe000);
38
+ function normalize(v) {
39
+ if (Array.isArray(v))
40
+ return v.map(normalize);
41
+ if (v && typeof v === "object") {
42
+ const out = {};
43
+ for (const [k, val] of Object.entries(v)) {
44
+ if (val === undefined)
45
+ continue;
46
+ out[k] = normalize(val);
105
47
  }
106
- // Non-uniform / nested objects → list of blocks.
107
- lines.push(`${pad}${key}[${arr.length}]:`);
108
- for (const row of rows) {
109
- lines.push(`${INDENT.repeat(depth + 1)}-`);
110
- emitObject(row, depth + 2, lines);
111
- }
112
- return;
48
+ return out;
113
49
  }
114
- // Mixed array stringify each element as a scalar.
115
- lines.push(`${pad}${key}[${arr.length}]: ${arr.map(formatScalar).join(",")}`);
116
- }
117
- function emitObject(obj, depth, lines) {
118
- const pad = INDENT.repeat(depth);
119
- for (const [key, value] of Object.entries(obj)) {
120
- if (value === undefined)
121
- continue;
122
- if (Array.isArray(value)) {
123
- emitArray(key, value, depth, lines);
124
- }
125
- else if (isPlainObject(value)) {
126
- lines.push(`${pad}${key}:`);
127
- emitObject(value, depth + 1, lines);
128
- }
129
- else {
130
- lines.push(`${pad}${key}: ${formatScalar(value)}`);
131
- }
50
+ // Neutralize the package's leading-dash quoting trigger except for
51
+ // negative-number-shaped strings, where the package's own NUMERIC_LIKE
52
+ // quoting already matches vendored and must be left alone.
53
+ if (typeof v === "string" && v.startsWith("-") && !NUMERIC_LIKE.test(v) && !v.includes(DASH_SENTINEL)) {
54
+ return DASH_SENTINEL + v.slice(1);
132
55
  }
56
+ return v;
133
57
  }
134
58
  /** Encode a JS value to a TOON document (no trailing newline). */
135
59
  export function encode(value) {
136
- const lines = [];
137
- if (Array.isArray(value)) {
138
- // Root array: emit with an empty key so the header is a bare `[N]{...}:`.
139
- emitArray("", value, 0, lines);
140
- return lines.join("\n");
141
- }
142
- if (isPlainObject(value)) {
143
- emitObject(value, 0, lines);
144
- return lines.join("\n");
145
- }
146
- return formatScalar(value);
60
+ // Both regex fixups run while leading-dash values are still sentinel-
61
+ // prefixed, so a data value that happens to start with "- " can never be
62
+ // confused with a real dash list-item marker (which the package always
63
+ // renders with a literal "-"). Restore the sentinel to "-" last.
64
+ const out = toonEncode(normalize(value))
65
+ .replace(/^(\s*)([^\s:]+): \[\]$/gm, "$1$2[0]:")
66
+ // \s+ (not \s*) — a real list-item dash marker is always indented at
67
+ // least one level; \s* would also (wrongly) match a root-level bare
68
+ // scalar value that happens to start with "- ".
69
+ .replace(/^(\s*)- (.+)$/gm, "$1-\n$1 $2");
70
+ // Root-level bare empty array: no `key:` prefix for the keyed regex above to match.
71
+ const rooted = out === "[]" ? "[0]:" : out;
72
+ return rooted.split(DASH_SENTINEL).join("-");
147
73
  }
148
74
  //# sourceMappingURL=toon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toon.js","sourceRoot":"","sources":["../../src/toon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toon.js","sourceRoot":"","sources":["../../src/toon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,YAAY,GAAG,kCAAkC,CAAC;AACxD,6EAA6E;AAC7E,8EAA8E;AAC9E,mDAAmD;AACnD,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAElD,SAAS,SAAS,CAAC,CAAU;IAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAA4B,CAAC,EAAE,CAAC;YACpE,IAAI,GAAG,KAAK,SAAS;gBAAE,SAAS;YAChC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,qEAAqE;IACrE,uEAAuE;IACvE,2DAA2D;IAC3D,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACtG,OAAO,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,sEAAsE;IACtE,yEAAyE;IACzE,uEAAuE;IACvE,iEAAiE;IACjE,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACrC,OAAO,CAAC,0BAA0B,EAAE,UAAU,CAAC;QAChD,qEAAqE;QACrE,oEAAoE;QACpE,gDAAgD;SAC/C,OAAO,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;IAC7C,oFAAoF;IACpF,MAAM,MAAM,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3C,OAAO,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oasissys/sqlcl-cli",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "packageManager": "pnpm@11.9.0",
5
5
  "description": "oasis-sqlcl — AXI CLI for Oracle SQLcl on the Oasis databases: manage connections and run SQL with token-efficient TOON output",
6
6
  "type": "module",
@@ -53,5 +53,9 @@
53
53
  },
54
54
  "publishConfig": {
55
55
  "access": "public"
56
+ },
57
+ "dependencies": {
58
+ "@toon-format/toon": "2.3.0",
59
+ "axi-sdk-js": "0.1.8"
56
60
  }
57
61
  }