@grackle-ai/web-components 0.108.4 → 0.110.2

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 (30) hide show
  1. package/.rush/temp/{ddb88821de1bbf09dbde855d6172b545d74acf2a.tar.log → 05987f49cbc7b78f5d65af2b44f17ec097f301b3.tar.log} +2 -2
  2. package/.rush/temp/{116390ecbdd70f01703a1a6dbb1dd805d1a6f702.untar.log → 05987f49cbc7b78f5d65af2b44f17ec097f301b3.untar.log} +2 -2
  3. package/.rush/temp/{116390ecbdd70f01703a1a6dbb1dd805d1a6f702.tar.log → 0d1a9a7ccd09d5c1a54bcb19415c33e9f2c48e61.tar.log} +40 -40
  4. package/.rush/temp/{ddb88821de1bbf09dbde855d6172b545d74acf2a.untar.log → 0d1a9a7ccd09d5c1a54bcb19415c33e9f2c48e61.untar.log} +2 -2
  5. package/.rush/temp/chunked-rush-logs/web-components._phase_build.chunks.jsonl +5 -5
  6. package/.rush/temp/chunked-rush-logs/web-components._phase_test.chunks.jsonl +17 -17
  7. package/.rush/temp/operation/_phase_build/all.log +5 -5
  8. package/.rush/temp/operation/_phase_build/log-chunks.jsonl +5 -5
  9. package/.rush/temp/operation/_phase_build/state.json +1 -1
  10. package/.rush/temp/operation/_phase_test/all.log +17 -17
  11. package/.rush/temp/operation/_phase_test/log-chunks.jsonl +17 -17
  12. package/.rush/temp/operation/_phase_test/state.json +1 -1
  13. package/README.md +95 -0
  14. package/dist/index.css +1 -1
  15. package/dist/index.js +5826 -5732
  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 +5 -5
  19. package/rush-logs/web-components._phase_test.cache.log +1 -1
  20. package/rush-logs/web-components._phase_test.log +17 -17
  21. package/src/components/layout/AppNav.module.scss +6 -0
  22. package/src/components/layout/AppNav.stories.tsx +47 -0
  23. package/src/components/layout/AppNav.tsx +24 -10
  24. package/src/components/panels/EnvironmentEditPanel.stories.tsx +87 -1
  25. package/src/components/panels/EnvironmentEditPanel.tsx +143 -34
  26. package/src/context/GrackleContextTypes.ts +3 -1
  27. package/src/hooks/types.ts +21 -0
  28. package/src/index.ts +2 -2
  29. package/src/mocks/MockGrackleProvider.tsx +7 -0
  30. package/temp/build/lint/_eslint-5eVG3S6w.json +8 -8
@@ -1,5 +1,5 @@
1
- Start time: Sat May 09 2026 08:00:43 GMT+0000 (Coordinated Universal Time)
2
- Invoking "/usr/bin/tar -c -f /home/runner/work/grackle/grackle/common/temp/build-cache/ddb88821de1bbf09dbde855d6172b545d74acf2a-222ca63b669df5cc.temp -z --files-from=-"
1
+ Start time: Thu May 21 2026 05:21:10 GMT+0000 (Coordinated Universal Time)
2
+ Invoking "/usr/bin/tar -c -f /home/runner/work/grackle/grackle/common/temp/build-cache/05987f49cbc7b78f5d65af2b44f17ec097f301b3-8f603afc4d459659.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: Sat May 09 2026 08:00:45 GMT+0000 (Coordinated Universal Time)
2
- Invoking "/usr/bin/tar -x -m -f /home/runner/work/grackle/grackle/common/temp/build-cache/116390ecbdd70f01703a1a6dbb1dd805d1a6f702"
1
+ Start time: Thu May 21 2026 05:21:15 GMT+0000 (Coordinated Universal Time)
2
+ Invoking "/usr/bin/tar -x -m -f /home/runner/work/grackle/grackle/common/temp/build-cache/05987f49cbc7b78f5d65af2b44f17ec097f301b3"
3
3
 
4
4
  ======= BEGIN PROCESS INPUT ======
5
5
 
@@ -1,5 +1,5 @@
1
- Start time: Sat May 09 2026 07:57:22 GMT+0000 (Coordinated Universal Time)
2
- Invoking "/usr/bin/tar -c -f /home/runner/work/grackle/grackle/common/temp/build-cache/116390ecbdd70f01703a1a6dbb1dd805d1a6f702-8488dd71ced2e127.temp -z --files-from=-"
1
+ Start time: Thu May 21 2026 05:18:13 GMT+0000 (Coordinated Universal Time)
2
+ Invoking "/usr/bin/tar -c -f /home/runner/work/grackle/grackle/common/temp/build-cache/0d1a9a7ccd09d5c1a54bcb19415c33e9f2c48e61-def01e7b8c003a03.temp -z --files-from=-"
3
3
 
4
4
  ======= BEGIN PROCESS INPUT ======
5
5
  .rush/temp/operation/_phase_build/all.log
@@ -7,12 +7,12 @@ Invoking "/usr/bin/tar -c -f /home/runner/work/grackle/grackle/common/temp/build
7
7
  .rush/temp/operation/_phase_build/state.json
8
8
  dist/index.css
9
9
  dist/index.js
10
- storybook-static/assets/AboutPanel.stories-CW6D7BEY.js
10
+ storybook-static/assets/AboutPanel.stories-DTQFETb9.js
11
11
  storybook-static/assets/AgentToolCard-B8Rlgyd_.js
