@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 { DefaultError, UseMutationResult } from '@tanstack/react-query';
|
|
2
|
+
import { AsyncData } from '@tsmono/util';
|
|
3
|
+
import { ProjectConfig, ProjectConfigInput } from '../../types/api-types';
|
|
4
|
+
export type ProjectConfigWithEtag = {
|
|
5
|
+
config: ProjectConfig;
|
|
6
|
+
etag: string;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Loads project configuration from scout.yaml.
|
|
10
|
+
*
|
|
11
|
+
* Returns both the config and an etag for optimistic concurrency control.
|
|
12
|
+
*
|
|
13
|
+
* Automatic refetching is disabled to support optimistic locking:
|
|
14
|
+
* - External changes are detected via etag mismatch on save (412 error)
|
|
15
|
+
* - User explicitly chooses to reload or force save on conflict
|
|
16
|
+
*/
|
|
17
|
+
export declare const useProjectConfig: () => AsyncData<ProjectConfigWithEtag>;
|
|
18
|
+
/**
|
|
19
|
+
* Mutation hook for updating project configuration.
|
|
20
|
+
*
|
|
21
|
+
* Updates scout.yaml while preserving comments and formatting.
|
|
22
|
+
* Requires the current etag for optimistic concurrency control.
|
|
23
|
+
*
|
|
24
|
+
* On success, updates the query cache with the new config and etag.
|
|
25
|
+
* On 412 Precondition Failed, the config was modified externally.
|
|
26
|
+
*/
|
|
27
|
+
export declare const useUpdateProjectConfig: () => UseMutationResult<ProjectConfigWithEtag, DefaultError, {
|
|
28
|
+
config: ProjectConfigInput;
|
|
29
|
+
etag: string | null;
|
|
30
|
+
}>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { skipToken } from '@tanstack/react-query';
|
|
2
|
+
import { AsyncData } from '@tsmono/util';
|
|
3
|
+
import { Status } from '../../types/api-types';
|
|
4
|
+
type ScanParams = {
|
|
5
|
+
scansDir: string;
|
|
6
|
+
scanPath: string;
|
|
7
|
+
};
|
|
8
|
+
export declare const useScan: (params: ScanParams | typeof skipToken) => AsyncData<Status>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { skipToken } from '@tanstack/react-query';
|
|
2
|
+
import { ColumnTable } from 'arquero';
|
|
3
|
+
import { AsyncData } from '@tsmono/util';
|
|
4
|
+
type ScanDataframeParams = {
|
|
5
|
+
scansDir: string;
|
|
6
|
+
scanPath: string;
|
|
7
|
+
scanner: string;
|
|
8
|
+
excludeColumns?: string[];
|
|
9
|
+
};
|
|
10
|
+
export declare const useScanDataframe: (params: ScanDataframeParams | typeof skipToken) => AsyncData<ColumnTable>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { skipToken } from '@tanstack/react-query';
|
|
2
|
+
import { AsyncData } from '@tsmono/util';
|
|
3
|
+
import { ScanResultDetail } from '../../api/api';
|
|
4
|
+
type ScanDataframeDetailParams = {
|
|
5
|
+
scansDir: string;
|
|
6
|
+
scanPath: string;
|
|
7
|
+
scanner: string;
|
|
8
|
+
uuid: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const useScanDataframeDetail: (params: ScanDataframeDetailParams | typeof skipToken) => AsyncData<ScanResultDetail>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { skipToken } from '@tanstack/react-query';
|
|
2
|
+
import { AsyncData } from '@tsmono/util';
|
|
3
|
+
import { ScalarValue } from '../../api/api';
|
|
4
|
+
import { Condition } from '../../query';
|
|
5
|
+
type ScansColumnValuesParams = {
|
|
6
|
+
location: string;
|
|
7
|
+
column: string;
|
|
8
|
+
filter: Condition | undefined;
|
|
9
|
+
};
|
|
10
|
+
export declare const useScansColumnValues: (params: ScansColumnValuesParams | typeof skipToken) => AsyncData<ScalarValue[]>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { CursorType } from '.';
|
|
2
|
+
import { InfiniteData, UseInfiniteQueryResult } from '@tanstack/react-query';
|
|
3
|
+
import { SortingState } from '@tanstack/react-table';
|
|
4
|
+
import { Condition } from '../../query';
|
|
5
|
+
import { ScansResponse } from '../../types/api-types';
|
|
6
|
+
export declare const useScansInfinite: (scansDir: string, pageSize?: number, filter?: Condition, sorting?: SortingState) => UseInfiniteQueryResult<InfiniteData<ScansResponse, CursorType | undefined>, Error>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { AsyncData } from '@tsmono/util';
|
|
2
|
+
import { SearchResultScope } from '../../api/api';
|
|
3
|
+
import { SearchInputListResponse, SearchRequest } from '../../types/api-types';
|
|
4
|
+
type SearchParams = {
|
|
5
|
+
transcriptDir: string;
|
|
6
|
+
transcriptId: string;
|
|
7
|
+
};
|
|
8
|
+
type SearchInputParams = {
|
|
9
|
+
searchType: SearchRequest["type"];
|
|
10
|
+
count?: number;
|
|
11
|
+
};
|
|
12
|
+
type CachedSearchResultParams = SearchParams & {
|
|
13
|
+
scope: SearchResultScope;
|
|
14
|
+
searchId: string | null;
|
|
15
|
+
};
|
|
16
|
+
export declare const DEFAULT_RECENT_SEARCH_COUNT = 20;
|
|
17
|
+
export declare const searchQueryKeys: {
|
|
18
|
+
searches: ({ searchType, count, }: SearchInputParams) => readonly ["searches", SearchRequest["type"], number];
|
|
19
|
+
cachedResult: ({ transcriptDir, transcriptId, scope, searchId, }: {
|
|
20
|
+
transcriptDir: string;
|
|
21
|
+
transcriptId: string;
|
|
22
|
+
scope: SearchResultScope;
|
|
23
|
+
searchId: string;
|
|
24
|
+
}) => readonly ["search-result", string, string, SearchResultScope, string];
|
|
25
|
+
};
|
|
26
|
+
export declare const useSearches: (params: SearchInputParams) => AsyncData<SearchInputListResponse>;
|
|
27
|
+
export declare const useCreateSearch: (params: SearchParams) => import('@tanstack/react-query').UseMutationResult<{
|
|
28
|
+
id: string;
|
|
29
|
+
result: import('../../types/generated').components["schemas"]["Result"];
|
|
30
|
+
}, Error, SearchRequest, unknown>;
|
|
31
|
+
export declare const useCachedSearchResult: (params: CachedSearchResultParams) => import('@tanstack/react-query').UseQueryResult<{
|
|
32
|
+
answer?: string | null;
|
|
33
|
+
explanation?: string | null;
|
|
34
|
+
label?: string | null;
|
|
35
|
+
metadata?: {
|
|
36
|
+
[key: string]: unknown;
|
|
37
|
+
} | null;
|
|
38
|
+
references: import('../../types/generated').components["schemas"]["Reference"][];
|
|
39
|
+
type?: string | null;
|
|
40
|
+
uuid?: string | null;
|
|
41
|
+
value: import('../../types/generated').components["schemas"]["JsonValue"];
|
|
42
|
+
} | null, Error>;
|
|
43
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { SortingState } from '@tanstack/react-table';
|
|
2
|
+
import { AsyncData } from '@tsmono/util';
|
|
3
|
+
import { Condition } from '../../query';
|
|
4
|
+
import { TranscriptsResponse } from '../../types/api-types';
|
|
5
|
+
export declare const useServerTranscripts: (location: string, filter?: Condition, sorting?: SortingState) => AsyncData<TranscriptsResponse>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CursorType } from '.';
|
|
2
|
+
import { InfiniteData, skipToken, UseInfiniteQueryResult } from '@tanstack/react-query';
|
|
3
|
+
import { SortingState } from '@tanstack/react-table';
|
|
4
|
+
import { Condition } from '../../query';
|
|
5
|
+
import { TranscriptsResponse } from '../../types/api-types';
|
|
6
|
+
type ServerTranscriptsInfiniteParams = {
|
|
7
|
+
location: string;
|
|
8
|
+
pageSize?: number;
|
|
9
|
+
filter?: Condition;
|
|
10
|
+
sorting?: SortingState;
|
|
11
|
+
};
|
|
12
|
+
export declare const useServerTranscriptsInfinite: (params: ServerTranscriptsInfiniteParams | typeof skipToken) => UseInfiniteQueryResult<InfiniteData<TranscriptsResponse, CursorType | undefined>, Error>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Monitors topic updates via SSE and invalidates dependent queries on change.
|
|
3
|
+
*
|
|
4
|
+
* For each topic whose timestamp changes, invalidates all queries containing
|
|
5
|
+
* that topic name in their query key.
|
|
6
|
+
*
|
|
7
|
+
* Call once at app root level.
|
|
8
|
+
*
|
|
9
|
+
* @returns true when first SSE message received (ready), false otherwise
|
|
10
|
+
*/
|
|
11
|
+
export declare const useTopicInvalidation: () => boolean;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { skipToken } from '@tanstack/react-query';
|
|
2
|
+
import { AsyncData } from '@tsmono/util';
|
|
3
|
+
import { Transcript } from '../../types/api-types';
|
|
4
|
+
type TranscriptParams = {
|
|
5
|
+
location: string;
|
|
6
|
+
id: string;
|
|
7
|
+
};
|
|
8
|
+
export declare const useTranscript: (params: TranscriptParams | typeof skipToken) => AsyncData<Transcript>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { skipToken } from '@tanstack/react-query';
|
|
2
|
+
import { AsyncData } from '@tsmono/util';
|
|
3
|
+
import { ScalarValue } from '../../api/api';
|
|
4
|
+
import { Condition } from '../../query';
|
|
5
|
+
type TranscriptsColumnValuesParams = {
|
|
6
|
+
location: string;
|
|
7
|
+
column: string;
|
|
8
|
+
filter: Condition | undefined;
|
|
9
|
+
};
|
|
10
|
+
export declare const useTranscriptsColumnValues: (params: TranscriptsColumnValuesParams | typeof skipToken) => AsyncData<ScalarValue[]>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { skipToken } from '@tanstack/react-query';
|
|
2
|
+
import { AsyncData } from '@tsmono/util';
|
|
3
|
+
import { ValidationCase, ValidationCaseRequest } from '../../types/api-types';
|
|
4
|
+
/**
|
|
5
|
+
* Query key factory for validation-related queries.
|
|
6
|
+
* Centralizes key definitions to ensure consistency between queries and invalidations.
|
|
7
|
+
*/
|
|
8
|
+
export declare const validationQueryKeys: {
|
|
9
|
+
sets: () => readonly ["validationSets"];
|
|
10
|
+
cases: (uri: string | typeof skipToken) => readonly ["validationCases", string | typeof skipToken];
|
|
11
|
+
case: (params: {
|
|
12
|
+
url: string;
|
|
13
|
+
caseId: string;
|
|
14
|
+
} | typeof skipToken) => readonly ["validationCase", typeof skipToken | {
|
|
15
|
+
url: string;
|
|
16
|
+
caseId: string;
|
|
17
|
+
}];
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Hook to fetch all validation set URIs in the project.
|
|
21
|
+
*/
|
|
22
|
+
export declare const useValidationSets: () => AsyncData<string[]>;
|
|
23
|
+
/**
|
|
24
|
+
* Hook to fetch validation cases for a specific validation set.
|
|
25
|
+
*/
|
|
26
|
+
export declare const useValidationCases: (uri: string | typeof skipToken) => AsyncData<ValidationCase[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Hook to fetch a single validation case by URI and case ID.
|
|
29
|
+
* Returns null (not an error) when the case is not found (404).
|
|
30
|
+
*/
|
|
31
|
+
export declare const useValidationCase: (params: {
|
|
32
|
+
url: string;
|
|
33
|
+
caseId: string;
|
|
34
|
+
} | typeof skipToken) => AsyncData<ValidationCase | null>;
|
|
35
|
+
/**
|
|
36
|
+
* Hook to create a new validation set.
|
|
37
|
+
*/
|
|
38
|
+
export declare const useCreateValidationSet: () => import('@tanstack/react-query').UseMutationResult<string, Error, {
|
|
39
|
+
cases: import('../../types/generated').components["schemas"]["ValidationCaseRequest"][];
|
|
40
|
+
path: string;
|
|
41
|
+
}, {
|
|
42
|
+
previous: string[] | undefined;
|
|
43
|
+
}>;
|
|
44
|
+
/**
|
|
45
|
+
* Hook to update a validation case (upsert).
|
|
46
|
+
* Uses optimistic updates to prevent UI flicker during save.
|
|
47
|
+
*/
|
|
48
|
+
export declare const useUpdateValidationCase: (uri: string) => import('@tanstack/react-query').UseMutationResult<{
|
|
49
|
+
id: string | string[];
|
|
50
|
+
labels?: {
|
|
51
|
+
[key: string]: boolean;
|
|
52
|
+
} | null;
|
|
53
|
+
predicate?: ("gt" | "gte" | "lt" | "lte" | "eq" | "ne" | "contains" | "startswith" | "endswith" | "icontains" | "iequals") | null;
|
|
54
|
+
split?: string | null;
|
|
55
|
+
target?: import('../../types/generated').components["schemas"]["JsonValue"] | null;
|
|
56
|
+
task_id?: string | null;
|
|
57
|
+
task_repeat?: number | null;
|
|
58
|
+
}, Error, {
|
|
59
|
+
caseId: string;
|
|
60
|
+
data: ValidationCaseRequest;
|
|
61
|
+
}, {
|
|
62
|
+
previousCase: ValidationCase | undefined;
|
|
63
|
+
previousCases: ValidationCase[] | undefined;
|
|
64
|
+
}>;
|
|
65
|
+
/**
|
|
66
|
+
* Hook to delete a single validation case.
|
|
67
|
+
*/
|
|
68
|
+
export declare const useDeleteValidationCase: (uri: string) => import('@tanstack/react-query').UseMutationResult<void, Error, string, unknown>;
|
|
69
|
+
/**
|
|
70
|
+
* Hook to delete multiple validation cases (bulk delete).
|
|
71
|
+
* Uses Promise.allSettled to handle partial failures gracefully.
|
|
72
|
+
*/
|
|
73
|
+
export declare const useBulkDeleteValidationCases: (uri: string) => import('@tanstack/react-query').UseMutationResult<{
|
|
74
|
+
succeeded: number;
|
|
75
|
+
failed: number;
|
|
76
|
+
}, Error, string[], unknown>;
|
|
77
|
+
/**
|
|
78
|
+
* Hook to delete an entire validation set.
|
|
79
|
+
*/
|
|
80
|
+
export declare const useDeleteValidationSet: () => import('@tanstack/react-query').UseMutationResult<void, Error, string, unknown>;
|
|
81
|
+
/**
|
|
82
|
+
* Hook to rename a validation set.
|
|
83
|
+
*/
|
|
84
|
+
export declare const useRenameValidationSet: () => import('@tanstack/react-query').UseMutationResult<string, Error, {
|
|
85
|
+
uri: string;
|
|
86
|
+
newName: string;
|
|
87
|
+
}, unknown>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { FC, RefObject } from 'react';
|
|
2
|
+
import { Event } from '@tsmono/inspect-common/types';
|
|
3
|
+
import { MarkerConfig } from '@tsmono/inspect-components/transcript';
|
|
4
|
+
import { ServerTimeline } from '../../../types/api-types';
|
|
5
|
+
import { TimelineOptions } from '../hooks/useTimeline';
|
|
6
|
+
interface TimelineEventsViewProps {
|
|
7
|
+
/** Raw events to display. Runs the full timeline pipeline internally. */
|
|
8
|
+
events: Event[];
|
|
9
|
+
/** Scroll container for StickyScroll and virtual list. */
|
|
10
|
+
scrollRef: RefObject<HTMLDivElement | null>;
|
|
11
|
+
/** Base offset for sticky positioning (e.g. tab bar height). Default: 0. */
|
|
12
|
+
offsetTop?: number;
|
|
13
|
+
/** Deep-link to a specific event on mount. */
|
|
14
|
+
initialEventId?: string | null;
|
|
15
|
+
/** Deep-link to a message ID, resolved to the best matching event. */
|
|
16
|
+
initialMessageId?: string | null;
|
|
17
|
+
/** Initial outline state when no persistent preference exists. Default: false (collapsed). */
|
|
18
|
+
defaultOutlineExpanded?: boolean;
|
|
19
|
+
/** Unique ID for the virtual list. */
|
|
20
|
+
id: string;
|
|
21
|
+
/** Bulk collapse/expand of all collapsible events. Omit for no-op. */
|
|
22
|
+
bulkCollapse?: "collapse" | "expand";
|
|
23
|
+
/** Called when a marker (error, compaction) is clicked on the swimlane.
|
|
24
|
+
* Optional `selectedKey` requests the bar be selected atomically with navigation. */
|
|
25
|
+
onMarkerNavigate?: (eventId: string, selectedKey?: string) => void;
|
|
26
|
+
/** Controls which marker kinds are shown and at what depth. */
|
|
27
|
+
markerConfig?: MarkerConfig;
|
|
28
|
+
/** Controls swimlane visibility. `"auto"` shows when data has child spans. Default: `"auto"`. */
|
|
29
|
+
timeline?: true | false | "auto";
|
|
30
|
+
/** Controls which agents are included in the timeline. */
|
|
31
|
+
agentConfig?: TimelineOptions;
|
|
32
|
+
/** Server-provided timelines (used when available instead of building from events). */
|
|
33
|
+
timelines?: ServerTimeline[];
|
|
34
|
+
/** Headroom direction signal: true = scrolling down (hide). */
|
|
35
|
+
headroomHidden?: boolean;
|
|
36
|
+
/** Reset the headroom anchor before a layout shift or programmatic scroll.
|
|
37
|
+
* Pass `true` to debounce (keeps lock alive while scrolling continues). */
|
|
38
|
+
onHeadroomResetAnchor?: (debounce?: boolean) => void;
|
|
39
|
+
/** Callback to generate a full deep-link URL for an event. */
|
|
40
|
+
getEventUrl?: (eventId: string) => string | undefined;
|
|
41
|
+
/** Whether deep-link copy buttons are enabled. */
|
|
42
|
+
linkingEnabled?: boolean;
|
|
43
|
+
/** Per-message labels rendered in model-call message gutters. */
|
|
44
|
+
messageLabels?: Record<string, string>;
|
|
45
|
+
/** Per-event labels rendered beside transcript event rows. */
|
|
46
|
+
eventLabels?: Record<string, string>;
|
|
47
|
+
className?: string;
|
|
48
|
+
}
|
|
49
|
+
export declare const TimelineEventsView: FC<TimelineEventsViewProps>;
|
|
50
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Timeline, UseActiveTimelineProps, UseActiveTimelineResult } from '@tsmono/inspect-components/transcript';
|
|
2
|
+
export type { UseActiveTimelineResult };
|
|
3
|
+
/** Creates UseActiveTimelineProps backed by URL search params. */
|
|
4
|
+
export declare function useActiveTimelineSearchParams(timelines: Timeline[]): UseActiveTimelineProps;
|
|
5
|
+
export declare function useActiveTimeline(timelines: Timeline[]): UseActiveTimelineResult;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createBranchSpan, findBranchesByBranchedFrom, BranchLookupResult, Timeline, TimelineOptions, TimelineState, UseTimelineProps } from '@tsmono/inspect-components/transcript';
|
|
2
|
+
export type { BranchLookupResult, TimelineOptions, TimelineState };
|
|
3
|
+
export { createBranchSpan, findBranchesByBranchedFrom };
|
|
4
|
+
/** Creates UseTimelineProps backed by URL search params. */
|
|
5
|
+
export declare function useTimelineSearchParams(): UseTimelineProps;
|
|
6
|
+
export declare function useTimeline(timeline: Timeline, options?: TimelineOptions): TimelineState;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Re-export shared useTimelineConfig hook.
|
|
3
|
+
*
|
|
4
|
+
* Scout consumers import from this path. The implementation lives in
|
|
5
|
+
* @tsmono/inspect-components.
|
|
6
|
+
*/
|
|
7
|
+
export { useTimelineConfig, type UseTimelineConfigResult, } from '@tsmono/inspect-components/transcript';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Event } from '@tsmono/inspect-common/types';
|
|
2
|
+
import { MarkerConfig, TranscriptTimelineResult } from '@tsmono/inspect-components/transcript';
|
|
3
|
+
import { ServerTimeline } from '../../../types/api-types';
|
|
4
|
+
import { TimelineOptions } from './useTimeline';
|
|
5
|
+
export type { TranscriptTimelineResult };
|
|
6
|
+
export declare function useTranscriptTimeline(events: Event[], markerConfig?: MarkerConfig, timelineOptions?: TimelineOptions, serverTimelines?: ServerTimeline[]): TranscriptTimelineResult;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TranscriptSearchScope } from './searchRequest';
|
|
2
|
+
type SearchPanelProps = {
|
|
3
|
+
scope: TranscriptSearchScope;
|
|
4
|
+
transcriptDir: string;
|
|
5
|
+
transcriptId: string;
|
|
6
|
+
onClose: () => void;
|
|
7
|
+
};
|
|
8
|
+
export declare const SearchPanel: (props: SearchPanelProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FC, RefObject } from 'react';
|
|
2
|
+
import { Transcript } from '../../types/api-types';
|
|
3
|
+
export declare const kTranscriptMessagesTabId = "transcript-messages";
|
|
4
|
+
export declare const kTranscriptEventsTabId = "transcript-events";
|
|
5
|
+
export declare const kTranscriptMetadataTabId = "transcript-metadata";
|
|
6
|
+
export declare const kTranscriptInfoTabId = "transcript-info";
|
|
7
|
+
interface TranscriptBodyProps {
|
|
8
|
+
transcript: Transcript;
|
|
9
|
+
scrollRef: RefObject<HTMLDivElement | null>;
|
|
10
|
+
/** Headroom direction signal: true = scrolling down (hide). */
|
|
11
|
+
headroomHidden?: boolean;
|
|
12
|
+
/** Reset the headroom anchor before a layout shift or programmatic scroll.
|
|
13
|
+
* Pass `true` to debounce (keeps lock alive while scrolling continues). */
|
|
14
|
+
onHeadroomResetAnchor?: (debounce?: boolean) => void;
|
|
15
|
+
}
|
|
16
|
+
export declare const TranscriptBody: FC<TranscriptBodyProps>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { Transcript } from '../../types/api-types';
|
|
3
|
+
interface TranscriptNavProps {
|
|
4
|
+
transcriptsDir: string;
|
|
5
|
+
transcript?: Transcript;
|
|
6
|
+
prevId?: string;
|
|
7
|
+
nextId?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const TranscriptNav: FC<TranscriptNavProps>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Event } from '@tsmono/inspect-common/types';
|
|
2
|
+
import { EventNode } from '@tsmono/inspect-components/transcript';
|
|
3
|
+
export declare function eventTree(events: ReadonlyArray<Event>): string;
|
|
4
|
+
export declare function eventNodeTree(nodes: ReadonlyArray<EventNode>): string;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TranscriptSearchScope } from '../searchRequest';
|
|
2
|
+
type UseSearchReferenceLabelsOptions = {
|
|
3
|
+
scope: TranscriptSearchScope;
|
|
4
|
+
transcriptDir: string | null | undefined;
|
|
5
|
+
transcriptId: string;
|
|
6
|
+
};
|
|
7
|
+
export type SearchReferenceLabels = {
|
|
8
|
+
messageLabels?: Record<string, string>;
|
|
9
|
+
eventLabels?: Record<string, string>;
|
|
10
|
+
};
|
|
11
|
+
export declare const useSearchReferenceLabels: ({ scope, transcriptDir, transcriptId, }: UseSearchReferenceLabelsOptions) => SearchReferenceLabels | undefined;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EventTypeValue } from '@tsmono/inspect-components/transcript';
|
|
2
|
+
export declare const kDefaultExcludedEventTypes: EventTypeValue[];
|
|
3
|
+
export declare const useTranscriptColumnFilter: () => {
|
|
4
|
+
excludedEventTypes: string[];
|
|
5
|
+
isDefaultFilter: boolean;
|
|
6
|
+
isDebugFilter: boolean;
|
|
7
|
+
setDefaultFilter: () => void;
|
|
8
|
+
setDebugFilter: () => void;
|
|
9
|
+
toggleEventType: (type: EventTypeValue, isCurrentlyExcluded: boolean) => void;
|
|
10
|
+
arrangedEventTypes: (columns?: number) => ("anchor" | "error" | "input" | "tool" | "state" | "step" | "sandbox" | "approval" | "branch" | "checkpoint" | "compaction" | "model" | "info" | "store" | "logger" | "span_begin" | "span_end" | "interrupt" | "sample_init" | "sample_limit" | "score_edit" | "score" | "subtask")[];
|
|
11
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook for generating deep link URLs to specific events or messages
|
|
3
|
+
* within a transcript.
|
|
4
|
+
*
|
|
5
|
+
* @returns Functions to generate URLs for event and message deep links
|
|
6
|
+
*/
|
|
7
|
+
export declare const useTranscriptNavigation: () => {
|
|
8
|
+
getEventUrl: (eventId: string, selectedKey?: string) => string | undefined;
|
|
9
|
+
getMessageUrl: (messageId: string) => string | undefined;
|
|
10
|
+
getEventMessageUrl: (messageId: string) => string | undefined;
|
|
11
|
+
getFullEventUrl: (eventId: string) => string | undefined;
|
|
12
|
+
getFullMessageUrl: (messageId: string) => string | undefined;
|
|
13
|
+
getFullEventMessageUrl: (messageId: string) => string | undefined;
|
|
14
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useTranscriptTimeline } from '../../timeline/hooks/useTranscriptTimeline';
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { GrepOptions, SearchType, TranscriptSearchScope } from './searchRequest';
|
|
2
|
+
export type GrepSearchPanelState = {
|
|
3
|
+
query: string;
|
|
4
|
+
grepOptions: GrepOptions;
|
|
5
|
+
searchId: string | null;
|
|
6
|
+
};
|
|
7
|
+
export type LlmSearchPanelState = {
|
|
8
|
+
query: string;
|
|
9
|
+
model: string;
|
|
10
|
+
searchId: string | null;
|
|
11
|
+
};
|
|
12
|
+
export type SearchPanelState = {
|
|
13
|
+
searchType: SearchType;
|
|
14
|
+
searches: {
|
|
15
|
+
grep: GrepSearchPanelState;
|
|
16
|
+
llm: LlmSearchPanelState;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
type StoredGrepSearchPanelState = Partial<Omit<GrepSearchPanelState, "grepOptions">> & {
|
|
20
|
+
grepOptions?: Partial<GrepOptions>;
|
|
21
|
+
};
|
|
22
|
+
export type StoredSearchPanelState = {
|
|
23
|
+
searchType?: SearchType;
|
|
24
|
+
searches?: {
|
|
25
|
+
grep?: StoredGrepSearchPanelState;
|
|
26
|
+
llm?: Partial<LlmSearchPanelState>;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export declare const createInitialSearchPanelState: () => SearchPanelState;
|
|
30
|
+
export declare const normalizeSearchPanelState: (state?: StoredSearchPanelState) => SearchPanelState;
|
|
31
|
+
export declare const getSearchPanelStateKey: ({ scope, transcriptDir, }: {
|
|
32
|
+
scope: TranscriptSearchScope;
|
|
33
|
+
transcriptDir: string;
|
|
34
|
+
}) => string;
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { SearchRequest } from '../../types/api-types';
|
|
2
|
+
export type SearchType = "grep" | "llm";
|
|
3
|
+
export type TranscriptSearchScope = "events" | "messages";
|
|
4
|
+
export type GrepOptions = {
|
|
5
|
+
ignoreCase: boolean;
|
|
6
|
+
regex: boolean;
|
|
7
|
+
wordBoundary: boolean;
|
|
8
|
+
};
|
|
9
|
+
type BuildSearchRequestOptions = {
|
|
10
|
+
grepOptions: GrepOptions;
|
|
11
|
+
model: string;
|
|
12
|
+
query: string;
|
|
13
|
+
scope: TranscriptSearchScope;
|
|
14
|
+
searchType: SearchType;
|
|
15
|
+
};
|
|
16
|
+
export type SearchScopeFields = {
|
|
17
|
+
events?: "all";
|
|
18
|
+
messages?: "all";
|
|
19
|
+
};
|
|
20
|
+
export declare const buildSearchScope: (scope: TranscriptSearchScope) => SearchScopeFields;
|
|
21
|
+
export declare const buildSearchRequest: ({ grepOptions, model, query, scope, searchType, }: BuildSearchRequestOptions) => SearchRequest;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { ScalarValue } from '../../api/api';
|
|
3
|
+
export declare const TranscriptFilterBar: FC<{
|
|
4
|
+
filterCodeValues?: Record<string, string>;
|
|
5
|
+
filterSuggestions?: ScalarValue[];
|
|
6
|
+
onFilterColumnChange?: (columnId: string | null) => void;
|
|
7
|
+
includeColumnPicker?: boolean;
|
|
8
|
+
}>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { ScalarValue } from '../../api/api';
|
|
3
|
+
import { TranscriptInfo } from '../../types/api-types';
|
|
4
|
+
interface TranscriptGridProps {
|
|
5
|
+
transcripts: TranscriptInfo[];
|
|
6
|
+
transcriptsDir?: string | null;
|
|
7
|
+
className?: string | string[];
|
|
8
|
+
/** Called when scroll position nears end; receives distance from bottom in px. */
|
|
9
|
+
onScrollNearEnd: (distanceFromBottom: number) => void;
|
|
10
|
+
/** Whether more data is available to fetch. */
|
|
11
|
+
hasMore: boolean;
|
|
12
|
+
/** Distance from bottom (in px) at which to trigger callback. */
|
|
13
|
+
fetchThreshold: number;
|
|
14
|
+
loading?: boolean;
|
|
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 TranscriptsGrid: FC<TranscriptGridProps>;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { TranscriptInfo } from '../../../types/api-types';
|
|
2
|
+
import { SizingStrategy as GenericSizingStrategy, SizingStrategyContext as GenericSizingStrategyContext } from '../../components/columnSizing';
|
|
3
|
+
import { TranscriptColumn } from '../columns';
|
|
4
|
+
/**
|
|
5
|
+
* Column sizing types for TranscriptsGrid.
|
|
6
|
+
* Re-exports shared types and provides transcript-specific type aliases.
|
|
7
|
+
*/
|
|
8
|
+
export { DEFAULT_MAX_SIZE, DEFAULT_MIN_SIZE, DEFAULT_SIZE, } from '../../components/columnSizing';
|
|
9
|
+
export type { ColumnSizeConstraints, ColumnSizingStrategyKey, } from '../../components/columnSizing';
|
|
10
|
+
/**
|
|
11
|
+
* Context provided to sizing strategies for computing column sizes.
|
|
12
|
+
* Uses transcript-specific column and data types.
|
|
13
|
+
*/
|
|
14
|
+
export interface SizingStrategyContext extends Omit<GenericSizingStrategyContext<TranscriptInfo>, "columns"> {
|
|
15
|
+
/** Column definitions */
|
|
16
|
+
columns: TranscriptColumn[];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Interface for column sizing strategies.
|
|
20
|
+
* Each strategy computes column sizes differently.
|
|
21
|
+
*/
|
|
22
|
+
export type SizingStrategy = GenericSizingStrategy<TranscriptInfo>;
|