@oneentry/mcp-platform-server 0.1.1 → 0.1.4
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/LICENSE +21 -0
- package/README.md +62 -61
- package/dist/api/audit.d.ts +0 -11
- package/dist/api/audit.js +0 -10
- package/dist/api/auth.d.ts +0 -18
- package/dist/api/auth.js +0 -20
- package/dist/api/build-catalog.d.ts +1 -14
- package/dist/api/build-catalog.js +16 -77
- package/dist/api/catalog.d.ts +5 -27
- package/dist/api/catalog.d.ts.map +1 -1
- package/dist/api/catalog.js +31 -43
- package/dist/api/catalog.js.map +1 -1
- package/dist/api/client.d.ts +0 -24
- package/dist/api/client.js +6 -28
- package/dist/api/normalize-schema.d.ts +0 -11
- package/dist/api/normalize-schema.js +0 -18
- package/dist/api/policy.d.ts +0 -23
- package/dist/api/policy.js +0 -0
- package/dist/api/shape.d.ts +0 -13
- package/dist/api/shape.js +0 -21
- package/dist/api/swagger-source.d.ts +13 -12
- package/dist/api/swagger-source.js +93 -50
- package/dist/api/types.d.ts +0 -34
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/types.js +0 -1
- package/dist/bin/cli.d.ts +0 -1
- package/dist/bin/cli.js +1 -5
- package/dist/bin/cli.js.map +1 -1
- package/dist/config/config.d.ts +0 -54
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +0 -60
- package/dist/config/config.js.map +1 -1
- package/dist/index.d.ts +2 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -6
- package/dist/index.js.map +1 -1
- package/dist/knowledge/chunk.d.ts +0 -15
- package/dist/knowledge/chunk.js +0 -16
- package/dist/knowledge/github.d.ts +0 -25
- package/dist/knowledge/github.js +0 -40
- package/dist/knowledge/loader.d.ts +0 -28
- package/dist/knowledge/loader.d.ts.map +1 -1
- package/dist/knowledge/loader.js +0 -26
- package/dist/knowledge/loader.js.map +1 -1
- package/dist/knowledge/search.d.ts +0 -22
- package/dist/knowledge/search.d.ts.map +1 -1
- package/dist/knowledge/search.js +0 -34
- package/dist/knowledge/search.js.map +1 -1
- package/dist/knowledge/tar.d.ts +0 -15
- package/dist/knowledge/tar.js +0 -33
- package/dist/knowledge/types.d.ts +0 -35
- package/dist/knowledge/types.d.ts.map +1 -1
- package/dist/knowledge/types.js +0 -1
- package/dist/server.d.ts +0 -12
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +29 -15
- package/dist/server.js.map +1 -1
- package/dist/session.d.ts +0 -23
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +0 -18
- package/dist/session.js.map +1 -1
- package/dist/tools/api-call.d.ts +0 -2
- package/dist/tools/api-call.js +0 -23
- package/dist/tools/api-discovery.d.ts +0 -2
- package/dist/tools/api-discovery.js +2 -5
- package/dist/tools/docs.d.ts +0 -2
- package/dist/tools/docs.js +1 -5
- package/dist/tools/guide.d.ts +0 -7
- package/dist/tools/guide.d.ts.map +1 -1
- package/dist/tools/guide.js +2 -9
- package/dist/tools/guide.js.map +1 -1
- package/dist/tools/result.d.ts +0 -8
- package/dist/tools/result.js +0 -7
- package/dist/tools/whoami.d.ts +0 -2
- package/dist/tools/whoami.d.ts.map +1 -1
- package/dist/tools/whoami.js +1 -3
- package/dist/tools/whoami.js.map +1 -1
- package/dist/transports/http.d.ts +0 -6
- package/dist/transports/http.d.ts.map +1 -1
- package/dist/transports/http.js +1 -27
- package/dist/transports/http.js.map +1 -1
- package/dist/transports/stdio.d.ts +0 -6
- package/dist/transports/stdio.js +0 -6
- package/dist/transports/stdio.js.map +1 -1
- package/knowledge/operating-rules.md +70 -125
- package/package.json +18 -5
- package/dist/api/build-catalog.d.ts.map +0 -1
- package/dist/api/build-catalog.js.map +0 -1
- package/dist/api/normalize-schema.d.ts.map +0 -1
- package/dist/api/normalize-schema.js.map +0 -1
- package/dist/api/swagger-source.d.ts.map +0 -1
- package/dist/api/swagger-source.js.map +0 -1
- package/dist/knowledge/github.d.ts.map +0 -1
- package/dist/knowledge/github.js.map +0 -1
- package/dist/knowledge/tar.d.ts.map +0 -1
- package/dist/knowledge/tar.js.map +0 -1
package/dist/tools/result.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** Форма результата вызова инструмента MCP. */
|
|
2
1
|
export interface ToolResult {
|
|
3
2
|
content: Array<{
|
|
4
3
|
type: 'text';
|
|
@@ -7,13 +6,6 @@ export interface ToolResult {
|
|
|
7
6
|
isError?: boolean;
|
|
8
7
|
[key: string]: unknown;
|
|
9
8
|
}
|
|
10
|
-
/** Успешный результат-JSON. */
|
|
11
9
|
export declare const jsonResult: (payload: unknown) => ToolResult;
|
|
12
|
-
/** Успешный результат-текст (для человекочитаемых руководств). */
|
|
13
10
|
export declare const textResult: (text: string) => ToolResult;
|
|
14
|
-
/**
|
|
15
|
-
* Ошибка инструмента. Возвращаем её как isError, а не бросаем исключение:
|
|
16
|
-
* модель должна увидеть текст и исправиться, а не получить обрыв сессии.
|
|
17
|
-
*/
|
|
18
11
|
export declare const errorResult: (message: string, extra?: Record<string, unknown>) => ToolResult;
|
|
19
|
-
//# sourceMappingURL=result.d.ts.map
|
package/dist/tools/result.js
CHANGED
|
@@ -1,19 +1,12 @@
|
|
|
1
|
-
/** Успешный результат-JSON. */
|
|
2
1
|
export const jsonResult = (payload) => ({
|
|
3
2
|
content: [{ type: 'text', text: JSON.stringify(payload, null, 2) }],
|
|
4
3
|
});
|
|
5
|
-
/** Успешный результат-текст (для человекочитаемых руководств). */
|
|
6
4
|
export const textResult = (text) => ({
|
|
7
5
|
content: [{ type: 'text', text }],
|
|
8
6
|
});
|
|
9
|
-
/**
|
|
10
|
-
* Ошибка инструмента. Возвращаем её как isError, а не бросаем исключение:
|
|
11
|
-
* модель должна увидеть текст и исправиться, а не получить обрыв сессии.
|
|
12
|
-
*/
|
|
13
7
|
export const errorResult = (message, extra) => ({
|
|
14
8
|
content: [
|
|
15
9
|
{ type: 'text', text: JSON.stringify({ error: message, ...(extra ?? {}) }, null, 2) },
|
|
16
10
|
],
|
|
17
11
|
isError: true,
|
|
18
12
|
});
|
|
19
|
-
//# sourceMappingURL=result.js.map
|
package/dist/tools/whoami.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
1
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
import type { Session } from '../session.js';
|
|
3
|
-
/** Регистрирует `cms_whoami` — состояние сервера и подключённого админа. */
|
|
4
3
|
export declare const registerWhoami: (server: McpServer, getSession: () => Session) => void;
|
|
5
|
-
//# sourceMappingURL=whoami.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/tools/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,4EAA4E;AAC5E,eAAO,MAAM,cAAc,GAAI,QAAQ,SAAS,EAAE,YAAY,MAAM,OAAO,KAAG,
|
|
1
|
+
{"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/tools/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,4EAA4E;AAC5E,eAAO,MAAM,cAAc,GAAI,QAAQ,SAAS,EAAE,YAAY,MAAM,OAAO,KAAG,IA4C7E,CAAC"}
|
package/dist/tools/whoami.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { jsonResult } from './result.js';
|
|
2
|
-
/** Регистрирует `cms_whoami` — состояние сервера и подключённого админа. */
|
|
3
2
|
export const registerWhoami = (server, getSession) => {
|
|
4
3
|
server.registerTool('cms_whoami', {
|
|
5
4
|
title: 'Who am I',
|
|
@@ -19,7 +18,7 @@ export const registerWhoami = (server, getSession) => {
|
|
|
19
18
|
: {
|
|
20
19
|
admin: null,
|
|
21
20
|
hint: session.isConfigured
|
|
22
|
-
? 'Credentials are configured but authentication failed — check ONEENTRY_CMS_LOGIN / ONEENTRY_CMS_PASSWORD and that the
|
|
21
|
+
? 'Credentials are configured but authentication failed — check ONEENTRY_CMS_LOGIN / ONEENTRY_CMS_PASSWORD and that the instance is reachable.'
|
|
23
22
|
: 'No credentials configured. Set ONEENTRY_CMS_LOGIN + ONEENTRY_CMS_PASSWORD (or ONEENTRY_CMS_TOKEN).',
|
|
24
23
|
}),
|
|
25
24
|
catalog: {
|
|
@@ -43,4 +42,3 @@ export const registerWhoami = (server, getSession) => {
|
|
|
43
42
|
});
|
|
44
43
|
});
|
|
45
44
|
};
|
|
46
|
-
//# sourceMappingURL=whoami.js.map
|
package/dist/tools/whoami.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/tools/whoami.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAiB,EAAE,UAAyB,EAAQ,EAAE;IACnF,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,UAAU;QACjB,WAAW,EACT,0JAA0J;QAC5J,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;KACzD,EACD,KAAK,IAAI,EAAE;QACT,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QACtD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QAE1C,OAAO,UAAU,CAAC;YAChB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,aAAa,EAAE,QAAQ,KAAK,SAAS;YACrC,GAAG,CAAC,QAAQ;gBACV,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,eAAe,EAAE,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,EAAE;gBACjH,CAAC,CAAC;oBACE,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,OAAO,CAAC,YAAY;wBACxB,CAAC,CAAC,0IAA0I;wBAC5I,CAAC,CAAC,oGAAoG;iBACzG,CAAC;YACN,OAAO,EAAE;gBACP,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM;gBACvC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;gBACxC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;gBAChC,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM;gBACpD,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ;aACnC;YACD,SAAS,EAAE;gBACT,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM;gBAC7B,
|
|
1
|
+
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/tools/whoami.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAiB,EAAE,UAAyB,EAAQ,EAAE;IACnF,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,UAAU;QACjB,WAAW,EACT,0JAA0J;QAC5J,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;KACzD,EACD,KAAK,IAAI,EAAE;QACT,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QACtD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QAE1C,OAAO,UAAU,CAAC;YAChB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,aAAa,EAAE,QAAQ,KAAK,SAAS;YACrC,GAAG,CAAC,QAAQ;gBACV,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,eAAe,EAAE,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,EAAE;gBACjH,CAAC,CAAC;oBACE,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,OAAO,CAAC,YAAY;wBACxB,CAAC,CAAC,0IAA0I;wBAC5I,CAAC,CAAC,oGAAoG;iBACzG,CAAC;YACN,OAAO,EAAE;gBACP,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM;gBACvC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;gBACxC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;gBAChC,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM;gBACpD,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ;aACnC;YACD,SAAS,EAAE;gBACT,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM;gBAC7B,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO;gBAC/B,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM;gBAC7B,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;aACvC;YACD,KAAK,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI;SAChC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
import type { Config } from '../config/config.js';
|
|
2
|
-
/**
|
|
3
|
-
* Запускает сервер поверх Streamable HTTP — remote-режим.
|
|
4
|
-
* На каждое MCP-подключение создаётся своя `Session` со своими токенами
|
|
5
|
-
* и своими подтверждениями; общий каталог и знания строятся один раз.
|
|
6
|
-
*/
|
|
7
2
|
export declare const runHttp: (config: Config) => Promise<{
|
|
8
3
|
close: () => Promise<void>;
|
|
9
4
|
}>;
|
|
10
|
-
//# sourceMappingURL=http.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/transports/http.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/transports/http.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AA6DlD;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAiFpF,CAAC"}
|
package/dist/transports/http.js
CHANGED
|
@@ -5,7 +5,6 @@ import express from 'express';
|
|
|
5
5
|
import { OperationCatalog } from '../api/catalog.js';
|
|
6
6
|
import { createServer, createSharedDeps } from '../server.js';
|
|
7
7
|
import { Session } from '../session.js';
|
|
8
|
-
/** Заголовки, которыми клиент передаёт свои учётные данные CMS. */
|
|
9
8
|
const HEADER_TOKEN = 'x-cms-token';
|
|
10
9
|
const HEADER_LOGIN = 'x-cms-login';
|
|
11
10
|
const HEADER_PASSWORD = 'x-cms-password';
|
|
@@ -14,11 +13,6 @@ const headerValue = (request, name) => {
|
|
|
14
13
|
const value = Array.isArray(raw) ? raw[0] : raw;
|
|
15
14
|
return typeof value === 'string' && value.trim() !== '' ? value.trim() : undefined;
|
|
16
15
|
};
|
|
17
|
-
/**
|
|
18
|
-
* Читает учётные данные сессии из заголовков подключения.
|
|
19
|
-
* Только отсюда и из конфигурации сервера — никогда из аргументов инструмента:
|
|
20
|
-
* иначе внедрённая в текст инструкция могла бы подменить личность.
|
|
21
|
-
*/
|
|
22
16
|
const credentialsFromRequest = (request) => {
|
|
23
17
|
const token = headerValue(request, HEADER_TOKEN);
|
|
24
18
|
if (token) {
|
|
@@ -31,10 +25,6 @@ const credentialsFromRequest = (request) => {
|
|
|
31
25
|
}
|
|
32
26
|
return undefined;
|
|
33
27
|
};
|
|
34
|
-
/**
|
|
35
|
-
* Проверка Origin. Транспорт SDK умеет это сам, но помечает как deprecated
|
|
36
|
-
* в пользу внешней middleware — делаем внешнюю.
|
|
37
|
-
*/
|
|
38
28
|
const originGuard = (allowedOrigins) => (request, response, next) => {
|
|
39
29
|
const origin = headerValue(request, 'origin');
|
|
40
30
|
if (!origin) {
|
|
@@ -49,34 +39,20 @@ const originGuard = (allowedOrigins) => (request, response, next) => {
|
|
|
49
39
|
error: `Origin "${origin}" is not allowed. Start the server with --allowed-origins to permit it.`,
|
|
50
40
|
});
|
|
51
41
|
};
|
|
52
|
-
/**
|
|
53
|
-
* Достраивает пустой каталог по учётным данным подключившейся сессии.
|
|
54
|
-
* Процесс поднимается раньше, чем появляется первая сессия, и в remote-режиме
|
|
55
|
-
* своих учётных данных у него может не быть вовсе. Если при этом стенд отдаёт
|
|
56
|
-
* swagger только авторизованным, каталог при старте выходит пустым — и первая
|
|
57
|
-
* же сессия с токеном является единственной возможностью его получить.
|
|
58
|
-
* Делается один раз и молча: это оптимизация, а не часть контракта запроса.
|
|
59
|
-
*/
|
|
60
42
|
const fillCatalog = async (deps, session) => {
|
|
61
43
|
if (!deps.catalog.isEmpty || !session.isConfigured) {
|
|
62
44
|
return;
|
|
63
45
|
}
|
|
64
46
|
try {
|
|
65
47
|
const bearer = await session.accessToken();
|
|
66
|
-
const rebuilt = await OperationCatalog.resolve(deps.config, bearer);
|
|
48
|
+
const rebuilt = await OperationCatalog.resolve(deps.config, { bearer });
|
|
67
49
|
if (!rebuilt.isEmpty) {
|
|
68
50
|
deps.catalog.adopt(rebuilt);
|
|
69
51
|
}
|
|
70
52
|
}
|
|
71
53
|
catch {
|
|
72
|
-
/** Каталог остаётся пустым, и его warnings уже объясняют почему. */
|
|
73
54
|
}
|
|
74
55
|
};
|
|
75
|
-
/**
|
|
76
|
-
* Запускает сервер поверх Streamable HTTP — remote-режим.
|
|
77
|
-
* На каждое MCP-подключение создаётся своя `Session` со своими токенами
|
|
78
|
-
* и своими подтверждениями; общий каталог и знания строятся один раз.
|
|
79
|
-
*/
|
|
80
56
|
export const runHttp = async (config) => {
|
|
81
57
|
const deps = await createSharedDeps(config);
|
|
82
58
|
const sessions = new Map();
|
|
@@ -119,7 +95,6 @@ export const runHttp = async (config) => {
|
|
|
119
95
|
await server.connect(transport);
|
|
120
96
|
await transport.handleRequest(request, response, request.body);
|
|
121
97
|
});
|
|
122
|
-
/** GET открывает SSE-поток, DELETE закрывает сессию — обе требуют существующей сессии. */
|
|
123
98
|
const requireSession = async (request, response) => {
|
|
124
99
|
const sessionId = headerValue(request, 'mcp-session-id');
|
|
125
100
|
const managed = sessionId ? sessions.get(sessionId) : undefined;
|
|
@@ -148,4 +123,3 @@ export const runHttp = async (config) => {
|
|
|
148
123
|
},
|
|
149
124
|
};
|
|
150
125
|
};
|
|
151
|
-
//# sourceMappingURL=http.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transports/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,OAA2D,MAAM,SAAS,CAAC;AAGlF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transports/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,2 @@
|
|
|
1
1
|
import type { Config } from '../config/config.js';
|
|
2
|
-
/**
|
|
3
|
-
* Запускает сервер поверх stdio — local-режим.
|
|
4
|
-
* Сессия одна на процесс: клиент сам порождает процесс на подключение,
|
|
5
|
-
* поэтому изоляция обеспечивается операционной системой, а не нашим кодом.
|
|
6
|
-
*/
|
|
7
2
|
export declare const runStdio: (config: Config) => Promise<void>;
|
|
8
|
-
//# sourceMappingURL=stdio.d.ts.map
|
package/dist/transports/stdio.js
CHANGED
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
2
2
|
import { createServer, createSharedDeps } from '../server.js';
|
|
3
3
|
import { Session } from '../session.js';
|
|
4
|
-
/**
|
|
5
|
-
* Запускает сервер поверх stdio — local-режим.
|
|
6
|
-
* Сессия одна на процесс: клиент сам порождает процесс на подключение,
|
|
7
|
-
* поэтому изоляция обеспечивается операционной системой, а не нашим кодом.
|
|
8
|
-
*/
|
|
9
4
|
export const runStdio = async (config) => {
|
|
10
5
|
const deps = await createSharedDeps(config);
|
|
11
6
|
const session = new Session(deps);
|
|
12
7
|
const server = createServer(deps, () => session);
|
|
13
8
|
await server.connect(new StdioServerTransport());
|
|
14
9
|
};
|
|
15
|
-
//# sourceMappingURL=stdio.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../src/transports/stdio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAiB,EAAE;IAC9D,MAAM,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../src/transports/stdio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAiB,EAAE;IAC9D,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC"}
|
|
@@ -1,176 +1,121 @@
|
|
|
1
|
-
# Operating rules
|
|
1
|
+
# Operating rules for the OneEntry Admin API
|
|
2
2
|
|
|
3
|
-
Read this before your first write. Every rule
|
|
4
|
-
Each links to the bundled reference doc that explains it in full — open it with
|
|
5
|
-
`cms_docs_read`.
|
|
3
|
+
Read this before your first write. Every rule here has broken a real payload, and each one links to the document that explains it in full.
|
|
6
4
|
|
|
7
|
-
|
|
5
|
+
These rules are short on purpose. When one of them applies to what you are about to do, follow the pointer before you build the body.
|
|
8
6
|
|
|
9
|
-
|
|
10
|
-
2. `cms_docs_search` — find the rules for the entity you are about to touch. **Before** writing,
|
|
11
|
-
not after a 400.
|
|
12
|
-
3. `cms_api_search` → `cms_api_describe` — get the real operation and its payload shape.
|
|
13
|
-
4. `cms_api_call` — with `dryRun: true` first for anything mutating.
|
|
7
|
+
→ `mcp/docs/server/doc-map` · `mcp/docs/server/payload-conventions`
|
|
14
8
|
|
|
15
|
-
|
|
16
|
-
authoritative for semantics.
|
|
9
|
+
## The loop you must follow
|
|
17
10
|
|
|
18
|
-
|
|
11
|
+
1. `cms_guide` once, at the start.
|
|
12
|
+
2. `cms_docs_search` for the entity you are about to touch — **before** you write a payload, not after a 400.
|
|
13
|
+
3. `cms_api_search` to find the operation, then `cms_api_describe` for its exact shape.
|
|
14
|
+
4. `cms_api_call` with `dryRun: true` for anything that mutates, then again with the confirm token if one was issued.
|
|
19
15
|
|
|
20
|
-
|
|
21
|
-
expressions rather than JSON Schema types: `Record<string, any>`, `CommonLocalizeInfos`,
|
|
22
|
-
`AttributesSets`, `number | string`, `image`, `date`. `cms_api_describe` normalizes what it can and
|
|
23
|
-
marks the rest `"x-loose": true`.
|
|
16
|
+
Never invent a path, an operation id or a body key. `cms_api_search` is the only authority on what exists; the documents are the authority on what the values mean.
|
|
24
17
|
|
|
25
|
-
|
|
26
|
-
validation is deliberately advisory — the server is the real validator, so a call is never blocked
|
|
27
|
-
just because a loose field could not be checked.
|
|
18
|
+
## Trust the example not the type
|
|
28
19
|
|
|
29
|
-
|
|
20
|
+
The OpenAPI document this catalog is built from contains field types that are not JSON Schema types. `cms_api_describe` normalises what it can and marks the rest `"x-loose": true`, with the original under `x-source-type`.
|
|
30
21
|
|
|
31
|
-
|
|
22
|
+
For a loose field, **the `example` is the contract**. Copy its shape. Client-side validation of your body is advisory only — the instance is the real validator, so a call is never blocked because a loose field could not be checked.
|
|
23
|
+
|
|
24
|
+
→ `mcp/docs/server/cms-api-describe#loose-fields`
|
|
25
|
+
|
|
26
|
+
## Content is locale keyed
|
|
27
|
+
|
|
28
|
+
Titles and descriptive content live under `localizeInfos`, keyed by locale code:
|
|
32
29
|
|
|
33
30
|
```json
|
|
34
|
-
{ "localizeInfos": { "en_US": { "title": "
|
|
31
|
+
{ "localizeInfos": { "en_US": { "title": "Summer sale" } } }
|
|
35
32
|
```
|
|
36
33
|
|
|
37
|
-
|
|
38
|
-
active locale codes from the Locales operations (`cms_api_search "locales"`) — never hardcode
|
|
39
|
-
`en_US`. Writing a locale that is not configured on the stand silently produces content nobody
|
|
40
|
-
can see.
|
|
34
|
+
Required when creating a product, and effectively required on pages. Do not hardcode `en_US`: read the active locale codes from the instance first, and write every locale the instance has active if the content is meant to be visible in all of them.
|
|
41
35
|
|
|
42
|
-
→ `
|
|
36
|
+
→ `mcp/docs/api/locales`
|
|
43
37
|
|
|
44
|
-
##
|
|
38
|
+
## Attribute values are two level and locale keyed
|
|
45
39
|
|
|
46
|
-
`
|
|
47
|
-
`attributesSets` is `Record<locale, Record<key, value>>` — **two levels**, the outer one a locale
|
|
48
|
-
code. The inner key encodes the attribute type and id: `<type>_id<attributeId>`.
|
|
40
|
+
`attributesSets` is **two levels deep** — locale, then attribute key:
|
|
49
41
|
|
|
50
42
|
```json
|
|
51
|
-
{
|
|
52
|
-
"attributeSetId": 44,
|
|
53
|
-
"attributesSets": {
|
|
54
|
-
"en_US": { "string_id1": "Haircut", "float_id3": 35, "groupOfImages_id7": [] }
|
|
55
|
-
}
|
|
56
|
-
}
|
|
43
|
+
{ "attributesSets": { "en_US": { "string_id42": "SKU-1" } } }
|
|
57
44
|
```
|
|
58
45
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
46
|
+
The inner key is `<attribute type>_id<attribute id>`, taken from the attribute set the entity belongs to. Read the set before you build the body.
|
|
47
|
+
|
|
48
|
+
A flat single-level map is accepted and stored empty. The call answers 201 and the attributes are silently missing, so always read the entity back by id after creating it.
|
|
49
|
+
|
|
50
|
+
→ `mcp/docs/api/attribute-sets`
|
|
51
|
+
|
|
52
|
+
## Positions are lexorank or numeric depending on the endpoint
|
|
64
53
|
|
|
65
|
-
|
|
66
|
-
which attributes it declares, then build the map under the active locale code. Skipping this is
|
|
67
|
-
the single most common cause of a product that saves but shows up empty.
|
|
54
|
+
Ordering is a lexorank **string** on parent-scoped Admin operations, and a **number** on flat lists and the Content API. Never sort a lexorank value numerically, and never reorder by patching the field directly — use the dedicated position operations of that entity.
|
|
68
55
|
|
|
69
|
-
|
|
70
|
-
That single read is the only defence against the silent drop.
|
|
56
|
+
→ `mcp/docs/server/payload-conventions#position-is-a-lexorank-string-or-a-number`
|
|
71
57
|
|
|
72
|
-
|
|
58
|
+
## A read straight after a write can lag
|
|
73
59
|
|
|
74
|
-
|
|
60
|
+
Reading an entity **by id** shows your write immediately. List and search responses may not, for a few seconds.
|
|
75
61
|
|
|
76
|
-
-
|
|
77
|
-
- Admin API *parent-scoped* positions (block on a page, page in a menu, child in a tree) —
|
|
78
|
-
**lexorank strings**.
|
|
79
|
-
- Admin API *flat lists* (e.g. `GET /api/admin/blocks`) — **numeric** display index, intentionally.
|
|
62
|
+
If a list does not yet show what you just created, re-read by id to confirm it exists. **Never repeat the write** — you will create a duplicate that consumes instance quota and has to be cleaned up by hand.
|
|
80
63
|
|
|
81
|
-
|
|
82
|
-
Reordering is done through the dedicated `…/position` operations, not by patching the field.
|
|
64
|
+
## Prefer marker over id
|
|
83
65
|
|
|
84
|
-
|
|
66
|
+
Blocks, forms, menus, templates, general types and modules are addressed by a `marker` or `identifier` that is stable across instances. A numeric `id` is not: an id taken from one instance is meaningless on another, and `404 Not found` on an id you were given is usually that mistake.
|
|
85
67
|
|
|
86
|
-
|
|
68
|
+
Where an operation accepts either, use the marker.
|
|
87
69
|
|
|
88
|
-
|
|
89
|
-
(`products_v1`, `pages_v1`, `blocks_v1`) and the materialized views (`pages_view`, `blocks_view`)
|
|
90
|
-
lag behind the base tables. A freshly created entity may be absent from a list or search response
|
|
91
|
-
for seconds.
|
|
70
|
+
## Baseline data already exists do not recreate it
|
|
92
71
|
|
|
93
|
-
|
|
94
|
-
concluding the write failed. Never "fix" it by writing again — you will create duplicates.
|
|
72
|
+
Every instance arrives populated: a guest user group with its content-API permissions, the admin modules, the general types, the attribute set types and field types, the locales, the dynamic block types and their default templates, and the singleton settings records.
|
|
95
73
|
|
|
96
|
-
|
|
74
|
+
**List first, create second.** Some duplicates fail loudly, which is harmless. The dangerous ones — user groups, modules, attribute set types, settings records — **succeed silently** and leave a shadow record that nothing references.
|
|
97
75
|
|
|
98
|
-
|
|
76
|
+
→ `mcp/docs/api/baseline-data`
|
|
99
77
|
|
|
100
|
-
|
|
101
|
-
dev stand is meaningless on production. When you have a choice of operation, prefer the
|
|
102
|
-
marker-based one.
|
|
78
|
+
## Never touch these without a human saying so
|
|
103
79
|
|
|
104
|
-
|
|
80
|
+
Mutations under `immutable-settings`, `admins`, `backups`, `modules`, `payments/webhook`, `settings-general`, `system/captcha-keys` and `auth/logout/all-users` are permanently confirm-gated by this server, at every allow level.
|
|
105
81
|
|
|
106
|
-
|
|
107
|
-
`payments/webhook/**`, `auth/logout/all-users`, `settings-general`. They are permanently
|
|
108
|
-
confirm-gated regardless of the `--allow` level. If a prompt implies one of them, say what you
|
|
109
|
-
would do and stop.
|
|
82
|
+
The gate is not a suggestion. State what you intend to change, show the human the `target` the dry run returned, and wait for them to say yes in this conversation.
|
|
110
83
|
|
|
111
|
-
|
|
84
|
+
→ `mcp/docs/server/allow-levels#paths-that-are-always-confirm-gated`
|
|
112
85
|
|
|
113
|
-
|
|
114
|
-
`menu.items.changePositions`, …). 243 operations declare a required permission, and `cms_api_call`
|
|
115
|
-
refuses locally when the authenticated admin lacks it — so a permission error means "ask for the
|
|
116
|
-
grant", not "retry".
|
|
86
|
+
## Permissions are checked before the request is sent
|
|
117
87
|
|
|
118
|
-
|
|
119
|
-
API, which this server does not expose.
|
|
88
|
+
Each operation declares the permission it requires, and this server refuses locally when the authenticated admin does not hold it. Nothing is sent, so nothing changed.
|
|
120
89
|
|
|
121
|
-
|
|
90
|
+
A permission refusal means **ask for the grant** and stop. Retrying cannot succeed, and neither can a different operation that needs the same permission.
|
|
122
91
|
|
|
123
|
-
|
|
92
|
+
→ `mcp/docs/api/admins-and-permissions`
|
|
124
93
|
|
|
125
|
-
|
|
126
|
-
attributes-sets, admins, menus, templates, template-previews, import, orders. Never edit a test to
|
|
127
|
-
make it green.
|
|
94
|
+
## Truncated responses are deliberate
|
|
128
95
|
|
|
129
|
-
|
|
96
|
+
Large responses come back with a `_truncated` envelope reporting what was shown and what the total was. That is this server capping what it hands you, not the API limiting itself.
|
|
130
97
|
|
|
131
|
-
|
|
98
|
+
Do not retry hoping for more. Narrow the request with the operation's own `limit`, `offset` and filter parameters.
|
|
132
99
|
|
|
133
|
-
|
|
134
|
-
That is not an API limit — narrow the query with the operation's own `limit`/`offset`/filter
|
|
135
|
-
parameters instead of asking for everything.
|
|
100
|
+
→ `mcp/docs/server/response-shaping`
|
|
136
101
|
|
|
137
|
-
##
|
|
102
|
+
## Operations with a single supported path
|
|
138
103
|
|
|
139
|
-
|
|
140
|
-
mistakes: retrying with a "better" body will not help.
|
|
104
|
+
For the calls below, one route works and the obvious alternative does not. Use the supported one directly — a different body or a retry on the other route will not help.
|
|
141
105
|
|
|
142
|
-
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
- **`PUT /products/{id}` needs `blocks`.** Omitting it gives
|
|
148
|
-
`500 — updateProductDto.blocks is not iterable`; send `blocks: []` when you have nothing to set.
|
|
149
|
-
Conversely `forms` is accepted by the DTO and then explodes in TypeORM
|
|
150
|
-
(`No entity column "forms" was found`) — never send it on update.
|
|
151
|
-
- **`GET /locales` answers `500 — column "nan" does not exist`.** Use
|
|
152
|
-
`AdminLocalesController_findAllActive` (`GET /locales/active/all`) to read locale codes.
|
|
153
|
-
- **There is no `GET /products` list.** The list operation is `POST /products/all`
|
|
154
|
-
(`AdminProductsController_findAll`); `GET /products/quick/search?name=…` is the cheap lookup but
|
|
155
|
-
returns only `{ id, title, pageId }`. Fetch the full object with `GET /products/{id}`.
|
|
156
|
-
- **`orders.export`, `payments.export`, `users.export`** are required by controllers but absent
|
|
157
|
-
from `AdminPermissionsEnum`, so those operations always answer 403. `cms_whoami` reports this as
|
|
158
|
-
a catalog warning; report it to the human rather than retrying.
|
|
106
|
+
- **Create a form** — send the payload wrapped in `newForm`. The OpenAPI document shows the fields unwrapped; the wrapped form is the one the endpoint accepts.
|
|
107
|
+
- **Update a product** — always include `blocks` (send `blocks: []` when you have nothing to set), and never include `forms`.
|
|
108
|
+
- **Read locale codes** — use `AdminLocalesController_findAllActive`.
|
|
109
|
+
- **List products** — the list operation is `POST /products/all`; there is no `GET /products`.
|
|
110
|
+
- **Export operations** — `orders.export`, `payments.export` and `users.export` are not grantable on current instances. Treat them as unavailable and tell the human rather than retrying.
|
|
159
111
|
|
|
160
|
-
|
|
112
|
+
If a call outside this list answers 5xx, stop and report it with the operation id and the request you sent. Do not retry it with a modified body.
|
|
161
113
|
|
|
162
|
-
|
|
163
|
-
enum `AttributesSetType` (`forAdmins`, `forBlocks`, `forOrders`, `forPages`, `forProducts`,
|
|
164
|
-
`forUsers`, `forUserGroups`, `forDiscounts`; note the key `forBlock` maps to the value `forBlocks`).
|
|
165
|
-
It is stored as a row id in `attribute_set_types`, that table can hold values beyond the enum, and
|
|
166
|
-
there is no lookup operation for it — so the numeric ids are **stand data, not constants**.
|
|
114
|
+
## Where to look next
|
|
167
115
|
|
|
168
|
-
|
|
169
|
-
`7 = forForms`, `9 = forEvents`, `10 = system`; page `generalTypeId` `4 = catalog_page`,
|
|
170
|
-
`11 = form`, `17 = common_page`, `18 = common_block`, `23 = discount`. Treat these as a hint, not
|
|
171
|
-
a contract. **Verify before writing**: read `GET /general-types` for page types, and read an
|
|
172
|
-
existing attribute set of the kind you want to see its `typeId`. An id from another stand is not
|
|
173
|
-
portable (§6).
|
|
116
|
+
With the operation hints removed from `cms_api_describe`, `cms_docs_search` and the map below are how you find anything.
|
|
174
117
|
|
|
175
|
-
|
|
176
|
-
`
|
|
118
|
+
- `mcp/docs/server/doc-map` — every document, with when to read it
|
|
119
|
+
- `mcp/docs/server/payload-conventions` — the rules above, in full
|
|
120
|
+
- `mcp/docs/api/baseline-data` — what already exists on your instance
|
|
121
|
+
- `mcp/docs/server/errors-and-refusals` — what a specific error means and what to do next
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oneentry/mcp-platform-server",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "MCP server that lets an AI agent operate the OneEntry Admin API, grounded in the project's own rules",
|
|
5
|
-
"license": "
|
|
5
|
+
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"engines": {
|
|
8
8
|
"node": ">=20"
|
|
@@ -12,8 +12,20 @@
|
|
|
12
12
|
},
|
|
13
13
|
"repository": {
|
|
14
14
|
"type": "git",
|
|
15
|
-
"url": "git+https://
|
|
15
|
+
"url": "git+https://github.com/ONEENTRY-PLATFORM/oneentry-platform-mcp.git"
|
|
16
16
|
},
|
|
17
|
+
"bugs": {
|
|
18
|
+
"url": "https://github.com/ONEENTRY-PLATFORM/oneentry-platform-mcp/issues"
|
|
19
|
+
},
|
|
20
|
+
"homepage": "https://github.com/ONEENTRY-PLATFORM/oneentry-platform-mcp#readme",
|
|
21
|
+
"keywords": [
|
|
22
|
+
"mcp",
|
|
23
|
+
"model-context-protocol",
|
|
24
|
+
"oneentry",
|
|
25
|
+
"cms",
|
|
26
|
+
"admin-api",
|
|
27
|
+
"ai-agent"
|
|
28
|
+
],
|
|
17
29
|
"publishConfig": {
|
|
18
30
|
"access": "public"
|
|
19
31
|
},
|
|
@@ -29,7 +41,8 @@
|
|
|
29
41
|
"dist",
|
|
30
42
|
"data",
|
|
31
43
|
"knowledge",
|
|
32
|
-
"README.md"
|
|
44
|
+
"README.md",
|
|
45
|
+
"LICENSE"
|
|
33
46
|
],
|
|
34
47
|
"scripts": {
|
|
35
48
|
"build": "tsc -p tsconfig.build.json",
|
|
@@ -37,7 +50,7 @@
|
|
|
37
50
|
"start": "node dist/bin/cli.js",
|
|
38
51
|
"dev": "tsx src/bin/cli.ts",
|
|
39
52
|
"sync:permissions": "tsx build/sync-permissions.ts",
|
|
40
|
-
"publish:knowledge": "
|
|
53
|
+
"publish:knowledge": "node -e \"console.error('REFUSED: the knowledge repository is hand-authored. Bulk-copying internal docs into it is prohibited.'); process.exit(1)\"",
|
|
41
54
|
"lint": "eslint \"{src,build,__tests__}/**/*.ts\"",
|
|
42
55
|
"test": "vitest run",
|
|
43
56
|
"test:watch": "vitest",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-catalog.d.ts","sourceRoot":"","sources":["../../src/api/build-catalog.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAoD,MAAM,YAAY,CAAC;AAE5F;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AA+ID;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ;IACnC,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,aAAa,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,KAAG,OAiJH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-catalog.js","sourceRoot":"","sources":["../../src/api/build-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-schema.d.ts","sourceRoot":"","sources":["../../src/api/normalize-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA2C7C;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAC1B,MAAM,OAAO,EACb,YAAY,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,cAAS,EACT,WAAU,SAAS,MAAM,EAAO,KAC/B,UA8FF,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,UAAU,KAAG,UAmB9C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-schema.js","sourceRoot":"","sources":["../../src/api/normalize-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"swagger-source.d.ts","sourceRoot":"","sources":["../../src/api/swagger-source.ts"],"names":[],"mappings":"AAUA,qCAAqC;AACrC,MAAM,WAAW,aAAa;IAC5B,uFAAuF;IACvF,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,kDAAkD;AAClD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;CAC3B;AA2BD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAU,QAAQ,aAAa,KAAG,OAAO,CAAC,cAAc,CAiDhF,CAAC"}
|