12
12
  storybook-static/assets/AgentToolCard-C1VqaVin.css
13
13
  storybook-static/assets/AgentToolCard.stories-Cg68CXa1.js
14
- storybook-static/assets/AppNav-gOnQH590.css
15
- storybook-static/assets/AppNav.stories-DosvEe7g.js
14
+ storybook-static/assets/AppNav-DWQJ1dTq.css
15
+ storybook-static/assets/AppNav.stories-CVMxH5lN.js
16
16
  storybook-static/assets/AppearancePanel.stories-CZBIius3.js
17
17
  storybook-static/assets/BottomStatusBar-CeAacGHf.css
18
18
  storybook-static/assets/BottomStatusBar.stories-MKWQgYvj.js
@@ -26,21 +26,21 @@ storybook-static/assets/Callout-D5tFovqB.css
26
26
  storybook-static/assets/Callout-DzSM2KAv.js
27
27
  storybook-static/assets/Callout.stories-C5pm49DL.js
28
28
  storybook-static/assets/ChatInput-B0SyB1LI.css
29
- storybook-static/assets/ChatInput.stories-DAUhGRl_.js
30
- storybook-static/assets/Color-YHDXOIA2-DCTczZ4w.js
29
+ storybook-static/assets/ChatInput.stories-C9glr1YV.js
30
+ storybook-static/assets/Color-YHDXOIA2-CcdIqrLF.js
31
31
  storybook-static/assets/ConfirmDialog-B_iVdIL1.js
32
32
  storybook-static/assets/ConfirmDialog-Jqq4bffz.css
33
33
  storybook-static/assets/ConfirmDialog.stories-D8W6DL7L.js
34
34
  storybook-static/assets/CopyButton-PAjlD7lE.css
35
35
  storybook-static/assets/CopyButton-RfXmIm_F.js
36
36
  storybook-static/assets/CopyButton.stories-B3xeO3Ao.js
37
- storybook-static/assets/CredentialProvidersPanel.stories-Ds06b4kO.js
37
+ storybook-static/assets/CredentialProvidersPanel.stories-DEnnH6vG.js
38
38
  storybook-static/assets/DagView-BZV40eAE.css
39
- storybook-static/assets/DagView.stories-BnKbGSti.js
39
+ storybook-static/assets/DagView.stories-Dt1taClw.js
40
40
  storybook-static/assets/DemoBanner-DVSwhfpb.css
41
41
  storybook-static/assets/DemoBanner-DlAk97L5.js
42
42
  storybook-static/assets/DemoBanner.stories-BUUYSj0K.js
43
- storybook-static/assets/DocsRenderer-CFRXHY34-BEmLrF2S.js
43
+ storybook-static/assets/DocsRenderer-CFRXHY34-DTeg_5TZ.js
44
44
  storybook-static/assets/EditableCheckbox.stories-B8S2-OOA.js
45
45
  storybook-static/assets/EditableField-C3Qf3r87.css
46
46
  storybook-static/assets/EditableField.module-B3_EXsWq.js
@@ -48,19 +48,19 @@ storybook-static/assets/EditableTextArea.stories-DDpN-W77.js
48
48
  storybook-static/assets/EditableTextField-tNChjPhf.js
49
49
  storybook-static/assets/EditableTextField.stories-DAZEvYEB.js
50
50
  storybook-static/assets/EnvironmentEditPanel-ERl5EQ53.css
51
- storybook-static/assets/EnvironmentEditPanel.stories-BCO9JwMV.js
51
+ storybook-static/assets/EnvironmentEditPanel.stories-CtF5a187.js
52
52
  storybook-static/assets/EnvironmentNav-BfyZMUiq.css
53
- storybook-static/assets/EnvironmentNav.stories-lgqu_XL5.js
53
+ storybook-static/assets/EnvironmentNav.stories-Dtdng8XY.js
54
54
  storybook-static/assets/EnvironmentSelect-CNy3LtVn.css
55
- storybook-static/assets/EnvironmentSelect.stories-II7AmK5y.js
55
+ storybook-static/assets/EnvironmentSelect.stories-Y6Ch80ak.js
56
56
  storybook-static/assets/EventHoverRow-CM2QWJmd.js
57
57
  storybook-static/assets/EventHoverRow-CxddGRVu.css
58
58
  storybook-static/assets/EventHoverRow.stories-B00qi2g3.js
59
59
  storybook-static/assets/EventRenderer-BBAuaaFz.css
60
60
  storybook-static/assets/EventRenderer-vyGrySH9.js
61
- storybook-static/assets/EventRenderer.stories-EWcFpQWS.js
61
+ storybook-static/assets/EventRenderer.stories-Dtz2sCad.js
62
62
  storybook-static/assets/EventStream-CfWRUqli.css
63
- storybook-static/assets/EventStream.stories-CYYBi0LE.js
63
+ storybook-static/assets/EventStream.stories-fe0TK5RR.js
64
64
  storybook-static/assets/FileEditCard-D7KxJiYU.js
65
65
  storybook-static/assets/FileEditCard.stories-DpOCSkd0.js
66
66
  storybook-static/assets/FileReadCard-_A59UClJ.js
@@ -68,7 +68,7 @@ storybook-static/assets/FileReadCard.stories-BJ2tNKO-.js
68
68
  storybook-static/assets/FindingCard-DNUJUioH.js
69
69
  storybook-static/assets/FindingCard.stories-P_0MvX1o.js
70
70
  storybook-static/assets/FindingsPanel-BXeVYIqe.css
