@iris-eval/mcp-server 0.2.0 → 0.2.1
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 +1 -1
- package/dist/config/index.js +12 -3
- package/dist/dashboard/assets/{index-Biw11Phy.js → index-BNDB0-BX.js} +2 -2
- package/dist/dashboard/assets/{index-C9BwWthL.css → index-CAwaZNw5.css} +1 -1
- package/dist/dashboard/index.html +2 -2
- package/dist/index.js +8 -1
- package/dist/storage/migrations/003-eval-passed-index.d.ts +3 -0
- package/dist/storage/migrations/003-eval-passed-index.js +6 -0
- package/dist/storage/migrations/index.js +2 -1
- package/dist/storage/sqlite-adapter.js +8 -0
- package/package.json +6 -2
- package/server.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--bg-primary:#0a0a0b;--bg-secondary:#141416;--bg-tertiary:#1c1c1f;--bg-hover:#252528;--text-primary:#fafafa;--text-secondary:#a1a1aa;--text-muted:#71717a;--accent-primary:#0d9488;--accent-primary-hover:#14b8a6;--accent-success:#22c55e;--accent-error:#ef4444;--accent-warning:#f59e0b;--accent-tool:#3b82f6;--accent-llm:#a855f7;--border-color:#27272a;--border-radius:8px;--border-radius-sm:4px;--border-radius-lg:12px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0006;--shadow-lg:0 10px 15px #00000080;--transition-fast:.15s ease;--transition-base:.2s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--accent-primary);text-decoration:none}a:hover{color:var(--accent-primary-hover)}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit;font-size:inherit}code,pre{font-family:var(--font-mono)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
|
|
1
|
+
:root{--bg-primary:#0a0a0b;--bg-secondary:#141416;--bg-tertiary:#1c1c1f;--bg-hover:#252528;--text-primary:#fafafa;--text-secondary:#a1a1aa;--text-muted:#71717a;--accent-primary:#0d9488;--accent-primary-hover:#14b8a6;--accent-success:#22c55e;--accent-error:#ef4444;--accent-warning:#f59e0b;--accent-tool:#3b82f6;--accent-llm:#a855f7;--border-color:#27272a;--border-radius:8px;--border-radius-sm:4px;--border-radius-lg:12px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0006;--shadow-lg:0 10px 15px #00000080;--transition-fast:.15s ease;--transition-base:.2s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--accent-primary);text-decoration:none}a:hover{color:var(--accent-primary-hover)}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit;font-size:inherit}code,pre{font-family:var(--font-mono)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
7
7
|
<title>Iris — Agent Eval & Observability</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
9
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-BNDB0-BX.js"></script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="/assets/index-CAwaZNw5.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
|
12
12
|
<div id="root"></div>
|
package/dist/index.js
CHANGED
|
@@ -22,7 +22,7 @@ const { values } = parseArgs({
|
|
|
22
22
|
});
|
|
23
23
|
if (values.help) {
|
|
24
24
|
process.stderr.write(`
|
|
25
|
-
Iris — MCP-Native Agent Eval
|
|
25
|
+
Iris — MCP-Native Agent Eval Server
|
|
26
26
|
|
|
27
27
|
Usage: iris-mcp [options]
|
|
28
28
|
|
|
@@ -55,6 +55,13 @@ async function main() {
|
|
|
55
55
|
logger.info(`Storage initialized (${config.storage.type}: ${config.storage.path})`);
|
|
56
56
|
const { mcpServer } = createIrisServer(config, storage);
|
|
57
57
|
const httpServers = [];
|
|
58
|
+
// Run data retention cleanup on startup
|
|
59
|
+
if (config.retention.days > 0) {
|
|
60
|
+
const deleted = await storage.deleteTracesOlderThan(config.retention.days);
|
|
61
|
+
if (deleted > 0) {
|
|
62
|
+
logger.info(`Retention cleanup: deleted ${deleted} trace(s) older than ${config.retention.days} days`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
58
65
|
if (config.transport.type === 'http') {
|
|
59
66
|
const { transport, httpServer } = await createHttpTransport(mcpServer, config, logger);
|
|
60
67
|
httpServers.push(httpServer);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as migration001 from './001-initial-schema.js';
|
|
2
2
|
import * as migration002 from './002-eval-skip-fields.js';
|
|
3
|
-
|
|
3
|
+
import * as migration003 from './003-eval-passed-index.js';
|
|
4
|
+
const migrations = [migration001, migration002, migration003];
|
|
4
5
|
export function runMigrations(db) {
|
|
5
6
|
db.exec(`
|
|
6
7
|
CREATE TABLE IF NOT EXISTS _iris_migrations (
|
|
@@ -61,6 +61,14 @@ export class SqliteAdapter {
|
|
|
61
61
|
conditions.push('timestamp <= ?');
|
|
62
62
|
params.push(filter.until);
|
|
63
63
|
}
|
|
64
|
+
if (filter?.min_score !== undefined) {
|
|
65
|
+
conditions.push('EXISTS (SELECT 1 FROM eval_results e WHERE e.trace_id = traces.trace_id AND e.score >= ?)');
|
|
66
|
+
params.push(filter.min_score);
|
|
67
|
+
}
|
|
68
|
+
if (filter?.max_score !== undefined) {
|
|
69
|
+
conditions.push('EXISTS (SELECT 1 FROM eval_results e WHERE e.trace_id = traces.trace_id AND e.score <= ?)');
|
|
70
|
+
params.push(filter.max_score);
|
|
71
|
+
}
|
|
64
72
|
const whereClause = conditions.length > 0 ? `WHERE ${conditions.join(' AND ')}` : '';
|
|
65
73
|
const sortBy = options.sort_by ?? 'timestamp';
|
|
66
74
|
const sortOrder = options.sort_order ?? 'desc';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iris-eval/mcp-server",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "The agent eval standard for MCP. Score every agent output for quality, safety, and cost.",
|
|
5
5
|
"mcpName": "io.github.iris-eval/mcp-server",
|
|
6
6
|
"type": "module",
|
|
@@ -47,7 +47,11 @@
|
|
|
47
47
|
"output-quality",
|
|
48
48
|
"quality-gate"
|
|
49
49
|
],
|
|
50
|
-
"author":
|
|
50
|
+
"author": {
|
|
51
|
+
"name": "Iris",
|
|
52
|
+
"email": "hello@iris-eval.com",
|
|
53
|
+
"url": "https://github.com/iris-eval"
|
|
54
|
+
},
|
|
51
55
|
"license": "MIT",
|
|
52
56
|
"repository": {
|
|
53
57
|
"type": "git",
|
package/server.json
CHANGED
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
"url": "https://github.com/iris-eval/mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.2.
|
|
9
|
+
"version": "0.2.1",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@iris-eval/mcp-server",
|
|
14
|
-
"version": "0.2.
|
|
14
|
+
"version": "0.2.1",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|