@objectstack/spec 0.1.1 → 0.2.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 (174) hide show
  1. package/README.md +73 -1
  2. package/dist/api/contract.zod.d.ts +1733 -0
  3. package/dist/api/contract.zod.d.ts.map +1 -0
  4. package/dist/api/contract.zod.js +138 -0
  5. package/dist/data/dataset.zod.d.ts +2 -2
  6. package/dist/data/field.zod.d.ts +1648 -10
  7. package/dist/data/field.zod.d.ts.map +1 -1
  8. package/dist/data/field.zod.js +149 -8
  9. package/dist/data/filter.zod.d.ts +295 -0
  10. package/dist/data/filter.zod.d.ts.map +1 -0
  11. package/dist/data/filter.zod.js +226 -0
  12. package/dist/data/mapping.zod.d.ts +215 -2
  13. package/dist/data/mapping.zod.d.ts.map +1 -1
  14. package/dist/data/object.zod.d.ts +505 -25
  15. package/dist/data/object.zod.d.ts.map +1 -1
  16. package/dist/data/object.zod.js +32 -5
  17. package/dist/data/query.zod.d.ts +349 -0
  18. package/dist/data/query.zod.d.ts.map +1 -1
  19. package/dist/data/query.zod.js +77 -1
  20. package/dist/data/trigger.zod.d.ts +354 -0
  21. package/dist/data/trigger.zod.d.ts.map +1 -0
  22. package/dist/data/trigger.zod.js +195 -0
  23. package/dist/data/validation.zod.d.ts +83 -43
  24. package/dist/data/validation.zod.d.ts.map +1 -1
  25. package/dist/data/validation.zod.js +51 -5
  26. package/dist/index.d.ts +10 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +11 -0
  29. package/dist/system/api.zod.d.ts +130 -4
  30. package/dist/system/api.zod.d.ts.map +1 -1
  31. package/dist/system/api.zod.js +4 -1
  32. package/dist/system/auth.zod.d.ts +2287 -0
  33. package/dist/system/auth.zod.d.ts.map +1 -0
  34. package/dist/system/auth.zod.js +365 -0
  35. package/dist/system/datasource.zod.d.ts +193 -30
  36. package/dist/system/datasource.zod.d.ts.map +1 -1
  37. package/dist/system/datasource.zod.js +58 -11
  38. package/dist/system/discovery.zod.d.ts +174 -0
  39. package/dist/system/discovery.zod.d.ts.map +1 -0
  40. package/dist/system/discovery.zod.js +53 -0
  41. package/dist/system/driver.zod.d.ts +1631 -0
  42. package/dist/system/driver.zod.d.ts.map +1 -0
  43. package/dist/system/driver.zod.js +337 -0
  44. package/dist/system/license.zod.d.ts +2 -2
  45. package/dist/system/manifest.zod.d.ts +323 -52
  46. package/dist/system/manifest.zod.d.ts.map +1 -1
  47. package/dist/system/manifest.zod.js +91 -17
  48. package/dist/system/plugin.zod.d.ts +3516 -0
  49. package/dist/system/plugin.zod.d.ts.map +1 -0
  50. package/dist/system/plugin.zod.js +226 -0
  51. package/dist/system/policy.zod.d.ts +10 -10
  52. package/dist/system/territory.zod.d.ts +1 -1
  53. package/dist/system/webhook.zod.d.ts +3 -3
  54. package/dist/ui/action.zod.d.ts +19 -12
  55. package/dist/ui/action.zod.d.ts.map +1 -1
  56. package/dist/ui/action.zod.js +7 -1
  57. package/dist/ui/app.zod.d.ts +109 -3
  58. package/dist/ui/app.zod.d.ts.map +1 -1
  59. package/dist/ui/app.zod.js +13 -2
  60. package/dist/ui/dashboard.zod.d.ts +19 -13
  61. package/dist/ui/dashboard.zod.d.ts.map +1 -1
  62. package/dist/ui/dashboard.zod.js +10 -3
  63. package/dist/ui/page.zod.d.ts +6 -6
  64. package/dist/ui/report.zod.d.ts +13 -32
  65. package/dist/ui/report.zod.d.ts.map +1 -1
  66. package/dist/ui/report.zod.js +10 -9
  67. package/dist/ui/theme.zod.d.ts +1221 -0
  68. package/dist/ui/theme.zod.d.ts.map +1 -0
  69. package/dist/ui/theme.zod.js +202 -0
  70. package/dist/ui/widget.zod.d.ts +350 -0
  71. package/dist/ui/widget.zod.d.ts.map +1 -0
  72. package/dist/ui/widget.zod.js +66 -0
  73. package/json-schema/AccountLinkingConfig.json +27 -0
  74. package/json-schema/Action.json +8 -2
  75. package/json-schema/ActionParam.json +8 -2
  76. package/json-schema/Address.json +40 -0
  77. package/json-schema/AggregationFunction.json +19 -0
  78. package/json-schema/AggregationNode.json +42 -0
  79. package/json-schema/Animation.json +56 -0
  80. package/json-schema/ApiCapabilities.json +28 -0
  81. package/json-schema/ApiError.json +27 -0
  82. package/json-schema/ApiRoutes.json +41 -0
  83. package/json-schema/App.json +13 -2
  84. package/json-schema/AsyncValidation.json +70 -0
  85. package/json-schema/AuthConfig.json +606 -0
  86. package/json-schema/AuthPluginConfig.json +28 -0
  87. package/json-schema/AuthStrategy.json +17 -0
  88. package/json-schema/AuthenticationConfig.json +601 -0
  89. package/json-schema/AuthenticationProvider.json +617 -0
  90. package/json-schema/BaseResponse.json +63 -0
  91. package/json-schema/BorderRadius.json +44 -0
  92. package/json-schema/Breakpoints.json +36 -0
  93. package/json-schema/BulkRequest.json +29 -0
  94. package/json-schema/BulkResponse.json +108 -0
  95. package/json-schema/CSRFConfig.json +31 -0
  96. package/json-schema/ColorPalette.json +83 -0
  97. package/json-schema/ComparisonOperator.json +56 -0
  98. package/json-schema/ConditionalValidation.json +793 -0
  99. package/json-schema/CreateRequest.json +20 -0
  100. package/json-schema/CrossFieldValidation.json +56 -0
  101. package/json-schema/CustomValidator.json +57 -0
  102. package/json-schema/Dashboard.json +20 -0
  103. package/json-schema/DashboardWidget.json +20 -0
  104. package/json-schema/DatabaseAdapter.json +38 -0
  105. package/json-schema/Datasource.json +25 -23
  106. package/json-schema/DatasourceCapabilities.json +25 -5
  107. package/json-schema/DeleteResponse.json +68 -0
  108. package/json-schema/Discovery.json +114 -0
  109. package/json-schema/DriverCapabilities.json +69 -0
  110. package/json-schema/DriverDefinition.json +86 -0
  111. package/json-schema/DriverInterface.json +88 -0
  112. package/json-schema/DriverOptions.json +23 -0
  113. package/json-schema/DriverType.json +1 -18
  114. package/json-schema/EmailPasswordConfig.json +43 -0
  115. package/json-schema/EqualityOperator.json +14 -0
  116. package/json-schema/ExportRequest.json +786 -0
  117. package/json-schema/Field.json +75 -4
  118. package/json-schema/FieldOperators.json +108 -0
  119. package/json-schema/FieldType.json +8 -2
  120. package/json-schema/FieldWidgetProps.json +327 -0
  121. package/json-schema/FilterCondition.json +28 -0
  122. package/json-schema/I18nContext.json +12 -0
  123. package/json-schema/JoinNode.json +455 -0
  124. package/json-schema/JoinType.json +15 -0
  125. package/json-schema/ListRecordResponse.json +103 -0
  126. package/json-schema/LocationCoordinates.json +36 -0
  127. package/json-schema/Logger.json +25 -0
  128. package/json-schema/MagicLinkConfig.json +21 -0
  129. package/json-schema/Manifest.json +243 -18
  130. package/json-schema/Mapping.json +328 -0
  131. package/json-schema/ModificationResult.json +46 -0
  132. package/json-schema/NormalizedFilter.json +348 -0
  133. package/json-schema/OAuthProvider.json +66 -0
  134. package/json-schema/Object.json +103 -6
  135. package/json-schema/ObjectCapabilities.json +26 -0
  136. package/json-schema/ObjectQLClient.json +12 -0
  137. package/json-schema/PasskeyConfig.json +54 -0
  138. package/json-schema/Plugin.json +20 -0
  139. package/json-schema/PluginContext.json +91 -0
  140. package/json-schema/PluginLifecycle.json +11 -0
  141. package/json-schema/Query.json +328 -0
  142. package/json-schema/QueryFilter.json +34 -0
  143. package/json-schema/RangeOperator.json +41 -0
  144. package/json-schema/RateLimitConfig.json +36 -0
  145. package/json-schema/RecordData.json +11 -0
  146. package/json-schema/Report.json +20 -26
  147. package/json-schema/Router.json +12 -0
  148. package/json-schema/Scheduler.json +12 -0
  149. package/json-schema/ScopedStorage.json +12 -0
  150. package/json-schema/SessionConfig.json +56 -0
  151. package/json-schema/SetOperator.json +18 -0
  152. package/json-schema/Shadow.json +44 -0
  153. package/json-schema/SingleRecordResponse.json +69 -0
  154. package/json-schema/Spacing.json +64 -0
  155. package/json-schema/SpecialOperator.json +18 -0
  156. package/json-schema/StandardAuthProvider.json +622 -0
  157. package/json-schema/StringOperator.json +21 -0
  158. package/json-schema/SystemAPI.json +12 -0
  159. package/json-schema/Theme.json +543 -0
  160. package/json-schema/ThemeMode.json +14 -0
  161. package/json-schema/Trigger.json +73 -0
  162. package/json-schema/TriggerAction.json +14 -0
  163. package/json-schema/TriggerContext.json +61 -0
  164. package/json-schema/TriggerTiming.json +13 -0
  165. package/json-schema/TwoFactorConfig.json +40 -0
  166. package/json-schema/Typography.json +142 -0
  167. package/json-schema/UpdateRequest.json +20 -0
  168. package/json-schema/UserFieldMapping.json +47 -0
  169. package/json-schema/ValidationRule.json +583 -0
  170. package/json-schema/WindowFunction.json +24 -0
  171. package/json-schema/WindowFunctionNode.json +104 -0
  172. package/json-schema/WindowSpec.json +65 -0
  173. package/json-schema/ZIndex.json +44 -0
  174. package/package.json +8 -3
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AppSchema = exports.AppBrandingSchema = exports.NavigationItemSchema = exports.GroupNavItemSchema = exports.UrlNavItemSchema = exports.PageNavItemSchema = exports.DashboardNavItemSchema = exports.ObjectNavItemSchema = void 0;
3
+ exports.App = exports.AppSchema = exports.AppBrandingSchema = exports.NavigationItemSchema = exports.GroupNavItemSchema = exports.UrlNavItemSchema = exports.PageNavItemSchema = exports.DashboardNavItemSchema = exports.ObjectNavItemSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  /**
6
6
  * Base Navigation Item Schema
@@ -96,6 +96,8 @@ exports.AppSchema = zod_1.z.object({
96
96
  name: zod_1.z.string().regex(/^[a-z_][a-z0-9_]*$/).describe('App unique machine name'),
97
97
  /** Display label */
