@grackle-ai/web-components 0.112.2 → 0.113.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 (26) hide show
  1. package/.rush/temp/{1421806d07f6b0c455deca4bf89a6412726ffd8b.tar.log → 05ec67b10f932bdbe295aab3f4465cf0d26cb485.tar.log} +16 -14
  2. package/.rush/temp/{1421806d07f6b0c455deca4bf89a6412726ffd8b.untar.log → 05ec67b10f932bdbe295aab3f4465cf0d26cb485.untar.log} +2 -2
  3. package/.rush/temp/{a0341c0f1c835c664217d8a879aa38d780e62122.tar.log → b47d67cd3e2d79d0da7f9aef2eb425725d6d2f61.tar.log} +2 -2
  4. package/.rush/temp/{a0341c0f1c835c664217d8a879aa38d780e62122.untar.log → b47d67cd3e2d79d0da7f9aef2eb425725d6d2f61.untar.log} +2 -2
  5. package/.rush/temp/chunked-rush-logs/web-components._phase_build.chunks.jsonl +6 -5
  6. package/.rush/temp/chunked-rush-logs/web-components._phase_test.chunks.jsonl +20 -21
  7. package/.rush/temp/operation/_phase_build/all.log +6 -5
  8. package/.rush/temp/operation/_phase_build/log-chunks.jsonl +6 -5
  9. package/.rush/temp/operation/_phase_build/state.json +1 -1
  10. package/.rush/temp/operation/_phase_test/all.log +20 -21
  11. package/.rush/temp/operation/_phase_test/log-chunks.jsonl +20 -21
  12. package/.rush/temp/operation/_phase_test/state.json +1 -1
  13. package/README.md +1 -0
  14. package/dist/McpAppWidget-CSX2W2Vb.js +5774 -0
  15. package/dist/index.js +11976 -17723
  16. package/package.json +2 -2
  17. package/rush-logs/web-components._phase_build.cache.log +1 -1
  18. package/rush-logs/web-components._phase_build.log +6 -5
  19. package/rush-logs/web-components._phase_test.cache.log +1 -1
  20. package/rush-logs/web-components._phase_test.log +20 -21
  21. package/src/components/display/EventRenderer.stories.tsx +22 -0
  22. package/src/components/display/EventRenderer.tsx +44 -2
  23. package/src/components/display/EventStream.tsx +4 -1
  24. package/src/components/display/index.ts +3 -1
  25. package/src/index.ts +1 -1
  26. package/temp/build/lint/_eslint-5eVG3S6w.json +13 -13
@@ -1,10 +1,11 @@
1
- Start time: Fri May 22 2026 23:47:10 GMT+0000 (Coordinated Universal Time)
2
- Invoking "/usr/bin/tar -c -f /home/runner/work/grackle/grackle/common/temp/build-cache/1421806d07f6b0c455deca4bf89a6412726ffd8b-032a96e9abf2e04f.temp -z --files-from=-"
1
+ Start time: Sat May 23 2026 03:04:52 GMT+0000 (Coordinated Universal Time)
2
+ Invoking "/usr/bin/tar -c -f /home/runner/work/grackle/grackle/common/temp/build-cache/05ec67b10f932bdbe295aab3f4465cf0d26cb485-0305ec5ba45dc871.temp -z --files-from=-"
3
3
 
4
4
  ======= BEGIN PROCESS INPUT ======
5
5
  .rush/temp/operation/_phase_build/all.log
6
6
  .rush/temp/operation/_phase_build/log-chunks.jsonl
7
7
  .rush/temp/operation/_phase_build/state.json
8
+ dist/McpAppWidget-CSX2W2Vb.js
8
9
  dist/index.css
9
10
  dist/index.js
10
11
  storybook-static/assets/AboutPanel.stories-ybpANdrt.js
@@ -26,7 +27,7 @@ storybook-static/assets/Callout-DzSM2KAv.js
26
27
  storybook-static/assets/Callout.stories-C5pm49DL.js
27
28
  storybook-static/assets/ChatInput-Ci5SZXgq.css
