@grackle-ai/web-components 0.115.2 → 0.117.0

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.
Files changed (60) hide show
  1. package/.rush/temp/{49e5384757b767ffca6c218faf139f6813911f4a.untar.log → 8d9be4152bfcbf796b578ac87621b34484202bd0.untar.log} +2 -2
  2. package/.rush/temp/{b32d9c7748f6c2c43df816a4bdd427ae0c7f1e32.untar.log → be1751e9cb123b206e39fdb59b24fd82523d77e2.untar.log} +2 -2
  3. package/.rush/temp/operation/_phase_build/all.log +13 -6
  4. package/.rush/temp/operation/_phase_build/log-chunks.jsonl +13 -6
  5. package/.rush/temp/operation/_phase_build/state.json +1 -1
  6. package/.rush/temp/operation/_phase_test/all.log +29 -28
  7. package/.rush/temp/operation/_phase_test/log-chunks.jsonl +29 -28
  8. package/.rush/temp/operation/_phase_test/state.json +1 -1
  9. package/.rush/temp/shrinkwrap-deps.json +13 -1
  10. package/README.md +3 -3
  11. package/config/rush-project.json +1 -1
  12. package/dist/index.css +1 -1
  13. package/dist/index.js +9068 -9498
  14. package/package.json +4 -2
  15. package/rush-logs/web-components._phase_build.cache.log +2 -2
  16. package/rush-logs/web-components._phase_test.cache.log +1 -1
  17. package/src/components/display/EventRenderer.stories.tsx +22 -0
  18. package/src/components/display/EventRenderer.tsx +28 -4
  19. package/src/components/index.ts +0 -3
  20. package/src/components/knowledge/KnowledgeDetailPanel.tsx +1 -4
  21. package/src/components/layout/AppNav.stories.tsx +3 -6
  22. package/src/components/layout/AppNav.tsx +3 -7
  23. package/src/components/layout/BottomStatusBar.tsx +4 -6
  24. package/src/components/lists/index.ts +0 -1
  25. package/src/components/panels/KeyboardShortcutsPanel.tsx +0 -1
  26. package/src/components/panels/index.ts +0 -1
  27. package/src/components/personas/McpToolSelector.stories.tsx +12 -12
  28. package/src/components/tools/ToolCard.stories.tsx +0 -26
  29. package/src/components/tools/ToolCard.tsx +0 -3
  30. package/src/components/tools/ToolSearchCard.stories.tsx +8 -8
  31. package/src/components/tools/WorkpadCard.stories.tsx +5 -5
  32. package/src/components/tools/classifyTool.test.ts +0 -1
  33. package/src/components/tools/classifyTool.ts +2 -7
  34. package/src/context/GrackleContextTypes.ts +1 -3
  35. package/src/hooks/types.ts +1 -44
  36. package/src/index.ts +4 -8
  37. package/src/mcp-runtime/index.tsx +99 -0
  38. package/src/mocks/MockGrackleProvider.tsx +0 -75
  39. package/src/mocks/mockData.ts +8 -99
  40. package/src/test-utils/storybook-helpers.ts +0 -19
  41. package/src/utils/breadcrumbs.test.ts +0 -43
  42. package/src/utils/breadcrumbs.ts +1 -37
  43. package/src/utils/navigation.ts +1 -20
  44. package/src/utils/route-config.test.ts +0 -31
  45. package/vite.config.ts +46 -2
  46. package/.rush/temp/49e5384757b767ffca6c218faf139f6813911f4a.tar.log +0 -12
  47. package/.rush/temp/b32d9c7748f6c2c43df816a4bdd427ae0c7f1e32.tar.log +0 -236
  48. package/.rush/temp/chunked-rush-logs/web-components._phase_build.chunks.jsonl +0 -19
  49. package/.rush/temp/chunked-rush-logs/web-components._phase_test.chunks.jsonl +0 -126
  50. package/rush-logs/web-components._phase_build.log +0 -19
  51. package/rush-logs/web-components._phase_test.log +0 -126
  52. package/src/components/lists/FindingsNav.module.scss +0 -126
  53. package/src/components/lists/FindingsNav.tsx +0 -146
  54. package/src/components/panels/FindingsPanel.module.scss +0 -94
  55. package/src/components/panels/FindingsPanel.stories.tsx +0 -109
  56. package/src/components/panels/FindingsPanel.tsx +0 -76
  57. package/src/components/tools/FindingCard.stories.tsx +0 -124
  58. package/src/components/tools/FindingCard.tsx +0 -178
  59. package/src/utils/findingCategory.ts +0 -33
  60. package/temp/build/lint/_eslint-5eVG3S6w.json +0 -850
@@ -1,5 +1,5 @@
1
- Start time: Sat May 23 2026 20:52:51 GMT+0000 (Coordinated Universal Time)
2
- Invoking "/usr/bin/tar -x -m -f /home/runner/work/grackle/grackle/common/temp/build-cache/49e5384757b767ffca6c218faf139f6813911f4a"
1
+ Start time: Sun May 24 2026 02:19:27 GMT+0000 (Coordinated Universal Time)
2
+ Invoking "/usr/bin/tar -x -m -f /home/runner/work/grackle/grackle/common/temp/build-cache/8d9be4152bfcbf796b578ac87621b34484202bd0"
3
3
 
4
4
  ======= BEGIN PROCESS INPUT ======
5
5
 
