Repository navigation
chore(upstream): integrate code interpreter v1.10.10 - #42
Merged
Merged
Conversation
* 🧭 feat: Add Guided Worker Setup And Saved Profiles * 🔒 fix: Keep Pairing Codes Out Of Terminal History * 🔒 fix: Isolate Secret Prompt Editing State --------- Co-authored-by: Lia <lia@librechat.ai>
…at-AI#342) * 🪪 feat: Add Key-Bound Browser Enrollment And Resumable Setup * 🛡️ fix: Protect Setup State And Legacy Enrollment Fences * 🔐 fix: Remove Completed Setup Secrets And Bind Pending State To Identity * 🛡️ fix: Bind Setup Recovery State Across Startup Modes * 🗝️ fix: Protect The Entire Setup Journal Namespace --------- Co-authored-by: Lia <lia@librechat.ai>
* 📑 feat: Add Standalone File Extraction Service * fix: Restrict Worker Control and Preserve Nested Document Text * fix: Preserve Parser Policy Failures and Startup Restrictions * fix: Reject Unsupported DOCX Content and Validate OPC XML Parts * fix: Enforce Complete DOCX Content Structure * fix: Extract Merged DOCX Cells Once * fix: Reject Unmappable PDF Font Text * fix: Normalize Optional PDF Font Encodings --------- Co-authored-by: Lia <lia@librechat.ai>
* fix: Diagnose Unavailable Worker Commands Without Logging Payloads * fix: Preserve Diagnostic Correlation And Isolate Async Log Sinks * fix: Preserve Failure Diagnostics Across Cleanup And Log Boundaries
…-AI#352) * test: handle descendant adoption races in orphan cleanup * test: bound asynchronous pipe descriptor cleanup wait
* 📥 feat: Import Chat Uploads Into Attached Workspaces Add the additive `import_file` workspace operation so a chat's uploaded files, binaries included, land in an attached BYOM workspace. Code API verifies the caller owns the stored object with the download route's session rule, mints a one-object, read-only, short-lived egress grant, and relays opaque handles to the worker. The worker streams the object through its file relay upstream into a same-directory temporary file, enforces the declared size and SHA-256, refuses `.git` paths and symlinked parents, and installs it atomically as 0644. Identical bytes are an idempotent no-op; different bytes conflict unless `overwrite`. The operation is negotiated: Code API offers it only with an egress gateway, and workers advertise it only with writes enabled and a relay upstream configured. * 🛡️ fix: Harden Imports and Make Advertisement Opt-In - Verify size and SHA-256 on the synced staged file, not just the stream. - Set created parent directories to 0755 regardless of umask. - Install disconnect listeners before ownership and grant minting, and never dispatch for a caller that already left. - Authorize durable imports only for new request IDs so retries of an existing request stay idempotent after the upload expires. - Gate worker advertisement behind LIBRECHAT_CODE_ALLOW_WORKSPACE_IMPORTS, since older LibreChat releases reject unknown operations. * 🧹 fix: Tighten Import Cleanup, Stall Timing, and Durable Grants - Roll back a created parent only while it is still the inode the import created; otherwise report a possibly committed mutation. - Report an unremovable staging file as a possibly committed mutation. - Arm the stall timer only while waiting on the source, not during writes. - Revoke a durable import's grant when the queue does not adopt it. * 🔒 fix: Refuse NTFS Stream Aliases of .git in Import Paths Compare only the part of each segment before an NTFS stream separator, so `.git::$INDEX_ALLOCATION` and similar aliases are refused like `.git`. * ⚡ feat: Advertise Workspace Imports by Default With an Explicit Opt-Out The code bridge is experimental, so import_file is now on whenever a worker can perform it (writes enabled and a relay upstream configured). Operators opt out with LIBRECHAT_CODE_ALLOW_WORKSPACE_IMPORTS=false or --no-workspace-imports; any other value fails startup.
…AI#347) * 🔗 fix: Refresh Runtime Module Links After Upgrades * fix: Preserve Canonical User Module Links * test: Isolate Input-Cache Route Setup * fix: Complete Runtime Module Link Migration Paths * fix: Update Patched Node Runtimes And Align Rollout Defaults --------- Co-authored-by: Lia <lia@librechat.ai>
* fix(codeapi): pin proxy-addr to 2.0.8 (#4534) Source: ClickHouse/ai@4215c459945b0de73db0f99d6d86d8b470b96572 * ci(codeapi): mirror upstream node runtime versions Source: ClickHouse/ai@5f963906ee74d3247802b52ac2cdb8f85a9fcfda --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
rschlaefli
marked this pull request as ready for review
October 23, 2026 09:44
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
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.
Integrate upstream v1.10.10 with merge history preserved, carrying the fork’s cancellation, cleanup, isolation and GitOps compatibility behavior forward. This includes upstream’s updated Node runtimes, restored-module handling, worker setup/enrollment/recovery, workspace file import, standalone extraction package and proxy-addr correction.
The fork keeps its readable sandbox helpers, issuer-specific trust, values-free logs, nonfatal telemetry, external replica/secret ownership and execution deadlines. Equivalent descriptor-wait and orphan-helper patches are replaced by upstream implementations; distinct startup-cancellation, graceful-shutdown and bounded negative-control tests remain. The existing native CI lanes now explicitly verify the bridge executable and run the focused descendant regressions.
The persisted roadmap and fork ledger describe the retained behavior and next gates. Development Compose retains upstream’s paired-worker/import capabilities. The managed HTTP/static/non-dynamic contract remains separate; extraction has its own workflow and Compose file. This source package does not publish images, deploy services or create fork releases.
Validation: YAML and focused chart/configuration checks pass, along with extraction formatting, type checking and all 14 local unit tests. All fourteen main CI jobs and the Extraction Service workflow pass at the upstream candidate, including both native architectures, both Node versions, packaged guest execution and extraction container isolation. Independent simplification and runtime/build risk reviews passed. The final integrated source review passed after all source sections and their integration were covered. Merge with history and source branch retained, plus the existing automatic seven-image publication, is approved. Deployment retains its subsequent qualification gates.
Scoped pattern scanning completed with parser limitations. Its findings were checked manually and in the independent risk review; it is not a clean or exhaustive security-audit claim.