@objectstack/spec 0.3.3 → 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 (304) hide show
  1. package/dist/ai/conversation.zod.d.ts +14 -14
  2. package/dist/ai/cost.zod.d.ts +112 -112
  3. package/dist/ai/model-registry.zod.d.ts +44 -44
  4. package/dist/ai/nlq.zod.d.ts +2 -2
  5. package/dist/ai/orchestration.zod.d.ts +6 -6
  6. package/dist/ai/predictive.zod.d.ts +8 -8
  7. package/dist/ai/rag-pipeline.zod.d.ts +62 -62
  8. package/dist/api/contract.zod.d.ts +92 -92
  9. package/dist/api/discovery.zod.d.ts +2 -2
  10. package/dist/api/index.d.ts +2 -0
  11. package/dist/api/index.d.ts.map +1 -1
  12. package/dist/api/index.js +2 -0
  13. package/dist/api/odata.zod.d.ts +482 -0
  14. package/dist/api/odata.zod.d.ts.map +1 -0
  15. package/dist/api/odata.zod.js +401 -0
  16. package/dist/api/router.zod.d.ts +4 -4
  17. package/dist/auth/config.zod.d.ts +21 -21
  18. package/dist/auth/index.d.ts +1 -0
  19. package/dist/auth/index.d.ts.map +1 -1
  20. package/dist/auth/index.js +1 -0
  21. package/dist/auth/organization.zod.d.ts +2 -2
  22. package/dist/auth/role.zod.d.ts +14 -0
  23. package/dist/auth/role.zod.d.ts.map +1 -1
  24. package/dist/auth/role.zod.js +16 -1
  25. package/dist/auth/scim.zod.d.ts +2732 -0
  26. package/dist/auth/scim.zod.d.ts.map +1 -0
  27. package/dist/auth/scim.zod.js +811 -0
  28. package/dist/automation/approval.zod.d.ts +643 -0
  29. package/dist/automation/approval.zod.d.ts.map +1 -0
  30. package/dist/automation/approval.zod.js +84 -0
  31. package/dist/automation/connector.zod.d.ts +1284 -0
  32. package/dist/automation/connector.zod.d.ts.map +1 -0
  33. package/dist/automation/connector.zod.js +500 -0
  34. package/dist/automation/etl.zod.d.ts +623 -0
  35. package/dist/automation/etl.zod.d.ts.map +1 -0
  36. package/dist/automation/etl.zod.js +359 -0
  37. package/dist/automation/flow.zod.d.ts +6 -6
  38. package/dist/automation/index.d.ts +4 -0
  39. package/dist/automation/index.d.ts.map +1 -1
  40. package/dist/automation/index.js +4 -0
  41. package/dist/automation/sync.zod.d.ts +854 -0
  42. package/dist/automation/sync.zod.d.ts.map +1 -0
  43. package/dist/automation/sync.zod.js +444 -0
  44. package/dist/automation/webhook.zod.d.ts +24 -1
  45. package/dist/automation/webhook.zod.d.ts.map +1 -1
  46. package/dist/automation/webhook.zod.js +27 -3
  47. package/dist/automation/workflow.zod.d.ts +14 -0
  48. package/dist/automation/workflow.zod.d.ts.map +1 -1
  49. package/dist/automation/workflow.zod.js +16 -1
  50. package/dist/data/field.zod.d.ts +338 -8
  51. package/dist/data/field.zod.d.ts.map +1 -1
  52. package/dist/data/field.zod.js +100 -16
  53. package/dist/data/mapping.zod.d.ts +22 -10
  54. package/dist/data/mapping.zod.d.ts.map +1 -1
  55. package/dist/data/mapping.zod.js +16 -3
  56. package/dist/data/object.zod.d.ts +116 -22
  57. package/dist/data/object.zod.d.ts.map +1 -1
  58. package/dist/data/object.zod.js +4 -4
  59. package/dist/data/validation.zod.d.ts +18 -18
  60. package/dist/hub/composer.zod.d.ts +42 -1939
  61. package/dist/hub/composer.zod.d.ts.map +1 -1
  62. package/dist/hub/composer.zod.js +1 -1
  63. package/dist/hub/license.zod.d.ts +2 -2
  64. package/dist/hub/marketplace.zod.d.ts +6 -6
  65. package/dist/index.d.ts +2 -2
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +6 -3
  68. package/dist/permission/index.d.ts +7 -5
  69. package/dist/permission/index.d.ts.map +1 -1
  70. package/dist/permission/index.js +7 -5
  71. package/dist/permission/permission.zod.d.ts +14 -0
  72. package/dist/permission/permission.zod.d.ts.map +1 -1
  73. package/dist/permission/permission.zod.js +16 -1
  74. package/dist/permission/rls.zod.d.ts +605 -0
  75. package/dist/permission/rls.zod.d.ts.map +1 -0
  76. package/dist/permission/rls.zod.js +615 -0
  77. package/dist/permission/territory.zod.d.ts +13 -0
  78. package/dist/permission/territory.zod.d.ts.map +1 -1
  79. package/dist/permission/territory.zod.js +15 -1
  80. package/dist/shared/identifiers.zod.d.ts +87 -0
  81. package/dist/shared/identifiers.zod.d.ts.map +1 -0
  82. package/dist/shared/identifiers.zod.js +101 -0
  83. package/dist/shared/index.d.ts +6 -0
  84. package/dist/shared/index.d.ts.map +1 -0
  85. package/dist/{driver → shared}/index.js +5 -4
  86. package/dist/stack.zod.d.ts +19869 -0
  87. package/dist/stack.zod.d.ts.map +1 -0
  88. package/dist/stack.zod.js +248 -0
  89. package/dist/system/audit.zod.d.ts +12 -12
  90. package/dist/{kernel → system}/context.zod.d.ts.map +1 -1
  91. package/dist/{driver → system}/datasource.zod.d.ts +2 -2
  92. package/dist/{driver → system}/datasource.zod.d.ts.map +1 -1
  93. package/dist/{driver → system/driver}/mongo.zod.d.ts +2 -2
  94. package/dist/system/driver/mongo.zod.d.ts.map +1 -0
  95. package/dist/{driver → system/driver}/postgres.zod.d.ts +4 -4
  96. package/dist/system/driver/postgres.zod.d.ts.map +1 -0
  97. package/dist/{driver → system}/driver.zod.d.ts +14 -14
  98. package/dist/{driver → system}/driver.zod.d.ts.map +1 -1
  99. package/dist/system/events.zod.d.ts +15 -12
  100. package/dist/system/events.zod.d.ts.map +1 -1
  101. package/dist/system/events.zod.js +5 -1
  102. package/dist/system/feature.zod.d.ts +131 -0
  103. package/dist/system/feature.zod.d.ts.map +1 -0
  104. package/dist/system/feature.zod.js +45 -0
  105. package/dist/system/index.d.ts +10 -0
  106. package/dist/system/index.d.ts.map +1 -1
  107. package/dist/system/index.js +12 -0
  108. package/dist/system/job.zod.d.ts +8 -8
  109. package/dist/{kernel → system}/logger.zod.d.ts +4 -4
  110. package/dist/{kernel → system}/logger.zod.d.ts.map +1 -1
  111. package/dist/system/manifest.zod.d.ts +515 -0
  112. package/dist/system/manifest.zod.d.ts.map +1 -0
  113. package/dist/{kernel → system}/manifest.zod.js +0 -12
  114. package/dist/{kernel → system}/plugin.zod.d.ts.map +1 -1
  115. package/dist/{kernel → system}/scoped-storage.zod.d.ts +2 -2
  116. package/dist/{kernel → system}/scoped-storage.zod.d.ts.map +1 -1
  117. package/dist/ui/action.zod.d.ts +35 -10
  118. package/dist/ui/action.zod.d.ts.map +1 -1
  119. package/dist/ui/action.zod.js +30 -1
  120. package/dist/ui/app.zod.d.ts +23 -8
  121. package/dist/ui/app.zod.d.ts.map +1 -1
  122. package/dist/ui/app.zod.js +32 -4
  123. package/dist/ui/block.zod.d.ts +265 -0
  124. package/dist/ui/block.zod.d.ts.map +1 -0
  125. package/dist/ui/block.zod.js +90 -0
  126. package/dist/ui/component.zod.d.ts +265 -0
  127. package/dist/ui/component.zod.d.ts.map +1 -0
  128. package/dist/ui/component.zod.js +90 -0
  129. package/dist/ui/dashboard.zod.d.ts +15 -15
  130. package/dist/ui/dashboard.zod.d.ts.map +1 -1
  131. package/dist/ui/dashboard.zod.js +18 -8
  132. package/dist/ui/index.d.ts +1 -0
  133. package/dist/ui/index.d.ts.map +1 -1
  134. package/dist/ui/index.js +1 -0
  135. package/dist/ui/page.zod.d.ts +21 -3
  136. package/dist/ui/page.zod.d.ts.map +1 -1
  137. package/dist/ui/page.zod.js +37 -4
  138. package/dist/ui/report.zod.d.ts +7 -7
  139. package/dist/ui/view.zod.d.ts +252 -240
  140. package/dist/ui/view.zod.d.ts.map +1 -1
  141. package/dist/ui/view.zod.js +32 -3
  142. package/dist/ui/widget.zod.d.ts +673 -5
  143. package/dist/ui/widget.zod.d.ts.map +1 -1
  144. package/dist/ui/widget.zod.js +294 -1
  145. package/json-schema/api/ODataError.json +65 -0
  146. package/json-schema/api/ODataFilterFunction.json +39 -0
  147. package/json-schema/api/ODataFilterOperator.json +24 -0
  148. package/json-schema/api/ODataMetadata.json +115 -0
  149. package/json-schema/api/ODataQuery.json +89 -0
  150. package/json-schema/api/ODataResponse.json +37 -0
  151. package/json-schema/auth/Role.json +3 -2
  152. package/json-schema/auth/SCIMAddress.json +50 -0
  153. package/json-schema/auth/SCIMEmail.json +38 -0
  154. package/json-schema/auth/SCIMEnterpriseUser.json +55 -0
  155. package/json-schema/auth/SCIMError.json +52 -0
  156. package/json-schema/auth/SCIMGroup.json +102 -0
  157. package/json-schema/auth/SCIMGroupReference.json +36 -0
  158. package/json-schema/auth/SCIMListResponse.json +606 -0
  159. package/json-schema/auth/SCIMMemberReference.json +36 -0
  160. package/json-schema/auth/SCIMMeta.json +35 -0
  161. package/json-schema/auth/SCIMName.json +36 -0
  162. package/json-schema/auth/SCIMPatchOperation.json +31 -0
  163. package/json-schema/auth/SCIMPatchRequest.json +56 -0
  164. package/json-schema/auth/SCIMPhoneNumber.json +40 -0
  165. package/json-schema/auth/SCIMUser.json +462 -0
  166. package/json-schema/automation/ApprovalAction.json +35 -0
  167. package/json-schema/automation/ApprovalActionType.json +15 -0
  168. package/json-schema/automation/ApprovalProcess.json +326 -0
  169. package/json-schema/automation/ApprovalStep.json +147 -0
  170. package/json-schema/automation/ApproverType.json +16 -0
  171. package/json-schema/automation/AuthField.json +73 -0
  172. package/json-schema/automation/Authentication.json +159 -0
  173. package/json-schema/automation/AuthenticationType.json +18 -0
  174. package/json-schema/automation/ConflictResolution.json +16 -0
  175. package/json-schema/automation/Connector.json +440 -0
  176. package/json-schema/automation/ConnectorCategory.json +26 -0
  177. package/json-schema/automation/ConnectorInstance.json +69 -0
  178. package/json-schema/automation/ConnectorOperation.json +117 -0
  179. package/json-schema/automation/ConnectorTrigger.json +54 -0
  180. package/json-schema/automation/DataDestinationConfig.json +89 -0
  181. package/json-schema/automation/DataSourceConfig.json +34 -0
  182. package/json-schema/automation/DataSyncConfig.json +355 -0
  183. package/json-schema/automation/ETLDestination.json +57 -0
  184. package/json-schema/automation/ETLEndpointType.json +19 -0
  185. package/json-schema/automation/ETLPipeline.json +252 -0
  186. package/json-schema/automation/ETLPipelineRun.json +107 -0
  187. package/json-schema/automation/ETLRunStatus.json +17 -0
  188. package/json-schema/automation/ETLSource.json +60 -0
  189. package/json-schema/automation/ETLSyncMode.json +14 -0
  190. package/json-schema/automation/ETLTransformation.json +46 -0
  191. package/json-schema/automation/ETLTransformationType.json +21 -0
  192. package/json-schema/automation/FieldMapping.json +36 -0
  193. package/json-schema/automation/OAuth2Config.json +43 -0
  194. package/json-schema/automation/OperationParameter.json +59 -0
  195. package/json-schema/automation/OperationType.json +17 -0
  196. package/json-schema/automation/SyncDirection.json +14 -0
  197. package/json-schema/automation/SyncExecutionResult.json +135 -0
  198. package/json-schema/automation/SyncExecutionStatus.json +17 -0
  199. package/json-schema/automation/SyncMode.json +14 -0
  200. package/json-schema/automation/Webhook.json +3 -1
  201. package/json-schema/automation/WebhookReceiver.json +3 -1
  202. package/json-schema/automation/WorkflowRule.json +3 -2
  203. package/json-schema/data/Field.json +62 -4
  204. package/json-schema/data/FieldType.json +12 -2
  205. package/json-schema/data/Object.json +62 -4
  206. package/json-schema/data/SelectOption.json +4 -2
  207. package/json-schema/data/VectorConfig.json +51 -0
  208. package/json-schema/hub/ComposerResponse.json +0 -2162
  209. package/json-schema/permission/PermissionSet.json +3 -1
  210. package/json-schema/permission/RLSConfig.json +59 -0
  211. package/json-schema/permission/RLSEvaluationResult.json +40 -0
  212. package/json-schema/permission/RLSOperation.json +16 -0
  213. package/json-schema/permission/RLSUserContext.json +51 -0
  214. package/json-schema/permission/RowLevelSecurityPolicy.json +77 -0
  215. package/json-schema/permission/Territory.json +3 -1
  216. package/json-schema/shared/EventName.json +12 -0
  217. package/json-schema/shared/SnakeCaseIdentifier.json +12 -0
  218. package/json-schema/shared/SystemIdentifier.json +12 -0
  219. package/json-schema/system/Event.json +3 -2
  220. package/json-schema/system/FeatureFlag.json +87 -0
  221. package/json-schema/system/FeatureStrategy.json +16 -0
  222. package/json-schema/system/Manifest.json +395 -0
  223. package/json-schema/ui/Action.json +25 -4
  224. package/json-schema/ui/ActionParam.json +12 -2
  225. package/json-schema/ui/App.json +18 -7
  226. package/json-schema/ui/ChartType.json +9 -1
  227. package/json-schema/ui/Dashboard.json +9 -1
  228. package/json-schema/ui/DashboardNavItem.json +3 -1
  229. package/json-schema/ui/DashboardWidget.json +9 -1
  230. package/json-schema/ui/FieldWidgetProps.json +62 -4
  231. package/json-schema/ui/FormView.json +4 -1
  232. package/json-schema/ui/GroupNavItem.json +3 -1
  233. package/json-schema/ui/ListView.json +7 -1
  234. package/json-schema/ui/NavigationItem.json +15 -5
  235. package/json-schema/ui/ObjectNavItem.json +3 -1
  236. package/json-schema/ui/Page.json +36 -4
  237. package/json-schema/ui/PageCardProps.json +32 -0
  238. package/json-schema/ui/PageComponent.json +33 -3
  239. package/json-schema/ui/PageComponentType.json +32 -0
  240. package/json-schema/ui/PageHeaderProps.json +39 -0
  241. package/json-schema/ui/PageNavItem.json +3 -1
  242. package/json-schema/ui/PageRegion.json +33 -3
  243. package/json-schema/ui/PageTabsProps.json +55 -0
  244. package/json-schema/ui/RecordDetailsProps.json +37 -0
  245. package/json-schema/ui/RecordHighlightsProps.json +24 -0
  246. package/json-schema/ui/RecordRelatedListProps.json +39 -0
  247. package/json-schema/ui/UrlNavItem.json +3 -1
  248. package/json-schema/ui/View.json +22 -4
  249. package/json-schema/ui/WidgetEvent.json +42 -0
  250. package/json-schema/ui/WidgetLifecycle.json +40 -0
  251. package/json-schema/ui/WidgetManifest.json +262 -0
  252. package/json-schema/ui/WidgetProperty.json +58 -0
  253. package/package.json +1 -1
  254. package/prompts/architecture.md +5 -5
  255. package/prompts/create-new-project.md +85 -0
  256. package/dist/driver/index.d.ts +0 -5
  257. package/dist/driver/index.d.ts.map +0 -1
  258. package/dist/driver/mongo.zod.d.ts.map +0 -1
  259. package/dist/driver/postgres.zod.d.ts.map +0 -1
  260. package/dist/kernel/index.d.ts +0 -12
  261. package/dist/kernel/index.d.ts.map +0 -1
  262. package/dist/kernel/index.js +0 -27
  263. package/dist/kernel/manifest.zod.d.ts +0 -2153
  264. package/dist/kernel/manifest.zod.d.ts.map +0 -1
  265. package/json-schema/kernel/Manifest.json +0 -2557
  266. /package/dist/{kernel → system}/context.zod.d.ts +0 -0
  267. /package/dist/{kernel → system}/context.zod.js +0 -0
  268. /package/dist/{driver → system}/datasource.zod.js +0 -0
  269. /package/dist/{driver → system/driver}/mongo.zod.js +0 -0
  270. /package/dist/{driver → system/driver}/postgres.zod.js +0 -0
  271. /package/dist/{driver → system}/driver.zod.js +0 -0
  272. /package/dist/{kernel → system}/logger.zod.js +0 -0
  273. /package/dist/{kernel → system}/plugin.zod.d.ts +0 -0
  274. /package/dist/{kernel → system}/plugin.zod.js +0 -0
  275. /package/dist/{kernel → system}/scoped-storage.zod.js +0 -0
  276. /package/json-schema/{driver → system}/Datasource.json +0 -0
  277. /package/json-schema/{driver → system}/DatasourceCapabilities.json +0 -0
  278. /package/json-schema/{driver → system}/DriverCapabilities.json +0 -0
  279. /package/json-schema/{driver → system}/DriverDefinition.json +0 -0
  280. /package/json-schema/{driver → system}/DriverInterface.json +0 -0
  281. /package/json-schema/{driver → system}/DriverOptions.json +0 -0
  282. /package/json-schema/{driver → system}/DriverType.json +0 -0
  283. /package/json-schema/{kernel → system}/FileMetadata.json +0 -0
  284. /package/json-schema/{kernel → system}/I18nContext.json +0 -0
  285. /package/json-schema/{kernel → system}/KernelContext.json +0 -0
  286. /package/json-schema/{kernel → system}/LogEntry.json +0 -0
  287. /package/json-schema/{kernel → system}/LogFormat.json +0 -0
  288. /package/json-schema/{kernel → system}/LogLevel.json +0 -0
  289. /package/json-schema/{kernel → system}/Logger.json +0 -0
  290. /package/json-schema/{kernel → system}/LoggerConfig.json +0 -0
  291. /package/json-schema/{driver → system}/MongoConfig.json +0 -0
  292. /package/json-schema/{kernel → system}/ObjectQLClient.json +0 -0
  293. /package/json-schema/{kernel → system}/Plugin.json +0 -0
  294. /package/json-schema/{kernel → system}/PluginContext.json +0 -0
  295. /package/json-schema/{kernel → system}/PluginLifecycle.json +0 -0
  296. /package/json-schema/{driver → system}/PostgresConfig.json +0 -0
  297. /package/json-schema/{kernel → system}/Router.json +0 -0
  298. /package/json-schema/{kernel → system}/RuntimeMode.json +0 -0
  299. /package/json-schema/{kernel → system}/Scheduler.json +0 -0
  300. /package/json-schema/{kernel → system}/ScopedStorage.json +0 -0
  301. /package/json-schema/{kernel → system}/ScopedStorageConfig.json +0 -0
  302. /package/json-schema/{kernel → system}/StorageAdapterType.json +0 -0
  303. /package/json-schema/{kernel → system}/StorageScope.json +0 -0
  304. /package/json-schema/{kernel → system}/SystemAPI.json +0 -0
