@aphexcms/cms-core 9.3.0 → 9.4.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.
Files changed (42) hide show
  1. package/dist/cli/generate-types.d.ts +9 -1
  2. package/dist/cli/generate-types.d.ts.map +1 -1
  3. package/dist/cli/generate-types.js +23 -17
  4. package/dist/cli/generate-types.js.map +1 -1
  5. package/dist/cli/index.js +2 -2
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/cli/migrate.d.ts +1 -1
  8. package/dist/cli/migrate.d.ts.map +1 -1
  9. package/dist/cli/migrate.js +27 -2
  10. package/dist/cli/migrate.js.map +1 -1
  11. package/dist/components/AdminApp.svelte +12 -0
  12. package/dist/components/AdminApp.svelte.d.ts.map +1 -1
  13. package/dist/field-validation/utils.d.ts +15 -0
  14. package/dist/field-validation/utils.d.ts.map +1 -1
  15. package/dist/field-validation/utils.js +74 -0
  16. package/dist/graphql/resolvers.d.ts.map +1 -1
  17. package/dist/graphql/resolvers.js +9 -10
  18. package/dist/graphql/schema.d.ts.map +1 -1
  19. package/dist/graphql/schema.js +18 -19
  20. package/dist/lib/field-validation/utils.d.ts +15 -0
  21. package/dist/lib/field-validation/utils.d.ts.map +1 -1
  22. package/dist/lib/field-validation/utils.js +74 -0
  23. package/dist/lib/field-validation/utils.js.map +1 -1
  24. package/dist/lib/graphql/resolvers.d.ts.map +1 -1
  25. package/dist/lib/graphql/resolvers.js +9 -10
  26. package/dist/lib/graphql/resolvers.js.map +1 -1
  27. package/dist/lib/graphql/schema.d.ts.map +1 -1
  28. package/dist/lib/graphql/schema.js +18 -19
  29. package/dist/lib/graphql/schema.js.map +1 -1
  30. package/dist/lib/mcp/tools.d.ts.map +1 -1
  31. package/dist/lib/mcp/tools.js +42 -1
  32. package/dist/lib/mcp/tools.js.map +1 -1
  33. package/dist/lib/utils/string-case.d.ts +21 -0
  34. package/dist/lib/utils/string-case.d.ts.map +1 -0
  35. package/dist/lib/utils/string-case.js +26 -0
  36. package/dist/lib/utils/string-case.js.map +1 -0
  37. package/dist/mcp/tools.d.ts.map +1 -1
  38. package/dist/mcp/tools.js +42 -1
  39. package/dist/utils/string-case.d.ts +21 -0
  40. package/dist/utils/string-case.d.ts.map +1 -0
  41. package/dist/utils/string-case.js +25 -0
  42. package/package.json +2 -2
@@ -2,7 +2,15 @@
2
2
  * Type generator for Aphex CMS
3
3
  * Generates TypeScript types from schema definitions with module augmentation
4
4
  */
5
- import type { SchemaType } from '../lib/types/schemas.js';
5
+ import type { SchemaType, Field } from '../lib/types/schemas.js';
6
+ /**
7
+ * The depth=0 write shape (TypeScript type string) for a single field, e.g.
8
+ * `string` for a slug, `Reference<author>` for a reference, `ImageValue` for an
9
+ * image. Same mapping `generate-types` uses to emit `generated-types.ts`, so
10
+ * agent-facing schema introspection (MCP `get_schema`) can derive value shapes
11
+ * from the one source of truth instead of hand-authoring a parallel list.
12
+ */
13
+ export declare function fieldWriteShape(field: Field, schemas: SchemaType[]): string;
6
14
  /**
7
15
  * Generate complete TypeScript types file with module augmentation
8
16
  */
