import type { ToolDef } from './provider-base.js'; import type { ToolDispatcher } from './tool-dispatcher.js'; export declare function isExecToolName(name: string): boolean; export declare function getExecTools(): ToolDef[]; export interface ExecContext { cwd: string; /** v1.2.97 — when present, every spawned child gets AGIM_RPC_SOCKET * and AGIM_RPC_TOKEN env vars so a bgjob-launched Python (or any * language) script can call back into agim's tool surface via the * local RPC server. The token is bound to this exact RunContext so * a worker can only drive its own IM thread. Caller (native/index.ts) * mints a token at turn start; exec-dispatcher injects it on every * spawn under the same turn. Optional — leaving it unset just means * the bgjob child can't call back (the existing v1.2.93 SOP still * works, just without the RPC convenience). */ rpcCtx?: { platform: string; channelId: string; threadId: string; userId: string; }; } export declare function buildExecDispatcher(ctx: ExecContext): ToolDispatcher; export declare function buildExecEnv(extraEnv?: NodeJS.ProcessEnv): NodeJS.ProcessEnv; /** * Expand role-book portable bgjob prefixes to the absolute installed * wrapper path. Only rewrites when the (trimmed) command *starts* with * a known portable expression — never mid-line — so `$()` payloads in * args still fail the carve-out meta check after rewrite. */ export declare function rewriteBgjobCommand(cmd: string): string; export declare function isBgjobInvocation(cmd: string): boolean; export declare function clampTimeout(raw: unknown): number; //# sourceMappingURL=exec-dispatcher.d.ts.map