@hubex/mcp 0.2.0
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.
- package/.env.example +54 -0
- package/CONNECTING.md +260 -0
- package/README.md +266 -0
- package/dist/auth.js +226 -0
- package/dist/config.js +120 -0
- package/dist/generated/manifest.js +3643 -0
- package/dist/guides/field-notes.json +27 -0
- package/dist/guides/loader.js +32 -0
- package/dist/guides/service-map.js +6 -0
- package/dist/http.js +93 -0
- package/dist/index/store.js +134 -0
- package/dist/index/types.js +1 -0
- package/dist/index.js +20 -0
- package/dist/paths.js +20 -0
- package/dist/pii/fields.js +100 -0
- package/dist/pii/mask.js +50 -0
- package/dist/pii/strategies.js +88 -0
- package/dist/schema/build-index.js +67 -0
- package/dist/schema/deref.js +87 -0
- package/dist/schema/describe.js +65 -0
- package/dist/server.js +62 -0
- package/dist/token-prompt.js +41 -0
- package/dist/tools/curated.js +151 -0
- package/dist/tools/discovery.js +187 -0
- package/dist/tools/guides.js +126 -0
- package/dist/tools/registry.js +37 -0
- package/dist/tools/request.js +170 -0
- package/dist/tools/types.js +1 -0
- package/docs/guides/assets.md +334 -0
- package/docs/guides/attributes.md +125 -0
- package/docs/guides/checklisttemplates.md +154 -0
- package/docs/guides/companies.md +57 -0
- package/docs/guides/dictionaries.md +64 -0
- package/docs/guides/lifecycle.md +263 -0
- package/docs/guides/materials.md +135 -0
- package/docs/guides/notifications.md +184 -0
- package/docs/guides/roles.md +125 -0
- package/docs/guides/sla.md +130 -0
- package/docs/guides/start.md +67 -0
- package/docs/guides/taskchecklists.md +149 -0
- package/docs/guides/taskcreate.md +260 -0
- package/docs/guides/taskedit.md +277 -0
- package/docs/guides/tasktypes.md +156 -0
- package/docs/guides/users.md +71 -0
- package/generated/index.dev.json +18776 -0
- package/generated/index.prod.json +18858 -0
- package/package.json +48 -0
- package/swagger/dev/ADM.json +27777 -0
- package/swagger/dev/AUTH.json +1739 -0
- package/swagger/dev/AUTHN.json +1250 -0
- package/swagger/dev/AUTHZ.json +1404 -0
- package/swagger/dev/CM.json +309 -0
- package/swagger/dev/COMMON.json +6543 -0
- package/swagger/dev/ES.json +28029 -0
- package/swagger/dev/EXPORT.json +4575 -0
- package/swagger/dev/IMPORT.json +1479 -0
- package/swagger/dev/LIC.json +224 -0
- package/swagger/dev/MSG.json +7883 -0
- package/swagger/dev/NEWS.json +348 -0
- package/swagger/dev/PA.json +5981 -0
- package/swagger/dev/PMP.json +3196 -0
- package/swagger/dev/PROXY.json +416 -0
- package/swagger/dev/REPORT.json +3921 -0
- package/swagger/dev/SC.json +3771 -0
- package/swagger/dev/SLA.json +2837 -0
- package/swagger/dev/TSTG.json +4981 -0
- package/swagger/dev/UI.json +4720 -0
- package/swagger/dev/WH.json +16796 -0
- package/swagger/dev/WORK.json +36024 -0
- package/swagger/dev/WSP.json +1612 -0
- package/swagger/prod/ADM.json +27777 -0
- package/swagger/prod/AUTH.json +1308 -0
- package/swagger/prod/AUTHN.json +2710 -0
- package/swagger/prod/AUTHZ.json +896 -0
- package/swagger/prod/CM.json +162 -0
- package/swagger/prod/COMMON.json +4910 -0
- package/swagger/prod/ES.json +28029 -0
- package/swagger/prod/EXPORT.json +3091 -0
- package/swagger/prod/LIC.json +123 -0
- package/swagger/prod/MSG.json +6239 -0
- package/swagger/prod/NEWS.json +295 -0
- package/swagger/prod/PA.json +5123 -0
- package/swagger/prod/PMP.json +2978 -0
- package/swagger/prod/PROXY.json +250 -0
- package/swagger/prod/REPORT.json +3729 -0
- package/swagger/prod/SC.json +3771 -0
- package/swagger/prod/SLA.json +2201 -0
- package/swagger/prod/TSTG.json +4220 -0
- package/swagger/prod/UI.json +3879 -0
- package/swagger/prod/WH.json +16730 -0
- package/swagger/prod/WORK.json +35994 -0
- package/swagger/prod/WSP.json +1468 -0
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
{
|
|
2
|
+
"openapi": "3.0.1",
|
|
3
|
+
"info": {
|
|
4
|
+
"title": "API for CM in HubEx",
|
|
5
|
+
"description": "Service offers application programming interface for ....",
|
|
6
|
+
"contact": {
|
|
7
|
+
"name": "SmartService Backend Team",
|
|
8
|
+
"email": "fmbackend@melston.ru"
|
|
9
|
+
},
|
|
10
|
+
"version": "v1.0.0.0"
|
|
11
|
+
},
|
|
12
|
+
"servers": [
|
|
13
|
+
{
|
|
14
|
+
"url": "/CM"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"paths": {
|
|
18
|
+
"/Clients/locations": {
|
|
19
|
+
"post": {
|
|
20
|
+
"tags": [
|
|
21
|
+
"Clients"
|
|
22
|
+
],
|
|
23
|
+
"summary": "Сохранение данных о местоположении клиента",
|
|
24
|
+
"description": "## Пример запроса:\r\n`POST /Clients/locations`\r\n \r\nЗаголовки:\r\n- `X-Application-Id` — уникальный идентификатор клиента (устройства), обязателен.\r\n- `X-Client-Utc-Offset` — смещение часового пояса клиента в минутах от UTC, необязателен (по умолчанию `0`).\r\n \r\n```json\r\n[\r\n {\r\n \"coordinate\": \"55.75:37.62\",\r\n \"clientTimestamp\": \"2026-08-17T08:30:00Z\",\r\n \"altitude\": 150.5,\r\n \"bearing\": 90.0,\r\n \"accuracy\": 10.0,\r\n \"speed\": 5.2\r\n }\r\n]\r\n```\r\n \r\nАльтернативный формат координат через объект `coords`:\r\n```json\r\n[\r\n {\r\n \"coords\": {\r\n \"latitude\": 55.75,\r\n \"longitude\": 37.62,\r\n \"altitude\": 150.5,\r\n \"accuracy\": 10.0,\r\n \"speed\": 5.2,\r\n \"bearing\": 90.0\r\n },\r\n \"timestamp\": \"2026-08-17T08:30:00Z\"\r\n }\r\n]\r\n```\r\n \r\n## Пример успешного ответа (200):\r\n```json\r\n{\r\n \"clientId\": \"device-uuid-12345\",\r\n \"clientOffset\": 180\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 404 Not Found: не передан обязательный заголовок `X-Application-Id`.\r\n- 409 Conflict: пустое или отсутствующее тело запроса.\r\n- 409 Conflict: отсутствуют или некорректны координаты (`coordinate` / `coords`).\r\n- 409 Conflict: `clientTimestamp` раньше 2018-10-01.",
|
|
25
|
+
"parameters": [
|
|
26
|
+
{
|
|
27
|
+
"name": "X-Application-ID",
|
|
28
|
+
"in": "header",
|
|
29
|
+
"description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
|
|
30
|
+
"schema": {
|
|
31
|
+
"enum": [
|
|
32
|
+
1,
|
|
33
|
+
2,
|
|
34
|
+
3,
|
|
35
|
+
4,
|
|
36
|
+
5,
|
|
37
|
+
6
|
|
38
|
+
],
|
|
39
|
+
"type": "integer",
|
|
40
|
+
"format": "int32",
|
|
41
|
+
"default": 3,
|
|
42
|
+
"x-enumNames": [
|
|
43
|
+
"EngineerMobile",
|
|
44
|
+
"CustomerMobile",
|
|
45
|
+
"MainWeb",
|
|
46
|
+
"AdminWeb",
|
|
47
|
+
"Api",
|
|
48
|
+
"PlateWeb"
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"requestBody": {
|
|
54
|
+
"description": "Коллекция геоданных для сохранения.",
|
|
55
|
+
"content": {
|
|
56
|
+
"application/json-patch+json": {
|
|
57
|
+
"schema": {
|
|
58
|
+
"type": "array",
|
|
59
|
+
"items": {
|
|
60
|
+
"$ref": "#/components/schemas/DataClientsPostData"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"application/json": {
|
|
65
|
+
"schema": {
|
|
66
|
+
"type": "array",
|
|
67
|
+
"items": {
|
|
68
|
+
"$ref": "#/components/schemas/DataClientsPostData"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"text/json": {
|
|
73
|
+
"schema": {
|
|
74
|
+
"type": "array",
|
|
75
|
+
"items": {
|
|
76
|
+
"$ref": "#/components/schemas/DataClientsPostData"
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"application/*+json": {
|
|
81
|
+
"schema": {
|
|
82
|
+
"type": "array",
|
|
83
|
+
"items": {
|
|
84
|
+
"$ref": "#/components/schemas/DataClientsPostData"
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"responses": {
|
|
91
|
+
"200": {
|
|
92
|
+
"description": "Геоданные успешно сохранены.",
|
|
93
|
+
"content": {
|
|
94
|
+
"text/plain": {
|
|
95
|
+
"schema": {
|
|
96
|
+
"$ref": "#/components/schemas/ResultsClientsLocationPostResult"
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"application/json": {
|
|
100
|
+
"schema": {
|
|
101
|
+
"$ref": "#/components/schemas/ResultsClientsLocationPostResult"
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"text/json": {
|
|
105
|
+
"schema": {
|
|
106
|
+
"$ref": "#/components/schemas/ResultsClientsLocationPostResult"
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
"404": {
|
|
112
|
+
"description": "Не передан обязательный заголовок X-Application-Id."
|
|
113
|
+
},
|
|
114
|
+
"409": {
|
|
115
|
+
"description": "Ошибка валидации входных данных. Тело ошибки: System.Collections.Generic.List`1.",
|
|
116
|
+
"content": {
|
|
117
|
+
"text/plain": {
|
|
118
|
+
"schema": {
|
|
119
|
+
"type": "array",
|
|
120
|
+
"items": {
|
|
121
|
+
"$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
"application/json": {
|
|
126
|
+
"schema": {
|
|
127
|
+
"type": "array",
|
|
128
|
+
"items": {
|
|
129
|
+
"$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
"text/json": {
|
|
134
|
+
"schema": {
|
|
135
|
+
"type": "array",
|
|
136
|
+
"items": {
|
|
137
|
+
"$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
"components": {
|
|
148
|
+
"schemas": {
|
|
149
|
+
"DataClientsCoordinateData": {
|
|
150
|
+
"type": "object",
|
|
151
|
+
"properties": {
|
|
152
|
+
"altitude": {
|
|
153
|
+
"type": "number",
|
|
154
|
+
"description": "Высота над уровнем моря, метры",
|
|
155
|
+
"format": "float",
|
|
156
|
+
"nullable": true,
|
|
157
|
+
"example": 150.5
|
|
158
|
+
},
|
|
159
|
+
"bearing": {
|
|
160
|
+
"type": "number",
|
|
161
|
+
"description": "Азимут (направление движения), градусы",
|
|
162
|
+
"format": "float",
|
|
163
|
+
"nullable": true,
|
|
164
|
+
"example": 90
|
|
165
|
+
},
|
|
166
|
+
"accuracy": {
|
|
167
|
+
"type": "number",
|
|
168
|
+
"description": "Точность определения координат, метры",
|
|
169
|
+
"format": "float",
|
|
170
|
+
"nullable": true,
|
|
171
|
+
"example": 10
|
|
172
|
+
},
|
|
173
|
+
"speed": {
|
|
174
|
+
"type": "number",
|
|
175
|
+
"description": "Скорость движения, м/с",
|
|
176
|
+
"format": "float",
|
|
177
|
+
"nullable": true,
|
|
178
|
+
"example": 5.2
|
|
179
|
+
},
|
|
180
|
+
"latitude": {
|
|
181
|
+
"type": "number",
|
|
182
|
+
"description": "Широта",
|
|
183
|
+
"format": "double",
|
|
184
|
+
"example": 55.75
|
|
185
|
+
},
|
|
186
|
+
"longitude": {
|
|
187
|
+
"type": "number",
|
|
188
|
+
"description": "Долгота",
|
|
189
|
+
"format": "double",
|
|
190
|
+
"example": 37.62
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
"additionalProperties": false,
|
|
194
|
+
"description": "Координаты и дополнительные параметры местоположения"
|
|
195
|
+
},
|
|
196
|
+
"DataClientsPostData": {
|
|
197
|
+
"type": "object",
|
|
198
|
+
"properties": {
|
|
199
|
+
"coordinate": {
|
|
200
|
+
"type": "string",
|
|
201
|
+
"description": "Координаты в формате \"широта:долгота\"",
|
|
202
|
+
"nullable": true,
|
|
203
|
+
"example": "55.75:37.62"
|
|
204
|
+
},
|
|
205
|
+
"clientTimestamp": {
|
|
206
|
+
"type": "string",
|
|
207
|
+
"description": "Дата и время события в UTC",
|
|
208
|
+
"format": "date-time",
|
|
209
|
+
"example": "2026-08-17T08:30:00Z"
|
|
210
|
+
},
|
|
211
|
+
"timestamp": {
|
|
212
|
+
"type": "string",
|
|
213
|
+
"description": "Дата и время события в UTC (альтернативное поле, используется если не задано ClientTimestamp)",
|
|
214
|
+
"format": "date-time",
|
|
215
|
+
"example": "2026-08-17T08:30:00Z"
|
|
216
|
+
},
|
|
217
|
+
"altitude": {
|
|
218
|
+
"type": "number",
|
|
219
|
+
"description": "Высота над уровнем моря, метры",
|
|
220
|
+
"format": "float",
|
|
221
|
+
"nullable": true,
|
|
222
|
+
"example": 150.5
|
|
223
|
+
},
|
|
224
|
+
"bearing": {
|
|
225
|
+
"type": "number",
|
|
226
|
+
"description": "Азимут (направление движения), градусы",
|
|
227
|
+
"format": "float",
|
|
228
|
+
"nullable": true,
|
|
229
|
+
"example": 90
|
|
230
|
+
},
|
|
231
|
+
"accuracy": {
|
|
232
|
+
"type": "number",
|
|
233
|
+
"description": "Точность определения координат, метры",
|
|
234
|
+
"format": "float",
|
|
235
|
+
"nullable": true,
|
|
236
|
+
"example": 10
|
|
237
|
+
},
|
|
238
|
+
"speed": {
|
|
239
|
+
"type": "number",
|
|
240
|
+
"description": "Скорость движения, м/с",
|
|
241
|
+
"format": "float",
|
|
242
|
+
"nullable": true,
|
|
243
|
+
"example": 5.2
|
|
244
|
+
},
|
|
245
|
+
"coords": {
|
|
246
|
+
"$ref": "#/components/schemas/DataClientsCoordinateData"
|
|
247
|
+
}
|
|
248
|
+
},
|
|
249
|
+
"additionalProperties": false,
|
|
250
|
+
"description": "Геоданные точки местоположения клиента"
|
|
251
|
+
},
|
|
252
|
+
"ExceptionHandlingModelsErrorModel": {
|
|
253
|
+
"type": "object",
|
|
254
|
+
"properties": {
|
|
255
|
+
"traceIdentifier": {
|
|
256
|
+
"type": "string",
|
|
257
|
+
"nullable": true
|
|
258
|
+
},
|
|
259
|
+
"code": {
|
|
260
|
+
"type": "string",
|
|
261
|
+
"nullable": true
|
|
262
|
+
},
|
|
263
|
+
"message": {
|
|
264
|
+
"type": "string",
|
|
265
|
+
"nullable": true
|
|
266
|
+
},
|
|
267
|
+
"arguments": {
|
|
268
|
+
"type": "object",
|
|
269
|
+
"additionalProperties": {
|
|
270
|
+
"type": "string",
|
|
271
|
+
"nullable": true
|
|
272
|
+
},
|
|
273
|
+
"nullable": true
|
|
274
|
+
}
|
|
275
|
+
},
|
|
276
|
+
"additionalProperties": false
|
|
277
|
+
},
|
|
278
|
+
"ResultsClientsLocationPostResult": {
|
|
279
|
+
"type": "object",
|
|
280
|
+
"properties": {
|
|
281
|
+
"clientId": {
|
|
282
|
+
"type": "string",
|
|
283
|
+
"description": "Уникальный идентификатор клиента (устройства)",
|
|
284
|
+
"nullable": true,
|
|
285
|
+
"example": "device-uuid-12345"
|
|
286
|
+
},
|
|
287
|
+
"clientOffset": {
|
|
288
|
+
"type": "integer",
|
|
289
|
+
"description": "Смещение часового пояса клиента в минутах от UTC",
|
|
290
|
+
"format": "int32",
|
|
291
|
+
"example": 180
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
"additionalProperties": false,
|
|
295
|
+
"description": "Результат сохранения геоданных клиента"
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
"tags": [
|
|
300
|
+
{
|
|
301
|
+
"name": "Clients",
|
|
302
|
+
"description": "Контроллер работы с API-клиентами (устройствами)"
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"name": "Clients",
|
|
306
|
+
"description": "Контроллер работы с API-клиентами (устройствами)"
|
|
307
|
+
}
|
|
308
|
+
]
|
|
309
|
+
}
|