@se-studio/contentful-cms 1.0.19 → 1.0.21

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 (106) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +3 -13
  3. package/dist/bin/cms-edit.js +66 -9
  4. package/dist/bin/cms-edit.js.map +1 -1
  5. package/dist/commands/add.d.ts.map +1 -1
  6. package/dist/commands/add.js +8 -5
  7. package/dist/commands/add.js.map +1 -1
  8. package/dist/commands/asset.d.ts.map +1 -1
  9. package/dist/commands/asset.js +122 -16
  10. package/dist/commands/asset.js.map +1 -1
  11. package/dist/commands/backup.js.map +1 -1
  12. package/dist/commands/diff.d.ts.map +1 -1
  13. package/dist/commands/diff.js +119 -26
  14. package/dist/commands/diff.js.map +1 -1
  15. package/dist/commands/discard.d.ts.map +1 -1
  16. package/dist/commands/discard.js +26 -0
  17. package/dist/commands/discard.js.map +1 -1
  18. package/dist/commands/entry-search.d.ts.map +1 -1
  19. package/dist/commands/entry-search.js +10 -1
  20. package/dist/commands/entry-search.js.map +1 -1
  21. package/dist/commands/health.d.ts +4 -0
  22. package/dist/commands/health.d.ts.map +1 -0
  23. package/dist/commands/health.js +167 -0
  24. package/dist/commands/health.js.map +1 -0
  25. package/dist/commands/list.d.ts.map +1 -1
  26. package/dist/commands/list.js +7 -0
  27. package/dist/commands/list.js.map +1 -1
  28. package/dist/commands/nav.js.map +1 -1
  29. package/dist/commands/open.d.ts.map +1 -1
  30. package/dist/commands/open.js +3 -11
  31. package/dist/commands/open.js.map +1 -1
  32. package/dist/commands/peek.d.ts +4 -0
  33. package/dist/commands/peek.d.ts.map +1 -0
  34. package/dist/commands/peek.js +86 -0
  35. package/dist/commands/peek.js.map +1 -0
  36. package/dist/commands/restore.js +2 -2
  37. package/dist/commands/restore.js.map +1 -1
  38. package/dist/commands/revert.d.ts +4 -0
  39. package/dist/commands/revert.d.ts.map +1 -0
  40. package/dist/commands/revert.js +142 -0
  41. package/dist/commands/revert.js.map +1 -0
  42. package/dist/commands/rtf.d.ts +1 -0
  43. package/dist/commands/rtf.d.ts.map +1 -1
  44. package/dist/commands/rtf.js +308 -14
  45. package/dist/commands/rtf.js.map +1 -1
  46. package/dist/commands/run.d.ts +4 -0
  47. package/dist/commands/run.d.ts.map +1 -0
  48. package/dist/commands/run.js +290 -0
  49. package/dist/commands/run.js.map +1 -0
  50. package/dist/commands/schema.d.ts +4 -0
  51. package/dist/commands/schema.d.ts.map +1 -0
  52. package/dist/commands/schema.js +119 -0
  53. package/dist/commands/schema.js.map +1 -0
  54. package/dist/commands/screenshot.d.ts.map +1 -1
  55. package/dist/commands/screenshot.js +8 -0
  56. package/dist/commands/screenshot.js.map +1 -1
  57. package/dist/commands/sitemap.d.ts +4 -0
  58. package/dist/commands/sitemap.d.ts.map +1 -0
  59. package/dist/commands/sitemap.js +134 -0
  60. package/dist/commands/sitemap.js.map +1 -0
  61. package/dist/contentful/assets.d.ts +14 -1
  62. package/dist/contentful/assets.d.ts.map +1 -1
  63. package/dist/contentful/assets.js +24 -2
  64. package/dist/contentful/assets.js.map +1 -1
  65. package/dist/contentful/client.d.ts +16 -12
  66. package/dist/contentful/client.d.ts.map +1 -1
  67. package/dist/contentful/client.js +12 -21
  68. package/dist/contentful/client.js.map +1 -1
  69. package/dist/contentful/fetch.d.ts +5 -6
  70. package/dist/contentful/fetch.d.ts.map +1 -1
  71. package/dist/contentful/fetch.js +8 -5
  72. package/dist/contentful/fetch.js.map +1 -1
  73. package/dist/contentful/write.d.ts.map +1 -1
  74. package/dist/contentful/write.js +2 -3
  75. package/dist/contentful/write.js.map +1 -1
  76. package/dist/rtf/replacePlainText.d.ts +52 -9
  77. package/dist/rtf/replacePlainText.d.ts.map +1 -1
  78. package/dist/rtf/replacePlainText.js +169 -63
  79. package/dist/rtf/replacePlainText.js.map +1 -1
  80. package/dist/session/state.d.ts +7 -1
  81. package/dist/session/state.d.ts.map +1 -1
  82. package/dist/session/state.js +21 -0
  83. package/dist/session/state.js.map +1 -1
  84. package/dist/session/store.d.ts +10 -4
  85. package/dist/session/store.d.ts.map +1 -1
  86. package/dist/session/store.js +46 -11
  87. package/dist/session/store.js.map +1 -1
  88. package/dist/telemetry/index.d.ts +10 -0
  89. package/dist/telemetry/index.d.ts.map +1 -0
  90. package/dist/telemetry/index.js +11 -0
  91. package/dist/telemetry/index.js.map +1 -0
  92. package/dist/telemetry/local.d.ts +9 -0
  93. package/dist/telemetry/local.d.ts.map +1 -0
  94. package/dist/telemetry/local.js +21 -0
  95. package/dist/telemetry/local.js.map +1 -0
  96. package/dist/telemetry/types.d.ts +29 -0
  97. package/dist/telemetry/types.d.ts.map +1 -0
  98. package/dist/telemetry/types.js +2 -0
  99. package/dist/telemetry/types.js.map +1 -0
  100. package/package.json +4 -4
  101. package/skills/core/SKILL.md +84 -0
  102. package/skills/rich-text/SKILL.md +63 -0
  103. package/dist/commands/export-converted.d.ts +0 -8
  104. package/dist/commands/export-converted.d.ts.map +0 -1
  105. package/dist/commands/export-converted.js +0 -62
  106. package/dist/commands/export-converted.js.map +0 -1
