@tutti-os/agent-gui 0.0.44 → 0.0.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 (49) hide show
  1. package/dist/agent-conversation/index.js +5 -4
  2. package/dist/agent-conversation/index.js.map +1 -1
  3. package/dist/agent-message-center/index.js +17 -11
  4. package/dist/agent-message-center/index.js.map +1 -1
  5. package/dist/app/renderer/agentactivity.css +154 -69
  6. package/dist/{chunk-GMLK2EFU.js → chunk-62QOR3TC.js} +4 -97
  7. package/dist/chunk-62QOR3TC.js.map +1 -0
  8. package/dist/{chunk-5UD2YEBX.js → chunk-AMNXH4DJ.js} +47 -14
  9. package/dist/{chunk-5UD2YEBX.js.map → chunk-AMNXH4DJ.js.map} +1 -1
  10. package/dist/{chunk-25VZHG6G.js → chunk-BAQTM6VS.js} +15 -6
  11. package/dist/chunk-BAQTM6VS.js.map +1 -0
  12. package/dist/{chunk-ZORA4UAT.js → chunk-D6IYEVDT.js} +2 -2
  13. package/dist/chunk-EIC7XS3C.js +71 -0
  14. package/dist/chunk-EIC7XS3C.js.map +1 -0
  15. package/dist/chunk-FJG2EH4V.js +317 -0
  16. package/dist/chunk-FJG2EH4V.js.map +1 -0
  17. package/dist/{chunk-64OSXJRE.js → chunk-FRG36S6N.js} +26 -7
  18. package/dist/chunk-FRG36S6N.js.map +1 -0
  19. package/dist/{chunk-J4MU53PH.js → chunk-NZ2BGOJU.js} +2 -2
  20. package/dist/chunk-OL54R6OL.js +99 -0
  21. package/dist/chunk-OL54R6OL.js.map +1 -0
  22. package/dist/{chunk-ZTQKIJ5J.js → chunk-QT45WUPQ.js} +71 -20
  23. package/dist/chunk-QT45WUPQ.js.map +1 -0
  24. package/dist/{chunk-IGXC7NRW.js → chunk-VFQR7AZI.js} +10 -63
  25. package/dist/chunk-VFQR7AZI.js.map +1 -0
  26. package/dist/{chunk-SF2PE7M6.js → chunk-ZJ7OSY4T.js} +4 -4
  27. package/dist/context-mention-palette/index.js +7 -6
  28. package/dist/i18n/index.d.ts +2 -2
  29. package/dist/i18n/index.js +2 -1
  30. package/dist/index.d.ts +1 -5
  31. package/dist/index.js +321 -245
  32. package/dist/index.js.map +1 -1
  33. package/dist/uiSettings-BQS9r2eo.d.ts +6 -0
  34. package/dist/workbench/contribution.js +1 -1
  35. package/dist/workbench/index.d.ts +3 -0
  36. package/dist/workbench/index.js +13 -2
  37. package/dist/workbench/sessionTitle.d.ts +28 -0
  38. package/dist/workbench/sessionTitle.js +14 -0
  39. package/dist/workbench/sessionTitle.js.map +1 -0
  40. package/dist/workspace-agent-generated-files.js +3 -2
  41. package/package.json +21 -14
  42. package/dist/chunk-25VZHG6G.js.map +0 -1
  43. package/dist/chunk-64OSXJRE.js.map +0 -1
  44. package/dist/chunk-GMLK2EFU.js.map +0 -1
  45. package/dist/chunk-IGXC7NRW.js.map +0 -1
  46. package/dist/chunk-ZTQKIJ5J.js.map +0 -1
  47. /package/dist/{chunk-ZORA4UAT.js.map → chunk-D6IYEVDT.js.map} +0 -0
  48. /package/dist/{chunk-J4MU53PH.js.map → chunk-NZ2BGOJU.js.map} +0 -0
  49. /package/dist/{chunk-SF2PE7M6.js.map → chunk-ZJ7OSY4T.js.map} +0 -0
@@ -89,32 +89,27 @@
89
89
  }
90
90
 
91
91
  .tsh-zoom-dialog [data-rmiz-modal-overlay="visible"] {
92
- background: color-mix(in srgb, var(--background-panel) 46%, transparent);
92
+ background: rgb(0 0 0 / 60%);
93
93
  backdrop-filter: blur(18px) saturate(1.02);
94
94
  }
