@se-studio/contentful-cms 1.0.19 → 1.0.20

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 (81) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +0 -12
  3. package/dist/bin/cms-edit.js +66 -9
  4. package/dist/bin/cms-edit.js.map +1 -1
  5. package/dist/commands/asset.d.ts.map +1 -1
  6. package/dist/commands/asset.js +122 -16
  7. package/dist/commands/asset.js.map +1 -1
  8. package/dist/commands/diff.d.ts.map +1 -1
  9. package/dist/commands/diff.js +119 -26
  10. package/dist/commands/diff.js.map +1 -1
  11. package/dist/commands/discard.d.ts.map +1 -1
  12. package/dist/commands/discard.js +26 -0
  13. package/dist/commands/discard.js.map +1 -1
  14. package/dist/commands/entry-search.d.ts.map +1 -1
  15. package/dist/commands/entry-search.js +10 -1
  16. package/dist/commands/entry-search.js.map +1 -1
  17. package/dist/commands/health.d.ts +4 -0
  18. package/dist/commands/health.d.ts.map +1 -0
  19. package/dist/commands/health.js +167 -0
  20. package/dist/commands/health.js.map +1 -0
  21. package/dist/commands/list.d.ts.map +1 -1
  22. package/dist/commands/list.js +7 -0
  23. package/dist/commands/list.js.map +1 -1
  24. package/dist/commands/peek.d.ts +4 -0
  25. package/dist/commands/peek.d.ts.map +1 -0
  26. package/dist/commands/peek.js +94 -0
  27. package/dist/commands/peek.js.map +1 -0
  28. package/dist/commands/revert.d.ts +4 -0
  29. package/dist/commands/revert.d.ts.map +1 -0
  30. package/dist/commands/revert.js +142 -0
  31. package/dist/commands/revert.js.map +1 -0
  32. package/dist/commands/rtf.d.ts +1 -0
  33. package/dist/commands/rtf.d.ts.map +1 -1
  34. package/dist/commands/rtf.js +308 -14
  35. package/dist/commands/rtf.js.map +1 -1
  36. package/dist/commands/run.d.ts +4 -0
  37. package/dist/commands/run.d.ts.map +1 -0
  38. package/dist/commands/run.js +296 -0
  39. package/dist/commands/run.js.map +1 -0
  40. package/dist/commands/schema.d.ts +4 -0
  41. package/dist/commands/schema.d.ts.map +1 -0
  42. package/dist/commands/schema.js +119 -0
  43. package/dist/commands/schema.js.map +1 -0
  44. package/dist/commands/screenshot.d.ts.map +1 -1
  45. package/dist/commands/screenshot.js +8 -0
  46. package/dist/commands/screenshot.js.map +1 -1
  47. package/dist/commands/sitemap.d.ts +4 -0
  48. package/dist/commands/sitemap.d.ts.map +1 -0
  49. package/dist/commands/sitemap.js +134 -0
  50. package/dist/commands/sitemap.js.map +1 -0
  51. package/dist/contentful/assets.d.ts +14 -1
  52. package/dist/contentful/assets.d.ts.map +1 -1
  53. package/dist/contentful/assets.js +24 -2
  54. package/dist/contentful/assets.js.map +1 -1
  55. package/dist/rtf/replacePlainText.d.ts +52 -9
  56. package/dist/rtf/replacePlainText.d.ts.map +1 -1
  57. package/dist/rtf/replacePlainText.js +169 -63
  58. package/dist/rtf/replacePlainText.js.map +1 -1
  59. package/dist/session/store.d.ts +10 -4
  60. package/dist/session/store.d.ts.map +1 -1
  61. package/dist/session/store.js +46 -11
  62. package/dist/session/store.js.map +1 -1
  63. package/dist/telemetry/index.d.ts +10 -0
  64. package/dist/telemetry/index.d.ts.map +1 -0
  65. package/dist/telemetry/index.js +11 -0
  66. package/dist/telemetry/index.js.map +1 -0
  67. package/dist/telemetry/local.d.ts +9 -0
  68. package/dist/telemetry/local.d.ts.map +1 -0
  69. package/dist/telemetry/local.js +21 -0
  70. package/dist/telemetry/local.js.map +1 -0
  71. package/dist/telemetry/types.d.ts +29 -0
  72. package/dist/telemetry/types.d.ts.map +1 -0
  73. package/dist/telemetry/types.js +2 -0
  74. package/dist/telemetry/types.js.map +1 -0
  75. package/package.json +2 -2
  76. package/skills/core/SKILL.md +82 -0
  77. package/skills/rich-text/SKILL.md +63 -0
  78. package/dist/commands/export-converted.d.ts +0 -8
  79. package/dist/commands/export-converted.d.ts.map +0 -1
  80. package/dist/commands/export-converted.js +0 -62
  81. package/dist/commands/export-converted.js.map +0 -1
