@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,227 @@
1
+ import { z } from 'zod';
2
+ export declare const SetStateActionSchema: z.ZodObject<{
3
+ type: z.ZodLiteral<"setState">;
4
+ key: z.ZodString;
5
+ value: z.ZodOptional<z.ZodUnknown>;
6
+ onComplete: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ type: "setState";
9
+ key: string;
10
+ value?: unknown;
11
+ onComplete?: Record<string, unknown> | undefined;
12
+ }, {
13
+ type: "setState";
14
+ key: string;
15
+ value?: unknown;
16
+ onComplete?: Record<string, unknown> | undefined;
17
+ }>;
18
+ export declare const RefreshHookActionSchema: z.ZodObject<{
19
+ type: z.ZodLiteral<"refreshHook">;
20
+ hookId: z.ZodString;
21
+ }, "strip", z.ZodTypeAny, {
22
+ type: "refreshHook";
23
+ hookId: string;
24
+ }, {
25
+ type: "refreshHook";
26
+ hookId: string;
27
+ }>;
28
+ export declare const NavigateActionSchema: z.ZodObject<{
29
+ type: z.ZodLiteral<"navigate">;
30
+ url: z.ZodString;
31
+ }, "strip", z.ZodTypeAny, {
32
+ type: "navigate";
33
+ url: string;
34
+ }, {
35
+ type: "navigate";
36
+ url: string;
37
+ }>;
38
+ export declare const SubmitFormActionSchema: z.ZodObject<{
39
+ type: z.ZodLiteral<"submitForm">;
40
+ url: z.ZodString;
41
+ method: z.ZodDefault<z.ZodEnum<["POST", "PUT", "PATCH"]>>;
42
+ stateKey: z.ZodOptional<z.ZodString>;
43
+ onComplete: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
44
+ }, "strip", z.ZodTypeAny, {
45
+ type: "submitForm";
46
+ url: string;
47
+ method: "POST" | "PUT" | "PATCH";
48
+ onComplete?: Record<string, unknown> | undefined;
49
+ stateKey?: string | undefined;
50
+ }, {
51
+ type: "submitForm";
52
+ url: string;
53
+ onComplete?: Record<string, unknown> | undefined;
54
+ method?: "POST" | "PUT" | "PATCH" | undefined;
55
+ stateKey?: string | undefined;
56
+ }>;
57
+ export declare const AddItemActionSchema: z.ZodObject<{
58
+ type: z.ZodLiteral<"addItem">;
59
+ hookId: z.ZodString;
60
+ stateKey: z.ZodString;
61
+ idField: z.ZodOptional<z.ZodString>;
62
+ idPrefix: z.ZodOptional<z.ZodString>;
63
+ onComplete: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
64
+ }, "strip", z.ZodTypeAny, {
65
+ type: "addItem";
66
+ hookId: string;
67
+ stateKey: string;
68
+ onComplete?: Record<string, unknown> | undefined;
69
+ idField?: string | undefined;
70
+ idPrefix?: string | undefined;
71
+ }, {
72
+ type: "addItem";
73
+ hookId: string;
74
+ stateKey: string;
75
+ onComplete?: Record<string, unknown> | undefined;
76
+ idField?: string | undefined;
77
+ idPrefix?: string | undefined;
78
+ }>;
79
+ export declare const RemoveItemActionSchema: z.ZodObject<{
80
+ type: z.ZodLiteral<"removeItem">;
81
+ hookId: z.ZodString;
82
+ key: z.ZodString;
83
+ stateKey: z.ZodString;
84
+ onComplete: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
85
+ }, "strip", z.ZodTypeAny, {
86
+ type: "removeItem";
87
+ key: string;
88
+ hookId: string;
89
+ stateKey: string;
90
+ onComplete?: Record<string, unknown> | undefined;
91
+ }, {
92
+ type: "removeItem";
93
+ key: string;
94
+ hookId: string;
95
+ stateKey: string;
96
+ onComplete?: Record<string, unknown> | undefined;
97
+ }>;
98
+ export declare const UpdateItemActionSchema: z.ZodObject<{
99
+ type: z.ZodLiteral<"updateItem">;
100
+ hookId: z.ZodString;
101
+ key: z.ZodString;
102
+ stateKey: z.ZodString;
103
+ onComplete: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
104
+ }, "strip", z.ZodTypeAny, {
105
+ type: "updateItem";
106
+ key: string;
107
+ hookId: string;
108
+ stateKey: string;
109
+ onComplete?: Record<string, unknown> | undefined;
110
+ }, {
111
+ type: "updateItem";
112
+ key: string;
113
+ hookId: string;
114
+ stateKey: string;
115
+ onComplete?: Record<string, unknown> | undefined;
116
+ }>;
117
+ export declare const ActionDefSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
118
+ type: z.ZodLiteral<"setState">;
119
+ key: z.ZodString;
120
+ value: z.ZodOptional<z.ZodUnknown>;
121
+ onComplete: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
122
+ }, "strip", z.ZodTypeAny, {
123
+ type: "setState";
124
+ key: string;
125
+ value?: unknown;
126
+ onComplete?: Record<string, unknown> | undefined;
127
+ }, {
128
+ type: "setState";
129
+ key: string;
130
+ value?: unknown;
131
+ onComplete?: Record<string, unknown> | undefined;
132
+ }>, z.ZodObject<{
133
+ type: z.ZodLiteral<"refreshHook">;
134
+ hookId: z.ZodString;
135
+ }, "strip", z.ZodTypeAny, {
136
+ type: "refreshHook";
137
+ hookId: string;
138
+ }, {
139
+ type: "refreshHook";
140
+ hookId: string;
141
+ }>, z.ZodObject<{
142
+ type: z.ZodLiteral<"navigate">;
143
+ url: z.ZodString;
144
+ }, "strip", z.ZodTypeAny, {
145
+ type: "navigate";
146
+ url: string;
147
+ }, {
148
+ type: "navigate";
149
+ url: string;
150
+ }>, z.ZodObject<{
151
+ type: z.ZodLiteral<"submitForm">;
152
+ url: z.ZodString;
153
+ method: z.ZodDefault<z.ZodEnum<["POST", "PUT", "PATCH"]>>;
154
+ stateKey: z.ZodOptional<z.ZodString>;
155
+ onComplete: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
156
+ }, "strip", z.ZodTypeAny, {
157
+ type: "submitForm";
158
+ url: string;
159
+ method: "POST" | "PUT" | "PATCH";
160
+ onComplete?: Record<string, unknown> | undefined;
161
+ stateKey?: string | undefined;
162
+ }, {
163
+ type: "submitForm";
164
+ url: string;
165
+ onComplete?: Record<string, unknown> | undefined;
166
+ method?: "POST" | "PUT" | "PATCH" | undefined;
167
+ stateKey?: string | undefined;
168
+ }>, z.ZodObject<{
169
+ type: z.ZodLiteral<"addItem">;
170
+ hookId: z.ZodString;
171
+ stateKey: z.ZodString;
172
+ idField: z.ZodOptional<z.ZodString>;
173
+ idPrefix: z.ZodOptional<z.ZodString>;
174
+ onComplete: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
175
+ }, "strip", z.ZodTypeAny, {
176
+ type: "addItem";
177
+ hookId: string;
178
+ stateKey: string;
179
+ onComplete?: Record<string, unknown> | undefined;
180
+ idField?: string | undefined;
181
+ idPrefix?: string | undefined;
182
+ }, {
183
+ type: "addItem";
184
+ hookId: string;
185
+ stateKey: string;
186
+ onComplete?: Record<string, unknown> | undefined;
187
+ idField?: string | undefined;
188
+ idPrefix?: string | undefined;
189
+ }>, z.ZodObject<{
190
+ type: z.ZodLiteral<"removeItem">;
191
+ hookId: z.ZodString;
192
+ key: z.ZodString;
193
+ stateKey: z.ZodString;
194
+ onComplete: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
195
+ }, "strip", z.ZodTypeAny, {
196
+ type: "removeItem";
197
+ key: string;
198
+ hookId: string;
199
+ stateKey: string;
200
+ onComplete?: Record<string, unknown> | undefined;
201
+ }, {
202
+ type: "removeItem";
203
+ key: string;
204
+ hookId: string;
205
+ stateKey: string;
206
+ onComplete?: Record<string, unknown> | undefined;
207
+ }>, z.ZodObject<{
208
+ type: z.ZodLiteral<"updateItem">;
209
+ hookId: z.ZodString;
210
+ key: z.ZodString;
211
+ stateKey: z.ZodString;
212
+ onComplete: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
213
+ }, "strip", z.ZodTypeAny, {
214
+ type: "updateItem";
215
+ key: string;
216
+ hookId: string;
217
+ stateKey: string;
218
+ onComplete?: Record<string, unknown> | undefined;
219
+ }, {
220
+ type: "updateItem";
221
+ key: string;
222
+ hookId: string;
223
+ stateKey: string;
224
+ onComplete?: Record<string, unknown> | undefined;
225
+ }>]>;
226
+ export type ActionDef = z.infer<typeof ActionDefSchema>;
227
+ //# sourceMappingURL=action-def.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-def.d.ts","sourceRoot":"","sources":["../src/action-def.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAK/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;EAGlC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;EAG/B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;EAMjC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;EAO9B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;EAMjC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;EAMjC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQ1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { z } from 'zod';
2
+ export const SetStateActionSchema = z.object({
3
+ type: z.literal('setState'),
4
+ key: z.string().min(1),
5
+ value: z.unknown().optional(),
6
+ onComplete: z.record(z.unknown()).optional(),
7
+ });
8
+ export const RefreshHookActionSchema = z.object({
9
+ type: z.literal('refreshHook'),
10
+ hookId: z.string().min(1),
11
+ });
12
+ export const NavigateActionSchema = z.object({
13
+ type: z.literal('navigate'),
14
+ url: z.string().min(1),
15
+ });
16
+ export const SubmitFormActionSchema = z.object({
17
+ type: z.literal('submitForm'),
18
+ url: z.string().min(1),
19
+ method: z.enum(['POST', 'PUT', 'PATCH']).default('POST'),
20
+ stateKey: z.string().optional(),
21
+ onComplete: z.record(z.unknown()).optional(),
22
+ });
23
+ export const AddItemActionSchema = z.object({
24
+ type: z.literal('addItem'),
25
+ hookId: z.string().min(1),
26
+ stateKey: z.string().min(1),
27
+ idField: z.string().optional(),
28
+ idPrefix: z.string().optional(),
29
+ onComplete: z.record(z.unknown()).optional(),
30
+ });
31
+ export const RemoveItemActionSchema = z.object({
32
+ type: z.literal('removeItem'),
33
+ hookId: z.string().min(1),
34
+ key: z.string().min(1),
35
+ stateKey: z.string().min(1),
36
+ onComplete: z.record(z.unknown()).optional(),
37
+ });
38
+ export const UpdateItemActionSchema = z.object({
39
+ type: z.literal('updateItem'),
40
+ hookId: z.string().min(1),
41
+ key: z.string().min(1),
42
+ stateKey: z.string().min(1),
43
+ onComplete: z.record(z.unknown()).optional(),
44
+ });
45
+ export const ActionDefSchema = z.discriminatedUnion('type', [
46
+ SetStateActionSchema,
47
+ RefreshHookActionSchema,
48
+ NavigateActionSchema,
49
+ SubmitFormActionSchema,
50
+ AddItemActionSchema,
51
+ RemoveItemActionSchema,
52
+ UpdateItemActionSchema,
53
+ ]);
54
+ //# sourceMappingURL=action-def.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-def.js","sourceRoot":"","sources":["../src/action-def.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { z } from 'zod';
2
+ export interface ComponentMeta {
3
+ type: string;
4
+ label: string;
5
+ description: string;
6
+ category: 'layout' | 'display' | 'data' | 'chart' | 'input' | 'control' | 'navigation' | 'overlay' | 'feedback' | 'map';
7
+ propsSchema: z.ZodType;
8
+ acceptsChildren: boolean;
9
+ /** When true, ElementRenderer passes `open` prop from visibility instead of unmounting */
10
+ overlay?: boolean;
11
+ }
12
+ export interface ComponentCatalog {
13
+ components: Record<string, ComponentMeta>;
14
+ }
15
+ export declare function defineCatalog(components: ComponentMeta[]): ComponentCatalog;
16
+ //# sourceMappingURL=catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC;IACxH,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC1C;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAM3E"}
@@ -0,0 +1,8 @@
1
+ export function defineCatalog(components) {
2
+ const map = {};
3
+ for (const comp of components) {
4
+ map[comp.type] = comp;
5
+ }
6
+ return { components: map };
7
+ }
8
+ //# sourceMappingURL=catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,aAAa,CAAC,UAA2B;IACxD,MAAM,GAAG,GAAkC,EAAE,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,195 @@
1
+ import { z } from 'zod';
2
+ export declare const ColumnMetaSchema: z.ZodObject<{
3
+ name: z.ZodString;
4
+ type: z.ZodString;
5
+ nullable: z.ZodDefault<z.ZodBoolean>;
6
+ description: z.ZodOptional<z.ZodString>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ type: string;
9
+ name: string;
10
+ nullable: boolean;
11
+ description?: string | undefined;
12
+ }, {
13
+ type: string;
14
+ name: string;
15
+ nullable?: boolean | undefined;
16
+ description?: string | undefined;
17
+ }>;
18
+ export declare const TableMetaSchema: z.ZodObject<{
19
+ name: z.ZodString;
20
+ columns: z.ZodArray<z.ZodObject<{
21
+ name: z.ZodString;
22
+ type: z.ZodString;
23
+ nullable: z.ZodDefault<z.ZodBoolean>;
24
+ description: z.ZodOptional<z.ZodString>;
25
+ }, "strip", z.ZodTypeAny, {
26
+ type: string;
27
+ name: string;
28
+ nullable: boolean;
29
+ description?: string | undefined;
30
+ }, {
31
+ type: string;
32
+ name: string;
33
+ nullable?: boolean | undefined;
34
+ description?: string | undefined;
35
+ }>, "many">;
36
+ description: z.ZodOptional<z.ZodString>;
37
+ rowCount: z.ZodOptional<z.ZodNumber>;
38
+ }, "strip", z.ZodTypeAny, {
39
+ name: string;
40
+ columns: {
41
+ type: string;
42
+ name: string;
43
+ nullable: boolean;
44
+ description?: string | undefined;
45
+ }[];
46
+ description?: string | undefined;
47
+ rowCount?: number | undefined;
48
+ }, {
49
+ name: string;
50
+ columns: {
51
+ type: string;
52
+ name: string;
53
+ nullable?: boolean | undefined;
54
+ description?: string | undefined;
55
+ }[];
56
+ description?: string | undefined;
57
+ rowCount?: number | undefined;
58
+ }>;
59
+ export declare const EndpointMetaSchema: z.ZodObject<{
60
+ path: z.ZodString;
61
+ method: z.ZodEnum<["GET", "POST"]>;
62
+ description: z.ZodOptional<z.ZodString>;
63
+ responseSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
64
+ }, "strip", z.ZodTypeAny, {
65
+ path: string;
66
+ method: "POST" | "GET";
67
+ description?: string | undefined;
68
+ responseSchema?: Record<string, unknown> | undefined;
69
+ }, {
70
+ path: string;
71
+ method: "POST" | "GET";
72
+ description?: string | undefined;
73
+ responseSchema?: Record<string, unknown> | undefined;
74
+ }>;
75
+ export declare const DataSourceMetaSchema: z.ZodObject<{
76
+ id: z.ZodString;
77
+ name: z.ZodString;
78
+ type: z.ZodEnum<["sql", "rest", "static"]>;
79
+ description: z.ZodOptional<z.ZodString>;
80
+ tables: z.ZodOptional<z.ZodArray<z.ZodObject<{
81
+ name: z.ZodString;
82
+ columns: z.ZodArray<z.ZodObject<{
83
+ name: z.ZodString;
84
+ type: z.ZodString;
85
+ nullable: z.ZodDefault<z.ZodBoolean>;
86
+ description: z.ZodOptional<z.ZodString>;
87
+ }, "strip", z.ZodTypeAny, {
88
+ type: string;
89
+ name: string;
90
+ nullable: boolean;
91
+ description?: string | undefined;
92
+ }, {
93
+ type: string;
94
+ name: string;
95
+ nullable?: boolean | undefined;
96
+ description?: string | undefined;
97
+ }>, "many">;
98
+ description: z.ZodOptional<z.ZodString>;
99
+ rowCount: z.ZodOptional<z.ZodNumber>;
100
+ }, "strip", z.ZodTypeAny, {
101
+ name: string;
102
+ columns: {
103
+ type: string;
104
+ name: string;
105
+ nullable: boolean;
106
+ description?: string | undefined;
107
+ }[];
108
+ description?: string | undefined;
109
+ rowCount?: number | undefined;
110
+ }, {
111
+ name: string;
112
+ columns: {
113
+ type: string;
114
+ name: string;
115
+ nullable?: boolean | undefined;
116
+ description?: string | undefined;
117
+ }[];
118
+ description?: string | undefined;
119
+ rowCount?: number | undefined;
120
+ }>, "many">>;
121
+ endpoints: z.ZodOptional<z.ZodArray<z.ZodObject<{
122
+ path: z.ZodString;
123
+ method: z.ZodEnum<["GET", "POST"]>;
124
+ description: z.ZodOptional<z.ZodString>;
125
+ responseSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
126
+ }, "strip", z.ZodTypeAny, {
127
+ path: string;
128
+ method: "POST" | "GET";
129
+ description?: string | undefined;
130
+ responseSchema?: Record<string, unknown> | undefined;
131
+ }, {
132
+ path: string;
133
+ method: "POST" | "GET";
134
+ description?: string | undefined;
135
+ responseSchema?: Record<string, unknown> | undefined;
136
+ }>, "many">>;
137
+ }, "strip", z.ZodTypeAny, {
138
+ type: "sql" | "rest" | "static";
139
+ name: string;
140
+ id: string;
141
+ description?: string | undefined;
142
+ tables?: {
143
+ name: string;
144
+ columns: {
145
+ type: string;
146
+ name: string;
147
+ nullable: boolean;
148
+ description?: string | undefined;
149
+ }[];
150
+ description?: string | undefined;
151
+ rowCount?: number | undefined;
152
+ }[] | undefined;
153
+ endpoints?: {
154
+ path: string;
155
+ method: "POST" | "GET";
156
+ description?: string | undefined;
157
+ responseSchema?: Record<string, unknown> | undefined;
158
+ }[] | undefined;
159
+ }, {
160
+ type: "sql" | "rest" | "static";
161
+ name: string;
162
+ id: string;
163
+ description?: string | undefined;
164
+ tables?: {
165
+ name: string;
166
+ columns: {
167
+ type: string;
168
+ name: string;
169
+ nullable?: boolean | undefined;
170
+ description?: string | undefined;
171
+ }[];
172
+ description?: string | undefined;
173
+ rowCount?: number | undefined;
174
+ }[] | undefined;
175
+ endpoints?: {
176
+ path: string;
177
+ method: "POST" | "GET";
178
+ description?: string | undefined;
179
+ responseSchema?: Record<string, unknown> | undefined;
180
+ }[] | undefined;
181
+ }>;
182
+ export type ColumnMeta = z.infer<typeof ColumnMetaSchema>;
183
+ export type TableMeta = z.infer<typeof TableMetaSchema>;
184
+ export type EndpointMeta = z.infer<typeof EndpointMetaSchema>;
185
+ export type DataSourceMeta = z.infer<typeof DataSourceMetaSchema>;
186
+ /**
187
+ * DataConnector port interface.
188
+ * Implemented in the server package for each data source type.
189
+ */
190
+ export interface DataConnector {
191
+ readonly meta: DataSourceMeta;
192
+ describe(): Promise<DataSourceMeta>;
193
+ query(params: Record<string, unknown>): Promise<unknown>;
194
+ }
195
+ //# sourceMappingURL=data-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-source.d.ts","sourceRoot":"","sources":["../src/data-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;EAK3B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK1B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAK7B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO/B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IACpC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACzD"}
@@ -0,0 +1,28 @@
1
+ import { z } from 'zod';
2
+ export const ColumnMetaSchema = z.object({
3
+ name: z.string().min(1),
4
+ type: z.string().min(1),
5
+ nullable: z.boolean().default(false),
6
+ description: z.string().optional(),
7
+ });
8
+ export const TableMetaSchema = z.object({
9
+ name: z.string().min(1),
10
+ columns: z.array(ColumnMetaSchema),
11
+ description: z.string().optional(),
12
+ rowCount: z.number().optional(),
13
+ });
14
+ export const EndpointMetaSchema = z.object({
15
+ path: z.string().min(1),
16
+ method: z.enum(['GET', 'POST']),
17
+ description: z.string().optional(),
18
+ responseSchema: z.record(z.unknown()).optional(),
19
+ });
20
+ export const DataSourceMetaSchema = z.object({
21
+ id: z.string().min(1),
22
+ name: z.string().min(1),
23
+ type: z.enum(['sql', 'rest', 'static']),
24
+ description: z.string().optional(),
25
+ tables: z.array(TableMetaSchema).optional(),
26
+ endpoints: z.array(EndpointMetaSchema).optional(),
27
+ });
28
+ //# sourceMappingURL=data-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-source.js","sourceRoot":"","sources":["../src/data-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CAChD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE;IAC3C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE;CACjD,CAAC,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { z } from 'zod';
2
+ export declare const VisibilityConditionSchema: z.ZodOptional<z.ZodObject<{
3
+ expr: z.ZodString;
4
+ }, "strip", z.ZodTypeAny, {
5
+ expr: string;
6
+ }, {
7
+ expr: string;
8
+ }>>;
9
+ export declare const ElementDefSchema: z.ZodObject<{
10
+ type: z.ZodString;
11
+ props: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
12
+ children: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
13
+ visible: z.ZodOptional<z.ZodObject<{
14
+ expr: z.ZodString;
15
+ }, "strip", z.ZodTypeAny, {
16
+ expr: string;
17
+ }, {
18
+ expr: string;
19
+ }>>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ type: string;
22
+ props: Record<string, unknown>;
23
+ children?: string[] | undefined;
24
+ visible?: {
25
+ expr: string;
26
+ } | undefined;
27
+ }, {
28
+ type: string;
29
+ props?: Record<string, unknown> | undefined;
30
+ children?: string[] | undefined;
31
+ visible?: {
32
+ expr: string;
33
+ } | undefined;
34
+ }>;
35
+ export type ElementDef = z.infer<typeof ElementDefSchema>;
36
+ export type VisibilityCondition = z.infer<typeof VisibilityConditionSchema>;
37
+ //# sourceMappingURL=element-def.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element-def.d.ts","sourceRoot":"","sources":["../src/element-def.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,yBAAyB;;;;;;GAI1B,CAAC;AAEb,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;EAK3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { z } from 'zod';
2
+ export const VisibilityConditionSchema = z
3
+ .object({
4
+ expr: z.string(),
5
+ })
6
+ .optional();
7
+ export const ElementDefSchema = z.object({
8
+ type: z.string().min(1),
9
+ props: z.record(z.unknown()).default({}),
10
+ children: z.array(z.string().min(1)).optional(),
11
+ visible: VisibilityConditionSchema,
12
+ });
13
+ //# sourceMappingURL=element-def.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element-def.js","sourceRoot":"","sources":["../src/element-def.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACxC,MAAM,CAAC;IACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CAChB,CAAC;KACD,QAAQ,EAAE,CAAC;AAEb,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/C,OAAO,EAAE,yBAAyB;CAClC,CAAC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { z } from 'zod';
2
+ export type ExpressionRef = {
3
+ type: 'hook';
4
+ hookId: string;
5
+ path: string[];
6
+ } | {
7
+ type: 'state';
8
+ key: string;
9
+ } | {
10
+ type: 'bindState';
11
+ key: string;
12
+ } | {
13
+ type: 'action';
14
+ actionId: string;
15
+ } | {
16
+ type: 'item';
17
+ path: string[];
18
+ } | {
19
+ type: 'param';
20
+ name: string;
21
+ } | {
22
+ type: 'expr';
23
+ code: string;
24
+ };
25
+ export declare function isExpression(value: unknown): value is string;
26
+ export declare function parseExpression(value: string): ExpressionRef | null;
27
+ export declare const ExpressionStringSchema: z.ZodEffects<z.ZodString, string, string>;
28
+ //# sourceMappingURL=expression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../src/expression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,MAAM,aAAa,GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAYlC,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE5D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CA4CnE;AAED,eAAO,MAAM,sBAAsB,2CAIhC,CAAC"}