@objectstack/spec 0.3.3 → 0.4.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 (304) hide show
  1. package/dist/ai/conversation.zod.d.ts +14 -14
  2. package/dist/ai/cost.zod.d.ts +112 -112
  3. package/dist/ai/model-registry.zod.d.ts +44 -44
  4. package/dist/ai/nlq.zod.d.ts +2 -2
  5. package/dist/ai/orchestration.zod.d.ts +6 -6
  6. package/dist/ai/predictive.zod.d.ts +8 -8
  7. package/dist/ai/rag-pipeline.zod.d.ts +62 -62
  8. package/dist/api/contract.zod.d.ts +92 -92
  9. package/dist/api/discovery.zod.d.ts +2 -2
  10. package/dist/api/index.d.ts +2 -0
  11. package/dist/api/index.d.ts.map +1 -1
  12. package/dist/api/index.js +2 -0
  13. package/dist/api/odata.zod.d.ts +482 -0
  14. package/dist/api/odata.zod.d.ts.map +1 -0
  15. package/dist/api/odata.zod.js +401 -0
  16. package/dist/api/router.zod.d.ts +4 -4
  17. package/dist/auth/config.zod.d.ts +21 -21
  18. package/dist/auth/index.d.ts +1 -0
  19. package/dist/auth/index.d.ts.map +1 -1
  20. package/dist/auth/index.js +1 -0
  21. package/dist/auth/organization.zod.d.ts +2 -2
  22. package/dist/auth/role.zod.d.ts +14 -0
  23. package/dist/auth/role.zod.d.ts.map +1 -1
  24. package/dist/auth/role.zod.js +16 -1
  25. package/dist/auth/scim.zod.d.ts +2732 -0
  26. package/dist/auth/scim.zod.d.ts.map +1 -0
  27. package/dist/auth/scim.zod.js +811 -0
  28. package/dist/automation/approval.zod.d.ts +643 -0
  29. package/dist/automation/approval.zod.d.ts.map +1 -0
  30. package/dist/automation/approval.zod.js +84 -0
  31. package/dist/automation/connector.zod.d.ts +1284 -0
  32. package/dist/automation/connector.zod.d.ts.map +1 -0
  33. package/dist/automation/connector.zod.js +500 -0
  34. package/dist/automation/etl.zod.d.ts +623 -0
  35. package/dist/automation/etl.zod.d.ts.map +1 -0
  36. package/dist/automation/etl.zod.js +359 -0
  37. package/dist/automation/flow.zod.d.ts +6 -6
  38. package/dist/automation/index.d.ts +4 -0
  39. package/dist/automation/index.d.ts.map +1 -1
  40. package/dist/automation/index.js +4 -0
  41. package/dist/automation/sync.zod.d.ts +854 -0
  42. package/dist/automation/sync.zod.d.ts.map +1 -0
  43. package/dist/automation/sync.zod.js +444 -0
  44. package/dist/automation/webhook.zod.d.ts +24 -1
  45. package/dist/automation/webhook.zod.d.ts.map +1 -1
  46. package/dist/automation/webhook.zod.js +27 -3
  47. package/dist/automation/workflow.zod.d.ts +14 -0
  48. package/dist/automation/workflow.zod.d.ts.map +1 -1
  49. package/dist/automation/workflow.zod.js +16 -1
  50. package/dist/data/field.zod.d.ts +338 -8
  51. package/dist/data/field.zod.d.ts.map +1 -1
  52. package/dist/data/field.zod.js +100 -16
  53. package/dist/data/mapping.zod.d.ts +22 -10
  54. package/dist/data/mapping.zod.d.ts.map +1 -1
  55. package/dist/data/mapping.zod.js +16 -3
  56. package/dist/data/object.zod.d.ts +116 -22
  57. package/dist/data/object.zod.d.ts.map +1 -1
  58. package/dist/data/object.zod.js +4 -4
  59. package/dist/data/validation.zod.d.ts +18 -18
  60. package/dist/hub/composer.zod.d.ts +43 -1940
  61. package/dist/hub/composer.zod.d.ts.map +1 -1
  62. package/dist/hub/composer.zod.js +1 -1
  63. package/dist/hub/license.zod.d.ts +2 -2
  64. package/dist/hub/marketplace.zod.d.ts +6 -6
  65. package/dist/index.d.ts +2 -2
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +6 -3
  68. package/dist/permission/index.d.ts +7 -5
  69. package/dist/permission/index.d.ts.map +1 -1
  70. package/dist/permission/index.js +7 -5
  71. package/dist/permission/permission.zod.d.ts +14 -0
  72. package/dist/permission/permission.zod.d.ts.map +1 -1
  73. package/dist/permission/permission.zod.js +16 -1
  74. package/dist/permission/rls.zod.d.ts +605 -0
  75. package/dist/permission/rls.zod.d.ts.map +1 -0
  76. package/dist/permission/rls.zod.js +615 -0
  77. package/dist/permission/territory.zod.d.ts +13 -0
  78. package/dist/permission/territory.zod.d.ts.map +1 -1
  79. package/dist/permission/territory.zod.js +15 -1
  80. package/dist/shared/identifiers.zod.d.ts +87 -0
  81. package/dist/shared/identifiers.zod.d.ts.map +1 -0
  82. package/dist/shared/identifiers.zod.js +101 -0
  83. package/dist/shared/index.d.ts +6 -0
  84. package/dist/shared/index.d.ts.map +1 -0
  85. package/dist/{driver → shared}/index.js +5 -4
  86. package/dist/stack.zod.d.ts +19869 -0
  87. package/dist/stack.zod.d.ts.map +1 -0
  88. package/dist/stack.zod.js +248 -0
  89. package/dist/system/audit.zod.d.ts +12 -12
  90. package/dist/{kernel → system}/context.zod.d.ts.map +1 -1
  91. package/dist/{driver → system}/datasource.zod.d.ts +2 -2
  92. package/dist/{driver → system}/datasource.zod.d.ts.map +1 -1
  93. package/dist/{driver → system/driver}/mongo.zod.d.ts +2 -2
  94. package/dist/system/driver/mongo.zod.d.ts.map +1 -0
  95. package/dist/{driver → system/driver}/postgres.zod.d.ts +4 -4
  96. package/dist/system/driver/postgres.zod.d.ts.map +1 -0
  97. package/dist/{driver → system}/driver.zod.d.ts +14 -14
  98. package/dist/{driver → system}/driver.zod.d.ts.map +1 -1
  99. package/dist/system/events.zod.d.ts +15 -12
  100. package/dist/system/events.zod.d.ts.map +1 -1
  101. package/dist/system/events.zod.js +5 -1
  102. package/dist/system/feature.zod.d.ts +131 -0
  103. package/dist/system/feature.zod.d.ts.map +1 -0
  104. package/dist/system/feature.zod.js +45 -0
  105. package/dist/system/index.d.ts +10 -0
  106. package/dist/system/index.d.ts.map +1 -1
  107. package/dist/system/index.js +12 -0
  108. package/dist/system/job.zod.d.ts +8 -8
  109. package/dist/{kernel → system}/logger.zod.d.ts +4 -4
  110. package/dist/{kernel → system}/logger.zod.d.ts.map +1 -1
  111. package/dist/system/manifest.zod.d.ts +518 -0
  112. package/dist/system/manifest.zod.d.ts.map +1 -0
  113. package/dist/{kernel → system}/manifest.zod.js +8 -17
  114. package/dist/{kernel → system}/plugin.zod.d.ts.map +1 -1
  115. package/dist/{kernel → system}/scoped-storage.zod.d.ts +2 -2
  116. package/dist/{kernel → system}/scoped-storage.zod.d.ts.map +1 -1
  117. package/dist/ui/action.zod.d.ts +35 -10
  118. package/dist/ui/action.zod.d.ts.map +1 -1
  119. package/dist/ui/action.zod.js +30 -1
  120. package/dist/ui/app.zod.d.ts +23 -8
  121. package/dist/ui/app.zod.d.ts.map +1 -1
  122. package/dist/ui/app.zod.js +32 -4
  123. package/dist/ui/block.zod.d.ts +265 -0
  124. package/dist/ui/block.zod.d.ts.map +1 -0
  125. package/dist/ui/block.zod.js +90 -0
  126. package/dist/ui/component.zod.d.ts +265 -0
  127. package/dist/ui/component.zod.d.ts.map +1 -0
  128. package/dist/ui/component.zod.js +90 -0
  129. package/dist/ui/dashboard.zod.d.ts +15 -15
  130. package/dist/ui/dashboard.zod.d.ts.map +1 -1
  131. package/dist/ui/dashboard.zod.js +18 -8
  132. package/dist/ui/index.d.ts +1 -0
  133. package/dist/ui/index.d.ts.map +1 -1
  134. package/dist/ui/index.js +1 -0
  135. package/dist/ui/page.zod.d.ts +21 -3
  136. package/dist/ui/page.zod.d.ts.map +1 -1
  137. package/dist/ui/page.zod.js +37 -4
  138. package/dist/ui/report.zod.d.ts +7 -7
  139. package/dist/ui/view.zod.d.ts +252 -240
  140. package/dist/ui/view.zod.d.ts.map +1 -1
  141. package/dist/ui/view.zod.js +32 -3
  142. package/dist/ui/widget.zod.d.ts +673 -5
  143. package/dist/ui/widget.zod.d.ts.map +1 -1
  144. package/dist/ui/widget.zod.js +294 -1
  145. package/json-schema/api/ODataError.json +65 -0
  146. package/json-schema/api/ODataFilterFunction.json +39 -0
  147. package/json-schema/api/ODataFilterOperator.json +24 -0
  148. package/json-schema/api/ODataMetadata.json +115 -0
  149. package/json-schema/api/ODataQuery.json +89 -0
  150. package/json-schema/api/ODataResponse.json +37 -0
  151. package/json-schema/auth/Role.json +3 -2
  152. package/json-schema/auth/SCIMAddress.json +50 -0
  153. package/json-schema/auth/SCIMEmail.json +38 -0
  154. package/json-schema/auth/SCIMEnterpriseUser.json +55 -0
  155. package/json-schema/auth/SCIMError.json +52 -0
  156. package/json-schema/auth/SCIMGroup.json +102 -0
  157. package/json-schema/auth/SCIMGroupReference.json +36 -0
  158. package/json-schema/auth/SCIMListResponse.json +606 -0
  159. package/json-schema/auth/SCIMMemberReference.json +36 -0
  160. package/json-schema/auth/SCIMMeta.json +35 -0
  161. package/json-schema/auth/SCIMName.json +36 -0
  162. package/json-schema/auth/SCIMPatchOperation.json +31 -0
  163. package/json-schema/auth/SCIMPatchRequest.json +56 -0
  164. package/json-schema/auth/SCIMPhoneNumber.json +40 -0
  165. package/json-schema/auth/SCIMUser.json +462 -0
  166. package/json-schema/automation/ApprovalAction.json +35 -0
  167. package/json-schema/automation/ApprovalActionType.json +15 -0
  168. package/json-schema/automation/ApprovalProcess.json +326 -0
  169. package/json-schema/automation/ApprovalStep.json +147 -0
  170. package/json-schema/automation/ApproverType.json +16 -0
  171. package/json-schema/automation/AuthField.json +73 -0
  172. package/json-schema/automation/Authentication.json +159 -0
  173. package/json-schema/automation/AuthenticationType.json +18 -0
  174. package/json-schema/automation/ConflictResolution.json +16 -0
  175. package/json-schema/automation/Connector.json +440 -0
  176. package/json-schema/automation/ConnectorCategory.json +26 -0
  177. package/json-schema/automation/ConnectorInstance.json +69 -0
  178. package/json-schema/automation/ConnectorOperation.json +117 -0
  179. package/json-schema/automation/ConnectorTrigger.json +54 -0
  180. package/json-schema/automation/DataDestinationConfig.json +89 -0
  181. package/json-schema/automation/DataSourceConfig.json +34 -0
  182. package/json-schema/automation/DataSyncConfig.json +355 -0
  183. package/json-schema/automation/ETLDestination.json +57 -0
  184. package/json-schema/automation/ETLEndpointType.json +19 -0
  185. package/json-schema/automation/ETLPipeline.json +252 -0
  186. package/json-schema/automation/ETLPipelineRun.json +107 -0
  187. package/json-schema/automation/ETLRunStatus.json +17 -0
  188. package/json-schema/automation/ETLSource.json +60 -0
  189. package/json-schema/automation/ETLSyncMode.json +14 -0
  190. package/json-schema/automation/ETLTransformation.json +46 -0
  191. package/json-schema/automation/ETLTransformationType.json +21 -0
  192. package/json-schema/automation/FieldMapping.json +36 -0
  193. package/json-schema/automation/OAuth2Config.json +43 -0
  194. package/json-schema/automation/OperationParameter.json +59 -0
  195. package/json-schema/automation/OperationType.json +17 -0
  196. package/json-schema/automation/SyncDirection.json +14 -0
  197. package/json-schema/automation/SyncExecutionResult.json +135 -0
  198. package/json-schema/automation/SyncExecutionStatus.json +17 -0
  199. package/json-schema/automation/SyncMode.json +14 -0
  200. package/json-schema/automation/Webhook.json +3 -1
  201. package/json-schema/automation/WebhookReceiver.json +3 -1
  202. package/json-schema/automation/WorkflowRule.json +3 -2
  203. package/json-schema/data/Field.json +62 -4
  204. package/json-schema/data/FieldType.json +12 -2
  205. package/json-schema/data/Object.json +62 -4
  206. package/json-schema/data/SelectOption.json +4 -2
  207. package/json-schema/data/VectorConfig.json +51 -0
  208. package/json-schema/hub/ComposerResponse.json +4 -2163
  209. package/json-schema/permission/PermissionSet.json +3 -1
  210. package/json-schema/permission/RLSConfig.json +59 -0
  211. package/json-schema/permission/RLSEvaluationResult.json +40 -0
  212. package/json-schema/permission/RLSOperation.json +16 -0
  213. package/json-schema/permission/RLSUserContext.json +51 -0
  214. package/json-schema/permission/RowLevelSecurityPolicy.json +77 -0
  215. package/json-schema/permission/Territory.json +3 -1
  216. package/json-schema/shared/EventName.json +12 -0
  217. package/json-schema/shared/SnakeCaseIdentifier.json +12 -0
  218. package/json-schema/shared/SystemIdentifier.json +12 -0
  219. package/json-schema/system/Event.json +3 -2
  220. package/json-schema/system/FeatureFlag.json +87 -0
  221. package/json-schema/system/FeatureStrategy.json +16 -0
  222. package/json-schema/system/Manifest.json +398 -0
  223. package/json-schema/ui/Action.json +25 -4
  224. package/json-schema/ui/ActionParam.json +12 -2
  225. package/json-schema/ui/App.json +18 -7
  226. package/json-schema/ui/ChartType.json +9 -1
  227. package/json-schema/ui/Dashboard.json +9 -1
  228. package/json-schema/ui/DashboardNavItem.json +3 -1
  229. package/json-schema/ui/DashboardWidget.json +9 -1
  230. package/json-schema/ui/FieldWidgetProps.json +62 -4
  231. package/json-schema/ui/FormView.json +4 -1
  232. package/json-schema/ui/GroupNavItem.json +3 -1
  233. package/json-schema/ui/ListView.json +7 -1
  234. package/json-schema/ui/NavigationItem.json +15 -5
  235. package/json-schema/ui/ObjectNavItem.json +3 -1
  236. package/json-schema/ui/Page.json +36 -4
  237. package/json-schema/ui/PageCardProps.json +32 -0
  238. package/json-schema/ui/PageComponent.json +33 -3
  239. package/json-schema/ui/PageComponentType.json +32 -0
  240. package/json-schema/ui/PageHeaderProps.json +39 -0
  241. package/json-schema/ui/PageNavItem.json +3 -1
  242. package/json-schema/ui/PageRegion.json +33 -3
  243. package/json-schema/ui/PageTabsProps.json +55 -0
  244. package/json-schema/ui/RecordDetailsProps.json +37 -0
  245. package/json-schema/ui/RecordHighlightsProps.json +24 -0
  246. package/json-schema/ui/RecordRelatedListProps.json +39 -0
  247. package/json-schema/ui/UrlNavItem.json +3 -1
  248. package/json-schema/ui/View.json +22 -4
  249. package/json-schema/ui/WidgetEvent.json +42 -0
  250. package/json-schema/ui/WidgetLifecycle.json +40 -0
  251. package/json-schema/ui/WidgetManifest.json +262 -0
  252. package/json-schema/ui/WidgetProperty.json +58 -0
  253. package/package.json +1 -1
  254. package/prompts/architecture.md +5 -5
  255. package/prompts/create-new-project.md +85 -0
  256. package/dist/driver/index.d.ts +0 -5
  257. package/dist/driver/index.d.ts.map +0 -1
  258. package/dist/driver/mongo.zod.d.ts.map +0 -1
  259. package/dist/driver/postgres.zod.d.ts.map +0 -1
  260. package/dist/kernel/index.d.ts +0 -12
  261. package/dist/kernel/index.d.ts.map +0 -1
  262. package/dist/kernel/index.js +0 -27
  263. package/dist/kernel/manifest.zod.d.ts +0 -2153
  264. package/dist/kernel/manifest.zod.d.ts.map +0 -1
  265. package/json-schema/kernel/Manifest.json +0 -2557
  266. /package/dist/{kernel → system}/context.zod.d.ts +0 -0
  267. /package/dist/{kernel → system}/context.zod.js +0 -0
  268. /package/dist/{driver → system}/datasource.zod.js +0 -0
  269. /package/dist/{driver → system/driver}/mongo.zod.js +0 -0
  270. /package/dist/{driver → system/driver}/postgres.zod.js +0 -0
  271. /package/dist/{driver → system}/driver.zod.js +0 -0
  272. /package/dist/{kernel → system}/logger.zod.js +0 -0
  273. /package/dist/{kernel → system}/plugin.zod.d.ts +0 -0
  274. /package/dist/{kernel → system}/plugin.zod.js +0 -0
  275. /package/dist/{kernel → system}/scoped-storage.zod.js +0 -0
  276. /package/json-schema/{driver → system}/Datasource.json +0 -0
  277. /package/json-schema/{driver → system}/DatasourceCapabilities.json +0 -0
  278. /package/json-schema/{driver → system}/DriverCapabilities.json +0 -0
  279. /package/json-schema/{driver → system}/DriverDefinition.json +0 -0
  280. /package/json-schema/{driver → system}/DriverInterface.json +0 -0
  281. /package/json-schema/{driver → system}/DriverOptions.json +0 -0
  282. /package/json-schema/{driver → system}/DriverType.json +0 -0
  283. /package/json-schema/{kernel → system}/FileMetadata.json +0 -0
  284. /package/json-schema/{kernel → system}/I18nContext.json +0 -0
  285. /package/json-schema/{kernel → system}/KernelContext.json +0 -0
  286. /package/json-schema/{kernel → system}/LogEntry.json +0 -0
  287. /package/json-schema/{kernel → system}/LogFormat.json +0 -0
  288. /package/json-schema/{kernel → system}/LogLevel.json +0 -0
  289. /package/json-schema/{kernel → system}/Logger.json +0 -0
  290. /package/json-schema/{kernel → system}/LoggerConfig.json +0 -0
  291. /package/json-schema/{driver → system}/MongoConfig.json +0 -0
  292. /package/json-schema/{kernel → system}/ObjectQLClient.json +0 -0
  293. /package/json-schema/{kernel → system}/Plugin.json +0 -0
  294. /package/json-schema/{kernel → system}/PluginContext.json +0 -0
  295. /package/json-schema/{kernel → system}/PluginLifecycle.json +0 -0
  296. /package/json-schema/{driver → system}/PostgresConfig.json +0 -0
  297. /package/json-schema/{kernel → system}/Router.json +0 -0
  298. /package/json-schema/{kernel → system}/RuntimeMode.json +0 -0
  299. /package/json-schema/{kernel → system}/Scheduler.json +0 -0
  300. /package/json-schema/{kernel → system}/ScopedStorage.json +0 -0
  301. /package/json-schema/{kernel → system}/ScopedStorageConfig.json +0 -0
  302. /package/json-schema/{kernel → system}/StorageAdapterType.json +0 -0
  303. /package/json-schema/{kernel → system}/StorageScope.json +0 -0
  304. /package/json-schema/{kernel → system}/SystemAPI.json +0 -0
