@se-studio/contentful-cms 3.8.0 → 3.9.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.
Files changed (113) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +7 -6
  3. package/dist/cli/program.d.ts.map +1 -1
  4. package/dist/cli/program.js +15 -9
  5. package/dist/cli/program.js.map +1 -1
  6. package/dist/cli/runner.d.ts +4 -0
  7. package/dist/cli/runner.d.ts.map +1 -1
  8. package/dist/cli/runner.js +29 -3
  9. package/dist/cli/runner.js.map +1 -1
  10. package/dist/commands/apply-from-json.d.ts +4 -0
  11. package/dist/commands/apply-from-json.d.ts.map +1 -0
  12. package/dist/commands/apply-from-json.js +198 -0
  13. package/dist/commands/apply-from-json.js.map +1 -0
  14. package/dist/commands/assignment-value.d.ts +6 -0
  15. package/dist/commands/assignment-value.d.ts.map +1 -0
  16. package/dist/commands/assignment-value.js +13 -0
  17. package/dist/commands/assignment-value.js.map +1 -0
  18. package/dist/commands/batch-assignments.d.ts.map +1 -1
  19. package/dist/commands/batch-assignments.js +2 -1
  20. package/dist/commands/batch-assignments.js.map +1 -1
  21. package/dist/commands/create-from-json.d.ts +9 -0
  22. package/dist/commands/create-from-json.d.ts.map +1 -1
  23. package/dist/commands/create-from-json.js +187 -113
  24. package/dist/commands/create-from-json.js.map +1 -1
  25. package/dist/commands/export-from-json.d.ts +4 -0
  26. package/dist/commands/export-from-json.d.ts.map +1 -0
  27. package/dist/commands/export-from-json.js +28 -0
  28. package/dist/commands/export-from-json.js.map +1 -0
  29. package/dist/commands/help.d.ts.map +1 -1
  30. package/dist/commands/help.js +18 -32
  31. package/dist/commands/help.js.map +1 -1
  32. package/dist/commands/list.d.ts.map +1 -1
  33. package/dist/commands/list.js +9 -3
  34. package/dist/commands/list.js.map +1 -1
  35. package/dist/commands/multiset-assignments.d.ts.map +1 -1
  36. package/dist/commands/multiset-assignments.js +2 -1
  37. package/dist/commands/multiset-assignments.js.map +1 -1
  38. package/dist/commands/schema.d.ts.map +1 -1
  39. package/dist/commands/schema.js +28 -10
  40. package/dist/commands/schema.js.map +1 -1
  41. package/dist/contentful/cma-user-agent.d.ts +1 -1
  42. package/dist/contentful/create-from-json-types.d.ts +56 -0
  43. package/dist/contentful/create-from-json-types.d.ts.map +1 -0
  44. package/dist/contentful/create-from-json-types.js +24 -0
  45. package/dist/contentful/create-from-json-types.js.map +1 -0
  46. package/dist/contentful/entry-fields.d.ts.map +1 -1
  47. package/dist/contentful/entry-fields.js +5 -0
  48. package/dist/contentful/entry-fields.js.map +1 -1
  49. package/dist/contentful/field-value-from-json.d.ts +2 -1
  50. package/dist/contentful/field-value-from-json.d.ts.map +1 -1
  51. package/dist/contentful/field-value-from-json.js +16 -11
  52. package/dist/contentful/field-value-from-json.js.map +1 -1
  53. package/dist/contentful/link-fields.d.ts +4 -1
  54. package/dist/contentful/link-fields.d.ts.map +1 -1
  55. package/dist/contentful/link-fields.js +8 -2
  56. package/dist/contentful/link-fields.js.map +1 -1
  57. package/dist/contentful/media.d.ts +1 -0
  58. package/dist/contentful/media.d.ts.map +1 -1
  59. package/dist/contentful/media.js +1 -1
  60. package/dist/contentful/media.js.map +1 -1
  61. package/dist/contentful/session-to-from-json.d.ts +7 -0
  62. package/dist/contentful/session-to-from-json.d.ts.map +1 -0
  63. package/dist/contentful/session-to-from-json.js +180 -0
  64. package/dist/contentful/session-to-from-json.js.map +1 -0
  65. package/dist/contentful/set-field-schema.d.ts +1 -0
  66. package/dist/contentful/set-field-schema.d.ts.map +1 -1
  67. package/dist/contentful/set-field-schema.js +8 -0
  68. package/dist/contentful/set-field-schema.js.map +1 -1
  69. package/dist/contentful/validate-from-json.d.ts +12 -0
  70. package/dist/contentful/validate-from-json.d.ts.map +1 -0
  71. package/dist/contentful/validate-from-json.js +106 -0
  72. package/dist/contentful/validate-from-json.js.map +1 -0
  73. package/dist/contentful/write.d.ts +8 -4
  74. package/dist/contentful/write.d.ts.map +1 -1
  75. package/dist/contentful/write.js +45 -21
  76. package/dist/contentful/write.js.map +1 -1
  77. package/dist/generated/help-topics.d.ts +3 -0
  78. package/dist/generated/help-topics.d.ts.map +1 -0
  79. package/dist/generated/help-topics.js +4 -0
  80. package/dist/generated/help-topics.js.map +1 -0
  81. package/dist/generated/hosted-guide.d.ts +1 -1
  82. package/dist/generated/hosted-guide.d.ts.map +1 -1
  83. package/dist/generated/hosted-guide.js +1 -1
  84. package/dist/generated/hosted-guide.js.map +1 -1
  85. package/dist/generated/version.d.ts +1 -1
  86. package/dist/generated/version.js +1 -1
  87. package/dist/hosted/index.d.ts +1 -1
  88. package/dist/hosted/index.d.ts.map +1 -1
  89. package/dist/hosted/index.js +1 -1
  90. package/dist/hosted/index.js.map +1 -1
  91. package/dist/index/reference-lookup.d.ts +5 -1
  92. package/dist/index/reference-lookup.d.ts.map +1 -1
  93. package/dist/index/reference-lookup.js +19 -2
  94. package/dist/index/reference-lookup.js.map +1 -1
  95. package/dist/mcp/http-handler.d.ts.map +1 -1
  96. package/dist/mcp/http-handler.js +2 -3
  97. package/dist/mcp/http-handler.js.map +1 -1
  98. package/dist/mcp/server.d.ts.map +1 -1
  99. package/dist/mcp/server.js +2 -3
  100. package/dist/mcp/server.js.map +1 -1
  101. package/dist/mcp/tools/cms-edit.d.ts +1 -1
  102. package/dist/mcp/tools/cms-edit.d.ts.map +1 -1
  103. package/dist/mcp/tools/cms-edit.js +15 -2
  104. package/dist/mcp/tools/cms-edit.js.map +1 -1
  105. package/dist/mcp/tools/help.d.ts.map +1 -1
  106. package/dist/mcp/tools/help.js +47 -6
  107. package/dist/mcp/tools/help.js.map +1 -1
  108. package/docs/editor-tasks/create-page.md +6 -6
  109. package/docs/help/create-from-json.md +24 -1
  110. package/docs/help/index.md +3 -1
  111. package/docs/mcp/hosted-guide.md +18 -7
  112. package/package.json +3 -3
  113. package/skills/core/SKILL.md +22 -25