28
29
  storybook-static/assets/ChatInput.stories--4BDWKcJ.js
29
- storybook-static/assets/Color-YHDXOIA2-ozDk85Uf.js
30
+ storybook-static/assets/Color-YHDXOIA2-CViHsvvS.js
30
31
  storybook-static/assets/ConfirmDialog-B_iVdIL1.js
31
32
  storybook-static/assets/ConfirmDialog-Jqq4bffz.css
32
33
  storybook-static/assets/ConfirmDialog.stories-D8W6DL7L.js
@@ -38,7 +39,7 @@ storybook-static/assets/DagView-BZV40eAE.css
38
39
  storybook-static/assets/DagView.stories-B1z1AnMv.js
39
40
  storybook-static/assets/DemoBanner-DVSwhfpb.css
40
41
  storybook-static/assets/DemoBanner.stories-vCkrb_NA.js
41
- storybook-static/assets/DocsRenderer-CFRXHY34-C3HiEaNy.js
42
+ storybook-static/assets/DocsRenderer-CFRXHY34-LQU7M9AX.js
42
43
  storybook-static/assets/EditableCheckbox.stories-B8S2-OOA.js
43
44
  storybook-static/assets/EditableField-C3Qf3r87.css
44
45
  storybook-static/assets/EditableField.module-B3_EXsWq.js
@@ -55,10 +56,10 @@ storybook-static/assets/EventHoverRow-CM2QWJmd.js
55
56
  storybook-static/assets/EventHoverRow-CxddGRVu.css
56
57
  storybook-static/assets/EventHoverRow.stories-B00qi2g3.js
57
58
  storybook-static/assets/EventRenderer-BlNCdNZc.css
58
- storybook-static/assets/EventRenderer-DaJvscsl.js
59
- storybook-static/assets/EventRenderer.stories-CzFqVt2r.js
59
+ storybook-static/assets/EventRenderer-CPmO2WL9.js
60
+ storybook-static/assets/EventRenderer.stories-BUMIY4Bl.js
60
61
  storybook-static/assets/EventStream-CfWRUqli.css
61
- storybook-static/assets/EventStream.stories-BF4va8-L.js
62
+ storybook-static/assets/EventStream.stories-Ble8Dy17.js
62
63
  storybook-static/assets/FileEditCard-D7KxJiYU.js
63
64
  storybook-static/assets/FileEditCard.stories-DpOCSkd0.js
64
65
  storybook-static/assets/FileReadCard-_A59UClJ.js
@@ -84,9 +85,10 @@ storybook-static/assets/KnowledgeGraph-DYK-e4SV.css
84
85
  storybook-static/assets/KnowledgeGraph.stories-JnOhTvBO.js
85
86
  storybook-static/assets/KnowledgeNav-DO01esra.css
86
87
  storybook-static/assets/KnowledgeNav.stories-CBOlv9hr.js
87
- storybook-static/assets/McpAppWidget.stories-5z2Be7PN.js
88
+ storybook-static/assets/McpAppWidget-4flrrwkF.js
89
+ storybook-static/assets/McpAppWidget.stories-DHwsaddN.js
88
90
  storybook-static/assets/McpToolSelector-Aen78-OR.css
89
- storybook-static/assets/McpToolSelector.stories-BcJ8tZ_w.js
91
+ storybook-static/assets/McpToolSelector.stories-DpLSFAs-.js
90
92
  storybook-static/assets/MetadataCard-CGJ5W-Bk.js
91
93
  storybook-static/assets/MetadataCard.stories-Cnpuxrt6.js
92
94
  storybook-static/assets/PersonaManager-By6uQtUH.css
@@ -130,7 +132,7 @@ storybook-static/assets/TaskCard.stories-Gw2iralM.js
130
132
  storybook-static/assets/TaskEditPanel-Cr1utkBZ.css
131
133
  storybook-static/assets/TaskEditPanel.stories-BfSK0GWf.js
132
134
  storybook-static/assets/TaskList-BuDIJ0ee.css
