@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.
Files changed (103) hide show
  1. package/README.md +144 -0
  2. package/dist/index.mjs +213076 -1
  3. package/dist/mcps-cli.mjs +102632 -59429
  4. package/lib/audit/AuditContract.js.map +1 -0
  5. package/lib/{chat/audit.js → audit/chat.js} +1 -1
  6. package/lib/audit/chat.js.map +1 -0
  7. package/lib/audit/entities/ChatRequestEntity.js.map +1 -0
  8. package/lib/audit/entities/McpRequestEntity.js.map +1 -0
  9. package/lib/audit/entities/RequestLogEntity.js.map +1 -0
  10. package/lib/audit/entities/ResponseEntity.js.map +1 -0
  11. package/lib/audit/entities/index.js +6 -0
  12. package/lib/audit/entities/index.js.map +1 -0
  13. package/lib/audit/server/db.js +64 -0
  14. package/lib/audit/server/db.js.map +1 -0
  15. package/lib/audit/server/index.js +2 -0
  16. package/lib/audit/server/index.js.map +1 -0
  17. package/lib/{server/audit.js → audit/server/plugin.js} +73 -127
  18. package/lib/audit/server/plugin.js.map +1 -0
  19. package/lib/audit/types.js.map +1 -0
  20. package/lib/chat/handler.js +5 -5
  21. package/lib/chat/handler.js.map +1 -1
  22. package/lib/chat/index.js +1 -1
  23. package/lib/chat/index.js.map +1 -1
  24. package/lib/cli-start.js +36 -0
  25. package/lib/cli-start.js.map +1 -0
  26. package/lib/cli.js +19 -0
  27. package/lib/cli.js.map +1 -0
  28. package/lib/contracts/index.js +1 -1
  29. package/lib/contracts/index.js.map +1 -1
  30. package/lib/dev.server.js +7 -1
  31. package/lib/dev.server.js.map +1 -1
  32. package/lib/entities/index.js +2 -10
  33. package/lib/entities/index.js.map +1 -1
  34. package/lib/index.js +21 -3
  35. package/lib/index.js.map +1 -1
  36. package/lib/mcps-cli.js +6 -35
  37. package/lib/mcps-cli.js.map +1 -1
  38. package/lib/providers/feishu/def.js +35 -0
  39. package/lib/providers/feishu/def.js.map +1 -0
  40. package/lib/providers/findMcpServerDef.js +1 -0
  41. package/lib/providers/findMcpServerDef.js.map +1 -1
  42. package/lib/scripts/bundle.js +7 -1
  43. package/lib/scripts/bundle.js.map +1 -1
  44. package/lib/server/api-routes.js +7 -8
  45. package/lib/server/api-routes.js.map +1 -1
  46. package/lib/server/events.js +13 -0
  47. package/lib/server/events.js.map +1 -0
  48. package/lib/server/mcp-routes.js +31 -60
  49. package/lib/server/mcp-routes.js.map +1 -1
  50. package/lib/server/mcps-router.js +19 -24
  51. package/lib/server/mcps-router.js.map +1 -1
  52. package/lib/server/schema.js +22 -2
  53. package/lib/server/schema.js.map +1 -1
  54. package/lib/server/server.js +142 -87
  55. package/lib/server/server.js.map +1 -1
  56. package/package.json +145 -85
  57. package/src/{chat/audit.ts → audit/chat.ts} +3 -3
  58. package/src/audit/entities/index.ts +6 -0
  59. package/src/audit/server/db.ts +65 -0
  60. package/src/audit/server/index.ts +8 -0
  61. package/src/{server/audit.ts → audit/server/plugin.ts} +71 -144
  62. package/src/chat/handler.ts +5 -5
  63. package/src/chat/index.ts +1 -1
  64. package/src/cli-start.ts +43 -0
  65. package/src/cli.ts +45 -0
  66. package/src/contracts/index.ts +1 -1
  67. package/src/dev.server.ts +8 -1
  68. package/src/entities/index.ts +2 -12
  69. package/src/index.ts +47 -1
  70. package/src/mcps-cli.ts +6 -48
  71. package/src/providers/feishu/def.ts +37 -0
  72. package/src/providers/findMcpServerDef.ts +1 -0
  73. package/src/scripts/bundle.ts +12 -1
  74. package/src/server/api-routes.ts +11 -8
  75. package/src/server/events.ts +29 -0
  76. package/src/server/mcp-routes.ts +30 -58
  77. package/src/server/mcps-router.ts +21 -29
  78. package/src/server/schema.ts +23 -2
  79. package/src/server/server.ts +149 -81
  80. package/LICENSE +0 -21
  81. package/lib/chat/audit.js.map +0 -1
  82. package/lib/contracts/AuditContract.js.map +0 -1
  83. package/lib/entities/ChatRequestEntity.js.map +0 -1
  84. package/lib/entities/McpRequestEntity.js.map +0 -1
  85. package/lib/entities/RequestLogEntity.js.map +0 -1
  86. package/lib/entities/ResponseEntity.js.map +0 -1
  87. package/lib/entities/types.js.map +0 -1
  88. package/lib/server/audit.js.map +0 -1
  89. package/lib/server/db.js +0 -97
  90. package/lib/server/db.js.map +0 -1
  91. package/src/server/db.ts +0 -115
  92. /package/lib/{contracts → audit}/AuditContract.js +0 -0
  93. /package/lib/{entities → audit/entities}/ChatRequestEntity.js +0 -0
  94. /package/lib/{entities → audit/entities}/McpRequestEntity.js +0 -0
  95. /package/lib/{entities → audit/entities}/RequestLogEntity.js +0 -0
  96. /package/lib/{entities → audit/entities}/ResponseEntity.js +0 -0
  97. /package/lib/{entities → audit}/types.js +0 -0
  98. /package/src/{contracts → audit}/AuditContract.ts +0 -0
  99. /package/src/{entities → audit/entities}/ChatRequestEntity.ts +0 -0
  100. /package/src/{entities → audit/entities}/McpRequestEntity.ts +0 -0
  101. /package/src/{entities → audit/entities}/RequestLogEntity.ts +0 -0
  102. /package/src/{entities → audit/entities}/ResponseEntity.ts +0 -0
  103. /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