dsh-llm-verifier 0.1.13 → 0.1.16
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/LICENSE +22 -22
- package/README.md +328 -301
- package/cordis.patch.yml +4 -4
- package/lib/caller-BWwSVNZf.js.map +1 -0
- package/lib/client.js +176 -14
- package/lib/client.js.map +1 -0
- package/lib/core.js.map +1 -0
- package/lib/index.js +400 -51
- package/lib/index.js.map +1 -0
- package/lib/types/auto.d.ts.map +1 -0
- package/lib/types/auto.js +8 -2
- package/lib/types/auto.js.map +1 -0
- package/lib/types/cache.d.ts.map +1 -0
- package/lib/types/cache.js.map +1 -0
- package/lib/types/caller.d.ts.map +1 -0
- package/lib/types/caller.js.map +1 -0
- package/lib/types/client-i18n.d.ts +27 -0
- package/lib/types/client-i18n.d.ts.map +1 -0
- package/lib/types/client-i18n.js +18 -0
- package/lib/types/client-i18n.js.map +1 -0
- package/lib/types/client.d.ts +15 -2
- package/lib/types/client.d.ts.map +1 -0
- package/lib/types/client.js +137 -10
- package/lib/types/client.js.map +1 -0
- package/lib/types/config.d.ts +4 -0
- package/lib/types/config.d.ts.map +1 -0
- package/lib/types/config.js +5 -3
- package/lib/types/config.js.map +1 -0
- package/lib/types/core.d.ts.map +1 -0
- package/lib/types/core.js.map +1 -0
- package/lib/types/engine.d.ts.map +1 -0
- package/lib/types/engine.js.map +1 -0
- package/lib/types/images.d.ts.map +1 -0
- package/lib/types/images.js.map +1 -0
- package/lib/types/index.d.ts +2 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +162 -9
- package/lib/types/index.js.map +1 -0
- package/lib/types/plan-gate.d.ts +27 -0
- package/lib/types/plan-gate.d.ts.map +1 -0
- package/lib/types/plan-gate.js +60 -0
- package/lib/types/plan-gate.js.map +1 -0
- package/lib/types/router.d.ts +28 -32
- package/lib/types/router.d.ts.map +1 -0
- package/lib/types/router.js +41 -9
- package/lib/types/router.js.map +1 -0
- package/lib/types/session.d.ts +11 -0
- package/lib/types/session.d.ts.map +1 -0
- package/lib/types/session.js +41 -11
- package/lib/types/session.js.map +1 -0
- package/lib/types/statistics.d.ts.map +1 -0
- package/lib/types/statistics.js.map +1 -0
- package/lib/types/team-gate.d.ts +20 -0
- package/lib/types/team-gate.d.ts.map +1 -0
- package/lib/types/team-gate.js +59 -0
- package/lib/types/team-gate.js.map +1 -0
- package/lib/types/top-logprobs.d.ts.map +1 -0
- package/lib/types/top-logprobs.js.map +1 -0
- package/lib/types/topic-storage.d.ts.map +1 -0
- package/lib/types/topic-storage.js.map +1 -0
- package/package.json +114 -112
- package/src/auto.test.ts +95 -86
- package/src/auto.ts +140 -133
- package/src/cache.ts +115 -115
- package/src/caller.test.ts +34 -34
- package/src/caller.ts +151 -151
- package/src/client-i18n.ts +18 -0
- package/src/client.tsx +383 -213
- package/src/config.ts +189 -183
- package/src/core.test.ts +71 -71
- package/src/core.ts +205 -205
- package/src/engine.test.ts +136 -136
- package/src/engine.ts +140 -140
- package/src/images.ts +33 -33
- package/src/index.ts +394 -247
- package/src/parity.test.ts +85 -85
- package/src/plan-gate.test.ts +56 -0
- package/src/plan-gate.ts +66 -0
- package/src/router.test.ts +107 -89
- package/src/router.ts +361 -309
- package/src/session.test.ts +71 -36
- package/src/session.ts +132 -103
- package/src/statistics.test.ts +80 -80
- package/src/statistics.ts +328 -328
- package/src/team-gate.test.ts +92 -0
- package/src/team-gate.ts +80 -0
- package/src/top-logprobs.test.ts +84 -84
- package/src/top-logprobs.ts +153 -153
- package/src/topic-storage.test.ts +31 -31
- package/src/topic-storage.ts +42 -42
|
@@ -122,6 +122,15 @@ export declare const zh: {
|
|
|
122
122
|
'models.tokens': string;
|
|
123
123
|
'models.empty': string;
|
|
124
124
|
'slot.statistics': string;
|
|
125
|
+
'slot.globalDashboard': string;
|
|
126
|
+
'global.panelTitle': string;
|
|
127
|
+
'global.panelIntro': string;
|
|
128
|
+
'guide.verifier.title': string;
|
|
129
|
+
'guide.verifier.desc': string;
|
|
130
|
+
'field.autoVerifyTeamTasks.title': string;
|
|
131
|
+
'field.autoVerifyTeamTasks.help': string;
|
|
132
|
+
'field.autoVerifyPlanMode.title': string;
|
|
133
|
+
'field.autoVerifyPlanMode.help': string;
|
|
125
134
|
};
|
|
126
135
|
export type I18nDict = typeof zh;
|
|
127
136
|
export declare const en: I18nDict;
|
|
@@ -250,6 +259,15 @@ export declare const dictionaries: {
|
|
|
250
259
|
'models.tokens': string;
|
|
251
260
|
'models.empty': string;
|
|
252
261
|
'slot.statistics': string;
|
|
262
|
+
'slot.globalDashboard': string;
|
|
263
|
+
'global.panelTitle': string;
|
|
264
|
+
'global.panelIntro': string;
|
|
265
|
+
'guide.verifier.title': string;
|
|
266
|
+
'guide.verifier.desc': string;
|
|
267
|
+
'field.autoVerifyTeamTasks.title': string;
|
|
268
|
+
'field.autoVerifyTeamTasks.help': string;
|
|
269
|
+
'field.autoVerifyPlanMode.title': string;
|
|
270
|
+
'field.autoVerifyPlanMode.help': string;
|
|
253
271
|
};
|
|
254
272
|
en: {
|
|
255
273
|
'settings.title': string;
|
|
@@ -375,6 +393,15 @@ export declare const dictionaries: {
|
|
|
375
393
|
'models.tokens': string;
|
|
376
394
|
'models.empty': string;
|
|
377
395
|
'slot.statistics': string;
|
|
396
|
+
'slot.globalDashboard': string;
|
|
397
|
+
'global.panelTitle': string;
|
|
398
|
+
'global.panelIntro': string;
|
|
399
|
+
'guide.verifier.title': string;
|
|
400
|
+
'guide.verifier.desc': string;
|
|
401
|
+
'field.autoVerifyTeamTasks.title': string;
|
|
402
|
+
'field.autoVerifyTeamTasks.help': string;
|
|
403
|
+
'field.autoVerifyPlanMode.title': string;
|
|
404
|
+
'field.autoVerifyPlanMode.help': string;
|
|
378
405
|
};
|
|
379
406
|
};
|
|
380
407
|
export declare const toolLabels: Record<'zh' | 'en', Record<string, string>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-i18n.d.ts","sourceRoot":"","sources":["../../src/client-i18n.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgKd,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAA;AAEhC,eAAO,MAAM,EAAE,EAAE,QAgKhB,CAAA;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAa,CAAA;AAEtC,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAelE,CAAA;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAG1F;AAED,wBAAgB,cAAc,IAAI,IAAI,GAAG,IAAI,CAI5C;AAED,wBAAgB,WAAW,IAAI,IAAI,GAAG,IAAI,CAiBzC;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,IAAI,GAAG,IAAW,GAAG,MAAM,CAGvE;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI9C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,IAAI,GAAG,IAAW,GAAG,MAAM,CAGxE"}
|
package/lib/types/client-i18n.js
CHANGED
|
@@ -137,6 +137,15 @@ export const zh = {
|
|
|
137
137
|
'models.empty': '暂无模型调用',
|
|
138
138
|
// Slot label
|
|
139
139
|
'slot.statistics': '工具统计',
|
|
140
|
+
'slot.globalDashboard': 'Verifier 看板',
|
|
141
|
+
'global.panelTitle': 'LLM Verifier 全局监控中心',
|
|
142
|
+
'global.panelIntro': '跨会话全局统计、裁判模型效能大盘与任务验收总览。',
|
|
143
|
+
'guide.verifier.title': 'Verifier 统计',
|
|
144
|
+
'guide.verifier.desc': '大模型复核工具调用、耗时与成本统计',
|
|
145
|
+
'field.autoVerifyTeamTasks.title': '自动验收 Team 任务',
|
|
146
|
+
'field.autoVerifyTeamTasks.help': '当 Agent Teams 中的任务状态变更或进入完成状态时,自动路由进度追踪与任务验收。',
|
|
147
|
+
'field.autoVerifyPlanMode.title': '计划模式自动预审',
|
|
148
|
+
'field.autoVerifyPlanMode.help': '在 Agent 调用 exit_plan_mode 提交计划交付人类评审前,自动对计划完整度与风险进行独立预审。',
|
|
140
149
|
};
|
|
141
150
|
export const en = {
|
|
142
151
|
// Settings Page
|
|
@@ -276,6 +285,15 @@ export const en = {
|
|
|
276
285
|
'models.empty': 'No model calls',
|
|
277
286
|
// Slot label
|
|
278
287
|
'slot.statistics': 'Statistics',
|
|
288
|
+
'slot.globalDashboard': 'Verifier Dashboard',
|
|
289
|
+
'global.panelTitle': 'LLM Verifier Global Dashboard',
|
|
290
|
+
'global.panelIntro': 'Cross-session statistics, judge model metrics, and task acceptance overview.',
|
|
291
|
+
'guide.verifier.title': 'Verifier Stats',
|
|
292
|
+
'guide.verifier.desc': 'LLM verifier tool calls, duration and cost statistics',
|
|
293
|
+
'field.autoVerifyTeamTasks.title': 'Verify Team Tasks',
|
|
294
|
+
'field.autoVerifyTeamTasks.help': 'Automatically route progress and verify tasks when Agent Teams task status changes or completes.',
|
|
295
|
+
'field.autoVerifyPlanMode.title': 'Plan Mode Pre-verification',
|
|
296
|
+
'field.autoVerifyPlanMode.help': 'Automatically pre-verify plan feasibility and risks before exit_plan_mode presents it for user review.',
|
|
279
297
|
};
|
|
280
298
|
export const dictionaries = { zh, en };
|
|
281
299
|
export const toolLabels = {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-i18n.js","sourceRoot":"","sources":["../../src/client-i18n.ts"],"names":[],"mappings":"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"}
|
package/lib/types/client.d.ts
CHANGED
|
@@ -44,7 +44,8 @@ interface VerifierSettingsProps {
|
|
|
44
44
|
remote: VerifierRemote;
|
|
45
45
|
}
|
|
46
46
|
interface StatisticsPageProps {
|
|
47
|
-
sessionId
|
|
47
|
+
sessionId?: string;
|
|
48
|
+
isGlobal?: boolean;
|
|
48
49
|
rpc: {
|
|
49
50
|
call(channel: string, endpoint: string, payload: unknown, signal?: AbortSignal): Promise<{
|
|
50
51
|
ok: boolean;
|
|
@@ -56,7 +57,19 @@ interface StatisticsPageProps {
|
|
|
56
57
|
};
|
|
57
58
|
}
|
|
58
59
|
export declare function VerifierSettings({ remote }: VerifierSettingsProps): import("react").JSX.Element;
|
|
59
|
-
export declare function StatisticsPage({ sessionId, rpc }: StatisticsPageProps): import("react").JSX.Element;
|
|
60
|
+
export declare function StatisticsPage({ sessionId, rpc, isGlobal }: StatisticsPageProps): import("react").JSX.Element;
|
|
61
|
+
export declare function VerifierSidebarIcon({ size, active }: {
|
|
62
|
+
size: number;
|
|
63
|
+
active?: boolean;
|
|
64
|
+
}): import("react").JSX.Element;
|
|
65
|
+
export declare function GlobalVerifierDashboard({ rpc }: {
|
|
66
|
+
rpc: any;
|
|
67
|
+
}): import("react").JSX.Element;
|
|
68
|
+
export declare function RightSidebarVerifierPanel({ rpc, sessionId }: {
|
|
69
|
+
rpc: any;
|
|
70
|
+
sessionId?: string;
|
|
71
|
+
}): import("react").JSX.Element;
|
|
72
|
+
export declare function RightSidebarVerifierTitle(): import("react").JSX.Element;
|
|
60
73
|
export declare const inject: string[];
|
|
61
74
|
export declare function apply(ctx: ClientContext): void;
|
|
62
75
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.tsx"],"names":[],"mappings":"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"}
|
package/lib/types/client.js
CHANGED
|
@@ -17,7 +17,7 @@ const dashboardCard = { border: '1px solid var(--dsw-alias-border-l2, rgba(255,2
|
|
|
17
17
|
const muted = { color: 'var(--dsw-text-secondary)', fontSize: 12 };
|
|
18
18
|
const toolColors = { verifier_route_classify: '#d97706', verifier_compare: '#4f8cff', verifier_select: '#8b6df6', verifier_track: '#2fc5c9', verifier_current_session: '#f5a524' };
|
|
19
19
|
function record(value) { return typeof value === 'object' && value !== null && !Array.isArray(value) ? value : {}; }
|
|
20
|
-
function values(view) { const v = record(view.value); const mode = v.autoVerifyMode === 'manual' || v.autoVerifyMode === 'strict' ? v.autoVerifyMode : 'smart'; return { enabled: v.enabled !== false, autoVerifyMode: mode, autoVerifyThreshold: Number(v.autoVerifyThreshold ?? .65), autoVerifyRepeats: Number(v.autoVerifyRepeats ?? 1), autoVerifyMinToolCalls: Number(v.autoVerifyMinToolCalls ?? 3), autoVerifyMaxChars: Number(v.autoVerifyMaxChars ?? 80000), autoVerifyMaxPerTask: Number(v.autoVerifyMaxPerTask ?? 2), autoVerifyMaxPerSession: Number(v.autoVerifyMaxPerSession ?? 8), autoRouteSemantic: v.autoRouteSemantic !== false, autoRouteMinConfidence: Number(v.autoRouteMinConfidence ?? .9), autoRouteMaxCandidates: Number(v.autoRouteMaxCandidates ?? 8), autoRouteMaxPerTask: Number(v.autoRouteMaxPerTask ?? 2), autoRouteMaxPerSession: Number(v.autoRouteMaxPerSession ?? 8), autoTrackCompletionThreshold: Number(v.autoTrackCompletionThreshold ?? .8), autoRouteMaxItemChars: Number(v.autoRouteMaxItemChars ?? 20000), autoRouteMaxInputChars: Number(v.autoRouteMaxInputChars ?? 60000), autoMaxModelCallsPerTask: Number(v.autoMaxModelCallsPerTask ?? 48), autoMaxModelCallsPerSession: Number(v.autoMaxModelCallsPerSession ?? 160), provider: String(v.provider ?? ''), model: String(v.model ?? ''), ...(typeof v.reasoningEffort === 'string' ? { reasoningEffort: v.reasoningEffort } : {}), maxTokens: Number(v.maxTokens ?? 32768), maxConcurrency: Number(v.maxConcurrency ?? 8), maxRetries: Number(v.maxRetries ?? 3), timeoutMs: Number(v.timeoutMs ?? 300000), cacheMaxEntries: Number(v.cacheMaxEntries ?? 10000), estimatedInputUsdPerMillion: Number(v.estimatedInputUsdPerMillion ?? 0), estimatedOutputUsdPerMillion: Number(v.estimatedOutputUsdPerMillion ?? 0) }; }
|
|
20
|
+
function values(view) { const v = record(view.value); const mode = v.autoVerifyMode === 'manual' || v.autoVerifyMode === 'strict' ? v.autoVerifyMode : 'smart'; return { enabled: v.enabled !== false, autoVerifyMode: mode, autoVerifyThreshold: Number(v.autoVerifyThreshold ?? .65), autoVerifyRepeats: Number(v.autoVerifyRepeats ?? 1), autoVerifyMinToolCalls: Number(v.autoVerifyMinToolCalls ?? 3), autoVerifyMaxChars: Number(v.autoVerifyMaxChars ?? 80000), autoVerifyMaxPerTask: Number(v.autoVerifyMaxPerTask ?? 2), autoVerifyMaxPerSession: Number(v.autoVerifyMaxPerSession ?? 8), autoRouteSemantic: v.autoRouteSemantic !== false, autoRouteMinConfidence: Number(v.autoRouteMinConfidence ?? .9), autoRouteMaxCandidates: Number(v.autoRouteMaxCandidates ?? 8), autoRouteMaxPerTask: Number(v.autoRouteMaxPerTask ?? 2), autoRouteMaxPerSession: Number(v.autoRouteMaxPerSession ?? 8), autoTrackCompletionThreshold: Number(v.autoTrackCompletionThreshold ?? .8), autoRouteMaxItemChars: Number(v.autoRouteMaxItemChars ?? 20000), autoRouteMaxInputChars: Number(v.autoRouteMaxInputChars ?? 60000), autoMaxModelCallsPerTask: Number(v.autoMaxModelCallsPerTask ?? 48), autoMaxModelCallsPerSession: Number(v.autoMaxModelCallsPerSession ?? 160), autoVerifyTeamTasks: v.autoVerifyTeamTasks !== false, autoVerifyPlanMode: v.autoVerifyPlanMode !== false, provider: String(v.provider ?? ''), model: String(v.model ?? ''), ...(typeof v.reasoningEffort === 'string' ? { reasoningEffort: v.reasoningEffort } : {}), maxTokens: Number(v.maxTokens ?? 32768), maxConcurrency: Number(v.maxConcurrency ?? 8), maxRetries: Number(v.maxRetries ?? 3), timeoutMs: Number(v.timeoutMs ?? 300000), cacheMaxEntries: Number(v.cacheMaxEntries ?? 10000), estimatedInputUsdPerMillion: Number(v.estimatedInputUsdPerMillion ?? 0), estimatedOutputUsdPerMillion: Number(v.estimatedOutputUsdPerMillion ?? 0) }; }
|
|
21
21
|
function message(error) { return error instanceof Error ? error.message : String(error); }
|
|
22
22
|
function Label({ title, help }) { return _jsxs("div", { style: { minWidth: 0 }, children: [_jsx("div", { style: { fontSize: 14, fontWeight: 400, lineHeight: '22px', color: 'var(--dsw-alias-label-primary)' }, children: title }), _jsx("div", { style: { fontSize: 12, lineHeight: '18px', color: 'var(--dsw-alias-label-tertiary)', marginTop: 2 }, children: help })] }); }
|
|
23
23
|
function GroupTitle({ children }) { return _jsx("h3", { style: groupTitle, children: children }); }
|
|
@@ -73,7 +73,7 @@ export function VerifierSettings({ remote }) {
|
|
|
73
73
|
if (!loaded || !draft)
|
|
74
74
|
return _jsxs("div", { style: shell, children: [_jsx("h2", { style: settingsHeading, children: t['settings.title'] }), _jsx("p", { style: settingsIntro, children: error ?? t['settings.loading'] }), error && _jsx("div", { children: _jsx(Button, { variant: "outline", onClick: () => void load(), children: t['settings.retry'] }) })] });
|
|
75
75
|
const numeric = (key, min = 0) => _jsx(Input, { style: { width: '100%', height: 36, borderRadius: 8 }, type: "number", min: min, value: String(draft[key]), onChange: e => patch(key, Number(e.target.value)) });
|
|
76
|
-
return _jsxs("div", { style: shell, children: [_jsx("h2", { style: settingsHeading, children: t['settings.title'] }), _jsx("p", { style: settingsIntro, children: t['settings.intro'] }), _jsxs("section", { style: group, children: [_jsx(GroupTitle, { children: t['section.tools'] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.enabled.title'], help: draft.enabled ? t['field.enabled.helpOn'] : t['field.enabled.helpOff'] }), _jsx("button", { type: "button", role: "switch", "aria-checked": draft.enabled, "aria-label": t['field.enabled.title'], onClick: () => patch('enabled', !draft.enabled), style: toggleStyle(draft.enabled), children: _jsx("span", { style: toggleThumbStyle(draft.enabled) }) })] }), !draft.enabled && _jsx("p", { style: { margin: '8px 0 0', fontSize: 12, lineHeight: '18px', color: 'var(--dsw-alias-state-warn-label)' }, children: t['field.enabled.warnDisabled'] })] }), _jsxs("section", { style: group, children: [_jsx(GroupTitle, { children: t['section.autoVerify'] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoVerifyMode.title'], help: t['field.autoVerifyMode.help'] }), _jsxs("select", { style: selectStyle, value: draft.autoVerifyMode, onChange: e => patch('autoVerifyMode', e.target.value), children: [_jsx("option", { value: "manual", children: t['field.autoVerifyMode.manual'] }), _jsx("option", { value: "smart", children: t['field.autoVerifyMode.smart'] }), _jsx("option", { value: "strict", children: t['field.autoVerifyMode.strict'] })] })] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoRouteSemantic.title'], help: t['field.autoRouteSemantic.help'] }), _jsx("button", { type: "button", role: "switch", "aria-checked": draft.autoRouteSemantic, "aria-label": t['field.autoRouteSemantic.title'], onClick: () => patch('autoRouteSemantic', !draft.autoRouteSemantic), style: toggleStyle(draft.autoRouteSemantic), children: _jsx("span", { style: toggleThumbStyle(draft.autoRouteSemantic) }) })] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoRouteMinConfidence.title'], help: t['field.autoRouteMinConfidence.help'] }), numeric('autoRouteMinConfidence', 0)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoRouteMaxCandidates.title'], help: t['field.autoRouteMaxCandidates.help'] }), numeric('autoRouteMaxCandidates', 3)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoRouteMaxPerTask.title'], help: t['field.autoRouteMaxPerTask.help'] }), numeric('autoRouteMaxPerTask', 1)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoRouteMaxPerSession.title'], help: t['field.autoRouteMaxPerSession.help'] }), numeric('autoRouteMaxPerSession', 1)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoTrackCompletionThreshold.title'], help: t['field.autoTrackCompletionThreshold.help'] }), numeric('autoTrackCompletionThreshold', 0)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoRouteMaxItemChars.title'], help: t['field.autoRouteMaxItemChars.help'] }), numeric('autoRouteMaxItemChars', 100)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoRouteMaxInputChars.title'], help: t['field.autoRouteMaxInputChars.help'] }), numeric('autoRouteMaxInputChars', 1000)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoMaxModelCallsPerTask.title'], help: t['field.autoMaxModelCallsPerTask.help'] }), numeric('autoMaxModelCallsPerTask', 1)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoMaxModelCallsPerSession.title'], help: t['field.autoMaxModelCallsPerSession.help'] }), numeric('autoMaxModelCallsPerSession', 1)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoVerifyThreshold.title'], help: t['field.autoVerifyThreshold.help'] }), numeric('autoVerifyThreshold', 0)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoVerifyRepeats.title'], help: t['field.autoVerifyRepeats.help'] }), numeric('autoVerifyRepeats', 1)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoVerifyMinToolCalls.title'], help: t['field.autoVerifyMinToolCalls.help'] }), numeric('autoVerifyMinToolCalls', 1)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoVerifyMaxChars.title'], help: t['field.autoVerifyMaxChars.help'] }), numeric('autoVerifyMaxChars', 1000)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoVerifyMaxPerTask.title'], help: t['field.autoVerifyMaxPerTask.help'] }), numeric('autoVerifyMaxPerTask', 1)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoVerifyMaxPerSession.title'], help: t['field.autoVerifyMaxPerSession.help'] }), numeric('autoVerifyMaxPerSession', 1)] }), draft.autoVerifyMode !== 'manual' && _jsx("p", { style: { margin: '8px 0 0', fontSize: 12, lineHeight: '18px', color: 'var(--dsw-alias-state-warn-label)' }, children: t['field.autoVerify.warnNotice'] })] }), _jsxs("section", { style: group, children: [_jsx(GroupTitle, { children: t['section.model'] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.provider.title'], help: t['field.provider.help'] }), _jsx("select", { style: selectStyle, value: draft.provider, onChange: e => { const provider = e.target.value; const first = loaded.groups.find(g => g.id === provider)?.models[0]; setDraft({ ...draft, provider, ...(first ? { model: first.id, reasoningEffort: first.reasoning?.defaultEffort } : {}) }); }, children: loaded.groups.map(g => _jsxs("option", { value: g.id, children: [g.name, " \u00B7 ", g.id] }, g.id)) })] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.model.title'], help: t['field.model.help'] }), _jsx("select", { style: selectStyle, value: draft.model, onChange: e => { const model = e.target.value; const found = models.find(m => m.id === model); setDraft({ ...draft, model, ...(found?.reasoning?.defaultEffort ? { reasoningEffort: found.reasoning.defaultEffort } : { reasoningEffort: undefined }) }); }, children: models.map(m => _jsxs("option", { value: m.id, children: [m.name, " \u00B7 ", m.id] }, m.id)) })] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.reasoningEffort.title'], help: t['field.reasoningEffort.help'] }), _jsxs("select", { style: selectStyle, value: draft.reasoningEffort ?? '', onChange: e => patch('reasoningEffort', e.target.value || undefined), children: [_jsx("option", { value: "", children: t['field.reasoningEffort.default'] }), efforts.map(e => _jsx("option", { value: e.id, children: e.name }, e.id))] })] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.maxTokens.title'], help: t['field.maxTokens.help'] }), numeric('maxTokens', 1)] })] }), _jsxs("section", { style: group, children: [_jsx(GroupTitle, { children: t['section.execution'] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.maxConcurrency.title'], help: t['field.maxConcurrency.help'] }), numeric('maxConcurrency', 1)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.maxRetries.title'], help: t['field.maxRetries.help'] }), numeric('maxRetries', 0)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.timeoutMs.title'], help: t['field.timeoutMs.help'] }), numeric('timeoutMs', 1)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.cacheMaxEntries.title'], help: t['field.cacheMaxEntries.help'] }), numeric('cacheMaxEntries', 1)] })] }), _jsxs("section", { style: group, children: [_jsx(GroupTitle, { children: t['section.cost'] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.estimatedInputUsdPerMillion.title'], help: t['field.estimatedInputUsdPerMillion.help'] }), numeric('estimatedInputUsdPerMillion', 0)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.estimatedOutputUsdPerMillion.title'], help: t['field.estimatedOutputUsdPerMillion.help'] }), numeric('estimatedOutputUsdPerMillion', 0)] })] }), loaded.failures.length > 0 && _jsxs("div", { style: { padding: '10px 12px', borderRadius: 8, background: 'var(--dsw-alias-state-warn-bg)', color: 'var(--dsw-alias-state-warn-label)', fontSize: 12, lineHeight: '18px' }, children: [_jsx("div", { style: { fontWeight: 500, marginBottom: 3 }, children: t['settings.catalogFailures'] }), loaded.failures.map(x => _jsx("div", { children: x }, x))] }), error && _jsx("p", { style: { margin: 0, fontSize: 12, lineHeight: '18px', color: 'var(--dsw-alias-state-error-primary)' }, children: error }), saved && _jsx("p", { style: { margin: 0, fontSize: 12, lineHeight: '18px', color: 'var(--dsw-alias-state-success-primary)' }, children: t['settings.saved'] }), _jsxs("div", { style: { display: 'flex', justifyContent: 'flex-end', gap: 8, paddingTop: 4 }, children: [_jsx(Button, { variant: "outline", disabled: busy, onClick: () => void load(), children: t['settings.reload'] }), _jsx(Button, { variant: "primary", disabled: busy || !loaded.writable, onClick: () => void save(), children: busy ? t['settings.saving'] : t['settings.save'] })] })] });
|
|
76
|
+
return _jsxs("div", { style: shell, children: [_jsx("h2", { style: settingsHeading, children: t['settings.title'] }), _jsx("p", { style: settingsIntro, children: t['settings.intro'] }), _jsxs("section", { style: group, children: [_jsx(GroupTitle, { children: t['section.tools'] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.enabled.title'], help: draft.enabled ? t['field.enabled.helpOn'] : t['field.enabled.helpOff'] }), _jsx("button", { type: "button", role: "switch", "aria-checked": draft.enabled, "aria-label": t['field.enabled.title'], onClick: () => patch('enabled', !draft.enabled), style: toggleStyle(draft.enabled), children: _jsx("span", { style: toggleThumbStyle(draft.enabled) }) })] }), !draft.enabled && _jsx("p", { style: { margin: '8px 0 0', fontSize: 12, lineHeight: '18px', color: 'var(--dsw-alias-state-warn-label)' }, children: t['field.enabled.warnDisabled'] })] }), _jsxs("section", { style: group, children: [_jsx(GroupTitle, { children: t['section.autoVerify'] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoVerifyMode.title'], help: t['field.autoVerifyMode.help'] }), _jsxs("select", { style: selectStyle, value: draft.autoVerifyMode, onChange: e => patch('autoVerifyMode', e.target.value), children: [_jsx("option", { value: "manual", children: t['field.autoVerifyMode.manual'] }), _jsx("option", { value: "smart", children: t['field.autoVerifyMode.smart'] }), _jsx("option", { value: "strict", children: t['field.autoVerifyMode.strict'] })] })] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoRouteSemantic.title'], help: t['field.autoRouteSemantic.help'] }), _jsx("button", { type: "button", role: "switch", "aria-checked": draft.autoRouteSemantic, "aria-label": t['field.autoRouteSemantic.title'], onClick: () => patch('autoRouteSemantic', !draft.autoRouteSemantic), style: toggleStyle(draft.autoRouteSemantic), children: _jsx("span", { style: toggleThumbStyle(draft.autoRouteSemantic) }) })] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoVerifyTeamTasks.title'], help: t['field.autoVerifyTeamTasks.help'] }), _jsx("button", { type: "button", role: "switch", "aria-checked": draft.autoVerifyTeamTasks, "aria-label": t['field.autoVerifyTeamTasks.title'], onClick: () => patch('autoVerifyTeamTasks', !(draft.autoVerifyTeamTasks)), style: toggleStyle(draft.autoVerifyTeamTasks), children: _jsx("span", { style: toggleThumbStyle(draft.autoVerifyTeamTasks) }) })] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoVerifyPlanMode.title'], help: t['field.autoVerifyPlanMode.help'] }), _jsx("button", { type: "button", role: "switch", "aria-checked": draft.autoVerifyPlanMode, "aria-label": t['field.autoVerifyPlanMode.title'], onClick: () => patch('autoVerifyPlanMode', !(draft.autoVerifyPlanMode)), style: toggleStyle(draft.autoVerifyPlanMode), children: _jsx("span", { style: toggleThumbStyle(draft.autoVerifyPlanMode) }) })] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoRouteMinConfidence.title'], help: t['field.autoRouteMinConfidence.help'] }), numeric('autoRouteMinConfidence', 0)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoRouteMaxCandidates.title'], help: t['field.autoRouteMaxCandidates.help'] }), numeric('autoRouteMaxCandidates', 3)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoRouteMaxPerTask.title'], help: t['field.autoRouteMaxPerTask.help'] }), numeric('autoRouteMaxPerTask', 1)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoRouteMaxPerSession.title'], help: t['field.autoRouteMaxPerSession.help'] }), numeric('autoRouteMaxPerSession', 1)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoTrackCompletionThreshold.title'], help: t['field.autoTrackCompletionThreshold.help'] }), numeric('autoTrackCompletionThreshold', 0)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoRouteMaxItemChars.title'], help: t['field.autoRouteMaxItemChars.help'] }), numeric('autoRouteMaxItemChars', 100)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoRouteMaxInputChars.title'], help: t['field.autoRouteMaxInputChars.help'] }), numeric('autoRouteMaxInputChars', 1000)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoMaxModelCallsPerTask.title'], help: t['field.autoMaxModelCallsPerTask.help'] }), numeric('autoMaxModelCallsPerTask', 1)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoMaxModelCallsPerSession.title'], help: t['field.autoMaxModelCallsPerSession.help'] }), numeric('autoMaxModelCallsPerSession', 1)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoVerifyThreshold.title'], help: t['field.autoVerifyThreshold.help'] }), numeric('autoVerifyThreshold', 0)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoVerifyRepeats.title'], help: t['field.autoVerifyRepeats.help'] }), numeric('autoVerifyRepeats', 1)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoVerifyMinToolCalls.title'], help: t['field.autoVerifyMinToolCalls.help'] }), numeric('autoVerifyMinToolCalls', 1)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoVerifyMaxChars.title'], help: t['field.autoVerifyMaxChars.help'] }), numeric('autoVerifyMaxChars', 1000)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoVerifyMaxPerTask.title'], help: t['field.autoVerifyMaxPerTask.help'] }), numeric('autoVerifyMaxPerTask', 1)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.autoVerifyMaxPerSession.title'], help: t['field.autoVerifyMaxPerSession.help'] }), numeric('autoVerifyMaxPerSession', 1)] }), draft.autoVerifyMode !== 'manual' && _jsx("p", { style: { margin: '8px 0 0', fontSize: 12, lineHeight: '18px', color: 'var(--dsw-alias-state-warn-label)' }, children: t['field.autoVerify.warnNotice'] })] }), _jsxs("section", { style: group, children: [_jsx(GroupTitle, { children: t['section.model'] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.provider.title'], help: t['field.provider.help'] }), _jsx("select", { style: selectStyle, value: draft.provider, onChange: e => { const provider = e.target.value; const first = loaded.groups.find(g => g.id === provider)?.models[0]; setDraft({ ...draft, provider, ...(first ? { model: first.id, reasoningEffort: first.reasoning?.defaultEffort } : {}) }); }, children: loaded.groups.map(g => _jsxs("option", { value: g.id, children: [g.name, " \u00B7 ", g.id] }, g.id)) })] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.model.title'], help: t['field.model.help'] }), _jsx("select", { style: selectStyle, value: draft.model, onChange: e => { const model = e.target.value; const found = models.find(m => m.id === model); setDraft({ ...draft, model, ...(found?.reasoning?.defaultEffort ? { reasoningEffort: found.reasoning.defaultEffort } : { reasoningEffort: undefined }) }); }, children: models.map(m => _jsxs("option", { value: m.id, children: [m.name, " \u00B7 ", m.id] }, m.id)) })] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.reasoningEffort.title'], help: t['field.reasoningEffort.help'] }), _jsxs("select", { style: selectStyle, value: draft.reasoningEffort ?? '', onChange: e => patch('reasoningEffort', e.target.value || undefined), children: [_jsx("option", { value: "", children: t['field.reasoningEffort.default'] }), efforts.map(e => _jsx("option", { value: e.id, children: e.name }, e.id))] })] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.maxTokens.title'], help: t['field.maxTokens.help'] }), numeric('maxTokens', 1)] })] }), _jsxs("section", { style: group, children: [_jsx(GroupTitle, { children: t['section.execution'] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.maxConcurrency.title'], help: t['field.maxConcurrency.help'] }), numeric('maxConcurrency', 1)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.maxRetries.title'], help: t['field.maxRetries.help'] }), numeric('maxRetries', 0)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.timeoutMs.title'], help: t['field.timeoutMs.help'] }), numeric('timeoutMs', 1)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.cacheMaxEntries.title'], help: t['field.cacheMaxEntries.help'] }), numeric('cacheMaxEntries', 1)] })] }), _jsxs("section", { style: group, children: [_jsx(GroupTitle, { children: t['section.cost'] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.estimatedInputUsdPerMillion.title'], help: t['field.estimatedInputUsdPerMillion.help'] }), numeric('estimatedInputUsdPerMillion', 0)] }), _jsxs("div", { style: row, children: [_jsx(Label, { title: t['field.estimatedOutputUsdPerMillion.title'], help: t['field.estimatedOutputUsdPerMillion.help'] }), numeric('estimatedOutputUsdPerMillion', 0)] })] }), loaded.failures.length > 0 && _jsxs("div", { style: { padding: '10px 12px', borderRadius: 8, background: 'var(--dsw-alias-state-warn-bg)', color: 'var(--dsw-alias-state-warn-label)', fontSize: 12, lineHeight: '18px' }, children: [_jsx("div", { style: { fontWeight: 500, marginBottom: 3 }, children: t['settings.catalogFailures'] }), loaded.failures.map(x => _jsx("div", { children: x }, x))] }), error && _jsx("p", { style: { margin: 0, fontSize: 12, lineHeight: '18px', color: 'var(--dsw-alias-state-error-primary)' }, children: error }), saved && _jsx("p", { style: { margin: 0, fontSize: 12, lineHeight: '18px', color: 'var(--dsw-alias-state-success-primary)' }, children: t['settings.saved'] }), _jsxs("div", { style: { display: 'flex', justifyContent: 'flex-end', gap: 8, paddingTop: 4 }, children: [_jsx(Button, { variant: "outline", disabled: busy, onClick: () => void load(), children: t['settings.reload'] }), _jsx(Button, { variant: "primary", disabled: busy || !loaded.writable, onClick: () => void save(), children: busy ? t['settings.saving'] : t['settings.save'] })] })] });
|
|
77
77
|
}
|
|
78
78
|
function Metric({ label, value, note, accent }) {
|
|
79
79
|
return _jsxs("div", { style: { ...dashboardCard, padding: '16px 18px', minWidth: 0 }, children: [_jsx("div", { style: muted, children: label }), _jsx("div", { style: { fontSize: 25, fontWeight: 750, lineHeight: 1.2, margin: '7px 0 5px', color: accent }, children: value }), _jsx("div", { style: { ...muted, overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }, children: note })] });
|
|
@@ -96,23 +96,106 @@ function TrendChart({ daily, days, lang }) {
|
|
|
96
96
|
const barWidth = Math.max(3, Math.min(18, innerW / Math.max(rows.length, 1) * .55));
|
|
97
97
|
return _jsxs("div", { style: { width: '100%', overflowX: 'auto' }, children: [_jsxs("svg", { viewBox: `0 0 ${width} ${height}`, style: { display: 'block', width: '100%', minWidth: 620, height: 'auto' }, "aria-label": t['chart.ariaLabel'], children: [[0, .25, .5, .75, 1].map(ratio => _jsxs("g", { children: [_jsx("line", { x1: pad.l, x2: width - pad.r, y1: pad.t + innerH * ratio, y2: pad.t + innerH * ratio, stroke: "rgba(148,163,184,.16)" }), _jsx("text", { x: pad.l - 8, y: pad.t + innerH * ratio + 4, textAnchor: "end", fontSize: "10", fill: "var(--dsw-text-secondary)", children: Math.round(max * (1 - ratio)) })] }, ratio)), rows.map((row, index) => _jsx("rect", { x: x(index) - barWidth / 2, y: y(row.invocations), width: barWidth, height: pad.t + innerH - y(row.invocations), rx: "2", fill: "#4f8cff", opacity: ".82" }, row.date)), _jsx("polyline", { points: points, fill: "none", stroke: "#5ed7e8", strokeWidth: "2.4", strokeLinejoin: "round", strokeLinecap: "round" }), rows.map((row, index) => index % step === 0 || index === rows.length - 1 ? _jsxs("text", { x: x(index), y: height - 14, textAnchor: "middle", fontSize: "10", fill: "var(--dsw-text-secondary)", children: [Number(row.date.slice(5, 7)), "/", Number(row.date.slice(8, 10))] }, row.date) : null)] }), _jsxs("div", { style: { display: 'flex', justifyContent: 'center', gap: 18, ...muted }, children: [_jsxs("span", { children: [_jsx("i", { style: { display: 'inline-block', width: 8, height: 8, borderRadius: 2, background: '#4f8cff', marginRight: 6 } }), t['chart.legendToolCalls']] }), _jsxs("span", { children: [_jsx("i", { style: { display: 'inline-block', width: 14, height: 2, background: '#5ed7e8', marginRight: 6, verticalAlign: 'middle' } }), t['chart.legendModelCalls']] })] })] });
|
|
98
98
|
}
|
|
99
|
-
export function StatisticsPage({ sessionId, rpc }) {
|
|
99
|
+
export function StatisticsPage({ sessionId, rpc, isGlobal }) {
|
|
100
100
|
const lang = useLanguage();
|
|
101
101
|
const t = dictionaries[lang];
|
|
102
102
|
const labels = toolLabels[lang];
|
|
103
103
|
const [days, setDays] = useState(30);
|
|
104
|
-
const [sessionOnly, setSessionOnly] = useState(
|
|
104
|
+
const [sessionOnly, setSessionOnly] = useState(!isGlobal && Boolean(sessionId));
|
|
105
105
|
const [data, setData] = useState(null);
|
|
106
106
|
const [loading, setLoading] = useState(true);
|
|
107
107
|
const [error, setError] = useState(null);
|
|
108
108
|
const [refresh, setRefresh] = useState(0);
|
|
109
|
-
useEffect(() => {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
setError(
|
|
113
|
-
|
|
109
|
+
useEffect(() => {
|
|
110
|
+
const controller = new AbortController();
|
|
111
|
+
setLoading(true);
|
|
112
|
+
setError(null);
|
|
113
|
+
const effectiveSessionId = sessionOnly && sessionId ? String(sessionId) : undefined;
|
|
114
|
+
const queryPayload = {
|
|
115
|
+
fromMs: startOfRange(days),
|
|
116
|
+
toMs: endOfToday(),
|
|
117
|
+
timezoneOffsetMinutes: new Date().getTimezoneOffset(),
|
|
118
|
+
recentLimit: 50,
|
|
119
|
+
...(effectiveSessionId ? { sessionId: effectiveSessionId } : {}),
|
|
120
|
+
};
|
|
121
|
+
const fetchOverview = async () => {
|
|
122
|
+
if (rpc && typeof rpc.call === 'function') {
|
|
123
|
+
try {
|
|
124
|
+
const result = await rpc.call('/api', 'llm-verifier/statistics', queryPayload, controller.signal);
|
|
125
|
+
if (result && result.ok) {
|
|
126
|
+
return result.value;
|
|
127
|
+
}
|
|
128
|
+
if (result && result.ok === false) {
|
|
129
|
+
throw new Error(result.error?.message ?? t['stats.requestFailed']);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
catch (rpcError) {
|
|
133
|
+
if (controller.signal.aborted)
|
|
134
|
+
throw rpcError;
|
|
135
|
+
console.warn('[llm-verifier] rpc.call failed, trying fetch fallback:', rpcError);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
try {
|
|
139
|
+
const response = await fetch('/api/llm-verifier/statistics', {
|
|
140
|
+
method: 'POST',
|
|
141
|
+
headers: { 'content-type': 'application/json' },
|
|
142
|
+
body: JSON.stringify(queryPayload),
|
|
143
|
+
signal: controller.signal,
|
|
144
|
+
});
|
|
145
|
+
if (!response.ok) {
|
|
146
|
+
throw new Error(`HTTP ${response.status}: ${response.statusText || t['stats.requestFailed']}`);
|
|
147
|
+
}
|
|
148
|
+
const data = await response.json();
|
|
149
|
+
if (data && data.ok === true) {
|
|
150
|
+
return data.value;
|
|
151
|
+
}
|
|
152
|
+
if (data && data.type === 'server-response' && data.result?.ok === true) {
|
|
153
|
+
return data.result.value;
|
|
154
|
+
}
|
|
155
|
+
throw new Error(data?.error?.message ?? data?.result?.error?.message ?? t['stats.requestFailed']);
|
|
156
|
+
}
|
|
157
|
+
catch (fetchError) {
|
|
158
|
+
if (controller.signal.aborted)
|
|
159
|
+
throw fetchError;
|
|
160
|
+
// Hosts without the exact Fetch route registry only answer on the plugin's own channel.
|
|
161
|
+
if (rpc && typeof rpc.call === 'function') {
|
|
162
|
+
const legacy = await rpc.call('/llm-verifier', 'statistics', queryPayload, controller.signal);
|
|
163
|
+
if (legacy && legacy.ok)
|
|
164
|
+
return legacy.value;
|
|
165
|
+
}
|
|
166
|
+
throw fetchError;
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
void fetchOverview()
|
|
170
|
+
.then(overview => {
|
|
171
|
+
setData(overview);
|
|
172
|
+
})
|
|
173
|
+
.catch((cause) => {
|
|
174
|
+
if (!controller.signal.aborted)
|
|
175
|
+
setError(message(cause));
|
|
176
|
+
})
|
|
177
|
+
.finally(() => {
|
|
178
|
+
if (!controller.signal.aborted)
|
|
179
|
+
setLoading(false);
|
|
180
|
+
});
|
|
181
|
+
return () => controller.abort();
|
|
182
|
+
}, [days, sessionOnly, sessionId, refresh, rpc, t]);
|
|
114
183
|
const totals = data?.totals;
|
|
115
|
-
return _jsx("main", { style: { height: '100%', overflow: 'auto', boxSizing: 'border-box', padding: '22px clamp(16px, 3vw, 38px) 48px', color: 'var(--dsw-text-primary)', background: 'radial-gradient(circle at 10% 0%, rgba(115,77,255,.09), transparent 32%), radial-gradient(circle at 100% 8%, rgba(47,197,201,.07), transparent 28%)' }, children: _jsxs("div", { style: { maxWidth: 1180, margin: '0 auto', display: 'flex', flexDirection: 'column', gap: 16 }, children: [_jsxs("header", { style: { display: 'flex', justifyContent: 'space-between', alignItems: 'flex-start', gap: 16, flexWrap: 'wrap' }, children: [_jsxs("div", { children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 10 }, children: [_jsx("span", { style: { display: 'grid', placeItems: 'center', width: 34, height: 34, borderRadius: 10, background: 'rgba(79,140,255,.14)', color: '#6da0ff' }, children: _jsx(IconDataOutline16, { size: 18 }) }), _jsx("h2", { style: { margin: 0, fontSize: 23 }, children: t['stats.pageTitle'] })] }), _jsx("p", { style: { margin: '7px 0 0 44px', ...muted }, children: tFormat(t['stats.updatedAt'], { time: data ? dateTime(data.generatedAt, lang) : '--' }) })] }), _jsxs("div", { style: { display: 'flex', gap: 8, alignItems: 'center', flexWrap: 'wrap' }, children: [_jsx("div", { style: { display: 'flex', padding: 3, borderRadius: 10, background: 'var(--dsw-surface-sunken)', border: '1px solid var(--dsw-alias-border-l2, rgba(255,255,255,.12))' }, children: [7, 30, 90].map(value => _jsx("button", { onClick: () => setDays(value), style: { border: 0, borderRadius: 7, padding: '6px 10px', cursor: 'pointer', color: days === value ? '#fff' : 'var(--dsw-text-secondary)', background: days === value ? '#3f68d8' : 'transparent' }, children: tFormat(t['stats.daysUnit'], { days: value }) }, value)) }), _jsx("button", { onClick: () => setSessionOnly(value => !value), style: { border: '1px solid var(--dsw-alias-border-l2, rgba(255,255,255,.15))', borderRadius: 9, padding: '7px 11px', cursor: 'pointer', color: 'var(--dsw-text-primary)', background: sessionOnly ? 'rgba(79,140,255,.18)' : 'var(--dsw-surface-sunken)' }, children: sessionOnly ? t['stats.currentSession'] : t['stats.allSessions'] }), _jsx("button", { title: t['stats.refresh'], onClick: () => setRefresh(value => value + 1), style: { display: 'grid', placeItems: 'center', width: 34, height: 34, borderRadius: 9, border: '1px solid var(--dsw-alias-border-l2, rgba(255,255,255,.15))', color: 'var(--dsw-text-primary)', background: 'var(--dsw-surface-sunken)', cursor: 'pointer' }, children: _jsx(IconRefreshOutline16, { size: 16 }) })] })] }), error && _jsxs("div", { style: { ...dashboardCard, padding: 18, borderColor: 'var(--dsw-danger, #e85858)', color: 'var(--dsw-danger, #e85858)' }, children: [error, _jsx("div", { style: { ...muted, marginTop: 6 }, children: t['stats.hostRestartHint'] })] }), loading && !data ? _jsx("div", { style: { ...dashboardCard, padding: 32, textAlign: 'center', ...muted }, children: t['stats.loading'] }) : _jsxs(_Fragment, { children: [_jsxs("section", { style: { ...dashboardCard, padding: '22px 24px', display: 'grid', gridTemplateColumns: 'minmax(220px,1.4fr) minmax(240px,1fr)', gap: 24, alignItems: 'center' }, children: [_jsxs("div", { children: [_jsx("div", { style: muted, children: tFormat(t['stats.costSummary'], { days }) }), _jsx("div", { style: { fontSize: 38, fontWeight: 780, letterSpacing: '-.03em', margin: '5px 0' }, children: money(totals?.estimatedCostUsd ?? 0) }), _jsx("div", { style: muted, children: tFormat(t['stats.callsSummary'], { invocations: compact(totals?.invocations ?? 0, lang), calls: compact(totals?.calls ?? 0, lang) }) })] }), _jsxs("div", { style: { display: 'grid', gridTemplateColumns: '1fr auto', gap: '9px 16px', fontSize: 13 }, children: [_jsx("span", { style: muted, children: t['stats.successCalls'] }), _jsxs("strong", { children: [compact(totals?.successes ?? 0, lang), " ", _jsxs("small", { style: { color: '#77d49b' }, children: ["\u25B2 ", ((totals?.successRate ?? 0) * 100).toFixed(1), "%"] })] }), _jsx("span", { style: muted, children: t['stats.failedCalls'] }), _jsx("strong", { children: compact(totals?.failures ?? 0, lang) }), _jsx("span", { style: muted, children: t['stats.avgDuration'] }), _jsx("strong", { children: duration(totals?.averageDurationMs ?? 0) })] })] }), _jsxs("section", { style: { display: 'grid', gridTemplateColumns: 'repeat(auto-fit,minmax(180px,1fr))', gap: 12 }, children: [_jsx(Metric, { label: t['metric.cacheHitRate'], value: ((totals?.cacheHitRate ?? 0) * 100).toFixed(1) + '%', note: tFormat(t['metric.cacheHitNote'], { hits: compact(totals?.cacheHits ?? 0, lang), total: compact((totals?.cacheHits ?? 0) + (totals?.cacheMisses ?? 0), lang) }), accent: "#b7dd64" }), _jsx(Metric, { label: t['metric.tokens'], value: compact(totals?.tokens ?? 0, lang), note: tFormat(t['metric.tokensNote'], { input: compact((totals?.inputTokens ?? 0) + (totals?.cachedInputTokens ?? 0), lang), output: compact(totals?.outputTokens ?? 0, lang) }) }), _jsx(Metric, { label: t['metric.avgModelCalls'], value: (totals?.invocations ?? 0) > 0 ? ((totals?.calls ?? 0) / (totals?.invocations ?? 1)).toFixed(1) : '0', note: tFormat(t['metric.avgModelCallsNote'], { attempts: compact(totals?.attempts ?? 0, lang), retries: compact(totals?.retries ?? 0, lang) }) }), _jsx(Metric, { label: t['metric.scoringMode'], value: compact(totals?.topLogprobScores ?? 0, lang), note: tFormat(t['metric.scoringModeNote'], { explicit: compact(totals?.explicitTagScores ?? 0, lang) }) })] }), _jsxs("section", { style: { ...dashboardCard, padding: '18px 20px 16px' }, children: [_jsxs("div", { style: { display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginBottom: 4 }, children: [_jsx("strong", { children: t['chart.title'] }), _jsx("span", { style: muted, children: sessionOnly ? t['stats.currentSession'] : t['stats.allSessions'] })] }), _jsx(TrendChart, { daily: data?.daily ?? [], days: days, lang: lang })] }), _jsxs("section", { style: { ...dashboardCard, padding: '18px 18px 8px', overflow: 'hidden' }, children: [_jsxs("div", { style: { display: 'flex', justifyContent: 'space-between', margin: '0 2px 12px' }, children: [_jsx("strong", { children: t['table.title'] }), _jsx("span", { style: muted, children: tFormat(t['table.toolCount'], { count: data?.tools.length ?? 0 }) })] }), _jsx("div", { style: { overflowX: 'auto' }, children: _jsxs("table", { style: { width: '100%', borderCollapse: 'collapse', fontSize: 13, minWidth: 760 }, children: [_jsx("thead", { children: _jsx("tr", { style: { textAlign: 'left', color: 'var(--dsw-text-secondary)', background: 'var(--dsw-surface-sunken)' }, children: [t['table.colTool'], t['table.colInvocations'], t['table.colSuccessRate'], t['table.colAvgDuration'], t['table.colModelCalls'], t['table.colTokens'], t['table.colCacheHits'], t['table.colEstimatedCost']].map(value => _jsx("th", { style: { padding: '10px 12px', fontWeight: 500 }, children: value }, value)) }) }), _jsxs("tbody", { children: [(data?.tools ?? []).map(tool => _jsxs("tr", { style: { borderTop: '1px solid var(--dsw-alias-border-l2, rgba(255,255,255,.1))' }, children: [_jsxs("td", { style: { padding: '13px 12px' }, children: [_jsx("span", { style: { display: 'inline-block', width: 8, height: 8, borderRadius: '50%', background: toolColors[tool.toolName] ?? '#8691a8', marginRight: 8 } }), _jsx("strong", { children: labels[tool.toolName] ?? tool.toolName }), _jsx("div", { style: { ...muted, margin: '3px 0 0 16px' }, children: tool.toolName })] }), _jsx("td", { style: { padding: '13px 12px' }, children: compact(tool.invocations, lang) }), _jsxs("td", { style: { padding: '13px 12px', color: tool.successRate >= .9 ? '#77d49b' : tool.successRate >= .7 ? '#e3bd63' : '#ed7777' }, children: [(tool.successRate * 100).toFixed(1), "%"] }), _jsx("td", { style: { padding: '13px 12px' }, children: duration(tool.averageDurationMs) }), _jsx("td", { style: { padding: '13px 12px' }, children: compact(tool.calls, lang) }), _jsx("td", { style: { padding: '13px 12px' }, children: compact(tool.tokens, lang) }), _jsxs("td", { style: { padding: '13px 12px' }, children: [tool.cacheHits, "/", tool.cacheHits + tool.cacheMisses] }), _jsx("td", { style: { padding: '13px 12px' }, children: money(tool.estimatedCostUsd) })] }, tool.toolName)), (data?.tools.length ?? 0) === 0 && _jsx("tr", { children: _jsx("td", { colSpan: 8, style: { padding: 28, textAlign: 'center', ...muted }, children: t['table.empty'] }) })] })] }) })] }), _jsxs("section", { style: { display: 'grid', gridTemplateColumns: 'minmax(0,1fr) minmax(290px,.45fr)', gap: 16, alignItems: 'start' }, children: [_jsxs("div", { style: { ...dashboardCard, padding: '18px 18px 8px', overflow: 'hidden' }, children: [_jsxs("div", { style: { display: 'flex', justifyContent: 'space-between', margin: '0 2px 12px' }, children: [_jsx("strong", { children: t['recent.title'] }), _jsx("span", { style: muted, children: t['recent.maxCount'] })] }), _jsxs("div", { style: { maxHeight: 360, overflow: 'auto' }, children: [(data?.recent ?? []).map(item => _jsxs("div", { style: { display: 'grid', gridTemplateColumns: 'minmax(170px,1fr) auto', gap: 12, padding: '11px 8px', borderTop: '1px solid var(--dsw-alias-border-l2, rgba(255,255,255,.1))' }, children: [_jsxs("div", { children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 8 }, children: [_jsx("span", { style: { width: 7, height: 7, borderRadius: '50%', background: item.success ? '#59c985' : '#e76565' } }), _jsx("strong", { style: { fontSize: 13 }, children: labels[item.toolName] ?? item.toolName }), _jsxs("span", { style: muted, children: [item.provider, "/", item.model] })] }), !item.success && _jsx("div", { title: item.errorMessage, style: { margin: '5px 0 0 15px', fontSize: 11, color: '#e76565', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }, children: item.errorMessage ?? item.errorName })] }), _jsxs("div", { style: { textAlign: 'right' }, children: [_jsx("div", { style: { fontSize: 12 }, children: duration(item.durationMs) }), _jsx("div", { style: { ...muted, marginTop: 3 }, children: dateTime(item.startedAt, lang) })] })] }, item.id)), (data?.recent.length ?? 0) === 0 && _jsx("div", { style: { padding: 24, textAlign: 'center', ...muted }, children: t['recent.empty'] })] })] }), _jsxs("div", { style: { ...dashboardCard, padding: '18px' }, children: [_jsx("strong", { children: t['models.title'] }), _jsxs("div", { style: { marginTop: 10, display: 'flex', flexDirection: 'column', gap: 10 }, children: [(data?.models ?? []).map(model => _jsxs("div", { style: { padding: '11px 12px', borderRadius: 10, background: 'var(--dsw-surface-sunken)' }, children: [_jsx("div", { style: { fontWeight: 650, fontSize: 13, overflow: 'hidden', textOverflow: 'ellipsis' }, children: model.model }), _jsx("div", { style: { ...muted, marginTop: 3 }, children: model.provider }), _jsxs("div", { style: { display: 'flex', justifyContent: 'space-between', marginTop: 9, fontSize: 12 }, children: [_jsx("span", { children: tFormat(t['models.calls'], { calls: compact(model.calls, lang) }) }), _jsx("span", { children: tFormat(t['models.tokens'], { tokens: compact(model.tokens, lang) }) }), _jsx("strong", { children: money(model.estimatedCostUsd) })] })] }, model.provider + '\0' + model.model)), (data?.models.length ?? 0) === 0 && _jsx("div", { style: muted, children: t['models.empty'] })] })] })] })] })] }) });
|
|
184
|
+
return _jsx("main", { style: { height: '100%', overflow: 'auto', boxSizing: 'border-box', padding: '22px clamp(16px, 3vw, 38px) 48px', color: 'var(--dsw-text-primary)', background: 'radial-gradient(circle at 10% 0%, rgba(115,77,255,.09), transparent 32%), radial-gradient(circle at 100% 8%, rgba(47,197,201,.07), transparent 28%)' }, children: _jsxs("div", { style: { maxWidth: 1180, margin: '0 auto', display: 'flex', flexDirection: 'column', gap: 16 }, children: [_jsxs("header", { style: { display: 'flex', justifyContent: 'space-between', alignItems: 'flex-start', gap: 16, flexWrap: 'wrap' }, children: [_jsxs("div", { children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 10 }, children: [_jsx("span", { style: { display: 'grid', placeItems: 'center', width: 34, height: 34, borderRadius: 10, background: 'rgba(79,140,255,.14)', color: '#6da0ff' }, children: _jsx(IconDataOutline16, { size: 18 }) }), _jsx("h2", { style: { margin: 0, fontSize: 23 }, children: isGlobal ? t['global.panelTitle'] : t['stats.pageTitle'] })] }), _jsx("p", { style: { margin: '7px 0 0 44px', ...muted }, children: isGlobal ? t['global.panelIntro'] : tFormat(t['stats.updatedAt'], { time: data ? dateTime(data.generatedAt, lang) : '--' }) })] }), _jsxs("div", { style: { display: 'flex', gap: 8, alignItems: 'center', flexWrap: 'wrap' }, children: [_jsx("div", { style: { display: 'flex', padding: 3, borderRadius: 10, background: 'var(--dsw-surface-sunken)', border: '1px solid var(--dsw-alias-border-l2, rgba(255,255,255,.12))' }, children: [7, 30, 90].map(value => _jsx("button", { onClick: () => setDays(value), style: { border: 0, borderRadius: 7, padding: '6px 10px', cursor: 'pointer', color: days === value ? '#fff' : 'var(--dsw-text-secondary)', background: days === value ? '#3f68d8' : 'transparent' }, children: tFormat(t['stats.daysUnit'], { days: value }) }, value)) }), Boolean(sessionId) && _jsx("button", { onClick: () => setSessionOnly(value => !value), style: { border: '1px solid var(--dsw-alias-border-l2, rgba(255,255,255,.15))', borderRadius: 9, padding: '7px 11px', cursor: 'pointer', color: 'var(--dsw-text-primary)', background: sessionOnly ? 'rgba(79,140,255,.18)' : 'var(--dsw-surface-sunken)' }, children: sessionOnly ? t['stats.currentSession'] : t['stats.allSessions'] }), _jsx("button", { title: t['stats.refresh'], onClick: () => setRefresh(value => value + 1), style: { display: 'grid', placeItems: 'center', width: 34, height: 34, borderRadius: 9, border: '1px solid var(--dsw-alias-border-l2, rgba(255,255,255,.15))', color: 'var(--dsw-text-primary)', background: 'var(--dsw-surface-sunken)', cursor: 'pointer' }, children: _jsx(IconRefreshOutline16, { size: 16 }) })] })] }), error && _jsxs("div", { style: { ...dashboardCard, padding: 18, borderColor: 'var(--dsw-danger, #e85858)', color: 'var(--dsw-danger, #e85858)' }, children: [error, _jsx("div", { style: { ...muted, marginTop: 6 }, children: t['stats.hostRestartHint'] })] }), loading && !data ? _jsx("div", { style: { ...dashboardCard, padding: 32, textAlign: 'center', ...muted }, children: t['stats.loading'] }) : _jsxs(_Fragment, { children: [_jsxs("section", { style: { ...dashboardCard, padding: '22px 24px', display: 'grid', gridTemplateColumns: 'minmax(220px,1.4fr) minmax(240px,1fr)', gap: 24, alignItems: 'center' }, children: [_jsxs("div", { children: [_jsx("div", { style: muted, children: tFormat(t['stats.costSummary'], { days }) }), _jsx("div", { style: { fontSize: 38, fontWeight: 780, letterSpacing: '-.03em', margin: '5px 0' }, children: money(totals?.estimatedCostUsd ?? 0) }), _jsx("div", { style: muted, children: tFormat(t['stats.callsSummary'], { invocations: compact(totals?.invocations ?? 0, lang), calls: compact(totals?.calls ?? 0, lang) }) })] }), _jsxs("div", { style: { display: 'grid', gridTemplateColumns: '1fr auto', gap: '9px 16px', fontSize: 13 }, children: [_jsx("span", { style: muted, children: t['stats.successCalls'] }), _jsxs("strong", { children: [compact(totals?.successes ?? 0, lang), " ", _jsxs("small", { style: { color: '#77d49b' }, children: ["\u25B2 ", ((totals?.successRate ?? 0) * 100).toFixed(1), "%"] })] }), _jsx("span", { style: muted, children: t['stats.failedCalls'] }), _jsx("strong", { children: compact(totals?.failures ?? 0, lang) }), _jsx("span", { style: muted, children: t['stats.avgDuration'] }), _jsx("strong", { children: duration(totals?.averageDurationMs ?? 0) })] })] }), _jsxs("section", { style: { display: 'grid', gridTemplateColumns: 'repeat(auto-fit,minmax(180px,1fr))', gap: 12 }, children: [_jsx(Metric, { label: t['metric.cacheHitRate'], value: ((totals?.cacheHitRate ?? 0) * 100).toFixed(1) + '%', note: tFormat(t['metric.cacheHitNote'], { hits: compact(totals?.cacheHits ?? 0, lang), total: compact((totals?.cacheHits ?? 0) + (totals?.cacheMisses ?? 0), lang) }), accent: "#b7dd64" }), _jsx(Metric, { label: t['metric.tokens'], value: compact(totals?.tokens ?? 0, lang), note: tFormat(t['metric.tokensNote'], { input: compact((totals?.inputTokens ?? 0) + (totals?.cachedInputTokens ?? 0), lang), output: compact(totals?.outputTokens ?? 0, lang) }) }), _jsx(Metric, { label: t['metric.avgModelCalls'], value: (totals?.invocations ?? 0) > 0 ? ((totals?.calls ?? 0) / (totals?.invocations ?? 1)).toFixed(1) : '0', note: tFormat(t['metric.avgModelCallsNote'], { attempts: compact(totals?.attempts ?? 0, lang), retries: compact(totals?.retries ?? 0, lang) }) }), _jsx(Metric, { label: t['metric.scoringMode'], value: compact(totals?.topLogprobScores ?? 0, lang), note: tFormat(t['metric.scoringModeNote'], { explicit: compact(totals?.explicitTagScores ?? 0, lang) }) })] }), _jsxs("section", { style: { ...dashboardCard, padding: '18px 20px 16px' }, children: [_jsxs("div", { style: { display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginBottom: 4 }, children: [_jsx("strong", { children: t['chart.title'] }), _jsx("span", { style: muted, children: sessionOnly ? t['stats.currentSession'] : t['stats.allSessions'] })] }), _jsx(TrendChart, { daily: data?.daily ?? [], days: days, lang: lang })] }), _jsxs("section", { style: { ...dashboardCard, padding: '18px 18px 8px', overflow: 'hidden' }, children: [_jsxs("div", { style: { display: 'flex', justifyContent: 'space-between', margin: '0 2px 12px' }, children: [_jsx("strong", { children: t['table.title'] }), _jsx("span", { style: muted, children: tFormat(t['table.toolCount'], { count: data?.tools.length ?? 0 }) })] }), _jsx("div", { style: { overflowX: 'auto' }, children: _jsxs("table", { style: { width: '100%', borderCollapse: 'collapse', fontSize: 13, minWidth: 760 }, children: [_jsx("thead", { children: _jsx("tr", { style: { textAlign: 'left', color: 'var(--dsw-text-secondary)', background: 'var(--dsw-surface-sunken)' }, children: [t['table.colTool'], t['table.colInvocations'], t['table.colSuccessRate'], t['table.colAvgDuration'], t['table.colModelCalls'], t['table.colTokens'], t['table.colCacheHits'], t['table.colEstimatedCost']].map(value => _jsx("th", { style: { padding: '10px 12px', fontWeight: 500 }, children: value }, value)) }) }), _jsxs("tbody", { children: [(data?.tools ?? []).map(tool => _jsxs("tr", { style: { borderTop: '1px solid var(--dsw-alias-border-l2, rgba(255,255,255,.1))' }, children: [_jsxs("td", { style: { padding: '13px 12px' }, children: [_jsx("span", { style: { display: 'inline-block', width: 8, height: 8, borderRadius: '50%', background: toolColors[tool.toolName] ?? '#8691a8', marginRight: 8 } }), _jsx("strong", { children: labels[tool.toolName] ?? tool.toolName }), _jsx("div", { style: { ...muted, margin: '3px 0 0 16px' }, children: tool.toolName })] }), _jsx("td", { style: { padding: '13px 12px' }, children: compact(tool.invocations, lang) }), _jsxs("td", { style: { padding: '13px 12px', color: tool.successRate >= .9 ? '#77d49b' : tool.successRate >= .7 ? '#e3bd63' : '#ed7777' }, children: [(tool.successRate * 100).toFixed(1), "%"] }), _jsx("td", { style: { padding: '13px 12px' }, children: duration(tool.averageDurationMs) }), _jsx("td", { style: { padding: '13px 12px' }, children: compact(tool.calls, lang) }), _jsx("td", { style: { padding: '13px 12px' }, children: compact(tool.tokens, lang) }), _jsxs("td", { style: { padding: '13px 12px' }, children: [tool.cacheHits, "/", tool.cacheHits + tool.cacheMisses] }), _jsx("td", { style: { padding: '13px 12px' }, children: money(tool.estimatedCostUsd) })] }, tool.toolName)), (data?.tools.length ?? 0) === 0 && _jsx("tr", { children: _jsx("td", { colSpan: 8, style: { padding: 28, textAlign: 'center', ...muted }, children: t['table.empty'] }) })] })] }) })] }), _jsxs("section", { style: { display: 'grid', gridTemplateColumns: 'minmax(0,1fr) minmax(290px,.45fr)', gap: 16, alignItems: 'start' }, children: [_jsxs("div", { style: { ...dashboardCard, padding: '18px 18px 8px', overflow: 'hidden' }, children: [_jsxs("div", { style: { display: 'flex', justifyContent: 'space-between', margin: '0 2px 12px' }, children: [_jsx("strong", { children: t['recent.title'] }), _jsx("span", { style: muted, children: t['recent.maxCount'] })] }), _jsxs("div", { style: { maxHeight: 360, overflow: 'auto' }, children: [(data?.recent ?? []).map(item => _jsxs("div", { style: { display: 'grid', gridTemplateColumns: 'minmax(170px,1fr) auto', gap: 12, padding: '11px 8px', borderTop: '1px solid var(--dsw-alias-border-l2, rgba(255,255,255,.1))' }, children: [_jsxs("div", { children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 8 }, children: [_jsx("span", { style: { width: 7, height: 7, borderRadius: '50%', background: item.success ? '#59c985' : '#e76565' } }), _jsx("strong", { style: { fontSize: 13 }, children: labels[item.toolName] ?? item.toolName }), _jsxs("span", { style: muted, children: [item.provider, "/", item.model] })] }), !item.success && _jsx("div", { title: item.errorMessage, style: { margin: '5px 0 0 15px', fontSize: 11, color: '#e76565', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }, children: item.errorMessage ?? item.errorName })] }), _jsxs("div", { style: { textAlign: 'right' }, children: [_jsx("div", { style: { fontSize: 12 }, children: duration(item.durationMs) }), _jsx("div", { style: { ...muted, marginTop: 3 }, children: dateTime(item.startedAt, lang) })] })] }, item.id)), (data?.recent.length ?? 0) === 0 && _jsx("div", { style: { padding: 24, textAlign: 'center', ...muted }, children: t['recent.empty'] })] })] }), _jsxs("div", { style: { ...dashboardCard, padding: '18px' }, children: [_jsx("strong", { children: t['models.title'] }), _jsxs("div", { style: { marginTop: 10, display: 'flex', flexDirection: 'column', gap: 10 }, children: [(data?.models ?? []).map(model => _jsxs("div", { style: { padding: '11px 12px', borderRadius: 10, background: 'var(--dsw-surface-sunken)' }, children: [_jsx("div", { style: { fontWeight: 650, fontSize: 13, overflow: 'hidden', textOverflow: 'ellipsis' }, children: model.model }), _jsx("div", { style: { ...muted, marginTop: 3 }, children: model.provider }), _jsxs("div", { style: { display: 'flex', justifyContent: 'space-between', marginTop: 9, fontSize: 12 }, children: [_jsx("span", { children: tFormat(t['models.calls'], { calls: compact(model.calls, lang) }) }), _jsx("span", { children: tFormat(t['models.tokens'], { tokens: compact(model.tokens, lang) }) }), _jsx("strong", { children: money(model.estimatedCostUsd) })] })] }, model.provider + '\0' + model.model)), (data?.models.length ?? 0) === 0 && _jsx("div", { style: muted, children: t['models.empty'] })] })] })] })] })] }) });
|
|
185
|
+
}
|
|
186
|
+
export function VerifierSidebarIcon({ size, active }) {
|
|
187
|
+
return _jsx("span", { style: { display: 'inline-flex', alignItems: 'center', justifyContent: 'center', width: size, height: size, color: active ? 'var(--dsw-alias-brand-primary, #4f8cff)' : 'currentColor' }, children: _jsx(IconDataOutline16, { size: Math.min(18, size) }) });
|
|
188
|
+
}
|
|
189
|
+
export function GlobalVerifierDashboard({ rpc }) {
|
|
190
|
+
return _jsx(StatisticsPage, { rpc: rpc, isGlobal: true });
|
|
191
|
+
}
|
|
192
|
+
export function RightSidebarVerifierPanel({ rpc, sessionId }) {
|
|
193
|
+
return (_jsx("div", { style: { height: '100%', overflow: 'hidden', display: 'flex', flexDirection: 'column' }, children: _jsx(StatisticsPage, { rpc: rpc, sessionId: sessionId }) }));
|
|
194
|
+
}
|
|
195
|
+
export function RightSidebarVerifierTitle() {
|
|
196
|
+
const lang = useLanguage();
|
|
197
|
+
const t = dictionaries[lang];
|
|
198
|
+
return _jsx("span", { style: { fontSize: 13, fontWeight: 500 }, children: t['slot.statistics'] });
|
|
116
199
|
}
|
|
117
200
|
export const inject = ['slots', 'connection', 'remote', 'remote.session', 'remote.settings'];
|
|
118
201
|
export function apply(ctx) {
|
|
@@ -132,5 +215,49 @@ export function apply(ctx) {
|
|
|
132
215
|
label: detectLanguage() === 'zh' ? zh['slot.statistics'] : en['slot.statistics'],
|
|
133
216
|
inject: () => ({ rpc: connection.rpc }),
|
|
134
217
|
}, StatisticsPage));
|
|
218
|
+
const VERIFIER_TAB_KIND = 'llm-verifier';
|
|
219
|
+
const VERIFIER_TAB_ID = 'dsh-llm-verifier';
|
|
220
|
+
const registerRightSidebar = (tabs) => {
|
|
221
|
+
if (!tabs || typeof tabs.register !== 'function')
|
|
222
|
+
return;
|
|
223
|
+
try {
|
|
224
|
+
tabs.register({
|
|
225
|
+
id: VERIFIER_TAB_ID,
|
|
226
|
+
kind: VERIFIER_TAB_KIND,
|
|
227
|
+
priority: 'extension',
|
|
228
|
+
title: () => (detectLanguage() === 'zh' ? zh['slot.statistics'] : en['slot.statistics']),
|
|
229
|
+
guide: [{
|
|
230
|
+
order: 45,
|
|
231
|
+
title: () => (detectLanguage() === 'zh' ? zh['guide.verifier.title'] : en['guide.verifier.title']),
|
|
232
|
+
description: () => (detectLanguage() === 'zh' ? zh['guide.verifier.desc'] : en['guide.verifier.desc']),
|
|
233
|
+
icon: VerifierSidebarIcon,
|
|
234
|
+
}],
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
catch { }
|
|
238
|
+
};
|
|
239
|
+
const existingTabs = typeof ctx.get === 'function' ? ctx.get('sidebarRightTabs') : undefined;
|
|
240
|
+
if (existingTabs) {
|
|
241
|
+
registerRightSidebar(existingTabs);
|
|
242
|
+
}
|
|
243
|
+
if (typeof ctx.inject === 'function') {
|
|
244
|
+
try {
|
|
245
|
+
ctx.inject(['sidebarRightTabs'], (subCtx) => {
|
|
246
|
+
const subTabs = typeof subCtx?.get === 'function' ? subCtx.get('sidebarRightTabs') : subCtx?.sidebarRightTabs;
|
|
247
|
+
if (subTabs)
|
|
248
|
+
registerRightSidebar(subTabs);
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
catch { }
|
|
252
|
+
}
|
|
253
|
+
ctx.slots.inject('sidebar.right.pane.tab', () => ctx.slots.register({
|
|
254
|
+
name: 'sidebar.right.pane.tab',
|
|
255
|
+
key: VERIFIER_TAB_ID,
|
|
256
|
+
inject: () => ({ rpc: connection.rpc }),
|
|
257
|
+
}, RightSidebarVerifierPanel));
|
|
258
|
+
ctx.slots.inject('sidebar.right.pane.tab.title', () => ctx.slots.register({
|
|
259
|
+
name: 'sidebar.right.pane.tab.title',
|
|
260
|
+
key: VERIFIER_TAB_ID,
|
|
261
|
+
}, RightSidebarVerifierTitle));
|
|
135
262
|
}
|
|
136
263
|
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.tsx"],"names":[],"mappings":"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"}
|
package/lib/types/config.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ export interface Config {
|
|
|
21
21
|
autoRouteMaxInputChars?: number;
|
|
22
22
|
autoMaxModelCallsPerTask?: number;
|
|
23
23
|
autoMaxModelCallsPerSession?: number;
|
|
24
|
+
autoVerifyTeamTasks?: boolean;
|
|
25
|
+
autoVerifyPlanMode?: boolean;
|
|
24
26
|
provider?: string;
|
|
25
27
|
model?: string;
|
|
26
28
|
reasoningEffort?: string;
|
|
@@ -53,6 +55,8 @@ export interface ResolvedConfig {
|
|
|
53
55
|
autoRouteMaxInputChars: number;
|
|
54
56
|
autoMaxModelCallsPerTask: number;
|
|
55
57
|
autoMaxModelCallsPerSession: number;
|
|
58
|
+
autoVerifyTeamTasks: boolean;
|
|
59
|
+
autoVerifyPlanMode: boolean;
|
|
56
60
|
provider: string;
|
|
57
61
|
model: string;
|
|
58
62
|
reasoningEffort?: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
|