@@ -0,0 +1,395 @@
1
+ {
2
+ "$ref": "#/definitions/Manifest",
3
+ "definitions": {
4
+ "Manifest": {
5
+ "type": "object",
6
+ "properties": {
7
+ "id": {
8
+ "type": "string",
9
+ "description": "Unique package identifier (reverse domain style)"
10
+ },
11
+ "version": {
12
+ "type": "string",
13
+ "pattern": "^\\d+\\.\\d+\\.\\d+$",
14
+ "description": "Package version (semantic versioning)"
15
+ },
16
+ "type": {
17
+ "type": "string",
18
+ "enum": [
19
+ "app",
20
+ "plugin",
21
+ "driver",
22
+ "module"
23
+ ],
24
+ "description": "Type of package"
25
+ },
26
+ "name": {
27
+ "type": "string",
28
+ "description": "Human-readable package name"
29
+ },
30
+ "description": {
31
+ "type": "string",
32
+ "description": "Package description"
33
+ },
34
+ "permissions": {
35
+ "type": "array",
36
+ "items": {
37
+ "type": "string"
38
+ },
39
+ "description": "Array of required permission strings"
40
+ },
41
+ "objects": {
42
+ "type": "array",
43
+ "items": {
44
+ "type": "string"
45
+ },
46
+ "description": "Glob patterns for ObjectQL schemas files"
47
+ },
48
+ "datasources": {
49
+ "type": "array",
50
+ "items": {
51
+ "type": "string"
52
+ },
53
+ "description": "Glob patterns for Datasource definitions"
54
+ },
55
+ "dependencies": {
56
+ "type": "object",
57
+ "additionalProperties": {
58
+ "type": "string"
59
+ },
60
+ "description": "Package dependencies"
61
+ },
62
+ "configuration": {
63
+ "type": "object",
64
+ "properties": {
65
+ "title": {
66
+ "type": "string"
67
+ },
68
+ "properties": {
69
+ "type": "object",
70
+ "additionalProperties": {
71
+ "type": "object",
72
+ "properties": {
73
+ "type": {
74
+ "type": "string",
75
+ "enum": [
76
+ "string",
77
+ "number",
78
+ "boolean",
79
+ "array",
80
+ "object"
81
+ ],
82
+ "description": "Data type of the setting"
83
+ },
84
+ "default": {
85
+ "description": "Default value"
86
+ },
87
+ "description": {
88
+ "type": "string",
89
+ "description": "Tooltip description"
90
+ },
91
+ "required": {
92
+ "type": "boolean",
93
+ "description": "Is this setting required?"
94
+ },
95
+ "secret": {
96
+ "type": "boolean",
97
+ "description": "If true, value is encrypted/masked (e.g. API Keys)"
98
+ },
99
+ "enum": {
100
+ "type": "array",
101
+ "items": {
102
+ "type": "string"
103
+ },
104
+ "description": "Allowed values for select inputs"
105
+ }
106
+ },
107
+ "required": [
108
+ "type"
109
+ ],
110
+ "additionalProperties": false
111
+ },
112
+ "description": "Map of configuration keys to their definitions"
113
+ }
114
+ },
115
+ "required": [
116
+ "properties"
117
+ ],
118
+ "additionalProperties": false,
119
+ "description": "Plugin configuration settings"
120
+ },
121
+ "contributes": {
122
+ "type": "object",
123
+ "properties": {
124
+ "kinds": {
125
+ "type": "array",
126
+ "items": {
127
+ "type": "object",
128
+ "properties": {
129
+ "id": {
130
+ "type": "string",
131
+ "description": "The generic identifier of the kind (e.g., \"sys.bi.report\")"
132
+ },
133
+ "globs": {
134
+ "type": "array",
135
+ "items": {
136
+ "type": "string"
137
+ },
138
+ "description": "File patterns to watch (e.g., [\"**/*.report.ts\"])"
139
+ },
140
+ "description": {
141
+ "type": "string",
142
+ "description": "Description of what this kind represents"
143
+ }
144
+ },
145
+ "required": [
146
+ "id",
147
+ "globs"
148
+ ],
149
+ "additionalProperties": false
150
+ },
151
+ "description": "New Metadata Types to recognize"
152
+ },
153
+ "events": {
154
+ "type": "array",
155
+ "items": {
156
+ "type": "string"
157
+ },
158
+ "description": "Events this plugin listens to"
159
+ },
160
+ "menus": {
161
+ "type": "object",
162
+ "additionalProperties": {
163
+ "type": "array",
164
+ "items": {
165
+ "type": "object",
166
+ "properties": {
167
+ "id": {
168
+ "type": "string"
169
+ },
170
+ "label": {
171
+ "type": "string"
172
+ },
173
+ "command": {
174
+ "type": "string"
175
+ }
176
+ },
177
+ "required": [
178
+ "id",
179
+ "label"
180
+ ],
181
+ "additionalProperties": false
182
+ }
183
+ },
184
+ "description": "UI Menu contributions"
185
+ },
186
+ "themes": {
187
+ "type": "array",
188
+ "items": {
189
+ "type": "object",
190
+ "properties": {
191
+ "id": {
192
+ "type": "string"
193
+ },
194
+ "label": {
195
+ "type": "string"
196
+ },
197
+ "path": {
198
+ "type": "string"
199
+ }
200
+ },
201
+ "required": [
202
+ "id",
203
+ "label",
204
+ "path"
205
+ ],
206
+ "additionalProperties": false
207
+ },
208
+ "description": "Theme contributions"
209
+ },
210
+ "translations": {
211
+ "type": "array",
212
+ "items": {
213
+ "type": "object",
214
+ "properties": {
215
+ "locale": {
216
+ "type": "string"
217
+ },
218
+ "path": {
219
+ "type": "string"
220
+ }
221
+ },
222
+ "required": [
223
+ "locale",
224
+ "path"
225
+ ],
226
+ "additionalProperties": false
227
+ },
228
+ "description": "Translation resources"
229
+ },
230
+ "actions": {
231
+ "type": "array",
232
+ "items": {
233
+ "type": "object",
234
+ "properties": {
235
+ "name": {
236
+ "type": "string",
237
+ "description": "Unique action name"
238
+ },
239
+ "label": {
240
+ "type": "string"
241
+ },
242
+ "description": {
243
+ "type": "string"
244
+ },
245
+ "input": {
246
+ "description": "Input validation schema"
247
+ },
248
+ "output": {
249
+ "description": "Output schema"
250
+ }
251
+ },
252
+ "required": [
253
+ "name"
254
+ ],
255
+ "additionalProperties": false
256
+ },
257
+ "description": "Exposed server actions"
258
+ },
259
+ "drivers": {
260
+ "type": "array",
261
+ "items": {
262
+ "type": "object",
263
+ "properties": {
264
+ "id": {
265
+ "type": "string",
266
+ "description": "Driver unique identifier (e.g. \"postgres\", \"mongo\")"
267
+ },
268
+ "label": {
269
+ "type": "string",
270
+ "description": "Human readable name"
271
+ },
272
+ "description": {
273
+ "type": "string"
274
+ }
275
+ },
276
+ "required": [
277
+ "id",
278
+ "label"
279
+ ],
280
+ "additionalProperties": false
281
+ },
282
+ "description": "Driver contributions"
283
+ },
284
+ "fieldTypes": {
285
+ "type": "array",
286
+ "items": {
287
+ "type": "object",
288
+ "properties": {
289
+ "name": {
290
+ "type": "string",
291
+ "description": "Unique field type name (e.g. \"vector\")"
292
+ },
293
+ "label": {
294
+ "type": "string",
295
+ "description": "Display label"
296
+ },
297
+ "description": {
298
+ "type": "string"
299
+ }
300
+ },
301
+ "required": [
302
+ "name",
303
+ "label"
304
+ ],
305
+ "additionalProperties": false
306
+ },
307
+ "description": "Field Type contributions"
308
+ },
309
+ "functions": {
310
+ "type": "array",
311
+ "items": {
312
+ "type": "object",
313
+ "properties": {
314
+ "name": {
315
+ "type": "string",
316
+ "description": "Function name (e.g. \"distance\")"
317
+ },
318
+ "description": {
319
+ "type": "string"
320
+ },
321
+ "args": {
322
+ "type": "array",
323
+ "items": {
324
+ "type": "string"
325
+ },
326
+ "description": "Argument types"
327
+ },
328
+ "returnType": {
329
+ "type": "string"
330
+ }
331
+ },
332
+ "required": [
333
+ "name"
334
+ ],
335
+ "additionalProperties": false
336
+ },
337
+ "description": "Query Function contributions"
338
+ }
339
+ },
340
+ "additionalProperties": false,
341
+ "description": "Platform contributions"
342
+ },
343
+ "data": {
344
+ "type": "array",
345
+ "items": {
346
+ "type": "object",
347
+ "properties": {
348
+ "object": {
349
+ "type": "string",
350
+ "description": "Target Object Name"
351
+ },
352
+ "records": {
353
+ "type": "array",
354
+ "items": {
355
+ "type": "object",
356
+ "additionalProperties": {}
357
+ },
358
+ "description": "List of records to insert"
359
+ },
360
+ "mode": {
361
+ "type": "string",
362
+ "enum": [
363
+ "upsert",
364
+ "insert",
365
+ "ignore"
366
+ ],
367
+ "default": "upsert",
368
+ "description": "Seeding mode"
369
+ }
370
+ },
371
+ "required": [
372
+ "object",
373
+ "records"
374
+ ],
375
+ "additionalProperties": false
376
+ },
377
+ "description": "Initial seed data"
378
+ },
379
+ "extensions": {
380
+ "type": "object",
381
+ "additionalProperties": {},
382
+ "description": "Extension points and contributions"
383
+ }
384
+ },
385
+ "required": [
386
+ "id",
387
+ "version",
388
+ "type",
389
+ "name"
390
+ ],
391
+ "additionalProperties": false
392
+ }
393
+ },
394
+ "$schema": "http://json-schema.org/draft-07/schema#"
395
+ }
@@ -6,8 +6,9 @@
6
6
  "properties": {
7
7
  "name": {
8
8
  "type": "string",
9
- "pattern": "^[a-z_][a-z0-9_]*$",
10
- "description": "Machine name (snake_case)"
9
+ "minLength": 2,
10
+ "pattern": "^[a-z][a-z0-9_]*$",
11
+ "description": "Machine name (lowercase snake_case)"
11
12
  },
12
13
  "label": {
13
14
  "type": "string",
@@ -32,6 +33,16 @@
32
33
  },
33
34
  "description": "Locations where this action is visible"
34
35
  },
