import type { RegisteredTool, ToolContext } from '@cicctencent/agent-core'; /** * 解析脚本执行超时(毫秒)。 * * 取值:调用入参 `timeout_ms`(LLM 显式传入)优先;未传时取 Agent 脚本超时配置 * `maxScriptTimeoutMs`(未注入回落 `DEFAULT_MAX_SCRIPT_TIMEOUT_MS = 1800000`)作为默认脚本超时。 * 结果统一钳制到 [MIN_SCRIPT_TIMEOUT_MS, maxScriptTimeoutMs]。 * * 即 `maxScriptTimeoutMs` 承担双重角色:LLM 未传 `timeout_ms` 时是取值来源(默认脚本超时), * 传入时是上限,防止 LLM 传入过长超时绕过 Agent 的脚本超时配置; * 脚本超时不再回退 Agent profile 的 `toolTimeout`(该配置仅约束普通工具调用)。 * * 该函数同时被工具 executor(内层子进程超时)与引擎 resolveTimeoutMs(外层硬超时)调用, * 保证两层超时严格同源、不会互相抢跑。 */ export declare function resolveScriptTimeout(args: Record, ctx: Pick): number; export declare function getSandboxEnvFromContext(sandbox: unknown): Record; /** 执行脚本并收集 stdout/stderr,带超时强制 kill * 长耗时增强:运行期间把 stdout/stderr 实时通过 ctx.emitToolLog 推向前端; * 当脚本长时间无输出时,通过 ctx.emitToolHeartbeat 周期发送心跳,证明进程仍存活, * 避免「执行中却长时间无输出」的死等体验。 */ export declare function runScript(scriptAbs: string, args: string[], cwd: string, timeoutMs: number, ctx: ToolContext, envOverride?: Record): Promise<{ code: number | null; stdout: string; stderr: string; timedOut: boolean; aborted: boolean; }>; export declare function createSkillResourceTools(): RegisteredTool[]; //# sourceMappingURL=skill-resources.d.ts.map