gitsheets-axi 2.1.0 → 2.2.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/src/cli.d.ts +1 -1
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +17 -9
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/count.d.ts +4 -0
- package/dist/src/commands/count.d.ts.map +1 -0
- package/dist/src/commands/count.js +84 -0
- package/dist/src/commands/count.js.map +1 -0
- package/dist/src/commands/delete.d.ts +1 -1
- package/dist/src/commands/delete.d.ts.map +1 -1
- package/dist/src/commands/delete.js +132 -43
- package/dist/src/commands/delete.js.map +1 -1
- package/dist/src/commands/distinct.d.ts +4 -0
- package/dist/src/commands/distinct.d.ts.map +1 -0
- package/dist/src/commands/distinct.js +81 -0
- package/dist/src/commands/distinct.js.map +1 -0
- package/dist/src/commands/patch.d.ts +1 -1
- package/dist/src/commands/patch.d.ts.map +1 -1
- package/dist/src/commands/patch.js +238 -49
- package/dist/src/commands/patch.js.map +1 -1
- package/dist/src/commands/query.d.ts +1 -1
- package/dist/src/commands/query.d.ts.map +1 -1
- package/dist/src/commands/query.js +129 -58
- package/dist/src/commands/query.js.map +1 -1
- package/dist/src/commands/rename.d.ts +4 -0
- package/dist/src/commands/rename.d.ts.map +1 -0
- package/dist/src/commands/rename.js +131 -0
- package/dist/src/commands/rename.js.map +1 -0
- package/dist/src/commands/sheets.js +13 -4
- package/dist/src/commands/sheets.js.map +1 -1
- package/dist/src/commands/upsert.d.ts +9 -1
- package/dist/src/commands/upsert.d.ts.map +1 -1
- package/dist/src/commands/upsert.js +134 -33
- package/dist/src/commands/upsert.js.map +1 -1
- package/dist/src/util/aggregate.d.ts +13 -0
- package/dist/src/util/aggregate.d.ts.map +1 -0
- package/dist/src/util/aggregate.js +44 -0
- package/dist/src/util/aggregate.js.map +1 -0
- package/dist/src/util/export-file.d.ts +22 -0
- package/dist/src/util/export-file.d.ts.map +1 -0
- package/dist/src/util/export-file.js +67 -0
- package/dist/src/util/export-file.js.map +1 -0
- package/dist/src/util/filter.d.ts +30 -0
- package/dist/src/util/filter.d.ts.map +1 -0
- package/dist/src/util/filter.js +138 -0
- package/dist/src/util/filter.js.map +1 -0
- package/dist/src/util/hints.d.ts +8 -0
- package/dist/src/util/hints.d.ts.map +1 -0
- package/dist/src/util/hints.js +8 -0
- package/dist/src/util/hints.js.map +1 -0
- package/dist/src/util/open-sheet.d.ts +13 -0
- package/dist/src/util/open-sheet.d.ts.map +1 -0
- package/dist/src/util/open-sheet.js +31 -0
- package/dist/src/util/open-sheet.js.map +1 -0
- package/dist/src/util/parse-records.d.ts +26 -0
- package/dist/src/util/parse-records.d.ts.map +1 -0
- package/dist/src/util/parse-records.js +76 -0
- package/dist/src/util/parse-records.js.map +1 -0
- package/package.json +3 -2
|
@@ -1,31 +1,57 @@
|
|
|
1
1
|
import { AxiError } from 'axi-sdk-js';
|
|
2
|
-
import { mergePatch } from 'gitsheets';
|
|
2
|
+
import { mergePatch, Template } from 'gitsheets';
|
|
3
3
|
import { translateError } from '../errors.js';
|
|
4
|
-
import { renderObject } from '../output/render.js';
|
|
4
|
+
import { joinBlocks, renderHelp, renderObject } from '../output/render.js';
|
|
5
5
|
import { readStdin } from '../util/stdin.js';
|
|
6
|
+
import { openSheetForCommand } from '../util/open-sheet.js';
|
|
7
|
+
import { parseRecordsInput, recordLabel } from '../util/parse-records.js';
|
|
8
|
+
import { MATERIALIZE_HINT } from '../util/hints.js';
|
|
9
|
+
import { renderDryRun } from './upsert.js';
|
|
10
|
+
const PATH_KEY = Symbol.for('gitsheets-path');
|
|
6
11
|
export const PATCH_HELP = `usage: gitsheets-axi patch <sheet> <query-json> [--patch <json>] [--prefix p] [--message m]
|
|
7
|
-
|
|
8
|
-
|
|
12
|
+
gitsheets-axi patch <sheet> [--data <json>] [--on-missing m] [--delete-missing] [--dry-run] # bulk
|
|
13
|
+
flags[7]:
|
|
14
|
+
--patch <json> Single mode: RFC 7396 partial. If omitted, reads stdin.
|
|
15
|
+
--data <json> Bulk mode: JSON array / NDJSON of combined records.
|
|
16
|
+
--on-missing <m> Bulk: what to do when a record's query matches nothing —
|
|
17
|
+
abort (default) | skip | insert (upsert it as new).
|
|
18
|
+
--delete-missing Bulk: delete existing records NOT targeted by the batch
|
|
19
|
+
(exact re-sync). One commit.
|
|
20
|
+
--dry-run Bulk: preview {will-change, no-op, missing, invalid,
|
|
21
|
+
delete} — no commit.
|
|
9
22
|
--prefix <p> Tenant sub-tree scope
|
|
10
23
|
--message <m> Commit message (default: "<sheet> patch <path>")
|
|
11
24
|
examples:
|
|
12
25
|
gitsheets-axi patch users '{"slug":"jane"}' --patch '{"name":"Jane O. Doe"}'
|
|
13
|
-
|
|
26
|
+
jq -c '.[]' classify.json | gitsheets-axi patch repos # bulk, one commit
|
|
27
|
+
jq -c '.[]' classify.json | gitsheets-axi patch repos --on-missing skip # tolerate stale rows
|
|
28
|
+
gitsheets-axi patch repos --data "$(cat sync.json)" --on-missing insert --delete-missing
|
|
29
|
+
bulk:
|
|
30
|
+
With no <query-json>, input is a JSON array or NDJSON of records. In each
|
|
31
|
+
record the sheet's path-template fields form the query (which record to
|
|
32
|
+
patch); the remaining fields are the merge patch. Every patch runs in a
|
|
33
|
+
SINGLE transaction → ONE commit. This is the tool for incremental
|
|
34
|
+
classification: emit {<path-fields>, <fields-to-set>} per record.
|
|
14
35
|
semantics:
|
|
15
36
|
RFC 7396 JSON Merge Patch. \`null\` deletes a field, arrays replace
|
|
16
37
|
in full, objects merge recursively. Same as gitsheets's library patch.
|
|
17
38
|
idempotency:
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
39
|
+
Unchanged records are skipped; a batch where nothing changed exits 0 with
|
|
40
|
+
result: "no-op" and no commit. With --on-missing abort (default), a record
|
|
41
|
+
matching nothing aborts the batch (nothing committed); --dry-run reports all
|
|
42
|
+
missing/invalid rows at once.
|
|
21
43
|
`;
|
|
22
44
|
function parsePatchFlags(args) {
|
|
23
45
|
const flags = {
|
|
24
46
|
sheet: '',
|
|
25
|
-
queryJson:
|
|
47
|
+
queryJson: undefined,
|
|
26
48
|
patchJson: undefined,
|
|
49
|
+
data: undefined,
|
|
27
50
|
prefix: undefined,
|
|
28
51
|
message: undefined,
|
|
52
|
+
onMissing: 'abort',
|
|
53
|
+
deleteMissing: false,
|
|
54
|
+
dryRun: false,
|
|
29
55
|
};
|
|
30
56
|
const positional = [];
|
|
31
57
|
for (let i = 0; i < args.length; i++) {
|
|
@@ -40,6 +66,25 @@ function parsePatchFlags(args) {
|
|
|
40
66
|
flags.patchJson = next;
|
|
41
67
|
i++;
|
|
42
68
|
break;
|
|
69
|
+
case '--data':
|
|
70
|
+
if (!next)
|
|
71
|
+
throw new AxiError('--data expects JSON', 'VALIDATION_ERROR');
|
|
72
|
+
flags.data = next;
|
|
73
|
+
i++;
|
|
74
|
+
break;
|
|
75
|
+
case '--on-missing':
|
|
76
|
+
if (next !== 'abort' && next !== 'skip' && next !== 'insert') {
|
|
77
|
+
throw new AxiError('--on-missing expects abort | skip | insert', 'VALIDATION_ERROR');
|
|
78
|
+
}
|
|
79
|
+
flags.onMissing = next;
|
|
80
|
+
i++;
|
|
81
|
+
break;
|
|
82
|
+
case '--delete-missing':
|
|
83
|
+
flags.deleteMissing = true;
|
|
84
|
+
break;
|
|
85
|
+
case '--dry-run':
|
|
86
|
+
flags.dryRun = true;
|
|
87
|
+
break;
|
|
43
88
|
case '--prefix':
|
|
44
89
|
if (!next)
|
|
45
90
|
throw new AxiError('--prefix expects a path', 'VALIDATION_ERROR');
|
|
@@ -61,9 +106,10 @@ function parsePatchFlags(args) {
|
|
|
61
106
|
positional.push(arg);
|
|
62
107
|
}
|
|
63
108
|
}
|
|
64
|
-
if (positional.length
|
|
65
|
-
throw new AxiError('patch requires <sheet> <query-json>', 'VALIDATION_ERROR', [
|
|
66
|
-
"
|
|
109
|
+
if (positional.length === 0 || positional.length > 2) {
|
|
110
|
+
throw new AxiError('patch requires <sheet> [<query-json>]', 'VALIDATION_ERROR', [
|
|
111
|
+
"Single: gitsheets-axi patch users '{\"slug\":\"jane\"}' --patch '{...}'",
|
|
112
|
+
'Bulk: gitsheets-axi patch repos --data \'[{...}, ...]\'',
|
|
67
113
|
]);
|
|
68
114
|
}
|
|
69
115
|
flags.sheet = positional[0];
|
|
@@ -75,6 +121,26 @@ export async function patchCommand(args, ctx) {
|
|
|
75
121
|
return PATCH_HELP;
|
|
76
122
|
}
|
|
77
123
|
const flags = parsePatchFlags(args);
|
|
124
|
+
const prefixOpts = flags.prefix !== undefined ? { prefix: flags.prefix } : {};
|
|
125
|
+
const repo = await ctx.repo();
|
|
126
|
+
const sheet = await openSheetForCommand(repo, flags.sheet, prefixOpts);
|
|
127
|
+
// Single mode is signalled by an explicit <query-json> positional; bulk mode
|
|
128
|
+
// by its absence (records come from --data / stdin, query embedded per record).
|
|
129
|
+
if (flags.queryJson !== undefined) {
|
|
130
|
+
if (flags.data !== undefined) {
|
|
131
|
+
throw new AxiError('--data is bulk mode — drop the <query-json> positional to use it', 'VALIDATION_ERROR');
|
|
132
|
+
}
|
|
133
|
+
if (flags.onMissing !== 'abort' || flags.deleteMissing || flags.dryRun) {
|
|
134
|
+
throw new AxiError('--on-missing / --delete-missing / --dry-run are bulk-only — drop the <query-json> positional', 'VALIDATION_ERROR');
|
|
135
|
+
}
|
|
136
|
+
return singlePatch(repo, sheet, flags, prefixOpts);
|
|
137
|
+
}
|
|
138
|
+
if (flags.patchJson !== undefined) {
|
|
139
|
+
throw new AxiError('--patch is single mode — it needs a <query-json> positional', 'VALIDATION_ERROR', ['For bulk, embed the query fields in each record and use --data / stdin']);
|
|
140
|
+
}
|
|
141
|
+
return batchPatch(repo, sheet, flags, prefixOpts);
|
|
142
|
+
}
|
|
143
|
+
async function singlePatch(repo, sheet, flags, prefixOpts) {
|
|
78
144
|
let query;
|
|
79
145
|
try {
|
|
80
146
|
query = JSON.parse(flags.queryJson);
|
|
@@ -96,70 +162,193 @@ export async function patchCommand(args, ctx) {
|
|
|
96
162
|
if (!partial || typeof partial !== 'object' || Array.isArray(partial)) {
|
|
97
163
|
throw new AxiError('Patch must be a JSON object', 'VALIDATION_ERROR');
|
|
98
164
|
}
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
sheet = await repo.openSheet(flags.sheet, flags.prefix !== undefined ? { prefix: flags.prefix } : {});
|
|
165
|
+
const willResult = await previewPatch(sheet, query, partial);
|
|
166
|
+
if (willResult === 'not-found') {
|
|
167
|
+
throw new AxiError(`${flags.sheet}: no record matches the query`, 'NOT_FOUND');
|
|
103
168
|
}
|
|
104
|
-
|
|
105
|
-
|
|
169
|
+
if (!willResult.changed) {
|
|
170
|
+
return renderObject({
|
|
171
|
+
result: 'no-op',
|
|
172
|
+
sheet: flags.sheet,
|
|
173
|
+
path: willResult.path,
|
|
174
|
+
hash: willResult.hash ?? '',
|
|
175
|
+
});
|
|
106
176
|
}
|
|
107
|
-
|
|
177
|
+
const commitMessage = flags.message ?? `${flags.sheet} patch ${willResult.path}`;
|
|
108
178
|
try {
|
|
109
|
-
|
|
179
|
+
const result = await repo.transact({ message: commitMessage }, async (tx) => {
|
|
180
|
+
const txSheet = tx.sheet(flags.sheet, prefixOpts);
|
|
181
|
+
return txSheet.patch(query, partial);
|
|
182
|
+
});
|
|
183
|
+
return renderObject({
|
|
184
|
+
result: 'committed',
|
|
185
|
+
sheet: flags.sheet,
|
|
186
|
+
path: result.value.path,
|
|
187
|
+
hash: result.value.blob.hash,
|
|
188
|
+
commit: result.commitHash,
|
|
189
|
+
});
|
|
110
190
|
}
|
|
111
191
|
catch (error) {
|
|
112
192
|
throw translateError(error);
|
|
113
193
|
}
|
|
114
|
-
|
|
115
|
-
|
|
194
|
+
}
|
|
195
|
+
async function batchPatch(repo, sheet, flags, prefixOpts) {
|
|
196
|
+
const raw = flags.data ?? (await readStdin());
|
|
197
|
+
const { records } = parseRecordsInput(raw);
|
|
198
|
+
const config = await sheet.readConfig();
|
|
199
|
+
const template = Template.fromString(config.path);
|
|
200
|
+
const templateFields = new Set(template.getFieldNames());
|
|
201
|
+
// Pre-flight: split each record into (query, partial) and categorize —
|
|
202
|
+
// changed / unchanged / missing (query matched nothing) / invalid — before
|
|
203
|
+
// opening a transaction. We never throw mid-loop so --dry-run can report the
|
|
204
|
+
// full picture; the commit path aborts explicitly afterward.
|
|
205
|
+
const changes = [];
|
|
206
|
+
const inserts = [];
|
|
207
|
+
const batchPaths = new Set();
|
|
208
|
+
const invalid = [];
|
|
209
|
+
const missing = [];
|
|
210
|
+
let unchanged = 0;
|
|
211
|
+
for (let i = 0; i < records.length; i++) {
|
|
212
|
+
const record = records[i];
|
|
213
|
+
const query = {};
|
|
214
|
+
const partial = {};
|
|
215
|
+
for (const [k, v] of Object.entries(record)) {
|
|
216
|
+
if (templateFields.has(k))
|
|
217
|
+
query[k] = v;
|
|
218
|
+
else
|
|
219
|
+
partial[k] = v;
|
|
220
|
+
}
|
|
221
|
+
if (Object.keys(query).length === 0) {
|
|
222
|
+
invalid.push({
|
|
223
|
+
row: i + 1,
|
|
224
|
+
id: recordLabel(record),
|
|
225
|
+
reason: `has none of the path-template fields (${[...templateFields].join(', ')})`,
|
|
226
|
+
code: 'VALIDATION_ERROR',
|
|
227
|
+
});
|
|
228
|
+
continue;
|
|
229
|
+
}
|
|
230
|
+
let preview;
|
|
231
|
+
try {
|
|
232
|
+
preview = await previewPatch(sheet, query, partial);
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
const axi = translateError(error);
|
|
236
|
+
invalid.push({ row: i + 1, id: recordLabel(record), reason: axi.message, code: axi.code });
|
|
237
|
+
continue;
|
|
238
|
+
}
|
|
239
|
+
if (preview === 'not-found') {
|
|
240
|
+
if (flags.onMissing === 'skip') {
|
|
241
|
+
missing.push({ row: i + 1, id: recordLabel(record) });
|
|
242
|
+
}
|
|
243
|
+
else if (flags.onMissing === 'insert') {
|
|
244
|
+
inserts.push(record);
|
|
245
|
+
try {
|
|
246
|
+
batchPaths.add(template.render(record));
|
|
247
|
+
}
|
|
248
|
+
catch {
|
|
249
|
+
/* un-renderable insert surfaces at commit; ignore for path set */
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
missing.push({ row: i + 1, id: recordLabel(record) }); // abort mode: collected, thrown below
|
|
254
|
+
}
|
|
255
|
+
continue;
|
|
256
|
+
}
|
|
257
|
+
batchPaths.add(preview.path);
|
|
258
|
+
if (preview.changed)
|
|
259
|
+
changes.push({ query, partial });
|
|
260
|
+
else
|
|
261
|
+
unchanged++;
|
|
116
262
|
}
|
|
117
|
-
//
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
263
|
+
// --delete-missing: existing records not targeted by the batch.
|
|
264
|
+
const deletions = [];
|
|
265
|
+
if (flags.deleteMissing) {
|
|
266
|
+
const existing = await sheet.queryAll({}, { withBody: false });
|
|
267
|
+
for (const r of existing) {
|
|
268
|
+
const p = r[PATH_KEY];
|
|
269
|
+
if (typeof p === 'string' && !batchPaths.has(p))
|
|
270
|
+
deletions.push(p);
|
|
271
|
+
}
|
|
124
272
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
273
|
+
if (flags.dryRun) {
|
|
274
|
+
return renderDryRun(flags.sheet, {
|
|
275
|
+
willChange: changes.length,
|
|
276
|
+
insert: inserts.length,
|
|
277
|
+
noOp: unchanged,
|
|
278
|
+
missing: missing.length,
|
|
279
|
+
invalid: invalid.length,
|
|
280
|
+
...(flags.deleteMissing ? { willDelete: deletions.length } : {}),
|
|
281
|
+
}, invalid);
|
|
133
282
|
}
|
|
134
|
-
|
|
135
|
-
|
|
283
|
+
if (invalid.length > 0) {
|
|
284
|
+
const first = invalid[0];
|
|
285
|
+
throw new AxiError(`Record ${first.row} (${first.id}): ${first.reason}`, first.code, [
|
|
286
|
+
`${invalid.length} record(s) invalid — the whole batch was aborted, nothing committed. Run --dry-run to see all.`,
|
|
287
|
+
]);
|
|
136
288
|
}
|
|
137
|
-
if (
|
|
289
|
+
if (flags.onMissing === 'abort' && missing.length > 0) {
|
|
290
|
+
const first = missing[0];
|
|
291
|
+
throw new AxiError(`Record ${first.row} (${first.id}): no record matches its query`, 'NOT_FOUND', [
|
|
292
|
+
`${missing.length} record(s) matched nothing — batch aborted. Use --on-missing skip|insert, or --dry-run to see all.`,
|
|
293
|
+
]);
|
|
294
|
+
}
|
|
295
|
+
if (changes.length === 0 && inserts.length === 0 && deletions.length === 0) {
|
|
138
296
|
return renderObject({
|
|
139
297
|
result: 'no-op',
|
|
140
298
|
sheet: flags.sheet,
|
|
141
|
-
|
|
142
|
-
|
|
299
|
+
patched: 0,
|
|
300
|
+
unchanged: records.length - invalid.length - missing.length,
|
|
301
|
+
...(missing.length > 0 ? { skipped: missing.length } : {}),
|
|
143
302
|
});
|
|
144
303
|
}
|
|
145
|
-
const commitMessage = flags.message ?? `${flags.sheet} patch ${
|
|
304
|
+
const commitMessage = flags.message ?? `${flags.sheet} patch (${changes.length + inserts.length})`;
|
|
146
305
|
try {
|
|
147
306
|
const result = await repo.transact({ message: commitMessage }, async (tx) => {
|
|
148
|
-
const txSheet = tx.sheet(flags.sheet,
|
|
149
|
-
|
|
307
|
+
const txSheet = tx.sheet(flags.sheet, prefixOpts);
|
|
308
|
+
for (const { query, partial } of changes)
|
|
309
|
+
await txSheet.patch(query, partial);
|
|
310
|
+
for (const record of inserts)
|
|
311
|
+
await txSheet.upsert(record);
|
|
312
|
+
for (const path of deletions)
|
|
313
|
+
await txSheet.delete(path);
|
|
314
|
+
return changes.length;
|
|
150
315
|
});
|
|
151
|
-
return renderObject({
|
|
316
|
+
return joinBlocks(renderObject({
|
|
152
317
|
result: 'committed',
|
|
153
318
|
sheet: flags.sheet,
|
|
154
|
-
|
|
155
|
-
|
|
319
|
+
patched: changes.length,
|
|
320
|
+
...(inserts.length > 0 ? { inserted: inserts.length } : {}),
|
|
321
|
+
unchanged,
|
|
322
|
+
...(missing.length > 0 ? { skipped: missing.length } : {}),
|
|
323
|
+
...(flags.deleteMissing ? { deleted: deletions.length } : {}),
|
|
156
324
|
commit: result.commitHash,
|
|
157
|
-
});
|
|
325
|
+
}), renderHelp([MATERIALIZE_HINT]));
|
|
158
326
|
}
|
|
159
327
|
catch (error) {
|
|
160
328
|
throw translateError(error);
|
|
161
329
|
}
|
|
162
330
|
}
|
|
331
|
+
/**
|
|
332
|
+
* Resolve the record matched by `query`, apply the RFC 7396 merge, and run the
|
|
333
|
+
* result through willChange — the shared pre-flight for both single and bulk
|
|
334
|
+
* patch. Returns 'not-found' when the query matches no record.
|
|
335
|
+
*/
|
|
336
|
+
async function previewPatch(sheet, query, partial) {
|
|
337
|
+
const existing = await sheet.queryFirst(query);
|
|
338
|
+
if (!existing)
|
|
339
|
+
return 'not-found';
|
|
340
|
+
const merged = mergePatch(stripSymbols(existing), partial);
|
|
341
|
+
// Preserve the record's path annotation so willChange applies rename logic
|
|
342
|
+
// when a path-template field changed (matches Sheet.patch behavior).
|
|
343
|
+
const pathSym = existing[Symbol.for('gitsheets-path')];
|
|
344
|
+
if (typeof pathSym === 'string') {
|
|
345
|
+
merged[Symbol.for('gitsheets-path')] = pathSym;
|
|
346
|
+
}
|
|
347
|
+
// patch is body-preserving; allowMissingBody defers the upsert body guard
|
|
348
|
+
// since the merge already produced the canonical record.
|
|
349
|
+
const wc = await sheet.willChange(merged, { allowMissingBody: true });
|
|
350
|
+
return { changed: wc.changed, path: wc.path, hash: wc.currentBlobHash };
|
|
351
|
+
}
|
|
163
352
|
function stripSymbols(record) {
|
|
164
353
|
if (!record || typeof record !== 'object')
|
|
165
354
|
return record;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch.js","sourceRoot":"","sources":["../../../src/commands/patch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"patch.js","sourceRoot":"","sources":["../../../src/commands/patch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { GitsheetsContext } from '../context.js';
|
|
2
|
-
export declare const QUERY_HELP = "usage: gitsheets-axi query <sheet> [--filter
|
|
2
|
+
export declare const QUERY_HELP = "usage: gitsheets-axi query <sheet> [--filter expr ...] [--fields a,b] [--sort f [--desc]] [--limit n] [--group-by f] [--json-out[=path]] [--ndjson-out[=path]] [--csv-out[=path]]\nflags[9]:\n --filter <expr> Filter clause (repeatable): k=v \u00B7 k!=v \u00B7 k<v \u00B7 k>v \u00B7\n k<=v \u00B7 k>=v \u00B7 k~regex \u00B7 \"k in (a,b)\" \u00B7 k:present \u00B7 k:empty\n --fields <list> Extra columns beyond the default schema (comma-separated)\n --sort <field> Sort records by a field (missing values sort last)\n --desc Sort descending (with --sort)\n --limit <n> Cap the stdout preview (default: 100, max: 10000)\n --group-by <field> Faceted counts by a field instead of a record list\n --prefix <p> Tenant sub-tree scope\n --json-out[=path] Also write the FULL matched result to a JSON array file\n --ndjson-out[=path] Also write the FULL matched result to an NDJSON file\n --csv-out[=path] Also write the FULL matched result to a CSV file (flat)\nexamples:\n gitsheets-axi query repos --filter status=unclassified\n gitsheets-axi query repos --filter 'pushed_at<2022-01-01' --sort pushed_at\n gitsheets-axi query repos --group-by target_team\n gitsheets-axi query repos --filter 'target_team in (archive,sencha)' --ndjson-out\noutput:\n Default schema is format-aware (TOML: path fields + first scalars, cap 4;\n Markdown: path fields + title + body_size). --fields appends columns.\n --group-by emits {value,count} facets (biggest first) over the filtered set.\nexport (--json-out / --ndjson-out / --csv-out):\n stdout stays the TOON preview; the file carries EVERY matched record (ignores\n --limit). JSON/NDJSON verbatim (round-trip into upsert); CSV flat + lossy.\n";
|
|
3
3
|
export declare function queryCommand(args: string[], ctx: GitsheetsContext): Promise<string>;
|
|
4
4
|
//# sourceMappingURL=query.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/commands/query.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/commands/query.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAkBtD,eAAO,MAAM,UAAU,gvDAyBtB,CAAC;AAmHF,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,MAAM,CAAC,CAyEjB"}
|