@intutic/clawde 2.3.0 → 2.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/dist/toon.js ADDED
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ /**
3
+ * The control plane's TOON list encoding, decoded.
4
+ *
5
+ * A list endpoint answering with 20 rows or more (`GET /api/v1/traces`) may
6
+ * send them as one pipe-separated string under `data`, with `format: 'toon'`
7
+ * and `listProperty` naming the key the rows belong under. This is a copy of
8
+ * `toonDecode` in `@intutic/shared-types` (this package has no dependencies),
9
+ * applied to every control-plane response the way the CLI applies it.
10
+ *
11
+ * Cells longer than the encoder's limit arrive cut, ending in `…`: TOON trades
12
+ * that for size, and nothing here can restore them.
13
+ *
14
+ * @module
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.toonDecode = toonDecode;
18
+ exports.unwrapToonEnvelope = unwrapToonEnvelope;
19
+ function splitCells(line) {
20
+ const cells = [];
21
+ let cur = '';
22
+ for (let i = 0; i < line.length; i++) {
23
+ const ch = line[i];
24
+ if (ch === '\\') {
25
+ const next = line[i + 1];
26
+ if (next === '\\') {
27
+ cur += '\\';
28
+ i++;
29
+ continue;
30
+ }
31
+ if (next === '|') {
32
+ cur += '|';
33
+ i++;
34
+ continue;
35
+ }
36
+ if (next === 'n') {
37
+ cur += '\n';
38
+ i++;
39
+ continue;
40
+ }
41
+ cur += '\\';
42
+ continue;
43
+ }
44
+ if (ch === '|') {
45
+ cells.push(cur);
46
+ cur = '';
47
+ continue;
48
+ }
49
+ cur += ch;
50
+ }
51
+ cells.push(cur);
52
+ return cells;
53
+ }
54
+ /** Rows from a TOON string, or null when it is not one. */
55
+ function toonDecode(toon) {
56
+ const lines = toon.trimEnd().split('\n');
57
+ const header = lines[0] ?? '';
58
+ if (!header.startsWith('TOON|'))
59
+ return null;
60
+ const colsStr = header.slice('TOON|'.length);
61
+ if (colsStr === '(empty)')
62
+ return [];
63
+ const cols = colsStr.split(',');
64
+ const rows = [];
65
+ for (const line of lines.slice(1)) {
66
+ if (!line.trim())
67
+ continue;
68
+ const cells = splitCells(line);
69
+ const row = {};
70
+ cols.forEach((key, i) => {
71
+ row[key] = decodeCell(cells[i] ?? '-');
72
+ });
73
+ rows.push(row);
74
+ }
75
+ return rows;
76
+ }
77
+ function decodeCell(raw) {
78
+ if (raw === '-')
79
+ return null;
80
+ if (raw === 't')
81
+ return true;
82
+ if (raw === 'f')
83
+ return false;
84
+ const num = Number(raw);
85
+ if (!isNaN(num) && raw !== '')
86
+ return num;
87
+ if (raw.startsWith('{') || raw.startsWith('[')) {
88
+ try {
89
+ return JSON.parse(raw);
90
+ }
91
+ catch {
92
+ // Not JSON after all: the text itself.
93
+ }
94
+ }
95
+ return raw;
96
+ }
97
+ /**
98
+ * Moves a TOON-encoded list out of its envelope onto `listProperty`, so the
99
+ * body has the shape a shorter list arrives in; any other body passes through.
100
+ */
101
+ function unwrapToonEnvelope(data) {
102
+ if (!data || typeof data !== 'object')
103
+ return data;
104
+ const body = data;
105
+ if (body['format'] !== 'toon' || typeof body['data'] !== 'string' || typeof body['listProperty'] !== 'string')
106
+ return data;
107
+ const unwrapped = {};
108
+ for (const [key, value] of Object.entries(body)) {
109
+ if (key !== 'format' && key !== 'data')
110
+ unwrapped[key] = value;
111
+ }
112
+ unwrapped[body['listProperty']] = toonDecode(body['data']) ?? [];
113
+ return unwrapped;
114
+ }
115
+ //# sourceMappingURL=toon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toon.js","sourceRoot":"","sources":["../src/toon.ts"],"names":[],"mappings":"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"}