@se-studio/contentful-cms 3.4.2 → 3.4.4

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 (47) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/commands/add-target-field.d.ts +15 -0
  3. package/dist/commands/add-target-field.d.ts.map +1 -0
  4. package/dist/commands/add-target-field.js +48 -0
  5. package/dist/commands/add-target-field.js.map +1 -0
  6. package/dist/commands/add.d.ts.map +1 -1
  7. package/dist/commands/add.js +89 -73
  8. package/dist/commands/add.js.map +1 -1
  9. package/dist/commands/media.d.ts.map +1 -1
  10. package/dist/commands/media.js +14 -0
  11. package/dist/commands/media.js.map +1 -1
  12. package/dist/generated/hosted-guide.d.ts +1 -1
  13. package/dist/generated/hosted-guide.d.ts.map +1 -1
  14. package/dist/generated/hosted-guide.js +1 -1
  15. package/dist/generated/hosted-guide.js.map +1 -1
  16. package/dist/generated/version.d.ts +1 -1
  17. package/dist/generated/version.js +1 -1
  18. package/dist/mcp/tools/cms-edit.d.ts.map +1 -1
  19. package/dist/mcp/tools/cms-edit.js +31 -2
  20. package/dist/mcp/tools/cms-edit.js.map +1 -1
  21. package/dist/mcp/tools/media.d.ts.map +1 -1
  22. package/dist/mcp/tools/media.js +38 -6
  23. package/dist/mcp/tools/media.js.map +1 -1
  24. package/dist/media-pipeline/actions.js +26 -2
  25. package/dist/media-pipeline/actions.js.map +1 -1
  26. package/dist/media-pipeline/import-filter.d.ts +36 -0
  27. package/dist/media-pipeline/import-filter.d.ts.map +1 -0
  28. package/dist/media-pipeline/import-filter.js +53 -0
  29. package/dist/media-pipeline/import-filter.js.map +1 -0
  30. package/dist/media-pipeline/import.d.ts +6 -0
  31. package/dist/media-pipeline/import.d.ts.map +1 -1
  32. package/dist/media-pipeline/import.js +28 -1
  33. package/dist/media-pipeline/import.js.map +1 -1
  34. package/dist/media-pipeline/job-store.d.ts +8 -0
  35. package/dist/media-pipeline/job-store.d.ts.map +1 -1
  36. package/dist/media-pipeline/job-store.js +12 -0
  37. package/dist/media-pipeline/job-store.js.map +1 -1
  38. package/dist/preview/entry-urls.d.ts +13 -2
  39. package/dist/preview/entry-urls.d.ts.map +1 -1
  40. package/dist/preview/entry-urls.js +49 -11
  41. package/dist/preview/entry-urls.js.map +1 -1
  42. package/docs/editor-tasks/create-from-document.md +3 -2
  43. package/docs/editor-tasks/media-pipeline-prepare.md +47 -14
  44. package/docs/editor-tasks/media-reuse-and-upload.md +13 -3
  45. package/docs/editor-tasks/preview-verify.md +7 -6
  46. package/docs/mcp/hosted-guide.md +11 -0
  47. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/media-pipeline/import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/media-pipeline/import.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,12 @@ export interface MediaJobBinding {
9
9
  createdAt: number;
10
10
  /** Whether concurrent-slot was already released after terminal status. */
11
11
  concurrentReleased?: boolean;
12
+ /**
13
+ * Last successful pipeline status payload (JSON-serializable). Used when the
14
+ * pipeline briefly 404s after we already observed real status.
15
+ */
16
+ lastStatus?: unknown;
17
+ lastStatusAt?: number;
12
18
  }