98
98
  label: zod_1.z.string().describe('App display label'),
99
+ /** App version */
100
+ version: zod_1.z.string().optional().describe('App version'),
99
101
  /** Description */
100
102
  description: zod_1.z.string().optional().describe('App description'),
101
103
  /** Icon name (Lucide) */
@@ -110,7 +112,7 @@ exports.AppSchema = zod_1.z.object({
110
112
  * Navigation Tree Structure.
111
113
  * Replaces the old flat 'tabs' list with a structured menu.
112
114
  */
113
- navigation: zod_1.z.array(exports.NavigationItemSchema).describe('Structured navigation menu tree'),
115
+ navigation: zod_1.z.array(exports.NavigationItemSchema).optional().describe('Structured navigation menu tree'),
114
116
  /**
115
117
  * App-level Home Page Override
116
118
  * ID of the navigation item to act as the landing page.
@@ -124,4 +126,13 @@ exports.AppSchema = zod_1.z.object({
124
126
  * Example: ["app.access.crm"]
125
127
  */
126
128
  requiredPermissions: zod_1.z.array(zod_1.z.string()).optional().describe('Permissions required to access this app'),
129
+ /**
130
+ * Package Components (For config file convenience)
131
+ * In a real monorepo these might be auto-discovered, but here we allow explicit registration.
132
+ */
133
+ objects: zod_1.z.array(zod_1.z.any()).optional().describe('Objects belonging to this app'),
134
+ apis: zod_1.z.array(zod_1.z.any()).optional().describe('Custom APIs belonging to this app'),
135
+ });
136
+ exports.App = Object.assign(exports.AppSchema, {
137
+ create: (config) => config,
127
138
  });
