feat(thread-chat): support text, code, and image attachments - #83
Merged
Conversation
Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
Connect composer attachments to R2 uploads, persisted message parts, and model context compilation. Add explicit vision capability checks, image preprocessing limits, and attachment pipeline tests. Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Team Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Resolve Thread Chat project list and style-token changes while preserving attachment upload, model context, and retry behavior. Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
Track the long-lived issue workflow for incremental PRs and allow project Command Code taste files to remain versioned. Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
Support common text and source-code extensions as safe UTF-8 attachments. Add constrained image previews, file cards, authenticated in-app text previews, and explicit attachment downloads. Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
Update the evaluation contract expectation to match the ten explicitly declared smoke cases. Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
Align the smoke count and committed CI, scheduled, and release fixture baselines with the current explicit evaluation manifests. Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
Owner
Author
|
最新检查状态:
|
Move upload and image preprocessing into the shared attachments domain and reduce repeated composer attachment state updates. Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
Mark every UMAPIS model as supporting image input and cover the full model list in the attachment regression test. Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
Keep pasted and voice-transcribed text at or below 4,000 characters in the composer, while preserving attachment upload for longer content. Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
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.
Summary
This PR delivers the first production-ready slice of the attachment roadmap tracked in #82.
/api/attachments/{id}references instead of base64, R2 keys, or expiring URLstext/plain, preserve filenames/content/whitespace, and reject invalid UTF-8 during ingest/api/attachments/{id}/contentendpoint, with skeleton, empty, error/retry, and download statesContent-Disposition: attachmentVerified models
Attachment limits
Validation
pnpm typechecknode --import tsx e2e/thread-chat/text-attachment-slice.test.mjsnode --import tsx e2e/thread-chat/image-attachment-slice.test.mjsnode --import tsx e2e/thread-chat/ui-message-parts-rendering.test.mjspnpm test:thread-chat:gate2-pipelinepnpm test:thread-chat:gate3-clientpnpm lint— 0 errors, 2 pre-existing warningspnpm buildNot included
Tracking
Part of #82. This PR intentionally does not close the tracking issue.