@tutti-os/agent-gui 0.0.98 → 0.0.100
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-Bkk2TRS0.d.ts → AgentGUI-DgBjACOL.d.ts} +12 -3
- package/dist/agent-conversation/index.d.ts +4 -4
- package/dist/agent-conversation/index.js +8 -9
- package/dist/agent-conversation/index.js.map +1 -1
- package/dist/agent-gui.d.ts +5 -4
- package/dist/agent-gui.js +19 -19
- package/dist/agent-message-center/index.d.ts +4 -6
- package/dist/agent-message-center/index.js +13 -52
- package/dist/agent-message-center/index.js.map +1 -1
- package/dist/agent-title-text.js +1 -1
- package/dist/{agentConversationVM-C335TR6S.d.ts → agentConversationVM-BzHZhwFP.d.ts} +1 -1
- package/dist/{agentGuiNodeTypes-DAsluxjv.d.ts → agentGuiNodeTypes-C-wBSM-Y.d.ts} +19 -4
- package/dist/app/renderer/agentactivity.css +141 -36
- package/dist/chunk-2RQM7PJN.js +16 -0
- package/dist/chunk-2RQM7PJN.js.map +1 -0
- package/dist/{chunk-FSKGEGGX.js → chunk-4E3QCW6L.js} +17 -3
- package/dist/chunk-4E3QCW6L.js.map +1 -0
- package/dist/{chunk-63BE6RGM.js → chunk-4YCCATI4.js} +14 -374
- package/dist/chunk-4YCCATI4.js.map +1 -0
- package/dist/{chunk-IYEXLOUE.js → chunk-4YVKAPKW.js} +5 -8
- package/dist/chunk-4YVKAPKW.js.map +1 -0
- package/dist/{chunk-7O4D4KOE.js → chunk-BQJOYTW2.js} +939 -751
- package/dist/chunk-BQJOYTW2.js.map +1 -0
- package/dist/{chunk-MRRICFWA.js → chunk-D7HMQLBO.js} +159 -55
- package/dist/chunk-D7HMQLBO.js.map +1 -0
- package/dist/{chunk-OTRZBTFQ.js → chunk-DWUVRWXD.js} +2 -2
- package/dist/{chunk-RHTZAODZ.js → chunk-E5AD46HP.js} +2 -2
- package/dist/{chunk-3NOJFKDV.js → chunk-EUW6VPIK.js} +414 -49
- package/dist/chunk-EUW6VPIK.js.map +1 -0
- package/dist/{chunk-Y35GDLP2.js → chunk-F5UR6EJG.js} +2 -17
- package/dist/chunk-F5UR6EJG.js.map +1 -0
- package/dist/{chunk-J7ZYAUPC.js → chunk-FAE7CXZO.js} +8 -6
- package/dist/chunk-FAE7CXZO.js.map +1 -0
- package/dist/{chunk-CPUEPDF7.js → chunk-GCW57WYQ.js} +646 -595
- package/dist/chunk-GCW57WYQ.js.map +1 -0
- package/dist/{chunk-7M77BK6K.js → chunk-JWHPVETQ.js} +154 -147
- package/dist/chunk-JWHPVETQ.js.map +1 -0
- package/dist/{chunk-4ROALW3K.js → chunk-KAV2WHTG.js} +82 -61
- package/dist/chunk-KAV2WHTG.js.map +1 -0
- package/dist/{chunk-T6PEJFRP.js → chunk-MES7BQWI.js} +378 -369
- package/dist/chunk-MES7BQWI.js.map +1 -0
- package/dist/chunk-MIJXEELH.js +96 -0
- package/dist/chunk-MIJXEELH.js.map +1 -0
- package/dist/{chunk-QWGJ5TEG.js → chunk-QY22OBJS.js} +28 -30
- package/dist/chunk-QY22OBJS.js.map +1 -0
- package/dist/{chunk-MASXZENX.js → chunk-UESYITH6.js} +21 -2
- package/dist/chunk-UESYITH6.js.map +1 -0
- package/dist/{chunk-SPZJCTBV.js → chunk-XFRY2WWB.js} +348 -322
- package/dist/chunk-XFRY2WWB.js.map +1 -0
- package/dist/context-mention-palette/index.d.ts +5 -1
- package/dist/context-mention-palette/index.js +10 -11
- package/dist/contribution-CTVBPN0R.d.ts +119 -0
- package/dist/i18n/index.d.ts +16 -2
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +8 -7
- package/dist/index.js +21 -20
- package/dist/index.js.map +1 -1
- package/dist/mention-search.d.ts +18 -6
- package/dist/mention-search.js +8 -9
- package/dist/workbench/contribution.d.ts +6 -107
- package/dist/workbench/contribution.js +7 -3
- package/dist/workbench/index.d.ts +6 -4
- package/dist/workbench/index.js +27 -21
- package/dist/workbench/launch.d.ts +13 -5
- package/dist/workbench/launch.js +1 -1
- package/dist/workbench/sessionTitle.d.ts +5 -7
- package/dist/workbench/sessionTitle.js +3 -4
- package/dist/workbench/state.js +3 -1
- package/dist/workspace-agent-generated-files.d.ts +8 -13
- package/dist/workspace-agent-generated-files.js +6 -21
- package/dist/{workspaceAgentActivityListTypes-C7gPWYiA.d.ts → workspaceAgentActivityListTypes-DZfS_HgG.d.ts} +3 -26
- package/package.json +12 -12
- package/dist/chunk-3NOJFKDV.js.map +0 -1
- package/dist/chunk-4ROALW3K.js.map +0 -1
- package/dist/chunk-63BE6RGM.js.map +0 -1
- package/dist/chunk-7M77BK6K.js.map +0 -1
- package/dist/chunk-7O4D4KOE.js.map +0 -1
- package/dist/chunk-CPUEPDF7.js.map +0 -1
- package/dist/chunk-FSKGEGGX.js.map +0 -1
- package/dist/chunk-GAD6Y3BF.js +0 -88
- package/dist/chunk-GAD6Y3BF.js.map +0 -1
- package/dist/chunk-GCBDIQDX.js +0 -22
- package/dist/chunk-GCBDIQDX.js.map +0 -1
- package/dist/chunk-IYEXLOUE.js.map +0 -1
- package/dist/chunk-J7ZYAUPC.js.map +0 -1
- package/dist/chunk-MASXZENX.js.map +0 -1
- package/dist/chunk-MRRICFWA.js.map +0 -1
- package/dist/chunk-QWGJ5TEG.js.map +0 -1
- package/dist/chunk-SPZJCTBV.js.map +0 -1
- package/dist/chunk-T6PEJFRP.js.map +0 -1
- package/dist/chunk-Y35GDLP2.js.map +0 -1
- package/dist/chunk-Y5M6Q6WX.js +0 -25
- package/dist/chunk-Y5M6Q6WX.js.map +0 -1
- /package/dist/{chunk-OTRZBTFQ.js.map → chunk-DWUVRWXD.js.map} +0 -0
- /package/dist/{chunk-RHTZAODZ.js.map → chunk-E5AD46HP.js.map} +0 -0
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
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
|
-
import { AgentActivityGoalControlInput, AgentActivityGoalControlResult, AgentActivityCreateSessionInput, AgentActivitySession, AgentActivityDeleteSessionInput, AgentActivityDeleteSessionResult, AgentActivitySendInput, AgentActivitySessionSettings, AgentActivityActivateSessionResult, AgentActivitySnapshot, AgentSessionEngine, AgentActivityMessageOrder, AgentActivityMessagePage, AgentActivitySendInputResult, AgentActivityRenameSessionInput, AgentActivitySubmitInteractiveInput, AgentActivitySubmitInteractiveResult, AgentActivitySnapshotListener } from '@tutti-os/agent-activity-core';
|
|
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
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-CnT8rNUI.js';
|
|
6
|
-
import { A as AgentComposerDraft, p as AgentSessionCommand, c as AgentGUIProviderSkillOption, a as AgentGUIComposerSettingsVM, d as AgentGUIQueueStatus, e as AgentGUIQueuedPromptVM, k as AgentMessageMarkdownWorkspaceAppIcon, q as AgentSlashCommandCapability, b as AgentGUINodeViewModel, m as AgentProbeSnapshot, h as AgentHostInputApi } from './agentGuiNodeTypes-
|
|
6
|
+
import { A as AgentComposerDraft, p as AgentSessionCommand, c as AgentGUIProviderSkillOption, a as AgentGUIComposerSettingsVM, d as AgentGUIQueueStatus, e as AgentGUIQueuedPromptVM, k as AgentMessageMarkdownWorkspaceAppIcon, q as AgentSlashCommandCapability, b as AgentGUINodeViewModel, m as AgentProbeSnapshot, h as AgentHostInputApi } from './agentGuiNodeTypes-C-wBSM-Y.js';
|
|
7
7
|
import { WorkspaceFileReference, ReferenceLocateTarget, WorkspaceFileReferenceAdapter } from '@tutti-os/workspace-file-reference/contracts';
|
|
8
8
|
import { A as AgentContextMentionItem } from './agentFileMentionContracts-58IjMU-u.js';
|
|
9
9
|
import { WorkspaceFileEntry } from '@tutti-os/workspace-file-manager/services';
|
|
10
10
|
import { ReferenceSourceAggregator } from '@tutti-os/workspace-file-reference/core';
|
|
11
|
-
import { b as AgentConversationPromptVM, e as WorkspaceLinkAction } from './agentConversationVM-
|
|
11
|
+
import { b as AgentConversationPromptVM, e as WorkspaceLinkAction } from './agentConversationVM-BzHZhwFP.js';
|
|
12
12
|
import { AgentContextMentionProvider } from './context-mention-provider.js';
|
|
13
13
|
import { WorkspaceUserProjectI18nRuntime } from '@tutti-os/workspace-user-project/i18n';
|
|
14
14
|
import { WorkspaceUserProjectSelectChangeAction } from '@tutti-os/workspace-user-project/ui';
|
|
15
15
|
import { WorkspaceUserProject } from '@tutti-os/workspace-user-project/contracts';
|
|
16
|
+
import { ReferenceProvenanceFilterSnapshot, ReferenceProvenanceFilterController } from '@tutti-os/workspace-file-reference/react';
|
|
16
17
|
import { A as AgentGuiI18nLocale } from './runtime-BBNdWgDU.js';
|
|
17
18
|
|
|
18
19
|
interface AgentHostManagedAgentsStateItem {
|
|
@@ -66,6 +67,7 @@ interface AgentActivityRuntimeListSessionMessagesInput {
|
|
|
66
67
|
workspaceId: string;
|
|
67
68
|
}
|
|
68
69
|
interface AgentActivityRuntimeListGeneratedFilesInput {
|
|
70
|
+
agentTargetIds?: readonly string[];
|
|
69
71
|
limit?: number;
|
|
70
72
|
query?: string;
|
|
71
73
|
sessionCwd?: string;
|
|
@@ -547,7 +549,12 @@ interface WorkspaceReferencePickResult {
|
|
|
547
549
|
mentionItems: readonly AgentContextMentionItem[];
|
|
548
550
|
}
|
|
549
551
|
|
|
552
|
+
interface AgentComposerReferenceProvenanceFilter {
|
|
553
|
+
snapshot: ReferenceProvenanceFilterSnapshot;
|
|
554
|
+
controller: Pick<ReferenceProvenanceFilterController, "reset" | "toggle" | "toggleAll">;
|
|
555
|
+
}
|
|
550
556
|
interface AgentComposerSubmitOptions {
|
|
557
|
+
requiredSettingsPatch?: AgentActivitySubmitSettingsPatch;
|
|
551
558
|
}
|
|
552
559
|
interface AgentComposerProps {
|
|
553
560
|
workspaceId: string;
|
|
@@ -810,6 +817,7 @@ interface AgentComposerProps {
|
|
|
810
817
|
} | null>;
|
|
811
818
|
onRequestGitBranches?: AgentComposerGitBranchLoader | null;
|
|
812
819
|
contextMentionProviders?: readonly AgentContextMentionProvider[];
|
|
820
|
+
referenceProvenanceFilter?: AgentComposerReferenceProvenanceFilter | null;
|
|
813
821
|
}
|
|
814
822
|
type AgentComposerCapabilitySettingsTarget = AgentSlashCommandCapability["capability"];
|
|
815
823
|
interface AgentComposerCapabilityMenuState {
|
|
@@ -1001,6 +1009,7 @@ interface AgentGUINodeRuntimeRequests {
|
|
|
1001
1009
|
onProbeRefreshRequest?: WorkspaceDesktopAgentProbeRefreshRequest;
|
|
1002
1010
|
}
|
|
1003
1011
|
interface AgentGUINodeHostCapabilities {
|
|
1012
|
+
referenceProvenanceFilterEnabled?: boolean;
|
|
1004
1013
|
capabilityMenuState?: AgentComposerCapabilityMenuState;
|
|
1005
1014
|
accountMenuState?: AgentGUIAccountMenuState | null;
|
|
1006
1015
|
agentTargets?: readonly AgentGUIAgentTarget[];
|
|
@@ -1,9 +1,9 @@
|
|
|
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 { c as AgentGUIProviderSkillOption, k as AgentMessageMarkdownWorkspaceAppIcon } from '../agentGuiNodeTypes-
|
|
6
|
-
export { W as WorkspaceAgentActivityCard } from '../workspaceAgentActivityListTypes-
|
|
3
|
+
import { c as AgentConversationVM, e as WorkspaceLinkAction, d as WorkspaceAgentSessionDetailViewModel } from '../agentConversationVM-BzHZhwFP.js';
|
|
4
|
+
export { B as BuildWorkspaceAgentSessionDetailInput, W as WorkspaceAgentActivityTimelineItem, f as buildWorkspaceAgentSessionDetailViewModel } from '../agentConversationVM-BzHZhwFP.js';
|
|
5
|
+
import { c as AgentGUIProviderSkillOption, k as AgentMessageMarkdownWorkspaceAppIcon } from '../agentGuiNodeTypes-C-wBSM-Y.js';
|
|
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
9
|
import '../types-CnT8rNUI.js';
|
|
@@ -6,22 +6,21 @@ import {
|
|
|
6
6
|
projectAgentConversationVM,
|
|
7
7
|
reconcileProjectedAgentConversationVM,
|
|
8
8
|
useProjectedAgentConversation
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-JWHPVETQ.js";
|
|
10
10
|
import "../chunk-7BXWPI4F.js";
|
|
11
11
|
import "../chunk-FGLQZ6I4.js";
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
12
|
+
import "../chunk-GCW57WYQ.js";
|
|
13
|
+
import "../chunk-F5UR6EJG.js";
|
|
14
14
|
import "../chunk-LUGELG5V.js";
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-Y5M6Q6WX.js";
|
|
15
|
+
import "../chunk-MES7BQWI.js";
|
|
16
|
+
import "../chunk-UESYITH6.js";
|
|
18
17
|
import "../chunk-PJP5BUU6.js";
|
|
19
18
|
import "../chunk-H6IQ63DQ.js";
|
|
20
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-MIJXEELH.js";
|
|
21
20
|
import {
|
|
22
21
|
translate
|
|
23
|
-
} from "../chunk-
|
|
24
|
-
import "../chunk-
|
|
22
|
+
} from "../chunk-E5AD46HP.js";
|
|
23
|
+
import "../chunk-4E3QCW6L.js";
|
|
25
24
|
import "../chunk-5X7YDOC6.js";
|
|
26
25
|
import "../chunk-KJQERFKX.js";
|
|
27
26
|
import "../chunk-UGVI47X6.js";
|
|
@@ -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-gui.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import 'react';
|
|
2
2
|
import '@tutti-os/ui-i18n-runtime';
|
|
3
|
-
export { n as AgentGUI, v as AgentGUIProps } from './AgentGUI-
|
|
4
|
-
import './agentGuiNodeTypes-
|
|
3
|
+
export { n as AgentGUI, v as AgentGUIProps } from './AgentGUI-DgBjACOL.js';
|
|
4
|
+
import './agentGuiNodeTypes-C-wBSM-Y.js';
|
|
5
5
|
export { l as AgentGUIHomeSuggestionId } from './types-CnT8rNUI.js';
|
|
6
6
|
import './runtime-BBNdWgDU.js';
|
|
7
7
|
import '@tutti-os/agent-activity-core';
|
|
@@ -9,13 +9,14 @@ import '@tutti-os/workspace-file-reference/contracts';
|
|
|
9
9
|
import './agentFileMentionContracts-58IjMU-u.js';
|
|
10
10
|
import '@tutti-os/workspace-file-manager/services';
|
|
11
11
|
import '@tutti-os/workspace-file-reference/core';
|
|
12
|
-
import './agentConversationVM-
|
|
12
|
+
import './agentConversationVM-BzHZhwFP.js';
|
|
13
13
|
import '@tutti-os/workspace-issue-manager/core';
|
|
14
|
-
import './workspaceAgentActivityListTypes-
|
|
14
|
+
import './workspaceAgentActivityListTypes-DZfS_HgG.js';
|
|
15
15
|
import './context-mention-provider.js';
|
|
16
16
|
import '@tutti-os/ui-rich-text/types';
|
|
17
17
|
import '@tutti-os/workspace-external-core/contracts';
|
|
18
18
|
import '@tutti-os/workspace-user-project/i18n';
|
|
19
19
|
import '@tutti-os/workspace-user-project/ui';
|
|
20
20
|
import '@tutti-os/workspace-user-project/contracts';
|
|
21
|
+
import '@tutti-os/workspace-file-reference/react';
|
|
21
22
|
import './pastedTextKinds-D-XuInaS.js';
|
package/dist/agent-gui.js
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AgentGUI
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-BQJOYTW2.js";
|
|
4
|
+
import "./chunk-D7HMQLBO.js";
|
|
5
|
+
import "./chunk-KAV2WHTG.js";
|
|
6
|
+
import "./chunk-4YVKAPKW.js";
|
|
7
|
+
import "./chunk-QY22OBJS.js";
|
|
8
8
|
import "./chunk-L3GMMGRS.js";
|
|
9
9
|
import "./chunk-UHBCM6RO.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-JWHPVETQ.js";
|
|
11
11
|
import "./chunk-7BXWPI4F.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-FAE7CXZO.js";
|
|
13
13
|
import "./chunk-C35SNDVZ.js";
|
|
14
14
|
import "./chunk-FGLQZ6I4.js";
|
|
15
15
|
import "./chunk-4YG7YK7S.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-EUW6VPIK.js";
|
|
17
|
+
import "./chunk-4YCCATI4.js";
|
|
18
|
+
import "./chunk-GCW57WYQ.js";
|
|
19
|
+
import "./chunk-F5UR6EJG.js";
|
|
20
20
|
import "./chunk-LUGELG5V.js";
|
|
21
21
|
import "./chunk-JM24HADP.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-XFRY2WWB.js";
|
|
23
|
+
import "./chunk-2RQM7PJN.js";
|
|
24
|
+
import "./chunk-MES7BQWI.js";
|
|
25
|
+
import "./chunk-DWUVRWXD.js";
|
|
25
26
|
import "./chunk-YMXYBG7U.js";
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-Y5M6Q6WX.js";
|
|
27
|
+
import "./chunk-UESYITH6.js";
|
|
28
28
|
import "./chunk-PJP5BUU6.js";
|
|
29
29
|
import "./chunk-H6IQ63DQ.js";
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-MIJXEELH.js";
|
|
31
|
+
import "./chunk-E5AD46HP.js";
|
|
32
|
+
import "./chunk-4E3QCW6L.js";
|
|
33
33
|
import "./chunk-5X7YDOC6.js";
|
|
34
34
|
import "./chunk-KJQERFKX.js";
|
|
35
35
|
import "./chunk-UGVI47X6.js";
|
|
@@ -2,10 +2,10 @@ 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-BzHZhwFP.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
|
-
import {
|
|
8
|
+
import { a as WorkspaceAgentActivityStatus } from '../workspaceAgentActivityListTypes-DZfS_HgG.js';
|
|
9
9
|
export { P as PLAN_IMPLEMENTATION_ACTION_IMPLEMENT, a as PLAN_IMPLEMENTATION_PROMPT, d as dispatchAgentPlanPromptAction, u as useEngineSelector } from '../agentPlanPromptDispatch-C7cCMjve.js';
|
|
10
10
|
import { useTranslation } from '../i18n/index.js';
|
|
11
11
|
import '@tutti-os/workspace-issue-manager/core';
|
|
@@ -346,10 +346,8 @@ declare const AgentVerticalScrollArea: react.ForwardRefExoticComponent<AgentVert
|
|
|
346
346
|
* is shown — primary decisions plus rich follow-ups (feedback textareas,
|
|
347
347
|
* multi-step wizards, "stay in plan").
|
|
348
348
|
* - "compact" (message-center attention deck): a glanceable needs-attention card
|
|
349
|
-
* across many sessions.
|
|
350
|
-
*
|
|
351
|
-
* conversation" jump. New prompt kinds must consciously choose their compact
|
|
352
|
-
* form here instead of silently inheriting the full conversation surface.
|
|
349
|
+
* across many sessions. Ask-user prompts retain the full answer flow in a
|
|
350
|
+
* denser layout; other prompt kinds may intentionally limit secondary actions.
|
|
353
351
|
*/
|
|
354
352
|
type AgentInteractivePromptVariant = "full" | "compact";
|
|
355
353
|
interface AgentInteractivePromptSurfaceProps {
|
|
@@ -5,9 +5,11 @@ import {
|
|
|
5
5
|
approvalOptionDisplayLabel,
|
|
6
6
|
dispatchAgentPlanPromptAction,
|
|
7
7
|
getPromptToolDetails,
|
|
8
|
-
isPromptRequestIdTitle
|
|
8
|
+
isPromptRequestIdTitle
|
|
9
|
+
} from "../chunk-XFRY2WWB.js";
|
|
10
|
+
import {
|
|
9
11
|
useEngineSelector
|
|
10
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-2RQM7PJN.js";
|
|
11
13
|
import {
|
|
12
14
|
AgentMessageMarkdown,
|
|
13
15
|
CustomScrollArea,
|
|
@@ -17,31 +19,29 @@ import {
|
|
|
17
19
|
extractExitPlanModeOptions,
|
|
18
20
|
isExitPlanSwitchModeInput,
|
|
19
21
|
normalizeAskUserQuestions
|
|
20
|
-
} from "../chunk-
|
|
22
|
+
} from "../chunk-MES7BQWI.js";
|
|
21
23
|
import {
|
|
22
24
|
userAvatarPlaceholderUrl,
|
|
23
25
|
workspaceAgentActivityStatusLabel
|
|
24
|
-
} from "../chunk-
|
|
26
|
+
} from "../chunk-DWUVRWXD.js";
|
|
25
27
|
import {
|
|
26
28
|
resolveWorkspaceAgentSessionSortTimeUnixMs
|
|
27
29
|
} from "../chunk-YMXYBG7U.js";
|
|
28
30
|
import {
|
|
29
|
-
managedAgentRoundedIconUrl
|
|
30
|
-
} from "../chunk-MASXZENX.js";
|
|
31
|
-
import {
|
|
31
|
+
managedAgentRoundedIconUrl,
|
|
32
32
|
workspaceAgentProviderLabel
|
|
33
|
-
} from "../chunk-
|
|
33
|
+
} from "../chunk-UESYITH6.js";
|
|
34
34
|
import "../chunk-PJP5BUU6.js";
|
|
35
35
|
import "../chunk-H6IQ63DQ.js";
|
|
36
36
|
import {
|
|
37
37
|
normalizeAgentTitleText
|
|
38
|
-
} from "../chunk-
|
|
38
|
+
} from "../chunk-MIJXEELH.js";
|
|
39
39
|
import {
|
|
40
40
|
AgentGuiI18nProvider,
|
|
41
41
|
getActiveUiLanguage,
|
|
42
42
|
useTranslation
|
|
43
|
-
} from "../chunk-
|
|
44
|
-
import "../chunk-
|
|
43
|
+
} from "../chunk-E5AD46HP.js";
|
|
44
|
+
import "../chunk-4E3QCW6L.js";
|
|
45
45
|
import "../chunk-5X7YDOC6.js";
|
|
46
46
|
import "../chunk-KJQERFKX.js";
|
|
47
47
|
import "../chunk-UGVI47X6.js";
|
|
@@ -541,13 +541,9 @@ function buildWorkspaceAgentMessageCenterItem({
|
|
|
541
541
|
messages
|
|
542
542
|
);
|
|
543
543
|
const lastAgentMessage = messageAnalysis.latestAgentMessage;
|
|
544
|
-
const title =
|
|
545
|
-
session,
|
|
546
|
-
messageAnalysis.latestUserMessageSummary,
|
|
547
|
-
messageAnalysis.firstUserMessageSummary
|
|
548
|
-
);
|
|
544
|
+
const title = session.title.trim();
|
|
549
545
|
const digest = buildWorkspaceAgentMessageCenterDigest({
|
|
550
|
-
fallbackTitle:
|
|
546
|
+
fallbackTitle: title,
|
|
551
547
|
latestAgentMessage: messageAnalysis.latestDigestAgentMessage,
|
|
552
548
|
needsAttention,
|
|
553
549
|
pendingPrompt,
|
|
@@ -625,42 +621,12 @@ function resolveMessageCenterIdentity(agentSessionId, identityBySessionId) {
|
|
|
625
621
|
function isImportedMessageCenterSession(session) {
|
|
626
622
|
return "imported" in session && session.imported === true;
|
|
627
623
|
}
|
|
628
|
-
function resolveSessionTitle(session, latestUserMessageSummary, firstUserMessageSummary) {
|
|
629
|
-
const title = session.title.trim();
|
|
630
|
-
if (title) {
|
|
631
|
-
return title;
|
|
632
|
-
}
|
|
633
|
-
const latest = latestUserMessageSummary.trim();
|
|
634
|
-
if (latest) {
|
|
635
|
-
return latest;
|
|
636
|
-
}
|
|
637
|
-
return firstUserMessageSummary || session.provider || session.agentSessionId;
|
|
638
|
-
}
|
|
639
|
-
function resolveDigestFallbackTitle(session) {
|
|
640
|
-
return session.title.trim() || session.provider || session.agentSessionId;
|
|
641
|
-
}
|
|
642
624
|
function analyzeMessageCenterSessionMessages(agentSessionId, messages) {
|
|
643
|
-
let firstUserMessageSummary = "";
|
|
644
|
-
let latestUserMessageSummary = "";
|
|
645
|
-
let latestUserMessageAtUnixMs = Number.NEGATIVE_INFINITY;
|
|
646
625
|
let latestAgentMessage = null;
|
|
647
626
|
let latestDigestAgentMessage = null;
|
|
648
627
|
let latestPendingPrompt = null;
|
|
649
628
|
let latestOutcome = null;
|
|
650
629
|
for (const message of messages) {
|
|
651
|
-
if (isUserMessageRole(message.role)) {
|
|
652
|
-
const summary = messageSummary(message);
|
|
653
|
-
if (!firstUserMessageSummary && summary) {
|
|
654
|
-
firstUserMessageSummary = summary;
|
|
655
|
-
}
|
|
656
|
-
if (summary) {
|
|
657
|
-
const occurredAtUnixMs = messageTimeUnixMs(message);
|
|
658
|
-
if (occurredAtUnixMs >= latestUserMessageAtUnixMs) {
|
|
659
|
-
latestUserMessageSummary = summary;
|
|
660
|
-
latestUserMessageAtUnixMs = occurredAtUnixMs;
|
|
661
|
-
}
|
|
662
|
-
}
|
|
663
|
-
}
|
|
664
630
|
if (isAgentMessageRole2(message.role) && !isReasoningMessageKind2(message.kind)) {
|
|
665
631
|
const summary = messageSummary(message);
|
|
666
632
|
if (summary) {
|
|
@@ -692,8 +658,6 @@ function analyzeMessageCenterSessionMessages(agentSessionId, messages) {
|
|
|
692
658
|
}
|
|
693
659
|
}
|
|
694
660
|
return {
|
|
695
|
-
firstUserMessageSummary,
|
|
696
|
-
latestUserMessageSummary,
|
|
697
661
|
latestDigestAgentMessage,
|
|
698
662
|
latestAgentMessage,
|
|
699
663
|
latestTurnOutcome: latestOutcome?.outcome ?? null,
|
|
@@ -838,9 +802,6 @@ function isAgentMessageRole2(role) {
|
|
|
838
802
|
function isReasoningMessageKind2(kind) {
|
|
839
803
|
return kind.trim().toLowerCase() === "reasoning";
|
|
840
804
|
}
|
|
841
|
-
function isUserMessageRole(role) {
|
|
842
|
-
return role.trim().toLowerCase() === "user";
|
|
843
|
-
}
|
|
844
805
|
function isTerminalMessageStatus(status) {
|
|
845
806
|
switch (status?.trim().toLowerCase()) {
|
|
846
807
|
case "answered":
|