@tutti-os/agent-gui 0.0.228 → 0.0.230

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.
@@ -7,9 +7,9 @@ import {
7
7
  reconcileProjectedAgentConversationVM,
8
8
  serializeAgentConversationForClipboard,
9
9
  useProjectedAgentConversation
10
- } from "../chunk-C7XGPXRW.js";
10
+ } from "../chunk-Y5OBJINU.js";
11
11
  import "../chunk-2STAUA73.js";
12
- import "../chunk-Z35E22WS.js";
12
+ import "../chunk-WGCDSA7P.js";
13
13
  import "../chunk-LQMIEH4C.js";
14
14
  import "../chunk-N4HLBSMJ.js";
15
15
  import "../chunk-XJ34OIEQ.js";
package/dist/agent-gui.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AgentGUI
3
- } from "./chunk-IMHJ3J5X.js";
3
+ } from "./chunk-ZVSKNM6D.js";
4
4
  import "./chunk-LB4AGT7B.js";
5
5
  import "./chunk-A4WCTHWS.js";
6
6
  import "./chunk-P2OOYHKQ.js";
@@ -9,11 +9,11 @@ import "./chunk-KDN6SLJM.js";
9
9
  import "./chunk-SUVMLCED.js";
10
10
  import "./chunk-MGSRWYRN.js";
11
11
  import "./chunk-CBMWHQ7P.js";
12
- import "./chunk-KZIW5CCW.js";
12
+ import "./chunk-CQFT3MI5.js";
13
13
  import "./chunk-EVQ4JY3N.js";
14
- import "./chunk-C7XGPXRW.js";
14
+ import "./chunk-Y5OBJINU.js";
15
15
  import "./chunk-2STAUA73.js";
16
- import "./chunk-Z35E22WS.js";
16
+ import "./chunk-WGCDSA7P.js";
17
17
  import "./chunk-LQMIEH4C.js";
18
18
  import "./chunk-FMTWYOHM.js";
19
19
  import "./chunk-N4HLBSMJ.js";
@@ -8,7 +8,7 @@ import {
8
8
  isPromptRequestIdTitle,
9
9
  latestPlanTurnId,
10
10
  planImplementationPromptFromPlanTurn
11
- } from "../chunk-KZIW5CCW.js";
11
+ } from "../chunk-CQFT3MI5.js";
12
12
  import {
13
13
  useEngineSelector
14
14
  } from "../chunk-EVQ4JY3N.js";
@@ -21,7 +21,7 @@ import {
21
21
  isExitPlanSwitchModeInput,
22
22
  normalizeAgentApprovalPurpose,
23
23
  normalizeAskUserQuestions
24
- } from "../chunk-Z35E22WS.js";
24
+ } from "../chunk-WGCDSA7P.js";
25
25
  import {
26
26
  cn
27
27
  } from "../chunk-LQMIEH4C.js";
@@ -128,12 +128,16 @@
128
128
  }
129
129
  }
130
130
 
131
- .tsh-zoom-dialog [data-rmiz-btn-unzoom] {
131
+ .tsh-zoom-dialog__toolbar-actions {
132
132
  position: fixed;
133
133
  top: max(20px, calc(var(--cove-titlebar-reserve, 0px) + 10px));
134
134
  right: 20px;
135
135
  inset-inline-end: 20px;
136
136
  z-index: 100301;
137
+ display: flex;
138
+ align-items: center;
139
+ gap: 6px;
140
+ -webkit-app-region: no-drag;
137
141
  }
138
142
 
139
143
  .tsh-zoom-dialog__image {
@@ -145,15 +149,6 @@
145
149
  cursor: zoom-out;
146
150
  }
147
151
 
148
- .tsh-zoom-dialog__image-actions {
149
- position: fixed;
150
- top: max(20px, calc(var(--cove-titlebar-reserve, 0px) + 10px));
151
- right: 58px;
152
- z-index: 100301;
153
- display: flex;
154
- gap: 6px;
155
- }
156
-
157
152
  .tsh-zoom-dialog__zoom-controls {
158
153
  position: fixed;
159
154
  top: max(20px, calc(var(--cove-titlebar-reserve, 0px) + 10px));
@@ -173,7 +168,7 @@
173
168
  -webkit-app-region: no-drag;
174
169
  }
175
170
 
176
- .tsh-zoom-dialog:not(:has(.tsh-zoom-dialog__image-actions))
171
+ .tsh-zoom-dialog:not([data-tsh-image-actions="true"])
177
172
  .tsh-zoom-dialog__zoom-controls {
178
173
  right: 72px;
179
174
  }
@@ -192,7 +187,6 @@
192
187
  -webkit-app-region: no-drag;
193
188
  }
