@tutti-os/agent-gui 0.0.220 → 0.0.222
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.
- package/dist/agent-conversation/index.js +1 -1
- package/dist/agent-gui.js +2 -2
- package/dist/app/renderer/agentactivity.css +72 -6
- package/dist/{chunk-6SYYX63E.js → chunk-BJSTRLSI.js} +20 -4
- package/dist/chunk-BJSTRLSI.js.map +1 -0
- package/dist/{chunk-DBM4HFIU.js → chunk-LZW5S3XJ.js} +214 -150
- package/dist/{chunk-DBM4HFIU.js.map → chunk-LZW5S3XJ.js.map} +1 -1
- package/dist/index.js +2 -2
- package/package.json +14 -14
- package/dist/chunk-6SYYX63E.js.map +0 -1
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
reconcileProjectedAgentConversationVM,
|
|
8
8
|
serializeAgentConversationForClipboard,
|
|
9
9
|
useProjectedAgentConversation
|
|
10
|
-
} from "../chunk-
|
|
10
|
+
} from "../chunk-BJSTRLSI.js";
|
|
11
11
|
import "../chunk-F6J3LJXK.js";
|
|
12
12
|
import "../chunk-Z35E22WS.js";
|
|
13
13
|
import "../chunk-LQMIEH4C.js";
|
package/dist/agent-gui.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AgentGUI
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-LZW5S3XJ.js";
|
|
4
4
|
import "./chunk-LB4AGT7B.js";
|
|
5
5
|
import "./chunk-A4WCTHWS.js";
|
|
6
6
|
import "./chunk-7V5XYXKB.js";
|
|
@@ -11,7 +11,7 @@ import "./chunk-MGSRWYRN.js";
|
|
|
11
11
|
import "./chunk-CBMWHQ7P.js";
|
|
12
12
|
import "./chunk-KZIW5CCW.js";
|
|
13
13
|
import "./chunk-EVQ4JY3N.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-BJSTRLSI.js";
|
|
15
15
|
import "./chunk-F6J3LJXK.js";
|
|
16
16
|
import "./chunk-Z35E22WS.js";
|
|
17
17
|
import "./chunk-LQMIEH4C.js";
|
|
@@ -3797,6 +3797,17 @@ aside.workspace-agents-status-panel
|
|
|
3797
3797
|
margin-right: -36px;
|
|
3798
3798
|
}
|
|
3799
3799
|
|
|
3800
|
+
/*
|
|
3801
|
+
* Participant headers render once per visible turn. Later assistant-owned
|
|
3802
|
+
* transcript rows are siblings of that header row, so carry the same
|
|
3803
|
+
* avatar-and-gap inset onto their content without changing host row padding.
|
|
3804
|
+
*/
|
|
3805
|
+
.agent-gui-transcript-row[data-agent-transcript-row-participant-content="assistant"]
|
|
3806
|
+
> * {
|
|
3807
|
+
box-sizing: border-box;
|
|
3808
|
+
padding-left: 36px;
|
|
3809
|
+
}
|
|
3810
|
+
|
|
3800
3811
|
.agent-gui-conversation__participant-name {
|
|
3801
3812
|
overflow: hidden;
|
|
3802
3813
|
font-size: 13px;
|
|
@@ -5636,8 +5647,6 @@ aside.workspace-agents-status-panel
|
|
|
5636
5647
|
align-items: center;
|
|
5637
5648
|
gap: 10px;
|
|
5638
5649
|
min-width: 0;
|
|
5639
|
-
/* Right inset mirrors the conversation list's 4px padding + 8px native
|
|
5640
|
-
scrollbar gutter so the toolbar controls end flush with the row edges. */
|
|
5641
5650
|
padding: 2px 12px 16px 12px;
|
|
5642
5651
|
}
|
|
5643
5652
|
|
|
@@ -5978,10 +5987,9 @@ aside.workspace-agents-status-panel
|
|
|
5978
5987
|
min-height: 0;
|
|
5979
5988
|
overflow-x: hidden;
|
|
5980
5989
|
overflow-y: auto;
|
|
5981
|
-
/*
|
|
5982
|
-
|
|
5983
|
-
|
|
5984
|
-
padding: 0 4px 18px 12px;
|
|
5990
|
+
/* The native overlay scrollbar does not reserve a gutter on macOS, so the
|
|
5991
|
+
right inset must match the left side explicitly. */
|
|
5992
|
+
padding: 0 12px 18px 12px;
|
|
5985
5993
|
}
|
|
5986
5994
|
|
|
5987
5995
|
.agent-gui-node__conversation-section {
|
|
@@ -8900,6 +8908,64 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
|
|
|
8900
8908
|
opacity: 1;
|
|
8901
8909
|
}
|
|
8902
8910
|
|
|
8911
|
+
.agent-gui-node__composer-tutti-mode-icon {
|
|
8912
|
+
position: relative;
|
|
8913
|
+
display: inline-flex;
|
|
8914
|
+
width: 16px;
|
|
8915
|
+
height: 16px;
|
|
8916
|
+
flex: 0 0 16px;
|
|
8917
|
+
align-items: center;
|
|
8918
|
+
justify-content: center;
|
|
8919
|
+
/* Inherit color from the chip label so the mark tracks every state:
|
|
8920
|
+
text-secondary at rest, text-primary on hover, tutti-purple when armed. */
|
|
8921
|
+
contain: layout paint;
|
|
8922
|
+
}
|
|
8923
|
+
|
|
8924
|
+
.agent-gui-node__composer-tutti-mode-icon-static,
|
|
8925
|
+
.agent-gui-node__composer-tutti-mode-icon-animated {
|
|
8926
|
+
width: 16px;
|
|
8927
|
+
height: 16px;
|
|
8928
|
+
display: block;
|
|
8929
|
+
}
|
|
8930
|
+
|
|
8931
|
+
.agent-gui-node__composer-tutti-mode-icon-static {
|
|
8932
|
+
background-color: currentColor;
|
|
8933
|
+
opacity: 1;
|
|
8934
|
+
}
|
|
8935
|
+
|
|
8936
|
+
.agent-gui-node__composer-tutti-mode-icon:has(
|
|
8937
|
+
.agent-gui-node__composer-tutti-mode-icon-animated[data-active="true"]
|
|
8938
|
+
)
|
|
8939
|
+
.agent-gui-node__composer-tutti-mode-icon-static {
|
|
8940
|
+
opacity: 0;
|
|
8941
|
+
}
|
|
8942
|
+
|
|
8943
|
+
.agent-gui-node__composer-tutti-mode-icon-animated {
|
|
8944
|
+
position: absolute;
|
|
8945
|
+
inset: 0;
|
|
8946
|
+
/* Match the 16px static mark exactly; the APNG canvas already pads the
|
|
8947
|
+
snapping hand and bursting stars, so no enlargement is applied. */
|
|
8948
|
+
transform: translateZ(0);
|
|
8949
|
+
opacity: 0;
|
|
8950
|
+
pointer-events: none;
|
|
8951
|
+
backface-visibility: hidden;
|
|
8952
|
+
will-change: opacity, transform;
|
|
8953
|
+
}
|
|
8954
|
+
|
|
8955
|
+
.agent-gui-node__composer-tutti-mode-icon-animated[data-active="true"] {
|
|
8956
|
+
opacity: 1;
|
|
8957
|
+
}
|
|
8958
|
+
|
|
8959
|
+
@media (prefers-reduced-motion: reduce) {
|
|
8960
|
+
.agent-gui-node__composer-tutti-mode-icon-animated {
|
|
8961
|
+
display: none;
|
|
8962
|
+
}
|
|
8963
|
+
|
|
8964
|
+
.agent-gui-node__composer-tutti-mode-icon-static {
|
|
8965
|
+
opacity: 1 !important;
|
|
8966
|
+
}
|
|
8967
|
+
}
|
|
8968
|
+
|
|
8903
8969
|
.agent-gui-node__composer-handoff-icon[data-disabled="true"]
|
|
8904
8970
|
.agent-gui-node__composer-handoff-icon-animated {
|
|
8905
8971
|
opacity: 0;
|
|
@@ -12251,7 +12251,7 @@ function AgentVisibleErrorMessage({
|
|
|
12251
12251
|
{
|
|
12252
12252
|
role: isPlanOrQuotaLimit ? "status" : "alert",
|
|
12253
12253
|
className: `box-border w-full min-w-0 rounded-[8px] border p-3 text-[13px] leading-5 text-[var(--text-primary)] ${ERROR_BANNER_CLASS_NAME}`,
|
|
12254
|
-
children: /* @__PURE__ */ jsxs42("div", { className: "flex min-w-0 items-
|
|
12254
|
+
children: /* @__PURE__ */ jsxs42("div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
12255
12255
|
/* @__PURE__ */ jsxs42("div", { className: "min-w-0 flex-1", children: [
|
|
12256
12256
|
/* @__PURE__ */ jsx58("div", { className: "font-medium text-[var(--text-primary)]", children: headline }),
|
|
12257
12257
|
hint ? /* @__PURE__ */ jsx58("div", { className: "mt-1 text-[11px] text-[var(--text-secondary)]", children: hint }) : null
|
|
@@ -12262,7 +12262,7 @@ function AgentVisibleErrorMessage({
|
|
|
12262
12262
|
type: "button",
|
|
12263
12263
|
variant: "ghost",
|
|
12264
12264
|
size: "sm",
|
|
12265
|
-
className: "
|
|
12265
|
+
className: "shrink-0",
|
|
12266
12266
|
onClick: () => {
|
|
12267
12267
|
if (externalAction?.url) {
|
|
12268
12268
|
onExternalLink?.(externalAction.url);
|
|
@@ -15509,6 +15509,19 @@ function participantPresentationEqual(previous, next) {
|
|
|
15509
15509
|
}
|
|
15510
15510
|
return previous.user.name === next.user.name && previous.user.avatarUrl === next.user.avatarUrl && previous.agent.name === next.agent.name && previous.agent.avatarUrl === next.agent.avatarUrl;
|
|
15511
15511
|
}
|
|
15512
|
+
function isAssistantParticipantContentRow(row) {
|
|
15513
|
+
switch (row.kind) {
|
|
15514
|
+
case "message":
|
|
15515
|
+
return row.speaker === "assistant";
|
|
15516
|
+
case "generated-image":
|
|
15517
|
+
case "processing":
|
|
15518
|
+
case "tool-group":
|
|
15519
|
+
case "turn-summary":
|
|
15520
|
+
return true;
|
|
15521
|
+
case "goal-control":
|
|
15522
|
+
return false;
|
|
15523
|
+
}
|
|
15524
|
+
}
|
|
15512
15525
|
function transcriptLabelsEqual(previous, next) {
|
|
15513
15526
|
return previous === next || previous.thinkingLabel === next.thinkingLabel && previous.processing === next.processing && previous.turnSummary === next.turnSummary && previous.rawTimelineJson === next.rawTimelineJson && previous.userMessageLocator === next.userMessageLocator && previous.toolCallsLabel === next.toolCallsLabel;
|
|
15514
15527
|
}
|
|
@@ -15700,6 +15713,8 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
|
|
|
15700
15713
|
const renderRow = (row, rowIndex, renderKey) => {
|
|
15701
15714
|
const rowKey = renderKey ?? (displayRows[rowIndex] === row ? rowKeys[rowIndex] ?? transcriptRowKey(row) : transcriptRowKey(row));
|
|
15702
15715
|
const shouldAnimateEnter = row.kind !== "processing" && enteringRowKeys.has(rowKey);
|
|
15716
|
+
const showParticipantHeader = participantHeaderRenderKeys?.has(rowKey) ?? false;
|
|
15717
|
+
const participantContent = participantHeadersEnabled && !showParticipantHeader && isAssistantParticipantContentRow(row) ? "assistant" : void 0;
|
|
15703
15718
|
return /* @__PURE__ */ jsx70(
|
|
15704
15719
|
"div",
|
|
15705
15720
|
{
|
|
@@ -15710,6 +15725,7 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
|
|
|
15710
15725
|
"data-agent-transcript-row-thinking-first": row.kind === "message" && row.speaker === "assistant" && row.thinking.length > 0 ? "true" : void 0,
|
|
15711
15726
|
"data-agent-transcript-row-thinking-last": row.kind === "message" && row.speaker === "assistant" && row.thinking.length > 0 && row.messages.length === 0 ? "true" : void 0,
|
|
15712
15727
|
"data-agent-transcript-row-index": rowIndex,
|
|
15728
|
+
"data-agent-transcript-row-participant-content": participantContent,
|
|
15713
15729
|
"data-agent-transcript-row-enter": shouldAnimateEnter ? "true" : void 0,
|
|
15714
15730
|
children: /* @__PURE__ */ jsx70(
|
|
15715
15731
|
AgentTranscriptItemView,
|
|
@@ -15725,7 +15741,7 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
|
|
|
15725
15741
|
workspaceAppIcons,
|
|
15726
15742
|
showRawTimelineJson,
|
|
15727
15743
|
participantPresentation,
|
|
15728
|
-
showParticipantHeader
|
|
15744
|
+
showParticipantHeader,
|
|
15729
15745
|
toolGroupExpanded: row.kind === "tool-group" ? expandedToolRows[rowKey] === true : void 0,
|
|
15730
15746
|
toolGroupExpansionKey: row.kind === "tool-group" ? rowKey : void 0,
|
|
15731
15747
|
onToolGroupExpandedChange: handleToolGroupExpandedChange
|
|
@@ -15967,4 +15983,4 @@ export {
|
|
|
15967
15983
|
AgentConversationFlow,
|
|
15968
15984
|
useProjectedAgentConversation
|
|
15969
15985
|
};
|
|
15970
|
-
//# sourceMappingURL=chunk-
|
|
15986
|
+
//# sourceMappingURL=chunk-BJSTRLSI.js.map
|