@codingame/monaco-vscode-walkthrough-service-override 25.1.2 → 26.0.1

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 (32) hide show
  1. package/package.json +3 -2
  2. package/vscode/src/vs/workbench/contrib/welcomeAgentSessions/browser/agentSessionsWelcome.d.ts +107 -0
  3. package/vscode/src/vs/workbench/contrib/welcomeAgentSessions/browser/agentSessionsWelcome.js +748 -0
  4. package/vscode/src/vs/workbench/contrib/welcomeAgentSessions/browser/agentSessionsWelcomeInput.d.ts +33 -0
  5. package/vscode/src/vs/workbench/contrib/welcomeAgentSessions/browser/agentSessionsWelcomeInput.js +71 -0
  6. package/vscode/src/vs/workbench/contrib/welcomeAgentSessions/browser/media/agentSessionsWelcome.css +528 -0
  7. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.js +156 -126
  8. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.js +737 -481
  9. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedAccessibleView.js +35 -26
  10. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors.js +27 -7
  11. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedDetailsRenderer.js +204 -222
  12. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.js +189 -191
  13. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedIcons.js +6 -2
  14. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedInput.d.ts +5 -0
  15. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedInput.js +18 -4
  16. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedList.js +15 -11
  17. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService._contribution.js +20 -11
  18. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +239 -179
  19. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/media/gettingStarted.css +0 -4
  20. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.d.ts +2 -3
  21. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.js +97 -77
  22. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.js +698 -660
  23. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/notebookProfile.js +15 -13
  24. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/theme_picker.js +21 -21
  25. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/theme_picker_small.js +20 -20
  26. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/editorWalkThrough.js +26 -15
  27. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThrough.contribution.js +10 -6
  28. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughActions.js +4 -4
  29. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughInput.js +24 -16
  30. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughPart.js +129 -96
  31. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughContentProvider.js +30 -19
  32. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughUtils.js +8 -3