36
+ "component": {
37
+ "type": "string",
38
+ "enum": [
39
+ "action:button",
40
+ "action:icon",
41
+ "action:menu",
42
+ "action:group"
43
+ ],
44
+ "description": "Visual component override"
45
+ },
35
46
  "location": {},
36
47
  "type": {
37
48
  "type": "string",
@@ -83,24 +94,34 @@
83
94
  "datetime",
84
95
  "time",
85
96
  "boolean",
97
+ "toggle",
86
98
  "select",
99
+ "multiselect",
100
+ "radio",
101
+ "checkboxes",
87
102
  "lookup",
88
103
  "master_detail",
104
+ "tree",
89
105
  "image",
90
106
  "file",
91
107
  "avatar",
108
+ "video",
109
+ "audio",
92
110
  "formula",
93
111
  "summary",
94
112
  "autonumber",
95
113
  "location",
96
- "geolocation",
97
114
  "address",
98
115
  "code",
116
+ "json",
99
117
  "color",
100
118
  "rating",
101
119
  "slider",
102
120
  "signature",
103
- "qrcode"
121
+ "qrcode",
122
+ "progress",
123
+ "tags",
124
+ "vector"
104
125
  ]
105
126
  },
106
127
  "required": {
@@ -29,24 +29,34 @@
29
29
  "datetime",
30
30
  "time",
31
31
  "boolean",
32
+ "toggle",
32
33
  "select",
34
+ "multiselect",
35
+ "radio",
36
+ "checkboxes",
33
37
  "lookup",
34
38
  "master_detail",
39
+ "tree",
35
40
  "image",
36
41
  "file",
37
42
  "avatar",
43
+ "video",
44
+ "audio",
38
45
  "formula",
39
46
  "summary",
40
47
  "autonumber",
41
48
  "location",
42
- "geolocation",
43
49
  "address",
44
50
  "code",
51
+ "json",
45
52
  "color",
46
53
  "rating",
47
54
  "slider",
48
55
  "signature",
49
- "qrcode"
56
+ "qrcode",
57
+ "progress",
58
+ "tags",
59
+ "vector"
50
60
  ]
