Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitc7001d5

Browse files
committed
separate metadata and tasks
1 parentb2f6bb8 commitc7001d5

File tree

2 files changed

+41
-13
lines changed

2 files changed

+41
-13
lines changed

‎src/api.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import{AxiosInstance}from"axios"
22
import{spawn}from"child_process"
33
import{Api}from"coder/site/src/api/api"
4-
import{ProvisionerJobLog,Workspace,WorkspaceAgent,WorkspaceAgentTask}from"coder/site/src/api/typesGenerated"
4+
import{ProvisionerJobLog,Workspace}from"coder/site/src/api/typesGenerated"
55
import{FetchLikeInit}from"eventsource"
66
importfsfrom"fs/promises"
77
import{ProxyAgent}from"proxy-agent"

‎src/workspacesProvider.ts

Lines changed: 40 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ export class WorkspaceProvider implements vscode.TreeDataProvider<vscode.TreeIte
158158
// Fetch AI tasks for the workspace
159159
try{
160160
// Create a dummy emitter for logs
161-
constemitter=newvscode.EventEmitter<string>()
161+
const_emitter=newvscode.EventEmitter<string>()
162162
}catch(error){
163163
// Log the error but continue - we don't want to fail the whole tree if AI tasks fail
164164
this.storage.writeToCoderOutputChannel(
@@ -236,18 +236,33 @@ export class WorkspaceProvider implements vscode.TreeDataProvider<vscode.TreeIte
236236
if(watcher?.error){
237237
returnPromise.resolve([newErrorTreeItem(watcher.error)])
238238
}
239-
239+
240240
constitems:vscode.TreeItem[]=[]
241-
242-
// Add AI tasks first, if the agent has any associated tasks
243-
constagentTasks=element.agent.tasks.map((task)=>newAITaskTreeItem(task))
244-
items.push(...agentTasks)
245-
246-
// Add agent metadata
241+
242+
// Add AI tasks section with collapsible header
243+
if(element.agent.tasks.length>0){
244+
constaiTasksSection=newSectionTreeItem(
245+
"AI Tasks",
246+
element.agent.tasks.map((task)=>newAITaskTreeItem(task)),
247+
)
248+
items.push(aiTasksSection)
249+
}
250+
247251
constsavedMetadata=watcher?.metadata||[]
248-
items.push(...savedMetadata.map((metadata)=>newAgentMetadataTreeItem(metadata)))
249-
252+
253+
// Add agent metadata section with collapsible header
254+
if(savedMetadata.length>0){
255+
constmetadataSection=newSectionTreeItem(
256+
"Agent Metadata",
257+
savedMetadata.map((metadata)=>newAgentMetadataTreeItem(metadata)),
258+
)
259+
items.push(metadataSection)
260+
}
261+
250262
returnPromise.resolve(items)
263+
}elseif(elementinstanceofSectionTreeItem){
264+
// Return the children of the section
265+
returnPromise.resolve(element.children)
251266
}
252267

253268
returnPromise.resolve([])
@@ -298,6 +313,19 @@ function monitorMetadata(agentId: WorkspaceAgent["id"], restClient: Api): AgentW
298313
returnwatcher
299314
}
300315

316+
/**
317+
* A tree item that represents a collapsible section with child items
318+
*/
319+
classSectionTreeItemextendsvscode.TreeItem{
320+
constructor(
321+
label:string,
322+
publicreadonlychildren:vscode.TreeItem[],
323+
){
324+
super(label,vscode.TreeItemCollapsibleState.Expanded)
325+
this.contextValue="coderSectionHeader"
326+
}
327+
}
328+
301329
classErrorTreeItemextendsvscode.TreeItem{
302330
constructor(error:unknown){
303331
super("Failed to query metadata: "+errToStr(error,"no error provided"),vscode.TreeItemCollapsibleState.None)
@@ -382,13 +410,13 @@ class AgentTreeItem extends OpenableTreeItem {
382410
)
383411

384412
if(agent.task_waiting_for_user_input){
385-
this.label="🙋 "+this.label;
413+
this.label="🙋 "+this.label
386414
}
387415
}
388416
}
389417

390418
exportclassWorkspaceTreeItemextendsOpenableTreeItem{
391-
publicaiTasks:{waiting:boolean,tasks:WorkspaceAgentTask[]}[]=[]
419+
publicaiTasks:{waiting:boolean;tasks:WorkspaceAgentTask[]}[]=[]
392420

393421
constructor(
394422
publicreadonlyworkspace:Workspace,

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp