@tutti-os/agent-gui 0.0.82 → 0.0.84

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 (37) hide show
  1. package/dist/agent-conversation/index.js +5 -5
  2. package/dist/agent-message-center/index.js +7 -7
  3. package/dist/app/renderer/agentactivity.css +65 -137
  4. package/dist/{chunk-AIYGF64O.js → chunk-3355GEBI.js} +2 -2
  5. package/dist/{chunk-PVLUSXH5.js → chunk-6YLA7R4S.js} +2 -2
  6. package/dist/{chunk-Z7KHS6LK.js → chunk-A2JPL5N6.js} +2 -2
  7. package/dist/{chunk-5WZEOARY.js → chunk-AA75BOX3.js} +3 -1
  8. package/dist/chunk-AA75BOX3.js.map +1 -0
  9. package/dist/{chunk-5BFYTHJB.js → chunk-CVPWQHQH.js} +2 -2
  10. package/dist/{chunk-3PB2FL74.js → chunk-CXJEQQR5.js} +2 -2
  11. package/dist/{chunk-CCJUGHQQ.js → chunk-FIH7IYLX.js} +8 -7
  12. package/dist/chunk-FIH7IYLX.js.map +1 -0
  13. package/dist/{chunk-FYSYKWN6.js → chunk-HUNUSBQQ.js} +2 -2
  14. package/dist/{chunk-T56L2H2H.js → chunk-MQ6WW3CD.js} +2 -2
  15. package/dist/{chunk-U4F3VJ5C.js → chunk-N7EX6XK3.js} +3 -3
  16. package/dist/{chunk-GE4CCOWC.js → chunk-UNLTQUPO.js} +4 -4
  17. package/dist/context-mention-palette/index.js +6 -6
  18. package/dist/i18n/index.d.ts +2 -0
  19. package/dist/i18n/index.js +2 -2
  20. package/dist/index.d.ts +1 -0
  21. package/dist/index.js +1947 -1313
  22. package/dist/index.js.map +1 -1
  23. package/dist/workbench/index.js +3 -3
  24. package/dist/workbench/sessionTitle.js +3 -3
  25. package/dist/workspace-agent-generated-files.js +3 -3
  26. package/package.json +17 -15
  27. package/dist/chunk-5WZEOARY.js.map +0 -1
  28. package/dist/chunk-CCJUGHQQ.js.map +0 -1
  29. /package/dist/{chunk-AIYGF64O.js.map → chunk-3355GEBI.js.map} +0 -0
  30. /package/dist/{chunk-PVLUSXH5.js.map → chunk-6YLA7R4S.js.map} +0 -0
  31. /package/dist/{chunk-Z7KHS6LK.js.map → chunk-A2JPL5N6.js.map} +0 -0
  32. /package/dist/{chunk-5BFYTHJB.js.map → chunk-CVPWQHQH.js.map} +0 -0
  33. /package/dist/{chunk-3PB2FL74.js.map → chunk-CXJEQQR5.js.map} +0 -0
  34. /package/dist/{chunk-FYSYKWN6.js.map → chunk-HUNUSBQQ.js.map} +0 -0
  35. /package/dist/{chunk-T56L2H2H.js.map → chunk-MQ6WW3CD.js.map} +0 -0
  36. /package/dist/{chunk-U4F3VJ5C.js.map → chunk-N7EX6XK3.js.map} +0 -0
  37. /package/dist/{chunk-GE4CCOWC.js.map → chunk-UNLTQUPO.js.map} +0 -0
@@ -6,20 +6,20 @@ import {
6
6
  projectAgentConversationVM,
7
7
  reconcileProjectedAgentConversationVM,
8
8
  useProjectedAgentConversation
9
- } from "../chunk-CCJUGHQQ.js";
10
- import "../chunk-FYSYKWN6.js";
9
+ } from "../chunk-FIH7IYLX.js";
10
+ import "../chunk-HUNUSBQQ.js";
11
11
  import "../chunk-PSLAWU25.js";
12
- import "../chunk-3PB2FL74.js";
12
+ import "../chunk-CXJEQQR5.js";
13
13
  import "../chunk-Y35GDLP2.js";
14
14
  import "../chunk-LUGELG5V.js";
15
15
  import "../chunk-LR4FA5X6.js";
16
16
  import "../chunk-4HP6V2YA.js";
