@objectstack/spec 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (400) hide show
  1. package/dist/ai/conversation.zod.d.ts +1059 -0
  2. package/dist/ai/conversation.zod.d.ts.map +1 -0
  3. package/dist/ai/conversation.zod.js +248 -0
  4. package/dist/ai/cost.zod.d.ts +2025 -0
  5. package/dist/ai/cost.zod.d.ts.map +1 -0
  6. package/dist/ai/cost.zod.js +324 -0
  7. package/dist/ai/index.d.ts +8 -0
  8. package/dist/ai/index.d.ts.map +1 -1
  9. package/dist/ai/index.js +8 -0
  10. package/dist/ai/model-registry.zod.d.ts +53 -53
  11. package/dist/ai/nlq.zod.d.ts +24 -24
  12. package/dist/ai/predictive.zod.d.ts +838 -0
  13. package/dist/ai/predictive.zod.d.ts.map +1 -0
  14. package/dist/ai/predictive.zod.js +244 -0
  15. package/dist/ai/rag-pipeline.zod.d.ts +22 -22
  16. package/dist/ai/workflow-automation.zod.d.ts +590 -0
  17. package/dist/ai/workflow-automation.zod.d.ts.map +1 -0
  18. package/dist/ai/workflow-automation.zod.js +197 -0
  19. package/dist/api/contract.zod.d.ts +22 -22
  20. package/dist/data/field.zod.d.ts +409 -4
  21. package/dist/data/field.zod.d.ts.map +1 -1
  22. package/dist/data/field.zod.js +28 -2
  23. package/dist/data/mapping.zod.d.ts +6 -6
  24. package/dist/data/object.zod.d.ts +80 -10
  25. package/dist/data/object.zod.d.ts.map +1 -1
  26. package/dist/data/workflow.zod.d.ts +809 -18
  27. package/dist/data/workflow.zod.d.ts.map +1 -1
  28. package/dist/data/workflow.zod.js +115 -7
  29. package/dist/system/api.zod.d.ts +4 -4
  30. package/dist/system/audit.zod.d.ts +1172 -0
  31. package/dist/system/audit.zod.d.ts.map +1 -0
  32. package/dist/system/audit.zod.js +596 -0
  33. package/dist/system/auth.zod.d.ts +8 -8
  34. package/dist/system/driver.zod.d.ts +4 -4
  35. package/dist/system/events.zod.d.ts +177 -0
  36. package/dist/system/events.zod.d.ts.map +1 -0
  37. package/dist/system/events.zod.js +51 -0
  38. package/dist/system/identity.zod.d.ts +4 -4
  39. package/dist/system/index.d.ts +5 -0
  40. package/dist/system/index.d.ts.map +1 -1
  41. package/dist/system/index.js +5 -0
  42. package/dist/system/job.zod.d.ts +237 -0
  43. package/dist/system/job.zod.d.ts.map +1 -0
  44. package/dist/system/job.zod.js +82 -0
  45. package/dist/system/manifest.zod.d.ts +10 -10
  46. package/dist/system/realtime.zod.d.ts +135 -0
  47. package/dist/system/realtime.zod.d.ts.map +1 -0
  48. package/dist/system/realtime.zod.js +83 -0
  49. package/dist/system/tenant.zod.d.ts +1151 -0
  50. package/dist/system/tenant.zod.d.ts.map +1 -0
  51. package/dist/system/tenant.zod.js +498 -0
  52. package/dist/system/webhook.zod.d.ts +2 -2
  53. package/dist/ui/action.zod.d.ts +8 -8
  54. package/dist/ui/theme.zod.d.ts +12 -12
  55. package/dist/ui/view.zod.d.ts +2315 -54
  56. package/dist/ui/view.zod.d.ts.map +1 -1
  57. package/dist/ui/view.zod.js +102 -3
  58. package/dist/ui/widget.zod.d.ts +40 -5
  59. package/dist/ui/widget.zod.d.ts.map +1 -1
  60. package/json-schema/README.md +127 -0
  61. package/json-schema/ai/AITask.json +123 -0
  62. package/json-schema/ai/AITaskType.json +21 -0
  63. package/json-schema/ai/AIWorkflowAutomation.json +379 -0
  64. package/json-schema/ai/AIWorkflowExecutionResult.json +105 -0
  65. package/json-schema/ai/AIWorkflowTrigger.json +18 -0
  66. package/json-schema/ai/BatchAIWorkflowExecution.json +48 -0
  67. package/json-schema/ai/BillingPeriod.json +18 -0
  68. package/json-schema/ai/BudgetLimit.json +111 -0
  69. package/json-schema/ai/BudgetStatus.json +91 -0
  70. package/json-schema/ai/BudgetType.json +17 -0
  71. package/json-schema/ai/ConversationAnalytics.json +86 -0
  72. package/json-schema/ai/ConversationContext.json +48 -0
  73. package/json-schema/ai/ConversationMessage.json +209 -0
  74. package/json-schema/ai/ConversationSession.json +458 -0
  75. package/json-schema/ai/ConversationSummary.json +73 -0
  76. package/json-schema/ai/CostAlert.json +107 -0
  77. package/json-schema/ai/CostAlertType.json +16 -0
  78. package/json-schema/ai/CostAnalytics.json +589 -0
  79. package/json-schema/ai/CostBreakdownDimension.json +20 -0
  80. package/json-schema/ai/CostBreakdownEntry.json +60 -0
  81. package/json-schema/ai/CostEntry.json +106 -0
  82. package/json-schema/ai/CostMetricType.json +17 -0
  83. package/json-schema/ai/CostOptimizationRecommendation.json +100 -0
  84. package/json-schema/ai/CostQueryFilters.json +112 -0
  85. package/json-schema/ai/CostReport.json +964 -0
  86. package/json-schema/ai/EvaluationMetrics.json +64 -0
  87. package/json-schema/ai/FunctionCall.json +28 -0
  88. package/json-schema/ai/Hyperparameters.json +80 -0
  89. package/json-schema/ai/MessageContent.json +46 -0
  90. package/json-schema/ai/MessageContentType.json +16 -0
  91. package/json-schema/ai/MessagePruningEvent.json +92 -0
  92. package/json-schema/ai/MessageRole.json +16 -0
  93. package/json-schema/ai/ModelDrift.json +73 -0
  94. package/json-schema/ai/ModelFeature.json +71 -0
  95. package/json-schema/ai/PostProcessingAction.json +41 -0
  96. package/json-schema/ai/PredictionRequest.json +39 -0
  97. package/json-schema/ai/PredictionResult.json +82 -0
  98. package/json-schema/ai/PredictiveModel.json +445 -0
  99. package/json-schema/ai/PredictiveModelType.json +18 -0
  100. package/json-schema/ai/TokenBudgetConfig.json +92 -0
  101. package/json-schema/ai/TokenBudgetStrategy.json +16 -0
  102. package/json-schema/ai/TokenUsageStats.json +66 -0
  103. package/json-schema/ai/ToolCall.json +49 -0
  104. package/json-schema/ai/TrainingConfig.json +88 -0
  105. package/json-schema/ai/WorkflowFieldCondition.json +33 -0
  106. package/json-schema/ai/WorkflowSchedule.json +51 -0
  107. package/json-schema/data/CustomScriptAction.json +49 -0
  108. package/json-schema/{Field.json → data/Field.json} +50 -1
  109. package/json-schema/{FieldType.json → data/FieldType.json} +4 -1
  110. package/json-schema/data/HttpCallAction.json +81 -0
  111. package/json-schema/{Object.json → data/Object.json} +50 -1
  112. package/json-schema/data/PushNotificationAction.json +59 -0
  113. package/json-schema/data/SlackMessageAction.json +45 -0
  114. package/json-schema/data/SmsNotificationAction.json +50 -0
  115. package/json-schema/data/TaskCreationAction.json +59 -0
  116. package/json-schema/data/TeamsMessageAction.json +45 -0
  117. package/json-schema/data/WebhookTriggerAction.json +58 -0
  118. package/json-schema/data/WorkflowAction.json +465 -0
  119. package/json-schema/data/WorkflowRule.json +509 -0
  120. package/json-schema/system/AuditConfig.json +587 -0
  121. package/json-schema/system/AuditEvent.json +232 -0
  122. package/json-schema/system/AuditEventActor.json +48 -0
  123. package/json-schema/system/AuditEventChange.json +25 -0
  124. package/json-schema/system/AuditEventFilter.json +127 -0
  125. package/json-schema/system/AuditEventSeverity.json +19 -0
  126. package/json-schema/system/AuditEventTarget.json +33 -0
  127. package/json-schema/system/AuditEventType.json +53 -0
  128. package/json-schema/system/AuditRetentionPolicy.json +73 -0
  129. package/json-schema/system/AuditStorageConfig.json +60 -0
  130. package/json-schema/system/CronSchedule.json +29 -0
  131. package/json-schema/system/DatabaseLevelIsolationStrategy.json +139 -0
  132. package/json-schema/system/Event.json +52 -0
  133. package/json-schema/system/EventHandler.json +29 -0
  134. package/json-schema/system/EventMetadata.json +33 -0
  135. package/json-schema/system/EventPersistence.json +25 -0
  136. package/json-schema/system/EventRoute.json +27 -0
  137. package/json-schema/system/IntervalSchedule.json +25 -0
  138. package/json-schema/system/Job.json +127 -0
  139. package/json-schema/system/JobExecution.json +49 -0
  140. package/json-schema/system/JobExecutionStatus.json +15 -0
  141. package/json-schema/system/LevelIsolationStrategySchema.json +93 -0
  142. package/json-schema/system/OnceSchedule.json +25 -0
  143. package/json-schema/system/Presence.json +40 -0
  144. package/json-schema/system/PresenceStatus.json +14 -0
  145. package/json-schema/system/RealtimeAction.json +14 -0
  146. package/json-schema/system/RealtimeEvent.json +51 -0
  147. package/json-schema/system/RealtimeEventType.json +15 -0
  148. package/json-schema/system/RetryPolicy.json +30 -0
  149. package/json-schema/system/RowLevelIsolationStrategy.json +74 -0
  150. package/json-schema/system/Schedule.json +71 -0
  151. package/json-schema/system/Subscription.json +65 -0
  152. package/json-schema/system/SubscriptionEvent.json +32 -0
  153. package/json-schema/system/SuspiciousActivityRule.json +175 -0
  154. package/json-schema/system/Tenant.json +61 -0
  155. package/json-schema/system/TenantIsolationConfig.json +298 -0
  156. package/json-schema/system/TenantIsolationLevel.json +14 -0
  157. package/json-schema/system/TenantQuota.json +27 -0
  158. package/json-schema/system/TenantSecurityPolicy.json +115 -0
  159. package/json-schema/system/TransportProtocol.json +14 -0
  160. package/json-schema/{Action.json → ui/Action.json} +4 -1
  161. package/json-schema/{ActionParam.json → ui/ActionParam.json} +4 -1
  162. package/json-schema/{FieldWidgetProps.json → ui/FieldWidgetProps.json} +50 -1
  163. package/json-schema/ui/FormField.json +61 -0
  164. package/json-schema/ui/FormSection.json +101 -0
  165. package/json-schema/ui/FormView.json +354 -0
  166. package/json-schema/ui/HttpMethod.json +16 -0
  167. package/json-schema/ui/HttpRequest.json +46 -0
  168. package/json-schema/ui/ListColumn.json +57 -0
  169. package/json-schema/ui/ListView.json +398 -0
  170. package/json-schema/ui/PaginationConfig.json +26 -0
  171. package/json-schema/ui/SelectionConfig.json +22 -0
  172. package/json-schema/ui/View.json +1500 -0
  173. package/json-schema/ui/ViewData.json +142 -0
  174. package/package.json +12 -12
  175. package/json-schema/AuthenticationConfig.json +0 -601
  176. package/json-schema/AuthenticationProvider.json +0 -617
  177. package/json-schema/FormSection.json +0 -42
  178. package/json-schema/FormView.json +0 -99
  179. package/json-schema/ListView.json +0 -153
  180. package/json-schema/MenuItem.json +0 -28
  181. package/json-schema/View.json +0 -500
  182. package/json-schema/WorkflowAction.json +0 -84
  183. package/json-schema/WorkflowRule.json +0 -128
  184. /package/json-schema/{AIKnowledge.json → ai/AIKnowledge.json} +0 -0
  185. /package/json-schema/{AIModelConfig.json → ai/AIModelConfig.json} +0 -0
  186. /package/json-schema/{AITool.json → ai/AITool.json} +0 -0
  187. /package/json-schema/{Agent.json → ai/Agent.json} +0 -0
  188. /package/json-schema/{ChunkingStrategy.json → ai/ChunkingStrategy.json} +0 -0
  189. /package/json-schema/{DocumentChunk.json → ai/DocumentChunk.json} +0 -0
  190. /package/json-schema/{DocumentLoaderConfig.json → ai/DocumentLoaderConfig.json} +0 -0
  191. /package/json-schema/{DocumentMetadata.json → ai/DocumentMetadata.json} +0 -0
  192. /package/json-schema/{EmbeddingModel.json → ai/EmbeddingModel.json} +0 -0
  193. /package/json-schema/{Entity.json → ai/Entity.json} +0 -0
  194. /package/json-schema/{FieldSynonymConfig.json → ai/FieldSynonymConfig.json} +0 -0
  195. /package/json-schema/{ModelCapability.json → ai/ModelCapability.json} +0 -0
  196. /package/json-schema/{ModelConfig.json → ai/ModelConfig.json} +0 -0
  197. /package/json-schema/{ModelLimits.json → ai/ModelLimits.json} +0 -0
  198. /package/json-schema/{ModelPricing.json → ai/ModelPricing.json} +0 -0
  199. /package/json-schema/{ModelProvider.json → ai/ModelProvider.json} +0 -0
  200. /package/json-schema/{ModelRegistry.json → ai/ModelRegistry.json} +0 -0
  201. /package/json-schema/{ModelRegistryEntry.json → ai/ModelRegistryEntry.json} +0 -0
  202. /package/json-schema/{ModelSelectionCriteria.json → ai/ModelSelectionCriteria.json} +0 -0
  203. /package/json-schema/{NLQAnalytics.json → ai/NLQAnalytics.json} +0 -0
  204. /package/json-schema/{NLQFieldMapping.json → ai/NLQFieldMapping.json} +0 -0
  205. /package/json-schema/{NLQModelConfig.json → ai/NLQModelConfig.json} +0 -0
  206. /package/json-schema/{NLQParseResult.json → ai/NLQParseResult.json} +0 -0
  207. /package/json-schema/{NLQRequest.json → ai/NLQRequest.json} +0 -0
  208. /package/json-schema/{NLQResponse.json → ai/NLQResponse.json} +0 -0
  209. /package/json-schema/{NLQTrainingExample.json → ai/NLQTrainingExample.json} +0 -0
  210. /package/json-schema/{PromptTemplate.json → ai/PromptTemplate.json} +0 -0
  211. /package/json-schema/{PromptVariable.json → ai/PromptVariable.json} +0 -0
  212. /package/json-schema/{QueryContext.json → ai/QueryContext.json} +0 -0
  213. /package/json-schema/{QueryIntent.json → ai/QueryIntent.json} +0 -0
  214. /package/json-schema/{QueryTemplate.json → ai/QueryTemplate.json} +0 -0
  215. /package/json-schema/{RAGPipelineConfig.json → ai/RAGPipelineConfig.json} +0 -0
  216. /package/json-schema/{RAGPipelineStatus.json → ai/RAGPipelineStatus.json} +0 -0
  217. /package/json-schema/{RAGQueryRequest.json → ai/RAGQueryRequest.json} +0 -0
  218. /package/json-schema/{RAGQueryResponse.json → ai/RAGQueryResponse.json} +0 -0
  219. /package/json-schema/{RerankingConfig.json → ai/RerankingConfig.json} +0 -0
  220. /package/json-schema/{RetrievalStrategy.json → ai/RetrievalStrategy.json} +0 -0
  221. /package/json-schema/{Timeframe.json → ai/Timeframe.json} +0 -0
  222. /package/json-schema/{VectorStoreConfig.json → ai/VectorStoreConfig.json} +0 -0
  223. /package/json-schema/{VectorStoreProvider.json → ai/VectorStoreProvider.json} +0 -0
  224. /package/json-schema/{ApiError.json → api/ApiError.json} +0 -0
  225. /package/json-schema/{BaseResponse.json → api/BaseResponse.json} +0 -0
  226. /package/json-schema/{BulkRequest.json → api/BulkRequest.json} +0 -0
  227. /package/json-schema/{BulkResponse.json → api/BulkResponse.json} +0 -0
  228. /package/json-schema/{CreateRequest.json → api/CreateRequest.json} +0 -0
  229. /package/json-schema/{DeleteResponse.json → api/DeleteResponse.json} +0 -0
  230. /package/json-schema/{ExportRequest.json → api/ExportRequest.json} +0 -0
  231. /package/json-schema/{ListRecordResponse.json → api/ListRecordResponse.json} +0 -0
  232. /package/json-schema/{ModificationResult.json → api/ModificationResult.json} +0 -0
  233. /package/json-schema/{RecordData.json → api/RecordData.json} +0 -0
  234. /package/json-schema/{SingleRecordResponse.json → api/SingleRecordResponse.json} +0 -0
  235. /package/json-schema/{UpdateRequest.json → api/UpdateRequest.json} +0 -0
  236. /package/json-schema/{Address.json → data/Address.json} +0 -0
  237. /package/json-schema/{AggregationFunction.json → data/AggregationFunction.json} +0 -0
  238. /package/json-schema/{AggregationNode.json → data/AggregationNode.json} +0 -0
  239. /package/json-schema/{AsyncValidation.json → data/AsyncValidation.json} +0 -0
  240. /package/json-schema/{ComparisonOperator.json → data/ComparisonOperator.json} +0 -0
  241. /package/json-schema/{ConditionalValidation.json → data/ConditionalValidation.json} +0 -0
  242. /package/json-schema/{CrossFieldValidation.json → data/CrossFieldValidation.json} +0 -0
  243. /package/json-schema/{CustomValidator.json → data/CustomValidator.json} +0 -0
  244. /package/json-schema/{Dataset.json → data/Dataset.json} +0 -0
  245. /package/json-schema/{DatasetMode.json → data/DatasetMode.json} +0 -0
  246. /package/json-schema/{EmailAlertAction.json → data/EmailAlertAction.json} +0 -0
  247. /package/json-schema/{EqualityOperator.json → data/EqualityOperator.json} +0 -0
  248. /package/json-schema/{FieldMapping.json → data/FieldMapping.json} +0 -0
  249. /package/json-schema/{FieldNode.json → data/FieldNode.json} +0 -0
  250. /package/json-schema/{FieldOperators.json → data/FieldOperators.json} +0 -0
  251. /package/json-schema/{FieldPermission.json → data/FieldPermission.json} +0 -0
  252. /package/json-schema/{FieldUpdateAction.json → data/FieldUpdateAction.json} +0 -0
  253. /package/json-schema/{FilterCondition.json → data/FilterCondition.json} +0 -0
  254. /package/json-schema/{FilterNode.json → data/FilterNode.json} +0 -0
  255. /package/json-schema/{FilterOperator.json → data/FilterOperator.json} +0 -0
  256. /package/json-schema/{Flow.json → data/Flow.json} +0 -0
  257. /package/json-schema/{FlowEdge.json → data/FlowEdge.json} +0 -0
  258. /package/json-schema/{FlowNode.json → data/FlowNode.json} +0 -0
  259. /package/json-schema/{FlowNodeAction.json → data/FlowNodeAction.json} +0 -0
  260. /package/json-schema/{FlowVariable.json → data/FlowVariable.json} +0 -0
  261. /package/json-schema/{FormatValidation.json → data/FormatValidation.json} +0 -0
  262. /package/json-schema/{Index.json → data/Index.json} +0 -0
  263. /package/json-schema/{JoinNode.json → data/JoinNode.json} +0 -0
  264. /package/json-schema/{JoinType.json → data/JoinType.json} +0 -0
  265. /package/json-schema/{LocationCoordinates.json → data/LocationCoordinates.json} +0 -0
  266. /package/json-schema/{LogicOperator.json → data/LogicOperator.json} +0 -0
  267. /package/json-schema/{Mapping.json → data/Mapping.json} +0 -0
  268. /package/json-schema/{NormalizedFilter.json → data/NormalizedFilter.json} +0 -0
  269. /package/json-schema/{OWDModel.json → data/OWDModel.json} +0 -0
  270. /package/json-schema/{ObjectCapabilities.json → data/ObjectCapabilities.json} +0 -0
  271. /package/json-schema/{ObjectPermission.json → data/ObjectPermission.json} +0 -0
  272. /package/json-schema/{PermissionSet.json → data/PermissionSet.json} +0 -0
  273. /package/json-schema/{Query.json → data/Query.json} +0 -0
  274. /package/json-schema/{QueryFilter.json → data/QueryFilter.json} +0 -0
  275. /package/json-schema/{RangeOperator.json → data/RangeOperator.json} +0 -0
  276. /package/json-schema/{ScriptValidation.json → data/ScriptValidation.json} +0 -0
  277. /package/json-schema/{SelectOption.json → data/SelectOption.json} +0 -0
  278. /package/json-schema/{SetOperator.json → data/SetOperator.json} +0 -0
  279. /package/json-schema/{SharingLevel.json → data/SharingLevel.json} +0 -0
  280. /package/json-schema/{SharingRule.json → data/SharingRule.json} +0 -0
  281. /package/json-schema/{SharingRuleType.json → data/SharingRuleType.json} +0 -0
  282. /package/json-schema/{SortNode.json → data/SortNode.json} +0 -0
  283. /package/json-schema/{SpecialOperator.json → data/SpecialOperator.json} +0 -0
  284. /package/json-schema/{StateMachineValidation.json → data/StateMachineValidation.json} +0 -0
  285. /package/json-schema/{StringOperator.json → data/StringOperator.json} +0 -0
  286. /package/json-schema/{TransformType.json → data/TransformType.json} +0 -0
  287. /package/json-schema/{Trigger.json → data/Trigger.json} +0 -0
  288. /package/json-schema/{TriggerAction.json → data/TriggerAction.json} +0 -0
  289. /package/json-schema/{TriggerContext.json → data/TriggerContext.json} +0 -0
  290. /package/json-schema/{TriggerTiming.json → data/TriggerTiming.json} +0 -0
  291. /package/json-schema/{UniquenessValidation.json → data/UniquenessValidation.json} +0 -0
  292. /package/json-schema/{ValidationRule.json → data/ValidationRule.json} +0 -0
  293. /package/json-schema/{WindowFunction.json → data/WindowFunction.json} +0 -0
  294. /package/json-schema/{WindowFunctionNode.json → data/WindowFunctionNode.json} +0 -0
  295. /package/json-schema/{WindowSpec.json → data/WindowSpec.json} +0 -0
  296. /package/json-schema/{WorkflowTriggerType.json → data/WorkflowTriggerType.json} +0 -0
  297. /package/json-schema/{Account.json → system/Account.json} +0 -0
  298. /package/json-schema/{AccountLinkingConfig.json → system/AccountLinkingConfig.json} +0 -0
  299. /package/json-schema/{ApiCapabilities.json → system/ApiCapabilities.json} +0 -0
  300. /package/json-schema/{ApiEndpoint.json → system/ApiEndpoint.json} +0 -0
  301. /package/json-schema/{ApiMapping.json → system/ApiMapping.json} +0 -0
  302. /package/json-schema/{ApiRoutes.json → system/ApiRoutes.json} +0 -0
  303. /package/json-schema/{AuditPolicy.json → system/AuditPolicy.json} +0 -0
  304. /package/json-schema/{AuthConfig.json → system/AuthConfig.json} +0 -0
  305. /package/json-schema/{AuthPluginConfig.json → system/AuthPluginConfig.json} +0 -0
  306. /package/json-schema/{AuthStrategy.json → system/AuthStrategy.json} +0 -0
  307. /package/json-schema/{CSRFConfig.json → system/CSRFConfig.json} +0 -0
  308. /package/json-schema/{DatabaseAdapter.json → system/DatabaseAdapter.json} +0 -0
  309. /package/json-schema/{DatabaseMapping.json → system/DatabaseMapping.json} +0 -0
  310. /package/json-schema/{Datasource.json → system/Datasource.json} +0 -0
  311. /package/json-schema/{DatasourceCapabilities.json → system/DatasourceCapabilities.json} +0 -0
  312. /package/json-schema/{Discovery.json → system/Discovery.json} +0 -0
  313. /package/json-schema/{DriverCapabilities.json → system/DriverCapabilities.json} +0 -0
  314. /package/json-schema/{DriverDefinition.json → system/DriverDefinition.json} +0 -0
  315. /package/json-schema/{DriverInterface.json → system/DriverInterface.json} +0 -0
  316. /package/json-schema/{DriverOptions.json → system/DriverOptions.json} +0 -0
  317. /package/json-schema/{DriverType.json → system/DriverType.json} +0 -0
  318. /package/json-schema/{EmailPasswordConfig.json → system/EmailPasswordConfig.json} +0 -0
  319. /package/json-schema/{EnterpriseAuthConfig.json → system/EnterpriseAuthConfig.json} +0 -0
  320. /package/json-schema/{Feature.json → system/Feature.json} +0 -0
  321. /package/json-schema/{HttpMethod.json → system/HttpMethod.json} +0 -0
  322. /package/json-schema/{I18nContext.json → system/I18nContext.json} +0 -0
  323. /package/json-schema/{Invitation.json → system/Invitation.json} +0 -0
  324. /package/json-schema/{InvitationStatus.json → system/InvitationStatus.json} +0 -0
  325. /package/json-schema/{LDAPConfig.json → system/LDAPConfig.json} +0 -0
  326. /package/json-schema/{License.json → system/License.json} +0 -0
  327. /package/json-schema/{Locale.json → system/Locale.json} +0 -0
  328. /package/json-schema/{Logger.json → system/Logger.json} +0 -0
  329. /package/json-schema/{MagicLinkConfig.json → system/MagicLinkConfig.json} +0 -0
  330. /package/json-schema/{Manifest.json → system/Manifest.json} +0 -0
  331. /package/json-schema/{Member.json → system/Member.json} +0 -0
  332. /package/json-schema/{MetricType.json → system/MetricType.json} +0 -0
  333. /package/json-schema/{NetworkPolicy.json → system/NetworkPolicy.json} +0 -0
  334. /package/json-schema/{OAuthProvider.json → system/OAuthProvider.json} +0 -0
  335. /package/json-schema/{OIDCConfig.json → system/OIDCConfig.json} +0 -0
  336. /package/json-schema/{ObjectQLClient.json → system/ObjectQLClient.json} +0 -0
  337. /package/json-schema/{Organization.json → system/Organization.json} +0 -0
  338. /package/json-schema/{PasskeyConfig.json → system/PasskeyConfig.json} +0 -0
  339. /package/json-schema/{PasswordPolicy.json → system/PasswordPolicy.json} +0 -0
  340. /package/json-schema/{Plan.json → system/Plan.json} +0 -0
  341. /package/json-schema/{Plugin.json → system/Plugin.json} +0 -0
  342. /package/json-schema/{PluginContext.json → system/PluginContext.json} +0 -0
  343. /package/json-schema/{PluginLifecycle.json → system/PluginLifecycle.json} +0 -0
  344. /package/json-schema/{Policy.json → system/Policy.json} +0 -0
  345. /package/json-schema/{RateLimit.json → system/RateLimit.json} +0 -0
  346. /package/json-schema/{RateLimitConfig.json → system/RateLimitConfig.json} +0 -0
  347. /package/json-schema/{Role.json → system/Role.json} +0 -0
  348. /package/json-schema/{Router.json → system/Router.json} +0 -0
  349. /package/json-schema/{SAMLConfig.json → system/SAMLConfig.json} +0 -0
  350. /package/json-schema/{Scheduler.json → system/Scheduler.json} +0 -0
  351. /package/json-schema/{ScopedStorage.json → system/ScopedStorage.json} +0 -0
  352. /package/json-schema/{Session.json → system/Session.json} +0 -0
  353. /package/json-schema/{SessionConfig.json → system/SessionConfig.json} +0 -0
  354. /package/json-schema/{SessionPolicy.json → system/SessionPolicy.json} +0 -0
  355. /package/json-schema/{StandardAuthProvider.json → system/StandardAuthProvider.json} +0 -0
  356. /package/json-schema/{SystemAPI.json → system/SystemAPI.json} +0 -0
  357. /package/json-schema/{Territory.json → system/Territory.json} +0 -0
  358. /package/json-schema/{TerritoryModel.json → system/TerritoryModel.json} +0 -0
  359. /package/json-schema/{TerritoryType.json → system/TerritoryType.json} +0 -0
  360. /package/json-schema/{TranslationBundle.json → system/TranslationBundle.json} +0 -0
  361. /package/json-schema/{TranslationData.json → system/TranslationData.json} +0 -0
  362. /package/json-schema/{TwoFactorConfig.json → system/TwoFactorConfig.json} +0 -0
  363. /package/json-schema/{User.json → system/User.json} +0 -0
  364. /package/json-schema/{UserFieldMapping.json → system/UserFieldMapping.json} +0 -0
  365. /package/json-schema/{VerificationToken.json → system/VerificationToken.json} +0 -0
  366. /package/json-schema/{Webhook.json → system/Webhook.json} +0 -0
  367. /package/json-schema/{WebhookReceiver.json → system/WebhookReceiver.json} +0 -0
  368. /package/json-schema/{WebhookTriggerType.json → system/WebhookTriggerType.json} +0 -0
  369. /package/json-schema/{Animation.json → ui/Animation.json} +0 -0
  370. /package/json-schema/{App.json → ui/App.json} +0 -0
  371. /package/json-schema/{AppBranding.json → ui/AppBranding.json} +0 -0
  372. /package/json-schema/{BorderRadius.json → ui/BorderRadius.json} +0 -0
  373. /package/json-schema/{Breakpoints.json → ui/Breakpoints.json} +0 -0
  374. /package/json-schema/{CalendarConfig.json → ui/CalendarConfig.json} +0 -0
  375. /package/json-schema/{ChartType.json → ui/ChartType.json} +0 -0
  376. /package/json-schema/{ColorPalette.json → ui/ColorPalette.json} +0 -0
  377. /package/json-schema/{Dashboard.json → ui/Dashboard.json} +0 -0
  378. /package/json-schema/{DashboardNavItem.json → ui/DashboardNavItem.json} +0 -0
  379. /package/json-schema/{DashboardWidget.json → ui/DashboardWidget.json} +0 -0
  380. /package/json-schema/{GanttConfig.json → ui/GanttConfig.json} +0 -0
  381. /package/json-schema/{GroupNavItem.json → ui/GroupNavItem.json} +0 -0
  382. /package/json-schema/{KanbanConfig.json → ui/KanbanConfig.json} +0 -0
  383. /package/json-schema/{NavigationItem.json → ui/NavigationItem.json} +0 -0
  384. /package/json-schema/{ObjectNavItem.json → ui/ObjectNavItem.json} +0 -0
  385. /package/json-schema/{Page.json → ui/Page.json} +0 -0
  386. /package/json-schema/{PageComponent.json → ui/PageComponent.json} +0 -0
  387. /package/json-schema/{PageNavItem.json → ui/PageNavItem.json} +0 -0
  388. /package/json-schema/{PageRegion.json → ui/PageRegion.json} +0 -0
  389. /package/json-schema/{Report.json → ui/Report.json} +0 -0
  390. /package/json-schema/{ReportChart.json → ui/ReportChart.json} +0 -0
  391. /package/json-schema/{ReportColumn.json → ui/ReportColumn.json} +0 -0
  392. /package/json-schema/{ReportGrouping.json → ui/ReportGrouping.json} +0 -0
  393. /package/json-schema/{ReportType.json → ui/ReportType.json} +0 -0
  394. /package/json-schema/{Shadow.json → ui/Shadow.json} +0 -0
  395. /package/json-schema/{Spacing.json → ui/Spacing.json} +0 -0
  396. /package/json-schema/{Theme.json → ui/Theme.json} +0 -0
  397. /package/json-schema/{ThemeMode.json → ui/ThemeMode.json} +0 -0
  398. /package/json-schema/{Typography.json → ui/Typography.json} +0 -0
  399. /package/json-schema/{UrlNavItem.json → ui/UrlNavItem.json} +0 -0
  400. /package/json-schema/{ZIndex.json → ui/ZIndex.json} +0 -0
