@plitzi/sdk-server 0.32.17 → 0.32.18

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 (55) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/modules/mcp/apps/render/view.tsx +107 -3
  3. package/dist/modules/mcp/helpers/guide.js +9 -2
  4. package/dist/modules/mcp/resources/renderGuide.js +126 -19
  5. package/dist/modules/mcp/server.js +1 -1
  6. package/dist/modules/mcp/tools/apply/dispatch.js +2 -0
  7. package/dist/modules/mcp/tools/apply/index.js +17 -3
  8. package/dist/modules/mcp/tools/operations/index.js +4 -0
  9. package/dist/modules/mcp/tools/operations/schema/elements/patchElement.js +1 -1
  10. package/dist/modules/mcp/tools/operations/schema/elements/repeatElement.js +148 -0
  11. package/dist/modules/mcp/tools/operations/schema/interactions/deleteInteraction.js +1 -1
  12. package/dist/modules/mcp/tools/operations/schema/interactions/patchInteractionNode.js +1 -1
  13. package/dist/modules/mcp/tools/operations/schema/interactions/upsertInteractionFlow.js +1 -1
  14. package/dist/modules/mcp/tools/operations/schema/operations.js +2 -0
  15. package/dist/modules/mcp/tools/operations/schema/pages/upsertPage.js +1 -1
  16. package/dist/modules/mcp/tools/operations/schema/shared.js +8 -5
  17. package/dist/modules/mcp/tools/operations/schemaIds.js +54 -0
  18. package/dist/modules/mcp/tools/operations/style/definitions/patchDefinition.js +1 -1
  19. package/dist/modules/mcp/tools/operations/style/definitions/upsertDefinition.js +1 -1
  20. package/dist/modules/mcp/tools/operations/style/definitions/upsertDefinitions.js +40 -0
  21. package/dist/modules/mcp/tools/operations/style/globalStyles/patchGlobalStyle.js +1 -1
  22. package/dist/modules/mcp/tools/operations/style/globalStyles/upsertGlobalStyle.js +1 -1
  23. package/dist/modules/mcp/tools/operations/style/idStyles/patchIdStyle.js +1 -1
  24. package/dist/modules/mcp/tools/operations/style/idStyles/upsertIdStyle.js +1 -1
  25. package/dist/modules/mcp/tools/operations/style/operations.js +2 -0
  26. package/dist/modules/mcp/tools/operations/style/shared.js +1 -1
  27. package/dist/modules/mcp/tools/render.js +70 -8
  28. package/dist/modules/mcp/tools/shared/expandOperations.js +44 -0
  29. package/dist/modules/mcp/tools/shared/validator/audit.js +3 -0
  30. package/dist/modules/mcp/tools/shared/validator/batch.js +13 -4
  31. package/dist/modules/mcp/tools/shared/validator/index.js +15 -0
  32. package/dist/modules/mcp/tools/validate.js +11 -3
  33. package/dist/src/modules/mcp/apps/render/heldBatch.d.ts +10 -0
  34. package/dist/src/modules/mcp/apps/render/heldBatch.test.d.ts +1 -0
  35. package/dist/src/modules/mcp/e2e/index.d.ts +2 -2
  36. package/dist/src/modules/mcp/e2e/renderingHost.d.ts +16 -1
  37. package/dist/src/modules/mcp/helpers/guide.d.ts +1 -1
  38. package/dist/src/modules/mcp/tests/schemaIds.test.d.ts +1 -0
  39. package/dist/src/modules/mcp/tools/apply/index.d.ts +50 -0
  40. package/dist/src/modules/mcp/tools/operations/index.d.ts +100 -0
  41. package/dist/src/modules/mcp/tools/operations/schema/elements/repeatElement.d.ts +55 -0
  42. package/dist/src/modules/mcp/tools/operations/schema/index.d.ts +1 -0
  43. package/dist/src/modules/mcp/tools/operations/schema/operations.d.ts +19 -0
  44. package/dist/src/modules/mcp/tools/operations/schema/shared.d.ts +15 -0
  45. package/dist/src/modules/mcp/tools/operations/schemaIds.d.ts +6 -0
  46. package/dist/src/modules/mcp/tools/operations/style/definitions/upsertDefinitions.d.ts +41 -0
  47. package/dist/src/modules/mcp/tools/operations/style/index.d.ts +1 -0
  48. package/dist/src/modules/mcp/tools/operations/style/operations.d.ts +33 -0
  49. package/dist/src/modules/mcp/tools/operations/style/shared.d.ts +4 -3
  50. package/dist/src/modules/mcp/tools/preview.d.ts +50 -0
  51. package/dist/src/modules/mcp/tools/render.d.ts +421 -363
  52. package/dist/src/modules/mcp/tools/screenshot.d.ts +50 -0
  53. package/dist/src/modules/mcp/tools/shared/expandOperations.d.ts +13 -0
  54. package/dist/src/modules/mcp/tools/validate.d.ts +50 -0
  55. package/package.json +4 -4
