@se-studio/contentful-cms 1.0.36 → 1.0.38

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.
@@ -9,15 +9,18 @@ import { isJsonMode } from '../output/mode.js';
9
9
  import { errorMsg, infoMsg, successMsg } from '../output/print.js';
10
10
  import { markdownToRtf } from '../rtf/fromMarkdown.js';
11
11
  import { replaceRtfPlainText } from '../rtf/replacePlainText.js';
12
- import { buildTree, resolveRef } from '../session/refs.js';
12
+ import { buildTree, makeEntryLink, resolveRef } from '../session/refs.js';
13
13
  import { mapContentTypeIdToRootEntryType } from '../session/state.js';
14
14
  import { loadSession, saveSession } from '../session/store.js';
15
+ import { isAllowedContentTypeForAdd } from '../validation/allowed-types.js';
15
16
  export function registerRunCommand(program) {
16
17
  program
17
18
  .command('run')
18
19
  .description('Execute a JSON batch of cms-edit operations from a file or stdin.\n' +
19
20
  '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
+ 'Supported cmds: open, set, rtf, rtf-replace, save, add, links-add.\n' +
22
+ ' add: args=[type, contentType], opts={after?, parent?, target?, existingId?}\n' +
23
+ ' links-add: args=[ref], opts={type, label, href?, slug?, id?, assetId?}\n' +
21
24
  'Example file: [{"cmd":"open","args":["/pricing"]},{"cmd":"set","args":["@c0","heading","New"]},{"cmd":"save"}]\n' +
22
25
  'Pass --file <path> to read from a file, or omit to read from stdin.')
23
26
  .option('--file <path>', 'Read batch JSON from a file (omit to read from stdin)')
@@ -52,8 +55,8 @@ export function registerRunCommand(program) {
52
55
  process.exit(1);
53
56
  }
54
57
  }
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');
58
+ // Determine if we need a config/env (required for open, save, add, links-add ops)
59
+ const needsNetwork = ops.some((op) => op.cmd === 'open' || op.cmd === 'save' || op.cmd === 'add' || op.cmd === 'links-add');
57
60
  let env;
58
61
  let spaceKey;
59
62
  let resolvedSpace;
@@ -127,7 +130,7 @@ export function registerRunCommand(program) {
127
130
  }
128
131
  });
129
132
  }
130
- const SUPPORTED_CMDS = ['open', 'set', 'rtf', 'rtf-replace', 'save'];
133
+ const SUPPORTED_CMDS = ['open', 'set', 'rtf', 'rtf-replace', 'save', 'add', 'links-add'];
131
134
  async function executeOp(op, session, env, isDryRun, spaceKey, resolvedSpace) {
132
135
  const args = op.args ?? [];
133
136
  const opts = op.opts ?? {};
@@ -273,6 +276,192 @@ async function executeOp(op, session, env, isDryRun, spaceKey, resolvedSpace) {
273
276
  message: `Saved ${String(saved.length)} entr${saved.length === 1 ? 'y' : 'ies'} to Contentful`,
274
277
  };
275
278
  }
