@objectstack/spec 0.1.0 → 0.1.1

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 (231) hide show
  1. package/README.md +66 -125
  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/data/dataset.zod.d.ts +60 -0
  6. package/dist/data/dataset.zod.d.ts.map +1 -0
  7. package/dist/data/dataset.zod.js +54 -0
  8. package/dist/data/field.zod.d.ts +170 -0
  9. package/dist/data/field.zod.d.ts.map +1 -0
  10. package/dist/data/field.zod.js +81 -0
  11. package/dist/data/flow.zod.d.ts +242 -0
  12. package/dist/data/flow.zod.d.ts.map +1 -0
  13. package/dist/data/flow.zod.js +77 -0
  14. package/dist/data/mapping.zod.d.ts +257 -0
  15. package/dist/data/mapping.zod.d.ts.map +1 -0
  16. package/dist/data/mapping.zod.js +65 -0
  17. package/dist/data/object.zod.d.ts +364 -0
  18. package/dist/data/object.zod.d.ts.map +1 -0
  19. package/dist/data/object.zod.js +54 -0
  20. package/dist/data/permission.zod.d.ts +163 -0
  21. package/dist/data/permission.zod.d.ts.map +1 -0
  22. package/dist/data/permission.zod.js +62 -0
  23. package/dist/data/query.zod.d.ts +89 -0
  24. package/dist/data/query.zod.d.ts.map +1 -0
  25. package/dist/data/query.zod.js +71 -0
  26. package/dist/data/sharing.zod.d.ts +63 -0
  27. package/dist/data/sharing.zod.d.ts.map +1 -0
  28. package/dist/data/sharing.zod.js +57 -0
  29. package/dist/data/validation.zod.d.ts +236 -0
  30. package/dist/data/validation.zod.d.ts.map +1 -0
  31. package/dist/data/validation.zod.js +59 -0
  32. package/dist/data/workflow.zod.d.ts +195 -0
  33. package/dist/data/workflow.zod.d.ts.map +1 -0
  34. package/dist/data/workflow.zod.js +64 -0
  35. package/dist/index.d.ts +33 -5
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +53 -5
  38. package/dist/system/api.zod.d.ts +168 -0
  39. package/dist/system/api.zod.d.ts.map +1 -0
  40. package/dist/system/api.zod.js +53 -0
  41. package/dist/system/constants/index.d.ts +11 -0
  42. package/dist/system/constants/index.d.ts.map +1 -0
  43. package/dist/system/constants/index.js +26 -0
  44. package/dist/system/constants/paths.d.ts +71 -0
  45. package/dist/system/constants/paths.d.ts.map +1 -0
  46. package/dist/system/constants/paths.js +65 -0
  47. package/dist/system/datasource.zod.d.ts +127 -0
  48. package/dist/system/datasource.zod.d.ts.map +1 -0
  49. package/dist/system/datasource.zod.js +62 -0
  50. package/dist/system/identity.zod.d.ts +204 -0
  51. package/dist/system/identity.zod.d.ts.map +1 -0
  52. package/dist/system/identity.zod.js +68 -0
  53. package/dist/system/license.zod.d.ts +110 -0
  54. package/dist/system/license.zod.d.ts.map +1 -0
  55. package/dist/system/license.zod.js +63 -0
  56. package/dist/system/manifest.zod.d.ts +126 -0
  57. package/dist/system/manifest.zod.d.ts.map +1 -0
  58. package/dist/system/manifest.zod.js +68 -0
  59. package/dist/system/policy.zod.d.ts +209 -0
  60. package/dist/system/policy.zod.d.ts.map +1 -0
  61. package/dist/system/policy.zod.js +54 -0
  62. package/dist/system/role.zod.d.ts +34 -0
  63. package/dist/system/role.zod.d.ts.map +1 -0
  64. package/dist/system/role.zod.js +25 -0
  65. package/dist/system/territory.zod.d.ts +91 -0
  66. package/dist/system/territory.zod.d.ts.map +1 -0
  67. package/dist/system/territory.zod.js +64 -0
  68. package/dist/system/translation.zod.d.ts +171 -0
  69. package/dist/system/translation.zod.d.ts.map +1 -0
  70. package/dist/system/translation.zod.js +34 -0
  71. package/dist/system/types/index.d.ts +7 -0
  72. package/dist/system/types/index.d.ts.map +1 -0
  73. package/dist/system/types/index.js +22 -0
  74. package/dist/system/types/plugin.d.ts +113 -0
  75. package/dist/system/types/plugin.d.ts.map +1 -0
  76. package/dist/system/types/plugin.js +6 -0
  77. package/dist/system/webhook.zod.d.ts +106 -0
  78. package/dist/system/webhook.zod.d.ts.map +1 -0
  79. package/dist/system/webhook.zod.js +56 -0
  80. package/dist/ui/action.zod.d.ts +148 -0
  81. package/dist/ui/action.zod.d.ts.map +1 -0
  82. package/dist/ui/action.zod.js +48 -0
  83. package/dist/ui/app.zod.d.ts +299 -0
  84. package/dist/ui/app.zod.d.ts.map +1 -0
  85. package/dist/ui/app.zod.js +127 -0
  86. package/dist/ui/dashboard.zod.d.ts +207 -0
  87. package/dist/ui/dashboard.zod.d.ts.map +1 -0
  88. package/dist/ui/dashboard.zod.js +66 -0
  89. package/dist/ui/page.zod.d.ts +187 -0
  90. package/dist/ui/page.zod.d.ts.map +1 -0
  91. package/dist/ui/page.zod.js +48 -0
  92. package/dist/ui/report.zod.d.ts +224 -0
  93. package/dist/ui/report.zod.d.ts.map +1 -0
  94. package/dist/ui/report.zod.js +68 -0
  95. package/dist/ui/view.zod.d.ts +887 -0
  96. package/dist/ui/view.zod.d.ts.map +1 -0
  97. package/dist/ui/view.zod.js +83 -0
  98. package/json-schema/AIKnowledge.json +30 -0
  99. package/json-schema/AIModelConfig.json +41 -0
  100. package/json-schema/AITool.json +33 -0
  101. package/json-schema/Action.json +156 -0
  102. package/json-schema/ActionParam.json +76 -0
  103. package/json-schema/Agent.json +140 -0
  104. package/json-schema/ApiEndpoint.json +162 -0
  105. package/json-schema/ApiMapping.json +28 -0
  106. package/json-schema/App.json +286 -0
  107. package/json-schema/AppBranding.json +24 -0
  108. package/json-schema/AuditPolicy.json +31 -0
  109. package/json-schema/AuthProtocol.json +17 -0
  110. package/json-schema/AuthProvider.json +171 -0
  111. package/json-schema/CalendarConfig.json +28 -0
  112. package/json-schema/ChartType.json +19 -0
  113. package/json-schema/Dashboard.json +117 -0
  114. package/json-schema/DashboardNavItem.json +42 -0
  115. package/json-schema/DashboardWidget.json +89 -0
  116. package/json-schema/Dataset.json +63 -0
  117. package/json-schema/DatasetMode.json +16 -0
  118. package/json-schema/Datasource.json +93 -0
  119. package/json-schema/DatasourceCapabilities.json +36 -0
  120. package/json-schema/DriverType.json +27 -0
  121. package/json-schema/EmailAlertAction.json +37 -0
  122. package/json-schema/Feature.json +51 -0
  123. package/json-schema/Field.json +219 -0
  124. package/json-schema/FieldMapping.json +83 -0
  125. package/json-schema/FieldNode.json +32 -0
  126. package/json-schema/FieldPermission.json +22 -0
  127. package/json-schema/FieldType.json +36 -0
  128. package/json-schema/FieldUpdateAction.json +32 -0
  129. package/json-schema/FilterNode.json +52 -0
  130. package/json-schema/FilterOperator.json +26 -0
  131. package/json-schema/Flow.json +186 -0
  132. package/json-schema/FlowEdge.json +37 -0
  133. package/json-schema/FlowNode.json +65 -0
  134. package/json-schema/FlowNodeAction.json +24 -0
  135. package/json-schema/FlowVariable.json +34 -0
  136. package/json-schema/FormSection.json +42 -0
  137. package/json-schema/FormView.json +99 -0
  138. package/json-schema/FormatValidation.json +59 -0
  139. package/json-schema/GanttConfig.json +32 -0
  140. package/json-schema/GroupNavItem.json +42 -0
  141. package/json-schema/HttpMethod.json +16 -0
  142. package/json-schema/Index.json +30 -0
  143. package/json-schema/KanbanConfig.json +31 -0
  144. package/json-schema/LDAPConfig.json +39 -0
  145. package/json-schema/License.json +57 -0
  146. package/json-schema/ListView.json +153 -0
  147. package/json-schema/Locale.json +10 -0
  148. package/json-schema/LogicOperator.json +14 -0
  149. package/json-schema/Manifest.json +90 -0
  150. package/json-schema/Mapping.json +270 -0
  151. package/json-schema/MenuItem.json +28 -0
  152. package/json-schema/MetricType.json +14 -0
  153. package/json-schema/NavigationItem.json +214 -0
  154. package/json-schema/NetworkPolicy.json +31 -0
  155. package/json-schema/OIDCConfig.json +46 -0
  156. package/json-schema/OWDModel.json +14 -0
  157. package/json-schema/Object.json +331 -0
  158. package/json-schema/ObjectCapabilities.json +36 -0
  159. package/json-schema/ObjectNavItem.json +46 -0
  160. package/json-schema/ObjectPermission.json +42 -0
  161. package/json-schema/Page.json +117 -0
  162. package/json-schema/PageComponent.json +36 -0
  163. package/json-schema/PageNavItem.json +47 -0
  164. package/json-schema/PageRegion.json +63 -0
  165. package/json-schema/PasswordPolicy.json +41 -0
  166. package/json-schema/PermissionSet.json +96 -0
  167. package/json-schema/Plan.json +53 -0
  168. package/json-schema/Policy.json +138 -0
  169. package/json-schema/Query.json +128 -0
  170. package/json-schema/RateLimit.json +26 -0
  171. package/json-schema/Report.json +219 -0
  172. package/json-schema/ReportChart.json +45 -0
  173. package/json-schema/ReportColumn.json +35 -0
  174. package/json-schema/ReportGrouping.json +38 -0
  175. package/json-schema/ReportType.json +15 -0
  176. package/json-schema/Role.json +32 -0
  177. package/json-schema/SAMLConfig.json +44 -0
  178. package/json-schema/ScriptValidation.json +48 -0
  179. package/json-schema/SelectOption.json +32 -0
  180. package/json-schema/SessionPolicy.json +27 -0
  181. package/json-schema/SharingLevel.json +13 -0
  182. package/json-schema/SharingRule.json +58 -0
  183. package/json-schema/SharingRuleType.json +15 -0
  184. package/json-schema/SortNode.json +26 -0
  185. package/json-schema/StateMachineValidation.json +59 -0
  186. package/json-schema/Territory.json +77 -0
  187. package/json-schema/TerritoryModel.json +34 -0
  188. package/json-schema/TerritoryType.json +15 -0
  189. package/json-schema/TransformType.json +18 -0
  190. package/json-schema/TranslationBundle.json +78 -0
  191. package/json-schema/TranslationData.json +75 -0
  192. package/json-schema/UniquenessValidation.json +59 -0
  193. package/json-schema/UrlNavItem.json +51 -0
  194. package/json-schema/ValidationRule.json +211 -0
  195. package/json-schema/View.json +500 -0
  196. package/json-schema/Webhook.json +88 -0
  197. package/json-schema/WebhookReceiver.json +66 -0
  198. package/json-schema/WebhookTriggerType.json +16 -0
  199. package/json-schema/WorkflowAction.json +84 -0
  200. package/json-schema/WorkflowRule.json +128 -0
  201. package/json-schema/WorkflowTriggerType.json +16 -0
  202. package/package.json +28 -19
  203. package/dist/examples.d.ts +0 -28
  204. package/dist/examples.d.ts.map +0 -1
  205. package/dist/examples.js +0 -250
  206. package/dist/types/index.d.ts +0 -9
  207. package/dist/types/index.d.ts.map +0 -1
  208. package/dist/types/index.js +0 -8
  209. package/dist/types/meta/field-type.d.ts +0 -54
  210. package/dist/types/meta/field-type.d.ts.map +0 -1
  211. package/dist/types/meta/field-type.js +0 -42
  212. package/dist/types/meta/index.d.ts +0 -13
  213. package/dist/types/meta/index.d.ts.map +0 -1
  214. package/dist/types/meta/index.js +0 -12
  215. package/dist/types/meta/object-entity.d.ts +0 -246
  216. package/dist/types/meta/object-entity.d.ts.map +0 -1
  217. package/dist/types/meta/object-entity.js +0 -9
  218. package/dist/types/meta/object-field.d.ts +0 -199
  219. package/dist/types/meta/object-field.d.ts.map +0 -1
  220. package/dist/types/meta/object-field.js +0 -9
  221. package/dist/types/meta/object-view.d.ts +0 -430
  222. package/dist/types/meta/object-view.d.ts.map +0 -1
  223. package/dist/types/meta/object-view.js +0 -9
  224. package/src/examples.ts +0 -257
  225. package/src/index.ts +0 -10
  226. package/src/types/index.ts +0 -9
  227. package/src/types/meta/field-type.ts +0 -91
  228. package/src/types/meta/index.ts +0 -13
  229. package/src/types/meta/object-entity.ts +0 -265
  230. package/src/types/meta/object-field.ts +0 -218
  231. package/src/types/meta/object-view.ts +0 -475