@@ -14,8 +14,8 @@ export declare const DashboardWidgetSchema: z.ZodObject<{
14
14
  type: z.ZodDefault<z.ZodEnum<["metric", "bar", "line", "pie", "donut", "funnel", "table", "text"]>>;
15
15
  /** Data Source Object */
16
16
  object: z.ZodOptional<z.ZodString>;
17
- /** Data Filter (ObjectQL JSON) */
18
- filter: z.ZodOptional<z.ZodAny>;
17
+ /** Data Filter (MongoDB-style FilterCondition) */
18
+ filter: z.ZodOptional<z.ZodType<import("../data/filter.zod").FilterCondition, z.ZodTypeDef, import("../data/filter.zod").FilterCondition>>;
19
19
  /** Category Field (X-Axis / Group By) */
20
20
  categoryField: z.ZodOptional<z.ZodString>;
21
21
  /** Value Field (Y-Axis) */
@@ -57,7 +57,7 @@ export declare const DashboardWidgetSchema: z.ZodObject<{
57
57
  h: number;
58
58
  };
59
59
  object?: string | undefined;
60
- filter?: any;
60
+ filter?: import("../data/filter.zod").FilterCondition | undefined;
61
61
  options?: any;
62
62
  title?: string | undefined;
63
63
  categoryField?: string | undefined;
@@ -70,13 +70,13 @@ export declare const DashboardWidgetSchema: z.ZodObject<{
70
70
  h: number;
71
71
  };
72
72
  object?: string | undefined;
73
- filter?: any;
73
+ filter?: import("../data/filter.zod").FilterCondition | undefined;
74
74
  options?: any;
75
75
  type?: "text" | "metric" | "bar" | "line" | "pie" | "donut" | "funnel" | "table" | undefined;
76
+ aggregate?: "min" | "max" | "count" | "sum" | "avg" | undefined;
76
77
  title?: string | undefined;
77
78
  categoryField?: string | undefined;
78
79
  valueField?: string | undefined;
79
- aggregate?: "min" | "max" | "count" | "sum" | "avg" | undefined;
80
80
  }>;
