@tonyclaw/agent-inspector 2.0.4 → 2.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.
- package/.output/nitro.json +1 -1
- package/.output/public/assets/{CompareDrawer-BCH_fsLm.js → CompareDrawer-3nRwtk8J.js} +1 -1
- package/.output/public/assets/ProxyViewerContainer-CbW5VRER.js +101 -0
- package/.output/public/assets/ReplayDialog-Cl62N9PI.js +1 -0
- package/.output/public/assets/{RequestAnatomy-DZ8grAih.js → RequestAnatomy-DgQWGvjs.js} +1 -1
- package/.output/public/assets/ResponseView-Cvc-ct4E.js +1 -0
- package/.output/public/assets/StreamingChunkSequence-BCQaCAIe.js +1 -0
- package/.output/public/assets/_sessionId-CcD_aLGq.js +1 -0
- package/.output/public/assets/index-B_dffD3u.js +1 -0
- package/.output/public/assets/index-CX796gvi.css +1 -0
- package/.output/public/assets/{json-viewer-BrzjD7qI.js → json-viewer-IXejqXB0.js} +1 -1
- package/.output/public/assets/{main-mgxeUdZQ.js → main-2NlGzgOe.js} +2 -2
- package/.output/server/_libs/lucide-react.mjs +181 -114
- package/.output/server/{_sessionId-C4xsxIWm.mjs → _sessionId-DWCTasJU.mjs} +3 -3
- package/.output/server/_ssr/{CompareDrawer-DuWEpqQ7.mjs → CompareDrawer-DhrN1uC2.mjs} +6 -6
- package/.output/server/_ssr/{ProxyViewerContainer-Cckz5qKu.mjs → ProxyViewerContainer-DRl51s_n.mjs} +763 -119
- package/.output/server/_ssr/{ReplayDialog-BDRcr8E5.mjs → ReplayDialog-BQT_ygxC.mjs} +240 -14
- package/.output/server/_ssr/{RequestAnatomy-BoO2_Ij0.mjs → RequestAnatomy-DS2tZOgq.mjs} +3 -3
- package/.output/server/_ssr/{ResponseView-DZiPBxvO.mjs → ResponseView-e0kL2C3x.mjs} +8 -8
- package/.output/server/_ssr/{StreamingChunkSequence-D-be7KEL.mjs → StreamingChunkSequence-BJG-m7xs.mjs} +3 -3
- package/.output/server/_ssr/{index-5RImHKfu.mjs → index-Dea3OeRw.mjs} +2 -2
- package/.output/server/_ssr/index.mjs +2 -2
- package/.output/server/_ssr/{json-viewer-aJhb93ZK.mjs → json-viewer-DDU55MLK.mjs} +3 -3
- package/.output/server/_ssr/{router-Dgkv5nKP.mjs → router-Dl7oh0zx.mjs} +145 -71
- package/.output/server/_tanstack-start-manifest_v-m-FJNBVf.mjs +4 -0
- package/.output/server/index.mjs +69 -69
- package/package.json +1 -1
- package/src/components/OnboardingBanner.tsx +11 -19
- package/src/components/ProxyViewer.tsx +1 -1
- package/src/components/providers/ProviderCard.tsx +6 -20
- package/src/components/providers/SettingsDialog.tsx +95 -2
- package/src/components/proxy-viewer/AgentTraceSummary.tsx +639 -38
- package/src/components/proxy-viewer/CompareDrawer.tsx +4 -2
- package/src/components/proxy-viewer/LogEntryHeader.tsx +12 -22
- package/src/components/proxy-viewer/ReplayDialog.tsx +190 -8
- package/src/components/proxy-viewer/ResponseView.tsx +2 -2
- package/src/components/proxy-viewer/ToolTraceEvents.tsx +37 -16
- package/src/components/proxy-viewer/TurnGroup.tsx +14 -2
- package/src/components/proxy-viewer/formats/anthropic/ResponseView.tsx +2 -2
- package/src/components/proxy-viewer/replayComparison.ts +131 -0
- package/src/components/proxy-viewer/useKeyboardNavigation.ts +64 -22
- package/src/components/proxy-viewer/viewerState.ts +14 -2
- package/src/knowledge/candidateStore.ts +32 -1
- package/src/routes/api/knowledge.candidates.$candidateId.ts +50 -0
- package/src/routes/api/knowledge.sessions.$sessionId.candidates.ts +12 -2
- package/.output/public/assets/ProxyViewerContainer-D85_UANk.js +0 -101
- package/.output/public/assets/ReplayDialog-DTeaHHit.js +0 -1
- package/.output/public/assets/ResponseView-Cldm6RCi.js +0 -1
- package/.output/public/assets/StreamingChunkSequence-3x4p-yT7.js +0 -1
- package/.output/public/assets/_sessionId-YqWFBu6d.js +0 -1
- package/.output/public/assets/index-BIw2H6jO.js +0 -1
- package/.output/public/assets/index-CobXD0yH.css +0 -1
- package/.output/server/_tanstack-start-manifest_v-B8rrWXjr.mjs +0 -4
|
@@ -49,8 +49,8 @@ import "../_libs/mimic-function.mjs";
|
|
|
49
49
|
import "../_libs/semver.mjs";
|
|
50
50
|
import "../_libs/uint8array-extras.mjs";
|
|
51
51
|
const faviconSvg = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2064%2064'%20role='img'%20aria-label='Agent%20Inspector'%3e%3crect%20width='64'%20height='64'%20rx='14'%20fill='%23111827'%20/%3e%3cg%20fill='none'%20stroke='%23f59e0b'%20stroke-width='4.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20fill='%23f59e0b'%20d='M15%2036c0-11%207-18%2017-18s17%207%2017%2018c0%208-7%2013-17%2013s-17-5-17-13z'%20/%3e%3cpath%20d='M16%2031c-6-5-12-3-12%204%200%205%206%206%2011%202'%20/%3e%3cpath%20d='M48%2031c6-5%2012-3%2012%204%200%205-6%206-11%202'%20/%3e%3cpath%20d='M27%2019l-3-7'%20/%3e%3cpath%20d='M37%2019l3-7'%20/%3e%3cpath%20d='M19%2045l-6%209'%20/%3e%3cpath%20d='M27%2048l-3%209'%20/%3e%3cpath%20d='M37%2048l3%209'%20/%3e%3cpath%20d='M45%2045l6%209'%20/%3e%3c/g%3e%3cpath%20d='M14%2047l9-8%208%209c-5%203.5-12%203-17-1z'%20fill='%232f6b3f'%20opacity='.95'%20/%3e%3cpath%20d='M18%2046l5-5%205%206c-3%201.6-7%201.4-10-1z'%20fill='%236fb36f'%20opacity='.95'%20/%3e%3cpath%20d='M23%2041v10'%20fill='none'%20stroke='%23d6b45f'%20stroke-width='1.6'%20stroke-linecap='round'%20/%3e%3ccircle%20cx='31'%20cy='48'%20r='1.8'%20fill='%23c2412d'%20/%3e%3cpath%20d='M24%2044l13-11%2014%2013c-8%205.8-18%205.3-27-2z'%20fill='%232f6b3f'%20opacity='.97'%20/%3e%3cpath%20d='M30%2043l7-7%209%209c-5%202.7-11%202.5-16-2z'%20fill='%236fb36f'%20opacity='.95'%20/%3e%3cpath%20d='M37%2036v14'%20fill='none'%20stroke='%23d6b45f'%20stroke-width='2'%20stroke-linecap='round'%20/%3e%3cpath%20d='M30%2043c5-2%2011-1.5%2016%202'%20fill='none'%20stroke='%239fca78'%20stroke-width='1.8'%20stroke-linecap='round'%20/%3e%3ccircle%20cx='51'%20cy='46'%20r='2'%20fill='%23c2412d'%20/%3e%3cpath%20d='M40%2050l8-8%207%208c-4.2%203.2-10%203-15%200z'%20fill='%232f6b3f'%20opacity='.95'%20/%3e%3cpath%20d='M43%2049l5-5%204.5%205.5c-3%201.5-6%201.2-9.5-.5z'%20fill='%236fb36f'%20opacity='.95'%20/%3e%3cpath%20d='M48%2044v9'%20fill='none'%20stroke='%23d6b45f'%20stroke-width='1.5'%20stroke-linecap='round'%20/%3e%3ccircle%20cx='55'%20cy='50'%20r='1.7'%20fill='%23c2412d'%20/%3e%3ccircle%20cx='24'%20cy='11'%20r='3.2'%20fill='%23f59e0b'%20/%3e%3ccircle%20cx='40'%20cy='11'%20r='3.2'%20fill='%23f59e0b'%20/%3e%3ccircle%20cx='25'%20cy='34'%20r='2.1'%20fill='%23111827'%20/%3e%3ccircle%20cx='39'%20cy='34'%20r='2.1'%20fill='%23111827'%20/%3e%3c/svg%3e";
|
|
52
|
-
const appCss = "/assets/index-
|
|
53
|
-
const Route$
|
|
52
|
+
const appCss = "/assets/index-CX796gvi.css";
|
|
53
|
+
const Route$r = createRootRoute({
|
|
54
54
|
head: () => ({
|
|
55
55
|
meta: [
|
|
56
56
|
{ charSet: "utf-8" },
|
|
@@ -76,8 +76,8 @@ function RootDocument({ children }) {
|
|
|
76
76
|
] })
|
|
77
77
|
] });
|
|
78
78
|
}
|
|
79
|
-
const $$splitComponentImporter$1 = () => import("./index-
|
|
80
|
-
const Route$
|
|
79
|
+
const $$splitComponentImporter$1 = () => import("./index-Dea3OeRw.mjs");
|
|
80
|
+
const Route$q = createFileRoute("/")({
|
|
81
81
|
component: lazyRouteComponent($$splitComponentImporter$1, "component")
|
|
82
82
|
});
|
|
83
83
|
const B64URL_RE = /^[A-Za-z0-9_-]+$/;
|
|
@@ -119,8 +119,8 @@ function decodeSessionIdFromPath(encoded) {
|
|
|
119
119
|
function getSessionPath(sessionId) {
|
|
120
120
|
return `/session/${encodeSessionIdForPath(sessionId)}`;
|
|
121
121
|
}
|
|
122
|
-
const $$splitComponentImporter = () => import("../_sessionId-
|
|
123
|
-
const Route$
|
|
122
|
+
const $$splitComponentImporter = () => import("../_sessionId-DWCTasJU.mjs");
|
|
123
|
+
const Route$p = createFileRoute("/session/$sessionId")({
|
|
124
124
|
component: lazyRouteComponent($$splitComponentImporter, "component"),
|
|
125
125
|
parseParams: (params) => ({
|
|
126
126
|
sessionId: decodeSessionIdFromPath(params.sessionId)
|
|
@@ -3347,7 +3347,7 @@ async function handleProxy(req) {
|
|
|
3347
3347
|
}
|
|
3348
3348
|
return handleStreamingResponse(upstreamRes, req, startTime, upstreamUrl, log);
|
|
3349
3349
|
}
|
|
3350
|
-
const Route$
|
|
3350
|
+
const Route$o = createFileRoute("/proxy/$")({
|
|
3351
3351
|
server: {
|
|
3352
3352
|
handlers: {
|
|
3353
3353
|
GET: ({ request }) => handleProxy(request),
|
|
@@ -3359,7 +3359,7 @@ const Route$n = createFileRoute("/proxy/$")({
|
|
|
3359
3359
|
}
|
|
3360
3360
|
}
|
|
3361
3361
|
});
|
|
3362
|
-
const Route$
|
|
3362
|
+
const Route$n = createFileRoute("/api/sessions")({
|
|
3363
3363
|
server: {
|
|
3364
3364
|
handlers: {
|
|
3365
3365
|
GET: ({ request }) => {
|
|
@@ -3385,7 +3385,7 @@ const ProviderInputSchema = object({
|
|
|
3385
3385
|
apiDocsUrl: string().optional(),
|
|
3386
3386
|
source: _enum(["company", "personal"]).optional()
|
|
3387
3387
|
});
|
|
3388
|
-
const Route$
|
|
3388
|
+
const Route$m = createFileRoute("/api/providers")({
|
|
3389
3389
|
server: {
|
|
3390
3390
|
handlers: {
|
|
3391
3391
|
GET: () => {
|
|
@@ -3414,7 +3414,7 @@ const Route$l = createFileRoute("/api/providers")({
|
|
|
3414
3414
|
}
|
|
3415
3415
|
}
|
|
3416
3416
|
});
|
|
3417
|
-
const Route$
|
|
3417
|
+
const Route$l = createFileRoute("/api/models")({
|
|
3418
3418
|
server: {
|
|
3419
3419
|
handlers: {
|
|
3420
3420
|
GET: () => Response.json(getModels())
|
|
@@ -4026,7 +4026,7 @@ PATCH-style update: only the fields you supply are changed. Returns the updated
|
|
|
4026
4026
|
(args) => safeCall(() => getProjectContextImpl(callApi, args))
|
|
4027
4027
|
);
|
|
4028
4028
|
}
|
|
4029
|
-
const Route$
|
|
4029
|
+
const Route$k = createFileRoute("/api/mcp")({
|
|
4030
4030
|
server: {
|
|
4031
4031
|
handlers: {
|
|
4032
4032
|
// The SDK may issue either POST, GET, or DELETE. TanStack Start only
|
|
@@ -4041,7 +4041,7 @@ const Route$j = createFileRoute("/api/mcp")({
|
|
|
4041
4041
|
const DeleteBodySchema = object({
|
|
4042
4042
|
ids: array(number().int().positive()).optional()
|
|
4043
4043
|
}).optional();
|
|
4044
|
-
const Route$
|
|
4044
|
+
const Route$j = createFileRoute("/api/logs")({
|
|
4045
4045
|
server: {
|
|
4046
4046
|
handlers: {
|
|
4047
4047
|
GET: ({ request }) => {
|
|
@@ -4088,7 +4088,7 @@ const Route$i = createFileRoute("/api/logs")({
|
|
|
4088
4088
|
}
|
|
4089
4089
|
});
|
|
4090
4090
|
logger.debug("Health endpoint loaded");
|
|
4091
|
-
const Route$
|
|
4091
|
+
const Route$i = createFileRoute("/api/health")({
|
|
4092
4092
|
server: {
|
|
4093
4093
|
handlers: {
|
|
4094
4094
|
GET: () => {
|
|
@@ -4105,7 +4105,7 @@ const RuntimeConfigPatchSchema = object({
|
|
|
4105
4105
|
}).strict().refine((v) => Object.keys(v).length > 0, {
|
|
4106
4106
|
message: "At least one field must be provided"
|
|
4107
4107
|
});
|
|
4108
|
-
const Route$
|
|
4108
|
+
const Route$h = createFileRoute("/api/config")({
|
|
4109
4109
|
server: {
|
|
4110
4110
|
handlers: {
|
|
4111
4111
|
GET: () => {
|
|
@@ -4514,7 +4514,7 @@ function scanExternalProviders() {
|
|
|
4514
4514
|
}
|
|
4515
4515
|
return { providers: filteredProviders, warnings };
|
|
4516
4516
|
}
|
|
4517
|
-
const Route$
|
|
4517
|
+
const Route$g = createFileRoute("/api/providers/scan")({
|
|
4518
4518
|
server: {
|
|
4519
4519
|
handlers: {
|
|
4520
4520
|
GET: () => {
|
|
@@ -4535,7 +4535,7 @@ const Route$f = createFileRoute("/api/providers/scan")({
|
|
|
4535
4535
|
}
|
|
4536
4536
|
});
|
|
4537
4537
|
union([string(), object({ providers: unknown() })]);
|
|
4538
|
-
const Route$
|
|
4538
|
+
const Route$f = createFileRoute("/api/providers/import")({
|
|
4539
4539
|
server: {
|
|
4540
4540
|
handlers: {
|
|
4541
4541
|
POST: async ({ request }) => {
|
|
@@ -4568,7 +4568,7 @@ const Route$e = createFileRoute("/api/providers/import")({
|
|
|
4568
4568
|
}
|
|
4569
4569
|
}
|
|
4570
4570
|
});
|
|
4571
|
-
const Route$
|
|
4571
|
+
const Route$e = createFileRoute("/api/providers/export")({
|
|
4572
4572
|
server: {
|
|
4573
4573
|
handlers: {
|
|
4574
4574
|
GET: ({ request }) => {
|
|
@@ -4599,7 +4599,7 @@ const ProviderUpdateSchema = object({
|
|
|
4599
4599
|
apiDocsUrl: string().optional(),
|
|
4600
4600
|
source: _enum(["company", "personal"]).optional()
|
|
4601
4601
|
});
|
|
4602
|
-
const Route$
|
|
4602
|
+
const Route$d = createFileRoute("/api/providers/$providerId")({
|
|
4603
4603
|
server: {
|
|
4604
4604
|
handlers: {
|
|
4605
4605
|
GET: ({ params }) => {
|
|
@@ -4631,7 +4631,7 @@ const Route$c = createFileRoute("/api/providers/$providerId")({
|
|
|
4631
4631
|
}
|
|
4632
4632
|
}
|
|
4633
4633
|
});
|
|
4634
|
-
const Route$
|
|
4634
|
+
const Route$c = createFileRoute("/api/logs/stream")({
|
|
4635
4635
|
server: {
|
|
4636
4636
|
handlers: {
|
|
4637
4637
|
GET: ({ request }) => {
|
|
@@ -4695,7 +4695,7 @@ const Route$b = createFileRoute("/api/logs/stream")({
|
|
|
4695
4695
|
}
|
|
4696
4696
|
}
|
|
4697
4697
|
});
|
|
4698
|
-
const Route$
|
|
4698
|
+
const Route$b = createFileRoute("/api/logs/$id")({
|
|
4699
4699
|
server: {
|
|
4700
4700
|
handlers: {
|
|
4701
4701
|
GET: async ({ params }) => {
|
|
@@ -5232,7 +5232,7 @@ const SearchBodySchema = object({
|
|
|
5232
5232
|
query: string().min(1),
|
|
5233
5233
|
project: string().optional()
|
|
5234
5234
|
});
|
|
5235
|
-
const Route$
|
|
5235
|
+
const Route$a = createFileRoute("/api/knowledge/search")({
|
|
5236
5236
|
server: {
|
|
5237
5237
|
handlers: {
|
|
5238
5238
|
GET: async ({ request }) => {
|
|
@@ -5254,7 +5254,7 @@ const Route$9 = createFileRoute("/api/knowledge/search")({
|
|
|
5254
5254
|
}
|
|
5255
5255
|
}
|
|
5256
5256
|
});
|
|
5257
|
-
const Route$
|
|
5257
|
+
const Route$9 = createFileRoute("/api/knowledge/project-context")({
|
|
5258
5258
|
server: {
|
|
5259
5259
|
handlers: {
|
|
5260
5260
|
GET: async ({ request }) => {
|
|
@@ -5318,14 +5318,32 @@ function markCandidateFailed(id, error) {
|
|
|
5318
5318
|
candidates.set(id, updated);
|
|
5319
5319
|
return updated;
|
|
5320
5320
|
}
|
|
5321
|
-
|
|
5321
|
+
function updateCandidateDraft(id, updates) {
|
|
5322
|
+
const existing = candidates.get(id);
|
|
5323
|
+
if (existing === void 0) return null;
|
|
5324
|
+
if (existing.status === "promoted") return null;
|
|
5325
|
+
const updated = redactCandidate({
|
|
5326
|
+
...existing,
|
|
5327
|
+
type: updates.type ?? existing.type,
|
|
5328
|
+
title: updates.title ?? existing.title,
|
|
5329
|
+
content: updates.content ?? existing.content,
|
|
5330
|
+
tags: updates.tags ?? existing.tags,
|
|
5331
|
+
status: "draft",
|
|
5332
|
+
error: null,
|
|
5333
|
+
openClawMemoryId: null,
|
|
5334
|
+
updatedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
5335
|
+
});
|
|
5336
|
+
candidates.set(id, updated);
|
|
5337
|
+
return updated;
|
|
5338
|
+
}
|
|
5339
|
+
const Route$8 = createFileRoute("/api/knowledge/candidates")({
|
|
5322
5340
|
server: {
|
|
5323
5341
|
handlers: {
|
|
5324
5342
|
GET: () => Response.json({ candidates: listCandidates() })
|
|
5325
5343
|
}
|
|
5326
5344
|
}
|
|
5327
5345
|
});
|
|
5328
|
-
const Route$
|
|
5346
|
+
const Route$7 = createFileRoute("/api/config/paths")({
|
|
5329
5347
|
server: {
|
|
5330
5348
|
handlers: {
|
|
5331
5349
|
GET: () => {
|
|
@@ -5794,7 +5812,7 @@ async function testStreamingEndpoint(baseUrl, provider, path2, model, isOpenAI)
|
|
|
5794
5812
|
return createErrorResult(err, Date.now() - startTime, true);
|
|
5795
5813
|
}
|
|
5796
5814
|
}
|
|
5797
|
-
const Route$
|
|
5815
|
+
const Route$6 = createFileRoute("/api/providers/$providerId/test")({
|
|
5798
5816
|
server: {
|
|
5799
5817
|
handlers: {
|
|
5800
5818
|
POST: async ({ params }) => {
|
|
@@ -5868,7 +5886,7 @@ const Route$5 = createFileRoute("/api/providers/$providerId/test")({
|
|
|
5868
5886
|
const ReplayRequestSchema = object({
|
|
5869
5887
|
modifiedBody: string()
|
|
5870
5888
|
});
|
|
5871
|
-
const Route$
|
|
5889
|
+
const Route$5 = createFileRoute("/api/logs/$id/replay")({
|
|
5872
5890
|
server: {
|
|
5873
5891
|
handlers: {
|
|
5874
5892
|
POST: async ({ params, request }) => {
|
|
@@ -5986,7 +6004,7 @@ const Route$4 = createFileRoute("/api/logs/$id/replay")({
|
|
|
5986
6004
|
}
|
|
5987
6005
|
}
|
|
5988
6006
|
});
|
|
5989
|
-
const Route$
|
|
6007
|
+
const Route$4 = createFileRoute("/api/logs/$id/chunks")({
|
|
5990
6008
|
server: {
|
|
5991
6009
|
handlers: {
|
|
5992
6010
|
GET: async ({ params }) => {
|
|
@@ -6012,6 +6030,43 @@ const Route$3 = createFileRoute("/api/logs/$id/chunks")({
|
|
|
6012
6030
|
}
|
|
6013
6031
|
}
|
|
6014
6032
|
});
|
|
6033
|
+
const CandidateUpdateSchema = object({
|
|
6034
|
+
type: KnowledgeCandidateTypeSchema.optional(),
|
|
6035
|
+
title: string().trim().min(1).max(160).optional(),
|
|
6036
|
+
content: string().trim().min(1).max(12e3).optional(),
|
|
6037
|
+
tags: array(string().trim().min(1).max(64)).max(24).optional()
|
|
6038
|
+
}).strict();
|
|
6039
|
+
object({
|
|
6040
|
+
candidate: KnowledgeCandidateSchema
|
|
6041
|
+
});
|
|
6042
|
+
const Route$3 = createFileRoute("/api/knowledge/candidates/$candidateId")({
|
|
6043
|
+
server: {
|
|
6044
|
+
handlers: {
|
|
6045
|
+
PATCH: async ({ params, request }) => {
|
|
6046
|
+
const existing = getCandidate(params.candidateId);
|
|
6047
|
+
if (existing === null) {
|
|
6048
|
+
return Response.json({ error: "Knowledge candidate not found" }, { status: 404 });
|
|
6049
|
+
}
|
|
6050
|
+
if (existing.status === "promoted") {
|
|
6051
|
+
return Response.json(
|
|
6052
|
+
{ error: "Promoted knowledge candidates cannot be edited" },
|
|
6053
|
+
{ status: 409 }
|
|
6054
|
+
);
|
|
6055
|
+
}
|
|
6056
|
+
const raw = await request.json().catch(() => null);
|
|
6057
|
+
const parsed = CandidateUpdateSchema.safeParse(raw);
|
|
6058
|
+
if (!parsed.success) {
|
|
6059
|
+
return Response.json({ error: parsed.error.message }, { status: 400 });
|
|
6060
|
+
}
|
|
6061
|
+
const updated = updateCandidateDraft(existing.id, parsed.data);
|
|
6062
|
+
if (updated === null) {
|
|
6063
|
+
return Response.json({ error: "Knowledge candidate update failed" }, { status: 409 });
|
|
6064
|
+
}
|
|
6065
|
+
return Response.json({ candidate: updated });
|
|
6066
|
+
}
|
|
6067
|
+
}
|
|
6068
|
+
}
|
|
6069
|
+
});
|
|
6015
6070
|
const ProviderTestErrorTypeSchema = _enum([
|
|
6016
6071
|
"timeout",
|
|
6017
6072
|
"network_unreachable",
|
|
@@ -6335,11 +6390,19 @@ function distillSessionCandidates(sessionId, logs) {
|
|
|
6335
6390
|
};
|
|
6336
6391
|
return [redactCandidate(candidate)];
|
|
6337
6392
|
}
|
|
6393
|
+
function getCandidateScopeId(log) {
|
|
6394
|
+
return getLogSessionId(log) ?? "default";
|
|
6395
|
+
}
|
|
6396
|
+
function getLogsForCandidateScope(scopeId) {
|
|
6397
|
+
const direct = getFilteredLogs(scopeId);
|
|
6398
|
+
if (direct.length > 0) return direct;
|
|
6399
|
+
return getFilteredLogs().filter((log) => getCandidateScopeId(log) === scopeId);
|
|
6400
|
+
}
|
|
6338
6401
|
const Route$1 = createFileRoute("/api/knowledge/sessions/$sessionId/candidates")({
|
|
6339
6402
|
server: {
|
|
6340
6403
|
handlers: {
|
|
6341
6404
|
POST: ({ params }) => {
|
|
6342
|
-
const logs =
|
|
6405
|
+
const logs = getLogsForCandidateScope(params.sessionId);
|
|
6343
6406
|
const candidates2 = saveCandidates(distillSessionCandidates(params.sessionId, logs));
|
|
6344
6407
|
return Response.json({ candidates: candidates2 });
|
|
6345
6408
|
}
|
|
@@ -6368,121 +6431,126 @@ const Route = createFileRoute("/api/knowledge/candidates/$candidateId/promote")(
|
|
|
6368
6431
|
}
|
|
6369
6432
|
}
|
|
6370
6433
|
});
|
|
6371
|
-
const IndexRoute = Route$
|
|
6434
|
+
const IndexRoute = Route$q.update({
|
|
6372
6435
|
id: "/",
|
|
6373
6436
|
path: "/",
|
|
6374
|
-
getParentRoute: () => Route$
|
|
6437
|
+
getParentRoute: () => Route$r
|
|
6375
6438
|
});
|
|
6376
|
-
const SessionSessionIdRoute = Route$
|
|
6439
|
+
const SessionSessionIdRoute = Route$p.update({
|
|
6377
6440
|
id: "/session/$sessionId",
|
|
6378
6441
|
path: "/session/$sessionId",
|
|
6379
|
-
getParentRoute: () => Route$
|
|
6442
|
+
getParentRoute: () => Route$r
|
|
6380
6443
|
});
|
|
6381
|
-
const ProxySplatRoute = Route$
|
|
6444
|
+
const ProxySplatRoute = Route$o.update({
|
|
6382
6445
|
id: "/proxy/$",
|
|
6383
6446
|
path: "/proxy/$",
|
|
6384
|
-
getParentRoute: () => Route$
|
|
6447
|
+
getParentRoute: () => Route$r
|
|
6385
6448
|
});
|
|
6386
|
-
const ApiSessionsRoute = Route$
|
|
6449
|
+
const ApiSessionsRoute = Route$n.update({
|
|
6387
6450
|
id: "/api/sessions",
|
|
6388
6451
|
path: "/api/sessions",
|
|
6389
|
-
getParentRoute: () => Route$
|
|
6452
|
+
getParentRoute: () => Route$r
|
|
6390
6453
|
});
|
|
6391
|
-
const ApiProvidersRoute = Route$
|
|
6454
|
+
const ApiProvidersRoute = Route$m.update({
|
|
6392
6455
|
id: "/api/providers",
|
|
6393
6456
|
path: "/api/providers",
|
|
6394
|
-
getParentRoute: () => Route$
|
|
6457
|
+
getParentRoute: () => Route$r
|
|
6395
6458
|
});
|
|
6396
|
-
const ApiModelsRoute = Route$
|
|
6459
|
+
const ApiModelsRoute = Route$l.update({
|
|
6397
6460
|
id: "/api/models",
|
|
6398
6461
|
path: "/api/models",
|
|
6399
|
-
getParentRoute: () => Route$
|
|
6462
|
+
getParentRoute: () => Route$r
|
|
6400
6463
|
});
|
|
6401
|
-
const ApiMcpRoute = Route$
|
|
6464
|
+
const ApiMcpRoute = Route$k.update({
|
|
6402
6465
|
id: "/api/mcp",
|
|
6403
6466
|
path: "/api/mcp",
|
|
6404
|
-
getParentRoute: () => Route$
|
|
6467
|
+
getParentRoute: () => Route$r
|
|
6405
6468
|
});
|
|
6406
|
-
const ApiLogsRoute = Route$
|
|
6469
|
+
const ApiLogsRoute = Route$j.update({
|
|
6407
6470
|
id: "/api/logs",
|
|
6408
6471
|
path: "/api/logs",
|
|
6409
|
-
getParentRoute: () => Route$
|
|
6472
|
+
getParentRoute: () => Route$r
|
|
6410
6473
|
});
|
|
6411
|
-
const ApiHealthRoute = Route$
|
|
6474
|
+
const ApiHealthRoute = Route$i.update({
|
|
6412
6475
|
id: "/api/health",
|
|
6413
6476
|
path: "/api/health",
|
|
6414
|
-
getParentRoute: () => Route$
|
|
6477
|
+
getParentRoute: () => Route$r
|
|
6415
6478
|
});
|
|
6416
|
-
const ApiConfigRoute = Route$
|
|
6479
|
+
const ApiConfigRoute = Route$h.update({
|
|
6417
6480
|
id: "/api/config",
|
|
6418
6481
|
path: "/api/config",
|
|
6419
|
-
getParentRoute: () => Route$
|
|
6482
|
+
getParentRoute: () => Route$r
|
|
6420
6483
|
});
|
|
6421
|
-
const ApiProvidersScanRoute = Route$
|
|
6484
|
+
const ApiProvidersScanRoute = Route$g.update({
|
|
6422
6485
|
id: "/scan",
|
|
6423
6486
|
path: "/scan",
|
|
6424
6487
|
getParentRoute: () => ApiProvidersRoute
|
|
6425
6488
|
});
|
|
6426
|
-
const ApiProvidersImportRoute = Route$
|
|
6489
|
+
const ApiProvidersImportRoute = Route$f.update({
|
|
6427
6490
|
id: "/import",
|
|
6428
6491
|
path: "/import",
|
|
6429
6492
|
getParentRoute: () => ApiProvidersRoute
|
|
6430
6493
|
});
|
|
6431
|
-
const ApiProvidersExportRoute = Route$
|
|
6494
|
+
const ApiProvidersExportRoute = Route$e.update({
|
|
6432
6495
|
id: "/export",
|
|
6433
6496
|
path: "/export",
|
|
6434
6497
|
getParentRoute: () => ApiProvidersRoute
|
|
6435
6498
|
});
|
|
6436
|
-
const ApiProvidersProviderIdRoute = Route$
|
|
6499
|
+
const ApiProvidersProviderIdRoute = Route$d.update({
|
|
6437
6500
|
id: "/$providerId",
|
|
6438
6501
|
path: "/$providerId",
|
|
6439
6502
|
getParentRoute: () => ApiProvidersRoute
|
|
6440
6503
|
});
|
|
6441
|
-
const ApiLogsStreamRoute = Route$
|
|
6504
|
+
const ApiLogsStreamRoute = Route$c.update({
|
|
6442
6505
|
id: "/stream",
|
|
6443
6506
|
path: "/stream",
|
|
6444
6507
|
getParentRoute: () => ApiLogsRoute
|
|
6445
6508
|
});
|
|
6446
|
-
const ApiLogsIdRoute = Route$
|
|
6509
|
+
const ApiLogsIdRoute = Route$b.update({
|
|
6447
6510
|
id: "/$id",
|
|
6448
6511
|
path: "/$id",
|
|
6449
6512
|
getParentRoute: () => ApiLogsRoute
|
|
6450
6513
|
});
|
|
6451
|
-
const ApiKnowledgeSearchRoute = Route$
|
|
6514
|
+
const ApiKnowledgeSearchRoute = Route$a.update({
|
|
6452
6515
|
id: "/api/knowledge/search",
|
|
6453
6516
|
path: "/api/knowledge/search",
|
|
6454
|
-
getParentRoute: () => Route$
|
|
6517
|
+
getParentRoute: () => Route$r
|
|
6455
6518
|
});
|
|
6456
|
-
const ApiKnowledgeProjectContextRoute = Route$
|
|
6519
|
+
const ApiKnowledgeProjectContextRoute = Route$9.update({
|
|
6457
6520
|
id: "/api/knowledge/project-context",
|
|
6458
6521
|
path: "/api/knowledge/project-context",
|
|
6459
|
-
getParentRoute: () => Route$
|
|
6522
|
+
getParentRoute: () => Route$r
|
|
6460
6523
|
});
|
|
6461
|
-
const ApiKnowledgeCandidatesRoute = Route$
|
|
6524
|
+
const ApiKnowledgeCandidatesRoute = Route$8.update({
|
|
6462
6525
|
id: "/api/knowledge/candidates",
|
|
6463
6526
|
path: "/api/knowledge/candidates",
|
|
6464
|
-
getParentRoute: () => Route$
|
|
6527
|
+
getParentRoute: () => Route$r
|
|
6465
6528
|
});
|
|
6466
|
-
const ApiConfigPathsRoute = Route$
|
|
6529
|
+
const ApiConfigPathsRoute = Route$7.update({
|
|
6467
6530
|
id: "/paths",
|
|
6468
6531
|
path: "/paths",
|
|
6469
6532
|
getParentRoute: () => ApiConfigRoute
|
|
6470
6533
|
});
|
|
6471
|
-
const ApiProvidersProviderIdTestRoute = Route$
|
|
6534
|
+
const ApiProvidersProviderIdTestRoute = Route$6.update({
|
|
6472
6535
|
id: "/test",
|
|
6473
6536
|
path: "/test",
|
|
6474
6537
|
getParentRoute: () => ApiProvidersProviderIdRoute
|
|
6475
6538
|
});
|
|
6476
|
-
const ApiLogsIdReplayRoute = Route$
|
|
6539
|
+
const ApiLogsIdReplayRoute = Route$5.update({
|
|
6477
6540
|
id: "/replay",
|
|
6478
6541
|
path: "/replay",
|
|
6479
6542
|
getParentRoute: () => ApiLogsIdRoute
|
|
6480
6543
|
});
|
|
6481
|
-
const ApiLogsIdChunksRoute = Route$
|
|
6544
|
+
const ApiLogsIdChunksRoute = Route$4.update({
|
|
6482
6545
|
id: "/chunks",
|
|
6483
6546
|
path: "/chunks",
|
|
6484
6547
|
getParentRoute: () => ApiLogsIdRoute
|
|
6485
6548
|
});
|
|
6549
|
+
const ApiKnowledgeCandidatesCandidateIdRoute = Route$3.update({
|
|
6550
|
+
id: "/$candidateId",
|
|
6551
|
+
path: "/$candidateId",
|
|
6552
|
+
getParentRoute: () => ApiKnowledgeCandidatesRoute
|
|
6553
|
+
});
|
|
6486
6554
|
const ApiProvidersProviderIdTestLogRoute = Route$2.update({
|
|
6487
6555
|
id: "/log",
|
|
6488
6556
|
path: "/log",
|
|
@@ -6491,12 +6559,12 @@ const ApiProvidersProviderIdTestLogRoute = Route$2.update({
|
|
|
6491
6559
|
const ApiKnowledgeSessionsSessionIdCandidatesRoute = Route$1.update({
|
|
6492
6560
|
id: "/api/knowledge/sessions/$sessionId/candidates",
|
|
6493
6561
|
path: "/api/knowledge/sessions/$sessionId/candidates",
|
|
6494
|
-
getParentRoute: () => Route$
|
|
6562
|
+
getParentRoute: () => Route$r
|
|
6495
6563
|
});
|
|
6496
6564
|
const ApiKnowledgeCandidatesCandidateIdPromoteRoute = Route.update({
|
|
6497
|
-
id: "
|
|
6498
|
-
path: "
|
|
6499
|
-
getParentRoute: () =>
|
|
6565
|
+
id: "/promote",
|
|
6566
|
+
path: "/promote",
|
|
6567
|
+
getParentRoute: () => ApiKnowledgeCandidatesCandidateIdRoute
|
|
6500
6568
|
});
|
|
6501
6569
|
const ApiConfigRouteChildren = {
|
|
6502
6570
|
ApiConfigPathsRoute
|
|
@@ -6537,9 +6605,15 @@ const ApiProvidersRouteChildren = {
|
|
|
6537
6605
|
const ApiProvidersRouteWithChildren = ApiProvidersRoute._addFileChildren(
|
|
6538
6606
|
ApiProvidersRouteChildren
|
|
6539
6607
|
);
|
|
6540
|
-
const
|
|
6608
|
+
const ApiKnowledgeCandidatesCandidateIdRouteChildren = {
|
|
6541
6609
|
ApiKnowledgeCandidatesCandidateIdPromoteRoute
|
|
6542
6610
|
};
|
|
6611
|
+
const ApiKnowledgeCandidatesCandidateIdRouteWithChildren = ApiKnowledgeCandidatesCandidateIdRoute._addFileChildren(
|
|
6612
|
+
ApiKnowledgeCandidatesCandidateIdRouteChildren
|
|
6613
|
+
);
|
|
6614
|
+
const ApiKnowledgeCandidatesRouteChildren = {
|
|
6615
|
+
ApiKnowledgeCandidatesCandidateIdRoute: ApiKnowledgeCandidatesCandidateIdRouteWithChildren
|
|
6616
|
+
};
|
|
6543
6617
|
const ApiKnowledgeCandidatesRouteWithChildren = ApiKnowledgeCandidatesRoute._addFileChildren(
|
|
6544
6618
|
ApiKnowledgeCandidatesRouteChildren
|
|
6545
6619
|
);
|
|
@@ -6559,7 +6633,7 @@ const rootRouteChildren = {
|
|
|
6559
6633
|
ApiKnowledgeSearchRoute,
|
|
6560
6634
|
ApiKnowledgeSessionsSessionIdCandidatesRoute
|
|
6561
6635
|
};
|
|
6562
|
-
const routeTree = Route$
|
|
6636
|
+
const routeTree = Route$r._addFileChildren(rootRouteChildren)._addFileTypes();
|
|
6563
6637
|
function getRouter() {
|
|
6564
6638
|
const router2 = createRouter({
|
|
6565
6639
|
routeTree,
|
|
@@ -6579,7 +6653,7 @@ export {
|
|
|
6579
6653
|
MAX_SLOW_RESPONSE_THRESHOLD_SECONDS as M,
|
|
6580
6654
|
OpenAIRequestSchema as O,
|
|
6581
6655
|
ProviderTestResultsSchema as P,
|
|
6582
|
-
Route$
|
|
6656
|
+
Route$p as R,
|
|
6583
6657
|
TimeDisplayFormatSchema as T,
|
|
6584
6658
|
DEFAULT_TIME_DISPLAY_FORMAT as a,
|
|
6585
6659
|
RuntimeConfigSchema as b,
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const tsrStartManifest = () => ({ "routes": { "__root__": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/__root.tsx", "children": ["/", "/api/config", "/api/health", "/api/logs", "/api/mcp", "/api/models", "/api/providers", "/api/sessions", "/proxy/$", "/session/$sessionId", "/api/knowledge/candidates", "/api/knowledge/project-context", "/api/knowledge/search", "/api/knowledge/sessions/$sessionId/candidates"], "preloads": ["/assets/main-2NlGzgOe.js"], "assets": [] }, "/": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/index.tsx", "assets": [], "preloads": ["/assets/index-B_dffD3u.js", "/assets/ProxyViewerContainer-CbW5VRER.js"] }, "/api/config": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/config.ts", "children": ["/api/config/paths"] }, "/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/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-CcD_aLGq.js", "/assets/ProxyViewerContainer-CbW5VRER.js"] }, "/api/config/paths": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/config.paths.ts" }, "/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/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/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/test": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.$providerId.test.ts", "children": ["/api/providers/$providerId/test/log"] }, "/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-2NlGzgOe.js" });
|
|
2
|
+
export {
|
|
3
|
+
tsrStartManifest
|
|
4
|
+
};
|