ainize 0.1.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.
Files changed (95) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +225 -0
  3. package/dist/bin.d.ts +10 -0
  4. package/dist/bin.d.ts.map +1 -0
  5. package/dist/bin.js +711 -0
  6. package/dist/bin.js.map +1 -0
  7. package/dist/client.d.ts +38 -0
  8. package/dist/client.d.ts.map +1 -0
  9. package/dist/client.js +164 -0
  10. package/dist/client.js.map +1 -0
  11. package/dist/commands/auth.d.ts +30 -0
  12. package/dist/commands/auth.d.ts.map +1 -0
  13. package/dist/commands/auth.js +216 -0
  14. package/dist/commands/auth.js.map +1 -0
  15. package/dist/commands/branch.d.ts +326 -0
  16. package/dist/commands/branch.d.ts.map +1 -0
  17. package/dist/commands/branch.js +467 -0
  18. package/dist/commands/branch.js.map +1 -0
  19. package/dist/commands/chain.d.ts +43 -0
  20. package/dist/commands/chain.d.ts.map +1 -0
  21. package/dist/commands/chain.js +224 -0
  22. package/dist/commands/chain.js.map +1 -0
  23. package/dist/commands/chat.d.ts +157 -0
  24. package/dist/commands/chat.d.ts.map +1 -0
  25. package/dist/commands/chat.js +395 -0
  26. package/dist/commands/chat.js.map +1 -0
  27. package/dist/commands/dataset.d.ts +51 -0
  28. package/dist/commands/dataset.d.ts.map +1 -0
  29. package/dist/commands/dataset.js +157 -0
  30. package/dist/commands/dataset.js.map +1 -0
  31. package/dist/commands/drive.d.ts +32 -0
  32. package/dist/commands/drive.d.ts.map +1 -0
  33. package/dist/commands/drive.js +68 -0
  34. package/dist/commands/drive.js.map +1 -0
  35. package/dist/commands/huggingface-dataset.d.ts +63 -0
  36. package/dist/commands/huggingface-dataset.d.ts.map +1 -0
  37. package/dist/commands/huggingface-dataset.js +254 -0
  38. package/dist/commands/huggingface-dataset.js.map +1 -0
  39. package/dist/commands/init.d.ts +107 -0
  40. package/dist/commands/init.d.ts.map +1 -0
  41. package/dist/commands/init.js +538 -0
  42. package/dist/commands/init.js.map +1 -0
  43. package/dist/commands/ledger.d.ts +43 -0
  44. package/dist/commands/ledger.d.ts.map +1 -0
  45. package/dist/commands/ledger.js +125 -0
  46. package/dist/commands/ledger.js.map +1 -0
  47. package/dist/commands/node.d.ts +250 -0
  48. package/dist/commands/node.d.ts.map +1 -0
  49. package/dist/commands/node.js +651 -0
  50. package/dist/commands/node.js.map +1 -0
  51. package/dist/commands/patch.d.ts +852 -0
  52. package/dist/commands/patch.d.ts.map +1 -0
  53. package/dist/commands/patch.js +1527 -0
  54. package/dist/commands/patch.js.map +1 -0
  55. package/dist/commands/peers.d.ts +86 -0
  56. package/dist/commands/peers.d.ts.map +1 -0
  57. package/dist/commands/peers.js +143 -0
  58. package/dist/commands/peers.js.map +1 -0
  59. package/dist/commands/teach-dataset.d.ts +381 -0
  60. package/dist/commands/teach-dataset.d.ts.map +1 -0
  61. package/dist/commands/teach-dataset.js +780 -0
  62. package/dist/commands/teach-dataset.js.map +1 -0
  63. package/dist/commands/teach.d.ts +351 -0
  64. package/dist/commands/teach.d.ts.map +1 -0
  65. package/dist/commands/teach.js +435 -0
  66. package/dist/commands/teach.js.map +1 -0
  67. package/dist/context.d.ts +55 -0
  68. package/dist/context.d.ts.map +1 -0
  69. package/dist/context.js +102 -0
  70. package/dist/context.js.map +1 -0
  71. package/dist/ens.d.ts +50 -0
  72. package/dist/ens.d.ts.map +1 -0
  73. package/dist/ens.js +155 -0
  74. package/dist/ens.js.map +1 -0
  75. package/dist/help.d.ts +57 -0
  76. package/dist/help.d.ts.map +1 -0
  77. package/dist/help.js +227 -0
  78. package/dist/help.js.map +1 -0
  79. package/dist/index.d.ts +15 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +15 -0
  82. package/dist/index.js.map +1 -0
  83. package/dist/output.d.ts +104 -0
  84. package/dist/output.d.ts.map +1 -0
  85. package/dist/output.js +383 -0
  86. package/dist/output.js.map +1 -0
  87. package/dist/pid.d.ts +5 -0
  88. package/dist/pid.d.ts.map +1 -0
  89. package/dist/pid.js +25 -0
  90. package/dist/pid.js.map +1 -0
  91. package/dist/quiet.d.ts +2 -0
  92. package/dist/quiet.d.ts.map +1 -0
  93. package/dist/quiet.js +12 -0
  94. package/dist/quiet.js.map +1 -0
  95. package/package.json +55 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export * from './context.js';
