@objectstack/spec 2.0.6 → 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 (291) 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-B-u2mVKn.d.mts → index-CeUUI-ym.d.mts} +151 -14
  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-BjxWBAB_.d.ts → index-CmY8tgpL.d.ts} +151 -14
  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-CZjkpp75.d.mts +0 -3867
  289. package/dist/index-CgkjUheS.d.ts +0 -3867
  290. package/dist/{index-B08s7rEU.d.mts → index-DmhxH5jy.d.mts} +8 -8
  291. package/dist/{index-DqnBqATx.d.ts → index-y5JJvyML.d.ts} +8 -8
@@ -1547,6 +1547,333 @@
1547
1547
  }
1548
1548
  },
1549
1549
  "additionalProperties": false
1550
+ },
1551
+ "federation": {
1552
+ "description": "GraphQL Federation gateway configuration",
1553
+ "type": "object",
1554
+ "properties": {
1555
+ "enabled": {
1556
+ "default": false,
1557
+ "description": "Enable GraphQL Federation gateway mode",
1558
+ "type": "boolean"
1559
+ },
1560
+ "version": {
1561
+ "default": "v2",
1562
+ "description": "Federation specification version",
1563
+ "type": "string",
1564
+ "enum": [
1565
+ "v1",
1566
+ "v2"
1567
+ ]
1568
+ },
1569
+ "subgraphs": {
1570
+ "type": "array",
1571
+ "items": {
1572
+ "type": "object",
1573
+ "properties": {
1574
+ "name": {
1575
+ "type": "string",
1576
+ "description": "Unique subgraph identifier"
1577
+ },
1578
+ "url": {
1579
+ "type": "string",
1580
+ "description": "Subgraph endpoint URL"
1581
+ },
1582
+ "schemaSource": {
1583
+ "default": "introspection",
1584
+ "description": "How to obtain the subgraph schema",
1585
+ "type": "string",
1586
+ "enum": [
1587
+ "introspection",
1588
+ "file",
1589
+ "registry"
1590
+ ]
1591
+ },
1592
+ "schemaPath": {
1593
+ "description": "Path to schema file (SDL format)",
1594
+ "type": "string"
1595
+ },
1596
+ "entities": {
1597
+ "description": "Entity definitions for this subgraph",
1598
+ "type": "array",
1599
+ "items": {
1600
+ "type": "object",
1601
+ "properties": {
1602
+ "typeName": {
1603
+ "type": "string",
1604
+ "description": "GraphQL type name for this entity"
1605
+ },
1606
+ "keys": {
1607
+ "minItems": 1,
1608
+ "type": "array",
1609
+ "items": {
1610
+ "type": "object",
1611
+ "properties": {
1612
+ "fields": {
1613
+ "type": "string",
1614
+ "description": "Selection set of fields composing the entity key"
1615
+ },
1616
+ "resolvable": {
1617
+ "default": true,
1618
+ "description": "Whether entities can be resolved from this subgraph",
1619
+ "type": "boolean"
1620
+ }
1621
+ },
1622
+ "required": [
1623
+ "fields",
1624
+ "resolvable"
1625
+ ],
1626
+ "additionalProperties": false
1627
+ },
1628
+ "description": "Entity key definitions"
1629
+ },
1630
+ "externalFields": {
1631
+ "description": "Fields owned by other subgraphs",
1632
+ "type": "array",
1633
+ "items": {
1634
+ "type": "object",
1635
+ "properties": {
1636
+ "field": {
1637
+ "type": "string",
1638
+ "description": "Field name marked as external"
1639
+ },
1640
+ "ownerSubgraph": {
1641
+ "description": "Subgraph that owns this field",
1642
+ "type": "string"
1643
+ }
1644
+ },
1645
+ "required": [
1646
+ "field"
1647
+ ],
1648
+ "additionalProperties": false
1649
+ }
1650
+ },
1651
+ "requires": {
1652
+ "description": "Required external fields for computed fields",
1653
+ "type": "array",
1654
+ "items": {
1655
+ "type": "object",
1656
+ "properties": {
1657
+ "field": {
1658
+ "type": "string",
1659
+ "description": "Field with the requirement"
1660
+ },
1661
+ "fields": {
1662
+ "type": "string",
1663
+ "description": "Selection set of required fields (e.g., \"price weight\")"
1664
+ }
1665
+ },
1666
+ "required": [
1667
+ "field",
1668
+ "fields"
1669
+ ],
1670
+ "additionalProperties": false
1671
+ }
1672
+ },
1673
+ "provides": {
1674
+ "description": "Fields provided during resolution",
1675
+ "type": "array",
1676
+ "items": {
1677
+ "type": "object",
1678
+ "properties": {
1679
+ "field": {
1680
+ "type": "string",
1681
+ "description": "Field that provides additional entity fields"
1682
+ },
1683
+ "fields": {
1684
+ "type": "string",
1685
+ "description": "Selection set of provided fields (e.g., \"name price\")"
1686
+ }
1687
+ },
1688
+ "required": [
1689
+ "field",
1690
+ "fields"
1691
+ ],
1692
+ "additionalProperties": false
1693
+ }
1694
+ },
1695
+ "owner": {
1696
+ "default": false,
1697
+ "description": "Whether this subgraph is the owner of this entity",
1698
+ "type": "boolean"
1699
+ }
1700
+ },
1701
+ "required": [
1702
+ "typeName",
1703
+ "keys",
1704
+ "owner"
1705
+ ],
1706
+ "additionalProperties": false
1707
+ }
1708
+ },
1709
+ "healthCheck": {
1710
+ "description": "Subgraph health check configuration",
1711
+ "type": "object",
1712
+ "properties": {
1713
+ "enabled": {
1714
+ "default": true,
1715
+ "description": "Enable health checking",
1716
+ "type": "boolean"
1717
+ },
1718
+ "path": {
1719
+ "default": "/health",
1720
+ "description": "Health check endpoint path",
1721
+ "type": "string"
1722
+ },
1723
+ "intervalMs": {
1724
+ "default": 30000,
1725
+ "description": "Health check interval in milliseconds",
1726
+ "type": "integer",
1727
+ "minimum": 1000,
1728
+ "maximum": 9007199254740991
1729
+ }
1730
+ },
1731
+ "required": [
1732
+ "enabled",
1733
+ "path",
1734
+ "intervalMs"
1735
+ ],
1736
+ "additionalProperties": false
1737
+ },
1738
+ "forwardHeaders": {
1739
+ "description": "HTTP headers to forward to this subgraph",
1740
+ "type": "array",
1741
+ "items": {
1742
+ "type": "string"
1743
+ }
1744
+ }
1745
+ },
1746
+ "required": [
1747
+ "name",
1748
+ "url",
1749
+ "schemaSource"
1750
+ ],
1751
+ "additionalProperties": false
1752
+ },
1753
+ "description": "Subgraph configurations"
1754
+ },
1755
+ "serviceDiscovery": {
1756
+ "description": "Service discovery configuration",
1757
+ "type": "object",
1758
+ "properties": {
1759
+ "type": {
1760
+ "default": "static",
1761
+ "description": "Service discovery method",
1762
+ "type": "string",
1763
+ "enum": [
1764
+ "static",
1765
+ "dns",
1766
+ "consul",
1767
+ "kubernetes"
1768
+ ]
1769
+ },
1770
+ "pollIntervalMs": {
1771
+ "description": "Discovery poll interval in milliseconds",
1772
+ "type": "integer",
1773
+ "minimum": 1000,
1774
+ "maximum": 9007199254740991
1775
+ },
1776
+ "namespace": {
1777
+ "description": "Kubernetes namespace for subgraph discovery",
1778
+ "type": "string"
1779
+ }
1780
+ },
1781
+ "required": [
1782
+ "type"
1783
+ ],
1784
+ "additionalProperties": false
1785
+ },
1786
+ "queryPlanning": {
1787
+ "description": "Query planning configuration",
1788
+ "type": "object",
1789
+ "properties": {
1790
+ "strategy": {
1791
+ "default": "parallel",
1792
+ "description": "Query execution strategy across subgraphs",
1793
+ "type": "string",
1794
+ "enum": [
1795
+ "parallel",
1796
+ "sequential",
1797
+ "adaptive"
1798
+ ]
1799
+ },
1800
+ "maxDepth": {
1801
+ "description": "Max query depth in federated execution",
1802
+ "type": "integer",
1803
+ "minimum": 1,
1804
+ "maximum": 9007199254740991
1805
+ },
1806
+ "dryRun": {
1807
+ "default": false,
1808
+ "description": "Log query plans without executing",
1809
+ "type": "boolean"
1810
+ }
1811
+ },
1812
+ "required": [
1813
+ "strategy",
1814
+ "dryRun"
1815
+ ],
1816
+ "additionalProperties": false
1817
+ },
1818
+ "composition": {
1819
+ "description": "Schema composition configuration",
1820
+ "type": "object",
1821
+ "properties": {
1822
+ "conflictResolution": {
1823
+ "default": "error",
1824
+ "description": "Strategy for resolving schema conflicts",
1825
+ "type": "string",
1826
+ "enum": [
1827
+ "error",
1828
+ "first_wins",
1829
+ "last_wins"
1830
+ ]
1831
+ },
1832
+ "validate": {
1833
+ "default": true,
1834
+ "description": "Validate composed supergraph schema",
1835
+ "type": "boolean"
1836
+ }
1837
+ },
1838
+ "required": [
1839
+ "conflictResolution",
1840
+ "validate"
1841
+ ],
1842
+ "additionalProperties": false
1843
+ },
1844
+ "errorHandling": {
1845
+ "description": "Error handling configuration",
1846
+ "type": "object",
1847
+ "properties": {
1848
+ "includeSubgraphName": {
1849
+ "default": false,
1850
+ "description": "Include subgraph name in error responses",
1851
+ "type": "boolean"
1852
+ },
1853
+ "partialErrors": {
1854
+ "default": "propagate",
1855
+ "description": "Behavior when a subgraph returns partial errors",
1856
+ "type": "string",
1857
+ "enum": [
1858
+ "propagate",
1859
+ "nullify",
1860
+ "reject"
1861
+ ]
1862
+ }
1863
+ },
1864
+ "required": [
1865
+ "includeSubgraphName",
1866
+ "partialErrors"
1867
+ ],
1868
+ "additionalProperties": false
1869
+ }
1870
+ },
1871
+ "required": [
1872
+ "enabled",
1873
+ "version",
1874
+ "subgraphs"
1875
+ ],
1876
+ "additionalProperties": false
1550
1877
  }
