chore: prepare GoodBuddy 0.8.6
Cross-platform packages / Validate source (push) Has been cancelled
Cross-platform packages / ${{ matrix.platform }} ${{ matrix.arch }} (arm64, linux, ubuntu-24.04-arm) (push) Has been cancelled
Cross-platform packages / ${{ matrix.platform }} ${{ matrix.arch }} (arm64, macos, macos-15) (push) Has been cancelled
Cross-platform packages / ${{ matrix.platform }} ${{ matrix.arch }} (arm64, windows, windows-2025) (push) Has been cancelled
Cross-platform packages / ${{ matrix.platform }} ${{ matrix.arch }} (x64, linux, ubuntu-24.04) (push) Has been cancelled
Cross-platform packages / ${{ matrix.platform }} ${{ matrix.arch }} (x64, macos, macos-15-intel) (push) Has been cancelled
Cross-platform packages / ${{ matrix.platform }} ${{ matrix.arch }} (x64, windows, windows-2025) (push) Has been cancelled
Cross-platform packages / Publish GitHub Release (push) Has been cancelled

This commit is contained in:
lofyer
2026-08-07 13:11:45 +08:00
parent 32aba176c8
commit 2c715e5e81
40 changed files with 3079 additions and 358 deletions
+31 -3
View File
@@ -2,6 +2,7 @@ import { contextBridge, ipcRenderer, webUtils } from 'electron'
import {
type ApprovalDecision,
type AgentEvent,
type AgentQuestionAnswer,
type AgentRequest,
type AgentRuntimeDetection,
type AgentRuntimeStatus,
@@ -141,6 +142,15 @@ const desktopApi: DesktopApi = {
decision
})
},
respondQuestion: async (
questionId: string,
answers?: AgentQuestionAnswer[]
) => {
await ipcRenderer.invoke(ipcChannels.agentQuestionRespond, {
questionId,
answers: answers ?? []
})
},
onEvent: (listener) => {
const handler = (_event: Electron.IpcRendererEvent, payload: AgentEvent): void =>
listener(payload)
@@ -355,6 +365,12 @@ const desktopApi: DesktopApi = {
projectId,
archived
})
},
delete: async (projectId: string, confirmation: string) => {
await ipcRenderer.invoke(ipcChannels.projectsDelete, {
projectId,
confirmation
})
}
},
conversations: {
@@ -384,7 +400,18 @@ const desktopApi: DesktopApi = {
ipcRenderer.invoke(ipcChannels.workspaceFileRead, {
projectId,
path
}) as Promise<WorkspaceFilePreview>
}) as Promise<WorkspaceFilePreview>,
openPath: async (
projectId: string,
path: string,
type: 'file' | 'directory'
) => {
await ipcRenderer.invoke(ipcChannels.workspacePathOpen, {
projectId,
path,
type
})
}
},
tasks: {
list: () =>
@@ -534,9 +561,10 @@ const desktopApi: DesktopApi = {
ipcRenderer.invoke(
ipcChannels.capabilitiesSnapshot
) as Promise<CapabilitySnapshot>,
importSkill: () =>
importSkill: (kind) =>
ipcRenderer.invoke(
ipcChannels.capabilitiesImportSkill
ipcChannels.capabilitiesImportSkill,
kind
) as Promise<CapabilitySnapshot>,
removeSkill: (skillId) =>
ipcRenderer.invoke(