71
- storybook-static/assets/FindingsPanel.stories-3boB4KSP.js
71
+ storybook-static/assets/FindingsPanel.stories-BRg5uq7G.js
72
72
  storybook-static/assets/FloatingActionBar-JAfEbqWE.css
73
73
  storybook-static/assets/FloatingActionBar-Ndi4m2YD.js
74
74
  storybook-static/assets/FloatingActionBar.stories-DChXdr5H.js
@@ -81,27 +81,27 @@ storybook-static/assets/KeyboardShortcutsPanel.stories-C6ebt5QT.js
81
81
  storybook-static/assets/KnowledgeCard-XesoELnc.js
82
82
  storybook-static/assets/KnowledgeCard.stories-DgXGEYpH.js
83
83
  storybook-static/assets/KnowledgeDetailPanel-Da99SnFY.css
84
- storybook-static/assets/KnowledgeDetailPanel.stories-DDq4W0E1.js
84
+ storybook-static/assets/KnowledgeDetailPanel.stories-lrAib6S7.js
85
85
  storybook-static/assets/KnowledgeGraph-DYK-e4SV.css
86
- storybook-static/assets/KnowledgeGraph.stories-BLROSLiN.js
86
+ storybook-static/assets/KnowledgeGraph.stories-CU2xqx4h.js
87
87
  storybook-static/assets/KnowledgeNav-DO01esra.css
88
- storybook-static/assets/KnowledgeNav.stories-rT9AAOBb.js
88
+ storybook-static/assets/KnowledgeNav.stories-C_qEzrDB.js
89
89
  storybook-static/assets/McpToolSelector-Aen78-OR.css
90
90
  storybook-static/assets/McpToolSelector.stories-BcJ8tZ_w.js
91
91
  storybook-static/assets/MetadataCard-CGJ5W-Bk.js
92
92
  storybook-static/assets/MetadataCard.stories-Cnpuxrt6.js
93
93
  storybook-static/assets/PersonaManager-By6uQtUH.css
94
- storybook-static/assets/PersonaManager.stories-RjJ5LUtQ.js
94
+ storybook-static/assets/PersonaManager.stories-DOGUp6Vf.js
95
95
  storybook-static/assets/ScheduleManager-uGq6m69d.css
96
- storybook-static/assets/ScheduleManager.stories-BzHwMd7O.js
96
+ storybook-static/assets/ScheduleManager.stories-DihQ5aBu.js
97
97
  storybook-static/assets/SearchCard-DEr03a8n.js
98
98
  storybook-static/assets/SearchCard.stories-D78lJ02P.js
99
99
  storybook-static/assets/SessionAttemptSelector-D60PNoey.js
100
100
  storybook-static/assets/SessionAttemptSelector-YIvjd5FY.css
101
- storybook-static/assets/SessionAttemptSelector.stories-D6XMhiNb.js
101
+ storybook-static/assets/SessionAttemptSelector.stories-DfykTz8y.js
102
102
  storybook-static/assets/SessionPicker-BnmjwFI9.css
103
103
  storybook-static/assets/SessionPicker-DRbmbI6x.js
104
- storybook-static/assets/SessionPicker.stories-B0ICcfr6.js
104
+ storybook-static/assets/SessionPicker.stories-CEl0NkHW.js
105
105
  storybook-static/assets/SettingsNav-n38XJoZr.css
106
106
  storybook-static/assets/SettingsNav.stories-oueML4cN.js
107
107
  storybook-static/assets/SettingsPanel-CJs2yOqy.css
@@ -110,7 +110,7 @@ storybook-static/assets/ShellCard-C-XjdbCf.js
110
110
  storybook-static/assets/ShellCard.stories-P4EhNQOX.js
111
111
  storybook-static/assets/Sidebar-Dhfb-x8Q.css
112
112
  storybook-static/assets/Sidebar.stories-BPuchTBQ.js
113
- storybook-static/assets/SidebarContext-Dnyvyfbn.js
113
+ storybook-static/assets/SidebarContext-CYdxC64N.js
114
114
  storybook-static/assets/Skeleton-54NKBtCz.css
115
115
  storybook-static/assets/Skeleton-C43FTp0q.js
116
116
  storybook-static/assets/Skeleton.stories-Ci_lgQkC.js
@@ -124,24 +124,24 @@ storybook-static/assets/SplitButton-BB1UopKw.css
124
124
  storybook-static/assets/SplitButton-I8e0Iviv.js
125
125
  storybook-static/assets/SplitButton.stories-DNT7xYeO.js
126
126
  storybook-static/assets/StatusBar-DYMcOqer.css
127
- storybook-static/assets/StatusBar.stories-1oCk8DSS.js
127
+ storybook-static/assets/StatusBar.stories-BYOBJDL3.js
128
128
  storybook-static/assets/StreamDetailPanel-Qbtzwilu.css
129
- storybook-static/assets/StreamDetailPanel.stories-Bb4Nqntm.js
129
+ storybook-static/assets/StreamDetailPanel.stories-Ca8oya0W.js
130
130
  storybook-static/assets/StreamList-B131mjFo.css
131
- storybook-static/assets/StreamList.stories-DKSxLGoV.js
131
+ storybook-static/assets/StreamList.stories-DcwyRmv2.js
132
132
  storybook-static/assets/TaskActionButtons-C-wAOp-W.css
133
- storybook-static/assets/TaskActionButtons.stories-1QdSkkI7.js
133
+ storybook-static/assets/TaskActionButtons.stories-ClsC28Ou.js
134
134
  storybook-static/assets/TaskCard-Bwc2dHJW.js