@@ -0,0 +1,379 @@
1
+ {
2
+ "$ref": "#/definitions/AIWorkflowAutomation",
3
+ "definitions": {
4
+ "AIWorkflowAutomation": {
5
+ "type": "object",
6
+ "properties": {
7
+ "name": {
8
+ "type": "string",
9
+ "pattern": "^[a-z_][a-z0-9_]*$",
10
+ "description": "Workflow unique identifier (snake_case)"
11
+ },
12
+ "label": {
13
+ "type": "string",
14
+ "description": "Workflow display name"
15
+ },
16
+ "description": {
17
+ "type": "string"
18
+ },
19
+ "objectName": {
20
+ "type": "string",
21
+ "description": "Target object for this workflow"
22
+ },
23
+ "trigger": {
24
+ "type": "string",
25
+ "enum": [
26
+ "record_created",
27
+ "record_updated",
28
+ "field_changed",
29
+ "scheduled",
30
+ "manual",
31
+ "webhook",
32
+ "batch"
33
+ ]
34
+ },
35
+ "fieldConditions": {
36
+ "type": "array",
37
+ "items": {
38
+ "type": "object",
39
+ "properties": {
40
+ "field": {
41
+ "type": "string",
42
+ "description": "Field name to monitor"
43
+ },
44
+ "operator": {
45
+ "type": "string",
46
+ "enum": [
47
+ "changed",
48
+ "changed_to",
49
+ "changed_from",
50
+ "is",
51
+ "is_not"
52
+ ],
53
+ "default": "changed"
54
+ },
55
+ "value": {
56
+ "description": "Value to compare against (for changed_to/changed_from/is/is_not)"
57
+ }
58
+ },
59
+ "required": [
60
+ "field"
61
+ ],
62
+ "additionalProperties": false
63
+ },
64
+ "description": "Fields to monitor (for field_changed trigger)"
65
+ },
66
+ "schedule": {
67
+ "type": "object",
68
+ "properties": {
69
+ "type": {
70
+ "type": "string",
71
+ "enum": [
72
+ "cron",
73
+ "interval",
74
+ "daily",
75
+ "weekly",
76
+ "monthly"
77
+ ],
78
+ "default": "cron"
79
+ },
80
+ "cron": {
81
+ "type": "string",
82
+ "description": "Cron expression (required if type is \"cron\")"
83
+ },
84
+ "interval": {
85
+ "type": "number",
86
+ "description": "Interval in minutes (required if type is \"interval\")"
87
+ },
88
+ "time": {
89
+ "type": "string",
90
+ "description": "Time of day for daily schedules (HH:MM format)"
91
+ },
92
+ "dayOfWeek": {
93
+ "type": "integer",
94
+ "minimum": 0,
95
+ "maximum": 6,
96
+ "description": "Day of week for weekly (0=Sunday)"
97
+ },
98
+ "dayOfMonth": {
99
+ "type": "integer",
100
+ "minimum": 1,
101
+ "maximum": 31,
102
+ "description": "Day of month for monthly"
103
+ },
104
+ "timezone": {
105
+ "type": "string",
106
+ "default": "UTC"
107
+ }
108
+ },
109
+ "additionalProperties": false,
110
+ "description": "Schedule configuration (for scheduled trigger)"
111
+ },
112
+ "webhookConfig": {
113
+ "type": "object",
114
+ "properties": {
115
+ "secret": {
116
+ "type": "string",
117
+ "description": "Webhook verification secret"
118
+ },
119
+ "headers": {
120
+ "type": "object",
121
+ "additionalProperties": {
122
+ "type": "string"
123
+ },
124
+ "description": "Expected headers"
125
+ }
126
+ },
127
+ "additionalProperties": false,
128
+ "description": "Webhook configuration (for webhook trigger)"
129
+ },
130
+ "entryCriteria": {
131
+ "type": "string",
132
+ "description": "Formula condition - workflow only runs if TRUE"
133
+ },
134
+ "aiTasks": {
135
+ "type": "array",
136
+ "items": {
137
+ "type": "object",
138
+ "properties": {
139
+ "id": {
140
+ "type": "string",
141
+ "description": "Optional task ID for referencing"
142
+ },
143
+ "name": {
144
+ "type": "string",
145
+ "description": "Human-readable task name"
146
+ },
147
+ "type": {
148
+ "type": "string",
149
+ "enum": [
150
+ "classify",
151
+ "extract",
152
+ "summarize",
153
+ "generate",
154
+ "predict",
155
+ "translate",
156
+ "sentiment",
157
+ "entity_recognition",
158
+ "anomaly_detection",
159
+ "recommendation"
160
+ ]
161
+ },
162
+ "model": {
163
+ "type": "string",
164
+ "description": "Model ID from registry (uses default if not specified)"
165
+ },
166
+ "promptTemplate": {
167
+ "type": "string",
168
+ "description": "Prompt template ID for this task"
169
+ },
170
+ "inputFields": {
171
+ "type": "array",
172
+ "items": {
173
+ "type": "string"
174
+ },
175
+ "description": "Source fields to process (e.g., [\"description\", \"comments\"])"
176
+ },
177
+ "inputContext": {
178
+ "type": "object",
179
+ "additionalProperties": {},
180
+ "description": "Additional context for the AI model"
181
+ },
182
+ "outputField": {
183
+ "type": "string",
184
+ "description": "Target field to store the result"
185
+ },
186
+ "outputFormat": {
187
+ "type": "string",
188
+ "enum": [
189
+ "text",
190
+ "json",
191
+ "number",
192
+ "boolean",
193
+ "array"
194
+ ],
195
+ "default": "text"
196
+ },
197
+ "classes": {
198
+ "type": "array",
199
+ "items": {
200
+ "type": "string"
201
+ },
202
+ "description": "Valid classes for classification tasks"
203
+ },
204
+ "multiClass": {
205
+ "type": "boolean",
206
+ "default": false,
207
+ "description": "Allow multiple classes to be selected"
208
+ },
209
+ "extractionSchema": {
210
+ "type": "object",
211
+ "additionalProperties": {},
212
+ "description": "JSON schema for structured extraction"
213
+ },
214
+ "maxLength": {
215
+ "type": "number",
216
+ "description": "Maximum length for generated content"
217
+ },
218
+ "temperature": {
219
+ "type": "number",
220
+ "minimum": 0,
221
+ "maximum": 2,
222
+ "description": "Model temperature override"
223
+ },
224
+ "fallbackValue": {
225
+ "description": "Fallback value if AI task fails"
226
+ },
227
+ "retryAttempts": {
228
+ "type": "integer",
229
+ "minimum": 0,
230
+ "maximum": 5,
231
+ "default": 1
232
+ },
233
+ "condition": {
234
+ "type": "string",
235
+ "description": "Formula condition - task only runs if TRUE"
236
+ },
237
+ "description": {
238
+ "type": "string"
239
+ },
240
+ "active": {
241
+ "type": "boolean",
242
+ "default": true
243
+ }
244
+ },
245
+ "required": [
246
+ "name",
247
+ "type",
248
+ "inputFields",
249
+ "outputField"
250
+ ],
251
+ "additionalProperties": false
252
+ },
253
+ "description": "AI tasks to execute in sequence"
254
+ },
255
+ "postActions": {
256
+ "type": "array",
257
+ "items": {
258
+ "type": "object",
259
+ "properties": {
260
+ "type": {
261
+ "type": "string",
262
+ "enum": [
263
+ "field_update",
264
+ "send_email",
265
+ "create_record",
266
+ "update_related",
267
+ "trigger_flow",
268
+ "webhook"
269
+ ]
270
+ },
271
+ "name": {
272
+ "type": "string",
273
+ "description": "Action name"
274
+ },
275
+ "config": {
276
+ "type": "object",
277
+ "additionalProperties": {},
278
+ "description": "Action-specific configuration"
279
+ },
280
+ "condition": {
281
+ "type": "string",
282
+ "description": "Execute only if condition is TRUE"
283
+ }
284
+ },
285
+ "required": [
286
+ "type",
287
+ "name",
288
+ "config"
289
+ ],
290
+ "additionalProperties": false
291
+ },
292
+ "description": "Actions after AI tasks complete"
293
+ },
294
+ "executionMode": {
295
+ "type": "string",
296
+ "enum": [
297
+ "sequential",
298
+ "parallel"
299
+ ],
300
+ "default": "sequential",
301
+ "description": "How to execute multiple AI tasks"
302
+ },
303
+ "stopOnError": {
304
+ "type": "boolean",
305
+ "default": false,
306
+ "description": "Stop workflow if any task fails"
307
+ },
308
+ "timeout": {
309
+ "type": "number",
310
+ "description": "Maximum execution time in seconds"
311
+ },
312
+ "priority": {
313
+ "type": "string",
314
+ "enum": [
315
+ "low",
316
+ "normal",
317
+ "high",
318
+ "critical"
319
+ ],
320
+ "default": "normal"
321
+ },
322
+ "enableLogging": {
323
+ "type": "boolean",
324
+ "default": true
325
+ },
326
+ "enableMetrics": {
327
+ "type": "boolean",
328
+ "default": true
329
+ },
330
+ "notifyOnFailure": {
331
+ "type": "array",
332
+ "items": {
333
+ "type": "string"
334
+ },
335
+ "description": "User IDs to notify on failure"
336
+ },
337
+ "active": {
338
+ "type": "boolean",
339
+ "default": true
340
+ },
341
+ "version": {
342
+ "type": "string",
343
+ "default": "1.0.0"
344
+ },
345
+ "tags": {
346
+ "type": "array",
347
+ "items": {
348
+ "type": "string"
349
+ }
350
+ },
351
+ "category": {
352
+ "type": "string",
353
+ "description": "Workflow category (e.g., \"support\", \"sales\", \"hr\")"
354
+ },
355
+ "owner": {
356
+ "type": "string",
357
+ "description": "User ID of workflow owner"
358
+ },
359
+ "createdAt": {
360
+ "type": "string",
361
+ "description": "ISO timestamp"
362
+ },
363
+ "updatedAt": {
364
+ "type": "string",
365
+ "description": "ISO timestamp"
366
+ }
367
+ },
368
+ "required": [
369
+ "name",
370
+ "label",
371
+ "objectName",
372
+ "trigger",
373
+ "aiTasks"
374
+ ],
375
+ "additionalProperties": false
376
+ }
377
+ },
378
+ "$schema": "http://json-schema.org/draft-07/schema#"
379
+ }
@@ -0,0 +1,105 @@
1
+ {
2
+ "$ref": "#/definitions/AIWorkflowExecutionResult",
3
+ "definitions": {
4
+ "AIWorkflowExecutionResult": {
5
+ "type": "object",
6
+ "properties": {
7
+ "workflowName": {
8
+ "type": "string"
9
+ },
10
+ "recordId": {
11
+ "type": "string"
12
+ },
13
+ "status": {
14
+ "type": "string",
15
+ "enum": [
16
+ "success",
17
+ "partial_success",
18
+ "failed",
19
+ "skipped"
20
+ ]
21
+ },
22
+ "executionTime": {
23
+ "type": "number",
24
+ "description": "Execution time in milliseconds"
25
+ },
26
+ "tasksExecuted": {
27
+ "type": "integer",
28
+ "description": "Number of tasks executed"
29
+ },
30
+ "tasksSucceeded": {
31
+ "type": "integer",
32
+ "description": "Number of tasks succeeded"
33
+ },
34
+ "tasksFailed": {
35
+ "type": "integer",
36
+ "description": "Number of tasks failed"
37
+ },
38
+ "taskResults": {
39
+ "type": "array",
40
+ "items": {
41
+ "type": "object",
42
+ "properties": {
43
+ "taskId": {
44
+ "type": "string"
45
+ },
46
+ "taskName": {
47
+ "type": "string"
48
+ },
49
+ "status": {
50
+ "type": "string",
51
+ "enum": [
52
+ "success",
53
+ "failed",
54
+ "skipped"
55
+ ]
56
+ },
57
+ "output": {},
58
+ "error": {
59
+ "type": "string"
60
+ },
61
+ "executionTime": {
62
+ "type": "number",
63
+ "description": "Task execution time in milliseconds"
64
+ },
65
+ "modelUsed": {
66
+ "type": "string"
67
+ },
68
+ "tokensUsed": {
69
+ "type": "number"
70
+ }
71
+ },
72
+ "required": [
73
+ "taskName",
74
+ "status"
75
+ ],
76
+ "additionalProperties": false
77
+ }
78
+ },
79
+ "error": {
80
+ "type": "string"
81
+ },
82
+ "startedAt": {
83
+ "type": "string",
84
+ "description": "ISO timestamp"
85
+ },
86
+ "completedAt": {
87
+ "type": "string",
88
+ "description": "ISO timestamp"
89
+ }
90
+ },
91
+ "required": [
92
+ "workflowName",
93
+ "recordId",
94
+ "status",
95
+ "executionTime",
96
+ "tasksExecuted",
97
+ "tasksSucceeded",
98
+ "tasksFailed",
99
+ "startedAt"
100
+ ],
101
+ "additionalProperties": false
102
+ }
103
+ },
104
+ "$schema": "http://json-schema.org/draft-07/schema#"
105
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$ref": "#/definitions/AIWorkflowTrigger",
3
+ "definitions": {
4
+ "AIWorkflowTrigger": {
5
+ "type": "string",
6
+ "enum": [
7
+ "record_created",
8
+ "record_updated",
9
+ "field_changed",
10
+ "scheduled",
11
+ "manual",
12
+ "webhook",
13
+ "batch"
14
+ ]
15
+ }
16
+ },
17
+ "$schema": "http://json-schema.org/draft-07/schema#"
18
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "$ref": "#/definitions/BatchAIWorkflowExecution",
3
+ "definitions": {
4
+ "BatchAIWorkflowExecution": {
5
+ "type": "object",
6
+ "properties": {
7
+ "workflowName": {
8
+ "type": "string",
9
+ "description": "Workflow to execute"
10
+ },
11
+ "recordIds": {
12
+ "type": "array",
13
+ "items": {
14
+ "type": "string"
15
+ },
16
+ "description": "Records to process"
17
+ },
18
+ "batchSize": {
19
+ "type": "integer",
20
+ "minimum": 1,
21
+ "maximum": 1000,
22
+ "default": 10
23
+ },
24
+ "parallelism": {
25
+ "type": "integer",
26
+ "minimum": 1,
27
+ "maximum": 10,
28
+ "default": 3
29
+ },
30
+ "priority": {
31
+ "type": "string",
32
+ "enum": [
33
+ "low",
34
+ "normal",
35
+ "high"
36
+ ],
37
+ "default": "normal"
38
+ }
39
+ },
40
+ "required": [
41
+ "workflowName",
42
+ "recordIds"
43
+ ],
44
+ "additionalProperties": false
45
+ }
46
+ },
47
+ "$schema": "http://json-schema.org/draft-07/schema#"
48
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$ref": "#/definitions/BillingPeriod",
3
+ "definitions": {
4
+ "BillingPeriod": {
5
+ "type": "string",
6
+ "enum": [
7
+ "hourly",
8
+ "daily",
9
+ "weekly",
10
+ "monthly",
11
+ "quarterly",
12
+ "yearly",
13
+ "custom"
14
+ ]
15
+ }
16
+ },
17
+ "$schema": "http://json-schema.org/draft-07/schema#"
18
+ }
@@ -0,0 +1,111 @@
1
+ {
2
+ "$ref": "#/definitions/BudgetLimit",
3
+ "definitions": {
4
+ "BudgetLimit": {
5
+ "type": "object",
6
+ "properties": {
7
+ "type": {
8
+ "type": "string",
9
+ "enum": [
10
+ "global",
11
+ "user",
12
+ "agent",
13
+ "object",
14
+ "project",
15
+ "department"
16
+ ]
17
+ },
18
+ "scope": {
19
+ "type": "string",
20
+ "description": "Scope identifier (userId, agentId, etc.)"
21
+ },
22
+ "maxCost": {
23
+ "type": "number",
24
+ "minimum": 0,
25
+ "description": "Maximum cost limit"
26
+ },
27
+ "currency": {
28
+ "type": "string",
29
+ "default": "USD"
30
+ },
31
+ "period": {
32
+ "type": "string",
33
+ "enum": [
34
+ "hourly",
35
+ "daily",
36
+ "weekly",
37
+ "monthly",
38
+ "quarterly",
39
+ "yearly",
40
+ "custom"
41
+ ]
42
+ },
43
+ "customPeriodDays": {
44
+ "type": "integer",
45
+ "exclusiveMinimum": 0,
46
+ "description": "Custom period in days"
47
+ },
48
+ "softLimit": {
49
+ "type": "number",
50
+ "minimum": 0,
51
+ "description": "Soft limit for warnings"
52
+ },
53
+ "warnThresholds": {
54
+ "type": "array",
55
+ "items": {
56
+ "type": "number",
57
+ "minimum": 0,
58
+ "maximum": 1
59
+ },
60
+ "description": "Warning thresholds (e.g., [0.5, 0.8, 0.95])"
61
+ },
62
+ "enforced": {
63
+ "type": "boolean",
64
+ "default": true,
65
+ "description": "Block requests when exceeded"
66
+ },
67
+ "gracePeriodSeconds": {
68
+ "type": "integer",
69
+ "minimum": 0,
70
+ "default": 0,
71
+ "description": "Grace period after limit exceeded"
72
+ },
73
+ "allowRollover": {
74
+ "type": "boolean",
75
+ "default": false,
76
+ "description": "Allow unused budget to rollover"
77
+ },
78
+ "maxRolloverPercentage": {
79
+ "type": "number",
80
+ "minimum": 0,
81
+ "maximum": 1,
82
+ "description": "Max rollover as % of limit"
83
+ },
84
+ "name": {
85
+ "type": "string",
86
+ "description": "Budget name"
87
+ },
88
+ "description": {
89
+ "type": "string"
90
+ },
91
+ "active": {
92
+ "type": "boolean",
93
+ "default": true
94
+ },
95
+ "tags": {
96
+ "type": "array",
97
+ "items": {
98
+ "type": "string"
99
+ }
100
+ }
101
+ },
102
+ "required": [
103
+ "type",
104
+ "maxCost",
105
+ "period"
106
+ ],
107
+ "additionalProperties": false
108
+ }
109
+ },
110
+ "$schema": "http://json-schema.org/draft-07/schema#"
111
+ }