279
+ case 'add': {
280
+ if (!session)
281
+ throw new Error('"add" op requires an active session. Add an "open" op first.');
282
+ if (!env || !resolvedSpace)
283
+ throw new Error('"add" op requires network access but no config was loaded.');
284
+ const [type, contentType] = args;
285
+ if (!type || !contentType)
286
+ throw new Error('"add" op requires args: [type, contentType].');
287
+ const addOpts = opts;
288
+ const locale = session.defaultLocale;
289
+ const ctId = contentType;
290
+ if (!isAllowedContentTypeForAdd(ctId)) {
291
+ throw new Error(`Content type '${ctId}' is not supported for add.`);
292
+ }
293
+ let newEntryId;
294
+ if (addOpts.existingId) {
295
+ newEntryId = addOpts.existingId.trim();
296
+ if (!session.entries[newEntryId]) {
297
+ const existing = await env.getEntry(newEntryId);
298
+ session.entries[newEntryId] = serializeEntry(existing);
299
+ session.originalEntries[newEntryId] = serializeEntry(existing);
300
+ }
301
+ }
302
+ else {
303
+ const typeFieldId = `${ctId}Type`;
304
+ const ctDefinition = await env.getContentType(ctId);
305
+ const hasTypeField = ctDefinition.fields.some((f) => f.id === typeFieldId);
306
+ const newEntry = await env.createEntry(ctId, {
307
+ cmsLabel: { [locale]: `New ${type}` },
308
+ ...(hasTypeField ? { [typeFieldId]: { [locale]: type } } : {}),
309
+ });
310
+ newEntryId = newEntry.sys.id;
311
+ session.entries[newEntryId] = serializeEntry(newEntry);
312
+ session.originalEntries[newEntryId] = serializeEntry(newEntry);
313
+ }
314
+ // Determine parent entry and target field
315
+ let parentEntryId;
316
+ let targetField;
317
+ if (addOpts.parent) {
318
+ const parentEntry = session.entries[session.refs[addOpts.parent] ?? ''];
319
+ if (!parentEntry)
320
+ throw new Error(`Ref "${addOpts.parent}" not found.`);
321
+ const parentCtId = parentEntry.sys.contentType.sys.id;
322
+ parentEntryId = parentEntry.sys.id;
323
+ targetField =
324
+ parentCtId === 'collection'
325
+ ? 'contents'
326
+ : parentCtId === 'template'
327
+ ? (addOpts.target ?? 'preContent')
328
+ : (addOpts.target ?? 'content');
329
+ }
330
+ else if (addOpts.after) {
331
+ const afterEntryId = session.refs[addOpts.after];
332
+ if (!afterEntryId)
333
+ throw new Error(`Ref "${addOpts.after}" not found.`);
334
+ const afterNode = session.treeNodes.find((n) => n.ref === addOpts.after);
335
+ if (!afterNode?.parentId)
336
+ throw new Error(`Cannot find parent for "${addOpts.after}".`);
337
+ parentEntryId = afterNode.parentId;
338
+ targetField = afterNode.parentField ?? 'content';
339
+ }
340
+ else {
341
+ parentEntryId = session.rootEntryId;
342
+ targetField = addOpts.target ?? 'content';
343
+ }
344
+ const parentEntry = session.entries[parentEntryId];
345
+ if (!parentEntry)
346
+ throw new Error('Parent entry not found in session.');
347
+ if (!parentEntry.fields[targetField])
348
+ parentEntry.fields[targetField] = {};
349
+ const fieldLocaleMap = parentEntry.fields[targetField];
350
+ if (!fieldLocaleMap[locale])
351
+ fieldLocaleMap[locale] = [];
352
+ const contentArray = fieldLocaleMap[locale];
353
+ const newLink = makeEntryLink(newEntryId);
354
+ if (addOpts.after) {
355
+ const afterEntryId = session.refs[addOpts.after] ?? '';
356
+ const afterIdx = contentArray.findIndex((item) => typeof item === 'object' &&
357
+ item !== null &&
358
+ 'sys' in item &&
359
+ item.sys.id === afterEntryId);
360
+ if (afterIdx >= 0) {
361
+ contentArray.splice(afterIdx + 1, 0, newLink);
362
+ }
363
+ else {
364
+ contentArray.push(newLink);
365
+ }
366
+ }
367
+ else {
368
+ contentArray.push(newLink);
369
+ }
370
+ if (!session.modifiedEntryIds.includes(parentEntryId)) {
371
+ session.modifiedEntryIds.push(parentEntryId);
372
+ }
373
+ const { refs, refsByEntry, treeNodes } = buildTree(session.rootEntryId, session.entries, locale);
374
+ session.refs = refs;
375
+ session.refsByEntry = refsByEntry;
376
+ session.treeNodes = treeNodes;
377
+ const newRef = refsByEntry[newEntryId] ?? '?';
378
+ if (!isDryRun)
379
+ saveSession(session);
380
+ return {
381
+ message: addOpts.existingId
382
+ ? `Linked existing ${ctId} as ${newRef} (ID: ${newEntryId})`
383
+ : `Created ${ctId} "${type}" as ${newRef} (ID: ${newEntryId})`,
384
+ updatedSession: session,
385
+ };
386
+ }
387
+ case 'links-add': {
388
+ if (!session)
389
+ throw new Error('"links-add" op requires an active session.');
390
+ if (!env || !resolvedSpace)
391
+ throw new Error('"links-add" op requires network access but no config was loaded.');
392
+ const [ref] = args;
393
+ if (!ref)
394
+ throw new Error('"links-add" op requires args: [ref].');
395
+ const linkOpts = opts;
396
+ const linkType = (linkOpts.type ?? 'external');
397
+ const locale = session.defaultLocale;
398
+ const entry = resolveRef(session, ref);
399
+ const linkFields = {
400
+ name: { [locale]: linkOpts.label ?? '' },
401
+ useName: { [locale]: true },
402
+ };
403
+ if (linkType === 'internal') {
404
+ if (linkOpts.id) {
405
+ linkFields['internal'] = {
406
+ [locale]: { sys: { type: 'Link', linkType: 'Entry', id: linkOpts.id.trim() } },
407
+ };
408
+ }
409
+ else if (linkOpts.slug) {
410
+ const slugValue = linkOpts.slug.startsWith('/') ? linkOpts.slug.slice(1) : linkOpts.slug;
411
+ let linkedEntry;
412
+ for (const ct of ['page', 'article', 'articleType', 'tag']) {
413
+ const results = await env.getEntries({
414
+ content_type: ct,
415
+ 'fields.slug': slugValue,
416
+ limit: 1,
417
+ });
418
+ if (results.items[0]) {
419
+ linkedEntry = results.items[0];
420
+ break;
421
+ }
422
+ }
423
+ if (!linkedEntry)
424
+ throw new Error(`No entry found with slug "${linkOpts.slug}".`);
425
+ linkFields['internal'] = {
426
+ [locale]: { sys: { type: 'Link', linkType: 'Entry', id: linkedEntry.sys.id } },
427
+ };
428
+ }
429
+ else {
430
+ throw new Error('"links-add" internal type requires opts.id or opts.slug.');
431
+ }
432
+ }
433
+ else if (linkType === 'external') {
434
+ if (!linkOpts.href)
435
+ throw new Error('"links-add" external type requires opts.href.');
436
+ linkFields['external'] = { [locale]: linkOpts.href };
437
+ }
438
+ else if (linkType === 'download') {
439
+ if (!linkOpts.assetId)
440
+ throw new Error('"links-add" download type requires opts.assetId.');
441
+ linkFields['downloadAsset'] = {
442
+ [locale]: { sys: { type: 'Link', linkType: 'Asset', id: linkOpts.assetId.trim() } },
443
+ };
444
+ }
445
+ const newLinkEntry = await env.createEntry('link', linkFields);
446
+ session.entries[newLinkEntry.sys.id] = serializeEntry(newLinkEntry);
447
+ if (!entry.fields['links'])
448
+ entry.fields['links'] = {};
449
+ const linksLocale = entry.fields['links'];
450
+ if (!linksLocale[locale])
451
+ linksLocale[locale] = [];
452
+ linksLocale[locale].push({
453
+ sys: { type: 'Link', linkType: 'Entry', id: newLinkEntry.sys.id },
454
+ });
455
+ if (!session.modifiedEntryIds.includes(entry.sys.id)) {
456
+ session.modifiedEntryIds.push(entry.sys.id);
457
+ }
458
+ if (!isDryRun)
459
+ saveSession(session);
460
+ return {
461
+ message: `Added ${linkType} link "${linkOpts.label ?? ''}" (ID: ${newLinkEntry.sys.id}) to ${ref}`,
462
+ updatedSession: session,
463
+ };
464
+ }
276
465
  default:
277
466
  throw new Error(`Unsupported cmd: "${op.cmd}"`);
278
467
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
@@ -93,5 +93,5 @@ export declare function getEntryTypeLabel(entry: SerializedEntry, locale: string
93
93
  */
94
94
  export declare function getEntryLabel(entry: SerializedEntry, locale: string): string;
95
95
  /** The content array fields that can contain linked entries. */
96
- export declare const CONTENT_ARRAY_FIELDS: readonly ["topContent", "content", "bottomContent", "contents"];
96
+ export declare const CONTENT_ARRAY_FIELDS: readonly ["topContent", "content", "bottomContent", "contents", "structuredData", "indexPageStructuredData", "links"];
97
97
  //# sourceMappingURL=state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/session/state.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE;QACH,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE;YAAE,GAAG,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;QACrC,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,kIAAkI;AAClI,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,KAAK,GAAG,YAAY,GAAG,UAAU,CAAC;AAEnG;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,CAiBpF;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACzC,mDAAmD;IACnD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACjD,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,oBAAoB;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,qCAAqC;IACrC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,sEAAsE;IACtE,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAExE;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,OAAO,GAAG,WAAW,CAM9F;AASD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAUhF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAc5E;AAED,gEAAgE;AAChE,eAAO,MAAM,oBAAoB,iEAAkE,CAAC"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/session/state.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE;QACH,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE;YAAE,GAAG,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;QACrC,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,kIAAkI;AAClI,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,KAAK,GAAG,YAAY,GAAG,UAAU,CAAC;AAEnG;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,CAiBpF;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACzC,mDAAmD;IACnD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACjD,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,oBAAoB;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,qCAAqC;IACrC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,sEAAsE;IACtE,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAExE;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,OAAO,GAAG,WAAW,CAM9F;AASD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAUhF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAc5E;AAED,gEAAgE;AAChE,eAAO,MAAM,oBAAoB,uHAQvB,CAAC"}
@@ -78,5 +78,13 @@ export function getEntryLabel(entry, locale) {
78
78
  entry.sys.id);
79
79
  }
