oto_function
FUNCTIONS: pure code stored and run by Oto for an exact, deterministic calculation (JSON in → JSON result, warnings and files out). A function reads nothing from Oto, calls no network and sees no secret: pass it everything it needs in input. op=run (slug, input, project = where to store the files it produces → result, warnings, files with a signed download_url) runs the PUBLISHED version only · op=list · op=get (slug, optional version: default the published one, else the latest) · op=versions (history, without code) · op=create (slug, title, description, sources, entrypoint, requirements, note → version 1, PROPOSED) · op=propose (slug, expected_version = the latest version you read, sources, entrypoint, requirements, note → next version, PROPOSED). sources is {filename: content} — flat .py modules (tests are test_*.py, plain functions named test_*) and .json data. A proposed version never runs until it is tested and published (op=test/publish/refuse, by a person in scope: never from a hosted agent). Scope: your active org (default) or scope='user'. PROVISIONAL surface.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"op": "<op>"
},
"name": "oto_function"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| op | Yes | ||
| org | No | ||
| _org | No | ||
| note | No | ||
| slug | No | ||
| input | No | ||
| scope | No | ||
| title | No | ||
| project | No | ||
| sources | No | Files of this version, {filename: content}: flat `.py` modules (tests are `test_*.py`) and `.json` data files. | |
| version | No | ||
| entrypoint | No | `module:function`, called with the input and returning {result, warnings, files}. | |
| description | No | ||
| requirements | No | ||
| expected_version | No |