@agimon-ai/po-web-dashboard 0.0.0-alpha.44 → 0.0.0-alpha.46

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 (193) hide show
  1. package/dist/core.cjs +18 -1
  2. package/dist/core.d.mts +5 -3
  3. package/dist/core.mjs +5 -3
  4. package/dist/index.cjs +14 -1
  5. package/dist/index.d.mts +5 -4
  6. package/dist/index.mjs +5 -4
  7. package/dist/web/features/activity/ActivityDock.cjs +6 -3
  8. package/dist/web/features/activity/ActivityDock.cjs.map +1 -1
  9. package/dist/web/features/activity/ActivityDock.mjs +6 -3
  10. package/dist/web/features/activity/ActivityDock.mjs.map +1 -1
  11. package/dist/web/features/activity/DockTabs.cjs +13 -7
  12. package/dist/web/features/activity/DockTabs.cjs.map +1 -1
  13. package/dist/web/features/activity/DockTabs.mjs +14 -8
  14. package/dist/web/features/activity/DockTabs.mjs.map +1 -1
  15. package/dist/web/features/session/Composer.cjs +2 -0
  16. package/dist/web/features/session/Composer.cjs.map +1 -1
  17. package/dist/web/features/session/Composer.d.mts.map +1 -1
  18. package/dist/web/features/session/Composer.mjs +2 -0
  19. package/dist/web/features/session/Composer.mjs.map +1 -1
  20. package/dist/web/features/session/SessionActivity.cjs +1 -1
  21. package/dist/web/features/session/SessionActivity.cjs.map +1 -1
  22. package/dist/web/features/session/SessionActivity.mjs +2 -2
  23. package/dist/web/features/session/SessionActivity.mjs.map +1 -1
  24. package/dist/web/features/session/Timeline.cjs +78 -66
  25. package/dist/web/features/session/Timeline.cjs.map +1 -1
  26. package/dist/web/features/session/Timeline.d.mts.map +1 -1
  27. package/dist/web/features/session/Timeline.mjs +78 -66
  28. package/dist/web/features/session/Timeline.mjs.map +1 -1
  29. package/dist/web/features/session/ToolCard.cjs +9 -3
  30. package/dist/web/features/session/ToolCard.cjs.map +1 -1
  31. package/dist/web/features/session/ToolCard.d.mts +1 -1
  32. package/dist/web/features/session/ToolCard.d.mts.map +1 -1
  33. package/dist/web/features/session/ToolCard.mjs +10 -4
  34. package/dist/web/features/session/ToolCard.mjs.map +1 -1
  35. package/dist/web/features/sessions/ResumeSessionDialog.cjs +1 -1
  36. package/dist/web/features/sessions/ResumeSessionDialog.cjs.map +1 -1
  37. package/dist/web/features/sessions/ResumeSessionDialog.mjs +2 -2
  38. package/dist/web/features/sessions/ResumeSessionDialog.mjs.map +1 -1
  39. package/dist/web/features/sessions/useSessionRail.cjs +2 -9
  40. package/dist/web/features/sessions/useSessionRail.cjs.map +1 -1
  41. package/dist/web/features/sessions/useSessionRail.d.mts.map +1 -1
  42. package/dist/web/features/sessions/useSessionRail.mjs +3 -10
  43. package/dist/web/features/sessions/useSessionRail.mjs.map +1 -1
  44. package/dist/web/features/settings/ProviderSettings.cjs +14 -11
  45. package/dist/web/features/settings/ProviderSettings.cjs.map +1 -1
  46. package/dist/web/features/settings/ProviderSettings.d.mts +1 -1
  47. package/dist/web/features/settings/ProviderSettings.mjs +15 -12
  48. package/dist/web/features/settings/ProviderSettings.mjs.map +1 -1
  49. package/dist/web/features/settings/RunInContainerSection.cjs +1 -1
  50. package/dist/web/features/settings/RunInContainerSection.cjs.map +1 -1
  51. package/dist/web/features/settings/RunInContainerSection.mjs +2 -2
  52. package/dist/web/features/settings/RunInContainerSection.mjs.map +1 -1
  53. package/dist/web/features/settings/SessionMcpSettings.cjs +8 -6
  54. package/dist/web/features/settings/SessionMcpSettings.cjs.map +1 -1
  55. package/dist/web/features/settings/SessionMcpSettings.mjs +9 -7
  56. package/dist/web/features/settings/SessionMcpSettings.mjs.map +1 -1
  57. package/dist/web/lib/browserTelemetry.cjs +9 -0
  58. package/dist/web/lib/browserTelemetry.cjs.map +1 -1
  59. package/dist/web/lib/browserTelemetry.d.mts +3 -0
  60. package/dist/web/lib/browserTelemetry.d.mts.map +1 -1
  61. package/dist/web/lib/browserTelemetry.mjs +9 -1
  62. package/dist/web/lib/browserTelemetry.mjs.map +1 -1
  63. package/dist/web/lib/hubApi.cjs +2 -6
  64. package/dist/web/lib/hubApi.cjs.map +1 -1
  65. package/dist/web/lib/hubApi.d.mts.map +1 -1
  66. package/dist/web/lib/hubApi.mjs +2 -6
  67. package/dist/web/lib/hubApi.mjs.map +1 -1
  68. package/dist/web/lib/pluginCompositions.cjs +4 -2
  69. package/dist/web/lib/pluginCompositions.cjs.map +1 -1
  70. package/dist/web/lib/pluginCompositions.d.mts.map +1 -1
  71. package/dist/web/lib/pluginCompositions.mjs +3 -2
  72. package/dist/web/lib/pluginCompositions.mjs.map +1 -1
  73. package/dist/web/lib/pluginRegistry.cjs +2 -0
  74. package/dist/web/lib/pluginRegistry.cjs.map +1 -1
  75. package/dist/web/lib/pluginRegistry.d.mts.map +1 -1
  76. package/dist/web/lib/pluginRegistry.mjs +2 -0
  77. package/dist/web/lib/pluginRegistry.mjs.map +1 -1
  78. package/dist/web/lib/protocolHubSocket.cjs +15 -1
  79. package/dist/web/lib/protocolHubSocket.cjs.map +1 -1
  80. package/dist/web/lib/protocolHubSocket.d.mts.map +1 -1
  81. package/dist/web/lib/protocolHubSocket.mjs +16 -2
  82. package/dist/web/lib/protocolHubSocket.mjs.map +1 -1
  83. package/dist/web/lib/sessionModel.cjs +11 -2
  84. package/dist/web/lib/sessionModel.cjs.map +1 -1
  85. package/dist/web/lib/sessionModel.d.mts +6 -3
  86. package/dist/web/lib/sessionModel.d.mts.map +1 -1
  87. package/dist/web/lib/sessionModel.mjs +11 -2
  88. package/dist/web/lib/sessionModel.mjs.map +1 -1
  89. package/dist/web/lib/sessionRailModel.cjs +5 -2
  90. package/dist/web/lib/sessionRailModel.cjs.map +1 -1
  91. package/dist/web/lib/sessionRailModel.d.mts +1 -0
  92. package/dist/web/lib/sessionRailModel.d.mts.map +1 -1
  93. package/dist/web/lib/sessionRailModel.mjs +6 -3
  94. package/dist/web/lib/sessionRailModel.mjs.map +1 -1
  95. package/dist/web/lib/sessionSummary.cjs +27 -17
  96. package/dist/web/lib/sessionSummary.cjs.map +1 -1
  97. package/dist/web/lib/sessionSummary.d.mts +12 -1
  98. package/dist/web/lib/sessionSummary.d.mts.map +1 -1
  99. package/dist/web/lib/sessionSummary.mjs +27 -17
  100. package/dist/web/lib/sessionSummary.mjs.map +1 -1
  101. package/dist/web/lib/uiTrace.cjs +186 -0
  102. package/dist/web/lib/uiTrace.cjs.map +1 -0
  103. package/dist/web/lib/uiTrace.d.mts +35 -0
  104. package/dist/web/lib/uiTrace.d.mts.map +1 -0
  105. package/dist/web/lib/uiTrace.mjs +180 -0
  106. package/dist/web/lib/uiTrace.mjs.map +1 -0
  107. package/dist/web/lib/useSessionMcp.cjs +17 -17
  108. package/dist/web/lib/useSessionMcp.cjs.map +1 -1
  109. package/dist/web/lib/useSessionMcp.d.mts.map +1 -1
  110. package/dist/web/lib/useSessionMcp.mjs +18 -18
  111. package/dist/web/lib/useSessionMcp.mjs.map +1 -1
  112. package/dist/web/stores/captureStore.cjs +2 -1
  113. package/dist/web/stores/captureStore.cjs.map +1 -1
  114. package/dist/web/stores/captureStore.d.mts.map +1 -1
  115. package/dist/web/stores/captureStore.mjs +2 -1
  116. package/dist/web/stores/captureStore.mjs.map +1 -1
  117. package/dist/web/stores/composerStore.cjs +2 -1
  118. package/dist/web/stores/composerStore.cjs.map +1 -1
  119. package/dist/web/stores/composerStore.d.mts.map +1 -1
  120. package/dist/web/stores/composerStore.mjs +2 -1
  121. package/dist/web/stores/composerStore.mjs.map +1 -1
  122. package/dist/web/stores/composerSubmissionStore.cjs +3 -1
  123. package/dist/web/stores/composerSubmissionStore.cjs.map +1 -1
  124. package/dist/web/stores/composerSubmissionStore.d.mts.map +1 -1
  125. package/dist/web/stores/composerSubmissionStore.mjs +2 -1
  126. package/dist/web/stores/composerSubmissionStore.mjs.map +1 -1
  127. package/dist/web/stores/dialogDraftStore.cjs +2 -1
  128. package/dist/web/stores/dialogDraftStore.cjs.map +1 -1
  129. package/dist/web/stores/dialogDraftStore.d.mts.map +1 -1
  130. package/dist/web/stores/dialogDraftStore.mjs +2 -1
  131. package/dist/web/stores/dialogDraftStore.mjs.map +1 -1
  132. package/dist/web/stores/imageRefStore.cjs +137 -0
  133. package/dist/web/stores/imageRefStore.cjs.map +1 -0
  134. package/dist/web/stores/imageRefStore.d.mts +18 -0
  135. package/dist/web/stores/imageRefStore.d.mts.map +1 -0
  136. package/dist/web/stores/imageRefStore.mjs +134 -0
  137. package/dist/web/stores/imageRefStore.mjs.map +1 -0
  138. package/dist/web/stores/menuStore.cjs +3 -2
  139. package/dist/web/stores/menuStore.cjs.map +1 -1
  140. package/dist/web/stores/menuStore.d.mts.map +1 -1
  141. package/dist/web/stores/menuStore.mjs +3 -2
  142. package/dist/web/stores/menuStore.mjs.map +1 -1
  143. package/dist/web/stores/pagedTranscriptStore.cjs +9 -2
  144. package/dist/web/stores/pagedTranscriptStore.cjs.map +1 -1
  145. package/dist/web/stores/pagedTranscriptStore.d.mts.map +1 -1
  146. package/dist/web/stores/pagedTranscriptStore.mjs +9 -2
  147. package/dist/web/stores/pagedTranscriptStore.mjs.map +1 -1
  148. package/dist/web/stores/remoteAccessStore.cjs +1 -0
  149. package/dist/web/stores/remoteAccessStore.cjs.map +1 -1
  150. package/dist/web/stores/remoteAccessStore.d.mts.map +1 -1
  151. package/dist/web/stores/remoteAccessStore.mjs +1 -0
  152. package/dist/web/stores/remoteAccessStore.mjs.map +1 -1
  153. package/dist/web/stores/sessionChannelHoldsStore.cjs +3 -1
  154. package/dist/web/stores/sessionChannelHoldsStore.cjs.map +1 -1
  155. package/dist/web/stores/sessionChannelHoldsStore.d.mts.map +1 -1
  156. package/dist/web/stores/sessionChannelHoldsStore.mjs +2 -1
  157. package/dist/web/stores/sessionChannelHoldsStore.mjs.map +1 -1
  158. package/dist/web/stores/sessionStore.cjs +4 -3
  159. package/dist/web/stores/sessionStore.cjs.map +1 -1
  160. package/dist/web/stores/sessionStore.d.mts.map +1 -1
  161. package/dist/web/stores/sessionStore.mjs +4 -3
  162. package/dist/web/stores/sessionStore.mjs.map +1 -1
  163. package/dist/web/stores/sessionsStore.cjs +36 -1
  164. package/dist/web/stores/sessionsStore.cjs.map +1 -1
  165. package/dist/web/stores/sessionsStore.d.mts +12 -0
  166. package/dist/web/stores/sessionsStore.d.mts.map +1 -1
  167. package/dist/web/stores/sessionsStore.mjs +33 -2
  168. package/dist/web/stores/sessionsStore.mjs.map +1 -1
  169. package/dist/web/stores/templateStore.cjs +2 -1
  170. package/dist/web/stores/templateStore.cjs.map +1 -1
  171. package/dist/web/stores/templateStore.d.mts.map +1 -1
  172. package/dist/web/stores/templateStore.mjs +2 -1
  173. package/dist/web/stores/templateStore.mjs.map +1 -1
  174. package/dist/web/stores/transientTabsStore.cjs +2 -1
  175. package/dist/web/stores/transientTabsStore.cjs.map +1 -1
  176. package/dist/web/stores/transientTabsStore.d.mts.map +1 -1
  177. package/dist/web/stores/transientTabsStore.mjs +2 -1
  178. package/dist/web/stores/transientTabsStore.mjs.map +1 -1
  179. package/dist/web/stores/uiStore.cjs +3 -2
  180. package/dist/web/stores/uiStore.cjs.map +1 -1
  181. package/dist/web/stores/uiStore.d.mts.map +1 -1
  182. package/dist/web/stores/uiStore.mjs +3 -2
  183. package/dist/web/stores/uiStore.mjs.map +1 -1
  184. package/dist/web/stores/usePluginSlotProps.cjs +7 -5
  185. package/dist/web/stores/usePluginSlotProps.cjs.map +1 -1
  186. package/dist/web/stores/usePluginSlotProps.mjs +8 -6
  187. package/dist/web/stores/usePluginSlotProps.mjs.map +1 -1
  188. package/dist/web/stores/workspacesStore.cjs +2 -1
  189. package/dist/web/stores/workspacesStore.cjs.map +1 -1
  190. package/dist/web/stores/workspacesStore.d.mts.map +1 -1
  191. package/dist/web/stores/workspacesStore.mjs +2 -1
  192. package/dist/web/stores/workspacesStore.mjs.map +1 -1
  193. package/package.json +5 -5
package/dist/core.cjs CHANGED
@@ -5,6 +5,7 @@ const require_composerSubmissions = require("./web/lib/composerSubmissions.cjs")
5
5
  const require_hostIdentity = require("./web/lib/hostIdentity.cjs");
6
6
  const require_pluginScopes = require("./web/lib/pluginScopes.cjs");
7
7
  const require_templateCatalog = require("./web/lib/templateCatalog.cjs");
8
+ const require_uiTrace = require("./web/lib/uiTrace.cjs");
8
9
  const require_pluginRegistry = require("./web/lib/pluginRegistry.cjs");
9
10
  const require_statusLine = require("./web/lib/statusLine.cjs");
10
11
  const require_composition = require("./web/lib/composition.cjs");
@@ -26,6 +27,7 @@ const require_sessionStore = require("./web/stores/sessionStore.cjs");
26
27
  const require_captureStore = require("./web/stores/captureStore.cjs");
27
28
  const require_fileLinkModesStore = require("./web/stores/fileLinkModesStore.cjs");
28
29
  const require_menuStore = require("./web/stores/menuStore.cjs");
30
+ const require_imageRefStore = require("./web/stores/imageRefStore.cjs");
29
31
  const require_pagedTranscriptStore = require("./web/stores/pagedTranscriptStore.cjs");
30
32
  const require_sessionChannelHoldsStore = require("./web/stores/sessionChannelHoldsStore.cjs");
31
33
  const require_threadStore = require("./web/stores/threadStore.cjs");
@@ -35,6 +37,7 @@ const require_dialogDraftStore = require("./web/stores/dialogDraftStore.cjs");
35
37
  const require_webmcpSimulator = require("./web/lib/webmcpSimulator.cjs");
36
38
  exports.BUILTIN_COMMANDS = require_commands.BUILTIN_COMMANDS;
37
39
  exports.HOST_SLOTS = require_pluginRegistry.HOST_SLOTS;
40
+ exports.ImageRefScope = require_imageRefStore.ImageRefScope;
38
41
  exports.LEGACY_WORKSPACE_ID = require_sessionRailModel.LEGACY_WORKSPACE_ID;
39
42
  exports.MAX_COMPLETION_ITEMS = require_composerCompletion.MAX_COMPLETION_ITEMS;
40
43
  exports.TRIGGER_CHARS = require_composerCompletion.TRIGGER_CHARS;
@@ -74,6 +77,7 @@ exports.beginSessionTransfer = require_sessionsStore.beginSessionTransfer;
74
77
  exports.bindBundledNativeTemplates = require_templateCatalog.bindBundledNativeTemplates;
75
78
  exports.bindHistoryReader = require_sessionStore.bindHistoryReader;
76
79
  exports.bindHostTransport = require_transport.bindHostTransport;
80
+ exports.bindImageReader = require_imageRefStore.bindImageReader;
77
81
  exports.bindSessionFileLinkModes = require_fileLinkModesStore.bindSessionFileLinkModes;
78
82
  exports.bindSessionProtocol = require_sessionProtocolCommands.bindSessionProtocol;
79
83
  exports.bindSessionWebWorkspace = require_pluginRegistry.bindSessionWebWorkspace;
@@ -115,8 +119,8 @@ exports.enqueueAutomaticCommand = require_commands.enqueueAutomaticCommand;
115
119
  exports.fileCompletions = require_composerCompletion.fileCompletions;
