@tutti-os/agent-gui 0.0.94 → 0.0.95
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 +48 -32
- package/dist/AgentGUI-CwBLYtv-.d.ts +992 -0
- package/dist/agent-conversation/index.d.ts +5 -7
- package/dist/agent-conversation/index.js +12 -8
- package/dist/agent-conversation/index.js.map +1 -1
- package/dist/agent-env/index.d.ts +10 -36
- package/dist/agent-env/index.js +1 -56
- package/dist/agent-env/index.js.map +1 -1
- package/dist/agent-gui.d.ts +21 -0
- package/dist/agent-gui.js +39 -0
- package/dist/agent-message-center/index.d.ts +145 -124
- package/dist/agent-message-center/index.js +1374 -1316
- package/dist/agent-message-center/index.js.map +1 -1
- package/dist/{agentConversationVM-Cl4G0Lln.d.ts → agentConversationVM-C335TR6S.d.ts} +112 -7
- package/dist/agentFileMentionContracts-Czvz6YMI.d.ts +107 -0
- package/dist/{agentGuiNodeTypes-CAioPXK9.d.ts → agentGuiNodeTypes-DppADPHW.d.ts} +96 -148
- package/dist/agentPlanPromptDispatch-C7cCMjve.d.ts +37 -0
- package/dist/agents.d.ts +13 -0
- package/dist/agents.js +13 -0
- package/dist/app/renderer/agentactivity.css +126 -80
- package/dist/app/renderer/assets/icons/agent-vinyls/tutti-vinyl.png +0 -0
- package/dist/app/renderer/assets/icons/open-link-lined.svg +4 -0
- package/dist/{chunk-P72YLKC6.js → chunk-3R2D4E57.js} +3127 -3398
- package/dist/chunk-3R2D4E57.js.map +1 -0
- package/dist/chunk-4YG7YK7S.js +23 -0
- package/dist/chunk-4YG7YK7S.js.map +1 -0
- package/dist/chunk-5X7YDOC6.js +42 -0
- package/dist/chunk-5X7YDOC6.js.map +1 -0
- package/dist/{chunk-IBIMGLCD.js → chunk-7J4K6WKB.js} +1 -1
- package/dist/chunk-7J4K6WKB.js.map +1 -0
- package/dist/{chunk-BXVPOGYK.js → chunk-7PFDA2HQ.js} +505 -504
- package/dist/chunk-7PFDA2HQ.js.map +1 -0
- package/dist/{chunk-AWAIUYG4.js → chunk-7RDD3EWP.js} +513 -555
- package/dist/chunk-7RDD3EWP.js.map +1 -0
- package/dist/{chunk-UBDPV34P.js → chunk-AOS2VWU6.js} +1355 -1305
- package/dist/chunk-AOS2VWU6.js.map +1 -0
- package/dist/{chunk-E5FOXRUM.js → chunk-BFNJKTDV.js} +295 -255
- package/dist/chunk-BFNJKTDV.js.map +1 -0
- package/dist/{chunk-5FE7M42A.js → chunk-BIHBXWK5.js} +2 -2
- package/dist/{chunk-7BUYFVRI.js → chunk-C5FV4UGI.js} +2921 -2944
- package/dist/chunk-C5FV4UGI.js.map +1 -0
- package/dist/{chunk-SCLLP5DO.js → chunk-CRO2MV2Y.js} +36 -46
- package/dist/chunk-CRO2MV2Y.js.map +1 -0
- package/dist/chunk-FGLQZ6I4.js +9 -0
- package/dist/chunk-FGLQZ6I4.js.map +1 -0
- package/dist/chunk-H6IQ63DQ.js +14 -0
- package/dist/chunk-H6IQ63DQ.js.map +1 -0
- package/dist/{chunk-IGY4ASUF.js → chunk-JX2SIXNL.js} +1293 -1702
- package/dist/chunk-JX2SIXNL.js.map +1 -0
- package/dist/chunk-KAL4XZMA.js +231 -0
- package/dist/chunk-KAL4XZMA.js.map +1 -0
- package/dist/chunk-KJQERFKX.js +259 -0
- package/dist/chunk-KJQERFKX.js.map +1 -0
- package/dist/chunk-LQVXBT65.js +491 -0
- package/dist/chunk-LQVXBT65.js.map +1 -0
- package/dist/{chunk-554VG7ZW.js → chunk-NITOD7WF.js} +2 -2
- package/dist/{chunk-7LMJXF4R.js → chunk-NJAZ7LQM.js} +20 -16
- package/dist/chunk-NJAZ7LQM.js.map +1 -0
- package/dist/chunk-NX3CZJXW.js +25 -0
- package/dist/chunk-NX3CZJXW.js.map +1 -0
- package/dist/chunk-O6W72SEP.js +93 -0
- package/dist/chunk-O6W72SEP.js.map +1 -0
- package/dist/chunk-RY6GIO3K.js +31700 -0
- package/dist/chunk-RY6GIO3K.js.map +1 -0
- package/dist/{chunk-XDV4ZRVK.js → chunk-UGVI47X6.js} +98 -37
- package/dist/chunk-UGVI47X6.js.map +1 -0
- package/dist/{chunk-XW4CVBUH.js → chunk-UQJPV6HP.js} +18 -11
- package/dist/chunk-UQJPV6HP.js.map +1 -0
- package/dist/{chunk-GAPTLVII.js → chunk-VF22EG3F.js} +1 -1
- package/dist/{chunk-GAPTLVII.js.map → chunk-VF22EG3F.js.map} +1 -1
- package/dist/{chunk-45FF4DQU.js → chunk-WEDMAVX2.js} +22 -24
- package/dist/chunk-WEDMAVX2.js.map +1 -0
- package/dist/{chunk-MATIJPGF.js → chunk-XMO45GKA.js} +531 -401
- package/dist/chunk-XMO45GKA.js.map +1 -0
- package/dist/{chunk-ZUW4B5AT.js → chunk-YE25HN6T.js} +6 -9
- package/dist/chunk-YE25HN6T.js.map +1 -0
- package/dist/context-mention-palette/index.d.ts +3 -2
- package/dist/context-mention-palette/index.js +19 -14
- package/dist/custom-mention.d.ts +44 -0
- package/dist/custom-mention.js +17 -0
- package/dist/custom-mention.js.map +1 -0
- package/dist/dock-icons.d.ts +6 -0
- package/dist/dock-icons.js +11 -0
- package/dist/dock-icons.js.map +1 -0
- package/dist/i18n/index.d.ts +850 -841
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +52 -1061
- package/dist/index.js +72 -35530
- package/dist/index.js.map +1 -1
- package/dist/mention-search.d.ts +226 -0
- package/dist/mention-search.js +29 -0
- package/dist/mention-search.js.map +1 -0
- package/dist/open-link-lined-JWEKUKME.svg +4 -0
- package/dist/provider-icons.d.ts +6 -0
- package/dist/provider-icons.js +12 -0
- package/dist/provider-icons.js.map +1 -0
- package/dist/provider-identity.d.ts +9 -0
- package/dist/provider-identity.js +21 -0
- package/dist/provider-identity.js.map +1 -0
- package/dist/runtime-BBNdWgDU.d.ts +10 -0
- package/dist/{types-PLFZ8SBX.d.ts → types-DX2bxgB8.d.ts} +28 -83
- package/dist/workbench/contribution.d.ts +32 -40
- package/dist/workbench/contribution.js +10 -6
- package/dist/workbench/index.d.ts +3 -2
- package/dist/workbench/index.js +24 -20
- package/dist/workbench/launch.d.ts +2 -5
- package/dist/workbench/launch.js +4 -3
- package/dist/workbench/providerCatalog.js +2 -1
- package/dist/workbench/sessionTitle.d.ts +4 -3
- package/dist/workbench/sessionTitle.js +4 -3
- package/dist/workbench/state.d.ts +1 -1
- package/dist/workbench/state.js +3 -2
- package/dist/workbench/types.d.ts +0 -3
- package/dist/workbench/types.js +1 -1
- package/dist/workspace-agent-generated-files.d.ts +20 -2
- package/dist/workspace-agent-generated-files.js +7 -6
- package/dist/workspaceAgentActivityListTypes-C7gPWYiA.d.ts +71 -0
- package/package.json +63 -26
- package/dist/AgentMentionSearchController-DD_WOred.d.ts +0 -241
- package/dist/AgentMessageMarkdown-DeYPURtF.d.ts +0 -7
- package/dist/chunk-45FF4DQU.js.map +0 -1
- package/dist/chunk-4HP6V2YA.js +0 -207
- package/dist/chunk-4HP6V2YA.js.map +0 -1
- package/dist/chunk-7BUYFVRI.js.map +0 -1
- package/dist/chunk-7LMJXF4R.js.map +0 -1
- package/dist/chunk-AWAIUYG4.js.map +0 -1
- package/dist/chunk-BXVPOGYK.js.map +0 -1
- package/dist/chunk-E5FOXRUM.js.map +0 -1
- package/dist/chunk-IBIMGLCD.js.map +0 -1
- package/dist/chunk-IGY4ASUF.js.map +0 -1
- package/dist/chunk-LR4FA5X6.js +0 -368
- package/dist/chunk-LR4FA5X6.js.map +0 -1
- package/dist/chunk-MATIJPGF.js.map +0 -1
- package/dist/chunk-MKHDRIGN.js +0 -71
- package/dist/chunk-MKHDRIGN.js.map +0 -1
- package/dist/chunk-P72YLKC6.js.map +0 -1
- package/dist/chunk-SCLLP5DO.js.map +0 -1
- package/dist/chunk-UBDPV34P.js.map +0 -1
- package/dist/chunk-VAKFNNKT.js +0 -410
- package/dist/chunk-VAKFNNKT.js.map +0 -1
- package/dist/chunk-XDV4ZRVK.js.map +0 -1
- package/dist/chunk-XW4CVBUH.js.map +0 -1
- package/dist/chunk-ZUW4B5AT.js.map +0 -1
- package/dist/plan-decision-ops.d.ts +0 -70
- package/dist/plan-decision-ops.js +0 -19
- package/dist/queued-prompt-runtime.d.ts +0 -115
- package/dist/queued-prompt-runtime.js +0 -9
- package/dist/workspaceAgentActivityListViewModel-BzV-cf0D.d.ts +0 -340
- package/dist/workspaceLinkActions-DS9LWqzI.d.ts +0 -74
- /package/dist/{plan-decision-ops.js.map → agent-gui.js.map} +0 -0
- /package/dist/{queued-prompt-runtime.js.map → agents.js.map} +0 -0
- /package/dist/{chunk-5FE7M42A.js.map → chunk-BIHBXWK5.js.map} +0 -0
- /package/dist/{chunk-554VG7ZW.js.map → chunk-NITOD7WF.js.map} +0 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as _tutti_os_agent_activity_core from '@tutti-os/agent-activity-core';
|
|
2
|
+
import { AgentSessionEngine, AgentSessionEngineState } from '@tutti-os/agent-activity-core';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Structural surface the binding needs from an engine instance. Matches
|
|
6
|
+
* AgentSessionEngine from @tutti-os/agent-activity-core, but stays structural
|
|
7
|
+
* so focused tests and future engine slices can bind without the full engine.
|
|
8
|
+
*
|
|
9
|
+
* Contract: `subscribe` and `getSnapshot` must be stable, this-free function
|
|
10
|
+
* references for the lifetime of the instance (the engine factory returns
|
|
11
|
+
* closures, satisfying this by construction). A fresh `subscribe` identity per
|
|
12
|
+
* render would force useSyncExternalStore to resubscribe on every render.
|
|
13
|
+
*/
|
|
14
|
+
interface EngineStateStore<TState> {
|
|
15
|
+
getSnapshot(): TState;
|
|
16
|
+
subscribe(listener: (state: TState) => void): () => void;
|
|
17
|
+
}
|
|
18
|
+
declare function useEngineSelector<TState, TSelected>(engine: EngineStateStore<TState>, selector: (state: TState) => TSelected, isEqual?: (a: TSelected, b: TSelected) => boolean): TSelected;
|
|
19
|
+
|
|
20
|
+
declare const PLAN_IMPLEMENTATION_PROMPT = "Implement the plan.";
|
|
21
|
+
declare const PLAN_IMPLEMENTATION_ACTION_IMPLEMENT = "implement";
|
|
22
|
+
declare const PLAN_IMPLEMENTATION_ACTION_FEEDBACK = "feedback";
|
|
23
|
+
declare const PLAN_IMPLEMENTATION_ACTION_SKIP = "skip";
|
|
24
|
+
|
|
25
|
+
type AgentPlanPromptAction = typeof PLAN_IMPLEMENTATION_ACTION_IMPLEMENT | typeof PLAN_IMPLEMENTATION_ACTION_FEEDBACK | typeof PLAN_IMPLEMENTATION_ACTION_SKIP;
|
|
26
|
+
declare function selectAgentPlanPromptTurn(state: AgentSessionEngineState, agentSessionId: string, requestId: string): _tutti_os_agent_activity_core.AgentActivityTurn | null;
|
|
27
|
+
declare function dispatchAgentPlanPromptAction(input: {
|
|
28
|
+
action: AgentPlanPromptAction;
|
|
29
|
+
agentSessionId: string;
|
|
30
|
+
engine: AgentSessionEngine;
|
|
31
|
+
feedbackText?: string;
|
|
32
|
+
nowUnixMs?: () => number;
|
|
33
|
+
requestId: string;
|
|
34
|
+
workspaceId: string;
|
|
35
|
+
}): boolean;
|
|
36
|
+
|
|
37
|
+
export { type AgentPlanPromptAction as A, type EngineStateStore as E, PLAN_IMPLEMENTATION_ACTION_IMPLEMENT as P, PLAN_IMPLEMENTATION_PROMPT as a, dispatchAgentPlanPromptAction as d, selectAgentPlanPromptTurn as s, useEngineSelector as u };
|
package/dist/agents.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { A as AgentGUIAgent, h as AgentGUIAgentTarget } from './types-DX2bxgB8.js';
|
|
2
|
+
|
|
3
|
+
declare function normalizeAgentGUIAgents(agents: readonly AgentGUIAgent[] | null | undefined): AgentGUIAgent[];
|
|
4
|
+
declare function agentGUIAgentIsReady(agent: AgentGUIAgent): boolean;
|
|
5
|
+
declare function resolveAgentGUISelectedDirectoryAgent(input: {
|
|
6
|
+
agents: readonly AgentGUIAgent[];
|
|
7
|
+
agentTargetId?: string | null;
|
|
8
|
+
defaultAgentTargetId?: string | null;
|
|
9
|
+
}): AgentGUIAgent | null;
|
|
10
|
+
/** Package-internal bridge while the carried node is migrated to agent names. */
|
|
11
|
+
declare function projectAgentGUIAgentsToInternalTargets(agents: readonly AgentGUIAgent[]): AgentGUIAgentTarget[];
|
|
12
|
+
|
|
13
|
+
export { agentGUIAgentIsReady, normalizeAgentGUIAgents, projectAgentGUIAgentsToInternalTargets, resolveAgentGUISelectedDirectoryAgent };
|
package/dist/agents.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import {
|
|
2
|
+
agentGUIAgentIsReady,
|
|
3
|
+
normalizeAgentGUIAgents,
|
|
4
|
+
projectAgentGUIAgentsToInternalTargets,
|
|
5
|
+
resolveAgentGUISelectedDirectoryAgent
|
|
6
|
+
} from "./chunk-O6W72SEP.js";
|
|
7
|
+
export {
|
|
8
|
+
agentGUIAgentIsReady,
|
|
9
|
+
normalizeAgentGUIAgents,
|
|
10
|
+
projectAgentGUIAgentsToInternalTargets,
|
|
11
|
+
resolveAgentGUISelectedDirectoryAgent
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=agents.js.map
|
|
@@ -136,6 +136,22 @@
|
|
|
136
136
|
background: rgb(0 0 0 / 0%);
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
+
.tsh-zoom-dialog[data-closing="true"] {
|
|
140
|
+
animation: tsh-zoom-dialog-close 180ms ease-out forwards;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
@keyframes tsh-zoom-dialog-close {
|
|
144
|
+
to {
|
|
145
|
+
opacity: 0;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
@media (prefers-reduced-motion: reduce) {
|
|
150
|
+
.tsh-zoom-dialog[data-closing="true"] {
|
|
151
|
+
animation-duration: 1ms;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
139
155
|
.tsh-zoom-dialog [data-rmiz-btn-unzoom] {
|
|
140
156
|
position: fixed;
|
|
141
157
|
top: max(20px, calc(var(--cove-titlebar-reserve, 0px) + 10px));
|
|
@@ -4457,6 +4473,20 @@ aside.workspace-agents-status-panel
|
|
|
4457
4473
|
cursor: grabbing !important;
|
|
4458
4474
|
}
|
|
4459
4475
|
|
|
4476
|
+
.workbench-window:has(
|
|
4477
|
+
.agent-gui-workbench-header[data-agent-gui-standalone-window-header="true"]
|
|
4478
|
+
)
|
|
4479
|
+
.workbench-window__header {
|
|
4480
|
+
z-index: calc(var(--z-panel) + 1);
|
|
4481
|
+
}
|
|
4482
|
+
|
|
4483
|
+
.workbench-window:has(
|
|
4484
|
+
.agent-gui-workbench-header[data-agent-gui-standalone-window-header="true"]
|
|
4485
|
+
)
|
|
4486
|
+
.agent-gui-workbench-header::after {
|
|
4487
|
+
display: none;
|
|
4488
|
+
}
|
|
4489
|
+
|
|
4460
4490
|
.workbench-window:has([data-agent-gui-workbench-header="true"])
|
|
4461
4491
|
.workbench-window__body {
|
|
4462
4492
|
grid-row: 1;
|
|
@@ -4680,16 +4710,32 @@ aside.workspace-agents-status-panel
|
|
|
4680
4710
|
.agent-gui-workbench-header[data-agent-gui-workbench-header-collapsed="true"]
|
|
4681
4711
|
.agent-gui-workbench-header__primary {
|
|
4682
4712
|
grid-column: 1 / -1;
|
|
4683
|
-
width:
|
|
4713
|
+
width: 100%;
|
|
4684
4714
|
background: transparent;
|
|
4685
4715
|
}
|
|
4686
4716
|
|
|
4717
|
+
/*
|
|
4718
|
+
* The standalone window's tool actions belong to native-window chrome, so
|
|
4719
|
+
* collapsing the conversation rail must not pull them into the 720px content
|
|
4720
|
+
* cap. Let the primary row span the window and keep the same trailing inset as
|
|
4721
|
+
* the expanded detail row.
|
|
4722
|
+
*/
|
|
4723
|
+
.agent-gui-workbench-header[data-agent-gui-standalone-window-header="true"][data-agent-gui-workbench-header-collapsed="true"]
|
|
4724
|
+
.agent-gui-workbench-header__primary {
|
|
4725
|
+
width: 100%;
|
|
4726
|
+
}
|
|
4727
|
+
|
|
4728
|
+
.agent-gui-workbench-header[data-agent-gui-standalone-window-header="true"]
|
|
4729
|
+
.agent-gui-workbench-header__secondary-accessory {
|
|
4730
|
+
padding-right: 0;
|
|
4731
|
+
}
|
|
4732
|
+
|
|
4687
4733
|
/*
|
|
4688
4734
|
* In the collapsed empty state there is no session title to anchor the control
|
|
4689
4735
|
* cluster, so the detached-window button's margin-left:auto would strand the
|
|
4690
|
-
* icons
|
|
4691
|
-
*
|
|
4692
|
-
*
|
|
4736
|
+
* icons at the far window edge. Drop the auto push so those window controls sit
|
|
4737
|
+
* as a compact group right after the traffic lights instead. Secondary tool
|
|
4738
|
+
* actions retain their own right alignment across the full header width.
|
|
4693
4739
|
*/
|
|
4694
4740
|
.agent-gui-workbench-header[data-agent-gui-workbench-header-collapsed="true"][data-agent-gui-workbench-header-has-session="false"]
|
|
4695
4741
|
.agent-gui-workbench-header__detached-window {
|
|
@@ -4846,6 +4892,13 @@ aside.workspace-agents-status-panel
|
|
|
4846
4892
|
-webkit-app-region: no-drag;
|
|
4847
4893
|
}
|
|
4848
4894
|
|
|
4895
|
+
/* The collapsed primary row already supplies the header's right inset. Avoid
|
|
4896
|
+
stacking the accessory inset when actions move out of the detail column. */
|
|
4897
|
+
.agent-gui-workbench-header[data-agent-gui-workbench-header-collapsed="true"]
|
|
4898
|
+
.agent-gui-workbench-header__secondary-accessory {
|
|
4899
|
+
padding-right: 0;
|
|
4900
|
+
}
|
|
4901
|
+
|
|
4849
4902
|
.agent-gui-workbench-header__agent-name,
|
|
4850
4903
|
.agent-gui-workbench-header__session-title,
|
|
4851
4904
|
.agent-gui-workbench-header__detail-title {
|
|
@@ -4913,6 +4966,24 @@ aside.workspace-agents-status-panel
|
|
|
4913
4966
|
pointer-events: none;
|
|
4914
4967
|
}
|
|
4915
4968
|
|
|
4969
|
+
.workbench-window:has(
|
|
4970
|
+
.agent-gui-workbench-header[data-agent-gui-standalone-window-header="true"]
|
|
4971
|
+
)
|
|
4972
|
+
.agent-gui-workbench-header__session-title,
|
|
4973
|
+
.workbench-window:has(
|
|
4974
|
+
.agent-gui-workbench-header[data-agent-gui-standalone-window-header="true"]
|
|
4975
|
+
)
|
|
4976
|
+
.agent-gui-workbench-header__detail-title {
|
|
4977
|
+
box-sizing: border-box;
|
|
4978
|
+
width: auto;
|
|
4979
|
+
max-width: calc(
|
|
4980
|
+
100% - var(--agent-gui-tool-sidebar-layout-width, 0px) - 16px
|
|
4981
|
+
);
|
|
4982
|
+
flex: 1 1 0;
|
|
4983
|
+
min-width: 0;
|
|
4984
|
+
overflow: hidden;
|
|
4985
|
+
}
|
|
4986
|
+
|
|
4916
4987
|
.agent-gui-workbench-header[data-agent-gui-standalone-window-header="true"]
|
|
4917
4988
|
.agent-gui-workbench-header__agent-brand,
|
|
4918
4989
|
.agent-gui-workbench-header[data-agent-gui-standalone-window-header="true"]
|
|
@@ -4979,7 +5050,8 @@ aside.workspace-agents-status-panel
|
|
|
4979
5050
|
|
|
4980
5051
|
.agent-gui-workbench-header__detached-window
|
|
4981
5052
|
+ .agent-gui-workbench-header__rail-toggle {
|
|
4982
|
-
|
|
5053
|
+
/* The primary row gap is 12px; keep this icon pair at a net 8px. */
|
|
5054
|
+
margin-left: -4px;
|
|
4983
5055
|
}
|
|
4984
5056
|
|
|
4985
5057
|
.workbench-window:has([data-workbench-node-render-error="true"])
|
|
@@ -5926,17 +5998,14 @@ button.agent-gui-node__conversation-section-toggle:hover
|
|
|
5926
5998
|
|
|
5927
5999
|
.agent-gui-node__conversation-list-skeleton-rib {
|
|
5928
6000
|
height: 12px;
|
|
5929
|
-
transform-origin: left center;
|
|
5930
6001
|
}
|
|
5931
6002
|
|
|
5932
6003
|
.agent-gui-node__conversation-list-skeleton-rib-primary {
|
|
5933
6004
|
width: 78%;
|
|
5934
|
-
transform: rotate(1deg);
|
|
5935
6005
|
}
|
|
5936
6006
|
|
|
5937
6007
|
.agent-gui-node__conversation-list-skeleton-rib-secondary {
|
|
5938
6008
|
width: 52%;
|
|
5939
|
-
transform: rotate(-1deg);
|
|
5940
6009
|
opacity: 0.72;
|
|
5941
6010
|
}
|
|
5942
6011
|
|
|
@@ -7338,7 +7407,7 @@ button.agent-gui-node__conversation-section-toggle:hover
|
|
|
7338
7407
|
isolation: isolate;
|
|
7339
7408
|
z-index: 2;
|
|
7340
7409
|
min-width: 0;
|
|
7341
|
-
padding:
|
|
7410
|
+
padding: 8px;
|
|
7342
7411
|
border: 1px solid var(--agent-gui-border-subtle);
|
|
7343
7412
|
border-radius: 12px;
|
|
7344
7413
|
background: var(--agent-gui-surface-raised);
|
|
@@ -7346,6 +7415,12 @@ button.agent-gui-node__conversation-section-toggle:hover
|
|
|
7346
7415
|
transition: box-shadow 140ms ease;
|
|
7347
7416
|
}
|
|
7348
7417
|
|
|
7418
|
+
.agent-gui-node__composer-hero-prompt-input-area {
|
|
7419
|
+
box-sizing: border-box;
|
|
7420
|
+
width: calc(100% - 8px);
|
|
7421
|
+
margin-inline: 4px;
|
|
7422
|
+
}
|
|
7423
|
+
|
|
7349
7424
|
.agent-gui-node__composer[data-layout="dock"]
|
|
7350
7425
|
.agent-gui-node__composer-input-shell {
|
|
7351
7426
|
gap: 6px;
|
|
@@ -8262,12 +8337,12 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
|
|
|
8262
8337
|
align-items: center;
|
|
8263
8338
|
justify-content: space-between;
|
|
8264
8339
|
gap: 8px;
|
|
8265
|
-
padding: 2px
|
|
8340
|
+
padding: 2px 8px;
|
|
8266
8341
|
}
|
|
8267
8342
|
|
|
8268
8343
|
.agent-gui-node__composer-input-group-hero
|
|
8269
8344
|
.agent-gui-node__composer-project-row {
|
|
8270
|
-
padding: 2px
|
|
8345
|
+
padding: 2px 8px;
|
|
8271
8346
|
}
|
|
8272
8347
|
|
|
8273
8348
|
.agent-gui-node__composer-project-row .agent-gui-node__composer-menu-trigger {
|
|
@@ -8769,7 +8844,7 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
|
|
|
8769
8844
|
flex: 1 1 auto;
|
|
8770
8845
|
flex-direction: column;
|
|
8771
8846
|
align-items: center;
|
|
8772
|
-
padding: 2px 0
|
|
8847
|
+
padding: 2px 0 16px;
|
|
8773
8848
|
overflow-x: hidden;
|
|
8774
8849
|
overflow-y: auto;
|
|
8775
8850
|
mask-image: linear-gradient(
|
|
@@ -8796,10 +8871,22 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
|
|
|
8796
8871
|
align-items: center;
|
|
8797
8872
|
justify-content: center;
|
|
8798
8873
|
gap: 8px;
|
|
8799
|
-
padding: 0
|
|
8874
|
+
padding: 0;
|
|
8800
8875
|
-webkit-app-region: no-drag;
|
|
8801
8876
|
}
|
|
8802
8877
|
|
|
8878
|
+
.agent-gui-node__provider-rail-config-footer {
|
|
8879
|
+
padding-bottom: 8px;
|
|
8880
|
+
}
|
|
8881
|
+
|
|
8882
|
+
.agent-gui-node__provider-rail-config-footer:last-child {
|
|
8883
|
+
padding-bottom: 12px;
|
|
8884
|
+
}
|
|
8885
|
+
|
|
8886
|
+
.agent-gui-node__provider-rail-sidebar-footer {
|
|
8887
|
+
padding-bottom: 12px;
|
|
8888
|
+
}
|
|
8889
|
+
|
|
8803
8890
|
.agent-gui-node__provider-rail-config-button {
|
|
8804
8891
|
display: grid;
|
|
8805
8892
|
width: 32px;
|
|
@@ -9048,6 +9135,10 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
|
|
|
9048
9135
|
}
|
|
9049
9136
|
|
|
9050
9137
|
.agent-gui-node__empty-hero {
|
|
9138
|
+
/* Center one shared frame instead of each state's intrinsic content height.
|
|
9139
|
+
Wrapped titles, composer controls, and readiness actions then grow down. */
|
|
9140
|
+
--agent-gui-empty-hero-anchor-block-size: 398px;
|
|
9141
|
+
|
|
9051
9142
|
display: flex;
|
|
9052
9143
|
width: 100%;
|
|
9053
9144
|
min-height: 100%;
|
|
@@ -9061,6 +9152,8 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
|
|
|
9061
9152
|
|
|
9062
9153
|
display: grid;
|
|
9063
9154
|
width: min(820px, 100%);
|
|
9155
|
+
block-size: var(--agent-gui-empty-hero-anchor-block-size);
|
|
9156
|
+
align-content: start;
|
|
9064
9157
|
gap: var(--agent-gui-empty-hero-gap);
|
|
9065
9158
|
justify-items: center;
|
|
9066
9159
|
}
|
|
@@ -9092,10 +9185,14 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
|
|
|
9092
9185
|
.agent-gui-node__empty-hero-carousel-layer {
|
|
9093
9186
|
position: absolute;
|
|
9094
9187
|
z-index: 1;
|
|
9095
|
-
|
|
9188
|
+
|
|
9189
|
+
/* The stage measures the body's placeholder slot and pins the layer to it;
|
|
9190
|
+
the calc() remains only as the first-paint estimate. */
|
|
9191
|
+
top: var(--agent-gui-hero-carousel-slot-top, calc(50% - 210px));
|
|
9096
9192
|
left: 50%;
|
|
9097
|
-
width: min(400px, calc(100% - 64px));
|
|
9098
|
-
transform: translateX(-50%);
|
|
9193
|
+
width: round(nearest, min(400px, calc(100% - 64px)), 1px);
|
|
9194
|
+
transform: translateX(-50%) scale(0.8);
|
|
9195
|
+
transform-origin: center center;
|
|
9099
9196
|
}
|
|
9100
9197
|
|
|
9101
9198
|
.agent-gui-node__empty-hero-carousel-placeholder {
|
|
@@ -9123,63 +9220,6 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
|
|
|
9123
9220
|
both;
|
|
9124
9221
|
}
|
|
9125
9222
|
|
|
9126
|
-
.agent-gui-node__empty-hero-icon-rail {
|
|
9127
|
-
display: flex;
|
|
9128
|
-
width: min(216px, 44vw);
|
|
9129
|
-
height: 64px;
|
|
9130
|
-
align-items: center;
|
|
9131
|
-
overflow: hidden;
|
|
9132
|
-
object-fit: unset;
|
|
9133
|
-
}
|
|
9134
|
-
|
|
9135
|
-
.agent-gui-node__empty-hero-icon-rail-scroller {
|
|
9136
|
-
display: flex;
|
|
9137
|
-
width: 100%;
|
|
9138
|
-
min-width: 0;
|
|
9139
|
-
align-items: center;
|
|
9140
|
-
gap: 12px;
|
|
9141
|
-
overflow-x: auto;
|
|
9142
|
-
overflow-y: hidden;
|
|
9143
|
-
padding: 8px 20px;
|
|
9144
|
-
overscroll-behavior-x: contain;
|
|
9145
|
-
scrollbar-width: none;
|
|
9146
|
-
scroll-snap-type: x proximity;
|
|
9147
|
-
mask-image: linear-gradient(
|
|
9148
|
-
90deg,
|
|
9149
|
-
transparent 0,
|
|
9150
|
-
#000 24px,
|
|
9151
|
-
#000 calc(100% - 24px),
|
|
9152
|
-
transparent 100%
|
|
9153
|
-
);
|
|
9154
|
-
}
|
|
9155
|
-
|
|
9156
|
-
.agent-gui-node__empty-hero-icon-rail-scroller::-webkit-scrollbar {
|
|
9157
|
-
display: none;
|
|
9158
|
-
}
|
|
9159
|
-
|
|
9160
|
-
.agent-gui-node__empty-hero-icon-rail-item {
|
|
9161
|
-
display: grid;
|
|
9162
|
-
width: 48px;
|
|
9163
|
-
height: 48px;
|
|
9164
|
-
flex: 0 0 48px;
|
|
9165
|
-
place-items: center;
|
|
9166
|
-
scroll-snap-align: center;
|
|
9167
|
-
transition:
|
|
9168
|
-
opacity 140ms ease,
|
|
9169
|
-
transform 140ms ease;
|
|
9170
|
-
}
|
|
9171
|
-
|
|
9172
|
-
.agent-gui-node__empty-hero-icon-rail-item:hover {
|
|
9173
|
-
transform: translateY(-1px);
|
|
9174
|
-
}
|
|
9175
|
-
|
|
9176
|
-
.agent-gui-node__empty-hero-icon-rail-item > img {
|
|
9177
|
-
display: block;
|
|
9178
|
-
width: 48px;
|
|
9179
|
-
height: 48px;
|
|
9180
|
-
object-fit: contain;
|
|
9181
|
-
}
|
|
9182
|
-
|
|
9183
9223
|
/* Empty-hero agent carousel ("All" tab): a three.js ring of same-sized agent
|
|
9184
9224
|
records (see agentGuiHeroCarouselScene.ts). Records farther around the ring
|
|
9185
9225
|
genuinely shrink and fade with perspective; visuals live on the canvas,
|
|
@@ -9431,14 +9471,21 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
|
|
|
9431
9471
|
opacity: 0;
|
|
9432
9472
|
transition: opacity 120ms ease-out;
|
|
9433
9473
|
|
|
9434
|
-
/* Fade-out mask:
|
|
9435
|
-
|
|
9436
|
-
the
|
|
9437
|
-
down the wheel melt away instead of being cut by the canvas bottom. */
|
|
9474
|
+
/* Fade-out mask: the horizontal fade runs edge to edge so there is no dead
|
|
9475
|
+
band beside the integer-aligned canvas buffer. The vertical band melts
|
|
9476
|
+
tiles sinking down the wheel instead of clipping them at the bottom. */
|
|
9438
9477
|
mask-image:
|
|
9439
|
-
linear-gradient(
|
|
9440
|
-
|
|
9478
|
+
linear-gradient(
|
|
9479
|
+
90deg,
|
|
9480
|
+
transparent 0%,
|
|
9481
|
+
#000 20%,
|
|
9482
|
+
#000 80%,
|
|
9483
|
+
transparent 100%
|
|
9484
|
+
),
|
|
9485
|
+
linear-gradient(180deg, #000 0%, #000 70%, transparent 100%);
|
|
9441
9486
|
mask-composite: intersect;
|
|
9487
|
+
mask-size: 100% 100%;
|
|
9488
|
+
mask-position: center;
|
|
9442
9489
|
}
|
|
9443
9490
|
|
|
9444
9491
|
.agent-gui-node__empty-hero-carousel[data-icons-ready="true"]
|
|
@@ -9478,7 +9525,6 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
|
|
|
9478
9525
|
.agent-gui-node__empty-provider-gate {
|
|
9479
9526
|
max-width: 520px;
|
|
9480
9527
|
gap: 8px;
|
|
9481
|
-
transform: translateY(-40px);
|
|
9482
9528
|
}
|
|
9483
9529
|
|
|
9484
9530
|
/* Gate gap is 8px; add 16px so the icon-to-title spacing is 24px. */
|
|
Binary file
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M14 3H21V10M20 4L10 14" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3
|
+
<path d="M19 13V19C19 20.1046 18.1046 21 17 21H5C3.89543 21 3 20.1046 3 19V7C3 5.89543 3.89543 5 5 5H11" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
|
4
|
+
</svg>
|