opalserve 3.0.1 → 3.1.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.
Files changed (41) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +568 -545
  3. package/assets/logo.svg +51 -51
  4. package/dist/cli/commands/admin.js +6 -6
  5. package/dist/cli/commands/context.d.ts.map +1 -1
  6. package/dist/cli/commands/context.js +9 -2
  7. package/dist/cli/commands/context.js.map +1 -1
  8. package/dist/cli/index.js +2 -1
  9. package/dist/cli/index.js.map +1 -1
  10. package/dist/cli/ui/banner.d.ts.map +1 -1
  11. package/dist/cli/ui/banner.js +15 -14
  12. package/dist/cli/ui/banner.js.map +1 -1
  13. package/dist/constants.d.ts +1 -1
  14. package/dist/constants.js +1 -1
  15. package/dist/context/index.js +1 -1
  16. package/dist/core/server-manager.d.ts.map +1 -1
  17. package/dist/core/server-manager.js +2 -1
  18. package/dist/core/server-manager.js.map +1 -1
  19. package/dist/dashboard/assets/charts-CKTlvUso.js +68 -0
  20. package/dist/dashboard/assets/icons-DciuKSzL.js +131 -0
  21. package/dist/dashboard/assets/index-BrOv-3xx.css +1 -0
  22. package/dist/dashboard/assets/index-DnqqzxX6.js +33 -0
  23. package/dist/dashboard/assets/react-BJczIp53.js +28 -0
  24. package/dist/dashboard/index.html +17 -14
  25. package/dist/integrations/github.js +3 -3
  26. package/dist/integrations/slack.js +1 -1
  27. package/dist/monitoring/tracker.js +13 -13
  28. package/dist/server/mcp-gateway.d.ts.map +1 -1
  29. package/dist/server/mcp-gateway.js +2 -1
  30. package/dist/server/mcp-gateway.js.map +1 -1
  31. package/dist/server/routes/context.js +1 -1
  32. package/dist/server/routes/health.d.ts.map +1 -1
  33. package/dist/server/routes/health.js +2 -1
  34. package/dist/server/routes/health.js.map +1 -1
  35. package/dist/server/routes/stats.js +6 -6
  36. package/dist/storage/database.d.ts.map +1 -1
  37. package/dist/storage/database.js +132 -129
  38. package/dist/storage/database.js.map +1 -1
  39. package/package.json +91 -91
  40. package/dist/dashboard/assets/index-BNOtcUPs.js +0 -257
  41. package/dist/dashboard/assets/index-Duwp34GW.css +0 -1
@@ -1,6 +1,6 @@
1
1
  import initSqlJs from 'sql.js';
2
2
  import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
3
- import { dirname, join } from 'node:path';
3
+ import { dirname, join, normalize } from 'node:path';
4
4
  import { fileURLToPath } from 'node:url';
5
5
  import { getDefaultDbPath } from '../config/defaults.js';
6
6
  let SQL = null;
@@ -22,128 +22,128 @@ async function getSqlJs() {
22
22
  }
23
23
  return SQL;
24
24
  }
