/** * Mesh inbox delivery for coder CLIs that read project-local hook config: * Qwen Code (`--target qwen`), Crush (`--target crush`) and Factory Droid * (`--platforms droid`). Each hook runs the shared .claude/helpers/mesh-inbox.cjs * unchanged; that helper finds the session's hub credentials by walking its own * ancestor pids, and all three CLIs run hooks and MCP servers as children of the * same process. Existing config is merged, never replaced; an unparseable file is * skipped with a warning. * * Qwen and Droid add exit-0 plain stdout of a UserPromptSubmit hook to the model * context (docs: qwenlm.github.io/qwen-code-docs .../features/hooks, docs.factory.com * /cli/configuration/hooks-guide). Crush has only PreToolUse and reads a JSON * `{"context": ...}` envelope, so it gets a small bridge script. * None of the three has a documented way for a hook to set a session title. */ import type { InitOptions, InitResult } from './types.js'; export declare const QWEN_MESH_COMMAND: string; export declare const DROID_MESH_COMMAND: string; export declare const CRUSH_MESH_COMMAND = "node \"${CRUSH_PROJECT_DIR:-.}/.crush/hooks/monomind-mesh.cjs\""; /** Crush PreToolUse bridge: wraps the helper's [MESH] text as the `context` crush appends to the tool result. */ export declare function generateCrushMeshScript(): string; /** `.qwen/settings.json`: monomind MCP server and the UserPromptSubmit mesh hook. */ export declare function writeQwenFiles(targetDir: string, options: InitOptions, result: InitResult): Promise; /** * Droid: the monomind MCP server in `.factory/mcp.json` (docs.factory.com/cli/configuration/mcp) * and the mesh hook in `.factory/hooks.json`, falling back to the `hooks` key of settings.json. */ export declare function writeDroidMeshHook(targetDir: string, options: InitOptions, result: InitResult): Promise; /** `crush.json`: monomind MCP server and a PreToolUse mesh hook, plus the bridge script. */ export declare function writeCrushFiles(targetDir: string, options: InitOptions, result: InitResult): Promise; /** * Entry point for the executor: the qwen / crush targets and the droid platform. Their hooks run * the shared mesh-inbox.cjs helper, so it is written even when the Claude files are skipped. */ export declare function writeMeshCoderHooks(targetDir: string, options: InitOptions, result: InitResult): Promise; //# sourceMappingURL=write-mesh-coder-hooks.d.ts.map