81
81
  /**
82
82
  * Dashboard Schema
@@ -97,8 +97,8 @@ export declare const DashboardSchema: z.ZodObject<{
97
97
  type: z.ZodDefault<z.ZodEnum<["metric", "bar", "line", "pie", "donut", "funnel", "table", "text"]>>;
98
98
  /** Data Source Object */
99
99
  object: z.ZodOptional<z.ZodString>;
100
- /** Data Filter (ObjectQL JSON) */
101
- filter: z.ZodOptional<z.ZodAny>;
100
+ /** Data Filter (MongoDB-style FilterCondition) */
101
+ filter: z.ZodOptional<z.ZodType<import("../data/filter.zod").FilterCondition, z.ZodTypeDef, import("../data/filter.zod").FilterCondition>>;
102
102
  /** Category Field (X-Axis / Group By) */
103
103
  categoryField: z.ZodOptional<z.ZodString>;
104
104
  /** Value Field (Y-Axis) */
@@ -140,7 +140,7 @@ export declare const DashboardSchema: z.ZodObject<{
140
140
  h: number;
141
141
  };
142
142
  object?: string | undefined;
143
- filter?: any;
143
+ filter?: import("../data/filter.zod").FilterCondition | undefined;
144
144
  options?: any;
145
145
  title?: string | undefined;
