@grackle-ai/web-components 0.112.0 → 0.112.1
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/.rush/temp/{c8b4fba3a6cfb704f3582f1197cac0fc11abbc50.untar.log → 30718c57404891eb5c6c96c935c4a6879170c963.untar.log} +2 -2
- package/.rush/temp/{e2794f6b3dd02e58a0ca34e8c438c22d25296c3e.untar.log → 6ab1fbb7acd3281d7612ffe24dcc9982dd8c9061.untar.log} +2 -2
- package/.rush/temp/operation/_phase_build/all.log +5 -5
- package/.rush/temp/operation/_phase_build/log-chunks.jsonl +5 -5
- package/.rush/temp/operation/_phase_build/state.json +1 -1
- package/.rush/temp/operation/_phase_test/all.log +24 -24
- package/.rush/temp/operation/_phase_test/log-chunks.jsonl +24 -24
- package/.rush/temp/operation/_phase_test/state.json +1 -1
- package/dist/index.js +3900 -3895
- package/package.json +2 -2
- package/rush-logs/web-components._phase_build.cache.log +1 -1
- package/rush-logs/web-components._phase_test.cache.log +1 -1
- package/src/components/display/SplashScreen.tsx +2 -1
- package/src/components/layout/AppNav.stories.tsx +5 -5
- package/src/components/layout/AppNav.tsx +23 -14
- package/src/components/layout/StatusBar.tsx +2 -1
- package/src/components/panels/KeyboardShortcutsPanel.stories.tsx +2 -2
- package/src/components/panels/KeyboardShortcutsPanel.tsx +3 -2
- package/src/index.ts +2 -0
- package/src/utils/assetUrl.test.ts +23 -0
- package/src/utils/assetUrl.ts +33 -0
- package/.rush/temp/c8b4fba3a6cfb704f3582f1197cac0fc11abbc50.tar.log +0 -235
- package/.rush/temp/chunked-rush-logs/web-components._phase_build.chunks.jsonl +0 -18
- package/.rush/temp/chunked-rush-logs/web-components._phase_test.chunks.jsonl +0 -125
- package/.rush/temp/e2794f6b3dd02e58a0ca34e8c438c22d25296c3e.tar.log +0 -12
- package/rush-logs/web-components._phase_build.log +0 -18
- package/rush-logs/web-components._phase_test.log +0 -125
- package/temp/build/lint/_eslint-5eVG3S6w.json +0 -830
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grackle-ai/web-components",
|
|
3
|
-
"version": "0.112.
|
|
3
|
+
"version": "0.112.1",
|
|
4
4
|
"description": "Presentational React component library for the Grackle web UI",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"sideEffects": [
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"remark-gfm": "^4.0.0",
|
|
47
47
|
"lucide-react": "~0.474.0",
|
|
48
48
|
"react-router": "^7.0.0",
|
|
49
|
-
"@grackle-ai/common": "0.112.
|
|
49
|
+
"@grackle-ai/common": "0.112.1"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@rushstack/heft": "1.2.7",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { JSX } from "react";
|
|
2
2
|
import { Spinner } from "./Spinner.js";
|
|
3
|
+
import { assetUrl } from "../../utils/assetUrl.js";
|
|
3
4
|
import styles from "./SplashScreen.module.scss";
|
|
4
5
|
|
|
5
6
|
/**
|
|
@@ -9,7 +10,7 @@ import styles from "./SplashScreen.module.scss";
|
|
|
9
10
|
export function SplashScreen(): JSX.Element {
|
|
10
11
|
return (
|
|
11
12
|
<div className={styles.splash} data-testid="splash-screen">
|
|
12
|
-
<img src="
|
|
13
|
+
<img src={assetUrl("grackle-logo.png")} alt="Grackle" className={styles.logo} />
|
|
13
14
|
<Spinner size="xl" label="Loading Grackle" liveRegion />
|
|
14
15
|
</div>
|
|
15
16
|
);
|
|
@@ -17,7 +17,7 @@ type Story = StoryObj<typeof meta>;
|
|
|
17
17
|
export const AllTabsRendered: Story = {
|
|
18
18
|
play: async ({ canvas }) => {
|
|
19
19
|
await expect(canvas.getByRole("tab", { name: /Dashboard/ })).toBeInTheDocument();
|
|
20
|
-
await expect(canvas.getByRole("tab", { name: /
|
|
20
|
+
await expect(canvas.getByRole("tab", { name: /Sessions/ })).toBeInTheDocument();
|
|
21
21
|
await expect(canvas.getByRole("tab", { name: /Tasks/ })).toBeInTheDocument();
|
|
22
22
|
await expect(canvas.getByRole("tab", { name: /Environments/ })).toBeInTheDocument();
|
|
23
23
|
await expect(canvas.getByRole("tab", { name: /Knowledge/ })).toBeInTheDocument();
|
|
@@ -30,14 +30,14 @@ export const CoreOnlyTabs: Story = {
|
|
|
30
30
|
args: {
|
|
31
31
|
tabs: [
|
|
32
32
|
{ view: "dashboard", label: "Dashboard", icon: <Home size={ICON_LG} />, route: HOME_URL, testId: "sidebar-tab-dashboard" },
|
|
33
|
-
{ view: "chat", label: "
|
|
33
|
+
{ view: "chat", label: "Sessions", icon: <MessageSquare size={ICON_LG} />, route: CHAT_URL, testId: "sidebar-tab-chat" },
|
|
34
34
|
{ view: "environments", label: "Environments", icon: <Monitor size={ICON_LG} />, route: ENVIRONMENTS_URL, testId: "sidebar-tab-environments" },
|
|
35
35
|
{ view: "settings", label: "Settings", icon: <Settings size={ICON_LG} />, route: SETTINGS_CREDENTIALS_URL, testId: "sidebar-tab-settings" },
|
|
36
36
|
],
|
|
37
37
|
},
|
|
38
38
|
play: async ({ canvas }) => {
|
|
39
39
|
await expect(canvas.getByRole("tab", { name: /Dashboard/ })).toBeInTheDocument();
|
|
40
|
-
await expect(canvas.getByRole("tab", { name: /
|
|
40
|
+
await expect(canvas.getByRole("tab", { name: /Sessions/ })).toBeInTheDocument();
|
|
41
41
|
await expect(canvas.getByRole("tab", { name: /Environments/ })).toBeInTheDocument();
|
|
42
42
|
await expect(canvas.getByRole("tab", { name: /Settings/ })).toBeInTheDocument();
|
|
43
43
|
await expect(canvas.queryByRole("tab", { name: /Tasks/ })).not.toBeInTheDocument();
|
|
@@ -51,7 +51,7 @@ export const AllTabsExplicit: Story = {
|
|
|
51
51
|
args: {
|
|
52
52
|
tabs: [
|
|
53
53
|
{ view: "dashboard", label: "Dashboard", icon: <Home size={ICON_LG} />, route: HOME_URL, testId: "sidebar-tab-dashboard" },
|
|
54
|
-
{ view: "chat", label: "
|
|
54
|
+
{ view: "chat", label: "Sessions", icon: <MessageSquare size={ICON_LG} />, route: CHAT_URL, testId: "sidebar-tab-chat" },
|
|
55
55
|
{ view: "tasks", label: "Tasks", icon: <ClipboardList size={ICON_LG} />, route: TASKS_URL, testId: "sidebar-tab-tasks" },
|
|
56
56
|
{ view: "environments", label: "Environments", icon: <Monitor size={ICON_LG} />, route: ENVIRONMENTS_URL, testId: "sidebar-tab-environments" },
|
|
57
57
|
{ view: "knowledge", label: "Knowledge", icon: <Brain size={ICON_LG} />, route: KNOWLEDGE_URL, testId: "sidebar-tab-knowledge" },
|
|
@@ -78,7 +78,7 @@ export const SettingsPinnedRight: Story = {
|
|
|
78
78
|
args: {
|
|
79
79
|
tabs: [
|
|
80
80
|
{ view: "dashboard", label: "Dashboard", icon: <Home size={ICON_LG} />, route: HOME_URL, testId: "sidebar-tab-dashboard" },
|
|
81
|
-
{ view: "chat", label: "
|
|
81
|
+
{ view: "chat", label: "Sessions", icon: <MessageSquare size={ICON_LG} />, route: CHAT_URL, testId: "sidebar-tab-chat" },
|
|
82
82
|
{ view: "environments", label: "Environments", icon: <Monitor size={ICON_LG} />, route: ENVIRONMENTS_URL, testId: "sidebar-tab-environments" },
|
|
83
83
|
{ view: "settings", label: "Settings", icon: <Settings size={ICON_LG} />, route: SETTINGS_CREDENTIALS_URL, testId: "sidebar-tab-settings", align: "end" },
|
|
84
84
|
{ view: "tasks", label: "Tasks", icon: <ClipboardList size={ICON_LG} />, route: TASKS_URL, testId: "sidebar-tab-tasks" },
|
|
@@ -21,18 +21,24 @@ export interface AppTab {
|
|
|
21
21
|
route: string;
|
|
22
22
|
/** data-testid suffix. */
|
|
23
23
|
testId: string;
|
|
24
|
+
/**
|
|
25
|
+
* Display order within the nav bar (lower numbers appear first). Applied
|
|
26
|
+
* across all plugins so tab order is explicit rather than dependent on plugin
|
|
27
|
+
* load order. End-aligned tabs ignore this and are always pinned right.
|
|
28
|
+
*/
|
|
29
|
+
order?: number;
|
|
24
30
|
/** Horizontal alignment within the nav bar. `"end"` pins the tab to the right edge. */
|
|
25
31
|
align?: "end";
|
|
26
32
|
}
|
|
27
33
|
|
|
28
34
|
/** Ordered list of all app navigation tabs. Exported for plugin registry use. */
|
|
29
35
|
export const TABS: AppTab[] = [
|
|
30
|
-
{ view: "dashboard", label: "Dashboard", icon: <Home size={ICON_LG} />, route: HOME_URL, testId: "sidebar-tab-dashboard" },
|
|
31
|
-
{ view: "
|
|
32
|
-
{ view: "
|
|
33
|
-
{ view: "
|
|
34
|
-
{ view: "
|
|
35
|
-
{ view: "
|
|
36
|
+
{ view: "dashboard", label: "Dashboard", icon: <Home size={ICON_LG} />, route: HOME_URL, testId: "sidebar-tab-dashboard", order: 0 },
|
|
37
|
+
{ view: "tasks", label: "Tasks", icon: <ClipboardList size={ICON_LG} />, route: TASKS_URL, testId: "sidebar-tab-tasks", order: 1 },
|
|
38
|
+
{ view: "environments", label: "Environments", icon: <Monitor size={ICON_LG} />, route: ENVIRONMENTS_URL, testId: "sidebar-tab-environments", order: 2 },
|
|
39
|
+
{ view: "chat", label: "Sessions", icon: <MessageSquare size={ICON_LG} />, route: CHAT_URL, testId: "sidebar-tab-chat", order: 3 },
|
|
40
|
+
{ view: "findings", label: "Findings", icon: <Search size={ICON_LG} />, route: FINDINGS_URL, testId: "sidebar-tab-findings", order: 4 },
|
|
41
|
+
{ view: "knowledge", label: "Knowledge", icon: <Brain size={ICON_LG} />, route: KNOWLEDGE_URL, testId: "sidebar-tab-knowledge", order: 5 },
|
|
36
42
|
{ view: "settings", label: "Settings", icon: <Settings size={ICON_LG} />, route: SETTINGS_CREDENTIALS_URL, testId: "sidebar-tab-settings", align: "end" },
|
|
37
43
|
];
|
|
38
44
|
|
|
@@ -67,15 +73,18 @@ export function AppNav({ tabs = TABS }: { tabs?: AppTab[] }): JSX.Element {
|
|
|
67
73
|
|
|
68
74
|
const activeView = getActiveView(location.pathname);
|
|
69
75
|
|
|
70
|
-
//
|
|
71
|
-
// so they stay pinned to the right edge no matter which
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
76
|
+
// Sort by explicit `order`, then render end-aligned tabs (e.g. Settings) last
|
|
77
|
+
// regardless of order, so they stay pinned to the right edge no matter which
|
|
78
|
+
// plugins contribute tabs. Tabs without an `order` keep their incoming order
|
|
79
|
+
// (stable sort) and fall after explicitly-ordered ones.
|
|
80
|
+
const orderedTabs = useMemo(() => {
|
|
81
|
+
const byOrder = (a: AppTab, b: AppTab): number =>
|
|
82
|
+
(a.order ?? Number.MAX_SAFE_INTEGER) - (b.order ?? Number.MAX_SAFE_INTEGER);
|
|
83
|
+
return [
|
|
84
|
+
...tabs.filter((t) => t.align !== "end").sort(byOrder),
|
|
75
85
|
...tabs.filter((t) => t.align === "end"),
|
|
76
|
-
]
|
|
77
|
-
|
|
78
|
-
);
|
|
86
|
+
];
|
|
87
|
+
}, [tabs]);
|
|
79
88
|
const firstEndAlignedView = orderedTabs.find((t) => t.align === "end")?.view;
|
|
80
89
|
|
|
81
90
|
const handleClick = useCallback((tab: AppTab) => {
|
|
@@ -3,6 +3,7 @@ import { Circle, Menu } from "lucide-react";
|
|
|
3
3
|
import type { ConnectionStatus, Environment, Session } from "../../hooks/types.js";
|
|
4
4
|
import { ICON_LG, ICON_XS } from "../../utils/iconSize.js";
|
|
5
5
|
import { HOME_URL, useAppNavigate } from "../../utils/navigation.js";
|
|
6
|
+
import { assetUrl } from "../../utils/assetUrl.js";
|
|
6
7
|
import { Tooltip } from "../display/Tooltip.js";
|
|
7
8
|
import styles from "./StatusBar.module.scss";
|
|
8
9
|
|
|
@@ -51,7 +52,7 @@ export function StatusBar({ connectionStatus, environments, sessions, onToggleSi
|
|
|
51
52
|
)}
|
|
52
53
|
<Tooltip text="Home" placement="bottom">
|
|
53
54
|
<button type="button" className={styles.brand} onClick={() => navigate(HOME_URL)} data-testid="statusbar-brand">
|
|
54
|
-
<img src="
|
|
55
|
+
<img src={assetUrl("icon-192x192.png")} alt="" className={styles.brandLogo} aria-hidden="true" data-testid="statusbar-logo" />
|
|
55
56
|
Grackle
|
|
56
57
|
</button>
|
|
57
58
|
</Tooltip>
|
|
@@ -25,7 +25,7 @@ export const AllCategoriesRendered: Story = {
|
|
|
25
25
|
await expect(canvas.getByText("Workspace Page")).toBeInTheDocument();
|
|
26
26
|
await expect(canvas.getByText("Navigation Lists")).toBeInTheDocument();
|
|
27
27
|
await expect(canvas.getByText("Editing")).toBeInTheDocument();
|
|
28
|
-
await expect(canvas.getByText("
|
|
28
|
+
await expect(canvas.getByText("Sessions")).toBeInTheDocument();
|
|
29
29
|
},
|
|
30
30
|
};
|
|
31
31
|
|
|
@@ -35,6 +35,6 @@ export const ShortcutDescriptions: Story = {
|
|
|
35
35
|
await expect(canvas.getByText("Open keyboard shortcuts reference")).toBeInTheDocument();
|
|
36
36
|
await expect(canvas.getByText("Create a new task")).toBeInTheDocument();
|
|
37
37
|
await expect(canvas.getByText("Switch to Overview tab")).toBeInTheDocument();
|
|
38
|
-
await expect(canvas.getByText("Send message (when
|
|
38
|
+
await expect(canvas.getByText("Send message (when the composer is focused)")).toBeInTheDocument();
|
|
39
39
|
},
|
|
40
40
|
};
|
|
@@ -66,9 +66,10 @@ const SHORTCUT_GROUPS: ShortcutGroup[] = [
|
|
|
66
66
|
],
|
|
67
67
|
},
|
|
68
68
|
{
|
|
69
|
-
title: "
|
|
69
|
+
title: "Sessions",
|
|
70
70
|
shortcuts: [
|
|
71
|
-
{ keys: ["Enter"], description: "Send message (when
|
|
71
|
+
{ keys: ["Ctrl/Cmd", "Enter"], description: "Send message (when the composer is focused)" },
|
|
72
|
+
{ keys: ["Enter"], description: "Insert a new line in the message composer" },
|
|
72
73
|
],
|
|
73
74
|
},
|
|
74
75
|
];
|
package/src/index.ts
CHANGED
|
@@ -202,6 +202,8 @@ export { computeKpis, getAttentionTasks, getActiveSessions, getWorkspaceSnapshot
|
|
|
202
202
|
|
|
203
203
|
export { isNearAnchor, computeScrollCompensation, SCROLL_ANCHOR_THRESHOLD_PX } from "./utils/scrollUtils.js";
|
|
204
204
|
|
|
205
|
+
export { assetUrl } from "./utils/assetUrl.js";
|
|
206
|
+
|
|
205
207
|
// ─── Themes ──────────────────────────────────────────────────────────────────
|
|
206
208
|
|
|
207
209
|
export { THEMES, THEME_IDS, DEFAULT_THEME_ID, getThemeById } from "./themes.js";
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { describe, it, expect, afterEach, vi } from "vitest";
|
|
2
|
+
import { assetUrl } from "./assetUrl.js";
|
|
3
|
+
|
|
4
|
+
describe("assetUrl", () => {
|
|
5
|
+
afterEach(() => {
|
|
6
|
+
vi.unstubAllEnvs();
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
it("prefixes the file with the default base URL", () => {
|
|
10
|
+
vi.stubEnv("BASE_URL", "/");
|
|
11
|
+
expect(assetUrl("icon-192x192.png")).toBe("/icon-192x192.png");
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it("prefixes the file with a sub-path base URL (demo deployment)", () => {
|
|
15
|
+
vi.stubEnv("BASE_URL", "/grackle/demo/");
|
|
16
|
+
expect(assetUrl("icon-192x192.png")).toBe("/grackle/demo/icon-192x192.png");
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
it("collapses a leading slash on the file name so the base join never double-slashes", () => {
|
|
20
|
+
vi.stubEnv("BASE_URL", "/grackle/demo/");
|
|
21
|
+
expect(assetUrl("/grackle-logo.png")).toBe("/grackle/demo/grackle-logo.png");
|
|
22
|
+
});
|
|
23
|
+
});
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// Minimal typing for Vite's `import.meta.env.BASE_URL`. We deliberately avoid a
|
|
2
|
+
// full `/// <reference types="vite/client" />` so that Vite's broad ambient
|
|
3
|
+
// asset-module declarations (`*.png`, `*.css`, ...) don't leak into the type
|
|
4
|
+
// graph of every program that compiles this file — we only need `BASE_URL`.
|
|
5
|
+
declare global {
|
|
6
|
+
interface ImportMetaEnv {
|
|
7
|
+
/** Base public path the app is served from (Vite `base`); always ends in `/`. */
|
|
8
|
+
readonly BASE_URL: string;
|
|
9
|
+
}
|
|
10
|
+
interface ImportMeta {
|
|
11
|
+
readonly env: ImportMetaEnv;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Resolve a public asset path against the application's configured base URL.
|
|
17
|
+
*
|
|
18
|
+
* Public assets (logos, icons, the web manifest) sit at the site root in local
|
|
19
|
+
* development but under a sub-path when the app is deployed to a base URL — e.g.
|
|
20
|
+
* the GitHub Pages demo served from `/grackle/demo/`. A leading-slash `src` is
|
|
21
|
+
* resolved by the browser against the origin root and ignores Vite's `base`, so
|
|
22
|
+
* such assets 404 on sub-path deployments. Prefixing with
|
|
23
|
+
* `import.meta.env.BASE_URL` (always set by Vite, with a trailing slash) yields
|
|
24
|
+
* a path that is correct in every deployment.
|
|
25
|
+
*
|
|
26
|
+
* @param fileName - The asset's file name relative to the public root, ideally
|
|
27
|
+
* without a leading slash (e.g. `"icon-192x192.png"`). A leading slash is
|
|
28
|
+
* tolerated and stripped to avoid a double slash after the base.
|
|
29
|
+
* @returns The base-prefixed asset URL (e.g. `"/grackle/demo/icon-192x192.png"`).
|
|
30
|
+
*/
|
|
31
|
+
export function assetUrl(fileName: string): string {
|
|
32
|
+
return `${import.meta.env.BASE_URL}${fileName.replace(/^\//, "")}`;
|
|
33
|
+
}
|
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
Start time: Fri May 22 2026 22:01:11 GMT+0000 (Coordinated Universal Time)
|
|
2
|
-
Invoking "/usr/bin/tar -c -f /home/runner/work/grackle/grackle/common/temp/build-cache/c8b4fba3a6cfb704f3582f1197cac0fc11abbc50-128955391daa6f01.temp -z --files-from=-"
|
|
3
|
-
|
|
4
|
-
======= BEGIN PROCESS INPUT ======
|
|
5
|
-
.rush/temp/operation/_phase_build/all.log
|
|
6
|
-
.rush/temp/operation/_phase_build/log-chunks.jsonl
|
|
7
|
-
.rush/temp/operation/_phase_build/state.json
|
|
8
|
-
dist/index.css
|
|
9
|
-
dist/index.js
|
|
10
|
-
storybook-static/assets/AboutPanel.stories-ybpANdrt.js
|
|
11
|
-
storybook-static/assets/AgentToolCard-B8Rlgyd_.js
|
|
12
|
-
storybook-static/assets/AgentToolCard-C1VqaVin.css
|
|
13
|
-
storybook-static/assets/AgentToolCard.stories-Cg68CXa1.js
|
|
14
|
-
storybook-static/assets/AppNav-DWQJ1dTq.css
|
|
15
|
-
storybook-static/assets/AppNav.stories-DPfBnB6c.js
|
|
16
|
-
storybook-static/assets/AppearancePanel.stories-CZBIius3.js
|
|
17
|
-
storybook-static/assets/BottomStatusBar-CeAacGHf.css
|
|
18
|
-
storybook-static/assets/BottomStatusBar.stories-Coj3Q1FX.js
|
|
19
|
-
storybook-static/assets/Breadcrumbs-BB5u7_nM.css
|
|
20
|
-
storybook-static/assets/Breadcrumbs.stories-BpWnf4T7.js
|
|
21
|
-
storybook-static/assets/Button-BMBuMgiM.css
|
|
22
|
-
storybook-static/assets/Button-rCMOmpLr.js
|
|
23
|
-
storybook-static/assets/Button.stories-F0pHraoB.js
|
|
24
|
-
storybook-static/assets/Callout-D5tFovqB.css
|
|
25
|
-
storybook-static/assets/Callout-DzSM2KAv.js
|
|
26
|
-
storybook-static/assets/Callout.stories-C5pm49DL.js
|
|
27
|
-
storybook-static/assets/ChatInput-Ci5SZXgq.css
|
|
28
|
-
storybook-static/assets/ChatInput.stories--4BDWKcJ.js
|
|
29
|
-
storybook-static/assets/Color-YHDXOIA2-CxvS6WYh.js
|
|
30
|
-
storybook-static/assets/ConfirmDialog-B_iVdIL1.js
|
|
31
|
-
storybook-static/assets/ConfirmDialog-Jqq4bffz.css
|
|
32
|
-
storybook-static/assets/ConfirmDialog.stories-D8W6DL7L.js
|
|
33
|
-
storybook-static/assets/CopyButton-PAjlD7lE.css
|
|
34
|
-
storybook-static/assets/CopyButton-RfXmIm_F.js
|
|
35
|
-
storybook-static/assets/CopyButton.stories-B3xeO3Ao.js
|
|
36
|
-
storybook-static/assets/CredentialProvidersPanel.stories-DokzYlDc.js
|
|
37
|
-
storybook-static/assets/DagView-BZV40eAE.css
|
|
38
|
-
storybook-static/assets/DagView.stories-B1z1AnMv.js
|
|
39
|
-
storybook-static/assets/DemoBanner-DVSwhfpb.css
|
|
40
|
-
storybook-static/assets/DemoBanner.stories-vCkrb_NA.js
|
|
41
|
-
storybook-static/assets/DocsRenderer-CFRXHY34-Bpn8X34b.js
|
|
42
|
-
storybook-static/assets/EditableCheckbox.stories-B8S2-OOA.js
|
|
43
|
-
storybook-static/assets/EditableField-C3Qf3r87.css
|
|
44
|
-
storybook-static/assets/EditableField.module-B3_EXsWq.js
|
|
45
|
-
storybook-static/assets/EditableTextArea.stories-DDpN-W77.js
|
|
46
|
-
storybook-static/assets/EditableTextField-tNChjPhf.js
|
|
47
|
-
storybook-static/assets/EditableTextField.stories-DAZEvYEB.js
|
|
48
|
-
storybook-static/assets/EnvironmentEditPanel-ERl5EQ53.css
|
|
49
|
-
storybook-static/assets/EnvironmentEditPanel.stories-CT3I-t_C.js
|
|
50
|
-
storybook-static/assets/EnvironmentNav-BfyZMUiq.css
|
|
51
|
-
storybook-static/assets/EnvironmentNav.stories-CGbGyoQe.js
|
|
52
|
-
storybook-static/assets/EnvironmentSelect-CNy3LtVn.css
|
|
53
|
-
storybook-static/assets/EnvironmentSelect.stories-BWBea2nK.js
|
|
54
|
-
storybook-static/assets/EventHoverRow-CM2QWJmd.js
|
|
55
|
-
storybook-static/assets/EventHoverRow-CxddGRVu.css
|
|
56
|
-
storybook-static/assets/EventHoverRow.stories-B00qi2g3.js
|
|
57
|
-
storybook-static/assets/EventRenderer-BlNCdNZc.css
|
|
58
|
-
storybook-static/assets/EventRenderer-DaJvscsl.js
|
|
59
|
-
storybook-static/assets/EventRenderer.stories-CzFqVt2r.js
|
|
60
|
-
storybook-static/assets/EventStream-CfWRUqli.css
|
|
61
|
-
storybook-static/assets/EventStream.stories-BF4va8-L.js
|
|
62
|
-
storybook-static/assets/FileEditCard-D7KxJiYU.js
|
|
63
|
-
storybook-static/assets/FileEditCard.stories-DpOCSkd0.js
|
|
64
|
-
storybook-static/assets/FileReadCard-_A59UClJ.js
|
|
65
|
-
storybook-static/assets/FileReadCard.stories-BJ2tNKO-.js
|
|
66
|
-
storybook-static/assets/FindingCard-DNUJUioH.js
|
|
67
|
-
storybook-static/assets/FindingCard.stories-P_0MvX1o.js
|
|
68
|
-
storybook-static/assets/FindingsPanel-BXeVYIqe.css
|
|
69
|
-
storybook-static/assets/FindingsPanel.stories-DTrmmELw.js
|
|
70
|
-
storybook-static/assets/FloatingActionBar-JAfEbqWE.css
|
|
71
|
-
storybook-static/assets/FloatingActionBar-Ndi4m2YD.js
|
|
72
|
-
storybook-static/assets/FloatingActionBar.stories-DChXdr5H.js
|
|
73
|
-
storybook-static/assets/GenericToolCard-vbUPhDvV.js
|
|
74
|
-
storybook-static/assets/GenericToolCard.stories-12WLikPw.js
|
|
75
|
-
storybook-static/assets/IpcCard-C1vDrUai.js
|
|
76
|
-
storybook-static/assets/IpcCard.stories-BTkluszk.js
|
|
77
|
-
storybook-static/assets/KeyboardShortcutsPanel-DvUOQ_Zz.css
|
|
78
|
-
storybook-static/assets/KeyboardShortcutsPanel.stories-C6ebt5QT.js
|
|
79
|
-
storybook-static/assets/KnowledgeCard-XesoELnc.js
|
|
80
|
-
storybook-static/assets/KnowledgeCard.stories-DgXGEYpH.js
|
|
81
|
-
storybook-static/assets/KnowledgeDetailPanel-Da99SnFY.css
|
|
82
|
-
storybook-static/assets/KnowledgeDetailPanel.stories-DalEu-47.js
|
|
83
|
-
storybook-static/assets/KnowledgeGraph-DYK-e4SV.css
|
|
84
|
-
storybook-static/assets/KnowledgeGraph.stories-JnOhTvBO.js
|
|
85
|
-
storybook-static/assets/KnowledgeNav-DO01esra.css
|
|
86
|
-
storybook-static/assets/KnowledgeNav.stories-CBOlv9hr.js
|
|
87
|
-
storybook-static/assets/McpAppWidget.stories-5z2Be7PN.js
|
|
88
|
-
storybook-static/assets/McpToolSelector-Aen78-OR.css
|
|
89
|
-
storybook-static/assets/McpToolSelector.stories-BcJ8tZ_w.js
|
|
90
|
-
storybook-static/assets/MetadataCard-CGJ5W-Bk.js
|
|
91
|
-
storybook-static/assets/MetadataCard.stories-Cnpuxrt6.js
|
|
92
|
-
storybook-static/assets/PersonaManager-By6uQtUH.css
|
|
93
|
-
storybook-static/assets/PersonaManager.stories-BdO9lLd4.js
|
|
94
|
-
storybook-static/assets/ScheduleManager-uGq6m69d.css
|
|
95
|
-
storybook-static/assets/ScheduleManager.stories-BJRmm6jj.js
|
|
96
|
-
storybook-static/assets/SearchCard-DEr03a8n.js
|
|
97
|
-
storybook-static/assets/SearchCard.stories-D78lJ02P.js
|
|
98
|
-
storybook-static/assets/SessionAttemptSelector-YIvjd5FY.css
|
|
99
|
-
storybook-static/assets/SessionAttemptSelector.stories-CuWOBwNP.js
|
|
100
|
-
storybook-static/assets/SessionPicker-BnmjwFI9.css
|
|
101
|
-
storybook-static/assets/SessionPicker-DRbmbI6x.js
|
|
102
|
-
storybook-static/assets/SessionPicker.stories-DiTyHsrD.js
|
|
103
|
-
storybook-static/assets/SettingsNav-n38XJoZr.css
|
|
104
|
-
storybook-static/assets/SettingsNav.stories-BeEc25uS.js
|
|
105
|
-
storybook-static/assets/SettingsPanel-CJs2yOqy.css
|
|
106
|
-
storybook-static/assets/SettingsPanel.module-Br2rQNDe.js
|
|
107
|
-
storybook-static/assets/ShellCard-C-XjdbCf.js
|
|
108
|
-
storybook-static/assets/ShellCard.stories-P4EhNQOX.js
|
|
109
|
-
storybook-static/assets/Sidebar-Dhfb-x8Q.css
|
|
110
|
-
storybook-static/assets/Sidebar.stories-BPuchTBQ.js
|
|
111
|
-
storybook-static/assets/Skeleton-54NKBtCz.css
|
|
112
|
-
storybook-static/assets/Skeleton.stories-C_misFyv.js
|
|
113
|
-
storybook-static/assets/Spinner-CBqj2s1K.js
|
|
114
|
-
storybook-static/assets/Spinner-Cbkh7n9y.css
|
|
115
|
-
storybook-static/assets/Spinner.stories-vAoeLCdV.js
|
|
116
|
-
storybook-static/assets/SplashScreen-hSSeMgSs.css
|
|
117
|
-
storybook-static/assets/SplashScreen.stories-DhZ0D9IT.js
|
|
118
|
-
storybook-static/assets/SplitButton-BB1UopKw.css
|
|
119
|
-
storybook-static/assets/SplitButton.stories-B74wXo75.js
|
|
120
|
-
storybook-static/assets/StatusBar-DYMcOqer.css
|
|
121
|
-
storybook-static/assets/StatusBar.stories-D_Qtetdn.js
|
|
122
|
-
storybook-static/assets/StreamDetailPanel-Qbtzwilu.css
|
|
123
|
-
storybook-static/assets/StreamDetailPanel.stories-B1Kfulxd.js
|
|
124
|
-
storybook-static/assets/StreamList-B131mjFo.css
|
|
125
|
-
storybook-static/assets/StreamList.stories-CYQz_Zld.js
|
|
126
|
-
storybook-static/assets/TaskActionButtons-C-wAOp-W.css
|
|
127
|
-
storybook-static/assets/TaskActionButtons.stories-DROTayZ0.js
|
|
128
|
-
storybook-static/assets/TaskCard-Bwc2dHJW.js
|
|
129
|
-
storybook-static/assets/TaskCard.stories-Gw2iralM.js
|
|
130
|
-
storybook-static/assets/TaskEditPanel-Cr1utkBZ.css
|
|
131
|
-
storybook-static/assets/TaskEditPanel.stories-BfSK0GWf.js
|
|
132
|
-
storybook-static/assets/TaskList-BuDIJ0ee.css
|
|
133
|
-
storybook-static/assets/TaskList.stories-P2IUsvzz.js
|
|
134
|
-
storybook-static/assets/TaskNode-C5aJky5a.css
|
|
135
|
-
storybook-static/assets/TaskNode-wGHTYQn-.js
|
|
136
|
-
storybook-static/assets/TaskNode.stories-De6PSYvs.js
|
|
137
|
-
storybook-static/assets/TaskOverviewPanel-CuO66F6M.css
|
|
138
|
-
storybook-static/assets/TaskOverviewPanel.stories-DOMld17Z.js
|
|
139
|
-
storybook-static/assets/Toast-C2s2TSk_.js
|
|
140
|
-
storybook-static/assets/Toast-DxCFpQwo.css
|
|
141
|
-
storybook-static/assets/Toast.stories-3vTK7oIX.js
|
|
142
|
-
storybook-static/assets/ToastContainer-BfujqikU.css
|
|
143
|
-
storybook-static/assets/ToastContainer.stories-3M7dLhan.js
|
|
144
|
-
storybook-static/assets/TodoCard-DzqHdSVX.css
|
|
145
|
-
storybook-static/assets/TodoCard-fvPJDwRE.js
|
|
146
|
-
storybook-static/assets/TodoCard.stories-uaRlwhGN.js
|
|
147
|
-
storybook-static/assets/TokensPanel.stories-BLVA8-xW.js
|
|
148
|
-
storybook-static/assets/ToolCard-cpVDAs87.js
|
|
149
|
-
storybook-static/assets/ToolCard.stories-D8Fq5fdi.js
|
|
150
|
-
storybook-static/assets/ToolSearchCard-B45gz8e3.js
|
|
151
|
-
storybook-static/assets/ToolSearchCard.stories-CPBx8EjW.js
|
|
152
|
-
storybook-static/assets/Tooltip-BEIBIXE3.css
|
|
153
|
-
storybook-static/assets/Tooltip-C1cDx3lg.js
|
|
154
|
-
storybook-static/assets/Tooltip.stories-CwMCMe7_.js
|
|
155
|
-
storybook-static/assets/UpdateBanner.stories-2SngJCKC.js
|
|
156
|
-
storybook-static/assets/WorkpadCard-60h07o3P.js
|
|
157
|
-
storybook-static/assets/WorkpadCard.stories-DJo4w1VC.js
|
|
158
|
-
storybook-static/assets/WorkpadPanel-C6T8CtoU.js
|
|
159
|
-
storybook-static/assets/WorkpadPanel-VDs4R_k8.css
|
|
160
|
-
storybook-static/assets/WorkpadPanel.stories-DyhLQCw8.js
|
|
161
|
-
storybook-static/assets/WorkspaceBoard-BlSyPWpw.css
|
|
162
|
-
storybook-static/assets/WorkspaceBoard.stories-pNgoKrO4.js
|
|
163
|
-
storybook-static/assets/WorkspaceFormFields-B7ndeC7z.css
|
|
164
|
-
storybook-static/assets/WorkspaceFormFields.stories-Bv4wEjF5.js
|
|
165
|
-
storybook-static/assets/check-BK7ScIdm.js
|
|
166
|
-
storybook-static/assets/chevron-down-CJJryvZ4.js
|
|
167
|
-
storybook-static/assets/chevron-right-DFWyZf4v.js
|
|
168
|
-
storybook-static/assets/chunk-UVKPFVEO-CDLegBp7.js
|
|
169
|
-
storybook-static/assets/chunk-XP5HYGXS-BHXC9YeQ.js
|
|
170
|
-
storybook-static/assets/circle-C68bNRTz.js
|
|
171
|
-
storybook-static/assets/classifyTool-DKAAIUjq.js
|
|
172
|
-
storybook-static/assets/clipboard-JBTeXkPi.js
|
|
173
|
-
storybook-static/assets/createLucideIcon-BSGK_pbN.js
|
|
174
|
-
storybook-static/assets/entry-preview-CmlyZPB9.js
|
|
175
|
-
storybook-static/assets/entry-preview-docs-CAgjVEX9.js
|
|
176
|
-
storybook-static/assets/enum-converters-C3oReWuX.js
|
|
177
|
-
storybook-static/assets/format-cBZDFpLA.js
|
|
178
|
-
storybook-static/assets/iconSize-vtvemS-M.js
|
|
179
|
-
storybook-static/assets/iframe-CAUAIBe5.js
|
|
180
|
-
storybook-static/assets/index-B2V9nFGU.js
|
|
181
|
-
storybook-static/assets/index-BPftEo5x.js
|
|
182
|
-
storybook-static/assets/index-C5DSJyK4.js
|
|
183
|
-
storybook-static/assets/index-CH2Su9EI.js
|
|
184
|
-
storybook-static/assets/index-DgH-xKnr.js
|
|
185
|
-
storybook-static/assets/index-JhL3uwfD.js
|
|
186
|
-
storybook-static/assets/index-hLVmTiZX.js
|
|
187
|
-
storybook-static/assets/info-BRs2Dgww.js
|
|
188
|
-
storybook-static/assets/jsx-runtime-D_zvdyIk.js
|
|
189
|
-
storybook-static/assets/message-square-2md5w1vC.js
|
|
190
|
-
storybook-static/assets/mockData-B8IHQBHU.js
|
|
191
|
-
storybook-static/assets/navigation-DGdWI-Op.js
|
|
192
|
-
storybook-static/assets/preview-BDMYBg5e.js
|
|
193
|
-
storybook-static/assets/preview-DAVcJ_De.css
|
|
194
|
-
storybook-static/assets/preview-DitdPczW.js
|
|
195
|
-
storybook-static/assets/proxy-YSrA_aH7.js
|
|
196
|
-
storybook-static/assets/react-18-ChRu7atC.js
|
|
197
|
-
storybook-static/assets/search-DVDwfi7p.js
|
|
198
|
-
storybook-static/assets/storybook-decorators-Ctazaq3L.js
|
|
199
|
-
storybook-static/assets/storybook-helpers-FCgvxKHv.js
|
|
200
|
-
storybook-static/assets/taskStatus-ChCWSHfB.js
|
|
201
|
-
storybook-static/assets/test-utils-Cye2pOmz.js
|
|
202
|
-
storybook-static/assets/themes-CqH_kF0s.js
|
|
203
|
-
storybook-static/assets/time-CUK3yShY.js
|
|
204
|
-
storybook-static/assets/toolCards-lnR4NwvJ.css
|
|
205
|
-
storybook-static/assets/toolCards.module-Mg4Y60Eh.js
|
|
206
|
-
storybook-static/assets/triangle-alert-CBlUkhSx.js
|
|
207
|
-
storybook-static/assets/useEditableField-BRw-5G92.js
|
|
208
|
-
storybook-static/assets/x-DUVT0mGQ.js
|
|
209
|
-
storybook-static/assets/zoom-CI9lZUT8.js
|
|
210
|
-
storybook-static/favicon.svg
|
|
211
|
-
storybook-static/iframe.html
|
|
212
|
-
storybook-static/index.html
|
|
213
|
-
storybook-static/index.json
|
|
214
|
-
storybook-static/nunito-sans-bold-italic.woff2
|
|
215
|
-
storybook-static/nunito-sans-bold.woff2
|
|
216
|
-
storybook-static/nunito-sans-italic.woff2
|
|
217
|
-
storybook-static/nunito-sans-regular.woff2
|
|
218
|
-
storybook-static/project.json
|
|
219
|
-
storybook-static/sb-addons/controls-2/manager-bundle.js
|
|
220
|
-
storybook-static/sb-addons/docs-1/manager-bundle.js
|
|
221
|
-
storybook-static/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js
|
|
222
|
-
storybook-static/sb-common-assets/favicon.svg
|
|
223
|
-
storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2
|
|
224
|
-
storybook-static/sb-common-assets/nunito-sans-bold.woff2
|
|
225
|
-
storybook-static/sb-common-assets/nunito-sans-italic.woff2
|
|
226
|
-
storybook-static/sb-common-assets/nunito-sans-regular.woff2
|
|
227
|
-
storybook-static/sb-manager/globals-module-info.js
|
|
228
|
-
storybook-static/sb-manager/globals-runtime.js
|
|
229
|
-
storybook-static/sb-manager/globals.js
|
|
230
|
-
storybook-static/sb-manager/runtime.js
|
|
231
|
-
======== END PROCESS INPUT =======
|
|
232
|
-
======= BEGIN PROCESS OUTPUT =======
|
|
233
|
-
======== END PROCESS OUTPUT ========
|
|
234
|
-
|
|
235
|
-
Exited with code "0"
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{"kind":"O","text":"Invoking: heft run --only build -- --clean \n"}
|
|
2
|
-
{"kind":"O","text":" ---- build started ---- \n"}
|
|
3
|
-
{"kind":"O","text":"[build:typescript] Using TypeScript version 5.7.3\n"}
|
|
4
|
-
{"kind":"O","text":"[build:storybook-build] Building Storybook...\n"}
|
|
5
|
-
{"kind":"O","text":"[build:storybook-build] Storybook build completed.\n"}
|
|
6
|
-
{"kind":"O","text":"[build:vite-build] Starting Vite build...\n"}
|
|
7
|
-
{"kind":"O","text":"[build:lint] Using ESLint version 9.39.4\n"}
|
|
8
|
-
{"kind":"O","text":"\u001b[36mvite v6.4.2 \u001b[32mbuilding for production...\u001b[36m\u001b[39m\n"}
|
|
9
|
-
{"kind":"O","text":"transforming...\n"}
|
|
10
|
-
{"kind":"O","text":"\u001b[32m✓\u001b[39m 2715 modules transformed.\n"}
|
|
11
|
-
{"kind":"O","text":"rendering chunks...\n"}
|
|
12
|
-
{"kind":"O","text":"computing gzip size...\n"}
|
|
13
|
-
{"kind":"O","text":"\u001b[2mdist/\u001b[22m\u001b[35mindex.css \u001b[39m\u001b[1m\u001b[2m 158.47 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m │ gzip: 20.60 kB\u001b[22m\n"}
|
|
14
|
-
{"kind":"O","text":"\u001b[2mdist/\u001b[22m\u001b[36mindex.js \u001b[39m\u001b[1m\u001b[33m1,590.94 kB\u001b[39m\u001b[22m\u001b[2m │ gzip: 401.57 kB\u001b[22m\n"}
|
|
15
|
-
{"kind":"O","text":"\u001b[32m✓ built in 5.74s\u001b[39m\n"}
|
|
16
|
-
{"kind":"O","text":"[build:vite-build] Vite build completed.\n"}
|
|
17
|
-
{"kind":"O","text":" ---- build finished (74.958s) ---- \n"}
|
|
18
|
-
{"kind":"O","text":"-------------------- Finished (74.961s) --------------------\n"}
|