v3.10.40 — a malformed tool call no longer crashes the process
🛡️ One bad tool call could take the whole app down — not anymore
A crash report came in from the wild: KeyError: 'command', unhandled, straight through main().
The permission gate read inputs['command'] (and ['file_path'], ['notebook_path']) with a hard subscript. Normally fine — those args are "required" in the schema. But if a model emits a Bash call without a command, or an offloaded --run-tool job gets bad params, that lookup raised a KeyError nothing caught, and the process died.
Fixed
- Every arg is now read with
.get(). A missing argument comes back to the model as a normal tool error; Dulus keeps running.