194
189
 
195
- .tsh-zoom-dialog__image-actions button,
196
190
  .tsh-zoom-dialog__zoom-controls button,
197
191
  .tsh-image-context-menu button {
198
192
  display: flex;
@@ -231,8 +225,7 @@
231
225
  font-variant-numeric: tabular-nums;
232
226
  }
233
227
 
234
- .tsh-zoom-dialog__icon-button,
235
- .tsh-zoom-dialog__image-actions button {
228
+ .tsh-zoom-dialog__icon-button {
236
229
  justify-content: center;
237
230
  width: 32px;
238
231
  height: 32px;
@@ -249,8 +242,7 @@
249
242
  padding: 7px 10px;
250
243
  }
251
244
 
252
- .tsh-zoom-dialog__icon-button:hover,
253
- .tsh-zoom-dialog__image-actions button:hover {
245
+ .tsh-zoom-dialog__icon-button:hover {
254
246
  background: color-mix(in srgb, var(--background-panel) 82%, white 12%);
255
247
  }
256
248
 
@@ -3456,11 +3448,12 @@ aside.workspace-agents-status-panel
3456
3448
  }
3457
3449
 
3458
3450
  .agent-gui-conversation__interactive-option-button {
3459
- position: relative;
3460
- display: grid;
3461
- gap: 3px;
3462
- justify-items: start;
3451
+ display: flex;
3452
+ align-items: center;
3453
+ box-sizing: border-box;
3454
+ gap: 12px;
3463
3455
  width: 100%;
3456
+ min-width: 0;
3464
3457
  border: 0;
3465
3458
  border-radius: 8px;
3466
3459
  background: var(--transparency-block);
@@ -3469,6 +3462,7 @@ aside.workspace-agents-status-panel
3469
3462
  font-size: 13px;
3470
3463
  font-weight: 500;
3471
3464
  line-height: 1.3;
3465
+ outline: none;
3472
3466
  padding: 8px 8px 8px 12px;
3473
3467
  text-align: left;
3474
3468
  transition:
@@ -3487,8 +3481,12 @@ aside.workspace-agents-status-panel
3487
3481
  color-mix(in srgb, var(--text-primary) 24%, transparent);
3488
3482
  }
3489
3483
 
3484
+ .agent-gui-conversation__interactive-option-button:focus-visible {
3485
+ outline: 2px solid var(--border-focus);
3486
+ outline-offset: 2px;
3487
+ }
3488
+
3490
3489
  .agent-gui-conversation__interactive-option-display {
3491
- position: relative;
3492
3490
  display: grid;
3493
3491
  gap: 3px;
3494
3492
  justify-items: start;
@@ -3541,31 +3539,22 @@ aside.workspace-agents-status-panel
3541
3539
  -webkit-line-clamp: 2;
3542
3540
  }
3543
3541
 
3544
- .agent-gui-conversation__interactive-option-button:has(
3545
- .agent-gui-conversation__interactive-option-shortcut,
3546
- .agent-gui-conversation__interactive-option-spinner
3547
- ) {
3548
- padding-right: 8px;
3549
- }
3550
-
3551
- .agent-gui-conversation__interactive-option-button:has(
3552
- .agent-gui-conversation__interactive-option-shortcut,
3553
- .agent-gui-conversation__interactive-option-spinner
3554
- )
3555
- .agent-gui-conversation__interactive-option-title,
3556
- .agent-gui-conversation__interactive-option-button:has(
3557
- .agent-gui-conversation__interactive-option-shortcut,
3558
- .agent-gui-conversation__interactive-option-spinner
3559
- )
3560
- .agent-gui-conversation__interactive-option-description {
3561
- max-width: calc(100% - 112px);
3542
+ .agent-gui-conversation__interactive-option-content {
3543
+ display: grid;
3544
+ flex: 1 1 auto;
3545
+ gap: 3px;
3546
+ justify-items: start;
3547
+ max-width: 100%;
3548
+ min-width: 0;
3562
3549
  }
3563
3550
 
3564
3551
  .agent-gui-conversation__interactive-option-description {
3552
+ max-width: 100%;
3565
3553
  color: var(--text-tertiary);
3566
3554
  font-size: 11px;
3567
3555
  font-weight: 400;
3568
3556
  line-height: 1.3;
3557
+ overflow-wrap: anywhere;
3569
3558
  }
3570
3559
 
3571
3560
  .agent-gui-conversation__interactive-option-command-description {
@@ -3587,28 +3576,14 @@ aside.workspace-agents-status-panel
3587
3576
  }
3588
3577
 
3589
3578
  .agent-gui-conversation__interactive-option-shortcut {
3590
- position: absolute;
3591
- top: 50%;
3592
- right: 8px;
3593
- display: inline-flex;
3594
- align-items: center;
3595
- height: 20px;
3596
- border-radius: 4px;
3597
- background: color-mix(in srgb, var(--transparency-block) 72%, transparent);
3598
- color: var(--text-tertiary);
3599
- font-size: 11px;
3579
+ flex: none;
3580
+ margin-inline-start: auto;
3600
3581
  font-weight: 500;
3601
- line-height: 1;
3602
- padding: 4px 6px;
3603
- transform: translateY(-50%);
3604
3582
  }
3605
3583
 
3606
3584
  .agent-gui-conversation__interactive-option-spinner {
3607
- position: absolute;
3608
- top: 50%;
3609
- right: 8px;
3585
+ flex: none;
3610
3586
  color: currentColor;
3611
- transform: translateY(-50%);
3612
3587
  }
3613
3588
 
3614
3589
  .agent-gui-conversation__interactive-feedback-composer {
@@ -3699,14 +3674,6 @@ aside.workspace-agents-status-panel
3699
3674
  height: 22px;
3700
3675
  }
3701
3676
 
3702
- .agent-gui-conversation__interactive-feedback-send-button
3703
- .agent-gui-conversation__interactive-option-spinner {
3704
- position: static;
3705
- top: auto;
3706
- right: auto;
3707
- transform: none;
3708
- }
3709
-
3710
3677
  .agent-gui-conversation__interactive-prompt-footer {
3711
3678
  display: grid;
3712
3679
  gap: 10px;
@@ -3719,27 +3686,6 @@ aside.workspace-agents-status-panel
3719
3686
  gap: 8px;
3720
3687
  }
3721
3688
 
3722
- .agent-gui-conversation__interactive-prompt-actions
3723
- button:not([data-slot="button"]) {
3724
- min-height: 30px;
3725
- border: 1px solid var(--line-2);
3726
- border-radius: 999px;
3727
- background: var(--background-fronted);
3728
- color: var(--text-primary);
3729
- font-family: inherit;
3730
- font-size: 11px;
3731
- font-weight: 560;
3732
- padding: 6px 12px;
3733
- }
3734
-
3735
- .agent-gui-conversation__interactive-prompt-actions
3736
- button:not([data-slot="button"]):disabled {
3737
- cursor: not-allowed;
3738
- background: var(--transparency-block);
3739
- color: var(--text-disabled);
3740
- opacity: 0.58;
3741
- }
3742
-
3743
3689
  .agent-gui-conversation__user-message-flow,
3744
3690
  .agent-gui-conversation__assistant-message-flow {
3745
3691
  display: grid;
@@ -2,7 +2,7 @@ import {
2
2
  AgentGUIConversation_styles_default,
3
3
  MessageSquareMoreIcon,
4
4
  extractAgentMcpToolTarget
5
- } from "./chunk-Z35E22WS.js";
5
+ } from "./chunk-WGCDSA7P.js";
6
6
  import {
7
7
  buildAskUserAnswerPayload,
8
8
  readOwnAnswer,
@@ -861,7 +861,7 @@ function CompactQuickAnswerSurface({
861
861
  return /* @__PURE__ */ jsx2("section", { className: interactivePromptClassName(embedded), children: /* @__PURE__ */ jsxs2("div", { className: interactivePromptCardClassName(edgeGlow), children: [
862
862
  /* @__PURE__ */ jsx2("div", { className: AgentGUIConversation_styles_default.interactivePromptHeader, children: /* @__PURE__ */ jsx2("span", { className: AgentGUIConversation_styles_default.interactivePromptLead, children: stripPromptTitlePunctuation(question.header) }) }),
863
863
  /* @__PURE__ */ jsx2("div", { className: AgentGUIConversation_styles_default.interactivePromptQuestion, children: question.question }),
864
- /* @__PURE__ */ jsx2("div", { className: AgentGUIConversation_styles_default.interactivePromptOptions, children: question.options.map((option) => /* @__PURE__ */ jsxs2(
864
+ /* @__PURE__ */ jsx2("div", { className: AgentGUIConversation_styles_default.interactivePromptOptions, children: question.options.map((option) => /* @__PURE__ */ jsx2(
865
865
  "button",
866
866
  {
867
867
  type: "button",
@@ -880,10 +880,10 @@ function CompactQuickAnswerSurface({
880
880
  })
881
881
  }
882
882
  }),
883
- children: [
883
+ children: /* @__PURE__ */ jsxs2("span", { className: AgentGUIConversation_styles_default.interactiveOptionContent, children: [
884
884
  /* @__PURE__ */ jsx2("span", { className: AgentGUIConversation_styles_default.interactiveOptionTitle, children: option.label }),
885
885
  option.description ? /* @__PURE__ */ jsx2("span", { className: AgentGUIConversation_styles_default.interactiveOptionDescription, children: option.description }) : null
886
- ]
886
+ ] })
887
887
  },
888
888
  option.label
889
889
  )) })
@@ -935,7 +935,7 @@ function AskUserAnswerFlowSurface({
935
935
  /* @__PURE__ */ jsx2("div", { className: AgentGUIConversation_styles_default.interactivePromptQuestion, children: question.question }),
936
936
  question.options.length > 0 ? /* @__PURE__ */ jsx2("div", { className: AgentGUIConversation_styles_default.interactivePromptOptions, children: question.options.map((option) => {
937
937
  const active = flow.selectedOptions.includes(option.label);
938
- return /* @__PURE__ */ jsxs2(
938
+ return /* @__PURE__ */ jsx2(
939
939
  "button",
940
940
  {
941
941
  type: "button",
@@ -948,10 +948,10 @@ function AskUserAnswerFlowSurface({
948
948
  ),
949
949
  disabled: isSubmitting,
950
950
  onClick: () => flow.toggleOption(option.label),
951
- children: [
951
+ children: /* @__PURE__ */ jsxs2("span", { className: AgentGUIConversation_styles_default.interactiveOptionContent, children: [
952
952
  /* @__PURE__ */ jsx2("span", { className: AgentGUIConversation_styles_default.interactiveOptionTitle, children: option.label }),
953
953
  option.description ? /* @__PURE__ */ jsx2("span", { className: AgentGUIConversation_styles_default.interactiveOptionDescription, children: option.description }) : null
954
- ]
954
+ ] })
955
955
  },
956
956
  option.label
957
957
  );
@@ -1009,7 +1009,7 @@ function AskUserAnswerFlowSurface({
1009
1009
 
1010
1010
  // shared/agentConversation/components/AgentInteractiveDecisionPromptSurfaces.tsx
1011
1011
  import { useCallback as useCallback2, useEffect, useMemo as useMemo2, useRef, useState as useState2 } from "react";
1012
- import { ShortcutBadge } from "@tutti-os/ui-system";
1012
+ import { Button as Button2, ShortcutBadge } from "@tutti-os/ui-system";
1013
1013
  import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
1014
1014
  function ApprovalPromptSurface({
1015
1015
  prompt,
@@ -1213,16 +1213,18 @@ function ApprovalPromptSurface({
1213
1213
  disabled: isSubmitting || submittingOptionId !== null,
1214
1214
  onClick: () => submitOption(option.id),
1215
1215
  children: [
1216
- /* @__PURE__ */ jsx3("span", { className: AgentGUIConversation_styles_default.interactiveOptionTitle, children: optionPresentation.label }),
1217
- optionPresentation.commandPrefix ? /* @__PURE__ */ jsx3(
1218
- CommandTextWithTooltip,
1219
- {
1220
- value: optionPresentation.commandPrefix,
1221
- testId: "agent-interactive-command-prefix-option",
1222
- tooltipsEnabled: true
1223
- }
1224
- ) : null,
1225
- option.description ? /* @__PURE__ */ jsx3("span", { className: AgentGUIConversation_styles_default.interactiveOptionDescription, children: option.description }) : null,
1216
+ /* @__PURE__ */ jsxs3("span", { className: AgentGUIConversation_styles_default.interactiveOptionContent, children: [
1217
+ /* @__PURE__ */ jsx3("span", { className: AgentGUIConversation_styles_default.interactiveOptionTitle, children: optionPresentation.label }),
1218
+ optionPresentation.commandPrefix ? /* @__PURE__ */ jsx3(
1219
+ CommandTextWithTooltip,
1220
+ {
1221
+ value: optionPresentation.commandPrefix,
1222
+ testId: "agent-interactive-command-prefix-option",
1223
+ tooltipsEnabled: true
1224
+ }
1225
+ ) : null,
1226
+ option.description ? /* @__PURE__ */ jsx3("span", { className: AgentGUIConversation_styles_default.interactiveOptionDescription, children: option.description }) : null
1227
+ ] }),
1226
1228
  keyboardShortcuts && shortcutLabel && !showSpinner ? /* @__PURE__ */ jsx3(
1227
1229
  ShortcutBadge,
1228
1230
  {
@@ -1295,8 +1297,10 @@ function ExitPlanPromptSurface({
1295
1297
  });
1296
1298
  },
1297
1299
  children: [
1298
- /* @__PURE__ */ jsx3("span", { className: AgentGUIConversation_styles_default.interactiveOptionTitle, children: mode.label }),
1299
- /* @__PURE__ */ jsx3("span", { className: AgentGUIConversation_styles_default.interactiveOptionDescription, children: mode.description }),
1300
+ /* @__PURE__ */ jsxs3("span", { className: AgentGUIConversation_styles_default.interactiveOptionContent, children: [
1301
+ /* @__PURE__ */ jsx3("span", { className: AgentGUIConversation_styles_default.interactiveOptionTitle, children: mode.label }),
1302
+ /* @__PURE__ */ jsx3("span", { className: AgentGUIConversation_styles_default.interactiveOptionDescription, children: mode.description })
1303
+ ] }),
1300
1304
  showSpinner ? /* @__PURE__ */ jsx3(InteractiveOptionSpinner, {}) : null
1301
1305
  ]
1302
1306
  },
@@ -1315,9 +1319,11 @@ function ExitPlanPromptSurface({
1315
1319
  }
1316
1320
  ),
1317
1321
  /* @__PURE__ */ jsx3("div", { className: AgentGUIConversation_styles_default.interactivePromptActions, children: /* @__PURE__ */ jsx3(
1318
- "button",
1322
+ Button2,
1319
1323
  {
1320
1324
  type: "button",
1325
+ variant: "secondary",
1326
+ size: "sm",
1321
1327
  disabled: isSubmitting,
1322
1328
  onClick: () => onSubmit({
1323
1329
  requestId: prompt.requestId,
@@ -1337,9 +1343,11 @@ function ExitPlanPromptSurface({
1337
1343
  // must still let the user keep planning (refining/feedback is deferred
1338
1344
  // to the conversation via the card's "open conversation" jump).
1339
1345
  /* @__PURE__ */ jsx3("div", { className: AgentGUIConversation_styles_default.interactivePromptActions, children: /* @__PURE__ */ jsx3(
1340
- "button",
1346
+ Button2,
1341
1347
  {
1342
1348
  type: "button",
1349
+ variant: "secondary",
1350
+ size: "sm",
1343
1351
  disabled: isSubmitting,
1344
1352
  onClick: () => onSubmit({
1345
1353
  requestId: prompt.requestId,
@@ -1379,7 +1387,7 @@ function PlanImplementationSurface({
1379
1387
  requestId: prompt.requestId,
1380
1388
  action: PLAN_IMPLEMENTATION_ACTION_IMPLEMENT
1381
1389
  }),
1382
- children: /* @__PURE__ */ jsx3("span", { className: AgentGUIConversation_styles_default.interactiveOptionTitle, children: labels.planImplementationConfirm })
1390
+ children: /* @__PURE__ */ jsx3("span", { className: AgentGUIConversation_styles_default.interactiveOptionContent, children: /* @__PURE__ */ jsx3("span", { className: AgentGUIConversation_styles_default.interactiveOptionTitle, children: labels.planImplementationConfirm }) })
1383
1391
  }
1384
1392
  ) }),
1385
1393
  showFeedbackFooter ? /* @__PURE__ */ jsxs3("div", { className: AgentGUIConversation_styles_default.interactivePromptFooter, children: [
@@ -1395,9 +1403,11 @@ function PlanImplementationSurface({
1395
1403
  }
1396
1404
  ),
1397
1405
  /* @__PURE__ */ jsx3("div", { className: AgentGUIConversation_styles_default.interactivePromptActions, children: /* @__PURE__ */ jsx3(
1398
- "button",
1406
+ Button2,
1399
1407
  {
1400
1408
  type: "button",
1409
+ variant: "secondary",
1410
+ size: "sm",
1401
1411
  "data-testid": "agent-plan-implementation-continue",
1402
1412
  disabled: isSubmitting,
1403
1413
  onClick: () => onSubmit({
@@ -1498,4 +1508,4 @@ export {
1498
1508
  isPromptRequestIdTitle,
1499
1509
  AgentInteractivePromptSurface
1500
1510
  };
1501
- //# sourceMappingURL=chunk-KZIW5CCW.js.map
1511
+ //# sourceMappingURL=chunk-CQFT3MI5.js.map