25
- const SCHEMA = `
26
- CREATE TABLE IF NOT EXISTS servers (
27
- name TEXT PRIMARY KEY,
28
- config_json TEXT NOT NULL,
29
- status TEXT NOT NULL DEFAULT 'disconnected',
30
- server_info TEXT,
31
- tool_count INTEGER DEFAULT 0,
32
- last_seen TEXT,
33
- error TEXT,
34
- created_at TEXT NOT NULL DEFAULT (datetime('now')),
35
- updated_at TEXT NOT NULL DEFAULT (datetime('now'))
36
- );
37
-
38
- CREATE TABLE IF NOT EXISTS tools (
39
- id TEXT PRIMARY KEY,
40
- server_name TEXT NOT NULL,
41
- name TEXT NOT NULL,
42
- description TEXT DEFAULT '',
43
- input_schema TEXT,
44
- annotations TEXT,
45
- discovered_at TEXT NOT NULL DEFAULT (datetime('now')),
46
- last_verified TEXT NOT NULL DEFAULT (datetime('now'))
47
- );
48
-
49
- CREATE INDEX IF NOT EXISTS idx_tools_server ON tools(server_name);
50
- CREATE INDEX IF NOT EXISTS idx_tools_name ON tools(name);
51
-
52
- CREATE TABLE IF NOT EXISTS users (
53
- id TEXT PRIMARY KEY,
54
- email TEXT UNIQUE NOT NULL,
55
- password_hash TEXT NOT NULL,
56
- display_name TEXT,
57
- created_at TEXT NOT NULL DEFAULT (datetime('now')),
58
- updated_at TEXT NOT NULL DEFAULT (datetime('now'))
59
- );
60
-
61
- CREATE TABLE IF NOT EXISTS teams (
62
- id TEXT PRIMARY KEY,
63
- name TEXT NOT NULL,
64
- slug TEXT UNIQUE NOT NULL,
65
- created_at TEXT NOT NULL DEFAULT (datetime('now'))
66
- );
67
-
68
- CREATE TABLE IF NOT EXISTS team_members (
69
- team_id TEXT NOT NULL,
70
- user_id TEXT NOT NULL,
71
- role TEXT NOT NULL DEFAULT 'member',
72
- joined_at TEXT NOT NULL DEFAULT (datetime('now')),
73
- PRIMARY KEY (team_id, user_id)
74
- );
75
-
76
- CREATE TABLE IF NOT EXISTS api_keys (
77
- id TEXT PRIMARY KEY,
78
- user_id TEXT NOT NULL,
79
- key_hash TEXT NOT NULL,
80
- key_prefix TEXT NOT NULL,
81
- name TEXT NOT NULL,
82
- last_used_at TEXT,
83
- created_at TEXT NOT NULL DEFAULT (datetime('now')),
84
- expires_at TEXT
85
- );
86
-
87
- CREATE TABLE IF NOT EXISTS team_servers (
88
- id TEXT PRIMARY KEY,
89
- team_id TEXT NOT NULL,
90
- name TEXT NOT NULL,
91
- config_json TEXT NOT NULL,
92
- credentials_encrypted TEXT,
93
- enabled INTEGER DEFAULT 1,
94
- created_by TEXT,
95
- created_at TEXT NOT NULL DEFAULT (datetime('now')),
96
- updated_at TEXT NOT NULL DEFAULT (datetime('now')),
97
- UNIQUE(team_id, name)
98
- );
99
-
100
- CREATE TABLE IF NOT EXISTS context_documents (
101
- id TEXT PRIMARY KEY,
102
- team_id TEXT,
103
- title TEXT NOT NULL,
104
- content TEXT NOT NULL,
105
- content_type TEXT DEFAULT 'text/markdown',
106
- source TEXT,
107
- tags TEXT DEFAULT '[]',
108
- uploaded_by TEXT,
109
- created_at TEXT NOT NULL DEFAULT (datetime('now')),
110
- updated_at TEXT NOT NULL DEFAULT (datetime('now'))
111
- );
112
-
113
- CREATE TABLE IF NOT EXISTS usage_events (
114
- id INTEGER PRIMARY KEY AUTOINCREMENT,
115
- team_id TEXT,
116
- user_id TEXT,
117
- event_type TEXT NOT NULL,
118
- server_name TEXT,
119
- tool_name TEXT,
120
- latency_ms INTEGER,
121
- success INTEGER,
122
- error TEXT,
123
- metadata TEXT,
124
- created_at TEXT NOT NULL DEFAULT (datetime('now'))
125
- );
126
-
127
- CREATE INDEX IF NOT EXISTS idx_usage_user ON usage_events(user_id, created_at);
128
- CREATE INDEX IF NOT EXISTS idx_usage_team ON usage_events(team_id, created_at);
129
-
130
- CREATE TABLE IF NOT EXISTS rate_limits (
131
- id INTEGER PRIMARY KEY AUTOINCREMENT,
132
- team_id TEXT NOT NULL,
133
- user_id TEXT,
134
- role TEXT,
135
- limit_type TEXT NOT NULL,
136
- max_value INTEGER NOT NULL
137
- );
138
-
139
- CREATE TABLE IF NOT EXISTS tool_permissions (
140
- id INTEGER PRIMARY KEY AUTOINCREMENT,
141
- team_id TEXT NOT NULL,
142
- role TEXT NOT NULL,
143
- server_name TEXT NOT NULL,
144
- tool_name TEXT,
145
- permission TEXT NOT NULL DEFAULT 'allow'
146
- );
25
+ const SCHEMA = `
26
+ CREATE TABLE IF NOT EXISTS servers (
27
+ name TEXT PRIMARY KEY,
28
+ config_json TEXT NOT NULL,
29
+ status TEXT NOT NULL DEFAULT 'disconnected',
30
+ server_info TEXT,
31
+ tool_count INTEGER DEFAULT 0,
32
+ last_seen TEXT,
33
+ error TEXT,
34
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
35
+ updated_at TEXT NOT NULL DEFAULT (datetime('now'))
36
+ );
37
+
38
+ CREATE TABLE IF NOT EXISTS tools (
39
+ id TEXT PRIMARY KEY,
40
+ server_name TEXT NOT NULL,
41
+ name TEXT NOT NULL,
42
+ description TEXT DEFAULT '',
43
+ input_schema TEXT,
44
+ annotations TEXT,
45
+ discovered_at TEXT NOT NULL DEFAULT (datetime('now')),
46
+ last_verified TEXT NOT NULL DEFAULT (datetime('now'))
47
+ );
48
+
49
+ CREATE INDEX IF NOT EXISTS idx_tools_server ON tools(server_name);
50
+ CREATE INDEX IF NOT EXISTS idx_tools_name ON tools(name);
51
+
52
+ CREATE TABLE IF NOT EXISTS users (
53
+ id TEXT PRIMARY KEY,
54
+ email TEXT UNIQUE NOT NULL,
55
+ password_hash TEXT NOT NULL,
56
+ display_name TEXT,
57
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
58
+ updated_at TEXT NOT NULL DEFAULT (datetime('now'))
59
+ );
60
+
61
+ CREATE TABLE IF NOT EXISTS teams (
62
+ id TEXT PRIMARY KEY,
63
+ name TEXT NOT NULL,
64
+ slug TEXT UNIQUE NOT NULL,
65
+ created_at TEXT NOT NULL DEFAULT (datetime('now'))
66
+ );
67
+
68
+ CREATE TABLE IF NOT EXISTS team_members (
69
+ team_id TEXT NOT NULL,
70
+ user_id TEXT NOT NULL,
71
+ role TEXT NOT NULL DEFAULT 'member',
72
+ joined_at TEXT NOT NULL DEFAULT (datetime('now')),
73
+ PRIMARY KEY (team_id, user_id)
74
+ );
75
+
76
+ CREATE TABLE IF NOT EXISTS api_keys (
77
+ id TEXT PRIMARY KEY,
78
+ user_id TEXT NOT NULL,
79
+ key_hash TEXT NOT NULL,
80
+ key_prefix TEXT NOT NULL,
81
+ name TEXT NOT NULL,
82
+ last_used_at TEXT,
83
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
84
+ expires_at TEXT
85
+ );
86
+
87
+ CREATE TABLE IF NOT EXISTS team_servers (
88
+ id TEXT PRIMARY KEY,
89
+ team_id TEXT NOT NULL,
90
+ name TEXT NOT NULL,
91
+ config_json TEXT NOT NULL,
92
+ credentials_encrypted TEXT,
93
+ enabled INTEGER DEFAULT 1,
94
+ created_by TEXT,
95
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
96
+ updated_at TEXT NOT NULL DEFAULT (datetime('now')),
97
+ UNIQUE(team_id, name)
98
+ );
99
+
100
+ CREATE TABLE IF NOT EXISTS context_documents (
101
+ id TEXT PRIMARY KEY,
102
+ team_id TEXT,
103
+ title TEXT NOT NULL,
104
+ content TEXT NOT NULL,
105
+ content_type TEXT DEFAULT 'text/markdown',
106
+ source TEXT,
107
+ tags TEXT DEFAULT '[]',
108
+ uploaded_by TEXT,
109
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
110
+ updated_at TEXT NOT NULL DEFAULT (datetime('now'))
111
+ );
112
+
113
+ CREATE TABLE IF NOT EXISTS usage_events (
114
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
115
+ team_id TEXT,
116
+ user_id TEXT,
117
+ event_type TEXT NOT NULL,
118
+ server_name TEXT,
119
+ tool_name TEXT,
120
+ latency_ms INTEGER,
121
+ success INTEGER,
122
+ error TEXT,
123
+ metadata TEXT,
124
+ created_at TEXT NOT NULL DEFAULT (datetime('now'))
125
+ );
126
+
127
+ CREATE INDEX IF NOT EXISTS idx_usage_user ON usage_events(user_id, created_at);
128
+ CREATE INDEX IF NOT EXISTS idx_usage_team ON usage_events(team_id, created_at);
129
+
130
+ CREATE TABLE IF NOT EXISTS rate_limits (
131
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
132
+ team_id TEXT NOT NULL,
133
+ user_id TEXT,
134
+ role TEXT,
135
+ limit_type TEXT NOT NULL,
136
+ max_value INTEGER NOT NULL
137
+ );
138
+
139
+ CREATE TABLE IF NOT EXISTS tool_permissions (
140
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
141
+ team_id TEXT NOT NULL,
142
+ role TEXT NOT NULL,
143
+ server_name TEXT NOT NULL,
144
+ tool_name TEXT,
145
+ permission TEXT NOT NULL DEFAULT 'allow'
146
+ );
147
147
  `;
148
148
  export class Database {
149
149
  db;
@@ -153,7 +153,10 @@ export class Database {
153
153
  this.filePath = filePath;
154
154
  }
155
155
  static async open(filePath) {
156
- const resolved = filePath || getDefaultDbPath();
156
+ const raw = filePath || getDefaultDbPath();
157
+ if (raw.includes('\0'))
158
+ throw new Error('Invalid database path');
159
+ const resolved = normalize(raw);
157
160
  mkdirSync(dirname(resolved), { recursive: true });
158
161
  const SqlJs = await getSqlJs();
159
162
  let db;
@@ -230,10 +233,10 @@ export class Database {
230
233
  // --- Server Operations ---
231
234
  upsertServer(config) {
232
235
  const now = new Date().toISOString();
233
- this.run(`
234
- INSERT INTO servers (name, config_json, status, created_at, updated_at)
235
- VALUES (?, ?, 'disconnected', ?, ?)
236
- ON CONFLICT(name) DO UPDATE SET config_json = excluded.config_json, updated_at = ?
236
+ this.run(`
237
+ INSERT INTO servers (name, config_json, status, created_at, updated_at)
238
+ VALUES (?, ?, 'disconnected', ?, ?)
239
+ ON CONFLICT(name) DO UPDATE SET config_json = excluded.config_json, updated_at = ?
237
240
  `, [config.name, JSON.stringify(config), now, now, now]);
