@objectstack/spec 6.9.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1740) hide show
  1. package/dist/ai/index.d.mts +6 -0
  2. package/dist/ai/index.d.ts +6 -0
  3. package/dist/ai/index.js +11 -0
  4. package/dist/ai/index.js.map +1 -1
  5. package/dist/ai/index.mjs +11 -0
  6. package/dist/ai/index.mjs.map +1 -1
  7. package/dist/api/index.d.mts +139 -5
  8. package/dist/api/index.d.ts +139 -5
  9. package/dist/api/index.js +161 -11
  10. package/dist/api/index.js.map +1 -1
  11. package/dist/api/index.mjs +161 -11
  12. package/dist/api/index.mjs.map +1 -1
  13. package/dist/{app-install.zod-FLEuRBBE.d.mts → app-install.zod-DmovAu2z.d.mts} +26 -0
  14. package/dist/{app-install.zod-FLEuRBBE.d.ts → app-install.zod-DmovAu2z.d.ts} +26 -0
  15. package/dist/app.zod-Cz0bl0Fy.d.mts +598 -0
  16. package/dist/app.zod-Cz0bl0Fy.d.ts +598 -0
  17. package/dist/automation/index.d.mts +6 -0
  18. package/dist/automation/index.d.ts +6 -0
  19. package/dist/automation/index.js +10 -0
  20. package/dist/automation/index.js.map +1 -1
  21. package/dist/automation/index.mjs +10 -0
  22. package/dist/automation/index.mjs.map +1 -1
  23. package/dist/cloud/index.d.mts +448 -7
  24. package/dist/cloud/index.d.ts +448 -7
  25. package/dist/cloud/index.js +170 -15
  26. package/dist/cloud/index.js.map +1 -1
  27. package/dist/cloud/index.mjs +170 -15
  28. package/dist/cloud/index.mjs.map +1 -1
  29. package/dist/contracts/index.d.mts +4 -112
  30. package/dist/contracts/index.d.ts +4 -112
  31. package/dist/data/index.d.mts +8 -113
  32. package/dist/data/index.d.ts +8 -113
  33. package/dist/data/index.js +86 -127
  34. package/dist/data/index.js.map +1 -1
  35. package/dist/data/index.mjs +87 -124
  36. package/dist/data/index.mjs.map +1 -1
  37. package/dist/identity/index.d.mts +2 -0
  38. package/dist/identity/index.d.ts +2 -0
  39. package/dist/identity/index.js +7 -0
  40. package/dist/identity/index.js.map +1 -1
  41. package/dist/identity/index.mjs +7 -0
  42. package/dist/identity/index.mjs.map +1 -1
  43. package/dist/index.d.mts +1031 -148
  44. package/dist/index.d.ts +1031 -148
  45. package/dist/index.js +170 -15
  46. package/dist/index.js.map +1 -1
  47. package/dist/index.mjs +170 -15
  48. package/dist/index.mjs.map +1 -1
  49. package/dist/{object.zod-B2nzURDy.d.ts → object.zod-Bmn3HZLE.d.ts} +96 -4
  50. package/dist/{object.zod-CATh64Wi.d.mts → object.zod-pMVNG5AA.d.mts} +96 -4
  51. package/dist/security/index.d.mts +2 -0
  52. package/dist/security/index.d.ts +2 -0
  53. package/dist/security/index.js +7 -0
  54. package/dist/security/index.js.map +1 -1
  55. package/dist/security/index.mjs +7 -0
  56. package/dist/security/index.mjs.map +1 -1
  57. package/dist/system/index.d.mts +493 -45
  58. package/dist/system/index.d.ts +493 -45
  59. package/dist/system/index.js +9870 -139
  60. package/dist/system/index.js.map +1 -1
  61. package/dist/system/index.mjs +9866 -139
  62. package/dist/system/index.mjs.map +1 -1
  63. package/dist/ui/index.d.mts +391 -6
  64. package/dist/ui/index.d.ts +391 -6
  65. package/dist/ui/index.js +130 -14
  66. package/dist/ui/index.js.map +1 -1
  67. package/dist/ui/index.mjs +129 -15
  68. package/dist/ui/index.mjs.map +1 -1
  69. package/dist/{app.zod-CLlpb0AH.d.ts → view.zod-DXhkr8Bu.d.ts} +8 -566
  70. package/dist/{app.zod-DvMDoI87.d.mts → view.zod-Dvf41aWs.d.mts} +8 -566
  71. package/json-schema/ai/AIKnowledge.json +2 -2
  72. package/json-schema/ai/AIModelConfig.json +2 -2
  73. package/json-schema/ai/AITool.json +2 -2
  74. package/json-schema/ai/AIUsageRecord.json +2 -2
  75. package/json-schema/ai/Agent.json +2 -2
  76. package/json-schema/ai/CodeContent.json +2 -2
  77. package/json-schema/ai/ConversationAnalytics.json +2 -2
  78. package/json-schema/ai/ConversationContext.json +2 -2
  79. package/json-schema/ai/ConversationMessage.json +2 -2
  80. package/json-schema/ai/ConversationSession.json +2 -2
  81. package/json-schema/ai/ConversationSummary.json +2 -2
  82. package/json-schema/ai/EmbeddingModel.json +2 -2
  83. package/json-schema/ai/FileContent.json +2 -2
  84. package/json-schema/ai/FileKnowledgeSource.json +2 -2
  85. package/json-schema/ai/FunctionCall.json +2 -2
  86. package/json-schema/ai/HttpKnowledgeSource.json +2 -2
  87. package/json-schema/ai/ImageContent.json +2 -2
  88. package/json-schema/ai/KnowledgeChunk.json +2 -2
  89. package/json-schema/ai/KnowledgeDocument.json +2 -2
  90. package/json-schema/ai/KnowledgeHit.json +2 -2
  91. package/json-schema/ai/KnowledgeRefreshPolicy.json +2 -2
  92. package/json-schema/ai/KnowledgeSource.json +2 -2
  93. package/json-schema/ai/KnowledgeSourceKind.json +2 -2
  94. package/json-schema/ai/MCPApprovalPolicy.json +2 -2
  95. package/json-schema/ai/MCPServerRef.json +2 -2
  96. package/json-schema/ai/MCPToolBinding.json +2 -2
  97. package/json-schema/ai/MCPTransport.json +2 -2
  98. package/json-schema/ai/MessageContent.json +2 -2
  99. package/json-schema/ai/MessageContentType.json +2 -2
  100. package/json-schema/ai/MessagePruningEvent.json +2 -2
  101. package/json-schema/ai/MessageRole.json +2 -2
  102. package/json-schema/ai/ModelCapability.json +2 -2
  103. package/json-schema/ai/ModelConfig.json +2 -2
  104. package/json-schema/ai/ModelLimits.json +2 -2
  105. package/json-schema/ai/ModelPricing.json +2 -2
  106. package/json-schema/ai/ModelProvider.json +2 -2
  107. package/json-schema/ai/ModelRegistryEntry.json +2 -2
  108. package/json-schema/ai/ModelSelectionCriteria.json +2 -2
  109. package/json-schema/ai/ObjectKnowledgeSource.json +2 -2
  110. package/json-schema/ai/PromptVariable.json +2 -2
  111. package/json-schema/ai/Skill.json +2 -2
  112. package/json-schema/ai/SkillTriggerCondition.json +2 -2
  113. package/json-schema/ai/StructuredOutputConfig.json +2 -2
  114. package/json-schema/ai/StructuredOutputFormat.json +2 -2
  115. package/json-schema/ai/TextContent.json +2 -2
  116. package/json-schema/ai/TokenBudgetConfig.json +2 -2
  117. package/json-schema/ai/TokenBudgetStrategy.json +2 -2
  118. package/json-schema/ai/TokenUsage.json +2 -2
  119. package/json-schema/ai/TokenUsageStats.json +2 -2
  120. package/json-schema/ai/Tool.json +2 -2
  121. package/json-schema/ai/ToolCall.json +2 -2
  122. package/json-schema/ai/ToolCategory.json +2 -2
  123. package/json-schema/ai/TransformPipelineStep.json +2 -2
  124. package/json-schema/ai/VectorStore.json +2 -2
  125. package/json-schema/ai/VectorStoreProvider.json +2 -2
  126. package/json-schema/api/AckMessage.json +2 -2
  127. package/json-schema/api/AddReactionRequest.json +2 -2
  128. package/json-schema/api/AddReactionResponse.json +2 -2
  129. package/json-schema/api/AiInsightsRequest.json +2 -2
  130. package/json-schema/api/AiInsightsResponse.json +2 -2
  131. package/json-schema/api/AiNlqRequest.json +2 -2
  132. package/json-schema/api/AiNlqResponse.json +2 -2
  133. package/json-schema/api/AiSuggestRequest.json +2 -2
  134. package/json-schema/api/AiSuggestResponse.json +2 -2
  135. package/json-schema/api/AnalyticsEndpoint.json +2 -2
  136. package/json-schema/api/AnalyticsMetadataResponse.json +2 -2
  137. package/json-schema/api/AnalyticsQueryRequest.json +2 -2
  138. package/json-schema/api/AnalyticsResultResponse.json +2 -2
  139. package/json-schema/api/AnalyticsSqlResponse.json +2 -2
  140. package/json-schema/api/ApiChangelogEntry.json +2 -2
  141. package/json-schema/api/ApiDiscoveryQuery.json +2 -2
  142. package/json-schema/api/ApiDiscoveryResponse.json +2 -2
  143. package/json-schema/api/ApiDocumentationConfig.json +2 -2
  144. package/json-schema/api/ApiEndpoint.json +2 -2
  145. package/json-schema/api/ApiEndpointRegistration.json +2 -2
  146. package/json-schema/api/ApiError.json +2 -2
  147. package/json-schema/api/ApiMapping.json +2 -2
  148. package/json-schema/api/ApiMetadata.json +2 -2
  149. package/json-schema/api/ApiParameter.json +2 -2
  150. package/json-schema/api/ApiProtocolType.json +2 -2
  151. package/json-schema/api/ApiRegistry.json +2 -2
  152. package/json-schema/api/ApiRegistryEntry.json +2 -2
  153. package/json-schema/api/ApiResponse.json +2 -2
  154. package/json-schema/api/ApiRoutes.json +2 -2
  155. package/json-schema/api/ApiTestCollection.json +2 -2
  156. package/json-schema/api/ApiTestRequest.json +2 -2
  157. package/json-schema/api/ApiTestingUiConfig.json +2 -2
  158. package/json-schema/api/ApiTestingUiType.json +2 -2
  159. package/json-schema/api/AuthEndpoint.json +2 -2
  160. package/json-schema/api/AuthFeaturesConfig.json +2 -2
  161. package/json-schema/api/AuthProvider.json +2 -2
  162. package/json-schema/api/AuthProviderInfo.json +2 -2
  163. package/json-schema/api/AutomationApiErrorCode.json +2 -2
  164. package/json-schema/api/AutomationFlowPathParams.json +2 -2
  165. package/json-schema/api/AutomationRunPathParams.json +2 -2
  166. package/json-schema/api/AutomationTriggerRequest.json +2 -2
  167. package/json-schema/api/AutomationTriggerResponse.json +2 -2
  168. package/json-schema/api/BasePresence.json +2 -2
  169. package/json-schema/api/BaseResponse.json +2 -2
  170. package/json-schema/api/BatchConfig.json +2 -2
  171. package/json-schema/api/BatchDataRequest.json +2 -2
  172. package/json-schema/api/BatchDataResponse.json +2 -2
  173. package/json-schema/api/BatchEndpointsConfig.json +2 -2
  174. package/json-schema/api/BatchLoadingStrategy.json +2 -2
  175. package/json-schema/api/BatchOperationResult.json +2 -2
  176. package/json-schema/api/BatchOperationType.json +2 -2
  177. package/json-schema/api/BatchOptions.json +2 -2
  178. package/json-schema/api/BatchRecord.json +2 -2
  179. package/json-schema/api/BatchUpdateRequest.json +2 -2
  180. package/json-schema/api/BatchUpdateResponse.json +2 -2
  181. package/json-schema/api/BulkRequest.json +2 -2
  182. package/json-schema/api/BulkResponse.json +2 -2
  183. package/json-schema/api/CacheControl.json +2 -2
  184. package/json-schema/api/CacheDirective.json +2 -2
  185. package/json-schema/api/CacheInvalidationRequest.json +2 -2
  186. package/json-schema/api/CacheInvalidationResponse.json +2 -2
  187. package/json-schema/api/CacheInvalidationTarget.json +2 -2
  188. package/json-schema/api/Callback.json +2 -2
  189. package/json-schema/api/ChangelogEntry.json +2 -2
  190. package/json-schema/api/CheckPermissionRequest.json +2 -2
  191. package/json-schema/api/CheckPermissionResponse.json +2 -2
  192. package/json-schema/api/CodeGenerationTemplate.json +2 -2
  193. package/json-schema/api/CompleteChunkedUploadRequest.json +2 -2
  194. package/json-schema/api/CompleteChunkedUploadResponse.json +2 -2
  195. package/json-schema/api/CompleteUploadRequest.json +2 -2
  196. package/json-schema/api/ConceptListResponse.json +2 -2
  197. package/json-schema/api/ConflictResolutionStrategy.json +2 -2
  198. package/json-schema/api/CreateDataRequest.json +2 -2
  199. package/json-schema/api/CreateDataResponse.json +2 -2
  200. package/json-schema/api/CreateExportJobRequest.json +2 -2
  201. package/json-schema/api/CreateExportJobResponse.json +2 -2
  202. package/json-schema/api/CreateFeedItemRequest.json +2 -2
  203. package/json-schema/api/CreateFeedItemResponse.json +2 -2
  204. package/json-schema/api/CreateManyDataRequest.json +2 -2
  205. package/json-schema/api/CreateManyDataResponse.json +2 -2
  206. package/json-schema/api/CreateRequest.json +2 -2
  207. package/json-schema/api/CrudEndpointPattern.json +2 -2
  208. package/json-schema/api/CrudEndpointsConfig.json +2 -2
  209. package/json-schema/api/CrudOperation.json +2 -2
  210. package/json-schema/api/CursorMessage.json +2 -2
  211. package/json-schema/api/CursorPosition.json +2 -2
  212. package/json-schema/api/DataEvent.json +2 -2
  213. package/json-schema/api/DataEventType.json +2 -2
  214. package/json-schema/api/DataLoaderConfig.json +2 -2
  215. package/json-schema/api/DeduplicationStrategy.json +2 -2
  216. package/json-schema/api/DeleteDataRequest.json +2 -2
  217. package/json-schema/api/DeleteDataResponse.json +2 -2
  218. package/json-schema/api/DeleteFeedItemRequest.json +2 -2
  219. package/json-schema/api/DeleteFeedItemResponse.json +2 -2
  220. package/json-schema/api/DeleteFlowRequest.json +2 -2
  221. package/json-schema/api/DeleteFlowResponse.json +2 -2
  222. package/json-schema/api/DeleteManyDataRequest.json +2 -2
  223. package/json-schema/api/DeleteManyDataResponse.json +2 -2
  224. package/json-schema/api/DeleteManyRequest.json +2 -2
  225. package/json-schema/api/DeleteMetaItemRequest.json +2 -2
  226. package/json-schema/api/DeleteMetaItemResponse.json +2 -2
  227. package/json-schema/api/DeleteResponse.json +2 -2
  228. package/json-schema/api/DeleteViewRequest.json +2 -2
  229. package/json-schema/api/DeleteViewResponse.json +2 -2
  230. package/json-schema/api/DeviceRequestResponse.json +2 -2
  231. package/json-schema/api/DeviceTokenResponse.json +2 -2
  232. package/json-schema/api/DisablePackageRequest.json +2 -2
  233. package/json-schema/api/DisablePackageResponse.json +2 -2
  234. package/json-schema/api/Discovery.json +2 -2
  235. package/json-schema/api/DispatcherConfig.json +2 -2
  236. package/json-schema/api/DispatcherErrorCode.json +2 -2
  237. package/json-schema/api/DispatcherErrorResponse.json +2 -2
  238. package/json-schema/api/DispatcherRoute.json +2 -2
  239. package/json-schema/api/DocumentState.json +2 -2
  240. package/json-schema/api/ETag.json +2 -2
  241. package/json-schema/api/EditMessage.json +2 -2
  242. package/json-schema/api/EditOperation.json +2 -2
  243. package/json-schema/api/EditOperationType.json +2 -2
  244. package/json-schema/api/EmailPasswordConfigPublic.json +2 -2
  245. package/json-schema/api/EnablePackageRequest.json +2 -2
  246. package/json-schema/api/EnablePackageResponse.json +2 -2
  247. package/json-schema/api/EndpointRegistry.json +2 -2
  248. package/json-schema/api/EnhancedApiError.json +2 -2
  249. package/json-schema/api/ErrorCategory.json +2 -2
  250. package/json-schema/api/ErrorHandlingConfig.json +2 -2
  251. package/json-schema/api/ErrorMessage.json +2 -2
  252. package/json-schema/api/ErrorResponse.json +2 -2
  253. package/json-schema/api/EventFilter.json +2 -2
  254. package/json-schema/api/EventFilterCondition.json +2 -2
  255. package/json-schema/api/EventMessage.json +2 -2
  256. package/json-schema/api/EventPattern.json +2 -2
  257. package/json-schema/api/EventSubscription.json +2 -2
  258. package/json-schema/api/ExportFormat.json +2 -2
  259. package/json-schema/api/ExportImportTemplate.json +2 -2
  260. package/json-schema/api/ExportJobProgress.json +2 -2
  261. package/json-schema/api/ExportJobStatus.json +2 -2
  262. package/json-schema/api/ExportJobSummary.json +2 -2
  263. package/json-schema/api/ExportRequest.json +2 -2
  264. package/json-schema/api/FederationEntity.json +2 -2
  265. package/json-schema/api/FederationEntityKey.json +2 -2
  266. package/json-schema/api/FederationExternalField.json +2 -2
  267. package/json-schema/api/FederationGateway.json +2 -2
  268. package/json-schema/api/FederationProvides.json +2 -2
  269. package/json-schema/api/FederationRequires.json +2 -2
  270. package/json-schema/api/FeedApiErrorCode.json +2 -2
  271. package/json-schema/api/FeedItemPathParams.json +2 -2
  272. package/json-schema/api/FeedListFilterType.json +2 -2
  273. package/json-schema/api/FeedPathParams.json +2 -2
  274. package/json-schema/api/FeedUnsubscribeRequest.json +2 -2
  275. package/json-schema/api/FieldError.json +2 -2
  276. package/json-schema/api/FieldMappingEntry.json +2 -2
  277. package/json-schema/api/FileTypeValidation.json +2 -2
  278. package/json-schema/api/FileUploadResponse.json +2 -2
  279. package/json-schema/api/FilterOperator.json +2 -2
  280. package/json-schema/api/FindDataRequest.json +2 -2
  281. package/json-schema/api/FindDataResponse.json +2 -2
  282. package/json-schema/api/FlowSummary.json +2 -2
  283. package/json-schema/api/GeneratedApiDocumentation.json +2 -2
  284. package/json-schema/api/GeneratedEndpoint.json +2 -2
  285. package/json-schema/api/GetAnalyticsMetaRequest.json +2 -2
  286. package/json-schema/api/GetAuthConfigResponse.json +2 -2
  287. package/json-schema/api/GetChangelogRequest.json +2 -2
  288. package/json-schema/api/GetChangelogResponse.json +2 -2
  289. package/json-schema/api/GetDataRequest.json +2 -2
  290. package/json-schema/api/GetDataResponse.json +2 -2
  291. package/json-schema/api/GetDiscoveryRequest.json +2 -2
  292. package/json-schema/api/GetDiscoveryResponse.json +2 -2
  293. package/json-schema/api/GetEffectivePermissionsRequest.json +2 -2
  294. package/json-schema/api/GetEffectivePermissionsResponse.json +2 -2
  295. package/json-schema/api/GetExportJobDownloadRequest.json +2 -2
  296. package/json-schema/api/GetExportJobDownloadResponse.json +2 -2
  297. package/json-schema/api/GetFeedRequest.json +2 -2
  298. package/json-schema/api/GetFeedResponse.json +2 -2
  299. package/json-schema/api/GetFieldLabelsRequest.json +2 -2
  300. package/json-schema/api/GetFieldLabelsResponse.json +2 -2
  301. package/json-schema/api/GetFlowRequest.json +2 -2
  302. package/json-schema/api/GetInstalledPackageRequest.json +2 -2
  303. package/json-schema/api/GetInstalledPackageResponse.json +2 -2
  304. package/json-schema/api/GetLocalesRequest.json +2 -2
  305. package/json-schema/api/GetLocalesResponse.json +2 -2
  306. package/json-schema/api/GetMetaItemCachedRequest.json +2 -2
  307. package/json-schema/api/GetMetaItemCachedResponse.json +2 -2
  308. package/json-schema/api/GetMetaItemRequest.json +2 -2
  309. package/json-schema/api/GetMetaItemResponse.json +2 -2
  310. package/json-schema/api/GetMetaItemsRequest.json +2 -2
  311. package/json-schema/api/GetMetaItemsResponse.json +2 -2
  312. package/json-schema/api/GetMetaTypesRequest.json +2 -2
  313. package/json-schema/api/GetMetaTypesResponse.json +2 -2
  314. package/json-schema/api/GetNotificationPreferencesRequest.json +2 -2
  315. package/json-schema/api/GetNotificationPreferencesResponse.json +2 -2
  316. package/json-schema/api/GetObjectPermissionsRequest.json +2 -2
  317. package/json-schema/api/GetObjectPermissionsResponse.json +2 -2
  318. package/json-schema/api/GetPackageRequest.json +2 -2
  319. package/json-schema/api/GetPackageResponse.json +2 -2
  320. package/json-schema/api/GetPresenceRequest.json +2 -2
  321. package/json-schema/api/GetPresenceResponse.json +2 -2
  322. package/json-schema/api/GetPresignedUrlRequest.json +2 -2
  323. package/json-schema/api/GetRunRequest.json +2 -2
  324. package/json-schema/api/GetRunResponse.json +2 -2
  325. package/json-schema/api/GetTranslationsRequest.json +2 -2
  326. package/json-schema/api/GetTranslationsResponse.json +69 -2
  327. package/json-schema/api/GetUiViewRequest.json +2 -2
  328. package/json-schema/api/GetViewRequest.json +2 -2
  329. package/json-schema/api/GetWorkflowConfigRequest.json +2 -2
  330. package/json-schema/api/GetWorkflowStateRequest.json +2 -2
  331. package/json-schema/api/GetWorkflowStateResponse.json +2 -2
  332. package/json-schema/api/GraphQLDataLoaderConfig.json +2 -2
  333. package/json-schema/api/GraphQLDirectiveConfig.json +2 -2
  334. package/json-schema/api/GraphQLDirectiveLocation.json +2 -2
  335. package/json-schema/api/GraphQLMutationConfig.json +2 -2
  336. package/json-schema/api/GraphQLPersistedQuery.json +2 -2
  337. package/json-schema/api/GraphQLQueryAdapter.json +2 -2
  338. package/json-schema/api/GraphQLQueryComplexity.json +2 -2
  339. package/json-schema/api/GraphQLQueryDepthLimit.json +2 -2
  340. package/json-schema/api/GraphQLRateLimit.json +2 -2
  341. package/json-schema/api/GraphQLScalarType.json +2 -2
  342. package/json-schema/api/GraphQLSubscriptionConfig.json +2 -2
  343. package/json-schema/api/GraphQLTypeConfig.json +2 -2
  344. package/json-schema/api/HandlerStatus.json +2 -2
  345. package/json-schema/api/HttpFindQueryParams.json +2 -2
  346. package/json-schema/api/HttpMethod.json +2 -2
  347. package/json-schema/api/HttpStatusCode.json +2 -2
  348. package/json-schema/api/IdRequest.json +2 -2
  349. package/json-schema/api/ImportValidationConfig.json +2 -2
  350. package/json-schema/api/ImportValidationMode.json +2 -2
  351. package/json-schema/api/ImportValidationResult.json +2 -2
  352. package/json-schema/api/InitiateChunkedUploadRequest.json +2 -2
  353. package/json-schema/api/InitiateChunkedUploadResponse.json +2 -2
  354. package/json-schema/api/InstallPackageRequest.json +2 -2
  355. package/json-schema/api/InstallPackageResponse.json +2 -2
  356. package/json-schema/api/ListExportJobsRequest.json +2 -2
  357. package/json-schema/api/ListExportJobsResponse.json +2 -2
  358. package/json-schema/api/ListFlowsRequest.json +2 -2
  359. package/json-schema/api/ListFlowsResponse.json +2 -2
  360. package/json-schema/api/ListInstalledPackagesRequest.json +2 -2
  361. package/json-schema/api/ListInstalledPackagesResponse.json +2 -2
  362. package/json-schema/api/ListNotificationsRequest.json +2 -2
  363. package/json-schema/api/ListNotificationsResponse.json +2 -2
  364. package/json-schema/api/ListPackagesRequest.json +2 -2
  365. package/json-schema/api/ListPackagesResponse.json +2 -2
  366. package/json-schema/api/ListRecordResponse.json +2 -2
  367. package/json-schema/api/ListRunsRequest.json +2 -2
  368. package/json-schema/api/ListRunsResponse.json +2 -2
  369. package/json-schema/api/ListViewsRequest.json +2 -2
  370. package/json-schema/api/LoginRequest.json +2 -2
  371. package/json-schema/api/LoginType.json +2 -2
  372. package/json-schema/api/MarkAllNotificationsReadRequest.json +2 -2
  373. package/json-schema/api/MarkAllNotificationsReadResponse.json +2 -2
  374. package/json-schema/api/MarkNotificationsReadRequest.json +2 -2
  375. package/json-schema/api/MarkNotificationsReadResponse.json +2 -2
  376. package/json-schema/api/MetadataBulkRegisterRequest.json +2 -2
  377. package/json-schema/api/MetadataBulkResponse.json +2 -2
  378. package/json-schema/api/MetadataBulkUnregisterRequest.json +2 -2
  379. package/json-schema/api/MetadataCacheRequest.json +2 -2
  380. package/json-schema/api/MetadataCacheResponse.json +2 -2
  381. package/json-schema/api/MetadataDeleteResponse.json +2 -2
  382. package/json-schema/api/MetadataDependenciesResponse.json +2 -2
  383. package/json-schema/api/MetadataDependentsResponse.json +2 -2
  384. package/json-schema/api/MetadataEffectiveResponse.json +2 -2
  385. package/json-schema/api/MetadataEndpointsConfig.json +2 -2
  386. package/json-schema/api/MetadataEvent.json +2 -2
  387. package/json-schema/api/MetadataEventType.json +2 -2
  388. package/json-schema/api/MetadataExistsResponse.json +2 -2
  389. package/json-schema/api/MetadataExportRequest.json +2 -2
  390. package/json-schema/api/MetadataExportResponse.json +2 -2
  391. package/json-schema/api/MetadataImportRequest.json +2 -2
  392. package/json-schema/api/MetadataImportResponse.json +2 -2
  393. package/json-schema/api/MetadataItemResponse.json +2 -2
  394. package/json-schema/api/MetadataListResponse.json +2 -2
  395. package/json-schema/api/MetadataNamesResponse.json +2 -2
  396. package/json-schema/api/MetadataOverlayResponse.json +2 -2
  397. package/json-schema/api/MetadataOverlaySaveRequest.json +2 -2
  398. package/json-schema/api/MetadataQueryRequest.json +2 -2
  399. package/json-schema/api/MetadataQueryResponse.json +2 -2
  400. package/json-schema/api/MetadataRegisterRequest.json +2 -2
  401. package/json-schema/api/MetadataTypeInfoResponse.json +2 -2
  402. package/json-schema/api/MetadataTypesResponse.json +2 -2
  403. package/json-schema/api/MetadataValidateRequest.json +2 -2
  404. package/json-schema/api/MetadataValidateResponse.json +2 -2
  405. package/json-schema/api/ModificationResult.json +2 -2
  406. package/json-schema/api/Notification.json +2 -2
  407. package/json-schema/api/NotificationPreferences.json +2 -2
  408. package/json-schema/api/ODataConfig.json +2 -2
  409. package/json-schema/api/ODataError.json +2 -2
  410. package/json-schema/api/ODataFilterFunction.json +2 -2
  411. package/json-schema/api/ODataFilterOperator.json +2 -2
  412. package/json-schema/api/ODataMetadata.json +2 -2
  413. package/json-schema/api/ODataQuery.json +2 -2
  414. package/json-schema/api/ODataQueryAdapter.json +2 -2
  415. package/json-schema/api/ODataResponse.json +2 -2
  416. package/json-schema/api/ObjectQLReference.json +2 -2
  417. package/json-schema/api/OpenApi31Extensions.json +2 -2
  418. package/json-schema/api/OpenApiGenerationConfig.json +2 -2
  419. package/json-schema/api/OpenApiSecurityScheme.json +2 -2
  420. package/json-schema/api/OpenApiServer.json +2 -2
  421. package/json-schema/api/OpenApiSpec.json +2 -2
  422. package/json-schema/api/OperatorMapping.json +2 -2
  423. package/json-schema/api/PackageApiErrorCode.json +2 -2
  424. package/json-schema/api/PackageInstallRequest.json +2 -2
  425. package/json-schema/api/PackageInstallResponse.json +2 -2
  426. package/json-schema/api/PackagePathParams.json +2 -2
  427. package/json-schema/api/PackageRollbackRequest.json +2 -2
  428. package/json-schema/api/PackageRollbackResponse.json +2 -2
  429. package/json-schema/api/PackageUpgradeRequest.json +2 -2
  430. package/json-schema/api/PackageUpgradeResponse.json +2 -2
  431. package/json-schema/api/PinFeedItemRequest.json +2 -2
  432. package/json-schema/api/PinFeedItemResponse.json +2 -2
  433. package/json-schema/api/PingMessage.json +2 -2
  434. package/json-schema/api/PongMessage.json +2 -2
  435. package/json-schema/api/PresenceMessage.json +2 -2
  436. package/json-schema/api/PresenceState.json +2 -2
  437. package/json-schema/api/PresenceStatus.json +2 -2
  438. package/json-schema/api/PresenceUpdate.json +2 -2
  439. package/json-schema/api/PresignedUrlResponse.json +2 -2
  440. package/json-schema/api/QueryAdapterConfig.json +2 -2
  441. package/json-schema/api/QueryAdapterTarget.json +2 -2
  442. package/json-schema/api/QueryOptimizationConfig.json +2 -2
  443. package/json-schema/api/RealtimeConfig.json +2 -2
  444. package/json-schema/api/RealtimeConnectRequest.json +2 -2
  445. package/json-schema/api/RealtimeConnectResponse.json +2 -2
  446. package/json-schema/api/RealtimeDisconnectRequest.json +2 -2
  447. package/json-schema/api/RealtimeDisconnectResponse.json +2 -2
  448. package/json-schema/api/RealtimeEvent.json +2 -2
  449. package/json-schema/api/RealtimeEventType.json +2 -2
  450. package/json-schema/api/RealtimePresence.json +2 -2
  451. package/json-schema/api/RealtimeRecordAction.json +2 -2
  452. package/json-schema/api/RealtimeSubscribeRequest.json +2 -2
  453. package/json-schema/api/RealtimeSubscribeResponse.json +2 -2
  454. package/json-schema/api/RealtimeUnsubscribeRequest.json +2 -2
  455. package/json-schema/api/RealtimeUnsubscribeResponse.json +2 -2
  456. package/json-schema/api/RecordData.json +2 -2
  457. package/json-schema/api/RefreshTokenRequest.json +2 -2
  458. package/json-schema/api/RegisterDeviceRequest.json +2 -2
  459. package/json-schema/api/RegisterDeviceResponse.json +2 -2
  460. package/json-schema/api/RegisterRequest.json +2 -2
  461. package/json-schema/api/RemoveReactionRequest.json +2 -2
  462. package/json-schema/api/RemoveReactionResponse.json +2 -2
  463. package/json-schema/api/RequestValidationConfig.json +2 -2
  464. package/json-schema/api/ResolveDependenciesRequest.json +2 -2
  465. package/json-schema/api/ResolveDependenciesResponse.json +2 -2
  466. package/json-schema/api/ResponseEnvelopeConfig.json +2 -2
  467. package/json-schema/api/RestApiConfig.json +2 -2
  468. package/json-schema/api/RestApiEndpoint.json +2 -2
  469. package/json-schema/api/RestApiPluginConfig.json +2 -2
  470. package/json-schema/api/RestApiRouteCategory.json +2 -2
  471. package/json-schema/api/RestApiRouteRegistration.json +2 -2
  472. package/json-schema/api/RestQueryAdapter.json +2 -2
  473. package/json-schema/api/RestServerConfig.json +2 -2
  474. package/json-schema/api/RetryStrategy.json +2 -2
  475. package/json-schema/api/RouteCategory.json +2 -2
  476. package/json-schema/api/RouteCoverageEntry.json +2 -2
  477. package/json-schema/api/RouteCoverageReport.json +2 -2
  478. package/json-schema/api/RouteDefinition.json +2 -2
  479. package/json-schema/api/RouteGenerationConfig.json +2 -2
  480. package/json-schema/api/RouteHealthEntry.json +2 -2
  481. package/json-schema/api/RouteHealthReport.json +2 -2
  482. package/json-schema/api/RouterConfig.json +2 -2
  483. package/json-schema/api/SaveMetaItemRequest.json +2 -2
  484. package/json-schema/api/SaveMetaItemResponse.json +2 -2
  485. package/json-schema/api/ScheduleExportResponse.json +2 -2
  486. package/json-schema/api/SchemaDefinition.json +2 -2
  487. package/json-schema/api/SearchFeedRequest.json +2 -2
  488. package/json-schema/api/SearchFeedResponse.json +2 -2
  489. package/json-schema/api/ServiceInfo.json +2 -2
  490. package/json-schema/api/ServiceStatus.json +2 -2
  491. package/json-schema/api/Session.json +2 -2
  492. package/json-schema/api/SessionResponse.json +2 -2
  493. package/json-schema/api/SessionUser.json +2 -2
  494. package/json-schema/api/SetPresenceRequest.json +2 -2
  495. package/json-schema/api/SetPresenceResponse.json +2 -2
  496. package/json-schema/api/SimpleCursorPosition.json +2 -2
  497. package/json-schema/api/SimplePresenceState.json +2 -2
  498. package/json-schema/api/SingleRecordResponse.json +2 -2
  499. package/json-schema/api/StandardErrorCode.json +2 -2
  500. package/json-schema/api/StarFeedItemRequest.json +2 -2
  501. package/json-schema/api/StarFeedItemResponse.json +2 -2
  502. package/json-schema/api/SubgraphConfig.json +2 -2
  503. package/json-schema/api/SubscribeMessage.json +2 -2
  504. package/json-schema/api/SubscribeRequest.json +2 -2
  505. package/json-schema/api/SubscribeResponse.json +2 -2
  506. package/json-schema/api/Subscription.json +2 -2
  507. package/json-schema/api/SubscriptionEvent.json +2 -2
  508. package/json-schema/api/ToggleFlowRequest.json +2 -2
  509. package/json-schema/api/ToggleFlowResponse.json +2 -2
  510. package/json-schema/api/TransportProtocol.json +2 -2
  511. package/json-schema/api/TriggerFlowRequest.json +2 -2
  512. package/json-schema/api/TriggerFlowResponse.json +2 -2
  513. package/json-schema/api/UninstallPackageApiRequest.json +2 -2
  514. package/json-schema/api/UninstallPackageApiResponse.json +2 -2
  515. package/json-schema/api/UninstallPackageRequest.json +2 -2
  516. package/json-schema/api/UninstallPackageResponse.json +2 -2
  517. package/json-schema/api/UnpinFeedItemRequest.json +2 -2
  518. package/json-schema/api/UnpinFeedItemResponse.json +2 -2
  519. package/json-schema/api/UnregisterDeviceRequest.json +2 -2
  520. package/json-schema/api/UnregisterDeviceResponse.json +2 -2
  521. package/json-schema/api/UnstarFeedItemRequest.json +2 -2
  522. package/json-schema/api/UnstarFeedItemResponse.json +2 -2
  523. package/json-schema/api/UnsubscribeMessage.json +2 -2
  524. package/json-schema/api/UnsubscribeRequest.json +2 -2
  525. package/json-schema/api/UnsubscribeResponse.json +2 -2
  526. package/json-schema/api/UpdateDataRequest.json +2 -2
  527. package/json-schema/api/UpdateDataResponse.json +2 -2
  528. package/json-schema/api/UpdateFeedItemRequest.json +2 -2
  529. package/json-schema/api/UpdateFeedItemResponse.json +2 -2
  530. package/json-schema/api/UpdateManyDataRequest.json +2 -2
  531. package/json-schema/api/UpdateManyDataResponse.json +2 -2
  532. package/json-schema/api/UpdateManyRequest.json +2 -2
  533. package/json-schema/api/UpdateNotificationPreferencesRequest.json +2 -2
  534. package/json-schema/api/UpdateNotificationPreferencesResponse.json +2 -2
  535. package/json-schema/api/UpdateRequest.json +2 -2
  536. package/json-schema/api/UploadArtifactRequest.json +2 -2
  537. package/json-schema/api/UploadArtifactResponse.json +2 -2
  538. package/json-schema/api/UploadChunkRequest.json +2 -2
  539. package/json-schema/api/UploadChunkResponse.json +2 -2
  540. package/json-schema/api/UploadProgress.json +2 -2
  541. package/json-schema/api/UserProfileResponse.json +2 -2
  542. package/json-schema/api/ValidationMode.json +2 -2
  543. package/json-schema/api/VersionDefinition.json +2 -2
  544. package/json-schema/api/VersionNegotiationResponse.json +2 -2
  545. package/json-schema/api/VersionStatus.json +2 -2
  546. package/json-schema/api/VersioningConfig.json +2 -2
  547. package/json-schema/api/VersioningStrategy.json +2 -2
  548. package/json-schema/api/WebSocketConfig.json +2 -2
  549. package/json-schema/api/WebSocketEvent.json +2 -2
  550. package/json-schema/api/WebSocketMessage.json +2 -2
  551. package/json-schema/api/WebSocketMessageType.json +2 -2
  552. package/json-schema/api/WebSocketPresenceStatus.json +2 -2
  553. package/json-schema/api/WebSocketServerConfig.json +2 -2
  554. package/json-schema/api/WebhookConfig.json +2 -2
  555. package/json-schema/api/WebhookEvent.json +2 -2
  556. package/json-schema/api/WellKnownCapabilities.json +2 -2
  557. package/json-schema/api/WorkflowApproveRequest.json +2 -2
  558. package/json-schema/api/WorkflowApproveResponse.json +2 -2
  559. package/json-schema/api/WorkflowRejectRequest.json +2 -2
  560. package/json-schema/api/WorkflowRejectResponse.json +2 -2
  561. package/json-schema/api/WorkflowState.json +2 -2
  562. package/json-schema/api/WorkflowTransitionRequest.json +2 -2
  563. package/json-schema/api/WorkflowTransitionResponse.json +2 -2
  564. package/json-schema/automation/ActionRef.json +2 -2
  565. package/json-schema/automation/ApprovalAction.json +2 -2
  566. package/json-schema/automation/ApprovalActionType.json +2 -2
  567. package/json-schema/automation/ApproverType.json +2 -2
  568. package/json-schema/automation/AuthField.json +2 -2
  569. package/json-schema/automation/Authentication.json +2 -2
  570. package/json-schema/automation/AuthenticationType.json +2 -2
  571. package/json-schema/automation/BpmnDiagnostic.json +2 -2
  572. package/json-schema/automation/BpmnElementMapping.json +2 -2
  573. package/json-schema/automation/BpmnExportOptions.json +2 -2
  574. package/json-schema/automation/BpmnImportOptions.json +2 -2
  575. package/json-schema/automation/BpmnInteropResult.json +2 -2
  576. package/json-schema/automation/BpmnUnmappedStrategy.json +2 -2
  577. package/json-schema/automation/BpmnVersion.json +2 -2
  578. package/json-schema/automation/Checkpoint.json +2 -2
  579. package/json-schema/automation/ConcurrencyPolicy.json +2 -2
  580. package/json-schema/automation/ConflictResolution.json +2 -2
  581. package/json-schema/automation/Connector.json +2 -2
  582. package/json-schema/automation/ConnectorActionRef.json +2 -2
  583. package/json-schema/automation/ConnectorCategory.json +2 -2
  584. package/json-schema/automation/ConnectorInstance.json +2 -2
  585. package/json-schema/automation/ConnectorOperation.json +2 -2
  586. package/json-schema/automation/ConnectorTrigger.json +2 -2
  587. package/json-schema/automation/CustomScriptAction.json +2 -2
  588. package/json-schema/automation/DataSourceConfig.json +2 -2
  589. package/json-schema/automation/ETLDestination.json +2 -2
  590. package/json-schema/automation/ETLEndpointType.json +2 -2
  591. package/json-schema/automation/ETLPipelineRun.json +2 -2
  592. package/json-schema/automation/ETLRunStatus.json +2 -2
  593. package/json-schema/automation/ETLSource.json +2 -2
  594. package/json-schema/automation/ETLSyncMode.json +2 -2
  595. package/json-schema/automation/ETLTransformation.json +2 -2
  596. package/json-schema/automation/ETLTransformationType.json +2 -2
  597. package/json-schema/automation/EmailAlertAction.json +2 -2
  598. package/json-schema/automation/Event.json +2 -2
  599. package/json-schema/automation/ExecutionError.json +2 -2
  600. package/json-schema/automation/ExecutionErrorSeverity.json +2 -2
  601. package/json-schema/automation/ExecutionLog.json +2 -2
  602. package/json-schema/automation/ExecutionStatus.json +2 -2
  603. package/json-schema/automation/ExecutionStepLog.json +2 -2
  604. package/json-schema/automation/FieldUpdateAction.json +2 -2
  605. package/json-schema/automation/FlowNode.json +2 -2
  606. package/json-schema/automation/FlowNodeAction.json +2 -2
  607. package/json-schema/automation/FlowVariable.json +2 -2
  608. package/json-schema/automation/GuardRef.json +2 -2
  609. package/json-schema/automation/HttpCallAction.json +2 -2
  610. package/json-schema/automation/NodeExecutorDescriptor.json +2 -2
  611. package/json-schema/automation/OAuth2Config.json +2 -2
  612. package/json-schema/automation/OperationParameter.json +2 -2
  613. package/json-schema/automation/OperationType.json +2 -2
  614. package/json-schema/automation/PushNotificationAction.json +2 -2
  615. package/json-schema/automation/StateMachine.json +2 -2
  616. package/json-schema/automation/StateNode.json +2 -2
  617. package/json-schema/automation/SyncDirection.json +2 -2
  618. package/json-schema/automation/SyncExecutionResult.json +2 -2
  619. package/json-schema/automation/SyncExecutionStatus.json +2 -2
  620. package/json-schema/automation/SyncMode.json +2 -2
  621. package/json-schema/automation/Transition.json +2 -2
  622. package/json-schema/automation/WaitEventType.json +2 -2
  623. package/json-schema/automation/WaitExecutorConfig.json +2 -2
  624. package/json-schema/automation/WaitResumePayload.json +2 -2
  625. package/json-schema/automation/WaitTimeoutBehavior.json +2 -2
  626. package/json-schema/automation/Webhook.json +2 -2
  627. package/json-schema/automation/WebhookReceiver.json +2 -2
  628. package/json-schema/automation/WebhookTriggerType.json +2 -2
  629. package/json-schema/automation/WorkflowTriggerType.json +2 -2
  630. package/json-schema/cloud/AnalyticsTimeRange.json +2 -2
  631. package/json-schema/cloud/AppDiscoveryRequest.json +2 -2
  632. package/json-schema/cloud/AppDiscoveryResponse.json +2 -2
  633. package/json-schema/cloud/AppSubscription.json +2 -2
  634. package/json-schema/cloud/ArtifactDownloadResponse.json +2 -2
  635. package/json-schema/cloud/ArtifactReference.json +2 -2
  636. package/json-schema/cloud/CreateListingRequest.json +2 -2
  637. package/json-schema/cloud/CreatePackageRequest.json +2 -2
  638. package/json-schema/cloud/CreatePackageVersionRequest.json +2 -2
  639. package/json-schema/cloud/CuratedCollection.json +2 -2
  640. package/json-schema/cloud/Environment.json +2 -2
  641. package/json-schema/cloud/EnvironmentCredential.json +2 -2
  642. package/json-schema/cloud/EnvironmentCredentialStatus.json +2 -2
  643. package/json-schema/cloud/EnvironmentDriver.json +2 -2
  644. package/json-schema/cloud/EnvironmentMember.json +2 -2
  645. package/json-schema/cloud/EnvironmentPackageInstallation.json +2 -2
  646. package/json-schema/cloud/EnvironmentPackageStatus.json +2 -2
  647. package/json-schema/cloud/EnvironmentRole.json +2 -2
  648. package/json-schema/cloud/EnvironmentStatus.json +2 -2
  649. package/json-schema/cloud/EnvironmentType.json +2 -2
  650. package/json-schema/cloud/EnvironmentVisibility.json +2 -2
  651. package/json-schema/cloud/FeaturedListing.json +2 -2
  652. package/json-schema/cloud/InstallPackageToEnvironmentRequest.json +2 -2
  653. package/json-schema/cloud/InstalledAppSummary.json +2 -2
  654. package/json-schema/cloud/ListEnvironmentPackagesResponse.json +2 -2
  655. package/json-schema/cloud/ListInstalledAppsRequest.json +2 -2
  656. package/json-schema/cloud/ListInstalledAppsResponse.json +2 -2
  657. package/json-schema/cloud/ListReviewsRequest.json +2 -2
  658. package/json-schema/cloud/ListReviewsResponse.json +2 -2
  659. package/json-schema/cloud/ListingActionRequest.json +2 -2
  660. package/json-schema/cloud/ListingStatus.json +2 -2
  661. package/json-schema/cloud/MarketplaceCategory.json +2 -2
  662. package/json-schema/cloud/MarketplaceHealthMetrics.json +2 -2
  663. package/json-schema/cloud/MarketplaceInstallRequest.json +2 -2
  664. package/json-schema/cloud/MarketplaceInstallResponse.json +2 -2
  665. package/json-schema/cloud/MarketplaceListing.json +2 -2
  666. package/json-schema/cloud/MarketplaceSearchRequest.json +2 -2
  667. package/json-schema/cloud/MarketplaceSearchResponse.json +2 -2
  668. package/json-schema/cloud/Package.json +2 -2
  669. package/json-schema/cloud/PackageCategory.json +2 -2
  670. package/json-schema/cloud/PackageDependency.json +2 -2
  671. package/json-schema/cloud/PackageInstallation.json +2 -2
  672. package/json-schema/cloud/PackageInstallationStatus.json +2 -2
  673. package/json-schema/cloud/PackageLocale.json +2 -2
  674. package/json-schema/cloud/PackageManifest.json +2 -2
  675. package/json-schema/cloud/PackagePublisher.json +2 -2
  676. package/json-schema/cloud/PackageSubmission.json +2 -2
  677. package/json-schema/cloud/PackageTranslation.json +2 -2
  678. package/json-schema/cloud/PackageTranslations.json +2 -2
  679. package/json-schema/cloud/PackageVersion.json +2 -2
  680. package/json-schema/cloud/PackageVersionStatus.json +2 -2
  681. package/json-schema/cloud/PackageVisibility.json +2 -2
  682. package/json-schema/cloud/PolicyAction.json +2 -2
  683. package/json-schema/cloud/PolicyViolationType.json +2 -2
  684. package/json-schema/cloud/PricingModel.json +2 -2
  685. package/json-schema/cloud/ProvisionEnvironmentRequest.json +2 -2
  686. package/json-schema/cloud/ProvisionEnvironmentResponse.json +2 -2
  687. package/json-schema/cloud/ProvisionOrganizationRequest.json +2 -2
  688. package/json-schema/cloud/ProvisionOrganizationResponse.json +2 -2
  689. package/json-schema/cloud/ProvisionTenantRequest.json +2 -2
  690. package/json-schema/cloud/ProvisionTenantResponse.json +2 -2
  691. package/json-schema/cloud/PublishPackageVersionRequest.json +2 -2
  692. package/json-schema/cloud/Publisher.json +2 -2
  693. package/json-schema/cloud/PublisherProfile.json +2 -2
  694. package/json-schema/cloud/PublisherVerification.json +2 -2
  695. package/json-schema/cloud/PublishingAnalyticsRequest.json +2 -2
  696. package/json-schema/cloud/PublishingAnalyticsResponse.json +2 -2
  697. package/json-schema/cloud/RecommendationReason.json +2 -2
  698. package/json-schema/cloud/RecommendedApp.json +2 -2
  699. package/json-schema/cloud/RejectionReason.json +2 -2
  700. package/json-schema/cloud/ReleaseChannel.json +2 -2
  701. package/json-schema/cloud/ReviewCriterion.json +2 -2
  702. package/json-schema/cloud/ReviewDecision.json +2 -2
  703. package/json-schema/cloud/ReviewModerationStatus.json +2 -2
  704. package/json-schema/cloud/RollbackEnvironmentPackageRequest.json +2 -2
  705. package/json-schema/cloud/Sha256Digest.json +2 -2
  706. package/json-schema/cloud/SubmissionReview.json +2 -2
  707. package/json-schema/cloud/SubmitReviewRequest.json +2 -2
  708. package/json-schema/cloud/SubscriptionStatus.json +2 -2
  709. package/json-schema/cloud/TemplateManifest.json +2 -2
  710. package/json-schema/cloud/TenantContext.json +2 -2
  711. package/json-schema/cloud/TenantDatabase.json +2 -2
  712. package/json-schema/cloud/TenantDatabaseStatus.json +2 -2
  713. package/json-schema/cloud/TenantIdentificationSource.json +2 -2
  714. package/json-schema/cloud/TenantPlan.json +2 -2
  715. package/json-schema/cloud/TenantRoutingConfig.json +2 -2
  716. package/json-schema/cloud/TimeSeriesPoint.json +2 -2
  717. package/json-schema/cloud/TrendingListing.json +2 -2
  718. package/json-schema/cloud/UpdateListingRequest.json +2 -2
  719. package/json-schema/cloud/UpdatePackageRequest.json +2 -2
  720. package/json-schema/cloud/UpdatePackageVersionRequest.json +2 -2
  721. package/json-schema/cloud/UpgradeEnvironmentPackageRequest.json +2 -2
  722. package/json-schema/cloud/UserReview.json +2 -2
  723. package/json-schema/cloud/VersionRelease.json +2 -2
  724. package/json-schema/data/Address.json +2 -2
  725. package/json-schema/data/AggregationFunction.json +2 -2
  726. package/json-schema/data/AggregationMetricType.json +2 -2
  727. package/json-schema/data/AggregationNode.json +2 -2
  728. package/json-schema/data/AggregationPipeline.json +2 -2
  729. package/json-schema/data/AggregationStage.json +2 -2
  730. package/json-schema/data/AnalyticsQuery.json +2 -2
  731. package/json-schema/data/ApiMethod.json +2 -2
  732. package/json-schema/data/AsyncValidation.json +2 -2
  733. package/json-schema/data/BaseEngineOptions.json +2 -2
  734. package/json-schema/data/CDCConfig.json +2 -2
  735. package/json-schema/data/ComputedFieldCache.json +2 -2
  736. package/json-schema/data/ConsistencyLevel.json +2 -2
  737. package/json-schema/data/Cube.json +2 -2
  738. package/json-schema/data/CubeJoin.json +2 -2
  739. package/json-schema/data/CurrencyConfig.json +2 -2
  740. package/json-schema/data/CurrencyValue.json +2 -2
  741. package/json-schema/data/CustomValidator.json +2 -2
  742. package/json-schema/data/DataEngineAggregateOptions.json +2 -2
  743. package/json-schema/data/DataEngineAggregateRequest.json +2 -2
  744. package/json-schema/data/DataEngineBatchRequest.json +2 -2
  745. package/json-schema/data/DataEngineCountOptions.json +2 -2
  746. package/json-schema/data/DataEngineCountRequest.json +2 -2
  747. package/json-schema/data/DataEngineDeleteOptions.json +2 -2
  748. package/json-schema/data/DataEngineDeleteRequest.json +2 -2
  749. package/json-schema/data/DataEngineExecuteRequest.json +2 -2
  750. package/json-schema/data/DataEngineFilter.json +2 -2
  751. package/json-schema/data/DataEngineFindOneRequest.json +2 -2
  752. package/json-schema/data/DataEngineFindRequest.json +2 -2
  753. package/json-schema/data/DataEngineInsertOptions.json +2 -2
  754. package/json-schema/data/DataEngineInsertRequest.json +2 -2
  755. package/json-schema/data/DataEngineQueryOptions.json +2 -2
  756. package/json-schema/data/DataEngineRequest.json +2 -2
  757. package/json-schema/data/DataEngineSort.json +2 -2
  758. package/json-schema/data/DataEngineUpdateOptions.json +2 -2
  759. package/json-schema/data/DataEngineUpdateRequest.json +2 -2
  760. package/json-schema/data/DataEngineVectorFindRequest.json +2 -2
  761. package/json-schema/data/DataQualityRules.json +2 -2
  762. package/json-schema/data/DataTypeMapping.json +2 -2
  763. package/json-schema/data/Dataset.json +2 -2
  764. package/json-schema/data/DatasetLoadResult.json +2 -2
  765. package/json-schema/data/DatasetMode.json +2 -2
  766. package/json-schema/data/Datasource.json +2 -2
  767. package/json-schema/data/DatasourceCapabilities.json +2 -2
  768. package/json-schema/data/DateGranularity.json +2 -2
  769. package/json-schema/data/DateMacroPlaceholder.json +2 -2
  770. package/json-schema/data/DateMacroToken.json +2 -2
  771. package/json-schema/data/Dimension.json +2 -2
  772. package/json-schema/data/DimensionType.json +2 -2
  773. package/json-schema/data/Document.json +2 -2
  774. package/json-schema/data/DocumentTemplate.json +2 -2
  775. package/json-schema/data/DocumentValidationSchema.json +2 -2
  776. package/json-schema/data/DocumentVersion.json +2 -2
  777. package/json-schema/data/DriverCapabilities.json +2 -2
  778. package/json-schema/data/DriverConfig.json +2 -2
  779. package/json-schema/data/DriverDefinition.json +2 -2
  780. package/json-schema/data/DriverOptions.json +2 -2
  781. package/json-schema/data/DriverType.json +2 -2
  782. package/json-schema/data/ESignatureConfig.json +2 -2
  783. package/json-schema/data/EngineAggregateOptions.json +2 -2
  784. package/json-schema/data/EngineCountOptions.json +2 -2
  785. package/json-schema/data/EngineDeleteOptions.json +2 -2
  786. package/json-schema/data/EngineQueryOptions.json +2 -2
  787. package/json-schema/data/EngineUpdateOptions.json +2 -2
  788. package/json-schema/data/EqualityOperator.json +2 -2
  789. package/json-schema/data/ExpressionBody.json +2 -2
  790. package/json-schema/data/ExternalDataSource.json +2 -2
  791. package/json-schema/data/FeedActor.json +2 -2
  792. package/json-schema/data/FeedFilterMode.json +2 -2
  793. package/json-schema/data/FeedItem.json +2 -2
  794. package/json-schema/data/FeedItemType.json +2 -2
  795. package/json-schema/data/FeedVisibility.json +2 -2
  796. package/json-schema/data/FieldChangeEntry.json +2 -2
  797. package/json-schema/data/FieldMapping.json +2 -2
  798. package/json-schema/data/FieldNode.json +2 -2
  799. package/json-schema/data/FieldReference.json +2 -2
  800. package/json-schema/data/FieldType.json +2 -2
  801. package/json-schema/data/FileAttachmentConfig.json +2 -2
  802. package/json-schema/data/FilterCondition.json +2 -2
  803. package/json-schema/data/FormatValidation.json +2 -2
  804. package/json-schema/data/FullTextSearch.json +2 -2
  805. package/json-schema/data/GroupByNode.json +2 -2
  806. package/json-schema/data/HookBody.json +2 -2
  807. package/json-schema/data/HookBodyCapability.json +2 -2
  808. package/json-schema/data/HookContext.json +2 -2
  809. package/json-schema/data/HookEvent.json +2 -2
  810. package/json-schema/data/Index.json +2 -2
  811. package/json-schema/data/JSONValidation.json +2 -2
  812. package/json-schema/data/JoinNode.json +2 -2
  813. package/json-schema/data/JoinStrategy.json +2 -2
  814. package/json-schema/data/JoinType.json +2 -2
  815. package/json-schema/data/LocationCoordinates.json +2 -2
  816. package/json-schema/data/Mapping.json +2 -2
  817. package/json-schema/data/Mention.json +2 -2
  818. package/json-schema/data/Metric.json +2 -2
  819. package/json-schema/data/NoSQLDataTypeMapping.json +2 -2
  820. package/json-schema/data/NoSQLDatabaseType.json +2 -2
  821. package/json-schema/data/NoSQLDriverConfig.json +2 -2
  822. package/json-schema/data/NoSQLIndex.json +2 -2
  823. package/json-schema/data/NoSQLIndexType.json +2 -2
  824. package/json-schema/data/NoSQLOperationType.json +2 -2
  825. package/json-schema/data/NoSQLQueryOptions.json +2 -2
  826. package/json-schema/data/NoSQLTransactionOptions.json +2 -2
  827. package/json-schema/data/NotificationChannel.json +2 -2
  828. package/json-schema/data/ObjectCapabilities.json +2 -2
  829. package/json-schema/data/ObjectDependencyGraph.json +2 -2
  830. package/json-schema/data/ObjectDependencyNode.json +2 -2
  831. package/json-schema/data/ObjectOwnershipEnum.json +2 -2
  832. package/json-schema/data/PartitioningConfig.json +2 -2
  833. package/json-schema/data/PoolConfig.json +2 -2
  834. package/json-schema/data/Query.json +2 -2
  835. package/json-schema/data/QueryFilter.json +2 -2
  836. package/json-schema/data/Reaction.json +2 -2
  837. package/json-schema/data/RecordSubscription.json +2 -2
  838. package/json-schema/data/ReferenceResolution.json +2 -2
  839. package/json-schema/data/ReferenceResolutionError.json +2 -2
  840. package/json-schema/data/ReplicationConfig.json +2 -2
  841. package/json-schema/data/SQLDialect.json +2 -2
  842. package/json-schema/data/SQLDriverConfig.json +2 -2
  843. package/json-schema/data/SSLConfig.json +2 -2
  844. package/json-schema/data/ScriptBody.json +2 -2
  845. package/json-schema/data/SearchConfig.json +2 -2
  846. package/json-schema/data/SeedLoaderConfig.json +2 -2
  847. package/json-schema/data/SeedLoaderRequest.json +2 -2
  848. package/json-schema/data/SeedLoaderResult.json +2 -2
  849. package/json-schema/data/SelectOption.json +2 -2
  850. package/json-schema/data/SetOperator.json +2 -2
  851. package/json-schema/data/ShardingConfig.json +2 -2
  852. package/json-schema/data/SoftDeleteConfig.json +2 -2
  853. package/json-schema/data/SortNode.json +2 -2
  854. package/json-schema/data/SpecialOperator.json +2 -2
  855. package/json-schema/data/StateMachineValidation.json +2 -2
  856. package/json-schema/data/StringOperator.json +2 -2
  857. package/json-schema/data/SubscriptionEventType.json +2 -2
  858. package/json-schema/data/TenancyConfig.json +2 -2
  859. package/json-schema/data/TimeUpdateInterval.json +2 -2
  860. package/json-schema/data/TransformType.json +2 -2
  861. package/json-schema/data/VectorConfig.json +2 -2
  862. package/json-schema/data/VersioningConfig.json +2 -2
  863. package/json-schema/data/WindowFunction.json +2 -2
  864. package/json-schema/data/WindowFunctionNode.json +2 -2
  865. package/json-schema/data/WindowSpec.json +2 -2
  866. package/json-schema/identity/Account.json +2 -2
  867. package/json-schema/identity/ApiKey.json +2 -2
  868. package/json-schema/identity/Invitation.json +2 -2
  869. package/json-schema/identity/InvitationStatus.json +2 -2
  870. package/json-schema/identity/Member.json +2 -2
  871. package/json-schema/identity/Organization.json +2 -2
  872. package/json-schema/identity/Role.json +2 -2
  873. package/json-schema/identity/SCIMAddress.json +2 -2
  874. package/json-schema/identity/SCIMBulkOperation.json +2 -2
  875. package/json-schema/identity/SCIMBulkRequest.json +2 -2
  876. package/json-schema/identity/SCIMBulkResponse.json +2 -2
  877. package/json-schema/identity/SCIMBulkResponseOperation.json +2 -2
  878. package/json-schema/identity/SCIMEmail.json +2 -2
  879. package/json-schema/identity/SCIMEnterpriseUser.json +2 -2
  880. package/json-schema/identity/SCIMError.json +2 -2
  881. package/json-schema/identity/SCIMGroup.json +2 -2
  882. package/json-schema/identity/SCIMGroupReference.json +2 -2
  883. package/json-schema/identity/SCIMListResponse.json +2 -2
  884. package/json-schema/identity/SCIMMemberReference.json +2 -2
  885. package/json-schema/identity/SCIMMeta.json +2 -2
  886. package/json-schema/identity/SCIMName.json +2 -2
  887. package/json-schema/identity/SCIMPatchOperation.json +2 -2
  888. package/json-schema/identity/SCIMPatchRequest.json +2 -2
  889. package/json-schema/identity/SCIMPhoneNumber.json +2 -2
  890. package/json-schema/identity/SCIMUser.json +2 -2
  891. package/json-schema/identity/Session.json +2 -2
  892. package/json-schema/identity/User.json +2 -2
  893. package/json-schema/identity/VerificationToken.json +2 -2
  894. package/json-schema/integration/AckMode.json +2 -2
  895. package/json-schema/integration/ApiVersionConfig.json +2 -2
  896. package/json-schema/integration/BuildConfig.json +2 -2
  897. package/json-schema/integration/CdcConfig.json +2 -2
  898. package/json-schema/integration/CircuitBreakerConfig.json +2 -2
  899. package/json-schema/integration/ConflictResolution.json +2 -2
  900. package/json-schema/integration/ConnectorAction.json +2 -2
  901. package/json-schema/integration/ConnectorHealth.json +2 -2
  902. package/json-schema/integration/ConnectorStatus.json +2 -2
  903. package/json-schema/integration/ConnectorTrigger.json +2 -2
  904. package/json-schema/integration/ConnectorType.json +2 -2
  905. package/json-schema/integration/ConsumerConfig.json +2 -2
  906. package/json-schema/integration/DatabasePoolConfig.json +2 -2
  907. package/json-schema/integration/DatabaseProvider.json +2 -2
  908. package/json-schema/integration/DeliveryGuarantee.json +2 -2
  909. package/json-schema/integration/DeploymentConfig.json +2 -2
  910. package/json-schema/integration/DlqConfig.json +2 -2
  911. package/json-schema/integration/DomainConfig.json +2 -2
  912. package/json-schema/integration/EdgeFunctionConfig.json +2 -2
  913. package/json-schema/integration/EnvironmentVariables.json +2 -2
  914. package/json-schema/integration/ErrorCategory.json +2 -2
  915. package/json-schema/integration/ErrorMappingConfig.json +2 -2
  916. package/json-schema/integration/ErrorMappingRule.json +2 -2
  917. package/json-schema/integration/FileAccessPattern.json +2 -2
  918. package/json-schema/integration/FileFilterConfig.json +2 -2
  919. package/json-schema/integration/FileMetadataConfig.json +2 -2
  920. package/json-schema/integration/FileStorageProvider.json +2 -2
  921. package/json-schema/integration/FileVersioningConfig.json +2 -2
  922. package/json-schema/integration/GitHubActionsWorkflow.json +2 -2
  923. package/json-schema/integration/GitHubCommitConfig.json +2 -2
  924. package/json-schema/integration/GitHubIssueTracking.json +2 -2
  925. package/json-schema/integration/GitHubProvider.json +2 -2
  926. package/json-schema/integration/GitHubReleaseConfig.json +2 -2
  927. package/json-schema/integration/GitHubRepository.json +2 -2
  928. package/json-schema/integration/GitRepositoryConfig.json +2 -2
  929. package/json-schema/integration/HealthCheckConfig.json +2 -2
  930. package/json-schema/integration/MessageFormat.json +2 -2
  931. package/json-schema/integration/MessageQueueProvider.json +2 -2
  932. package/json-schema/integration/MultipartUploadConfig.json +2 -2
  933. package/json-schema/integration/ProducerConfig.json +2 -2
  934. package/json-schema/integration/RateLimitConfig.json +2 -2
  935. package/json-schema/integration/RateLimitStrategy.json +2 -2
  936. package/json-schema/integration/RetryConfig.json +2 -2
  937. package/json-schema/integration/RetryStrategy.json +2 -2
  938. package/json-schema/integration/SaasProvider.json +2 -2
  939. package/json-schema/integration/SslConfig.json +2 -2
  940. package/json-schema/integration/StorageBucket.json +2 -2
  941. package/json-schema/integration/SyncStrategy.json +2 -2
  942. package/json-schema/integration/TopicQueue.json +2 -2
  943. package/json-schema/integration/VercelFramework.json +2 -2
  944. package/json-schema/integration/VercelMonitoring.json +2 -2
  945. package/json-schema/integration/VercelProject.json +2 -2
  946. package/json-schema/integration/VercelProvider.json +2 -2
  947. package/json-schema/integration/VercelTeam.json +2 -2
  948. package/json-schema/integration/WebhookConfig.json +2 -2
  949. package/json-schema/integration/WebhookEvent.json +2 -2
  950. package/json-schema/integration/WebhookSignatureAlgorithm.json +2 -2
  951. package/json-schema/kernel/ActivationEvent.json +2 -2
  952. package/json-schema/kernel/AdvancedPluginLifecycleConfig.json +2 -2
  953. package/json-schema/kernel/ArtifactChecksum.json +2 -2
  954. package/json-schema/kernel/ArtifactFileEntry.json +2 -2
  955. package/json-schema/kernel/ArtifactSignature.json +2 -2
  956. package/json-schema/kernel/BreakingChange.json +2 -2
  957. package/json-schema/kernel/CLICommandContribution.json +2 -2
  958. package/json-schema/kernel/CapabilityConformanceLevel.json +2 -2
  959. package/json-schema/kernel/ClusterCapabilityConfig.json +2 -2
  960. package/json-schema/kernel/ClusterDriver.json +2 -2
  961. package/json-schema/kernel/ClusterTenantIsolation.json +2 -2
  962. package/json-schema/kernel/CompatibilityLevel.json +2 -2
  963. package/json-schema/kernel/CompatibilityMatrixEntry.json +2 -2
  964. package/json-schema/kernel/CustomizationOrigin.json +2 -2
  965. package/json-schema/kernel/CustomizationPolicy.json +2 -2
  966. package/json-schema/kernel/DeadLetterQueueEntry.json +2 -2
  967. package/json-schema/kernel/DependencyConflict.json +2 -2
  968. package/json-schema/kernel/DependencyGraph.json +2 -2
  969. package/json-schema/kernel/DependencyGraphNode.json +2 -2
  970. package/json-schema/kernel/DependencyResolutionResult.json +2 -2
  971. package/json-schema/kernel/DependencyStatusEnum.json +2 -2
  972. package/json-schema/kernel/DeprecationNotice.json +2 -2
  973. package/json-schema/kernel/DevFixtureConfig.json +2 -2
  974. package/json-schema/kernel/DevPluginConfig.json +2 -2
  975. package/json-schema/kernel/DevPluginPreset.json +2 -2
  976. package/json-schema/kernel/DevServiceOverride.json +2 -2
  977. package/json-schema/kernel/DevToolsConfig.json +2 -2
  978. package/json-schema/kernel/DisablePackageRequest.json +2 -2
  979. package/json-schema/kernel/DisablePackageResponse.json +2 -2
  980. package/json-schema/kernel/DistributedStateConfig.json +2 -2
  981. package/json-schema/kernel/DynamicLoadRequest.json +2 -2
  982. package/json-schema/kernel/DynamicLoadingConfig.json +2 -2
  983. package/json-schema/kernel/DynamicPluginOperation.json +2 -2
  984. package/json-schema/kernel/DynamicPluginResult.json +2 -2
  985. package/json-schema/kernel/DynamicUnloadRequest.json +2 -2
  986. package/json-schema/kernel/EnablePackageRequest.json +2 -2
  987. package/json-schema/kernel/EnablePackageResponse.json +2 -2
  988. package/json-schema/kernel/Event.json +2 -2
  989. package/json-schema/kernel/EventBusConfig.json +2 -2
  990. package/json-schema/kernel/EventClusterOptions.json +2 -2
  991. package/json-schema/kernel/EventDeliverySemantics.json +2 -2
  992. package/json-schema/kernel/EventHandler.json +2 -2
  993. package/json-schema/kernel/EventLogEntry.json +2 -2
  994. package/json-schema/kernel/EventMessageQueueConfig.json +2 -2
  995. package/json-schema/kernel/EventMetadata.json +2 -2
  996. package/json-schema/kernel/EventPersistence.json +2 -2
  997. package/json-schema/kernel/EventPhase.json +2 -2
  998. package/json-schema/kernel/EventPriority.json +2 -2
  999. package/json-schema/kernel/EventQueueConfig.json +2 -2
  1000. package/json-schema/kernel/EventReplayConfig.json +2 -2
  1001. package/json-schema/kernel/EventRoute.json +2 -2
  1002. package/json-schema/kernel/EventScope.json +2 -2
  1003. package/json-schema/kernel/EventSourcingConfig.json +2 -2
  1004. package/json-schema/kernel/EventTypeDefinition.json +2 -2
  1005. package/json-schema/kernel/EventWebhookConfig.json +2 -2
  1006. package/json-schema/kernel/ExecutionContext.json +2 -2
  1007. package/json-schema/kernel/ExtensionPoint.json +2 -2
  1008. package/json-schema/kernel/FeatureStrategy.json +2 -2
  1009. package/json-schema/kernel/FieldChange.json +2 -2
  1010. package/json-schema/kernel/GetPackageRequest.json +2 -2
  1011. package/json-schema/kernel/GetPackageResponse.json +2 -2
  1012. package/json-schema/kernel/GracefulDegradation.json +2 -2
  1013. package/json-schema/kernel/HealthStatus.json +2 -2
  1014. package/json-schema/kernel/HookRegisteredEvent.json +2 -2
  1015. package/json-schema/kernel/HookTriggeredEvent.json +2 -2
  1016. package/json-schema/kernel/HotReloadConfig.json +2 -2
  1017. package/json-schema/kernel/InstallPackageRequest.json +2 -2
  1018. package/json-schema/kernel/InstallPackageResponse.json +2 -2
  1019. package/json-schema/kernel/InstalledPackage.json +2 -2
  1020. package/json-schema/kernel/KernelContext.json +2 -2
  1021. package/json-schema/kernel/KernelEventBase.json +2 -2
  1022. package/json-schema/kernel/KernelReadyEvent.json +2 -2
  1023. package/json-schema/kernel/KernelSecurityPolicy.json +2 -2
  1024. package/json-schema/kernel/KernelSecurityScanResult.json +2 -2
  1025. package/json-schema/kernel/KernelSecurityVulnerability.json +2 -2
  1026. package/json-schema/kernel/KernelShutdownEvent.json +2 -2
  1027. package/json-schema/kernel/ListPackagesRequest.json +2 -2
  1028. package/json-schema/kernel/ListPackagesResponse.json +2 -2
  1029. package/json-schema/kernel/Manifest.json +2 -2
  1030. package/json-schema/kernel/MergeConflict.json +2 -2
  1031. package/json-schema/kernel/MergeResult.json +2 -2
  1032. package/json-schema/kernel/MergeStrategyConfig.json +2 -2
  1033. package/json-schema/kernel/MetadataBulkRegisterRequest.json +2 -2
  1034. package/json-schema/kernel/MetadataBulkResult.json +2 -2
  1035. package/json-schema/kernel/MetadataCategoryEnum.json +2 -2
  1036. package/json-schema/kernel/MetadataChangeOperation.json +2 -2
  1037. package/json-schema/kernel/MetadataChangeType.json +2 -2
  1038. package/json-schema/kernel/MetadataCollectionInfo.json +2 -2
  1039. package/json-schema/kernel/MetadataDependency.json +2 -2
  1040. package/json-schema/kernel/MetadataDiffItem.json +2 -2
  1041. package/json-schema/kernel/MetadataEvent.json +2 -2
  1042. package/json-schema/kernel/MetadataFallbackStrategy.json +2 -2
  1043. package/json-schema/kernel/MetadataFormat.json +2 -2
  1044. package/json-schema/kernel/MetadataImportOptions.json +2 -2
  1045. package/json-schema/kernel/MetadataLoadResult.json +2 -2
  1046. package/json-schema/kernel/MetadataLoaderContract.json +2 -2
  1047. package/json-schema/kernel/MetadataManagerConfig.json +2 -2
  1048. package/json-schema/kernel/MetadataOverlay.json +2 -2
  1049. package/json-schema/kernel/MetadataPluginConfig.json +2 -2
  1050. package/json-schema/kernel/MetadataPluginManifest.json +2 -2
  1051. package/json-schema/kernel/MetadataQuery.json +2 -2
  1052. package/json-schema/kernel/MetadataQueryResult.json +2 -2
  1053. package/json-schema/kernel/MetadataSaveOptions.json +2 -2
  1054. package/json-schema/kernel/MetadataSaveResult.json +2 -2
  1055. package/json-schema/kernel/MetadataStats.json +2 -2
  1056. package/json-schema/kernel/MetadataType.json +2 -2
  1057. package/json-schema/kernel/MetadataTypeRegistryEntry.json +2 -2
  1058. package/json-schema/kernel/MetadataValidationResult.json +2 -2
  1059. package/json-schema/kernel/MetadataWatchEvent.json +2 -2
  1060. package/json-schema/kernel/NamespaceConflictError.json +2 -2
  1061. package/json-schema/kernel/NamespaceRegistryEntry.json +2 -2
  1062. package/json-schema/kernel/OclifPluginConfig.json +2 -2
  1063. package/json-schema/kernel/OpsDomainModule.json +2 -2
  1064. package/json-schema/kernel/OpsFilePath.json +2 -2
  1065. package/json-schema/kernel/OpsPluginStructure.json +2 -2
  1066. package/json-schema/kernel/PackageArtifact.json +2 -2
  1067. package/json-schema/kernel/PackageDependency.json +2 -2
  1068. package/json-schema/kernel/PackageDependencyConflict.json +2 -2
  1069. package/json-schema/kernel/PackageDependencyResolutionResult.json +2 -2
  1070. package/json-schema/kernel/PackageStatusEnum.json +2 -2
  1071. package/json-schema/kernel/PermissionAction.json +2 -2
  1072. package/json-schema/kernel/PermissionScope.json +2 -2
  1073. package/json-schema/kernel/PluginCaching.json +2 -2
  1074. package/json-schema/kernel/PluginCapability.json +2 -2
  1075. package/json-schema/kernel/PluginCapabilityManifest.json +2 -2
  1076. package/json-schema/kernel/PluginCodeSplitting.json +2 -2
  1077. package/json-schema/kernel/PluginCompatibilityMatrix.json +2 -2
  1078. package/json-schema/kernel/PluginDependency.json +2 -2
  1079. package/json-schema/kernel/PluginDependencyResolution.json +2 -2
  1080. package/json-schema/kernel/PluginDependencyResolutionResult.json +2 -2
  1081. package/json-schema/kernel/PluginDiscoveryConfig.json +2 -2
  1082. package/json-schema/kernel/PluginDiscoverySource.json +2 -2
  1083. package/json-schema/kernel/PluginDynamicImport.json +2 -2
  1084. package/json-schema/kernel/PluginErrorEvent.json +2 -2
  1085. package/json-schema/kernel/PluginEventBase.json +2 -2
  1086. package/json-schema/kernel/PluginHealthCheck.json +2 -2
  1087. package/json-schema/kernel/PluginHealthReport.json +2 -2
  1088. package/json-schema/kernel/PluginHealthStatus.json +2 -2
  1089. package/json-schema/kernel/PluginHotReload.json +2 -2
  1090. package/json-schema/kernel/PluginInitialization.json +2 -2
  1091. package/json-schema/kernel/PluginInstallConfig.json +2 -2
  1092. package/json-schema/kernel/PluginInterface.json +2 -2
  1093. package/json-schema/kernel/PluginLifecycleEventType.json +2 -2
  1094. package/json-schema/kernel/PluginLifecyclePhaseEvent.json +2 -2
  1095. package/json-schema/kernel/PluginLoadingConfig.json +2 -2
  1096. package/json-schema/kernel/PluginLoadingEvent.json +2 -2
  1097. package/json-schema/kernel/PluginLoadingState.json +2 -2
  1098. package/json-schema/kernel/PluginLoadingStrategy.json +2 -2
  1099. package/json-schema/kernel/PluginMetadata.json +2 -2
  1100. package/json-schema/kernel/PluginPerformanceMonitoring.json +2 -2
  1101. package/json-schema/kernel/PluginPreloadConfig.json +2 -2
  1102. package/json-schema/kernel/PluginProvenance.json +2 -2
  1103. package/json-schema/kernel/PluginQualityMetrics.json +2 -2
  1104. package/json-schema/kernel/PluginRegisteredEvent.json +2 -2
  1105. package/json-schema/kernel/PluginRegistryEntry.json +2 -2
  1106. package/json-schema/kernel/PluginSandboxing.json +2 -2
  1107. package/json-schema/kernel/PluginSearchFilters.json +2 -2
  1108. package/json-schema/kernel/PluginSource.json +2 -2
  1109. package/json-schema/kernel/PluginStartupResult.json +2 -2
  1110. package/json-schema/kernel/PluginStateSnapshot.json +2 -2
  1111. package/json-schema/kernel/PluginStatistics.json +2 -2
  1112. package/json-schema/kernel/PluginTrustLevel.json +2 -2
  1113. package/json-schema/kernel/PluginTrustScore.json +2 -2
  1114. package/json-schema/kernel/PluginUpdateStrategy.json +2 -2
  1115. package/json-schema/kernel/PluginVendor.json +2 -2
  1116. package/json-schema/kernel/PluginVersionMetadata.json +2 -2
  1117. package/json-schema/kernel/PreviewModeConfig.json +2 -2
  1118. package/json-schema/kernel/ProtocolFeature.json +2 -2
  1119. package/json-schema/kernel/ProtocolReference.json +2 -2
  1120. package/json-schema/kernel/ProtocolVersion.json +2 -2
  1121. package/json-schema/kernel/RealTimeNotificationConfig.json +2 -2
  1122. package/json-schema/kernel/RequiredAction.json +2 -2
  1123. package/json-schema/kernel/ResolvedDependency.json +2 -2
  1124. package/json-schema/kernel/ResourceType.json +2 -2
  1125. package/json-schema/kernel/RollbackPackageRequest.json +2 -2
  1126. package/json-schema/kernel/RollbackPackageResponse.json +2 -2
  1127. package/json-schema/kernel/RuntimeConfig.json +2 -2
  1128. package/json-schema/kernel/RuntimeMode.json +2 -2
  1129. package/json-schema/kernel/SBOM.json +2 -2
  1130. package/json-schema/kernel/SBOMEntry.json +2 -2
  1131. package/json-schema/kernel/SandboxConfig.json +2 -2
  1132. package/json-schema/kernel/ScopeConfig.json +2 -2
  1133. package/json-schema/kernel/ScopeInfo.json +2 -2
  1134. package/json-schema/kernel/SecurityPolicy.json +2 -2
  1135. package/json-schema/kernel/SecurityScanResult.json +2 -2
  1136. package/json-schema/kernel/SecurityVulnerability.json +2 -2
  1137. package/json-schema/kernel/SemanticVersion.json +2 -2
  1138. package/json-schema/kernel/ServiceClusterAnnotations.json +2 -2
  1139. package/json-schema/kernel/ServiceClusterScope.json +2 -2
  1140. package/json-schema/kernel/ServiceFactoryRegistration.json +2 -2
  1141. package/json-schema/kernel/ServiceLeaderStrategy.json +2 -2
  1142. package/json-schema/kernel/ServiceMetadata.json +2 -2
  1143. package/json-schema/kernel/ServiceRegisteredEvent.json +2 -2
  1144. package/json-schema/kernel/ServiceRegistryConfig.json +2 -2
  1145. package/json-schema/kernel/ServiceScopeType.json +2 -2
  1146. package/json-schema/kernel/ServiceUnregisteredEvent.json +2 -2
  1147. package/json-schema/kernel/StartupOptions.json +2 -2
  1148. package/json-schema/kernel/StartupOrchestrationResult.json +2 -2
  1149. package/json-schema/kernel/TenantRuntimeContext.json +2 -2
  1150. package/json-schema/kernel/UninstallPackageRequest.json +2 -2
  1151. package/json-schema/kernel/UninstallPackageResponse.json +2 -2
  1152. package/json-schema/kernel/UpgradeContext.json +2 -2
  1153. package/json-schema/kernel/UpgradeImpactLevel.json +2 -2
  1154. package/json-schema/kernel/UpgradePackageRequest.json +2 -2
  1155. package/json-schema/kernel/UpgradePackageResponse.json +2 -2
  1156. package/json-schema/kernel/UpgradePhase.json +2 -2
  1157. package/json-schema/kernel/UpgradePlan.json +2 -2
  1158. package/json-schema/kernel/UpgradeSnapshot.json +2 -2
  1159. package/json-schema/kernel/ValidationError.json +2 -2
  1160. package/json-schema/kernel/ValidationResult.json +2 -2
  1161. package/json-schema/kernel/ValidationWarning.json +2 -2
  1162. package/json-schema/kernel/VersionConstraint.json +2 -2
  1163. package/json-schema/kernel/VulnerabilitySeverity.json +2 -2
  1164. package/json-schema/objectstack.json +3534 -3649
  1165. package/json-schema/openapi.json +1 -1
  1166. package/json-schema/qa/TestAction.json +2 -2
  1167. package/json-schema/qa/TestActionType.json +2 -2
  1168. package/json-schema/qa/TestAssertion.json +2 -2
  1169. package/json-schema/qa/TestAssertionType.json +2 -2
  1170. package/json-schema/qa/TestContext.json +2 -2
  1171. package/json-schema/qa/TestScenario.json +2 -2
  1172. package/json-schema/qa/TestStep.json +2 -2
  1173. package/json-schema/qa/TestSuite.json +2 -2
  1174. package/json-schema/security/AuditPolicy.json +2 -2
  1175. package/json-schema/security/FieldPermission.json +2 -2
  1176. package/json-schema/security/NetworkPolicy.json +2 -2
  1177. package/json-schema/security/OWDModel.json +2 -2
  1178. package/json-schema/security/ObjectPermission.json +2 -2
  1179. package/json-schema/security/OwnerSharingRule.json +2 -2
  1180. package/json-schema/security/PasswordPolicy.json +2 -2
  1181. package/json-schema/security/PermissionSet.json +2 -2
  1182. package/json-schema/security/Policy.json +2 -2
  1183. package/json-schema/security/RLSAuditConfig.json +2 -2
  1184. package/json-schema/security/RLSAuditEvent.json +2 -2
  1185. package/json-schema/security/RLSConfig.json +2 -2
  1186. package/json-schema/security/RLSEvaluationResult.json +2 -2
  1187. package/json-schema/security/RLSOperation.json +2 -2
  1188. package/json-schema/security/RLSUserContext.json +2 -2
  1189. package/json-schema/security/RowLevelSecurityPolicy.json +2 -2
  1190. package/json-schema/security/SessionPolicy.json +2 -2
  1191. package/json-schema/security/ShareRecipientType.json +2 -2
  1192. package/json-schema/security/SharingLevel.json +2 -2
  1193. package/json-schema/security/SharingRuleType.json +2 -2
  1194. package/json-schema/security/Territory.json +2 -2
  1195. package/json-schema/security/TerritoryModel.json +2 -2
  1196. package/json-schema/security/TerritoryType.json +2 -2
  1197. package/json-schema/shared/AggregationFunctionEnum.json +2 -2
  1198. package/json-schema/shared/AppName.json +2 -2
  1199. package/json-schema/shared/BaseMetadataRecord.json +2 -2
  1200. package/json-schema/shared/CacheStrategyEnum.json +2 -2
  1201. package/json-schema/shared/CorsConfig.json +2 -2
  1202. package/json-schema/shared/EventName.json +2 -2
  1203. package/json-schema/shared/Expression.json +2 -2
  1204. package/json-schema/shared/ExpressionDialect.json +2 -2
  1205. package/json-schema/shared/ExpressionMeta.json +2 -2
  1206. package/json-schema/shared/FieldName.json +2 -2
  1207. package/json-schema/shared/FlowName.json +2 -2
  1208. package/json-schema/shared/HttpMethod.json +2 -2
  1209. package/json-schema/shared/HttpRequest.json +2 -2
  1210. package/json-schema/shared/IsolationLevelEnum.json +2 -2
  1211. package/json-schema/shared/MetadataFormat.json +2 -2
  1212. package/json-schema/shared/MutationEventEnum.json +2 -2
  1213. package/json-schema/shared/ObjectName.json +2 -2
  1214. package/json-schema/shared/Predicate.json +2 -2
  1215. package/json-schema/shared/RateLimitConfig.json +2 -2
  1216. package/json-schema/shared/RoleName.json +2 -2
  1217. package/json-schema/shared/SnakeCaseIdentifier.json +2 -2
  1218. package/json-schema/shared/SortDirectionEnum.json +2 -2
  1219. package/json-schema/shared/SortItem.json +2 -2
  1220. package/json-schema/shared/StaticMount.json +2 -2
  1221. package/json-schema/shared/SystemIdentifier.json +2 -2
  1222. package/json-schema/shared/ViewName.json +2 -2
  1223. package/json-schema/studio/ActionContribution.json +2 -2
  1224. package/json-schema/studio/ActionLocation.json +2 -2
  1225. package/json-schema/studio/ActivationEvent.json +2 -2
  1226. package/json-schema/studio/CanvasSnapSettings.json +2 -2
  1227. package/json-schema/studio/CanvasZoomSettings.json +2 -2
  1228. package/json-schema/studio/CommandContribution.json +2 -2
  1229. package/json-schema/studio/ERDiagramConfig.json +2 -2
  1230. package/json-schema/studio/ERLayoutAlgorithm.json +2 -2
  1231. package/json-schema/studio/ERNodeDisplay.json +2 -2
  1232. package/json-schema/studio/ElementPaletteItem.json +2 -2
  1233. package/json-schema/studio/FieldEditorConfig.json +2 -2
  1234. package/json-schema/studio/FieldGroup.json +2 -2
  1235. package/json-schema/studio/FieldPropertySection.json +2 -2
  1236. package/json-schema/studio/FlowBuilderConfig.json +2 -2
  1237. package/json-schema/studio/FlowCanvasEdge.json +2 -2
  1238. package/json-schema/studio/FlowCanvasEdgeStyle.json +2 -2
  1239. package/json-schema/studio/FlowCanvasNode.json +2 -2
  1240. package/json-schema/studio/FlowLayoutAlgorithm.json +2 -2
  1241. package/json-schema/studio/FlowLayoutDirection.json +2 -2
  1242. package/json-schema/studio/FlowNodeRenderDescriptor.json +2 -2
  1243. package/json-schema/studio/FlowNodeShape.json +2 -2
  1244. package/json-schema/studio/InterfaceBuilderConfig.json +2 -2
  1245. package/json-schema/studio/MetadataIconContribution.json +2 -2
  1246. package/json-schema/studio/MetadataViewerContribution.json +2 -2
  1247. package/json-schema/studio/ObjectDesignerConfig.json +2 -2
  1248. package/json-schema/studio/ObjectDesignerDefaultView.json +2 -2
  1249. package/json-schema/studio/ObjectFilter.json +2 -2
  1250. package/json-schema/studio/ObjectListDisplayMode.json +2 -2
  1251. package/json-schema/studio/ObjectManagerConfig.json +2 -2
  1252. package/json-schema/studio/ObjectPreviewConfig.json +2 -2
  1253. package/json-schema/studio/ObjectPreviewTab.json +2 -2
  1254. package/json-schema/studio/ObjectSortField.json +2 -2
  1255. package/json-schema/studio/PageBuilderConfig.json +2 -2
  1256. package/json-schema/studio/PanelContribution.json +2 -2
  1257. package/json-schema/studio/PanelLocation.json +2 -2
  1258. package/json-schema/studio/RelationshipDisplay.json +2 -2
  1259. package/json-schema/studio/RelationshipMapperConfig.json +2 -2
  1260. package/json-schema/studio/SidebarGroupContribution.json +2 -2
  1261. package/json-schema/studio/StudioPluginContributions.json +2 -2
  1262. package/json-schema/studio/StudioPluginManifest.json +2 -2
  1263. package/json-schema/studio/ViewMode.json +2 -2
  1264. package/json-schema/system/AccessControlConfig.json +2 -2
  1265. package/json-schema/system/AdvancedAuthConfig.json +2 -2
  1266. package/json-schema/system/AnalyzerConfig.json +2 -2
  1267. package/json-schema/system/AppCompatibilityCheck.json +2 -2
  1268. package/json-schema/system/AppInstallRequest.json +2 -2
  1269. package/json-schema/system/AppInstallResult.json +2 -2
  1270. package/json-schema/system/AppManifest.json +2 -2
  1271. package/json-schema/system/AppTranslationBundle.json +2 -2
  1272. package/json-schema/system/AuditEvent.json +2 -2
  1273. package/json-schema/system/AuditEventActor.json +2 -2
  1274. package/json-schema/system/AuditEventChange.json +2 -2
  1275. package/json-schema/system/AuditEventFilter.json +2 -2
  1276. package/json-schema/system/AuditEventSeverity.json +2 -2
  1277. package/json-schema/system/AuditEventTarget.json +2 -2
  1278. package/json-schema/system/AuditEventType.json +2 -2
  1279. package/json-schema/system/AuditFinding.json +2 -2
  1280. package/json-schema/system/AuditFindingSeverity.json +2 -2
  1281. package/json-schema/system/AuditFindingStatus.json +2 -2
  1282. package/json-schema/system/AuditLogConfig.json +2 -2
  1283. package/json-schema/system/AuditRetentionPolicy.json +2 -2
  1284. package/json-schema/system/AuditSchedule.json +2 -2
  1285. package/json-schema/system/AuditStorageConfig.json +2 -2
  1286. package/json-schema/system/AuthConfig.json +2 -2
  1287. package/json-schema/system/AuthPluginConfig.json +2 -2
  1288. package/json-schema/system/AuthProviderConfig.json +2 -2
  1289. package/json-schema/system/AwarenessEvent.json +2 -2
  1290. package/json-schema/system/AwarenessSession.json +2 -2
  1291. package/json-schema/system/AwarenessUpdate.json +2 -2
  1292. package/json-schema/system/AwarenessUserState.json +2 -2
  1293. package/json-schema/system/BackupRetention.json +2 -2
  1294. package/json-schema/system/BackupStrategy.json +2 -2
  1295. package/json-schema/system/BatchProgress.json +2 -2
  1296. package/json-schema/system/BucketConfig.json +2 -2
  1297. package/json-schema/system/CRDTMergeResult.json +2 -2
  1298. package/json-schema/system/CRDTState.json +2 -2
  1299. package/json-schema/system/CRDTType.json +2 -2
  1300. package/json-schema/system/CacheAvalanchePrevention.json +2 -2
  1301. package/json-schema/system/CacheConfig.json +2 -2
  1302. package/json-schema/system/CacheConsistency.json +2 -2
  1303. package/json-schema/system/CacheInvalidation.json +2 -2
  1304. package/json-schema/system/CacheStrategy.json +2 -2
  1305. package/json-schema/system/CacheTier.json +2 -2
  1306. package/json-schema/system/ChangeImpact.json +2 -2
  1307. package/json-schema/system/ChangePriority.json +2 -2
  1308. package/json-schema/system/ChangeRequest.json +2 -2
  1309. package/json-schema/system/ChangeSchema.json +2 -2
  1310. package/json-schema/system/ChangeStatus.json +2 -2
  1311. package/json-schema/system/ChangeType.json +2 -2
  1312. package/json-schema/system/CollaborationMode.json +2 -2
  1313. package/json-schema/system/CollaborationSession.json +2 -2
  1314. package/json-schema/system/CollaborationSessionConfig.json +2 -2
  1315. package/json-schema/system/CollaborativeCursor.json +2 -2
  1316. package/json-schema/system/ComplianceAuditRequirement.json +2 -2
  1317. package/json-schema/system/ComplianceConfig.json +2 -2
  1318. package/json-schema/system/ComplianceEncryptionRequirement.json +2 -2
  1319. package/json-schema/system/ComplianceFramework.json +2 -2
  1320. package/json-schema/system/ConsoleDestinationConfig.json +2 -2
  1321. package/json-schema/system/ConsumerConfig.json +2 -2
  1322. package/json-schema/system/CoreServiceName.json +2 -2
  1323. package/json-schema/system/CounterOperation.json +2 -2
  1324. package/json-schema/system/CoverageBreakdownEntry.json +2 -2
  1325. package/json-schema/system/CursorColorPreset.json +2 -2
  1326. package/json-schema/system/CursorSelection.json +2 -2
  1327. package/json-schema/system/CursorStyle.json +2 -2
  1328. package/json-schema/system/CursorUpdate.json +2 -2
  1329. package/json-schema/system/DataClassification.json +2 -2
  1330. package/json-schema/system/DataClassificationPolicy.json +2 -2
  1331. package/json-schema/system/DatabaseLevelIsolationStrategy.json +2 -2
  1332. package/json-schema/system/DatabaseProvider.json +2 -2
  1333. package/json-schema/system/DeadLetterQueue.json +2 -2
  1334. package/json-schema/system/DeleteObjectOperation.json +2 -2
  1335. package/json-schema/system/DeployBundle.json +2 -2
  1336. package/json-schema/system/DeployDiff.json +2 -2
  1337. package/json-schema/system/DeployManifest.json +2 -2
  1338. package/json-schema/system/DeployStatusEnum.json +2 -2
  1339. package/json-schema/system/DeployValidationIssue.json +2 -2
  1340. package/json-schema/system/DeployValidationResult.json +2 -2
  1341. package/json-schema/system/EmailAddressConfig.json +2 -2
  1342. package/json-schema/system/EmailAndPasswordConfig.json +2 -2
  1343. package/json-schema/system/EmailProvider.json +2 -2
  1344. package/json-schema/system/EmailServiceConfig.json +2 -2
  1345. package/json-schema/system/EmailTemplateDefinition.json +2 -2
  1346. package/json-schema/system/EmailTemplateDefinitionCategory.json +2 -2
  1347. package/json-schema/system/EmailTemplateDefinitionVariable.json +2 -2
  1348. package/json-schema/system/EmailVerificationConfig.json +2 -2
  1349. package/json-schema/system/EncryptionAlgorithm.json +2 -2
  1350. package/json-schema/system/EncryptionConfig.json +2 -2
  1351. package/json-schema/system/EnvironmentArtifact.json +2 -2
  1352. package/json-schema/system/EnvironmentArtifactChecksum.json +2 -2
  1353. package/json-schema/system/EnvironmentArtifactFunction.json +2 -2
  1354. package/json-schema/system/EnvironmentArtifactFunctionLanguageEnum.json +2 -2
  1355. package/json-schema/system/EnvironmentArtifactHashAlgorithmEnum.json +2 -2
  1356. package/json-schema/system/EnvironmentArtifactManifest.json +2 -2
  1357. package/json-schema/system/EnvironmentArtifactMetadata.json +2 -2
  1358. package/json-schema/system/EnvironmentArtifactPayloadRef.json +2 -2
  1359. package/json-schema/system/EnvironmentArtifactRequirement.json +2 -2
  1360. package/json-schema/system/ExecuteSqlOperation.json +2 -2
  1361. package/json-schema/system/ExtendedLogLevel.json +2 -2
  1362. package/json-schema/system/ExternalServiceDestinationConfig.json +2 -2
  1363. package/json-schema/system/FacetConfig.json +2 -2
  1364. package/json-schema/system/FailoverConfig.json +2 -2
  1365. package/json-schema/system/FailoverMode.json +2 -2
  1366. package/json-schema/system/Feature.json +2 -2
  1367. package/json-schema/system/FieldEncryption.json +2 -2
  1368. package/json-schema/system/FieldTranslation.json +2 -2
  1369. package/json-schema/system/FileDestinationConfig.json +2 -2
  1370. package/json-schema/system/FileMetadata.json +2 -2
  1371. package/json-schema/system/GCounter.json +2 -2
  1372. package/json-schema/system/GDPRConfig.json +2 -2
  1373. package/json-schema/system/HIPAAConfig.json +2 -2
  1374. package/json-schema/system/HistogramBucketConfig.json +2 -2
  1375. package/json-schema/system/HttpDestinationConfig.json +2 -2
  1376. package/json-schema/system/HttpServerConfig.json +2 -2
  1377. package/json-schema/system/Incident.json +2 -2
  1378. package/json-schema/system/IncidentCategory.json +2 -2
  1379. package/json-schema/system/IncidentNotificationMatrix.json +2 -2
  1380. package/json-schema/system/IncidentNotificationRule.json +2 -2
  1381. package/json-schema/system/IncidentResponsePhase.json +2 -2
  1382. package/json-schema/system/IncidentResponsePolicy.json +2 -2
  1383. package/json-schema/system/IncidentSeverity.json +2 -2
  1384. package/json-schema/system/IncidentStatus.json +2 -2
  1385. package/json-schema/system/IntervalSchedule.json +2 -2
  1386. package/json-schema/system/JobExecution.json +2 -2
  1387. package/json-schema/system/JobExecutionStatus.json +2 -2
  1388. package/json-schema/system/KernelServiceMap.json +2 -2
  1389. package/json-schema/system/KeyManagementProvider.json +2 -2
  1390. package/json-schema/system/KeyRotationPolicy.json +2 -2
  1391. package/json-schema/system/LWWRegister.json +2 -2
  1392. package/json-schema/system/LevelIsolationStrategySchema.json +2 -2
  1393. package/json-schema/system/License.json +2 -2
  1394. package/json-schema/system/LicenseMetricType.json +2 -2
  1395. package/json-schema/system/LifecycleAction.json +2 -2
  1396. package/json-schema/system/LifecyclePolicyConfig.json +2 -2
  1397. package/json-schema/system/LifecyclePolicyRule.json +2 -2
  1398. package/json-schema/system/Locale.json +2 -2
  1399. package/json-schema/system/LogDestination.json +2 -2
  1400. package/json-schema/system/LogDestinationType.json +2 -2
  1401. package/json-schema/system/LogEnrichmentConfig.json +2 -2
  1402. package/json-schema/system/LogEntry.json +2 -2
  1403. package/json-schema/system/LogFormat.json +2 -2
  1404. package/json-schema/system/LogLevel.json +2 -2
  1405. package/json-schema/system/LoggerConfig.json +2 -2
  1406. package/json-schema/system/LoggingConfig.json +2 -2
  1407. package/json-schema/system/MaskingConfig.json +2 -2
  1408. package/json-schema/system/MaskingRule.json +2 -2
  1409. package/json-schema/system/MaskingStrategy.json +2 -2
  1410. package/json-schema/system/MaskingVisibilityRule.json +2 -2
  1411. package/json-schema/system/MessageFormat.json +2 -2
  1412. package/json-schema/system/MessageQueueConfig.json +2 -2
  1413. package/json-schema/system/MessageQueueProvider.json +2 -2
  1414. package/json-schema/system/MetadataCollectionInfo.json +2 -2
  1415. package/json-schema/system/MetadataDiffResult.json +2 -2
  1416. package/json-schema/system/MetadataExportOptions.json +2 -2
  1417. package/json-schema/system/MetadataFallbackStrategy.json +2 -2
  1418. package/json-schema/system/MetadataFormat.json +2 -2
  1419. package/json-schema/system/MetadataHistoryQueryOptions.json +2 -2
  1420. package/json-schema/system/MetadataHistoryQueryResult.json +2 -2
  1421. package/json-schema/system/MetadataHistoryRecord.json +2 -2
  1422. package/json-schema/system/MetadataHistoryRetentionPolicy.json +2 -2
  1423. package/json-schema/system/MetadataImportOptions.json +2 -2
  1424. package/json-schema/system/MetadataLoadOptions.json +2 -2
  1425. package/json-schema/system/MetadataLoadResult.json +2 -2
  1426. package/json-schema/system/MetadataLoaderContract.json +2 -2
  1427. package/json-schema/system/MetadataManagerConfig.json +2 -2
  1428. package/json-schema/system/MetadataRecord.json +2 -2
  1429. package/json-schema/system/MetadataSaveOptions.json +2 -2
  1430. package/json-schema/system/MetadataSaveResult.json +2 -2
  1431. package/json-schema/system/MetadataScope.json +2 -2
  1432. package/json-schema/system/MetadataSource.json +2 -2
  1433. package/json-schema/system/MetadataState.json +2 -2
  1434. package/json-schema/system/MetadataStats.json +2 -2
  1435. package/json-schema/system/MetadataWatchEvent.json +2 -2
  1436. package/json-schema/system/MetricAggregationConfig.json +2 -2
  1437. package/json-schema/system/MetricAggregationType.json +2 -2
  1438. package/json-schema/system/MetricDataPoint.json +2 -2
  1439. package/json-schema/system/MetricDefinition.json +2 -2
  1440. package/json-schema/system/MetricExportConfig.json +2 -2
  1441. package/json-schema/system/MetricLabels.json +2 -2
  1442. package/json-schema/system/MetricType.json +2 -2
  1443. package/json-schema/system/MetricUnit.json +2 -2
  1444. package/json-schema/system/MiddlewareConfig.json +2 -2
  1445. package/json-schema/system/MiddlewareType.json +2 -2
  1446. package/json-schema/system/MigrationDependency.json +2 -2
  1447. package/json-schema/system/MigrationPlan.json +2 -2
  1448. package/json-schema/system/MigrationStatement.json +2 -2
  1449. package/json-schema/system/ModifyFieldOperation.json +2 -2
  1450. package/json-schema/system/MultipartUploadConfig.json +2 -2
  1451. package/json-schema/system/MutualTLSConfig.json +2 -2
  1452. package/json-schema/system/NotificationChannel.json +2 -2
  1453. package/json-schema/system/ORSet.json +2 -2
  1454. package/json-schema/system/ORSetElement.json +2 -2
  1455. package/json-schema/system/OTComponent.json +2 -2
  1456. package/json-schema/system/OTOperation.json +2 -2
  1457. package/json-schema/system/OTOperationType.json +2 -2
  1458. package/json-schema/system/OTTransformResult.json +2 -2
  1459. package/json-schema/system/ObjectMetadata.json +2 -2
  1460. package/json-schema/system/ObjectStorageConfig.json +2 -2
  1461. package/json-schema/system/ObjectTranslationData.json +2 -2
  1462. package/json-schema/system/ObjectTranslationNode.json +2 -2
  1463. package/json-schema/system/OidcProviderConfig.json +2 -2
  1464. package/json-schema/system/OidcProvidersConfig.json +2 -2
  1465. package/json-schema/system/OnceSchedule.json +2 -2
  1466. package/json-schema/system/OpenTelemetryCompatibility.json +2 -2
  1467. package/json-schema/system/OtelExporterType.json +2 -2
  1468. package/json-schema/system/PCIDSSConfig.json +2 -2
  1469. package/json-schema/system/PNCounter.json +2 -2
  1470. package/json-schema/system/PackagePublishResult.json +2 -2
  1471. package/json-schema/system/Plan.json +2 -2
  1472. package/json-schema/system/PresignedUrlConfig.json +2 -2
  1473. package/json-schema/system/ProvisioningStep.json +2 -2
  1474. package/json-schema/system/QueueConfig.json +2 -2
  1475. package/json-schema/system/QuotaEnforcementResult.json +2 -2
  1476. package/json-schema/system/RPO.json +2 -2
  1477. package/json-schema/system/RTO.json +2 -2
  1478. package/json-schema/system/RegistryConfig.json +2 -2
  1479. package/json-schema/system/RegistrySyncPolicy.json +2 -2
  1480. package/json-schema/system/RegistryUpstream.json +2 -2
  1481. package/json-schema/system/RemoveFieldOperation.json +2 -2
  1482. package/json-schema/system/RenameObjectOperation.json +2 -2
  1483. package/json-schema/system/ResolvedSettingValue.json +2 -2
  1484. package/json-schema/system/RetryPolicy.json +2 -2
  1485. package/json-schema/system/RollbackPlan.json +2 -2
  1486. package/json-schema/system/RouteHandlerMetadata.json +2 -2
  1487. package/json-schema/system/RowLevelIsolationStrategy.json +2 -2
  1488. package/json-schema/system/SamplingDecision.json +2 -2
  1489. package/json-schema/system/SamplingStrategyType.json +2 -2
  1490. package/json-schema/system/SearchConfig.json +2 -2
  1491. package/json-schema/system/SearchIndexConfig.json +2 -2
  1492. package/json-schema/system/SearchProvider.json +2 -2
  1493. package/json-schema/system/SecurityContextConfig.json +2 -2
  1494. package/json-schema/system/SecurityEventCorrelation.json +2 -2
  1495. package/json-schema/system/ServerCapabilities.json +2 -2
  1496. package/json-schema/system/ServerEvent.json +2 -2
  1497. package/json-schema/system/ServerEventType.json +2 -2
  1498. package/json-schema/system/ServerStatus.json +2 -2
  1499. package/json-schema/system/ServiceConfig.json +2 -2
  1500. package/json-schema/system/ServiceCriticality.json +2 -2
  1501. package/json-schema/system/ServiceLevelObjective.json +2 -2
  1502. package/json-schema/system/ServiceStatus.json +2 -2
  1503. package/json-schema/system/SettingsActionResult.json +2 -2
  1504. package/json-schema/system/SettingsChangeEvent.json +2 -2
  1505. package/json-schema/system/SocialProviderConfig.json +2 -2
  1506. package/json-schema/system/Span.json +2 -2
  1507. package/json-schema/system/SpanAttributeValue.json +2 -2
  1508. package/json-schema/system/SpanAttributes.json +2 -2
  1509. package/json-schema/system/SpanEvent.json +2 -2
  1510. package/json-schema/system/SpanKind.json +2 -2
  1511. package/json-schema/system/SpanLink.json +2 -2
  1512. package/json-schema/system/SpanStatus.json +2 -2
  1513. package/json-schema/system/SpecifierHandler.json +2 -2
  1514. package/json-schema/system/SpecifierOption.json +2 -2
  1515. package/json-schema/system/SpecifierScope.json +2 -2
  1516. package/json-schema/system/SpecifierType.json +2 -2
  1517. package/json-schema/system/StorageAcl.json +2 -2
  1518. package/json-schema/system/StorageClass.json +2 -2
  1519. package/json-schema/system/StorageConnection.json +2 -2
  1520. package/json-schema/system/StorageProvider.json +2 -2
  1521. package/json-schema/system/StorageScope.json +2 -2
  1522. package/json-schema/system/StructuredLogEntry.json +2 -2
  1523. package/json-schema/system/SupplierAssessmentStatus.json +2 -2
  1524. package/json-schema/system/SupplierRiskLevel.json +2 -2
  1525. package/json-schema/system/SupplierSecurityAssessment.json +2 -2
  1526. package/json-schema/system/SupplierSecurityPolicy.json +2 -2
  1527. package/json-schema/system/SupplierSecurityRequirement.json +2 -2
  1528. package/json-schema/system/Task.json +2 -2
  1529. package/json-schema/system/TaskExecutionResult.json +2 -2
  1530. package/json-schema/system/TaskPriority.json +2 -2
  1531. package/json-schema/system/TaskRetryPolicy.json +2 -2
  1532. package/json-schema/system/TaskStatus.json +2 -2
  1533. package/json-schema/system/Tenant.json +2 -2
  1534. package/json-schema/system/TenantConnectionConfig.json +2 -2
  1535. package/json-schema/system/TenantIsolationConfig.json +2 -2
  1536. package/json-schema/system/TenantIsolationLevel.json +2 -2
  1537. package/json-schema/system/TenantPlan.json +2 -2
  1538. package/json-schema/system/TenantProvisioningRequest.json +2 -2
  1539. package/json-schema/system/TenantProvisioningResult.json +2 -2
  1540. package/json-schema/system/TenantProvisioningStatusEnum.json +2 -2
  1541. package/json-schema/system/TenantQuota.json +2 -2
  1542. package/json-schema/system/TenantRegion.json +2 -2
  1543. package/json-schema/system/TenantSecurityPolicy.json +2 -2
  1544. package/json-schema/system/TenantUsage.json +2 -2
  1545. package/json-schema/system/TextCRDTOperation.json +2 -2
  1546. package/json-schema/system/TextCRDTState.json +2 -2
  1547. package/json-schema/system/TimeSeries.json +2 -2
  1548. package/json-schema/system/TimeSeriesDataPoint.json +2 -2
  1549. package/json-schema/system/TopicConfig.json +2 -2
  1550. package/json-schema/system/TraceContext.json +2 -2
  1551. package/json-schema/system/TraceContextPropagation.json +2 -2
  1552. package/json-schema/system/TraceFlags.json +2 -2
  1553. package/json-schema/system/TracePropagationFormat.json +2 -2
  1554. package/json-schema/system/TraceState.json +2 -2
  1555. package/json-schema/system/TrainingCategory.json +2 -2
  1556. package/json-schema/system/TrainingCompletionStatus.json +2 -2
  1557. package/json-schema/system/TrainingCourse.json +2 -2
  1558. package/json-schema/system/TrainingPlan.json +2 -2
  1559. package/json-schema/system/TrainingRecord.json +2 -2
  1560. package/json-schema/system/TranslationBundle.json +69 -2
  1561. package/json-schema/system/TranslationConfig.json +2 -2
  1562. package/json-schema/system/TranslationCoverageResult.json +2 -2
  1563. package/json-schema/system/TranslationData.json +69 -2
  1564. package/json-schema/system/TranslationDiffItem.json +2 -2
  1565. package/json-schema/system/TranslationDiffStatus.json +2 -2
  1566. package/json-schema/system/TranslationFileOrganization.json +2 -2
  1567. package/json-schema/system/UserActivityStatus.json +2 -2
  1568. package/json-schema/system/VectorClock.json +2 -2
  1569. package/json-schema/system/WorkerStats.json +2 -2
  1570. package/json-schema/ui/AIChatWindowProps.json +2 -2
  1571. package/json-schema/ui/ActionLocation.json +15 -0
  1572. package/json-schema/ui/ActionParam.json +2 -2
  1573. package/json-schema/ui/ActionType.json +2 -2
  1574. package/json-schema/ui/AddRecordConfig.json +2 -2
  1575. package/json-schema/ui/Animation.json +2 -2
  1576. package/json-schema/ui/AnimationTrigger.json +2 -2
  1577. package/json-schema/ui/AppBranding.json +2 -2
  1578. package/json-schema/ui/AppearanceConfig.json +2 -2
  1579. package/json-schema/ui/AriaProps.json +2 -2
  1580. package/json-schema/ui/BlankPageLayout.json +2 -2
  1581. package/json-schema/ui/BlankPageLayoutItem.json +2 -2
  1582. package/json-schema/ui/BorderRadius.json +2 -2
  1583. package/json-schema/ui/BreakpointColumnMap.json +2 -2
  1584. package/json-schema/ui/BreakpointName.json +2 -2
  1585. package/json-schema/ui/BreakpointOrderMap.json +2 -2
  1586. package/json-schema/ui/Breakpoints.json +2 -2
  1587. package/json-schema/ui/CalendarConfig.json +2 -2
  1588. package/json-schema/ui/ChartAnnotation.json +2 -2
  1589. package/json-schema/ui/ChartAxis.json +2 -2
  1590. package/json-schema/ui/ChartConfig.json +2 -2
  1591. package/json-schema/ui/ChartInteraction.json +2 -2
  1592. package/json-schema/ui/ChartSeries.json +2 -2
  1593. package/json-schema/ui/ChartType.json +2 -2
  1594. package/json-schema/ui/ColorPalette.json +2 -2
  1595. package/json-schema/ui/ColumnSummary.json +2 -2
  1596. package/json-schema/ui/ComponentAnimation.json +2 -2
  1597. package/json-schema/ui/ConflictResolution.json +2 -2
  1598. package/json-schema/ui/Dashboard.json +2 -2
  1599. package/json-schema/ui/DashboardHeader.json +2 -2
  1600. package/json-schema/ui/DashboardHeaderAction.json +2 -2
  1601. package/json-schema/ui/DashboardWidget.json +2 -2
  1602. package/json-schema/ui/DateFormat.json +2 -2
  1603. package/json-schema/ui/DensityMode.json +2 -2
  1604. package/json-schema/ui/DndConfig.json +2 -2
  1605. package/json-schema/ui/DragConstraint.json +2 -2
  1606. package/json-schema/ui/DragHandle.json +2 -2
  1607. package/json-schema/ui/DragItem.json +2 -2
  1608. package/json-schema/ui/DropEffect.json +2 -2
  1609. package/json-schema/ui/DropZone.json +2 -2
  1610. package/json-schema/ui/EasingFunction.json +2 -2
  1611. package/json-schema/ui/ElementButtonProps.json +2 -2
  1612. package/json-schema/ui/ElementDataSource.json +2 -2
  1613. package/json-schema/ui/ElementFilterProps.json +2 -2
  1614. package/json-schema/ui/ElementImageProps.json +2 -2
  1615. package/json-schema/ui/ElementNumberProps.json +2 -2
  1616. package/json-schema/ui/ElementRecordPickerProps.json +2 -2
  1617. package/json-schema/ui/ElementTextProps.json +2 -2
  1618. package/json-schema/ui/EmbedConfig.json +2 -2
  1619. package/json-schema/ui/EvictionPolicy.json +2 -2
  1620. package/json-schema/ui/FocusManagement.json +2 -2
  1621. package/json-schema/ui/FocusTrapConfig.json +2 -2
  1622. package/json-schema/ui/GalleryConfig.json +2 -2
  1623. package/json-schema/ui/GanttConfig.json +2 -2
  1624. package/json-schema/ui/GestureConfig.json +2 -2
  1625. package/json-schema/ui/GestureType.json +2 -2
  1626. package/json-schema/ui/GlobalFilter.json +2 -2
  1627. package/json-schema/ui/GlobalFilterOptionsFrom.json +2 -2
  1628. package/json-schema/ui/GroupingConfig.json +2 -2
  1629. package/json-schema/ui/GroupingField.json +2 -2
  1630. package/json-schema/ui/HttpMethod.json +2 -2
  1631. package/json-schema/ui/HttpRequest.json +2 -2
  1632. package/json-schema/ui/I18nLabel.json +2 -2
  1633. package/json-schema/ui/I18nObject.json +2 -2
  1634. package/json-schema/ui/InterfacePageConfig.json +2 -2
  1635. package/json-schema/ui/JoinedReportBlock.json +2 -2
  1636. package/json-schema/ui/KanbanConfig.json +2 -2
  1637. package/json-schema/ui/KeyboardNavigationConfig.json +2 -2
  1638. package/json-schema/ui/KeyboardShortcut.json +2 -2
  1639. package/json-schema/ui/ListChartConfig.json +2 -2
  1640. package/json-schema/ui/ListColumn.json +2 -2
  1641. package/json-schema/ui/LocaleConfig.json +2 -2
  1642. package/json-schema/ui/LongPressGestureConfig.json +2 -2
  1643. package/json-schema/ui/MotionConfig.json +2 -2
  1644. package/json-schema/ui/NavigationConfig.json +2 -2
  1645. package/json-schema/ui/NavigationMode.json +2 -2
  1646. package/json-schema/ui/Notification.json +2 -2
  1647. package/json-schema/ui/NotificationAction.json +2 -2
  1648. package/json-schema/ui/NotificationConfig.json +2 -2
  1649. package/json-schema/ui/NotificationPosition.json +2 -2
  1650. package/json-schema/ui/NotificationSeverity.json +2 -2
  1651. package/json-schema/ui/NotificationType.json +2 -2
  1652. package/json-schema/ui/NumberFormat.json +2 -2
  1653. package/json-schema/ui/OfflineCacheConfig.json +2 -2
  1654. package/json-schema/ui/OfflineConfig.json +2 -2
  1655. package/json-schema/ui/OfflineStrategy.json +2 -2
  1656. package/json-schema/ui/PageAccordionProps.json +2 -2
  1657. package/json-schema/ui/PageCardProps.json +2 -2
  1658. package/json-schema/ui/PageComponentType.json +6 -2
  1659. package/json-schema/ui/PageHeaderProps.json +2 -2
  1660. package/json-schema/ui/PageTabsProps.json +2 -2
  1661. package/json-schema/ui/PageTransition.json +2 -2
  1662. package/json-schema/ui/PageType.json +2 -2
  1663. package/json-schema/ui/PageVariable.json +2 -2
  1664. package/json-schema/ui/PaginationConfig.json +2 -2
  1665. package/json-schema/ui/PerformanceConfig.json +2 -2
  1666. package/json-schema/ui/PersistStorage.json +2 -2
  1667. package/json-schema/ui/PinchGestureConfig.json +2 -2
  1668. package/json-schema/ui/PluralRule.json +2 -2
  1669. package/json-schema/ui/Portal.json +2 -2
  1670. package/json-schema/ui/PortalActionNavItem.json +2 -2
  1671. package/json-schema/ui/PortalAnonymousEntry.json +2 -2
  1672. package/json-schema/ui/PortalAnonymousRoute.json +2 -2
  1673. package/json-schema/ui/PortalAuthMode.json +2 -2
  1674. package/json-schema/ui/PortalDashboardNavItem.json +2 -2
  1675. package/json-schema/ui/PortalLayout.json +2 -2
  1676. package/json-schema/ui/PortalNavItem.json +2 -2
  1677. package/json-schema/ui/PortalRateLimit.json +2 -2
  1678. package/json-schema/ui/PortalSeo.json +2 -2
  1679. package/json-schema/ui/PortalTheme.json +2 -2
  1680. package/json-schema/ui/PortalUrlNavItem.json +2 -2
  1681. package/json-schema/ui/PortalViewNavItem.json +2 -2
  1682. package/json-schema/ui/RecordActivityProps.json +2 -2
  1683. package/json-schema/ui/RecordChatterProps.json +2 -2
  1684. package/json-schema/ui/RecordDetailsProps.json +2 -2
  1685. package/json-schema/ui/RecordHighlightsField.json +2 -2
  1686. package/json-schema/ui/RecordHighlightsProps.json +2 -2
  1687. package/json-schema/ui/RecordPathProps.json +2 -2
  1688. package/json-schema/ui/RecordRelatedListProps.json +2 -2
  1689. package/json-schema/ui/RecordReviewConfig.json +2 -2
  1690. package/json-schema/ui/Report.json +2 -2
  1691. package/json-schema/ui/ReportChart.json +2 -2
  1692. package/json-schema/ui/ReportColumn.json +2 -2
  1693. package/json-schema/ui/ReportGrouping.json +2 -2
  1694. package/json-schema/ui/ReportType.json +2 -2
  1695. package/json-schema/ui/ResponsiveConfig.json +2 -2
  1696. package/json-schema/ui/RowColorConfig.json +2 -2
  1697. package/json-schema/ui/RowHeight.json +2 -2
  1698. package/json-schema/ui/SelectionConfig.json +2 -2
  1699. package/json-schema/ui/Shadow.json +2 -2
  1700. package/json-schema/ui/SharingConfig.json +2 -2
  1701. package/json-schema/ui/Spacing.json +2 -2
  1702. package/json-schema/ui/SwipeDirection.json +2 -2
  1703. package/json-schema/ui/SwipeGestureConfig.json +2 -2
  1704. package/json-schema/ui/SyncConfig.json +2 -2
  1705. package/json-schema/ui/Theme.json +2 -2
  1706. package/json-schema/ui/ThemeMode.json +2 -2
  1707. package/json-schema/ui/TimelineConfig.json +2 -2
  1708. package/json-schema/ui/TouchInteraction.json +2 -2
  1709. package/json-schema/ui/TouchTargetConfig.json +2 -2
  1710. package/json-schema/ui/TransitionConfig.json +2 -2
  1711. package/json-schema/ui/TransitionPreset.json +2 -2
  1712. package/json-schema/ui/Typography.json +2 -2
  1713. package/json-schema/ui/UserActionsConfig.json +2 -2
  1714. package/json-schema/ui/ViewData.json +2 -2
  1715. package/json-schema/ui/ViewFilterRule.json +2 -2
  1716. package/json-schema/ui/ViewSharing.json +2 -2
  1717. package/json-schema/ui/ViewTab.json +2 -2
  1718. package/json-schema/ui/VisualizationType.json +2 -2
  1719. package/json-schema/ui/WcagContrastLevel.json +2 -2
  1720. package/json-schema/ui/WidgetActionType.json +2 -2
  1721. package/json-schema/ui/WidgetColorVariant.json +2 -2
  1722. package/json-schema/ui/WidgetEvent.json +2 -2
  1723. package/json-schema/ui/WidgetLifecycle.json +2 -2
  1724. package/json-schema/ui/WidgetManifest.json +2 -2
  1725. package/json-schema/ui/WidgetMeasure.json +2 -2
  1726. package/json-schema/ui/WidgetProperty.json +2 -2
  1727. package/json-schema/ui/WidgetSource.json +2 -2
  1728. package/json-schema/ui/ZIndex.json +2 -2
  1729. package/package.json +1 -1
  1730. package/src/system/translation.zod.ts +52 -0
  1731. package/src/ui/action.zod.ts +92 -6
  1732. package/src/ui/app.zod.ts +59 -2
  1733. package/src/ui/page.zod.ts +6 -5
  1734. package/src/ui/view.zod.ts +7 -0
  1735. package/json-schema/data/TenantDatabaseLifecycle.json +0 -96
  1736. package/json-schema/data/TenantResolverStrategy.json +0 -14
  1737. package/json-schema/data/TursoGroup.json +0 -38
  1738. package/json-schema/data/TursoMultiTenantConfig.json +0 -187
  1739. package/src/data/driver/turso-multi-tenant.zod.ts +0 -216
  1740. package/src/data/driver/turso.zod.ts +0 -156
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/shared/lazy-schema.ts","../../src/identity/identity.zod.ts","../../src/identity/protocol.ts","../../src/shared/identifiers.zod.ts","../../src/identity/role.zod.ts","../../src/shared/expression.zod.ts","../../src/ui/i18n.zod.ts","../../src/ui/sharing.zod.ts","../../src/ui/responsive.zod.ts","../../src/system/encryption.zod.ts","../../src/system/masking.zod.ts","../../src/data/field.zod.ts","../../src/shared/http.zod.ts","../../src/ui/view.zod.ts","../../src/identity/role.form.ts","../../src/identity/organization.zod.ts","../../src/identity/scim.zod.ts"],"names":["z"],"mappings":"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","file":"index.js","sourcesContent":["// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport type { z } from 'zod';\n\n/**\n * Wrap a Zod schema constructor so its body is only evaluated on first use.\n *\n * Why: building Zod schemas at module-load creates millions of closures that\n * dominate dev-server RSS even though most schemas are never parsed in a\n * given session. Wrapping the constructor in a Proxy defers allocation until\n * the first property access (`.parse`, `.shape`, `._def`, etc.) and reuses\n * a single cached instance thereafter.\n *\n * Type system: the returned Proxy is structurally indistinguishable from the\n * underlying ZodType, so `z.infer<typeof X>` and `.parse()` callers do not\n * need to change.\n *\n * Emergency rollback: set `OS_EAGER_SCHEMAS=1` to evaluate the\n * factory immediately and bypass the Proxy entirely.\n */\nexport function lazySchema<T extends z.ZodTypeAny>(factory: () => T): T {\n if (typeof process !== 'undefined' && process.env?.OS_EAGER_SCHEMAS === '1') {\n return factory();\n }\n\n let cached: T | undefined;\n const resolve = (): T => {\n if (cached === undefined) cached = factory();\n return cached;\n };\n\n const target = function lazyZod() {} as unknown as T;\n\n const proxy = new Proxy(target as object, {\n get(_t, prop) {\n const real = resolve() as unknown as Record<PropertyKey, unknown>;\n const value = real[prop];\n if (typeof value === 'function') {\n return (value as (...a: unknown[]) => unknown).bind(real);\n }\n return value;\n },\n set(_t, prop, value) {\n const real = resolve() as unknown as Record<PropertyKey, unknown>;\n real[prop] = value;\n return true;\n },\n has(_t, prop) {\n return prop in (resolve() as object);\n },\n ownKeys() {\n return Reflect.ownKeys(resolve() as object);\n },\n getOwnPropertyDescriptor(_t, prop) {\n return Reflect.getOwnPropertyDescriptor(resolve() as object, prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(resolve() as object);\n },\n });\n\n return proxy as T;\n}\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Identity & User Model Specification\n * \n * Defines the standard user, account, and session data models for ObjectStack.\n * These schemas represent \"who is logged in\" and their associated data.\n * \n * This is separate from authentication configuration (auth.zod.ts) which\n * defines \"how to login\".\n */\n\n/**\n * User Schema\n * Core user identity data model\n */\nimport { lazySchema } from '../shared/lazy-schema';\nexport const UserSchema = lazySchema(() => z.object({\n /**\n * Unique user identifier\n */\n id: z.string().describe('Unique user identifier'),\n \n /**\n * User's email address (primary identifier)\n */\n email: z.string().email().describe('User email address'),\n \n /**\n * Email verification status\n */\n emailVerified: z.boolean().default(false).describe('Whether email is verified'),\n \n /**\n * User's display name\n */\n name: z.string().optional().describe('User display name'),\n \n /**\n * User's profile image URL\n */\n image: z.string().url().optional().describe('Profile image URL'),\n \n /**\n * Account creation timestamp\n */\n createdAt: z.string().datetime().describe('Account creation timestamp'),\n \n /**\n * Last update timestamp\n */\n updatedAt: z.string().datetime().describe('Last update timestamp'),\n}));\n\nexport type User = z.infer<typeof UserSchema>;\n\n/**\n * Account Schema\n * Links external OAuth/OIDC/SAML accounts to a user\n */\nexport const AccountSchema = lazySchema(() => z.object({\n /**\n * Unique account identifier\n */\n id: z.string().describe('Unique account identifier'),\n \n /**\n * Associated user ID\n */\n userId: z.string().describe('Associated user ID'),\n \n /**\n * Account type/provider\n */\n type: z.enum([\n 'oauth',\n 'oidc',\n 'email',\n 'credentials',\n 'saml',\n 'ldap',\n ]).describe('Account type'),\n \n /**\n * Provider name (e.g., 'google', 'github', 'okta')\n */\n provider: z.string().describe('Provider name'),\n \n /**\n * Provider account ID\n */\n providerAccountId: z.string().describe('Provider account ID'),\n \n /**\n * OAuth refresh token\n */\n refreshToken: z.string().optional().describe('OAuth refresh token'),\n \n /**\n * OAuth access token\n */\n accessToken: z.string().optional().describe('OAuth access token'),\n \n /**\n * Token expiry timestamp\n */\n expiresAt: z.number().optional().describe('Token expiry timestamp (Unix)'),\n \n /**\n * OAuth token type\n */\n tokenType: z.string().optional().describe('OAuth token type'),\n \n /**\n * OAuth scope\n */\n scope: z.string().optional().describe('OAuth scope'),\n \n /**\n * OAuth ID token\n */\n idToken: z.string().optional().describe('OAuth ID token'),\n \n /**\n * Session state\n */\n sessionState: z.string().optional().describe('Session state'),\n \n /**\n * Account creation timestamp\n */\n createdAt: z.string().datetime().describe('Account creation timestamp'),\n \n /**\n * Last update timestamp\n */\n updatedAt: z.string().datetime().describe('Last update timestamp'),\n}));\n\nexport type Account = z.infer<typeof AccountSchema>;\n\n/**\n * Session Schema\n * User session data model\n */\nexport const SessionSchema = lazySchema(() => z.object({\n /**\n * Unique session identifier\n */\n id: z.string().describe('Unique session identifier'),\n \n /**\n * Session token\n */\n sessionToken: z.string().describe('Session token'),\n \n /**\n * Associated user ID\n */\n userId: z.string().describe('Associated user ID'),\n \n /**\n * Active organization ID for this session\n * Used for context switching in multi-tenant applications\n */\n activeOrganizationId: z.string().optional().describe('Active organization ID for context switching'),\n \n /**\n * Session expiry timestamp\n */\n expires: z.string().datetime().describe('Session expiry timestamp'),\n \n /**\n * Session creation timestamp\n */\n createdAt: z.string().datetime().describe('Session creation timestamp'),\n \n /**\n * Last update timestamp\n */\n updatedAt: z.string().datetime().describe('Last update timestamp'),\n \n /**\n * IP address of the session\n */\n ipAddress: z.string().optional().describe('IP address'),\n \n /**\n * User agent string\n */\n userAgent: z.string().optional().describe('User agent string'),\n \n /**\n * Device fingerprint\n */\n fingerprint: z.string().optional().describe('Device fingerprint'),\n}));\n\nexport type Session = z.infer<typeof SessionSchema>;\n\n/**\n * Verification Token Schema\n * Email verification and password reset tokens\n */\nexport const VerificationTokenSchema = lazySchema(() => z.object({\n /**\n * Token identifier (email or phone)\n */\n identifier: z.string().describe('Token identifier (email or phone)'),\n \n /**\n * Verification token\n */\n token: z.string().describe('Verification token'),\n \n /**\n * Token expiry timestamp\n */\n expires: z.string().datetime().describe('Token expiry timestamp'),\n \n /**\n * Token creation timestamp\n */\n createdAt: z.string().datetime().describe('Token creation timestamp'),\n}));\n\nexport type VerificationToken = z.infer<typeof VerificationTokenSchema>;\n\n/**\n * API Key Schema\n *\n * Aligns with better-auth's API key plugin capabilities.\n * Provides programmatic access to ObjectStack APIs (CI/CD, service-to-service, CLI).\n *\n * @see https://www.better-auth.com/docs/plugins/api-key\n */\nexport const ApiKeySchema = lazySchema(() => z.object({\n /**\n * Unique API key identifier\n */\n id: z.string().describe('API key identifier'),\n\n /**\n * Human-readable name for the key\n */\n name: z.string().describe('API key display name'),\n\n /**\n * Key prefix (visible portion for identification, e.g., \"os_pk_ab\")\n */\n start: z.string().optional().describe('Key prefix for identification'),\n\n /**\n * Custom prefix for the key (e.g., \"os_pk_\")\n */\n prefix: z.string().optional().describe('Custom key prefix'),\n\n /**\n * User ID of the key owner\n */\n userId: z.string().describe('Owner user ID'),\n\n /**\n * Organization ID the key is scoped to (optional)\n */\n organizationId: z.string().optional().describe('Scoped organization ID'),\n\n /**\n * Key expiration timestamp (null = never expires)\n */\n expiresAt: z.string().datetime().optional().describe('Expiration timestamp'),\n\n /**\n * Creation timestamp\n */\n createdAt: z.string().datetime().describe('Creation timestamp'),\n\n /**\n * Last update timestamp\n */\n updatedAt: z.string().datetime().describe('Last update timestamp'),\n\n /**\n * Last used timestamp\n */\n lastUsedAt: z.string().datetime().optional().describe('Last used timestamp'),\n\n /**\n * Last refetch timestamp (for cached permission checks)\n */\n lastRefetchAt: z.string().datetime().optional().describe('Last refetch timestamp'),\n\n /**\n * Whether this key is enabled\n */\n enabled: z.boolean().default(true).describe('Whether the key is active'),\n\n /**\n * Rate limiting: enabled flag\n */\n rateLimitEnabled: z.boolean().optional().describe('Whether rate limiting is enabled'),\n\n /**\n * Rate limiting: time window in milliseconds\n */\n rateLimitTimeWindow: z.number().int().min(0).optional().describe('Rate limit window (ms)'),\n\n /**\n * Rate limiting: max requests per window\n */\n rateLimitMax: z.number().int().min(0).optional().describe('Max requests per window'),\n\n /**\n * Rate limiting: remaining requests in current window\n */\n remaining: z.number().int().min(0).optional().describe('Remaining requests'),\n\n /**\n * Permissions assigned to this key (granular access control)\n */\n permissions: z.record(z.string(), z.boolean()).optional()\n .describe('Granular permission flags'),\n\n /**\n * Scopes assigned to this key (high-level access categories)\n */\n scopes: z.array(z.string()).optional()\n .describe('High-level access scopes'),\n\n /**\n * Custom metadata\n */\n metadata: z.record(z.string(), z.unknown()).optional().describe('Custom metadata'),\n}));\n\nexport type ApiKey = z.infer<typeof ApiKeySchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * Authentication Wire Protocol & Constants\n * \n * Defines the API contract and constants for authentication communication.\n * These constants ensure consistent behavior across all ObjectStack implementations.\n */\n\n/**\n * Authentication Constants\n * Standard headers, prefixes, and identifiers for auth communication\n */\nexport const AUTH_CONSTANTS = {\n /**\n * HTTP header key for authentication tokens\n */\n HEADER_KEY: 'Authorization',\n \n /**\n * Token prefix for Bearer authentication\n */\n TOKEN_PREFIX: 'Bearer ',\n \n /**\n * Cookie prefix for ObjectStack auth cookies\n */\n COOKIE_PREFIX: 'os_',\n \n /**\n * CSRF token header name\n */\n CSRF_HEADER: 'x-os-csrf-token',\n \n /**\n * Default session cookie name\n */\n SESSION_COOKIE: 'os_session_token',\n \n /**\n * Default CSRF cookie name\n */\n CSRF_COOKIE: 'os_csrf_token',\n \n /**\n * Refresh token cookie name\n */\n REFRESH_TOKEN_COOKIE: 'os_refresh_token',\n} as const;\n\n/**\n * Authentication Headers Interface\n * Standard headers used in authenticated requests\n */\nexport interface AuthHeaders {\n /**\n * Authorization header with Bearer token\n * @example \"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\"\n */\n Authorization?: string;\n \n /**\n * CSRF token header\n * @example \"x-os-csrf-token: abc123def456...\"\n */\n 'x-os-csrf-token'?: string;\n \n /**\n * Session ID header (alternative to cookie)\n * @example \"x-os-session-id: session_abc123...\"\n */\n 'x-os-session-id'?: string;\n \n /**\n * API key header (for service-to-service auth)\n * @example \"x-os-api-key: sk_live_abc123...\"\n */\n 'x-os-api-key'?: string;\n}\n\n/**\n * Authentication Response Interface\n * Standard response format for authentication operations\n */\nexport interface AuthResponse {\n /**\n * Access token (JWT or opaque token)\n */\n accessToken: string;\n \n /**\n * Refresh token (for token renewal)\n */\n refreshToken?: string;\n \n /**\n * Token type (usually \"Bearer\")\n */\n tokenType: string;\n \n /**\n * Token expiry in seconds\n */\n expiresIn: number;\n \n /**\n * User information\n */\n user: {\n id: string;\n email: string;\n name?: string;\n image?: string;\n };\n \n /**\n * Session ID\n */\n sessionId?: string;\n}\n\n/**\n * Authentication Error Codes\n * Standard error codes for authentication failures\n */\nexport const AUTH_ERROR_CODES = {\n INVALID_CREDENTIALS: 'invalid_credentials',\n INVALID_TOKEN: 'invalid_token',\n TOKEN_EXPIRED: 'token_expired',\n INSUFFICIENT_PERMISSIONS: 'insufficient_permissions',\n ACCOUNT_LOCKED: 'account_locked',\n ACCOUNT_NOT_VERIFIED: 'account_not_verified',\n TOO_MANY_REQUESTS: 'too_many_requests',\n INVALID_CSRF_TOKEN: 'invalid_csrf_token',\n SESSION_EXPIRED: 'session_expired',\n OAUTH_ERROR: 'oauth_error',\n PROVIDER_ERROR: 'provider_error',\n} as const;\n\n/**\n * Authentication Error Interface\n * Standard error response format\n */\nexport interface AuthError {\n /**\n * Error code from AUTH_ERROR_CODES\n */\n code: typeof AUTH_ERROR_CODES[keyof typeof AUTH_ERROR_CODES];\n \n /**\n * Human-readable error message\n */\n message: string;\n \n /**\n * Additional error details\n */\n details?: Record<string, any>;\n}\n\n/**\n * Token Payload Interface\n * Standard JWT payload structure\n */\nexport interface TokenPayload {\n /**\n * Subject (user ID)\n */\n sub: string;\n \n /**\n * Issued at timestamp\n */\n iat: number;\n \n /**\n * Expiration timestamp\n */\n exp: number;\n \n /**\n * Session ID\n */\n sid?: string;\n \n /**\n * User email\n */\n email?: string;\n \n /**\n * User roles\n */\n roles?: string[];\n \n /**\n * User permissions\n */\n permissions?: string[];\n \n /**\n * Additional custom claims\n */\n [key: string]: any;\n}\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * System Identifier Schema\n * \n * Universal naming convention for all machine identifiers (API Names) in ObjectStack.\n * Enforces lowercase with underscores or dots to ensure:\n * - Cross-platform compatibility (case-insensitive filesystems)\n * - URL-friendliness (no encoding needed)\n * - Database consistency (no collation issues)\n * - Security (no case-sensitivity bugs in permission checks)\n * \n * **Applies to all metadata that acts as a machine identifier:**\n * - Object names (tables/collections)\n * - Field names\n * - Role names\n * - Permission set names\n * - Action/trigger names\n * - Event keys\n * - App IDs\n * - Menu/page IDs\n * - Select option values\n * - Workflow names\n * - Webhook names\n * \n * **Naming Convention Summary:**\n * | Type | Pattern | Example |\n * |------|---------|---------|\n * | Machine ID | snake_case | `crm_account`, `btn_submit`, `role_admin` |\n * | Event keys | dot.notation | `user.login`, `order.created` |\n * | Labels | Any case | `Client Account`, `Submit Form` |\n * \n * @example Valid identifiers\n * - 'account'\n * - 'crm_account'\n * - 'user_profile'\n * - 'order.created' (for events)\n * - 'api_v2_endpoint'\n * \n * @example Invalid identifiers (will be rejected)\n * - 'Account' (uppercase)\n * - 'CrmAccount' (camelCase)\n * - 'crm-account' (kebab-case - use underscore instead)\n * - 'user profile' (spaces)\n */\nimport { lazySchema } from './lazy-schema';\nexport const SystemIdentifierSchema = lazySchema(() => z\n .string()\n .min(2, { message: 'System identifier must be at least 2 characters' })\n .regex(/^[a-z][a-z0-9_.]*$/, {\n message:\n 'System identifier must be lowercase, starting with a letter, and may contain letters, numbers, underscores, or dots (e.g., \"user_profile\" or \"order.created\")',\n })\n .describe('System identifier (lowercase with underscores or dots)'));\n\n/**\n * Strict Snake Case Identifier\n * \n * More restrictive than SystemIdentifierSchema - only allows underscores (no dots).\n * Use this for identifiers that should NOT contain dots (e.g., database table/column names).\n * \n * @example Valid\n * - 'account'\n * - 'crm_account'\n * - 'user_profile'\n * \n * @example Invalid\n * - 'user.profile' (dots not allowed)\n * - 'UserProfile' (uppercase)\n */\nexport const SnakeCaseIdentifierSchema = lazySchema(() => z\n .string()\n .min(2, { message: 'Identifier must be at least 2 characters' })\n .regex(/^[a-z][a-z0-9_]*$/, {\n message:\n 'Identifier must be lowercase snake_case, starting with a letter, and may contain only letters, numbers, and underscores (e.g., \"user_profile\")',\n })\n .describe('Snake case identifier (lowercase with underscores only)'));\n\n/**\n * Event Name Identifier\n * \n * Specialized identifier for event names that encourages dot notation.\n * Used in event-driven systems, message queues, and webhooks.\n * \n * Pattern: `namespace.action` or `entity.event_type`\n * \n * @example Valid\n * - 'user.created'\n * - 'order.paid'\n * - 'user.login_success'\n * - 'alarm.high_cpu'\n * \n * @example Invalid\n * - 'UserCreated' (camelCase)\n * - 'user_created' (should use dots for namespacing)\n */\nexport const EventNameSchema = lazySchema(() => z\n .string()\n .min(3, { message: 'Event name must be at least 3 characters' })\n .regex(/^[a-z][a-z0-9_.]*$/, {\n message:\n 'Event name must be lowercase with dots for namespacing (e.g., \"user.created\", \"order.paid\")',\n })\n .describe('Event name (lowercase with dot notation for namespacing)'));\n\n/**\n * Type Exports\n */\nexport type SystemIdentifier = z.infer<typeof SystemIdentifierSchema>;\nexport type SnakeCaseIdentifier = z.infer<typeof SnakeCaseIdentifierSchema>;\nexport type EventName = z.infer<typeof EventNameSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\n\n/**\n * Role Schema (aka Business Unit / Org Unit)\n * Defines the organizational hierarchy (Reporting Structure).\n * \n * COMPARISON:\n * - Salesforce: \"Role\" (Hierarchy for visibility rollup)\n * - Microsoft: \"Business Unit\" (Structural container for data)\n * - Kubernetes/AWS: \"Role\" usually refers to Permissions (we use PermissionSet for that)\n * \n * ROLES IN OBJECTSTACK:\n * Used primarily for \"Reporting Structure\" - Managers see subordinates' data.\n * \n * **NAMING CONVENTION:**\n * Role names MUST be lowercase snake_case to prevent security issues.\n * \n * @example Good role names\n * - 'sales_manager'\n * - 'ceo'\n * - 'region_east_vp'\n * - 'engineering_lead'\n * \n * @example Bad role names (will be rejected)\n * - 'SalesManager' (camelCase)\n * - 'CEO' (uppercase)\n * - 'Region East VP' (spaces and uppercase)\n */\nimport { lazySchema } from '../shared/lazy-schema';\nexport const RoleSchema = lazySchema(() => z.object({\n /** Identity */\n name: SnakeCaseIdentifierSchema.describe('Unique role name (lowercase snake_case)'),\n label: z.string().describe('Display label (e.g. VP of Sales)'),\n \n /** Hierarchy */\n parent: z.string().optional().describe('Parent Role ID (Reports To)'),\n \n /** Description */\n description: z.string().optional(),\n}));\n\nexport type Role = z.infer<typeof RoleSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Expression Protocol\n *\n * Canonical wire format for all \"expression\"-shaped metadata across ObjectStack\n * (formula fields, predicates, conditions, criteria, visibility rules, seed\n * dynamic values, …).\n *\n * The persisted form is `{ dialect, source }` (and, after `objectstack\n * compile` normalization, `{ dialect, ast }`). String-only shorthand is\n * accepted at *input* time for developer ergonomics; build emits the canonical\n * envelope.\n *\n * ## Dialects\n *\n * | dialect | engine | use |\n * |:---|:---|:---|\n * | `cel` | `@objectstack/formula` (cel-js + ObjectStack stdlib) | formulas, predicates, seed dynamic values |\n * | `js` | sandboxed L2 hook bodies (`isolated-vm` / `quickjs`) | mapping, hook bodies |\n * | `cron` | `cron-parser` | job schedules |\n *\n * SQL fragments (analytics joins, partial indexes) are intentionally **not**\n * routed through this schema — they stay driver-native because their security\n * posture and portability story differ.\n *\n * @see content/docs/concepts/north-star.mdx §8 \"No private expression DSL\"\n */\n\n/** Supported expression dialects. */\nexport const ExpressionDialect = z.enum(['cel', 'js', 'cron', 'template']);\nexport type ExpressionDialect = z.infer<typeof ExpressionDialect>;\n\n/**\n * Authorship metadata for an expression. Optional but encouraged for AI-\n * generated artifacts so audit/explanation tooling has something to render.\n */\nexport const ExpressionMetaSchema = z.object({\n /** Human-readable rationale (often AI-emitted). */\n rationale: z.string().optional(),\n /** Identifier of the agent / tool that produced this expression. */\n generatedBy: z.string().optional(),\n});\nexport type ExpressionMeta = z.infer<typeof ExpressionMetaSchema>;\n\n/**\n * Canonical Expression envelope.\n *\n * Phase 1 (M9.1): `source` is the canonical persisted form. `ast` is reserved\n * and accepted as opaque structured value — `objectstack compile` will fill it\n * in M9.2 with the engine's parsed AST so the artifact carries an AST-only\n * representation.\n *\n * Phase 2 (M9.2+): `ast` becomes required in build output; `source` is kept\n * only for round-trip / debug.\n */\nexport const ExpressionSchema = z.object({\n /** Which engine evaluates `source` / `ast`. */\n dialect: ExpressionDialect,\n /** Surface syntax. Required while `ast` is not yet populated. */\n source: z.string().min(1).optional(),\n /**\n * Engine-native AST. Opaque at the spec layer; each engine validates its own\n * shape. For `dialect: 'cel'` this is the cel-js parsed AST node.\n */\n ast: z.unknown().optional(),\n /** Optional authorship metadata. */\n meta: ExpressionMetaSchema.optional(),\n}).refine(e => e.source !== undefined || e.ast !== undefined, {\n message: 'Expression requires at least one of `source` or `ast`',\n});\nexport type Expression = z.infer<typeof ExpressionSchema>;\n\n/**\n * Author-time input shape: a bare string is shorthand for `{ dialect: 'cel',\n * source }`. Engines that need other dialects must use the full envelope.\n *\n * Build (`objectstack compile`) normalizes this union to `Expression` so the\n * persisted artifact never contains the bare-string form.\n */\nexport const ExpressionInputSchema = z.union([\n z.string().min(1).transform((source): Expression => ({ dialect: 'cel', source })),\n ExpressionSchema,\n]);\nexport type ExpressionInput = z.input<typeof ExpressionInputSchema>;\n\n/**\n * Cron-typed input shape: a bare string is shorthand for `{ dialect: 'cron',\n * source }` (not `cel`). Use this for `schedule` / `cronExpression` fields so\n * authors can write `'0 9 * * 1-5'` without manually wrapping.\n */\nexport const CronExpressionInputSchema = z.union([\n z.string().min(1).transform((source): Expression => ({ dialect: 'cron', source })),\n ExpressionSchema,\n]);\nexport type CronExpressionInput = z.input<typeof CronExpressionInputSchema>;\n\n/**\n * Template-typed input shape: a bare string is shorthand for\n * `{ dialect: 'template', source }`. Use this for notification subjects/bodies,\n * titleFormat, prompt templates — anything with `{{var}}` interpolation.\n */\nexport const TemplateExpressionInputSchema = z.union([\n z.string().min(1).transform((source): Expression => ({ dialect: 'template', source })),\n ExpressionSchema,\n]);\nexport type TemplateExpressionInput = z.input<typeof TemplateExpressionInputSchema>;\n\n/**\n * Predicate — an Expression whose evaluation is expected to be boolean.\n * Spec layer cannot enforce return type at parse time; this alias exists for\n * intent documentation and future runtime type-check wiring.\n */\nexport const PredicateSchema = ExpressionSchema;\nexport type Predicate = z.infer<typeof PredicateSchema>;\n\nexport const PredicateInputSchema = ExpressionInputSchema;\nexport type PredicateInput = z.input<typeof PredicateInputSchema>;\n\n/**\n * Construct an Expression literal from a CEL source string. Used by DX\n * shorthand (`cel\\`...\\``) and by codegen tools.\n */\nexport function expression(source: string, dialect: ExpressionDialect = 'cel', meta?: ExpressionMeta): Expression {\n return { dialect, source, ...(meta ? { meta } : {}) };\n}\n\n/**\n * Tagged-template helpers for inline expression authoring.\n *\n * ```ts\n * import { cel, F, P } from '@objectstack/spec';\n *\n * const f = { formula: F`record.amount * 0.1` };\n * const v = { visible: P`record.status == \"open\"` };\n * const d = { close_date: cel`now() + duration(\"P30D\")` };\n * ```\n *\n * Each helper produces an {@link Expression} envelope with `dialect: 'cel'`\n * and the rendered template string as `source`. The CLI `objectstack compile`\n * step (M9.2) parses these into ASTs at build time so the persisted artifact\n * is dialect-AST only.\n */\nfunction renderTemplate(strings: TemplateStringsArray, values: readonly unknown[]): string {\n if (values.length === 0) return strings[0] ?? '';\n let out = strings[0] ?? '';\n for (let i = 0; i < values.length; i++) {\n const v = values[i];\n // Inline literal substitution. Strings get JSON-escaped so `${name}` for\n // `name = 'O\\'Brien'` produces a valid CEL string literal. Numbers and\n // booleans render as their toString. Anything exotic should be passed via\n // the variable scope (record/input) rather than interpolated.\n if (typeof v === 'string') out += JSON.stringify(v);\n else if (typeof v === 'number' || typeof v === 'boolean') out += String(v);\n else if (v === null || v === undefined) out += 'null';\n else out += JSON.stringify(v);\n out += strings[i + 1] ?? '';\n }\n return out;\n}\n\n/** Tagged template — produces a CEL Expression envelope. */\nexport function cel(strings: TemplateStringsArray, ...values: unknown[]): Expression {\n return { dialect: 'cel', source: renderTemplate(strings, values) };\n}\n\n/** Formula alias of {@link cel} — semantic shorthand for computed-field formulas. */\nexport const F = cel;\n\n/** Predicate alias of {@link cel} — semantic shorthand for boolean conditions. */\nexport const P = cel;\n\n/**\n * Tagged template — produces a Mustache-template Expression envelope. Use for\n * notification subjects, prompt bodies, titleFormat strings, etc. Variable\n * scope is the same as CEL (`{{record.x}}`, `{{os.user.id}}`).\n */\nexport function tmpl(strings: TemplateStringsArray, ...values: unknown[]): Expression {\n // Templates do not get JSON.stringify on substitution — interpolation happens\n // at evaluate time via `{{path}}` markers, so we keep raw substitutions here.\n let out = strings[0] ?? '';\n for (let i = 0; i < values.length; i++) {\n out += String(values[i]);\n out += strings[i + 1] ?? '';\n }\n return { dialect: 'template', source: out };\n}\n\n/** Tagged template — produces a cron Expression envelope. */\nexport function cron(strings: TemplateStringsArray, ...values: unknown[]): Expression {\n let out = strings[0] ?? '';\n for (let i = 0; i < values.length; i++) {\n out += String(values[i]);\n out += strings[i + 1] ?? '';\n }\n return { dialect: 'cron', source: out };\n}\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * I18n Object Schema\n * Structured internationalization label with translation key and parameters.\n * \n * @example\n * ```typescript\n * const label: I18nObject = {\n * key: 'views.task_list.label',\n * defaultValue: 'Task List',\n * params: { count: 5 },\n * };\n * ```\n */\nimport { lazySchema } from '../shared/lazy-schema';\nexport const I18nObjectSchema = lazySchema(() => z.object({\n /** Translation key (e.g., \"views.task_list.label\", \"apps.crm.description\") */\n key: z.string().describe('Translation key (e.g., \"views.task_list.label\")'),\n\n /** Default value when translation is not available */\n defaultValue: z.string().optional().describe('Fallback value when translation key is not found'),\n\n /** Interpolation parameters for dynamic translations */\n params: z.record(z.string(), z.union([z.string(), z.number(), z.boolean()])).optional().describe('Interpolation parameters (e.g., { count: 5 })'),\n}));\n\nexport type I18nObject = z.infer<typeof I18nObjectSchema>;\n\n/**\n * I18n Label Schema\n * \n * A plain string label for display purposes.\n * i18n translation keys are auto-generated by the framework at registration time\n * based on a standardized naming convention (e.g., `apps.<packageId>.<name>.label`).\n * Developers only need to provide the default-language string; translations are\n * managed through translation files, not inline i18n objects.\n * \n * @example\n * ```typescript\n * const label: I18nLabel = \"All Active\";\n * ```\n */\nexport const I18nLabelSchema = lazySchema(() => z.string().describe('Display label (plain string; i18n keys are auto-generated by the framework)'));\n\nexport type I18nLabel = z.infer<typeof I18nLabelSchema>;\n\n/**\n * ARIA Accessibility Properties Schema\n * \n * Common ARIA attributes for UI components to support screen readers\n * and assistive technologies.\n * \n * Aligned with WAI-ARIA 1.2 specification.\n * \n * @see https://www.w3.org/TR/wai-aria-1.2/\n * \n * @example\n * ```typescript\n * const aria: AriaProps = {\n * ariaLabel: 'Close dialog',\n * ariaDescribedBy: 'dialog-description',\n * role: 'dialog',\n * };\n * ```\n */\nexport const AriaPropsSchema = lazySchema(() => z.object({\n /** Accessible label for screen readers */\n ariaLabel: I18nLabelSchema.optional().describe('Accessible label for screen readers (WAI-ARIA aria-label)'),\n\n /** ID of element that describes this component */\n ariaDescribedBy: z.string().optional().describe('ID of element providing additional description (WAI-ARIA aria-describedby)'),\n\n /** WAI-ARIA role override */\n role: z.string().optional().describe('WAI-ARIA role attribute (e.g., \"dialog\", \"navigation\", \"alert\")'),\n}).describe('ARIA accessibility attributes'));\n\nexport type AriaProps = z.infer<typeof AriaPropsSchema>;\n\n/**\n * Plural Rule Schema\n *\n * Defines plural forms for a translation key, following ICU MessageFormat / i18next conventions.\n * Supports zero, one, two, few, many, other forms per CLDR plural rules.\n *\n * @see https://unicode.org/reports/tr35/tr35-numbers.html#Language_Plural_Rules\n *\n * @example\n * ```typescript\n * const plural: PluralRule = {\n * key: 'items.count',\n * zero: 'No items',\n * one: '{count} item',\n * other: '{count} items',\n * };\n * ```\n */\nexport const PluralRuleSchema = lazySchema(() => z.object({\n /** Translation key for the plural form */\n key: z.string().describe('Translation key'),\n /** Form for zero quantity */\n zero: z.string().optional().describe('Zero form (e.g., \"No items\")'),\n /** Form for singular (1) */\n one: z.string().optional().describe('Singular form (e.g., \"{count} item\")'),\n /** Form for dual (2) — used in Arabic, Welsh, etc. */\n two: z.string().optional().describe('Dual form (e.g., \"{count} items\" for exactly 2)'),\n /** Form for few (2-4 in Slavic languages) */\n few: z.string().optional().describe('Few form (e.g., for 2-4 in some languages)'),\n /** Form for many (5+ in Slavic languages) */\n many: z.string().optional().describe('Many form (e.g., for 5+ in some languages)'),\n /** Default/fallback form */\n other: z.string().describe('Default plural form (e.g., \"{count} items\")'),\n}).describe('ICU plural rules for a translation key'));\n\nexport type PluralRule = z.infer<typeof PluralRuleSchema>;\n\n/**\n * Number Format Schema\n *\n * Defines number formatting rules for localization.\n *\n * @example\n * ```typescript\n * const format: NumberFormat = {\n * style: 'currency',\n * currency: 'USD',\n * minimumFractionDigits: 2,\n * };\n * ```\n */\nexport const NumberFormatSchema = lazySchema(() => z.object({\n style: z.enum(['decimal', 'currency', 'percent', 'unit']).default('decimal')\n .describe('Number formatting style'),\n currency: z.string().optional().describe('ISO 4217 currency code (e.g., \"USD\", \"EUR\")'),\n unit: z.string().optional().describe('Unit for unit formatting (e.g., \"kilometer\", \"liter\")'),\n minimumFractionDigits: z.number().optional().describe('Minimum number of fraction digits'),\n maximumFractionDigits: z.number().optional().describe('Maximum number of fraction digits'),\n useGrouping: z.boolean().optional().describe('Whether to use grouping separators (e.g., 1,000)'),\n}).describe('Number formatting rules'));\n\nexport type NumberFormat = z.infer<typeof NumberFormatSchema>;\n\n/**\n * Date Format Schema\n *\n * Defines date/time formatting rules for localization.\n *\n * @example\n * ```typescript\n * const format: DateFormat = {\n * dateStyle: 'medium',\n * timeStyle: 'short',\n * timeZone: 'America/New_York',\n * };\n * ```\n */\nexport const DateFormatSchema = lazySchema(() => z.object({\n dateStyle: z.enum(['full', 'long', 'medium', 'short']).optional()\n .describe('Date display style'),\n timeStyle: z.enum(['full', 'long', 'medium', 'short']).optional()\n .describe('Time display style'),\n timeZone: z.string().optional().describe('IANA time zone (e.g., \"America/New_York\")'),\n hour12: z.boolean().optional().describe('Use 12-hour format'),\n}).describe('Date/time formatting rules'));\n\nexport type DateFormat = z.infer<typeof DateFormatSchema>;\n\n/**\n * Locale Configuration Schema\n *\n * Defines a complete locale configuration including language code,\n * fallback chain, and formatting preferences.\n *\n * @example\n * ```typescript\n * const locale: LocaleConfig = {\n * code: 'zh-CN',\n * fallbackChain: ['zh-TW', 'en'],\n * direction: 'ltr',\n * numberFormat: { style: 'decimal', useGrouping: true },\n * dateFormat: { dateStyle: 'medium', timeStyle: 'short' },\n * };\n * ```\n */\nexport const LocaleConfigSchema = lazySchema(() => z.object({\n /** BCP 47 language code (e.g., \"en-US\", \"zh-CN\", \"ar-SA\") */\n code: z.string().describe('BCP 47 language code (e.g., \"en-US\", \"zh-CN\")'),\n\n /** Ordered fallback chain for missing translations */\n fallbackChain: z.array(z.string()).optional()\n .describe('Fallback language codes in priority order (e.g., [\"zh-TW\", \"en\"])'),\n\n /** Text direction */\n direction: z.enum(['ltr', 'rtl']).default('ltr')\n .describe('Text direction: left-to-right or right-to-left'),\n\n /** Default number formatting */\n numberFormat: NumberFormatSchema.optional().describe('Default number formatting rules'),\n\n /** Default date formatting */\n dateFormat: DateFormatSchema.optional().describe('Default date/time formatting rules'),\n}).describe('Locale configuration'));\n\nexport type LocaleConfig = z.infer<typeof LocaleConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * @module ui/sharing\n *\n * Sharing & Embedding Protocol\n *\n * Defines schemas for public link sharing, embed configuration,\n * domain restrictions, and password protection for apps, pages, and forms.\n */\n\nimport { z } from 'zod';\n\n/**\n * Sharing Config Schema\n * Configuration for public sharing of an app, page, or form.\n * Supports public links, password protection, domain restrictions, and expiration.\n */\nimport { lazySchema } from '../shared/lazy-schema';\nexport const SharingConfigSchema = lazySchema(() => z.object({\n enabled: z.boolean().default(false).describe('Enable public sharing'),\n publicLink: z.string().optional().describe('Generated public share URL'),\n password: z.string().optional().describe('Password required to access shared link'),\n allowedDomains: z.array(z.string()).optional()\n .describe('Restrict access to specific email domains (e.g. [\"example.com\"])'),\n expiresAt: z.string().optional()\n .describe('Expiration date/time in ISO 8601 format'),\n allowAnonymous: z.boolean().optional().default(false)\n .describe('Allow access without authentication'),\n}));\n\n/**\n * Embed Config Schema\n * Configuration for iframe embedding of an app, page, or form.\n * Supports origin restrictions, display options, and responsive sizing.\n */\nexport const EmbedConfigSchema = lazySchema(() => z.object({\n enabled: z.boolean().default(false).describe('Enable iframe embedding'),\n allowedOrigins: z.array(z.string()).optional()\n .describe('Allowed iframe parent origins (e.g. [\"https://example.com\"])'),\n width: z.string().optional().default('100%').describe('Embed width (CSS value)'),\n height: z.string().optional().default('600px').describe('Embed height (CSS value)'),\n showHeader: z.boolean().optional().default(true).describe('Show interface header in embed'),\n showNavigation: z.boolean().optional().default(false).describe('Show navigation in embed'),\n responsive: z.boolean().optional().default(true).describe('Enable responsive resizing'),\n}));\n\n// Type Exports\nexport type SharingConfig = z.infer<typeof SharingConfigSchema>;\nexport type EmbedConfig = z.infer<typeof EmbedConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Breakpoint Name Enum\n * Matches the breakpoint names defined in theme.zod.ts BreakpointsSchema.\n */\nimport { lazySchema } from '../shared/lazy-schema';\nexport const BreakpointName = z.enum(['xs', 'sm', 'md', 'lg', 'xl', '2xl']);\n\nexport type BreakpointName = z.infer<typeof BreakpointName>;\n\n/**\n * Responsive Configuration Schema\n *\n * Provides responsive layout configuration for UI components.\n * Maps breakpoint names to layout behavior (columns, visibility, order).\n *\n * Aligned with theme.zod.ts BreakpointsSchema for a unified responsive system.\n *\n * @example\n * ```typescript\n * const config: ResponsiveConfig = {\n * columns: { xs: 12, sm: 6, lg: 4 },\n * hiddenOn: ['xs'],\n * order: { xs: 2, lg: 1 },\n * };\n * ```\n */\n/**\n * Breakpoint Column Map Schema\n * Maps breakpoint names to grid column counts (1-12).\n * All entries are optional — only specified breakpoints are configured.\n */\nexport const BreakpointColumnMapSchema = lazySchema(() => z.object({\n xs: z.number().min(1).max(12).optional(),\n sm: z.number().min(1).max(12).optional(),\n md: z.number().min(1).max(12).optional(),\n lg: z.number().min(1).max(12).optional(),\n xl: z.number().min(1).max(12).optional(),\n '2xl': z.number().min(1).max(12).optional(),\n}).describe('Grid columns per breakpoint (1-12)'));\n\n/**\n * Breakpoint Order Map Schema\n * Maps breakpoint names to display order numbers.\n * All entries are optional — only specified breakpoints are configured.\n */\nexport const BreakpointOrderMapSchema = lazySchema(() => z.object({\n xs: z.number().optional(),\n sm: z.number().optional(),\n md: z.number().optional(),\n lg: z.number().optional(),\n xl: z.number().optional(),\n '2xl': z.number().optional(),\n}).describe('Display order per breakpoint'));\n\nexport const ResponsiveConfigSchema = lazySchema(() => z.object({\n /** Minimum breakpoint for visibility */\n breakpoint: BreakpointName.optional()\n .describe('Minimum breakpoint for visibility'),\n\n /** Hide on specific breakpoints */\n hiddenOn: z.array(BreakpointName).optional()\n .describe('Hide on these breakpoints'),\n\n /** Grid columns per breakpoint (1-12 column grid) */\n columns: BreakpointColumnMapSchema.optional().describe('Grid columns per breakpoint'),\n\n /** Display order per breakpoint */\n order: BreakpointOrderMapSchema.optional().describe('Display order per breakpoint'),\n}).describe('Responsive layout configuration'));\n\nexport type ResponsiveConfig = z.infer<typeof ResponsiveConfigSchema>;\n\n/**\n * Performance Configuration Schema\n *\n * Defines performance optimization settings for UI components\n * such as lazy loading, virtual scrolling, and caching.\n *\n * @example\n * ```typescript\n * const perf: PerformanceConfig = {\n * lazyLoad: true,\n * virtualScroll: { enabled: true, itemHeight: 40, overscan: 5 },\n * cacheStrategy: 'stale-while-revalidate',\n * prefetch: true,\n * };\n * ```\n */\nexport const PerformanceConfigSchema = lazySchema(() => z.object({\n /** Enable lazy loading for this component */\n lazyLoad: z.boolean().optional()\n .describe('Enable lazy loading (defer rendering until visible)'),\n\n /** Virtual scrolling configuration for large datasets */\n virtualScroll: z.object({\n enabled: z.boolean().default(false).describe('Enable virtual scrolling'),\n itemHeight: z.number().optional().describe('Fixed item height in pixels (for estimation)'),\n overscan: z.number().optional().describe('Number of extra items to render outside viewport'),\n }).optional().describe('Virtual scrolling configuration'),\n\n /** Client-side caching strategy */\n cacheStrategy: z.enum([\n 'none',\n 'cache-first',\n 'network-first',\n 'stale-while-revalidate',\n ]).optional().describe('Client-side data caching strategy'),\n\n /** Enable data prefetching */\n prefetch: z.boolean().optional()\n .describe('Prefetch data before component is visible'),\n\n /** Maximum number of items to render before pagination */\n pageSize: z.number().optional()\n .describe('Number of items per page for pagination'),\n\n /** Debounce interval for user interactions (ms) */\n debounceMs: z.number().optional()\n .describe('Debounce interval for user interactions in milliseconds'),\n}).describe('Performance optimization configuration'));\n\nexport type PerformanceConfig = z.infer<typeof PerformanceConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Field-level encryption protocol\n * GDPR/HIPAA/PCI-DSS compliant\n */\nimport { lazySchema } from '../shared/lazy-schema';\nexport const EncryptionAlgorithmSchema = lazySchema(() => z.enum([\n 'aes-256-gcm',\n 'aes-256-cbc',\n 'chacha20-poly1305',\n]).describe('Supported encryption algorithm'));\n\nexport type EncryptionAlgorithm = z.infer<typeof EncryptionAlgorithmSchema>;\n\nexport const KeyManagementProviderSchema = lazySchema(() => z.enum([\n 'local',\n 'aws-kms',\n 'azure-key-vault',\n 'gcp-kms',\n 'hashicorp-vault',\n]).describe('Key management service provider'));\n\nexport type KeyManagementProvider = z.infer<typeof KeyManagementProviderSchema>;\n\nexport const KeyRotationPolicySchema = lazySchema(() => z.object({\n enabled: z.boolean().default(false).describe('Enable automatic key rotation'),\n frequencyDays: z.number().min(1).default(90).describe('Rotation frequency in days'),\n retainOldVersions: z.number().default(3).describe('Number of old key versions to retain'),\n autoRotate: z.boolean().default(true).describe('Automatically rotate without manual approval'),\n}).describe('Policy for automatic encryption key rotation'));\n\nexport type KeyRotationPolicy = z.infer<typeof KeyRotationPolicySchema>;\nexport type KeyRotationPolicyInput = z.input<typeof KeyRotationPolicySchema>;\n\nexport const EncryptionConfigSchema = lazySchema(() => z.object({\n enabled: z.boolean().default(false).describe('Enable field-level encryption'),\n algorithm: EncryptionAlgorithmSchema.default('aes-256-gcm').describe('Encryption algorithm'),\n keyManagement: z.object({\n provider: KeyManagementProviderSchema.describe('Key management service provider'),\n keyId: z.string().optional().describe('Key identifier in the provider'),\n rotationPolicy: KeyRotationPolicySchema.optional().describe('Key rotation policy'),\n }).describe('Key management configuration'),\n scope: z.enum(['field', 'record', 'table', 'database']).describe('Encryption scope level'),\n deterministicEncryption: z.boolean().default(false).describe('Allows equality queries on encrypted data'),\n searchableEncryption: z.boolean().default(false).describe('Allows search on encrypted data'),\n}).describe('Field-level encryption configuration'));\n\nexport type EncryptionConfig = z.infer<typeof EncryptionConfigSchema>;\nexport type EncryptionConfigInput = z.input<typeof EncryptionConfigSchema>;\n\nexport const FieldEncryptionSchema = lazySchema(() => z.object({\n fieldName: z.string().describe('Name of the field to encrypt'),\n encryptionConfig: EncryptionConfigSchema.describe('Encryption settings for this field'),\n indexable: z.boolean().default(false).describe('Allow indexing on encrypted field'),\n}).describe('Per-field encryption assignment'));\n\nexport type FieldEncryption = z.infer<typeof FieldEncryptionSchema>;\nexport type FieldEncryptionInput = z.input<typeof FieldEncryptionSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Data masking protocol for PII protection\n */\nimport { lazySchema } from '../shared/lazy-schema';\nexport const MaskingStrategySchema = lazySchema(() => z.enum([\n 'redact', // Complete redaction: ****\n 'partial', // Partial masking: 138****5678\n 'hash', // Hash value: sha256(value)\n 'tokenize', // Tokenization: token-12345\n 'randomize', // Randomize: generate random value\n 'nullify', // Null value: null\n 'substitute', // Substitute with dummy data\n]).describe('Data masking strategy for PII protection'));\n\nexport type MaskingStrategy = z.infer<typeof MaskingStrategySchema>;\n\nexport const MaskingRuleSchema = lazySchema(() => z.object({\n field: z.string().describe('Field name to apply masking to'),\n strategy: MaskingStrategySchema.describe('Masking strategy to use'),\n pattern: z.string().optional().describe('Regex pattern for partial masking'),\n preserveFormat: z.boolean().default(true).describe('Keep the original data format after masking'),\n preserveLength: z.boolean().default(true).describe('Keep the original data length after masking'),\n roles: z.array(z.string()).optional().describe('Roles that see masked data'),\n exemptRoles: z.array(z.string()).optional().describe('Roles that see unmasked data'),\n}).describe('Masking rule for a single field'));\n\nexport type MaskingRule = z.infer<typeof MaskingRuleSchema>;\nexport type MaskingRuleInput = z.input<typeof MaskingRuleSchema>;\n\nexport const MaskingConfigSchema = lazySchema(() => z.object({\n enabled: z.boolean().default(false).describe('Enable data masking'),\n rules: z.array(MaskingRuleSchema).describe('List of field-level masking rules'),\n auditUnmasking: z.boolean().default(true).describe('Log when masked data is accessed unmasked'),\n}).describe('Top-level data masking configuration for PII protection'));\n\nexport type MaskingConfig = z.infer<typeof MaskingConfigSchema>;\nexport type MaskingConfigInput = z.input<typeof MaskingConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { SystemIdentifierSchema } from '../shared/identifiers.zod';\nimport { ExpressionInputSchema } from '../shared/expression.zod';\nimport { EncryptionConfigSchema } from '../system/encryption.zod';\nimport { MaskingRuleSchema } from '../system/masking.zod';\n\n/**\n * Field Type Enum\n */\nimport { lazySchema } from '../shared/lazy-schema';\nexport const FieldType = z.enum([\n // Core Text\n 'text', 'textarea', 'email', 'url', 'phone', 'password',\n // Rich Content\n 'markdown', 'html', 'richtext',\n // Numbers\n 'number', 'currency', 'percent', \n // Date & Time\n 'date', 'datetime', 'time',\n // Logic\n 'boolean', 'toggle', // Toggle is a distinct UI from checkbox\n // Selection\n 'select', // Single select dropdown\n 'multiselect', // Multi select (often tags)\n 'radio', // Radio group\n 'checkboxes', // Checkbox group\n // Relational\n 'lookup', 'master_detail', // Dynamic reference\n 'tree', // Hierarchical reference\n // Media\n 'image', 'file', 'avatar', 'video', 'audio',\n // Calculated / System\n 'formula', 'summary', 'autonumber',\n // Embedded structured values (stored as JSON on the parent row — no separate table / FK)\n 'composite', // Single embedded sub-object with declared sub-fields (≈ Strapi component / ACF group)\n 'repeater', // Repeating embedded sub-object array with declared sub-fields (≈ Strapi repeatable component / ACF repeater)\n // Enhanced Types\n 'location', // GPS coordinates\n 'address', // Structured address\n 'code', // Code editor (JSON/SQL/JS)\n 'json', // Structured JSON data (untyped escape hatch)\n 'color', // Color picker\n 'rating', // Star rating\n 'slider', // Numeric slider\n 'signature', // Digital signature\n 'qrcode', // QR code / Barcode\n 'progress', // Progress bar\n 'tags', // Simple tag list\n // AI/ML Types\n 'vector', // Vector embeddings for AI/ML (semantic search, RAG)\n]);\n\nexport type FieldType = z.infer<typeof FieldType>;\n\n/**\n * Select Option Schema\n * \n * Defines option values for select/picklist fields.\n * \n * **CRITICAL RULE**: The `value` field is a machine identifier that gets stored in the database.\n * It MUST be lowercase to avoid case-sensitivity issues in queries and comparisons.\n * \n * @example Good\n * { label: 'New', value: 'new' }\n * { label: 'In Progress', value: 'in_progress' }\n * { label: 'Closed Won', value: 'closed_won' }\n * \n * @example Bad (will be rejected)\n * { label: 'New', value: 'New' } // uppercase\n * { label: 'In Progress', value: 'In Progress' } // spaces and uppercase\n * { label: 'Closed Won', value: 'Closed_Won' } // mixed case\n */\nexport const SelectOptionSchema = lazySchema(() => z.object({\n label: z.string().describe('Display label (human-readable, any case allowed)'),\n value: SystemIdentifierSchema.describe('Stored value (lowercase machine identifier)'),\n color: z.string().optional().describe('Color code for badges/charts'),\n default: z.boolean().optional().describe('Is default option'),\n}));\n\n/**\n * Location Coordinates Schema\n * GPS coordinates for location field type\n */\nexport const LocationCoordinatesSchema = lazySchema(() => z.object({\n latitude: z.number().min(-90).max(90).describe('Latitude coordinate'),\n longitude: z.number().min(-180).max(180).describe('Longitude coordinate'),\n altitude: z.number().optional().describe('Altitude in meters'),\n accuracy: z.number().optional().describe('Accuracy in meters'),\n}));\n\n/**\n * Currency Configuration Schema\n * Configuration for currency field type supporting multi-currency\n * \n * Note: Currency codes are validated by length only (3 characters) to support:\n * - Standard ISO 4217 codes (USD, EUR, CNY, etc.)\n * - Cryptocurrency codes (BTC, ETH, etc.)\n * - Custom business-specific codes\n * Stricter validation can be implemented at the application layer based on business requirements.\n */\nexport const CurrencyConfigSchema = lazySchema(() => z.object({\n precision: z.number().int().min(0).max(10).default(2).describe('Decimal precision (default: 2)'),\n currencyMode: z.enum(['dynamic', 'fixed']).default('dynamic').describe('Currency mode: dynamic (user selectable) or fixed (single currency)'),\n defaultCurrency: z.string().length(3).default('CNY').describe('Default or fixed currency code (ISO 4217, e.g., USD, CNY, EUR)'),\n}));\n\n/**\n * Currency Value Schema\n * Runtime value structure for currency fields\n * \n * Note: Currency codes are validated by length only (3 characters) to support flexibility.\n * See CurrencyConfigSchema for details on currency code validation strategy.\n */\nexport const CurrencyValueSchema = lazySchema(() => z.object({\n value: z.number().describe('Monetary amount'),\n currency: z.string().length(3).describe('Currency code (ISO 4217)'),\n}));\n\n/**\n * Address Schema\n * Structured address for address field type\n */\nexport const AddressSchema = lazySchema(() => z.object({\n street: z.string().optional().describe('Street address'),\n city: z.string().optional().describe('City name'),\n state: z.string().optional().describe('State/Province'),\n postalCode: z.string().optional().describe('Postal/ZIP code'),\n country: z.string().optional().describe('Country name or code'),\n countryCode: z.string().optional().describe('ISO country code (e.g., US, GB)'),\n formatted: z.string().optional().describe('Formatted address string'),\n}));\n\n/**\n * Vector Configuration Schema\n * Configuration for vector field type supporting AI/ML embeddings\n * \n * Vector fields store numerical embeddings for semantic search, similarity matching,\n * and Retrieval-Augmented Generation (RAG) workflows.\n * \n * @example\n * // Text embeddings for semantic search\n * {\n * dimensions: 1536, // OpenAI text-embedding-ada-002\n * distanceMetric: 'cosine',\n * indexed: true\n * }\n * \n * @example\n * // Image embeddings with normalization\n * {\n * dimensions: 512, // ResNet-50\n * distanceMetric: 'euclidean',\n * normalized: true,\n * indexed: true\n * }\n */\nexport const VectorConfigSchema = lazySchema(() => z.object({\n dimensions: z.number().int().min(1).max(10000).describe('Vector dimensionality (e.g., 1536 for OpenAI embeddings)'),\n distanceMetric: z.enum(['cosine', 'euclidean', 'dotProduct', 'manhattan']).default('cosine').describe('Distance/similarity metric for vector search'),\n normalized: z.boolean().default(false).describe('Whether vectors are normalized (unit length)'),\n indexed: z.boolean().default(true).describe('Whether to create a vector index for fast similarity search'),\n indexType: z.enum(['hnsw', 'ivfflat', 'flat']).optional().describe('Vector index algorithm (HNSW for high accuracy, IVFFlat for large datasets)'),\n}));\n\n/**\n * File Attachment Configuration Schema\n * Configuration for file and attachment field types\n * \n * Provides comprehensive file upload capabilities with:\n * - File type restrictions (allowed/blocked)\n * - File size limits (min/max)\n * - Virus scanning integration\n * - Storage provider integration\n * - Image-specific features (dimensions, thumbnails)\n * \n * @example Basic file upload with size limit\n * {\n * maxSize: 10485760, // 10MB\n * allowedTypes: ['.pdf', '.docx', '.xlsx'],\n * virusScan: true\n * }\n * \n * @example Image upload with validation\n * {\n * maxSize: 5242880, // 5MB\n * allowedTypes: ['.jpg', '.jpeg', '.png', '.webp'],\n * imageValidation: {\n * maxWidth: 4096,\n * maxHeight: 4096,\n * generateThumbnails: true\n * }\n * }\n */\nexport const FileAttachmentConfigSchema = lazySchema(() => z.object({\n /** File Size Limits */\n minSize: z.number().min(0).optional().describe('Minimum file size in bytes'),\n maxSize: z.number().min(1).optional().describe('Maximum file size in bytes (e.g., 10485760 = 10MB)'),\n \n /** File Type Restrictions */\n allowedTypes: z.array(z.string()).optional().describe('Allowed file extensions (e.g., [\".pdf\", \".docx\", \".jpg\"])'),\n blockedTypes: z.array(z.string()).optional().describe('Blocked file extensions (e.g., [\".exe\", \".bat\", \".sh\"])'),\n allowedMimeTypes: z.array(z.string()).optional().describe('Allowed MIME types (e.g., [\"image/jpeg\", \"application/pdf\"])'),\n blockedMimeTypes: z.array(z.string()).optional().describe('Blocked MIME types'),\n \n /** Virus Scanning */\n virusScan: z.boolean().default(false).describe('Enable virus scanning for uploaded files'),\n virusScanProvider: z.enum(['clamav', 'virustotal', 'metadefender', 'custom']).optional().describe('Virus scanning service provider'),\n virusScanOnUpload: z.boolean().default(true).describe('Scan files immediately on upload'),\n quarantineOnThreat: z.boolean().default(true).describe('Quarantine files if threat detected'),\n \n /** Storage Configuration */\n storageProvider: z.string().optional().describe('Object storage provider name (references ObjectStorageConfig)'),\n storageBucket: z.string().optional().describe('Target bucket name'),\n storagePrefix: z.string().optional().describe('Storage path prefix (e.g., \"uploads/documents/\")'),\n \n /** Image-Specific Validation */\n imageValidation: z.object({\n minWidth: z.number().min(1).optional().describe('Minimum image width in pixels'),\n maxWidth: z.number().min(1).optional().describe('Maximum image width in pixels'),\n minHeight: z.number().min(1).optional().describe('Minimum image height in pixels'),\n maxHeight: z.number().min(1).optional().describe('Maximum image height in pixels'),\n aspectRatio: z.string().optional().describe('Required aspect ratio (e.g., \"16:9\", \"1:1\")'),\n generateThumbnails: z.boolean().default(false).describe('Auto-generate thumbnails'),\n thumbnailSizes: z.array(z.object({\n name: z.string().describe('Thumbnail variant name (e.g., \"small\", \"medium\", \"large\")'),\n width: z.number().min(1).describe('Thumbnail width in pixels'),\n height: z.number().min(1).describe('Thumbnail height in pixels'),\n crop: z.boolean().default(false).describe('Crop to exact dimensions'),\n })).optional().describe('Thumbnail size configurations'),\n preserveMetadata: z.boolean().default(false).describe('Preserve EXIF metadata'),\n autoRotate: z.boolean().default(true).describe('Auto-rotate based on EXIF orientation'),\n }).optional().describe('Image-specific validation rules'),\n \n /** Upload Behavior */\n allowMultiple: z.boolean().default(false).describe('Allow multiple file uploads (overrides field.multiple)'),\n allowReplace: z.boolean().default(true).describe('Allow replacing existing files'),\n allowDelete: z.boolean().default(true).describe('Allow deleting uploaded files'),\n requireUpload: z.boolean().default(false).describe('Require at least one file when field is required'),\n \n /** Metadata Extraction */\n extractMetadata: z.boolean().default(true).describe('Extract file metadata (name, size, type, etc.)'),\n extractText: z.boolean().default(false).describe('Extract text content from documents (OCR/parsing)'),\n \n /** Versioning */\n versioningEnabled: z.boolean().default(false).describe('Keep previous versions of replaced files'),\n maxVersions: z.number().min(1).optional().describe('Maximum number of versions to retain'),\n \n /** Access Control */\n publicRead: z.boolean().default(false).describe('Allow public read access to uploaded files'),\n presignedUrlExpiry: z.number().min(60).max(604800).default(3600).describe('Presigned URL expiration in seconds (default: 1 hour)'),\n}).refine((data) => {\n // Validate minSize is less than or equal to maxSize\n if (data.minSize !== undefined && data.maxSize !== undefined && data.minSize > data.maxSize) {\n return false;\n }\n return true;\n}, {\n message: 'minSize must be less than or equal to maxSize',\n}).refine((data) => {\n // Validate virusScanProvider requires virusScan to be enabled\n if (data.virusScanProvider !== undefined && data.virusScan !== true) {\n return false;\n }\n return true;\n}, {\n message: 'virusScanProvider requires virusScan to be enabled',\n}));\n\n/**\n * Data Quality Rules Schema\n * Defines data quality validation and monitoring for fields\n * \n * @example Unique SSN field with completeness requirement\n * {\n * uniqueness: true,\n * completeness: 0.95, // 95% of records must have this field\n * accuracy: {\n * source: 'government_db',\n * threshold: 0.98\n * }\n * }\n */\nexport const DataQualityRulesSchema = lazySchema(() => z.object({\n /** Enforce uniqueness constraint */\n uniqueness: z.boolean().default(false).describe('Enforce unique values across all records'),\n \n /** Completeness ratio (0-1) indicating minimum percentage of non-null values */\n completeness: z.number().min(0).max(1).default(0).describe('Minimum ratio of non-null values (0-1, default: 0 = no requirement)'),\n \n /** Accuracy validation against authoritative source */\n accuracy: z.object({\n source: z.string().describe('Reference data source for validation (e.g., \"api.verify.com\", \"master_data\")'),\n threshold: z.number().min(0).max(1).describe('Minimum accuracy threshold (0-1, e.g., 0.95 = 95% match required)'),\n }).optional().describe('Accuracy validation configuration'),\n}));\n\n/**\n * Computed Field Caching Schema\n * Configuration for caching computed/formula field results\n * \n * @example Cache product price with 1-hour TTL, invalidate on inventory changes\n * {\n * enabled: true,\n * ttl: 3600,\n * invalidateOn: ['inventory.quantity', 'pricing.discount']\n * }\n */\nexport const ComputedFieldCacheSchema = lazySchema(() => z.object({\n /** Enable caching for this computed field */\n enabled: z.boolean().describe('Enable caching for computed field results'),\n \n /** Time-to-live in seconds */\n ttl: z.number().min(0).describe('Cache TTL in seconds (0 = no expiration)'),\n \n /** Array of field paths that trigger cache invalidation when changed */\n invalidateOn: z.array(z.string()).describe('Field paths that invalidate cache (e.g., [\"inventory.quantity\", \"pricing.base_price\"])'),\n}));\n\n/**\n * Field Schema - Best Practice Enterprise Pattern\n */\n/**\n * Field Definition Schema\n * Defines the properties, type, and behavior of a single field (column) on an object.\n * \n * @example Lookup Field\n * {\n * name: \"account_id\",\n * label: \"Account\",\n * type: \"lookup\",\n * reference: \"accounts\",\n * required: true\n * }\n * \n * @example Select Field\n * {\n * name: \"status\",\n * label: \"Status\",\n * type: \"select\",\n * options: [\n * { label: \"Open\", value: \"open\" },\n * { label: \"Closed\", value: \"closed\" }\n * ],\n * defaultValue: \"open\"\n * }\n */\nexport const FieldSchema = lazySchema(() => z.object({\n /** Identity */\n name: z.string().regex(/^[a-z_][a-z0-9_]*$/).describe('Machine name (snake_case)').optional(),\n label: z.string().optional().describe('Human readable label'),\n type: FieldType.describe('Field Data Type'),\n description: z.string().optional().describe('Tooltip/Help text'),\n format: z.string().optional().describe('Format string (e.g. email, phone)'),\n\n /** Storage Layer Mapping */\n columnName: z.string().optional().describe('Physical column name in the target datasource. Defaults to the field key when not set.'),\n\n /** Database Constraints */\n required: z.boolean().default(false).describe('Is required'),\n searchable: z.boolean().default(false).describe('Is searchable'),\n multiple: z.boolean().default(false).describe('Allow multiple values (Stores as Array/JSON). Applicable for select, lookup, file, image.'),\n unique: z.boolean().default(false).describe('Is unique constraint'),\n defaultValue: z.unknown().optional().describe('Default value'),\n \n /** Text/String Constraints */\n maxLength: z.number().optional().describe('Max character length'),\n minLength: z.number().optional().describe('Min character length'),\n \n /** Number Constraints */\n precision: z.number().optional().describe('Total digits'),\n scale: z.number().optional().describe('Decimal places'),\n min: z.number().optional().describe('Minimum value'),\n max: z.number().optional().describe('Maximum value'),\n\n /** Selection Options */\n options: z.array(SelectOptionSchema).optional().describe('Static options for select/multiselect'),\n\n /**\n * Relationship Config\n * \n * Used by `lookup` and `master_detail` field types to define cross-object references.\n * The `reference` property is **required** for these types — it identifies the target\n * object whose records this field links to. The engine uses `reference` during $expand\n * post-processing to resolve foreign key IDs into full related objects via batch queries.\n * \n * For `master_detail` fields, the parent record controls the lifecycle of child records\n * (e.g., cascade delete). For `lookup` fields, the reference is a soft link.\n */\n reference: z.string().optional().describe(\n 'Target object name (snake_case) for lookup/master_detail fields. '\n + 'Required for relationship types. Used by $expand to resolve foreign key IDs into full objects.'\n ),\n referenceFilters: z.array(z.string()).optional().describe('Filters applied to lookup dialogs (e.g. \"active = true\")'),\n writeRequiresMasterRead: z.boolean().optional().describe('If true, user needs read access to master record to edit this field'),\n deleteBehavior: z.enum(['set_null', 'cascade', 'restrict']).optional().default('set_null').describe('What happens if referenced record is deleted'),\n\n /** Calculation — CEL formula. Plain string accepted for back-compat; build emits canonical envelope. */\n expression: ExpressionInputSchema.optional().describe('Formula expression (CEL). e.g. F`record.amount * 0.1`'),\n summaryOperations: z.object({\n object: z.string().describe('Source child object name for roll-up'),\n field: z.string().describe('Field on child object to aggregate'),\n function: z.enum(['count', 'sum', 'min', 'max', 'avg']).describe('Aggregation function to apply'),\n }).optional().describe('Roll-up summary definition'),\n\n /** Enhanced Field Type Configurations */\n // Code field config\n language: z.string().optional().describe('Programming language for syntax highlighting (e.g., javascript, python, sql)'),\n theme: z.string().optional().describe('Code editor theme (e.g., dark, light, monokai)'),\n lineNumbers: z.boolean().optional().describe('Show line numbers in code editor'),\n \n // Rating field config\n maxRating: z.number().optional().describe('Maximum rating value (default: 5)'),\n allowHalf: z.boolean().optional().describe('Allow half-star ratings'),\n \n // Location field config\n displayMap: z.boolean().optional().describe('Display map widget for location field'),\n allowGeocoding: z.boolean().optional().describe('Allow address-to-coordinate conversion'),\n \n // Address field config\n addressFormat: z.enum(['us', 'uk', 'international']).optional().describe('Address format template'),\n \n // Color field config\n colorFormat: z.enum(['hex', 'rgb', 'rgba', 'hsl']).optional().describe('Color value format'),\n allowAlpha: z.boolean().optional().describe('Allow transparency/alpha channel'),\n presetColors: z.array(z.string()).optional().describe('Preset color options'),\n \n // Slider field config\n step: z.number().optional().describe('Step increment for slider (default: 1)'),\n showValue: z.boolean().optional().describe('Display current value on slider'),\n marks: z.record(z.string(), z.string()).optional().describe('Custom marks/labels at specific values (e.g., {0: \"Low\", 50: \"Medium\", 100: \"High\"})'),\n \n // QR Code / Barcode field config\n // Note: qrErrorCorrection is only applicable when barcodeFormat='qr'\n // Runtime validation should enforce this constraint\n barcodeFormat: z.enum(['qr', 'ean13', 'ean8', 'code128', 'code39', 'upca', 'upce']).optional().describe('Barcode format type'),\n qrErrorCorrection: z.enum(['L', 'M', 'Q', 'H']).optional().describe('QR code error correction level (L=7%, M=15%, Q=25%, H=30%). Only applicable when barcodeFormat is \"qr\"'),\n displayValue: z.boolean().optional().describe('Display human-readable value below barcode/QR code'),\n allowScanning: z.boolean().optional().describe('Enable camera scanning for barcode/QR code input'),\n\n // Currency field config\n currencyConfig: CurrencyConfigSchema.optional().describe('Configuration for currency field type'),\n\n // Vector field config\n vectorConfig: VectorConfigSchema.optional().describe('Configuration for vector field type (AI/ML embeddings)'),\n\n // File attachment field config\n fileAttachmentConfig: FileAttachmentConfigSchema.optional().describe('Configuration for file and attachment field types'),\n\n /** Enhanced Security & Compliance */\n // Encryption configuration\n encryptionConfig: EncryptionConfigSchema.optional().describe('Field-level encryption configuration for sensitive data (GDPR/HIPAA/PCI-DSS)'),\n \n // Data masking rules\n maskingRule: MaskingRuleSchema.optional().describe('Data masking rules for PII protection'),\n \n // Audit trail\n auditTrail: z.boolean().default(false).describe('Enable detailed audit trail for this field (tracks all changes with user and timestamp)'),\n \n /** Field Dependencies & Relationships */\n // Field dependencies\n dependencies: z.array(z.string()).optional().describe('Array of field names that this field depends on (for formulas, visibility rules, etc.)'),\n \n /** Computed Field Optimization */\n // Computed field caching\n cached: ComputedFieldCacheSchema.optional().describe('Caching configuration for computed/formula fields'),\n \n /** Data Quality & Governance */\n // Data quality rules\n dataQuality: DataQualityRulesSchema.optional().describe('Data quality validation and monitoring rules'),\n\n /** Layout & Grouping */\n group: z.string().optional().describe('Field group name for organizing fields in forms and layouts (e.g., \"contact_info\", \"billing\", \"system\")'),\n\n /** Conditional Requirements */\n conditionalRequired: ExpressionInputSchema.optional().describe('Predicate (CEL) — field is required when TRUE. e.g. P`record.status == \\'closed_won\\'`'),\n\n /** Security & Visibility */\n hidden: z.boolean().default(false).describe('Hidden from default UI'),\n readonly: z.boolean().default(false).describe('Read-only in UI'),\n system: z.boolean().optional().describe('Auto-injected system/audit field (e.g. created_at, updated_by, organization_id). Tools that surface system fields separately from author-declared business fields should branch on this flag.'),\n sortable: z.boolean().optional().default(true).describe('Whether field is sortable in list views'),\n inlineHelpText: z.string().optional().describe('Help text displayed below the field in forms'),\n trackFeedHistory: z.boolean().optional().describe('Track field changes in Chatter/activity feed (Salesforce pattern)'),\n caseSensitive: z.boolean().optional().describe('Whether text comparisons are case-sensitive'),\n autonumberFormat: z.string().optional().describe('Auto-number display format pattern (e.g., \"CASE-{0000}\")'),\n /** Indexing */\n index: z.boolean().default(false).describe('Create standard database index'),\n externalId: z.boolean().default(false).describe('Is external ID for upsert operations'),\n}));\n\nexport type Field = z.infer<typeof FieldSchema>;\nexport type SelectOption = z.infer<typeof SelectOptionSchema>;\nexport type LocationCoordinates = z.infer<typeof LocationCoordinatesSchema>;\nexport type Address = z.infer<typeof AddressSchema>;\nexport type CurrencyConfig = z.infer<typeof CurrencyConfigSchema>;\nexport type CurrencyConfigInput = z.input<typeof CurrencyConfigSchema>;\nexport type CurrencyValue = z.infer<typeof CurrencyValueSchema>;\nexport type VectorConfig = z.infer<typeof VectorConfigSchema>;\nexport type VectorConfigInput = z.input<typeof VectorConfigSchema>;\nexport type FileAttachmentConfig = z.infer<typeof FileAttachmentConfigSchema>;\nexport type FileAttachmentConfigInput = z.input<typeof FileAttachmentConfigSchema>;\nexport type DataQualityRules = z.infer<typeof DataQualityRulesSchema>;\nexport type DataQualityRulesInput = z.input<typeof DataQualityRulesSchema>;\nexport type ComputedFieldCache = z.infer<typeof ComputedFieldCacheSchema>;\n\n/**\n * Field Factory Helper\n */\nexport type FieldInput = Omit<Partial<Field>, 'type'>;\n\nexport const Field = {\n text: (config: FieldInput = {}) => ({ type: 'text', ...config } as const),\n textarea: (config: FieldInput = {}) => ({ type: 'textarea', ...config } as const),\n number: (config: FieldInput = {}) => ({ type: 'number', ...config } as const),\n boolean: (config: FieldInput = {}) => ({ type: 'boolean', ...config } as const),\n date: (config: FieldInput = {}) => ({ type: 'date', ...config } as const),\n datetime: (config: FieldInput = {}) => ({ type: 'datetime', ...config } as const),\n currency: (config: FieldInput = {}) => ({ type: 'currency', ...config } as const),\n percent: (config: FieldInput = {}) => ({ type: 'percent', ...config } as const),\n url: (config: FieldInput = {}) => ({ type: 'url', ...config } as const),\n email: (config: FieldInput = {}) => ({ type: 'email', ...config } as const),\n phone: (config: FieldInput = {}) => ({ type: 'phone', ...config } as const),\n image: (config: FieldInput = {}) => ({ type: 'image', ...config } as const),\n file: (config: FieldInput = {}) => ({ type: 'file', ...config } as const),\n avatar: (config: FieldInput = {}) => ({ type: 'avatar', ...config } as const),\n formula: (config: FieldInput = {}) => ({ type: 'formula', ...config } as const),\n summary: (config: FieldInput = {}) => ({ type: 'summary', ...config } as const),\n autonumber: (config: FieldInput = {}) => ({ type: 'autonumber', ...config } as const),\n markdown: (config: FieldInput = {}) => ({ type: 'markdown', ...config } as const),\n html: (config: FieldInput = {}) => ({ type: 'html', ...config } as const),\n password: (config: FieldInput = {}) => ({ type: 'password', ...config } as const),\n \n /**\n * Select field helper with backward-compatible API\n * \n * Automatically converts option values to lowercase to enforce naming conventions.\n * \n * @example Old API (array first) - auto-converts to lowercase\n * Field.select(['High', 'Low'], { label: 'Priority' })\n * // Results in: [{ label: 'High', value: 'high' }, { label: 'Low', value: 'low' }]\n * \n * @example New API (config object) - enforces lowercase\n * Field.select({ options: [{label: 'High', value: 'high'}], label: 'Priority' })\n * \n * @example Multi-word values - converts to snake_case\n * Field.select(['In Progress', 'Closed Won'], { label: 'Status' })\n * // Results in: [{ label: 'In Progress', value: 'in_progress' }, { label: 'Closed Won', value: 'closed_won' }]\n */\n select: (optionsOrConfig: SelectOption[] | string[] | FieldInput & { options: SelectOption[] | string[] }, config?: FieldInput) => {\n // Helper function to convert string to lowercase snake_case\n const toSnakeCase = (str: string): string => {\n return str\n .toLowerCase()\n .replace(/\\s+/g, '_') // Replace spaces with underscores\n .replace(/[^a-z0-9_]/g, ''); // Remove invalid characters (keeping underscores only)\n };\n\n // Support both old and new signatures:\n // Old: Field.select(['a', 'b'], { label: 'X' })\n // New: Field.select({ options: [{label: 'A', value: 'a'}], label: 'X' })\n let options: SelectOption[];\n let finalConfig: FieldInput;\n \n if (Array.isArray(optionsOrConfig)) {\n // Old signature: array as first param\n options = optionsOrConfig.map(o => \n typeof o === 'string' \n ? { label: o, value: toSnakeCase(o) } // Auto-convert string to snake_case\n : { ...o, value: o.value.toLowerCase() } // Ensure value is lowercase\n );\n finalConfig = config || {};\n } else {\n // New signature: config object with options\n options = (optionsOrConfig.options || []).map(o => \n typeof o === 'string' \n ? { label: o, value: toSnakeCase(o) } // Auto-convert string to snake_case\n : { ...o, value: o.value.toLowerCase() } // Ensure value is lowercase\n );\n // Remove options from config to avoid confusion\n const { options: _, ...restConfig } = optionsOrConfig;\n finalConfig = restConfig;\n }\n \n return { type: 'select', options, ...finalConfig } as const;\n },\n\n \n lookup: (reference: string, config: FieldInput = {}) => ({ \n type: 'lookup', \n reference, \n ...config \n } as const),\n \n masterDetail: (reference: string, config: FieldInput = {}) => ({ \n type: 'master_detail', \n reference, \n ...config \n } as const),\n\n // Enhanced Field Type Helpers\n location: (config: FieldInput = {}) => ({ \n type: 'location', \n ...config \n } as const),\n \n address: (config: FieldInput = {}) => ({ \n type: 'address', \n ...config \n } as const),\n \n richtext: (config: FieldInput = {}) => ({ \n type: 'richtext', \n ...config \n } as const),\n \n code: (language?: string, config: FieldInput = {}) => ({ \n type: 'code', \n language,\n ...config \n } as const),\n \n color: (config: FieldInput = {}) => ({ \n type: 'color', \n ...config \n } as const),\n \n rating: (maxRating: number = 5, config: FieldInput = {}) => ({ \n type: 'rating', \n maxRating,\n ...config \n } as const),\n \n signature: (config: FieldInput = {}) => ({ \n type: 'signature', \n ...config \n } as const),\n \n slider: (config: FieldInput = {}) => ({ \n type: 'slider', \n ...config \n } as const),\n \n qrcode: (config: FieldInput = {}) => ({ \n type: 'qrcode', \n ...config \n } as const),\n \n json: (config: FieldInput = {}) => ({ \n type: 'json', \n ...config \n } as const),\n \n vector: (dimensions: number, config: FieldInput = {}) => ({ \n type: 'vector', \n vectorConfig: {\n dimensions,\n distanceMetric: 'cosine' as const,\n normalized: false,\n indexed: true,\n ...config.vectorConfig\n },\n ...config \n } as const),\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Shared HTTP Schemas\n * \n * Common HTTP-related schemas used across API and System protocols.\n * These schemas ensure consistency across different parts of the stack.\n */\n\n// ==========================================\n// Basic HTTP Types\n// ==========================================\n\n/**\n * HTTP Method Enum\n */\nimport { lazySchema } from './lazy-schema';\nexport const HttpMethod = z.enum([\n 'GET', \n 'POST', \n 'PUT', \n 'DELETE', \n 'PATCH', \n 'HEAD', \n 'OPTIONS'\n]);\n\nexport type HttpMethod = z.infer<typeof HttpMethod>;\n\n/**\n * HTTP Method Schema (subset for UI/View data sources)\n * Common HTTP methods used in view data source configurations.\n * Migrated from ui/view.zod.ts to shared for reuse across modules.\n */\nexport const HttpMethodSchema = lazySchema(() => z.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE']));\n\nexport type HttpMethodType = z.infer<typeof HttpMethodSchema>;\n\n/**\n * HTTP Request Configuration Schema\n * Defines a complete HTTP request configuration used by API data providers.\n * Migrated from ui/view.zod.ts to shared for reuse across modules.\n */\nexport const HttpRequestSchema = lazySchema(() => z.object({\n url: z.string().describe('API endpoint URL'),\n method: HttpMethodSchema.optional().default('GET').describe('HTTP method'),\n headers: z.record(z.string(), z.string()).optional().describe('Custom HTTP headers'),\n params: z.record(z.string(), z.unknown()).optional().describe('Query parameters'),\n body: z.unknown().optional().describe('Request body for POST/PUT/PATCH'),\n}));\n\nexport type HttpRequest = z.infer<typeof HttpRequestSchema>;\n\n// ==========================================\n// CORS Configuration\n// ==========================================\n\n/**\n * CORS Configuration Schema\n * Cross-Origin Resource Sharing configuration\n * \n * Used by:\n * - api/router.zod.ts (RouterConfigSchema)\n * - system/http-server.zod.ts (HttpServerConfigSchema)\n * \n * @example\n * {\n * \"enabled\": true,\n * \"origins\": [\"http://localhost:3000\", \"https://app.example.com\"],\n * \"methods\": [\"GET\", \"POST\", \"PUT\", \"DELETE\"],\n * \"credentials\": true,\n * \"maxAge\": 86400\n * }\n */\nexport const CorsConfigSchema = lazySchema(() => z.object({\n /**\n * Enable CORS\n */\n enabled: z.boolean().default(true).describe('Enable CORS'),\n \n /**\n * Allowed origins (* for all)\n */\n origins: z.union([\n z.string(),\n z.array(z.string())\n ]).default('*').describe('Allowed origins (* for all)'),\n \n /**\n * Allowed HTTP methods\n */\n methods: z.array(HttpMethod).optional().describe('Allowed HTTP methods'),\n \n /**\n * Allow credentials (cookies, authorization headers)\n */\n credentials: z.boolean().default(false).describe('Allow credentials (cookies, authorization headers)'),\n \n /**\n * Preflight cache duration in seconds\n */\n maxAge: z.number().int().optional().describe('Preflight cache duration in seconds'),\n}));\n\nexport type CorsConfig = z.infer<typeof CorsConfigSchema>;\n\n// ==========================================\n// Rate Limiting\n// ==========================================\n\n/**\n * Rate Limit Configuration Schema\n * \n * Used by:\n * - api/endpoint.zod.ts (ApiEndpointSchema)\n * - system/http-server.zod.ts (HttpServerConfigSchema)\n * \n * @example\n * {\n * \"enabled\": true,\n * \"windowMs\": 60000,\n * \"maxRequests\": 100\n * }\n */\nexport const RateLimitConfigSchema = lazySchema(() => z.object({\n /**\n * Enable rate limiting\n */\n enabled: z.boolean().default(false).describe('Enable rate limiting'),\n \n /**\n * Time window in milliseconds\n */\n windowMs: z.number().int().default(60000).describe('Time window in milliseconds'),\n \n /**\n * Max requests per window\n */\n maxRequests: z.number().int().default(100).describe('Max requests per window'),\n}));\n\nexport type RateLimitConfig = z.infer<typeof RateLimitConfigSchema>;\n\n// ==========================================\n// Static File Serving\n// ==========================================\n\n/**\n * Static Mount Configuration Schema\n * Configuration for serving static files\n * \n * Used by:\n * - api/router.zod.ts (RouterConfigSchema)\n * - system/http-server.zod.ts (HttpServerConfigSchema)\n * \n * @example\n * {\n * \"path\": \"/static\",\n * \"directory\": \"./public\",\n * \"cacheControl\": \"public, max-age=31536000\"\n * }\n */\nexport const StaticMountSchema = lazySchema(() => z.object({\n /**\n * URL path to serve from\n */\n path: z.string().describe('URL path to serve from'),\n \n /**\n * Physical directory to serve\n */\n directory: z.string().describe('Physical directory to serve'),\n \n /**\n * Cache-Control header value\n */\n cacheControl: z.string().optional().describe('Cache-Control header value'),\n}));\n\nexport type StaticMount = z.infer<typeof StaticMountSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { ExpressionInputSchema } from '../shared/expression.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\nimport { SharingConfigSchema } from './sharing.zod';\nimport { ResponsiveConfigSchema, PerformanceConfigSchema } from './responsive.zod';\nimport { FieldType, SelectOptionSchema } from '../data/field.zod';\n\n/**\n * HTTP Method Enum & HTTP Request Schema\n * Migrated to shared/http.zod.ts. Re-exported here for backward compatibility.\n */\nimport { HttpMethodSchema, HttpRequestSchema } from '../shared/http.zod';\nimport { lazySchema } from '../shared/lazy-schema';\nexport { HttpMethodSchema, HttpRequestSchema };\n\n/**\n * View Data Source Configuration\n * Supports three modes:\n * 1. 'object': Standard Protocol - Auto-connects to ObjectStack Metadata and Data APIs\n * 2. 'api': Custom API - Explicitly provided API URLs\n * 3. 'value': Static Data - Hardcoded data array\n */\nexport const ViewDataSchema = lazySchema(() => z.discriminatedUnion('provider', [\n z.object({\n provider: z.literal('object'),\n object: z.string().describe('Target object name'),\n }),\n z.object({\n provider: z.literal('api'),\n read: HttpRequestSchema.optional().describe('Configuration for fetching data'),\n write: HttpRequestSchema.optional().describe('Configuration for submitting data (for forms/editable tables)'),\n }),\n z.object({\n provider: z.literal('value'),\n items: z.array(z.unknown()).describe('Static data array'),\n }),\n /**\n * Schema-bound data source — used by standalone forms whose data is\n * shaped by a JSON Schema (or Zod-derived schema) rather than by an\n * ObjectQL object. Powers the metadata editor, action input dialogs,\n * and any Form that is not bound to a CRUD object.\n */\n z.object({\n provider: z.literal('schema'),\n /** Schema identifier (e.g. metadata type name \"report\"). Resolved at runtime against /meta entries. */\n schemaId: z.string().describe('Schema identifier — typically the metadata type name'),\n /** Optional inline JSON Schema; when omitted the runtime resolves schemaId from the server. */\n schema: z.record(z.string(), z.unknown()).optional().describe('Inline JSON Schema (Draft 2020-12). Optional when schemaId is resolvable.'),\n }),\n]));\n\n/**\n * View Filter Rule Schema\n * Standardized filter condition used in list views, tabs, and page-level filters.\n * Uses a declarative array-of-objects format: [{ field, operator, value }].\n *\n * @example\n * ```ts\n * filter: [\n * { field: 'status', operator: 'equals', value: 'active' },\n * { field: 'close_date', operator: 'this_quarter' },\n * ]\n * ```\n */\nexport const ViewFilterRuleSchema = lazySchema(() => z.object({\n /** Field name to filter on */\n field: z.string().describe('Field name to filter on'),\n /** Filter operator */\n operator: z.string().describe('Filter operator (e.g. equals, not_equals, contains, this_quarter)'),\n /** Filter value (optional for unary operators like is_null, this_quarter) */\n value: z.union([z.string(), z.number(), z.boolean(), z.null(), z.array(z.union([z.string(), z.number()]))])\n .optional().describe('Filter value'),\n}).describe('View filter rule'));\n\nexport type ViewFilterRule = z.infer<typeof ViewFilterRuleSchema>;\n\n/**\n * Column Summary Function Schema\n * Aggregation function for column footer (Airtable-style column summaries)\n */\nexport const ColumnSummarySchema = lazySchema(() => z.enum([\n 'none',\n 'count',\n 'count_empty',\n 'count_filled',\n 'count_unique',\n 'percent_empty',\n 'percent_filled',\n 'sum',\n 'avg',\n 'min',\n 'max',\n]).describe('Aggregation function for column footer summary'));\n\n/**\n * List Column Configuration Schema\n * Detailed configuration for individual list view columns\n */\nexport const ListColumnSchema = lazySchema(() => z.object({\n field: z.string().describe('Field name (snake_case)'),\n label: I18nLabelSchema.optional().describe('Display label override'),\n width: z.number().positive().optional().describe('Column width in pixels'),\n align: z.enum(['left', 'center', 'right']).optional().describe('Text alignment'),\n hidden: z.boolean().optional().describe('Hide column by default'),\n sortable: z.boolean().optional().describe('Allow sorting by this column'),\n resizable: z.boolean().optional().describe('Allow resizing this column'),\n wrap: z.boolean().optional().describe('Allow text wrapping'),\n type: z.string().optional().describe('Renderer type override (e.g., \"currency\", \"date\")'),\n\n /** Pinning (Airtable-style frozen columns) */\n pinned: z.enum(['left', 'right']).optional().describe('Pin/freeze column to left or right side'),\n\n /** Column Footer Summary (Airtable-style aggregation) */\n summary: ColumnSummarySchema.optional().describe('Footer aggregation function for this column'),\n\n /** Interaction */\n link: z.boolean().optional().describe('Functions as the primary navigation link (triggers View navigation)'),\n action: z.string().optional().describe('Registered Action ID to execute when clicked'),\n}));\n\n/**\n * List View Selection Configuration\n */\nexport const SelectionConfigSchema = lazySchema(() => z.object({\n type: z.enum(['none', 'single', 'multiple']).default('none').describe('Selection mode'),\n}));\n\n/**\n * List View Pagination Configuration\n */\nexport const PaginationConfigSchema = lazySchema(() => z.object({\n pageSize: z.number().int().positive().default(25).describe('Number of records per page'),\n pageSizeOptions: z.array(z.number().int().positive()).optional().describe('Available page size options'),\n}));\n\n/**\n * Row Height / Density Schema (Airtable-style)\n * Controls the visual density of rows in a list view.\n */\nexport const RowHeightSchema = lazySchema(() => z.enum([\n 'compact', // Minimal padding, single line\n 'short', // Reduced padding\n 'medium', // Default padding\n 'tall', // Extra padding, multi-line preview\n 'extra_tall', // Maximum padding, rich content preview\n]).describe('Row height / density setting for list view'));\n\n/**\n * Grouping Field Configuration\n * Defines a single grouping level for record grouping.\n */\nexport const GroupingFieldSchema = lazySchema(() => z.object({\n field: z.string().describe('Field name to group by'),\n order: z.enum(['asc', 'desc']).default('asc').describe('Group sort order'),\n collapsed: z.boolean().default(false).describe('Collapse groups by default'),\n}));\n\n/**\n * Grouping Configuration Schema (Airtable-style)\n * Supports multi-level grouping for grid/gallery views.\n */\nexport const GroupingConfigSchema = lazySchema(() => z.object({\n fields: z.array(GroupingFieldSchema).min(1).describe('Fields to group by (supports up to 3 levels)'),\n}).describe('Record grouping configuration'));\n\n/**\n * Gallery View Configuration (Airtable-style)\n * Configures card layout for gallery/card views.\n */\nexport const GalleryConfigSchema = lazySchema(() => z.object({\n coverField: z.string().optional().describe('Attachment/image field to display as card cover'),\n coverFit: z.enum(['cover', 'contain']).default('cover').describe('Image fit mode for card cover'),\n cardSize: z.enum(['small', 'medium', 'large']).default('medium').describe('Card size in gallery view'),\n titleField: z.string().optional().describe('Field to display as card title'),\n visibleFields: z.array(z.string()).optional().describe('Fields to display on card body'),\n}).describe('Gallery/card view configuration'));\n\n/**\n * Timeline View Configuration (Airtable-style)\n * Configures timeline/chronological views.\n */\nexport const TimelineConfigSchema = lazySchema(() => z.object({\n startDateField: z.string().describe('Field for timeline item start date'),\n endDateField: z.string().optional().describe('Field for timeline item end date'),\n titleField: z.string().describe('Field to display as timeline item title'),\n groupByField: z.string().optional().describe('Field to group timeline rows'),\n colorField: z.string().optional().describe('Field to determine item color'),\n scale: z.enum(['hour', 'day', 'week', 'month', 'quarter', 'year']).default('week').describe('Default timeline scale'),\n}).describe('Timeline view configuration'));\n\n/**\n * View Sharing Configuration (Airtable-style)\n * Defines who can see and modify a view.\n */\nexport const ViewSharingSchema = lazySchema(() => z.object({\n type: z.enum(['personal', 'collaborative']).default('collaborative').describe('View ownership type'),\n lockedBy: z.string().optional().describe('User who locked the view configuration'),\n}).describe('View sharing and access configuration'));\n\n/**\n * Row Color Configuration (Airtable-style)\n * Defines how rows are colored based on field values.\n */\nexport const RowColorConfigSchema = lazySchema(() => z.object({\n field: z.string().describe('Field to derive color from (typically a select/status field)'),\n colors: z.record(z.string(), z.string()).optional().describe('Map of field value to color (hex/token)'),\n}).describe('Row color configuration based on field values'));\n\n/**\n * Visualization Type Schema\n * Whitelist of visualization types the user can switch between.\n * Maps to Airtable's \"Visualizations\" setting in Appearance panel.\n */\nexport const VisualizationTypeSchema = lazySchema(() => z.enum([\n 'grid',\n 'kanban',\n 'gallery',\n 'calendar',\n 'timeline',\n 'gantt',\n 'map',\n]).describe('Visualization type that users can switch to'));\n\n/**\n * User Actions Configuration Schema (Airtable Interface parity)\n * Controls which interactive actions are available to users in the view toolbar.\n * Each boolean toggles the corresponding toolbar element on/off.\n *\n * @see Airtable Interface → \"User actions\" panel\n */\nexport const UserActionsConfigSchema = lazySchema(() => z.object({\n sort: z.boolean().default(true).describe('Allow users to sort records'),\n search: z.boolean().default(true).describe('Allow users to search records'),\n filter: z.boolean().default(true).describe('Allow users to filter records'),\n rowHeight: z.boolean().default(true).describe('Allow users to toggle row height/density'),\n addRecordForm: z.boolean().default(false).describe('Add records through a form instead of inline'),\n buttons: z.array(z.string()).optional().describe('Custom action button IDs to show in the toolbar'),\n}).describe('User action toggles for the view toolbar'));\n\n/**\n * Appearance Configuration Schema (Airtable Interface parity)\n * Controls visual presentation options for the view.\n *\n * @see Airtable Interface → \"Appearance\" panel\n */\nexport const AppearanceConfigSchema = lazySchema(() => z.object({\n showDescription: z.boolean().default(true).describe('Show the view description text'),\n allowedVisualizations: z.array(VisualizationTypeSchema).optional()\n .describe('Whitelist of visualization types users can switch between (e.g. [\"grid\", \"gallery\", \"kanban\"])'),\n}).describe('Appearance and visualization configuration'));\n\n/**\n * View Tab Schema (Airtable Interface parity)\n * Defines a tab in a multi-tab view interface.\n * Each tab references a named list view and can be ordered, pinned, or set as default.\n *\n * @see Airtable Interface → \"Tabs\" panel\n */\nexport const ViewTabSchema = lazySchema(() => z.object({\n name: SnakeCaseIdentifierSchema.describe('Tab identifier (snake_case)'),\n label: I18nLabelSchema.optional().describe('Display label'),\n icon: z.string().optional().describe('Tab icon name'),\n view: z.string().optional().describe('Referenced list view name from listViews'),\n filter: z.array(ViewFilterRuleSchema).optional().describe('Tab-specific filter criteria'),\n order: z.number().int().min(0).optional().describe('Tab display order'),\n pinned: z.boolean().default(false).describe('Pin tab (cannot be removed by users)'),\n isDefault: z.boolean().default(false).describe('Set as the default active tab'),\n visible: z.boolean().default(true).describe('Tab visibility'),\n}).describe('Tab configuration for multi-tab view interface'));\n\n/**\n * Add Record Configuration Schema (Airtable Interface parity)\n * Configures the \"Add Record\" entry point for a list view.\n *\n * @see Airtable Interface → \"+ Add record\" button\n */\nexport const AddRecordConfigSchema = lazySchema(() => z.object({\n enabled: z.boolean().default(true).describe('Show the add record entry point'),\n position: z.enum(['top', 'bottom', 'both']).default('bottom').describe('Position of the add record button'),\n mode: z.enum(['inline', 'form', 'modal']).default('inline').describe('How to add a new record'),\n formView: z.string().optional().describe('Named form view to use when mode is \"form\" or \"modal\"'),\n}).describe('Add record entry point configuration'));\n\n/**\n * Kanban Settings\n */\nexport const KanbanConfigSchema = lazySchema(() => z.object({\n groupByField: z.string().describe('Field to group columns by (usually status/select)'),\n summarizeField: z.string().optional().describe('Field to sum at top of column (e.g. amount)'),\n columns: z.array(z.string()).describe('Fields to show on cards'),\n}));\n\n/**\n * List Chart View Configuration (Airtable-style)\n * Configures aggregate chart visualizations (bar/line/pie/area/scatter)\n * when used as a `type: 'chart'` ListView. Distinct from the full-featured\n * `ChartConfigSchema` in `chart.zod.ts` (which is for embedded reports).\n */\nexport const ListChartConfigSchema = lazySchema(() => z.object({\n chartType: z.enum(['bar', 'line', 'pie', 'area', 'scatter']).default('bar').describe('Chart visualisation type'),\n xAxisField: z.string().describe('Field used as the X axis / category dimension'),\n yAxisFields: z.array(z.string()).min(1).describe('Field(s) used as the Y axis / measures'),\n aggregation: z.enum(['sum', 'avg', 'count', 'min', 'max']).optional().describe('Aggregation function applied to Y axis fields'),\n groupByField: z.string().optional().describe('Optional field used to split / stack the chart'),\n}).describe('List chart view configuration'));\n\n/**\n * Calendar Settings\n */\nexport const CalendarConfigSchema = lazySchema(() => z.object({\n startDateField: z.string(),\n endDateField: z.string().optional(),\n titleField: z.string(),\n colorField: z.string().optional(),\n}));\n\n/**\n * Gantt Settings\n */\nexport const GanttConfigSchema = lazySchema(() => z.object({\n startDateField: z.string(),\n endDateField: z.string(),\n titleField: z.string(),\n progressField: z.string().optional(),\n dependenciesField: z.string().optional(),\n}));\n\n/**\n * Navigation Mode Enum\n * Defines how to navigate to the detail view from a list item.\n */\nexport const NavigationModeSchema = lazySchema(() => z.enum([\n 'page', // Navigate to a new route (default)\n 'drawer', // Open details in a side drawer/panel\n 'modal', // Open details in a modal dialog\n 'split', // Show details side-by-side with the list (master-detail)\n 'popover', // Show details in a popover (lightweight)\n 'new_window', // Open in new browser tab/window\n 'none' // No navigation (read-only list)\n]));\n\n/**\n * Navigation Configuration Schema\n */\nexport const NavigationConfigSchema = lazySchema(() => z.object({\n mode: NavigationModeSchema.default('page'),\n \n /** Target View Config */\n view: z.string().optional().describe('Name of the form view to use for details (e.g. \"summary_view\", \"edit_form\")'),\n \n /** Interaction Triggers */\n preventNavigation: z.boolean().default(false).describe('Disable standard navigation entirely'),\n openNewTab: z.boolean().default(false).describe('Force open in new tab (applies to page mode)'),\n \n /** Dimensions (for modal/drawer) */\n width: z.union([z.string(), z.number()]).optional().describe('Width of the drawer/modal (e.g. \"600px\", \"50%\")'),\n}));\n\n/**\n * List View Schema (Expanded)\n * Defines how a collection of records is displayed to the user.\n * \n * **NAMING CONVENTION:**\n * View names (when provided) are machine identifiers and must be lowercase snake_case.\n * \n * @example Standard Grid\n * {\n * name: \"all_active\",\n * label: \"All Active\",\n * type: \"grid\",\n * columns: [\"name\", \"status\", \"created_at\"],\n * filter: [[\"status\", \"=\", \"active\"]]\n * }\n * \n * @example Kanban Board\n * {\n * type: \"kanban\",\n * columns: [\"name\", \"amount\"],\n * kanban: {\n * groupByField: \"stage\",\n * summarizeField: \"amount\",\n * columns: [\"name\", \"close_date\"]\n * }\n * }\n */\nexport const ListViewSchema = lazySchema(() => z.object({\n name: SnakeCaseIdentifierSchema.optional().describe('Internal view name (lowercase snake_case)'),\n label: I18nLabelSchema.optional(), // Display label override (supports i18n)\n type: z.enum([\n 'grid', // Standard Data Table\n 'kanban', // Board / Columns\n 'gallery', // Card Deck / Masonry\n 'calendar', // Monthly/Weekly/Daily\n 'timeline', // Chronological Stream (Feed)\n 'gantt', // Project Timeline\n 'map', // Geospatial\n 'chart' // Aggregate visualisation\n ]).default('grid'),\n \n /** Data Source Configuration */\n data: ViewDataSchema.optional().describe('Data source configuration (defaults to \"object\" provider)'),\n \n /** Shared Query Config */\n columns: z.union([\n z.array(z.string()), // Legacy: simple field names\n z.array(ListColumnSchema), // Enhanced: detailed column config\n ]).describe('Fields to display as columns'),\n filter: z.array(ViewFilterRuleSchema).optional().describe('Filter criteria (JSON Rules)'),\n sort: z.union([\n z.string(), //Legacy \"field desc\"\n z.array(z.object({\n field: z.string(),\n order: z.enum(['asc', 'desc'])\n }))\n ]).optional(),\n \n /** Search & Filter */\n searchableFields: z.array(z.string()).optional().describe('Fields enabled for search'),\n filterableFields: z.array(z.string()).optional().describe('Fields enabled for end-user filtering in the top bar'),\n\n /** Grid Features */\n resizable: z.boolean().optional().describe('Enable column resizing'),\n striped: z.boolean().optional().describe('Striped row styling'),\n bordered: z.boolean().optional().describe('Show borders'),\n compactToolbar: z.boolean().optional().describe('Collapse Group/Color/Density/Hide-fields into a single View settings popover'),\n\n /** Selection */\n selection: SelectionConfigSchema.optional().describe('Row selection configuration'),\n\n /** Navigation / Interaction */\n navigation: NavigationConfigSchema.optional().describe('Configuration for item click navigation (page, drawer, modal, etc.)'),\n\n /** Pagination */\n pagination: PaginationConfigSchema.optional().describe('Pagination configuration'),\n\n /** Type Specific Config */\n kanban: KanbanConfigSchema.optional(),\n calendar: CalendarConfigSchema.optional(),\n gantt: GanttConfigSchema.optional(),\n gallery: GalleryConfigSchema.optional(),\n timeline: TimelineConfigSchema.optional(),\n chart: ListChartConfigSchema.optional(),\n\n /** View Metadata (Airtable-style view management) */\n description: I18nLabelSchema.optional().describe('View description for documentation/tooltips'),\n sharing: ViewSharingSchema.optional().describe('View sharing and access configuration'),\n\n /** Row Height / Density (Airtable-style) */\n rowHeight: RowHeightSchema.optional().describe('Row height / density setting'),\n\n /** Record Grouping (Airtable-style) */\n grouping: GroupingConfigSchema.optional().describe('Group records by one or more fields'),\n\n /** Row Color (Airtable-style) */\n rowColor: RowColorConfigSchema.optional().describe('Color rows based on field value'),\n\n /** Field Visibility & Ordering per View (Airtable-style) */\n hiddenFields: z.array(z.string()).optional().describe('Fields to hide in this specific view'),\n fieldOrder: z.array(z.string()).optional().describe('Explicit field display order for this view'),\n\n /** Row & Bulk Actions */\n rowActions: z.array(z.string()).optional().describe('Actions available for individual row items'),\n bulkActions: z.array(z.string()).optional().describe('Actions available when multiple rows are selected'),\n bulkActionDefs: z.array(z.record(z.string(), z.any())).optional().describe('Rich bulk action definitions (schema-driven, executed via BulkActionDialog)'),\n\n /** Performance */\n virtualScroll: z.boolean().optional().describe('Enable virtual scrolling for large datasets'),\n\n /** Conditional Formatting */\n conditionalFormatting: z.array(z.object({\n condition: ExpressionInputSchema.describe('Predicate (CEL) to evaluate.'),\n style: z.record(z.string(), z.string()).describe('CSS styles to apply when condition is true'),\n })).optional().describe('Conditional formatting rules for list rows'),\n\n /** Inline Edit */\n inlineEdit: z.boolean().optional().describe('Allow inline editing of records directly in the list view'),\n\n /** Export */\n exportOptions: z.array(z.enum(['csv', 'xlsx', 'pdf', 'json'])).optional().describe('Available export format options'),\n\n /** User Actions (Airtable Interface parity) */\n userActions: UserActionsConfigSchema.optional().describe('User action toggles for the view toolbar'),\n\n /** Appearance (Airtable Interface parity) */\n appearance: AppearanceConfigSchema.optional().describe('Appearance and visualization configuration'),\n\n /** Tabs (Airtable Interface parity) */\n tabs: z.array(ViewTabSchema).optional().describe('Tab definitions for multi-tab view interface'),\n\n /** Add Record (Airtable Interface parity) */\n addRecord: AddRecordConfigSchema.optional().describe('Add record entry point configuration'),\n\n /** Record Count Display (Airtable Interface parity) */\n showRecordCount: z.boolean().optional().describe('Show record count at the bottom of the list'),\n\n /** Advanced: Allow Printing (Airtable Interface parity) */\n allowPrinting: z.boolean().optional().describe('Allow users to print the view'),\n\n /** Empty State */\n emptyState: z.object({\n title: I18nLabelSchema.optional(),\n message: I18nLabelSchema.optional(),\n icon: z.string().optional(),\n }).optional().describe('Empty state configuration when no records found'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes for the list view'),\n\n /** Responsive layout overrides per breakpoint */\n responsive: ResponsiveConfigSchema.optional().describe('Responsive layout configuration'),\n\n /** Performance optimization settings */\n performance: PerformanceConfigSchema.optional().describe('Performance optimization settings'),\n}));\n\n/**\n * Form Field Configuration Schema\n * Detailed configuration for individual form fields.\n * \n * Reuses Data.FieldType and related constraints from the Data protocol to avoid duplication.\n * The `type` field auto-infers widget rendering; explicit `widget` overrides are only needed\n * for custom components.\n * \n * @example Auto-inferred select widget\n * { field: 'status', type: 'select', options: [{ label: 'Open', value: 'open' }] }\n * \n * @example Lookup field with reference\n * { field: 'account_id', type: 'lookup', reference: 'account', label: 'Account' }\n * \n * @example Custom widget override\n * { field: 'filter', widget: 'filter-builder' }\n */\nexport const FormFieldSchema: z.ZodType<any> = lazySchema(() => z.object({\n /** Field name (snake_case) */\n field: z.string().describe('Field name (snake_case)'),\n \n /** Field type — reuses Data.FieldType. When set, widget is auto-inferred (can be overridden). */\n type: FieldType.optional().describe('Field type (auto-infers widget if omitted)'),\n \n /** Select/multiselect options — only needed when type=select/multiselect/radio/checkboxes */\n options: z.array(SelectOptionSchema).optional().describe('Options for select/multiselect/radio/checkboxes fields'),\n \n /** Reference object for lookup/master_detail fields */\n reference: z.string().optional().describe('Target object name for lookup/master_detail fields'),\n \n /** Text constraints */\n maxLength: z.number().optional().describe('Maximum character length (for text/textarea/email/url/phone)'),\n minLength: z.number().optional().describe('Minimum character length'),\n \n /** Number constraints */\n min: z.number().optional().describe('Minimum value (for number/currency/percent/slider)'),\n max: z.number().optional().describe('Maximum value'),\n precision: z.number().optional().describe('Total digits (for number/currency)'),\n scale: z.number().optional().describe('Decimal places'),\n \n /** Multi-value flag */\n multiple: z.boolean().optional().describe('Allow multiple values (for select/lookup/file/image)'),\n \n /** UI overrides */\n label: I18nLabelSchema.optional().describe('Display label override'),\n placeholder: I18nLabelSchema.optional().describe('Placeholder text'),\n helpText: I18nLabelSchema.optional().describe('Help/hint text'),\n readonly: z.boolean().optional().describe('Read-only override'),\n immutable: z.boolean().optional().describe('Editable on create, locked once the record exists (e.g. machine names).'),\n required: z.boolean().optional().describe('Required override'),\n hidden: z.boolean().optional().describe('Hidden override'),\n colSpan: z.number().int().min(1).max(4).optional().describe('Column span in grid layout (1-4)'),\n \n /** Custom widget override — only needed when auto-inference is insufficient */\n widget: z.string().optional().describe('Custom widget/component name (overrides type-based inference)'),\n\n /** For `code` fields: source language (e.g. 'javascript', 'sql', 'json', 'typescript', 'expression', 'cel'). Drives syntax highlighting. */\n language: z.string().optional().describe('Code editor language (for type=code)'),\n\n /**\n * Sub-fields for `composite` / `repeater` types — declares the inner shape\n * of an embedded sub-object (composite) or each row of an embedded\n * sub-object array (repeater). Recursive: composite/repeater can nest.\n * Ignored for all other field types.\n *\n * Use `lookup` / `master_detail` instead when the children are independent\n * records with their own IDs in a separate object/table.\n */\n fields: z.array(z.lazy(() => FormFieldSchema)).optional()\n .describe('Sub-fields for composite/repeater types'),\n\n dependsOn: z.string().optional().describe('Parent field name for cascading'),\n visibleOn: ExpressionInputSchema.optional().describe('Visibility predicate (CEL).'),\n}));\n\n/**\n * Form Layout Section\n */\nexport const FormSectionSchema = lazySchema(() => z.object({\n label: I18nLabelSchema.optional(),\n description: z.string().optional().describe('Optional description rendered under the section header.'),\n collapsible: z.boolean().default(false),\n collapsed: z.boolean().default(false),\n visibleOn: ExpressionInputSchema.optional().describe('Visibility predicate (CEL). Hides the whole section when false.'),\n columns: z.union([\n z.enum(['1', '2', '3', '4']),\n z.literal(1),\n z.literal(2),\n z.literal(3),\n z.literal(4),\n ]).default(1).transform(val => (typeof val === 'string' ? parseInt(val) : val) as 1 | 2 | 3 | 4),\n fields: z.array(z.union([\n z.string(), // Legacy: simple field name\n FormFieldSchema, // Enhanced: detailed field config\n ])),\n}));\n\n/**\n * Form View Schema\n * Defines the layout for creating or editing a single record.\n * \n * @example Simple Sectioned Form\n * {\n * type: \"simple\",\n * sections: [\n * {\n * label: \"General Info\",\n * columns: 2,\n * fields: [\"name\", \"status\"]\n * },\n * {\n * label: \"Details\",\n * fields: [\"description\", { field: \"priority\", widget: \"rating\" }]\n * }\n * ]\n * }\n */\nexport const FormViewSchema = lazySchema(() => z.object({\n type: z.enum([\n 'simple', // Single column or sections\n 'tabbed', // Tabs\n 'wizard', // Step by step\n 'split', // Master-Detail split\n 'drawer', // Side panel\n 'modal' // Dialog\n ]).default('simple'),\n \n /** Data Source Configuration */\n data: ViewDataSchema.optional().describe('Data source configuration (defaults to \"object\" provider)'),\n \n sections: z.array(FormSectionSchema).optional(), // For simple layout\n groups: z.array(FormSectionSchema).optional(), // Legacy support -> alias to sections\n\n /** Default Sort for Related Lists (e.g., sort child records by date) */\n defaultSort: z.array(z.object({\n field: z.string().describe('Field name to sort by'),\n order: z.enum(['asc', 'desc']).default('desc').describe('Sort direction'),\n })).optional().describe('Default sort order for related list views within this form'),\n\n /** Public form sharing configuration */\n sharing: SharingConfigSchema.optional().describe('Public sharing configuration for this form'),\n\n /**\n * What happens after a successful submit.\n *\n * - `thank-you` (default) — show a confirmation panel\n * - `redirect` — send the browser to a URL\n * - `continue` — reset the form so another response can be entered\n * - `next-record` — advance to the next record (internal queues only)\n */\n submitBehavior: z.union([\n z.object({\n kind: z.literal('thank-you'),\n title: z.string().optional(),\n message: z.string().optional(),\n }),\n z.object({\n kind: z.literal('redirect'),\n url: z.string(),\n delayMs: z.number().int().min(0).optional(),\n }),\n z.object({ kind: z.literal('continue') }),\n z.object({ kind: z.literal('next-record') }),\n ]).optional().describe('Post-submit behavior'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes for the form view'),\n}));\n\n/**\n * Master View Schema\n * Can define multiple named views.\n */\n/**\n * View Container Schema\n * Aggregates all view definitions for a specific object or context.\n * \n * @example\n * {\n * list: { type: \"grid\", columns: [\"name\"] },\n * form: { type: \"simple\", fields: [\"name\"] },\n * listViews: {\n * \"all\": { label: \"All\", filter: [] },\n * \"my\": { label: \"Mine\", filter: [[\"owner\", \"=\", \"{user_id}\"]] }\n * }\n * }\n */\nexport const ViewSchema = lazySchema(() => z.object({\n list: ListViewSchema.optional(), // Default list view\n form: FormViewSchema.optional(), // Default form view\n listViews: z.record(z.string(), ListViewSchema).optional().describe('Additional named list views'),\n formViews: z.record(z.string(), FormViewSchema).optional().describe('Additional named form views'),\n}));\n\n/**\n * Type-safe factory for creating view definitions.\n *\n * Validates the config at creation time using Zod `.parse()`.\n *\n * @example\n * ```ts\n * const taskViews = defineView({\n * list: {\n * type: 'grid',\n * data: { provider: 'object', object: 'task' },\n * columns: ['subject', 'status', 'priority', 'due_date'],\n * },\n * form: {\n * type: 'simple',\n * sections: [{ label: 'Details', fields: [{ field: 'subject' }] }],\n * },\n * });\n * ```\n */\nexport function defineView(config: z.input<typeof ViewSchema>): View {\n return ViewSchema.parse(config);\n}\n\n/**\n * Type-safe factory for a standalone {@link FormView} bound to a JSON Schema\n * rather than to an ObjectQL object.\n *\n * Use this for forms that edit **metadata** (e.g. `report.form.ts`,\n * `dashboard.form.ts`), **action inputs**, or **flow screens** — anywhere the\n * data shape is described by a Zod-derived JSON Schema instead of an Object\n * field set.\n *\n * The returned FormView is validated at definition time; the runtime form\n * renderer (`@object-ui/plugin-form`) inspects `data.provider === 'schema'`\n * and pulls field metadata from the resolved JSON Schema instead of from\n * ObjectQL.\n *\n * @example\n * ```ts\n * export const reportForm = defineForm({\n * schemaId: 'report',\n * type: 'tabbed',\n * sections: [\n * { label: 'Basics', columns: 2, fields: [\n * { field: 'name' },\n * { field: 'label' },\n * { field: 'objectName', widget: 'ref:object' },\n * { field: 'type' },\n * ]},\n * { label: 'Columns', fields: [{ field: 'columns', widget: 'master-detail' }] },\n * { label: 'Advanced', collapsible: true, collapsed: true, fields: [\n * { field: 'filter', widget: 'filter-builder' },\n * { field: 'chart', widget: 'chart-config' },\n * ]},\n * ],\n * });\n * ```\n */\nexport function defineForm(\n config: Omit<z.input<typeof FormViewSchema>, 'data'> & { schemaId: string },\n): FormView {\n const { schemaId, ...rest } = config;\n return FormViewSchema.parse({\n ...rest,\n data: { provider: 'schema', schemaId },\n });\n}\n\nexport type View = z.infer<typeof ViewSchema>;\nexport type ListView = z.infer<typeof ListViewSchema>;\nexport type FormView = z.infer<typeof FormViewSchema>;\nexport type FormSection = z.infer<typeof FormSectionSchema>;\nexport type ListColumn = z.infer<typeof ListColumnSchema>;\nexport type FormField = z.infer<typeof FormFieldSchema>;\nexport type SelectionConfig = z.infer<typeof SelectionConfigSchema>;\nexport type NavigationConfig = z.infer<typeof NavigationConfigSchema>;\nexport type PaginationConfig = z.infer<typeof PaginationConfigSchema>;\nexport type ViewData = z.infer<typeof ViewDataSchema>;\nexport type HttpRequest = z.infer<typeof HttpRequestSchema>;\nexport type HttpMethod = z.infer<typeof HttpMethodSchema>;\nexport type ColumnSummary = z.infer<typeof ColumnSummarySchema>;\nexport type RowHeight = z.infer<typeof RowHeightSchema>;\nexport type GroupingConfig = z.infer<typeof GroupingConfigSchema>;\nexport type GalleryConfig = z.infer<typeof GalleryConfigSchema>;\nexport type TimelineConfig = z.infer<typeof TimelineConfigSchema>;\nexport type ListChartConfig = z.infer<typeof ListChartConfigSchema>;\nexport type ViewSharing = z.infer<typeof ViewSharingSchema>;\nexport type RowColorConfig = z.infer<typeof RowColorConfigSchema>;\nexport type VisualizationType = z.infer<typeof VisualizationTypeSchema>;\nexport type UserActionsConfig = z.infer<typeof UserActionsConfigSchema>;\nexport type AppearanceConfig = z.infer<typeof AppearanceConfigSchema>;\nexport type ViewTab = z.infer<typeof ViewTabSchema>;\nexport type AddRecordConfig = z.infer<typeof AddRecordConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { defineForm } from '../ui/view.zod';\n\n/**\n * Role — canonical FormView layout.\n *\n * Roles are simple: name, label, optional parent, optional description.\n * Single section is enough — we still use a FormView so the editor\n * picks up the friendly labels and required markers.\n */\nexport const roleForm = defineForm({\n schemaId: 'role',\n type: 'simple',\n sections: [\n {\n label: 'Role',\n description:\n 'Roles compose a hierarchy used for record sharing (sales VP → sales mgr → sales rep). Permissions themselves live on Permission Sets and Profiles.',\n columns: 2,\n fields: [\n { field: 'name', required: true, helpText: 'snake_case' },\n { field: 'label', required: true },\n {\n field: 'parent',\n helpText: 'Parent role machine name (Reports To)',\n colSpan: 2,\n },\n { field: 'description', colSpan: 2 },\n ],\n },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Organization Schema (Multi-Tenant Architecture)\n * \n * Defines the standard organization/workspace model for ObjectStack.\n * Supports B2B SaaS scenarios where users belong to multiple teams/workspaces.\n * \n * This aligns with better-auth's organization plugin capabilities.\n */\n\n/**\n * Organization Schema\n * Represents a team, workspace, or tenant in a multi-tenant application\n */\nimport { lazySchema } from '../shared/lazy-schema';\nexport const OrganizationSchema = lazySchema(() => z.object({\n /**\n * Unique organization identifier\n */\n id: z.string().describe('Unique organization identifier'),\n \n /**\n * Organization name (display name)\n */\n name: z.string().describe('Organization display name'),\n \n /**\n * Organization slug (URL-friendly identifier)\n * Must be unique across all organizations\n */\n slug: z.string()\n .regex(/^[a-z0-9_-]+$/)\n .describe('Unique URL-friendly slug (lowercase alphanumeric, hyphens, underscores)'),\n \n /**\n * Organization logo URL\n */\n logo: z.string().url().optional().describe('Organization logo URL'),\n \n /**\n * Custom metadata for the organization\n * Can store additional configuration, settings, or custom fields\n */\n metadata: z.record(z.string(), z.unknown()).optional().describe('Custom metadata'),\n \n /**\n * Organization creation timestamp\n */\n createdAt: z.string().datetime().describe('Organization creation timestamp'),\n \n /**\n * Last update timestamp\n */\n updatedAt: z.string().datetime().describe('Last update timestamp'),\n}));\n\nexport type Organization = z.infer<typeof OrganizationSchema>;\n\n/**\n * Organization Member Schema\n * Links users to organizations with specific roles\n */\nexport const MemberSchema = lazySchema(() => z.object({\n /**\n * Unique member identifier\n */\n id: z.string().describe('Unique member identifier'),\n \n /**\n * Organization ID this membership belongs to\n */\n organizationId: z.string().describe('Organization ID'),\n \n /**\n * User ID of the member\n */\n userId: z.string().describe('User ID'),\n \n /**\n * Member's role within the organization\n * Common roles: 'owner', 'admin', 'member', 'guest'\n * Can be customized per application\n */\n role: z.string().describe('Member role (e.g., owner, admin, member, guest)'),\n \n /**\n * Member creation timestamp\n */\n createdAt: z.string().datetime().describe('Member creation timestamp'),\n \n /**\n * Last update timestamp\n */\n updatedAt: z.string().datetime().describe('Last update timestamp'),\n}));\n\nexport type Member = z.infer<typeof MemberSchema>;\n\n/**\n * Invitation Status Enum\n */\nexport const InvitationStatus = z.enum(['pending', 'accepted', 'rejected', 'expired']);\n\nexport type InvitationStatus = z.infer<typeof InvitationStatus>;\n\n/**\n * Organization Invitation Schema\n * Represents an invitation to join an organization\n */\nexport const InvitationSchema = lazySchema(() => z.object({\n /**\n * Unique invitation identifier\n */\n id: z.string().describe('Unique invitation identifier'),\n \n /**\n * Organization ID the invitation is for\n */\n organizationId: z.string().describe('Organization ID'),\n \n /**\n * Email address of the invitee\n */\n email: z.string().email().describe('Invitee email address'),\n \n /**\n * Role the invitee will receive upon accepting\n * Common roles: 'admin', 'member', 'guest'\n */\n role: z.string().describe('Role to assign upon acceptance'),\n \n /**\n * Invitation status\n */\n status: InvitationStatus.default('pending').describe('Invitation status'),\n \n /**\n * Invitation expiration timestamp\n */\n expiresAt: z.string().datetime().describe('Invitation expiry timestamp'),\n \n /**\n * User ID of the person who sent the invitation\n */\n inviterId: z.string().describe('User ID of the inviter'),\n \n /**\n * Invitation creation timestamp\n */\n createdAt: z.string().datetime().describe('Invitation creation timestamp'),\n \n /**\n * Last update timestamp\n */\n updatedAt: z.string().datetime().describe('Last update timestamp'),\n}));\n\nexport type Invitation = z.infer<typeof InvitationSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # SCIM 2.0 Protocol Implementation\n * \n * System for Cross-domain Identity Management (SCIM) 2.0 specification\n * implementation for ObjectStack.\n * \n * ## Overview\n * \n * SCIM 2.0 is an HTTP-based protocol for managing user and group identities\n * across domains. It provides a standardized REST API for user provisioning,\n * de-provisioning, and synchronization.\n * \n * ## Use Cases\n * \n * 1. **Enterprise SSO Integration**\n * - Integrate with Okta, Azure AD, OneLogin\n * - Automatic user provisioning from corporate directory\n * - Just-in-Time (JIT) user creation on first login\n * \n * 2. **User Lifecycle Management**\n * - Automatically create users when they join organization\n * - Update user attributes when they change roles\n * - Deactivate users when they leave organization\n * \n * 3. **Group/Department Synchronization**\n * - Sync organizational structure from AD/LDAP\n * - Maintain group memberships automatically\n * - Map corporate roles to application permissions\n * \n * 4. **Compliance & Audit**\n * - Maintain accurate user directory\n * - Track all identity changes\n * - Meet SOX/HIPAA requirements for user management\n * \n * ## Specification References\n * \n * - **RFC 7643**: SCIM Core Schema\n * - **RFC 7644**: SCIM Protocol\n * - **RFC 7642**: SCIM Requirements\n * \n * ## Industry Implementations\n * \n * - **Okta**: Leading SCIM provider\n * - **Azure AD**: Microsoft's identity platform\n * - **OneLogin**: Enterprise SSO provider\n * - **Google Workspace**: Google's identity management\n * \n * @see https://datatracker.ietf.org/doc/html/rfc7643\n * @see https://datatracker.ietf.org/doc/html/rfc7644\n */\n\n/**\n * SCIM Schema URIs\n * Standard schema identifiers defined in RFC 7643\n */\nimport { lazySchema } from '../shared/lazy-schema';\nexport const SCIM_SCHEMAS = {\n USER: 'urn:ietf:params:scim:schemas:core:2.0:User',\n GROUP: 'urn:ietf:params:scim:schemas:core:2.0:Group',\n ENTERPRISE_USER: 'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User',\n RESOURCE_TYPE: 'urn:ietf:params:scim:schemas:core:2.0:ResourceType',\n SERVICE_PROVIDER_CONFIG: 'urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig',\n SCHEMA: 'urn:ietf:params:scim:schemas:core:2.0:Schema',\n LIST_RESPONSE: 'urn:ietf:params:scim:api:messages:2.0:ListResponse',\n PATCH_OP: 'urn:ietf:params:scim:api:messages:2.0:PatchOp',\n BULK_REQUEST: 'urn:ietf:params:scim:api:messages:2.0:BulkRequest',\n BULK_RESPONSE: 'urn:ietf:params:scim:api:messages:2.0:BulkResponse',\n ERROR: 'urn:ietf:params:scim:api:messages:2.0:Error',\n} as const;\n\n/**\n * SCIM Meta Schema\n * Common metadata for all SCIM resources\n */\nexport const SCIMMetaSchema = lazySchema(() => z.object({\n /**\n * Resource type name\n * @example \"User\", \"Group\"\n */\n resourceType: z.string()\n .optional()\n .describe('Resource type'),\n\n /**\n * Resource creation timestamp (ISO 8601)\n */\n created: z.string()\n .datetime()\n .optional()\n .describe('Creation timestamp'),\n\n /**\n * Last modification timestamp (ISO 8601)\n */\n lastModified: z.string()\n .datetime()\n .optional()\n .describe('Last modification timestamp'),\n\n /**\n * Resource location URI\n * Absolute URL to the resource\n */\n location: z.string()\n .url()\n .optional()\n .describe('Resource location URI'),\n\n /**\n * Entity tag for optimistic concurrency control\n * Used with If-Match header for conditional updates\n */\n version: z.string()\n .optional()\n .describe('Entity tag (ETag) for concurrency control'),\n}));\n\nexport type SCIMMeta = z.infer<typeof SCIMMetaSchema>;\n\n/**\n * SCIM Name Schema\n * Structured name components\n */\nexport const SCIMNameSchema = lazySchema(() => z.object({\n /**\n * Full name formatted for display\n * @example \"Ms. Barbara Jane Jensen III\"\n */\n formatted: z.string()\n .optional()\n .describe('Formatted full name'),\n\n /**\n * Family name (surname)\n * @example \"Jensen\"\n */\n familyName: z.string()\n .optional()\n .describe('Family name (last name)'),\n\n /**\n * Given name (first name)\n * @example \"Barbara\"\n */\n givenName: z.string()\n .optional()\n .describe('Given name (first name)'),\n\n /**\n * Middle name\n * @example \"Jane\"\n */\n middleName: z.string()\n .optional()\n .describe('Middle name'),\n\n /**\n * Honorific prefix\n * @example \"Ms.\", \"Dr.\", \"Prof.\"\n */\n honorificPrefix: z.string()\n .optional()\n .describe('Honorific prefix (Mr., Ms., Dr.)'),\n\n /**\n * Honorific suffix\n * @example \"III\", \"Jr.\", \"Sr.\"\n */\n honorificSuffix: z.string()\n .optional()\n .describe('Honorific suffix (Jr., Sr.)'),\n}));\n\nexport type SCIMName = z.infer<typeof SCIMNameSchema>;\n\n/**\n * SCIM Email Schema\n * Multi-valued email address\n */\nexport const SCIMEmailSchema = lazySchema(() => z.object({\n /**\n * Email address value\n */\n value: z.string()\n .email()\n .describe('Email address'),\n\n /**\n * Email type\n * @example \"work\", \"home\", \"other\"\n */\n type: z.enum(['work', 'home', 'other'])\n .optional()\n .describe('Email type'),\n\n /**\n * Display label for the email\n */\n display: z.string()\n .optional()\n .describe('Display label'),\n\n /**\n * Whether this is the primary email\n */\n primary: z.boolean()\n .optional()\n .default(false)\n .describe('Primary email indicator'),\n}));\n\nexport type SCIMEmail = z.infer<typeof SCIMEmailSchema>;\n\n/**\n * SCIM Phone Number Schema\n * Multi-valued phone number\n */\nexport const SCIMPhoneNumberSchema = lazySchema(() => z.object({\n /**\n * Phone number value\n * Format is not enforced to support international numbers\n */\n value: z.string()\n .describe('Phone number'),\n\n /**\n * Phone type\n */\n type: z.enum(['work', 'home', 'mobile', 'fax', 'pager', 'other'])\n .optional()\n .describe('Phone number type'),\n\n /**\n * Display label for the phone number\n */\n display: z.string()\n .optional()\n .describe('Display label'),\n\n /**\n * Whether this is the primary phone\n */\n primary: z.boolean()\n .optional()\n .default(false)\n .describe('Primary phone indicator'),\n}));\n\nexport type SCIMPhoneNumber = z.infer<typeof SCIMPhoneNumberSchema>;\n\n/**\n * SCIM Address Schema\n * Multi-valued physical mailing address\n */\nexport const SCIMAddressSchema = lazySchema(() => z.object({\n /**\n * Full mailing address formatted for display\n */\n formatted: z.string()\n .optional()\n .describe('Formatted address'),\n\n /**\n * Full street address\n */\n streetAddress: z.string()\n .optional()\n .describe('Street address'),\n\n /**\n * City or locality\n */\n locality: z.string()\n .optional()\n .describe('City/Locality'),\n\n /**\n * State or region\n */\n region: z.string()\n .optional()\n .describe('State/Region'),\n\n /**\n * Zip code or postal code\n */\n postalCode: z.string()\n .optional()\n .describe('Postal code'),\n\n /**\n * Country\n */\n country: z.string()\n .optional()\n .describe('Country'),\n\n /**\n * Address type\n */\n type: z.enum(['work', 'home', 'other'])\n .optional()\n .describe('Address type'),\n\n /**\n * Whether this is the primary address\n */\n primary: z.boolean()\n .optional()\n .default(false)\n .describe('Primary address indicator'),\n}));\n\nexport type SCIMAddress = z.infer<typeof SCIMAddressSchema>;\n\n/**\n * SCIM Group Reference\n * Reference to a group the user belongs to\n */\nexport const SCIMGroupReferenceSchema = lazySchema(() => z.object({\n /**\n * Group identifier\n */\n value: z.string()\n .describe('Group ID'),\n\n /**\n * Direct reference to the group resource\n */\n $ref: z.string()\n .url()\n .optional()\n .describe('URI reference to the group'),\n\n /**\n * Human-readable group name\n */\n display: z.string()\n .optional()\n .describe('Group display name'),\n\n /**\n * Type of group\n */\n type: z.enum(['direct', 'indirect'])\n .optional()\n .describe('Membership type'),\n}));\n\nexport type SCIMGroupReference = z.infer<typeof SCIMGroupReferenceSchema>;\n\n/**\n * SCIM Enterprise User Extension\n * Enterprise-specific user attributes\n */\nexport const SCIMEnterpriseUserSchema = lazySchema(() => z.object({\n /**\n * Employee number\n */\n employeeNumber: z.string()\n .optional()\n .describe('Employee number'),\n\n /**\n * Cost center\n */\n costCenter: z.string()\n .optional()\n .describe('Cost center'),\n\n /**\n * Organization unit\n */\n organization: z.string()\n .optional()\n .describe('Organization'),\n\n /**\n * Division\n */\n division: z.string()\n .optional()\n .describe('Division'),\n\n /**\n * Department\n */\n department: z.string()\n .optional()\n .describe('Department'),\n\n /**\n * Manager reference\n */\n manager: z.object({\n value: z.string().describe('Manager ID'),\n $ref: z.string().url().optional().describe('Manager URI'),\n displayName: z.string().optional().describe('Manager name'),\n })\n .optional()\n .describe('Manager reference'),\n}));\n\nexport type SCIMEnterpriseUser = z.infer<typeof SCIMEnterpriseUserSchema>;\n\n/**\n * SCIM User Schema (Core)\n * Complete SCIM 2.0 User resource\n */\nexport const SCIMUserSchema = lazySchema(() => z.object({\n /**\n * SCIM schema URIs\n * Must include at minimum the core User schema URI\n */\n schemas: z.array(z.string())\n .min(1)\n .refine(\n (schemas) => schemas.includes(SCIM_SCHEMAS.USER),\n 'Must include core User schema URI'\n )\n .default([SCIM_SCHEMAS.USER])\n .describe('SCIM schema URIs (must include User schema)'),\n\n /**\n * Unique identifier\n */\n id: z.string()\n .optional()\n .describe('Unique resource identifier'),\n\n /**\n * External identifier\n * Identifier from the provisioning client\n */\n externalId: z.string()\n .optional()\n .describe('External identifier from client system'),\n\n /**\n * Unique username\n * REQUIRED for user creation\n */\n userName: z.string()\n .describe('Unique username (REQUIRED)'),\n\n /**\n * Structured name\n */\n name: SCIMNameSchema\n .optional()\n .describe('Structured name components'),\n\n /**\n * Display name\n */\n displayName: z.string()\n .optional()\n .describe('Display name for UI'),\n\n /**\n * Nickname or casual name\n */\n nickName: z.string()\n .optional()\n .describe('Nickname'),\n\n /**\n * Profile URL\n */\n profileUrl: z.string()\n .url()\n .optional()\n .describe('Profile page URL'),\n\n /**\n * Job title\n */\n title: z.string()\n .optional()\n .describe('Job title'),\n\n /**\n * User type (employee, contractor, etc.)\n */\n userType: z.string()\n .optional()\n .describe('User type (employee, contractor)'),\n\n /**\n * Preferred language (ISO 639-1)\n */\n preferredLanguage: z.string()\n .optional()\n .describe('Preferred language (ISO 639-1)'),\n\n /**\n * Locale (e.g., en-US)\n */\n locale: z.string()\n .optional()\n .describe('Locale (e.g., en-US)'),\n\n /**\n * Timezone (e.g., America/Los_Angeles)\n */\n timezone: z.string()\n .optional()\n .describe('Timezone'),\n\n /**\n * Account active status\n */\n active: z.boolean()\n .optional()\n .default(true)\n .describe('Account active status'),\n\n /**\n * Password (write-only, never returned)\n */\n password: z.string()\n .optional()\n .describe('Password (write-only)'),\n\n /**\n * Email addresses (multi-valued)\n */\n emails: z.array(SCIMEmailSchema)\n .optional()\n .describe('Email addresses'),\n\n /**\n * Phone numbers (multi-valued)\n */\n phoneNumbers: z.array(SCIMPhoneNumberSchema)\n .optional()\n .describe('Phone numbers'),\n\n /**\n * Instant messaging addresses\n */\n ims: z.array(z.object({\n value: z.string(),\n type: z.string().optional(),\n primary: z.boolean().optional(),\n }))\n .optional()\n .describe('IM addresses'),\n\n /**\n * Photos (profile pictures)\n */\n photos: z.array(z.object({\n value: z.string().url(),\n type: z.enum(['photo', 'thumbnail']).optional(),\n primary: z.boolean().optional(),\n }))\n .optional()\n .describe('Photo URLs'),\n\n /**\n * Physical addresses\n */\n addresses: z.array(SCIMAddressSchema)\n .optional()\n .describe('Physical addresses'),\n\n /**\n * Group memberships\n */\n groups: z.array(SCIMGroupReferenceSchema)\n .optional()\n .describe('Group memberships'),\n\n /**\n * User entitlements\n */\n entitlements: z.array(z.object({\n value: z.string(),\n type: z.string().optional(),\n primary: z.boolean().optional(),\n }))\n .optional()\n .describe('Entitlements'),\n\n /**\n * User roles\n */\n roles: z.array(z.object({\n value: z.string(),\n type: z.string().optional(),\n primary: z.boolean().optional(),\n }))\n .optional()\n .describe('Roles'),\n\n /**\n * X509 certificates\n */\n x509Certificates: z.array(z.object({\n value: z.string(),\n type: z.string().optional(),\n primary: z.boolean().optional(),\n }))\n .optional()\n .describe('X509 certificates'),\n\n /**\n * Resource metadata\n */\n meta: SCIMMetaSchema\n .optional()\n .describe('Resource metadata'),\n\n /**\n * Enterprise user extension\n * Only present when enterprise extension is used\n */\n [SCIM_SCHEMAS.ENTERPRISE_USER]: SCIMEnterpriseUserSchema\n .optional()\n .describe('Enterprise user attributes'),\n}).superRefine((data, ctx) => {\n // Validate that enterprise extension schema URI is present when extension data is provided\n const hasEnterpriseExtension = data[SCIM_SCHEMAS.ENTERPRISE_USER] != null;\n if (!hasEnterpriseExtension) {\n return;\n }\n\n const schemas = data.schemas || [];\n if (!schemas.includes(SCIM_SCHEMAS.ENTERPRISE_USER)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['schemas'],\n message: `schemas must include \"${SCIM_SCHEMAS.ENTERPRISE_USER}\" when enterprise user extension attributes are present`,\n });\n }\n}));\n\nexport type SCIMUser = z.infer<typeof SCIMUserSchema>;\n\n/**\n * SCIM Member Reference\n * Reference to a member in a group\n */\nexport const SCIMMemberReferenceSchema = lazySchema(() => z.object({\n /**\n * Member identifier\n */\n value: z.string()\n .describe('Member ID'),\n\n /**\n * Direct reference to the member resource\n */\n $ref: z.string()\n .url()\n .optional()\n .describe('URI reference to the member'),\n\n /**\n * Member type (User or Group for nested groups)\n */\n type: z.enum(['User', 'Group'])\n .optional()\n .describe('Member type'),\n\n /**\n * Human-readable member name\n */\n display: z.string()\n .optional()\n .describe('Member display name'),\n}));\n\nexport type SCIMMemberReference = z.infer<typeof SCIMMemberReferenceSchema>;\n\n/**\n * SCIM Group Schema\n * Complete SCIM 2.0 Group resource\n */\nexport const SCIMGroupSchema = lazySchema(() => z.object({\n /**\n * SCIM schema URIs\n * Must include at minimum the core Group schema URI\n */\n schemas: z.array(z.string())\n .min(1)\n .refine(\n (schemas) => schemas.includes(SCIM_SCHEMAS.GROUP),\n 'Must include core Group schema URI'\n )\n .default([SCIM_SCHEMAS.GROUP])\n .describe('SCIM schema URIs (must include Group schema)'),\n\n /**\n * Unique identifier\n */\n id: z.string()\n .optional()\n .describe('Unique resource identifier'),\n\n /**\n * External identifier\n */\n externalId: z.string()\n .optional()\n .describe('External identifier from client system'),\n\n /**\n * Group display name\n * REQUIRED for group creation\n */\n displayName: z.string()\n .describe('Group display name (REQUIRED)'),\n\n /**\n * Group members\n */\n members: z.array(SCIMMemberReferenceSchema)\n .optional()\n .describe('Group members'),\n\n /**\n * Resource metadata\n */\n meta: SCIMMetaSchema\n .optional()\n .describe('Resource metadata'),\n}));\n\nexport type SCIMGroup = z.infer<typeof SCIMGroupSchema>;\n\n/**\n * SCIM Resource Union Type\n * Known SCIM resource types for type-safe list responses\n */\nexport type SCIMResource = SCIMUser | SCIMGroup;\n\n/**\n * SCIM List Response\n * Paginated list of resources\n * \n * Generic type T allows for type-safe responses when the resource type is known.\n * For mixed resource types, use SCIMResource union.\n */\nexport const SCIMListResponseSchema = lazySchema(() => z.object({\n /**\n * SCIM schema URI\n */\n schemas: z.array(z.string())\n .min(1)\n .refine(\n (schemas) => schemas.includes(SCIM_SCHEMAS.LIST_RESPONSE),\n { message: `schemas must include ${SCIM_SCHEMAS.LIST_RESPONSE}` }\n )\n .default([SCIM_SCHEMAS.LIST_RESPONSE])\n .describe('SCIM schema URIs'),\n\n /**\n * Total number of results matching the query\n */\n totalResults: z.number()\n .int()\n .min(0)\n .describe('Total results count'),\n\n /**\n * Resources returned in this response\n * Use SCIMListResponseOf<T> for type-safe responses\n */\n Resources: z.array(z.union([SCIMUserSchema, SCIMGroupSchema, z.record(z.string(), z.unknown())]))\n .describe('Resources array (Users, Groups, or custom resources)'),\n\n /**\n * 1-based index of the first result\n */\n startIndex: z.number()\n .int()\n .min(1)\n .optional()\n .describe('Start index (1-based)'),\n\n /**\n * Number of resources per page\n */\n itemsPerPage: z.number()\n .int()\n .min(0)\n .optional()\n .describe('Items per page'),\n}));\n\nexport type SCIMListResponse = z.infer<typeof SCIMListResponseSchema>;\n\n/**\n * SCIM Error Response\n * Error response format\n */\nexport const SCIMErrorSchema = lazySchema(() => z.object({\n /**\n * SCIM schema URI\n */\n schemas: z.array(z.string())\n .min(1)\n .refine(\n (schemas) => schemas.includes(SCIM_SCHEMAS.ERROR),\n { message: `schemas must include ${SCIM_SCHEMAS.ERROR}` }\n )\n .default([SCIM_SCHEMAS.ERROR])\n .describe('SCIM schema URIs'),\n\n /**\n * HTTP status code\n */\n status: z.number()\n .int()\n .min(400)\n .max(599)\n .describe('HTTP status code'),\n\n /**\n * SCIM error type\n */\n scimType: z.enum([\n 'invalidFilter',\n 'tooMany',\n 'uniqueness',\n 'mutability',\n 'invalidSyntax',\n 'invalidPath',\n 'noTarget',\n 'invalidValue',\n 'invalidVers',\n 'sensitive',\n ])\n .optional()\n .describe('SCIM error type'),\n\n /**\n * Human-readable error description\n */\n detail: z.string()\n .optional()\n .describe('Error detail message'),\n}));\n\nexport type SCIMError = z.infer<typeof SCIMErrorSchema>;\n\n/**\n * SCIM Patch Operation\n * For PATCH requests\n */\nexport const SCIMPatchOperationSchema = lazySchema(() => z.object({\n /**\n * Operation type\n */\n op: z.enum(['add', 'remove', 'replace'])\n .describe('Operation type'),\n\n /**\n * Attribute path to modify\n */\n path: z.string()\n .optional()\n .describe('Attribute path (optional for add)'),\n\n /**\n * Value to set\n */\n value: z.unknown()\n .optional()\n .describe('Value to set'),\n}));\n\nexport type SCIMPatchOperation = z.infer<typeof SCIMPatchOperationSchema>;\n\n/**\n * SCIM Patch Request\n */\nexport const SCIMPatchRequestSchema = lazySchema(() => z.object({\n /**\n * SCIM schema URI\n */\n schemas: z.array(z.string())\n .min(1)\n .refine(\n (schemas) => schemas.includes(SCIM_SCHEMAS.PATCH_OP),\n { message: 'SCIM PATCH requests must include the PatchOp schema URI' }\n )\n .default([SCIM_SCHEMAS.PATCH_OP])\n .describe('SCIM schema URIs'),\n\n /**\n * Array of patch operations\n */\n Operations: z.array(SCIMPatchOperationSchema)\n .min(1)\n .describe('Patch operations'),\n}));\n\nexport type SCIMPatchRequest = z.infer<typeof SCIMPatchRequestSchema>;\n\n/**\n * Helper factory for creating SCIM resources\n */\nexport const SCIM = {\n /**\n * Create a basic SCIM user\n */\n user: (userName: string, email: string, givenName?: string, familyName?: string): SCIMUser => ({\n schemas: [SCIM_SCHEMAS.USER],\n userName,\n emails: [{ value: email, type: 'work', primary: true }],\n name: {\n givenName,\n familyName,\n },\n active: true,\n }),\n\n /**\n * Create a SCIM group\n */\n group: (displayName: string, members?: SCIMMemberReference[]): SCIMGroup => ({\n schemas: [SCIM_SCHEMAS.GROUP],\n displayName,\n members: members || [],\n }),\n\n /**\n * Create a list response\n */\n listResponse: <T>(resources: T[], totalResults?: number): SCIMListResponse => ({\n schemas: [SCIM_SCHEMAS.LIST_RESPONSE],\n totalResults: totalResults ?? resources.length,\n Resources: resources as Array<SCIMResource | Record<string, any>>,\n startIndex: 1,\n itemsPerPage: resources.length,\n }),\n\n /**\n * Create an error response\n */\n error: (\n status: number,\n detail: string,\n scimType?: 'invalidFilter' | 'tooMany' | 'uniqueness' | 'mutability' | \n 'invalidSyntax' | 'invalidPath' | 'noTarget' | 'invalidValue' | \n 'invalidVers' | 'sensitive'\n ): SCIMError => ({\n schemas: [SCIM_SCHEMAS.ERROR],\n status,\n detail,\n scimType,\n }),\n} as const;\n\n// ─── SCIM 2.0 Bulk Operations (RFC 7644 §3.7) ──────────────────────────────\n\n/**\n * SCIM Bulk Operation Schema\n * A single operation within a bulk request\n */\nexport const SCIMBulkOperationSchema = lazySchema(() => z.object({\n /** HTTP method for this operation */\n method: z.enum(['POST', 'PUT', 'PATCH', 'DELETE'])\n .describe('HTTP method for the bulk operation'),\n\n /** Resource path (e.g. /Users, /Groups/{id}) */\n path: z.string()\n .describe('Resource endpoint path (e.g. /Users, /Groups/{id})'),\n\n /** Client-assigned identifier for cross-referencing operations */\n bulkId: z.string()\n .optional()\n .describe('Client-assigned ID for cross-referencing between operations'),\n\n /** Request body for POST/PUT/PATCH operations */\n data: z.record(z.string(), z.unknown())\n .optional()\n .describe('Request body for POST/PUT/PATCH operations'),\n\n /** ETag value for optimistic concurrency control */\n version: z.string()\n .optional()\n .describe('ETag for optimistic concurrency control'),\n}));\n\nexport type SCIMBulkOperation = z.infer<typeof SCIMBulkOperationSchema>;\n\n/**\n * SCIM Bulk Request Schema\n * Batch multiple SCIM operations into a single HTTP request\n */\nexport const SCIMBulkRequestSchema = lazySchema(() => z.object({\n /** SCIM schema URI for bulk request */\n schemas: z.array(z.literal(SCIM_SCHEMAS.BULK_REQUEST))\n .default([SCIM_SCHEMAS.BULK_REQUEST])\n .describe('SCIM schema URIs (BulkRequest)'),\n\n /** Array of operations to execute */\n operations: z.array(SCIMBulkOperationSchema)\n .min(1)\n .describe('Bulk operations to execute (minimum 1)'),\n\n /** Stop processing after N errors */\n failOnErrors: z.number()\n .int()\n .optional()\n .describe('Stop processing after this many errors'),\n}));\n\nexport type SCIMBulkRequest = z.infer<typeof SCIMBulkRequestSchema>;\n\n/**\n * SCIM Bulk Response Operation Schema\n * Result of a single operation within a bulk response\n */\nexport const SCIMBulkResponseOperationSchema = lazySchema(() => z.object({\n /** HTTP method that was executed */\n method: z.enum(['POST', 'PUT', 'PATCH', 'DELETE'])\n .describe('HTTP method that was executed'),\n\n /** Client-assigned bulk operation ID */\n bulkId: z.string()\n .optional()\n .describe('Client-assigned bulk operation ID'),\n\n /** URL of the created/modified resource */\n location: z.string()\n .optional()\n .describe('URL of the created or modified resource'),\n\n /** HTTP status code as string */\n status: z.string()\n .describe('HTTP status code as string (e.g. \"201\", \"400\")'),\n\n /** Response body, typically present for errors */\n response: z.unknown()\n .optional()\n .describe('Response body (typically present for errors)'),\n}));\n\nexport type SCIMBulkResponseOperation = z.infer<typeof SCIMBulkResponseOperationSchema>;\n\n/**\n * SCIM Bulk Response Schema\n * Response to a bulk request containing results for each operation\n */\nexport const SCIMBulkResponseSchema = lazySchema(() => z.object({\n /** SCIM schema URI for bulk response */\n schemas: z.array(z.literal(SCIM_SCHEMAS.BULK_RESPONSE))\n .default([SCIM_SCHEMAS.BULK_RESPONSE])\n .describe('SCIM schema URIs (BulkResponse)'),\n\n /** Array of operation results */\n operations: z.array(SCIMBulkResponseOperationSchema)\n .describe('Results for each bulk operation'),\n}));\n\nexport type SCIMBulkResponse = z.infer<typeof SCIMBulkResponseSchema>;\n"]}
1
+ {"version":3,"sources":["../../src/shared/lazy-schema.ts","../../src/identity/identity.zod.ts","../../src/identity/protocol.ts","../../src/shared/identifiers.zod.ts","../../src/identity/role.zod.ts","../../src/shared/expression.zod.ts","../../src/ui/i18n.zod.ts","../../src/ui/sharing.zod.ts","../../src/ui/responsive.zod.ts","../../src/system/encryption.zod.ts","../../src/system/masking.zod.ts","../../src/data/field.zod.ts","../../src/shared/http.zod.ts","../../src/ui/view.zod.ts","../../src/identity/role.form.ts","../../src/identity/organization.zod.ts","../../src/identity/scim.zod.ts"],"names":["z"],"mappings":"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","file":"index.js","sourcesContent":["// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport type { z } from 'zod';\n\n/**\n * Wrap a Zod schema constructor so its body is only evaluated on first use.\n *\n * Why: building Zod schemas at module-load creates millions of closures that\n * dominate dev-server RSS even though most schemas are never parsed in a\n * given session. Wrapping the constructor in a Proxy defers allocation until\n * the first property access (`.parse`, `.shape`, `._def`, etc.) and reuses\n * a single cached instance thereafter.\n *\n * Type system: the returned Proxy is structurally indistinguishable from the\n * underlying ZodType, so `z.infer<typeof X>` and `.parse()` callers do not\n * need to change.\n *\n * Emergency rollback: set `OS_EAGER_SCHEMAS=1` to evaluate the\n * factory immediately and bypass the Proxy entirely.\n */\nexport function lazySchema<T extends z.ZodTypeAny>(factory: () => T): T {\n if (typeof process !== 'undefined' && process.env?.OS_EAGER_SCHEMAS === '1') {\n return factory();\n }\n\n let cached: T | undefined;\n const resolve = (): T => {\n if (cached === undefined) cached = factory();\n return cached;\n };\n\n const target = function lazyZod() {} as unknown as T;\n\n const proxy = new Proxy(target as object, {\n get(_t, prop) {\n const real = resolve() as unknown as Record<PropertyKey, unknown>;\n const value = real[prop];\n if (typeof value === 'function') {\n return (value as (...a: unknown[]) => unknown).bind(real);\n }\n return value;\n },\n set(_t, prop, value) {\n const real = resolve() as unknown as Record<PropertyKey, unknown>;\n real[prop] = value;\n return true;\n },\n has(_t, prop) {\n return prop in (resolve() as object);\n },\n ownKeys() {\n return Reflect.ownKeys(resolve() as object);\n },\n getOwnPropertyDescriptor(_t, prop) {\n return Reflect.getOwnPropertyDescriptor(resolve() as object, prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(resolve() as object);\n },\n });\n\n return proxy as T;\n}\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Identity & User Model Specification\n * \n * Defines the standard user, account, and session data models for ObjectStack.\n * These schemas represent \"who is logged in\" and their associated data.\n * \n * This is separate from authentication configuration (auth.zod.ts) which\n * defines \"how to login\".\n */\n\n/**\n * User Schema\n * Core user identity data model\n */\nimport { lazySchema } from '../shared/lazy-schema';\nexport const UserSchema = lazySchema(() => z.object({\n /**\n * Unique user identifier\n */\n id: z.string().describe('Unique user identifier'),\n \n /**\n * User's email address (primary identifier)\n */\n email: z.string().email().describe('User email address'),\n \n /**\n * Email verification status\n */\n emailVerified: z.boolean().default(false).describe('Whether email is verified'),\n \n /**\n * User's display name\n */\n name: z.string().optional().describe('User display name'),\n \n /**\n * User's profile image URL\n */\n image: z.string().url().optional().describe('Profile image URL'),\n \n /**\n * Account creation timestamp\n */\n createdAt: z.string().datetime().describe('Account creation timestamp'),\n \n /**\n * Last update timestamp\n */\n updatedAt: z.string().datetime().describe('Last update timestamp'),\n}));\n\nexport type User = z.infer<typeof UserSchema>;\n\n/**\n * Account Schema\n * Links external OAuth/OIDC/SAML accounts to a user\n */\nexport const AccountSchema = lazySchema(() => z.object({\n /**\n * Unique account identifier\n */\n id: z.string().describe('Unique account identifier'),\n \n /**\n * Associated user ID\n */\n userId: z.string().describe('Associated user ID'),\n \n /**\n * Account type/provider\n */\n type: z.enum([\n 'oauth',\n 'oidc',\n 'email',\n 'credentials',\n 'saml',\n 'ldap',\n ]).describe('Account type'),\n \n /**\n * Provider name (e.g., 'google', 'github', 'okta')\n */\n provider: z.string().describe('Provider name'),\n \n /**\n * Provider account ID\n */\n providerAccountId: z.string().describe('Provider account ID'),\n \n /**\n * OAuth refresh token\n */\n refreshToken: z.string().optional().describe('OAuth refresh token'),\n \n /**\n * OAuth access token\n */\n accessToken: z.string().optional().describe('OAuth access token'),\n \n /**\n * Token expiry timestamp\n */\n expiresAt: z.number().optional().describe('Token expiry timestamp (Unix)'),\n \n /**\n * OAuth token type\n */\n tokenType: z.string().optional().describe('OAuth token type'),\n \n /**\n * OAuth scope\n */\n scope: z.string().optional().describe('OAuth scope'),\n \n /**\n * OAuth ID token\n */\n idToken: z.string().optional().describe('OAuth ID token'),\n \n /**\n * Session state\n */\n sessionState: z.string().optional().describe('Session state'),\n \n /**\n * Account creation timestamp\n */\n createdAt: z.string().datetime().describe('Account creation timestamp'),\n \n /**\n * Last update timestamp\n */\n updatedAt: z.string().datetime().describe('Last update timestamp'),\n}));\n\nexport type Account = z.infer<typeof AccountSchema>;\n\n/**\n * Session Schema\n * User session data model\n */\nexport const SessionSchema = lazySchema(() => z.object({\n /**\n * Unique session identifier\n */\n id: z.string().describe('Unique session identifier'),\n \n /**\n * Session token\n */\n sessionToken: z.string().describe('Session token'),\n \n /**\n * Associated user ID\n */\n userId: z.string().describe('Associated user ID'),\n \n /**\n * Active organization ID for this session\n * Used for context switching in multi-tenant applications\n */\n activeOrganizationId: z.string().optional().describe('Active organization ID for context switching'),\n \n /**\n * Session expiry timestamp\n */\n expires: z.string().datetime().describe('Session expiry timestamp'),\n \n /**\n * Session creation timestamp\n */\n createdAt: z.string().datetime().describe('Session creation timestamp'),\n \n /**\n * Last update timestamp\n */\n updatedAt: z.string().datetime().describe('Last update timestamp'),\n \n /**\n * IP address of the session\n */\n ipAddress: z.string().optional().describe('IP address'),\n \n /**\n * User agent string\n */\n userAgent: z.string().optional().describe('User agent string'),\n \n /**\n * Device fingerprint\n */\n fingerprint: z.string().optional().describe('Device fingerprint'),\n}));\n\nexport type Session = z.infer<typeof SessionSchema>;\n\n/**\n * Verification Token Schema\n * Email verification and password reset tokens\n */\nexport const VerificationTokenSchema = lazySchema(() => z.object({\n /**\n * Token identifier (email or phone)\n */\n identifier: z.string().describe('Token identifier (email or phone)'),\n \n /**\n * Verification token\n */\n token: z.string().describe('Verification token'),\n \n /**\n * Token expiry timestamp\n */\n expires: z.string().datetime().describe('Token expiry timestamp'),\n \n /**\n * Token creation timestamp\n */\n createdAt: z.string().datetime().describe('Token creation timestamp'),\n}));\n\nexport type VerificationToken = z.infer<typeof VerificationTokenSchema>;\n\n/**\n * API Key Schema\n *\n * Aligns with better-auth's API key plugin capabilities.\n * Provides programmatic access to ObjectStack APIs (CI/CD, service-to-service, CLI).\n *\n * @see https://www.better-auth.com/docs/plugins/api-key\n */\nexport const ApiKeySchema = lazySchema(() => z.object({\n /**\n * Unique API key identifier\n */\n id: z.string().describe('API key identifier'),\n\n /**\n * Human-readable name for the key\n */\n name: z.string().describe('API key display name'),\n\n /**\n * Key prefix (visible portion for identification, e.g., \"os_pk_ab\")\n */\n start: z.string().optional().describe('Key prefix for identification'),\n\n /**\n * Custom prefix for the key (e.g., \"os_pk_\")\n */\n prefix: z.string().optional().describe('Custom key prefix'),\n\n /**\n * User ID of the key owner\n */\n userId: z.string().describe('Owner user ID'),\n\n /**\n * Organization ID the key is scoped to (optional)\n */\n organizationId: z.string().optional().describe('Scoped organization ID'),\n\n /**\n * Key expiration timestamp (null = never expires)\n */\n expiresAt: z.string().datetime().optional().describe('Expiration timestamp'),\n\n /**\n * Creation timestamp\n */\n createdAt: z.string().datetime().describe('Creation timestamp'),\n\n /**\n * Last update timestamp\n */\n updatedAt: z.string().datetime().describe('Last update timestamp'),\n\n /**\n * Last used timestamp\n */\n lastUsedAt: z.string().datetime().optional().describe('Last used timestamp'),\n\n /**\n * Last refetch timestamp (for cached permission checks)\n */\n lastRefetchAt: z.string().datetime().optional().describe('Last refetch timestamp'),\n\n /**\n * Whether this key is enabled\n */\n enabled: z.boolean().default(true).describe('Whether the key is active'),\n\n /**\n * Rate limiting: enabled flag\n */\n rateLimitEnabled: z.boolean().optional().describe('Whether rate limiting is enabled'),\n\n /**\n * Rate limiting: time window in milliseconds\n */\n rateLimitTimeWindow: z.number().int().min(0).optional().describe('Rate limit window (ms)'),\n\n /**\n * Rate limiting: max requests per window\n */\n rateLimitMax: z.number().int().min(0).optional().describe('Max requests per window'),\n\n /**\n * Rate limiting: remaining requests in current window\n */\n remaining: z.number().int().min(0).optional().describe('Remaining requests'),\n\n /**\n * Permissions assigned to this key (granular access control)\n */\n permissions: z.record(z.string(), z.boolean()).optional()\n .describe('Granular permission flags'),\n\n /**\n * Scopes assigned to this key (high-level access categories)\n */\n scopes: z.array(z.string()).optional()\n .describe('High-level access scopes'),\n\n /**\n * Custom metadata\n */\n metadata: z.record(z.string(), z.unknown()).optional().describe('Custom metadata'),\n}));\n\nexport type ApiKey = z.infer<typeof ApiKeySchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * Authentication Wire Protocol & Constants\n * \n * Defines the API contract and constants for authentication communication.\n * These constants ensure consistent behavior across all ObjectStack implementations.\n */\n\n/**\n * Authentication Constants\n * Standard headers, prefixes, and identifiers for auth communication\n */\nexport const AUTH_CONSTANTS = {\n /**\n * HTTP header key for authentication tokens\n */\n HEADER_KEY: 'Authorization',\n \n /**\n * Token prefix for Bearer authentication\n */\n TOKEN_PREFIX: 'Bearer ',\n \n /**\n * Cookie prefix for ObjectStack auth cookies\n */\n COOKIE_PREFIX: 'os_',\n \n /**\n * CSRF token header name\n */\n CSRF_HEADER: 'x-os-csrf-token',\n \n /**\n * Default session cookie name\n */\n SESSION_COOKIE: 'os_session_token',\n \n /**\n * Default CSRF cookie name\n */\n CSRF_COOKIE: 'os_csrf_token',\n \n /**\n * Refresh token cookie name\n */\n REFRESH_TOKEN_COOKIE: 'os_refresh_token',\n} as const;\n\n/**\n * Authentication Headers Interface\n * Standard headers used in authenticated requests\n */\nexport interface AuthHeaders {\n /**\n * Authorization header with Bearer token\n * @example \"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\"\n */\n Authorization?: string;\n \n /**\n * CSRF token header\n * @example \"x-os-csrf-token: abc123def456...\"\n */\n 'x-os-csrf-token'?: string;\n \n /**\n * Session ID header (alternative to cookie)\n * @example \"x-os-session-id: session_abc123...\"\n */\n 'x-os-session-id'?: string;\n \n /**\n * API key header (for service-to-service auth)\n * @example \"x-os-api-key: sk_live_abc123...\"\n */\n 'x-os-api-key'?: string;\n}\n\n/**\n * Authentication Response Interface\n * Standard response format for authentication operations\n */\nexport interface AuthResponse {\n /**\n * Access token (JWT or opaque token)\n */\n accessToken: string;\n \n /**\n * Refresh token (for token renewal)\n */\n refreshToken?: string;\n \n /**\n * Token type (usually \"Bearer\")\n */\n tokenType: string;\n \n /**\n * Token expiry in seconds\n */\n expiresIn: number;\n \n /**\n * User information\n */\n user: {\n id: string;\n email: string;\n name?: string;\n image?: string;\n };\n \n /**\n * Session ID\n */\n sessionId?: string;\n}\n\n/**\n * Authentication Error Codes\n * Standard error codes for authentication failures\n */\nexport const AUTH_ERROR_CODES = {\n INVALID_CREDENTIALS: 'invalid_credentials',\n INVALID_TOKEN: 'invalid_token',\n TOKEN_EXPIRED: 'token_expired',\n INSUFFICIENT_PERMISSIONS: 'insufficient_permissions',\n ACCOUNT_LOCKED: 'account_locked',\n ACCOUNT_NOT_VERIFIED: 'account_not_verified',\n TOO_MANY_REQUESTS: 'too_many_requests',\n INVALID_CSRF_TOKEN: 'invalid_csrf_token',\n SESSION_EXPIRED: 'session_expired',\n OAUTH_ERROR: 'oauth_error',\n PROVIDER_ERROR: 'provider_error',\n} as const;\n\n/**\n * Authentication Error Interface\n * Standard error response format\n */\nexport interface AuthError {\n /**\n * Error code from AUTH_ERROR_CODES\n */\n code: typeof AUTH_ERROR_CODES[keyof typeof AUTH_ERROR_CODES];\n \n /**\n * Human-readable error message\n */\n message: string;\n \n /**\n * Additional error details\n */\n details?: Record<string, any>;\n}\n\n/**\n * Token Payload Interface\n * Standard JWT payload structure\n */\nexport interface TokenPayload {\n /**\n * Subject (user ID)\n */\n sub: string;\n \n /**\n * Issued at timestamp\n */\n iat: number;\n \n /**\n * Expiration timestamp\n */\n exp: number;\n \n /**\n * Session ID\n */\n sid?: string;\n \n /**\n * User email\n */\n email?: string;\n \n /**\n * User roles\n */\n roles?: string[];\n \n /**\n * User permissions\n */\n permissions?: string[];\n \n /**\n * Additional custom claims\n */\n [key: string]: any;\n}\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * System Identifier Schema\n * \n * Universal naming convention for all machine identifiers (API Names) in ObjectStack.\n * Enforces lowercase with underscores or dots to ensure:\n * - Cross-platform compatibility (case-insensitive filesystems)\n * - URL-friendliness (no encoding needed)\n * - Database consistency (no collation issues)\n * - Security (no case-sensitivity bugs in permission checks)\n * \n * **Applies to all metadata that acts as a machine identifier:**\n * - Object names (tables/collections)\n * - Field names\n * - Role names\n * - Permission set names\n * - Action/trigger names\n * - Event keys\n * - App IDs\n * - Menu/page IDs\n * - Select option values\n * - Workflow names\n * - Webhook names\n * \n * **Naming Convention Summary:**\n * | Type | Pattern | Example |\n * |------|---------|---------|\n * | Machine ID | snake_case | `crm_account`, `btn_submit`, `role_admin` |\n * | Event keys | dot.notation | `user.login`, `order.created` |\n * | Labels | Any case | `Client Account`, `Submit Form` |\n * \n * @example Valid identifiers\n * - 'account'\n * - 'crm_account'\n * - 'user_profile'\n * - 'order.created' (for events)\n * - 'api_v2_endpoint'\n * \n * @example Invalid identifiers (will be rejected)\n * - 'Account' (uppercase)\n * - 'CrmAccount' (camelCase)\n * - 'crm-account' (kebab-case - use underscore instead)\n * - 'user profile' (spaces)\n */\nimport { lazySchema } from './lazy-schema';\nexport const SystemIdentifierSchema = lazySchema(() => z\n .string()\n .min(2, { message: 'System identifier must be at least 2 characters' })\n .regex(/^[a-z][a-z0-9_.]*$/, {\n message:\n 'System identifier must be lowercase, starting with a letter, and may contain letters, numbers, underscores, or dots (e.g., \"user_profile\" or \"order.created\")',\n })\n .describe('System identifier (lowercase with underscores or dots)'));\n\n/**\n * Strict Snake Case Identifier\n * \n * More restrictive than SystemIdentifierSchema - only allows underscores (no dots).\n * Use this for identifiers that should NOT contain dots (e.g., database table/column names).\n * \n * @example Valid\n * - 'account'\n * - 'crm_account'\n * - 'user_profile'\n * \n * @example Invalid\n * - 'user.profile' (dots not allowed)\n * - 'UserProfile' (uppercase)\n */\nexport const SnakeCaseIdentifierSchema = lazySchema(() => z\n .string()\n .min(2, { message: 'Identifier must be at least 2 characters' })\n .regex(/^[a-z][a-z0-9_]*$/, {\n message:\n 'Identifier must be lowercase snake_case, starting with a letter, and may contain only letters, numbers, and underscores (e.g., \"user_profile\")',\n })\n .describe('Snake case identifier (lowercase with underscores only)'));\n\n/**\n * Event Name Identifier\n * \n * Specialized identifier for event names that encourages dot notation.\n * Used in event-driven systems, message queues, and webhooks.\n * \n * Pattern: `namespace.action` or `entity.event_type`\n * \n * @example Valid\n * - 'user.created'\n * - 'order.paid'\n * - 'user.login_success'\n * - 'alarm.high_cpu'\n * \n * @example Invalid\n * - 'UserCreated' (camelCase)\n * - 'user_created' (should use dots for namespacing)\n */\nexport const EventNameSchema = lazySchema(() => z\n .string()\n .min(3, { message: 'Event name must be at least 3 characters' })\n .regex(/^[a-z][a-z0-9_.]*$/, {\n message:\n 'Event name must be lowercase with dots for namespacing (e.g., \"user.created\", \"order.paid\")',\n })\n .describe('Event name (lowercase with dot notation for namespacing)'));\n\n/**\n * Type Exports\n */\nexport type SystemIdentifier = z.infer<typeof SystemIdentifierSchema>;\nexport type SnakeCaseIdentifier = z.infer<typeof SnakeCaseIdentifierSchema>;\nexport type EventName = z.infer<typeof EventNameSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\n\n/**\n * Role Schema (aka Business Unit / Org Unit)\n * Defines the organizational hierarchy (Reporting Structure).\n * \n * COMPARISON:\n * - Salesforce: \"Role\" (Hierarchy for visibility rollup)\n * - Microsoft: \"Business Unit\" (Structural container for data)\n * - Kubernetes/AWS: \"Role\" usually refers to Permissions (we use PermissionSet for that)\n * \n * ROLES IN OBJECTSTACK:\n * Used primarily for \"Reporting Structure\" - Managers see subordinates' data.\n * \n * **NAMING CONVENTION:**\n * Role names MUST be lowercase snake_case to prevent security issues.\n * \n * @example Good role names\n * - 'sales_manager'\n * - 'ceo'\n * - 'region_east_vp'\n * - 'engineering_lead'\n * \n * @example Bad role names (will be rejected)\n * - 'SalesManager' (camelCase)\n * - 'CEO' (uppercase)\n * - 'Region East VP' (spaces and uppercase)\n */\nimport { lazySchema } from '../shared/lazy-schema';\nexport const RoleSchema = lazySchema(() => z.object({\n /** Identity */\n name: SnakeCaseIdentifierSchema.describe('Unique role name (lowercase snake_case)'),\n label: z.string().describe('Display label (e.g. VP of Sales)'),\n \n /** Hierarchy */\n parent: z.string().optional().describe('Parent Role ID (Reports To)'),\n \n /** Description */\n description: z.string().optional(),\n}));\n\nexport type Role = z.infer<typeof RoleSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Expression Protocol\n *\n * Canonical wire format for all \"expression\"-shaped metadata across ObjectStack\n * (formula fields, predicates, conditions, criteria, visibility rules, seed\n * dynamic values, …).\n *\n * The persisted form is `{ dialect, source }` (and, after `objectstack\n * compile` normalization, `{ dialect, ast }`). String-only shorthand is\n * accepted at *input* time for developer ergonomics; build emits the canonical\n * envelope.\n *\n * ## Dialects\n *\n * | dialect | engine | use |\n * |:---|:---|:---|\n * | `cel` | `@objectstack/formula` (cel-js + ObjectStack stdlib) | formulas, predicates, seed dynamic values |\n * | `js` | sandboxed L2 hook bodies (`isolated-vm` / `quickjs`) | mapping, hook bodies |\n * | `cron` | `cron-parser` | job schedules |\n *\n * SQL fragments (analytics joins, partial indexes) are intentionally **not**\n * routed through this schema — they stay driver-native because their security\n * posture and portability story differ.\n *\n * @see content/docs/concepts/north-star.mdx §8 \"No private expression DSL\"\n */\n\n/** Supported expression dialects. */\nexport const ExpressionDialect = z.enum(['cel', 'js', 'cron', 'template']);\nexport type ExpressionDialect = z.infer<typeof ExpressionDialect>;\n\n/**\n * Authorship metadata for an expression. Optional but encouraged for AI-\n * generated artifacts so audit/explanation tooling has something to render.\n */\nexport const ExpressionMetaSchema = z.object({\n /** Human-readable rationale (often AI-emitted). */\n rationale: z.string().optional(),\n /** Identifier of the agent / tool that produced this expression. */\n generatedBy: z.string().optional(),\n});\nexport type ExpressionMeta = z.infer<typeof ExpressionMetaSchema>;\n\n/**\n * Canonical Expression envelope.\n *\n * Phase 1 (M9.1): `source` is the canonical persisted form. `ast` is reserved\n * and accepted as opaque structured value — `objectstack compile` will fill it\n * in M9.2 with the engine's parsed AST so the artifact carries an AST-only\n * representation.\n *\n * Phase 2 (M9.2+): `ast` becomes required in build output; `source` is kept\n * only for round-trip / debug.\n */\nexport const ExpressionSchema = z.object({\n /** Which engine evaluates `source` / `ast`. */\n dialect: ExpressionDialect,\n /** Surface syntax. Required while `ast` is not yet populated. */\n source: z.string().min(1).optional(),\n /**\n * Engine-native AST. Opaque at the spec layer; each engine validates its own\n * shape. For `dialect: 'cel'` this is the cel-js parsed AST node.\n */\n ast: z.unknown().optional(),\n /** Optional authorship metadata. */\n meta: ExpressionMetaSchema.optional(),\n}).refine(e => e.source !== undefined || e.ast !== undefined, {\n message: 'Expression requires at least one of `source` or `ast`',\n});\nexport type Expression = z.infer<typeof ExpressionSchema>;\n\n/**\n * Author-time input shape: a bare string is shorthand for `{ dialect: 'cel',\n * source }`. Engines that need other dialects must use the full envelope.\n *\n * Build (`objectstack compile`) normalizes this union to `Expression` so the\n * persisted artifact never contains the bare-string form.\n */\nexport const ExpressionInputSchema = z.union([\n z.string().min(1).transform((source): Expression => ({ dialect: 'cel', source })),\n ExpressionSchema,\n]);\nexport type ExpressionInput = z.input<typeof ExpressionInputSchema>;\n\n/**\n * Cron-typed input shape: a bare string is shorthand for `{ dialect: 'cron',\n * source }` (not `cel`). Use this for `schedule` / `cronExpression` fields so\n * authors can write `'0 9 * * 1-5'` without manually wrapping.\n */\nexport const CronExpressionInputSchema = z.union([\n z.string().min(1).transform((source): Expression => ({ dialect: 'cron', source })),\n ExpressionSchema,\n]);\nexport type CronExpressionInput = z.input<typeof CronExpressionInputSchema>;\n\n/**\n * Template-typed input shape: a bare string is shorthand for\n * `{ dialect: 'template', source }`. Use this for notification subjects/bodies,\n * titleFormat, prompt templates — anything with `{{var}}` interpolation.\n */\nexport const TemplateExpressionInputSchema = z.union([\n z.string().min(1).transform((source): Expression => ({ dialect: 'template', source })),\n ExpressionSchema,\n]);\nexport type TemplateExpressionInput = z.input<typeof TemplateExpressionInputSchema>;\n\n/**\n * Predicate — an Expression whose evaluation is expected to be boolean.\n * Spec layer cannot enforce return type at parse time; this alias exists for\n * intent documentation and future runtime type-check wiring.\n */\nexport const PredicateSchema = ExpressionSchema;\nexport type Predicate = z.infer<typeof PredicateSchema>;\n\nexport const PredicateInputSchema = ExpressionInputSchema;\nexport type PredicateInput = z.input<typeof PredicateInputSchema>;\n\n/**\n * Construct an Expression literal from a CEL source string. Used by DX\n * shorthand (`cel\\`...\\``) and by codegen tools.\n */\nexport function expression(source: string, dialect: ExpressionDialect = 'cel', meta?: ExpressionMeta): Expression {\n return { dialect, source, ...(meta ? { meta } : {}) };\n}\n\n/**\n * Tagged-template helpers for inline expression authoring.\n *\n * ```ts\n * import { cel, F, P } from '@objectstack/spec';\n *\n * const f = { formula: F`record.amount * 0.1` };\n * const v = { visible: P`record.status == \"open\"` };\n * const d = { close_date: cel`now() + duration(\"P30D\")` };\n * ```\n *\n * Each helper produces an {@link Expression} envelope with `dialect: 'cel'`\n * and the rendered template string as `source`. The CLI `objectstack compile`\n * step (M9.2) parses these into ASTs at build time so the persisted artifact\n * is dialect-AST only.\n */\nfunction renderTemplate(strings: TemplateStringsArray, values: readonly unknown[]): string {\n if (values.length === 0) return strings[0] ?? '';\n let out = strings[0] ?? '';\n for (let i = 0; i < values.length; i++) {\n const v = values[i];\n // Inline literal substitution. Strings get JSON-escaped so `${name}` for\n // `name = 'O\\'Brien'` produces a valid CEL string literal. Numbers and\n // booleans render as their toString. Anything exotic should be passed via\n // the variable scope (record/input) rather than interpolated.\n if (typeof v === 'string') out += JSON.stringify(v);\n else if (typeof v === 'number' || typeof v === 'boolean') out += String(v);\n else if (v === null || v === undefined) out += 'null';\n else out += JSON.stringify(v);\n out += strings[i + 1] ?? '';\n }\n return out;\n}\n\n/** Tagged template — produces a CEL Expression envelope. */\nexport function cel(strings: TemplateStringsArray, ...values: unknown[]): Expression {\n return { dialect: 'cel', source: renderTemplate(strings, values) };\n}\n\n/** Formula alias of {@link cel} — semantic shorthand for computed-field formulas. */\nexport const F = cel;\n\n/** Predicate alias of {@link cel} — semantic shorthand for boolean conditions. */\nexport const P = cel;\n\n/**\n * Tagged template — produces a Mustache-template Expression envelope. Use for\n * notification subjects, prompt bodies, titleFormat strings, etc. Variable\n * scope is the same as CEL (`{{record.x}}`, `{{os.user.id}}`).\n */\nexport function tmpl(strings: TemplateStringsArray, ...values: unknown[]): Expression {\n // Templates do not get JSON.stringify on substitution — interpolation happens\n // at evaluate time via `{{path}}` markers, so we keep raw substitutions here.\n let out = strings[0] ?? '';\n for (let i = 0; i < values.length; i++) {\n out += String(values[i]);\n out += strings[i + 1] ?? '';\n }\n return { dialect: 'template', source: out };\n}\n\n/** Tagged template — produces a cron Expression envelope. */\nexport function cron(strings: TemplateStringsArray, ...values: unknown[]): Expression {\n let out = strings[0] ?? '';\n for (let i = 0; i < values.length; i++) {\n out += String(values[i]);\n out += strings[i + 1] ?? '';\n }\n return { dialect: 'cron', source: out };\n}\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * I18n Object Schema\n * Structured internationalization label with translation key and parameters.\n * \n * @example\n * ```typescript\n * const label: I18nObject = {\n * key: 'views.task_list.label',\n * defaultValue: 'Task List',\n * params: { count: 5 },\n * };\n * ```\n */\nimport { lazySchema } from '../shared/lazy-schema';\nexport const I18nObjectSchema = lazySchema(() => z.object({\n /** Translation key (e.g., \"views.task_list.label\", \"apps.crm.description\") */\n key: z.string().describe('Translation key (e.g., \"views.task_list.label\")'),\n\n /** Default value when translation is not available */\n defaultValue: z.string().optional().describe('Fallback value when translation key is not found'),\n\n /** Interpolation parameters for dynamic translations */\n params: z.record(z.string(), z.union([z.string(), z.number(), z.boolean()])).optional().describe('Interpolation parameters (e.g., { count: 5 })'),\n}));\n\nexport type I18nObject = z.infer<typeof I18nObjectSchema>;\n\n/**\n * I18n Label Schema\n * \n * A plain string label for display purposes.\n * i18n translation keys are auto-generated by the framework at registration time\n * based on a standardized naming convention (e.g., `apps.<packageId>.<name>.label`).\n * Developers only need to provide the default-language string; translations are\n * managed through translation files, not inline i18n objects.\n * \n * @example\n * ```typescript\n * const label: I18nLabel = \"All Active\";\n * ```\n */\nexport const I18nLabelSchema = lazySchema(() => z.string().describe('Display label (plain string; i18n keys are auto-generated by the framework)'));\n\nexport type I18nLabel = z.infer<typeof I18nLabelSchema>;\n\n/**\n * ARIA Accessibility Properties Schema\n * \n * Common ARIA attributes for UI components to support screen readers\n * and assistive technologies.\n * \n * Aligned with WAI-ARIA 1.2 specification.\n * \n * @see https://www.w3.org/TR/wai-aria-1.2/\n * \n * @example\n * ```typescript\n * const aria: AriaProps = {\n * ariaLabel: 'Close dialog',\n * ariaDescribedBy: 'dialog-description',\n * role: 'dialog',\n * };\n * ```\n */\nexport const AriaPropsSchema = lazySchema(() => z.object({\n /** Accessible label for screen readers */\n ariaLabel: I18nLabelSchema.optional().describe('Accessible label for screen readers (WAI-ARIA aria-label)'),\n\n /** ID of element that describes this component */\n ariaDescribedBy: z.string().optional().describe('ID of element providing additional description (WAI-ARIA aria-describedby)'),\n\n /** WAI-ARIA role override */\n role: z.string().optional().describe('WAI-ARIA role attribute (e.g., \"dialog\", \"navigation\", \"alert\")'),\n}).describe('ARIA accessibility attributes'));\n\nexport type AriaProps = z.infer<typeof AriaPropsSchema>;\n\n/**\n * Plural Rule Schema\n *\n * Defines plural forms for a translation key, following ICU MessageFormat / i18next conventions.\n * Supports zero, one, two, few, many, other forms per CLDR plural rules.\n *\n * @see https://unicode.org/reports/tr35/tr35-numbers.html#Language_Plural_Rules\n *\n * @example\n * ```typescript\n * const plural: PluralRule = {\n * key: 'items.count',\n * zero: 'No items',\n * one: '{count} item',\n * other: '{count} items',\n * };\n * ```\n */\nexport const PluralRuleSchema = lazySchema(() => z.object({\n /** Translation key for the plural form */\n key: z.string().describe('Translation key'),\n /** Form for zero quantity */\n zero: z.string().optional().describe('Zero form (e.g., \"No items\")'),\n /** Form for singular (1) */\n one: z.string().optional().describe('Singular form (e.g., \"{count} item\")'),\n /** Form for dual (2) — used in Arabic, Welsh, etc. */\n two: z.string().optional().describe('Dual form (e.g., \"{count} items\" for exactly 2)'),\n /** Form for few (2-4 in Slavic languages) */\n few: z.string().optional().describe('Few form (e.g., for 2-4 in some languages)'),\n /** Form for many (5+ in Slavic languages) */\n many: z.string().optional().describe('Many form (e.g., for 5+ in some languages)'),\n /** Default/fallback form */\n other: z.string().describe('Default plural form (e.g., \"{count} items\")'),\n}).describe('ICU plural rules for a translation key'));\n\nexport type PluralRule = z.infer<typeof PluralRuleSchema>;\n\n/**\n * Number Format Schema\n *\n * Defines number formatting rules for localization.\n *\n * @example\n * ```typescript\n * const format: NumberFormat = {\n * style: 'currency',\n * currency: 'USD',\n * minimumFractionDigits: 2,\n * };\n * ```\n */\nexport const NumberFormatSchema = lazySchema(() => z.object({\n style: z.enum(['decimal', 'currency', 'percent', 'unit']).default('decimal')\n .describe('Number formatting style'),\n currency: z.string().optional().describe('ISO 4217 currency code (e.g., \"USD\", \"EUR\")'),\n unit: z.string().optional().describe('Unit for unit formatting (e.g., \"kilometer\", \"liter\")'),\n minimumFractionDigits: z.number().optional().describe('Minimum number of fraction digits'),\n maximumFractionDigits: z.number().optional().describe('Maximum number of fraction digits'),\n useGrouping: z.boolean().optional().describe('Whether to use grouping separators (e.g., 1,000)'),\n}).describe('Number formatting rules'));\n\nexport type NumberFormat = z.infer<typeof NumberFormatSchema>;\n\n/**\n * Date Format Schema\n *\n * Defines date/time formatting rules for localization.\n *\n * @example\n * ```typescript\n * const format: DateFormat = {\n * dateStyle: 'medium',\n * timeStyle: 'short',\n * timeZone: 'America/New_York',\n * };\n * ```\n */\nexport const DateFormatSchema = lazySchema(() => z.object({\n dateStyle: z.enum(['full', 'long', 'medium', 'short']).optional()\n .describe('Date display style'),\n timeStyle: z.enum(['full', 'long', 'medium', 'short']).optional()\n .describe('Time display style'),\n timeZone: z.string().optional().describe('IANA time zone (e.g., \"America/New_York\")'),\n hour12: z.boolean().optional().describe('Use 12-hour format'),\n}).describe('Date/time formatting rules'));\n\nexport type DateFormat = z.infer<typeof DateFormatSchema>;\n\n/**\n * Locale Configuration Schema\n *\n * Defines a complete locale configuration including language code,\n * fallback chain, and formatting preferences.\n *\n * @example\n * ```typescript\n * const locale: LocaleConfig = {\n * code: 'zh-CN',\n * fallbackChain: ['zh-TW', 'en'],\n * direction: 'ltr',\n * numberFormat: { style: 'decimal', useGrouping: true },\n * dateFormat: { dateStyle: 'medium', timeStyle: 'short' },\n * };\n * ```\n */\nexport const LocaleConfigSchema = lazySchema(() => z.object({\n /** BCP 47 language code (e.g., \"en-US\", \"zh-CN\", \"ar-SA\") */\n code: z.string().describe('BCP 47 language code (e.g., \"en-US\", \"zh-CN\")'),\n\n /** Ordered fallback chain for missing translations */\n fallbackChain: z.array(z.string()).optional()\n .describe('Fallback language codes in priority order (e.g., [\"zh-TW\", \"en\"])'),\n\n /** Text direction */\n direction: z.enum(['ltr', 'rtl']).default('ltr')\n .describe('Text direction: left-to-right or right-to-left'),\n\n /** Default number formatting */\n numberFormat: NumberFormatSchema.optional().describe('Default number formatting rules'),\n\n /** Default date formatting */\n dateFormat: DateFormatSchema.optional().describe('Default date/time formatting rules'),\n}).describe('Locale configuration'));\n\nexport type LocaleConfig = z.infer<typeof LocaleConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * @module ui/sharing\n *\n * Sharing & Embedding Protocol\n *\n * Defines schemas for public link sharing, embed configuration,\n * domain restrictions, and password protection for apps, pages, and forms.\n */\n\nimport { z } from 'zod';\n\n/**\n * Sharing Config Schema\n * Configuration for public sharing of an app, page, or form.\n * Supports public links, password protection, domain restrictions, and expiration.\n */\nimport { lazySchema } from '../shared/lazy-schema';\nexport const SharingConfigSchema = lazySchema(() => z.object({\n enabled: z.boolean().default(false).describe('Enable public sharing'),\n publicLink: z.string().optional().describe('Generated public share URL'),\n password: z.string().optional().describe('Password required to access shared link'),\n allowedDomains: z.array(z.string()).optional()\n .describe('Restrict access to specific email domains (e.g. [\"example.com\"])'),\n expiresAt: z.string().optional()\n .describe('Expiration date/time in ISO 8601 format'),\n allowAnonymous: z.boolean().optional().default(false)\n .describe('Allow access without authentication'),\n}));\n\n/**\n * Embed Config Schema\n * Configuration for iframe embedding of an app, page, or form.\n * Supports origin restrictions, display options, and responsive sizing.\n */\nexport const EmbedConfigSchema = lazySchema(() => z.object({\n enabled: z.boolean().default(false).describe('Enable iframe embedding'),\n allowedOrigins: z.array(z.string()).optional()\n .describe('Allowed iframe parent origins (e.g. [\"https://example.com\"])'),\n width: z.string().optional().default('100%').describe('Embed width (CSS value)'),\n height: z.string().optional().default('600px').describe('Embed height (CSS value)'),\n showHeader: z.boolean().optional().default(true).describe('Show interface header in embed'),\n showNavigation: z.boolean().optional().default(false).describe('Show navigation in embed'),\n responsive: z.boolean().optional().default(true).describe('Enable responsive resizing'),\n}));\n\n// Type Exports\nexport type SharingConfig = z.infer<typeof SharingConfigSchema>;\nexport type EmbedConfig = z.infer<typeof EmbedConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Breakpoint Name Enum\n * Matches the breakpoint names defined in theme.zod.ts BreakpointsSchema.\n */\nimport { lazySchema } from '../shared/lazy-schema';\nexport const BreakpointName = z.enum(['xs', 'sm', 'md', 'lg', 'xl', '2xl']);\n\nexport type BreakpointName = z.infer<typeof BreakpointName>;\n\n/**\n * Responsive Configuration Schema\n *\n * Provides responsive layout configuration for UI components.\n * Maps breakpoint names to layout behavior (columns, visibility, order).\n *\n * Aligned with theme.zod.ts BreakpointsSchema for a unified responsive system.\n *\n * @example\n * ```typescript\n * const config: ResponsiveConfig = {\n * columns: { xs: 12, sm: 6, lg: 4 },\n * hiddenOn: ['xs'],\n * order: { xs: 2, lg: 1 },\n * };\n * ```\n */\n/**\n * Breakpoint Column Map Schema\n * Maps breakpoint names to grid column counts (1-12).\n * All entries are optional — only specified breakpoints are configured.\n */\nexport const BreakpointColumnMapSchema = lazySchema(() => z.object({\n xs: z.number().min(1).max(12).optional(),\n sm: z.number().min(1).max(12).optional(),\n md: z.number().min(1).max(12).optional(),\n lg: z.number().min(1).max(12).optional(),\n xl: z.number().min(1).max(12).optional(),\n '2xl': z.number().min(1).max(12).optional(),\n}).describe('Grid columns per breakpoint (1-12)'));\n\n/**\n * Breakpoint Order Map Schema\n * Maps breakpoint names to display order numbers.\n * All entries are optional — only specified breakpoints are configured.\n */\nexport const BreakpointOrderMapSchema = lazySchema(() => z.object({\n xs: z.number().optional(),\n sm: z.number().optional(),\n md: z.number().optional(),\n lg: z.number().optional(),\n xl: z.number().optional(),\n '2xl': z.number().optional(),\n}).describe('Display order per breakpoint'));\n\nexport const ResponsiveConfigSchema = lazySchema(() => z.object({\n /** Minimum breakpoint for visibility */\n breakpoint: BreakpointName.optional()\n .describe('Minimum breakpoint for visibility'),\n\n /** Hide on specific breakpoints */\n hiddenOn: z.array(BreakpointName).optional()\n .describe('Hide on these breakpoints'),\n\n /** Grid columns per breakpoint (1-12 column grid) */\n columns: BreakpointColumnMapSchema.optional().describe('Grid columns per breakpoint'),\n\n /** Display order per breakpoint */\n order: BreakpointOrderMapSchema.optional().describe('Display order per breakpoint'),\n}).describe('Responsive layout configuration'));\n\nexport type ResponsiveConfig = z.infer<typeof ResponsiveConfigSchema>;\n\n/**\n * Performance Configuration Schema\n *\n * Defines performance optimization settings for UI components\n * such as lazy loading, virtual scrolling, and caching.\n *\n * @example\n * ```typescript\n * const perf: PerformanceConfig = {\n * lazyLoad: true,\n * virtualScroll: { enabled: true, itemHeight: 40, overscan: 5 },\n * cacheStrategy: 'stale-while-revalidate',\n * prefetch: true,\n * };\n * ```\n */\nexport const PerformanceConfigSchema = lazySchema(() => z.object({\n /** Enable lazy loading for this component */\n lazyLoad: z.boolean().optional()\n .describe('Enable lazy loading (defer rendering until visible)'),\n\n /** Virtual scrolling configuration for large datasets */\n virtualScroll: z.object({\n enabled: z.boolean().default(false).describe('Enable virtual scrolling'),\n itemHeight: z.number().optional().describe('Fixed item height in pixels (for estimation)'),\n overscan: z.number().optional().describe('Number of extra items to render outside viewport'),\n }).optional().describe('Virtual scrolling configuration'),\n\n /** Client-side caching strategy */\n cacheStrategy: z.enum([\n 'none',\n 'cache-first',\n 'network-first',\n 'stale-while-revalidate',\n ]).optional().describe('Client-side data caching strategy'),\n\n /** Enable data prefetching */\n prefetch: z.boolean().optional()\n .describe('Prefetch data before component is visible'),\n\n /** Maximum number of items to render before pagination */\n pageSize: z.number().optional()\n .describe('Number of items per page for pagination'),\n\n /** Debounce interval for user interactions (ms) */\n debounceMs: z.number().optional()\n .describe('Debounce interval for user interactions in milliseconds'),\n}).describe('Performance optimization configuration'));\n\nexport type PerformanceConfig = z.infer<typeof PerformanceConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Field-level encryption protocol\n * GDPR/HIPAA/PCI-DSS compliant\n */\nimport { lazySchema } from '../shared/lazy-schema';\nexport const EncryptionAlgorithmSchema = lazySchema(() => z.enum([\n 'aes-256-gcm',\n 'aes-256-cbc',\n 'chacha20-poly1305',\n]).describe('Supported encryption algorithm'));\n\nexport type EncryptionAlgorithm = z.infer<typeof EncryptionAlgorithmSchema>;\n\nexport const KeyManagementProviderSchema = lazySchema(() => z.enum([\n 'local',\n 'aws-kms',\n 'azure-key-vault',\n 'gcp-kms',\n 'hashicorp-vault',\n]).describe('Key management service provider'));\n\nexport type KeyManagementProvider = z.infer<typeof KeyManagementProviderSchema>;\n\nexport const KeyRotationPolicySchema = lazySchema(() => z.object({\n enabled: z.boolean().default(false).describe('Enable automatic key rotation'),\n frequencyDays: z.number().min(1).default(90).describe('Rotation frequency in days'),\n retainOldVersions: z.number().default(3).describe('Number of old key versions to retain'),\n autoRotate: z.boolean().default(true).describe('Automatically rotate without manual approval'),\n}).describe('Policy for automatic encryption key rotation'));\n\nexport type KeyRotationPolicy = z.infer<typeof KeyRotationPolicySchema>;\nexport type KeyRotationPolicyInput = z.input<typeof KeyRotationPolicySchema>;\n\nexport const EncryptionConfigSchema = lazySchema(() => z.object({\n enabled: z.boolean().default(false).describe('Enable field-level encryption'),\n algorithm: EncryptionAlgorithmSchema.default('aes-256-gcm').describe('Encryption algorithm'),\n keyManagement: z.object({\n provider: KeyManagementProviderSchema.describe('Key management service provider'),\n keyId: z.string().optional().describe('Key identifier in the provider'),\n rotationPolicy: KeyRotationPolicySchema.optional().describe('Key rotation policy'),\n }).describe('Key management configuration'),\n scope: z.enum(['field', 'record', 'table', 'database']).describe('Encryption scope level'),\n deterministicEncryption: z.boolean().default(false).describe('Allows equality queries on encrypted data'),\n searchableEncryption: z.boolean().default(false).describe('Allows search on encrypted data'),\n}).describe('Field-level encryption configuration'));\n\nexport type EncryptionConfig = z.infer<typeof EncryptionConfigSchema>;\nexport type EncryptionConfigInput = z.input<typeof EncryptionConfigSchema>;\n\nexport const FieldEncryptionSchema = lazySchema(() => z.object({\n fieldName: z.string().describe('Name of the field to encrypt'),\n encryptionConfig: EncryptionConfigSchema.describe('Encryption settings for this field'),\n indexable: z.boolean().default(false).describe('Allow indexing on encrypted field'),\n}).describe('Per-field encryption assignment'));\n\nexport type FieldEncryption = z.infer<typeof FieldEncryptionSchema>;\nexport type FieldEncryptionInput = z.input<typeof FieldEncryptionSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Data masking protocol for PII protection\n */\nimport { lazySchema } from '../shared/lazy-schema';\nexport const MaskingStrategySchema = lazySchema(() => z.enum([\n 'redact', // Complete redaction: ****\n 'partial', // Partial masking: 138****5678\n 'hash', // Hash value: sha256(value)\n 'tokenize', // Tokenization: token-12345\n 'randomize', // Randomize: generate random value\n 'nullify', // Null value: null\n 'substitute', // Substitute with dummy data\n]).describe('Data masking strategy for PII protection'));\n\nexport type MaskingStrategy = z.infer<typeof MaskingStrategySchema>;\n\nexport const MaskingRuleSchema = lazySchema(() => z.object({\n field: z.string().describe('Field name to apply masking to'),\n strategy: MaskingStrategySchema.describe('Masking strategy to use'),\n pattern: z.string().optional().describe('Regex pattern for partial masking'),\n preserveFormat: z.boolean().default(true).describe('Keep the original data format after masking'),\n preserveLength: z.boolean().default(true).describe('Keep the original data length after masking'),\n roles: z.array(z.string()).optional().describe('Roles that see masked data'),\n exemptRoles: z.array(z.string()).optional().describe('Roles that see unmasked data'),\n}).describe('Masking rule for a single field'));\n\nexport type MaskingRule = z.infer<typeof MaskingRuleSchema>;\nexport type MaskingRuleInput = z.input<typeof MaskingRuleSchema>;\n\nexport const MaskingConfigSchema = lazySchema(() => z.object({\n enabled: z.boolean().default(false).describe('Enable data masking'),\n rules: z.array(MaskingRuleSchema).describe('List of field-level masking rules'),\n auditUnmasking: z.boolean().default(true).describe('Log when masked data is accessed unmasked'),\n}).describe('Top-level data masking configuration for PII protection'));\n\nexport type MaskingConfig = z.infer<typeof MaskingConfigSchema>;\nexport type MaskingConfigInput = z.input<typeof MaskingConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { SystemIdentifierSchema } from '../shared/identifiers.zod';\nimport { ExpressionInputSchema } from '../shared/expression.zod';\nimport { EncryptionConfigSchema } from '../system/encryption.zod';\nimport { MaskingRuleSchema } from '../system/masking.zod';\n\n/**\n * Field Type Enum\n */\nimport { lazySchema } from '../shared/lazy-schema';\nexport const FieldType = z.enum([\n // Core Text\n 'text', 'textarea', 'email', 'url', 'phone', 'password',\n // Rich Content\n 'markdown', 'html', 'richtext',\n // Numbers\n 'number', 'currency', 'percent', \n // Date & Time\n 'date', 'datetime', 'time',\n // Logic\n 'boolean', 'toggle', // Toggle is a distinct UI from checkbox\n // Selection\n 'select', // Single select dropdown\n 'multiselect', // Multi select (often tags)\n 'radio', // Radio group\n 'checkboxes', // Checkbox group\n // Relational\n 'lookup', 'master_detail', // Dynamic reference\n 'tree', // Hierarchical reference\n // Media\n 'image', 'file', 'avatar', 'video', 'audio',\n // Calculated / System\n 'formula', 'summary', 'autonumber',\n // Embedded structured values (stored as JSON on the parent row — no separate table / FK)\n 'composite', // Single embedded sub-object with declared sub-fields (≈ Strapi component / ACF group)\n 'repeater', // Repeating embedded sub-object array with declared sub-fields (≈ Strapi repeatable component / ACF repeater)\n // Enhanced Types\n 'location', // GPS coordinates\n 'address', // Structured address\n 'code', // Code editor (JSON/SQL/JS)\n 'json', // Structured JSON data (untyped escape hatch)\n 'color', // Color picker\n 'rating', // Star rating\n 'slider', // Numeric slider\n 'signature', // Digital signature\n 'qrcode', // QR code / Barcode\n 'progress', // Progress bar\n 'tags', // Simple tag list\n // AI/ML Types\n 'vector', // Vector embeddings for AI/ML (semantic search, RAG)\n]);\n\nexport type FieldType = z.infer<typeof FieldType>;\n\n/**\n * Select Option Schema\n * \n * Defines option values for select/picklist fields.\n * \n * **CRITICAL RULE**: The `value` field is a machine identifier that gets stored in the database.\n * It MUST be lowercase to avoid case-sensitivity issues in queries and comparisons.\n * \n * @example Good\n * { label: 'New', value: 'new' }\n * { label: 'In Progress', value: 'in_progress' }\n * { label: 'Closed Won', value: 'closed_won' }\n * \n * @example Bad (will be rejected)\n * { label: 'New', value: 'New' } // uppercase\n * { label: 'In Progress', value: 'In Progress' } // spaces and uppercase\n * { label: 'Closed Won', value: 'Closed_Won' } // mixed case\n */\nexport const SelectOptionSchema = lazySchema(() => z.object({\n label: z.string().describe('Display label (human-readable, any case allowed)'),\n value: SystemIdentifierSchema.describe('Stored value (lowercase machine identifier)'),\n color: z.string().optional().describe('Color code for badges/charts'),\n default: z.boolean().optional().describe('Is default option'),\n}));\n\n/**\n * Location Coordinates Schema\n * GPS coordinates for location field type\n */\nexport const LocationCoordinatesSchema = lazySchema(() => z.object({\n latitude: z.number().min(-90).max(90).describe('Latitude coordinate'),\n longitude: z.number().min(-180).max(180).describe('Longitude coordinate'),\n altitude: z.number().optional().describe('Altitude in meters'),\n accuracy: z.number().optional().describe('Accuracy in meters'),\n}));\n\n/**\n * Currency Configuration Schema\n * Configuration for currency field type supporting multi-currency\n * \n * Note: Currency codes are validated by length only (3 characters) to support:\n * - Standard ISO 4217 codes (USD, EUR, CNY, etc.)\n * - Cryptocurrency codes (BTC, ETH, etc.)\n * - Custom business-specific codes\n * Stricter validation can be implemented at the application layer based on business requirements.\n */\nexport const CurrencyConfigSchema = lazySchema(() => z.object({\n precision: z.number().int().min(0).max(10).default(2).describe('Decimal precision (default: 2)'),\n currencyMode: z.enum(['dynamic', 'fixed']).default('dynamic').describe('Currency mode: dynamic (user selectable) or fixed (single currency)'),\n defaultCurrency: z.string().length(3).default('CNY').describe('Default or fixed currency code (ISO 4217, e.g., USD, CNY, EUR)'),\n}));\n\n/**\n * Currency Value Schema\n * Runtime value structure for currency fields\n * \n * Note: Currency codes are validated by length only (3 characters) to support flexibility.\n * See CurrencyConfigSchema for details on currency code validation strategy.\n */\nexport const CurrencyValueSchema = lazySchema(() => z.object({\n value: z.number().describe('Monetary amount'),\n currency: z.string().length(3).describe('Currency code (ISO 4217)'),\n}));\n\n/**\n * Address Schema\n * Structured address for address field type\n */\nexport const AddressSchema = lazySchema(() => z.object({\n street: z.string().optional().describe('Street address'),\n city: z.string().optional().describe('City name'),\n state: z.string().optional().describe('State/Province'),\n postalCode: z.string().optional().describe('Postal/ZIP code'),\n country: z.string().optional().describe('Country name or code'),\n countryCode: z.string().optional().describe('ISO country code (e.g., US, GB)'),\n formatted: z.string().optional().describe('Formatted address string'),\n}));\n\n/**\n * Vector Configuration Schema\n * Configuration for vector field type supporting AI/ML embeddings\n * \n * Vector fields store numerical embeddings for semantic search, similarity matching,\n * and Retrieval-Augmented Generation (RAG) workflows.\n * \n * @example\n * // Text embeddings for semantic search\n * {\n * dimensions: 1536, // OpenAI text-embedding-ada-002\n * distanceMetric: 'cosine',\n * indexed: true\n * }\n * \n * @example\n * // Image embeddings with normalization\n * {\n * dimensions: 512, // ResNet-50\n * distanceMetric: 'euclidean',\n * normalized: true,\n * indexed: true\n * }\n */\nexport const VectorConfigSchema = lazySchema(() => z.object({\n dimensions: z.number().int().min(1).max(10000).describe('Vector dimensionality (e.g., 1536 for OpenAI embeddings)'),\n distanceMetric: z.enum(['cosine', 'euclidean', 'dotProduct', 'manhattan']).default('cosine').describe('Distance/similarity metric for vector search'),\n normalized: z.boolean().default(false).describe('Whether vectors are normalized (unit length)'),\n indexed: z.boolean().default(true).describe('Whether to create a vector index for fast similarity search'),\n indexType: z.enum(['hnsw', 'ivfflat', 'flat']).optional().describe('Vector index algorithm (HNSW for high accuracy, IVFFlat for large datasets)'),\n}));\n\n/**\n * File Attachment Configuration Schema\n * Configuration for file and attachment field types\n * \n * Provides comprehensive file upload capabilities with:\n * - File type restrictions (allowed/blocked)\n * - File size limits (min/max)\n * - Virus scanning integration\n * - Storage provider integration\n * - Image-specific features (dimensions, thumbnails)\n * \n * @example Basic file upload with size limit\n * {\n * maxSize: 10485760, // 10MB\n * allowedTypes: ['.pdf', '.docx', '.xlsx'],\n * virusScan: true\n * }\n * \n * @example Image upload with validation\n * {\n * maxSize: 5242880, // 5MB\n * allowedTypes: ['.jpg', '.jpeg', '.png', '.webp'],\n * imageValidation: {\n * maxWidth: 4096,\n * maxHeight: 4096,\n * generateThumbnails: true\n * }\n * }\n */\nexport const FileAttachmentConfigSchema = lazySchema(() => z.object({\n /** File Size Limits */\n minSize: z.number().min(0).optional().describe('Minimum file size in bytes'),\n maxSize: z.number().min(1).optional().describe('Maximum file size in bytes (e.g., 10485760 = 10MB)'),\n \n /** File Type Restrictions */\n allowedTypes: z.array(z.string()).optional().describe('Allowed file extensions (e.g., [\".pdf\", \".docx\", \".jpg\"])'),\n blockedTypes: z.array(z.string()).optional().describe('Blocked file extensions (e.g., [\".exe\", \".bat\", \".sh\"])'),\n allowedMimeTypes: z.array(z.string()).optional().describe('Allowed MIME types (e.g., [\"image/jpeg\", \"application/pdf\"])'),\n blockedMimeTypes: z.array(z.string()).optional().describe('Blocked MIME types'),\n \n /** Virus Scanning */\n virusScan: z.boolean().default(false).describe('Enable virus scanning for uploaded files'),\n virusScanProvider: z.enum(['clamav', 'virustotal', 'metadefender', 'custom']).optional().describe('Virus scanning service provider'),\n virusScanOnUpload: z.boolean().default(true).describe('Scan files immediately on upload'),\n quarantineOnThreat: z.boolean().default(true).describe('Quarantine files if threat detected'),\n \n /** Storage Configuration */\n storageProvider: z.string().optional().describe('Object storage provider name (references ObjectStorageConfig)'),\n storageBucket: z.string().optional().describe('Target bucket name'),\n storagePrefix: z.string().optional().describe('Storage path prefix (e.g., \"uploads/documents/\")'),\n \n /** Image-Specific Validation */\n imageValidation: z.object({\n minWidth: z.number().min(1).optional().describe('Minimum image width in pixels'),\n maxWidth: z.number().min(1).optional().describe('Maximum image width in pixels'),\n minHeight: z.number().min(1).optional().describe('Minimum image height in pixels'),\n maxHeight: z.number().min(1).optional().describe('Maximum image height in pixels'),\n aspectRatio: z.string().optional().describe('Required aspect ratio (e.g., \"16:9\", \"1:1\")'),\n generateThumbnails: z.boolean().default(false).describe('Auto-generate thumbnails'),\n thumbnailSizes: z.array(z.object({\n name: z.string().describe('Thumbnail variant name (e.g., \"small\", \"medium\", \"large\")'),\n width: z.number().min(1).describe('Thumbnail width in pixels'),\n height: z.number().min(1).describe('Thumbnail height in pixels'),\n crop: z.boolean().default(false).describe('Crop to exact dimensions'),\n })).optional().describe('Thumbnail size configurations'),\n preserveMetadata: z.boolean().default(false).describe('Preserve EXIF metadata'),\n autoRotate: z.boolean().default(true).describe('Auto-rotate based on EXIF orientation'),\n }).optional().describe('Image-specific validation rules'),\n \n /** Upload Behavior */\n allowMultiple: z.boolean().default(false).describe('Allow multiple file uploads (overrides field.multiple)'),\n allowReplace: z.boolean().default(true).describe('Allow replacing existing files'),\n allowDelete: z.boolean().default(true).describe('Allow deleting uploaded files'),\n requireUpload: z.boolean().default(false).describe('Require at least one file when field is required'),\n \n /** Metadata Extraction */\n extractMetadata: z.boolean().default(true).describe('Extract file metadata (name, size, type, etc.)'),\n extractText: z.boolean().default(false).describe('Extract text content from documents (OCR/parsing)'),\n \n /** Versioning */\n versioningEnabled: z.boolean().default(false).describe('Keep previous versions of replaced files'),\n maxVersions: z.number().min(1).optional().describe('Maximum number of versions to retain'),\n \n /** Access Control */\n publicRead: z.boolean().default(false).describe('Allow public read access to uploaded files'),\n presignedUrlExpiry: z.number().min(60).max(604800).default(3600).describe('Presigned URL expiration in seconds (default: 1 hour)'),\n}).refine((data) => {\n // Validate minSize is less than or equal to maxSize\n if (data.minSize !== undefined && data.maxSize !== undefined && data.minSize > data.maxSize) {\n return false;\n }\n return true;\n}, {\n message: 'minSize must be less than or equal to maxSize',\n}).refine((data) => {\n // Validate virusScanProvider requires virusScan to be enabled\n if (data.virusScanProvider !== undefined && data.virusScan !== true) {\n return false;\n }\n return true;\n}, {\n message: 'virusScanProvider requires virusScan to be enabled',\n}));\n\n/**\n * Data Quality Rules Schema\n * Defines data quality validation and monitoring for fields\n * \n * @example Unique SSN field with completeness requirement\n * {\n * uniqueness: true,\n * completeness: 0.95, // 95% of records must have this field\n * accuracy: {\n * source: 'government_db',\n * threshold: 0.98\n * }\n * }\n */\nexport const DataQualityRulesSchema = lazySchema(() => z.object({\n /** Enforce uniqueness constraint */\n uniqueness: z.boolean().default(false).describe('Enforce unique values across all records'),\n \n /** Completeness ratio (0-1) indicating minimum percentage of non-null values */\n completeness: z.number().min(0).max(1).default(0).describe('Minimum ratio of non-null values (0-1, default: 0 = no requirement)'),\n \n /** Accuracy validation against authoritative source */\n accuracy: z.object({\n source: z.string().describe('Reference data source for validation (e.g., \"api.verify.com\", \"master_data\")'),\n threshold: z.number().min(0).max(1).describe('Minimum accuracy threshold (0-1, e.g., 0.95 = 95% match required)'),\n }).optional().describe('Accuracy validation configuration'),\n}));\n\n/**\n * Computed Field Caching Schema\n * Configuration for caching computed/formula field results\n * \n * @example Cache product price with 1-hour TTL, invalidate on inventory changes\n * {\n * enabled: true,\n * ttl: 3600,\n * invalidateOn: ['inventory.quantity', 'pricing.discount']\n * }\n */\nexport const ComputedFieldCacheSchema = lazySchema(() => z.object({\n /** Enable caching for this computed field */\n enabled: z.boolean().describe('Enable caching for computed field results'),\n \n /** Time-to-live in seconds */\n ttl: z.number().min(0).describe('Cache TTL in seconds (0 = no expiration)'),\n \n /** Array of field paths that trigger cache invalidation when changed */\n invalidateOn: z.array(z.string()).describe('Field paths that invalidate cache (e.g., [\"inventory.quantity\", \"pricing.base_price\"])'),\n}));\n\n/**\n * Field Schema - Best Practice Enterprise Pattern\n */\n/**\n * Field Definition Schema\n * Defines the properties, type, and behavior of a single field (column) on an object.\n * \n * @example Lookup Field\n * {\n * name: \"account_id\",\n * label: \"Account\",\n * type: \"lookup\",\n * reference: \"accounts\",\n * required: true\n * }\n * \n * @example Select Field\n * {\n * name: \"status\",\n * label: \"Status\",\n * type: \"select\",\n * options: [\n * { label: \"Open\", value: \"open\" },\n * { label: \"Closed\", value: \"closed\" }\n * ],\n * defaultValue: \"open\"\n * }\n */\nexport const FieldSchema = lazySchema(() => z.object({\n /** Identity */\n name: z.string().regex(/^[a-z_][a-z0-9_]*$/).describe('Machine name (snake_case)').optional(),\n label: z.string().optional().describe('Human readable label'),\n type: FieldType.describe('Field Data Type'),\n description: z.string().optional().describe('Tooltip/Help text'),\n format: z.string().optional().describe('Format string (e.g. email, phone)'),\n\n /** Storage Layer Mapping */\n columnName: z.string().optional().describe('Physical column name in the target datasource. Defaults to the field key when not set.'),\n\n /** Database Constraints */\n required: z.boolean().default(false).describe('Is required'),\n searchable: z.boolean().default(false).describe('Is searchable'),\n multiple: z.boolean().default(false).describe('Allow multiple values (Stores as Array/JSON). Applicable for select, lookup, file, image.'),\n unique: z.boolean().default(false).describe('Is unique constraint'),\n defaultValue: z.unknown().optional().describe('Default value'),\n \n /** Text/String Constraints */\n maxLength: z.number().optional().describe('Max character length'),\n minLength: z.number().optional().describe('Min character length'),\n \n /** Number Constraints */\n precision: z.number().optional().describe('Total digits'),\n scale: z.number().optional().describe('Decimal places'),\n min: z.number().optional().describe('Minimum value'),\n max: z.number().optional().describe('Maximum value'),\n\n /** Selection Options */\n options: z.array(SelectOptionSchema).optional().describe('Static options for select/multiselect'),\n\n /**\n * Relationship Config\n * \n * Used by `lookup` and `master_detail` field types to define cross-object references.\n * The `reference` property is **required** for these types — it identifies the target\n * object whose records this field links to. The engine uses `reference` during $expand\n * post-processing to resolve foreign key IDs into full related objects via batch queries.\n * \n * For `master_detail` fields, the parent record controls the lifecycle of child records\n * (e.g., cascade delete). For `lookup` fields, the reference is a soft link.\n */\n reference: z.string().optional().describe(\n 'Target object name (snake_case) for lookup/master_detail fields. '\n + 'Required for relationship types. Used by $expand to resolve foreign key IDs into full objects.'\n ),\n referenceFilters: z.array(z.string()).optional().describe('Filters applied to lookup dialogs (e.g. \"active = true\")'),\n writeRequiresMasterRead: z.boolean().optional().describe('If true, user needs read access to master record to edit this field'),\n deleteBehavior: z.enum(['set_null', 'cascade', 'restrict']).optional().default('set_null').describe('What happens if referenced record is deleted'),\n\n /** Calculation — CEL formula. Plain string accepted for back-compat; build emits canonical envelope. */\n expression: ExpressionInputSchema.optional().describe('Formula expression (CEL). e.g. F`record.amount * 0.1`'),\n summaryOperations: z.object({\n object: z.string().describe('Source child object name for roll-up'),\n field: z.string().describe('Field on child object to aggregate'),\n function: z.enum(['count', 'sum', 'min', 'max', 'avg']).describe('Aggregation function to apply'),\n }).optional().describe('Roll-up summary definition'),\n\n /** Enhanced Field Type Configurations */\n // Code field config\n language: z.string().optional().describe('Programming language for syntax highlighting (e.g., javascript, python, sql)'),\n theme: z.string().optional().describe('Code editor theme (e.g., dark, light, monokai)'),\n lineNumbers: z.boolean().optional().describe('Show line numbers in code editor'),\n \n // Rating field config\n maxRating: z.number().optional().describe('Maximum rating value (default: 5)'),\n allowHalf: z.boolean().optional().describe('Allow half-star ratings'),\n \n // Location field config\n displayMap: z.boolean().optional().describe('Display map widget for location field'),\n allowGeocoding: z.boolean().optional().describe('Allow address-to-coordinate conversion'),\n \n // Address field config\n addressFormat: z.enum(['us', 'uk', 'international']).optional().describe('Address format template'),\n \n // Color field config\n colorFormat: z.enum(['hex', 'rgb', 'rgba', 'hsl']).optional().describe('Color value format'),\n allowAlpha: z.boolean().optional().describe('Allow transparency/alpha channel'),\n presetColors: z.array(z.string()).optional().describe('Preset color options'),\n \n // Slider field config\n step: z.number().optional().describe('Step increment for slider (default: 1)'),\n showValue: z.boolean().optional().describe('Display current value on slider'),\n marks: z.record(z.string(), z.string()).optional().describe('Custom marks/labels at specific values (e.g., {0: \"Low\", 50: \"Medium\", 100: \"High\"})'),\n \n // QR Code / Barcode field config\n // Note: qrErrorCorrection is only applicable when barcodeFormat='qr'\n // Runtime validation should enforce this constraint\n barcodeFormat: z.enum(['qr', 'ean13', 'ean8', 'code128', 'code39', 'upca', 'upce']).optional().describe('Barcode format type'),\n qrErrorCorrection: z.enum(['L', 'M', 'Q', 'H']).optional().describe('QR code error correction level (L=7%, M=15%, Q=25%, H=30%). Only applicable when barcodeFormat is \"qr\"'),\n displayValue: z.boolean().optional().describe('Display human-readable value below barcode/QR code'),\n allowScanning: z.boolean().optional().describe('Enable camera scanning for barcode/QR code input'),\n\n // Currency field config\n currencyConfig: CurrencyConfigSchema.optional().describe('Configuration for currency field type'),\n\n // Vector field config\n vectorConfig: VectorConfigSchema.optional().describe('Configuration for vector field type (AI/ML embeddings)'),\n\n // File attachment field config\n fileAttachmentConfig: FileAttachmentConfigSchema.optional().describe('Configuration for file and attachment field types'),\n\n /** Enhanced Security & Compliance */\n // Encryption configuration\n encryptionConfig: EncryptionConfigSchema.optional().describe('Field-level encryption configuration for sensitive data (GDPR/HIPAA/PCI-DSS)'),\n \n // Data masking rules\n maskingRule: MaskingRuleSchema.optional().describe('Data masking rules for PII protection'),\n \n // Audit trail\n auditTrail: z.boolean().default(false).describe('Enable detailed audit trail for this field (tracks all changes with user and timestamp)'),\n \n /** Field Dependencies & Relationships */\n // Field dependencies\n dependencies: z.array(z.string()).optional().describe('Array of field names that this field depends on (for formulas, visibility rules, etc.)'),\n \n /** Computed Field Optimization */\n // Computed field caching\n cached: ComputedFieldCacheSchema.optional().describe('Caching configuration for computed/formula fields'),\n \n /** Data Quality & Governance */\n // Data quality rules\n dataQuality: DataQualityRulesSchema.optional().describe('Data quality validation and monitoring rules'),\n\n /** Layout & Grouping */\n group: z.string().optional().describe('Field group name for organizing fields in forms and layouts (e.g., \"contact_info\", \"billing\", \"system\")'),\n\n /** Conditional Requirements */\n conditionalRequired: ExpressionInputSchema.optional().describe('Predicate (CEL) — field is required when TRUE. e.g. P`record.status == \\'closed_won\\'`'),\n\n /** Security & Visibility */\n hidden: z.boolean().default(false).describe('Hidden from default UI'),\n readonly: z.boolean().default(false).describe('Read-only in UI'),\n system: z.boolean().optional().describe('Auto-injected system/audit field (e.g. created_at, updated_by, organization_id). Tools that surface system fields separately from author-declared business fields should branch on this flag.'),\n sortable: z.boolean().optional().default(true).describe('Whether field is sortable in list views'),\n inlineHelpText: z.string().optional().describe('Help text displayed below the field in forms'),\n trackFeedHistory: z.boolean().optional().describe('Track field changes in Chatter/activity feed (Salesforce pattern)'),\n caseSensitive: z.boolean().optional().describe('Whether text comparisons are case-sensitive'),\n autonumberFormat: z.string().optional().describe('Auto-number display format pattern (e.g., \"CASE-{0000}\")'),\n /** Indexing */\n index: z.boolean().default(false).describe('Create standard database index'),\n externalId: z.boolean().default(false).describe('Is external ID for upsert operations'),\n}));\n\nexport type Field = z.infer<typeof FieldSchema>;\nexport type SelectOption = z.infer<typeof SelectOptionSchema>;\nexport type LocationCoordinates = z.infer<typeof LocationCoordinatesSchema>;\nexport type Address = z.infer<typeof AddressSchema>;\nexport type CurrencyConfig = z.infer<typeof CurrencyConfigSchema>;\nexport type CurrencyConfigInput = z.input<typeof CurrencyConfigSchema>;\nexport type CurrencyValue = z.infer<typeof CurrencyValueSchema>;\nexport type VectorConfig = z.infer<typeof VectorConfigSchema>;\nexport type VectorConfigInput = z.input<typeof VectorConfigSchema>;\nexport type FileAttachmentConfig = z.infer<typeof FileAttachmentConfigSchema>;\nexport type FileAttachmentConfigInput = z.input<typeof FileAttachmentConfigSchema>;\nexport type DataQualityRules = z.infer<typeof DataQualityRulesSchema>;\nexport type DataQualityRulesInput = z.input<typeof DataQualityRulesSchema>;\nexport type ComputedFieldCache = z.infer<typeof ComputedFieldCacheSchema>;\n\n/**\n * Field Factory Helper\n */\nexport type FieldInput = Omit<Partial<Field>, 'type'>;\n\nexport const Field = {\n text: (config: FieldInput = {}) => ({ type: 'text', ...config } as const),\n textarea: (config: FieldInput = {}) => ({ type: 'textarea', ...config } as const),\n number: (config: FieldInput = {}) => ({ type: 'number', ...config } as const),\n boolean: (config: FieldInput = {}) => ({ type: 'boolean', ...config } as const),\n date: (config: FieldInput = {}) => ({ type: 'date', ...config } as const),\n datetime: (config: FieldInput = {}) => ({ type: 'datetime', ...config } as const),\n currency: (config: FieldInput = {}) => ({ type: 'currency', ...config } as const),\n percent: (config: FieldInput = {}) => ({ type: 'percent', ...config } as const),\n url: (config: FieldInput = {}) => ({ type: 'url', ...config } as const),\n email: (config: FieldInput = {}) => ({ type: 'email', ...config } as const),\n phone: (config: FieldInput = {}) => ({ type: 'phone', ...config } as const),\n image: (config: FieldInput = {}) => ({ type: 'image', ...config } as const),\n file: (config: FieldInput = {}) => ({ type: 'file', ...config } as const),\n avatar: (config: FieldInput = {}) => ({ type: 'avatar', ...config } as const),\n formula: (config: FieldInput = {}) => ({ type: 'formula', ...config } as const),\n summary: (config: FieldInput = {}) => ({ type: 'summary', ...config } as const),\n autonumber: (config: FieldInput = {}) => ({ type: 'autonumber', ...config } as const),\n markdown: (config: FieldInput = {}) => ({ type: 'markdown', ...config } as const),\n html: (config: FieldInput = {}) => ({ type: 'html', ...config } as const),\n password: (config: FieldInput = {}) => ({ type: 'password', ...config } as const),\n \n /**\n * Select field helper with backward-compatible API\n * \n * Automatically converts option values to lowercase to enforce naming conventions.\n * \n * @example Old API (array first) - auto-converts to lowercase\n * Field.select(['High', 'Low'], { label: 'Priority' })\n * // Results in: [{ label: 'High', value: 'high' }, { label: 'Low', value: 'low' }]\n * \n * @example New API (config object) - enforces lowercase\n * Field.select({ options: [{label: 'High', value: 'high'}], label: 'Priority' })\n * \n * @example Multi-word values - converts to snake_case\n * Field.select(['In Progress', 'Closed Won'], { label: 'Status' })\n * // Results in: [{ label: 'In Progress', value: 'in_progress' }, { label: 'Closed Won', value: 'closed_won' }]\n */\n select: (optionsOrConfig: SelectOption[] | string[] | FieldInput & { options: SelectOption[] | string[] }, config?: FieldInput) => {\n // Helper function to convert string to lowercase snake_case\n const toSnakeCase = (str: string): string => {\n return str\n .toLowerCase()\n .replace(/\\s+/g, '_') // Replace spaces with underscores\n .replace(/[^a-z0-9_]/g, ''); // Remove invalid characters (keeping underscores only)\n };\n\n // Support both old and new signatures:\n // Old: Field.select(['a', 'b'], { label: 'X' })\n // New: Field.select({ options: [{label: 'A', value: 'a'}], label: 'X' })\n let options: SelectOption[];\n let finalConfig: FieldInput;\n \n if (Array.isArray(optionsOrConfig)) {\n // Old signature: array as first param\n options = optionsOrConfig.map(o => \n typeof o === 'string' \n ? { label: o, value: toSnakeCase(o) } // Auto-convert string to snake_case\n : { ...o, value: o.value.toLowerCase() } // Ensure value is lowercase\n );\n finalConfig = config || {};\n } else {\n // New signature: config object with options\n options = (optionsOrConfig.options || []).map(o => \n typeof o === 'string' \n ? { label: o, value: toSnakeCase(o) } // Auto-convert string to snake_case\n : { ...o, value: o.value.toLowerCase() } // Ensure value is lowercase\n );\n // Remove options from config to avoid confusion\n const { options: _, ...restConfig } = optionsOrConfig;\n finalConfig = restConfig;\n }\n \n return { type: 'select', options, ...finalConfig } as const;\n },\n\n \n lookup: (reference: string, config: FieldInput = {}) => ({ \n type: 'lookup', \n reference, \n ...config \n } as const),\n \n masterDetail: (reference: string, config: FieldInput = {}) => ({ \n type: 'master_detail', \n reference, \n ...config \n } as const),\n\n // Enhanced Field Type Helpers\n location: (config: FieldInput = {}) => ({ \n type: 'location', \n ...config \n } as const),\n \n address: (config: FieldInput = {}) => ({ \n type: 'address', \n ...config \n } as const),\n \n richtext: (config: FieldInput = {}) => ({ \n type: 'richtext', \n ...config \n } as const),\n \n code: (language?: string, config: FieldInput = {}) => ({ \n type: 'code', \n language,\n ...config \n } as const),\n \n color: (config: FieldInput = {}) => ({ \n type: 'color', \n ...config \n } as const),\n \n rating: (maxRating: number = 5, config: FieldInput = {}) => ({ \n type: 'rating', \n maxRating,\n ...config \n } as const),\n \n signature: (config: FieldInput = {}) => ({ \n type: 'signature', \n ...config \n } as const),\n \n slider: (config: FieldInput = {}) => ({ \n type: 'slider', \n ...config \n } as const),\n \n qrcode: (config: FieldInput = {}) => ({ \n type: 'qrcode', \n ...config \n } as const),\n \n json: (config: FieldInput = {}) => ({ \n type: 'json', \n ...config \n } as const),\n \n vector: (dimensions: number, config: FieldInput = {}) => ({ \n type: 'vector', \n vectorConfig: {\n dimensions,\n distanceMetric: 'cosine' as const,\n normalized: false,\n indexed: true,\n ...config.vectorConfig\n },\n ...config \n } as const),\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Shared HTTP Schemas\n * \n * Common HTTP-related schemas used across API and System protocols.\n * These schemas ensure consistency across different parts of the stack.\n */\n\n// ==========================================\n// Basic HTTP Types\n// ==========================================\n\n/**\n * HTTP Method Enum\n */\nimport { lazySchema } from './lazy-schema';\nexport const HttpMethod = z.enum([\n 'GET', \n 'POST', \n 'PUT', \n 'DELETE', \n 'PATCH', \n 'HEAD', \n 'OPTIONS'\n]);\n\nexport type HttpMethod = z.infer<typeof HttpMethod>;\n\n/**\n * HTTP Method Schema (subset for UI/View data sources)\n * Common HTTP methods used in view data source configurations.\n * Migrated from ui/view.zod.ts to shared for reuse across modules.\n */\nexport const HttpMethodSchema = lazySchema(() => z.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE']));\n\nexport type HttpMethodType = z.infer<typeof HttpMethodSchema>;\n\n/**\n * HTTP Request Configuration Schema\n * Defines a complete HTTP request configuration used by API data providers.\n * Migrated from ui/view.zod.ts to shared for reuse across modules.\n */\nexport const HttpRequestSchema = lazySchema(() => z.object({\n url: z.string().describe('API endpoint URL'),\n method: HttpMethodSchema.optional().default('GET').describe('HTTP method'),\n headers: z.record(z.string(), z.string()).optional().describe('Custom HTTP headers'),\n params: z.record(z.string(), z.unknown()).optional().describe('Query parameters'),\n body: z.unknown().optional().describe('Request body for POST/PUT/PATCH'),\n}));\n\nexport type HttpRequest = z.infer<typeof HttpRequestSchema>;\n\n// ==========================================\n// CORS Configuration\n// ==========================================\n\n/**\n * CORS Configuration Schema\n * Cross-Origin Resource Sharing configuration\n * \n * Used by:\n * - api/router.zod.ts (RouterConfigSchema)\n * - system/http-server.zod.ts (HttpServerConfigSchema)\n * \n * @example\n * {\n * \"enabled\": true,\n * \"origins\": [\"http://localhost:3000\", \"https://app.example.com\"],\n * \"methods\": [\"GET\", \"POST\", \"PUT\", \"DELETE\"],\n * \"credentials\": true,\n * \"maxAge\": 86400\n * }\n */\nexport const CorsConfigSchema = lazySchema(() => z.object({\n /**\n * Enable CORS\n */\n enabled: z.boolean().default(true).describe('Enable CORS'),\n \n /**\n * Allowed origins (* for all)\n */\n origins: z.union([\n z.string(),\n z.array(z.string())\n ]).default('*').describe('Allowed origins (* for all)'),\n \n /**\n * Allowed HTTP methods\n */\n methods: z.array(HttpMethod).optional().describe('Allowed HTTP methods'),\n \n /**\n * Allow credentials (cookies, authorization headers)\n */\n credentials: z.boolean().default(false).describe('Allow credentials (cookies, authorization headers)'),\n \n /**\n * Preflight cache duration in seconds\n */\n maxAge: z.number().int().optional().describe('Preflight cache duration in seconds'),\n}));\n\nexport type CorsConfig = z.infer<typeof CorsConfigSchema>;\n\n// ==========================================\n// Rate Limiting\n// ==========================================\n\n/**\n * Rate Limit Configuration Schema\n * \n * Used by:\n * - api/endpoint.zod.ts (ApiEndpointSchema)\n * - system/http-server.zod.ts (HttpServerConfigSchema)\n * \n * @example\n * {\n * \"enabled\": true,\n * \"windowMs\": 60000,\n * \"maxRequests\": 100\n * }\n */\nexport const RateLimitConfigSchema = lazySchema(() => z.object({\n /**\n * Enable rate limiting\n */\n enabled: z.boolean().default(false).describe('Enable rate limiting'),\n \n /**\n * Time window in milliseconds\n */\n windowMs: z.number().int().default(60000).describe('Time window in milliseconds'),\n \n /**\n * Max requests per window\n */\n maxRequests: z.number().int().default(100).describe('Max requests per window'),\n}));\n\nexport type RateLimitConfig = z.infer<typeof RateLimitConfigSchema>;\n\n// ==========================================\n// Static File Serving\n// ==========================================\n\n/**\n * Static Mount Configuration Schema\n * Configuration for serving static files\n * \n * Used by:\n * - api/router.zod.ts (RouterConfigSchema)\n * - system/http-server.zod.ts (HttpServerConfigSchema)\n * \n * @example\n * {\n * \"path\": \"/static\",\n * \"directory\": \"./public\",\n * \"cacheControl\": \"public, max-age=31536000\"\n * }\n */\nexport const StaticMountSchema = lazySchema(() => z.object({\n /**\n * URL path to serve from\n */\n path: z.string().describe('URL path to serve from'),\n \n /**\n * Physical directory to serve\n */\n directory: z.string().describe('Physical directory to serve'),\n \n /**\n * Cache-Control header value\n */\n cacheControl: z.string().optional().describe('Cache-Control header value'),\n}));\n\nexport type StaticMount = z.infer<typeof StaticMountSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\nimport { ExpressionInputSchema } from '../shared/expression.zod';\nimport { I18nLabelSchema, AriaPropsSchema } from './i18n.zod';\nimport { SharingConfigSchema } from './sharing.zod';\nimport { ResponsiveConfigSchema, PerformanceConfigSchema } from './responsive.zod';\nimport { FieldType, SelectOptionSchema } from '../data/field.zod';\n\n/**\n * HTTP Method Enum & HTTP Request Schema\n * Migrated to shared/http.zod.ts. Re-exported here for backward compatibility.\n */\nimport { HttpMethodSchema, HttpRequestSchema } from '../shared/http.zod';\nimport { lazySchema } from '../shared/lazy-schema';\nexport { HttpMethodSchema, HttpRequestSchema };\n\n/**\n * View Data Source Configuration\n * Supports three modes:\n * 1. 'object': Standard Protocol - Auto-connects to ObjectStack Metadata and Data APIs\n * 2. 'api': Custom API - Explicitly provided API URLs\n * 3. 'value': Static Data - Hardcoded data array\n */\nexport const ViewDataSchema = lazySchema(() => z.discriminatedUnion('provider', [\n z.object({\n provider: z.literal('object'),\n object: z.string().describe('Target object name'),\n }),\n z.object({\n provider: z.literal('api'),\n read: HttpRequestSchema.optional().describe('Configuration for fetching data'),\n write: HttpRequestSchema.optional().describe('Configuration for submitting data (for forms/editable tables)'),\n }),\n z.object({\n provider: z.literal('value'),\n items: z.array(z.unknown()).describe('Static data array'),\n }),\n /**\n * Schema-bound data source — used by standalone forms whose data is\n * shaped by a JSON Schema (or Zod-derived schema) rather than by an\n * ObjectQL object. Powers the metadata editor, action input dialogs,\n * and any Form that is not bound to a CRUD object.\n */\n z.object({\n provider: z.literal('schema'),\n /** Schema identifier (e.g. metadata type name \"report\"). Resolved at runtime against /meta entries. */\n schemaId: z.string().describe('Schema identifier — typically the metadata type name'),\n /** Optional inline JSON Schema; when omitted the runtime resolves schemaId from the server. */\n schema: z.record(z.string(), z.unknown()).optional().describe('Inline JSON Schema (Draft 2020-12). Optional when schemaId is resolvable.'),\n }),\n]));\n\n/**\n * View Filter Rule Schema\n * Standardized filter condition used in list views, tabs, and page-level filters.\n * Uses a declarative array-of-objects format: [{ field, operator, value }].\n *\n * @example\n * ```ts\n * filter: [\n * { field: 'status', operator: 'equals', value: 'active' },\n * { field: 'close_date', operator: 'this_quarter' },\n * ]\n * ```\n */\nexport const ViewFilterRuleSchema = lazySchema(() => z.object({\n /** Field name to filter on */\n field: z.string().describe('Field name to filter on'),\n /** Filter operator */\n operator: z.string().describe('Filter operator (e.g. equals, not_equals, contains, this_quarter)'),\n /** Filter value (optional for unary operators like is_null, this_quarter) */\n value: z.union([z.string(), z.number(), z.boolean(), z.null(), z.array(z.union([z.string(), z.number()]))])\n .optional().describe('Filter value'),\n}).describe('View filter rule'));\n\nexport type ViewFilterRule = z.infer<typeof ViewFilterRuleSchema>;\n\n/**\n * Column Summary Function Schema\n * Aggregation function for column footer (Airtable-style column summaries)\n */\nexport const ColumnSummarySchema = lazySchema(() => z.enum([\n 'none',\n 'count',\n 'count_empty',\n 'count_filled',\n 'count_unique',\n 'percent_empty',\n 'percent_filled',\n 'sum',\n 'avg',\n 'min',\n 'max',\n]).describe('Aggregation function for column footer summary'));\n\n/**\n * List Column Configuration Schema\n * Detailed configuration for individual list view columns\n */\nexport const ListColumnSchema = lazySchema(() => z.object({\n field: z.string().describe('Field name (snake_case)'),\n label: I18nLabelSchema.optional().describe('Display label override'),\n width: z.number().positive().optional().describe('Column width in pixels'),\n align: z.enum(['left', 'center', 'right']).optional().describe('Text alignment'),\n hidden: z.boolean().optional().describe('Hide column by default'),\n sortable: z.boolean().optional().describe('Allow sorting by this column'),\n resizable: z.boolean().optional().describe('Allow resizing this column'),\n wrap: z.boolean().optional().describe('Allow text wrapping'),\n type: z.string().optional().describe('Renderer type override (e.g., \"currency\", \"date\")'),\n\n /** Pinning (Airtable-style frozen columns) */\n pinned: z.enum(['left', 'right']).optional().describe('Pin/freeze column to left or right side'),\n\n /** Column Footer Summary (Airtable-style aggregation) */\n summary: ColumnSummarySchema.optional().describe('Footer aggregation function for this column'),\n\n /** Interaction */\n link: z.boolean().optional().describe('Functions as the primary navigation link (triggers View navigation)'),\n action: z.string().optional().describe('Registered Action ID to execute when clicked'),\n}));\n\n/**\n * List View Selection Configuration\n */\nexport const SelectionConfigSchema = lazySchema(() => z.object({\n type: z.enum(['none', 'single', 'multiple']).default('none').describe('Selection mode'),\n}));\n\n/**\n * List View Pagination Configuration\n */\nexport const PaginationConfigSchema = lazySchema(() => z.object({\n pageSize: z.number().int().positive().default(25).describe('Number of records per page'),\n pageSizeOptions: z.array(z.number().int().positive()).optional().describe('Available page size options'),\n}));\n\n/**\n * Row Height / Density Schema (Airtable-style)\n * Controls the visual density of rows in a list view.\n */\nexport const RowHeightSchema = lazySchema(() => z.enum([\n 'compact', // Minimal padding, single line\n 'short', // Reduced padding\n 'medium', // Default padding\n 'tall', // Extra padding, multi-line preview\n 'extra_tall', // Maximum padding, rich content preview\n]).describe('Row height / density setting for list view'));\n\n/**\n * Grouping Field Configuration\n * Defines a single grouping level for record grouping.\n */\nexport const GroupingFieldSchema = lazySchema(() => z.object({\n field: z.string().describe('Field name to group by'),\n order: z.enum(['asc', 'desc']).default('asc').describe('Group sort order'),\n collapsed: z.boolean().default(false).describe('Collapse groups by default'),\n}));\n\n/**\n * Grouping Configuration Schema (Airtable-style)\n * Supports multi-level grouping for grid/gallery views.\n */\nexport const GroupingConfigSchema = lazySchema(() => z.object({\n fields: z.array(GroupingFieldSchema).min(1).describe('Fields to group by (supports up to 3 levels)'),\n}).describe('Record grouping configuration'));\n\n/**\n * Gallery View Configuration (Airtable-style)\n * Configures card layout for gallery/card views.\n */\nexport const GalleryConfigSchema = lazySchema(() => z.object({\n coverField: z.string().optional().describe('Attachment/image field to display as card cover'),\n coverFit: z.enum(['cover', 'contain']).default('cover').describe('Image fit mode for card cover'),\n cardSize: z.enum(['small', 'medium', 'large']).default('medium').describe('Card size in gallery view'),\n titleField: z.string().optional().describe('Field to display as card title'),\n visibleFields: z.array(z.string()).optional().describe('Fields to display on card body'),\n}).describe('Gallery/card view configuration'));\n\n/**\n * Timeline View Configuration (Airtable-style)\n * Configures timeline/chronological views.\n */\nexport const TimelineConfigSchema = lazySchema(() => z.object({\n startDateField: z.string().describe('Field for timeline item start date'),\n endDateField: z.string().optional().describe('Field for timeline item end date'),\n titleField: z.string().describe('Field to display as timeline item title'),\n groupByField: z.string().optional().describe('Field to group timeline rows'),\n colorField: z.string().optional().describe('Field to determine item color'),\n scale: z.enum(['hour', 'day', 'week', 'month', 'quarter', 'year']).default('week').describe('Default timeline scale'),\n}).describe('Timeline view configuration'));\n\n/**\n * View Sharing Configuration (Airtable-style)\n * Defines who can see and modify a view.\n */\nexport const ViewSharingSchema = lazySchema(() => z.object({\n type: z.enum(['personal', 'collaborative']).default('collaborative').describe('View ownership type'),\n lockedBy: z.string().optional().describe('User who locked the view configuration'),\n}).describe('View sharing and access configuration'));\n\n/**\n * Row Color Configuration (Airtable-style)\n * Defines how rows are colored based on field values.\n */\nexport const RowColorConfigSchema = lazySchema(() => z.object({\n field: z.string().describe('Field to derive color from (typically a select/status field)'),\n colors: z.record(z.string(), z.string()).optional().describe('Map of field value to color (hex/token)'),\n}).describe('Row color configuration based on field values'));\n\n/**\n * Visualization Type Schema\n * Whitelist of visualization types the user can switch between.\n * Maps to Airtable's \"Visualizations\" setting in Appearance panel.\n */\nexport const VisualizationTypeSchema = lazySchema(() => z.enum([\n 'grid',\n 'kanban',\n 'gallery',\n 'calendar',\n 'timeline',\n 'gantt',\n 'map',\n]).describe('Visualization type that users can switch to'));\n\n/**\n * User Actions Configuration Schema (Airtable Interface parity)\n * Controls which interactive actions are available to users in the view toolbar.\n * Each boolean toggles the corresponding toolbar element on/off.\n *\n * @see Airtable Interface → \"User actions\" panel\n */\nexport const UserActionsConfigSchema = lazySchema(() => z.object({\n sort: z.boolean().default(true).describe('Allow users to sort records'),\n search: z.boolean().default(true).describe('Allow users to search records'),\n filter: z.boolean().default(true).describe('Allow users to filter records'),\n rowHeight: z.boolean().default(true).describe('Allow users to toggle row height/density'),\n addRecordForm: z.boolean().default(false).describe('Add records through a form instead of inline'),\n buttons: z.array(z.string()).optional().describe('Custom action button IDs to show in the toolbar'),\n}).describe('User action toggles for the view toolbar'));\n\n/**\n * Appearance Configuration Schema (Airtable Interface parity)\n * Controls visual presentation options for the view.\n *\n * @see Airtable Interface → \"Appearance\" panel\n */\nexport const AppearanceConfigSchema = lazySchema(() => z.object({\n showDescription: z.boolean().default(true).describe('Show the view description text'),\n allowedVisualizations: z.array(VisualizationTypeSchema).optional()\n .describe('Whitelist of visualization types users can switch between (e.g. [\"grid\", \"gallery\", \"kanban\"])'),\n}).describe('Appearance and visualization configuration'));\n\n/**\n * View Tab Schema (Airtable Interface parity)\n * Defines a tab in a multi-tab view interface.\n * Each tab references a named list view and can be ordered, pinned, or set as default.\n *\n * @see Airtable Interface → \"Tabs\" panel\n */\nexport const ViewTabSchema = lazySchema(() => z.object({\n name: SnakeCaseIdentifierSchema.describe('Tab identifier (snake_case)'),\n label: I18nLabelSchema.optional().describe('Display label'),\n icon: z.string().optional().describe('Tab icon name'),\n view: z.string().optional().describe('Referenced list view name from listViews'),\n filter: z.array(ViewFilterRuleSchema).optional().describe('Tab-specific filter criteria'),\n order: z.number().int().min(0).optional().describe('Tab display order'),\n pinned: z.boolean().default(false).describe('Pin tab (cannot be removed by users)'),\n isDefault: z.boolean().default(false).describe('Set as the default active tab'),\n visible: z.boolean().default(true).describe('Tab visibility'),\n}).describe('Tab configuration for multi-tab view interface'));\n\n/**\n * Add Record Configuration Schema (Airtable Interface parity)\n * Configures the \"Add Record\" entry point for a list view.\n *\n * @see Airtable Interface → \"+ Add record\" button\n */\nexport const AddRecordConfigSchema = lazySchema(() => z.object({\n enabled: z.boolean().default(true).describe('Show the add record entry point'),\n position: z.enum(['top', 'bottom', 'both']).default('bottom').describe('Position of the add record button'),\n mode: z.enum(['inline', 'form', 'modal']).default('inline').describe('How to add a new record'),\n formView: z.string().optional().describe('Named form view to use when mode is \"form\" or \"modal\"'),\n}).describe('Add record entry point configuration'));\n\n/**\n * Kanban Settings\n */\nexport const KanbanConfigSchema = lazySchema(() => z.object({\n groupByField: z.string().describe('Field to group columns by (usually status/select)'),\n summarizeField: z.string().optional().describe('Field to sum at top of column (e.g. amount)'),\n columns: z.array(z.string()).describe('Fields to show on cards'),\n}));\n\n/**\n * List Chart View Configuration (Airtable-style)\n * Configures aggregate chart visualizations (bar/line/pie/area/scatter)\n * when used as a `type: 'chart'` ListView. Distinct from the full-featured\n * `ChartConfigSchema` in `chart.zod.ts` (which is for embedded reports).\n */\nexport const ListChartConfigSchema = lazySchema(() => z.object({\n chartType: z.enum(['bar', 'line', 'pie', 'area', 'scatter']).default('bar').describe('Chart visualisation type'),\n xAxisField: z.string().describe('Field used as the X axis / category dimension'),\n yAxisFields: z.array(z.string()).min(1).describe('Field(s) used as the Y axis / measures'),\n aggregation: z.enum(['sum', 'avg', 'count', 'min', 'max']).optional().describe('Aggregation function applied to Y axis fields'),\n groupByField: z.string().optional().describe('Optional field used to split / stack the chart'),\n}).describe('List chart view configuration'));\n\n/**\n * Calendar Settings\n */\nexport const CalendarConfigSchema = lazySchema(() => z.object({\n startDateField: z.string(),\n endDateField: z.string().optional(),\n titleField: z.string(),\n colorField: z.string().optional(),\n}));\n\n/**\n * Gantt Settings\n */\nexport const GanttConfigSchema = lazySchema(() => z.object({\n startDateField: z.string(),\n endDateField: z.string(),\n titleField: z.string(),\n progressField: z.string().optional(),\n dependenciesField: z.string().optional(),\n}));\n\n/**\n * Navigation Mode Enum\n * Defines how to navigate to the detail view from a list item.\n */\nexport const NavigationModeSchema = lazySchema(() => z.enum([\n 'page', // Navigate to a new route (default)\n 'drawer', // Open details in a side drawer/panel\n 'modal', // Open details in a modal dialog\n 'split', // Show details side-by-side with the list (master-detail)\n 'popover', // Show details in a popover (lightweight)\n 'new_window', // Open in new browser tab/window\n 'none' // No navigation (read-only list)\n]));\n\n/**\n * Navigation Configuration Schema\n */\nexport const NavigationConfigSchema = lazySchema(() => z.object({\n mode: NavigationModeSchema.default('page'),\n \n /** Target View Config */\n view: z.string().optional().describe('Name of the form view to use for details (e.g. \"summary_view\", \"edit_form\")'),\n \n /** Interaction Triggers */\n preventNavigation: z.boolean().default(false).describe('Disable standard navigation entirely'),\n openNewTab: z.boolean().default(false).describe('Force open in new tab (applies to page mode)'),\n \n /** Dimensions (for modal/drawer) */\n width: z.union([z.string(), z.number()]).optional().describe('Width of the drawer/modal (e.g. \"600px\", \"50%\")'),\n}));\n\n/**\n * List View Schema (Expanded)\n * Defines how a collection of records is displayed to the user.\n * \n * **NAMING CONVENTION:**\n * View names (when provided) are machine identifiers and must be lowercase snake_case.\n * \n * @example Standard Grid\n * {\n * name: \"all_active\",\n * label: \"All Active\",\n * type: \"grid\",\n * columns: [\"name\", \"status\", \"created_at\"],\n * filter: [[\"status\", \"=\", \"active\"]]\n * }\n * \n * @example Kanban Board\n * {\n * type: \"kanban\",\n * columns: [\"name\", \"amount\"],\n * kanban: {\n * groupByField: \"stage\",\n * summarizeField: \"amount\",\n * columns: [\"name\", \"close_date\"]\n * }\n * }\n */\nexport const ListViewSchema = lazySchema(() => z.object({\n name: SnakeCaseIdentifierSchema.optional().describe('Internal view name (lowercase snake_case)'),\n label: I18nLabelSchema.optional(), // Display label override (supports i18n)\n type: z.enum([\n 'grid', // Standard Data Table\n 'kanban', // Board / Columns\n 'gallery', // Card Deck / Masonry\n 'calendar', // Monthly/Weekly/Daily\n 'timeline', // Chronological Stream (Feed)\n 'gantt', // Project Timeline\n 'map', // Geospatial\n 'chart' // Aggregate visualisation\n ]).default('grid'),\n \n /** Data Source Configuration */\n data: ViewDataSchema.optional().describe('Data source configuration (defaults to \"object\" provider)'),\n \n /** Shared Query Config */\n columns: z.union([\n z.array(z.string()), // Legacy: simple field names\n z.array(ListColumnSchema), // Enhanced: detailed column config\n ]).describe('Fields to display as columns'),\n filter: z.array(ViewFilterRuleSchema).optional().describe('Filter criteria (JSON Rules)'),\n sort: z.union([\n z.string(), //Legacy \"field desc\"\n z.array(z.object({\n field: z.string(),\n order: z.enum(['asc', 'desc'])\n }))\n ]).optional(),\n \n /** Search & Filter */\n searchableFields: z.array(z.string()).optional().describe('Fields enabled for search'),\n filterableFields: z.array(z.string()).optional().describe('Fields enabled for end-user filtering in the top bar'),\n\n /** Grid Features */\n resizable: z.boolean().optional().describe('Enable column resizing'),\n striped: z.boolean().optional().describe('Striped row styling'),\n bordered: z.boolean().optional().describe('Show borders'),\n compactToolbar: z.boolean().optional().describe('Collapse Group/Color/Density/Hide-fields into a single View settings popover'),\n\n /** Selection */\n selection: SelectionConfigSchema.optional().describe('Row selection configuration'),\n\n /** Navigation / Interaction */\n navigation: NavigationConfigSchema.optional().describe('Configuration for item click navigation (page, drawer, modal, etc.)'),\n\n /** Pagination */\n pagination: PaginationConfigSchema.optional().describe('Pagination configuration'),\n\n /** Type Specific Config */\n kanban: KanbanConfigSchema.optional(),\n calendar: CalendarConfigSchema.optional(),\n gantt: GanttConfigSchema.optional(),\n gallery: GalleryConfigSchema.optional(),\n timeline: TimelineConfigSchema.optional(),\n chart: ListChartConfigSchema.optional(),\n\n /** View Metadata (Airtable-style view management) */\n description: I18nLabelSchema.optional().describe('View description for documentation/tooltips'),\n sharing: ViewSharingSchema.optional().describe('View sharing and access configuration'),\n\n /** Row Height / Density (Airtable-style) */\n rowHeight: RowHeightSchema.optional().describe('Row height / density setting'),\n\n /** Record Grouping (Airtable-style) */\n grouping: GroupingConfigSchema.optional().describe('Group records by one or more fields'),\n\n /** Row Color (Airtable-style) */\n rowColor: RowColorConfigSchema.optional().describe('Color rows based on field value'),\n\n /** Field Visibility & Ordering per View (Airtable-style) */\n hiddenFields: z.array(z.string()).optional().describe('Fields to hide in this specific view'),\n fieldOrder: z.array(z.string()).optional().describe('Explicit field display order for this view'),\n\n /** Row & Bulk Actions */\n rowActions: z.array(z.string()).optional().describe('Actions available for individual row items'),\n bulkActions: z.array(z.string()).optional().describe('Actions available when multiple rows are selected'),\n bulkActionDefs: z.array(z.record(z.string(), z.any())).optional().describe('Rich bulk action definitions (schema-driven, executed via BulkActionDialog)'),\n\n /** Performance */\n virtualScroll: z.boolean().optional().describe('Enable virtual scrolling for large datasets'),\n\n /** Conditional Formatting */\n conditionalFormatting: z.array(z.object({\n condition: ExpressionInputSchema.describe('Predicate (CEL) to evaluate.'),\n style: z.record(z.string(), z.string()).describe('CSS styles to apply when condition is true'),\n })).optional().describe('Conditional formatting rules for list rows'),\n\n /** Inline Edit */\n inlineEdit: z.boolean().optional().describe('Allow inline editing of records directly in the list view'),\n\n /** Export */\n exportOptions: z.array(z.enum(['csv', 'xlsx', 'pdf', 'json'])).optional().describe('Available export format options'),\n\n /** User Actions (Airtable Interface parity) */\n userActions: UserActionsConfigSchema.optional().describe('User action toggles for the view toolbar'),\n\n /** Appearance (Airtable Interface parity) */\n appearance: AppearanceConfigSchema.optional().describe('Appearance and visualization configuration'),\n\n /** Tabs (Airtable Interface parity) */\n tabs: z.array(ViewTabSchema).optional().describe('Tab definitions for multi-tab view interface'),\n\n /** Add Record (Airtable Interface parity) */\n addRecord: AddRecordConfigSchema.optional().describe('Add record entry point configuration'),\n\n /** Record Count Display (Airtable Interface parity) */\n showRecordCount: z.boolean().optional().describe('Show record count at the bottom of the list'),\n\n /** Advanced: Allow Printing (Airtable Interface parity) */\n allowPrinting: z.boolean().optional().describe('Allow users to print the view'),\n\n /** Empty State */\n emptyState: z.object({\n title: I18nLabelSchema.optional(),\n message: I18nLabelSchema.optional(),\n icon: z.string().optional(),\n }).optional().describe('Empty state configuration when no records found'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes for the list view'),\n\n /** Responsive layout overrides per breakpoint */\n responsive: ResponsiveConfigSchema.optional().describe('Responsive layout configuration'),\n\n /** Performance optimization settings */\n performance: PerformanceConfigSchema.optional().describe('Performance optimization settings'),\n}));\n\n/**\n * Form Field Configuration Schema\n * Detailed configuration for individual form fields.\n * \n * Reuses Data.FieldType and related constraints from the Data protocol to avoid duplication.\n * The `type` field auto-infers widget rendering; explicit `widget` overrides are only needed\n * for custom components.\n * \n * @example Auto-inferred select widget\n * { field: 'status', type: 'select', options: [{ label: 'Open', value: 'open' }] }\n * \n * @example Lookup field with reference\n * { field: 'account_id', type: 'lookup', reference: 'account', label: 'Account' }\n * \n * @example Custom widget override\n * { field: 'filter', widget: 'filter-builder' }\n */\nexport const FormFieldSchema: z.ZodType<any> = lazySchema(() => z.object({\n /** Field name (snake_case) */\n field: z.string().describe('Field name (snake_case)'),\n \n /** Field type — reuses Data.FieldType. When set, widget is auto-inferred (can be overridden). */\n type: FieldType.optional().describe('Field type (auto-infers widget if omitted)'),\n \n /** Select/multiselect options — only needed when type=select/multiselect/radio/checkboxes */\n options: z.array(SelectOptionSchema).optional().describe('Options for select/multiselect/radio/checkboxes fields'),\n \n /** Reference object for lookup/master_detail fields */\n reference: z.string().optional().describe('Target object name for lookup/master_detail fields'),\n \n /** Text constraints */\n maxLength: z.number().optional().describe('Maximum character length (for text/textarea/email/url/phone)'),\n minLength: z.number().optional().describe('Minimum character length'),\n \n /** Number constraints */\n min: z.number().optional().describe('Minimum value (for number/currency/percent/slider)'),\n max: z.number().optional().describe('Maximum value'),\n precision: z.number().optional().describe('Total digits (for number/currency)'),\n scale: z.number().optional().describe('Decimal places'),\n \n /** Multi-value flag */\n multiple: z.boolean().optional().describe('Allow multiple values (for select/lookup/file/image)'),\n \n /** UI overrides */\n label: I18nLabelSchema.optional().describe('Display label override'),\n placeholder: I18nLabelSchema.optional().describe('Placeholder text'),\n helpText: I18nLabelSchema.optional().describe('Help/hint text'),\n readonly: z.boolean().optional().describe('Read-only override'),\n immutable: z.boolean().optional().describe('Editable on create, locked once the record exists (e.g. machine names).'),\n required: z.boolean().optional().describe('Required override'),\n hidden: z.boolean().optional().describe('Hidden override'),\n colSpan: z.number().int().min(1).max(4).optional().describe('Column span in grid layout (1-4)'),\n \n /** Custom widget override — only needed when auto-inference is insufficient */\n widget: z.string().optional().describe('Custom widget/component name (overrides type-based inference)'),\n\n /** For `code` fields: source language (e.g. 'javascript', 'sql', 'json', 'typescript', 'expression', 'cel'). Drives syntax highlighting. */\n language: z.string().optional().describe('Code editor language (for type=code)'),\n\n /**\n * Sub-fields for `composite` / `repeater` types — declares the inner shape\n * of an embedded sub-object (composite) or each row of an embedded\n * sub-object array (repeater). Recursive: composite/repeater can nest.\n * Ignored for all other field types.\n *\n * Use `lookup` / `master_detail` instead when the children are independent\n * records with their own IDs in a separate object/table.\n */\n fields: z.array(z.lazy(() => FormFieldSchema)).optional()\n .describe('Sub-fields for composite/repeater types'),\n\n dependsOn: z.string().optional().describe('Parent field name for cascading'),\n visibleOn: ExpressionInputSchema.optional().describe('Visibility predicate (CEL).'),\n}));\n\n/**\n * Form Layout Section\n */\nexport const FormSectionSchema = lazySchema(() => z.object({\n /**\n * Stable identifier for translation lookup. snake_case convention.\n * When provided, translation bundles can target this section's `label`\n * and `description` via `metadataForms.<type>.sections.<name>`.\n * Optional for backward-compat with sections that only have a `label`.\n */\n name: z.string().optional().describe('Stable section identifier for i18n lookup (snake_case)'),\n label: I18nLabelSchema.optional(),\n description: z.string().optional().describe('Optional description rendered under the section header.'),\n collapsible: z.boolean().default(false),\n collapsed: z.boolean().default(false),\n visibleOn: ExpressionInputSchema.optional().describe('Visibility predicate (CEL). Hides the whole section when false.'),\n columns: z.union([\n z.enum(['1', '2', '3', '4']),\n z.literal(1),\n z.literal(2),\n z.literal(3),\n z.literal(4),\n ]).default(1).transform(val => (typeof val === 'string' ? parseInt(val) : val) as 1 | 2 | 3 | 4),\n fields: z.array(z.union([\n z.string(), // Legacy: simple field name\n FormFieldSchema, // Enhanced: detailed field config\n ])),\n}));\n\n/**\n * Form View Schema\n * Defines the layout for creating or editing a single record.\n * \n * @example Simple Sectioned Form\n * {\n * type: \"simple\",\n * sections: [\n * {\n * label: \"General Info\",\n * columns: 2,\n * fields: [\"name\", \"status\"]\n * },\n * {\n * label: \"Details\",\n * fields: [\"description\", { field: \"priority\", widget: \"rating\" }]\n * }\n * ]\n * }\n */\nexport const FormViewSchema = lazySchema(() => z.object({\n type: z.enum([\n 'simple', // Single column or sections\n 'tabbed', // Tabs\n 'wizard', // Step by step\n 'split', // Master-Detail split\n 'drawer', // Side panel\n 'modal' // Dialog\n ]).default('simple'),\n \n /** Data Source Configuration */\n data: ViewDataSchema.optional().describe('Data source configuration (defaults to \"object\" provider)'),\n \n sections: z.array(FormSectionSchema).optional(), // For simple layout\n groups: z.array(FormSectionSchema).optional(), // Legacy support -> alias to sections\n\n /** Default Sort for Related Lists (e.g., sort child records by date) */\n defaultSort: z.array(z.object({\n field: z.string().describe('Field name to sort by'),\n order: z.enum(['asc', 'desc']).default('desc').describe('Sort direction'),\n })).optional().describe('Default sort order for related list views within this form'),\n\n /** Public form sharing configuration */\n sharing: SharingConfigSchema.optional().describe('Public sharing configuration for this form'),\n\n /**\n * What happens after a successful submit.\n *\n * - `thank-you` (default) — show a confirmation panel\n * - `redirect` — send the browser to a URL\n * - `continue` — reset the form so another response can be entered\n * - `next-record` — advance to the next record (internal queues only)\n */\n submitBehavior: z.union([\n z.object({\n kind: z.literal('thank-you'),\n title: z.string().optional(),\n message: z.string().optional(),\n }),\n z.object({\n kind: z.literal('redirect'),\n url: z.string(),\n delayMs: z.number().int().min(0).optional(),\n }),\n z.object({ kind: z.literal('continue') }),\n z.object({ kind: z.literal('next-record') }),\n ]).optional().describe('Post-submit behavior'),\n\n /** ARIA accessibility attributes */\n aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes for the form view'),\n}));\n\n/**\n * Master View Schema\n * Can define multiple named views.\n */\n/**\n * View Container Schema\n * Aggregates all view definitions for a specific object or context.\n * \n * @example\n * {\n * list: { type: \"grid\", columns: [\"name\"] },\n * form: { type: \"simple\", fields: [\"name\"] },\n * listViews: {\n * \"all\": { label: \"All\", filter: [] },\n * \"my\": { label: \"Mine\", filter: [[\"owner\", \"=\", \"{user_id}\"]] }\n * }\n * }\n */\nexport const ViewSchema = lazySchema(() => z.object({\n list: ListViewSchema.optional(), // Default list view\n form: FormViewSchema.optional(), // Default form view\n listViews: z.record(z.string(), ListViewSchema).optional().describe('Additional named list views'),\n formViews: z.record(z.string(), FormViewSchema).optional().describe('Additional named form views'),\n}));\n\n/**\n * Type-safe factory for creating view definitions.\n *\n * Validates the config at creation time using Zod `.parse()`.\n *\n * @example\n * ```ts\n * const taskViews = defineView({\n * list: {\n * type: 'grid',\n * data: { provider: 'object', object: 'task' },\n * columns: ['subject', 'status', 'priority', 'due_date'],\n * },\n * form: {\n * type: 'simple',\n * sections: [{ label: 'Details', fields: [{ field: 'subject' }] }],\n * },\n * });\n * ```\n */\nexport function defineView(config: z.input<typeof ViewSchema>): View {\n return ViewSchema.parse(config);\n}\n\n/**\n * Type-safe factory for a standalone {@link FormView} bound to a JSON Schema\n * rather than to an ObjectQL object.\n *\n * Use this for forms that edit **metadata** (e.g. `report.form.ts`,\n * `dashboard.form.ts`), **action inputs**, or **flow screens** — anywhere the\n * data shape is described by a Zod-derived JSON Schema instead of an Object\n * field set.\n *\n * The returned FormView is validated at definition time; the runtime form\n * renderer (`@object-ui/plugin-form`) inspects `data.provider === 'schema'`\n * and pulls field metadata from the resolved JSON Schema instead of from\n * ObjectQL.\n *\n * @example\n * ```ts\n * export const reportForm = defineForm({\n * schemaId: 'report',\n * type: 'tabbed',\n * sections: [\n * { label: 'Basics', columns: 2, fields: [\n * { field: 'name' },\n * { field: 'label' },\n * { field: 'objectName', widget: 'ref:object' },\n * { field: 'type' },\n * ]},\n * { label: 'Columns', fields: [{ field: 'columns', widget: 'master-detail' }] },\n * { label: 'Advanced', collapsible: true, collapsed: true, fields: [\n * { field: 'filter', widget: 'filter-builder' },\n * { field: 'chart', widget: 'chart-config' },\n * ]},\n * ],\n * });\n * ```\n */\nexport function defineForm(\n config: Omit<z.input<typeof FormViewSchema>, 'data'> & { schemaId: string },\n): FormView {\n const { schemaId, ...rest } = config;\n return FormViewSchema.parse({\n ...rest,\n data: { provider: 'schema', schemaId },\n });\n}\n\nexport type View = z.infer<typeof ViewSchema>;\nexport type ListView = z.infer<typeof ListViewSchema>;\nexport type FormView = z.infer<typeof FormViewSchema>;\nexport type FormSection = z.infer<typeof FormSectionSchema>;\nexport type ListColumn = z.infer<typeof ListColumnSchema>;\nexport type FormField = z.infer<typeof FormFieldSchema>;\nexport type SelectionConfig = z.infer<typeof SelectionConfigSchema>;\nexport type NavigationConfig = z.infer<typeof NavigationConfigSchema>;\nexport type PaginationConfig = z.infer<typeof PaginationConfigSchema>;\nexport type ViewData = z.infer<typeof ViewDataSchema>;\nexport type HttpRequest = z.infer<typeof HttpRequestSchema>;\nexport type HttpMethod = z.infer<typeof HttpMethodSchema>;\nexport type ColumnSummary = z.infer<typeof ColumnSummarySchema>;\nexport type RowHeight = z.infer<typeof RowHeightSchema>;\nexport type GroupingConfig = z.infer<typeof GroupingConfigSchema>;\nexport type GalleryConfig = z.infer<typeof GalleryConfigSchema>;\nexport type TimelineConfig = z.infer<typeof TimelineConfigSchema>;\nexport type ListChartConfig = z.infer<typeof ListChartConfigSchema>;\nexport type ViewSharing = z.infer<typeof ViewSharingSchema>;\nexport type RowColorConfig = z.infer<typeof RowColorConfigSchema>;\nexport type VisualizationType = z.infer<typeof VisualizationTypeSchema>;\nexport type UserActionsConfig = z.infer<typeof UserActionsConfigSchema>;\nexport type AppearanceConfig = z.infer<typeof AppearanceConfigSchema>;\nexport type ViewTab = z.infer<typeof ViewTabSchema>;\nexport type AddRecordConfig = z.infer<typeof AddRecordConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { defineForm } from '../ui/view.zod';\n\n/**\n * Role — canonical FormView layout.\n *\n * Roles are simple: name, label, optional parent, optional description.\n * Single section is enough — we still use a FormView so the editor\n * picks up the friendly labels and required markers.\n */\nexport const roleForm = defineForm({\n schemaId: 'role',\n type: 'simple',\n sections: [\n {\n label: 'Role',\n description:\n 'Roles compose a hierarchy used for record sharing (sales VP → sales mgr → sales rep). Permissions themselves live on Permission Sets and Profiles.',\n columns: 2,\n fields: [\n { field: 'name', required: true, helpText: 'snake_case' },\n { field: 'label', required: true },\n {\n field: 'parent',\n helpText: 'Parent role machine name (Reports To)',\n colSpan: 2,\n },\n { field: 'description', colSpan: 2 },\n ],\n },\n ],\n});\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Organization Schema (Multi-Tenant Architecture)\n * \n * Defines the standard organization/workspace model for ObjectStack.\n * Supports B2B SaaS scenarios where users belong to multiple teams/workspaces.\n * \n * This aligns with better-auth's organization plugin capabilities.\n */\n\n/**\n * Organization Schema\n * Represents a team, workspace, or tenant in a multi-tenant application\n */\nimport { lazySchema } from '../shared/lazy-schema';\nexport const OrganizationSchema = lazySchema(() => z.object({\n /**\n * Unique organization identifier\n */\n id: z.string().describe('Unique organization identifier'),\n \n /**\n * Organization name (display name)\n */\n name: z.string().describe('Organization display name'),\n \n /**\n * Organization slug (URL-friendly identifier)\n * Must be unique across all organizations\n */\n slug: z.string()\n .regex(/^[a-z0-9_-]+$/)\n .describe('Unique URL-friendly slug (lowercase alphanumeric, hyphens, underscores)'),\n \n /**\n * Organization logo URL\n */\n logo: z.string().url().optional().describe('Organization logo URL'),\n \n /**\n * Custom metadata for the organization\n * Can store additional configuration, settings, or custom fields\n */\n metadata: z.record(z.string(), z.unknown()).optional().describe('Custom metadata'),\n \n /**\n * Organization creation timestamp\n */\n createdAt: z.string().datetime().describe('Organization creation timestamp'),\n \n /**\n * Last update timestamp\n */\n updatedAt: z.string().datetime().describe('Last update timestamp'),\n}));\n\nexport type Organization = z.infer<typeof OrganizationSchema>;\n\n/**\n * Organization Member Schema\n * Links users to organizations with specific roles\n */\nexport const MemberSchema = lazySchema(() => z.object({\n /**\n * Unique member identifier\n */\n id: z.string().describe('Unique member identifier'),\n \n /**\n * Organization ID this membership belongs to\n */\n organizationId: z.string().describe('Organization ID'),\n \n /**\n * User ID of the member\n */\n userId: z.string().describe('User ID'),\n \n /**\n * Member's role within the organization\n * Common roles: 'owner', 'admin', 'member', 'guest'\n * Can be customized per application\n */\n role: z.string().describe('Member role (e.g., owner, admin, member, guest)'),\n \n /**\n * Member creation timestamp\n */\n createdAt: z.string().datetime().describe('Member creation timestamp'),\n \n /**\n * Last update timestamp\n */\n updatedAt: z.string().datetime().describe('Last update timestamp'),\n}));\n\nexport type Member = z.infer<typeof MemberSchema>;\n\n/**\n * Invitation Status Enum\n */\nexport const InvitationStatus = z.enum(['pending', 'accepted', 'rejected', 'expired']);\n\nexport type InvitationStatus = z.infer<typeof InvitationStatus>;\n\n/**\n * Organization Invitation Schema\n * Represents an invitation to join an organization\n */\nexport const InvitationSchema = lazySchema(() => z.object({\n /**\n * Unique invitation identifier\n */\n id: z.string().describe('Unique invitation identifier'),\n \n /**\n * Organization ID the invitation is for\n */\n organizationId: z.string().describe('Organization ID'),\n \n /**\n * Email address of the invitee\n */\n email: z.string().email().describe('Invitee email address'),\n \n /**\n * Role the invitee will receive upon accepting\n * Common roles: 'admin', 'member', 'guest'\n */\n role: z.string().describe('Role to assign upon acceptance'),\n \n /**\n * Invitation status\n */\n status: InvitationStatus.default('pending').describe('Invitation status'),\n \n /**\n * Invitation expiration timestamp\n */\n expiresAt: z.string().datetime().describe('Invitation expiry timestamp'),\n \n /**\n * User ID of the person who sent the invitation\n */\n inviterId: z.string().describe('User ID of the inviter'),\n \n /**\n * Invitation creation timestamp\n */\n createdAt: z.string().datetime().describe('Invitation creation timestamp'),\n \n /**\n * Last update timestamp\n */\n updatedAt: z.string().datetime().describe('Last update timestamp'),\n}));\n\nexport type Invitation = z.infer<typeof InvitationSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # SCIM 2.0 Protocol Implementation\n * \n * System for Cross-domain Identity Management (SCIM) 2.0 specification\n * implementation for ObjectStack.\n * \n * ## Overview\n * \n * SCIM 2.0 is an HTTP-based protocol for managing user and group identities\n * across domains. It provides a standardized REST API for user provisioning,\n * de-provisioning, and synchronization.\n * \n * ## Use Cases\n * \n * 1. **Enterprise SSO Integration**\n * - Integrate with Okta, Azure AD, OneLogin\n * - Automatic user provisioning from corporate directory\n * - Just-in-Time (JIT) user creation on first login\n * \n * 2. **User Lifecycle Management**\n * - Automatically create users when they join organization\n * - Update user attributes when they change roles\n * - Deactivate users when they leave organization\n * \n * 3. **Group/Department Synchronization**\n * - Sync organizational structure from AD/LDAP\n * - Maintain group memberships automatically\n * - Map corporate roles to application permissions\n * \n * 4. **Compliance & Audit**\n * - Maintain accurate user directory\n * - Track all identity changes\n * - Meet SOX/HIPAA requirements for user management\n * \n * ## Specification References\n * \n * - **RFC 7643**: SCIM Core Schema\n * - **RFC 7644**: SCIM Protocol\n * - **RFC 7642**: SCIM Requirements\n * \n * ## Industry Implementations\n * \n * - **Okta**: Leading SCIM provider\n * - **Azure AD**: Microsoft's identity platform\n * - **OneLogin**: Enterprise SSO provider\n * - **Google Workspace**: Google's identity management\n * \n * @see https://datatracker.ietf.org/doc/html/rfc7643\n * @see https://datatracker.ietf.org/doc/html/rfc7644\n */\n\n/**\n * SCIM Schema URIs\n * Standard schema identifiers defined in RFC 7643\n */\nimport { lazySchema } from '../shared/lazy-schema';\nexport const SCIM_SCHEMAS = {\n USER: 'urn:ietf:params:scim:schemas:core:2.0:User',\n GROUP: 'urn:ietf:params:scim:schemas:core:2.0:Group',\n ENTERPRISE_USER: 'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User',\n RESOURCE_TYPE: 'urn:ietf:params:scim:schemas:core:2.0:ResourceType',\n SERVICE_PROVIDER_CONFIG: 'urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig',\n SCHEMA: 'urn:ietf:params:scim:schemas:core:2.0:Schema',\n LIST_RESPONSE: 'urn:ietf:params:scim:api:messages:2.0:ListResponse',\n PATCH_OP: 'urn:ietf:params:scim:api:messages:2.0:PatchOp',\n BULK_REQUEST: 'urn:ietf:params:scim:api:messages:2.0:BulkRequest',\n BULK_RESPONSE: 'urn:ietf:params:scim:api:messages:2.0:BulkResponse',\n ERROR: 'urn:ietf:params:scim:api:messages:2.0:Error',\n} as const;\n\n/**\n * SCIM Meta Schema\n * Common metadata for all SCIM resources\n */\nexport const SCIMMetaSchema = lazySchema(() => z.object({\n /**\n * Resource type name\n * @example \"User\", \"Group\"\n */\n resourceType: z.string()\n .optional()\n .describe('Resource type'),\n\n /**\n * Resource creation timestamp (ISO 8601)\n */\n created: z.string()\n .datetime()\n .optional()\n .describe('Creation timestamp'),\n\n /**\n * Last modification timestamp (ISO 8601)\n */\n lastModified: z.string()\n .datetime()\n .optional()\n .describe('Last modification timestamp'),\n\n /**\n * Resource location URI\n * Absolute URL to the resource\n */\n location: z.string()\n .url()\n .optional()\n .describe('Resource location URI'),\n\n /**\n * Entity tag for optimistic concurrency control\n * Used with If-Match header for conditional updates\n */\n version: z.string()\n .optional()\n .describe('Entity tag (ETag) for concurrency control'),\n}));\n\nexport type SCIMMeta = z.infer<typeof SCIMMetaSchema>;\n\n/**\n * SCIM Name Schema\n * Structured name components\n */\nexport const SCIMNameSchema = lazySchema(() => z.object({\n /**\n * Full name formatted for display\n * @example \"Ms. Barbara Jane Jensen III\"\n */\n formatted: z.string()\n .optional()\n .describe('Formatted full name'),\n\n /**\n * Family name (surname)\n * @example \"Jensen\"\n */\n familyName: z.string()\n .optional()\n .describe('Family name (last name)'),\n\n /**\n * Given name (first name)\n * @example \"Barbara\"\n */\n givenName: z.string()\n .optional()\n .describe('Given name (first name)'),\n\n /**\n * Middle name\n * @example \"Jane\"\n */\n middleName: z.string()\n .optional()\n .describe('Middle name'),\n\n /**\n * Honorific prefix\n * @example \"Ms.\", \"Dr.\", \"Prof.\"\n */\n honorificPrefix: z.string()\n .optional()\n .describe('Honorific prefix (Mr., Ms., Dr.)'),\n\n /**\n * Honorific suffix\n * @example \"III\", \"Jr.\", \"Sr.\"\n */\n honorificSuffix: z.string()\n .optional()\n .describe('Honorific suffix (Jr., Sr.)'),\n}));\n\nexport type SCIMName = z.infer<typeof SCIMNameSchema>;\n\n/**\n * SCIM Email Schema\n * Multi-valued email address\n */\nexport const SCIMEmailSchema = lazySchema(() => z.object({\n /**\n * Email address value\n */\n value: z.string()\n .email()\n .describe('Email address'),\n\n /**\n * Email type\n * @example \"work\", \"home\", \"other\"\n */\n type: z.enum(['work', 'home', 'other'])\n .optional()\n .describe('Email type'),\n\n /**\n * Display label for the email\n */\n display: z.string()\n .optional()\n .describe('Display label'),\n\n /**\n * Whether this is the primary email\n */\n primary: z.boolean()\n .optional()\n .default(false)\n .describe('Primary email indicator'),\n}));\n\nexport type SCIMEmail = z.infer<typeof SCIMEmailSchema>;\n\n/**\n * SCIM Phone Number Schema\n * Multi-valued phone number\n */\nexport const SCIMPhoneNumberSchema = lazySchema(() => z.object({\n /**\n * Phone number value\n * Format is not enforced to support international numbers\n */\n value: z.string()\n .describe('Phone number'),\n\n /**\n * Phone type\n */\n type: z.enum(['work', 'home', 'mobile', 'fax', 'pager', 'other'])\n .optional()\n .describe('Phone number type'),\n\n /**\n * Display label for the phone number\n */\n display: z.string()\n .optional()\n .describe('Display label'),\n\n /**\n * Whether this is the primary phone\n */\n primary: z.boolean()\n .optional()\n .default(false)\n .describe('Primary phone indicator'),\n}));\n\nexport type SCIMPhoneNumber = z.infer<typeof SCIMPhoneNumberSchema>;\n\n/**\n * SCIM Address Schema\n * Multi-valued physical mailing address\n */\nexport const SCIMAddressSchema = lazySchema(() => z.object({\n /**\n * Full mailing address formatted for display\n */\n formatted: z.string()\n .optional()\n .describe('Formatted address'),\n\n /**\n * Full street address\n */\n streetAddress: z.string()\n .optional()\n .describe('Street address'),\n\n /**\n * City or locality\n */\n locality: z.string()\n .optional()\n .describe('City/Locality'),\n\n /**\n * State or region\n */\n region: z.string()\n .optional()\n .describe('State/Region'),\n\n /**\n * Zip code or postal code\n */\n postalCode: z.string()\n .optional()\n .describe('Postal code'),\n\n /**\n * Country\n */\n country: z.string()\n .optional()\n .describe('Country'),\n\n /**\n * Address type\n */\n type: z.enum(['work', 'home', 'other'])\n .optional()\n .describe('Address type'),\n\n /**\n * Whether this is the primary address\n */\n primary: z.boolean()\n .optional()\n .default(false)\n .describe('Primary address indicator'),\n}));\n\nexport type SCIMAddress = z.infer<typeof SCIMAddressSchema>;\n\n/**\n * SCIM Group Reference\n * Reference to a group the user belongs to\n */\nexport const SCIMGroupReferenceSchema = lazySchema(() => z.object({\n /**\n * Group identifier\n */\n value: z.string()\n .describe('Group ID'),\n\n /**\n * Direct reference to the group resource\n */\n $ref: z.string()\n .url()\n .optional()\n .describe('URI reference to the group'),\n\n /**\n * Human-readable group name\n */\n display: z.string()\n .optional()\n .describe('Group display name'),\n\n /**\n * Type of group\n */\n type: z.enum(['direct', 'indirect'])\n .optional()\n .describe('Membership type'),\n}));\n\nexport type SCIMGroupReference = z.infer<typeof SCIMGroupReferenceSchema>;\n\n/**\n * SCIM Enterprise User Extension\n * Enterprise-specific user attributes\n */\nexport const SCIMEnterpriseUserSchema = lazySchema(() => z.object({\n /**\n * Employee number\n */\n employeeNumber: z.string()\n .optional()\n .describe('Employee number'),\n\n /**\n * Cost center\n */\n costCenter: z.string()\n .optional()\n .describe('Cost center'),\n\n /**\n * Organization unit\n */\n organization: z.string()\n .optional()\n .describe('Organization'),\n\n /**\n * Division\n */\n division: z.string()\n .optional()\n .describe('Division'),\n\n /**\n * Department\n */\n department: z.string()\n .optional()\n .describe('Department'),\n\n /**\n * Manager reference\n */\n manager: z.object({\n value: z.string().describe('Manager ID'),\n $ref: z.string().url().optional().describe('Manager URI'),\n displayName: z.string().optional().describe('Manager name'),\n })\n .optional()\n .describe('Manager reference'),\n}));\n\nexport type SCIMEnterpriseUser = z.infer<typeof SCIMEnterpriseUserSchema>;\n\n/**\n * SCIM User Schema (Core)\n * Complete SCIM 2.0 User resource\n */\nexport const SCIMUserSchema = lazySchema(() => z.object({\n /**\n * SCIM schema URIs\n * Must include at minimum the core User schema URI\n */\n schemas: z.array(z.string())\n .min(1)\n .refine(\n (schemas) => schemas.includes(SCIM_SCHEMAS.USER),\n 'Must include core User schema URI'\n )\n .default([SCIM_SCHEMAS.USER])\n .describe('SCIM schema URIs (must include User schema)'),\n\n /**\n * Unique identifier\n */\n id: z.string()\n .optional()\n .describe('Unique resource identifier'),\n\n /**\n * External identifier\n * Identifier from the provisioning client\n */\n externalId: z.string()\n .optional()\n .describe('External identifier from client system'),\n\n /**\n * Unique username\n * REQUIRED for user creation\n */\n userName: z.string()\n .describe('Unique username (REQUIRED)'),\n\n /**\n * Structured name\n */\n name: SCIMNameSchema\n .optional()\n .describe('Structured name components'),\n\n /**\n * Display name\n */\n displayName: z.string()\n .optional()\n .describe('Display name for UI'),\n\n /**\n * Nickname or casual name\n */\n nickName: z.string()\n .optional()\n .describe('Nickname'),\n\n /**\n * Profile URL\n */\n profileUrl: z.string()\n .url()\n .optional()\n .describe('Profile page URL'),\n\n /**\n * Job title\n */\n title: z.string()\n .optional()\n .describe('Job title'),\n\n /**\n * User type (employee, contractor, etc.)\n */\n userType: z.string()\n .optional()\n .describe('User type (employee, contractor)'),\n\n /**\n * Preferred language (ISO 639-1)\n */\n preferredLanguage: z.string()\n .optional()\n .describe('Preferred language (ISO 639-1)'),\n\n /**\n * Locale (e.g., en-US)\n */\n locale: z.string()\n .optional()\n .describe('Locale (e.g., en-US)'),\n\n /**\n * Timezone (e.g., America/Los_Angeles)\n */\n timezone: z.string()\n .optional()\n .describe('Timezone'),\n\n /**\n * Account active status\n */\n active: z.boolean()\n .optional()\n .default(true)\n .describe('Account active status'),\n\n /**\n * Password (write-only, never returned)\n */\n password: z.string()\n .optional()\n .describe('Password (write-only)'),\n\n /**\n * Email addresses (multi-valued)\n */\n emails: z.array(SCIMEmailSchema)\n .optional()\n .describe('Email addresses'),\n\n /**\n * Phone numbers (multi-valued)\n */\n phoneNumbers: z.array(SCIMPhoneNumberSchema)\n .optional()\n .describe('Phone numbers'),\n\n /**\n * Instant messaging addresses\n */\n ims: z.array(z.object({\n value: z.string(),\n type: z.string().optional(),\n primary: z.boolean().optional(),\n }))\n .optional()\n .describe('IM addresses'),\n\n /**\n * Photos (profile pictures)\n */\n photos: z.array(z.object({\n value: z.string().url(),\n type: z.enum(['photo', 'thumbnail']).optional(),\n primary: z.boolean().optional(),\n }))\n .optional()\n .describe('Photo URLs'),\n\n /**\n * Physical addresses\n */\n addresses: z.array(SCIMAddressSchema)\n .optional()\n .describe('Physical addresses'),\n\n /**\n * Group memberships\n */\n groups: z.array(SCIMGroupReferenceSchema)\n .optional()\n .describe('Group memberships'),\n\n /**\n * User entitlements\n */\n entitlements: z.array(z.object({\n value: z.string(),\n type: z.string().optional(),\n primary: z.boolean().optional(),\n }))\n .optional()\n .describe('Entitlements'),\n\n /**\n * User roles\n */\n roles: z.array(z.object({\n value: z.string(),\n type: z.string().optional(),\n primary: z.boolean().optional(),\n }))\n .optional()\n .describe('Roles'),\n\n /**\n * X509 certificates\n */\n x509Certificates: z.array(z.object({\n value: z.string(),\n type: z.string().optional(),\n primary: z.boolean().optional(),\n }))\n .optional()\n .describe('X509 certificates'),\n\n /**\n * Resource metadata\n */\n meta: SCIMMetaSchema\n .optional()\n .describe('Resource metadata'),\n\n /**\n * Enterprise user extension\n * Only present when enterprise extension is used\n */\n [SCIM_SCHEMAS.ENTERPRISE_USER]: SCIMEnterpriseUserSchema\n .optional()\n .describe('Enterprise user attributes'),\n}).superRefine((data, ctx) => {\n // Validate that enterprise extension schema URI is present when extension data is provided\n const hasEnterpriseExtension = data[SCIM_SCHEMAS.ENTERPRISE_USER] != null;\n if (!hasEnterpriseExtension) {\n return;\n }\n\n const schemas = data.schemas || [];\n if (!schemas.includes(SCIM_SCHEMAS.ENTERPRISE_USER)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['schemas'],\n message: `schemas must include \"${SCIM_SCHEMAS.ENTERPRISE_USER}\" when enterprise user extension attributes are present`,\n });\n }\n}));\n\nexport type SCIMUser = z.infer<typeof SCIMUserSchema>;\n\n/**\n * SCIM Member Reference\n * Reference to a member in a group\n */\nexport const SCIMMemberReferenceSchema = lazySchema(() => z.object({\n /**\n * Member identifier\n */\n value: z.string()\n .describe('Member ID'),\n\n /**\n * Direct reference to the member resource\n */\n $ref: z.string()\n .url()\n .optional()\n .describe('URI reference to the member'),\n\n /**\n * Member type (User or Group for nested groups)\n */\n type: z.enum(['User', 'Group'])\n .optional()\n .describe('Member type'),\n\n /**\n * Human-readable member name\n */\n display: z.string()\n .optional()\n .describe('Member display name'),\n}));\n\nexport type SCIMMemberReference = z.infer<typeof SCIMMemberReferenceSchema>;\n\n/**\n * SCIM Group Schema\n * Complete SCIM 2.0 Group resource\n */\nexport const SCIMGroupSchema = lazySchema(() => z.object({\n /**\n * SCIM schema URIs\n * Must include at minimum the core Group schema URI\n */\n schemas: z.array(z.string())\n .min(1)\n .refine(\n (schemas) => schemas.includes(SCIM_SCHEMAS.GROUP),\n 'Must include core Group schema URI'\n )\n .default([SCIM_SCHEMAS.GROUP])\n .describe('SCIM schema URIs (must include Group schema)'),\n\n /**\n * Unique identifier\n */\n id: z.string()\n .optional()\n .describe('Unique resource identifier'),\n\n /**\n * External identifier\n */\n externalId: z.string()\n .optional()\n .describe('External identifier from client system'),\n\n /**\n * Group display name\n * REQUIRED for group creation\n */\n displayName: z.string()\n .describe('Group display name (REQUIRED)'),\n\n /**\n * Group members\n */\n members: z.array(SCIMMemberReferenceSchema)\n .optional()\n .describe('Group members'),\n\n /**\n * Resource metadata\n */\n meta: SCIMMetaSchema\n .optional()\n .describe('Resource metadata'),\n}));\n\nexport type SCIMGroup = z.infer<typeof SCIMGroupSchema>;\n\n/**\n * SCIM Resource Union Type\n * Known SCIM resource types for type-safe list responses\n */\nexport type SCIMResource = SCIMUser | SCIMGroup;\n\n/**\n * SCIM List Response\n * Paginated list of resources\n * \n * Generic type T allows for type-safe responses when the resource type is known.\n * For mixed resource types, use SCIMResource union.\n */\nexport const SCIMListResponseSchema = lazySchema(() => z.object({\n /**\n * SCIM schema URI\n */\n schemas: z.array(z.string())\n .min(1)\n .refine(\n (schemas) => schemas.includes(SCIM_SCHEMAS.LIST_RESPONSE),\n { message: `schemas must include ${SCIM_SCHEMAS.LIST_RESPONSE}` }\n )\n .default([SCIM_SCHEMAS.LIST_RESPONSE])\n .describe('SCIM schema URIs'),\n\n /**\n * Total number of results matching the query\n */\n totalResults: z.number()\n .int()\n .min(0)\n .describe('Total results count'),\n\n /**\n * Resources returned in this response\n * Use SCIMListResponseOf<T> for type-safe responses\n */\n Resources: z.array(z.union([SCIMUserSchema, SCIMGroupSchema, z.record(z.string(), z.unknown())]))\n .describe('Resources array (Users, Groups, or custom resources)'),\n\n /**\n * 1-based index of the first result\n */\n startIndex: z.number()\n .int()\n .min(1)\n .optional()\n .describe('Start index (1-based)'),\n\n /**\n * Number of resources per page\n */\n itemsPerPage: z.number()\n .int()\n .min(0)\n .optional()\n .describe('Items per page'),\n}));\n\nexport type SCIMListResponse = z.infer<typeof SCIMListResponseSchema>;\n\n/**\n * SCIM Error Response\n * Error response format\n */\nexport const SCIMErrorSchema = lazySchema(() => z.object({\n /**\n * SCIM schema URI\n */\n schemas: z.array(z.string())\n .min(1)\n .refine(\n (schemas) => schemas.includes(SCIM_SCHEMAS.ERROR),\n { message: `schemas must include ${SCIM_SCHEMAS.ERROR}` }\n )\n .default([SCIM_SCHEMAS.ERROR])\n .describe('SCIM schema URIs'),\n\n /**\n * HTTP status code\n */\n status: z.number()\n .int()\n .min(400)\n .max(599)\n .describe('HTTP status code'),\n\n /**\n * SCIM error type\n */\n scimType: z.enum([\n 'invalidFilter',\n 'tooMany',\n 'uniqueness',\n 'mutability',\n 'invalidSyntax',\n 'invalidPath',\n 'noTarget',\n 'invalidValue',\n 'invalidVers',\n 'sensitive',\n ])\n .optional()\n .describe('SCIM error type'),\n\n /**\n * Human-readable error description\n */\n detail: z.string()\n .optional()\n .describe('Error detail message'),\n}));\n\nexport type SCIMError = z.infer<typeof SCIMErrorSchema>;\n\n/**\n * SCIM Patch Operation\n * For PATCH requests\n */\nexport const SCIMPatchOperationSchema = lazySchema(() => z.object({\n /**\n * Operation type\n */\n op: z.enum(['add', 'remove', 'replace'])\n .describe('Operation type'),\n\n /**\n * Attribute path to modify\n */\n path: z.string()\n .optional()\n .describe('Attribute path (optional for add)'),\n\n /**\n * Value to set\n */\n value: z.unknown()\n .optional()\n .describe('Value to set'),\n}));\n\nexport type SCIMPatchOperation = z.infer<typeof SCIMPatchOperationSchema>;\n\n/**\n * SCIM Patch Request\n */\nexport const SCIMPatchRequestSchema = lazySchema(() => z.object({\n /**\n * SCIM schema URI\n */\n schemas: z.array(z.string())\n .min(1)\n .refine(\n (schemas) => schemas.includes(SCIM_SCHEMAS.PATCH_OP),\n { message: 'SCIM PATCH requests must include the PatchOp schema URI' }\n )\n .default([SCIM_SCHEMAS.PATCH_OP])\n .describe('SCIM schema URIs'),\n\n /**\n * Array of patch operations\n */\n Operations: z.array(SCIMPatchOperationSchema)\n .min(1)\n .describe('Patch operations'),\n}));\n\nexport type SCIMPatchRequest = z.infer<typeof SCIMPatchRequestSchema>;\n\n/**\n * Helper factory for creating SCIM resources\n */\nexport const SCIM = {\n /**\n * Create a basic SCIM user\n */\n user: (userName: string, email: string, givenName?: string, familyName?: string): SCIMUser => ({\n schemas: [SCIM_SCHEMAS.USER],\n userName,\n emails: [{ value: email, type: 'work', primary: true }],\n name: {\n givenName,\n familyName,\n },\n active: true,\n }),\n\n /**\n * Create a SCIM group\n */\n group: (displayName: string, members?: SCIMMemberReference[]): SCIMGroup => ({\n schemas: [SCIM_SCHEMAS.GROUP],\n displayName,\n members: members || [],\n }),\n\n /**\n * Create a list response\n */\n listResponse: <T>(resources: T[], totalResults?: number): SCIMListResponse => ({\n schemas: [SCIM_SCHEMAS.LIST_RESPONSE],\n totalResults: totalResults ?? resources.length,\n Resources: resources as Array<SCIMResource | Record<string, any>>,\n startIndex: 1,\n itemsPerPage: resources.length,\n }),\n\n /**\n * Create an error response\n */\n error: (\n status: number,\n detail: string,\n scimType?: 'invalidFilter' | 'tooMany' | 'uniqueness' | 'mutability' | \n 'invalidSyntax' | 'invalidPath' | 'noTarget' | 'invalidValue' | \n 'invalidVers' | 'sensitive'\n ): SCIMError => ({\n schemas: [SCIM_SCHEMAS.ERROR],\n status,\n detail,\n scimType,\n }),\n} as const;\n\n// ─── SCIM 2.0 Bulk Operations (RFC 7644 §3.7) ──────────────────────────────\n\n/**\n * SCIM Bulk Operation Schema\n * A single operation within a bulk request\n */\nexport const SCIMBulkOperationSchema = lazySchema(() => z.object({\n /** HTTP method for this operation */\n method: z.enum(['POST', 'PUT', 'PATCH', 'DELETE'])\n .describe('HTTP method for the bulk operation'),\n\n /** Resource path (e.g. /Users, /Groups/{id}) */\n path: z.string()\n .describe('Resource endpoint path (e.g. /Users, /Groups/{id})'),\n\n /** Client-assigned identifier for cross-referencing operations */\n bulkId: z.string()\n .optional()\n .describe('Client-assigned ID for cross-referencing between operations'),\n\n /** Request body for POST/PUT/PATCH operations */\n data: z.record(z.string(), z.unknown())\n .optional()\n .describe('Request body for POST/PUT/PATCH operations'),\n\n /** ETag value for optimistic concurrency control */\n version: z.string()\n .optional()\n .describe('ETag for optimistic concurrency control'),\n}));\n\nexport type SCIMBulkOperation = z.infer<typeof SCIMBulkOperationSchema>;\n\n/**\n * SCIM Bulk Request Schema\n * Batch multiple SCIM operations into a single HTTP request\n */\nexport const SCIMBulkRequestSchema = lazySchema(() => z.object({\n /** SCIM schema URI for bulk request */\n schemas: z.array(z.literal(SCIM_SCHEMAS.BULK_REQUEST))\n .default([SCIM_SCHEMAS.BULK_REQUEST])\n .describe('SCIM schema URIs (BulkRequest)'),\n\n /** Array of operations to execute */\n operations: z.array(SCIMBulkOperationSchema)\n .min(1)\n .describe('Bulk operations to execute (minimum 1)'),\n\n /** Stop processing after N errors */\n failOnErrors: z.number()\n .int()\n .optional()\n .describe('Stop processing after this many errors'),\n}));\n\nexport type SCIMBulkRequest = z.infer<typeof SCIMBulkRequestSchema>;\n\n/**\n * SCIM Bulk Response Operation Schema\n * Result of a single operation within a bulk response\n */\nexport const SCIMBulkResponseOperationSchema = lazySchema(() => z.object({\n /** HTTP method that was executed */\n method: z.enum(['POST', 'PUT', 'PATCH', 'DELETE'])\n .describe('HTTP method that was executed'),\n\n /** Client-assigned bulk operation ID */\n bulkId: z.string()\n .optional()\n .describe('Client-assigned bulk operation ID'),\n\n /** URL of the created/modified resource */\n location: z.string()\n .optional()\n .describe('URL of the created or modified resource'),\n\n /** HTTP status code as string */\n status: z.string()\n .describe('HTTP status code as string (e.g. \"201\", \"400\")'),\n\n /** Response body, typically present for errors */\n response: z.unknown()\n .optional()\n .describe('Response body (typically present for errors)'),\n}));\n\nexport type SCIMBulkResponseOperation = z.infer<typeof SCIMBulkResponseOperationSchema>;\n\n/**\n * SCIM Bulk Response Schema\n * Response to a bulk request containing results for each operation\n */\nexport const SCIMBulkResponseSchema = lazySchema(() => z.object({\n /** SCIM schema URI for bulk response */\n schemas: z.array(z.literal(SCIM_SCHEMAS.BULK_RESPONSE))\n .default([SCIM_SCHEMAS.BULK_RESPONSE])\n .describe('SCIM schema URIs (BulkResponse)'),\n\n /** Array of operation results */\n operations: z.array(SCIMBulkResponseOperationSchema)\n .describe('Results for each bulk operation'),\n}));\n\nexport type SCIMBulkResponse = z.infer<typeof SCIMBulkResponseSchema>;\n"]}