@theia/ai-ide 1.74.0-next.35 → 1.74.0-next.44

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.
@@ -23,6 +23,21 @@ export interface ChatSessionItemProps {
23
23
  actions?: ChatSessionItemAction[];
24
24
  /** Invoked when an action is triggered, with the action and this item's session. */
25
25
  onAction?: (action: ChatSessionItemAction, session: ChatSessionMetadata) => void;
26
+ /**
27
+ * Whether this session has child sessions. The children themselves are rendered separately by
28
+ * the parent list; this only drives the expand/collapse toggle.
29
+ */
30
+ hasChildSessions?: boolean;
31
+ /** Whether this item is a child of a parent session. */
32
+ isChildSession?: boolean;
33
+ /** Depth level for indentation. */
34
+ depth?: number;
35
+ /** Whether the parent session is expanded. */
36
+ isExpanded?: boolean;
37
+ /** Whether any descendant session needs user action; shows a warning badge on this row. */
38
+ descendantNeedsAttention?: boolean;
39
+ /** Called when the user toggles the expand/collapse state. */
40
+ onToggleExpand?: () => void;
26
41
  }
27
42
  export interface ChatSessionItemComponentProps extends ChatSessionItemProps {
28
43
  formatTimeAgo: (date: number) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-session-item.d.ts","sourceRoot":"","sources":["../../src/browser/chat-session-item.tsx"],"names":[],"mappings":"AAgBA,OAAO,EACH,gBAAgB,EAAE,WAAW,EAAe,mBAAmB,EAClE,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAwB,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAgC,YAAY,EAAmB,MAAM,yBAAyB,CAAC;AACtG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AAEhG,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAGhF,+EAA+E;AAC/E,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,uGAAuG;IACvG,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,mBAAmB,CAAC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAClC,oFAAoF;IACpF,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACpF;AA0CD,MAAM,WAAW,6BAA8B,SAAQ,oBAAoB;IACvE,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,6BAA6B,GAAG,KAAK,CAAC,YAAY,CAkKxF"}
1
+ {"version":3,"file":"chat-session-item.d.ts","sourceRoot":"","sources":["../../src/browser/chat-session-item.tsx"],"names":[],"mappings":"AAgBA,OAAO,EACH,gBAAgB,EAAE,WAAW,EAAe,mBAAmB,EAClE,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAwB,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAgC,YAAY,EAAmB,MAAM,yBAAyB,CAAC;AACtG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AAEhG,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAGhF,+EAA+E;AAC/E,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,uGAAuG;IACvG,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,mBAAmB,CAAC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAClC,oFAAoF;IACpF,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACjF;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,wDAAwD;IACxD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2FAA2F;IAC3F,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AA0CD,MAAM,WAAW,6BAA8B,SAAQ,oBAAoB;IACvE,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,6BAA6B,GAAG,KAAK,CAAC,YAAY,CA0MxF"}
@@ -55,7 +55,8 @@ function useTimeAgo(date, formatter) {
55
55
  return formatter(date);
56
56
  }
57
57
  function ChatSessionItem(props) {
58
- const { session, isRestored, chatService, chatAgentService, hoverService, markdownRenderer, unreadState, onClick, actions, onAction, formatTimeAgo } = props;
58
+ const { session, isRestored, chatService, chatAgentService, hoverService, markdownRenderer, unreadState, onClick, actions, onAction, formatTimeAgo, hasChildSessions, isChildSession, depth, isExpanded, descendantNeedsAttention, onToggleExpand } = props;
59
+ const currentDepth = depth ?? 0;
59
60
  // eslint-disable-next-line no-null/no-null
60
61
  const itemRef = React.useRef(null);
61
62
  const hoverActiveRef = React.useRef(false);
@@ -111,8 +112,8 @@ function ChatSessionItem(props) {
111
112
  // once the session is actually opened.
112
113
  const loadedSession = chatService.getSession(session.sessionId);
113
114
  const tooltip = loadedSession
114
- ? (0, chat_session_tooltip_1.buildSessionTooltip)(loadedSession, session, chatAgentService, markdownRenderer, hasUnread)
115
- : (0, chat_session_tooltip_1.buildRestoredSessionTooltip)(session, chatAgentService);
115
+ ? (0, chat_session_tooltip_1.buildSessionTooltip)(loadedSession, session, chatAgentService, markdownRenderer, hasUnread, descendantNeedsAttention)
116
+ : (0, chat_session_tooltip_1.buildRestoredSessionTooltip)(session, chatAgentService, descendantNeedsAttention);
116
117
  // The tooltip may hold a markdown render result; dispose it once the hover is torn down
117
118
  // (or right away if we no longer intend to show it).
118
119
  if (!hoverActiveRef.current) {
@@ -120,7 +121,7 @@ function ChatSessionItem(props) {
120
121
  return;
121
122
  }
122
123
  hoverService.requestHover({ content: tooltip.element, target, position: 'left', onHide: () => tooltip.dispose() });
123
- }, [session, chatService, chatAgentService, hoverService, markdownRenderer, hasUnread]);
124
+ }, [session, chatService, chatAgentService, hoverService, markdownRenderer, hasUnread, descendantNeedsAttention]);
124
125
  React.useEffect(() => () => { hoverActiveRef.current = false; }, []);