@@ -1,5 +1,5 @@
1
- Start time: Sat May 23 2026 20:52:51 GMT+0000 (Coordinated Universal Time)
2
- Invoking "/usr/bin/tar -x -m -f /home/runner/work/grackle/grackle/common/temp/build-cache/b32d9c7748f6c2c43df816a4bdd427ae0c7f1e32"
1
+ Start time: Sun May 24 2026 02:19:27 GMT+0000 (Coordinated Universal Time)
2
+ Invoking "/usr/bin/tar -x -m -f /home/runner/work/grackle/grackle/common/temp/build-cache/be1751e9cb123b206e39fdb59b24fd82523d77e2"
3
3
 
4
4
  ======= BEGIN PROCESS INPUT ======
5
5
 
@@ -7,13 +7,20 @@ Invoking: heft run --only build -- --clean
7
7
  [build:lint] Using ESLint version 9.39.4
8
8
  vite v6.4.2 building for production...
9
9
  transforming...
10
- 2718 modules transformed.
10
+ 2712 modules transformed.
11
11
  rendering chunks...
12
12
  computing gzip size...
13
- dist/index.css 159.65 kB │ gzip: 20.78 kB
13
+ dist/index.css 155.14 kB │ gzip: 20.34 kB
14
14
  dist/McpAppWidget-CSX2W2Vb.js 205.28 kB │ gzip: 47.19 kB
15
- dist/index.js 1,392.84 kB │ gzip: 356.12 kB
16
- ✓ built in 6.22s
15
+ dist/index.js 1,375.56 kB │ gzip: 353.02 kB
16
+ ✓ built in 5.61s
17
+ vite v6.4.2 building for production...
18
+ transforming...
19
+ ✓ 2870 modules transformed.
20
+ rendering chunks...
21
+ computing gzip size...
22
+ mcp-app-runtime/runtime.js 1,243.84 kB │ gzip: 267.73 kB
23
+ ✓ built in 5.13s
17
24
  [build:vite-build] Vite build completed.
18
- ---- build finished (80.400s) ----
19
- -------------------- Finished (80.403s) --------------------
25
+ ---- build finished (83.124s) ----
26
+ -------------------- Finished (83.128s) --------------------
@@ -7,13 +7,20 @@
7
7
  {"kind":"O","text":"[build:lint] Using ESLint version 9.39.4\n"}
8
8
  {"kind":"O","text":"\u001b[36mvite v6.4.2 \u001b[32mbuilding for production...\u001b[36m\u001b[39m\n"}
9
9
  {"kind":"O","text":"transforming...\n"}
10
- {"kind":"O","text":"\u001b[32m✓\u001b[39m 2718 modules transformed.\n"}
10
+ {"kind":"O","text":"\u001b[32m✓\u001b[39m 2712 modules transformed.\n"}
11
11
  {"kind":"O","text":"rendering chunks...\n"}