1551
1878
  },
1552
1879
  "required": [
@@ -0,0 +1,84 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "filterArgName": {
6
+ "default": "where",
7
+ "description": "GraphQL filter argument name",
8
+ "type": "string"
9
+ },
10
+ "filterStyle": {
11
+ "default": "nested",
12
+ "description": "GraphQL filter nesting style",
13
+ "type": "string",
14
+ "enum": [
15
+ "nested",
16
+ "flat",
17
+ "array"
18
+ ]
19
+ },
20
+ "pagination": {
21
+ "description": "Pagination argument name mappings",
22
+ "type": "object",
23
+ "properties": {
24
+ "limitArg": {
25
+ "default": "limit",
26
+ "description": "Page size argument name",
27
+ "type": "string"
28
+ },
29
+ "offsetArg": {
30
+ "default": "offset",
31
+ "description": "Offset argument name",
32
+ "type": "string"
33
+ },
34
+ "firstArg": {
35
+ "default": "first",
36
+ "description": "Relay \"first\" argument name",
37
+ "type": "string"
38
+ },
39
+ "afterArg": {
40
+ "default": "after",
41
+ "description": "Relay \"after\" cursor argument name",
42
+ "type": "string"
43
+ }
44
+ },
45
+ "required": [
46
+ "limitArg",
47
+ "offsetArg",
48
+ "firstArg",
49
+ "afterArg"
50
+ ],
51
+ "additionalProperties": false
52
+ },
53
+ "sorting": {
54
+ "description": "Sort argument mapping",
55
+ "type": "object",
56
+ "properties": {
57
+ "argName": {
58
+ "default": "orderBy",
59
+ "description": "Sort argument name",
60
+ "type": "string"
61
+ },
62
+ "format": {
63
+ "default": "enum",
64
+ "description": "Sort argument format",
65
+ "type": "string",
66
+ "enum": [
67
+ "enum",
68
+ "array"
69
+ ]
70
+ }
71
+ },
72
+ "required": [
73
+ "argName",
74
+ "format"
75
+ ],
76
+ "additionalProperties": false
77
+ }
78
+ },
79
+ "required": [
80
+ "filterArgName",
81
+ "filterStyle"
82
+ ],
83
+ "additionalProperties": false
84
+ }
@@ -388,6 +388,32 @@
388
388
  ],
