@actuate-media/cms-core 0.19.0 → 0.21.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/LICENSE +21 -21
- package/dist/__tests__/api/ai-quality.test.d.ts +2 -0
- package/dist/__tests__/api/ai-quality.test.d.ts.map +1 -0
- package/dist/__tests__/api/ai-quality.test.js +470 -0
- package/dist/__tests__/api/ai-quality.test.js.map +1 -0
- package/dist/__tests__/fields/component-block.test.d.ts +2 -0
- package/dist/__tests__/fields/component-block.test.d.ts.map +1 -0
- package/dist/__tests__/fields/component-block.test.js +129 -0
- package/dist/__tests__/fields/component-block.test.js.map +1 -0
- package/dist/__tests__/seo/config-store.test.d.ts +2 -0
- package/dist/__tests__/seo/config-store.test.d.ts.map +1 -0
- package/dist/__tests__/seo/config-store.test.js +167 -0
- package/dist/__tests__/seo/config-store.test.js.map +1 -0
- package/dist/api/handler-factory.d.ts.map +1 -1
- package/dist/api/handler-factory.js +4 -0
- package/dist/api/handler-factory.js.map +1 -1
- package/dist/api/handlers.d.ts.map +1 -1
- package/dist/api/handlers.js +566 -21
- package/dist/api/handlers.js.map +1 -1
- package/dist/config/types.d.ts +61 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/fields/component-block.d.ts +23 -0
- package/dist/fields/component-block.d.ts.map +1 -0
- package/dist/fields/component-block.js +137 -0
- package/dist/fields/component-block.js.map +1 -0
- package/dist/fields/index.d.ts.map +1 -1
- package/dist/fields/index.js +2 -0
- package/dist/fields/index.js.map +1 -1
- package/dist/seo/config-store.d.ts +61 -0
- package/dist/seo/config-store.d.ts.map +1 -0
- package/dist/seo/config-store.js +158 -0
- package/dist/seo/config-store.js.map +1 -0
- package/dist/seo/index.d.ts +2 -0
- package/dist/seo/index.d.ts.map +1 -1
- package/dist/seo/index.js +1 -0
- package/dist/seo/index.js.map +1 -1
- package/package.json +1 -1
- package/prisma/cms-schema.prisma +306 -306
- package/prisma/migrations/0001_init/migration.sql +384 -384
- package/prisma/migrations/0002_folders/migration.sql +39 -39
- package/prisma/migrations/0003_search_and_webhooks/migration.sql +50 -50
- package/prisma/migrations/0004_script_tags/migration.sql +21 -21
- package/prisma/migrations/0005_password_reset_tokens/migration.sql +20 -20
- package/prisma/migrations/0006_page_builder/migration.sql +38 -38
- package/prisma/migrations/migration_lock.toml +3 -3
- package/prisma/schema.prisma +549 -549
- package/generated/browser.ts +0 -109
- package/generated/client.ts +0 -133
- package/generated/commonInputTypes.ts +0 -709
- package/generated/enums.ts +0 -125
- package/generated/internal/class.ts +0 -376
- package/generated/internal/prismaNamespace.ts +0 -2617
- package/generated/internal/prismaNamespaceBrowser.ts +0 -611
- package/generated/models/ApiKey.ts +0 -1550
- package/generated/models/AuditLog.ts +0 -1206
- package/generated/models/BackupRecord.ts +0 -1250
- package/generated/models/ContentLock.ts +0 -1472
- package/generated/models/ContentTemplate.ts +0 -1416
- package/generated/models/Document.ts +0 -3005
- package/generated/models/Folder.ts +0 -1904
- package/generated/models/FormSubmission.ts +0 -1200
- package/generated/models/InAppNotification.ts +0 -1457
- package/generated/models/Media.ts +0 -2340
- package/generated/models/MediaUsage.ts +0 -1472
- package/generated/models/OAuthAccount.ts +0 -1463
- package/generated/models/Redirect.ts +0 -1284
- package/generated/models/Session.ts +0 -1492
- package/generated/models/Site.ts +0 -1206
- package/generated/models/User.ts +0 -3513
- package/generated/models/Version.ts +0 -1511
- package/generated/models/WorkflowState.ts +0 -1514
- package/generated/models.ts +0 -29
package/dist/config/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PageBuilderConfig } from '../page-builder/types.js';
|
|
2
|
-
export type FieldDefinition = TextField | RichTextField | NumberField | BooleanField | DateField | SlugField | SelectField | RelationshipField | MediaField | JsonField | ColorField | UrlField | EmailField | ArrayField | BlocksField;
|
|
2
|
+
export type FieldDefinition = TextField | RichTextField | NumberField | BooleanField | DateField | SlugField | SelectField | RelationshipField | MediaField | JsonField | ColorField | UrlField | EmailField | ArrayField | BlocksField | ComponentBlockField;
|
|
3
3
|
interface BaseField {
|
|
4
4
|
label: string;
|
|
5
5
|
required?: boolean;
|
|
@@ -106,6 +106,66 @@ export interface BlockDefinition {
|
|
|
106
106
|
};
|
|
107
107
|
fields: Record<string, FieldDefinition>;
|
|
108
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Component-aware block field. Stores instances of real React
|
|
111
|
+
* components as data, validated against an extracted prop manifest from
|
|
112
|
+
* `@actuate-media/component-blocks`.
|
|
113
|
+
*
|
|
114
|
+
* Stored value shape:
|
|
115
|
+
* ```ts
|
|
116
|
+
* {
|
|
117
|
+
* component: 'Hero',
|
|
118
|
+
* props: { title: 'Welcome', alignment: 'center' }
|
|
119
|
+
* }
|
|
120
|
+
* ```
|
|
121
|
+
*
|
|
122
|
+
* The foundation slice (this PR) accepts only an inline manifest object.
|
|
123
|
+
* Path-based references (loading a manifest JSON from disk during config
|
|
124
|
+
* load) ship in PR #2 of the Phase 4 roadmap, where the same loader
|
|
125
|
+
* powers the admin form generator and live preview.
|
|
126
|
+
*/
|
|
127
|
+
export interface ComponentBlockField extends BaseField {
|
|
128
|
+
type: 'componentBlock';
|
|
129
|
+
/**
|
|
130
|
+
* Inline manifest object. Pass the imported JSON emitted by
|
|
131
|
+
* `actuate-component-blocks extract` or the result of calling
|
|
132
|
+
* `extractManifest()` programmatically.
|
|
133
|
+
*/
|
|
134
|
+
manifest: ComponentBlockManifestInline;
|
|
135
|
+
/**
|
|
136
|
+
* Optional whitelist of component names the editor may pick from. If
|
|
137
|
+
* omitted, every component in the manifest is allowed.
|
|
138
|
+
*/
|
|
139
|
+
allow?: string[];
|
|
140
|
+
/**
|
|
141
|
+
* Component name used as the default when a new instance is created.
|
|
142
|
+
* Must match one of `allow` (when set) and must exist in the manifest.
|
|
143
|
+
*/
|
|
144
|
+
defaultComponent?: string;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Inline shape — kept structurally typed so cms-core doesn't need a
|
|
148
|
+
* compile-time import from `@actuate-media/component-blocks`. The
|
|
149
|
+
* field-type validator confirms it matches the shipped Manifest schema.
|
|
150
|
+
*/
|
|
151
|
+
export interface ComponentBlockManifestInline {
|
|
152
|
+
version: 1;
|
|
153
|
+
generatedAt: string;
|
|
154
|
+
rootDir: string;
|
|
155
|
+
components: Array<{
|
|
156
|
+
name: string;
|
|
157
|
+
displayName: string;
|
|
158
|
+
filePath: string;
|
|
159
|
+
description?: string;
|
|
160
|
+
props: Array<{
|
|
161
|
+
name: string;
|
|
162
|
+
required: boolean;
|
|
163
|
+
type: unknown;
|
|
164
|
+
description?: string;
|
|
165
|
+
defaultValue?: string | number | boolean | null;
|
|
166
|
+
}>;
|
|
167
|
+
}>;
|
|
168
|
+
}
|
|
109
169
|
export type AccessFunction = (args: {
|
|
110
170
|
user: {
|
|
111
171
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `componentBlock` field type — validates a stored block instance
|
|
3
|
+
* against an extracted Manifest. Lives in its own file so the larger
|
|
4
|
+
* validation rules (per-prop coercion, allow-list enforcement) can grow
|
|
5
|
+
* without bloating the registry index.
|
|
6
|
+
*
|
|
7
|
+
* Stored-value shape:
|
|
8
|
+
* { component: 'Hero', props: { title: 'Welcome', alignment: 'center' } }
|
|
9
|
+
*/
|
|
10
|
+
import type { FieldDefinition } from '../config/types.js';
|
|
11
|
+
import type { FieldTypeDefinition } from './index.js';
|
|
12
|
+
/**
|
|
13
|
+
* Validate a stored block value against the manifest declared on its
|
|
14
|
+
* field. Returns `true` on success or a human-readable error string.
|
|
15
|
+
*
|
|
16
|
+
* Performs structural checks only — the per-prop type validation is
|
|
17
|
+
* shared with the admin form generator in the next slice (PR #2) and
|
|
18
|
+
* lives in `@actuate-media/component-blocks`. Pulling that here would
|
|
19
|
+
* couple cms-core to the extractor, which we want to keep optional.
|
|
20
|
+
*/
|
|
21
|
+
export declare function validateComponentBlockValue(value: unknown, field: FieldDefinition): string | true;
|
|
22
|
+
export declare const componentBlockFieldType: FieldTypeDefinition;
|
|
23
|
+
//# sourceMappingURL=component-block.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-block.d.ts","sourceRoot":"","sources":["../../src/fields/component-block.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAGV,eAAe,EAChB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AA2CrD;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CA4CjG;AAqCD,eAAO,MAAM,uBAAuB,EAAE,mBAQrC,CAAA"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `componentBlock` field type — validates a stored block instance
|
|
3
|
+
* against an extracted Manifest. Lives in its own file so the larger
|
|
4
|
+
* validation rules (per-prop coercion, allow-list enforcement) can grow
|
|
5
|
+
* without bloating the registry index.
|
|
6
|
+
*
|
|
7
|
+
* Stored-value shape:
|
|
8
|
+
* { component: 'Hero', props: { title: 'Welcome', alignment: 'center' } }
|
|
9
|
+
*/
|
|
10
|
+
function isPlainObject(v) {
|
|
11
|
+
return v !== null && typeof v === 'object' && !Array.isArray(v);
|
|
12
|
+
}
|
|
13
|
+
function isInlineManifest(m) {
|
|
14
|
+
if (!isPlainObject(m))
|
|
15
|
+
return false;
|
|
16
|
+
if (m.version !== 1)
|
|
17
|
+
return false;
|
|
18
|
+
if (typeof m.generatedAt !== 'string')
|
|
19
|
+
return false;
|
|
20
|
+
if (!Array.isArray(m.components))
|
|
21
|
+
return false;
|
|
22
|
+
// Verify every component entry has the per-component shape we'll
|
|
23
|
+
// iterate later. Without this, a malformed entry with `props` missing
|
|
24
|
+
// would crash `validateComponentBlockValue` with a TypeError on
|
|
25
|
+
// `for (const propSpec of spec.props)`, surfacing as a 500 rather
|
|
26
|
+
// than a friendly validation error.
|
|
27
|
+
for (const c of m.components) {
|
|
28
|
+
if (!isPlainObject(c))
|
|
29
|
+
return false;
|
|
30
|
+
if (typeof c.name !== 'string')
|
|
31
|
+
return false;
|
|
32
|
+
if (!Array.isArray(c.props))
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
function isStoredBlockValue(v) {
|
|
38
|
+
// `props` must be a *plain* object — arrays pass the `typeof obj`
|
|
39
|
+
// check but break the per-prop lookup later.
|
|
40
|
+
if (!isPlainObject(v))
|
|
41
|
+
return false;
|
|
42
|
+
return typeof v.component === 'string' && isPlainObject(v.props);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Validate a stored block value against the manifest declared on its
|
|
46
|
+
* field. Returns `true` on success or a human-readable error string.
|
|
47
|
+
*
|
|
48
|
+
* Performs structural checks only — the per-prop type validation is
|
|
49
|
+
* shared with the admin form generator in the next slice (PR #2) and
|
|
50
|
+
* lives in `@actuate-media/component-blocks`. Pulling that here would
|
|
51
|
+
* couple cms-core to the extractor, which we want to keep optional.
|
|
52
|
+
*/
|
|
53
|
+
export function validateComponentBlockValue(value, field) {
|
|
54
|
+
if (field.type !== 'componentBlock')
|
|
55
|
+
return true;
|
|
56
|
+
const blockField = field;
|
|
57
|
+
if (!isStoredBlockValue(value)) {
|
|
58
|
+
return 'Component block value must be { component: string; props: object }.';
|
|
59
|
+
}
|
|
60
|
+
// Allow inline manifest only; path-based manifests are resolved by
|
|
61
|
+
// the loader at config-load time and replaced with their inline form
|
|
62
|
+
// before validation runs. This keeps the validator pure and testable.
|
|
63
|
+
if (!isInlineManifest(blockField.manifest)) {
|
|
64
|
+
return 'Component block field has no resolved manifest (was it loaded?).';
|
|
65
|
+
}
|
|
66
|
+
const manifest = blockField.manifest;
|
|
67
|
+
const spec = manifest.components.find((c) => c.name === value.component);
|
|
68
|
+
if (!spec) {
|
|
69
|
+
const known = manifest.components.map((c) => c.name).join(', ') || '<none>';
|
|
70
|
+
return `Unknown component '${value.component}'. Manifest knows: ${known}.`;
|
|
71
|
+
}
|
|
72
|
+
if (blockField.allow && !blockField.allow.includes(value.component)) {
|
|
73
|
+
return `Component '${value.component}' is not in the allow-list for this field.`;
|
|
74
|
+
}
|
|
75
|
+
// Validate each prop declared in the manifest. Required props must
|
|
76
|
+
// have a value; optional props are checked only when supplied.
|
|
77
|
+
// Per-type coercion (e.g. parseInt for numeric strings) is deferred
|
|
78
|
+
// to the admin form generator slice; this layer just rejects outright
|
|
79
|
+
// shape mismatches so bad data never reaches the database.
|
|
80
|
+
for (const propSpec of spec.props) {
|
|
81
|
+
const v = value.props[propSpec.name];
|
|
82
|
+
if (v === undefined || v === null) {
|
|
83
|
+
if (propSpec.required) {
|
|
84
|
+
return `Missing required prop '${propSpec.name}' for component '${value.component}'.`;
|
|
85
|
+
}
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
const typeCheckError = validatePropTypeShape(v, propSpec.type, propSpec.name);
|
|
89
|
+
if (typeCheckError)
|
|
90
|
+
return typeCheckError;
|
|
91
|
+
}
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Lightweight runtime check that a stored prop value matches its
|
|
96
|
+
* declared PropType shape. Deliberately permissive — we only flag
|
|
97
|
+
* outright type mismatches (number vs string) and unknown enum values.
|
|
98
|
+
* The richer schema-aware validator (with coercion and migration hints)
|
|
99
|
+
* lives in `@actuate-media/component-blocks` and is wired in PR #2.
|
|
100
|
+
*/
|
|
101
|
+
function validatePropTypeShape(value, type, propName) {
|
|
102
|
+
if (!type || typeof type !== 'object')
|
|
103
|
+
return null;
|
|
104
|
+
const t = type;
|
|
105
|
+
switch (t.kind) {
|
|
106
|
+
case 'string':
|
|
107
|
+
return typeof value === 'string' ? null : `Prop '${propName}' must be a string.`;
|
|
108
|
+
case 'number':
|
|
109
|
+
return typeof value === 'number' ? null : `Prop '${propName}' must be a number.`;
|
|
110
|
+
case 'boolean':
|
|
111
|
+
return typeof value === 'boolean' ? null : `Prop '${propName}' must be a boolean.`;
|
|
112
|
+
case 'enum': {
|
|
113
|
+
const values = t.values ?? [];
|
|
114
|
+
return values.includes(value)
|
|
115
|
+
? null
|
|
116
|
+
: `Prop '${propName}' must be one of: ${values.join(', ')}.`;
|
|
117
|
+
}
|
|
118
|
+
case 'array':
|
|
119
|
+
return Array.isArray(value) ? null : `Prop '${propName}' must be an array.`;
|
|
120
|
+
case 'object':
|
|
121
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value)
|
|
122
|
+
? null
|
|
123
|
+
: `Prop '${propName}' must be an object.`;
|
|
124
|
+
default:
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
export const componentBlockFieldType = {
|
|
129
|
+
type: 'componentBlock',
|
|
130
|
+
label: 'Component Block',
|
|
131
|
+
defaultConfig: {
|
|
132
|
+
type: 'componentBlock',
|
|
133
|
+
label: 'Component Block',
|
|
134
|
+
},
|
|
135
|
+
validate: validateComponentBlockValue,
|
|
136
|
+
};
|
|
137
|
+
//# sourceMappingURL=component-block.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-block.js","sourceRoot":"","sources":["../../src/fields/component-block.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGzD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACvC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,KAAK,MAAM,GAAG,IAAI,CAAA;IACpE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAA;IACvC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAA;CAC1C;AAED,mEAAmE;AACnE,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAmF/D,CAAA;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAE1E;AAED,wBAAgB,gBAAgB,IAAI,mBAAmB,EAAE,CAExD;AAED,OAAO,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,cAAc,EACd,SAAS,EACT,WAAW,EACX,aAAa,EACb,gBAAgB,GACjB,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA"}
|
package/dist/fields/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { componentBlockFieldType } from './component-block.js';
|
|
1
2
|
/** Built-in field type definitions keyed by type discriminator. */
|
|
2
3
|
export const BUILT_IN_FIELDS = {
|
|
3
4
|
text: {
|
|
@@ -81,6 +82,7 @@ export const BUILT_IN_FIELDS = {
|
|
|
81
82
|
label: 'Blocks',
|
|
82
83
|
defaultConfig: { type: 'blocks', label: 'Blocks', blocks: [] },
|
|
83
84
|
},
|
|
85
|
+
componentBlock: componentBlockFieldType,
|
|
84
86
|
};
|
|
85
87
|
export function getFieldType(type) {
|
|
86
88
|
return BUILT_IN_FIELDS[type];
|
package/dist/fields/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Editable SEO config — DB-backed overrides for the static `actuate.config.ts`
|
|
3
|
+
* `seo` block + per-collection `CollectionSEOConfig`.
|
|
4
|
+
*
|
|
5
|
+
* Static config in `actuate.config.ts` is the source of truth at code level,
|
|
6
|
+
* but admins need to be able to change site name, default OG image, robots
|
|
7
|
+
* policy, default Schema.org types per collection, etc. without redeploying.
|
|
8
|
+
*
|
|
9
|
+
* Storage: a single Document row with `collection = '__seo_config__'` and
|
|
10
|
+
* `data.{site, collections}`. The leading double underscore makes the slug
|
|
11
|
+
* un-spellable as a normal collection (slugs are lowercased + dashed in the
|
|
12
|
+
* config validator), so it can never collide with a user collection.
|
|
13
|
+
*
|
|
14
|
+
* Merge semantics: DB values take precedence over static config, field by
|
|
15
|
+
* field. Removing a value in the UI (setting it to undefined / empty string)
|
|
16
|
+
* falls back to the static default — so the admin panel is purely additive,
|
|
17
|
+
* never destructive of code-level config.
|
|
18
|
+
*/
|
|
19
|
+
import type { ActuateCMSConfig, CollectionSEOConfig, SiteSEOConfig } from '../config/types.js';
|
|
20
|
+
export declare const SEO_CONFIG_COLLECTION = "__seo_config__";
|
|
21
|
+
/**
|
|
22
|
+
* Shape of the overrides document stored in the DB. Every field is optional —
|
|
23
|
+
* a freshly-installed CMS has no row at all and the UI lazily creates one on
|
|
24
|
+
* first save.
|
|
25
|
+
*/
|
|
26
|
+
export interface SeoConfigOverrides {
|
|
27
|
+
/** Site-wide overrides. Merged shallow-then-deep over static `config.seo`. */
|
|
28
|
+
site?: Partial<SiteSEOConfig>;
|
|
29
|
+
/** Per-collection overrides keyed by collection slug. */
|
|
30
|
+
collections?: Record<string, Partial<CollectionSEOConfig>>;
|
|
31
|
+
/** Last update timestamp (set by the writer). */
|
|
32
|
+
updatedAt?: string;
|
|
33
|
+
/** User id of the last editor (set by the writer). */
|
|
34
|
+
updatedBy?: string;
|
|
35
|
+
}
|
|
36
|
+
/** Read the SEO overrides document. Returns null when no row exists yet. */
|
|
37
|
+
export declare function getSeoOverrides(db: unknown): Promise<SeoConfigOverrides | null>;
|
|
38
|
+
/**
|
|
39
|
+
* Upsert the SEO overrides document. The caller is responsible for auth/role
|
|
40
|
+
* checks — this function only handles storage.
|
|
41
|
+
*/
|
|
42
|
+
export declare function putSeoOverrides(db: unknown, overrides: SeoConfigOverrides, userId: string): Promise<SeoConfigOverrides>;
|
|
43
|
+
/**
|
|
44
|
+
* Merge static site-wide SEO config with the DB overrides. Nested objects
|
|
45
|
+
* (`robots`, `sitemap`, `ogImage`, `organization`) merge field-by-field;
|
|
46
|
+
* primitive values use override-wins-if-set.
|
|
47
|
+
*/
|
|
48
|
+
export declare function mergeSiteSeoConfig(base: SiteSEOConfig | undefined, over: Partial<SiteSEOConfig> | undefined): SiteSEOConfig;
|
|
49
|
+
/** Same merge semantics as the site-wide version, applied to a single collection. */
|
|
50
|
+
export declare function mergeCollectionSeoConfig(base: CollectionSEOConfig | undefined, over: Partial<CollectionSEOConfig> | undefined): CollectionSEOConfig;
|
|
51
|
+
/**
|
|
52
|
+
* Return a new config object with DB-stored SEO overrides applied. The
|
|
53
|
+
* static config is never mutated — callers receive a shallow copy with
|
|
54
|
+
* `seo` and each collection's `seo` block replaced by the merged values.
|
|
55
|
+
*
|
|
56
|
+
* Routes that compose SEO output call this once per request, then thread
|
|
57
|
+
* the result through to `composePageMeta` / sitemap helpers exactly like
|
|
58
|
+
* the static config they replaced.
|
|
59
|
+
*/
|
|
60
|
+
export declare function applySeoOverrides(config: ActuateCMSConfig | null | undefined, overrides: SeoConfigOverrides | null): ActuateCMSConfig | null;
|
|
61
|
+
//# sourceMappingURL=config-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../../src/seo/config-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAEhB,mBAAmB,EACnB,aAAa,EACd,MAAM,oBAAoB,CAAA;AAE3B,eAAO,MAAM,qBAAqB,mBAAmB,CAAA;AAErD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,8EAA8E;IAC9E,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC7B,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAA;IAC1D,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,4EAA4E;AAC5E,wBAAsB,eAAe,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAerF;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,OAAO,EACX,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,CA8B7B;AAwBD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,aAAa,GAAG,SAAS,EAC/B,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS,GACvC,aAAa,CA6Bf;AAED,qFAAqF;AACrF,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,mBAAmB,GAAG,SAAS,EACrC,IAAI,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,SAAS,GAC7C,mBAAmB,CAiBrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,EAC3C,SAAS,EAAE,kBAAkB,GAAG,IAAI,GACnC,gBAAgB,GAAG,IAAI,CAkBzB"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Editable SEO config — DB-backed overrides for the static `actuate.config.ts`
|
|
3
|
+
* `seo` block + per-collection `CollectionSEOConfig`.
|
|
4
|
+
*
|
|
5
|
+
* Static config in `actuate.config.ts` is the source of truth at code level,
|
|
6
|
+
* but admins need to be able to change site name, default OG image, robots
|
|
7
|
+
* policy, default Schema.org types per collection, etc. without redeploying.
|
|
8
|
+
*
|
|
9
|
+
* Storage: a single Document row with `collection = '__seo_config__'` and
|
|
10
|
+
* `data.{site, collections}`. The leading double underscore makes the slug
|
|
11
|
+
* un-spellable as a normal collection (slugs are lowercased + dashed in the
|
|
12
|
+
* config validator), so it can never collide with a user collection.
|
|
13
|
+
*
|
|
14
|
+
* Merge semantics: DB values take precedence over static config, field by
|
|
15
|
+
* field. Removing a value in the UI (setting it to undefined / empty string)
|
|
16
|
+
* falls back to the static default — so the admin panel is purely additive,
|
|
17
|
+
* never destructive of code-level config.
|
|
18
|
+
*/
|
|
19
|
+
export const SEO_CONFIG_COLLECTION = '__seo_config__';
|
|
20
|
+
/** Read the SEO overrides document. Returns null when no row exists yet. */
|
|
21
|
+
export async function getSeoOverrides(db) {
|
|
22
|
+
const d = db;
|
|
23
|
+
if (!d?.document?.findFirst)
|
|
24
|
+
return null;
|
|
25
|
+
try {
|
|
26
|
+
const doc = await d.document.findFirst({
|
|
27
|
+
where: { collection: SEO_CONFIG_COLLECTION, deletedAt: null },
|
|
28
|
+
select: { data: true },
|
|
29
|
+
});
|
|
30
|
+
if (!doc)
|
|
31
|
+
return null;
|
|
32
|
+
const data = doc.data;
|
|
33
|
+
if (!data || typeof data !== 'object')
|
|
34
|
+
return null;
|
|
35
|
+
return data;
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Upsert the SEO overrides document. The caller is responsible for auth/role
|
|
43
|
+
* checks — this function only handles storage.
|
|
44
|
+
*/
|
|
45
|
+
export async function putSeoOverrides(db, overrides, userId) {
|
|
46
|
+
const d = db;
|
|
47
|
+
const data = {
|
|
48
|
+
...overrides,
|
|
49
|
+
updatedAt: new Date().toISOString(),
|
|
50
|
+
updatedBy: userId,
|
|
51
|
+
};
|
|
52
|
+
const existing = await d.document.findFirst({
|
|
53
|
+
where: { collection: SEO_CONFIG_COLLECTION, deletedAt: null },
|
|
54
|
+
select: { id: true },
|
|
55
|
+
});
|
|
56
|
+
if (existing) {
|
|
57
|
+
await d.document.update({
|
|
58
|
+
where: { id: existing.id },
|
|
59
|
+
data: { data, updatedById: userId },
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
await d.document.create({
|
|
64
|
+
data: {
|
|
65
|
+
collection: SEO_CONFIG_COLLECTION,
|
|
66
|
+
data,
|
|
67
|
+
status: 'PUBLISHED',
|
|
68
|
+
title: 'SEO defaults',
|
|
69
|
+
slug: 'seo-config',
|
|
70
|
+
createdById: userId,
|
|
71
|
+
updatedById: userId,
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
return data;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Shallow-merge that drops undefined / empty-string values on the override
|
|
79
|
+
* side so the UI can "unset" a field by submitting an empty string.
|
|
80
|
+
*/
|
|
81
|
+
function mergeFields(base, over) {
|
|
82
|
+
const out = { ...(base ?? {}) };
|
|
83
|
+
if (!over)
|
|
84
|
+
return out;
|
|
85
|
+
for (const [k, v] of Object.entries(over)) {
|
|
86
|
+
if (v === undefined)
|
|
87
|
+
continue;
|
|
88
|
+
if (typeof v === 'string' && v.trim() === '')
|
|
89
|
+
continue;
|
|
90
|
+
if (v === null) {
|
|
91
|
+
delete out[k];
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
out[k] = v;
|
|
95
|
+
}
|
|
96
|
+
return out;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Merge static site-wide SEO config with the DB overrides. Nested objects
|
|
100
|
+
* (`robots`, `sitemap`, `ogImage`, `organization`) merge field-by-field;
|
|
101
|
+
* primitive values use override-wins-if-set.
|
|
102
|
+
*/
|
|
103
|
+
export function mergeSiteSeoConfig(base, over) {
|
|
104
|
+
if (!over)
|
|
105
|
+
return { ...(base ?? {}) };
|
|
106
|
+
// The SEO config interfaces are declared with explicit named fields and no
|
|
107
|
+
// index signature, so we cast through Record<string, unknown> when calling
|
|
108
|
+
// the generic merge helper. Behaviour is unchanged; this is purely a
|
|
109
|
+
// structural-typing escape hatch.
|
|
110
|
+
const merged = mergeFields(base, over);
|
|
111
|
+
return {
|
|
112
|
+
...merged,
|
|
113
|
+
robots: mergeFields(base?.robots, over.robots),
|
|
114
|
+
sitemap: mergeFields(base?.sitemap, over.sitemap),
|
|
115
|
+
ogImage: mergeFields(base?.ogImage, over.ogImage),
|
|
116
|
+
organization: mergeFields(base?.organization, over.organization),
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
/** Same merge semantics as the site-wide version, applied to a single collection. */
|
|
120
|
+
export function mergeCollectionSeoConfig(base, over) {
|
|
121
|
+
if (!over)
|
|
122
|
+
return { ...(base ?? {}) };
|
|
123
|
+
const merged = mergeFields(base, over);
|
|
124
|
+
return {
|
|
125
|
+
...merged,
|
|
126
|
+
defaultRobots: mergeFields(base?.defaultRobots, over.defaultRobots),
|
|
127
|
+
defaultOgImage: mergeFields(base?.defaultOgImage, over.defaultOgImage),
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Return a new config object with DB-stored SEO overrides applied. The
|
|
132
|
+
* static config is never mutated — callers receive a shallow copy with
|
|
133
|
+
* `seo` and each collection's `seo` block replaced by the merged values.
|
|
134
|
+
*
|
|
135
|
+
* Routes that compose SEO output call this once per request, then thread
|
|
136
|
+
* the result through to `composePageMeta` / sitemap helpers exactly like
|
|
137
|
+
* the static config they replaced.
|
|
138
|
+
*/
|
|
139
|
+
export function applySeoOverrides(config, overrides) {
|
|
140
|
+
if (!config)
|
|
141
|
+
return null;
|
|
142
|
+
if (!overrides)
|
|
143
|
+
return config;
|
|
144
|
+
const mergedSite = mergeSiteSeoConfig(config.seo, overrides.site);
|
|
145
|
+
const mergedCollections = {};
|
|
146
|
+
for (const [slug, col] of Object.entries(config.collections ?? {})) {
|
|
147
|
+
const colOver = overrides.collections?.[slug];
|
|
148
|
+
mergedCollections[slug] = colOver
|
|
149
|
+
? { ...col, seo: mergeCollectionSeoConfig(col.seo, colOver) }
|
|
150
|
+
: col;
|
|
151
|
+
}
|
|
152
|
+
return {
|
|
153
|
+
...config,
|
|
154
|
+
seo: mergedSite,
|
|
155
|
+
collections: mergedCollections,
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=config-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-store.js","sourceRoot":"","sources":["../../src/seo/config-store.ts"],"names":[],"mappings":"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"}
|
package/dist/seo/index.d.ts
CHANGED
|
@@ -10,4 +10,6 @@ export { generateLlmsTxt } from './llms-txt.js';
|
|
|
10
10
|
export type { LlmsTxtConfig, LlmsTxtPage } from './llms-txt.js';
|
|
11
11
|
export { composePageMeta, detectSchemaType } from './page-meta.js';
|
|
12
12
|
export type { ComposePageMetaInput, ComposedPageMeta, ComposeDocumentInput } from './page-meta.js';
|
|
13
|
+
export { SEO_CONFIG_COLLECTION, getSeoOverrides, putSeoOverrides, applySeoOverrides, mergeSiteSeoConfig, mergeCollectionSeoConfig, } from './config-store.js';
|
|
14
|
+
export type { SeoConfigOverrides } from './config-store.js';
|
|
13
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/seo/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/seo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,GAChB,MAAM,eAAe,CAAA;AAEtB,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAElG,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAE3F,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAErD,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE1F,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAErE,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAE9E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAElE,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/seo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,GAChB,MAAM,eAAe,CAAA;AAEtB,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAElG,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAE3F,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAErD,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE1F,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAErE,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAE9E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAElE,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAElG,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,mBAAmB,CAAA;AAE1B,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA"}
|
package/dist/seo/index.js
CHANGED
|
@@ -4,4 +4,5 @@ export { resolveRobotsDirectives } from './robots.js';
|
|
|
4
4
|
export { resolveTitle, getDocumentTitle } from './title-templates.js';
|
|
5
5
|
export { generateLlmsTxt } from './llms-txt.js';
|
|
6
6
|
export { composePageMeta, detectSchemaType } from './page-meta.js';
|
|
7
|
+
export { SEO_CONFIG_COLLECTION, getSeoOverrides, putSeoOverrides, applySeoOverrides, mergeSiteSeoConfig, mergeCollectionSeoConfig, } from './config-store.js';
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
package/dist/seo/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/seo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,GAChB,MAAM,eAAe,CAAA;AAItB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAI3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAIrD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAIrE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAI/C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/seo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,GAChB,MAAM,eAAe,CAAA;AAItB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAI3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAIrD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAIrE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAI/C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAIlE,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,mBAAmB,CAAA"}
|