13
19
  export declare class MediaPipelineJobStore {
14
20
  private readonly redis;
@@ -25,6 +31,8 @@ export declare class MediaPipelineJobStore {
25
31
  getBinding(jobId: string): Promise<MediaJobBinding | null>;
26
32
  assertOwned(jobId: string, userId: string): Promise<MediaJobBinding>;
27
33
  markConcurrentReleased(jobId: string, userId: string): Promise<void>;
34
+ /** Persist last good pipeline status on the ownership binding (overwrite OK). */
35
+ saveLastStatus(jobId: string, userId: string, status: unknown): Promise<void>;
28
36
  }
29
37
  export declare class MediaJobStoreError extends Error {
30
38
  readonly code: string;
@@ -1 +1 @@
1
- {"version":3,"file":"job-store.d.ts","sourceRoot":"","sources":["../../src/media-pipeline/job-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG/D,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAuBD,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBADjB,KAAK,EAAE,WAAW,EAClB,iBAAiB,SAAgC;IAGpE,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,aAAa;IAIf,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBzE,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc1E,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpD,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAapD,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAapD,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAI1D,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAmBpE,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAW3E;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAGzC,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAFvB,OAAO,EAAE,MAAM,EACN,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM;CAK1B;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,IAAI,WAAW,GAAG;IACjD,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrD,CAkDA"}
1
+ {"version":3,"file":"job-store.d.ts","sourceRoot":"","sources":["../../src/media-pipeline/job-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG/D,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAuBD,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBADjB,KAAK,EAAE,WAAW,EAClB,iBAAiB,SAAgC;IAGpE,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,aAAa;IAIf,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBzE,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc1E,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpD,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAapD,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAapD,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAI1D,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAmBpE,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY1E,iFAAiF;IAC3E,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAWpF;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAGzC,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAFvB,OAAO,EAAE,MAAM,EACN,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM;CAK1B;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,IAAI,WAAW,GAAG;IACjD,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrD,CAkDA"}
@@ -108,6 +108,18 @@ export class MediaPipelineJobStore {
108
108
  });
109
109
  await this.releaseConcurrentSlot(userId);
110
110
  }
111
+ /** Persist last good pipeline status on the ownership binding (overwrite OK). */
112
+ async saveLastStatus(jobId, userId, status) {
113
+ const binding = await this.getBinding(jobId);
114
+ if (!binding || binding.userId !== userId) {
115
+ return;
116
+ }
117
+ binding.lastStatus = status;
118
+ binding.lastStatusAt = Date.now();
119
+ await this.redis.set(this.jobKey(jobId), JSON.stringify(binding), {
120
+ ex: this.bindingTtlSeconds,
121
+ });
122
+ }
111
123
  }
112
124
  export class MediaJobStoreError extends Error {
113
125
  code;
@@ -1 +1 @@
1
- {"version":3,"file":"job-store.js","sourceRoot":"","sources":["../../src/media-pipeline/job-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"job-store.js","sourceRoot":"","sources":["../../src/media-pipeline/job-store.ts"],"names":[],"mappings":"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"}
@@ -16,16 +16,27 @@ export interface PreviewUrlResult {
16
16
  /** When true, draft-only changes are visible at this URL. */
17
17
  showsDrafts: boolean;
18
18
  notes?: string;
19
+ /** Set when contentfulLivePreview could not be resolved. */
20
+ unavailableReason?: string;
21
+ httpStatus?: number;
19
22
  }
23
+ export type LivePreviewFetchResult = {
24
+ ok: true;
25
+ url: string;
26
+ } | {
27
+ ok: false;
28
+ unavailableReason: string;
29
+ httpStatus?: number;
30
+ };
20
31
  export declare function sortPreviewUrlResults(results: PreviewUrlResult[]): PreviewUrlResult[];
21
32
  export declare function buildContentfulEntryUrl(spaceId: string, environment: string, entryId: string, options?: {
22
33
  focusedField?: string;
23
34
  }): string;
24
35
  /**
25
36
  * Fetches Contentful's in-app live preview URL (includes ephemeral preview token).
26
- * Falls back to null when the API is unavailable or the token cannot be resolved.
37
+ * Returns a structured result so callers can surface why Live Preview is missing.
27
38
  */
28
- export declare function fetchContentfulLivePreviewUrl(spaceId: string, environment: string, entryId: string, managementToken: string): Promise<string | null>;
39
+ export declare function fetchContentfulLivePreviewUrl(spaceId: string, environment: string, entryId: string, managementToken: string): Promise<LivePreviewFetchResult>;
29
40
  export declare function buildPreviewUrls(input: BuildPreviewUrlsInput): PreviewUrlResult[];
30
41
  export declare function buildAllPreviewUrls(input: BuildPreviewUrlsInput & {
31
42
  managementToken?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"entry-urls.d.ts","sourceRoot":"","sources":["../../src/preview/entry-urls.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,YAAY,GACZ,iBAAiB,GACjB,iBAAiB,GACjB,uBAAuB,CAAC;AAE5B,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,6DAA6D;IAC7D,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAWD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAIrF;AAWD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC,MAAM,CAMR;AAED;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAaxB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,gBAAgB,EAAE,CA4DjF;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,qBAAqB,GAAG;IAAE,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAuB7B"}
1
+ {"version":3,"file":"entry-urls.d.ts","sourceRoot":"","sources":["../../src/preview/entry-urls.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,YAAY,GACZ,iBAAiB,GACjB,iBAAiB,GACjB,uBAAuB,CAAC;AAE5B,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,6DAA6D;IAC7D,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAWlE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAIrF;AAWD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC,MAAM,CAMR;AAED;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,sBAAsB,CAAC,CAyCjC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,gBAAgB,EAAE,CA4DjF;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,qBAAqB,GAAG;IAAE,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAmC7B"}
@@ -27,7 +27,7 @@ export function buildContentfulEntryUrl(spaceId, environment, entryId, options)
27
27
  }
28
28
  /**
29
29
  * Fetches Contentful's in-app live preview URL (includes ephemeral preview token).
30
- * Falls back to null when the API is unavailable or the token cannot be resolved.
30
+ * Returns a structured result so callers can surface why Live Preview is missing.
31
31
  */
32
32
  export async function fetchContentfulLivePreviewUrl(spaceId, environment, entryId, managementToken) {
33
33
  const endpoint = `https://api.contentful.com/spaces/${spaceId}/environments/${environment}/entries/${entryId}/preview`;
@@ -35,14 +35,40 @@ export async function fetchContentfulLivePreviewUrl(spaceId, environment, entryI
35
35
  const res = await fetch(endpoint, {
36
36
  headers: { Authorization: `Bearer ${managementToken}` },
37
37
  });
38
- if (!res.ok)
39
- return null;
38
+ if (!res.ok) {
39
+ let bodyHint = '';
40
+ try {
41
+ const text = await res.text();
42
+ bodyHint = text.slice(0, 200);
43
+ }
44
+ catch {
45
+ // ignore
46
+ }
47
+ return {
48
+ ok: false,
49
+ httpStatus: res.status,
50
+ unavailableReason: `Contentful CMA entry preview returned HTTP ${String(res.status)}` +
51
+ (bodyHint ? ` (${bodyHint})` : '') +
52
+ '. Live Preview may be disabled for this space/entry, or the token may lack access.',
53
+ };
54
+ }
40
55
  const body = (await res.json());
41
56
  const url = body.url ?? body.preview_url;
42
- return typeof url === 'string' && url.startsWith('http') ? url : null;
57
+ if (typeof url === 'string' && url.startsWith('http')) {
58
+ return { ok: true, url };
59
+ }
60
+ return {
61
+ ok: false,
62
+ httpStatus: res.status,
63
+ unavailableReason: 'Contentful CMA entry preview returned no preview URL in the response body.',
64
+ };
43
65
  }
44
- catch {
45
- return null;
66
+ catch (err) {
67
+ const message = err instanceof Error ? err.message : String(err);
68
+ return {
69
+ ok: false,
70
+ unavailableReason: `Contentful Live Preview request failed: ${message}`,
71
+ };
46
72
  }
47
73
  }
48
74
  export function buildPreviewUrls(input) {
@@ -55,7 +81,7 @@ export function buildPreviewUrls(input) {
55
81
  label: 'Preview (staging site)',
56
82
  url: stagingUrl,
57
83
  showsDrafts: false,
58
- notes: 'Full-page check on the staging deployment (includes Vercel bypass params when configured). Use alongside Live preview — publish from the Live preview link.',
84
+ notes: 'Full-page check on the staging deployment (includes Vercel bypass params when configured). Use alongside Live preview when available — publish from the Live preview link.',
59
85
  });
60
86
  }
61
87
  if (input.devBaseUrl && input.entryId) {
@@ -90,7 +116,7 @@ export function buildPreviewUrls(input) {
90
116
  focusedField: input.focusedField,
91
117
  }),
92
118
  showsDrafts: true,
93
- notes: 'Classic entry editor. Prefer the Live preview link for reviewing drafts and publishing.',
119
+ notes: 'Classic entry editor. Prefer the Live preview link for reviewing drafts and publishing when available.',
94
120
  });
95
121
  }
96
122
  return results;
@@ -98,16 +124,28 @@ export function buildPreviewUrls(input) {
98
124
  export async function buildAllPreviewUrls(input) {
99
125
  const results = buildPreviewUrls(input);
100
126
  if (input.entryId && input.managementToken) {
101
- const livePreviewUrl = await fetchContentfulLivePreviewUrl(input.spaceId, input.environment, input.entryId, input.managementToken);
102
- if (livePreviewUrl) {
127
+ const live = await fetchContentfulLivePreviewUrl(input.spaceId, input.environment, input.entryId, input.managementToken);
128
+ if (live.ok) {
103
129
  results.push({
104
130
  target: 'contentfulLivePreview',
105
131
  label: 'Live preview (publish here)',
106
- url: livePreviewUrl,
132
+ url: live.url,
107
133
  showsDrafts: true,
108
134
  notes: 'Opens Contentful in-app preview editor. Review the draft, then click the green Publish button at the top.',
109
135
  });
110
136
  }
137
+ else {
138
+ results.push({
139
+ target: 'contentfulLivePreview',
140
+ label: 'Live preview (publish here)',
141
+ url: null,
142
+ showsDrafts: true,
143
+ unavailableReason: live.unavailableReason,
144
+ httpStatus: live.httpStatus,
145
+ notes: `${live.unavailableReason} ` +
146
+ 'Use staging + Contentful entry editor instead. Check Live Preview is enabled for this space and the OAuth token can call CMA entry preview.',
147
+ });
148
+ }
111
149
  }
112
150
  return sortPreviewUrlResults(results);
113
151
  }
@@ -1 +1 @@
1
- {"version":3,"file":"entry-urls.js","sourceRoot":"","sources":["../../src/preview/entry-urls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry-urls.js","sourceRoot":"","sources":["../../src/preview/entry-urls.ts"],"names":[],"mappings":"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"}
@@ -31,8 +31,9 @@
31
31
 
32
32
  1. If the package includes a **folder of images/videos** (typical case study): run **`task-media-pipeline-prepare`** **before** building blocks.
33
33
  2. Prefer pipeline **ready public URLs** + reuse-first import over mid-build staged upload of oversized masters.
34
- 3. Keep the `sourceName → assetId` map for Phase 2 field linking.
35
- 4. Skip this phase only when every needed visual is already in the Contentful library (confirmed via `asset search`).
34
+ 3. On import: use **`onlyWithOverrides` or `sourceNames`** so only beat-sheet assets land in Contentful; **dryRun first**; use unique `fileName` overrides when you must not reuse prior lab assets.
35
+ 4. Keep the `sourceName → assetId` / `mediaId` map for Phase 2 field linking. Singular component visuals: `set @cN visual <mediaId> --link` (never `add --target visual`).
36
+ 5. Skip this phase only when every needed visual is already in the Contentful library (confirmed via `asset search`).
36
37
 
37
38
  ### Phase 2 — Plan and create
38
39
 
@@ -25,7 +25,8 @@ Normalize a **folder of designer masters** into short-lived **public HTTPS URLs*
25
25
  - `MEDIA_PIPELINE_TENANT` (e.g. `se`, not the cms-edit projectKey)
26
26
  - Drive folder shared **Viewer** with pipeline service account
27
27
  `media-pipeline-reader@se-media-pipeline.iam.gserviceaccount.com`
28
- (or “anyone with the link” if using API-key Drive mode on the pipeline)
28
+ (or “anyone with the link” if using API-key Drive mode on the pipeline).
29
+ **If prepare/status reports `drive_inaccessible` or `drive_empty_or_unshared`:** fix the share first, then re-prepare **once**. Do not treat “no media files” as a wrong folder path until share is confirmed.
29
30
  - Profile default: `case-study-v1`
30
31
 
31
32
  ## When to use
@@ -35,6 +36,7 @@ Normalize a **folder of designer masters** into short-lived **public HTTPS URLs*
35
36
  | Drive/Figma package with large JPEGs/videos | **This task first**, then structure build |
36
37
  | Single small image already in library | `task-media-reuse-and-upload` only |
37
38
  | Masters already under limits and catalogued | Reuse search only |
39
+ | Prior prepare already reached `succeeded` + catalog | **Reuse that jobId** — do not re-prepare the whole folder |
38
40
 
39
41
  ## Steps (agent — single auth)
40
42
 
@@ -68,13 +70,24 @@ or
68
70
  { "action": "status", "jobId": "<jobId>" }
69
71
  ```
70
72
 
71
- Statuses: `queued` → `running` → `succeeded` | `partial` | `failed`.
73
+ **Pipeline lifecycle** (real pack states): `queued` → `running` → `succeeded` | `partial` | `failed`.
72
74
 
73
- - **succeeded** — all files ready
74
- - **partial** — some ready; `gaps[]` lists failures
75
- - **failed** — nothing usable; stop and report gaps
75
+ | Status | Meaning | Agent action |
76
+ |--------|---------|--------------|
77
+ | `queued` / `running` | Pack is processing | Keep `wait` / `status` |
78
+ | `succeeded` | All files ready | Proceed to catalog |
79
+ | `partial` | Some ready; `gaps[]` lists failures | Catalog ready items; report gaps — **do not invent** assets for gaps |
80
+ | `failed` | Nothing usable | Stop; report gaps |
81
+ | `provisioning` | **Host soft state only** (not a pipeline phase): job is registered but pack status is not readable yet | Retry wait/status only while age is **under ~90s** |
82
+ | `status_unavailable` (`ok: false`) | Soft grace exceeded; concurrent slot released | **Stop this jobId**. At most **one** new prepare. If the second also ends `status_unavailable`, **stop entirely** and report both jobIds (platform issue — the pack may still have completed on the pipeline). |
76
83
 
77
- **Do not** invent assets for gaps.
84
+ **Rules:**
85
+
86
+ - Do **not** invent assets for gaps.
87
+ - Do **not** wait 5–10+ minutes on `provisioning`.
88
+ - Do **not** thrash prepares (rate limit + concurrent max typically **2** per user).
89
+ - On `429` / too many concurrent: call `status` once on any stuck old `jobId` (to free slots if past grace), then prepare again **once**.
90
+ - Prefer **reusing** a job that already reached `succeeded` + catalog over preparing again for the same Drive folder.
78
91
 
79
92
  ### 3. Catalog
80
93
 
@@ -94,26 +107,44 @@ Each asset includes:
94
107
 
95
108
  After drafting titles/alts from **previewUrl** / **posterUrl**:
96
109
 
110
+ **Prefer filtering** so unused files in a shared Drive folder are not uploaded:
111
+
112
+ | Param | Use |
113
+ |-------|-----|
114
+ | `sourceNames` | Exact catalog `sourceName` allowlist (Drive file names) |
115
+ | `excludeSourceNames` | Skip specific files |
116
+ | `onlyWithOverrides` | Import only assets that have an `overrides` row (typical case-study path) |
117
+
97
118
  ```json
98
119
  {
99
120
  "action": "import",
100
121
  "jobId": "<jobId>",
101
122
  "withMedia": true,
123
+ "onlyWithOverrides": true,
102
124
  "overrides": [
103
- { "sourceName": "OM1_Hero.jpg", "title": "OM1 hero", "alt": "…" }
104
- ]
125
+ { "sourceName": "OM1_Hero.jpg", "title": "OM1 hero", "alt": "…", "fileName": "se-om1-hero-v3.jpg" }
126
+ ],
127
+ "dryRun": true
105
128
  }
106
129
  ```
107
130
 
108
- Optional: `"dryRun": true` to preview the map without writing.
131
+ 1. Always **`dryRun: true` first** — check `existing: true/false` per asset (reuse is by **fileName**).
132
+ 2. When you need **new** assets instead of reusing prior runs, set `overrides[].fileName` to unique names.
133
+ 3. Then import without `dryRun`.
109
134
 
110
- CLI: `cms-edit media import --job <id> [--dry-run] [--with-media] [--overrides-json '[…]']`
135
+ CLI:
136
+ `cms-edit media import --job <id> [--dry-run] [--with-media] [--only-with-overrides] [--source-names a.jpg,b.jpg] [--exclude-source-names x.jpg] [--overrides-json '[…]']`
111
137
 
112
138
  Import:
113
139
 
114
- 1. Searches existing assets by fileName
115
- 2. Else uploads from `readyUrl` as the authenticated Contentful user
116
- 3. Returns `map: { sourceName → { assetId, mediaId?, … } }` for page build
140
+ 1. Filters catalog (allowlist / exclude / onlyWithOverrides)
141
+ 2. Searches existing assets by fileName
142
+ 3. Else uploads from `readyUrl` as the authenticated Contentful user
143
+ 4. Returns `map`, `skipped[]`, and `counts` for page build
144
+
145
+ **Linking Media to components:** use singular Entry links with
146
+ `cms_edit ["set", "@cN", "visual", "<mediaId>", "--link"]`
147
+ — **never** `add … --target visual` (`add` only supports content **arrays**).
117
148
 
118
149
  Manual `asset upload --url` remains available for one-offs.
119
150
 
@@ -121,4 +152,6 @@ Manual `asset upload --url` remains available for one-offs.
121
152
 
122
153
  - Jobs are **owned by the OAuth user** who prepared them — you cannot poll another user’s `jobId`.
123
154
  - Rate limits apply (prepares/hour, concurrent jobs).
124
- - Never document or request `MEDIA_PIPELINE_API_KEY` in chat.
155
+ - Never document or request `MEDIA_PIPELINE_API_KEY` or Blob tokens in chat.
156
+ - `provisioning` is **not** a real pipeline phase; do not treat it as “still encoding” for many minutes.
157
+ - If the MCP client times out (~180s) on `set`/`rtf`/`import`, **read / catalog / diff before retrying** — the server may already have applied the change.
@@ -23,8 +23,12 @@
23
23
  - `cms_edit ["asset", "search", "--filename-match", "<partial-name>"]`
24
24
  - `cms_edit ["list", "--type", "media", "--asset-filename-match", "<partial>"]`
25
25
  3. If match found — link by asset ID or filename in `set` / `create from-json` (`featuredImageAssetFilename`, `visualAssetFilename`, etc.)
26
- 4. For **`visuals`** (Media entry array): prefer an **existing Media entry** — `cms_edit ["list", "--type", "media", "--asset-id", "<assetId>"]` — then `set @root visuals <mediaEntryId> --links`. Do **not** `create media` or use `asset upload --with-media` when a wrapper already exists.
27
- 5. `create media` only when no Media entry wraps that asset (RTF embeds, or first article in a new composite batch — then **reuse that media ID** on sibling entries)
26
+ 4. For **`visuals`** (Media entry **array** on page/article): prefer an **existing Media entry** — `cms_edit ["list", "--type", "media", "--asset-id", "<assetId>"]` — then `set @root visuals <mediaEntryId> --links`. Do **not** `create media` or use `asset upload --with-media` when a wrapper already exists.
27
+ 5. For **singular** component fields (e.g. `visual` on a component):
28
+ `cms_edit ["set", "@cN", "visual", "<mediaEntryId>", "--link"]`
29
+ **Never** `add media --parent @cN --target visual` — `add --target` only works for Entry-link **arrays** (`content`, `contents`, …). Bad `add --target` is rejected; it used to orphan Media drafts.
30
+ 6. `create media` only when no Media entry wraps that asset (RTF embeds, or first article in a new composite batch — then **reuse that media ID** on sibling entries)
31
+ 7. Bare Contentful entry IDs work with `set` (no `@` required) for mid-session Media field tweaks (width/autoplay/loop) after import — `set <mediaEntryId> width 75`.
28
32
 
29
33
  ## Upload only when no match
30
34
 
@@ -89,7 +93,13 @@ cms_edit ["diff"]
89
93
  cms_edit ["save"]
90
94
  ```
91
95
 
92
- **Component visual / article featured image:** same pattern — `asset set <ref> <field> <asset-id>` (or `set … --asset`).
96
+ **Component `visual` (Media Entry link, singular):**
97
+
98
+ ```
99
+ cms_edit ["set", "@cN", "visual", "<media-entry-id>", "--link"]
100
+ ```
101
+
102
+ **Article featured image / asset fields:** `asset set <ref> <field> <asset-id>` (or `set … --asset`) when the field is an Asset link.
93
103
 
94
104
  Always `diff` → `save`. Verify with `preview urls` on the public path.
95
105
 
@@ -23,11 +23,11 @@ After saving a draft, agents should return **all applicable URLs** and explain w
23
23
 
24
24
  | Target | Label | When to use |
25
25
  |--------|-------|-------------|
26
- | **contentfulLivePreview** | Live preview (publish here) | **Primary for editors.** Opens `app.contentful.com/.../entries/.../preview/...` — in-app preview with inspector. User clicks the green **Publish** button at the top to go live. |
27
- | **staging** | Preview (staging site) | Full-page check on staging, e.g. `{devBaseUrl}/resources/news/{tag}/{slug}/` (includes Vercel bypass params when configured). |
26
+ | **contentfulLivePreview** | Live preview (publish here) | **Primary for editors when `url` is present.** Opens `app.contentful.com/.../entries/.../preview/...` — in-app preview with inspector. User clicks the green **Publish** button at the top to go live. If `url` is `null`, read `unavailableReason` / `notes` — do not invent a Live Preview link; use **staging** + **contentfulEntry** instead. |
27
+ | **staging** | Preview (staging site) | Full-page check on staging, e.g. `{devBaseUrl}/resources/news/{tag}/{slug}/` (includes Vercel bypass params when configured). Always valid for draft visibility when staging is configured. |
28
28
  | **siteLivePreview** | Preview redirect | `{devBaseUrl}/preview?id={entryId}` — entry-aware redirect to the staging path. |
29
29
  | **production** | Production site | Published content only — compare after publish. |
30
- | **contentfulEntry** | Contentful entry editor | Classic entry form. Prefer **Live preview** for review and publish. |
30
+ | **contentfulEntry** | Contentful entry editor | Classic entry form. Prefer **Live preview** when available; otherwise this is the publish path. |
31
31
 
32
32
  ## Steps
33
33
 
@@ -41,9 +41,10 @@ After saving a draft, agents should return **all applicable URLs** and explain w
41
41
  ```
42
42
  Use `--json` for machine-readable output.
43
43
 
44
- 2. **Hand off to the editor with both links:**
45
- - **Live preview** — for reviewing the draft and publishing (green Publish button in Contentful).
46
- - **Preview (staging site)** — for a full-screen check on the staging deployment.
44
+ 2. **Hand off to the editor:**
45
+ - **Live preview** — when `url` is non-null: reviewing the draft and publishing (green Publish button in Contentful).
46
+ - **Preview (staging site)** — full-screen check on the staging deployment (always offer when available).
47
+ - If Live Preview is unavailable, say so briefly using `unavailableReason` and point at staging + classic entry editor.
47
48
 
48
49
  3. Summarize what to check before publish handoff — use the checklist below (add multi-block items when relevant).
49
50
 
@@ -148,6 +148,17 @@ Hosted connectors have **no server filesystem** and **reject `asset upload --bas
148
148
 
149
149
  Full workflow: `cms-edit://customer/task-media-reuse-and-upload`.
150
150
 
151
+ ### Common pitfalls (agents)
152
+
153
+ | Issue | Do this |
154
+ |-------|---------|
155
+ | Singular Media on a component (`visual`) | `set @cN visual <mediaId> --link` — **not** `add … --target visual` |
156
+ | Shared Drive folder has extra files | Import with `sourceNames` or `onlyWithOverrides` after catalog |
157
+ | Prepare says no media / empty folder | Share folder **Viewer** with `media-pipeline-reader@se-media-pipeline.iam.gserviceaccount.com`, then re-prepare once |
158
+ | MCP tool times out ~180s | `read` / `diff` / re-`catalog` before retrying the same write — server may already have saved |
159
+ | `preview urls` has no Live Preview URL | Use staging + classic entry editor; row includes `unavailableReason` when CMA preview fails |
160
+ | Reuse-first import matches old fileNames | dry-run first; set `overrides[].fileName` for unique names when duplication is required |
161
+
151
162
  ### Staged upload
152
163
 
153
164
  Keeps binary **out of MCP tool args**. The agent uploads via `curl`, then passes only a short `uploadId`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@se-studio/contentful-cms",
3
- "version": "3.4.2",
3
+ "version": "3.4.4",
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",