146
146
  categoryField?: string | undefined;
@@ -153,13 +153,13 @@ export declare const DashboardSchema: z.ZodObject<{
153
153
  h: number;
154
154
  };
155
155
  object?: string | undefined;
156
- filter?: any;
156
+ filter?: import("../data/filter.zod").FilterCondition | undefined;
157
157
  options?: any;
158
158
  type?: "text" | "metric" | "bar" | "line" | "pie" | "donut" | "funnel" | "table" | undefined;
159
+ aggregate?: "min" | "max" | "count" | "sum" | "avg" | undefined;
159
160
  title?: string | undefined;
160
161
  categoryField?: string | undefined;
161
162
  valueField?: string | undefined;
162
- aggregate?: "min" | "max" | "count" | "sum" | "avg" | undefined;
163
163
  }>, "many">;
164
164
  }, "strip", z.ZodTypeAny, {
165
165
  label: string;
@@ -174,7 +174,7 @@ export declare const DashboardSchema: z.ZodObject<{
174
174
  h: number;
175
175
  };
176
176
  object?: string | undefined;
177
- filter?: any;
177
+ filter?: import("../data/filter.zod").FilterCondition | undefined;
178
178
  options?: any;
179
179
  title?: string | undefined;
180
180
  categoryField?: string | undefined;
@@ -192,16 +192,22 @@ export declare const DashboardSchema: z.ZodObject<{
192
192
  h: number;
193
193
  };
194
194
  object?: string | undefined;
195
- filter?: any;
195
+ filter?: import("../data/filter.zod").FilterCondition | undefined;
196
196
  options?: any;
197
197
  type?: "text" | "metric" | "bar" | "line" | "pie" | "donut" | "funnel" | "table" | undefined;
198
+ aggregate?: "min" | "max" | "count" | "sum" | "avg" | undefined;
198
199
  title?: string | undefined;
199
200
  categoryField?: string | undefined;
200
201
  valueField?: string | undefined;
201
- aggregate?: "min" | "max" | "count" | "sum" | "avg" | undefined;
202
202
  }[];
203
203
  description?: string | undefined;
204
204
  }>;
205
205
  export type Dashboard = z.infer<typeof DashboardSchema>;
206
206
  export type DashboardWidget = z.infer<typeof DashboardWidgetSchema>;
207
+ /**
208
+ * Dashboard Factory Helper
209
+ */
210
+ export declare const Dashboard: {
211
+ readonly create: (config: z.input<typeof DashboardSchema>) => Dashboard;
212
+ };
207
213
  //# sourceMappingURL=dashboard.zod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.zod.d.ts","sourceRoot":"","sources":["../../src/ui/dashboard.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,SAAS,iFASpB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,qBAAqB;IAChC,mBAAmB;;IAGnB,yBAAyB;;IAGzB,yBAAyB;;IAGzB,kCAAkC;;IAGlC,yCAAyC;;IAGzC,2BAA2B;;IAG3B,0BAA0B;;IAG1B;;;;;;OAMG;;;;;;;;;;;;;;;;;IAQH,qDAAqD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAErD,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,eAAe;IAC1B,mBAAmB;;IAGnB,oBAAoB;;IAGpB,kBAAkB;;IAGlB,4BAA4B;;QArD5B,mBAAmB;;QAGnB,yBAAyB;;QAGzB,yBAAyB;;QAGzB,kCAAkC;;QAGlC,yCAAyC;;QAGzC,2BAA2B;;QAG3B,0BAA0B;;QAG1B;;;;;;WAMG;;;;;;;;;;;;;;;;;QAQH,qDAAqD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBrD,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"dashboard.zod.d.ts","sourceRoot":"","sources":["../../src/ui/dashboard.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,eAAO,MAAM,SAAS,iFASpB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,qBAAqB;IAChC,mBAAmB;;IAGnB,yBAAyB;;IAGzB,yBAAyB;;IAGzB,kDAAkD;;IAGlD,yCAAyC;;IAGzC,2BAA2B;;IAG3B,0BAA0B;;IAG1B;;;;;;OAMG;;;;;;;;;;;;;;;;;IAQH,qDAAqD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAErD,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,eAAe;IAC1B,mBAAmB;;IAGnB,oBAAoB;;IAGpB,kBAAkB;;IAGlB,4BAA4B;;QArD5B,mBAAmB;;QAGnB,yBAAyB;;QAGzB,yBAAyB;;QAGzB,kDAAkD;;QAGlD,yCAAyC;;QAGzC,2BAA2B;;QAG3B,0BAA0B;;QAG1B;;;;;;WAMG;;;;;;;;;;;;;;;;;QAQH,qDAAqD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBrD,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,SAAS;8BACH,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,KAAG,SAAS;CACpD,CAAC"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DashboardSchema = exports.DashboardWidgetSchema = exports.ChartType = void 0;
