@metrevals/inspect-scout-viewer 0.3.2-beta.1764377954 → 0.3.2-beta.1764711188

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.
@@ -2,7 +2,7 @@ import { GridState } from 'ag-grid-community';
2
2
  import { ColumnTable } from 'arquero';
3
3
  import { StateSnapshot } from 'react-virtuoso';
4
4
  import { ScanApi } from '../api/api';
5
- import { ErrorScope, ScannerCore, SortColumn } from '../app/types';
5
+ import { ErrorScope, ResultGroup, ScannerCore, SortColumn } from '../app/types';
6
6
  import { Status } from '../types';
7
7
  interface StoreState {
8
8
  singleFileMode?: boolean;
@@ -17,6 +17,7 @@ interface StoreState {
17
17
  selectedScanLocation?: string;
18
18
  selectedScanStatus?: Status;
19
19
  visibleScannerResults: ScannerCore[];
20
+ visibleScannerResultsCount: number;
20
21
  selectedScanResult?: string;
21
22
  properties: Record<string, Record<string, unknown> | undefined>;
22
23
  scrollPositions: Record<string, number>;
@@ -33,11 +34,12 @@ interface StoreState {
33
34
  selectedResultsView?: string;
34
35
  selectedFilter?: string;
35
36
  showingRefPopover?: string;
36
- groupResultsBy?: "source" | "label" | "none";
37
+ groupResultsBy?: ResultGroup;
37
38
  sortResults?: SortColumn[];
38
39
  scansSearchText?: string;
39
40
  highlightLabeled?: boolean;
40
41
  selectedResultRow?: number;
42
+ dataframeWrapText?: boolean;
41
43
  transcriptCollapsedEvents: Record<string, Record<string, boolean>>;
42
44
  transcriptOutlineId?: string;
43
45
  setSingleFileMode: (enabled: boolean) => void;
@@ -60,6 +62,7 @@ interface StoreState {
60
62
  setSelectedScanResultPreviews: (scanner?: string, previews?: ScannerCore[]) => void;
61
63
  getSelectedScanResultPreviews: (scanner?: string) => ScannerCore[] | undefined;
62
64
  setVisibleScannerResults: (results: ScannerCore[]) => void;
65
+ setVisibleScannerResultsCount: (count: number) => void;
63
66
  clearScanState: () => void;
64
67
  clearScansState: () => void;
65
68
  setPropertyValue: <T>(id: string, propertyName: string, value: T) => void;
@@ -93,11 +96,12 @@ interface StoreState {
93
96
  setSelectedFilter: (filter: string) => void;
94
97
  setShowingRefPopover: (popoverKey: string) => void;
95
98
  clearShowingRefPopover: () => void;
96
- setGroupResultsBy: (groupBy: "source" | "label" | "none") => void;
99
+ setGroupResultsBy: (groupBy: ResultGroup) => void;
97
100
  setSortResults: (sortColumns?: SortColumn[]) => void;
98
101
  setScansSearchText: (text: string) => void;
99
102
  setHighlightLabeled: (highlight: boolean) => void;
100
103
  setSelectedResultRow: (row: number) => void;
104
+ setDataframeWrapText: (wrap: boolean) => void;
101
105
  }
102
106
  export declare const createStore: (api: ScanApi) => import('zustand').UseBoundStore<Omit<Omit<Omit<import('zustand').StoreApi<StoreState>, "setState" | "devtools"> & {
103
107
  setState(partial: StoreState | Partial<StoreState> | ((state: StoreState) => StoreState | Partial<StoreState>), replace?: false | undefined, action?: (string | {
@@ -3951,8 +3951,27 @@ span.ap-marker-container:hover span.ap-marker {
3951
3951
  height: 100%;
3952
3952
  overflow-y: auto;
3953
3953
  }
3954
- ._boolean_xgip4_1 {
3955
- font-family: "Consola Regular";
3954
+ ._result_f18wg_1 {
3955
+ display: inline-flex;
3956
+ justify-content: center;
3957
+ align-items: center;
3958
+ border-radius: 5px;
3959
+ padding: 8px;
3960
+ width: 2rem;
3961
+ height: 1rem;
3962
+ font-size: 0.7rem;
3963
+ }
3964
+
3965
+ ._true_f18wg_12 {
3966
+ border: solid var(--bs-success) 1px;
3967
+ color: var(--bs-success);
3968
+ }
3969
+
3970
+ ._false_f18wg_17 {
3971
+ border: solid var(--bs-danger) 1px;
3972
+ color: var(--bs-danger);
3973
+ }
3974
+ ._boolean_1uivt_1 {
3956
3975
  display: inline-flex;
3957
3976
  justify-content: center;
3958
3977
  align-items: center;
@@ -3960,59 +3979,77 @@ span.ap-marker-container:hover span.ap-marker {
3960
3979
  padding: 8px;
3961
3980
  width: 2.5rem;
3962
3981
  height: 1rem;
3982
+ font-size: 0.7rem;
3963
3983
  }
3964
3984
 
3965
- ._true_xgip4_12 {
3985
+ ._true_1uivt_12 {
3966
3986
  background-color: var(--bs-success);
3967
- border-color: var(--bs-success);
3987
+ border: solid var(--bs-success) 1px;
3968
3988
  color: var(--bs-body-bg);
3969
3989
  }
3970
3990
 
3971
- ._false_xgip4_18 {
3991
+ ._false_1uivt_18 {
3972
3992
  background-color: var(--bs-danger);
3973
- border-color: var(--bs-danger);
3993
+ border: solid var(--bs-danger) 1px;
3974
3994
  color: var(--bs-body-bg);
3975
3995
  }
3976
3996
 
3977
- ._valueTable_xgip4_24 {
3997
+ ._valueTable_1uivt_24 {
3978
3998
  display: grid;
3979
- grid-template-columns: auto auto;
3999
+ grid-template-columns: max-content auto;
3980
4000
  column-gap: 1rem;
3981
4001
  row-gap: 0rem;
3982
4002
  }
3983
4003
 
3984
- ._inline_xgip4_31 ._valueValue_xgip4_31 {
4004
+ ._inline_1uivt_31 ._valueValue_1uivt_31 {
3985
4005
  white-space: nowrap;
3986
4006
  overflow: hidden;
3987
4007
  text-overflow: ellipsis;
3988
4008
  }
3989
4009
 
3990
- ._inline_xgip4_31 ._valueValue_xgip4_31 p {
4010
+ ._inline_1uivt_31 ._valueValue_1uivt_31 p {
3991
4011
  white-space: nowrap;
3992
4012
  overflow: hidden;
3993
4013
  text-overflow: ellipsis;
3994
4014
  }
3995
4015
 
3996
- pre._value_xgip4_24 {
4016
+ pre._value_1uivt_24 {
3997
4017
  margin: 0;
3998
4018
  }
3999
- ._container_1cyb4_1 {
4019
+ ._container_15a30_1 {
4000
4020
  padding: 1rem;
4001
4021
  }
4002
4022
 
4003
- ._colspan_1cyb4_5 {
4023
+ ._colspan_15a30_5 {
4004
4024
  grid-column: span 2;
4005
4025
  }
4006
4026
 
4007
- ._explanation_1cyb4_9 {
4027
+ ._explanation_15a30_9 {
4008
4028
  display: grid;
4009
4029
  grid-template-columns: max-content 1fr;
4010
4030
  column-gap: 1rem;
4011
4031
  row-gap: 0.75rem;
4012
4032
  }
4013
4033
 
4014
- ._scanValue_1cyb4_16 {
4034
+ ._scanValue_15a30_16 {
4035
+ padding-right: 0.5rem;
4036
+ }
4037
+
4038
+ ._values_15a30_20 {
4039
+ display: grid;
4040
+ grid-template-columns: max-content auto;
4041
+ column-gap: 0.5rem;
4042
+ }
4043
+
4044
+ ._validation_15a30_26 {
4045
+ margin-left: 1rem;
4046
+ display: grid;
4047
+ grid-template-columns: max-content max-content;
4048
+ }
4049
+
4050
+ ._validationLabel_15a30_32 {
4015
4051
  padding-right: 0.5rem;
4052
+ margin-top: 2px;
4016
4053
  }
4017
4054
  ._header_ph0sv_1 {
4018
4055
  padding-left: 1rem;
@@ -4299,20 +4336,29 @@ button._segment_19z32_10 {
4299
4336
  margin-right: 0.3em;
4300
4337
  margin-left: 0.2em;
4301
4338
  }
4302
- ._gridWrapper_yeano_1 {
4339
+ ._gridWrapper_bykj9_1 {
4303
4340
  height: 100%;
4304
4341
  width: 100%;
4305
4342
  }
4306
4343
 
4307
4344
  /* Hide sort index numbers in multi-column sort */
4308
- ._gridWrapper_yeano_1 .ag-header-cell .ag-sort-order {
4345
+ ._gridWrapper_bykj9_1 .ag-header-cell .ag-sort-order {
4309
4346
  display: none;
4310
4347
  }
4311
4348
 
4312
4349
  /* Set line height for grid cells */
4313
- ._gridWrapper_yeano_1 .ag-cell {
4350
+ ._gridWrapper_bykj9_1 .ag-cell {
4314
4351
  line-height: 1.1em;
4315
4352
  }
4353
+
4354
+ /* Row numbers cell styling */
4355
+ ._gridWrapper_bykj9_1 .ag-cell.row-number-cell {
4356
+ cursor: pointer;
4357
+ }
4358
+
4359
+ ._gridWrapper_bykj9_1 .ag-cell.row-number-cell:hover {
4360
+ text-decoration: underline;
4361
+ }
4316
4362
  ._header_u9u40_1 {
4317
4363
  border-bottom: solid var(--bs-light-border-subtle) 1px;
4318
4364
  padding: 0.3rem 1rem;
@@ -4420,23 +4466,23 @@ button._segment_19z32_10 {
4420
4466
  ._scrollContainer_94id2_15 {
4421
4467
  overflow-y: auto;
4422
4468
  }
4423
- ._container_cnarm_1 {
4469
+ ._container_1a0yr_1 {
4424
4470
  border-right: solid 1px var(--bs-border-color);
4425
4471
  }
4426
4472
 
4427
- ._entry_cnarm_5 {
4473
+ ._entry_1a0yr_5 {
4428
4474
  padding: 0.5em;
4429
4475
  }
4430
4476
 
4431
- ._entry_cnarm_5._selected_cnarm_9 {
4477
+ ._entry_1a0yr_5._selected_1a0yr_9 {
4432
4478
  background-color: var(--bs-secondary-bg);
4433
4479
  }
4434
4480
 
4435
- ._titleBlock_cnarm_13 {
4481
+ ._titleBlock_1a0yr_13 {
4436
4482
  margin-bottom: 0.1rem;
4437
4483
  }
4438
4484
 
4439
- ._subTitle_cnarm_17 {
4485
+ ._subTitle_1a0yr_17 {
4440
4486
  margin-top: -0.2rem;
4441
4487
  max-height: 2rem;
4442
4488
  overflow: hidden;
@@ -4446,14 +4492,21 @@ button._segment_19z32_10 {
4446
4492
  word-wrap: break-word;
4447
4493
  }
4448
4494
 
4449
- ._selected_cnarm_9 ._title_cnarm_13 {
4495
+ ._selected_1a0yr_9 ._title_1a0yr_13 {
4450
4496
  font-weight: 600;
4451
4497
  }
4452
4498
 
4453
- ._entry_cnarm_5:hover {
4499
+ ._entry_1a0yr_5:hover {
4454
4500
  color: var(--bs-link-hover-color);
4455
4501
  cursor: pointer;
4456
4502
  }
4503
+
4504
+ ._validationTable_1a0yr_36 {
4505
+ display: grid;
4506
+ grid-template-columns: auto auto;
4507
+ column-gap: 0.5rem;
4508
+ row-gap: 0;
4509
+ }
4457
4510
  ._container_1db6h_1 {
4458
4511
  display: grid;
4459
4512
  grid-template-columns: 200px 1fr;
@@ -39,18 +39,18 @@ export interface Transcript {
39
39
  fields: Array<Record<string, string>>;
40
40
  }
41
41
  export interface ScanSpec {
42
- scan_file: string;
42
+ scan_file?: string;
43
43
  scan_id: string;
44
44
  scan_name: string;
45
- scan_args: Record<string, unknown>;
45
+ scan_args?: Record<string, unknown>;
46
46
  timestamp: string;
47
47
  model: Model;
48
- metadata: Record<string, unknown>;
49
- options: Record<string, unknown>;
50
- packages: Record<string, unknown>;
51
- revision: Record<string, unknown>;
48
+ metadata?: Record<string, unknown>;
49
+ options?: Record<string, unknown>;
50
+ packages?: Record<string, unknown>;
51
+ revision?: Record<string, unknown>;
52
52
  scanners: Record<string, Scanner>;
53
- transcripts: Transcript;
53
+ transcripts?: Transcript;
54
54
  }
55
55
  export interface Scanner {
56
56
  name: string;
@@ -45,3 +45,4 @@ export declare function formatDuration(start: Date, end: Date): string;
45
45
  * @returns The truncated string with ellipsis in the middle if needed
46
46
  */
47
47
  export declare function centerTruncate(str: string, maxLength?: number): string;
48
+ export declare function formatPercent(value: number): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metrevals/inspect-scout-viewer",
3
- "version": "0.3.2-beta.1764377954",
3
+ "version": "0.3.2-beta.1764711188",
4
4
  "description": "Inspect Scout viewer for evaluation logs.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -25,7 +25,7 @@
25
25
  "watch": "vite build --watch",
26
26
  "watch:dev": "NODE_ENV=development vite build --watch --mode development",
27
27
  "dev": "vite",
28
- "prepublishOnly": "npm version from-git --no-git-tag-version --allow-same-version && pnpm build:lib",
28
+ "prepublishOnly": "pnpm build:lib",
29
29
  "preview": "vite preview",
30
30
  "lint": "eslint . --max-warnings 0",
31
31
  "lint:fix": "eslint . --fix --max-warnings 0",