@objectstack/spec 0.8.2 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/README.md +58 -4
  2. package/dist/ai/devops-agent.zod.d.ts +1 -1
  3. package/dist/ai/feedback-loop.zod.d.ts +4293 -0
  4. package/dist/ai/feedback-loop.zod.d.ts.map +1 -0
  5. package/dist/ai/feedback-loop.zod.js +53 -0
  6. package/dist/ai/index.d.ts +1 -0
  7. package/dist/ai/index.d.ts.map +1 -1
  8. package/dist/ai/index.js +1 -0
  9. package/dist/api/documentation.zod.d.ts +1073 -0
  10. package/dist/api/documentation.zod.d.ts.map +1 -0
  11. package/dist/api/documentation.zod.js +487 -0
  12. package/dist/api/errors.zod.d.ts +6 -6
  13. package/dist/api/graphql.zod.d.ts +3 -3
  14. package/dist/api/hub.zod.d.ts +5239 -0
  15. package/dist/api/hub.zod.d.ts.map +1 -0
  16. package/dist/api/hub.zod.js +784 -0
  17. package/dist/api/index.d.ts +4 -0
  18. package/dist/api/index.d.ts.map +1 -1
  19. package/dist/api/index.js +4 -0
  20. package/dist/api/odata.zod.d.ts +1 -1
  21. package/dist/api/registry.example.d.ts +411 -0
  22. package/dist/api/registry.example.d.ts.map +1 -0
  23. package/dist/api/registry.example.js +470 -0
  24. package/dist/api/registry.zod.d.ts +2095 -0
  25. package/dist/api/registry.zod.d.ts.map +1 -0
  26. package/dist/api/registry.zod.js +755 -0
  27. package/dist/api/websocket.zod.d.ts +8 -8
  28. package/dist/auth/scim.zod.d.ts +3 -3
  29. package/dist/automation/flow.zod.d.ts +3 -3
  30. package/dist/contracts/index.d.ts +1 -0
  31. package/dist/contracts/index.d.ts.map +1 -1
  32. package/dist/contracts/index.js +1 -0
  33. package/dist/contracts/schema-driver.d.ts +21 -0
  34. package/dist/contracts/schema-driver.d.ts.map +1 -0
  35. package/dist/contracts/schema-driver.js +2 -0
  36. package/dist/hub/composer.zod.d.ts +226 -0
  37. package/dist/hub/composer.zod.d.ts.map +1 -1
  38. package/dist/hub/hub-federation.zod.d.ts +764 -0
  39. package/dist/hub/hub-federation.zod.d.ts.map +1 -0
  40. package/dist/hub/hub-federation.zod.js +441 -0
  41. package/dist/hub/index.d.ts +2 -0
  42. package/dist/hub/index.d.ts.map +1 -1
  43. package/dist/hub/index.js +3 -0
  44. package/dist/hub/plugin-security.zod.d.ts +1029 -0
  45. package/dist/hub/plugin-security.zod.d.ts.map +1 -0
  46. package/dist/hub/plugin-security.zod.js +637 -0
  47. package/dist/index.d.ts +1 -0
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +2 -1
  50. package/dist/integration/connector/vercel.zod.d.ts +2 -2
  51. package/dist/qa/index.d.ts +11 -0
  52. package/dist/qa/index.d.ts.map +1 -0
  53. package/dist/qa/index.js +26 -0
  54. package/dist/qa/testing.zod.d.ts +345 -0
  55. package/dist/qa/testing.zod.d.ts.map +1 -0
  56. package/dist/qa/testing.zod.js +69 -0
  57. package/dist/stack.zod.d.ts +3395 -596
  58. package/dist/stack.zod.d.ts.map +1 -1
  59. package/dist/stack.zod.js +20 -2
  60. package/dist/system/index.d.ts +2 -0
  61. package/dist/system/index.d.ts.map +1 -1
  62. package/dist/system/index.js +2 -0
  63. package/dist/system/manifest.zod.d.ts +226 -0
  64. package/dist/system/manifest.zod.d.ts.map +1 -1
  65. package/dist/system/manifest.zod.js +8 -0
  66. package/dist/system/message-queue.zod.d.ts +2 -2
  67. package/dist/system/metadata-loader.zod.d.ts +1 -1
  68. package/dist/system/migration.zod.d.ts +4205 -0
  69. package/dist/system/migration.zod.d.ts.map +1 -0
  70. package/dist/system/migration.zod.js +70 -0
  71. package/dist/system/plugin-loading.zod.d.ts +575 -0
  72. package/dist/system/plugin-loading.zod.d.ts.map +1 -0
  73. package/dist/system/plugin-loading.zod.js +612 -0
  74. package/json-schema/ai/FeedbackLoop.json +7 -0
  75. package/json-schema/ai/Issue.json +7 -0
  76. package/json-schema/ai/MetadataSource.json +7 -0
  77. package/json-schema/ai/Resolution.json +7 -0
  78. package/json-schema/api/ApiChangelogEntry.json +7 -0
  79. package/json-schema/api/ApiDiscoveryQuery.json +7 -0
  80. package/json-schema/api/ApiDiscoveryResponse.json +7 -0
  81. package/json-schema/api/ApiDocumentationConfig.json +7 -0
  82. package/json-schema/api/ApiEndpointRegistration.json +7 -0
  83. package/json-schema/api/ApiMetadata.json +7 -0
  84. package/json-schema/api/ApiParameter.json +7 -0
  85. package/json-schema/api/ApiProtocolType.json +7 -0
  86. package/json-schema/api/ApiRegistry.json +7 -0
  87. package/json-schema/api/ApiRegistryEntry.json +7 -0
  88. package/json-schema/api/ApiResponse.json +7 -0
  89. package/json-schema/api/ApiTestCollection.json +7 -0
  90. package/json-schema/api/ApiTestRequest.json +7 -0
  91. package/json-schema/api/ApiTestingUiConfig.json +7 -0
  92. package/json-schema/api/ApiTestingUiType.json +7 -0
  93. package/json-schema/api/BuildStatusResponse.json +7 -0
  94. package/json-schema/api/CodeGenerationTemplate.json +7 -0
  95. package/json-schema/api/CompileManifestRequest.json +7 -0
  96. package/json-schema/api/CompileManifestResponse.json +7 -0
  97. package/json-schema/api/ConflictResolutionStrategy.json +7 -0
  98. package/json-schema/api/CreateSpaceRequest.json +7 -0
  99. package/json-schema/api/CreateTenantRequest.json +7 -0
  100. package/json-schema/api/GeneratedApiDocumentation.json +7 -0
  101. package/json-schema/api/GetBuildStatusRequest.json +7 -0
  102. package/json-schema/api/GetMarketplacePluginRequest.json +7 -0
  103. package/json-schema/api/GetPluginVersionsRequest.json +7 -0
  104. package/json-schema/api/GetPluginVersionsResponse.json +7 -0
  105. package/json-schema/api/HttpStatusCode.json +7 -0
  106. package/json-schema/api/HubHealthResponse.json +7 -0
  107. package/json-schema/api/HubMetricsResponse.json +7 -0
  108. package/json-schema/api/IssueLicenseRequest.json +7 -0
  109. package/json-schema/api/LicenseResponse.json +7 -0
  110. package/json-schema/api/ListLicensesRequest.json +7 -0
  111. package/json-schema/api/ListLicensesResponse.json +7 -0
  112. package/json-schema/api/ListMarketplaceRequest.json +7 -0
  113. package/json-schema/api/ListMarketplaceResponse.json +7 -0
  114. package/json-schema/api/ListSpacesRequest.json +7 -0
  115. package/json-schema/api/ListSpacesResponse.json +7 -0
  116. package/json-schema/api/ListTenantsRequest.json +7 -0
  117. package/json-schema/api/ListTenantsResponse.json +7 -0
  118. package/json-schema/api/MarketplacePluginResponse.json +7 -0
  119. package/json-schema/api/ObjectQLReference.json +7 -0
  120. package/json-schema/api/OpenApiSecurityScheme.json +7 -0
  121. package/json-schema/api/OpenApiServer.json +7 -0
  122. package/json-schema/api/OpenApiSpec.json +7 -0
  123. package/json-schema/api/PaginationRequest.json +7 -0
  124. package/json-schema/api/PaginationResponse.json +7 -0
  125. package/json-schema/api/PluginResponse.json +7 -0
  126. package/json-schema/api/PluginVersionInfo.json +7 -0
  127. package/json-schema/api/PublishPluginRequest.json +7 -0
  128. package/json-schema/api/RevokeLicenseRequest.json +7 -0
  129. package/json-schema/api/SchemaDefinition.json +7 -0
  130. package/json-schema/api/SearchPluginsRequest.json +7 -0
  131. package/json-schema/api/SearchPluginsResponse.json +7 -0
  132. package/json-schema/api/SpaceResponse.json +7 -0
  133. package/json-schema/api/TenantResponse.json +7 -0
  134. package/json-schema/api/UpdatePluginRequest.json +7 -0
  135. package/json-schema/api/UpdateSpaceRequest.json +7 -0
  136. package/json-schema/api/UpdateTenantRequest.json +7 -0
  137. package/json-schema/api/ValidateLicenseRequest.json +7 -0
  138. package/json-schema/api/ValidateLicenseResponse.json +7 -0
  139. package/json-schema/hub/DependencyConflict.json +7 -0
  140. package/json-schema/hub/DependencyGraph.json +7 -0
  141. package/json-schema/hub/DependencyGraphNode.json +7 -0
  142. package/json-schema/hub/DependencyResolutionResult.json +7 -0
  143. package/json-schema/hub/EdgeLocation.json +7 -0
  144. package/json-schema/hub/FederationTopology.json +7 -0
  145. package/json-schema/hub/GlobalRegistryEntry.json +7 -0
  146. package/json-schema/hub/HubInstance.json +7 -0
  147. package/json-schema/hub/PackageDependency.json +7 -0
  148. package/json-schema/hub/PluginProvenance.json +7 -0
  149. package/json-schema/hub/PluginTrustScore.json +7 -0
  150. package/json-schema/hub/Region.json +7 -0
  151. package/json-schema/hub/ReplicationJob.json +7 -0
  152. package/json-schema/hub/SBOM.json +7 -0
  153. package/json-schema/hub/SBOMEntry.json +7 -0
  154. package/json-schema/hub/SecurityPolicy.json +7 -0
  155. package/json-schema/hub/SecurityScanResult.json +7 -0
  156. package/json-schema/hub/SecurityVulnerability.json +7 -0
  157. package/json-schema/hub/TenantPlacementPolicy.json +7 -0
  158. package/json-schema/hub/VulnerabilitySeverity.json +7 -0
  159. package/json-schema/qa/TestAction.json +7 -0
  160. package/json-schema/qa/TestActionType.json +7 -0
  161. package/json-schema/qa/TestAssertion.json +7 -0
  162. package/json-schema/qa/TestAssertionType.json +7 -0
  163. package/json-schema/qa/TestContext.json +7 -0
  164. package/json-schema/qa/TestScenario.json +7 -0
  165. package/json-schema/qa/TestStep.json +7 -0
  166. package/json-schema/qa/TestSuite.json +7 -0
  167. package/json-schema/system/AddFieldOperation.json +7 -0
  168. package/json-schema/system/ChangeSet.json +7 -0
  169. package/json-schema/system/CreateObjectOperation.json +7 -0
  170. package/json-schema/system/DeleteObjectOperation.json +7 -0
  171. package/json-schema/system/ExecuteSqlOperation.json +7 -0
  172. package/json-schema/system/MigrationDependency.json +7 -0
  173. package/json-schema/system/MigrationOperation.json +7 -0
  174. package/json-schema/system/ModifyFieldOperation.json +7 -0
  175. package/json-schema/system/PluginCaching.json +7 -0
  176. package/json-schema/system/PluginCodeSplitting.json +7 -0
  177. package/json-schema/system/PluginDependencyResolution.json +7 -0
  178. package/json-schema/system/PluginDynamicImport.json +7 -0
  179. package/json-schema/system/PluginHotReload.json +7 -0
  180. package/json-schema/system/PluginInitialization.json +7 -0
  181. package/json-schema/system/PluginLoadingConfig.json +7 -0
  182. package/json-schema/system/PluginLoadingEvent.json +7 -0
  183. package/json-schema/system/PluginLoadingState.json +7 -0
  184. package/json-schema/system/PluginLoadingStrategy.json +7 -0
  185. package/json-schema/system/PluginPerformanceMonitoring.json +7 -0
  186. package/json-schema/system/PluginPreloadConfig.json +7 -0
  187. package/json-schema/system/PluginSandboxing.json +7 -0
  188. package/json-schema/system/RemoveFieldOperation.json +7 -0
  189. package/json-schema/system/RenameObjectOperation.json +7 -0
  190. package/package.json +1 -1