95
95
 
96
96
  .tsh-zoom-dialog [data-rmiz-modal-overlay="hidden"] {
97
- background: color-mix(in srgb, var(--background-panel) 0%, transparent);
97
+ background: rgb(0 0 0 / 0%);
98
98
  }
99
99
 
100
100
  .tsh-zoom-dialog [data-rmiz-btn-unzoom] {
101
101
  top: max(20px, calc(var(--cove-titlebar-reserve, 0px) + 10px));
102
102
  right: 20px;
103
103
  inset-inline-end: 20px;
104
- background: color-mix(in srgb, var(--background-panel) 78%, black 22%);
105
- box-shadow:
106
- 0 18px 40px color-mix(in srgb, black 26%, transparent),
107
- 0 0 0 1px color-mix(in srgb, white 12%, transparent);
108
- color: var(--text-primary);
109
104
  }
110
105
 
111
106
  .tsh-zoom-dialog__image-actions {
112
107
  position: fixed;
113
108
  top: max(20px, calc(var(--cove-titlebar-reserve, 0px) + 10px));
114
- right: 72px;
109
+ right: 58px;
115
110
  z-index: 100301;
116
111
  display: flex;
117
- gap: 8px;
112
+ gap: 6px;
118
113
  }
119
114
 
120
115
  .tsh-image-context-menu {
@@ -131,7 +126,6 @@
131
126
  -webkit-app-region: no-drag;
132
127
  }
133
128
 
134
- .tsh-zoom-dialog__image-actions button,
135
129
  .tsh-image-context-menu button {
136
130
  display: flex;
137
131
  align-items: center;
@@ -146,23 +140,17 @@
146
140
  line-height: 20px;
147
141
  }
148
142
 
143
+ .tsh-zoom-dialog__icon-button,
149
144
  .tsh-zoom-dialog__image-actions button {
150
145
  justify-content: center;
151
- width: 40px;
152
- height: 40px;
153
- background: color-mix(in srgb, var(--background-panel) 78%, black 22%);
146
+ width: 32px;
147
+ height: 32px;
148
+ border-radius: 999px;
149
+ background: var(--background-fronted);
154
150
  box-shadow:
155
151
  0 18px 40px color-mix(in srgb, black 26%, transparent),
156
152
  0 0 0 1px color-mix(in srgb, white 12%, transparent);
157
- }
158
-
159
- .tsh-zoom-dialog__image-actions button span {
160
- position: absolute;
161
- width: 1px;
162
- height: 1px;
163
- overflow: hidden;
164
- clip: rect(0 0 0 0);
165
- white-space: nowrap;
153
+ color: var(--text-primary);
166
154
  }
167
155
 
168
156
  .tsh-image-context-menu button {
@@ -170,6 +158,7 @@
170
158
  padding: 7px 10px;
171
159
  }
172
160
 
161
+ .tsh-zoom-dialog__icon-button:hover,
173
162
  .tsh-zoom-dialog__image-actions button:hover,
174
163
  .tsh-image-context-menu button:hover {
175
164
  background: color-mix(in srgb, var(--background-panel) 82%, white 12%);
@@ -3774,14 +3763,41 @@ aside.workspace-agents-status-panel
3774
3763
  color: inherit;
3775
3764
  }
3776
3765
 
3777
- .agent-gui-node__composer-textarea [data-slot="mention-pill"],
3766
+ .agent-gui-node__composer-textarea .agent-rich-text-mention-node {
3767
+ display: inline-flex;
3768
+ align-items: center;
3769
+ height: 24px;
3770
+ min-height: 24px;
3771
+ line-height: 24px;
3772
+ vertical-align: middle;
3773
+ }
3774
+
3778
3775
  .agent-gui-node__composer-textarea
