@objectstack/spec 2.0.5 → 2.0.7

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 (293) hide show
  1. package/dist/ai/index.d.mts +1 -1
  2. package/dist/ai/index.d.ts +1 -1
  3. package/dist/ai/index.js +230 -3
  4. package/dist/ai/index.js.map +1 -1
  5. package/dist/ai/index.mjs +218 -3
  6. package/dist/ai/index.mjs.map +1 -1
  7. package/dist/api/index.d.mts +2 -2
  8. package/dist/api/index.d.ts +2 -2
  9. package/dist/api/index.js +3409 -2841
  10. package/dist/api/index.js.map +1 -1
  11. package/dist/api/index.mjs +3386 -2841
  12. package/dist/api/index.mjs.map +1 -1
  13. package/dist/automation/index.d.mts +1 -1
  14. package/dist/automation/index.d.ts +1 -1
  15. package/dist/contracts/index.d.mts +2 -2
  16. package/dist/contracts/index.d.ts +2 -2
  17. package/dist/contracts/index.js.map +1 -1
  18. package/dist/data/index.d.mts +2 -2
  19. package/dist/data/index.d.ts +2 -2
  20. package/dist/data/index.js +58 -1
  21. package/dist/data/index.js.map +1 -1
  22. package/dist/data/index.mjs +58 -1
  23. package/dist/data/index.mjs.map +1 -1
  24. package/dist/{driver.zod-E3C6n0W-.d.ts → driver.zod-B3Q0oLlF.d.ts} +1 -1
  25. package/dist/{driver.zod-DnOPgUGi.d.mts → driver.zod-Bf2z72WQ.d.mts} +1 -1
  26. package/dist/{index-DyawwLFZ.d.ts → index-B3C8s_DZ.d.ts} +307 -29
  27. package/dist/{index-DTCkpGMm.d.mts → index-BliYpI46.d.mts} +879 -52
  28. package/dist/{index-BbtSaxHm.d.ts → index-BpE_xfkc.d.ts} +3289 -229
  29. package/dist/{index-E1mP_eoE.d.mts → index-C3cFLYII.d.mts} +307 -29
  30. package/dist/{index-BpP0MwlW.d.ts → index-CXtgLAue.d.ts} +879 -52
  31. package/dist/{index-D-tf4nDV.d.mts → index-CYbdd-mL.d.mts} +27 -1
  32. package/dist/index-CeUUI-ym.d.mts +2102 -0
  33. package/dist/{index-BPhGHW32.d.ts → index-CfvdYFyf.d.ts} +27 -1
  34. package/dist/{index-CDN6TRx9.d.mts → index-ClHj1Tbo.d.mts} +71 -2
  35. package/dist/{index-CDN6TRx9.d.ts → index-ClHj1Tbo.d.ts} +71 -2
  36. package/dist/index-CmY8tgpL.d.ts +2102 -0
  37. package/dist/{index-DRCh2NTZ.d.mts → index-CqDMk0T6.d.mts} +3289 -229
  38. package/dist/{index-d9wYlv-g.d.ts → index-DNKiU_-x.d.mts} +684 -18
  39. package/dist/{index-d9wYlv-g.d.mts → index-DNKiU_-x.d.ts} +684 -18
  40. package/dist/{index-CisfSmuF.d.ts → index-Dm4UfDKG.d.ts} +451 -19
  41. package/dist/index-KhvhiesR.d.mts +6902 -0
  42. package/dist/{index-BV0xBoer.d.mts → index-Onf8hbkX.d.mts} +451 -19
  43. package/dist/index-OqCqQSaH.d.ts +6902 -0
  44. package/dist/index.d.mts +2519 -222
  45. package/dist/index.d.ts +2519 -222
  46. package/dist/index.js +9957 -8069
  47. package/dist/index.js.map +1 -1
  48. package/dist/index.mjs +9957 -8069
  49. package/dist/index.mjs.map +1 -1
  50. package/dist/integration/index.d.mts +1 -1
  51. package/dist/integration/index.d.ts +1 -1
  52. package/dist/integration/index.js +67 -0
  53. package/dist/integration/index.js.map +1 -1
  54. package/dist/integration/index.mjs +61 -0
  55. package/dist/integration/index.mjs.map +1 -1
  56. package/dist/kernel/index.d.mts +2 -2
  57. package/dist/kernel/index.d.ts +2 -2
  58. package/dist/kernel/index.js +1698 -1474
  59. package/dist/kernel/index.js.map +1 -1
  60. package/dist/kernel/index.mjs +1690 -1474
  61. package/dist/kernel/index.mjs.map +1 -1
  62. package/dist/{package-registry.zod-CbS9FKeH.d.mts → package-registry.zod-BJQSiICj.d.mts} +78 -43
  63. package/dist/{package-registry.zod-CbS9FKeH.d.ts → package-registry.zod-BJQSiICj.d.ts} +78 -43
  64. package/dist/security/index.d.mts +1 -1
  65. package/dist/security/index.d.ts +1 -1
  66. package/dist/security/index.js +47 -1
  67. package/dist/security/index.js.map +1 -1
  68. package/dist/security/index.mjs +45 -1
  69. package/dist/security/index.mjs.map +1 -1
  70. package/dist/system/index.d.mts +1 -1
  71. package/dist/system/index.d.ts +1 -1
  72. package/dist/system/index.js +2189 -1821
  73. package/dist/system/index.js.map +1 -1
  74. package/dist/system/index.mjs +2168 -1821
  75. package/dist/system/index.mjs.map +1 -1
  76. package/dist/ui/index.d.mts +1 -1
  77. package/dist/ui/index.d.ts +1 -1
  78. package/dist/ui/index.js +1414 -767
  79. package/dist/ui/index.js.map +1 -1
  80. package/dist/ui/index.mjs +1354 -767
  81. package/dist/ui/index.mjs.map +1 -1
  82. package/json-schema/ai/Agent.json +203 -0
  83. package/json-schema/ai/AgentCommunicationProtocol.json +9 -0
  84. package/json-schema/ai/AgentGroupMember.json +45 -0
  85. package/json-schema/ai/AgentGroupRole.json +10 -0
  86. package/json-schema/ai/DevOpsAgent.json +203 -0
  87. package/json-schema/ai/MCPClientConfig.json +168 -0
  88. package/json-schema/ai/MCPRootEntry.json +23 -0
  89. package/json-schema/ai/MCPRootsConfig.json +49 -0
  90. package/json-schema/ai/MCPSamplingConfig.json +46 -0
  91. package/json-schema/ai/MCPServerConfig.json +120 -0
  92. package/json-schema/ai/MCPStreamingConfig.json +38 -0
  93. package/json-schema/ai/MCPToolApproval.json +39 -0
  94. package/json-schema/ai/MultiAgentGroup.json +137 -0
  95. package/json-schema/ai/StructuredOutputConfig.json +75 -0
  96. package/json-schema/ai/StructuredOutputFormat.json +12 -0
  97. package/json-schema/ai/TransformPipelineStep.json +11 -0
  98. package/json-schema/api/AppDefinitionResponse.json +285 -7
  99. package/json-schema/api/BasePresence.json +40 -0
  100. package/json-schema/api/BatchLoadingStrategy.json +40 -0
  101. package/json-schema/api/Callback.json +39 -0
  102. package/json-schema/api/DataLoaderConfig.json +55 -0
  103. package/json-schema/api/DisablePackageResponse.json +26 -0
  104. package/json-schema/api/Discovery.json +4 -62
  105. package/json-schema/api/EnablePackageResponse.json +26 -0
  106. package/json-schema/api/FederationEntity.json +110 -0
  107. package/json-schema/api/FederationEntityKey.json +20 -0
  108. package/json-schema/api/FederationExternalField.json +18 -0
  109. package/json-schema/api/FederationGateway.json +327 -0
  110. package/json-schema/api/FederationProvides.json +19 -0
  111. package/json-schema/api/FederationRequires.json +19 -0
  112. package/json-schema/api/GetDiscoveryResponse.json +1 -60
  113. package/json-schema/api/GetPackageResponse.json +26 -0
  114. package/json-schema/api/GraphQLConfig.json +327 -0
  115. package/json-schema/api/GraphQLQueryAdapter.json +84 -0
  116. package/json-schema/api/InstallPackageRequest.json +26 -0
  117. package/json-schema/api/InstallPackageResponse.json +26 -0
  118. package/json-schema/api/ListPackagesResponse.json +26 -0
  119. package/json-schema/api/ODataQueryAdapter.json +66 -0
  120. package/json-schema/api/OpenApi31Extensions.json +139 -0
  121. package/json-schema/api/OperatorMapping.json +26 -0
  122. package/json-schema/api/PresenceStatus.json +10 -0
  123. package/json-schema/api/QueryAdapterConfig.json +272 -0
  124. package/json-schema/api/QueryAdapterTarget.json +9 -0
  125. package/json-schema/api/QueryOptimizationConfig.json +126 -0
  126. package/json-schema/api/RealtimeRecordAction.json +9 -0
  127. package/json-schema/api/RestQueryAdapter.json +86 -0
  128. package/json-schema/api/RestServerConfig.json +139 -0
  129. package/json-schema/api/SubgraphConfig.json +183 -0
  130. package/json-schema/api/WebhookConfig.json +129 -0
  131. package/json-schema/api/WebhookEvent.json +64 -0
  132. package/json-schema/data/ExternalLookup.json +128 -0
  133. package/json-schema/identity/SCIMBulkOperation.json +41 -0
  134. package/json-schema/identity/SCIMBulkRequest.json +73 -0
  135. package/json-schema/identity/SCIMBulkResponse.json +61 -0
  136. package/json-schema/identity/SCIMBulkResponseOperation.json +36 -0
  137. package/json-schema/integration/CircuitBreakerConfig.json +49 -0
  138. package/json-schema/integration/Connector.json +223 -0
  139. package/json-schema/integration/ConnectorHealth.json +113 -0
  140. package/json-schema/integration/DatabaseConnector.json +223 -0
  141. package/json-schema/integration/ErrorCategory.json +15 -0
  142. package/json-schema/integration/ErrorMappingConfig.json +112 -0
  143. package/json-schema/integration/ErrorMappingRule.json +66 -0
  144. package/json-schema/integration/FileStorageConnector.json +223 -0
  145. package/json-schema/integration/GitHubConnector.json +223 -0
  146. package/json-schema/integration/HealthCheckConfig.json +58 -0
  147. package/json-schema/integration/MessageQueueConnector.json +223 -0
  148. package/json-schema/integration/SaasConnector.json +223 -0
  149. package/json-schema/integration/VercelConnector.json +223 -0
  150. package/json-schema/kernel/CLICommandContribution.json +23 -0
  151. package/json-schema/kernel/CLIExtensionExport.json +22 -0
  152. package/json-schema/kernel/DevFixtureConfig.json +35 -0
  153. package/json-schema/kernel/DevPluginConfig.json +170 -0
  154. package/json-schema/kernel/DevPluginPreset.json +10 -0
  155. package/json-schema/kernel/DevServiceOverride.json +41 -0
  156. package/json-schema/kernel/DevToolsConfig.json +45 -0
  157. package/json-schema/kernel/DisablePackageResponse.json +26 -0
  158. package/json-schema/kernel/EnablePackageResponse.json +26 -0
  159. package/json-schema/kernel/GetPackageResponse.json +26 -0
  160. package/json-schema/kernel/InstallPackageRequest.json +26 -0
  161. package/json-schema/kernel/InstallPackageResponse.json +26 -0
  162. package/json-schema/kernel/InstalledPackage.json +26 -0
  163. package/json-schema/kernel/ListPackagesResponse.json +26 -0
  164. package/json-schema/kernel/Manifest.json +26 -0
  165. package/json-schema/kernel/MetadataFallbackStrategy.json +9 -0
  166. package/json-schema/kernel/MetadataLoaderContract.json +7 -0
  167. package/json-schema/kernel/MetadataManagerConfig.json +21 -0
  168. package/json-schema/security/RLSAuditConfig.json +62 -0
  169. package/json-schema/security/RLSAuditEvent.json +66 -0
  170. package/json-schema/security/RLSConfig.json +62 -0
  171. package/json-schema/system/AuthConfig.json +83 -0
  172. package/json-schema/system/BackupConfig.json +148 -0
  173. package/json-schema/system/BackupRetention.json +27 -0
  174. package/json-schema/system/BackupStrategy.json +10 -0
  175. package/json-schema/system/CacheAvalanchePrevention.json +77 -0
  176. package/json-schema/system/CacheConsistency.json +11 -0
  177. package/json-schema/system/CacheWarmup.json +44 -0
  178. package/json-schema/system/ComplianceAuditRequirement.json +43 -0
  179. package/json-schema/system/ComplianceEncryptionRequirement.json +58 -0
  180. package/json-schema/system/DataClassificationPolicy.json +46 -0
  181. package/json-schema/system/DisasterRecoveryPlan.json +414 -0
  182. package/json-schema/system/DistributedCacheConfig.json +269 -0
  183. package/json-schema/system/FailoverConfig.json +102 -0
  184. package/json-schema/system/FailoverMode.json +11 -0
  185. package/json-schema/system/MaskingVisibilityRule.json +56 -0
  186. package/json-schema/system/MetadataFallbackStrategy.json +9 -0
  187. package/json-schema/system/MetadataLoaderContract.json +9 -1
  188. package/json-schema/system/MetadataManagerConfig.json +52 -11
  189. package/json-schema/system/MetadataRecord.json +32 -1
  190. package/json-schema/system/MetadataSource.json +10 -0
  191. package/json-schema/system/MutualTLSConfig.json +83 -0
  192. package/json-schema/system/RPO.json +27 -0
  193. package/json-schema/system/RTO.json +27 -0
  194. package/json-schema/system/SecurityContextConfig.json +288 -0
  195. package/json-schema/system/SecurityEventCorrelation.json +40 -0
  196. package/json-schema/ui/Action.json +200 -5
  197. package/json-schema/ui/ActionParam.json +62 -2
  198. package/json-schema/ui/AnimationTrigger.json +14 -0
  199. package/json-schema/ui/App.json +285 -7
  200. package/json-schema/ui/AriaProps.json +49 -0
  201. package/json-schema/ui/BreakpointColumnMap.json +38 -0
  202. package/json-schema/ui/BreakpointName.json +12 -0
  203. package/json-schema/ui/BreakpointOrderMap.json +26 -0
  204. package/json-schema/ui/ChartAnnotation.json +31 -1
  205. package/json-schema/ui/ChartAxis.json +30 -1
  206. package/json-schema/ui/ChartConfig.json +259 -7
  207. package/json-schema/ui/ChartSeries.json +30 -1
  208. package/json-schema/ui/ColumnSummary.json +18 -0
  209. package/json-schema/ui/ComponentAnimation.json +246 -0
  210. package/json-schema/ui/ConflictResolution.json +11 -0
  211. package/json-schema/ui/Dashboard.json +627 -11
  212. package/json-schema/ui/DashboardNavItem.json +30 -1
  213. package/json-schema/ui/DashboardWidget.json +433 -8
  214. package/json-schema/ui/DateFormat.json +36 -0
  215. package/json-schema/ui/DensityMode.json +9 -0
  216. package/json-schema/ui/DndConfig.json +306 -0
  217. package/json-schema/ui/DragConstraint.json +44 -0
  218. package/json-schema/ui/DragHandle.json +10 -0
  219. package/json-schema/ui/DragItem.json +160 -0
  220. package/json-schema/ui/DropEffect.json +11 -0
  221. package/json-schema/ui/DropZone.json +114 -0
  222. package/json-schema/ui/EasingFunction.json +13 -0
  223. package/json-schema/ui/EvictionPolicy.json +10 -0
  224. package/json-schema/ui/FocusManagement.json +69 -0
  225. package/json-schema/ui/FocusTrapConfig.json +32 -0
  226. package/json-schema/ui/FormField.json +90 -3
  227. package/json-schema/ui/GalleryConfig.json +46 -0
  228. package/json-schema/ui/GestureConfig.json +128 -0
  229. package/json-schema/ui/GestureType.json +14 -0
  230. package/json-schema/ui/GroupNavItem.json +30 -1
  231. package/json-schema/ui/GroupingConfig.json +45 -0
  232. package/json-schema/ui/GroupingField.json +30 -0
  233. package/json-schema/ui/I18nLabel.json +34 -0
  234. package/json-schema/ui/I18nObject.json +26 -0
  235. package/json-schema/ui/KeyboardNavigationConfig.json +194 -0
  236. package/json-schema/ui/KeyboardShortcut.json +66 -0
  237. package/json-schema/ui/ListColumn.json +55 -1
  238. package/json-schema/ui/ListView.json +435 -4
  239. package/json-schema/ui/LocaleConfig.json +108 -0
  240. package/json-schema/ui/LongPressGestureConfig.json +20 -0
  241. package/json-schema/ui/MotionConfig.json +405 -0
  242. package/json-schema/ui/NavigationItem.json +150 -5
  243. package/json-schema/ui/Notification.json +232 -0
  244. package/json-schema/ui/NotificationAction.json +60 -0
  245. package/json-schema/ui/NotificationConfig.json +52 -0
  246. package/json-schema/ui/NotificationPosition.json +13 -0
  247. package/json-schema/ui/NotificationSeverity.json +11 -0
  248. package/json-schema/ui/NotificationType.json +12 -0
  249. package/json-schema/ui/NumberFormat.json +42 -0
  250. package/json-schema/ui/ObjectNavItem.json +30 -1
  251. package/json-schema/ui/OfflineCacheConfig.json +40 -0
  252. package/json-schema/ui/OfflineConfig.json +157 -0
  253. package/json-schema/ui/OfflineStrategy.json +12 -0
  254. package/json-schema/ui/Page.json +285 -3
  255. package/json-schema/ui/PageCardProps.json +79 -1
  256. package/json-schema/ui/PageComponent.json +175 -1
  257. package/json-schema/ui/PageHeaderProps.json +108 -2
  258. package/json-schema/ui/PageNavItem.json +30 -1
  259. package/json-schema/ui/PageRegion.json +175 -1
  260. package/json-schema/ui/PageTabsProps.json +79 -1
  261. package/json-schema/ui/PageTransition.json +53 -0
  262. package/json-schema/ui/PerformanceConfig.json +57 -0
  263. package/json-schema/ui/PersistStorage.json +10 -0
  264. package/json-schema/ui/PinchGestureConfig.json +16 -0
  265. package/json-schema/ui/PluralRule.json +40 -0
  266. package/json-schema/ui/Report.json +490 -8
  267. package/json-schema/ui/ReportChart.json +199 -5
  268. package/json-schema/ui/ReportColumn.json +126 -1
  269. package/json-schema/ui/ResponsiveConfig.json +97 -0
  270. package/json-schema/ui/RowColorConfig.json +25 -0
  271. package/json-schema/ui/RowHeight.json +12 -0
  272. package/json-schema/ui/SwipeDirection.json +10 -0
  273. package/json-schema/ui/SwipeGestureConfig.json +32 -0
  274. package/json-schema/ui/SyncConfig.json +47 -0
  275. package/json-schema/ui/Theme.json +137 -0
  276. package/json-schema/ui/TimelineConfig.json +46 -0
  277. package/json-schema/ui/TouchInteraction.json +232 -0
  278. package/json-schema/ui/TouchTargetConfig.json +49 -0
  279. package/json-schema/ui/TransitionConfig.json +47 -0
  280. package/json-schema/ui/TransitionPreset.json +16 -0
  281. package/json-schema/ui/UrlNavItem.json +30 -1
  282. package/json-schema/ui/ViewSharing.json +24 -0
  283. package/json-schema/ui/WcagContrastLevel.json +8 -0
  284. package/json-schema/ui/WidgetEvent.json +60 -2
  285. package/json-schema/ui/WidgetManifest.json +284 -6
  286. package/json-schema/ui/WidgetProperty.json +60 -2
  287. package/package.json +1 -1
  288. package/dist/index-C6p-2KXV.d.ts +0 -767
  289. package/dist/index-CVnGe2b8.d.mts +0 -767
  290. package/dist/index-CZjkpp75.d.mts +0 -3867
  291. package/dist/index-CgkjUheS.d.ts +0 -3867
  292. package/dist/{index-B08s7rEU.d.mts → index-DmhxH5jy.d.mts} +8 -8
  293. package/dist/{index-DqnBqATx.d.ts → index-y5JJvyML.d.ts} +8 -8
