MCPcopy Create free account
hub / github.com/Zoo-Code-Org/Zoo-Code / constructor

Method constructor

src/extension/api.ts:41–159  ·  view source on GitHub ↗
(
		outputChannel: vscode.OutputChannel,
		provider: ClineProvider,
		socketPath?: string,
		enableLogging = false,
	)

Source from the content-addressed store, hash-verified

39 private logfile?: string
40
41 constructor(
42 outputChannel: vscode.OutputChannel,
43 provider: ClineProvider,
44 socketPath?: string,
45 enableLogging = false,
46 ) {
47 super()
48
49 this.outputChannel = outputChannel
50 this.sidebarProvider = provider
51 this.context = provider.context
52
53 if (enableLogging) {
54 this.log = (...args: unknown[]) => {
55 this.outputChannelLog(...args)
56 console.log(args)
57 }
58
59 this.logfile = path.join(os.tmpdir(), "roo-code-messages.log")
60 } else {
61 this.log = () => {}
62 }
63
64 this.registerListeners(this.sidebarProvider)
65
66 if (socketPath) {
67 const ipc = (this.ipc = new IpcServer(socketPath, this.log))
68
69 ipc.listen()
70 this.log(`[API] ipc server started: socketPath=${socketPath}, pid=${process.pid}, ppid=${process.ppid}`)
71
72 ipc.on(IpcMessageType.TaskCommand, async (clientId, command) => {
73 const sendResponse = (eventName: RooCodeEventName, payload: unknown[]) => {
74 ipc.send(clientId, {
75 type: IpcMessageType.TaskEvent,
76 origin: IpcOrigin.Server,
77 data: { eventName, payload } as TaskEvent,
78 })
79 }
80
81 switch (command.commandName) {
82 case TaskCommandName.StartNewTask:
83 this.log(
84 `[API] StartNewTask -> ${command.data.text}, ${JSON.stringify(command.data.configuration)}`,
85 )
86 await this.startNewTask(command.data)
87 break
88 case TaskCommandName.CancelTask:
89 this.log(`[API] CancelTask`)
90 await this.cancelCurrentTask()
91 break
92 case TaskCommandName.CloseTask:
93 this.log(`[API] CloseTask`)
94 await vscode.commands.executeCommand("workbench.action.files.saveFiles")
95 await vscode.commands.executeCommand("workbench.action.closeWindow")
96 break
97 case TaskCommandName.ResumeTask:
98 this.log(`[API] ResumeTask -> ${command.data}`)

Callers

nothing calls this directly

Calls 14

outputChannelLogMethod · 0.95
registerListenersMethod · 0.95
startNewTaskMethod · 0.95
cancelCurrentTaskMethod · 0.95
resumeTaskMethod · 0.95
sendMessageMethod · 0.95
deleteQueuedMessageMethod · 0.95
getCommandsFunction · 0.90
executeCommandMethod · 0.80
logMethod · 0.65
listenMethod · 0.65
onMethod · 0.65

Tested by

no test coverage detected