@tutti-os/agent-gui 0.0.94 → 0.0.96

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 (163) hide show
  1. package/README.md +86 -38
  2. package/dist/AgentGUI-DWdvUV4x.d.ts +1038 -0
  3. package/dist/agent-conversation/index.d.ts +6 -7
  4. package/dist/agent-conversation/index.js +15 -10
  5. package/dist/agent-conversation/index.js.map +1 -1
  6. package/dist/agent-env/index.d.ts +10 -36
  7. package/dist/agent-env/index.js +2 -57
  8. package/dist/agent-env/index.js.map +1 -1
  9. package/dist/agent-gui.d.ts +21 -0
  10. package/dist/agent-gui.js +39 -0
  11. package/dist/agent-message-center/index.d.ts +156 -124
  12. package/dist/agent-message-center/index.js +1656 -1463
  13. package/dist/agent-message-center/index.js.map +1 -1
  14. package/dist/{agentConversationVM-Cl4G0Lln.d.ts → agentConversationVM-C335TR6S.d.ts} +112 -7
  15. package/dist/agentFileMentionContracts-58IjMU-u.d.ts +108 -0
  16. package/dist/{agentGuiNodeTypes-CAioPXK9.d.ts → agentGuiNodeTypes-B9X4aWfv.d.ts} +123 -163
  17. package/dist/agentPlanPromptDispatch-C7cCMjve.d.ts +37 -0
  18. package/dist/agents.d.ts +13 -0
  19. package/dist/agents.js +13 -0
  20. package/dist/app/renderer/agentactivity.css +276 -83
  21. package/dist/app/renderer/assets/icons/agent-vinyls/tutti-vinyl.png +0 -0
  22. package/dist/app/renderer/assets/icons/open-link-lined.svg +4 -0
  23. package/dist/{chunk-7BUYFVRI.js → chunk-2HJEOO7W.js} +2931 -2946
  24. package/dist/chunk-2HJEOO7W.js.map +1 -0
  25. package/dist/{chunk-E5FOXRUM.js → chunk-3XXBDYAI.js} +293 -258
  26. package/dist/chunk-3XXBDYAI.js.map +1 -0
  27. package/dist/{chunk-ZUW4B5AT.js → chunk-3Y3F7CS5.js} +21 -32
  28. package/dist/chunk-3Y3F7CS5.js.map +1 -0
  29. package/dist/{chunk-SCLLP5DO.js → chunk-4PQPJ5OY.js} +50 -155
  30. package/dist/chunk-4PQPJ5OY.js.map +1 -0
  31. package/dist/chunk-4YG7YK7S.js +23 -0
  32. package/dist/chunk-4YG7YK7S.js.map +1 -0
  33. package/dist/chunk-5X7YDOC6.js +42 -0
  34. package/dist/chunk-5X7YDOC6.js.map +1 -0
  35. package/dist/{chunk-R2EWECUP.js → chunk-7BXWPI4F.js} +17 -2
  36. package/dist/{chunk-R2EWECUP.js.map → chunk-7BXWPI4F.js.map} +1 -1
  37. package/dist/chunk-AGT7MUTV.js +491 -0
  38. package/dist/chunk-AGT7MUTV.js.map +1 -0
  39. package/dist/chunk-C35SNDVZ.js +96 -0
  40. package/dist/chunk-C35SNDVZ.js.map +1 -0
  41. package/dist/{chunk-5FE7M42A.js → chunk-E4HQUTM3.js} +2 -2
  42. package/dist/chunk-FGLQZ6I4.js +9 -0
  43. package/dist/chunk-FGLQZ6I4.js.map +1 -0
  44. package/dist/chunk-H5F3QSCF.js +25 -0
  45. package/dist/chunk-H5F3QSCF.js.map +1 -0
  46. package/dist/chunk-H6IQ63DQ.js +14 -0
  47. package/dist/chunk-H6IQ63DQ.js.map +1 -0
  48. package/dist/{chunk-45FF4DQU.js → chunk-IYEXLOUE.js} +22 -27
  49. package/dist/chunk-IYEXLOUE.js.map +1 -0
  50. package/dist/{chunk-P72YLKC6.js → chunk-JKIZA7EJ.js} +3573 -3755
  51. package/dist/chunk-JKIZA7EJ.js.map +1 -0
  52. package/dist/chunk-KJQERFKX.js +259 -0
  53. package/dist/chunk-KJQERFKX.js.map +1 -0
  54. package/dist/{chunk-XW4CVBUH.js → chunk-L3GMMGRS.js} +25 -16
  55. package/dist/chunk-L3GMMGRS.js.map +1 -0
  56. package/dist/chunk-MASXZENX.js +231 -0
  57. package/dist/chunk-MASXZENX.js.map +1 -0
  58. package/dist/{chunk-BXVPOGYK.js → chunk-O3Q5SIJH.js} +505 -504
  59. package/dist/chunk-O3Q5SIJH.js.map +1 -0
  60. package/dist/{chunk-554VG7ZW.js → chunk-QVBF5BN5.js} +2 -2
  61. package/dist/{chunk-AWAIUYG4.js → chunk-RE4AXS27.js} +532 -565
  62. package/dist/chunk-RE4AXS27.js.map +1 -0
  63. package/dist/{chunk-7LMJXF4R.js → chunk-TVIGLNNI.js} +20 -16
  64. package/dist/chunk-TVIGLNNI.js.map +1 -0
  65. package/dist/{chunk-XDV4ZRVK.js → chunk-UGVI47X6.js} +98 -37
  66. package/dist/chunk-UGVI47X6.js.map +1 -0
  67. package/dist/{chunk-GAPTLVII.js → chunk-UHBCM6RO.js} +1 -1
  68. package/dist/chunk-UHBCM6RO.js.map +1 -0
  69. package/dist/{chunk-UBDPV34P.js → chunk-W6WAGPMD.js} +1385 -1305
  70. package/dist/chunk-W6WAGPMD.js.map +1 -0
  71. package/dist/chunk-WKSFPJHZ.js +33054 -0
  72. package/dist/chunk-WKSFPJHZ.js.map +1 -0
  73. package/dist/{chunk-IGY4ASUF.js → chunk-WMNS4MAQ.js} +1288 -1696
  74. package/dist/chunk-WMNS4MAQ.js.map +1 -0
  75. package/dist/{chunk-MATIJPGF.js → chunk-XPFHJMZP.js} +541 -401
  76. package/dist/chunk-XPFHJMZP.js.map +1 -0
  77. package/dist/chunk-YMXYBG7U.js +12 -0
  78. package/dist/chunk-YMXYBG7U.js.map +1 -0
  79. package/dist/context-mention-palette/index.d.ts +3 -2
  80. package/dist/context-mention-palette/index.js +17 -12
  81. package/dist/custom-mention.d.ts +42 -0
  82. package/dist/custom-mention.js +17 -0
  83. package/dist/custom-mention.js.map +1 -0
  84. package/dist/dock-icons.d.ts +4 -0
  85. package/dist/dock-icons.js +11 -0
  86. package/dist/dock-icons.js.map +1 -0
  87. package/dist/i18n/index.d.ts +880 -841
  88. package/dist/i18n/index.js +2 -2
  89. package/dist/index.d.ts +56 -1063
  90. package/dist/index.js +78 -35532
  91. package/dist/index.js.map +1 -1
  92. package/dist/mention-search.d.ts +226 -0
  93. package/dist/mention-search.js +29 -0
  94. package/dist/mention-search.js.map +1 -0
  95. package/dist/open-link-lined-JWEKUKME.svg +4 -0
  96. package/dist/pastedTextKinds-D-XuInaS.d.ts +4 -0
  97. package/dist/provider-icons.d.ts +6 -0
  98. package/dist/provider-icons.js +12 -0
  99. package/dist/provider-icons.js.map +1 -0
  100. package/dist/provider-identity.d.ts +9 -0
  101. package/dist/provider-identity.js +21 -0
  102. package/dist/provider-identity.js.map +1 -0
  103. package/dist/runtime-BBNdWgDU.d.ts +10 -0
  104. package/dist/startup-shell.d.ts +8 -0
  105. package/dist/startup-shell.js +184 -0
  106. package/dist/startup-shell.js.map +1 -0
  107. package/dist/{types-PLFZ8SBX.d.ts → types-CnT8rNUI.d.ts} +43 -87
  108. package/dist/workbench/contribution.d.ts +34 -41
  109. package/dist/workbench/contribution.js +10 -6
  110. package/dist/workbench/index.d.ts +5 -4
  111. package/dist/workbench/index.js +27 -25
  112. package/dist/workbench/launch.d.ts +4 -7
  113. package/dist/workbench/launch.js +4 -3
  114. package/dist/workbench/providerCatalog.d.ts +2 -2
  115. package/dist/workbench/providerCatalog.js +2 -1
  116. package/dist/workbench/sessionTitle.d.ts +11 -14
  117. package/dist/workbench/sessionTitle.js +6 -7
  118. package/dist/workbench/state.d.ts +1 -1
  119. package/dist/workbench/state.js +3 -2
  120. package/dist/workbench/types.d.ts +2 -4
  121. package/dist/workbench/types.js +1 -1
  122. package/dist/workspace-agent-generated-files.d.ts +20 -2
  123. package/dist/workspace-agent-generated-files.js +6 -5
  124. package/dist/workspaceAgentActivityListTypes-C7gPWYiA.d.ts +71 -0
  125. package/package.json +70 -26
  126. package/dist/AgentMentionSearchController-DD_WOred.d.ts +0 -241
  127. package/dist/AgentMessageMarkdown-DeYPURtF.d.ts +0 -7
  128. package/dist/chunk-45FF4DQU.js.map +0 -1
  129. package/dist/chunk-4HP6V2YA.js +0 -207
  130. package/dist/chunk-4HP6V2YA.js.map +0 -1
  131. package/dist/chunk-7BUYFVRI.js.map +0 -1
  132. package/dist/chunk-7LMJXF4R.js.map +0 -1
  133. package/dist/chunk-AWAIUYG4.js.map +0 -1
  134. package/dist/chunk-BXVPOGYK.js.map +0 -1
  135. package/dist/chunk-E5FOXRUM.js.map +0 -1
  136. package/dist/chunk-GAPTLVII.js.map +0 -1
  137. package/dist/chunk-IBIMGLCD.js +0 -66
  138. package/dist/chunk-IBIMGLCD.js.map +0 -1
  139. package/dist/chunk-IGY4ASUF.js.map +0 -1
  140. package/dist/chunk-LR4FA5X6.js +0 -368
  141. package/dist/chunk-LR4FA5X6.js.map +0 -1
  142. package/dist/chunk-MATIJPGF.js.map +0 -1
  143. package/dist/chunk-MKHDRIGN.js +0 -71
  144. package/dist/chunk-MKHDRIGN.js.map +0 -1
  145. package/dist/chunk-P72YLKC6.js.map +0 -1
  146. package/dist/chunk-SCLLP5DO.js.map +0 -1
  147. package/dist/chunk-UBDPV34P.js.map +0 -1
  148. package/dist/chunk-VAKFNNKT.js +0 -410
  149. package/dist/chunk-VAKFNNKT.js.map +0 -1
  150. package/dist/chunk-XDV4ZRVK.js.map +0 -1
  151. package/dist/chunk-XW4CVBUH.js.map +0 -1
  152. package/dist/chunk-ZUW4B5AT.js.map +0 -1
  153. package/dist/plan-decision-ops.d.ts +0 -70
  154. package/dist/plan-decision-ops.js +0 -19
  155. package/dist/queued-prompt-runtime.d.ts +0 -115
  156. package/dist/queued-prompt-runtime.js +0 -9
  157. package/dist/uiSettings-BQS9r2eo.d.ts +0 -6
  158. package/dist/workspaceAgentActivityListViewModel-BzV-cf0D.d.ts +0 -340
  159. package/dist/workspaceLinkActions-DS9LWqzI.d.ts +0 -74
  160. /package/dist/{plan-decision-ops.js.map → agent-gui.js.map} +0 -0
  161. /package/dist/{queued-prompt-runtime.js.map → agents.js.map} +0 -0
  162. /package/dist/{chunk-5FE7M42A.js.map → chunk-E4HQUTM3.js.map} +0 -0
  163. /package/dist/{chunk-554VG7ZW.js.map → chunk-QVBF5BN5.js.map} +0 -0