@@ -1 +1 @@
1
- {"version":3,"file":"generate-types.d.ts","sourceRoot":"","sources":["../../src/cli/generate-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,UAAU,EAAS,MAAM,sBAAsB,CAAC;AAsf9D;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CA8I3D;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC5C,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CA2Ff"}
1
+ {"version":3,"file":"generate-types.d.ts","sourceRoot":"","sources":["../../src/cli/generate-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAkJ9D;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAG3E;AA6VD;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CA8I3D;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC5C,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CA8Ff"}
@@ -1,4 +1,5 @@
1
1
  import { isFieldRequired } from '../lib/field-validation/utils.js';
2
+ import { toPascalCase } from '../lib/utils/string-case.js';
2
3
  /**
3
4
  * Map Aphex field types to TypeScript types
4
5
  */
@@ -51,7 +52,7 @@ function mapFieldTypeToTS(field, schemaMap, opts = {}) {
51
52
  const targets = to
52
53
  ?.map((t) => {
53
54
  const target = schemaMap.get(t.type);
54
- return target ? pascalCase(t.type) : null;
55
+ return target ? toPascalCase(t.type) : null;
55
56
  })
56
57
  .filter((s) => !!s) ?? [];
57
58
  if (targets.length === 0) {
@@ -70,7 +71,7 @@ function mapFieldTypeToTS(field, schemaMap, opts = {}) {
70
71
  const refSchema = schemaMap.get(item.type);
71
72
  if (refSchema && refSchema.type === 'object') {
72
73
  const useResolved = resolved && hasReferences(refSchema, schemaMap);
73
- const name = pascalCase(item.type) + (useResolved ? 'Resolved' : '');
74
+ const name = toPascalCase(item.type) + (useResolved ? 'Resolved' : '');
74
75
  return `(${name} & { _key?: string })`;
75
76
  }
76
77
  // Inline object or primitive — recurse, propagating resolved.
@@ -102,7 +103,7 @@ function mapFieldTypeToTS(field, schemaMap, opts = {}) {
102
103
  case 'reference': {
103
104
  const to = field.to;
104
105
  const targets = to
105
- ?.map((t) => (schemaMap.get(t.type) ? pascalCase(t.type) : null))
106
+ ?.map((t) => (schemaMap.get(t.type) ? toPascalCase(t.type) : null))
106
107
  .filter((s) => !!s) ?? [];
107
108
  if (resolved) {
108
109
  // At depth=1 the ref is replaced with the full target doc (raw shape).
@@ -121,13 +122,15 @@ function mapFieldTypeToTS(field, schemaMap, opts = {}) {
121
122
  }
122
123
  }
123
124
  /**
124
- * Convert kebab-case or snake_case to PascalCase
125
+ * The depth=0 write shape (TypeScript type string) for a single field, e.g.
126
+ * `string` for a slug, `Reference<author>` for a reference, `ImageValue` for an
127
+ * image. Same mapping `generate-types` uses to emit `generated-types.ts`, so
128
+ * agent-facing schema introspection (MCP `get_schema`) can derive value shapes
129
+ * from the one source of truth instead of hand-authoring a parallel list.
125
130
  */
126
- function pascalCase(str) {
127
- return str
128
- .split(/[-_]/)
129
- .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
130
- .join('');
131
+ export function fieldWriteShape(field, schemas) {
132
+ const schemaMap = new Map(schemas.map((s) => [s.name, s]));
133
+ return mapFieldTypeToTS(field, schemaMap, {});
131
134
  }
132
135
  /**
133
136
  * Determine if a field is optional based on validation rules
@@ -155,7 +158,7 @@ function collectBlockContentFields(schemas, schemaMap) {
155
158
  const blockDef = field.of.find((item) => item.type === 'block');
156
159
  if (!blockDef)
157
160
  continue;
158
- const mapTypeName = `${pascalCase(schema.name)}${pascalCase(field.name)}Types`;
161
+ const mapTypeName = `${toPascalCase(schema.name)}${toPascalCase(field.name)}Types`;
159
162
  const blockTypes = [];
160
163
  const inlineTypes = [];
161
164
  const annotations = [];
@@ -169,7 +172,7 @@ function collectBlockContentFields(schemas, schemaMap) {
169
172
  }
170
173
  const existing = schemaMap.get(item.type);
171
174
  const itemFields = item.fields || existing?.fields || [];
172
- const interfaceName = pascalCase(item.type) + 'Block';
175
+ const interfaceName = toPascalCase(item.type) + 'Block';
173
176
  const info = {
174
177
  name: item.type,
175
178
  interfaceName,
@@ -185,7 +188,7 @@ function collectBlockContentFields(schemas, schemaMap) {
185
188
  for (const item of blockOfItems) {
186
189
  const existing = schemaMap.get(item.type);
187
190
  const itemFields = item.fields || existing?.fields || [];
188
- const interfaceName = pascalCase(item.type) + 'Inline';
191
+ const interfaceName = toPascalCase(item.type) + 'Inline';
189
192
  const info = {
190
193
  name: item.type,
191
194
  interfaceName,
@@ -200,7 +203,7 @@ function collectBlockContentFields(schemas, schemaMap) {
200
203
  const markAnnotations = blockDef.marks?.annotations;
201
204
  if (markAnnotations) {
202
205
  for (const ann of markAnnotations) {
203
- const interfaceName = pascalCase(ann.name) + 'Annotation';
206
+ const interfaceName = toPascalCase(ann.name) + 'Annotation';
204
207
  const info = {
205
208
  name: ann.name,
206
209
  interfaceName,
@@ -286,7 +289,7 @@ function getBlockContentArrayType(field) {
286
289
  * `<Name>Resolved`.
287
290
  */
288
291
  function generateInterface(schema, schemaMap, resolved = false, blockContentFields) {
289
- const interfaceName = pascalCase(schema.name) + (resolved ? 'Resolved' : '');
292
+ const interfaceName = toPascalCase(schema.name) + (resolved ? 'Resolved' : '');
290
293
  const fields = schema.fields
291
294
  .map((field) => {
292
295
  const tsType = mapFieldTypeToTS(field, schemaMap, {
@@ -388,7 +391,7 @@ function fieldHasReferences(field, schemaMap, visited) {
388
391
  function generateCollectionsAugmentation(documentSchemas) {
389
392
  const mappings = documentSchemas
390
393
  .map((schema) => {
391
- const interfaceName = pascalCase(schema.name);
394
+ const interfaceName = toPascalCase(schema.name);
392
395
  const collectionType = schema.singleton
393
396
  ? `SingletonCollection<${interfaceName}>`
394
397
  : `CollectionAPI<${interfaceName}>`;
@@ -590,8 +593,11 @@ export async function generateTypesFromConfig(schemaPath, outputPath) {
590
593
  tempFile = tempOutFile;
591
594
  }
592
595
  // Dynamic import the schema types
593
- // Use file:// URL for proper ESM import
594
- const schemaModule = await import(pathToFileURL(schemaModulePath).href);
596
+ // Use file:// URL for proper ESM import. The path is resolved at CLI runtime
597
+ // (a temp-compiled or the consumer's schema module), so Vite can't statically
598
+ // analyze it — @vite-ignore silences the SSR-graph warning when this file is
599
+ // pulled into a dev bundle.
600
+ const schemaModule = await import(/* @vite-ignore */ pathToFileURL(schemaModulePath).href);
595
601
  const schemas = schemaModule.schemaTypes || schemaModule.default;
596
602
  // Clean up temp file if created
597
603
  if (tempFile) {
@@ -1 +1 @@
1
- {"version":3,"file":"generate-types.js","sourceRoot":"","sources":["../../src/cli/generate-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-types.js","sourceRoot":"","sources":["../../src/cli/generate-types.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAiBxD;;GAEG;AACH,SAAS,gBAAgB,CACxB,KAAY,EACZ,SAAkC,EAClC,OAAmB,EAAE;IAErB,MAAM,EAAE,OAAO,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACzF,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK;YACT,OAAO,QAAQ,CAAC;QACjB,KAAK,QAAQ;YACZ,OAAO,QAAQ,CAAC;QACjB,KAAK,SAAS;YACb,OAAO,SAAS,CAAC;QAClB,KAAK,MAAM;YACV,oDAAoD;YACpD,OAAO,QAAQ,CAAC;QACjB,KAAK,UAAU;YACd,6EAA6E;YAC7E,OAAO,QAAQ,CAAC;QACjB,KAAK,OAAO;YACX,mGAAmG;YACnG,OAAO,YAAY,CAAC;QACrB,KAAK,MAAM;YACV,mFAAmF;YACnF,OAAO,WAAW,CAAC;QACpB,KAAK,OAAO,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5D,OAAO,WAAW,CAAC;YACpB,CAAC;YACD,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC;gBACpD,IAAI,gBAAgB,IAAI,kBAAkB,EAAE,CAAC;oBAC5C,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,gBAAgB,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,IAAI,CACtE,CAAC;oBACF,IAAI,IAAI;wBAAE,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;gBACjD,CAAC;gBACD,OAAO,qBAAqB,CAAC;YAC9B,CAAC;YACD,qEAAqE;YACrE,gEAAgE;YAChE,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE;iBACpB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACb,sEAAsE;gBACtE,gEAAgE;gBAChE,4DAA4D;gBAC5D,+CAA+C;gBAC/C,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC/B,MAAM,EAAE,GAAI,IAAY,CAAC,EAAyC,CAAC;oBACnE,MAAM,OAAO,GACZ,EAAE;wBACD,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBACX,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACrC,OAAO,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC7C,CAAC,CAAC;yBACD,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACzC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC1B,OAAO,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC;oBACpD,CAAC;oBACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAClC,IAAI,QAAQ,EAAE,CAAC;wBACd,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC;oBAC1D,CAAC;oBACD,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,KAAK,GAAG,CAAC;gBAClF,CAAC;gBACD,4DAA4D;gBAC5D,4DAA4D;gBAC5D,+DAA+D;gBAC/D,wBAAwB;gBACxB,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC9C,MAAM,WAAW,GAAG,QAAQ,IAAI,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;oBACpE,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACvE,OAAO,IAAI,IAAI,uBAAuB,CAAC;gBACxC,CAAC;gBACD,8DAA8D;gBAC9D,OAAO,gBAAgB,CAAC,IAAa,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChF,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,WAAW,CAAC;YACpB,CAAC;YACD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QAC7E,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC3C,OAAO,yBAAyB,CAAC;YAClC,CAAC;YACD,mEAAmE;YACnE,6DAA6D;YAC7D,gCAAgC;YAChC,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM;iBACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACV,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC5D,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,OAAO,KAAK,CAAC,CAAC,IAAI,GAAG,QAAQ,KAAK,MAAM,GAAG,CAAC;YAC7C,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,OAAO,MAAM,SAAS,GAAG,KAAK,KAAK,CAAC;QACrC,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YAClB,MAAM,EAAE,GAAI,KAAa,CAAC,EAAyC,CAAC;YACpE,MAAM,OAAO,GACZ,EAAE;gBACD,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;iBAClE,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,QAAQ,EAAE,CAAC;gBACd,uEAAuE;gBACvE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,SAAS,CAAC;gBAC3C,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjE,CAAC;YACD,2EAA2E;YAC3E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,oBAAoB,CAAC;YACtD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,OAAO,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,aAAa,KAAK,GAAG,CAAC;QACnF,CAAC;QACD;YACC,OAAO,SAAS,CAAC;IACnB,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,KAAY,EAAE,OAAqB;IAClE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAqB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,OAAO,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,KAAY;IACpC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAsBD,SAAS,0BAA0B,CAAC,IAAmB;IACtD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM;SACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACV,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC,CAAC,IAAI,GAAG,QAAQ,KAAK,MAAM,GAAG,CAAC;IAC7C,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,oBAAoB,IAAI,CAAC,aAAa,iBAAiB,IAAI,CAAC,IAAI,wBAAwB,KAAK,KAAK,CAAC;AAC3G,CAAC;AAED,SAAS,yBAAyB,CACjC,OAAqB,EACrB,SAAkC;IAKlC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAyB,CAAC;IACvD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAAE,SAAS;YACtE,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,MAAM,WAAW,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YACnF,MAAM,UAAU,GAAoB,EAAE,CAAC;YACvC,MAAM,WAAW,GAAoB,EAAE,CAAC;YACxC,MAAM,WAAW,GAAoB,EAAE,CAAC;YACxC,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;oBAAE,SAAS;gBACpC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC3B,QAAQ,GAAG,IAAI,CAAC;oBAChB,SAAS;gBACV,CAAC;gBAED,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1C,MAAM,UAAU,GAAI,IAAY,CAAC,MAAM,IAAI,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC;gBAClE,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;gBAExD,MAAM,IAAI,GAAkB;oBAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,aAAa;oBACb,MAAM,EAAE,UAAU;iBAClB,CAAC;gBAEF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACpC,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;YAED,MAAM,YAAY,GAAI,QAAgB,CAAC,EAE3B,CAAC;YACb,IAAI,YAAY,EAAE,CAAC;gBAClB,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;oBACjC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC;oBACzD,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;oBAEzD,MAAM,IAAI,GAAkB;wBAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,aAAa;wBACb,MAAM,EAAE,UAAU;qBAClB,CAAC;oBAEF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;wBAC/C,aAAa,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC;oBACD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;YACF,CAAC;YAED,MAAM,eAAe,GAAI,QAAgB,CAAC,KAAK,EAAE,WAErC,CAAC;YACb,IAAI,eAAe,EAAE,CAAC;gBACrB,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;oBACnC,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;oBAC5D,MAAM,IAAI,GAAkB;wBAC3B,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,aAAa;wBACb,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE;qBACxB,CAAC;oBAEF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;wBAClD,aAAa,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;oBACnD,CAAC;oBACD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;YACF,CAAC;YAED,MAAM,CAAC,IAAI,CAAC;gBACX,UAAU,EAAE,MAAM,CAAC,IAAI;gBACvB,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,WAAW;gBACX,UAAU;gBACV,WAAW;gBACX,WAAW;gBACX,QAAQ;aACR,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,yBAAyB,CACjC,aAAyC,EACzC,MAA+B;IAE/B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,kCAAkC;IAClC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC;QACtC,UAAU,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,yBAAyB;IACzB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,WAAW,EAAE,CAAC;QACjB,UAAU,CAAC,IAAI,CAAC;;;;;EAKhB,CAAC,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,4CAA4C;IAC5C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,aAAa,GAAG,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,aAAa,GAAG,CAAC,CAAC;QACpD,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,WAAW,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpF,CAAC;IACF,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,wBAAwB,CAAC,KAA4B;IAC7D,MAAM,KAAK,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACpC,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,qBAAqB,CAAC;IACrD,OAAO,iBAAiB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CACzB,MAAkB,EAClB,SAAkC,EAClC,QAAQ,GAAG,KAAK,EAChB,kBAA4C;IAE5C,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM;SAC1B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACd,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE;YACjD,QAAQ;YACR,gBAAgB,EAAE,MAAM,CAAC,IAAI;YAC7B,kBAAkB;SAClB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAEnD,wDAAwD;QACxD,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;QAC7F,IAAI,YAAY,EAAE,CAAC;YAClB,MAAM,KAAK,GAAa,EAAE,CAAC;YAE3B,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC/B,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC3B,MAAM,SAAS,GAAG,KAAY,CAAC;gBAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,UAAU,IAAI,YAAY,CAAC;gBAC7D,KAAK,CAAC,IAAI,CAAC,sDAAsD,MAAM,EAAE,CAAC,CAAC;YAC5E,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACtC,MAAM,aAAa,GAAG,KAAY,CAAC;gBACnC,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,EAAE,UAAU,IAAI,YAAY,CAAC;gBACrE,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,EAAE,UAAU,IAAI,OAAO,CAAC;gBAChE,KAAK,CAAC,IAAI,CACT,2EAA2E,UAAU,IAAI,UAAU,EAAE,CACrG,CAAC;YACH,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,GAAG,eAAe,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;YAC3D,CAAC;QACF,CAAC;QAED,OAAO,GAAG,OAAO,KAAK,KAAK,CAAC,IAAI,GAAG,QAAQ,KAAK,MAAM,GAAG,CAAC;IAC3D,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,qEAAqE;IACrE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;IAC9C,IAAI,WAAmB,CAAC;IACxB,IAAI,UAAU,EAAE,CAAC;QAChB,WAAW,GAAG;;EAEd,MAAM;;;;;;;;;;;;KAYH,CAAC;IACL,CAAC;SAAM,CAAC;QACP,2DAA2D;QAC3D,WAAW,GAAG;;EAEd,MAAM,EAAE,CAAC;IACV,CAAC;IAED,OAAO,oBAAoB,aAAa,OAAO,WAAW,KAAK,CAAC;AACjE,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CACrB,MAAkB,EAClB,SAAkC,EAClC,UAAU,IAAI,GAAG,EAAU;IAE3B,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,kBAAkB,CAC1B,KAAY,EACZ,SAAkC,EAClC,OAAoB;IAEpB,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO,IAAI,CAAC;YAC3C,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACtF,OAAO,kBAAkB,CAAC,IAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAClE,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,+BAA+B,CAAC,eAA6B;IACrE,MAAM,QAAQ,GAAG,eAAe;SAC9B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACf,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS;YACtC,CAAC,CAAC,uBAAuB,aAAa,GAAG;YACzC,CAAC,CAAC,iBAAiB,aAAa,GAAG,CAAC;QACrC,OAAO,OAAO,MAAM,CAAC,IAAI,KAAK,cAAc,GAAG,CAAC;IACjD,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO;;EAEN,QAAQ;;EAER,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAqB;IAClD,gCAAgC;IAChC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAqB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/E,qCAAqC;IACrC,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAEjE,oDAAoD;IACpD,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,yBAAyB,CAC9E,OAAO,EACP,SAAS,CACT,CAAC;IAEF,gCAAgC;IAChC,MAAM,gBAAgB,GAAG,aAAa;SACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;SACtE,IAAI,CAAC,MAAM,CAAC,CAAC;IACf,MAAM,kBAAkB,GAAG,eAAe;SACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;SACtE,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,0EAA0E;IAC1E,MAAM,wBAAwB,GAAG,aAAa;SAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;SACrE,IAAI,CAAC,MAAM,CAAC,CAAC;IACf,MAAM,0BAA0B,GAAG,eAAe;SAChD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;SACrE,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,mEAAmE;IACnE,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IAE1F,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,wBAAwB,IAAI,0BAA0B,CAAC,CAAC;IAE/E,8CAA8C;IAC9C,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/D,MAAM,uBAAuB,GAAG,+BAA+B,CAAC,eAAe,CAAC,CAAC;IAEjF,MAAM,eAAe,GAAG,WAAW;QAClC,CAAC,CAAC;;;;;;;;;;;;;;;EAeF,wBAAwB,CAAC,CAAC,CAAC,wBAAwB,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,0BAA0B,EAAE;QAChG,CAAC,CAAC,EAAE,CAAC;IAEN,sFAAsF;IACtF,6EAA6E;IAC7E,MAAM,aAAa,GAAG;QACrB,oBAAoB;QACpB,gBAAgB;QAChB,kBAAkB;QAClB,eAAe;QACf,uBAAuB;KACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,YAAY,GAAG;QACpB,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;QAC1D,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;KACxD,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAElD,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,eAAe,CAAC;IAC1F,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7D,0BAA0B;IAC1B,MAAM,MAAM,GAAG;;;;gBAIA,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCzB,oBAAoB;;;;;;EAMpB,gBAAgB;;;;;;EAMhB,kBAAkB,GAAG,eAAe;;;;;;EAMpC,uBAAuB;CACxB,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC5C,UAAkB,EAClB,UAAkB;IAElB,IAAI,CAAC;QACJ,sDAAsD;QACtD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACvC,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QACnE,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QAEnE,kEAAkE;QAClE,IAAI,gBAAgB,GAAG,kBAAkB,CAAC;QAC1C,IAAI,QAAQ,GAAkB,IAAI,CAAC;QAEnC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YACvC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAEpF,MAAM,KAAK,CAAC;gBACX,WAAW,EAAE,CAAC,kBAAkB,CAAC;gBACjC,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,CAAC,aAAa,CAAC;gBACzB,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,cAAc;wBACpB,KAAK,CAAC,KAAK;4BACV,8DAA8D;4BAC9D,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;gCACxD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;4BACtD,CAAC,CAAC,CAAC;4BAEH,uCAAuC;4BACvC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE;gCAC7D,OAAO;oCACN,QAAQ,EAAE,mBAAmB;oCAC7B,MAAM,EAAE,IAAI;iCACZ,CAAC;4BACH,CAAC,CAAC,CAAC;4BAEH,yDAAyD;4BACzD,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gCACrD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gCAEtD,8EAA8E;gCAC9E,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;gCAExE,OAAO;oCACN,QAAQ,EAAE,WAAW;oCACrB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;iCAC/C,CAAC;4BACH,CAAC,CAAC,CAAC;wBACJ,CAAC;qBACD;iBACD;aACD,CAAC,CAAC;YAEH,gBAAgB,GAAG,WAAW,CAAC;YAC/B,QAAQ,GAAG,WAAW,CAAC;QACxB,CAAC;QAED,kCAAkC;QAClC,6EAA6E;QAC7E,8EAA8E;QAC9E,6EAA6E;QAC7E,4BAA4B;QAC5B,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3F,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,IAAI,YAAY,CAAC,OAAO,CAAC;QAEjE,gCAAgC;QAChC,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC;gBACJ,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACR,wBAAwB;YACzB,CAAC;QACF,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QAE9C,uBAAuB;QACvB,MAAM,EAAE,CAAC,SAAS,CAAC,kBAAkB,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QAEhE,OAAO,CAAC,GAAG,CAAC,sCAAsC,kBAAkB,EAAE,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACpD,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC"}
package/dist/cli/index.js CHANGED
@@ -63,10 +63,10 @@ cli
63
63
  });
64
64
  /**
65
65
  * aphex migrate [folder]
66
- * Apply committed Drizzle migrations (Postgres or pglite). Runtime-safe — no drizzle-kit needed.
66
+ * Apply committed Drizzle migrations (Postgres, SQLite, or pglite). Runtime-safe — no drizzle-kit needed.
67
67
  */
68
68
  cli
69
- .command('migrate [folder]', 'Apply database migrations (Postgres or pglite)')
69
+ .command('migrate [folder]', 'Apply database migrations (Postgres, SQLite, or pglite)')
70
70
  .action(async (folder) => {
71
71
  intro(pc.cyan('⚡ Aphex CMS - Migrate'));
72
72
  const s = spinner();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export interface MigrateOptions {
3
3
  migrationsFolder?: string;
4
4
  }
5
5
  export interface MigrateResult {
6
- driver: 'postgresql' | 'pglite';
6
+ driver: 'postgresql' | 'pglite' | 'sqlite';
7
7
  target: string;
8
8
  }
9
9
  export declare function runMigrations(options?: MigrateOptions): Promise<MigrateResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/cli/migrate.ts"],"names":[],"mappings":"AAqCA,MAAM,WAAW,cAAc;IAC9B,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,aAAa,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CA4DxF"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/cli/migrate.ts"],"names":[],"mappings":"AAuCA,MAAM,WAAW,cAAc;IAC9B,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,aAAa,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CA2FxF"}
@@ -10,13 +10,15 @@
10
10
  *
11
11
  * Driver selection:
12
12
  * - Postgres (default) when `DATABASE_URL` or `PG_*` vars are set.
13
+ * - SQLite (libsql) when `APHEX_DATABASE=sqlite` or `DATABASE_URL` is a `file:`/`libsql:` URL
14
+ * (the @aphexcms/sqlite-adapter path).
13
15
  * - pglite when `APHEX_DATABASE=pglite` (or no Postgres conn is configured but `APHEX_PGLITE_DIR`
14
16
  * is). Migrations run as the default role — RLS policies are created here; tenant enforcement
15
17
  * (the non-superuser `SET ROLE`) is a runtime concern of the adapter, not migration.
16
18
  */
17
19
  import { createRequire } from 'node:module';
18
20
  import { pathToFileURL } from 'node:url';
19
- import { resolve } from 'node:path';
21
+ import { resolve, dirname } from 'node:path';
20
22
  import { mkdirSync } from 'node:fs';
21
23
  /** Import a package from the *consuming app's* node_modules (cwd), not cms-core's. */
22
24
  async function appImport(spec) {
@@ -46,6 +48,29 @@ export async function runMigrations(options = {}) {
46
48
  }
47
49
  }
48
50
  const migrationsFolder = resolve(process.cwd(), options.migrationsFolder ?? './drizzle');
51
+ const rawDbUrl = process.env.DATABASE_URL;
52
+ const useSqlite = process.env.APHEX_DATABASE?.toLowerCase() === 'sqlite' ||
53
+ /^(file:|libsql:)/.test(rawDbUrl ?? '');
54
+ if (useSqlite) {
55
+ const url = rawDbUrl && /^(file:|libsql:)/.test(rawDbUrl) ? rawDbUrl : 'file:.aphex/data.db';
56
+ // libsql only creates the leaf file, not parent dirs — ensure the path exists for file: URLs.
57
+ if (url.startsWith('file:') && !url.startsWith('file::memory:')) {
58
+ const filePath = resolve(process.cwd(), url.slice('file:'.length));
59
+ mkdirSync(dirname(filePath), { recursive: true });
60
+ }
61
+ const { createClient } = (await appImport('@libsql/client'));
62
+ const { drizzle } = (await appImport('drizzle-orm/libsql'));
63
+ const { migrate } = (await appImport('drizzle-orm/libsql/migrator'));
64
+ const client = createClient({ url, authToken: process.env.DATABASE_AUTH_TOKEN });
65
+ try {
66
+ await migrate(drizzle(client), { migrationsFolder });
67
+ }
68
+ finally {
69
+ client.close();
70
+ }
71
+ const safe = url.replace(/authToken=[^&]+/, 'authToken=***');
72
+ return { driver: 'sqlite', target: safe };
73
+ }
49
74
  const pgUrl = postgresUrlFromEnv();
50
75
  const pgliteDir = process.env.APHEX_PGLITE_DIR;
51
76
  const usePglite = process.env.APHEX_DATABASE?.toLowerCase() === 'pglite' || (!pgUrl && !!pgliteDir);
@@ -62,7 +87,7 @@ export async function runMigrations(options = {}) {
62
87
  return { driver: 'pglite', target: dir };
63
88
  }
64
89
  if (!pgUrl) {
65
- throw new Error('No database configured. Set DATABASE_URL (or PG_HOST/PG_USER/PG_DATABASE), or APHEX_DATABASE=pglite (with optional APHEX_PGLITE_DIR).');
90
+ throw new Error('No database configured. Set DATABASE_URL (or PG_HOST/PG_USER/PG_DATABASE), APHEX_DATABASE=sqlite (with a file:/libsql: DATABASE_URL), or APHEX_DATABASE=pglite (with optional APHEX_PGLITE_DIR).');
66
91
  }
67
92
  const { default: postgres } = (await appImport('postgres'));
68
93
  const { drizzle } = (await appImport('drizzle-orm/postgres-js'));
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/cli/migrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/cli/migrate.ts"],"names":[],"mappings":"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"}
@@ -203,6 +203,18 @@
203
203
  presentationModeOn = false;
204
204
  }
205
205
 
206
+ // Both modes hide the side panels and only make sense with an editor open.
207
+ // Leaving the editor through anything other than the back button (e.g. the
208
+ // sidebar "Studio" link keeps this component mounted while navigating to the
209
+ // structure view) must also exit them — otherwise the structure view renders
210
+ // with every panel hidden: a blank page.
211
+ $effect(() => {
212
+ if (currentView !== 'editor') {
213
+ if (presentationModeOn) presentationModeOn = false;
214
+ if (focusModeOn) focusModeOn = false;
215
+ }
216
+ });
217
+
206
218
  // Esc to exit focus mode.
207
219
  $effect(() => {
208
220
  if (typeof window === 'undefined') return;
@@ -1 +1 @@
1
- {"version":3,"file":"AdminApp.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/components/AdminApp.svelte.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AA2BnE,UAAU,KAAK;IACd,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACvE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAA;KAAE,CAAC;IACxD,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,eAAe,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;CAChD;AA49CF,QAAA,MAAM,QAAQ,2CAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"AdminApp.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/components/AdminApp.svelte.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AA2BnE,UAAU,KAAK;IACd,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACvE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAA;KAAE,CAAC;IACxD,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,eAAe,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;CAChD;AAw+CF,QAAA,MAAM,QAAQ,2CAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
@@ -15,6 +15,21 @@ export interface DocumentValidationResult {
15
15
  * Check if a field is required based on its validation rules
16
16
  */
17
17
  export declare function isFieldRequired(field: Field): boolean;
18
+ /**
19
+ * Structural (shape) validation for a field's stored value — the depth=0 write
20
+ * shape. This catches a caller (notably an AI agent over MCP) sending the wrong
21
+ * JSON shape that presence/required checks would miss: a slug as `{ current }`
22
+ * (Sanity's convention — AphexCMS stores slugs as plain strings), or a
23
+ * reference/image missing its `_ref`. Runs before the user's Rule validation
24
+ * and only when a value is meaningfully present (absent/empty is a required-ness
25
+ * concern, handled separately), so optional and half-filled fields are left
26
+ * alone. Returns an error message, or null when the shape is acceptable.
27
+ *
28
+ * Intentionally conservative: only unambiguous mismatches error, and empty
29
+ * placeholders (`''`, an image with no `asset`) are treated as absent so the
30
+ * admin's in-progress edit states don't trip it.
31
+ */
32
+ export declare function validateValueShape(field: Field, value: unknown): string | null;
18
33
  /**
19
34
  * Validate a field value against its validation rules
20
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/field-validation/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAKxD,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACnD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAUrD;AAED;;GAEG;AACH,wBAAsB,aAAa,CAClC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,GAAG,EACV,OAAO,GAAE,GAAQ,GACf,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC1B,CAAC,CAiID;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAO/D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACzC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,OAAO,GAAE,GAAQ,GACf,OAAO,CAAC,wBAAwB,CAAC,CAqDnC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/field-validation/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAKxD,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACnD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAUrD;AAYD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAmC9E;AAED;;GAEG;AACH,wBAAsB,aAAa,CAClC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,GAAG,EACV,OAAO,GAAE,GAAQ,GACf,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC1B,CAAC,CA6ID;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAO/D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACzC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,OAAO,GAAE,GAAQ,GACf,OAAO,CAAC,wBAAwB,CAAC,CAqDnC"}
@@ -18,6 +18,69 @@ export function isFieldRequired(field) {
18
18
  return false;
19
19
  }
20
20
  }
21
+ function describeValue(value) {
22
+ if (Array.isArray(value))
23
+ return 'an array';
24
+ if (value === null)
25
+ return 'null';
26
+ if (typeof value === 'object')
27
+ return 'an object';
28
+ return `a ${typeof value}`;
29
+ }
30
+ const isPlainObject = (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
31
+ /**
32
+ * Structural (shape) validation for a field's stored value — the depth=0 write
33
+ * shape. This catches a caller (notably an AI agent over MCP) sending the wrong
34
+ * JSON shape that presence/required checks would miss: a slug as `{ current }`
35
+ * (Sanity's convention — AphexCMS stores slugs as plain strings), or a
36
+ * reference/image missing its `_ref`. Runs before the user's Rule validation
37
+ * and only when a value is meaningfully present (absent/empty is a required-ness
38
+ * concern, handled separately), so optional and half-filled fields are left
39
+ * alone. Returns an error message, or null when the shape is acceptable.
40
+ *
41
+ * Intentionally conservative: only unambiguous mismatches error, and empty
42
+ * placeholders (`''`, an image with no `asset`) are treated as absent so the
43
+ * admin's in-progress edit states don't trip it.
44
+ */
45
+ export function validateValueShape(field, value) {
46
+ // Absent (or an empty-string placeholder for a non-string field) → shape is
47
+ // irrelevant here; presence is enforced by Rule().required().
48
+ if (value === null || value === undefined)
49
+ return null;
50
+ switch (field.type) {
51
+ case 'string':
52
+ case 'text':
53
+ case 'slug':
54
+ case 'url':
55
+ return typeof value === 'string' ? null : `expected a string, got ${describeValue(value)}`;
56
+ case 'reference':
57
+ if (value === '')
58
+ return null;
59
+ return isPlainObject(value) && typeof value._ref === 'string'
60
+ ? null
61
+ : `expected a reference object { _type: 'reference', _ref: '<documentId>' }, got ${describeValue(value)}`;
62
+ case 'image':
63
+ case 'file': {
64
+ if (value === '')
65
+ return null;
66
+ if (!isPlainObject(value))
67
+ return `expected an ${field.type} object { _type: '${field.type}', asset: { _type: 'reference', _ref: '<assetId>' } }, got ${describeValue(value)}`;
68
+ // An object with no asset yet is a valid empty/in-progress state.
69
+ if (value.asset === undefined || value.asset === null)
70
+ return null;
71
+ return isPlainObject(value.asset) && typeof value.asset._ref === 'string'
72
+ ? null
73
+ : `${field.type} asset must be { _type: 'reference', _ref: '<assetId>' }`;
74
+ }
75
+ case 'array':
76
+ return Array.isArray(value) ? null : `expected an array, got ${describeValue(value)}`;
77
+ case 'object':
78
+ return isPlainObject(value) ? null : `expected an object, got ${describeValue(value)}`;
79
+ default:
80
+ // number/boolean/date/datetime — left to existing auto-rules / user rules.
81
+ return null;
82
+ }
83
+ }
21
84
  /**
22
85
  * Validate a field value against its validation rules
23
86
  */
@@ -28,6 +91,17 @@ export async function validateField(field, value, context = {}) {
28
91
  hasValidation: !!field.validation
29
92
  });
30
93
  const allErrors = [];
94
+ // Structural shape check first: if the value is the wrong JSON shape (e.g. a
95
+ // slug sent as `{ current }`, or a reference without `_ref`), report that and
96
+ // stop — the type-assuming auto-rules and user rules below expect the correct
97
+ // primitive/shape and would otherwise throw or emit confusing errors.
98
+ const shapeError = validateValueShape(field, value);
99
+ if (shapeError) {
100
+ return {
101
+ isValid: false,
102
+ errors: [{ level: 'error', message: `Field "${field.name}" ${shapeError}` }]
103
+ };
104
+ }
31
105
  // Add automatic validation for date/datetime/url fields based on type
32
106
  if (field.type === 'date') {
33
107
  const dateField = field;
@@ -1 +1 @@
1
- {"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../src/lib/graphql/resolvers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAS,MAAM,kBAAkB,CAAC;AA4H1D,wBAAgB,eAAe,CAC9B,GAAG,EAAE,YAAY,EACjB,WAAW,EAAE,UAAU,EAAE,EACzB,kBAAkB,GAAE,OAAO,GAAG,WAAyB,uBA2tBvD"}
1
+ {"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../src/lib/graphql/resolvers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAS,MAAM,kBAAkB,CAAC;AAyH1D,wBAAgB,eAAe,CAC9B,GAAG,EAAE,YAAY,EACjB,WAAW,EAAE,UAAU,EAAE,EACzB,kBAAkB,GAAE,OAAO,GAAG,WAAyB,uBA4tBvD"}
@@ -2,9 +2,7 @@ import { GraphQLError } from 'graphql';
2
2
  import { authToContext } from '../local-api/auth-helpers.js';
3
3
  import { getDefaultValueForFieldType } from '../utils/field-defaults.js';
4
4
  import { cmsLogger } from '../utils/logger.js';
5
- function capitalizeFirst(str) {
6
- return str.charAt(0).toUpperCase() + str.slice(1);
7
- }
5
+ import { toPascalCase, toCamelCase } from '../utils/string-case.js';
8
6
  // Normalize null/undefined field values to type-appropriate defaults (recursive)
9
7
  function normalizeDocumentFields(data, schemaType, allSchemaTypes) {
10
8
  if (!data)
@@ -130,7 +128,7 @@ export function createResolvers(cms, schemaTypes, defaultPerspective = 'publishe
130
128
  // Generate reference field resolvers for all types
131
129
  function generateReferenceFieldResolvers() {
132
130
  schemaTypes.forEach((schemaType) => {
133
- const typeName = capitalizeFirst(schemaType.name);
131
+ const typeName = toPascalCase(schemaType.name);
134
132
  function processFields(fields, currentTypeName) {
135
133
  fields.forEach((field) => {
136
134
  // Handle reference fields
@@ -244,7 +242,7 @@ export function createResolvers(cms, schemaTypes, defaultPerspective = 'publishe
244
242
  }
245
243
  // Handle nested objects
246
244
  if (field.type === 'object' && field.fields) {
247
- const nestedTypeName = capitalizeFirst(`${schemaType.name}${field.name}Object`);
245
+ const nestedTypeName = toPascalCase(`${schemaType.name}${field.name}Object`);
248
246
  processFields(field.fields, nestedTypeName);
249
247
  }
250
248
  });
@@ -262,11 +260,11 @@ export function createResolvers(cms, schemaTypes, defaultPerspective = 'publishe
262
260
  if (field.type === 'array' && field.of && field.of.length > 1) {
263
261
  const validTypes = field.of.filter((item) => schemaTypes.find((s) => s.name === item.type));
264
262
  if (validTypes.length > 1) {
265
- const unionName = `${capitalizeFirst(parentName)}${capitalizeFirst(field.name)}Item`;
263
+ const unionName = `${toPascalCase(parentName)}${toPascalCase(field.name)}Item`;
266
264
  resolvers[unionName] = {
267
265
  __resolveType(obj) {
268
266
  if (obj._type) {
269
- return capitalizeFirst(obj._type);
267
+ return toPascalCase(obj._type);
270
268
  }
271
269
  return null;
272
270
  }
@@ -286,7 +284,8 @@ export function createResolvers(cms, schemaTypes, defaultPerspective = 'publishe
286
284
  // Generate resolvers for each document type
287
285
  const documentTypes = schemaTypes.filter((type) => type.type === 'document');
288
286
  documentTypes.forEach((schemaType) => {
289
- const typeName = capitalizeFirst(schemaType.name);
287
+ const typeName = toPascalCase(schemaType.name);
288
+ const fieldName = toCamelCase(schemaType.name);
290
289
  // Singleton resolvers: no-arg query, no-id mutations.
291
290
  // Schema/codegen already differs for singletons (see schema.ts) — the
292
291
  // resolver just delegates to the singleton-aware CollectionAPI methods.
@@ -306,7 +305,7 @@ export function createResolvers(cms, schemaTypes, defaultPerspective = 'publishe
306
305
  ...normalizedData
307
306
  };
308
307
  };
309
- resolvers.Query[schemaType.name] = async (_, args, context) => {
308
+ resolvers.Query[fieldName] = async (_, args, context) => {
310
309
  try {
311
310
  const { localAPI, auth } = context;
312
311
  const apiContext = authToContext(auth);
@@ -404,7 +403,7 @@ export function createResolvers(cms, schemaTypes, defaultPerspective = 'publishe
404
403
  return; // skip the regular per-type resolvers below for singletons
405
404
  }
406
405
  // Single document resolver: page(id: "123", perspective: "draft")
407
- resolvers.Query[schemaType.name] = async (_, args, context) => {
406
+ resolvers.Query[fieldName] = async (_, args, context) => {
408
407
  try {
409
408
  const { localAPI, auth } = context;
410
409
  const apiContext = authToContext(auth);
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/lib/graphql/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAkD,MAAM,kBAAkB,CAAC;AA0YnG,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,CA2FvE"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/lib/graphql/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAkD,MAAM,kBAAkB,CAAC;AAyYnG,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,CA2FvE"}