@@ -41,7 +41,11 @@ function pickNewestMediaId(rows, warnings, base) {
41
41
  }
42
42
  return picked.id;
43
43
  }
44
- async function resolveMediaForAssetFilename(env, space, locale, fileName, mediaName, base, warnings, createdMediaEntryIds) {
44
+ function rememberCreatedMedia(createdMediaEntryIds, createdMediaEntries, created) {
45
+ createdMediaEntryIds.push(created.id);
46
+ createdMediaEntries.push(created.entry);
47
+ }
48
+ async function resolveMediaForAssetFilename(env, space, locale, fileName, mediaName, base, warnings, createdMediaEntryIds, createdMediaEntries) {
45
49
  await ensureContentIndex(space);
46
50
  const assetId = await resolveAssetIdFromFilename(space, fileName, `${base}AssetFilename`);
47
51
  const mediaRows = mediaByAssetId(space, assetId);
@@ -51,15 +55,15 @@ async function resolveMediaForAssetFilename(env, space, locale, fileName, mediaN
51
55
  }
52
56
  const fileStem = fileName.replace(/\.[^.]+$/, '').trim() || fileName.trim();
53
57
  const name = mediaName?.trim() || (await defaultMediaNameForAsset(env, assetId, fileStem));
54
- const { id } = await createMediaEntry(env, {
58
+ const created = await createMediaEntry(env, {
55
59
  assetId,
56
60
  name,
57
61
  locale,
58
62
  });
59
- createdMediaEntryIds.push(id);
60
- return makeEntryLink(id);
63
+ rememberCreatedMedia(createdMediaEntryIds, createdMediaEntries, created);
64
+ return makeEntryLink(created.id);
61
65
  }
62
- async function applyVisualShorthandsForBase(base, fields, fieldById, env, space, locale, warnings, createdMediaEntryIds) {
66
+ async function applyVisualShorthandsForBase(base, fields, fieldById, env, space, locale, warnings, createdMediaEntryIds, createdMediaEntries) {
63
67
  const fieldDef = fieldById.get(base);
64
68
  if (!fieldDef) {
65
69
  for (const key of shorthandKeysForBase(base)) {
@@ -89,15 +93,15 @@ async function applyVisualShorthandsForBase(base, fields, fieldById, env, space,
89
93
  if (linkType !== 'Entry') {
90
94
  throw new Error(`Field "${base}" is not an Entry link — cannot use "${mediaKey}".`);
91
95
  }
92
- const { id } = await createMediaEntry(env, {
96
+ const created = await createMediaEntry(env, {
93
97
  assetId: mediaSpec.assetId,
94
98
  name: mediaSpec.name,
95
99
  locale,
96
100
  position: mediaSpec.position,
97
101
  width: mediaSpec.width,
98
102
  });
99
- createdMediaEntryIds.push(id);
100
- resolved = makeEntryLink(id);
103
+ rememberCreatedMedia(createdMediaEntryIds, createdMediaEntries, created);
104
+ resolved = makeEntryLink(created.id);
101
105
  }
102
106
  else if (fields[filenameKey] !== undefined) {
103
107
  const fileName = String(fields[filenameKey]);
@@ -107,7 +111,7 @@ async function applyVisualShorthandsForBase(base, fields, fieldById, env, space,
107
111
  }
108
112
  else {
109
113
  const mediaName = fields[mediaNameKey] !== undefined ? String(fields[mediaNameKey]) : undefined;
110
- resolved = await resolveMediaForAssetFilename(env, space, locale, fileName, mediaName, base, warnings, createdMediaEntryIds);
114
+ resolved = await resolveMediaForAssetFilename(env, space, locale, fileName, mediaName, base, warnings, createdMediaEntryIds, createdMediaEntries);
111
115
  }
112
116
  }
113
117
  else if (fields[assetIdKey] !== undefined) {
@@ -145,13 +149,14 @@ async function applyVisualShorthandsForBase(base, fields, fieldById, env, space,
145
149
  export async function resolveComponentFieldsFromJson(rawFields, ctFields, env, space, locale) {
146
150
  const warnings = [];
147
151
  const createdMediaEntryIds = [];
152
+ const createdMediaEntries = [];
148
153
  const fields = { ...rawFields };
149
154
  const fieldById = new Map(ctFields.map((f) => [f.id, f]));
150
155
  for (const base of VISUAL_FIELD_BASES) {
151
- await applyVisualShorthandsForBase(base, fields, fieldById, env, space, locale, warnings, createdMediaEntryIds);
156
+ await applyVisualShorthandsForBase(base, fields, fieldById, env, space, locale, warnings, createdMediaEntryIds, createdMediaEntries);
152
157
  }
153
158
  await applyGenericLinkShorthands(fields, fieldById, env, space, locale, warnings, createdMediaEntryIds);
154
- return { fields, warnings, createdMediaEntryIds };
159
+ return { fields, warnings, createdMediaEntryIds, createdMediaEntries };
155
160
  }
156
161
  async function applyGenericLinkShorthands(fields, fieldById, _env, space, _locale, _warnings, _createdMediaEntryIds) {
157
162
  for (const [fieldId, fieldDef] of fieldById) {
@@ -1 +1 @@
1
- {"version":3,"file":"field-value-from-json.js","sourceRoot":"","sources":["../../src/contentful/field-value-from-json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field-value-from-json.js","sourceRoot":"","sources":["../../src/contentful/field-value-from-json.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { SpaceConfig } from '../config/types.js';
1
2
  import type { SafeEnvironment } from './client.js';
2
3
  export type LinkType = 'internal' | 'external' | 'download' | 'blank';
3
4
  export interface BuildLinkEntryFieldsOptions {
@@ -8,11 +9,13 @@ export interface BuildLinkEntryFieldsOptions {
8
9
  internalEntryId?: string;
9
10
  assetId?: string;
10
11
  variant?: string;
12
+ /** When false, the CTA shows `label` / linkText instead of the internal name. from-json sets false. */
13
+ useName?: boolean;
11
14
  }
12
15
  /**
13
16
  * Resolve a page/article slug to a Contentful entry ID.
14
17
  */
15
- export declare function resolveSlugToEntryId(env: SafeEnvironment, slug: string): Promise<string | null>;
18
+ export declare function resolveSlugToEntryId(env: SafeEnvironment, slug: string, space?: SpaceConfig): Promise<string | null>;
16
19
  /**
17
20
  * Build CMA locale-keyed fields for a new `link` content type entry.
18
21
  * Caller must resolve slug → entry ID before calling for internal links.
@@ -1 +1 @@
1
- {"version":3,"file":"link-fields.d.ts","sourceRoot":"","sources":["../../src/contentful/link-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;AAEtE,MAAM,WAAW,2BAA2B;IAC1C,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAYxB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,2BAA2B,EACjC,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA6BzC;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC/C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAET"}
1
+ {"version":3,"file":"link-fields.d.ts","sourceRoot":"","sources":["../../src/contentful/link-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;AAEtE,MAAM,WAAW,2BAA2B;IAC1C,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uGAAuG;IACvG,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAID;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgBxB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,2BAA2B,EACjC,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA6BzC;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC/C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAET"}
@@ -1,8 +1,14 @@
1
+ import { resolveSlugIdFromIndex } from '../index/reference-lookup.js';
1
2
  const SLUG_CONTENT_TYPES = ['page', 'article', 'articleType', 'tag'];
2
3
  /**
3
4
  * Resolve a page/article slug to a Contentful entry ID.
4
5
  */
5
- export async function resolveSlugToEntryId(env, slug) {
6
+ export async function resolveSlugToEntryId(env, slug, space) {
7
+ if (space) {
8
+ const fromIndex = resolveSlugIdFromIndex(space, slug);
9
+ if (fromIndex)
10
+ return fromIndex;
11
+ }
6
12
  let slugValue = slug.startsWith('/') ? slug.slice(1) : slug;
7
13
  if (slugValue.endsWith('/'))
8
14
  slugValue = slugValue.slice(0, -1);
@@ -25,7 +31,7 @@ export function buildLinkEntryFields(opts, locale) {
25
31
  const linkType = opts.type ?? 'external';
26
32
  const fields = {
27
33
  name: { [locale]: opts.label ?? '' },
28
- useName: { [locale]: true },
34
+ useName: { [locale]: opts.useName ?? true },
29
35
  };
30
36
  if (opts.variant !== undefined && opts.variant !== '') {
31
37
  fields['variant'] = { [locale]: opts.variant };
@@ -1 +1 @@
1
- {"version":3,"file":"link-fields.js","sourceRoot":"","sources":["../../src/contentful/link-fields.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"link-fields.js","sourceRoot":"","sources":["../../src/contentful/link-fields.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export declare function defaultMediaNameForAsset(env: SafeEnvironment, assetId:
16
16
  */
17
17
  export declare function createMediaEntry(env: SafeEnvironment, opts: CreateMediaEntryOptions): Promise<{
18
18
  id: string;
19
+ entry: EntryProps;
19
20
  }>;
20
21
  export declare function listMediaForAsset(env: SafeEnvironment, assetId: string, locale: string): Promise<Array<{
21
22
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/contentful/media.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAElE,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,uBAAuB,GAAG,SAAS,CASrC;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,gEAAgE;AAChE,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CA4BzB;AAED,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAG9C;AAQD,iEAAiE;AACjE,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,EAAE,CAAC,CAoBvB"}
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/contentful/media.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAElE,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,uBAAuB,GAAG,SAAS,CASrC;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,gEAAgE;AAChE,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC,CA4B5C;AAED,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAG9C;AAQD,iEAAiE;AACjE,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,EAAE,CAAC,CAoBvB"}
@@ -48,7 +48,7 @@ export async function createMediaEntry(env, opts) {
48
48
  fields.width = { [opts.locale]: opts.width };
49
49
  }
50
50
  const entry = await env.createEntry('media', fields);
51
- return { id: entry.sys.id };
51
+ return { id: entry.sys.id, entry };
52
52
  }
53
53
  export async function listMediaForAsset(env, assetId, locale) {
54
54
  const entries = await listAllMediaForAsset(env, assetId, locale);
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/contentful/media.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/contentful/media.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { SessionState } from '../session/state.js';
2
+ import type { EntrySpec } from './create-from-json-types.js';
3
+ /**
4
+ * Serializes an open session into create/apply from-json shape (ids + versions + fields).
5
+ */
6
+ export declare function sessionToFromJson(session: SessionState): EntrySpec;
7
+ //# sourceMappingURL=session-to-from-json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-to-from-json.d.ts","sourceRoot":"","sources":["../../src/contentful/session-to-from-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAiB,SAAS,EAAgB,MAAM,6BAA6B,CAAC;AA6H1F;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,SAAS,CA2DlE"}
@@ -0,0 +1,180 @@
1
+ const TREE_ARRAY_FIELDS = new Set([
2
+ 'content',
3
+ 'topContent',
4
+ 'bottomContent',
5
+ 'contents',
6
+ 'links',
7
+ 'preContent',
8
+ 'postContent',
9
+ 'items',
10
+ 'navigationItems',
11
+ ]);
12
+ function localeValue(entry, fieldId, locale) {
13
+ const map = entry.fields[fieldId];
14
+ if (!map)
15
+ return undefined;
16
+ return map[locale] ?? map['en-US'];
17
+ }
18
+ function entryLinkIds(value) {
19
+ if (!Array.isArray(value))
20
+ return [];
21
+ const ids = [];
22
+ for (const item of value) {
23
+ if (typeof item === 'object' &&
24
+ item !== null &&
25
+ 'sys' in item &&
26
+ typeof item.sys?.id === 'string' &&
27
+ item.sys.linkType === 'Entry') {
28
+ ids.push(item.sys.id);
29
+ }
30
+ }
31
+ return ids;
32
+ }
33
+ function flattenFields(entry, locale) {
34
+ const fields = {};
35
+ for (const [fieldId, localeMap] of Object.entries(entry.fields)) {
36
+ if (TREE_ARRAY_FIELDS.has(fieldId))
37
+ continue;
38
+ if (fieldId.endsWith('Type') && fieldId !== 'articleType')
39
+ continue;
40
+ if (fieldId === 'cmsLabel' || fieldId === 'slug' || fieldId === 'title')
41
+ continue;
42
+ const value = localeMap[locale] ?? localeMap['en-US'];
43
+ if (value === undefined)
44
+ continue;
45
+ fields[fieldId] = value;
46
+ }
47
+ return fields;
48
+ }
49
+ function exportLink(entry, locale) {
50
+ const spec = {
51
+ existingId: entry.sys.id,
52
+ };
53
+ const name = localeValue(entry, 'name', locale);
54
+ if (typeof name === 'string')
55
+ spec.label = name;
56
+ const variant = localeValue(entry, 'variant', locale);
57
+ if (typeof variant === 'string')
58
+ spec.variant = variant;
59
+ const internal = localeValue(entry, 'internal', locale);
60
+ const external = localeValue(entry, 'external', locale);
61
+ const download = localeValue(entry, 'download', locale);
62
+ if (internal?.sys?.id) {
63
+ spec.type = 'internal';
64
+ spec.id = internal.sys.id;
65
+ }
66
+ else if (typeof external === 'string' && external) {
67
+ spec.type = 'external';
68
+ spec.href = external;
69
+ }
70
+ else if (download?.sys?.id) {
71
+ spec.type = 'download';
72
+ spec.assetId = download.sys.id;
73
+ }
74
+ else {
75
+ spec.type = 'blank';
76
+ }
77
+ return spec;
78
+ }
79
+ function exportComponent(session, entryId, locale, target) {
80
+ const entry = session.entries[entryId];
81
+ if (!entry) {
82
+ return { existingId: entryId, ...(target ? { target } : {}) };
83
+ }
84
+ const ctId = entry.sys.contentType.sys.id;
85
+ const typeFieldId = `${ctId}Type`;
86
+ const typeVal = localeValue(entry, typeFieldId, locale);
87
+ const cmsLabel = localeValue(entry, 'cmsLabel', locale);
88
+ const spec = {
89
+ existingId: entry.sys.id,
90
+ version: entry.sys.version,
91
+ contentType: ctId,
92
+ };
93
+ if (target)
94
+ spec.target = target;
95
+ if (typeof typeVal === 'string' && typeVal)
96
+ spec.type = typeVal;
97
+ if (typeof cmsLabel === 'string' && cmsLabel)
98
+ spec.cmsLabel = cmsLabel;
99
+ const fields = flattenFields(entry, locale);
100
+ if (Object.keys(fields).length > 0)
101
+ spec.fields = fields;
102
+ if (ctId === 'component' || ctId === 'collection') {
103
+ const linkIds = entryLinkIds(localeValue(entry, 'links', locale));
104
+ if (linkIds.length > 0) {
105
+ spec.links = linkIds.map((id) => {
106
+ const linkEntry = session.entries[id];
107
+ return linkEntry ? exportLink(linkEntry, locale) : { existingId: id };
108
+ });
109
+ }
110
+ }
111
+ if (ctId === 'collection') {
112
+ const itemIds = entryLinkIds(localeValue(entry, 'contents', locale));
113
+ if (itemIds.length > 0) {
114
+ spec.items = itemIds.map((id) => exportComponent(session, id, locale));
115
+ }
116
+ }
117
+ return spec;
118
+ }
119
+ /**
120
+ * Serializes an open session into create/apply from-json shape (ids + versions + fields).
121
+ */
122
+ export function sessionToFromJson(session) {
123
+ const locale = session.defaultLocale;
124
+ const root = session.entries[session.rootEntryId];
125
+ if (!root) {
126
+ throw new Error('Session root entry is missing. Re-open the page, then export again.');
127
+ }
128
+ const slugVal = localeValue(root, 'slug', locale);
129
+ const titleVal = localeValue(root, 'title', locale);
130
+ const descriptionVal = localeValue(root, 'description', locale);
131
+ const cmsLabelVal = localeValue(root, 'cmsLabel', locale);
132
+ const indexedVal = localeValue(root, 'indexed', locale);
133
+ const hiddenVal = localeValue(root, 'hidden', locale);
134
+ const template = localeValue(root, 'template', locale);
135
+ const featured = localeValue(root, 'featuredImage', locale);
136
+ const articleType = localeValue(root, 'articleType', locale);
137
+ const dateVal = localeValue(root, 'date', locale);
138
+ const spec = {
139
+ type: session.rootEntryType === 'article' ? 'article' : 'page',
140
+ slug: typeof slugVal === 'string' ? slugVal : '',
141
+ title: typeof titleVal === 'string' ? titleVal : '',
142
+ existingId: root.sys.id,
143
+ version: root.sys.version,
144
+ };
145
+ if (typeof descriptionVal === 'string')
146
+ spec.description = descriptionVal;
147
+ if (typeof cmsLabelVal === 'string')
148
+ spec.cmsLabel = cmsLabelVal;
149
+ if (typeof indexedVal === 'boolean')
150
+ spec.indexed = indexedVal;
151
+ if (typeof hiddenVal === 'boolean')
152
+ spec.hidden = hiddenVal;
153
+ if (template?.sys?.id)
154
+ spec.templateId = template.sys.id;
155
+ if (featured?.sys?.id)
156
+ spec.featuredImage = featured.sys.id;
157
+ if (articleType?.sys?.id)
158
+ spec.articleTypeId = articleType.sys.id;
159
+ if (typeof dateVal === 'string')
160
+ spec.date = dateVal.slice(0, 10);
161
+ const components = [];
162
+ const rootCt = root.sys.contentType.sys.id;
163
+ const fieldTargets = rootCt === 'page' || rootCt === 'article'
164
+ ? [
165
+ { field: 'topContent', target: 'topContent' },
166
+ { field: 'content' },
167
+ { field: 'bottomContent', target: 'bottomContent' },
168
+ ]
169
+ : rootCt === 'collection'
170
+ ? [{ field: 'contents' }]
171
+ : [];
172
+ for (const { field, target } of fieldTargets) {
173
+ for (const id of entryLinkIds(localeValue(root, field, locale))) {
174
+ components.push(exportComponent(session, id, locale, target));
175
+ }
176
+ }
177
+ spec.components = components;
178
+ return spec;
179
+ }
180
+ //# sourceMappingURL=session-to-from-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-to-from-json.js","sourceRoot":"","sources":["../../src/contentful/session-to-from-json.ts"],"names":[],"mappings":"AAGA,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,SAAS;IACT,YAAY;IACZ,eAAe;IACf,UAAU;IACV,OAAO;IACP,YAAY;IACZ,aAAa;IACb,OAAO;IACP,iBAAiB;CAClB,CAAC,CAAC;AAEH,SAAS,WAAW,CAAC,KAAsB,EAAE,OAAe,EAAE,MAAc;IAC1E,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IACE,OAAO,IAAI,KAAK,QAAQ;YACxB,IAAI,KAAK,IAAI;YACb,KAAK,IAAI,IAAI;YACb,OAAQ,IAAqD,CAAC,GAAG,EAAE,EAAE,KAAK,QAAQ;YACjF,IAAuC,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,EACjE,CAAC;YACD,GAAG,CAAC,IAAI,CAAE,IAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,aAAa,CAAC,KAAsB,EAAE,MAAc;IAC3D,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAChE,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAS;QAC7C,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,KAAK,aAAa;YAAE,SAAS;QACpE,IAAI,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,OAAO;YAAE,SAAS;QAClF,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,KAAsB,EAAE,MAAc;IACxD,MAAM,IAAI,GAAiB;QACzB,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE;KACzB,CAAC;IACF,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IAChD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACtD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAExD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAA0C,CAAC;IACjG,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAA0C,CAAC;IAEjG,IAAI,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5B,CAAC;SAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,EAAE,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;IACvB,CAAC;SAAM,IAAI,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CACtB,OAAqB,EACrB,OAAe,EACf,MAAc,EACd,MAAe;IAEf,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAChE,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;IAC1C,MAAM,WAAW,GAAG,GAAG,IAAI,MAAM,CAAC;IAClC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,IAAI,GAAkB;QAC1B,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE;QACxB,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO;QAC1B,WAAW,EAAE,IAAI;KAClB,CAAC;IACF,IAAI,MAAM;QAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACjC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO;QAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IAChE,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ;QAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAEvE,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IAEzD,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAClE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACtC,OAAO,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YACxE,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QACrE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAqB;IACrD,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IACrC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAClD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAA0C,CAAC;IAChG,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,CAE7C,CAAC;IACd,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAE9C,CAAC;IACd,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAElD,MAAM,IAAI,GAAc;QACtB,IAAI,EAAE,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;QAC9D,IAAI,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QAChD,KAAK,EAAE,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;QACnD,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;QACvB,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO;KAC1B,CAAC;IACF,IAAI,OAAO,cAAc,KAAK,QAAQ;QAAE,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC;IAC1E,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;IACjE,IAAI,OAAO,UAAU,KAAK,SAAS;QAAE,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;IAC/D,IAAI,OAAO,SAAS,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC5D,IAAI,QAAQ,EAAE,GAAG,EAAE,EAAE;QAAE,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;IACzD,IAAI,QAAQ,EAAE,GAAG,EAAE,EAAE;QAAE,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5D,IAAI,WAAW,EAAE,GAAG,EAAE,EAAE;QAAE,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;IAClE,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAElE,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3C,MAAM,YAAY,GAChB,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,SAAS;QACvC,CAAC,CAAC;YACE,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE;YAC7C,EAAE,KAAK,EAAE,SAAS,EAAE;YACpB,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE;SACpD;QACH,CAAC,CAAC,MAAM,KAAK,YAAY;YACvB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;YACzB,CAAC,CAAC,EAAE,CAAC;IAEX,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC7C,KAAK,MAAM,EAAE,IAAI,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YAChE,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC7B,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -3,6 +3,7 @@ import type { SessionState } from '../session/state.js';
3
3
  import type { SafeEnvironment } from './client.js';
4
4
  /** Clears in-process content-type cache (for tests). */
5
5
  export declare function clearContentTypeCacheForTests(): void;
6
+ export declare function loadContentType(env: SafeEnvironment, spaceId: string, environment: string, ctId: string): Promise<ContentTypeProps>;
6
7
  export declare function getContentTypeCached(env: SafeEnvironment, session: SessionState, ctId: string): Promise<ContentTypeProps>;
7
8
  export declare function getActiveFieldDef(ct: ContentTypeProps, fieldId: string): ContentFields | undefined;
8
9
  export type SetSchemaConflict = {
@@ -1 +1 @@
1
- {"version":3,"file":"set-field-schema.d.ts","sourceRoot":"","sources":["../../src/contentful/set-field-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA+BnD,wDAAwD;AACxD,wBAAgB,6BAA6B,IAAI,IAAI,CAEpD;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,gBAAgB,CAAC,CAoB3B;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,gBAAgB,EACpB,OAAO,EAAE,MAAM,GACd,aAAa,GAAG,SAAS,CAE3B;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAE/B;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAuBf;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,IAAI,CA4Bf;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,aAAa,GAAG,SAAS,GAClC,iBAAiB,GAAG,IAAI,CA2B1B"}
1
+ {"version":3,"file":"set-field-schema.d.ts","sourceRoot":"","sources":["../../src/contentful/set-field-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA+BnD,wDAAwD;AACxD,wBAAgB,6BAA6B,IAAI,IAAI,CAEpD;AAED,wBAAsB,eAAe,CACnC,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,gBAAgB,CAAC,CAM3B;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,gBAAgB,CAAC,CAoB3B;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,gBAAgB,EACpB,OAAO,EAAE,MAAM,GACd,aAAa,GAAG,SAAS,CAE3B;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAE/B;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAuBf;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,IAAI,CA4Bf;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,aAAa,GAAG,SAAS,GAClC,iBAAiB,GAAG,IAAI,CA2B1B"}
@@ -19,6 +19,14 @@ function persistContentTypeEverywhere(session, ctId, ct) {
19
19
  export function clearContentTypeCacheForTests() {
20
20
  contentTypeCache.clear();
21
21
  }
22
+ export async function loadContentType(env, spaceId, environment, ctId) {
23
+ const fromDisk = readContentTypeFromDisk(spaceId, environment, ctId);
24
+ if (fromDisk)
25
+ return fromDisk;
26
+ const ct = await env.getContentType(ctId);
27
+ writeContentTypeToDisk(spaceId, environment, ctId, ct);
28
+ return ct;
29
+ }
22
30
  export async function getContentTypeCached(env, session, ctId) {
23
31
  const key = contentTypeCacheKey(session, ctId);
24
32
  let ct = contentTypeCache.get(key);
@@ -1 +1 @@
1
- {"version":3,"file":"set-field-schema.js","sourceRoot":"","sources":["../../src/contentful/set-field-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"set-field-schema.js","sourceRoot":"","sources":["../../src/contentful/set-field-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { EntrySpec, PageLinkSpec } from './create-from-json-types.js';
2
+ /**
3
+ * Validates create/apply from-json payload shape before any Contentful write.
4
+ * Always strict about the `content` vs `components` trap and nested discriminator keys.
5
+ */
6
+ export declare function validateFromJsonTree(raw: unknown): {
7
+ spec: EntrySpec;
8
+ errors: string[];
9
+ };
10
+ export declare function formatFromJsonValidationErrors(errors: string[]): string;
11
+ export declare function summarizeLinkPlan(link: PageLinkSpec): string;
12
+ //# sourceMappingURL=validate-from-json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-from-json.d.ts","sourceRoot":"","sources":["../../src/contentful/validate-from-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,SAAS,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAgF1F;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CA6BxF;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAEvE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAM5D"}
@@ -0,0 +1,106 @@
1
+ import { COMPONENT_SPEC_KEYS, LINK_SPEC_KEYS } from './create-from-json-types.js';
2
+ function isPlainObject(value) {
3
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
4
+ }
5
+ function looksLikeComponentSpec(value) {
6
+ if (!isPlainObject(value))
7
+ return false;
8
+ return (typeof value.contentType === 'string' ||
9
+ typeof value.type === 'string' ||
10
+ typeof value.componentType === 'string' ||
11
+ typeof value.collectionType === 'string' ||
12
+ typeof value.existingId === 'string' ||
13
+ isPlainObject(value.fields));
14
+ }
15
+ function unknownKeys(obj, allowed) {
16
+ return Object.keys(obj).filter((k) => !allowed.has(k));
17
+ }
18
+ function collectComponentErrors(spec, path, errors) {
19
+ if (!isPlainObject(spec)) {
20
+ errors.push(`${path}: expected an object`);
21
+ return;
22
+ }
23
+ if (typeof spec.componentType === 'string' && spec.type === undefined) {
24
+ errors.push(`${path}: use "type" for the discriminator (got "componentType": "${spec.componentType}"). ` +
25
+ 'create from-json ignores componentType, so the entry would be created with an empty type.');
26
+ }
27
+ if (typeof spec.collectionType === 'string' && spec.type === undefined) {
28
+ errors.push(`${path}: use "type" for the discriminator (got "collectionType": "${spec.collectionType}").`);
29
+ }
30
+ for (const key of unknownKeys(spec, COMPONENT_SPEC_KEYS)) {
31
+ if (key === 'componentType' || key === 'collectionType')
32
+ continue;
33
+ errors.push(`${path}: unknown key "${key}" (allowed: ${[...COMPONENT_SPEC_KEYS].join(', ')})`);
34
+ }
35
+ if (spec.links !== undefined) {
36
+ if (!Array.isArray(spec.links)) {
37
+ errors.push(`${path}.links: expected an array`);
38
+ }
39
+ else {
40
+ spec.links.forEach((link, i) => {
41
+ collectLinkErrors(link, `${path}.links[${i}]`, errors);
42
+ });
43
+ }
44
+ }
45
+ if (spec.items !== undefined) {
46
+ if (!Array.isArray(spec.items)) {
47
+ errors.push(`${path}.items: expected an array`);
48
+ }
49
+ else {
50
+ spec.items.forEach((item, i) => {
51
+ collectComponentErrors(item, `${path}.items[${i}]`, errors);
52
+ });
53
+ }
54
+ }
55
+ }
56
+ function collectLinkErrors(spec, path, errors) {
57
+ if (!isPlainObject(spec)) {
58
+ errors.push(`${path}: expected a link object`);
59
+ return;
60
+ }
61
+ for (const key of unknownKeys(spec, LINK_SPEC_KEYS)) {
62
+ errors.push(`${path}: unknown key "${key}" (allowed: ${[...LINK_SPEC_KEYS].join(', ')})`);
63
+ }
64
+ if (typeof spec.linkText === 'string' && spec.label === undefined) {
65
+ errors.push(`${path}: use "label" for CTA text (got "linkText")`);
66
+ }
67
+ }
68
+ /**
69
+ * Validates create/apply from-json payload shape before any Contentful write.
70
+ * Always strict about the `content` vs `components` trap and nested discriminator keys.
71
+ */
72
+ export function validateFromJsonTree(raw) {
73
+ const errors = [];
74
+ if (!isPlainObject(raw)) {
75
+ return { spec: raw, errors: ['JSON root must be an object'] };
76
+ }
77
+ const spec = raw;
78
+ if (Array.isArray(spec.content) && spec.content.some(looksLikeComponentSpec)) {
79
+ errors.push('Top-level "content" looks like a component tree. Use "components" for nested entries. ' +
80
+ '"content" is a page field (array of entry links) — putting a tree there creates an empty page.');
81
+ }
82
+ if (!Array.isArray(spec.components) || spec.components.length === 0) {
83
+ const applyRootOnly = typeof spec.existingId === 'string' && spec.existingId.trim() !== '';
84
+ if (!applyRootOnly) {
85
+ errors.push('JSON must include a non-empty "components" array. Incremental add/set is for patches, not a whole page.');
86
+ }
87
+ }
88
+ else {
89
+ spec.components.forEach((comp, i) => {
90
+ collectComponentErrors(comp, `components[${i}]`, errors);
91
+ });
92
+ }
93
+ return { spec, errors };
94
+ }
95
+ export function formatFromJsonValidationErrors(errors) {
96
+ return `create from-json validation failed:\n${errors.map((e) => ` - ${e}`).join('\n')}`;
97
+ }
98
+ export function summarizeLinkPlan(link) {
99
+ if (link.existingId)
100
+ return `existing ${link.existingId}`;
101
+ const kind = link.type ?? 'external';
102
+ const label = link.label ?? '';
103
+ const dest = link.slug ?? link.href ?? link.id ?? link.assetId ?? '';
104
+ return `${kind} "${label}" ${dest}`.trim();
105
+ }
106
+ //# sourceMappingURL=validate-from-json.js.map