@@ -8,7 +8,7 @@ export declare const PageRegionSchema: z.ZodObject<{
8
8
  width: z.ZodOptional<z.ZodEnum<["small", "medium", "large", "full"]>>;
9
9
  components: z.ZodArray<z.ZodLazy<z.ZodObject<{
10
10
  /** Definition */
11
- type: z.ZodString;
11
+ type: z.ZodUnion<[z.ZodEnum<["page:header", "page:footer", "page:sidebar", "page:tabs", "page:accordion", "page:card", "page:section", "record:details", "record:highlights", "record:related_list", "record:activity", "record:chatter", "record:path", "app:launcher", "nav:menu", "nav:breadcrumb", "global:search", "global:notifications", "user:profile", "ai:chat_window", "ai:suggestion"]>, z.ZodString]>;
12
12
  id: z.ZodOptional<z.ZodString>;
13
13
  /** Configuration */
14
14
  label: z.ZodOptional<z.ZodString>;
@@ -49,13 +49,17 @@ export declare const PageRegionSchema: z.ZodObject<{
49
49
  }[];
50
50
  width?: "full" | "small" | "medium" | "large" | undefined;
51
51
  }>;
52
+ /**
53
+ * Standard Page Component Types
54
+ */
55
+ export declare const PageComponentType: z.ZodEnum<["page:header", "page:footer", "page:sidebar", "page:tabs", "page:accordion", "page:card", "page:section", "record:details", "record:highlights", "record:related_list", "record:activity", "record:chatter", "record:path", "app:launcher", "nav:menu", "nav:breadcrumb", "global:search", "global:notifications", "user:profile", "ai:chat_window", "ai:suggestion"]>;
52
56
  /**
53
57
  * Page Component Schema
54
58
  * A configured instance of a UI component.
55
59
  */
56
60
  export declare const PageComponentSchema: z.ZodObject<{
57
61
  /** Definition */
58
- type: z.ZodString;
62
+ type: z.ZodUnion<[z.ZodEnum<["page:header", "page:footer", "page:sidebar", "page:tabs", "page:accordion", "page:card", "page:section", "record:details", "record:highlights", "record:related_list", "record:activity", "record:chatter", "record:path", "app:launcher", "nav:menu", "nav:breadcrumb", "global:search", "global:notifications", "user:profile", "ai:chat_window", "ai:suggestion"]>, z.ZodString]>;
59
63
  id: z.ZodOptional<z.ZodString>;
60
64
  /** Configuration */
61
65
  label: z.ZodOptional<z.ZodString>;
@@ -79,6 +83,20 @@ export declare const PageComponentSchema: z.ZodObject<{
79
83
  * Page Schema
80
84
  * Defines a composition of components for a specific context (Record, Home, App).
81
85
  * Compare to Salesforce FlexiPage.
86
+ *
87
+ * **NAMING CONVENTION:**
88
+ * Page names are used in routing and must be lowercase snake_case.
89
+ * Prefix with 'page_' is recommended for clarity.
90
+ *
91
+ * @example Good page names
92
+ * - 'page_dashboard'
93
+ * - 'page_settings'
94
+ * - 'home_page'
95
+ * - 'record_detail'
96
+ *
97
+ * @example Bad page names (will be rejected)
98
+ * - 'PageDashboard' (PascalCase)
99
+ * - 'Settings Page' (spaces)
82
100
  */
83
101
  export declare const PageSchema: z.ZodObject<{
84
102
  name: z.ZodString;
@@ -96,7 +114,7 @@ export declare const PageSchema: z.ZodObject<{
96
114
  width: z.ZodOptional<z.ZodEnum<["small", "medium", "large", "full"]>>;
97
115
  components: z.ZodArray<z.ZodLazy<z.ZodObject<{
98
116
  /** Definition */
99
- type: z.ZodString;
117
+ type: z.ZodUnion<[z.ZodEnum<["page:header", "page:footer", "page:sidebar", "page:tabs", "page:accordion", "page:card", "page:section", "record:details", "record:highlights", "record:related_list", "record:activity", "record:chatter", "record:path", "app:launcher", "nav:menu", "nav:breadcrumb", "global:search", "global:notifications", "user:profile", "ai:chat_window", "ai:suggestion"]>, z.ZodString]>;
100
118
  id: z.ZodOptional<z.ZodString>;
101
119
  /** Configuration */
102
120
  label: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"page.zod.d.ts","sourceRoot":"","sources":["../../src/ui/page.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;QAW3B,iBAAiB;;;QAIjB,oBAAoB;;;QAIpB,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAftB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,mBAAmB;IAC9B,iBAAiB;;;IAIjB,oBAAoB;;;IAIpB,sBAAsB;;;;;;;;;;;;;;EAEtB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,UAAU;;;;IAKrB,gBAAgB;;IAGhB,cAAc;;IAGd,sBAAsB;;IAGtB,wBAAwB;;;;;YA/BxB,iBAAiB;;;YAIjB,oBAAoB;;;YAIpB,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0BtB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGjB,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"page.zod.d.ts","sourceRoot":"","sources":["../../src/ui/page.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;QA2B3B,iBAAiB;;;QAOjB,oBAAoB;;;QAIpB,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAlCtB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB,mXAW5B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,mBAAmB;IAC9B,iBAAiB;;;IAOjB,oBAAoB;;;IAIpB,sBAAsB;;;;;;;;;;;;;;EAEtB,CAAC;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,UAAU;;;;IAKrB,gBAAgB;;IAGhB,cAAc;;IAGd,sBAAsB;;IAGtB,wBAAwB;;;;;YAhDxB,iBAAiB;;;YAOjB,oBAAoB;;;YAIpB,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwCtB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGjB,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PageSchema = exports.PageComponentSchema = exports.PageRegionSchema = void 0;
3
+ exports.PageSchema = exports.PageComponentSchema = exports.PageComponentType = exports.PageRegionSchema = void 0;
4
4
  const zod_1 = require("zod");
5
+ const identifiers_zod_1 = require("../shared/identifiers.zod");
5
6
  /**
6
7
  * Page Region Schema
7
8
  * A named region in the template where components are dropped.
@@ -11,17 +12,35 @@ exports.PageRegionSchema = zod_1.z.object({
11
12
  width: zod_1.z.enum(['small', 'medium', 'large', 'full']).optional(),
12
13
  components: zod_1.z.array(zod_1.z.lazy(() => exports.PageComponentSchema)).describe('Components in this region')
13
14
  });
15
+ /**
16
+ * Standard Page Component Types
17
+ */
18
+ exports.PageComponentType = zod_1.z.enum([
19
+ // Structure
20
+ 'page:header', 'page:footer', 'page:sidebar', 'page:tabs', 'page:accordion', 'page:card', 'page:section',
21
+ // Record Context
22
+ 'record:details', 'record:highlights', 'record:related_list', 'record:activity', 'record:chatter', 'record:path',
23
+ // Navigation
24
+ 'app:launcher', 'nav:menu', 'nav:breadcrumb',
25
+ // Utility
26
+ 'global:search', 'global:notifications', 'user:profile',
27
+ // AI
28
+ 'ai:chat_window', 'ai:suggestion'
29
+ ]);
14
30
  /**
15
31
  * Page Component Schema
16
32
  * A configured instance of a UI component.
17
33
  */
18
34
  exports.PageComponentSchema = zod_1.z.object({
19
35
  /** Definition */
20
- type: zod_1.z.string().describe('Component Type (e.g. "steedos-labs.related-list")'),
36
+ type: zod_1.z.union([
37
+ exports.PageComponentType,
38
+ zod_1.z.string()
39
+ ]).describe('Component Type (Standard enum or custom string)'),
21
40
  id: zod_1.z.string().optional().describe('Unique instance ID'),
22
41
  /** Configuration */
23
42
  label: zod_1.z.string().optional(),
24
- properties: zod_1.z.record(zod_1.z.any()).describe('Component props passed to the widget'),
43
+ properties: zod_1.z.record(zod_1.z.any()).describe('Component props passed to the widget. See block.zod.ts for schemas.'),
25
44
  /** Visibility Rule */
26
45
  visibility: zod_1.z.string().optional().describe('Visibility filter/formula')
27
46
  });
@@ -29,9 +48,23 @@ exports.PageComponentSchema = zod_1.z.object({
29
48
  * Page Schema
30
49
  * Defines a composition of components for a specific context (Record, Home, App).
31
50
  * Compare to Salesforce FlexiPage.
51
+ *
52
+ * **NAMING CONVENTION:**
53
+ * Page names are used in routing and must be lowercase snake_case.
54
+ * Prefix with 'page_' is recommended for clarity.
55
+ *
56
+ * @example Good page names
57
+ * - 'page_dashboard'
58
+ * - 'page_settings'
59
+ * - 'home_page'
60
+ * - 'record_detail'
61
+ *
62
+ * @example Bad page names (will be rejected)
63
+ * - 'PageDashboard' (PascalCase)
64
+ * - 'Settings Page' (spaces)
32
65
  */
33
66
  exports.PageSchema = zod_1.z.object({
34
- name: zod_1.z.string().regex(/^[a-z_][a-z0-9_]*$/),
67
+ name: identifiers_zod_1.SnakeCaseIdentifierSchema.describe('Page unique name (lowercase snake_case)'),
35
68
  label: zod_1.z.string(),
36
69
  description: zod_1.z.string().optional(),
37
70
  /** Page Type */
@@ -46,13 +46,13 @@ export declare const ReportChartSchema: z.ZodObject<{
46
46
  xAxis: z.ZodString;
47
47
  yAxis: z.ZodString;
48
48
  }, "strip", z.ZodTypeAny, {
49
- type: "bar" | "line" | "pie" | "donut" | "funnel" | "column" | "scatter";
49
+ type: "bar" | "line" | "pie" | "donut" | "funnel" | "scatter" | "column";
50
50
  showLegend: boolean;
51
51
  xAxis: string;
52
52
  yAxis: string;
53
53
  title?: string | undefined;
54
54
  }, {
55
- type: "bar" | "line" | "pie" | "donut" | "funnel" | "column" | "scatter";
55
+ type: "bar" | "line" | "pie" | "donut" | "funnel" | "scatter" | "column";
56
56
  xAxis: string;
57
57
  yAxis: string;
58
58
  title?: string | undefined;
@@ -121,13 +121,13 @@ export declare const ReportSchema: z.ZodObject<{
121
121
  xAxis: z.ZodString;
122
122
  yAxis: z.ZodString;
123
123
  }, "strip", z.ZodTypeAny, {
124
- type: "bar" | "line" | "pie" | "donut" | "funnel" | "column" | "scatter";
124
+ type: "bar" | "line" | "pie" | "donut" | "funnel" | "scatter" | "column";
125
125
  showLegend: boolean;
126
126
  xAxis: string;
127
127
  yAxis: string;
128
128
  title?: string | undefined;
129
129
  }, {
130
- type: "bar" | "line" | "pie" | "donut" | "funnel" | "column" | "scatter";
130
+ type: "bar" | "line" | "pie" | "donut" | "funnel" | "scatter" | "column";
131
131
  xAxis: string;
132
132
  yAxis: string;
133
133
  title?: string | undefined;
@@ -156,7 +156,7 @@ export declare const ReportSchema: z.ZodObject<{
156
156
  dateGranularity?: "day" | "week" | "month" | "quarter" | "year" | undefined;
157
157
  }[] | undefined;
158
158
  chart?: {
159
- type: "bar" | "line" | "pie" | "donut" | "funnel" | "column" | "scatter";
159
+ type: "bar" | "line" | "pie" | "donut" | "funnel" | "scatter" | "column";
160
160
  showLegend: boolean;
161
161
  xAxis: string;
162
162
  yAxis: string;
@@ -171,8 +171,8 @@ export declare const ReportSchema: z.ZodObject<{
171
171
  label?: string | undefined;
172
172
  aggregate?: "count" | "sum" | "avg" | "min" | "max" | "unique" | undefined;
173
173
  }[];
174
- type?: "summary" | "tabular" | "matrix" | "joined" | undefined;
175
174
  filter?: import("../data/filter.zod").FilterCondition | undefined;
175
+ type?: "summary" | "tabular" | "matrix" | "joined" | undefined;
176
176
  description?: string | undefined;
177
177
  groupingsDown?: {
178
178
  field: string;
@@ -185,7 +185,7 @@ export declare const ReportSchema: z.ZodObject<{
185
185
  dateGranularity?: "day" | "week" | "month" | "quarter" | "year" | undefined;
186
186
  }[] | undefined;
187
187
  chart?: {
188
- type: "bar" | "line" | "pie" | "donut" | "funnel" | "column" | "scatter";
188
+ type: "bar" | "line" | "pie" | "donut" | "funnel" | "scatter" | "column";
189
189
  xAxis: string;
190
190
  yAxis: string;
191
191
  title?: string | undefined;