@@ -10,6 +10,25 @@ export declare const elementOps: {
10
10
  after: "after";
11
11
  }>>;
12
12
  }, import('zod/v4/core').$strip>;
13
+ repeatElement: import('zod').ZodObject<{
14
+ type: import('zod').ZodLiteral<"repeatElement">;
15
+ pageRef: import('zod').ZodString;
16
+ ref: import('zod').ZodString;
17
+ elementType: import('zod').ZodOptional<import('zod').ZodString>;
18
+ label: import('zod').ZodOptional<import('zod').ZodString>;
19
+ style: import('zod').ZodOptional<import('zod').ZodObject<{
20
+ base: import('zod').ZodOptional<import('zod').ZodArray<import('zod').ZodString>>;
21
+ slots: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodArray<import('zod').ZodString>>>;
22
+ }, import('zod/v4/core').$strip>>;
23
+ parentRef: import('zod').ZodOptional<import('zod').ZodString>;
24
+ position: import('zod').ZodOptional<import('zod').ZodEnum<{
25
+ inside: "inside";
26
+ before: "before";
27
+ after: "after";
28
+ }>>;
29
+ template: import('zod').ZodType<import('.').TemplateElement, unknown, import('zod/v4/core').$ZodTypeInternals<import('.').TemplateElement, unknown>>;
30
+ items: import('zod').ZodArray<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodUnknown>>;
31
+ }, import('zod/v4/core').$strip>;
13
32
  patchElement: import('zod').ZodObject<{
14
33
  type: import('zod').ZodLiteral<"patchElement">;
15
34
  pageRef: import('zod').ZodString;
@@ -27,6 +27,21 @@ export declare const initialStateInput: z.ZodObject<{
27
27
  styleVariant: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>>>;
28
28
  visibility: z.ZodOptional<z.ZodBoolean>;
29
29
  }, z.core.$strip>;
30
+ export declare const elementShape: {
31
+ ref: z.ZodString;
32
+ type: z.ZodString;
33
+ label: z.ZodOptional<z.ZodString>;
34
+ subType: z.ZodOptional<z.ZodString>;
35
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
36
+ style: z.ZodOptional<z.ZodObject<{
37
+ base: z.ZodOptional<z.ZodArray<z.ZodString>>;
38
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
39
+ }, z.core.$strip>>;
40
+ initialState: z.ZodOptional<z.ZodObject<{
41
+ styleVariant: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>>>;
42
+ visibility: z.ZodOptional<z.ZodBoolean>;
43
+ }, z.core.$strip>>;
44
+ };
30
45
  export declare const elementInput: z.ZodType<ElementInput>;
31
46
  export declare const position: z.ZodEnum<{
32
47
  inside: "inside";
@@ -0,0 +1,6 @@
1
+ import { z } from 'zod';
2
+ export declare const claimSchemaId: (schema: z.ZodType, id: string) => void;
3
+ /** Idempotent: the module can be imported more than once in a test run, and a schema that already carries its id
4
+ * is left alone (re-adding the same one is harmless but pointless). Runs at module load, never per request — the
5
+ * MCP builds a server per request and this must not grow with them (pinned in the statelessness test). */
6
+ export declare const registerSharedSchemaIds: () => void;
@@ -0,0 +1,41 @@
1
+ import { z } from 'zod';
2
+ import { Space, OpResult } from '../../../../helpers';
3
+ import { Env } from '../../../../types';
4
+ export declare const upsertDefinitionsOp: z.ZodObject<{
5
+ type: z.ZodLiteral<"upsertDefinitions">;
6
+ definitions: z.ZodRecord<z.ZodString, z.ZodObject<{
7
+ desktop: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
8
+ tablet: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
9
+ mobile: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
10
+ states: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
11
+ desktop: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
12
+ tablet: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
13
+ mobile: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
14
+ }, z.core.$strip>>>;
15
+ variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
16
+ desktop: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
17
+ tablet: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
18
+ mobile: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
19
+ }, z.core.$strip>>>;
20
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
21
+ desktop: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
22
+ tablet: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
23
+ mobile: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
24
+ states: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
25
+ desktop: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
26
+ tablet: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
27
+ mobile: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
28
+ }, z.core.$strip>>>;
29
+ variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
30
+ desktop: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
31
+ tablet: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
32
+ mobile: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
33
+ }, z.core.$strip>>>;
34
+ }, z.core.$strip>>>;
35
+ }, z.core.$strip>>;
36
+ }, z.core.$strip>;
37
+ export type UpsertDefinitions = z.infer<typeof upsertDefinitionsOp>;
38
+ /** Writes each entry exactly as {@link upsertDefinition} would. Entries are independent: one bad class reports its
39
+ * own error under `definitions.<ref>` and the rest still write — nothing is persisted while the batch carries
40
+ * errors, so a partial write cannot escape. */
41
+ export declare const upsertDefinitions: (space: Space, env: Env, op: UpsertDefinitions) => OpResult;
@@ -2,6 +2,7 @@ export * from './translator';
2
2
  export { styleOps } from './operations';