@@ -1,14 +1,19 @@
1
+ /** biome-ignore-all lint/suspicious/noConsole: Console output is intentional in CLI */
1
2
  import * as fs from 'node:fs';
2
3
  import { BLOCKS } from '@contentful/rich-text-types';
4
+ import pc from 'picocolors';
5
+ import { isJsonMode } from '../output/mode.js';
3
6
  import { errorMsg, successMsg, warnMsg } from '../output/print.js';
4
7
  import { markdownToRtf } from '../rtf/fromMarkdown.js';
5
- import { replaceRtfPlainText } from '../rtf/replacePlainText.js';
8
+ import { extractBlockPlainText, getHeadingLevel, isHeadingBlock, RichTextReplaceError, replaceRtfPlainText, } from '../rtf/replacePlainText.js';
9
+ import { rtfToMarkdown } from '../rtf/toMarkdown.js';
10
+ import { isRtfDocument } from '../rtf/utils.js';
6
11
  import { resolveRef } from '../session/refs.js';
7
12
  import { requireSession, saveSession } from '../session/store.js';
8
13
  const RTF_DESCRIPTION = 'Set a rich text field from Markdown input.\n' +
9
14
  'Use --file <path> to read from a file, or pass "-" to read from stdin.\n' +
10
15
  'Supports: # headings, **bold**, _italic_, [links](url), - lists, 1. lists, > blockquotes.\n' +
