feat(assist): режим 'редактор файла' POST /<stand>/_api/file (terraform.tfvars)

This commit is contained in:
Repinoid
2026-10-12 08:40:05 +03:00
parent 5d9986271a
commit 1fcfa4f070
2 changed files with 264 additions and 0 deletions
+24
View File
@@ -83,6 +83,15 @@ try {
assistShared = null;
}
// Режим «редактор файла» (terraform.tfvars): лениво грузим, не роняем статику.
let fileHandler = null;
try {
const filemode = require('./filemode.js');
fileHandler = filemode.handleFile;
} catch (_) {
fileHandler = null;
}
const server = http.createServer((req, res) => {
// POST /<stand>/_api/assist — ветка AI-ассистента (до проверки 405).
if (req.method === 'POST') {
@@ -101,6 +110,21 @@ const server = http.createServer((req, res) => {
});
return;
}
const fileMatch = path.match(/^\/([A-Za-z0-9._-]+)\/_api\/file$/);
if (fileMatch && fileHandler && assistShared) {
const stand = fileMatch[1];
fileHandler(req, res, { stand, vmDocsBaseUrl: VM_DOCS_BASE_URL, shared: assistShared })
.catch(() => {
try {
if (!res.headersSent) {
res.writeHead(500, { 'Content-Type': 'application/json; charset=utf-8' });
res.end(JSON.stringify({ error: 'internal_error', message: 'file mode failed' }));
}
} catch (_) { }
});
return;
}
}
if (req.method !== 'GET' && req.method !== 'HEAD') {