3
3
  export type { DefinitionSlotInput, DefinitionSlotPatch } from './shared';
4
4
  export * from './definitions/upsertDefinition';
5
+ export * from './definitions/upsertDefinitions';
5
6
  export * from './definitions/patchDefinition';
6
7
  export * from './definitions/deleteDefinition';
7
8
  export * from './globalStyles/upsertGlobalStyle';
@@ -31,6 +31,39 @@ export declare const styleOps: {
31
31
  type: import('zod').ZodLiteral<"upsertDefinition">;
32
32
  ref: import('zod').ZodString;
33
33
  }, import('zod/v4/core').$strip>;
34
+ upsertDefinitions: import('zod').ZodObject<{
35
+ type: import('zod').ZodLiteral<"upsertDefinitions">;
36
+ definitions: import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodObject<{
37
+ desktop: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodNumber]>>>;
38
+ tablet: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodNumber]>>>;
39
+ mobile: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodNumber]>>>;
40
+ states: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodObject<{
41
+ desktop: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodNumber]>>>;
42
+ tablet: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodNumber]>>>;
43
+ mobile: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodNumber]>>>;
44
+ }, import('zod/v4/core').$strip>>>;
45
+ variants: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodObject<{
46
+ desktop: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodNumber]>>>;
47
+ tablet: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodNumber]>>>;
48
+ mobile: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodNumber]>>>;
49
+ }, import('zod/v4/core').$strip>>>;
50
+ slots: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodObject<{
51
+ desktop: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodNumber]>>>;
52
+ tablet: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodNumber]>>>;
53
+ mobile: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodNumber]>>>;
54
+ states: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodObject<{
55
+ desktop: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodNumber]>>>;
56
+ tablet: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodNumber]>>>;
57
+ mobile: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodNumber]>>>;
58
+ }, import('zod/v4/core').$strip>>>;
59
+ variants: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodObject<{
60
+ desktop: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodNumber]>>>;
61
+ tablet: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodNumber]>>>;
62
+ mobile: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodNumber]>>>;
63
+ }, import('zod/v4/core').$strip>>>;
64
+ }, import('zod/v4/core').$strip>>>;
65
+ }, import('zod/v4/core').$strip>>;
66
+ }, import('zod/v4/core').$strip>;
34
67
  patchDefinition: import('zod').ZodObject<{
35
68
  desktop: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodNumber, import('zod').ZodNull]>>>;
36
69
  tablet: import('zod').ZodOptional<import('zod').ZodRecord<import('zod').ZodString, import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodNumber, import('zod').ZodNull]>>>;
