@tutti-os/agent-gui 0.0.216 → 0.0.217
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/README.md +6 -0
- package/dist/{agentFileMentionContracts-BeBex-Sf.d.ts → AgentMentionSearchContracts-y1_u9cPi.d.ts} +73 -1
- package/dist/{AgentRichTextReadonly-IPPNAAWG.js → AgentRichTextReadonly-WZHUIARR.js} +7 -7
- package/dist/agent-conversation/index.js +9 -9
- package/dist/agent-gui.d.ts +16 -3
- package/dist/agent-gui.js +23 -22
- package/dist/agent-message-center/index.js +6 -6
- package/dist/app/renderer/agentactivity.css +93 -69
- package/dist/{chunk-VMPPZO5C.js → chunk-2QF3RBR4.js} +4 -4
- package/dist/{chunk-DTP2OMCE.js → chunk-44OCOBJS.js} +9 -11
- package/dist/chunk-44OCOBJS.js.map +1 -0
- package/dist/chunk-6GX57XB5.js +135 -0
- package/dist/chunk-6GX57XB5.js.map +1 -0
- package/dist/{chunk-EZRQMJTX.js → chunk-FS7EMOVD.js} +4 -4
- package/dist/{chunk-6A6OVD66.js → chunk-G2KRK7Z5.js} +44 -18
- package/dist/chunk-G2KRK7Z5.js.map +1 -0
- package/dist/{chunk-YY5WM3OE.js → chunk-GDLM6FLK.js} +90 -47
- package/dist/chunk-GDLM6FLK.js.map +1 -0
- package/dist/{chunk-UERICUWM.js → chunk-GLVENTN6.js} +2 -2
- package/dist/{chunk-B4TM2HYJ.js → chunk-JQOQETPN.js} +5 -5
- package/dist/{chunk-QFYOJMEQ.js → chunk-M6WEFXPL.js} +2 -2
- package/dist/{chunk-AOK22J62.js → chunk-N2M4B3G3.js} +2 -2
- package/dist/{chunk-DLN33TPF.js → chunk-NXQGAXIE.js} +8 -8
- package/dist/{chunk-MOCBHFJ2.js → chunk-O4QFGCLU.js} +42 -118
- package/dist/chunk-O4QFGCLU.js.map +1 -0
- package/dist/{chunk-Z5UJC4Q3.js → chunk-PPAV2TB4.js} +3 -3
- package/dist/{chunk-4CHBM3G3.js → chunk-SUVMLCED.js} +5 -5
- package/dist/{chunk-KJA3HHUJ.js → chunk-TKECUCUW.js} +529 -291
- package/dist/chunk-TKECUCUW.js.map +1 -0
- package/dist/{chunk-P2RIZAK5.js → chunk-ZXEICU6J.js} +3 -1
- package/dist/chunk-ZXEICU6J.js.map +1 -0
- package/dist/context-mention-palette/index.d.ts +3 -3
- package/dist/context-mention-palette/index.js +12 -12
- package/dist/headerLayout-CP4ujEbo.d.ts +14 -0
- package/dist/i18n/index.d.ts +2 -0
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +77 -46
- package/dist/index.js +46 -39
- package/dist/index.js.map +1 -1
- package/dist/layout.d.ts +7 -0
- package/dist/layout.js +9 -0
- package/dist/layout.js.map +1 -0
- package/dist/mention-search.d.ts +6 -73
- package/dist/mention-search.js +8 -8
- package/dist/workbench/browser-element-context/index.js +2 -2
- package/dist/workbench/contribution.js +7 -6
- package/dist/workbench/index.d.ts +3 -1
- package/dist/workbench/index.js +10 -9
- package/dist/workbench/launch.js +2 -2
- package/dist/workbench/sessionTitle.js +2 -2
- package/dist/workbench/tool-sidebar/index.d.ts +14 -13
- package/dist/workbench/tool-sidebar/index.js +66 -55
- package/dist/workbench/tool-sidebar/index.js.map +1 -1
- package/package.json +23 -16
- package/dist/chunk-6A6OVD66.js.map +0 -1
- package/dist/chunk-DTP2OMCE.js.map +0 -1
- package/dist/chunk-KJA3HHUJ.js.map +0 -1
- package/dist/chunk-MOCBHFJ2.js.map +0 -1
- package/dist/chunk-P2RIZAK5.js.map +0 -1
- package/dist/chunk-YY5WM3OE.js.map +0 -1
- /package/dist/{AgentRichTextReadonly-IPPNAAWG.js.map → AgentRichTextReadonly-WZHUIARR.js.map} +0 -0
- /package/dist/{chunk-VMPPZO5C.js.map → chunk-2QF3RBR4.js.map} +0 -0
- /package/dist/{chunk-EZRQMJTX.js.map → chunk-FS7EMOVD.js.map} +0 -0
- /package/dist/{chunk-UERICUWM.js.map → chunk-GLVENTN6.js.map} +0 -0
- /package/dist/{chunk-B4TM2HYJ.js.map → chunk-JQOQETPN.js.map} +0 -0
- /package/dist/{chunk-QFYOJMEQ.js.map → chunk-M6WEFXPL.js.map} +0 -0
- /package/dist/{chunk-AOK22J62.js.map → chunk-N2M4B3G3.js.map} +0 -0
- /package/dist/{chunk-DLN33TPF.js.map → chunk-NXQGAXIE.js.map} +0 -0
- /package/dist/{chunk-Z5UJC4Q3.js.map → chunk-PPAV2TB4.js.map} +0 -0
- /package/dist/{chunk-4CHBM3G3.js.map → chunk-SUVMLCED.js.map} +0 -0
package/README.md
CHANGED
|
@@ -144,6 +144,12 @@ package renders fixed-size circular loading slots. In the `ready` state, each
|
|
|
144
144
|
participant requires a non-empty `name`; `avatarUrl` is optional and the shared
|
|
145
145
|
UI System `Avatar` falls back to the name's initial.
|
|
146
146
|
|
|
147
|
+
Participant headers are turn-scoped. Agent GUI renders at most one header for
|
|
148
|
+
each speaker in a presentation turn, even when thinking, tool progress, or
|
|
149
|
+
turn-work disclosure splits that turn into multiple message rows. A completed
|
|
150
|
+
collapsed turn anchors the Agent header to visible reply content instead of the
|
|
151
|
+
hidden work section.
|
|
152
|
+
|
|
147
153
|
The host owns identity lookup and lifecycle. Agent GUI owns placement, sizing,
|
|
148
154
|
loading treatment, image fallback, and left/right message alignment. The
|
|
149
155
|
contract is presentation-only and must not be copied into canonical Session,
|
package/dist/{agentFileMentionContracts-BeBex-Sf.d.ts → AgentMentionSearchContracts-y1_u9cPi.d.ts}
RENAMED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import { AgentContextMentionProvider } from './context-mention-provider.js';
|
|
2
|
+
import { MentionPaletteGroup, MentionPaletteState } from '@tutti-os/ui-rich-text/at-panel';
|
|
3
|
+
|
|
4
|
+
type RuntimeDiagnosticsDetailValue = string | number | boolean | null;
|
|
5
|
+
|
|
1
6
|
type AgentFileMentionKind = "file" | "directory" | "unknown";
|
|
2
7
|
type AgentMentionFileNavigationAction = "agent-generated-folder" | "agent-generated-folder-back" | "workspace-folder" | "workspace-folder-back";
|
|
3
8
|
type AgentMentionScope = "my_sessions" | "collab_sessions";
|
|
@@ -118,4 +123,71 @@ interface AgentMentionCustomItem {
|
|
|
118
123
|
}
|
|
119
124
|
type AgentContextMentionItem = AgentMentionFileItem | AgentMentionAgentTargetItem | AgentMentionSessionItem | AgentMentionWorkspaceAppItem | AgentMentionWorkspaceReferenceItem | AgentMentionWorkspaceAppFactoryItem | AgentMentionWorkspaceIssueItem | AgentMentionCustomItem;
|
|
120
125
|
|
|
121
|
-
|
|
126
|
+
type AgentMentionProviderDiagnosticStatus = "success" | "timeout" | "error" | "missing";
|
|
127
|
+
interface AgentMentionProviderQueryDiagnostic {
|
|
128
|
+
durationMs: number;
|
|
129
|
+
errorKind?: string;
|
|
130
|
+
providerId: string;
|
|
131
|
+
resultCount: number;
|
|
132
|
+
status: AgentMentionProviderDiagnosticStatus;
|
|
133
|
+
}
|
|
134
|
+
interface AgentMentionSearchDiagnosticLog {
|
|
135
|
+
debounceMs: number;
|
|
136
|
+
durationMs: number;
|
|
137
|
+
errorKind?: string;
|
|
138
|
+
event: "agent_gui.mention_search";
|
|
139
|
+
filter: AgentMentionFilterId;
|
|
140
|
+
groupCount: number;
|
|
141
|
+
itemCount: number;
|
|
142
|
+
mode: "browse" | "results";
|
|
143
|
+
providerResults: AgentMentionProviderQueryDiagnostic[];
|
|
144
|
+
providerTimeoutMs: number;
|
|
145
|
+
queryLength: number;
|
|
146
|
+
requestId: number;
|
|
147
|
+
status: "ready" | "error";
|
|
148
|
+
workspaceId: string;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
type AgentMentionFilterId = "session" | "file" | "issue" | "agent" | "app";
|
|
152
|
+
type AgentMentionStaticGroupId = "apps" | "agents" | "files" | "opened_files" | "agent_generated_files" | "my_sessions" | "collab_sessions" | "issues";
|
|
153
|
+
type AgentMentionIssueTopicGroupId = `issue-topic:${string}`;
|
|
154
|
+
type AgentMentionProvenanceGroupId = `agent:${string}`;
|
|
155
|
+
type AgentMentionMemberGroupId = `member:${string}`;
|
|
156
|
+
type AgentMentionGroupId = AgentMentionStaticGroupId | AgentMentionIssueTopicGroupId | AgentMentionProvenanceGroupId | AgentMentionMemberGroupId;
|
|
157
|
+
type AgentMentionRawGroupId = Exclude<AgentMentionStaticGroupId, "files" | "my_sessions" | "collab_sessions"> | "sessions";
|
|
158
|
+
type AgentMentionRawGroups = Record<AgentMentionRawGroupId, AgentContextMentionItem[]>;
|
|
159
|
+
type AgentMentionTotalCounts = Partial<Record<AgentMentionGroupId, number>>;
|
|
160
|
+
interface AgentMentionIssueTopicGroup {
|
|
161
|
+
id: `issue-topic:${string}`;
|
|
162
|
+
providerGroupId: string;
|
|
163
|
+
label: string;
|
|
164
|
+
items: AgentContextMentionItem[];
|
|
165
|
+
totalCount: number;
|
|
166
|
+
nextPageToken: string | null;
|
|
167
|
+
loadMoreStatus: "idle" | "loading" | "error";
|
|
168
|
+
loadMoreError: string | null;
|
|
169
|
+
}
|
|
170
|
+
interface AgentMentionBrowseCategory {
|
|
171
|
+
id: AgentMentionFilterId;
|
|
172
|
+
label: string;
|
|
173
|
+
}
|
|
174
|
+
type AgentMentionGroup = MentionPaletteGroup<AgentContextMentionItem>;
|
|
175
|
+
type AgentMentionSearchState = MentionPaletteState<AgentContextMentionItem>;
|
|
176
|
+
interface AgentMentionSearchControllerOptions {
|
|
177
|
+
contextMentionProviders?: readonly AgentContextMentionProvider[];
|
|
178
|
+
debounceMs?: number;
|
|
179
|
+
fileLimit?: number;
|
|
180
|
+
issueLimit?: number;
|
|
181
|
+
browseCacheTtlMs?: number;
|
|
182
|
+
providerTimeoutMs?: number;
|
|
183
|
+
diagnosticInfoLogger?: (payload: AgentMentionSearchDiagnosticLog) => void;
|
|
184
|
+
diagnosticNow?: () => number;
|
|
185
|
+
diagnosticSlowThresholdMs?: number;
|
|
186
|
+
}
|
|
187
|
+
type AgentMentionSearchListener = (state: AgentMentionSearchState) => void;
|
|
188
|
+
interface AgentMentionLifecycleDiagnosticLog {
|
|
189
|
+
event: "browse.open" | "browse.preload" | "browse.cache" | "browse.fetch.start" | "browse.fetch.dedupe" | "browse.fetch.success" | "browse.fetch.error" | "browse.apply.skipped";
|
|
190
|
+
details: Record<string, RuntimeDiagnosticsDetailValue>;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
export type { AgentContextMentionItem as A, RuntimeDiagnosticsDetailValue as R, AgentMentionBrowseCategory as a, AgentMentionFilterId as b, AgentMentionGroup as c, AgentMentionGroupId as d, AgentMentionIssueTopicGroup as e, AgentMentionLifecycleDiagnosticLog as f, AgentMentionProviderQueryDiagnostic as g, AgentMentionRawGroups as h, AgentMentionSearchControllerOptions as i, AgentMentionSearchDiagnosticLog as j, AgentMentionSearchListener as k, AgentMentionSearchState as l, AgentMentionTotalCounts as m };
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AgentRichTextReadonly
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-B4TM2HYJ.js";
|
|
5
|
-
import "./chunk-3V5OCA2M.js";
|
|
6
|
-
import "./chunk-FGLQZ6I4.js";
|
|
3
|
+
} from "./chunk-NXQGAXIE.js";
|
|
7
4
|
import "./chunk-LQMIEH4C.js";
|
|
5
|
+
import "./chunk-JQOQETPN.js";
|
|
6
|
+
import "./chunk-3V5OCA2M.js";
|
|
8
7
|
import "./chunk-M6HTOCQK.js";
|
|
9
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-GLVENTN6.js";
|
|
10
9
|
import "./chunk-5BJYO6X3.js";
|
|
11
10
|
import "./chunk-AFUVWWQY.js";
|
|
12
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-ZXEICU6J.js";
|
|
12
|
+
import "./chunk-FGLQZ6I4.js";
|
|
13
13
|
import "./chunk-D2JUDUYY.js";
|
|
14
14
|
import "./chunk-QNE2ZPPV.js";
|
|
15
15
|
import "./chunk-O433KXLK.js";
|
|
16
16
|
export {
|
|
17
17
|
AgentRichTextReadonly
|
|
18
18
|
};
|
|
19
|
-
//# sourceMappingURL=AgentRichTextReadonly-
|
|
19
|
+
//# sourceMappingURL=AgentRichTextReadonly-WZHUIARR.js.map
|
|
@@ -7,26 +7,26 @@ import {
|
|
|
7
7
|
reconcileProjectedAgentConversationVM,
|
|
8
8
|
serializeAgentConversationForClipboard,
|
|
9
9
|
useProjectedAgentConversation
|
|
10
|
-
} from "../chunk-
|
|
11
|
-
import "../chunk-
|
|
10
|
+
} from "../chunk-GDLM6FLK.js";
|
|
11
|
+
import "../chunk-NXQGAXIE.js";
|
|
12
|
+
import "../chunk-PPAV2TB4.js";
|
|
13
|
+
import "../chunk-LQMIEH4C.js";
|
|
12
14
|
import "../chunk-N4HLBSMJ.js";
|
|
13
15
|
import "../chunk-XJ34OIEQ.js";
|
|
14
|
-
import "../chunk-
|
|
16
|
+
import "../chunk-JQOQETPN.js";
|
|
15
17
|
import "../chunk-JDVP33S5.js";
|
|
16
18
|
import "../chunk-3V5OCA2M.js";
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-Z5UJC4Q3.js";
|
|
19
|
-
import "../chunk-LQMIEH4C.js";
|
|
20
|
-
import "../chunk-QFYOJMEQ.js";
|
|
19
|
+
import "../chunk-M6WEFXPL.js";
|
|
21
20
|
import "../chunk-M6HTOCQK.js";
|
|
22
21
|
import "../chunk-F5UR6EJG.js";
|
|
23
22
|
import {
|
|
24
23
|
translate
|
|
25
|
-
} from "../chunk-
|
|
24
|
+
} from "../chunk-GLVENTN6.js";
|
|
26
25
|
import "../chunk-5BJYO6X3.js";
|
|
27
26
|
import "../chunk-AFUVWWQY.js";
|
|
28
|
-
import "../chunk-P2RIZAK5.js";
|
|
29
27
|
import "../chunk-MIJXEELH.js";
|
|
28
|
+
import "../chunk-ZXEICU6J.js";
|
|
29
|
+
import "../chunk-FGLQZ6I4.js";
|
|
30
30
|
import "../chunk-D2JUDUYY.js";
|
|
31
31
|
import "../chunk-QNE2ZPPV.js";
|
|
32
32
|
import "../chunk-O433KXLK.js";
|
package/dist/agent-gui.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { l as AgentHostAgentSessionComposerSettings, p as AgentHostUnactivateAge
|
|
|
6
6
|
import { A as AgentComposerDraft, i as AgentSessionCommand, d as AgentGUIProviderSkillOption, b as AgentGUIComposerSettingsVM, e as AgentGUIQueueStatus, f as AgentGUIQueuedPromptVM, h as AgentMessageMarkdownWorkspaceAppIcon, j as AgentSlashCommandCapability, c as AgentGUINodeViewModel, a as AgentComposerDraftFile, k as AgentUsageQuota, g as AgentHostInputApi } from './agentGuiNodeTypes-DW7T--Y8.js';
|
|
7
7
|
import { WorkspaceFileReference, ReferenceLocateTarget, WorkspaceFileReferenceAdapter, ReferenceProvenanceCatalog } from '@tutti-os/workspace-file-reference/contracts';
|
|
8
8
|
export { ReferenceProvenanceCatalog as AgentGUIReferenceProvenanceFilterCatalog } from '@tutti-os/workspace-file-reference/contracts';
|
|
9
|
-
import { A as AgentContextMentionItem } from './
|
|
9
|
+
import { A as AgentContextMentionItem, b as AgentMentionFilterId } from './AgentMentionSearchContracts-y1_u9cPi.js';
|
|
10
10
|
import { A as AgentGuiI18nLocale } from './runtime-Dwf44VKc.js';
|
|
11
11
|
import { WorkspaceFileEntry } from '@tutti-os/workspace-file-manager/services';
|
|
12
12
|
import { ReferenceSourceAggregator } from '@tutti-os/workspace-file-reference/core';
|
|
@@ -18,6 +18,10 @@ import { WorkspaceUserProject } from '@tutti-os/workspace-user-project/contracts
|
|
|
18
18
|
import { ReferenceProvenanceFilterSnapshot, ReferenceProvenanceFilterController } from '@tutti-os/workspace-file-reference/react';
|
|
19
19
|
import { RichTextMentionService } from '@tutti-os/ui-rich-text/service';
|
|
20
20
|
import './planImplementationPresentation-BxVOLt6A.js';
|
|
21
|
+
import './context-mention-provider.js';
|
|
22
|
+
import '@tutti-os/ui-rich-text/types';
|
|
23
|
+
import '@tutti-os/workspace-external-core/contracts';
|
|
24
|
+
import '@tutti-os/ui-rich-text/at-panel';
|
|
21
25
|
import '@tutti-os/workspace-issue-manager/core';
|
|
22
26
|
|
|
23
27
|
declare const APP_UPDATE_POLICIES: readonly ["off", "prompt", "auto"];
|
|
@@ -612,6 +616,9 @@ interface AgentComposerReferenceProvenanceFilter {
|
|
|
612
616
|
snapshot: ReferenceProvenanceFilterSnapshot;
|
|
613
617
|
controller: Pick<ReferenceProvenanceFilterController, "reset" | "toggle" | "toggleAll">;
|
|
614
618
|
}
|
|
619
|
+
interface AgentComposerReferenceProvenanceFilters {
|
|
620
|
+
byFilter: Record<AgentMentionFilterId, AgentComposerReferenceProvenanceFilter>;
|
|
621
|
+
}
|
|
615
622
|
interface AgentComposerSubmitOptions {
|
|
616
623
|
requiredSettingsPatch?: AgentActivitySubmitSettingsPatch;
|
|
617
624
|
capabilityRefs?: readonly AgentComposerCapabilityReference[];
|
|
@@ -956,7 +963,7 @@ interface AgentComposerProps {
|
|
|
956
963
|
path: string;
|
|
957
964
|
} | null>;
|
|
958
965
|
onRequestGitBranches?: AgentComposerGitBranchLoader | null;
|
|
959
|
-
|
|
966
|
+
referenceProvenanceFilters?: AgentComposerReferenceProvenanceFilters | null;
|
|
960
967
|
}
|
|
961
968
|
type AgentComposerCapabilitySettingsTarget = Exclude<AgentSlashCommandCapability["capability"], "tutti">;
|
|
962
969
|
interface AgentComposerCapabilityMenuState {
|
|
@@ -1449,7 +1456,12 @@ interface AgentGUINodeFrameLayout {
|
|
|
1449
1456
|
/** Host-projected presentation visibility. Independent from node focus. */
|
|
1450
1457
|
isVisible?: boolean;
|
|
1451
1458
|
embedded?: boolean;
|
|
1452
|
-
|
|
1459
|
+
/**
|
|
1460
|
+
* Standalone windows preserve the middle conversation width and collapse
|
|
1461
|
+
* the conversation Rail before it can be compressed. Other surfaces retain
|
|
1462
|
+
* the default responsive policy.
|
|
1463
|
+
*/
|
|
1464
|
+
conversationRailAutoCollapseMode?: "preserve-middle-content";
|
|
1453
1465
|
}
|
|
1454
1466
|
type AgentGUISessionActionRequest = AgentGuiWorkbenchSessionActionRequest;
|
|
1455
1467
|
interface AgentGUINodeRuntimeRequests {
|
|
@@ -1529,6 +1541,7 @@ interface AgentGUINodeHostActions {
|
|
|
1529
1541
|
onConversationRailLayoutChange?: (layout: AgentGUIConversationRailLayout) => void;
|
|
1530
1542
|
}
|
|
1531
1543
|
interface AgentGUINodeRenderSlots {
|
|
1544
|
+
projectDirectoryPickerHeaderActions?: ReferenceSourcePickerProps["renderHeaderActions"];
|
|
1532
1545
|
providerRailEmpty?: AgentGUIAgentsEmptyRenderer;
|
|
1533
1546
|
providerUnavailableState?: AgentGUIProviderUnavailableStateRenderer;
|
|
1534
1547
|
sidebarFooter?: (ctx: AgentGUISidebarFooterContext) => ReactNode;
|
package/dist/agent-gui.js
CHANGED
|
@@ -1,45 +1,46 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AgentGUI
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-TKECUCUW.js";
|
|
4
4
|
import "./chunk-LB4AGT7B.js";
|
|
5
5
|
import "./chunk-A4WCTHWS.js";
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-O4QFGCLU.js";
|
|
7
|
+
import "./chunk-2QF3RBR4.js";
|
|
8
8
|
import "./chunk-KDN6SLJM.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-CBMWHQ7P.js";
|
|
9
|
+
import "./chunk-SUVMLCED.js";
|
|
11
10
|
import "./chunk-MGSRWYRN.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-CBMWHQ7P.js";
|
|
12
|
+
import "./chunk-FS7EMOVD.js";
|
|
13
|
+
import "./chunk-EVQ4JY3N.js";
|
|
14
|
+
import "./chunk-GDLM6FLK.js";
|
|
15
|
+
import "./chunk-NXQGAXIE.js";
|
|
16
|
+
import "./chunk-PPAV2TB4.js";
|
|
17
|
+
import "./chunk-LQMIEH4C.js";
|
|
18
|
+
import "./chunk-FMTWYOHM.js";
|
|
14
19
|
import "./chunk-N4HLBSMJ.js";
|
|
15
20
|
import "./chunk-UP3ZDYTN.js";
|
|
16
21
|
import "./chunk-GUFEHWUX.js";
|
|
17
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-44OCOBJS.js";
|
|
23
|
+
import "./chunk-N2M4B3G3.js";
|
|
18
24
|
import "./chunk-3MVSOLX3.js";
|
|
19
25
|
import "./chunk-G7DS23D4.js";
|
|
20
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-6GX57XB5.js";
|
|
27
|
+
import "./chunk-G2KRK7Z5.js";
|
|
21
28
|
import "./chunk-VMPA46ET.js";
|
|
29
|
+
import "./chunk-YMXYBG7U.js";
|
|
22
30
|
import "./chunk-XJ34OIEQ.js";
|
|
23
|
-
import "./chunk-
|
|
31
|
+
import "./chunk-JQOQETPN.js";
|
|
24
32
|
import "./chunk-JDVP33S5.js";
|
|
25
33
|
import "./chunk-3V5OCA2M.js";
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-FGLQZ6I4.js";
|
|
28
|
-
import "./chunk-EZRQMJTX.js";
|
|
29
|
-
import "./chunk-EVQ4JY3N.js";
|
|
30
|
-
import "./chunk-Z5UJC4Q3.js";
|
|
31
|
-
import "./chunk-LQMIEH4C.js";
|
|
32
|
-
import "./chunk-FMTWYOHM.js";
|
|
33
|
-
import "./chunk-AOK22J62.js";
|
|
34
|
-
import "./chunk-YMXYBG7U.js";
|
|
35
|
-
import "./chunk-QFYOJMEQ.js";
|
|
34
|
+
import "./chunk-M6WEFXPL.js";
|
|
36
35
|
import "./chunk-M6HTOCQK.js";
|
|
37
36
|
import "./chunk-F5UR6EJG.js";
|
|
38
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-GLVENTN6.js";
|
|
39
38
|
import "./chunk-5BJYO6X3.js";
|
|
40
39
|
import "./chunk-AFUVWWQY.js";
|
|
41
|
-
import "./chunk-P2RIZAK5.js";
|
|
42
40
|
import "./chunk-MIJXEELH.js";
|
|
41
|
+
import "./chunk-ZXEICU6J.js";
|
|
42
|
+
import "./chunk-RMQREVJY.js";
|
|
43
|
+
import "./chunk-FGLQZ6I4.js";
|
|
43
44
|
import "./chunk-D2JUDUYY.js";
|
|
44
45
|
import "./chunk-QNE2ZPPV.js";
|
|
45
46
|
import "./chunk-O433KXLK.js";
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
isPromptRequestIdTitle,
|
|
9
9
|
latestPlanTurnId,
|
|
10
10
|
planImplementationPromptFromPlanTurn
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-FS7EMOVD.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-
|
|
24
|
+
} from "../chunk-PPAV2TB4.js";
|
|
25
25
|
import {
|
|
26
26
|
cn
|
|
27
27
|
} from "../chunk-LQMIEH4C.js";
|
|
@@ -29,13 +29,13 @@ import "../chunk-FMTWYOHM.js";
|
|
|
29
29
|
import {
|
|
30
30
|
userAvatarPlaceholderUrl,
|
|
31
31
|
workspaceAgentActivityStatusLabel
|
|
32
|
-
} from "../chunk-
|
|
32
|
+
} from "../chunk-N2M4B3G3.js";
|
|
33
33
|
import {
|
|
34
34
|
resolveWorkspaceAgentSessionSortTimeUnixMs
|
|
35
35
|
} from "../chunk-YMXYBG7U.js";
|
|
36
36
|
import {
|
|
37
37
|
workspaceAgentProviderLabel
|
|
38
|
-
} from "../chunk-
|
|
38
|
+
} from "../chunk-M6WEFXPL.js";
|
|
39
39
|
import {
|
|
40
40
|
managedAgentRoundedIconUrl
|
|
41
41
|
} from "../chunk-M6HTOCQK.js";
|
|
@@ -44,13 +44,13 @@ import {
|
|
|
44
44
|
AgentGuiI18nProvider,
|
|
45
45
|
getActiveUiLanguage,
|
|
46
46
|
useTranslation
|
|
47
|
-
} from "../chunk-
|
|
47
|
+
} from "../chunk-GLVENTN6.js";
|
|
48
48
|
import "../chunk-5BJYO6X3.js";
|
|
49
49
|
import "../chunk-AFUVWWQY.js";
|
|
50
|
-
import "../chunk-P2RIZAK5.js";
|
|
51
50
|
import {
|
|
52
51
|
normalizeAgentTitleText
|
|
53
52
|
} from "../chunk-MIJXEELH.js";
|
|
53
|
+
import "../chunk-ZXEICU6J.js";
|
|
54
54
|
import "../chunk-D2JUDUYY.js";
|
|
55
55
|
import "../chunk-QNE2ZPPV.js";
|
|
56
56
|
import "../chunk-O433KXLK.js";
|
|
@@ -4619,7 +4619,7 @@ aside.workspace-agents-status-panel
|
|
|
4619
4619
|
--background-session-sidepanel,
|
|
4620
4620
|
rgb(244 245 247)
|
|
4621
4621
|
);
|
|
4622
|
-
--agent-gui-detail-padding-x:
|
|
4622
|
+
--agent-gui-detail-padding-x: 48px;
|
|
4623
4623
|
width: 100%;
|
|
4624
4624
|
height: 100%;
|
|
4625
4625
|
container: agent-gui-node / inline-size;
|
|
@@ -4678,16 +4678,13 @@ aside.workspace-agents-status-panel
|
|
|
4678
4678
|
transition: none;
|
|
4679
4679
|
}
|
|
4680
4680
|
|
|
4681
|
-
.workbench-window[data-window-header-layout="overlay"]
|
|
4682
|
-
.workbench-window[data-agent-gui-standalone-window="true"] {
|
|
4681
|
+
.workbench-window[data-window-header-layout="overlay"] {
|
|
4683
4682
|
--agent-gui-workbench-header-height: 44px;
|
|
4684
4683
|
|
|
4685
4684
|
grid-template-rows: minmax(0, 1fr);
|
|
4686
4685
|
}
|
|
4687
4686
|
|
|
4688
4687
|
.workbench-window[data-window-header-layout="overlay"]
|
|
4689
|
-
.workbench-window__header,
|
|
4690
|
-
.workbench-window[data-agent-gui-standalone-window="true"]
|
|
4691
4688
|
.workbench-window__header {
|
|
4692
4689
|
position: absolute !important;
|
|
4693
4690
|
top: 0 !important;
|
|
@@ -4716,19 +4713,12 @@ aside.workspace-agents-status-panel
|
|
|
4716
4713
|
cursor: grabbing !important;
|
|
4717
4714
|
}
|
|
4718
4715
|
|
|
4719
|
-
.workbench-window[data-
|
|
4716
|
+
.workbench-window[data-window-header-layout="overlay"]
|
|
4720
4717
|
.workbench-window__header {
|
|
4721
4718
|
z-index: calc(var(--z-panel) + 1);
|
|
4722
4719
|
}
|
|
4723
4720
|
|
|
4724
|
-
.workbench-window[data-
|
|
4725
|
-
.agent-gui-workbench-header::after {
|
|
4726
|
-
display: none;
|
|
4727
|
-
}
|
|
4728
|
-
|
|
4729
|
-
.workbench-window[data-window-header-layout="overlay"] .workbench-window__body,
|
|
4730
|
-
.workbench-window[data-agent-gui-standalone-window="true"]
|
|
4731
|
-
.workbench-window__body {
|
|
4721
|
+
.workbench-window[data-window-header-layout="overlay"] .workbench-window__body {
|
|
4732
4722
|
grid-row: 1;
|
|
4733
4723
|
overflow: hidden;
|
|
4734
4724
|
}
|
|
@@ -4796,8 +4786,6 @@ aside.workspace-agents-status-panel
|
|
|
4796
4786
|
}
|
|
4797
4787
|
|
|
4798
4788
|
.workbench-window[data-window-header-layout="overlay"]
|
|
4799
|
-
.agent-gui-node__provider-rail-panel,
|
|
4800
|
-
.workbench-window[data-agent-gui-standalone-window="true"]
|
|
4801
4789
|
.agent-gui-node__provider-rail-panel {
|
|
4802
4790
|
padding-top: var(--agent-gui-workbench-header-height);
|
|
4803
4791
|
}
|
|
@@ -4807,28 +4795,20 @@ aside.workspace-agents-status-panel
|
|
|
4807
4795
|
toolbar has no such wrapper, so fold the same 2px into its offset to keep the
|
|
4808
4796
|
search field top aligned with the provider tiles. */
|
|
4809
4797
|
.workbench-window[data-window-header-layout="overlay"]
|
|
4810
|
-
.agent-gui-node__rail-toolbar,
|
|
4811
|
-
.workbench-window[data-agent-gui-standalone-window="true"]
|
|
4812
4798
|
.agent-gui-node__rail-toolbar {
|
|
4813
4799
|
padding-top: calc(var(--agent-gui-workbench-header-height) + 2px);
|
|
4814
4800
|
}
|
|
4815
4801
|
|
|
4816
4802
|
.workbench-window[data-window-header-layout="overlay"]
|
|
4817
|
-
.agent-gui-node__detail-panel,
|
|
4818
|
-
.workbench-window[data-agent-gui-standalone-window="true"]
|
|
4819
4803
|
.agent-gui-node__detail-panel {
|
|
4820
4804
|
position: relative;
|
|
4821
4805
|
}
|
|
4822
4806
|
|
|
4823
|
-
.workbench-window[data-window-header-layout="overlay"] .agent-gui-node__detail
|
|
4824
|
-
.workbench-window[data-agent-gui-standalone-window="true"]
|
|
4825
|
-
.agent-gui-node__detail {
|
|
4807
|
+
.workbench-window[data-window-header-layout="overlay"] .agent-gui-node__detail {
|
|
4826
4808
|
padding-top: var(--agent-gui-workbench-header-height);
|
|
4827
4809
|
}
|
|
4828
4810
|
|
|
4829
4811
|
.workbench-window[data-window-header-layout="overlay"]
|
|
4830
|
-
.agent-gui-node__timeline-with-composer,
|
|
4831
|
-
.workbench-window[data-agent-gui-standalone-window="true"]
|
|
4832
4812
|
.agent-gui-node__timeline-with-composer {
|
|
4833
4813
|
padding-top: 20px;
|
|
4834
4814
|
}
|
|
@@ -4890,12 +4870,6 @@ aside.workspace-agents-status-panel
|
|
|
4890
4870
|
--agent-gui-workbench-header-title-max-width: calc(100% - 32px);
|
|
4891
4871
|
--agent-gui-workbench-header-text: var(--text-primary);
|
|
4892
4872
|
--agent-gui-workbench-header-muted: var(--text-secondary);
|
|
4893
|
-
--agent-gui-workbench-header-divider: color-mix(
|
|
4894
|
-
in srgb,
|
|
4895
|
-
var(--text-primary) 4%,
|
|
4896
|
-
transparent
|
|
4897
|
-
);
|
|
4898
|
-
|
|
4899
4873
|
position: relative;
|
|
4900
4874
|
display: grid;
|
|
4901
4875
|
width: 100%;
|
|
@@ -4913,17 +4887,6 @@ aside.workspace-agents-status-panel
|
|
|
4913
4887
|
user-select: none;
|
|
4914
4888
|
}
|
|
4915
4889
|
|
|
4916
|
-
.agent-gui-workbench-header[data-agent-gui-workbench-header-has-session="true"]::after {
|
|
4917
|
-
position: absolute;
|
|
4918
|
-
right: 0;
|
|
4919
|
-
bottom: 0;
|
|
4920
|
-
left: var(--agent-gui-workbench-header-rail-width);
|
|
4921
|
-
height: 1px;
|
|
4922
|
-
background: var(--agent-gui-workbench-header-divider);
|
|
4923
|
-
content: "";
|
|
4924
|
-
pointer-events: none;
|
|
4925
|
-
}
|
|
4926
|
-
|
|
4927
4890
|
.agent-gui-workbench-header:active {
|
|
4928
4891
|
cursor: grabbing;
|
|
4929
4892
|
}
|
|
@@ -4932,10 +4895,6 @@ aside.workspace-agents-status-panel
|
|
|
4932
4895
|
grid-template-columns: minmax(0, 0px) minmax(0, 1fr);
|
|
4933
4896
|
}
|
|
4934
4897
|
|
|
4935
|
-
.agent-gui-workbench-header[data-agent-gui-workbench-header-collapsed="true"]::after {
|
|
4936
|
-
left: 0;
|
|
4937
|
-
}
|
|
4938
|
-
|
|
4939
4898
|
.agent-gui-workbench-header__primary {
|
|
4940
4899
|
display: flex;
|
|
4941
4900
|
box-sizing: border-box;
|
|
@@ -4957,10 +4916,11 @@ aside.workspace-agents-status-panel
|
|
|
4957
4916
|
}
|
|
4958
4917
|
|
|
4959
4918
|
/*
|
|
4960
|
-
*
|
|
4961
|
-
*
|
|
4962
|
-
*
|
|
4963
|
-
* the
|
|
4919
|
+
* Tool-sidebar actions belong to the single Agent window header regardless of
|
|
4920
|
+
* whether that header is owned by the native window or an embedding host.
|
|
4921
|
+
* Collapsing the conversation rail must not pull them into the 720px content
|
|
4922
|
+
* cap. Let the primary row span the host header and keep the same trailing
|
|
4923
|
+
* inset as the expanded detail row.
|
|
4964
4924
|
*
|
|
4965
4925
|
* The tool actions are absolutely positioned against the window's right edge,
|
|
4966
4926
|
* so they no longer occupy space in the flex row. In the collapsed primary row
|
|
@@ -4970,7 +4930,7 @@ aside.workspace-agents-status-panel
|
|
|
4970
4930
|
* trailing padding on the row itself so the title flex-grows and truncates
|
|
4971
4931
|
* before it can reach them, regardless of what precedes it.
|
|
4972
4932
|
*/
|
|
4973
|
-
.agent-gui-workbench-header[data-agent-gui-
|
|
4933
|
+
.agent-gui-workbench-header[data-agent-gui-workbench-header-tool-sidebar="true"][data-agent-gui-workbench-header-collapsed="true"]
|
|
4974
4934
|
.agent-gui-workbench-header__primary {
|
|
4975
4935
|
width: 100%;
|
|
4976
4936
|
padding-inline-end: calc(
|
|
@@ -4979,18 +4939,18 @@ aside.workspace-agents-status-panel
|
|
|
4979
4939
|
);
|
|
4980
4940
|
}
|
|
4981
4941
|
|
|
4982
|
-
.agent-gui-workbench-header[data-agent-gui-
|
|
4942
|
+
.agent-gui-workbench-header[data-agent-gui-workbench-header-tool-sidebar="true"]
|
|
4983
4943
|
.agent-gui-workbench-header__secondary-accessory {
|
|
4984
4944
|
padding-right: 0;
|
|
4985
4945
|
}
|
|
4986
4946
|
|
|
4987
|
-
/* Keep the
|
|
4947
|
+
/* Keep the tool header on the same right edge as its body panel.
|
|
4988
4948
|
The body panel is right-anchored independently of the Agent header's rail
|
|
4989
4949
|
grid; leaving this accessory in the grid makes its left edge drift when the
|
|
4990
4950
|
panel expands to the available width. */
|
|
4991
|
-
.agent-gui-workbench-header[data-agent-gui-
|
|
4951
|
+
.agent-gui-workbench-header[data-agent-gui-workbench-header-tool-sidebar="true"]
|
|
4992
4952
|
.agent-gui-workbench-header__secondary-accessory:has(
|
|
4993
|
-
[data-
|
|
4953
|
+
[data-agent-tool-sidebar-header="true"]
|
|
4994
4954
|
) {
|
|
4995
4955
|
position: absolute;
|
|
4996
4956
|
top: 0;
|
|
@@ -4999,13 +4959,13 @@ aside.workspace-agents-status-panel
|
|
|
4999
4959
|
}
|
|
5000
4960
|
|
|
5001
4961
|
/*
|
|
5002
|
-
*
|
|
5003
|
-
*
|
|
5004
|
-
*
|
|
5005
|
-
*
|
|
5006
|
-
*
|
|
4962
|
+
* The detached-window button pushes the detail controls to the far edge while
|
|
4963
|
+
* the conversation rail is expanded. Once the rail collapses, every primary
|
|
4964
|
+
* control and the session title share one full-width row, so keep that group
|
|
4965
|
+
* anchored immediately after the traffic lights. Secondary tool actions retain
|
|
4966
|
+
* their own right alignment across the full header width.
|
|
5007
4967
|
*/
|
|
5008
|
-
.agent-gui-workbench-header[data-agent-gui-workbench-header-collapsed="true"]
|
|
4968
|
+
.agent-gui-workbench-header[data-agent-gui-workbench-header-collapsed="true"]
|
|
5009
4969
|
.agent-gui-workbench-header__detached-window {
|
|
5010
4970
|
margin-left: 0;
|
|
5011
4971
|
}
|
|
@@ -5321,9 +5281,9 @@ aside.workspace-agents-status-panel
|
|
|
5321
5281
|
pointer-events: auto;
|
|
5322
5282
|
}
|
|
5323
5283
|
|
|
5324
|
-
.workbench-
|
|
5284
|
+
.agent-gui-workbench-header[data-agent-gui-workbench-header-tool-sidebar="true"]
|
|
5325
5285
|
.agent-gui-workbench-header__session-title,
|
|
5326
|
-
.workbench-
|
|
5286
|
+
.agent-gui-workbench-header[data-agent-gui-workbench-header-tool-sidebar="true"]
|
|
5327
5287
|
.agent-gui-workbench-header__detail-title {
|
|
5328
5288
|
box-sizing: border-box;
|
|
5329
5289
|
width: auto;
|
|
@@ -5342,7 +5302,7 @@ aside.workspace-agents-status-panel
|
|
|
5342
5302
|
* max-width here so the reservation is not counted twice, which would strand
|
|
5343
5303
|
* the title far short of the actions.
|
|
5344
5304
|
*/
|
|
5345
|
-
.agent-gui-workbench-header[data-agent-gui-
|
|
5305
|
+
.agent-gui-workbench-header[data-agent-gui-workbench-header-tool-sidebar="true"][data-agent-gui-workbench-header-collapsed="true"]
|
|
5346
5306
|
.agent-gui-workbench-header__session-title {
|
|
5347
5307
|
max-width: 100%;
|
|
5348
5308
|
}
|
|
@@ -5606,8 +5566,6 @@ aside.workspace-agents-status-panel
|
|
|
5606
5566
|
}
|
|
5607
5567
|
|
|
5608
5568
|
.workbench-window[data-window-header-layout="overlay"]
|
|
5609
|
-
.agent-gui-node__provider-rail-panel::after,
|
|
5610
|
-
.workbench-window[data-agent-gui-standalone-window="true"]
|
|
5611
5569
|
.agent-gui-node__provider-rail-panel::after {
|
|
5612
5570
|
top: var(--agent-gui-workbench-header-height);
|
|
5613
5571
|
}
|
|
@@ -5672,7 +5630,9 @@ aside.workspace-agents-status-panel
|
|
|
5672
5630
|
align-items: center;
|
|
5673
5631
|
gap: 10px;
|
|
5674
5632
|
min-width: 0;
|
|
5675
|
-
padding
|
|
5633
|
+
/* Right inset mirrors the conversation list's 4px padding + 8px native
|
|
5634
|
+
scrollbar gutter so the toolbar controls end flush with the row edges. */
|
|
5635
|
+
padding: 2px 12px 16px 12px;
|
|
5676
5636
|
}
|
|
5677
5637
|
|
|
5678
5638
|
.agent-gui-node__project-rail-header {
|
|
@@ -6012,7 +5972,10 @@ aside.workspace-agents-status-panel
|
|
|
6012
5972
|
min-height: 0;
|
|
6013
5973
|
overflow-x: hidden;
|
|
6014
5974
|
overflow-y: auto;
|
|
6015
|
-
|
|
5975
|
+
/* Right inset stays 4px because the always-visible native scrollbar already
|
|
5976
|
+
reserves an 8px gutter, keeping the visual right inset at 12px like the
|
|
5977
|
+
left side. */
|
|
5978
|
+
padding: 0 4px 18px 12px;
|
|
6016
5979
|
}
|
|
6017
5980
|
|
|
6018
5981
|
.agent-gui-node__conversation-section {
|
|
@@ -6976,7 +6939,7 @@ button.agent-gui-node__conversation-section-toggle:hover
|
|
|
6976
6939
|
--agent-message-locator-dot-size: 6px;
|
|
6977
6940
|
--agent-message-locator-hit-size: 36px;
|
|
6978
6941
|
--agent-message-locator-center-offset: 18px;
|
|
6979
|
-
--agent-message-locator-inline-shift:
|
|
6942
|
+
--agent-message-locator-inline-shift: 8px;
|
|
6980
6943
|
--agent-message-locator-scrollbar-gap: 8px;
|
|
6981
6944
|
--agent-message-locator-visible-height: 100vh;
|
|
6982
6945
|
--agent-message-locator-visible-top-offset: 0px;
|
|
@@ -10889,3 +10852,64 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
|
|
|
10889
10852
|
font-size: 11px;
|
|
10890
10853
|
line-height: 1.5;
|
|
10891
10854
|
}
|
|
10855
|
+
|
|
10856
|
+
/* Tutti intensity slider: stars pour out of the handle towards the left end
|
|
10857
|
+
of the track. The stream container is sized from React (track start to the
|
|
10858
|
+
handle's left edge); per-star duration/delay/drift come from CSS vars so a
|
|
10859
|
+
fixed pool can run continuously while intensity changes only toggle
|
|
10860
|
+
visibility. Stacking: the stream sits above the track (z-index 1) and below
|
|
10861
|
+
the handle (the slider thumb rules raise it to z-index 2). */
|
|
10862
|
+
.agent-gui-intensity-star-stream {
|
|
10863
|
+
position: absolute;
|
|
10864
|
+
z-index: 1;
|
|
10865
|
+
top: 50%;
|
|
10866
|
+
left: 0;
|
|
10867
|
+
width: max(0px, var(--agent-gui-star-stream-width, 0px));
|
|
10868
|
+
height: 28px;
|
|
10869
|
+
transform: translateY(calc(-50% - 2px));
|
|
10870
|
+
overflow: hidden;
|
|
10871
|
+
pointer-events: none;
|
|
10872
|
+
}
|
|
10873
|
+
|
|
10874
|
+
.agent-gui-intensity-star-stream__star {
|
|
10875
|
+
position: absolute;
|
|
10876
|
+
left: 100%;
|
|
10877
|
+
opacity: 0;
|
|
10878
|
+
filter: drop-shadow(0 0 3px currentColor) drop-shadow(0 0 6px currentColor);
|
|
10879
|
+
animation: agent-gui-intensity-star-stream-flow
|
|
10880
|
+
var(--agent-gui-star-duration, 2s) linear infinite;
|
|
10881
|
+
animation-delay: var(--agent-gui-star-delay, 0s);
|
|
10882
|
+
}
|
|
10883
|
+
|
|
10884
|
+
@keyframes agent-gui-intensity-star-stream-flow {
|
|
10885
|
+
0% {
|
|
10886
|
+
left: 100%;
|
|
10887
|
+
opacity: 0;
|
|
10888
|
+
transform: translateY(0) scale(0.5);
|
|
10889
|
+
}
|
|
10890
|
+
|
|
10891
|
+
10% {
|
|
10892
|
+
opacity: 0.95;
|
|
10893
|
+
}
|
|
10894
|
+
|
|
10895
|
+
50% {
|
|
10896
|
+
transform: translateY(var(--agent-gui-star-drift, 0px)) scale(1);
|
|
10897
|
+
}
|
|
10898
|
+
|
|
10899
|
+
85% {
|
|
10900
|
+
opacity: 0.95;
|
|
10901
|
+
}
|
|
10902
|
+
|
|
10903
|
+
100% {
|
|
10904
|
+
left: -16px;
|
|
10905
|
+
opacity: 0;
|
|
10906
|
+
transform: translateY(0) scale(0.6);
|
|
10907
|
+
}
|
|
10908
|
+
}
|
|
10909
|
+
|
|
10910
|
+
@media (prefers-reduced-motion: reduce) {
|
|
10911
|
+
.agent-gui-intensity-star-stream__star {
|
|
10912
|
+
animation: none;
|
|
10913
|
+
opacity: 0;
|
|
10914
|
+
}
|
|
10915
|
+
}
|