@tonyclaw/agent-inspector 2.0.33 → 2.0.35
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/.output/cli.js +19 -1
- package/.output/nitro.json +1 -1
- package/.output/public/assets/{CompareDrawer-ClTJxdoU.js → CompareDrawer-Cin0_f71.js} +1 -1
- package/.output/public/assets/{ProxyViewerContainer--Pes01q2.js → ProxyViewerContainer-BVlcRirf.js} +9 -9
- package/.output/public/assets/{ReplayDialog-iuzfh85b.js → ReplayDialog-C6nOMhjx.js} +1 -1
- package/.output/public/assets/{RequestAnatomy-FZnnP9Gx.js → RequestAnatomy-DenWbdqV.js} +1 -1
- package/.output/public/assets/{ResponseView-MZ6ZWvbL.js → ResponseView-BsalZiZ5.js} +1 -1
- package/.output/public/assets/{StreamingChunkSequence-B8mZMdzs.js → StreamingChunkSequence-Cla2X13P.js} +1 -1
- package/.output/public/assets/_sessionId-DkhHqlzB.js +1 -0
- package/.output/public/assets/index-AiQY20d7.js +1 -0
- package/.output/public/assets/index-BfGJEb-2.css +1 -0
- package/.output/public/assets/{main-B797Hnge.js → main-eD8hEOHT.js} +2 -2
- package/.output/server/_libs/ajv.mjs +827 -6191
- package/.output/server/_libs/cookie-es.mjs +7 -21
- package/.output/server/_libs/h3-v2.mjs +18 -7
- package/.output/server/_libs/json-schema-traverse.mjs +1 -90
- package/.output/server/_libs/seroval-plugins.mjs +5 -5
- package/.output/server/_libs/seroval.mjs +606 -596
- package/.output/server/_libs/srvx.mjs +10 -5
- package/.output/server/_libs/tanstack__history.mjs +55 -38
- package/.output/server/_libs/tanstack__router-core.mjs +4366 -4075
- package/.output/server/{_sessionId-DD05qd8d.mjs → _sessionId-URSu2XsA.mjs} +4 -4
- package/.output/server/_ssr/{CompareDrawer-oGOG5-kQ.mjs → CompareDrawer-BbBPKdVc.mjs} +4 -4
- package/.output/server/_ssr/{ProxyViewerContainer-Bbl5tqT1.mjs → ProxyViewerContainer-DtQxtOpi.mjs} +15 -7
- package/.output/server/_ssr/{ReplayDialog-BegfwWIy.mjs → ReplayDialog-BU20cMGd.mjs} +5 -5
- package/.output/server/_ssr/{RequestAnatomy-BW_X2DyZ.mjs → RequestAnatomy-a5ySAAG1.mjs} +4 -4
- package/.output/server/_ssr/{ResponseView-Bx_uJ4RS.mjs → ResponseView-CA_QM1fM.mjs} +4 -4
- package/.output/server/_ssr/{StreamingChunkSequence-CQp5QQnB.mjs → StreamingChunkSequence-DJjITqM7.mjs} +4 -4
- package/.output/server/_ssr/{index-ODSKeDD8.mjs → index-DIFzLUAV.mjs} +4 -4
- package/.output/server/_ssr/index.mjs +20 -11
- package/.output/server/_ssr/{router-QcI4GOvo.mjs → router-aVeuM_1d.mjs} +5193 -5269
- package/.output/server/{_tanstack-start-manifest_v-dEujKJ3-.mjs → _tanstack-start-manifest_v-BNlafGbl.mjs} +1 -1
- package/.output/server/index.mjs +65 -65
- package/README.md +28 -0
- package/package.json +6 -2
- package/src/cli/templates/codex-skill-onboard.ts +19 -1
- package/src/components/providers/SettingsDialog.tsx +10 -0
- package/src/lib/groupContract.ts +0 -2
- package/src/lib/runContract.ts +0 -3
- package/src/mcp/server.ts +101 -164
- package/src/mcp/toolHandlers.ts +80 -177
- package/src/routes/api/groups.$groupId.evidence.ts +14 -33
- package/src/routes/api/groups.$groupId.sessions.ts +9 -9
- package/src/routes/api/groups.$groupId.ts +19 -13
- package/src/routes/api/groups.ts +3 -3
- package/src/routes/api/runs.$runId.evidence.ts +14 -21
- package/src/routes/api/runs.$runId.ts +9 -9
- package/src/routes/api/runs.ts +9 -5
- package/src/services/groups.ts +110 -0
- package/src/services/result.ts +17 -0
- package/src/services/runs.ts +76 -0
- package/.output/public/assets/_sessionId-Bc26Rfxs.js +0 -1
- package/.output/public/assets/index-C6AiRPsJ.js +0 -1
- package/.output/public/assets/index-C_8PFAm2.css +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const tsrStartManifest = () => ({ "routes": { "__root__": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/__root.tsx", "children": ["/", "/api/config", "/api/groups", "/api/health", "/api/logs", "/api/mcp", "/api/models", "/api/providers", "/api/runs", "/api/sessions", "/proxy/$", "/session/$sessionId", "/api/knowledge/candidates", "/api/knowledge/project-context", "/api/knowledge/search", "/api/knowledge/sessions/$sessionId/candidates"], "preloads": ["/assets/main-
|
|
1
|
+
const tsrStartManifest = () => ({ "routes": { "__root__": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/__root.tsx", "children": ["/", "/api/config", "/api/groups", "/api/health", "/api/logs", "/api/mcp", "/api/models", "/api/providers", "/api/runs", "/api/sessions", "/proxy/$", "/session/$sessionId", "/api/knowledge/candidates", "/api/knowledge/project-context", "/api/knowledge/search", "/api/knowledge/sessions/$sessionId/candidates"], "preloads": ["/assets/main-eD8hEOHT.js"], "assets": [] }, "/": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/index.tsx", "assets": [], "preloads": ["/assets/index-AiQY20d7.js", "/assets/ProxyViewerContainer-BVlcRirf.js"] }, "/api/config": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/config.ts", "children": ["/api/config/paths"] }, "/api/groups": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/groups.ts", "children": ["/api/groups/$groupId"] }, "/api/health": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/health.ts" }, "/api/logs": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.ts", "children": ["/api/logs/$id", "/api/logs/stream"] }, "/api/mcp": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/mcp.ts" }, "/api/models": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/models.ts" }, "/api/providers": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.ts", "children": ["/api/providers/$providerId", "/api/providers/export", "/api/providers/import", "/api/providers/scan"] }, "/api/runs": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/runs.ts", "children": ["/api/runs/$runId"] }, "/api/sessions": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/sessions.ts" }, "/proxy/$": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/proxy/$.ts" }, "/session/$sessionId": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/session/$sessionId.tsx", "assets": [], "preloads": ["/assets/_sessionId-DkhHqlzB.js", "/assets/ProxyViewerContainer-BVlcRirf.js"] }, "/api/config/paths": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/config.paths.ts" }, "/api/groups/$groupId": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/groups.$groupId.ts", "children": ["/api/groups/$groupId/evidence", "/api/groups/$groupId/sessions"] }, "/api/knowledge/candidates": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.candidates.ts", "children": ["/api/knowledge/candidates/$candidateId"] }, "/api/knowledge/project-context": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.project-context.ts" }, "/api/knowledge/search": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.search.ts" }, "/api/logs/$id": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.$id.ts", "children": ["/api/logs/$id/chunks", "/api/logs/$id/replay"] }, "/api/logs/stream": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.stream.ts" }, "/api/providers/$providerId": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.$providerId.ts", "children": ["/api/providers/$providerId/model-metadata", "/api/providers/$providerId/test"] }, "/api/providers/export": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.export.ts" }, "/api/providers/import": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.import.ts" }, "/api/providers/scan": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.scan.ts" }, "/api/runs/$runId": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/runs.$runId.ts", "children": ["/api/runs/$runId/evidence"] }, "/api/groups/$groupId/evidence": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/groups.$groupId.evidence.ts" }, "/api/groups/$groupId/sessions": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/groups.$groupId.sessions.ts" }, "/api/knowledge/candidates/$candidateId": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.candidates.$candidateId.ts", "children": ["/api/knowledge/candidates/$candidateId/promote"] }, "/api/logs/$id/chunks": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.$id.chunks.ts" }, "/api/logs/$id/replay": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.$id.replay.ts" }, "/api/providers/$providerId/model-metadata": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.$providerId.model-metadata.ts" }, "/api/providers/$providerId/test": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.$providerId.test.ts", "children": ["/api/providers/$providerId/test/log"] }, "/api/runs/$runId/evidence": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/runs.$runId.evidence.ts" }, "/api/knowledge/candidates/$candidateId/promote": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.candidates.$candidateId.promote.ts" }, "/api/knowledge/sessions/$sessionId/candidates": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.sessions.$sessionId.candidates.ts" }, "/api/providers/$providerId/test/log": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.$providerId.test.log.ts" } }, "clientEntry": "/assets/main-eD8hEOHT.js" });
|
|
2
2
|
export {
|
|
3
3
|
tsrStartManifest
|
|
4
4
|
};
|
package/.output/server/index.mjs
CHANGED
|
@@ -35,103 +35,103 @@ const headers = ((m) => function headersRouteRule(event) {
|
|
|
35
35
|
}
|
|
36
36
|
});
|
|
37
37
|
const assets = {
|
|
38
|
-
"/assets/index-C6AiRPsJ.js": {
|
|
39
|
-
"type": "text/javascript; charset=utf-8",
|
|
40
|
-
"etag": '"74-a6DN9m2CAFwv76/yc/R0OhyV/6c"',
|
|
41
|
-
"mtime": "2026-07-01T02:54:30.449Z",
|
|
42
|
-
"size": 116,
|
|
43
|
-
"path": "../public/assets/index-C6AiRPsJ.js"
|
|
44
|
-
},
|
|
45
38
|
"/assets/alibaba-TTwafVwX.svg": {
|
|
46
39
|
"type": "image/svg+xml",
|
|
47
40
|
"etag": '"171b-6dyV5K8QjiaY35sN9qNprh9zDIs"',
|
|
48
|
-
"mtime": "2026-07-
|
|
41
|
+
"mtime": "2026-07-01T04:41:43.991Z",
|
|
49
42
|
"size": 5915,
|
|
50
43
|
"path": "../public/assets/alibaba-TTwafVwX.svg"
|
|
51
44
|
},
|
|
45
|
+
"/assets/CompareDrawer-Cin0_f71.js": {
|
|
46
|
+
"type": "text/javascript; charset=utf-8",
|
|
47
|
+
"etag": '"49fe-SMhlBvC9BPW+osRHPbYsYl/bBwg"',
|
|
48
|
+
"mtime": "2026-07-01T04:41:43.993Z",
|
|
49
|
+
"size": 18942,
|
|
50
|
+
"path": "../public/assets/CompareDrawer-Cin0_f71.js"
|
|
51
|
+
},
|
|
52
|
+
"/assets/index-AiQY20d7.js": {
|
|
53
|
+
"type": "text/javascript; charset=utf-8",
|
|
54
|
+
"etag": '"74-rfFHE/No9yqZRRcPoLF42xPy938"',
|
|
55
|
+
"mtime": "2026-07-01T04:41:43.992Z",
|
|
56
|
+
"size": 116,
|
|
57
|
+
"path": "../public/assets/index-AiQY20d7.js"
|
|
58
|
+
},
|
|
52
59
|
"/assets/minimax-BPMzvuL-.jpeg": {
|
|
53
60
|
"type": "image/jpeg",
|
|
54
61
|
"etag": '"1b06-IwivU89ko5UTMUM1/t7hn4sQK9A"',
|
|
55
|
-
"mtime": "2026-07-
|
|
62
|
+
"mtime": "2026-07-01T04:41:43.992Z",
|
|
56
63
|
"size": 6918,
|
|
57
64
|
"path": "../public/assets/minimax-BPMzvuL-.jpeg"
|
|
58
65
|
},
|
|
59
|
-
"/assets/
|
|
66
|
+
"/assets/main-eD8hEOHT.js": {
|
|
67
|
+
"type": "text/javascript; charset=utf-8",
|
|
68
|
+
"etag": '"51726-UvOePLuurqvt/vZXR1E13qM+9Tw"',
|
|
69
|
+
"mtime": "2026-07-01T04:41:43.992Z",
|
|
70
|
+
"size": 333606,
|
|
71
|
+
"path": "../public/assets/main-eD8hEOHT.js"
|
|
72
|
+
},
|
|
73
|
+
"/assets/index-BfGJEb-2.css": {
|
|
60
74
|
"type": "text/css; charset=utf-8",
|
|
61
|
-
"etag": '"
|
|
62
|
-
"mtime": "2026-07-
|
|
63
|
-
"size":
|
|
64
|
-
"path": "../public/assets/index-
|
|
75
|
+
"etag": '"1acc9-JrjZs7fIRGuBr66cqP9miLHcLKk"',
|
|
76
|
+
"mtime": "2026-07-01T04:41:43.992Z",
|
|
77
|
+
"size": 109769,
|
|
78
|
+
"path": "../public/assets/index-BfGJEb-2.css"
|
|
65
79
|
},
|
|
66
|
-
"/assets/ReplayDialog-
|
|
80
|
+
"/assets/ReplayDialog-C6nOMhjx.js": {
|
|
67
81
|
"type": "text/javascript; charset=utf-8",
|
|
68
|
-
"etag": '"318c-
|
|
69
|
-
"mtime": "2026-07-
|
|
82
|
+
"etag": '"318c-RCD6AdXOMKbFy3+xkjBhcj2usiU"',
|
|
83
|
+
"mtime": "2026-07-01T04:41:43.993Z",
|
|
70
84
|
"size": 12684,
|
|
71
|
-
"path": "../public/assets/ReplayDialog-
|
|
72
|
-
},
|
|
73
|
-
"/assets/CompareDrawer-ClTJxdoU.js": {
|
|
74
|
-
"type": "text/javascript; charset=utf-8",
|
|
75
|
-
"etag": '"49fe-p99Ki2esmkY4icjU0xIHKhhNuIk"',
|
|
76
|
-
"mtime": "2026-07-01T02:54:30.450Z",
|
|
77
|
-
"size": 18942,
|
|
78
|
-
"path": "../public/assets/CompareDrawer-ClTJxdoU.js"
|
|
85
|
+
"path": "../public/assets/ReplayDialog-C6nOMhjx.js"
|
|
79
86
|
},
|
|
80
|
-
"/assets/RequestAnatomy-
|
|
87
|
+
"/assets/RequestAnatomy-DenWbdqV.js": {
|
|
81
88
|
"type": "text/javascript; charset=utf-8",
|
|
82
|
-
"etag": '"4485-
|
|
83
|
-
"mtime": "2026-07-
|
|
89
|
+
"etag": '"4485-IHvZwvctovAf9yd6eKLRdmz7p8U"',
|
|
90
|
+
"mtime": "2026-07-01T04:41:43.993Z",
|
|
84
91
|
"size": 17541,
|
|
85
|
-
"path": "../public/assets/RequestAnatomy-
|
|
92
|
+
"path": "../public/assets/RequestAnatomy-DenWbdqV.js"
|
|
86
93
|
},
|
|
87
|
-
"/assets/
|
|
94
|
+
"/assets/ResponseView-BsalZiZ5.js": {
|
|
88
95
|
"type": "text/javascript; charset=utf-8",
|
|
89
|
-
"etag": '"
|
|
90
|
-
"mtime": "2026-07-
|
|
91
|
-
"size": 333606,
|
|
92
|
-
"path": "../public/assets/main-B797Hnge.js"
|
|
93
|
-
},
|
|
94
|
-
"/assets/ResponseView-MZ6ZWvbL.js": {
|
|
95
|
-
"type": "text/javascript; charset=utf-8",
|
|
96
|
-
"etag": '"30d0-nvVFmB+Fh0jpFdfRsVGSbhaM0AQ"',
|
|
97
|
-
"mtime": "2026-07-01T02:54:30.450Z",
|
|
96
|
+
"etag": '"30d0-E5hbwCjhHnCoy+Fe7tsz+y/Avvw"',
|
|
97
|
+
"mtime": "2026-07-01T04:41:43.993Z",
|
|
98
98
|
"size": 12496,
|
|
99
|
-
"path": "../public/assets/ResponseView-
|
|
99
|
+
"path": "../public/assets/ResponseView-BsalZiZ5.js"
|
|
100
100
|
},
|
|
101
|
-
"/assets/StreamingChunkSequence-
|
|
101
|
+
"/assets/StreamingChunkSequence-Cla2X13P.js": {
|
|
102
102
|
"type": "text/javascript; charset=utf-8",
|
|
103
|
-
"etag": '"d57-
|
|
104
|
-
"mtime": "2026-07-
|
|
103
|
+
"etag": '"d57-f5xxcgGcUU3SGwuaaf3usFI7n70"',
|
|
104
|
+
"mtime": "2026-07-01T04:41:43.993Z",
|
|
105
105
|
"size": 3415,
|
|
106
|
-
"path": "../public/assets/StreamingChunkSequence-
|
|
106
|
+
"path": "../public/assets/StreamingChunkSequence-Cla2X13P.js"
|
|
107
107
|
},
|
|
108
|
-
"/assets/_sessionId-
|
|
108
|
+
"/assets/_sessionId-DkhHqlzB.js": {
|
|
109
109
|
"type": "text/javascript; charset=utf-8",
|
|
110
|
-
"etag": '"d2-
|
|
111
|
-
"mtime": "2026-07-
|
|
110
|
+
"etag": '"d2-FVtNmnT1a1xh4oOUYbKZyU2dqr0"',
|
|
111
|
+
"mtime": "2026-07-01T04:41:43.992Z",
|
|
112
112
|
"size": 210,
|
|
113
|
-
"path": "../public/assets/_sessionId-
|
|
114
|
-
},
|
|
115
|
-
"/assets/qwen-CONDcHqt.png": {
|
|
116
|
-
"type": "image/png",
|
|
117
|
-
"etag": '"572c3-cdJAPaHdOvFCGzuaQjagdgOu6XE"',
|
|
118
|
-
"mtime": "2026-07-01T02:54:30.449Z",
|
|
119
|
-
"size": 357059,
|
|
120
|
-
"path": "../public/assets/qwen-CONDcHqt.png"
|
|
113
|
+
"path": "../public/assets/_sessionId-DkhHqlzB.js"
|
|
121
114
|
},
|
|
122
115
|
"/assets/zhipuai-BPNAnxo-.svg": {
|
|
123
116
|
"type": "image/svg+xml",
|
|
124
117
|
"etag": '"2bf8-hNaLCTi89nOFCsIIfWpP/jrfo0s"',
|
|
125
|
-
"mtime": "2026-07-
|
|
118
|
+
"mtime": "2026-07-01T04:41:43.992Z",
|
|
126
119
|
"size": 11256,
|
|
127
120
|
"path": "../public/assets/zhipuai-BPNAnxo-.svg"
|
|
128
121
|
},
|
|
129
|
-
"/assets/
|
|
122
|
+
"/assets/qwen-CONDcHqt.png": {
|
|
123
|
+
"type": "image/png",
|
|
124
|
+
"etag": '"572c3-cdJAPaHdOvFCGzuaQjagdgOu6XE"',
|
|
125
|
+
"mtime": "2026-07-01T04:41:43.992Z",
|
|
126
|
+
"size": 357059,
|
|
127
|
+
"path": "../public/assets/qwen-CONDcHqt.png"
|
|
128
|
+
},
|
|
129
|
+
"/assets/ProxyViewerContainer-BVlcRirf.js": {
|
|
130
130
|
"type": "text/javascript; charset=utf-8",
|
|
131
|
-
"etag": '"
|
|
132
|
-
"mtime": "2026-07-
|
|
133
|
-
"size":
|
|
134
|
-
"path": "../public/assets/ProxyViewerContainer
|
|
131
|
+
"etag": '"b580f-9fZACETDim2/zxYIGCgAOnb4iZk"',
|
|
132
|
+
"mtime": "2026-07-01T04:41:43.993Z",
|
|
133
|
+
"size": 743439,
|
|
134
|
+
"path": "../public/assets/ProxyViewerContainer-BVlcRirf.js"
|
|
135
135
|
}
|
|
136
136
|
};
|
|
137
137
|
function readAsset(id) {
|
|
@@ -159,7 +159,7 @@ const EncodingMap = {
|
|
|
159
159
|
br: ".br",
|
|
160
160
|
zstd: ".zst"
|
|
161
161
|
};
|
|
162
|
-
const
|
|
162
|
+
const _bTSMt_ = defineHandler((event) => {
|
|
163
163
|
if (event.req.method && !METHODS.has(event.req.method)) {
|
|
164
164
|
return;
|
|
165
165
|
}
|
|
@@ -231,15 +231,15 @@ const findRouteRules = /* @__PURE__ */ (() => {
|
|
|
231
231
|
return r;
|
|
232
232
|
};
|
|
233
233
|
})();
|
|
234
|
-
const
|
|
234
|
+
const _lazy_OSYDIZ = defineLazyEventHandler(() => import("./_chunks/ssr-renderer.mjs"));
|
|
235
235
|
const findRoute = /* @__PURE__ */ (() => {
|
|
236
|
-
const data = { route: "/**", handler:
|
|
236
|
+
const data = { route: "/**", handler: _lazy_OSYDIZ };
|
|
237
237
|
return ((_m, p) => {
|
|
238
238
|
return { data, params: { "_": p.slice(1) } };
|
|
239
239
|
});
|
|
240
240
|
})();
|
|
241
241
|
const globalMiddleware = [
|
|
242
|
-
toEventHandler(
|
|
242
|
+
toEventHandler(_bTSMt_)
|
|
243
243
|
].filter(Boolean);
|
|
244
244
|
const errorHandler$1 = (error, event) => {
|
|
245
245
|
const res = defaultHandler(error, event);
|
package/README.md
CHANGED
|
@@ -23,6 +23,18 @@ npm install -g @tonyclaw/agent-inspector
|
|
|
23
23
|
agent-inspector
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
+
Optional MCP-first companion package:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npm install -g @tonyclaw/agent-inspector-mcp
|
|
30
|
+
agent-inspector-mcp doctor
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
`@tonyclaw/agent-inspector` runs the local UI, proxy, REST API, storage, and built-in
|
|
34
|
+
`/api/mcp` endpoint. `@tonyclaw/agent-inspector-mcp` is the enhancement package for
|
|
35
|
+
stdio-first MCP clients and setup automation; it bridges to the local Inspector endpoint without
|
|
36
|
+
moving your captured evidence out of the machine.
|
|
37
|
+
|
|
26
38
|
On Windows, the npm install step creates a local `agent-inspector.exe` runtime
|
|
27
39
|
from the user's installed Node.js runtime. The long-running server process
|
|
28
40
|
therefore appears in Task Manager as **Agent Inspector <version>** with the
|
|
@@ -151,6 +163,22 @@ Agent Inspector exposes MCP at:
|
|
|
151
163
|
http://localhost:25947/api/mcp
|
|
152
164
|
```
|
|
153
165
|
|
|
166
|
+
Coding agents can connect to this MCP surface directly over Streamable HTTP, or through the
|
|
167
|
+
companion stdio bridge:
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
agent-inspector-mcp stdio
|
|
171
|
+
agent-inspector-mcp config codex
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
The companion package is useful for MCP clients that expect a local command. Direct HTTP remains the
|
|
175
|
+
shortest path for clients that support Streamable HTTP.
|
|
176
|
+
|
|
177
|
+
Use only one transport for the same Inspector instance. If the MCP client supports Streamable HTTP,
|
|
178
|
+
configure `http://localhost:25947/api/mcp` directly. If it only supports stdio, configure
|
|
179
|
+
`agent-inspector-mcp stdio`; that command is only a bridge to `/api/mcp`, not a second Inspector
|
|
180
|
+
server.
|
|
181
|
+
|
|
154
182
|
Coding agents can use the MCP surface in three ways:
|
|
155
183
|
|
|
156
184
|
- Tools: perform actions such as listing logs, reading bounded log details, testing providers,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tonyclaw/agent-inspector",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.35",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Agent observability and knowledge capture layer for AI coding tools.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -10,6 +10,9 @@
|
|
|
10
10
|
"url": "git+https://gitcode.com/TonyClaw/agent-inspector.git"
|
|
11
11
|
},
|
|
12
12
|
"homepage": "https://gitcode.com/TonyClaw/agent-inspector#readme",
|
|
13
|
+
"workspaces": [
|
|
14
|
+
"packages/*"
|
|
15
|
+
],
|
|
13
16
|
"bugs": {
|
|
14
17
|
"url": "https://gitcode.com/TonyClaw/agent-inspector/issues"
|
|
15
18
|
},
|
|
@@ -47,8 +50,9 @@
|
|
|
47
50
|
"scripts": {
|
|
48
51
|
"dev": "vite dev",
|
|
49
52
|
"start": "node .output/cli.js",
|
|
50
|
-
"build": "vite build && bun build:cli",
|
|
53
|
+
"build": "vite build && bun build:cli && bun build:mcp",
|
|
51
54
|
"build:cli": "npx esbuild src/cli.ts --bundle --platform=node --target=node18 --format=esm --outfile=.output/cli.js",
|
|
55
|
+
"build:mcp": "npx esbuild packages/agent-inspector-mcp/src/cli.ts --bundle --platform=node --target=node20 --format=esm --outfile=packages/agent-inspector-mcp/dist/cli.js",
|
|
52
56
|
"postinstall": "node scripts/setup-windows-runtime.mjs && node scripts/setup-agent-skills.mjs",
|
|
53
57
|
"prepublishOnly": "npm run build",
|
|
54
58
|
"typecheck": "tsc --noEmit",
|
|
@@ -45,6 +45,13 @@ http://localhost:${port}/api/mcp
|
|
|
45
45
|
This skill is installed at \`~/.codex/skills/agent-inspector-onboard/SKILL.md\`.
|
|
46
46
|
Codex user-level configuration lives in \`~/.codex/config.toml\`. Codex supports streamable HTTP MCP servers with \`mcp_servers.<id>.url\`, so no extra stdio bridge package is needed.
|
|
47
47
|
|
|
48
|
+
Use exactly one MCP transport for the same Inspector instance:
|
|
49
|
+
|
|
50
|
+
- Streamable HTTP MCP: configure \`url = "http://localhost:${port}/api/mcp"\`.
|
|
51
|
+
- Stdio-only MCP clients: configure \`agent-inspector-mcp stdio --url http://localhost:${port}/api/mcp\`.
|
|
52
|
+
|
|
53
|
+
Do not configure both transports in the same MCP client, or the client may show duplicate Inspector tools.
|
|
54
|
+
|
|
48
55
|
Keep this setup local and explicit. Agent Inspector MCP tools can read captured requests and provider configuration, so only wire it into trusted local Codex environments.
|
|
49
56
|
|
|
50
57
|
Agent Inspector starts in **Simple mode** by default. Keep Simple mode for everyday capture: requests, responses, tools, timing, and token usage stay available without retaining heavier raw headers, raw response, or detailed SSE chunk artifacts. Use **Full mode** only when the user is debugging provider headers, raw response payloads, or SSE stream details.
|
|
@@ -106,7 +113,7 @@ If the health check fails, show only the relevant error and ask whether to diagn
|
|
|
106
113
|
|
|
107
114
|
Add an \`agent-inspector\` MCP server to \`~/.codex/config.toml\`. Preserve the user's existing config and merge the table instead of replacing the file.
|
|
108
115
|
|
|
109
|
-
Recommended user-level config:
|
|
116
|
+
Recommended user-level config for Codex builds that support Streamable HTTP MCP:
|
|
110
117
|
|
|
111
118
|
\`\`\`toml
|
|
112
119
|
[mcp_servers.agent-inspector]
|
|
@@ -115,6 +122,16 @@ startup_timeout_sec = 30
|
|
|
115
122
|
tool_timeout_sec = 60
|
|
116
123
|
\`\`\`
|
|
117
124
|
|
|
125
|
+
Fallback config for a stdio-only MCP client:
|
|
126
|
+
|
|
127
|
+
\`\`\`toml
|
|
128
|
+
[mcp_servers.agent-inspector]
|
|
129
|
+
command = "agent-inspector-mcp"
|
|
130
|
+
args = ["stdio", "--url", "http://localhost:${port}/api/mcp"]
|
|
131
|
+
\`\`\`
|
|
132
|
+
|
|
133
|
+
The stdio command is only a bridge to the same HTTP MCP endpoint. It does not start a second Inspector server.
|
|
134
|
+
|
|
118
135
|
If the user's Codex environment is managed by an admin allowlist, they may also need a matching identity rule in the managed requirements layer:
|
|
119
136
|
|
|
120
137
|
\`\`\`toml
|
|
@@ -126,6 +143,7 @@ When editing:
|
|
|
126
143
|
|
|
127
144
|
- Ask before changing \`~/.codex/config.toml\`.
|
|
128
145
|
- Keep existing \`mcp_servers.*\`, \`projects.*\`, profiles, sandbox, approval, and model settings intact.
|
|
146
|
+
- Remove any duplicate Inspector MCP entry that points to the same \`/api/mcp\` endpoint or runs the same \`agent-inspector-mcp stdio\` bridge under another name.
|
|
129
147
|
- Do not write provider API keys into Codex config.
|
|
130
148
|
- Do not expose Agent Inspector MCP beyond localhost.
|
|
131
149
|
|
|
@@ -335,6 +335,16 @@ function OnboardingSettingsTab(): JSX.Element {
|
|
|
335
335
|
<Check className="size-3.5 text-emerald-500" />
|
|
336
336
|
<span>Captured sessions can produce reviewable memory candidates.</span>
|
|
337
337
|
</div>
|
|
338
|
+
<div className="flex items-start gap-2">
|
|
339
|
+
<Check className="mt-0.5 size-3.5 text-emerald-500" />
|
|
340
|
+
<span>
|
|
341
|
+
Streamable HTTP clients should use the MCP URL directly. Stdio-only clients should use
|
|
342
|
+
<code className="mx-1 rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-foreground">
|
|
343
|
+
agent-inspector-mcp stdio
|
|
344
|
+
</code>
|
|
345
|
+
instead. Configure only one entry for the same Inspector.
|
|
346
|
+
</span>
|
|
347
|
+
</div>
|
|
338
348
|
<div className="flex items-start gap-2">
|
|
339
349
|
<Check className="mt-0.5 size-3.5 text-emerald-500" />
|
|
340
350
|
<span>
|
package/src/lib/groupContract.ts
CHANGED
|
@@ -143,8 +143,6 @@ export const InspectorGroupsListResponseSchema = z.object({
|
|
|
143
143
|
groups: z.array(InspectorGroupSchema),
|
|
144
144
|
});
|
|
145
145
|
|
|
146
|
-
export type InspectorGroupStatus = z.infer<typeof InspectorGroupStatusSchema>;
|
|
147
|
-
export type InspectorGroupKind = z.infer<typeof InspectorGroupKindSchema>;
|
|
148
146
|
export type InspectorGroupEvidence = z.infer<typeof InspectorGroupEvidenceSchema>;
|
|
149
147
|
export type InspectorGroupMember = z.infer<typeof InspectorGroupMemberSchema>;
|
|
150
148
|
export type InspectorGroup = z.infer<typeof InspectorGroupSchema>;
|
package/src/lib/runContract.ts
CHANGED
|
@@ -146,10 +146,7 @@ export const RecentFailuresResponseSchema = z.object({
|
|
|
146
146
|
limit: z.number().int().positive(),
|
|
147
147
|
});
|
|
148
148
|
|
|
149
|
-
export type InspectorRunStatus = z.infer<typeof InspectorRunStatusSchema>;
|
|
150
149
|
export type InspectorRunEvidence = z.infer<typeof InspectorRunEvidenceSchema>;
|
|
151
|
-
export type RunTimelineEventKind = z.infer<typeof RunTimelineEventKindSchema>;
|
|
152
|
-
export type RunTimelineEventSeverity = z.infer<typeof RunTimelineEventSeveritySchema>;
|
|
153
150
|
export type RunTimelineEvent = z.infer<typeof RunTimelineEventSchema>;
|
|
154
151
|
export type FailureCategory = z.infer<typeof FailureCategorySchema>;
|
|
155
152
|
export type FailureClassification = z.infer<typeof FailureClassificationSchema>;
|