Documentation
¶
Overview ¶
Package opsctl 实现 opsctl binder:对 opsctl CLI 暴露的 Unix socket 桥(审批 + 资产 + SSH 池代理)。
只有一个 Wails 绑定方法(RespondOpsctlApproval);其它都是底层服务。
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ExtToolExecutor ¶
type ExtToolExecutor interface {
ExecuteExtTool(ctx context.Context, extName, tool string, args []byte) ([]byte, error)
}
ExtToolExecutor 在 opsctl Unix socket 收到 ext_tool 请求时回调到 ai/extension binder。 由 main.go 注入:通常实现是 extension binder 的 service.Bridge().CallTool 包装。
type ExtensionAssetHandler ¶
type ExtensionAssetHandler struct {
// contains filtered or unexported fields
}
ExtensionAssetHandler serves extension static files from the extensions directory at /extensions/{name}/..., falling back to the default handler for all other paths.
func NewExtensionAssetHandler ¶
func NewExtensionAssetHandler(extensionsDir string, defaultHandler http.Handler) *ExtensionAssetHandler
NewExtensionAssetHandler creates a handler that serves extension files.
func (*ExtensionAssetHandler) ServeHTTP ¶
func (h *ExtensionAssetHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
type Opsctl ¶
type Opsctl struct {
// contains filtered or unexported fields
}
Opsctl binder。
func New ¶
func New( appCtx context.Context, lang LangProvider, window WindowActivator, proxySrv *sshpool.Server, ) *Opsctl
New 构造 opsctl binder。
func (*Opsctl) RespondOpsctlApproval ¶
func (o *Opsctl) RespondOpsctlApproval(confirmID string, resp permission.ApprovalResponse)
RespondOpsctlApproval 前端响应 opsctl 审批请求(统一入口)
func (*Opsctl) SetAuthToken ¶
SetAuthToken main.go 注入 socket 鉴权 token,供 startApprovalServer/startSSHPoolServer 使用。
func (*Opsctl) SetExtToolExecutor ¶
func (o *Opsctl) SetExtToolExecutor(e ExtToolExecutor)
SetExtToolExecutor main.go 注入扩展工具执行器。
type WindowActivator ¶
type WindowActivator interface {
ActivateWindow()
}
WindowActivator 由 system binder 实现,审批弹窗时把窗口拉到前台。