🧲 feat: Enable Secure Attached Environment Pairing (#15355)

* feat: add secure code environment pairing

* fix: satisfy code environment type checks

* fix: secure code environment administration

* fix: isolate code pairing control plane

* fix: validate code pairing control responses

* fix: secure code pairing transport

* fix: validate code pairing wire format

* fix: harden pairing secret lookup
This commit is contained in:
Danny Avila 2026-08-30 17:12:20 -04:00 • committed by GitHub
parent 7533d138fa
commit a9ccac8656
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 810 additions and 0 deletions

View file

@ -0,0 +1,17 @@
const express = require('express');
const { createAdminCodeEnvironmentHandlers } = require('@librechat/api');
const { SystemCapabilities } = require('@librechat/data-schemas');
const { requireCapability } = require('~/server/middleware/roles/capabilities');
const { getAppConfig } = require('~/server/services/Config');
const { requireJwtAuth } = require('~/server/middleware');
const router = express.Router();
const requireAdminAccess = requireCapability(SystemCapabilities.ACCESS_ADMIN);
const requireCodeEnvironmentManage = requireCapability(SystemCapabilities.MANAGE_CODE_ENVIRONMENTS);
const handlers = createAdminCodeEnvironmentHandlers({ getAppConfig });
router.use(requireJwtAuth, requireAdminAccess, requireCodeEnvironmentManage);
router.post('/:environmentId/pairings', handlers.createPairing);
router.post('/:environmentId/revoke', handlers.revokeWorker);
module.exports = router;