@tutti-os/agent-gui 0.0.104 → 0.0.106

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.
Files changed (81) hide show
  1. package/dist/{AgentGUI-DQ9gVoXh.d.ts → AgentGUI-Do6py-T_.d.ts} +10 -5
  2. package/dist/AgentRichTextReadonly-F6PHC5SX.js +18 -0
  3. package/dist/AgentRichTextReadonly-F6PHC5SX.js.map +1 -0
  4. package/dist/agent-conversation/index.d.ts +3 -3
  5. package/dist/agent-conversation/index.js +11 -7
  6. package/dist/agent-conversation/index.js.map +1 -1
  7. package/dist/agent-gui.d.ts +4 -4
  8. package/dist/agent-gui.js +18 -14
  9. package/dist/agent-message-center/index.d.ts +1 -1
  10. package/dist/agent-message-center/index.js +13 -9
  11. package/dist/agent-message-center/index.js.map +1 -1
  12. package/dist/{agentConversationVM-CkcYM5Wg.d.ts → agentConversationVM-Bf3Zv3iI.d.ts} +9 -1
  13. package/dist/{agentFileMentionContracts-58IjMU-u.d.ts → agentFileMentionContracts-B70VnPWO.d.ts} +2 -0
  14. package/dist/{agentGuiNodeTypes-B9vcvjmR.d.ts → agentGuiNodeTypes-DbgQBiYz.d.ts} +4 -1
  15. package/dist/app/renderer/agentactivity.css +99 -0
  16. package/dist/{chunk-7N524ZK7.js → chunk-4HSLSSPJ.js} +1387 -941
  17. package/dist/chunk-4HSLSSPJ.js.map +1 -0
  18. package/dist/{chunk-FJ4W2VC5.js → chunk-4ZWV57MF.js} +42 -10
  19. package/dist/chunk-4ZWV57MF.js.map +1 -0
  20. package/dist/{chunk-TPV2SV6L.js → chunk-7MPN2JGL.js} +122 -154
  21. package/dist/chunk-7MPN2JGL.js.map +1 -0
  22. package/dist/{chunk-747L443E.js → chunk-BXOKBZH4.js} +728 -77
  23. package/dist/chunk-BXOKBZH4.js.map +1 -0
  24. package/dist/{chunk-5X7YDOC6.js → chunk-D2JUDUYY.js} +1 -1
  25. package/dist/chunk-D2JUDUYY.js.map +1 -0
  26. package/dist/{chunk-HLVC4NNL.js → chunk-IR2CL2X2.js} +721 -1280
  27. package/dist/chunk-IR2CL2X2.js.map +1 -0
  28. package/dist/{chunk-NOXQOGT5.js → chunk-J2HG7UCP.js} +46 -22
  29. package/dist/chunk-J2HG7UCP.js.map +1 -0
  30. package/dist/chunk-KPMQGPYU.js +43 -0
  31. package/dist/chunk-KPMQGPYU.js.map +1 -0
  32. package/dist/{chunk-OFSDOID4.js → chunk-LDZ6C3YV.js} +3 -39
  33. package/dist/chunk-LDZ6C3YV.js.map +1 -0
  34. package/dist/{chunk-MUPZPISC.js → chunk-N4WVVCNI.js} +2 -2
  35. package/dist/{chunk-F5LFPORI.js → chunk-OWW7CU4U.js} +2 -2
  36. package/dist/{chunk-VAB7EIL5.js → chunk-P3CVAWGJ.js} +19 -8
  37. package/dist/chunk-P3CVAWGJ.js.map +1 -0
  38. package/dist/chunk-SN6UYX54.js +42 -0
  39. package/dist/chunk-SN6UYX54.js.map +1 -0
  40. package/dist/{chunk-SKCLZXSW.js → chunk-TKBEVCHG.js} +5 -1
  41. package/dist/chunk-TKBEVCHG.js.map +1 -0
  42. package/dist/chunk-UFIEUC3Y.js +755 -0
  43. package/dist/chunk-UFIEUC3Y.js.map +1 -0
  44. package/dist/{chunk-AKKDP2LI.js → chunk-V5ROOS2O.js} +124 -2
  45. package/dist/chunk-V5ROOS2O.js.map +1 -0
  46. package/dist/chunk-XJ34OIEQ.js +18 -0
  47. package/dist/chunk-XJ34OIEQ.js.map +1 -0
  48. package/dist/{chunk-QI3JAO4J.js → chunk-ZSJBCZUH.js} +54 -7
  49. package/dist/chunk-ZSJBCZUH.js.map +1 -0
  50. package/dist/context-mention-palette/index.d.ts +1 -1
  51. package/dist/context-mention-palette/index.js +10 -8
  52. package/dist/{contribution-CTVBPN0R.d.ts → contribution-C6K5YfJ7.d.ts} +1 -0
  53. package/dist/custom-mention.d.ts +6 -0
  54. package/dist/custom-mention.js +1 -1
  55. package/dist/i18n/index.d.ts +4 -0
  56. package/dist/i18n/index.js +2 -2
  57. package/dist/index.d.ts +6 -6
  58. package/dist/index.js +18 -14
  59. package/dist/index.js.map +1 -1
  60. package/dist/mention-search.d.ts +47 -7
  61. package/dist/mention-search.js +8 -6
  62. package/dist/workbench/contribution.d.ts +1 -1
  63. package/dist/workbench/contribution.js +3 -3
  64. package/dist/workbench/index.d.ts +3 -2
  65. package/dist/workbench/index.js +3 -3
  66. package/dist/workbench/sessionTitle.js +2 -2
  67. package/package.json +12 -12
  68. package/dist/chunk-5X7YDOC6.js.map +0 -1
  69. package/dist/chunk-747L443E.js.map +0 -1
  70. package/dist/chunk-7N524ZK7.js.map +0 -1
  71. package/dist/chunk-AKKDP2LI.js.map +0 -1
  72. package/dist/chunk-FJ4W2VC5.js.map +0 -1
  73. package/dist/chunk-HLVC4NNL.js.map +0 -1
  74. package/dist/chunk-NOXQOGT5.js.map +0 -1
  75. package/dist/chunk-OFSDOID4.js.map +0 -1
  76. package/dist/chunk-QI3JAO4J.js.map +0 -1
  77. package/dist/chunk-SKCLZXSW.js.map +0 -1
  78. package/dist/chunk-TPV2SV6L.js.map +0 -1
  79. package/dist/chunk-VAB7EIL5.js.map +0 -1
  80. /package/dist/{chunk-MUPZPISC.js.map → chunk-N4WVVCNI.js.map} +0 -0
  81. /package/dist/{chunk-F5LFPORI.js.map → chunk-OWW7CU4U.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { WorkspaceIssueMentionMode } from '@tutti-os/workspace-issue-manager/core';
2
2
  import { W as WorkspaceAgentActivityCard, T as ToolCallStatusKind } from './workspaceAgentActivityListTypes-DZfS_HgG.js';
3
- import { AgentActivitySession } from '@tutti-os/agent-activity-core';
3
+ import { AgentActivityMessageSemantics, AgentActivitySession } from '@tutti-os/agent-activity-core';
4
4
 
5
5
  type WorkspaceLinkActionSource = "agent-markdown" | "agent-file-change" | string;
6
6
  interface OpenWorkspaceFileLinkAction {
@@ -98,6 +98,7 @@ interface WorkspaceAgentActivityTimelineItem {
98
98
  callId?: string;
99
99
  name?: string;
100
100
  status?: string | null;
101
+ messageSemantics?: AgentActivityMessageSemantics;
101
102
  content?: string;
102
103
  payload?: Record<string, unknown> & {
103
104
  content?: unknown;
@@ -127,6 +128,8 @@ interface WorkspaceAgentSessionDetailMessage {
127
128
  noticeKind: string | null;
128
129
  severity: string | null;
129
130
  source?: string | null;
131
+ command?: AgentActivityMessageSemantics["noticeCommand"] | null;
132
+ commandStatus?: AgentActivityMessageSemantics["noticeCommandStatus"] | null;
130
133
  title: string | null;
131
134
  detail: string | null;
132
135
  retryable: boolean | null;
@@ -247,11 +250,14 @@ interface AgentAskUserQuestionItemVM {
247
250
  occurredAtUnixMs: number | null;
248
251
  }
249
252
 
253
+ type AgentTranscriptPresentationKind = "content" | "specific-progress" | "turn-boundary";
254
+
250
255
  interface AgentMessageContentVM {
251
256
  kind: "message-content";
252
257
  id: string;
253
258
  turnId: string;
254
259
  body: string;
260
+ presentationKind: AgentTranscriptPresentationKind;
255
261
  copyText?: string | null;
256
262
  statusKind?: ToolCallStatusKind | null;
257
263
  contentKind?: "text" | "image-grid" | "plan";
@@ -268,6 +274,8 @@ interface AgentMessageContentVM {
268
274
  noticeKind: string | null;
269
275
  severity: string | null;
270
276
  source?: string | null;
277
+ command?: AgentActivityMessageSemantics["noticeCommand"] | null;
278
+ commandStatus?: AgentActivityMessageSemantics["noticeCommandStatus"] | null;
271
279
  title: string | null;
272
280
  detail: string | null;
273
281
  retryable: boolean | null;
@@ -98,6 +98,8 @@ interface AgentMentionCustomItem {
98
98
  href: string;
99
99
  workspaceId: string;
100
100
  targetId: string;
101
+ /** Canonical Markdown label, kept separate from the host's chip presentation. */
102
+ sourceLabel: string;
101
103
  /** chip 第一行。 */
102
104
  name: string;
103
105
  /** chip 第二行(通用双行卡)。 */
@@ -1,6 +1,6 @@
1
1
  import { AgentActivitySession, AgentActivitySlashCommandPolicy, AgentActivityUsage, CanonicalAgentSession } from '@tutti-os/agent-activity-core';
2
2
  import { t as AgentHostAgentSessionCommand, u as AgentHostAgentSessionComposerSettings, w as AgentHostAgentSessionReasoningEffort, x as AgentHostAgentSessionSpeed, v as AgentHostAgentSessionPermissionConfig, n as AgentGUIProvider, z as AgentPromptContentBlock, m as AgentGUINodeData, h as AgentGUIAgentTarget, p as AgentGUIProviderRailMode, q as AgentGUIProviderReadinessGate } from './types-CnT8rNUI.js';
3
- import { A as AgentApprovalItemVM, a as AgentAskUserQuestionVM, b as AgentConversationPromptVM, c as AgentConversationVM, d as WorkspaceAgentSessionDetailViewModel } from './agentConversationVM-CkcYM5Wg.js';
3
+ import { A as AgentApprovalItemVM, a as AgentAskUserQuestionVM, b as AgentConversationPromptVM, c as AgentConversationVM, d as WorkspaceAgentSessionDetailViewModel } from './agentConversationVM-Bf3Zv3iI.js';
4
4
  import { WorkspaceUserProjectService } from '@tutti-os/workspace-user-project/contracts';
5
5
  import { A as AGENT_PASTED_TEXT_BLOCK_KIND } from './pastedTextKinds-D-XuInaS.js';
6
6
 
@@ -353,6 +353,7 @@ type AgentSessionSpeed = AgentHostAgentSessionSpeed;
353
353
 
354
354
  type AgentGUIResolvedProvider = AgentGUIProvider | "unknown";
355
355
  type AgentGUIConversationTitleFallback = "untitled-conversation" | null;
356
+ type AgentGUIConversationTitleLeadingMentionKind = "agent" | "app" | "file" | "session" | "task";
356
357
 
357
358
  interface AgentGUIConversationProjectSummary {
358
359
  id: string;
@@ -379,9 +380,11 @@ interface AgentGUIConversationSummary {
379
380
  provider: AgentGUIResolvedProvider;
380
381
  resumable?: boolean;
381
382
  title: string;
383
+ titleLeadingMentionKind?: AgentGUIConversationTitleLeadingMentionKind | null;
382
384
  titleFallback?: AgentGUIConversationTitleFallback;
383
385
  status: AgentGUIConversationStatus;
384
386
  cwd: string;
387
+ railSectionKey?: string;
385
388
  project?: AgentGUIConversationProjectSummary | null;
386
389
  projectMode?: "none";
387
390
  pinnedAtUnixMs?: number | null;
@@ -3342,6 +3342,11 @@ aside.workspace-agents-status-panel
3342
3342
  gap: 12px;
3343
3343
  }
3344
3344
 
3345
+ .agent-gui-conversation__interactive-prompt-lead-content {
3346
+ display: grid;
3347
+ gap: 4px;
3348
+ }
3349
+
3345
3350
  .agent-gui-conversation__interactive-prompt-lead {
3346
3351
  color: var(--text-primary);
3347
3352
  font-size: 15px;
@@ -4289,6 +4294,14 @@ aside.workspace-agents-status-panel
4289
4294
  vertical-align: middle;
4290
4295
  }
4291
4296
 
4297
+ .agent-gui-node__composer-textarea
4298
+ .agent-rich-text-mention-node[data-agent-custom-mention="true"] {
4299
+ top: 0;
4300
+ height: auto;
4301
+ min-height: 0;
4302
+ line-height: inherit;
4303
+ }
4304
+
4292
4305
  .agent-gui-node__composer-textarea
4293
4306
  .agent-rich-text-mention-node[data-agent-file-mention="true"].tsh-agent-object-token,
4294
4307
  .agent-gui-node__composer-textarea
@@ -5023,6 +5036,77 @@ aside.workspace-agents-status-panel
5023
5036
  white-space: nowrap;
5024
5037
  }
5025
5038
 
5039
+ /* Mention typography and icons use the same 24px row as the plain title, so
5040
+ the whole rich title can share the Agent icon's vertical center directly. */
5041
+ .agent-gui-workbench-header__rich-title {
5042
+ display: block;
5043
+ width: 0;
5044
+ min-width: 0;
5045
+ height: 24px;
5046
+ flex: 1 1 0;
5047
+ overflow: hidden;
5048
+ }
5049
+
5050
+ .agent-gui-workbench-header__rich-title > div,
5051
+ .agent-gui-workbench-header__rich-title .ProseMirror {
5052
+ display: block;
5053
+ width: 100%;
5054
+ min-width: 0;
5055
+ height: 24px;
5056
+ margin: 0;
5057
+ overflow: visible;
5058
+ }
5059
+
5060
+ .agent-gui-workbench-header__rich-title p {
5061
+ display: flex;
5062
+ width: max-content;
5063
+ min-width: 100%;
5064
+ max-width: none;
5065
+ height: 24px;
5066
+ align-items: center;
5067
+ margin: 0;
5068
+ overflow: visible;
5069
+ overflow-wrap: normal;
5070
+ line-height: 24px;
5071
+ white-space: nowrap;
5072
+ word-break: normal;
5073
+ }
5074
+
5075
+ .agent-gui-workbench-header__rich-title .agent-rich-text-mention-node,
5076
+ .agent-gui-workbench-header__rich-title .tsh-agent-object-token--file,
5077
+ .agent-gui-workbench-header__rich-title .tsh-agent-object-token--entity,
5078
+ .agent-gui-workbench-header__rich-title [data-slot="mention-pill"] {
5079
+ top: 0;
5080
+ align-items: center;
5081
+ transform: none;
5082
+ vertical-align: middle;
5083
+ }
5084
+
5085
+ .agent-gui-workbench-header__rich-title
5086
+ .agent-rich-text-mention-node[data-agent-custom-mention="true"] {
5087
+ display: inline-flex;
5088
+ max-width: min(100%, var(--agent-mention-max-width, 20rem));
5089
+ height: 24px;
5090
+ align-items: center;
5091
+ margin-right: 4px;
5092
+ transform: translateY(-1.5px);
5093
+ vertical-align: middle;
5094
+ }
5095
+
5096
+ .agent-gui-workbench-header__rich-title .tsh-agent-object-token--file {
5097
+ height: 24px;
5098
+ min-height: 24px;
5099
+ padding-top: 0;
5100
+ padding-bottom: 0;
5101
+ line-height: 24px;
5102
+ }
5103
+
5104
+ .agent-gui-workbench-header__rich-title
5105
+ .tsh-agent-object-token--file
5106
+ .tsh-agent-object-token__main {
5107
+ transform: translateY(-1.25px);
5108
+ }
5109
+
5026
5110
  .agent-gui-workbench-header__agent-name {
5027
5111
  flex: 0 0 auto;
5028
5112
  }
@@ -6345,6 +6429,21 @@ button.agent-gui-node__conversation-section-toggle:hover
6345
6429
  no-repeat;
6346
6430
  }
6347
6431
 
6432
+ .agent-gui-node__conversation-title-mention-icon {
6433
+ display: inline-flex;
6434
+ width: 14px;
6435
+ height: 14px;
6436
+ flex: 0 0 14px;
6437
+ align-items: center;
6438
+ justify-content: center;
6439
+ color: var(--text-primary);
6440
+ }
6441
+
6442
+ .agent-gui-node__conversation-title-mention-icon > svg {
6443
+ width: 14px;
6444
+ height: 14px;
6445
+ }
6446
+
6348
6447
  .agent-gui-node__conversation-actions
6349
6448
  > button.agent-gui-node__conversation-open-window-button:not(:disabled):hover,
6350
6449
  .agent-gui-node__conversation-actions