@grackle-ai/web-components 0.115.1 → 0.116.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 (55) hide show
  1. package/.rush/temp/chunked-rush-logs/web-components._phase_build.chunks.jsonl +6 -6
  2. package/.rush/temp/chunked-rush-logs/web-components._phase_test.chunks.jsonl +26 -28
  3. package/.rush/temp/{689afee5625b24607e65ba3a6d3b279d5895784d.tar.log → f238c174d295031bec7f186733732e0fd7e4b9a5.tar.log} +55 -60
  4. package/.rush/temp/{689afee5625b24607e65ba3a6d3b279d5895784d.untar.log → f238c174d295031bec7f186733732e0fd7e4b9a5.untar.log} +2 -2
  5. package/.rush/temp/{e12a67384bc67b4cba24253105ba33ed0945c91d.tar.log → f5301e6a84109dcec06242d178df01e555a83456.tar.log} +2 -2
  6. package/.rush/temp/{e12a67384bc67b4cba24253105ba33ed0945c91d.untar.log → f5301e6a84109dcec06242d178df01e555a83456.untar.log} +2 -2
  7. package/.rush/temp/operation/_phase_build/all.log +6 -6
  8. package/.rush/temp/operation/_phase_build/log-chunks.jsonl +6 -6
  9. package/.rush/temp/operation/_phase_build/state.json +1 -1
  10. package/.rush/temp/operation/_phase_test/all.log +26 -28
  11. package/.rush/temp/operation/_phase_test/log-chunks.jsonl +26 -28
  12. package/.rush/temp/operation/_phase_test/state.json +1 -1
  13. package/.rush/temp/shrinkwrap-deps.json +3 -3
  14. package/README.md +2 -2
  15. package/dist/index.css +1 -1
  16. package/dist/index.js +9055 -9498
  17. package/package.json +2 -2
  18. package/rush-logs/web-components._phase_build.cache.log +1 -1
  19. package/rush-logs/web-components._phase_build.log +6 -6
  20. package/rush-logs/web-components._phase_test.cache.log +1 -1
  21. package/rush-logs/web-components._phase_test.log +26 -28
  22. package/src/components/index.ts +0 -3
  23. package/src/components/knowledge/KnowledgeDetailPanel.tsx +1 -4
  24. package/src/components/layout/AppNav.stories.tsx +3 -6
  25. package/src/components/layout/AppNav.tsx +3 -7
  26. package/src/components/layout/BottomStatusBar.tsx +4 -6
  27. package/src/components/lists/index.ts +0 -1
  28. package/src/components/panels/KeyboardShortcutsPanel.tsx +0 -1
  29. package/src/components/panels/index.ts +0 -1
  30. package/src/components/personas/McpToolSelector.stories.tsx +12 -12
  31. package/src/components/tools/ToolCard.stories.tsx +0 -26
  32. package/src/components/tools/ToolCard.tsx +0 -3
  33. package/src/components/tools/ToolSearchCard.stories.tsx +8 -8
  34. package/src/components/tools/WorkpadCard.stories.tsx +5 -5
  35. package/src/components/tools/classifyTool.test.ts +0 -1
  36. package/src/components/tools/classifyTool.ts +2 -7
  37. package/src/context/GrackleContextTypes.ts +1 -3
  38. package/src/hooks/types.ts +1 -44
  39. package/src/index.ts +4 -8
  40. package/src/mocks/MockGrackleProvider.tsx +0 -75
  41. package/src/mocks/mockData.ts +8 -99
  42. package/src/test-utils/storybook-helpers.ts +0 -19
  43. package/src/utils/breadcrumbs.test.ts +0 -43
  44. package/src/utils/breadcrumbs.ts +1 -37
  45. package/src/utils/navigation.ts +1 -20
  46. package/src/utils/route-config.test.ts +0 -31
  47. package/temp/build/lint/_eslint-5eVG3S6w.json +30 -54
  48. package/src/components/lists/FindingsNav.module.scss +0 -126
  49. package/src/components/lists/FindingsNav.tsx +0 -146
  50. package/src/components/panels/FindingsPanel.module.scss +0 -94
  51. package/src/components/panels/FindingsPanel.stories.tsx +0 -109
  52. package/src/components/panels/FindingsPanel.tsx +0 -76
  53. package/src/components/tools/FindingCard.stories.tsx +0 -124
  54. package/src/components/tools/FindingCard.tsx +0 -178
  55. package/src/utils/findingCategory.ts +0 -33
