@tonyclaw/agent-inspector 2.0.19 → 2.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/{CompareDrawer-D-90PIPw.js → CompareDrawer-ztKMd-FE.js} +1 -1
  3. package/.output/public/assets/ProxyViewerContainer-BT8Ilsbs.js +114 -0
  4. package/.output/public/assets/{ReplayDialog-DzlLYoTO.js → ReplayDialog-RNhfLSsW.js} +1 -1
  5. package/.output/public/assets/{RequestAnatomy-0hbyf6oa.js → RequestAnatomy-fsUI5HhH.js} +1 -1
  6. package/.output/public/assets/{ResponseView-CKe0tNqr.js → ResponseView-B3YTDBBX.js} +1 -1
  7. package/.output/public/assets/{StreamingChunkSequence-enhfdeNh.js → StreamingChunkSequence-CbGqQ0mO.js} +1 -1
  8. package/.output/public/assets/_sessionId-C9cpyfLX.js +1 -0
  9. package/.output/public/assets/index-0mTTpvA2.js +1 -0
  10. package/.output/public/assets/index-DynnYt7S.css +1 -0
  11. package/.output/public/assets/{main-o9-hg8g1.js → main-lTQKpxiU.js} +2 -2
  12. package/.output/server/{_sessionId-F8lm6PIb.mjs → _sessionId-DsF6LFJG.mjs} +2 -2
  13. package/.output/server/_ssr/{CompareDrawer-Cf1yfwfd.mjs → CompareDrawer-DgdZcMpg.mjs} +2 -2
  14. package/.output/server/_ssr/{ProxyViewerContainer-Bmu9867L.mjs → ProxyViewerContainer-DaFW1IVu.mjs} +99 -23
  15. package/.output/server/_ssr/{ReplayDialog-DxZfLBOe.mjs → ReplayDialog-BOaTX1ir.mjs} +3 -3
  16. package/.output/server/_ssr/{RequestAnatomy-CbdERGZd.mjs → RequestAnatomy-C-2_dejd.mjs} +2 -2
  17. package/.output/server/_ssr/{ResponseView-CvLd6qxI.mjs → ResponseView-BtRVhgzy.mjs} +2 -2
  18. package/.output/server/_ssr/{StreamingChunkSequence-B_lkRB6o.mjs → StreamingChunkSequence-DZaerowX.mjs} +2 -2
  19. package/.output/server/_ssr/{index-ejrSItfz.mjs → index-B3_fgwFy.mjs} +2 -2
  20. package/.output/server/_ssr/index.mjs +2 -2
  21. package/.output/server/_ssr/{router-SbCnbDc2.mjs → router-CDOnHAWy.mjs} +191 -6
  22. package/.output/server/{_tanstack-start-manifest_v-yx8ftqWz.mjs → _tanstack-start-manifest_v-Brrx1NEa.mjs} +1 -1
  23. package/.output/server/index.mjs +61 -61
  24. package/package.json +1 -1
  25. package/src/components/providers/ProviderForm.tsx +107 -16
  26. package/src/components/ui/scroll-area.tsx +2 -2
  27. package/src/lib/providerModelMetadata.ts +67 -3
  28. package/src/proxy/formats/index.ts +1 -0
  29. package/src/proxy/formats/openai/index.ts +1 -0
  30. package/src/proxy/formats/openai/zhipuProvider.ts +31 -0
  31. package/src/proxy/providerImporters.ts +47 -0
  32. package/src/proxy/providers.ts +55 -0
  33. package/src/proxy/upstream.ts +25 -0
  34. package/.output/public/assets/ProxyViewerContainer-CxRDWacg.js +0 -114
  35. package/.output/public/assets/_sessionId-CJ-SusES.js +0 -1
  36. package/.output/public/assets/index-BbFsmQRC.js +0 -1
  37. package/.output/public/assets/index-BfBgrkgU.css +0 -1
@@ -50,7 +50,7 @@ import "../_libs/mimic-function.mjs";
50
50
  import "../_libs/semver.mjs";
