/** * 构造 `botmux hook ` 的 argv 形式 `{ cmd, args }`——规范形态。 * 调用方用 `spawn(cmd, args)` 直接执行:无需 shell 解析、不怕路径含空格。 * OpenCode 插件用它(spawnSync),避免「拼成带引号字符串再 split」把路径拆坏。 */ export declare function hookCommandParts(cliId: string): { cmd: string; args: string[]; }; /** * 构造 `botmux hook ` 的 **shell 命令字符串**(仅可执行路径与 cli.js 路径加引号, * 容忍空格;`hook` 子命令名与 cliId 不加引号)。 * 仅用于「按 shell 字符串执行」的场景,例如写进 Claude Code 的 `~/.claude/settings.json` * (其 `command` 字段由 Claude 经 shell 执行)。需要 argv 的场景请用 `hookCommandParts`, * 切勿对本字符串再 `.split(' ')`。 */ export declare function hookCommandFor(cliId: string): string; /** * 构造 Claude 家族 `SessionStart` hook 的 **shell 命令字符串** → `botmux session-ready`。 * 与 `hookCommandFor` 同源的路径解析与加引号策略(仅可执行路径与 cli.js 路径加引号), * 因为它被写进 Claude 进程级 `--settings` 的 `command` 字段、由 Claude 经 shell 执行。 * * 无 cliId 参数:session-ready 只靠 hook 子进程继承的 `BOTMUX_SESSION_ID` / * `BOTMUX_LARK_APP_ID` env 定位会话与 daemon,不需要 CLI 类型。 */ export declare function sessionReadyHookCommand(): string; /** * 构造 Claude 家族 `UserPromptSubmit` hook 的 shell 命令字符串 → `botmux user-prompt-hook`。 * 与 sessionReadyHookCommand 同策略:写进全局 settings.json(aiden wrapper 会剥进程级 * --settings,全局是唯一可靠渠道)。hook 子进程靠继承的 BOTMUX_SESSION_ID / * SESSION_DATA_DIR 定位 per-turn sidecar;缺 env / 读不到 sidecar 时空输出 exit 0 * (fail-open:上下文丢失 < 卡住 prompt),且结构性保证永不 exit 2。 */ export declare function userPromptHookCommand(): string; //# sourceMappingURL=hook-command.d.ts.map