11
- 'Subcommands: embed — embedded blocks; replace — surgical find/replace inside rich text.';
16
+ 'Subcommands: embed — embedded blocks; replace — surgical find/replace; patch JSON batch replace; edit — replace via stdin; headings — list heading blocks.';
12
17
  export function registerRtfCommand(program) {
13
18
  const rtfCmd = program
14
19
  .command('rtf [ref] [field] [markdown]')
@@ -43,21 +48,27 @@ export function registerRtfCommand(program) {
43
48
  rtfCmd
44
49
  .command('replace <ref> <field>')
45
50
  .description('Replace plain-text occurrences inside a rich text field.\n' +
46
- 'Use --replace-plain for quidget tokens `{*...*}` so asterisks are not parsed as Markdown.\n' +
47
- 'Use --find-plain when the search string itself contains asterisks (e.g. to find an existing quidget).\n' +
51
+ 'Use --replace-plain for literal text containing * so asterisks are not parsed as Markdown.\n' +
52
+ 'Use --find-plain when the search string itself contains asterisks.\n' +
48
53
  'Use --ignore-marks to match across adjacent bold/plain splits (e.g. **Annual fee: **$95).\n' +
49
54
  'Use --section "Heading" to scope replacements to blocks under a specific heading.\n' +
50
55
  'Use --section-nth N (with --section) when multiple headings share the same text — selects the Nth (1-indexed).\n' +
51
- 'Existing `{*...*}` quidget spans are always protected — matches inside them are skipped.')
56
+ "Use --protect-pattern <regex> to skip matches inside existing tokens (e.g. --protect-pattern '\\{\\*[^{}]*\\*\\}').\n" +
57
+ 'Use --dry-run to preview match count and positions without writing changes.')
52
58
  .option('--find <text>', 'Substring to find (literal; asterisks are NOT parsed as Markdown)')
53
- .option('--find-plain <text>', 'Alias for --find; use when the search string contains * (e.g. to find quidget tokens)')
59
+ .option('--find-plain <text>', 'Alias for --find; use when the search string contains * characters')
54
60
  .option('--replace <markdown>', 'Replacement as inline Markdown (**bold**, [links](url), …)')
55
- .option('--replace-plain <text>', 'Replacement as literal text (no Markdown; required for quidget strings containing *)')
61
+ .option('--replace-plain <text>', 'Replacement as literal text (no Markdown); use for strings containing *')
56
62
  .option('--mode <mode>', 'all = replace every match; exactlyOne = require a single match (default: all)', 'all')
57
63
  .option('--ignore-marks', 'Match across adjacent bold/plain text node splits within the same block')
58
64
  .option('--in-table-col <n>', 'Restrict replacements to table column N (1-indexed); non-table content is unaffected', (v) => Number.parseInt(v, 10))
59
- .option('--section <heading>', 'Scope replacements to blocks under the named heading (exact plain-text match)')
65
+ .option('--in-table-row <n>', 'Restrict replacements to table row N (1-indexed; row 1 = header row); non-table content is unaffected', (v) => Number.parseInt(v, 10))
66
+ .option('--in-row-containing <text>', 'Restrict replacements to table rows where any cell contains this literal text')
67
+ .option('--in-col-containing <text>', 'Restrict replacements to the table column whose header cell (row 1) contains this literal text')
68
+ .option('--section <heading>', 'Scope replacements to blocks under the named heading (leading/trailing whitespace ignored)')
60
69
  .option('--section-nth <n>', 'When multiple headings share the same text, use the Nth occurrence (1-indexed, default 1); requires --section', (v) => Number.parseInt(v, 10))
70
+ .option('--protect-pattern <regex>', 'Regex string; matches strictly inside a protected span are skipped (the span itself can still be found)')
71
+ .option('--dry-run', 'Preview match count and positions without writing changes')
61
72
  .action(async (ref, field, opts) => {
62
73
  try {
63
74
  // Resolve --find / --find-plain (exactly one required)
@@ -74,10 +85,6 @@ export function registerRtfCommand(program) {
74
85
  const findStr = (hasFind ? opts.find : opts.findPlain) ?? '';
75
86
  const hasMd = opts.replace !== undefined && opts.replace !== '';
76
87
  const hasPlain = opts.replacePlain !== undefined && opts.replacePlain !== '';
77
- if (hasMd === hasPlain) {
78
- errorMsg('Provide exactly one of --replace or --replace-plain.');
79
- process.exit(1);
80
- }
81
88
  if (opts.mode !== 'all' && opts.mode !== 'exactlyOne') {
82
89
  errorMsg('--mode must be "all" or "exactlyOne".');
83
90
  process.exit(1);
@@ -116,18 +123,52 @@ export function registerRtfCommand(program) {
116
123
  errorMsg(`Field "${field}" is not rich text on ${ref}.`);
117
124
  process.exit(1);
118
125
  }
126
+ // In dry-run mode, --replace / --replace-plain can be omitted
127
+ const isDryRun = !!opts.dryRun;
128
+ if (!isDryRun && hasMd === hasPlain) {
129
+ errorMsg('Provide exactly one of --replace or --replace-plain.');
130
+ process.exit(1);
131
+ }
132
+ if (opts.inTableRow !== undefined &&
133
+ (Number.isNaN(opts.inTableRow) || opts.inTableRow < 1)) {
134
+ errorMsg('--in-table-row must be a positive integer.');
135
+ process.exit(1);
136
+ }
119
137
  const replaceOptions = {
120
138
  find: findStr,
121
139
  mode: modeNorm,
122
140
  ...(hasPlain
123
141
  ? { replacePlain: opts.replacePlain ?? '' }
124
- : { replaceMarkdown: opts.replace ?? '' }),
142
+ : hasMd
143
+ ? { replaceMarkdown: opts.replace ?? '' }
144
+ : { replacePlain: '' }), // dry-run placeholder
125
145
  ...(opts.ignoreMarks ? { ignoreMarks: true } : {}),
126
146
  ...(opts.inTableCol !== undefined ? { tableCol: opts.inTableCol } : {}),
147
+ ...(opts.inTableRow !== undefined ? { tableRow: opts.inTableRow } : {}),
148
+ ...(opts.inRowContaining !== undefined
149
+ ? { inRowContaining: opts.inRowContaining }
150
+ : {}),
151
+ ...(opts.inColContaining !== undefined
152
+ ? { inColContaining: opts.inColContaining }
153
+ : {}),
127
154
  ...(opts.section !== undefined ? { section: opts.section } : {}),
128
155
  ...(opts.sectionNth !== undefined ? { sectionNth: opts.sectionNth } : {}),
156
+ ...(opts.protectPattern !== undefined ? { protectPattern: opts.protectPattern } : {}),
157
+ ...(isDryRun ? { dryRun: true } : {}),
129
158
  };
130
- const { document: next, matchCount } = replaceRtfPlainText(raw, replaceOptions);
159
+ const { document: next, matchCount, matchPositions, } = replaceRtfPlainText(raw, replaceOptions);
160
+ if (isDryRun) {
161
+ if (matchCount === 0) {
162
+ warnMsg(`Dry run: no matches for --find in "${field}" on ${ref}.`);
163
+ }
164
+ else {
165
+ successMsg(`Dry run: ${String(matchCount)} match(es) in "${field}" on ${ref}.` +
166
+ (matchPositions.length > 0
167
+ ? `\nMatch positions (block index): [${matchPositions.join(', ')}]`
168
+ : ''));
169
+ }
170
+ return;
171
+ }
131
172
  if (matchCount === 0) {
132
173
  warnMsg(`No occurrence of --find in "${field}" on ${ref}; session unchanged for this field.`);
133
174
  return;
@@ -216,6 +257,248 @@ export function registerRtfCommand(program) {
216
257
  process.exit(1);
217
258
  }
218
259
  });
260
+ rtfCmd
261
+ .command('headings <ref> <field>')
262
+ .description('List all top-level heading blocks in a rich text field with their level and block index.\n' +
263
+ 'Useful for discovering valid --section values before running rtf replace.')
264
+ .action(async (ref, field) => {
265
+ try {
266
+ const session = requireSession();
267
+ const entry = resolveRef(session, ref);
268
+ const locale = session.defaultLocale;
269
+ const fieldData = entry.fields[field];
270
+ if (!fieldData || typeof fieldData !== 'object') {
271
+ errorMsg(`Field "${field}" is missing on ${ref}.`);
272
+ process.exit(1);
273
+ }
274
+ const raw = fieldData[locale] ?? fieldData['en-US'];
275
+ if (!isRtfDocument(raw)) {
276
+ errorMsg(`Field "${field}" is not a rich text document on ${ref}.`);
277
+ process.exit(1);
278
+ }
279
+ const blocks = raw.content;
280
+ let found = false;
281
+ for (let i = 0; i < blocks.length; i++) {
282
+ const block = blocks[i];
283
+ if (!block || typeof block !== 'object')
284
+ continue;
285
+ const b = block;
286
+ const fakeBlock = b;
287
+ if (!isHeadingBlock(fakeBlock))
288
+ continue;
289
+ const level = getHeadingLevel(fakeBlock);
290
+ const text = extractBlockPlainText(fakeBlock).trim();
291
+ console.log(`H${String(level)} [${String(i)}] ${text}`);
292
+ found = true;
293
+ }
294
+ if (!found) {
295
+ console.log(pc.dim(`No headings found in "${field}" on ${ref}.`));
296
+ }
297
+ }
298
+ catch (err) {
299
+ errorMsg(err instanceof Error ? err.message : String(err));
300
+ process.exit(1);
301
+ }
302
+ });
303
+ rtfCmd
304
+ .command('patch <ref> <field>')
305
+ .description('Apply a JSON array of find/replace operations to a rich text field in sequence.\n' +
306
+ 'Pass --file <path> to read from a file; omit to read JSON from stdin.\n' +
307
+ 'Each op: { "find": "...", "replaceWith": "...", "replaceIsMarkdown": true, "mode": "all"|"exactlyOne", ... }\n' +
308
+ '"replaceWith" is treated as plain text unless "replaceIsMarkdown" is true.\n' +
309
+ 'Supported op fields: find, replaceWith, replaceIsMarkdown, mode, ignoreMarks, inTableCol, inTableRow,\n' +
310
+ ' inRowContaining, inColContaining, section, sectionNth, protectPattern.\n' +
311
+ 'All ops are applied in order; if any fails, no changes are saved.')
312
+ .option('--file <path>', 'Read JSON patch ops from a file (omit to read from stdin)')
313
+ .option('--dry-run', 'Count matches for each op without writing changes')
314
+ .action(async (ref, field, opts) => {
315
+ try {
316
+ const jsonStr = await resolveRawInput(opts.file);
317
+ let parsedJson;
318
+ try {
319
+ parsedJson = JSON.parse(jsonStr);
320
+ }
321
+ catch {
322
+ errorMsg('Invalid JSON in patch input.');
323
+ process.exit(1);
324
+ }
325
+ if (!Array.isArray(parsedJson)) {
326
+ errorMsg('Patch input must be a JSON array of operations.');
327
+ process.exit(1);
328
+ }
329
+ const session = requireSession();
330
+ const entry = resolveRef(session, ref);
331
+ const locale = session.defaultLocale;
332
+ const fieldData = entry.fields[field];
333
+ if (!fieldData || typeof fieldData !== 'object') {
334
+ errorMsg(`Field "${field}" is missing on ${ref}.`);
335
+ process.exit(1);
336
+ }
337
+ const raw = fieldData[locale] ?? fieldData['en-US'];
338
+ if (raw === undefined || raw === null) {
339
+ errorMsg(`Field "${field}" has no value for locale on ${ref}.`);
340
+ process.exit(1);
341
+ }
342
+ if (typeof raw !== 'object' ||
343
+ raw === null ||
344
+ raw.nodeType !== BLOCKS.DOCUMENT) {
345
+ errorMsg(`Field "${field}" is not rich text on ${ref}.`);
346
+ process.exit(1);
347
+ }
348
+ // Parse and validate op schemas
349
+ const parsedOps = [];
350
+ for (let i = 0; i < parsedJson.length; i++) {
351
+ const op = parsedJson[i];
352
+ if (!op || typeof op !== 'object' || Array.isArray(op)) {
353
+ errorMsg(`Op ${String(i)}: must be an object.`);
354
+ process.exit(1);
355
+ }
356
+ const o = op;
357
+ if (typeof o['find'] !== 'string' || o['find'] === '') {
358
+ errorMsg(`Op ${String(i)}: "find" must be a non-empty string.`);
359
+ process.exit(1);
360
+ }
361
+ const replaceWith = typeof o['replaceWith'] === 'string' ? o['replaceWith'] : '';
362
+ const replaceIsMarkdown = !!o['replaceIsMarkdown'];
363
+ const mode = typeof o['mode'] === 'string' ? o['mode'] : 'all';
364
+ if (mode !== 'all' && mode !== 'exactlyOne') {
365
+ errorMsg(`Op ${String(i)}: "mode" must be "all" or "exactlyOne".`);
366
+ process.exit(1);
367
+ }
368
+ const opOptions = {
369
+ find: o['find'],
370
+ mode: mode,
371
+ ...(replaceIsMarkdown
372
+ ? { replaceMarkdown: replaceWith }
373
+ : { replacePlain: replaceWith }),
374
+ ...(o['ignoreMarks'] ? { ignoreMarks: true } : {}),
375
+ ...(typeof o['inTableCol'] === 'number' ? { tableCol: o['inTableCol'] } : {}),
376
+ ...(typeof o['inTableRow'] === 'number' ? { tableRow: o['inTableRow'] } : {}),
377
+ ...(typeof o['inRowContaining'] === 'string'
378
+ ? { inRowContaining: o['inRowContaining'] }
379
+ : {}),
380
+ ...(typeof o['inColContaining'] === 'string'
381
+ ? { inColContaining: o['inColContaining'] }
382
+ : {}),
383
+ ...(typeof o['section'] === 'string' ? { section: o['section'] } : {}),
384
+ ...(typeof o['sectionNth'] === 'number'
385
+ ? { sectionNth: o['sectionNth'] }
386
+ : {}),
387
+ ...(typeof o['protectPattern'] === 'string'
388
+ ? { protectPattern: o['protectPattern'] }
389
+ : {}),
390
+ };
391
+ parsedOps.push({ options: opOptions, findLabel: o['find'] });
392
+ }
393
+ const isDryRun = !!opts.dryRun;
394
+ // Execute all ops in sequence; if any throws (e.g. exactlyOne violation) we abort
395
+ // without saving — the session is only mutated after all ops succeed.
396
+ let doc = raw;
397
+ const results = [];
398
+ for (let i = 0; i < parsedOps.length; i++) {
399
+ const parsedOp = parsedOps[i];
400
+ if (!parsedOp)
401
+ continue;
402
+ const { options, findLabel } = parsedOp;
403
+ try {
404
+ const opOptions = isDryRun ? { ...options, dryRun: true } : options;
405
+ const { document: next, matchCount } = replaceRtfPlainText(doc, opOptions);
406
+ results.push({ find: findLabel, matchCount });
407
+ if (!isDryRun)
408
+ doc = next;
409
+ }
410
+ catch (err) {
411
+ const msg = err instanceof RichTextReplaceError ? err.message : String(err);
412
+ errorMsg(`Op ${String(i)} ("${findLabel}"): ${msg}`);
413
+ process.exit(1);
414
+ }
415
+ }
416
+ if (isDryRun) {
417
+ if (isJsonMode()) {
418
+ console.log(JSON.stringify({ ok: true, dryRun: true, ops: results }));
419
+ }
420
+ else {
421
+ successMsg(`Dry run: ${String(results.length)} op(s) validated.`);
422
+ for (const r of results) {
423
+ console.log(` find "${r.find}": ${String(r.matchCount)} match(es)`);
424
+ }
425
+ }
426
+ return;
427
+ }
428
+ entry.fields[field][locale] = doc;
429
+ if (!session.modifiedEntryIds.includes(entry.sys.id)) {
430
+ session.modifiedEntryIds.push(entry.sys.id);
431
+ }
432
+ saveSession(session);
433
+ if (isJsonMode()) {
434
+ console.log(JSON.stringify({ ok: true, ops: results }));
435
+ }
436
+ else {
437
+ successMsg(`Applied ${String(results.length)} patch op(s) to "${field}" on ${ref}.`);
438
+ for (const r of results) {
439
+ console.log(` find "${r.find}": replaced ${String(r.matchCount)} occurrence(s)`);
440
+ }
441
+ }
442
+ }
443
+ catch (err) {
444
+ errorMsg(err instanceof Error ? err.message : String(err));
445
+ process.exit(1);
446
+ }
447
+ });
448
+ rtfCmd
449
+ .command('edit <ref> <field>')
450
+ .description('Replace a rich text field by reading replacement Markdown from stdin.\n' +
451
+ 'In human mode, the current field content is printed to stdout as Markdown first.\n' +
452
+ 'Example: echo "# New heading\\n\\nBody text." | cms-edit rtf edit @c1 body')
453
+ .action(async (ref, field) => {
454
+ try {
455
+ const session = requireSession();
456
+ const entry = resolveRef(session, ref);
457
+ const locale = session.defaultLocale;
458
+ const fieldData = entry.fields[field];
459
+ if (!fieldData || typeof fieldData !== 'object') {
460
+ errorMsg(`Field "${field}" is missing on ${ref}.`);
461
+ process.exit(1);
462
+ }
463
+ const raw = fieldData[locale] ?? fieldData['en-US'];
464
+ if (raw === undefined || raw === null) {
465
+ errorMsg(`Field "${field}" has no value for locale on ${ref}.`);
466
+ process.exit(1);
467
+ }
468
+ if (typeof raw !== 'object' ||
469
+ raw === null ||
470
+ raw.nodeType !== BLOCKS.DOCUMENT) {
471
+ errorMsg(`Field "${field}" is not rich text on ${ref}.`);
472
+ process.exit(1);
473
+ }
474
+ // In human mode, print current content as Markdown so the caller can diff
475
+ if (!isJsonMode()) {
476
+ const currentMarkdown = rtfToMarkdown(raw);
477
+ process.stdout.write(currentMarkdown);
478
+ if (!currentMarkdown.endsWith('\n')) {
479
+ process.stdout.write('\n');
480
+ }
481
+ }
482
+ // Read replacement Markdown from stdin
483
+ const newMarkdown = await resolveMarkdownInput('-', undefined);
484
+ const newDocument = markdownToRtf(newMarkdown);
485
+ entry.fields[field][locale] = newDocument;
486
+ if (!session.modifiedEntryIds.includes(entry.sys.id)) {
487
+ session.modifiedEntryIds.push(entry.sys.id);
488
+ }
489
+ saveSession(session);
490
+ if (isJsonMode()) {
491
+ console.log(JSON.stringify({ ok: true, ref, field }));
492
+ }
493
+ else {
494
+ successMsg(`Updated rich text field "${field}" on ${ref}.`);
495
+ }
496
+ }
497
+ catch (err) {
498
+ errorMsg(err instanceof Error ? err.message : String(err));
499
+ process.exit(1);
500
+ }
501
+ });
219
502
  }
220
503
  async function resolveMarkdownInput(markdownArg, filePath) {
221
504
  if (filePath) {
@@ -233,4 +516,15 @@ async function resolveMarkdownInput(markdownArg, filePath) {
233
516
  }
234
517
  throw new Error('Provide markdown as argument, or use --file <path>, or "-" for stdin.');
235
518
  }
519
+ /** Read raw text from a file path or from stdin if path is omitted or is "-". */
520
+ async function resolveRawInput(filePath) {
521
+ if (filePath && filePath !== '-') {
522
+ return fs.readFileSync(filePath, 'utf-8');
523
+ }
524
+ const chunks = [];
525
+ for await (const chunk of process.stdin) {
526
+ chunks.push(typeof chunk === 'string' ? Buffer.from(chunk, 'utf-8') : chunk);
527
+ }
528
+ return Buffer.concat(chunks).toString('utf-8');
529
+ }
236
530
  //# sourceMappingURL=rtf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rtf.js","sourceRoot":"","sources":["../../src/commands/rtf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rtf.js","sourceRoot":"","sources":["../../src/commands/rtf.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /** biome-ignore-all lint/suspicious/noConsole: Console output is intentional in CLI */
2
+ import type { Command } from 'commander';
3
+ export declare function registerRunCommand(program: Command): void;
4
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAIvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4BzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0IzD"}