@opengeni/react 7.0.0 → 7.1.0-canary.35855175602001

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 (81) hide show
  1. package/README.md +34 -0
  2. package/dist/approvals.d.ts +2 -1
  3. package/dist/artifacts.js +17 -17
  4. package/dist/{browser-viewer-LGH4IP47.js → browser-viewer-MN7MOYQT.js} +5 -5
  5. package/dist/{chunk-YS24CFDI.js → chunk-2O2HXRGP.js} +7 -7
  6. package/dist/{chunk-IP4BUBKH.js → chunk-3LL47F4U.js} +28 -17
  7. package/dist/chunk-3LL47F4U.js.map +1 -0
  8. package/dist/{chunk-UXE5SSNN.js → chunk-4ACTWOOW.js} +8 -8
  9. package/dist/{chunk-IYUPN32E.js → chunk-DBPVUGQT.js} +6 -1
  10. package/dist/{chunk-IYUPN32E.js.map → chunk-DBPVUGQT.js.map} +1 -1
  11. package/dist/{chunk-5GAL23FF.js → chunk-IOLPHOF4.js} +2 -5
  12. package/dist/chunk-IOLPHOF4.js.map +1 -0
  13. package/dist/{chunk-JPHDWKZE.js → chunk-PFDNB3U7.js} +15 -10
  14. package/dist/chunk-PFDNB3U7.js.map +1 -0
  15. package/dist/{chunk-D7GAPJ3V.js → chunk-SHRCATV6.js} +67 -34
  16. package/dist/chunk-SHRCATV6.js.map +1 -0
  17. package/dist/{chunk-H5YGYNXS.js → chunk-TV5PP2PE.js} +11 -11
  18. package/dist/chunk-TV5PP2PE.js.map +1 -0
  19. package/dist/{chunk-PNAVEK2U.js → chunk-UQS7BGNQ.js} +12 -12
  20. package/dist/{chunk-JKLGJQO5.js → chunk-VI7HELBI.js} +40 -20
  21. package/dist/chunk-VI7HELBI.js.map +1 -0
  22. package/dist/{chunk-HJ5VJ4JB.js → chunk-WKFFRFJF.js} +73 -15
  23. package/dist/chunk-WKFFRFJF.js.map +1 -0
  24. package/dist/{chunk-D5NOQPLR.js → chunk-ZC2DK5SC.js} +75 -65
  25. package/dist/chunk-ZC2DK5SC.js.map +1 -0
  26. package/dist/components/markdown.d.ts +2 -0
  27. package/dist/components/model-policy-picker.d.ts +17 -1
  28. package/dist/components/session-conversation.d.ts +3 -0
  29. package/dist/composer.d.ts +1 -1
  30. package/dist/composer.js +7 -7
  31. package/dist/{computer-viewer-CTFCJVS7.js → computer-viewer-FX4WOZMX.js} +4 -4
  32. package/dist/connect.js +5 -5
  33. package/dist/hooks/use-session-events.d.ts +6 -1
  34. package/dist/index.d.ts +1 -1
  35. package/dist/index.js +112 -115
  36. package/dist/index.js.map +1 -1
  37. package/dist/interaction.js +5 -5
  38. package/dist/machines.js +2 -2
  39. package/dist/{model-policy-picker-menu-RVOQ4ZZG.js → model-policy-picker-menu-AGXXJZ2B.js} +4 -4
  40. package/dist/model-policy.js +1 -1
  41. package/dist/realtime.js +5 -5
  42. package/dist/session-ui.js +12 -12
  43. package/dist/session.js +3 -3
  44. package/dist/timeline/tool-display-name.d.ts +2 -1
  45. package/dist/timeline/types.d.ts +2 -1
  46. package/package.json +3 -3
  47. package/src/approvals.ts +8 -1
  48. package/src/components/approval-surface.tsx +12 -2
  49. package/src/components/machine-card.tsx +5 -5
  50. package/src/components/machine-dock-bar.tsx +1 -1
  51. package/src/components/machines/machine-detail.tsx +5 -2
  52. package/src/components/markdown.tsx +101 -55
  53. package/src/components/model-policy-picker-menu.tsx +131 -33
  54. package/src/components/model-policy-picker.tsx +61 -12
  55. package/src/components/session-commands-panel.tsx +8 -3
  56. package/src/components/session-conversation.tsx +5 -1
  57. package/src/composer.ts +1 -0
  58. package/src/hooks/use-last-started-turn-policy.ts +3 -7
  59. package/src/hooks/use-session-events.ts +32 -7
  60. package/src/index.ts +1 -0
  61. package/src/model-policy.ts +1 -4
  62. package/src/timeline/projection.ts +4 -0
  63. package/src/timeline/rolling-activity.tsx +4 -2
  64. package/src/timeline/tool-display-name.ts +8 -6
  65. package/src/timeline/tool-renderers.tsx +5 -3
  66. package/src/timeline/types.ts +2 -0
  67. package/styles/compiled.css +15 -0
  68. package/dist/chunk-5GAL23FF.js.map +0 -1
  69. package/dist/chunk-D5NOQPLR.js.map +0 -1
  70. package/dist/chunk-D7GAPJ3V.js.map +0 -1
  71. package/dist/chunk-H5YGYNXS.js.map +0 -1
  72. package/dist/chunk-HJ5VJ4JB.js.map +0 -1
  73. package/dist/chunk-IP4BUBKH.js.map +0 -1
  74. package/dist/chunk-JKLGJQO5.js.map +0 -1
  75. package/dist/chunk-JPHDWKZE.js.map +0 -1
  76. /package/dist/{browser-viewer-LGH4IP47.js.map → browser-viewer-MN7MOYQT.js.map} +0 -0
  77. /package/dist/{chunk-YS24CFDI.js.map → chunk-2O2HXRGP.js.map} +0 -0
  78. /package/dist/{chunk-UXE5SSNN.js.map → chunk-4ACTWOOW.js.map} +0 -0
  79. /package/dist/{chunk-PNAVEK2U.js.map → chunk-UQS7BGNQ.js.map} +0 -0
  80. /package/dist/{computer-viewer-CTFCJVS7.js.map → computer-viewer-FX4WOZMX.js.map} +0 -0
  81. /package/dist/{model-policy-picker-menu-RVOQ4ZZG.js.map → model-policy-picker-menu-AGXXJZ2B.js.map} +0 -0
