mcp-proxy-adapter 2.0.1__py3-none-any.whl → 6.9.50__py3-none-any.whl

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.

Potentially problematic release.


This version of mcp-proxy-adapter might be problematic. Click here for more details.

Files changed (269) hide show
  1. mcp_proxy_adapter/__init__.py +47 -0
  2. mcp_proxy_adapter/__main__.py +13 -0
  3. mcp_proxy_adapter/api/__init__.py +0 -0
  4. mcp_proxy_adapter/api/app.py +66 -0
  5. mcp_proxy_adapter/api/core/__init__.py +18 -0
  6. mcp_proxy_adapter/api/core/app_factory.py +400 -0
  7. mcp_proxy_adapter/api/core/lifespan_manager.py +55 -0
  8. mcp_proxy_adapter/api/core/registration_context.py +356 -0
  9. mcp_proxy_adapter/api/core/registration_manager.py +307 -0
  10. mcp_proxy_adapter/api/core/registration_tasks.py +84 -0
  11. mcp_proxy_adapter/api/core/ssl_context_factory.py +88 -0
  12. mcp_proxy_adapter/api/handlers.py +181 -0
  13. mcp_proxy_adapter/api/middleware/__init__.py +21 -0
  14. mcp_proxy_adapter/api/middleware/base.py +54 -0
  15. mcp_proxy_adapter/api/middleware/command_permission_middleware.py +73 -0
  16. mcp_proxy_adapter/api/middleware/error_handling.py +76 -0
  17. mcp_proxy_adapter/api/middleware/factory.py +147 -0
  18. mcp_proxy_adapter/api/middleware/logging.py +31 -0
  19. mcp_proxy_adapter/api/middleware/performance.py +51 -0
  20. mcp_proxy_adapter/api/middleware/protocol_middleware.py +140 -0
  21. mcp_proxy_adapter/api/middleware/transport_middleware.py +87 -0
  22. mcp_proxy_adapter/api/middleware/unified_security.py +223 -0
  23. mcp_proxy_adapter/api/middleware/user_info_middleware.py +132 -0
  24. mcp_proxy_adapter/api/openapi/__init__.py +21 -0
  25. mcp_proxy_adapter/api/openapi/command_integration.py +105 -0
  26. mcp_proxy_adapter/api/openapi/openapi_generator.py +40 -0
  27. mcp_proxy_adapter/api/openapi/openapi_registry.py +62 -0
  28. mcp_proxy_adapter/api/openapi/schema_loader.py +116 -0
  29. mcp_proxy_adapter/api/schemas.py +270 -0
  30. mcp_proxy_adapter/api/tool_integration.py +131 -0
  31. mcp_proxy_adapter/api/tools.py +163 -0
  32. mcp_proxy_adapter/cli/__init__.py +12 -0
  33. mcp_proxy_adapter/cli/commands/__init__.py +15 -0
  34. mcp_proxy_adapter/cli/commands/client.py +100 -0
  35. mcp_proxy_adapter/cli/commands/config_generate.py +105 -0
  36. mcp_proxy_adapter/cli/commands/config_validate.py +94 -0
  37. mcp_proxy_adapter/cli/commands/generate.py +259 -0
  38. mcp_proxy_adapter/cli/commands/server.py +174 -0
  39. mcp_proxy_adapter/cli/commands/sets.py +132 -0
  40. mcp_proxy_adapter/cli/commands/testconfig.py +177 -0
  41. mcp_proxy_adapter/cli/examples/__init__.py +8 -0
  42. mcp_proxy_adapter/cli/examples/http_basic.py +82 -0
  43. mcp_proxy_adapter/cli/examples/https_token.py +96 -0
  44. mcp_proxy_adapter/cli/examples/mtls_roles.py +103 -0
  45. mcp_proxy_adapter/cli/main.py +63 -0
  46. mcp_proxy_adapter/cli/parser.py +338 -0
  47. mcp_proxy_adapter/cli/validators.py +231 -0
  48. mcp_proxy_adapter/client/jsonrpc_client/__init__.py +9 -0
  49. mcp_proxy_adapter/client/jsonrpc_client/client.py +42 -0
  50. mcp_proxy_adapter/client/jsonrpc_client/command_api.py +45 -0
  51. mcp_proxy_adapter/client/jsonrpc_client/proxy_api.py +224 -0
  52. mcp_proxy_adapter/client/jsonrpc_client/queue_api.py +60 -0
  53. mcp_proxy_adapter/client/jsonrpc_client/transport.py +108 -0
  54. mcp_proxy_adapter/client/proxy.py +123 -0
  55. mcp_proxy_adapter/commands/__init__.py +66 -0
  56. mcp_proxy_adapter/commands/auth_validation_command.py +69 -0
  57. mcp_proxy_adapter/commands/base.py +389 -0
  58. mcp_proxy_adapter/commands/builtin_commands.py +30 -0
  59. mcp_proxy_adapter/commands/catalog/__init__.py +20 -0
  60. mcp_proxy_adapter/commands/catalog/catalog_loader.py +34 -0
  61. mcp_proxy_adapter/commands/catalog/catalog_manager.py +122 -0
  62. mcp_proxy_adapter/commands/catalog/catalog_syncer.py +149 -0
  63. mcp_proxy_adapter/commands/catalog/command_catalog.py +43 -0
  64. mcp_proxy_adapter/commands/catalog/dependency_manager.py +37 -0
  65. mcp_proxy_adapter/commands/catalog_manager.py +97 -0
  66. mcp_proxy_adapter/commands/cert_monitor_command.py +552 -0
  67. mcp_proxy_adapter/commands/certificate_management_command.py +562 -0
  68. mcp_proxy_adapter/commands/command_registry.py +298 -0
  69. mcp_proxy_adapter/commands/config_command.py +102 -0
  70. mcp_proxy_adapter/commands/dependency_container.py +40 -0
  71. mcp_proxy_adapter/commands/dependency_manager.py +143 -0
  72. mcp_proxy_adapter/commands/echo_command.py +48 -0
  73. mcp_proxy_adapter/commands/health_command.py +142 -0
  74. mcp_proxy_adapter/commands/help_command.py +175 -0
  75. mcp_proxy_adapter/commands/hooks.py +172 -0
  76. mcp_proxy_adapter/commands/key_management_command.py +484 -0
  77. mcp_proxy_adapter/commands/load_command.py +123 -0
  78. mcp_proxy_adapter/commands/plugins_command.py +246 -0
  79. mcp_proxy_adapter/commands/protocol_management_command.py +216 -0
  80. mcp_proxy_adapter/commands/proxy_registration_command.py +319 -0
  81. mcp_proxy_adapter/commands/queue_commands.py +750 -0
  82. mcp_proxy_adapter/commands/registration_status_command.py +76 -0
  83. mcp_proxy_adapter/commands/registry/__init__.py +18 -0
  84. mcp_proxy_adapter/commands/registry/command_info.py +103 -0
  85. mcp_proxy_adapter/commands/registry/command_loader.py +207 -0
  86. mcp_proxy_adapter/commands/registry/command_manager.py +119 -0
  87. mcp_proxy_adapter/commands/registry/command_registry.py +217 -0
  88. mcp_proxy_adapter/commands/reload_command.py +136 -0
  89. mcp_proxy_adapter/commands/result.py +157 -0
  90. mcp_proxy_adapter/commands/role_test_command.py +99 -0
  91. mcp_proxy_adapter/commands/roles_management_command.py +502 -0
  92. mcp_proxy_adapter/commands/security_command.py +472 -0
  93. mcp_proxy_adapter/commands/settings_command.py +113 -0
  94. mcp_proxy_adapter/commands/ssl_setup_command.py +306 -0
  95. mcp_proxy_adapter/commands/token_management_command.py +500 -0
  96. mcp_proxy_adapter/commands/transport_management_command.py +129 -0
  97. mcp_proxy_adapter/commands/unload_command.py +92 -0
  98. mcp_proxy_adapter/config.py +32 -0
  99. mcp_proxy_adapter/core/__init__.py +8 -0
  100. mcp_proxy_adapter/core/app_factory.py +560 -0
  101. mcp_proxy_adapter/core/app_runner.py +318 -0
  102. mcp_proxy_adapter/core/auth_validator.py +508 -0
  103. mcp_proxy_adapter/core/certificate/__init__.py +20 -0
  104. mcp_proxy_adapter/core/certificate/certificate_creator.py +372 -0
  105. mcp_proxy_adapter/core/certificate/certificate_extractor.py +185 -0
  106. mcp_proxy_adapter/core/certificate/certificate_utils.py +249 -0
  107. mcp_proxy_adapter/core/certificate/certificate_validator.py +481 -0
  108. mcp_proxy_adapter/core/certificate/ssl_context_manager.py +65 -0
  109. mcp_proxy_adapter/core/certificate_utils.py +249 -0
  110. mcp_proxy_adapter/core/client.py +608 -0
  111. mcp_proxy_adapter/core/client_manager.py +271 -0
  112. mcp_proxy_adapter/core/client_security.py +411 -0
  113. mcp_proxy_adapter/core/config/__init__.py +18 -0
  114. mcp_proxy_adapter/core/config/config.py +237 -0
  115. mcp_proxy_adapter/core/config/config_factory.py +22 -0
  116. mcp_proxy_adapter/core/config/config_loader.py +66 -0
  117. mcp_proxy_adapter/core/config/feature_manager.py +31 -0
  118. mcp_proxy_adapter/core/config/simple_config.py +204 -0
  119. mcp_proxy_adapter/core/config/simple_config_generator.py +131 -0
  120. mcp_proxy_adapter/core/config/simple_config_validator.py +476 -0
  121. mcp_proxy_adapter/core/config_converter.py +252 -0
  122. mcp_proxy_adapter/core/config_validator.py +211 -0
  123. mcp_proxy_adapter/core/crl_utils.py +362 -0
  124. mcp_proxy_adapter/core/errors.py +276 -0
  125. mcp_proxy_adapter/core/job_manager.py +54 -0
  126. mcp_proxy_adapter/core/logging.py +250 -0
  127. mcp_proxy_adapter/core/mtls_asgi.py +140 -0
  128. mcp_proxy_adapter/core/mtls_asgi_app.py +187 -0
  129. mcp_proxy_adapter/core/mtls_proxy.py +229 -0
  130. mcp_proxy_adapter/core/mtls_server.py +154 -0
  131. mcp_proxy_adapter/core/protocol_manager.py +232 -0
  132. mcp_proxy_adapter/core/proxy/__init__.py +19 -0
  133. mcp_proxy_adapter/core/proxy/auth_manager.py +26 -0
  134. mcp_proxy_adapter/core/proxy/proxy_registration_manager.py +160 -0
  135. mcp_proxy_adapter/core/proxy/registration_client.py +186 -0
  136. mcp_proxy_adapter/core/proxy/ssl_manager.py +101 -0
  137. mcp_proxy_adapter/core/proxy_client.py +184 -0
  138. mcp_proxy_adapter/core/proxy_registration.py +80 -0
  139. mcp_proxy_adapter/core/role_utils.py +103 -0
  140. mcp_proxy_adapter/core/security_adapter.py +343 -0
  141. mcp_proxy_adapter/core/security_factory.py +96 -0
  142. mcp_proxy_adapter/core/security_integration.py +342 -0
  143. mcp_proxy_adapter/core/server_adapter.py +251 -0
  144. mcp_proxy_adapter/core/server_engine.py +217 -0
  145. mcp_proxy_adapter/core/settings.py +260 -0
  146. mcp_proxy_adapter/core/signal_handler.py +107 -0
  147. mcp_proxy_adapter/core/ssl_utils.py +161 -0
  148. mcp_proxy_adapter/core/transport_manager.py +153 -0
  149. mcp_proxy_adapter/core/unified_config_adapter.py +471 -0
  150. mcp_proxy_adapter/core/utils.py +101 -0
  151. mcp_proxy_adapter/core/validation/__init__.py +21 -0
  152. mcp_proxy_adapter/core/validation/config_validator.py +219 -0
  153. mcp_proxy_adapter/core/validation/file_validator.py +131 -0
  154. mcp_proxy_adapter/core/validation/protocol_validator.py +205 -0
  155. mcp_proxy_adapter/core/validation/security_validator.py +140 -0
  156. mcp_proxy_adapter/core/validation/validation_result.py +27 -0
  157. mcp_proxy_adapter/custom_openapi.py +58 -0
  158. mcp_proxy_adapter/examples/__init__.py +16 -0
  159. mcp_proxy_adapter/examples/basic_framework/__init__.py +9 -0
  160. mcp_proxy_adapter/examples/basic_framework/commands/__init__.py +4 -0
  161. mcp_proxy_adapter/examples/basic_framework/hooks/__init__.py +4 -0
  162. mcp_proxy_adapter/examples/basic_framework/main.py +52 -0
  163. mcp_proxy_adapter/examples/bugfix_certificate_config.py +261 -0
  164. mcp_proxy_adapter/examples/cert_manager_bugfix.py +203 -0
  165. mcp_proxy_adapter/examples/check_config.py +413 -0
  166. mcp_proxy_adapter/examples/client_usage_example.py +164 -0
  167. mcp_proxy_adapter/examples/commands/__init__.py +5 -0
  168. mcp_proxy_adapter/examples/config_builder.py +234 -0
  169. mcp_proxy_adapter/examples/config_cli.py +282 -0
  170. mcp_proxy_adapter/examples/create_test_configs.py +174 -0
  171. mcp_proxy_adapter/examples/debug_request_state.py +130 -0
  172. mcp_proxy_adapter/examples/debug_role_chain.py +191 -0
  173. mcp_proxy_adapter/examples/demo_client.py +287 -0
  174. mcp_proxy_adapter/examples/full_application/__init__.py +12 -0
  175. mcp_proxy_adapter/examples/full_application/commands/__init__.py +8 -0
  176. mcp_proxy_adapter/examples/full_application/commands/custom_echo_command.py +45 -0
  177. mcp_proxy_adapter/examples/full_application/commands/dynamic_calculator_command.py +52 -0
  178. mcp_proxy_adapter/examples/full_application/commands/echo_command.py +32 -0
  179. mcp_proxy_adapter/examples/full_application/commands/help_command.py +54 -0
  180. mcp_proxy_adapter/examples/full_application/commands/list_command.py +57 -0
  181. mcp_proxy_adapter/examples/full_application/hooks/__init__.py +5 -0
  182. mcp_proxy_adapter/examples/full_application/hooks/application_hooks.py +29 -0
  183. mcp_proxy_adapter/examples/full_application/hooks/builtin_command_hooks.py +27 -0
  184. mcp_proxy_adapter/examples/full_application/main.py +311 -0
  185. mcp_proxy_adapter/examples/full_application/proxy_endpoints.py +161 -0
  186. mcp_proxy_adapter/examples/full_application/run_mtls.py +252 -0
  187. mcp_proxy_adapter/examples/full_application/run_simple.py +152 -0
  188. mcp_proxy_adapter/examples/full_application/test_minimal_server.py +45 -0
  189. mcp_proxy_adapter/examples/full_application/test_server.py +163 -0
  190. mcp_proxy_adapter/examples/full_application/test_simple_server.py +62 -0
  191. mcp_proxy_adapter/examples/generate_config.py +502 -0
  192. mcp_proxy_adapter/examples/proxy_registration_example.py +335 -0
  193. mcp_proxy_adapter/examples/queue_demo_simple.py +632 -0
  194. mcp_proxy_adapter/examples/queue_integration_example.py +578 -0
  195. mcp_proxy_adapter/examples/queue_server_demo.py +82 -0
  196. mcp_proxy_adapter/examples/queue_server_example.py +85 -0
  197. mcp_proxy_adapter/examples/queue_server_simple.py +173 -0
  198. mcp_proxy_adapter/examples/required_certificates.py +208 -0
  199. mcp_proxy_adapter/examples/run_example.py +77 -0
  200. mcp_proxy_adapter/examples/run_full_test_suite.py +619 -0
  201. mcp_proxy_adapter/examples/run_proxy_server.py +153 -0
  202. mcp_proxy_adapter/examples/run_security_tests_fixed.py +435 -0
  203. mcp_proxy_adapter/examples/security_test/__init__.py +18 -0
  204. mcp_proxy_adapter/examples/security_test/auth_manager.py +14 -0
  205. mcp_proxy_adapter/examples/security_test/ssl_context_manager.py +28 -0
  206. mcp_proxy_adapter/examples/security_test/test_client.py +159 -0
  207. mcp_proxy_adapter/examples/security_test/test_result.py +22 -0
  208. mcp_proxy_adapter/examples/security_test_client.py +72 -0
  209. mcp_proxy_adapter/examples/setup/__init__.py +24 -0
  210. mcp_proxy_adapter/examples/setup/certificate_manager.py +215 -0
  211. mcp_proxy_adapter/examples/setup/config_generator.py +12 -0
  212. mcp_proxy_adapter/examples/setup/config_validator.py +118 -0
  213. mcp_proxy_adapter/examples/setup/environment_setup.py +62 -0
  214. mcp_proxy_adapter/examples/setup/test_files_generator.py +10 -0
  215. mcp_proxy_adapter/examples/setup/test_runner.py +89 -0
  216. mcp_proxy_adapter/examples/setup_test_environment.py +235 -0
  217. mcp_proxy_adapter/examples/simple_protocol_test.py +125 -0
  218. mcp_proxy_adapter/examples/test_chk_hostname_automated.py +211 -0
  219. mcp_proxy_adapter/examples/test_config.py +205 -0
  220. mcp_proxy_adapter/examples/test_config_builder.py +110 -0
  221. mcp_proxy_adapter/examples/test_examples.py +308 -0
  222. mcp_proxy_adapter/examples/test_framework_complete.py +267 -0
  223. mcp_proxy_adapter/examples/test_mcp_server.py +187 -0
  224. mcp_proxy_adapter/examples/test_protocol_examples.py +337 -0
  225. mcp_proxy_adapter/examples/universal_client.py +674 -0
  226. mcp_proxy_adapter/examples/update_config_certificates.py +135 -0
  227. mcp_proxy_adapter/examples/validate_generator_compatibility.py +385 -0
  228. mcp_proxy_adapter/examples/validate_generator_compatibility_simple.py +61 -0
  229. mcp_proxy_adapter/integrations/__init__.py +25 -0
  230. mcp_proxy_adapter/integrations/queuemgr_integration.py +462 -0
  231. mcp_proxy_adapter/main.py +311 -0
  232. mcp_proxy_adapter/openapi.py +375 -0
  233. mcp_proxy_adapter/schemas/base_schema.json +114 -0
  234. mcp_proxy_adapter/schemas/openapi_schema.json +314 -0
  235. mcp_proxy_adapter/schemas/roles.json +37 -0
  236. mcp_proxy_adapter/schemas/roles_schema.json +162 -0
  237. mcp_proxy_adapter/version.py +5 -0
  238. mcp_proxy_adapter-6.9.50.dist-info/METADATA +1088 -0
  239. mcp_proxy_adapter-6.9.50.dist-info/RECORD +242 -0
  240. {mcp_proxy_adapter-2.0.1.dist-info → mcp_proxy_adapter-6.9.50.dist-info}/WHEEL +1 -1
  241. mcp_proxy_adapter-6.9.50.dist-info/entry_points.txt +14 -0
  242. mcp_proxy_adapter-6.9.50.dist-info/top_level.txt +1 -0
  243. adapters/__init__.py +0 -16
  244. analyzers/__init__.py +0 -14
  245. analyzers/docstring_analyzer.py +0 -199
  246. analyzers/type_analyzer.py +0 -151
  247. cli/__init__.py +0 -12
  248. cli/__main__.py +0 -79
  249. cli/command_runner.py +0 -233
  250. dispatchers/__init__.py +0 -14
  251. dispatchers/base_dispatcher.py +0 -85
  252. dispatchers/json_rpc_dispatcher.py +0 -198
  253. generators/__init__.py +0 -14
  254. generators/endpoint_generator.py +0 -172
  255. generators/openapi_generator.py +0 -254
  256. generators/rest_api_generator.py +0 -207
  257. mcp_proxy_adapter-2.0.1.dist-info/METADATA +0 -272
  258. mcp_proxy_adapter-2.0.1.dist-info/RECORD +0 -28
  259. mcp_proxy_adapter-2.0.1.dist-info/licenses/LICENSE +0 -21
  260. mcp_proxy_adapter-2.0.1.dist-info/top_level.txt +0 -7
  261. openapi_schema/__init__.py +0 -38
  262. openapi_schema/command_registry.py +0 -312
  263. openapi_schema/rest_schema.py +0 -510
  264. openapi_schema/rpc_generator.py +0 -307
  265. openapi_schema/rpc_schema.py +0 -416
  266. validators/__init__.py +0 -14
  267. validators/base_validator.py +0 -23
  268. validators/docstring_validator.py +0 -75
  269. validators/metadata_validator.py +0 -76
