@tutti-os/agent-gui 0.0.64 → 0.0.66
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/LICENSE +1 -2
- package/README.md +1 -1
- package/dist/agent-conversation/index.d.ts +2 -2
- package/dist/agent-conversation/index.js +6 -6
- package/dist/agent-message-center/index.js +8 -8
- package/dist/{agentGuiNodeTypes-CCjzXdTe.d.ts → agentGuiNodeTypes-B9Aq3UEU.d.ts} +3 -1
- package/dist/app/renderer/agentactivity.css +46 -3
- package/dist/{chunk-IIXCU2UU.js → chunk-6ULTMCKP.js} +2 -2
- package/dist/{chunk-52VZ54WH.js → chunk-CTJQTUQ3.js} +6 -6
- package/dist/{chunk-52VZ54WH.js.map → chunk-CTJQTUQ3.js.map} +1 -1
- package/dist/{chunk-PVVM7MZZ.js → chunk-DL6BMEHI.js} +2 -2
- package/dist/{chunk-TFPKI4XJ.js → chunk-DXVMRZHH.js} +2 -6
- package/dist/chunk-DXVMRZHH.js.map +1 -0
- package/dist/{chunk-76GTKO4Q.js → chunk-HNODQVG2.js} +2 -2
- package/dist/{chunk-RDRKIMAC.js → chunk-JTFWT6DK.js} +7 -9
- package/dist/chunk-JTFWT6DK.js.map +1 -0
- package/dist/{chunk-MQ6RKXXW.js → chunk-KRJF7WLJ.js} +15 -3
- package/dist/chunk-KRJF7WLJ.js.map +1 -0
- package/dist/{chunk-FUJ73PTH.js → chunk-LJE2W4EM.js} +3 -5
- package/dist/chunk-LJE2W4EM.js.map +1 -0
- package/dist/{chunk-YFTQK2G4.js → chunk-LQHYHF36.js} +7 -7
- package/dist/chunk-LQHYHF36.js.map +1 -0
- package/dist/{chunk-TG3ZXLPM.js → chunk-MYD37I32.js} +27 -3
- package/dist/chunk-MYD37I32.js.map +1 -0
- package/dist/{chunk-ERWDRI3F.js → chunk-N4I3TD4G.js} +2 -2
- package/dist/{chunk-ERWDRI3F.js.map → chunk-N4I3TD4G.js.map} +1 -1
- package/dist/{chunk-FLTLZGIN.js → chunk-NOTZW5WH.js} +3 -3
- package/dist/{chunk-YUMHFZ5A.js → chunk-P5C3ED3V.js} +3 -2
- package/dist/chunk-P5C3ED3V.js.map +1 -0
- package/dist/{chunk-TT2YJNEP.js → chunk-T3KGZV35.js} +50 -12
- package/dist/chunk-T3KGZV35.js.map +1 -0
- package/dist/{chunk-F6GDUU4X.js → chunk-UBBHWDMP.js} +13 -9
- package/dist/{chunk-F6GDUU4X.js.map → chunk-UBBHWDMP.js.map} +1 -1
- package/dist/{chunk-3NSUJ7OF.js → chunk-UI3YDJTC.js} +39 -5
- package/dist/chunk-UI3YDJTC.js.map +1 -0
- package/dist/{chunk-C465B7WK.js → chunk-VBTPXEFH.js} +2 -2
- package/dist/{chunk-ZTZ6STJZ.js → chunk-Z26P2QNT.js} +2 -2
- package/dist/context-mention-palette/index.js +7 -7
- package/dist/i18n/index.d.ts +14 -2
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +37 -5
- package/dist/index.js +750 -774
- package/dist/index.js.map +1 -1
- package/dist/queued-prompt-runtime.d.ts +22 -3
- package/dist/queued-prompt-runtime.js +1 -1
- package/dist/{types-BAPEle8b.d.ts → types-Bxn8bLEp.d.ts} +14 -1
- package/dist/workbench/contribution.d.ts +1 -1
- package/dist/workbench/contribution.js +5 -5
- package/dist/workbench/index.d.ts +1 -1
- package/dist/workbench/index.js +8 -8
- package/dist/workbench/launch.d.ts +3 -1
- package/dist/workbench/launch.js +1 -1
- package/dist/workbench/providerCatalog.d.ts +1 -1
- package/dist/workbench/sessionTitle.d.ts +1 -1
- package/dist/workbench/sessionTitle.js +3 -3
- package/dist/workbench/state.d.ts +1 -1
- package/dist/workbench/state.js +2 -2
- package/dist/workbench/types.d.ts +1 -1
- package/dist/workspace-agent-generated-files.js +3 -3
- package/package.json +12 -12
- package/dist/app/renderer/assets/icons/@-lined-14px.svg +0 -3
- package/dist/app/renderer/assets/icons/agents/manage-agent-claude-code.png +0 -0
- package/dist/app/renderer/assets/icons/agents/manage-agent-codex.png +0 -0
- package/dist/app/renderer/assets/icons/agents/manage-agent-gemini.png +0 -0
- package/dist/app/renderer/assets/icons/agents/manage-agent-hermes.png +0 -0
- package/dist/app/renderer/assets/icons/agents/manage-agent-openclaw.png +0 -0
- package/dist/app/renderer/assets/icons/agents/tutti-doc-rounded.png +0 -0
- package/dist/app/renderer/assets/icons/agents/workspace-dock-agent-claude-code.png +0 -0
- package/dist/app/renderer/assets/icons/agents/workspace-dock-agent-codex.png +0 -0
- package/dist/app/renderer/assets/icons/agents/workspace-dock-agent-gemini.png +0 -0
- package/dist/app/renderer/assets/icons/agents/workspace-dock-agent-nexight.png +0 -0
- package/dist/app/renderer/assets/icons/agents/workspace-dock-agent-openclaw.png +0 -0
- package/dist/app/renderer/assets/icons/arrow-left-filled.svg +0 -1
- package/dist/chunk-3NSUJ7OF.js.map +0 -1
- package/dist/chunk-FUJ73PTH.js.map +0 -1
- package/dist/chunk-MQ6RKXXW.js.map +0 -1
- package/dist/chunk-RDRKIMAC.js.map +0 -1
- package/dist/chunk-TFPKI4XJ.js.map +0 -1
- package/dist/chunk-TG3ZXLPM.js.map +0 -1
- package/dist/chunk-TT2YJNEP.js.map +0 -1
- package/dist/chunk-YFTQK2G4.js.map +0 -1
- package/dist/chunk-YUMHFZ5A.js.map +0 -1
- package/dist/cursor-flat-filled-CL7N3BTZ.svg +0 -3
- /package/dist/{chunk-IIXCU2UU.js.map → chunk-6ULTMCKP.js.map} +0 -0
- /package/dist/{chunk-PVVM7MZZ.js.map → chunk-DL6BMEHI.js.map} +0 -0
- /package/dist/{chunk-76GTKO4Q.js.map → chunk-HNODQVG2.js.map} +0 -0
- /package/dist/{chunk-FLTLZGIN.js.map → chunk-NOTZW5WH.js.map} +0 -0
- /package/dist/{chunk-C465B7WK.js.map → chunk-VBTPXEFH.js.map} +0 -0
- /package/dist/{chunk-ZTZ6STJZ.js.map → chunk-Z26P2QNT.js.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { d as AgentGUIQueuedPromptVM } from './agentGuiNodeTypes-
|
|
1
|
+
import { d as AgentGUIQueuedPromptVM } from './agentGuiNodeTypes-B9Aq3UEU.js';
|
|
2
2
|
import '@tutti-os/agent-activity-core';
|
|
3
|
-
import './types-
|
|
3
|
+
import './types-Bxn8bLEp.js';
|
|
4
4
|
import './workspaceAgentActivityListViewModel-DJvAqZso.js';
|
|
5
5
|
import './agentConversationVM-DPAgUJlR.js';
|
|
6
6
|
import '@tutti-os/workspace-user-project/contracts';
|
|
@@ -18,6 +18,7 @@ interface AgentQueuedPromptClaim {
|
|
|
18
18
|
leasedUntilUnixMs: number;
|
|
19
19
|
workspaceId: string;
|
|
20
20
|
}
|
|
21
|
+
type AgentQueuedPromptSuspendReason = "user_stop";
|
|
21
22
|
interface AgentQueuedPromptQueueSnapshot {
|
|
22
23
|
agentSessionId: string;
|
|
23
24
|
claim: AgentQueuedPromptClaim | null;
|
|
@@ -25,6 +26,13 @@ interface AgentQueuedPromptQueueSnapshot {
|
|
|
25
26
|
prompts: readonly AgentGUIQueuedPromptVM[];
|
|
26
27
|
retryBlock: AgentQueuedPromptRetryBlock | null;
|
|
27
28
|
sendNextPromptId: string | null;
|
|
29
|
+
/**
|
|
30
|
+
* User intent gate: while set, the drainer must not auto-dispatch this
|
|
31
|
+
* queue even when the session is available. Set when the user stops the
|
|
32
|
+
* session; cleared by an explicit user send (composer submit resumes, and
|
|
33
|
+
* promotePrompt clears it as part of "send now").
|
|
34
|
+
*/
|
|
35
|
+
suspendReason: AgentQueuedPromptSuspendReason | null;
|
|
28
36
|
workspaceId: string;
|
|
29
37
|
}
|
|
30
38
|
interface AgentQueuedPromptSnapshot {
|
|
@@ -90,9 +98,20 @@ interface AgentQueuedPromptRuntime {
|
|
|
90
98
|
retryBlock: AgentQueuedPromptRetryBlock | null;
|
|
91
99
|
workspaceId: string;
|
|
92
100
|
}): void;
|
|
101
|
+
/** Hold the queue after a user stop; a no-op when the queue is empty. */
|
|
102
|
+
suspendQueue(input: {
|
|
103
|
+
agentSessionId: string;
|
|
104
|
+
reason: AgentQueuedPromptSuspendReason;
|
|
105
|
+
workspaceId: string;
|
|
106
|
+
}): void;
|
|
107
|
+
/** Lift a user-stop hold (explicit user send). */
|
|
108
|
+
resumeQueue(input: {
|
|
109
|
+
agentSessionId: string;
|
|
110
|
+
workspaceId: string;
|
|
111
|
+
}): void;
|
|
93
112
|
subscribe(listener: () => void): () => void;
|
|
94
113
|
}
|
|
95
114
|
declare const EMPTY_AGENT_QUEUED_PROMPT_SNAPSHOT: AgentQueuedPromptSnapshot;
|
|
96
115
|
declare function createAgentQueuedPromptRuntime(): AgentQueuedPromptRuntime;
|
|
97
116
|
|
|
98
|
-
export { type AgentQueuedPromptClaim, type AgentQueuedPromptClaimResult, type AgentQueuedPromptQueueSnapshot, type AgentQueuedPromptRetryBlock, type AgentQueuedPromptRuntime, type AgentQueuedPromptSnapshot, EMPTY_AGENT_QUEUED_PROMPT_SNAPSHOT, createAgentQueuedPromptRuntime };
|
|
117
|
+
export { type AgentQueuedPromptClaim, type AgentQueuedPromptClaimResult, type AgentQueuedPromptQueueSnapshot, type AgentQueuedPromptRetryBlock, type AgentQueuedPromptRuntime, type AgentQueuedPromptSnapshot, type AgentQueuedPromptSuspendReason, EMPTY_AGENT_QUEUED_PROMPT_SNAPSHOT, createAgentQueuedPromptRuntime };
|
|
@@ -165,6 +165,19 @@ interface AgentGUIProviderTarget {
|
|
|
165
165
|
disabled?: boolean;
|
|
166
166
|
unavailableReason?: string;
|
|
167
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* How the provider rail composes the target list.
|
|
170
|
+
* - "catalog" (default): host-provided targets are augmented with the static
|
|
171
|
+
* local provider catalog, disabled placeholders (nexight/hermes/openclaw),
|
|
172
|
+
* and coming-soon markers. When no targets are provided, the full local
|
|
173
|
+
* catalog is shown.
|
|
174
|
+
* - "exact": the rail renders exactly the provided targets — no static catalog
|
|
175
|
+
* fallback, no disabled placeholders, no coming-soon injection. When the list
|
|
176
|
+
* is empty (and not loading) the host-provided empty renderer is shown. Use
|
|
177
|
+
* this when the list is fully orchestrated externally (e.g. shared agents,
|
|
178
|
+
* custom /agents).
|
|
179
|
+
*/
|
|
180
|
+
type AgentGUIProviderRailMode = "catalog" | "exact";
|
|
168
181
|
type AgentGUIProviderReadinessGateStatus = "checking" | "coming_soon" | "not_installed" | "auth_required" | "unavailable";
|
|
169
182
|
type AgentGUIProviderReadinessGateAction = "install" | "login" | "refresh";
|
|
170
183
|
interface AgentGUIProviderReadinessGate {
|
|
@@ -185,4 +198,4 @@ interface NodeFrame {
|
|
|
185
198
|
size: Size;
|
|
186
199
|
}
|
|
187
200
|
|
|
188
|
-
export type { AgentGUINodeData as A, NodeFrame as N, Point as P, AgentGUIProvider as a,
|
|
201
|
+
export type { AgentGUINodeData as A, NodeFrame as N, Point as P, AgentGUIProvider as a, AgentGUIProviderRailMode as b, AgentGUIProviderReadinessGate as c, AgentGUIProviderReadinessGateAction as d, AgentGUIProviderReadinessGateStatus as e, AgentGUIProviderTarget as f, AgentGUIProviderTargetRef as g, AgentHostActivateAgentSessionResult as h, AgentHostAgentSessionCommand as i, AgentHostAgentSessionComposerSettings as j, AgentHostAgentSessionPermissionConfig as k, AgentHostAgentSessionReasoningEffort as l, AgentHostAgentSessionSpeed as m, AgentHostAgentSessionState as n, AgentHostUnactivateAgentSessionResult as o, AgentHostUpdateAgentSessionSettingsResult as p, AgentPromptContentBlock as q, AgentProvider as r };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { WorkbenchFrame, WorkbenchHostNodeBodyContext, WorkbenchHostLaunchRequest, WorkbenchHostDockEntry, WorkbenchContribution } from '@tutti-os/workbench-surface';
|
|
3
3
|
import { AgentGuiWorkbenchProvider, AgentGuiWorkbenchState } from './types.js';
|
|
4
|
-
import {
|
|
4
|
+
import { f as AgentGUIProviderTarget, g as AgentGUIProviderTargetRef } from '../types-Bxn8bLEp.js';
|
|
5
5
|
|
|
6
6
|
declare const agentGuiWorkbenchDefaultNodeFrame: WorkbenchFrame;
|
|
7
7
|
declare const agentGuiWorkbenchDefaultUsableWidthRatio = 0.8;
|
|
@@ -13,13 +13,13 @@ import {
|
|
|
13
13
|
resolveAgentGuiUnifiedDockLaunchPayload,
|
|
14
14
|
resolveAgentGuiWorkbenchContributionCopy,
|
|
15
15
|
resolveAgentGuiWorkbenchDefaultLaunchFrame
|
|
16
|
-
} from "../chunk-
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
16
|
+
} from "../chunk-LQHYHF36.js";
|
|
17
|
+
import "../chunk-DL6BMEHI.js";
|
|
18
|
+
import "../chunk-P5C3ED3V.js";
|
|
19
19
|
import "../chunk-2IMBPRKV.js";
|
|
20
20
|
import "../chunk-CKCUEHBW.js";
|
|
21
|
-
import "../chunk-
|
|
22
|
-
import "../chunk-
|
|
21
|
+
import "../chunk-LJE2W4EM.js";
|
|
22
|
+
import "../chunk-UI3YDJTC.js";
|
|
23
23
|
import "../chunk-R2NGSPQS.js";
|
|
24
24
|
export {
|
|
25
25
|
AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT,
|
|
@@ -6,7 +6,7 @@ import { HTMLAttributes, ReactNode } from 'react';
|
|
|
6
6
|
import { WorkbenchDisplayMode, WorkbenchHostNodeHeaderWindowActions } from '@tutti-os/workbench-surface';
|
|
7
7
|
export { AgentGuiSessionTitleFormatOptions, AgentGuiWorkbenchSessionTitleResult, ResolveAgentGuiWorkbenchSessionTitleInput, formatAgentGuiConversationPlainTitle, formatAgentGuiSessionPlainTitle, resolveAgentGuiWorkbenchSessionTitle } from './sessionTitle.js';
|
|
8
8
|
export { AgentGuiWorkbenchComposerOverrides, AgentGuiWorkbenchNodeState, AgentGuiWorkbenchPrefillPromptPayload, AgentGuiWorkbenchProvider, AgentGuiWorkbenchState, AgentGuiWorkbenchWorkspaceState, agentGuiWorkbenchOpenSessionActivationType, agentGuiWorkbenchPrefillPromptActivationType } from './types.js';
|
|
9
|
-
import '../types-
|
|
9
|
+
import '../types-Bxn8bLEp.js';
|
|
10
10
|
import '@tutti-os/agent-activity-core';
|
|
11
11
|
import '../uiSettings-BQS9r2eo.js';
|
|
12
12
|
|
package/dist/workbench/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
createAgentGuiWorkbenchContribution,
|
|
9
9
|
resolveAgentGuiUnifiedDockLaunchPayload,
|
|
10
10
|
resolveAgentGuiWorkbenchContributionCopy
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-LQHYHF36.js";
|
|
12
12
|
import {
|
|
13
13
|
agentGuiWorkbenchProviderFromInstanceId,
|
|
14
14
|
areAgentGuiWorkbenchNodeStatesEqual,
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
normalizeAgentGuiWorkbenchNodeState,
|
|
19
19
|
normalizeAgentGuiWorkbenchState,
|
|
20
20
|
projectAgentGuiWorkbenchState
|
|
21
|
-
} from "../chunk-
|
|
21
|
+
} from "../chunk-DL6BMEHI.js";
|
|
22
22
|
import {
|
|
23
23
|
agentGuiWorkbenchDockEntryId,
|
|
24
24
|
agentGuiWorkbenchDockIdentityFromIdentifier,
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
createAgentGuiWorkbenchInstanceId,
|
|
32
32
|
createAgentGuiWorkbenchLaunchDescriptor,
|
|
33
33
|
createAgentGuiWorkbenchSessionLaunchRequest
|
|
34
|
-
} from "../chunk-
|
|
34
|
+
} from "../chunk-P5C3ED3V.js";
|
|
35
35
|
import {
|
|
36
36
|
agentGuiWorkbenchOpenSessionActivationType,
|
|
37
37
|
agentGuiWorkbenchPrefillPromptActivationType
|
|
@@ -49,16 +49,16 @@ import {
|
|
|
49
49
|
normalizeAgentGuiWorkbenchProvider,
|
|
50
50
|
resolveAgentGuiWorkbenchProviderLabel
|
|
51
51
|
} from "../chunk-CKCUEHBW.js";
|
|
52
|
-
import "../chunk-
|
|
53
|
-
import "../chunk-
|
|
52
|
+
import "../chunk-LJE2W4EM.js";
|
|
53
|
+
import "../chunk-UI3YDJTC.js";
|
|
54
54
|
import {
|
|
55
55
|
formatAgentGuiConversationPlainTitle,
|
|
56
56
|
formatAgentGuiSessionPlainTitle,
|
|
57
57
|
resolveAgentGuiWorkbenchSessionTitle
|
|
58
|
-
} from "../chunk-
|
|
59
|
-
import "../chunk-
|
|
58
|
+
} from "../chunk-VBTPXEFH.js";
|
|
59
|
+
import "../chunk-HNODQVG2.js";
|
|
60
60
|
import "../chunk-R2NGSPQS.js";
|
|
61
|
-
import "../chunk-
|
|
61
|
+
import "../chunk-KRJF7WLJ.js";
|
|
62
62
|
import "../chunk-GCBDIQDX.js";
|
|
63
63
|
export {
|
|
64
64
|
AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { WorkbenchHostLaunchRequest } from '@tutti-os/workbench-surface';
|
|
2
2
|
import { agentGuiWorkbenchOpenSessionActivationType, AgentGuiWorkbenchPrefillPromptPayload, agentGuiWorkbenchPrefillPromptActivationType, AgentGuiWorkbenchProvider } from './types.js';
|
|
3
|
-
import '../types-
|
|
3
|
+
import '../types-Bxn8bLEp.js';
|
|
4
4
|
|
|
5
5
|
type AgentGuiWorkbenchLaunchRequestInput = Pick<WorkbenchHostLaunchRequest, "payload" | "typeId"> & {
|
|
6
6
|
dockEntryId?: string | null;
|
|
@@ -24,6 +24,7 @@ declare function agentGuiWorkbenchProviderFromIdentifier(value: string | null |
|
|
|
24
24
|
declare function agentGuiWorkbenchDockIdentityFromIdentifier(value: string | null | undefined): AgentGuiWorkbenchDockIdentity | null;
|
|
25
25
|
declare function agentGuiWorkbenchProviderFromLaunchRequest(request: AgentGuiWorkbenchLaunchRequestInput): AgentGuiWorkbenchProvider;
|
|
26
26
|
declare function createAgentGuiWorkbenchSessionLaunchRequest(input: {
|
|
27
|
+
agentTargetId?: string | null;
|
|
27
28
|
agentSessionId?: string;
|
|
28
29
|
openInNewWindow?: boolean;
|
|
29
30
|
provider: unknown;
|
|
@@ -33,6 +34,7 @@ declare function createAgentGuiWorkbenchSessionLaunchRequest(input: {
|
|
|
33
34
|
provider: AgentGuiWorkbenchProvider;
|
|
34
35
|
openInNewWindow?: boolean | undefined;
|
|
35
36
|
agentSessionId?: string | undefined;
|
|
37
|
+
agentTargetId?: string | undefined;
|
|
36
38
|
};
|
|
37
39
|
reason: "host";
|
|
38
40
|
typeId: string;
|
package/dist/workbench/launch.js
CHANGED
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
createAgentGuiWorkbenchSessionLaunchRequest,
|
|
13
13
|
resolveAgentGuiWorkbenchLaunchDockEntryId,
|
|
14
14
|
shouldReuseAgentGuiWorkbenchDockEntryNode
|
|
15
|
-
} from "../chunk-
|
|
15
|
+
} from "../chunk-P5C3ED3V.js";
|
|
16
16
|
import {
|
|
17
17
|
agentGuiWorkbenchPrefillPromptActivationType
|
|
18
18
|
} from "../chunk-2IMBPRKV.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AgentGuiWorkbenchProvider } from './types.js';
|
|
2
|
-
import '../types-
|
|
2
|
+
import '../types-Bxn8bLEp.js';
|
|
3
3
|
|
|
4
4
|
declare const agentGuiWorkbenchProviders: readonly ["claude-code", "codex", "cursor", "nexight", "hermes", "gemini", "openclaw"];
|
|
5
5
|
declare const agentGuiWorkbenchDefaultDockProviders: readonly ["codex", "claude-code"];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AgentActivitySnapshot } from '@tutti-os/agent-activity-core';
|
|
2
2
|
import { U as UiLanguage } from '../uiSettings-BQS9r2eo.js';
|
|
3
3
|
import { AgentGuiWorkbenchProvider } from './types.js';
|
|
4
|
-
import '../types-
|
|
4
|
+
import '../types-Bxn8bLEp.js';
|
|
5
5
|
|
|
6
6
|
interface AgentGuiSessionTitleFormatOptions {
|
|
7
7
|
fallbackAgentLabel?: string;
|
|
@@ -2,9 +2,9 @@ import {
|
|
|
2
2
|
formatAgentGuiConversationPlainTitle,
|
|
3
3
|
formatAgentGuiSessionPlainTitle,
|
|
4
4
|
resolveAgentGuiWorkbenchSessionTitle
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
5
|
+
} from "../chunk-VBTPXEFH.js";
|
|
6
|
+
import "../chunk-HNODQVG2.js";
|
|
7
|
+
import "../chunk-KRJF7WLJ.js";
|
|
8
8
|
import "../chunk-GCBDIQDX.js";
|
|
9
9
|
export {
|
|
10
10
|
formatAgentGuiConversationPlainTitle,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { WorkbenchHostExternalStateSource, WorkbenchHostExternalStateLookupInput } from '@tutti-os/workbench-surface';
|
|
2
2
|
import { AgentGuiWorkbenchProvider, AgentGuiWorkbenchNodeState, AgentGuiWorkbenchState, AgentGuiWorkbenchWorkspaceState } from './types.js';
|
|
3
|
-
import '../types-
|
|
3
|
+
import '../types-Bxn8bLEp.js';
|
|
4
4
|
|
|
5
5
|
type AgentGuiWorkbenchStateLookupRequest = Pick<WorkbenchHostExternalStateLookupInput, "instanceId" | "typeId"> & Partial<Pick<WorkbenchHostExternalStateLookupInput, "nodeId">>;
|
|
6
6
|
declare function createDefaultAgentGuiWorkbenchNodeState(provider?: AgentGuiWorkbenchProvider): AgentGuiWorkbenchNodeState;
|
package/dist/workbench/state.js
CHANGED
|
@@ -7,9 +7,9 @@ import {
|
|
|
7
7
|
normalizeAgentGuiWorkbenchNodeState,
|
|
8
8
|
normalizeAgentGuiWorkbenchState,
|
|
9
9
|
projectAgentGuiWorkbenchState
|
|
10
|
-
} from "../chunk-
|
|
10
|
+
} from "../chunk-DL6BMEHI.js";
|
|
11
11
|
import "../chunk-CKCUEHBW.js";
|
|
12
|
-
import "../chunk-
|
|
12
|
+
import "../chunk-UI3YDJTC.js";
|
|
13
13
|
export {
|
|
14
14
|
agentGuiWorkbenchProviderFromInstanceId,
|
|
15
15
|
areAgentGuiWorkbenchNodeStatesEqual,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { g as AgentGUIProviderTargetRef } from '../types-Bxn8bLEp.js';
|
|
2
2
|
|
|
3
3
|
type AgentGuiWorkbenchProvider = "claude-code" | "codex" | "cursor" | "nexight" | "gemini" | "hermes" | "openclaw";
|
|
4
4
|
declare const agentGuiWorkbenchOpenSessionActivationType = "agent-gui:open-session";
|
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
resolveWorkspaceAgentActivityStatus,
|
|
5
5
|
resolveWorkspaceAgentActivityTitle,
|
|
6
6
|
reuseWorkspaceAgentActivityListViewModelIfUnchanged
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-Z26P2QNT.js";
|
|
8
8
|
import "./chunk-IBIMGLCD.js";
|
|
9
9
|
import "./chunk-Y35GDLP2.js";
|
|
10
10
|
import {
|
|
11
11
|
workspaceAgentProviderLabel
|
|
12
12
|
} from "./chunk-TYGL25EL.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-6ULTMCKP.js";
|
|
14
|
+
import "./chunk-KRJF7WLJ.js";
|
|
15
15
|
import "./chunk-GCBDIQDX.js";
|
|
16
16
|
export {
|
|
17
17
|
buildWorkspaceAgentActivityListViewModel,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tutti-os/agent-gui",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.66",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -94,17 +94,17 @@
|
|
|
94
94
|
},
|
|
95
95
|
"dependencies": {
|
|
96
96
|
"@monaco-editor/react": "^4.7.0",
|
|
97
|
-
"@tutti-os/agent-activity-core": "0.0.
|
|
98
|
-
"@tutti-os/ui-i18n-runtime": "0.0.
|
|
99
|
-
"@tutti-os/ui-rich-text": "0.0.
|
|
100
|
-
"@tutti-os/ui-react-hooks": "0.0.
|
|
101
|
-
"@tutti-os/ui-system": "0.0.
|
|
102
|
-
"@tutti-os/workbench-surface": "0.0.
|
|
103
|
-
"@tutti-os/workspace-external-core": "0.0.
|
|
104
|
-
"@tutti-os/workspace-file-manager": "0.0.
|
|
105
|
-
"@tutti-os/workspace-file-reference": "0.0.
|
|
106
|
-
"@tutti-os/workspace-issue-manager": "0.0.
|
|
107
|
-
"@tutti-os/workspace-user-project": "0.0.
|
|
97
|
+
"@tutti-os/agent-activity-core": "0.0.66",
|
|
98
|
+
"@tutti-os/ui-i18n-runtime": "0.0.66",
|
|
99
|
+
"@tutti-os/ui-rich-text": "0.0.66",
|
|
100
|
+
"@tutti-os/ui-react-hooks": "0.0.66",
|
|
101
|
+
"@tutti-os/ui-system": "0.0.66",
|
|
102
|
+
"@tutti-os/workbench-surface": "0.0.66",
|
|
103
|
+
"@tutti-os/workspace-external-core": "0.0.66",
|
|
104
|
+
"@tutti-os/workspace-file-manager": "0.0.66",
|
|
105
|
+
"@tutti-os/workspace-file-reference": "0.0.66",
|
|
106
|
+
"@tutti-os/workspace-issue-manager": "0.0.66",
|
|
107
|
+
"@tutti-os/workspace-user-project": "0.0.66",
|
|
108
108
|
"@tanstack/react-virtual": "^3.13.12",
|
|
109
109
|
"@tiptap/core": "^3.11.1",
|
|
110
110
|
"@tiptap/pm": "^3.23.6",
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<path d="M4.15672 0.923957C5.52544 0.283494 7.07068 0.123903 8.54141 0.471076C10.012 0.818299 11.3224 1.652 12.2602 2.83688C13.198 4.02185 13.7082 5.48879 13.7082 6.99996V7.5833C13.7082 8.27949 13.4315 8.94697 12.9392 9.43925C12.4469 9.93152 11.7794 10.2083 11.0832 10.2083C10.3871 10.2083 9.71954 9.93152 9.22728 9.43925C9.20473 9.4167 9.18341 9.39303 9.16177 9.36976C8.59144 9.89033 7.83294 10.2083 6.9999 10.2083C5.22803 10.2082 3.79157 8.77185 3.79157 6.99996C3.79159 5.2281 5.22805 3.79168 6.9999 3.79163C7.57711 3.79163 8.11847 3.94468 8.58641 4.21147C8.74008 3.95987 9.01686 3.79166 9.33324 3.79163C9.81648 3.79163 10.2082 4.1834 10.2082 4.66663V7.5833C10.2082 7.81533 10.3005 8.03786 10.4646 8.20195C10.6287 8.36602 10.8512 8.45827 11.0832 8.4583C11.3153 8.4583 11.5378 8.36603 11.7019 8.20195C11.866 8.03786 11.9582 7.81536 11.9582 7.5833V6.99996C11.9582 5.88302 11.581 4.7985 10.8878 3.92265C10.1947 3.04698 9.22614 2.43098 8.13923 2.17436C7.05219 1.91777 5.91006 2.0354 4.89842 2.50875C3.88684 2.98212 3.06461 3.78336 2.56509 4.78227C2.06558 5.7813 1.91811 6.92003 2.14639 8.01339C2.37468 9.10674 2.96539 10.0913 3.8229 10.807C4.68041 11.5226 5.75467 11.9276 6.87116 11.9566C7.98766 11.9856 9.08115 11.6366 9.97468 10.9665C10.3612 10.6766 10.91 10.7549 11.2 11.1414C11.4899 11.528 11.4117 12.0768 11.0251 12.3667C9.81619 13.2734 8.33625 13.7453 6.82559 13.706C5.31501 13.6667 3.86197 13.1185 2.70181 12.1503C1.54166 11.182 0.742296 9.85035 0.433417 8.37114C0.12458 6.89196 0.32394 5.3517 0.99966 4.00013C1.67547 2.64852 2.78802 1.56444 4.15672 0.923957ZM6.9999 5.54163C6.19454 5.54168 5.54159 6.1946 5.54157 6.99996C5.54157 7.80535 6.19453 8.45825 6.9999 8.4583C7.80532 8.4583 8.45824 7.80538 8.45824 6.99996C8.45822 6.19457 7.80531 5.54163 6.9999 5.54163Z" fill="black"/>
|
|
3
|
-
</svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="#000" d="M14.293 5.293a3 3 0 0 1 0 4.243L10.414 12l3.879 3.464a3 3 0 1 1-4 4.464l-6-5.354a3 3 0 0 1 0-4.464l6-5.354a3 3 0 0 1 4 0"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../providerTargets.ts"],"sourcesContent":["import type {\n AgentGUIProvider,\n AgentGUIProviderTarget,\n AgentGUIProviderTargetRef\n} from \"./types.ts\";\n\nconst agentGUIProviderTargetStaticLabels: Record<AgentGUIProvider, string> = {\n \"claude-code\": \"Claude Code\",\n codex: \"Codex\",\n cursor: \"Cursor\",\n gemini: \"Gemini\",\n hermes: \"Hermes\",\n nexight: \"Tutti Agent\",\n openclaw: \"OpenClaw\"\n};\n\nexport const agentGUIDefaultTargetProviders = [\n \"codex\",\n \"claude-code\",\n \"cursor\",\n \"nexight\",\n \"hermes\",\n \"openclaw\"\n] as const satisfies readonly AgentGUIProvider[];\n\nconst agentGUIDisabledPlaceholderProviders = [\n \"nexight\",\n \"hermes\",\n \"openclaw\"\n] as const satisfies readonly AgentGUIProvider[];\n\nexport function createLocalAgentGUIProviderTarget(\n provider: AgentGUIProvider\n): AgentGUIProviderTarget {\n const targetId = localAgentGUIProviderTargetId(provider);\n const agentTargetId = localAgentGUIAgentTargetId(provider);\n return {\n targetId,\n ...(agentTargetId ? { agentTargetId } : {}),\n provider,\n ref: {\n kind: \"local\",\n provider\n },\n label: agentGUIProviderTargetStaticLabels[provider] ?? provider\n };\n}\n\nexport function createDisabledPlaceholderAgentGUIProviderTarget(\n provider: AgentGUIProvider\n): AgentGUIProviderTarget {\n return {\n ...createLocalAgentGUIProviderTarget(provider),\n disabled: true\n };\n}\n\nexport function createLocalAgentGUIProviderTargets(\n providers: readonly AgentGUIProvider[] = agentGUIDefaultTargetProviders\n): AgentGUIProviderTarget[] {\n return providers.map((provider) =>\n createLocalAgentGUIProviderTarget(provider)\n );\n}\n\nfunction createStaticAgentGUIProviderTargets(\n providers: readonly AgentGUIProvider[] = agentGUIDefaultTargetProviders,\n options?: { includeDisabledPlaceholders?: boolean }\n): AgentGUIProviderTarget[] {\n const disabledProviders = new Set<AgentGUIProvider>(\n options?.includeDisabledPlaceholders === true\n ? agentGUIDisabledPlaceholderProviders\n : []\n );\n return providers.map((provider) =>\n disabledProviders.has(provider)\n ? createDisabledPlaceholderAgentGUIProviderTarget(provider)\n : createLocalAgentGUIProviderTarget(provider)\n );\n}\n\nexport function localAgentGUIProviderTargetId(\n provider: AgentGUIProvider\n): string {\n return `local:${provider}`;\n}\n\nexport function localAgentGUIAgentTargetId(\n provider: AgentGUIProvider\n): string | null {\n switch (provider) {\n case \"codex\":\n return \"local:codex\";\n case \"claude-code\":\n return \"local:claude-code\";\n case \"cursor\":\n return \"local:cursor\";\n case \"hermes\":\n return \"local:hermes\";\n case \"nexight\":\n return \"local:nexight\";\n case \"openclaw\":\n return \"local:openclaw\";\n default:\n return null;\n }\n}\n\nexport function normalizeAgentGUIProviderTargets(\n targets: readonly AgentGUIProviderTarget[] | null | undefined,\n options?: {\n includeDisabledPlaceholders?: boolean;\n useStaticCatalog?: boolean;\n }\n): AgentGUIProviderTarget[] {\n const includeDisabledPlaceholders =\n options?.includeDisabledPlaceholders === true;\n const useStaticCatalog = options?.useStaticCatalog !== false;\n const source = targets && targets.length > 0 ? targets : [];\n const normalizedTargets: AgentGUIProviderTarget[] = [];\n const seenTargetKeys = new Set<string>();\n const seenProviders = new Set<AgentGUIProvider>();\n for (const target of source) {\n const normalized = normalizeAgentGUIProviderTarget(target);\n if (!normalized) {\n continue;\n }\n const dedupeKey = `${normalized.provider}\\u0000${normalized.targetId}`;\n if (seenTargetKeys.has(dedupeKey)) {\n continue;\n }\n seenTargetKeys.add(dedupeKey);\n seenProviders.add(normalized.provider);\n normalizedTargets.push(normalized);\n }\n if (includeDisabledPlaceholders && normalizedTargets.length > 0) {\n for (const provider of agentGUIDisabledPlaceholderProviders) {\n if (seenProviders.has(provider)) {\n continue;\n }\n normalizedTargets.push(\n createDisabledPlaceholderAgentGUIProviderTarget(provider)\n );\n }\n }\n return normalizedTargets.length > 0 || !useStaticCatalog\n ? normalizedTargets\n : createStaticAgentGUIProviderTargets(undefined, {\n includeDisabledPlaceholders\n });\n}\n\nexport function resolveAgentGUIProviderTarget(input: {\n agentTargetId?: string | null;\n defaultProviderTargetId?: string | null;\n provider: AgentGUIProvider;\n providerTargetId?: string | null;\n providerTargets: readonly AgentGUIProviderTarget[];\n useStaticCatalog?: boolean;\n}): AgentGUIProviderTarget | null {\n const targetByAgentTargetId = new Map(\n input.providerTargets.flatMap((target) =>\n target.agentTargetId ? [[target.agentTargetId, target] as const] : []\n )\n );\n const agentTarget = targetByAgentTargetId.get(\n input.agentTargetId?.trim() ?? \"\"\n );\n if (agentTarget) {\n return agentTarget;\n }\n const providerTargets = input.providerTargets.filter(\n (target) => target.provider === input.provider\n );\n const targetById = new Map(\n providerTargets.map((target) => [target.targetId, target])\n );\n return (\n targetById.get(input.providerTargetId?.trim() ?? \"\") ??\n targetById.get(input.defaultProviderTargetId?.trim() ?? \"\") ??\n targetById.get(localAgentGUIProviderTargetId(input.provider)) ??\n providerTargets.find((target) => target.disabled !== true) ??\n providerTargets[0] ??\n (input.useStaticCatalog === false\n ? null\n : createLocalAgentGUIProviderTarget(input.provider))\n );\n}\n\nexport function agentGUIProviderTargetRefsEqual(\n left: AgentGUIProviderTargetRef | null | undefined,\n right: AgentGUIProviderTargetRef | null | undefined\n): boolean {\n if (left === right) {\n return true;\n }\n if (!left && !right) {\n return true;\n }\n if (!left || !right) {\n return false;\n }\n return stableProviderTargetRefKey(left) === stableProviderTargetRefKey(right);\n}\n\nfunction normalizeAgentGUIProviderTarget(\n target: AgentGUIProviderTarget\n): AgentGUIProviderTarget | null {\n const targetId = target.targetId.trim();\n const agentTargetId = target.agentTargetId?.trim();\n const label = target.label.trim();\n const kind =\n typeof target.ref.kind === \"string\" ? target.ref.kind.trim() : \"\";\n if (!targetId || !label || !kind || target.ref.provider !== target.provider) {\n return null;\n }\n return {\n ...target,\n targetId,\n ...(agentTargetId ? { agentTargetId } : {}),\n provider: target.provider,\n ref: {\n ...target.ref,\n kind,\n provider: target.provider\n },\n label,\n ...(target.description?.trim()\n ? { description: target.description.trim() }\n : {}),\n ...(target.ownerLabel?.trim()\n ? { ownerLabel: target.ownerLabel.trim() }\n : {}),\n ...(target.unavailableReason?.trim()\n ? { unavailableReason: target.unavailableReason.trim() }\n : {})\n };\n}\n\nfunction stableProviderTargetRefKey(ref: AgentGUIProviderTargetRef): string {\n return JSON.stringify(sortProviderTargetRefValue(ref));\n}\n\nfunction sortProviderTargetRefValue(value: unknown): unknown {\n if (Array.isArray(value)) {\n return value.map(sortProviderTargetRefValue);\n }\n if (!value || typeof value !== \"object\") {\n return value;\n }\n return Object.fromEntries(\n Object.entries(value)\n .sort(([left], [right]) => left.localeCompare(right))\n .map(([key, entryValue]) => [key, sortProviderTargetRefValue(entryValue)])\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../agentGuiSessionProviderIconUrls.ts","../agent-gui/agentGuiNode/model/agentGuiRailLayout.ts","../dockIcons.ts"],"sourcesContent":["import claudeCodeFlatFilledIconUrl from \"./app/renderer/assets/icons/agents/claudecode-flat-filled.svg\";\nimport codexFlatFilledIconUrl from \"./app/renderer/assets/icons/agents/codex-flat-filled.svg\";\nimport cursorFlatFilledIconUrl from \"./app/renderer/assets/icons/agents/cursor-flat-filled.svg\";\nimport { normalizeManagedAgentProvider } from \"./shared/managedAgentProviders\";\n\nexport {\n claudeCodeFlatFilledIconUrl,\n codexFlatFilledIconUrl,\n cursorFlatFilledIconUrl\n};\n\nexport function resolveAgentGuiSessionProviderIconUrl(\n provider: string | undefined\n): string | null {\n switch (normalizeManagedAgentProvider(provider)) {\n case \"claude-code\":\n return claudeCodeFlatFilledIconUrl;\n case \"codex\":\n return codexFlatFilledIconUrl;\n case \"cursor\":\n return cursorFlatFilledIconUrl;\n default:\n return null;\n }\n}\n","function clamp(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, value));\n}\n\n// Keep aligned with the issue manager task-list rail dimensions.\nexport const AGENT_GUI_CONVERSATION_RAIL_DEFAULT_WIDTH_PX = 280;\nexport const AGENT_GUI_CONVERSATION_RAIL_MIN_WIDTH_PX = 248;\nexport const AGENT_GUI_CONVERSATION_RAIL_MAX_WIDTH_PX = 520;\nexport const AGENT_GUI_DETAIL_MIN_WIDTH_PX = 220;\nexport const AGENT_GUI_RAIL_RESIZE_HANDLE_WIDTH_PX = 10;\nexport const AGENT_GUI_COLLAPSED_MIN_WIDTH_PX = 460;\nexport const AGENT_GUI_EXPANDED_MIN_WIDTH_PX =\n AGENT_GUI_CONVERSATION_RAIL_MIN_WIDTH_PX +\n AGENT_GUI_DETAIL_MIN_WIDTH_PX +\n AGENT_GUI_RAIL_RESIZE_HANDLE_WIDTH_PX;\nexport const AGENT_GUI_AUTO_COLLAPSE_WIDTH_PX = 610;\nexport const AGENT_GUI_EXPANDED_TARGET_WIDTH_PX = 800;\n\nexport interface AgentGUIExpandedWindowFrameInput {\n position: { x: number; y: number };\n width: number;\n height: number;\n desktopSize: { width: number; height: number };\n conversationRailWidthPx: number | null | undefined;\n}\n\nexport function shouldAutoCollapseAgentGUIConversationRail(\n containerWidthPx: number\n): boolean {\n return (\n Number.isFinite(containerWidthPx) &&\n containerWidthPx > 0 &&\n containerWidthPx <= AGENT_GUI_AUTO_COLLAPSE_WIDTH_PX\n );\n}\n\nexport function resolveAgentGUIConversationRailMaxWidthPx(\n containerWidthPx: number\n): number {\n const safeContainerWidth =\n Number.isFinite(containerWidthPx) && containerWidthPx > 0\n ? containerWidthPx\n : AGENT_GUI_CONVERSATION_RAIL_DEFAULT_WIDTH_PX +\n AGENT_GUI_DETAIL_MIN_WIDTH_PX +\n AGENT_GUI_RAIL_RESIZE_HANDLE_WIDTH_PX;\n\n return Math.max(\n AGENT_GUI_CONVERSATION_RAIL_MIN_WIDTH_PX,\n Math.min(\n AGENT_GUI_CONVERSATION_RAIL_MAX_WIDTH_PX,\n safeContainerWidth -\n AGENT_GUI_DETAIL_MIN_WIDTH_PX -\n AGENT_GUI_RAIL_RESIZE_HANDLE_WIDTH_PX\n )\n );\n}\n\nexport function clampAgentGUIConversationRailWidthPx(\n widthPx: number | null | undefined,\n containerWidthPx: number\n): number {\n const preferredWidthPx =\n typeof widthPx === \"number\" && Number.isFinite(widthPx)\n ? Math.round(widthPx)\n : null;\n\n return clamp(\n preferredWidthPx ?? AGENT_GUI_CONVERSATION_RAIL_DEFAULT_WIDTH_PX,\n AGENT_GUI_CONVERSATION_RAIL_MIN_WIDTH_PX,\n resolveAgentGUIConversationRailMaxWidthPx(containerWidthPx)\n );\n}\n\nexport function resolveNextAgentGUIConversationRailWidthPx(input: {\n currentWidthPx: number | null | undefined;\n requestedWidthPx: number;\n containerWidthPx: number;\n}): number | null {\n const nextWidthPx = clampAgentGUIConversationRailWidthPx(\n input.requestedWidthPx,\n input.containerWidthPx\n );\n if (input.currentWidthPx === nextWidthPx) {\n return input.currentWidthPx;\n }\n\n if (input.currentWidthPx === null || input.currentWidthPx === undefined) {\n const defaultWidthPx = clampAgentGUIConversationRailWidthPx(\n null,\n input.containerWidthPx\n );\n if (nextWidthPx === defaultWidthPx) {\n return null;\n }\n }\n\n return nextWidthPx;\n}\n\nexport function resolveAgentGUIExpandedWindowFrame(\n input: AgentGUIExpandedWindowFrameInput\n): {\n position: { x: number; y: number };\n size: { width: number; height: number };\n} {\n const desiredRailWidthPx = clampAgentGUIConversationRailWidthPx(\n input.conversationRailWidthPx,\n AGENT_GUI_CONVERSATION_RAIL_MAX_WIDTH_PX +\n AGENT_GUI_DETAIL_MIN_WIDTH_PX +\n AGENT_GUI_RAIL_RESIZE_HANDLE_WIDTH_PX\n );\n const desiredWidthPx = Math.max(\n Math.round(input.width),\n desiredRailWidthPx +\n AGENT_GUI_DETAIL_MIN_WIDTH_PX +\n AGENT_GUI_RAIL_RESIZE_HANDLE_WIDTH_PX,\n AGENT_GUI_EXPANDED_MIN_WIDTH_PX,\n AGENT_GUI_EXPANDED_TARGET_WIDTH_PX\n );\n const desktopWidthPx =\n Number.isFinite(input.desktopSize.width) && input.desktopSize.width > 0\n ? Math.round(input.desktopSize.width)\n : desiredWidthPx;\n const nextWidthPx = Math.min(desiredWidthPx, desktopWidthPx);\n const maxX = Math.max(0, desktopWidthPx - nextWidthPx);\n const nextX = clamp(Math.round(input.position.x), 0, maxX);\n\n return {\n position: {\n x: nextX,\n y: input.position.y\n },\n size: {\n width: nextWidthPx,\n height: input.height\n }\n };\n}\n","import {\n codexRoundedUrl,\n cursorRoundedUrl,\n geminiRoundedUrl,\n hermesRoundedUrl,\n manageAgentClaudeCodeUrl,\n manageAgentTuttiUrl,\n openclawRoundedUrl\n} from \"./managedAgentIconAssets.ts\";\n\nexport const agentGuiDockIconUrl = codexRoundedUrl;\n\nexport const agentGuiDockIconUrls = {\n \"claude-code\": manageAgentClaudeCodeUrl,\n codex: codexRoundedUrl,\n cursor: cursorRoundedUrl,\n gemini: geminiRoundedUrl,\n hermes: hermesRoundedUrl,\n nexight: manageAgentTuttiUrl,\n openclaw: openclawRoundedUrl\n} as const;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAWO,SAAS,sCACd,UACe;AACf,UAAQ,8BAA8B,QAAQ,GAAG;AAAA,IAC/C,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;;;ACxBA,SAAS,MAAM,OAAe,KAAa,KAAqB;AAC9D,SAAO,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC;AAC3C;AAGO,IAAM,+CAA+C;AACrD,IAAM,2CAA2C;AACjD,IAAM,2CAA2C;AACjD,IAAM,gCAAgC;AACtC,IAAM,wCAAwC;AAC9C,IAAM,mCAAmC;AACzC,IAAM,kCACX,2CACA,gCACA;AACK,IAAM,mCAAmC;AACzC,IAAM,qCAAqC;AAU3C,SAAS,2CACd,kBACS;AACT,SACE,OAAO,SAAS,gBAAgB,KAChC,mBAAmB,KACnB,oBAAoB;AAExB;AAEO,SAAS,0CACd,kBACQ;AACR,QAAM,qBACJ,OAAO,SAAS,gBAAgB,KAAK,mBAAmB,IACpD,mBACA,+CACA,gCACA;AAEN,SAAO,KAAK;AAAA,IACV;AAAA,IACA,KAAK;AAAA,MACH;AAAA,MACA,qBACE,gCACA;AAAA,IACJ;AAAA,EACF;AACF;AAEO,SAAS,qCACd,SACA,kBACQ;AACR,QAAM,mBACJ,OAAO,YAAY,YAAY,OAAO,SAAS,OAAO,IAClD,KAAK,MAAM,OAAO,IAClB;AAEN,SAAO;AAAA,IACL,oBAAoB;AAAA,IACpB;AAAA,IACA,0CAA0C,gBAAgB;AAAA,EAC5D;AACF;AAEO,SAAS,2CAA2C,OAIzC;AAChB,QAAM,cAAc;AAAA,IAClB,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACA,MAAI,MAAM,mBAAmB,aAAa;AACxC,WAAO,MAAM;AAAA,EACf;AAEA,MAAI,MAAM,mBAAmB,QAAQ,MAAM,mBAAmB,QAAW;AACvE,UAAM,iBAAiB;AAAA,MACrB;AAAA,MACA,MAAM;AAAA,IACR;AACA,QAAI,gBAAgB,gBAAgB;AAClC,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,mCACd,OAIA;AACA,QAAM,qBAAqB;AAAA,IACzB,MAAM;AAAA,IACN,2CACE,gCACA;AAAA,EACJ;AACA,QAAM,iBAAiB,KAAK;AAAA,IAC1B,KAAK,MAAM,MAAM,KAAK;AAAA,IACtB,qBACE,gCACA;AAAA,IACF;AAAA,IACA;AAAA,EACF;AACA,QAAM,iBACJ,OAAO,SAAS,MAAM,YAAY,KAAK,KAAK,MAAM,YAAY,QAAQ,IAClE,KAAK,MAAM,MAAM,YAAY,KAAK,IAClC;AACN,QAAM,cAAc,KAAK,IAAI,gBAAgB,cAAc;AAC3D,QAAM,OAAO,KAAK,IAAI,GAAG,iBAAiB,WAAW;AACrD,QAAM,QAAQ,MAAM,KAAK,MAAM,MAAM,SAAS,CAAC,GAAG,GAAG,IAAI;AAEzD,SAAO;AAAA,IACL,UAAU;AAAA,MACR,GAAG;AAAA,MACH,GAAG,MAAM,SAAS;AAAA,IACpB;AAAA,IACA,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,MAAM;AAAA,IAChB;AAAA,EACF;AACF;;;AC/HO,IAAM,sBAAsB;AAE5B,IAAM,uBAAuB;AAAA,EAClC,eAAe;AAAA,EACf,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,UAAU;AACZ;","names":[]}
|