135
135
  storybook-static/assets/TaskCard.stories-Gw2iralM.js
136
136
  storybook-static/assets/TaskEditPanel-Cr1utkBZ.css
137
- storybook-static/assets/TaskEditPanel.stories-DWERKuNg.js
137
+ storybook-static/assets/TaskEditPanel.stories-BEShFTrZ.js
138
138
  storybook-static/assets/TaskList-BuDIJ0ee.css
139
- storybook-static/assets/TaskList.stories-D21yJ8q4.js
139
+ storybook-static/assets/TaskList.stories-DrxnK-NN.js
140
140
  storybook-static/assets/TaskNode-C5aJky5a.css
141
141
  storybook-static/assets/TaskNode-wGHTYQn-.js
142
- storybook-static/assets/TaskNode.stories-DMY3aknU.js
142
+ storybook-static/assets/TaskNode.stories-2fDBSNfR.js
143
143
  storybook-static/assets/TaskOverviewPanel-CuO66F6M.css
144
- storybook-static/assets/TaskOverviewPanel.stories-rNVnKDUI.js
144
+ storybook-static/assets/TaskOverviewPanel.stories-DrhYduVR.js
145
145
  storybook-static/assets/Toast-C2s2TSk_.js
146
146
  storybook-static/assets/Toast-DxCFpQwo.css
147
147
  storybook-static/assets/Toast.stories-3vTK7oIX.js
@@ -150,7 +150,7 @@ storybook-static/assets/ToastContainer.stories-3M7dLhan.js
150
150
  storybook-static/assets/TodoCard-DzqHdSVX.css
151
151
  storybook-static/assets/TodoCard-fvPJDwRE.js
152
152
  storybook-static/assets/TodoCard.stories-uaRlwhGN.js
153
- storybook-static/assets/TokensPanel.stories-CSaWOXr1.js
153
+ storybook-static/assets/TokensPanel.stories-UwWB5r9K.js
154
154
  storybook-static/assets/ToolCard-cpVDAs87.js
155
155
  storybook-static/assets/ToolCard.stories-D8Fq5fdi.js
156
156
  storybook-static/assets/ToolSearchCard-B45gz8e3.js
@@ -165,9 +165,9 @@ storybook-static/assets/WorkpadPanel-C6T8CtoU.js
165
165
  storybook-static/assets/WorkpadPanel-VDs4R_k8.css
166
166
  storybook-static/assets/WorkpadPanel.stories-DyhLQCw8.js
167
167
  storybook-static/assets/WorkspaceBoard-BlSyPWpw.css
168
- storybook-static/assets/WorkspaceBoard.stories-BuVTtDGq.js
168
+ storybook-static/assets/WorkspaceBoard.stories-C0yFzY3n.js
169
169
  storybook-static/assets/WorkspaceFormFields-B7ndeC7z.css
170
- storybook-static/assets/WorkspaceFormFields.stories-DwEP2RhX.js
170
+ storybook-static/assets/WorkspaceFormFields.stories-BGVc2_d2.js
171
171
  storybook-static/assets/check-BK7ScIdm.js
172
172
  storybook-static/assets/chevron-down-CJJryvZ4.js
173
173
  storybook-static/assets/chevron-right-DFWyZf4v.js
@@ -177,12 +177,12 @@ storybook-static/assets/circle-C68bNRTz.js
177
177
  storybook-static/assets/classifyTool-DKAAIUjq.js
178
178
  storybook-static/assets/clipboard-JBTeXkPi.js
179
179
  storybook-static/assets/createLucideIcon-BSGK_pbN.js
180
- storybook-static/assets/entry-preview-BbgN6D4N.js
180
+ storybook-static/assets/entry-preview-1xl3ZXgA.js
181
181
  storybook-static/assets/entry-preview-docs-CAgjVEX9.js
182
182
  storybook-static/assets/enum-converters-C3oReWuX.js
183
183
  storybook-static/assets/format-cBZDFpLA.js
184
184
  storybook-static/assets/iconSize-vtvemS-M.js
185
- storybook-static/assets/iframe-BtJpDusH.js
185
+ storybook-static/assets/iframe-BBchsvH5.js
186
186
  storybook-static/assets/index-B2V9nFGU.js
187
187
  storybook-static/assets/index-BPftEo5x.js
188
188
  storybook-static/assets/index-C5DSJyK4.js
@@ -195,13 +195,13 @@ storybook-static/assets/jsx-runtime-D_zvdyIk.js
195
195
  storybook-static/assets/message-square-2md5w1vC.js
196
196
  storybook-static/assets/navigation-QPswLjzK.js
197
197
  storybook-static/assets/preview-CLVo2qgD.js
198
- storybook-static/assets/preview-CQvIPxq7.js
199
198
  storybook-static/assets/preview-DAVcJ_De.css
199
+ storybook-static/assets/preview-xQf6cPH1.js
200
200
  storybook-static/assets/proxy-YSrA_aH7.js
201
201
  storybook-static/assets/react-18-ChRu7atC.js
202
202
  storybook-static/assets/search-DVDwfi7p.js
203
- storybook-static/assets/storybook-decorators-CHExLIbo.js
204
- storybook-static/assets/storybook-helpers-C7LdCIwG.js
203
+ storybook-static/assets/storybook-decorators-CUK15buL.js
204
+ storybook-static/assets/storybook-helpers-CCc3UPHg.js
205
205
  storybook-static/assets/taskStatus-ChCWSHfB.js
206
206
  storybook-static/assets/test-utils-Cye2pOmz.js