80
80
  /** The content array fields that can contain linked entries. */
81
- export const CONTENT_ARRAY_FIELDS = ['topContent', 'content', 'bottomContent', 'contents'];
81
+ export const CONTENT_ARRAY_FIELDS = [
82
+ 'topContent',
83
+ 'content',
84
+ 'bottomContent',
85
+ 'contents',
86
+ 'structuredData',
87
+ 'indexPageStructuredData',
88
+ 'links',
89
+ ];
82
90
  //# sourceMappingURL=state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/session/state.ts"],"names":[],"mappings":"AA0CA;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAAC,aAAqB;IACnE,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,aAAa;YAChB,OAAO,aAAa,CAAC;QACvB,KAAK,KAAK;YACR,OAAO,KAAK,CAAC;QACf,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;QACtB,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAgCD;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,KAAsB,EAAE,iBAA0B;IAC/E,IAAI,iBAAiB;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC;IAChD,IAAI,CAAC,gBAAgB;QAAE,OAAO,OAAO,CAAC;IACtC,IAAI,gBAAgB,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC;IACxD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAsB;IAC9C,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAsB,EAAE,MAAc;IACtE,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,GAAG,IAAI,MAAM,CAAC;IAClC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;IACxD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3D,OAAO,GAAG,KAAK,IAAI,GAAG,GAAG,CAAC;IAC5B,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAsB,EAAE,MAAc;IAClE,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAiB,EAAE;QAClD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,CAAC,CAAC;IACF,OAAO,CACL,QAAQ,CAAC,UAAU,CAAC;QACpB,QAAQ,CAAC,SAAS,CAAC;QACnB,QAAQ,CAAC,OAAO,CAAC;QACjB,QAAQ,CAAC,YAAY,CAAC;QACtB,KAAK,CAAC,GAAG,CAAC,EAAE,CACb,CAAC;AACJ,CAAC;AAED,gEAAgE;AAChE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,CAAU,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/session/state.ts"],"names":[],"mappings":"AA0CA;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAAC,aAAqB;IACnE,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,aAAa;YAChB,OAAO,aAAa,CAAC;QACvB,KAAK,KAAK;YACR,OAAO,KAAK,CAAC;QACf,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;QACtB,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAgCD;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,KAAsB,EAAE,iBAA0B;IAC/E,IAAI,iBAAiB;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC;IAChD,IAAI,CAAC,gBAAgB;QAAE,OAAO,OAAO,CAAC;IACtC,IAAI,gBAAgB,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC;IACxD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAsB;IAC9C,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAsB,EAAE,MAAc;IACtE,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,GAAG,IAAI,MAAM,CAAC;IAClC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;IACxD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3D,OAAO,GAAG,KAAK,IAAI,GAAG,GAAG,CAAC;IAC5B,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAsB,EAAE,MAAc;IAClE,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAiB,EAAE;QAClD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,CAAC,CAAC;IACF,OAAO,CACL,QAAQ,CAAC,UAAU,CAAC;QACpB,QAAQ,CAAC,SAAS,CAAC;QACnB,QAAQ,CAAC,OAAO,CAAC;QACjB,QAAQ,CAAC,YAAY,CAAC;QACtB,KAAK,CAAC,GAAG,CAAC,EAAE,CACb,CAAC;AACJ,CAAC;AAED,gEAAgE;AAChE,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,YAAY;IACZ,SAAS;IACT,eAAe;IACf,UAAU;IACV,gBAAgB;IAChB,yBAAyB;IACzB,OAAO;CACC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@se-studio/contentful-cms",