@@ -9,7 +9,37 @@
9
9
  "pattern": "^[a-z][a-z0-9_]*$"
10
10
  },
11
11
  "label": {
12
- "type": "string"
12
+ "anyOf": [
13
+ {
14
+ "type": "string"
15
+ },
16
+ {
17
+ "type": "object",
18
+ "properties": {
19
+ "key": {
20
+ "type": "string",
21
+ "description": "Translation key (e.g., \"views.task_list.label\")"
22
+ },
23
+ "defaultValue": {
24
+ "description": "Fallback value when translation key is not found",
25
+ "type": "string"
26
+ },
27
+ "params": {
28
+ "description": "Interpolation parameters (e.g., { count: 5 })",
29
+ "type": "object",
30
+ "propertyNames": {
31
+ "type": "string"
32
+ },
33
+ "additionalProperties": {}
34
+ }
35
+ },
36
+ "required": [
37
+ "key"
38
+ ],
39
+ "additionalProperties": false
40
+ }
41
+ ],
42
+ "description": "Display label: plain string or i18n translation object"
13
43
  },
14
44
  "type": {
15
45
  "default": "grid",
@@ -194,7 +224,36 @@
194
224
  },
195
225
  "label": {
196
226
  "description": "Display label override",
197
- "type": "string"
227
+ "anyOf": [
228
+ {
229
+ "type": "string"
230
+ },
231
+ {
232
+ "type": "object",
233
+ "properties": {
234
+ "key": {
235
+ "type": "string",
236
+ "description": "Translation key (e.g., \"views.task_list.label\")"
237
+ },
238
+ "defaultValue": {
239
+ "description": "Fallback value when translation key is not found",
240
+ "type": "string"
241
+ },
242
+ "params": {
243
+ "description": "Interpolation parameters (e.g., { count: 5 })",
244
+ "type": "object",
245
+ "propertyNames": {
246
+ "type": "string"
247
+ },
248
+ "additionalProperties": {}
249
+ }
250
+ },
251
+ "required": [
252
+ "key"
253
+ ],
254
+ "additionalProperties": false
255
+ }
256
+ ]
198
257
  },