@@ -0,0 +1,209 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Password Complexity Policy
4
+ */
5
+ export declare const PasswordPolicySchema: z.ZodObject<{
6
+ minLength: z.ZodDefault<z.ZodNumber>;
7
+ requireUppercase: z.ZodDefault<z.ZodBoolean>;
8
+ requireLowercase: z.ZodDefault<z.ZodBoolean>;
9
+ requireNumbers: z.ZodDefault<z.ZodBoolean>;
10
+ requireSymbols: z.ZodDefault<z.ZodBoolean>;
11
+ expirationDays: z.ZodOptional<z.ZodNumber>;
12
+ historyCount: z.ZodDefault<z.ZodNumber>;
13
+ }, "strip", z.ZodTypeAny, {
14
+ minLength: number;
15
+ requireUppercase: boolean;
16
+ requireLowercase: boolean;
17
+ requireNumbers: boolean;
18
+ requireSymbols: boolean;
19
+ historyCount: number;
20
+ expirationDays?: number | undefined;
21
+ }, {
22
+ minLength?: number | undefined;
23
+ requireUppercase?: boolean | undefined;
24
+ requireLowercase?: boolean | undefined;
25
+ requireNumbers?: boolean | undefined;
26
+ requireSymbols?: boolean | undefined;
27
+ expirationDays?: number | undefined;
28
+ historyCount?: number | undefined;
29
+ }>;
30
+ /**
31
+ * Network Access Policy (IP Whitelisting)
32
+ */
33
+ export declare const NetworkPolicySchema: z.ZodObject<{
34
+ trustedRanges: z.ZodArray<z.ZodString, "many">;
35
+ blockUnknown: z.ZodDefault<z.ZodBoolean>;
36
+ vpnRequired: z.ZodDefault<z.ZodBoolean>;
37
+ }, "strip", z.ZodTypeAny, {
38
+ trustedRanges: string[];
39
+ blockUnknown: boolean;
40
+ vpnRequired: boolean;
41
+ }, {
42
+ trustedRanges: string[];
43
+ blockUnknown?: boolean | undefined;
44
+ vpnRequired?: boolean | undefined;
45
+ }>;
46
+ /**
47
+ * Session Policy
48
+ */
49
+ export declare const SessionPolicySchema: z.ZodObject<{
50
+ idleTimeout: z.ZodDefault<z.ZodNumber>;
51
+ absoluteTimeout: z.ZodDefault<z.ZodNumber>;
52
+ forceMfa: z.ZodDefault<z.ZodBoolean>;
53
+ }, "strip", z.ZodTypeAny, {
54
+ idleTimeout: number;
55
+ absoluteTimeout: number;
56
+ forceMfa: boolean;
57
+ }, {
58
+ idleTimeout?: number | undefined;
59
+ absoluteTimeout?: number | undefined;
60
+ forceMfa?: boolean | undefined;
61
+ }>;
62
+ /**
63
+ * Audit Retention Policy
64
+ */
65
+ export declare const AuditPolicySchema: z.ZodObject<{
66
+ logRetentionDays: z.ZodDefault<z.ZodNumber>;
67
+ sensitiveFields: z.ZodArray<z.ZodString, "many">;
68
+ captureRead: z.ZodDefault<z.ZodBoolean>;
69
+ }, "strip", z.ZodTypeAny, {
70
+ logRetentionDays: number;
71
+ sensitiveFields: string[];
72
+ captureRead: boolean;
73
+ }, {
74
+ sensitiveFields: string[];
75
+ logRetentionDays?: number | undefined;
76
+ captureRead?: boolean | undefined;
77
+ }>;
78
+ /**
79
+ * Security Policy Schema
80
+ * "The Cloud Compliance Contract"
81
+ */
82
+ export declare const PolicySchema: z.ZodObject<{
83
+ name: z.ZodString;
84
+ password: z.ZodOptional<z.ZodObject<{
85
+ minLength: z.ZodDefault<z.ZodNumber>;
86
+ requireUppercase: z.ZodDefault<z.ZodBoolean>;
87
+ requireLowercase: z.ZodDefault<z.ZodBoolean>;
88
+ requireNumbers: z.ZodDefault<z.ZodBoolean>;
89
+ requireSymbols: z.ZodDefault<z.ZodBoolean>;
90
+ expirationDays: z.ZodOptional<z.ZodNumber>;
91
+ historyCount: z.ZodDefault<z.ZodNumber>;
92
+ }, "strip", z.ZodTypeAny, {
93
+ minLength: number;
94
+ requireUppercase: boolean;
95
+ requireLowercase: boolean;
96
+ requireNumbers: boolean;
97
+ requireSymbols: boolean;
98
+ historyCount: number;
99
+ expirationDays?: number | undefined;
100
+ }, {
101
+ minLength?: number | undefined;
102
+ requireUppercase?: boolean | undefined;
103
+ requireLowercase?: boolean | undefined;
104
+ requireNumbers?: boolean | undefined;
105
+ requireSymbols?: boolean | undefined;
106
+ expirationDays?: number | undefined;
107
+ historyCount?: number | undefined;
108
+ }>>;
109
+ network: z.ZodOptional<z.ZodObject<{
110
+ trustedRanges: z.ZodArray<z.ZodString, "many">;
111
+ blockUnknown: z.ZodDefault<z.ZodBoolean>;
112
+ vpnRequired: z.ZodDefault<z.ZodBoolean>;
113
+ }, "strip", z.ZodTypeAny, {
114
+ trustedRanges: string[];
115
+ blockUnknown: boolean;
116
+ vpnRequired: boolean;
117
+ }, {
118
+ trustedRanges: string[];
119
+ blockUnknown?: boolean | undefined;
120
+ vpnRequired?: boolean | undefined;
121
+ }>>;
122
+ session: z.ZodOptional<z.ZodObject<{
123
+ idleTimeout: z.ZodDefault<z.ZodNumber>;
124
+ absoluteTimeout: z.ZodDefault<z.ZodNumber>;
125
+ forceMfa: z.ZodDefault<z.ZodBoolean>;
126
+ }, "strip", z.ZodTypeAny, {
127
+ idleTimeout: number;
128
+ absoluteTimeout: number;
129
+ forceMfa: boolean;
130
+ }, {
131
+ idleTimeout?: number | undefined;
132
+ absoluteTimeout?: number | undefined;
133
+ forceMfa?: boolean | undefined;
134
+ }>>;
135
+ audit: z.ZodOptional<z.ZodObject<{
136
+ logRetentionDays: z.ZodDefault<z.ZodNumber>;
137
+ sensitiveFields: z.ZodArray<z.ZodString, "many">;
138
+ captureRead: z.ZodDefault<z.ZodBoolean>;
139
+ }, "strip", z.ZodTypeAny, {
140
+ logRetentionDays: number;
141
+ sensitiveFields: string[];
142
+ captureRead: boolean;
143
+ }, {
144
+ sensitiveFields: string[];
145
+ logRetentionDays?: number | undefined;
146
+ captureRead?: boolean | undefined;
147
+ }>>;
148
+ /** Assignment */
149
+ isDefault: z.ZodDefault<z.ZodBoolean>;
150
+ assignedProfiles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
151
+ }, "strip", z.ZodTypeAny, {
152
+ name: string;
153
+ isDefault: boolean;
154
+ password?: {
155
+ minLength: number;
156
+ requireUppercase: boolean;
157
+ requireLowercase: boolean;
158
+ requireNumbers: boolean;
159
+ requireSymbols: boolean;
160
+ historyCount: number;
161
+ expirationDays?: number | undefined;
162
+ } | undefined;
163
+ assignedProfiles?: string[] | undefined;
164
+ network?: {
165
+ trustedRanges: string[];
166
+ blockUnknown: boolean;
167
+ vpnRequired: boolean;
168
+ } | undefined;
169
+ session?: {
170
+ idleTimeout: number;
171
+ absoluteTimeout: number;
172
+ forceMfa: boolean;
173
+ } | undefined;
174
+ audit?: {
175
+ logRetentionDays: number;
176
+ sensitiveFields: string[];
177
+ captureRead: boolean;
178
+ } | undefined;
179
+ }, {
180
+ name: string;
181
+ password?: {
182
+ minLength?: number | undefined;
183
+ requireUppercase?: boolean | undefined;
184
+ requireLowercase?: boolean | undefined;
185
+ requireNumbers?: boolean | undefined;
186
+ requireSymbols?: boolean | undefined;
187
+ expirationDays?: number | undefined;
188
+ historyCount?: number | undefined;
189
+ } | undefined;
190
+ isDefault?: boolean | undefined;
191
+ assignedProfiles?: string[] | undefined;
192
+ network?: {
193
+ trustedRanges: string[];
194
+ blockUnknown?: boolean | undefined;
195
+ vpnRequired?: boolean | undefined;
196
+ } | undefined;
197
+ session?: {
198
+ idleTimeout?: number | undefined;
199
+ absoluteTimeout?: number | undefined;
200
+ forceMfa?: boolean | undefined;
201
+ } | undefined;
202
+ audit?: {
203
+ sensitiveFields: string[];
204
+ logRetentionDays?: number | undefined;
205
+ captureRead?: boolean | undefined;
206
+ } | undefined;
207
+ }>;
208
+ export type Policy = z.infer<typeof PolicySchema>;
209
+ //# sourceMappingURL=policy.zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.zod.d.ts","sourceRoot":"","sources":["../../src/system/policy.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;EAQ/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAI9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAI9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EAI5B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQvB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGjB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PolicySchema = exports.AuditPolicySchema = exports.SessionPolicySchema = exports.NetworkPolicySchema = exports.PasswordPolicySchema = void 0;
4
+ const zod_1 = require("zod");
5
+ /**
6
+ * Password Complexity Policy
7
+ */
8
+ exports.PasswordPolicySchema = zod_1.z.object({
9
+ minLength: zod_1.z.number().default(8),
10
+ requireUppercase: zod_1.z.boolean().default(true),
11
+ requireLowercase: zod_1.z.boolean().default(true),
12
+ requireNumbers: zod_1.z.boolean().default(true),
13
+ requireSymbols: zod_1.z.boolean().default(false),
14
+ expirationDays: zod_1.z.number().optional().describe('Force password change every X days'),
15
+ historyCount: zod_1.z.number().default(3).describe('Prevent reusing last X passwords'),
16
+ });
17
+ /**
18
+ * Network Access Policy (IP Whitelisting)
19
+ */
20
+ exports.NetworkPolicySchema = zod_1.z.object({
21
+ trustedRanges: zod_1.z.array(zod_1.z.string()).describe('CIDR ranges allowed to access (e.g. 10.0.0.0/8)'),
22
+ blockUnknown: zod_1.z.boolean().default(false).describe('Block all IPs not in trusted ranges'),
23
+ vpnRequired: zod_1.z.boolean().default(false),
24
+ });
25
+ /**
26
+ * Session Policy
27
+ */
28
+ exports.SessionPolicySchema = zod_1.z.object({
29
+ idleTimeout: zod_1.z.number().default(30).describe('Minutes before idle session logout'),
30
+ absoluteTimeout: zod_1.z.number().default(480).describe('Max session duration (minutes)'),
31
+ forceMfa: zod_1.z.boolean().default(false).describe('Require 2FA for all users'),
32
+ });
33
+ /**
34
+ * Audit Retention Policy
35
+ */
36
+ exports.AuditPolicySchema = zod_1.z.object({
37
+ logRetentionDays: zod_1.z.number().default(180),
38
+ sensitiveFields: zod_1.z.array(zod_1.z.string()).describe('Fields to redact in logs (e.g. password, ssn)'),
39
+ captureRead: zod_1.z.boolean().default(false).describe('Log read access (High volume!)'),
40
+ });
41
+ /**
42
+ * Security Policy Schema
43
+ * "The Cloud Compliance Contract"
44
+ */
45
+ exports.PolicySchema = zod_1.z.object({
46
+ name: zod_1.z.string().regex(/^[a-z_][a-z0-9_]*$/).describe('Policy Name'),
47
+ password: exports.PasswordPolicySchema.optional(),
48
+ network: exports.NetworkPolicySchema.optional(),
49
+ session: exports.SessionPolicySchema.optional(),
50
+ audit: exports.AuditPolicySchema.optional(),
51
+ /** Assignment */
52
+ isDefault: zod_1.z.boolean().default(false).describe('Apply to all users by default'),
53
+ assignedProfiles: zod_1.z.array(zod_1.z.string()).optional().describe('Apply to specific profiles'),
54
+ });
@@ -0,0 +1,34 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Role Schema (aka Business Unit / Org Unit)
4
+ * Defines the organizational hierarchy (Reporting Structure).
5
+ *
6
+ * COMPARISON:
7
+ * - Salesforce: "Role" (Hierarchy for visibility rollup)
8
+ * - Microsoft: "Business Unit" (Structural container for data)
9
+ * - Kubernetes/AWS: "Role" usually refers to Permissions (we use PermissionSet for that)
10
+ *
11
+ * ROLES IN OBJECTSTACK:
12
+ * Used primarily for "Reporting Structure" - Managers see subordinates' data.
13
+ */
14
+ export declare const RoleSchema: z.ZodObject<{
15
+ /** Identity */
16
+ name: z.ZodString;
17
+ label: z.ZodString;
18
+ /** Hierarchy */
19
+ parent: z.ZodOptional<z.ZodString>;
20
+ /** Description */
21
+ description: z.ZodOptional<z.ZodString>;
22
+ }, "strip", z.ZodTypeAny, {
23
+ label: string;
24
+ name: string;
25
+ description?: string | undefined;
26
+ parent?: string | undefined;
27
+ }, {
28
+ label: string;
29
+ name: string;
30
+ description?: string | undefined;
31
+ parent?: string | undefined;
32
+ }>;
33
+ export type Role = z.infer<typeof RoleSchema>;
34
+ //# sourceMappingURL=role.zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.zod.d.ts","sourceRoot":"","sources":["../../src/system/role.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU;IACrB,eAAe;;;IAIf,gBAAgB;;IAGhB,kBAAkB;;;;;;;;;;;;EAElB,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoleSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ /**
6
+ * Role Schema (aka Business Unit / Org Unit)
7
+ * Defines the organizational hierarchy (Reporting Structure).
8
+ *
9
+ * COMPARISON:
10
+ * - Salesforce: "Role" (Hierarchy for visibility rollup)
11
+ * - Microsoft: "Business Unit" (Structural container for data)
12
+ * - Kubernetes/AWS: "Role" usually refers to Permissions (we use PermissionSet for that)
13
+ *
14
+ * ROLES IN OBJECTSTACK:
15
+ * Used primarily for "Reporting Structure" - Managers see subordinates' data.
16
+ */
17
+ exports.RoleSchema = zod_1.z.object({
18
+ /** Identity */
19
+ name: zod_1.z.string().regex(/^[a-z_][a-z0-9_]*$/).describe('Unique role name'),
20
+ label: zod_1.z.string().describe('Display label (e.g. VP of Sales)'),
21
+ /** Hierarchy */
22
+ parent: zod_1.z.string().optional().describe('Parent Role ID (Reports To)'),
23
+ /** Description */
24
+ description: zod_1.z.string().optional(),
25
+ });
@@ -0,0 +1,91 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Territory Management Protocol
4
+ * Defines a matrix reporting structure that exists parallel to the Role Hierarchy.
5
+ *
6
+ * USE CASE:
7
+ * - Enterprise Sales Teams (Geo-based: "EMEA", "APAC")
8
+ * - Industry Verticals (Industry-based: "Healthcare", "Financial")
9
+ * - Strategic Accounts (Account-based: "Strategic Accounts")
10
+ *
11
+ * DIFFERENCE FROM ROLE:
12
+ * - Role: Hierarchy of PEOPLE (Who reports to whom). Stable. HR-driven.
13
+ * - Territory: Hierarchy of ACCOUNTS/REVENUE (Who owns which market). Flexible. Sales-driven.
14
+ * - One User can be assigned to MANY Territories (Matrix).
15
+ * - One User has only ONE Role (Tree).
16
+ */
17
+ export declare const TerritoryType: z.ZodEnum<["geography", "industry", "named_account", "product_line"]>;
18
+ /**
19
+ * Territory Model Schema
20
+ * A container for a version of territory planning.
21
+ * (e.g. "Fiscal Year 2024 Planning" vs "Fiscal Year 2025 Planning")
22
+ */
23
+ export declare const TerritoryModelSchema: z.ZodObject<{
24
+ name: z.ZodString;
25
+ state: z.ZodDefault<z.ZodEnum<["planning", "active", "archived"]>>;
26
+ startDate: z.ZodOptional<z.ZodString>;
27
+ endDate: z.ZodOptional<z.ZodString>;
28
+ }, "strip", z.ZodTypeAny, {
29
+ name: string;
30
+ state: "active" | "planning" | "archived";
31
+ startDate?: string | undefined;
32
+ endDate?: string | undefined;
33
+ }, {
34
+ name: string;
35
+ state?: "active" | "planning" | "archived" | undefined;
36
+ startDate?: string | undefined;
37
+ endDate?: string | undefined;
38
+ }>;
39
+ /**
40
+ * Territory Node Schema
41
+ * A single node in the territory tree.
42
+ */
43
+ export declare const TerritorySchema: z.ZodObject<{
44
+ /** Identity */
45
+ name: z.ZodString;
46
+ label: z.ZodString;
47
+ /** Structure */
48
+ modelId: z.ZodString;
49
+ parent: z.ZodOptional<z.ZodString>;
50
+ type: z.ZodDefault<z.ZodEnum<["geography", "industry", "named_account", "product_line"]>>;
51
+ /**
52
+ * Assignment Rules (The "Magic")
53
+ * How do accounts automatically fall into this territory?
54
+ * e.g. "BillingCountry = 'US' AND BillingState = 'CA'"
55
+ */
56
+ assignmentRule: z.ZodOptional<z.ZodString>;
57
+ /**
58
+ * User Assignment
59
+ * Users assigned to work this territory.
60
+ */
61
+ assignedUsers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
62
+ /** Access Level */
63
+ accountAccess: z.ZodDefault<z.ZodEnum<["read", "edit"]>>;
64
+ opportunityAccess: z.ZodDefault<z.ZodEnum<["read", "edit"]>>;
65
+ caseAccess: z.ZodDefault<z.ZodEnum<["read", "edit"]>>;
66
+ }, "strip", z.ZodTypeAny, {
67
+ type: "geography" | "industry" | "named_account" | "product_line";
68
+ label: string;
69
+ name: string;
70
+ modelId: string;
71
+ accountAccess: "read" | "edit";
72
+ opportunityAccess: "read" | "edit";
73
+ caseAccess: "read" | "edit";
74
+ parent?: string | undefined;
75
+ assignmentRule?: string | undefined;
76
+ assignedUsers?: string[] | undefined;
77
+ }, {
78
+ label: string;
79
+ name: string;
80
+ modelId: string;
81
+ type?: "geography" | "industry" | "named_account" | "product_line" | undefined;
82
+ parent?: string | undefined;
83
+ assignmentRule?: string | undefined;
84
+ assignedUsers?: string[] | undefined;
85
+ accountAccess?: "read" | "edit" | undefined;
86
+ opportunityAccess?: "read" | "edit" | undefined;
87
+ caseAccess?: "read" | "edit" | undefined;
88
+ }>;
89
+ export type Territory = z.infer<typeof TerritorySchema>;
90
+ export type TerritoryModel = z.infer<typeof TerritoryModelSchema>;
91
+ //# sourceMappingURL=territory.zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"territory.zod.d.ts","sourceRoot":"","sources":["../../src/system/territory.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,aAAa,uEAKxB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAK/B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,eAAe;IAC1B,eAAe;;;IAIf,gBAAgB;;;;IAKhB;;;;OAIG;;IAGH;;;OAGG;;IAGH,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;EAInB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TerritorySchema = exports.TerritoryModelSchema = exports.TerritoryType = void 0;
4
+ const zod_1 = require("zod");
5
+ /**
6
+ * Territory Management Protocol
7
+ * Defines a matrix reporting structure that exists parallel to the Role Hierarchy.
8
+ *
9
+ * USE CASE:
10
+ * - Enterprise Sales Teams (Geo-based: "EMEA", "APAC")
11
+ * - Industry Verticals (Industry-based: "Healthcare", "Financial")
12
+ * - Strategic Accounts (Account-based: "Strategic Accounts")
13
+ *
14
+ * DIFFERENCE FROM ROLE:
15
+ * - Role: Hierarchy of PEOPLE (Who reports to whom). Stable. HR-driven.
16
+ * - Territory: Hierarchy of ACCOUNTS/REVENUE (Who owns which market). Flexible. Sales-driven.
17
+ * - One User can be assigned to MANY Territories (Matrix).
18
+ * - One User has only ONE Role (Tree).
19
+ */
20
+ exports.TerritoryType = zod_1.z.enum([
21
+ 'geography', // Region/Country/City
22
+ 'industry', // Vertical
23
+ 'named_account', // Key Accounts
24
+ 'product_line' // Product Specialty
25
+ ]);
26
+ /**
27
+ * Territory Model Schema
28
+ * A container for a version of territory planning.
29
+ * (e.g. "Fiscal Year 2024 Planning" vs "Fiscal Year 2025 Planning")
30
+ */
31
+ exports.TerritoryModelSchema = zod_1.z.object({
32
+ name: zod_1.z.string().describe('Model Name (e.g. FY24 Planning)'),
33
+ state: zod_1.z.enum(['planning', 'active', 'archived']).default('planning'),
34
+ startDate: zod_1.z.string().optional(),
35
+ endDate: zod_1.z.string().optional(),
36
+ });
37
+ /**
38
+ * Territory Node Schema
39
+ * A single node in the territory tree.
40
+ */
41
+ exports.TerritorySchema = zod_1.z.object({
42
+ /** Identity */
43
+ name: zod_1.z.string().regex(/^[a-z_][a-z0-9_]*$/),
44
+ label: zod_1.z.string().describe('Territory Label (e.g. "West Coast")'),
45
+ /** Structure */
46
+ modelId: zod_1.z.string().describe('Belongs to which Territory Model'),
47
+ parent: zod_1.z.string().optional().describe('Parent Territory'),
48
+ type: exports.TerritoryType.default('geography'),
49
+ /**
50
+ * Assignment Rules (The "Magic")
51
+ * How do accounts automatically fall into this territory?
52
+ * e.g. "BillingCountry = 'US' AND BillingState = 'CA'"
53
+ */
54
+ assignmentRule: zod_1.z.string().optional().describe('Criteria based assignment rule'),
55
+ /**
56
+ * User Assignment
57
+ * Users assigned to work this territory.
58
+ */
59
+ assignedUsers: zod_1.z.array(zod_1.z.string()).optional(),
60
+ /** Access Level */
61
+ accountAccess: zod_1.z.enum(['read', 'edit']).default('read'),
62
+ opportunityAccess: zod_1.z.enum(['read', 'edit']).default('read'),
63
+ caseAccess: zod_1.z.enum(['read', 'edit']).default('read'),
64
+ });
@@ -0,0 +1,171 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Translation Schema
4
+ * Supports i18n for labels, messages, and options.
5
+ * Example structure:
6
+ * {
7
+ * "en": { "objects": { "account": { "label": "Account" } } },
8
+ * "zh-CN": { "objects": { "account": { "label": "客户" } } }
9
+ * }
10
+ */
11
+ export declare const TranslationDataSchema: z.ZodObject<{
12
+ /** Object translations */
13
+ objects: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
14
+ label: z.ZodString;
15
+ pluralLabel: z.ZodOptional<z.ZodString>;
16
+ fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
17
+ label: z.ZodOptional<z.ZodString>;
18
+ help: z.ZodOptional<z.ZodString>;
19
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ options?: Record<string, string> | undefined;
22
+ label?: string | undefined;
23
+ help?: string | undefined;
24
+ }, {
25
+ options?: Record<string, string> | undefined;
26
+ label?: string | undefined;
27
+ help?: string | undefined;
28
+ }>>>;
29
+ }, "strip", z.ZodTypeAny, {
30
+ label: string;
31
+ fields?: Record<string, {
32
+ options?: Record<string, string> | undefined;
33
+ label?: string | undefined;
34
+ help?: string | undefined;
35
+ }> | undefined;
36
+ pluralLabel?: string | undefined;
37
+ }, {
38
+ label: string;
39
+ fields?: Record<string, {
40
+ options?: Record<string, string> | undefined;
41
+ label?: string | undefined;
42
+ help?: string | undefined;
43
+ }> | undefined;
44
+ pluralLabel?: string | undefined;
45
+ }>>>;
46
+ /** App/Menu translations */
47
+ apps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
48
+ label: z.ZodString;
49
+ description: z.ZodOptional<z.ZodString>;
50
+ }, "strip", z.ZodTypeAny, {
51
+ label: string;
52
+ description?: string | undefined;
53
+ }, {
54
+ label: string;
55
+ description?: string | undefined;
56
+ }>>>;
57
+ /** UI Messages */
58
+ messages: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
59
+ }, "strip", z.ZodTypeAny, {
60
+ objects?: Record<string, {
61
+ label: string;
62
+ fields?: Record<string, {
63
+ options?: Record<string, string> | undefined;
64
+ label?: string | undefined;
65
+ help?: string | undefined;
66
+ }> | undefined;
67
+ pluralLabel?: string | undefined;
68
+ }> | undefined;
69
+ apps?: Record<string, {
70
+ label: string;
71
+ description?: string | undefined;
72
+ }> | undefined;
73
+ messages?: Record<string, string> | undefined;
74
+ }, {
75
+ objects?: Record<string, {
76
+ label: string;
77
+ fields?: Record<string, {
78
+ options?: Record<string, string> | undefined;
79
+ label?: string | undefined;
80
+ help?: string | undefined;
81
+ }> | undefined;
82
+ pluralLabel?: string | undefined;
83
+ }> | undefined;
84
+ apps?: Record<string, {
85
+ label: string;
86
+ description?: string | undefined;
87
+ }> | undefined;
88
+ messages?: Record<string, string> | undefined;
89
+ }>;
90
+ export declare const LocaleSchema: z.ZodString;
91
+ export declare const TranslationBundleSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
92
+ /** Object translations */
93
+ objects: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
94
+ label: z.ZodString;
95
+ pluralLabel: z.ZodOptional<z.ZodString>;
96
+ fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
97
+ label: z.ZodOptional<z.ZodString>;
98
+ help: z.ZodOptional<z.ZodString>;
99
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
100
+ }, "strip", z.ZodTypeAny, {
101
+ options?: Record<string, string> | undefined;
102
+ label?: string | undefined;
103
+ help?: string | undefined;
104
+ }, {
105
+ options?: Record<string, string> | undefined;
106
+ label?: string | undefined;
107
+ help?: string | undefined;
108
+ }>>>;
109
+ }, "strip", z.ZodTypeAny, {
110
+ label: string;
111
+ fields?: Record<string, {
112
+ options?: Record<string, string> | undefined;
113
+ label?: string | undefined;
114
+ help?: string | undefined;
115
+ }> | undefined;
116
+ pluralLabel?: string | undefined;
117
+ }, {
118
+ label: string;
119
+ fields?: Record<string, {
120
+ options?: Record<string, string> | undefined;
121
+ label?: string | undefined;
122
+ help?: string | undefined;
123
+ }> | undefined;
124
+ pluralLabel?: string | undefined;
125
+ }>>>;
126
+ /** App/Menu translations */
127
+ apps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
128
+ label: z.ZodString;
129
+ description: z.ZodOptional<z.ZodString>;
130
+ }, "strip", z.ZodTypeAny, {
131
+ label: string;
132
+ description?: string | undefined;
133
+ }, {
134
+ label: string;
135
+ description?: string | undefined;
136
+ }>>>;
137
+ /** UI Messages */
138
+ messages: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
139
+ }, "strip", z.ZodTypeAny, {
140
+ objects?: Record<string, {
141
+ label: string;
142
+ fields?: Record<string, {
143
+ options?: Record<string, string> | undefined;
144
+ label?: string | undefined;
145
+ help?: string | undefined;
146
+ }> | undefined;
147
+ pluralLabel?: string | undefined;
148
+ }> | undefined;
149
+ apps?: Record<string, {
150
+ label: string;
151
+ description?: string | undefined;
152
+ }> | undefined;
153
+ messages?: Record<string, string> | undefined;
154
+ }, {
155
+ objects?: Record<string, {
156
+ label: string;
157
+ fields?: Record<string, {
158
+ options?: Record<string, string> | undefined;
159
+ label?: string | undefined;
160
+ help?: string | undefined;
161
+ }> | undefined;
162
+ pluralLabel?: string | undefined;
163
+ }> | undefined;
164
+ apps?: Record<string, {
165
+ label: string;
166
+ description?: string | undefined;
167
+ }> | undefined;
168
+ messages?: Record<string, string> | undefined;
169
+ }>>;
170
+ export type TranslationBundle = z.infer<typeof TranslationBundleSchema>;
171
+ //# sourceMappingURL=translation.zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation.zod.d.ts","sourceRoot":"","sources":["../../src/system/translation.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB;IAChC,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAW1B,4BAA4B;;;;;;;;;;;IAM5B,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAElB,CAAC;AAEH,eAAO,MAAM,YAAY,aAAiE,CAAC;AAE3F,eAAO,MAAM,uBAAuB;IAvBlC,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAW1B,4BAA4B;;;;;;;;;;;IAM5B,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAMgE,CAAC;AAErF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}