@@ -0,0 +1,290 @@
1
+ /** biome-ignore-all lint/suspicious/noConsole: Console output is intentional in CLI */
2
+ import * as fs from 'node:fs';
3
+ import { BLOCKS } from '@contentful/rich-text-types';
4
+ import { loadConfig, resolveSpaceConfig } from '../config/load.js';
5
+ import { createSafeEnvironment } from '../contentful/client.js';
6
+ import { fetchEntryTree, findEntryBySlug, serializeEntry } from '../contentful/fetch.js';
7
+ import { applySessionPatches } from '../contentful/write.js';
8
+ import { isJsonMode } from '../output/mode.js';
9
+ import { errorMsg, infoMsg, successMsg } from '../output/print.js';
10
+ import { markdownToRtf } from '../rtf/fromMarkdown.js';
11
+ import { replaceRtfPlainText } from '../rtf/replacePlainText.js';
12
+ import { buildTree, resolveRef } from '../session/refs.js';
13
+ import { mapContentTypeIdToRootEntryType } from '../session/state.js';
14
+ import { loadSession, saveSession } from '../session/store.js';
15
+ export function registerRunCommand(program) {
16
+ program
17
+ .command('run')
18
+ .description('Execute a JSON batch of cms-edit operations from a file or stdin.\n' +
19
+ 'Operations run in sequence; errors stop execution unless "onError": "continue" is set on a step.\n' +
20
+ 'Supported cmds: open, set, rtf, rtf-replace, save.\n' +
21
+ 'Example file: [{"cmd":"open","args":["/pricing"]},{"cmd":"set","args":["@c0","heading","New"]},{"cmd":"save"}]\n' +
22
+ 'Pass --file <path> to read from a file, or omit to read from stdin.')
23
+ .option('--file <path>', 'Read batch JSON from a file (omit to read from stdin)')
24
+ .option('--dry-run', 'Validate and run all ops but skip the final save to Contentful')
25
+ .action(async (opts, cmd) => {
26
+ const parentOpts = cmd.parent?.opts() ?? {};
27
+ try {
28
+ const jsonStr = await readInput(opts.file);
29
+ let parsed;
30
+ try {
31
+ parsed = JSON.parse(jsonStr);
32
+ }
33
+ catch {
34
+ errorMsg('Invalid JSON in batch input.');
35
+ process.exit(1);
36
+ }
37
+ if (!Array.isArray(parsed)) {
38
+ errorMsg('Batch input must be a JSON array of operations.');
39
+ process.exit(1);
40
+ }
41
+ const ops = parsed;
42
+ const isDryRun = !!opts.dryRun;
43
+ // Validate all ops up front before executing
44
+ for (let i = 0; i < ops.length; i++) {
45
+ const op = ops[i];
46
+ if (!op || typeof op.cmd !== 'string') {
47
+ errorMsg(`Op ${String(i)}: missing "cmd" field.`);
48
+ process.exit(1);
49
+ }
50
+ if (!SUPPORTED_CMDS.includes(op.cmd)) {
51
+ errorMsg(`Op ${String(i)}: unknown cmd "${op.cmd}". Supported: ${SUPPORTED_CMDS.join(', ')}.`);
52
+ process.exit(1);
53
+ }
54
+ }
55
+ // Determine if we need a config/env (required for open and save ops)
56
+ const needsNetwork = ops.some((op) => op.cmd === 'open' || op.cmd === 'save');
57
+ let env;
58
+ let spaceKey;
59
+ let resolvedSpace;
60
+ if (needsNetwork) {
61
+ const config = loadConfig(parentOpts.config);
62
+ const resolved = resolveSpaceConfig(config, parentOpts.space);
63
+ spaceKey = resolved.key;
64
+ resolvedSpace = resolved.space;
65
+ env = await createSafeEnvironment(resolved.space);
66
+ }
67
+ // Start with any existing session (open op will replace it)
68
+ let session = loadSession();
69
+ const results = [];
70
+ let stopped = false;
71
+ for (let i = 0; i < ops.length; i++) {
72
+ const op = ops[i];
73
+ if (!op)
74
+ continue;
75
+ const stepResult = { step: i, cmd: op.cmd, ok: false };
76
+ infoMsg(`Step ${String(i)}: ${op.cmd}${op.args ? ` ${op.args.join(' ')}` : ''}`);
77
+ try {
78
+ const { message, updatedSession } = await executeOp(op, session, env, isDryRun, spaceKey, resolvedSpace);
79
+ // Use the returned session directly so dry-run works without disk I/O
80
+ if (updatedSession !== undefined)
81
+ session = updatedSession;
82
+ stepResult.ok = true;
83
+ stepResult.message = message;
84
+ }
85
+ catch (err) {
86
+ stepResult.ok = false;
87
+ stepResult.error = err instanceof Error ? err.message : String(err);
88
+ results.push(stepResult);
89
+ if (op.onError === 'continue') {
90
+ continue;
91
+ }
92
+ stopped = true;
93
+ break;
94
+ }
95
+ results.push(stepResult);
96
+ }
97
+ const overallOk = !stopped && results.every((r) => r.ok);
98
+ if (isJsonMode()) {
99
+ console.log(JSON.stringify({
100
+ ok: overallOk,
101
+ dryRun: isDryRun,
102
+ stepsRun: results.length,
103
+ space: spaceKey ?? null,
104
+ results,
105
+ }, null, 2));
106
+ }
107
+ else {
108
+ for (const r of results) {
109
+ const icon = r.ok ? '✓' : '✗';
110
+ const detail = r.ok ? (r.message ?? '') : (r.error ?? '');
111
+ console.log(` ${icon} [${String(r.step)}] ${r.cmd}${detail ? ` — ${detail}` : ''}`);
112
+ }
113
+ console.log('');
114
+ if (overallOk) {
115
+ successMsg(`Batch complete: ${String(results.length)} step(s) ran successfully.`);
116
+ }
117
+ else {
118
+ errorMsg(`Batch stopped after ${String(results.length)} step(s). See errors above.`);
119
+ }
120
+ }
121
+ if (!overallOk)
122
+ process.exit(1);
123
+ }
124
+ catch (err) {
125
+ errorMsg(err instanceof Error ? err.message : String(err));
126
+ process.exit(1);
127
+ }
128
+ });
129
+ }
130
+ const SUPPORTED_CMDS = ['open', 'set', 'rtf', 'rtf-replace', 'save'];
131
+ async function executeOp(op, session, env, isDryRun, spaceKey, resolvedSpace) {
132
+ const args = op.args ?? [];
133
+ const opts = op.opts ?? {};
134
+ switch (op.cmd) {
135
+ case 'open': {
136
+ if (!env || !resolvedSpace || !spaceKey) {
137
+ throw new Error('"open" op requires network access but no config was loaded.');
138
+ }
139
+ const slug = args[0];
140
+ if (!slug)
141
+ throw new Error('"open" op requires args[0] = slug.');
142
+ const key = spaceKey;
143
+ const space = resolvedSpace;
144
+ const found = await findEntryBySlug(env, slug, space.defaultLocale);
145
+ if (!found)
146
+ throw new Error(`No entry found with slug "${slug}".`);
147
+ const rootEntryId = found.sys.id;
148
+ const rootEntryType = mapContentTypeIdToRootEntryType(found.sys.contentType.sys.id);
149
+ const entries = await fetchEntryTree(env, rootEntryId);
150
+ entries[rootEntryId] = serializeEntry(found);
151
+ const { refs, refsByEntry, treeNodes } = buildTree(rootEntryId, entries, space.defaultLocale);
152
+ const newSession = {
153
+ version: 1,
154
+ spaceKey: key,
155
+ spaceId: space.spaceId,
156
+ environment: space.environment,
157
+ defaultLocale: space.defaultLocale,
158
+ rootEntryId,
159
+ rootEntryType,
160
+ fetchedAt: new Date().toISOString(),
161
+ entries,
162
+ originalEntries: JSON.parse(JSON.stringify(entries)),
163
+ refs,
164
+ refsByEntry,
165
+ treeNodes,
166
+ modifiedEntryIds: [],
167
+ pendingDeletions: [],
168
+ };
169
+ if (!isDryRun)
170
+ saveSession(newSession);
171
+ // Always return the new session so subsequent ops work in dry-run mode too
172
+ return {
173
+ message: `Opened "${slug}" (${String(treeNodes.length)} entries)`,
174
+ updatedSession: newSession,
175
+ };
176
+ }
177
+ case 'set': {
178
+ if (!session)
179
+ throw new Error('"set" op requires an active session. Add an "open" op first.');
180
+ const [ref, field, value] = args;
181
+ if (!ref || !field)
182
+ throw new Error('"set" op requires args: [ref, field, value].');
183
+ const entry = resolveRef(session, ref);
184
+ const locale = session.defaultLocale;
185
+ if (!entry.fields[field])
186
+ entry.fields[field] = {};
187
+ entry.fields[field][locale] = value ?? null;
188
+ if (!session.modifiedEntryIds.includes(entry.sys.id)) {
189
+ session.modifiedEntryIds.push(entry.sys.id);
190
+ }
191
+ if (!isDryRun)
192
+ saveSession(session);
193
+ return { message: `Set ${field} on ${ref}` };
194
+ }
195
+ case 'rtf': {
196
+ if (!session)
197
+ throw new Error('"rtf" op requires an active session.');
198
+ const [ref, field, markdown] = args;
199
+ if (!ref || !field || markdown === undefined) {
200
+ throw new Error('"rtf" op requires args: [ref, field, markdown].');
201
+ }
202
+ const entry = resolveRef(session, ref);
203
+ const locale = session.defaultLocale;
204
+ const doc = markdownToRtf(markdown);
205
+ if (!entry.fields[field])
206
+ entry.fields[field] = {};
207
+ entry.fields[field][locale] = doc;
208
+ if (!session.modifiedEntryIds.includes(entry.sys.id)) {
209
+ session.modifiedEntryIds.push(entry.sys.id);
210
+ }
211
+ if (!isDryRun)
212
+ saveSession(session);
213
+ return { message: `Set RTF field ${field} on ${ref}` };
214
+ }
215
+ case 'rtf-replace': {
216
+ if (!session)
217
+ throw new Error('"rtf-replace" op requires an active session.');
218
+ const [ref, field] = args;
219
+ if (!ref || !field)
220
+ throw new Error('"rtf-replace" op requires args: [ref, field].');
221
+ const find = typeof opts['find'] === 'string' ? opts['find'] : undefined;
222
+ if (!find)
223
+ throw new Error('"rtf-replace" op requires opts.find.');
224
+ const entry = resolveRef(session, ref);
225
+ const locale = session.defaultLocale;
226
+ const fieldData = entry.fields[field];
227
+ if (!fieldData)
228
+ throw new Error(`Field "${field}" is missing on ${ref}.`);
229
+ const raw = fieldData[locale] ?? fieldData['en-US'];
230
+ if (!raw ||
231
+ typeof raw !== 'object' ||
232
+ raw.nodeType !== BLOCKS.DOCUMENT) {
233
+ throw new Error(`Field "${field}" is not rich text on ${ref}.`);
234
+ }
235
+ const replaceOptions = {
236
+ find,
237
+ mode: (typeof opts['mode'] === 'string' ? opts['mode'] : 'all'),
238
+ ...(typeof opts['replacePlain'] === 'string' ? { replacePlain: opts['replacePlain'] } : {}),
239
+ ...(typeof opts['replaceMarkdown'] === 'string'
240
+ ? { replaceMarkdown: opts['replaceMarkdown'] }
241
+ : {}),
242
+ ...(opts['ignoreMarks'] ? { ignoreMarks: true } : {}),
243
+ ...(typeof opts['tableCol'] === 'number' ? { tableCol: opts['tableCol'] } : {}),
244
+ ...(typeof opts['tableRow'] === 'number' ? { tableRow: opts['tableRow'] } : {}),
245
+ ...(typeof opts['section'] === 'string' ? { section: opts['section'] } : {}),
246
+ ...(isDryRun ? { dryRun: true } : {}),
247
+ };
248
+ const { document: next, matchCount } = replaceRtfPlainText(raw, replaceOptions);
249
+ if (!isDryRun) {
250
+ entry.fields[field][locale] = next;
251
+ if (!session.modifiedEntryIds.includes(entry.sys.id)) {
252
+ session.modifiedEntryIds.push(entry.sys.id);
253
+ }
254
+ saveSession(session);
255
+ }
256
+ return { message: `Replaced ${String(matchCount)} occurrence(s) in ${field} on ${ref}` };
257
+ }
258
+ case 'save': {
259
+ if (!session)
260
+ throw new Error('"save" op requires an active session.');
261
+ if (!env)
262
+ throw new Error('"save" op requires network access but no config was loaded.');
263
+ if (isDryRun)
264
+ return { message: 'save skipped (dry-run)' };
265
+ const { saved, failed } = await applySessionPatches(env, session);
266
+ if (failed.length > 0) {
267
+ const errs = failed.map((f) => `${f.entryId}: ${f.error}`).join('; ');
268
+ throw new Error(`Save failed for ${String(failed.length)} entr${failed.length === 1 ? 'y' : 'ies'}: ${errs}`);
269
+ }
270
+ session.modifiedEntryIds = session.modifiedEntryIds.filter((id) => !saved.includes(id));
271
+ saveSession(session);
272
+ return {
273
+ message: `Saved ${String(saved.length)} entr${saved.length === 1 ? 'y' : 'ies'} to Contentful`,
274
+ };
275
+ }
276
+ default:
277
+ throw new Error(`Unsupported cmd: "${op.cmd}"`);
278
+ }
279
+ }
280
+ async function readInput(filePath) {
281
+ if (filePath && filePath !== '-') {
282
+ return fs.readFileSync(filePath, 'utf-8');
283
+ }
284
+ const chunks = [];
285
+ for await (const chunk of process.stdin) {
286
+ chunks.push(typeof chunk === 'string' ? Buffer.from(chunk, 'utf-8') : chunk);
287
+ }
288
+ return Buffer.concat(chunks).toString('utf-8');
289
+ }
290
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.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 registerSchemaCommand(program: Command): void;
4
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/commands/schema.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAEvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiH5D"}
@@ -0,0 +1,119 @@
1
+ /** biome-ignore-all lint/suspicious/noConsole: Console output is intentional in CLI */
2
+ import pc from 'picocolors';
3
+ import { loadConfig, resolveSpaceConfig } from '../config/load.js';
4
+ import { createSafeEnvironment } from '../contentful/client.js';
5
+ import { isJsonMode } from '../output/mode.js';
6
+ import { errorMsg } from '../output/print.js';
7
+ export function registerSchemaCommand(program) {
8
+ program
9
+ .command('schema <content-type>')
10
+ .description('Show all field definitions for a Contentful content type.\n' +
11
+ 'Includes field IDs, types, required flags, enum values, and link targets.\n' +
12
+ 'Examples: cms-edit schema component | cms-edit schema page | cms-edit schema collection')
13
+ .action(async (contentType, _opts, cmd) => {
14
+ const parentOpts = cmd.parent?.opts() ?? {};
15
+ try {
16
+ const config = loadConfig(parentOpts.config);
17
+ const { space } = resolveSpaceConfig(config, parentOpts.space);
18
+ const env = await createSafeEnvironment(space);
19
+ let ct;
20
+ try {
21
+ ct = await env.getContentType(contentType);
22
+ }
23
+ catch {
24
+ errorMsg(`Content type "${contentType}" not found. Check the ID (e.g. component, collection, page).`);
25
+ process.exit(1);
26
+ return;
27
+ }
28
+ const fields = ct.fields
29
+ .filter((f) => !f.disabled && !f.omitted)
30
+ .map((f) => {
31
+ const summary = {
32
+ id: f.id,
33
+ name: f.name,
34
+ type: f.type,
35
+ required: f.required ?? false,
36
+ localized: f.localized ?? false,
37
+ };
38
+ // Extract enum values from Symbol/Text fields
39
+ const validations = f.validations ?? [];
40
+ for (const v of validations) {
41
+ const inVals = v.in;
42
+ if (Array.isArray(inVals) && inVals.length > 0) {
43
+ summary.enumValues = inVals;
44
+ }
45
+ const linkCts = v.linkContentType;
46
+ if (Array.isArray(linkCts) && linkCts.length > 0) {
47
+ summary.linkContentTypes = linkCts;
48
+ }
49
+ }
50
+ // For Link fields, capture linkType
51
+ if (f.type === 'Link') {
52
+ summary.itemLinkType = f.linkType;
53
+ }
54
+ // For Array fields, capture items info
55
+ if (f.type === 'Array') {
56
+ const items = f.items;
57
+ if (items) {
58
+ summary.itemType = items.type;
59
+ summary.itemLinkType = items.linkType;
60
+ const itemValidations = items.validations ?? [];
61
+ for (const iv of itemValidations) {
62
+ if (Array.isArray(iv.linkContentType) && iv.linkContentType.length > 0) {
63
+ summary.linkContentTypes = iv.linkContentType;
64
+ }
65
+ }
66
+ }
67
+ }
68
+ return summary;
69
+ });
70
+ if (isJsonMode()) {
71
+ console.log(JSON.stringify({ contentType, fields }, null, 2));
72
+ return;
73
+ }
74
+ const ctLabel = contentType.charAt(0).toUpperCase() + contentType.slice(1);
75
+ console.log(`\n${pc.bold(`Content type: ${ctLabel}`)}\n`);
76
+ const idWidth = Math.min(30, Math.max(16, ...fields.map((f) => f.id.length)) + 2);
77
+ const typeWidth = 14;
78
+ for (const f of fields) {
79
+ const id = f.id.padEnd(idWidth);
80
+ const type = formatFieldType(f).padEnd(typeWidth);
81
+ const req = f.required ? pc.yellow('required') : ' ';
82
+ const extras = formatExtras(f);
83
+ console.log(` ${pc.cyan(id)} ${pc.dim(type)} ${req}${extras}`);
84
+ }
85
+ console.log('');
86
+ console.log(pc.dim(`${String(fields.length)} fields · Use: cms-edit schema ${contentType} --json for full detail`));
87
+ console.log('');
88
+ }
89
+ catch (err) {
90
+ errorMsg(err instanceof Error ? err.message : String(err));
91
+ process.exit(1);
92
+ }
93
+ });
94
+ }
95
+ function formatFieldType(f) {
96
+ if (f.type === 'Link') {
97
+ return `Link → ${f.itemLinkType ?? 'Entry'}`;
98
+ }
99
+ if (f.type === 'Array') {
100
+ if (f.itemLinkType) {
101
+ return `Array[Link→${f.itemLinkType}]`;
102
+ }
103
+ return `Array[${f.itemType ?? '?'}]`;
104
+ }
105
+ return f.type;
106
+ }
107
+ function formatExtras(f) {
108
+ const parts = [];
109
+ if (f.enumValues && f.enumValues.length > 0) {
110
+ const shown = f.enumValues.slice(0, 6).join(', ');
111
+ const more = f.enumValues.length > 6 ? `, +${String(f.enumValues.length - 6)} more` : '';
112
+ parts.push(`values: [${shown}${more}]`);
113
+ }
114
+ if (f.linkContentTypes && f.linkContentTypes.length > 0) {
115
+ parts.push(`(${f.linkContentTypes.join(' | ')})`);
116
+ }
117
+ return parts.length > 0 ? ` ${pc.dim(parts.join(' '))}` : '';
118
+ }
119
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/commands/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/commands/screenshot.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAKvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0DzC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8RhE"}
1
+ {"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/commands/screenshot.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAKvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0DzC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyShE"}
@@ -63,6 +63,14 @@ export function registerScreenshotCommand(program) {
63
63
  .option('--height <px>', 'Viewport height in pixels (used with --width; default 900 if only --width given)', String)
64
64
  .action(async (target, opts) => {
65
65
  try {
66
+ // Preflight: ensure agent-browser is installed
67
+ const abCheck = spawnSync('agent-browser', ['--version'], { stdio: 'pipe' });
68
+ if (abCheck.error || abCheck.status !== 0) {
69
+ errorMsg('agent-browser is not installed or not on PATH.\n' +
70
+ 'Install it with: npm install -g agent-browser && agent-browser install\n' +
71
+ 'The screenshot command requires agent-browser to capture PNGs.');
72
+ process.exit(1);
73
+ }
66
74
  const parentOpts = program.opts();
67
75
  const spaceKey = parentOpts.space;
68
76
  const configPath = parentOpts.config;
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/commands/screenshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/commands/screenshot.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAEvF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,6GAA6G;AAC7G,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,MAAM,sBAAsB,GAAG,IAAI,CAAC;AACpC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AACpC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AAEjD,SAAS,0BAA0B,CAAC,GAAW;IAC7C,OAAO,CACL,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACpC,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACnC,GAAG,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CACzC,CAAC;AACJ,CAAC;AAED,0DAA0D;AAC1D,SAAS,YAAY,CAAC,KAAa,EAAE,IAAc;IACjD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,0EAA0E;AAC1E,SAAS,mBAAmB,CAAC,MAAgB;IAC3C,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,EAAE,KAAK,CAAC,CAAC;YAAE,SAAS;QACxB,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,GAAG;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC5B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAmBD,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,OAAO;SACJ,OAAO,CAAC,qBAAqB,CAAC;SAC9B,WAAW,CACV,oFAAoF;QAClF,sBAAsB;QACtB,oEAAoE;QACpE,mCAAmC;QACnC,mEAAmE;QACnE,oCAAoC;QACpC,8BAA8B;QAC9B,2BAA2B,CAC9B;SACA,MAAM,CAAC,oBAAoB,EAAE,uDAAuD,CAAC;SACrF,MAAM,CAAC,qBAAqB,EAAE,wDAAwD,CAAC;SACvF,MAAM,CACL,QAAQ,EACR,oFAAoF,CACrF;SACA,MAAM,CAAC,cAAc,EAAE,iEAAiE,CAAC;SACzF,MAAM,CAAC,QAAQ,EAAE,4DAA4D,CAAC;SAC9E,MAAM,CAAC,YAAY,EAAE,yEAAyE,CAAC;SAC/F,MAAM,CACL,SAAS,EACT,4FAA4F,CAC7F;SACA,MAAM,CACL,aAAa,EACb,uDAAuD,EACvD,MAAM,CAAC,eAAe,CAAC,CACxB;SACA,MAAM,CACL,YAAY,EACZ,mFAAmF,CACpF;SACA,MAAM,CACL,oBAAoB,EACpB,4EAA4E,CAC7E;SACA,MAAM,CACL,qBAAqB,EACrB,sIAAsI,EACtI,YAAY,EACZ,EAAE,CACH;SACA,MAAM,CACL,cAAc,EACd,+FAA+F,EAC/F,MAAM,CACP;SACA,MAAM,CACL,eAAe,EACf,kFAAkF,EAClF,MAAM,CACP;SACA,MAAM,CACL,KAAK,EACH,MAA0B,EAC1B,IAGC,EACD,EAAE;QACF,IAAI,CAAC;YACH,+CAA+C;YAC/C,MAAM,OAAO,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7E,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1C,QAAQ,CACN,kDAAkD;oBAChD,0EAA0E;oBAC1E,gEAAgE,CACnE,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAuC,CAAC;YACvE,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC;YAClC,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;YAErC,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;YACtC,MAAM,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAEvD,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,IAAI,gBAAgB,CAAC;YACrD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBACtB,OAAO,CACL,mDAAmD,gBAAgB,IAAI;oBACrE,2EAA2E,CAC9E,CAAC;YACJ,CAAC;YAED,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;YAEhD,IAAI,GAAW,CAAC;YAChB,IAAI,WAAW,GAAG,MAAM,CAAC;YAEzB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,4EAA4E;gBAC5E,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACpD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsB,CAAC;gBAClD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC7D,GAAG,GAAG,mBAAmB,CACvB,GAAG,OAAO,iCAAiC,OAAO,EAAE,EACpD,aAAa,CACd,CAAC;gBACF,WAAW,GAAG,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC;YACrC,CAAC;iBAAM,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC7C,+EAA+E;gBAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;gBACzD,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,CAAW,CAAC;gBAChE,WAAW,GAAG,SAAS,CAAC;gBACxB,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBAC1D,GAAG,GAAG,gBAAgB,CACpB,OAAO,EACP,SAAS,EACT,IAAI,EACJ,WAAW,EACX,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,KAAK,EACV,aAAa,CACd,CAAC;YACJ,CAAC;iBAAM,IAAI,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,yEAAyE;gBACzE,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;gBAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,KAAK,CACb,yIAAyI,CAC1I,CAAC;gBACJ,CAAC;gBAED,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,UAAU,GAAG,mBAAmB,CACpC,GAAG,OAAO,+BAA+B,OAAO,EAAE,EAClD,aAAa,CACd,CAAC;gBAEF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;gBACpC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;oBACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CACb,uBAAuB,GAAG,CAAC,MAAM,uDAAuD,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAC7G,CAAC;gBACJ,CAAC;gBAED,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAsB,CAAC;gBACzD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBACxC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACnD,CAAC;gBAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC9E,GAAG,GAAG,mBAAmB,CACvB,GAAG,OAAO,iCAAiC,OAAO,EAAE,EACpD,aAAa,CACd,CAAC;gBACF,WAAW,GAAI,IAA0B,EAAE,IAAI,IAAI,OAAO,CAAC;YAC7D,CAAC;iBAAM,IAAI,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjE,uBAAuB;gBACvB,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC;gBAC1E,GAAG,GAAG,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBACjD,WAAW,GAAG,MAAM,CAAC;YACvB,CAAC;iBAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBACnB,oCAAoC;gBACpC,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;gBAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,KAAK,CACb,qIAAqI,CACtI,CAAC;gBACJ,CAAC;gBACD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACvD,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;gBACrC,MAAM,IAAI,GACP,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAwB;oBAC1D,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAwB,CAAC;gBAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;gBAC/E,CAAC;gBACD,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;gBAChE,GAAG,GAAG,mBAAmB,CAAC,GAAG,OAAO,GAAG,cAAc,EAAE,EAAE,aAAa,CAAC,CAAC;gBACxE,WAAW,GAAG,cAAc,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,wBAAwB,MAAM,qEAAqE,CACpG,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI;gBACtB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU;oBACV,CAAC,CAAC,gBAAgB;oBAClB,CAAC,CAAC,eAAe,CAAC;YAEtB,IAAI,IAAI,CAAC,OAAO,IAAI,UAAU,EAAE,EAAE,CAAC;gBACjC,IAAI,UAAU,EAAE,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;gBACpE,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC;gBACD,OAAO;YACT,CAAC;YAED,iFAAiF;YACjF,MAAM,iBAAiB,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC,EAAE;gBAClE,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;YACH,IAAI,iBAAiB,CAAC,KAAK,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9D,QAAQ,CACN,sIAAsI,CACvI,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,sBAAsB;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACjF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,gBAAgB,QAAQ,IAAI,SAAS,MAAM,CAAC;YACxE,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAE9C,OAAO,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;YAEhC,qEAAqE;YACrE,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC/B,IAAI,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7D,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC3D,OAAO,CAAC,aAAa,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,qBAAqB,CAAC,CAAC;YAChF,CAAC;YAED,MAAM,UAAU,GAAG,SAAS,CAAC,eAAe,EAAE,QAAQ,EAAE;gBACtD,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YACH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,mFAAmF;YACnF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YAC7D,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC;YACjE,MAAM,yBAAyB,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC;YAC5D,IAAI,gBAAgB,IAAI,yBAAyB,EAAE,CAAC;gBAClD,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC;gBAC1E,MAAM,CAAC,GACL,gBAAgB,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;oBACxD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACjC,CAAC,CAAC,uBAAuB,CAAC;gBAC9B,MAAM,cAAc,GAAG,SAAS,CAC9B,eAAe,EACf,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EACzC;oBACE,KAAK,EAAE,SAAS;oBAChB,KAAK,EAAE,KAAK;iBACb,CACF,CAAC;gBACF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChC,OAAO,CAAC,sEAAsE,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;YAED,0BAA0B;YAC1B,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACf,MAAM,UAAU,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;oBACtE,KAAK,EAAE,SAAS;oBAChB,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC;gBACH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,OAAO,CAAC,oEAAoE,CAAC,CAAC;gBAChF,CAAC;YACH,CAAC;YAED,kBAAkB;YAClB,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC5B,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;YACD,MAAM,gBAAgB,GAAG,SAAS,CAAC,eAAe,EAAE,cAAc,EAAE;gBAClE,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YACH,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC3D,CAAC;YAED,gBAAgB;YAChB,SAAS,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAE1E,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,qBAAqB,eAAe,EAAE,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CACF,CAAC;AACN,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAe,EACf,IAAY,EACZ,IAAgC,EAChC,MAA8B,EAC9B,QAAkB,EAClB,KAAe,EACf,aAAsC;IAEtC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,8DAA8D;IAC9D,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACzD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,OAAO,wBAAwB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;AAC/D,CAAC;AAED,qEAAqE;AACrE,SAAS,mBAAmB,CAC1B,GAAW,EACX,aAAiD;IAEjD,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAC1E,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5D,OAAO,GAAG,GAAG,GAAG,SAAS,GAAG,KAAK,EAAE,CAAC;AACtC,CAAC"}
@@ -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 registerSitemapCommand(program: Command): void;
4
+ //# sourceMappingURL=sitemap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sitemap.d.ts","sourceRoot":"","sources":["../../src/commands/sitemap.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAEvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoI7D"}