133
- storybook-static/assets/TaskList.stories-P2IUsvzz.js
135
+ storybook-static/assets/TaskList.stories-EBK31u93.js
134
136
  storybook-static/assets/TaskNode-C5aJky5a.css
135
137
  storybook-static/assets/TaskNode-wGHTYQn-.js
136
138
  storybook-static/assets/TaskNode.stories-De6PSYvs.js
@@ -172,12 +174,12 @@ storybook-static/assets/circle-C68bNRTz.js
172
174
  storybook-static/assets/classifyTool-DKAAIUjq.js
173
175
  storybook-static/assets/clipboard-JBTeXkPi.js
174
176
  storybook-static/assets/createLucideIcon-BSGK_pbN.js
175
- storybook-static/assets/entry-preview-Cdm2QCVX.js
176
177
  storybook-static/assets/entry-preview-docs-CAgjVEX9.js
177
- storybook-static/assets/enum-converters-C3oReWuX.js
178
+ storybook-static/assets/entry-preview-z9AHHcGP.js
179
+ storybook-static/assets/enum-converters-0Fk9LN-x.js
178
180
  storybook-static/assets/format-cBZDFpLA.js
179
181
  storybook-static/assets/iconSize-vtvemS-M.js
180
- storybook-static/assets/iframe-w46L4DAH.js
182
+ storybook-static/assets/iframe-mmxa02VJ.js
181
183
  storybook-static/assets/index-B2V9nFGU.js
182
184
  storybook-static/assets/index-BPftEo5x.js
183
185
  storybook-static/assets/index-C5DSJyK4.js
@@ -190,9 +192,9 @@ storybook-static/assets/jsx-runtime-D_zvdyIk.js
190
192
  storybook-static/assets/message-square-2md5w1vC.js
191
193
  storybook-static/assets/mockData-B8IHQBHU.js
192
194
  storybook-static/assets/navigation-DGdWI-Op.js
193
- storybook-static/assets/preview-CGs5NqV9.js
194
195
  storybook-static/assets/preview-DAVcJ_De.css
195
196
  storybook-static/assets/preview-DitdPczW.js
197
+ storybook-static/assets/preview-JCmFY1YI.js
196
198
  storybook-static/assets/proxy-YSrA_aH7.js
197
199
  storybook-static/assets/react-18-ChRu7atC.js
198
200
  storybook-static/assets/search-DVDwfi7p.js
@@ -1,5 +1,5 @@
1
- Start time: Fri May 22 2026 23:50:10 GMT+0000 (Coordinated Universal Time)
2
- Invoking "/usr/bin/tar -x -m -f /home/runner/work/grackle/grackle/common/temp/build-cache/1421806d07f6b0c455deca4bf89a6412726ffd8b"
1
+ Start time: Sat May 23 2026 03:08:08 GMT+0000 (Coordinated Universal Time)
2
+ Invoking "/usr/bin/tar -x -m -f /home/runner/work/grackle/grackle/common/temp/build-cache/05ec67b10f932bdbe295aab3f4465cf0d26cb485"
3
3
 
4
4
  ======= BEGIN PROCESS INPUT ======
5
5
 
@@ -1,5 +1,5 @@
1
- Start time: Fri May 22 2026 23:50:07 GMT+0000 (Coordinated Universal Time)
2
- Invoking "/usr/bin/tar -c -f /home/runner/work/grackle/grackle/common/temp/build-cache/a0341c0f1c835c664217d8a879aa38d780e62122-98880fa353f82616.temp -z --files-from=-"
1
+ Start time: Sat May 23 2026 03:08:03 GMT+0000 (Coordinated Universal Time)
2
+ Invoking "/usr/bin/tar -c -f /home/runner/work/grackle/grackle/common/temp/build-cache/b47d67cd3e2d79d0da7f9aef2eb425725d6d2f61-3d23b3d6db87a3aa.temp -z --files-from=-"
3
3
 
4
4
  ======= BEGIN PROCESS INPUT ======
5
5
  .rush/temp/operation/_phase_test/all.log
