@viyv/agent-ui-schema 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 (75) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/.turbo/turbo-test.log +16 -0
  3. package/.turbo/turbo-typecheck.log +4 -0
  4. package/dist/__tests__/expression.test.d.ts +2 -0
  5. package/dist/__tests__/expression.test.d.ts.map +1 -0
  6. package/dist/__tests__/expression.test.js +77 -0
  7. package/dist/__tests__/expression.test.js.map +1 -0
  8. package/dist/__tests__/page-spec.test.d.ts +2 -0
  9. package/dist/__tests__/page-spec.test.d.ts.map +1 -0
  10. package/dist/__tests__/page-spec.test.js +223 -0
  11. package/dist/__tests__/page-spec.test.js.map +1 -0
  12. package/dist/__tests__/validator.test.d.ts +2 -0
  13. package/dist/__tests__/validator.test.d.ts.map +1 -0
  14. package/dist/__tests__/validator.test.js +177 -0
  15. package/dist/__tests__/validator.test.js.map +1 -0
  16. package/dist/action-def.d.ts +227 -0
  17. package/dist/action-def.d.ts.map +1 -0
  18. package/dist/action-def.js +54 -0
  19. package/dist/action-def.js.map +1 -0
  20. package/dist/catalog.d.ts +16 -0
  21. package/dist/catalog.d.ts.map +1 -0
  22. package/dist/catalog.js +8 -0
  23. package/dist/catalog.js.map +1 -0
  24. package/dist/data-source.d.ts +195 -0
  25. package/dist/data-source.d.ts.map +1 -0
  26. package/dist/data-source.js +28 -0
  27. package/dist/data-source.js.map +1 -0
  28. package/dist/element-def.d.ts +37 -0
  29. package/dist/element-def.d.ts.map +1 -0
  30. package/dist/element-def.js +13 -0
  31. package/dist/element-def.js.map +1 -0
  32. package/dist/expression.d.ts +28 -0
  33. package/dist/expression.d.ts.map +1 -0
  34. package/dist/expression.js +56 -0
  35. package/dist/expression.js.map +1 -0
  36. package/dist/hook-def.d.ts +456 -0
  37. package/dist/hook-def.d.ts.map +1 -0
  38. package/dist/hook-def.js +67 -0
  39. package/dist/hook-def.js.map +1 -0
  40. package/dist/index.d.ts +20 -0
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +19 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/page-spec.d.ts +684 -0
  45. package/dist/page-spec.d.ts.map +1 -0
  46. package/dist/page-spec.js +34 -0
  47. package/dist/page-spec.js.map +1 -0
  48. package/dist/page-store.d.ts +20 -0
  49. package/dist/page-store.d.ts.map +1 -0
  50. package/dist/page-store.js +2 -0
  51. package/dist/page-store.js.map +1 -0
  52. package/dist/patch.d.ts +144 -0
  53. package/dist/patch.d.ts.map +1 -0
  54. package/dist/patch.js +23 -0
  55. package/dist/patch.js.map +1 -0
  56. package/dist/validator.d.ts +13 -0
  57. package/dist/validator.d.ts.map +1 -0
  58. package/dist/validator.js +286 -0
  59. package/dist/validator.js.map +1 -0
  60. package/package.json +27 -0
  61. package/src/__tests__/expression.test.ts +93 -0
  62. package/src/__tests__/page-spec.test.ts +242 -0
  63. package/src/__tests__/validator.test.ts +189 -0
  64. package/src/action-def.ts +63 -0
  65. package/src/catalog.ts +24 -0
  66. package/src/data-source.ts +46 -0
  67. package/src/element-def.ts +17 -0
  68. package/src/expression.ts +77 -0
  69. package/src/hook-def.ts +79 -0
  70. package/src/index.ts +72 -0
  71. package/src/page-spec.ts +42 -0
  72. package/src/page-store.ts +18 -0
  73. package/src/patch.ts +28 -0
  74. package/src/validator.ts +347 -0
  75. package/tsconfig.json +8 -0
