tool_run
Triggers a specific command from a store-registered tool, passing the declared parameters so the store validates and runs the operation.
Instructions
Run one command of a tool of this store - the working way to do a job the owner already provided for. Say the unit from tool_list, the command, and its parameters as that tool declares them. Not the same as shop_run: that one runs a module YOU wrote, past the storefront, and returns what it printed; this one calls a function the shop wrote, and the store checks the registry before it runs.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| into | No | Name of a job to gather this call into. Every table of the answer is appended to <into>.<table>.jsonl beside the file it lands in anyway, so a walk of many pages ends in one file instead of overwriting itself - and that file feeds the next tool straight from disk, since any parameter takes {"file": ...}. Appending is all it does and nothing ever sweeps these files: they are yours, so delete one when a job begins and again when the work on it is done. A bare name, no path. | |
| unit | Yes | The tool as tool_list names it - the first word of its line, MELBIS_AGENT_CURRENCY. | |
| debug | No | Add the queries of the module to the timing line: how many it ran and how long they took together. Ask for it when a call was slow - a tool that is slow and one that is talkative are different troubles. | |
| files | No | Files for a command that takes them - tool_list says which does. Each entry names a local path and the element it belongs to; the store lays the file down and the tool then does its own work on it. One call is one request and holds as many files as the php of the store allows - it says the number when a pack is too long. The list itself may be the entries, or {"file": "path to a jsonl"} with one entry per line, written by a script and never retyped by you. | |
| params | No | The fields of the command, and a command that declares none takes no params at all. A field it did not declare is refused, so take them from tool_list. A field of type jsonl - a stream of rows - takes the rows themselves, or {"file": "path on this machine"} with one json row per line: then the rows travel straight from the file past you, and a load of hundreds costs you nothing to say. | |
| command | Yes | One command of the tool - tool_list marks the granted ones and says what each takes. |