Repository navigation
feat(core): let bots copy a thread's files into the sandbox - #421
davemooreuws wants to merge 1 commit into
Conversation
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
sugabots-website | 2e98164 | Oct 16 2026, 06:45 AM |
66e8e54 to
416315a
Compare
416315a to
a8e95dc
Compare
a8e95dc to
0c6b376
Compare
|
The intent here is to proactively copy all of a threads files into the sandbox? It feels like this should be a toolcall and left at the agents discretion instead. |
tjholm
left a comment
There was a problem hiding this comment.
Need to think about this one, but I think copying attachments should be an on-demand thing at the agents discretion not a passive copy of files
Fair point, and I think you're right for sugabots. Because the sandbox is shared by the whole pod, copying everything passively puts every chat's files where every bot in the pod can read them, and it costs a copy on every turn that opens the sandbox even when the files aren't needed. I'll change it to a tool the bot calls to copy one attachment in, with the attachment line naming the tool so it knows how. |
0c6b376 to
db73903
Compare
db73903 to
5670f44
Compare
5670f44 to
2e98164
Compare
Sixth of the chat attachments PRs, stacked on #403: a bot that uses the sandbox can copy a file from the chat into it, to work on with commands.
copy_file_to_sandbox({ file }), copies one file in the thread, such as one a person attached, toattachments/<file id>/<safe name>in the thread's folder, and returns that path. The bot copies what it needs, when it needs it.alreadyCopied. A file in the thread never changes and the thread's bots share the folder, so copying again could only undo work. To start fresh, the bot removes the copy and copies again.read_thread_file, which can't read files that are neither text nor images.read_thread_fileand the new tool now give the same refusals, and log them the same way, for a file that can't be read.The pod's bots share its sandbox, so one can read a copy made in another of the pod's chats. Everyone who can see one of a pod's chats can see them all, so no person sees more than before.
Part of SUGA-1825