@@ -1,510 +0,0 @@
1
- """
2
- REST OpenAPI схема для API сервера.
3
- Содержит все определения REST эндпоинтов, параметров и ответов.
4
- """
5
- from typing import Dict, Any
6
-
7
- __all__ = ["get_rest_schema"]
8
-
9
-
10
- def get_rest_schema() -> Dict[str, Any]:
11
- """
12
- Создает и возвращает OpenAPI схему для REST API.
13
-
14
- Returns:
15
- Dict[str, Any]: Схема OpenAPI для REST API
16
- """
17
- return {
18
- "openapi": "3.0.2",
19
- "info": {
20
- "title": "Vector Store API",
21
- "description": "API для работы с векторным хранилищем",
22
- "version": "1.0.0"
23
- },
24
- "paths": {
25
- "/health": {
26
- "get": {
27
- "summary": "Проверка состояния сервера",
28
- "operationId": "check_health",
29
- "description": "Проверяет доступность и состояние сервера",
30
- "parameters": [
31
- {
32
- "name": "check_type",
33
- "in": "query",
34
- "required": False,
35
- "schema": {
36
- "type": "string",
37
- "enum": ["basic", "detailed"],
38
- "default": "basic"
39
- },
40
- "description": "Тип проверки: базовая или расширенная"
41
- }
42
- ],
43
- "responses": {
44
- "200": {
45
- "description": "Успешный ответ",
46
- "content": {
47
- "application/json": {
48
- "schema": {
49
- "$ref": "#/components/schemas/HealthResponse"
50
- }
51
- }
52
- }
53
- }
54
- }
55
- }
56
- },
57
- "/network/check": {
58
- "post": {
59
- "summary": "Проверка сетевого соединения",
60
- "operationId": "network_check",
61
- "description": "Проверяет доступность указанного хоста и порта",
62
- "requestBody": {
63
- "required": True,
64
- "content": {
65
- "application/json": {
66
- "schema": {
67
- "$ref": "#/components/schemas/NetworkCheckRequest"
68
- }
69
- }
70
- }
71
- },
72
- "responses": {
73
- "200": {
74
- "description": "Успешный ответ",
75
- "content": {
76
- "application/json": {
77
- "schema": {
78
- "$ref": "#/components/schemas/NetworkCheckResponse"
79
- }
80
- }
81
- }
82
- }
83
- }
84
- }
85
- },
86
- "/config/reload": {
87
- "post": {
88
- "summary": "Перезагрузка конфигурации",
89
- "operationId": "reload_config",
90
- "description": "Перезагружает конфигурацию сервера",
91
- "requestBody": {
92
- "required": False,
93
- "content": {
94
- "application/json": {
95
- "schema": {
96
- "$ref": "#/components/schemas/ReloadConfigRequest"
97
- }
98
- }
99
- }
100
- },
101
- "responses": {
102
- "200": {
103
- "description": "Успешный ответ",
104
- "content": {
105
- "application/json": {
106
- "schema": {
107
- "$ref": "#/components/schemas/BaseResponse"
108
- }
109
- }
110
- }
111
- }
112
- }
113
- }
114
- },
115
- "/index": {
116
- "post": {
117
- "summary": "Добавление векторов",
118
- "operationId": "add_vectors",
119
- "description": "Добавляет векторы в хранилище",
120
- "requestBody": {
121
- "required": True,
122
- "content": {
123
- "application/json": {
124
- "schema": {
125
- "$ref": "#/components/schemas/IndexRequest"
126
- }
127
- }
128
- }
129
- },
130
- "responses": {
131
- "200": {
132
- "description": "Успешный ответ",
133
- "content": {
134
- "application/json": {
135
- "schema": {
136
- "$ref": "#/components/schemas/IndexResponse"
137
- }
138
- }
139
- }
140
- }
141
- }
142
- }
143
- },
144
- "/search": {
145
- "post": {
146
- "summary": "Поиск по векторам",
147
- "operationId": "search",
148
- "description": "Выполняет поиск по векторам в хранилище",
149
- "requestBody": {
150
- "required": True,
151
- "content": {
152
- "application/json": {
153
- "schema": {
154
- "$ref": "#/components/schemas/SearchRequest"
155
- }
156
- }
157
- }
158
- },
159
- "responses": {
160
- "200": {
161
- "description": "Успешный ответ",
162
- "content": {
163
- "application/json": {
164
- "schema": {
165
- "$ref": "#/components/schemas/SearchResponse"
166
- }
167
- }
168
- }
169
- }
170
- }
171
- }
172
- },
173
- "/help": {
174
- "get": {
175
- "summary": "Получение справочной информации",
176
- "operationId": "get_help",
177
- "description": "Возвращает справочную информацию обо всех доступных командах или конкретной команде",
178
- "parameters": [
179
- {
180
- "name": "command",
181
- "in": "query",
182
- "required": False,
183
- "schema": {
184
- "type": "string"
185
- },
186
- "description": "Название команды для получения справки. Если не указано, возвращается список всех доступных команд."
187
- }
188
- ],
189
- "responses": {
190
- "200": {
191
- "description": "Успешный ответ",
192
- "content": {
193
- "application/json": {
194
- "schema": {
195
- "$ref": "#/components/schemas/HelpResponse"
196
- }
197
- }
198
- }
199
- }
200
- }
201
- }
202
- }
203
- },
204
- "components": {
205
- "schemas": {
206
- "BaseResponse": {
207
- "type": "object",
208
- "properties": {
209
- "status": {
210
- "type": "string",
211
- "description": "Статус выполнения операции"
212
- },
213
- "message": {
214
- "type": "string",
215
- "description": "Сообщение о результате операции"
216
- }
217
- },
218
- "required": ["status"]
219
- },
220
- "HealthResponse": {
221
- "type": "object",
222
- "properties": {
223
- "status": {
224
- "type": "string",
225
- "description": "Статус сервера"
226
- },
227
- "version": {
228
- "type": "string",
229
- "description": "Версия сервера"
230
- },
231
- "timestamp": {
232
- "type": "string",
233
- "format": "date-time",
234
- "description": "Время ответа"
235
- },
236
- "details": {
237
- "type": "object",
238
- "additionalProperties": True,
239
- "description": "Дополнительная информация при детальной проверке"
240
- }
241
- },
242
- "required": ["status", "timestamp"]
243
- },
244
- "NetworkCheckRequest": {
245
- "type": "object",
246
- "properties": {
247
- "host": {
248
- "type": "string",
249
- "description": "Хост для проверки"
250
- },
251
- "port": {
252
- "type": "integer",
253
- "description": "Порт для проверки"
254
- },
255
- "timeout": {
256
- "type": "number",
257
- "description": "Таймаут в секундах",
258
- "default": 5
259
- }
260
- },
261
- "required": ["host", "port"]
262
- },
263
- "NetworkCheckResponse": {
264
- "type": "object",
265
- "properties": {
266
- "status": {
267
- "type": "string",
268
- "description": "Статус проверки"
269
- },
270
- "host": {
271
- "type": "string",
272
- "description": "Проверенный хост"
273
- },
274
- "port": {
275
- "type": "integer",
276
- "description": "Проверенный порт"
277
- },
278
- "accessible": {
279
- "type": "boolean",
280
- "description": "Доступность хоста и порта"
281
- },
282
- "latency": {
283
- "type": "number",
284
- "description": "Время отклика в миллисекундах"
285
- }
286
- },
287
- "required": ["status", "host", "port", "accessible"]
288
- },
289
- "ReloadConfigRequest": {
290
- "type": "object",
291
- "properties": {
292
- "config_path": {
293
- "type": "string",
294
- "description": "Путь к файлу конфигурации (опционально)"
295
- }
296
- }
297
- },
298
- "Vector": {
299
- "type": "array",
300
- "items": {
301
- "type": "number",
302
- "format": "float"
303
- },
304
- "description": "Вектор в представлении массива чисел с плавающей точкой",
305
- "minItems": 384,
306
- "maxItems": 384
307
- },
308
- "Metadata": {
309
- "type": "object",
310
- "additionalProperties": True,
311
- "description": "Метаданные, связанные с вектором"
312
- },
313
- "IndexRequest": {
314
- "type": "object",
315
- "properties": {
316
- "vectors": {
317
- "type": "array",
318
- "items": {
319
- "type": "object",
320
- "properties": {
321
- "vector": {
322
- "$ref": "#/components/schemas/Vector"
323
- },
324
- "metadata": {
325
- "$ref": "#/components/schemas/Metadata"
326
- }
327
- },
328
- "required": ["vector"]
329
- },
330
- "description": "Массив векторов для добавления"
331
- }
332
- },
333
- "required": ["vectors"]
334
- },
335
- "IndexResponse": {
336
- "type": "object",
337
- "properties": {
338
- "status": {
339
- "type": "string",
340
- "description": "Статус операции"
341
- },
342
- "ids": {
343
- "type": "array",
344
- "items": {
345
- "type": "string",
346
- "format": "uuid"
347
- },
348
- "description": "Идентификаторы добавленных векторов"
349
- },
350
- "count": {
351
- "type": "integer",
352
- "description": "Количество добавленных векторов"
353
- }
354
- },
355
- "required": ["status", "ids", "count"]
356
- },
357
- "SearchRequest": {
358
- "type": "object",
359
- "properties": {
360
- "vector": {
361
- "$ref": "#/components/schemas/Vector"
362
- },
363
- "top_k": {
364
- "type": "integer",
365
- "description": "Количество результатов для возврата",
366
- "default": 10,
367
- "minimum": 1
368
- },
369
- "filter": {
370
- "type": "object",
371
- "additionalProperties": True,
372
- "description": "Фильтр для метаданных"
373
- }
374
- },
375
- "required": ["vector"]
376
- },
377
- "SearchResponse": {
378
- "type": "object",
379
- "properties": {
380
- "status": {
381
- "type": "string",
382
- "description": "Статус операции"
383
- },
384
- "results": {
385
- "type": "array",
386
- "items": {
387
- "type": "object",
388
- "properties": {
389
- "id": {
390
- "type": "string",
391
- "format": "uuid",
392
- "description": "Идентификатор найденного вектора"
393
- },
394
- "score": {
395
- "type": "number",
396
- "format": "float",
397
- "description": "Оценка сходства"
398
- },
399
- "metadata": {
400
- "$ref": "#/components/schemas/Metadata"
401
- }
402
- },
403
- "required": ["id", "score"]
404
- },
405
- "description": "Результаты поиска"
406
- },
407
- "total": {
408
- "type": "integer",
409
- "description": "Общее количество результатов"
410
- }
411
- },
412
- "required": ["status", "results", "total"]
413
- },
414
- "HelpParams": {
415
- "type": "object",
416
- "properties": {
417
- "command": {
418
- "type": "string",
419
- "description": "Название команды для получения справки. Если не указано, возвращается список всех доступных команд."
420
- }
421
- },
422
- "title": "HelpParams",
423
- "description": "Параметры для команды help (получение справки по командам)"
424
- },
425
- "HelpResponse": {
426
- "type": "object",
427
- "properties": {
428
- "status": {
429
- "type": "string",
430
- "description": "Статус операции"
431
- },
432
- "commands": {
433
- "type": "array",
434
- "items": {
435
- "type": "object",
436
- "properties": {
437
- "name": {
438
- "type": "string",
439
- "description": "Название команды"
440
- },
441
- "summary": {
442
- "type": "string",
443
- "description": "Краткое описание команды"
444
- },
445
- "description": {
446
- "type": "string",
447
- "description": "Полное описание команды"
448
- },
449
- "parameters": {
450
- "type": "array",
451
- "items": {
452
- "type": "object",
453
- "properties": {
454
- "name": {
455
- "type": "string",
456
- "description": "Название параметра"
457
- },
458
- "type": {
459
- "type": "string",
460
- "description": "Тип параметра"
461
- },
462
- "description": {
463
- "type": "string",
464
- "description": "Описание параметра"
465
- },
466
- "required": {
467
- "type": "boolean",
468
- "description": "Является ли параметр обязательным"
469
- },
470
- "default": {
471
- "description": "Значение по умолчанию (если есть)"
472
- }
473
- },
474
- "required": ["name", "type", "description"]
475
- },
476
- "description": "Параметры команды"
477
- },
478
- "examples": {
479
- "type": "array",
480
- "items": {
481
- "type": "object",
482
- "properties": {
483
- "description": {
484
- "type": "string",
485
- "description": "Описание примера"
486
- },
487
- "request": {
488
- "type": "object",
489
- "description": "Пример запроса"
490
- },
491
- "response": {
492
- "type": "object",
493
- "description": "Пример ответа"
494
- }
495
- },
496
- "required": ["description", "request"]
497
- },
498
- "description": "Примеры использования команды"
499
- }
500
- },
501
- "required": ["name", "summary", "description"]
502
- },
503
- "description": "Список доступных команд или детальная информация о конкретной команде"
504
- }
505
- },
506
- "required": ["status", "commands"]
507
- }
508
- }
509
- }
510
- }