Files
Files go both ways: people attach them for the agent, and the agent sends them back.
Files people share
Bishop downloads what people attach and saves it under .bishop/files, one directory per thread, collected with everything else that thread left behind. The agent reads it from disk, so any file type works: what the agent can do with a .parquet is up to the agent.
A file shared earlier in the conversation is named to the agent rather than downloaded, and the agent fetches the ones it wants with a tool. That keeps being tagged into a busy thread cheap, and it means the agent can go back for a file it was told about turns ago. A reference only works in the conversation the file was shared in.
{
"files": {
"maxMb": 100
}
}The default is 100. A file over the limit isn't refused: the agent is told its name and that it was too large, so it can say so.
What each interface needs:
- Slack needs the
files:readandfiles:writescopes. See Scopes. - Email needs nothing more.
- Teams needs
supportsFileson the app's bot, whichbishop teams setupsets on a new app and reports missing on an old one. A file in a channel also needsFiles.ReadWrite.All. See Teams files.
Files the agent sends
The agent can send a file back: an upload in the Slack thread, an attachment on the mail in email, a file card in Teams. It registers the file with a tool, which checks it and hands back a reference, and writes that reference into its reply where the file should appear. In Slack the file arrives on the message carrying the words around it, the way a person sends one. A file it registers and never places is still sent, after the answer, so nothing is silently dropped.
In a Teams personal chat the recipient gets a card asking them to accept the file, and it arrives once they do. In a channel the file is uploaded to the channel's SharePoint files folder, where it stays after the conversation and anyone with access to that folder can open it, including people who were never in the thread. Sending to a channel needs Files.ReadWrite.All, and without it the message goes out without the file. Group chats can't carry a file, and an agent that tries in one is told so.
The limit is 25MB per answer in Slack and Teams and 4MB by email, across everything one answer sends. Neither is configurable. Anything past it is dropped with a line in the log and the message still goes. A scheduled report can carry files too, and an agent that reports nothing sends nothing, attachment included.
With the sandbox on, the agent can only send files it could read itself.