@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,226 @@
|
|
|
1
|
+
import { A as AgentContextMentionItem } from './agentFileMentionContracts-Czvz6YMI.js';
|
|
2
|
+
import { AgentContextMentionProvider } from './context-mention-provider.js';
|
|
3
|
+
import { MentionPaletteGroup, MentionPaletteState } from '@tutti-os/ui-rich-text/at-panel';
|
|
4
|
+
import '@tutti-os/ui-rich-text/types';
|
|
5
|
+
import '@tutti-os/workspace-external-core/contracts';
|
|
6
|
+
|
|
7
|
+
type RuntimeDiagnosticsDetailValue = string | number | boolean | null;
|
|
8
|
+
|
|
9
|
+
type AgentMentionProviderDiagnosticStatus = "success" | "timeout" | "error" | "missing";
|
|
10
|
+
interface AgentMentionProviderQueryDiagnostic {
|
|
11
|
+
durationMs: number;
|
|
12
|
+
errorKind?: string;
|
|
13
|
+
providerId: string;
|
|
14
|
+
resultCount: number;
|
|
15
|
+
status: AgentMentionProviderDiagnosticStatus;
|
|
16
|
+
}
|
|
17
|
+
interface AgentMentionSearchDiagnosticLog {
|
|
18
|
+
debounceMs: number;
|
|
19
|
+
durationMs: number;
|
|
20
|
+
errorKind?: string;
|
|
21
|
+
event: "agent_gui.mention_search";
|
|
22
|
+
filter: AgentMentionFilterId;
|
|
23
|
+
groupCount: number;
|
|
24
|
+
itemCount: number;
|
|
25
|
+
mode: "browse" | "results";
|
|
26
|
+
providerResults: AgentMentionProviderQueryDiagnostic[];
|
|
27
|
+
providerTimeoutMs: number;
|
|
28
|
+
queryLength: number;
|
|
29
|
+
requestId: number;
|
|
30
|
+
status: "ready" | "error";
|
|
31
|
+
workspaceId: string;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
type AgentMentionFilterId = "session" | "file" | "issue" | "agent" | "app";
|
|
35
|
+
type AgentMentionGroupId = "apps" | "agents" | "files" | "opened_files" | "agent_generated_files" | "my_sessions" | "collab_sessions" | "issues";
|
|
36
|
+
type AgentMentionRawGroupId = Exclude<AgentMentionGroupId, "files">;
|
|
37
|
+
type AgentMentionRawGroups = Record<AgentMentionRawGroupId, AgentContextMentionItem[]>;
|
|
38
|
+
type AgentMentionTotalCounts = Partial<Record<AgentMentionGroupId, number>>;
|
|
39
|
+
interface AgentMentionBrowseCategory {
|
|
40
|
+
id: AgentMentionFilterId;
|
|
41
|
+
label: string;
|
|
42
|
+
}
|
|
43
|
+
type AgentMentionGroup = MentionPaletteGroup<AgentContextMentionItem>;
|
|
44
|
+
type AgentMentionSearchState = MentionPaletteState<AgentContextMentionItem>;
|
|
45
|
+
interface AgentMentionSearchControllerOptions {
|
|
46
|
+
contextMentionProviders?: readonly AgentContextMentionProvider[];
|
|
47
|
+
debounceMs?: number;
|
|
48
|
+
fileLimit?: number;
|
|
49
|
+
issueLimit?: number;
|
|
50
|
+
browseCacheTtlMs?: number;
|
|
51
|
+
providerTimeoutMs?: number;
|
|
52
|
+
diagnosticInfoLogger?: (payload: AgentMentionSearchDiagnosticLog) => void;
|
|
53
|
+
diagnosticNow?: () => number;
|
|
54
|
+
diagnosticSlowThresholdMs?: number;
|
|
55
|
+
}
|
|
56
|
+
type AgentMentionSearchListener = (state: AgentMentionSearchState) => void;
|
|
57
|
+
interface AgentMentionLifecycleDiagnosticLog {
|
|
58
|
+
event: "browse.open" | "browse.preload" | "browse.cache" | "browse.fetch.start" | "browse.fetch.dedupe" | "browse.fetch.success" | "browse.fetch.error" | "browse.apply.skipped";
|
|
59
|
+
details: Record<string, RuntimeDiagnosticsDetailValue>;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
interface AgentMentionBrowseFetchResult {
|
|
63
|
+
providerDiagnostics: AgentMentionProviderQueryDiagnostic[];
|
|
64
|
+
rawGroups: AgentMentionRawGroups;
|
|
65
|
+
totalCounts: AgentMentionTotalCounts;
|
|
66
|
+
}
|
|
67
|
+
interface AgentMentionBrowseCacheEntry extends AgentMentionBrowseFetchResult {
|
|
68
|
+
cachedAt: number;
|
|
69
|
+
}
|
|
70
|
+
type AgentMentionBrowseLoadReason = "open" | "preload";
|
|
71
|
+
declare const MAX_BROWSE_CACHE_ENTRIES = 64;
|
|
72
|
+
declare function resetAgentMentionSearchBrowseCacheForTests(): void;
|
|
73
|
+
|
|
74
|
+
declare class AgentMentionSearchControllerBase {
|
|
75
|
+
protected readonly contextMentionProviders: ReadonlyMap<string, AgentContextMentionProvider>;
|
|
76
|
+
protected readonly debounceMs: number;
|
|
77
|
+
protected readonly fileLimit: number;
|
|
78
|
+
protected readonly issueLimit: number;
|
|
79
|
+
protected readonly browseCacheTtlMs: number;
|
|
80
|
+
protected readonly providerTimeoutMs: number;
|
|
81
|
+
protected readonly diagnosticInfoLogger: (payload: AgentMentionSearchDiagnosticLog) => void;
|
|
82
|
+
protected readonly diagnosticNow: () => number;
|
|
83
|
+
protected readonly diagnosticSlowThresholdMs: number;
|
|
84
|
+
protected readonly listeners: Set<AgentMentionSearchListener>;
|
|
85
|
+
protected readonly expandedCounts: Partial<Record<AgentMentionGroupId, number>>;
|
|
86
|
+
protected readonly totalCounts: AgentMentionTotalCounts;
|
|
87
|
+
protected timer: ReturnType<typeof setTimeout> | null;
|
|
88
|
+
protected preloadCancel: (() => void) | null;
|
|
89
|
+
protected pendingPreloadKey: string | null;
|
|
90
|
+
protected requestId: number;
|
|
91
|
+
protected disposed: boolean;
|
|
92
|
+
protected activeWorkspaceId: string;
|
|
93
|
+
protected currentUserId: string;
|
|
94
|
+
protected currentFilter: AgentMentionFilterId;
|
|
95
|
+
protected currentQuery: string;
|
|
96
|
+
protected currentSessionCwd: string;
|
|
97
|
+
protected currentFileSearchLimit: number;
|
|
98
|
+
protected currentIssueSearchLimit: number;
|
|
99
|
+
protected agentGeneratedBrowsePath: string | null;
|
|
100
|
+
protected rawGroups: AgentMentionRawGroups;
|
|
101
|
+
protected state: AgentMentionSearchState;
|
|
102
|
+
constructor(options: AgentMentionSearchControllerOptions);
|
|
103
|
+
protected startBrowseModeFetch(filter: AgentMentionFilterId): void;
|
|
104
|
+
protected runSearch(input: {
|
|
105
|
+
workspaceId: string;
|
|
106
|
+
currentUserId: string;
|
|
107
|
+
query: string;
|
|
108
|
+
requestId: number;
|
|
109
|
+
filter: AgentMentionFilterId;
|
|
110
|
+
}): Promise<void>;
|
|
111
|
+
protected runBrowseSearch(input: {
|
|
112
|
+
workspaceId: string;
|
|
113
|
+
currentUserId: string;
|
|
114
|
+
requestId: number;
|
|
115
|
+
filter: AgentMentionFilterId;
|
|
116
|
+
sessionCwd: string;
|
|
117
|
+
}): Promise<void>;
|
|
118
|
+
protected fetchBrowseResult(input: {
|
|
119
|
+
workspaceId: string;
|
|
120
|
+
currentUserId: string;
|
|
121
|
+
filter: AgentMentionFilterId;
|
|
122
|
+
sessionCwd: string;
|
|
123
|
+
}): Promise<AgentMentionBrowseFetchResult>;
|
|
124
|
+
protected applyBrowseFetchResult(result: AgentMentionBrowseFetchResult): void;
|
|
125
|
+
protected logBrowseCacheState(input: {
|
|
126
|
+
cacheKey: string;
|
|
127
|
+
cached: {
|
|
128
|
+
entry: AgentMentionBrowseCacheEntry | null;
|
|
129
|
+
isFresh: boolean;
|
|
130
|
+
};
|
|
131
|
+
filter: AgentMentionFilterId;
|
|
132
|
+
reason: AgentMentionBrowseLoadReason;
|
|
133
|
+
workspaceId: string;
|
|
134
|
+
}): void;
|
|
135
|
+
protected logLifecycle(event: AgentMentionLifecycleDiagnosticLog["event"], details: Record<string, RuntimeDiagnosticsDetailValue>): void;
|
|
136
|
+
protected providerIdsForDiagnostics(): string;
|
|
137
|
+
protected queryProviderMentionItemsById(input: {
|
|
138
|
+
diagnostics: AgentMentionProviderQueryDiagnostic[];
|
|
139
|
+
providerId: string;
|
|
140
|
+
workspaceId: string;
|
|
141
|
+
currentUserId: string;
|
|
142
|
+
query: string;
|
|
143
|
+
limit?: number;
|
|
144
|
+
sessionCwd?: string;
|
|
145
|
+
}): Promise<AgentContextMentionItem[]>;
|
|
146
|
+
protected logSearchDiagnostic(input: {
|
|
147
|
+
error?: unknown;
|
|
148
|
+
filter: AgentMentionFilterId;
|
|
149
|
+
groups: readonly AgentMentionGroup[];
|
|
150
|
+
mode: "browse" | "results";
|
|
151
|
+
providerDiagnostics: readonly AgentMentionProviderQueryDiagnostic[];
|
|
152
|
+
query: string;
|
|
153
|
+
requestId: number;
|
|
154
|
+
startedAt: number;
|
|
155
|
+
status: "ready" | "error";
|
|
156
|
+
workspaceId: string;
|
|
157
|
+
}): void;
|
|
158
|
+
protected emitBrowseState(status: "ready" | "loading"): void;
|
|
159
|
+
protected canApply(requestId: number, workspaceId: string, query: string, filter: AgentMentionFilterId): boolean;
|
|
160
|
+
protected clearTimer(): void;
|
|
161
|
+
protected resetExpandedCounts(): void;
|
|
162
|
+
protected resetSearchLimits(): void;
|
|
163
|
+
protected resetRawGroups(): void;
|
|
164
|
+
protected resetAgentGeneratedBrowsePath(): void;
|
|
165
|
+
protected resetTotalCounts(): void;
|
|
166
|
+
protected setState(state: AgentMentionSearchState): void;
|
|
167
|
+
protected groupsFromRawGroups(): AgentMentionGroup[];
|
|
168
|
+
protected browseCacheKey(input: {
|
|
169
|
+
workspaceId: string;
|
|
170
|
+
currentUserId: string;
|
|
171
|
+
filter: AgentMentionFilterId;
|
|
172
|
+
sessionCwd: string;
|
|
173
|
+
}): string;
|
|
174
|
+
protected readBrowseCache(cacheKey: string): {
|
|
175
|
+
entry: AgentMentionBrowseCacheEntry | null;
|
|
176
|
+
isFresh: boolean;
|
|
177
|
+
};
|
|
178
|
+
protected loadBrowseFetchResult(input: {
|
|
179
|
+
workspaceId: string;
|
|
180
|
+
currentUserId: string;
|
|
181
|
+
filter: AgentMentionFilterId;
|
|
182
|
+
sessionCwd: string;
|
|
183
|
+
}, cacheKey: string, reason: AgentMentionBrowseLoadReason): Promise<AgentMentionBrowseFetchResult>;
|
|
184
|
+
protected fetchFilterResult(input: {
|
|
185
|
+
workspaceId: string;
|
|
186
|
+
currentUserId: string;
|
|
187
|
+
query: string;
|
|
188
|
+
filter: AgentMentionFilterId;
|
|
189
|
+
sessionCwd: string;
|
|
190
|
+
includeAgentGeneratedFiles: boolean;
|
|
191
|
+
}): Promise<AgentMentionBrowseFetchResult>;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
declare class AgentMentionSearchController extends AgentMentionSearchControllerBase {
|
|
195
|
+
subscribe(listener: AgentMentionSearchListener): () => void;
|
|
196
|
+
updateQuery(input: {
|
|
197
|
+
workspaceId: string;
|
|
198
|
+
currentUserId?: string | null;
|
|
199
|
+
query: string;
|
|
200
|
+
sessionCwd?: string | null;
|
|
201
|
+
}): void;
|
|
202
|
+
setFilter(filter: AgentMentionFilterId): void;
|
|
203
|
+
preloadBrowse(input: {
|
|
204
|
+
workspaceId: string;
|
|
205
|
+
currentUserId?: string | null;
|
|
206
|
+
sessionCwd?: string | null;
|
|
207
|
+
filter?: AgentMentionFilterId;
|
|
208
|
+
}): void;
|
|
209
|
+
private runBrowsePreload;
|
|
210
|
+
private cancelPendingPreload;
|
|
211
|
+
enterCategory(category: AgentMentionFilterId): void;
|
|
212
|
+
selectAgentGeneratedMentionItem(item: AgentContextMentionItem): boolean;
|
|
213
|
+
exitAgentGeneratedBrowse(): boolean;
|
|
214
|
+
expandGroup(groupId: AgentMentionGroupId): void;
|
|
215
|
+
close(): void;
|
|
216
|
+
dispose(): void;
|
|
217
|
+
}
|
|
218
|
+
declare function preloadAgentMentionBrowse(input: {
|
|
219
|
+
workspaceId: string;
|
|
220
|
+
currentUserId?: string | null;
|
|
221
|
+
sessionCwd?: string | null;
|
|
222
|
+
contextMentionProviders?: readonly AgentContextMentionProvider[];
|
|
223
|
+
filter?: AgentMentionFilterId;
|
|
224
|
+
}): void;
|
|
225
|
+
|
|
226
|
+
export { type AgentMentionBrowseCategory, type AgentMentionFilterId, type AgentMentionGroup, type AgentMentionGroupId, AgentMentionSearchController, type AgentMentionSearchState, MAX_BROWSE_CACHE_ENTRIES, preloadAgentMentionBrowse, resetAgentMentionSearchBrowseCacheForTests };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AgentMentionSearchController,
|
|
3
|
+
MAX_BROWSE_CACHE_ENTRIES,
|
|
4
|
+
preloadAgentMentionBrowse,
|
|
5
|
+
resetAgentMentionSearchBrowseCacheForTests
|
|
6
|
+
} from "./chunk-JX2SIXNL.js";
|
|
7
|
+
import "./chunk-BFNJKTDV.js";
|
|
8
|
+
import "./chunk-JM24HADP.js";
|
|
9
|
+
import "./chunk-7J4K6WKB.js";
|
|
10
|
+
import "./chunk-GCBDIQDX.js";
|
|
11
|
+
import "./chunk-7PFDA2HQ.js";
|
|
12
|
+
import "./chunk-Y35GDLP2.js";
|
|
13
|
+
import "./chunk-LUGELG5V.js";
|
|
14
|
+
import "./chunk-KAL4XZMA.js";
|
|
15
|
+
import "./chunk-H6IQ63DQ.js";
|
|
16
|
+
import "./chunk-NX3CZJXW.js";
|
|
17
|
+
import "./chunk-BIHBXWK5.js";
|
|
18
|
+
import "./chunk-AOS2VWU6.js";
|
|
19
|
+
import "./chunk-PJP5BUU6.js";
|
|
20
|
+
import "./chunk-5X7YDOC6.js";
|
|
21
|
+
import "./chunk-KJQERFKX.js";
|
|
22
|
+
import "./chunk-UGVI47X6.js";
|
|
23
|
+
export {
|
|
24
|
+
AgentMentionSearchController,
|
|
25
|
+
MAX_BROWSE_CACHE_ENTRIES,
|
|
26
|
+
preloadAgentMentionBrowse,
|
|
27
|
+
resetAgentMentionSearchBrowseCacheForTests
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=mention-search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -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>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
declare const PROVIDER_ICON_ASSET_VARIANTS: readonly ["manage", "providerRail", "rounded", "sessionColorful", "sessionFlat", "dock"];
|
|
2
|
+
type ProviderIconAssetVariant = (typeof PROVIDER_ICON_ASSET_VARIANTS)[number];
|
|
3
|
+
|
|
4
|
+
declare function resolveProviderIconAsset(iconKey: string | null | undefined, variant: ProviderIconAssetVariant): string | null;
|
|
5
|
+
|
|
6
|
+
export { type ProviderIconAssetVariant, resolveProviderIconAsset };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
resolveProviderIconAsset
|
|
3
|
+
} from "./chunk-UGVI47X6.js";
|
|
4
|
+
|
|
5
|
+
// provider-icons.ts
|
|
6
|
+
function resolveProviderIconAsset2(iconKey, variant) {
|
|
7
|
+
return resolveProviderIconAsset(iconKey, variant);
|
|
8
|
+
}
|
|
9
|
+
export {
|
|
10
|
+
resolveProviderIconAsset2 as resolveProviderIconAsset
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=provider-icons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../provider-icons.ts"],"sourcesContent":["import { resolveProviderIconAsset as resolveProviderIconAssetInternal } from \"./providerIconAssets.ts\";\nimport type { ProviderIconAssetVariant } from \"./providerIconTypes.ts\";\n\nexport type { ProviderIconAssetVariant } from \"./providerIconTypes.ts\";\n\nexport function resolveProviderIconAsset(\n iconKey: string | null | undefined,\n variant: ProviderIconAssetVariant\n): string | null {\n return resolveProviderIconAssetInternal(iconKey, variant);\n}\n"],"mappings":";;;;;AAKO,SAASA,0BACd,SACA,SACe;AACf,SAAO,yBAAiC,SAAS,OAAO;AAC1D;","names":["resolveProviderIconAsset"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface AgentGUIProviderIdentityPresentation {
|
|
2
|
+
providerId: string;
|
|
3
|
+
displayName: string;
|
|
4
|
+
iconKey: string;
|
|
5
|
+
targetId: string;
|
|
6
|
+
}
|
|
7
|
+
declare function resolveAgentGUIProviderIdentity(value: string | null | undefined): AgentGUIProviderIdentityPresentation | null;
|
|
8
|
+
|
|
9
|
+
export { type AgentGUIProviderIdentityPresentation, resolveAgentGUIProviderIdentity };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {
|
|
2
|
+
resolveAgentGUIProviderCatalogIdentity
|
|
3
|
+
} from "./chunk-KJQERFKX.js";
|
|
4
|
+
|
|
5
|
+
// provider-identity.ts
|
|
6
|
+
function resolveAgentGUIProviderIdentity(value) {
|
|
7
|
+
const identity = resolveAgentGUIProviderCatalogIdentity(value);
|
|
8
|
+
if (!identity) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
return {
|
|
12
|
+
providerId: identity.providerId,
|
|
13
|
+
displayName: identity.displayName,
|
|
14
|
+
iconKey: identity.iconKey,
|
|
15
|
+
targetId: identity.target.id
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
resolveAgentGUIProviderIdentity
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=provider-identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../provider-identity.ts"],"sourcesContent":["import { resolveAgentGUIProviderCatalogIdentity } from \"./providerIdentityCatalog.ts\";\n\nexport interface AgentGUIProviderIdentityPresentation {\n providerId: string;\n displayName: string;\n iconKey: string;\n targetId: string;\n}\n\nexport function resolveAgentGUIProviderIdentity(\n value: string | null | undefined\n): AgentGUIProviderIdentityPresentation | null {\n const identity = resolveAgentGUIProviderCatalogIdentity(value);\n if (!identity) {\n return null;\n }\n return {\n providerId: identity.providerId,\n displayName: identity.displayName,\n iconKey: identity.iconKey,\n targetId: identity.target.id\n };\n}\n"],"mappings":";;;;;AASO,SAAS,gCACd,OAC6C;AAC7C,QAAM,WAAW,uCAAuC,KAAK;AAC7D,MAAI,CAAC,UAAU;AACb,WAAO;AAAA,EACT;AACA,SAAO;AAAA,IACL,YAAY,SAAS;AAAA,IACrB,aAAa,SAAS;AAAA,IACtB,SAAS,SAAS;AAAA,IAClB,UAAU,SAAS,OAAO;AAAA,EAC5B;AACF;","names":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { I18nParams } from '@tutti-os/ui-i18n-runtime';
|
|
2
|
+
|
|
3
|
+
type AgentGuiI18nLocale = "en" | "zh-CN";
|
|
4
|
+
type TranslateOptions = I18nParams;
|
|
5
|
+
type TranslateFn = (key: string, options?: TranslateOptions) => string;
|
|
6
|
+
declare function translate(key: string, options?: TranslateOptions): string;
|
|
7
|
+
declare function translateInUiLanguage(locale: AgentGuiI18nLocale, key: string, options?: TranslateOptions): string;
|
|
8
|
+
declare function getActiveUiLanguage(): AgentGuiI18nLocale;
|
|
9
|
+
|
|
10
|
+
export { type AgentGuiI18nLocale as A, type TranslateFn as T, type TranslateOptions as a, translateInUiLanguage as b, getActiveUiLanguage as g, translate as t };
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
type AgentHostAgentSessionProvider = "claude-code" | "codex" | "tutti-agent" | "cursor" | "nexight" | "hermes" | "opencode" | "openclaw";
|
|
2
1
|
type AgentHostAgentSessionPermissionModeSemantic = "ask-before-write" | "accept-edits" | "locked-down" | "auto" | "full-access" | "unconfigurable";
|
|
3
2
|
type AgentHostAgentSessionReasoningEffort = "minimal" | "low" | "medium" | "high" | "xhigh" | string;
|
|
4
3
|
type AgentHostAgentSessionSpeed = "standard" | "fast" | string;
|
|
@@ -22,82 +21,6 @@ interface AgentHostAgentSessionComposerSettings {
|
|
|
22
21
|
computerUse?: boolean;
|
|
23
22
|
permissionModeId?: string | null;
|
|
24
23
|
}
|
|
25
|
-
interface AgentHostAgentSession {
|
|
26
|
-
workspaceId: string;
|
|
27
|
-
agentSessionId: string;
|
|
28
|
-
agentTargetId?: string | null;
|
|
29
|
-
provider: AgentHostAgentSessionProvider;
|
|
30
|
-
providerSessionId: string;
|
|
31
|
-
resumable?: boolean;
|
|
32
|
-
cwd?: string;
|
|
33
|
-
status: "ready" | "working" | "canceled" | "failed" | "completed" | string;
|
|
34
|
-
title?: string;
|
|
35
|
-
pinnedAtUnixMs?: number | null;
|
|
36
|
-
visible?: boolean;
|
|
37
|
-
permissionModeId?: string;
|
|
38
|
-
permissionConfig?: AgentHostAgentSessionPermissionConfig;
|
|
39
|
-
settings?: AgentHostAgentSessionComposerSettings;
|
|
40
|
-
createdAtUnixMs: number;
|
|
41
|
-
updatedAtUnixMs: number;
|
|
42
|
-
}
|
|
43
|
-
interface AgentHostAgentSessionInteractivePrompt {
|
|
44
|
-
kind: string;
|
|
45
|
-
requestId?: string;
|
|
46
|
-
toolName?: string;
|
|
47
|
-
status?: string;
|
|
48
|
-
input?: Record<string, unknown>;
|
|
49
|
-
output?: Record<string, unknown>;
|
|
50
|
-
error?: Record<string, unknown>;
|
|
51
|
-
metadata?: Record<string, unknown>;
|
|
52
|
-
}
|
|
53
|
-
interface AgentHostAgentSessionState {
|
|
54
|
-
workspaceId: string;
|
|
55
|
-
agentSessionId: string;
|
|
56
|
-
agentTargetId?: string | null;
|
|
57
|
-
provider: AgentHostAgentSessionProvider;
|
|
58
|
-
providerSessionId?: string;
|
|
59
|
-
resumable?: boolean;
|
|
60
|
-
status: AgentHostAgentSession["status"];
|
|
61
|
-
turnLifecycle?: AgentHostAgentActivityTurnLifecycle | null;
|
|
62
|
-
submitAvailability?: AgentHostAgentActivitySubmitAvailability | null;
|
|
63
|
-
permissionModeId?: string;
|
|
64
|
-
permissionConfig?: AgentHostAgentSessionPermissionConfig;
|
|
65
|
-
settings?: AgentHostAgentSessionComposerSettings;
|
|
66
|
-
authState?: string;
|
|
67
|
-
runtimeContext?: Record<string, unknown>;
|
|
68
|
-
pinnedAtUnixMs?: number | null;
|
|
69
|
-
pendingInteractive?: AgentHostAgentSessionInteractivePrompt | null;
|
|
70
|
-
updatedAtUnixMs: number;
|
|
71
|
-
}
|
|
72
|
-
interface AgentHostAgentActivityCompletedCommand {
|
|
73
|
-
kind: string;
|
|
74
|
-
status: string;
|
|
75
|
-
}
|
|
76
|
-
interface AgentHostAgentActivityTurnLifecycle {
|
|
77
|
-
activeTurnId: string | null;
|
|
78
|
-
phase: string;
|
|
79
|
-
settling?: boolean;
|
|
80
|
-
outcome?: string | null;
|
|
81
|
-
completedCommand?: AgentHostAgentActivityCompletedCommand | null;
|
|
82
|
-
}
|
|
83
|
-
interface AgentHostAgentActivitySubmitAvailability {
|
|
84
|
-
state: string;
|
|
85
|
-
reason?: string;
|
|
86
|
-
}
|
|
87
|
-
type AgentHostAgentSessionActivationMode = "new" | "existing";
|
|
88
|
-
type AgentHostAgentSessionActivationStatus = "attached" | "already_attached" | "failed";
|
|
89
|
-
interface AgentHostActivateAgentSessionResult {
|
|
90
|
-
session: AgentHostAgentSession;
|
|
91
|
-
activation: {
|
|
92
|
-
mode: AgentHostAgentSessionActivationMode;
|
|
93
|
-
status: AgentHostAgentSessionActivationStatus;
|
|
94
|
-
};
|
|
95
|
-
error?: {
|
|
96
|
-
code: string;
|
|
97
|
-
message: string;
|
|
98
|
-
debugMessage?: string;
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
24
|
interface AgentHostUnactivateAgentSessionResult {
|
|
102
25
|
agentSessionId: string;
|
|
103
26
|
buffered: boolean;
|
|
@@ -118,10 +41,6 @@ interface AgentPromptContentBlock {
|
|
|
118
41
|
kind?: string;
|
|
119
42
|
sizeBytes?: number;
|
|
120
43
|
}
|
|
121
|
-
interface AgentHostUpdateAgentSessionSettingsResult {
|
|
122
|
-
agentSessionId: string;
|
|
123
|
-
settings: AgentHostAgentSessionComposerSettings;
|
|
124
|
-
}
|
|
125
44
|
interface AgentHostAgentSessionCommand {
|
|
126
45
|
name: string;
|
|
127
46
|
description?: string;
|
|
@@ -135,7 +54,6 @@ interface AgentGUINodeData {
|
|
|
135
54
|
provider: AgentGUIProvider;
|
|
136
55
|
agentTargetId?: string | null;
|
|
137
56
|
lastActiveAgentSessionId: string | null;
|
|
138
|
-
lastActiveConversationTitle?: string | null;
|
|
139
57
|
conversationCount?: number | null;
|
|
140
58
|
conversationRailWidthPx?: number | null;
|
|
141
59
|
conversationRailCollapsed?: boolean | null;
|
|
@@ -171,6 +89,17 @@ interface AgentGUIAgent {
|
|
|
171
89
|
availability: AgentGUIAgentAvailability;
|
|
172
90
|
provider: AgentGUIProvider;
|
|
173
91
|
}
|
|
92
|
+
type AgentGUIAgentDirectoryStatus = "idle" | "loading" | "ready" | "error";
|
|
93
|
+
interface AgentGUIAgentDirectorySnapshot {
|
|
94
|
+
agents: readonly AgentGUIAgent[];
|
|
95
|
+
capturedAtUnixMs: number | null;
|
|
96
|
+
error: string | null;
|
|
97
|
+
status: AgentGUIAgentDirectoryStatus;
|
|
98
|
+
}
|
|
99
|
+
interface AgentGUIAgentDirectoryPort {
|
|
100
|
+
getSnapshot(): AgentGUIAgentDirectorySnapshot;
|
|
101
|
+
subscribe(listener: () => void): () => void;
|
|
102
|
+
}
|
|
174
103
|
interface AgentGUIAllAgentsPresentation {
|
|
175
104
|
iconUrl?: string | null;
|
|
176
105
|
}
|
|
@@ -196,6 +125,22 @@ interface AgentGUIAgentTarget {
|
|
|
196
125
|
disabled?: boolean;
|
|
197
126
|
unavailableReason?: string;
|
|
198
127
|
}
|
|
128
|
+
interface AgentGUIProviderRailAllPresentation {
|
|
129
|
+
iconUrl?: string | null;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* How the provider rail composes the target list.
|
|
133
|
+
* - "catalog" (default): host-provided targets are augmented with the static
|
|
134
|
+
* local provider catalog, disabled placeholders (nexight/hermes/openclaw),
|
|
135
|
+
* and coming-soon markers. When no targets are provided, the full local
|
|
136
|
+
* catalog is shown.
|
|
137
|
+
* - "exact": the rail renders exactly the provided targets — no static catalog
|
|
138
|
+
* fallback, no disabled placeholders, no coming-soon injection. When the list
|
|
139
|
+
* is empty (and not loading) the host-provided empty renderer is shown. Use
|
|
140
|
+
* this when the list is fully orchestrated externally (e.g. shared agents,
|
|
141
|
+
* custom /agents).
|
|
142
|
+
*/
|
|
143
|
+
type AgentGUIProviderRailMode = "catalog" | "exact";
|
|
199
144
|
type AgentGUIProviderReadinessGateStatus = "checking" | "coming_soon" | "not_installed" | "auth_required" | "unavailable";
|
|
200
145
|
type AgentGUIProviderReadinessGateAction = "install" | "login" | "refresh";
|
|
201
146
|
interface AgentGUIProviderReadinessGate {
|
|
@@ -216,4 +161,4 @@ interface NodeFrame {
|
|
|
216
161
|
size: Size;
|
|
217
162
|
}
|
|
218
163
|
|
|
219
|
-
export type { AgentGUIAgent as A, NodeFrame as N, Point as P, AgentGUIAgentAvailability as a, AgentGUIAgentAvailabilityAction as b, AgentGUIAgentAvailabilityStatus as c,
|
|
164
|
+
export type { AgentGUIAgent as A, NodeFrame as N, Point as P, AgentGUIAgentAvailability as a, AgentGUIAgentAvailabilityAction as b, AgentGUIAgentAvailabilityStatus as c, AgentGUIAgentDirectoryPort as d, AgentGUIAgentDirectorySnapshot as e, AgentGUIAgentDirectoryStatus as f, AgentGUIAgentOwner as g, AgentGUIAgentTarget as h, AgentGUIAgentTargetBadge as i, AgentGUIAgentTargetRef as j, AgentGUIAllAgentsPresentation as k, AgentGUINodeData as l, AgentGUIProvider as m, AgentGUIProviderRailAllPresentation as n, AgentGUIProviderRailMode as o, AgentGUIProviderReadinessGate as p, AgentGUIProviderReadinessGateAction as q, AgentGUIProviderReadinessGateStatus as r, AgentHostAgentSessionCommand as s, AgentHostAgentSessionComposerSettings as t, AgentHostAgentSessionPermissionConfig as u, AgentHostAgentSessionReasoningEffort as v, AgentHostAgentSessionSpeed as w, AgentHostUnactivateAgentSessionResult as x, AgentPromptContentBlock as y, AgentProvider as z };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import { WorkbenchFrame,
|
|
2
|
+
import { WorkbenchFrame, WorkbenchHostDockEntry, WorkbenchHostLaunchRequest, WorkbenchHostNodeBodyContext, WorkbenchContribution } from '@tutti-os/workbench-surface';
|
|
3
3
|
import { AgentGuiWorkbenchProvider, AgentGuiWorkbenchState } from './types.js';
|
|
4
|
-
import {
|
|
4
|
+
import { d as AgentGUIAgentDirectoryPort } from '../types-DX2bxgB8.js';
|
|
5
5
|
|
|
6
6
|
declare const agentGuiWorkbenchDefaultNodeFrame: WorkbenchFrame;
|
|
7
7
|
declare const agentGuiWorkbenchDefaultUsableWidthRatio = 0.8;
|
|
@@ -12,6 +12,34 @@ declare const agentGuiWorkbenchNewWindowCascadeOffset: {
|
|
|
12
12
|
y: number;
|
|
13
13
|
};
|
|
14
14
|
declare const agentGuiWorkbenchProviderRailWidthPx = 52;
|
|
15
|
+
declare const agentGuiWorkbenchDefaultCopy: AgentGuiWorkbenchContributionCopy;
|
|
16
|
+
type AgentGuiWorkbenchProviderAvailability = Partial<Record<AgentGuiWorkbenchProvider, boolean | "available" | "ready" | "unavailable" | {
|
|
17
|
+
available?: boolean | null;
|
|
18
|
+
status?: string | null;
|
|
19
|
+
} | null | undefined>>;
|
|
20
|
+
interface BuildAgentGuiDockEntriesInput {
|
|
21
|
+
agentDirectory: AgentGUIAgentDirectoryPort;
|
|
22
|
+
defaultProvider?: AgentGuiWorkbenchProvider | null;
|
|
23
|
+
dockIconUrls?: Partial<Record<AgentGuiWorkbenchProvider, string>>;
|
|
24
|
+
label?: string;
|
|
25
|
+
providerAvailability?: AgentGuiWorkbenchProviderAvailability;
|
|
26
|
+
renderPreview?: CreateAgentGuiWorkbenchContributionInput["renderPreview"];
|
|
27
|
+
resolveDockPopupIdentity?: CreateAgentGuiWorkbenchContributionInput["resolveDockPopupIdentity"];
|
|
28
|
+
resolveDockPopupTitle?: CreateAgentGuiWorkbenchContributionInput["resolveDockPopupTitle"];
|
|
29
|
+
sectionId?: string;
|
|
30
|
+
unifiedDockIconUrl?: string;
|
|
31
|
+
}
|
|
32
|
+
declare function buildAgentGuiDockEntries(input: BuildAgentGuiDockEntriesInput): WorkbenchHostDockEntry[];
|
|
33
|
+
declare function resolveAgentGuiUnifiedDockLaunchPayload(input: Pick<BuildAgentGuiDockEntriesInput, "agentDirectory" | "defaultProvider" | "providerAvailability">): {
|
|
34
|
+
provider: AgentGuiWorkbenchProvider;
|
|
35
|
+
agentTargetId?: string;
|
|
36
|
+
};
|
|
37
|
+
declare function resolveAgentGuiWorkbenchDefaultLaunchFrame(input: {
|
|
38
|
+
frame: WorkbenchFrame;
|
|
39
|
+
request: Pick<WorkbenchHostLaunchRequest, "layoutConstraints" | "surfaceSize">;
|
|
40
|
+
}): WorkbenchFrame;
|
|
41
|
+
declare function resolveAgentGuiWorkbenchContributionCopy(copy?: AgentGuiWorkbenchContributionCopyOverrides): AgentGuiWorkbenchContributionCopy;
|
|
42
|
+
|
|
15
43
|
declare const AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT = "tutti:agent-gui-workbench-conversation-rail-toggle";
|
|
16
44
|
declare const AGENT_GUI_WORKBENCH_NEW_CONVERSATION_EVENT = "tutti:agent-gui-workbench-new-conversation";
|
|
17
45
|
/**
|
|
@@ -44,37 +72,29 @@ interface AgentGuiWorkbenchContributionCopy {
|
|
|
44
72
|
restore: string;
|
|
45
73
|
}
|
|
46
74
|
type AgentGuiWorkbenchContributionCopyOverrides = Partial<AgentGuiWorkbenchContributionCopy>;
|
|
47
|
-
declare const agentGuiWorkbenchDefaultCopy: AgentGuiWorkbenchContributionCopy;
|
|
48
75
|
interface AgentGuiWorkbenchRenderBodyHelpers {
|
|
76
|
+
agentDirectory: AgentGUIAgentDirectoryPort;
|
|
49
77
|
nodeTypeId: string;
|
|
50
78
|
onStateChange(state: AgentGuiWorkbenchState): void;
|
|
51
79
|
provider: AgentGuiWorkbenchProvider;
|
|
52
80
|
}
|
|
53
81
|
interface CreateAgentGuiWorkbenchContributionInput {
|
|
82
|
+
agentDirectory: AgentGUIAgentDirectoryPort;
|
|
54
83
|
copy?: AgentGuiWorkbenchContributionCopyOverrides;
|
|
55
84
|
defaultProvider?: AgentGuiWorkbenchProvider | null;
|
|
56
|
-
defaultAgentTargetId?: string | null;
|
|
57
85
|
dockIconUrls?: Partial<Record<AgentGuiWorkbenchProvider, string>>;
|
|
58
86
|
dockSectionId?: string;
|
|
59
87
|
frame?: WorkbenchFrame;
|
|
60
88
|
id?: string;
|
|
61
89
|
providerAvailability?: AgentGuiWorkbenchProviderAvailability;
|
|
62
|
-
agents?: readonly AgentGUIAgent[] | null;
|
|
63
|
-
agentsLoading?: boolean;
|
|
64
90
|
renderBody(context: WorkbenchHostNodeBodyContext<AgentGuiWorkbenchState | null, unknown>, helpers: AgentGuiWorkbenchRenderBodyHelpers): ReactNode;
|
|
65
91
|
renderPreview?(context: WorkbenchHostNodeBodyContext<AgentGuiWorkbenchState | null, unknown>, helpers: AgentGuiWorkbenchRenderBodyHelpers): ReactNode;
|
|
66
92
|
renderMinimizedPreview(context: WorkbenchHostNodeBodyContext<AgentGuiWorkbenchState | null, unknown>, helpers: AgentGuiWorkbenchRenderBodyHelpers): ReactNode;
|
|
67
93
|
resolveDockPopupTitle?: (state: AgentGuiWorkbenchState | null) => string | null;
|
|
68
94
|
resolveDockPopupIdentity?: (state: AgentGuiWorkbenchState | null) => AgentGuiWorkbenchConversationIdentity | null;
|
|
69
|
-
resolveDockLaunchPayload?: (input: {
|
|
70
|
-
dockEntryId?: string | null;
|
|
71
|
-
payload: unknown;
|
|
72
|
-
reason: WorkbenchHostLaunchRequest["reason"];
|
|
73
|
-
}) => unknown | null | undefined;
|
|
74
95
|
onOpenDetachedWindow?: (input: {
|
|
75
96
|
agentSessionId?: string | null;
|
|
76
97
|
agentTargetId?: string | null;
|
|
77
|
-
agents?: readonly AgentGUIAgent[];
|
|
78
98
|
provider: AgentGuiWorkbenchProvider;
|
|
79
99
|
workspaceId: string;
|
|
80
100
|
}) => void | Promise<void>;
|
|
@@ -82,33 +102,5 @@ interface CreateAgentGuiWorkbenchContributionInput {
|
|
|
82
102
|
workspaceId: string;
|
|
83
103
|
}
|
|
84
104
|
declare function createAgentGuiWorkbenchContribution(input: CreateAgentGuiWorkbenchContributionInput): WorkbenchContribution;
|
|
85
|
-
type AgentGuiWorkbenchProviderAvailability = Partial<Record<AgentGuiWorkbenchProvider, boolean | "available" | "ready" | "unavailable" | {
|
|
86
|
-
available?: boolean | null;
|
|
87
|
-
status?: string | null;
|
|
88
|
-
} | null | undefined>>;
|
|
89
|
-
interface BuildAgentGuiDockEntriesInput {
|
|
90
|
-
defaultProvider?: AgentGuiWorkbenchProvider | null;
|
|
91
|
-
defaultAgentTargetId?: string | null;
|
|
92
|
-
dockIconUrls?: Partial<Record<AgentGuiWorkbenchProvider, string>>;
|
|
93
|
-
label?: string;
|
|
94
|
-
providerAvailability?: AgentGuiWorkbenchProviderAvailability;
|
|
95
|
-
agentsLoading?: boolean;
|
|
96
|
-
renderPreview?: CreateAgentGuiWorkbenchContributionInput["renderPreview"];
|
|
97
|
-
resolveDockPopupIdentity?: CreateAgentGuiWorkbenchContributionInput["resolveDockPopupIdentity"];
|
|
98
|
-
resolveDockPopupTitle?: CreateAgentGuiWorkbenchContributionInput["resolveDockPopupTitle"];
|
|
99
|
-
sectionId?: string;
|
|
100
|
-
agents?: readonly AgentGUIAgent[] | null;
|
|
101
|
-
unifiedDockIconUrl?: string;
|
|
102
|
-
}
|
|
103
|
-
declare function buildAgentGuiDockEntries(input: BuildAgentGuiDockEntriesInput): WorkbenchHostDockEntry[];
|
|
104
|
-
declare function resolveAgentGuiUnifiedDockLaunchPayload(input: Pick<BuildAgentGuiDockEntriesInput, "defaultProvider" | "defaultAgentTargetId" | "providerAvailability" | "agentsLoading" | "agents">): {
|
|
105
|
-
provider: AgentGuiWorkbenchProvider;
|
|
106
|
-
agentTargetId?: string;
|
|
107
|
-
};
|
|
108
|
-
declare function resolveAgentGuiWorkbenchDefaultLaunchFrame(input: {
|
|
109
|
-
frame: WorkbenchFrame;
|
|
110
|
-
request: Pick<WorkbenchHostLaunchRequest, "layoutConstraints" | "surfaceSize">;
|
|
111
|
-
}): WorkbenchFrame;
|
|
112
|
-
declare function resolveAgentGuiWorkbenchContributionCopy(copy?: AgentGuiWorkbenchContributionCopyOverrides): AgentGuiWorkbenchContributionCopy;
|
|
113
105
|
|
|
114
106
|
export { AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT, AGENT_GUI_WORKBENCH_NEW_CONVERSATION_EVENT, AGENT_GUI_WORKBENCH_OPEN_EXTERNAL_IMPORT_EVENT, type AgentGuiWorkbenchContributionCopy, type AgentGuiWorkbenchContributionCopyOverrides, type AgentGuiWorkbenchConversationIdentity, type AgentGuiWorkbenchConversationRailToggleDetail, type AgentGuiWorkbenchNewConversationDetail, type AgentGuiWorkbenchProviderAvailability, type AgentGuiWorkbenchRenderBodyHelpers, type BuildAgentGuiDockEntriesInput, type CreateAgentGuiWorkbenchContributionInput, agentGuiWorkbenchCompactVisibleAreaRatio, agentGuiWorkbenchDefaultCopy, agentGuiWorkbenchDefaultNodeFrame, agentGuiWorkbenchDefaultUsableHeightRatio, agentGuiWorkbenchDefaultUsableWidthRatio, agentGuiWorkbenchNewWindowCascadeOffset, agentGuiWorkbenchProviderRailWidthPx, buildAgentGuiDockEntries, createAgentGuiWorkbenchContribution, resolveAgentGuiUnifiedDockLaunchPayload, resolveAgentGuiWorkbenchContributionCopy, resolveAgentGuiWorkbenchDefaultLaunchFrame };
|
|
@@ -14,12 +14,16 @@ import {
|
|
|
14
14
|
resolveAgentGuiUnifiedDockLaunchPayload,
|
|
15
15
|
resolveAgentGuiWorkbenchContributionCopy,
|
|
16
16
|
resolveAgentGuiWorkbenchDefaultLaunchFrame
|
|
17
|
-
} from "../chunk-
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-
|
|
21
|
-
import "../chunk-
|
|
22
|
-
import "../chunk-
|
|
17
|
+
} from "../chunk-7RDD3EWP.js";
|
|
18
|
+
import "../chunk-NJAZ7LQM.js";
|
|
19
|
+
import "../chunk-WEDMAVX2.js";
|
|
20
|
+
import "../chunk-UQJPV6HP.js";
|
|
21
|
+
import "../chunk-VF22EG3F.js";
|
|
22
|
+
import "../chunk-O6W72SEP.js";
|
|
23
|
+
import "../chunk-4YG7YK7S.js";
|
|
24
|
+
import "../chunk-H6IQ63DQ.js";
|
|
25
|
+
import "../chunk-KJQERFKX.js";
|
|
26
|
+
import "../chunk-UGVI47X6.js";
|
|
23
27
|
export {
|
|
24
28
|
AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT,
|
|
25
29
|
AGENT_GUI_WORKBENCH_NEW_CONVERSATION_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-DX2bxgB8.js';
|
|
10
10
|
import '@tutti-os/agent-activity-core';
|
|
11
11
|
import '../uiSettings-BQS9r2eo.js';
|
|
12
12
|
|
|
@@ -39,10 +39,11 @@ interface AgentGuiWorkbenchHeaderProps extends HTMLAttributes<HTMLElement> {
|
|
|
39
39
|
onOpenDetachedWindow?: () => void;
|
|
40
40
|
onToggleConversationRail: (nextCollapsed: boolean) => void;
|
|
41
41
|
showAppTitle?: boolean;
|
|
42
|
+
showConversationRailToggle?: boolean;
|
|
42
43
|
showWindowControls?: boolean;
|
|
43
44
|
title?: string;
|
|
44
45
|
windowActions?: Pick<WorkbenchHostNodeHeaderWindowActions, "close" | "minimize" | "toggleDisplayMode">;
|
|
45
46
|
}
|
|
46
|
-
declare function AgentGuiWorkbenchHeader({ className, copy, defaultActions: _defaultActions, displayMode, isConversationRailAutoCollapsed, isConversationRailCollapsed, conversationRailWidthPx, conversationIconUrl, conversationIconFallbackUrl, providerRailWidthPx, primaryAccessory, secondaryAccessory, conversationTitle, nodeId, onCreateConversation, onOpenDetachedWindow, onToggleConversationRail, showAppTitle, showWindowControls, title: _title, windowActions, ...headerProps }: AgentGuiWorkbenchHeaderProps): ReactNode;
|
|
47
|
+
declare function AgentGuiWorkbenchHeader({ className, copy, defaultActions: _defaultActions, displayMode, isConversationRailAutoCollapsed, isConversationRailCollapsed, conversationRailWidthPx, conversationIconUrl, conversationIconFallbackUrl, providerRailWidthPx, primaryAccessory, secondaryAccessory, conversationTitle, nodeId, onCreateConversation, onOpenDetachedWindow, onToggleConversationRail, showAppTitle, showConversationRailToggle, showWindowControls, title: _title, windowActions, ...headerProps }: AgentGuiWorkbenchHeaderProps): ReactNode;
|
|
47
48
|
|
|
48
49
|
export { AgentGuiWorkbenchHeader, type AgentGuiWorkbenchHeaderCopy, type AgentGuiWorkbenchHeaderProps };
|