@objectstack/spec 0.3.2 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (523) hide show
  1. package/README.md +32 -10
  2. package/dist/ai/agent.zod.d.ts +12 -12
  3. package/dist/ai/conversation.zod.d.ts +54 -54
  4. package/dist/ai/cost.zod.d.ts +135 -135
  5. package/dist/ai/index.d.ts +1 -1
  6. package/dist/ai/index.d.ts.map +1 -1
  7. package/dist/ai/index.js +1 -1
  8. package/dist/ai/model-registry.zod.d.ts +91 -91
  9. package/dist/ai/nlq.zod.d.ts +72 -72
  10. package/dist/ai/{workflow-automation.zod.d.ts → orchestration.zod.d.ts} +51 -50
  11. package/dist/ai/orchestration.zod.d.ts.map +1 -0
  12. package/dist/ai/{workflow-automation.zod.js → orchestration.zod.js} +26 -25
  13. package/dist/ai/predictive.zod.d.ts +27 -27
  14. package/dist/ai/rag-pipeline.zod.d.ts +102 -102
  15. package/dist/api/contract.zod.d.ts +213 -197
  16. package/dist/api/contract.zod.d.ts.map +1 -1
  17. package/dist/{system → api}/discovery.zod.d.ts +26 -26
  18. package/dist/api/discovery.zod.d.ts.map +1 -0
  19. package/dist/{system → api}/discovery.zod.js +9 -9
  20. package/dist/{system/api.zod.d.ts → api/endpoint.zod.d.ts} +53 -57
  21. package/dist/api/endpoint.zod.d.ts.map +1 -0
  22. package/dist/{system/api.zod.js → api/endpoint.zod.js} +3 -6
  23. package/dist/api/index.d.ts +6 -0
  24. package/dist/api/index.d.ts.map +1 -1
  25. package/dist/api/index.js +6 -0
  26. package/dist/api/odata.zod.d.ts +482 -0
  27. package/dist/api/odata.zod.d.ts.map +1 -0
  28. package/dist/api/odata.zod.js +401 -0
  29. package/dist/{system → api}/realtime.zod.d.ts +4 -4
  30. package/dist/api/realtime.zod.d.ts.map +1 -0
  31. package/dist/api/router.zod.d.ts +182 -0
  32. package/dist/api/router.zod.d.ts.map +1 -0
  33. package/dist/api/router.zod.js +103 -0
  34. package/dist/{system/auth.zod.d.ts → auth/config.zod.d.ts} +199 -199
  35. package/dist/auth/config.zod.d.ts.map +1 -0
  36. package/dist/{system → auth}/identity.zod.d.ts +8 -8
  37. package/dist/auth/identity.zod.d.ts.map +1 -0
  38. package/dist/auth/index.d.ts +8 -0
  39. package/dist/auth/index.d.ts.map +1 -0
  40. package/dist/auth/index.js +23 -0
  41. package/dist/{system → auth}/organization.zod.d.ts +7 -7
  42. package/dist/auth/organization.zod.d.ts.map +1 -0
  43. package/dist/{system → auth}/policy.zod.d.ts +3 -3
  44. package/dist/auth/policy.zod.d.ts.map +1 -0
  45. package/dist/{system/auth-protocol.d.ts → auth/protocol.d.ts} +1 -1
  46. package/dist/auth/protocol.d.ts.map +1 -0
  47. package/dist/{system → auth}/role.zod.d.ts +14 -0
  48. package/dist/auth/role.zod.d.ts.map +1 -0
  49. package/dist/{system → auth}/role.zod.js +16 -1
  50. package/dist/auth/scim.zod.d.ts +2732 -0
  51. package/dist/auth/scim.zod.d.ts.map +1 -0
  52. package/dist/auth/scim.zod.js +811 -0
  53. package/dist/automation/approval.zod.d.ts +643 -0
  54. package/dist/automation/approval.zod.d.ts.map +1 -0
  55. package/dist/automation/approval.zod.js +84 -0
  56. package/dist/automation/connector.zod.d.ts +1284 -0
  57. package/dist/automation/connector.zod.d.ts.map +1 -0
  58. package/dist/automation/connector.zod.js +500 -0
  59. package/dist/automation/etl.zod.d.ts +623 -0
  60. package/dist/automation/etl.zod.d.ts.map +1 -0
  61. package/dist/automation/etl.zod.js +359 -0
  62. package/dist/{data → automation}/flow.zod.d.ts +40 -22
  63. package/dist/automation/flow.zod.d.ts.map +1 -0
  64. package/dist/{data → automation}/flow.zod.js +6 -1
  65. package/dist/automation/index.d.ts +8 -0
  66. package/dist/automation/index.d.ts.map +1 -0
  67. package/dist/automation/index.js +23 -0
  68. package/dist/automation/sync.zod.d.ts +854 -0
  69. package/dist/automation/sync.zod.d.ts.map +1 -0
  70. package/dist/automation/sync.zod.js +444 -0
  71. package/dist/{system → automation}/webhook.zod.d.ts +26 -3
  72. package/dist/automation/webhook.zod.d.ts.map +1 -0
  73. package/dist/{system → automation}/webhook.zod.js +27 -3
  74. package/dist/automation/workflow.zod.d.ts +2059 -0
  75. package/dist/automation/workflow.zod.d.ts.map +1 -0
  76. package/dist/{data → automation}/workflow.zod.js +40 -2
  77. package/dist/data/dataset.zod.d.ts +2 -2
  78. package/dist/data/field.zod.d.ts +779 -219
  79. package/dist/data/field.zod.d.ts.map +1 -1
  80. package/dist/data/field.zod.js +128 -16
  81. package/dist/data/filter.zod.d.ts +167 -30
  82. package/dist/data/filter.zod.d.ts.map +1 -1
  83. package/dist/data/filter.zod.js +25 -13
  84. package/dist/data/hook.zod.d.ts +191 -0
  85. package/dist/data/hook.zod.d.ts.map +1 -0
  86. package/dist/data/hook.zod.js +144 -0
  87. package/dist/data/index.d.ts +4 -17
  88. package/dist/data/index.d.ts.map +1 -1
  89. package/dist/data/index.js +4 -17
  90. package/dist/data/mapping.zod.d.ts +117 -93
  91. package/dist/data/mapping.zod.d.ts.map +1 -1
  92. package/dist/data/mapping.zod.js +16 -3
  93. package/dist/data/object.zod.d.ts +485 -131
  94. package/dist/data/object.zod.d.ts.map +1 -1
  95. package/dist/data/object.zod.js +87 -42
  96. package/dist/data/query.zod.d.ts +98 -169
  97. package/dist/data/query.zod.d.ts.map +1 -1
  98. package/dist/data/query.zod.js +42 -130
  99. package/dist/data/validation.zod.d.ts +166 -26
  100. package/dist/data/validation.zod.d.ts.map +1 -1
  101. package/dist/data/validation.zod.js +38 -16
  102. package/dist/hub/composer.zod.d.ts +871 -0
  103. package/dist/hub/composer.zod.d.ts.map +1 -0
  104. package/dist/hub/composer.zod.js +111 -0
  105. package/dist/hub/index.d.ts +6 -0
  106. package/dist/hub/index.d.ts.map +1 -0
  107. package/dist/hub/index.js +22 -0
  108. package/dist/{system → hub}/license.zod.d.ts +13 -9
  109. package/dist/hub/license.zod.d.ts.map +1 -0
  110. package/dist/{system → hub}/license.zod.js +5 -3
  111. package/dist/hub/marketplace.zod.d.ts +191 -0
  112. package/dist/hub/marketplace.zod.d.ts.map +1 -0
  113. package/dist/hub/marketplace.zod.js +85 -0
  114. package/dist/hub/space.zod.d.ts +383 -0
  115. package/dist/hub/space.zod.d.ts.map +1 -0
  116. package/dist/hub/space.zod.js +103 -0
  117. package/dist/{system → hub}/tenant.zod.d.ts +73 -47
  118. package/dist/hub/tenant.zod.d.ts.map +1 -0
  119. package/dist/{system → hub}/tenant.zod.js +36 -10
  120. package/dist/index.d.ts +11 -4
  121. package/dist/index.d.ts.map +1 -1
  122. package/dist/index.js +15 -5
  123. package/dist/permission/index.d.ts +14 -0
  124. package/dist/permission/index.d.ts.map +1 -0
  125. package/dist/permission/index.js +29 -0
  126. package/dist/{data → permission}/permission.zod.d.ts +48 -3
  127. package/dist/permission/permission.zod.d.ts.map +1 -0
  128. package/dist/{data → permission}/permission.zod.js +26 -2
  129. package/dist/permission/rls.zod.d.ts +605 -0
  130. package/dist/permission/rls.zod.d.ts.map +1 -0
  131. package/dist/permission/rls.zod.js +615 -0
  132. package/dist/permission/sharing.zod.d.ts +146 -0
  133. package/dist/permission/sharing.zod.d.ts.map +1 -0
  134. package/dist/permission/sharing.zod.js +88 -0
  135. package/dist/{system → permission}/territory.zod.d.ts +13 -0
  136. package/dist/permission/territory.zod.d.ts.map +1 -0
  137. package/dist/{system → permission}/territory.zod.js +15 -1
  138. package/dist/shared/identifiers.zod.d.ts +87 -0
  139. package/dist/shared/identifiers.zod.d.ts.map +1 -0
  140. package/dist/shared/identifiers.zod.js +101 -0
  141. package/dist/shared/index.d.ts +6 -0
  142. package/dist/shared/index.d.ts.map +1 -0
  143. package/dist/shared/index.js +21 -0
  144. package/dist/stack.zod.d.ts +19869 -0
  145. package/dist/stack.zod.d.ts.map +1 -0
  146. package/dist/stack.zod.js +248 -0
  147. package/dist/system/audit.zod.d.ts +58 -58
  148. package/dist/system/context.zod.d.ts +56 -0
  149. package/dist/system/context.zod.d.ts.map +1 -0
  150. package/dist/system/context.zod.js +43 -0
  151. package/dist/system/datasource.zod.d.ts +40 -6
  152. package/dist/system/datasource.zod.d.ts.map +1 -1
  153. package/dist/system/datasource.zod.js +17 -13
  154. package/dist/system/driver/mongo.zod.d.ts +107 -0
  155. package/dist/system/driver/mongo.zod.d.ts.map +1 -0
  156. package/dist/system/driver/mongo.zod.js +80 -0
  157. package/dist/system/driver/postgres.zod.d.ts +134 -0
  158. package/dist/system/driver/postgres.zod.d.ts.map +1 -0
  159. package/dist/system/driver/postgres.zod.js +88 -0
  160. package/dist/system/driver.zod.d.ts +2249 -488
  161. package/dist/system/driver.zod.d.ts.map +1 -1
  162. package/dist/system/driver.zod.js +99 -0
  163. package/dist/system/events.zod.d.ts +8 -5
  164. package/dist/system/events.zod.d.ts.map +1 -1
  165. package/dist/system/events.zod.js +5 -1
  166. package/dist/system/feature.zod.d.ts +131 -0
  167. package/dist/system/feature.zod.d.ts.map +1 -0
  168. package/dist/system/feature.zod.js +45 -0
  169. package/dist/system/index.d.ts +11 -20
  170. package/dist/system/index.d.ts.map +1 -1
  171. package/dist/system/index.js +15 -20
  172. package/dist/system/job.zod.d.ts +5 -5
  173. package/dist/system/logger.zod.d.ts +111 -0
  174. package/dist/system/logger.zod.d.ts.map +1 -0
  175. package/dist/system/logger.zod.js +75 -0
  176. package/dist/system/manifest.zod.d.ts +136 -18
  177. package/dist/system/manifest.zod.d.ts.map +1 -1
  178. package/dist/system/manifest.zod.js +28 -0
  179. package/dist/system/plugin.zod.d.ts +598 -318
  180. package/dist/system/plugin.zod.d.ts.map +1 -1
  181. package/dist/system/plugin.zod.js +13 -0
  182. package/dist/system/scoped-storage.zod.d.ts +81 -0
  183. package/dist/system/scoped-storage.zod.d.ts.map +1 -0
  184. package/dist/system/scoped-storage.zod.js +66 -0
  185. package/dist/ui/action.zod.d.ts +42 -17
  186. package/dist/ui/action.zod.d.ts.map +1 -1
  187. package/dist/ui/action.zod.js +30 -1
  188. package/dist/ui/app.zod.d.ts +26 -11
  189. package/dist/ui/app.zod.d.ts.map +1 -1
  190. package/dist/ui/app.zod.js +32 -4
  191. package/dist/ui/block.zod.d.ts +265 -0
  192. package/dist/ui/block.zod.d.ts.map +1 -0
  193. package/dist/ui/block.zod.js +90 -0
  194. package/dist/ui/component.zod.d.ts +265 -0
  195. package/dist/ui/component.zod.d.ts.map +1 -0
  196. package/dist/ui/component.zod.js +90 -0
  197. package/dist/ui/dashboard.zod.d.ts +15 -15
  198. package/dist/ui/dashboard.zod.d.ts.map +1 -1
  199. package/dist/ui/dashboard.zod.js +18 -8
  200. package/dist/ui/index.d.ts +1 -0
  201. package/dist/ui/index.d.ts.map +1 -1
  202. package/dist/ui/index.js +1 -0
  203. package/dist/ui/page.zod.d.ts +23 -5
  204. package/dist/ui/page.zod.d.ts.map +1 -1
  205. package/dist/ui/page.zod.js +37 -4
  206. package/dist/ui/report.zod.d.ts +12 -12
  207. package/dist/ui/theme.zod.d.ts +42 -42
  208. package/dist/ui/view.zod.d.ts +302 -290
  209. package/dist/ui/view.zod.d.ts.map +1 -1
  210. package/dist/ui/view.zod.js +32 -3
  211. package/dist/ui/widget.zod.d.ts +730 -29
  212. package/dist/ui/widget.zod.d.ts.map +1 -1
  213. package/dist/ui/widget.zod.js +294 -1
  214. package/json-schema/ai/{AIWorkflowAutomation.json → AIOrchestration.json} +5 -5
  215. package/json-schema/ai/{AIWorkflowExecutionResult.json → AIOrchestrationExecutionResult.json} +2 -2
  216. package/json-schema/ai/{AIWorkflowTrigger.json → AIOrchestrationTrigger.json} +2 -2
  217. package/json-schema/ai/{BatchAIWorkflowExecution.json → BatchAIOrchestrationExecution.json} +3 -3
  218. package/json-schema/{system → api}/ApiEndpoint.json +3 -1
  219. package/json-schema/{system → api}/ApiRoutes.json +7 -7
  220. package/json-schema/{system → api}/Discovery.json +7 -7
  221. package/json-schema/api/ExportRequest.json +402 -438
  222. package/json-schema/{system → api}/HttpMethod.json +3 -1
  223. package/json-schema/api/ODataError.json +65 -0
  224. package/json-schema/api/ODataFilterFunction.json +39 -0
  225. package/json-schema/api/ODataFilterOperator.json +24 -0
  226. package/json-schema/api/ODataMetadata.json +115 -0
  227. package/json-schema/api/ODataQuery.json +89 -0
  228. package/json-schema/api/ODataResponse.json +37 -0
  229. package/json-schema/api/RouteCategory.json +17 -0
  230. package/json-schema/api/RouteDefinition.json +77 -0
  231. package/json-schema/api/RouterConfig.json +117 -0
  232. package/json-schema/{system → auth}/Role.json +3 -2
  233. package/json-schema/auth/SCIMAddress.json +50 -0
  234. package/json-schema/auth/SCIMEmail.json +38 -0
  235. package/json-schema/auth/SCIMEnterpriseUser.json +55 -0
  236. package/json-schema/auth/SCIMError.json +52 -0
  237. package/json-schema/auth/SCIMGroup.json +102 -0
  238. package/json-schema/auth/SCIMGroupReference.json +36 -0
  239. package/json-schema/auth/SCIMListResponse.json +606 -0
  240. package/json-schema/auth/SCIMMemberReference.json +36 -0
  241. package/json-schema/auth/SCIMMeta.json +35 -0
  242. package/json-schema/auth/SCIMName.json +36 -0
  243. package/json-schema/auth/SCIMPatchOperation.json +31 -0
  244. package/json-schema/auth/SCIMPatchRequest.json +56 -0
  245. package/json-schema/auth/SCIMPhoneNumber.json +40 -0
  246. package/json-schema/auth/SCIMUser.json +462 -0
  247. package/json-schema/automation/ApprovalAction.json +35 -0
  248. package/json-schema/automation/ApprovalActionType.json +15 -0
  249. package/json-schema/automation/ApprovalProcess.json +326 -0
  250. package/json-schema/automation/ApprovalStep.json +147 -0
  251. package/json-schema/automation/ApproverType.json +16 -0
  252. package/json-schema/automation/AuthField.json +73 -0
  253. package/json-schema/automation/Authentication.json +159 -0
  254. package/json-schema/automation/AuthenticationType.json +18 -0
  255. package/json-schema/automation/ConflictResolution.json +16 -0
  256. package/json-schema/automation/Connector.json +440 -0
  257. package/json-schema/automation/ConnectorCategory.json +26 -0
  258. package/json-schema/automation/ConnectorInstance.json +69 -0
  259. package/json-schema/automation/ConnectorOperation.json +117 -0
  260. package/json-schema/automation/ConnectorTrigger.json +54 -0
  261. package/json-schema/automation/DataDestinationConfig.json +89 -0
  262. package/json-schema/automation/DataSourceConfig.json +34 -0
  263. package/json-schema/automation/DataSyncConfig.json +355 -0
  264. package/json-schema/automation/ETLDestination.json +57 -0
  265. package/json-schema/automation/ETLEndpointType.json +19 -0
  266. package/json-schema/automation/ETLPipeline.json +252 -0
  267. package/json-schema/automation/ETLPipelineRun.json +107 -0
  268. package/json-schema/automation/ETLRunStatus.json +17 -0
  269. package/json-schema/automation/ETLSource.json +60 -0
  270. package/json-schema/{data/LogicOperator.json → automation/ETLSyncMode.json} +5 -5
  271. package/json-schema/automation/ETLTransformation.json +46 -0
  272. package/json-schema/automation/ETLTransformationType.json +21 -0
  273. package/json-schema/automation/FieldMapping.json +36 -0
  274. package/json-schema/{data → automation}/Flow.json +31 -1
  275. package/json-schema/{data → automation}/FlowEdge.json +9 -0
  276. package/json-schema/automation/OAuth2Config.json +43 -0
  277. package/json-schema/automation/OperationParameter.json +59 -0
  278. package/json-schema/automation/OperationType.json +17 -0
  279. package/json-schema/automation/SyncDirection.json +14 -0
  280. package/json-schema/automation/SyncExecutionResult.json +135 -0
  281. package/json-schema/automation/SyncExecutionStatus.json +17 -0
  282. package/json-schema/{data/TriggerTiming.json → automation/SyncMode.json} +5 -4
  283. package/json-schema/{data/WorkflowRule.json → automation/TimeTrigger.json} +35 -25
  284. package/json-schema/{system → automation}/Webhook.json +3 -1
  285. package/json-schema/{system → automation}/WebhookReceiver.json +3 -1
  286. package/json-schema/automation/WorkflowRule.json +1032 -0
  287. package/json-schema/data/AggregationNode.json +23 -0
  288. package/json-schema/data/AsyncValidation.json +49 -2
  289. package/json-schema/data/ComparisonOperator.json +52 -0
  290. package/json-schema/data/ConditionalValidation.json +693 -46
  291. package/json-schema/data/CrossFieldValidation.json +33 -2
  292. package/json-schema/data/CurrencyConfig.json +35 -0
  293. package/json-schema/data/CurrencyValue.json +26 -0
  294. package/json-schema/data/CustomValidator.json +37 -10
  295. package/json-schema/data/Field.json +92 -4
  296. package/json-schema/data/FieldOperators.json +78 -0
  297. package/json-schema/data/FieldReference.json +19 -0
  298. package/json-schema/data/FieldType.json +12 -2
  299. package/json-schema/data/FormatValidation.json +33 -2
  300. package/json-schema/data/Hook.json +95 -0
  301. package/json-schema/data/HookContext.json +88 -0
  302. package/json-schema/data/HookEvent.json +29 -0
  303. package/json-schema/data/Index.json +10 -0
  304. package/json-schema/data/JSONValidation.json +85 -0
  305. package/json-schema/data/JoinNode.json +197 -213
  306. package/json-schema/data/JoinStrategy.json +15 -0
  307. package/json-schema/data/NormalizedFilter.json +234 -0
  308. package/json-schema/data/Object.json +1642 -32
  309. package/json-schema/data/ObjectCapabilities.json +30 -12
  310. package/json-schema/data/Query.json +246 -262
  311. package/json-schema/data/RangeOperator.json +26 -0
  312. package/json-schema/data/ScriptValidation.json +33 -2
  313. package/json-schema/data/SearchConfig.json +36 -0
  314. package/json-schema/data/SelectOption.json +4 -2
  315. package/json-schema/data/StateMachineValidation.json +33 -2
  316. package/json-schema/data/UniquenessValidation.json +33 -2
  317. package/json-schema/data/ValidationRule.json +693 -46
  318. package/json-schema/data/VectorConfig.json +51 -0
  319. package/json-schema/hub/BillOfMaterials.json +70 -0
  320. package/json-schema/hub/ComposerRequest.json +86 -0
  321. package/json-schema/hub/ComposerResponse.json +483 -0
  322. package/json-schema/hub/ConflictReport.json +53 -0
  323. package/json-schema/hub/DependencyRequirement.json +36 -0
  324. package/json-schema/hub/DeploymentTarget.json +38 -0
  325. package/json-schema/hub/HubSpace.json +279 -0
  326. package/json-schema/{system → hub}/License.json +11 -3
  327. package/json-schema/hub/MarketplacePlugin.json +141 -0
  328. package/json-schema/hub/PluginAuthor.json +26 -0
  329. package/json-schema/hub/PluginPricing.json +43 -0
  330. package/json-schema/hub/SpaceSubscription.json +77 -0
  331. package/json-schema/hub/SubscriptionStatus.json +16 -0
  332. package/json-schema/{system → hub}/Tenant.json +3 -5
  333. package/json-schema/permission/CriteriaSharingRule.json +82 -0
  334. package/json-schema/{data → permission}/OWDModel.json +2 -1
  335. package/json-schema/{data → permission}/ObjectPermission.json +15 -0
  336. package/json-schema/permission/OwnerSharingRule.json +102 -0
  337. package/json-schema/{data → permission}/PermissionSet.json +18 -1
  338. package/json-schema/permission/RLSConfig.json +59 -0
  339. package/json-schema/permission/RLSEvaluationResult.json +40 -0
  340. package/json-schema/{data/TriggerAction.json → permission/RLSOperation.json} +5 -3
  341. package/json-schema/permission/RLSUserContext.json +51 -0
  342. package/json-schema/permission/RowLevelSecurityPolicy.json +77 -0
  343. package/json-schema/permission/ShareRecipientType.json +16 -0
  344. package/json-schema/{data → permission}/SharingLevel.json +2 -1
  345. package/json-schema/permission/SharingRule.json +182 -0
  346. package/json-schema/{data → permission}/SharingRuleType.json +1 -3
  347. package/json-schema/{system → permission}/Territory.json +3 -1
  348. package/json-schema/shared/EventName.json +12 -0
  349. package/json-schema/shared/SnakeCaseIdentifier.json +12 -0
  350. package/json-schema/shared/SystemIdentifier.json +12 -0
  351. package/json-schema/system/Datasource.json +35 -0
  352. package/json-schema/system/DriverCapabilities.json +10 -0
  353. package/json-schema/system/DriverInterface.json +10 -0
  354. package/json-schema/system/DriverOptions.json +11 -0
  355. package/json-schema/system/Event.json +3 -2
  356. package/json-schema/system/FeatureFlag.json +87 -0
  357. package/json-schema/system/FeatureStrategy.json +16 -0
  358. package/json-schema/system/FileMetadata.json +43 -0
  359. package/json-schema/system/KernelContext.json +62 -0
  360. package/json-schema/system/LogEntry.json +63 -0
  361. package/json-schema/system/LogFormat.json +15 -0
  362. package/json-schema/system/LogLevel.json +17 -0
  363. package/json-schema/system/LoggerConfig.json +70 -0
  364. package/json-schema/system/Manifest.json +80 -0
  365. package/json-schema/system/MongoConfig.json +82 -0
  366. package/json-schema/system/PluginContext.json +8 -1
  367. package/json-schema/system/PostgresConfig.json +98 -0
  368. package/json-schema/system/RuntimeMode.json +16 -0
  369. package/json-schema/system/ScopedStorageConfig.json +54 -0
  370. package/json-schema/system/StorageAdapterType.json +17 -0
  371. package/json-schema/system/StorageScope.json +18 -0
  372. package/json-schema/ui/Action.json +25 -4
  373. package/json-schema/ui/ActionParam.json +12 -2
  374. package/json-schema/ui/App.json +18 -7
  375. package/json-schema/ui/ChartType.json +9 -1
  376. package/json-schema/ui/Dashboard.json +9 -1
  377. package/json-schema/ui/DashboardNavItem.json +3 -1
  378. package/json-schema/ui/DashboardWidget.json +9 -1
  379. package/json-schema/ui/FieldWidgetProps.json +92 -4
  380. package/json-schema/ui/FormView.json +4 -1
  381. package/json-schema/ui/GroupNavItem.json +3 -1
  382. package/json-schema/ui/ListView.json +7 -1
  383. package/json-schema/ui/NavigationItem.json +15 -5
  384. package/json-schema/ui/ObjectNavItem.json +3 -1
  385. package/json-schema/ui/Page.json +36 -4
  386. package/json-schema/ui/PageCardProps.json +32 -0
  387. package/json-schema/ui/PageComponent.json +33 -3
  388. package/json-schema/ui/PageComponentType.json +32 -0
  389. package/json-schema/ui/PageHeaderProps.json +39 -0
  390. package/json-schema/ui/PageNavItem.json +3 -1
  391. package/json-schema/ui/PageRegion.json +33 -3
  392. package/json-schema/ui/PageTabsProps.json +55 -0
  393. package/json-schema/ui/RecordDetailsProps.json +37 -0
  394. package/json-schema/ui/RecordHighlightsProps.json +24 -0
  395. package/json-schema/ui/RecordRelatedListProps.json +39 -0
  396. package/json-schema/ui/UrlNavItem.json +3 -1
  397. package/json-schema/ui/View.json +22 -4
  398. package/json-schema/ui/WidgetEvent.json +42 -0
  399. package/json-schema/ui/WidgetLifecycle.json +40 -0
  400. package/json-schema/ui/WidgetManifest.json +262 -0
  401. package/json-schema/ui/WidgetProperty.json +58 -0
  402. package/llms.txt +182 -0
  403. package/package.json +38 -16
  404. package/prompts/README.md +18 -0
  405. package/prompts/architecture.md +81 -0
  406. package/prompts/create-new-project.md +85 -0
  407. package/prompts/implement-objectai.md +39 -0
  408. package/prompts/implement-objectos.md +48 -0
  409. package/prompts/implement-objectql.md +39 -0
  410. package/prompts/implement-objectui.md +46 -0
  411. package/prompts/instructions.md +91 -0
  412. package/dist/ai/workflow-automation.zod.d.ts.map +0 -1
  413. package/dist/data/flow.zod.d.ts.map +0 -1
  414. package/dist/data/permission.zod.d.ts.map +0 -1
  415. package/dist/data/sharing.zod.d.ts +0 -63
  416. package/dist/data/sharing.zod.d.ts.map +0 -1
  417. package/dist/data/sharing.zod.js +0 -57
  418. package/dist/data/trigger.zod.d.ts +0 -354
  419. package/dist/data/trigger.zod.d.ts.map +0 -1
  420. package/dist/data/trigger.zod.js +0 -195
  421. package/dist/data/workflow.zod.d.ts +0 -986
  422. package/dist/data/workflow.zod.d.ts.map +0 -1
  423. package/dist/system/api.zod.d.ts.map +0 -1
  424. package/dist/system/auth-protocol.d.ts.map +0 -1
  425. package/dist/system/auth.zod.d.ts.map +0 -1
  426. package/dist/system/discovery.zod.d.ts.map +0 -1
  427. package/dist/system/identity.zod.d.ts.map +0 -1
  428. package/dist/system/license.zod.d.ts.map +0 -1
  429. package/dist/system/organization.zod.d.ts.map +0 -1
  430. package/dist/system/policy.zod.d.ts.map +0 -1
  431. package/dist/system/realtime.zod.d.ts.map +0 -1
  432. package/dist/system/role.zod.d.ts.map +0 -1
  433. package/dist/system/tenant.zod.d.ts.map +0 -1
  434. package/dist/system/territory.zod.d.ts.map +0 -1
  435. package/dist/system/webhook.zod.d.ts.map +0 -1
  436. package/json-schema/README.md +0 -127
  437. package/json-schema/data/FieldMapping.json +0 -83
  438. package/json-schema/data/FilterNode.json +0 -52
  439. package/json-schema/data/FilterOperator.json +0 -26
  440. package/json-schema/data/Mapping.json +0 -598
  441. package/json-schema/data/SharingRule.json +0 -58
  442. package/json-schema/data/TransformType.json +0 -18
  443. package/json-schema/data/Trigger.json +0 -73
  444. package/json-schema/data/TriggerContext.json +0 -61
  445. /package/dist/{system → api}/realtime.zod.js +0 -0
  446. /package/dist/{system/auth.zod.js → auth/config.zod.js} +0 -0
  447. /package/dist/{system → auth}/identity.zod.js +0 -0
  448. /package/dist/{system → auth}/organization.zod.js +0 -0
  449. /package/dist/{system → auth}/policy.zod.js +0 -0
  450. /package/dist/{system/auth-protocol.js → auth/protocol.js} +0 -0
  451. /package/json-schema/{system → api}/ApiCapabilities.json +0 -0
  452. /package/json-schema/{system → api}/ApiMapping.json +0 -0
  453. /package/json-schema/{system → api}/Presence.json +0 -0
  454. /package/json-schema/{system → api}/PresenceStatus.json +0 -0
  455. /package/json-schema/{system → api}/RateLimit.json +0 -0
  456. /package/json-schema/{system → api}/RealtimeAction.json +0 -0
  457. /package/json-schema/{system → api}/RealtimeEvent.json +0 -0
  458. /package/json-schema/{system → api}/RealtimeEventType.json +0 -0
  459. /package/json-schema/{system → api}/Subscription.json +0 -0
  460. /package/json-schema/{system → api}/SubscriptionEvent.json +0 -0
  461. /package/json-schema/{system → api}/TransportProtocol.json +0 -0
  462. /package/json-schema/{system → auth}/Account.json +0 -0
  463. /package/json-schema/{system → auth}/AccountLinkingConfig.json +0 -0
  464. /package/json-schema/{system → auth}/AuditPolicy.json +0 -0
  465. /package/json-schema/{system → auth}/AuthConfig.json +0 -0
  466. /package/json-schema/{system → auth}/AuthPluginConfig.json +0 -0
  467. /package/json-schema/{system → auth}/AuthStrategy.json +0 -0
  468. /package/json-schema/{system → auth}/CSRFConfig.json +0 -0
  469. /package/json-schema/{system → auth}/DatabaseAdapter.json +0 -0
  470. /package/json-schema/{system → auth}/DatabaseMapping.json +0 -0
  471. /package/json-schema/{system → auth}/EmailPasswordConfig.json +0 -0
  472. /package/json-schema/{system → auth}/EnterpriseAuthConfig.json +0 -0
  473. /package/json-schema/{system → auth}/Invitation.json +0 -0
  474. /package/json-schema/{system → auth}/InvitationStatus.json +0 -0
  475. /package/json-schema/{system → auth}/LDAPConfig.json +0 -0
  476. /package/json-schema/{system → auth}/MagicLinkConfig.json +0 -0
  477. /package/json-schema/{system → auth}/Member.json +0 -0
  478. /package/json-schema/{system → auth}/NetworkPolicy.json +0 -0
  479. /package/json-schema/{system → auth}/OAuthProvider.json +0 -0
  480. /package/json-schema/{system → auth}/OIDCConfig.json +0 -0
  481. /package/json-schema/{system → auth}/Organization.json +0 -0
  482. /package/json-schema/{system → auth}/PasskeyConfig.json +0 -0
  483. /package/json-schema/{system → auth}/PasswordPolicy.json +0 -0
  484. /package/json-schema/{system → auth}/Policy.json +0 -0
  485. /package/json-schema/{system → auth}/RateLimitConfig.json +0 -0
  486. /package/json-schema/{system → auth}/SAMLConfig.json +0 -0
  487. /package/json-schema/{system → auth}/Session.json +0 -0
  488. /package/json-schema/{system → auth}/SessionConfig.json +0 -0
  489. /package/json-schema/{system → auth}/SessionPolicy.json +0 -0
  490. /package/json-schema/{system → auth}/StandardAuthProvider.json +0 -0
  491. /package/json-schema/{system → auth}/TwoFactorConfig.json +0 -0
  492. /package/json-schema/{system → auth}/User.json +0 -0
  493. /package/json-schema/{system → auth}/UserFieldMapping.json +0 -0
  494. /package/json-schema/{system → auth}/VerificationToken.json +0 -0
  495. /package/json-schema/{data → automation}/CustomScriptAction.json +0 -0
  496. /package/json-schema/{data → automation}/EmailAlertAction.json +0 -0
  497. /package/json-schema/{data → automation}/FieldUpdateAction.json +0 -0
  498. /package/json-schema/{data → automation}/FlowNode.json +0 -0
  499. /package/json-schema/{data → automation}/FlowNodeAction.json +0 -0
  500. /package/json-schema/{data → automation}/FlowVariable.json +0 -0
  501. /package/json-schema/{data → automation}/HttpCallAction.json +0 -0
  502. /package/json-schema/{data → automation}/PushNotificationAction.json +0 -0
  503. /package/json-schema/{data → automation}/SlackMessageAction.json +0 -0
  504. /package/json-schema/{data → automation}/SmsNotificationAction.json +0 -0
  505. /package/json-schema/{data → automation}/TaskCreationAction.json +0 -0
  506. /package/json-schema/{data → automation}/TeamsMessageAction.json +0 -0
  507. /package/json-schema/{data → automation}/WebhookTriggerAction.json +0 -0
  508. /package/json-schema/{system → automation}/WebhookTriggerType.json +0 -0
  509. /package/json-schema/{data → automation}/WorkflowAction.json +0 -0
  510. /package/json-schema/{data → automation}/WorkflowTriggerType.json +0 -0
  511. /package/json-schema/{system → hub}/DatabaseLevelIsolationStrategy.json +0 -0
  512. /package/json-schema/{system → hub}/Feature.json +0 -0
  513. /package/json-schema/{system → hub}/LevelIsolationStrategySchema.json +0 -0
  514. /package/json-schema/{system → hub}/MetricType.json +0 -0
  515. /package/json-schema/{system → hub}/Plan.json +0 -0
  516. /package/json-schema/{system → hub}/RowLevelIsolationStrategy.json +0 -0
  517. /package/json-schema/{system → hub}/TenantIsolationConfig.json +0 -0
  518. /package/json-schema/{system → hub}/TenantIsolationLevel.json +0 -0
  519. /package/json-schema/{system → hub}/TenantQuota.json +0 -0
  520. /package/json-schema/{system → hub}/TenantSecurityPolicy.json +0 -0
  521. /package/json-schema/{data → permission}/FieldPermission.json +0 -0
  522. /package/json-schema/{system → permission}/TerritoryModel.json +0 -0
  523. /package/json-schema/{system → permission}/TerritoryType.json +0 -0
@@ -38,194 +38,65 @@
38
38
  },
39
39
  "description": "Fields to retrieve"
40
40
  },
41
- "aggregations": {
42
- "type": "array",
43
- "items": {
44
- "type": "object",
45
- "properties": {
46
- "function": {
47
- "type": "string",
48
- "enum": [
49
- "count",
50
- "sum",
51
- "avg",
52
- "min",
53
- "max",
54
- "count_distinct",
55
- "array_agg",
56
- "string_agg"
57
- ],
58
- "description": "Aggregation function"
59
- },
60
- "field": {
61
- "type": "string",
62
- "description": "Field to aggregate (optional for COUNT(*))"
63
- },
64
- "alias": {
65
- "type": "string",
66
- "description": "Result column alias"
67
- },
68
- "distinct": {
69
- "type": "boolean",
70
- "description": "Apply DISTINCT before aggregation"
71
- }
41
+ "where": {
42
+ "allOf": [
43
+ {
44
+ "type": "object",
45
+ "additionalProperties": {}
72
46
  },
73
- "required": [
74
- "function",
75
- "alias"
76
- ],
77
- "additionalProperties": false
78
- },
79
- "description": "Aggregation functions (GROUP BY)"
47
+ {
48
+ "type": "object",
49
+ "properties": {
50
+ "$and": {
51
+ "type": "array",
52
+ "items": {}
53
+ },
54
+ "$or": {
55
+ "type": "array",
56
+ "items": {}
57
+ },
58
+ "$not": {}
59
+ }
60
+ }
61
+ ],
62
+ "description": "Filtering criteria (WHERE)"
80
63
  },
81
- "windowFunctions": {
64
+ "orderBy": {
82
65
  "type": "array",
83
66
  "items": {
84
67
  "type": "object",
85
68
  "properties": {
86
- "function": {
87
- "type": "string",
88
- "enum": [
89
- "row_number",
90
- "rank",
91
- "dense_rank",
92
- "percent_rank",
93
- "lag",
94
- "lead",
95
- "first_value",
96
- "last_value",
97
- "sum",
98
- "avg",
99
- "count",
100
- "min",
101
- "max"
102
- ],
103
- "description": "Window function name"
104
- },
105
69
  "field": {
106
- "type": "string",
107
- "description": "Field to operate on (for aggregate window functions)"
70
+ "type": "string"
108
71
  },
109
- "alias": {
72
+ "order": {
110
73
  "type": "string",
111
- "description": "Result column alias"
112
- },
113
- "over": {
114
- "type": "object",
115
- "properties": {
116
- "partitionBy": {
117
- "type": "array",
118
- "items": {
119
- "type": "string"
120
- },
121
- "description": "PARTITION BY fields"
122
- },
123
- "orderBy": {
124
- "type": "array",
125
- "items": {
126
- "type": "object",
127
- "properties": {
128
- "field": {
129
- "type": "string"
130
- },
131
- "order": {
132
- "type": "string",
133
- "enum": [
134
- "asc",
135
- "desc"
136
- ],
137
- "default": "asc"
138
- }
139
- },
140
- "required": [
141
- "field"
142
- ],
143
- "additionalProperties": false
144
- },
145
- "description": "ORDER BY specification"
146
- },
147
- "frame": {
148
- "type": "object",
149
- "properties": {
150
- "type": {
151
- "type": "string",
152
- "enum": [
153
- "rows",
154
- "range"
155
- ]
156
- },
157
- "start": {
158
- "type": "string",
159
- "description": "Frame start (e.g., \"UNBOUNDED PRECEDING\", \"1 PRECEDING\")"
160
- },
161
- "end": {
162
- "type": "string",
163
- "description": "Frame end (e.g., \"CURRENT ROW\", \"1 FOLLOWING\")"
164
- }
165
- },
166
- "additionalProperties": false,
167
- "description": "Window frame specification"
168
- }
169
- },
170
- "additionalProperties": false,
171
- "description": "Window specification (OVER clause)"
74
+ "enum": [
75
+ "asc",
76
+ "desc"
77
+ ],
78
+ "default": "asc"
172
79
  }
173
80
  },
174
81
  "required": [
175
- "function",
176
- "alias",
177
- "over"
82
+ "field"
178
83
  ],
179
84
  "additionalProperties": false
180
85
  },
181
- "description": "Window functions with OVER clause"
86
+ "description": "Sorting instructions (ORDER BY)"
182
87
  },
183
- "filters": {
184
- "anyOf": [
185
- {
186
- "type": "array",
187
- "minItems": 3,
188
- "maxItems": 3,
189
- "items": [
190
- {
191
- "type": "string"
192
- },
193
- {
194
- "type": "string",
195
- "enum": [
196
- "=",
197
- "!=",
198
- "<>",
199
- ">",
200
- ">=",
201
- "<",
202
- "<=",
203
- "startswith",
204
- "contains",
205
- "notcontains",
206
- "between",
207
- "in",
208
- "notin",
209
- "is_null",
210
- "is_not_null"
211
- ]
212
- },
213
- {}
214
- ]
215
- },
216
- {
217
- "type": "array",
218
- "items": {
219
- "anyOf": [
220
- {
221
- "type": "string"
222
- },
223
- {}
224
- ]
225
- }
226
- }
227
- ],
228
- "description": "Filtering criteria"
88
+ "limit": {
89
+ "type": "number",
90
+ "description": "Max records to return (LIMIT)"
91
+ },
92
+ "offset": {
93
+ "type": "number",
94
+ "description": "Records to skip (OFFSET)"
95
+ },
96
+ "cursor": {
97
+ "type": "object",
98
+ "additionalProperties": {},
99
+ "description": "Cursor for keyset pagination"
229
100
  },
230
101
  "joins": {
231
102
  "type": "array",
@@ -242,6 +113,16 @@
242
113
  ],
243
114
  "description": "Join type"
244
115
  },
116
+ "strategy": {
117
+ "type": "string",
118
+ "enum": [
119
+ "auto",
120
+ "database",
121
+ "hash",
122
+ "loop"
123
+ ],
124
+ "description": "Execution strategy hint"
125
+ },
245
126
  "object": {
246
127
  "type": "string",
247
128
  "description": "Object/table to join"
@@ -251,92 +132,86 @@
251
132
  "description": "Table alias"
252
133
  },
253
134
  "on": {
254
- "anyOf": [
135
+ "allOf": [
255
136
  {
256
- "type": "array",
257
- "minItems": 3,
258
- "maxItems": 3,
259
- "items": [
260
- {
261
- "type": "string"
262
- },
263
- {
264
- "type": "string",
265
- "enum": [
266
- "=",
267
- "!=",
268
- "<>",
269
- ">",
270
- ">=",
271
- "<",
272
- "<=",
273
- "startswith",
274
- "contains",
275
- "notcontains",
276
- "between",
277
- "in",
278
- "notin",
279
- "is_null",
280
- "is_not_null"
281
- ]
282
- },
283
- {}
284
- ]
137
+ "type": "object",
138
+ "additionalProperties": {}
285
139
  },
286
140
  {
287
- "type": "array",
288
- "items": {
289
- "anyOf": [
290
- {
291
- "type": "string"
292
- },
293
- {
294
- "anyOf": [
141
+ "type": "object",
142
+ "properties": {
143
+ "$and": {
144
+ "type": "array",
145
+ "items": {
146
+ "allOf": [
295
147
  {
296
- "type": "array",
297
- "minItems": 3,
298
- "maxItems": 3,
299
- "items": [
300
- {
301
- "type": "string"
148
+ "type": "object",
149
+ "additionalProperties": {}
150
+ },
151
+ {
152
+ "type": "object",
153
+ "properties": {
154
+ "$and": {
155
+ "type": "array",
156
+ "items": {}
302
157
  },
303
- {
304
- "type": "string",
305
- "enum": [
306
- "=",
307
- "!=",
308
- "<>",
309
- ">",
310
- ">=",
311
- "<",
312
- "<=",
313
- "startswith",
314
- "contains",
315
- "notcontains",
316
- "between",
317
- "in",
318
- "notin",
319
- "is_null",
320
- "is_not_null"
321
- ]
158
+ "$or": {
159
+ "type": "array",
160
+ "items": {}
322
161
  },
323
- {}
324
- ]
162
+ "$not": {}
163
+ }
164
+ }
165
+ ]
166
+ }
167
+ },
168
+ "$or": {
169
+ "type": "array",
170
+ "items": {
171
+ "allOf": [
172
+ {
173
+ "type": "object",
174
+ "additionalProperties": {}
325
175
  },
326
176
  {
327
- "type": "array",
328
- "items": {
329
- "anyOf": [
330
- {
331
- "type": "string"
332
- },
333
- {}
334
- ]
177
+ "type": "object",
178
+ "properties": {
179
+ "$and": {
180
+ "type": "array",
181
+ "items": {}
182
+ },
183
+ "$or": {
184
+ "type": "array",
185
+ "items": {}
186
+ },
187
+ "$not": {}
335
188
  }
336
189
  }
337
190
  ]
338
191
  }
339
- ]
192
+ },
193
+ "$not": {
194
+ "allOf": [
195
+ {
196
+ "type": "object",
197
+ "additionalProperties": {}
198
+ },
199
+ {
200
+ "type": "object",
201
+ "properties": {
202
+ "$and": {
203
+ "type": "array",
204
+ "items": {}
205
+ },
206
+ "$or": {
207
+ "type": "array",
208
+ "items": {}
209
+ },
210
+ "$not": {}
211
+ }
212
+ }
213
+ ]
214
+ }
340
215
  }
341
216
  }
342
217
  ],
@@ -379,6 +254,67 @@
379
254
  },
380
255
  "description": "Fields to retrieve"
381
256
  },
257
+ "where": {
258
+ "allOf": [
259
+ {
260
+ "type": "object",
261
+ "additionalProperties": {}
262
+ },
263
+ {
264
+ "type": "object",
265
+ "properties": {
266
+ "$and": {
267
+ "type": "array",
268
+ "items": {}
269
+ },
270
+ "$or": {
271
+ "type": "array",
272
+ "items": {}
273
+ },
274
+ "$not": {}
275
+ }
276
+ }
277
+ ],
278
+ "description": "Filtering criteria (WHERE)"
279
+ },
280
+ "orderBy": {
281
+ "type": "array",
282
+ "items": {
283
+ "type": "object",
284
+ "properties": {
285
+ "field": {
286
+ "type": "string"
287
+ },
288
+ "order": {
289
+ "type": "string",
290
+ "enum": [
291
+ "asc",
292
+ "desc"
293
+ ],
294
+ "default": "asc"
295
+ }
296
+ },
297
+ "required": [
298
+ "field"
299
+ ],
300
+ "additionalProperties": false
301
+ },
302
+ "description": "Sorting instructions (ORDER BY)"
303
+ },
304
+ "limit": {
305
+ "type": "number",
306
+ "description": "Max records to return (LIMIT)"
307
+ },
308
+ "offset": {
309
+ "type": "number",
310
+ "description": "Records to skip (OFFSET)"
311
+ },
312
+ "cursor": {
313
+ "type": "object",
314
+ "additionalProperties": {},
315
+ "description": "Cursor for keyset pagination"
316
+ },
317
+ "joins": {},
382
318
  "aggregations": {
383
319
  "type": "array",
384
320
  "items": {
@@ -409,6 +345,29 @@
409
345
  "distinct": {
410
346
  "type": "boolean",
411
347
  "description": "Apply DISTINCT before aggregation"
348
+ },
349
+ "filter": {
350
+ "allOf": [
351
+ {
352
+ "type": "object",
353
+ "additionalProperties": {}
354
+ },
355
+ {
356
+ "type": "object",
357
+ "properties": {
358
+ "$and": {
359
+ "type": "array",
360
+ "items": {}
361
+ },
362
+ "$or": {
363
+ "type": "array",
364
+ "items": {}
365
+ },
366
+ "$not": {}
367
+ }
368
+ }
369
+ ],
370
+ "description": "Filter/Condition to apply to the aggregation (FILTER WHERE clause)"
412
371
  }
413
372
  },
414
373
  "required": [
@@ -417,7 +376,37 @@
417
376
  ],
418
377
  "additionalProperties": false
419
378
  },
420
- "description": "Aggregation functions (GROUP BY)"
379
+ "description": "Aggregation functions"
380
+ },
381
+ "groupBy": {
382
+ "type": "array",
383
+ "items": {
384
+ "type": "string"
385
+ },
386
+ "description": "GROUP BY fields"
387
+ },
388
+ "having": {
389
+ "allOf": [
390
+ {
391
+ "type": "object",
392
+ "additionalProperties": {}
393
+ },
394
+ {
395
+ "type": "object",
396
+ "properties": {
397
+ "$and": {
398
+ "type": "array",
399
+ "items": {}
400
+ },
401
+ "$or": {
402
+ "type": "array",
403
+ "items": {}
404
+ },
405
+ "$not": {}
406
+ }
407
+ }
408
+ ],
409
+ "description": "HAVING clause for aggregation filtering"
421
410
  },
422
411
  "windowFunctions": {
423
412
  "type": "array",
@@ -521,140 +510,6 @@
521
510
  },
522
511
  "description": "Window functions with OVER clause"
523
512
  },
524
- "filters": {
525
- "anyOf": [
526
- {
527
- "type": "array",
528
- "minItems": 3,
529
- "maxItems": 3,
530
- "items": [
531
- {
532
- "type": "string"
533
- },
534
- {
535
- "type": "string",
536
- "enum": [
537
- "=",
538
- "!=",
539
- "<>",
540
- ">",
541
- ">=",
542
- "<",
543
- "<=",
544
- "startswith",
545
- "contains",
546
- "notcontains",
547
- "between",
548
- "in",
549
- "notin",
550
- "is_null",
551
- "is_not_null"
552
- ]
553
- },
554
- {}
555
- ]
556
- },
557
- {
558
- "type": "array",
559
- "items": {
560
- "anyOf": [
561
- {
562
- "type": "string"
563
- },
564
- {}
565
- ]
566
- }
567
- }
568
- ],
569
- "description": "Filtering criteria"
570
- },
571
- "joins": {},
572
- "groupBy": {
573
- "type": "array",
574
- "items": {
575
- "type": "string"
576
- },
577
- "description": "GROUP BY fields"
578
- },
579
- "having": {
580
- "anyOf": [
581
- {
582
- "type": "array",
583
- "minItems": 3,
584
- "maxItems": 3,
585
- "items": [
586
- {
587
- "type": "string"
588
- },
589
- {
590
- "type": "string",
591
- "enum": [
592
- "=",
593
- "!=",
594
- "<>",
595
- ">",
596
- ">=",
597
- "<",
598
- "<=",
599
- "startswith",
600
- "contains",
601
- "notcontains",
602
- "between",
603
- "in",
604
- "notin",
605
- "is_null",
606
- "is_not_null"
607
- ]
608
- },
609
- {}
610
- ]
611
- },
612
- {
613
- "type": "array",
614
- "items": {
615
- "anyOf": [
616
- {
617
- "type": "string"
618
- },
619
- {}
620
- ]
621
- }
622
- }
623
- ],
624
- "description": "HAVING clause for aggregation filtering"
625
- },
626
- "sort": {
627
- "type": "array",
628
- "items": {
629
- "type": "object",
630
- "properties": {
631
- "field": {
632
- "type": "string"
633
- },
634
- "order": {
635
- "type": "string",
636
- "enum": [
637
- "asc",
638
- "desc"
639
- ],
640
- "default": "asc"
641
- }
642
- },
643
- "required": [
644
- "field"
645
- ],
646
- "additionalProperties": false
647
- },
648
- "description": "Sorting instructions"
649
- },
650
- "top": {
651
- "type": "number",
652
- "description": "Limit results"
653
- },
654
- "skip": {
655
- "type": "number",
656
- "description": "Offset results"
657
- },
658
513
  "distinct": {
659
514
  "type": "boolean",
660
515
  "description": "SELECT DISTINCT flag"
@@ -674,7 +529,70 @@
674
529
  ],
675
530
  "additionalProperties": false
676
531
  },
677
- "description": "Table joins"
532
+ "description": "Explicit Table Joins"
533
+ },
534
+ "aggregations": {
535
+ "type": "array",
536
+ "items": {
537
+ "type": "object",
538
+ "properties": {
539
+ "function": {
540
+ "type": "string",
541
+ "enum": [
542
+ "count",
543
+ "sum",
544
+ "avg",
545
+ "min",
546
+ "max",
547
+ "count_distinct",
548
+ "array_agg",
549
+ "string_agg"
550
+ ],
551
+ "description": "Aggregation function"
552
+ },
553
+ "field": {
554
+ "type": "string",
555
+ "description": "Field to aggregate (optional for COUNT(*))"
556
+ },
557
+ "alias": {
558
+ "type": "string",
559
+ "description": "Result column alias"
560
+ },
561
+ "distinct": {
562
+ "type": "boolean",
563
+ "description": "Apply DISTINCT before aggregation"
564
+ },
565
+ "filter": {
566
+ "allOf": [
567
+ {
568
+ "type": "object",
569
+ "additionalProperties": {}
570
+ },
571
+ {
572
+ "type": "object",
573
+ "properties": {
574
+ "$and": {
575
+ "type": "array",
576
+ "items": {}
577
+ },
578
+ "$or": {
579
+ "type": "array",
580
+ "items": {}
581
+ },
582
+ "$not": {}
583
+ }
584
+ }
585
+ ],
586
+ "description": "Filter/Condition to apply to the aggregation (FILTER WHERE clause)"
587
+ }
588
+ },
589
+ "required": [
590
+ "function",
591
+ "alias"
592
+ ],
593
+ "additionalProperties": false
594
+ },
595
+ "description": "Aggregation functions"
678
596
  },
679
597
  "groupBy": {
680
598
  "type": "array",
@@ -684,83 +602,129 @@
684
602
  "description": "GROUP BY fields"
685
603
  },
686
604
  "having": {
687
- "anyOf": [
605
+ "allOf": [
688
606
  {
689
- "type": "array",
690
- "minItems": 3,
691
- "maxItems": 3,
692
- "items": [
693
- {
694
- "type": "string"
695
- },
696
- {
697
- "type": "string",
698
- "enum": [
699
- "=",
700
- "!=",
701
- "<>",
702
- ">",
703
- ">=",
704
- "<",
705
- "<=",
706
- "startswith",
707
- "contains",
708
- "notcontains",
709
- "between",
710
- "in",
711
- "notin",
712
- "is_null",
713
- "is_not_null"
714
- ]
715
- },
716
- {}
717
- ]
607
+ "type": "object",
608
+ "additionalProperties": {}
718
609
  },
719
610
  {
720
- "type": "array",
721
- "items": {
722
- "anyOf": [
723
- {
724
- "type": "string"
725
- },
726
- {}
727
- ]
611
+ "type": "object",
612
+ "properties": {
613
+ "$and": {
614
+ "type": "array",
615
+ "items": {}
616
+ },
617
+ "$or": {
618
+ "type": "array",
619
+ "items": {}
620
+ },
621
+ "$not": {}
728
622
  }
729
623
  }
730
624
  ],
731
625
  "description": "HAVING clause for aggregation filtering"
732
626
  },
733
- "sort": {
627
+ "windowFunctions": {
734
628
  "type": "array",
735
629
  "items": {
736
630
  "type": "object",
737
631
  "properties": {
738
- "field": {
739
- "type": "string"
740
- },
741
- "order": {
632
+ "function": {
742
633
  "type": "string",
743
634
  "enum": [
744
- "asc",
745
- "desc"
635
+ "row_number",
636
+ "rank",
637
+ "dense_rank",
638
+ "percent_rank",
639
+ "lag",
640
+ "lead",
641
+ "first_value",
642
+ "last_value",
643
+ "sum",
644
+ "avg",
645
+ "count",
646
+ "min",
647
+ "max"
746
648
  ],
747
- "default": "asc"
649
+ "description": "Window function name"
650
+ },
651
+ "field": {
652
+ "type": "string",
653
+ "description": "Field to operate on (for aggregate window functions)"
654
+ },
655
+ "alias": {
656
+ "type": "string",
657
+ "description": "Result column alias"
658
+ },
659
+ "over": {
660
+ "type": "object",
661
+ "properties": {
662
+ "partitionBy": {
663
+ "type": "array",
664
+ "items": {
665
+ "type": "string"
666
+ },
667
+ "description": "PARTITION BY fields"
668
+ },
669
+ "orderBy": {
670
+ "type": "array",
671
+ "items": {
672
+ "type": "object",
673
+ "properties": {
674
+ "field": {
675
+ "type": "string"
676
+ },
677
+ "order": {
678
+ "type": "string",
679
+ "enum": [
680
+ "asc",
681
+ "desc"
682
+ ],
683
+ "default": "asc"
684
+ }
685
+ },
686
+ "required": [
687
+ "field"
688
+ ],
689
+ "additionalProperties": false
690
+ },
691
+ "description": "ORDER BY specification"
692
+ },
693
+ "frame": {
694
+ "type": "object",
695
+ "properties": {
696
+ "type": {
697
+ "type": "string",
698
+ "enum": [
699
+ "rows",
700
+ "range"
701
+ ]
702
+ },
703
+ "start": {
704
+ "type": "string",
705
+ "description": "Frame start (e.g., \"UNBOUNDED PRECEDING\", \"1 PRECEDING\")"
706
+ },
707
+ "end": {
708
+ "type": "string",
709
+ "description": "Frame end (e.g., \"CURRENT ROW\", \"1 FOLLOWING\")"
710
+ }
711
+ },
712
+ "additionalProperties": false,
713
+ "description": "Window frame specification"
714
+ }
715
+ },
716
+ "additionalProperties": false,
717
+ "description": "Window specification (OVER clause)"
748
718
  }
749
719
  },
750
720
  "required": [
751
- "field"
721
+ "function",
722
+ "alias",
723
+ "over"
752
724
  ],
753
725
  "additionalProperties": false
754
726
  },
755
- "description": "Sorting instructions"
756
- },
757
- "top": {
758
- "type": "number",
759
- "description": "Limit results"
760
- },
761
- "skip": {
762
- "type": "number",
763
- "description": "Offset results"
727
+ "description": "Window functions with OVER clause"
764
728
  },
765
729
  "distinct": {
766
730
  "type": "boolean",