@objectstack/spec 0.1.0 → 0.1.2

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 (309) hide show
  1. package/README.md +134 -121
  2. package/dist/ai/agent.zod.d.ts +164 -0
  3. package/dist/ai/agent.zod.d.ts.map +1 -0
  4. package/dist/ai/agent.zod.js +51 -0
  5. package/dist/api/contract.zod.d.ts +1733 -0
  6. package/dist/api/contract.zod.d.ts.map +1 -0
  7. package/dist/api/contract.zod.js +138 -0
  8. package/dist/data/dataset.zod.d.ts +60 -0
  9. package/dist/data/dataset.zod.d.ts.map +1 -0
  10. package/dist/data/dataset.zod.js +54 -0
  11. package/dist/data/field.zod.d.ts +1808 -0
  12. package/dist/data/field.zod.d.ts.map +1 -0
  13. package/dist/data/field.zod.js +222 -0
  14. package/dist/data/flow.zod.d.ts +242 -0
  15. package/dist/data/flow.zod.d.ts.map +1 -0
  16. package/dist/data/flow.zod.js +77 -0
  17. package/dist/data/mapping.zod.d.ts +470 -0
  18. package/dist/data/mapping.zod.d.ts.map +1 -0
  19. package/dist/data/mapping.zod.js +65 -0
  20. package/dist/data/object.zod.d.ts +844 -0
  21. package/dist/data/object.zod.d.ts.map +1 -0
  22. package/dist/data/object.zod.js +81 -0
  23. package/dist/data/permission.zod.d.ts +163 -0
  24. package/dist/data/permission.zod.d.ts.map +1 -0
  25. package/dist/data/permission.zod.js +62 -0
  26. package/dist/data/query.zod.d.ts +438 -0
  27. package/dist/data/query.zod.d.ts.map +1 -0
  28. package/dist/data/query.zod.js +147 -0
  29. package/dist/data/sharing.zod.d.ts +63 -0
  30. package/dist/data/sharing.zod.d.ts.map +1 -0
  31. package/dist/data/sharing.zod.js +57 -0
  32. package/dist/data/trigger.zod.d.ts +354 -0
  33. package/dist/data/trigger.zod.d.ts.map +1 -0
  34. package/dist/data/trigger.zod.js +195 -0
  35. package/dist/data/validation.zod.d.ts +276 -0
  36. package/dist/data/validation.zod.d.ts.map +1 -0
  37. package/dist/data/validation.zod.js +105 -0
  38. package/dist/data/workflow.zod.d.ts +195 -0
  39. package/dist/data/workflow.zod.d.ts.map +1 -0
  40. package/dist/data/workflow.zod.js +64 -0
  41. package/dist/index.d.ts +41 -5
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +62 -5
  44. package/dist/system/api.zod.d.ts +294 -0
  45. package/dist/system/api.zod.d.ts.map +1 -0
  46. package/dist/system/api.zod.js +56 -0
  47. package/dist/system/constants/index.d.ts +11 -0
  48. package/dist/system/constants/index.d.ts.map +1 -0
  49. package/dist/system/constants/index.js +26 -0
  50. package/dist/system/constants/paths.d.ts +71 -0
  51. package/dist/system/constants/paths.d.ts.map +1 -0
  52. package/dist/system/constants/paths.js +65 -0
  53. package/dist/system/datasource.zod.d.ts +210 -0
  54. package/dist/system/datasource.zod.d.ts.map +1 -0
  55. package/dist/system/datasource.zod.js +90 -0
  56. package/dist/system/discovery.zod.d.ts +174 -0
  57. package/dist/system/discovery.zod.d.ts.map +1 -0
  58. package/dist/system/discovery.zod.js +53 -0
  59. package/dist/system/driver.zod.d.ts +1525 -0
  60. package/dist/system/driver.zod.d.ts.map +1 -0
  61. package/dist/system/driver.zod.js +290 -0
  62. package/dist/system/identity.zod.d.ts +204 -0
  63. package/dist/system/identity.zod.d.ts.map +1 -0
  64. package/dist/system/identity.zod.js +68 -0
  65. package/dist/system/license.zod.d.ts +110 -0
  66. package/dist/system/license.zod.d.ts.map +1 -0
  67. package/dist/system/license.zod.js +63 -0
  68. package/dist/system/manifest.zod.d.ts +397 -0
  69. package/dist/system/manifest.zod.d.ts.map +1 -0
  70. package/dist/system/manifest.zod.js +142 -0
  71. package/dist/system/plugin.zod.d.ts +3516 -0
  72. package/dist/system/plugin.zod.d.ts.map +1 -0
  73. package/dist/system/plugin.zod.js +226 -0
  74. package/dist/system/policy.zod.d.ts +209 -0
  75. package/dist/system/policy.zod.d.ts.map +1 -0
  76. package/dist/system/policy.zod.js +54 -0
  77. package/dist/system/role.zod.d.ts +34 -0
  78. package/dist/system/role.zod.d.ts.map +1 -0
  79. package/dist/system/role.zod.js +25 -0
  80. package/dist/system/territory.zod.d.ts +91 -0
  81. package/dist/system/territory.zod.d.ts.map +1 -0
  82. package/dist/system/territory.zod.js +64 -0
  83. package/dist/system/translation.zod.d.ts +171 -0
  84. package/dist/system/translation.zod.d.ts.map +1 -0
  85. package/dist/system/translation.zod.js +34 -0
  86. package/dist/system/types/index.d.ts +7 -0
  87. package/dist/system/types/index.d.ts.map +1 -0
  88. package/dist/system/types/index.js +22 -0
  89. package/dist/system/types/plugin.d.ts +113 -0
  90. package/dist/system/types/plugin.d.ts.map +1 -0
  91. package/dist/system/types/plugin.js +6 -0
  92. package/dist/system/webhook.zod.d.ts +106 -0
  93. package/dist/system/webhook.zod.d.ts.map +1 -0
  94. package/dist/system/webhook.zod.js +56 -0
  95. package/dist/ui/action.zod.d.ts +155 -0
  96. package/dist/ui/action.zod.d.ts.map +1 -0
  97. package/dist/ui/action.zod.js +54 -0
  98. package/dist/ui/app.zod.d.ts +405 -0
  99. package/dist/ui/app.zod.d.ts.map +1 -0
  100. package/dist/ui/app.zod.js +138 -0
  101. package/dist/ui/dashboard.zod.d.ts +213 -0
  102. package/dist/ui/dashboard.zod.d.ts.map +1 -0
  103. package/dist/ui/dashboard.zod.js +72 -0
  104. package/dist/ui/page.zod.d.ts +187 -0
  105. package/dist/ui/page.zod.d.ts.map +1 -0
  106. package/dist/ui/page.zod.js +48 -0
  107. package/dist/ui/report.zod.d.ts +233 -0
  108. package/dist/ui/report.zod.d.ts.map +1 -0
  109. package/dist/ui/report.zod.js +74 -0
  110. package/dist/ui/theme.zod.d.ts +1221 -0
  111. package/dist/ui/theme.zod.d.ts.map +1 -0
  112. package/dist/ui/theme.zod.js +202 -0
  113. package/dist/ui/view.zod.d.ts +887 -0
  114. package/dist/ui/view.zod.d.ts.map +1 -0
  115. package/dist/ui/view.zod.js +83 -0
  116. package/dist/ui/widget.zod.d.ts +350 -0
  117. package/dist/ui/widget.zod.d.ts.map +1 -0
  118. package/dist/ui/widget.zod.js +66 -0
  119. package/json-schema/AIKnowledge.json +30 -0
  120. package/json-schema/AIModelConfig.json +41 -0
  121. package/json-schema/AITool.json +33 -0
  122. package/json-schema/Action.json +162 -0
  123. package/json-schema/ActionParam.json +82 -0
  124. package/json-schema/Address.json +40 -0
  125. package/json-schema/Agent.json +140 -0
  126. package/json-schema/AggregationFunction.json +19 -0
  127. package/json-schema/AggregationNode.json +42 -0
  128. package/json-schema/Animation.json +56 -0
  129. package/json-schema/ApiCapabilities.json +28 -0
  130. package/json-schema/ApiEndpoint.json +162 -0
  131. package/json-schema/ApiError.json +27 -0
  132. package/json-schema/ApiMapping.json +28 -0
  133. package/json-schema/ApiRoutes.json +41 -0
  134. package/json-schema/App.json +297 -0
  135. package/json-schema/AppBranding.json +24 -0
  136. package/json-schema/AsyncValidation.json +70 -0
  137. package/json-schema/AuditPolicy.json +31 -0
  138. package/json-schema/AuthProtocol.json +17 -0
  139. package/json-schema/AuthProvider.json +171 -0
  140. package/json-schema/BaseResponse.json +63 -0
  141. package/json-schema/BorderRadius.json +44 -0
  142. package/json-schema/Breakpoints.json +36 -0
  143. package/json-schema/BulkRequest.json +29 -0
  144. package/json-schema/BulkResponse.json +108 -0
  145. package/json-schema/CalendarConfig.json +28 -0
  146. package/json-schema/ChartType.json +19 -0
  147. package/json-schema/ColorPalette.json +83 -0
  148. package/json-schema/ConditionalValidation.json +793 -0
  149. package/json-schema/CreateRequest.json +20 -0
  150. package/json-schema/CrossFieldValidation.json +56 -0
  151. package/json-schema/CustomValidator.json +57 -0
  152. package/json-schema/Dashboard.json +117 -0
  153. package/json-schema/DashboardNavItem.json +42 -0
  154. package/json-schema/DashboardWidget.json +89 -0
  155. package/json-schema/Dataset.json +63 -0
  156. package/json-schema/DatasetMode.json +16 -0
  157. package/json-schema/Datasource.json +75 -0
  158. package/json-schema/DatasourceCapabilities.json +36 -0
  159. package/json-schema/DeleteResponse.json +68 -0
  160. package/json-schema/Discovery.json +114 -0
  161. package/json-schema/DriverCapabilities.json +39 -0
  162. package/json-schema/DriverDefinition.json +66 -0
  163. package/json-schema/DriverInterface.json +58 -0
  164. package/json-schema/DriverOptions.json +23 -0
  165. package/json-schema/DriverType.json +10 -0
  166. package/json-schema/EmailAlertAction.json +37 -0
  167. package/json-schema/ExportRequest.json +786 -0
  168. package/json-schema/Feature.json +51 -0
  169. package/json-schema/Field.json +290 -0
  170. package/json-schema/FieldMapping.json +83 -0
  171. package/json-schema/FieldNode.json +32 -0
  172. package/json-schema/FieldPermission.json +22 -0
  173. package/json-schema/FieldType.json +42 -0
  174. package/json-schema/FieldUpdateAction.json +32 -0
  175. package/json-schema/FieldWidgetProps.json +327 -0
  176. package/json-schema/FilterNode.json +52 -0
  177. package/json-schema/FilterOperator.json +26 -0
  178. package/json-schema/Flow.json +186 -0
  179. package/json-schema/FlowEdge.json +37 -0
  180. package/json-schema/FlowNode.json +65 -0
  181. package/json-schema/FlowNodeAction.json +24 -0
  182. package/json-schema/FlowVariable.json +34 -0
  183. package/json-schema/FormSection.json +42 -0
  184. package/json-schema/FormView.json +99 -0
  185. package/json-schema/FormatValidation.json +59 -0
  186. package/json-schema/GanttConfig.json +32 -0
  187. package/json-schema/GroupNavItem.json +42 -0
  188. package/json-schema/HttpMethod.json +16 -0
  189. package/json-schema/I18nContext.json +12 -0
  190. package/json-schema/Index.json +30 -0
  191. package/json-schema/JoinNode.json +455 -0
  192. package/json-schema/JoinType.json +15 -0
  193. package/json-schema/KanbanConfig.json +31 -0
  194. package/json-schema/LDAPConfig.json +39 -0
  195. package/json-schema/License.json +57 -0
  196. package/json-schema/ListRecordResponse.json +103 -0
  197. package/json-schema/ListView.json +153 -0
  198. package/json-schema/Locale.json +10 -0
  199. package/json-schema/LocationCoordinates.json +36 -0
  200. package/json-schema/Logger.json +25 -0
  201. package/json-schema/LogicOperator.json +14 -0
  202. package/json-schema/Manifest.json +315 -0
  203. package/json-schema/Mapping.json +598 -0
  204. package/json-schema/MenuItem.json +28 -0
  205. package/json-schema/MetricType.json +14 -0
  206. package/json-schema/ModificationResult.json +46 -0
  207. package/json-schema/NavigationItem.json +214 -0
  208. package/json-schema/NetworkPolicy.json +31 -0
  209. package/json-schema/OIDCConfig.json +46 -0
  210. package/json-schema/OWDModel.json +14 -0
  211. package/json-schema/Object.json +428 -0
  212. package/json-schema/ObjectCapabilities.json +62 -0
  213. package/json-schema/ObjectNavItem.json +46 -0
  214. package/json-schema/ObjectPermission.json +42 -0
  215. package/json-schema/ObjectQLClient.json +12 -0
  216. package/json-schema/Page.json +117 -0
  217. package/json-schema/PageComponent.json +36 -0
  218. package/json-schema/PageNavItem.json +47 -0
  219. package/json-schema/PageRegion.json +63 -0
  220. package/json-schema/PasswordPolicy.json +41 -0
  221. package/json-schema/PermissionSet.json +96 -0
  222. package/json-schema/Plan.json +53 -0
  223. package/json-schema/Plugin.json +20 -0
  224. package/json-schema/PluginContext.json +91 -0
  225. package/json-schema/PluginLifecycle.json +11 -0
  226. package/json-schema/Policy.json +138 -0
  227. package/json-schema/Query.json +456 -0
  228. package/json-schema/RateLimit.json +26 -0
  229. package/json-schema/RecordData.json +11 -0
  230. package/json-schema/Report.json +219 -0
  231. package/json-schema/ReportChart.json +45 -0
  232. package/json-schema/ReportColumn.json +35 -0
  233. package/json-schema/ReportGrouping.json +38 -0
  234. package/json-schema/ReportType.json +15 -0
  235. package/json-schema/Role.json +32 -0
  236. package/json-schema/Router.json +12 -0
  237. package/json-schema/SAMLConfig.json +44 -0
  238. package/json-schema/Scheduler.json +12 -0
  239. package/json-schema/ScopedStorage.json +12 -0
  240. package/json-schema/ScriptValidation.json +48 -0
  241. package/json-schema/SelectOption.json +32 -0
  242. package/json-schema/SessionPolicy.json +27 -0
  243. package/json-schema/Shadow.json +44 -0
  244. package/json-schema/SharingLevel.json +13 -0
  245. package/json-schema/SharingRule.json +58 -0
  246. package/json-schema/SharingRuleType.json +15 -0
  247. package/json-schema/SingleRecordResponse.json +69 -0
  248. package/json-schema/SortNode.json +26 -0
  249. package/json-schema/Spacing.json +64 -0
  250. package/json-schema/StateMachineValidation.json +59 -0
  251. package/json-schema/SystemAPI.json +12 -0
  252. package/json-schema/Territory.json +77 -0
  253. package/json-schema/TerritoryModel.json +34 -0
  254. package/json-schema/TerritoryType.json +15 -0
  255. package/json-schema/Theme.json +543 -0
  256. package/json-schema/ThemeMode.json +14 -0
  257. package/json-schema/TransformType.json +18 -0
  258. package/json-schema/TranslationBundle.json +78 -0
  259. package/json-schema/TranslationData.json +75 -0
  260. package/json-schema/Trigger.json +73 -0
  261. package/json-schema/TriggerAction.json +14 -0
  262. package/json-schema/TriggerContext.json +61 -0
  263. package/json-schema/TriggerTiming.json +13 -0
  264. package/json-schema/Typography.json +142 -0
  265. package/json-schema/UniquenessValidation.json +59 -0
  266. package/json-schema/UpdateRequest.json +20 -0
  267. package/json-schema/UrlNavItem.json +51 -0
  268. package/json-schema/ValidationRule.json +794 -0
  269. package/json-schema/View.json +500 -0
  270. package/json-schema/Webhook.json +88 -0
  271. package/json-schema/WebhookReceiver.json +66 -0
  272. package/json-schema/WebhookTriggerType.json +16 -0
  273. package/json-schema/WindowFunction.json +24 -0
  274. package/json-schema/WindowFunctionNode.json +104 -0
  275. package/json-schema/WindowSpec.json +65 -0
  276. package/json-schema/WorkflowAction.json +84 -0
  277. package/json-schema/WorkflowRule.json +128 -0
  278. package/json-schema/WorkflowTriggerType.json +16 -0
  279. package/json-schema/ZIndex.json +44 -0
  280. package/package.json +34 -20
  281. package/dist/examples.d.ts +0 -28
  282. package/dist/examples.d.ts.map +0 -1
  283. package/dist/examples.js +0 -250
  284. package/dist/types/index.d.ts +0 -9
  285. package/dist/types/index.d.ts.map +0 -1
  286. package/dist/types/index.js +0 -8
  287. package/dist/types/meta/field-type.d.ts +0 -54
  288. package/dist/types/meta/field-type.d.ts.map +0 -1
  289. package/dist/types/meta/field-type.js +0 -42
  290. package/dist/types/meta/index.d.ts +0 -13
  291. package/dist/types/meta/index.d.ts.map +0 -1
  292. package/dist/types/meta/index.js +0 -12
  293. package/dist/types/meta/object-entity.d.ts +0 -246
  294. package/dist/types/meta/object-entity.d.ts.map +0 -1
  295. package/dist/types/meta/object-entity.js +0 -9
  296. package/dist/types/meta/object-field.d.ts +0 -199
  297. package/dist/types/meta/object-field.d.ts.map +0 -1
  298. package/dist/types/meta/object-field.js +0 -9
  299. package/dist/types/meta/object-view.d.ts +0 -430
  300. package/dist/types/meta/object-view.d.ts.map +0 -1
  301. package/dist/types/meta/object-view.js +0 -9
  302. package/src/examples.ts +0 -257
  303. package/src/index.ts +0 -10
  304. package/src/types/index.ts +0 -9
  305. package/src/types/meta/field-type.ts +0 -91
  306. package/src/types/meta/index.ts +0 -13
  307. package/src/types/meta/object-entity.ts +0 -265
  308. package/src/types/meta/object-field.ts +0 -218
  309. package/src/types/meta/object-view.ts +0 -475