@@ -19,6 +19,8 @@ export type MarkdownInteractiveBlock = {
19
19
  content: string;
20
20
  };
21
21
  export type MarkdownProps = {
22
+ /** Resolve a retained-file reference to the host's authenticated artifact page. */
23
+ artifactHref?: ((artifactId: string) => string) | undefined;
22
24
  /** Reveals a bounded source excerpt; closing Find retains it until explicit restore. */
23
25
  searchTarget?: TimelineSearchTarget | null | undefined;
24
26
  renderImage?: ((image: {
@@ -2,10 +2,21 @@ import type { ClientModel, LatencyMode, ReasoningEffort } from "@opengeni/sdk";
2
2
  import { type CSSProperties, type ReactNode } from "react";
3
3
  import { type PickerBillingClass, type PickerModelRow } from "../model-policy.js";
4
4
  type ClientPickerModelRow = PickerModelRow<ClientModel>;
5
+ /** Presentation only; never changes model identity, billing or availability. */
6
+ export type ModelPolicyPickerGroupPresentation = Partial<Record<PickerBillingClass, {
7
+ label?: string | undefined;
8
+ /** Omit to preserve the default; null hides the supporting text. */
9
+ description?: string | null | undefined;
10
+ /** Decorative, non-interactive content. Omit for the default; null hides it. */
11
+ icon?: ReactNode | undefined;
12
+ }>>;
5
13
  export type ModelPolicyPickerMessages = {
6
14
  label: string;
7
15
  loading: string;
8
16
  noModels: string;
17
+ connectTitle: string;
18
+ connectBody: string;
19
+ connectAction: string;
9
20
  thinking: string;
10
21
  fast: string;
11
22
  fastRateHint: string;
@@ -22,6 +33,8 @@ export type ModelPolicyPickerMessages = {
22
33
  };
23
34
  export declare const defaultModelPolicyPickerMessages: ModelPolicyPickerMessages;
24
35
  export type ModelPolicyPickerProps = {
36
+ /** Host branding for payment-source groups, shared by menu and trigger. */
37
+ groupPresentation?: ModelPolicyPickerGroupPresentation | undefined;
25
38
  /** Lightweight deployment models. Catalog rows take precedence when supplied. */
26
39
  models?: ClientModel[] | undefined;
27
40
  /** Warn only when the draft actually contains images this model cannot view. */
@@ -47,6 +60,8 @@ export type ModelPolicyPickerProps = {
47
60
  menuSide?: "top" | "bottom" | undefined;
48
61
  /** Hide latency controls on surfaces whose saved policy does not include latency. */
49
62
  allowLatencyMode?: boolean | undefined;
63
+ /** Settings → Models. Shown when the catalog has no model that can run. */
64
+ connectModelsHref?: string | undefined;
50
65
  /** Classes for the portalled menu surface. Prefer --og-* tokens for theming. */
51
66
  contentClassName?: string | undefined;
52
67
  /** Inline styles for the portalled menu, applied after inherited --og-* tokens. */
@@ -59,9 +74,10 @@ export type ModelPolicyPickerProps = {
59
74
  };
60
75
  export declare function BillingClassMark(props: {
61
76
  billingClass: PickerBillingClass;
77
+ presentation?: ModelPolicyPickerGroupPresentation[PickerBillingClass] | undefined;
62
78
  className?: string | undefined;
63
79
  "aria-label"?: string | undefined;
64
- }): import("react").JSX.Element;
80
+ }): import("react").JSX.Element | null;
65
81
  export declare function effectiveRows(props: ModelPolicyPickerProps): ClientPickerModelRow[];
66
82
  export declare function PickerNavRow(props: {
67
83
  label: string;
@@ -2,9 +2,12 @@ import { type CSSProperties } from "react";
2
2
  import { type ClientOverride } from "../session-context.js";
3
3
  import { type ChatComposerProps } from "./chat-composer.js";
4
4
  import { type HumanInputSurfaceProps } from "./human-input-surface.js";
5
+ import { type MessageTimelineProps } from "./message-timeline.js";
5
6
  import type { UserMessageDisclosureLabels } from "./user-message-body.js";
6
7
  export type SessionConversationProps = ClientOverride & {
7
8
  sessionId: string;
9
+ /** Host-owned artifact links, previews and other message presentation. */
10
+ renderMessageText?: MessageTimelineProps["renderMessageText"];
8
11
  /** Localized actions for already-sent user-message disclosure. */
9
12
  userMessageDisclosureLabels?: UserMessageDisclosureLabels | undefined;
10
13
  loadSkillReview?: HumanInputSurfaceProps["loadSkillReview"];
@@ -5,7 +5,7 @@
5
5
  */
6
6
  export { OPEN_WORKSTREAM_CONTROL_EVENT } from "./workstream-control-event.js";
7
7
  export { BillingClassMark, ModelPolicyPicker, PickerAnimatedPage, PickerBackHeader, PickerNavRow, defaultModelPolicyPickerMessages, } from "./components/model-policy-picker.js";
8
- export type { ModelPolicyPickerMessages, ModelPolicyPickerProps, } from "./components/model-policy-picker.js";
8
+ export type { ModelPolicyPickerMessages, ModelPolicyPickerProps, ModelPolicyPickerGroupPresentation, } from "./components/model-policy-picker.js";
9
9
  export { Actions, AttachButton, Attachments, CommandPalette, Confirmation, Controls, Footer, Frame, Help, Hint, Input, ModelPicker, PauseButton, PausedState, RestoredResources, Root, SendButton, Status, Surface, defaultChatComposerMessages, useChatComposer, useChatComposerController, } from "./components/composer.js";
10
10
  export type { ChatComposerController, ChatComposerContextValue, ChatComposerMessages, ComposerActionsProps, ComposerAttachButtonProps, ComposerCommandPaletteProps, ComposerControlLinks, ComposerControlState, ComposerControlsProps, ComposerDelivery, ComposerDraftState, ComposerFooterProps, ComposerFrameProps, ComposerHintProps, ComposerInputProps, ComposerModelPickerProps, ComposerPauseButtonProps, ComposerRootProps, ComposerSendButtonProps, ComposerSubmitBlocker, ComposerSubmitMode, ComposerSurfaceProps, ResponsiveBasis, UseChatComposerControllerOptions, } from "./components/composer.js";
11
11
  export { ComposerTranscriptionControl } from "./components/composer-transcription-control.js";
package/dist/composer.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ModelPolicyPickerMenu
3
- } from "./chunk-HJ5VJ4JB.js";
3
+ } from "./chunk-WKFFRFJF.js";
4
4
  import {
5
5
  Actions,
6
6
  AttachButton,
@@ -40,8 +40,7 @@ import {
40
40
  useChatComposer,
41
41
  useChatComposerController,
42
42
  useVoiceInput
43
- } from "./chunk-UXE5SSNN.js";
44
- import "./chunk-BRM6FVZA.js";
43
+ } from "./chunk-4ACTWOOW.js";
45
44
  import {
46
45
  BillingClassMark,
47
46
  ModelPolicyPicker,
@@ -49,13 +48,14 @@ import {
49
48
  PickerBackHeader,
50
49
  PickerNavRow,
51
50
  defaultModelPolicyPickerMessages
52
- } from "./chunk-IP4BUBKH.js";
53
- import "./chunk-VZTQ73XT.js";
51
+ } from "./chunk-3LL47F4U.js";
54
52
  import "./chunk-AKOMC3VO.js";
53
+ import "./chunk-IOLPHOF4.js";
55
54
  import "./chunk-KZ73RL76.js";
56
- import "./chunk-PLYRL5ER.js";
57
55
  import "./chunk-NEXLLTP4.js";
58
- import "./chunk-5GAL23FF.js";
56
+ import "./chunk-BRM6FVZA.js";
57
+ import "./chunk-VZTQ73XT.js";
58
+ import "./chunk-PLYRL5ER.js";
59
59
  import "./chunk-22KP6LR5.js";
60
60
  export {
61
61
  Actions,
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  ComputerViewer,
3
3
  computerKey
4
- } from "./chunk-YS24CFDI.js";
5
- import "./chunk-H5YGYNXS.js";
4
+ } from "./chunk-2O2HXRGP.js";
5
+ import "./chunk-TV5PP2PE.js";
6
6
  import "./chunk-4MDLEHXL.js";
7
7
  import "./chunk-5YK2ZDIG.js";
8
- import "./chunk-JVYQRRC4.js";
9
8
  import "./chunk-KZ73RL76.js";
10
9
  import "./chunk-NEXLLTP4.js";
11
10
  import "./chunk-22KP6LR5.js";
11
+ import "./chunk-JVYQRRC4.js";
12
12
  export {
13
13
  ComputerViewer,
14
14
  computerKey
15
15
  };
16
- //# sourceMappingURL=computer-viewer-CTFCJVS7.js.map
16
+ //# sourceMappingURL=computer-viewer-FX4WOZMX.js.map
package/dist/connect.js CHANGED
@@ -1,4 +1,3 @@
1
- import "./chunk-IWIDV7SB.js";
2
1
  import {
3
2
  McpConnectionCard,
4
3
  mcpConnectionDiscoveryState,
@@ -6,15 +5,16 @@ import {
6
5
  } from "./chunk-5UONOQ3Y.js";
7
6
  import {
8
7
  Markdown
9
- } from "./chunk-D7GAPJ3V.js";
8
+ } from "./chunk-SHRCATV6.js";
10
9
  import "./chunk-2VHARTBL.js";
11
- import {
12
- copyTextToClipboard
13
- } from "./chunk-JVYQRRC4.js";
14
10
  import "./chunk-BRM6FVZA.js";
15
11
  import "./chunk-VZTQ73XT.js";
16
12
  import "./chunk-PLYRL5ER.js";
17
13
  import "./chunk-22KP6LR5.js";
14
+ import "./chunk-IWIDV7SB.js";
15
+ import {
16
+ copyTextToClipboard
17
+ } from "./chunk-JVYQRRC4.js";
18
18
 
19
19
  // src/capability-catalog-row.tsx
20
20
  import { AlertTriangleIcon, CheckIcon, Loader2Icon, PlusIcon } from "lucide-react";
@@ -69,7 +69,7 @@ export type UseSessionEventsResult = {
69
69
  error: Error | null;
70
70
  };
71
71
  export declare const SESSION_EVENT_BROWSER_MAX_BYTES: number;
72
- export declare const SESSION_EVENT_BROWSER_MAX_COUNT = 10000;
72
+ export declare const SESSION_EVENT_BROWSER_MAX_COUNT = 200000;
73
73
  export declare const SESSION_EVENT_BROWSER_PENDING_MAX_BYTES: number;
74
74
  export declare const SESSION_EVENT_BROWSER_PENDING_MAX_COUNT = 256;
75
75
  export type BrowserSessionEventWindow = {
@@ -98,3 +98,8 @@ export declare function boundBrowserSessionEventWindow(events: readonly SessionE
98
98
  maxCount?: number;
99
99
  direction?: "newest" | "oldest";
100
100
  }): BrowserSessionEventWindow;
101
+ /** @internal Append immutable events without serializing the retained history again. */
102
+ export declare function appendBrowserSessionEventWindow(current: BrowserSessionEventWindow, batch: readonly SessionEvent[], options?: {
103
+ maxBytes?: number;
104
+ maxCount?: number;
105
+ }): BrowserSessionEventWindow;
package/dist/index.d.ts CHANGED
@@ -128,7 +128,7 @@ export { ModelPicker } from "./components/model-picker.js";
128
128
  export type { ModelPickerProps } from "./components/model-picker.js";
129
129
  export { BillingClassMark, ModelPolicyPicker, PickerAnimatedPage, PickerBackHeader, PickerNavRow, defaultModelPolicyPickerMessages, } from "./components/model-policy-picker.js";
130
130
  export { ModelPolicyPickerMenu } from "./components/model-policy-picker-menu.js";
131
- export type { ModelPolicyPickerMessages, ModelPolicyPickerProps, } from "./components/model-policy-picker.js";
131
+ export type { ModelPolicyPickerMessages, ModelPolicyPickerProps, ModelPolicyPickerGroupPresentation, } from "./components/model-policy-picker.js";
132
132
  export { advancedSourceSummary, availabilityReasonLabel, billingClassForModel, billingClassLabel, coerceReasoningEffortForModel, defaultEffortForModel, effortOptionsForModel, findPickerRow, groupPickerRowsByBillingClass, labelLatencyMode, labelReasoningEffort, payerSummaryForModel, modelUsesCredits, projectClientModelRows, projectPickerRows, runnableLatencyModesForModel, sortPickerRows, } from "./model-policy.js";
133
133
  export type { LatencyModeId, PickerBillingClass, PickerModelRow } from "./model-policy.js";
134
134
  export { MessageTimeline, TimelineRow } from "./components/message-timeline.js";
package/dist/index.js CHANGED
@@ -1,3 +1,16 @@
1
+ import {
2
+ approvalsFromRequiresAction,
3
+ createEmbeddedSessionClient,
4
+ isGoalEvent,
5
+ isLineageRefreshEvent,
6
+ isSessionMcpApprovalPolicyEvent,
7
+ projectPendingApprovals,
8
+ useFileAttachments,
9
+ useGoal,
10
+ useSessionControl,
11
+ useSessionLineage,
12
+ useSessionMcpApprovalPolicy
13
+ } from "./chunk-DBPVUGQT.js";
1
14
  import {
2
15
  CONNECTION_STATUS_META,
3
16
  ConnectionDot,
@@ -28,14 +41,7 @@ import {
28
41
  healthPulses,
29
42
  pointsFor,
30
43
  useMachines
31
- } from "./chunk-JPHDWKZE.js";
32
- import {
33
- McpConnectionCard,
34
- SessionCapabilityFrame,
35
- SessionMcpCapabilityCard,
36
- attachSessionCapability,
37
- completeSessionCapabilityOAuth
38
- } from "./chunk-5UONOQ3Y.js";
44
+ } from "./chunk-PFDNB3U7.js";
39
45
  import {
40
46
  DesktopViewer,
41
47
  useDesktopStream,
@@ -51,7 +57,7 @@ import {
51
57
  } from "./chunk-5YK2ZDIG.js";
52
58
  import {
53
59
  ModelPolicyPickerMenu
54
- } from "./chunk-HJ5VJ4JB.js";
60
+ } from "./chunk-WKFFRFJF.js";
55
61
  import {
56
62
  ActivityRail,
57
63
  ApprovalSurface,
@@ -108,36 +114,38 @@ import {
108
114
  useWorkspaceModelCatalog,
109
115
  userMessageLikelyNeedsDisclosure,
110
116
  v4aToGitFileDiff
111
- } from "./chunk-D5NOQPLR.js";
117
+ } from "./chunk-ZC2DK5SC.js";
112
118
  import "./chunk-GEN54DU5.js";
113
119
  import "./chunk-GBPCZH3Y.js";
114
120
  import "./chunk-ZYRGEKWS.js";
121
+ import "./chunk-WYWRYUNQ.js";
122
+ import {
123
+ SESSION_EVENT_BROWSER_MAX_BYTES,
124
+ SESSION_EVENT_BROWSER_MAX_COUNT,
125
+ SESSION_EVENT_BROWSER_PENDING_MAX_BYTES,
126
+ SESSION_EVENT_BROWSER_PENDING_MAX_COUNT,
127
+ boundBrowserSessionEventWindow,
128
+ buildTimeline,
129
+ conversationTimeline,
130
+ createOlderHistoryLoadReceipt,
131
+ creditExhaustedFromEvents,
132
+ extractSessionRef,
133
+ groupTimeline,
134
+ humanInputRequestFromEvent,
135
+ isHumanInputEvent,
136
+ isTitleEvent,
137
+ isTurnQueueEvent,
138
+ projectPendingHumanInputRequests,
139
+ sessionStatusFromEvents,
140
+ toolDisplayName,
141
+ useHumanInputRequests,
142
+ useSession,
143
+ useSessionEvents,
144
+ useTurnQueue
145
+ } from "./chunk-VI7HELBI.js";
115
146
  import {
116
147
  OpenGeniProvider
117
148
  } from "./chunk-PAJU5KKL.js";
118
- import {
119
- ActivityDisclosure,
120
- BodyNote,
121
- CopyButton,
122
- CopyHoverFrame,
123
- DisclosureDefaultsProvider,
124
- Markdown,
125
- MediaEmpty,
126
- MediaSkeleton,
127
- PayloadBlock,
128
- ScreenshotFigure,
129
- TermBlock,
130
- Thumbnail,
131
- prefersReducedMotion,
132
- retainedImageId,
133
- sandboxFileLocationFromHref,
134
- sandboxFilePathFromHref
135
- } from "./chunk-D7GAPJ3V.js";
136
- import "./chunk-2VHARTBL.js";
137
- import {
138
- copyTextToClipboard,
139
- tableElementToTsv
140
- } from "./chunk-JVYQRRC4.js";
141
149
  import {
142
150
  CommandPalette,
143
151
  ComposerTranscriptionControl,
@@ -170,17 +178,7 @@ import {
170
178
  useSlashCommands,
171
179
  useTranscription,
172
180
  useVoiceInput
173
- } from "./chunk-UXE5SSNN.js";
174
- import {
175
- LightboxProvider,
176
- Tooltip,
177
- TooltipContent,
178
- TooltipProvider,
179
- TooltipTrigger,
180
- useLightbox,
181
- useLightboxOptional
182
- } from "./chunk-BRM6FVZA.js";
183
- import "./chunk-WYWRYUNQ.js";
181
+ } from "./chunk-4ACTWOOW.js";
184
182
  import {
185
183
  BillingClassMark,
186
184
  ModelPolicyPicker,
@@ -188,48 +186,7 @@ import {
188
186
  PickerBackHeader,
189
187
  PickerNavRow,
190
188
  defaultModelPolicyPickerMessages
191
- } from "./chunk-IP4BUBKH.js";
192
- import {
193
- usePortalTokenSource,
194
- usePortalTokenStyle
195
- } from "./chunk-VZTQ73XT.js";
196
- import {
197
- approvalsFromRequiresAction,
198
- createEmbeddedSessionClient,
199
- isGoalEvent,
200
- isLineageRefreshEvent,
201
- isSessionMcpApprovalPolicyEvent,
202
- projectPendingApprovals,
203
- useFileAttachments,
204
- useGoal,
205
- useSessionControl,
206
- useSessionLineage,
207
- useSessionMcpApprovalPolicy
208
- } from "./chunk-IYUPN32E.js";
209
- import {
210
- SESSION_EVENT_BROWSER_MAX_BYTES,
211
- SESSION_EVENT_BROWSER_MAX_COUNT,
212
- SESSION_EVENT_BROWSER_PENDING_MAX_BYTES,
213
- SESSION_EVENT_BROWSER_PENDING_MAX_COUNT,
214
- boundBrowserSessionEventWindow,
215
- buildTimeline,
216
- conversationTimeline,
217
- createOlderHistoryLoadReceipt,
218
- creditExhaustedFromEvents,
219
- extractSessionRef,
220
- groupTimeline,
221
- humanInputRequestFromEvent,
222
- isHumanInputEvent,
223
- isTitleEvent,
224
- isTurnQueueEvent,
225
- projectPendingHumanInputRequests,
226
- sessionStatusFromEvents,
227
- toolDisplayName,
228
- useHumanInputRequests,
229
- useSession,
230
- useSessionEvents,
231
- useTurnQueue
232
- } from "./chunk-JKLGJQO5.js";
189
+ } from "./chunk-3LL47F4U.js";
233
190
  import {
234
191
  FILE_ONLY_MESSAGE_TEXT,
235
192
  composeSendInput,
@@ -237,12 +194,74 @@ import {
237
194
  shouldSubmitOnKey,
238
195
  useComposer
239
196
  } from "./chunk-AKOMC3VO.js";
197
+ import {
198
+ advancedSourceSummary,
199
+ availabilityReasonLabel,
200
+ billingClassForModel,
201
+ billingClassLabel,
202
+ coerceReasoningEffortForModel,
203
+ defaultEffortForModel,
204
+ effortOptionsForModel,
205
+ findPickerRow,
206
+ groupPickerRowsByBillingClass,
207
+ labelLatencyMode,
208
+ labelReasoningEffort,
209
+ modelUsesCredits,
210
+ payerSummaryForModel,
211
+ projectClientModelRows,
212
+ projectPickerRows,
213
+ runnableLatencyModesForModel,
214
+ sortPickerRows
215
+ } from "./chunk-IOLPHOF4.js";
240
216
  import {
241
217
  useMutationRunner,
242
218
  usePageLiveActivity,
243
219
  usePolledValue,
244
220
  useSessionEventTrigger
245
221
  } from "./chunk-KZ73RL76.js";
222
+ import {
223
+ useOpenGeni,
224
+ useOpenGeniClient
225
+ } from "./chunk-NEXLLTP4.js";
226
+ import {
227
+ McpConnectionCard,
228
+ SessionCapabilityFrame,
229
+ SessionMcpCapabilityCard,
230
+ attachSessionCapability,
231
+ completeSessionCapabilityOAuth
232
+ } from "./chunk-5UONOQ3Y.js";
233
+ import {
234
+ ActivityDisclosure,
235
+ BodyNote,
236
+ CopyButton,
237
+ CopyHoverFrame,
238
+ DisclosureDefaultsProvider,
239
+ Markdown,
240
+ MediaEmpty,
241
+ MediaSkeleton,
242
+ PayloadBlock,
243
+ ScreenshotFigure,
244
+ TermBlock,
245
+ Thumbnail,
246
+ prefersReducedMotion,
247
+ retainedImageId,
248
+ sandboxFileLocationFromHref,
249
+ sandboxFilePathFromHref
250
+ } from "./chunk-SHRCATV6.js";
251
+ import "./chunk-2VHARTBL.js";
252
+ import {
253
+ LightboxProvider,
254
+ Tooltip,
255
+ TooltipContent,
256
+ TooltipProvider,
257
+ TooltipTrigger,
258
+ useLightbox,
259
+ useLightboxOptional
260
+ } from "./chunk-BRM6FVZA.js";
261
+ import {
262
+ usePortalTokenSource,
263
+ usePortalTokenStyle
264
+ } from "./chunk-VZTQ73XT.js";
246
265
  import {
247
266
  COMPOSER_PAYMENT_REQUIRED_MESSAGE,
248
267
  CREDIT_EXHAUSTION_MESSAGE,
@@ -257,32 +276,13 @@ import {
257
276
  truncate,
258
277
  tryParseJson
259
278
  } from "./chunk-PLYRL5ER.js";
260
- import {
261
- useOpenGeni,
262
- useOpenGeniClient
263
- } from "./chunk-NEXLLTP4.js";
264
- import {
265
- advancedSourceSummary,
266
- availabilityReasonLabel,
267
- billingClassForModel,
268
- billingClassLabel,
269
- coerceReasoningEffortForModel,
270
- defaultEffortForModel,
271
- effortOptionsForModel,
272
- findPickerRow,
273
- groupPickerRowsByBillingClass,
274
- labelLatencyMode,
275
- labelReasoningEffort,
276
- modelUsesCredits,
277
- payerSummaryForModel,
278
- projectClientModelRows,
279
- projectPickerRows,
280
- runnableLatencyModesForModel,
281
- sortPickerRows
282
- } from "./chunk-5GAL23FF.js";
283
279
  import {
284
280
  cn
285
281
  } from "./chunk-22KP6LR5.js";
282
+ import {
283
+ copyTextToClipboard,
284
+ tableElementToTsv
285
+ } from "./chunk-JVYQRRC4.js";
286
286
 
287
287
  // src/session-auth-recommendation.ts
288
288
  function sessionAuthRecommendation(item, catalog) {
@@ -455,7 +455,7 @@ function policyFromTurn(turn) {
455
455
  };
456
456
  }
457
457
  function useLastStartedTurnPolicy(sessionId, options = {}) {
458
- const { client, workspaceId, workspaceControlEvent, registerSessionReconciler } = useOpenGeni(options);
458
+ const { client, workspaceId, registerSessionReconciler } = useOpenGeni(options);
459
459
  const enabled = (options.enabled ?? true) && Boolean(sessionId);
460
460
  const load = useCallback(
461
461
  async (signal) => {
@@ -472,9 +472,6 @@ function useLastStartedTurnPolicy(sessionId, options = {}) {
472
472
  pollIntervalMs: options.pollIntervalMs,
473
473
  enabled
474
474
  });
475
- useEffect2(() => {
476
- if (enabled && workspaceControlEvent) void refresh();
477
- }, [enabled, refresh, workspaceControlEvent]);
478
475
  useEffect2(() => {
479
476
  if (!sessionId || !enabled) return;
480
477
  return registerSessionReconciler(sessionId, "last-started-turn-policy", refresh);
@@ -8177,11 +8174,11 @@ import {
8177
8174
  } from "lucide-react";
8178
8175
  import { jsx as jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
8179
8176
  var LazyBrowserViewer = lazy2(async () => {
8180
- const { BrowserViewer } = await import("./browser-viewer-LGH4IP47.js");
8177
+ const { BrowserViewer } = await import("./browser-viewer-MN7MOYQT.js");
8181
8178
  return { default: BrowserViewer };
8182
8179
  });
8183
8180
  var LazyComputerViewer = lazy2(async () => {
8184
- const { ComputerViewer } = await import("./computer-viewer-CTFCJVS7.js");
8181
+ const { ComputerViewer } = await import("./computer-viewer-FX4WOZMX.js");
8185
8182
  return { default: ComputerViewer };
8186
8183
  });
8187
8184
  var WORKBENCH_TAB_CHANGES = "changes";