@meridianlabs/inspect-scout-viewer 0.4.39 → 0.4.40
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/lib/{AsciinemaPlayerImpl-6ZAkt1g5.js → AsciinemaPlayerImpl-CsvrGGFj.js} +22 -22
- package/lib/{AsciinemaPlayerImpl-6ZAkt1g5.js.map → AsciinemaPlayerImpl-CsvrGGFj.js.map} +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +23728 -22835
- package/lib/index.js.map +1 -1
- package/lib/src/app/components/ScoreValue.d.ts +1 -1
- package/lib/src/app/hooks/useEnsureVisibleScannerResults.d.ts +16 -0
- package/lib/src/app/server/useSearches.d.ts +2 -2
- package/lib/src/app/transcript/SearchPanel.d.ts +1 -1
- package/lib/src/app/transcript/hooks/useTranscriptColumnFilter.d.ts +1 -1
- package/lib/src/debugging/navigationDebugging.d.ts +1 -1
- package/lib/src/icons.d.ts +0 -1
- package/lib/src/main.d.ts +1 -0
- package/lib/src/router/url.d.ts +0 -2
- package/lib/src/state/userSettings.d.ts +4 -2
- package/lib/src/theme/ThemeToggleControl.d.ts +7 -0
- package/lib/src/theme/bootstrap.d.ts +0 -5
- package/lib/src/theme/constants.d.ts +1 -0
- package/lib/src/types/generated.d.ts +62 -5
- package/lib/styles/index.css +3687 -304
- package/package.json +21 -24
- package/lib/src/app/settings/SettingsPanel.d.ts +0 -2
- package/lib/src/theme/resolveTheme.d.ts +0 -19
|
@@ -8,5 +8,5 @@ interface ScoreProps {
|
|
|
8
8
|
expandable?: boolean;
|
|
9
9
|
}
|
|
10
10
|
export declare const ScoreValue: FC<ScoreProps>;
|
|
11
|
-
export declare const renderScore: (value: JsonValue, maxRows?: number, expandable?: boolean) => string | import("react
|
|
11
|
+
export declare const renderScore: (value: JsonValue, maxRows?: number, expandable?: boolean) => string | import("react").JSX.Element;
|
|
12
12
|
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ensure `visibleScannerResults` is populated when a scanner-result page is
|
|
3
|
+
* opened directly (deep link or page reload).
|
|
4
|
+
*
|
|
5
|
+
* `visibleScannerResults` is normally written only by ScannerResultsList, which
|
|
6
|
+
* renders under the scan-list route (ScanPanel). On a direct result URL the
|
|
7
|
+
* router renders ScannerResultPanel instead, so that list never mounts and the
|
|
8
|
+
* store keeps its empty default — which leaves ScannerResultNav with no items
|
|
9
|
+
* to page through and hides it entirely (ScannerResultPanel gates the nav on
|
|
10
|
+
* `visibleScannerResults.length > 0`).
|
|
11
|
+
*
|
|
12
|
+
* This seeds the store from the active scan's summaries the same way the list
|
|
13
|
+
* does, but only while it's empty, so it never overrides the list view's
|
|
14
|
+
* filtered/sorted set during in-app navigation.
|
|
15
|
+
*/
|
|
16
|
+
export declare const useEnsureVisibleScannerResults: () => void;
|
|
@@ -28,7 +28,7 @@ export declare const useCreateSearch: (params: SearchParams) => import('@tanstac
|
|
|
28
28
|
id: string;
|
|
29
29
|
result: import('../../types/generated').components["schemas"]["Result"];
|
|
30
30
|
}, Error, SearchRequest, unknown>;
|
|
31
|
-
export declare const useCachedSearchResult: (params: CachedSearchResultParams) => import('@tanstack/react-query').UseQueryResult<{
|
|
31
|
+
export declare const useCachedSearchResult: (params: CachedSearchResultParams) => import('@tanstack/react-query').UseQueryResult<NoInfer<{
|
|
32
32
|
answer?: string | null;
|
|
33
33
|
explanation?: string | null;
|
|
34
34
|
label?: string | null;
|
|
@@ -39,5 +39,5 @@ export declare const useCachedSearchResult: (params: CachedSearchResultParams) =
|
|
|
39
39
|
type?: string | null;
|
|
40
40
|
uuid?: string | null;
|
|
41
41
|
value: import('../../types/generated').components["schemas"]["JsonValue"];
|
|
42
|
-
} | null
|
|
42
|
+
} | null>, Error>;
|
|
43
43
|
export {};
|
|
@@ -5,5 +5,5 @@ type SearchPanelProps = {
|
|
|
5
5
|
transcriptId: string;
|
|
6
6
|
onClose: () => void;
|
|
7
7
|
};
|
|
8
|
-
export declare const SearchPanel: (props: SearchPanelProps) => import("react
|
|
8
|
+
export declare const SearchPanel: (props: SearchPanelProps) => import("react").JSX.Element;
|
|
9
9
|
export {};
|
|
@@ -7,5 +7,5 @@ export declare const useTranscriptColumnFilter: () => {
|
|
|
7
7
|
setDefaultFilter: () => void;
|
|
8
8
|
setDebugFilter: () => void;
|
|
9
9
|
toggleEventType: (type: EventTypeValue, isCurrentlyExcluded: boolean) => void;
|
|
10
|
-
arrangedEventTypes: (columns?: number) => ("anchor" | "error" | "input" | "tool" | "state" | "step" | "
|
|
10
|
+
arrangedEventTypes: (columns?: number) => ("anchor" | "error" | "input" | "tool" | "state" | "step" | "approval" | "branch" | "checkpoint" | "compaction" | "model" | "sandbox" | "info" | "store" | "logger" | "span_begin" | "span_end" | "interrupt" | "sample_init" | "sample_limit" | "score_edit" | "score" | "subtask")[];
|
|
11
11
|
};
|
|
@@ -3,6 +3,6 @@ export declare const navigationLog: (description: string) => void;
|
|
|
3
3
|
type LoggingNavigateProps = NavigateProps & {
|
|
4
4
|
reason: string;
|
|
5
5
|
};
|
|
6
|
-
export declare const LoggingNavigate: ({ reason, ...props }: LoggingNavigateProps) => import("react
|
|
6
|
+
export declare const LoggingNavigate: ({ reason, ...props }: LoggingNavigateProps) => import("react").JSX.Element;
|
|
7
7
|
export declare const useLoggingNavigate: (description: string) => NavigateFunction;
|
|
8
8
|
export {};
|
package/lib/src/icons.d.ts
CHANGED
package/lib/src/main.d.ts
CHANGED
package/lib/src/router/url.d.ts
CHANGED
|
@@ -6,7 +6,6 @@ export declare const kScanResultRouteUrlPattern = "/scan/:scansDir/*/*";
|
|
|
6
6
|
export declare const kTranscriptsRouteUrlPattern = "/transcripts";
|
|
7
7
|
export declare const kProjectRouteUrlPattern = "/project";
|
|
8
8
|
export declare const kValidationRouteUrlPattern = "/validation";
|
|
9
|
-
export declare const kSettingsRouteUrlPattern = "/settings";
|
|
10
9
|
export declare const kTranscriptDetailRoute = "/transcripts/:transcriptsDir/:transcriptId";
|
|
11
10
|
export declare const kTranscriptDetailRouteUrlPattern: RegExp;
|
|
12
11
|
export declare const kScanIdPattern: RegExp;
|
|
@@ -21,7 +20,6 @@ export declare const scanResultRoute: (scansDir: string, scanRelativePath: strin
|
|
|
21
20
|
export declare const transcriptsRoute: (searchParams?: URLSearchParams) => string;
|
|
22
21
|
export declare const projectRoute: () => string;
|
|
23
22
|
export declare const validationRoute: () => string;
|
|
24
|
-
export declare const settingsRoute: () => string;
|
|
25
23
|
export declare const transcriptRoute: (transcriptsDir: string, transcriptId: string, searchParams?: URLSearchParams, validationSetUri?: string) => string;
|
|
26
24
|
/**
|
|
27
25
|
* Validates if a path matches the scan_id pattern.
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import { ThemePreference } from '@tsmono/theme/bootstrap';
|
|
2
|
+
import { SETTINGS_STORAGE_KEY } from '../theme/constants';
|
|
3
|
+
export type { ThemePreference };
|
|
4
|
+
export { SETTINGS_STORAGE_KEY };
|
|
1
5
|
export interface ColumnPreset {
|
|
2
6
|
name: string;
|
|
3
7
|
columns: string[];
|
|
4
8
|
}
|
|
5
|
-
export type ThemePreference = "system" | "light" | "dark";
|
|
6
9
|
interface UserSettingsState {
|
|
7
10
|
dataframeColumnPresets: ColumnPreset[];
|
|
8
11
|
themePreference: ThemePreference;
|
|
@@ -25,4 +28,3 @@ export declare const useUserSettings: import('zustand').UseBoundStore<Omit<impor
|
|
|
25
28
|
getOptions: () => Partial<import('zustand/middleware').PersistOptions<UserSettingsState, unknown, unknown>>;
|
|
26
29
|
};
|
|
27
30
|
}>;
|
|
28
|
-
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Binds the shared ThemeToggle to scout's zustand-persisted preference.
|
|
4
|
+
* Scout's App.tsx already re-applies the theme whenever themePreference
|
|
5
|
+
* changes (useThemePreferenceSync), so this only has to write the store.
|
|
6
|
+
*/
|
|
7
|
+
export declare const ThemeToggleControl: FC;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const SETTINGS_STORAGE_KEY = "inspect-scout-user-settings";
|
|
@@ -957,6 +957,7 @@ export interface components {
|
|
|
957
957
|
logprobs?: components["schemas"]["Logprobs"] | null;
|
|
958
958
|
message: components["schemas"]["ChatMessageAssistant"];
|
|
959
959
|
prompt_logprobs?: components["schemas"]["Logprobs"] | null;
|
|
960
|
+
stop_details?: components["schemas"]["StopDetails"] | null;
|
|
960
961
|
/**
|
|
961
962
|
* Stop Reason
|
|
962
963
|
* @default unknown
|
|
@@ -1113,7 +1114,7 @@ export interface components {
|
|
|
1113
1114
|
* Trigger
|
|
1114
1115
|
* @enum {string}
|
|
1115
1116
|
*/
|
|
1116
|
-
trigger: "time" | "turn" | "manual" | "token" | "cost" | "budget";
|
|
1117
|
+
trigger: "time" | "turn" | "manual" | "token" | "cost" | "budget" | "agent_complete";
|
|
1117
1118
|
/** Turn */
|
|
1118
1119
|
turn: number;
|
|
1119
1120
|
/** Uuid */
|
|
@@ -1131,12 +1132,10 @@ export interface components {
|
|
|
1131
1132
|
* also accepted at the task and eval layers (where they participate in
|
|
1132
1133
|
* the per-field merge — precedence: eval > sample > task).
|
|
1133
1134
|
*
|
|
1134
|
-
* The fields excluded from this base class — ``
|
|
1135
|
-
* ``retention`` — are eval-wide concerns that the sample layer must
|
|
1135
|
+
* The fields excluded from this base class — ``checkpoints_location``
|
|
1136
|
+
* and ``retention`` — are eval-wide concerns that the sample layer must
|
|
1136
1137
|
* not influence. They live only on the derived :class:`CheckpointConfig`,
|
|
1137
1138
|
* which is the type used at the task and eval layers.
|
|
1138
|
-
*
|
|
1139
|
-
* See ``design/plans/checkpointing-working.md`` §2.
|
|
1140
1139
|
*/
|
|
1141
1140
|
CheckpointSampleConfig: {
|
|
1142
1141
|
/** Max Consecutive Failures */
|
|
@@ -1566,6 +1565,8 @@ export interface components {
|
|
|
1566
1565
|
extra_headers?: {
|
|
1567
1566
|
[key: string]: string;
|
|
1568
1567
|
} | null;
|
|
1568
|
+
/** Fallback Models */
|
|
1569
|
+
fallback_models?: string[] | null;
|
|
1569
1570
|
/** Frequency Penalty */
|
|
1570
1571
|
frequency_penalty?: number | null;
|
|
1571
1572
|
/** Internal Tools */
|
|
@@ -1649,6 +1650,8 @@ export interface components {
|
|
|
1649
1650
|
extra_headers?: {
|
|
1650
1651
|
[key: string]: string;
|
|
1651
1652
|
} | null;
|
|
1653
|
+
/** Fallback Models */
|
|
1654
|
+
fallback_models?: string[] | null;
|
|
1652
1655
|
/** Frequency Penalty */
|
|
1653
1656
|
frequency_penalty?: number | null;
|
|
1654
1657
|
/** Internal Tools */
|
|
@@ -2323,6 +2326,25 @@ export interface components {
|
|
|
2323
2326
|
/** Working Time */
|
|
2324
2327
|
working_time?: number | null;
|
|
2325
2328
|
};
|
|
2329
|
+
/**
|
|
2330
|
+
* ModelFallback
|
|
2331
|
+
* @description A model fallback (request served by a different model than requested).
|
|
2332
|
+
*/
|
|
2333
|
+
ModelFallback: {
|
|
2334
|
+
/**
|
|
2335
|
+
* Count
|
|
2336
|
+
* @default 1
|
|
2337
|
+
*/
|
|
2338
|
+
count: number;
|
|
2339
|
+
/** Fallback Model */
|
|
2340
|
+
fallback_model: string;
|
|
2341
|
+
/** Metadata */
|
|
2342
|
+
metadata?: {
|
|
2343
|
+
[key: string]: unknown;
|
|
2344
|
+
} | null;
|
|
2345
|
+
/** Model */
|
|
2346
|
+
model: string;
|
|
2347
|
+
};
|
|
2326
2348
|
/**
|
|
2327
2349
|
* ModelOutput
|
|
2328
2350
|
* @description Output from model generation.
|
|
@@ -2340,6 +2362,7 @@ export interface components {
|
|
|
2340
2362
|
completion: string;
|
|
2341
2363
|
/** Error */
|
|
2342
2364
|
error?: string | null;
|
|
2365
|
+
fallback?: components["schemas"]["ModelFallback"] | null;
|
|
2343
2366
|
/** Metadata */
|
|
2344
2367
|
metadata?: {
|
|
2345
2368
|
[key: string]: unknown;
|
|
@@ -3363,8 +3386,12 @@ export interface components {
|
|
|
3363
3386
|
* from restic's backup summary — see :class:`ResticBackupSummary`.
|
|
3364
3387
|
*/
|
|
3365
3388
|
SnapshotDetails: {
|
|
3389
|
+
/** Additional Files */
|
|
3390
|
+
additional_files?: number | null;
|
|
3366
3391
|
/** Duration Ms */
|
|
3367
3392
|
duration_ms: number;
|
|
3393
|
+
/** Files */
|
|
3394
|
+
files?: string[] | null;
|
|
3368
3395
|
/** Size Bytes */
|
|
3369
3396
|
size_bytes: number;
|
|
3370
3397
|
/** Snapshot Id */
|
|
@@ -3511,6 +3538,36 @@ export interface components {
|
|
|
3511
3538
|
/** Working Start */
|
|
3512
3539
|
working_start: number;
|
|
3513
3540
|
};
|
|
3541
|
+
/**
|
|
3542
|
+
* StopCategory
|
|
3543
|
+
* @description A single refusal/safety category reported by (or derived for) a model stop.
|
|
3544
|
+
*/
|
|
3545
|
+
StopCategory: {
|
|
3546
|
+
/** Category */
|
|
3547
|
+
category: string;
|
|
3548
|
+
/** Level */
|
|
3549
|
+
level?: string | null;
|
|
3550
|
+
};
|
|
3551
|
+
/**
|
|
3552
|
+
* StopDetails
|
|
3553
|
+
* @description Additional detail about why a model stopped generating (e.g. a content refusal).
|
|
3554
|
+
*
|
|
3555
|
+
* `categories` is the canonical list (always iterable; a single-category provider
|
|
3556
|
+
* appears as one entry). `category` and `explanation` are a convenience high-level
|
|
3557
|
+
* summary derived from the same data — `category` is the primary category and
|
|
3558
|
+
* `explanation` is human-readable (synthesized from `categories` when the provider
|
|
3559
|
+
* supplies no text). Read either way; both describe the same stop.
|
|
3560
|
+
*/
|
|
3561
|
+
StopDetails: {
|
|
3562
|
+
/** Categories */
|
|
3563
|
+
categories: components["schemas"]["StopCategory"][];
|
|
3564
|
+
/** Category */
|
|
3565
|
+
category?: string | null;
|
|
3566
|
+
/** Explanation */
|
|
3567
|
+
explanation?: string | null;
|
|
3568
|
+
/** Type */
|
|
3569
|
+
type?: string | null;
|
|
3570
|
+
};
|
|
3514
3571
|
/**
|
|
3515
3572
|
* StoreEvent
|
|
3516
3573
|
* @description Change to data within the current `Store`.
|