@fieldia/core 0.1.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 (130) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +31 -0
  3. package/package.json +40 -0
  4. package/schema/page.schema.json +2142 -0
  5. package/src/index.d.mts +15 -0
  6. package/src/index.d.ts +15 -0
  7. package/src/index.js +46 -0
  8. package/src/index.js.map +1 -0
  9. package/src/index.mjs +14 -0
  10. package/src/index.mjs.map +1 -0
  11. package/src/lib/expression/evaluateModifier.d.mts +55 -0
  12. package/src/lib/expression/evaluateModifier.d.ts +55 -0
  13. package/src/lib/expression/evaluateModifier.js +121 -0
  14. package/src/lib/expression/evaluateModifier.js.map +1 -0
  15. package/src/lib/expression/evaluateModifier.mjs +117 -0
  16. package/src/lib/expression/evaluateModifier.mjs.map +1 -0
  17. package/src/lib/expression/evaluator.d.mts +23 -0
  18. package/src/lib/expression/evaluator.d.ts +23 -0
  19. package/src/lib/expression/evaluator.js +122 -0
  20. package/src/lib/expression/evaluator.js.map +1 -0
  21. package/src/lib/expression/evaluator.mjs +118 -0
  22. package/src/lib/expression/evaluator.mjs.map +1 -0
  23. package/src/lib/expression/extractFieldNames.d.mts +41 -0
  24. package/src/lib/expression/extractFieldNames.d.ts +41 -0
  25. package/src/lib/expression/extractFieldNames.js +97 -0
  26. package/src/lib/expression/extractFieldNames.js.map +1 -0
  27. package/src/lib/expression/extractFieldNames.mjs +93 -0
  28. package/src/lib/expression/extractFieldNames.mjs.map +1 -0
  29. package/src/lib/expression/modifier.d.mts +14 -0
  30. package/src/lib/expression/modifier.d.ts +14 -0
  31. package/src/lib/expression/modifier.js +55 -0
  32. package/src/lib/expression/modifier.js.map +1 -0
  33. package/src/lib/expression/modifier.mjs +52 -0
  34. package/src/lib/expression/modifier.mjs.map +1 -0
  35. package/src/lib/expression/parser.d.mts +109 -0
  36. package/src/lib/expression/parser.d.ts +109 -0
  37. package/src/lib/expression/parser.js +317 -0
  38. package/src/lib/expression/parser.js.map +1 -0
  39. package/src/lib/expression/parser.mjs +313 -0
  40. package/src/lib/expression/parser.mjs.map +1 -0
  41. package/src/lib/expression/tokenizer.d.mts +31 -0
  42. package/src/lib/expression/tokenizer.d.ts +31 -0
  43. package/src/lib/expression/tokenizer.js +100 -0
  44. package/src/lib/expression/tokenizer.js.map +1 -0
  45. package/src/lib/expression/tokenizer.mjs +96 -0
  46. package/src/lib/expression/tokenizer.mjs.map +1 -0
  47. package/src/lib/format/field.d.mts +967 -0
  48. package/src/lib/format/field.d.ts +967 -0
  49. package/src/lib/format/field.js +147 -0
  50. package/src/lib/format/field.js.map +1 -0
  51. package/src/lib/format/field.mjs +144 -0
  52. package/src/lib/format/field.mjs.map +1 -0
  53. package/src/lib/format/json-schema.d.mts +6 -0
  54. package/src/lib/format/json-schema.d.ts +6 -0
  55. package/src/lib/format/json-schema.js +14 -0
  56. package/src/lib/format/json-schema.js.map +1 -0
  57. package/src/lib/format/json-schema.mjs +11 -0
  58. package/src/lib/format/json-schema.mjs.map +1 -0
  59. package/src/lib/format/json.d.mts +7 -0
  60. package/src/lib/format/json.d.ts +7 -0
  61. package/src/lib/format/json.js +7 -0
  62. package/src/lib/format/json.js.map +1 -0
  63. package/src/lib/format/json.mjs +4 -0
  64. package/src/lib/format/json.mjs.map +1 -0
  65. package/src/lib/format/layout.d.mts +521 -0
  66. package/src/lib/format/layout.d.ts +521 -0
  67. package/src/lib/format/layout.js +150 -0
  68. package/src/lib/format/layout.js.map +1 -0
  69. package/src/lib/format/layout.mjs +147 -0
  70. package/src/lib/format/layout.mjs.map +1 -0
  71. package/src/lib/format/layout.types.d.mts +22 -0
  72. package/src/lib/format/layout.types.d.ts +22 -0
  73. package/src/lib/format/layout.types.js +3 -0
  74. package/src/lib/format/layout.types.js.map +1 -0
  75. package/src/lib/format/layout.types.mjs +2 -0
  76. package/src/lib/format/layout.types.mjs.map +1 -0
  77. package/src/lib/format/page.d.mts +511 -0
  78. package/src/lib/format/page.d.ts +511 -0
  79. package/src/lib/format/page.js +27 -0
  80. package/src/lib/format/page.js.map +1 -0
  81. package/src/lib/format/page.mjs +24 -0
  82. package/src/lib/format/page.mjs.map +1 -0
  83. package/src/lib/format/validate.d.mts +23 -0
  84. package/src/lib/format/validate.d.ts +23 -0
  85. package/src/lib/format/validate.js +210 -0
  86. package/src/lib/format/validate.js.map +1 -0
  87. package/src/lib/format/validate.mjs +207 -0
  88. package/src/lib/format/validate.mjs.map +1 -0
  89. package/src/lib/record/check.d.mts +14 -0
  90. package/src/lib/record/check.d.ts +14 -0
  91. package/src/lib/record/check.js +167 -0
  92. package/src/lib/record/check.js.map +1 -0
  93. package/src/lib/record/check.mjs +163 -0
  94. package/src/lib/record/check.mjs.map +1 -0
  95. package/src/lib/record/data-source.d.mts +109 -0
  96. package/src/lib/record/data-source.d.ts +109 -0
  97. package/src/lib/record/data-source.js +3 -0
  98. package/src/lib/record/data-source.js.map +1 -0
  99. package/src/lib/record/data-source.mjs +2 -0
  100. package/src/lib/record/data-source.mjs.map +1 -0
  101. package/src/lib/record/form.d.mts +106 -0
  102. package/src/lib/record/form.d.ts +106 -0
  103. package/src/lib/record/form.js +545 -0
  104. package/src/lib/record/form.js.map +1 -0
  105. package/src/lib/record/form.mjs +542 -0
  106. package/src/lib/record/form.mjs.map +1 -0
  107. package/src/lib/record/memory-data-source.d.mts +28 -0
  108. package/src/lib/record/memory-data-source.d.ts +28 -0
  109. package/src/lib/record/memory-data-source.js +132 -0
  110. package/src/lib/record/memory-data-source.js.map +1 -0
  111. package/src/lib/record/memory-data-source.mjs +129 -0
  112. package/src/lib/record/memory-data-source.mjs.map +1 -0
  113. package/src/lib/record/messages.d.mts +35 -0
  114. package/src/lib/record/messages.d.ts +35 -0
  115. package/src/lib/record/messages.js +111 -0
  116. package/src/lib/record/messages.js.map +1 -0
  117. package/src/lib/record/messages.mjs +107 -0
  118. package/src/lib/record/messages.mjs.map +1 -0
  119. package/src/lib/record/scheduler.d.mts +12 -0
  120. package/src/lib/record/scheduler.d.ts +12 -0
  121. package/src/lib/record/scheduler.js +16 -0
  122. package/src/lib/record/scheduler.js.map +1 -0
  123. package/src/lib/record/scheduler.mjs +12 -0
  124. package/src/lib/record/scheduler.mjs.map +1 -0
  125. package/src/lib/record/values.d.mts +54 -0
  126. package/src/lib/record/values.d.ts +54 -0
  127. package/src/lib/record/values.js +78 -0
  128. package/src/lib/record/values.js.map +1 -0
  129. package/src/lib/record/values.mjs +71 -0
  130. package/src/lib/record/values.mjs.map +1 -0
