import type { PluginInput } from '@opencode-ai/plugin'; import type { TaskTracker } from '../task-manager/tracker.js'; import type { PortableToolSet } from './portable'; /** * 创建 close_job 工具定义。 * * 仅 co-orchestrator(主代理)允许调用(纵深防御,与权限配置层配合)。 * * @param ctx 插件 input(提供 client 以调用 session.abort) * @param tracker TaskTracker 实例(resolveCancelTarget / markCancelledByAlias) * @param onClosed 可选回调:工具执行完成后刷新状态(如 syncTrackerState;兼容旧语义, * 每次执行返回前调用,与取消成败无关——保持既有行为) * @param onCancelled 可选回调:**仅当本次确实完成 running → cancelled**(markCancelledByAlias * reason==='ok')时以捕获的 alias 回调一次;入口用于同步 engine.cancelled * 与该 parent board。 * 重复取消(幂等)——含 await SDK abort 期间任务被其他路径终结/取消 * (idle 完成、失败、另一 close)——不触发;未知/失败不触发; * 回调抛错不影响返回(try/catch 保护)。 */ export declare function createCloseJobTool(ctx: PluginInput, tracker: TaskTracker, onClosed?: () => void, onCancelled?: (alias: string) => void): PortableToolSet; //# sourceMappingURL=job-control.d.ts.map