@tutti-os/agent-gui 0.0.106 → 0.0.108
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AgentGUI-Do6py-T_.d.ts → AgentGUI-CkxdEB8F.d.ts} +6 -3
- package/dist/AgentRichTextReadonly-42TUVYX5.js +18 -0
- package/dist/agent-conversation/index.d.ts +4 -4
- package/dist/agent-conversation/index.js +13 -12
- package/dist/agent-conversation/index.js.map +1 -1
- package/dist/agent-env/index.js +1 -1
- package/dist/agent-gui.d.ts +5 -4
- package/dist/agent-gui.js +27 -25
- package/dist/agent-message-center/index.d.ts +3 -1
- package/dist/agent-message-center/index.js +22 -10
- package/dist/agent-message-center/index.js.map +1 -1
- package/dist/{agentConversationVM-Bf3Zv3iI.d.ts → agentConversationVM-D3Dn2LqN.d.ts} +18 -2
- package/dist/{agentGuiNodeTypes-DbgQBiYz.d.ts → agentGuiNodeTypes-B3N_hJZp.d.ts} +5 -3
- package/dist/agents.d.ts +1 -1
- package/dist/agents.js +1 -1
- package/dist/app/renderer/agentactivity.css +110 -6
- package/dist/app/renderer/assets/icons/agent-vinyl-beta-tag.svg +5 -0
- package/dist/{chunk-OWW7CU4U.js → chunk-25BPR75P.js} +2 -2
- package/dist/{chunk-N4WVVCNI.js → chunk-2QHKXI5N.js} +2 -2
- package/dist/{chunk-KJQERFKX.js → chunk-6CUELYIF.js} +3 -3
- package/dist/chunk-6CUELYIF.js.map +1 -0
- package/dist/{chunk-TKBEVCHG.js → chunk-7BN2WQ2M.js} +32 -2
- package/dist/chunk-7BN2WQ2M.js.map +1 -0
- package/dist/chunk-7KVZPJ3O.js +25 -0
- package/dist/chunk-7KVZPJ3O.js.map +1 -0
- package/dist/{chunk-C35SNDVZ.js → chunk-7OYHDOGG.js} +2 -1
- package/dist/chunk-7OYHDOGG.js.map +1 -0
- package/dist/{chunk-4ZWV57MF.js → chunk-AIZJHA4Q.js} +14 -9
- package/dist/chunk-AIZJHA4Q.js.map +1 -0
- package/dist/{chunk-QY22OBJS.js → chunk-AY5AFMT2.js} +8 -84
- package/dist/chunk-AY5AFMT2.js.map +1 -0
- package/dist/{chunk-V5ROOS2O.js → chunk-BM3CSFWU.js} +22 -6
- package/dist/chunk-BM3CSFWU.js.map +1 -0
- package/dist/{chunk-IR2CL2X2.js → chunk-BRLKORQI.js} +1436 -1919
- package/dist/chunk-BRLKORQI.js.map +1 -0
- package/dist/{chunk-LDZ6C3YV.js → chunk-E74BMFHI.js} +3 -3
- package/dist/chunk-E74BMFHI.js.map +1 -0
- package/dist/{chunk-ZSJBCZUH.js → chunk-EBXOSQ5G.js} +102 -73
- package/dist/chunk-EBXOSQ5G.js.map +1 -0
- package/dist/chunk-J4K7KIFZ.js +75 -0
- package/dist/chunk-J4K7KIFZ.js.map +1 -0
- package/dist/{chunk-UFIEUC3Y.js → chunk-JBX3JPTC.js} +9 -8
- package/dist/chunk-JBX3JPTC.js.map +1 -0
- package/dist/{chunk-4YVKAPKW.js → chunk-JLRPIEIE.js} +2 -17
- package/dist/chunk-JLRPIEIE.js.map +1 -0
- package/dist/{chunk-4HSLSSPJ.js → chunk-KXZMIZ5H.js} +1344 -758
- package/dist/chunk-KXZMIZ5H.js.map +1 -0
- package/dist/{chunk-4YG7YK7S.js → chunk-L2GENUG3.js} +3 -3
- package/dist/{chunk-J2HG7UCP.js → chunk-OEYXSD3O.js} +3 -3
- package/dist/{chunk-P3CVAWGJ.js → chunk-QTW5CH62.js} +5 -5
- package/dist/{chunk-L3GMMGRS.js → chunk-R2ZADXRB.js} +2 -2
- package/dist/chunk-R7AXDQCA.js +146 -0
- package/dist/chunk-R7AXDQCA.js.map +1 -0
- package/dist/{chunk-7MPN2JGL.js → chunk-U4CVBCHD.js} +37 -119
- package/dist/chunk-U4CVBCHD.js.map +1 -0
- package/dist/{chunk-BXOKBZH4.js → chunk-UFD2QKGC.js} +9 -6
- package/dist/chunk-UFD2QKGC.js.map +1 -0
- package/dist/{chunk-4YCCATI4.js → chunk-USIFGHT3.js} +17 -4
- package/dist/chunk-USIFGHT3.js.map +1 -0
- package/dist/{chunk-7BXWPI4F.js → chunk-VMQNG2KI.js} +13 -1
- package/dist/{chunk-7BXWPI4F.js.map → chunk-VMQNG2KI.js.map} +1 -1
- package/dist/{chunk-SN6UYX54.js → chunk-W6TO6K2X.js} +4 -4
- package/dist/{chunk-UGVI47X6.js → chunk-YNSXUEIR.js} +6 -6
- package/dist/context-mention-palette/index.js +13 -12
- package/dist/{contribution-C6K5YfJ7.d.ts → contribution-C2LDwLA7.d.ts} +3 -2
- package/dist/dock-icons.js +3 -3
- package/dist/i18n/index.d.ts +31 -1
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +8 -7
- package/dist/index.js +27 -25
- package/dist/index.js.map +1 -1
- package/dist/mention-search.js +11 -10
- package/dist/provider-icons.js +1 -1
- package/dist/provider-identity.js +1 -1
- package/dist/{types-CnT8rNUI.d.ts → types-yF_0mrNS.d.ts} +1 -0
- package/dist/workbench/contribution.d.ts +2 -2
- package/dist/workbench/contribution.js +11 -11
- package/dist/workbench/index.d.ts +4 -4
- package/dist/workbench/index.js +22 -28
- package/dist/workbench/launch.d.ts +11 -14
- package/dist/workbench/launch.js +5 -11
- package/dist/workbench/providerCatalog.js +2 -2
- package/dist/workbench/sessionTitle.js +3 -3
- package/dist/workbench/state.d.ts +2 -12
- package/dist/workbench/state.js +3 -9
- package/dist/workspace-agent-generated-files.js +2 -1
- package/dist/workspace-query-cache.d.ts +19 -0
- package/dist/workspace-query-cache.js +7 -0
- package/dist/workspace-query-cache.js.map +1 -0
- package/package.json +21 -14
- package/dist/@-bold-lined-BLLFKBFI.svg +0 -10
- package/dist/AgentRichTextReadonly-F6PHC5SX.js +0 -18
- package/dist/add-lined-bold-5QPUDZCU.svg +0 -3
- package/dist/chunk-4HSLSSPJ.js.map +0 -1
- package/dist/chunk-4YCCATI4.js.map +0 -1
- package/dist/chunk-4YVKAPKW.js.map +0 -1
- package/dist/chunk-4ZWV57MF.js.map +0 -1
- package/dist/chunk-7MPN2JGL.js.map +0 -1
- package/dist/chunk-BXOKBZH4.js.map +0 -1
- package/dist/chunk-C35SNDVZ.js.map +0 -1
- package/dist/chunk-H6IQ63DQ.js +0 -14
- package/dist/chunk-H6IQ63DQ.js.map +0 -1
- package/dist/chunk-IR2CL2X2.js.map +0 -1
- package/dist/chunk-KJQERFKX.js.map +0 -1
- package/dist/chunk-LDZ6C3YV.js.map +0 -1
- package/dist/chunk-QY22OBJS.js.map +0 -1
- package/dist/chunk-TKBEVCHG.js.map +0 -1
- package/dist/chunk-UFIEUC3Y.js.map +0 -1
- package/dist/chunk-V5ROOS2O.js.map +0 -1
- package/dist/chunk-ZSJBCZUH.js.map +0 -1
- package/dist/claudecode-flat-filled-NHO4JCVK.svg +0 -10
- package/dist/codex-flat-filled-WYHCF5VR.svg +0 -10
- package/dist/cursor-flat-filled-CL7N3BTZ.svg +0 -3
- package/dist/handoff-lined-4WQUBVG3.svg +0 -11
- package/dist/open-link-lined-JWEKUKME.svg +0 -4
- package/dist/opencode-flat-filled-CYAJPX45.svg +0 -4
- package/dist/tutti-flat-filled-K32QBTZE.svg +0 -12
- /package/dist/{AgentRichTextReadonly-F6PHC5SX.js.map → AgentRichTextReadonly-42TUVYX5.js.map} +0 -0
- /package/dist/{chunk-OWW7CU4U.js.map → chunk-25BPR75P.js.map} +0 -0
- /package/dist/{chunk-N4WVVCNI.js.map → chunk-2QHKXI5N.js.map} +0 -0
- /package/dist/{chunk-4YG7YK7S.js.map → chunk-L2GENUG3.js.map} +0 -0
- /package/dist/{chunk-J2HG7UCP.js.map → chunk-OEYXSD3O.js.map} +0 -0
- /package/dist/{chunk-P3CVAWGJ.js.map → chunk-QTW5CH62.js.map} +0 -0
- /package/dist/{chunk-L3GMMGRS.js.map → chunk-R2ZADXRB.js.map} +0 -0
- /package/dist/{chunk-SN6UYX54.js.map → chunk-W6TO6K2X.js.map} +0 -0
- /package/dist/{chunk-UGVI47X6.js.map → chunk-YNSXUEIR.js.map} +0 -0
|
@@ -2,13 +2,14 @@ import * as react from 'react';
|
|
|
2
2
|
import { PropsWithChildren, JSX, HTMLAttributes, ReactNode } from 'react';
|
|
3
3
|
import { I18nRuntime } from '@tutti-os/ui-i18n-runtime';
|
|
4
4
|
import { AgentActivityGoalControlInput, AgentActivityGoalControlResult, AgentActivityCreateSessionInput, AgentActivitySession, AgentActivityDeleteSessionInput, AgentActivityDeleteSessionResult, AgentActivitySendInput, AgentActivitySessionSettings, AgentActivityActivateSessionResult, AgentActivitySnapshot, AgentSessionEngine, AgentActivityMessageOrder, AgentActivityMessagePage, AgentActivitySendInputResult, AgentActivityRenameSessionInput, AgentActivitySubmitInteractiveInput, AgentActivitySubmitInteractiveResult, AgentActivitySnapshotListener, AgentActivitySubmitSettingsPatch } from '@tutti-os/agent-activity-core';
|
|
5
|
-
import { u as AgentHostAgentSessionComposerSettings, y as AgentHostUnactivateAgentSessionResult, h as AgentGUIAgentTarget, n as AgentGUIProvider, z as AgentPromptContentBlock, m as AgentGUINodeData, P as Point, o as AgentGUIProviderRailAllPresentation, p as AgentGUIProviderRailMode, q as AgentGUIProviderReadinessGate, l as AgentGUIHomeSuggestionId, N as NodeFrame, e as AgentGUIAgentDirectorySnapshot, k as AgentGUIAllAgentsPresentation } from './types-
|
|
6
|
-
import {
|
|
5
|
+
import { u as AgentHostAgentSessionComposerSettings, y as AgentHostUnactivateAgentSessionResult, h as AgentGUIAgentTarget, n as AgentGUIProvider, z as AgentPromptContentBlock, m as AgentGUINodeData, P as Point, o as AgentGUIProviderRailAllPresentation, p as AgentGUIProviderRailMode, q as AgentGUIProviderReadinessGate, l as AgentGUIHomeSuggestionId, N as NodeFrame, e as AgentGUIAgentDirectorySnapshot, k as AgentGUIAllAgentsPresentation } from './types-yF_0mrNS.js';
|
|
6
|
+
import { WorkspaceQueryCache } from './workspace-query-cache.js';
|
|
7
|
+
import { A as AgentComposerDraft, q as AgentSessionCommand, d as AgentGUIProviderSkillOption, b as AgentGUIComposerSettingsVM, e as AgentGUIQueueStatus, f as AgentGUIQueuedPromptVM, l as AgentMessageMarkdownWorkspaceAppIcon, r as AgentSlashCommandCapability, c as AgentGUINodeViewModel, n as AgentProbeSnapshot, a as AgentComposerDraftFile, i as AgentHostInputApi } from './agentGuiNodeTypes-B3N_hJZp.js';
|
|
7
8
|
import { WorkspaceFileReference, ReferenceLocateTarget, WorkspaceFileReferenceAdapter, ReferenceProvenanceCatalog } from '@tutti-os/workspace-file-reference/contracts';
|
|
8
9
|
import { A as AgentContextMentionItem } from './agentFileMentionContracts-B70VnPWO.js';
|
|
9
10
|
import { WorkspaceFileEntry } from '@tutti-os/workspace-file-manager/services';
|
|
10
11
|
import { ReferenceSourceAggregator } from '@tutti-os/workspace-file-reference/core';
|
|
11
|
-
import { b as AgentConversationPromptVM, e as WorkspaceLinkAction } from './agentConversationVM-
|
|
12
|
+
import { b as AgentConversationPromptVM, e as WorkspaceLinkAction } from './agentConversationVM-D3Dn2LqN.js';
|
|
12
13
|
import { AgentContextMentionProvider } from './context-mention-provider.js';
|
|
13
14
|
import { WorkspaceUserProjectI18nRuntime } from '@tutti-os/workspace-user-project/i18n';
|
|
14
15
|
import { WorkspaceUserProjectSelectChangeAction } from '@tutti-os/workspace-user-project/ui';
|
|
@@ -306,6 +307,7 @@ interface AgentActivityRuntime {
|
|
|
306
307
|
updateSessionSettings(input: AgentActivityRuntimeUpdateSessionSettingsInput): Promise<AgentActivityRuntimeUpdateSessionSettingsResult>;
|
|
307
308
|
getSnapshot(workspaceId: string): AgentActivitySnapshot;
|
|
308
309
|
getSessionEngine(workspaceId: string): AgentSessionEngine;
|
|
310
|
+
getSessionSectionsQueryCache?(workspaceId: string): WorkspaceQueryCache<unknown>;
|
|
309
311
|
listSessionMessages(input: AgentActivityRuntimeListSessionMessagesInput): Promise<AgentActivityMessagePage>;
|
|
310
312
|
listAgentGeneratedFiles?(input: AgentActivityRuntimeListGeneratedFilesInput): Promise<AgentActivityRuntimeGeneratedFileList>;
|
|
311
313
|
listSessionsPage?(input: AgentActivityRuntimeListSessionsPageInput): Promise<AgentActivityRuntimeSessionPageResult>;
|
|
@@ -692,6 +694,7 @@ interface AgentComposerProps {
|
|
|
692
694
|
usageLimitsLabel: string;
|
|
693
695
|
usageCompactAction: string;
|
|
694
696
|
approvalLead: string;
|
|
697
|
+
fileChangeApprovalLead: string;
|
|
695
698
|
planLead: string;
|
|
696
699
|
planModes: Array<{
|
|
697
700
|
id: string;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AgentRichTextReadonly
|
|
3
|
+
} from "./chunk-JBX3JPTC.js";
|
|
4
|
+
import "./chunk-OEYXSD3O.js";
|
|
5
|
+
import "./chunk-LUGELG5V.js";
|
|
6
|
+
import "./chunk-KPMQGPYU.js";
|
|
7
|
+
import "./chunk-W6TO6K2X.js";
|
|
8
|
+
import "./chunk-PJP5BUU6.js";
|
|
9
|
+
import "./chunk-7KVZPJ3O.js";
|
|
10
|
+
import "./chunk-25BPR75P.js";
|
|
11
|
+
import "./chunk-7BN2WQ2M.js";
|
|
12
|
+
import "./chunk-D2JUDUYY.js";
|
|
13
|
+
import "./chunk-6CUELYIF.js";
|
|
14
|
+
import "./chunk-YNSXUEIR.js";
|
|
15
|
+
export {
|
|
16
|
+
AgentRichTextReadonly
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=AgentRichTextReadonly-42TUVYX5.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode, JSX } from 'react';
|
|
3
|
-
import { c as AgentConversationVM, e as WorkspaceLinkAction, d as WorkspaceAgentSessionDetailViewModel } from '../agentConversationVM-
|
|
4
|
-
export { B as BuildWorkspaceAgentSessionDetailInput, W as WorkspaceAgentActivityTimelineItem, f as buildWorkspaceAgentSessionDetailViewModel } from '../agentConversationVM-
|
|
5
|
-
import { d as AgentGUIProviderSkillOption, l as AgentMessageMarkdownWorkspaceAppIcon } from '../agentGuiNodeTypes-
|
|
3
|
+
import { c as AgentConversationVM, e as WorkspaceLinkAction, d as WorkspaceAgentSessionDetailViewModel } from '../agentConversationVM-D3Dn2LqN.js';
|
|
4
|
+
export { B as BuildWorkspaceAgentSessionDetailInput, W as WorkspaceAgentActivityTimelineItem, f as buildWorkspaceAgentSessionDetailViewModel } from '../agentConversationVM-D3Dn2LqN.js';
|
|
5
|
+
import { d as AgentGUIProviderSkillOption, l as AgentMessageMarkdownWorkspaceAppIcon } from '../agentGuiNodeTypes-B3N_hJZp.js';
|
|
6
6
|
export { W as WorkspaceAgentActivityCard } from '../workspaceAgentActivityListTypes-DZfS_HgG.js';
|
|
7
7
|
import '@tutti-os/workspace-issue-manager/core';
|
|
8
8
|
import '@tutti-os/agent-activity-core';
|
|
9
|
-
import '../types-
|
|
9
|
+
import '../types-yF_0mrNS.js';
|
|
10
10
|
import '@tutti-os/workspace-user-project/contracts';
|
|
11
11
|
import '../pastedTextKinds-D-XuInaS.js';
|
|
12
12
|
|
|
@@ -6,28 +6,29 @@ import {
|
|
|
6
6
|
projectAgentConversationVM,
|
|
7
7
|
reconcileProjectedAgentConversationVM,
|
|
8
8
|
useProjectedAgentConversation
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
9
|
+
} from "../chunk-BRLKORQI.js";
|
|
10
|
+
import "../chunk-JBX3JPTC.js";
|
|
11
|
+
import "../chunk-VMQNG2KI.js";
|
|
12
12
|
import "../chunk-FGLQZ6I4.js";
|
|
13
13
|
import "../chunk-XJ34OIEQ.js";
|
|
14
|
-
import "../chunk-
|
|
14
|
+
import "../chunk-R7AXDQCA.js";
|
|
15
|
+
import "../chunk-OEYXSD3O.js";
|
|
15
16
|
import "../chunk-LUGELG5V.js";
|
|
16
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-U4CVBCHD.js";
|
|
17
18
|
import "../chunk-KPMQGPYU.js";
|
|
18
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-E74BMFHI.js";
|
|
19
20
|
import "../chunk-F5UR6EJG.js";
|
|
20
|
-
import "../chunk-
|
|
21
|
+
import "../chunk-W6TO6K2X.js";
|
|
21
22
|
import "../chunk-PJP5BUU6.js";
|
|
22
|
-
import "../chunk-
|
|
23
|
+
import "../chunk-7KVZPJ3O.js";
|
|
23
24
|
import "../chunk-MIJXEELH.js";
|
|
24
25
|
import {
|
|
25
26
|
translate
|
|
26
|
-
} from "../chunk-
|
|
27
|
-
import "../chunk-
|
|
27
|
+
} from "../chunk-25BPR75P.js";
|
|
28
|
+
import "../chunk-7BN2WQ2M.js";
|
|
28
29
|
import "../chunk-D2JUDUYY.js";
|
|
29
|
-
import "../chunk-
|
|
30
|
-
import "../chunk-
|
|
30
|
+
import "../chunk-6CUELYIF.js";
|
|
31
|
+
import "../chunk-YNSXUEIR.js";
|
|
31
32
|
|
|
32
33
|
// shared/WorkspaceAgentSessionDetail.tsx
|
|
33
34
|
import { useMemo } from "react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../shared/WorkspaceAgentSessionDetail.tsx"],"sourcesContent":["import { useMemo, type JSX } from \"react\";\nimport type { WorkspaceLinkAction } from \"../contexts/workspace/presentation/renderer/actions/workspaceLinkActions\";\nimport { translate } from \"../i18n/index\";\nimport { AgentConversationFlow } from \"./agentConversation/components/AgentConversationFlow\";\nimport { useProjectedAgentConversation } from \"./agentConversation/projection/useProjectedAgentConversation\";\nimport type { WorkspaceAgentSessionDetailViewModel } from \"./workspaceAgentSessionDetailViewModel\";\n\ninterface WorkspaceAgentSessionDetailProps {\n detail: WorkspaceAgentSessionDetailViewModel;\n avoidGroupingEdits?: boolean;\n isLoading: boolean;\n timelineItemCount: number;\n onLinkAction?: (action: WorkspaceLinkAction) => void;\n toolCallsLabel: (count: number) => string;\n thinkingLabel?: string;\n loadingLabel?: string;\n rawTimelineJsonLabel?: string;\n showRawTimelineJson?: boolean;\n}\n\nexport function WorkspaceAgentSessionDetail({\n detail,\n avoidGroupingEdits = false,\n isLoading,\n timelineItemCount,\n onLinkAction,\n toolCallsLabel,\n thinkingLabel = translate(\"agentHost.workspaceAgentSessionDetailThinking\"),\n loadingLabel = translate(\"common.loading\"),\n rawTimelineJsonLabel,\n showRawTimelineJson = false\n}: WorkspaceAgentSessionDetailProps): JSX.Element {\n const conversation = useProjectedAgentConversation({\n detail,\n avoidGroupingEdits\n });\n const showLoadingSkeleton =\n detail.turns.length === 0 &&\n (isLoading ||\n detail.activity.status === \"waiting\" ||\n detail.activity.status === \"working\");\n const emptySummary =\n detail.activity.latestActivitySummary ||\n (timelineItemCount > 0\n ? translate(\"agentHost.workspaceAgentSessionDetailEmptyWithTimeline\")\n : translate(\"agentHost.workspaceAgentSessionDetailEmptyNoTimeline\"));\n const flowLabels = useMemo(\n () => ({\n thinkingLabel,\n toolCallsLabel,\n processing: translate(\"agentHost.agentGui.processing\"),\n turnSummary: translate(\"agentHost.agentGui.turnSummary\"),\n rawTimelineJson: rawTimelineJsonLabel\n }),\n [rawTimelineJsonLabel, thinkingLabel, toolCallsLabel]\n );\n const emptyState = useMemo(\n () => (\n <div className=\"workspace-agents-status-panel__detail-empty\">\n {emptySummary}\n </div>\n ),\n [emptySummary]\n );\n\n return (\n <div className=\"workspace-agents-status-panel__detail\">\n <AgentConversationFlow\n conversation={detail.turns.length > 0 ? conversation : null}\n isLoading={showLoadingSkeleton}\n loadingLabel={loadingLabel}\n empty={emptyState}\n onLinkAction={onLinkAction}\n showRawTimelineJson={showRawTimelineJson}\n labels={flowLabels}\n />\n </div>\n );\n}\n\nexport function WorkspaceAgentSessionDetailSkeleton({\n loading = true,\n loadingLabel = translate(\"common.loading\")\n}: {\n loading?: boolean;\n loadingLabel?: string;\n}): JSX.Element {\n const flowLabels = useMemo(\n () => ({\n thinkingLabel: translate(\"agentHost.workspaceAgentSessionDetailThinking\"),\n toolCallsLabel: (count: number) =>\n translate(\"agentHost.workspaceAgentSessionDetailToolCalls\", { count }),\n processing: translate(\"agentHost.agentGui.processing\"),\n turnSummary: translate(\"agentHost.agentGui.turnSummary\")\n }),\n []\n );\n\n if (!loading) {\n return <></>;\n }\n\n return (\n <div\n className=\"workspace-agents-status-panel__detail-skeleton\"\n data-testid=\"workspace-agents-status-panel-detail-skeleton\"\n role=\"status\"\n aria-busy=\"true\"\n aria-label={loadingLabel}\n >\n <AgentConversationFlow\n conversation={null}\n isLoading\n loadingLabel={loadingLabel}\n loadingTestId=\"workspace-agents-status-panel-detail-skeleton\"\n empty={null}\n labels={flowLabels}\n />\n </div>\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../shared/WorkspaceAgentSessionDetail.tsx"],"sourcesContent":["import { useMemo, type JSX } from \"react\";\nimport type { WorkspaceLinkAction } from \"../contexts/workspace/presentation/renderer/actions/workspaceLinkActions\";\nimport { translate } from \"../i18n/index\";\nimport { AgentConversationFlow } from \"./agentConversation/components/AgentConversationFlow\";\nimport { useProjectedAgentConversation } from \"./agentConversation/projection/useProjectedAgentConversation\";\nimport type { WorkspaceAgentSessionDetailViewModel } from \"./workspaceAgentSessionDetailViewModel\";\n\ninterface WorkspaceAgentSessionDetailProps {\n detail: WorkspaceAgentSessionDetailViewModel;\n avoidGroupingEdits?: boolean;\n isLoading: boolean;\n timelineItemCount: number;\n onLinkAction?: (action: WorkspaceLinkAction) => void;\n toolCallsLabel: (count: number) => string;\n thinkingLabel?: string;\n loadingLabel?: string;\n rawTimelineJsonLabel?: string;\n showRawTimelineJson?: boolean;\n}\n\nexport function WorkspaceAgentSessionDetail({\n detail,\n avoidGroupingEdits = false,\n isLoading,\n timelineItemCount,\n onLinkAction,\n toolCallsLabel,\n thinkingLabel = translate(\"agentHost.workspaceAgentSessionDetailThinking\"),\n loadingLabel = translate(\"common.loading\"),\n rawTimelineJsonLabel,\n showRawTimelineJson = false\n}: WorkspaceAgentSessionDetailProps): JSX.Element {\n const conversation = useProjectedAgentConversation({\n detail,\n avoidGroupingEdits\n });\n const showLoadingSkeleton =\n detail.turns.length === 0 &&\n (isLoading ||\n detail.activity.status === \"waiting\" ||\n detail.activity.status === \"working\");\n const emptySummary =\n detail.activity.latestActivitySummary ||\n (timelineItemCount > 0\n ? translate(\"agentHost.workspaceAgentSessionDetailEmptyWithTimeline\")\n : translate(\"agentHost.workspaceAgentSessionDetailEmptyNoTimeline\"));\n const flowLabels = useMemo(\n () => ({\n thinkingLabel,\n toolCallsLabel,\n processing: translate(\"agentHost.agentGui.processing\"),\n turnSummary: translate(\"agentHost.agentGui.turnSummary\"),\n rawTimelineJson: rawTimelineJsonLabel\n }),\n [rawTimelineJsonLabel, thinkingLabel, toolCallsLabel]\n );\n const emptyState = useMemo(\n () => (\n <div className=\"workspace-agents-status-panel__detail-empty\">\n {emptySummary}\n </div>\n ),\n [emptySummary]\n );\n\n return (\n <div className=\"workspace-agents-status-panel__detail\">\n <AgentConversationFlow\n conversation={detail.turns.length > 0 ? conversation : null}\n isLoading={showLoadingSkeleton}\n loadingLabel={loadingLabel}\n empty={emptyState}\n onLinkAction={onLinkAction}\n showRawTimelineJson={showRawTimelineJson}\n labels={flowLabels}\n />\n </div>\n );\n}\n\nexport function WorkspaceAgentSessionDetailSkeleton({\n loading = true,\n loadingLabel = translate(\"common.loading\")\n}: {\n loading?: boolean;\n loadingLabel?: string;\n}): JSX.Element {\n const flowLabels = useMemo(\n () => ({\n thinkingLabel: translate(\"agentHost.workspaceAgentSessionDetailThinking\"),\n toolCallsLabel: (count: number) =>\n translate(\"agentHost.workspaceAgentSessionDetailToolCalls\", { count }),\n processing: translate(\"agentHost.agentGui.processing\"),\n turnSummary: translate(\"agentHost.agentGui.turnSummary\")\n }),\n []\n );\n\n if (!loading) {\n return <></>;\n }\n\n return (\n <div\n className=\"workspace-agents-status-panel__detail-skeleton\"\n data-testid=\"workspace-agents-status-panel-detail-skeleton\"\n role=\"status\"\n aria-busy=\"true\"\n aria-label={loadingLabel}\n >\n <AgentConversationFlow\n conversation={null}\n isLoading\n loadingLabel={loadingLabel}\n loadingTestId=\"workspace-agents-status-panel-detail-skeleton\"\n empty={null}\n labels={flowLabels}\n />\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,eAAyB;AA0D5B,SAyCK,UAzCL;AAtCC,SAAS,4BAA4B;AAAA,EAC1C;AAAA,EACA,qBAAqB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,gBAAgB,UAAU,+CAA+C;AAAA,EACzE,eAAe,UAAU,gBAAgB;AAAA,EACzC;AAAA,EACA,sBAAsB;AACxB,GAAkD;AAChD,QAAM,eAAe,8BAA8B;AAAA,IACjD;AAAA,IACA;AAAA,EACF,CAAC;AACD,QAAM,sBACJ,OAAO,MAAM,WAAW,MACvB,aACC,OAAO,SAAS,WAAW,aAC3B,OAAO,SAAS,WAAW;AAC/B,QAAM,eACJ,OAAO,SAAS,0BACf,oBAAoB,IACjB,UAAU,wDAAwD,IAClE,UAAU,sDAAsD;AACtE,QAAM,aAAa;AAAA,IACjB,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,YAAY,UAAU,+BAA+B;AAAA,MACrD,aAAa,UAAU,gCAAgC;AAAA,MACvD,iBAAiB;AAAA,IACnB;AAAA,IACA,CAAC,sBAAsB,eAAe,cAAc;AAAA,EACtD;AACA,QAAM,aAAa;AAAA,IACjB,MACE,oBAAC,SAAI,WAAU,+CACZ,wBACH;AAAA,IAEF,CAAC,YAAY;AAAA,EACf;AAEA,SACE,oBAAC,SAAI,WAAU,yCACb;AAAA,IAAC;AAAA;AAAA,MACC,cAAc,OAAO,MAAM,SAAS,IAAI,eAAe;AAAA,MACvD,WAAW;AAAA,MACX;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,QAAQ;AAAA;AAAA,EACV,GACF;AAEJ;","names":[]}
|
package/dist/agent-env/index.js
CHANGED
package/dist/agent-gui.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import 'react';
|
|
2
2
|
import '@tutti-os/ui-i18n-runtime';
|
|
3
|
-
export { n as AgentGUI, w as AgentGUIProps } from './AgentGUI-
|
|
4
|
-
import './agentGuiNodeTypes-
|
|
5
|
-
export { l as AgentGUIHomeSuggestionId } from './types-
|
|
3
|
+
export { n as AgentGUI, w as AgentGUIProps } from './AgentGUI-CkxdEB8F.js';
|
|
4
|
+
import './agentGuiNodeTypes-B3N_hJZp.js';
|
|
5
|
+
export { l as AgentGUIHomeSuggestionId } from './types-yF_0mrNS.js';
|
|
6
6
|
import './runtime-BBNdWgDU.js';
|
|
7
7
|
export { ReferenceProvenanceCatalog as AgentGUIReferenceProvenanceFilterCatalog } from '@tutti-os/workspace-file-reference/contracts';
|
|
8
8
|
import '@tutti-os/agent-activity-core';
|
|
9
|
+
import './workspace-query-cache.js';
|
|
9
10
|
import './agentFileMentionContracts-B70VnPWO.js';
|
|
10
11
|
import '@tutti-os/workspace-file-manager/services';
|
|
11
12
|
import '@tutti-os/workspace-file-reference/core';
|
|
12
|
-
import './agentConversationVM-
|
|
13
|
+
import './agentConversationVM-D3Dn2LqN.js';
|
|
13
14
|
import '@tutti-os/workspace-issue-manager/core';
|
|
14
15
|
import './workspaceAgentActivityListTypes-DZfS_HgG.js';
|
|
15
16
|
import './context-mention-provider.js';
|
package/dist/agent-gui.js
CHANGED
|
@@ -1,42 +1,44 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AgentGUI
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-KXZMIZ5H.js";
|
|
4
|
+
import "./chunk-J4K7KIFZ.js";
|
|
5
|
+
import "./chunk-EBXOSQ5G.js";
|
|
6
|
+
import "./chunk-AY5AFMT2.js";
|
|
7
|
+
import "./chunk-BM3CSFWU.js";
|
|
8
|
+
import "./chunk-JLRPIEIE.js";
|
|
9
|
+
import "./chunk-R2ZADXRB.js";
|
|
9
10
|
import "./chunk-UHBCM6RO.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-BRLKORQI.js";
|
|
12
|
+
import "./chunk-JBX3JPTC.js";
|
|
13
|
+
import "./chunk-VMQNG2KI.js";
|
|
14
|
+
import "./chunk-QTW5CH62.js";
|
|
15
|
+
import "./chunk-7OYHDOGG.js";
|
|
15
16
|
import "./chunk-FGLQZ6I4.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-L2GENUG3.js";
|
|
18
|
+
import "./chunk-UFD2QKGC.js";
|
|
19
|
+
import "./chunk-USIFGHT3.js";
|
|
19
20
|
import "./chunk-XJ34OIEQ.js";
|
|
20
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-R7AXDQCA.js";
|
|
22
|
+
import "./chunk-OEYXSD3O.js";
|
|
21
23
|
import "./chunk-LUGELG5V.js";
|
|
22
24
|
import "./chunk-JM24HADP.js";
|
|
23
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-AIZJHA4Q.js";
|
|
24
26
|
import "./chunk-2RQM7PJN.js";
|
|
25
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-U4CVBCHD.js";
|
|
26
28
|
import "./chunk-KPMQGPYU.js";
|
|
27
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-2QHKXI5N.js";
|
|
28
30
|
import "./chunk-YMXYBG7U.js";
|
|
29
|
-
import "./chunk-
|
|
31
|
+
import "./chunk-E74BMFHI.js";
|
|
30
32
|
import "./chunk-F5UR6EJG.js";
|
|
31
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-W6TO6K2X.js";
|
|
32
34
|
import "./chunk-PJP5BUU6.js";
|
|
33
|
-
import "./chunk-
|
|
35
|
+
import "./chunk-7KVZPJ3O.js";
|
|
34
36
|
import "./chunk-MIJXEELH.js";
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-25BPR75P.js";
|
|
38
|
+
import "./chunk-7BN2WQ2M.js";
|
|
37
39
|
import "./chunk-D2JUDUYY.js";
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
40
|
+
import "./chunk-6CUELYIF.js";
|
|
41
|
+
import "./chunk-YNSXUEIR.js";
|
|
40
42
|
export {
|
|
41
43
|
AgentGUI
|
|
42
44
|
};
|
|
@@ -2,7 +2,7 @@ import * as react from 'react';
|
|
|
2
2
|
import { JSX, ReactNode, HTMLAttributes } from 'react';
|
|
3
3
|
import { I18nRuntime } from '@tutti-os/ui-i18n-runtime';
|
|
4
4
|
import { A as AgentGuiI18nLocale, T as TranslateFn } from '../runtime-BBNdWgDU.js';
|
|
5
|
-
import { b as AgentConversationPromptVM, e as WorkspaceLinkAction } from '../agentConversationVM-
|
|
5
|
+
import { b as AgentConversationPromptVM, e as WorkspaceLinkAction } from '../agentConversationVM-D3Dn2LqN.js';
|
|
6
6
|
import { AgentActivityNeedsAttentionItem, WorkspaceAgentConsumerSession, AgentActivitySnapshot, AgentSessionEngineState } from '@tutti-os/agent-activity-core';
|
|
7
7
|
export { WorkspaceAgentConsumerCounts, WorkspaceAgentConsumerSession, selectWorkspaceAgentConsumerCounts, selectWorkspaceAgentConsumerSession, selectWorkspaceAgentConsumerSessions } from '@tutti-os/agent-activity-core';
|
|
8
8
|
import { a as WorkspaceAgentActivityStatus } from '../workspaceAgentActivityListTypes-DZfS_HgG.js';
|
|
@@ -135,6 +135,7 @@ declare function resolveMessageCenterNotificationAction(item: WorkspaceAgentMess
|
|
|
135
135
|
}): string | null;
|
|
136
136
|
declare function buildWorkspaceAgentInteractivePromptLabels(t: ReturnType<typeof useTranslation>["t"], provider?: string): {
|
|
137
137
|
approvalLead: string;
|
|
138
|
+
fileChangeApprovalLead: string;
|
|
138
139
|
planLead: string;
|
|
139
140
|
planModes: {
|
|
140
141
|
id: string;
|
|
@@ -365,6 +366,7 @@ interface AgentInteractivePromptSurfaceProps {
|
|
|
365
366
|
}) => void;
|
|
366
367
|
labels: {
|
|
367
368
|
approvalLead: string;
|
|
369
|
+
fileChangeApprovalLead: string;
|
|
368
370
|
planLead: string;
|
|
369
371
|
planModes: Array<{
|
|
370
372
|
id: string;
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
dispatchAgentPlanPromptAction,
|
|
7
7
|
getPromptToolDetails,
|
|
8
8
|
isPromptRequestIdTitle
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-AIZJHA4Q.js";
|
|
10
10
|
import {
|
|
11
11
|
useEngineSelector
|
|
12
12
|
} from "../chunk-2RQM7PJN.js";
|
|
@@ -17,27 +17,28 @@ import {
|
|
|
17
17
|
extractExitPlanKeepPlanningOptionId,
|
|
18
18
|
extractExitPlanModeOptions,
|
|
19
19
|
isExitPlanSwitchModeInput,
|
|
20
|
+
normalizeAgentApprovalPurpose,
|
|
20
21
|
normalizeAskUserQuestions
|
|
21
|
-
} from "../chunk-
|
|
22
|
+
} from "../chunk-U4CVBCHD.js";
|
|
22
23
|
import {
|
|
23
24
|
cn
|
|
24
25
|
} from "../chunk-KPMQGPYU.js";
|
|
25
26
|
import {
|
|
26
27
|
userAvatarPlaceholderUrl,
|
|
27
28
|
workspaceAgentActivityStatusLabel
|
|
28
|
-
} from "../chunk-
|
|
29
|
+
} from "../chunk-2QHKXI5N.js";
|
|
29
30
|
import {
|
|
30
31
|
resolveWorkspaceAgentSessionSortTimeUnixMs
|
|
31
32
|
} from "../chunk-YMXYBG7U.js";
|
|
32
33
|
import {
|
|
33
34
|
workspaceAgentProviderLabel
|
|
34
|
-
} from "../chunk-
|
|
35
|
+
} from "../chunk-E74BMFHI.js";
|
|
35
36
|
import "../chunk-F5UR6EJG.js";
|
|
36
37
|
import {
|
|
37
38
|
managedAgentRoundedIconUrl
|
|
38
|
-
} from "../chunk-
|
|
39
|
+
} from "../chunk-W6TO6K2X.js";
|
|
39
40
|
import "../chunk-PJP5BUU6.js";
|
|
40
|
-
import "../chunk-
|
|
41
|
+
import "../chunk-7KVZPJ3O.js";
|
|
41
42
|
import {
|
|
42
43
|
normalizeAgentTitleText
|
|
43
44
|
} from "../chunk-MIJXEELH.js";
|
|
@@ -45,11 +46,11 @@ import {
|
|
|
45
46
|
AgentGuiI18nProvider,
|
|
46
47
|
getActiveUiLanguage,
|
|
47
48
|
useTranslation
|
|
48
|
-
} from "../chunk-
|
|
49
|
-
import "../chunk-
|
|
49
|
+
} from "../chunk-25BPR75P.js";
|
|
50
|
+
import "../chunk-7BN2WQ2M.js";
|
|
50
51
|
import "../chunk-D2JUDUYY.js";
|
|
51
|
-
import "../chunk-
|
|
52
|
-
import "../chunk-
|
|
52
|
+
import "../chunk-6CUELYIF.js";
|
|
53
|
+
import "../chunk-YNSXUEIR.js";
|
|
53
54
|
|
|
54
55
|
// agent-message-center/WorkspaceAgentMessageCenterPanel.tsx
|
|
55
56
|
import {
|
|
@@ -704,12 +705,16 @@ function approvalPromptFromMessage(message) {
|
|
|
704
705
|
return null;
|
|
705
706
|
}
|
|
706
707
|
const mcpTarget = extractAgentMcpToolTarget({ payload });
|
|
708
|
+
const approvalPurpose = normalizeAgentApprovalPurpose(
|
|
709
|
+
payload.approvalPurpose
|
|
710
|
+
);
|
|
707
711
|
return {
|
|
708
712
|
kind: "approval",
|
|
709
713
|
id: `approval:${requestId}`,
|
|
710
714
|
turnId: message.turnId ?? "turn:unknown",
|
|
711
715
|
requestId,
|
|
712
716
|
callId: stringValue2(payload.callId) ?? message.messageId,
|
|
717
|
+
...approvalPurpose ? { approvalPurpose } : {},
|
|
713
718
|
title: firstNonEmptyString2(
|
|
714
719
|
mcpTarget?.displayName ?? null,
|
|
715
720
|
stringValue2(payload.summary),
|
|
@@ -1438,6 +1443,9 @@ function buildWorkspaceAgentInteractivePromptLabels(t, provider) {
|
|
|
1438
1443
|
approvalLead: t("agentHost.agentGui.approvalRequired", {
|
|
1439
1444
|
provider: provider ? workspaceAgentProviderLabel(provider) : t("agentHost.workspaceAgentsGenericAgentName")
|
|
1440
1445
|
}),
|
|
1446
|
+
fileChangeApprovalLead: t("agentHost.agentGui.fileChangeApprovalRequired", {
|
|
1447
|
+
provider: provider ? workspaceAgentProviderLabel(provider) : t("agentHost.workspaceAgentsGenericAgentName")
|
|
1448
|
+
}),
|
|
1441
1449
|
planLead: t("agentHost.agentGui.planLead"),
|
|
1442
1450
|
planModes: [
|
|
1443
1451
|
{
|
|
@@ -3594,12 +3602,16 @@ function promptFromInteraction(interaction) {
|
|
|
3594
3602
|
}
|
|
3595
3603
|
] : [];
|
|
3596
3604
|
});
|
|
3605
|
+
const approvalPurpose = normalizeAgentApprovalPurpose(
|
|
3606
|
+
interaction.metadata?.approvalPurpose
|
|
3607
|
+
);
|
|
3597
3608
|
return {
|
|
3598
3609
|
kind: "approval",
|
|
3599
3610
|
id: `approval:${interaction.requestId}`,
|
|
3600
3611
|
turnId: interaction.turnId,
|
|
3601
3612
|
requestId: interaction.requestId,
|
|
3602
3613
|
callId: textValue(input.callId) ?? interaction.requestId,
|
|
3614
|
+
...approvalPurpose ? { approvalPurpose } : {},
|
|
3603
3615
|
title: interactionSummary(interaction),
|
|
3604
3616
|
toolName: interaction.toolName ?? null,
|
|
3605
3617
|
status: interaction.status,
|