3
+ exports.Dashboard = exports.DashboardSchema = exports.DashboardWidgetSchema = exports.ChartType = void 0;
4
4
  const zod_1 = require("zod");
5
+ const filter_zod_1 = require("../data/filter.zod");
5
6
  /**
6
7
  * Chart Type Enum
7
8
  */
@@ -26,8 +27,8 @@ exports.DashboardWidgetSchema = zod_1.z.object({
26
27
  type: exports.ChartType.default('metric').describe('Visualization type'),
27
28
  /** Data Source Object */
28
29
  object: zod_1.z.string().optional().describe('Data source object name'),
29
- /** Data Filter (ObjectQL JSON) */
30
- filter: zod_1.z.any().optional().describe('Data filter criteria'),
30
+ /** Data Filter (MongoDB-style FilterCondition) */
31
+ filter: filter_zod_1.FilterConditionSchema.optional().describe('Data filter criteria'),
31
32
  /** Category Field (X-Axis / Group By) */
32
33
  categoryField: zod_1.z.string().optional().describe('Field for grouping (X-Axis)'),
33
34
  /** Value Field (Y-Axis) */
@@ -64,3 +65,9 @@ exports.DashboardSchema = zod_1.z.object({
64
65
  /** Collection of widgets */
65
66
  widgets: zod_1.z.array(exports.DashboardWidgetSchema).describe('Widgets to display'),
66
67
  });
68
+ /**
69
+ * Dashboard Factory Helper
70
+ */
71
+ exports.Dashboard = {
72
+ create: (config) => exports.DashboardSchema.parse(config),
73
+ };
@@ -37,7 +37,7 @@ export declare const PageRegionSchema: z.ZodObject<{
37
37
  id?: string | undefined;
38
38
  visibility?: string | undefined;
39
39
  }[];
40
- width?: "small" | "medium" | "large" | "full" | undefined;
40
+ width?: "full" | "small" | "medium" | "large" | undefined;
41
41
  }, {
42
42
  name: string;
43
43
  components: {
@@ -47,7 +47,7 @@ export declare const PageRegionSchema: z.ZodObject<{
47
47
  id?: string | undefined;
48
48
  visibility?: string | undefined;
49
49
  }[];
50
- width?: "small" | "medium" | "large" | "full" | undefined;
50
+ width?: "full" | "small" | "medium" | "large" | undefined;
51
51
  }>;
52
52
  /**
53
53
  * Page Component Schema
@@ -125,7 +125,7 @@ export declare const PageSchema: z.ZodObject<{
125
125
  id?: string | undefined;
126
126
  visibility?: string | undefined;
127
127
  }[];
128
- width?: "small" | "medium" | "large" | "full" | undefined;
128
+ width?: "full" | "small" | "medium" | "large" | undefined;
129
129
  }, {
130
130
  name: string;
131
131
  components: {
@@ -135,7 +135,7 @@ export declare const PageSchema: z.ZodObject<{
135
135
  id?: string | undefined;
136
136
  visibility?: string | undefined;
137
137
  }[];
138
- width?: "small" | "medium" | "large" | "full" | undefined;
138
+ width?: "full" | "small" | "medium" | "large" | undefined;
139
139
  }>, "many">;
140
140
  /** Activation */
141
141
  isDefault: z.ZodDefault<z.ZodBoolean>;
@@ -155,7 +155,7 @@ export declare const PageSchema: z.ZodObject<{
155
155
  id?: string | undefined;
156
156
  visibility?: string | undefined;
157
157
  }[];
158
- width?: "small" | "medium" | "large" | "full" | undefined;
158
+ width?: "full" | "small" | "medium" | "large" | undefined;
159
159
  }[];
160
160
  object?: string | undefined;
161
161
  description?: string | undefined;
@@ -172,7 +172,7 @@ export declare const PageSchema: z.ZodObject<{
172
172
  id?: string | undefined;
173
173
  visibility?: string | undefined;
174
174
  }[];
175
- width?: "small" | "medium" | "large" | "full" | undefined;
175
+ width?: "full" | "small" | "medium" | "large" | undefined;
176
176
  }[];