@@ -0,0 +1,684 @@
1
+ import { z } from 'zod';
2
+ export declare const ParamDefSchema: z.ZodObject<{
3
+ type: z.ZodDefault<z.ZodEnum<["string", "number"]>>;
4
+ default: z.ZodOptional<z.ZodUnknown>;
5
+ description: z.ZodOptional<z.ZodString>;
6
+ }, "strip", z.ZodTypeAny, {
7
+ type: "string" | "number";
8
+ description?: string | undefined;
9
+ default?: unknown;
10
+ }, {
11
+ type?: "string" | "number" | undefined;
12
+ description?: string | undefined;
13
+ default?: unknown;
14
+ }>;
15
+ export declare const ThemeSchema: z.ZodObject<{
16
+ colorScheme: z.ZodDefault<z.ZodEnum<["light", "dark", "auto"]>>;
17
+ accentColor: z.ZodOptional<z.ZodString>;
18
+ spacing: z.ZodDefault<z.ZodEnum<["compact", "default", "relaxed"]>>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ colorScheme: "light" | "dark" | "auto";
21
+ spacing: "default" | "compact" | "relaxed";
22
+ accentColor?: string | undefined;
23
+ }, {
24
+ colorScheme?: "light" | "dark" | "auto" | undefined;
25
+ accentColor?: string | undefined;
26
+ spacing?: "default" | "compact" | "relaxed" | undefined;
27
+ }>;
28
+ export declare const PageMetaSchema: z.ZodObject<{
29
+ createdAt: z.ZodOptional<z.ZodString>;
30
+ updatedAt: z.ZodOptional<z.ZodString>;
31
+ createdBy: z.ZodOptional<z.ZodString>;
32
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ createdAt?: string | undefined;
35
+ updatedAt?: string | undefined;
36
+ createdBy?: string | undefined;
37
+ tags?: string[] | undefined;
38
+ }, {
39
+ createdAt?: string | undefined;
40
+ updatedAt?: string | undefined;
41
+ createdBy?: string | undefined;
42
+ tags?: string[] | undefined;
43
+ }>;
44
+ export declare const PageSpecSchema: z.ZodObject<{
45
+ id: z.ZodString;
46
+ title: z.ZodString;
47
+ description: z.ZodOptional<z.ZodString>;
48
+ hooks: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<"use", [z.ZodObject<{
49
+ use: z.ZodLiteral<"useState">;
50
+ params: z.ZodObject<{
51
+ initial: z.ZodUnknown;
52
+ }, "strip", z.ZodTypeAny, {
53
+ initial?: unknown;
54
+ }, {
55
+ initial?: unknown;
56
+ }>;
57
+ }, "strip", z.ZodTypeAny, {
58
+ params: {
59
+ initial?: unknown;
60
+ };
61
+ use: "useState";
62
+ }, {
63
+ params: {
64
+ initial?: unknown;
65
+ };
66
+ use: "useState";
67
+ }>, z.ZodObject<{
68
+ use: z.ZodLiteral<"useDerived">;
69
+ from: z.ZodString;
70
+ params: z.ZodObject<{
71
+ sort: z.ZodOptional<z.ZodObject<{
72
+ key: z.ZodString;
73
+ order: z.ZodDefault<z.ZodEnum<["asc", "desc"]>>;
74
+ }, "strip", z.ZodTypeAny, {
75
+ key: string;
76
+ order: "asc" | "desc";
77
+ }, {
78
+ key: string;
79
+ order?: "asc" | "desc" | undefined;
80
+ }>>;
81
+ filter: z.ZodOptional<z.ZodObject<{
82
+ key: z.ZodString;
83
+ match: z.ZodUnknown;
84
+ }, "strip", z.ZodTypeAny, {
85
+ key: string;
86
+ match?: unknown;
87
+ }, {
88
+ key: string;
89
+ match?: unknown;
90
+ }>>;
91
+ limit: z.ZodOptional<z.ZodNumber>;
92
+ groupBy: z.ZodOptional<z.ZodString>;
93
+ aggregate: z.ZodOptional<z.ZodObject<{
94
+ fn: z.ZodEnum<["sum", "avg", "count", "min", "max"]>;
95
+ key: z.ZodString;
96
+ }, "strip", z.ZodTypeAny, {
97
+ key: string;
98
+ fn: "sum" | "avg" | "count" | "min" | "max";
99
+ }, {
100
+ key: string;
101
+ fn: "sum" | "avg" | "count" | "min" | "max";
102
+ }>>;
103
+ }, "strip", z.ZodTypeAny, {
104
+ sort?: {
105
+ key: string;
106
+ order: "asc" | "desc";
107
+ } | undefined;
108
+ filter?: {
109
+ key: string;
110
+ match?: unknown;
111
+ } | undefined;
112
+ limit?: number | undefined;
113
+ groupBy?: string | undefined;
114
+ aggregate?: {
115
+ key: string;
116
+ fn: "sum" | "avg" | "count" | "min" | "max";
117
+ } | undefined;
118
+ }, {
119
+ sort?: {
120
+ key: string;
121
+ order?: "asc" | "desc" | undefined;
122
+ } | undefined;
123
+ filter?: {
124
+ key: string;
125
+ match?: unknown;
126
+ } | undefined;
127
+ limit?: number | undefined;
128
+ groupBy?: string | undefined;
129
+ aggregate?: {
130
+ key: string;
131
+ fn: "sum" | "avg" | "count" | "min" | "max";
132
+ } | undefined;
133
+ }>;
134
+ }, "strip", z.ZodTypeAny, {
135
+ params: {
136
+ sort?: {
137
+ key: string;
138
+ order: "asc" | "desc";
139
+ } | undefined;
140
+ filter?: {
141
+ key: string;
142
+ match?: unknown;
143
+ } | undefined;
144
+ limit?: number | undefined;
145
+ groupBy?: string | undefined;
146
+ aggregate?: {
147
+ key: string;
148
+ fn: "sum" | "avg" | "count" | "min" | "max";
149
+ } | undefined;
150
+ };
151
+ use: "useDerived";
152
+ from: string;
153
+ }, {
154
+ params: {
155
+ sort?: {
156
+ key: string;
157
+ order?: "asc" | "desc" | undefined;
158
+ } | undefined;
159
+ filter?: {
160
+ key: string;
161
+ match?: unknown;
162
+ } | undefined;
163
+ limit?: number | undefined;
164
+ groupBy?: string | undefined;
165
+ aggregate?: {
166
+ key: string;
167
+ fn: "sum" | "avg" | "count" | "min" | "max";
168
+ } | undefined;
169
+ };
170
+ use: "useDerived";
171
+ from: string;
172
+ }>, z.ZodObject<{
173
+ use: z.ZodLiteral<"useFetch">;
174
+ params: z.ZodObject<{
175
+ url: z.ZodString;
176
+ method: z.ZodDefault<z.ZodEnum<["GET", "POST"]>>;
177
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
178
+ body: z.ZodOptional<z.ZodUnknown>;
179
+ refreshInterval: z.ZodOptional<z.ZodNumber>;
180
+ }, "strip", z.ZodTypeAny, {
181
+ url: string;
182
+ method: "POST" | "GET";
183
+ headers?: Record<string, string> | undefined;
184
+ body?: unknown;
185
+ refreshInterval?: number | undefined;
186
+ }, {
187
+ url: string;
188
+ method?: "POST" | "GET" | undefined;
189
+ headers?: Record<string, string> | undefined;
190
+ body?: unknown;
191
+ refreshInterval?: number | undefined;
192
+ }>;
193
+ }, "strip", z.ZodTypeAny, {
194
+ params: {
195
+ url: string;
196
+ method: "POST" | "GET";
197
+ headers?: Record<string, string> | undefined;
198
+ body?: unknown;
199
+ refreshInterval?: number | undefined;
200
+ };
201
+ use: "useFetch";
202
+ }, {
203
+ params: {
204
+ url: string;
205
+ method?: "POST" | "GET" | undefined;
206
+ headers?: Record<string, string> | undefined;
207
+ body?: unknown;
208
+ refreshInterval?: number | undefined;
209
+ };
210
+ use: "useFetch";
211
+ }>, z.ZodObject<{
212
+ use: z.ZodLiteral<"useSqlQuery">;
213
+ params: z.ZodObject<{
214
+ connection: z.ZodString;
215
+ query: z.ZodString;
216
+ refreshInterval: z.ZodOptional<z.ZodNumber>;
217
+ }, "strip", z.ZodTypeAny, {
218
+ connection: string;
219
+ query: string;
220
+ refreshInterval?: number | undefined;
221
+ }, {
222
+ connection: string;
223
+ query: string;
224
+ refreshInterval?: number | undefined;
225
+ }>;
226
+ }, "strip", z.ZodTypeAny, {
227
+ params: {
228
+ connection: string;
229
+ query: string;
230
+ refreshInterval?: number | undefined;
231
+ };
232
+ use: "useSqlQuery";
233
+ }, {
234
+ params: {
235
+ connection: string;
236
+ query: string;
237
+ refreshInterval?: number | undefined;
238
+ };
239
+ use: "useSqlQuery";
240
+ }>, z.ZodObject<{
241
+ use: z.ZodLiteral<"useAgentQuery">;
242
+ params: z.ZodObject<{
243
+ endpoint: z.ZodString;
244
+ query: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
245
+ refreshInterval: z.ZodOptional<z.ZodNumber>;
246
+ }, "strip", z.ZodTypeAny, {
247
+ endpoint: string;
248
+ refreshInterval?: number | undefined;
249
+ query?: Record<string, unknown> | undefined;
250
+ }, {
251
+ endpoint: string;
252
+ refreshInterval?: number | undefined;
253
+ query?: Record<string, unknown> | undefined;
254
+ }>;
255
+ }, "strip", z.ZodTypeAny, {
256
+ params: {
257
+ endpoint: string;
258
+ refreshInterval?: number | undefined;
259
+ query?: Record<string, unknown> | undefined;
260
+ };
261
+ use: "useAgentQuery";
262
+ }, {
263
+ params: {
264
+ endpoint: string;
265
+ refreshInterval?: number | undefined;
266
+ query?: Record<string, unknown> | undefined;
267
+ };
268
+ use: "useAgentQuery";
269
+ }>]>>>;
270
+ root: z.ZodString;
271
+ elements: z.ZodRecord<z.ZodString, z.ZodObject<{
272
+ type: z.ZodString;
273
+ props: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
274
+ children: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
275
+ visible: z.ZodOptional<z.ZodObject<{
276
+ expr: z.ZodString;
277
+ }, "strip", z.ZodTypeAny, {
278
+ expr: string;
279
+ }, {
280
+ expr: string;
281
+ }>>;
282
+ }, "strip", z.ZodTypeAny, {
283
+ type: string;
284
+ props: Record<string, unknown>;
285
+ children?: string[] | undefined;
286
+ visible?: {
287
+ expr: string;
288
+ } | undefined;
289
+ }, {
290
+ type: string;
291
+ props?: Record<string, unknown> | undefined;
292
+ children?: string[] | undefined;
293
+ visible?: {
294
+ expr: string;
295
+ } | undefined;
296
+ }>>;
297
+ state: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
298
+ actions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
299
+ type: z.ZodLiteral<"setState">;
300
+ key: z.ZodString;
301
+ value: z.ZodOptional<z.ZodUnknown>;
302
+ onComplete: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
303
+ }, "strip", z.ZodTypeAny, {
304
+ type: "setState";
305
+ key: string;
306
+ value?: unknown;
307
+ onComplete?: Record<string, unknown> | undefined;
308
+ }, {
309
+ type: "setState";
310
+ key: string;
311
+ value?: unknown;
312
+ onComplete?: Record<string, unknown> | undefined;
313
+ }>, z.ZodObject<{
314
+ type: z.ZodLiteral<"refreshHook">;
315
+ hookId: z.ZodString;
316
+ }, "strip", z.ZodTypeAny, {
317
+ type: "refreshHook";
318
+ hookId: string;
319
+ }, {
320
+ type: "refreshHook";
321
+ hookId: string;
322
+ }>, z.ZodObject<{
323
+ type: z.ZodLiteral<"navigate">;
324
+ url: z.ZodString;
325
+ }, "strip", z.ZodTypeAny, {
326
+ type: "navigate";
327
+ url: string;
328
+ }, {
329
+ type: "navigate";
330
+ url: string;
331
+ }>, z.ZodObject<{
332
+ type: z.ZodLiteral<"submitForm">;
333
+ url: z.ZodString;
334
+ method: z.ZodDefault<z.ZodEnum<["POST", "PUT", "PATCH"]>>;
335
+ stateKey: z.ZodOptional<z.ZodString>;
336
+ onComplete: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
337
+ }, "strip", z.ZodTypeAny, {
338
+ type: "submitForm";
339
+ url: string;
340
+ method: "POST" | "PUT" | "PATCH";
341
+ onComplete?: Record<string, unknown> | undefined;
342
+ stateKey?: string | undefined;
343
+ }, {
344
+ type: "submitForm";
345
+ url: string;
346
+ onComplete?: Record<string, unknown> | undefined;
347
+ method?: "POST" | "PUT" | "PATCH" | undefined;
348
+ stateKey?: string | undefined;
349
+ }>, z.ZodObject<{
350
+ type: z.ZodLiteral<"addItem">;
351
+ hookId: z.ZodString;
352
+ stateKey: z.ZodString;
353
+ idField: z.ZodOptional<z.ZodString>;
354
+ idPrefix: z.ZodOptional<z.ZodString>;
355
+ onComplete: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
356
+ }, "strip", z.ZodTypeAny, {
357
+ type: "addItem";
358
+ hookId: string;
359
+ stateKey: string;
360
+ onComplete?: Record<string, unknown> | undefined;
361
+ idField?: string | undefined;
362
+ idPrefix?: string | undefined;
363
+ }, {
364
+ type: "addItem";
365
+ hookId: string;
366
+ stateKey: string;
367
+ onComplete?: Record<string, unknown> | undefined;
368
+ idField?: string | undefined;
369
+ idPrefix?: string | undefined;
370
+ }>, z.ZodObject<{
371
+ type: z.ZodLiteral<"removeItem">;
372
+ hookId: z.ZodString;
373
+ key: z.ZodString;
374
+ stateKey: z.ZodString;
375
+ onComplete: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
376
+ }, "strip", z.ZodTypeAny, {
377
+ type: "removeItem";
378
+ key: string;
379
+ hookId: string;
380
+ stateKey: string;
381
+ onComplete?: Record<string, unknown> | undefined;
382
+ }, {
383
+ type: "removeItem";
384
+ key: string;
385
+ hookId: string;
386
+ stateKey: string;
387
+ onComplete?: Record<string, unknown> | undefined;
388
+ }>, z.ZodObject<{
389
+ type: z.ZodLiteral<"updateItem">;
390
+ hookId: z.ZodString;
391
+ key: z.ZodString;
392
+ stateKey: z.ZodString;
393
+ onComplete: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
394
+ }, "strip", z.ZodTypeAny, {
395
+ type: "updateItem";
396
+ key: string;
397
+ hookId: string;
398
+ stateKey: string;
399
+ onComplete?: Record<string, unknown> | undefined;
400
+ }, {
401
+ type: "updateItem";
402
+ key: string;
403
+ hookId: string;
404
+ stateKey: string;
405
+ onComplete?: Record<string, unknown> | undefined;
406
+ }>]>>>;
407
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
408
+ type: z.ZodDefault<z.ZodEnum<["string", "number"]>>;
409
+ default: z.ZodOptional<z.ZodUnknown>;
410
+ description: z.ZodOptional<z.ZodString>;
411
+ }, "strip", z.ZodTypeAny, {
412
+ type: "string" | "number";
413
+ description?: string | undefined;
414
+ default?: unknown;
415
+ }, {
416
+ type?: "string" | "number" | undefined;
417
+ description?: string | undefined;
418
+ default?: unknown;
419
+ }>>>;
420
+ theme: z.ZodOptional<z.ZodObject<{
421
+ colorScheme: z.ZodDefault<z.ZodEnum<["light", "dark", "auto"]>>;
422
+ accentColor: z.ZodOptional<z.ZodString>;
423
+ spacing: z.ZodDefault<z.ZodEnum<["compact", "default", "relaxed"]>>;
424
+ }, "strip", z.ZodTypeAny, {
425
+ colorScheme: "light" | "dark" | "auto";
426
+ spacing: "default" | "compact" | "relaxed";
427
+ accentColor?: string | undefined;
428
+ }, {
429
+ colorScheme?: "light" | "dark" | "auto" | undefined;
430
+ accentColor?: string | undefined;
431
+ spacing?: "default" | "compact" | "relaxed" | undefined;
432
+ }>>;
433
+ meta: z.ZodOptional<z.ZodObject<{
434
+ createdAt: z.ZodOptional<z.ZodString>;
435
+ updatedAt: z.ZodOptional<z.ZodString>;
436
+ createdBy: z.ZodOptional<z.ZodString>;
437
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
438
+ }, "strip", z.ZodTypeAny, {
439
+ createdAt?: string | undefined;
440
+ updatedAt?: string | undefined;
441
+ createdBy?: string | undefined;
442
+ tags?: string[] | undefined;
443
+ }, {
444
+ createdAt?: string | undefined;
445
+ updatedAt?: string | undefined;
446
+ createdBy?: string | undefined;
447
+ tags?: string[] | undefined;
448
+ }>>;
449
+ }, "strip", z.ZodTypeAny, {
450
+ id: string;
451
+ state: Record<string, unknown>;
452
+ title: string;
453
+ hooks: Record<string, {
454
+ params: {
455
+ initial?: unknown;
456
+ };
457
+ use: "useState";
458
+ } | {
459
+ params: {
460
+ sort?: {
461
+ key: string;
462
+ order: "asc" | "desc";
463
+ } | undefined;
464
+ filter?: {
465
+ key: string;
466
+ match?: unknown;
467
+ } | undefined;
468
+ limit?: number | undefined;
469
+ groupBy?: string | undefined;
470
+ aggregate?: {
471
+ key: string;
472
+ fn: "sum" | "avg" | "count" | "min" | "max";
473
+ } | undefined;
474
+ };
475
+ use: "useDerived";
476
+ from: string;
477
+ } | {
478
+ params: {
479
+ url: string;
480
+ method: "POST" | "GET";
481
+ headers?: Record<string, string> | undefined;
482
+ body?: unknown;
483
+ refreshInterval?: number | undefined;
484
+ };
485
+ use: "useFetch";
486
+ } | {
487
+ params: {
488
+ connection: string;
489
+ query: string;
490
+ refreshInterval?: number | undefined;
491
+ };
492
+ use: "useSqlQuery";
493
+ } | {
494
+ params: {
495
+ endpoint: string;
496
+ refreshInterval?: number | undefined;
497
+ query?: Record<string, unknown> | undefined;
498
+ };
499
+ use: "useAgentQuery";
500
+ }>;
501
+ root: string;
502
+ elements: Record<string, {
503
+ type: string;
504
+ props: Record<string, unknown>;
505
+ children?: string[] | undefined;
506
+ visible?: {
507
+ expr: string;
508
+ } | undefined;
509
+ }>;
510
+ actions: Record<string, {
511
+ type: "setState";
512
+ key: string;
513
+ value?: unknown;
514
+ onComplete?: Record<string, unknown> | undefined;
515
+ } | {
516
+ type: "refreshHook";
517
+ hookId: string;
518
+ } | {
519
+ type: "navigate";
520
+ url: string;
521
+ } | {
522
+ type: "submitForm";
523
+ url: string;
524
+ method: "POST" | "PUT" | "PATCH";
525
+ onComplete?: Record<string, unknown> | undefined;
526
+ stateKey?: string | undefined;
527
+ } | {
528
+ type: "addItem";
529
+ hookId: string;
530
+ stateKey: string;
531
+ onComplete?: Record<string, unknown> | undefined;
532
+ idField?: string | undefined;
533
+ idPrefix?: string | undefined;
534
+ } | {
535
+ type: "removeItem";
536
+ key: string;
537
+ hookId: string;
538
+ stateKey: string;
539
+ onComplete?: Record<string, unknown> | undefined;
540
+ } | {
541
+ type: "updateItem";
542
+ key: string;
543
+ hookId: string;
544
+ stateKey: string;
545
+ onComplete?: Record<string, unknown> | undefined;
546
+ }>;
547
+ params?: Record<string, {
548
+ type: "string" | "number";
549
+ description?: string | undefined;
550
+ default?: unknown;
551
+ }> | undefined;
552
+ description?: string | undefined;
553
+ theme?: {
554
+ colorScheme: "light" | "dark" | "auto";
555
+ spacing: "default" | "compact" | "relaxed";
556
+ accentColor?: string | undefined;
557
+ } | undefined;
558
+ meta?: {
559
+ createdAt?: string | undefined;
560
+ updatedAt?: string | undefined;
561
+ createdBy?: string | undefined;
562
+ tags?: string[] | undefined;
563
+ } | undefined;
564
+ }, {
565
+ id: string;
566
+ title: string;
567
+ root: string;
568
+ elements: Record<string, {
569
+ type: string;
570
+ props?: Record<string, unknown> | undefined;
571
+ children?: string[] | undefined;
572
+ visible?: {
573
+ expr: string;
574
+ } | undefined;
575
+ }>;
576
+ params?: Record<string, {
577
+ type?: "string" | "number" | undefined;
578
+ description?: string | undefined;
579
+ default?: unknown;
580
+ }> | undefined;
581
+ description?: string | undefined;
582
+ state?: Record<string, unknown> | undefined;
583
+ hooks?: Record<string, {
584
+ params: {
585
+ initial?: unknown;
586
+ };
587
+ use: "useState";
588
+ } | {
589
+ params: {
590
+ sort?: {
591
+ key: string;
592
+ order?: "asc" | "desc" | undefined;
593
+ } | undefined;
594
+ filter?: {
595
+ key: string;
596
+ match?: unknown;
597
+ } | undefined;
598
+ limit?: number | undefined;
599
+ groupBy?: string | undefined;
600
+ aggregate?: {
601
+ key: string;
602
+ fn: "sum" | "avg" | "count" | "min" | "max";
603
+ } | undefined;
604
+ };
605
+ use: "useDerived";
606
+ from: string;
607
+ } | {
608
+ params: {
609
+ url: string;
610
+ method?: "POST" | "GET" | undefined;
611
+ headers?: Record<string, string> | undefined;
612
+ body?: unknown;
613
+ refreshInterval?: number | undefined;
614
+ };
615
+ use: "useFetch";
616
+ } | {
617
+ params: {
618
+ connection: string;
619
+ query: string;
620
+ refreshInterval?: number | undefined;
621
+ };
622
+ use: "useSqlQuery";
623
+ } | {
624
+ params: {
625
+ endpoint: string;
626
+ refreshInterval?: number | undefined;
627
+ query?: Record<string, unknown> | undefined;
628
+ };
629
+ use: "useAgentQuery";
630
+ }> | undefined;
631
+ actions?: Record<string, {
632
+ type: "setState";
633
+ key: string;
634
+ value?: unknown;
635
+ onComplete?: Record<string, unknown> | undefined;
636
+ } | {
637
+ type: "refreshHook";
638
+ hookId: string;
639
+ } | {
640
+ type: "navigate";
641
+ url: string;
642
+ } | {
643
+ type: "submitForm";
644
+ url: string;
645
+ onComplete?: Record<string, unknown> | undefined;
646
+ method?: "POST" | "PUT" | "PATCH" | undefined;
647
+ stateKey?: string | undefined;
648
+ } | {
649
+ type: "addItem";
650
+ hookId: string;
651
+ stateKey: string;
652
+ onComplete?: Record<string, unknown> | undefined;
653
+ idField?: string | undefined;
654
+ idPrefix?: string | undefined;
655
+ } | {
656
+ type: "removeItem";
657
+ key: string;
658
+ hookId: string;
659
+ stateKey: string;
660
+ onComplete?: Record<string, unknown> | undefined;
661
+ } | {
662
+ type: "updateItem";
663
+ key: string;
664
+ hookId: string;
665
+ stateKey: string;
666
+ onComplete?: Record<string, unknown> | undefined;
667
+ }> | undefined;
668
+ theme?: {
669
+ colorScheme?: "light" | "dark" | "auto" | undefined;
670
+ accentColor?: string | undefined;
671
+ spacing?: "default" | "compact" | "relaxed" | undefined;
672
+ } | undefined;
673
+ meta?: {
674
+ createdAt?: string | undefined;
675
+ updatedAt?: string | undefined;
676
+ createdBy?: string | undefined;
677
+ tags?: string[] | undefined;
678
+ } | undefined;
679
+ }>;
680
+ export type PageSpec = z.infer<typeof PageSpecSchema>;
681
+ export type ParamDef = z.infer<typeof ParamDefSchema>;
682
+ export type Theme = z.infer<typeof ThemeSchema>;
683
+ export type PageMeta = z.infer<typeof PageMetaSchema>;
684
+ //# sourceMappingURL=page-spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-spec.d.ts","sourceRoot":"","sources":["../src/page-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,cAAc;;;;;;;;;;;;EAIzB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;EAItB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;EAKzB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAChD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}