-
-
Notifications
You must be signed in to change notification settings - Fork 55.2k
Closed
Description
Summary
The README configuration example shows --mode json in the tau command:
{
"inbound": {
"reply": {
"mode": "command",
"command": ["tau", "--mode", "json", "{{BodyStripped}}"],
...
}
}
}However, the code in src/auto-reply/command-reply.ts always forces --mode rpc regardless of the config:
// Lines 485-490
const modeIdx = rpcArgv.indexOf("--mode");
if (modeIdx >= 0 && rpcArgv[modeIdx + 1]) {
rpcArgv[modeIdx + 1] = "rpc";
} else {
rpcArgv.push("--mode", "rpc");
}And again in the rpcArgvForRun builder (lines 564-574):
const modeIdx = copy.indexOf("--mode");
if (modeIdx >= 0 && copy[modeIdx + 1]) {
copy.splice(modeIdx, 2, "--mode", "rpc");
} else if (!copy.includes("--mode")) {
copy.splice(copy.length - 1, 0, "--mode", "rpc");
}Question
Is this intentional? If RPC mode is always required (for streaming, process reuse, etc.), should the README example be updated to either:
- Remove
--mode jsonsince it's ignored anyway, or - Document that the
--modeparameter in config is overridden and explain why RPC is used
Context
The RPC mode provides:
- Process reuse via singleton pattern (tau stays alive between messages)
- Streaming events via
onEventcallback - Activity-based timeout reset
- Clean
agent_endsignal for completion detection
So it makes sense to force RPC, but the config example is misleading as users might think --mode json is being respected.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels