@objectstack/spec 0.3.2 → 0.3.3

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 (396) 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 +65 -65
  4. package/dist/ai/cost.zod.d.ts +125 -125
  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 +94 -94
  9. package/dist/ai/nlq.zod.d.ts +70 -70
  10. package/dist/ai/{workflow-automation.zod.d.ts → orchestration.zod.d.ts} +50 -49
  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 +31 -31
  14. package/dist/ai/rag-pipeline.zod.d.ts +86 -86
  15. package/dist/api/contract.zod.d.ts +121 -105
  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 +4 -0
  24. package/dist/api/index.d.ts.map +1 -1
  25. package/dist/api/index.js +4 -0
  26. package/dist/{system → api}/realtime.zod.d.ts +4 -4
  27. package/dist/api/realtime.zod.d.ts.map +1 -0
  28. package/dist/api/router.zod.d.ts +182 -0
  29. package/dist/api/router.zod.d.ts.map +1 -0
  30. package/dist/api/router.zod.js +103 -0
  31. package/dist/{system/auth.zod.d.ts → auth/config.zod.d.ts} +191 -191
  32. package/dist/auth/config.zod.d.ts.map +1 -0
  33. package/dist/{system → auth}/identity.zod.d.ts +8 -8
  34. package/dist/auth/identity.zod.d.ts.map +1 -0
  35. package/dist/auth/index.d.ts +7 -0
  36. package/dist/auth/index.d.ts.map +1 -0
  37. package/dist/auth/index.js +22 -0
  38. package/dist/{system → auth}/organization.zod.d.ts +5 -5
  39. package/dist/auth/organization.zod.d.ts.map +1 -0
  40. package/dist/{system → auth}/policy.zod.d.ts +3 -3
  41. package/dist/auth/policy.zod.d.ts.map +1 -0
  42. package/dist/{system/auth-protocol.d.ts → auth/protocol.d.ts} +1 -1
  43. package/dist/auth/protocol.d.ts.map +1 -0
  44. package/dist/auth/role.zod.d.ts.map +1 -0
  45. package/dist/{data → automation}/flow.zod.d.ts +34 -16
  46. package/dist/automation/flow.zod.d.ts.map +1 -0
  47. package/dist/{data → automation}/flow.zod.js +6 -1
  48. package/dist/automation/index.d.ts +4 -0
  49. package/dist/automation/index.d.ts.map +1 -0
  50. package/dist/automation/index.js +19 -0
  51. package/dist/{system → automation}/webhook.zod.d.ts +2 -2
  52. package/dist/automation/webhook.zod.d.ts.map +1 -0
  53. package/dist/automation/workflow.zod.d.ts +2045 -0
  54. package/dist/automation/workflow.zod.d.ts.map +1 -0
  55. package/dist/{data → automation}/workflow.zod.js +24 -1
  56. package/dist/data/dataset.zod.d.ts +2 -2
  57. package/dist/data/field.zod.d.ts +443 -213
  58. package/dist/data/field.zod.d.ts.map +1 -1
  59. package/dist/data/field.zod.js +29 -1
  60. package/dist/data/filter.zod.d.ts +167 -30
  61. package/dist/data/filter.zod.d.ts.map +1 -1
  62. package/dist/data/filter.zod.js +25 -13
  63. package/dist/data/hook.zod.d.ts +191 -0
  64. package/dist/data/hook.zod.d.ts.map +1 -0
  65. package/dist/data/hook.zod.js +144 -0
  66. package/dist/data/index.d.ts +4 -17
  67. package/dist/data/index.d.ts.map +1 -1
  68. package/dist/data/index.js +4 -17
  69. package/dist/data/mapping.zod.d.ts +103 -91
  70. package/dist/data/mapping.zod.d.ts.map +1 -1
  71. package/dist/data/object.zod.d.ts +387 -127
  72. package/dist/data/object.zod.d.ts.map +1 -1
  73. package/dist/data/object.zod.js +87 -42
  74. package/dist/data/query.zod.d.ts +98 -169
  75. package/dist/data/query.zod.d.ts.map +1 -1
  76. package/dist/data/query.zod.js +42 -130
  77. package/dist/data/validation.zod.d.ts +166 -26
  78. package/dist/data/validation.zod.d.ts.map +1 -1
  79. package/dist/data/validation.zod.js +38 -16
  80. package/dist/{system → driver}/datasource.zod.d.ts +42 -8
  81. package/dist/driver/datasource.zod.d.ts.map +1 -0
  82. package/dist/{system → driver}/datasource.zod.js +17 -13
  83. package/dist/driver/driver.zod.d.ts +3392 -0
  84. package/dist/driver/driver.zod.d.ts.map +1 -0
  85. package/dist/{system → driver}/driver.zod.js +99 -0
  86. package/dist/driver/index.d.ts +5 -0
  87. package/dist/driver/index.d.ts.map +1 -0
  88. package/dist/driver/index.js +20 -0
  89. package/dist/driver/mongo.zod.d.ts +107 -0
  90. package/dist/driver/mongo.zod.d.ts.map +1 -0
  91. package/dist/driver/mongo.zod.js +80 -0
  92. package/dist/driver/postgres.zod.d.ts +134 -0
  93. package/dist/driver/postgres.zod.d.ts.map +1 -0
  94. package/dist/driver/postgres.zod.js +88 -0
  95. package/dist/hub/composer.zod.d.ts +2768 -0
  96. package/dist/hub/composer.zod.d.ts.map +1 -0
  97. package/dist/hub/composer.zod.js +111 -0
  98. package/dist/hub/index.d.ts +6 -0
  99. package/dist/hub/index.d.ts.map +1 -0
  100. package/dist/hub/index.js +22 -0
  101. package/dist/{system → hub}/license.zod.d.ts +11 -7
  102. package/dist/hub/license.zod.d.ts.map +1 -0
  103. package/dist/{system → hub}/license.zod.js +5 -3
  104. package/dist/hub/marketplace.zod.d.ts +191 -0
  105. package/dist/hub/marketplace.zod.d.ts.map +1 -0
  106. package/dist/hub/marketplace.zod.js +85 -0
  107. package/dist/hub/space.zod.d.ts +383 -0
  108. package/dist/hub/space.zod.d.ts.map +1 -0
  109. package/dist/hub/space.zod.js +103 -0
  110. package/dist/{system → hub}/tenant.zod.d.ts +73 -47
  111. package/dist/hub/tenant.zod.d.ts.map +1 -0
  112. package/dist/{system → hub}/tenant.zod.js +36 -10
  113. package/dist/index.d.ts +11 -4
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js +12 -5
  116. package/dist/kernel/context.zod.d.ts +56 -0
  117. package/dist/kernel/context.zod.d.ts.map +1 -0
  118. package/dist/kernel/context.zod.js +43 -0
  119. package/dist/kernel/index.d.ts +12 -0
  120. package/dist/kernel/index.d.ts.map +1 -0
  121. package/dist/kernel/index.js +27 -0
  122. package/dist/kernel/logger.zod.d.ts +111 -0
  123. package/dist/kernel/logger.zod.d.ts.map +1 -0
  124. package/dist/kernel/logger.zod.js +75 -0
  125. package/dist/kernel/manifest.zod.d.ts +2153 -0
  126. package/dist/kernel/manifest.zod.d.ts.map +1 -0
  127. package/dist/{system → kernel}/manifest.zod.js +40 -0
  128. package/dist/{system → kernel}/plugin.zod.d.ts +598 -318
  129. package/dist/kernel/plugin.zod.d.ts.map +1 -0
  130. package/dist/{system → kernel}/plugin.zod.js +13 -0
  131. package/dist/kernel/scoped-storage.zod.d.ts +81 -0
  132. package/dist/kernel/scoped-storage.zod.d.ts.map +1 -0
  133. package/dist/kernel/scoped-storage.zod.js +66 -0
  134. package/dist/permission/index.d.ts +12 -0
  135. package/dist/permission/index.d.ts.map +1 -0
  136. package/dist/permission/index.js +27 -0
  137. package/dist/{data → permission}/permission.zod.d.ts +34 -3
  138. package/dist/permission/permission.zod.d.ts.map +1 -0
  139. package/dist/{data → permission}/permission.zod.js +10 -1
  140. package/dist/permission/sharing.zod.d.ts +146 -0
  141. package/dist/permission/sharing.zod.d.ts.map +1 -0
  142. package/dist/permission/sharing.zod.js +88 -0
  143. package/dist/permission/territory.zod.d.ts.map +1 -0
  144. package/dist/system/audit.zod.d.ts +52 -52
  145. package/dist/system/events.zod.d.ts +17 -17
  146. package/dist/system/index.d.ts +1 -20
  147. package/dist/system/index.d.ts.map +1 -1
  148. package/dist/system/index.js +3 -20
  149. package/dist/system/job.zod.d.ts +13 -13
  150. package/dist/ui/action.zod.d.ts +13 -13
  151. package/dist/ui/app.zod.d.ts +11 -11
  152. package/dist/ui/dashboard.zod.d.ts +12 -12
  153. package/dist/ui/page.zod.d.ts +2 -2
  154. package/dist/ui/report.zod.d.ts +7 -7
  155. package/dist/ui/theme.zod.d.ts +42 -42
  156. package/dist/ui/view.zod.d.ts +55 -55
  157. package/dist/ui/widget.zod.d.ts +61 -28
  158. package/dist/ui/widget.zod.d.ts.map +1 -1
  159. package/json-schema/ai/{AIWorkflowAutomation.json → AIOrchestration.json} +5 -5
  160. package/json-schema/ai/{AIWorkflowExecutionResult.json → AIOrchestrationExecutionResult.json} +2 -2
  161. package/json-schema/ai/{AIWorkflowTrigger.json → AIOrchestrationTrigger.json} +2 -2
  162. package/json-schema/ai/{BatchAIWorkflowExecution.json → BatchAIOrchestrationExecution.json} +3 -3
  163. package/json-schema/{system → api}/ApiEndpoint.json +3 -1
  164. package/json-schema/{system → api}/ApiRoutes.json +7 -7
  165. package/json-schema/{system → api}/Discovery.json +7 -7
  166. package/json-schema/api/ExportRequest.json +402 -438
  167. package/json-schema/{system → api}/HttpMethod.json +3 -1
  168. package/json-schema/api/RouteCategory.json +17 -0
  169. package/json-schema/api/RouteDefinition.json +77 -0
  170. package/json-schema/api/RouterConfig.json +117 -0
  171. package/json-schema/{data → automation}/Flow.json +31 -1
  172. package/json-schema/{data → automation}/FlowEdge.json +9 -0
  173. package/json-schema/{data/WorkflowRule.json → automation/TimeTrigger.json} +35 -25
  174. package/json-schema/automation/WorkflowRule.json +1031 -0
  175. package/json-schema/data/AggregationNode.json +23 -0
  176. package/json-schema/data/AsyncValidation.json +49 -2
  177. package/json-schema/data/ComparisonOperator.json +52 -0
  178. package/json-schema/data/ConditionalValidation.json +693 -46
  179. package/json-schema/data/CrossFieldValidation.json +33 -2
  180. package/json-schema/data/CurrencyConfig.json +35 -0
  181. package/json-schema/data/CurrencyValue.json +26 -0
  182. package/json-schema/data/CustomValidator.json +37 -10
  183. package/json-schema/data/Field.json +30 -0
  184. package/json-schema/data/FieldOperators.json +78 -0
  185. package/json-schema/data/FieldReference.json +19 -0
  186. package/json-schema/data/FormatValidation.json +33 -2
  187. package/json-schema/data/Hook.json +95 -0
  188. package/json-schema/data/HookContext.json +88 -0
  189. package/json-schema/data/HookEvent.json +29 -0
  190. package/json-schema/data/Index.json +10 -0
  191. package/json-schema/data/JSONValidation.json +85 -0
  192. package/json-schema/data/JoinNode.json +197 -213
  193. package/json-schema/data/{TriggerAction.json → JoinStrategy.json} +6 -5
  194. package/json-schema/data/NormalizedFilter.json +234 -0
  195. package/json-schema/data/Object.json +1580 -28
  196. package/json-schema/data/ObjectCapabilities.json +30 -12
  197. package/json-schema/data/Query.json +246 -262
  198. package/json-schema/data/RangeOperator.json +26 -0
  199. package/json-schema/data/ScriptValidation.json +33 -2
  200. package/json-schema/data/SearchConfig.json +36 -0
  201. package/json-schema/data/StateMachineValidation.json +33 -2
  202. package/json-schema/data/UniquenessValidation.json +33 -2
  203. package/json-schema/data/ValidationRule.json +693 -46
  204. package/json-schema/{system → driver}/Datasource.json +35 -0
  205. package/json-schema/{system → driver}/DriverCapabilities.json +10 -0
  206. package/json-schema/{system → driver}/DriverInterface.json +10 -0
  207. package/json-schema/{system → driver}/DriverOptions.json +11 -0
  208. package/json-schema/driver/MongoConfig.json +82 -0
  209. package/json-schema/driver/PostgresConfig.json +98 -0
  210. package/json-schema/hub/BillOfMaterials.json +70 -0
  211. package/json-schema/hub/ComposerRequest.json +86 -0
  212. package/json-schema/hub/ComposerResponse.json +2645 -0
  213. package/json-schema/hub/ConflictReport.json +53 -0
  214. package/json-schema/hub/DependencyRequirement.json +36 -0
  215. package/json-schema/hub/DeploymentTarget.json +38 -0
  216. package/json-schema/hub/HubSpace.json +279 -0
  217. package/json-schema/{system → hub}/License.json +11 -3
  218. package/json-schema/hub/MarketplacePlugin.json +141 -0
  219. package/json-schema/hub/PluginAuthor.json +26 -0
  220. package/json-schema/hub/PluginPricing.json +43 -0
  221. package/json-schema/hub/SpaceSubscription.json +77 -0
  222. package/json-schema/hub/SubscriptionStatus.json +16 -0
  223. package/json-schema/{system → hub}/Tenant.json +3 -5
  224. package/json-schema/kernel/FileMetadata.json +43 -0
  225. package/json-schema/kernel/KernelContext.json +62 -0
  226. package/json-schema/kernel/LogEntry.json +63 -0
  227. package/json-schema/kernel/LogFormat.json +15 -0
  228. package/json-schema/kernel/LogLevel.json +17 -0
  229. package/json-schema/kernel/LoggerConfig.json +70 -0
  230. package/json-schema/kernel/Manifest.json +2557 -0
  231. package/json-schema/{system → kernel}/PluginContext.json +8 -1
  232. package/json-schema/kernel/RuntimeMode.json +16 -0
  233. package/json-schema/kernel/ScopedStorageConfig.json +54 -0
  234. package/json-schema/kernel/StorageAdapterType.json +17 -0
  235. package/json-schema/kernel/StorageScope.json +18 -0
  236. package/json-schema/permission/CriteriaSharingRule.json +82 -0
  237. package/json-schema/{data → permission}/OWDModel.json +2 -1
  238. package/json-schema/{data → permission}/ObjectPermission.json +15 -0
  239. package/json-schema/permission/OwnerSharingRule.json +102 -0
  240. package/json-schema/{data → permission}/PermissionSet.json +15 -0
  241. package/json-schema/permission/ShareRecipientType.json +16 -0
  242. package/json-schema/{data → permission}/SharingLevel.json +2 -1
  243. package/json-schema/permission/SharingRule.json +182 -0
  244. package/json-schema/{data → permission}/SharingRuleType.json +1 -3
  245. package/json-schema/ui/FieldWidgetProps.json +30 -0
  246. package/llms.txt +182 -0
  247. package/package.json +38 -16
  248. package/prompts/README.md +18 -0
  249. package/prompts/architecture.md +81 -0
  250. package/prompts/implement-objectai.md +39 -0
  251. package/prompts/implement-objectos.md +48 -0
  252. package/prompts/implement-objectql.md +39 -0
  253. package/prompts/implement-objectui.md +46 -0
  254. package/prompts/instructions.md +91 -0
  255. package/dist/ai/workflow-automation.zod.d.ts.map +0 -1
  256. package/dist/data/flow.zod.d.ts.map +0 -1
  257. package/dist/data/permission.zod.d.ts.map +0 -1
  258. package/dist/data/sharing.zod.d.ts +0 -63
  259. package/dist/data/sharing.zod.d.ts.map +0 -1
  260. package/dist/data/sharing.zod.js +0 -57
  261. package/dist/data/trigger.zod.d.ts +0 -354
  262. package/dist/data/trigger.zod.d.ts.map +0 -1
  263. package/dist/data/trigger.zod.js +0 -195
  264. package/dist/data/workflow.zod.d.ts +0 -986
  265. package/dist/data/workflow.zod.d.ts.map +0 -1
  266. package/dist/system/api.zod.d.ts.map +0 -1
  267. package/dist/system/auth-protocol.d.ts.map +0 -1
  268. package/dist/system/auth.zod.d.ts.map +0 -1
  269. package/dist/system/datasource.zod.d.ts.map +0 -1
  270. package/dist/system/discovery.zod.d.ts.map +0 -1
  271. package/dist/system/driver.zod.d.ts +0 -1631
  272. package/dist/system/driver.zod.d.ts.map +0 -1
  273. package/dist/system/identity.zod.d.ts.map +0 -1
  274. package/dist/system/license.zod.d.ts.map +0 -1
  275. package/dist/system/manifest.zod.d.ts +0 -397
  276. package/dist/system/manifest.zod.d.ts.map +0 -1
  277. package/dist/system/organization.zod.d.ts.map +0 -1
  278. package/dist/system/plugin.zod.d.ts.map +0 -1
  279. package/dist/system/policy.zod.d.ts.map +0 -1
  280. package/dist/system/realtime.zod.d.ts.map +0 -1
  281. package/dist/system/role.zod.d.ts.map +0 -1
  282. package/dist/system/tenant.zod.d.ts.map +0 -1
  283. package/dist/system/territory.zod.d.ts.map +0 -1
  284. package/dist/system/webhook.zod.d.ts.map +0 -1
  285. package/json-schema/README.md +0 -127
  286. package/json-schema/data/FieldMapping.json +0 -83
  287. package/json-schema/data/FilterNode.json +0 -52
  288. package/json-schema/data/FilterOperator.json +0 -26
  289. package/json-schema/data/LogicOperator.json +0 -14
  290. package/json-schema/data/Mapping.json +0 -598
  291. package/json-schema/data/SharingRule.json +0 -58
  292. package/json-schema/data/TransformType.json +0 -18
  293. package/json-schema/data/Trigger.json +0 -73
  294. package/json-schema/data/TriggerContext.json +0 -61
  295. package/json-schema/data/TriggerTiming.json +0 -13
  296. package/json-schema/system/Manifest.json +0 -315
  297. /package/dist/{system → api}/realtime.zod.js +0 -0
  298. /package/dist/{system/auth.zod.js → auth/config.zod.js} +0 -0
  299. /package/dist/{system → auth}/identity.zod.js +0 -0
  300. /package/dist/{system → auth}/organization.zod.js +0 -0
  301. /package/dist/{system → auth}/policy.zod.js +0 -0
  302. /package/dist/{system/auth-protocol.js → auth/protocol.js} +0 -0
  303. /package/dist/{system → auth}/role.zod.d.ts +0 -0
  304. /package/dist/{system → auth}/role.zod.js +0 -0
  305. /package/dist/{system → automation}/webhook.zod.js +0 -0
  306. /package/dist/{system → permission}/territory.zod.d.ts +0 -0
  307. /package/dist/{system → permission}/territory.zod.js +0 -0
  308. /package/json-schema/{system → api}/ApiCapabilities.json +0 -0
  309. /package/json-schema/{system → api}/ApiMapping.json +0 -0
  310. /package/json-schema/{system → api}/Presence.json +0 -0
  311. /package/json-schema/{system → api}/PresenceStatus.json +0 -0
  312. /package/json-schema/{system → api}/RateLimit.json +0 -0
  313. /package/json-schema/{system → api}/RealtimeAction.json +0 -0
  314. /package/json-schema/{system → api}/RealtimeEvent.json +0 -0
  315. /package/json-schema/{system → api}/RealtimeEventType.json +0 -0
  316. /package/json-schema/{system → api}/Subscription.json +0 -0
  317. /package/json-schema/{system → api}/SubscriptionEvent.json +0 -0
  318. /package/json-schema/{system → api}/TransportProtocol.json +0 -0
  319. /package/json-schema/{system → auth}/Account.json +0 -0
  320. /package/json-schema/{system → auth}/AccountLinkingConfig.json +0 -0
  321. /package/json-schema/{system → auth}/AuditPolicy.json +0 -0
  322. /package/json-schema/{system → auth}/AuthConfig.json +0 -0
  323. /package/json-schema/{system → auth}/AuthPluginConfig.json +0 -0
  324. /package/json-schema/{system → auth}/AuthStrategy.json +0 -0
  325. /package/json-schema/{system → auth}/CSRFConfig.json +0 -0
  326. /package/json-schema/{system → auth}/DatabaseAdapter.json +0 -0
  327. /package/json-schema/{system → auth}/DatabaseMapping.json +0 -0
  328. /package/json-schema/{system → auth}/EmailPasswordConfig.json +0 -0
  329. /package/json-schema/{system → auth}/EnterpriseAuthConfig.json +0 -0
  330. /package/json-schema/{system → auth}/Invitation.json +0 -0
  331. /package/json-schema/{system → auth}/InvitationStatus.json +0 -0
  332. /package/json-schema/{system → auth}/LDAPConfig.json +0 -0
  333. /package/json-schema/{system → auth}/MagicLinkConfig.json +0 -0
  334. /package/json-schema/{system → auth}/Member.json +0 -0
  335. /package/json-schema/{system → auth}/NetworkPolicy.json +0 -0
  336. /package/json-schema/{system → auth}/OAuthProvider.json +0 -0
  337. /package/json-schema/{system → auth}/OIDCConfig.json +0 -0
  338. /package/json-schema/{system → auth}/Organization.json +0 -0
  339. /package/json-schema/{system → auth}/PasskeyConfig.json +0 -0
  340. /package/json-schema/{system → auth}/PasswordPolicy.json +0 -0
  341. /package/json-schema/{system → auth}/Policy.json +0 -0
  342. /package/json-schema/{system → auth}/RateLimitConfig.json +0 -0
  343. /package/json-schema/{system → auth}/Role.json +0 -0
  344. /package/json-schema/{system → auth}/SAMLConfig.json +0 -0
  345. /package/json-schema/{system → auth}/Session.json +0 -0
  346. /package/json-schema/{system → auth}/SessionConfig.json +0 -0
  347. /package/json-schema/{system → auth}/SessionPolicy.json +0 -0
  348. /package/json-schema/{system → auth}/StandardAuthProvider.json +0 -0
  349. /package/json-schema/{system → auth}/TwoFactorConfig.json +0 -0
  350. /package/json-schema/{system → auth}/User.json +0 -0
  351. /package/json-schema/{system → auth}/UserFieldMapping.json +0 -0
  352. /package/json-schema/{system → auth}/VerificationToken.json +0 -0
  353. /package/json-schema/{data → automation}/CustomScriptAction.json +0 -0
  354. /package/json-schema/{data → automation}/EmailAlertAction.json +0 -0
  355. /package/json-schema/{data → automation}/FieldUpdateAction.json +0 -0
  356. /package/json-schema/{data → automation}/FlowNode.json +0 -0
  357. /package/json-schema/{data → automation}/FlowNodeAction.json +0 -0
  358. /package/json-schema/{data → automation}/FlowVariable.json +0 -0
  359. /package/json-schema/{data → automation}/HttpCallAction.json +0 -0
  360. /package/json-schema/{data → automation}/PushNotificationAction.json +0 -0
  361. /package/json-schema/{data → automation}/SlackMessageAction.json +0 -0
  362. /package/json-schema/{data → automation}/SmsNotificationAction.json +0 -0
  363. /package/json-schema/{data → automation}/TaskCreationAction.json +0 -0
  364. /package/json-schema/{data → automation}/TeamsMessageAction.json +0 -0
  365. /package/json-schema/{system → automation}/Webhook.json +0 -0
  366. /package/json-schema/{system → automation}/WebhookReceiver.json +0 -0
  367. /package/json-schema/{data → automation}/WebhookTriggerAction.json +0 -0
  368. /package/json-schema/{system → automation}/WebhookTriggerType.json +0 -0
  369. /package/json-schema/{data → automation}/WorkflowAction.json +0 -0
  370. /package/json-schema/{data → automation}/WorkflowTriggerType.json +0 -0
  371. /package/json-schema/{system → driver}/DatasourceCapabilities.json +0 -0
  372. /package/json-schema/{system → driver}/DriverDefinition.json +0 -0
  373. /package/json-schema/{system → driver}/DriverType.json +0 -0
  374. /package/json-schema/{system → hub}/DatabaseLevelIsolationStrategy.json +0 -0
  375. /package/json-schema/{system → hub}/Feature.json +0 -0
  376. /package/json-schema/{system → hub}/LevelIsolationStrategySchema.json +0 -0
  377. /package/json-schema/{system → hub}/MetricType.json +0 -0
  378. /package/json-schema/{system → hub}/Plan.json +0 -0
  379. /package/json-schema/{system → hub}/RowLevelIsolationStrategy.json +0 -0
  380. /package/json-schema/{system → hub}/TenantIsolationConfig.json +0 -0
  381. /package/json-schema/{system → hub}/TenantIsolationLevel.json +0 -0
  382. /package/json-schema/{system → hub}/TenantQuota.json +0 -0
  383. /package/json-schema/{system → hub}/TenantSecurityPolicy.json +0 -0
  384. /package/json-schema/{system → kernel}/I18nContext.json +0 -0
  385. /package/json-schema/{system → kernel}/Logger.json +0 -0
  386. /package/json-schema/{system → kernel}/ObjectQLClient.json +0 -0
  387. /package/json-schema/{system → kernel}/Plugin.json +0 -0
  388. /package/json-schema/{system → kernel}/PluginLifecycle.json +0 -0
  389. /package/json-schema/{system → kernel}/Router.json +0 -0
  390. /package/json-schema/{system → kernel}/Scheduler.json +0 -0
  391. /package/json-schema/{system → kernel}/ScopedStorage.json +0 -0
  392. /package/json-schema/{system → kernel}/SystemAPI.json +0 -0
  393. /package/json-schema/{data → permission}/FieldPermission.json +0 -0
  394. /package/json-schema/{system → permission}/Territory.json +0 -0
  395. /package/json-schema/{system → permission}/TerritoryModel.json +0 -0
  396. /package/json-schema/{system → permission}/TerritoryType.json +0 -0
@@ -1,63 +0,0 @@
1
- import { z } from 'zod';
2
- /**
3
- * Sharing Rule Type
4
- * How is the data shared?
5
- */
6
- export declare const SharingRuleType: z.ZodEnum<["owner", "criteria", "manual", "guest"]>;
7
- /**
8
- * Sharing Level
9
- * What access is granted?
10
- */
11
- export declare const SharingLevel: z.ZodEnum<["read", "edit"]>;
12
- /**
13
- * Sharing Rule Schema
14
- * Defines AUTOMATIC access grants based on logic.
15
- * The core engine of the governance layer.
16
- */
17
- export declare const SharingRuleSchema: z.ZodObject<{
18
- name: z.ZodString;
19
- label: z.ZodOptional<z.ZodString>;
20
- active: z.ZodDefault<z.ZodBoolean>;
21
- /** Target Object */
22
- object: z.ZodString;
23
- /** Grant Logic */
24
- type: z.ZodDefault<z.ZodEnum<["owner", "criteria", "manual", "guest"]>>;
25
- /**
26
- * Criteria (for type='criteria')
27
- * SQL-like condition: "department = 'Sales' AND amount > 10000"
28
- */
29
- criteria: z.ZodOptional<z.ZodString>;
30
- /** Access Level */
31
- accessLevel: z.ZodDefault<z.ZodEnum<["read", "edit"]>>;
32
- /**
33
- * Target Audience (Whom to share with)
34
- * ID of a Group, Role, or User.
35
- */
36
- sharedWith: z.ZodString;
37
- }, "strip", z.ZodTypeAny, {
38
- object: string;
39
- type: "owner" | "criteria" | "manual" | "guest";
40
- name: string;
41
- active: boolean;
42
- accessLevel: "read" | "edit";
43
- sharedWith: string;
44
- label?: string | undefined;
45
- criteria?: string | undefined;
46
- }, {
47
- object: string;
48
- name: string;
49
- sharedWith: string;
50
- type?: "owner" | "criteria" | "manual" | "guest" | undefined;
51
- label?: string | undefined;
52
- active?: boolean | undefined;
53
- criteria?: string | undefined;
54
- accessLevel?: "read" | "edit" | undefined;
55
- }>;
56
- /**
57
- * Organization-Wide Defaults (OWD)
58
- * The baseline security posture for an object.
59
- */
60
- export declare const OWDModel: z.ZodEnum<["private", "public_read", "public_read_write"]>;
61
- export type SharingRule = z.infer<typeof SharingRuleSchema>;
62
- export type SharingRuleType = z.infer<typeof SharingRuleType>;
63
- //# sourceMappingURL=sharing.zod.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sharing.zod.d.ts","sourceRoot":"","sources":["../../src/data/sharing.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,eAAe,qDAK1B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,YAAY,6BAGvB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;IAK5B,oBAAoB;;IAGpB,kBAAkB;;IAGlB;;;OAGG;;IAGH,mBAAmB;;IAGnB;;;OAGG;;;;;;;;;;;;;;;;;;;;EAEH,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,QAAQ,4DAInB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OWDModel = exports.SharingRuleSchema = exports.SharingLevel = exports.SharingRuleType = void 0;
4
- const zod_1 = require("zod");
5
- /**
6
- * Sharing Rule Type
7
- * How is the data shared?
8
- */
9
- exports.SharingRuleType = zod_1.z.enum([
10
- 'owner', // Based on record ownership (Role Hierarchy)
11
- 'criteria', // Based on field values (e.g. Status = 'Open')
12
- 'manual', // Ad-hoc sharing (User specific)
13
- 'guest' // Public access
14
- ]);
15
- /**
16
- * Sharing Level
17
- * What access is granted?
18
- */
19
- exports.SharingLevel = zod_1.z.enum([
20
- 'read', // Read Only
21
- 'edit' // Read / Write
22
- ]);
23
- /**
24
- * Sharing Rule Schema
25
- * Defines AUTOMATIC access grants based on logic.
26
- * The core engine of the governance layer.
27
- */
28
- exports.SharingRuleSchema = zod_1.z.object({
29
- name: zod_1.z.string().regex(/^[a-z_][a-z0-9_]*$/).describe('Unique rule name'),
30
- label: zod_1.z.string().optional(),
31
- active: zod_1.z.boolean().default(true),
32
- /** Target Object */
33
- object: zod_1.z.string().describe('Object to share'),
34
- /** Grant Logic */
35
- type: exports.SharingRuleType.default('criteria'),
36
- /**
37
- * Criteria (for type='criteria')
38
- * SQL-like condition: "department = 'Sales' AND amount > 10000"
39
- */
40
- criteria: zod_1.z.string().optional(),
41
- /** Access Level */
42
- accessLevel: exports.SharingLevel.default('read'),
43
- /**
44
- * Target Audience (Whom to share with)
45
- * ID of a Group, Role, or User.
46
- */
47
- sharedWith: zod_1.z.string().describe('Group/Role ID to share records with'),
48
- });
49
- /**
50
- * Organization-Wide Defaults (OWD)
51
- * The baseline security posture for an object.
52
- */
53
- exports.OWDModel = zod_1.z.enum([
54
- 'private', // Only owner can see
55
- 'public_read', // Everyone can see, owner can edit
56
- 'public_read_write' // Everyone can see and edit
57
- ]);
@@ -1,354 +0,0 @@
1
- import { z } from 'zod';
2
- /**
3
- * Trigger Action Enum
4
- *
5
- * Defines the database operation that triggered the execution.
6
- */
7
- export declare const TriggerAction: z.ZodEnum<["insert", "update", "delete"]>;
8
- /**
9
- * Trigger Timing Enum
10
- *
11
- * Defines when the trigger executes relative to the database operation.
12
- */
13
- export declare const TriggerTiming: z.ZodEnum<["before", "after"]>;
14
- /**
15
- * Trigger Context Schema
16
- *
17
- * This defines the runtime context available to trigger code during execution.
18
- * Standardizes how trigger code is written and enables AI code generation.
19
- *
20
- * Triggers are business logic hooks that execute before or after database operations.
21
- * They can validate data, set defaults, update related records, or prevent operations.
22
- *
23
- * @example Before Insert Trigger
24
- * export default {
25
- * timing: 'before',
26
- * action: 'insert',
27
- * execute: async (context: TriggerContext) => {
28
- * // Set default values
29
- * if (!context.doc.status) {
30
- * context.doc.status = 'active';
31
- * }
32
- *
33
- * // Validation
34
- * if (!context.doc.email) {
35
- * context.addError('Email is required');
36
- * }
37
- * }
38
- * };
39
- *
40
- * @example After Update Trigger
41
- * export default {
42
- * timing: 'after',
43
- * action: 'update',
44
- * execute: async (context: TriggerContext) => {
45
- * // Update related records
46
- * if (context.getOldValue('status') !== context.doc.status) {
47
- * await context.ql.object('activity_log').create({
48
- * record_id: context.doc.id,
49
- * message: `Status changed from ${context.getOldValue('status')} to ${context.doc.status}`,
50
- * user_id: context.userId,
51
- * });
52
- * }
53
- * }
54
- * };
55
- */
56
- export declare const TriggerContextSchema: z.ZodObject<{
57
- /**
58
- * The database operation that triggered execution.
59
- * One of: 'insert', 'update', 'delete'
60
- */
61
- action: z.ZodEnum<["insert", "update", "delete"]>;
62
- /**
63
- * When the trigger executes relative to the operation.
64
- * - 'before': Execute before database operation (can modify doc, prevent operation)
65
- * - 'after': Execute after database operation (can trigger side effects)
66
- */
67
- timing: z.ZodEnum<["before", "after"]>;
68
- /**
69
- * The current document/record being operated on.
70
- *
71
- * For 'before' triggers: Can be modified to change what gets saved.
72
- * For 'after' triggers: Contains the final saved state (read-only).
73
- * For 'delete' triggers: Contains the record being deleted.
74
- */
75
- doc: z.ZodRecord<z.ZodString, z.ZodAny>;
76
- /**
77
- * The document state before the current operation.
78
- *
79
- * Only available for 'update' and 'delete' operations.
80
- * Null for 'insert' operations.
81
- *
82
- * Use this to detect what changed in an update trigger.
83
- */
84
- previousDoc: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
85
- /**
86
- * ID of the user performing the operation.
87
- */
88
- userId: z.ZodString;
89
- /**
90
- * Complete user record of the user performing the operation.
91
- * Contains fields like name, email, roles, etc.
92
- */
93
- user: z.ZodRecord<z.ZodString, z.ZodAny>;
94
- /**
95
- * ObjectQL data access API.
96
- * Use this to query or modify other records.
97
- *
98
- * @example
99
- * await context.ql.object('account').findOne(context.doc.account_id);
100
- * await context.ql.object('activity').create({ ... });
101
- */
102
- ql: z.ZodAny;
103
- /**
104
- * Logging interface.
105
- * Use this for debugging and auditing.
106
- *
107
- * @example
108
- * context.logger.info('Trigger executed', { recordId: context.doc.id });
109
- * context.logger.error('Validation failed', { error });
110
- */
111
- logger: z.ZodAny;
112
- /**
113
- * Add a validation error.
114
- * For 'before' triggers only - prevents the operation from completing.
115
- *
116
- * @param message - Error message to display
117
- * @param field - Optional field name the error relates to
118
- *
119
- * @example
120
- * if (context.doc.amount < 0) {
121
- * context.addError('Amount must be positive', 'amount');
122
- * }
123
- */
124
- addError: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodOptional<z.ZodString>], z.ZodUnknown>, z.ZodVoid>;
125
- /**
126
- * Get the old value of a field.
127
- * Helper function for 'update' triggers to easily compare old vs new values.
128
- *
129
- * @param fieldName - Name of the field
130
- * @returns Previous value of the field, or undefined if not available
131
- *
132
- * @example
133
- * if (context.getOldValue('status') !== context.doc.status) {
134
- * // Status changed
135
- * }
136
- */
137
- getOldValue: z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, z.ZodAny>;
138
- }, "strip", z.ZodTypeAny, {
139
- user: Record<string, any>;
140
- action: "update" | "delete" | "insert";
141
- timing: "before" | "after";
142
- doc: Record<string, any>;
143
- userId: string;
144
- addError: (args_0: string, args_1: string | undefined, ...args: unknown[]) => void;
145
- getOldValue: (args_0: string, ...args: unknown[]) => any;
146
- previousDoc?: Record<string, any> | undefined;
147
- ql?: any;
148
- logger?: any;
149
- }, {
150
- user: Record<string, any>;
151
- action: "update" | "delete" | "insert";
152
- timing: "before" | "after";
153
- doc: Record<string, any>;
154
- userId: string;
155
- addError: (args_0: string, args_1: string | undefined, ...args: unknown[]) => void;
156
- getOldValue: (args_0: string, ...args: unknown[]) => any;
157
- previousDoc?: Record<string, any> | undefined;
158
- ql?: any;
159
- logger?: any;
160
- }>;
161
- /**
162
- * Trigger Definition Schema
163
- *
164
- * Complete definition of a trigger including metadata and execution function.
165
- */
166
- export declare const TriggerSchema: z.ZodObject<{
167
- /**
168
- * Unique trigger name.
169
- */
170
- name: z.ZodString;
171
- /**
172
- * Object this trigger is attached to.
173
- */
174
- object: z.ZodString;
175
- /**
176
- * Trigger timing.
177
- */
178
- timing: z.ZodEnum<["before", "after"]>;
179
- /**
180
- * Trigger action(s).
181
- * Can be a single action or array of actions.
182
- */
183
- action: z.ZodUnion<[z.ZodEnum<["insert", "update", "delete"]>, z.ZodArray<z.ZodEnum<["insert", "update", "delete"]>, "many">]>;
184
- /**
185
- * Trigger execution function.
186
- * Receives TriggerContext and performs the business logic.
187
- */
188
- execute: z.ZodFunction<z.ZodTuple<[z.ZodObject<{
189
- /**
190
- * The database operation that triggered execution.
191
- * One of: 'insert', 'update', 'delete'
192
- */
193
- action: z.ZodEnum<["insert", "update", "delete"]>;
194
- /**
195
- * When the trigger executes relative to the operation.
196
- * - 'before': Execute before database operation (can modify doc, prevent operation)
197
- * - 'after': Execute after database operation (can trigger side effects)
198
- */
199
- timing: z.ZodEnum<["before", "after"]>;
200
- /**
201
- * The current document/record being operated on.
202
- *
203
- * For 'before' triggers: Can be modified to change what gets saved.
204
- * For 'after' triggers: Contains the final saved state (read-only).
205
- * For 'delete' triggers: Contains the record being deleted.
206
- */
207
- doc: z.ZodRecord<z.ZodString, z.ZodAny>;
208
- /**
209
- * The document state before the current operation.
210
- *
211
- * Only available for 'update' and 'delete' operations.
212
- * Null for 'insert' operations.
213
- *
214
- * Use this to detect what changed in an update trigger.
215
- */
216
- previousDoc: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
217
- /**
218
- * ID of the user performing the operation.
219
- */
220
- userId: z.ZodString;
221
- /**
222
- * Complete user record of the user performing the operation.
223
- * Contains fields like name, email, roles, etc.
224
- */
225
- user: z.ZodRecord<z.ZodString, z.ZodAny>;
226
- /**
227
- * ObjectQL data access API.
228
- * Use this to query or modify other records.
229
- *
230
- * @example
231
- * await context.ql.object('account').findOne(context.doc.account_id);
232
- * await context.ql.object('activity').create({ ... });
233
- */
234
- ql: z.ZodAny;
235
- /**
236
- * Logging interface.
237
- * Use this for debugging and auditing.
238
- *
239
- * @example
240
- * context.logger.info('Trigger executed', { recordId: context.doc.id });
241
- * context.logger.error('Validation failed', { error });
242
- */
243
- logger: z.ZodAny;
244
- /**
245
- * Add a validation error.
246
- * For 'before' triggers only - prevents the operation from completing.
247
- *
248
- * @param message - Error message to display
249
- * @param field - Optional field name the error relates to
250
- *
251
- * @example
252
- * if (context.doc.amount < 0) {
253
- * context.addError('Amount must be positive', 'amount');
254
- * }
255
- */
256
- addError: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodOptional<z.ZodString>], z.ZodUnknown>, z.ZodVoid>;
257
- /**
258
- * Get the old value of a field.
259
- * Helper function for 'update' triggers to easily compare old vs new values.
260
- *
261
- * @param fieldName - Name of the field
262
- * @returns Previous value of the field, or undefined if not available
263
- *
264
- * @example
265
- * if (context.getOldValue('status') !== context.doc.status) {
266
- * // Status changed
267
- * }
268
- */
269
- getOldValue: z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, z.ZodAny>;
270
- }, "strip", z.ZodTypeAny, {
271
- user: Record<string, any>;
272
- action: "update" | "delete" | "insert";
273
- timing: "before" | "after";
274
- doc: Record<string, any>;
275
- userId: string;
276
- addError: (args_0: string, args_1: string | undefined, ...args: unknown[]) => void;
277
- getOldValue: (args_0: string, ...args: unknown[]) => any;
278
- previousDoc?: Record<string, any> | undefined;
279
- ql?: any;
280
- logger?: any;
281
- }, {
282
- user: Record<string, any>;
283
- action: "update" | "delete" | "insert";
284
- timing: "before" | "after";
285
- doc: Record<string, any>;
286
- userId: string;
287
- addError: (args_0: string, args_1: string | undefined, ...args: unknown[]) => void;
288
- getOldValue: (args_0: string, ...args: unknown[]) => any;
289
- previousDoc?: Record<string, any> | undefined;
290
- ql?: any;
291
- logger?: any;
292
- }>], z.ZodUnknown>, z.ZodPromise<z.ZodVoid>>;
293
- /**
294
- * Optional description of what the trigger does.
295
- */
296
- description: z.ZodOptional<z.ZodString>;
297
- /**
298
- * Whether the trigger is active.
299
- */
300
- active: z.ZodDefault<z.ZodBoolean>;
301
- /**
302
- * Execution order when multiple triggers are defined.
303
- * Lower numbers execute first.
304
- */
305
- order: z.ZodDefault<z.ZodNumber>;
306
- }, "strip", z.ZodTypeAny, {
307
- object: string;
308
- name: string;
309
- active: boolean;
310
- order: number;
311
- action: "update" | "delete" | "insert" | ("update" | "delete" | "insert")[];
312
- timing: "before" | "after";
313
- execute: (args_0: {
314
- user: Record<string, any>;
315
- action: "update" | "delete" | "insert";
316
- timing: "before" | "after";
317
- doc: Record<string, any>;
318
- userId: string;
319
- addError: (args_0: string, args_1: string | undefined, ...args: unknown[]) => void;
320
- getOldValue: (args_0: string, ...args: unknown[]) => any;
321
- previousDoc?: Record<string, any> | undefined;
322
- ql?: any;
323
- logger?: any;
324
- }, ...args: unknown[]) => Promise<void>;
325
- description?: string | undefined;
326
- }, {
327
- object: string;
328
- name: string;
329
- action: "update" | "delete" | "insert" | ("update" | "delete" | "insert")[];
330
- timing: "before" | "after";
331
- execute: (args_0: {
332
- user: Record<string, any>;
333
- action: "update" | "delete" | "insert";
334
- timing: "before" | "after";
335
- doc: Record<string, any>;
336
- userId: string;
337
- addError: (args_0: string, args_1: string | undefined, ...args: unknown[]) => void;
338
- getOldValue: (args_0: string, ...args: unknown[]) => any;
339
- previousDoc?: Record<string, any> | undefined;
340
- ql?: any;
341
- logger?: any;
342
- }, ...args: unknown[]) => Promise<void>;
343
- description?: string | undefined;
344
- active?: boolean | undefined;
345
- order?: number | undefined;
346
- }>;
347
- /**
348
- * TypeScript types
349
- */
350
- export type TriggerAction = z.infer<typeof TriggerAction>;
351
- export type TriggerTiming = z.infer<typeof TriggerTiming>;
352
- export type TriggerContext = z.infer<typeof TriggerContextSchema>;
353
- export type Trigger = z.infer<typeof TriggerSchema>;
354
- //# sourceMappingURL=trigger.zod.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trigger.zod.d.ts","sourceRoot":"","sources":["../../src/data/trigger.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,eAAO,MAAM,aAAa,2CAAyC,CAAC;AAEpE;;;;GAIG;AACH,eAAO,MAAM,aAAa,gCAA8B,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,oBAAoB;IAC/B;;;OAGG;;IAGH;;;;OAIG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;OAOG;;IAGH;;OAEG;;IAGH;;;OAGG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;;;;;OAWG;;IAMH;;;;;;;;;;;OAWG;;;;;;;;;;;;;;;;;;;;;;;;EAKH,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,aAAa;IACxB;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;;OAGG;;IAMH;;;OAGG;;QAnIH;;;WAGG;;QAGH;;;;WAIG;;QAGH;;;;;;WAMG;;QAGH;;;;;;;WAOG;;QAGH;;WAEG;;QAGH;;;WAGG;;QAGH;;;;;;;WAOG;;QAGH;;;;;;;WAOG;;QAGH;;;;;;;;;;;WAWG;;QAMH;;;;;;;;;;;WAWG;;;;;;;;;;;;;;;;;;;;;;;;;IA8CH;;OAEG;;IAGH;;OAEG;;IAGH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEH,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
@@ -1,195 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TriggerSchema = exports.TriggerContextSchema = exports.TriggerTiming = exports.TriggerAction = void 0;
4
- const zod_1 = require("zod");
5
- /**
6
- * Trigger Action Enum
7
- *
8
- * Defines the database operation that triggered the execution.
9
- */
10
- exports.TriggerAction = zod_1.z.enum(['insert', 'update', 'delete']);
11
- /**
12
- * Trigger Timing Enum
13
- *
14
- * Defines when the trigger executes relative to the database operation.
15
- */
16
- exports.TriggerTiming = zod_1.z.enum(['before', 'after']);
17
- /**
18
- * Trigger Context Schema
19
- *
20
- * This defines the runtime context available to trigger code during execution.
21
- * Standardizes how trigger code is written and enables AI code generation.
22
- *
23
- * Triggers are business logic hooks that execute before or after database operations.
24
- * They can validate data, set defaults, update related records, or prevent operations.
25
- *
26
- * @example Before Insert Trigger
27
- * export default {
28
- * timing: 'before',
29
- * action: 'insert',
30
- * execute: async (context: TriggerContext) => {
31
- * // Set default values
32
- * if (!context.doc.status) {
33
- * context.doc.status = 'active';
34
- * }
35
- *
36
- * // Validation
37
- * if (!context.doc.email) {
38
- * context.addError('Email is required');
39
- * }
40
- * }
41
- * };
42
- *
43
- * @example After Update Trigger
44
- * export default {
45
- * timing: 'after',
46
- * action: 'update',
47
- * execute: async (context: TriggerContext) => {
48
- * // Update related records
49
- * if (context.getOldValue('status') !== context.doc.status) {
50
- * await context.ql.object('activity_log').create({
51
- * record_id: context.doc.id,
52
- * message: `Status changed from ${context.getOldValue('status')} to ${context.doc.status}`,
53
- * user_id: context.userId,
54
- * });
55
- * }
56
- * }
57
- * };
58
- */
59
- exports.TriggerContextSchema = zod_1.z.object({
60
- /**
61
- * The database operation that triggered execution.
62
- * One of: 'insert', 'update', 'delete'
63
- */
64
- action: exports.TriggerAction.describe('Database operation type'),
65
- /**
66
- * When the trigger executes relative to the operation.
67
- * - 'before': Execute before database operation (can modify doc, prevent operation)
68
- * - 'after': Execute after database operation (can trigger side effects)
69
- */
70
- timing: exports.TriggerTiming.describe('Trigger execution timing'),
71
- /**
72
- * The current document/record being operated on.
73
- *
74
- * For 'before' triggers: Can be modified to change what gets saved.
75
- * For 'after' triggers: Contains the final saved state (read-only).
76
- * For 'delete' triggers: Contains the record being deleted.
77
- */
78
- doc: zod_1.z.record(zod_1.z.any()).describe('Current document/record'),
79
- /**
80
- * The document state before the current operation.
81
- *
82
- * Only available for 'update' and 'delete' operations.
83
- * Null for 'insert' operations.
84
- *
85
- * Use this to detect what changed in an update trigger.
86
- */
87
- previousDoc: zod_1.z.record(zod_1.z.any()).optional().describe('Previous document state'),
88
- /**
89
- * ID of the user performing the operation.
90
- */
91
- userId: zod_1.z.string().describe('Current user ID'),
92
- /**
93
- * Complete user record of the user performing the operation.
94
- * Contains fields like name, email, roles, etc.
95
- */
96
- user: zod_1.z.record(zod_1.z.any()).describe('Current user record'),
97
- /**
98
- * ObjectQL data access API.
99
- * Use this to query or modify other records.
100
- *
101
- * @example
102
- * await context.ql.object('account').findOne(context.doc.account_id);
103
- * await context.ql.object('activity').create({ ... });
104
- */
105
- ql: zod_1.z.any().describe('ObjectQL data access API'),
106
- /**
107
- * Logging interface.
108
- * Use this for debugging and auditing.
109
- *
110
- * @example
111
- * context.logger.info('Trigger executed', { recordId: context.doc.id });
112
- * context.logger.error('Validation failed', { error });
113
- */
114
- logger: zod_1.z.any().describe('Logging interface'),
115
- /**
116
- * Add a validation error.
117
- * For 'before' triggers only - prevents the operation from completing.
118
- *
119
- * @param message - Error message to display
120
- * @param field - Optional field name the error relates to
121
- *
122
- * @example
123
- * if (context.doc.amount < 0) {
124
- * context.addError('Amount must be positive', 'amount');
125
- * }
126
- */
127
- addError: zod_1.z.function()
128
- .args(zod_1.z.string(), zod_1.z.string().optional())
129
- .returns(zod_1.z.void())
130
- .describe('Add validation error'),
131
- /**
132
- * Get the old value of a field.
133
- * Helper function for 'update' triggers to easily compare old vs new values.
134
- *
135
- * @param fieldName - Name of the field
136
- * @returns Previous value of the field, or undefined if not available
137
- *
138
- * @example
139
- * if (context.getOldValue('status') !== context.doc.status) {
140
- * // Status changed
141
- * }
142
- */
143
- getOldValue: zod_1.z.function()
144
- .args(zod_1.z.string())
145
- .returns(zod_1.z.any())
146
- .describe('Get previous field value'),
147
- });
148
- /**
149
- * Trigger Definition Schema
150
- *
151
- * Complete definition of a trigger including metadata and execution function.
152
- */
153
- exports.TriggerSchema = zod_1.z.object({
154
- /**
155
- * Unique trigger name.
156
- */
157
- name: zod_1.z.string().regex(/^[a-z_][a-z0-9_]*$/).describe('Trigger name (snake_case)'),
158
- /**
159
- * Object this trigger is attached to.
160
- */
161
- object: zod_1.z.string().describe('Target object name'),
162
- /**
163
- * Trigger timing.
164
- */
165
- timing: exports.TriggerTiming.describe('Execution timing'),
166
- /**
167
- * Trigger action(s).
168
- * Can be a single action or array of actions.
169
- */
170
- action: zod_1.z.union([
171
- exports.TriggerAction,
172
- zod_1.z.array(exports.TriggerAction),
173
- ]).describe('Database operation(s) to trigger on'),
174
- /**
175
- * Trigger execution function.
176
- * Receives TriggerContext and performs the business logic.
177
- */
178
- execute: zod_1.z.function()
179
- .args(exports.TriggerContextSchema)
180
- .returns(zod_1.z.promise(zod_1.z.void()))
181
- .describe('Trigger execution function'),
182
- /**
183
- * Optional description of what the trigger does.
184
- */
185
- description: zod_1.z.string().optional().describe('Trigger description'),
186
- /**
187
- * Whether the trigger is active.
188
- */
189
- active: zod_1.z.boolean().default(true).describe('Is trigger active'),
190
- /**
191
- * Execution order when multiple triggers are defined.
192
- * Lower numbers execute first.
193
- */
194
- order: zod_1.z.number().default(0).describe('Execution order'),
195
- });