207
207
  storybook-static/assets/themes-CqH_kF0s.js
@@ -1,5 +1,5 @@
1
- Start time: Sat May 09 2026 08:00:46 GMT+0000 (Coordinated Universal Time)
2
- Invoking "/usr/bin/tar -x -m -f /home/runner/work/grackle/grackle/common/temp/build-cache/ddb88821de1bbf09dbde855d6172b545d74acf2a"
1
+ Start time: Thu May 21 2026 05:21:15 GMT+0000 (Coordinated Universal Time)
2
+ Invoking "/usr/bin/tar -x -m -f /home/runner/work/grackle/grackle/common/temp/build-cache/0d1a9a7ccd09d5c1a54bcb19415c33e9f2c48e61"
3
3
 
4
4
  ======= BEGIN PROCESS INPUT ======
5
5
 
@@ -10,9 +10,9 @@
10
10
  {"kind":"O","text":"\u001b[32m✓\u001b[39m 2574 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 156.05 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m │ gzip: 20.36 kB\u001b[22m\n"}
14
- {"kind":"O","text":"\u001b[2mdist/\u001b[22m\u001b[36mindex.js \u001b[39m\u001b[1m\u001b[33m1,373.42 kB\u001b[39m\u001b[22m\u001b[2m │ gzip: 351.63 kB\u001b[22m\n"}
15
- {"kind":"O","text":"\u001b[32m✓ built in 6.72s\u001b[39m\n"}
13
+ {"kind":"O","text":"\u001b[2mdist/\u001b[22m\u001b[35mindex.css \u001b[39m\u001b[1m\u001b[2m 156.09 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m │ gzip: 20.37 kB\u001b[22m\n"}
14
+ {"kind":"O","text":"\u001b[2mdist/\u001b[22m\u001b[36mindex.js \u001b[39m\u001b[1m\u001b[33m1,377.68 kB\u001b[39m\u001b[22m\u001b[2m │ gzip: 352.31 kB\u001b[22m\n"}
15
+ {"kind":"O","text":"\u001b[32m✓ built in 5.14s\u001b[39m\n"}
16
16
  {"kind":"O","text":"[build:vite-build] Vite build completed.\n"}
