@se-studio/contentful-cms 3.10.3 → 3.11.1
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 +1 -1
- package/dist/cli/hosted-inline-limit.d.ts +4 -0
- package/dist/cli/hosted-inline-limit.d.ts.map +1 -0
- package/dist/cli/hosted-inline-limit.js +15 -0
- package/dist/cli/hosted-inline-limit.js.map +1 -0
- package/dist/cli/read-json-input.d.ts +16 -1
- package/dist/cli/read-json-input.d.ts.map +1 -1
- package/dist/cli/read-json-input.js +100 -12
- package/dist/cli/read-json-input.js.map +1 -1
- package/dist/commands/apply-from-json.d.ts.map +1 -1
- package/dist/commands/apply-from-json.js +10 -3
- package/dist/commands/apply-from-json.js.map +1 -1
- package/dist/commands/article-tags-from-json.d.ts.map +1 -1
- package/dist/commands/article-tags-from-json.js +12 -3
- package/dist/commands/article-tags-from-json.js.map +1 -1
- package/dist/commands/asset.d.ts.map +1 -1
- package/dist/commands/asset.js +2 -0
- package/dist/commands/asset.js.map +1 -1
- package/dist/commands/create-from-json.d.ts.map +1 -1
- package/dist/commands/create-from-json.js +16 -4
- package/dist/commands/create-from-json.js.map +1 -1
- package/dist/commands/create-person-from-json.d.ts.map +1 -1
- package/dist/commands/create-person-from-json.js +12 -3
- package/dist/commands/create-person-from-json.js.map +1 -1
- package/dist/commands/create-person.d.ts.map +1 -1
- package/dist/commands/create-person.js +20 -5
- package/dist/commands/create-person.js.map +1 -1
- package/dist/commands/create-taxonomy-from-json.d.ts.map +1 -1
- package/dist/commands/create-taxonomy-from-json.js +12 -3
- package/dist/commands/create-taxonomy-from-json.js.map +1 -1
- package/dist/commands/create-taxonomy.d.ts.map +1 -1
- package/dist/commands/create-taxonomy.js +28 -8
- package/dist/commands/create-taxonomy.js.map +1 -1
- package/dist/commands/host-scaffold.d.ts +1 -0
- package/dist/commands/host-scaffold.d.ts.map +1 -1
- package/dist/commands/host-scaffold.js +4 -2
- package/dist/commands/host-scaffold.js.map +1 -1
- package/dist/commands/open.d.ts.map +1 -1
- package/dist/commands/open.js +9 -3
- package/dist/commands/open.js.map +1 -1
- package/dist/commands/project.d.ts.map +1 -1
- package/dist/commands/project.js +2 -0
- package/dist/commands/project.js.map +1 -1
- package/dist/commands/read.d.ts.map +1 -1
- package/dist/commands/read.js +3 -0
- package/dist/commands/read.js.map +1 -1
- package/dist/commands/rtf.d.ts.map +1 -1
- package/dist/commands/rtf.js +20 -8
- package/dist/commands/rtf.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +12 -3
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/session-diff.d.ts.map +1 -1
- package/dist/commands/session-diff.js +13 -0
- package/dist/commands/session-diff.js.map +1 -1
- package/dist/commands/set.d.ts.map +1 -1
- package/dist/commands/set.js +78 -38
- package/dist/commands/set.js.map +1 -1
- package/dist/commands/staged-upload.d.ts.map +1 -1
- package/dist/commands/staged-upload.js +2 -0
- package/dist/commands/staged-upload.js.map +1 -1
- package/dist/contentful/cma-user-agent.d.ts +1 -1
- package/dist/diff/long-text.d.ts +24 -0
- package/dist/diff/long-text.d.ts.map +1 -0
- package/dist/diff/long-text.js +65 -0
- package/dist/diff/long-text.js.map +1 -0
- package/dist/generated/help-topics.d.ts.map +1 -1
- package/dist/generated/help-topics.js +1 -1
- package/dist/generated/help-topics.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.js +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 +18 -10
- package/dist/mcp/tools/cms-edit.js.map +1 -1
- package/dist/mcp/tools/staged-upload.d.ts.map +1 -1
- package/dist/mcp/tools/staged-upload.js +27 -10
- package/dist/mcp/tools/staged-upload.js.map +1 -1
- package/dist/media-pipeline/prepare-source.d.ts.map +1 -1
- package/dist/media-pipeline/prepare-source.js +2 -0
- package/dist/media-pipeline/prepare-source.js.map +1 -1
- package/dist/preview/entry-urls.d.ts.map +1 -1
- package/dist/preview/entry-urls.js +8 -6
- package/dist/preview/entry-urls.js.map +1 -1
- package/dist/project/doctor.d.ts.map +1 -1
- package/dist/project/doctor.js +11 -0
- package/dist/project/doctor.js.map +1 -1
- package/dist/project/validate-staged-upload-route.d.ts +6 -0
- package/dist/project/validate-staged-upload-route.d.ts.map +1 -0
- package/dist/project/validate-staged-upload-route.js +47 -0
- package/dist/project/validate-staged-upload-route.js.map +1 -0
- package/dist/rtf/resolveRtfInput.d.ts +7 -2
- package/dist/rtf/resolveRtfInput.d.ts.map +1 -1
- package/dist/rtf/resolveRtfInput.js +49 -7
- package/dist/rtf/resolveRtfInput.js.map +1 -1
- package/dist/session/dirty.js +3 -3
- package/dist/session/dirty.js.map +1 -1
- package/dist/snapshot/fields.d.ts +1 -0
- package/dist/snapshot/fields.d.ts.map +1 -1
- package/dist/snapshot/fields.js +23 -0
- package/dist/snapshot/fields.js.map +1 -1
- package/dist/staged-upload/consume-text.d.ts +11 -0
- package/dist/staged-upload/consume-text.d.ts.map +1 -0
- package/dist/staged-upload/consume-text.js +55 -0
- package/dist/staged-upload/consume-text.js.map +1 -0
- package/dist/staged-upload/mime.d.ts +9 -1
- package/dist/staged-upload/mime.d.ts.map +1 -1
- package/dist/staged-upload/mime.js +52 -3
- package/dist/staged-upload/mime.js.map +1 -1
- package/dist/staged-upload/request.d.ts +2 -0
- package/dist/staged-upload/request.d.ts.map +1 -1
- package/dist/staged-upload/request.js +24 -12
- 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 +13 -7
- package/dist/staged-upload/store.js.map +1 -1
- package/dist/staged-upload/types.d.ts +4 -0
- package/dist/staged-upload/types.d.ts.map +1 -1
- package/docs/editor-tasks/create-html-component.md +15 -5
- package/docs/editor-tasks/preview-verify.md +6 -5
- package/docs/help/create-from-json.md +7 -4
- package/docs/help/fields-html-component.md +11 -1
- package/docs/help/index.md +1 -1
- package/docs/help/workflow.md +1 -1
- package/docs/mcp/hosted-guide.md +13 -11
- package/package.json +1 -1
- package/skills/core/SKILL.md +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-taxonomy.d.ts","sourceRoot":"","sources":["../../src/commands/create-taxonomy.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAEvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"create-taxonomy.d.ts","sourceRoot":"","sources":["../../src/commands/create-taxonomy.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAEvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,+BAA+B,CAAC;AAQvC,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,KAAK,GAAG,SAAS,GAAG,aAAa,CAAC;IAC/C,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,KAAK,GAAG,SAAS,GAAG,aAAa,CAAC;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACpC,6DAA6D;IAC7D,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8FAA8F;IAC9F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAiCD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,oBAAoB,CAAC,CA0F/B;AAyBD,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CA8GtF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** biome-ignore-all lint/suspicious/noConsole: Console output is intentional in CLI */
|
|
2
|
-
import {
|
|
2
|
+
import { readJsonInputWithOptionalStaged } from '../cli/read-json-input.js';
|
|
3
3
|
import { loadConfig, resolveSpaceConfig } from '../config/load.js';
|
|
4
4
|
import { createSafeEnvironment } from '../contentful/client.js';
|
|
5
5
|
import { buildEntryFieldsFromSpec, extraFieldsFromSpecSource, } from '../contentful/entry-fields.js';
|
|
@@ -8,6 +8,7 @@ import { notifyContentIndexChanged } from '../index/invalidate.js';
|
|
|
8
8
|
import { findReferenceEntryByLabel, findReferenceEntryBySlug } from '../index/reference-lookup.js';
|
|
9
9
|
import { isJsonMode } from '../output/mode.js';
|
|
10
10
|
import { errorMsg, infoMsg, successMsg, warnMsg } from '../output/print.js';
|
|
11
|
+
import { tryConsumeStagedUpload } from '../staged-upload/consume-text.js';
|
|
11
12
|
/** Field overrides from JSON: use `fields` when present, otherwise flat keys on the spec object. */
|
|
12
13
|
function overridesFromSpecSource(source) {
|
|
13
14
|
if (source.fields && Object.keys(source.fields).length > 0) {
|
|
@@ -111,14 +112,20 @@ export async function runTaxonomyCreate(opts) {
|
|
|
111
112
|
});
|
|
112
113
|
return result;
|
|
113
114
|
}
|
|
114
|
-
function
|
|
115
|
-
if (!opts.json && !opts.jsonBase64)
|
|
116
|
-
return undefined;
|
|
117
|
-
|
|
115
|
+
async function loadOptionalJsonSpec(opts) {
|
|
116
|
+
if (!opts.json && !opts.jsonBase64 && !opts.staged) {
|
|
117
|
+
return { spec: undefined, consumeStaged: null };
|
|
118
|
+
}
|
|
119
|
+
const loaded = await readJsonInputWithOptionalStaged({
|
|
118
120
|
json: opts.json,
|
|
119
121
|
jsonBase64: opts.jsonBase64,
|
|
122
|
+
staged: opts.staged,
|
|
120
123
|
label: 'create taxonomy',
|
|
121
124
|
});
|
|
125
|
+
return {
|
|
126
|
+
spec: loaded.value,
|
|
127
|
+
consumeStaged: loaded.consumeStaged,
|
|
128
|
+
};
|
|
122
129
|
}
|
|
123
130
|
export function registerTaxonomyCreateCommands(create, program) {
|
|
124
131
|
const commonOptions = (cmd) => cmd
|
|
@@ -127,6 +134,7 @@ export function registerTaxonomyCreateCommands(create, program) {
|
|
|
127
134
|
.option('--cms-label <label>', 'CMS label (defaults to --name where applicable)')
|
|
128
135
|
.option('--json <json>', 'Inline JSON with fields and link shorthands')
|
|
129
136
|
.option('--json-base64 <encoded>', 'Base64-encoded JSON with fields and link shorthands')
|
|
137
|
+
.option('--staged <id>', 'JSON from cms_edit_request_staged_upload (kind=json). Hosted only.')
|
|
130
138
|
.option('--if-not-exists', 'Return existing entry ID when slug already exists')
|
|
131
139
|
.option('--dry-run', 'Validate without creating');
|
|
132
140
|
commonOptions(create
|
|
@@ -135,17 +143,21 @@ export function registerTaxonomyCreateCommands(create, program) {
|
|
|
135
143
|
.action(async (opts, _cmd) => {
|
|
136
144
|
const parentOpts = program.opts();
|
|
137
145
|
try {
|
|
146
|
+
const loaded = await loadOptionalJsonSpec(opts);
|
|
138
147
|
await runTaxonomyCreate({
|
|
139
148
|
contentType: 'tagType',
|
|
140
149
|
slug: opts.slug,
|
|
141
150
|
name: opts.name,
|
|
142
151
|
cmsLabel: opts.cmsLabel,
|
|
143
|
-
jsonSpec:
|
|
152
|
+
jsonSpec: loaded.spec,
|
|
144
153
|
ifNotExists: opts.ifNotExists,
|
|
145
154
|
dryRun: opts.dryRun,
|
|
146
155
|
configPath: parentOpts.config,
|
|
147
156
|
spaceKey: parentOpts.space,
|
|
148
157
|
});
|
|
158
|
+
if (!opts.dryRun) {
|
|
159
|
+
await tryConsumeStagedUpload(loaded.consumeStaged, 'Taxonomy created');
|
|
160
|
+
}
|
|
149
161
|
}
|
|
150
162
|
catch (err) {
|
|
151
163
|
errorMsg(err instanceof Error ? err.message : String(err));
|
|
@@ -158,17 +170,21 @@ export function registerTaxonomyCreateCommands(create, program) {
|
|
|
158
170
|
.action(async (opts, _cmd) => {
|
|
159
171
|
const parentOpts = program.opts();
|
|
160
172
|
try {
|
|
173
|
+
const loaded = await loadOptionalJsonSpec(opts);
|
|
161
174
|
await runTaxonomyCreate({
|
|
162
175
|
contentType: 'articleType',
|
|
163
176
|
slug: opts.slug,
|
|
164
177
|
name: opts.name,
|
|
165
178
|
cmsLabel: opts.cmsLabel,
|
|
166
|
-
jsonSpec:
|
|
179
|
+
jsonSpec: loaded.spec,
|
|
167
180
|
ifNotExists: opts.ifNotExists,
|
|
168
181
|
dryRun: opts.dryRun,
|
|
169
182
|
configPath: parentOpts.config,
|
|
170
183
|
spaceKey: parentOpts.space,
|
|
171
184
|
});
|
|
185
|
+
if (!opts.dryRun) {
|
|
186
|
+
await tryConsumeStagedUpload(loaded.consumeStaged, 'Taxonomy created');
|
|
187
|
+
}
|
|
172
188
|
}
|
|
173
189
|
catch (err) {
|
|
174
190
|
errorMsg(err instanceof Error ? err.message : String(err));
|
|
@@ -187,12 +203,13 @@ export function registerTaxonomyCreateCommands(create, program) {
|
|
|
187
203
|
.action(async (opts, _cmd) => {
|
|
188
204
|
const parentOpts = program.opts();
|
|
189
205
|
try {
|
|
206
|
+
const loaded = await loadOptionalJsonSpec(opts);
|
|
190
207
|
await runTaxonomyCreate({
|
|
191
208
|
contentType: 'tag',
|
|
192
209
|
slug: opts.slug,
|
|
193
210
|
name: opts.name,
|
|
194
211
|
cmsLabel: opts.cmsLabel,
|
|
195
|
-
jsonSpec:
|
|
212
|
+
jsonSpec: loaded.spec,
|
|
196
213
|
ifNotExists: opts.ifNotExists,
|
|
197
214
|
dryRun: opts.dryRun,
|
|
198
215
|
tagType: opts.tagType,
|
|
@@ -204,6 +221,9 @@ export function registerTaxonomyCreateCommands(create, program) {
|
|
|
204
221
|
configPath: parentOpts.config,
|
|
205
222
|
spaceKey: parentOpts.space,
|
|
206
223
|
});
|
|
224
|
+
if (!opts.dryRun) {
|
|
225
|
+
await tryConsumeStagedUpload(loaded.consumeStaged, 'Taxonomy created');
|
|
226
|
+
}
|
|
207
227
|
}
|
|
208
228
|
catch (err) {
|
|
209
229
|
errorMsg(err instanceof Error ? err.message : String(err));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-taxonomy.js","sourceRoot":"","sources":["../../src/commands/create-taxonomy.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAGvF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create-taxonomy.js","sourceRoot":"","sources":["../../src/commands/create-taxonomy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/** biome-ignore-all lint/suspicious/noConsole: Console output is intentional in CLI */
|
|
2
2
|
import type { Command } from 'commander';
|
|
3
|
+
export declare function stagedUploadScaffoldSource(): string;
|
|
3
4
|
export declare function registerHostScaffoldCommand(hostCmd: Command): void;
|
|
4
5
|
//# sourceMappingURL=host-scaffold.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-scaffold.d.ts","sourceRoot":"","sources":["../../src/commands/host-scaffold.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAIvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"host-scaffold.d.ts","sourceRoot":"","sources":["../../src/commands/host-scaffold.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAIvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAgB,0BAA0B,IAAI,MAAM,CAEnD;AAwFD,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0BlE"}
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
3
3
|
import { dirname, join, resolve } from 'node:path';
|
|
4
4
|
import { isJsonMode } from '../output/mode.js';
|
|
5
|
+
export function stagedUploadScaffoldSource() {
|
|
6
|
+
return "export { GET, POST } from '@se-studio/contentful-cms/hosted/next/routes/staged-upload';\n";
|
|
7
|
+
}
|
|
5
8
|
const SCAFFOLD_FILES = {
|
|
6
9
|
'src/proxy.ts': `import { type NextRequest, NextResponse } from 'next/server';
|
|
7
10
|
|
|
@@ -49,8 +52,7 @@ export const config = {
|
|
|
49
52
|
`,
|
|
50
53
|
'src/app/api/health/route.ts': `export { GET } from '@se-studio/contentful-cms/hosted/next/routes/health';
|
|
51
54
|
`,
|
|
52
|
-
'src/app/api/staged-upload/route.ts':
|
|
53
|
-
`,
|
|
55
|
+
'src/app/api/staged-upload/route.ts': stagedUploadScaffoldSource(),
|
|
54
56
|
'src/app/api/oauth/link-contentful/route.ts': `export { POST } from '@se-studio/contentful-cms/hosted/next/routes/link-contentful';
|
|
55
57
|
`,
|
|
56
58
|
'src/app/.well-known/oauth-authorization-server/route.ts': `export { GET } from '@se-studio/contentful-cms/hosted/next/routes/oauth-authorization-server';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-scaffold.js","sourceRoot":"","sources":["../../src/commands/host-scaffold.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAEvF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,cAAc,GAA2B;IAC7C,cAAc,EAAE;;;;;;;;;;;CAWjB;IACC,oBAAoB,EAAE;;;;;;;CAOvB;IACC,kBAAkB,EAAE;CACrB;IACC,2BAA2B,EAAE;CAC9B;IACC,qCAAqC,EAAE;CACxC;IACC,gDAAgD,EAAE;CACnD;IACC,+BAA+B,EAAE;CAClC;IACC,0CAA0C,EAAE;CAC7C;IACC,0BAA0B,EAAE;CAC7B;IACC,4CAA4C,EAAE;CAC/C;IACC,kCAAkC,EAAE;CACrC;IACC,8BAA8B,EAAE;CACjC;IACC,iCAAiC,EAAE;CACpC;IACC,0BAA0B,EAAE;CAC7B;IACC,6BAA6B,EAAE;CAChC;IACC,oCAAoC,EAAE;
|
|
1
|
+
{"version":3,"file":"host-scaffold.js","sourceRoot":"","sources":["../../src/commands/host-scaffold.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAEvF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,UAAU,0BAA0B;IACxC,OAAO,2FAA2F,CAAC;AACrG,CAAC;AAED,MAAM,cAAc,GAA2B;IAC7C,cAAc,EAAE;;;;;;;;;;;CAWjB;IACC,oBAAoB,EAAE;;;;;;;CAOvB;IACC,kBAAkB,EAAE;CACrB;IACC,2BAA2B,EAAE;CAC9B;IACC,qCAAqC,EAAE;CACxC;IACC,gDAAgD,EAAE;CACnD;IACC,+BAA+B,EAAE;CAClC;IACC,0CAA0C,EAAE;CAC7C;IACC,0BAA0B,EAAE;CAC7B;IACC,4CAA4C,EAAE;CAC/C;IACC,kCAAkC,EAAE;CACrC;IACC,8BAA8B,EAAE;CACjC;IACC,iCAAiC,EAAE;CACpC;IACC,0BAA0B,EAAE;CAC7B;IACC,6BAA6B,EAAE;CAChC;IACC,oCAAoC,EAAE,0BAA0B,EAAE;IAClE,4CAA4C,EAAE;CAC/C;IACC,yDAAyD,EAAE;CAC5D;IACC,uDAAuD,EAAE;CAC1D;IACC,wBAAwB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6B3B;CACA,CAAC;AAEF,MAAM,UAAU,2BAA2B,CAAC,OAAgB;IAC1D,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,oEAAoE,CAAC;SACjF,MAAM,CAAC,mBAAmB,EAAE,sCAAsC,CAAC;SACnE,MAAM,CAAC,SAAS,EAAE,mCAAmC,CAAC;SACtD,MAAM,CAAC,CAAC,IAA2C,EAAE,EAAE;QACtD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACvD,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC7C,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACxC,SAAS;YACX,CAAC;YACD,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,MAAM,aAAa,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../src/commands/open.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../src/commands/open.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuJ1D"}
|
package/dist/commands/open.js
CHANGED
|
@@ -15,10 +15,11 @@ export function registerOpenCommand(program) {
|
|
|
15
15
|
const cmd = program
|
|
16
16
|
.command('open')
|
|
17
17
|
.description('Load an entry by explicit lookup flag and start a session. Exactly one target flag is required.\n' +
|
|
18
|
-
'If the active session has unsaved changes, open hard-fails unless you pass --overwrite.\n' +
|
|
18
|
+
'If the active session has unsaved changes, open hard-fails unless you pass --overwrite --confirm-discard.\n' +
|
|
19
19
|
'Use --resume to re-print the current session without refetching or discarding staged edits.')
|
|
20
20
|
.option('--resume', 'Re-print the active session without refetching Contentful (keeps all staged set/rtf/add parent-link edits)')
|
|
21
|
-
.option('--overwrite', 'Replace the active session even if it has unsaved changes
|
|
21
|
+
.option('--overwrite', 'Replace the active session even if it has unsaved changes. When the session is dirty, also pass --confirm-discard.')
|
|
22
|
+
.option('--confirm-discard', 'Required with --overwrite when the session is dirty. Confirms discarding staged field edits.')
|
|
22
23
|
.option('--include-chrome', 'Also fetch template menu/footer and the navigation tree (default: page/article content only)');
|
|
23
24
|
registerEntryLookupOpenOptions(cmd);
|
|
24
25
|
cmd.action(async (opts, cmd) => {
|
|
@@ -26,6 +27,7 @@ export function registerOpenCommand(program) {
|
|
|
26
27
|
const sessionName = parentOpts.session;
|
|
27
28
|
const resume = Boolean(opts.resume);
|
|
28
29
|
const overwrite = Boolean(opts.overwrite);
|
|
30
|
+
const confirmDiscard = Boolean(opts.confirmDiscard);
|
|
29
31
|
const includeChrome = Boolean(opts.includeChrome);
|
|
30
32
|
try {
|
|
31
33
|
if (resume && overwrite) {
|
|
@@ -57,7 +59,11 @@ export function registerOpenCommand(program) {
|
|
|
57
59
|
errorMsg(message, { ...payload });
|
|
58
60
|
process.exit(1);
|
|
59
61
|
}
|
|
60
|
-
if (existing && isSessionDirty(existing) && overwrite) {
|
|
62
|
+
if (existing && isSessionDirty(existing) && overwrite && !confirmDiscard) {
|
|
63
|
+
errorMsg('Session has unsaved changes. Pass --overwrite --confirm-discard to discard staged field edits, or --resume to keep them.');
|
|
64
|
+
process.exit(1);
|
|
65
|
+
}
|
|
66
|
+
if (existing && isSessionDirty(existing) && overwrite && confirmDiscard) {
|
|
61
67
|
warnMsg(`Overwriting session with ${existing.modifiedEntryIds.length} unsaved change(s) and ${existing.pendingDeletions.length} pending deletion(s) (root ${existing.rootEntryId}). Staged field edits will be discarded.`);
|
|
62
68
|
}
|
|
63
69
|
const config = loadConfig(parentOpts.config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../src/commands/open.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,+BAA+B,EAAqB,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,0BAA0B,CAAC;AAElC,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,MAAM,GAAG,GAAG,OAAO;SAChB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CACV,mGAAmG;QACjG,
|
|
1
|
+
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../src/commands/open.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/commands/project.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAEvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/commands/project.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAEvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAqEhE"}
|
package/dist/commands/project.js
CHANGED
|
@@ -3,6 +3,7 @@ import { isJsonMode } from '../output/mode.js';
|
|
|
3
3
|
import { runProjectDoctor } from '../project/doctor.js';
|
|
4
4
|
import { loadProjectConfig } from '../project/load.js';
|
|
5
5
|
import { assertHostedDeployReady } from '../project/validate-hosted.js';
|
|
6
|
+
import { assertStagedUploadHostRoutes } from '../project/validate-staged-upload-route.js';
|
|
6
7
|
export function registerProjectCommand(program) {
|
|
7
8
|
const projectCmd = program
|
|
8
9
|
.command('project')
|
|
@@ -14,6 +15,7 @@ export function registerProjectCommand(program) {
|
|
|
14
15
|
.action((opts) => {
|
|
15
16
|
const project = loadProjectConfig(opts.projectConfig);
|
|
16
17
|
assertHostedDeployReady(project);
|
|
18
|
+
assertStagedUploadHostRoutes(opts.projectConfig, project);
|
|
17
19
|
if (isJsonMode()) {
|
|
18
20
|
console.log(JSON.stringify({
|
|
19
21
|
ok: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/commands/project.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAGvF,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/commands/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/commands/read.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAEvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/commands/read.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAEvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoE1D"}
|
package/dist/commands/read.js
CHANGED
|
@@ -14,6 +14,7 @@ export function registerReadCommand(program) {
|
|
|
14
14
|
'Use --id to read by Contentful entry ID without an open session.')
|
|
15
15
|
.option('--json', 'Output as JSON (entry object, or field value)')
|
|
16
16
|
.option('--id', 'Treat ref as a Contentful entry ID instead of a session @ref')
|
|
17
|
+
.option('--hash', 'Print byte length and sha256 prefix per field (no bodies). Use to verify large Text fields.')
|
|
17
18
|
.action(async (ref, field, opts, cmd) => {
|
|
18
19
|
try {
|
|
19
20
|
const parentOpts = cmd.parent?.opts() ?? {};
|
|
@@ -32,6 +33,7 @@ export function registerReadCommand(program) {
|
|
|
32
33
|
refLabel: ref,
|
|
33
34
|
field,
|
|
34
35
|
json: opts.json,
|
|
36
|
+
hash: opts.hash,
|
|
35
37
|
});
|
|
36
38
|
return;
|
|
37
39
|
}
|
|
@@ -47,6 +49,7 @@ export function registerReadCommand(program) {
|
|
|
47
49
|
refLabel: ref2,
|
|
48
50
|
field,
|
|
49
51
|
json: opts.json,
|
|
52
|
+
hash: opts.hash,
|
|
50
53
|
isModified: session.modifiedEntryIds.includes(entry.sys.id),
|
|
51
54
|
});
|
|
52
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/commands/read.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAGvF,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CACV,uFAAuF;QACrF,kEAAkE,CACrE;SACA,MAAM,CAAC,QAAQ,EAAE,+CAA+C,CAAC;SACjE,MAAM,CAAC,MAAM,EAAE,8DAA8D,CAAC;SAC9E,MAAM,CACL,KAAK,EACH,GAAuB,EACvB,KAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/commands/read.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtf.d.ts","sourceRoot":"","sources":["../../src/commands/rtf.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAIvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"rtf.d.ts","sourceRoot":"","sources":["../../src/commands/rtf.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAIvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgDzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6wBzD"}
|
package/dist/commands/rtf.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** biome-ignore-all lint/suspicious/noConsole: Console output is intentional in CLI */
|
|
2
2
|
import { BLOCKS } from '@contentful/rich-text-types';
|
|
3
3
|
import pc from 'picocolors';
|
|
4
|
-
import {
|
|
4
|
+
import { readJsonInputWithOptionalStaged } from '../cli/read-json-input.js';
|
|
5
5
|
import { isJsonMode } from '../output/mode.js';
|
|
6
6
|
import { errorMsg, successMsg, warnMsg } from '../output/print.js';
|
|
7
7
|
import { stringToRtfDocument } from '../rtf/convertToRtf.js';
|
|
@@ -11,6 +11,7 @@ import { rtfToMarkdown } from '../rtf/toMarkdown.js';
|
|
|
11
11
|
import { isRtfDocument } from '../rtf/utils.js';
|
|
12
12
|
import { resolveRef } from '../session/refs.js';
|
|
13
13
|
import { requireSession, saveSession } from '../session/store.js';
|
|
14
|
+
import { tryConsumeStagedUpload } from '../staged-upload/consume-text.js';
|
|
14
15
|
function pickRtfFormat(opts) {
|
|
15
16
|
const chosen = [];
|
|
16
17
|
if (opts.text)
|
|
@@ -31,6 +32,7 @@ const RTF_DESCRIPTION = 'Set a rich text field from plain text, Markdown, HTML,
|
|
|
31
32
|
'Inline (short content): rtf @c0 body --markdown "# Heading\\n\\nParagraph."\n' +
|
|
32
33
|
'Named flag: rtf @c0 body --content "<p>…</p>" --html\n' +
|
|
33
34
|
'Base64: rtf @c0 body --base64 <base64> --rtf-json\n' +
|
|
35
|
+
'Staged (hosted, over 8k): rtf @c0 body --staged <id> [--html|--markdown|--rtf-json]\n' +
|
|
34
36
|
'Subcommands: embed — embedded blocks; replace — surgical find/replace; patch — JSON batch replace; edit — replace field content; headings — list heading blocks.';
|
|
35
37
|
export function registerRtfCommand(program) {
|
|
36
38
|
const rtfCmd = program
|
|
@@ -38,6 +40,7 @@ export function registerRtfCommand(program) {
|
|
|
38
40
|
.description(RTF_DESCRIPTION)
|
|
39
41
|
.option('--content <string>', 'Content as a named string flag (preferred for AI use)')
|
|
40
42
|
.option('--base64 <encoded>', 'Base64-encoded input — eliminates filesystem dependency')
|
|
43
|
+
.option('--staged <id>', 'UTF-8 from cms_edit_request_staged_upload (kind=text, or kind=json with --rtf-json)')
|
|
41
44
|
.option('--text', 'Interpret input as plain text (paragraphs from newlines; inline **bold** allowed)')
|
|
42
45
|
.option('--markdown', 'Interpret input as Markdown (default when no format flag)')
|
|
43
46
|
.option('--html', 'Interpret input as HTML')
|
|
@@ -49,12 +52,12 @@ export function registerRtfCommand(program) {
|
|
|
49
52
|
process.exit(1);
|
|
50
53
|
}
|
|
51
54
|
const format = pickRtfFormat(opts);
|
|
52
|
-
const
|
|
55
|
+
const resolved = await resolveRtfInput(format, contentArg, opts.content, opts.base64, opts.staged);
|
|
53
56
|
const parentOpts = cmd.parent?.opts() ?? {};
|
|
54
57
|
const session = await requireSession(parentOpts.session, parentOpts.config);
|
|
55
58
|
const entry = resolveRef(session, ref);
|
|
56
59
|
const locale = session.defaultLocale;
|
|
57
|
-
const document = stringToRtfDocument(raw, format);
|
|
60
|
+
const document = stringToRtfDocument(resolved.raw, format);
|
|
58
61
|
if (!entry.fields[field]) {
|
|
59
62
|
entry.fields[field] = {};
|
|
60
63
|
}
|
|
@@ -63,6 +66,7 @@ export function registerRtfCommand(program) {
|
|
|
63
66
|
session.modifiedEntryIds.push(entry.sys.id);
|
|
64
67
|
}
|
|
65
68
|
await saveSession(session);
|
|
69
|
+
await tryConsumeStagedUpload(resolved.consumeStaged, 'Rich text was set');
|
|
66
70
|
successMsg(`Set rich text field "${field}" on ${ref}.`);
|
|
67
71
|
}
|
|
68
72
|
catch (err) {
|
|
@@ -342,7 +346,7 @@ export function registerRtfCommand(program) {
|
|
|
342
346
|
rtfCmd
|
|
343
347
|
.command('patch <ref> <field>')
|
|
344
348
|
.description('Apply a JSON array of find/replace operations to a rich text field in sequence.\n' +
|
|
345
|
-
'Provide --json
|
|
349
|
+
'Provide --json, --json-base64, or --staged <id> with the patch ops array.\n' +
|
|
346
350
|
'Each op: { "find": "...", "replaceWith": "...", "replaceIsMarkdown"|"replaceIsHtml"|"replaceIsJson": true, ... }\n' +
|
|
347
351
|
'Or use "replaceFormat": "plain"|"markdown"|"html"|"json" with "replaceWith".\n' +
|
|
348
352
|
'Supported op fields: find, replaceWith, replaceIsMarkdown, replaceIsHtml, replaceIsJson, replaceFormat, mode, ignoreMarks,\n' +
|
|
@@ -350,17 +354,22 @@ export function registerRtfCommand(program) {
|
|
|
350
354
|
'All ops are applied in order; if any fails, no changes are saved.')
|
|
351
355
|
.option('--json <json>', 'Inline JSON array of patch operations')
|
|
352
356
|
.option('--json-base64 <encoded>', 'Base64-encoded JSON array of patch operations')
|
|
357
|
+
.option('--staged <id>', 'JSON from cms_edit_request_staged_upload (kind=json). Hosted only.')
|
|
353
358
|
.option('--dry-run', 'Count matches for each op without writing changes')
|
|
354
359
|
.action(async (ref, field, opts, cmd) => {
|
|
355
360
|
const parentOpts = cmd.parent?.parent?.opts() ?? {};
|
|
356
361
|
try {
|
|
357
362
|
let parsedJson;
|
|
363
|
+
let consumeStaged = null;
|
|
358
364
|
try {
|
|
359
|
-
|
|
365
|
+
const loaded = await readJsonInputWithOptionalStaged({
|
|
360
366
|
json: opts.json,
|
|
361
367
|
jsonBase64: opts.jsonBase64,
|
|
368
|
+
staged: opts.staged,
|
|
362
369
|
label: 'rtf patch',
|
|
363
370
|
});
|
|
371
|
+
parsedJson = loaded.value;
|
|
372
|
+
consumeStaged = loaded.consumeStaged;
|
|
364
373
|
}
|
|
365
374
|
catch (err) {
|
|
366
375
|
errorMsg(err instanceof Error ? err.message : String(err));
|
|
@@ -508,6 +517,7 @@ export function registerRtfCommand(program) {
|
|
|
508
517
|
session.modifiedEntryIds.push(entry.sys.id);
|
|
509
518
|
}
|
|
510
519
|
await saveSession(session);
|
|
520
|
+
await tryConsumeStagedUpload(consumeStaged, 'Patch applied');
|
|
511
521
|
if (isJsonMode()) {
|
|
512
522
|
console.log(JSON.stringify({ ok: true, ops: results }));
|
|
513
523
|
}
|
|
@@ -525,12 +535,13 @@ export function registerRtfCommand(program) {
|
|
|
525
535
|
});
|
|
526
536
|
rtfCmd
|
|
527
537
|
.command('edit <ref> <field>')
|
|
528
|
-
.description('Replace a rich text field with new content from --content or --
|
|
538
|
+
.description('Replace a rich text field with new content from --content, --base64, or --staged.\n' +
|
|
529
539
|
'Format: --text | --markdown (default) | --html | --rtf-json.\n' +
|
|
530
540
|
'In human mode, the current field content is printed to stdout as Markdown first.\n' +
|
|
531
541
|
'Example: cms-edit rtf edit @c1 body --content "# New heading\\n\\nBody text." --markdown')
|
|
532
542
|
.option('--content <string>', 'Replacement content (preferred for MCP)')
|
|
533
543
|
.option('--base64 <encoded>', 'Base64-encoded replacement content')
|
|
544
|
+
.option('--staged <id>', 'UTF-8 from cms_edit_request_staged_upload (kind=text, or kind=json with --rtf-json)')
|
|
534
545
|
.option('--text', 'Content is plain text')
|
|
535
546
|
.option('--markdown', 'Content is Markdown (default)')
|
|
536
547
|
.option('--html', 'Content is HTML')
|
|
@@ -566,13 +577,14 @@ export function registerRtfCommand(program) {
|
|
|
566
577
|
}
|
|
567
578
|
}
|
|
568
579
|
const format = pickRtfFormat(opts);
|
|
569
|
-
const
|
|
570
|
-
const newDocument = stringToRtfDocument(
|
|
580
|
+
const resolved = await resolveRtfInput(format, undefined, opts.content, opts.base64, opts.staged);
|
|
581
|
+
const newDocument = stringToRtfDocument(resolved.raw, format);
|
|
571
582
|
entry.fields[field][locale] = newDocument;
|
|
572
583
|
if (!session.modifiedEntryIds.includes(entry.sys.id)) {
|
|
573
584
|
session.modifiedEntryIds.push(entry.sys.id);
|
|
574
585
|
}
|
|
575
586
|
await saveSession(session);
|
|
587
|
+
await tryConsumeStagedUpload(resolved.consumeStaged, 'Rich text was updated');
|
|
576
588
|
if (isJsonMode()) {
|
|
577
589
|
console.log(JSON.stringify({ ok: true, ref, field }));
|
|
578
590
|
}
|