51
61
  },
52
62
  "required": {
@@ -6,8 +6,9 @@
6
6
  "properties": {
7
7
  "name": {
8
8
  "type": "string",
9
- "pattern": "^[a-z_][a-z0-9_]*$",
10
- "description": "App unique machine name"
9
+ "minLength": 2,
10
+ "pattern": "^[a-z][a-z0-9_]*$",
11
+ "description": "App unique machine name (lowercase snake_case)"
11
12
  },
12
13
  "label": {
13
14
  "type": "string",
@@ -63,7 +64,9 @@
63
64
  "properties": {
64
65
  "id": {
65
66
  "type": "string",
66
- "description": "Unique identifier for this navigation item"
67
+ "minLength": 2,
68
+ "pattern": "^[a-z][a-z0-9_]*$",
69
+ "description": "Unique identifier for this navigation item (lowercase snake_case)"
67
70
  },
68
71
  "label": {
69
72
  "type": "string",
@@ -103,7 +106,9 @@
103
106
  "properties": {
104
107
  "id": {
105
108
  "type": "string",
106
- "description": "Unique identifier for this navigation item"
109
+ "minLength": 2,
110
+ "pattern": "^[a-z][a-z0-9_]*$",
111
+ "description": "Unique identifier for this navigation item (lowercase snake_case)"
107
112
  },
108
113
  "label": {
109
114
  "type": "string",
@@ -139,7 +144,9 @@
139
144
  "properties": {
140
145
  "id": {
141
146
  "type": "string",
142
- "description": "Unique identifier for this navigation item"
147
+ "minLength": 2,
148
+ "pattern": "^[a-z][a-z0-9_]*$",
149
+ "description": "Unique identifier for this navigation item (lowercase snake_case)"
143
150
  },
144
151
  "label": {
145
152
  "type": "string",
@@ -180,7 +187,9 @@
180
187
  "properties": {
181
188
  "id": {
182
189
  "type": "string",
183
- "description": "Unique identifier for this navigation item"
190
+ "minLength": 2,
191
+ "pattern": "^[a-z][a-z0-9_]*$",
192
+ "description": "Unique identifier for this navigation item (lowercase snake_case)"
184
193
  },
185
194
  "label": {
186
195
  "type": "string",
@@ -225,7 +234,9 @@
225
234
  "properties": {
226
235
  "id": {
227
236
  "type": "string",
228
- "description": "Unique identifier for this navigation item"
237
+ "minLength": 2,
238
+ "pattern": "^[a-z][a-z0-9_]*$",
239
+ "description": "Unique identifier for this navigation item (lowercase snake_case)"
229
240
  },
230
241
  "label": {
231
242
  "type": "string",
@@ -9,9 +9,17 @@
9
9
  "line",
10
10
  "pie",
11
11
  "donut",
12
+ "gauge",
12
13
  "funnel",
14
+ "radar",
15
+ "scatter",
16
+ "heatmap",
17
+ "pivot",
13
18
  "table",
14
- "text"
19
+ "list",
20
+ "text",
21
+ "image",
22
+ "frame"
15
23
  ]
16
24
  }
17
25
  },
@@ -34,9 +34,17 @@
34
34
  "line",
35
35
  "pie",
36
36
  "donut",
37
+ "gauge",
37
38
  "funnel",
39
+ "radar",
40
+ "scatter",
41
+ "heatmap",
42
+ "pivot",
38
43
  "table",
39
- "text"
44
+ "list",
45
+ "text",
46
+ "image",
47
+ "frame"
40
48
  ],
41
49
  "default": "metric",
42
50
  "description": "Visualization type"
@@ -6,7 +6,9 @@
6
6
  "properties": {
7
7
  "id": {
8
8
  "type": "string",
9
- "description": "Unique identifier for this navigation item"
9
+ "minLength": 2,
10
+ "pattern": "^[a-z][a-z0-9_]*$",
11
+ "description": "Unique identifier for this navigation item (lowercase snake_case)"
10
12
  },
11
13
  "label": {
12
14
  "type": "string",
@@ -16,9 +16,17 @@
16
16
  "line",
17
17
  "pie",
18
18
  "donut",
19
+ "gauge",
19
20
  "funnel",
21
+ "radar",
22
+ "scatter",
23
+ "heatmap",
24
+ "pivot",
20
25
  "table",
21
- "text"
26
+ "list",
27
+ "text",
28
+ "image",
29
+ "frame"
22
30
  ],
23
31
  "default": "metric",
24
32
  "description": "Visualization type"