Every tool says its `sessions` (chat, agent or both). The file tools read, write, edit, glob, grep and list are shared; mkdir, mv, rm, search, python and the forge verbs (commit, branch, pr, merge, tag, release) are the chat's; show and recall are new and shared. New fields: `requires` (page, display, forge) with the exact `unavailable` answer, and `confirm: always` for merge, tag and release. knowledge_*, notes_search, note_view and note_manage leave the chat. Default rules for the new tools; modes.json says what `confirm` does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
51 lines
1.9 KiB
JSON
51 lines
1.9 KiB
JSON
{
|
|
"name": "python",
|
|
"scope": "llembas",
|
|
"sessions": "chat",
|
|
"risk": "execute",
|
|
"exclusive": false,
|
|
"block": "shell",
|
|
"purpose": "purpose",
|
|
"requires": [
|
|
"page"
|
|
],
|
|
"unavailable": "Python cannot run now: no open browser page is attached to this chat.",
|
|
"aliases": {
|
|
"cli": [],
|
|
"llembas": []
|
|
},
|
|
"variables": {
|
|
"packages": "the packages the instance provides beyond the standard library, as a list, or \"none\"",
|
|
"seconds": "the time limit of one call, in seconds",
|
|
"memory": "the memory limit of one call, with its unit",
|
|
"output": "how much printed output comes back, with its unit"
|
|
},
|
|
"description": "Run Python for calculations and for working with files — parse JSON or CSV, transform text, compute. It runs in the user's browser (Pyodide), sandboxed: no network, no shell, no packages beyond the standard library and these: {{packages}}. Returns what the code printed and the value of its last expression.\n\n- `files` are copied in before the run, at the same paths, from what this session can read.\n- Files the code writes come back only when listed in `save`: each is written as the write tool would write it, with this session's permissions.\n- At most {{seconds}} seconds and {{memory}} of memory per call; printed output past {{output}} is cut.\n- Every call starts fresh: nothing is kept between calls.",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"code": {
|
|
"type": "string",
|
|
"description": "The Python code to run"
|
|
},
|
|
"files": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Files to copy in before the run"
|
|
},
|
|
"save": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Files the code writes that are to be saved back"
|
|
}
|
|
},
|
|
"required": [
|
|
"code"
|
|
]
|
|
}
|
|
}
|