@@ -0,0 +1,276 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * 1. Script/Expression Validation
4
+ * Generic formula-based validation.
5
+ */
6
+ export declare const ScriptValidationSchema: z.ZodObject<{
7
+ name: z.ZodString;
8
+ active: z.ZodDefault<z.ZodBoolean>;
9
+ severity: z.ZodDefault<z.ZodEnum<["error", "warning", "info"]>>;
10
+ message: z.ZodString;
11
+ } & {
12
+ type: z.ZodLiteral<"script">;
13
+ condition: z.ZodString;
14
+ }, "strip", z.ZodTypeAny, {
15
+ message: string;
16
+ type: "script";
17
+ name: string;
18
+ active: boolean;
19
+ severity: "error" | "warning" | "info";
20
+ condition: string;
21
+ }, {
22
+ message: string;
23
+ type: "script";
24
+ name: string;
25
+ condition: string;
26
+ active?: boolean | undefined;
27
+ severity?: "error" | "warning" | "info" | undefined;
28
+ }>;
29
+ /**
30
+ * 2. Uniqueness Validation
31
+ * specialized optimized check for unique constraints.
32
+ */
33
+ export declare const UniquenessValidationSchema: z.ZodObject<{
34
+ name: z.ZodString;
35
+ active: z.ZodDefault<z.ZodBoolean>;
36
+ severity: z.ZodDefault<z.ZodEnum<["error", "warning", "info"]>>;
37
+ message: z.ZodString;
38
+ } & {
39
+ type: z.ZodLiteral<"unique">;
40
+ fields: z.ZodArray<z.ZodString, "many">;
41
+ scope: z.ZodOptional<z.ZodString>;
42
+ caseSensitive: z.ZodDefault<z.ZodBoolean>;
43
+ }, "strip", z.ZodTypeAny, {
44
+ message: string;
45
+ type: "unique";
46
+ name: string;
47
+ fields: string[];
48
+ active: boolean;
49
+ severity: "error" | "warning" | "info";
50
+ caseSensitive: boolean;
51
+ scope?: string | undefined;
52
+ }, {
53
+ message: string;
54
+ type: "unique";
55
+ name: string;
56
+ fields: string[];
57
+ active?: boolean | undefined;
58
+ severity?: "error" | "warning" | "info" | undefined;
59
+ scope?: string | undefined;
60
+ caseSensitive?: boolean | undefined;
61
+ }>;
62
+ /**
63
+ * 3. State Machine Validation
64
+ * State transition logic.
65
+ */
66
+ export declare const StateMachineValidationSchema: z.ZodObject<{
67
+ name: z.ZodString;
68
+ active: z.ZodDefault<z.ZodBoolean>;
69
+ severity: z.ZodDefault<z.ZodEnum<["error", "warning", "info"]>>;
70
+ message: z.ZodString;
71
+ } & {
72
+ type: z.ZodLiteral<"state_machine">;
73
+ field: z.ZodString;
74
+ transitions: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>;
75
+ }, "strip", z.ZodTypeAny, {
76
+ message: string;
77
+ type: "state_machine";
78
+ name: string;
79
+ field: string;
80
+ active: boolean;
81
+ severity: "error" | "warning" | "info";
82
+ transitions: Record<string, string[]>;
83
+ }, {
84
+ message: string;
85
+ type: "state_machine";
86
+ name: string;
87
+ field: string;
88
+ transitions: Record<string, string[]>;
89
+ active?: boolean | undefined;
90
+ severity?: "error" | "warning" | "info" | undefined;
91
+ }>;
92
+ /**
93
+ * 4. Value Format Validation
94
+ * Regex or specialized formats.
95
+ */
96
+ export declare const FormatValidationSchema: z.ZodObject<{
97
+ name: z.ZodString;
98
+ active: z.ZodDefault<z.ZodBoolean>;
99
+ severity: z.ZodDefault<z.ZodEnum<["error", "warning", "info"]>>;
100
+ message: z.ZodString;
101
+ } & {
102
+ type: z.ZodLiteral<"format">;
103
+ field: z.ZodString;
104
+ regex: z.ZodOptional<z.ZodString>;
105
+ format: z.ZodOptional<z.ZodEnum<["email", "url", "phone", "json"]>>;
106
+ }, "strip", z.ZodTypeAny, {
107
+ message: string;
108
+ type: "format";
109
+ name: string;
110
+ field: string;
111
+ active: boolean;
112
+ severity: "error" | "warning" | "info";
113
+ format?: "email" | "url" | "phone" | "json" | undefined;
114
+ regex?: string | undefined;
115
+ }, {
116
+ message: string;
117
+ type: "format";
118
+ name: string;
119
+ field: string;
120
+ format?: "email" | "url" | "phone" | "json" | undefined;
121
+ active?: boolean | undefined;
122
+ severity?: "error" | "warning" | "info" | undefined;
123
+ regex?: string | undefined;
124
+ }>;
125
+ /**
126
+ * 5. Cross-Field Validation
127
+ * Validates relationships between multiple fields.
128
+ */
129
+ export declare const CrossFieldValidationSchema: z.ZodObject<{
130
+ name: z.ZodString;
131
+ active: z.ZodDefault<z.ZodBoolean>;
132
+ severity: z.ZodDefault<z.ZodEnum<["error", "warning", "info"]>>;
133
+ message: z.ZodString;
134
+ } & {
135
+ type: z.ZodLiteral<"cross_field">;
136
+ condition: z.ZodString;
137
+ fields: z.ZodArray<z.ZodString, "many">;
138
+ }, "strip", z.ZodTypeAny, {
139
+ message: string;
140
+ type: "cross_field";
141
+ name: string;
142
+ fields: string[];
143
+ active: boolean;
144
+ severity: "error" | "warning" | "info";
145
+ condition: string;
146
+ }, {
147
+ message: string;
148
+ type: "cross_field";
149
+ name: string;
150
+ fields: string[];
151
+ condition: string;
152
+ active?: boolean | undefined;
153
+ severity?: "error" | "warning" | "info" | undefined;
154
+ }>;
155
+ /**
156
+ * 6. Async Validation
157
+ * Remote validation via API call or database query.
158
+ */
159
+ export declare const AsyncValidationSchema: z.ZodObject<{
160
+ name: z.ZodString;
161
+ active: z.ZodDefault<z.ZodBoolean>;
162
+ severity: z.ZodDefault<z.ZodEnum<["error", "warning", "info"]>>;
163
+ message: z.ZodString;
164
+ } & {
165
+ type: z.ZodLiteral<"async">;
166
+ field: z.ZodString;
167
+ validatorUrl: z.ZodOptional<z.ZodString>;
168
+ validatorFunction: z.ZodOptional<z.ZodString>;
169
+ timeout: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
170
+ debounce: z.ZodOptional<z.ZodNumber>;
171
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
172
+ }, "strip", z.ZodTypeAny, {
173
+ message: string;
174
+ type: "async";
175
+ name: string;
176
+ field: string;
177
+ active: boolean;
178
+ severity: "error" | "warning" | "info";
179
+ timeout: number;
180
+ params?: Record<string, any> | undefined;
181
+ validatorUrl?: string | undefined;
182
+ validatorFunction?: string | undefined;
183
+ debounce?: number | undefined;
184
+ }, {
185
+ message: string;
186
+ type: "async";
187
+ name: string;
188
+ field: string;
189
+ params?: Record<string, any> | undefined;
190
+ active?: boolean | undefined;
191
+ severity?: "error" | "warning" | "info" | undefined;
192
+ validatorUrl?: string | undefined;
193
+ validatorFunction?: string | undefined;
194
+ timeout?: number | undefined;
195
+ debounce?: number | undefined;
196
+ }>;
197
+ /**
198
+ * 7. Custom Validator Function
199
+ * User-defined validation logic with code reference.
200
+ */
201
+ export declare const CustomValidatorSchema: z.ZodObject<{
202
+ name: z.ZodString;
203
+ active: z.ZodDefault<z.ZodBoolean>;
204
+ severity: z.ZodDefault<z.ZodEnum<["error", "warning", "info"]>>;
205
+ message: z.ZodString;
206
+ } & {
207
+ type: z.ZodLiteral<"custom">;
208
+ field: z.ZodOptional<z.ZodString>;
209
+ validatorFunction: z.ZodString;
210
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
211
+ }, "strip", z.ZodTypeAny, {
212
+ message: string;
213
+ type: "custom";
214
+ name: string;
215
+ active: boolean;
216
+ severity: "error" | "warning" | "info";
217
+ validatorFunction: string;
218
+ params?: Record<string, any> | undefined;
219
+ field?: string | undefined;
220
+ }, {
221
+ message: string;
222
+ type: "custom";
223
+ name: string;
224
+ validatorFunction: string;
225
+ params?: Record<string, any> | undefined;
226
+ field?: string | undefined;
227
+ active?: boolean | undefined;
228
+ severity?: "error" | "warning" | "info" | undefined;
229
+ }>;
230
+ /**
231
+ * Master Validation Rule Schema (forward declared for circular reference)
232
+ */
233
+ export declare const ValidationRuleSchema: z.ZodType<any>;
234
+ /**
235
+ * 8. Conditional Validation
236
+ * Validation that only applies when a condition is met.
237
+ */
238
+ export declare const ConditionalValidationSchema: z.ZodObject<{
239
+ name: z.ZodString;
240
+ active: z.ZodDefault<z.ZodBoolean>;
241
+ severity: z.ZodDefault<z.ZodEnum<["error", "warning", "info"]>>;
242
+ message: z.ZodString;
243
+ } & {
244
+ type: z.ZodLiteral<"conditional">;
245
+ when: z.ZodString;
246
+ then: z.ZodType<any, z.ZodTypeDef, any>;
247
+ otherwise: z.ZodOptional<z.ZodType<any, z.ZodTypeDef, any>>;
248
+ }, "strip", z.ZodTypeAny, {
249
+ message: string;
250
+ type: "conditional";
251
+ name: string;
252
+ active: boolean;
253
+ severity: "error" | "warning" | "info";
254
+ when: string;
255
+ then?: any;
256
+ otherwise?: any;
257
+ }, {
258
+ message: string;
259
+ type: "conditional";
260
+ name: string;
261
+ when: string;
262
+ active?: boolean | undefined;
263
+ severity?: "error" | "warning" | "info" | undefined;
264
+ then?: any;
265
+ otherwise?: any;
266
+ }>;
267
+ export type ValidationRule = z.infer<typeof ValidationRuleSchema>;
268
+ export type ScriptValidation = z.infer<typeof ScriptValidationSchema>;
269
+ export type UniquenessValidation = z.infer<typeof UniquenessValidationSchema>;
270
+ export type StateMachineValidation = z.infer<typeof StateMachineValidationSchema>;
271
+ export type FormatValidation = z.infer<typeof FormatValidationSchema>;
272
+ export type CrossFieldValidation = z.infer<typeof CrossFieldValidationSchema>;
273
+ export type AsyncValidation = z.infer<typeof AsyncValidationSchema>;
274
+ export type CustomValidation = z.infer<typeof CustomValidatorSchema>;
275
+ export type ConditionalValidation = z.infer<typeof ConditionalValidationSchema>;
276
+ //# sourceMappingURL=validation.zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.zod.d.ts","sourceRoot":"","sources":["../../src/data/validation.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;EAGjC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKrC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;EAIvC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKjC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;EAIrC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQhC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAW/C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKtC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACrE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConditionalValidationSchema = exports.ValidationRuleSchema = exports.CustomValidatorSchema = exports.AsyncValidationSchema = exports.CrossFieldValidationSchema = exports.FormatValidationSchema = exports.StateMachineValidationSchema = exports.UniquenessValidationSchema = exports.ScriptValidationSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ /**
6
+ * Base Validation Rule
7
+ */
8
+ const BaseValidationSchema = zod_1.z.object({
9
+ name: zod_1.z.string().regex(/^[a-z_][a-z0-9_]*$/).describe('Unique rule name'),
10
+ active: zod_1.z.boolean().default(true),
11
+ severity: zod_1.z.enum(['error', 'warning', 'info']).default('error'),
12
+ message: zod_1.z.string().describe('Error message to display'),
13
+ });
14
+ /**
15
+ * 1. Script/Expression Validation
16
+ * Generic formula-based validation.
17
+ */
18
+ exports.ScriptValidationSchema = BaseValidationSchema.extend({
19
+ type: zod_1.z.literal('script'),
20
+ condition: zod_1.z.string().describe('Formula expression. If TRUE, validation fails. (e.g. amount < 0)'),
21
+ });
22
+ /**
23
+ * 2. Uniqueness Validation
24
+ * specialized optimized check for unique constraints.
25
+ */
26
+ exports.UniquenessValidationSchema = BaseValidationSchema.extend({
27
+ type: zod_1.z.literal('unique'),
28
+ fields: zod_1.z.array(zod_1.z.string()).describe('Fields that must be combined unique'),
29
+ scope: zod_1.z.string().optional().describe('Formula condition for scope (e.g. active = true)'),
30
+ caseSensitive: zod_1.z.boolean().default(true),
31
+ });
32
+ /**
33
+ * 3. State Machine Validation
34
+ * State transition logic.
35
+ */
36
+ exports.StateMachineValidationSchema = BaseValidationSchema.extend({
37
+ type: zod_1.z.literal('state_machine'),
38
+ field: zod_1.z.string().describe('State field (e.g. status)'),
39
+ transitions: zod_1.z.record(zod_1.z.array(zod_1.z.string())).describe('Map of { OldState: [AllowedNewStates] }'),
40
+ });
41
+ /**
42
+ * 4. Value Format Validation
43
+ * Regex or specialized formats.
44
+ */
45
+ exports.FormatValidationSchema = BaseValidationSchema.extend({
46
+ type: zod_1.z.literal('format'),
47
+ field: zod_1.z.string(),
48
+ regex: zod_1.z.string().optional(),
49
+ format: zod_1.z.enum(['email', 'url', 'phone', 'json']).optional(),
50
+ });
51
+ /**
52
+ * 5. Cross-Field Validation
53
+ * Validates relationships between multiple fields.
54
+ */
55
+ exports.CrossFieldValidationSchema = BaseValidationSchema.extend({
56
+ type: zod_1.z.literal('cross_field'),
57
+ condition: zod_1.z.string().describe('Formula expression comparing fields (e.g. "end_date > start_date")'),
58
+ fields: zod_1.z.array(zod_1.z.string()).describe('Fields involved in the validation'),
59
+ });
60
+ /**
61
+ * 6. Async Validation
62
+ * Remote validation via API call or database query.
63
+ */
64
+ exports.AsyncValidationSchema = BaseValidationSchema.extend({
65
+ type: zod_1.z.literal('async'),
66
+ field: zod_1.z.string().describe('Field to validate'),
67
+ validatorUrl: zod_1.z.string().optional().describe('External API endpoint for validation'),
68
+ validatorFunction: zod_1.z.string().optional().describe('Reference to custom validator function'),
69
+ timeout: zod_1.z.number().optional().default(5000).describe('Timeout in milliseconds'),
70
+ debounce: zod_1.z.number().optional().describe('Debounce delay in milliseconds'),
71
+ params: zod_1.z.record(zod_1.z.any()).optional().describe('Additional parameters to pass to validator'),
72
+ });
73
+ /**
74
+ * 7. Custom Validator Function
75
+ * User-defined validation logic with code reference.
76
+ */
77
+ exports.CustomValidatorSchema = BaseValidationSchema.extend({
78
+ type: zod_1.z.literal('custom'),
79
+ field: zod_1.z.string().optional().describe('Field to validate (optional for record-level validation)'),
80
+ validatorFunction: zod_1.z.string().describe('Function name or reference to custom validator'),
81
+ params: zod_1.z.record(zod_1.z.any()).optional().describe('Additional parameters for the validator'),
82
+ });
83
+ /**
84
+ * Master Validation Rule Schema (forward declared for circular reference)
85
+ */
86
+ exports.ValidationRuleSchema = zod_1.z.lazy(() => zod_1.z.discriminatedUnion('type', [
87
+ exports.ScriptValidationSchema,
88
+ exports.UniquenessValidationSchema,
89
+ exports.StateMachineValidationSchema,
90
+ exports.FormatValidationSchema,
91
+ exports.CrossFieldValidationSchema,
92
+ exports.AsyncValidationSchema,
93
+ exports.CustomValidatorSchema,
94
+ exports.ConditionalValidationSchema,
95
+ ]));
96
+ /**
97
+ * 8. Conditional Validation
98
+ * Validation that only applies when a condition is met.
99
+ */
100
+ exports.ConditionalValidationSchema = BaseValidationSchema.extend({
101
+ type: zod_1.z.literal('conditional'),
102
+ when: zod_1.z.string().describe('Condition formula (e.g. "type = \'enterprise\'")'),
103
+ then: exports.ValidationRuleSchema.describe('Validation rule to apply when condition is true'),
104
+ otherwise: exports.ValidationRuleSchema.optional().describe('Validation rule to apply when condition is false'),
105
+ });
@@ -0,0 +1,195 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Trigger events for workflow automation
4
+ */
5
+ export declare const WorkflowTriggerType: z.ZodEnum<["on_create", "on_update", "on_create_or_update", "on_delete", "schedule"]>;
6
+ /**
7
+ * Schema for Workflow Field Update Action
8
+ */
9
+ export declare const FieldUpdateActionSchema: z.ZodObject<{
10
+ name: z.ZodString;
11
+ type: z.ZodLiteral<"field_update">;
12
+ field: z.ZodString;
13
+ value: z.ZodAny;
14
+ }, "strip", z.ZodTypeAny, {
15
+ type: "field_update";
16
+ name: string;
17
+ field: string;
18
+ value?: any;
19
+ }, {
20
+ type: "field_update";
21
+ name: string;
22
+ field: string;
23
+ value?: any;
24
+ }>;
25
+ /**
26
+ * Schema for Workflow Email Alert Action
27
+ */
28
+ export declare const EmailAlertActionSchema: z.ZodObject<{
29
+ name: z.ZodString;
30
+ type: z.ZodLiteral<"email_alert">;
31
+ template: z.ZodString;
32
+ recipients: z.ZodArray<z.ZodString, "many">;
33
+ }, "strip", z.ZodTypeAny, {
34
+ type: "email_alert";
35
+ name: string;
36
+ template: string;
37
+ recipients: string[];
38
+ }, {
39
+ type: "email_alert";
40
+ name: string;
41
+ template: string;
42
+ recipients: string[];
43
+ }>;
44
+ /**
45
+ * Generic Workflow Action Wrapper
46
+ */
47
+ export declare const WorkflowActionSchema: z.ZodUnion<[z.ZodObject<{
48
+ name: z.ZodString;
49
+ type: z.ZodLiteral<"field_update">;
50
+ field: z.ZodString;
51
+ value: z.ZodAny;
52
+ }, "strip", z.ZodTypeAny, {
53
+ type: "field_update";
54
+ name: string;
55
+ field: string;
56
+ value?: any;
57
+ }, {
58
+ type: "field_update";
59
+ name: string;
60
+ field: string;
61
+ value?: any;
62
+ }>, z.ZodObject<{
63
+ name: z.ZodString;
64
+ type: z.ZodLiteral<"email_alert">;
65
+ template: z.ZodString;
66
+ recipients: z.ZodArray<z.ZodString, "many">;
67
+ }, "strip", z.ZodTypeAny, {
68
+ type: "email_alert";
69
+ name: string;
70
+ template: string;
71
+ recipients: string[];
72
+ }, {
73
+ type: "email_alert";
74
+ name: string;
75
+ template: string;
76
+ recipients: string[];
77
+ }>, z.ZodObject<{
78
+ name: z.ZodString;
79
+ type: z.ZodString;
80
+ options: z.ZodAny;
81
+ }, "strip", z.ZodTypeAny, {
82
+ type: string;
83
+ name: string;
84
+ options?: any;
85
+ }, {
86
+ type: string;
87
+ name: string;
88
+ options?: any;
89
+ }>]>;
90
+ /**
91
+ * Schema for Workflow Rules (Automation)
92
+ */
93
+ export declare const WorkflowRuleSchema: z.ZodObject<{
94
+ /** Machine name */
95
+ name: z.ZodString;
96
+ /** Target Object */
97
+ objectName: z.ZodString;
98
+ /** When to evaluate the rule */
99
+ triggerType: z.ZodEnum<["on_create", "on_update", "on_create_or_update", "on_delete", "schedule"]>;
100
+ /**
101
+ * Condition to start the workflow.
102
+ * If empty, runs on every trigger event.
103
+ */
104
+ criteria: z.ZodOptional<z.ZodString>;
105
+ /** Actions to execute immediately */
106
+ actions: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
107
+ name: z.ZodString;
108
+ type: z.ZodLiteral<"field_update">;
109
+ field: z.ZodString;
110
+ value: z.ZodAny;
111
+ }, "strip", z.ZodTypeAny, {
112
+ type: "field_update";
113
+ name: string;
114
+ field: string;
115
+ value?: any;
116
+ }, {
117
+ type: "field_update";
118
+ name: string;
119
+ field: string;
120
+ value?: any;
121
+ }>, z.ZodObject<{
122
+ name: z.ZodString;
123
+ type: z.ZodLiteral<"email_alert">;
124
+ template: z.ZodString;
125
+ recipients: z.ZodArray<z.ZodString, "many">;
126
+ }, "strip", z.ZodTypeAny, {
127
+ type: "email_alert";
128
+ name: string;
129
+ template: string;
130
+ recipients: string[];
131
+ }, {
132
+ type: "email_alert";
133
+ name: string;
134
+ template: string;
135
+ recipients: string[];
136
+ }>, z.ZodObject<{
137
+ name: z.ZodString;
138
+ type: z.ZodString;
139
+ options: z.ZodAny;
140
+ }, "strip", z.ZodTypeAny, {
141
+ type: string;
142
+ name: string;
143
+ options?: any;
144
+ }, {
145
+ type: string;
146
+ name: string;
147
+ options?: any;
148
+ }>]>, "many">>;
149
+ /** Active status */
150
+ active: z.ZodDefault<z.ZodBoolean>;
151
+ }, "strip", z.ZodTypeAny, {
152
+ name: string;
153
+ active: boolean;
154
+ objectName: string;
155
+ triggerType: "on_create" | "on_update" | "on_create_or_update" | "on_delete" | "schedule";
156
+ criteria?: string | undefined;
157
+ actions?: ({
158
+ type: "field_update";
159
+ name: string;
160
+ field: string;
161
+ value?: any;
162
+ } | {
163
+ type: "email_alert";
164
+ name: string;
165
+ template: string;
166
+ recipients: string[];
167
+ } | {
168
+ type: string;
169
+ name: string;
170
+ options?: any;
171
+ })[] | undefined;
172
+ }, {
173
+ name: string;
174
+ objectName: string;
175
+ triggerType: "on_create" | "on_update" | "on_create_or_update" | "on_delete" | "schedule";
176
+ active?: boolean | undefined;
177
+ criteria?: string | undefined;
178
+ actions?: ({
179
+ type: "field_update";
180
+ name: string;
181
+ field: string;
182
+ value?: any;
183
+ } | {
184
+ type: "email_alert";
185
+ name: string;
186
+ template: string;
187
+ recipients: string[];
188
+ } | {
189
+ type: string;
190
+ name: string;
191
+ options?: any;
192
+ })[] | undefined;
193
+ }>;
194
+ export type WorkflowRule = z.infer<typeof WorkflowRuleSchema>;
195
+ //# sourceMappingURL=workflow.zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.zod.d.ts","sourceRoot":"","sources":["../../src/data/workflow.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,mBAAmB,uFAM9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;EAKlC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;EAKjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQ/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;IAC7B,mBAAmB;;IAGnB,oBAAoB;;IAGpB,gCAAgC;;IAGhC;;;OAGG;;IAGH,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGrC,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEpB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkflowRuleSchema = exports.WorkflowActionSchema = exports.EmailAlertActionSchema = exports.FieldUpdateActionSchema = exports.WorkflowTriggerType = void 0;
4
+ const zod_1 = require("zod");
5
+ /**
6
+ * Trigger events for workflow automation
7
+ */
8
+ exports.WorkflowTriggerType = zod_1.z.enum([
9
+ 'on_create', // When record is created
10
+ 'on_update', // When record is updated
11
+ 'on_create_or_update', // Both
12
+ 'on_delete', // When record is deleted
13
+ 'schedule' // Time-based (cron)
14
+ ]);
15
+ /**
16
+ * Schema for Workflow Field Update Action
17
+ */
18
+ exports.FieldUpdateActionSchema = zod_1.z.object({
19
+ name: zod_1.z.string().describe('Action name'),
20
+ type: zod_1.z.literal('field_update'),
21
+ field: zod_1.z.string().describe('Field to update'),
22
+ value: zod_1.z.any().describe('Value or Formula to set'),
23
+ });
24
+ /**
25
+ * Schema for Workflow Email Alert Action
26
+ */
27
+ exports.EmailAlertActionSchema = zod_1.z.object({
28
+ name: zod_1.z.string().describe('Action name'),
29
+ type: zod_1.z.literal('email_alert'),
30
+ template: zod_1.z.string().describe('Email template ID/DevName'),
31
+ recipients: zod_1.z.array(zod_1.z.string()).describe('List of recipient emails or user IDs'),
32
+ });
33
+ /**
34
+ * Generic Workflow Action Wrapper
35
+ */
36
+ exports.WorkflowActionSchema = zod_1.z.union([
37
+ exports.FieldUpdateActionSchema,
38
+ exports.EmailAlertActionSchema,
39
+ zod_1.z.object({
40
+ name: zod_1.z.string(),
41
+ type: zod_1.z.string(),
42
+ options: zod_1.z.any()
43
+ })
44
+ ]);
45
+ /**
46
+ * Schema for Workflow Rules (Automation)
47
+ */
48
+ exports.WorkflowRuleSchema = zod_1.z.object({
49
+ /** Machine name */
50
+ name: zod_1.z.string().regex(/^[a-z_][a-z0-9_]*$/).describe('Unique workflow name'),
51
+ /** Target Object */
52
+ objectName: zod_1.z.string().describe('Target Object'),
53
+ /** When to evaluate the rule */
54
+ triggerType: exports.WorkflowTriggerType.describe('When to evaluate'),
55
+ /**
56
+ * Condition to start the workflow.
57
+ * If empty, runs on every trigger event.
58
+ */
59
+ criteria: zod_1.z.string().optional().describe('Formula condition. If TRUE, actions execute.'),
60
+ /** Actions to execute immediately */
61
+ actions: zod_1.z.array(exports.WorkflowActionSchema).optional().describe('Immediate actions'),
62
+ /** Active status */
63
+ active: zod_1.z.boolean().default(true).describe('Whether this workflow is active'),
64
+ });