feat(web,server,core): attach files to a message from the composer (#121)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Yaowei Zheng
2026-07-29 23:44:10 +08:00
committed by GitHub
parent 37fc715ce9
commit 1d23a7acaf
25 changed files with 1692 additions and 131 deletions
+9 -1
View File
@@ -792,10 +792,17 @@ When done, open index.html in a browser and self-test once.`,
},
skillsBanner: (names: string[]): string =>
`Using skill${names.length === 1 ? "" : "s"}: ${names.join(", ")}`,
/** Composer "+" extension menu (currently only goal mode; more entries later) and the goal chip. */
attachedFilesBanner: (names: string[]): string =>
`Attached file${names.length === 1 ? "" : "s"}: ${names.join(", ")}`,
/** Composer "+" extension menu (image upload, file attachment, goal mode) and the goal chip. */
plusMenu: "More input options",
uploadImage: "Upload image",
uploadImageDesc: "Attach images to this message",
uploadFile: "Upload file",
uploadFileDesc: "Saved to the session scratchpad; the model reads them by path",
removeFile: "Remove file",
attachmentTooLarge: (name: string): string =>
`${name} exceeds the 10MB limit and was not attached.`,
goalMode: "Goal mode",
goalModeDesc: "Loop until the goal completes",
goalBudgetLabel: "Token budget",
@@ -974,6 +981,7 @@ When done, open index.html in a browser and self-test once.`,
unknown_skill: "This skill is not in the library.",
file_not_found: "This file no longer exists.",
file_too_large: "The file is too large.",
too_many_files: "Too many files attached to one message.",
payload_too_large: "The request is too large.",
dir_not_absolute: "The directory must be an absolute path.",
not_a_dir: "That path is not a directory.",