2
+ export * from './client.js';
3
+ export * from './output.js';
4
+ export * from './commands/init.js';
5
+ export * from './commands/node.js';
6
+ export * from './commands/auth.js';
7
+ export * from './commands/peers.js';
8
+ export * from './commands/patch.js';
9
+ export * from './commands/ledger.js';
10
+ export * from './commands/branch.js';
11
+ export * from './commands/drive.js';
12
+ export * from './commands/chain.js';
13
+ export * from './commands/chat.js';
14
+ export * from './commands/teach.js';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,15 @@
1
+ export * from './context.js';
2
+ export * from './client.js';
3
+ export * from './output.js';
4
+ export * from './commands/init.js';
5
+ export * from './commands/node.js';
6
+ export * from './commands/auth.js';
7
+ export * from './commands/peers.js';
8
+ export * from './commands/patch.js';
9
+ export * from './commands/ledger.js';
10
+ export * from './commands/branch.js';
11
+ export * from './commands/drive.js';
12
+ export * from './commands/chain.js';
13
+ export * from './commands/chat.js';
14
+ export * from './commands/teach.js';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,104 @@
1
+ import { type CliContext } from './context.js';
2
+ export declare const c: {
3
+ ok: import("chalk").ChalkInstance;
4
+ warn: import("chalk").ChalkInstance;
5
+ err: import("chalk").ChalkInstance;
6
+ dim: import("chalk").ChalkInstance;
7
+ bold: import("chalk").ChalkInstance;
8
+ head: import("chalk").ChalkInstance;
9
+ id: import("chalk").ChalkInstance;
10
+ num: import("chalk").ChalkInstance;
11
+ };
12
+ export declare function statusColor(status: string): string;
13
+ export declare function shortAddr(a?: string | null, n?: number): string;
14
+ export declare function shortHash(h?: string | null, n?: number): string;
15
+ export declare function fmtBytes(n?: number | null): string;
16
+ export declare function fmtTime(ts?: number | null): string;
17
+ export declare const width: (s: string) => number;
18
+ /**
19
+ * Cut a coloured string to `n` display cells (item 115). Escape sequences cost nothing on screen, so they are copied
20
+ * through and never counted; a cut string ends with `…` and a reset, so a truncated cyan id does not colour the rest
21
+ * of the row. CJK cells count as two, the same way `width` counts them, so a Korean name is cut on a character
22
+ * boundary and the column below it still lines up.
23
+ */
24
+ export declare function clip(s: string, n: number): string;
25
+ export declare function setWide(v: boolean): void;
26
+ /**
27
+ * How many display columns this output may use. `Infinity` means "do not fit": not a terminal (a pipe, a CI log, a
28
+ * file) or `--wide`. 60 is the floor, below which a table cannot be a table.
29
+ */
30
+ export declare function budget(): number;
31
+ export interface Column<T> {
32
+ key: string;
33
+ title: string;
34
+ get: (row: T) => string;
35
+ align?: 'left' | 'right';
36
+ }
37
+ /**
38
+ * A table fitted to the terminal (item 115). Natural widths first; when they do not fit, the text columns are
39
+ * shrunk (widest first, down to 8 cells) with `clip`, and only if that is still not enough are columns dropped from
40
+ * the right — with a line saying how many and how to get them back. Right-aligned columns are numbers and are never
41
+ * shrunk. Piped output and `--wide` skip the whole mechanism.
42
+ */
43
+ export declare function table<T>(rows: T[], cols: Column<T>[], empty?: string): string;
44
+ /**
45
+ * A prose line fitted to the same budget (item 115): the widest thing on the screen was never a table but the
46
+ * `overlapping memory entries: …` line. Wrapped, not cut, and continuation lines are indented under the first.
47
+ */
48
+ export declare function fitLine(s: string, indent?: number): string;
49
+ export declare function kv(pairs: [string, unknown][]): string;
50
+ /**
51
+ * Print according to context. `--json` wins over `--quiet` (item 104: `--json --quiet` used to print nothing at
52
+ * all), `--quiet` prints the id of whatever was affected and nothing else, and a terminal gets `render(data)`.
53
+ */
54
+ export declare function emit<T>(ctx: CliContext, data: T, render: (d: T) => string | void): T;
55
+ /**
56
+ * One step of a batch (`ainize use a b c`, item 219): a terminal still gets every step's own lines, but the JSON
57
+ * document belongs to the command, not to each step — the batch writes one at the end.
58
+ */
59
+ export declare function emitStep<T>(ctx: CliContext, batched: boolean, data: T, render: (d: T) => string | void): T;
60
+ /** End of a command: under `--json`, a command that only spoke through `ok()` still owes the script one document. */
61
+ export declare function flushJson(ctx: CliContext): void;
62
+ /**
63
+ * A failure as a document (item 104). `--json` used to answer every error with `error: <prose>` on stderr and
64
+ * nothing on stdout, so a CI job had to string-match the prose and could never read the reason the node gave —
65
+ * which `CliError.details` has been carrying all along.
66
+ */
67
+ export declare function jsonError(err: {
68
+ message?: string;
69
+ exitCode?: number;
70
+ details?: unknown;
71
+ }, command: string | null, code: number): void;
72
+ /**
73
+ * A yes/no question whose *no* is not a cancellation (design §13: "also needs {name} ({price}); buy both? [y/N]").
74
+ *
75
+ * `confirm` cannot express this: its no throws, and here a no still buys the one thing that was asked for. Nothing
76
+ * is ever assumed — without a terminal, and when the answer was pre-given with a flag, the default stands and the
77
+ * caller says so in its own words. It never spends money on its own: the purchase is confirmed by `confirm` after.
78
+ */
79
+ export declare function ask(ctx: CliContext, question: string, opts?: {
80
+ default?: boolean;
81
+ skip?: boolean;
82
+ }): Promise<boolean>;
83
+ export declare function confirm(ctx: CliContext, question: string, opts?: {
84
+ yes?: boolean;
85
+ flag?: string;
86
+ }): Promise<void>;
87
+ export declare function info(ctx: CliContext, msg: string): void;
88
+ /** The tick is decoration for a terminal; a JSON note keeps the sentence and nothing else. */
89
+ export declare function ok(ctx: CliContext, msg: string): void;
90
+ export declare function warn(ctx: CliContext, msg: string): void;
91
+ /** What a slow command can say about itself while it waits. `note` replaces the line's tail as the node reports it. */
92
+ export interface Progress {
93
+ note(msg: string | null): void;
94
+ }
95
+ /**
96
+ * Run something slow with the terminal told what is happening (item 105). Every heavy verb here is one awaited fetch
97
+ * behind a shared GPU lock — up to 30 minutes — and printed nothing at all until it finished, which is
98
+ * indistinguishable from a hang.
99
+ *
100
+ * stdout stays pipe-clean: the clock is written to stderr, and only when stderr is a terminal. A non-terminal (CI, a
101
+ * cron log) gets one line every 30 s instead of an animation, and `--json` / `--quiet` get nothing at all.
102
+ */
103
+ export declare function withProgress<T>(ctx: CliContext, label: string, fn: (p: Progress) => Promise<T>): Promise<T>;
104
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
package/dist/output.js ADDED
@@ -0,0 +1,383 @@
1
+ /**
2
+ * Terminal output helpers: tables, key/value blocks, status colours, JSON mode.
3
+ */
4
+ import { createInterface } from 'node:readline';
5
+ import chalk from 'chalk';
6
+ import { CliError } from './context.js';
7
+ export const c = {
8
+ ok: chalk.green, warn: chalk.yellow, err: chalk.red, dim: chalk.gray, bold: chalk.bold, head: chalk.magenta, id: chalk.cyan, num: chalk.white,
9
+ };
10
+ export function statusColor(status) {
11
+ switch (status) {
12
+ case 'LISTED': return chalk.green(status);
13
+ case 'VERIFYING':
14
+ case 'ANNOUNCED': return chalk.yellow(status);
15
+ case 'REJECTED':
16
+ case 'CHALLENGED': return chalk.red(status);
17
+ case 'SUPERSEDED': return chalk.gray(status);
18
+ // The author took it off sale themselves (item 148) — not a failure, not a dispute.
19
+ case 'RETIRED': return chalk.gray(status);
20
+ case 'DRAFT': return chalk.blue(status);
21
+ default: return status;
22
+ }
23
+ }
24
+ export function shortAddr(a, n = 6) {
25
+ if (!a)
26
+ return '-';
27
+ return a.length > n * 2 + 4 ? `${a.slice(0, n + 2)}…${a.slice(-4)}` : a;
28
+ }
29
+ export function shortHash(h, n = 12) {
30
+ if (!h)
31
+ return '-';
32
+ return h.length > n ? `${h.slice(0, n)}…` : h;
33
+ }
34
+ export function fmtBytes(n) {
35
+ if (n === undefined || n === null)
36
+ return '-';
37
+ if (n < 1024)
38
+ return `${n} B`;
39
+ if (n < 1024 ** 2)
40
+ return `${(n / 1024).toFixed(1)} KB`;
41
+ if (n < 1024 ** 3)
42
+ return `${(n / 1024 ** 2).toFixed(1)} MB`;
43
+ return `${(n / 1024 ** 3).toFixed(2)} GB`;
44
+ }
45
+ export function fmtTime(ts) {
46
+ if (!ts)
47
+ return '-';
48
+ const d = new Date(ts);
49
+ const p = (x) => String(x).padStart(2, '0');
50
+ return `${d.getFullYear()}-${p(d.getMonth() + 1)}-${p(d.getDate())} ${p(d.getHours())}:${p(d.getMinutes())}:${p(d.getSeconds())}`;
51
+ }
52
+ // eslint-disable-next-line no-control-regex
53
+ const ANSI = /\x1b\[[0-9;]*m/g;
54
+ const WIDE_CHAR = /[ᄀ-ᅟ⺀-꓏가-힣豈-﫿︰-﹏＀-⦆¢-₩]/;
55
+ export const width = (s) => { let w = 0; for (const ch of s.replace(ANSI, ''))
56
+ w += WIDE_CHAR.test(ch) ? 2 : 1; return w; };
57
+ const padEnd = (s, n) => s + ' '.repeat(Math.max(0, n - width(s)));
58
+ /**
59
+ * Cut a coloured string to `n` display cells (item 115). Escape sequences cost nothing on screen, so they are copied
60
+ * through and never counted; a cut string ends with `…` and a reset, so a truncated cyan id does not colour the rest
61
+ * of the row. CJK cells count as two, the same way `width` counts them, so a Korean name is cut on a character
62
+ * boundary and the column below it still lines up.
63
+ */
64
+ export function clip(s, n) {
65
+ if (width(s) <= n)
66
+ return s;
67
+ const room = Math.max(0, n - 1); // the … itself occupies one cell
68
+ let out = '';
69
+ let w = 0;
70
+ let coloured = false;
71
+ for (let i = 0; i < s.length;) {
72
+ // eslint-disable-next-line no-control-regex
73
+ const esc = /^\x1b\[[0-9;]*m/.exec(s.slice(i));
74
+ if (esc) {
75
+ out += esc[0];
76
+ coloured = true;
77
+ i += esc[0].length;
78
+ continue;
79
+ }
80
+ const ch = [...s.slice(i)][0] ?? '';
81
+ const cw = WIDE_CHAR.test(ch) ? 2 : 1;
82
+ if (w + cw > room)
83
+ break;
84
+ out += ch;
85
+ w += cw;
86
+ i += ch.length;
87
+ }
88
+ return out + '…' + (coloured ? '\x1b[0m' : '');
89
+ }
90
+ /**
91
+ * `--wide` (item 115). Tables are fitted to the terminal; this turns the fitting off for a session that wants every
92
+ * column whatever the width. Piped output is never fitted either — a script reading `patch ls` gets the full cells.
93
+ */
94
+ let wideOutput = false;
95
+ export function setWide(v) { wideOutput = v; }
96
+ /**
97
+ * How many display columns this output may use. `Infinity` means "do not fit": not a terminal (a pipe, a CI log, a
98
+ * file) or `--wide`. 60 is the floor, below which a table cannot be a table.
99
+ */
100
+ export function budget() {
101
+ if (wideOutput || !process.stdout.isTTY)
102
+ return Infinity;
103
+ return Math.max(60, process.stdout.columns || 100);
104
+ }
105
+ /**
106
+ * A table fitted to the terminal (item 115). Natural widths first; when they do not fit, the text columns are
107
+ * shrunk (widest first, down to 8 cells) with `clip`, and only if that is still not enough are columns dropped from
108
+ * the right — with a line saying how many and how to get them back. Right-aligned columns are numbers and are never
109
+ * shrunk. Piped output and `--wide` skip the whole mechanism.
110
+ */
111
+ export function table(rows, cols, empty = '(none)') {
112
+ if (!rows.length)
113
+ return c.dim(fitLine(empty));
114
+ const cells = rows.map((r) => cols.map((col) => col.get(r) ?? ''));
115
+ const natural = cols.map((col, i) => Math.max(width(col.title), ...cells.map((r) => width(r[i]))));
116
+ const GAP = 2;
117
+ const max = budget();
118
+ let show = cols.map((_, i) => i);
119
+ const widths = natural.slice();
120
+ const total = (idx, w) => idx.reduce((a, i) => a + w[i], 0) + GAP * Math.max(0, idx.length - 1);
121
+ if (max !== Infinity && total(show, widths) > max) {
122
+ // 1. shrink the text columns, widest first, to a floor of 8 cells (or their title, when that is shorter)
123
+ const floor = (i) => Math.min(natural[i], Math.max(8, Math.min(width(cols[i].title), 12)));
124
+ const shrinkable = () => show.filter((i) => cols[i].align !== 'right' && widths[i] > floor(i));
125
+ for (;;) {
126
+ const over = total(show, widths) - max;
127
+ if (over <= 0)
128
+ break;
129
+ const cand = shrinkable();
130
+ if (!cand.length)
131
+ break;
132
+ const widest = cand.reduce((a, b) => (widths[a] >= widths[b] ? a : b));
133
+ const next = cand.map((i) => widths[i]).filter((w) => w < widths[widest]).sort((a, b) => b - a)[0] ?? floor(widest);
134
+ widths[widest] = Math.max(floor(widest), next, widths[widest] - over);
135
+ }
136
+ // 2. still too wide: drop columns from the right, keeping at least the first two
137
+ while (show.length > 2 && total(show, widths) > max)
138
+ show = show.slice(0, -1);
139
+ }
140
+ const dropped = cols.length - show.length;
141
+ const line = (vals, head = false) => show.map((i) => {
142
+ const v = clip(vals[i], widths[i]);
143
+ const s = cols[i].align === 'right' ? ' '.repeat(Math.max(0, widths[i] - width(v))) + v : padEnd(v, widths[i]);
144
+ return head ? c.head(s) : s;
145
+ }).join(' '.repeat(GAP));
146
+ const out = [
147
+ line(cols.map((x) => x.title), true),
148
+ c.dim(show.map((i) => '─'.repeat(widths[i])).join(' '.repeat(GAP))),
149
+ ...cells.map((r) => line(r)),
150
+ ];
151
+ if (dropped)
152
+ out.push(c.dim(fitLine(`(${dropped} more column${dropped === 1 ? '' : 's'} not shown: ${cols.slice(show.length).map((x) => x.title).join(', ')} — --wide, or a wider terminal, shows ${dropped === 1 ? 'it' : 'them'})`)));
153
+ return out.join('\n');
154
+ }
155
+ /**
156
+ * A prose line fitted to the same budget (item 115): the widest thing on the screen was never a table but the
157
+ * `overlapping memory entries: …` line. Wrapped, not cut, and continuation lines are indented under the first.
158
+ */
159
+ export function fitLine(s, indent = 2) {
160
+ const max = budget();
161
+ if (max === Infinity || width(s) <= max)
162
+ return s;
163
+ return s.split('\n').map((one) => {
164
+ const lines = [];
165
+ let cur = '';
166
+ for (const w of one.split(' ')) {
167
+ if (cur && width(cur) + 1 + width(w) > max) {
168
+ lines.push(cur);
169
+ cur = ' '.repeat(indent) + w;
170
+ continue;
171
+ }
172
+ cur = cur ? `${cur} ${w}` : w;
173
+ }
174
+ if (cur)
175
+ lines.push(cur);
176
+ return lines.join('\n');
177
+ }).join('\n');
178
+ }
179
+ export function kv(pairs) {
180
+ const w = Math.max(...pairs.map(([k]) => k.length));
181
+ return pairs.map(([k, v]) => `${c.dim(k.padEnd(w))} ${v === undefined || v === null || v === '' ? c.dim('-') : String(v)}`).join('\n');
182
+ }
183
+ // ---------------------------------------------------------------- the --json / --quiet contract (items 104, 220)
184
+ /**
185
+ * Did a command already write its JSON document? `ok()` and `info()` are prose and have no place in a JSON stream,
186
+ * but a command whose ONLY output is `ok()` (`logout`, `stop`, `config set`) must still say something a script can
187
+ * read — so their messages are kept here and written as one `{ok:true,message}` document at the end, and only when
188
+ * nothing else was emitted. One command, one document, always.
189
+ */
190
+ let jsonEmitted = false;
191
+ const jsonNotes = [];
192
+ /** The id of the thing a mutating command just affected — what `--quiet` prints, the way git and kubectl do. */
193
+ function affectedId(data) {
194
+ if (!data || typeof data !== 'object' || Array.isArray(data))
195
+ return null;
196
+ const d = data;
197
+ const anchor = d.anchor;
198
+ const job = d.job;
199
+ for (const v of [d.patch_id, anchor?.id, d.dataset_id, d.job_id, job?.id, d.id]) {
200
+ if (typeof v === 'string' && v)
201
+ return v;
202
+ if (typeof v === 'number')
203
+ return String(v);
204
+ }
205
+ return null;
206
+ }
207
+ /**
208
+ * Print according to context. `--json` wins over `--quiet` (item 104: `--json --quiet` used to print nothing at
209
+ * all), `--quiet` prints the id of whatever was affected and nothing else, and a terminal gets `render(data)`.
210
+ */
211
+ export function emit(ctx, data, render) {
212
+ if (ctx.json) {
213
+ jsonEmitted = true;
214
+ process.stdout.write(JSON.stringify(data, null, 2) + '\n');
215
+ return data;
216
+ }
217
+ if (ctx.quiet) {
218
+ const id = affectedId(data);
219
+ if (id)
220
+ process.stdout.write(id + '\n');
221
+ return data;
222
+ }
223
+ const s = render(data);
224
+ if (typeof s === 'string')
225
+ process.stdout.write(s + (s.endsWith('\n') ? '' : '\n'));
226
+ return data;
227
+ }
228
+ /**
229
+ * One step of a batch (`ainize use a b c`, item 219): a terminal still gets every step's own lines, but the JSON
230
+ * document belongs to the command, not to each step — the batch writes one at the end.
231
+ */
232
+ export function emitStep(ctx, batched, data, render) {
233
+ if (batched && ctx.json)
234
+ return data;
235
+ return emit(ctx, data, render);
236
+ }
237
+ /** End of a command: under `--json`, a command that only spoke through `ok()` still owes the script one document. */
238
+ export function flushJson(ctx) {
239
+ if (!ctx.json || jsonEmitted || !jsonNotes.length)
240
+ return;
241
+ jsonEmitted = true;
242
+ process.stdout.write(JSON.stringify({ ok: true, message: jsonNotes.join('\n') }, null, 2) + '\n');
243
+ }
244
+ /**
245
+ * A failure as a document (item 104). `--json` used to answer every error with `error: <prose>` on stderr and
246
+ * nothing on stdout, so a CI job had to string-match the prose and could never read the reason the node gave —
247
+ * which `CliError.details` has been carrying all along.
248
+ */
249
+ export function jsonError(err, command, code) {
250
+ const body = { error: { message: err.message ?? 'failed', code, command: command ?? undefined } };
251
+ if (err.details !== undefined)
252
+ body.error.details = err.details;
253
+ process.stderr.write(JSON.stringify(body, null, 2) + '\n');
254
+ }
255
+ /**
256
+ * Ask before doing something irreversible (item 102). Three answers, and none of them is a guess:
257
+ * - a terminal gets the question and must answer `y`;
258
+ * - `--yes` is the answer given in advance;
259
+ * - anything else (a pipe, a cron, a CI job) is REFUSED, because a script that never saw the question has not
260
+ * agreed to anything. Silence is not consent when the next step spends money.
261
+ */
262
+ /**
263
+ * Read one line from the terminal, or `null` when there is nobody to read from.
264
+ *
265
+ * `rl.question`'s callback never fires if stdin reaches EOF while the question is open — readline emits `close` and
266
+ * the promise waits for ever. That is not a rare shape: `docker run -t` without `-i`, an ssh command with a pty, and
267
+ * `ainize patch rm <id> < /dev/null` all present a real TTY whose input has already ended, so `isTTY` is true and the
268
+ * guard above lets us through. Every confirm this CLI grew — `patch rm` (item 168), the buy that names the price
269
+ * (item 173), the announce that lists what it would retire (item 150) — hung there with no output and no timeout.
270
+ * Listening for `close` turns that into the answer the caller can act on.
271
+ */
272
+ async function askLine(question) {
273
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
274
+ return new Promise((res) => {
275
+ let settled = false;
276
+ const finish = (a) => { if (settled)
277
+ return; settled = true; rl.close(); res(a); };
278
+ rl.question(`${question} `, (a) => finish(a.trim().toLowerCase()));
279
+ rl.once('close', () => finish(null));
280
+ });
281
+ }
282
+ /**
283
+ * A yes/no question whose *no* is not a cancellation (design §13: "also needs {name} ({price}); buy both? [y/N]").
284
+ *
285
+ * `confirm` cannot express this: its no throws, and here a no still buys the one thing that was asked for. Nothing
286
+ * is ever assumed — without a terminal, and when the answer was pre-given with a flag, the default stands and the
287
+ * caller says so in its own words. It never spends money on its own: the purchase is confirmed by `confirm` after.
288
+ */
289
+ export async function ask(ctx, question, opts = {}) {
290
+ const def = opts.default ?? false;
291
+ if (opts.skip || !process.stdin.isTTY || ctx.json || ctx.quiet)
292
+ return def;
293
+ const answer = await askLine(question);
294
+ if (answer === null || !answer)
295
+ return def; // EOF, or Enter on its own: the default stands
296
+ return answer === 'y' || answer === 'yes';
297
+ }
298
+ export async function confirm(ctx, question, opts = {}) {
299
+ const flag = opts.flag ?? '--yes';
300
+ if (opts.yes) {
301
+ info(ctx, c.dim(`${question} ${flag}`));
302
+ return;
303
+ }
304
+ if (!process.stdin.isTTY)
305
+ throw new CliError(`refusing to continue without an answer: stdin is not a terminal, so nobody can be asked. Pass ${flag} to answer in advance.`);
306
+ const answer = await askLine(question);
307
+ if (answer === null)
308
+ throw new CliError(`refusing to continue without an answer: the terminal's input ended (Ctrl-D) before one was given. Pass ${flag} to answer in advance.`);
309
+ if (answer !== 'y' && answer !== 'yes')
310
+ throw new CliError('cancelled — nothing was bought, nothing was charged', 130);
311
+ }
312
+ export function info(ctx, msg) {
313
+ if (ctx.json) {
314
+ jsonNotes.push(msg.replace(ANSI, ''));
315
+ return;
316
+ }
317
+ if (!ctx.quiet)
318
+ process.stdout.write(msg + '\n');
319
+ }
320
+ /** The tick is decoration for a terminal; a JSON note keeps the sentence and nothing else. */
321
+ export function ok(ctx, msg) {
322
+ if (ctx.json) {
323
+ jsonNotes.push(msg.replace(ANSI, ''));
324
+ return;
325
+ }
326
+ info(ctx, c.ok('✓ ') + msg);
327
+ }
328
+ export function warn(ctx, msg) { if (!ctx.quiet)
329
+ process.stderr.write(c.warn('! ') + msg + '\n'); }
330
+ const FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
331
+ /**
332
+ * Run something slow with the terminal told what is happening (item 105). Every heavy verb here is one awaited fetch
333
+ * behind a shared GPU lock — up to 30 minutes — and printed nothing at all until it finished, which is
334
+ * indistinguishable from a hang.
335
+ *
336
+ * stdout stays pipe-clean: the clock is written to stderr, and only when stderr is a terminal. A non-terminal (CI, a
337
+ * cron log) gets one line every 30 s instead of an animation, and `--json` / `--quiet` get nothing at all.
338
+ */
339
+ export async function withProgress(ctx, label, fn) {
340
+ const tty = !!process.stderr.isTTY;
341
+ const silent = ctx.json || ctx.quiet;
342
+ let tail = null;
343
+ let lastLine = 0;
344
+ const p = { note: (m) => {
345
+ tail = m;
346
+ // a log file gets the queue when it changes and at most every 30 s, not a new line every poll
347
+ if (!silent && !tty && m && Date.now() - lastLine > 30_000) {
348
+ lastLine = Date.now();
349
+ process.stderr.write(c.dim(`… ${m}\n`));
350
+ }
351
+ } };
352
+ if (silent)
353
+ return fn(p);
354
+ const t0 = Date.now();
355
+ let frame = 0;
356
+ let printed = 0;
357
+ const secs = () => Math.round((Date.now() - t0) / 1000);
358
+ const clear = () => { if (tty && printed) {
359
+ process.stderr.write('\r' + ' '.repeat(printed) + '\r');
360
+ printed = 0;
361
+ } };
362
+ const draw = () => {
363
+ // one line, never wider than the terminal: a wrapped spinner cannot be erased by a carriage return
364
+ const line = clip(`${FRAMES[frame++ % FRAMES.length]} ${label} · ${secs()}s${tail ? ` · ${tail}` : ''}`, Math.max(20, (process.stderr.columns || 80) - 1));
365
+ clear();
366
+ process.stderr.write(c.dim(line));
367
+ printed = width(line);
368
+ };
369
+ const timer = tty
370
+ ? setInterval(draw, 100)
371
+ : setInterval(() => { lastLine = Date.now(); process.stderr.write(c.dim(`… still waiting for ${label} (${secs()}s)${tail ? ` · ${tail}` : ''}\n`)); }, 30_000);
372
+ timer.unref?.();
373
+ try {
374
+ if (tty)
375
+ draw();
376
+ return await fn(p);
377
+ }
378
+ finally {
379
+ clearInterval(timer);
380
+ clear();
381
+ }
382
+ }
383
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
package/dist/pid.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ export declare const pidFile: (home: string) => string;
2
+ export declare const logFile: (home: string) => string;
3
+ /** The pid of a node started with `start -d` from this home, or null when there is no live process for it. */
4
+ export declare function runningPid(home: string): number | null;
5
+ //# sourceMappingURL=pid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pid.d.ts","sourceRoot":"","sources":["../src/pid.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,KAAG,MAAgC,CAAC;AACxE,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,KAAG,MAAgC,CAAC;AAExE,8GAA8G;AAC9G,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMtD"}
package/dist/pid.js ADDED
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Where a detached node keeps its pid and its log, and whether that process is alive. Shared by the lifecycle
3
+ * commands and by `config set`, which must know whether an edit will only take effect at the next start.
4
+ */
5
+ import { existsSync, readFileSync } from 'node:fs';
6
+ import { join } from 'node:path';
7
+ export const pidFile = (home) => join(home, 'node.pid');
8
+ export const logFile = (home) => join(home, 'node.log');
9
+ /** The pid of a node started with `start -d` from this home, or null when there is no live process for it. */
10
+ export function runningPid(home) {
11
+ const p = pidFile(home);
12
+ if (!existsSync(p))
13
+ return null;
14
+ const pid = Number(readFileSync(p, 'utf8').trim());
15
+ if (!Number.isFinite(pid))
16
+ return null;
17
+ try {
18
+ process.kill(pid, 0);
19
+ return pid;
20
+ }
21
+ catch {
22
+ return null;
23
+ }
24
+ }
25
+ //# sourceMappingURL=pid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pid.js","sourceRoot":"","sources":["../src/pid.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAExE,8GAA8G;AAC9G,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAAC,OAAO,GAAG,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AAClE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=quiet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quiet.d.ts","sourceRoot":"","sources":["../src/quiet.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,CAAC"}