@wener/mcps 1.0.2 → 1.0.5
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/README.md +144 -0
- package/dist/index.mjs +213076 -1
- package/dist/mcps-cli.mjs +102632 -59429
- package/lib/audit/AuditContract.js.map +1 -0
- package/lib/{chat/audit.js → audit/chat.js} +1 -1
- package/lib/audit/chat.js.map +1 -0
- package/lib/audit/entities/ChatRequestEntity.js.map +1 -0
- package/lib/audit/entities/McpRequestEntity.js.map +1 -0
- package/lib/audit/entities/RequestLogEntity.js.map +1 -0
- package/lib/audit/entities/ResponseEntity.js.map +1 -0
- package/lib/audit/entities/index.js +6 -0
- package/lib/audit/entities/index.js.map +1 -0
- package/lib/audit/server/db.js +64 -0
- package/lib/audit/server/db.js.map +1 -0
- package/lib/audit/server/index.js +2 -0
- package/lib/audit/server/index.js.map +1 -0
- package/lib/{server/audit.js → audit/server/plugin.js} +73 -127
- package/lib/audit/server/plugin.js.map +1 -0
- package/lib/audit/types.js.map +1 -0
- package/lib/chat/handler.js +5 -5
- package/lib/chat/handler.js.map +1 -1
- package/lib/chat/index.js +1 -1
- package/lib/chat/index.js.map +1 -1
- package/lib/cli-start.js +36 -0
- package/lib/cli-start.js.map +1 -0
- package/lib/cli.js +19 -0
- package/lib/cli.js.map +1 -0
- package/lib/contracts/index.js +1 -1
- package/lib/contracts/index.js.map +1 -1
- package/lib/dev.server.js +7 -1
- package/lib/dev.server.js.map +1 -1
- package/lib/entities/index.js +2 -10
- package/lib/entities/index.js.map +1 -1
- package/lib/index.js +21 -3
- package/lib/index.js.map +1 -1
- package/lib/mcps-cli.js +6 -35
- package/lib/mcps-cli.js.map +1 -1
- package/lib/providers/feishu/def.js +35 -0
- package/lib/providers/feishu/def.js.map +1 -0
- package/lib/providers/findMcpServerDef.js +1 -0
- package/lib/providers/findMcpServerDef.js.map +1 -1
- package/lib/scripts/bundle.js +7 -1
- package/lib/scripts/bundle.js.map +1 -1
- package/lib/server/api-routes.js +7 -8
- package/lib/server/api-routes.js.map +1 -1
- package/lib/server/events.js +13 -0
- package/lib/server/events.js.map +1 -0
- package/lib/server/mcp-routes.js +31 -60
- package/lib/server/mcp-routes.js.map +1 -1
- package/lib/server/mcps-router.js +19 -24
- package/lib/server/mcps-router.js.map +1 -1
- package/lib/server/schema.js +22 -2
- package/lib/server/schema.js.map +1 -1
- package/lib/server/server.js +142 -87
- package/lib/server/server.js.map +1 -1
- package/package.json +145 -85
- package/src/{chat/audit.ts → audit/chat.ts} +3 -3
- package/src/audit/entities/index.ts +6 -0
- package/src/audit/server/db.ts +65 -0
- package/src/audit/server/index.ts +8 -0
- package/src/{server/audit.ts → audit/server/plugin.ts} +71 -144
- package/src/chat/handler.ts +5 -5
- package/src/chat/index.ts +1 -1
- package/src/cli-start.ts +43 -0
- package/src/cli.ts +45 -0
- package/src/contracts/index.ts +1 -1
- package/src/dev.server.ts +8 -1
- package/src/entities/index.ts +2 -12
- package/src/index.ts +47 -1
- package/src/mcps-cli.ts +6 -48
- package/src/providers/feishu/def.ts +37 -0
- package/src/providers/findMcpServerDef.ts +1 -0
- package/src/scripts/bundle.ts +12 -1
- package/src/server/api-routes.ts +11 -8
- package/src/server/events.ts +29 -0
- package/src/server/mcp-routes.ts +30 -58
- package/src/server/mcps-router.ts +21 -29
- package/src/server/schema.ts +23 -2
- package/src/server/server.ts +149 -81
- package/LICENSE +0 -21
- package/lib/chat/audit.js.map +0 -1
- package/lib/contracts/AuditContract.js.map +0 -1
- package/lib/entities/ChatRequestEntity.js.map +0 -1
- package/lib/entities/McpRequestEntity.js.map +0 -1
- package/lib/entities/RequestLogEntity.js.map +0 -1
- package/lib/entities/ResponseEntity.js.map +0 -1
- package/lib/entities/types.js.map +0 -1
- package/lib/server/audit.js.map +0 -1
- package/lib/server/db.js +0 -97
- package/lib/server/db.js.map +0 -1
- package/src/server/db.ts +0 -115
- /package/lib/{contracts → audit}/AuditContract.js +0 -0
- /package/lib/{entities → audit/entities}/ChatRequestEntity.js +0 -0
- /package/lib/{entities → audit/entities}/McpRequestEntity.js +0 -0
- /package/lib/{entities → audit/entities}/RequestLogEntity.js +0 -0
- /package/lib/{entities → audit/entities}/ResponseEntity.js +0 -0
- /package/lib/{entities → audit}/types.js +0 -0
- /package/src/{contracts → audit}/AuditContract.ts +0 -0
- /package/src/{entities → audit/entities}/ChatRequestEntity.ts +0 -0
- /package/src/{entities → audit/entities}/McpRequestEntity.ts +0 -0
- /package/src/{entities → audit/entities}/RequestLogEntity.ts +0 -0
- /package/src/{entities → audit/entities}/ResponseEntity.ts +0 -0
- /package/src/{entities → audit}/types.ts +0 -0
package/src/server/db.ts
DELETED
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { MikroORM, type Options } from '@mikro-orm/core';
|
|
2
|
-
import { SqliteDriver } from '@mikro-orm/sqlite';
|
|
3
|
-
import { ChatRequestEntity } from '../entities/ChatRequestEntity';
|
|
4
|
-
import { McpRequestEntity } from '../entities/McpRequestEntity';
|
|
5
|
-
import { RequestLogEntity } from '../entities/RequestLogEntity';
|
|
6
|
-
import { ResponseEntity } from '../entities/ResponseEntity';
|
|
7
|
-
import type { DbConfig } from './schema';
|
|
8
|
-
|
|
9
|
-
let orm: MikroORM<SqliteDriver> | null = null;
|
|
10
|
-
let initPromise: Promise<MikroORM<SqliteDriver>> | null = null;
|
|
11
|
-
let storedDbConfig: DbConfig | undefined;
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Get MikroORM configuration
|
|
15
|
-
*/
|
|
16
|
-
export function getOrmConfig(dbConfig?: DbConfig): Options<SqliteDriver> {
|
|
17
|
-
const dbPath = dbConfig?.path || '.mcps.db';
|
|
18
|
-
|
|
19
|
-
return {
|
|
20
|
-
driver: SqliteDriver,
|
|
21
|
-
dbName: dbPath,
|
|
22
|
-
entities: [ChatRequestEntity, McpRequestEntity, RequestLogEntity, ResponseEntity],
|
|
23
|
-
// Enable debug in development
|
|
24
|
-
debug: process.env.NODE_ENV === 'development',
|
|
25
|
-
// Allow global context for simpler usage
|
|
26
|
-
allowGlobalContext: true,
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Initialize MikroORM and sync schema
|
|
32
|
-
*/
|
|
33
|
-
export async function initializeDb(dbConfig?: DbConfig): Promise<MikroORM<SqliteDriver>> {
|
|
34
|
-
if (orm) {
|
|
35
|
-
return orm;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// If already initializing, wait for the existing promise
|
|
39
|
-
if (initPromise) {
|
|
40
|
-
return initPromise;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
storedDbConfig = dbConfig;
|
|
44
|
-
|
|
45
|
-
initPromise = (async () => {
|
|
46
|
-
const config = getOrmConfig(dbConfig);
|
|
47
|
-
orm = await MikroORM.init(config);
|
|
48
|
-
|
|
49
|
-
// Sync schema (create tables if not exist)
|
|
50
|
-
await orm.schema.update();
|
|
51
|
-
|
|
52
|
-
return orm;
|
|
53
|
-
})();
|
|
54
|
-
|
|
55
|
-
try {
|
|
56
|
-
return await initPromise;
|
|
57
|
-
} catch (e) {
|
|
58
|
-
// Reset on failure so retry is possible
|
|
59
|
-
initPromise = null;
|
|
60
|
-
throw e;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Configure DB for lazy initialization (stores config without initializing)
|
|
66
|
-
*/
|
|
67
|
-
export function configureDb(dbConfig?: DbConfig): void {
|
|
68
|
-
storedDbConfig = dbConfig;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Ensure DB is initialized (lazy init on first call)
|
|
73
|
-
* Returns the ORM instance, initializing if needed
|
|
74
|
-
*/
|
|
75
|
-
export async function ensureDbInitialized(): Promise<MikroORM<SqliteDriver>> {
|
|
76
|
-
if (orm) {
|
|
77
|
-
return orm;
|
|
78
|
-
}
|
|
79
|
-
return initializeDb(storedDbConfig);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Get MikroORM instance (must be initialized first)
|
|
84
|
-
*/
|
|
85
|
-
export function getOrm(): MikroORM<SqliteDriver> {
|
|
86
|
-
if (!orm) {
|
|
87
|
-
throw new Error('Database not initialized. Call initializeDb() first.');
|
|
88
|
-
}
|
|
89
|
-
return orm;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Get EntityManager
|
|
94
|
-
*/
|
|
95
|
-
export function getEntityManager() {
|
|
96
|
-
return getOrm().em;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Close database connection
|
|
101
|
-
*/
|
|
102
|
-
export async function closeDb(): Promise<void> {
|
|
103
|
-
if (orm) {
|
|
104
|
-
await orm.close();
|
|
105
|
-
orm = null;
|
|
106
|
-
initPromise = null;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Check if database is initialized
|
|
112
|
-
*/
|
|
113
|
-
export function isDbInitialized(): boolean {
|
|
114
|
-
return orm !== null;
|
|
115
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|