@tonyclaw/agent-inspector 2.0.11 → 2.0.12
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-C9OWdxHM.js → CompareDrawer-ClM_uVRy.js} +1 -1
- package/.output/public/assets/ProxyViewerContainer-CTNNzXSa.js +114 -0
- package/.output/public/assets/{ReplayDialog-CwE6I1Pe.js → ReplayDialog-7rp7N_KJ.js} +1 -1
- package/.output/public/assets/RequestAnatomy-sL2FFo_N.js +1 -0
- package/.output/public/assets/ResponseView-Cjlf3b6-.js +1 -0
- package/.output/public/assets/{StreamingChunkSequence-CLcLZ7-W.js → StreamingChunkSequence-Ctx3sT3r.js} +1 -1
- package/.output/public/assets/_sessionId-DEWzDQ8-.js +1 -0
- package/.output/public/assets/index-DGIIhZTn.js +1 -0
- package/.output/public/assets/index-D_nZj9Vt.css +1 -0
- package/.output/public/assets/{main-D1Xanzu7.js → main-FvIQopAy.js} +2 -2
- package/.output/server/_libs/lucide-react.mjs +51 -39
- package/.output/server/{_sessionId-D3IyPpws.mjs → _sessionId-BDSgtrsI.mjs} +2 -2
- package/.output/server/_ssr/{CompareDrawer-BIMThqxy.mjs → CompareDrawer-Cqvv0I3x.mjs} +3 -3
- package/.output/server/_ssr/{ProxyViewerContainer-BiBdKWtj.mjs → ProxyViewerContainer-C0YEoG8N.mjs} +1611 -183
- package/.output/server/_ssr/{ReplayDialog-D_wiDyM2.mjs → ReplayDialog-CrsynUKI.mjs} +4 -4
- package/.output/server/_ssr/RequestAnatomy-CR_JUkcL.mjs +688 -0
- package/.output/server/_ssr/{ResponseView-Drk5ghmL.mjs → ResponseView-Dba2Et69.mjs} +3 -3
- package/.output/server/_ssr/{StreamingChunkSequence-F889rmG0.mjs → StreamingChunkSequence-BIMHLstI.mjs} +2 -2
- package/.output/server/_ssr/{index-CaPniq9z.mjs → index-DveIUTm5.mjs} +2 -2
- package/.output/server/_ssr/index.mjs +2 -2
- package/.output/server/_ssr/{router-C7S8FRth.mjs → router-D0yXVG0Q.mjs} +85 -22
- package/.output/server/{_tanstack-start-manifest_v-CVTkFOdT.mjs → _tanstack-start-manifest_v-pe0xJFuQ.mjs} +1 -1
- package/.output/server/index.mjs +62 -62
- package/package.json +1 -1
- package/src/components/ProxyViewer.tsx +453 -52
- package/src/components/providers/ProviderCard.tsx +45 -2
- package/src/components/providers/ProviderForm.tsx +245 -80
- package/src/components/providers/ProvidersPanel.tsx +7 -1
- package/src/components/proxy-viewer/ConversationGroup.tsx +18 -1
- package/src/components/proxy-viewer/LogEntry.tsx +25 -0
- package/src/components/proxy-viewer/TurnGroup.tsx +15 -0
- package/src/components/proxy-viewer/anatomy/RequestAnatomy.tsx +99 -79
- package/src/components/proxy-viewer/anatomy/contextIntelligence.ts +22 -4
- package/src/components/proxy-viewer/anatomy/sessionContextSummary.ts +196 -0
- package/src/components/proxy-viewer/logFocus.ts +33 -0
- package/src/lib/providerModelMetadata.ts +64 -12
- package/src/lib/utils.ts +7 -0
- package/src/proxy/providers.ts +25 -0
- package/src/routes/api/providers.ts +3 -0
- package/.output/public/assets/ProxyViewerContainer-CNzay4u8.js +0 -114
- package/.output/public/assets/RequestAnatomy-DEehC3yz.js +0 -1
- package/.output/public/assets/ResponseView-CE5UsuUq.js +0 -1
- package/.output/public/assets/_sessionId-DE__tPTo.js +0 -1
- package/.output/public/assets/index-BFO4Jmw5.js +0 -1
- package/.output/public/assets/index-CDzZ7l_S.css +0 -1
- package/.output/server/_ssr/RequestAnatomy-5UiMTESr.mjs +0 -1383
package/src/proxy/providers.ts
CHANGED
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
ProviderConfigSchema,
|
|
10
10
|
ProviderModelMetadataSchema,
|
|
11
11
|
type ProviderConfig,
|
|
12
|
+
type ProviderModelMetadata,
|
|
12
13
|
} from "../lib/providerContract";
|
|
13
14
|
import { withBuiltinProviderModelMetadata } from "../lib/providerModelMetadata";
|
|
14
15
|
|
|
@@ -21,6 +22,27 @@ const ProvidersStoreSchema = z.object({
|
|
|
21
22
|
|
|
22
23
|
type ProvidersStore = z.infer<typeof ProvidersStoreSchema>;
|
|
23
24
|
|
|
25
|
+
function normalizeMetadataModelName(value: string): string {
|
|
26
|
+
return value.trim().toLowerCase().replace(/\s+/g, "-");
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function mergeModelMetadata(
|
|
30
|
+
existing: readonly ProviderModelMetadata[] | undefined,
|
|
31
|
+
incoming: readonly ProviderModelMetadata[] | undefined,
|
|
32
|
+
): ProviderModelMetadata[] | undefined {
|
|
33
|
+
if (existing === undefined && incoming === undefined) return undefined;
|
|
34
|
+
|
|
35
|
+
const merged = new Map<string, ProviderModelMetadata>();
|
|
36
|
+
for (const metadata of existing ?? []) {
|
|
37
|
+
merged.set(normalizeMetadataModelName(metadata.model), metadata);
|
|
38
|
+
}
|
|
39
|
+
for (const metadata of incoming ?? []) {
|
|
40
|
+
merged.set(normalizeMetadataModelName(metadata.model), metadata);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return [...merged.values()].toSorted((left, right) => left.model.localeCompare(right.model));
|
|
44
|
+
}
|
|
45
|
+
|
|
24
46
|
const LegacyProviderConfigSchema = z.object({
|
|
25
47
|
id: z.string().optional(),
|
|
26
48
|
name: z.string().optional(),
|
|
@@ -377,6 +399,7 @@ export function addProvider(
|
|
|
377
399
|
openaiBaseUrl?: string,
|
|
378
400
|
source?: "company" | "personal",
|
|
379
401
|
modelMetadataUrl?: string,
|
|
402
|
+
modelMetadata?: ProviderModelMetadata[],
|
|
380
403
|
): ProviderConfig {
|
|
381
404
|
const providers = getProviders();
|
|
382
405
|
const normalizedKey = normalizeApiKey(apiKey);
|
|
@@ -398,6 +421,7 @@ export function addProvider(
|
|
|
398
421
|
const existingIndex = providers.findIndex((p) => p.id === existing.id);
|
|
399
422
|
const newModels = (models ?? []).filter((m) => m !== "");
|
|
400
423
|
existing.modelMetadataUrl = modelMetadataUrl ?? existing.modelMetadataUrl;
|
|
424
|
+
existing.modelMetadata = mergeModelMetadata(existing.modelMetadata, modelMetadata);
|
|
401
425
|
if (newModels.length > 0) {
|
|
402
426
|
const mergedModels = new Set(existing.models ?? []);
|
|
403
427
|
for (const m of newModels) mergedModels.add(m);
|
|
@@ -429,6 +453,7 @@ export function addProvider(
|
|
|
429
453
|
authHeader: authHeader ?? "bearer",
|
|
430
454
|
apiDocsUrl,
|
|
431
455
|
modelMetadataUrl,
|
|
456
|
+
modelMetadata,
|
|
432
457
|
createdAt: now,
|
|
433
458
|
updatedAt: now,
|
|
434
459
|
anthropicBaseUrl: resolvedAnthropicUrl,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createFileRoute } from "@tanstack/react-router";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { getProviders, addProvider } from "../../proxy/providers";
|
|
4
|
+
import { ProviderModelMetadataSchema } from "../../lib/providerContract";
|
|
4
5
|
|
|
5
6
|
const ProviderInputSchema = z.object({
|
|
6
7
|
name: z.string().min(1, "Name is required"),
|
|
@@ -13,6 +14,7 @@ const ProviderInputSchema = z.object({
|
|
|
13
14
|
authHeader: z.enum(["bearer", "x-api-key"]).optional().default("bearer"),
|
|
14
15
|
apiDocsUrl: z.string().optional(),
|
|
15
16
|
modelMetadataUrl: z.string().optional(),
|
|
17
|
+
modelMetadata: z.array(ProviderModelMetadataSchema).optional(),
|
|
16
18
|
source: z.enum(["company", "personal"]).optional(),
|
|
17
19
|
});
|
|
18
20
|
|
|
@@ -39,6 +41,7 @@ export const Route = createFileRoute("/api/providers")({
|
|
|
39
41
|
parsed.data.openaiBaseUrl,
|
|
40
42
|
parsed.data.source,
|
|
41
43
|
parsed.data.modelMetadataUrl,
|
|
44
|
+
parsed.data.modelMetadata,
|
|
42
45
|
);
|
|
43
46
|
return Response.json(newProvider, { status: 201 });
|
|
44
47
|
},
|