@devqubit/ui 0.1.11 → 0.1.12
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/dist/api/client.d.ts +14 -5
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/components/ExportRunButton/ExportRunButton.d.ts +3 -3
- package/dist/components/ExportRunButton/ExportRunButton.d.ts.map +1 -1
- package/dist/components/Layout/Layout.d.ts.map +1 -1
- package/dist/components/MetricChart/MetricChart.d.ts +6 -0
- package/dist/components/MetricChart/MetricChart.d.ts.map +1 -0
- package/dist/components/MetricChart/index.d.ts +3 -0
- package/dist/components/MetricChart/index.d.ts.map +1 -0
- package/dist/components/RunsTable/RunsTable.d.ts.map +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/hooks/index.d.ts +51 -8
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/useTheme.d.ts +29 -0
- package/dist/hooks/useTheme.d.ts.map +1 -0
- package/dist/index.cjs +8 -8
- package/dist/index.d.ts +7 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1819 -1369
- package/dist/pages/RunDetailPage.d.ts.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/index.d.ts +8 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/index.d.ts +36 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/api/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RunSummary, RunRecord, Project, Group, Capabilities, DiffReport, Artifact } from '../types';
|
|
1
|
+
import { RunSummary, RunRecord, Project, Group, Capabilities, DiffReport, Artifact, MetricSeries } from '../types';
|
|
2
2
|
export declare class ApiError extends Error {
|
|
3
3
|
status: number;
|
|
4
4
|
constructor(status: number, message: string);
|
|
@@ -7,6 +7,14 @@ export interface ApiConfig {
|
|
|
7
7
|
baseUrl?: string;
|
|
8
8
|
headers?: Record<string, string>;
|
|
9
9
|
}
|
|
10
|
+
export interface RequestOptions {
|
|
11
|
+
body?: unknown;
|
|
12
|
+
params?: Record<string, unknown>;
|
|
13
|
+
/** Per-request headers merged over instance headers. */
|
|
14
|
+
headers?: Record<string, string>;
|
|
15
|
+
/** Fetch credentials mode. */
|
|
16
|
+
credentials?: RequestCredentials;
|
|
17
|
+
}
|
|
10
18
|
/**
|
|
11
19
|
* DevQubit API Client.
|
|
12
20
|
*
|
|
@@ -16,10 +24,7 @@ export declare class ApiClient {
|
|
|
16
24
|
protected baseUrl: string;
|
|
17
25
|
protected headers: Record<string, string>;
|
|
18
26
|
constructor(config?: ApiConfig);
|
|
19
|
-
protected request<T>(method: string, path: string, options?:
|
|
20
|
-
body?: unknown;
|
|
21
|
-
params?: Record<string, unknown>;
|
|
22
|
-
}): Promise<T>;
|
|
27
|
+
protected request<T>(method: string, path: string, options?: RequestOptions): Promise<T>;
|
|
23
28
|
getCapabilities(): Promise<Capabilities>;
|
|
24
29
|
listRuns(params?: {
|
|
25
30
|
project?: string;
|
|
@@ -84,6 +89,10 @@ export declare class ApiClient {
|
|
|
84
89
|
missing_objects: number;
|
|
85
90
|
}>;
|
|
86
91
|
getExportDownloadUrl(runId: string): string;
|
|
92
|
+
getMetricSeries(runId: string): Promise<{
|
|
93
|
+
run_id: string;
|
|
94
|
+
series: MetricSeries;
|
|
95
|
+
}>;
|
|
87
96
|
}
|
|
88
97
|
export declare const api: ApiClient;
|
|
89
98
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/api/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,OAAO,EACP,KAAK,EACL,YAAY,EACZ,UAAU,EACV,QAAQ,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
|
package/dist/api/index.d.ts
CHANGED
package/dist/api/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpD,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpD,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* ExportRunButton Component
|
|
3
3
|
*
|
|
4
4
|
* Provides run export functionality (bundle creation) for devqubit-ui.
|
|
5
|
+
* Uses the ApiClient from AppProvider so that Hub's CSRF / auth headers
|
|
6
|
+
* are included automatically.
|
|
5
7
|
*/
|
|
6
8
|
export interface ExportRunButtonProps {
|
|
7
9
|
/** Run ID to export */
|
|
@@ -14,8 +16,6 @@ export interface ExportRunButtonProps {
|
|
|
14
16
|
size?: 'default' | 'sm';
|
|
15
17
|
/** Additional class name */
|
|
16
18
|
className?: string;
|
|
17
|
-
/** Base URL for API requests */
|
|
18
|
-
apiBaseUrl?: string;
|
|
19
19
|
}
|
|
20
20
|
export interface ExportProgress {
|
|
21
21
|
status: 'idle' | 'preparing' | 'packing' | 'downloading' | 'complete' | 'error';
|
|
@@ -28,5 +28,5 @@ export interface ExportProgress {
|
|
|
28
28
|
/**
|
|
29
29
|
* Button that triggers run export/bundle download.
|
|
30
30
|
*/
|
|
31
|
-
export declare function ExportRunButton({ runId, runName, variant, size, className,
|
|
31
|
+
export declare function ExportRunButton({ runId, runName, variant, size, className, }: ExportRunButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
32
32
|
//# sourceMappingURL=ExportRunButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExportRunButton.d.ts","sourceRoot":"","sources":["../../../src/components/ExportRunButton/ExportRunButton.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ExportRunButton.d.ts","sourceRoot":"","sources":["../../../src/components/ExportRunButton/ExportRunButton.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,oBAAoB;IACnC,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAC5C,kBAAkB;IAClB,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,OAAO,CAAC;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,OAAO,EACP,OAAqB,EACrB,IAAW,EACX,SAAc,GACf,EAAE,oBAAoB,2CAoLtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout.d.ts","sourceRoot":"","sources":["../../../src/components/Layout/Layout.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAW,MAAM,aAAa,CAAC;AAYzD,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,QAAQ,EACT,EAAE;IACD,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAMA;AAED,wBAAgB,eAAe,IAAI,YAAY,GAAG,IAAI,CAErD;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"Layout.d.ts","sourceRoot":"","sources":["../../../src/components/Layout/Layout.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAW,MAAM,aAAa,CAAC;AAYzD,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,QAAQ,EACT,EAAE;IACD,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAMA;AAED,wBAAgB,eAAe,IAAI,YAAY,GAAG,IAAI,CAErD;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,WAAW,2CAqDpE;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,eAAe,2CAUvE"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { MetricSeries } from '../../types';
|
|
2
|
+
export interface MetricChartsProps {
|
|
3
|
+
series: MetricSeries;
|
|
4
|
+
}
|
|
5
|
+
export declare function MetricCharts({ series }: MetricChartsProps): import("react/jsx-runtime").JSX.Element | null;
|
|
6
|
+
//# sourceMappingURL=MetricChart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetricChart.d.ts","sourceRoot":"","sources":["../../../src/components/MetricChart/MetricChart.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,aAAa,CAAC;AAmX7D,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,iBAAiB,kDA6CzD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/MetricChart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunsTable.d.ts","sourceRoot":"","sources":["../../../src/components/RunsTable/RunsTable.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"RunsTable.d.ts","sourceRoot":"","sources":["../../../src/components/RunsTable/RunsTable.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,iBAAS,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,2CASrD;AAsCD,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,cAAc,2CAqG9F;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -15,4 +15,6 @@ export { GroupsTable } from './GroupsTable';
|
|
|
15
15
|
export type { GroupsTableProps } from './GroupsTable';
|
|
16
16
|
export { ExportRunButton } from './ExportRunButton';
|
|
17
17
|
export type { ExportRunButtonProps, ExportProgress } from './ExportRunButton';
|
|
18
|
+
export { MetricCharts } from './MetricChart';
|
|
19
|
+
export type { MetricChartsProps } from './MetricChart';
|
|
18
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG7D,cAAc,MAAM,CAAC;AAGrB,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACrD,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG7D,cAAc,MAAM,CAAC;AAGrB,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACrD,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG9E,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
import { ApiClient, ApiError } from '../api';
|
|
2
2
|
import { Capabilities, Workspace } from '../types';
|
|
3
|
+
/** Default polling interval for data fetching (ms). */
|
|
4
|
+
export declare const POLL_INTERVAL = 1000;
|
|
5
|
+
/**
|
|
6
|
+
* Configurable polling intervals.
|
|
7
|
+
*
|
|
8
|
+
* Providers can override these to tune polling frequency for their
|
|
9
|
+
* deployment scale (e.g. longer intervals for multi-user servers).
|
|
10
|
+
*/
|
|
11
|
+
export interface PollingConfig {
|
|
12
|
+
/** Interval while active (non-terminal) runs exist (ms). */
|
|
13
|
+
runsActive?: number;
|
|
14
|
+
/** Interval when all runs are terminal (ms). */
|
|
15
|
+
runsIdle?: number;
|
|
16
|
+
/** Interval for single-run detail while running (ms). */
|
|
17
|
+
runDetail?: number;
|
|
18
|
+
}
|
|
3
19
|
/** Async state for data fetching */
|
|
4
20
|
interface AsyncState<T> {
|
|
5
21
|
data: T | null;
|
|
@@ -12,6 +28,7 @@ interface AppContextValue {
|
|
|
12
28
|
capabilities: Capabilities | null;
|
|
13
29
|
currentWorkspace: Workspace | null;
|
|
14
30
|
setCurrentWorkspace: (workspace: Workspace | null) => void;
|
|
31
|
+
pollingConfig: Required<PollingConfig>;
|
|
15
32
|
}
|
|
16
33
|
/**
|
|
17
34
|
* App context provider props
|
|
@@ -20,19 +37,31 @@ export interface AppProviderProps {
|
|
|
20
37
|
children: React.ReactNode;
|
|
21
38
|
api?: ApiClient;
|
|
22
39
|
initialWorkspace?: Workspace | null;
|
|
40
|
+
pollingConfig?: PollingConfig;
|
|
23
41
|
}
|
|
24
42
|
/**
|
|
25
43
|
* App context provider component.
|
|
26
44
|
*
|
|
27
45
|
* Provides API client and shared state to child components.
|
|
28
46
|
*/
|
|
29
|
-
export declare function AppProvider({ children, api, initialWorkspace, }: AppProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
47
|
+
export declare function AppProvider({ children, api, initialWorkspace, pollingConfig, }: AppProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
30
48
|
/**
|
|
31
49
|
* Access app context.
|
|
32
50
|
*/
|
|
33
51
|
export declare function useApp(): AppContextValue;
|
|
52
|
+
/**
|
|
53
|
+
* Poll with setTimeout chain + visibility awareness.
|
|
54
|
+
*
|
|
55
|
+
* Uses setTimeout (not setInterval) so the next tick only starts after
|
|
56
|
+
* the previous fetch completes — prevents request pileup on slow connections.
|
|
57
|
+
* Pauses while the tab is hidden; refetches immediately on focus.
|
|
58
|
+
*/
|
|
59
|
+
export declare function usePolling(refetch: () => void | Promise<void>, intervalMs: number, active: boolean): void;
|
|
34
60
|
/**
|
|
35
61
|
* Fetch runs list with filters.
|
|
62
|
+
*
|
|
63
|
+
* Uses adaptive polling: faster while active runs exist, slower when idle.
|
|
64
|
+
* Also refetches instantly when the browser tab regains focus.
|
|
36
65
|
*/
|
|
37
66
|
export declare function useRuns(params?: {
|
|
38
67
|
project?: string;
|
|
@@ -43,19 +72,21 @@ export declare function useRuns(params?: {
|
|
|
43
72
|
runs: import('..').RunSummary[];
|
|
44
73
|
count: number;
|
|
45
74
|
}> & {
|
|
46
|
-
refetch: () => void
|
|
75
|
+
refetch: () => Promise<void>;
|
|
47
76
|
};
|
|
48
77
|
/**
|
|
49
78
|
* Fetch single run by ID.
|
|
79
|
+
*
|
|
80
|
+
* Polls while the run is in a non-terminal state.
|
|
50
81
|
*/
|
|
51
82
|
export declare function useRun(runId: string): AsyncState<import('..').RunRecord> & {
|
|
52
|
-
refetch: () => void
|
|
83
|
+
refetch: () => Promise<void>;
|
|
53
84
|
};
|
|
54
85
|
/**
|
|
55
86
|
* Fetch projects list.
|
|
56
87
|
*/
|
|
57
88
|
export declare function useProjects(): AsyncState<import('..').Project[]> & {
|
|
58
|
-
refetch: () => void
|
|
89
|
+
refetch: () => Promise<void>;
|
|
59
90
|
};
|
|
60
91
|
/**
|
|
61
92
|
* Fetch groups list.
|
|
@@ -63,7 +94,7 @@ export declare function useProjects(): AsyncState<import('..').Project[]> & {
|
|
|
63
94
|
export declare function useGroups(params?: {
|
|
64
95
|
project?: string;
|
|
65
96
|
}): AsyncState<import('..').Group[]> & {
|
|
66
|
-
refetch: () => void
|
|
97
|
+
refetch: () => Promise<void>;
|
|
67
98
|
};
|
|
68
99
|
/**
|
|
69
100
|
* Fetch group by ID.
|
|
@@ -72,7 +103,7 @@ export declare function useGroup(groupId: string): AsyncState<{
|
|
|
72
103
|
group_id: string;
|
|
73
104
|
runs: import('..').RunSummary[];
|
|
74
105
|
}> & {
|
|
75
|
-
refetch: () => void
|
|
106
|
+
refetch: () => Promise<void>;
|
|
76
107
|
};
|
|
77
108
|
/**
|
|
78
109
|
* Fetch diff report.
|
|
@@ -82,7 +113,7 @@ export declare function useDiff(runIdA: string, runIdB: string): AsyncState<{
|
|
|
82
113
|
run_b: import('..').RunSummary;
|
|
83
114
|
report: import('..').DiffReport;
|
|
84
115
|
}> & {
|
|
85
|
-
refetch: () => void
|
|
116
|
+
refetch: () => Promise<void>;
|
|
86
117
|
};
|
|
87
118
|
/**
|
|
88
119
|
* Fetch artifact metadata.
|
|
@@ -95,7 +126,7 @@ export declare function useArtifact(runId: string, index: number): AsyncState<{
|
|
|
95
126
|
preview_available: boolean;
|
|
96
127
|
error?: string;
|
|
97
128
|
}> & {
|
|
98
|
-
refetch: () => void
|
|
129
|
+
refetch: () => Promise<void>;
|
|
99
130
|
};
|
|
100
131
|
/**
|
|
101
132
|
* Hook for mutation operations (delete, set baseline, etc.)
|
|
@@ -105,5 +136,17 @@ export declare function useMutation<TArgs extends unknown[], TResult>(mutationFn
|
|
|
105
136
|
loading: boolean;
|
|
106
137
|
error: ApiError | null;
|
|
107
138
|
};
|
|
139
|
+
/**
|
|
140
|
+
* Fetch metric time-series for a run.
|
|
141
|
+
*
|
|
142
|
+
* Returns null when the run has no step-based metrics.
|
|
143
|
+
* Polls while the run is active so charts update in near-real-time.
|
|
144
|
+
* Does one final refetch when the run transitions to terminal state.
|
|
145
|
+
*/
|
|
146
|
+
export declare function useMetricSeries(runId: string, isRunning: boolean): AsyncState<import('../types').MetricSeries | null> & {
|
|
147
|
+
refetch: () => Promise<void>;
|
|
148
|
+
};
|
|
108
149
|
export type { AsyncState, AppContextValue, };
|
|
150
|
+
export { ThemeProvider, useTheme, useThemeOptional } from './useTheme';
|
|
151
|
+
export type { Theme, ThemeContextValue, ThemeProviderProps } from './useTheme';
|
|
109
152
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAqB,QAAQ,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export type Theme = 'light' | 'dark' | 'system';
|
|
3
|
+
export interface ThemeContextValue {
|
|
4
|
+
theme: Theme;
|
|
5
|
+
resolvedTheme: 'light' | 'dark';
|
|
6
|
+
setTheme: (theme: Theme) => void;
|
|
7
|
+
toggleTheme: () => void;
|
|
8
|
+
}
|
|
9
|
+
export interface ThemeProviderProps {
|
|
10
|
+
children: ReactNode;
|
|
11
|
+
defaultTheme?: Theme;
|
|
12
|
+
storageKey?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Default Theme Provider — always resolves to 'light'.
|
|
16
|
+
*
|
|
17
|
+
* Override by providing your own ThemeProvider that satisfies
|
|
18
|
+
* the same ThemeContextValue interface.
|
|
19
|
+
*/
|
|
20
|
+
export declare function ThemeProvider({ children }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
/**
|
|
22
|
+
* Hook to access theme context.
|
|
23
|
+
*/
|
|
24
|
+
export declare function useTheme(): ThemeContextValue;
|
|
25
|
+
/**
|
|
26
|
+
* Hook that returns theme context or defaults if not in ThemeProvider.
|
|
27
|
+
*/
|
|
28
|
+
export declare function useThemeOptional(): ThemeContextValue;
|
|
29
|
+
//# sourceMappingURL=useTheme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../src/hooks/useTheme.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,OAAO,GAAG,MAAM,CAAC;IAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAID,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,kBAAkB,2CAa7D;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,iBAAiB,CAW5C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,iBAAiB,CAEpD"}
|