17
17
  import {
18
18
  translate
19
- } from "../chunk-T56L2H2H.js";
19
+ } from "../chunk-MQ6WW3CD.js";
20
20
  import "../chunk-PJP5BUU6.js";
21
21
  import "../chunk-XDV4ZRVK.js";
22
- import "../chunk-5WZEOARY.js";
22
+ import "../chunk-AA75BOX3.js";
23
23
 
24
24
  // shared/WorkspaceAgentSessionDetail.tsx
25
25
  import { useMemo } from "react";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  formatAgentGuiConversationPlainTitle
3
- } from "../chunk-PVLUSXH5.js";
3
+ } from "../chunk-6YLA7R4S.js";
4
4
  import {
5
5
  AgentInteractivePromptSurface,
6
6
  approvalOptionDisplayLabel,
7
7
  getPromptToolDetails,
8
8
  isPromptRequestIdTitle
9
- } from "../chunk-U4F3VJ5C.js";
9
+ } from "../chunk-N7EX6XK3.js";
10
10
  import {
11
11
  PLAN_IMPLEMENTATION_ACTION_IMPLEMENT,
12
12
  PLAN_IMPLEMENTATION_PROMPT,
@@ -15,7 +15,7 @@ import {
15
15
  } from "../chunk-MKHDRIGN.js";
16
16
  import {
17
17
  formatAgentSessionMentionText
18
- } from "../chunk-AIYGF64O.js";
18
+ } from "../chunk-3355GEBI.js";
19
19
  import {
20
20
  AgentMessageMarkdown,
21
21
  CustomScrollArea,
@@ -25,11 +25,11 @@ import {
25
25
  extractExitPlanModeOptions,
26
26
  isExitPlanSwitchModeInput,
27
27
  normalizeAskUserQuestions
28
- } from "../chunk-FYSYKWN6.js";
28
+ } from "../chunk-HUNUSBQQ.js";
29
29
  import {
30
30
  userAvatarPlaceholderUrl,
31
31
  workspaceAgentActivityStatusLabel
32
- } from "../chunk-5BFYTHJB.js";
32
+ } from "../chunk-CVPWQHQH.js";
33
33
  import {
34
34
  resolveWorkspaceAgentSessionSortTimeUnixMs
35
35
  } from "../chunk-IBIMGLCD.js";
@@ -43,10 +43,10 @@ import {
43
43
  AgentGuiI18nProvider,
44
44
  getActiveUiLanguage,
45
45
  useTranslation
46
- } from "../chunk-T56L2H2H.js";
46
+ } from "../chunk-MQ6WW3CD.js";
47
47
  import "../chunk-PJP5BUU6.js";
48
48
  import "../chunk-XDV4ZRVK.js";
49
- import "../chunk-5WZEOARY.js";
49
+ import "../chunk-AA75BOX3.js";
50
50
  import "../chunk-GCBDIQDX.js";
51
51
 
52
52
  // agent-message-center/WorkspaceAgentMessageCenterPanel.tsx
@@ -8893,29 +8893,6 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
8893
8893
  color: var(--brand-primary, var(--tutti-purple));
8894
8894
  }
8895
8895
 
8896
- .agent-gui-node__provider-rail-avatar:has(
8897
- > .agent-gui-node__provider-rail-launchpad-icon
8898
- ),
8899
- .agent-gui-node__provider-rail-tile:hover:not(:disabled)
8900
- .agent-gui-node__provider-rail-avatar:has(
8901
- > .agent-gui-node__provider-rail-launchpad-icon
8902
- ) {
8903
- border-color: transparent;
8904
- background: transparent;
8905
- }
8906
-
8907
- .agent-gui-node__provider-rail-tile[data-selected="true"]
8908
- .agent-gui-node__provider-rail-avatar:has(
8909
- > .agent-gui-node__provider-rail-launchpad-icon
8910
- ),
8911
- .agent-gui-node__provider-rail-tile[data-selected="true"]:hover:not(:disabled)
8912
- .agent-gui-node__provider-rail-avatar:has(
8913
- > .agent-gui-node__provider-rail-launchpad-icon
8914
- ) {
8915
- border-color: var(--tutti-purple);
8916
- background: var(--transparency-block);
8917
- }
8918
-
8919
8896
  .agent-gui-node__provider-rail-avatar-icon {
8920
8897
  width: 18px;
8921
8898
  height: 18px;
@@ -8950,114 +8927,6 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
8950
8927
  object-fit: cover;
8951
8928
  }