@@ -1,5 +1,5 @@
1
- Start time: Fri May 22 2026 23:50:10 GMT+0000 (Coordinated Universal Time)
2
- Invoking "/usr/bin/tar -x -m -f /home/runner/work/grackle/grackle/common/temp/build-cache/a0341c0f1c835c664217d8a879aa38d780e62122"
1
+ Start time: Sat May 23 2026 03:08:09 GMT+0000 (Coordinated Universal Time)
2
+ Invoking "/usr/bin/tar -x -m -f /home/runner/work/grackle/grackle/common/temp/build-cache/b47d67cd3e2d79d0da7f9aef2eb425725d6d2f61"
3
3
 
4
4
  ======= BEGIN PROCESS INPUT ======
5
5
 
@@ -10,9 +10,10 @@
10
10
  {"kind":"O","text":"\u001b[32m✓\u001b[39m 2716 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 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,591.31 kB\u001b[39m\u001b[22m\u001b[2m │ gzip: 401.72 kB\u001b[22m\n"}
15
- {"kind":"O","text":"\u001b[32m✓ built in 5.69s\u001b[39m\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[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,385.24 kB\u001b[39m\u001b[22m\u001b[2m gzip: 354.56 kB\u001b[22m\n"}
16
+ {"kind":"O","text":"\u001b[32m✓ built in 5.92s\u001b[39m\n"}
16
17
  {"kind":"O","text":"[build:vite-build] Vite build completed.\n"}