17
- {"kind":"O","text":" ---- build finished (96.180s) ---- \n"}
18
- {"kind":"O","text":"-------------------- Finished (96.184s) --------------------\n"}
17
+ {"kind":"O","text":" ---- build finished (71.097s) ---- \n"}
18
+ {"kind":"O","text":"-------------------- Finished (71.101s) --------------------\n"}
@@ -5,26 +5,26 @@
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 52\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 120\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 17\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 25\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 23\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 52\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 21\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 18\u001b[2mms\u001b[22m\u001b[39m\n"}
16
- {"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 12\u001b[2mms\u001b[22m\u001b[39m\n"}
17
- {"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 144\u001b[2mms\u001b[22m\u001b[39m\n"}
18
- {"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 69\u001b[2mms\u001b[22m\u001b[39m\n"}
19
- {"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 130\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 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 33\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 36\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 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 14\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 29\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 16\u001b[2mms\u001b[22m\u001b[39m\n"}
16
+ {"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 285\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 24\u001b[2mms\u001b[22m\u001b[39m\n"}
18
+ {"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 76\u001b[2mms\u001b[22m\u001b[39m\n"}
19
+ {"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 99\u001b[2mms\u001b[22m\u001b[39m\n"}
20
20
  {"kind":"O","text":"\n"}
21
21
  {"kind":"O","text":"\u001b[2m Test Files \u001b[22m \u001b[1m\u001b[32m12 passed\u001b[39m\u001b[22m\u001b[90m (12)\u001b[39m\n"}
22
22
  {"kind":"O","text":"\u001b[2m Tests \u001b[22m \u001b[1m\u001b[32m166 passed\u001b[39m\u001b[22m\u001b[90m (166)\u001b[39m\n"}
23
- {"kind":"O","text":"\u001b[2m Start at \u001b[22m 07:58:51\n"}
24
- {"kind":"O","text":"\u001b[2m Duration \u001b[22m 13.47s\u001b[2m (transform 2.63s, setup 0ms, collect 16.01s, tests 682ms, environment 6.83s, prepare 3.98s)\u001b[22m\n"}
23
+ {"kind":"O","text":"\u001b[2m Start at \u001b[22m 05:19:21\n"}
24
+ {"kind":"O","text":"\u001b[2m Duration \u001b[22m 13.34s\u001b[2m (transform 2.33s, setup 0ms, collect 15.64s, tests 837ms, environment 6.77s, prepare 4.04s)\u001b[22m\n"}
25
25
  {"kind":"O","text":"\n"}
26
26
  {"kind":"O","text":"[test:vitest] Vitest completed.\n"}
27
- {"kind":"O","text":"[test:storybook-test] Starting Storybook static server on port 33833...\n"}
27
+ {"kind":"O","text":"[test:storybook-test] Starting Storybook static server on port 36359...\n"}
28
28
  {"kind":"O","text":"[test:storybook-test] Storybook server ready. Running interaction tests...\n"}
29
29
  {"kind":"O","text":"jest-haste-map: duplicate manual mock found: adapter-manager\n"}
30
30
  {"kind":"O","text":" The following files share their name; please delete one of them:\n"}
@@ -117,5 +117,5 @@
117
117
  {"kind":"O","text":" * <rootDir>/packages/server/src/__mocks__/utils/network.ts\n"}
118
118
  {"kind":"O","text":"\n"}
119
119
  {"kind":"O","text":"[test:storybook-test] Storybook interaction tests completed.\n"}
120
- {"kind":"O","text":" ---- test finished (112.215s) ---- \n"}
121
- {"kind":"O","text":"-------------------- Finished (112.221s) --------------------\n"}
120
+ {"kind":"O","text":" ---- test finished (110.015s) ---- \n"}
121
+ {"kind":"O","text":"-------------------- Finished (110.018s) --------------------\n"}
@@ -10,9 +10,9 @@ transforming...
10
10
  ✓ 2574 modules transformed.
11
11
  rendering chunks...
12
12
  computing gzip size...
13
- dist/index.css 156.05 kB │ gzip: 20.36 kB
14
- dist/index.js 1,373.42 kB │ gzip: 351.63 kB
15
- ✓ built in 6.72s
13
+ dist/index.css 156.09 kB │ gzip: 20.37 kB
14
+ dist/index.js 1,377.68 kB │ gzip: 352.31 kB
15
+ ✓ built in 5.14s
16
16
  [build:vite-build] Vite build completed.
17
- ---- build finished (96.180s) ----
18
- -------------------- Finished (96.184s) --------------------
17
+ ---- build finished (71.097s) ----
18
+ -------------------- Finished (71.101s) --------------------
@@ -10,9 +10,9 @@
10
10
  {"kind":"O","text":"\u001b[32m✓\u001b[39m 2574 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 156.05 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m │ gzip: 20.36 kB\u001b[22m\n"}
14
- {"kind":"O","text":"\u001b[2mdist/\u001b[22m\u001b[36mindex.js \u001b[39m\u001b[1m\u001b[33m1,373.42 kB\u001b[39m\u001b[22m\u001b[2m │ gzip: 351.63 kB\u001b[22m\n"}
15
- {"kind":"O","text":"\u001b[32m✓ built in 6.72s\u001b[39m\n"}
13
+ {"kind":"O","text":"\u001b[2mdist/\u001b[22m\u001b[35mindex.css \u001b[39m\u001b[1m\u001b[2m 156.09 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m │ gzip: 20.37 kB\u001b[22m\n"}
14
+ {"kind":"O","text":"\u001b[2mdist/\u001b[22m\u001b[36mindex.js \u001b[39m\u001b[1m\u001b[33m1,377.68 kB\u001b[39m\u001b[22m\u001b[2m │ gzip: 352.31 kB\u001b[22m\n"}
15
+ {"kind":"O","text":"\u001b[32m✓ built in 5.14s\u001b[39m\n"}
16
16
  {"kind":"O","text":"[build:vite-build] Vite build completed.\n"}
17
- {"kind":"O","text":" ---- build finished (96.180s) ---- \n"}
18
- {"kind":"O","text":"-------------------- Finished (96.184s) --------------------\n"}
17
+ {"kind":"O","text":" ---- build finished (71.097s) ---- \n"}
18
+ {"kind":"O","text":"-------------------- Finished (71.101s) --------------------\n"}
@@ -1,3 +1,3 @@
1
1
  {
2
- "nonCachedDurationMs": 96969.768137
2
+ "nonCachedDurationMs": 71773.13299700001
3
3
  }
@@ -5,26 +5,26 @@ 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) 52ms
9
- ✓ src/utils/eventContent.test.ts (38 tests) 120ms
10
- ✓ src/utils/dashboard.test.ts (4 tests) 17ms
11
- ✓ src/utils/route-config.test.ts (23 tests) 25ms
12
- ✓ src/utils/scrollUtils.test.ts (11 tests) 23ms
13
- ✓ src/utils/breadcrumbs.test.ts (18 tests) 52ms
14
- ✓ src/components/tools/classifyTool.test.ts (6 tests) 21ms
15
- ✓ src/components/tools/toolCardHelpers.test.ts (10 tests) 18ms
16
- ✓ src/components/display/extractText.test.tsx (8 tests) 12ms
17
- ✓ src/components/editable/useEditableField.test.tsx (17 tests) 144ms
18
- ✓ src/hooks/useEventSelection.test.ts (13 tests) 69ms
19
- ✓ src/components/notifications/UpdateBanner.test.tsx (4 tests) 130ms
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) 33ms
11
+ ✓ src/utils/route-config.test.ts (23 tests) 36ms
12
+ ✓ src/utils/scrollUtils.test.ts (11 tests) 26ms
13
+ ✓ src/utils/breadcrumbs.test.ts (18 tests) 14ms
14
+ ✓ src/components/tools/classifyTool.test.ts (6 tests) 29ms
15
+ ✓ src/components/tools/toolCardHelpers.test.ts (10 tests) 16ms
16
+ ✓ src/components/editable/useEditableField.test.tsx (17 tests) 285ms
17
+ ✓ src/components/display/extractText.test.tsx (8 tests) 24ms
18
+ ✓ src/hooks/useEventSelection.test.ts (13 tests) 76ms
19
+ ✓ src/components/notifications/UpdateBanner.test.tsx (4 tests) 99ms
20
20
 
21
21
  Test Files 12 passed (12)
22
22
  Tests 166 passed (166)
23
- Start at 07:58:51
24
- Duration 13.47s (transform 2.63s, setup 0ms, collect 16.01s, tests 682ms, environment 6.83s, prepare 3.98s)
23
+ Start at 05:19:21
24
+ Duration 13.34s (transform 2.33s, setup 0ms, collect 15.64s, tests 837ms, environment 6.77s, prepare 4.04s)
25
25
 
26
26
  [test:vitest] Vitest completed.
27
- [test:storybook-test] Starting Storybook static server on port 33833...
27
+ [test:storybook-test] Starting Storybook static server on port 36359...
28
28
  [test:storybook-test] Storybook server ready. Running interaction tests...
29
29
  jest-haste-map: duplicate manual mock found: adapter-manager
30
30
  The following files share their name; please delete one of them:
@@ -117,5 +117,5 @@ jest-haste-map: duplicate manual mock found: utils/network
117
117
  * <rootDir>/packages/server/src/__mocks__/utils/network.ts
118
118
 
119
119
  [test:storybook-test] Storybook interaction tests completed.
120
- ---- test finished (112.215s) ----
121
- -------------------- Finished (112.221s) --------------------
120
+ ---- test finished (110.015s) ----
121
+ -------------------- Finished (110.018s) --------------------
@@ -5,26 +5,26 @@
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 52\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 120\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 17\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 25\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 23\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 52\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 21\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 18\u001b[2mms\u001b[22m\u001b[39m\n"}
16
- {"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 12\u001b[2mms\u001b[22m\u001b[39m\n"}
17
- {"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 144\u001b[2mms\u001b[22m\u001b[39m\n"}
18
- {"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 69\u001b[2mms\u001b[22m\u001b[39m\n"}
19
- {"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 130\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 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 33\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 36\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 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 14\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 29\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 16\u001b[2mms\u001b[22m\u001b[39m\n"}
16
+ {"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 285\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 24\u001b[2mms\u001b[22m\u001b[39m\n"}
18
+ {"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 76\u001b[2mms\u001b[22m\u001b[39m\n"}
19
+ {"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 99\u001b[2mms\u001b[22m\u001b[39m\n"}
20
20
  {"kind":"O","text":"\n"}
21
21
  {"kind":"O","text":"\u001b[2m Test Files \u001b[22m \u001b[1m\u001b[32m12 passed\u001b[39m\u001b[22m\u001b[90m (12)\u001b[39m\n"}
22
22
  {"kind":"O","text":"\u001b[2m Tests \u001b[22m \u001b[1m\u001b[32m166 passed\u001b[39m\u001b[22m\u001b[90m (166)\u001b[39m\n"}
23
- {"kind":"O","text":"\u001b[2m Start at \u001b[22m 07:58:51\n"}
24
- {"kind":"O","text":"\u001b[2m Duration \u001b[22m 13.47s\u001b[2m (transform 2.63s, setup 0ms, collect 16.01s, tests 682ms, environment 6.83s, prepare 3.98s)\u001b[22m\n"}
23
+ {"kind":"O","text":"\u001b[2m Start at \u001b[22m 05:19:21\n"}
24
+ {"kind":"O","text":"\u001b[2m Duration \u001b[22m 13.34s\u001b[2m (transform 2.33s, setup 0ms, collect 15.64s, tests 837ms, environment 6.77s, prepare 4.04s)\u001b[22m\n"}
25
25
  {"kind":"O","text":"\n"}
26
26
  {"kind":"O","text":"[test:vitest] Vitest completed.\n"}
27
- {"kind":"O","text":"[test:storybook-test] Starting Storybook static server on port 33833...\n"}
27
+ {"kind":"O","text":"[test:storybook-test] Starting Storybook static server on port 36359...\n"}
28
28
  {"kind":"O","text":"[test:storybook-test] Storybook server ready. Running interaction tests...\n"}
29
29
  {"kind":"O","text":"jest-haste-map: duplicate manual mock found: adapter-manager\n"}
30
30
  {"kind":"O","text":" The following files share their name; please delete one of them:\n"}
@@ -117,5 +117,5 @@
117
117
  {"kind":"O","text":" * <rootDir>/packages/server/src/__mocks__/utils/network.ts\n"}
118
118
  {"kind":"O","text":"\n"}
119
119
  {"kind":"O","text":"[test:storybook-test] Storybook interaction tests completed.\n"}
120
- {"kind":"O","text":" ---- test finished (112.215s) ---- \n"}
121
- {"kind":"O","text":"-------------------- Finished (112.221s) --------------------\n"}
120
+ {"kind":"O","text":" ---- test finished (110.015s) ---- \n"}
121
+ {"kind":"O","text":"-------------------- Finished (110.018s) --------------------\n"}
@@ -1,3 +1,3 @@
1
1
  {
2
- "nonCachedDurationMs": 113117.71635399999
2
+ "nonCachedDurationMs": 111105.202162
3
3
  }
package/README.md ADDED
@@ -0,0 +1,95 @@
1
+ # @grackle-ai/web-components
2
+
3
+ <p align="center">
4
+ <a href="https://www.npmjs.com/package/@grackle-ai/web-components"><img src="https://img.shields.io/npm/v/@grackle-ai/web-components.svg" alt="npm version" /></a>
5
+ <a href="https://github.com/nick-pape/grackle/actions/workflows/ci.yml"><img src="https://github.com/nick-pape/grackle/actions/workflows/ci.yml/badge.svg?branch=main" alt="CI" /></a>
6
+ <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT" /></a>
7
+ </p>
8
+
9
+ <p align="center">
10
+ <img src="https://raw.githubusercontent.com/nick-pape/grackle/main/apps/docs-site/static/img/grackle-logo.png" alt="Grackle" width="200" />
11
+ </p>
12
+
13
+ Presentational React component library for the Grackle web UI, documented and developed in Storybook.
14
+
15
+ ## Overview
16
+
17
+ `@grackle-ai/web-components` is the shared React 19 component library that powers the Grackle web dashboard. It contains the pure, presentational building blocks of the UI -- everything from buttons and toasts to the task tree, the dependency-graph view, and the full set of settings panels -- along with the contexts, hooks, types, and utilities they rely on.
18
+
19
+ Components accept data and callbacks as props and contain no direct server access, so they render the same in Storybook as they do in the live app. The library is consumed primarily by [`@grackle-ai/web`](https://github.com/nick-pape/grackle/tree/main/packages/web), which wires these components up to live server state. Shared protobuf-generated types come from [`@grackle-ai/common`](https://github.com/nick-pape/grackle/tree/main/packages/common).
20
+
21
+ ## Install
22
+
23
+ ```bash
24
+ npm install @grackle-ai/web-components
25
+ ```
26
+
27
+ This library targets **React 19** (`react` and `react-dom` `^19`). It also pulls in the rendering dependencies it needs out of the box, including `@xyflow/react` and `@dagrejs/dagre` (graph views), `motion` (animation), `lucide-react` (icons), `react-router` (navigation helpers), and `react-markdown` + `remark-gfm` + `rehype-prism-plus` (Markdown rendering).
28
+
29
+ ## What's Included
30
+
31
+ Components are grouped by area under `src/components/`:
32
+
33
+ | Category | Examples |
34
+ |----------|----------|
35
+ | **Display primitives** | `Button`, `SplitButton`, `CopyButton`, `Tooltip`, `Breadcrumbs`, `ConfirmDialog`, `Skeleton`, `Spinner`, `SplashScreen`, `FloatingActionBar` |
36
+ | **Event stream** | `EventStream`, `EventRenderer`, `EventHoverRow`, `SessionPicker`, `SessionAttemptSelector` |
37
+ | **Tool cards** | `ToolCard`, `FileEditCard`, `FileReadCard`, `ShellCard`, `SearchCard`, `TodoCard`, `MetadataCard`, `AgentToolCard`, `GenericToolCard` |
38
+ | **Layout** | `AppNav`, `Sidebar`, `StatusBar`, `BottomStatusBar` |
39
+ | **Lists** | `TaskList`, `EnvironmentNav`, `FindingsNav` |
40
+ | **DAG visualization** | `DagView`, `TaskNode`, `useDagLayout` (React Flow + dagre) |
41
+ | **Knowledge graph** | `KnowledgeGraph`, `KnowledgeDetailPanel`, `KnowledgeNav` |
42
+ | **Panels** | `TaskEditPanel`, `TaskOverviewPanel`, `EnvironmentEditPanel`, `FindingsPanel`, `TokensPanel`, `AppearancePanel`, `AboutPanel`, `PluginsPanel`, `GitHubAccountsPanel`, `CredentialProvidersPanel`, `KeyboardShortcutsPanel`, `WorkpadPanel` |
43
+ | **Editable fields** | `EditableTextField`, `EditableTextArea`, `EditableSelect`, `EditableCheckbox`, `EnvironmentSelect`, `useEditableField` |
44
+ | **Notifications** | `Toast`, `ToastContainer`, `Callout`, `UpdateBanner` |
45
+ | **Workspace & boards** | `WorkspaceBoard`, `WorkspaceFormFields` |
46
+ | **Personas & schedules** | `PersonaManager`, `McpToolSelector`, `ScheduleManager` |
47
+ | **Chat & streams** | `ChatInput`, `StreamList`, `StreamDetailPanel` |
48
+ | **Settings** | `SettingsNav` |
49
+
50
+ Alongside the components, the package exports:
51
+
52
+ - **Contexts** -- `ToastProvider`, `ThemeProvider`, `SidebarProvider`, and `GrackleContext` with their hooks.
53
+ - **Hooks** -- `useSmartScroll`, `useEventSelection`, and shared domain types/guards from `hooks/types`.
54
+ - **Utilities** -- navigation URL builders, task-status styling, token/cost/time formatting, breadcrumb builders, session-event grouping, and dashboard KPI helpers.
55
+ - **Themes** -- the `THEMES` registry (`getThemeById`, `DEFAULT_THEME_ID`).
56
+ - **Mocks & test utilities** -- `MockGrackleProvider` plus Storybook decorators (`withMockGrackle`, `withMockGrackleRoute`).
57
+
58
+ The package entry point is `src/index.ts`; see it for the complete list of exports.
59
+
60
+ ## Storybook
61
+
62
+ Every component ships with `.stories.tsx` stories, which serve as both the development environment and living documentation. The hosted Storybook is published to GitHub Pages at **https://nick-pape.github.io/grackle/components/**.
63
+
64
+ ```bash
65
+ # From the package directory -- run Storybook locally on port 6006
66
+ rushx storybook
67
+
68
+ # Build the static Storybook site (output: storybook-static/)
69
+ rushx build-storybook
70
+
71
+ # Run Storybook interaction tests headlessly
72
+ rushx test-storybook
73
+ ```
74
+
75
+ The Storybook base path is configurable via the `STORYBOOK_BASE` environment variable (defaults to `/`), which the publish workflow sets when deploying to GitHub Pages.
76
+
77
+ ## Development
78
+
79
+ ```bash
80
+ # From the repo root -- install dependencies and build all packages
81
+ rush install && rush build
82
+
83
+ # Build just this package (Heft)
84
+ rush build -t @grackle-ai/web-components
85
+ ```
86
+
87
+ ### Run tests
88
+
89
+ ```bash
90
+ rushx test # Vitest unit tests
91
+ ```
92
+
93
+ ## License
94
+
95
+ MIT