3779
- [data-agent-file-mention="true"].tsh-agent-object-token {
3776
+ .agent-rich-text-mention-node[data-agent-file-mention="true"].tsh-agent-object-token,
3777
+ .agent-gui-node__composer-textarea
3778
+ .agent-rich-text-mention-node
3779
+ [data-slot="mention-pill"] {
3780
+ display: inline-flex;
3781
+ align-items: center;
3780
3782
  cursor: pointer;
3783
+ top: 0;
3784
+ height: 24px;
3785
+ min-height: 24px;
3786
+ padding-top: 0;
3781
3787
  padding-right: 4px;
3788
+ padding-bottom: 0;
3782
3789
  padding-left: 4px;
3783
3790
  border-radius: 4px;
3791
+ line-height: 24px;
3792
+ transform: none;
3784
3793
  transition: background-color 140ms ease-in-out;
3794
+ vertical-align: middle;
3795
+ }
3796
+
3797
+ .agent-gui-node__composer-textarea
3798
+ .agent-rich-text-mention-node
3799
+ [data-slot="mention-pill"] {
3800
+ height: 24px;
3785
3801
  }
3786
3802
 
3787
3803
  .agent-gui-node__composer-textarea
@@ -3861,7 +3877,7 @@ aside.workspace-agents-status-panel
3861
3877
 
3862
3878
  .agent-gui-node__composer-textarea
3863
3879
  [data-agent-file-mention="true"].tsh-agent-object-token--file {
3864
- vertical-align: baseline;
3880
+ vertical-align: middle;
3865
3881
  }
3866
3882
 
3867
3883
  .agent-gui-node__shell {
@@ -3897,9 +3913,15 @@ aside.workspace-agents-status-panel
3897
3913
  --agent-conversation-text: var(--text-primary);
3898
3914
  --agent-conversation-user-text: var(--text-primary);
3899
3915
  --agent-conversation-user-bg: var(--agent-gui-surface-muted);
3900
- --agent-gui-background-1: var(--background-1, rgb(245 245 245));
3901
- --agent-gui-detail-padding-x: 28px;
3902
- --agent-gui-detail-flow-max-width: 1280px;
3916
+ --agent-gui-session-flow-background: var(
3917
+ --background-session-flow,
3918
+ rgb(252 253 255)
3919
+ );
3920
+ --agent-gui-session-sidepanel-background: var(
3921
+ --background-session-sidepanel,
3922
+ rgb(244 245 247)
3923
+ );
3924
+ --agent-gui-detail-padding-x: 32px;
3903
3925
  width: 100%;
3904
3926
  height: 100%;
3905
3927
  container: agent-gui-node / inline-size;
@@ -3908,12 +3930,26 @@ aside.workspace-agents-status-panel
3908
3930
  }
3909
3931
 
3910
3932
  :root[data-theme="dark"] .agent-gui-node__shell {
3911
- --agent-gui-background-1: var(--background-1, rgb(24 24 24));
3933
+ --agent-gui-session-flow-background: var(
3934
+ --background-session-flow,
3935
+ rgb(24 24 24)
3936
+ );
3937
+ --agent-gui-session-sidepanel-background: var(
3938
+ --background-session-sidepanel,
3939
+ rgb(42 42 43)
3940
+ );
3912
3941
  }
3913
3942
 
3914
3943
  @media (prefers-color-scheme: dark) {
3915
3944
  :root:not([data-theme="light"]) .agent-gui-node__shell {
3916
- --agent-gui-background-1: var(--background-1, rgb(24 24 24));
3945
+ --agent-gui-session-flow-background: var(
3946
+ --background-session-flow,
3947
+ rgb(24 24 24)
3948
+ );
3949
+ --agent-gui-session-sidepanel-background: var(
3950
+ --background-session-sidepanel,
3951
+ rgb(42 42 43)
3952
+ );
3917
3953
  }
3918
3954
  }
3919
3955
 
@@ -3934,8 +3970,8 @@ aside.workspace-agents-status-panel
3934
3970
  min-height: 0;
3935
3971
  min-width: 0;
3936
3972
  overflow: hidden;
3937
- background: transparent;
3938
- transition: grid-template-columns 100ms cubic-bezier(0.2, 0, 0, 1);
3973
+ background: var(--agent-gui-session-sidepanel-background);
3974
+ transition: grid-template-columns 180ms cubic-bezier(0.22, 1, 0.36, 1);
3939
3975
  }
3940
3976
 
3941
3977
  .agent-gui-node__layout[data-rail-resizing="true"] {
@@ -4009,7 +4045,7 @@ aside.workspace-agents-status-panel
4009
4045
  --agent-gui-workbench-header-traffic-light-hit-area-size: 20px;
4010
4046
  --agent-gui-workbench-header-traffic-light-gap: 8px;
4011
4047
  --agent-gui-workbench-header-traffic-light-size: 12px;
4012
- --agent-gui-workbench-header-title-max-width: 280px;
4048
+ --agent-gui-workbench-header-title-max-width: calc(100% - 32px);
4013
4049
  --agent-gui-workbench-header-text: var(--text-primary);
4014
4050
  --agent-gui-workbench-header-muted: var(--text-secondary);
4015
4051
 
@@ -4025,6 +4061,7 @@ aside.workspace-agents-status-panel
4025
4061
  color: var(--agent-gui-workbench-header-text);
4026
4062
  cursor: grab;
4027
4063
  pointer-events: auto;
4064
+ transition: grid-template-columns 180ms cubic-bezier(0.22, 1, 0.36, 1);
4028
4065
  user-select: none;
4029
4066
  }