116
120
  exports.fileTabForPath = require_composition.fileTabForPath;
117
121
  exports.findTransientTab = require_transientTabsStore.findTransientTab;
122
+ exports.flushUiTrace = require_uiTrace.flushUiTrace;
118
123
  exports.followUpCommand = require_commands.followUpCommand;
119
- exports.formatRunDuration = require_sessionSummary.formatRunDuration;
120
124
  exports.getAvailableModelsCommand = require_commands.getAvailableModelsCommand;
121
125
  exports.getAvailableThinkingLevelsCommand = require_commands.getAvailableThinkingLevelsCommand;
122
126
  exports.getCommandsCommand = require_commands.getCommandsCommand;
@@ -138,6 +142,7 @@ exports.installedWebPlugins = require_pluginRegistry.installedWebPlugins;
138
142
  exports.invokeServerMethod = require_transport.invokeServerMethod;
139
143
  exports.isDesktopClient = require_pluginRegistry.isDesktopClient;
140
144
  exports.isSupportedImageMimeType = require_sessionModel.isSupportedImageMimeType;
145
+ exports.loadImageRef = require_imageRefStore.loadImageRef;
141
146
  exports.loadModelChoices = require_sessionStore.loadModelChoices;
142
147
  exports.localHostId = require_hostIdentity.localHostId;
143
148
  exports.markSocketClosed = require_sessionsStore.markSocketClosed;
@@ -147,6 +152,8 @@ exports.mergeScopedPlugins = require_pluginScopes.mergeScopedPlugins;
147
152
  exports.minorModes = require_composition.minorModes;
148
153
  exports.nativeTemplateCatalog = require_pluginRegistry.nativeTemplateCatalog;
149
154
  exports.noSessions = require_sessionsStore.noSessions;
155
+ exports.noteRender = require_uiTrace.noteRender;
156
+ exports.noteStoreUpdate = require_uiTrace.noteStoreUpdate;
150
157
  exports.notifyHubConnected = require_transport.notifyHubConnected;
151
158
  exports.onCaptureStatus = require_captureStore.onCaptureStatus;
152
159
  exports.onComposerSubmitted = require_composerSubmissions.onComposerSubmitted;
@@ -219,6 +226,8 @@ exports.rewindCommand = require_commands.rewindCommand;
219
226
  exports.rewindToMessage = require_sessionStore.rewindToMessage;
220
227
  exports.runCommand = require_sessionStore.runCommand;
221
228
  exports.runningCount = require_sessionSummary.runningCount;
229
+ exports.sameRailEntries = require_sessionsStore.sameRailEntries;
230
+ exports.sameRailEntry = require_sessionsStore.sameRailEntry;
222
231
  exports.seedHistoryCursor = require_sessionStore.seedHistoryCursor;
223
232
  exports.selectFastMode = require_sessionStore.selectFastMode;
224
233
  exports.selectModel = require_sessionStore.selectModel;
@@ -231,6 +240,7 @@ exports.sendFrameWithAck = require_transport.sendFrameWithAck;
231
240
  exports.sendHubFrame = require_transport.sendHubFrame;
232
241
  exports.sendSessionProtocolFrame = require_sessionProtocolCommands.sendSessionProtocolFrame;
233
242
  exports.sessionMinorModes = require_fileLinkModesStore.sessionMinorModes;
243
+ exports.sessionStatusClock = require_sessionSummary.sessionStatusClock;
234
244
  exports.sessionStatusLine = require_sessionSummary.sessionStatusLine;
235
245
  exports.sessionStoreFor = require_sessionStore.sessionStoreFor;
236
246
  exports.sessionToolRenderer = require_pluginRegistry.sessionToolRenderer;
@@ -245,6 +255,7 @@ exports.setSessionNameCommand = require_commands.setSessionNameCommand;
245
255
  exports.setSessionStreamed = require_sessionStore.setSessionStreamed;
246
256
  exports.setThinkingLevelCommand = require_commands.setThinkingLevelCommand;
247
257
  exports.setTransientTabSession = require_transientTabsStore.setTransientTabSession;
258
+ exports.setUiTraceSink = require_uiTrace.setUiTraceSink;
248
259
  exports.setWebPluginLoadDiagnostics = require_pluginRegistry.setWebPluginLoadDiagnostics;
249
260
  exports.slotFills = require_pluginRegistry.slotFills;
250
261
  exports.splitHostId = require_hostIdentity.splitHostId;
@@ -264,6 +275,8 @@ exports.threadStoreKey = require_threadStore.threadStoreKey;
264
275
  exports.toolMessageProps = require_toolMessageProps.toolMessageProps;
265
276
  exports.toolPromptClaim = require_toolPrompt.toolPromptClaim;
266
277
  exports.totalTokens = require_contextComposition.totalTokens;
278
+ exports.traceProfilerRender = require_uiTrace.traceProfilerRender;
279
+ exports.traceStore = require_uiTrace.traceStore;
267
280
  exports.transientTabsStore = require_transientTabsStore.transientTabsStore;
268
281
  exports.transportForHost = require_transport.transportForHost;
269
282
  exports.triggerTokenAt = require_composerCompletion.triggerTokenAt;
@@ -277,7 +290,11 @@ exports.useDockFaceBadges = require_composition.useDockFaceBadges;
277
290
  exports.useDockFaces = require_composition.useDockFaces;
278
291
  exports.useFileLinks = require_composition.useFileLinks;
279
292
  exports.useHasOlderHistory = require_sessionStore.useHasOlderHistory;
293
+ exports.useImageRefs = require_imageRefStore.useImageRefs;
280
294
  exports.useNoSessions = require_sessionsStore.useNoSessions;
295
+ exports.useRailEntries = require_sessionsStore.useRailEntries;
296
+ exports.useRailEntry = require_sessionsStore.useRailEntry;
297
+ exports.useRenderTrace = require_uiTrace.useRenderTrace;
281
298
  exports.useTransientTabs = require_transientTabsStore.useTransientTabs;
282
299
  exports.validateComposerCapture = require_composerCapture.validateComposerCapture;
283
300
  exports.waitForSession = require_sessionsStore.waitForSession;
