@elytracms/studio 0.0.85 → 0.0.86
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/convex/delivery.ts +21 -0
- package/convex/engine-version.test.ts +31 -0
- package/dist/components/ai/ai-chat-panel.js +13 -2
- package/dist/components/ai/ai-chat-panel.js.map +1 -1
- package/dist/components/builder/blocks-model.d.ts +5 -4
- package/dist/components/builder/blocks-model.js +5 -4
- package/dist/components/builder/blocks-model.js.map +1 -1
- package/dist/components/builder/clipboard-actions.d.ts +6 -0
- package/dist/components/builder/clipboard-actions.js +15 -1
- package/dist/components/builder/clipboard-actions.js.map +1 -1
- package/dist/components/builder/composition-field-editor.d.ts +13 -0
- package/dist/components/builder/composition-field-editor.js +19 -4
- package/dist/components/builder/composition-field-editor.js.map +1 -1
- package/dist/components/builder/insert-context.js +6 -4
- package/dist/components/builder/insert-context.js.map +1 -1
- package/dist/components/cms/cell-edit.d.ts +7 -0
- package/dist/components/cms/cell-edit.js +9 -1
- package/dist/components/cms/cell-edit.js.map +1 -1
- package/dist/components/cms/collection-table.js +11 -0
- package/dist/components/cms/collection-table.js.map +1 -1
- package/dist/components/cms/document-url-path.d.ts +7 -4
- package/dist/components/cms/document-url-path.js +15 -1
- package/dist/components/cms/document-url-path.js.map +1 -1
- package/dist/components/cms/field-control.js +4 -0
- package/dist/components/cms/field-control.js.map +1 -1
- package/dist/components/cms/inline-field-errors.d.ts +36 -0
- package/dist/components/cms/inline-field-errors.js +13 -5
- package/dist/components/cms/inline-field-errors.js.map +1 -1
- package/dist/components/cms/rich-text/insert.d.ts +6 -3
- package/dist/components/cms/rich-text/insert.js +9 -6
- package/dist/components/cms/rich-text/insert.js.map +1 -1
- package/dist/components/cms/use-live-url.d.ts +18 -6
- package/dist/components/cms/use-live-url.js +10 -0
- package/dist/components/cms/use-live-url.js.map +1 -1
- package/dist/components/components/transfer.d.ts +6 -5
- package/dist/components/components/transfer.js +7 -6
- package/dist/components/components/transfer.js.map +1 -1
- package/dist/components/deployment-setup-gate.js +9 -3
- package/dist/components/deployment-setup-gate.js.map +1 -1
- package/dist/lib/ai/constraints.js +54 -71
- package/dist/lib/ai/constraints.js.map +1 -1
- package/dist/lib/ai/index.d.ts +1 -0
- package/dist/lib/ai/index.js +1 -0
- package/dist/lib/ai/index.js.map +1 -1
- package/dist/lib/ai/route-fetch.d.ts +58 -0
- package/dist/lib/ai/route-fetch.js +98 -0
- package/dist/lib/ai/route-fetch.js.map +1 -0
- package/dist/lib/ai/route-provider.d.ts +5 -22
- package/dist/lib/ai/route-provider.js +23 -1
- package/dist/lib/ai/route-provider.js.map +1 -1
- package/dist/lib/clipboard/paste-target.d.ts +23 -1
- package/dist/lib/clipboard/paste-target.js +12 -11
- package/dist/lib/clipboard/paste-target.js.map +1 -1
- package/dist/lib/cms/document-gate.d.ts +19 -9
- package/dist/lib/cms/document-gate.js +25 -4
- package/dist/lib/cms/document-gate.js.map +1 -1
- package/dist/lib/engine-version.d.ts +16 -0
- package/dist/lib/engine-version.js +17 -0
- package/dist/lib/engine-version.js.map +1 -0
- package/dist/lib/i18n/messages.de.js +4 -0
- package/dist/lib/i18n/messages.de.js.map +1 -1
- package/dist/lib/i18n/messages.en.d.ts +4 -0
- package/dist/lib/i18n/messages.en.js +7 -0
- package/dist/lib/i18n/messages.en.js.map +1 -1
- package/dist/lib/operations/studio-operations.js +4 -2
- package/dist/lib/operations/studio-operations.js.map +1 -1
- package/dist/lib/persistence/deployment-readiness.d.ts +8 -1
- package/dist/lib/persistence/deployment-readiness.js +4 -0
- package/dist/lib/persistence/deployment-readiness.js.map +1 -1
- package/dist/previews/manifest-format.d.ts +7 -7
- package/dist/previews/manifest-format.js +0 -21
- package/dist/previews/manifest-format.js.map +1 -1
- package/package.json +2 -2
|
@@ -441,6 +441,7 @@ declare const MESSAGES: {
|
|
|
441
441
|
'cms.issueMessage.preConvergenceV1': import("./types.js").SourceMessage;
|
|
442
442
|
'cms.issueMessage.preConvergenceBareBlocks': import("./types.js").SourceMessage;
|
|
443
443
|
'cms.issueMessage.preConvergencePlaintext': import("./types.js").SourceMessage;
|
|
444
|
+
'cms.issueMessage.noValidationSession': import("./types.js").SourceMessage;
|
|
444
445
|
'cms.issueMessage.richTextHoldsObject': import("./types.js").SourceMessage;
|
|
445
446
|
'cms.issueMessage.unknownCollectionForDocument': import("./types.js").SourceMessage;
|
|
446
447
|
'cms.issueMessage.localizedPlainValue': import("./types.js").SourceMessage;
|
|
@@ -904,6 +905,7 @@ declare const MESSAGES: {
|
|
|
904
905
|
'builder.clipboard.copied': import("./types.js").SourceMessage;
|
|
905
906
|
'builder.clipboard.cutNotice': import("./types.js").SourceMessage;
|
|
906
907
|
'builder.clipboard.pastedInto': import("./types.js").SourceMessage;
|
|
908
|
+
'builder.clipboard.notAllowed': import("./types.js").SourceMessage;
|
|
907
909
|
'builder.clipboard.issueComponent': import("./types.js").SourceMessage;
|
|
908
910
|
'builder.clipboard.issueBinding': import("./types.js").SourceMessage;
|
|
909
911
|
'builder.clipboard.error.corruptJson': import("./types.js").SourceMessage;
|
|
@@ -989,6 +991,7 @@ declare const MESSAGES: {
|
|
|
989
991
|
'builder.canvasTheme.stylesheetErrorNotice': import("./types.js").SourceMessage;
|
|
990
992
|
'builder.canvasTheme.noThemeTokensNotice': import("./types.js").SourceMessage;
|
|
991
993
|
'builder.canvasTheme.noStylesheetNotice': import("./types.js").SourceMessage;
|
|
994
|
+
'builder.composition.preservedNotice': import("./types.js").SourceMessage;
|
|
992
995
|
'builder.spacing.gapAfterChild': import("./types.js").SourceMessage;
|
|
993
996
|
'builder.richText.toolbarLabel': import("./types.js").SourceMessage;
|
|
994
997
|
'builder.richText.linkPlaceholder': import("./types.js").SourceMessage;
|
|
@@ -1085,6 +1088,7 @@ declare const MESSAGES: {
|
|
|
1085
1088
|
'ai.proposal.expandReview': import("./types.js").SourceMessage;
|
|
1086
1089
|
'ai.proposal.collapseReview': import("./types.js").SourceMessage;
|
|
1087
1090
|
'ai.error.route': import("./types.js").SourceMessage;
|
|
1091
|
+
'ai.error.routeNotMounted': import("./types.js").SourceMessage;
|
|
1088
1092
|
'ai.error.generic': import("./types.js").SourceMessage;
|
|
1089
1093
|
'ai.error.applyFailed': import("./types.js").SourceMessage;
|
|
1090
1094
|
'ai.error.applyInvalid': import("./types.js").SourceMessage;
|
|
@@ -566,6 +566,7 @@ const MESSAGES = {
|
|
|
566
566
|
'cms.issueMessage.preConvergenceV1': msg('Field "{field}" holds a pre-convergence content shape (the v1 "{ version, doc }" envelope) — the engine reads only the converged "{ version: 2, content }" sequence. Re-seed this content.'),
|
|
567
567
|
'cms.issueMessage.preConvergenceBareBlocks': msg('Field "{field}" holds a pre-convergence content shape (a bare composition node list) — the engine reads only the converged "{ version: 2, content }" sequence. Re-seed this content.'),
|
|
568
568
|
'cms.issueMessage.preConvergencePlaintext': msg('Field "{field}" holds a pre-convergence content shape (legacy plain text) — the engine reads only the converged "{ version: 2, content }" sequence. Re-seed this content.'),
|
|
569
|
+
'cms.issueMessage.noValidationSession': msg('No validation session is mounted — refusing to publish unvalidated.', 'EC-546: the publish gate\'s refusal when no CMS session is mounted to validate with; a host-level rule, not a finding about the document.'),
|
|
569
570
|
'cms.issueMessage.richTextHoldsObject': msg('Rich-text field "{field}" expects a rich-text value ("{ version: 2, content }") but holds an object with keys "{keys}".'),
|
|
570
571
|
'cms.issueMessage.unknownCollectionForDocument': msg('Document "{id}" references unknown collection "{collection}".'),
|
|
571
572
|
'cms.issueMessage.localizedPlainValue': msg('Localized field "{field}" holds a plain value in the shared "values" bag — expected per-locale values under "localized.<locale>.{field}". The plain value serves only as a last-resort fallback.'),
|
|
@@ -1109,6 +1110,7 @@ const MESSAGES = {
|
|
|
1109
1110
|
'builder.clipboard.copied': msg('Copied {label}'),
|
|
1110
1111
|
'builder.clipboard.cutNotice': msg('Cut {label}'),
|
|
1111
1112
|
'builder.clipboard.pastedInto': msg('{summary} · into {destination}'),
|
|
1113
|
+
'builder.clipboard.notAllowed': msg('{component} cannot be pasted into {destination} — the slot does not allow it.', '{component} is the pasted root’s short component name (e.g. “Hero”); {destination} is “Parent · slot” (e.g. “Section · body”).'),
|
|
1112
1114
|
'builder.clipboard.issueComponent': msg('component'),
|
|
1113
1115
|
'builder.clipboard.issueBinding': msg('binding'),
|
|
1114
1116
|
// EC-494 — the engine-built clipboard failures (`core/clipboard`), which carry a
|
|
@@ -1201,6 +1203,10 @@ const MESSAGES = {
|
|
|
1201
1203
|
'builder.canvasTheme.stylesheetErrorNotice': msg('The canvas stylesheet failed to load — blocks render unstyled. Check the studio’s canvas.css build.'),
|
|
1202
1204
|
'builder.canvasTheme.noThemeTokensNotice': msg('The canvas stylesheet defines no theme tokens. Make canvas.css import your site’s full-Tailwind theme entry (see docs/theming.md).'),
|
|
1203
1205
|
'builder.canvasTheme.noStylesheetNotice': msg('No canvas stylesheet is configured — blocks render unstyled. The app must supply one via setCanvasStylesheetUrl (the create-elytra template wires this).'),
|
|
1206
|
+
// Mixed-sequence honesty notice (EC-549 interim): a blocks value carrying
|
|
1207
|
+
// typography items the canvas cannot render yet must SAY so — count + pointer,
|
|
1208
|
+
// never silence (EC-500 D3's canvas contract, scope item 3).
|
|
1209
|
+
'builder.composition.preservedNotice': msg('This composition carries {count} text item(s) the canvas can’t display yet. They keep their position between the blocks, are untouched by canvas edits, and publish normally.', '{count} is the number of preserved non-component sequence items (prose paragraphs, quotes, …).'),
|
|
1204
1210
|
'builder.spacing.gapAfterChild': msg('Gap after child {index}'),
|
|
1205
1211
|
'builder.richText.toolbarLabel': msg('Text formatting'),
|
|
1206
1212
|
'builder.richText.linkPlaceholder': msg('https://… (empty removes)'),
|
|
@@ -1310,6 +1316,7 @@ const MESSAGES = {
|
|
|
1310
1316
|
'ai.proposal.expandReview': msg('Expand review'),
|
|
1311
1317
|
'ai.proposal.collapseReview': msg('Close review'),
|
|
1312
1318
|
'ai.error.route': msg('The assistant is unavailable right now. Please try again.'),
|
|
1319
|
+
'ai.error.routeNotMounted': msg('No assistant route is mounted at {endpoint} — the request was answered by the page instead of the AI route. Check the host’s route mount; on a dev server the studio build output may be missing.', 'EC-514: the AI route answered with HTML (or another non-route shape) at the configured path — a developer-facing deploy/dev defect, not a provider outage. {endpoint} is the route path, e.g. /api/ai.'),
|
|
1313
1320
|
'ai.error.generic': msg('Something went wrong. Please try again.'),
|
|
1314
1321
|
'ai.error.applyFailed': msg('The draft could not be applied.'),
|
|
1315
1322
|
'ai.error.applyInvalid': msg('The proposal no longer fits the current document: {issues}', 'Shown when a re-validation at apply time finds errors the apply would introduce (the document changed since the proposal was built). {issues} is a short list of issue messages.'),
|