8952
8929
 
8953
- .agent-gui-node__provider-rail-launchpad-icon {
8954
- box-sizing: border-box;
8955
- display: grid;
8956
- width: 28px;
8957
- height: 28px;
8958
- grid-template-columns: repeat(2, 1fr);
8959
- gap: 2px;
8960
- padding: 1px;
8961
- border: 0;
8962
- border-radius: 6px;
8963
- background: transparent;
8964
- }
8965
-
8966
- .agent-gui-node__provider-rail-launchpad-item {
8967
- display: grid;
8968
- min-width: 0;
8969
- min-height: 0;
8970
- place-items: center;
8971
- overflow: hidden;
8972
- background: var(--background-fronted);
8973
- border-radius: 4px;
8974
- box-shadow: 0 0 0 0.5px color-mix(in srgb, var(--line-2) 70%, transparent);
8975
- transition: opacity 140ms ease;
8976
- }
8977
-
8978
- .agent-gui-node__provider-rail-launchpad-icon img {
8979
- width: 100%;
8980
- height: 100%;
8981
- object-fit: cover;
8982
- }
8983
-
8984
- .agent-gui-node__empty-hero-launchpad-icon {
8985
- /* Size to the strip's actual content and stay centered. A fixed width narrower
8986
- than the icons left-anchors the overflow, dragging the "centered" selected
8987
- agent off to one side. */
8988
- width: fit-content;
8989
- max-width: 100%;
8990
- height: 48px;
8991
- border: 0;
8992
- border-radius: 0;
8993
- background: transparent;
8994
- box-shadow: none;
8995
- overflow: visible;
8996
- color: var(--tutti-purple);
8997
- animation: agent-gui-empty-hero-enter 260ms cubic-bezier(0.16, 1, 0.3, 1) 40ms
8998
- both;
8999
- }
9000
-
9001
- /* Hero launchpad: agents laid out as one centered horizontal group while
9002
- neighbours fade away from the selected agent. Scoped to the hero so the left
9003
- rail "All" tile (a single composed image) is unaffected. */
9004
- .agent-gui-node__empty-hero-launchpad-icon
9005
- .agent-gui-node__provider-rail-launchpad-icon {
9006
- display: flex;
9007
- width: max-content;
9008
- max-width: 100%;
9009
- height: 48px;
9010
- align-items: center;
9011
- justify-content: center;
9012
- gap: 10px;
9013
- padding: 0;
9014
- border-radius: 0;
9015
- background: transparent;
9016
- overflow: visible;
9017
- }
9018
-
9019
- .agent-gui-node__empty-hero-launchpad-icon
9020
- .agent-gui-node__provider-rail-launchpad-item {
9021
- flex: 0 0 auto;
9022
- width: 36px;
9023
- height: 36px;
9024
- border-radius: 9px;
9025
- transition:
9026
- opacity 220ms ease,
9027
- transform 220ms cubic-bezier(0.16, 1, 0.3, 1),
9028
- box-shadow 220ms ease;
9029
- }
9030
-
9031
- .agent-gui-node__empty-hero-launchpad-icon
9032
- .agent-gui-node__provider-rail-launchpad-item[data-provider-active="true"] {
9033
- transform: scale(1.14);
9034
- box-shadow: 0 0 0 1.5px var(--tutti-purple);
9035
- }
9036
-
9037
- /* Clickable agent switchers: reset native button chrome, keep the same box, and
9038
- give a hover/focus affordance so the strip reads as interactive. */
9039
- button.agent-gui-node__provider-rail-launchpad-item {
9040
- padding: 0;
9041
- border: 0;
9042
- cursor: pointer;
9043
- appearance: none;
9044
- -webkit-appearance: none;
9045
- }
9046
-
9047
- .agent-gui-node__empty-hero-launchpad-icon
9048
- button.agent-gui-node__provider-rail-launchpad-item:hover:not(
9049
- [data-provider-active="true"]
9050
- ) {
9051
- opacity: 1 !important;
9052
- transform: scale(1.08);
9053
- }
9054
-
9055
- .agent-gui-node__empty-hero-launchpad-icon
9056
- button.agent-gui-node__provider-rail-launchpad-item:focus-visible {
9057
- outline: none;
9058
- box-shadow: 0 0 0 1.5px var(--tutti-purple);
9059
- }
9060
-
9061
8930
  .agent-gui-node__provider-rail-tile[data-loading="true"]
