@tonyclaw/agent-inspector 3.0.12 → 3.0.14
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 +72 -6
- package/.output/nitro.json +1 -1
- package/.output/public/assets/{CompareDrawer-BxgmeTyv.js → CompareDrawer-DDfwHQUi.js} +1 -1
- package/.output/public/assets/{ProxyViewerContainer-CchT6T-4.js → ProxyViewerContainer-CbNsaoQw.js} +41 -41
- package/.output/public/assets/{ReplayDialog-CMHVUtVB.js → ReplayDialog-D-26DMBt.js} +1 -1
- package/.output/public/assets/{RequestAnatomy-CpqHIkD1.js → RequestAnatomy-B6zNFqNX.js} +1 -1
- package/.output/public/assets/{ResponseView-BvhBiQ5k.js → ResponseView-Ccy95rWI.js} +2 -2
- package/.output/public/assets/{StreamingChunkSequence-CcNvFNPp.js → StreamingChunkSequence-yIiscGuE.js} +1 -1
- package/.output/public/assets/{_sessionId-D5z6C77f.js → _sessionId-BnMB0zab.js} +1 -1
- package/.output/public/assets/index-49RC4dlD.js +1 -0
- package/.output/public/assets/{index-CXcH69lm.js → index-BbtAIxbg.js} +1 -1
- package/.output/public/assets/index-DXKupW0r.css +1 -0
- package/.output/public/assets/{json-viewer-DjRQ00mw.js → json-viewer-C838cVmD.js} +1 -1
- package/.output/public/assets/{main-CkKubKth.js → main-BfN4culo.js} +2 -2
- package/.output/server/_libs/lucide-react.mjs +33 -33
- package/.output/server/{_sessionId-IP7wEbnv.mjs → _sessionId-DoprmwZV.mjs} +3 -3
- package/.output/server/_ssr/{CompareDrawer-B4qTq3I9.mjs → CompareDrawer-YMLJNxXR.mjs} +3 -3
- package/.output/server/_ssr/{ProxyViewerContainer-CCIJ1EcB.mjs → ProxyViewerContainer-C62eZnva.mjs} +215 -24
- package/.output/server/_ssr/{ReplayDialog-BgxCdCxM.mjs → ReplayDialog-NmN7Ukjo.mjs} +3 -3
- package/.output/server/_ssr/{RequestAnatomy-De3QDi_x.mjs → RequestAnatomy-Dawm2qxe.mjs} +2 -2
- package/.output/server/_ssr/{ResponseView-Dvibk8g5.mjs → ResponseView-BHyAY83t.mjs} +3 -3
- package/.output/server/_ssr/{StreamingChunkSequence-oAsweEag.mjs → StreamingChunkSequence-C4qgcJbg.mjs} +2 -2
- package/.output/server/_ssr/{index-BIlK7gMO.mjs → index-B2Pf6W_T.mjs} +2 -2
- package/.output/server/_ssr/index.mjs +2 -2
- package/.output/server/_ssr/{json-viewer-Dgo4oRbs.mjs → json-viewer-u67BASf8.mjs} +3 -3
- package/.output/server/_ssr/{router-DY_2TxnZ.mjs → router-CZhFVMGN.mjs} +267 -111
- package/.output/server/_tanstack-start-manifest_v-Dk2HfOoe.mjs +4 -0
- package/.output/server/index.mjs +73 -73
- package/README.md +32 -9
- package/package.json +1 -1
- package/src/cli.ts +95 -11
- package/src/components/ecosystem/AgentLabDialog.tsx +221 -10
- package/src/lib/ecosystemContract.ts +21 -1
- package/src/proxy/ecosystemRegistry.ts +52 -0
- package/src/proxy/ecosystemTasks.ts +95 -1
- package/src/routes/api/ecosystem.packages.ts +2 -1
- package/src/routes/api/ecosystem.recipes.$recipeId.run.ts +16 -0
- package/.output/public/assets/index-BIgsQvaF.css +0 -1
- package/.output/public/assets/index-C57MERBU.js +0 -1
- package/.output/server/_tanstack-start-manifest_v-CYOwyBpv.mjs +0 -4
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const tsrStartManifest = () => ({ "routes": { "__root__": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/__root.tsx", "children": ["/", "/api/alerts", "/api/config", "/api/groups", "/api/health", "/api/logs", "/api/mcp", "/api/models", "/api/providers", "/api/runs", "/api/sessions", "/proxy/$", "/session/$sessionId", "/api/ecosystem/packages", "/api/ecosystem/tasks", "/api/knowledge/candidates", "/api/knowledge/project-context", "/api/knowledge/search", "/api/ecosystem/recipes/$recipeId/run", "/api/knowledge/sessions/$sessionId/candidates"], "preloads": ["/assets/main-BfN4culo.js"], "assets": [] }, "/": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/index.tsx", "assets": [], "preloads": ["/assets/index-49RC4dlD.js", "/assets/ProxyViewerContainer-CbNsaoQw.js"] }, "/api/alerts": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/alerts.ts", "children": ["/api/alerts/summary"] }, "/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/import", "/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-BnMB0zab.js", "/assets/ProxyViewerContainer-CbNsaoQw.js"] }, "/api/alerts/summary": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/alerts.summary.ts" }, "/api/config/paths": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/config.paths.ts" }, "/api/ecosystem/packages": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/ecosystem.packages.ts", "children": ["/api/ecosystem/packages/$packageId/help", "/api/ecosystem/packages/$packageId/install", "/api/ecosystem/packages/$packageId/runner-presets", "/api/ecosystem/packages/$packageId/upgrade"] }, "/api/ecosystem/tasks": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/ecosystem.tasks.ts", "children": ["/api/ecosystem/tasks/$taskId"] }, "/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/body", "/api/logs/$id/chunks", "/api/logs/$id/replay"] }, "/api/logs/import": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.import.ts" }, "/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/ecosystem/tasks/$taskId": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/ecosystem.tasks.$taskId.ts" }, "/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/body": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.$id.body.ts" }, "/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/ecosystem/packages/$packageId/help": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/ecosystem.packages.$packageId.help.ts" }, "/api/ecosystem/packages/$packageId/install": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/ecosystem.packages.$packageId.install.ts" }, "/api/ecosystem/packages/$packageId/runner-presets": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/ecosystem.packages.$packageId.runner-presets.ts" }, "/api/ecosystem/packages/$packageId/upgrade": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/ecosystem.packages.$packageId.upgrade.ts" }, "/api/ecosystem/recipes/$recipeId/run": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/ecosystem.recipes.$recipeId.run.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-BfN4culo.js" });
|
|
2
|
+
export {
|
|
3
|
+
tsrStartManifest
|
|
4
|
+
};
|
package/.output/server/index.mjs
CHANGED
|
@@ -38,121 +38,121 @@ const assets = {
|
|
|
38
38
|
"/assets/agent-inspector-58K1_MsC.ico": {
|
|
39
39
|
"type": "image/vnd.microsoft.icon",
|
|
40
40
|
"etag": '"38fa-ZD8kPABHYjPIkcH82FMY6iZM7fI"',
|
|
41
|
-
"mtime": "2026-07-
|
|
41
|
+
"mtime": "2026-07-08T01:38:53.683Z",
|
|
42
42
|
"size": 14586,
|
|
43
43
|
"path": "../public/assets/agent-inspector-58K1_MsC.ico"
|
|
44
44
|
},
|
|
45
|
-
"/assets/
|
|
46
|
-
"type": "image/svg+xml",
|
|
47
|
-
"etag": '"171b-6dyV5K8QjiaY35sN9qNprh9zDIs"',
|
|
48
|
-
"mtime": "2026-07-07T12:05:50.812Z",
|
|
49
|
-
"size": 5915,
|
|
50
|
-
"path": "../public/assets/alibaba-TTwafVwX.svg"
|
|
51
|
-
},
|
|
52
|
-
"/assets/index-C57MERBU.js": {
|
|
45
|
+
"/assets/index-BbtAIxbg.js": {
|
|
53
46
|
"type": "text/javascript; charset=utf-8",
|
|
54
|
-
"etag": '"
|
|
55
|
-
"mtime": "2026-07-
|
|
56
|
-
"size":
|
|
57
|
-
"path": "../public/assets/index-
|
|
47
|
+
"etag": '"1cd2c-9sotzEOJt7YobaV9zbPeMBhUgKQ"',
|
|
48
|
+
"mtime": "2026-07-08T01:38:53.685Z",
|
|
49
|
+
"size": 118060,
|
|
50
|
+
"path": "../public/assets/index-BbtAIxbg.js"
|
|
58
51
|
},
|
|
59
|
-
"/assets/CompareDrawer-
|
|
52
|
+
"/assets/CompareDrawer-DDfwHQUi.js": {
|
|
60
53
|
"type": "text/javascript; charset=utf-8",
|
|
61
|
-
"etag": '"4bc3-
|
|
62
|
-
"mtime": "2026-07-
|
|
54
|
+
"etag": '"4bc3-V5X3VhcIpOcGi/B6cXBW6SUb4h4"',
|
|
55
|
+
"mtime": "2026-07-08T01:38:53.685Z",
|
|
63
56
|
"size": 19395,
|
|
64
|
-
"path": "../public/assets/CompareDrawer-
|
|
57
|
+
"path": "../public/assets/CompareDrawer-DDfwHQUi.js"
|
|
65
58
|
},
|
|
66
|
-
"/assets/
|
|
59
|
+
"/assets/index-49RC4dlD.js": {
|
|
67
60
|
"type": "text/javascript; charset=utf-8",
|
|
68
|
-
"etag": '"
|
|
69
|
-
"mtime": "2026-07-
|
|
70
|
-
"size":
|
|
71
|
-
"path": "../public/assets/
|
|
72
|
-
},
|
|
73
|
-
"/assets/index-BIgsQvaF.css": {
|
|
74
|
-
"type": "text/css; charset=utf-8",
|
|
75
|
-
"etag": '"23c25-AyhoABstT65ludnAAzbIkqX0g+A"',
|
|
76
|
-
"mtime": "2026-07-07T12:05:50.813Z",
|
|
77
|
-
"size": 146469,
|
|
78
|
-
"path": "../public/assets/index-BIgsQvaF.css"
|
|
61
|
+
"etag": '"74-GlRn93aSVOHR0mfj+RCxQ60Mu3o"',
|
|
62
|
+
"mtime": "2026-07-08T01:38:53.685Z",
|
|
63
|
+
"size": 116,
|
|
64
|
+
"path": "../public/assets/index-49RC4dlD.js"
|
|
79
65
|
},
|
|
80
|
-
"/assets/
|
|
66
|
+
"/assets/json-viewer-C838cVmD.js": {
|
|
81
67
|
"type": "text/javascript; charset=utf-8",
|
|
82
|
-
"etag": '"
|
|
83
|
-
"mtime": "2026-07-
|
|
84
|
-
"size":
|
|
85
|
-
"path": "../public/assets/
|
|
68
|
+
"etag": '"1ae6-quOA6edv0/Es47habtmdRT7jfNc"',
|
|
69
|
+
"mtime": "2026-07-08T01:38:53.685Z",
|
|
70
|
+
"size": 6886,
|
|
71
|
+
"path": "../public/assets/json-viewer-C838cVmD.js"
|
|
86
72
|
},
|
|
87
73
|
"/assets/minimax-BPMzvuL-.jpeg": {
|
|
88
74
|
"type": "image/jpeg",
|
|
89
75
|
"etag": '"1b06-IwivU89ko5UTMUM1/t7hn4sQK9A"',
|
|
90
|
-
"mtime": "2026-07-
|
|
76
|
+
"mtime": "2026-07-08T01:38:53.683Z",
|
|
91
77
|
"size": 6918,
|
|
92
78
|
"path": "../public/assets/minimax-BPMzvuL-.jpeg"
|
|
93
79
|
},
|
|
94
|
-
"/assets/
|
|
95
|
-
"type": "
|
|
96
|
-
"etag": '"
|
|
97
|
-
"mtime": "2026-07-
|
|
98
|
-
"size":
|
|
99
|
-
"path": "../public/assets/
|
|
80
|
+
"/assets/alibaba-TTwafVwX.svg": {
|
|
81
|
+
"type": "image/svg+xml",
|
|
82
|
+
"etag": '"171b-6dyV5K8QjiaY35sN9qNprh9zDIs"',
|
|
83
|
+
"mtime": "2026-07-08T01:38:53.683Z",
|
|
84
|
+
"size": 5915,
|
|
85
|
+
"path": "../public/assets/alibaba-TTwafVwX.svg"
|
|
100
86
|
},
|
|
101
|
-
"/assets/
|
|
87
|
+
"/assets/ReplayDialog-D-26DMBt.js": {
|
|
102
88
|
"type": "text/javascript; charset=utf-8",
|
|
103
|
-
"etag": '"
|
|
104
|
-
"mtime": "2026-07-
|
|
105
|
-
"size":
|
|
106
|
-
"path": "../public/assets/
|
|
89
|
+
"etag": '"3347-aZE+Q0LWYe8L0W8182RYkrLiGmQ"',
|
|
90
|
+
"mtime": "2026-07-08T01:38:53.685Z",
|
|
91
|
+
"size": 13127,
|
|
92
|
+
"path": "../public/assets/ReplayDialog-D-26DMBt.js"
|
|
107
93
|
},
|
|
108
|
-
"/assets/
|
|
109
|
-
"type": "text/
|
|
110
|
-
"etag": '"
|
|
111
|
-
"mtime": "2026-07-
|
|
112
|
-
"size":
|
|
113
|
-
"path": "../public/assets/
|
|
94
|
+
"/assets/index-DXKupW0r.css": {
|
|
95
|
+
"type": "text/css; charset=utf-8",
|
|
96
|
+
"etag": '"23dd5-TDREYsXzXS8z4xFgQFr1UWJvDXE"',
|
|
97
|
+
"mtime": "2026-07-08T01:38:53.685Z",
|
|
98
|
+
"size": 146901,
|
|
99
|
+
"path": "../public/assets/index-DXKupW0r.css"
|
|
114
100
|
},
|
|
115
|
-
"/assets/
|
|
101
|
+
"/assets/main-BfN4culo.js": {
|
|
116
102
|
"type": "text/javascript; charset=utf-8",
|
|
117
|
-
"etag": '"
|
|
118
|
-
"mtime": "2026-07-
|
|
119
|
-
"size":
|
|
120
|
-
"path": "../public/assets/
|
|
103
|
+
"etag": '"512fd-Lx/1rDXGJqcCtEnfodu55luhvMs"',
|
|
104
|
+
"mtime": "2026-07-08T01:38:53.685Z",
|
|
105
|
+
"size": 332541,
|
|
106
|
+
"path": "../public/assets/main-BfN4culo.js"
|
|
121
107
|
},
|
|
122
|
-
"/assets/_sessionId-
|
|
108
|
+
"/assets/_sessionId-BnMB0zab.js": {
|
|
123
109
|
"type": "text/javascript; charset=utf-8",
|
|
124
|
-
"etag": '"36c-
|
|
125
|
-
"mtime": "2026-07-
|
|
110
|
+
"etag": '"36c-vmwadBttRO2Tr8uyzA9ILlXMGRg"',
|
|
111
|
+
"mtime": "2026-07-08T01:38:53.685Z",
|
|
126
112
|
"size": 876,
|
|
127
|
-
"path": "../public/assets/_sessionId-
|
|
113
|
+
"path": "../public/assets/_sessionId-BnMB0zab.js"
|
|
128
114
|
},
|
|
129
|
-
"/assets/
|
|
115
|
+
"/assets/RequestAnatomy-B6zNFqNX.js": {
|
|
130
116
|
"type": "text/javascript; charset=utf-8",
|
|
131
|
-
"etag": '"
|
|
132
|
-
"mtime": "2026-07-
|
|
133
|
-
"size":
|
|
134
|
-
"path": "../public/assets/
|
|
117
|
+
"etag": '"43f2-FB7RmmcasRWbq5XlMj8Lfh/HgFQ"',
|
|
118
|
+
"mtime": "2026-07-08T01:38:53.685Z",
|
|
119
|
+
"size": 17394,
|
|
120
|
+
"path": "../public/assets/RequestAnatomy-B6zNFqNX.js"
|
|
135
121
|
},
|
|
136
122
|
"/assets/zhipuai-BPNAnxo-.svg": {
|
|
137
123
|
"type": "image/svg+xml",
|
|
138
124
|
"etag": '"2bf8-hNaLCTi89nOFCsIIfWpP/jrfo0s"',
|
|
139
|
-
"mtime": "2026-07-
|
|
125
|
+
"mtime": "2026-07-08T01:38:53.683Z",
|
|
140
126
|
"size": 11256,
|
|
141
127
|
"path": "../public/assets/zhipuai-BPNAnxo-.svg"
|
|
142
128
|
},
|
|
129
|
+
"/assets/StreamingChunkSequence-yIiscGuE.js": {
|
|
130
|
+
"type": "text/javascript; charset=utf-8",
|
|
131
|
+
"etag": '"e95-KIXlCdHgHnZGrDZTGIAMwgHzmp0"',
|
|
132
|
+
"mtime": "2026-07-08T01:38:53.685Z",
|
|
133
|
+
"size": 3733,
|
|
134
|
+
"path": "../public/assets/StreamingChunkSequence-yIiscGuE.js"
|
|
135
|
+
},
|
|
136
|
+
"/assets/ResponseView-Ccy95rWI.js": {
|
|
137
|
+
"type": "text/javascript; charset=utf-8",
|
|
138
|
+
"etag": '"47fc-yKb5jKw9a0d9bY9FAp9fSDXbR5U"',
|
|
139
|
+
"mtime": "2026-07-08T01:38:53.685Z",
|
|
140
|
+
"size": 18428,
|
|
141
|
+
"path": "../public/assets/ResponseView-Ccy95rWI.js"
|
|
142
|
+
},
|
|
143
143
|
"/assets/qwen-CONDcHqt.png": {
|
|
144
144
|
"type": "image/png",
|
|
145
145
|
"etag": '"572c3-cdJAPaHdOvFCGzuaQjagdgOu6XE"',
|
|
146
|
-
"mtime": "2026-07-
|
|
146
|
+
"mtime": "2026-07-08T01:38:53.685Z",
|
|
147
147
|
"size": 357059,
|
|
148
148
|
"path": "../public/assets/qwen-CONDcHqt.png"
|
|
149
149
|
},
|
|
150
|
-
"/assets/ProxyViewerContainer-
|
|
150
|
+
"/assets/ProxyViewerContainer-CbNsaoQw.js": {
|
|
151
151
|
"type": "text/javascript; charset=utf-8",
|
|
152
|
-
"etag": '"
|
|
153
|
-
"mtime": "2026-07-
|
|
154
|
-
"size":
|
|
155
|
-
"path": "../public/assets/ProxyViewerContainer-
|
|
152
|
+
"etag": '"b78b9-I8pfWqThohzWE1l5xMxqDA+96Pw"',
|
|
153
|
+
"mtime": "2026-07-08T01:38:53.685Z",
|
|
154
|
+
"size": 751801,
|
|
155
|
+
"path": "../public/assets/ProxyViewerContainer-CbNsaoQw.js"
|
|
156
156
|
}
|
|
157
157
|
};
|
|
158
158
|
function readAsset(id) {
|
package/README.md
CHANGED
|
@@ -130,15 +130,14 @@ The web UI runs at http://localhost:9527. The public proxy endpoint is also
|
|
|
130
130
|
`http://localhost:9527/proxy`; internally Agent Inspector may run the app on a private helper port,
|
|
131
131
|
but AI tools should use the public URL printed by the CLI.
|
|
132
132
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
continue to work for now, but new configs should use `9527`.
|
|
133
|
+
The legacy `http://localhost:25947` port is closed by default. If you need a temporary alias for
|
|
134
|
+
older AI tool or MCP configs, start with `agent-inspector --legacy-port`.
|
|
136
135
|
|
|
137
136
|
## v3.0 Port Migration
|
|
138
137
|
|
|
139
|
-
Agent Inspector v3.0 changes the default public port from `25947` to `9527`. The packaged CLI
|
|
140
|
-
`
|
|
141
|
-
|
|
138
|
+
Agent Inspector v3.0 changes the default public port from `25947` to `9527`. The packaged CLI now
|
|
139
|
+
opens only `9527` by default. Existing AI coding tool and MCP configs that still point at `25947`
|
|
140
|
+
should be moved to `9527`, or you can temporarily start with `agent-inspector --legacy-port`.
|
|
142
141
|
|
|
143
142
|
Use these endpoints for new configs:
|
|
144
143
|
|
|
@@ -147,7 +146,7 @@ Use these endpoints for new configs:
|
|
|
147
146
|
- OpenAI-compatible `/v1` proxy: `http://localhost:9527/proxy/v1`
|
|
148
147
|
- MCP: `http://localhost:9527/api/mcp`
|
|
149
148
|
|
|
150
|
-
If you intentionally
|
|
149
|
+
If you intentionally need the old compatibility port, start with `agent-inspector --legacy-port`.
|
|
151
150
|
|
|
152
151
|
For Codex-style OpenAI Responses clients, configure the proxy as an OpenAI-compatible `/v1` base:
|
|
153
152
|
|
|
@@ -267,8 +266,8 @@ configure `http://localhost:9527/api/mcp` directly. If it only supports stdio, c
|
|
|
267
266
|
`agent-inspector-mcp stdio`; that command is only a bridge to `/api/mcp`, not a second Inspector
|
|
268
267
|
server.
|
|
269
268
|
|
|
270
|
-
Legacy MCP configs that still use `http://localhost:25947/api/mcp`
|
|
271
|
-
|
|
269
|
+
Legacy MCP configs that still use `http://localhost:25947/api/mcp` require starting the CLI with
|
|
270
|
+
`agent-inspector --legacy-port`; new configs should use `http://localhost:9527/api/mcp`.
|
|
272
271
|
|
|
273
272
|
Coding agents can use the MCP surface in three ways:
|
|
274
273
|
|
|
@@ -358,6 +357,30 @@ Built-in prompt templates help turn captured evidence into user-facing output:
|
|
|
358
357
|
- `inspector_generate_group_report`: produce a provider/model evaluation report for a group.
|
|
359
358
|
- `inspector_extract_repro_steps`: extract concise reproduction steps from a session.
|
|
360
359
|
|
|
360
|
+
## TonyClaw Lab Ecosystem
|
|
361
|
+
|
|
362
|
+
TonyClaw Lab turns Inspector into a local control panel for the TonyClaw npm ecosystem. The UI shows
|
|
363
|
+
installed and latest package status for `@tonyclaw/agent-inspector`,
|
|
364
|
+
`@tonyclaw/agent-inspector-mcp`, and `@tonyclaw/eval-harness`; it can launch install, upgrade,
|
|
365
|
+
help, preset discovery, and safe smoke-test recipes without leaving Inspector.
|
|
366
|
+
|
|
367
|
+
The Lab also exposes copy-ready recipes that connect Inspector evidence, MCP checks, and evaluation
|
|
368
|
+
runners:
|
|
369
|
+
|
|
370
|
+
```bash
|
|
371
|
+
npx @tonyclaw/eval-harness check-inspector-mcp
|
|
372
|
+
npx @tonyclaw/eval-harness inspector-smoke --title "TonyClaw Lab smoke" --latest-log-limit 5
|
|
373
|
+
npx @tonyclaw/eval-harness runner-presets --format json
|
|
374
|
+
npx @tonyclaw/eval-harness run-once --smoke --project-source <project> --work-source <work> --count 1 --parallel 1
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
Use these recipes as stable starting points for CI smoke tests, local provider checks, and
|
|
378
|
+
multi-run evaluation batches. Inspector remains the evidence surface; eval-harness drives repeatable
|
|
379
|
+
workloads; the MCP package bridges coding agents that prefer stdio.
|
|
380
|
+
|
|
381
|
+
Recipes without placeholders can be run directly from TonyClaw Lab. Template recipes remain
|
|
382
|
+
copy-ready so users can fill project and work directories explicitly before running them.
|
|
383
|
+
|
|
361
384
|
## Jenkins And GitCode
|
|
362
385
|
|
|
363
386
|
Team CI, GitCode WebHook setup, Cloudflare Tunnel notes, local push fallback, and the verified PR workflow live in [Jenkins + GitCode WebHook](docs/JENKINS_GITCODE_WEBHOOK_TUNNEL.md). Keep real Jenkins notify tokens, GitCode access tokens, and tunnel URLs out of the repository.
|
package/package.json
CHANGED
package/src/cli.ts
CHANGED
|
@@ -24,10 +24,10 @@ import { findPidsByPort, killPid, openUrlCommand } from "./proxy/platformCommand
|
|
|
24
24
|
const __filename = fileURLToPath(import.meta.url);
|
|
25
25
|
const __dirname = dirname(__filename);
|
|
26
26
|
|
|
27
|
-
// v3 defaults the public entrypoint to 9527
|
|
28
|
-
//
|
|
29
|
-
// runtime stays on a private upstream port and
|
|
30
|
-
//
|
|
27
|
+
// v3 defaults the public entrypoint to 9527. The legacy 25947 alias can be
|
|
28
|
+
// enabled explicitly for older AI-tool and MCP configs. The TanStack Start
|
|
29
|
+
// runtime stays on a private upstream port and public ports reverse-proxy to
|
|
30
|
+
// that same runtime, so logs, sessions, and MCP state remain unified.
|
|
31
31
|
const DEFAULT_PORT = 9527;
|
|
32
32
|
const LEGACY_ALIAS_PORT = 25947;
|
|
33
33
|
const DEFAULT_UPSTREAM_PORT = 9529;
|
|
@@ -231,12 +231,42 @@ function printAccessHints(port: number, host?: string): void {
|
|
|
231
231
|
}
|
|
232
232
|
}
|
|
233
233
|
|
|
234
|
+
type BackgroundSupervisorOptions = {
|
|
235
|
+
port: number;
|
|
236
|
+
host: string | undefined;
|
|
237
|
+
configDir: string | undefined;
|
|
238
|
+
providersJson: string | undefined;
|
|
239
|
+
captureMode: CaptureMode;
|
|
240
|
+
enableIdentityProxy: boolean;
|
|
241
|
+
legacyAliasEnabled: boolean;
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
function buildBackgroundSupervisorArgs(options: BackgroundSupervisorOptions): string[] {
|
|
245
|
+
const args = ["--no-open", "--port", String(options.port), "--mode", options.captureMode];
|
|
246
|
+
if (options.host !== undefined) {
|
|
247
|
+
args.push("--host", options.host);
|
|
248
|
+
}
|
|
249
|
+
if (options.configDir !== undefined) {
|
|
250
|
+
args.push("--config-dir", options.configDir);
|
|
251
|
+
}
|
|
252
|
+
if (options.providersJson !== undefined) {
|
|
253
|
+
args.push("--providers", options.providersJson);
|
|
254
|
+
}
|
|
255
|
+
if (!options.enableIdentityProxy) {
|
|
256
|
+
args.push("--no-identity-proxy");
|
|
257
|
+
}
|
|
258
|
+
if (options.legacyAliasEnabled) {
|
|
259
|
+
args.push("--legacy-port");
|
|
260
|
+
}
|
|
261
|
+
return args;
|
|
262
|
+
}
|
|
263
|
+
|
|
234
264
|
function pickUpstreamPort(publicPort: number, legacyAliasPort: number | null): number {
|
|
235
|
-
const
|
|
236
|
-
|
|
237
|
-
publicPort
|
|
238
|
-
|
|
239
|
-
|
|
265
|
+
const nearbyPort = publicPort + 2 <= 65535 ? publicPort + 2 : publicPort - 2;
|
|
266
|
+
const candidates =
|
|
267
|
+
publicPort === DEFAULT_PORT
|
|
268
|
+
? [DEFAULT_UPSTREAM_PORT, nearbyPort, LEGACY_ALIAS_PORT + 2]
|
|
269
|
+
: [nearbyPort, DEFAULT_UPSTREAM_PORT, LEGACY_ALIAS_PORT + 2];
|
|
240
270
|
for (const candidate of candidates) {
|
|
241
271
|
if (
|
|
242
272
|
Number.isInteger(candidate) &&
|
|
@@ -294,10 +324,10 @@ async function runStart(args: string[]): Promise<void> {
|
|
|
294
324
|
let forceRestart = false;
|
|
295
325
|
let configDir: string | undefined;
|
|
296
326
|
let providersJson: string | undefined;
|
|
297
|
-
let captureMode = DEFAULT_CAPTURE_MODE;
|
|
327
|
+
let captureMode: CaptureMode = DEFAULT_CAPTURE_MODE;
|
|
298
328
|
let captureModeWasSpecified = false;
|
|
299
329
|
let enableIdentityProxy = true;
|
|
300
|
-
let legacyAliasEnabled =
|
|
330
|
+
let legacyAliasEnabled = false;
|
|
301
331
|
|
|
302
332
|
if (envMode !== undefined && envMode !== "") {
|
|
303
333
|
const parsedMode = parseCaptureMode(envMode);
|
|
@@ -413,6 +443,9 @@ async function runStart(args: string[]): Promise<void> {
|
|
|
413
443
|
case "--no-legacy-port":
|
|
414
444
|
legacyAliasEnabled = false;
|
|
415
445
|
break;
|
|
446
|
+
case "--legacy-port":
|
|
447
|
+
legacyAliasEnabled = true;
|
|
448
|
+
break;
|
|
416
449
|
default:
|
|
417
450
|
break;
|
|
418
451
|
}
|
|
@@ -482,6 +515,57 @@ async function runStart(args: string[]): Promise<void> {
|
|
|
482
515
|
}
|
|
483
516
|
}
|
|
484
517
|
|
|
518
|
+
if (background && enableIdentityProxy) {
|
|
519
|
+
const cliEntry = process.argv[1];
|
|
520
|
+
if (cliEntry === undefined || cliEntry.length === 0) {
|
|
521
|
+
console.error("Cannot resolve agent-inspector CLI entry for background supervisor.");
|
|
522
|
+
process.exitCode = 1;
|
|
523
|
+
return;
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
const supervisorArgs = buildBackgroundSupervisorArgs({
|
|
527
|
+
port,
|
|
528
|
+
host,
|
|
529
|
+
configDir,
|
|
530
|
+
providersJson,
|
|
531
|
+
captureMode,
|
|
532
|
+
enableIdentityProxy,
|
|
533
|
+
legacyAliasEnabled,
|
|
534
|
+
});
|
|
535
|
+
const supervisorProcess = spawn(process.execPath, [cliEntry, ...supervisorArgs], {
|
|
536
|
+
stdio: "ignore",
|
|
537
|
+
detached: true,
|
|
538
|
+
env: process.env,
|
|
539
|
+
windowsHide: true,
|
|
540
|
+
});
|
|
541
|
+
supervisorProcess.once("error", (err) => {
|
|
542
|
+
console.error(`Failed to start Agent Inspector background supervisor: ${err.message}`);
|
|
543
|
+
});
|
|
544
|
+
supervisorProcess.unref();
|
|
545
|
+
|
|
546
|
+
if (await waitForInspectorHealthy(port, 10000, host)) {
|
|
547
|
+
console.log(`agent-inspector background server is ready at ${url}`);
|
|
548
|
+
printAccessHints(port, host);
|
|
549
|
+
if (legacyAliasPort !== null) {
|
|
550
|
+
console.log(` Legacy proxy: http://localhost:${legacyAliasPort}/proxy`);
|
|
551
|
+
console.log(` Legacy MCP: http://localhost:${legacyAliasPort}/api/mcp`);
|
|
552
|
+
}
|
|
553
|
+
console.log(``);
|
|
554
|
+
console.log(`Route AI coding tools through the identity proxy for accurate PID attribution:`);
|
|
555
|
+
console.log(` Claude Code: ANTHROPIC_BASE_URL=http://localhost:${port}/proxy claude`);
|
|
556
|
+
console.log(` OpenCode: LLM_BASE_URL=http://localhost:${port}/proxy opencode`);
|
|
557
|
+
console.log(` MiMo Code: OPENAI_BASE_URL=http://localhost:${port}/proxy mimo`);
|
|
558
|
+
if (open && openWasSpecified) {
|
|
559
|
+
openBrowser(url);
|
|
560
|
+
}
|
|
561
|
+
return;
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
console.error(`agent-inspector background server did not become ready at ${url}.`);
|
|
565
|
+
process.exitCode = 1;
|
|
566
|
+
return;
|
|
567
|
+
}
|
|
568
|
+
|
|
485
569
|
console.log(`Server running at ${url}`);
|
|
486
570
|
console.log(` Capture mode: ${captureMode}`);
|
|
487
571
|
console.log(` Proxy: ${url}/proxy`);
|