12
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 159.65 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m │ gzip: 20.78 kB\u001b[22m\n"}
13
+ {"kind":"O","text":"\u001b[2mdist/\u001b[22m\u001b[35mindex.css \u001b[39m\u001b[1m\u001b[2m 155.14 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m │ gzip: 20.34 kB\u001b[22m\n"}
14
14
  {"kind":"O","text":"\u001b[2mdist/\u001b[22m\u001b[36mMcpAppWidget-CSX2W2Vb.js \u001b[39m\u001b[1m\u001b[2m 205.28 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m │ gzip: 47.19 kB\u001b[22m\n"}
15
- {"kind":"O","text":"\u001b[2mdist/\u001b[22m\u001b[36mindex.js \u001b[39m\u001b[1m\u001b[33m1,392.84 kB\u001b[39m\u001b[22m\u001b[2m │ gzip: 356.12 kB\u001b[22m\n"}
16
- {"kind":"O","text":"\u001b[32m✓ built in 6.22s\u001b[39m\n"}
15
+ {"kind":"O","text":"\u001b[2mdist/\u001b[22m\u001b[36mindex.js \u001b[39m\u001b[1m\u001b[33m1,375.56 kB\u001b[39m\u001b[22m\u001b[2m │ gzip: 353.02 kB\u001b[22m\n"}
16
+ {"kind":"O","text":"\u001b[32m✓ built in 5.61s\u001b[39m\n"}
17
+ {"kind":"O","text":"\u001b[36mvite v6.4.2 \u001b[32mbuilding for production...\u001b[36m\u001b[39m\n"}
18
+ {"kind":"O","text":"transforming...\n"}
19
+ {"kind":"O","text":"\u001b[32m✓\u001b[39m 2870 modules transformed.\n"}
20
+ {"kind":"O","text":"rendering chunks...\n"}
21
+ {"kind":"O","text":"computing gzip size...\n"}
22
+ {"kind":"O","text":"\u001b[2mmcp-app-runtime/\u001b[22m\u001b[36mruntime.js \u001b[39m\u001b[1m\u001b[33m1,243.84 kB\u001b[39m\u001b[22m\u001b[2m │ gzip: 267.73 kB\u001b[22m\n"}
23
+ {"kind":"O","text":"\u001b[32m✓ built in 5.13s\u001b[39m\n"}
17
24
  {"kind":"O","text":"[build:vite-build] Vite build completed.\n"}
18
- {"kind":"O","text":" ---- build finished (80.400s) ---- \n"}
19
- {"kind":"O","text":"-------------------- Finished (80.403s) --------------------\n"}
25
+ {"kind":"O","text":" ---- build finished (83.124s) ---- \n"}
26
+ {"kind":"O","text":"-------------------- Finished (83.128s) --------------------\n"}
@@ -1,3 +1,3 @@
1
1
  {
2
- "nonCachedDurationMs": 81173.72086999999
2
+ "nonCachedDurationMs": 83886.29067799999
3
3
  }
@@ -5,31 +5,32 @@ The provided list of phases does not contain all phase dependencies. You may nee
5
5
 
6
6
  RUN v3.2.4 /home/runner/work/grackle/grackle/packages/web-components
7
7
 
8
- ✓ src/utils/sessionEvents.test.ts (14 tests) 51ms
9
- ✓ src/utils/eventContent.test.ts (38 tests) 149ms
10
- ✓ src/utils/dashboard.test.ts (4 tests) 32ms
11
- ✓ src/utils/route-config.test.ts (23 tests) 64ms
12
- ✓ src/utils/streamCoordination.test.ts (10 tests) 25ms
13
- ✓ src/utils/breadcrumbs.test.ts (18 tests) 37ms
14
- ✓ src/utils/scrollUtils.test.ts (11 tests) 21ms
15
- ✓ src/components/tools/classifyTool.test.ts (6 tests) 15ms
16
- ✓ src/utils/assetUrl.test.ts (3 tests) 17ms
17
- ✓ src/components/tools/toolCardHelpers.test.ts (10 tests) 25ms
18
- ✓ src/components/display/extractText.test.tsx (8 tests) 14ms
19
- ✓ src/components/editable/useEditableField.test.tsx (17 tests) 236ms
20
- ✓ src/hooks/useEventSelection.test.ts (13 tests) 241ms
21
- ✓ src/utils/grackleHostStyleVariables.test.ts (2 tests) 414ms
22
- ✓ grackleHostStyleVariables > always returns the MCP-standard fallback variables 383ms
23
- ✓ src/components/notifications/UpdateBanner.test.tsx (4 tests) 270ms
24
- ✓ src/components/display/McpAppWidget.test.tsx (3 tests) 302ms
8
+ ✓ src/utils/sessionEvents.test.ts (14 tests) 50ms
9
+ ✓ src/utils/eventContent.test.ts (38 tests) 101ms
10
+ ✓ src/utils/dashboard.test.ts (4 tests) 15ms
11
+ ✓ src/utils/streamCoordination.test.ts (10 tests) 47ms
12
+ ✓ src/utils/route-config.test.ts (16 tests) 11ms
13
+ ✓ src/utils/breadcrumbs.test.ts (15 tests) 38ms
14
+ ✓ src/utils/scrollUtils.test.ts (11 tests) 51ms
15
+ ✓ src/components/tools/classifyTool.test.ts (6 tests) 29ms
16
+ ✓ src/components/tools/toolCardHelpers.test.ts (10 tests) 19ms
17
+ ✓ src/utils/assetUrl.test.ts (3 tests) 5ms
18
+ ✓ src/components/display/extractText.test.tsx (8 tests) 50ms
19
+ ✓ src/components/editable/useEditableField.test.tsx (17 tests) 169ms
20
+ ✓ src/hooks/useEventSelection.test.ts (13 tests) 77ms
21
+ ✓ src/utils/grackleHostStyleVariables.test.ts (2 tests) 440ms
22
+ ✓ grackleHostStyleVariables > always returns the MCP-standard fallback variables 408ms
23
+ ✓ src/components/notifications/UpdateBanner.test.tsx (4 tests) 222ms
24
+ ✓ src/components/display/McpAppWidget.test.tsx (3 tests) 419ms
25
+ ✓ McpAppWidget > mounts an iframe host for the widget 329ms
25
26
 
26
27
  Test Files 16 passed (16)
27
- Tests 184 passed (184)
28
- Start at 20:50:45
29
- Duration 17.91s (transform 2.37s, setup 0ms, collect 19.13s, tests 1.91s, environment 15.06s, prepare 5.96s)
28
+ Tests 174 passed (174)
29
+ Start at 02:08:15
30
+ Duration 16.54s (transform 2.73s, setup 0ms, collect 17.60s, tests 1.74s, environment 13.06s, prepare 5.75s)
30
31
 
31
32
  [test:vitest] Vitest completed.
32
- [test:storybook-test] Starting Storybook static server on port 41393...
33
+ [test:storybook-test] Starting Storybook static server on port 36035...
33
34
  [test:storybook-test] Storybook server ready. Running interaction tests...
34
35
  jest-haste-map: duplicate manual mock found: adapter-manager
35
36
  The following files share their name; please delete one of them:
@@ -106,21 +107,21 @@ jest-haste-map: duplicate manual mock found: token-push
106
107
  * <rootDir>/packages/server/dist/__mocks__/token-push.js
107
108
  * <rootDir>/packages/server/src/__mocks__/token-push.ts
108
109
 
109
- jest-haste-map: duplicate manual mock found: utils/exec
110
- The following files share their name; please delete one of them:
111
- * <rootDir>/packages/server/dist/__mocks__/utils/exec.js
112
- * <rootDir>/packages/server/src/__mocks__/utils/exec.ts
113
-
114
110
  jest-haste-map: duplicate manual mock found: utils/format-gh-error
115
111
  The following files share their name; please delete one of them:
116
112
  * <rootDir>/packages/server/dist/__mocks__/utils/format-gh-error.js
117
113
  * <rootDir>/packages/server/src/__mocks__/utils/format-gh-error.ts
118
114
 
115
+ jest-haste-map: duplicate manual mock found: utils/exec
116
+ The following files share their name; please delete one of them:
117
+ * <rootDir>/packages/server/dist/__mocks__/utils/exec.js
118
+ * <rootDir>/packages/server/src/__mocks__/utils/exec.ts
119
+
119
120
  jest-haste-map: duplicate manual mock found: utils/network
120
121
  The following files share their name; please delete one of them:
121
122
  * <rootDir>/packages/server/dist/__mocks__/utils/network.js
122
123
  * <rootDir>/packages/server/src/__mocks__/utils/network.ts
123
124
 
124
125
  [test:storybook-test] Storybook interaction tests completed.
125
- ---- test finished (122.666s) ----
126
- -------------------- Finished (122.677s) --------------------
126
+ ---- test finished (114.671s) ----
127
+ -------------------- Finished (114.679s) --------------------
@@ -5,31 +5,32 @@
5
5
  {"kind":"O","text":"\n"}
6
6
  {"kind":"O","text":"\u001b[1m\u001b[46m RUN \u001b[49m\u001b[22m \u001b[36mv3.2.4 \u001b[39m\u001b[90m/home/runner/work/grackle/grackle/packages/web-components\u001b[39m\n"}
7
7
  {"kind":"O","text":"\n"}
8
- {"kind":"O","text":" \u001b[32m✓\u001b[39m src/utils/sessionEvents.test.ts \u001b[2m(\u001b[22m\u001b[2m14 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 51\u001b[2mms\u001b[22m\u001b[39m\n"}
9
- {"kind":"O","text":" \u001b[32m✓\u001b[39m src/utils/eventContent.test.ts \u001b[2m(\u001b[22m\u001b[2m38 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 149\u001b[2mms\u001b[22m\u001b[39m\n"}
10
- {"kind":"O","text":" \u001b[32m✓\u001b[39m src/utils/dashboard.test.ts \u001b[2m(\u001b[22m\u001b[2m4 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 32\u001b[2mms\u001b[22m\u001b[39m\n"}
11
- {"kind":"O","text":" \u001b[32m✓\u001b[39m src/utils/route-config.test.ts \u001b[2m(\u001b[22m\u001b[2m23 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 64\u001b[2mms\u001b[22m\u001b[39m\n"}
12
- {"kind":"O","text":" \u001b[32m✓\u001b[39m src/utils/streamCoordination.test.ts \u001b[2m(\u001b[22m\u001b[2m10 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 25\u001b[2mms\u001b[22m\u001b[39m\n"}
13
- {"kind":"O","text":" \u001b[32m✓\u001b[39m src/utils/breadcrumbs.test.ts \u001b[2m(\u001b[22m\u001b[2m18 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 37\u001b[2mms\u001b[22m\u001b[39m\n"}
14
- {"kind":"O","text":" \u001b[32m✓\u001b[39m src/utils/scrollUtils.test.ts \u001b[2m(\u001b[22m\u001b[2m11 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 21\u001b[2mms\u001b[22m\u001b[39m\n"}
15
- {"kind":"O","text":" \u001b[32m✓\u001b[39m src/components/tools/classifyTool.test.ts \u001b[2m(\u001b[22m\u001b[2m6 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 15\u001b[2mms\u001b[22m\u001b[39m\n"}
16
- {"kind":"O","text":" \u001b[32m✓\u001b[39m src/utils/assetUrl.test.ts \u001b[2m(\u001b[22m\u001b[2m3 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 17\u001b[2mms\u001b[22m\u001b[39m\n"}
17
- {"kind":"O","text":" \u001b[32m✓\u001b[39m src/components/tools/toolCardHelpers.test.ts \u001b[2m(\u001b[22m\u001b[2m10 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 25\u001b[2mms\u001b[22m\u001b[39m\n"}
18
- {"kind":"O","text":" \u001b[32m✓\u001b[39m src/components/display/extractText.test.tsx \u001b[2m(\u001b[22m\u001b[2m8 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 14\u001b[2mms\u001b[22m\u001b[39m\n"}
19
- {"kind":"O","text":" \u001b[32m✓\u001b[39m src/components/editable/useEditableField.test.tsx \u001b[2m(\u001b[22m\u001b[2m17 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 236\u001b[2mms\u001b[22m\u001b[39m\n"}
20
- {"kind":"O","text":" \u001b[32m✓\u001b[39m src/hooks/useEventSelection.test.ts \u001b[2m(\u001b[22m\u001b[2m13 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 241\u001b[2mms\u001b[22m\u001b[39m\n"}
21
- {"kind":"O","text":" \u001b[32m✓\u001b[39m src/utils/grackleHostStyleVariables.test.ts \u001b[2m(\u001b[22m\u001b[2m2 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[33m 414\u001b[2mms\u001b[22m\u001b[39m\n"}
22
- {"kind":"O","text":" \u001b[33m\u001b[2m✓\u001b[22m\u001b[39m grackleHostStyleVariables\u001b[2m > \u001b[22malways returns the MCP-standard fallback variables \u001b[33m 383\u001b[2mms\u001b[22m\u001b[39m\n"}
23
- {"kind":"O","text":" \u001b[32m✓\u001b[39m src/components/notifications/UpdateBanner.test.tsx \u001b[2m(\u001b[22m\u001b[2m4 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 270\u001b[2mms\u001b[22m\u001b[39m\n"}
24
- {"kind":"O","text":" \u001b[32m✓\u001b[39m src/components/display/McpAppWidget.test.tsx \u001b[2m(\u001b[22m\u001b[2m3 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[33m 302\u001b[2mms\u001b[22m\u001b[39m\n"}
8
+ {"kind":"O","text":" \u001b[32m✓\u001b[39m src/utils/sessionEvents.test.ts \u001b[2m(\u001b[22m\u001b[2m14 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 50\u001b[2mms\u001b[22m\u001b[39m\n"}
9
+ {"kind":"O","text":" \u001b[32m✓\u001b[39m src/utils/eventContent.test.ts \u001b[2m(\u001b[22m\u001b[2m38 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 101\u001b[2mms\u001b[22m\u001b[39m\n"}
10
+ {"kind":"O","text":" \u001b[32m✓\u001b[39m src/utils/dashboard.test.ts \u001b[2m(\u001b[22m\u001b[2m4 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 15\u001b[2mms\u001b[22m\u001b[39m\n"}
11
+ {"kind":"O","text":" \u001b[32m✓\u001b[39m src/utils/streamCoordination.test.ts \u001b[2m(\u001b[22m\u001b[2m10 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 47\u001b[2mms\u001b[22m\u001b[39m\n"}
12
+ {"kind":"O","text":" \u001b[32m✓\u001b[39m src/utils/route-config.test.ts \u001b[2m(\u001b[22m\u001b[2m16 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 11\u001b[2mms\u001b[22m\u001b[39m\n"}
13
+ {"kind":"O","text":" \u001b[32m✓\u001b[39m src/utils/breadcrumbs.test.ts \u001b[2m(\u001b[22m\u001b[2m15 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 38\u001b[2mms\u001b[22m\u001b[39m\n"}
14
+ {"kind":"O","text":" \u001b[32m✓\u001b[39m src/utils/scrollUtils.test.ts \u001b[2m(\u001b[22m\u001b[2m11 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 51\u001b[2mms\u001b[22m\u001b[39m\n"}
15
+ {"kind":"O","text":" \u001b[32m✓\u001b[39m src/components/tools/classifyTool.test.ts \u001b[2m(\u001b[22m\u001b[2m6 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 29\u001b[2mms\u001b[22m\u001b[39m\n"}
16
+ {"kind":"O","text":" \u001b[32m✓\u001b[39m src/components/tools/toolCardHelpers.test.ts \u001b[2m(\u001b[22m\u001b[2m10 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 19\u001b[2mms\u001b[22m\u001b[39m\n"}
17
+ {"kind":"O","text":" \u001b[32m✓\u001b[39m src/utils/assetUrl.test.ts \u001b[2m(\u001b[22m\u001b[2m3 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 5\u001b[2mms\u001b[22m\u001b[39m\n"}
18
+ {"kind":"O","text":" \u001b[32m✓\u001b[39m src/components/display/extractText.test.tsx \u001b[2m(\u001b[22m\u001b[2m8 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 50\u001b[2mms\u001b[22m\u001b[39m\n"}
19
+ {"kind":"O","text":" \u001b[32m✓\u001b[39m src/components/editable/useEditableField.test.tsx \u001b[2m(\u001b[22m\u001b[2m17 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 169\u001b[2mms\u001b[22m\u001b[39m\n"}
20
+ {"kind":"O","text":" \u001b[32m✓\u001b[39m src/hooks/useEventSelection.test.ts \u001b[2m(\u001b[22m\u001b[2m13 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 77\u001b[2mms\u001b[22m\u001b[39m\n"}
21
+ {"kind":"O","text":" \u001b[32m✓\u001b[39m src/utils/grackleHostStyleVariables.test.ts \u001b[2m(\u001b[22m\u001b[2m2 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[33m 440\u001b[2mms\u001b[22m\u001b[39m\n"}
22
+ {"kind":"O","text":" \u001b[33m\u001b[2m✓\u001b[22m\u001b[39m grackleHostStyleVariables\u001b[2m > \u001b[22malways returns the MCP-standard fallback variables \u001b[33m 408\u001b[2mms\u001b[22m\u001b[39m\n"}
23
+ {"kind":"O","text":" \u001b[32m✓\u001b[39m src/components/notifications/UpdateBanner.test.tsx \u001b[2m(\u001b[22m\u001b[2m4 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 222\u001b[2mms\u001b[22m\u001b[39m\n"}
24
+ {"kind":"O","text":" \u001b[32m✓\u001b[39m src/components/display/McpAppWidget.test.tsx \u001b[2m(\u001b[22m\u001b[2m3 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[33m 419\u001b[2mms\u001b[22m\u001b[39m\n"}
25
+ {"kind":"O","text":" \u001b[33m\u001b[2m✓\u001b[22m\u001b[39m McpAppWidget\u001b[2m > \u001b[22mmounts an iframe host for the widget \u001b[33m 329\u001b[2mms\u001b[22m\u001b[39m\n"}
25
26
  {"kind":"O","text":"\n"}
26
27
  {"kind":"O","text":"\u001b[2m Test Files \u001b[22m \u001b[1m\u001b[32m16 passed\u001b[39m\u001b[22m\u001b[90m (16)\u001b[39m\n"}
27
- {"kind":"O","text":"\u001b[2m Tests \u001b[22m \u001b[1m\u001b[32m184 passed\u001b[39m\u001b[22m\u001b[90m (184)\u001b[39m\n"}
28
- {"kind":"O","text":"\u001b[2m Start at \u001b[22m 20:50:45\n"}
29
- {"kind":"O","text":"\u001b[2m Duration \u001b[22m 17.91s\u001b[2m (transform 2.37s, setup 0ms, collect 19.13s, tests 1.91s, environment 15.06s, prepare 5.96s)\u001b[22m\n"}
28
+ {"kind":"O","text":"\u001b[2m Tests \u001b[22m \u001b[1m\u001b[32m174 passed\u001b[39m\u001b[22m\u001b[90m (174)\u001b[39m\n"}
29
+ {"kind":"O","text":"\u001b[2m Start at \u001b[22m 02:08:15\n"}
30
+ {"kind":"O","text":"\u001b[2m Duration \u001b[22m 16.54s\u001b[2m (transform 2.73s, setup 0ms, collect 17.60s, tests 1.74s, environment 13.06s, prepare 5.75s)\u001b[22m\n"}
30
31
  {"kind":"O","text":"\n"}
31
32
  {"kind":"O","text":"[test:vitest] Vitest completed.\n"}
32
- {"kind":"O","text":"[test:storybook-test] Starting Storybook static server on port 41393...\n"}
33
+ {"kind":"O","text":"[test:storybook-test] Starting Storybook static server on port 36035...\n"}
33
34
  {"kind":"O","text":"[test:storybook-test] Storybook server ready. Running interaction tests...\n"}
34
35
  {"kind":"O","text":"jest-haste-map: duplicate manual mock found: adapter-manager\n"}
35
36
  {"kind":"O","text":" The following files share their name; please delete one of them:\n"}
@@ -106,21 +107,21 @@
106
107
  {"kind":"O","text":" * <rootDir>/packages/server/dist/__mocks__/token-push.js\n"}
107
108
  {"kind":"O","text":" * <rootDir>/packages/server/src/__mocks__/token-push.ts\n"}
108
109
  {"kind":"O","text":"\n"}
109
- {"kind":"O","text":"jest-haste-map: duplicate manual mock found: utils/exec\n"}
110
- {"kind":"O","text":" The following files share their name; please delete one of them:\n"}
111
- {"kind":"O","text":" * <rootDir>/packages/server/dist/__mocks__/utils/exec.js\n"}
112
- {"kind":"O","text":" * <rootDir>/packages/server/src/__mocks__/utils/exec.ts\n"}
113
- {"kind":"O","text":"\n"}
114
110
  {"kind":"O","text":"jest-haste-map: duplicate manual mock found: utils/format-gh-error\n"}
115
111
  {"kind":"O","text":" The following files share their name; please delete one of them:\n"}
116
112
  {"kind":"O","text":" * <rootDir>/packages/server/dist/__mocks__/utils/format-gh-error.js\n"}
117
113
  {"kind":"O","text":" * <rootDir>/packages/server/src/__mocks__/utils/format-gh-error.ts\n"}
118
114
  {"kind":"O","text":"\n"}
115
+ {"kind":"O","text":"jest-haste-map: duplicate manual mock found: utils/exec\n"}
116
+ {"kind":"O","text":" The following files share their name; please delete one of them:\n"}
117
+ {"kind":"O","text":" * <rootDir>/packages/server/dist/__mocks__/utils/exec.js\n"}
118
+ {"kind":"O","text":" * <rootDir>/packages/server/src/__mocks__/utils/exec.ts\n"}
119
+ {"kind":"O","text":"\n"}
119
120
  {"kind":"O","text":"jest-haste-map: duplicate manual mock found: utils/network\n"}
120
121
  {"kind":"O","text":" The following files share their name; please delete one of them:\n"}
121
122
  {"kind":"O","text":" * <rootDir>/packages/server/dist/__mocks__/utils/network.js\n"}
122
123
  {"kind":"O","text":" * <rootDir>/packages/server/src/__mocks__/utils/network.ts\n"}
123
124
  {"kind":"O","text":"\n"}
124
125
  {"kind":"O","text":"[test:storybook-test] Storybook interaction tests completed.\n"}
125
- {"kind":"O","text":" ---- test finished (122.666s) ---- \n"}
126
- {"kind":"O","text":"-------------------- Finished (122.677s) --------------------\n"}
126
+ {"kind":"O","text":" ---- test finished (114.671s) ---- \n"}
127
+ {"kind":"O","text":"-------------------- Finished (114.679s) --------------------\n"}
@@ -1,3 +1,3 @@
1
1
  {
2
- "nonCachedDurationMs": 123946.795085
2
+ "nonCachedDurationMs": 115935.854826
3
3
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "../../packages/web-components": "../../packages/web-components:JR9+Mdqkto0vv26LDdkx4jCOu0kXju3loGvtGFCHNXQ=:",
2
+ "../../packages/web-components": "../../packages/web-components:Gq70pXARSlV1UChWSM7j43hP0V3gk1jDezDf7Hll+LI=:",
3
3
  "@adobe/css-tools@4.4.4": "sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==",
4
4
  "@asamuzakjp/css-color@5.0.1": "sha512-2SZFvqMyvboVV1d15lMf7XiI3m7SDqXUuKaTymJYLN6dSGadqp+fVojqJlVoMlbZnlTmu3S0TLwLTJpvBMO1Aw==",
5
5
  "@asamuzakjp/dom-selector@7.0.4": "sha512-jXR6x4AcT3eIrS2fSNAwJpwirOkGcd+E7F7CP3zjdTqz9B/2huHOL8YJZBgekKwLML+u7qB/6P1LXQuMScsx0w==",
@@ -292,6 +292,7 @@
292
292
  "ansi-styles@4.3.0": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
293
293
  "ansi-styles@5.2.0": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
294
294
  "ansi-styles@6.2.3": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
295
+ "any-promise@1.3.0": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
295
296
  "anymatch@3.1.3": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
296
297
  "append-transform@2.0.0": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==",
297
298
  "archy@1.0.0": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==",
@@ -352,6 +353,7 @@
352
353
  "clean-stack@2.2.0": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
353
354
  "cliui@6.0.0": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
354
355
  "cliui@8.0.1": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
356
+ "clsx@2.1.1": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
355
357
  "co@4.6.0": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
356
358
  "collect-v8-coverage@1.0.3": "sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==",
357
359
  "color-convert@1.9.3": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
@@ -363,6 +365,7 @@
363
365
  "commander@12.1.0": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
364
366
  "commander@2.20.3": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
365
367
  "commander@3.0.2": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==",
368
+ "commander@4.1.1": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
366
369
  "commondir@1.0.1": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
367
370
  "concat-map@0.0.1": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
368
371
  "concurrently@9.2.1": "sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==",
@@ -723,6 +726,7 @@
723
726
  "motion-utils@11.18.1": "sha512-49Kt+HKjtbJKLtgO/LKj9Ld+6vw9BjH5d9sc40R/kVyH8GLAXgT42M2NnuPcJNuA3s9ZfZBUcwIgpmZWGEE+hA==",
724
727
  "motion@11.18.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": "sha512-JLjvFDuFr42NFtcVoMAyC2sEjnpA8xpy6qWPyzQvCloznAyQ8FIXioxWfHiLtgYhoVpfUqSWpn1h9++skj9+Wg==",
725
728
  "ms@2.1.3": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
729
+ "mz@2.7.0": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
726
730
  "nanoid@3.3.11": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
727
731
  "natural-compare@1.4.0": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
728
732
  "negotiator@1.0.0": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==",
@@ -777,6 +781,7 @@
777
781
  "postcss@8.5.10": "sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==",
778
782
  "pretty-format@27.5.1": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
779
783
  "pretty-format@29.7.0": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
784
+ "prism-react-renderer@2.4.1(react@19.2.4)": "sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==",
780
785
  "process-on-spawn@1.1.0": "sha512-JOnOPQ/8TZgjs1JIH/m9ni7FfimjNa/PRx7y/Wb5qdItsnhO0jE4AT7fC0HjC28DUQWDr50dwSYZLdRMlqDq3Q==",
781
786
  "process@0.11.10": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
782
787
  "prompts@2.4.2": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
@@ -794,6 +799,7 @@
794
799
  "react-dom@19.2.4(react@19.2.4)": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==",
795
800
  "react-is@17.0.2": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
796
801
  "react-is@18.3.1": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
802
+ "react-live@4.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": "sha512-B2SgNqwPuS2ekqj4lcxi5TibEcjWkdVyYykBEUBshPAPDQ527x2zPEZg560n8egNtAjUpwXFQm7pcXV65aAYmg==",
797
803
  "react-markdown@9.1.0(@types/react@19.2.14)(react@19.2.4)": "sha512-xaijuJB0kzGiUdG7nc2MOMDUDBWPyGAjZtUrow9XxUeua8IqeP+VlIfAZ3bphpcLTnSZXz6z9jcVC/TCwbfgdw==",
798
804
  "react-refresh@0.17.0": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==",
799
805
  "react-router@7.13.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": "sha512-tX1Aee+ArlKQP+NIUd7SE6Li+CiGKwQtbS+FfRxPX6Pe4vHOo6nr9d++u5cwg+Z8K/x8tP+7qLmujDtfrAoUJA==",
@@ -886,6 +892,7 @@
886
892
  "strip-literal@3.1.0": "sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==",
887
893
  "style-to-js@1.1.21": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==",
888
894
  "style-to-object@1.0.14": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==",
895
+ "sucrase@3.35.1": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==",
889
896
  "supports-color@5.5.0": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
890
897
  "supports-color@7.2.0": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
891
898
  "supports-color@8.1.1": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
@@ -894,6 +901,8 @@
894
901
  "tapable@1.1.3": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
895
902
  "terser@5.46.1": "sha512-vzCjQO/rgUuK9sf8VJZvjqiqiHFaZLnOiimmUuOKODxWL8mm/xua7viT7aqX7dgPY60otQjUotzFMmCB4VdmqQ==",
896
903
  "test-exclude@6.0.0": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
904
+ "thenify-all@1.6.0": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
905
+ "thenify@3.3.1": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
897
906
  "tiny-invariant@1.3.3": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==",
898
907
  "tinybench@2.9.0": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==",
899
908
  "tinyexec@0.3.2": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==",
@@ -914,6 +923,7 @@
914
923
  "trim-lines@3.0.1": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==",
915
924
  "trough@2.2.0": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==",
916
925
  "ts-dedent@2.2.0": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==",
926
+ "ts-interface-checker@0.1.13": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
917
927
  "tsconfig-paths@4.2.0": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==",
918
928
  "tslib@2.8.1": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
919
929
  "type-detect@4.0.8": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
@@ -938,6 +948,7 @@
938
948
  "unplugin@1.16.1": "sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==",
939
949
  "update-browserslist-db@1.2.3(browserslist@4.28.1)": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==",
940
950
  "url-join@4.0.1": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==",
951
+ "use-editable@2.3.3(react@19.2.4)": "sha512-7wVD2JbfAFJ3DK0vITvXBdpd9JAz5BcKAAolsnLBuBn6UDDwBGuCIAGvR3yA2BNKm578vAMVHFCWaOcA+BhhiA==",
941
952
  "use-sync-external-store@1.6.0(react@19.2.4)": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==",
942
953
  "util-deprecate@1.0.2": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
943
954
  "util@0.12.5": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
@@ -948,6 +959,7 @@
948
959
  "vfile-message@4.0.3": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==",
949
960
  "vfile@6.0.3": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==",
950
961
  "vite-node@3.2.4(@types/node@22.19.15)(jiti@1.21.7)(sass@1.98.0)(terser@5.46.1)": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==",
962
+ "vite-plugin-css-injected-by-js@4.0.1(vite@6.4.2(@types/node@22.19.15)(jiti@1.21.7)(sass@1.98.0)(terser@5.46.1))": "sha512-WfyRojojQyAO/KzWf+efcXpTPv6zJPXaRmr9EYq5a4v5I3PWCR7kR01hiri2lW6+rHm3a57kpwsf+iahIJi1Qw==",
951
963
  "vite@6.4.2(@types/node@22.19.15)(jiti@1.21.7)(sass@1.98.0)(terser@5.46.1)": "sha512-2N/55r4JDJ4gdrCvGgINMy+HH3iRpNIz8K6SFwVsA+JbQScLiC+clmAxBgwiSPgcG9U15QmvqCGWzMbqda5zGQ==",
952
964
  "vitest@3.2.4(@types/debug@4.1.13)(@types/node@22.19.15)(jiti@1.21.7)(jsdom@29.0.1)(sass@1.98.0)(terser@5.46.1)": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==",
953
965
  "w3c-xmlserializer@5.0.0": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==",
package/README.md CHANGED
@@ -34,13 +34,13 @@ Components are grouped by area under `src/components/`:
34
34
  |----------|----------|
35
35
  | **Display primitives** | `Button`, `SplitButton`, `CopyButton`, `Tooltip`, `Breadcrumbs`, `ConfirmDialog`, `Skeleton`, `Spinner`, `SplashScreen`, `FloatingActionBar` |
36
36
  | **Event stream** | `EventStream`, `EventRenderer`, `EventHoverRow`, `SessionPicker`, `SessionAttemptSelector` |
37
- | **MCP Apps widgets** | `widget` events render in a sandboxed iframe via `EventRenderer`/`EventStream` — pass `sandboxProxyUrl`. `EventRenderer` dispatches on the event's `rendererKind` (v1: `mcp-app-html` → `McpAppWidget`; unknown kinds fall back to the default card), so declarative renderers can be added without changing the contract. The host renderer `McpAppWidget` is loaded internally (lazy/code-split) and is **not** a value export; only its prop types (`McpAppWidgetProps`) and `grackleHostStyleVariables` are exported. |
37
+ | **MCP Apps widgets** | `widget` events render in a sandboxed iframe via `EventRenderer`/`EventStream` — pass `sandboxProxyUrl`. `EventRenderer` dispatches on the event's `rendererKind` (`mcp-app-html` → `McpAppWidget`; `grackle-react` → the bundled React runtime that renders agent JSX against this library, #1268; unknown kinds fall back to the default card), so new renderers can be added without changing the contract. The host renderer `McpAppWidget` is loaded internally (lazy/code-split) and is **not** a value export; only its prop types (`McpAppWidgetProps`) and `grackleHostStyleVariables` are exported. The `grackle-react` runtime is built separately to `mcp-app-runtime/runtime.js` (self-contained: React + the component library + react-live) and served from the sandbox origin. |
38
38
  | **Tool cards** | `ToolCard`, `FileEditCard`, `FileReadCard`, `ShellCard`, `SearchCard`, `TodoCard`, `MetadataCard`, `AgentToolCard`, `GenericToolCard` |
39
39
  | **Layout** | `AppNav`, `Sidebar`, `StatusBar`, `BottomStatusBar` |
40
- | **Lists** | `TaskList`, `EnvironmentNav`, `FindingsNav` |
40
+ | **Lists** | `TaskList`, `EnvironmentNav` |
41
41
  | **DAG visualization** | `DagView`, `TaskNode`, `useDagLayout` (React Flow + dagre) |
42
42
  | **Knowledge graph** | `KnowledgeGraph`, `KnowledgeDetailPanel`, `KnowledgeNav` |
43
- | **Panels** | `TaskEditPanel`, `TaskOverviewPanel`, `EnvironmentEditPanel`, `FindingsPanel`, `TokensPanel`, `AppearancePanel`, `AboutPanel`, `PluginsPanel`, `GitHubAccountsPanel`, `CredentialProvidersPanel`, `KeyboardShortcutsPanel`, `WorkpadPanel` |
43
+ | **Panels** | `TaskEditPanel`, `TaskOverviewPanel`, `EnvironmentEditPanel`, `TokensPanel`, `AppearancePanel`, `AboutPanel`, `PluginsPanel`, `GitHubAccountsPanel`, `CredentialProvidersPanel`, `KeyboardShortcutsPanel`, `WorkpadPanel` |
44
44
  | **Editable fields** | `EditableTextField`, `EditableTextArea`, `EditableSelect`, `EditableCheckbox`, `EnvironmentSelect`, `useEditableField` |
45
45
  | **Notifications** | `Toast`, `ToastContainer`, `Callout`, `UpdateBanner` |
46
46
  | **Workspace & boards** | `WorkspaceBoard`, `WorkspaceFormFields` |
@@ -2,7 +2,7 @@
2
2
  "operationSettings": [
3
3
  {
4
4
  "operationName": "_phase:build",
5
- "outputFolderNames": ["dist", "storybook-static"]
5
+ "outputFolderNames": ["dist", "storybook-static", "mcp-app-runtime"]
6
6
  },
7
7
  {
8
8
  "operationName": "_phase:test",