@tutti-os/agent-gui 0.0.99 → 0.0.101
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-FECh2x1p.d.ts} +19 -37
- 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-BH3lz6gn.d.ts} +21 -5
- package/dist/app/renderer/agentactivity.css +142 -72
- 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-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-4ROALW3K.js → chunk-KAV2WHTG.js} +82 -61
- package/dist/chunk-KAV2WHTG.js.map +1 -0
- package/dist/chunk-MIJXEELH.js +96 -0
- package/dist/chunk-MIJXEELH.js.map +1 -0
- package/dist/{chunk-T6PEJFRP.js → chunk-MJOQP2ED.js} +392 -452
- package/dist/chunk-MJOQP2ED.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-SPZJCTBV.js → chunk-TDVYZEUI.js} +348 -322
- package/dist/chunk-TDVYZEUI.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-PLCHNOXL.js → chunk-VQOPBBBI.js} +1288 -1141
- package/dist/chunk-VQOPBBBI.js.map +1 -0
- package/dist/{chunk-7M77BK6K.js → chunk-ZPKPIHMZ.js} +196 -156
- package/dist/chunk-ZPKPIHMZ.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 +14 -14
- 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-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-PLCHNOXL.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,52 +1,21 @@
|
|
|
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,
|
|
6
|
+
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-BH3lz6gn.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
|
-
interface AgentHostManagedAgentsStateItem {
|
|
19
|
-
toolId: string;
|
|
20
|
-
toolClass: string;
|
|
21
|
-
agentId?: string;
|
|
22
|
-
hostDetected?: boolean;
|
|
23
|
-
hostConfigDetected?: boolean;
|
|
24
|
-
hostVersion?: string;
|
|
25
|
-
targetVersion: string;
|
|
26
|
-
recommendedVersion?: string;
|
|
27
|
-
decisionReason: string;
|
|
28
|
-
fallbackApplied: boolean;
|
|
29
|
-
notes?: string;
|
|
30
|
-
}
|
|
31
|
-
interface AgentHostToolchainConfigSyncedAgent {
|
|
32
|
-
agentId: string;
|
|
33
|
-
/** RFC3339 timestamp for when Tutti last synced this agent's host config. */
|
|
34
|
-
syncedAt?: string;
|
|
35
|
-
}
|
|
36
|
-
interface AgentHostManagedAgentsState {
|
|
37
|
-
metadataSynced: boolean;
|
|
38
|
-
toolCatalogRevision: string;
|
|
39
|
-
agentProfileRevision: string;
|
|
40
|
-
totalCount: number;
|
|
41
|
-
items: AgentHostManagedAgentsStateItem[];
|
|
42
|
-
/** Agent IDs ready for normal AgentGUI use (installed and authenticated/ready). */
|
|
43
|
-
readyAgentIds: string[];
|
|
44
|
-
/** Agent IDs whose host config has been synced to the VM through Manage Agents. */
|
|
45
|
-
configSyncedAgentIds: string[];
|
|
46
|
-
/** Agent config sync metadata, including when Tutti last copied host config. */
|
|
47
|
-
configSyncedAgents?: AgentHostToolchainConfigSyncedAgent[];
|
|
48
|
-
}
|
|
49
|
-
|
|
50
19
|
declare const APP_UPDATE_POLICIES: readonly ["off", "prompt", "auto"];
|
|
51
20
|
type AppUpdatePolicy = (typeof APP_UPDATE_POLICIES)[number];
|
|
52
21
|
|
|
@@ -66,6 +35,7 @@ interface AgentActivityRuntimeListSessionMessagesInput {
|
|
|
66
35
|
workspaceId: string;
|
|
67
36
|
}
|
|
68
37
|
interface AgentActivityRuntimeListGeneratedFilesInput {
|
|
38
|
+
agentTargetIds?: readonly string[];
|
|
69
39
|
limit?: number;
|
|
70
40
|
query?: string;
|
|
71
41
|
sessionCwd?: string;
|
|
@@ -547,7 +517,12 @@ interface WorkspaceReferencePickResult {
|
|
|
547
517
|
mentionItems: readonly AgentContextMentionItem[];
|
|
548
518
|
}
|
|
549
519
|
|
|
520
|
+
interface AgentComposerReferenceProvenanceFilter {
|
|
521
|
+
snapshot: ReferenceProvenanceFilterSnapshot;
|
|
522
|
+
controller: Pick<ReferenceProvenanceFilterController, "reset" | "toggle" | "toggleAll">;
|
|
523
|
+
}
|
|
550
524
|
interface AgentComposerSubmitOptions {
|
|
525
|
+
requiredSettingsPatch?: AgentActivitySubmitSettingsPatch;
|
|
551
526
|
}
|
|
552
527
|
interface AgentComposerProps {
|
|
553
528
|
workspaceId: string;
|
|
@@ -810,6 +785,7 @@ interface AgentComposerProps {
|
|
|
810
785
|
} | null>;
|
|
811
786
|
onRequestGitBranches?: AgentComposerGitBranchLoader | null;
|
|
812
787
|
contextMentionProviders?: readonly AgentContextMentionProvider[];
|
|
788
|
+
referenceProvenanceFilter?: AgentComposerReferenceProvenanceFilter | null;
|
|
813
789
|
}
|
|
814
790
|
type AgentComposerCapabilitySettingsTarget = AgentSlashCommandCapability["capability"];
|
|
815
791
|
interface AgentComposerCapabilityMenuState {
|
|
@@ -940,6 +916,11 @@ interface AgentGUIOpenSessionRequest {
|
|
|
940
916
|
sequence: number;
|
|
941
917
|
}
|
|
942
918
|
|
|
919
|
+
interface AgentGUIComposerAppendRequest {
|
|
920
|
+
files: readonly AgentComposerDraftFile[];
|
|
921
|
+
sequence: number;
|
|
922
|
+
}
|
|
923
|
+
|
|
943
924
|
interface AgentGUIPrefillPromptRequest {
|
|
944
925
|
agentTargetId?: string | null;
|
|
945
926
|
autoSubmit?: boolean;
|
|
@@ -992,6 +973,7 @@ interface AgentGUINodeFrameLayout {
|
|
|
992
973
|
conversationRailAutoCollapseWidthPx?: number | null;
|
|
993
974
|
}
|
|
994
975
|
interface AgentGUINodeRuntimeRequests {
|
|
976
|
+
composerAppend?: AgentGUIComposerAppendRequest | null;
|
|
995
977
|
composerFocusSequence?: number | null;
|
|
996
978
|
newConversationSequence?: number | null;
|
|
997
979
|
openSession?: AgentGUIOpenSessionRequest | null;
|
|
@@ -1001,6 +983,7 @@ interface AgentGUINodeRuntimeRequests {
|
|
|
1001
983
|
onProbeRefreshRequest?: WorkspaceDesktopAgentProbeRefreshRequest;
|
|
1002
984
|
}
|
|
1003
985
|
interface AgentGUINodeHostCapabilities {
|
|
986
|
+
referenceProvenanceFilterEnabled?: boolean;
|
|
1004
987
|
capabilityMenuState?: AgentComposerCapabilityMenuState;
|
|
1005
988
|
accountMenuState?: AgentGUIAccountMenuState | null;
|
|
1006
989
|
agentTargets?: readonly AgentGUIAgentTarget[];
|
|
@@ -1011,7 +994,6 @@ interface AgentGUINodeHostCapabilities {
|
|
|
1011
994
|
providerReadinessGates?: Partial<Record<AgentGUIProvider, AgentGUIProviderReadinessGate | null>> | null;
|
|
1012
995
|
defaultAgentTargetId?: string | null;
|
|
1013
996
|
providerAuthAccountLabels?: Partial<Record<string, string>>;
|
|
1014
|
-
managedAgentsState?: AgentHostManagedAgentsState | null;
|
|
1015
997
|
contextMentionProviders?: readonly AgentContextMentionProvider[];
|
|
1016
998
|
workspaceAppIcons?: readonly AgentMessageMarkdownWorkspaceAppIcon[];
|
|
1017
999
|
disabledHomeSuggestions?: readonly AgentGUIHomeSuggestionId[];
|
|
@@ -1070,4 +1052,4 @@ interface AgentGUIProps extends Omit<AgentGUINodeProps, "hostCapabilities" | "re
|
|
|
1070
1052
|
}
|
|
1071
1053
|
declare const AgentGUI: react.NamedExoticComponent<AgentGUIProps>;
|
|
1072
1054
|
|
|
1073
|
-
export { type AgentActivityRuntime as A,
|
|
1055
|
+
export { type AgentActivityRuntime as A, type AgentGUISidebarFooterRenderer as B, resetAgentActivityRuntimeForTests as C, setAgentActivityRuntimeForTests as D, useAgentActivityRuntime as E, useAgentActivitySnapshot as F, useOptionalAgentActivityRuntime as G, type AgentActivityRuntimeDeleteSessionsBatchInput as a, type AgentActivityRuntimeDeleteSessionsBatchResult as b, type AgentActivityRuntimeListSessionMessagesInput as c, type AgentActivityRuntimePromptContentBlock as d, AgentActivityRuntimeProvider as e, type AgentActivityRuntimeProviderProps as f, type AgentActivityRuntimeSessionSectionDeletionCandidates as g, type AgentActivityRuntimeSessionSectionScopeInput as h, type AgentActivityRuntimeSetSessionPinnedInput as i, type AgentActivityRuntimeUpdateSessionSettingsInput as j, type AgentActivityRuntimeUpdateSessionSettingsResult as k, type AgentActivityRuntimeUploadPromptContentInput as l, type AgentActivityRuntimeUploadPromptContentResult as m, AgentGUI as n, type AgentGUIAccountMenuState as o, type AgentGUIAgentsEmptyRenderer as p, type AgentGUIComposerAppendRequest as q, type AgentGUIComposerContentType as r, type AgentGUIComposerFocusMethod as s, type AgentGUIEngagementContext as t, type AgentGUIEngagementEvent as u, type AgentGUIEngagementEventSink as v, type AgentGUIProps as w, type AgentGUIProviderUnavailableStateContext as x, type AgentGUIProviderUnavailableStateRenderer as y, type AgentGUISidebarFooterContext as z };
|
|
@@ -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 {
|
|
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 { d as AgentGUIProviderSkillOption, l as AgentMessageMarkdownWorkspaceAppIcon } from '../agentGuiNodeTypes-BH3lz6gn.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-ZPKPIHMZ.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-MJOQP2ED.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,
|
|
4
|
-
import './agentGuiNodeTypes-
|
|
3
|
+
export { n as AgentGUI, w as AgentGUIProps } from './AgentGUI-FECh2x1p.js';
|
|
4
|
+
import './agentGuiNodeTypes-BH3lz6gn.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-VQOPBBBI.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-ZPKPIHMZ.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-TDVYZEUI.js";
|
|
23
|
+
import "./chunk-2RQM7PJN.js";
|
|
24
|
+
import "./chunk-MJOQP2ED.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-TDVYZEUI.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-MJOQP2ED.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":
|