@se-studio/contentful-cms 3.9.3 → 3.10.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.
- package/CHANGELOG.md +12 -0
- package/README.md +3 -3
- package/dist/commands/asset.d.ts.map +1 -1
- package/dist/commands/asset.js +20 -5
- package/dist/commands/asset.js.map +1 -1
- package/dist/commands/host-scaffold.js +1 -1
- package/dist/commands/media.d.ts.map +1 -1
- package/dist/commands/media.js +10 -5
- package/dist/commands/media.js.map +1 -1
- package/dist/contentful/assets.d.ts +4 -0
- package/dist/contentful/assets.d.ts.map +1 -1
- package/dist/contentful/assets.js +9 -0
- package/dist/contentful/assets.js.map +1 -1
- package/dist/contentful/cma-user-agent.d.ts +1 -1
- package/dist/contentful/cma-user-agent.d.ts.map +1 -1
- package/dist/contentful/hosted-asset-upload.d.ts +1 -1
- package/dist/contentful/hosted-asset-upload.d.ts.map +1 -1
- package/dist/contentful/hosted-asset-upload.js +1 -1
- package/dist/contentful/hosted-asset-upload.js.map +1 -1
- package/dist/contentful/pipeline-encode-gate.d.ts +27 -0
- package/dist/contentful/pipeline-encode-gate.d.ts.map +1 -0
- package/dist/contentful/pipeline-encode-gate.js +102 -0
- package/dist/contentful/pipeline-encode-gate.js.map +1 -0
- package/dist/editor-pack/generate.js +1 -1
- package/dist/editor-pack/generate.js.map +1 -1
- package/dist/generated/hosted-guide.d.ts +1 -1
- package/dist/generated/hosted-guide.d.ts.map +1 -1
- package/dist/generated/hosted-guide.js +1 -1
- package/dist/generated/hosted-guide.js.map +1 -1
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.d.ts.map +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/generated/version.js.map +1 -1
- package/dist/hosted/next/routes/staged-upload.d.ts +1 -0
- package/dist/hosted/next/routes/staged-upload.d.ts.map +1 -1
- package/dist/hosted/next/routes/staged-upload.js +38 -1
- package/dist/hosted/next/routes/staged-upload.js.map +1 -1
- package/dist/mcp/prompts/onboarding.d.ts.map +1 -1
- package/dist/mcp/prompts/onboarding.js +5 -5
- package/dist/mcp/prompts/onboarding.js.map +1 -1
- package/dist/mcp/tools/cms-edit.d.ts +1 -1
- package/dist/mcp/tools/cms-edit.d.ts.map +1 -1
- package/dist/mcp/tools/cms-edit.js +3 -2
- package/dist/mcp/tools/cms-edit.js.map +1 -1
- package/dist/mcp/tools/media.d.ts.map +1 -1
- package/dist/mcp/tools/media.js +18 -11
- package/dist/mcp/tools/media.js.map +1 -1
- package/dist/mcp/tools/staged-upload.d.ts.map +1 -1
- package/dist/mcp/tools/staged-upload.js +6 -4
- package/dist/mcp/tools/staged-upload.js.map +1 -1
- package/dist/media-pipeline/actions.d.ts +6 -8
- package/dist/media-pipeline/actions.d.ts.map +1 -1
- package/dist/media-pipeline/actions.js +10 -8
- package/dist/media-pipeline/actions.js.map +1 -1
- package/dist/media-pipeline/client.d.ts +11 -3
- package/dist/media-pipeline/client.d.ts.map +1 -1
- package/dist/media-pipeline/client.js +1 -4
- package/dist/media-pipeline/client.js.map +1 -1
- package/dist/media-pipeline/import-alt.d.ts +8 -0
- package/dist/media-pipeline/import-alt.d.ts.map +1 -0
- package/dist/media-pipeline/import-alt.js +23 -0
- package/dist/media-pipeline/import-alt.js.map +1 -0
- package/dist/media-pipeline/import.d.ts.map +1 -1
- package/dist/media-pipeline/import.js +45 -0
- package/dist/media-pipeline/import.js.map +1 -1
- package/dist/media-pipeline/limits.d.ts +2 -2
- package/dist/media-pipeline/limits.d.ts.map +1 -1
- package/dist/media-pipeline/limits.js +2 -2
- package/dist/media-pipeline/limits.js.map +1 -1
- package/dist/media-pipeline/prepare-source.d.ts +32 -0
- package/dist/media-pipeline/prepare-source.d.ts.map +1 -0
- package/dist/media-pipeline/prepare-source.js +132 -0
- package/dist/media-pipeline/prepare-source.js.map +1 -0
- package/dist/staged-upload/hmac.d.ts +4 -0
- package/dist/staged-upload/hmac.d.ts.map +1 -1
- package/dist/staged-upload/hmac.js +35 -0
- package/dist/staged-upload/hmac.js.map +1 -1
- package/dist/staged-upload/request.d.ts.map +1 -1
- package/dist/staged-upload/request.js +14 -11
- package/dist/staged-upload/request.js.map +1 -1
- package/dist/staged-upload/store.d.ts +2 -0
- package/dist/staged-upload/store.d.ts.map +1 -1
- package/dist/staged-upload/store.js +18 -0
- package/dist/staged-upload/store.js.map +1 -1
- package/docs/editor-tasks/create-from-document.md +10 -3
- package/docs/editor-tasks/media-pipeline-prepare.md +29 -18
- package/docs/editor-tasks/media-reuse-and-upload.md +23 -20
- package/docs/editor-tasks/source-readiness-review.md +4 -3
- package/docs/mcp/hosted-guide.md +9 -8
- package/package.json +1 -1
- package/skills/core/SKILL.md +4 -8
package/docs/mcp/hosted-guide.md
CHANGED
|
@@ -20,7 +20,7 @@ All `save` operations create **drafts only**. A human must review and publish in
|
|
|
20
20
|
| Tool | Purpose |
|
|
21
21
|
|------|---------|
|
|
22
22
|
| `cms_edit` | Run any cms-edit command via an `args` array |
|
|
23
|
-
| `cms_edit_request_staged_upload` |
|
|
23
|
+
| `cms_edit_request_staged_upload` | Presigned URL for binaries. Raster/video: then `cms_edit_media` prepare. SVG/PDF/Lottie: then `asset upload --staged` |
|
|
24
24
|
| `cms_edit_version` | Check the installed cms-edit version (no session required) |
|
|
25
25
|
| `cms_edit_help` | Guide topics (`overview`, `workflow`, `commands`, `troubleshooting`, `hosted`) **or** playbooks (`create-from-json`, `fields-component`, …) |
|
|
26
26
|
|
|
@@ -130,7 +130,7 @@ Always run `diff` before `save`. To abandon changes: `["discard"]`.
|
|
|
130
130
|
| Task | Where |
|
|
131
131
|
|------|-------|
|
|
132
132
|
| Edit copy, add sections, create pages/articles | **Agent + cms-edit** (drafts) |
|
|
133
|
-
| Upload new images and files | **Agent + cms-edit**
|
|
133
|
+
| Upload new images and files | **Agent + cms-edit** — search/reuse first; raster/video via `cms_edit_media` import |
|
|
134
134
|
| Publish approved drafts | **Contentful UI** |
|
|
135
135
|
| Edit copy directly in Contentful | **Avoid** — use cms-edit instead |
|
|
136
136
|
|
|
@@ -138,12 +138,13 @@ cms-edit saves **drafts only**. A colleague must **publish in Contentful** for c
|
|
|
138
138
|
|
|
139
139
|
## Asset upload (hosted MCP)
|
|
140
140
|
|
|
141
|
-
Hosted connectors have **no server filesystem** and **reject `asset upload --base64`**.
|
|
141
|
+
Hosted connectors have **no server filesystem** and **reject `asset upload --base64`**. Raster/video: staged intake then **media pipeline**. SVG/PDF/Lottie: staged then `asset upload --staged`.
|
|
142
142
|
|
|
143
143
|
| Source | When | Example |
|
|
144
144
|
|--------|------|---------|
|
|
145
|
-
| **Staged
|
|
146
|
-
| **`--url`**
|
|
145
|
+
| **Staged + pipeline** | jpeg/png/webp/gif/mp4 | `cms_edit_media` prepare `stagedUploadIds` → import (required for video) |
|
|
146
|
+
| **`--url`** | Pipeline-ready **images** only, or SVG/PDF | `["asset", "upload", "--url", "https://….blob.vercel-storage.com/ready.jpg"]` |
|
|
147
|
+
| **Staged consume** | SVG/PDF/Lottie | `asset upload --staged` |
|
|
147
148
|
|
|
148
149
|
**After upload:** note the returned asset `id`, attach to the entry (`asset set @root media <id>` for person portraits), then `diff` → `save`. Upload alone does not update entries.
|
|
149
150
|
|
|
@@ -168,10 +169,10 @@ Keeps binary **out of MCP tool args**. The agent uploads via `curl`, then passes
|
|
|
168
169
|
|
|
169
170
|
1. `cms_edit_request_staged_upload` with `fileName`, `mimeType`, optional `byteLength`, optional `title`
|
|
170
171
|
2. Run the returned `curlCommand` in a shell (POST multipart to `uploadUrl`)
|
|
171
|
-
3. `
|
|
172
|
-
4.
|
|
172
|
+
3. Follow `consumeArgs`: **media prepare** (`cms_edit_media` / `media prepare --staged-ids`) for jpeg/png/webp/gif/mp4; **asset upload --staged** for SVG/PDF/Lottie
|
|
173
|
+
4. For pipeline jobs: wait → catalog → **import** (required for video). Then link and save
|
|
173
174
|
|
|
174
|
-
Hosted limit: **4 MB** per staged file (Vercel body limit). Rate limit: **1000 upload URLs per user per hour**. TTL: **60 minutes
|
|
175
|
+
Hosted limit: **4 MB** per staged file (Vercel body limit). Rate limit: **1000 upload URLs per user per hour**. TTL: **60 minutes**. Raster/video staged files are intake (GET by the pipeline); they are not consumed into CMA.
|
|
175
176
|
|
|
176
177
|
## Featured images (articles)
|
|
177
178
|
|
package/package.json
CHANGED
package/skills/core/SKILL.md
CHANGED
|
@@ -31,7 +31,8 @@ Use this skill when you need to read or edit content in Contentful using **hoste
|
|
|
31
31
|
All `save` operations create **draft** versions. A human must review and publish in Contentful.
|
|
32
32
|
|
|
33
33
|
**Assets:** Upload **is** supported (`asset upload`). Default workflow: **search and reuse** existing assets first (`index sync` → `asset search`). When uploading:
|
|
34
|
-
- **
|
|
34
|
+
- **Raster/video:** `cms_edit_request_staged_upload` → curl → `cms_edit_media` prepare (`stagedUploadIds`) → wait → catalog → import with real alt. Never `asset upload --staged/--url/--base64` for jpeg/png/webp/gif/mp4.
|
|
35
|
+
- **SVG/PDF/Lottie:** `cms_edit_request_staged_upload` → curl → `asset upload --staged` (never `--base64`)
|
|
35
36
|
- Use a **sensible fileName** and **descriptive title** (and alt text where the site uses it)
|
|
36
37
|
- Avoid oversized images — width over **2000px** is usually wasteful for web (exact limits vary by project; check `asset audit` / media review guidance)
|
|
37
38
|
- Prefer `--if-exists-by-filename` to avoid duplicates
|
|
@@ -371,13 +372,8 @@ cms-edit asset search "hero background"
|
|
|
371
372
|
cms-edit asset search --filename istockphoto-123.jpg
|
|
372
373
|
cms-edit asset search --filename-match 'istockphoto-.*'
|
|
373
374
|
|
|
374
|
-
#
|
|
375
|
-
|
|
376
|
-
cms-edit asset upload --base64 "$B64" --mime image/png --file-name poster.png
|
|
377
|
-
|
|
378
|
-
# Hosted MCP — always staged upload for binary files
|
|
379
|
-
# cms_edit_request_staged_upload → curl uploadUrl → consumeArgs
|
|
380
|
-
# cms_edit ["asset", "upload", "--staged", "<uploadId>", "--mime", "image/png", "--file-name", "photo.png"]
|
|
375
|
+
# Raster/video: cms_edit_media prepare → wait → catalog → import (video: import only).
|
|
376
|
+
# SVG/PDF/Lottie: cms_edit_request_staged_upload → curl → asset upload --staged
|
|
381
377
|
|
|
382
378
|
# Upload and create a Media wrapper in one step (--media-name defaults to asset title)
|
|
383
379
|
cms-edit asset upload ./figure.png --with-media --media-position Middle
|