@@ -1,4 +1,3 @@
1
- type AgentHostAgentSessionProvider = "claude-code" | "codex" | "tutti-agent" | "cursor" | "nexight" | "hermes" | "opencode" | "openclaw";
2
1
  type AgentHostAgentSessionPermissionModeSemantic = "ask-before-write" | "accept-edits" | "locked-down" | "auto" | "full-access" | "unconfigurable";
3
2
  type AgentHostAgentSessionReasoningEffort = "minimal" | "low" | "medium" | "high" | "xhigh" | string;
4
3
  type AgentHostAgentSessionSpeed = "standard" | "fast" | string;
@@ -22,82 +21,6 @@ interface AgentHostAgentSessionComposerSettings {
22
21
  computerUse?: boolean;
23
22
  permissionModeId?: string | null;
24
23
  }
25
- interface AgentHostAgentSession {
26
- workspaceId: string;
27
- agentSessionId: string;
28
- agentTargetId?: string | null;
29
- provider: AgentHostAgentSessionProvider;
30
- providerSessionId: string;
31
- resumable?: boolean;
32
- cwd?: string;
33
- status: "ready" | "working" | "canceled" | "failed" | "completed" | string;
34
- title?: string;
35
- pinnedAtUnixMs?: number | null;
36
- visible?: boolean;
37
- permissionModeId?: string;
38
- permissionConfig?: AgentHostAgentSessionPermissionConfig;
39
- settings?: AgentHostAgentSessionComposerSettings;
40
- createdAtUnixMs: number;
41
- updatedAtUnixMs: number;
42
- }
43
- interface AgentHostAgentSessionInteractivePrompt {
44
- kind: string;
45
- requestId?: string;
46
- toolName?: string;
47
- status?: string;
48
- input?: Record<string, unknown>;
49
- output?: Record<string, unknown>;
50
- error?: Record<string, unknown>;
51
- metadata?: Record<string, unknown>;
52
- }
53
- interface AgentHostAgentSessionState {
54
- workspaceId: string;
55
- agentSessionId: string;
56
- agentTargetId?: string | null;
57
- provider: AgentHostAgentSessionProvider;
58
- providerSessionId?: string;
59
- resumable?: boolean;
60
- status: AgentHostAgentSession["status"];
61
- turnLifecycle?: AgentHostAgentActivityTurnLifecycle | null;
62
- submitAvailability?: AgentHostAgentActivitySubmitAvailability | null;
63
- permissionModeId?: string;
64
- permissionConfig?: AgentHostAgentSessionPermissionConfig;
65
- settings?: AgentHostAgentSessionComposerSettings;
66
- authState?: string;
67
- runtimeContext?: Record<string, unknown>;
68
- pinnedAtUnixMs?: number | null;
69
- pendingInteractive?: AgentHostAgentSessionInteractivePrompt | null;
70
- updatedAtUnixMs: number;
71
- }
72
- interface AgentHostAgentActivityCompletedCommand {
73
- kind: string;
74
- status: string;
75
- }
76
- interface AgentHostAgentActivityTurnLifecycle {
77
- activeTurnId: string | null;
78
- phase: string;
79
- settling?: boolean;
80
- outcome?: string | null;
81
- completedCommand?: AgentHostAgentActivityCompletedCommand | null;
82
- }
83
- interface AgentHostAgentActivitySubmitAvailability {
84
- state: string;
85
- reason?: string;
86
- }
87
- type AgentHostAgentSessionActivationMode = "new" | "existing";
88
- type AgentHostAgentSessionActivationStatus = "attached" | "already_attached" | "failed";
89
- interface AgentHostActivateAgentSessionResult {
90
- session: AgentHostAgentSession;
91
- activation: {
92
- mode: AgentHostAgentSessionActivationMode;
93
- status: AgentHostAgentSessionActivationStatus;
94
- };
95
- error?: {
96
- code: string;
97
- message: string;
98
- debugMessage?: string;
99
- };
100
- }
101
24
  interface AgentHostUnactivateAgentSessionResult {
102
25
  agentSessionId: string;
103
26
  buffered: boolean;
@@ -118,24 +41,16 @@ interface AgentPromptContentBlock {
118
41
  kind?: string;
119
42
  sizeBytes?: number;
120
43
  }
121
- interface AgentHostUpdateAgentSessionSettingsResult {
122
- agentSessionId: string;
123
- settings: AgentHostAgentSessionComposerSettings;
124
- }
125
44
  interface AgentHostAgentSessionCommand {
126
45
  name: string;
127
46
  description?: string;
128
47
  inputHint?: string;
129
48
  }
130
49
 
131
- declare const AGENT_PROVIDERS: readonly ["claude-code", "codex", "cursor", "tutti-agent", "nexight", "opencode", "openclaw", "hermes"];
132
- type AgentProvider = (typeof AGENT_PROVIDERS)[number];
133
-
134
50
  interface AgentGUINodeData {
135
51
  provider: AgentGUIProvider;
136
52
  agentTargetId?: string | null;
137
53
  lastActiveAgentSessionId: string | null;
138
- lastActiveConversationTitle?: string | null;
139
54
  conversationCount?: number | null;
140
55
  conversationRailWidthPx?: number | null;
141
56
  conversationRailCollapsed?: boolean | null;
@@ -143,7 +58,19 @@ interface AgentGUINodeData {
143
58
  composerOverridesByAgentTargetId?: Record<string, AgentHostAgentSessionComposerSettings | null> | null;
144
59
  composerOverridesByProvider?: Partial<Record<AgentGUIProvider, AgentHostAgentSessionComposerSettings | null>> | null;
145
60
  }
146
- type AgentGUIProvider = Extract<AgentProvider, "claude-code" | "codex" | "tutti-agent" | "cursor" | "nexight" | "hermes" | "openclaw" | "opencode">;
61
+ /**
62
+ * Open runtime metadata reported by an Agent Target.
63
+ *
64
+ * Built-in providers still use AgentProvider, while externally installed ACP
65
+ * extensions use namespaced values such as `acp:gemini`.
66
+ */
67
+ type AgentGUIProvider = string;
68
+ /**
69
+ * Stable identifiers for the starter entries shown below the empty new-session
70
+ * composer. Hosts can pass these values to `AgentGUI.disabled` to hide entries
71
+ * that should not be available in their integration.
72
+ */
73
+ type AgentGUIHomeSuggestionId = "meet-tutti" | "task-breakdown" | "quality-review" | "agent-interaction" | "import-session";
147
74
  type AgentGUIAgentAvailabilityStatus = "ready" | "checking" | "coming_soon" | "not_installed" | "auth_required" | "unavailable";
148
75
  type AgentGUIAgentAvailabilityAction = "install" | "login" | "refresh";
149
76
  interface AgentGUIAgentAvailability {
@@ -166,11 +93,23 @@ interface AgentGUIAgent {
166
93
  agentTargetId: string;
167
94
  name: string;
168
95
  iconUrl: string;
96
+ heroImageUrl?: string | null;
169
97
  description?: string | null;
170
98
  owner?: AgentGUIAgentOwner | null;
171
99
  availability: AgentGUIAgentAvailability;
172
100
  provider: AgentGUIProvider;
173
101
  }
102
+ type AgentGUIAgentDirectoryStatus = "idle" | "loading" | "ready" | "error";
103
+ interface AgentGUIAgentDirectorySnapshot {
104
+ agents: readonly AgentGUIAgent[];
105
+ capturedAtUnixMs: number | null;
106
+ error: string | null;
107
+ status: AgentGUIAgentDirectoryStatus;
108
+ }
109
+ interface AgentGUIAgentDirectoryPort {
110
+ getSnapshot(): AgentGUIAgentDirectorySnapshot;
111
+ subscribe(listener: () => void): () => void;
112
+ }
174
113
  interface AgentGUIAllAgentsPresentation {
175
114
  iconUrl?: string | null;
176
115
  }
@@ -191,11 +130,28 @@ interface AgentGUIAgentTarget {
191
130
  label: string;
192
131
  description?: string;
193
132
  iconUrl?: string | null;
133
+ heroImageUrl?: string | null;
194
134
  badge?: AgentGUIAgentTargetBadge | null;
195
135
  ownerLabel?: string;
196
136
  disabled?: boolean;
197
137
  unavailableReason?: string;
198
138
  }
139
+ interface AgentGUIProviderRailAllPresentation {
140
+ iconUrl?: string | null;
141
+ }
142
+ /**
143
+ * How the provider rail composes the target list.
144
+ * - "catalog" (default): host-provided targets are augmented with the static
145
+ * local provider catalog, disabled placeholders (nexight/hermes/openclaw),
146
+ * and coming-soon markers. When no targets are provided, the full local
147
+ * catalog is shown.
148
+ * - "exact": the rail renders exactly the provided targets — no static catalog
149
+ * fallback, no disabled placeholders, no coming-soon injection. When the list
150
+ * is empty (and not loading) the host-provided empty renderer is shown. Use
151
+ * this when the list is fully orchestrated externally (e.g. shared agents,
152
+ * custom /agents).
153
+ */
154
+ type AgentGUIProviderRailMode = "catalog" | "exact";
199
155
  type AgentGUIProviderReadinessGateStatus = "checking" | "coming_soon" | "not_installed" | "auth_required" | "unavailable";
200
156
  type AgentGUIProviderReadinessGateAction = "install" | "login" | "refresh";
201
157
  interface AgentGUIProviderReadinessGate {
@@ -216,4 +172,4 @@ interface NodeFrame {
216
172
  size: Size;
217
173
  }
218
174
 
219
- export type { AgentGUIAgent as A, NodeFrame as N, Point as P, AgentGUIAgentAvailability as a, AgentGUIAgentAvailabilityAction as b, AgentGUIAgentAvailabilityStatus as c, AgentGUIAgentOwner as d, AgentGUIAgentTarget as e, AgentGUIAllAgentsPresentation as f, AgentGUINodeData as g, AgentGUIProvider as h, AgentGUIProviderReadinessGate as i, AgentHostActivateAgentSessionResult as j, AgentHostAgentSessionCommand as k, AgentHostAgentSessionComposerSettings as l, AgentHostAgentSessionPermissionConfig as m, AgentHostAgentSessionReasoningEffort as n, AgentHostAgentSessionSpeed as o, AgentHostAgentSessionState as p, AgentHostUnactivateAgentSessionResult as q, AgentHostUpdateAgentSessionSettingsResult as r, AgentPromptContentBlock as s, AgentProvider as t };
175
+ export type { AgentGUIAgent as A, NodeFrame as N, Point as P, AgentGUIAgentAvailability as a, AgentGUIAgentAvailabilityAction as b, AgentGUIAgentAvailabilityStatus as c, AgentGUIAgentDirectoryPort as d, AgentGUIAgentDirectorySnapshot as e, AgentGUIAgentDirectoryStatus as f, AgentGUIAgentOwner as g, AgentGUIAgentTarget as h, AgentGUIAgentTargetBadge as i, AgentGUIAgentTargetRef as j, AgentGUIAllAgentsPresentation as k, AgentGUIHomeSuggestionId as l, AgentGUINodeData as m, AgentGUIProvider as n, AgentGUIProviderRailAllPresentation as o, AgentGUIProviderRailMode as p, AgentGUIProviderReadinessGate as q, AgentGUIProviderReadinessGateAction as r, AgentGUIProviderReadinessGateStatus as s, AgentHostAgentSessionCommand as t, AgentHostAgentSessionComposerSettings as u, AgentHostAgentSessionPermissionConfig as v, AgentHostAgentSessionReasoningEffort as w, AgentHostAgentSessionSpeed as x, AgentHostUnactivateAgentSessionResult as y, AgentPromptContentBlock as z };
@@ -1,10 +1,10 @@
1
1
  import { ReactNode } from 'react';
2
- import { WorkbenchFrame, WorkbenchHostNodeBodyContext, WorkbenchHostLaunchRequest, WorkbenchHostDockEntry, WorkbenchContribution } from '@tutti-os/workbench-surface';
2
+ import { WorkbenchFrame, WorkbenchHostDockEntry, WorkbenchHostLaunchRequest, WorkbenchHostNodeBodyContext, WorkbenchContribution } from '@tutti-os/workbench-surface';
3
3
  import { AgentGuiWorkbenchProvider, AgentGuiWorkbenchState } from './types.js';
4
- import { A as AgentGUIAgent } from '../types-PLFZ8SBX.js';
4
+ import { d as AgentGUIAgentDirectoryPort } from '../types-CnT8rNUI.js';
5
5
 
6
6
  declare const agentGuiWorkbenchDefaultNodeFrame: WorkbenchFrame;
7
- declare const agentGuiWorkbenchDefaultUsableWidthRatio = 0.8;
7
+ declare const agentGuiWorkbenchDefaultUsableWidthRatio = 0.9;
8
8
  declare const agentGuiWorkbenchDefaultUsableHeightRatio = 0.9;
9
9
  declare const agentGuiWorkbenchCompactVisibleAreaRatio = 0.9;
10
10
  declare const agentGuiWorkbenchNewWindowCascadeOffset: {
@@ -12,6 +12,34 @@ declare const agentGuiWorkbenchNewWindowCascadeOffset: {
12
12
  y: number;
13
13
  };
14
14
  declare const agentGuiWorkbenchProviderRailWidthPx = 52;
15
+ declare const agentGuiWorkbenchDefaultCopy: AgentGuiWorkbenchContributionCopy;
16
+ type AgentGuiWorkbenchProviderAvailability = Partial<Record<AgentGuiWorkbenchProvider, boolean | "available" | "ready" | "unavailable" | {
17
+ available?: boolean | null;
18
+ status?: string | null;
19
+ } | null | undefined>>;
20
+ interface BuildAgentGuiDockEntriesInput {
21
+ agentDirectory: AgentGUIAgentDirectoryPort;
22
+ defaultProvider?: AgentGuiWorkbenchProvider | null;
23
+ dockIconUrls?: Partial<Record<AgentGuiWorkbenchProvider, string>>;
24
+ label?: string;
25
+ providerAvailability?: AgentGuiWorkbenchProviderAvailability;
26
+ renderPreview?: CreateAgentGuiWorkbenchContributionInput["renderPreview"];
27
+ resolveDockPopupIdentity?: CreateAgentGuiWorkbenchContributionInput["resolveDockPopupIdentity"];
28
+ resolveDockPopupTitle?: CreateAgentGuiWorkbenchContributionInput["resolveDockPopupTitle"];
29
+ sectionId?: string;
30
+ unifiedDockIconUrl?: string;
31
+ }
32
+ declare function buildAgentGuiDockEntries(input: BuildAgentGuiDockEntriesInput): WorkbenchHostDockEntry[];
33
+ declare function resolveAgentGuiUnifiedDockLaunchPayload(input: Pick<BuildAgentGuiDockEntriesInput, "agentDirectory" | "defaultProvider" | "providerAvailability">): {
34
+ provider: AgentGuiWorkbenchProvider;
35
+ agentTargetId?: string;
36
+ };
37
+ declare function resolveAgentGuiWorkbenchDefaultLaunchFrame(input: {
38
+ frame: WorkbenchFrame;
39
+ request: Pick<WorkbenchHostLaunchRequest, "layoutConstraints" | "surfaceSize">;
40
+ }): WorkbenchFrame;
41
+ declare function resolveAgentGuiWorkbenchContributionCopy(copy?: AgentGuiWorkbenchContributionCopyOverrides): AgentGuiWorkbenchContributionCopy;
42
+
15
43
  declare const AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT = "tutti:agent-gui-workbench-conversation-rail-toggle";
16
44
  declare const AGENT_GUI_WORKBENCH_NEW_CONVERSATION_EVENT = "tutti:agent-gui-workbench-new-conversation";
17
45
  /**
@@ -28,6 +56,7 @@ interface AgentGuiWorkbenchNewConversationDetail {
28
56
  instanceId: string;
29
57
  }
30
58
  interface AgentGuiWorkbenchConversationIdentity {
59
+ agentTitle?: string | null;
31
60
  iconUrl?: string | null;
32
61
  title: string | null;
33
62
  }
@@ -44,37 +73,29 @@ interface AgentGuiWorkbenchContributionCopy {
44
73
  restore: string;
45
74
  }
46
75
  type AgentGuiWorkbenchContributionCopyOverrides = Partial<AgentGuiWorkbenchContributionCopy>;
47
- declare const agentGuiWorkbenchDefaultCopy: AgentGuiWorkbenchContributionCopy;
48
76
  interface AgentGuiWorkbenchRenderBodyHelpers {
77
+ agentDirectory: AgentGUIAgentDirectoryPort;
49
78
  nodeTypeId: string;
50
79
  onStateChange(state: AgentGuiWorkbenchState): void;
51
80
  provider: AgentGuiWorkbenchProvider;
52
81
  }
53
82
  interface CreateAgentGuiWorkbenchContributionInput {
83
+ agentDirectory: AgentGUIAgentDirectoryPort;
54
84
  copy?: AgentGuiWorkbenchContributionCopyOverrides;
55
85
  defaultProvider?: AgentGuiWorkbenchProvider | null;
56
- defaultAgentTargetId?: string | null;
57
86
  dockIconUrls?: Partial<Record<AgentGuiWorkbenchProvider, string>>;
58
87
  dockSectionId?: string;
59
88
  frame?: WorkbenchFrame;
60
89
  id?: string;
61
90
  providerAvailability?: AgentGuiWorkbenchProviderAvailability;
62
- agents?: readonly AgentGUIAgent[] | null;
63
- agentsLoading?: boolean;
64
91
  renderBody(context: WorkbenchHostNodeBodyContext<AgentGuiWorkbenchState | null, unknown>, helpers: AgentGuiWorkbenchRenderBodyHelpers): ReactNode;
65
92
  renderPreview?(context: WorkbenchHostNodeBodyContext<AgentGuiWorkbenchState | null, unknown>, helpers: AgentGuiWorkbenchRenderBodyHelpers): ReactNode;
66
93
  renderMinimizedPreview(context: WorkbenchHostNodeBodyContext<AgentGuiWorkbenchState | null, unknown>, helpers: AgentGuiWorkbenchRenderBodyHelpers): ReactNode;
67
94
  resolveDockPopupTitle?: (state: AgentGuiWorkbenchState | null) => string | null;
68
95
  resolveDockPopupIdentity?: (state: AgentGuiWorkbenchState | null) => AgentGuiWorkbenchConversationIdentity | null;
69
- resolveDockLaunchPayload?: (input: {
70
- dockEntryId?: string | null;
71
- payload: unknown;
72
- reason: WorkbenchHostLaunchRequest["reason"];
73
- }) => unknown | null | undefined;
74
96
  onOpenDetachedWindow?: (input: {
75
97
  agentSessionId?: string | null;
76
98
  agentTargetId?: string | null;
77
- agents?: readonly AgentGUIAgent[];
78
99
  provider: AgentGuiWorkbenchProvider;
79
100
  workspaceId: string;
80
101
  }) => void | Promise<void>;
@@ -82,33 +103,5 @@ interface CreateAgentGuiWorkbenchContributionInput {
82
103
  workspaceId: string;
83
104
  }
84
105
  declare function createAgentGuiWorkbenchContribution(input: CreateAgentGuiWorkbenchContributionInput): WorkbenchContribution;
85
- type AgentGuiWorkbenchProviderAvailability = Partial<Record<AgentGuiWorkbenchProvider, boolean | "available" | "ready" | "unavailable" | {
86
- available?: boolean | null;
87
- status?: string | null;
88
- } | null | undefined>>;
89
- interface BuildAgentGuiDockEntriesInput {
90
- defaultProvider?: AgentGuiWorkbenchProvider | null;
91
- defaultAgentTargetId?: string | null;
92
- dockIconUrls?: Partial<Record<AgentGuiWorkbenchProvider, string>>;
93
- label?: string;
94
- providerAvailability?: AgentGuiWorkbenchProviderAvailability;
95
- agentsLoading?: boolean;
96
- renderPreview?: CreateAgentGuiWorkbenchContributionInput["renderPreview"];
97
- resolveDockPopupIdentity?: CreateAgentGuiWorkbenchContributionInput["resolveDockPopupIdentity"];
98
- resolveDockPopupTitle?: CreateAgentGuiWorkbenchContributionInput["resolveDockPopupTitle"];
99
- sectionId?: string;
100
- agents?: readonly AgentGUIAgent[] | null;
101
- unifiedDockIconUrl?: string;
102
- }
103
- declare function buildAgentGuiDockEntries(input: BuildAgentGuiDockEntriesInput): WorkbenchHostDockEntry[];
104
- declare function resolveAgentGuiUnifiedDockLaunchPayload(input: Pick<BuildAgentGuiDockEntriesInput, "defaultProvider" | "defaultAgentTargetId" | "providerAvailability" | "agentsLoading" | "agents">): {
105
- provider: AgentGuiWorkbenchProvider;
106
- agentTargetId?: string;
107
- };
108
- declare function resolveAgentGuiWorkbenchDefaultLaunchFrame(input: {
109
- frame: WorkbenchFrame;
110
- request: Pick<WorkbenchHostLaunchRequest, "layoutConstraints" | "surfaceSize">;
111
- }): WorkbenchFrame;
112
- declare function resolveAgentGuiWorkbenchContributionCopy(copy?: AgentGuiWorkbenchContributionCopyOverrides): AgentGuiWorkbenchContributionCopy;
113
106
 
114
107
  export { AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT, AGENT_GUI_WORKBENCH_NEW_CONVERSATION_EVENT, AGENT_GUI_WORKBENCH_OPEN_EXTERNAL_IMPORT_EVENT, type AgentGuiWorkbenchContributionCopy, type AgentGuiWorkbenchContributionCopyOverrides, type AgentGuiWorkbenchConversationIdentity, type AgentGuiWorkbenchConversationRailToggleDetail, type AgentGuiWorkbenchNewConversationDetail, type AgentGuiWorkbenchProviderAvailability, type AgentGuiWorkbenchRenderBodyHelpers, type BuildAgentGuiDockEntriesInput, type CreateAgentGuiWorkbenchContributionInput, agentGuiWorkbenchCompactVisibleAreaRatio, agentGuiWorkbenchDefaultCopy, agentGuiWorkbenchDefaultNodeFrame, agentGuiWorkbenchDefaultUsableHeightRatio, agentGuiWorkbenchDefaultUsableWidthRatio, agentGuiWorkbenchNewWindowCascadeOffset, agentGuiWorkbenchProviderRailWidthPx, buildAgentGuiDockEntries, createAgentGuiWorkbenchContribution, resolveAgentGuiUnifiedDockLaunchPayload, resolveAgentGuiWorkbenchContributionCopy, resolveAgentGuiWorkbenchDefaultLaunchFrame };
@@ -14,12 +14,16 @@ import {
14
14
  resolveAgentGuiUnifiedDockLaunchPayload,
15
15
  resolveAgentGuiWorkbenchContributionCopy,
16
16
  resolveAgentGuiWorkbenchDefaultLaunchFrame
17
- } from "../chunk-AWAIUYG4.js";
18
- import "../chunk-45FF4DQU.js";
19
- import "../chunk-7LMJXF4R.js";
20
- import "../chunk-GAPTLVII.js";
21
- import "../chunk-XW4CVBUH.js";
22
- import "../chunk-XDV4ZRVK.js";
17
+ } from "../chunk-RE4AXS27.js";
18
+ import "../chunk-TVIGLNNI.js";
19
+ import "../chunk-IYEXLOUE.js";
20
+ import "../chunk-L3GMMGRS.js";
21
+ import "../chunk-UHBCM6RO.js";
22
+ import "../chunk-C35SNDVZ.js";
23
+ import "../chunk-4YG7YK7S.js";
24
+ import "../chunk-H6IQ63DQ.js";
25
+ import "../chunk-KJQERFKX.js";
26
+ import "../chunk-UGVI47X6.js";
23
27
  export {
24
28
  AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT,
25
29
  AGENT_GUI_WORKBENCH_NEW_CONVERSATION_EVENT,
@@ -4,11 +4,10 @@ export { AgentGuiWorkbenchLaunchDescriptor, agentGuiWorkbenchDockEntryId, agentG
4
4
  export { agentGuiWorkbenchProviderFromInstanceId, areAgentGuiWorkbenchNodeStatesEqual, areAgentGuiWorkbenchStatesEqual, createAgentGuiWorkbenchNodeStateSource, createDefaultAgentGuiWorkbenchNodeState, normalizeAgentGuiWorkbenchNodeState, normalizeAgentGuiWorkbenchState, projectAgentGuiWorkbenchState } from './state.js';
5
5
  import { HTMLAttributes, ReactNode } from 'react';
6
6
  import { WorkbenchDisplayMode, WorkbenchHostNodeHeaderWindowActions } from '@tutti-os/workbench-surface';
7
- export { AgentGuiSessionTitleFormatOptions, AgentGuiWorkbenchSessionTitleResult, ResolveAgentGuiWorkbenchSessionTitleInput, formatAgentGuiConversationPlainTitle, formatAgentGuiSessionPlainTitle, resolveAgentGuiWorkbenchSessionTitle } from './sessionTitle.js';
7
+ export { AgentGuiWorkbenchSessionTitleResult, ResolveAgentGuiWorkbenchHeaderTitleInput, ResolveAgentGuiWorkbenchSessionTitleInput, resolveAgentGuiWorkbenchHeaderTitle, resolveAgentGuiWorkbenchSessionTitle } from './sessionTitle.js';
8
8
  export { AgentGuiWorkbenchComposerOverrides, AgentGuiWorkbenchNodeState, AgentGuiWorkbenchPrefillPromptPayload, AgentGuiWorkbenchProvider, AgentGuiWorkbenchState, AgentGuiWorkbenchWorkspaceState, agentGuiWorkbenchOpenSessionActivationType, agentGuiWorkbenchPrefillPromptActivationType } from './types.js';
9
- import '../types-PLFZ8SBX.js';
9
+ import '../types-CnT8rNUI.js';
10
10
  import '@tutti-os/agent-activity-core';
11
- import '../uiSettings-BQS9r2eo.js';
12
11
 
13
12
  interface AgentGuiWorkbenchHeaderCopy {
14
13
  collapseConversationRail: string;
@@ -23,6 +22,7 @@ interface AgentGuiWorkbenchHeaderCopy {
23
22
  }
24
23
  interface AgentGuiWorkbenchHeaderProps extends HTMLAttributes<HTMLElement> {
25
24
  copy: AgentGuiWorkbenchHeaderCopy;
25
+ agentTitle?: string | null;
26
26
  defaultActions?: ReactNode;
27
27
  displayMode?: WorkbenchDisplayMode;
28
28
  isConversationRailAutoCollapsed: boolean;
@@ -39,10 +39,11 @@ interface AgentGuiWorkbenchHeaderProps extends HTMLAttributes<HTMLElement> {
39
39
  onOpenDetachedWindow?: () => void;
40
40
  onToggleConversationRail: (nextCollapsed: boolean) => void;
41
41
  showAppTitle?: boolean;
42
+ showConversationRailToggle?: boolean;
42
43
  showWindowControls?: boolean;
43
44
  title?: string;
44
45
  windowActions?: Pick<WorkbenchHostNodeHeaderWindowActions, "close" | "minimize" | "toggleDisplayMode">;
45
46
  }
46
- declare function AgentGuiWorkbenchHeader({ className, copy, defaultActions: _defaultActions, displayMode, isConversationRailAutoCollapsed, isConversationRailCollapsed, conversationRailWidthPx, conversationIconUrl, conversationIconFallbackUrl, providerRailWidthPx, primaryAccessory, secondaryAccessory, conversationTitle, nodeId, onCreateConversation, onOpenDetachedWindow, onToggleConversationRail, showAppTitle, showWindowControls, title: _title, windowActions, ...headerProps }: AgentGuiWorkbenchHeaderProps): ReactNode;
47
+ declare function AgentGuiWorkbenchHeader({ className, copy, agentTitle, defaultActions: _defaultActions, displayMode, isConversationRailAutoCollapsed, isConversationRailCollapsed, conversationRailWidthPx, conversationIconUrl, conversationIconFallbackUrl, providerRailWidthPx, primaryAccessory, secondaryAccessory, conversationTitle, nodeId, onCreateConversation, onOpenDetachedWindow, onToggleConversationRail, showAppTitle, showConversationRailToggle, showWindowControls, title: _title, windowActions, ...headerProps }: AgentGuiWorkbenchHeaderProps): ReactNode;
47
48
 
48
49
  export { AgentGuiWorkbenchHeader, type AgentGuiWorkbenchHeaderCopy, type AgentGuiWorkbenchHeaderProps };
@@ -1,3 +1,7 @@
1
+ import {
2
+ resolveAgentGuiWorkbenchHeaderTitle,
3
+ resolveAgentGuiWorkbenchSessionTitle
4
+ } from "../chunk-3Y3F7CS5.js";
1
5
  import {
2
6
  AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT,
3
7
  AGENT_GUI_WORKBENCH_NEW_CONVERSATION_EVENT,
@@ -8,17 +12,7 @@ import {
8
12
  createAgentGuiWorkbenchContribution,
9
13
  resolveAgentGuiUnifiedDockLaunchPayload,
10
14
  resolveAgentGuiWorkbenchContributionCopy
11
- } from "../chunk-AWAIUYG4.js";
12
- import {
13
- agentGuiWorkbenchProviderFromInstanceId,
14
- areAgentGuiWorkbenchNodeStatesEqual,
15
- areAgentGuiWorkbenchStatesEqual,
16
- createAgentGuiWorkbenchNodeStateSource,
17
- createDefaultAgentGuiWorkbenchNodeState,
18
- normalizeAgentGuiWorkbenchNodeState,
19
- normalizeAgentGuiWorkbenchState,
20
- projectAgentGuiWorkbenchState
21
- } from "../chunk-45FF4DQU.js";
15
+ } from "../chunk-RE4AXS27.js";
22
16
  import {
23
17
  agentGuiWorkbenchDockEntryId,
24
18
  agentGuiWorkbenchDockIdentityFromIdentifier,
@@ -31,11 +25,18 @@ import {
31
25
  createAgentGuiWorkbenchInstanceId,
32
26
  createAgentGuiWorkbenchLaunchDescriptor,
33
27
  createAgentGuiWorkbenchSessionLaunchRequest
34
- } from "../chunk-7LMJXF4R.js";
28
+ } from "../chunk-TVIGLNNI.js";
29
+ import "../chunk-4PQPJ5OY.js";
35
30
  import {
36
- agentGuiWorkbenchOpenSessionActivationType,
37
- agentGuiWorkbenchPrefillPromptActivationType
38
- } from "../chunk-GAPTLVII.js";
31
+ agentGuiWorkbenchProviderFromInstanceId,
32
+ areAgentGuiWorkbenchNodeStatesEqual,
33
+ areAgentGuiWorkbenchStatesEqual,
34
+ createAgentGuiWorkbenchNodeStateSource,
35
+ createDefaultAgentGuiWorkbenchNodeState,
36
+ normalizeAgentGuiWorkbenchNodeState,
37
+ normalizeAgentGuiWorkbenchState,
38
+ projectAgentGuiWorkbenchState
39
+ } from "../chunk-IYEXLOUE.js";
39
40
  import {
40
41
  agentGuiWorkbenchComingSoonProviders,
41
42
  agentGuiWorkbenchDefaultDockProviders,
@@ -48,16 +49,18 @@ import {
48
49
  isAgentGuiWorkbenchProvider,
49
50
  normalizeAgentGuiWorkbenchProvider,
50
51
  resolveAgentGuiWorkbenchProviderLabel
51
- } from "../chunk-XW4CVBUH.js";
52
+ } from "../chunk-L3GMMGRS.js";
52
53
  import {
53
- formatAgentGuiConversationPlainTitle,
54
- formatAgentGuiSessionPlainTitle,
55
- resolveAgentGuiWorkbenchSessionTitle
56
- } from "../chunk-ZUW4B5AT.js";
57
- import "../chunk-SCLLP5DO.js";
58
- import "../chunk-XDV4ZRVK.js";
59
- import "../chunk-UBDPV34P.js";
54
+ agentGuiWorkbenchOpenSessionActivationType,
55
+ agentGuiWorkbenchPrefillPromptActivationType
56
+ } from "../chunk-UHBCM6RO.js";
57
+ import "../chunk-C35SNDVZ.js";
58
+ import "../chunk-4YG7YK7S.js";
59
+ import "../chunk-H6IQ63DQ.js";
60
60
  import "../chunk-GCBDIQDX.js";
61
+ import "../chunk-W6WAGPMD.js";
62
+ import "../chunk-KJQERFKX.js";
63
+ import "../chunk-UGVI47X6.js";
61
64
  export {
62
65
  AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT,
63
66
  AGENT_GUI_WORKBENCH_NEW_CONVERSATION_EVENT,
@@ -89,8 +92,6 @@ export {
89
92
  createAgentGuiWorkbenchNodeStateSource,
90
93
  createAgentGuiWorkbenchSessionLaunchRequest,
91
94
  createDefaultAgentGuiWorkbenchNodeState,
92
- formatAgentGuiConversationPlainTitle,
93
- formatAgentGuiSessionPlainTitle,
94
95
  isAgentGuiWorkbenchComingSoonProvider,
95
96
  isAgentGuiWorkbenchDefaultDockProvider,
96
97
  isAgentGuiWorkbenchDockSuppressedProvider,
@@ -101,6 +102,7 @@ export {
101
102
  projectAgentGuiWorkbenchState,
102
103
  resolveAgentGuiUnifiedDockLaunchPayload,
103
104
  resolveAgentGuiWorkbenchContributionCopy,
105
+ resolveAgentGuiWorkbenchHeaderTitle,
104
106
  resolveAgentGuiWorkbenchProviderLabel,
105
107
  resolveAgentGuiWorkbenchSessionTitle
106
108
  };
@@ -5,12 +5,9 @@ type AgentGuiWorkbenchLaunchRequestInput = Pick<WorkbenchHostLaunchRequest, "lau
5
5
  dockEntryId?: string | null;
6
6
  };
7
7
  declare const agentGuiWorkbenchTypeId = "agent-gui";
8
- type AgentGuiWorkbenchDockIdentity = {
9
- kind: "legacyProvider";
10
- provider: AgentGuiWorkbenchProvider;
11
- } | {
8
+ interface AgentGuiWorkbenchDockIdentity {
12
9
  kind: "unifiedAggregate";
13
- };
10
+ }
14
11
  declare function agentGuiWorkbenchDockEntryId(provider: AgentGuiWorkbenchProvider): string;
15
12
  declare function agentGuiWorkbenchUnifiedDockEntryId(): string;
16
13
  declare function agentGuiWorkbenchInstanceId(provider: AgentGuiWorkbenchProvider): string;
@@ -30,7 +27,7 @@ declare function createAgentGuiWorkbenchSessionLaunchRequest(input: {
30
27
  }): {
31
28
  dockEntryId: string;
32
29
  payload: {
33
- provider: AgentGuiWorkbenchProvider;
30
+ provider: string;
34
31
  openInNewWindow?: boolean | undefined;
35
32
  agentSessionId?: string | undefined;
36
33
  agentTargetId?: string | undefined;
@@ -53,7 +50,7 @@ declare function createAgentGuiWorkbenchDraftLaunchRequest(input: {
53
50
  autoSubmit?: boolean | undefined;
54
51
  agentTargetId?: string | undefined;
55
52
  draftPrompt: string;
56
- provider: AgentGuiWorkbenchProvider;
53
+ provider: string;
57
54
  };
58
55
  reason: "host";
59
56
  typeId: string;
@@ -12,11 +12,12 @@ import {
12
12
  createAgentGuiWorkbenchSessionLaunchRequest,
13
13
  resolveAgentGuiWorkbenchLaunchDockEntryId,
14
14
  shouldReuseAgentGuiWorkbenchDockEntryNode
15
- } from "../chunk-7LMJXF4R.js";
15
+ } from "../chunk-TVIGLNNI.js";
16
+ import "../chunk-L3GMMGRS.js";
16
17
  import {
17
18
  agentGuiWorkbenchPrefillPromptActivationType
18
- } from "../chunk-GAPTLVII.js";
19
- import "../chunk-XW4CVBUH.js";
19
+ } from "../chunk-UHBCM6RO.js";
20
+ import "../chunk-KJQERFKX.js";
20
21
  export {
21
22
  agentGuiWorkbenchDockEntryId,
22
23
  agentGuiWorkbenchDockIdentityFromIdentifier,
@@ -4,12 +4,12 @@ declare const agentGuiWorkbenchProviders: readonly ["claude-code", "codex", "cur
4
4
  declare const agentGuiWorkbenchDefaultDockProviders: readonly ["codex", "claude-code", "tutti-agent"];
5
5
  declare const agentGuiWorkbenchDockSuppressedProviders: readonly ["hermes", "opencode"];
6
6
  declare const agentGuiWorkbenchComingSoonProviders: readonly [];
7
- declare const agentGuiWorkbenchProviderLabels: Record<AgentGuiWorkbenchProvider, string>;
7
+ declare const agentGuiWorkbenchProviderLabels: Record<string, string>;
8
8
  declare function resolveAgentGuiWorkbenchProviderLabel(provider: AgentGuiWorkbenchProvider): string;
9
9
  declare function isAgentGuiWorkbenchDefaultDockProvider(provider: AgentGuiWorkbenchProvider): boolean;
10
10
  declare function isAgentGuiWorkbenchDockSuppressedProvider(provider: AgentGuiWorkbenchProvider): boolean;
11
11
  declare function isAgentGuiWorkbenchComingSoonProvider(provider: AgentGuiWorkbenchProvider): boolean;
12
12
  declare function isAgentGuiWorkbenchProvider(value: unknown): value is AgentGuiWorkbenchProvider;
13
- declare function normalizeAgentGuiWorkbenchProvider(value: unknown, fallbackProvider?: AgentGuiWorkbenchProvider): AgentGuiWorkbenchProvider;
13
+ declare function normalizeAgentGuiWorkbenchProvider(value: unknown): AgentGuiWorkbenchProvider;
14
14
 
15
15
  export { agentGuiWorkbenchComingSoonProviders, agentGuiWorkbenchDefaultDockProviders, agentGuiWorkbenchDockSuppressedProviders, agentGuiWorkbenchProviderLabels, agentGuiWorkbenchProviders, isAgentGuiWorkbenchComingSoonProvider, isAgentGuiWorkbenchDefaultDockProvider, isAgentGuiWorkbenchDockSuppressedProvider, isAgentGuiWorkbenchProvider, normalizeAgentGuiWorkbenchProvider, resolveAgentGuiWorkbenchProviderLabel };
@@ -10,7 +10,8 @@ import {
10
10
  isAgentGuiWorkbenchProvider,
11
11
  normalizeAgentGuiWorkbenchProvider,
12
12
  resolveAgentGuiWorkbenchProviderLabel
13
- } from "../chunk-XW4CVBUH.js";
13
+ } from "../chunk-L3GMMGRS.js";
14
+ import "../chunk-KJQERFKX.js";
14
15
  export {
15
16
  agentGuiWorkbenchComingSoonProviders,
16
17
  agentGuiWorkbenchDefaultDockProviders,
@@ -1,27 +1,24 @@
1
- import { AgentActivitySnapshot } from '@tutti-os/agent-activity-core';
2
- import { U as UiLanguage } from '../uiSettings-BQS9r2eo.js';
1
+ import { AgentActivityMessage, AgentActivitySession } from '@tutti-os/agent-activity-core';
3
2
  import { AgentGuiWorkbenchProvider } from './types.js';
4
3
 
5
- interface AgentGuiSessionTitleFormatOptions {
6
- fallbackAgentLabel?: string;
7
- language?: UiLanguage;
4
+ interface ResolveAgentGuiWorkbenchHeaderTitleInput {
5
+ agentName?: string | null;
6
+ conversationTitle?: string | null;
7
+ provider?: string | null;
8
8
  }
9
- interface ResolveAgentGuiWorkbenchSessionTitleInput extends AgentGuiSessionTitleFormatOptions {
9
+ interface ResolveAgentGuiWorkbenchSessionTitleInput {
10
10
  agentSessionId?: string | null;
11
11
  fallbackTitle?: string | null;
12
12
  provider: AgentGuiWorkbenchProvider | string;
13
- snapshot: AgentActivitySnapshot;
13
+ messages?: readonly AgentActivityMessage[];
14
+ session?: AgentActivitySession | null;
14
15
  }
15
16
  interface AgentGuiWorkbenchSessionTitleResult {
16
17
  agentSessionId: string | null;
17
18
  source: "snapshot" | "fallback" | "none";
18
19
  title: string | null;
19
20
  }
20
- declare function formatAgentGuiSessionPlainTitle(title: string | null | undefined, options?: AgentGuiSessionTitleFormatOptions): string;
21
- declare function formatAgentGuiConversationPlainTitle(conversation: {
22
- title: string;
23
- titleFallback?: "generic-agent" | null;
24
- }, options?: AgentGuiSessionTitleFormatOptions): string;
25
- declare function resolveAgentGuiWorkbenchSessionTitle({ agentSessionId, fallbackTitle, language, provider, snapshot }: ResolveAgentGuiWorkbenchSessionTitleInput): AgentGuiWorkbenchSessionTitleResult;
21
+ declare function resolveAgentGuiWorkbenchHeaderTitle({ agentName, conversationTitle, provider }: ResolveAgentGuiWorkbenchHeaderTitleInput): string | null;
22
+ declare function resolveAgentGuiWorkbenchSessionTitle({ agentSessionId, fallbackTitle, provider, messages, session }: ResolveAgentGuiWorkbenchSessionTitleInput): AgentGuiWorkbenchSessionTitleResult;
26
23
 
27
- export { type AgentGuiSessionTitleFormatOptions, type AgentGuiWorkbenchSessionTitleResult, type ResolveAgentGuiWorkbenchSessionTitleInput, formatAgentGuiConversationPlainTitle, formatAgentGuiSessionPlainTitle, resolveAgentGuiWorkbenchSessionTitle };
24
+ export { type AgentGuiWorkbenchSessionTitleResult, type ResolveAgentGuiWorkbenchHeaderTitleInput, type ResolveAgentGuiWorkbenchSessionTitleInput, resolveAgentGuiWorkbenchHeaderTitle, resolveAgentGuiWorkbenchSessionTitle };
@@ -1,14 +1,13 @@
1
1
  import {
2
- formatAgentGuiConversationPlainTitle,
3
- formatAgentGuiSessionPlainTitle,
2
+ resolveAgentGuiWorkbenchHeaderTitle,
4
3
  resolveAgentGuiWorkbenchSessionTitle
5
- } from "../chunk-ZUW4B5AT.js";
6
- import "../chunk-SCLLP5DO.js";
7
- import "../chunk-UBDPV34P.js";
4
+ } from "../chunk-3Y3F7CS5.js";
5
+ import "../chunk-4PQPJ5OY.js";
8
6
  import "../chunk-GCBDIQDX.js";
7
+ import "../chunk-W6WAGPMD.js";
8
+ import "../chunk-KJQERFKX.js";
9
9
  export {
10
- formatAgentGuiConversationPlainTitle,
11
- formatAgentGuiSessionPlainTitle,
10
+ resolveAgentGuiWorkbenchHeaderTitle,
12
11
  resolveAgentGuiWorkbenchSessionTitle
13
12
  };
14
13
  //# sourceMappingURL=sessionTitle.js.map
@@ -12,7 +12,7 @@ declare function normalizeAgentGuiWorkbenchState(state: unknown): AgentGuiWorkbe
12
12
  declare function migrateLegacyAgentGuiWorkbenchState(state: unknown): unknown;
13
13
  declare function projectAgentGuiWorkbenchState(state: AgentGuiWorkbenchNodeState): AgentGuiWorkbenchState;
14
14
  declare function areAgentGuiWorkbenchStatesEqual(left: AgentGuiWorkbenchState, right: AgentGuiWorkbenchState): boolean;
15
- declare function normalizeAgentGuiWorkbenchNodeState(state: Partial<AgentGuiWorkbenchNodeState> | null | undefined, fallbackProvider?: AgentGuiWorkbenchProvider): AgentGuiWorkbenchNodeState;
15
+ declare function normalizeAgentGuiWorkbenchNodeState(state: unknown, fallbackProvider?: AgentGuiWorkbenchProvider): AgentGuiWorkbenchNodeState;
16
16
  declare function areAgentGuiWorkbenchNodeStatesEqual(left: AgentGuiWorkbenchNodeState, right: AgentGuiWorkbenchNodeState): boolean;
17
17
  declare function agentGuiWorkbenchProviderFromInstanceId(instanceId: string | null | undefined): AgentGuiWorkbenchProvider;
18
18
  /**
@@ -9,8 +9,9 @@ import {
9
9
  normalizeAgentGuiWorkbenchNodeState,
10
10
  normalizeAgentGuiWorkbenchState,
11
11
  projectAgentGuiWorkbenchState
12
- } from "../chunk-45FF4DQU.js";
13
- import "../chunk-XW4CVBUH.js";
12
+ } from "../chunk-IYEXLOUE.js";
13
+ import "../chunk-L3GMMGRS.js";
14
+ import "../chunk-KJQERFKX.js";
14
15
  export {
15
16
  agentGuiWorkbenchProviderFromInstanceId,
16
17
  agentGuiWorkbenchProviderFromInstanceIdOrNull,