389
389
  "additionalProperties": false
390
390
  }
391
+ },
392
+ "commands": {
393
+ "description": "CLI command contributions",
394
+ "type": "array",
395
+ "items": {
396
+ "type": "object",
397
+ "properties": {
398
+ "name": {
399
+ "type": "string",
400
+ "pattern": "^[a-z][a-z0-9-]*$",
401
+ "description": "CLI command name"
402
+ },
403
+ "description": {
404
+ "description": "Command description for help text",
405
+ "type": "string"
406
+ },
407
+ "module": {
408
+ "description": "Module path exporting Commander.js commands",
409
+ "type": "string"
410
+ }
411
+ },
412
+ "required": [
413
+ "name"
414
+ ],
415
+ "additionalProperties": false
416
+ }
391
417
  }
392
418
  },
393
419
  "additionalProperties": false
@@ -391,6 +391,32 @@
391
391
  ],
392
392
  "additionalProperties": false
393
393
  }
394
+ },
395
+ "commands": {
396
+ "description": "CLI command contributions",
397
+ "type": "array",
398
+ "items": {
399
+ "type": "object",
400
+ "properties": {
401
+ "name": {
402
+ "type": "string",
403
+ "pattern": "^[a-z][a-z0-9-]*$",
404
+ "description": "CLI command name"
405
+ },
406
+ "description": {
407
+ "description": "Command description for help text",
408
+ "type": "string"
409
+ },
410
+ "module": {
411
+ "description": "Module path exporting Commander.js commands",
412
+ "type": "string"
413
+ }
414
+ },
415
+ "required": [
416
+ "name"
417
+ ],
418
+ "additionalProperties": false
419
+ }
394
420
  }
