LibreChat/api/server/services
Danny Avila d1eb4528e1 🔧 feat: Lazy file provisioning — defer uploads to tool invocation time
Move file provisioning from eager (at chat-request start) to lazy
(at tool invocation time via ON_TOOL_EXECUTE). Files are now only
uploaded to code env / vector DB when the LLM actually calls the
respective tool.

- resources.ts: primeResources no longer provisions; computes
  provisionState (which files need code env / vector DB uploads)
  with staleness check and single credential load
- handlers.ts: add provisionFiles callback to ToolExecuteOptions,
  called once per tool-call batch before execution
- initialize.ts: pass provisionState through InitializedAgent
- initialize.js: implement provisionFiles closure that provisions
  files in parallel, batches DB updates, clears state after use;
  store provisionState in agentToolContexts for all agent types
2026-06-25 12:34:07 -04:00
..
__tests__
Artifacts
Config
Endpoints 🔧 feat: Lazy file provisioning — defer uploads to tool invocation time 2026-06-25 12:34:07 -04:00
Files 🧹 chore: Optimize provisioning — single credential load, deferred DB writes 2026-06-25 12:34:07 -04:00
Runs
Skills
start
Threads
Tools
ActionService.js
ActionService.spec.js
AssistantService.js
AuthService.js
AuthService.spec.js
cleanup.js
createRunBody.js
GraphApiService.js
GraphApiService.spec.js
GraphTokenService.js
initializeMCPs.js
initializeMCPs.spec.js
initializeOAuthReconnectManager.js
MCP.js
MCP.spec.js
MCPRequestContext.js
OboPolicyService.js
OboTokenService.js
OboTokenService.spec.js
PermissionService.js
PermissionService.spec.js
PluginService.js
systemGrant.spec.js
ToolService.js 🧠 feat: Add Memory as an Agent Capability with Inline Tools and Ephemeral Badge (#13869) 2026-06-24 17:14:13 -04:00
twoFactorService.js