9062
8931
  .agent-gui-node__provider-rail-avatar {
9063
8932
  background: linear-gradient(
@@ -9105,12 +8974,13 @@ button.agent-gui-node__provider-rail-launchpad-item {
9105
8974
  place-items: center;
9106
8975
  }
9107
8976
 
9108
- /* The horizontal launchpad strip is wider than the single-icon slot; let the
9109
- slot grow to the strip's width so the selected agent stays centered. */
8977
+ /* The coverflow carousel needs a wider, taller stage than the single-icon
8978
+ slot; keep it centered in the hero column. */
9110
8979
  .agent-gui-node__empty-hero-icon-slot:has(
9111
- > .agent-gui-node__empty-hero-launchpad-icon
8980
+ > .agent-gui-node__empty-hero-carousel
9112
8981
  ) {
9113
- width: auto;
8982
+ width: min(400px, 100%);
8983
+ height: auto;
9114
8984
  }
9115
8985
 
9116
8986
  .agent-gui-node__empty-hero-icon-effect {
@@ -9179,6 +9049,59 @@ button.agent-gui-node__provider-rail-launchpad-item {
9179
9049
  object-fit: contain;
9180
9050
  }
9181
9051
 
9052
+ /* Empty-hero agent carousel ("All" tab): a three.js ring of same-sized agent
9053
+ tiles (see agentGuiHeroCarouselScene.ts). Tiles farther around the ring
9054
+ genuinely shrink and fade with perspective; visuals live on the canvas,
9055
+ while visually-hidden buttons keep the switcher reachable by keyboard,
9056
+ screen readers, and DOM tests. */
9057
+ .agent-gui-node__empty-hero-carousel {
9058
+ position: relative;
9059
+ width: 100%;
9060
+ height: 112px;
9061
+ outline: none;
9062
+ touch-action: pan-y;
9063
+ animation: agent-gui-empty-hero-enter 260ms cubic-bezier(0.16, 1, 0.3, 1) 40ms
9064
+ both;
9065
+ }
9066
+
9067
+ .agent-gui-node__empty-hero-carousel:has(:focus-visible) {
9068
+ border-radius: 12px;
9069
+ box-shadow: 0 0 0 1.5px var(--tutti-purple);
9070
+ }
9071
+
9072
+ .agent-gui-node__empty-hero-carousel-canvas {
9073
+ display: block;
9074
+ width: 100%;
9075
+ height: 100%;
9076
+
9077
+ /* Fade-out mask: a horizontal band dissolves tiles toward the stage sides
9078
+ (the fully-transparent stops sit where the outermost tiles ride, not at
9079
+ the canvas edges), intersected with a vertical band so tiles sinking
9080
+ down the wheel melt away instead of being cut by the canvas bottom. */
9081
+ mask-image:
9082
+ linear-gradient(
9083
+ 90deg,
9084
+ transparent 12%,
9085
+ #000 36%,
9086
+ #000 64%,
9087
+ transparent 88%
9088
+ ),
9089
+ linear-gradient(180deg, #000 0%, #000 70%, transparent 96%);
9090
+ mask-composite: intersect;
9091
+ }
9092
+
9093
+ .agent-gui-node__empty-hero-carousel-item {
9094
+ position: absolute;
9095
+ overflow: hidden;
9096
+ width: 1px;
9097
+ height: 1px;
9098
+ margin: -1px;
9099
+ padding: 0;
9100
+ border: 0;
9101
+ clip-path: inset(50%);
9102
+ white-space: nowrap;
9103
+ }
9104
+
9182
9105
  .agent-gui-node__empty-hero-title {
9183
9106
  margin: 0;
9184
9107
  text-align: center;
@@ -9203,11 +9126,16 @@ button.agent-gui-node__provider-rail-launchpad-item {
9203
9126
 
9204
9127
  /* Gate gap is 8px; add 16px so the icon-to-title spacing is 24px. */
9205
9128
  .agent-gui-node__empty-provider-gate > .agent-gui-node__empty-hero-icon-effect,
9206
- .agent-gui-node__empty-provider-gate
9207
- > .agent-gui-node__empty-hero-launchpad-icon {
9129
+ .agent-gui-node__empty-provider-gate > .agent-gui-node__empty-hero-carousel {
9208
9130
  margin-bottom: 16px;
9209
9131
  }
9210
9132
 
9133
+ /* Keep the gate's carousel the same width as the ready hero's so the ring
9134
+ doesn't jump when selection lands on an unavailable agent. */
9135
+ .agent-gui-node__empty-provider-gate > .agent-gui-node__empty-hero-carousel {
9136
+ max-width: min(400px, 100%);
9137
+ }
9138
+
9211
9139
  .agent-gui-node__empty-provider-gate-description {
9212
9140
  max-width: 420px;
9213
9141
  margin: 0;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  translateInUiLanguage
3
- } from "./chunk-5WZEOARY.js";
3
+ } from "./chunk-AA75BOX3.js";
4
4
  import {
5
5
  normalizeAgentTitleText
6
6
  } from "./chunk-GCBDIQDX.js";
@@ -322,4 +322,4 @@ export {
322
322
  resolveAgentGUIProviderDisplayLabel,
323
323
  firstAgentGUIUserMessageTitle
324
324
  };
325
- //# sourceMappingURL=chunk-AIYGF64O.js.map
325
+ //# sourceMappingURL=chunk-3355GEBI.js.map
@@ -4,7 +4,7 @@ import {
4
4
  formatAgentSessionMentionText,
5
5
  normalizeAgentGUIProviderIdentity,
6
6
  resolveAgentGUIExplicitConversationTitle
7
- } from "./chunk-AIYGF64O.js";
7
+ } from "./chunk-3355GEBI.js";
8
8
 
9
9
  // workbench/sessionTitle.ts
10
10
  function formatAgentGuiSessionPlainTitle(title, options = {}) {
@@ -96,4 +96,4 @@ export {
96
96
  formatAgentGuiConversationPlainTitle,
97
97
  resolveAgentGuiWorkbenchSessionTitle
98
98
  };
99
- //# sourceMappingURL=chunk-PVLUSXH5.js.map
99
+ //# sourceMappingURL=chunk-6YLA7R4S.js.map
@@ -12,7 +12,7 @@ import {
12
12
  import {
13
13
  translate,
14
14
  translateInUiLanguage
15
- } from "./chunk-T56L2H2H.js";
15
+ } from "./chunk-MQ6WW3CD.js";
16
16
  import {
17
17
  normalizeAgentTitleText
18
18
  } from "./chunk-GCBDIQDX.js";
@@ -826,4 +826,4 @@ export {
826
826
  resolveWorkspaceAgentActivityStatus,
827
827
  resolveWorkspaceAgentActivityTitle
828
828
  };
829
- //# sourceMappingURL=chunk-Z7KHS6LK.js.map
829
+ //# sourceMappingURL=chunk-A2JPL5N6.js.map
@@ -489,6 +489,7 @@ var en = {
489
489
  reasoningOptionHigh: "High",
490
490
  reasoningOptionXHigh: "X-High",
491
491
  reasoningOptionMax: "Max",
492
+ reasoningOptionUltra: "Ultra",
492
493
  speedLabel: "Speed",
493
494
  speedSelectionLabel: "Speed",
494
495
  speedOptionStandard: "Standard",
@@ -2966,6 +2967,7 @@ var zhCN = {
2966
2967
  reasoningOptionHigh: "\u9AD8",
2967
2968
  reasoningOptionXHigh: "\u8D85\u9AD8",
2968
2969
  reasoningOptionMax: "\u6700\u9AD8",
2970
+ reasoningOptionUltra: "\u6781\u81F4",
2969
2971
  speedLabel: "\u901F\u5EA6",
2970
2972
  speedSelectionLabel: "\u901F\u5EA6",
2971
2973
  speedOptionStandard: "\u6807\u51C6",
@@ -5016,4 +5018,4 @@ export {
5016
5018
  translateInUiLanguage,
5017
5019
  getActiveUiLanguage
5018
5020
  };
5019
- //# sourceMappingURL=chunk-5WZEOARY.js.map
5021
+ //# sourceMappingURL=chunk-AA75BOX3.js.map