125
126
  const handleMouseLeave = React.useCallback(() => {
126
127
  hoverActiveRef.current = false;
@@ -142,14 +143,20 @@ function ChatSessionItem(props) {
142
143
  // so the waiting state takes precedence over the generic working spinner: it signals that the
143
144
  // user, not the agent, needs to act.
144
145
  const isWorking = status !== undefined && ai_chat_1.ChatSessionStatus.isInProgress(status);
145
- const isWaitingForInput = status !== undefined && ai_chat_1.ChatSessionStatus.requiresUserAction(status);
146
+ const ownWaitingForInput = status !== undefined && ai_chat_1.ChatSessionStatus.requiresUserAction(status);
147
+ // A row whose (possibly nested) delegated child needs action shows the same bell + dot as a row
148
+ // that needs action itself, so the signal is consistent and stands out even when collapsed.
149
+ const isWaitingForInput = ownWaitingForInput || descendantNeedsAttention === true;
146
150
  const showWorking = isWorking && !isWaitingForInput;
147
- const showUnread = hasUnread && !isWorking && !hasError;
148
- const attentionLabel = status === 'awaitingApproval'
149
- ? nls_1.nls.localize('theia/ai/ide/requiresApproval', 'Requires your approval')
150
- : nls_1.nls.localize('theia/ai/ide/waitingForInput', 'Waiting for your input');
151
+ const showUnread = hasUnread && !isWorking && !hasError && !isWaitingForInput;
152
+ const attentionLabel = ownWaitingForInput
153
+ ? (status === 'awaitingApproval'
154
+ ? nls_1.nls.localize('theia/ai/ide/requiresApproval', 'Requires your approval')
155
+ : nls_1.nls.localize('theia/ai/ide/waitingForInput', 'Waiting for your input'))
156
+ : nls_1.nls.localize('theia/ai/ide/childInteractionNeeded', 'A delegated session needs your attention');
151
157
  const itemClasses = [
152
158
  'theia-chat-session-item',
159
+ isChildSession && 'theia-chat-session-item-child',
153
160
  isWaitingForInput && 'theia-chat-session-item-attention',
154
161
  showWorking && 'theia-chat-session-item-working',
155
162
  hasError && !isWorking && 'theia-chat-session-item-error',
@@ -160,11 +167,25 @@ function ChatSessionItem(props) {
160
167
  : showWorking
161
168
  ? `${(0, browser_1.codicon)('loading')} theia-animation-spin`
162
169
  : agentIcon;
163
- return (React.createElement("div", { ref: itemRef, className: itemClasses, role: "button", tabIndex: 0, onClick: onClick, onKeyDown: handleKeyDown, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, onMouseOver: handleMouseOver },
170
+ return (React.createElement("div", { ref: itemRef, className: itemClasses, role: "button", tabIndex: 0, style: { '--tree-indent': `${currentDepth * 12}px` }, onClick: onClick, onKeyDown: handleKeyDown, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, onMouseOver: handleMouseOver },
164
171
  React.createElement("div", { className: "theia-chat-session-item-icon-col" },
165
- isRestored ? (React.createElement("span", { className: `${(0, browser_1.codicon)('archive')} theia-chat-session-item-archive-icon`, title: nls_1.nls.localize('theia/ai/ide/restoredSession', 'Restored session') })) : (React.createElement("span", { className: `theia-chat-session-item-agent-icon ${iconClass}` })),
166
- showUnread && (React.createElement("span", { className: "theia-chat-session-item-unread-dot", "aria-label": nls_1.nls.localize('theia/ai/ide/tooltip/unread', 'Unread') })),
167
- isWaitingForInput && (React.createElement("span", { className: "theia-chat-session-item-attention-dot", "aria-label": attentionLabel }))),
172
+ hasChildSessions ? (React.createElement("span", { className: "theia-chat-session-item-expand-icon", onClick: e => {
173
+ e.stopPropagation();
174
+ onToggleExpand?.();
175
+ }, onKeyDown: e => {
176
+ if ((0, browser_1.isActivationKey)(e)) {
177
+ e.preventDefault();
178
+ e.stopPropagation();
179
+ onToggleExpand?.();
180
+ }
181
+ }, onMouseDown: e => e.preventDefault(), role: "button", tabIndex: 0, "aria-expanded": isExpanded, "aria-label": isExpanded
182
+ ? nls_1.nls.localize('theia/ai/ide/collapseSession', 'Collapse {0}', title)
183
+ : nls_1.nls.localize('theia/ai/ide/expandSession', 'Expand {0}', title) },
184
+ React.createElement("span", { className: `codicon ${isExpanded ? 'codicon-chevron-down' : 'codicon-chevron-right'}` }))) : (React.createElement("span", { className: "theia-chat-session-item-expand-icon theia-chat-session-item-expand-placeholder", "aria-hidden": "true" })),
185
+ React.createElement("span", { className: "theia-chat-session-item-status-icon" },
186
+ isRestored && !isWaitingForInput ? (React.createElement("span", { className: `${(0, browser_1.codicon)('archive')} theia-chat-session-item-archive-icon`, title: nls_1.nls.localize('theia/ai/ide/restoredSession', 'Restored session') })) : (React.createElement("span", { className: `theia-chat-session-item-agent-icon ${iconClass}`, title: isWaitingForInput ? attentionLabel : undefined })),
187
+ showUnread && (React.createElement("span", { className: "theia-chat-session-item-unread-dot", "aria-label": nls_1.nls.localize('theia/ai/ide/tooltip/unread', 'Unread') })),
188
+ isWaitingForInput && (React.createElement("span", { className: "theia-chat-session-item-attention-dot", "aria-label": attentionLabel })))),
168
189
  React.createElement("div", { className: "theia-chat-session-item-content" },
169
190
  React.createElement("div", { className: "theia-chat-session-item-title-line" },
170
191
  React.createElement("span", { className: "theia-chat-session-item-title", title: title }, title)),
@@ -1 +1 @@
1
- {"version":3,"file":"chat-session-item.js","sourceRoot":"","sources":["../../src/browser/chat-session-item.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-session-item.js","sourceRoot":"","sources":["../../src/browser/chat-session-item.tsx"],"names":[],"mappings":"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"}
@@ -8,10 +8,10 @@ import { Disposable } from '@theia/core';
8
8
  export interface SessionTooltip extends Disposable {
9
9
  element: HTMLElement;
10
10
  }
11
- export declare function buildSessionTooltip(session: ChatSession, metadata: ChatSessionMetadata, agentService: ChatAgentService, markdownRenderer: MarkdownRenderer, isUnread: boolean): SessionTooltip;
11
+ export declare function buildSessionTooltip(session: ChatSession, metadata: ChatSessionMetadata, agentService: ChatAgentService, markdownRenderer: MarkdownRenderer, isUnread: boolean, descendantNeedsAttention?: boolean): SessionTooltip;
12
12
  /**
13
13
  * Build a tooltip for a session that hasn't been loaded yet (i.e. a restored / persisted entry
14
14
  * shown on the home view). Avoids any restore I/O so hover does not promote the item to Active.
15
15
  */
16
- export declare function buildRestoredSessionTooltip(metadata: ChatSessionMetadata, agentService: ChatAgentService): SessionTooltip;
16
+ export declare function buildRestoredSessionTooltip(metadata: ChatSessionMetadata, agentService: ChatAgentService, descendantNeedsAttention?: boolean): SessionTooltip;
17
17
  //# sourceMappingURL=chat-session-tooltip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-session-tooltip.d.ts","sourceRoot":"","sources":["../../src/browser/chat-session-tooltip.ts"],"names":[],"mappings":"AAgBA,OAAO,EACH,gBAAgB,EAAyC,WAAW,EAAE,mBAAmB,EAE5F,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AAEhG,OAAO,EAAE,UAAU,EAAwB,MAAM,aAAa,CAAC;AAK/D;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,UAAU;IAC9C,OAAO,EAAE,WAAW,CAAC;CACxB;AAuDD,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,EACnD,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAClE,QAAQ,EAAE,OAAO,GAClB,cAAc,CAmGhB;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACvC,QAAQ,EAAE,mBAAmB,EAAE,YAAY,EAAE,gBAAgB,GAC9D,cAAc,CAuBhB"}
1
+ {"version":3,"file":"chat-session-tooltip.d.ts","sourceRoot":"","sources":["../../src/browser/chat-session-tooltip.ts"],"names":[],"mappings":"AAgBA,OAAO,EACH,gBAAgB,EAAyC,WAAW,EAAE,mBAAmB,EAE5F,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AAEhG,OAAO,EAAE,UAAU,EAAwB,MAAM,aAAa,CAAC;AAK/D;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,UAAU;IAC9C,OAAO,EAAE,WAAW,CAAC;CACxB;AAuDD,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,EACnD,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAClE,QAAQ,EAAE,OAAO,EAAE,wBAAwB,GAAE,OAAe,GAC7D,cAAc,CA0GhB;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACvC,QAAQ,EAAE,mBAAmB,EAAE,YAAY,EAAE,gBAAgB,EAAE,wBAAwB,GAAE,OAAe,GACzG,cAAc,CA6BhB"}
@@ -71,7 +71,7 @@ function addDefinitionEntry(definitionList, term, detail) {
71
71
  detailElement.textContent = detail;
72
72
  definitionList.appendChild(detailElement);
73
73
  }
74
- function buildSessionTooltip(session, metadata, agentService, markdownRenderer, isUnread) {
74
+ function buildSessionTooltip(session, metadata, agentService, markdownRenderer, isUnread, descendantNeedsAttention = false) {
75
75
  const toDispose = new core_1.DisposableCollection();
76
76
  const requests = session.model.getRequests();
77
77
  const lastRequest = requests.at(-1);
@@ -92,6 +92,14 @@ function buildSessionTooltip(session, metadata, agentService, markdownRenderer,
92
92
  badge.textContent = nls_1.nls.localize('theia/ai/ide/waitingForInput', 'Waiting for your input');
93
93
  container.appendChild(badge);
94
94
  }
95
+ else if (descendantNeedsAttention) {
96
+ // The session itself is not awaiting the user, but one of its delegated children is;
97
+ // surface that instead of the generic running badge so the reason is clear.
98
+ const badge = document.createElement('div');
99
+ badge.className = 'theia-chat-session-badge-attention-tooltip';
100
+ badge.textContent = nls_1.nls.localize('theia/ai/ide/childInteractionNeeded', 'A delegated session needs your attention');
101
+ container.appendChild(badge);
102
+ }
95
103
  else if (ai_chat_1.ChatSessionStatus.isInProgress(status)) {
96
104
  const badge = document.createElement('div');
97
105
  badge.className = 'theia-chat-session-badge-running-tooltip';
@@ -167,12 +175,19 @@ function buildSessionTooltip(session, metadata, agentService, markdownRenderer,
167
175
  * Build a tooltip for a session that hasn't been loaded yet (i.e. a restored / persisted entry
168
176
  * shown on the home view). Avoids any restore I/O so hover does not promote the item to Active.
169
177
  */
170
- function buildRestoredSessionTooltip(metadata, agentService) {
178
+ function buildRestoredSessionTooltip(metadata, agentService, descendantNeedsAttention = false) {
171
179
  const container = document.createElement('div');
172
180
  container.className = 'theia-chat-session-tooltip';
173
181
  const badge = document.createElement('div');
174
- badge.className = 'theia-chat-session-badge-restored-tooltip';
175
- badge.textContent = nls_1.nls.localize('theia/ai/ide/restoredSession', 'Restored session');
182
+ if (descendantNeedsAttention) {
183
+ // A persisted parent whose delegated child needs the user; show that rather than "Restored".
184
+ badge.className = 'theia-chat-session-badge-attention-tooltip';
185
+ badge.textContent = nls_1.nls.localize('theia/ai/ide/childInteractionNeeded', 'A delegated session needs your attention');
186
+ }
187
+ else {
188
+ badge.className = 'theia-chat-session-badge-restored-tooltip';
189
+ badge.textContent = nls_1.nls.localize('theia/ai/ide/restoredSession', 'Restored session');
190
+ }
176
191
  container.appendChild(badge);
177
192
  const definitionList = document.createElement('dl');
178
193
  if (metadata.pinnedAgentId) {
@@ -1 +1 @@
1
- {"version":3,"file":"chat-session-tooltip.js","sourceRoot":"","sources":["../../src/browser/chat-session-tooltip.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AA0EhF,kDAuGC;AAMD,kEAyBC;AA9MD,4CAGwB;AAExB,oDAAiD;AACjD,sCAA+D;AAC/D,mFAA8E;AAE9E,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAUxC,0EAA0E;AAC1E,SAAS,uBAAuB,CAAC,QAAsC;IACnE,IAAI,QAAQ,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;QAChC,OAAO,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC;IACxC,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,kCAAwB,CAAC,EAAE,CAAC,CAAC;IAC9E,OAAO,SAAS,EAAE,eAAe,EAAE,EAAE,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,SAAS,4BAA4B,CAAC,KAA6B;IAC/D,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,GAAG,kCAAkC,CAAC;IACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,CAAC,SAAS,GAAG,yCAAyC,CAAC;IAC7D,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM;QAC7B,CAAC,CAAC,GAAG,SAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG;QACtD,CAAC,CAAC,GAAG,SAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC;IAC3C,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,0BAA0B;QAC9D,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,0BAA0B,CAAC,GAAG,GAAG;QAC9D,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IACpB,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC;IAC7D,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,4EAA4E;AAC5E,SAAS,uBAAuB,CAAC,OAA8B;IAC3D,OAAO,OAAO;SACT,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,qCAA2B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAC/C,GAAG,CAAC,CAAC,CAAC,EAAE;QACL,IAAI,6BAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,CAAC;SACnE,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,kBAAkB,CAAC,cAAgC,EAAE,IAAY,EAAE,MAAc;IACtF,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACjD,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACnD,aAAa,CAAC,WAAW,GAAG,MAAM,CAAC;IACnC,cAAc,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,mBAAmB,CAC/B,OAAoB,EAAE,QAA6B,EACnD,YAA8B,EAAE,gBAAkC,EAClE,QAAiB;IAEjB,MAAM,SAAS,GAAG,IAAI,2BAAoB,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;IAEpC,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,SAAS,CAAC,SAAS,GAAG,4BAA4B,CAAC;IAEnD,2FAA2F;IAC3F,qCAAqC;IACrC,IAAI,MAAM,KAAK,kBAAkB,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,CAAC,SAAS,GAAG,4CAA4C,CAAC;QAC/D,KAAK,CAAC,WAAW,GAAG,SAAG,CAAC,QAAQ,CAAC,+BAA+B,EAAE,wBAAwB,CAAC,CAAC;QAC5F,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;SAAM,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,CAAC,SAAS,GAAG,4CAA4C,CAAC;QAC/D,KAAK,CAAC,WAAW,GAAG,SAAG,CAAC,QAAQ,CAAC,8BAA8B,EAAE,wBAAwB,CAAC,CAAC;QAC3F,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;SAAM,IAAI,2BAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,CAAC,SAAS,GAAG,0CAA0C,CAAC;QAC7D,KAAK,CAAC,WAAW,GAAG,SAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACrD,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;SAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,CAAC,SAAS,GAAG,wCAAwC,CAAC;QAC3D,KAAK,CAAC,WAAW,GAAG,SAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACnD,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,CAAC,SAAS,GAAG,yCAAyC,CAAC;QAC5D,KAAK,CAAC,WAAW,GAAG,SAAG,CAAC,QAAQ,CAAC,6BAA6B,EAAE,QAAQ,CAAC,CAAC;QAC1E,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QACd,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1F,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC5C,KAAK,CAAC,SAAS,GAAG,kCAAkC,CAAC;YACrD,KAAK,CAAC,WAAW,GAAG,SAAG,CAAC,QAAQ,CAAC,mCAAmC,EAAE,eAAe,CAAC,CAAC;YACvF,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC7B,SAAS,CAAC,WAAW,CAAC,4BAA4B,CAAC,IAAA,6BAAmB,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAEpF,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC/C,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU;gBACvC,CAAC,CAAC,CAAC,uBAAuB,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;gBACvE,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;YAE9C,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,GAAG,0BAA0B;oBAC3D,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,0BAA0B,CAAC,GAAG,GAAG;oBAC5D,CAAC,CAAC,WAAW,CAAC;gBAClB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC5C,KAAK,CAAC,SAAS,GAAG,kCAAkC,CAAC;gBACrD,KAAK,CAAC,WAAW,GAAG,SAAG,CAAC,QAAQ,CAAC,kCAAkC,EAAE,cAAc,CAAC,CAAC;gBACrF,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAE7B,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrD,cAAc,CAAC,SAAS,GAAG,oCAAoC,CAAC;gBAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC7D,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzB,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC7C,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAEtC,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC/C,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;IACL,CAAC;IAED,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAEpD,IAAI,WAAW,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC;QAC7G,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,OAAO,CAAC;YAClE,kBAAkB,CAAC,cAAc,EAAE,SAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,CAAC;QACxF,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC9B,MAAM,aAAa,GAAG,KAAK,KAAK,CAAC;QAC7B,CAAC,CAAC,SAAG,CAAC,QAAQ,CAAC,kCAAkC,EAAE,YAAY,CAAC;QAChE,CAAC,CAAC,SAAG,CAAC,QAAQ,CAAC,wCAAwC,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;IACrF,kBAAkB,CAAC,cAAc,EAAE,SAAG,CAAC,QAAQ,CAAC,+BAA+B,EAAE,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC;IAE7G,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpE,kBAAkB,CAAC,cAAc,EAAE,SAAG,CAAC,QAAQ,CAAC,mCAAmC,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAE9H,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACtC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,SAAgB,2BAA2B,CACvC,QAA6B,EAAE,YAA8B;IAE7D,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,SAAS,CAAC,SAAS,GAAG,4BAA4B,CAAC;IAEnD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5C,KAAK,CAAC,SAAS,GAAG,2CAA2C,CAAC;IAC9D,KAAK,CAAC,WAAW,GAAG,SAAG,CAAC,QAAQ,CAAC,8BAA8B,EAAE,kBAAkB,CAAC,CAAC;IACrF,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE7B,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAEpD,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAC,aAAa,CAAC;QAChG,kBAAkB,CAAC,cAAc,EAAE,SAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,kBAAkB,CAAC,cAAc,EAAE,SAAG,CAAC,QAAQ,CAAC,mCAAmC,EAAE,eAAe,CAAC,EACjG,GAAG,IAAI,CAAC,cAAc,EAAE,KAAK,IAAA,+BAAa,EAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEtE,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACtC,qGAAqG;IACrG,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"chat-session-tooltip.js","sourceRoot":"","sources":["../../src/browser/chat-session-tooltip.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,12 @@ export interface SectionedSessions {
10
10
  active: ChatSessionMetadata[];
11
11
  restored: ChatSessionMetadata[];
12
12
  }
13
+ /** A session row with its optional child sessions. */
14
+ export interface SessionRow {
15
+ session: ChatSessionMetadata;
16
+ isRestored: boolean;
17
+ childSessions: SessionRow[];
18
+ }
13
19
  export interface VisibleSessionSlots {
14
20
  activeCount: number;
15
21
  restoredCount: number;
@@ -40,6 +46,8 @@ export declare class ChatSessionsWelcomeMessageProvider implements ChatWelcomeMe
40
46
  protected get markdownRenderer(): MarkdownRenderer;
41
47
  /** Persisted sessions index sorted newest first. May include duplicates of active sessions. */
42
48
  protected _persistedSessions: ChatSessionMetadata[];
49
+ /** Expanded root session IDs (default collapsed). */
50
+ protected expandedRoots: Set<string>;
43
51
  protected readonly onStateChangedEmitter: Emitter<void>;
44
52
  readonly onStateChanged: Event<void>;
45
53
  protected init(): void;
@@ -58,8 +66,30 @@ export declare class ChatSessionsWelcomeMessageProvider implements ChatWelcomeMe
58
66
  */
59
67
  protected getSections(): SectionedSessions;
60
68
  renderWelcomeMessage(): React.ReactNode;
69
+ /**
70
+ * Builds one {@link SessionRow} per session (carrying its own restored flag), then nests each child
71
+ * row under its immediate parent's row to reconstruct the full (multi-level) delegation hierarchy.
72
+ * Two passes on purpose: the first creates a row for every session so the second can link each child
73
+ * to its parent. Sessions are ordered by recency, not parent-first, so a child may precede its parent
74
+ * here; linking in a single pass would miss parents not yet created.
75
+ */
76
+ protected buildRows(sections: SectionedSessions): SessionRow[];
61
77
  protected renderSessionsSection(sections: SectionedSessions): React.ReactNode;
62
- protected renderSessionItem: (session: ChatSessionMetadata, isRestored: boolean) => React.ReactNode;
78
+ protected toggleExpand: (sessionId: string) => void;
79
+ /** Whether a loaded session currently needs user action (approval or input). */
80
+ protected sessionRequiresAction(sessionId: string): boolean;
81
+ /** Whether any descendant (at any depth) of the given row currently needs user action. */
82
+ protected descendantRequiresAction(row: SessionRow): boolean;
83
+ /**
84
+ * Expands every ancestor of the given session (walking the immediate-parent chain) so a deeply
85
+ * delegated session becomes visible. The caller is responsible for triggering a re-render.
86
+ */
87
+ protected expandAncestors(session: ChatSession): void;
88
+ /** Collects the enabled session-item actions for a session, sorted by priority. */
89
+ protected getSessionActions(session: ChatSessionMetadata): ChatSessionItemAction[];
90
+ protected renderSessionRow: (row: SessionRow) => React.ReactNode;
91
+ /** Renders a session row and, when expanded, its child rows recursively so nested delegations show. */
92
+ protected renderSessionRowAtDepth(row: SessionRow, depth: number): React.ReactNode;
63
93
  protected handleSessionItemAction: (action: ChatSessionItemAction, session: ChatSessionMetadata) => void;
64
94
  protected handleSessionItemClick: (sessionId: string) => Promise<void>;
65
95
  protected handleBrowseAllChats: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-sessions-welcome-message-provider.d.ts","sourceRoot":"","sources":["../../src/browser/chat-sessions-welcome-message-provider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-sessions-welcome-message-provider.d.ts","sourceRoot":"","sources":["../../src/browser/chat-sessions-welcome-message-provider.tsx"],"names":[],"mappings":"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"}
@@ -34,6 +34,14 @@ const inversify_1 = require("@theia/core/shared/inversify");
34
34
  const React = require("@theia/core/shared/react");
35
35
  /** When both Active and Restored sections are non-empty, keep at least this many Restored slots. */
36
36
  const RESTORED_MIN_RESERVATION = 5;
37
+ /**
38
+ * The id of a session's immediate parent for tree building. Falls back to the root session id for
39
+ * sessions persisted before immediate-parent tracking existed, so their hierarchy still renders
40
+ * (flat under the root, as before).
41
+ */
42
+ function parentIdOf(session) {
43
+ return session.parentSessionId ?? session.rootSessionId;
44
+ }
37
45
  /**
38
46
  * Allocates the capped number of visible items between the Active and Restored sections of the
39
47
  * overview. When both sections are non-empty, up to {@link RESTORED_MIN_RESERVATION} slots are
@@ -56,19 +64,29 @@ function computeVisibleSessionSlots(activeTotal, restoredTotal, maxSessions) {
56
64
  const restoredCount = Math.min(restoredTotal, cap - activeCount);
57
65
  return { activeCount, restoredCount };
58
66
  }
59
- function SessionsList({ sections, maxSessions, renderItem, onBrowseAll }) {
60
- const total = sections.active.length + sections.restored.length;
61
- const { activeCount, restoredCount } = computeVisibleSessionSlots(sections.active.length, sections.restored.length, maxSessions);
62
- const activeVisible = sections.active.slice(0, activeCount);
63
- const restoredVisible = sections.restored.slice(0, restoredCount);
64
- const hiddenCount = total - activeVisible.length - restoredVisible.length;
67
+ function SessionsList({ rows, maxSessions, renderRow, onBrowseAll }) {
68
+ // Children are rendered inline by their parent row, so only top-level rows appear in the
69
+ // sections. A child whose parent session is not in the list falls back to top-level (orphan).
70
+ const topLevelRows = rows.filter(row => {
71
+ const parentId = parentIdOf(row.session);
72
+ if (!parentId) {
73
+ return true;
74
+ }
75
+ return !rows.some(r => r.session.sessionId === parentId);
76
+ });
77
+ const activeRows = topLevelRows.filter(row => !row.isRestored);
78
+ const restoredRows = topLevelRows.filter(row => row.isRestored);
79
+ const { activeCount, restoredCount } = computeVisibleSessionSlots(activeRows.length, restoredRows.length, maxSessions);
80
+ const activeVisible = activeRows.slice(0, activeCount);
81
+ const restoredVisible = restoredRows.slice(0, restoredCount);
82
+ const hiddenCount = topLevelRows.length - activeVisible.length - restoredVisible.length;
65
83
  return (React.createElement("div", { className: "theia-WelcomeMessage-SessionsList" },
66
84
  activeVisible.length > 0 && (React.createElement("div", { className: "theia-WelcomeMessage-SessionsGroup" },
67
85
  React.createElement("div", { className: "theia-WelcomeMessage-SessionsHeader" }, nls_1.nls.localizeByDefault('Active')),
68
- activeVisible.map(s => renderItem(s, false)))),
86
+ activeVisible.map(row => renderRow(row)))),
69
87
  restoredVisible.length > 0 && (React.createElement("div", { className: "theia-WelcomeMessage-SessionsGroup" },
70
88
  React.createElement("div", { className: "theia-WelcomeMessage-SessionsHeader" }, nls_1.nls.localize('theia/ai/ide/sectionRestored', 'Restored')),
71
- restoredVisible.map(s => renderItem(s, true)))),
89
+ restoredVisible.map(row => renderRow(row)))),
72
90
  hiddenCount > 0 && (React.createElement("div", { className: "theia-WelcomeMessage-SessionsFooter" },
73
91
  React.createElement("a", { className: "theia-WelcomeMessage-FooterLink", ...(0, browser_1.buttonKeyboardProps)(nls_1.nls.localize('theia/ai/ide/browseAllChats', 'Browse all chats...')), onClick: onBrowseAll, onKeyDown: e => {
74
92
  if ((0, browser_1.isActivationKey)(e)) {
@@ -86,16 +104,21 @@ let ChatSessionsWelcomeMessageProvider = class ChatSessionsWelcomeMessageProvide
86
104
  this.onUnreadChanged = this.onUnreadChangedEmitter.event;
87
105
  /** Persisted sessions index sorted newest first. May include duplicates of active sessions. */
88
106
  this._persistedSessions = [];
107
+ /** Expanded root session IDs (default collapsed). */
108
+ this.expandedRoots = new Set();
89
109
  this.onStateChangedEmitter = new core_1.Emitter();
90
110
  this.onStateChanged = this.onStateChangedEmitter.event;
91
- this.renderSessionItem = (session, isRestored) => {
92
- const actions = this.chatSessionItemActionContributions
93
- .getContributions()
94
- .flatMap(c => c.getActions(session))
95
- .filter(action => this.commandRegistry.isEnabled(action.commandId, session))
96
- .sort((a, b) => (a.priority ?? 0) - (b.priority ?? 0));
97
- return (React.createElement(chat_session_item_1.ChatSessionItem, { key: session.sessionId, session: session, isRestored: isRestored, chatService: this.chatService, chatAgentService: this.chatAgentService, hoverService: this.hoverService, markdownRenderer: this.markdownRenderer, unreadState: this, onClick: () => this.handleSessionItemClick(session.sessionId), actions: actions, onAction: this.handleSessionItemAction, formatTimeAgo: date => (0, chat_date_utils_1.formatTimeAgo)(date) }));
111
+ this.toggleExpand = (sessionId) => {
112
+ this.expandedRoots = new Set(this.expandedRoots);
113
+ if (this.expandedRoots.has(sessionId)) {
114
+ this.expandedRoots.delete(sessionId);
115
+ }
116
+ else {
117
+ this.expandedRoots.add(sessionId);
118
+ }
119
+ this.onStateChangedEmitter.fire();
98
120
  };
121
+ this.renderSessionRow = (row) => this.renderSessionRowAtDepth(row, 0);
99
122
  this.handleSessionItemAction = (action, session) => {
100
123
  this.commandRegistry.executeCommand(action.commandId, session);
101
124
  };
@@ -201,12 +224,25 @@ let ChatSessionsWelcomeMessageProvider = class ChatSessionsWelcomeMessageProvide
201
224
  const reqs = session.model.getRequests();
202
225
  const state = {
203
226
  unread: false,
227
+ requiresAction: ai_chat_1.ChatSessionStatus.requiresUserAction(session.model.status),
204
228
  seenRequests: reqs.length,
205
229
  seenCompleted: this.countCompleted(reqs),
206
230
  listener: new core_1.DisposableCollection()
207
231
  };
208
232
  this.unreadSessions.set(session.id, state);
209
233
  session.model.onDidChange(() => {
234
+ const requiresAction = ai_chat_1.ChatSessionStatus.requiresUserAction(session.model.status);
235
+ // Only react to a change in whether this session needs user action (approval/input) - i.e. a
236
+ // transition into or out of that state - not to every model change while the state is stable.
237
+ if (requiresAction !== state.requiresAction) {
238
+ state.requiresAction = requiresAction;
239
+ // When a delegated child starts needing action, auto-expand its ancestors so the whole
240
+ // subtree is revealed naturally. Don't auto-collapse afterwards: leave that to the user.
241
+ if (requiresAction) {
242
+ this.expandAncestors(session);
243
+ }
244
+ this.onStateChangedEmitter.fire();
245
+ }
210
246
  const current = session.model.getRequests();
211
247
  if (current.length > state.seenRequests || this.countCompleted(current) > state.seenCompleted) {
212
248
  // Only silently update the seen counts (instead of flashing the unread badge)
@@ -268,7 +304,9 @@ let ChatSessionsWelcomeMessageProvider = class ChatSessionsWelcomeMessageProvide
268
304
  saveDate: session.lastInteraction?.getTime() ?? Date.now(),
269
305
  location: session.model.location,
270
306
  pinnedAgentId: session.pinnedAgent?.id,
271
- hasError: session.model.status === 'failed'
307
+ hasError: session.model.status === 'failed',
308
+ rootSessionId: session.rootSessionId,
309
+ parentSessionId: session.parentSessionId
272
310
  }));
273
311
  const restored = this._persistedSessions.filter(metadata => !activeIds.has(metadata.sessionId));
274
312
  return { active, restored };
@@ -285,12 +323,88 @@ let ChatSessionsWelcomeMessageProvider = class ChatSessionsWelcomeMessageProvide
285
323
  }
286
324
  return this.renderSessionsSection(sections);
287
325
  }
326
+ /**
327
+ * Builds one {@link SessionRow} per session (carrying its own restored flag), then nests each child
328
+ * row under its immediate parent's row to reconstruct the full (multi-level) delegation hierarchy.
329
+ * Two passes on purpose: the first creates a row for every session so the second can link each child
330
+ * to its parent. Sessions are ordered by recency, not parent-first, so a child may precede its parent
331
+ * here; linking in a single pass would miss parents not yet created.
332
+ */
333
+ buildRows(sections) {
334
+ const allSessions = [...sections.active, ...sections.restored];
335
+ const activeIds = new Set(sections.active.map(s => s.sessionId));
336
+ const rowsById = new Map();
337
+ for (const session of allSessions) {
338
+ rowsById.set(session.sessionId, { session, isRestored: !activeIds.has(session.sessionId), childSessions: [] });
339
+ }
340
+ for (const session of allSessions) {
341
+ const parentId = parentIdOf(session);
342
+ if (parentId) {
343
+ rowsById.get(parentId)?.childSessions.push(rowsById.get(session.sessionId));
344
+ }
345
+ }
346
+ return [...rowsById.values()];
347
+ }
288
348
  renderSessionsSection(sections) {
289
349
  const maxSessions = this.preferenceService.get(ai_chat_preferences_1.WELCOME_SCREEN_SESSIONS_PREF, 20);
350
+ const rows = this.buildRows(sections);
290
351
  return (React.createElement("div", { className: "theia-WelcomeMessage", key: "sessions-section" },
291
352
  React.createElement("div", { className: "theia-WelcomeMessage-SessionsSection" },
292
- React.createElement(SessionsList, { sections: sections, maxSessions: maxSessions, renderItem: this.renderSessionItem, onBrowseAll: this.handleBrowseAllChats }))));
353
+ React.createElement(SessionsList, { rows: rows, maxSessions: maxSessions, renderRow: this.renderSessionRow, onBrowseAll: this.handleBrowseAllChats }))));
354
+ }
355
+ /** Whether a loaded session currently needs user action (approval or input). */
356
+ sessionRequiresAction(sessionId) {
357
+ const session = this.chatService.getSession(sessionId);
358
+ return session !== undefined && ai_chat_1.ChatSessionStatus.requiresUserAction(session.model.status);
359
+ }
360
+ /** Whether any descendant (at any depth) of the given row currently needs user action. */
361
+ descendantRequiresAction(row) {
362
+ return row.childSessions.some(child => this.sessionRequiresAction(child.session.sessionId) || this.descendantRequiresAction(child));
363
+ }
364
+ /**
365
+ * Expands every ancestor of the given session (walking the immediate-parent chain) so a deeply
366
+ * delegated session becomes visible. The caller is responsible for triggering a re-render.
367
+ */
368
+ expandAncestors(session) {
369
+ // Resolve the next ancestor for a given session id. Prefer the loaded session, but fall back to
370
+ // the persisted index: an ancestor may not be loaded in memory (e.g. a child opened directly via
371
+ // "Browse all chats"). Without the fallback the walk stops at the first persisted-only ancestor,
372
+ // leaving the child hidden under a still-collapsed root.
373
+ const persistedById = new Map(this._persistedSessions.map(metadata => [metadata.sessionId, metadata]));
374
+ const parentIdFor = (id) => {
375
+ const loaded = this.chatService.getSession(id);
376
+ if (loaded) {
377
+ return loaded.parentSessionId ?? loaded.rootSessionId;
378
+ }
379
+ const metadata = persistedById.get(id);
380
+ return metadata && parentIdOf(metadata);
381
+ };
382
+ const visited = new Set();
383
+ let parentId = session.parentSessionId ?? session.rootSessionId;
384
+ while (parentId && !visited.has(parentId)) {
385
+ visited.add(parentId);
386
+ this.expandedRoots.add(parentId);
387
+ parentId = parentIdFor(parentId);
388
+ }
389
+ }
390
+ /** Collects the enabled session-item actions for a session, sorted by priority. */
391
+ getSessionActions(session) {
392
+ return this.chatSessionItemActionContributions
393
+ .getContributions()
394
+ .flatMap(c => c.getActions(session))
395
+ .filter(action => this.commandRegistry.isEnabled(action.commandId, session))
396
+ .sort((a, b) => (a.priority ?? 0) - (b.priority ?? 0));
397
+ }
398
+ /** Renders a session row and, when expanded, its child rows recursively so nested delegations show. */
399
+ renderSessionRowAtDepth(row, depth) {
400
+ const hasChildSessions = row.childSessions.length > 0;
401
+ const isExpanded = hasChildSessions && this.expandedRoots.has(row.session.sessionId);
402
+ const descendantNeedsAttention = this.descendantRequiresAction(row);
403
+ return (React.createElement(React.Fragment, { key: row.session.sessionId },
404
+ React.createElement(chat_session_item_1.ChatSessionItem, { session: row.session, isRestored: row.isRestored, chatService: this.chatService, chatAgentService: this.chatAgentService, hoverService: this.hoverService, markdownRenderer: this.markdownRenderer, unreadState: this, onClick: () => this.handleSessionItemClick(row.session.sessionId), actions: this.getSessionActions(row.session), onAction: this.handleSessionItemAction, formatTimeAgo: date => (0, chat_date_utils_1.formatTimeAgo)(date), hasChildSessions: hasChildSessions, isChildSession: depth > 0, depth: depth, isExpanded: isExpanded, descendantNeedsAttention: descendantNeedsAttention, onToggleExpand: hasChildSessions ? () => this.toggleExpand(row.session.sessionId) : undefined }),
405
+ isExpanded && row.childSessions.map(child => this.renderSessionRowAtDepth(child, depth + 1))));
293
406
  }
407
+ ;
294
408
  };
295
409
  exports.ChatSessionsWelcomeMessageProvider = ChatSessionsWelcomeMessageProvider;
296
410
  tslib_1.__decorate([