@@ -0,0 +1,33 @@
1
+ import { EditorInput } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor/editorInput";
2
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
3
+ import { IUntypedEditorInput } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor";
4
+ import { IEditorOptions } from "@codingame/monaco-vscode-api/vscode/vs/platform/editor/common/editor";
5
+ export declare const agentSessionsWelcomeInputTypeId = "workbench.editors.agentSessionsWelcomeInput";
6
+ export type AgentSessionsWelcomeInitiator = "startup" | "command";
7
+ export type AgentSessionsWelcomeWorkspaceKind = "empty" | "folder" | "workspace";
8
+ export interface AgentSessionsWelcomeEditorOptions extends IEditorOptions {
9
+ showTelemetryNotice?: boolean;
10
+ initiator?: AgentSessionsWelcomeInitiator;
11
+ workspaceKind?: AgentSessionsWelcomeWorkspaceKind;
12
+ }
13
+ export declare class AgentSessionsWelcomeInput extends EditorInput {
14
+ static readonly ID = "workbench.editors.agentSessionsWelcomeInput";
15
+ static readonly RESOURCE: URI;
16
+ private _showTelemetryNotice;
17
+ private _initiator;
18
+ private _workspaceKind?;
19
+ get typeId(): string;
20
+ get editorId(): string | undefined;
21
+ toUntyped(): IUntypedEditorInput;
22
+ get resource(): URI | undefined;
23
+ matches(other: EditorInput | IUntypedEditorInput): boolean;
24
+ constructor(options?: AgentSessionsWelcomeEditorOptions);
25
+ getName(): string;
26
+ get showTelemetryNotice(): boolean;
27
+ set showTelemetryNotice(value: boolean);
28
+ get initiator(): AgentSessionsWelcomeInitiator;
29
+ get workspaceKind(): AgentSessionsWelcomeWorkspaceKind | undefined;
30
+ getTelemetryDescriptor(): {
31
+ [key: string]: unknown;
32
+ };
33
+ }
@@ -0,0 +1,71 @@
1
+
2
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
3
+ import { EditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor/editorInput';
4
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
5
+ import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
6
+
7
+ const agentSessionsWelcomeInputTypeId = "workbench.editors.agentSessionsWelcomeInput";
8
+ class AgentSessionsWelcomeInput extends EditorInput {
9
+ static {
10
+ this.ID = agentSessionsWelcomeInputTypeId;
11
+ }
12
+ static {
13
+ this.RESOURCE = ( URI.from({
14
+ scheme: Schemas.walkThrough,
15
+ authority: "vscode_agent_sessions_welcome"
16
+ }));
17
+ }
18
+ get typeId() {
19
+ return AgentSessionsWelcomeInput.ID;
20
+ }
21
+ get editorId() {
22
+ return this.typeId;
23
+ }
24
+ toUntyped() {
25
+ return {
26
+ resource: AgentSessionsWelcomeInput.RESOURCE,
27
+ options: {
28
+ override: AgentSessionsWelcomeInput.ID,
29
+ pinned: false
30
+ }
31
+ };
32
+ }
33
+ get resource() {
34
+ return AgentSessionsWelcomeInput.RESOURCE;
35
+ }
36
+ matches(other) {
37
+ if (super.matches(other)) {
38
+ return true;
39
+ }
40
+ return other instanceof AgentSessionsWelcomeInput;
41
+ }
42
+ constructor(options = {}) {
43
+ super();
44
+ this._showTelemetryNotice = !!options.showTelemetryNotice;
45
+ this._initiator = options.initiator ?? "command";
46
+ this._workspaceKind = options.workspaceKind;
47
+ }
48
+ getName() {
49
+ return localize(13541, "Welcome");
50
+ }
51
+ get showTelemetryNotice() {
52
+ return this._showTelemetryNotice;
53
+ }
54
+ set showTelemetryNotice(value) {
55
+ this._showTelemetryNotice = value;
56
+ }
57
+ get initiator() {
58
+ return this._initiator;
59
+ }
60
+ get workspaceKind() {
61
+ return this._workspaceKind;
62
+ }
63
+ getTelemetryDescriptor() {
64
+ const descriptor = super.getTelemetryDescriptor();
65
+ descriptor["initiator"] = this._initiator;
66
+ descriptor["workspaceKind"] = this._workspaceKind;
67
+ return descriptor;
68
+ }
69
+ }
70
+
71
+ export { AgentSessionsWelcomeInput, agentSessionsWelcomeInputTypeId };
@@ -0,0 +1,528 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ .agentSessionsWelcome {
7
+ display: flex;
8
+ flex-direction: column;
9
+ height: 100%;
10
+ background-color: var(--vscode-welcomePage-background);
11
+ overflow: hidden;
12
+ }
13
+
14
+ .agentSessionsWelcome-scrollable {
15
+ height: 100%;
16
+ display: flex !important;
17
+ align-items: center;
18
+ justify-content: center;
19
+ }
20
+
21
+ .agentSessionsWelcome-content {
22
+ display: flex;
23
+ flex-direction: column;
24
+ align-items: center;
25
+ padding: 40px;
26
+ max-width: 900px;
27
+ width: 100%;
28
+ box-sizing: border-box;
29
+ }
30
+
31
+ /* Header */
32
+ .agentSessionsWelcome-header {
33
+ display: flex;
34
+ flex-direction: column;
35
+ align-items: flex-start;
36
+ width: 100%;
37
+ max-width: 800px;
38
+ }
39
+
40
+ .agentSessionsWelcome-header h1.product-name {
41
+ font-size: 32px;
42
+ font-weight: 400;
43
+ margin: 0 0 12px 0;
44
+ color: var(--vscode-foreground);
45
+ }
46
+
47
+ .agentSessionsWelcome-startEntries {
48
+ display: flex;
49
+ gap: 16px;
50
+ flex-wrap: wrap;
51
+ justify-content: flex-start;
52
+ }
53
+
54
+ .agentSessionsWelcome-startEntry {
55
+ display: flex;
56
+ align-items: center;
57
+ gap: 6px;
58
+ padding: 4px 8px;
59
+ padding-left: 0;
60
+ border: none;
61
+ border-radius: 4px;
62
+ background-color: transparent;
63
+ color: var(--vscode-descriptionForeground);
64
+ font-size: 13px;
65
+ cursor: pointer;
66
+ }
67
+
68
+ .agentSessionsWelcome-startEntry:hover {
69
+ color: var(--vscode-textLink-foreground);
70
+ }
71
+
72
+ .agentSessionsWelcome-startEntry .codicon {
73
+ color: var(--vscode-descriptionForeground) !important;
74
+ }
75
+
76
+ /* Chat widget section */
77
+ .agentSessionsWelcome-chatSection {
78
+ width: 100%;
79
+ max-width: 800px;
80
+ margin-top: 24px;
81
+ }
82
+
83
+ /* Hide the chat tree/list - we only want the input */
84
+ .agentSessionsWelcome-chatWidget .interactive-list {
85
+ display: none !important;
86
+ }
87
+
88
+ /* Hide the welcome message containers */
89
+ .agentSessionsWelcome-chatWidget .chat-welcome-view,
90
+ .agentSessionsWelcome-chatWidget .chat-welcome-view-container {
91
+ display: none !important;
92
+ }
93
+
94
+ /* Constrain the chat container height - let it size to content */
95
+ .agentSessionsWelcome-chatWidget .interactive-session {
96
+ height: auto !important;
97
+ }
98
+
99
+ /* Input part styling - match chat panel */
100
+ .agentSessionsWelcome-chatWidget .interactive-input-part {
101
+ margin: 0;
102
+ padding: 16px 0;
103
+ }
104
+
105
+ /* Suggested prompts */
106
+ .agentSessionsWelcome-sessionsSection {
107
+ width: 100%;
108
+ max-width: 800px;
109
+ margin-top: 24px;
110
+ }
111
+
112
+ .agentSessionsWelcome-suggestedPrompts {
113
+ display: flex;
114
+ gap: 12px;
115
+ justify-content: center;
116
+ flex-wrap: wrap;
117
+ }
118
+
119
+ .agentSessionsWelcome-suggestedPrompt {
120
+ padding: 8px 16px;
121
+ border: 1px solid var(--vscode-button-border, var(--vscode-contrastBorder, transparent));
122
+ border-radius: 20px;
123
+ background-color: var(--vscode-button-secondaryBackground);
124
+ color: var(--vscode-button-secondaryForeground);
125
+ font-size: 13px;
126
+ cursor: pointer;
127
+ transition: background-color 0.1s;
128
+ }
129
+
130
+ .agentSessionsWelcome-suggestedPrompt:hover {
131
+ background-color: var(--vscode-button-secondaryHoverBackground);
132
+ }
133
+
134
+ /* Sessions grid */
135
+ .agentSessionsWelcome-sessionsGrid {
136
+ width: 100%;
137
+ overflow: hidden;
138
+ }
139
+
140
+ /* Style the agent sessions control within welcome page - 2 column layout */
141
+ .agentSessionsWelcome-sessionsGrid .agent-sessions-viewer {
142
+ height: auto;
143
+ min-height: 0;
144
+ }
145
+
146
+ .agentSessionsWelcome-sessionsGrid .agent-sessions-viewer .monaco-list {
147
+ background: transparent !important;
148
+ }
149
+
150
+ .agentSessionsWelcome-sessionsGrid .agent-sessions-viewer .monaco-list-rows {
151
+ background: transparent !important;
152
+ }
153
+
154
+ /* Hide scrollbars in welcome page sessions list */
155
+ .agentSessionsWelcome-sessionsGrid .agent-sessions-viewer .monaco-scrollable-element > .scrollbar {
156
+ display: none !important;
157
+ }
158
+
159
+ /* 2-column grid layout using CSS transforms on virtualized list */
160
+ .agentSessionsWelcome-sessionsGrid .monaco-list-row {
161
+ width: 50% !important;
162
+ }
163
+
164
+ /*
165
+ * Transform items into 2-column layout:
166
+ * - Odd items (1, 3, 5, ...) stay in left column
167
+ * - Even items (2, 4, 6, ...) move to right column
168
+ * Each pair forms a visual row.
169
+ * Left column items need to move up by floor((index-1)/2) rows
170
+ * Right column items need to move right and up by (index/2) rows
171
+ * Row height is 52px.
172
+ */
173
+
174
+ /* Left column items (odd positions): move up to form 2-column layout */
175
+ /* Item 3: move up 1 row */
176
+ .agentSessionsWelcome-sessionsGrid .monaco-list-row:nth-child(3) {
177
+ transform: translateY(-52px);
178
+ }
179
+ /* Item 5: move up 2 rows */
180
+ .agentSessionsWelcome-sessionsGrid .monaco-list-row:nth-child(5) {
181
+ transform: translateY(-104px);
182
+ }
183
+
184
+ /* Right column items (even positions): move right and up */
185
+ /* Item 2: move right, up 1 row */
186
+ .agentSessionsWelcome-sessionsGrid .monaco-list-row:nth-child(2) {
187
+ transform: translateX(100%) translateY(-52px);
188
+ }
189
+ /* Item 4: move right, up 2 rows */
190
+ .agentSessionsWelcome-sessionsGrid .monaco-list-row:nth-child(4) {
191
+ transform: translateX(100%) translateY(-104px);
192
+ }
193
+ /* Item 6: move right, up 3 rows */
194
+ .agentSessionsWelcome-sessionsGrid .monaco-list-row:nth-child(6) {
195
+ transform: translateX(100%) translateY(-156px);
196
+ }
197
+
198
+ /* Style individual session items in the welcome page */
199
+ .agentSessionsWelcome-sessionsGrid .agent-session-item {
200
+ border-radius: 4px;
201
+ }
202
+
203
+ .agentSessionsWelcome-sessionsGrid .agent-session-item:hover {
204
+ background-color: var(--vscode-list-hoverBackground);
205
+ }
206
+
207
+ /* Hide toolbar on items in welcome page for cleaner look */
208
+ .agentSessionsWelcome-sessionsGrid .agent-session-title-toolbar {
209
+ display: none !important;
210
+ }
211
+
212
+ .agentSessionsWelcome-openSessionsButton {
213
+ display: flex;
214
+ align-items: center;
215
+ justify-content: center;
216
+ gap: 6px;
217
+ width: 100%;
218
+ padding: 8px 16px;
219
+ margin-top: 12px;
220
+ border: none;
221
+ border-radius: 4px;
222
+ background-color: var(--vscode-toolbar-hoverBackground);
223
+ color: var(--vscode-foreground);
224
+ font-size: 13px;
225
+ cursor: pointer;
226
+ }
227
+
228
+ .agentSessionsWelcome-openSessionsButton:hover {
229
+ background-color: var(--vscode-toolbar-activeBackground);
230
+ color: var(--vscode-textLink-foreground);
231
+ }
232
+
233
+ /* Walkthroughs section */
234
+ .agentSessionsWelcome-sessionsSection .agentSessionsWelcome-walkthroughCard {
235
+ width: 100%;
236
+ box-sizing: border-box;
237
+ }
238
+
239
+ .agentSessionsWelcome-walkthroughCard {
240
+ display: flex;
241
+ align-items: center;
242
+ padding: 15px;
243
+ border: 1px solid var(--vscode-welcomePage-tileBorder, var(--vscode-contrastBorder, transparent));
244
+ border-radius: 8px;
245
+ background-color: transparent;
246
+ cursor: pointer;
247
+ transition: background-color 0.1s;
248
+ gap: 12px;
249
+ }
250
+
251
+ .agentSessionsWelcome-walkthroughCard:hover {
252
+ background-color: var(--vscode-list-hoverBackground);
253
+ }
254
+
255
+ .agentSessionsWelcome-walkthroughCard-icon {
256
+ flex-shrink: 0;
257
+ width: 20px;
258
+ height: 20px;
259
+ display: flex;
260
+ align-items: center;
261
+ justify-content: center;
262
+ }
263
+
264
+ .agentSessionsWelcome-walkthroughCard-icon .codicon {
265
+ font-size: 20px;
266
+ color: var(--vscode-descriptionForeground);
267
+ }
268
+
269
+ .agentSessionsWelcome-walkthroughCard-content {
270
+ flex: 1;
271
+ min-width: 0;
272
+ }
273
+
274
+ .agentSessionsWelcome-walkthroughCard-title {
275
+ font-size: 13px;
276
+ font-weight: 600;
277
+ color: var(--vscode-foreground);
278
+ margin: 0;
279
+ line-height: 1.4;
280
+ }
281
+
282
+ .agentSessionsWelcome-walkthroughCard-description {
283
+ font-size: 13px;
284
+ color: var(--vscode-descriptionForeground);
285
+ margin: 0;
286
+ line-height: 1.4;
287
+ }
288
+
289
+ .agentSessionsWelcome-walkthroughCard-nav {
290
+ display: flex;
291
+ gap: 4px;
292
+ }
293
+
294
+ .agentSessionsWelcome-walkthroughCard-nav .nav-button {
295
+ width: 24px;
296
+ height: 24px;
297
+ display: flex;
298
+ align-items: center;
299
+ justify-content: center;
300
+ border: none;
301
+ border-radius: 4px;
302
+ background-color: transparent;
303
+ color: var(--vscode-descriptionForeground);
304
+ cursor: pointer;
305
+ }
306
+
307
+ .agentSessionsWelcome-walkthroughCard-nav .nav-button:hover:not(:disabled) {
308
+ background-color: var(--vscode-toolbar-hoverBackground);
309
+ }
310
+
311
+ .agentSessionsWelcome-walkthroughCard-nav .nav-button:disabled {
312
+ opacity: 0.4;
313
+ cursor: default;
314
+ }
315
+
316
+ /* Footer */
317
+ .agentSessionsWelcome-footer {
318
+ display: flex;
319
+ flex-direction: column;
320
+ align-items: center;
321
+ gap: 8px;
322
+ width: 100%;
323
+ max-width: 800px;
324
+ margin-top: 24px;
325
+ }
326
+
327
+ .agentSessionsWelcome-footerLink {
328
+ display: flex;
329
+ align-items: center;
330
+ gap: 8px;
331
+ padding: 8px 16px;
332
+ border: none;
333
+ border-radius: 4px;
334
+ background-color: transparent;
335
+ color: var(--vscode-foreground);
336
+ font-size: 13px;
337
+ cursor: pointer;
338
+ }
339
+
340
+ .agentSessionsWelcome-footerLink:hover {
341
+ color: var(--vscode-textLink-foreground);
342
+ }
343
+
344
+ .agentSessionsWelcome-footerLink .codicon {
345
+ color: var(--vscode-descriptionForeground);
346
+ }
347
+
348
+ .agentSessionsWelcome-showOnStartup {
349
+ display: flex;
350
+ align-items: center;
351
+ gap: 8px;
352
+ font-size: 12px;
353
+ color: var(--vscode-descriptionForeground);
354
+ }
355
+
356
+ .agentSessionsWelcome-showOnStartup label {
357
+ cursor: pointer;
358
+ }
359
+
360
+ .agentSessionsWelcome-checkbox {
361
+ width: 18px;
362
+ height: 18px;
363
+ float: none;
364
+ margin-left: 0;
365
+ border: 1px solid var(--vscode-checkbox-border) !important;
366
+ border-radius: 3px;
367
+ padding: 0;
368
+ background-color: var(--vscode-checkbox-background) !important;
369
+ color: var(--vscode-checkbox-foreground) !important;
370
+ }
371
+
372
+ .agentSessionsWelcome-checkbox.checked {
373
+ background-color: var(--vscode-descriptionForeground) !important;
374
+ border-color: var(--vscode-descriptionForeground) !important;
375
+ color: var(--vscode-editor-background) !important;
376
+ }
377
+
378
+ .agentSessionsWelcome-checkbox.codicon:not(.checked)::before {
379
+ opacity: 0;
380
+ }
381
+
382
+ /* TOS/Privacy card - simple inline notice */
383
+ .agentSessionsWelcome-tosCard {
384
+ display: flex;
385
+ align-items: center;
386
+ gap: 12px;
387
+ width: 100%;
388
+ max-width: 800px;
389
+ padding: 15px;
390
+ box-sizing: border-box;
391
+ cursor: default;
392
+ border: 1px solid var(--vscode-welcomePage-tileBorder, var(--vscode-contrastBorder, transparent));
393
+ border-radius: 8px;
394
+ background-color: transparent;
395
+ }
396
+
397
+ .agentSessionsWelcome-tosCard:hover {
398
+ background-color: var(--vscode-list-hoverBackground);
399
+ }
400
+
401
+ .agentSessionsWelcome-tosCard .agentSessionsWelcome-walkthroughCard-icon {
402
+ width: 20px;
403
+ height: 20px;
404
+ flex-shrink: 0;
405
+ }
406
+
407
+ .agentSessionsWelcome-tosCard .agentSessionsWelcome-walkthroughCard-icon .codicon {
408
+ font-size: 20px;
409
+ color: var(--vscode-descriptionForeground);
410
+ }
411
+
412
+ .agentSessionsWelcome-tosCard .agentSessionsWelcome-walkthroughCard-content {
413
+ flex: 1;
414
+ }
415
+
416
+ .agentSessionsWelcome-tosCard .agentSessionsWelcome-walkthroughCard-title {
417
+ font-size: 13px;
418
+ font-weight: 600;
419
+ margin: 0;
420
+ line-height: 1.4;
421
+ }
422
+
423
+ .agentSessionsWelcome-tosCard .agentSessionsWelcome-walkthroughCard-description {
424
+ font-size: 13px;
425
+ margin: 0;
426
+ line-height: 1.4;
427
+ }
428
+
429
+ .agentSessionsWelcome-tosCard .agentSessionsWelcome-walkthroughCard-description p {
430
+ margin: 0;
431
+ }
432
+
433
+ .agentSessionsWelcome-tosCard .agentSessionsWelcome-walkthroughCard-description a {
434
+ color: var(--vscode-textLink-foreground);
435
+ }
436
+
437
+ .agentSessionsWelcome-tosCard-dismiss {
438
+ display: flex;
439
+ align-items: center;
440
+ justify-content: center;
441
+ width: 22px;
442
+ height: 22px;
443
+ border: none;
444
+ border-radius: 4px;
445
+ background-color: transparent;
446
+ color: var(--vscode-descriptionForeground);
447
+ cursor: pointer;
448
+ flex-shrink: 0;
449
+ opacity: 0;
450
+ transition: opacity 0.1s;
451
+ }
452
+
453
+ .agentSessionsWelcome-tosCard:hover .agentSessionsWelcome-tosCard-dismiss {
454
+ opacity: 1;
455
+ }
456
+
457
+ .agentSessionsWelcome-tosCard-dismiss:hover {
458
+ background-color: var(--vscode-toolbar-hoverBackground);
459
+ color: var(--vscode-foreground);
460
+ }
461
+
462
+ .agentSessionsWelcome-tosLink {
463
+ color: var(--vscode-textLink-foreground);
464
+ text-decoration: none;
465
+ }
466
+
467
+ .agentSessionsWelcome-tosLink:hover {
468
+ text-decoration: underline;
469
+ }
470
+
471
+ /* Loading skeleton */
472
+ .agentSessionsWelcome-sessionsLoading {
473
+ display: grid;
474
+ grid-template-columns: 1fr 1fr;
475
+ gap: 0;
476
+ width: 100%;
477
+ }
478
+
479
+ .agentSessionsWelcome-sessionSkeleton {
480
+ display: flex;
481
+ align-items: center;
482
+ gap: 12px;
483
+ padding: 8px 12px 8px 8px;
484
+ border-radius: 4px;
485
+ height: 52px;
486
+ box-sizing: border-box;
487
+ }
488
+
489
+ .agentSessionsWelcome-sessionSkeleton-icon {
490
+ width: 20px;
491
+ height: 20px;
492
+ border-radius: 4px;
493
+ background: var(--vscode-welcomePage-tileBorder, var(--vscode-contrastBorder, rgba(128, 128, 128, 0.2)));
494
+ animation: agentSessionsWelcome-shimmer 1.5s ease-in-out infinite;
495
+ }
496
+
497
+ .agentSessionsWelcome-sessionSkeleton-content {
498
+ flex: 1;
499
+ display: flex;
500
+ flex-direction: column;
501
+ gap: 6px;
502
+ }
503
+
504
+ .agentSessionsWelcome-sessionSkeleton-title {
505
+ height: 12px;
506
+ border-radius: 2px;
507
+ background: var(--vscode-welcomePage-tileBorder, var(--vscode-contrastBorder, rgba(128, 128, 128, 0.2)));
508
+ animation: agentSessionsWelcome-shimmer 1.5s ease-in-out infinite;
509
+ animation-delay: 0.1s;
510
+ }
511
+
512
+ .agentSessionsWelcome-sessionSkeleton-description {
513
+ height: 10px;
514
+ width: 60%;
515
+ border-radius: 2px;
516
+ background: var(--vscode-welcomePage-tileBorder, var(--vscode-contrastBorder, rgba(128, 128, 128, 0.2)));
517
+ animation: agentSessionsWelcome-shimmer 1.5s ease-in-out infinite;
518
+ animation-delay: 0.2s;
519
+ }
520
+
521
+ @keyframes agentSessionsWelcome-shimmer {
522
+ 0%, 100% {
523
+ opacity: 0.3;
524
+ }
525
+ 50% {
526
+ opacity: 0.6;
527
+ }
528
+ }