@oasissys/sqlcl-cli 0.2.0 → 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/README.md +1 -1
- package/dist/src/cli.js +99 -47
- package/dist/src/cli.js.map +1 -1
- package/dist/src/toon.d.ts +0 -17
- package/dist/src/toon.js +59 -133
- package/dist/src/toon.js.map +1 -1
- package/package.json +8 -3
package/README.md
CHANGED
|
@@ -38,7 +38,7 @@ Execute `npx -y @oasissys/sqlcl-cli` to get Oasis SQLcl (Oracle DB) tools.
|
|
|
38
38
|
Want the CLI on PATH and the active Oracle connection fed into every agent session?
|
|
39
39
|
|
|
40
40
|
```sh
|
|
41
|
-
npm install -g @oasissys/sqlcl-cli
|
|
41
|
+
npm install -g @oasissys/sqlcl-cli # installs `oasis-sqlcl` (and the `sqlcl-cli` alias)
|
|
42
42
|
oasis-sqlcl setup
|
|
43
43
|
```
|
|
44
44
|
|
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
|
|
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
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
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
|
-
|
|
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
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
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() {
|
package/dist/src/cli.js.map
CHANGED
|
@@ -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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"}
|
package/dist/src/toon.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
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
|
-
*
|
|
8
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
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
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
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
|
package/dist/src/toon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toon.js","sourceRoot":"","sources":["../../src/toon.ts"],"names":[],"mappings":"AAAA
|
|
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,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oasissys/sqlcl-cli",
|
|
3
|
-
"version": "0.2.
|
|
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",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
|
-
"url": "https://github.com/oasissys/sqlcl-cli.git"
|
|
9
|
+
"url": "git+https://github.com/oasissys/sqlcl-cli.git"
|
|
10
10
|
},
|
|
11
11
|
"keywords": [
|
|
12
12
|
"sqlcl",
|
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
"oasis"
|
|
20
20
|
],
|
|
21
21
|
"bin": {
|
|
22
|
-
"oasis-sqlcl": "./dist/bin/oasis-sqlcl.js"
|
|
22
|
+
"oasis-sqlcl": "./dist/bin/oasis-sqlcl.js",
|
|
23
|
+
"sqlcl-cli": "./dist/bin/oasis-sqlcl.js"
|
|
23
24
|
},
|
|
24
25
|
"files": [
|
|
25
26
|
"dist",
|
|
@@ -52,5 +53,9 @@
|
|
|
52
53
|
},
|
|
53
54
|
"publishConfig": {
|
|
54
55
|
"access": "public"
|
|
56
|
+
},
|
|
57
|
+
"dependencies": {
|
|
58
|
+
"@toon-format/toon": "2.3.0",
|
|
59
|
+
"axi-sdk-js": "0.1.8"
|
|
55
60
|
}
|
|
56
61
|
}
|