@tutti-os/agent-gui 0.0.33 → 0.0.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/{AgentMessageMarkdown-Cp70W-Z2.d.ts → AgentMessageMarkdown-0sV8Biv3.d.ts} +53 -5
- package/dist/agent-conversation/index.d.ts +4 -4
- package/dist/agent-conversation/index.js +5 -5
- package/dist/agent-message-center/index.d.ts +2 -2
- package/dist/agent-message-center/index.js +29 -8
- package/dist/agent-message-center/index.js.map +1 -1
- package/dist/{agentConversationVM-BElW2LNR.d.ts → agentConversationVM-xuzmD5IL.d.ts} +2 -0
- package/dist/app/renderer/agentactivity.css +54 -128
- package/dist/{chunk-SGQ4C7JE.js → chunk-2ADVHCST.js} +2 -1
- package/dist/chunk-2ADVHCST.js.map +1 -0
- package/dist/{chunk-WPWZKKKV.js → chunk-3LEUGNCT.js} +2 -2
- package/dist/{chunk-AFTAFV2C.js → chunk-CMXRLF64.js} +85 -13
- package/dist/chunk-CMXRLF64.js.map +1 -0
- package/dist/{chunk-RDCBACWR.js → chunk-JYH2ITNL.js} +5 -5
- package/dist/{chunk-RQ3HEF42.js → chunk-KFMD33UD.js} +36 -12
- package/dist/chunk-KFMD33UD.js.map +1 -0
- package/dist/{chunk-ZWYHKGQ7.js → chunk-NCS7X3XY.js} +11 -9
- package/dist/{chunk-ZWYHKGQ7.js.map → chunk-NCS7X3XY.js.map} +1 -1
- package/dist/{chunk-GSZPMKFW.js → chunk-O56P2KSZ.js} +237 -26
- package/dist/chunk-O56P2KSZ.js.map +1 -0
- package/dist/{chunk-ERRANBGS.js → chunk-U3D7YI47.js} +7 -11
- package/dist/chunk-U3D7YI47.js.map +1 -0
- package/dist/{chunk-OOQIJXCA.js → chunk-UN4XGHLQ.js} +3 -2
- package/dist/{chunk-A4KUAXE5.js → chunk-VPC55T7P.js} +2 -2
- package/dist/context-mention-palette/index.js +6 -6
- package/dist/i18n/index.d.ts +34 -10
- package/dist/i18n/index.js +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.js +1012 -477
- package/dist/index.js.map +1 -1
- package/dist/plan-decision-ops.d.ts +1 -1
- package/dist/workbench/contribution.js +1 -1
- package/dist/workbench/index.js +1 -1
- package/dist/workspace-agent-generated-files.js +2 -2
- package/dist/{workspaceLinkActions-CqWZaCY4.d.ts → workspaceLinkActions-C6POH38D.d.ts} +7 -1
- package/package.json +12 -12
- package/dist/chunk-AFTAFV2C.js.map +0 -1
- package/dist/chunk-ERRANBGS.js.map +0 -1
- package/dist/chunk-GSZPMKFW.js.map +0 -1
- package/dist/chunk-RQ3HEF42.js.map +0 -1
- package/dist/chunk-SGQ4C7JE.js.map +0 -1
- /package/dist/{chunk-WPWZKKKV.js.map → chunk-3LEUGNCT.js.map} +0 -0
- /package/dist/{chunk-RDCBACWR.js.map → chunk-JYH2ITNL.js.map} +0 -0
- /package/dist/{chunk-OOQIJXCA.js.map → chunk-UN4XGHLQ.js.map} +0 -0
- /package/dist/{chunk-A4KUAXE5.js.map → chunk-VPC55T7P.js.map} +0 -0
package/README.md
CHANGED
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
AgentGUI renders workspace agent sessions, timelines, approvals, and composer
|
|
4
4
|
UI. It is a UI package, not a host transport or business-core package.
|
|
5
5
|
|
|
6
|
+
Before changing AgentGUI, AgentGuiNode, or the agent conversation module, read
|
|
7
|
+
[AgentGuiNode Architecture and Troubleshooting](../../../docs/architecture/agent-gui-node.md).
|
|
8
|
+
It records the source-of-truth rules, common chains, debugging playbooks, and
|
|
9
|
+
the self-evolution loop for durable lessons.
|
|
10
|
+
|
|
6
11
|
## Data Source
|
|
7
12
|
|
|
8
13
|
`AgentActivityRuntime` is the AgentGUI source for agent activity data.
|
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
import { AgentActivityUsage } from '@tutti-os/agent-activity-core';
|
|
2
2
|
import { A as AgentHostBatchUserInfoInput, a as AgentHostBatchUserInfoResult, b as AgentHostDeleteWorkspaceAgentSessionInput, k as AgentHostWorkspaceAgentSessionSummaryInput, j as AgentHostWorkspaceAgentSessionSummary, e as AgentHostWorkspaceAgentListInput, l as AgentHostWorkspaceAgentSnapshot, i as AgentHostWorkspaceAgentSessionMessagesInput, h as AgentHostWorkspaceAgentSessionMessages, p as WorkspaceAgentActivitySyncState } from './workspaceAgentActivityListViewModel-DwpbJGDx.js';
|
|
3
|
-
import { A as AgentApprovalItemVM, a as AgentAskUserQuestionVM, b as AgentConversationPromptVM, c as AgentConversationVM, W as WorkspaceAgentSessionDetailViewModel } from './agentConversationVM-
|
|
3
|
+
import { A as AgentApprovalItemVM, a as AgentAskUserQuestionVM, b as AgentConversationPromptVM, c as AgentConversationVM, W as WorkspaceAgentSessionDetailViewModel } from './agentConversationVM-xuzmD5IL.js';
|
|
4
4
|
import { WorkspaceUserProjectService } from '@tutti-os/workspace-user-project/contracts';
|
|
5
5
|
|
|
6
|
+
declare const APP_ERROR_CODES: readonly ["common.invalid_input", "common.approved_path_required", "common.unavailable", "common.unexpected", "session.not_found", "control_surface.unauthorized", "workspace.select_directory_failed", "workspace.select_files_failed", "workspace.ensure_directory_failed", "workspace.import_files_failed", "workspace.read_file_failed", "workspace.write_file_failed", "workspace.export_file_failed", "workspace.copy_path_failed", "workspace.host_unsupported", "workspace.runtime_artifact_unavailable", "runtime.guest_agent_lane_unavailable", "workspace.room_full", "workspace.room_delete_forbidden", "workspace.room_delete_not_found", "filesystem.create_directory_failed", "filesystem.read_file_bytes_failed", "filesystem.read_file_text_failed", "filesystem.write_file_text_failed", "filesystem.copy_entry_failed", "filesystem.move_entry_failed", "filesystem.rename_entry_failed", "filesystem.delete_entry_failed", "filesystem.read_directory_failed", "filesystem.stat_failed", "terminal.spawn_failed", "terminal.write_failed", "terminal.resize_failed", "terminal.close_failed", "terminal.attach_failed", "terminal.detach_failed", "terminal.snapshot_failed", "agent.list_models_failed", "agent.launch_failed", "agent.read_last_message_failed", "agent.provider_session_not_found", "agent.resume_session_not_local", "agent.resume_session_resolve_failed", "agent.settings_require_new_session", "task.suggest_title_failed", "persistence.unavailable", "persistence.quota_exceeded", "persistence.payload_too_large", "persistence.io_failed", "persistence.invalid_state", "persistence.invalid_node_id", "update.get_state_failed", "update.configure_failed", "update.check_failed", "update.download_failed", "update.install_failed", "PACKAGE_DOWNLOAD_INTERRUPTED", "PACKAGE_DOWNLOAD_HTTP_STATUS", "PACKAGE_DOWNLOAD_INVALID", "PACKAGE_DOWNLOAD_DISK_ERROR"];
|
|
7
|
+
type AppErrorCode = (typeof APP_ERROR_CODES)[number];
|
|
8
|
+
type AppErrorParamValue = boolean | number | string | null;
|
|
9
|
+
type AppErrorParams = Record<string, AppErrorParamValue>;
|
|
10
|
+
interface AppErrorDescriptor {
|
|
11
|
+
code: AppErrorCode;
|
|
12
|
+
params?: AppErrorParams;
|
|
13
|
+
debugMessage?: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
6
16
|
type AgentHostAgentSessionProvider = "claude-code" | "codex" | "nexight" | "gemini" | "hermes" | "openclaw";
|
|
7
17
|
type AgentHostAgentSessionPermissionModeSemantic = "ask-before-write" | "accept-edits" | "locked-down" | "auto" | "full-access" | "unconfigurable";
|
|
8
18
|
type AgentHostAgentSessionReasoningEffort = "minimal" | "low" | "medium" | "high" | "xhigh" | string;
|
|
@@ -194,6 +204,37 @@ interface AgentHostListWorkspaceAgentProbesInput {
|
|
|
194
204
|
}
|
|
195
205
|
type AgentHostWorkspaceAgentProbesResult = AgentProbeSnapshot;
|
|
196
206
|
|
|
207
|
+
type PersistWriteLevel = "full" | "no_scrollback" | "settings_only";
|
|
208
|
+
type PersistWriteFailureReason = "unavailable" | "quota" | "payload_too_large" | "io" | "unknown";
|
|
209
|
+
type PersistWriteResult = {
|
|
210
|
+
ok: true;
|
|
211
|
+
level: PersistWriteLevel;
|
|
212
|
+
bytes: number;
|
|
213
|
+
revision?: number;
|
|
214
|
+
} | {
|
|
215
|
+
ok: false;
|
|
216
|
+
reason: PersistWriteFailureReason;
|
|
217
|
+
error: AppErrorDescriptor;
|
|
218
|
+
};
|
|
219
|
+
type WorkspaceAgentReadStateKind = "completed" | "failed";
|
|
220
|
+
interface WorkspaceAgentReadStateBucket {
|
|
221
|
+
readIds: string[];
|
|
222
|
+
unreadIds: string[];
|
|
223
|
+
}
|
|
224
|
+
interface WorkspaceAgentReadStateSnapshot {
|
|
225
|
+
completed: WorkspaceAgentReadStateBucket;
|
|
226
|
+
failed: WorkspaceAgentReadStateBucket;
|
|
227
|
+
}
|
|
228
|
+
interface ReadWorkspaceAgentReadStateInput {
|
|
229
|
+
roomId: string;
|
|
230
|
+
userId: string;
|
|
231
|
+
}
|
|
232
|
+
interface WriteWorkspaceAgentReadStateInput extends ReadWorkspaceAgentReadStateInput {
|
|
233
|
+
kind: WorkspaceAgentReadStateKind;
|
|
234
|
+
readIds: string[];
|
|
235
|
+
unreadIds: string[];
|
|
236
|
+
}
|
|
237
|
+
|
|
197
238
|
interface ReadWorkspaceFileResult {
|
|
198
239
|
bytes: Uint8Array;
|
|
199
240
|
}
|
|
@@ -239,6 +280,10 @@ type AgentHostEnvironmentApi = AgentHostRecord & {
|
|
|
239
280
|
getBaseUrl?: () => AgentHostAsyncResult<string>;
|
|
240
281
|
warmupOpenclawGateway?: (input?: unknown) => AgentHostAsyncResult<unknown>;
|
|
241
282
|
};
|
|
283
|
+
type AgentHostPersistenceApi = AgentHostRecord & {
|
|
284
|
+
readWorkspaceAgentReadState: (input: ReadWorkspaceAgentReadStateInput) => AgentHostAsyncResult<WorkspaceAgentReadStateSnapshot>;
|
|
285
|
+
writeWorkspaceAgentReadState: (input: WriteWorkspaceAgentReadStateInput) => AgentHostAsyncResult<PersistWriteResult>;
|
|
286
|
+
};
|
|
242
287
|
interface AgentHostSelectedFile {
|
|
243
288
|
name?: string;
|
|
244
289
|
path: string;
|
|
@@ -278,6 +323,7 @@ interface AgentHostInputApi {
|
|
|
278
323
|
filesystem: AgentHostFilesystemApi;
|
|
279
324
|
meta?: AgentHostMetaApi;
|
|
280
325
|
onHostEvent?: (listener: (event: any) => void) => AgentHostUnsubscribe;
|
|
326
|
+
persistence?: AgentHostPersistenceApi;
|
|
281
327
|
runtime?: AgentHostEnvironmentApi;
|
|
282
328
|
userProjects?: AgentHostUserProjectsApi;
|
|
283
329
|
workspace: AgentHostWorkspaceApi;
|
|
@@ -424,6 +470,7 @@ interface AgentHostRuntimeApi {
|
|
|
424
470
|
filesystem: AgentHostFilesystemApi;
|
|
425
471
|
meta?: AgentHostMetaApi;
|
|
426
472
|
onHostEvent?: (listener: (event: any) => void) => AgentHostUnsubscribe;
|
|
473
|
+
persistence?: AgentHostPersistenceApi;
|
|
427
474
|
runtime?: AgentHostEnvironmentApi;
|
|
428
475
|
userProjects?: AgentHostUserProjectsApi;
|
|
429
476
|
workspace: AgentHostWorkspaceApi;
|
|
@@ -491,6 +538,7 @@ interface AgentGUIConversationSummary {
|
|
|
491
538
|
sortTimeUnixMs?: number;
|
|
492
539
|
updatedAtUnixMs: number;
|
|
493
540
|
hasUnreadCompletion?: boolean;
|
|
541
|
+
unreadCompletionKey?: string | null;
|
|
494
542
|
syncState?: WorkspaceAgentActivitySyncState;
|
|
495
543
|
}
|
|
496
544
|
type AgentGUIConversationStatus = "working" | "waiting" | "ready" | "completed" | "failed" | "canceled";
|
|
@@ -509,8 +557,6 @@ type AgentGUIInteractivePrompt = AgentGUIApprovalRequest | {
|
|
|
509
557
|
kind: "plan-implementation";
|
|
510
558
|
}>;
|
|
511
559
|
|
|
512
|
-
type UsageAlertTier = "warn" | "critical";
|
|
513
|
-
|
|
514
560
|
interface AgentGUISessionChrome {
|
|
515
561
|
auth: {
|
|
516
562
|
message: string;
|
|
@@ -638,14 +684,16 @@ interface AgentGUINodeViewModel {
|
|
|
638
684
|
draftContent: AgentComposerDraft;
|
|
639
685
|
isLoadingConversations: boolean;
|
|
640
686
|
isLoadingMessages: boolean;
|
|
687
|
+
isLoadingOlderMessages: boolean;
|
|
688
|
+
hasOlderMessages: boolean;
|
|
641
689
|
isCreatingConversation: boolean;
|
|
642
690
|
isSubmitting: boolean;
|
|
643
691
|
isInterrupting: boolean;
|
|
692
|
+
isCancelPending: boolean;
|
|
644
693
|
isRespondingApproval: boolean;
|
|
645
694
|
promptImagesSupported: boolean;
|
|
646
695
|
compactSupported: boolean | null;
|
|
647
696
|
usage: AgentActivityUsage | null;
|
|
648
|
-
usageAlert: UsageAlertTier | null;
|
|
649
697
|
/** Codex plan turn finished: offer the TUI-equivalent implement prompt. */
|
|
650
698
|
listError: string | null;
|
|
651
699
|
isDeletingConversation: boolean;
|
|
@@ -676,4 +724,4 @@ interface AgentMessageMarkdownWorkspaceAppIcon {
|
|
|
676
724
|
workspaceId?: string | null;
|
|
677
725
|
}
|
|
678
726
|
|
|
679
|
-
export type { AgentGUINodeData as A, NodeFrame as N,
|
|
727
|
+
export type { AgentGUINodeData as A, NodeFrame as N, PersistWriteResult as P, ReadWorkspaceAgentReadStateInput as R, WorkspaceAgentReadStateSnapshot as W, AgentGUINodeViewModel as a, AgentGUIProviderSkillOption as b, AgentHostActivateAgentSessionResult as c, AgentHostAgentSessionComposerSettings as d, AgentHostAgentSessionState as e, AgentHostApi as f, AgentHostInputApi as g, AgentHostRuntimeApi as h, AgentHostSelectFilesInput as i, AgentHostUnactivateAgentSessionResult as j, AgentHostUpdateAgentSessionSettingsResult as k, AgentMessageMarkdownWorkspaceAppIcon as l, AgentProbeProvider as m, AgentProbeSnapshot as n, AgentProvider as o, AgentProviderProbeListInput as p, AgentProviderProbeListResult as q, AgentUsageQuota as r, AgentUsageSnapshot as s, Point as t, WriteWorkspaceAgentReadStateInput as u };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode, JSX } from 'react';
|
|
3
|
-
import { W as WorkspaceLinkAction } from '../workspaceLinkActions-
|
|
4
|
-
import { b as AgentGUIProviderSkillOption, l as AgentMessageMarkdownWorkspaceAppIcon } from '../AgentMessageMarkdown-
|
|
5
|
-
import { c as AgentConversationVM, W as WorkspaceAgentSessionDetailViewModel } from '../agentConversationVM-
|
|
6
|
-
export { B as BuildWorkspaceAgentSessionDetailInput, d as buildWorkspaceAgentSessionDetailViewModel } from '../agentConversationVM-
|
|
3
|
+
import { W as WorkspaceLinkAction } from '../workspaceLinkActions-C6POH38D.js';
|
|
4
|
+
import { b as AgentGUIProviderSkillOption, l as AgentMessageMarkdownWorkspaceAppIcon } from '../AgentMessageMarkdown-0sV8Biv3.js';
|
|
5
|
+
import { c as AgentConversationVM, W as WorkspaceAgentSessionDetailViewModel } from '../agentConversationVM-xuzmD5IL.js';
|
|
6
|
+
export { B as BuildWorkspaceAgentSessionDetailInput, d as buildWorkspaceAgentSessionDetailViewModel } from '../agentConversationVM-xuzmD5IL.js';
|
|
7
7
|
export { W as WorkspaceAgentActivityCard, n as WorkspaceAgentActivitySession, q as WorkspaceAgentActivityTimelineItem } from '../workspaceAgentActivityListViewModel-DwpbJGDx.js';
|
|
8
8
|
import '@tutti-os/workspace-issue-manager/core';
|
|
9
9
|
import '@tutti-os/agent-activity-core';
|
|
@@ -6,15 +6,15 @@ import {
|
|
|
6
6
|
projectAgentConversationVM,
|
|
7
7
|
reconcileProjectedAgentConversationVM,
|
|
8
8
|
useProjectedAgentConversation
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
9
|
+
} from "../chunk-O56P2KSZ.js";
|
|
10
|
+
import "../chunk-CMXRLF64.js";
|
|
11
|
+
import "../chunk-VPC55T7P.js";
|
|
12
12
|
import "../chunk-Y35GDLP2.js";
|
|
13
|
-
import "../chunk-
|
|
13
|
+
import "../chunk-2ADVHCST.js";
|
|
14
14
|
import "../chunk-TYGL25EL.js";
|
|
15
15
|
import {
|
|
16
16
|
translate
|
|
17
|
-
} from "../chunk-
|
|
17
|
+
} from "../chunk-KFMD33UD.js";
|
|
18
18
|
import "../chunk-LUGELG5V.js";
|
|
19
19
|
import "../chunk-PJP5BUU6.js";
|
|
20
20
|
|
|
@@ -2,9 +2,9 @@ import * as react from 'react';
|
|
|
2
2
|
import { JSX } from 'react';
|
|
3
3
|
import { I18nRuntime } from '@tutti-os/ui-i18n-runtime';
|
|
4
4
|
import { useTranslation, AgentGuiI18nLocale, TranslateFn } from '../i18n/index.js';
|
|
5
|
-
import { W as WorkspaceLinkAction } from '../workspaceLinkActions-
|
|
5
|
+
import { W as WorkspaceLinkAction } from '../workspaceLinkActions-C6POH38D.js';
|
|
6
6
|
import { AgentActivityNeedsAttentionItem, AgentActivitySnapshot } from '@tutti-os/agent-activity-core';
|
|
7
|
-
import { b as AgentConversationPromptVM } from '../agentConversationVM-
|
|
7
|
+
import { b as AgentConversationPromptVM } from '../agentConversationVM-xuzmD5IL.js';
|
|
8
8
|
import { o as WorkspaceAgentActivityStatus } from '../workspaceAgentActivityListViewModel-DwpbJGDx.js';
|
|
9
9
|
export { PLAN_IMPLEMENTATION_ACTION_IMPLEMENT, PLAN_IMPLEMENTATION_PROMPT } from '../plan-decision-ops.js';
|
|
10
10
|
import '@tutti-os/workspace-issue-manager/core';
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
approvalOptionDisplayLabel,
|
|
4
4
|
getPromptToolDetails,
|
|
5
5
|
isPromptRequestIdTitle
|
|
6
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-JYH2ITNL.js";
|
|
7
7
|
import {
|
|
8
8
|
PLAN_IMPLEMENTATION_ACTION_IMPLEMENT,
|
|
9
9
|
PLAN_IMPLEMENTATION_PROMPT,
|
|
@@ -16,17 +16,17 @@ import {
|
|
|
16
16
|
cn,
|
|
17
17
|
extractAgentMcpToolTarget,
|
|
18
18
|
normalizeAskUserQuestions
|
|
19
|
-
} from "../chunk-
|
|
19
|
+
} from "../chunk-CMXRLF64.js";
|
|
20
20
|
import {
|
|
21
21
|
managedAgentRoundedIconUrl,
|
|
22
22
|
userAvatarPlaceholderUrl,
|
|
23
23
|
workspaceAgentActivityStatusLabel
|
|
24
|
-
} from "../chunk-
|
|
24
|
+
} from "../chunk-3LEUGNCT.js";
|
|
25
25
|
import "../chunk-MTFSQWZ6.js";
|
|
26
26
|
import {
|
|
27
27
|
resolveWorkspaceAgentSessionSortTimeUnixMs
|
|
28
28
|
} from "../chunk-IBIMGLCD.js";
|
|
29
|
-
import "../chunk-
|
|
29
|
+
import "../chunk-2ADVHCST.js";
|
|
30
30
|
import {
|
|
31
31
|
workspaceAgentProviderLabel
|
|
32
32
|
} from "../chunk-TYGL25EL.js";
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
import {
|
|
37
37
|
AgentGuiI18nProvider,
|
|
38
38
|
useTranslation
|
|
39
|
-
} from "../chunk-
|
|
39
|
+
} from "../chunk-KFMD33UD.js";
|
|
40
40
|
import "../chunk-PJP5BUU6.js";
|
|
41
41
|
|
|
42
42
|
// agent-message-center/WorkspaceAgentMessageCenterPanel.tsx
|
|
@@ -963,6 +963,7 @@ var WorkspaceAgentMessageCenterCard = memo(
|
|
|
963
963
|
const displayTitle = normalizeAgentTitleText(item.title);
|
|
964
964
|
const summary = messageCenterVisibleSummary(item);
|
|
965
965
|
const displayStatus = statusClass(item);
|
|
966
|
+
const statusTone = messageCenterStatusTone(item);
|
|
966
967
|
const statusLabel = workspaceAgentActivityStatusLabel(displayStatus, t);
|
|
967
968
|
return /* @__PURE__ */ jsxs(
|
|
968
969
|
"article",
|
|
@@ -1004,14 +1005,17 @@ var WorkspaceAgentMessageCenterCard = memo(
|
|
|
1004
1005
|
/* @__PURE__ */ jsxs(
|
|
1005
1006
|
"span",
|
|
1006
1007
|
{
|
|
1007
|
-
className:
|
|
1008
|
+
className: cn2(
|
|
1009
|
+
"workspace-agent-message-center__status inline-flex shrink-0 items-center gap-1.5 text-[11px] font-semibold leading-4",
|
|
1010
|
+
messageCenterStatusToneClass(statusTone)
|
|
1011
|
+
),
|
|
1008
1012
|
"data-status": displayStatus,
|
|
1009
1013
|
title: statusLabel,
|
|
1010
1014
|
children: [
|
|
1011
1015
|
/* @__PURE__ */ jsx2(
|
|
1012
1016
|
StatusDot,
|
|
1013
1017
|
{
|
|
1014
|
-
tone:
|
|
1018
|
+
tone: statusTone,
|
|
1015
1019
|
pulse: isWaitingMessageCenterItem(item) || item.status === "working",
|
|
1016
1020
|
size: "sm",
|
|
1017
1021
|
title: statusLabel
|
|
@@ -1859,6 +1863,20 @@ function messageCenterStatusTone(item) {
|
|
|
1859
1863
|
}
|
|
1860
1864
|
return "neutral";
|
|
1861
1865
|
}
|
|
1866
|
+
function messageCenterStatusToneClass(tone) {
|
|
1867
|
+
switch (tone) {
|
|
1868
|
+
case "amber":
|
|
1869
|
+
return "text-[var(--state-warning)]";
|
|
1870
|
+
case "blue":
|
|
1871
|
+
return "text-[var(--status-running)]";
|
|
1872
|
+
case "green":
|
|
1873
|
+
return "text-[var(--state-success)]";
|
|
1874
|
+
case "red":
|
|
1875
|
+
return "text-[var(--state-danger)]";
|
|
1876
|
+
case "neutral":
|
|
1877
|
+
return "text-[var(--text-secondary)]";
|
|
1878
|
+
}
|
|
1879
|
+
}
|
|
1862
1880
|
|
|
1863
1881
|
// agent-message-center/WorkspaceAgentMessageCenterAttentionDeck.tsx
|
|
1864
1882
|
import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
@@ -3020,7 +3038,10 @@ function MessageCenterGroupHeading({
|
|
|
3020
3038
|
return /* @__PURE__ */ jsxs4(
|
|
3021
3039
|
"h3",
|
|
3022
3040
|
{
|
|
3023
|
-
className:
|
|
3041
|
+
className: cn5(
|
|
3042
|
+
"flex min-w-0 items-center gap-1.5 text-[11px] font-normal leading-4",
|
|
3043
|
+
statusSignal ? messageCenterStatusToneClass(statusSignal.tone) : "text-[var(--text-tertiary)]"
|
|
3044
|
+
),
|
|
3024
3045
|
title: `${group.label} \xB7 ${group.items.length}`,
|
|
3025
3046
|
children: [
|
|
3026
3047
|
statusSignal ? /* @__PURE__ */ jsx5(
|