@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
@@ -471,6 +471,145 @@
471
471
  "nameTransform"
472
472
  ],
473
473
  "additionalProperties": false
474
+ },
475
+ "openApi31": {
476
+ "description": "OpenAPI 3.1 extensions configuration",
477
+ "type": "object",
478
+ "properties": {
479
+ "webhooks": {
480
+ "description": "OpenAPI 3.1 webhooks (top-level webhook definitions)",
481
+ "type": "object",
482
+ "propertyNames": {
483
+ "type": "string"
484
+ },
485
+ "additionalProperties": {
486
+ "type": "object",
487
+ "properties": {
488
+ "name": {
489
+ "type": "string",
490
+ "pattern": "^[a-z_][a-z0-9_]*$",
491
+ "description": "Webhook event identifier (snake_case)"
492
+ },
493
+ "description": {
494
+ "type": "string",
495
+ "description": "Human-readable event description"
496
+ },
497
+ "method": {
498
+ "default": "POST",
499
+ "description": "HTTP method for webhook delivery",
500
+ "type": "string",
501
+ "enum": [
502
+ "GET",
503
+ "POST",
504
+ "PUT",
505
+ "DELETE",
506
+ "PATCH",
507
+ "HEAD",
508
+ "OPTIONS"
509
+ ]
510
+ },
511
+ "payloadSchema": {
512
+ "type": "string",
513
+ "description": "JSON Schema $ref for the webhook payload"
514
+ },
515
+ "headers": {
516
+ "description": "Custom headers to include in webhook delivery",
517
+ "type": "object",
518
+ "propertyNames": {
519
+ "type": "string"
520
+ },
521
+ "additionalProperties": {
522
+ "type": "string"
523
+ }
524
+ },
525
+ "security": {
526
+ "type": "array",
527
+ "items": {
528
+ "type": "string",
529
+ "enum": [
530
+ "hmac_sha256",
531
+ "basic",
532
+ "bearer",
533
+ "api_key"
534
+ ]
535
+ },
536
+ "description": "Supported authentication methods for webhook verification"
537
+ }
538
+ },
539
+ "required": [
540
+ "name",
541
+ "description",
542
+ "method",
543
+ "payloadSchema",
544
+ "security"
545
+ ],
546
+ "additionalProperties": false
547
+ }
548
+ },
549
+ "callbacks": {
550
+ "description": "OpenAPI 3.1 callbacks (async response definitions)",
551
+ "type": "object",
552
+ "propertyNames": {
553
+ "type": "string"
554
+ },
555
+ "additionalProperties": {
556
+ "type": "array",
557
+ "items": {
558
+ "type": "object",
559
+ "properties": {
560
+ "name": {
561
+ "type": "string",
562
+ "pattern": "^[a-z_][a-z0-9_]*$",
563
+ "description": "Callback identifier (snake_case)"
564
+ },
565
+ "expression": {
566
+ "type": "string",
567
+ "description": "Runtime expression (e.g., {$request.body#/callbackUrl})"
568
+ },
569
+ "method": {
570
+ "type": "string",
571
+ "enum": [
572
+ "GET",
573
+ "POST",
574
+ "PUT",
575
+ "DELETE",
576
+ "PATCH",
577
+ "HEAD",
578
+ "OPTIONS"
579
+ ],
580
+ "description": "HTTP method for callback request"
581
+ },
582
+ "url": {
583
+ "type": "string",
584
+ "description": "Callback URL template with runtime expressions"
585
+ }
586
+ },
587
+ "required": [
588
+ "name",
589
+ "expression",
590
+ "method",
591
+ "url"
592
+ ],
593
+ "additionalProperties": false
594
+ }
595
+ }
596
+ },
597
+ "jsonSchemaDialect": {
598
+ "default": "https://json-schema.org/draft/2020-12/schema",
599
+ "description": "JSON Schema dialect for schema definitions",
600
+ "type": "string"
601
+ },
602
+ "pathItemReferences": {
603
+ "default": false,
604
+ "description": "Allow $ref in path items (OpenAPI 3.1 feature)",
605
+ "type": "boolean"
606
+ }
607
+ },
608
+ "required": [
609
+ "jsonSchemaDialect",
610
+ "pathItemReferences"
611
+ ],
612
+ "additionalProperties": false
474
613
  }
