Repository navigation
Conversation
…rsion of each, and attach its files to what the person says in Chat Files is a connection of its own behind the files experiment, its bytes in a directory on the server (FILES_DIR) or an S3 bucket. Agents use it with files_read, files_write, files_create and the rest; the connection's page is a file browser with folders, uploads, versions to download or restore, and a trash emptied after a while. A file dropped into a conversation is kept in the person's own drive under Chats, and attaching one keeps the version it held: the model reads the message with the first of each file's text under it, and the conversation's agents may read that version with files_read whatever else they may do in the drive. v056_add_files and v057_add_entry_attachments add the drive's tables and a message's attachments.
…words of a message A member makes drives beside their own, each named, from Add connection, and shares one as any connection is: with everyone or with members by name. Which built-in integrations members make more of is the catalog's to say (`made`), so a vault and a drive follow the same rules for renaming, sharing, moving and deleting. Agents are told each drive by its name and where what they make goes. The Files tab searches by name, in the folder opened and below it, saying where each result is, and moves a file or a folder into another folder from its row's menu or the file's own dialog. A file put in a conversation's input is uploaded at once and kept there by the server with what is typed, so the draft has it on any device (v058_add_draft_attachments); dropping files anywhere on the window attaches them. The input is an editable box where a file sits at the caret, among the words, as a chip that is deleted as one thing or by its cross. Where each file sits is a mark in the message's text, so a sent message shows its files in place and the model reads each one's name where the person put it.
…s, and move a drive's files in and out of a sandbox with pap files
…at the version shown, and load no picture from anywhere else
… yet, check pap files at the same gate as a tool, and say less of drives to agents The files put in a conversation's input are rows of AgentEntryAttachment without an entry, in place of a JSON column on the thread, so v058 is gone and v057 makes entryId optional. A run of pap files is checked and logged by the gate a tool's run is (gateRun), as the tool it does the work of, its allowance with it. The drives' instructions say what drives are, where what the agent makes goes and how pap files moves them; which drives there are, the connections above them say.
…56, keep personas their maker's in the files' routes, and draw Files and Chat's attachments with the app's pills Files' buttons are PillButtons and its icon buttons the app's IconButton, which takes `download` for a link that saves a file; the move dialog's folders are rows, rounded as a list's are. Chat's attach button is a ghost pill beside the send button, now Enter's mark. Markdown keeps both: a picture shown only as a drive file kept with the answer, and `allowImages`/`showFavicons` for a task's text.
…t a column as tall as the window
…de each file, and give a file's versions a wider table: its name then, size, when, who made it and whether it is current
…sk chat and pins, keep attachments on the conversation's messages beside its task lines, and tell the persona both how to show a picture and that the person sees its tasks
…an answer cut short mid-link leaves them
… person's drive as they are put in, kept with what they write to the task and the note the persona reads, and read by the task's model
…ents on claude, keep attachments on the conversation's messages as its task lines move under the words about them, and check the viewer rather than the chat experiment on the attachment routes, as main's chat is no experiment now
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds Files: a drive of folders and files for each member, keeping every version of each file, with drives that can be shared, and files that can be moved and searched. In Chat a person can attach files from their drive and place them among the words of a message; the agent reads text, PDFs, Word documents and spreadsheets with the message, and models that can see pictures (every Claude model) get the pictures from the person's last two messages, resized with sharp so they're small enough to send.
Agents get the same drive through tools, and code in a sandbox gets it through
pap files ls|pull|pushon new/api/cli/files/:connection/…routes. These move raw bytes, which a tool's text answer can't carry. A push over an existing file is accepted only if the file still holds the version that was pulled, unless--forceis given, and the earlier version is kept either way. Each request goes through the same permission check and activity log as a tool call. The docs for Files and Sandboxes describe both.The agent can also show the person a picture in Chat. It writes a drive file's link as a Markdown image, and the server keeps that file at its current version with the answer, but only if the agent may read the drive; the chat then shows it inline. Chat's Markdown no longer loads image URLs from anywhere else (it shows them as links), which closes a way for a prompt-injected answer to send data out through the person's browser.
Open workspace in Conductor