199
258
  "width": {
200
259
  "description": "Column width in pixels",
@@ -230,6 +289,31 @@
230
289
  "description": "Renderer type override (e.g., \"currency\", \"date\")",
231
290
  "type": "string"
232
291
  },
292
+ "pinned": {
293
+ "description": "Pin/freeze column to left or right side",
294
+ "type": "string",
295
+ "enum": [
296
+ "left",
297
+ "right"
298
+ ]
299
+ },
300
+ "summary": {
301
+ "description": "Footer aggregation function for this column",
302
+ "type": "string",
303
+ "enum": [
304
+ "none",
305
+ "count",
306
+ "count_empty",
307
+ "count_filled",
308
+ "count_unique",
309
+ "percent_empty",
310
+ "percent_filled",
311
+ "sum",
312
+ "avg",
313
+ "min",
314
+ "max"
315
+ ]
316
+ },
233
317
  "link": {
234
318
  "description": "Functions as the primary navigation link (triggers View navigation)",
235
319
  "type": "boolean"
@@ -478,6 +562,245 @@
478
562
  ],
479
563
  "additionalProperties": false
480
564
  },
565
+ "gallery": {
566
+ "type": "object",
567
+ "properties": {
568
+ "coverField": {
569
+ "description": "Attachment/image field to display as card cover",
570
+ "type": "string"
571
+ },
572
+ "coverFit": {
573
+ "default": "cover",
574
+ "description": "Image fit mode for card cover",
575
+ "type": "string",
576
+ "enum": [
577
+ "cover",
578
+ "contain"
579
+ ]
580
+ },
581
+ "cardSize": {
582
+ "default": "medium",
583
+ "description": "Card size in gallery view",
584
+ "type": "string",
585
+ "enum": [
586
+ "small",
587
+ "medium",
588
+ "large"
589
+ ]
590
+ },
591
+ "titleField": {
592
+ "description": "Field to display as card title",
593
+ "type": "string"
594
+ },
595
+ "visibleFields": {
596
+ "description": "Fields to display on card body",
597
+ "type": "array",
598
+ "items": {
599
+ "type": "string"
600
+ }
601
+ }
602
+ },
603
+ "required": [
604
+ "coverFit",
605
+ "cardSize"
606
+ ],
607
+ "additionalProperties": false,
608
+ "description": "Gallery/card view configuration"
609
+ },
610
+ "timeline": {
611
+ "type": "object",
612
+ "properties": {
613
+ "startDateField": {
614
+ "type": "string",
615
+ "description": "Field for timeline item start date"
616
+ },
617
+ "endDateField": {
618
+ "description": "Field for timeline item end date",
619
+ "type": "string"
620
+ },
621
+ "titleField": {
622
+ "type": "string",
623
+ "description": "Field to display as timeline item title"
624
+ },
625
+ "groupByField": {
626
+ "description": "Field to group timeline rows",
627
+ "type": "string"
628
+ },
629
+ "colorField": {
630
+ "description": "Field to determine item color",
631
+ "type": "string"
632
+ },
633
+ "scale": {
634
+ "default": "week",
635
+ "description": "Default timeline scale",
636
+ "type": "string",
637
+ "enum": [
638
+ "hour",
639
+ "day",
640
+ "week",
641
+ "month",
642
+ "quarter",
643
+ "year"
644
+ ]
645
+ }
646
+ },
647
+ "required": [
648
+ "startDateField",
649
+ "titleField",
650
+ "scale"
651
+ ],
652
+ "additionalProperties": false,
653
+ "description": "Timeline view configuration"
654
+ },
655
+ "description": {
656
+ "description": "View description for documentation/tooltips",
657
+ "anyOf": [
658
+ {
659
+ "type": "string"
660
+ },
661
+ {
662
+ "type": "object",
663
+ "properties": {
664
+ "key": {
665
+ "type": "string",
666
+ "description": "Translation key (e.g., \"views.task_list.label\")"
667
+ },
668
+ "defaultValue": {
669
+ "description": "Fallback value when translation key is not found",
670
+ "type": "string"
671
+ },
672
+ "params": {
673
+ "description": "Interpolation parameters (e.g., { count: 5 })",
674
+ "type": "object",
675
+ "propertyNames": {
676
+ "type": "string"
677
+ },
678
+ "additionalProperties": {}
679
+ }
680
+ },
681
+ "required": [
682
+ "key"
683
+ ],
684
+ "additionalProperties": false
685
+ }
686
+ ]
687
+ },
688
+ "sharing": {
689
+ "description": "View sharing and access configuration",
690
+ "type": "object",
691
+ "properties": {
692
+ "type": {
693
+ "default": "collaborative",
694
+ "description": "View ownership type",
695
+ "type": "string",
696
+ "enum": [
697
+ "personal",
698
+ "collaborative"
699
+ ]
700
+ },
701
+ "lockedBy": {
702
+ "description": "User who locked the view configuration",
703
+ "type": "string"
704
+ }
705
+ },
706
+ "required": [
707
+ "type"
708
+ ],
709
+ "additionalProperties": false
710
+ },
711
+ "rowHeight": {
712
+ "description": "Row height / density setting",
713
+ "type": "string",
714
+ "enum": [
715
+ "compact",
716
+ "short",
717
+ "medium",
718
+ "tall",
719
+ "extra_tall"
720
+ ]
721
+ },
722
+ "grouping": {
723
+ "description": "Group records by one or more fields",
724
+ "type": "object",
725
+ "properties": {
726
+ "fields": {
727
+ "minItems": 1,
728
+ "type": "array",
729
+ "items": {
730
+ "type": "object",
731
+ "properties": {
732
+ "field": {
733
+ "type": "string",
734
+ "description": "Field name to group by"
735
+ },
736
+ "order": {
737
+ "default": "asc",
738
+ "description": "Group sort order",
739
+ "type": "string",
740
+ "enum": [
741
+ "asc",
742
+ "desc"
743
+ ]
744
+ },
745
+ "collapsed": {
746
+ "default": false,
747
+ "description": "Collapse groups by default",
748
+ "type": "boolean"
749
+ }
750
+ },
751
+ "required": [
752
+ "field",
753
+ "order",
754
+ "collapsed"
755
+ ],
756
+ "additionalProperties": false
757
+ },
758
+ "description": "Fields to group by (supports up to 3 levels)"
759
+ }
760
+ },
761
+ "required": [
762
+ "fields"
763
+ ],
764
+ "additionalProperties": false
765
+ },
766
+ "rowColor": {
767
+ "description": "Color rows based on field value",
768
+ "type": "object",
769
+ "properties": {
770
+ "field": {
771
+ "type": "string",
772
+ "description": "Field to derive color from (typically a select/status field)"
773
+ },
774
+ "colors": {
775
+ "description": "Map of field value to color (hex/token)",
776
+ "type": "object",
777
+ "propertyNames": {
778
+ "type": "string"
779
+ },
780
+ "additionalProperties": {
781
+ "type": "string"
782
+ }
783
+ }
784
+ },
785
+ "required": [
786
+ "field"
787
+ ],
788
+ "additionalProperties": false
789
+ },
790
+ "hiddenFields": {
791
+ "description": "Fields to hide in this specific view",
792
+ "type": "array",
793
+ "items": {
794
+ "type": "string"
795
+ }
796
+ },
797
+ "fieldOrder": {
798
+ "description": "Explicit field display order for this view",
799
+ "type": "array",
800
+ "items": {
801
+ "type": "string"
802
+ }
803
+ },
481
804
  "rowActions": {
482
805
  "description": "Actions available for individual row items",
483
806
  "type": "array",
@@ -546,16 +869,124 @@
546
869
  "type": "object",
547
870
  "properties": {
548
871
  "title": {
549
- "type": "string"
872
+ "anyOf": [
873
+ {
874
+ "type": "string"
875
+ },
876
+ {
877
+ "type": "object",
878
+ "properties": {
879
+ "key": {
880
+ "type": "string",
881
+ "description": "Translation key (e.g., \"views.task_list.label\")"
882
+ },
883
+ "defaultValue": {
884
+ "description": "Fallback value when translation key is not found",
885
+ "type": "string"
886
+ },
887
+ "params": {
888
+ "description": "Interpolation parameters (e.g., { count: 5 })",
889
+ "type": "object",
890
+ "propertyNames": {
891
+ "type": "string"
892
+ },
893
+ "additionalProperties": {}
894
+ }
895
+ },
896
+ "required": [
897
+ "key"
898
+ ],
899
+ "additionalProperties": false
900
+ }
901
+ ],
902
+ "description": "Display label: plain string or i18n translation object"
550
903
  },
551
904
  "message": {
552
- "type": "string"
905
+ "anyOf": [
906
+ {
907
+ "type": "string"
908
+ },
909
+ {
910
+ "type": "object",
911
+ "properties": {
912
+ "key": {
913
+ "type": "string",
914
+ "description": "Translation key (e.g., \"views.task_list.label\")"
915
+ },
916
+ "defaultValue": {
917
+ "description": "Fallback value when translation key is not found",
918
+ "type": "string"
919
+ },
920
+ "params": {
921
+ "description": "Interpolation parameters (e.g., { count: 5 })",
922
+ "type": "object",
923
+ "propertyNames": {
924
+ "type": "string"
925
+ },
926
+ "additionalProperties": {}
927
+ }
928
+ },
929
+ "required": [
930
+ "key"
931
+ ],
932
+ "additionalProperties": false
933
+ }
934
+ ],
935
+ "description": "Display label: plain string or i18n translation object"
553
936
  },
554
937
  "icon": {
555
938
  "type": "string"
556
939
  }
557
940
  },
558
941
  "additionalProperties": false
942
+ },
943
+ "aria": {
944
+ "description": "ARIA accessibility attributes for the list view",
945
+ "type": "object",
946
+ "properties": {
947
+ "ariaLabel": {
948
+ "description": "Accessible label for screen readers (WAI-ARIA aria-label)",
949
+ "anyOf": [
950
+ {
951
+ "type": "string"
952
+ },
953
+ {
954
+ "type": "object",
955
+ "properties": {
956
+ "key": {
957
+ "type": "string",
958
+ "description": "Translation key (e.g., \"views.task_list.label\")"
959
+ },
960
+ "defaultValue": {
961
+ "description": "Fallback value when translation key is not found",
962
+ "type": "string"
963
+ },
964
+ "params": {
965
+ "description": "Interpolation parameters (e.g., { count: 5 })",
966
+ "type": "object",
967
+ "propertyNames": {
968
+ "type": "string"
969
+ },
970
+ "additionalProperties": {}
971
+ }
972
+ },
973
+ "required": [
974
+ "key"
975
+ ],
976
+ "additionalProperties": false
977
+ }
978
+ ]
979
+ },
980
+ "ariaDescribedBy": {
981
+ "description": "ID of element providing additional description (WAI-ARIA aria-describedby)",
982
+ "type": "string"
983
+ },
984
+ "role": {
985
+ "description": "WAI-ARIA role attribute (e.g., \"dialog\", \"navigation\", \"alert\")",
986
+ "type": "string"
987
+ }
988
+ },
989
+ "additionalProperties": false
559
990
  }