17
- {"kind":"O","text":" ---- build finished (72.731s) ---- \n"}
18
- {"kind":"O","text":"-------------------- Finished (72.734s) --------------------\n"}
18
+ {"kind":"O","text":" ---- build finished (77.344s) ---- \n"}
19
+ {"kind":"O","text":"-------------------- Finished (77.347s) --------------------\n"}
@@ -5,30 +5,29 @@
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 60\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 155\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 37\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 50\u001b[2mms\u001b[22m\u001b[39m\n"}
12
- {"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 20\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 65\u001b[2mms\u001b[22m\u001b[39m\n"}
14
- {"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 22\u001b[2mms\u001b[22m\u001b[39m\n"}
15
- {"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 28\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 18\u001b[2mms\u001b[22m\u001b[39m\n"}
17
- {"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 17\u001b[2mms\u001b[22m\u001b[39m\n"}
18
- {"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 206\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 146\u001b[2mms\u001b[22m\u001b[39m\n"}
20
- {"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 199\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 445\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 416\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[32m 258\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 36\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 110\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 7\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 21\u001b[2mms\u001b[22m\u001b[39m\n"}
12
+ {"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 49\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 88\u001b[2mms\u001b[22m\u001b[39m\n"}
14
+ {"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"}
15
+ {"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 33\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 29\u001b[2mms\u001b[22m\u001b[39m\n"}
17
+ {"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 31\u001b[2mms\u001b[22m\u001b[39m\n"}
18
+ {"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 273\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 121\u001b[2mms\u001b[22m\u001b[39m\n"}
20
+ {"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 155\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 306\u001b[2mms\u001b[22m\u001b[39m\n"}
22
+ {"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 383\u001b[2mms\u001b[22m\u001b[39m\n"}
24
23
  {"kind":"O","text":"\n"}
25
24
  {"kind":"O","text":"\u001b[2m Test Files \u001b[22m \u001b[1m\u001b[32m15 passed\u001b[39m\u001b[22m\u001b[90m (15)\u001b[39m\n"}
26
25
  {"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:48:14\n"}
28
- {"kind":"O","text":"\u001b[2m Duration \u001b[22m 16.41s\u001b[2m (transform 2.75s, setup 0ms, collect 18.15s, tests 1.73s, environment 14.38s, prepare 5.42s)\u001b[22m\n"}
26
+ {"kind":"O","text":"\u001b[2m Start at \u001b[22m 03:06:05\n"}
27
+ {"kind":"O","text":"\u001b[2m Duration \u001b[22m 16.86s\u001b[2m (transform 3.49s, setup 0ms, collect 18.02s, tests 1.66s, environment 13.18s, prepare 5.11s)\u001b[22m\n"}
29
28
  {"kind":"O","text":"\n"}
30
29
  {"kind":"O","text":"[test:vitest] Vitest completed.\n"}
31
- {"kind":"O","text":"[test:storybook-test] Starting Storybook static server on port 36655...\n"}
30
+ {"kind":"O","text":"[test:storybook-test] Starting Storybook static server on port 33461...\n"}
32
31
  {"kind":"O","text":"[test:storybook-test] Storybook server ready. Running interaction tests...\n"}
33
32
  {"kind":"O","text":"jest-haste-map: duplicate manual mock found: adapter-manager\n"}
34
33
  {"kind":"O","text":" The following files share their name; please delete one of them:\n"}
@@ -121,5 +120,5 @@
121
120
  {"kind":"O","text":" * <rootDir>/packages/server/src/__mocks__/utils/network.ts\n"}
122
121
  {"kind":"O","text":"\n"}
123
122
  {"kind":"O","text":"[test:storybook-test] Storybook interaction tests completed.\n"}
124
- {"kind":"O","text":" ---- test finished (113.186s) ---- \n"}
125
- {"kind":"O","text":"-------------------- Finished (113.19s) --------------------\n"}
123
+ {"kind":"O","text":" ---- test finished (118.259s) ---- \n"}
124
+ {"kind":"O","text":"-------------------- Finished (118.269s) --------------------\n"}
@@ -10,9 +10,10 @@ transforming...
10
10
  ✓ 2716 modules transformed.
11
11
  rendering chunks...
12
12
  computing gzip size...
13
- dist/index.css 158.47 kB │ gzip: 20.60 kB
14
- dist/index.js 1,591.31 kB │ gzip: 401.72 kB
15
- built in 5.69s
13
+ dist/index.css 158.47 kB │ gzip: 20.60 kB
14
+ dist/McpAppWidget-CSX2W2Vb.js 205.28 kB │ gzip: 47.19 kB
15
+ dist/index.js 1,385.24 kB gzip: 354.56 kB
16
+ ✓ built in 5.92s
16
17
  [build:vite-build] Vite build completed.
17
- ---- build finished (72.731s) ----
18
- -------------------- Finished (72.734s) --------------------
18
+ ---- build finished (77.344s) ----
19
+ -------------------- Finished (77.347s) --------------------
@@ -10,9 +10,10 @@
10
10
  {"kind":"O","text":"\u001b[32m✓\u001b[39m 2716 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 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,591.31 kB\u001b[39m\u001b[22m\u001b[2m │ gzip: 401.72 kB\u001b[22m\n"}
15
- {"kind":"O","text":"\u001b[32m✓ built in 5.69s\u001b[39m\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[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,385.24 kB\u001b[39m\u001b[22m\u001b[2m gzip: 354.56 kB\u001b[22m\n"}
16
+ {"kind":"O","text":"\u001b[32m✓ built in 5.92s\u001b[39m\n"}
16
17
  {"kind":"O","text":"[build:vite-build] Vite build completed.\n"}
17
- {"kind":"O","text":" ---- build finished (72.731s) ---- \n"}
18
- {"kind":"O","text":"-------------------- Finished (72.734s) --------------------\n"}
18
+ {"kind":"O","text":" ---- build finished (77.344s) ---- \n"}
19
+ {"kind":"O","text":"-------------------- Finished (77.347s) --------------------\n"}
@@ -1,3 +1,3 @@
1
1
  {
2
- "nonCachedDurationMs": 73427.66210500001
2
+ "nonCachedDurationMs": 78211.154847
3
3
  }
@@ -5,30 +5,29 @@ 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) 60ms
9
- ✓ src/utils/eventContent.test.ts (38 tests) 155ms
10
- ✓ src/utils/dashboard.test.ts (4 tests) 37ms
11
- ✓ src/utils/route-config.test.ts (23 tests) 50ms
12
- ✓ src/utils/scrollUtils.test.ts (11 tests) 20ms
13
- ✓ src/utils/breadcrumbs.test.ts (18 tests) 65ms
14
- ✓ src/components/tools/classifyTool.test.ts (6 tests) 22ms
15
- ✓ src/components/tools/toolCardHelpers.test.ts (10 tests) 28ms
16
- ✓ src/utils/assetUrl.test.ts (3 tests) 18ms
17
- ✓ src/components/display/extractText.test.tsx (8 tests) 17ms
18
- ✓ src/components/editable/useEditableField.test.tsx (17 tests) 206ms
19
- ✓ src/hooks/useEventSelection.test.ts (13 tests) 146ms
20
- ✓ src/components/notifications/UpdateBanner.test.tsx (4 tests) 199ms
21
- ✓ src/utils/grackleHostStyleVariables.test.ts (2 tests) 445ms
22
- grackleHostStyleVariables > always returns the MCP-standard fallback variables 416ms
23
- ✓ src/components/display/McpAppWidget.test.tsx (3 tests) 258ms
8
+ ✓ src/utils/sessionEvents.test.ts (14 tests) 36ms
9
+ ✓ src/utils/eventContent.test.ts (38 tests) 110ms
10
+ ✓ src/utils/dashboard.test.ts (4 tests) 7ms
11
+ ✓ src/utils/route-config.test.ts (23 tests) 21ms
12
+ ✓ src/utils/scrollUtils.test.ts (11 tests) 49ms
13
+ ✓ src/utils/breadcrumbs.test.ts (18 tests) 88ms
14
+ ✓ src/components/tools/classifyTool.test.ts (6 tests) 17ms
15
+ ✓ src/utils/assetUrl.test.ts (3 tests) 33ms
16
+ ✓ src/components/tools/toolCardHelpers.test.ts (10 tests) 29ms
17
+ ✓ src/components/display/extractText.test.tsx (8 tests) 31ms
18
+ ✓ src/components/editable/useEditableField.test.tsx (17 tests) 273ms
19
+ ✓ src/hooks/useEventSelection.test.ts (13 tests) 121ms
20
+ ✓ src/components/notifications/UpdateBanner.test.tsx (4 tests) 155ms
21
+ ✓ src/utils/grackleHostStyleVariables.test.ts (2 tests) 306ms
22
+ src/components/display/McpAppWidget.test.tsx (3 tests) 383ms
24
23
 
25
24
  Test Files 15 passed (15)
26
25
  Tests 174 passed (174)
27
- Start at 23:48:14
28
- Duration 16.41s (transform 2.75s, setup 0ms, collect 18.15s, tests 1.73s, environment 14.38s, prepare 5.42s)
26
+ Start at 03:06:05
27
+ Duration 16.86s (transform 3.49s, setup 0ms, collect 18.02s, tests 1.66s, environment 13.18s, prepare 5.11s)
29
28
 
30
29
  [test:vitest] Vitest completed.
31
- [test:storybook-test] Starting Storybook static server on port 36655...
30
+ [test:storybook-test] Starting Storybook static server on port 33461...
32
31
  [test:storybook-test] Storybook server ready. Running interaction tests...
33
32
  jest-haste-map: duplicate manual mock found: adapter-manager
34
33
  The following files share their name; please delete one of them:
@@ -121,5 +120,5 @@ jest-haste-map: duplicate manual mock found: utils/network
121
120
  * <rootDir>/packages/server/src/__mocks__/utils/network.ts
122
121
 
123
122
  [test:storybook-test] Storybook interaction tests completed.
124
- ---- test finished (113.186s) ----
125
- -------------------- Finished (113.19s) --------------------
123
+ ---- test finished (118.259s) ----
124
+ -------------------- Finished (118.269s) --------------------
@@ -5,30 +5,29 @@
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 60\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 155\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 37\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 50\u001b[2mms\u001b[22m\u001b[39m\n"}
12
- {"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 20\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 65\u001b[2mms\u001b[22m\u001b[39m\n"}
14
- {"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 22\u001b[2mms\u001b[22m\u001b[39m\n"}
15
- {"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 28\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 18\u001b[2mms\u001b[22m\u001b[39m\n"}
17
- {"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 17\u001b[2mms\u001b[22m\u001b[39m\n"}
18
- {"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 206\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 146\u001b[2mms\u001b[22m\u001b[39m\n"}
20
- {"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 199\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 445\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 416\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[32m 258\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 36\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 110\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 7\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 21\u001b[2mms\u001b[22m\u001b[39m\n"}
12
+ {"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 49\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 88\u001b[2mms\u001b[22m\u001b[39m\n"}
14
+ {"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"}
15
+ {"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 33\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 29\u001b[2mms\u001b[22m\u001b[39m\n"}
17
+ {"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 31\u001b[2mms\u001b[22m\u001b[39m\n"}
18
+ {"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 273\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 121\u001b[2mms\u001b[22m\u001b[39m\n"}
20
+ {"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 155\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 306\u001b[2mms\u001b[22m\u001b[39m\n"}
22
+ {"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 383\u001b[2mms\u001b[22m\u001b[39m\n"}
24
23
  {"kind":"O","text":"\n"}
25
24
  {"kind":"O","text":"\u001b[2m Test Files \u001b[22m \u001b[1m\u001b[32m15 passed\u001b[39m\u001b[22m\u001b[90m (15)\u001b[39m\n"}
26
25
  {"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:48:14\n"}
28
- {"kind":"O","text":"\u001b[2m Duration \u001b[22m 16.41s\u001b[2m (transform 2.75s, setup 0ms, collect 18.15s, tests 1.73s, environment 14.38s, prepare 5.42s)\u001b[22m\n"}
26
+ {"kind":"O","text":"\u001b[2m Start at \u001b[22m 03:06:05\n"}
27
+ {"kind":"O","text":"\u001b[2m Duration \u001b[22m 16.86s\u001b[2m (transform 3.49s, setup 0ms, collect 18.02s, tests 1.66s, environment 13.18s, prepare 5.11s)\u001b[22m\n"}
29
28
  {"kind":"O","text":"\n"}
30
29
  {"kind":"O","text":"[test:vitest] Vitest completed.\n"}
31
- {"kind":"O","text":"[test:storybook-test] Starting Storybook static server on port 36655...\n"}
30
+ {"kind":"O","text":"[test:storybook-test] Starting Storybook static server on port 33461...\n"}
32
31
  {"kind":"O","text":"[test:storybook-test] Storybook server ready. Running interaction tests...\n"}
33
32
  {"kind":"O","text":"jest-haste-map: duplicate manual mock found: adapter-manager\n"}
34
33
  {"kind":"O","text":" The following files share their name; please delete one of them:\n"}
@@ -121,5 +120,5 @@
121
120
  {"kind":"O","text":" * <rootDir>/packages/server/src/__mocks__/utils/network.ts\n"}
122
121
  {"kind":"O","text":"\n"}
123
122
  {"kind":"O","text":"[test:storybook-test] Storybook interaction tests completed.\n"}
124
- {"kind":"O","text":" ---- test finished (113.186s) ---- \n"}
125
- {"kind":"O","text":"-------------------- Finished (113.19s) --------------------\n"}
123
+ {"kind":"O","text":" ---- test finished (118.259s) ---- \n"}
124
+ {"kind":"O","text":"-------------------- Finished (118.269s) --------------------\n"}
@@ -1,3 +1,3 @@
1
1
  {
2
- "nonCachedDurationMs": 114332.20314299999
2
+ "nonCachedDurationMs": 119082.845403
3
3
  }
package/README.md CHANGED
@@ -34,6 +34,7 @@ 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`. 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
38
  | **Tool cards** | `ToolCard`, `FileEditCard`, `FileReadCard`, `ShellCard`, `SearchCard`, `TodoCard`, `MetadataCard`, `AgentToolCard`, `GenericToolCard` |
38
39
  | **Layout** | `AppNav`, `Sidebar`, `StatusBar`, `BottomStatusBar` |
39
40
  | **Lists** | `TaskList`, `EnvironmentNav`, `FindingsNav` |