@meridianlabs/inspect-scout-viewer 0.4.38 → 0.4.39
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 +5854 -0
- package/lib/AsciinemaPlayerImpl-6ZAkt1g5.js.map +1 -0
- package/lib/e2e/app-navigation.spec.d.ts +1 -0
- package/lib/e2e/chat-components.spec.d.ts +1 -0
- package/lib/e2e/fixtures/app.d.ts +7 -0
- package/lib/e2e/fixtures/handlers.d.ts +2 -0
- package/lib/e2e/fixtures/test-data.d.ts +42 -0
- package/lib/e2e/scan.spec.d.ts +1 -0
- package/lib/e2e/scans.spec.d.ts +1 -0
- package/lib/e2e/shared-components.spec.d.ts +1 -0
- package/lib/e2e/timeline-migration-baseline.spec.d.ts +8 -0
- package/lib/e2e/timeline.spec.d.ts +1 -0
- package/lib/e2e/transcript-events.spec.d.ts +1 -0
- package/lib/e2e/transcript.spec.d.ts +1 -0
- package/lib/e2e/transcripts.spec.d.ts +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +128052 -0
- package/lib/index.js.map +1 -0
- package/lib/src/App.d.ts +6 -0
- package/lib/src/AppRouter.d.ts +6 -0
- package/lib/src/api/api-scout-server.d.ts +8 -0
- package/lib/src/api/api-vscode.d.ts +3 -0
- package/lib/src/api/api.d.ts +56 -0
- package/lib/src/api/attachmentsHelpers.d.ts +1 -0
- package/lib/src/api/expandInputEvents.d.ts +6 -0
- package/lib/src/api/jsonrpc-fetch.d.ts +20 -0
- package/lib/src/api/jsonrpc.d.ts +50 -0
- package/lib/src/api/request.d.ts +30 -0
- package/lib/src/api/vscode-storage.d.ts +3 -0
- package/lib/src/app/components/ActivityBar.d.ts +23 -0
- package/lib/src/app/components/ActivityBarLayout.d.ts +11 -0
- package/lib/src/app/components/AddFilterButton.d.ts +37 -0
- package/lib/src/app/components/BreadCrumbs.d.ts +10 -0
- package/lib/src/app/components/Chip.d.ts +12 -0
- package/lib/src/app/components/ChipGroup.d.ts +7 -0
- package/lib/src/app/components/ColumnHeader.d.ts +11 -0
- package/lib/src/app/components/ColumnPickerButton.d.ts +19 -0
- package/lib/src/app/components/ColumnsPopover.d.ts +25 -0
- package/lib/src/app/components/DataframeView.d.ts +17 -0
- package/lib/src/app/components/DownloadScanButton.d.ts +9 -0
- package/lib/src/app/components/EditablePath.d.ts +15 -0
- package/lib/src/app/components/EditableText.d.ts +16 -0
- package/lib/src/app/components/Error.d.ts +7 -0
- package/lib/src/app/components/FilterBar.d.ts +35 -0
- package/lib/src/app/components/FindBand.d.ts +6 -0
- package/lib/src/app/components/Footer.d.ts +21 -0
- package/lib/src/app/components/HeadingGrid.d.ts +15 -0
- package/lib/src/app/components/Identifier.d.ts +7 -0
- package/lib/src/app/components/NavButtons.d.ts +12 -0
- package/lib/src/app/components/Navbar.d.ts +11 -0
- package/lib/src/app/components/NextPreviousNav.d.ts +11 -0
- package/lib/src/app/components/Pager.d.ts +9 -0
- package/lib/src/app/components/ProjectBar.d.ts +7 -0
- package/lib/src/app/components/ScansNavbar.d.ts +10 -0
- package/lib/src/app/components/ScoreValue.d.ts +12 -0
- package/lib/src/app/components/TaskName.d.ts +8 -0
- package/lib/src/app/components/TranscriptsNavbar.d.ts +11 -0
- package/lib/src/app/components/agGridSetup.d.ts +1 -0
- package/lib/src/app/components/columnFilter/ColumnFilterButton.d.ts +6 -0
- package/lib/src/app/components/columnFilter/ColumnFilterControl.d.ts +16 -0
- package/lib/src/app/components/columnFilter/ColumnFilterEditor.d.ts +32 -0
- package/lib/src/app/components/columnFilter/DurationInput.d.ts +9 -0
- package/lib/src/app/components/columnFilter/index.d.ts +12 -0
- package/lib/src/app/components/columnFilter/useAddFilterPopover.d.ts +35 -0
- package/lib/src/app/components/columnFilter/useColumnFilter.d.ts +27 -0
- package/lib/src/app/components/columnFilter/useColumnFilterPopover.d.ts +25 -0
- package/lib/src/app/components/columnSizing/defaultStrategy.d.ts +2 -0
- package/lib/src/app/components/columnSizing/fitContentStrategy.d.ts +2 -0
- package/lib/src/app/components/columnSizing/index.d.ts +5 -0
- package/lib/src/app/components/columnSizing/strategies.d.ts +10 -0
- package/lib/src/app/components/columnSizing/types.d.ts +60 -0
- package/lib/src/app/components/columnTypes.d.ts +46 -0
- package/lib/src/app/components/dataGrid/DataGrid.d.ts +8 -0
- package/lib/src/app/components/dataGrid/index.d.ts +2 -0
- package/lib/src/app/components/dataGrid/types.d.ts +70 -0
- package/lib/src/app/components/useFilterBarHandlers.d.ts +41 -0
- package/lib/src/app/hooks/useFilterConditions.d.ts +6 -0
- package/lib/src/app/hooks/useScanFilterConditions.d.ts +6 -0
- package/lib/src/app/hooks/useScanResultSummaries.d.ts +6 -0
- package/lib/src/app/hooks/useScanRoute.d.ts +8 -0
- package/lib/src/app/hooks/useScansFilterBarProps.d.ts +13 -0
- package/lib/src/app/hooks/useSelectedScan.d.ts +3 -0
- package/lib/src/app/hooks/useSelectedScanDataframe.d.ts +3 -0
- package/lib/src/app/hooks/useSelectedScanResultData.d.ts +3 -0
- package/lib/src/app/hooks/useSelectedScanResultDetail.d.ts +3 -0
- package/lib/src/app/hooks/useSelectedScanner.d.ts +2 -0
- package/lib/src/app/hooks/useTranscriptsFilterBarProps.d.ts +18 -0
- package/lib/src/app/hooks/useWindowMessaging.d.ts +19 -0
- package/lib/src/app/project/ProjectPanel.d.ts +7 -0
- package/lib/src/app/project/SettingsContent.d.ts +7 -0
- package/lib/src/app/project/components/FormFields.d.ts +73 -0
- package/lib/src/app/project/configUtils.d.ts +30 -0
- package/lib/src/app/project/hooks/useNestedConfig.d.ts +28 -0
- package/lib/src/app/runScan/ActiveScanView.d.ts +6 -0
- package/lib/src/app/runScan/DefineScannerSection.d.ts +6 -0
- package/lib/src/app/runScan/LlmScannerParams.d.ts +14 -0
- package/lib/src/app/runScan/RunScanPanel.d.ts +2 -0
- package/lib/src/app/runScan/ScannerParamsPlaceholder.d.ts +6 -0
- package/lib/src/app/scan/ScanPanel.d.ts +2 -0
- package/lib/src/app/scan/ScanPanelBody.d.ts +6 -0
- package/lib/src/app/scan/ScanPanelTitle.d.ts +6 -0
- package/lib/src/app/scan/info/ScanInfo.d.ts +5 -0
- package/lib/src/app/scan/scanners/ScannerPanel.d.ts +5 -0
- package/lib/src/app/scan/scanners/ScannerSidebar.d.ts +5 -0
- package/lib/src/app/scan/scanners/dataframe/DataframeGridApiContext.d.ts +7 -0
- package/lib/src/app/scan/scanners/dataframe/ScannerDataframeCSVButtons.d.ts +11 -0
- package/lib/src/app/scan/scanners/dataframe/ScannerDataframeClearFiltersButton.d.ts +2 -0
- package/lib/src/app/scan/scanners/dataframe/ScannerDataframeColumnsPopover.d.ts +5 -0
- package/lib/src/app/scan/scanners/dataframe/ScannerDataframeFilterColumnsButton.d.ts +1 -0
- package/lib/src/app/scan/scanners/dataframe/ScannerDataframeWrapTextButton.d.ts +2 -0
- package/lib/src/app/scan/scanners/dataframe/useOperationStatus.d.ts +7 -0
- package/lib/src/app/scan/scanners/list/ScannerResultsGroup.d.ts +6 -0
- package/lib/src/app/scan/scanners/list/ScannerResultsHeader.d.ts +7 -0
- package/lib/src/app/scan/scanners/list/ScannerResultsList.d.ts +14 -0
- package/lib/src/app/scan/scanners/list/ScannerResultsRow.d.ts +9 -0
- package/lib/src/app/scan/scanners/results/ScannerResultsBody.d.ts +12 -0
- package/lib/src/app/scan/scanners/results/ScannerResultsFilter.d.ts +5 -0
- package/lib/src/app/scan/scanners/results/ScannerResultsGroup.d.ts +7 -0
- package/lib/src/app/scan/scanners/results/ScannerResultsSearch.d.ts +2 -0
- package/lib/src/app/scan/scanners/types.d.ts +1 -0
- package/lib/src/app/scannerResult/AllScoresDialog.d.ts +9 -0
- package/lib/src/app/scannerResult/ScannerResultHeader.d.ts +13 -0
- package/lib/src/app/scannerResult/ScannerResultNav.d.ts +2 -0
- package/lib/src/app/scannerResult/ScannerResultPanel.d.ts +2 -0
- package/lib/src/app/scannerResult/ScoreColumn.d.ts +15 -0
- package/lib/src/app/scannerResult/SourcePath.d.ts +9 -0
- package/lib/src/app/scannerResult/error/ErrorPanel.d.ts +7 -0
- package/lib/src/app/scannerResult/info/InfoPanel.d.ts +9 -0
- package/lib/src/app/scannerResult/metadata/MetadataPanel.d.ts +7 -0
- package/lib/src/app/scannerResult/result/ResultBody.d.ts +8 -0
- package/lib/src/app/scannerResult/result/ResultPanel.d.ts +9 -0
- package/lib/src/app/scannerResult/result/ResultSidebar.d.ts +9 -0
- package/lib/src/app/scannerResult/transcript/TranscriptPanel.d.ts +15 -0
- package/lib/src/app/scans/ScansFilterBar.d.ts +7 -0
- package/lib/src/app/scans/ScansGrid.d.ts +21 -0
- package/lib/src/app/scans/ScansPanel.d.ts +2 -0
- package/lib/src/app/scans/columnSizing/index.d.ts +3 -0
- package/lib/src/app/scans/columnSizing/useColumnSizing.d.ts +33 -0
- package/lib/src/app/scans/columns.d.ts +25 -0
- package/lib/src/app/scans/constants.d.ts +35 -0
- package/lib/src/app/server/index.d.ts +6 -0
- package/lib/src/app/server/useActiveScan.d.ts +3 -0
- package/lib/src/app/server/useActiveScans.d.ts +3 -0
- package/lib/src/app/server/useAdjacentTranscriptIds.d.ts +10 -0
- package/lib/src/app/server/useAppConfig.d.ts +20 -0
- package/lib/src/app/server/useCode.d.ts +4 -0
- package/lib/src/app/server/useHasTranscript.d.ts +8 -0
- package/lib/src/app/server/useProjectConfig.d.ts +30 -0
- package/lib/src/app/server/useScan.d.ts +9 -0
- package/lib/src/app/server/useScanDataframe.d.ts +11 -0
- package/lib/src/app/server/useScanDataframeDetail.d.ts +11 -0
- package/lib/src/app/server/useScanners.d.ts +3 -0
- package/lib/src/app/server/useScansColumnValues.d.ts +11 -0
- package/lib/src/app/server/useScansInfinite.d.ts +6 -0
- package/lib/src/app/server/useSearches.d.ts +43 -0
- package/lib/src/app/server/useServerTranscripts.d.ts +5 -0
- package/lib/src/app/server/useServerTranscriptsInfinite.d.ts +13 -0
- package/lib/src/app/server/useStartScan.d.ts +3 -0
- package/lib/src/app/server/useTopicInvalidation.d.ts +11 -0
- package/lib/src/app/server/useTranscript.d.ts +9 -0
- package/lib/src/app/server/useTranscriptsColumnValues.d.ts +11 -0
- package/lib/src/app/server/useValidations.d.ts +87 -0
- package/lib/src/app/settings/SettingsPanel.d.ts +2 -0
- package/lib/src/app/timeline/components/TimelineEventsView.d.ts +50 -0
- package/lib/src/app/timeline/hooks/useActiveTimeline.d.ts +5 -0
- package/lib/src/app/timeline/hooks/useTimeline.d.ts +6 -0
- package/lib/src/app/timeline/hooks/useTimelineConfig.d.ts +7 -0
- package/lib/src/app/timeline/hooks/useTranscriptTimeline.d.ts +6 -0
- package/lib/src/app/transcript/SearchPanel.d.ts +9 -0
- package/lib/src/app/transcript/TranscriptBody.d.ts +17 -0
- package/lib/src/app/transcript/TranscriptFilterPopover.d.ts +7 -0
- package/lib/src/app/transcript/TranscriptNav.d.ts +10 -0
- package/lib/src/app/transcript/TranscriptPanel.d.ts +2 -0
- package/lib/src/app/transcript/TranscriptTitle.d.ts +7 -0
- package/lib/src/app/transcript/debugEventTree.d.ts +4 -0
- package/lib/src/app/transcript/hooks/useSearchReferenceLabels.d.ts +12 -0
- package/lib/src/app/transcript/hooks/useTranscriptColumnFilter.d.ts +11 -0
- package/lib/src/app/transcript/hooks/useTranscriptNavigation.d.ts +14 -0
- package/lib/src/app/transcript/hooks/useTranscriptTimeline.d.ts +1 -0
- package/lib/src/app/transcript/searchPanelState.d.ts +35 -0
- package/lib/src/app/transcript/searchRequest.d.ts +22 -0
- package/lib/src/app/transcripts/TranscriptFilterBar.d.ts +8 -0
- package/lib/src/app/transcripts/TranscriptsGrid.d.ts +21 -0
- package/lib/src/app/transcripts/TranscriptsPanel.d.ts +2 -0
- package/lib/src/app/transcripts/columnSizing/index.d.ts +3 -0
- package/lib/src/app/transcripts/columnSizing/types.d.ts +22 -0
- package/lib/src/app/transcripts/columnSizing/useColumnSizing.d.ts +34 -0
- package/lib/src/app/transcripts/columns.d.ts +37 -0
- package/lib/src/app/transcripts/constants.d.ts +35 -0
- package/lib/src/app/types.d.ts +111 -0
- package/lib/src/app/utils/arrow.d.ts +2 -0
- package/lib/src/app/utils/arrowHelpers.d.ts +4 -0
- package/lib/src/app/utils/autosizeTextarea.d.ts +5 -0
- package/lib/src/app/utils/refs.d.ts +6 -0
- package/lib/src/app/utils/results.d.ts +17 -0
- package/lib/src/app/utils/router.d.ts +1 -0
- package/lib/src/app/utils/scan.d.ts +12 -0
- package/lib/src/app/utils/transcript.d.ts +29 -0
- package/lib/src/app/utils/useScansDir.d.ts +8 -0
- package/lib/src/app/utils/useTranscriptsDir.d.ts +8 -0
- package/lib/src/app/validation/ValidationPanel.d.ts +2 -0
- package/lib/src/app/validation/components/CopyMoveCasesModal.d.ts +24 -0
- package/lib/src/app/validation/components/ValidationBulkActions.d.ts +16 -0
- package/lib/src/app/validation/components/ValidationCaseCard.d.ts +23 -0
- package/lib/src/app/validation/components/ValidationCaseEditor.d.ts +25 -0
- package/lib/src/app/validation/components/ValidationCaseLabelsEditor.d.ts +20 -0
- package/lib/src/app/validation/components/ValidationCasePredicateSelector.d.ts +19 -0
- package/lib/src/app/validation/components/ValidationCaseTargetEditor.d.ts +13 -0
- package/lib/src/app/validation/components/ValidationCasesList.d.ts +19 -0
- package/lib/src/app/validation/components/ValidationFilterBar.d.ts +14 -0
- package/lib/src/app/validation/components/ValidationSetSelector.d.ts +23 -0
- package/lib/src/app/validation/components/ValidationSplitSelector.d.ts +23 -0
- package/lib/src/app/validation/components/ValidationSummary.d.ts +11 -0
- package/lib/src/app/validation/hooks/useTranscriptsByIds.d.ts +13 -0
- package/lib/src/app/validation/utils.d.ts +55 -0
- package/lib/src/debugging/navigationDebugging.d.ts +8 -0
- package/lib/src/icons.d.ts +153 -0
- package/lib/src/index.d.ts +5 -0
- package/lib/src/main.d.ts +6 -0
- package/lib/src/query/column.d.ts +23 -0
- package/lib/src/query/conditionBuilder.d.ts +29 -0
- package/lib/src/query/index.d.ts +96 -0
- package/lib/src/query/transcriptColumns.d.ts +32 -0
- package/lib/src/query/types.d.ts +62 -0
- package/lib/src/router/activities.d.ts +11 -0
- package/lib/src/router/url.d.ts +80 -0
- package/lib/src/state/componentStateAdapter.d.ts +2 -0
- package/lib/src/state/userSettings.d.ts +28 -0
- package/lib/src/test/objectFactories.d.ts +4 -0
- package/lib/src/test/setup-msw.d.ts +1 -0
- package/lib/src/test/test-utils.d.ts +7 -0
- package/lib/src/theme/bootstrap.d.ts +6 -0
- package/lib/src/theme/resolveTheme.d.ts +19 -0
- package/lib/src/types/api-types.d.ts +50 -0
- package/lib/src/types/generated.d.ts +5182 -0
- package/lib/src/types/json-value.d.ts +12 -0
- package/lib/styles/index.css +10953 -0
- package/package.json +2 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ProjectConfigInput } from '../../types/api-types';
|
|
2
|
+
/**
|
|
3
|
+
* Deep equality check for config objects using JSON serialization.
|
|
4
|
+
*/
|
|
5
|
+
export declare function configsEqual(a: Partial<ProjectConfigInput> | null, b: Partial<ProjectConfigInput> | null): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Check if a value is "empty" (null, undefined, or empty object/array).
|
|
8
|
+
*/
|
|
9
|
+
export declare function isEmpty(value: unknown): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Filter out null and undefined values from an object.
|
|
12
|
+
*/
|
|
13
|
+
export declare function filterNullValues<T extends Record<string, unknown>>(obj: T): Partial<T>;
|
|
14
|
+
/**
|
|
15
|
+
* Deep copy an object using JSON serialization.
|
|
16
|
+
* Note: Only works for JSON-serializable types (objects, arrays, primitives).
|
|
17
|
+
* Loses functions, Symbols, undefined values. Circular references will throw.
|
|
18
|
+
*/
|
|
19
|
+
export declare function deepCopy<T>(obj: T): T;
|
|
20
|
+
/**
|
|
21
|
+
* Compute the config to save by comparing edited values against original server state.
|
|
22
|
+
* Only includes values that have changed or have content.
|
|
23
|
+
*/
|
|
24
|
+
export declare function computeConfigToSave(edited: Partial<ProjectConfigInput>, original: Partial<ProjectConfigInput>, serverConfig: ProjectConfigInput): ProjectConfigInput;
|
|
25
|
+
/**
|
|
26
|
+
* Initialize edited config from server config.
|
|
27
|
+
* Extracts the relevant fields for editing.
|
|
28
|
+
* All fields are normalized to null (not undefined) for consistent comparison.
|
|
29
|
+
*/
|
|
30
|
+
export declare function initializeEditedConfig(serverConfig: ProjectConfigInput): Partial<ProjectConfigInput>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook for managing nested config sections like cache and batch.
|
|
3
|
+
*
|
|
4
|
+
* These configs can be:
|
|
5
|
+
* - null/undefined (disabled)
|
|
6
|
+
* - true (enabled with defaults)
|
|
7
|
+
* - number (for batch: simple size value)
|
|
8
|
+
* - object (enabled with specific settings)
|
|
9
|
+
*
|
|
10
|
+
* @param configValue The current config value (from parent generate_config)
|
|
11
|
+
* @param updateParent Function to update the parent config with new nested value
|
|
12
|
+
*/
|
|
13
|
+
export declare function useNestedConfig<T extends Record<string, unknown>>(configValue: T | boolean | number | null | undefined, updateParent: (value: T | boolean | null) => void): {
|
|
14
|
+
enabled: boolean;
|
|
15
|
+
config: Partial<T>;
|
|
16
|
+
setEnabled: (newEnabled: boolean) => void;
|
|
17
|
+
updateConfig: (updates: Partial<T>) => void;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Hook specifically for batch config which can also be a simple number (size).
|
|
21
|
+
*/
|
|
22
|
+
export declare function useBatchConfig<T extends Record<string, unknown>>(configValue: T | boolean | number | null | undefined, updateParent: (value: T | boolean | null) => void): {
|
|
23
|
+
updateConfig: (updates: Partial<T>) => void;
|
|
24
|
+
currentBatchSize: number | undefined;
|
|
25
|
+
enabled: boolean;
|
|
26
|
+
config: Partial<T>;
|
|
27
|
+
setEnabled: (newEnabled: boolean) => void;
|
|
28
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
export interface LlmScannerParamsValue {
|
|
3
|
+
question: string;
|
|
4
|
+
answerType: "boolean" | "numeric" | "string";
|
|
5
|
+
excludeSystem: boolean;
|
|
6
|
+
excludeReasoning: boolean;
|
|
7
|
+
excludeToolUsage: boolean;
|
|
8
|
+
}
|
|
9
|
+
interface Props {
|
|
10
|
+
value: LlmScannerParamsValue;
|
|
11
|
+
onChange: (value: LlmScannerParamsValue) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare const LlmScannerParams: FC<Props>;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { GridApi } from 'ag-grid-community';
|
|
2
|
+
import { FC, ReactNode } from 'react';
|
|
3
|
+
export declare const DataframeGridApiProvider: FC<{
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
}>;
|
|
6
|
+
export declare const useDataframeGridApi: () => GridApi | null;
|
|
7
|
+
export declare const useSetDataframeGridApi: () => ((api: GridApi | null) => void);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Button to copy filtered dataframe data as CSV to clipboard.
|
|
4
|
+
* Exports only the currently visible columns from the column selector.
|
|
5
|
+
*/
|
|
6
|
+
export declare const ScannerDataframeCopyCSVButton: FC;
|
|
7
|
+
/**
|
|
8
|
+
* Button to download filtered dataframe data as a CSV file.
|
|
9
|
+
* Exports only the currently visible columns from the column selector.
|
|
10
|
+
*/
|
|
11
|
+
export declare const ScannerDataframeDownloadCSVButton: FC;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ScannerDataframeFilterColumnsButton: import('react').ForwardRefExoticComponent<import('react').RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Transient status for copy/download operations */
|
|
2
|
+
export type OperationStatus = "idle" | "success" | "error" | "empty";
|
|
3
|
+
/**
|
|
4
|
+
* Hook for managing transient operation status with auto-reset.
|
|
5
|
+
* Handles cleanup on unmount to prevent state updates after unmount.
|
|
6
|
+
*/
|
|
7
|
+
export declare const useOperationStatus: () => readonly [OperationStatus, (newStatus: OperationStatus) => void];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ColumnTable } from 'arquero';
|
|
2
|
+
import { FC } from 'react';
|
|
3
|
+
import { Status } from '../../../../types/api-types';
|
|
4
|
+
export interface GridDescriptor {
|
|
5
|
+
gridStyle: Record<string, string>;
|
|
6
|
+
columns: string[];
|
|
7
|
+
}
|
|
8
|
+
interface ScannerResultsListProps {
|
|
9
|
+
id: string;
|
|
10
|
+
columnTable?: ColumnTable;
|
|
11
|
+
selectedScan: Status;
|
|
12
|
+
}
|
|
13
|
+
export declare const ScannerResultsList: FC<ScannerResultsListProps>;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ScanResultSummary } from '../../../types';
|
|
2
|
+
import { GridDescriptor } from './ScannerResultsList';
|
|
3
|
+
interface ScannerResultsRowProps {
|
|
4
|
+
index: number;
|
|
5
|
+
summary: ScanResultSummary;
|
|
6
|
+
gridDescriptor: GridDescriptor;
|
|
7
|
+
}
|
|
8
|
+
export declare const ScannerResultsRow: import('react').NamedExoticComponent<ScannerResultsRowProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ColumnTable } from 'arquero';
|
|
2
|
+
import { FC } from 'react';
|
|
3
|
+
import { Status } from '../../../../types/api-types';
|
|
4
|
+
export declare const ScannerResultsBody: FC<{
|
|
5
|
+
selectedScan: Status;
|
|
6
|
+
scannerId: string;
|
|
7
|
+
selectedScanner: {
|
|
8
|
+
columnTable: ColumnTable | undefined;
|
|
9
|
+
isLoading: boolean;
|
|
10
|
+
error: string | undefined;
|
|
11
|
+
};
|
|
12
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const defaultColumns: string[];
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { JsonValue } from '@tsmono/inspect-common/types';
|
|
3
|
+
interface AllScoresDialogProps {
|
|
4
|
+
showing: boolean;
|
|
5
|
+
setShowing: (showing: boolean) => void;
|
|
6
|
+
score: JsonValue;
|
|
7
|
+
}
|
|
8
|
+
export declare const AllScoresDialog: FC<AllScoresDialogProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { AppConfig, ScannerInput, Status } from '../../types/api-types';
|
|
3
|
+
import { ScanResultData } from '../types';
|
|
4
|
+
interface ScannerResultHeaderProps {
|
|
5
|
+
scan?: Status;
|
|
6
|
+
inputData?: ScannerInput;
|
|
7
|
+
resultData?: ScanResultData;
|
|
8
|
+
appConfig: AppConfig;
|
|
9
|
+
collapsed?: boolean;
|
|
10
|
+
onShowAllScores?: () => void;
|
|
11
|
+
}
|
|
12
|
+
export declare const ScannerResultHeader: FC<ScannerResultHeaderProps>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { JsonValue } from '@tsmono/inspect-common/types';
|
|
3
|
+
interface ScoreColumnProps {
|
|
4
|
+
score: JsonValue;
|
|
5
|
+
labelClassName?: string;
|
|
6
|
+
valueClassName?: string;
|
|
7
|
+
onShowAllScores?: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const ScoreColumn: FC<ScoreColumnProps>;
|
|
10
|
+
/** Compact inline score for the collapsed bar. */
|
|
11
|
+
export declare const CollapsedScore: FC<{
|
|
12
|
+
score: JsonValue;
|
|
13
|
+
onShowAllScores?: () => void;
|
|
14
|
+
}>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
interface SourcePathProps {
|
|
3
|
+
uri: string;
|
|
4
|
+
/** Maximum display length before truncation. Default 58 (≈ head 20 + ellipsis + tail 36). */
|
|
5
|
+
maxLength?: number;
|
|
6
|
+
className?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const SourcePath: FC<SourcePathProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { ScanResultData } from '../../types';
|
|
3
|
+
interface InfoPanelProps {
|
|
4
|
+
resultData?: ScanResultData;
|
|
5
|
+
}
|
|
6
|
+
export declare const InfoPanel: FC<InfoPanelProps>;
|
|
7
|
+
export declare const ScannerInfoPanel: FC<InfoPanelProps>;
|
|
8
|
+
export declare const TranscriptInfoPanel: FC<InfoPanelProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { ScannerInput } from '../../../types/api-types';
|
|
3
|
+
import { ScanResultData } from '../../types';
|
|
4
|
+
export interface ResultBodyProps {
|
|
5
|
+
resultData: ScanResultData;
|
|
6
|
+
inputData: ScannerInput;
|
|
7
|
+
}
|
|
8
|
+
export declare const ResultBody: FC<ResultBodyProps>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { ScannerInput } from '../../../types/api-types';
|
|
3
|
+
import { ScanResultData } from '../../types';
|
|
4
|
+
interface ResultPanelProps {
|
|
5
|
+
resultData: ScanResultData;
|
|
6
|
+
inputData: ScannerInput | undefined;
|
|
7
|
+
}
|
|
8
|
+
export declare const ResultPanel: FC<ResultPanelProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { ScannerInput } from '../../../types/api-types';
|
|
3
|
+
import { ScanResultData } from '../../types';
|
|
4
|
+
interface ResultSidebarProps {
|
|
5
|
+
inputData?: ScannerInput;
|
|
6
|
+
resultData?: ScanResultData;
|
|
7
|
+
}
|
|
8
|
+
export declare const ResultSidebar: FC<ResultSidebarProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { Event } from '@tsmono/inspect-common/types';
|
|
3
|
+
interface TranscriptPanelProps {
|
|
4
|
+
id: string;
|
|
5
|
+
events: Event[];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Lightweight transcript panel for scanner results.
|
|
9
|
+
*
|
|
10
|
+
* Uses `TranscriptLayout` without outline or swimlanes — the scanner context
|
|
11
|
+
* only needs a flat event list. The root "scan" span is stripped at the event
|
|
12
|
+
* level so the layout sees only the inner events.
|
|
13
|
+
*/
|
|
14
|
+
export declare const TranscriptPanel: FC<TranscriptPanelProps>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { ScalarValue } from '../../api/api';
|
|
3
|
+
import { ScanRow as ApiScanRow } from '../../types/api-types';
|
|
4
|
+
interface ScansGridProps {
|
|
5
|
+
scans: ApiScanRow[];
|
|
6
|
+
resultsDir: string | undefined;
|
|
7
|
+
className?: string | string[];
|
|
8
|
+
loading?: boolean;
|
|
9
|
+
/** Called when scroll position nears end */
|
|
10
|
+
onScrollNearEnd?: (distanceFromBottom?: number) => void;
|
|
11
|
+
/** Whether more data is available to fetch */
|
|
12
|
+
hasMore?: boolean;
|
|
13
|
+
/** Distance from bottom (in px) at which to trigger callback */
|
|
14
|
+
fetchThreshold?: number;
|
|
15
|
+
/** Autocomplete suggestions for the currently editing filter column */
|
|
16
|
+
filterSuggestions?: ScalarValue[];
|
|
17
|
+
/** Called when a filter column starts/stops being edited */
|
|
18
|
+
onFilterColumnChange?: (columnId: string | null) => void;
|
|
19
|
+
}
|
|
20
|
+
export declare const ScansGrid: FC<ScansGridProps>;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './useColumnSizing';
|
|
2
|
+
export { clampSize, getColumnConstraints, getColumnId, getSizingStrategy, sizingStrategies, DEFAULT_MAX_SIZE, DEFAULT_MIN_SIZE, DEFAULT_SIZE, } from '../../components/columnSizing';
|
|
3
|
+
export type { ColumnSizeConstraints, ColumnSizingStrategyKey, SizingStrategy, SizingStrategyContext, } from '../../components/columnSizing';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ColumnSizingState, OnChangeFn } from '@tanstack/react-table';
|
|
2
|
+
import { ColumnSizingStrategyKey } from '../../components/columnSizing';
|
|
3
|
+
import { ScanColumn, ScanRow } from '../columns';
|
|
4
|
+
interface UseColumnSizingOptions {
|
|
5
|
+
/** Column definitions */
|
|
6
|
+
columns: ScanColumn[];
|
|
7
|
+
/** Reference to the table element for DOM measurement */
|
|
8
|
+
tableRef: React.RefObject<HTMLTableElement | null>;
|
|
9
|
+
/** Current data for content measurement */
|
|
10
|
+
data: ScanRow[];
|
|
11
|
+
}
|
|
12
|
+
interface UseColumnSizingResult {
|
|
13
|
+
/** Current column sizing state */
|
|
14
|
+
columnSizing: ColumnSizingState;
|
|
15
|
+
/** Handler for column sizing changes with min/max enforcement */
|
|
16
|
+
handleColumnSizingChange: OnChangeFn<ColumnSizingState>;
|
|
17
|
+
/** Current sizing strategy key */
|
|
18
|
+
sizingStrategy: ColumnSizingStrategyKey;
|
|
19
|
+
/** Set the sizing strategy */
|
|
20
|
+
setSizingStrategy: (strategy: ColumnSizingStrategyKey) => void;
|
|
21
|
+
/** Apply auto-sizing based on current strategy (preserves manually resized columns) */
|
|
22
|
+
applyAutoSizing: () => void;
|
|
23
|
+
/** Reset a single column to its auto-calculated size */
|
|
24
|
+
resetColumnSize: (columnId: string) => void;
|
|
25
|
+
/** Reset all column sizing and clear manual resize tracking */
|
|
26
|
+
clearColumnSizing: () => void;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Hook for managing column sizing with min/max constraints and auto-sizing.
|
|
30
|
+
* Manually resized columns are preserved during auto-sizing operations.
|
|
31
|
+
*/
|
|
32
|
+
export declare function useColumnSizing({ columns, tableRef, data, }: UseColumnSizingOptions): UseColumnSizingResult;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ScanRow as ApiScanRow } from '../../types/api-types';
|
|
2
|
+
import { AvailableColumn } from '../components/columnFilter';
|
|
3
|
+
import { BaseColumnMeta, ExtendedColumnDef } from '../components/columnTypes';
|
|
4
|
+
/**
|
|
5
|
+
* Scan row type for grid display.
|
|
6
|
+
* Extends the API ScanRow with a client-computed relativeLocation.
|
|
7
|
+
*/
|
|
8
|
+
export type ScanRow = ApiScanRow & {
|
|
9
|
+
/** Relative path from results directory (computed client-side) */
|
|
10
|
+
relativeLocation: string;
|
|
11
|
+
};
|
|
12
|
+
export type ScanColumnKey = "status" | "scan_name" | "scanners" | "scan_id" | "model" | "location" | "timestamp" | "scan_file" | "tags" | "revision_version" | "revision_commit" | "revision_origin" | "packages" | "metadata" | "scan_args" | "transcript_count" | "total_results" | "total_errors" | "total_tokens";
|
|
13
|
+
export type ScanColumn = ExtendedColumnDef<ScanRow, BaseColumnMeta>;
|
|
14
|
+
export declare const COLUMN_LABELS: Record<ScanColumnKey, string>;
|
|
15
|
+
export declare const COLUMN_HEADER_TITLES: Record<ScanColumnKey, string>;
|
|
16
|
+
export declare const ALL_COLUMNS: Record<ScanColumnKey, ScanColumn>;
|
|
17
|
+
export declare const DEFAULT_COLUMN_ORDER: ScanColumnKey[];
|
|
18
|
+
export declare const DEFAULT_VISIBLE_COLUMNS: ScanColumnKey[];
|
|
19
|
+
/**
|
|
20
|
+
* Get columns for the ScansGrid.
|
|
21
|
+
* @param visibleColumnKeys - Optional list of column keys to display. If not provided, returns default visible columns.
|
|
22
|
+
* @returns Array of column definitions in the order specified or default visible columns.
|
|
23
|
+
*/
|
|
24
|
+
export declare function getScanColumns(visibleColumnKeys?: ScanColumnKey[]): ScanColumn[];
|
|
25
|
+
export declare const FILTER_COLUMNS: AvailableColumn[];
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Infinite Scroll Tuning
|
|
3
|
+
*
|
|
4
|
+
* Goal: user never hits bottom while waiting for next page.
|
|
5
|
+
*
|
|
6
|
+
* Formula: threshold >= scroll_speed × fetch_duration
|
|
7
|
+
*
|
|
8
|
+
* Assumptions:
|
|
9
|
+
* row_height = 29px
|
|
10
|
+
* fetch_duration = 300-1000ms (variable with fixed overhead)
|
|
11
|
+
* max_scroll_speed = 1500px/s (typical fast scroller)
|
|
12
|
+
*
|
|
13
|
+
* Check at typical speed (1500px/s):
|
|
14
|
+
* runway_time = 2000px / 1500px/s = 1333ms
|
|
15
|
+
* worst_case_fetch = 1000ms
|
|
16
|
+
* margin = 333ms ✓
|
|
17
|
+
*
|
|
18
|
+
* Check at extreme speed (5000px/s):
|
|
19
|
+
* runway_time = 2000px / 5000px/s = 400ms
|
|
20
|
+
* median_fetch = ~350ms
|
|
21
|
+
* margin = 50ms (tight but ok) ✓
|
|
22
|
+
*
|
|
23
|
+
* Why large pageSize? Fetch duration is mostly fixed overhead, so larger
|
|
24
|
+
* pages = fewer fetches = fewer stall opportunities. 500 rows gives ~9.7s
|
|
25
|
+
* of scrolling per page at 1500px/s.
|
|
26
|
+
*
|
|
27
|
+
* Note: If threshold > pageSize_px, the next page is prefetched immediately
|
|
28
|
+
* after the current page loads. This is fine for maximum smoothness.
|
|
29
|
+
*/
|
|
30
|
+
export declare const SCANS_INFINITE_SCROLL_CONFIG: {
|
|
31
|
+
/** Number of rows to fetch per page (500 rows = 14,500px at 29px/row) */
|
|
32
|
+
readonly pageSize: 500;
|
|
33
|
+
/** Distance from bottom (in px) at which to trigger fetch (~69 rows) */
|
|
34
|
+
readonly threshold: 2000;
|
|
35
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SortingState } from '@tanstack/react-table';
|
|
2
|
+
import { AsyncData } from '@tsmono/util';
|
|
3
|
+
import { Condition } from '../../query';
|
|
4
|
+
/**
|
|
5
|
+
* Returns prev/next transcript IDs relative to the given ID.
|
|
6
|
+
*
|
|
7
|
+
* Note: prev is undefined when viewing the first loaded item.
|
|
8
|
+
* Reverse paging not yet supported - will need backend prev_cursor.
|
|
9
|
+
*/
|
|
10
|
+
export declare const useAdjacentTranscriptIds: (id: string, location?: string | null, pageSize?: number, filter?: Condition, sorting?: SortingState) => AsyncData<[string | undefined, string | undefined]>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AsyncData } from '@tsmono/util';
|
|
2
|
+
import { AppConfig } from '../../types/api-types';
|
|
3
|
+
/**
|
|
4
|
+
* Loads app config asynchronously at app initialization.
|
|
5
|
+
*
|
|
6
|
+
* Use this hook only at the top of the app before rendering to load config
|
|
7
|
+
* data globally. After this completes, all other components should use
|
|
8
|
+
* useConfig to access the loaded value synchronously.
|
|
9
|
+
*/
|
|
10
|
+
export declare const useAppConfigAsync: () => AsyncData<AppConfig>;
|
|
11
|
+
/**
|
|
12
|
+
* Returns app config for use in components after data loaded globally.
|
|
13
|
+
*
|
|
14
|
+
* Use this hook in regular components throughout the app. Assumes the async
|
|
15
|
+
* data has already been loaded at app initialization via useConfigAsync.
|
|
16
|
+
* Throws if data not yet available.
|
|
17
|
+
*/
|
|
18
|
+
export declare const useAppConfig: () => AppConfig;
|
|
19
|
+
export declare function appAliasedPath(appConfig: AppConfig, path: string | null): string | null;
|
|
20
|
+
export declare function projectOrAppAliasedPath(appConfig: AppConfig, path: string | null): string | null;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { skipToken } from '@tanstack/react-query';
|
|
2
|
+
import { AsyncData } from '@tsmono/util';
|
|
3
|
+
type HasTranscriptParams = {
|
|
4
|
+
location: string;
|
|
5
|
+
id: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const useHasTranscript: (params: HasTranscriptParams | typeof skipToken) => AsyncData<boolean>;
|
|
8
|
+
export {};
|