177
177
  object?: string | undefined;
178
178
  type?: "record" | "home" | "app" | "utility" | undefined;
@@ -111,24 +111,8 @@ export declare const ReportSchema: z.ZodObject<{
111
111
  sortOrder?: "asc" | "desc" | undefined;
112
112
  dateGranularity?: "day" | "week" | "month" | "quarter" | "year" | undefined;
113
113
  }>, "many">>;
114
- /** Filtering */
115
- filter: z.ZodOptional<z.ZodString>;
116
- filterItems: z.ZodOptional<z.ZodArray<z.ZodObject<{
117
- id: z.ZodNumber;
118
- field: z.ZodString;
119
- operator: z.ZodString;
120
- value: z.ZodAny;
121
- }, "strip", z.ZodTypeAny, {
122
- field: string;
123
- id: number;
124
- operator: string;
125
- value?: any;
126
- }, {
127
- field: string;
128
- id: number;
129
- operator: string;
130
- value?: any;
131
- }>, "many">>;
114
+ /** Filtering (MongoDB-style FilterCondition) */
115
+ filter: z.ZodOptional<z.ZodType<import("../data/filter.zod").FilterCondition, z.ZodTypeDef, import("../data/filter.zod").FilterCondition>>;
132
116
  /** Visualization */
133
117
  chart: z.ZodOptional<z.ZodObject<{
134
118
  type: z.ZodEnum<["bar", "column", "line", "pie", "donut", "scatter", "funnel"]>;
@@ -159,7 +143,7 @@ export declare const ReportSchema: z.ZodObject<{
159
143
  label?: string | undefined;
160
144
  aggregate?: "unique" | "min" | "max" | "count" | "sum" | "avg" | undefined;
161
145
  }[];
162
- filter?: string | undefined;
146
+ filter?: import("../data/filter.zod").FilterCondition | undefined;
163
147
  description?: string | undefined;
164
148
  groupingsDown?: {
165
149
  field: string;
@@ -171,12 +155,6 @@ export declare const ReportSchema: z.ZodObject<{
171
155
  sortOrder: "asc" | "desc";
172
156
  dateGranularity?: "day" | "week" | "month" | "quarter" | "year" | undefined;
173
157
  }[] | undefined;
174
- filterItems?: {
175
- field: string;
176
- id: number;
177
- operator: string;
178
- value?: any;
179
- }[] | undefined;
180
158
  chart?: {
181
159
  type: "bar" | "line" | "pie" | "donut" | "funnel" | "column" | "scatter";
182
160
  showLegend: boolean;
@@ -193,7 +171,7 @@ export declare const ReportSchema: z.ZodObject<{
193
171
  label?: string | undefined;
194
172
  aggregate?: "unique" | "min" | "max" | "count" | "sum" | "avg" | undefined;
195
173
  }[];
196
- filter?: string | undefined;
174
+ filter?: import("../data/filter.zod").FilterCondition | undefined;
197
175
  type?: "summary" | "tabular" | "matrix" | "joined" | undefined;
198
176
  description?: string | undefined;
199
177
  groupingsDown?: {
@@ -206,12 +184,6 @@ export declare const ReportSchema: z.ZodObject<{
206
184
  sortOrder?: "asc" | "desc" | undefined;
207
185
  dateGranularity?: "day" | "week" | "month" | "quarter" | "year" | undefined;
208
186
  }[] | undefined;
209
- filterItems?: {
210
- field: string;
211
- id: number;
212
- operator: string;
213
- value?: any;
214
- }[] | undefined;
215
187
  chart?: {
216
188
  type: "bar" | "line" | "pie" | "donut" | "funnel" | "column" | "scatter";
217
189
  xAxis: string;
@@ -221,4 +193,13 @@ export declare const ReportSchema: z.ZodObject<{
221
193
  } | undefined;
222
194
  }>;
223
195
  export type Report = z.infer<typeof ReportSchema>;
196
+ export type ReportColumn = z.infer<typeof ReportColumnSchema>;
197
+ export type ReportGrouping = z.infer<typeof ReportGroupingSchema>;
198
+ export type ReportChart = z.infer<typeof ReportChartSchema>;
199
+ /**
200
+ * Report Factory Helper
201
+ */
202
+ export declare const Report: {
203
+ readonly create: (config: z.input<typeof ReportSchema>) => Report;
204
+ };
224
205
  //# sourceMappingURL=report.zod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"report.zod.d.ts","sourceRoot":"","sources":["../../src/ui/report.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,UAAU,uDAKrB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAI7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;EAM5B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,YAAY;IACvB,eAAe;;;;IAKf,kBAAkB;;IAGlB,2BAA2B;;;;;;;;;;;;;;;IAK3B,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIpC,gBAAgB;;;;;;;;;;;;;;;;;;IAShB,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEpB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"report.zod.d.ts","sourceRoot":"","sources":["../../src/ui/report.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,eAAO,MAAM,UAAU,uDAKrB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAI7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;EAM5B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,YAAY;IACvB,eAAe;;;;IAKf,kBAAkB;;IAGlB,2BAA2B;;;;;;;;;;;;;;;IAK3B,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIpC,gDAAgD;;IAGhD,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEpB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAClD,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;AAClE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,MAAM;8BACA,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,KAAG,MAAM;CAC9C,CAAC"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReportSchema = exports.ReportChartSchema = exports.ReportGroupingSchema = exports.ReportColumnSchema = exports.ReportType = void 0;
3
+ exports.Report = exports.ReportSchema = exports.ReportChartSchema = exports.ReportGroupingSchema = exports.ReportColumnSchema = exports.ReportType = void 0;
4
4
  const zod_1 = require("zod");
5
+ const filter_zod_1 = require("../data/filter.zod");
5
6
  /**
6
7
  * Report Type Enum
7
8
  */
@@ -55,14 +56,14 @@ exports.ReportSchema = zod_1.z.object({
55
56
  /** Grouping (for Summary/Matrix) */
56
57
  groupingsDown: zod_1.z.array(exports.ReportGroupingSchema).optional().describe('Row groupings'),
57
58
  groupingsAcross: zod_1.z.array(exports.ReportGroupingSchema).optional().describe('Column groupings (Matrix only)'),
58
- /** Filtering */
59
- filter: zod_1.z.string().optional().describe('Filter logic (e.g. "1 AND (2 OR 3)")'),
60
- filterItems: zod_1.z.array(zod_1.z.object({
61
- id: zod_1.z.number(),
62
- field: zod_1.z.string(),
63
- operator: zod_1.z.string(),
64
- value: zod_1.z.any()
65
- })).optional().describe('Filter criteria lines'),
59
+ /** Filtering (MongoDB-style FilterCondition) */
60
+ filter: filter_zod_1.FilterConditionSchema.optional().describe('Filter criteria'),
66
61
  /** Visualization */
67
62
  chart: exports.ReportChartSchema.optional().describe('Embedded chart configuration'),
68
63
  });
64
+ /**
65
+ * Report Factory Helper
66
+ */
67
+ exports.Report = {
68
+ create: (config) => exports.ReportSchema.parse(config),
69
+ };