238
241
  }
239
242
  getServer(name) {
@@ -263,7 +266,7 @@ export class Database {
263
266
  const now = new Date().toISOString();
264
267
  for (const tool of tools) {
265
268
  const id = `${serverName}:${tool.name}`;
266
- this.run(`INSERT INTO tools (id, server_name, name, description, input_schema, annotations, discovered_at, last_verified)
269
+ this.run(`INSERT INTO tools (id, server_name, name, description, input_schema, annotations, discovered_at, last_verified)
267
270
  VALUES (?, ?, ?, ?, ?, ?, ?, ?)`, [id, serverName, tool.name, tool.description || '', tool.inputSchema ? JSON.stringify(tool.inputSchema) : null,
268
271
  tool.annotations ? JSON.stringify(tool.annotations) : null, now, now]);
269
272
  }
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/storage/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/storage/database.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,QAAQ,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,IAAI,GAAG,GAAiD,IAAI,CAAC;AAE7D,KAAK,UAAU,QAAQ;IACrB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,4BAA4B;QAC5B,IAAI,UAA8B,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;YAC1D,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;QACD,GAAG,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Hd,CAAC;AAEF,MAAM,OAAO,QAAQ;IACX,EAAE,CAAgB;IAClB,QAAQ,CAAgB;IAEhC,YAAoB,EAAiB,EAAE,QAAuB;QAC5D,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAiB;QACjC,MAAM,GAAG,GAAG,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QAC3C,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAChC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAElD,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC/B,IAAI,EAAiB,CAAC;QAEtB,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YACtC,oEAAoE;YACpE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACzC,EAAE,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,kDAAkD;gBAClD,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;gBACxC,IAAI,CAAC;oBAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBACjE,EAAE,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,EAAE,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC;QAED,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACnC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEf,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC5C,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC/B,MAAM,EAAE,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChC,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACnC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACf,OAAO,IAAI,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;YAC9B,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,MAAkB;QACjC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,MAAiD,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,GAAG,CAA8B,GAAW,EAAE,MAAkB;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,MAAiD,CAAC,CAAC;QACzE,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAO,CAAC;YACpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,OAAO,GAAG,CAAC;QACb,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAA8B,GAAW,EAAE,MAAkB;QAC9D,MAAM,OAAO,GAAQ,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,MAAiD,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAO,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,4BAA4B;IAE5B,YAAY,CAAC,MAAuB;QAClC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC;;;;KAIR,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAA0B,sCAAsC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,aAAa;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAA0B,qCAAqC,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,GAAG,CAAC,yCAAyC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,GAAG,CAAC,oCAAoC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB,CAAC,IAAY,EAAE,MAAoB,EAAE,KAAqB;QAC1E,IAAI,CAAC,GAAG,CAAC,oHAAoH,EAC3H,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,gBAAgB,CAAC,IAAY,EAAE,IAAuC,EAAE,SAAiB;QACvF,IAAI,CAAC,GAAG,CAAC,8HAA8H,EACrI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,0BAA0B;IAE1B,WAAW,CAAC,UAAkB,EAAE,KAAqG;QACnI,IAAI,CAAC,GAAG,CAAC,yCAAyC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,GAAG,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC;wCACyB,EAChC,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC7G,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,OAAO,CAAC,EAAU;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAA0B,kCAAkC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACxF,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC;IAED,gBAAgB,CAAC,UAAkB;QACjC,OAAO,IAAI,CAAC,GAAG,CAA0B,yDAAyD,EAAE,CAAC,UAAU,CAAC,CAAC;aAC9G,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,GAAG,CAA0B,gDAAgD,CAAC;aACvF,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW,CAAC,KAAa,EAAE,KAAK,GAAG,EAAE;QACnC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEjC,OAAO,KAAK;aACT,GAAG,CAAC,IAAI,CAAC,EAAE;YACV,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,KAAK,KAAK,IAAI;oBAAE,KAAK,IAAI,EAAE,CAAC;qBAC3B,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAAE,KAAK,IAAI,CAAC,CAAC;gBAC1C,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAAE,KAAK,IAAI,CAAC,CAAC;gBACrC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAAE,KAAK,IAAI,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACzB,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;aACxB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,mBAAmB,CAAC,UAAkB;QACpC,IAAI,CAAC,GAAG,CAAC,yCAAyC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,SAAS;QACP,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAoB,qCAAqC,CAAC,CAAC;QAC/E,OAAO,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,kBAAkB;IAEV,cAAc,CAAC,GAA4B;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAqB,CAAoB,CAAC;QACxE,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAqB,CAAsC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvH,OAAO;YACL,MAAM;YACN,MAAM,EAAE;gBACN,IAAI,EAAE,GAAG,CAAC,IAAc;gBACxB,MAAM,EAAE,GAAG,CAAC,MAAsB;gBAClC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI;gBAChC,SAAS,EAAE,GAAG,CAAC,UAAoB;gBACnC,QAAQ,EAAE,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,UAAU,CAAW;gBACrD,KAAK,EAAE,GAAG,CAAC,KAAsB;gBACjC,UAAU;aACX;SACF,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,GAA4B;QACzC,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAY;YACpB,UAAU,EAAE,GAAG,CAAC,WAAqB;YACrC,IAAI,EAAE,GAAG,CAAC,IAAc;YACxB,WAAW,EAAE,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAW;YAC9C,WAAW,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAsB,CAAC,CAAC,CAAC,CAAC,SAAS;YAClF,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAqB,CAAoB,CAAC,CAAC,CAAC,SAAS;YACnG,YAAY,EAAE,GAAG,CAAC,aAAuB;YACzC,YAAY,EAAE,GAAG,CAAC,aAAuB;SAC1C,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;CACF"}
package/package.json CHANGED
@@ -1,91 +1,91 @@
1
- {
2
- "name": "opalserve",
3
- "version": "3.0.1",
4
- "description": "The control plane for your team's AI tools — share MCP servers, knowledge bases, and usage analytics across your engineering team",
5
- "type": "module",
6
- "main": "./dist/index.js",
7
- "types": "./dist/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "import": "./dist/index.js",
11
- "types": "./dist/index.d.ts"
12
- }
13
- },
14
- "bin": {
15
- "opalserve": "./dist/cli/index.js"
16
- },
17
- "files": [
18
- "dist",
19
- "assets/logo.svg",
20
- "LICENSE",
21
- "README.md"
22
- ],
23
- "scripts": {
24
- "build": "tsc",
25
- "start": "node dist/cli/index.js",
26
- "dev": "tsx watch src/cli/index.ts",
27
- "typecheck": "tsc --noEmit",
28
- "lint": "eslint src/",
29
- "test": "vitest run",
30
- "test:watch": "vitest",
31
- "prepublishOnly": "pnpm build",
32
- "docs:dev": "vitepress dev docs",
33
- "docs:build": "vitepress build docs",
34
- "docs:preview": "vitepress preview docs"
35
- },
36
- "keywords": [
37
- "mcp",
38
- "model-context-protocol",
39
- "tool-registry",
40
- "ai-tools",
41
- "cli",
42
- "discovery",
43
- "aggregator",
44
- "llm",
45
- "claude",
46
- "cursor"
47
- ],
48
- "author": "AdityaIdev <aiexpert@adityaai.dev>",
49
- "license": "MIT",
50
- "homepage": "https://opalserve.vercel.app",
51
- "repository": {
52
- "type": "git",
53
- "url": "https://github.com/adityaidev/opalserve.git"
54
- },
55
- "bugs": {
56
- "url": "https://github.com/adityaidev/opalserve/issues"
57
- },
58
- "engines": {
59
- "node": ">=20.0.0"
60
- },
61
- "dependencies": {
62
- "@fastify/cors": "^11.0.0",
63
- "@fastify/static": "^9.1.0",
64
- "@inquirer/prompts": "^8.4.1",
65
- "@modelcontextprotocol/sdk": "^1.12.1",
66
- "boxen": "^8.0.1",
67
- "chalk": "^5.4.1",
68
- "cli-table3": "^0.6.5",
69
- "commander": "^13.1.0",
70
- "cosmiconfig": "^9.0.0",
71
- "fastify": "^5.3.3",
72
- "gradient-string": "^3.0.0",
73
- "inquirer": "^12.6.0",
74
- "ora": "^8.2.0",
75
- "pino": "^9.6.0",
76
- "pino-pretty": "^13.0.0",
77
- "sql.js": "^1.14.1",
78
- "zod": "^3.24.4"
79
- },
80
- "devDependencies": {
81
- "@eslint/js": "^9.25.1",
82
- "@types/gradient-string": "^1.1.6",
83
- "@types/node": "^22.15.3",
84
- "eslint": "^9.25.1",
85
- "tsx": "^4.19.4",
86
- "typescript": "^5.8.3",
87
- "typescript-eslint": "^8.31.0",
88
- "vitepress": "^1.6.3",
89
- "vitest": "^3.1.2"
90
- }
91
- }
1
+ {
2
+ "name": "opalserve",
3
+ "version": "3.1.0",
4
+ "description": "The control plane for your team's AI tools — share MCP servers, knowledge bases, and usage analytics across your engineering team",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ }
13
+ },
14
+ "bin": {
15
+ "opalserve": "dist/cli/index.js"
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "assets/logo.svg",
20
+ "LICENSE",
21
+ "README.md"
22
+ ],
23
+ "scripts": {
24
+ "build": "tsc && pnpm --filter opalserve-dashboard build",
25
+ "start": "node dist/cli/index.js",
26
+ "dev": "tsx watch src/cli/index.ts",
27
+ "typecheck": "tsc --noEmit",
28
+ "lint": "eslint src/",
29
+ "test": "vitest run",
30
+ "test:watch": "vitest",
31
+ "prepublishOnly": "pnpm build",
32
+ "docs:dev": "vitepress dev docs",
33
+ "docs:build": "vitepress build docs",
34
+ "docs:preview": "vitepress preview docs"
35
+ },
36
+ "keywords": [
37
+ "mcp",
38
+ "model-context-protocol",
39
+ "tool-registry",
40
+ "ai-tools",
41
+ "cli",
42
+ "discovery",
43
+ "aggregator",
44
+ "llm",
45
+ "claude",
46
+ "cursor"
47
+ ],
48
+ "author": "AdityaIdev <aiexpert@adityaai.dev>",
49
+ "license": "MIT",
50
+ "homepage": "https://opalserve.adityaai.dev",
51
+ "repository": {
52
+ "type": "git",
53
+ "url": "git+https://github.com/adityaidev/opalserve.git"
54
+ },
55
+ "bugs": {
56
+ "url": "https://github.com/adityaidev/opalserve/issues"
57
+ },
58
+ "engines": {
59
+ "node": ">=20.0.0"
60
+ },
61
+ "dependencies": {
62
+ "@fastify/cors": "^11.0.0",
63
+ "@fastify/static": "^9.1.3",
64
+ "@inquirer/prompts": "^8.4.1",
65
+ "@modelcontextprotocol/sdk": "^1.12.1",
66
+ "boxen": "^8.0.1",
67
+ "chalk": "^5.4.1",
68
+ "cli-table3": "^0.6.5",
69
+ "commander": "^13.1.0",
70
+ "cosmiconfig": "^9.0.0",
71
+ "fastify": "^5.8.5",
72
+ "gradient-string": "^3.0.0",
73
+ "inquirer": "^12.6.0",
74
+ "ora": "^8.2.0",
75
+ "pino": "^9.14.0",
76
+ "pino-pretty": "^13.0.0",
77
+ "sql.js": "^1.14.1",
78
+ "zod": "^3.24.4"
79
+ },
80
+ "devDependencies": {
81
+ "@eslint/js": "^9.25.1",
82
+ "@types/gradient-string": "^1.1.6",
83
+ "@types/node": "^22.15.3",
84
+ "eslint": "^9.25.1",
85
+ "tsx": "^4.19.4",
86
+ "typescript": "^5.8.3",
87
+ "typescript-eslint": "^8.31.0",
88
+ "vitepress": "^1.6.3",
89
+ "vitest": "^3.1.2"
90
+ }
91
+ }