395
421
  },
396
422
  "additionalProperties": false
@@ -393,6 +393,32 @@
393
393
  ],
394
394
  "additionalProperties": false
395
395
  }
396
+ },
397
+ "commands": {
398
+ "description": "CLI command contributions",
399
+ "type": "array",
400
+ "items": {
401
+ "type": "object",
402
+ "properties": {
403
+ "name": {
404
+ "type": "string",
405
+ "pattern": "^[a-z][a-z0-9-]*$",
406
+ "description": "CLI command name"
407
+ },
408
+ "description": {
409
+ "description": "Command description for help text",
410
+ "type": "string"
411
+ },
412
+ "module": {
413
+ "description": "Module path exporting Commander.js commands",
414
+ "type": "string"
415
+ }
416
+ },
417
+ "required": [
418
+ "name"
419
+ ],
420
+ "additionalProperties": false
421
+ }
396
422
  }
397
423
  },
398
424
  "additionalProperties": false
@@ -0,0 +1,66 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "version": {
6
+ "default": "v4",
7
+ "description": "OData version",
8
+ "type": "string",
9
+ "enum": [
10
+ "v2",
11
+ "v4"
12
+ ]
13
+ },
14
+ "usePrefix": {
15
+ "default": true,
16
+ "description": "Use $ prefix for system query options ($filter vs filter)",
17
+ "type": "boolean"
18
+ },
19
+ "stringFunctions": {
20
+ "description": "Supported OData string functions",
21
+ "type": "array",
22
+ "items": {
23
+ "type": "string",
24
+ "enum": [
25
+ "contains",
26
+ "startswith",
27
+ "endswith",
28
+ "tolower",
29
+ "toupper",
30
+ "trim",
31
+ "concat",
32
+ "substring",
33
+ "length"
34
+ ]
35
+ }
36
+ },
37
+ "expand": {
38
+ "description": "$expand configuration",
39
+ "type": "object",
40
+ "properties": {
41
+ "enabled": {
42
+ "default": true,
43
+ "description": "Enable $expand support",
44
+ "type": "boolean"
45
+ },
46
+ "maxDepth": {
47
+ "default": 3,
48
+ "description": "Maximum expand depth",
49
+ "type": "integer",
50
+ "minimum": 1,
51
+ "maximum": 9007199254740991
52
+ }
53
+ },
54
+ "required": [
55
+ "enabled",
56
+ "maxDepth"
57
+ ],
58
+ "additionalProperties": false
59
+ }
60
+ },
61
+ "required": [
62
+ "version",
63
+ "usePrefix"
64
+ ],
65
+ "additionalProperties": false
66
+ }