@syncular/console 0.0.5-42 → 0.0.6-100
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/App.d.ts +3 -7
- package/dist/App.d.ts.map +1 -1
- package/dist/App.js +3 -3
- package/dist/App.js.map +1 -1
- package/dist/hooks/ConnectionContext.d.ts +4 -1
- package/dist/hooks/ConnectionContext.d.ts.map +1 -1
- package/dist/hooks/ConnectionContext.js +111 -14
- package/dist/hooks/ConnectionContext.js.map +1 -1
- package/dist/hooks/useLiveEvents.d.ts.map +1 -1
- package/dist/hooks/useLiveEvents.js +22 -3
- package/dist/hooks/useLiveEvents.js.map +1 -1
- package/dist/layout.d.ts +4 -1
- package/dist/layout.d.ts.map +1 -1
- package/dist/layout.js +7 -7
- package/dist/layout.js.map +1 -1
- package/dist/mount.d.ts +1 -0
- package/dist/mount.d.ts.map +1 -1
- package/dist/mount.js +1 -1
- package/dist/mount.js.map +1 -1
- package/dist/pages/Config.js +22 -14
- package/dist/pages/Config.js.map +1 -1
- package/dist/pages/Ops.js.map +1 -1
- package/dist/pages/Stream.d.ts.map +1 -1
- package/dist/pages/Stream.js +2 -3
- package/dist/pages/Stream.js.map +1 -1
- package/dist/routeTree.d.ts +1 -1
- package/dist/routeTree.d.ts.map +1 -1
- package/dist/routes/__root.d.ts +1 -1
- package/dist/routes/__root.d.ts.map +1 -1
- package/dist/routes/config.d.ts +1 -1
- package/dist/routes/config.d.ts.map +1 -1
- package/dist/routes/fleet.d.ts +1 -1
- package/dist/routes/fleet.d.ts.map +1 -1
- package/dist/routes/index.d.ts +1 -1
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/investigate-commit.d.ts +1 -1
- package/dist/routes/investigate-commit.d.ts.map +1 -1
- package/dist/routes/investigate-event.d.ts +1 -1
- package/dist/routes/investigate-event.d.ts.map +1 -1
- package/dist/routes/ops.d.ts +1 -1
- package/dist/routes/ops.d.ts.map +1 -1
- package/dist/routes/storage.d.ts +1 -1
- package/dist/routes/storage.d.ts.map +1 -1
- package/dist/routes/stream.d.ts +1 -1
- package/dist/routes/stream.d.ts.map +1 -1
- package/dist/static-server.d.ts.map +1 -1
- package/dist/static-server.js +6 -1
- package/dist/static-server.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +8 -8
- package/src/App.tsx +12 -10
- package/src/__tests__/static-server.test.ts +193 -0
- package/src/hooks/ConnectionContext.tsx +130 -14
- package/src/hooks/useLiveEvents.ts +27 -3
- package/src/layout.tsx +27 -4
- package/src/mount.tsx +6 -1
- package/src/pages/Config.tsx +55 -48
- package/src/pages/Stream.tsx +6 -3
- package/src/static-server.ts +12 -1
- package/web-dist/assets/index-D8JLMM1I.js +86 -0
- package/web-dist/assets/index-D_fQabjS.css +1 -0
- package/web-dist/console.css +1 -1
- package/web-dist/index.html +2 -2
- package/web-dist/site.webmanifest +2 -2
- package/web-dist/assets/index-BhPtRvK0.css +0 -1
- package/web-dist/assets/index-Fyq7dTrO.js +0 -86
package/dist/App.d.ts
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
|
+
import { type ConnectionStorageMode } from './hooks/ConnectionContext';
|
|
1
2
|
import type { ConnectionConfig } from './lib/api';
|
|
2
|
-
declare const routerForTypes: import("@tanstack/router-core").RouterCore<import("@tanstack/router-core").Route<Register, any, "/", "/", string, "__root__", undefined, {}, {}, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, {}, undefined, readonly [import("@tanstack/react-router").Route<unknown, import("@tanstack/react-router").RootRoute<Register, undefined, {}, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, {}, undefined, unknown, unknown, unknown, unknown, undefined>, "/", "/", string, "/", undefined, import("@tanstack/react-router").ResolveParams<"/">, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, {}, undefined, unknown, unknown, unknown, unknown, undefined>, import("@tanstack/react-router").Route<unknown, import("@tanstack/react-router").RootRoute<Register, undefined, {}, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, {}, undefined, unknown, unknown, unknown, unknown, undefined>, "/stream", "/stream", string, "/stream", undefined, import("@tanstack/react-router").ResolveParams<"/stream">, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, {}, undefined, unknown, unknown, unknown, unknown, undefined>, import("@tanstack/react-router").Route<unknown, import("@tanstack/react-router").RootRoute<Register, undefined, {}, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, {}, undefined, unknown, unknown, unknown, unknown, undefined>, "/investigate/commit/$seq", "/investigate/commit/$seq", string, "/investigate/commit/$seq", undefined, import("@tanstack/react-router").ResolveParams<"/investigate/commit/$seq">, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, {}, undefined, unknown, unknown, unknown, unknown, undefined>, import("@tanstack/react-router").Route<unknown, import("@tanstack/react-router").RootRoute<Register, undefined, {}, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, {}, undefined, unknown, unknown, unknown, unknown, undefined>, "/investigate/event/$id", "/investigate/event/$id", string, "/investigate/event/$id", undefined, import("@tanstack/react-router").ResolveParams<"/investigate/event/$id">, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, {}, undefined, unknown, unknown, unknown, unknown, undefined>, import("@tanstack/react-router").Route<unknown, import("@tanstack/react-router").RootRoute<Register, undefined, {}, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, {}, undefined, unknown, unknown, unknown, unknown, undefined>, "/fleet", "/fleet", string, "/fleet", undefined, import("@tanstack/react-router").ResolveParams<"/fleet">, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, {}, undefined, unknown, unknown, unknown, unknown, undefined>, import("@tanstack/react-router").Route<unknown, import("@tanstack/react-router").RootRoute<Register, undefined, {}, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, {}, undefined, unknown, unknown, unknown, unknown, undefined>, "/ops", "/ops", string, "/ops", undefined, import("@tanstack/react-router").ResolveParams<"/ops">, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, {}, undefined, unknown, unknown, unknown, unknown, undefined>, import("@tanstack/react-router").Route<unknown, import("@tanstack/react-router").RootRoute<Register, undefined, {}, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, {}, undefined, unknown, unknown, unknown, unknown, undefined>, "/storage", "/storage", string, "/storage", undefined, import("@tanstack/react-router").ResolveParams<"/storage">, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, {}, undefined, unknown, unknown, unknown, unknown, undefined>, import("@tanstack/react-router").Route<unknown, import("@tanstack/react-router").RootRoute<Register, undefined, {}, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, {}, undefined, unknown, unknown, unknown, unknown, undefined>, "/config", "/config", string, "/config", undefined, import("@tanstack/react-router").ResolveParams<"/config">, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, import("@tanstack/react-router").AnyContext, {}, undefined, unknown, unknown, unknown, unknown, undefined>], unknown, unknown, unknown, undefined>, "never", false, import("@tanstack/history").RouterHistory, Record<string, any>>;
|
|
3
|
-
declare module '@tanstack/react-router' {
|
|
4
|
-
interface Register {
|
|
5
|
-
router: typeof routerForTypes;
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
3
|
export interface SyncularConsoleProps {
|
|
9
4
|
basePath?: string;
|
|
10
5
|
defaultConfig?: ConnectionConfig | null;
|
|
6
|
+
autoConnect?: boolean;
|
|
7
|
+
storageMode?: ConnectionStorageMode;
|
|
11
8
|
}
|
|
12
9
|
export declare function App(props: SyncularConsoleProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
-
export {};
|
|
14
10
|
//# sourceMappingURL=App.d.ts.map
|
package/dist/App.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AASlD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC;AA4CD,wBAAgB,GAAG,CAAC,KAAK,EAAE,oBAAoB,2CAM9C"}
|
package/dist/App.js
CHANGED
|
@@ -2,11 +2,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
3
3
|
import { createRouter, RouterProvider } from '@tanstack/react-router';
|
|
4
4
|
import { useMemo, useState } from 'react';
|
|
5
|
-
import { ConnectionProvider } from './hooks/ConnectionContext.js';
|
|
5
|
+
import { ConnectionProvider, } from './hooks/ConnectionContext.js';
|
|
6
6
|
import { routeTree } from './routeTree.js';
|
|
7
7
|
import { normalizeBasePath, resolveConsoleBasePathFromMeta, resolveConsoleConnectionConfigFromMeta, } from './runtime-config.js';
|
|
8
8
|
import { SYNCULAR_CONSOLE_ROOT_CLASS } from './theme-scope.js';
|
|
9
|
-
const routerForTypes = createRouter({ routeTree, basepath: '/' });
|
|
10
9
|
function createDefaultQueryClient() {
|
|
11
10
|
return new QueryClient({
|
|
12
11
|
defaultOptions: {
|
|
@@ -26,7 +25,8 @@ function SyncularConsole(props) {
|
|
|
26
25
|
const defaultConfig = props.defaultConfig === undefined
|
|
27
26
|
? resolveConsoleConnectionConfigFromMeta()
|
|
28
27
|
: props.defaultConfig;
|
|
29
|
-
|
|
28
|
+
const autoConnect = props.autoConnect ?? props.defaultConfig === undefined;
|
|
29
|
+
return (_jsx(QueryClientProvider, { client: queryClient, children: _jsx(ConnectionProvider, { defaultConfig: defaultConfig, autoConnect: autoConnect, storageMode: props.storageMode, children: _jsx(RouterProvider, { router: router }) }) }));
|
|
30
30
|
}
|
|
31
31
|
export function App(props) {
|
|
32
32
|
return (_jsx("div", { className: SYNCULAR_CONSOLE_ROOT_CLASS, children: _jsx(SyncularConsole, { ...props }) }));
|
package/dist/App.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,
|
|
1
|
+
{"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EACL,kBAAkB,GAEnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,iBAAiB,EACjB,8BAA8B,EAC9B,sCAAsC,GACvC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAS5D,SAAS,wBAAwB,GAAgB;IAC/C,OAAO,IAAI,WAAW,CAAC;QACrB,cAAc,EAAE;YACd,OAAO,EAAE;gBACP,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE,CAAC;aACT;SACF;KACF,CAAC,CAAC;AAAA,CACJ;AAED,SAAS,eAAe,CAAC,QAA4B,EAAU;IAC7D,OAAO,iBAAiB,CAAC,QAAQ,IAAI,8BAA8B,EAAE,CAAC,CAAC;AAAA,CACxE;AAED,SAAS,eAAe,CAAC,KAA2B,EAAE;IACpD,MAAM,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CACH,YAAY,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EACxE,CAAC,KAAK,CAAC,QAAQ,CAAC,CACjB,CAAC;IAEF,MAAM,aAAa,GACjB,KAAK,CAAC,aAAa,KAAK,SAAS;QAC/B,CAAC,CAAC,sCAAsC,EAAE;QAC1C,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;IAC1B,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC;IAE3E,OAAO,CACL,KAAC,mBAAmB,IAAC,MAAM,EAAE,WAAW,YACtC,KAAC,kBAAkB,IACjB,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,KAAK,CAAC,WAAW,YAE9B,KAAC,cAAc,IAAC,MAAM,EAAE,MAAM,GAAI,GACf,GACD,CACvB,CAAC;AAAA,CACH;AAED,MAAM,UAAU,GAAG,CAAC,KAA2B,EAAE;IAC/C,OAAO,CACL,cAAK,SAAS,EAAE,2BAA2B,YACzC,KAAC,eAAe,OAAK,KAAK,GAAI,GAC1B,CACP,CAAC;AAAA,CACH"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import type { SyncClient } from '@syncular/transport-http';
|
|
5
5
|
import { type ReactNode } from 'react';
|
|
6
6
|
import { type ConnectionConfig } from '../lib/api';
|
|
7
|
+
export type ConnectionStorageMode = 'memory' | 'session' | 'local';
|
|
7
8
|
interface ConnectionContextValue {
|
|
8
9
|
config: ConnectionConfig | null;
|
|
9
10
|
setConfig: (config: ConnectionConfig | null) => void;
|
|
@@ -22,8 +23,10 @@ interface ConnectionContextValue {
|
|
|
22
23
|
interface ConnectionProviderProps {
|
|
23
24
|
children: ReactNode;
|
|
24
25
|
defaultConfig?: ConnectionConfig | null;
|
|
26
|
+
autoConnect?: boolean;
|
|
27
|
+
storageMode?: ConnectionStorageMode;
|
|
25
28
|
}
|
|
26
|
-
export declare function ConnectionProvider({ children, defaultConfig }: ConnectionProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export declare function ConnectionProvider({ children, defaultConfig, autoConnect, storageMode }: ConnectionProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
27
30
|
export declare function useConnection(): ConnectionContextValue;
|
|
28
31
|
export declare function useApiClient(): SyncClient | null;
|
|
29
32
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionContext.d.ts","sourceRoot":"","sources":["../../src/hooks/ConnectionContext.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAEL,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"ConnectionContext.d.ts","sourceRoot":"","sources":["../../src/hooks/ConnectionContext.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAEL,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AACf,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AA2DnE,UAAU,sBAAsB;IAC9B,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAC;IACrD,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,CACP,cAAc,CAAC,EAAE,gBAAgB,EACjC,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,KACpC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/D,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC;AAID,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,aAAoB,EACpB,WAAmB,EACnB,WAAuB,EACxB,EAAE,uBAAuB,2CAwLzB;AAcD,wBAAgB,aAAa,IAAI,sBAAsB,CAMtD;AAED,wBAAgB,YAAY,IAAI,UAAU,GAAG,IAAI,CAGhD"}
|
|
@@ -1,16 +1,83 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { createContext, useCallback, useContext, useEffect, useMemo, useState, } from 'react';
|
|
2
|
+
import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, } from 'react';
|
|
3
3
|
import { createConsoleClient, testConnection, } from '../lib/api.js';
|
|
4
|
-
|
|
4
|
+
const CONNECTION_STORAGE_KEY = 'sync-console-connection';
|
|
5
|
+
function normalizeConfig(config) {
|
|
6
|
+
if (!config)
|
|
7
|
+
return null;
|
|
8
|
+
const serverUrl = config.serverUrl?.trim() ?? '';
|
|
9
|
+
const token = config.token?.trim() ?? '';
|
|
10
|
+
if (!serverUrl || !token)
|
|
11
|
+
return null;
|
|
12
|
+
return { serverUrl, token };
|
|
13
|
+
}
|
|
14
|
+
function getStorageForMode(mode) {
|
|
15
|
+
if (typeof window === 'undefined')
|
|
16
|
+
return null;
|
|
17
|
+
if (mode === 'local')
|
|
18
|
+
return window.localStorage;
|
|
19
|
+
if (mode === 'session')
|
|
20
|
+
return window.sessionStorage;
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
function readStoredConfig(mode) {
|
|
24
|
+
const storage = getStorageForMode(mode);
|
|
25
|
+
if (!storage)
|
|
26
|
+
return null;
|
|
27
|
+
try {
|
|
28
|
+
const raw = storage.getItem(CONNECTION_STORAGE_KEY);
|
|
29
|
+
if (!raw)
|
|
30
|
+
return null;
|
|
31
|
+
return normalizeConfig(JSON.parse(raw));
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function writeStoredConfig(mode, config) {
|
|
38
|
+
const storage = getStorageForMode(mode);
|
|
39
|
+
if (!storage)
|
|
40
|
+
return;
|
|
41
|
+
try {
|
|
42
|
+
if (!config) {
|
|
43
|
+
storage.removeItem(CONNECTION_STORAGE_KEY);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
storage.setItem(CONNECTION_STORAGE_KEY, JSON.stringify(config));
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
// Ignore storage write errors.
|
|
50
|
+
}
|
|
51
|
+
}
|
|
5
52
|
const ConnectionContext = createContext(null);
|
|
6
|
-
export function ConnectionProvider({ children, defaultConfig = null, }) {
|
|
7
|
-
const [config,
|
|
53
|
+
export function ConnectionProvider({ children, defaultConfig = null, autoConnect = false, storageMode = 'session', }) {
|
|
54
|
+
const [config, setConfigState] = useState(() => readStoredConfig(storageMode));
|
|
55
|
+
useEffect(() => {
|
|
56
|
+
const storedConfig = readStoredConfig(storageMode);
|
|
57
|
+
setConfigState(storedConfig);
|
|
58
|
+
}, [storageMode]);
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
if (typeof window === 'undefined')
|
|
61
|
+
return;
|
|
62
|
+
if (storageMode !== 'local') {
|
|
63
|
+
window.localStorage.removeItem(CONNECTION_STORAGE_KEY);
|
|
64
|
+
}
|
|
65
|
+
if (storageMode === 'memory') {
|
|
66
|
+
window.sessionStorage.removeItem(CONNECTION_STORAGE_KEY);
|
|
67
|
+
}
|
|
68
|
+
}, [storageMode]);
|
|
69
|
+
const setConfigStorage = useCallback((nextConfig) => {
|
|
70
|
+
const normalized = normalizeConfig(nextConfig);
|
|
71
|
+
setConfigState(normalized);
|
|
72
|
+
writeStoredConfig(storageMode, normalized);
|
|
73
|
+
}, [storageMode]);
|
|
8
74
|
const [state, setState] = useState({
|
|
9
75
|
isConnected: false,
|
|
10
76
|
isConnecting: false,
|
|
11
77
|
error: null,
|
|
12
78
|
client: null,
|
|
13
79
|
});
|
|
80
|
+
const lastAutoConnectConfigKeyRef = useRef(null);
|
|
14
81
|
// Resolve initial config: saved config -> provided defaults
|
|
15
82
|
useEffect(() => {
|
|
16
83
|
if (config?.serverUrl?.trim() && config.token?.trim()) {
|
|
@@ -30,17 +97,14 @@ export function ConnectionProvider({ children, defaultConfig = null, }) {
|
|
|
30
97
|
setState((s) => ({ ...s, error: 'No connection configured' }));
|
|
31
98
|
return false;
|
|
32
99
|
}
|
|
33
|
-
const normalizedConfig =
|
|
34
|
-
serverUrl: effectiveConfig.serverUrl?.trim() ?? '',
|
|
35
|
-
token: effectiveConfig.token?.trim() ?? '',
|
|
36
|
-
};
|
|
100
|
+
const normalizedConfig = normalizeConfig(effectiveConfig);
|
|
37
101
|
// Validate config has required fields
|
|
38
|
-
if (!normalizedConfig
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
102
|
+
if (!normalizedConfig) {
|
|
103
|
+
const hasServerUrl = (effectiveConfig.serverUrl?.trim() ?? '').length > 0;
|
|
104
|
+
setState((s) => ({
|
|
105
|
+
...s,
|
|
106
|
+
error: hasServerUrl ? 'Token is required' : 'Server URL is required',
|
|
107
|
+
}));
|
|
44
108
|
return false;
|
|
45
109
|
}
|
|
46
110
|
if (overrideConfig && (options?.persistOverride ?? true)) {
|
|
@@ -102,8 +166,41 @@ export function ConnectionProvider({ children, defaultConfig = null, }) {
|
|
|
102
166
|
disconnect,
|
|
103
167
|
clearError,
|
|
104
168
|
}), [config, setConfig, state, connect, disconnect, clearError]);
|
|
169
|
+
useEffect(() => {
|
|
170
|
+
if (!autoConnect || state.isConnected || state.isConnecting) {
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
const candidate = config ?? defaultConfig;
|
|
174
|
+
const key = normalizeConfigKey(candidate);
|
|
175
|
+
if (!candidate || !key) {
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
if (lastAutoConnectConfigKeyRef.current === key) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
lastAutoConnectConfigKeyRef.current = key;
|
|
182
|
+
void connect(candidate, { persistOverride: true });
|
|
183
|
+
}, [
|
|
184
|
+
autoConnect,
|
|
185
|
+
config,
|
|
186
|
+
defaultConfig,
|
|
187
|
+
state.isConnected,
|
|
188
|
+
state.isConnecting,
|
|
189
|
+
connect,
|
|
190
|
+
]);
|
|
105
191
|
return (_jsx(ConnectionContext.Provider, { value: value, children: children }));
|
|
106
192
|
}
|
|
193
|
+
function normalizeConfigKey(config) {
|
|
194
|
+
if (!config) {
|
|
195
|
+
return null;
|
|
196
|
+
}
|
|
197
|
+
const serverUrl = config.serverUrl?.trim() ?? '';
|
|
198
|
+
const token = config.token?.trim() ?? '';
|
|
199
|
+
if (!serverUrl || !token) {
|
|
200
|
+
return null;
|
|
201
|
+
}
|
|
202
|
+
return `${serverUrl}\u0000${token}`;
|
|
203
|
+
}
|
|
107
204
|
export function useConnection() {
|
|
108
205
|
const context = useContext(ConnectionContext);
|
|
109
206
|
if (!context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionContext.js","sourceRoot":"","sources":["../../src/hooks/ConnectionContext.tsx"],"names":[],"mappings":";AAKA,OAAO,EACL,aAAa,EAEb,WAAW,EACX,UAAU,EACV,SAAS,EACT,OAAO,EACP,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAEL,mBAAmB,EACnB,cAAc,GACf,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ConnectionContext.js","sourceRoot":"","sources":["../../src/hooks/ConnectionContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLiveEvents.d.ts","sourceRoot":"","sources":["../../src/hooks/useLiveEvents.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAuB,SAAS,EAAE,MAAM,cAAc,CAAC;AAInE,UAAU,oBAAoB;IAC5B,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,mBAAmB;IAC3B,mCAAmC;IACnC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,mDAAmD;IACnD,WAAW,EAAE,OAAO,CAAC;IACrB,iCAAiC;IACjC,eAAe,EAAE,YAAY,GAAG,WAAW,GAAG,OAAO,GAAG,cAAc,CAAC;IACvE,8BAA8B;IAC9B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,uCAAuC;IACvC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAOD,wBAAgB,aAAa,CAC3B,OAAO,GAAE,oBAAyB,GACjC,mBAAmB,
|
|
1
|
+
{"version":3,"file":"useLiveEvents.d.ts","sourceRoot":"","sources":["../../src/hooks/useLiveEvents.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAuB,SAAS,EAAE,MAAM,cAAc,CAAC;AAInE,UAAU,oBAAoB;IAC5B,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,mBAAmB;IAC3B,mCAAmC;IACnC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,mDAAmD;IACnD,WAAW,EAAE,OAAO,CAAC;IACrB,iCAAiC;IACjC,eAAe,EAAE,YAAY,GAAG,WAAW,GAAG,OAAO,GAAG,cAAc,CAAC;IACvE,8BAA8B;IAC9B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,uCAAuC;IACvC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAOD,wBAAgB,aAAa,CAC3B,OAAO,GAAE,oBAAyB,GACjC,mBAAmB,CAwWrB"}
|
|
@@ -169,7 +169,6 @@ export function useLiveEvents(options = {}) {
|
|
|
169
169
|
: baseUrl.pathname;
|
|
170
170
|
baseUrl.pathname = `${normalizedPath}/console/events/live`;
|
|
171
171
|
baseUrl.search = '';
|
|
172
|
-
baseUrl.searchParams.set('token', config.token);
|
|
173
172
|
if (lastEventTimestampRef.current) {
|
|
174
173
|
baseUrl.searchParams.set('since', lastEventTimestampRef.current);
|
|
175
174
|
}
|
|
@@ -190,8 +189,19 @@ export function useLiveEvents(options = {}) {
|
|
|
190
189
|
return;
|
|
191
190
|
}
|
|
192
191
|
reconnectAttemptsRef.current = 0;
|
|
193
|
-
markActivity();
|
|
194
192
|
setError(null);
|
|
193
|
+
setConnectionState('connecting');
|
|
194
|
+
setIsConnected(false);
|
|
195
|
+
try {
|
|
196
|
+
ws.send(JSON.stringify({
|
|
197
|
+
type: 'auth',
|
|
198
|
+
token: config.token,
|
|
199
|
+
}));
|
|
200
|
+
}
|
|
201
|
+
catch {
|
|
202
|
+
ws.close();
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
195
205
|
clearStaleInterval();
|
|
196
206
|
staleCheckIntervalRef.current = setInterval(() => {
|
|
197
207
|
const socket = wsRef.current;
|
|
@@ -227,7 +237,16 @@ export function useLiveEvents(options = {}) {
|
|
|
227
237
|
const eventType = data.type;
|
|
228
238
|
markActivity();
|
|
229
239
|
// Skip control events
|
|
230
|
-
if (eventType === 'connected' ||
|
|
240
|
+
if (eventType === 'connected' ||
|
|
241
|
+
eventType === 'heartbeat' ||
|
|
242
|
+
eventType === 'auth_required') {
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
if (eventType === 'error') {
|
|
246
|
+
const message = typeof data.message === 'string'
|
|
247
|
+
? data.message
|
|
248
|
+
: 'Live events authentication failed';
|
|
249
|
+
setError(new Error(message));
|
|
231
250
|
return;
|
|
232
251
|
}
|
|
233
252
|
const liveEvent = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLiveEvents.js","sourceRoot":"","sources":["../../src/hooks/useLiveEvents.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useLiveEvents.js","sourceRoot":"","sources":["../../src/hooks/useLiveEvents.ts"],"names":[],"mappings":"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"}
|
package/dist/layout.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
1
2
|
interface ConsoleLayoutProps {
|
|
2
3
|
basePath?: string;
|
|
4
|
+
appHref?: string;
|
|
5
|
+
modeBadge?: ReactNode;
|
|
3
6
|
}
|
|
4
|
-
export declare function ConsoleLayout({ basePath }: ConsoleLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare function ConsoleLayout({ basePath, appHref, modeBadge }: ConsoleLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
5
8
|
export {};
|
|
6
9
|
//# sourceMappingURL=layout.d.ts.map
|
package/dist/layout.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AASvC,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAoCD,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,OAAO,EACP,SAAS,EACV,EAAE,kBAAkB,2CA+KpB"}
|
package/dist/layout.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { BottomBar, Button, ConnectionStatusBadge, Input, NavPill, NavPillGroup, SyncularBrand, TopNavigation, } from '@syncular/ui';
|
|
2
|
+
import { Badge, BottomBar, Button, ConnectionStatusBadge, Input, NavPill, NavPillGroup, navActionLinkClassName, SyncularBrand, TopNavigation, } from '@syncular/ui';
|
|
3
3
|
import { Link, Outlet, useRouterState } from '@tanstack/react-router';
|
|
4
|
-
import { Settings } from 'lucide-react';
|
|
4
|
+
import { ArrowLeft, Settings } from 'lucide-react';
|
|
5
5
|
import { useMemo } from 'react';
|
|
6
6
|
import { useConnection } from './hooks/ConnectionContext.js';
|
|
7
7
|
import { useStats } from './hooks/useConsoleApi.js';
|
|
@@ -29,7 +29,7 @@ function resolvePath(basePath, suffix) {
|
|
|
29
29
|
return suffix || '/';
|
|
30
30
|
return suffix ? `${basePath}${suffix}` : basePath;
|
|
31
31
|
}
|
|
32
|
-
export function ConsoleLayout({ basePath }) {
|
|
32
|
+
export function ConsoleLayout({ basePath, appHref, modeBadge, }) {
|
|
33
33
|
const { connect, config, isConnected, isConnecting } = useConnection();
|
|
34
34
|
const { preferences } = usePreferences();
|
|
35
35
|
const { instanceId, rawInstanceId, setInstanceId, clearInstanceId } = useInstanceContext();
|
|
@@ -70,11 +70,11 @@ export function ConsoleLayout({ basePath }) {
|
|
|
70
70
|
},
|
|
71
71
|
]
|
|
72
72
|
: [];
|
|
73
|
-
return (_jsxs("div", { className: `${SYNCULAR_CONSOLE_ROOT_CLASS} h-screen bg-background text-foreground flex flex-col`, children: [_jsx(TopNavigation, { brand: _jsx(Link, { to: commandPath, children: _jsx(SyncularBrand, { label: "console" }) }), center: _jsx(NavPillGroup, { items: resolvedNavItems, activeId: activeId, renderItem: (item, { active }) => (_jsx(Link, { to: item.id, children: _jsx(NavPill, { active: active, children: item.label }) }, item.id)) }), right: _jsxs("div", { className: "flex items-center gap-2", children: [
|
|
74
|
-
_jsxs("div", { className: "flex items-center gap-1", children: [
|
|
73
|
+
return (_jsxs("div", { className: `${SYNCULAR_CONSOLE_ROOT_CLASS} h-screen bg-background text-foreground flex flex-col`, children: [_jsx(TopNavigation, { brand: _jsx(Link, { to: commandPath, children: _jsx(SyncularBrand, { label: "console" }) }), center: _jsx(NavPillGroup, { items: resolvedNavItems, activeId: activeId, renderItem: (item, { active }) => (_jsx(Link, { to: item.id, children: _jsx(NavPill, { active: active, children: item.label }) }, item.id)) }), right: _jsxs("div", { className: "flex items-center gap-2", children: [modeBadge ? (_jsx(Badge, { variant: "flow", className: "hidden md:inline-flex px-2 py-1 text-[10px]", children: modeBadge })) : null, _jsxs("div", { className: "flex items-center gap-1", children: [
|
|
75
74
|
_jsx("span", { className: "font-mono text-[9px] text-neutral-500 uppercase tracking-wide", children: "Instance" }), _jsx(Input, { variant: "mono", value: rawInstanceId, onChange: (event) => setInstanceId(event.target.value), onBlur: (event) => setInstanceId(event.target.value.trim()), placeholder: "all", className: "h-7 w-[110px] px-2 py-1" }), instanceId ? (_jsx(Button, { variant: "ghost", size: "sm", className: "h-7 px-2 text-[10px]", onClick: clearInstanceId, children: "All" })) : null] }), _jsxs("div", { className: "flex items-center gap-1", children: [
|
|
76
|
-
_jsx("span", { className: "font-mono text-[9px] text-neutral-500 uppercase tracking-wide", children: "Partition" }), _jsx(Input, { variant: "mono", value: rawPartitionId, onChange: (event) => setPartitionId(event.target.value), onBlur: (event) => setPartitionId(event.target.value.trim()), placeholder: "all", className: "h-7 w-[110px] px-2 py-1" }), partitionId ? (_jsx(Button, { variant: "ghost", size: "sm", className: "h-7 px-2 text-[10px]", onClick: clearPartitionId, children: "All" })) : null] }), _jsx(ConnectionStatusBadge, { state: connectionState }), _jsx(Link, { to: configPath, children: _jsx(Button, { variant: pathname === configPath ? 'secondary' : 'ghost', size: "icon", children: _jsx(Settings, {}) }) })
|
|
77
|
-
|
|
75
|
+
_jsx("span", { className: "font-mono text-[9px] text-neutral-500 uppercase tracking-wide", children: "Partition" }), _jsx(Input, { variant: "mono", value: rawPartitionId, onChange: (event) => setPartitionId(event.target.value), onBlur: (event) => setPartitionId(event.target.value.trim()), placeholder: "all", className: "h-7 w-[110px] px-2 py-1" }), partitionId ? (_jsx(Button, { variant: "ghost", size: "sm", className: "h-7 px-2 text-[10px]", onClick: clearPartitionId, children: "All" })) : null] }), _jsx(ConnectionStatusBadge, { state: connectionState }), _jsx(Link, { to: configPath, children: _jsx(Button, { variant: pathname === configPath ? 'secondary' : 'ghost', size: "icon", children: _jsx(Settings, { className: "h-3 w-3" }) }) }), appHref ? (_jsxs("a", { href: appHref, className: navActionLinkClassName, children: [
|
|
76
|
+
_jsx(ArrowLeft, { className: "h-3 w-3" }),
|
|
77
|
+
"Go to app"] })) : null] }) }), _jsx("main", { className: "flex-1 overflow-auto pb-[32px]", children: _jsx("div", { className: "min-h-full", children: isConnected || pathname === configPath ? (_jsx("div", { style: { animation: 'pageIn 0.3s ease-out' }, children: _jsx(Outlet, {}) }, pathname)) : (_jsx(NotConnectedFallback, { configPath: configPath, hasSavedConfig: Boolean(config), isConnecting: isConnecting, onConnect: () => {
|
|
78
78
|
void connect();
|
|
79
79
|
} })) }) }), isConnected && (_jsx(BottomBar, { isLive: isConnected, metrics: bottomMetrics, uptime: "--" }))] }));
|
|
80
80
|
}
|
package/dist/layout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,SAAS,EACT,MAAM,EACN,qBAAqB,EACrB,KAAK,EACL,OAAO,EACP,YAAY,EACZ,aAAa,EACb,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.tsx"],"names":[],"mappings":"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"}
|
package/dist/mount.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ interface MountSyncularConsoleOptions {
|
|
|
4
4
|
strictMode?: boolean;
|
|
5
5
|
basePath?: SyncularConsoleProps['basePath'];
|
|
6
6
|
defaultConfig?: SyncularConsoleProps['defaultConfig'];
|
|
7
|
+
autoConnect?: SyncularConsoleProps['autoConnect'];
|
|
7
8
|
}
|
|
8
9
|
export declare function mountSyncularConsoleApp(containerOrSelector: Element | string, options?: MountSyncularConsoleOptions): Root;
|
|
9
10
|
export {};
|
package/dist/mount.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../src/mount.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAO,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAGvD,UAAU,2BAA2B;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC5C,aAAa,CAAC,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../src/mount.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAO,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAGvD,UAAU,2BAA2B;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC5C,aAAa,CAAC,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAC;IACtD,WAAW,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;CACnD;AAiBD,wBAAgB,uBAAuB,CACrC,mBAAmB,EAAE,OAAO,GAAG,MAAM,EACrC,OAAO,GAAE,2BAAgC,GACxC,IAAI,CAoBN"}
|
package/dist/mount.js
CHANGED
|
@@ -17,7 +17,7 @@ export function mountSyncularConsoleApp(containerOrSelector, options = {}) {
|
|
|
17
17
|
const container = resolveContainer(containerOrSelector);
|
|
18
18
|
applyConsoleThemeScope(container);
|
|
19
19
|
const root = createRoot(container);
|
|
20
|
-
const app = (_jsx(App, { basePath: options.basePath, defaultConfig: options.defaultConfig }));
|
|
20
|
+
const app = (_jsx(App, { basePath: options.basePath, defaultConfig: options.defaultConfig, autoConnect: options.autoConnect }));
|
|
21
21
|
if (options.strictMode === false) {
|
|
22
22
|
root.render(app);
|
|
23
23
|
return root;
|
package/dist/mount.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount.js","sourceRoot":"","sources":["../src/mount.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,UAAU,EAAa,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,GAAG,EAA6B,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"mount.js","sourceRoot":"","sources":["../src/mount.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,UAAU,EAAa,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,GAAG,EAA6B,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AASvD,SAAS,gBAAgB,CAAC,mBAAqC,EAAW;IACxE,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAC9D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,4BAA4B,mBAAmB,YAAY,CAC5D,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AAAA,CAClB;AAED,MAAM,UAAU,uBAAuB,CACrC,mBAAqC,EACrC,OAAO,GAAgC,EAAE,EACnC;IACN,MAAM,SAAS,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IACxD,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAElC,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,CACV,KAAC,GAAG,IACF,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAC1B,aAAa,EAAE,OAAO,CAAC,aAAa,EACpC,WAAW,EAAE,OAAO,CAAC,WAAW,GAChC,CACH,CAAC;IAEF,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,KAAC,UAAU,cAAE,GAAG,GAAc,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC;AAAA,CACb"}
|
package/dist/pages/Config.js
CHANGED
|
@@ -17,14 +17,23 @@ function ConnectionTab() {
|
|
|
17
17
|
const [clearSavedConfigOnDisconnect, setClearSavedConfigOnDisconnect] = useLocalStorage('console:disconnect-clear-saved-config', false);
|
|
18
18
|
useEffect(() => {
|
|
19
19
|
const params = new URLSearchParams(window.location.search);
|
|
20
|
-
const urlToken = params.get('token');
|
|
21
20
|
const urlServer = params.get('server');
|
|
22
|
-
|
|
23
|
-
setToken(urlToken);
|
|
24
|
-
window.history.replaceState({}, '', window.location.pathname);
|
|
25
|
-
}
|
|
21
|
+
let shouldReplaceUrl = false;
|
|
26
22
|
if (urlServer) {
|
|
27
23
|
setServerUrl(urlServer);
|
|
24
|
+
params.delete('server');
|
|
25
|
+
shouldReplaceUrl = true;
|
|
26
|
+
}
|
|
27
|
+
if (params.has('token')) {
|
|
28
|
+
params.delete('token');
|
|
29
|
+
shouldReplaceUrl = true;
|
|
30
|
+
}
|
|
31
|
+
if (shouldReplaceUrl) {
|
|
32
|
+
const nextQuery = params.toString();
|
|
33
|
+
const nextUrl = nextQuery
|
|
34
|
+
? `${window.location.pathname}?${nextQuery}`
|
|
35
|
+
: window.location.pathname;
|
|
36
|
+
window.history.replaceState({}, '', nextUrl);
|
|
28
37
|
}
|
|
29
38
|
}, []);
|
|
30
39
|
useEffect(() => {
|
|
@@ -331,7 +340,7 @@ function ApiKeysTab() {
|
|
|
331
340
|
expiringWithinDaysInput.trim().length > 0 ? (_jsx("p", { className: "font-mono text-[10px] text-offline", children: "Enter a positive whole number." })) : null] })
|
|
332
341
|
] }), data?.items.length === 0 ? (_jsx(EmptyState, { message: "No API keys match the current filters." })) : (_jsxs(Table, { children: [
|
|
333
342
|
_jsx(TableHeader, { children: _jsxs(TableRow, { children: [
|
|
334
|
-
_jsx(TableHead, { children: _jsx(Checkbox, { checked: allSelectableChecked, indeterminate: !allSelectableChecked &&
|
|
343
|
+
_jsx(TableHead, { className: "w-[28px]", children: _jsx(Checkbox, { checked: allSelectableChecked, indeterminate: !allSelectableChecked &&
|
|
335
344
|
someSelectableChecked &&
|
|
336
345
|
selectableKeyIds.length > 0, onCheckedChange: (checked) => {
|
|
337
346
|
if (checked) {
|
|
@@ -340,22 +349,21 @@ function ApiKeysTab() {
|
|
|
340
349
|
else {
|
|
341
350
|
setSelectedKeyIds([]);
|
|
342
351
|
}
|
|
343
|
-
}, "aria-label": "Select all active keys" }) }), _jsx(TableHead, { children: "NAME" }), _jsx(TableHead, { children: "TYPE" }), _jsx(TableHead, { children: "KEY PREFIX" }), _jsx(TableHead, { children: "ACTOR" }), _jsx(TableHead, { children: "SCOPES" }), _jsx(TableHead, { children: "CREATED" }), _jsx(TableHead, { children: "LAST USED" }), _jsx(TableHead, { children: "EXPIRES" }), _jsx(TableHead, {
|
|
352
|
+
}, "aria-label": "Select all active keys" }) }), _jsx(TableHead, { className: "w-[100px]", children: "NAME" }), _jsx(TableHead, { className: "w-[55px]", children: "TYPE" }), _jsx(TableHead, { className: "w-[90px]", children: "KEY PREFIX" }), _jsx(TableHead, { className: "w-[80px]", children: "ACTOR" }), _jsx(TableHead, { className: "w-[100px]", children: "SCOPES" }), _jsx(TableHead, { className: "w-[120px]", children: "CREATED" }), _jsx(TableHead, { className: "w-[120px]", children: "LAST USED" }), _jsx(TableHead, { className: "w-[120px]", children: "EXPIRES" }), _jsx(TableHead, { className: "flex-1", children: "STATUS" })
|
|
344
353
|
] }) }), _jsx(TableBody, { children: (data?.items ?? []).map((apiKey) => {
|
|
345
354
|
const lifecycleStatus = getApiKeyLifecycleStatus(apiKey, effectiveExpiringWithinDays);
|
|
346
|
-
return (_jsxs(TableRow, { children: [
|
|
347
|
-
_jsx(TableCell, { children: _jsx(Checkbox, { checked: selectedKeyIds.includes(apiKey.keyId), onCheckedChange: (checked) => {
|
|
355
|
+
return (_jsxs(TableRow, { className: "group relative", children: [
|
|
356
|
+
_jsx(TableCell, { className: "w-[28px]", children: _jsx(Checkbox, { checked: selectedKeyIds.includes(apiKey.keyId), onCheckedChange: (checked) => {
|
|
348
357
|
setSelectedKeyIds((current) => checked
|
|
349
358
|
? [...new Set([...current, apiKey.keyId])]
|
|
350
359
|
: current.filter((keyId) => keyId !== apiKey.keyId));
|
|
351
|
-
}, "aria-label": `Select ${apiKey.name}`, disabled: apiKey.revokedAt !== null }) }), _jsx(TableCell, { className: "font-medium", children: apiKey.name }), _jsx(TableCell, { children: _jsx(Badge, { variant: apiKey.keyType === 'admin'
|
|
360
|
+
}, "aria-label": `Select ${apiKey.name}`, disabled: apiKey.revokedAt !== null }) }), _jsx(TableCell, { className: "w-[100px] font-medium", children: apiKey.name }), _jsx(TableCell, { className: "w-[55px]", children: _jsx(Badge, { variant: apiKey.keyType === 'admin'
|
|
352
361
|
? 'flow'
|
|
353
362
|
: apiKey.keyType === 'proxy'
|
|
354
363
|
? 'ghost'
|
|
355
|
-
: 'relay', children: apiKey.keyType }) }), _jsx(TableCell, { children: _jsxs("code", { className: "font-mono text-[11px]", children: [apiKey.keyPrefix, "..."] }) }), _jsx(TableCell, { className: "text-neutral-500", children: apiKey.actorId ?? '-' }), _jsx(TableCell, { className: "
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
] }, apiKey.keyId));
|
|
364
|
+
: 'relay', children: apiKey.keyType }) }), _jsx(TableCell, { className: "w-[90px]", children: _jsxs("code", { className: "font-mono text-[11px]", children: [apiKey.keyPrefix, "..."] }) }), _jsx(TableCell, { className: "w-[80px] text-neutral-500", children: apiKey.actorId ?? '-' }), _jsx(TableCell, { className: "w-[100px] text-neutral-500", children: _jsx("code", { className: "font-mono text-[10px]", children: summarizeScopeKeys(apiKey.scopeKeys) }) }), _jsx(TableCell, { className: "w-[120px] text-neutral-500", children: formatOptionalDateTime(apiKey.createdAt) }), _jsx(TableCell, { className: "w-[120px] text-neutral-500", children: formatOptionalDateTime(apiKey.lastUsedAt) }), _jsx(TableCell, { className: "w-[120px] text-neutral-500", children: formatOptionalDateTime(apiKey.expiresAt) }), _jsx(TableCell, { className: "flex-1", children: _jsx(Badge, { variant: getApiKeyStatusBadgeVariant(lifecycleStatus), children: lifecycleStatus }) }), apiKey.revokedAt === null && (_jsxs("div", { className: "absolute right-2 top-1/2 -translate-y-1/2 flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity", children: [
|
|
365
|
+
_jsx("button", { type: "button", onClick: () => setStagingRotateKey(apiKey), className: "px-1.5 py-0.5 rounded text-[9px] font-mono text-neutral-600 hover:text-white hover:bg-white/[0.05] cursor-pointer transition-colors", children: "stage" }), _jsx("button", { type: "button", onClick: () => setRotatingKeyId(apiKey.keyId), className: "px-1.5 py-0.5 rounded text-[9px] font-mono text-neutral-600 hover:text-white hover:bg-white/[0.05] cursor-pointer transition-colors", children: "rotate" }), _jsx("button", { type: "button", onClick: () => setRevokingKeyId(apiKey.keyId), className: "px-1.5 py-0.5 rounded text-[9px] font-mono text-neutral-600 hover:text-offline hover:bg-offline/10 cursor-pointer transition-colors", children: "revoke" })
|
|
366
|
+
] }))] }, apiKey.keyId));
|
|
359
367
|
}) })
|
|
360
368
|
] }))] }), _jsx(Dialog, { open: showCreateDialog, onOpenChange: setShowCreateDialog, children: _jsxs(DialogContent, { children: [
|
|
361
369
|
_jsx(DialogHeader, { children: _jsx(DialogTitle, { children: "Create API Key" }) }), createdSecretKey ? (_jsx(SecretKeyReveal, { copiedKeyId: copiedKeyId, onClose: () => {
|