WIP: resumable stream

This commit is contained in:
Danny Avila 2025-12-11 09:52:15 -05:00
parent 6fb59957d0
commit 21d0dc1a8c
No known key found for this signature in database
GPG key ID: BF31EEB2C5CA0956
12 changed files with 498 additions and 209 deletions

View file

@ -1,6 +1,5 @@
const express = require('express');
const { generateCheckAccess, skipAgentCheck, GenerationJobManager } = require('@librechat/api');
const { logger } = require('@librechat/data-schemas');
const { generateCheckAccess, skipAgentCheck } = require('@librechat/api');
const { PermissionTypes, Permissions, PermissionBits } = require('librechat-data-provider');
const {
setHeaders,
@ -35,25 +34,6 @@ router.use(validateConvoAccess);
router.use(buildEndpointOption);
router.use(setHeaders);
/**
* @route POST /abort
* @desc Abort an ongoing generation job
* @access Private
*/
router.post('/abort', (req, res) => {
const { streamId, abortKey } = req.body;
const jobStreamId = streamId || abortKey?.split(':')?.[0];
if (jobStreamId && GenerationJobManager.hasJob(jobStreamId)) {
GenerationJobManager.abortJob(jobStreamId);
logger.debug(`[AgentStream] Job aborted: ${jobStreamId}`);
return res.json({ success: true, aborted: jobStreamId });
}
res.status(404).json({ error: 'Job not found' });
});
const controller = async (req, res, next) => {
await AgentController(req, res, next, initializeClient, addTitle);
};