package/dist/core.d.mts CHANGED
@@ -8,15 +8,17 @@ import { InstalledNativeTemplate, NativeTemplateCatalog, bindBundledNativeTempla
8
8
  import { HOST_SLOTS, InstallDiagnostic, InstallDiagnosticKind, InstalledContextAction, InstalledHomeContribution, InstalledRepositorySettingsPanel, InstalledSettingsPanel, InstalledUserMessageAction, ResolvedFill, WebPluginRegistry, activateWebPluginHost, activateWebPluginSession, activateWebPluginWorkspace, activityGroupSlot, bindSessionWebWorkspace, createWebPluginRegistry, dispatchChannelFrame, dropPluginSessionData, globalSlotFills, installGlobalWebPlugins, installSessionWebPlugins, installWebPlugins, installWorkspaceWebPlugins, installedWebPlugins, isDesktopClient, nativeTemplateCatalog, paletteCommands, pluginActivityGroups, pluginContextActions, pluginDockFaces, pluginFileLinks, pluginHomeContributions, pluginLeaderBindings, pluginMinorModes, pluginRepositorySettingsPanels, pluginSelectionAxes, pluginSettingsPanels, pluginSettingsSections, pluginToolRenderer, pluginUserMessageActions, removeHostWebPlugins, removeSessionWebPlugins, removeWorkspaceWebPlugins, resetWebPlugins, sessionToolRenderer, sessionWebPluginsInstalled, setWebPluginLoadDiagnostics, slotFills, startPluginDefinitions, startWebPlugins, subscribeWebPluginRegistry, webPluginDiagnostics, webPluginRegistryForHost, webPluginRegistryRevision, webPluginsInstalled, webTabs, webTemplateCatalog, workspaceSlotFills } from "./web/lib/pluginRegistry.mjs";
9
9
  import { mergeScopedPlugins, pluginsAtScope } from "./web/lib/pluginScopes.mjs";
10
10
  import { ComposerPromptClaim, DialogPromptClaim, ToolPromptClaim, ToolPromptInput, toolPromptClaim } from "./web/lib/toolPrompt.mjs";
11
+ import { UiTraceRecord, UiTraceSink, flushUiTrace, noteRender, noteStoreUpdate, setUiTraceSink, traceProfilerRender, traceStore, useRenderTrace } from "./web/lib/uiTrace.mjs";
11
12
  import { TransientTabActions, pluginSessionContext, pluginSlotProps } from "./web/lib/pluginSlotProps.mjs";
12
13
  import { toolMessageProps } from "./web/lib/toolMessageProps.mjs";
13
14
  import { ToolRendererBoundary } from "./web/lib/ToolRendererBoundary.mjs";
14
15
  import { updateDialogDraft, useDialogDraft } from "./web/stores/dialogDraftStore.mjs";
15
- import { AttachPhase, StatusLineInput, abbreviateCwd, formatRunDuration, personaInitials, runningCount, sessionStatusLine } from "./web/lib/sessionSummary.mjs";
16
+ import { AttachPhase, StatusClock, StatusLineInput, abbreviateCwd, personaInitials, runningCount, sessionStatusClock, sessionStatusLine } from "./web/lib/sessionSummary.mjs";
16
17
  import { LEGACY_WORKSPACE_ID, RailRestartState, RailSessionInput, SessionRailModelInput, buildRailWorkspaces, pendingSetupView, workspaceName } from "./web/lib/sessionRailModel.mjs";
17
- import { SessionMeta, SessionsState, UPDATE_REQUIRED_REASON, activeSessionId, applySessionBacklog, applySessionRemoved, applySessionUpsert, applySessionsSnapshot, beginSessionTransfer, completeSessionTransfer, markSocketClosed, markUpdateRequired, noSessions, resetSessions, resolveParentId, sessionsStore, setActiveSession, useActiveSessionMeta, useNoSessions, waitForSession } from "./web/stores/sessionsStore.mjs";
18
+ import { SessionMeta, SessionsState, UPDATE_REQUIRED_REASON, activeSessionId, applySessionBacklog, applySessionRemoved, applySessionUpsert, applySessionsSnapshot, beginSessionTransfer, completeSessionTransfer, markSocketClosed, markUpdateRequired, noSessions, resetSessions, resolveParentId, sameRailEntries, sameRailEntry, sessionsStore, setActiveSession, useActiveSessionMeta, useNoSessions, useRailEntries, useRailEntry, waitForSession } from "./web/stores/sessionsStore.mjs";
18
19
  import { HistoryPage, abortRun, answerDialogConfirm, answerDialogValue, applyHistoryPage, applyProtocolQueue, applyProtocolTranscript, applySessionFrame, applySessionLifecycle, applyThreadFrame, beginSessionReplay, bindHistoryReader, cancelDialog, clearQueuedMessages, deleteQueuedMessage, dropSessionStore, endSessionReplay, loadModelChoices, promoteQueuedMessage, queueFollowUp, queueFollowUpWithAck, refreshSessionFacts, refreshSessionSelection, refreshSessionStats, releaseProtocolTranscript, renameSession, requestLatestHistory, requestNewerHistory, requestOlderHistory, resetSessionStore, resetSessionStores, resumeQueuedMessages, rewindToMessage, runCommand, seedHistoryCursor, selectFastMode, selectModel, selectThinkingLevel, sessionStoreFor, setAgentLock, setHasNewerHistory, setSessionStreamed, streamedSessions, submitMessage, submitMessageWithAck, useActiveSession, useHasOlderHistory } from "./web/stores/sessionStore.mjs";
19
20
  import { createPagedTranscript } from "./web/stores/pagedTranscriptStore.mjs";
21
+ import { ImageRefScope, bindImageReader, loadImageRef, useImageRefs } from "./web/stores/imageRefStore.mjs";
20
22
  import { dispatchHeldSessionChannel, heldSessionChannels, holdSessionChannels } from "./web/stores/sessionChannelHoldsStore.mjs";
21
23
  import { ThreadTranscriptReader, applyThreadTranscriptFrame, bindThreadReader, dropThreads, heldThreads, resetThreads, resubscribeThreads, subscribeThread, threadStoreKey, unsubscribeThread } from "./web/stores/threadStore.mjs";
22
24
  import { WorkspacesState, applyWorkspaceRemoved, applyWorkspaceUpsert, applyWorkspacesSnapshot, resetWorkspaces, selectWorkspace, workspacesStore } from "./web/stores/workspacesStore.mjs";
@@ -32,4 +34,4 @@ import { bindSessionFileLinkModes, sessionMinorModes } from "./web/stores/fileLi
32
34
  import { createToolCompletionTabs } from "./web/lib/toolCompletionTabs.mjs";
33
35
  import { createWebMcpSimulator } from "./web/lib/webmcpSimulator.mjs";
34
36
  import { localHostId, parseHostKey, qualifyHostId, qualifyHostKey, splitHostId } from "./web/lib/hostIdentity.mjs";
35
- export { type ActivityGroup, AgentInfo, AssistantEntry, AttachPhase, BUILTIN_COMMANDS, CommandInfo, CompletionItem, CompletionKind, CompletionTrigger, ComposerPromptClaim, type ContextGroup, type ContextItemSource, DialogMethod, DialogPromptClaim, DialogRequest, EditorTextRequest, EntryKind, HOST_SLOTS, HistoryPage, InputSender, InstallDiagnostic, InstallDiagnosticKind, InstalledContextAction, InstalledHomeContribution, type InstalledNativeTemplate, InstalledRepositorySettingsPanel, InstalledSettingsPanel, InstalledUserMessageAction, IntercomEntry, LEGACY_WORKSPACE_ID, MAX_COMPLETION_ITEMS, MenuClaim, MenuKind, MenuState, type MinorMode, ModelChoice, type NativeTemplateCatalog, NoticeEntry, ProfileIdentity, QueuedEntry, RailRestartState, RailSessionInput, ReduceSessionOptions, ResolvedFill, RpcImage, type SelectionAxis, SessionMeta, SessionRailModelInput, SessionSocket, SessionSocketHandlers, SessionState, SessionStats, SessionsState, SettledEntry, StatusLineInput, TRIGGER_CHARS, ThreadTranscriptReader, TimelineEntry, ToolEntry, ToolPromptClaim, ToolPromptInput, ToolRendererBoundary, type TransientTabActions, UPDATE_REQUIRED_REASON, UserEntry, UserImage, WebPluginRegistry, WorkspacesState, abbreviateCwd, abortCommand, abortRun, activateWebPluginHost, activateWebPluginSession, activateWebPluginWorkspace, activeSessionId, activityGroupSlot, activityGroups, answerDialogConfirm, answerDialogValue, appendQueued, appendUserPrompt, applyCaptureFrame, applyHistoryPage, applyProtocolQueue, applyProtocolTranscript, applySelectionAnswer, applySessionBacklog, applySessionFrame, applySessionLifecycle, applySessionRemoved, applySessionUpsert, applySessionsSnapshot, applyThreadFrame, applyThreadTranscriptFrame, applyWorkspaceRemoved, applyWorkspaceUpsert, applyWorkspacesSnapshot, beginSessionReplay, beginSessionTransfer, bindBundledNativeTemplates, bindHistoryReader, bindHostTransport, bindSessionFileLinkModes, bindSessionProtocol, bindSessionWebWorkspace, bindThreadReader, bindTransport, buildRailWorkspaces, builtinCommandFrame, cancelDialog, claimDialogMenu, clearDialog, clearPendingMenu, clearQueueCommand, clearQueuedEntries, clearQueuedMessages, closeTransientTab, commandCompletions, compactCommand, completeSessionTransfer, contextGroups, createDashboardTransport, createPagedTranscript, createProtocolHubSocket, createToolCompletionTabs, createWebMcpSimulator, createWebPluginRegistry, deleteQueuedMessage, dialogCancelled, dialogConfirmed, dialogValue, disconnectCaptures, dispatchChannelFrame, dispatchHeldSessionChannel, dropPluginSessionData, dropSessionStore, dropThreads, dropTransientTabs, endSessionReplay, enqueueAutomaticCommand, fileCompletions, fileTabForPath, findTransientTab, followUpCommand, formatRunDuration, getAvailableModelsCommand, getAvailableThinkingLevelsCommand, getCommandsCommand, getSessionStatsCommand, getStateCommand, globalSlotFills, hasSessionProtocol, heldSessionChannels, heldThreads, holdSessionChannels, imagesFromContent, inactiveTotal, initialSessionState, installGlobalWebPlugins, installSessionWebPlugins, installWebPlugins, installWorkspaceWebPlugins, installedWebPlugins, invokeServerMethod, isDesktopClient, isSupportedImageMimeType, loadModelChoices, localHostId, markSocketClosed, markUpdateRequired, menuStore, mergeScopedPlugins, minorModes, nativeTemplateCatalog, noSessions, notifyHubConnected, onCaptureStatus, onComposerSubmitted, onHubConnected, openTransientTab, ownerLabel, ownersOf, paletteCommands, parseHostKey, parseSelection, pendingMenuFor, pendingSetupView, personaInitials, pluginActivityGroups, pluginContextActions, pluginDockFaces, pluginFileLinks, pluginHomeContributions, pluginLeaderBindings, pluginMinorModes, pluginRepositorySettingsPanels, pluginSelectionAxes, pluginSessionContext, pluginSettingsPanels, pluginSettingsSections, pluginSlotProps, pluginToolRenderer, pluginUserMessageActions, pluginsAtScope, prependHistory, projectedGroups, promoteQueuedCommand, promoteQueuedMessage, promptCommand, qualifyHostId, qualifyHostKey, queueFollowUp, queueFollowUpWithAck, reduceSession, refreshSessionFacts, refreshSessionSelection, refreshSessionStats, releaseDialogMenu, releaseProtocolTranscript, releaseTransport, removeHostWebPlugins, removeQueuedCommand, removeQueuedEntry, removeSessionWebPlugins, removeWorkspaceWebPlugins, renameSession, replaceQueuedEntries, requestLatestHistory, requestNewerHistory, requestOlderHistory, requestSessionProtocolFrame, resetMenuStore, resetSessionStore, resetSessionStores, resetSessions, resetThreads, resetWebPlugins, resetWorkspaces, resolveNativeTemplate, resolveParentId, resubscribeThreads, resumeQueueCommand, resumeQueuedMessages, rewindCommand, rewindToMessage, runCommand, runningCount, seedHistoryCursor, selectFastMode, selectModel, selectThinkingLevel, selectWorkspace, selectionAxes, selectionStatuses, sendFrame, sendFrameWithAck, sendHubFrame, sendSessionProtocolFrame, sessionMinorModes, sessionStatusLine, sessionStoreFor, sessionToolRenderer, sessionWebPluginsInstalled, sessionsStore, setActiveSession, setAgentLock, setHasNewerHistory, setModelCommand, setPendingMenu, setSessionNameCommand, setSessionStreamed, setThinkingLevelCommand, setTransientTabSession, setWebPluginLoadDiagnostics, slotFills, splitHostId, startPluginDefinitions, startWebPlugins, steerCommand, streamedSessions, submitCapture, submitMessage, submitMessageWithAck, subscribeActivitySources, subscribeThread, subscribeWebPluginRegistry, summariseArgs, textFromContent, threadStoreKey, toolMessageProps, toolPromptClaim, totalTokens, transientTabsStore, transportForHost, triggerTokenAt, unsubscribeThread, updateDialogDraft, useActiveSession, useActiveSessionMeta, useActivityGroups, useDialogDraft, useDockFaceBadges, useDockFaces, useFileLinks, useHasOlderHistory, useNoSessions, useTransientTabs, validateComposerCapture, waitForSession, watchHubThread, webPluginDiagnostics, webPluginRegistryForHost, webPluginRegistryRevision, webPluginsInstalled, webTabs, webTemplateCatalog, workspaceName, workspaceSlotFills, workspacesStore };
37
+ export { type ActivityGroup, AgentInfo, AssistantEntry, AttachPhase, BUILTIN_COMMANDS, CommandInfo, CompletionItem, CompletionKind, CompletionTrigger, ComposerPromptClaim, type ContextGroup, type ContextItemSource, DialogMethod, DialogPromptClaim, DialogRequest, EditorTextRequest, EntryKind, HOST_SLOTS, HistoryPage, ImageRefScope, InputSender, InstallDiagnostic, InstallDiagnosticKind, InstalledContextAction, InstalledHomeContribution, type InstalledNativeTemplate, InstalledRepositorySettingsPanel, InstalledSettingsPanel, InstalledUserMessageAction, IntercomEntry, LEGACY_WORKSPACE_ID, MAX_COMPLETION_ITEMS, MenuClaim, MenuKind, MenuState, type MinorMode, ModelChoice, type NativeTemplateCatalog, NoticeEntry, ProfileIdentity, QueuedEntry, RailRestartState, RailSessionInput, ReduceSessionOptions, ResolvedFill, RpcImage, type SelectionAxis, SessionMeta, SessionRailModelInput, SessionSocket, SessionSocketHandlers, SessionState, SessionStats, SessionsState, SettledEntry, StatusClock, StatusLineInput, TRIGGER_CHARS, ThreadTranscriptReader, TimelineEntry, ToolEntry, ToolPromptClaim, ToolPromptInput, ToolRendererBoundary, type TransientTabActions, UPDATE_REQUIRED_REASON, UiTraceRecord, UiTraceSink, UserEntry, UserImage, WebPluginRegistry, WorkspacesState, abbreviateCwd, abortCommand, abortRun, activateWebPluginHost, activateWebPluginSession, activateWebPluginWorkspace, activeSessionId, activityGroupSlot, activityGroups, answerDialogConfirm, answerDialogValue, appendQueued, appendUserPrompt, applyCaptureFrame, applyHistoryPage, applyProtocolQueue, applyProtocolTranscript, applySelectionAnswer, applySessionBacklog, applySessionFrame, applySessionLifecycle, applySessionRemoved, applySessionUpsert, applySessionsSnapshot, applyThreadFrame, applyThreadTranscriptFrame, applyWorkspaceRemoved, applyWorkspaceUpsert, applyWorkspacesSnapshot, beginSessionReplay, beginSessionTransfer, bindBundledNativeTemplates, bindHistoryReader, bindHostTransport, bindImageReader, bindSessionFileLinkModes, bindSessionProtocol, bindSessionWebWorkspace, bindThreadReader, bindTransport, buildRailWorkspaces, builtinCommandFrame, cancelDialog, claimDialogMenu, clearDialog, clearPendingMenu, clearQueueCommand, clearQueuedEntries, clearQueuedMessages, closeTransientTab, commandCompletions, compactCommand, completeSessionTransfer, contextGroups, createDashboardTransport, createPagedTranscript, createProtocolHubSocket, createToolCompletionTabs, createWebMcpSimulator, createWebPluginRegistry, deleteQueuedMessage, dialogCancelled, dialogConfirmed, dialogValue, disconnectCaptures, dispatchChannelFrame, dispatchHeldSessionChannel, dropPluginSessionData, dropSessionStore, dropThreads, dropTransientTabs, endSessionReplay, enqueueAutomaticCommand, fileCompletions, fileTabForPath, findTransientTab, flushUiTrace, followUpCommand, getAvailableModelsCommand, getAvailableThinkingLevelsCommand, getCommandsCommand, getSessionStatsCommand, getStateCommand, globalSlotFills, hasSessionProtocol, heldSessionChannels, heldThreads, holdSessionChannels, imagesFromContent, inactiveTotal, initialSessionState, installGlobalWebPlugins, installSessionWebPlugins, installWebPlugins, installWorkspaceWebPlugins, installedWebPlugins, invokeServerMethod, isDesktopClient, isSupportedImageMimeType, loadImageRef, loadModelChoices, localHostId, markSocketClosed, markUpdateRequired, menuStore, mergeScopedPlugins, minorModes, nativeTemplateCatalog, noSessions, noteRender, noteStoreUpdate, notifyHubConnected, onCaptureStatus, onComposerSubmitted, onHubConnected, openTransientTab, ownerLabel, ownersOf, paletteCommands, parseHostKey, parseSelection, pendingMenuFor, pendingSetupView, personaInitials, pluginActivityGroups, pluginContextActions, pluginDockFaces, pluginFileLinks, pluginHomeContributions, pluginLeaderBindings, pluginMinorModes, pluginRepositorySettingsPanels, pluginSelectionAxes, pluginSessionContext, pluginSettingsPanels, pluginSettingsSections, pluginSlotProps, pluginToolRenderer, pluginUserMessageActions, pluginsAtScope, prependHistory, projectedGroups, promoteQueuedCommand, promoteQueuedMessage, promptCommand, qualifyHostId, qualifyHostKey, queueFollowUp, queueFollowUpWithAck, reduceSession, refreshSessionFacts, refreshSessionSelection, refreshSessionStats, releaseDialogMenu, releaseProtocolTranscript, releaseTransport, removeHostWebPlugins, removeQueuedCommand, removeQueuedEntry, removeSessionWebPlugins, removeWorkspaceWebPlugins, renameSession, replaceQueuedEntries, requestLatestHistory, requestNewerHistory, requestOlderHistory, requestSessionProtocolFrame, resetMenuStore, resetSessionStore, resetSessionStores, resetSessions, resetThreads, resetWebPlugins, resetWorkspaces, resolveNativeTemplate, resolveParentId, resubscribeThreads, resumeQueueCommand, resumeQueuedMessages, rewindCommand, rewindToMessage, runCommand, runningCount, sameRailEntries, sameRailEntry, seedHistoryCursor, selectFastMode, selectModel, selectThinkingLevel, selectWorkspace, selectionAxes, selectionStatuses, sendFrame, sendFrameWithAck, sendHubFrame, sendSessionProtocolFrame, sessionMinorModes, sessionStatusClock, sessionStatusLine, sessionStoreFor, sessionToolRenderer, sessionWebPluginsInstalled, sessionsStore, setActiveSession, setAgentLock, setHasNewerHistory, setModelCommand, setPendingMenu, setSessionNameCommand, setSessionStreamed, setThinkingLevelCommand, setTransientTabSession, setUiTraceSink, setWebPluginLoadDiagnostics, slotFills, splitHostId, startPluginDefinitions, startWebPlugins, steerCommand, streamedSessions, submitCapture, submitMessage, submitMessageWithAck, subscribeActivitySources, subscribeThread, subscribeWebPluginRegistry, summariseArgs, textFromContent, threadStoreKey, toolMessageProps, toolPromptClaim, totalTokens, traceProfilerRender, traceStore, transientTabsStore, transportForHost, triggerTokenAt, unsubscribeThread, updateDialogDraft, useActiveSession, useActiveSessionMeta, useActivityGroups, useDialogDraft, useDockFaceBadges, useDockFaces, useFileLinks, useHasOlderHistory, useImageRefs, useNoSessions, useRailEntries, useRailEntry, useRenderTrace, useTransientTabs, validateComposerCapture, waitForSession, watchHubThread, webPluginDiagnostics, webPluginRegistryForHost, webPluginRegistryRevision, webPluginsInstalled, webTabs, webTemplateCatalog, workspaceName, workspaceSlotFills, workspacesStore };
package/dist/core.mjs CHANGED
@@ -4,6 +4,7 @@ import { onComposerSubmitted } from "./web/lib/composerSubmissions.mjs";
4
4
  import { localHostId, parseHostKey, qualifyHostId, qualifyHostKey, splitHostId } from "./web/lib/hostIdentity.mjs";
5
5
  import { mergeScopedPlugins, pluginsAtScope } from "./web/lib/pluginScopes.mjs";
6
6
  import { bindBundledNativeTemplates, resolveNativeTemplate } from "./web/lib/templateCatalog.mjs";
7
+ import { flushUiTrace, noteRender, noteStoreUpdate, setUiTraceSink, traceProfilerRender, traceStore, useRenderTrace } from "./web/lib/uiTrace.mjs";
7
8
  import { HOST_SLOTS, activateWebPluginHost, activateWebPluginSession, activateWebPluginWorkspace, activityGroupSlot, bindSessionWebWorkspace, createWebPluginRegistry, dispatchChannelFrame, dropPluginSessionData, globalSlotFills, installGlobalWebPlugins, installSessionWebPlugins, installWebPlugins, installWorkspaceWebPlugins, installedWebPlugins, isDesktopClient, nativeTemplateCatalog, paletteCommands, pluginActivityGroups, pluginContextActions, pluginDockFaces, pluginFileLinks, pluginHomeContributions, pluginLeaderBindings, pluginMinorModes, pluginRepositorySettingsPanels, pluginSelectionAxes, pluginSettingsPanels, pluginSettingsSections, pluginToolRenderer, pluginUserMessageActions, removeHostWebPlugins, removeSessionWebPlugins, removeWorkspaceWebPlugins, resetWebPlugins, sessionToolRenderer, sessionWebPluginsInstalled, setWebPluginLoadDiagnostics, slotFills, startPluginDefinitions, startWebPlugins, subscribeWebPluginRegistry, webPluginDiagnostics, webPluginRegistryForHost, webPluginRegistryRevision, webPluginsInstalled, webTabs, webTemplateCatalog, workspaceSlotFills } from "./web/lib/pluginRegistry.mjs";
8
9
  import { parseSelection } from "./web/lib/statusLine.mjs";
9
10
  import { activityGroups, fileTabForPath, minorModes, selectionAxes, subscribeActivitySources, useActivityGroups, useDockFaceBadges, useDockFaces, useFileLinks } from "./web/lib/composition.mjs";
@@ -14,17 +15,18 @@ import { bindHostTransport, bindTransport, createDashboardTransport, invokeServe
14
15
  import { pluginSessionContext, pluginSlotProps } from "./web/lib/pluginSlotProps.mjs";
15
16
  import { createProtocolHubSocket } from "./web/lib/protocolHubSocket.mjs";
16
17
  import { appendQueued, appendUserPrompt, applySelectionAnswer, clearDialog, clearQueuedEntries, imagesFromContent, initialSessionState, isSupportedImageMimeType, prependHistory, reduceSession, removeQueuedEntry, replaceQueuedEntries, selectionStatuses, summariseArgs, textFromContent } from "./web/lib/sessionModel.mjs";
17
- import { abbreviateCwd, formatRunDuration, personaInitials, runningCount, sessionStatusLine } from "./web/lib/sessionSummary.mjs";
18
+ import { abbreviateCwd, personaInitials, runningCount, sessionStatusClock, sessionStatusLine } from "./web/lib/sessionSummary.mjs";
18
19
  import { LEGACY_WORKSPACE_ID, buildRailWorkspaces, pendingSetupView, workspaceName } from "./web/lib/sessionRailModel.mjs";
19
20
  import { createToolCompletionTabs } from "./web/lib/toolCompletionTabs.mjs";
20
21
  import { toolMessageProps } from "./web/lib/toolMessageProps.mjs";
21
22
  import { toolPromptClaim } from "./web/lib/toolPrompt.mjs";
22
23
  import { validateComposerCapture } from "./web/lib/composerCapture.mjs";
23
- import { UPDATE_REQUIRED_REASON, activeSessionId, applySessionBacklog, applySessionRemoved, applySessionUpsert, applySessionsSnapshot, beginSessionTransfer, completeSessionTransfer, markSocketClosed, markUpdateRequired, noSessions, resetSessions, resolveParentId, sessionsStore, setActiveSession, useActiveSessionMeta, useNoSessions, waitForSession } from "./web/stores/sessionsStore.mjs";
24
+ import { UPDATE_REQUIRED_REASON, activeSessionId, applySessionBacklog, applySessionRemoved, applySessionUpsert, applySessionsSnapshot, beginSessionTransfer, completeSessionTransfer, markSocketClosed, markUpdateRequired, noSessions, resetSessions, resolveParentId, sameRailEntries, sameRailEntry, sessionsStore, setActiveSession, useActiveSessionMeta, useNoSessions, useRailEntries, useRailEntry, waitForSession } from "./web/stores/sessionsStore.mjs";
24
25
  import { abortRun, answerDialogConfirm, answerDialogValue, applyHistoryPage, applyProtocolQueue, applyProtocolTranscript, applySessionFrame, applySessionLifecycle, applyThreadFrame, beginSessionReplay, bindHistoryReader, cancelDialog, clearQueuedMessages, deleteQueuedMessage, dropSessionStore, endSessionReplay, loadModelChoices, promoteQueuedMessage, queueFollowUp, queueFollowUpWithAck, refreshSessionFacts, refreshSessionSelection, refreshSessionStats, releaseProtocolTranscript, renameSession, requestLatestHistory, requestNewerHistory, requestOlderHistory, resetSessionStore, resetSessionStores, resumeQueuedMessages, rewindToMessage, runCommand, seedHistoryCursor, selectFastMode, selectModel, selectThinkingLevel, sessionStoreFor, setAgentLock, setHasNewerHistory, setSessionStreamed, streamedSessions, submitMessage, submitMessageWithAck, useActiveSession, useHasOlderHistory } from "./web/stores/sessionStore.mjs";
25
26
  import { applyCaptureFrame, disconnectCaptures, onCaptureStatus, submitCapture } from "./web/stores/captureStore.mjs";
26
27
  import { bindSessionFileLinkModes, sessionMinorModes } from "./web/stores/fileLinkModesStore.mjs";
27
28
  import { claimDialogMenu, clearPendingMenu, menuStore, pendingMenuFor, releaseDialogMenu, resetMenuStore, setPendingMenu } from "./web/stores/menuStore.mjs";
29
+ import { ImageRefScope, bindImageReader, loadImageRef, useImageRefs } from "./web/stores/imageRefStore.mjs";
28
30
  import { createPagedTranscript } from "./web/stores/pagedTranscriptStore.mjs";
29
31
  import { dispatchHeldSessionChannel, heldSessionChannels, holdSessionChannels } from "./web/stores/sessionChannelHoldsStore.mjs";
30
32
  import { applyThreadTranscriptFrame, bindThreadReader, dropThreads, heldThreads, resetThreads, resubscribeThreads, subscribeThread, threadStoreKey, unsubscribeThread } from "./web/stores/threadStore.mjs";
@@ -32,4 +34,4 @@ import { closeTransientTab, dropTransientTabs, findTransientTab, openTransientTa
32
34
  import { applyWorkspaceRemoved, applyWorkspaceUpsert, applyWorkspacesSnapshot, resetWorkspaces, selectWorkspace, workspacesStore } from "./web/stores/workspacesStore.mjs";
33
35
  import { updateDialogDraft, useDialogDraft } from "./web/stores/dialogDraftStore.mjs";
34
36
  import { createWebMcpSimulator } from "./web/lib/webmcpSimulator.mjs";
35
- export { BUILTIN_COMMANDS, HOST_SLOTS, LEGACY_WORKSPACE_ID, MAX_COMPLETION_ITEMS, TRIGGER_CHARS, ToolRendererBoundary, UPDATE_REQUIRED_REASON, abbreviateCwd, abortCommand, abortRun, activateWebPluginHost, activateWebPluginSession, activateWebPluginWorkspace, activeSessionId, activityGroupSlot, activityGroups, answerDialogConfirm, answerDialogValue, appendQueued, appendUserPrompt, applyCaptureFrame, applyHistoryPage, applyProtocolQueue, applyProtocolTranscript, applySelectionAnswer, applySessionBacklog, applySessionFrame, applySessionLifecycle, applySessionRemoved, applySessionUpsert, applySessionsSnapshot, applyThreadFrame, applyThreadTranscriptFrame, applyWorkspaceRemoved, applyWorkspaceUpsert, applyWorkspacesSnapshot, beginSessionReplay, beginSessionTransfer, bindBundledNativeTemplates, bindHistoryReader, bindHostTransport, bindSessionFileLinkModes, bindSessionProtocol, bindSessionWebWorkspace, bindThreadReader, bindTransport, buildRailWorkspaces, builtinCommandFrame, cancelDialog, claimDialogMenu, clearDialog, clearPendingMenu, clearQueueCommand, clearQueuedEntries, clearQueuedMessages, closeTransientTab, commandCompletions, compactCommand, completeSessionTransfer, contextGroups, createDashboardTransport, createPagedTranscript, createProtocolHubSocket, createToolCompletionTabs, createWebMcpSimulator, createWebPluginRegistry, deleteQueuedMessage, dialogCancelled, dialogConfirmed, dialogValue, disconnectCaptures, dispatchChannelFrame, dispatchHeldSessionChannel, dropPluginSessionData, dropSessionStore, dropThreads, dropTransientTabs, endSessionReplay, enqueueAutomaticCommand, fileCompletions, fileTabForPath, findTransientTab, followUpCommand, formatRunDuration, getAvailableModelsCommand, getAvailableThinkingLevelsCommand, getCommandsCommand, getSessionStatsCommand, getStateCommand, globalSlotFills, hasSessionProtocol, heldSessionChannels, heldThreads, holdSessionChannels, imagesFromContent, inactiveTotal, initialSessionState, installGlobalWebPlugins, installSessionWebPlugins, installWebPlugins, installWorkspaceWebPlugins, installedWebPlugins, invokeServerMethod, isDesktopClient, isSupportedImageMimeType, loadModelChoices, localHostId, markSocketClosed, markUpdateRequired, menuStore, mergeScopedPlugins, minorModes, nativeTemplateCatalog, noSessions, notifyHubConnected, onCaptureStatus, onComposerSubmitted, onHubConnected, openTransientTab, ownerLabel, ownersOf, paletteCommands, parseHostKey, parseSelection, pendingMenuFor, pendingSetupView, personaInitials, pluginActivityGroups, pluginContextActions, pluginDockFaces, pluginFileLinks, pluginHomeContributions, pluginLeaderBindings, pluginMinorModes, pluginRepositorySettingsPanels, pluginSelectionAxes, pluginSessionContext, pluginSettingsPanels, pluginSettingsSections, pluginSlotProps, pluginToolRenderer, pluginUserMessageActions, pluginsAtScope, prependHistory, projectedGroups, promoteQueuedCommand, promoteQueuedMessage, promptCommand, qualifyHostId, qualifyHostKey, queueFollowUp, queueFollowUpWithAck, reduceSession, refreshSessionFacts, refreshSessionSelection, refreshSessionStats, releaseDialogMenu, releaseProtocolTranscript, releaseTransport, removeHostWebPlugins, removeQueuedCommand, removeQueuedEntry, removeSessionWebPlugins, removeWorkspaceWebPlugins, renameSession, replaceQueuedEntries, requestLatestHistory, requestNewerHistory, requestOlderHistory, requestSessionProtocolFrame, resetMenuStore, resetSessionStore, resetSessionStores, resetSessions, resetThreads, resetWebPlugins, resetWorkspaces, resolveNativeTemplate, resolveParentId, resubscribeThreads, resumeQueueCommand, resumeQueuedMessages, rewindCommand, rewindToMessage, runCommand, runningCount, seedHistoryCursor, selectFastMode, selectModel, selectThinkingLevel, selectWorkspace, selectionAxes, selectionStatuses, sendFrame, sendFrameWithAck, sendHubFrame, sendSessionProtocolFrame, sessionMinorModes, sessionStatusLine, sessionStoreFor, sessionToolRenderer, sessionWebPluginsInstalled, sessionsStore, setActiveSession, setAgentLock, setHasNewerHistory, setModelCommand, setPendingMenu, setSessionNameCommand, setSessionStreamed, setThinkingLevelCommand, setTransientTabSession, setWebPluginLoadDiagnostics, slotFills, splitHostId, startPluginDefinitions, startWebPlugins, steerCommand, streamedSessions, submitCapture, submitMessage, submitMessageWithAck, subscribeActivitySources, subscribeThread, subscribeWebPluginRegistry, summariseArgs, textFromContent, threadStoreKey, toolMessageProps, toolPromptClaim, totalTokens, transientTabsStore, transportForHost, triggerTokenAt, unsubscribeThread, updateDialogDraft, useActiveSession, useActiveSessionMeta, useActivityGroups, useDialogDraft, useDockFaceBadges, useDockFaces, useFileLinks, useHasOlderHistory, useNoSessions, useTransientTabs, validateComposerCapture, waitForSession, watchHubThread, webPluginDiagnostics, webPluginRegistryForHost, webPluginRegistryRevision, webPluginsInstalled, webTabs, webTemplateCatalog, workspaceName, workspaceSlotFills, workspacesStore };
37
+ export { BUILTIN_COMMANDS, HOST_SLOTS, ImageRefScope, LEGACY_WORKSPACE_ID, MAX_COMPLETION_ITEMS, TRIGGER_CHARS, ToolRendererBoundary, UPDATE_REQUIRED_REASON, abbreviateCwd, abortCommand, abortRun, activateWebPluginHost, activateWebPluginSession, activateWebPluginWorkspace, activeSessionId, activityGroupSlot, activityGroups, answerDialogConfirm, answerDialogValue, appendQueued, appendUserPrompt, applyCaptureFrame, applyHistoryPage, applyProtocolQueue, applyProtocolTranscript, applySelectionAnswer, applySessionBacklog, applySessionFrame, applySessionLifecycle, applySessionRemoved, applySessionUpsert, applySessionsSnapshot, applyThreadFrame, applyThreadTranscriptFrame, applyWorkspaceRemoved, applyWorkspaceUpsert, applyWorkspacesSnapshot, beginSessionReplay, beginSessionTransfer, bindBundledNativeTemplates, bindHistoryReader, bindHostTransport, bindImageReader, bindSessionFileLinkModes, bindSessionProtocol, bindSessionWebWorkspace, bindThreadReader, bindTransport, buildRailWorkspaces, builtinCommandFrame, cancelDialog, claimDialogMenu, clearDialog, clearPendingMenu, clearQueueCommand, clearQueuedEntries, clearQueuedMessages, closeTransientTab, commandCompletions, compactCommand, completeSessionTransfer, contextGroups, createDashboardTransport, createPagedTranscript, createProtocolHubSocket, createToolCompletionTabs, createWebMcpSimulator, createWebPluginRegistry, deleteQueuedMessage, dialogCancelled, dialogConfirmed, dialogValue, disconnectCaptures, dispatchChannelFrame, dispatchHeldSessionChannel, dropPluginSessionData, dropSessionStore, dropThreads, dropTransientTabs, endSessionReplay, enqueueAutomaticCommand, fileCompletions, fileTabForPath, findTransientTab, flushUiTrace, followUpCommand, getAvailableModelsCommand, getAvailableThinkingLevelsCommand, getCommandsCommand, getSessionStatsCommand, getStateCommand, globalSlotFills, hasSessionProtocol, heldSessionChannels, heldThreads, holdSessionChannels, imagesFromContent, inactiveTotal, initialSessionState, installGlobalWebPlugins, installSessionWebPlugins, installWebPlugins, installWorkspaceWebPlugins, installedWebPlugins, invokeServerMethod, isDesktopClient, isSupportedImageMimeType, loadImageRef, loadModelChoices, localHostId, markSocketClosed, markUpdateRequired, menuStore, mergeScopedPlugins, minorModes, nativeTemplateCatalog, noSessions, noteRender, noteStoreUpdate, notifyHubConnected, onCaptureStatus, onComposerSubmitted, onHubConnected, openTransientTab, ownerLabel, ownersOf, paletteCommands, parseHostKey, parseSelection, pendingMenuFor, pendingSetupView, personaInitials, pluginActivityGroups, pluginContextActions, pluginDockFaces, pluginFileLinks, pluginHomeContributions, pluginLeaderBindings, pluginMinorModes, pluginRepositorySettingsPanels, pluginSelectionAxes, pluginSessionContext, pluginSettingsPanels, pluginSettingsSections, pluginSlotProps, pluginToolRenderer, pluginUserMessageActions, pluginsAtScope, prependHistory, projectedGroups, promoteQueuedCommand, promoteQueuedMessage, promptCommand, qualifyHostId, qualifyHostKey, queueFollowUp, queueFollowUpWithAck, reduceSession, refreshSessionFacts, refreshSessionSelection, refreshSessionStats, releaseDialogMenu, releaseProtocolTranscript, releaseTransport, removeHostWebPlugins, removeQueuedCommand, removeQueuedEntry, removeSessionWebPlugins, removeWorkspaceWebPlugins, renameSession, replaceQueuedEntries, requestLatestHistory, requestNewerHistory, requestOlderHistory, requestSessionProtocolFrame, resetMenuStore, resetSessionStore, resetSessionStores, resetSessions, resetThreads, resetWebPlugins, resetWorkspaces, resolveNativeTemplate, resolveParentId, resubscribeThreads, resumeQueueCommand, resumeQueuedMessages, rewindCommand, rewindToMessage, runCommand, runningCount, sameRailEntries, sameRailEntry, seedHistoryCursor, selectFastMode, selectModel, selectThinkingLevel, selectWorkspace, selectionAxes, selectionStatuses, sendFrame, sendFrameWithAck, sendHubFrame, sendSessionProtocolFrame, sessionMinorModes, sessionStatusClock, sessionStatusLine, sessionStoreFor, sessionToolRenderer, sessionWebPluginsInstalled, sessionsStore, setActiveSession, setAgentLock, setHasNewerHistory, setModelCommand, setPendingMenu, setSessionNameCommand, setSessionStreamed, setThinkingLevelCommand, setTransientTabSession, setUiTraceSink, setWebPluginLoadDiagnostics, slotFills, splitHostId, startPluginDefinitions, startWebPlugins, steerCommand, streamedSessions, submitCapture, submitMessage, submitMessageWithAck, subscribeActivitySources, subscribeThread, subscribeWebPluginRegistry, summariseArgs, textFromContent, threadStoreKey, toolMessageProps, toolPromptClaim, totalTokens, traceProfilerRender, traceStore, transientTabsStore, transportForHost, triggerTokenAt, unsubscribeThread, updateDialogDraft, useActiveSession, useActiveSessionMeta, useActivityGroups, useDialogDraft, useDockFaceBadges, useDockFaces, useFileLinks, useHasOlderHistory, useImageRefs, useNoSessions, useRailEntries, useRailEntry, useRenderTrace, useTransientTabs, validateComposerCapture, waitForSession, watchHubThread, webPluginDiagnostics, webPluginRegistryForHost, webPluginRegistryRevision, webPluginsInstalled, webTabs, webTemplateCatalog, workspaceName, workspaceSlotFills, workspacesStore };
package/dist/index.cjs CHANGED
@@ -12,6 +12,7 @@ const require_hostIdentity = require("./web/lib/hostIdentity.cjs");
12
12
  const require_leaderTree = require("./web/lib/leaderTree.cjs");
13
13
  const require_pluginScopes = require("./web/lib/pluginScopes.cjs");
14
14
  const require_templateCatalog = require("./web/lib/templateCatalog.cjs");
15
+ const require_uiTrace = require("./web/lib/uiTrace.cjs");
15
16
  const require_pluginRegistry = require("./web/lib/pluginRegistry.cjs");
16
17
  const require_statusLine = require("./web/lib/statusLine.cjs");
17
18
  const require_composition = require("./web/lib/composition.cjs");
@@ -247,10 +248,10 @@ exports.fileLinkMentions = require_composition.fileLinkMentions;
247
248
  exports.fileTabForPath = require_composition.fileTabForPath;
248
249
  exports.findTransientTab = require_transientTabsStore.findTransientTab;
249
250
  exports.flushBrowserTelemetry = require_browserTelemetry.flushBrowserTelemetry;
251
+ exports.flushUiTrace = require_uiTrace.flushUiTrace;
250
252
  exports.focusPrompt = require_promptFocus.focusPrompt;
251
253
  exports.focusWorkspaceWebPlugins = require_pluginCompositions.focusWorkspaceWebPlugins;
252
254
  exports.followUpCommand = require_commands.followUpCommand;
253
- exports.formatRunDuration = require_sessionSummary.formatRunDuration;
254
255
  exports.getAvailableModelsCommand = require_commands.getAvailableModelsCommand;
255
256
  exports.getAvailableThinkingLevelsCommand = require_commands.getAvailableThinkingLevelsCommand;
256
257
  exports.getCommandsCommand = require_commands.getCommandsCommand;
@@ -309,6 +310,8 @@ exports.newPairingCode = require_remoteAccessStore.newPairingCode;
309
310
  exports.newSessionDraftStore = require_newSessionStore.newSessionDraftStore;
310
311
  exports.newSessionStore = require_newSessionStore.newSessionStore;
311
312
  exports.noSessions = require_sessionsStore.noSessions;
313
+ exports.noteRender = require_uiTrace.noteRender;
314
+ exports.noteStoreUpdate = require_uiTrace.noteStoreUpdate;
312
315
  exports.notifyHubConnected = require_transport.notifyHubConnected;
313
316
  exports.onCaptureStatus = require_captureStore.onCaptureStatus;
314
317
  exports.onComposerSubmitted = require_composerSubmissions.onComposerSubmitted;
@@ -371,6 +374,7 @@ exports.readSessionMcpConfig = require_sessionMcpApi.readSessionMcpConfig;
371
374
  exports.readSettingsConfig = require_settingsApi.readSettingsConfig;
372
375
  exports.recordBrowserError = require_browserTelemetry.recordBrowserError;
373
376
  exports.recordBrowserPerformance = require_browserTelemetry.recordBrowserPerformance;
377
+ exports.recordBrowserUiTrace = require_browserTelemetry.recordBrowserUiTrace;
374
378
  exports.reduceSession = require_sessionModel.reduceSession;
375
379
  exports.refreshDevProxyTargets = require_devProxyStore.refreshDevProxyTargets;
376
380
  exports.refreshPasskeys = require_remoteAccessStore.refreshPasskeys;
@@ -452,6 +456,8 @@ exports.rewindCommand = require_commands.rewindCommand;
452
456
  exports.rewindToMessage = require_sessionStore.rewindToMessage;
453
457
  exports.runCommand = require_sessionStore.runCommand;
454
458
  exports.runningCount = require_sessionSummary.runningCount;
459
+ exports.sameRailEntries = require_sessionsStore.sameRailEntries;
460
+ exports.sameRailEntry = require_sessionsStore.sameRailEntry;
455
461
  exports.saveComposerDrafts = require_composerStore.saveComposerDrafts;
456
462
  exports.saveRemoteSettings = require_remoteApi.saveRemoteSettings;
457
463
  exports.saveSettingsDraft = require_settingsDraftStore.saveSettingsDraft;
@@ -474,6 +480,7 @@ exports.sendFrameWithAck = require_transport.sendFrameWithAck;
474
480
  exports.sendHubFrame = require_transport.sendHubFrame;
475
481
  exports.sendSessionProtocolFrame = require_sessionProtocolCommands.sendSessionProtocolFrame;
476
482
  exports.sessionMinorModes = require_fileLinkModesStore.sessionMinorModes;
483
+ exports.sessionStatusClock = require_sessionSummary.sessionStatusClock;
477
484
  exports.sessionStatusLine = require_sessionSummary.sessionStatusLine;
478
485
  exports.sessionStoreFor = require_sessionStore.sessionStoreFor;
479
486
  exports.sessionToolRenderer = require_pluginRegistry.sessionToolRenderer;
@@ -494,6 +501,7 @@ exports.setSessionStreamed = require_sessionStore.setSessionStreamed;
494
501
  exports.setSettingsDraft = require_settingsDraftStore.setSettingsDraft;
495
502
  exports.setThinkingLevelCommand = require_commands.setThinkingLevelCommand;
496
503
  exports.setTransientTabSession = require_transientTabsStore.setTransientTabSession;
504
+ exports.setUiTraceSink = require_uiTrace.setUiTraceSink;
497
505
  exports.setWebPluginLoadDiagnostics = require_pluginRegistry.setWebPluginLoadDiagnostics;
498
506
  exports.setWorkspaceSandbox = require_hubApi.setWorkspaceSandbox;
499
507
  exports.settingsDraftKey = require_settingsDraftStore.settingsDraftKey;
@@ -534,6 +542,8 @@ exports.toolMessageProps = require_toolMessageProps.toolMessageProps;
534
542
  exports.toolPromptClaim = require_toolPrompt.toolPromptClaim;
535
543
  exports.toolPromptStore = require_toolPromptStore.toolPromptStore;
536
544
  exports.totalTokens = require_contextComposition.totalTokens;
545
+ exports.traceProfilerRender = require_uiTrace.traceProfilerRender;
546
+ exports.traceStore = require_uiTrace.traceStore;
537
547
  exports.transientTabsOf = require_transientTabsStore.transientTabsOf;
538
548
  exports.transientTabsStore = require_transientTabsStore.transientTabsStore;
539
549
  exports.transportForHost = require_transport.transportForHost;
@@ -562,6 +572,9 @@ exports.useHasOlderHistory = require_sessionStore.useHasOlderHistory;
562
572
  exports.useNoSessions = require_sessionsStore.useNoSessions;
563
573
  exports.useOpenTab = require_useOpenTab.useOpenTab;
564
574
  exports.usePluginSlotProps = require_usePluginSlotProps.usePluginSlotProps;
575
+ exports.useRailEntries = require_sessionsStore.useRailEntries;
576
+ exports.useRailEntry = require_sessionsStore.useRailEntry;
577
+ exports.useRenderTrace = require_uiTrace.useRenderTrace;
565
578
  exports.useSessionMcp = require_useSessionMcp.useSessionMcp;
566
579
  exports.useTemplateConfiguration = require_templateStore.useTemplateConfiguration;
567
580
  exports.useToolPrompt = require_useToolPrompt.useToolPrompt;
package/dist/index.d.mts CHANGED
@@ -8,14 +8,15 @@ import { InstalledNativeTemplate, InstalledWebTemplate, NativeTemplateCatalog, W
8
8
  import { HOST_SLOTS, InstallDiagnostic, InstallDiagnosticKind, InstalledContextAction, InstalledHomeContribution, InstalledRepositorySettingsPanel, InstalledSettingsPanel, InstalledUserMessageAction, ResolvedFill, WebPluginRegistry, activateWebPluginHost, activateWebPluginSession, activateWebPluginWorkspace, activityGroupSlot, bindSessionWebWorkspace, createWebPluginRegistry, dispatchChannelFrame, dropPluginSessionData, globalSlotFills, installGlobalWebPlugins, installSessionWebPlugins, installWebPlugins, installWorkspaceWebPlugins, installedWebPlugins, isDesktopClient, nativeTemplateCatalog, paletteCommands, pluginActivityGroups, pluginContextActions, pluginDockFaces, pluginFileLinks, pluginHomeContributions, pluginLeaderBindings, pluginMinorModes, pluginRepositorySettingsPanels, pluginSelectionAxes, pluginSettingsPanels, pluginSettingsSections, pluginToolRenderer, pluginUserMessageActions, removeHostWebPlugins, removeSessionWebPlugins, removeWorkspaceWebPlugins, resetWebPlugins, sessionToolRenderer, sessionWebPluginsInstalled, setWebPluginLoadDiagnostics, slotFills, startPluginDefinitions, startWebPlugins, subscribeWebPluginRegistry, webPluginDiagnostics, webPluginRegistryForHost, webPluginRegistryRevision, webPluginsInstalled, webTabs, webTemplateCatalog, workspaceSlotFills } from "./web/lib/pluginRegistry.mjs";
9
9
  import { mergeScopedPlugins, pluginsAtScope } from "./web/lib/pluginScopes.mjs";
10
10
  import { ComposerPromptClaim, DialogPromptClaim, ToolPromptClaim, ToolPromptInput, toolPromptClaim } from "./web/lib/toolPrompt.mjs";
11
+ import { UiTraceRecord, UiTraceSink, flushUiTrace, noteRender, noteStoreUpdate, setUiTraceSink, traceProfilerRender, traceStore, useRenderTrace } from "./web/lib/uiTrace.mjs";
11
12
  import { TransientTabActions, pluginSessionContext, pluginSlotProps } from "./web/lib/pluginSlotProps.mjs";
12
13
  import { toolMessageProps } from "./web/lib/toolMessageProps.mjs";
13
14
  import { DialogDraft, dialogDraftStore, updateDialogDraft, useDialogDraft } from "./web/stores/dialogDraftStore.mjs";
14
- import { AttachPhase, StatusLineInput, abbreviateCwd, formatRunDuration, personaInitials, runningCount, sessionStatusLine } from "./web/lib/sessionSummary.mjs";
15
+ import { AttachPhase, StatusClock, StatusLineInput, abbreviateCwd, personaInitials, runningCount, sessionStatusClock, sessionStatusLine } from "./web/lib/sessionSummary.mjs";
15
16
  import { LEGACY_WORKSPACE_ID, RailRestartState, RailSessionInput, SessionRailModelInput, buildRailWorkspaces, pendingSetupView, workspaceName } from "./web/lib/sessionRailModel.mjs";
16
- import { SessionMeta, SessionsState, UPDATE_REQUIRED_REASON, activeSessionId, applySessionBacklog, applySessionRemoved, applySessionUpsert, applySessionsSnapshot, beginSessionTransfer, completeSessionTransfer, markSocketClosed, markUpdateRequired, noSessions, resetSessions, resolveParentId, sessionsStore, setActiveSession, useActiveSessionMeta, useNoSessions, waitForSession } from "./web/stores/sessionsStore.mjs";
17
+ import { SessionMeta, SessionsState, UPDATE_REQUIRED_REASON, activeSessionId, applySessionBacklog, applySessionRemoved, applySessionUpsert, applySessionsSnapshot, beginSessionTransfer, completeSessionTransfer, markSocketClosed, markUpdateRequired, noSessions, resetSessions, resolveParentId, sameRailEntries, sameRailEntry, sessionsStore, setActiveSession, useActiveSessionMeta, useNoSessions, useRailEntries, useRailEntry, waitForSession } from "./web/stores/sessionsStore.mjs";
17
18
  import { HistoryPage, abortRun, answerDialogConfirm, answerDialogValue, applyHistoryPage, applyProtocolQueue, applyProtocolTranscript, applySessionFrame, applySessionLifecycle, applyThreadFrame, beginSessionReplay, bindHistoryReader, cancelDialog, clearQueuedMessages, deleteQueuedMessage, dropSessionStore, endSessionReplay, loadModelChoices, promoteQueuedMessage, queueFollowUp, queueFollowUpWithAck, refreshSessionFacts, refreshSessionSelection, refreshSessionStats, releaseProtocolTranscript, renameSession, requestLatestHistory, requestNewerHistory, requestOlderHistory, resetSessionStore, resetSessionStores, resumeQueuedMessages, rewindToMessage, runCommand, seedHistoryCursor, selectFastMode, selectModel, selectThinkingLevel, sessionStoreFor, setAgentLock, setHasNewerHistory, setSessionStreamed, streamedSessions, submitMessage, submitMessageWithAck, useActiveSession, useHasOlderHistory } from "./web/stores/sessionStore.mjs";
18
- import { BrowserPerformanceEvent, BrowserPerformanceEventName, browserReadyDuration, flushBrowserTelemetry, installBrowserErrorReporting, recordBrowserError, recordBrowserPerformance } from "./web/lib/browserTelemetry.mjs";
19
+ import { BrowserPerformanceEvent, BrowserPerformanceEventName, browserReadyDuration, flushBrowserTelemetry, installBrowserErrorReporting, recordBrowserError, recordBrowserPerformance, recordBrowserUiTrace } from "./web/lib/browserTelemetry.mjs";
19
20
  import { createPagedTranscript } from "./web/stores/pagedTranscriptStore.mjs";
20
21
  import { dispatchHeldSessionChannel, heldSessionChannels, holdSessionChannels } from "./web/stores/sessionChannelHoldsStore.mjs";
21
22
  import { ThreadTranscriptReader, applyThreadTranscriptFrame, bindThreadReader, dropThreads, heldThreads, resetThreads, resubscribeThreads, subscribeThread, threadStoreKey, unsubscribeThread } from "./web/stores/threadStore.mjs";
@@ -81,4 +82,4 @@ import { WorkspaceAdmissionDraft, admitDashboardWorkspace, resetWorkspaceAdmissi
81
82
  import { EMPTY_SETTINGS_DRAFT, SettingsDraftState, SettingsDraftTarget, discardSettingsDraft, loadSettingsDraft, saveSettingsDraft, setSettingsDraft, settingsDraftKey, settingsDraftStore } from "./web/stores/settingsDraftStore.mjs";
82
83
  import { dashboardStateFor, useDashboardState } from "./web/stores/dashboardStateStore.mjs";
83
84
  import { DashboardRendererProvider, DashboardRenderers } from "./web/lib/dashboardRenderers.mjs";
84
- export { ActivityGroup, AgentInfo, AssistantEntry, AttachPhase, BUILTIN_COMMANDS, BrowserNotificationDeliveryStatus, BrowserNotificationPermissionStatus, BrowserPerformanceEvent, BrowserPerformanceEventName, CommandInfo, CompletionItem, CompletionKind, CompletionTrigger, ComposerAttachment, ComposerContextAttachment, ComposerFileAttachment, ComposerImageAttachment, ComposerPromptClaim, ComposerSessionState, ComposerTextAttachment, ContextGroup, ContextGroupKind, ContextItem, ContextItemSource, ContextOwner, CreateSessionResult, DEFAULT_REPOSITORY_SETTINGS_SECTION, DEFAULT_SETTINGS_SECTION, DashboardRendererProvider, type DashboardRenderers, DashboardRoute, DevProxyState, DialogDraft, DialogMethod, DialogPromptClaim, DialogRequest, DockTab, EMPTY_NEW_SESSION_DRAFT, EMPTY_SETTINGS_DRAFT, EditorTextRequest, EntryKind, FetchItemDetailResult, FileLinkResolver, FileMention, GroupUnit, HOST_SLOTS, HistoryPage, ImageSettingsResult, InputSender, InstallDiagnostic, InstallDiagnosticKind, InstalledContextAction, InstalledHomeContribution, InstalledNativeTemplate, InstalledRepositorySettingsPanel, InstalledSettingsPanel, InstalledUserMessageAction, InstalledWebTemplate, IntercomEntry, LEGACY_WORKSPACE_ID, LeaderConflict, LeaderGroup, LeaderOption, LivePushStatus, LoginFlowResult, LogoutResult, MAX_COMPLETION_ITEMS, MAX_COMPOSER_ATTACHMENTS, MAX_COMPOSER_IMAGE_BYTES, MAX_COMPOSER_TEXT_BYTES, MAX_COMPOSER_TOTAL_IMAGE_BYTES, MAX_COMPOSER_TOTAL_TEXT_BYTES, MAX_COMPOSER_UPLOAD_BYTES, MenuClaim, MenuKind, MenuState, MinorMode, MinorModeAvailability, MinorModeSource, ModelChoice, NativeTemplateCatalog, NewSessionDraft, NewSessionState, NoticeEntry, PACKAGED_MINOR_MODES, PACKAGED_SELECTION_AXES, PairingResult, PaletteState, PasskeyOutcome, PasskeySupportView, PlannedWritesInput, ProfileIdentity, ProvidersResult, QueuedEntry, RailDialogState, RailRestartState, RailSessionInput, ReadConfigResult, ReadRepositorySettingsResult, ReduceSessionOptions, RemoteAccessState, RemoteStep, RemoveWorkspaceResult, ResolvedFill, RestartSessionResult, ResumeDraft, ResumeSessionResult, ResumeTarget, ReviveSessionResult, RpcImage, STEP_UP_HEADER_NAME, Selection, SelectionAxis, SessionAsset, SessionGroupsResult, SessionHistoryResult, SessionMcpResult, SessionMcpViewState, SessionMeta, SessionRailModelInput, SessionSocket, SessionSocketHandlers, SessionState, SessionStats, SessionsState, SettingsDraftState, SettingsDraftTarget, SettingsSection, SettingsWorkspace, SettledEntry, SingleUnit, StateResult, StatusLineInput, StopSessionResult, StoredSessionAttachment, TRIGGER_CHARS, TargetResult, TargetsResult, TemplateConfiguration, ThemeState, ThreadTranscriptReader, TimelineEntry, TimelineUnit, ToolEntry, ToolPromptClaim, ToolPromptInput, ToolPromptState, TransientTabActions, UPDATE_REQUIRED_REASON, UiState, UserEntry, UserImage, WebPluginCompositionPhase, WebPluginCompositionState, WebPluginMountState, WebPluginRegistry, WebTemplateCatalog, WebTemplateDecision, WebTemplateDiagnostic, WorkspaceAdmissionDraft, WorkspaceResult, WorkspaceSandboxRequest, WorkspacesResult, WorkspacesState, WriteConfigResult, abbreviateCwd, abortCommand, abortRun, acquireModelContext, activateWebPluginHost, activateWebPluginSession, activateWebPluginWorkspace, activeSessionId, activityGroupSlot, activityGroups, addDevProxyTarget, addPasskey, admitDashboardWorkspace, admitWorkspace, ansiSegments, answerDialogConfirm, answerDialogValue, answerLogin, appendComposerDraft, appendComposerQuote, appendQueued, appendUserPrompt, applyCaptureFrame, applyHistoryPage, applyProtocolQueue, applyProtocolTranscript, applySelectionAnswer, applySessionBacklog, applySessionFrame, applySessionLifecycle, applySessionRemoved, applySessionUpsert, applySessionsSnapshot, applyStoredTheme, applyThreadFrame, applyThreadTranscriptFrame, applyWorkspaceRemoved, applyWorkspaceUpsert, applyWorkspacesSnapshot, approveDevice, approvePairing, asWorkspace, assertionFor, attachComposerCapture, attachComposerContext, attachmentPrompt, availableThemes, beginSessionReplay, beginSessionTransfer, bindBundledNativeTemplates, bindBundledWebTemplates, bindDashboardTranscriptWatcher, bindFileLinkModes, bindHistoryReader, bindHostTransport, bindSessionActivityRenderer, bindSessionFileLinkModes, bindSessionProtocol, bindSessionTranscriptRenderer, bindSessionWebWorkspace, bindThreadReader, bindThreadRenderer, bindTransport, bindWebPluginCompositions, browserNotificationPermission, browserReadyDuration, buildRailWorkspaces, builtinCommandFrame, canSaveSettings, cancelDialog, cancelLogin, claimDialogMenu, clearComposerState, clearDialog, clearPendingMenu, clearQueueCommand, clearQueuedEntries, clearQueuedMessages, closeNewSession, closePalette, closeRemoteDialog, closeResumeDialog, closeTransientTab, collectNativeTemplates, collectWebTemplates, commandCompletions, compactCommand, completeSessionTransfer, composerStore, composerSubmissionStore, configuredTemplate, contextGroups, createDashboardTransport, createDevProxyTarget, createPagedTranscript, createPlainSession, createProtocolHubSocket, createProtocolLink, createSession, createSessionMcpClient, createToolCompletionTabs, createWebPluginRegistry, createWorkspaceSession, dashboardRouteFrom, dashboardStateFor, deleteDevProxyTarget, deleteQueuedMessage, deleteSessionGroup, deliverBrowserNotification, denyDevice, denyPairing, devProxyStore, dialogCancelled, dialogConfirmed, dialogDraftStore, dialogValue, disableLivePush, disableRemoteAccess, discardSettingsDraft, disconnectCaptures, dispatchChannelFrame, dispatchHeldSessionChannel, disposeModelContextAdapter, dockTabFor, dropComposerState, dropPluginSessionData, dropSessionStore, dropThreads, dropTransientTabs, emptySelection, enableLivePush, enableRemoteAccess, endSessionReplay, enqueueAutomaticCommand, ensureTemplateConfiguration, fetchContextItemDetail, fetchDevProxyTargets, fetchRemoteState, fetchWithStepUp, fileCompletions, fileLinkFor, fileLinkMentions, fileTabForPath, findTransientTab, flushBrowserTelemetry, focusPrompt, focusWorkspaceWebPlugins, followUpCommand, formatRunDuration, getAvailableModelsCommand, getAvailableThinkingLevelsCommand, getCommandsCommand, getSessionStatsCommand, getStateCommand, globalSlotFills, groupSummary, groupTone, hasSessionProtocol, heldSessionChannels, heldThreads, holdSessionChannels, imagesFromContent, inactiveTotal, initialSessionState, inlineTextBytes, installBrowserErrorReporting, installGlobalWebPlugins, installSessionWebPlugins, installWebPlugins, installWorkspaceWebPlugins, installedWebPlugins, invokeServerMethod, isDesktopClient, isSessionMcpActivity, isSupportedImageMimeType, leaderConflicts, leaderGroup, listDirectory, listPoFolders, listProviders, listSessionHistory, listSessionMcpClients, listSessions, listSettingsModels, listSettingsRepositories, listWorkspaceHistory, listWorkspaces, livePushStatus, loadModelChoices, loadSessionAsset, loadSessionAvatar, loadSettingsDraft, localHostId, logoutProvider, markSocketClosed, markToolPromptFailed, markUpdateRequired, mediaKindFor, menuStore, mergeScopedPlugins, minorModes, mintPairingCode, nativeTemplateCatalog, newPairingCode, newSessionDraftStore, newSessionStore, noSessions, notifyHubConnected, onCaptureStatus, onComposerSubmitted, onHubConnected, onSealedSignInRequired, openNewSession, openPalette, openRemoteDialog, openResumeDialog, openTransientTab, ownerLabel, ownersOf, paletteCommands, paletteStore, parseFileMentions, parseHostKey, parseSelection, passkeysAvailable, pendingCaptureSessions, pendingMenuFor, pendingSetupView, personaInitials, plannedSettingsWrites, pluginActivityGroups, pluginContextActions, pluginDockFaces, pluginFileLinks, pluginHomeContributions, pluginLeaderBindings, pluginMinorModes, pluginRepositorySettingsPanels, pluginSelectionAxes, pluginSessionContext, pluginSettingsPanels, pluginSettingsSections, pluginSlotProps, pluginToolRenderer, pluginUserMessageActions, pluginsAtScope, prependHistory, projectedGroups, promoteQueuedCommand, promoteQueuedMessage, promptCommand, protocolSocketUrl, publishComposerSubmission, qrMatrix, qualifyHostId, qualifyHostKey, queueFollowUp, queueFollowUpWithAck, railDialogStore, railRestartStore, readDormantTranscriptPage, readImageSettings, readLogin, readRepositorySettings, readSessionMcpActivity, readSessionMcpConfig, readSettingsConfig, recordBrowserError, recordBrowserPerformance, reduceSession, refreshDevProxyTargets, refreshPasskeys, refreshRemoteState, refreshSessionFacts, refreshSessionSelection, refreshSessionStats, refreshTemplateConfiguration, refreshWebPluginCompositions, registerPasskey, registerPromptInput, releaseDialogMenu, releaseProtocolTranscript, releaseSessionActivityRenderer, releaseSessionTranscriptRenderer, releaseThreadRenderer, releaseTransport, reloadWebTemplateDecision, rememberHostChannelKey, rememberedHostChannelKey, remoteAccessStore, removeDevProxyTarget, removeHostWebPlugins, removeQueuedCommand, removeQueuedEntry, removeSessionMcpSetup, removeSessionWebPlugins, removeWorkspace, removeWorkspaceWebPlugins, renameSession, renameSessionGroup, renderSessionActivity, renderSessionTranscript, renderThread, replaceQueuedEntries, requestBrowserNotificationPermission, requestLatestHistory, requestNewerHistory, requestOlderHistory, requestSessionProtocolFrame, resetComposerStore, resetDevProxyStore, resetMenuStore, resetNewSessionStore, resetRailDialogStore, resetSealedSessions, resetSessionStore, resetSessionStores, resetSessions, resetThreads, resetToolPromptStore, resetTransientTabs, resetWebPlugins, resetWorkspaceAdmission, resetWorkspaces, resolveNativeTemplate, resolveParentId, resolveWebTemplate, restartDashboardSession, restartSession, restoreComposerDrafts, restoreLivePushRegistration, restoreSealedSession, resubscribeThreads, resumeDashboardSession, resumeDraftStore, resumeQueueCommand, resumeQueuedMessages, resumeSession, resumeWorkspaceSession, retryWebPluginCompositions, reviveSession, revokeDevice, revokePairedDevice, revokeSessionMcpClient, revokeTrustedDevice, revokeTrustedNativeDevice, rewindCommand, rewindToMessage, runCommand, runningCount, saveComposerDrafts, saveRemoteSettings, saveSettingsDraft, saveTemplateDefault, sealedHttpSession, sealedProtocolSession, sealedSession, searchDirectories, searchSessionFiles, seedHistoryCursor, selectFastMode, selectModel, selectTheme, selectThinkingLevel, selectWorkspace, selectionAxes, selectionStatuses, sendFrame, sendFrameWithAck, sendHubFrame, sendSessionProtocolFrame, sessionMinorModes, sessionStatusLine, sessionStoreFor, sessionToolRenderer, sessionWebPluginsInstalled, sessionsStore, setActiveSession, setAgentLock, setDockOpen, setDockTab, setHasNewerHistory, setModelCommand, setNewSessionName, setPalettePath, setPendingMenu, setSessionGroups, setSessionNameCommand, setSessionStreamed, setSettingsDraft, setThinkingLevelCommand, setTransientTabSession, setWebPluginLoadDiagnostics, setWorkspaceSandbox, settingsDraftKey, settingsDraftStore, settingsKeyOf, settingsLockedReason, settingsSection, settingsSections, showRemoteOptions, signInWithPasskey, slotFills, splitHostId, startLogin, startPluginDefinitions, startWebPlugins, steerCommand, stopSession, streamedSessions, stripAnsi, submitCapture, submitComposerDraft, submitMessage, submitMessageWithAck, subscribeActivitySources, subscribeThread, subscribeWebPluginRegistry, summariseArgs, tabComposerContext, templateStore, textFromContent, themeStore, threadStoreKey, timelineUnits, toQueuedEntries, toTimelineEntries, togglePalette, toolMessageProps, toolPromptClaim, toolPromptStore, totalTokens, transientTabsOf, transientTabsStore, transportForHost, triggerTokenAt, turnRemoteAccessOff, turnRemoteAccessOn, uiStore, unsubscribeThread, updateComposerState, updateDialogDraft, updateRemoteSettings, updateResumeDraft, updateWorkspaceAdmission, uploadSessionAttachment, useActiveSession, useActiveSessionMeta, useActivityGroups, useComposerState, useDashboardRoute, useDashboardState, useDialogDraft, useDockFaceBadges, useDockFaces, useFileLinks, useHasOlderHistory, useNoSessions, useOpenTab, usePluginSlotProps, useSessionMcp, useTemplateConfiguration, useToolPrompt, useTransientTabs, useWebPluginRegistry, validateComposerCapture, waitForSession, watchDashboardTranscript, watchHubThread, webPluginCompositionStore, webPluginDiagnostics, webPluginMountState, webPluginRegistryForHost, webPluginRegistryRevision, webPluginsInstalled, webTabs, webTemplateCatalog, workspaceAdmissionStore, workspaceName, workspaceSlotFills, workspacesStore, writeImageSettings, writeRepositorySelection, writeSettingsValue };
85
+ export { ActivityGroup, AgentInfo, AssistantEntry, AttachPhase, BUILTIN_COMMANDS, BrowserNotificationDeliveryStatus, BrowserNotificationPermissionStatus, BrowserPerformanceEvent, BrowserPerformanceEventName, CommandInfo, CompletionItem, CompletionKind, CompletionTrigger, ComposerAttachment, ComposerContextAttachment, ComposerFileAttachment, ComposerImageAttachment, ComposerPromptClaim, ComposerSessionState, ComposerTextAttachment, ContextGroup, ContextGroupKind, ContextItem, ContextItemSource, ContextOwner, CreateSessionResult, DEFAULT_REPOSITORY_SETTINGS_SECTION, DEFAULT_SETTINGS_SECTION, DashboardRendererProvider, type DashboardRenderers, DashboardRoute, DevProxyState, DialogDraft, DialogMethod, DialogPromptClaim, DialogRequest, DockTab, EMPTY_NEW_SESSION_DRAFT, EMPTY_SETTINGS_DRAFT, EditorTextRequest, EntryKind, FetchItemDetailResult, FileLinkResolver, FileMention, GroupUnit, HOST_SLOTS, HistoryPage, ImageSettingsResult, InputSender, InstallDiagnostic, InstallDiagnosticKind, InstalledContextAction, InstalledHomeContribution, InstalledNativeTemplate, InstalledRepositorySettingsPanel, InstalledSettingsPanel, InstalledUserMessageAction, InstalledWebTemplate, IntercomEntry, LEGACY_WORKSPACE_ID, LeaderConflict, LeaderGroup, LeaderOption, LivePushStatus, LoginFlowResult, LogoutResult, MAX_COMPLETION_ITEMS, MAX_COMPOSER_ATTACHMENTS, MAX_COMPOSER_IMAGE_BYTES, MAX_COMPOSER_TEXT_BYTES, MAX_COMPOSER_TOTAL_IMAGE_BYTES, MAX_COMPOSER_TOTAL_TEXT_BYTES, MAX_COMPOSER_UPLOAD_BYTES, MenuClaim, MenuKind, MenuState, MinorMode, MinorModeAvailability, MinorModeSource, ModelChoice, NativeTemplateCatalog, NewSessionDraft, NewSessionState, NoticeEntry, PACKAGED_MINOR_MODES, PACKAGED_SELECTION_AXES, PairingResult, PaletteState, PasskeyOutcome, PasskeySupportView, PlannedWritesInput, ProfileIdentity, ProvidersResult, QueuedEntry, RailDialogState, RailRestartState, RailSessionInput, ReadConfigResult, ReadRepositorySettingsResult, ReduceSessionOptions, RemoteAccessState, RemoteStep, RemoveWorkspaceResult, ResolvedFill, RestartSessionResult, ResumeDraft, ResumeSessionResult, ResumeTarget, ReviveSessionResult, RpcImage, STEP_UP_HEADER_NAME, Selection, SelectionAxis, SessionAsset, SessionGroupsResult, SessionHistoryResult, SessionMcpResult, SessionMcpViewState, SessionMeta, SessionRailModelInput, SessionSocket, SessionSocketHandlers, SessionState, SessionStats, SessionsState, SettingsDraftState, SettingsDraftTarget, SettingsSection, SettingsWorkspace, SettledEntry, SingleUnit, StateResult, StatusClock, StatusLineInput, StopSessionResult, StoredSessionAttachment, TRIGGER_CHARS, TargetResult, TargetsResult, TemplateConfiguration, ThemeState, ThreadTranscriptReader, TimelineEntry, TimelineUnit, ToolEntry, ToolPromptClaim, ToolPromptInput, ToolPromptState, TransientTabActions, UPDATE_REQUIRED_REASON, UiState, UiTraceRecord, UiTraceSink, UserEntry, UserImage, WebPluginCompositionPhase, WebPluginCompositionState, WebPluginMountState, WebPluginRegistry, WebTemplateCatalog, WebTemplateDecision, WebTemplateDiagnostic, WorkspaceAdmissionDraft, WorkspaceResult, WorkspaceSandboxRequest, WorkspacesResult, WorkspacesState, WriteConfigResult, abbreviateCwd, abortCommand, abortRun, acquireModelContext, activateWebPluginHost, activateWebPluginSession, activateWebPluginWorkspace, activeSessionId, activityGroupSlot, activityGroups, addDevProxyTarget, addPasskey, admitDashboardWorkspace, admitWorkspace, ansiSegments, answerDialogConfirm, answerDialogValue, answerLogin, appendComposerDraft, appendComposerQuote, appendQueued, appendUserPrompt, applyCaptureFrame, applyHistoryPage, applyProtocolQueue, applyProtocolTranscript, applySelectionAnswer, applySessionBacklog, applySessionFrame, applySessionLifecycle, applySessionRemoved, applySessionUpsert, applySessionsSnapshot, applyStoredTheme, applyThreadFrame, applyThreadTranscriptFrame, applyWorkspaceRemoved, applyWorkspaceUpsert, applyWorkspacesSnapshot, approveDevice, approvePairing, asWorkspace, assertionFor, attachComposerCapture, attachComposerContext, attachmentPrompt, availableThemes, beginSessionReplay, beginSessionTransfer, bindBundledNativeTemplates, bindBundledWebTemplates, bindDashboardTranscriptWatcher, bindFileLinkModes, bindHistoryReader, bindHostTransport, bindSessionActivityRenderer, bindSessionFileLinkModes, bindSessionProtocol, bindSessionTranscriptRenderer, bindSessionWebWorkspace, bindThreadReader, bindThreadRenderer, bindTransport, bindWebPluginCompositions, browserNotificationPermission, browserReadyDuration, buildRailWorkspaces, builtinCommandFrame, canSaveSettings, cancelDialog, cancelLogin, claimDialogMenu, clearComposerState, clearDialog, clearPendingMenu, clearQueueCommand, clearQueuedEntries, clearQueuedMessages, closeNewSession, closePalette, closeRemoteDialog, closeResumeDialog, closeTransientTab, collectNativeTemplates, collectWebTemplates, commandCompletions, compactCommand, completeSessionTransfer, composerStore, composerSubmissionStore, configuredTemplate, contextGroups, createDashboardTransport, createDevProxyTarget, createPagedTranscript, createPlainSession, createProtocolHubSocket, createProtocolLink, createSession, createSessionMcpClient, createToolCompletionTabs, createWebPluginRegistry, createWorkspaceSession, dashboardRouteFrom, dashboardStateFor, deleteDevProxyTarget, deleteQueuedMessage, deleteSessionGroup, deliverBrowserNotification, denyDevice, denyPairing, devProxyStore, dialogCancelled, dialogConfirmed, dialogDraftStore, dialogValue, disableLivePush, disableRemoteAccess, discardSettingsDraft, disconnectCaptures, dispatchChannelFrame, dispatchHeldSessionChannel, disposeModelContextAdapter, dockTabFor, dropComposerState, dropPluginSessionData, dropSessionStore, dropThreads, dropTransientTabs, emptySelection, enableLivePush, enableRemoteAccess, endSessionReplay, enqueueAutomaticCommand, ensureTemplateConfiguration, fetchContextItemDetail, fetchDevProxyTargets, fetchRemoteState, fetchWithStepUp, fileCompletions, fileLinkFor, fileLinkMentions, fileTabForPath, findTransientTab, flushBrowserTelemetry, flushUiTrace, focusPrompt, focusWorkspaceWebPlugins, followUpCommand, getAvailableModelsCommand, getAvailableThinkingLevelsCommand, getCommandsCommand, getSessionStatsCommand, getStateCommand, globalSlotFills, groupSummary, groupTone, hasSessionProtocol, heldSessionChannels, heldThreads, holdSessionChannels, imagesFromContent, inactiveTotal, initialSessionState, inlineTextBytes, installBrowserErrorReporting, installGlobalWebPlugins, installSessionWebPlugins, installWebPlugins, installWorkspaceWebPlugins, installedWebPlugins, invokeServerMethod, isDesktopClient, isSessionMcpActivity, isSupportedImageMimeType, leaderConflicts, leaderGroup, listDirectory, listPoFolders, listProviders, listSessionHistory, listSessionMcpClients, listSessions, listSettingsModels, listSettingsRepositories, listWorkspaceHistory, listWorkspaces, livePushStatus, loadModelChoices, loadSessionAsset, loadSessionAvatar, loadSettingsDraft, localHostId, logoutProvider, markSocketClosed, markToolPromptFailed, markUpdateRequired, mediaKindFor, menuStore, mergeScopedPlugins, minorModes, mintPairingCode, nativeTemplateCatalog, newPairingCode, newSessionDraftStore, newSessionStore, noSessions, noteRender, noteStoreUpdate, notifyHubConnected, onCaptureStatus, onComposerSubmitted, onHubConnected, onSealedSignInRequired, openNewSession, openPalette, openRemoteDialog, openResumeDialog, openTransientTab, ownerLabel, ownersOf, paletteCommands, paletteStore, parseFileMentions, parseHostKey, parseSelection, passkeysAvailable, pendingCaptureSessions, pendingMenuFor, pendingSetupView, personaInitials, plannedSettingsWrites, pluginActivityGroups, pluginContextActions, pluginDockFaces, pluginFileLinks, pluginHomeContributions, pluginLeaderBindings, pluginMinorModes, pluginRepositorySettingsPanels, pluginSelectionAxes, pluginSessionContext, pluginSettingsPanels, pluginSettingsSections, pluginSlotProps, pluginToolRenderer, pluginUserMessageActions, pluginsAtScope, prependHistory, projectedGroups, promoteQueuedCommand, promoteQueuedMessage, promptCommand, protocolSocketUrl, publishComposerSubmission, qrMatrix, qualifyHostId, qualifyHostKey, queueFollowUp, queueFollowUpWithAck, railDialogStore, railRestartStore, readDormantTranscriptPage, readImageSettings, readLogin, readRepositorySettings, readSessionMcpActivity, readSessionMcpConfig, readSettingsConfig, recordBrowserError, recordBrowserPerformance, recordBrowserUiTrace, reduceSession, refreshDevProxyTargets, refreshPasskeys, refreshRemoteState, refreshSessionFacts, refreshSessionSelection, refreshSessionStats, refreshTemplateConfiguration, refreshWebPluginCompositions, registerPasskey, registerPromptInput, releaseDialogMenu, releaseProtocolTranscript, releaseSessionActivityRenderer, releaseSessionTranscriptRenderer, releaseThreadRenderer, releaseTransport, reloadWebTemplateDecision, rememberHostChannelKey, rememberedHostChannelKey, remoteAccessStore, removeDevProxyTarget, removeHostWebPlugins, removeQueuedCommand, removeQueuedEntry, removeSessionMcpSetup, removeSessionWebPlugins, removeWorkspace, removeWorkspaceWebPlugins, renameSession, renameSessionGroup, renderSessionActivity, renderSessionTranscript, renderThread, replaceQueuedEntries, requestBrowserNotificationPermission, requestLatestHistory, requestNewerHistory, requestOlderHistory, requestSessionProtocolFrame, resetComposerStore, resetDevProxyStore, resetMenuStore, resetNewSessionStore, resetRailDialogStore, resetSealedSessions, resetSessionStore, resetSessionStores, resetSessions, resetThreads, resetToolPromptStore, resetTransientTabs, resetWebPlugins, resetWorkspaceAdmission, resetWorkspaces, resolveNativeTemplate, resolveParentId, resolveWebTemplate, restartDashboardSession, restartSession, restoreComposerDrafts, restoreLivePushRegistration, restoreSealedSession, resubscribeThreads, resumeDashboardSession, resumeDraftStore, resumeQueueCommand, resumeQueuedMessages, resumeSession, resumeWorkspaceSession, retryWebPluginCompositions, reviveSession, revokeDevice, revokePairedDevice, revokeSessionMcpClient, revokeTrustedDevice, revokeTrustedNativeDevice, rewindCommand, rewindToMessage, runCommand, runningCount, sameRailEntries, sameRailEntry, saveComposerDrafts, saveRemoteSettings, saveSettingsDraft, saveTemplateDefault, sealedHttpSession, sealedProtocolSession, sealedSession, searchDirectories, searchSessionFiles, seedHistoryCursor, selectFastMode, selectModel, selectTheme, selectThinkingLevel, selectWorkspace, selectionAxes, selectionStatuses, sendFrame, sendFrameWithAck, sendHubFrame, sendSessionProtocolFrame, sessionMinorModes, sessionStatusClock, sessionStatusLine, sessionStoreFor, sessionToolRenderer, sessionWebPluginsInstalled, sessionsStore, setActiveSession, setAgentLock, setDockOpen, setDockTab, setHasNewerHistory, setModelCommand, setNewSessionName, setPalettePath, setPendingMenu, setSessionGroups, setSessionNameCommand, setSessionStreamed, setSettingsDraft, setThinkingLevelCommand, setTransientTabSession, setUiTraceSink, setWebPluginLoadDiagnostics, setWorkspaceSandbox, settingsDraftKey, settingsDraftStore, settingsKeyOf, settingsLockedReason, settingsSection, settingsSections, showRemoteOptions, signInWithPasskey, slotFills, splitHostId, startLogin, startPluginDefinitions, startWebPlugins, steerCommand, stopSession, streamedSessions, stripAnsi, submitCapture, submitComposerDraft, submitMessage, submitMessageWithAck, subscribeActivitySources, subscribeThread, subscribeWebPluginRegistry, summariseArgs, tabComposerContext, templateStore, textFromContent, themeStore, threadStoreKey, timelineUnits, toQueuedEntries, toTimelineEntries, togglePalette, toolMessageProps, toolPromptClaim, toolPromptStore, totalTokens, traceProfilerRender, traceStore, transientTabsOf, transientTabsStore, transportForHost, triggerTokenAt, turnRemoteAccessOff, turnRemoteAccessOn, uiStore, unsubscribeThread, updateComposerState, updateDialogDraft, updateRemoteSettings, updateResumeDraft, updateWorkspaceAdmission, uploadSessionAttachment, useActiveSession, useActiveSessionMeta, useActivityGroups, useComposerState, useDashboardRoute, useDashboardState, useDialogDraft, useDockFaceBadges, useDockFaces, useFileLinks, useHasOlderHistory, useNoSessions, useOpenTab, usePluginSlotProps, useRailEntries, useRailEntry, useRenderTrace, useSessionMcp, useTemplateConfiguration, useToolPrompt, useTransientTabs, useWebPluginRegistry, validateComposerCapture, waitForSession, watchDashboardTranscript, watchHubThread, webPluginCompositionStore, webPluginDiagnostics, webPluginMountState, webPluginRegistryForHost, webPluginRegistryRevision, webPluginsInstalled, webTabs, webTemplateCatalog, workspaceAdmissionStore, workspaceName, workspaceSlotFills, workspacesStore, writeImageSettings, writeRepositorySelection, writeSettingsValue };
package/dist/index.mjs CHANGED
@@ -3,7 +3,7 @@ import { STEP_UP_HEADER_NAME, assertionFor, passkeysAvailable, registerPasskey,
3
3
  import { fetchWithStepUp } from "./web/lib/stepUp.mjs";
4
4
  import { answerLogin, cancelLogin, listProviders, logoutProvider, readLogin, startLogin } from "./web/lib/authApi.mjs";
5
5
  import { browserNotificationPermission, deliverBrowserNotification, requestBrowserNotificationPermission } from "./web/lib/browserNotifications.mjs";
6
- import { browserReadyDuration, flushBrowserTelemetry, installBrowserErrorReporting, recordBrowserError, recordBrowserPerformance } from "./web/lib/browserTelemetry.mjs";
6
+ import { browserReadyDuration, flushBrowserTelemetry, installBrowserErrorReporting, recordBrowserError, recordBrowserPerformance, recordBrowserUiTrace } from "./web/lib/browserTelemetry.mjs";
7
7
  import { BUILTIN_COMMANDS, abortCommand, builtinCommandFrame, clearQueueCommand, compactCommand, dialogCancelled, dialogConfirmed, dialogValue, enqueueAutomaticCommand, followUpCommand, getAvailableModelsCommand, getAvailableThinkingLevelsCommand, getCommandsCommand, getSessionStatsCommand, getStateCommand, promoteQueuedCommand, promptCommand, removeQueuedCommand, resumeQueueCommand, rewindCommand, setModelCommand, setSessionNameCommand, setThinkingLevelCommand, steerCommand } from "./web/lib/commands.mjs";
8
8
  import { MAX_COMPLETION_ITEMS, TRIGGER_CHARS, commandCompletions, fileCompletions, triggerTokenAt } from "./web/lib/composerCompletion.mjs";
9
9
  import { onComposerSubmitted, publishComposerSubmission } from "./web/lib/composerSubmissions.mjs";
@@ -11,6 +11,7 @@ import { localHostId, parseHostKey, qualifyHostId, qualifyHostKey, splitHostId }
11
11
  import { leaderConflicts, leaderGroup } from "./web/lib/leaderTree.mjs";
12
12
  import { mergeScopedPlugins, pluginsAtScope } from "./web/lib/pluginScopes.mjs";
13
13
  import { bindBundledNativeTemplates, bindBundledWebTemplates, collectNativeTemplates, collectWebTemplates, resolveNativeTemplate, resolveWebTemplate } from "./web/lib/templateCatalog.mjs";
14
+ import { flushUiTrace, noteRender, noteStoreUpdate, setUiTraceSink, traceProfilerRender, traceStore, useRenderTrace } from "./web/lib/uiTrace.mjs";
14
15
  import { HOST_SLOTS, activateWebPluginHost, activateWebPluginSession, activateWebPluginWorkspace, activityGroupSlot, bindSessionWebWorkspace, createWebPluginRegistry, dispatchChannelFrame, dropPluginSessionData, globalSlotFills, installGlobalWebPlugins, installSessionWebPlugins, installWebPlugins, installWorkspaceWebPlugins, installedWebPlugins, isDesktopClient, nativeTemplateCatalog, paletteCommands, pluginActivityGroups, pluginContextActions, pluginDockFaces, pluginFileLinks, pluginHomeContributions, pluginLeaderBindings, pluginMinorModes, pluginRepositorySettingsPanels, pluginSelectionAxes, pluginSettingsPanels, pluginSettingsSections, pluginToolRenderer, pluginUserMessageActions, removeHostWebPlugins, removeSessionWebPlugins, removeWorkspaceWebPlugins, resetWebPlugins, sessionToolRenderer, sessionWebPluginsInstalled, setWebPluginLoadDiagnostics, slotFills, startPluginDefinitions, startWebPlugins, subscribeWebPluginRegistry, webPluginDiagnostics, webPluginRegistryForHost, webPluginRegistryRevision, webPluginsInstalled, webTabs, webTemplateCatalog, workspaceSlotFills } from "./web/lib/pluginRegistry.mjs";
15
16
  import { ansiSegments, emptySelection, parseSelection, stripAnsi } from "./web/lib/statusLine.mjs";
16
17
  import { PACKAGED_MINOR_MODES, PACKAGED_SELECTION_AXES, activityGroups, bindFileLinkModes, fileLinkFor, fileLinkMentions, fileTabForPath, minorModes, selectionAxes, subscribeActivitySources, useActivityGroups, useDockFaceBadges, useDockFaces, useFileLinks } from "./web/lib/composition.mjs";
@@ -40,7 +41,7 @@ import { approvePairing, denyPairing, disableRemoteAccess, enableRemoteAccess, f
40
41
  import { loadSessionAsset, uploadSessionAttachment } from "./web/lib/sessionAsset.mjs";
41
42
  import { loadSessionAvatar } from "./web/lib/sessionAvatar.mjs";
42
43
  import { createSessionMcpClient, isSessionMcpActivity, listSessionMcpClients, readSessionMcpActivity, readSessionMcpConfig, removeSessionMcpSetup, revokeSessionMcpClient } from "./web/lib/sessionMcpApi.mjs";
43
- import { abbreviateCwd, formatRunDuration, personaInitials, runningCount, sessionStatusLine } from "./web/lib/sessionSummary.mjs";
44
+ import { abbreviateCwd, personaInitials, runningCount, sessionStatusClock, sessionStatusLine } from "./web/lib/sessionSummary.mjs";
44
45
  import { LEGACY_WORKSPACE_ID, buildRailWorkspaces, pendingSetupView, workspaceName } from "./web/lib/sessionRailModel.mjs";
45
46
  import { listSettingsModels, listSettingsRepositories, readImageSettings, readRepositorySettings, readSettingsConfig, writeImageSettings, writeRepositorySelection, writeSettingsValue } from "./web/lib/settingsApi.mjs";
46
47
  import { canSaveSettings, plannedSettingsWrites, settingsKeyOf, settingsLockedReason } from "./web/lib/settingsDraft.mjs";
@@ -51,7 +52,7 @@ import { toolMessageProps } from "./web/lib/toolMessageProps.mjs";
51
52
  import { toolPromptClaim } from "./web/lib/toolPrompt.mjs";
52
53
  import { useSessionMcp } from "./web/lib/useSessionMcp.mjs";
53
54
  import { MAX_COMPOSER_IMAGE_BYTES, MAX_COMPOSER_TEXT_BYTES, validateComposerCapture } from "./web/lib/composerCapture.mjs";
54
- import { UPDATE_REQUIRED_REASON, activeSessionId, applySessionBacklog, applySessionRemoved, applySessionUpsert, applySessionsSnapshot, beginSessionTransfer, completeSessionTransfer, markSocketClosed, markUpdateRequired, noSessions, resetSessions, resolveParentId, sessionsStore, setActiveSession, useActiveSessionMeta, useNoSessions, waitForSession } from "./web/stores/sessionsStore.mjs";
55
+ import { UPDATE_REQUIRED_REASON, activeSessionId, applySessionBacklog, applySessionRemoved, applySessionUpsert, applySessionsSnapshot, beginSessionTransfer, completeSessionTransfer, markSocketClosed, markUpdateRequired, noSessions, resetSessions, resolveParentId, sameRailEntries, sameRailEntry, sessionsStore, setActiveSession, useActiveSessionMeta, useNoSessions, useRailEntries, useRailEntry, waitForSession } from "./web/stores/sessionsStore.mjs";
55
56
  import { abortRun, answerDialogConfirm, answerDialogValue, applyHistoryPage, applyProtocolQueue, applyProtocolTranscript, applySessionFrame, applySessionLifecycle, applyThreadFrame, beginSessionReplay, bindHistoryReader, cancelDialog, clearQueuedMessages, deleteQueuedMessage, dropSessionStore, endSessionReplay, loadModelChoices, promoteQueuedMessage, queueFollowUp, queueFollowUpWithAck, refreshSessionFacts, refreshSessionSelection, refreshSessionStats, releaseProtocolTranscript, renameSession, requestLatestHistory, requestNewerHistory, requestOlderHistory, resetSessionStore, resetSessionStores, resumeQueuedMessages, rewindToMessage, runCommand, seedHistoryCursor, selectFastMode, selectModel, selectThinkingLevel, sessionStoreFor, setAgentLock, setHasNewerHistory, setSessionStreamed, streamedSessions, submitMessage, submitMessageWithAck, useActiveSession, useHasOlderHistory } from "./web/stores/sessionStore.mjs";
56
57
  import { applyCaptureFrame, disconnectCaptures, onCaptureStatus, pendingCaptureSessions, submitCapture } from "./web/stores/captureStore.mjs";
57
58
  import { MAX_COMPOSER_ATTACHMENTS, MAX_COMPOSER_TOTAL_IMAGE_BYTES, MAX_COMPOSER_TOTAL_TEXT_BYTES, MAX_COMPOSER_UPLOAD_BYTES, appendComposerDraft, appendComposerQuote, attachComposerCapture, attachComposerContext, clearComposerState, composerStore, dropComposerState, inlineTextBytes, resetComposerStore, restoreComposerDrafts, saveComposerDrafts, tabComposerContext, updateComposerState, useComposerState } from "./web/stores/composerStore.mjs";
@@ -81,4 +82,4 @@ import { admitDashboardWorkspace, resetWorkspaceAdmission, updateWorkspaceAdmiss
81
82
  import { dialogDraftStore, updateDialogDraft, useDialogDraft } from "./web/stores/dialogDraftStore.mjs";
82
83
  import { EMPTY_SETTINGS_DRAFT, discardSettingsDraft, loadSettingsDraft, saveSettingsDraft, setSettingsDraft, settingsDraftKey, settingsDraftStore } from "./web/stores/settingsDraftStore.mjs";
83
84
  import { dashboardStateFor, useDashboardState } from "./web/stores/dashboardStateStore.mjs";
84
- export { BUILTIN_COMMANDS, DEFAULT_REPOSITORY_SETTINGS_SECTION, DEFAULT_SETTINGS_SECTION, DashboardRendererProvider, EMPTY_NEW_SESSION_DRAFT, EMPTY_SETTINGS_DRAFT, HOST_SLOTS, LEGACY_WORKSPACE_ID, MAX_COMPLETION_ITEMS, MAX_COMPOSER_ATTACHMENTS, MAX_COMPOSER_IMAGE_BYTES, MAX_COMPOSER_TEXT_BYTES, MAX_COMPOSER_TOTAL_IMAGE_BYTES, MAX_COMPOSER_TOTAL_TEXT_BYTES, MAX_COMPOSER_UPLOAD_BYTES, PACKAGED_MINOR_MODES, PACKAGED_SELECTION_AXES, STEP_UP_HEADER_NAME, TRIGGER_CHARS, UPDATE_REQUIRED_REASON, abbreviateCwd, abortCommand, abortRun, acquireModelContext, activateWebPluginHost, activateWebPluginSession, activateWebPluginWorkspace, activeSessionId, activityGroupSlot, activityGroups, addDevProxyTarget, addPasskey, admitDashboardWorkspace, admitWorkspace, ansiSegments, answerDialogConfirm, answerDialogValue, answerLogin, appendComposerDraft, appendComposerQuote, appendQueued, appendUserPrompt, applyCaptureFrame, applyHistoryPage, applyProtocolQueue, applyProtocolTranscript, applySelectionAnswer, applySessionBacklog, applySessionFrame, applySessionLifecycle, applySessionRemoved, applySessionUpsert, applySessionsSnapshot, applyStoredTheme, applyThreadFrame, applyThreadTranscriptFrame, applyWorkspaceRemoved, applyWorkspaceUpsert, applyWorkspacesSnapshot, approveDevice, approvePairing, asWorkspace, assertionFor, attachComposerCapture, attachComposerContext, attachmentPrompt, availableThemes, beginSessionReplay, beginSessionTransfer, bindBundledNativeTemplates, bindBundledWebTemplates, bindDashboardTranscriptWatcher, bindFileLinkModes, bindHistoryReader, bindHostTransport, bindSessionActivityRenderer, bindSessionFileLinkModes, bindSessionProtocol, bindSessionTranscriptRenderer, bindSessionWebWorkspace, bindThreadReader, bindThreadRenderer, bindTransport, bindWebPluginCompositions, browserNotificationPermission, browserReadyDuration, buildRailWorkspaces, builtinCommandFrame, canSaveSettings, cancelDialog, cancelLogin, claimDialogMenu, clearComposerState, clearDialog, clearPendingMenu, clearQueueCommand, clearQueuedEntries, clearQueuedMessages, closeNewSession, closePalette, closeRemoteDialog, closeResumeDialog, closeTransientTab, collectNativeTemplates, collectWebTemplates, commandCompletions, compactCommand, completeSessionTransfer, composerStore, composerSubmissionStore, configuredTemplate, contextGroups, createDashboardTransport, createDevProxyTarget, createPagedTranscript, createPlainSession, createProtocolHubSocket, createProtocolLink, createSession, createSessionMcpClient, createToolCompletionTabs, createWebPluginRegistry, createWorkspaceSession, dashboardRouteFrom, dashboardStateFor, deleteDevProxyTarget, deleteQueuedMessage, deleteSessionGroup, deliverBrowserNotification, denyDevice, denyPairing, devProxyStore, dialogCancelled, dialogConfirmed, dialogDraftStore, dialogValue, disableLivePush, disableRemoteAccess, discardSettingsDraft, disconnectCaptures, dispatchChannelFrame, dispatchHeldSessionChannel, disposeModelContextAdapter, dockTabFor, dropComposerState, dropPluginSessionData, dropSessionStore, dropThreads, dropTransientTabs, emptySelection, enableLivePush, enableRemoteAccess, endSessionReplay, enqueueAutomaticCommand, ensureTemplateConfiguration, fetchContextItemDetail, fetchDevProxyTargets, fetchRemoteState, fetchWithStepUp, fileCompletions, fileLinkFor, fileLinkMentions, fileTabForPath, findTransientTab, flushBrowserTelemetry, focusPrompt, focusWorkspaceWebPlugins, followUpCommand, formatRunDuration, getAvailableModelsCommand, getAvailableThinkingLevelsCommand, getCommandsCommand, getSessionStatsCommand, getStateCommand, globalSlotFills, groupSummary, groupTone, hasSessionProtocol, heldSessionChannels, heldThreads, holdSessionChannels, imagesFromContent, inactiveTotal, initialSessionState, inlineTextBytes, installBrowserErrorReporting, installGlobalWebPlugins, installSessionWebPlugins, installWebPlugins, installWorkspaceWebPlugins, installedWebPlugins, invokeServerMethod, isDesktopClient, isSessionMcpActivity, isSupportedImageMimeType, leaderConflicts, leaderGroup, listDirectory, listPoFolders, listProviders, listSessionHistory, listSessionMcpClients, listSessions, listSettingsModels, listSettingsRepositories, listWorkspaceHistory, listWorkspaces, livePushStatus, loadModelChoices, loadSessionAsset, loadSessionAvatar, loadSettingsDraft, localHostId, logoutProvider, markSocketClosed, markToolPromptFailed, markUpdateRequired, mediaKindFor, menuStore, mergeScopedPlugins, minorModes, mintPairingCode, nativeTemplateCatalog, newPairingCode, newSessionDraftStore, newSessionStore, noSessions, notifyHubConnected, onCaptureStatus, onComposerSubmitted, onHubConnected, onSealedSignInRequired, openNewSession, openPalette, openRemoteDialog, openResumeDialog, openTransientTab, ownerLabel, ownersOf, paletteCommands, paletteStore, parseFileMentions, parseHostKey, parseSelection, passkeysAvailable, pendingCaptureSessions, pendingMenuFor, pendingSetupView, personaInitials, plannedSettingsWrites, pluginActivityGroups, pluginContextActions, pluginDockFaces, pluginFileLinks, pluginHomeContributions, pluginLeaderBindings, pluginMinorModes, pluginRepositorySettingsPanels, pluginSelectionAxes, pluginSessionContext, pluginSettingsPanels, pluginSettingsSections, pluginSlotProps, pluginToolRenderer, pluginUserMessageActions, pluginsAtScope, prependHistory, projectedGroups, promoteQueuedCommand, promoteQueuedMessage, promptCommand, protocolSocketUrl, publishComposerSubmission, qrMatrix, qualifyHostId, qualifyHostKey, queueFollowUp, queueFollowUpWithAck, railDialogStore, railRestartStore, readDormantTranscriptPage, readImageSettings, readLogin, readRepositorySettings, readSessionMcpActivity, readSessionMcpConfig, readSettingsConfig, recordBrowserError, recordBrowserPerformance, reduceSession, refreshDevProxyTargets, refreshPasskeys, refreshRemoteState, refreshSessionFacts, refreshSessionSelection, refreshSessionStats, refreshTemplateConfiguration, refreshWebPluginCompositions, registerPasskey, registerPromptInput, releaseDialogMenu, releaseProtocolTranscript, releaseSessionActivityRenderer, releaseSessionTranscriptRenderer, releaseThreadRenderer, releaseTransport, reloadWebTemplateDecision, rememberHostChannelKey, rememberedHostChannelKey, remoteAccessStore, removeDevProxyTarget, removeHostWebPlugins, removeQueuedCommand, removeQueuedEntry, removeSessionMcpSetup, removeSessionWebPlugins, removeWorkspace, removeWorkspaceWebPlugins, renameSession, renameSessionGroup, renderSessionActivity, renderSessionTranscript, renderThread, replaceQueuedEntries, requestBrowserNotificationPermission, requestLatestHistory, requestNewerHistory, requestOlderHistory, requestSessionProtocolFrame, resetComposerStore, resetDevProxyStore, resetMenuStore, resetNewSessionStore, resetRailDialogStore, resetSealedSessions, resetSessionStore, resetSessionStores, resetSessions, resetThreads, resetToolPromptStore, resetTransientTabs, resetWebPlugins, resetWorkspaceAdmission, resetWorkspaces, resolveNativeTemplate, resolveParentId, resolveWebTemplate, restartDashboardSession, restartSession, restoreComposerDrafts, restoreLivePushRegistration, restoreSealedSession, resubscribeThreads, resumeDashboardSession, resumeDraftStore, resumeQueueCommand, resumeQueuedMessages, resumeSession, resumeWorkspaceSession, retryWebPluginCompositions, reviveSession, revokeDevice, revokePairedDevice, revokeSessionMcpClient, revokeTrustedDevice, revokeTrustedNativeDevice, rewindCommand, rewindToMessage, runCommand, runningCount, saveComposerDrafts, saveRemoteSettings, saveSettingsDraft, saveTemplateDefault, sealedHttpSession, sealedProtocolSession, sealedSession, searchDirectories, searchSessionFiles, seedHistoryCursor, selectFastMode, selectModel, selectTheme, selectThinkingLevel, selectWorkspace, selectionAxes, selectionStatuses, sendFrame, sendFrameWithAck, sendHubFrame, sendSessionProtocolFrame, sessionMinorModes, sessionStatusLine, sessionStoreFor, sessionToolRenderer, sessionWebPluginsInstalled, sessionsStore, setActiveSession, setAgentLock, setDockOpen, setDockTab, setHasNewerHistory, setModelCommand, setNewSessionName, setPalettePath, setPendingMenu, setSessionGroups, setSessionNameCommand, setSessionStreamed, setSettingsDraft, setThinkingLevelCommand, setTransientTabSession, setWebPluginLoadDiagnostics, setWorkspaceSandbox, settingsDraftKey, settingsDraftStore, settingsKeyOf, settingsLockedReason, settingsSection, settingsSections, showRemoteOptions, signInWithPasskey, slotFills, splitHostId, startLogin, startPluginDefinitions, startWebPlugins, steerCommand, stopSession, streamedSessions, stripAnsi, submitCapture, submitComposerDraft, submitMessage, submitMessageWithAck, subscribeActivitySources, subscribeThread, subscribeWebPluginRegistry, summariseArgs, tabComposerContext, templateStore, textFromContent, themeStore, threadStoreKey, timelineUnits, toQueuedEntries, toTimelineEntries, togglePalette, toolMessageProps, toolPromptClaim, toolPromptStore, totalTokens, transientTabsOf, transientTabsStore, transportForHost, triggerTokenAt, turnRemoteAccessOff, turnRemoteAccessOn, uiStore, unsubscribeThread, updateComposerState, updateDialogDraft, updateRemoteSettings, updateResumeDraft, updateWorkspaceAdmission, uploadSessionAttachment, useActiveSession, useActiveSessionMeta, useActivityGroups, useComposerState, useDashboardRoute, useDashboardState, useDialogDraft, useDockFaceBadges, useDockFaces, useFileLinks, useHasOlderHistory, useNoSessions, useOpenTab, usePluginSlotProps, useSessionMcp, useTemplateConfiguration, useToolPrompt, useTransientTabs, useWebPluginRegistry, validateComposerCapture, waitForSession, watchDashboardTranscript, watchHubThread, webPluginCompositionStore, webPluginDiagnostics, webPluginMountState, webPluginRegistryForHost, webPluginRegistryRevision, webPluginsInstalled, webTabs, webTemplateCatalog, workspaceAdmissionStore, workspaceName, workspaceSlotFills, workspacesStore, writeImageSettings, writeRepositorySelection, writeSettingsValue };
85
+ export { BUILTIN_COMMANDS, DEFAULT_REPOSITORY_SETTINGS_SECTION, DEFAULT_SETTINGS_SECTION, DashboardRendererProvider, EMPTY_NEW_SESSION_DRAFT, EMPTY_SETTINGS_DRAFT, HOST_SLOTS, LEGACY_WORKSPACE_ID, MAX_COMPLETION_ITEMS, MAX_COMPOSER_ATTACHMENTS, MAX_COMPOSER_IMAGE_BYTES, MAX_COMPOSER_TEXT_BYTES, MAX_COMPOSER_TOTAL_IMAGE_BYTES, MAX_COMPOSER_TOTAL_TEXT_BYTES, MAX_COMPOSER_UPLOAD_BYTES, PACKAGED_MINOR_MODES, PACKAGED_SELECTION_AXES, STEP_UP_HEADER_NAME, TRIGGER_CHARS, UPDATE_REQUIRED_REASON, abbreviateCwd, abortCommand, abortRun, acquireModelContext, activateWebPluginHost, activateWebPluginSession, activateWebPluginWorkspace, activeSessionId, activityGroupSlot, activityGroups, addDevProxyTarget, addPasskey, admitDashboardWorkspace, admitWorkspace, ansiSegments, answerDialogConfirm, answerDialogValue, answerLogin, appendComposerDraft, appendComposerQuote, appendQueued, appendUserPrompt, applyCaptureFrame, applyHistoryPage, applyProtocolQueue, applyProtocolTranscript, applySelectionAnswer, applySessionBacklog, applySessionFrame, applySessionLifecycle, applySessionRemoved, applySessionUpsert, applySessionsSnapshot, applyStoredTheme, applyThreadFrame, applyThreadTranscriptFrame, applyWorkspaceRemoved, applyWorkspaceUpsert, applyWorkspacesSnapshot, approveDevice, approvePairing, asWorkspace, assertionFor, attachComposerCapture, attachComposerContext, attachmentPrompt, availableThemes, beginSessionReplay, beginSessionTransfer, bindBundledNativeTemplates, bindBundledWebTemplates, bindDashboardTranscriptWatcher, bindFileLinkModes, bindHistoryReader, bindHostTransport, bindSessionActivityRenderer, bindSessionFileLinkModes, bindSessionProtocol, bindSessionTranscriptRenderer, bindSessionWebWorkspace, bindThreadReader, bindThreadRenderer, bindTransport, bindWebPluginCompositions, browserNotificationPermission, browserReadyDuration, buildRailWorkspaces, builtinCommandFrame, canSaveSettings, cancelDialog, cancelLogin, claimDialogMenu, clearComposerState, clearDialog, clearPendingMenu, clearQueueCommand, clearQueuedEntries, clearQueuedMessages, closeNewSession, closePalette, closeRemoteDialog, closeResumeDialog, closeTransientTab, collectNativeTemplates, collectWebTemplates, commandCompletions, compactCommand, completeSessionTransfer, composerStore, composerSubmissionStore, configuredTemplate, contextGroups, createDashboardTransport, createDevProxyTarget, createPagedTranscript, createPlainSession, createProtocolHubSocket, createProtocolLink, createSession, createSessionMcpClient, createToolCompletionTabs, createWebPluginRegistry, createWorkspaceSession, dashboardRouteFrom, dashboardStateFor, deleteDevProxyTarget, deleteQueuedMessage, deleteSessionGroup, deliverBrowserNotification, denyDevice, denyPairing, devProxyStore, dialogCancelled, dialogConfirmed, dialogDraftStore, dialogValue, disableLivePush, disableRemoteAccess, discardSettingsDraft, disconnectCaptures, dispatchChannelFrame, dispatchHeldSessionChannel, disposeModelContextAdapter, dockTabFor, dropComposerState, dropPluginSessionData, dropSessionStore, dropThreads, dropTransientTabs, emptySelection, enableLivePush, enableRemoteAccess, endSessionReplay, enqueueAutomaticCommand, ensureTemplateConfiguration, fetchContextItemDetail, fetchDevProxyTargets, fetchRemoteState, fetchWithStepUp, fileCompletions, fileLinkFor, fileLinkMentions, fileTabForPath, findTransientTab, flushBrowserTelemetry, flushUiTrace, focusPrompt, focusWorkspaceWebPlugins, followUpCommand, getAvailableModelsCommand, getAvailableThinkingLevelsCommand, getCommandsCommand, getSessionStatsCommand, getStateCommand, globalSlotFills, groupSummary, groupTone, hasSessionProtocol, heldSessionChannels, heldThreads, holdSessionChannels, imagesFromContent, inactiveTotal, initialSessionState, inlineTextBytes, installBrowserErrorReporting, installGlobalWebPlugins, installSessionWebPlugins, installWebPlugins, installWorkspaceWebPlugins, installedWebPlugins, invokeServerMethod, isDesktopClient, isSessionMcpActivity, isSupportedImageMimeType, leaderConflicts, leaderGroup, listDirectory, listPoFolders, listProviders, listSessionHistory, listSessionMcpClients, listSessions, listSettingsModels, listSettingsRepositories, listWorkspaceHistory, listWorkspaces, livePushStatus, loadModelChoices, loadSessionAsset, loadSessionAvatar, loadSettingsDraft, localHostId, logoutProvider, markSocketClosed, markToolPromptFailed, markUpdateRequired, mediaKindFor, menuStore, mergeScopedPlugins, minorModes, mintPairingCode, nativeTemplateCatalog, newPairingCode, newSessionDraftStore, newSessionStore, noSessions, noteRender, noteStoreUpdate, notifyHubConnected, onCaptureStatus, onComposerSubmitted, onHubConnected, onSealedSignInRequired, openNewSession, openPalette, openRemoteDialog, openResumeDialog, openTransientTab, ownerLabel, ownersOf, paletteCommands, paletteStore, parseFileMentions, parseHostKey, parseSelection, passkeysAvailable, pendingCaptureSessions, pendingMenuFor, pendingSetupView, personaInitials, plannedSettingsWrites, pluginActivityGroups, pluginContextActions, pluginDockFaces, pluginFileLinks, pluginHomeContributions, pluginLeaderBindings, pluginMinorModes, pluginRepositorySettingsPanels, pluginSelectionAxes, pluginSessionContext, pluginSettingsPanels, pluginSettingsSections, pluginSlotProps, pluginToolRenderer, pluginUserMessageActions, pluginsAtScope, prependHistory, projectedGroups, promoteQueuedCommand, promoteQueuedMessage, promptCommand, protocolSocketUrl, publishComposerSubmission, qrMatrix, qualifyHostId, qualifyHostKey, queueFollowUp, queueFollowUpWithAck, railDialogStore, railRestartStore, readDormantTranscriptPage, readImageSettings, readLogin, readRepositorySettings, readSessionMcpActivity, readSessionMcpConfig, readSettingsConfig, recordBrowserError, recordBrowserPerformance, recordBrowserUiTrace, reduceSession, refreshDevProxyTargets, refreshPasskeys, refreshRemoteState, refreshSessionFacts, refreshSessionSelection, refreshSessionStats, refreshTemplateConfiguration, refreshWebPluginCompositions, registerPasskey, registerPromptInput, releaseDialogMenu, releaseProtocolTranscript, releaseSessionActivityRenderer, releaseSessionTranscriptRenderer, releaseThreadRenderer, releaseTransport, reloadWebTemplateDecision, rememberHostChannelKey, rememberedHostChannelKey, remoteAccessStore, removeDevProxyTarget, removeHostWebPlugins, removeQueuedCommand, removeQueuedEntry, removeSessionMcpSetup, removeSessionWebPlugins, removeWorkspace, removeWorkspaceWebPlugins, renameSession, renameSessionGroup, renderSessionActivity, renderSessionTranscript, renderThread, replaceQueuedEntries, requestBrowserNotificationPermission, requestLatestHistory, requestNewerHistory, requestOlderHistory, requestSessionProtocolFrame, resetComposerStore, resetDevProxyStore, resetMenuStore, resetNewSessionStore, resetRailDialogStore, resetSealedSessions, resetSessionStore, resetSessionStores, resetSessions, resetThreads, resetToolPromptStore, resetTransientTabs, resetWebPlugins, resetWorkspaceAdmission, resetWorkspaces, resolveNativeTemplate, resolveParentId, resolveWebTemplate, restartDashboardSession, restartSession, restoreComposerDrafts, restoreLivePushRegistration, restoreSealedSession, resubscribeThreads, resumeDashboardSession, resumeDraftStore, resumeQueueCommand, resumeQueuedMessages, resumeSession, resumeWorkspaceSession, retryWebPluginCompositions, reviveSession, revokeDevice, revokePairedDevice, revokeSessionMcpClient, revokeTrustedDevice, revokeTrustedNativeDevice, rewindCommand, rewindToMessage, runCommand, runningCount, sameRailEntries, sameRailEntry, saveComposerDrafts, saveRemoteSettings, saveSettingsDraft, saveTemplateDefault, sealedHttpSession, sealedProtocolSession, sealedSession, searchDirectories, searchSessionFiles, seedHistoryCursor, selectFastMode, selectModel, selectTheme, selectThinkingLevel, selectWorkspace, selectionAxes, selectionStatuses, sendFrame, sendFrameWithAck, sendHubFrame, sendSessionProtocolFrame, sessionMinorModes, sessionStatusClock, sessionStatusLine, sessionStoreFor, sessionToolRenderer, sessionWebPluginsInstalled, sessionsStore, setActiveSession, setAgentLock, setDockOpen, setDockTab, setHasNewerHistory, setModelCommand, setNewSessionName, setPalettePath, setPendingMenu, setSessionGroups, setSessionNameCommand, setSessionStreamed, setSettingsDraft, setThinkingLevelCommand, setTransientTabSession, setUiTraceSink, setWebPluginLoadDiagnostics, setWorkspaceSandbox, settingsDraftKey, settingsDraftStore, settingsKeyOf, settingsLockedReason, settingsSection, settingsSections, showRemoteOptions, signInWithPasskey, slotFills, splitHostId, startLogin, startPluginDefinitions, startWebPlugins, steerCommand, stopSession, streamedSessions, stripAnsi, submitCapture, submitComposerDraft, submitMessage, submitMessageWithAck, subscribeActivitySources, subscribeThread, subscribeWebPluginRegistry, summariseArgs, tabComposerContext, templateStore, textFromContent, themeStore, threadStoreKey, timelineUnits, toQueuedEntries, toTimelineEntries, togglePalette, toolMessageProps, toolPromptClaim, toolPromptStore, totalTokens, traceProfilerRender, traceStore, transientTabsOf, transientTabsStore, transportForHost, triggerTokenAt, turnRemoteAccessOff, turnRemoteAccessOn, uiStore, unsubscribeThread, updateComposerState, updateDialogDraft, updateRemoteSettings, updateResumeDraft, updateWorkspaceAdmission, uploadSessionAttachment, useActiveSession, useActiveSessionMeta, useActivityGroups, useComposerState, useDashboardRoute, useDashboardState, useDialogDraft, useDockFaceBadges, useDockFaces, useFileLinks, useHasOlderHistory, useNoSessions, useOpenTab, usePluginSlotProps, useRailEntries, useRailEntry, useRenderTrace, useSessionMcp, useTemplateConfiguration, useToolPrompt, useTransientTabs, useWebPluginRegistry, validateComposerCapture, waitForSession, watchDashboardTranscript, watchHubThread, webPluginCompositionStore, webPluginDiagnostics, webPluginMountState, webPluginRegistryForHost, webPluginRegistryRevision, webPluginsInstalled, webTabs, webTemplateCatalog, workspaceAdmissionStore, workspaceName, workspaceSlotFills, workspacesStore, writeImageSettings, writeRepositorySelection, writeSettingsValue };
@@ -62,7 +62,10 @@ function useAppearingFaces(sessionId, faceIds) {
62
62
  */
63
63
  function ActivityDock({ onClose, onOpenContent, mcp, scope }) {
64
64
  const activeId = (0, _tanstack_react_store.useStore)(require_sessionsStore.sessionsStore, (state) => state.activeId);
65
- const connection = (0, _tanstack_react_store.useStore)(require_sessionsStore.sessionsStore, (state) => state.activeId === null ? void 0 : state.byId[state.activeId]);
65
+ const offlineReason = (0, _tanstack_react_store.useStore)(require_sessionsStore.sessionsStore, (state) => {
66
+ const meta = state.activeId === null ? void 0 : state.byId[state.activeId];
67
+ return meta?.attach === "offline" ? meta.reason || "Reconnecting" : null;
68
+ });
66
69
  const updateRequired = (0, _tanstack_react_store.useStore)(require_sessionsStore.sessionsStore, (state) => state.updateRequired);
67
70
  const statuses = require_sessionStore.useActiveSession((state) => state.statuses);
68
71
  const widgets = require_sessionStore.useActiveSession((state) => state.widgets);
@@ -125,10 +128,10 @@ function ActivityDock({ onClose, onOpenContent, mcp, scope }) {
125
128
  className: "px-1 text-sm text-po-dim",
126
129
  children: scope
127
130
  }),
128
- connection?.attach === "offline" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("output", {
131
+ offlineReason !== null ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("output", {
129
132
  "data-testid": "activity-offline",
130
133
  className: updateRequired ? "block px-1 text-sm text-po-magenta" : "block px-1 text-sm text-po-dim",
131
- children: connection.reason || "Reconnecting"
134
+ children: offlineReason
132
135
  }) : null,
133
136
  compositionState.phase === "error" ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
134
137
  "data-testid": "activity-error",