@se-studio/contentful-cms 1.0.6 → 1.0.8
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/dist/bin/cms-edit.js +2 -0
- package/dist/bin/cms-edit.js.map +1 -1
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +42 -0
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +10 -9
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/diff.d.ts.map +1 -1
- package/dist/commands/diff.js +1 -5
- package/dist/commands/diff.js.map +1 -1
- package/dist/commands/entry-search.d.ts.map +1 -1
- package/dist/commands/entry-search.js +0 -3
- package/dist/commands/entry-search.js.map +1 -1
- package/dist/commands/links.d.ts.map +1 -1
- package/dist/commands/links.js +14 -16
- package/dist/commands/links.js.map +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +11 -0
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/nav.d.ts.map +1 -1
- package/dist/commands/nav.js +11 -8
- package/dist/commands/nav.js.map +1 -1
- package/dist/commands/read.d.ts.map +1 -1
- package/dist/commands/read.js +1 -5
- package/dist/commands/read.js.map +1 -1
- package/dist/commands/remove.d.ts.map +1 -1
- package/dist/commands/remove.js +20 -14
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/resolve.d.ts +4 -0
- package/dist/commands/resolve.d.ts.map +1 -0
- package/dist/commands/resolve.js +95 -0
- package/dist/commands/resolve.js.map +1 -0
- package/dist/commands/set.d.ts.map +1 -1
- package/dist/commands/set.js +11 -0
- package/dist/commands/set.js.map +1 -1
- package/dist/contentful/client.d.ts +1 -0
- package/dist/contentful/client.d.ts.map +1 -1
- package/dist/contentful/client.js +1 -0
- package/dist/contentful/client.js.map +1 -1
- package/dist/rtf/references.d.ts +9 -0
- package/dist/rtf/references.d.ts.map +1 -0
- package/dist/rtf/references.js +49 -0
- package/dist/rtf/references.js.map +1 -0
- package/dist/rtf/toMarkdown.d.ts.map +1 -1
- package/dist/rtf/toMarkdown.js +2 -6
- package/dist/rtf/toMarkdown.js.map +1 -1
- package/dist/rtf/utils.d.ts +7 -0
- package/dist/rtf/utils.d.ts.map +1 -0
- package/dist/rtf/utils.js +11 -0
- package/dist/rtf/utils.js.map +1 -0
- package/dist/session/refs.d.ts +1 -1
- package/dist/session/refs.d.ts.map +1 -1
- package/dist/session/refs.js +15 -4
- package/dist/session/refs.js.map +1 -1
- package/dist/snapshot/render.d.ts.map +1 -1
- package/dist/snapshot/render.js +7 -5
- package/dist/snapshot/render.js.map +1 -1
- package/package.json +2 -2
- package/skills/core/SKILL.md +19 -1
- package/skills/screenshots/SKILL.md +10 -1
package/dist/session/refs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refs.js","sourceRoot":"","sources":["../../src/session/refs.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"refs.js","sourceRoot":"","sources":["../../src/session/refs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/snapshot/render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/snapshot/render.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAwFD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,GAAE,aAAkB,GAAG,IAAI,CAoFvF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,SAAK,GAAG,MAAM,CAgBpE"}
|
package/dist/snapshot/render.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import pc from 'picocolors';
|
|
3
3
|
import { isJsonMode } from '../output/mode.js';
|
|
4
4
|
import { entryLabel, refLabel, statusBadge, typeLabel } from '../output/print.js';
|
|
5
|
+
import { isRtfDocument } from '../rtf/utils.js';
|
|
5
6
|
import { getEntryLabel, getEntryStatus, getEntryTypeLabel } from '../session/state.js';
|
|
6
7
|
/**
|
|
7
8
|
* Returns the snapshot as a plain JSON-serialisable object.
|
|
@@ -54,6 +55,7 @@ function buildSnapshotJson(session) {
|
|
|
54
55
|
fetchedAt: session.fetchedAt,
|
|
55
56
|
unsavedChanges: session.modifiedEntryIds.length,
|
|
56
57
|
pendingDeletions: session.pendingDeletions.length,
|
|
58
|
+
emptyContent: entries.length === 0,
|
|
57
59
|
entries,
|
|
58
60
|
};
|
|
59
61
|
}
|
|
@@ -89,6 +91,7 @@ export function renderSnapshot(session, options = {}) {
|
|
|
89
91
|
`${pc.dim(`[${session.rootEntryId} | `)}${statusBadge(rootStatus)}${pc.dim(']')} ` +
|
|
90
92
|
`${pc.dim('·')} ${pc.bold(session.spaceKey)}\n`);
|
|
91
93
|
// Skip the root entry itself (index 0) — it's shown in the header
|
|
94
|
+
let componentsPrinted = 0;
|
|
92
95
|
for (const node of session.treeNodes) {
|
|
93
96
|
if (node.entryId === session.rootEntryId)
|
|
94
97
|
continue;
|
|
@@ -106,6 +109,10 @@ export function renderSnapshot(session, options = {}) {
|
|
|
106
109
|
else {
|
|
107
110
|
console.log(`${indent}${refLabel(node.ref)} ${typeLabel(typeLabelStr)} ${entryLabel(displayLabel)} ${statusBadge(status)}`);
|
|
108
111
|
}
|
|
112
|
+
componentsPrinted++;
|
|
113
|
+
}
|
|
114
|
+
if (componentsPrinted === 0) {
|
|
115
|
+
console.log(pc.dim(` (no linked content — use ${pc.bold('read @root')} to inspect root fields)`));
|
|
109
116
|
}
|
|
110
117
|
const pendingCount = session.modifiedEntryIds.length;
|
|
111
118
|
const deletionCount = session.pendingDeletions.length;
|
|
@@ -146,11 +153,6 @@ export function renderFieldValue(value, indent = '') {
|
|
|
146
153
|
}
|
|
147
154
|
return JSON.stringify(value, null, 2);
|
|
148
155
|
}
|
|
149
|
-
function isRtfDocument(value) {
|
|
150
|
-
return (typeof value === 'object' &&
|
|
151
|
-
value !== null &&
|
|
152
|
-
value.nodeType === 'document');
|
|
153
|
-
}
|
|
154
156
|
function isEntryLink(value) {
|
|
155
157
|
return (typeof value === 'object' &&
|
|
156
158
|
value !== null &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/snapshot/render.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/snapshot/render.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@se-studio/contentful-cms",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.8",
|
|
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",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"picocolors": "^1.1.1"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@biomejs/biome": "^2.4.
|
|
36
|
+
"@biomejs/biome": "^2.4.7",
|
|
37
37
|
"@types/node": "^22.19.15",
|
|
38
38
|
"typescript": "^5.9.3",
|
|
39
39
|
"vitest": "^4.1.0"
|
package/skills/core/SKILL.md
CHANGED
|
@@ -309,13 +309,31 @@ cms-edit create article --slug /blog/my-post --title "My Post" --article-type-id
|
|
|
309
309
|
## Search and Discovery
|
|
310
310
|
|
|
311
311
|
```bash
|
|
312
|
-
# Search entries full-text
|
|
312
|
+
# Search entries full-text (searches all content types by default)
|
|
313
313
|
cms-edit search "pricing page"
|
|
314
314
|
cms-edit search "hero" --type component
|
|
315
315
|
|
|
316
316
|
# List valid type values
|
|
317
317
|
cms-edit types component
|
|
318
318
|
cms-edit types collection
|
|
319
|
+
|
|
320
|
+
# List entries with filters
|
|
321
|
+
cms-edit list --type article --has-download # articles with a download asset
|
|
322
|
+
cms-edit list --type article --slug my-article # article with a specific slug
|
|
323
|
+
cms-edit list --type article --has-field tags # articles where tags field is non-empty
|
|
324
|
+
|
|
325
|
+
# Resolve any entry or asset by ID (no open session required)
|
|
326
|
+
cms-edit resolve 4xKj2abcDefGhijK # entry: shows type, title, slug, status
|
|
327
|
+
cms-edit resolve 7pQrStuvWxyzAbc # asset: shows title, fileName, URL
|
|
328
|
+
cms-edit resolve <id> --json # full Contentful object
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
To resolve a **tag entry ID** to its slug or label (e.g. for constructing article URLs such as `/resources/publications/<tag>/<slug>`):
|
|
332
|
+
|
|
333
|
+
```bash
|
|
334
|
+
cms-edit resolve <tag-entry-id>
|
|
335
|
+
# Output includes: content type, title/slug, status
|
|
336
|
+
# Use the slug field value to build the URL path segment
|
|
319
337
|
```
|
|
320
338
|
|
|
321
339
|
## Multi-space
|
|
@@ -13,9 +13,18 @@ Use this skill when capturing **screenshots** of components, collections, pages,
|
|
|
13
13
|
- **From session ref** (full-fidelity): `cms-edit screenshot @c0` — uses the convert API and `/cms-preview/render-json` so **all** entry types render with real data: component, collection, externalComponent, person. Add `--full` for full-page capture (auto-applied for component/collection).
|
|
14
14
|
- **From JSON file** (no Contentful): `cms-edit screenshot --json-file path/to/entry.json` — reads an IBase* JSON (e.g. from `read @c0 --json` or an export), base64-encodes it, and opens `/cms-preview/render-json?data=...`. Use to validate or screenshot without a session or preview token.
|
|
15
15
|
- **By type** (no session, mock): `cms-edit screenshot --component HeroSimple`, `cms-edit screenshot --collection CardGrid` — uses `/cms-showcase/render` with mock data.
|
|
16
|
-
- **Page**: `cms-edit screenshot` (current open page) or `cms-edit screenshot /
|
|
16
|
+
- **Page**: `cms-edit screenshot` (current open page) or `cms-edit screenshot /resources/publications/other/my-slug`
|
|
17
17
|
- **URL only** (no agent-browser needed): `cms-edit screenshot @c0 --url-only`
|
|
18
18
|
|
|
19
|
+
## Target path: use the full site path
|
|
20
|
+
|
|
21
|
+
When passing a path target (e.g. `cms-edit screenshot /path`), the target must be the **full path** on the site — not just the final slug segment. cms-edit prepends `devBaseUrl` from your config to build the URL.
|
|
22
|
+
|
|
23
|
+
> **Correct:** `cms-edit screenshot /resources/publications/other/my-article`
|
|
24
|
+
> **Incorrect:** `cms-edit screenshot /my-article` ← will 404 if the site expects a longer path
|
|
25
|
+
|
|
26
|
+
Check the site's URL structure (e.g. `/resources/publications/<type>/<slug>`) and use the complete path. The `devBaseUrl` is set in `.contentful-cms.json` (defaults to `http://localhost:3000` if not configured).
|
|
27
|
+
|
|
19
28
|
## Mock vs live (type-only mode only)
|
|
20
29
|
|
|
21
30
|
When using `--component <type>` or `--collection <type>` (no session), the default is **mock** (showcase). Use `--live` with a ref to prefer the legacy direct preview URL; for `@ref`, full-fidelity is already the default via convert → render-json.
|