475
614
  },
476
615
  "additionalProperties": false
@@ -0,0 +1,183 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "name": {
6
+ "type": "string",
7
+ "description": "Unique subgraph identifier"
8
+ },
9
+ "url": {
10
+ "type": "string",
11
+ "description": "Subgraph endpoint URL"
12
+ },
13
+ "schemaSource": {
14
+ "default": "introspection",
15
+ "description": "How to obtain the subgraph schema",
16
+ "type": "string",
17
+ "enum": [
18
+ "introspection",
19
+ "file",
20
+ "registry"
21
+ ]
22
+ },
23
+ "schemaPath": {
24
+ "description": "Path to schema file (SDL format)",
25
+ "type": "string"
26
+ },
27
+ "entities": {
28
+ "description": "Entity definitions for this subgraph",
29
+ "type": "array",
30
+ "items": {
31
+ "type": "object",
32
+ "properties": {
33
+ "typeName": {
34
+ "type": "string",
35
+ "description": "GraphQL type name for this entity"
36
+ },
37
+ "keys": {
38
+ "minItems": 1,
39
+ "type": "array",
40
+ "items": {
41
+ "type": "object",
42
+ "properties": {
43
+ "fields": {
44
+ "type": "string",
45
+ "description": "Selection set of fields composing the entity key"
46
+ },
47
+ "resolvable": {
48
+ "default": true,
49
+ "description": "Whether entities can be resolved from this subgraph",
50
+ "type": "boolean"
51
+ }
52
+ },
53
+ "required": [
54
+ "fields",
55
+ "resolvable"
56
+ ],
57
+ "additionalProperties": false
58
+ },
59
+ "description": "Entity key definitions"
60
+ },
61
+ "externalFields": {
62
+ "description": "Fields owned by other subgraphs",
63
+ "type": "array",
64
+ "items": {
65
+ "type": "object",
66
+ "properties": {
67
+ "field": {
68
+ "type": "string",
69
+ "description": "Field name marked as external"
70
+ },
71
+ "ownerSubgraph": {
72
+ "description": "Subgraph that owns this field",
73
+ "type": "string"
74
+ }
75
+ },
76
+ "required": [
77
+ "field"
78
+ ],
79
+ "additionalProperties": false
80
+ }
81
+ },
82
+ "requires": {
83
+ "description": "Required external fields for computed fields",
84
+ "type": "array",
85
+ "items": {
86
+ "type": "object",
87
+ "properties": {
88
+ "field": {
89
+ "type": "string",
90
+ "description": "Field with the requirement"
91
+ },
92
+ "fields": {
93
+ "type": "string",
94
+ "description": "Selection set of required fields (e.g., \"price weight\")"
95
+ }
96
+ },
97
+ "required": [
98
+ "field",
99
+ "fields"
100
+ ],
101
+ "additionalProperties": false
102
+ }
103
+ },
104
+ "provides": {
105
+ "description": "Fields provided during resolution",
106
+ "type": "array",
107
+ "items": {
108
+ "type": "object",
109
+ "properties": {
110
+ "field": {
111
+ "type": "string",
112
+ "description": "Field that provides additional entity fields"
113
+ },
114
+ "fields": {
115
+ "type": "string",
116
+ "description": "Selection set of provided fields (e.g., \"name price\")"
117
+ }
118
+ },
119
+ "required": [
120
+ "field",
121
+ "fields"
122
+ ],
123
+ "additionalProperties": false
124
+ }
125
+ },
126
+ "owner": {
127
+ "default": false,
128
+ "description": "Whether this subgraph is the owner of this entity",
129
+ "type": "boolean"
130
+ }
131
+ },
132
+ "required": [
133
+ "typeName",
134
+ "keys",
135
+ "owner"
136
+ ],
137
+ "additionalProperties": false
138
+ }
139
+ },
140
+ "healthCheck": {
141
+ "description": "Subgraph health check configuration",
142
+ "type": "object",
143
+ "properties": {
144
+ "enabled": {
145
+ "default": true,
146
+ "description": "Enable health checking",
147
+ "type": "boolean"
148
+ },
149
+ "path": {
150
+ "default": "/health",
151
+ "description": "Health check endpoint path",
152
+ "type": "string"
153
+ },
154
+ "intervalMs": {
155
+ "default": 30000,
156
+ "description": "Health check interval in milliseconds",
157
+ "type": "integer",
158
+ "minimum": 1000,
159
+ "maximum": 9007199254740991
160
+ }
161
+ },
162
+ "required": [
163
+ "enabled",
164
+ "path",
165
+ "intervalMs"
166
+ ],
167
+ "additionalProperties": false
168
+ },
169
+ "forwardHeaders": {
170
+ "description": "HTTP headers to forward to this subgraph",
171
+ "type": "array",
172
+ "items": {
173
+ "type": "string"
174
+ }
175
+ }
176
+ },
177
+ "required": [
178
+ "name",
179
+ "url",
180
+ "schemaSource"
181
+ ],
182
+ "additionalProperties": false
183
+ }
@@ -0,0 +1,129 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "enabled": {
6
+ "default": false,
7
+ "description": "Enable webhook support",
8
+ "type": "boolean"
9
+ },
10
+ "events": {
11
+ "type": "array",
12
+ "items": {
13
+ "type": "object",
14
+ "properties": {
15
+ "name": {
16
+ "type": "string",
17
+ "pattern": "^[a-z_][a-z0-9_]*$",
18
+ "description": "Webhook event identifier (snake_case)"
19
+ },
20
+ "description": {
21
+ "type": "string",
22
+ "description": "Human-readable event description"
23
+ },
24
+ "method": {
25
+ "default": "POST",
26
+ "description": "HTTP method for webhook delivery",
27
+ "type": "string",
28
+ "enum": [
29
+ "GET",
30
+ "POST",
31
+ "PUT",
32
+ "DELETE",
33
+ "PATCH",
34
+ "HEAD",
35
+ "OPTIONS"
36
+ ]
37
+ },
38
+ "payloadSchema": {
39
+ "type": "string",
40
+ "description": "JSON Schema $ref for the webhook payload"
41
+ },
42
+ "headers": {
43
+ "description": "Custom headers to include in webhook delivery",
44
+ "type": "object",
45
+ "propertyNames": {
46
+ "type": "string"
47
+ },
48
+ "additionalProperties": {
49
+ "type": "string"
50
+ }
51
+ },
52
+ "security": {
53
+ "type": "array",
54
+ "items": {
55
+ "type": "string",
56
+ "enum": [
57
+ "hmac_sha256",
58
+ "basic",
59
+ "bearer",
60
+ "api_key"
61
+ ]
62
+ },
63
+ "description": "Supported authentication methods for webhook verification"
64
+ }
65
+ },
66
+ "required": [
67
+ "name",
68
+ "description",
69
+ "method",
70
+ "payloadSchema",
71
+ "security"
72
+ ],
73
+ "additionalProperties": false
74
+ },
75
+ "description": "Registered webhook events"
76
+ },
77
+ "deliveryConfig": {
78
+ "type": "object",
79
+ "properties": {
80
+ "maxRetries": {
81
+ "default": 3,
82
+ "description": "Maximum delivery retry attempts",
83
+ "type": "integer",
84
+ "minimum": -9007199254740991,
85
+ "maximum": 9007199254740991
86
+ },
87
+ "retryIntervalMs": {
88
+ "default": 5000,
89
+ "description": "Milliseconds between retry attempts",
90
+ "type": "integer",
91
+ "minimum": -9007199254740991,
92
+ "maximum": 9007199254740991
93
+ },
94
+ "timeoutMs": {
95
+ "default": 30000,
96
+ "description": "Delivery request timeout in milliseconds",
97
+ "type": "integer",
98
+ "minimum": -9007199254740991,
99
+ "maximum": 9007199254740991
100
+ },
101
+ "signatureHeader": {
102
+ "default": "X-Signature-256",
103
+ "description": "Header name for webhook signature",
104
+ "type": "string"
105
+ }
106
+ },
107
+ "required": [
108
+ "maxRetries",
109
+ "retryIntervalMs",
110
+ "timeoutMs",
111
+ "signatureHeader"
112
+ ],
113
+ "additionalProperties": false,
114
+ "description": "Webhook delivery configuration"
115
+ },
116
+ "registrationEndpoint": {
117
+ "default": "/webhooks",
118
+ "description": "URL path for webhook registration",
119
+ "type": "string"
120
+ }
121
+ },
122
+ "required": [
123
+ "enabled",
124
+ "events",
125
+ "deliveryConfig",
126
+ "registrationEndpoint"
127
+ ],
128
+ "additionalProperties": false
129
+ }
@@ -0,0 +1,64 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "name": {
6
+ "type": "string",
7
+ "pattern": "^[a-z_][a-z0-9_]*$",
8
+ "description": "Webhook event identifier (snake_case)"
9
+ },
10
+ "description": {
11
+ "type": "string",
12
+ "description": "Human-readable event description"
13
+ },
14
+ "method": {
15
+ "default": "POST",
16
+ "description": "HTTP method for webhook delivery",
17
+ "type": "string",
18
+ "enum": [
19
+ "GET",
20
+ "POST",
21
+ "PUT",
22
+ "DELETE",
23
+ "PATCH",
24
+ "HEAD",
25
+ "OPTIONS"
26
+ ]
27
+ },
28
+ "payloadSchema": {
29
+ "type": "string",
30
+ "description": "JSON Schema $ref for the webhook payload"
31
+ },
32
+ "headers": {
33
+ "description": "Custom headers to include in webhook delivery",
34
+ "type": "object",
35
+ "propertyNames": {
36
+ "type": "string"
37
+ },
38
+ "additionalProperties": {
39
+ "type": "string"
40
+ }
41
+ },
42
+ "security": {
43
+ "type": "array",
44
+ "items": {
45
+ "type": "string",
46
+ "enum": [
47
+ "hmac_sha256",
48
+ "basic",
49
+ "bearer",
50
+ "api_key"
51
+ ]
52
+ },
53
+ "description": "Supported authentication methods for webhook verification"
54
+ }
55
+ },
56
+ "required": [
57
+ "name",
58
+ "description",
59
+ "method",
60
+ "payloadSchema",
61
+ "security"
62
+ ],
63
+ "additionalProperties": false
64
+ }
@@ -331,6 +331,134 @@
331
331
  "requestsPerSecond"