51
51
  import "../_libs/uint8array-extras.mjs";
52
52
  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";
53
- const appCss = "/assets/index-BfBgrkgU.css";
53
+ const appCss = "/assets/index-DynnYt7S.css";
54
54
  const Route$s = createRootRoute({
55
55
  head: () => ({
56
56
  meta: [
@@ -93,7 +93,7 @@ function RootDocument({ children }) {
93
93
  ] })
94
94
  ] });
95
95
  }
96
- const $$splitComponentImporter$1 = () => import("./index-ejrSItfz.mjs");
96
+ const $$splitComponentImporter$1 = () => import("./index-B3_fgwFy.mjs");
97
97
  const Route$r = createFileRoute("/")({
98
98
  component: lazyRouteComponent($$splitComponentImporter$1, "component")
99
99
  });
@@ -136,7 +136,7 @@ function decodeSessionIdFromPath(encoded) {
136
136
  function getSessionPath(sessionId) {
137
137
  return `/session/${encodeSessionIdForPath(sessionId)}`;
138
138
  }
139
- const $$splitComponentImporter = () => import("../_sessionId-F8lm6PIb.mjs");
139
+ const $$splitComponentImporter = () => import("../_sessionId-DsF6LFJG.mjs");
140
140
  const Route$q = createFileRoute("/session/$sessionId")({
141
141
  component: lazyRouteComponent($$splitComponentImporter, "component"),
142
142
  parseParams: (params) => ({
@@ -2406,6 +2406,22 @@ const openaiProvider = {
2406
2406
  }
2407
2407
  };
2408
2408
  registry.register(openaiProvider);
2409
+ const DEFAULT_ZHIPU_UPSTREAM = "https://open.bigmodel.cn/api/paas/v4";
2410
+ const ZHIPU_MODEL_PREFIXES$1 = ["glm-", "charglm-", "cogview-", "embedding-", "rerank-"];
2411
+ const zhipuProvider = {
2412
+ name: "zhipu",
2413
+ matches(model) {
2414
+ const normalized = model.toLowerCase().replace(/\s+/g, "-");
2415
+ return ZHIPU_MODEL_PREFIXES$1.some((prefix) => normalized.startsWith(prefix));
2416
+ },
2417
+ getUpstreamBase(_isChatCompletions, providerConfig) {
2418
+ return providerConfig?.baseUrl ?? DEFAULT_ZHIPU_UPSTREAM;
2419
+ },
2420
+ extractStream(raw, log, fallbackModel, collectChunks) {
2421
+ return extractOpenAIStream(raw, log, fallbackModel, collectChunks);
2422
+ }
2423
+ };
2424
+ registry.register(zhipuProvider);
2409
2425
  const DEFAULT_ALIBABA_UPSTREAM = "https://dashscope.aliyuncs.com/compatible-mode/v1";
2410
2426
  const alibabaProvider = {
2411
2427
  name: "alibaba",
@@ -2483,6 +2499,10 @@ const HF_MINIMAX_M3_URL = "https://huggingface.co/MiniMaxAI/MiniMax-M3";
2483
2499
  const HF_MINIMAX_M2_7_URL = "https://huggingface.co/MiniMaxAI/MiniMax-M2.7";
2484
2500
  const HF_MINIMAX_M2_5_URL = "https://huggingface.co/MiniMaxAI/MiniMax-M2.5";
2485
2501
  const HF_MINIMAX_M2_1_URL = "https://huggingface.co/MiniMaxAI/MiniMax-M2.1";
2502
+ const ZHIPU_GLM_4_5_URL = "https://docs.bigmodel.cn/cn/guide/models/text/glm-4.5";
2503
+ const ZHIPU_GLM_4_6_URL = "https://docs.bigmodel.cn/cn/guide/models/text/glm-4.6";
2504
+ const ZHIPU_GLM_4_7_URL = "https://docs.bigmodel.cn/cn/guide/models/text/glm-4.7";
2505
+ const ZHIPU_GLM_5_TURBO_URL = "https://docs.bigmodel.cn/cn/guide/models/text/glm-5-turbo";
2486
2506
  const HF_GLM_5_URL = "https://huggingface.co/zai-org/GLM-5";
2487
2507
  const HF_GLM_5_1_URL = "https://huggingface.co/zai-org/GLM-5.1";
2488
2508
  const HF_GLM_5_2_URL = "https://huggingface.co/zai-org/GLM-5.2";
@@ -2557,10 +2577,63 @@ const BUILTIN_PROVIDER_MODEL_REGISTRY = {
2557
2577
  ]
2558
2578
  },
2559
2579
  {
2560
- name: "GLM",
2561
- aliases: ["glm", "zai", "zhipu", "bigmodel"],
2562
- baseUrls: [],
2580
+ name: "ZhipuAI",
2581
+ aliases: ["glm", "zai", "zhipu", "zhipuai", "bigmodel"],
2582
+ baseUrls: [
2583
+ "https://open.bigmodel.cn/api/paas/v4",
2584
+ "https://open.bigmodel.cn/api/coding/paas/v4",
2585
+ "https://open.bigmodel.cn/api/anthropic"
2586
+ ],
2563
2587
  models: [
2588
+ {
2589
+ id: "glm-4.5",
2590
+ aliases: ["GLM-4.5"],
2591
+ contextWindow: 131072,
2592
+ outputLimit: 98304,
2593
+ sourceUrl: ZHIPU_GLM_4_5_URL
2594
+ },
2595
+ {
2596
+ id: "glm-4.5-air",
2597
+ aliases: ["GLM-4.5-Air"],
2598
+ contextWindow: 131072,
2599
+ outputLimit: 98304,
2600
+ sourceUrl: ZHIPU_GLM_4_5_URL
2601
+ },
2602
+ {
2603
+ id: "glm-4.5-x",
2604
+ aliases: ["GLM-4.5-X"],
2605
+ contextWindow: 131072,
2606
+ outputLimit: 98304,
2607
+ sourceUrl: ZHIPU_GLM_4_5_URL
2608
+ },
2609
+ {
2610
+ id: "glm-4.5-airx",
2611
+ aliases: ["GLM-4.5-AirX"],
2612
+ contextWindow: 131072,
2613
+ outputLimit: 98304,
2614
+ sourceUrl: ZHIPU_GLM_4_5_URL
2615
+ },
2616
+ {
2617
+ id: "glm-4.5-flash",
2618
+ aliases: ["GLM-4.5-Flash"],
2619
+ contextWindow: 131072,
2620
+ outputLimit: 98304,
2621
+ sourceUrl: ZHIPU_GLM_4_5_URL
2622
+ },
2623
+ {
2624
+ id: "glm-4.6",
2625
+ aliases: ["GLM-4.6"],
2626
+ contextWindow: 202752,
2627
+ outputLimit: 65536,
2628
+ sourceUrl: ZHIPU_GLM_4_6_URL
2629
+ },
2630
+ {
2631
+ id: "glm-4.7",
2632
+ aliases: ["GLM-4.7"],
2633
+ contextWindow: 202752,
2634
+ outputLimit: 131072,
2635
+ sourceUrl: ZHIPU_GLM_4_7_URL
2636
+ },
2564
2637
  {
2565
2638
  id: "glm-5",
2566
2639
  aliases: ["GLM-5"],
@@ -2578,6 +2651,13 @@ const BUILTIN_PROVIDER_MODEL_REGISTRY = {
2578
2651
  aliases: ["GLM-5.2"],
2579
2652
  contextWindow: 1048576,
2580
2653
  sourceUrl: HF_GLM_5_2_URL
2654
+ },
2655
+ {
2656
+ id: "glm-5-turbo",
2657
+ aliases: ["GLM-5-Turbo"],
2658
+ contextWindow: 202752,
2659
+ outputLimit: 131072,
2660
+ sourceUrl: ZHIPU_GLM_5_TURBO_URL
2581
2661
  }
2582
2662
  ]
2583
2663
  }
@@ -3181,6 +3261,47 @@ function getModelUsageName(model, providerName) {
3181
3261
  function normalizeModelName(name) {
3182
3262
  return name.toLowerCase().replace(/\s+/g, "-");
3183
3263
  }
3264
+ const ZHIPU_MODEL_PREFIXES = ["glm-", "charglm-", "cogview-", "embedding-", "rerank-"];
3265
+ const ZHIPU_PROVIDER_ALIASES = ["zhipu", "zhipuai", "bigmodel", "zai", "glm"];
3266
+ const ZHIPU_BASE_URL_MARKERS = [
3267
+ "open.bigmodel.cn/api/paas/v4",
3268
+ "open.bigmodel.cn/api/coding/paas/v4",
3269
+ "open.bigmodel.cn/api/anthropic"
3270
+ ];
3271
+ function normalizeProviderAlias(name) {
3272
+ return name.toLowerCase().replace(/[^a-z0-9]/g, "");
3273
+ }
3274
+ function providerRoutingUrls(provider) {
3275
+ const urls = [];
3276
+ if (provider.anthropicBaseUrl !== void 0 && provider.anthropicBaseUrl.trim() !== "") {
3277
+ urls.push(provider.anthropicBaseUrl);
3278
+ }
3279
+ if (provider.openaiBaseUrl !== void 0 && provider.openaiBaseUrl.trim() !== "") {
3280
+ urls.push(provider.openaiBaseUrl);
3281
+ }
3282
+ if (provider.baseUrl !== void 0 && provider.baseUrl.trim() !== "") {
3283
+ urls.push(provider.baseUrl);
3284
+ }
3285
+ return urls;
3286
+ }
3287
+ function isZhipuProvider(provider) {
3288
+ const normalizedName = normalizeProviderAlias(provider.name);
3289
+ const nameMatches = ZHIPU_PROVIDER_ALIASES.some((alias) => {
3290
+ const normalizedAlias = normalizeProviderAlias(alias);
3291
+ return normalizedName.includes(normalizedAlias) || normalizedAlias.includes(normalizedName);
3292
+ });
3293
+ if (nameMatches) return true;
3294
+ return providerRoutingUrls(provider).some((url) => {
3295
+ const normalizedUrl = url.toLowerCase().replace(/\/+$/, "");
3296
+ return ZHIPU_BASE_URL_MARKERS.some((marker) => normalizedUrl.includes(marker));
3297
+ });
3298
+ }
3299
+ function modelMatchesKnownProviderPrefix(modelNormalized, provider) {
3300
+ if (isZhipuProvider(provider)) {
3301
+ return ZHIPU_MODEL_PREFIXES.some((prefix) => modelNormalized.startsWith(prefix));
3302
+ }
3303
+ return false;
3304
+ }
3184
3305
  function findProviderByModel(model) {
3185
3306
  const providers = getProviders();
3186
3307
  const modelLower = model.toLowerCase();
@@ -3190,6 +3311,9 @@ function findProviderByModel(model) {
3190
3311
  if (modelLower.startsWith(providerPrefix)) {
3191
3312
  return provider;
3192
3313
  }
3314
+ if (modelMatchesKnownProviderPrefix(modelNormalized, provider)) {
3315
+ return provider;
3316
+ }
3193
3317
  const modelList = provider.models ?? (provider.model !== void 0 ? [provider.model] : []);
3194
3318
  for (const m of modelList) {
3195
3319
  if (m !== "" && modelNormalized === normalizeModelName(m)) {
@@ -4052,11 +4176,26 @@ function selectUpstreamBase(route, provider) {
4052
4176
  }
4053
4177
  function buildUpstreamUrl(upstreamBase, normalizedPath) {
4054
4178
  const base = upstreamBase.endsWith("/") ? upstreamBase.slice(0, -1) : upstreamBase;
4179
+ if (isZhipuVersionedOpenAIBase(base) && isVersionedChatCompletionsPath(normalizedPath)) {
4180
+ return base + normalizedPath.slice(3);
4181
+ }
4055
4182
  if (base.endsWith("/v1") && normalizedPath.startsWith("/v1/")) {
4056
4183
  return base + normalizedPath.slice(3);
4057
4184
  }
4058
4185
  return base + normalizedPath;
4059
4186
  }
4187
+ function isVersionedChatCompletionsPath(normalizedPath) {
4188
+ return normalizedPath === PATH_V1_CHAT_COMPLETIONS || normalizedPath.startsWith(`${PATH_V1_CHAT_COMPLETIONS}?`) || normalizedPath.startsWith(`${PATH_V1_CHAT_COMPLETIONS}/`);
4189
+ }
4190
+ function isZhipuVersionedOpenAIBase(base) {
4191
+ try {
4192
+ const parsed = new URL(base);
4193
+ const path2 = parsed.pathname.replace(/\/+$/, "");
4194
+ return parsed.hostname === "open.bigmodel.cn" && (path2 === "/api/paas/v4" || path2 === "/api/coding/paas/v4");
4195
+ } catch {
4196
+ return false;
4197
+ }
4198
+ }
4060
4199
  function setUpstreamHost(headers, upstreamBase) {
4061
4200
  try {
4062
4201
  headers.set(HEADER_HOST, new URL(upstreamBase).host);
@@ -5127,6 +5266,9 @@ const Route$i = createFileRoute("/api/config")({
5127
5266
  }
5128
5267
  }
5129
5268
  });
5269
+ const ZHIPU_OPENAI_BASE_URL = "https://open.bigmodel.cn/api/paas/v4";
5270
+ const ZHIPU_CODING_OPENAI_BASE_URL = "https://open.bigmodel.cn/api/coding/paas/v4";
5271
+ const ZHIPU_CODING_ANTHROPIC_BASE_URL = "https://open.bigmodel.cn/api/anthropic";
5130
5272
  function readJsonSafe(filePath) {
5131
5273
  try {
5132
5274
  if (!existsSync(filePath)) return null;
@@ -5156,6 +5298,9 @@ const KNOWN_PROVIDER_NAMES = {
5156
5298
  azure: "Azure",
5157
5299
  moonshot: "Moonshot",
5158
5300
  zhipu: "ZhipuAI",
5301
+ zhipuai: "ZhipuAI",
5302
+ bigmodel: "ZhipuAI",
5303
+ zai: "Z.AI",
5159
5304
  qwen: "Qwen",
5160
5305
  baichuan: "Baichuan",
5161
5306
  iflytek: "iFlytek",
@@ -5435,6 +5580,46 @@ function detectMiMoCodeProviders() {
5435
5580
  anthropicBaseUrl: "",
5436
5581
  openaiBaseUrl: "https://api.together.xyz",
5437
5582
  format: "openai"
5583
+ },
5584
+ zhipu: {
5585
+ anthropicBaseUrl: "",
5586
+ openaiBaseUrl: ZHIPU_OPENAI_BASE_URL,
5587
+ format: "openai"
5588
+ },
5589
+ zhipuai: {
5590
+ anthropicBaseUrl: "",
5591
+ openaiBaseUrl: ZHIPU_OPENAI_BASE_URL,
5592
+ format: "openai"
5593
+ },
5594
+ bigmodel: {
5595
+ anthropicBaseUrl: "",
5596
+ openaiBaseUrl: ZHIPU_OPENAI_BASE_URL,
5597
+ format: "openai"
5598
+ },
5599
+ zai: {
5600
+ anthropicBaseUrl: "",
5601
+ openaiBaseUrl: ZHIPU_OPENAI_BASE_URL,
5602
+ format: "openai"
5603
+ },
5604
+ glm: {
5605
+ anthropicBaseUrl: ZHIPU_CODING_ANTHROPIC_BASE_URL,
5606
+ openaiBaseUrl: ZHIPU_CODING_OPENAI_BASE_URL,
5607
+ format: "anthropic"
5608
+ },
5609
+ "glm-coding-plan": {
5610
+ anthropicBaseUrl: ZHIPU_CODING_ANTHROPIC_BASE_URL,
5611
+ openaiBaseUrl: ZHIPU_CODING_OPENAI_BASE_URL,
5612
+ format: "anthropic"
5613
+ },
5614
+ "zhipu-coding-plan": {
5615
+ anthropicBaseUrl: ZHIPU_CODING_ANTHROPIC_BASE_URL,
5616
+ openaiBaseUrl: ZHIPU_CODING_OPENAI_BASE_URL,
5617
+ format: "anthropic"
5618
+ },
5619
+ "zai-coding-plan": {
5620
+ anthropicBaseUrl: ZHIPU_CODING_ANTHROPIC_BASE_URL,
5621
+ openaiBaseUrl: ZHIPU_CODING_OPENAI_BASE_URL,
5622
+ format: "anthropic"
5438
5623
  }
5439
5624
  };
5440
5625
  for (const [key, cred] of Object.entries(auth)) {
@@ -1,4 +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-o9-hg8g1.js"], "assets": [] }, "/": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/index.tsx", "assets": [], "preloads": ["/assets/index-BbFsmQRC.js", "/assets/ProxyViewerContainer-CxRDWacg.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-CJ-SusES.js", "/assets/ProxyViewerContainer-CxRDWacg.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/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/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/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-o9-hg8g1.js" });
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-lTQKpxiU.js"], "assets": [] }, "/": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/index.tsx", "assets": [], "preloads": ["/assets/index-0mTTpvA2.js", "/assets/ProxyViewerContainer-BT8Ilsbs.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-C9cpyfLX.js", "/assets/ProxyViewerContainer-BT8Ilsbs.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/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/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/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-lTQKpxiU.js" });
2
2
  export {
3
3
  tsrStartManifest
4
4
  };
@@ -38,100 +38,100 @@ const assets = {
38
38
  "/assets/alibaba-TTwafVwX.svg": {
39
39
  "type": "image/svg+xml",
40
40
  "etag": '"171b-6dyV5K8QjiaY35sN9qNprh9zDIs"',
41
- "mtime": "2026-06-29T02:52:50.786Z",
41
+ "mtime": "2026-06-29T08:00:45.251Z",
42
42
  "size": 5915,
43
43
  "path": "../public/assets/alibaba-TTwafVwX.svg"
44
44
  },
45
- "/assets/index-BfBgrkgU.css": {
46
- "type": "text/css; charset=utf-8",
47
- "etag": '"1a2c9-oAW5yRzaizIi778RSlqZhPc85Pw"',
48
- "mtime": "2026-06-29T02:52:50.786Z",
49
- "size": 107209,
50
- "path": "../public/assets/index-BfBgrkgU.css"
51
- },
52
- "/assets/index-BbFsmQRC.js": {
45
+ "/assets/CompareDrawer-ztKMd-FE.js": {
53
46
  "type": "text/javascript; charset=utf-8",
54
- "etag": '"74-vI6w+1iyboIWfJVk8/ech/2b8UY"',
55
- "mtime": "2026-06-29T02:52:50.786Z",
56
- "size": 116,
57
- "path": "../public/assets/index-BbFsmQRC.js"
47
+ "etag": '"49fe-E12X8KJ9bFJDOM19txdekQTJjxk"',
48
+ "mtime": "2026-06-29T08:00:45.251Z",
49
+ "size": 18942,
50
+ "path": "../public/assets/CompareDrawer-ztKMd-FE.js"
58
51
  },
59
- "/assets/CompareDrawer-D-90PIPw.js": {
52
+ "/assets/index-0mTTpvA2.js": {
60
53
  "type": "text/javascript; charset=utf-8",
61
- "etag": '"49fe-wIGG2knR51mFyL2vstdm6VenVaI"',
62
- "mtime": "2026-06-29T02:52:50.786Z",
63
- "size": 18942,
64
- "path": "../public/assets/CompareDrawer-D-90PIPw.js"
54
+ "etag": '"74-NpsKS58Jmtv6X8b9bXiACti03i8"',
55
+ "mtime": "2026-06-29T08:00:45.251Z",
56
+ "size": 116,
57
+ "path": "../public/assets/index-0mTTpvA2.js"
65
58
  },
66
59
  "/assets/minimax-BPMzvuL-.jpeg": {
67
60
  "type": "image/jpeg",
68
61
  "etag": '"1b06-IwivU89ko5UTMUM1/t7hn4sQK9A"',
69
- "mtime": "2026-06-29T02:52:50.786Z",
62
+ "mtime": "2026-06-29T08:00:45.251Z",
70
63
  "size": 6918,
71
64
  "path": "../public/assets/minimax-BPMzvuL-.jpeg"
72
65
  },
73
- "/assets/ReplayDialog-DzlLYoTO.js": {
66
+ "/assets/main-lTQKpxiU.js": {
74
67
  "type": "text/javascript; charset=utf-8",
75
- "etag": '"318c-bOjCbSP/w/aeX1kn9QRZtFGLMFY"',
76
- "mtime": "2026-06-29T02:52:50.786Z",
77
- "size": 12684,
78
- "path": "../public/assets/ReplayDialog-DzlLYoTO.js"
68
+ "etag": '"51726-dI1UxXCXVwDLjEkVI22GO7tbSks"',
69
+ "mtime": "2026-06-29T08:00:45.251Z",
70
+ "size": 333606,
71
+ "path": "../public/assets/main-lTQKpxiU.js"
72
+ },
73
+ "/assets/index-DynnYt7S.css": {
74
+ "type": "text/css; charset=utf-8",
75
+ "etag": '"1a2ef-ePBi5QJ1gmSGrdAGsfnIQPhloY0"',
76
+ "mtime": "2026-06-29T08:00:45.251Z",
77
+ "size": 107247,
78
+ "path": "../public/assets/index-DynnYt7S.css"
79
+ },
80
+ "/assets/qwen-CONDcHqt.png": {
81
+ "type": "image/png",
82
+ "etag": '"572c3-cdJAPaHdOvFCGzuaQjagdgOu6XE"',
83
+ "mtime": "2026-06-29T08:00:45.251Z",
84
+ "size": 357059,
85
+ "path": "../public/assets/qwen-CONDcHqt.png"
79
86
  },
80
- "/assets/RequestAnatomy-0hbyf6oa.js": {
87
+ "/assets/ReplayDialog-RNhfLSsW.js": {
81
88
  "type": "text/javascript; charset=utf-8",
82
- "etag": '"4485-EusuohynIBF0h9+uJ+g1znFjMpc"',
83
- "mtime": "2026-06-29T02:52:50.787Z",
84
- "size": 17541,
85
- "path": "../public/assets/RequestAnatomy-0hbyf6oa.js"
89
+ "etag": '"318c-7KXwFfcY/M7/UUmApqb2bQHX4KY"',
90
+ "mtime": "2026-06-29T08:00:45.251Z",
91
+ "size": 12684,
92
+ "path": "../public/assets/ReplayDialog-RNhfLSsW.js"
86
93
  },
87
- "/assets/StreamingChunkSequence-enhfdeNh.js": {
94
+ "/assets/RequestAnatomy-fsUI5HhH.js": {
88
95
  "type": "text/javascript; charset=utf-8",
89
- "etag": '"d57-tC/D5hLCBdTaOabqUAFaXVthebA"',
90
- "mtime": "2026-06-29T02:52:50.787Z",
91
- "size": 3415,
92
- "path": "../public/assets/StreamingChunkSequence-enhfdeNh.js"
96
+ "etag": '"4485-y/NzXbzgBqFCTpcuE2YC8B4Xl+s"',
97
+ "mtime": "2026-06-29T08:00:45.251Z",
98
+ "size": 17541,
99
+ "path": "../public/assets/RequestAnatomy-fsUI5HhH.js"
93
100
  },
94
- "/assets/ResponseView-CKe0tNqr.js": {
101
+ "/assets/ResponseView-B3YTDBBX.js": {
95
102
  "type": "text/javascript; charset=utf-8",
96
- "etag": '"30d0-N2ASszGo1KTiM+aCCKGHlqvDV+0"',
97
- "mtime": "2026-06-29T02:52:50.787Z",
103
+ "etag": '"30d0-VB+rk3ZWGccTZY/YQDSqdmafiXI"',
104
+ "mtime": "2026-06-29T08:00:45.253Z",
98
105
  "size": 12496,
99
- "path": "../public/assets/ResponseView-CKe0tNqr.js"
106
+ "path": "../public/assets/ResponseView-B3YTDBBX.js"
100
107
  },
101
- "/assets/_sessionId-CJ-SusES.js": {
108
+ "/assets/StreamingChunkSequence-CbGqQ0mO.js": {
102
109
  "type": "text/javascript; charset=utf-8",
103
- "etag": '"d2-B/4bxwxZCrYG2uo6f9Vw/Iubu34"',
104
- "mtime": "2026-06-29T02:52:50.786Z",
105
- "size": 210,
106
- "path": "../public/assets/_sessionId-CJ-SusES.js"
110
+ "etag": '"d57-/TohmpAJTSJQB9pn++sOZIR77ks"',
111
+ "mtime": "2026-06-29T08:00:45.253Z",
112
+ "size": 3415,
113
+ "path": "../public/assets/StreamingChunkSequence-CbGqQ0mO.js"
107
114
  },
108
115
  "/assets/zhipuai-BPNAnxo-.svg": {
109
116
  "type": "image/svg+xml",
110
117
  "etag": '"2bf8-hNaLCTi89nOFCsIIfWpP/jrfo0s"',
111
- "mtime": "2026-06-29T02:52:50.786Z",
118
+ "mtime": "2026-06-29T08:00:45.251Z",
112
119
  "size": 11256,
113
120
  "path": "../public/assets/zhipuai-BPNAnxo-.svg"
114
121
  },
115
- "/assets/main-o9-hg8g1.js": {
122
+ "/assets/_sessionId-C9cpyfLX.js": {
116
123
  "type": "text/javascript; charset=utf-8",
117
- "etag": '"51726-j0zx0pW0MFG6YpQKGgNUrH681sU"',
118
- "mtime": "2026-06-29T02:52:50.786Z",
119
- "size": 333606,
120
- "path": "../public/assets/main-o9-hg8g1.js"
121
- },
122
- "/assets/qwen-CONDcHqt.png": {
123
- "type": "image/png",
124
- "etag": '"572c3-cdJAPaHdOvFCGzuaQjagdgOu6XE"',
125
- "mtime": "2026-06-29T02:52:50.786Z",
126
- "size": 357059,
127
- "path": "../public/assets/qwen-CONDcHqt.png"
124
+ "etag": '"d2-0De45/nv3c5PzjfK4qWI19CPHKY"',
125
+ "mtime": "2026-06-29T08:00:45.251Z",
126
+ "size": 210,
127
+ "path": "../public/assets/_sessionId-C9cpyfLX.js"
128
128
  },
129
- "/assets/ProxyViewerContainer-CxRDWacg.js": {
129
+ "/assets/ProxyViewerContainer-BT8Ilsbs.js": {
130
130
  "type": "text/javascript; charset=utf-8",
131
- "etag": '"ac0f7-VR6Thj9R1PGTEGYWEufABFZwNSM"',
132
- "mtime": "2026-06-29T02:52:50.787Z",
133
- "size": 704759,
134
- "path": "../public/assets/ProxyViewerContainer-CxRDWacg.js"
131
+ "etag": '"acb39-85nxvdB88Xi+WqWWumJ/I5Pv3kI"',
132
+ "mtime": "2026-06-29T08:00:45.253Z",
133
+ "size": 707385,
134
+ "path": "../public/assets/ProxyViewerContainer-BT8Ilsbs.js"
135
135
  }
136
136
  };
137
137
  function readAsset(id) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tonyclaw/agent-inspector",
3
- "version": "2.0.19",
3
+ "version": "2.0.21",
4
4
  "type": "module",
5
5
  "description": "Agent observability and knowledge capture layer for AI coding tools.",
6
6
  "license": "MIT",