@@ -5,32 +5,30 @@
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 45\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 118\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 23\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 53\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 26\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 43\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 39\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 17\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 11\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 18\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 33\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 46\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 129\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 9\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 20\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 27\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 15\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 11\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 25\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 14\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 22\u001b[2mms\u001b[22m\u001b[39m\n"}
19
+ {"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 180\u001b[2mms\u001b[22m\u001b[39m\n"}
19
20
  {"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 159\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 175\u001b[2mms\u001b[22m\u001b[39m\n"}
21
- {"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 594\u001b[2mms\u001b[22m\u001b[39m\n"}
22
- {"kind":"O","text":" \u001b[33m\u001b[2m✓\u001b[22m\u001b[39m McpAppWidget\u001b[2m > \u001b[22mmounts an iframe host for the widget \u001b[33m 399\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 124\u001b[2mms\u001b[22m\u001b[39m\n"}
24
- {"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 465\u001b[2mms\u001b[22m\u001b[39m\n"}
25
- {"kind":"O","text":" \u001b[33m\u001b[2m✓\u001b[22m\u001b[39m grackleHostStyleVariables\u001b[2m > \u001b[22malways returns the MCP-standard fallback variables \u001b[33m 443\u001b[2mms\u001b[22m\u001b[39m\n"}
21
+ {"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 95\u001b[2mms\u001b[22m\u001b[39m\n"}
22
+ {"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[32m 195\u001b[2mms\u001b[22m\u001b[39m\n"}
23
+ {"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 361\u001b[2mms\u001b[22m\u001b[39m\n"}
26
24
  {"kind":"O","text":"\n"}
27
25
  {"kind":"O","text":"\u001b[2m Test Files \u001b[22m \u001b[1m\u001b[32m16 passed\u001b[39m\u001b[22m\u001b[90m (16)\u001b[39m\n"}
28
- {"kind":"O","text":"\u001b[2m Tests \u001b[22m \u001b[1m\u001b[32m184 passed\u001b[39m\u001b[22m\u001b[90m (184)\u001b[39m\n"}
29
- {"kind":"O","text":"\u001b[2m Start at \u001b[22m 14:11:00\n"}
30
- {"kind":"O","text":"\u001b[2m Duration \u001b[22m 16.59s\u001b[2m (transform 2.42s, setup 0ms, collect 18.42s, tests 1.94s, environment 11.64s, prepare 5.10s)\u001b[22m\n"}
26
+ {"kind":"O","text":"\u001b[2m Tests \u001b[22m \u001b[1m\u001b[32m174 passed\u001b[39m\u001b[22m\u001b[90m (174)\u001b[39m\n"}
27
+ {"kind":"O","text":"\u001b[2m Start at \u001b[22m 23:49:50\n"}
28
+ {"kind":"O","text":"\u001b[2m Duration \u001b[22m 15.38s\u001b[2m (transform 2.97s, setup 0ms, collect 14.70s, tests 1.33s, environment 12.10s, prepare 5.21s)\u001b[22m\n"}
31
29
  {"kind":"O","text":"\n"}
32
30
  {"kind":"O","text":"[test:vitest] Vitest completed.\n"}
33
- {"kind":"O","text":"[test:storybook-test] Starting Storybook static server on port 34877...\n"}
31
+ {"kind":"O","text":"[test:storybook-test] Starting Storybook static server on port 45217...\n"}
34
32
  {"kind":"O","text":"[test:storybook-test] Storybook server ready. Running interaction tests...\n"}
35
33
  {"kind":"O","text":"jest-haste-map: duplicate manual mock found: adapter-manager\n"}
36
34
  {"kind":"O","text":" The following files share their name; please delete one of them:\n"}
@@ -97,16 +95,16 @@
97
95
  {"kind":"O","text":" * <rootDir>/packages/server/dist/__mocks__/stream-hub.js\n"}
98
96
  {"kind":"O","text":" * <rootDir>/packages/server/src/__mocks__/stream-hub.ts\n"}
99
97
  {"kind":"O","text":"\n"}
100
- {"kind":"O","text":"jest-haste-map: duplicate manual mock found: token-push\n"}
101
- {"kind":"O","text":" The following files share their name; please delete one of them:\n"}
102
- {"kind":"O","text":" * <rootDir>/packages/server/dist/__mocks__/token-push.js\n"}
103
- {"kind":"O","text":" * <rootDir>/packages/server/src/__mocks__/token-push.ts\n"}
104
- {"kind":"O","text":"\n"}
105
98
  {"kind":"O","text":"jest-haste-map: duplicate manual mock found: stream-registry\n"}
106
99
  {"kind":"O","text":" The following files share their name; please delete one of them:\n"}
107
100
  {"kind":"O","text":" * <rootDir>/packages/server/dist/__mocks__/stream-registry.js\n"}
108
101
  {"kind":"O","text":" * <rootDir>/packages/server/src/__mocks__/stream-registry.ts\n"}
109
102
  {"kind":"O","text":"\n"}
103
+ {"kind":"O","text":"jest-haste-map: duplicate manual mock found: token-push\n"}
104
+ {"kind":"O","text":" The following files share their name; please delete one of them:\n"}
105
+ {"kind":"O","text":" * <rootDir>/packages/server/dist/__mocks__/token-push.js\n"}
106
+ {"kind":"O","text":" * <rootDir>/packages/server/src/__mocks__/token-push.ts\n"}
107
+ {"kind":"O","text":"\n"}
110
108
  {"kind":"O","text":"jest-haste-map: duplicate manual mock found: utils/exec\n"}
111
109
  {"kind":"O","text":" The following files share their name; please delete one of them:\n"}
112
110
  {"kind":"O","text":" * <rootDir>/packages/server/dist/__mocks__/utils/exec.js\n"}
@@ -123,5 +121,5 @@
123
121
  {"kind":"O","text":" * <rootDir>/packages/server/src/__mocks__/utils/network.ts\n"}
124
122
  {"kind":"O","text":"\n"}
125
123
  {"kind":"O","text":"[test:storybook-test] Storybook interaction tests completed.\n"}
126
- {"kind":"O","text":" ---- test finished (115.192s) ---- \n"}
127
- {"kind":"O","text":"-------------------- Finished (115.202s) --------------------\n"}
124
+ {"kind":"O","text":" ---- test finished (74.932s) ---- \n"}
125
+ {"kind":"O","text":"-------------------- Finished (74.942s) --------------------\n"}
@@ -1,3 +1,3 @@
1
1
  {
2
- "nonCachedDurationMs": 116195.40690900001
2
+ "nonCachedDurationMs": 75705.523505
3
3
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "../../packages/web-components": "../../packages/web-components:JR9+Mdqkto0vv26LDdkx4jCOu0kXju3loGvtGFCHNXQ=:",
2
+ "../../packages/web-components": "../../packages/web-components:4fN3IfsmylXCmxjNQKnJkMbx1P2YrbxPRRBA37MI4gU=:",
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==",
@@ -119,8 +119,8 @@
119
119
  "@jsep-plugin/assignment@1.3.0(jsep@1.4.0)": "sha512-VVgV+CXrhbMI3aSusQyclHkenWSAm95WaiKrMxRFam3JSUiIaQjoMIw2sEs/OX4XifnqeQUN4DYbJjlA8EfktQ==",
120
120
  "@jsep-plugin/regex@1.0.4(jsep@1.4.0)": "sha512-q7qL4Mgjs1vByCaTnDFcBnV9HS7GVPJX5vyVoCgZHNSC9rjwIlmbXG5sUuorR5ndfHAIlJ8pVStxvjXHbNvtUg==",
121
121
  "@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.4)": "sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==",
122
- "@modelcontextprotocol/ext-apps@1.7.2(@modelcontextprotocol/sdk@1.29.0(zod@4.3.6))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(zod@4.3.6)": "sha512-OOWKDxdAjYDcgHkmzVzccyyag3FK+jBWPaWu4WvTxFsU4R/cgOX4eep66zPRA5n4v6WfxUNibPyvX4iJ7egYTg==",
123
- "@modelcontextprotocol/sdk@1.29.0(zod@4.3.6)": "sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==",
122
+ "@modelcontextprotocol/ext-apps@1.7.2(@modelcontextprotocol/sdk@1.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(zod@4.3.6)": "sha512-OOWKDxdAjYDcgHkmzVzccyyag3FK+jBWPaWu4WvTxFsU4R/cgOX4eep66zPRA5n4v6WfxUNibPyvX4iJ7egYTg==",
123
+ "@modelcontextprotocol/sdk@1.29.0": "sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==",
124
124
  "@nodelib/fs.scandir@2.1.5": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
125
125
  "@nodelib/fs.stat@2.0.5": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
126
126
  "@nodelib/fs.walk@1.2.8": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
package/README.md CHANGED
@@ -37,10 +37,10 @@ Components are grouped by area under `src/components/`:
37
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. |
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` |