@@ -0,0 +1,967 @@
1
+ import * as z from 'zod';
2
+ /**
3
+ * Field definitions: what a page knows about each value it shows or collects.
4
+ *
5
+ * A page declares its fields once, by name, and its layout points at them —
6
+ * the same split a backend's own field metadata uses, so an app can generate
7
+ * these definitions from it. Names follow Fieldia's naming rule: a backend's
8
+ * vocabulary stays unless it is a product name, jargon, or a clash.
9
+ */
10
+ /** A field name: what expressions and layout nodes use to refer to a field. */
11
+ export declare const FIELD_NAME: RegExp;
12
+ export declare const FIELD_TYPES: readonly ["char", "text", "html", "integer", "float", "monetary", "boolean", "date", "datetime", "selection", "binary", "image", "many2one", "many2many", "one2many", "reference", "properties", "json"];
13
+ export type FieldType = (typeof FIELD_TYPES)[number];
14
+ /** One choice in a selection or reference. */
15
+ export declare const OptionSchema: z.ZodObject<{
16
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
17
+ label: z.ZodString;
18
+ }, z.core.$strict>;
19
+ export type Option = z.infer<typeof OptionSchema>;
20
+ /**
21
+ * One condition limiting which records a relation may point to. Conditions in
22
+ * a filter all apply together. `valueFrom` compares against another field of
23
+ * the record being edited, so a region list can follow the chosen country.
24
+ */
25
+ export declare const FilterConditionSchema: z.ZodObject<{
26
+ field: z.ZodString;
27
+ op: z.ZodEnum<{
28
+ "=": "=";
29
+ "!=": "!=";
30
+ "<": "<";
31
+ ">": ">";
32
+ "<=": "<=";
33
+ ">=": ">=";
34
+ in: "in";
35
+ "not in": "not in";
36
+ like: "like";
37
+ ilike: "ilike";
38
+ }>;
39
+ value: z.ZodOptional<z.ZodJSONSchema>;
40
+ valueFrom: z.ZodOptional<z.ZodString>;
41
+ }, z.core.$strict>;
42
+ export type FilterCondition = z.infer<typeof FilterConditionSchema>;
43
+ /** A field of a one2many's lines. Lines cannot hold lines of their own. */
44
+ export declare const LineFieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
45
+ size: z.ZodOptional<z.ZodInt>;
46
+ pattern: z.ZodOptional<z.ZodString>;
47
+ label: z.ZodString;
48
+ help: z.ZodOptional<z.ZodString>;
49
+ required: z.ZodOptional<z.ZodBoolean>;
50
+ readonly: z.ZodOptional<z.ZodBoolean>;
51
+ default: z.ZodOptional<z.ZodJSONSchema>;
52
+ type: z.ZodLiteral<"char">;
53
+ }, z.core.$strict>, z.ZodObject<{
54
+ size: z.ZodOptional<z.ZodInt>;
55
+ label: z.ZodString;
56
+ help: z.ZodOptional<z.ZodString>;
57
+ required: z.ZodOptional<z.ZodBoolean>;
58
+ readonly: z.ZodOptional<z.ZodBoolean>;
59
+ default: z.ZodOptional<z.ZodJSONSchema>;
60
+ type: z.ZodLiteral<"text">;
61
+ }, z.core.$strict>, z.ZodObject<{
62
+ label: z.ZodString;
63
+ help: z.ZodOptional<z.ZodString>;
64
+ required: z.ZodOptional<z.ZodBoolean>;
65
+ readonly: z.ZodOptional<z.ZodBoolean>;
66
+ default: z.ZodOptional<z.ZodJSONSchema>;
67
+ type: z.ZodLiteral<"html">;
68
+ }, z.core.$strict>, z.ZodObject<{
69
+ min: z.ZodOptional<z.ZodNumber>;
70
+ max: z.ZodOptional<z.ZodNumber>;
71
+ label: z.ZodString;
72
+ help: z.ZodOptional<z.ZodString>;
73
+ required: z.ZodOptional<z.ZodBoolean>;
74
+ readonly: z.ZodOptional<z.ZodBoolean>;
75
+ default: z.ZodOptional<z.ZodJSONSchema>;
76
+ type: z.ZodLiteral<"integer">;
77
+ }, z.core.$strict>, z.ZodObject<{
78
+ min: z.ZodOptional<z.ZodNumber>;
79
+ max: z.ZodOptional<z.ZodNumber>;
80
+ digits: z.ZodOptional<z.ZodTuple<[z.ZodInt, z.ZodInt], null>>;
81
+ label: z.ZodString;
82
+ help: z.ZodOptional<z.ZodString>;
83
+ required: z.ZodOptional<z.ZodBoolean>;
84
+ readonly: z.ZodOptional<z.ZodBoolean>;
85
+ default: z.ZodOptional<z.ZodJSONSchema>;
86
+ type: z.ZodLiteral<"float">;
87
+ }, z.core.$strict>, z.ZodObject<{
88
+ currencyField: z.ZodOptional<z.ZodString>;
89
+ currency: z.ZodOptional<z.ZodString>;
90
+ min: z.ZodOptional<z.ZodNumber>;
91
+ max: z.ZodOptional<z.ZodNumber>;
92
+ digits: z.ZodOptional<z.ZodTuple<[z.ZodInt, z.ZodInt], null>>;
93
+ label: z.ZodString;
94
+ help: z.ZodOptional<z.ZodString>;
95
+ required: z.ZodOptional<z.ZodBoolean>;
96
+ readonly: z.ZodOptional<z.ZodBoolean>;
97
+ default: z.ZodOptional<z.ZodJSONSchema>;
98
+ type: z.ZodLiteral<"monetary">;
99
+ }, z.core.$strict>, z.ZodObject<{
100
+ label: z.ZodString;
101
+ help: z.ZodOptional<z.ZodString>;
102
+ required: z.ZodOptional<z.ZodBoolean>;
103
+ readonly: z.ZodOptional<z.ZodBoolean>;
104
+ default: z.ZodOptional<z.ZodJSONSchema>;
105
+ type: z.ZodLiteral<"boolean">;
106
+ }, z.core.$strict>, z.ZodObject<{
107
+ label: z.ZodString;
108
+ help: z.ZodOptional<z.ZodString>;
109
+ required: z.ZodOptional<z.ZodBoolean>;
110
+ readonly: z.ZodOptional<z.ZodBoolean>;
111
+ default: z.ZodOptional<z.ZodJSONSchema>;
112
+ type: z.ZodLiteral<"date">;
113
+ }, z.core.$strict>, z.ZodObject<{
114
+ label: z.ZodString;
115
+ help: z.ZodOptional<z.ZodString>;
116
+ required: z.ZodOptional<z.ZodBoolean>;
117
+ readonly: z.ZodOptional<z.ZodBoolean>;
118
+ default: z.ZodOptional<z.ZodJSONSchema>;
119
+ type: z.ZodLiteral<"datetime">;
120
+ }, z.core.$strict>, z.ZodObject<{
121
+ options: z.ZodArray<z.ZodObject<{
122
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
123
+ label: z.ZodString;
124
+ }, z.core.$strict>>;
125
+ multiple: z.ZodOptional<z.ZodBoolean>;
126
+ label: z.ZodString;
127
+ help: z.ZodOptional<z.ZodString>;
128
+ required: z.ZodOptional<z.ZodBoolean>;
129
+ readonly: z.ZodOptional<z.ZodBoolean>;
130
+ default: z.ZodOptional<z.ZodJSONSchema>;
131
+ type: z.ZodLiteral<"selection">;
132
+ }, z.core.$strict>, z.ZodObject<{
133
+ accept: z.ZodOptional<z.ZodArray<z.ZodString>>;
134
+ maxSize: z.ZodOptional<z.ZodInt>;
135
+ label: z.ZodString;
136
+ help: z.ZodOptional<z.ZodString>;
137
+ required: z.ZodOptional<z.ZodBoolean>;
138
+ readonly: z.ZodOptional<z.ZodBoolean>;
139
+ default: z.ZodOptional<z.ZodJSONSchema>;
140
+ type: z.ZodLiteral<"binary">;
141
+ }, z.core.$strict>, z.ZodObject<{
142
+ maxSize: z.ZodOptional<z.ZodInt>;
143
+ label: z.ZodString;
144
+ help: z.ZodOptional<z.ZodString>;
145
+ required: z.ZodOptional<z.ZodBoolean>;
146
+ readonly: z.ZodOptional<z.ZodBoolean>;
147
+ default: z.ZodOptional<z.ZodJSONSchema>;
148
+ type: z.ZodLiteral<"image">;
149
+ }, z.core.$strict>, z.ZodObject<{
150
+ relation: z.ZodString;
151
+ filter: z.ZodOptional<z.ZodArray<z.ZodObject<{
152
+ field: z.ZodString;
153
+ op: z.ZodEnum<{
154
+ "=": "=";
155
+ "!=": "!=";
156
+ "<": "<";
157
+ ">": ">";
158
+ "<=": "<=";
159
+ ">=": ">=";
160
+ in: "in";
161
+ "not in": "not in";
162
+ like: "like";
163
+ ilike: "ilike";
164
+ }>;
165
+ value: z.ZodOptional<z.ZodJSONSchema>;
166
+ valueFrom: z.ZodOptional<z.ZodString>;
167
+ }, z.core.$strict>>>;
168
+ label: z.ZodString;
169
+ help: z.ZodOptional<z.ZodString>;
170
+ required: z.ZodOptional<z.ZodBoolean>;
171
+ readonly: z.ZodOptional<z.ZodBoolean>;
172
+ default: z.ZodOptional<z.ZodJSONSchema>;
173
+ type: z.ZodLiteral<"many2one">;
174
+ }, z.core.$strict>, z.ZodObject<{
175
+ relation: z.ZodString;
176
+ filter: z.ZodOptional<z.ZodArray<z.ZodObject<{
177
+ field: z.ZodString;
178
+ op: z.ZodEnum<{
179
+ "=": "=";
180
+ "!=": "!=";
181
+ "<": "<";
182
+ ">": ">";
183
+ "<=": "<=";
184
+ ">=": ">=";
185
+ in: "in";
186
+ "not in": "not in";
187
+ like: "like";
188
+ ilike: "ilike";
189
+ }>;
190
+ value: z.ZodOptional<z.ZodJSONSchema>;
191
+ valueFrom: z.ZodOptional<z.ZodString>;
192
+ }, z.core.$strict>>>;
193
+ label: z.ZodString;
194
+ help: z.ZodOptional<z.ZodString>;
195
+ required: z.ZodOptional<z.ZodBoolean>;
196
+ readonly: z.ZodOptional<z.ZodBoolean>;
197
+ default: z.ZodOptional<z.ZodJSONSchema>;
198
+ type: z.ZodLiteral<"many2many">;
199
+ }, z.core.$strict>, z.ZodObject<{
200
+ models: z.ZodArray<z.ZodObject<{
201
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
202
+ label: z.ZodString;
203
+ }, z.core.$strict>>;
204
+ label: z.ZodString;
205
+ help: z.ZodOptional<z.ZodString>;
206
+ required: z.ZodOptional<z.ZodBoolean>;
207
+ readonly: z.ZodOptional<z.ZodBoolean>;
208
+ default: z.ZodOptional<z.ZodJSONSchema>;
209
+ type: z.ZodLiteral<"reference">;
210
+ }, z.core.$strict>, z.ZodObject<{
211
+ label: z.ZodString;
212
+ help: z.ZodOptional<z.ZodString>;
213
+ required: z.ZodOptional<z.ZodBoolean>;
214
+ readonly: z.ZodOptional<z.ZodBoolean>;
215
+ default: z.ZodOptional<z.ZodJSONSchema>;
216
+ type: z.ZodLiteral<"properties">;
217
+ }, z.core.$strict>, z.ZodObject<{
218
+ label: z.ZodString;
219
+ help: z.ZodOptional<z.ZodString>;
220
+ required: z.ZodOptional<z.ZodBoolean>;
221
+ readonly: z.ZodOptional<z.ZodBoolean>;
222
+ default: z.ZodOptional<z.ZodJSONSchema>;
223
+ type: z.ZodLiteral<"json">;
224
+ }, z.core.$strict>], "type">;
225
+ export type LineField = z.infer<typeof LineFieldSchema>;
226
+ export declare const FieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
227
+ size: z.ZodOptional<z.ZodInt>;
228
+ pattern: z.ZodOptional<z.ZodString>;
229
+ label: z.ZodString;
230
+ help: z.ZodOptional<z.ZodString>;
231
+ required: z.ZodOptional<z.ZodBoolean>;
232
+ readonly: z.ZodOptional<z.ZodBoolean>;
233
+ default: z.ZodOptional<z.ZodJSONSchema>;
234
+ type: z.ZodLiteral<"char">;
235
+ }, z.core.$strict>, z.ZodObject<{
236
+ size: z.ZodOptional<z.ZodInt>;
237
+ label: z.ZodString;
238
+ help: z.ZodOptional<z.ZodString>;
239
+ required: z.ZodOptional<z.ZodBoolean>;
240
+ readonly: z.ZodOptional<z.ZodBoolean>;
241
+ default: z.ZodOptional<z.ZodJSONSchema>;
242
+ type: z.ZodLiteral<"text">;
243
+ }, z.core.$strict>, z.ZodObject<{
244
+ label: z.ZodString;
245
+ help: z.ZodOptional<z.ZodString>;
246
+ required: z.ZodOptional<z.ZodBoolean>;
247
+ readonly: z.ZodOptional<z.ZodBoolean>;
248
+ default: z.ZodOptional<z.ZodJSONSchema>;
249
+ type: z.ZodLiteral<"html">;
250
+ }, z.core.$strict>, z.ZodObject<{
251
+ min: z.ZodOptional<z.ZodNumber>;
252
+ max: z.ZodOptional<z.ZodNumber>;
253
+ label: z.ZodString;
254
+ help: z.ZodOptional<z.ZodString>;
255
+ required: z.ZodOptional<z.ZodBoolean>;
256
+ readonly: z.ZodOptional<z.ZodBoolean>;
257
+ default: z.ZodOptional<z.ZodJSONSchema>;
258
+ type: z.ZodLiteral<"integer">;
259
+ }, z.core.$strict>, z.ZodObject<{
260
+ min: z.ZodOptional<z.ZodNumber>;
261
+ max: z.ZodOptional<z.ZodNumber>;
262
+ digits: z.ZodOptional<z.ZodTuple<[z.ZodInt, z.ZodInt], null>>;
263
+ label: z.ZodString;
264
+ help: z.ZodOptional<z.ZodString>;
265
+ required: z.ZodOptional<z.ZodBoolean>;
266
+ readonly: z.ZodOptional<z.ZodBoolean>;
267
+ default: z.ZodOptional<z.ZodJSONSchema>;
268
+ type: z.ZodLiteral<"float">;
269
+ }, z.core.$strict>, z.ZodObject<{
270
+ currencyField: z.ZodOptional<z.ZodString>;
271
+ currency: z.ZodOptional<z.ZodString>;
272
+ min: z.ZodOptional<z.ZodNumber>;
273
+ max: z.ZodOptional<z.ZodNumber>;
274
+ digits: z.ZodOptional<z.ZodTuple<[z.ZodInt, z.ZodInt], null>>;
275
+ label: z.ZodString;
276
+ help: z.ZodOptional<z.ZodString>;
277
+ required: z.ZodOptional<z.ZodBoolean>;
278
+ readonly: z.ZodOptional<z.ZodBoolean>;
279
+ default: z.ZodOptional<z.ZodJSONSchema>;
280
+ type: z.ZodLiteral<"monetary">;
281
+ }, z.core.$strict>, z.ZodObject<{
282
+ label: z.ZodString;
283
+ help: z.ZodOptional<z.ZodString>;
284
+ required: z.ZodOptional<z.ZodBoolean>;
285
+ readonly: z.ZodOptional<z.ZodBoolean>;
286
+ default: z.ZodOptional<z.ZodJSONSchema>;
287
+ type: z.ZodLiteral<"boolean">;
288
+ }, z.core.$strict>, z.ZodObject<{
289
+ label: z.ZodString;
290
+ help: z.ZodOptional<z.ZodString>;
291
+ required: z.ZodOptional<z.ZodBoolean>;
292
+ readonly: z.ZodOptional<z.ZodBoolean>;
293
+ default: z.ZodOptional<z.ZodJSONSchema>;
294
+ type: z.ZodLiteral<"date">;
295
+ }, z.core.$strict>, z.ZodObject<{
296
+ label: z.ZodString;
297
+ help: z.ZodOptional<z.ZodString>;
298
+ required: z.ZodOptional<z.ZodBoolean>;
299
+ readonly: z.ZodOptional<z.ZodBoolean>;
300
+ default: z.ZodOptional<z.ZodJSONSchema>;
301
+ type: z.ZodLiteral<"datetime">;
302
+ }, z.core.$strict>, z.ZodObject<{
303
+ options: z.ZodArray<z.ZodObject<{
304
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
305
+ label: z.ZodString;
306
+ }, z.core.$strict>>;
307
+ multiple: z.ZodOptional<z.ZodBoolean>;
308
+ label: z.ZodString;
309
+ help: z.ZodOptional<z.ZodString>;
310
+ required: z.ZodOptional<z.ZodBoolean>;
311
+ readonly: z.ZodOptional<z.ZodBoolean>;
312
+ default: z.ZodOptional<z.ZodJSONSchema>;
313
+ type: z.ZodLiteral<"selection">;
314
+ }, z.core.$strict>, z.ZodObject<{
315
+ accept: z.ZodOptional<z.ZodArray<z.ZodString>>;
316
+ maxSize: z.ZodOptional<z.ZodInt>;
317
+ label: z.ZodString;
318
+ help: z.ZodOptional<z.ZodString>;
319
+ required: z.ZodOptional<z.ZodBoolean>;
320
+ readonly: z.ZodOptional<z.ZodBoolean>;
321
+ default: z.ZodOptional<z.ZodJSONSchema>;
322
+ type: z.ZodLiteral<"binary">;
323
+ }, z.core.$strict>, z.ZodObject<{
324
+ maxSize: z.ZodOptional<z.ZodInt>;
325
+ label: z.ZodString;
326
+ help: z.ZodOptional<z.ZodString>;
327
+ required: z.ZodOptional<z.ZodBoolean>;
328
+ readonly: z.ZodOptional<z.ZodBoolean>;
329
+ default: z.ZodOptional<z.ZodJSONSchema>;
330
+ type: z.ZodLiteral<"image">;
331
+ }, z.core.$strict>, z.ZodObject<{
332
+ relation: z.ZodString;
333
+ filter: z.ZodOptional<z.ZodArray<z.ZodObject<{
334
+ field: z.ZodString;
335
+ op: z.ZodEnum<{
336
+ "=": "=";
337
+ "!=": "!=";
338
+ "<": "<";
339
+ ">": ">";
340
+ "<=": "<=";
341
+ ">=": ">=";
342
+ in: "in";
343
+ "not in": "not in";
344
+ like: "like";
345
+ ilike: "ilike";
346
+ }>;
347
+ value: z.ZodOptional<z.ZodJSONSchema>;
348
+ valueFrom: z.ZodOptional<z.ZodString>;
349
+ }, z.core.$strict>>>;
350
+ label: z.ZodString;
351
+ help: z.ZodOptional<z.ZodString>;
352
+ required: z.ZodOptional<z.ZodBoolean>;
353
+ readonly: z.ZodOptional<z.ZodBoolean>;
354
+ default: z.ZodOptional<z.ZodJSONSchema>;
355
+ type: z.ZodLiteral<"many2one">;
356
+ }, z.core.$strict>, z.ZodObject<{
357
+ relation: z.ZodString;
358
+ filter: z.ZodOptional<z.ZodArray<z.ZodObject<{
359
+ field: z.ZodString;
360
+ op: z.ZodEnum<{
361
+ "=": "=";
362
+ "!=": "!=";
363
+ "<": "<";
364
+ ">": ">";
365
+ "<=": "<=";
366
+ ">=": ">=";
367
+ in: "in";
368
+ "not in": "not in";
369
+ like: "like";
370
+ ilike: "ilike";
371
+ }>;
372
+ value: z.ZodOptional<z.ZodJSONSchema>;
373
+ valueFrom: z.ZodOptional<z.ZodString>;
374
+ }, z.core.$strict>>>;
375
+ label: z.ZodString;
376
+ help: z.ZodOptional<z.ZodString>;
377
+ required: z.ZodOptional<z.ZodBoolean>;
378
+ readonly: z.ZodOptional<z.ZodBoolean>;
379
+ default: z.ZodOptional<z.ZodJSONSchema>;
380
+ type: z.ZodLiteral<"many2many">;
381
+ }, z.core.$strict>, z.ZodObject<{
382
+ relation: z.ZodString;
383
+ fields: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
384
+ size: z.ZodOptional<z.ZodInt>;
385
+ pattern: z.ZodOptional<z.ZodString>;
386
+ label: z.ZodString;
387
+ help: z.ZodOptional<z.ZodString>;
388
+ required: z.ZodOptional<z.ZodBoolean>;
389
+ readonly: z.ZodOptional<z.ZodBoolean>;
390
+ default: z.ZodOptional<z.ZodJSONSchema>;
391
+ type: z.ZodLiteral<"char">;
392
+ }, z.core.$strict>, z.ZodObject<{
393
+ size: z.ZodOptional<z.ZodInt>;
394
+ label: z.ZodString;
395
+ help: z.ZodOptional<z.ZodString>;
396
+ required: z.ZodOptional<z.ZodBoolean>;
397
+ readonly: z.ZodOptional<z.ZodBoolean>;
398
+ default: z.ZodOptional<z.ZodJSONSchema>;
399
+ type: z.ZodLiteral<"text">;
400
+ }, z.core.$strict>, z.ZodObject<{
401
+ label: z.ZodString;
402
+ help: z.ZodOptional<z.ZodString>;
403
+ required: z.ZodOptional<z.ZodBoolean>;
404
+ readonly: z.ZodOptional<z.ZodBoolean>;
405
+ default: z.ZodOptional<z.ZodJSONSchema>;
406
+ type: z.ZodLiteral<"html">;
407
+ }, z.core.$strict>, z.ZodObject<{
408
+ min: z.ZodOptional<z.ZodNumber>;
409
+ max: z.ZodOptional<z.ZodNumber>;
410
+ label: z.ZodString;
411
+ help: z.ZodOptional<z.ZodString>;
412
+ required: z.ZodOptional<z.ZodBoolean>;
413
+ readonly: z.ZodOptional<z.ZodBoolean>;
414
+ default: z.ZodOptional<z.ZodJSONSchema>;
415
+ type: z.ZodLiteral<"integer">;
416
+ }, z.core.$strict>, z.ZodObject<{
417
+ min: z.ZodOptional<z.ZodNumber>;
418
+ max: z.ZodOptional<z.ZodNumber>;
419
+ digits: z.ZodOptional<z.ZodTuple<[z.ZodInt, z.ZodInt], null>>;
420
+ label: z.ZodString;
421
+ help: z.ZodOptional<z.ZodString>;
422
+ required: z.ZodOptional<z.ZodBoolean>;
423
+ readonly: z.ZodOptional<z.ZodBoolean>;
424
+ default: z.ZodOptional<z.ZodJSONSchema>;
425
+ type: z.ZodLiteral<"float">;
426
+ }, z.core.$strict>, z.ZodObject<{
427
+ currencyField: z.ZodOptional<z.ZodString>;
428
+ currency: z.ZodOptional<z.ZodString>;
429
+ min: z.ZodOptional<z.ZodNumber>;
430
+ max: z.ZodOptional<z.ZodNumber>;
431
+ digits: z.ZodOptional<z.ZodTuple<[z.ZodInt, z.ZodInt], null>>;
432
+ label: z.ZodString;
433
+ help: z.ZodOptional<z.ZodString>;
434
+ required: z.ZodOptional<z.ZodBoolean>;
435
+ readonly: z.ZodOptional<z.ZodBoolean>;
436
+ default: z.ZodOptional<z.ZodJSONSchema>;
437
+ type: z.ZodLiteral<"monetary">;
438
+ }, z.core.$strict>, z.ZodObject<{
439
+ label: z.ZodString;
440
+ help: z.ZodOptional<z.ZodString>;
441
+ required: z.ZodOptional<z.ZodBoolean>;
442
+ readonly: z.ZodOptional<z.ZodBoolean>;
443
+ default: z.ZodOptional<z.ZodJSONSchema>;
444
+ type: z.ZodLiteral<"boolean">;
445
+ }, z.core.$strict>, z.ZodObject<{
446
+ label: z.ZodString;
447
+ help: z.ZodOptional<z.ZodString>;
448
+ required: z.ZodOptional<z.ZodBoolean>;
449
+ readonly: z.ZodOptional<z.ZodBoolean>;
450
+ default: z.ZodOptional<z.ZodJSONSchema>;
451
+ type: z.ZodLiteral<"date">;
452
+ }, z.core.$strict>, z.ZodObject<{
453
+ label: z.ZodString;
454
+ help: z.ZodOptional<z.ZodString>;
455
+ required: z.ZodOptional<z.ZodBoolean>;
456
+ readonly: z.ZodOptional<z.ZodBoolean>;
457
+ default: z.ZodOptional<z.ZodJSONSchema>;
458
+ type: z.ZodLiteral<"datetime">;
459
+ }, z.core.$strict>, z.ZodObject<{
460
+ options: z.ZodArray<z.ZodObject<{
461
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
462
+ label: z.ZodString;
463
+ }, z.core.$strict>>;
464
+ multiple: z.ZodOptional<z.ZodBoolean>;
465
+ label: z.ZodString;
466
+ help: z.ZodOptional<z.ZodString>;
467
+ required: z.ZodOptional<z.ZodBoolean>;
468
+ readonly: z.ZodOptional<z.ZodBoolean>;
469
+ default: z.ZodOptional<z.ZodJSONSchema>;
470
+ type: z.ZodLiteral<"selection">;
471
+ }, z.core.$strict>, z.ZodObject<{
472
+ accept: z.ZodOptional<z.ZodArray<z.ZodString>>;
473
+ maxSize: z.ZodOptional<z.ZodInt>;
474
+ label: z.ZodString;
475
+ help: z.ZodOptional<z.ZodString>;
476
+ required: z.ZodOptional<z.ZodBoolean>;
477
+ readonly: z.ZodOptional<z.ZodBoolean>;
478
+ default: z.ZodOptional<z.ZodJSONSchema>;
479
+ type: z.ZodLiteral<"binary">;
480
+ }, z.core.$strict>, z.ZodObject<{
481
+ maxSize: z.ZodOptional<z.ZodInt>;
482
+ label: z.ZodString;
483
+ help: z.ZodOptional<z.ZodString>;
484
+ required: z.ZodOptional<z.ZodBoolean>;
485
+ readonly: z.ZodOptional<z.ZodBoolean>;
486
+ default: z.ZodOptional<z.ZodJSONSchema>;
487
+ type: z.ZodLiteral<"image">;
488
+ }, z.core.$strict>, z.ZodObject<{
489
+ relation: z.ZodString;
490
+ filter: z.ZodOptional<z.ZodArray<z.ZodObject<{
491
+ field: z.ZodString;
492
+ op: z.ZodEnum<{
493
+ "=": "=";
494
+ "!=": "!=";
495
+ "<": "<";
496
+ ">": ">";
497
+ "<=": "<=";
498
+ ">=": ">=";
499
+ in: "in";
500
+ "not in": "not in";
501
+ like: "like";
502
+ ilike: "ilike";
503
+ }>;
504
+ value: z.ZodOptional<z.ZodJSONSchema>;
505
+ valueFrom: z.ZodOptional<z.ZodString>;
506
+ }, z.core.$strict>>>;
507
+ label: z.ZodString;
508
+ help: z.ZodOptional<z.ZodString>;
509
+ required: z.ZodOptional<z.ZodBoolean>;
510
+ readonly: z.ZodOptional<z.ZodBoolean>;
511
+ default: z.ZodOptional<z.ZodJSONSchema>;
512
+ type: z.ZodLiteral<"many2one">;
513
+ }, z.core.$strict>, z.ZodObject<{
514
+ relation: z.ZodString;
515
+ filter: z.ZodOptional<z.ZodArray<z.ZodObject<{
516
+ field: z.ZodString;
517
+ op: z.ZodEnum<{
518
+ "=": "=";
519
+ "!=": "!=";
520
+ "<": "<";
521
+ ">": ">";
522
+ "<=": "<=";
523
+ ">=": ">=";
524
+ in: "in";
525
+ "not in": "not in";
526
+ like: "like";
527
+ ilike: "ilike";
528
+ }>;
529
+ value: z.ZodOptional<z.ZodJSONSchema>;
530
+ valueFrom: z.ZodOptional<z.ZodString>;
531
+ }, z.core.$strict>>>;
532
+ label: z.ZodString;
533
+ help: z.ZodOptional<z.ZodString>;
534
+ required: z.ZodOptional<z.ZodBoolean>;
535
+ readonly: z.ZodOptional<z.ZodBoolean>;
536
+ default: z.ZodOptional<z.ZodJSONSchema>;
537
+ type: z.ZodLiteral<"many2many">;
538
+ }, z.core.$strict>, z.ZodObject<{
539
+ models: z.ZodArray<z.ZodObject<{
540
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
541
+ label: z.ZodString;
542
+ }, z.core.$strict>>;
543
+ label: z.ZodString;
544
+ help: z.ZodOptional<z.ZodString>;
545
+ required: z.ZodOptional<z.ZodBoolean>;
546
+ readonly: z.ZodOptional<z.ZodBoolean>;
547
+ default: z.ZodOptional<z.ZodJSONSchema>;
548
+ type: z.ZodLiteral<"reference">;
549
+ }, z.core.$strict>, z.ZodObject<{
550
+ label: z.ZodString;
551
+ help: z.ZodOptional<z.ZodString>;
552
+ required: z.ZodOptional<z.ZodBoolean>;
553
+ readonly: z.ZodOptional<z.ZodBoolean>;
554
+ default: z.ZodOptional<z.ZodJSONSchema>;
555
+ type: z.ZodLiteral<"properties">;
556
+ }, z.core.$strict>, z.ZodObject<{
557
+ label: z.ZodString;
558
+ help: z.ZodOptional<z.ZodString>;
559
+ required: z.ZodOptional<z.ZodBoolean>;
560
+ readonly: z.ZodOptional<z.ZodBoolean>;
561
+ default: z.ZodOptional<z.ZodJSONSchema>;
562
+ type: z.ZodLiteral<"json">;
563
+ }, z.core.$strict>], "type">>;
564
+ label: z.ZodString;
565
+ help: z.ZodOptional<z.ZodString>;
566
+ required: z.ZodOptional<z.ZodBoolean>;
567
+ readonly: z.ZodOptional<z.ZodBoolean>;
568
+ default: z.ZodOptional<z.ZodJSONSchema>;
569
+ type: z.ZodLiteral<"one2many">;
570
+ }, z.core.$strict>, z.ZodObject<{
571
+ models: z.ZodArray<z.ZodObject<{
572
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
573
+ label: z.ZodString;
574
+ }, z.core.$strict>>;
575
+ label: z.ZodString;
576
+ help: z.ZodOptional<z.ZodString>;
577
+ required: z.ZodOptional<z.ZodBoolean>;
578
+ readonly: z.ZodOptional<z.ZodBoolean>;
579
+ default: z.ZodOptional<z.ZodJSONSchema>;
580
+ type: z.ZodLiteral<"reference">;
581
+ }, z.core.$strict>, z.ZodObject<{
582
+ label: z.ZodString;
583
+ help: z.ZodOptional<z.ZodString>;
584
+ required: z.ZodOptional<z.ZodBoolean>;
585
+ readonly: z.ZodOptional<z.ZodBoolean>;
586
+ default: z.ZodOptional<z.ZodJSONSchema>;
587
+ type: z.ZodLiteral<"properties">;
588
+ }, z.core.$strict>, z.ZodObject<{
589
+ label: z.ZodString;
590
+ help: z.ZodOptional<z.ZodString>;
591
+ required: z.ZodOptional<z.ZodBoolean>;
592
+ readonly: z.ZodOptional<z.ZodBoolean>;
593
+ default: z.ZodOptional<z.ZodJSONSchema>;
594
+ type: z.ZodLiteral<"json">;
595
+ }, z.core.$strict>], "type">;
596
+ export type Field = z.infer<typeof FieldSchema>;
597
+ export declare const FieldsSchema: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
598
+ size: z.ZodOptional<z.ZodInt>;
599
+ pattern: z.ZodOptional<z.ZodString>;
600
+ label: z.ZodString;
601
+ help: z.ZodOptional<z.ZodString>;
602
+ required: z.ZodOptional<z.ZodBoolean>;
603
+ readonly: z.ZodOptional<z.ZodBoolean>;
604
+ default: z.ZodOptional<z.ZodJSONSchema>;
605
+ type: z.ZodLiteral<"char">;
606
+ }, z.core.$strict>, z.ZodObject<{
607
+ size: z.ZodOptional<z.ZodInt>;
608
+ label: z.ZodString;
609
+ help: z.ZodOptional<z.ZodString>;
610
+ required: z.ZodOptional<z.ZodBoolean>;
611
+ readonly: z.ZodOptional<z.ZodBoolean>;
612
+ default: z.ZodOptional<z.ZodJSONSchema>;
613
+ type: z.ZodLiteral<"text">;
614
+ }, z.core.$strict>, z.ZodObject<{
615
+ label: z.ZodString;
616
+ help: z.ZodOptional<z.ZodString>;
617
+ required: z.ZodOptional<z.ZodBoolean>;
618
+ readonly: z.ZodOptional<z.ZodBoolean>;
619
+ default: z.ZodOptional<z.ZodJSONSchema>;
620
+ type: z.ZodLiteral<"html">;
621
+ }, z.core.$strict>, z.ZodObject<{
622
+ min: z.ZodOptional<z.ZodNumber>;
623
+ max: z.ZodOptional<z.ZodNumber>;
624
+ label: z.ZodString;
625
+ help: z.ZodOptional<z.ZodString>;
626
+ required: z.ZodOptional<z.ZodBoolean>;
627
+ readonly: z.ZodOptional<z.ZodBoolean>;
628
+ default: z.ZodOptional<z.ZodJSONSchema>;
629
+ type: z.ZodLiteral<"integer">;
630
+ }, z.core.$strict>, z.ZodObject<{
631
+ min: z.ZodOptional<z.ZodNumber>;
632
+ max: z.ZodOptional<z.ZodNumber>;
633
+ digits: z.ZodOptional<z.ZodTuple<[z.ZodInt, z.ZodInt], null>>;
634
+ label: z.ZodString;
635
+ help: z.ZodOptional<z.ZodString>;
636
+ required: z.ZodOptional<z.ZodBoolean>;
637
+ readonly: z.ZodOptional<z.ZodBoolean>;
638
+ default: z.ZodOptional<z.ZodJSONSchema>;
639
+ type: z.ZodLiteral<"float">;
640
+ }, z.core.$strict>, z.ZodObject<{
641
+ currencyField: z.ZodOptional<z.ZodString>;
642
+ currency: z.ZodOptional<z.ZodString>;
643
+ min: z.ZodOptional<z.ZodNumber>;
644
+ max: z.ZodOptional<z.ZodNumber>;
645
+ digits: z.ZodOptional<z.ZodTuple<[z.ZodInt, z.ZodInt], null>>;
646
+ label: z.ZodString;
647
+ help: z.ZodOptional<z.ZodString>;
648
+ required: z.ZodOptional<z.ZodBoolean>;
649
+ readonly: z.ZodOptional<z.ZodBoolean>;
650
+ default: z.ZodOptional<z.ZodJSONSchema>;
651
+ type: z.ZodLiteral<"monetary">;
652
+ }, z.core.$strict>, z.ZodObject<{
653
+ label: z.ZodString;
654
+ help: z.ZodOptional<z.ZodString>;
655
+ required: z.ZodOptional<z.ZodBoolean>;
656
+ readonly: z.ZodOptional<z.ZodBoolean>;
657
+ default: z.ZodOptional<z.ZodJSONSchema>;
658
+ type: z.ZodLiteral<"boolean">;
659
+ }, z.core.$strict>, z.ZodObject<{
660
+ label: z.ZodString;
661
+ help: z.ZodOptional<z.ZodString>;
662
+ required: z.ZodOptional<z.ZodBoolean>;
663
+ readonly: z.ZodOptional<z.ZodBoolean>;
664
+ default: z.ZodOptional<z.ZodJSONSchema>;
665
+ type: z.ZodLiteral<"date">;
666
+ }, z.core.$strict>, z.ZodObject<{
667
+ label: z.ZodString;
668
+ help: z.ZodOptional<z.ZodString>;
669
+ required: z.ZodOptional<z.ZodBoolean>;
670
+ readonly: z.ZodOptional<z.ZodBoolean>;
671
+ default: z.ZodOptional<z.ZodJSONSchema>;
672
+ type: z.ZodLiteral<"datetime">;
673
+ }, z.core.$strict>, z.ZodObject<{
674
+ options: z.ZodArray<z.ZodObject<{
675
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
676
+ label: z.ZodString;
677
+ }, z.core.$strict>>;
678
+ multiple: z.ZodOptional<z.ZodBoolean>;
679
+ label: z.ZodString;
680
+ help: z.ZodOptional<z.ZodString>;
681
+ required: z.ZodOptional<z.ZodBoolean>;
682
+ readonly: z.ZodOptional<z.ZodBoolean>;
683
+ default: z.ZodOptional<z.ZodJSONSchema>;
684
+ type: z.ZodLiteral<"selection">;
685
+ }, z.core.$strict>, z.ZodObject<{
686
+ accept: z.ZodOptional<z.ZodArray<z.ZodString>>;
687
+ maxSize: z.ZodOptional<z.ZodInt>;
688
+ label: z.ZodString;
689
+ help: z.ZodOptional<z.ZodString>;
690
+ required: z.ZodOptional<z.ZodBoolean>;
691
+ readonly: z.ZodOptional<z.ZodBoolean>;
692
+ default: z.ZodOptional<z.ZodJSONSchema>;
693
+ type: z.ZodLiteral<"binary">;
694
+ }, z.core.$strict>, z.ZodObject<{
695
+ maxSize: z.ZodOptional<z.ZodInt>;
696
+ label: z.ZodString;
697
+ help: z.ZodOptional<z.ZodString>;
698
+ required: z.ZodOptional<z.ZodBoolean>;
699
+ readonly: z.ZodOptional<z.ZodBoolean>;
700
+ default: z.ZodOptional<z.ZodJSONSchema>;
701
+ type: z.ZodLiteral<"image">;
702
+ }, z.core.$strict>, z.ZodObject<{
703
+ relation: z.ZodString;
704
+ filter: z.ZodOptional<z.ZodArray<z.ZodObject<{
705
+ field: z.ZodString;
706
+ op: z.ZodEnum<{
707
+ "=": "=";
708
+ "!=": "!=";
709
+ "<": "<";
710
+ ">": ">";
711
+ "<=": "<=";
712
+ ">=": ">=";
713
+ in: "in";
714
+ "not in": "not in";
715
+ like: "like";
716
+ ilike: "ilike";
717
+ }>;
718
+ value: z.ZodOptional<z.ZodJSONSchema>;
719
+ valueFrom: z.ZodOptional<z.ZodString>;
720
+ }, z.core.$strict>>>;
721
+ label: z.ZodString;
722
+ help: z.ZodOptional<z.ZodString>;
723
+ required: z.ZodOptional<z.ZodBoolean>;
724
+ readonly: z.ZodOptional<z.ZodBoolean>;
725
+ default: z.ZodOptional<z.ZodJSONSchema>;
726
+ type: z.ZodLiteral<"many2one">;
727
+ }, z.core.$strict>, z.ZodObject<{
728
+ relation: z.ZodString;
729
+ filter: z.ZodOptional<z.ZodArray<z.ZodObject<{
730
+ field: z.ZodString;
731
+ op: z.ZodEnum<{
732
+ "=": "=";
733
+ "!=": "!=";
734
+ "<": "<";
735
+ ">": ">";
736
+ "<=": "<=";
737
+ ">=": ">=";
738
+ in: "in";
739
+ "not in": "not in";
740
+ like: "like";
741
+ ilike: "ilike";
742
+ }>;
743
+ value: z.ZodOptional<z.ZodJSONSchema>;
744
+ valueFrom: z.ZodOptional<z.ZodString>;
745
+ }, z.core.$strict>>>;
746
+ label: z.ZodString;
747
+ help: z.ZodOptional<z.ZodString>;
748
+ required: z.ZodOptional<z.ZodBoolean>;
749
+ readonly: z.ZodOptional<z.ZodBoolean>;
750
+ default: z.ZodOptional<z.ZodJSONSchema>;
751
+ type: z.ZodLiteral<"many2many">;
752
+ }, z.core.$strict>, z.ZodObject<{
753
+ relation: z.ZodString;
754
+ fields: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
755
+ size: z.ZodOptional<z.ZodInt>;
756
+ pattern: z.ZodOptional<z.ZodString>;
757
+ label: z.ZodString;
758
+ help: z.ZodOptional<z.ZodString>;
759
+ required: z.ZodOptional<z.ZodBoolean>;
760
+ readonly: z.ZodOptional<z.ZodBoolean>;
761
+ default: z.ZodOptional<z.ZodJSONSchema>;
762
+ type: z.ZodLiteral<"char">;
763
+ }, z.core.$strict>, z.ZodObject<{
764
+ size: z.ZodOptional<z.ZodInt>;
765
+ label: z.ZodString;
766
+ help: z.ZodOptional<z.ZodString>;
767
+ required: z.ZodOptional<z.ZodBoolean>;
768
+ readonly: z.ZodOptional<z.ZodBoolean>;
769
+ default: z.ZodOptional<z.ZodJSONSchema>;
770
+ type: z.ZodLiteral<"text">;
771
+ }, z.core.$strict>, z.ZodObject<{
772
+ label: z.ZodString;
773
+ help: z.ZodOptional<z.ZodString>;
774
+ required: z.ZodOptional<z.ZodBoolean>;
775
+ readonly: z.ZodOptional<z.ZodBoolean>;
776
+ default: z.ZodOptional<z.ZodJSONSchema>;
777
+ type: z.ZodLiteral<"html">;
778
+ }, z.core.$strict>, z.ZodObject<{
779
+ min: z.ZodOptional<z.ZodNumber>;
780
+ max: z.ZodOptional<z.ZodNumber>;
781
+ label: z.ZodString;
782
+ help: z.ZodOptional<z.ZodString>;
783
+ required: z.ZodOptional<z.ZodBoolean>;
784
+ readonly: z.ZodOptional<z.ZodBoolean>;
785
+ default: z.ZodOptional<z.ZodJSONSchema>;
786
+ type: z.ZodLiteral<"integer">;
787
+ }, z.core.$strict>, z.ZodObject<{
788
+ min: z.ZodOptional<z.ZodNumber>;
789
+ max: z.ZodOptional<z.ZodNumber>;
790
+ digits: z.ZodOptional<z.ZodTuple<[z.ZodInt, z.ZodInt], null>>;
791
+ label: z.ZodString;
792
+ help: z.ZodOptional<z.ZodString>;
793
+ required: z.ZodOptional<z.ZodBoolean>;
794
+ readonly: z.ZodOptional<z.ZodBoolean>;
795
+ default: z.ZodOptional<z.ZodJSONSchema>;
796
+ type: z.ZodLiteral<"float">;
797
+ }, z.core.$strict>, z.ZodObject<{
798
+ currencyField: z.ZodOptional<z.ZodString>;
799
+ currency: z.ZodOptional<z.ZodString>;
800
+ min: z.ZodOptional<z.ZodNumber>;
801
+ max: z.ZodOptional<z.ZodNumber>;
802
+ digits: z.ZodOptional<z.ZodTuple<[z.ZodInt, z.ZodInt], null>>;
803
+ label: z.ZodString;
804
+ help: z.ZodOptional<z.ZodString>;
805
+ required: z.ZodOptional<z.ZodBoolean>;
806
+ readonly: z.ZodOptional<z.ZodBoolean>;
807
+ default: z.ZodOptional<z.ZodJSONSchema>;
808
+ type: z.ZodLiteral<"monetary">;
809
+ }, z.core.$strict>, z.ZodObject<{
810
+ label: z.ZodString;
811
+ help: z.ZodOptional<z.ZodString>;
812
+ required: z.ZodOptional<z.ZodBoolean>;
813
+ readonly: z.ZodOptional<z.ZodBoolean>;
814
+ default: z.ZodOptional<z.ZodJSONSchema>;
815
+ type: z.ZodLiteral<"boolean">;
816
+ }, z.core.$strict>, z.ZodObject<{
817
+ label: z.ZodString;
818
+ help: z.ZodOptional<z.ZodString>;
819
+ required: z.ZodOptional<z.ZodBoolean>;
820
+ readonly: z.ZodOptional<z.ZodBoolean>;
821
+ default: z.ZodOptional<z.ZodJSONSchema>;
822
+ type: z.ZodLiteral<"date">;
823
+ }, z.core.$strict>, z.ZodObject<{
824
+ label: z.ZodString;
825
+ help: z.ZodOptional<z.ZodString>;
826
+ required: z.ZodOptional<z.ZodBoolean>;
827
+ readonly: z.ZodOptional<z.ZodBoolean>;
828
+ default: z.ZodOptional<z.ZodJSONSchema>;
829
+ type: z.ZodLiteral<"datetime">;
830
+ }, z.core.$strict>, z.ZodObject<{
831
+ options: z.ZodArray<z.ZodObject<{
832
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
833
+ label: z.ZodString;
834
+ }, z.core.$strict>>;
835
+ multiple: z.ZodOptional<z.ZodBoolean>;
836
+ label: z.ZodString;
837
+ help: z.ZodOptional<z.ZodString>;
838
+ required: z.ZodOptional<z.ZodBoolean>;
839
+ readonly: z.ZodOptional<z.ZodBoolean>;
840
+ default: z.ZodOptional<z.ZodJSONSchema>;
841
+ type: z.ZodLiteral<"selection">;
842
+ }, z.core.$strict>, z.ZodObject<{
843
+ accept: z.ZodOptional<z.ZodArray<z.ZodString>>;
844
+ maxSize: z.ZodOptional<z.ZodInt>;
845
+ label: z.ZodString;
846
+ help: z.ZodOptional<z.ZodString>;
847
+ required: z.ZodOptional<z.ZodBoolean>;
848
+ readonly: z.ZodOptional<z.ZodBoolean>;
849
+ default: z.ZodOptional<z.ZodJSONSchema>;
850
+ type: z.ZodLiteral<"binary">;
851
+ }, z.core.$strict>, z.ZodObject<{
852
+ maxSize: z.ZodOptional<z.ZodInt>;
853
+ label: z.ZodString;
854
+ help: z.ZodOptional<z.ZodString>;
855
+ required: z.ZodOptional<z.ZodBoolean>;
856
+ readonly: z.ZodOptional<z.ZodBoolean>;
857
+ default: z.ZodOptional<z.ZodJSONSchema>;
858
+ type: z.ZodLiteral<"image">;
859
+ }, z.core.$strict>, z.ZodObject<{
860
+ relation: z.ZodString;
861
+ filter: z.ZodOptional<z.ZodArray<z.ZodObject<{
862
+ field: z.ZodString;
863
+ op: z.ZodEnum<{
864
+ "=": "=";
865
+ "!=": "!=";
866
+ "<": "<";
867
+ ">": ">";
868
+ "<=": "<=";
869
+ ">=": ">=";
870
+ in: "in";
871
+ "not in": "not in";
872
+ like: "like";
873
+ ilike: "ilike";
874
+ }>;
875
+ value: z.ZodOptional<z.ZodJSONSchema>;
876
+ valueFrom: z.ZodOptional<z.ZodString>;
877
+ }, z.core.$strict>>>;
878
+ label: z.ZodString;
879
+ help: z.ZodOptional<z.ZodString>;
880
+ required: z.ZodOptional<z.ZodBoolean>;
881
+ readonly: z.ZodOptional<z.ZodBoolean>;
882
+ default: z.ZodOptional<z.ZodJSONSchema>;
883
+ type: z.ZodLiteral<"many2one">;
884
+ }, z.core.$strict>, z.ZodObject<{
885
+ relation: z.ZodString;
886
+ filter: z.ZodOptional<z.ZodArray<z.ZodObject<{
887
+ field: z.ZodString;
888
+ op: z.ZodEnum<{
889
+ "=": "=";
890
+ "!=": "!=";
891
+ "<": "<";
892
+ ">": ">";
893
+ "<=": "<=";
894
+ ">=": ">=";
895
+ in: "in";
896
+ "not in": "not in";
897
+ like: "like";
898
+ ilike: "ilike";
899
+ }>;
900
+ value: z.ZodOptional<z.ZodJSONSchema>;
901
+ valueFrom: z.ZodOptional<z.ZodString>;
902
+ }, z.core.$strict>>>;
903
+ label: z.ZodString;
904
+ help: z.ZodOptional<z.ZodString>;
905
+ required: z.ZodOptional<z.ZodBoolean>;
906
+ readonly: z.ZodOptional<z.ZodBoolean>;
907
+ default: z.ZodOptional<z.ZodJSONSchema>;
908
+ type: z.ZodLiteral<"many2many">;
909
+ }, z.core.$strict>, z.ZodObject<{
910
+ models: z.ZodArray<z.ZodObject<{
911
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
912
+ label: z.ZodString;
913
+ }, z.core.$strict>>;
914
+ label: z.ZodString;
915
+ help: z.ZodOptional<z.ZodString>;
916
+ required: z.ZodOptional<z.ZodBoolean>;
917
+ readonly: z.ZodOptional<z.ZodBoolean>;
918
+ default: z.ZodOptional<z.ZodJSONSchema>;
919
+ type: z.ZodLiteral<"reference">;
920
+ }, z.core.$strict>, z.ZodObject<{
921
+ label: z.ZodString;
922
+ help: z.ZodOptional<z.ZodString>;
923
+ required: z.ZodOptional<z.ZodBoolean>;
924
+ readonly: z.ZodOptional<z.ZodBoolean>;
925
+ default: z.ZodOptional<z.ZodJSONSchema>;
926
+ type: z.ZodLiteral<"properties">;
927
+ }, z.core.$strict>, z.ZodObject<{
928
+ label: z.ZodString;
929
+ help: z.ZodOptional<z.ZodString>;
930
+ required: z.ZodOptional<z.ZodBoolean>;
931
+ readonly: z.ZodOptional<z.ZodBoolean>;
932
+ default: z.ZodOptional<z.ZodJSONSchema>;
933
+ type: z.ZodLiteral<"json">;
934
+ }, z.core.$strict>], "type">>;
935
+ label: z.ZodString;
936
+ help: z.ZodOptional<z.ZodString>;
937
+ required: z.ZodOptional<z.ZodBoolean>;
938
+ readonly: z.ZodOptional<z.ZodBoolean>;
939
+ default: z.ZodOptional<z.ZodJSONSchema>;
940
+ type: z.ZodLiteral<"one2many">;
941
+ }, z.core.$strict>, z.ZodObject<{
942
+ models: z.ZodArray<z.ZodObject<{
943
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
944
+ label: z.ZodString;
945
+ }, z.core.$strict>>;
946
+ label: z.ZodString;
947
+ help: z.ZodOptional<z.ZodString>;
948
+ required: z.ZodOptional<z.ZodBoolean>;
949
+ readonly: z.ZodOptional<z.ZodBoolean>;
950
+ default: z.ZodOptional<z.ZodJSONSchema>;
951
+ type: z.ZodLiteral<"reference">;
952
+ }, z.core.$strict>, z.ZodObject<{
953
+ label: z.ZodString;
954
+ help: z.ZodOptional<z.ZodString>;
955
+ required: z.ZodOptional<z.ZodBoolean>;
956
+ readonly: z.ZodOptional<z.ZodBoolean>;
957
+ default: z.ZodOptional<z.ZodJSONSchema>;
958
+ type: z.ZodLiteral<"properties">;
959
+ }, z.core.$strict>, z.ZodObject<{
960
+ label: z.ZodString;
961
+ help: z.ZodOptional<z.ZodString>;
962
+ required: z.ZodOptional<z.ZodBoolean>;
963
+ readonly: z.ZodOptional<z.ZodBoolean>;
964
+ default: z.ZodOptional<z.ZodJSONSchema>;
965
+ type: z.ZodLiteral<"json">;
966
+ }, z.core.$strict>], "type">>;
967
+ export type Fields = z.infer<typeof FieldsSchema>;