3
- "version": "1.0.36",
3
+ "version": "1.0.38",
4
4
  "description": "CLI tool for AI agents to read and edit Contentful draft content without publish permissions",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,19 +28,19 @@
28
28
  "*.md"
29
29
  ],
30
30
  "dependencies": {
31
- "@contentful/rich-text-types": "^17.2.5",
31
+ "@contentful/rich-text-types": "^17.2.7",
32
32
  "@modelcontextprotocol/sdk": "^1.29.0",
33
33
  "commander": "^14.0.3",
34
- "contentful-management": "^12.2.0",
35
- "dotenv": "^17.4.0",
34
+ "contentful-management": "^12.3.1",
35
+ "dotenv": "^17.4.2",
36
36
  "picocolors": "^1.1.1",
37
37
  "zod": "^4.3.6"
38
38
  },
39
39
  "devDependencies": {
40
- "@biomejs/biome": "^2.4.10",
41
- "@types/node": "^22.19.15",
40
+ "@biomejs/biome": "^2.4.12",
41
+ "@types/node": "^22.19.17",
42
42
  "typescript": "^6.0.2",
43
- "vitest": "^4.1.2"
43
+ "vitest": "^4.1.4"
44
44
  },
45
45
  "keywords": [
46
46
  "contentful",
@@ -235,11 +235,16 @@ cms-edit add CTA --target bottomContent
235
235
  # Add after a specific component
236
236
  cms-edit add HeroSimple --after @c1
237
237
 
238
- # Add inside a collection
238
+ # Add inside a collection (--parent derives target field from the parent's content type)
239
+ # collection parent → uses 'contents'; page/article parent → uses 'content' by default
239
240
  cms-edit add Card --parent @c2
241
+ cms-edit add Hero --parent @c0 --target content # explicit target when parent is a page
240
242
 
241
243
  # Add an explicit collection type
242
244
  cms-edit add CardGrid --content-type collection
245
+
246
+ # Link an EXISTING entry instead of creating a new one (e.g. a shared CTA used on every page)
247
+ cms-edit add CTA --content-type component --existing-id 4xKj2abcDef
243
248
  ```
244
249
 
245
250
  Discover available types first:
@@ -303,6 +308,16 @@ cms-edit links remove @c5 1
303
308
  cms-edit links move @c5 2 0
304
309
  ```
305
310
 
311
+ You can also bulk-replace the `links` array on a component using `set --links`:
312
+
313
+ ```bash
314
+ # Replace the entire links array with specific IDs
315
+ cms-edit set @c5 links linkId1,linkId2,linkId3 --links
316
+
317
+ # Append a link entry ID to the existing array
318
+ cms-edit set @c5 links linkId4 --links --append
319
+ ```
320
+
306
321
  ## Assets
307
322
 
308
323
  ```bash
@@ -331,7 +346,13 @@ cms-edit nav add --label "Docs" --href https://docs.example.com --after @c1
331
346
 
332
347
  ```bash
333
348
  # Create a new page (session opens on the new entry)
349
+ # All flags after --title are optional
334
350
  cms-edit create page --slug /about-us --title "About Us" --description "Learn about our team"
351
+ cms-edit create page --slug /about-us --title "About Us" \
352
+ --template-id <template-entry-id> \
353
+ --featured-image <asset-id> \
354
+ --indexed \
355
+ --cms-label "About Us (internal)"
335
356
 
336
357
  # Create a new article (requires articleType entry ID)
337
358
  cms-edit create article --slug /blog/my-post --title "My Post" --article-type-id 3abcDef456
@@ -588,18 +609,164 @@ echo '[...]' | cms-edit run # Pipe from stdin
588
609
  cms-edit run --file ops.json --dry-run # Validate without saving
589
610
  ```
590
611
 
591
- Supported ops: `open`, `set`, `rtf`, `rtf-replace`, `save`.
612
+ Supported ops: `open`, `set`, `rtf`, `rtf-replace`, `save`, `add`, `links-add`.
592
613
 
593
- Example `ops.json`:
614
+ | Op | args | opts |
615
+ |----|------|------|
616
+ | `open` | `["/slug"]` | — |
617
+ | `set` | `[ref, field, value]` | — |
618
+ | `rtf` | `[ref, field, markdown]` | — |
619
+ | `rtf-replace` | `[ref, field]` | `{ find, replacePlain?, mode? }` |
620
+ | `save` | — | — |
621
+ | `add` | `[type, contentType]` | `{ after?, parent?, target?, existingId? }` |
622
+ | `links-add` | `[ref]` | `{ type, label, href?, slug?, id?, assetId? }` |
623
+
624
+ The `add` op returns the new `@ref` in the step message; subsequent ops can reference it.
625
+
626
+ Example `ops.json` — update an existing page with a new CTA that has two buttons:
594
627
  ```json
595
628
  [
596
629
  { "cmd": "open", "args": ["/pricing"] },
597
- { "cmd": "set", "args": ["@c0", "heading", "New Heading"] },
598
- { "cmd": "rtf", "args": ["@c1", "body", "## Section\n\nContent here."] },
630
+ { "cmd": "add", "args": ["CTA", "component"], "opts": { "target": "bottomContent" } },
631
+ { "cmd": "set", "args": ["@c5", "heading", "Ready to get started?"] },
632
+ { "cmd": "links-add", "args": ["@c5"], "opts": { "type": "external", "label": "Start free trial", "href": "https://app.example.com" } },
633
+ { "cmd": "links-add", "args": ["@c5"], "opts": { "type": "internal", "label": "Learn more", "slug": "/about" } },
599
634
  { "cmd": "save" }
600
635
  ]
601
636
  ```
602
637
 
638
+ ## Create Page or Article from JSON
639
+
640
+ Create a complete page or article — including all components, fields, and CTA links — from a single declarative JSON file. This is the recommended approach for creating multiple pages or articles in bulk.
641
+
642
+ ```bash
643
+ cms-edit create from-json --file page.json # Create from file
644
+ cms-edit create from-json --file page.json --dry-run # Preview without writing
645
+ cat page.json | cms-edit create from-json # Pipe from stdin
646
+ ```
647
+
648
+ **Page JSON schema:**
649
+
650
+ ```json
651
+ {
652
+ "type": "page",
653
+ "slug": "/parent-coaching/digital-life-safety/cyberbullying",
654
+ "title": "Cyberbullying",
655
+ "description": "Optional meta description (SEO)",
656
+ "templateId": "contentful-template-entry-id",
657
+ "indexed": true,
658
+ "components": [
659
+ {
660
+ "contentType": "component",
661
+ "type": "HeroSimple",
662
+ "target": "content",
663
+ "fields": {
664
+ "heading": "Protecting Your Child from Cyberbullying",
665
+ "body": "## Why it matters\n\nContent here with **bold** and [links](https://example.com).",
666
+ "backgroundColour": "Yellow"
667
+ },
668
+ "links": [
669
+ { "type": "external", "label": "Download Guide", "href": "https://example.com/guide.pdf" },
670
+ { "type": "internal", "label": "Learn More", "slug": "/resources" }
671
+ ]
672
+ },
673
+ {
674
+ "contentType": "collection",
675
+ "type": "CardGrid",
676
+ "fields": { "heading": "Related topics" },
677
+ "items": [
678
+ {
679
+ "contentType": "component",
680
+ "type": "Card",
681
+ "fields": { "heading": "Screen Time" }
682
+ },
683
+ {
684
+ "existingId": "abc123def456",
685
+ "comment": "Reuse existing 'Emotional Regulation' card"
686
+ }
687
+ ]
688
+ },
689
+ {
690
+ "existingId": "xyz789ghi012",
691
+ "comment": "Shared 'Join BLK Now' CTA reused on every page"
692
+ }
693
+ ]
694
+ }
695
+ ```
696
+
697
+ **Article JSON schema:**
698
+
699
+ ```json
700
+ {
701
+ "type": "article",
702
+ "slug": "/resources/publications/cyberbullying/new-research-2025",
703
+ "title": "New Research on Cyberbullying 2025",
704
+ "description": "Key findings from the 2025 cyberbullying study.",
705
+ "articleTypeId": "3abcDef456ghi",
706
+ "date": "2025-04-14",
707
+ "components": [
708
+ {
709
+ "contentType": "component",
710
+ "type": "RichText",
711
+ "fields": {
712
+ "body": "## Introduction\n\nNew research shows..."
713
+ }
714
+ },
715
+ {
716
+ "contentType": "component",
717
+ "type": "CTA",
718
+ "target": "bottomContent",
719
+ "links": [
720
+ { "type": "external", "label": "Download Full Report", "href": "https://example.com/report.pdf" }
721
+ ]
722
+ }
723
+ ]
724
+ }
725
+ ```
726
+
727
+ - `type` defaults to `"page"`. Set `"type": "article"` (or include `articleTypeId`) for articles.
728
+ - `articleTypeId` is required for articles. Find valid IDs with `cms-edit list --type articleType`.
729
+ - `date` defaults to today (YYYY-MM-DD) if omitted.
730
+
731
+ **Key points:**
732
+ - Any component entry in `components` or `items` may use `{ existingId }` to link an existing entry instead of creating a new one.
733
+ - The same applies to `links` entries — use `{ existingId }` to attach an existing link entry.
734
+ - `fields.body` (and any value containing newlines or Markdown syntax) is automatically converted to Contentful rich text.
735
+ - `target` sets which content array to use: `topContent`, `content` (default), or `bottomContent`.
736
+ - All entries are created as **drafts**. A human must publish in Contentful.
737
+ - `--dry-run` prints the full plan without writing anything.
738
+
739
+ ## Find Existing Entries (for existingId)
740
+
741
+ When building page JSON that references existing entries, find their Contentful IDs first:
742
+
743
+ ```bash
744
+ # Search for a shared component by name
745
+ cms-edit search "join blk now" --type component --json
746
+ # → output includes "id" field — use this as existingId in your page JSON
747
+
748
+ # Browse all components of a specific type
749
+ cms-edit list --type component --filter 'fields.componentType=CTA'
750
+
751
+ # Confirm an entry before referencing it
752
+ cms-edit resolve 4xKj2abcDef
753
+ ```
754
+
755
+ ## Inventory & Status
756
+
757
+ Use `sitemap` to see all pages in a space with their publication status:
758
+
759
+ ```bash
760
+ cms-edit sitemap # All pages
761
+ cms-edit sitemap --prefix /parent-coaching # Filter by slug prefix
762
+ cms-edit sitemap --status draft # Draft pages only
763
+ cms-edit sitemap --sort updated # Most recently updated first
764
+ cms-edit sitemap --tree # Tree view
765
+ cms-edit sitemap --include page,article # Include articles
766
+ ```
767
+
768
+ **Note on bulk publish:** The tool cannot publish entries — all saves create drafts only. This is intentional. Review and publish drafts from the Contentful web app.
769
+
603
770
  ## Concurrent Sessions
604
771
 
605
772
  Use `--session <name>` or `CONTENTFUL_CMS_SESSION=<name>` to isolate parallel workflows.