560
991
  },
561
992
  "required": [
@@ -0,0 +1,108 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "code": {
6
+ "type": "string",
7
+ "description": "BCP 47 language code (e.g., \"en-US\", \"zh-CN\")"
8
+ },
9
+ "fallbackChain": {
10
+ "description": "Fallback language codes in priority order (e.g., [\"zh-TW\", \"en\"])",
11
+ "type": "array",
12
+ "items": {
13
+ "type": "string"
14
+ }
15
+ },
16
+ "direction": {
17
+ "default": "ltr",
18
+ "description": "Text direction: left-to-right or right-to-left",
19
+ "type": "string",
20
+ "enum": [
21
+ "ltr",
22
+ "rtl"
23
+ ]
24
+ },
25
+ "numberFormat": {
26
+ "description": "Default number formatting rules",
27
+ "type": "object",
28
+ "properties": {
29
+ "style": {
30
+ "default": "decimal",
31
+ "description": "Number formatting style",
32
+ "type": "string",
33
+ "enum": [
34
+ "decimal",
35
+ "currency",
36
+ "percent",
37
+ "unit"
38
+ ]
39
+ },
40
+ "currency": {
41
+ "description": "ISO 4217 currency code (e.g., \"USD\", \"EUR\")",
42
+ "type": "string"
43
+ },
44
+ "unit": {
45
+ "description": "Unit for unit formatting (e.g., \"kilometer\", \"liter\")",
46
+ "type": "string"
47
+ },
48
+ "minimumFractionDigits": {
49
+ "description": "Minimum number of fraction digits",
50
+ "type": "number"
51
+ },
52
+ "maximumFractionDigits": {
53
+ "description": "Maximum number of fraction digits",
54
+ "type": "number"
55
+ },
56
+ "useGrouping": {
57
+ "description": "Whether to use grouping separators (e.g., 1,000)",
58
+ "type": "boolean"
59
+ }
60
+ },
61
+ "required": [
62
+ "style"
63
+ ],
64
+ "additionalProperties": false
65
+ },
66
+ "dateFormat": {
67
+ "description": "Default date/time formatting rules",
68
+ "type": "object",
69
+ "properties": {
70
+ "dateStyle": {
71
+ "description": "Date display style",
72
+ "type": "string",
73
+ "enum": [
74
+ "full",
75
+ "long",
76
+ "medium",
77
+ "short"
78
+ ]
79
+ },
80
+ "timeStyle": {
81
+ "description": "Time display style",
82
+ "type": "string",
83
+ "enum": [
84
+ "full",
85
+ "long",
86
+ "medium",
87
+ "short"
88
+ ]
89
+ },
90
+ "timeZone": {
91
+ "description": "IANA time zone (e.g., \"America/New_York\")",
92
+ "type": "string"
93
+ },
94
+ "hour12": {
95
+ "description": "Use 12-hour format",
96
+ "type": "boolean"
97
+ }
98
+ },
99
+ "additionalProperties": false
100
+ }
101
+ },
102
+ "required": [
103
+ "code",
104
+ "direction"
105
+ ],
106
+ "additionalProperties": false,
107
+ "description": "Locale configuration"
108
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "duration": {
6
+ "default": 500,
7
+ "description": "Hold duration in milliseconds to trigger long press",
8
+ "type": "number"
9
+ },
10
+ "moveTolerance": {
11
+ "description": "Max movement in pixels allowed during press",
12
+ "type": "number"
13
+ }
14
+ },
15
+ "required": [
16
+ "duration"
17
+ ],
18
+ "additionalProperties": false,
19
+ "description": "Long press gesture recognition settings"
20
+ }