canopycms 0.0.33 → 0.0.35
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/dist/ai/json-to-markdown.d.ts.map +1 -1
- package/dist/ai/json-to-markdown.js +4 -3
- package/dist/ai/json-to-markdown.js.map +1 -1
- package/dist/api/content.d.ts +9 -0
- package/dist/api/content.d.ts.map +1 -1
- package/dist/api/content.js +20 -3
- package/dist/api/content.js.map +1 -1
- package/dist/branch-metadata.d.ts.map +1 -1
- package/dist/branch-metadata.js +2 -20
- package/dist/branch-metadata.js.map +1 -1
- package/dist/cli/generate-ai-content.js +167 -114
- package/dist/cli/init.js +12 -3
- package/dist/cli/template-files/schemas.ts.template +45 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/schemas/field.d.ts +19 -0
- package/dist/config/schemas/field.d.ts.map +1 -1
- package/dist/config/schemas/field.js +9 -0
- package/dist/config/schemas/field.js.map +1 -1
- package/dist/config/types.d.ts +15 -2
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +1 -0
- package/dist/config/types.js.map +1 -1
- package/dist/config/validation.d.ts +13 -0
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js +130 -0
- package/dist/config/validation.js.map +1 -1
- package/dist/content-store.d.ts +12 -0
- package/dist/content-store.d.ts.map +1 -1
- package/dist/content-store.js +166 -106
- package/dist/content-store.js.map +1 -1
- package/dist/editor/FormRenderer.d.ts.map +1 -1
- package/dist/editor/FormRenderer.js +6 -0
- package/dist/editor/FormRenderer.js.map +1 -1
- package/dist/editor/client-reference-resolver.d.ts.map +1 -1
- package/dist/editor/client-reference-resolver.js +2 -1
- package/dist/editor/client-reference-resolver.js.map +1 -1
- package/dist/editor/fields/InlineGroupField.d.ts +17 -0
- package/dist/editor/fields/InlineGroupField.d.ts.map +1 -0
- package/dist/editor/fields/InlineGroupField.js +16 -0
- package/dist/editor/fields/InlineGroupField.js.map +1 -0
- package/dist/editor/hooks/useDraftManager.d.ts.map +1 -1
- package/dist/editor/hooks/useDraftManager.js +7 -3
- package/dist/editor/hooks/useDraftManager.js.map +1 -1
- package/dist/editor/hooks/useEntryManager.d.ts +5 -0
- package/dist/editor/hooks/useEntryManager.d.ts.map +1 -1
- package/dist/editor/hooks/useEntryManager.js +29 -2
- package/dist/editor/hooks/useEntryManager.js.map +1 -1
- package/dist/editor/hooks/useReferenceResolution.d.ts.map +1 -1
- package/dist/editor/hooks/useReferenceResolution.js +2 -1
- package/dist/editor/hooks/useReferenceResolution.js.map +1 -1
- package/dist/entry-schema-registry.d.ts.map +1 -1
- package/dist/entry-schema-registry.js +4 -2
- package/dist/entry-schema-registry.js.map +1 -1
- package/dist/entry-schema.d.ts +69 -1
- package/dist/entry-schema.d.ts.map +1 -1
- package/dist/entry-schema.js +43 -0
- package/dist/entry-schema.js.map +1 -1
- package/dist/schema/schema-store.d.ts.map +1 -1
- package/dist/schema/schema-store.js +3 -2
- package/dist/schema/schema-store.js.map +1 -1
- package/dist/utils/async-mutex.d.ts +2 -0
- package/dist/utils/async-mutex.d.ts.map +1 -0
- package/dist/utils/async-mutex.js +28 -0
- package/dist/utils/async-mutex.js.map +1 -0
- package/dist/utils/body-field.d.ts.map +1 -1
- package/dist/utils/body-field.js +4 -3
- package/dist/utils/body-field.js.map +1 -1
- package/dist/utils/flatten-group-fields.d.ts +13 -0
- package/dist/utils/flatten-group-fields.d.ts.map +1 -0
- package/dist/utils/flatten-group-fields.js +23 -0
- package/dist/utils/flatten-group-fields.js.map +1 -0
- package/dist/utils/title-field.d.ts.map +1 -1
- package/dist/utils/title-field.js +55 -24
- package/dist/utils/title-field.js.map +1 -1
- package/dist/validation/deletion-checker.d.ts.map +1 -1
- package/dist/validation/deletion-checker.js +5 -0
- package/dist/validation/deletion-checker.js.map +1 -1
- package/dist/validation/field-traversal.d.ts.map +1 -1
- package/dist/validation/field-traversal.js +7 -1
- package/dist/validation/field-traversal.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAGlE,eAAO,MAAM,mBAAmB,uGAUtB,CAAA;AAEV,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
|
package/dist/config/types.js
CHANGED
package/dist/config/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,cAAc;AACd,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,WAAW;IACX,UAAU;IACV,KAAK;IACL,OAAO;IACP,MAAM;CACE,CAAA;AAEV,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,GAAG,mBAAmB;IACtB,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,OAAO;CACC,CAAA"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,cAAc;AACd,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,WAAW;IACX,UAAU;IACV,KAAK;IACL,OAAO;IACP,MAAM;CACE,CAAA;AAEV,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,GAAG,mBAAmB;IACtB,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,OAAO;IACP,OAAO;CACC,CAAA"}
|
|
@@ -12,6 +12,19 @@ export declare const ensureSelectFieldsHaveOptions: (config: unknown) => void;
|
|
|
12
12
|
* Throws an error if a reference field has neither.
|
|
13
13
|
*/
|
|
14
14
|
export declare const ensureReferenceFieldsHaveScope: (config: unknown) => void;
|
|
15
|
+
/**
|
|
16
|
+
* Validate that inline groups don't cause field name collisions within the same scope.
|
|
17
|
+
* Because inline groups flatten their children into the parent scope, a field name used
|
|
18
|
+
* in a group that also appears as a sibling field (or in another group) will silently
|
|
19
|
+
* overwrite data on read/write.
|
|
20
|
+
*/
|
|
21
|
+
export declare const ensureNoFlattenedFieldNameCollisions: (config: unknown) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Validate that inline groups (type: 'group') only appear at the top level of entry
|
|
24
|
+
* schemas, not inside object or block fields. Groups inside complex fields would produce
|
|
25
|
+
* correct TypeScript types but broken editor rendering.
|
|
26
|
+
*/
|
|
27
|
+
export declare const ensureNoGroupsInsideComplexFields: (config: unknown) => void;
|
|
15
28
|
/**
|
|
16
29
|
* Validate and normalize a CanopyConfig object.
|
|
17
30
|
* Performs Zod validation, checks select field options, and normalizes paths.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GAAI,QAAQ,OAAO,KAAG,
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GAAI,QAAQ,OAAO,KAAG,IAwC/D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,8BAA8B,GAAI,QAAQ,OAAO,KAAG,IA4ChE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,GAAI,QAAQ,OAAO,KAAG,IA2EtE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,GAAI,QAAQ,OAAO,KAAG,IA0CnE,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,OAAO,KAAG,YAatD,CAAA"}
|
|
@@ -17,6 +17,9 @@ export const ensureSelectFieldsHaveOptions = (config) => {
|
|
|
17
17
|
const fieldName = f?.name ?? 'unknown';
|
|
18
18
|
throw new Error(`Select field "${fieldName}" requires options`);
|
|
19
19
|
}
|
|
20
|
+
if (f?.type === 'group') {
|
|
21
|
+
checkFields(f.fields);
|
|
22
|
+
}
|
|
20
23
|
if (f?.type === 'object') {
|
|
21
24
|
checkFields(f.fields);
|
|
22
25
|
}
|
|
@@ -63,6 +66,9 @@ export const ensureReferenceFieldsHaveScope = (config) => {
|
|
|
63
66
|
throw new Error(`Reference field "${fieldName}" requires at least one of "collections" or "entryTypes"`);
|
|
64
67
|
}
|
|
65
68
|
}
|
|
69
|
+
if (f?.type === 'group') {
|
|
70
|
+
checkFields(f.fields);
|
|
71
|
+
}
|
|
66
72
|
if (f?.type === 'object') {
|
|
67
73
|
checkFields(f.fields);
|
|
68
74
|
}
|
|
@@ -89,6 +95,128 @@ export const ensureReferenceFieldsHaveScope = (config) => {
|
|
|
89
95
|
};
|
|
90
96
|
walkSchema(config?.schema);
|
|
91
97
|
};
|
|
98
|
+
/**
|
|
99
|
+
* Validate that inline groups don't cause field name collisions within the same scope.
|
|
100
|
+
* Because inline groups flatten their children into the parent scope, a field name used
|
|
101
|
+
* in a group that also appears as a sibling field (or in another group) will silently
|
|
102
|
+
* overwrite data on read/write.
|
|
103
|
+
*/
|
|
104
|
+
export const ensureNoFlattenedFieldNameCollisions = (config) => {
|
|
105
|
+
// Collect all effective field names at a scope level (groups are transparent)
|
|
106
|
+
const collectNamesAtScope = (fields) => {
|
|
107
|
+
const names = [];
|
|
108
|
+
for (const field of fields) {
|
|
109
|
+
const f = field;
|
|
110
|
+
if (f?.type === 'group') {
|
|
111
|
+
names.push(...collectNamesAtScope(f.fields ?? []));
|
|
112
|
+
}
|
|
113
|
+
else if (typeof f?.name === 'string') {
|
|
114
|
+
names.push(f.name);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return names;
|
|
118
|
+
};
|
|
119
|
+
// Collect all object/block fields at a scope level (including those inside groups)
|
|
120
|
+
const collectComplexFields = (fields) => {
|
|
121
|
+
const result = [];
|
|
122
|
+
for (const field of fields) {
|
|
123
|
+
const f = field;
|
|
124
|
+
if (f?.type === 'group') {
|
|
125
|
+
result.push(...collectComplexFields(f.fields ?? []));
|
|
126
|
+
}
|
|
127
|
+
else if (f?.type === 'object' || f?.type === 'block') {
|
|
128
|
+
result.push(f);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return result;
|
|
132
|
+
};
|
|
133
|
+
const checkScope = (fields, scopeLabel) => {
|
|
134
|
+
if (!Array.isArray(fields))
|
|
135
|
+
return;
|
|
136
|
+
// Check for collisions at this scope (groups flattened in)
|
|
137
|
+
const names = collectNamesAtScope(fields);
|
|
138
|
+
const seen = new Set();
|
|
139
|
+
for (const name of names) {
|
|
140
|
+
if (seen.has(name)) {
|
|
141
|
+
throw new Error(`Field name collision in ${scopeLabel}: field "${name}" appears more than once. ` +
|
|
142
|
+
`Note: inline groups flatten their fields into the parent scope.`);
|
|
143
|
+
}
|
|
144
|
+
seen.add(name);
|
|
145
|
+
}
|
|
146
|
+
// Recurse into nested scopes (object fields and block templates have their own scope)
|
|
147
|
+
for (const f of collectComplexFields(fields)) {
|
|
148
|
+
if (f.type === 'object') {
|
|
149
|
+
checkScope(f.fields, `${scopeLabel} > object "${f.name}"`);
|
|
150
|
+
}
|
|
151
|
+
else if (f.type === 'block' && Array.isArray(f.templates)) {
|
|
152
|
+
for (const template of f.templates) {
|
|
153
|
+
checkScope(template.fields, `${scopeLabel} > block "${f.name}" template "${template.name}"`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
const walkSchema = (root) => {
|
|
159
|
+
if (!root)
|
|
160
|
+
return;
|
|
161
|
+
if (Array.isArray(root.entries)) {
|
|
162
|
+
for (const entryType of root.entries) {
|
|
163
|
+
checkScope(entryType?.schema, `entry type "${entryType.name}"`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
if (Array.isArray(root.collections)) {
|
|
167
|
+
for (const collection of root.collections) {
|
|
168
|
+
walkSchema(collection);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
walkSchema(config?.schema);
|
|
173
|
+
};
|
|
174
|
+
/**
|
|
175
|
+
* Validate that inline groups (type: 'group') only appear at the top level of entry
|
|
176
|
+
* schemas, not inside object or block fields. Groups inside complex fields would produce
|
|
177
|
+
* correct TypeScript types but broken editor rendering.
|
|
178
|
+
*/
|
|
179
|
+
export const ensureNoGroupsInsideComplexFields = (config) => {
|
|
180
|
+
const checkFields = (fields, parentType) => {
|
|
181
|
+
if (!Array.isArray(fields))
|
|
182
|
+
return;
|
|
183
|
+
for (const field of fields) {
|
|
184
|
+
const f = field;
|
|
185
|
+
if (f?.type === 'group') {
|
|
186
|
+
if (parentType) {
|
|
187
|
+
const groupName = f?.name ?? 'unnamed';
|
|
188
|
+
throw new Error(`Inline group "${groupName}" cannot be nested inside a ${parentType} field. ` +
|
|
189
|
+
`Use defineInlineFieldGroup() only at the top level of an entry schema or inside another group.`);
|
|
190
|
+
}
|
|
191
|
+
// Top-level group — recurse to check its own children
|
|
192
|
+
checkFields(f.fields, undefined);
|
|
193
|
+
}
|
|
194
|
+
if (f?.type === 'object') {
|
|
195
|
+
checkFields(f.fields, 'object');
|
|
196
|
+
}
|
|
197
|
+
if (f?.type === 'block' && Array.isArray(f.templates)) {
|
|
198
|
+
for (const template of f.templates) {
|
|
199
|
+
checkFields(template.fields, 'block');
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
const walkSchema = (root) => {
|
|
205
|
+
if (!root)
|
|
206
|
+
return;
|
|
207
|
+
if (Array.isArray(root.entries)) {
|
|
208
|
+
for (const entryType of root.entries) {
|
|
209
|
+
checkFields(entryType?.schema);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
if (Array.isArray(root.collections)) {
|
|
213
|
+
for (const collection of root.collections) {
|
|
214
|
+
walkSchema(collection);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
walkSchema(config?.schema);
|
|
219
|
+
};
|
|
92
220
|
/**
|
|
93
221
|
* Validate and normalize a CanopyConfig object.
|
|
94
222
|
* Performs Zod validation, checks select field options, and normalizes paths.
|
|
@@ -100,6 +228,8 @@ export const ensureReferenceFieldsHaveScope = (config) => {
|
|
|
100
228
|
export const validateCanopyConfig = (config) => {
|
|
101
229
|
ensureSelectFieldsHaveOptions(config);
|
|
102
230
|
ensureReferenceFieldsHaveScope(config);
|
|
231
|
+
ensureNoGroupsInsideComplexFields(config);
|
|
232
|
+
ensureNoFlattenedFieldNameCollisions(config);
|
|
103
233
|
const parsed = CanopyConfigSchema.parse(config);
|
|
104
234
|
const normalized = {
|
|
105
235
|
...parsed,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"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"}
|
package/dist/content-store.d.ts
CHANGED
|
@@ -21,23 +21,35 @@ export type ContentDocument = (MarkdownDocument | JsonDocument | YamlDocument) &
|
|
|
21
21
|
collectionName: string;
|
|
22
22
|
relativePath: PhysicalPath;
|
|
23
23
|
absolutePath: string;
|
|
24
|
+
/** File mtime in ms at the time of read/write. Used as an OCC version token. */
|
|
25
|
+
version?: number;
|
|
24
26
|
};
|
|
25
27
|
export type WriteInput = {
|
|
26
28
|
format: 'md' | 'mdx';
|
|
27
29
|
data?: Record<string, unknown>;
|
|
28
30
|
body: string;
|
|
31
|
+
expectedVersion?: number;
|
|
29
32
|
} | {
|
|
30
33
|
format: 'json';
|
|
31
34
|
data: Record<string, unknown>;
|
|
35
|
+
expectedVersion?: number;
|
|
32
36
|
} | {
|
|
33
37
|
format: 'yaml';
|
|
34
38
|
data: Record<string, unknown>;
|
|
39
|
+
expectedVersion?: number;
|
|
35
40
|
};
|
|
36
41
|
export type ContentStoreErrorCode = 'NOT_FOUND' | 'NO_SCHEMA_ITEM' | 'FORBIDDEN' | 'VALIDATION';
|
|
37
42
|
export declare class ContentStoreError extends Error {
|
|
38
43
|
code: ContentStoreErrorCode;
|
|
39
44
|
constructor(message: string, code: ContentStoreErrorCode);
|
|
40
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Thrown when `expectedVersion` on a write doesn't match the file's current mtime.
|
|
48
|
+
* Indicates a cross-process concurrent write — the caller should reload and retry.
|
|
49
|
+
*/
|
|
50
|
+
export declare class ContentConflictError extends Error {
|
|
51
|
+
constructor();
|
|
52
|
+
}
|
|
41
53
|
export declare class ContentStore {
|
|
42
54
|
private readonly root;
|
|
43
55
|
private readonly schemaIndex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-store.d.ts","sourceRoot":"","sources":["../src/content-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"content-store.d.ts","sourceRoot":"","sources":["../src/content-store.ts"],"names":[],"mappings":"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"}
|