332
332
  ],
333
333
  "additionalProperties": false
334
+ },
335
+ "retry": {
336
+ "description": "Retry configuration with exponential backoff",
337
+ "type": "object",
338
+ "properties": {
339
+ "maxRetries": {
340
+ "default": 3,
341
+ "description": "Maximum retry attempts",
342
+ "type": "number",
343
+ "minimum": 0
344
+ },
345
+ "initialDelayMs": {
346
+ "default": 1000,
347
+ "description": "Initial retry delay in milliseconds",
348
+ "type": "number"
349
+ },
350
+ "maxDelayMs": {
351
+ "default": 30000,
352
+ "description": "Maximum retry delay in milliseconds",
353
+ "type": "number"
354
+ },
355
+ "backoffMultiplier": {
356
+ "default": 2,
357
+ "description": "Exponential backoff multiplier",
358
+ "type": "number"
359
+ },
360
+ "retryableStatusCodes": {
361
+ "default": [
362
+ 429,
363
+ 500,
364
+ 502,
365
+ 503,
366
+ 504
367
+ ],
368
+ "description": "HTTP status codes that are retryable",
369
+ "type": "array",
370
+ "items": {
371
+ "type": "number"
372
+ }
373
+ }
374
+ },
375
+ "required": [
376
+ "maxRetries",
377
+ "initialDelayMs",
378
+ "maxDelayMs",
379
+ "backoffMultiplier",
380
+ "retryableStatusCodes"
381
+ ],
382
+ "additionalProperties": false
383
+ },
384
+ "transform": {
385
+ "description": "Request/response transformation pipeline",
386
+ "type": "object",
387
+ "properties": {
388
+ "request": {
389
+ "description": "Request transformation",
390
+ "type": "object",
391
+ "properties": {
392
+ "headers": {
393
+ "description": "Additional request headers",
394
+ "type": "object",
395
+ "propertyNames": {
396
+ "type": "string"
397
+ },
398
+ "additionalProperties": {
399
+ "type": "string"
400
+ }
401
+ },
402
+ "queryParams": {
403
+ "description": "Additional query parameters",
404
+ "type": "object",
405
+ "propertyNames": {
406
+ "type": "string"
407
+ },
408
+ "additionalProperties": {
409
+ "type": "string"
410
+ }
411
+ }
412
+ },
413
+ "additionalProperties": false
414
+ },
415
+ "response": {
416
+ "description": "Response transformation",
417
+ "type": "object",
418
+ "properties": {
419
+ "dataPath": {
420
+ "description": "JSONPath to extract data (e.g., \"$.data.results\")",
421
+ "type": "string"
422
+ },
423
+ "totalPath": {
424
+ "description": "JSONPath to extract total count (e.g., \"$.meta.total\")",
425
+ "type": "string"
426
+ }
427
+ },
428
+ "additionalProperties": false
429
+ }
430
+ },
431
+ "additionalProperties": false
432
+ },
433
+ "pagination": {
434
+ "description": "Pagination configuration for external data",
435
+ "type": "object",
436
+ "properties": {
437
+ "type": {
438
+ "default": "offset",
439
+ "description": "Pagination type",
440
+ "type": "string",
441
+ "enum": [
442
+ "offset",
443
+ "cursor",
444
+ "page"
445
+ ]
446
+ },
447
+ "pageSize": {
448
+ "default": 100,
449
+ "description": "Items per page",
450
+ "type": "number"
451
+ },
452
+ "maxPages": {
453
+ "description": "Maximum number of pages to fetch",
454
+ "type": "number"
455
+ }
456
+ },
457
+ "required": [
458
+ "type",
459
+ "pageSize"
460
+ ],
461
+ "additionalProperties": false
334
462
  }
335
463
  },
336
464
  "required": [
@@ -0,0 +1,41 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "method": {
6
+ "type": "string",
7
+ "enum": [
8
+ "POST",
9
+ "PUT",
10
+ "PATCH",
11
+ "DELETE"
12
+ ],
13
+ "description": "HTTP method for the bulk operation"
14
+ },
15
+ "path": {
16
+ "type": "string",
17
+ "description": "Resource endpoint path (e.g. /Users, /Groups/{id})"
18
+ },
19
+ "bulkId": {
20
+ "description": "Client-assigned ID for cross-referencing between operations",
21
+ "type": "string"
22
+ },
23
+ "data": {
24
+ "description": "Request body for POST/PUT/PATCH operations",
25
+ "type": "object",
26
+ "propertyNames": {
27
+ "type": "string"
28
+ },
29
+ "additionalProperties": {}
30
+ },
31
+ "version": {
32
+ "description": "ETag for optimistic concurrency control",
33
+ "type": "string"
34
+ }
35
+ },
36
+ "required": [
37
+ "method",
38
+ "path"
39
+ ],
40
+ "additionalProperties": false
41
+ }