4030
4067
 
@@ -4045,7 +4082,7 @@ aside.workspace-agents-status-panel
4045
4082
  align-items: center;
4046
4083
  gap: var(--agent-gui-workbench-header-primary-gap);
4047
4084
  padding: 0 var(--agent-gui-workbench-header-padding-x);
4048
- background: var(--background-panel);
4085
+ background: var(--agent-gui-session-sidepanel-background);
4049
4086
  pointer-events: auto;
4050
4087
  }
4051
4088
 
@@ -4100,24 +4137,54 @@ aside.workspace-agents-status-panel
4100
4137
  transition: background-color 160ms ease;
4101
4138
  }
4102
4139
 
4103
- .agent-gui-workbench-header__traffic-light:hover,
4104
- .agent-gui-workbench-header__traffic-light:focus-visible {
4140
+ .agent-gui-workbench-header__traffic-light-icon {
4141
+ position: absolute;
4142
+ z-index: 1;
4143
+ inset: 5px;
4144
+ width: 10px;
4145
+ height: 10px;
4146
+ color: color-mix(in srgb, #000 68%, transparent);
4147
+ opacity: 0;
4148
+ pointer-events: none;
4149
+ transition: opacity 120ms ease;
4150
+ }
4151
+
4152
+ .agent-gui-workbench-header__traffic-lights:hover
4153
+ .agent-gui-workbench-header__traffic-light,
4154
+ .agent-gui-workbench-header__traffic-lights:focus-within
4155
+ .agent-gui-workbench-header__traffic-light {
4105
4156
  opacity: 1;
4157
+ }
4158
+
4159
+ .agent-gui-workbench-header__traffic-light:focus-visible {
4106
4160
  outline: none;
4107
4161
  }
4108
4162
 
4109
- .agent-gui-workbench-header__traffic-light[data-agent-gui-workbench-traffic-light="close"]:hover::before,
4110
- .agent-gui-workbench-header__traffic-light[data-agent-gui-workbench-traffic-light="close"]:focus-visible::before {
4163
+ .agent-gui-workbench-header__traffic-lights:hover
4164
+ .agent-gui-workbench-header__traffic-light-icon,
4165
+ .agent-gui-workbench-header__traffic-lights:focus-within
4166
+ .agent-gui-workbench-header__traffic-light-icon {
4167
+ opacity: 1;
4168
+ }
4169
+
4170
+ .agent-gui-workbench-header__traffic-lights:hover
4171
+ .agent-gui-workbench-header__traffic-light[data-agent-gui-workbench-traffic-light="close"]::before,
4172
+ .agent-gui-workbench-header__traffic-lights:focus-within
4173
+ .agent-gui-workbench-header__traffic-light[data-agent-gui-workbench-traffic-light="close"]::before {
4111
4174
  background-color: #ff5f57;
4112
4175
  }
4113
4176
 
4114
- .agent-gui-workbench-header__traffic-light[data-agent-gui-workbench-traffic-light="minimize"]:hover::before,
4115
- .agent-gui-workbench-header__traffic-light[data-agent-gui-workbench-traffic-light="minimize"]:focus-visible::before {
4177
+ .agent-gui-workbench-header__traffic-lights:hover
4178
+ .agent-gui-workbench-header__traffic-light[data-agent-gui-workbench-traffic-light="minimize"]::before,
4179
+ .agent-gui-workbench-header__traffic-lights:focus-within
4180
+ .agent-gui-workbench-header__traffic-light[data-agent-gui-workbench-traffic-light="minimize"]::before {
4116
4181
  background-color: #ffbd2e;
4117
4182
  }
4118
4183
 
4119
- .agent-gui-workbench-header__traffic-light[data-agent-gui-workbench-traffic-light="maximize"]:hover::before,
4120
- .agent-gui-workbench-header__traffic-light[data-agent-gui-workbench-traffic-light="maximize"]:focus-visible::before {
4184
+ .agent-gui-workbench-header__traffic-lights:hover
4185
+ .agent-gui-workbench-header__traffic-light[data-agent-gui-workbench-traffic-light="maximize"]::before,
4186
+ .agent-gui-workbench-header__traffic-lights:focus-within
4187
+ .agent-gui-workbench-header__traffic-light[data-agent-gui-workbench-traffic-light="maximize"]::before {
4121
4188
  background-color: #28c840;
4122
4189
  }
4123
4190
 
@@ -4249,8 +4316,8 @@ aside.workspace-agents-status-panel
4249
4316
  touch-action: none;
4250
4317
  opacity: 1;
4251
4318
  transition:
4252
- left 100ms cubic-bezier(0.2, 0, 0, 1),
4253
- opacity 80ms ease;
4319
+ left 180ms cubic-bezier(0.22, 1, 0.36, 1),
4320
+ opacity 120ms ease;
4254
4321
  }
4255
4322
 
4256
4323
  .agent-gui-node__rail-resize-handle[data-resizing="true"] {
@@ -4291,7 +4358,7 @@ aside.workspace-agents-status-panel
4291
4358
  flex-direction: column;
4292
4359
  overflow: hidden;
4293
4360
  border-radius: 16px;
4294
- background: var(--agent-gui-background-1);
4361
+ background: var(--agent-gui-session-flow-background);
4295
4362
  }
4296
4363
 
4297
4364
  .agent-gui-node__detail-panel > .agent-gui-node__detail {
@@ -4307,15 +4374,16 @@ aside.workspace-agents-status-panel
4307
4374
  height: 100%;
4308
4375
  min-width: 0;
4309
4376
  min-height: 0;
4310
- background: transparent;
4377
+ background: var(--agent-gui-session-sidepanel-background);
4311
4378
  box-shadow: none;
4312
4379
  opacity: 1;
4313
4380
  }
4314
4381
 
4315
4382
  .agent-gui-node__rail > * {
4316
4383
  transition:
4317
- opacity 80ms ease,
4318
- filter 80ms ease;
4384
+ opacity 120ms ease,
4385
+ filter 120ms ease;
4386
+ transition-delay: 40ms;
4319
4387
  }
4320
4388
 
4321
4389
  .agent-gui-node__rail::after {
@@ -4324,9 +4392,13 @@ aside.workspace-agents-status-panel
4324
4392
  position: absolute;
4325
4393
  inset: 0;
4326
4394
  z-index: 1;
4327
- background: color-mix(in srgb, var(--node-surface) 88%, transparent);
4395
+ background: color-mix(
4396
+ in srgb,
4397
+ var(--agent-gui-session-sidepanel-background) 88%,
4398
+ transparent
4399
+ );
4328
4400
  opacity: 0;
4329
- transition: opacity 80ms ease;
4401
+ transition: opacity 120ms ease;
4330
4402
  }
4331
4403
 
4332
4404
  .agent-gui-node__rail-panel--collapsed .agent-gui-node__rail {
@@ -4346,6 +4418,7 @@ aside.workspace-agents-status-panel
4346
4418
 
4347
4419
  @media (prefers-reduced-motion: reduce) {
4348
4420
  .agent-gui-node__layout,
4421
+ .agent-gui-workbench-header,
4349
4422
  .agent-gui-node__rail-resize-handle,
4350
4423
  .agent-gui-node__rail > *,
4351
4424
  .agent-gui-node__rail::after {
@@ -5553,6 +5626,9 @@ button.agent-gui-node__conversation-section-toggle:hover
5553
5626
  scroll-padding-bottom: calc(
5554
5627
  120px + var(--agent-gui-bottom-dock-safe-area, 0px)
5555
5628
  );
5629
+ }
5630
+
5631
+ .agent-gui-node__timeline-with-composer.agent-gui-node__timeline--scrolled-from-top {
5556
5632
  -webkit-mask-image: linear-gradient(
5557
5633
  180deg,
5558
5634
  transparent 0,
@@ -5670,13 +5746,7 @@ button.agent-gui-node__conversation-section-toggle:hover
5670
5746
  gap: 0;
5671
5747
  margin-right: auto;
5672
5748
  margin-left: auto;
5673
- width: min(
5674
- 100%,
5675
- calc(
5676
- var(--agent-gui-detail-flow-max-width) +
5677
- var(--agent-gui-detail-padding-x) + var(--agent-gui-detail-padding-x)
5678
- )
5679
- );
5749
+ width: 100%;
5680
5750
  margin-top: auto;
5681
5751
  padding-top: 0;
5682
5752
  background: transparent;
@@ -5785,7 +5855,9 @@ button.agent-gui-node__conversation-section-toggle:hover
5785
5855
 
5786
5856
  .agent-gui-node__detail-header-title-group {
5787
5857
  display: flex;
5858
+ flex: 1 1 auto;
5788
5859
  min-width: 0;
5860
+ max-width: 100%;
5789
5861
  align-items: center;
5790
5862
  gap: 6px;
5791
5863
  }
@@ -6160,11 +6232,11 @@ button.agent-gui-node__conversation-section-toggle:hover
6160
6232
  box-sizing: border-box;
6161
6233
  height: var(--agent-gui-composer-input-height, 56px);
6162
6234
  min-height: 56px;
6163
- max-height: var(--agent-gui-composer-input-max-height, 120px);
6235
+ max-height: var(--agent-gui-composer-input-max-height, 110px);
6164
6236
  align-items: center;
6165
6237
  overflow: hidden;
6166
6238
  padding: 0 12px;
6167
- border: 1px solid var(--agent-gui-border-subtle);
6239
+ border: 1px solid var(--line-2);
6168
6240
  border-radius: 10px;
6169
6241
  background: var(--agent-gui-surface-raised);
6170
6242
  box-shadow: 0 8px 24px rgb(0 0 0 / 4%);
@@ -6178,7 +6250,7 @@ button.agent-gui-node__conversation-section-toggle:hover
6178
6250
  .agent-gui-node__composer-prompt-input-area:focus-within,
6179
6251
  .agent-gui-node__composer[data-layout="dock"]
6180
6252
  .agent-gui-node__composer-prompt-input-area:hover {
6181
- border-color: var(--agent-gui-border-subtle);
6253
+ border-color: var(--line-2);
6182
6254
  box-shadow: 0 8px 24px rgb(0 0 0 / 6%);
6183
6255
  }
6184
6256
 
@@ -6857,17 +6929,22 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
6857
6929
 
6858
6930
  .agent-gui-node__composer textarea,
6859
6931
  .agent-gui-node__composer-textarea {
6932
+ --agent-gui-composer-text-line-height: 24px;
6933
+ --agent-gui-composer-text-max-visible-lines: 3.5;
6934
+ /* prettier-ignore */
6935
+ --agent-gui-composer-text-viewport-height: calc(var(--agent-gui-composer-text-line-height) * var(--agent-gui-composer-text-max-visible-lines));
6936
+
6860
6937
  width: 100%;
6861
6938
  min-width: 0;
6862
6939
  min-height: 46px;
6863
- max-height: 72px;
6940
+ max-height: var(--agent-gui-composer-text-viewport-height);
6864
6941
  overflow-y: auto;
6865
6942
  border: 0;
6866
6943
  background: transparent;
6867
6944
  color: var(--agent-gui-text-primary);
6868
6945
  font: inherit;
6869
6946
  font-size: 13px;
6870
- line-height: 24px;
6947
+ line-height: var(--agent-gui-composer-text-line-height);
6871
6948
  outline: 0;
6872
6949
  padding: 0;
6873
6950
  resize: none;
@@ -6883,7 +6960,7 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
6883
6960
  display: block;
6884
6961
  height: auto;
6885
6962
  min-height: 24px;
6886
- max-height: calc(var(--agent-gui-composer-text-height, 56px) - 26px);
6963
+ max-height: var(--agent-gui-composer-text-viewport-height);
6887
6964
  overflow-x: hidden;
6888
6965
  overflow-y: auto;
6889
6966
  overflow-wrap: anywhere;
@@ -6898,12 +6975,18 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
6898
6975
  .agent-gui-node__composer[data-layout="dock"]
6899
6976
  .agent-gui-node__composer-prompt-input-area[data-has-draft-images="true"]
6900
6977
  .agent-gui-node__composer-textarea {
6901
- max-height: calc(var(--agent-gui-composer-text-height, 56px) - 26px);
6978
+ max-height: var(--agent-gui-composer-text-viewport-height);
6902
6979
  }
6903
6980
 
6981
+ .agent-gui-node__composer[data-layout="dock"]
6982
+ .agent-gui-node__composer-prompt-input-area:hover
6983
+ textarea,
6904
6984
  .agent-gui-node__composer[data-layout="dock"]
6905
6985
  .agent-gui-node__composer-prompt-input-area:hover
6906
6986
  .agent-gui-node__composer-textarea,
6987
+ .agent-gui-node__composer[data-layout="dock"]
6988
+ .agent-gui-node__composer-prompt-input-area:focus-within
6989
+ textarea,
6907
6990
  .agent-gui-node__composer[data-layout="dock"]
6908
6991
  .agent-gui-node__composer-prompt-input-area:focus-within
6909
6992
  .agent-gui-node__composer-textarea {
@@ -6913,8 +6996,9 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
6913
6996
  .agent-gui-node__composer[data-layout="dock"] textarea::-webkit-scrollbar,
6914
6997
  .agent-gui-node__composer[data-layout="dock"]
6915
6998
  .agent-gui-node__composer-textarea::-webkit-scrollbar {
6916
- display: none;
6917
- width: 4px;
6999
+ display: block;
7000
+ width: 0;
7001
+ height: 0;
6918
7002
  }
6919
7003
 
6920
7004
  .agent-gui-node__composer[data-layout="dock"]
@@ -6929,7 +7013,8 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
6929
7013
  .agent-gui-node__composer[data-layout="dock"]
6930
7014
  .agent-gui-node__composer-prompt-input-area:focus-within
6931
7015
  .agent-gui-node__composer-textarea::-webkit-scrollbar {
6932
- display: block;
7016
+ width: 4px;
7017
+ height: 4px;
6933
7018
  }
6934
7019
 
6935
7020
  .agent-gui-node__composer textarea::-webkit-scrollbar,
@@ -7012,7 +7097,7 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
7012
7097
  height: 0;
7013
7098
  color: var(--agent-gui-text-tertiary);
7014
7099
  font-size: 13px;
7015
- line-height: 1.3;
7100
+ line-height: 24px;
7016
7101
  pointer-events: none;
7017
7102
  }
7018
7103
 
@@ -7032,7 +7117,7 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
7032
7117
  .agent-gui-node__composer textarea::placeholder,
7033
7118
  .agent-gui-node__composer-textarea::placeholder {
7034
7119
  color: var(--agent-gui-text-tertiary);
7035
- line-height: 1.3;
7120
+ line-height: 24px;
7036
7121
  }
7037
7122
 
7038
7123
  .agent-gui-node__composer-input-shell:focus-within,
@@ -7,20 +7,17 @@ import {
7
7
  AgentGUIConversation_styles_default,
8
8
  MessageSquareMoreIcon,
9
9
  extractAgentMcpToolTarget
10
- } from "./chunk-ZTQKIJ5J.js";
10
+ } from "./chunk-QT45WUPQ.js";
11
11
  import {
12
12
  Spinner
13
- } from "./chunk-J4MU53PH.js";
13
+ } from "./chunk-NZ2BGOJU.js";
14
14
  import {
15
15
  getOptionalAgentHostApi,
16
16
  useOptionalAgentHostApi
17
17
  } from "./chunk-TXXWUG2J.js";
18
- import {
19
- normalizeAgentTitleText
20
- } from "./chunk-GCBDIQDX.js";
21
18
  import {
22
19
  translate
23
- } from "./chunk-IGXC7NRW.js";
20
+ } from "./chunk-EIC7XS3C.js";
24
21
 
25
22
  // shared/agentConversation/approvalOptionPresentation.ts
26
23
  function approvalOptionDisplayLabel(option, intent = {}) {
@@ -1117,100 +1114,10 @@ function interactiveOptionLabel(label, description) {
1117
1114
  return trimmedDescription ? `${label} ${trimmedDescription}` : label;
1118
1115
  }
1119
1116
 
1120
- // shared/utils/agentSessionMentionText.ts
1121
- import {
1122
- isRichTextMentionHref,
1123
- parseRichTextMentionHref
1124
- } from "@tutti-os/ui-rich-text/core";
1125
- var MARKDOWN_LINK_PATTERN = /\[((?:\\.|[^\]\\])*)\]\(([^)\s]+)\)/g;
1126
- var MARKDOWN_LABEL_ESCAPE_PATTERN = /\\([\\[\]()])/g;
1127
- var SESSION_MENTION_DISPLAY_PREFIX_BY_LANGUAGE = {
1128
- "zh-CN": "@\u4F1A\u8BDD \xB7 ",
1129
- en: "@session \xB7 "
1130
- };
1131
- var PLAIN_SESSION_AGENT_LABELS = [
1132
- "Claude Code",
1133
- "Gemini CLI",
1134
- "Hermes Agent",
1135
- "OpenClaw",
1136
- "Nexight",
1137
- "Gemini",
1138
- "Hermes",
1139
- "Codex"
1140
- ];
1141
- function formatAgentSessionMentionText(value, options = {}) {
1142
- const trimmed = value?.trim() ?? "";
1143
- if (!trimmed) {
1144
- return "";
1145
- }
1146
- const sessionMentionDisplayPrefix = sessionMentionDisplayPrefixForLanguage(
1147
- options.language
1148
- );
1149
- const withSessionMentionsNormalized = trimmed.replace(
1150
- MARKDOWN_LINK_PATTERN,
1151
- (fullMatch, rawLabel, href) => {
1152
- const label = unescapeMarkdownLabel(rawLabel);
1153
- const mention = parseRichTextMentionHref(href, label);
1154
- if (!mention) {
1155
- return isRichTextMentionHref(href) ? label : fullMatch;
1156
- }
1157
- const providerId = mention.providerId.trim().toLowerCase();
1158
- const displayLabel = label || mention.label;
1159
- if (providerId === "agent-session") {
1160
- return formatSessionLabel(displayLabel, sessionMentionDisplayPrefix);
1161
- }
1162
- if (providerId === "workspace-issue") {
1163
- return formatIssueLabel(displayLabel);
1164
- }
1165
- return displayLabel;
1166
- }
1167
- );
1168
- const normalized = normalizeAgentTitleText(withSessionMentionsNormalized);
1169
- if (isPlainSessionMentionText(normalized, sessionMentionDisplayPrefix)) {
1170
- return formatSessionLabel(normalized, sessionMentionDisplayPrefix);
1171
- }
1172
- return normalized;
1173
- }
1174
- function isPlainSessionMentionText(value, sessionMentionDisplayPrefix) {
1175
- const trimmed = value.trim();
1176
- if (!trimmed.startsWith("@") || trimmed.startsWith(sessionMentionDisplayPrefix)) {
1177
- return false;
1178
- }
1179
- return PLAIN_SESSION_AGENT_LABELS.some((agentLabel) => {
1180
- const ampersandSeparator = ` & ${agentLabel}`;
1181
- const ampersandIndex = trimmed.indexOf(ampersandSeparator);
1182
- if (ampersandIndex > 1) {
1183
- const trailing = trimmed.slice(
1184
- ampersandIndex + ampersandSeparator.length
1185
- );
1186
- if (trailing === "" || trailing.startsWith(" ")) {
1187
- return true;
1188
- }
1189
- }
1190
- const dottedSeparator = ` \xB7 ${agentLabel} \xB7 `;
1191
- return trimmed.indexOf(dottedSeparator) > 1;
1192
- });
1193
- }
1194
- function sessionMentionDisplayPrefixForLanguage(language) {
1195
- return SESSION_MENTION_DISPLAY_PREFIX_BY_LANGUAGE[language ?? "en"];
1196
- }
1197
- function formatSessionLabel(label, sessionMentionDisplayPrefix) {
1198
- const normalizedLabel = label.trim().replace(/^@+/, "").trim();
1199
- return normalizedLabel ? `${sessionMentionDisplayPrefix}${normalizedLabel}` : label.trim();
1200
- }
1201
- function formatIssueLabel(label) {
1202
- const normalizedLabel = label.trim().replace(/^@+/, "").trim();
1203
- return normalizedLabel ? `@Task \xB7 ${normalizedLabel}` : label.trim();
1204
- }
1205
- function unescapeMarkdownLabel(label) {
1206
- return label.replace(MARKDOWN_LABEL_ESCAPE_PATTERN, "$1");
1207
- }
1208
-
1209
1117
  export {
1210
- formatAgentSessionMentionText,
1211
1118
  approvalOptionDisplayLabel,
1212
1119
  getPromptToolDetails,
1213
1120
  isPromptRequestIdTitle,
1214
1121
  AgentInteractivePromptSurface
1215
1122
  };
1216
- //# sourceMappingURL=chunk-GMLK2EFU.js.map
1123
+ //# sourceMappingURL=chunk-62QOR3TC.js.map