@@ -0,0 +1,2095 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Unified API Registry Protocol
4
+ *
5
+ * Provides a centralized registry for managing all API endpoints across different
6
+ * API types (REST, GraphQL, OData, WebSocket, Auth, File, Plugin-registered).
7
+ *
8
+ * This enables:
9
+ * - Unified API discovery and documentation (similar to Swagger/OpenAPI)
10
+ * - API testing interfaces
11
+ * - API governance and monitoring
12
+ * - Plugin API registration
13
+ * - Multi-protocol support
14
+ *
15
+ * Architecture Alignment:
16
+ * - Kubernetes: Service Discovery & API Server
17
+ * - AWS API Gateway: Unified API Management
18
+ * - Kong Gateway: Plugin-based API Management
19
+ *
20
+ * @example API Registry Entry
21
+ * ```typescript
22
+ * const apiEntry: ApiRegistryEntry = {
23
+ * id: 'customer_crud',
24
+ * name: 'Customer CRUD API',
25
+ * type: 'rest',
26
+ * version: 'v1',
27
+ * basePath: '/api/v1/data/customer',
28
+ * endpoints: [...],
29
+ * metadata: {
30
+ * owner: 'sales_team',
31
+ * tags: ['customer', 'crm']
32
+ * }
33
+ * }
34
+ * ```
35
+ */
36
+ /**
37
+ * API Protocol Type
38
+ *
39
+ * Defines the different types of APIs supported by ObjectStack.
40
+ */
41
+ export declare const ApiProtocolType: z.ZodEnum<{
42
+ file: "file";
43
+ metadata: "metadata";
44
+ odata: "odata";
45
+ graphql: "graphql";
46
+ webhook: "webhook";
47
+ websocket: "websocket";
48
+ auth: "auth";
49
+ plugin: "plugin";
50
+ rest: "rest";
51
+ rpc: "rpc";
52
+ }>;
53
+ export type ApiProtocolType = z.infer<typeof ApiProtocolType>;
54
+ /**
55
+ * HTTP Status Code
56
+ */
57
+ export declare const HttpStatusCode: z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
58
+ "2xx": "2xx";
59
+ "3xx": "3xx";
60
+ "4xx": "4xx";
61
+ "5xx": "5xx";
62
+ }>]>;
63
+ export type HttpStatusCode = z.infer<typeof HttpStatusCode>;
64
+ /**
65
+ * ObjectQL Reference Schema
66
+ *
67
+ * Allows referencing ObjectStack data objects instead of static JSON schemas.
68
+ * When an API parameter or response references an ObjectQL object, the schema
69
+ * is dynamically derived from the object definition, enabling automatic updates
70
+ * when the object schema changes.
71
+ *
72
+ * **IMPORTANT - Schema Resolution Responsibility:**
73
+ * The API Registry STORES these references as metadata but does NOT resolve them.
74
+ * Schema resolution (expanding references into actual JSON Schema) is performed by:
75
+ * - **API Gateway**: For runtime request/response validation
76
+ * - **OpenAPI Generator**: For Swagger/OpenAPI documentation
77
+ * - **GraphQL Schema Builder**: For GraphQL type generation
78
+ * - **Documentation Tools**: For developer documentation
79
+ *
80
+ * This separation allows the Registry to remain lightweight and focused on
81
+ * registration/discovery, while specialized tools handle schema transformation.
82
+ *
83
+ * **Benefits:**
84
+ * - Auto-updating API documentation when object schemas change
85
+ * - Consistent type definitions across API and database
86
+ * - Reduced duplication and maintenance
87
+ * - Registry remains protocol-agnostic and lightweight
88
+ *
89
+ * @example Reference Customer object
90
+ * ```json
91
+ * {
92
+ * "objectId": "customer",
93
+ * "includeFields": ["id", "name", "email"],
94
+ * "excludeFields": ["internal_notes"]
95
+ * }
96
+ * ```
97
+ */
98
+ export declare const ObjectQLReferenceSchema: z.ZodObject<{
99
+ objectId: z.ZodString;
100
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
101
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
102
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
103
+ }, z.core.$strip>;
104
+ export type ObjectQLReference = z.infer<typeof ObjectQLReferenceSchema>;
105
+ /**
106
+ * Schema Definition
107
+ *
108
+ * Unified schema definition that supports both:
109
+ * 1. Static JSON Schema (traditional approach)
110
+ * 2. Dynamic ObjectQL reference (linked to object definitions)
111
+ *
112
+ * When using ObjectQL references, the API documentation and validation
113
+ * automatically update when object schemas change, eliminating the need
114
+ * to manually sync API schemas with data models.
115
+ */
116
+ export declare const SchemaDefinition: z.ZodUnion<readonly [z.ZodAny, z.ZodObject<{
117
+ $ref: z.ZodObject<{
118
+ objectId: z.ZodString;
119
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
120
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
121
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
122
+ }, z.core.$strip>;
123
+ }, z.core.$strip>]>;
124
+ export type SchemaDefinition = z.infer<typeof SchemaDefinition>;
125
+ /**
126
+ * API Parameter Schema
127
+ *
128
+ * Defines a single API parameter (path, query, header, or body).
129
+ *
130
+ * **Enhancement: Dynamic Schema Linking**
131
+ * - Supports both static JSON Schema and dynamic ObjectQL references
132
+ * - When using ObjectQL references, parameter validation automatically updates
133
+ * when the referenced object schema changes
134
+ *
135
+ * @example Static schema
136
+ * ```json
137
+ * {
138
+ * "name": "customer_id",
139
+ * "in": "path",
140
+ * "schema": {
141
+ * "type": "string",
142
+ * "format": "uuid"
143
+ * }
144
+ * }
145
+ * ```
146
+ *
147
+ * @example Dynamic ObjectQL reference
148
+ * ```json
149
+ * {
150
+ * "name": "customer",
151
+ * "in": "body",
152
+ * "schema": {
153
+ * "$ref": {
154
+ * "objectId": "customer",
155
+ * "excludeFields": ["internal_notes"]
156
+ * }
157
+ * }
158
+ * }
159
+ * ```
160
+ */
161
+ export declare const ApiParameterSchema: z.ZodObject<{
162
+ name: z.ZodString;
163
+ in: z.ZodEnum<{
164
+ path: "path";
165
+ query: "query";
166
+ body: "body";
167
+ header: "header";
168
+ cookie: "cookie";
169
+ }>;
170
+ description: z.ZodOptional<z.ZodString>;
171
+ required: z.ZodDefault<z.ZodBoolean>;
172
+ schema: z.ZodUnion<readonly [z.ZodObject<{
173
+ type: z.ZodEnum<{
174
+ string: "string";
175
+ number: "number";
176
+ boolean: "boolean";
177
+ object: "object";
178
+ array: "array";
179
+ integer: "integer";
180
+ }>;
181
+ format: z.ZodOptional<z.ZodString>;
182
+ enum: z.ZodOptional<z.ZodArray<z.ZodAny>>;
183
+ default: z.ZodOptional<z.ZodAny>;
184
+ items: z.ZodOptional<z.ZodAny>;
185
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
186
+ }, z.core.$strip>, z.ZodObject<{
187
+ $ref: z.ZodObject<{
188
+ objectId: z.ZodString;
189
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
190
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
191
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
192
+ }, z.core.$strip>;
193
+ }, z.core.$strip>]>;
194
+ example: z.ZodOptional<z.ZodAny>;
195
+ }, z.core.$strip>;
196
+ export type ApiParameter = z.infer<typeof ApiParameterSchema>;
197
+ /**
198
+ * API Response Schema
199
+ *
200
+ * Defines an API response for a specific status code.
201
+ *
202
+ * **Enhancement: Dynamic Schema Linking**
203
+ * - Response schema can reference ObjectQL objects
204
+ * - When object definitions change, response documentation auto-updates
205
+ *
206
+ * @example Response with ObjectQL reference
207
+ * ```json
208
+ * {
209
+ * "statusCode": 200,
210
+ * "description": "Customer retrieved successfully",
211
+ * "schema": {
212
+ * "$ref": {
213
+ * "objectId": "customer",
214
+ * "excludeFields": ["password_hash"]
215
+ * }
216
+ * }
217
+ * }
218
+ * ```
219
+ */
220
+ export declare const ApiResponseSchema: z.ZodObject<{
221
+ statusCode: z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
222
+ "2xx": "2xx";
223
+ "3xx": "3xx";
224
+ "4xx": "4xx";
225
+ "5xx": "5xx";
226
+ }>]>;
227
+ description: z.ZodString;
228
+ contentType: z.ZodDefault<z.ZodString>;
229
+ schema: z.ZodOptional<z.ZodUnion<readonly [z.ZodAny, z.ZodObject<{
230
+ $ref: z.ZodObject<{
231
+ objectId: z.ZodString;
232
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
233
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
234
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
235
+ }, z.core.$strip>;
236
+ }, z.core.$strip>]>>;
237
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
238
+ description: z.ZodOptional<z.ZodString>;
239
+ schema: z.ZodAny;
240
+ }, z.core.$strip>>>;
241
+ example: z.ZodOptional<z.ZodAny>;
242
+ }, z.core.$strip>;
243
+ export type ApiResponse = z.infer<typeof ApiResponseSchema>;
244
+ export type ApiResponseInput = z.input<typeof ApiResponseSchema>;
245
+ /**
246
+ * API Endpoint Registration Schema
247
+ *
248
+ * Represents a single API endpoint registration with complete metadata.
249
+ *
250
+ * **Enhancements:**
251
+ * 1. **RBAC Integration**: `requiredPermissions` field for automatic permission checking
252
+ * 2. **Dynamic Schema Linking**: Parameters and responses can reference ObjectQL objects
253
+ * 3. **Route Priority**: `priority` field for conflict resolution
254
+ * 4. **Protocol Config**: `protocolConfig` for protocol-specific extensions
255
+ *
256
+ * @example REST Endpoint with RBAC
257
+ * ```json
258
+ * {
259
+ * "id": "get_customer_by_id",
260
+ * "method": "GET",
261
+ * "path": "/api/v1/data/customer/:id",
262
+ * "summary": "Get customer by ID",
263
+ * "requiredPermissions": ["customer.read"],
264
+ * "parameters": [
265
+ * {
266
+ * "name": "id",
267
+ * "in": "path",
268
+ * "required": true,
269
+ * "schema": { "type": "string" }
270
+ * }
271
+ * ],
272
+ * "responses": [
273
+ * {
274
+ * "statusCode": 200,
275
+ * "description": "Customer found",
276
+ * "schema": {
277
+ * "$ref": {
278
+ * "objectId": "customer"
279
+ * }
280
+ * }
281
+ * }
282
+ * ],
283
+ * "priority": 100
284
+ * }
285
+ * ```
286
+ *
287
+ * @example Plugin Endpoint with Protocol Config
288
+ * ```json
289
+ * {
290
+ * "id": "grpc_service_method",
291
+ * "path": "/grpc/ServiceName/MethodName",
292
+ * "summary": "gRPC service method",
293
+ * "protocolConfig": {
294
+ * "subProtocol": "grpc",
295
+ * "serviceName": "CustomerService",
296
+ * "methodName": "GetCustomer"
297
+ * },
298
+ * "priority": 50
299
+ * }
300
+ * ```
301
+ */
302
+ export declare const ApiEndpointRegistrationSchema: z.ZodObject<{
303
+ id: z.ZodString;
304
+ method: z.ZodOptional<z.ZodEnum<{
305
+ GET: "GET";
306
+ POST: "POST";
307
+ PUT: "PUT";
308
+ DELETE: "DELETE";
309
+ PATCH: "PATCH";
310
+ HEAD: "HEAD";
311
+ OPTIONS: "OPTIONS";
312
+ }>>;
313
+ path: z.ZodString;
314
+ summary: z.ZodOptional<z.ZodString>;
315
+ description: z.ZodOptional<z.ZodString>;
316
+ operationId: z.ZodOptional<z.ZodString>;
317
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
318
+ parameters: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
319
+ name: z.ZodString;
320
+ in: z.ZodEnum<{
321
+ path: "path";
322
+ query: "query";
323
+ body: "body";
324
+ header: "header";
325
+ cookie: "cookie";
326
+ }>;
327
+ description: z.ZodOptional<z.ZodString>;
328
+ required: z.ZodDefault<z.ZodBoolean>;
329
+ schema: z.ZodUnion<readonly [z.ZodObject<{
330
+ type: z.ZodEnum<{
331
+ string: "string";
332
+ number: "number";
333
+ boolean: "boolean";
334
+ object: "object";
335
+ array: "array";
336
+ integer: "integer";
337
+ }>;
338
+ format: z.ZodOptional<z.ZodString>;
339
+ enum: z.ZodOptional<z.ZodArray<z.ZodAny>>;
340
+ default: z.ZodOptional<z.ZodAny>;
341
+ items: z.ZodOptional<z.ZodAny>;
342
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
343
+ }, z.core.$strip>, z.ZodObject<{
344
+ $ref: z.ZodObject<{
345
+ objectId: z.ZodString;
346
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
347
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
348
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
349
+ }, z.core.$strip>;
350
+ }, z.core.$strip>]>;
351
+ example: z.ZodOptional<z.ZodAny>;
352
+ }, z.core.$strip>>>>;
353
+ requestBody: z.ZodOptional<z.ZodObject<{
354
+ description: z.ZodOptional<z.ZodString>;
355
+ required: z.ZodDefault<z.ZodBoolean>;
356
+ contentType: z.ZodDefault<z.ZodString>;
357
+ schema: z.ZodOptional<z.ZodAny>;
358
+ example: z.ZodOptional<z.ZodAny>;
359
+ }, z.core.$strip>>;
360
+ responses: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
361
+ statusCode: z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
362
+ "2xx": "2xx";
363
+ "3xx": "3xx";
364
+ "4xx": "4xx";
365
+ "5xx": "5xx";
366
+ }>]>;
367
+ description: z.ZodString;
368
+ contentType: z.ZodDefault<z.ZodString>;
369
+ schema: z.ZodOptional<z.ZodUnion<readonly [z.ZodAny, z.ZodObject<{
370
+ $ref: z.ZodObject<{
371
+ objectId: z.ZodString;
372
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
373
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
374
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
375
+ }, z.core.$strip>;
376
+ }, z.core.$strip>]>>;
377
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
378
+ description: z.ZodOptional<z.ZodString>;
379
+ schema: z.ZodAny;
380
+ }, z.core.$strip>>>;
381
+ example: z.ZodOptional<z.ZodAny>;
382
+ }, z.core.$strip>>>>;
383
+ requiredPermissions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
384
+ security: z.ZodOptional<z.ZodArray<z.ZodObject<{
385
+ type: z.ZodEnum<{
386
+ oauth2: "oauth2";
387
+ apiKey: "apiKey";
388
+ http: "http";
389
+ openIdConnect: "openIdConnect";
390
+ }>;
391
+ scheme: z.ZodOptional<z.ZodString>;
392
+ name: z.ZodOptional<z.ZodString>;
393
+ in: z.ZodOptional<z.ZodEnum<{
394
+ query: "query";
395
+ header: "header";
396
+ cookie: "cookie";
397
+ }>>;
398
+ }, z.core.$strip>>>;
399
+ priority: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
400
+ protocolConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
401
+ deprecated: z.ZodDefault<z.ZodBoolean>;
402
+ externalDocs: z.ZodOptional<z.ZodObject<{
403
+ description: z.ZodOptional<z.ZodString>;
404
+ url: z.ZodString;
405
+ }, z.core.$strip>>;
406
+ }, z.core.$strip>;
407
+ export type ApiEndpointRegistration = z.infer<typeof ApiEndpointRegistrationSchema>;
408
+ export type ApiEndpointRegistrationInput = z.input<typeof ApiEndpointRegistrationSchema>;
409
+ /**
410
+ * API Metadata Schema
411
+ *
412
+ * Additional metadata for an API registration.
413
+ */
414
+ export declare const ApiMetadataSchema: z.ZodObject<{
415
+ owner: z.ZodOptional<z.ZodString>;
416
+ status: z.ZodDefault<z.ZodEnum<{
417
+ deprecated: "deprecated";
418
+ active: "active";
419
+ experimental: "experimental";
420
+ beta: "beta";
421
+ }>>;
422
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
423
+ pluginSource: z.ZodOptional<z.ZodString>;
424
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
425
+ }, z.core.$strip>;
426
+ export type ApiMetadata = z.infer<typeof ApiMetadataSchema>;
427
+ export type ApiMetadataInput = z.input<typeof ApiMetadataSchema>;
428
+ /**
429
+ * API Registry Entry Schema
430
+ *
431
+ * Complete registration entry for an API in the unified registry.
432
+ *
433
+ * @example REST API Entry
434
+ * ```json
435
+ * {
436
+ * "id": "customer_api",
437
+ * "name": "Customer Management API",
438
+ * "type": "rest",
439
+ * "version": "v1",
440
+ * "basePath": "/api/v1/data/customer",
441
+ * "description": "CRUD operations for customer records",
442
+ * "endpoints": [...],
443
+ * "metadata": {
444
+ * "owner": "sales_team",
445
+ * "status": "active",
446
+ * "tags": ["customer", "crm"]
447
+ * }
448
+ * }
449
+ * ```
450
+ *
451
+ * @example Plugin API Entry
452
+ * ```json
453
+ * {
454
+ * "id": "payment_webhook",
455
+ * "name": "Payment Webhook API",
456
+ * "type": "plugin",
457
+ * "version": "1.0.0",
458
+ * "basePath": "/plugins/payment/webhook",
459
+ * "endpoints": [...],
460
+ * "metadata": {
461
+ * "pluginSource": "payment_gateway_plugin",
462
+ * "status": "active"
463
+ * }
464
+ * }
465
+ * ```
466
+ */
467
+ export declare const ApiRegistryEntrySchema: z.ZodObject<{
468
+ id: z.ZodString;
469
+ name: z.ZodString;
470
+ type: z.ZodEnum<{
471
+ file: "file";
472
+ metadata: "metadata";
473
+ odata: "odata";
474
+ graphql: "graphql";
475
+ webhook: "webhook";
476
+ websocket: "websocket";
477
+ auth: "auth";
478
+ plugin: "plugin";
479
+ rest: "rest";
480
+ rpc: "rpc";
481
+ }>;
482
+ version: z.ZodString;
483
+ basePath: z.ZodString;
484
+ description: z.ZodOptional<z.ZodString>;
485
+ endpoints: z.ZodArray<z.ZodObject<{
486
+ id: z.ZodString;
487
+ method: z.ZodOptional<z.ZodEnum<{
488
+ GET: "GET";
489
+ POST: "POST";
490
+ PUT: "PUT";
491
+ DELETE: "DELETE";
492
+ PATCH: "PATCH";
493
+ HEAD: "HEAD";
494
+ OPTIONS: "OPTIONS";
495
+ }>>;
496
+ path: z.ZodString;
497
+ summary: z.ZodOptional<z.ZodString>;
498
+ description: z.ZodOptional<z.ZodString>;
499
+ operationId: z.ZodOptional<z.ZodString>;
500
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
501
+ parameters: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
502
+ name: z.ZodString;
503
+ in: z.ZodEnum<{
504
+ path: "path";
505
+ query: "query";
506
+ body: "body";
507
+ header: "header";
508
+ cookie: "cookie";
509
+ }>;
510
+ description: z.ZodOptional<z.ZodString>;
511
+ required: z.ZodDefault<z.ZodBoolean>;
512
+ schema: z.ZodUnion<readonly [z.ZodObject<{
513
+ type: z.ZodEnum<{
514
+ string: "string";
515
+ number: "number";
516
+ boolean: "boolean";
517
+ object: "object";
518
+ array: "array";
519
+ integer: "integer";
520
+ }>;
521
+ format: z.ZodOptional<z.ZodString>;
522
+ enum: z.ZodOptional<z.ZodArray<z.ZodAny>>;
523
+ default: z.ZodOptional<z.ZodAny>;
524
+ items: z.ZodOptional<z.ZodAny>;
525
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
526
+ }, z.core.$strip>, z.ZodObject<{
527
+ $ref: z.ZodObject<{
528
+ objectId: z.ZodString;
529
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
530
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
531
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
532
+ }, z.core.$strip>;
533
+ }, z.core.$strip>]>;
534
+ example: z.ZodOptional<z.ZodAny>;
535
+ }, z.core.$strip>>>>;
536
+ requestBody: z.ZodOptional<z.ZodObject<{
537
+ description: z.ZodOptional<z.ZodString>;
538
+ required: z.ZodDefault<z.ZodBoolean>;
539
+ contentType: z.ZodDefault<z.ZodString>;
540
+ schema: z.ZodOptional<z.ZodAny>;
541
+ example: z.ZodOptional<z.ZodAny>;
542
+ }, z.core.$strip>>;
543
+ responses: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
544
+ statusCode: z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
545
+ "2xx": "2xx";
546
+ "3xx": "3xx";
547
+ "4xx": "4xx";
548
+ "5xx": "5xx";
549
+ }>]>;
550
+ description: z.ZodString;
551
+ contentType: z.ZodDefault<z.ZodString>;
552
+ schema: z.ZodOptional<z.ZodUnion<readonly [z.ZodAny, z.ZodObject<{
553
+ $ref: z.ZodObject<{
554
+ objectId: z.ZodString;
555
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
556
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
557
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
558
+ }, z.core.$strip>;
559
+ }, z.core.$strip>]>>;
560
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
561
+ description: z.ZodOptional<z.ZodString>;
562
+ schema: z.ZodAny;
563
+ }, z.core.$strip>>>;
564
+ example: z.ZodOptional<z.ZodAny>;
565
+ }, z.core.$strip>>>>;
566
+ requiredPermissions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
567
+ security: z.ZodOptional<z.ZodArray<z.ZodObject<{
568
+ type: z.ZodEnum<{
569
+ oauth2: "oauth2";
570
+ apiKey: "apiKey";
571
+ http: "http";
572
+ openIdConnect: "openIdConnect";
573
+ }>;
574
+ scheme: z.ZodOptional<z.ZodString>;
575
+ name: z.ZodOptional<z.ZodString>;
576
+ in: z.ZodOptional<z.ZodEnum<{
577
+ query: "query";
578
+ header: "header";
579
+ cookie: "cookie";
580
+ }>>;
581
+ }, z.core.$strip>>>;
582
+ priority: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
583
+ protocolConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
584
+ deprecated: z.ZodDefault<z.ZodBoolean>;
585
+ externalDocs: z.ZodOptional<z.ZodObject<{
586
+ description: z.ZodOptional<z.ZodString>;
587
+ url: z.ZodString;
588
+ }, z.core.$strip>>;
589
+ }, z.core.$strip>>;
590
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
591
+ metadata: z.ZodOptional<z.ZodObject<{
592
+ owner: z.ZodOptional<z.ZodString>;
593
+ status: z.ZodDefault<z.ZodEnum<{
594
+ deprecated: "deprecated";
595
+ active: "active";
596
+ experimental: "experimental";
597
+ beta: "beta";
598
+ }>>;
599
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
600
+ pluginSource: z.ZodOptional<z.ZodString>;
601
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
602
+ }, z.core.$strip>>;
603
+ termsOfService: z.ZodOptional<z.ZodString>;
604
+ contact: z.ZodOptional<z.ZodObject<{
605
+ name: z.ZodOptional<z.ZodString>;
606
+ url: z.ZodOptional<z.ZodString>;
607
+ email: z.ZodOptional<z.ZodString>;
608
+ }, z.core.$strip>>;
609
+ license: z.ZodOptional<z.ZodObject<{
610
+ name: z.ZodString;
611
+ url: z.ZodOptional<z.ZodString>;
612
+ }, z.core.$strip>>;
613
+ }, z.core.$strip>;
614
+ export type ApiRegistryEntry = z.infer<typeof ApiRegistryEntrySchema>;
615
+ export type ApiRegistryEntryInput = z.input<typeof ApiRegistryEntrySchema>;
616
+ /**
617
+ * Route Conflict Resolution Strategy
618
+ *
619
+ * Defines how to handle conflicts when multiple endpoints register
620
+ * the same or overlapping URL patterns.
621
+ */
622
+ export declare const ConflictResolutionStrategy: z.ZodEnum<{
623
+ error: "error";
624
+ priority: "priority";
625
+ "first-wins": "first-wins";
626
+ "last-wins": "last-wins";
627
+ }>;
628
+ export type ConflictResolutionStrategy = z.infer<typeof ConflictResolutionStrategy>;
629
+ /**
630
+ * API Registry Schema
631
+ *
632
+ * Central registry containing all registered APIs.
633
+ *
634
+ * **Enhancement: Route Conflict Detection**
635
+ * - `conflictResolution`: Strategy for handling route conflicts
636
+ * - Prevents silent overwrites and unexpected routing behavior
637
+ *
638
+ * @example
639
+ * ```json
640
+ * {
641
+ * "version": "1.0.0",
642
+ * "conflictResolution": "priority",
643
+ * "apis": [
644
+ * { "id": "customer_api", "type": "rest", ... },
645
+ * { "id": "graphql_api", "type": "graphql", ... },
646
+ * { "id": "file_upload_api", "type": "file", ... }
647
+ * ],
648
+ * "totalApis": 3,
649
+ * "totalEndpoints": 47
650
+ * }
651
+ * ```
652
+ *
653
+ * @example Priority-based conflict resolution
654
+ * ```json
655
+ * {
656
+ * "conflictResolution": "priority",
657
+ * "apis": [
658
+ * {
659
+ * "id": "core_api",
660
+ * "endpoints": [
661
+ * {
662
+ * "path": "/api/v1/data/:object",
663
+ * "priority": 950
664
+ * }
665
+ * ]
666
+ * },
667
+ * {
668
+ * "id": "plugin_api",
669
+ * "endpoints": [
670
+ * {
671
+ * "path": "/api/v1/data/custom",
672
+ * "priority": 300
673
+ * }
674
+ * ]
675
+ * }
676
+ * ]
677
+ * }
678
+ * ```
679
+ */
680
+ export declare const ApiRegistrySchema: z.ZodObject<{
681
+ version: z.ZodString;
682
+ conflictResolution: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
683
+ error: "error";
684
+ priority: "priority";
685
+ "first-wins": "first-wins";
686
+ "last-wins": "last-wins";
687
+ }>>>;
688
+ apis: z.ZodArray<z.ZodObject<{
689
+ id: z.ZodString;
690
+ name: z.ZodString;
691
+ type: z.ZodEnum<{
692
+ file: "file";
693
+ metadata: "metadata";
694
+ odata: "odata";
695
+ graphql: "graphql";
696
+ webhook: "webhook";
697
+ websocket: "websocket";
698
+ auth: "auth";
699
+ plugin: "plugin";
700
+ rest: "rest";
701
+ rpc: "rpc";
702
+ }>;
703
+ version: z.ZodString;
704
+ basePath: z.ZodString;
705
+ description: z.ZodOptional<z.ZodString>;
706
+ endpoints: z.ZodArray<z.ZodObject<{
707
+ id: z.ZodString;
708
+ method: z.ZodOptional<z.ZodEnum<{
709
+ GET: "GET";
710
+ POST: "POST";
711
+ PUT: "PUT";
712
+ DELETE: "DELETE";
713
+ PATCH: "PATCH";
714
+ HEAD: "HEAD";
715
+ OPTIONS: "OPTIONS";
716
+ }>>;
717
+ path: z.ZodString;
718
+ summary: z.ZodOptional<z.ZodString>;
719
+ description: z.ZodOptional<z.ZodString>;
720
+ operationId: z.ZodOptional<z.ZodString>;
721
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
722
+ parameters: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
723
+ name: z.ZodString;
724
+ in: z.ZodEnum<{
725
+ path: "path";
726
+ query: "query";
727
+ body: "body";
728
+ header: "header";
729
+ cookie: "cookie";
730
+ }>;
731
+ description: z.ZodOptional<z.ZodString>;
732
+ required: z.ZodDefault<z.ZodBoolean>;
733
+ schema: z.ZodUnion<readonly [z.ZodObject<{
734
+ type: z.ZodEnum<{
735
+ string: "string";
736
+ number: "number";
737
+ boolean: "boolean";
738
+ object: "object";
739
+ array: "array";
740
+ integer: "integer";
741
+ }>;
742
+ format: z.ZodOptional<z.ZodString>;
743
+ enum: z.ZodOptional<z.ZodArray<z.ZodAny>>;
744
+ default: z.ZodOptional<z.ZodAny>;
745
+ items: z.ZodOptional<z.ZodAny>;
746
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
747
+ }, z.core.$strip>, z.ZodObject<{
748
+ $ref: z.ZodObject<{
749
+ objectId: z.ZodString;
750
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
751
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
752
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
753
+ }, z.core.$strip>;
754
+ }, z.core.$strip>]>;
755
+ example: z.ZodOptional<z.ZodAny>;
756
+ }, z.core.$strip>>>>;
757
+ requestBody: z.ZodOptional<z.ZodObject<{
758
+ description: z.ZodOptional<z.ZodString>;
759
+ required: z.ZodDefault<z.ZodBoolean>;
760
+ contentType: z.ZodDefault<z.ZodString>;
761
+ schema: z.ZodOptional<z.ZodAny>;
762
+ example: z.ZodOptional<z.ZodAny>;
763
+ }, z.core.$strip>>;
764
+ responses: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
765
+ statusCode: z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
766
+ "2xx": "2xx";
767
+ "3xx": "3xx";
768
+ "4xx": "4xx";
769
+ "5xx": "5xx";
770
+ }>]>;
771
+ description: z.ZodString;
772
+ contentType: z.ZodDefault<z.ZodString>;
773
+ schema: z.ZodOptional<z.ZodUnion<readonly [z.ZodAny, z.ZodObject<{
774
+ $ref: z.ZodObject<{
775
+ objectId: z.ZodString;
776
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
777
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
778
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
779
+ }, z.core.$strip>;
780
+ }, z.core.$strip>]>>;
781
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
782
+ description: z.ZodOptional<z.ZodString>;
783
+ schema: z.ZodAny;
784
+ }, z.core.$strip>>>;
785
+ example: z.ZodOptional<z.ZodAny>;
786
+ }, z.core.$strip>>>>;
787
+ requiredPermissions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
788
+ security: z.ZodOptional<z.ZodArray<z.ZodObject<{
789
+ type: z.ZodEnum<{
790
+ oauth2: "oauth2";
791
+ apiKey: "apiKey";
792
+ http: "http";
793
+ openIdConnect: "openIdConnect";
794
+ }>;
795
+ scheme: z.ZodOptional<z.ZodString>;
796
+ name: z.ZodOptional<z.ZodString>;
797
+ in: z.ZodOptional<z.ZodEnum<{
798
+ query: "query";
799
+ header: "header";
800
+ cookie: "cookie";
801
+ }>>;
802
+ }, z.core.$strip>>>;
803
+ priority: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
804
+ protocolConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
805
+ deprecated: z.ZodDefault<z.ZodBoolean>;
806
+ externalDocs: z.ZodOptional<z.ZodObject<{
807
+ description: z.ZodOptional<z.ZodString>;
808
+ url: z.ZodString;
809
+ }, z.core.$strip>>;
810
+ }, z.core.$strip>>;
811
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
812
+ metadata: z.ZodOptional<z.ZodObject<{
813
+ owner: z.ZodOptional<z.ZodString>;
814
+ status: z.ZodDefault<z.ZodEnum<{
815
+ deprecated: "deprecated";
816
+ active: "active";
817
+ experimental: "experimental";
818
+ beta: "beta";
819
+ }>>;
820
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
821
+ pluginSource: z.ZodOptional<z.ZodString>;
822
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
823
+ }, z.core.$strip>>;
824
+ termsOfService: z.ZodOptional<z.ZodString>;
825
+ contact: z.ZodOptional<z.ZodObject<{
826
+ name: z.ZodOptional<z.ZodString>;
827
+ url: z.ZodOptional<z.ZodString>;
828
+ email: z.ZodOptional<z.ZodString>;
829
+ }, z.core.$strip>>;
830
+ license: z.ZodOptional<z.ZodObject<{
831
+ name: z.ZodString;
832
+ url: z.ZodOptional<z.ZodString>;
833
+ }, z.core.$strip>>;
834
+ }, z.core.$strip>>;
835
+ totalApis: z.ZodNumber;
836
+ totalEndpoints: z.ZodNumber;
837
+ byType: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
838
+ file: "file";
839
+ metadata: "metadata";
840
+ odata: "odata";
841
+ graphql: "graphql";
842
+ webhook: "webhook";
843
+ websocket: "websocket";
844
+ auth: "auth";
845
+ plugin: "plugin";
846
+ rest: "rest";
847
+ rpc: "rpc";
848
+ }>, z.ZodArray<z.ZodObject<{
849
+ id: z.ZodString;
850
+ name: z.ZodString;
851
+ type: z.ZodEnum<{
852
+ file: "file";
853
+ metadata: "metadata";
854
+ odata: "odata";
855
+ graphql: "graphql";
856
+ webhook: "webhook";
857
+ websocket: "websocket";
858
+ auth: "auth";
859
+ plugin: "plugin";
860
+ rest: "rest";
861
+ rpc: "rpc";
862
+ }>;
863
+ version: z.ZodString;
864
+ basePath: z.ZodString;
865
+ description: z.ZodOptional<z.ZodString>;
866
+ endpoints: z.ZodArray<z.ZodObject<{
867
+ id: z.ZodString;
868
+ method: z.ZodOptional<z.ZodEnum<{
869
+ GET: "GET";
870
+ POST: "POST";
871
+ PUT: "PUT";
872
+ DELETE: "DELETE";
873
+ PATCH: "PATCH";
874
+ HEAD: "HEAD";
875
+ OPTIONS: "OPTIONS";
876
+ }>>;
877
+ path: z.ZodString;
878
+ summary: z.ZodOptional<z.ZodString>;
879
+ description: z.ZodOptional<z.ZodString>;
880
+ operationId: z.ZodOptional<z.ZodString>;
881
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
882
+ parameters: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
883
+ name: z.ZodString;
884
+ in: z.ZodEnum<{
885
+ path: "path";
886
+ query: "query";
887
+ body: "body";
888
+ header: "header";
889
+ cookie: "cookie";
890
+ }>;
891
+ description: z.ZodOptional<z.ZodString>;
892
+ required: z.ZodDefault<z.ZodBoolean>;
893
+ schema: z.ZodUnion<readonly [z.ZodObject<{
894
+ type: z.ZodEnum<{
895
+ string: "string";
896
+ number: "number";
897
+ boolean: "boolean";
898
+ object: "object";
899
+ array: "array";
900
+ integer: "integer";
901
+ }>;
902
+ format: z.ZodOptional<z.ZodString>;
903
+ enum: z.ZodOptional<z.ZodArray<z.ZodAny>>;
904
+ default: z.ZodOptional<z.ZodAny>;
905
+ items: z.ZodOptional<z.ZodAny>;
906
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
907
+ }, z.core.$strip>, z.ZodObject<{
908
+ $ref: z.ZodObject<{
909
+ objectId: z.ZodString;
910
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
911
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
912
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
913
+ }, z.core.$strip>;
914
+ }, z.core.$strip>]>;
915
+ example: z.ZodOptional<z.ZodAny>;
916
+ }, z.core.$strip>>>>;
917
+ requestBody: z.ZodOptional<z.ZodObject<{
918
+ description: z.ZodOptional<z.ZodString>;
919
+ required: z.ZodDefault<z.ZodBoolean>;
920
+ contentType: z.ZodDefault<z.ZodString>;
921
+ schema: z.ZodOptional<z.ZodAny>;
922
+ example: z.ZodOptional<z.ZodAny>;
923
+ }, z.core.$strip>>;
924
+ responses: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
925
+ statusCode: z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
926
+ "2xx": "2xx";
927
+ "3xx": "3xx";
928
+ "4xx": "4xx";
929
+ "5xx": "5xx";
930
+ }>]>;
931
+ description: z.ZodString;
932
+ contentType: z.ZodDefault<z.ZodString>;
933
+ schema: z.ZodOptional<z.ZodUnion<readonly [z.ZodAny, z.ZodObject<{
934
+ $ref: z.ZodObject<{
935
+ objectId: z.ZodString;
936
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
937
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
938
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
939
+ }, z.core.$strip>;
940
+ }, z.core.$strip>]>>;
941
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
942
+ description: z.ZodOptional<z.ZodString>;
943
+ schema: z.ZodAny;
944
+ }, z.core.$strip>>>;
945
+ example: z.ZodOptional<z.ZodAny>;
946
+ }, z.core.$strip>>>>;
947
+ requiredPermissions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
948
+ security: z.ZodOptional<z.ZodArray<z.ZodObject<{
949
+ type: z.ZodEnum<{
950
+ oauth2: "oauth2";
951
+ apiKey: "apiKey";
952
+ http: "http";
953
+ openIdConnect: "openIdConnect";
954
+ }>;
955
+ scheme: z.ZodOptional<z.ZodString>;
956
+ name: z.ZodOptional<z.ZodString>;
957
+ in: z.ZodOptional<z.ZodEnum<{
958
+ query: "query";
959
+ header: "header";
960
+ cookie: "cookie";
961
+ }>>;
962
+ }, z.core.$strip>>>;
963
+ priority: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
964
+ protocolConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
965
+ deprecated: z.ZodDefault<z.ZodBoolean>;
966
+ externalDocs: z.ZodOptional<z.ZodObject<{
967
+ description: z.ZodOptional<z.ZodString>;
968
+ url: z.ZodString;
969
+ }, z.core.$strip>>;
970
+ }, z.core.$strip>>;
971
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
972
+ metadata: z.ZodOptional<z.ZodObject<{
973
+ owner: z.ZodOptional<z.ZodString>;
974
+ status: z.ZodDefault<z.ZodEnum<{
975
+ deprecated: "deprecated";
976
+ active: "active";
977
+ experimental: "experimental";
978
+ beta: "beta";
979
+ }>>;
980
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
981
+ pluginSource: z.ZodOptional<z.ZodString>;
982
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
983
+ }, z.core.$strip>>;
984
+ termsOfService: z.ZodOptional<z.ZodString>;
985
+ contact: z.ZodOptional<z.ZodObject<{
986
+ name: z.ZodOptional<z.ZodString>;
987
+ url: z.ZodOptional<z.ZodString>;
988
+ email: z.ZodOptional<z.ZodString>;
989
+ }, z.core.$strip>>;
990
+ license: z.ZodOptional<z.ZodObject<{
991
+ name: z.ZodString;
992
+ url: z.ZodOptional<z.ZodString>;
993
+ }, z.core.$strip>>;
994
+ }, z.core.$strip>>>>;
995
+ byStatus: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
996
+ id: z.ZodString;
997
+ name: z.ZodString;
998
+ type: z.ZodEnum<{
999
+ file: "file";
1000
+ metadata: "metadata";
1001
+ odata: "odata";
1002
+ graphql: "graphql";
1003
+ webhook: "webhook";
1004
+ websocket: "websocket";
1005
+ auth: "auth";
1006
+ plugin: "plugin";
1007
+ rest: "rest";
1008
+ rpc: "rpc";
1009
+ }>;
1010
+ version: z.ZodString;
1011
+ basePath: z.ZodString;
1012
+ description: z.ZodOptional<z.ZodString>;
1013
+ endpoints: z.ZodArray<z.ZodObject<{
1014
+ id: z.ZodString;
1015
+ method: z.ZodOptional<z.ZodEnum<{
1016
+ GET: "GET";
1017
+ POST: "POST";
1018
+ PUT: "PUT";
1019
+ DELETE: "DELETE";
1020
+ PATCH: "PATCH";
1021
+ HEAD: "HEAD";
1022
+ OPTIONS: "OPTIONS";
1023
+ }>>;
1024
+ path: z.ZodString;
1025
+ summary: z.ZodOptional<z.ZodString>;
1026
+ description: z.ZodOptional<z.ZodString>;
1027
+ operationId: z.ZodOptional<z.ZodString>;
1028
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
1029
+ parameters: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1030
+ name: z.ZodString;
1031
+ in: z.ZodEnum<{
1032
+ path: "path";
1033
+ query: "query";
1034
+ body: "body";
1035
+ header: "header";
1036
+ cookie: "cookie";
1037
+ }>;
1038
+ description: z.ZodOptional<z.ZodString>;
1039
+ required: z.ZodDefault<z.ZodBoolean>;
1040
+ schema: z.ZodUnion<readonly [z.ZodObject<{
1041
+ type: z.ZodEnum<{
1042
+ string: "string";
1043
+ number: "number";
1044
+ boolean: "boolean";
1045
+ object: "object";
1046
+ array: "array";
1047
+ integer: "integer";
1048
+ }>;
1049
+ format: z.ZodOptional<z.ZodString>;
1050
+ enum: z.ZodOptional<z.ZodArray<z.ZodAny>>;
1051
+ default: z.ZodOptional<z.ZodAny>;
1052
+ items: z.ZodOptional<z.ZodAny>;
1053
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1054
+ }, z.core.$strip>, z.ZodObject<{
1055
+ $ref: z.ZodObject<{
1056
+ objectId: z.ZodString;
1057
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1058
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1059
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
1060
+ }, z.core.$strip>;
1061
+ }, z.core.$strip>]>;
1062
+ example: z.ZodOptional<z.ZodAny>;
1063
+ }, z.core.$strip>>>>;
1064
+ requestBody: z.ZodOptional<z.ZodObject<{
1065
+ description: z.ZodOptional<z.ZodString>;
1066
+ required: z.ZodDefault<z.ZodBoolean>;
1067
+ contentType: z.ZodDefault<z.ZodString>;
1068
+ schema: z.ZodOptional<z.ZodAny>;
1069
+ example: z.ZodOptional<z.ZodAny>;
1070
+ }, z.core.$strip>>;
1071
+ responses: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1072
+ statusCode: z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
1073
+ "2xx": "2xx";
1074
+ "3xx": "3xx";
1075
+ "4xx": "4xx";
1076
+ "5xx": "5xx";
1077
+ }>]>;
1078
+ description: z.ZodString;
1079
+ contentType: z.ZodDefault<z.ZodString>;
1080
+ schema: z.ZodOptional<z.ZodUnion<readonly [z.ZodAny, z.ZodObject<{
1081
+ $ref: z.ZodObject<{
1082
+ objectId: z.ZodString;
1083
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1084
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1085
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
1086
+ }, z.core.$strip>;
1087
+ }, z.core.$strip>]>>;
1088
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1089
+ description: z.ZodOptional<z.ZodString>;
1090
+ schema: z.ZodAny;
1091
+ }, z.core.$strip>>>;
1092
+ example: z.ZodOptional<z.ZodAny>;
1093
+ }, z.core.$strip>>>>;
1094
+ requiredPermissions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
1095
+ security: z.ZodOptional<z.ZodArray<z.ZodObject<{
1096
+ type: z.ZodEnum<{
1097
+ oauth2: "oauth2";
1098
+ apiKey: "apiKey";
1099
+ http: "http";
1100
+ openIdConnect: "openIdConnect";
1101
+ }>;
1102
+ scheme: z.ZodOptional<z.ZodString>;
1103
+ name: z.ZodOptional<z.ZodString>;
1104
+ in: z.ZodOptional<z.ZodEnum<{
1105
+ query: "query";
1106
+ header: "header";
1107
+ cookie: "cookie";
1108
+ }>>;
1109
+ }, z.core.$strip>>>;
1110
+ priority: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1111
+ protocolConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1112
+ deprecated: z.ZodDefault<z.ZodBoolean>;
1113
+ externalDocs: z.ZodOptional<z.ZodObject<{
1114
+ description: z.ZodOptional<z.ZodString>;
1115
+ url: z.ZodString;
1116
+ }, z.core.$strip>>;
1117
+ }, z.core.$strip>>;
1118
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1119
+ metadata: z.ZodOptional<z.ZodObject<{
1120
+ owner: z.ZodOptional<z.ZodString>;
1121
+ status: z.ZodDefault<z.ZodEnum<{
1122
+ deprecated: "deprecated";
1123
+ active: "active";
1124
+ experimental: "experimental";
1125
+ beta: "beta";
1126
+ }>>;
1127
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
1128
+ pluginSource: z.ZodOptional<z.ZodString>;
1129
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1130
+ }, z.core.$strip>>;
1131
+ termsOfService: z.ZodOptional<z.ZodString>;
1132
+ contact: z.ZodOptional<z.ZodObject<{
1133
+ name: z.ZodOptional<z.ZodString>;
1134
+ url: z.ZodOptional<z.ZodString>;
1135
+ email: z.ZodOptional<z.ZodString>;
1136
+ }, z.core.$strip>>;
1137
+ license: z.ZodOptional<z.ZodObject<{
1138
+ name: z.ZodString;
1139
+ url: z.ZodOptional<z.ZodString>;
1140
+ }, z.core.$strip>>;
1141
+ }, z.core.$strip>>>>;
1142
+ updatedAt: z.ZodOptional<z.ZodString>;
1143
+ }, z.core.$strip>;
1144
+ export type ApiRegistry = z.infer<typeof ApiRegistrySchema>;
1145
+ /**
1146
+ * API Discovery Query Schema
1147
+ *
1148
+ * Query parameters for discovering/filtering APIs in the registry.
1149
+ *
1150
+ * @example
1151
+ * ```json
1152
+ * {
1153
+ * "type": "rest",
1154
+ * "tags": ["customer"],
1155
+ * "status": "active"
1156
+ * }
1157
+ * ```
1158
+ */
1159
+ export declare const ApiDiscoveryQuerySchema: z.ZodObject<{
1160
+ type: z.ZodOptional<z.ZodEnum<{
1161
+ file: "file";
1162
+ metadata: "metadata";
1163
+ odata: "odata";
1164
+ graphql: "graphql";
1165
+ webhook: "webhook";
1166
+ websocket: "websocket";
1167
+ auth: "auth";
1168
+ plugin: "plugin";
1169
+ rest: "rest";
1170
+ rpc: "rpc";
1171
+ }>>;
1172
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1173
+ status: z.ZodOptional<z.ZodEnum<{
1174
+ deprecated: "deprecated";
1175
+ active: "active";
1176
+ experimental: "experimental";
1177
+ beta: "beta";
1178
+ }>>;
1179
+ pluginSource: z.ZodOptional<z.ZodString>;
1180
+ search: z.ZodOptional<z.ZodString>;
1181
+ version: z.ZodOptional<z.ZodString>;
1182
+ }, z.core.$strip>;
1183
+ export type ApiDiscoveryQuery = z.infer<typeof ApiDiscoveryQuerySchema>;
1184
+ /**
1185
+ * API Discovery Response Schema
1186
+ *
1187
+ * Response for API discovery queries.
1188
+ */
1189
+ export declare const ApiDiscoveryResponseSchema: z.ZodObject<{
1190
+ apis: z.ZodArray<z.ZodObject<{
1191
+ id: z.ZodString;
1192
+ name: z.ZodString;
1193
+ type: z.ZodEnum<{
1194
+ file: "file";
1195
+ metadata: "metadata";
1196
+ odata: "odata";
1197
+ graphql: "graphql";
1198
+ webhook: "webhook";
1199
+ websocket: "websocket";
1200
+ auth: "auth";
1201
+ plugin: "plugin";
1202
+ rest: "rest";
1203
+ rpc: "rpc";
1204
+ }>;
1205
+ version: z.ZodString;
1206
+ basePath: z.ZodString;
1207
+ description: z.ZodOptional<z.ZodString>;
1208
+ endpoints: z.ZodArray<z.ZodObject<{
1209
+ id: z.ZodString;
1210
+ method: z.ZodOptional<z.ZodEnum<{
1211
+ GET: "GET";
1212
+ POST: "POST";
1213
+ PUT: "PUT";
1214
+ DELETE: "DELETE";
1215
+ PATCH: "PATCH";
1216
+ HEAD: "HEAD";
1217
+ OPTIONS: "OPTIONS";
1218
+ }>>;
1219
+ path: z.ZodString;
1220
+ summary: z.ZodOptional<z.ZodString>;
1221
+ description: z.ZodOptional<z.ZodString>;
1222
+ operationId: z.ZodOptional<z.ZodString>;
1223
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
1224
+ parameters: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1225
+ name: z.ZodString;
1226
+ in: z.ZodEnum<{
1227
+ path: "path";
1228
+ query: "query";
1229
+ body: "body";
1230
+ header: "header";
1231
+ cookie: "cookie";
1232
+ }>;
1233
+ description: z.ZodOptional<z.ZodString>;
1234
+ required: z.ZodDefault<z.ZodBoolean>;
1235
+ schema: z.ZodUnion<readonly [z.ZodObject<{
1236
+ type: z.ZodEnum<{
1237
+ string: "string";
1238
+ number: "number";
1239
+ boolean: "boolean";
1240
+ object: "object";
1241
+ array: "array";
1242
+ integer: "integer";
1243
+ }>;
1244
+ format: z.ZodOptional<z.ZodString>;
1245
+ enum: z.ZodOptional<z.ZodArray<z.ZodAny>>;
1246
+ default: z.ZodOptional<z.ZodAny>;
1247
+ items: z.ZodOptional<z.ZodAny>;
1248
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1249
+ }, z.core.$strip>, z.ZodObject<{
1250
+ $ref: z.ZodObject<{
1251
+ objectId: z.ZodString;
1252
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1253
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1254
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
1255
+ }, z.core.$strip>;
1256
+ }, z.core.$strip>]>;
1257
+ example: z.ZodOptional<z.ZodAny>;
1258
+ }, z.core.$strip>>>>;
1259
+ requestBody: z.ZodOptional<z.ZodObject<{
1260
+ description: z.ZodOptional<z.ZodString>;
1261
+ required: z.ZodDefault<z.ZodBoolean>;
1262
+ contentType: z.ZodDefault<z.ZodString>;
1263
+ schema: z.ZodOptional<z.ZodAny>;
1264
+ example: z.ZodOptional<z.ZodAny>;
1265
+ }, z.core.$strip>>;
1266
+ responses: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1267
+ statusCode: z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
1268
+ "2xx": "2xx";
1269
+ "3xx": "3xx";
1270
+ "4xx": "4xx";
1271
+ "5xx": "5xx";
1272
+ }>]>;
1273
+ description: z.ZodString;
1274
+ contentType: z.ZodDefault<z.ZodString>;
1275
+ schema: z.ZodOptional<z.ZodUnion<readonly [z.ZodAny, z.ZodObject<{
1276
+ $ref: z.ZodObject<{
1277
+ objectId: z.ZodString;
1278
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1279
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1280
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
1281
+ }, z.core.$strip>;
1282
+ }, z.core.$strip>]>>;
1283
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1284
+ description: z.ZodOptional<z.ZodString>;
1285
+ schema: z.ZodAny;
1286
+ }, z.core.$strip>>>;
1287
+ example: z.ZodOptional<z.ZodAny>;
1288
+ }, z.core.$strip>>>>;
1289
+ requiredPermissions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
1290
+ security: z.ZodOptional<z.ZodArray<z.ZodObject<{
1291
+ type: z.ZodEnum<{
1292
+ oauth2: "oauth2";
1293
+ apiKey: "apiKey";
1294
+ http: "http";
1295
+ openIdConnect: "openIdConnect";
1296
+ }>;
1297
+ scheme: z.ZodOptional<z.ZodString>;
1298
+ name: z.ZodOptional<z.ZodString>;
1299
+ in: z.ZodOptional<z.ZodEnum<{
1300
+ query: "query";
1301
+ header: "header";
1302
+ cookie: "cookie";
1303
+ }>>;
1304
+ }, z.core.$strip>>>;
1305
+ priority: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1306
+ protocolConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1307
+ deprecated: z.ZodDefault<z.ZodBoolean>;
1308
+ externalDocs: z.ZodOptional<z.ZodObject<{
1309
+ description: z.ZodOptional<z.ZodString>;
1310
+ url: z.ZodString;
1311
+ }, z.core.$strip>>;
1312
+ }, z.core.$strip>>;
1313
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1314
+ metadata: z.ZodOptional<z.ZodObject<{
1315
+ owner: z.ZodOptional<z.ZodString>;
1316
+ status: z.ZodDefault<z.ZodEnum<{
1317
+ deprecated: "deprecated";
1318
+ active: "active";
1319
+ experimental: "experimental";
1320
+ beta: "beta";
1321
+ }>>;
1322
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
1323
+ pluginSource: z.ZodOptional<z.ZodString>;
1324
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1325
+ }, z.core.$strip>>;
1326
+ termsOfService: z.ZodOptional<z.ZodString>;
1327
+ contact: z.ZodOptional<z.ZodObject<{
1328
+ name: z.ZodOptional<z.ZodString>;
1329
+ url: z.ZodOptional<z.ZodString>;
1330
+ email: z.ZodOptional<z.ZodString>;
1331
+ }, z.core.$strip>>;
1332
+ license: z.ZodOptional<z.ZodObject<{
1333
+ name: z.ZodString;
1334
+ url: z.ZodOptional<z.ZodString>;
1335
+ }, z.core.$strip>>;
1336
+ }, z.core.$strip>>;
1337
+ total: z.ZodNumber;
1338
+ filters: z.ZodOptional<z.ZodObject<{
1339
+ type: z.ZodOptional<z.ZodEnum<{
1340
+ file: "file";
1341
+ metadata: "metadata";
1342
+ odata: "odata";
1343
+ graphql: "graphql";
1344
+ webhook: "webhook";
1345
+ websocket: "websocket";
1346
+ auth: "auth";
1347
+ plugin: "plugin";
1348
+ rest: "rest";
1349
+ rpc: "rpc";
1350
+ }>>;
1351
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1352
+ status: z.ZodOptional<z.ZodEnum<{
1353
+ deprecated: "deprecated";
1354
+ active: "active";
1355
+ experimental: "experimental";
1356
+ beta: "beta";
1357
+ }>>;
1358
+ pluginSource: z.ZodOptional<z.ZodString>;
1359
+ search: z.ZodOptional<z.ZodString>;
1360
+ version: z.ZodOptional<z.ZodString>;
1361
+ }, z.core.$strip>>;
1362
+ }, z.core.$strip>;
1363
+ export type ApiDiscoveryResponse = z.infer<typeof ApiDiscoveryResponseSchema>;
1364
+ /**
1365
+ * Helper to create API endpoint registration
1366
+ */
1367
+ export declare const ApiEndpointRegistration: z.ZodObject<{
1368
+ id: z.ZodString;
1369
+ method: z.ZodOptional<z.ZodEnum<{
1370
+ GET: "GET";
1371
+ POST: "POST";
1372
+ PUT: "PUT";
1373
+ DELETE: "DELETE";
1374
+ PATCH: "PATCH";
1375
+ HEAD: "HEAD";
1376
+ OPTIONS: "OPTIONS";
1377
+ }>>;
1378
+ path: z.ZodString;
1379
+ summary: z.ZodOptional<z.ZodString>;
1380
+ description: z.ZodOptional<z.ZodString>;
1381
+ operationId: z.ZodOptional<z.ZodString>;
1382
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
1383
+ parameters: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1384
+ name: z.ZodString;
1385
+ in: z.ZodEnum<{
1386
+ path: "path";
1387
+ query: "query";
1388
+ body: "body";
1389
+ header: "header";
1390
+ cookie: "cookie";
1391
+ }>;
1392
+ description: z.ZodOptional<z.ZodString>;
1393
+ required: z.ZodDefault<z.ZodBoolean>;
1394
+ schema: z.ZodUnion<readonly [z.ZodObject<{
1395
+ type: z.ZodEnum<{
1396
+ string: "string";
1397
+ number: "number";
1398
+ boolean: "boolean";
1399
+ object: "object";
1400
+ array: "array";
1401
+ integer: "integer";
1402
+ }>;
1403
+ format: z.ZodOptional<z.ZodString>;
1404
+ enum: z.ZodOptional<z.ZodArray<z.ZodAny>>;
1405
+ default: z.ZodOptional<z.ZodAny>;
1406
+ items: z.ZodOptional<z.ZodAny>;
1407
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1408
+ }, z.core.$strip>, z.ZodObject<{
1409
+ $ref: z.ZodObject<{
1410
+ objectId: z.ZodString;
1411
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1412
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1413
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
1414
+ }, z.core.$strip>;
1415
+ }, z.core.$strip>]>;
1416
+ example: z.ZodOptional<z.ZodAny>;
1417
+ }, z.core.$strip>>>>;
1418
+ requestBody: z.ZodOptional<z.ZodObject<{
1419
+ description: z.ZodOptional<z.ZodString>;
1420
+ required: z.ZodDefault<z.ZodBoolean>;
1421
+ contentType: z.ZodDefault<z.ZodString>;
1422
+ schema: z.ZodOptional<z.ZodAny>;
1423
+ example: z.ZodOptional<z.ZodAny>;
1424
+ }, z.core.$strip>>;
1425
+ responses: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1426
+ statusCode: z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
1427
+ "2xx": "2xx";
1428
+ "3xx": "3xx";
1429
+ "4xx": "4xx";
1430
+ "5xx": "5xx";
1431
+ }>]>;
1432
+ description: z.ZodString;
1433
+ contentType: z.ZodDefault<z.ZodString>;
1434
+ schema: z.ZodOptional<z.ZodUnion<readonly [z.ZodAny, z.ZodObject<{
1435
+ $ref: z.ZodObject<{
1436
+ objectId: z.ZodString;
1437
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1438
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1439
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
1440
+ }, z.core.$strip>;
1441
+ }, z.core.$strip>]>>;
1442
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1443
+ description: z.ZodOptional<z.ZodString>;
1444
+ schema: z.ZodAny;
1445
+ }, z.core.$strip>>>;
1446
+ example: z.ZodOptional<z.ZodAny>;
1447
+ }, z.core.$strip>>>>;
1448
+ requiredPermissions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
1449
+ security: z.ZodOptional<z.ZodArray<z.ZodObject<{
1450
+ type: z.ZodEnum<{
1451
+ oauth2: "oauth2";
1452
+ apiKey: "apiKey";
1453
+ http: "http";
1454
+ openIdConnect: "openIdConnect";
1455
+ }>;
1456
+ scheme: z.ZodOptional<z.ZodString>;
1457
+ name: z.ZodOptional<z.ZodString>;
1458
+ in: z.ZodOptional<z.ZodEnum<{
1459
+ query: "query";
1460
+ header: "header";
1461
+ cookie: "cookie";
1462
+ }>>;
1463
+ }, z.core.$strip>>>;
1464
+ priority: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1465
+ protocolConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1466
+ deprecated: z.ZodDefault<z.ZodBoolean>;
1467
+ externalDocs: z.ZodOptional<z.ZodObject<{
1468
+ description: z.ZodOptional<z.ZodString>;
1469
+ url: z.ZodString;
1470
+ }, z.core.$strip>>;
1471
+ }, z.core.$strip> & {
1472
+ create: <T extends z.input<typeof ApiEndpointRegistrationSchema>>(config: T) => T;
1473
+ };
1474
+ /**
1475
+ * Helper to create API registry entry
1476
+ */
1477
+ export declare const ApiRegistryEntry: z.ZodObject<{
1478
+ id: z.ZodString;
1479
+ name: z.ZodString;
1480
+ type: z.ZodEnum<{
1481
+ file: "file";
1482
+ metadata: "metadata";
1483
+ odata: "odata";
1484
+ graphql: "graphql";
1485
+ webhook: "webhook";
1486
+ websocket: "websocket";
1487
+ auth: "auth";
1488
+ plugin: "plugin";
1489
+ rest: "rest";
1490
+ rpc: "rpc";
1491
+ }>;
1492
+ version: z.ZodString;
1493
+ basePath: z.ZodString;
1494
+ description: z.ZodOptional<z.ZodString>;
1495
+ endpoints: z.ZodArray<z.ZodObject<{
1496
+ id: z.ZodString;
1497
+ method: z.ZodOptional<z.ZodEnum<{
1498
+ GET: "GET";
1499
+ POST: "POST";
1500
+ PUT: "PUT";
1501
+ DELETE: "DELETE";
1502
+ PATCH: "PATCH";
1503
+ HEAD: "HEAD";
1504
+ OPTIONS: "OPTIONS";
1505
+ }>>;
1506
+ path: z.ZodString;
1507
+ summary: z.ZodOptional<z.ZodString>;
1508
+ description: z.ZodOptional<z.ZodString>;
1509
+ operationId: z.ZodOptional<z.ZodString>;
1510
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
1511
+ parameters: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1512
+ name: z.ZodString;
1513
+ in: z.ZodEnum<{
1514
+ path: "path";
1515
+ query: "query";
1516
+ body: "body";
1517
+ header: "header";
1518
+ cookie: "cookie";
1519
+ }>;
1520
+ description: z.ZodOptional<z.ZodString>;
1521
+ required: z.ZodDefault<z.ZodBoolean>;
1522
+ schema: z.ZodUnion<readonly [z.ZodObject<{
1523
+ type: z.ZodEnum<{
1524
+ string: "string";
1525
+ number: "number";
1526
+ boolean: "boolean";
1527
+ object: "object";
1528
+ array: "array";
1529
+ integer: "integer";
1530
+ }>;
1531
+ format: z.ZodOptional<z.ZodString>;
1532
+ enum: z.ZodOptional<z.ZodArray<z.ZodAny>>;
1533
+ default: z.ZodOptional<z.ZodAny>;
1534
+ items: z.ZodOptional<z.ZodAny>;
1535
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1536
+ }, z.core.$strip>, z.ZodObject<{
1537
+ $ref: z.ZodObject<{
1538
+ objectId: z.ZodString;
1539
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1540
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1541
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
1542
+ }, z.core.$strip>;
1543
+ }, z.core.$strip>]>;
1544
+ example: z.ZodOptional<z.ZodAny>;
1545
+ }, z.core.$strip>>>>;
1546
+ requestBody: z.ZodOptional<z.ZodObject<{
1547
+ description: z.ZodOptional<z.ZodString>;
1548
+ required: z.ZodDefault<z.ZodBoolean>;
1549
+ contentType: z.ZodDefault<z.ZodString>;
1550
+ schema: z.ZodOptional<z.ZodAny>;
1551
+ example: z.ZodOptional<z.ZodAny>;
1552
+ }, z.core.$strip>>;
1553
+ responses: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1554
+ statusCode: z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
1555
+ "2xx": "2xx";
1556
+ "3xx": "3xx";
1557
+ "4xx": "4xx";
1558
+ "5xx": "5xx";
1559
+ }>]>;
1560
+ description: z.ZodString;
1561
+ contentType: z.ZodDefault<z.ZodString>;
1562
+ schema: z.ZodOptional<z.ZodUnion<readonly [z.ZodAny, z.ZodObject<{
1563
+ $ref: z.ZodObject<{
1564
+ objectId: z.ZodString;
1565
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1566
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1567
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
1568
+ }, z.core.$strip>;
1569
+ }, z.core.$strip>]>>;
1570
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1571
+ description: z.ZodOptional<z.ZodString>;
1572
+ schema: z.ZodAny;
1573
+ }, z.core.$strip>>>;
1574
+ example: z.ZodOptional<z.ZodAny>;
1575
+ }, z.core.$strip>>>>;
1576
+ requiredPermissions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
1577
+ security: z.ZodOptional<z.ZodArray<z.ZodObject<{
1578
+ type: z.ZodEnum<{
1579
+ oauth2: "oauth2";
1580
+ apiKey: "apiKey";
1581
+ http: "http";
1582
+ openIdConnect: "openIdConnect";
1583
+ }>;
1584
+ scheme: z.ZodOptional<z.ZodString>;
1585
+ name: z.ZodOptional<z.ZodString>;
1586
+ in: z.ZodOptional<z.ZodEnum<{
1587
+ query: "query";
1588
+ header: "header";
1589
+ cookie: "cookie";
1590
+ }>>;
1591
+ }, z.core.$strip>>>;
1592
+ priority: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1593
+ protocolConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1594
+ deprecated: z.ZodDefault<z.ZodBoolean>;
1595
+ externalDocs: z.ZodOptional<z.ZodObject<{
1596
+ description: z.ZodOptional<z.ZodString>;
1597
+ url: z.ZodString;
1598
+ }, z.core.$strip>>;
1599
+ }, z.core.$strip>>;
1600
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1601
+ metadata: z.ZodOptional<z.ZodObject<{
1602
+ owner: z.ZodOptional<z.ZodString>;
1603
+ status: z.ZodDefault<z.ZodEnum<{
1604
+ deprecated: "deprecated";
1605
+ active: "active";
1606
+ experimental: "experimental";
1607
+ beta: "beta";
1608
+ }>>;
1609
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
1610
+ pluginSource: z.ZodOptional<z.ZodString>;
1611
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1612
+ }, z.core.$strip>>;
1613
+ termsOfService: z.ZodOptional<z.ZodString>;
1614
+ contact: z.ZodOptional<z.ZodObject<{
1615
+ name: z.ZodOptional<z.ZodString>;
1616
+ url: z.ZodOptional<z.ZodString>;
1617
+ email: z.ZodOptional<z.ZodString>;
1618
+ }, z.core.$strip>>;
1619
+ license: z.ZodOptional<z.ZodObject<{
1620
+ name: z.ZodString;
1621
+ url: z.ZodOptional<z.ZodString>;
1622
+ }, z.core.$strip>>;
1623
+ }, z.core.$strip> & {
1624
+ create: <T extends z.input<typeof ApiRegistryEntrySchema>>(config: T) => T;
1625
+ };
1626
+ /**
1627
+ * Helper to create API registry
1628
+ */
1629
+ export declare const ApiRegistry: z.ZodObject<{
1630
+ version: z.ZodString;
1631
+ conflictResolution: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
1632
+ error: "error";
1633
+ priority: "priority";
1634
+ "first-wins": "first-wins";
1635
+ "last-wins": "last-wins";
1636
+ }>>>;
1637
+ apis: z.ZodArray<z.ZodObject<{
1638
+ id: z.ZodString;
1639
+ name: z.ZodString;
1640
+ type: z.ZodEnum<{
1641
+ file: "file";
1642
+ metadata: "metadata";
1643
+ odata: "odata";
1644
+ graphql: "graphql";
1645
+ webhook: "webhook";
1646
+ websocket: "websocket";
1647
+ auth: "auth";
1648
+ plugin: "plugin";
1649
+ rest: "rest";
1650
+ rpc: "rpc";
1651
+ }>;
1652
+ version: z.ZodString;
1653
+ basePath: z.ZodString;
1654
+ description: z.ZodOptional<z.ZodString>;
1655
+ endpoints: z.ZodArray<z.ZodObject<{
1656
+ id: z.ZodString;
1657
+ method: z.ZodOptional<z.ZodEnum<{
1658
+ GET: "GET";
1659
+ POST: "POST";
1660
+ PUT: "PUT";
1661
+ DELETE: "DELETE";
1662
+ PATCH: "PATCH";
1663
+ HEAD: "HEAD";
1664
+ OPTIONS: "OPTIONS";
1665
+ }>>;
1666
+ path: z.ZodString;
1667
+ summary: z.ZodOptional<z.ZodString>;
1668
+ description: z.ZodOptional<z.ZodString>;
1669
+ operationId: z.ZodOptional<z.ZodString>;
1670
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
1671
+ parameters: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1672
+ name: z.ZodString;
1673
+ in: z.ZodEnum<{
1674
+ path: "path";
1675
+ query: "query";
1676
+ body: "body";
1677
+ header: "header";
1678
+ cookie: "cookie";
1679
+ }>;
1680
+ description: z.ZodOptional<z.ZodString>;
1681
+ required: z.ZodDefault<z.ZodBoolean>;
1682
+ schema: z.ZodUnion<readonly [z.ZodObject<{
1683
+ type: z.ZodEnum<{
1684
+ string: "string";
1685
+ number: "number";
1686
+ boolean: "boolean";
1687
+ object: "object";
1688
+ array: "array";
1689
+ integer: "integer";
1690
+ }>;
1691
+ format: z.ZodOptional<z.ZodString>;
1692
+ enum: z.ZodOptional<z.ZodArray<z.ZodAny>>;
1693
+ default: z.ZodOptional<z.ZodAny>;
1694
+ items: z.ZodOptional<z.ZodAny>;
1695
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1696
+ }, z.core.$strip>, z.ZodObject<{
1697
+ $ref: z.ZodObject<{
1698
+ objectId: z.ZodString;
1699
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1700
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1701
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
1702
+ }, z.core.$strip>;
1703
+ }, z.core.$strip>]>;
1704
+ example: z.ZodOptional<z.ZodAny>;
1705
+ }, z.core.$strip>>>>;
1706
+ requestBody: z.ZodOptional<z.ZodObject<{
1707
+ description: z.ZodOptional<z.ZodString>;
1708
+ required: z.ZodDefault<z.ZodBoolean>;
1709
+ contentType: z.ZodDefault<z.ZodString>;
1710
+ schema: z.ZodOptional<z.ZodAny>;
1711
+ example: z.ZodOptional<z.ZodAny>;
1712
+ }, z.core.$strip>>;
1713
+ responses: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1714
+ statusCode: z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
1715
+ "2xx": "2xx";
1716
+ "3xx": "3xx";
1717
+ "4xx": "4xx";
1718
+ "5xx": "5xx";
1719
+ }>]>;
1720
+ description: z.ZodString;
1721
+ contentType: z.ZodDefault<z.ZodString>;
1722
+ schema: z.ZodOptional<z.ZodUnion<readonly [z.ZodAny, z.ZodObject<{
1723
+ $ref: z.ZodObject<{
1724
+ objectId: z.ZodString;
1725
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1726
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1727
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
1728
+ }, z.core.$strip>;
1729
+ }, z.core.$strip>]>>;
1730
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1731
+ description: z.ZodOptional<z.ZodString>;
1732
+ schema: z.ZodAny;
1733
+ }, z.core.$strip>>>;
1734
+ example: z.ZodOptional<z.ZodAny>;
1735
+ }, z.core.$strip>>>>;
1736
+ requiredPermissions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
1737
+ security: z.ZodOptional<z.ZodArray<z.ZodObject<{
1738
+ type: z.ZodEnum<{
1739
+ oauth2: "oauth2";
1740
+ apiKey: "apiKey";
1741
+ http: "http";
1742
+ openIdConnect: "openIdConnect";
1743
+ }>;
1744
+ scheme: z.ZodOptional<z.ZodString>;
1745
+ name: z.ZodOptional<z.ZodString>;
1746
+ in: z.ZodOptional<z.ZodEnum<{
1747
+ query: "query";
1748
+ header: "header";
1749
+ cookie: "cookie";
1750
+ }>>;
1751
+ }, z.core.$strip>>>;
1752
+ priority: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1753
+ protocolConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1754
+ deprecated: z.ZodDefault<z.ZodBoolean>;
1755
+ externalDocs: z.ZodOptional<z.ZodObject<{
1756
+ description: z.ZodOptional<z.ZodString>;
1757
+ url: z.ZodString;
1758
+ }, z.core.$strip>>;
1759
+ }, z.core.$strip>>;
1760
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1761
+ metadata: z.ZodOptional<z.ZodObject<{
1762
+ owner: z.ZodOptional<z.ZodString>;
1763
+ status: z.ZodDefault<z.ZodEnum<{
1764
+ deprecated: "deprecated";
1765
+ active: "active";
1766
+ experimental: "experimental";
1767
+ beta: "beta";
1768
+ }>>;
1769
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
1770
+ pluginSource: z.ZodOptional<z.ZodString>;
1771
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1772
+ }, z.core.$strip>>;
1773
+ termsOfService: z.ZodOptional<z.ZodString>;
1774
+ contact: z.ZodOptional<z.ZodObject<{
1775
+ name: z.ZodOptional<z.ZodString>;
1776
+ url: z.ZodOptional<z.ZodString>;
1777
+ email: z.ZodOptional<z.ZodString>;
1778
+ }, z.core.$strip>>;
1779
+ license: z.ZodOptional<z.ZodObject<{
1780
+ name: z.ZodString;
1781
+ url: z.ZodOptional<z.ZodString>;
1782
+ }, z.core.$strip>>;
1783
+ }, z.core.$strip>>;
1784
+ totalApis: z.ZodNumber;
1785
+ totalEndpoints: z.ZodNumber;
1786
+ byType: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
1787
+ file: "file";
1788
+ metadata: "metadata";
1789
+ odata: "odata";
1790
+ graphql: "graphql";
1791
+ webhook: "webhook";
1792
+ websocket: "websocket";
1793
+ auth: "auth";
1794
+ plugin: "plugin";
1795
+ rest: "rest";
1796
+ rpc: "rpc";
1797
+ }>, z.ZodArray<z.ZodObject<{
1798
+ id: z.ZodString;
1799
+ name: z.ZodString;
1800
+ type: z.ZodEnum<{
1801
+ file: "file";
1802
+ metadata: "metadata";
1803
+ odata: "odata";
1804
+ graphql: "graphql";
1805
+ webhook: "webhook";
1806
+ websocket: "websocket";
1807
+ auth: "auth";
1808
+ plugin: "plugin";
1809
+ rest: "rest";
1810
+ rpc: "rpc";
1811
+ }>;
1812
+ version: z.ZodString;
1813
+ basePath: z.ZodString;
1814
+ description: z.ZodOptional<z.ZodString>;
1815
+ endpoints: z.ZodArray<z.ZodObject<{
1816
+ id: z.ZodString;
1817
+ method: z.ZodOptional<z.ZodEnum<{
1818
+ GET: "GET";
1819
+ POST: "POST";
1820
+ PUT: "PUT";
1821
+ DELETE: "DELETE";
1822
+ PATCH: "PATCH";
1823
+ HEAD: "HEAD";
1824
+ OPTIONS: "OPTIONS";
1825
+ }>>;
1826
+ path: z.ZodString;
1827
+ summary: z.ZodOptional<z.ZodString>;
1828
+ description: z.ZodOptional<z.ZodString>;
1829
+ operationId: z.ZodOptional<z.ZodString>;
1830
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
1831
+ parameters: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1832
+ name: z.ZodString;
1833
+ in: z.ZodEnum<{
1834
+ path: "path";
1835
+ query: "query";
1836
+ body: "body";
1837
+ header: "header";
1838
+ cookie: "cookie";
1839
+ }>;
1840
+ description: z.ZodOptional<z.ZodString>;
1841
+ required: z.ZodDefault<z.ZodBoolean>;
1842
+ schema: z.ZodUnion<readonly [z.ZodObject<{
1843
+ type: z.ZodEnum<{
1844
+ string: "string";
1845
+ number: "number";
1846
+ boolean: "boolean";
1847
+ object: "object";
1848
+ array: "array";
1849
+ integer: "integer";
1850
+ }>;
1851
+ format: z.ZodOptional<z.ZodString>;
1852
+ enum: z.ZodOptional<z.ZodArray<z.ZodAny>>;
1853
+ default: z.ZodOptional<z.ZodAny>;
1854
+ items: z.ZodOptional<z.ZodAny>;
1855
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1856
+ }, z.core.$strip>, z.ZodObject<{
1857
+ $ref: z.ZodObject<{
1858
+ objectId: z.ZodString;
1859
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1860
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1861
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
1862
+ }, z.core.$strip>;
1863
+ }, z.core.$strip>]>;
1864
+ example: z.ZodOptional<z.ZodAny>;
1865
+ }, z.core.$strip>>>>;
1866
+ requestBody: z.ZodOptional<z.ZodObject<{
1867
+ description: z.ZodOptional<z.ZodString>;
1868
+ required: z.ZodDefault<z.ZodBoolean>;
1869
+ contentType: z.ZodDefault<z.ZodString>;
1870
+ schema: z.ZodOptional<z.ZodAny>;
1871
+ example: z.ZodOptional<z.ZodAny>;
1872
+ }, z.core.$strip>>;
1873
+ responses: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1874
+ statusCode: z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
1875
+ "2xx": "2xx";
1876
+ "3xx": "3xx";
1877
+ "4xx": "4xx";
1878
+ "5xx": "5xx";
1879
+ }>]>;
1880
+ description: z.ZodString;
1881
+ contentType: z.ZodDefault<z.ZodString>;
1882
+ schema: z.ZodOptional<z.ZodUnion<readonly [z.ZodAny, z.ZodObject<{
1883
+ $ref: z.ZodObject<{
1884
+ objectId: z.ZodString;
1885
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1886
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1887
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
1888
+ }, z.core.$strip>;
1889
+ }, z.core.$strip>]>>;
1890
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1891
+ description: z.ZodOptional<z.ZodString>;
1892
+ schema: z.ZodAny;
1893
+ }, z.core.$strip>>>;
1894
+ example: z.ZodOptional<z.ZodAny>;
1895
+ }, z.core.$strip>>>>;
1896
+ requiredPermissions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
1897
+ security: z.ZodOptional<z.ZodArray<z.ZodObject<{
1898
+ type: z.ZodEnum<{
1899
+ oauth2: "oauth2";
1900
+ apiKey: "apiKey";
1901
+ http: "http";
1902
+ openIdConnect: "openIdConnect";
1903
+ }>;
1904
+ scheme: z.ZodOptional<z.ZodString>;
1905
+ name: z.ZodOptional<z.ZodString>;
1906
+ in: z.ZodOptional<z.ZodEnum<{
1907
+ query: "query";
1908
+ header: "header";
1909
+ cookie: "cookie";
1910
+ }>>;
1911
+ }, z.core.$strip>>>;
1912
+ priority: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1913
+ protocolConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1914
+ deprecated: z.ZodDefault<z.ZodBoolean>;
1915
+ externalDocs: z.ZodOptional<z.ZodObject<{
1916
+ description: z.ZodOptional<z.ZodString>;
1917
+ url: z.ZodString;
1918
+ }, z.core.$strip>>;
1919
+ }, z.core.$strip>>;
1920
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1921
+ metadata: z.ZodOptional<z.ZodObject<{
1922
+ owner: z.ZodOptional<z.ZodString>;
1923
+ status: z.ZodDefault<z.ZodEnum<{
1924
+ deprecated: "deprecated";
1925
+ active: "active";
1926
+ experimental: "experimental";
1927
+ beta: "beta";
1928
+ }>>;
1929
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
1930
+ pluginSource: z.ZodOptional<z.ZodString>;
1931
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1932
+ }, z.core.$strip>>;
1933
+ termsOfService: z.ZodOptional<z.ZodString>;
1934
+ contact: z.ZodOptional<z.ZodObject<{
1935
+ name: z.ZodOptional<z.ZodString>;
1936
+ url: z.ZodOptional<z.ZodString>;
1937
+ email: z.ZodOptional<z.ZodString>;
1938
+ }, z.core.$strip>>;
1939
+ license: z.ZodOptional<z.ZodObject<{
1940
+ name: z.ZodString;
1941
+ url: z.ZodOptional<z.ZodString>;
1942
+ }, z.core.$strip>>;
1943
+ }, z.core.$strip>>>>;
1944
+ byStatus: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
1945
+ id: z.ZodString;
1946
+ name: z.ZodString;
1947
+ type: z.ZodEnum<{
1948
+ file: "file";
1949
+ metadata: "metadata";
1950
+ odata: "odata";
1951
+ graphql: "graphql";
1952
+ webhook: "webhook";
1953
+ websocket: "websocket";
1954
+ auth: "auth";
1955
+ plugin: "plugin";
1956
+ rest: "rest";
1957
+ rpc: "rpc";
1958
+ }>;
1959
+ version: z.ZodString;
1960
+ basePath: z.ZodString;
1961
+ description: z.ZodOptional<z.ZodString>;
1962
+ endpoints: z.ZodArray<z.ZodObject<{
1963
+ id: z.ZodString;
1964
+ method: z.ZodOptional<z.ZodEnum<{
1965
+ GET: "GET";
1966
+ POST: "POST";
1967
+ PUT: "PUT";
1968
+ DELETE: "DELETE";
1969
+ PATCH: "PATCH";
1970
+ HEAD: "HEAD";
1971
+ OPTIONS: "OPTIONS";
1972
+ }>>;
1973
+ path: z.ZodString;
1974
+ summary: z.ZodOptional<z.ZodString>;
1975
+ description: z.ZodOptional<z.ZodString>;
1976
+ operationId: z.ZodOptional<z.ZodString>;
1977
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
1978
+ parameters: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1979
+ name: z.ZodString;
1980
+ in: z.ZodEnum<{
1981
+ path: "path";
1982
+ query: "query";
1983
+ body: "body";
1984
+ header: "header";
1985
+ cookie: "cookie";
1986
+ }>;
1987
+ description: z.ZodOptional<z.ZodString>;
1988
+ required: z.ZodDefault<z.ZodBoolean>;
1989
+ schema: z.ZodUnion<readonly [z.ZodObject<{
1990
+ type: z.ZodEnum<{
1991
+ string: "string";
1992
+ number: "number";
1993
+ boolean: "boolean";
1994
+ object: "object";
1995
+ array: "array";
1996
+ integer: "integer";
1997
+ }>;
1998
+ format: z.ZodOptional<z.ZodString>;
1999
+ enum: z.ZodOptional<z.ZodArray<z.ZodAny>>;
2000
+ default: z.ZodOptional<z.ZodAny>;
2001
+ items: z.ZodOptional<z.ZodAny>;
2002
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
2003
+ }, z.core.$strip>, z.ZodObject<{
2004
+ $ref: z.ZodObject<{
2005
+ objectId: z.ZodString;
2006
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
2007
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
2008
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
2009
+ }, z.core.$strip>;
2010
+ }, z.core.$strip>]>;
2011
+ example: z.ZodOptional<z.ZodAny>;
2012
+ }, z.core.$strip>>>>;
2013
+ requestBody: z.ZodOptional<z.ZodObject<{
2014
+ description: z.ZodOptional<z.ZodString>;
2015
+ required: z.ZodDefault<z.ZodBoolean>;
2016
+ contentType: z.ZodDefault<z.ZodString>;
2017
+ schema: z.ZodOptional<z.ZodAny>;
2018
+ example: z.ZodOptional<z.ZodAny>;
2019
+ }, z.core.$strip>>;
2020
+ responses: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
2021
+ statusCode: z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
2022
+ "2xx": "2xx";
2023
+ "3xx": "3xx";
2024
+ "4xx": "4xx";
2025
+ "5xx": "5xx";
2026
+ }>]>;
2027
+ description: z.ZodString;
2028
+ contentType: z.ZodDefault<z.ZodString>;
2029
+ schema: z.ZodOptional<z.ZodUnion<readonly [z.ZodAny, z.ZodObject<{
2030
+ $ref: z.ZodObject<{
2031
+ objectId: z.ZodString;
2032
+ includeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
2033
+ excludeFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
2034
+ includeRelated: z.ZodOptional<z.ZodArray<z.ZodString>>;
2035
+ }, z.core.$strip>;
2036
+ }, z.core.$strip>]>>;
2037
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2038
+ description: z.ZodOptional<z.ZodString>;
2039
+ schema: z.ZodAny;
2040
+ }, z.core.$strip>>>;
2041
+ example: z.ZodOptional<z.ZodAny>;
2042
+ }, z.core.$strip>>>>;
2043
+ requiredPermissions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
2044
+ security: z.ZodOptional<z.ZodArray<z.ZodObject<{
2045
+ type: z.ZodEnum<{
2046
+ oauth2: "oauth2";
2047
+ apiKey: "apiKey";
2048
+ http: "http";
2049
+ openIdConnect: "openIdConnect";
2050
+ }>;
2051
+ scheme: z.ZodOptional<z.ZodString>;
2052
+ name: z.ZodOptional<z.ZodString>;
2053
+ in: z.ZodOptional<z.ZodEnum<{
2054
+ query: "query";
2055
+ header: "header";
2056
+ cookie: "cookie";
2057
+ }>>;
2058
+ }, z.core.$strip>>>;
2059
+ priority: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
2060
+ protocolConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
2061
+ deprecated: z.ZodDefault<z.ZodBoolean>;
2062
+ externalDocs: z.ZodOptional<z.ZodObject<{
2063
+ description: z.ZodOptional<z.ZodString>;
2064
+ url: z.ZodString;
2065
+ }, z.core.$strip>>;
2066
+ }, z.core.$strip>>;
2067
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
2068
+ metadata: z.ZodOptional<z.ZodObject<{
2069
+ owner: z.ZodOptional<z.ZodString>;
2070
+ status: z.ZodDefault<z.ZodEnum<{
2071
+ deprecated: "deprecated";
2072
+ active: "active";
2073
+ experimental: "experimental";
2074
+ beta: "beta";
2075
+ }>>;
2076
+ tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
2077
+ pluginSource: z.ZodOptional<z.ZodString>;
2078
+ custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
2079
+ }, z.core.$strip>>;
2080
+ termsOfService: z.ZodOptional<z.ZodString>;
2081
+ contact: z.ZodOptional<z.ZodObject<{
2082
+ name: z.ZodOptional<z.ZodString>;
2083
+ url: z.ZodOptional<z.ZodString>;
2084
+ email: z.ZodOptional<z.ZodString>;
2085
+ }, z.core.$strip>>;
2086
+ license: z.ZodOptional<z.ZodObject<{
2087
+ name: z.ZodString;
2088
+ url: z.ZodOptional<z.ZodString>;
2089
+ }, z.core.$strip>>;
2090
+ }, z.core.$strip>>>>;
2091
+ updatedAt: z.ZodOptional<z.ZodString>;
2092
+ }, z.core.$strip> & {
2093
+ create: <T extends z.input<typeof ApiRegistrySchema>>(config: T) => T;
2094
+ };
2095
+ //# sourceMappingURL=registry.zod.d.ts.map