@@ -1,10 +1,11 @@
1
1
  import { z } from 'zod';
2
+ export declare const cssMap: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
2
3
  export declare const displayModeCss: z.ZodObject<{
3
4
  desktop: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
4
5
  tablet: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
5
6
  mobile: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
6
7
  }, z.core.$strip>;
7
- declare const definitionSlot: z.ZodObject<{
8
+ export declare const definitionSlot: z.ZodObject<{
8
9
  desktop: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
9
10
  tablet: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
10
11
  mobile: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
@@ -20,12 +21,13 @@ declare const definitionSlot: z.ZodObject<{
20
21
  }, z.core.$strip>>>;
21
22
  }, z.core.$strip>;
22
23
  export type DefinitionSlotInput = z.infer<typeof definitionSlot>;
24
+ export declare const cssPatchMap: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>>;
23
25
  export declare const displayModeCssPatch: z.ZodObject<{
24
26
  desktop: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>>>;
25
27
  tablet: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>>>;
26
28
  mobile: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>>>;
27
29
  }, z.core.$strip>;
28
- declare const definitionSlotPatch: z.ZodObject<{
30
+ export declare const definitionSlotPatch: z.ZodObject<{
29
31
  desktop: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>>>;
30
32
  tablet: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>>>;
31
33
  mobile: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>>>;
@@ -112,4 +114,3 @@ export declare const patchCssShape: {
112
114
  }, z.core.$strip>>>;
113
115
  }, z.core.$strip>>>;
114
116
  };
115
- export {};
@@ -11,6 +11,24 @@ export declare const previewShape: {
11
11
  before: "before";
12
12
  after: "after";
13
13
  }>>;
14
+ }, z.core.$strip>, z.ZodObject<{
15
+ type: z.ZodLiteral<"repeatElement">;
16
+ pageRef: z.ZodString;
17
+ ref: z.ZodString;
18
+ elementType: z.ZodOptional<z.ZodString>;
19
+ label: z.ZodOptional<z.ZodString>;
20
+ style: z.ZodOptional<z.ZodObject<{
21
+ base: z.ZodOptional<z.ZodArray<z.ZodString>>;
22
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
23
+ }, z.core.$strip>>;
24
+ parentRef: z.ZodOptional<z.ZodString>;
25
+ position: z.ZodOptional<z.ZodEnum<{
26
+ inside: "inside";
27
+ before: "before";
28
+ after: "after";
29
+ }>>;
30
+ template: z.ZodType<import('./operations/schema').TemplateElement, unknown, z.core.$ZodTypeInternals<import('./operations/schema').TemplateElement, unknown>>;
31
+ items: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
14
32
  }, z.core.$strip>, z.ZodObject<{
15
33
  type: z.ZodLiteral<"patchElement">;
16
34
  pageRef: z.ZodString;
@@ -223,6 +241,38 @@ export declare const previewShape: {
223
241
  }, z.core.$strip>>>;
224
242
  type: z.ZodLiteral<"upsertDefinition">;
225
243
  ref: z.ZodString;
244
+ }, z.core.$strip>, z.ZodObject<{
245
+ type: z.ZodLiteral<"upsertDefinitions">;
246
+ definitions: z.ZodRecord<z.ZodString, z.ZodObject<{
247
+ desktop: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
248
+ tablet: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
249
+ mobile: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
250
+ states: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
251
+ desktop: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
252
+ tablet: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
253
+ mobile: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
254
+ }, z.core.$strip>>>;
255
+ variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
256
+ desktop: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
257
+ tablet: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
258
+ mobile: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
259
+ }, z.core.$strip>>>;
260
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
261
+ desktop: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
262
+ tablet: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
263
+ mobile: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
264
+ states: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
265
+ desktop: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
266
+ tablet: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
267
+ mobile: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
268
+ }, z.core.$strip>>>;
269
+ variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
270
+ desktop: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
271
+ tablet: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
272
+ mobile: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
273
+ }, z.core.$strip>>>;
274
+ }, z.core.$strip>>>;
275
+ }, z.core.$strip>>;
226
276
  }, z.core.$strip>, z.ZodObject<{
227
277
  desktop: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>>>;
228
278
  tablet: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>>>;