libre-webui 0.16.1 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +232 -154
- package/backend/dist/db.d.ts.map +1 -1
- package/backend/dist/db.js +5 -0
- package/backend/dist/db.js.map +1 -1
- package/backend/dist/index.d.ts.map +1 -1
- package/backend/dist/index.js +2 -0
- package/backend/dist/index.js.map +1 -1
- package/backend/dist/routes/agentCli.d.ts +3 -0
- package/backend/dist/routes/agentCli.d.ts.map +1 -0
- package/backend/dist/routes/agentCli.js +33 -0
- package/backend/dist/routes/agentCli.js.map +1 -0
- package/backend/dist/routes/chat.d.ts.map +1 -1
- package/backend/dist/routes/chat.js +27 -0
- package/backend/dist/routes/chat.js.map +1 -1
- package/backend/dist/routes/work.d.ts.map +1 -1
- package/backend/dist/routes/work.js +23 -2
- package/backend/dist/routes/work.js.map +1 -1
- package/backend/dist/services/agentCliService.d.ts +30 -0
- package/backend/dist/services/agentCliService.d.ts.map +1 -0
- package/backend/dist/services/agentCliService.js +328 -0
- package/backend/dist/services/agentCliService.js.map +1 -0
- package/backend/dist/services/chatGenerationService.d.ts.map +1 -1
- package/backend/dist/services/chatGenerationService.js +19 -1
- package/backend/dist/services/chatGenerationService.js.map +1 -1
- package/backend/dist/services/workAgentGuidance.js +1 -1
- package/backend/dist/services/workAgentGuidance.js.map +1 -1
- package/backend/dist/services/workAgentService.d.ts.map +1 -1
- package/backend/dist/services/workAgentService.js +37 -0
- package/backend/dist/services/workAgentService.js.map +1 -1
- package/backend/dist/services/workHostWorkspaceService.d.ts +22 -0
- package/backend/dist/services/workHostWorkspaceService.d.ts.map +1 -0
- package/backend/dist/services/workHostWorkspaceService.js +136 -0
- package/backend/dist/services/workHostWorkspaceService.js.map +1 -0
- package/backend/dist/services/workRuntimeService.d.ts +43 -2
- package/backend/dist/services/workRuntimeService.d.ts.map +1 -1
- package/backend/dist/services/workRuntimeService.js +249 -6
- package/backend/dist/services/workRuntimeService.js.map +1 -1
- package/backend/dist/services/workTaskService.d.ts +3 -3
- package/backend/dist/services/workTaskService.d.ts.map +1 -1
- package/backend/dist/services/workTaskService.js +10 -6
- package/backend/dist/services/workTaskService.js.map +1 -1
- package/backend/dist/services/workTerminalService.d.ts +46 -0
- package/backend/dist/services/workTerminalService.d.ts.map +1 -0
- package/backend/dist/services/workTerminalService.js +241 -0
- package/backend/dist/services/workTerminalService.js.map +1 -0
- package/backend/dist/types/index.d.ts +1 -1
- package/backend/dist/types/index.d.ts.map +1 -1
- package/backend/dist/types/work.d.ts +22 -0
- package/backend/dist/types/work.d.ts.map +1 -1
- package/backend/dist/utils/chatProviderSelection.d.ts.map +1 -1
- package/backend/dist/utils/chatProviderSelection.js +7 -5
- package/backend/dist/utils/chatProviderSelection.js.map +1 -1
- package/backend/dist/websocketServer.d.ts.map +1 -1
- package/backend/dist/websocketServer.js +51 -14
- package/backend/dist/websocketServer.js.map +1 -1
- package/backend/dist/workTerminalServer.d.ts +17 -0
- package/backend/dist/workTerminalServer.d.ts.map +1 -0
- package/backend/dist/workTerminalServer.js +224 -0
- package/backend/dist/workTerminalServer.js.map +1 -0
- package/backend/package.json +1 -1
- package/frontend/dist/assets/index-BqI0kezz.css +1 -0
- package/frontend/dist/assets/index-CRC6g6bL.js +3 -0
- package/frontend/dist/assets/xterm-CmMoOwwu.css +1 -0
- package/frontend/dist/index.html +8 -6
- package/frontend/dist/js/ArtifactContainer-Cdy-973y.js +1 -0
- package/frontend/dist/js/{ArtifactDemoPage-CWDhGWrz.js → ArtifactDemoPage-B4qsvUnF.js} +1 -1
- package/frontend/dist/js/ArtifactSlideOutPanel-CmKgQ4eD.js +1 -0
- package/frontend/dist/js/{Button-DBk-AREB.js → Button-CRwzOaDZ.js} +1 -1
- package/frontend/dist/js/ChatPage-CYT69oBR.js +16 -0
- package/frontend/dist/js/FirstTimeSetup-C8LdLP5J.js +1 -0
- package/frontend/dist/js/GalleryPage-Bm89pnS8.js +1 -0
- package/frontend/dist/js/HomePage-CeCYnMUG.js +1 -0
- package/frontend/dist/js/{LibreClawPage-CHEfny1k.js → LibreClawPage-DGMEV6dm.js} +1 -1
- package/frontend/dist/js/{ModelManagerModals-DltRprHU.js → ModelManagerModals-DMoEav1l.js} +1 -1
- package/frontend/dist/js/ModelSelector-DXPdGdQ_.js +1 -0
- package/frontend/dist/js/ModelsPage-D-FIy2x-.js +2 -0
- package/frontend/dist/js/PersonasPage-CIrEVFo5.js +13 -0
- package/frontend/dist/js/RichMessageContent-BJ49VN9j.js +3 -0
- package/frontend/dist/js/SettingsModal-CxtOXPY7.js +1 -0
- package/frontend/dist/js/UserManagementPage-BfyYGGFQ.js +1 -0
- package/frontend/dist/js/WorkPage-C7bW6Hxx.js +4 -0
- package/frontend/dist/js/addon-fit-Cj0_dfHF.js +1 -0
- package/frontend/dist/js/api-DCD41-l9.js +19 -0
- package/frontend/dist/js/appStore-Bw-8Exsx.js +2 -0
- package/frontend/dist/js/ar-BAHlIvy0.js +2 -0
- package/frontend/dist/js/authStore-mOYH_AXI.js +4 -0
- package/frontend/dist/js/bn-BxquDVbd.js +2 -0
- package/frontend/dist/js/{cs-6UKhKj0A.js → cs-C4DoKzRm.js} +2 -2
- package/frontend/dist/js/da-CFslpGTw.js +2 -0
- package/frontend/dist/js/de-ChudoRh2.js +2 -0
- package/frontend/dist/js/es-B36fefE-.js +2 -0
- package/frontend/dist/js/{estree-BRklD62a.js → estree-0vwU39qX.js} +1 -1
- package/frontend/dist/js/fr-BSVeTM5W.js +2 -0
- package/frontend/dist/js/hi-BGoFbl5V.js +2 -0
- package/frontend/dist/js/{html-BgGIAGmn.js → html-CApr2Bvi.js} +1 -1
- package/frontend/dist/js/id-BfYs2p_j.js +2 -0
- package/frontend/dist/js/{is-BWSbAIoq.js → is-DZ1MS-5A.js} +2 -2
- package/frontend/dist/js/it-CXtrPCG1.js +2 -0
- package/frontend/dist/js/ja-FPJ_NK_y.js +2 -0
- package/frontend/dist/js/ko-DVwD4ZZF.js +2 -0
- package/frontend/dist/js/{markdown-CM2nBJJi.js → markdown-C78Qc6xu.js} +1 -1
- package/frontend/dist/js/ms-PKPP0RX3.js +2 -0
- package/frontend/dist/js/nl-DWM5HJZ8.js +2 -0
- package/frontend/dist/js/pl-B9va8Tuf.js +2 -0
- package/frontend/dist/js/pt-P0IQi-Zr.js +2 -0
- package/frontend/dist/js/ru-Ca2bxYnc.js +2 -0
- package/frontend/dist/js/{standalone-CUBo-NGt.js → standalone-DmLfI4Qj.js} +1 -1
- package/frontend/dist/js/sv-DI4RDwyZ.js +2 -0
- package/frontend/dist/js/th-DN0bDS9d.js +2 -0
- package/frontend/dist/js/tr-ChqMv5Q4.js +2 -0
- package/frontend/dist/js/{typescript-Dcy9qxSB.js → typescript-Bcq62agC.js} +1 -1
- package/frontend/dist/js/{ui-vendor-CAFEDSaO.js → ui-vendor-DohPFHDW.js} +1 -1
- package/frontend/dist/js/uk-Cr51h_XQ.js +2 -0
- package/frontend/dist/js/useBaseQuery-BAOlhjar.js +1 -0
- package/frontend/dist/js/useQuery-CcRqxveh.js +1 -0
- package/frontend/dist/js/utils-DmZD5uA3.js +1 -0
- package/frontend/dist/js/{vi-82JkwFsQ.js → vi-D4OhoVMH.js} +2 -2
- package/frontend/dist/js/work-DVgm81bJ.js +1 -0
- package/frontend/dist/js/xterm-DKl1QLiw.js +7 -0
- package/frontend/dist/js/zh-Bvau7hlR.js +2 -0
- package/package.json +3 -3
- package/frontend/dist/assets/index-BVgyQN3z.js +0 -5
- package/frontend/dist/assets/index-Dme2Ozol.css +0 -1
- package/frontend/dist/js/ArtifactContainer-CbMAYwvr.js +0 -1
- package/frontend/dist/js/ArtifactSlideOutPanel-CzUpDM59.js +0 -1
- package/frontend/dist/js/ChatPage-D0fdzy7a.js +0 -16
- package/frontend/dist/js/FirstTimeSetup-CfnOmy9w.js +0 -1
- package/frontend/dist/js/GalleryPage-CMkCur9v.js +0 -1
- package/frontend/dist/js/ModelSelector-COnlNsVM.js +0 -1
- package/frontend/dist/js/ModelsPage-nxheiYJp.js +0 -2
- package/frontend/dist/js/PersonasPage-C2pqDsWA.js +0 -13
- package/frontend/dist/js/RichMessageContent-Cz9y-bgl.js +0 -3
- package/frontend/dist/js/SettingsModal-B6Se68Hd.js +0 -1
- package/frontend/dist/js/UserManagementPage-DQeL-Twp.js +0 -1
- package/frontend/dist/js/WorkPage-AcZMp8OB.js +0 -2
- package/frontend/dist/js/api-Fi-lJlfu.js +0 -19
- package/frontend/dist/js/ar-KceI0PfT.js +0 -2
- package/frontend/dist/js/bn-DsKo2dzS.js +0 -2
- package/frontend/dist/js/da-CJgZ3YuL.js +0 -2
- package/frontend/dist/js/de-BZAmOuCT.js +0 -2
- package/frontend/dist/js/es-CD4u7no9.js +0 -2
- package/frontend/dist/js/fr-Cou2jOS3.js +0 -2
- package/frontend/dist/js/hi-ZxkbNCyB.js +0 -2
- package/frontend/dist/js/id-DT9CqaWQ.js +0 -2
- package/frontend/dist/js/it-CdNoTXm3.js +0 -2
- package/frontend/dist/js/ja-CIuQg0xv.js +0 -2
- package/frontend/dist/js/ko-BWRUjDOH.js +0 -2
- package/frontend/dist/js/ms-gJstIj2a.js +0 -2
- package/frontend/dist/js/nl-CydjVNUw.js +0 -2
- package/frontend/dist/js/pl-DPN9mAa5.js +0 -2
- package/frontend/dist/js/pt-MRXGqIjQ.js +0 -2
- package/frontend/dist/js/ru-CvQ9GkJF.js +0 -2
- package/frontend/dist/js/sv-BxS2fvhU.js +0 -2
- package/frontend/dist/js/th-DMxyn6e4.js +0 -2
- package/frontend/dist/js/tr-BTPldUaA.js +0 -2
- package/frontend/dist/js/uk-BGxZOKgp.js +0 -2
- package/frontend/dist/js/useBaseQuery-CFTidwqz.js +0 -1
- package/frontend/dist/js/useQuery-UsSBfWzs.js +0 -1
- package/frontend/dist/js/utils-pTFqSV8c.js +0 -1
- package/frontend/dist/js/zh-Bxxfwci3.js +0 -2
|
@@ -32,10 +32,14 @@ export const WORK_RUNTIME_DEFAULTS = {
|
|
|
32
32
|
pidsLimit: 256,
|
|
33
33
|
previewPort: 4173,
|
|
34
34
|
previewBind: '127.0.0.1',
|
|
35
|
+
networkName: 'libre-webui-work',
|
|
35
36
|
};
|
|
37
|
+
// Two runtimes per administrator so a second task does not have to wait for
|
|
38
|
+
// the first, three per instance to bound the worst case at three containers'
|
|
39
|
+
// resource caps. Both remain tunable through WORK_MAX_ACTIVE_RUNTIMES_*.
|
|
36
40
|
export const WORK_RUNTIME_ADMISSION_DEFAULTS = {
|
|
37
|
-
maxActiveRuntimesGlobal:
|
|
38
|
-
maxActiveRuntimesPerUser:
|
|
41
|
+
maxActiveRuntimesGlobal: 3,
|
|
42
|
+
maxActiveRuntimesPerUser: 2,
|
|
39
43
|
};
|
|
40
44
|
const config = {
|
|
41
45
|
image: process.env.WORK_RUNTIME_IMAGE || WORK_RUNTIME_DEFAULTS.image,
|
|
@@ -57,17 +61,27 @@ const config = {
|
|
|
57
61
|
WORK_RUNTIME_DEFAULTS.previewBind,
|
|
58
62
|
maxActiveRuntimesGlobal: positiveInteger(process.env.WORK_MAX_ACTIVE_RUNTIMES_GLOBAL, WORK_RUNTIME_ADMISSION_DEFAULTS.maxActiveRuntimesGlobal),
|
|
59
63
|
maxActiveRuntimesPerUser: positiveInteger(process.env.WORK_MAX_ACTIVE_RUNTIMES_PER_USER, WORK_RUNTIME_ADMISSION_DEFAULTS.maxActiveRuntimesPerUser),
|
|
64
|
+
// Dedicated bridge network for networked Work tasks. It is created with
|
|
65
|
+
// inter-container communication disabled, so a sandbox cannot reach other
|
|
66
|
+
// Work sandboxes or the deployment's own containers on the default bridge.
|
|
67
|
+
networkName: process.env.WORK_NETWORK_NAME || WORK_RUNTIME_DEFAULTS.networkName,
|
|
68
|
+
// Optional resolvers forced onto every networked sandbox. Pointing this at
|
|
69
|
+
// a filtering resolver is the supported egress-policy hook.
|
|
70
|
+
dnsServers: parseDnsServers(process.env.WORK_RUNTIME_DNS),
|
|
60
71
|
};
|
|
61
72
|
const PREVIEW_READY_TIMEOUT_MS = 15000;
|
|
62
73
|
const PREVIEW_POLL_INTERVAL_MS = 250;
|
|
63
74
|
const runtimePolicyFingerprint = createHash('sha256')
|
|
64
75
|
.update(JSON.stringify({
|
|
65
|
-
version:
|
|
76
|
+
version: 2,
|
|
66
77
|
memoryLimit: config.memoryLimit,
|
|
67
78
|
cpuLimit: config.cpuLimit,
|
|
68
79
|
pidsLimit: config.pidsLimit,
|
|
69
80
|
previewPort: config.previewPort,
|
|
70
81
|
previewBind: config.previewBind,
|
|
82
|
+
networkName: config.networkName,
|
|
83
|
+
dnsServers: config.dnsServers,
|
|
84
|
+
memorySwapPinned: true,
|
|
71
85
|
}))
|
|
72
86
|
.digest('hex');
|
|
73
87
|
export class WorkRuntimeError extends Error {
|
|
@@ -86,6 +100,8 @@ export class WorkRuntimeService {
|
|
|
86
100
|
maxRounds: config.maxAgentRounds,
|
|
87
101
|
commandTimeoutMs: config.commandTimeoutMs,
|
|
88
102
|
maxOutputChars: config.maxOutputChars,
|
|
103
|
+
maxActiveRuntimesGlobal: config.maxActiveRuntimesGlobal,
|
|
104
|
+
maxActiveRuntimesPerUser: config.maxActiveRuntimesPerUser,
|
|
89
105
|
};
|
|
90
106
|
this.lifecycleTails = new Map();
|
|
91
107
|
this.preparations = new Map();
|
|
@@ -95,6 +111,7 @@ export class WorkRuntimeService {
|
|
|
95
111
|
this.lastDockerUnavailableReason = null;
|
|
96
112
|
this.runtimeLeases = new Map();
|
|
97
113
|
this.previewLeaseReleases = new Map();
|
|
114
|
+
this.terminalHolds = new Map();
|
|
98
115
|
this.recoveryTasks = new Map();
|
|
99
116
|
this.shuttingDown = false;
|
|
100
117
|
}
|
|
@@ -133,6 +150,20 @@ export class WorkRuntimeService {
|
|
|
133
150
|
get dockerUnavailableReason() {
|
|
134
151
|
return this.lastDockerUnavailableReason;
|
|
135
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Live runtime occupancy, so the interface can say "1 of 2 runtimes in use"
|
|
155
|
+
* instead of surprising the administrator with a 429 at submit time.
|
|
156
|
+
*/
|
|
157
|
+
activeRuntimeCounts(userId) {
|
|
158
|
+
let user = 0;
|
|
159
|
+
if (userId) {
|
|
160
|
+
for (const lease of this.runtimeLeases.values()) {
|
|
161
|
+
if (lease.userId === userId)
|
|
162
|
+
user += 1;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
return { global: this.runtimeLeases.size, user };
|
|
166
|
+
}
|
|
136
167
|
async beginRecovery(tasks) {
|
|
137
168
|
for (const task of tasks) {
|
|
138
169
|
this.recoveryTasks.set(task.id, task);
|
|
@@ -227,6 +258,46 @@ export class WorkRuntimeService {
|
|
|
227
258
|
throw error;
|
|
228
259
|
}
|
|
229
260
|
}
|
|
261
|
+
/**
|
|
262
|
+
* Hold the task container up for an interactive terminal session. The hold
|
|
263
|
+
* goes through the same admission (runtime lease), policy verification, and
|
|
264
|
+
* container preparation as every other runtime operation, and keeps the
|
|
265
|
+
* idle-stop path from tearing the container down while a shell is attached.
|
|
266
|
+
*/
|
|
267
|
+
async acquireTerminalHold(task) {
|
|
268
|
+
if (this.activeCommands.has(task.id)) {
|
|
269
|
+
throw new WorkRuntimeError('A Work command is running in this container. Wait for it to finish, then reconnect the terminal.', 409, 'WORK_TERMINAL_COMMAND_ACTIVE');
|
|
270
|
+
}
|
|
271
|
+
const releaseLease = await this.prepare(task);
|
|
272
|
+
this.terminalHolds.set(task.id, (this.terminalHolds.get(task.id) ?? 0) + 1);
|
|
273
|
+
let released = false;
|
|
274
|
+
return async () => {
|
|
275
|
+
if (released)
|
|
276
|
+
return;
|
|
277
|
+
released = true;
|
|
278
|
+
const remaining = (this.terminalHolds.get(task.id) ?? 1) - 1;
|
|
279
|
+
if (remaining <= 0) {
|
|
280
|
+
this.terminalHolds.delete(task.id);
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
this.terminalHolds.set(task.id, remaining);
|
|
284
|
+
}
|
|
285
|
+
try {
|
|
286
|
+
if (remaining <= 0 && !this.shuttingDown) {
|
|
287
|
+
await this.withLifecycleLock(task.id, () => this.stopContainerIfIdleWithLock(task));
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
catch (error) {
|
|
291
|
+
logger.warn(`Could not idle Work container ${task.containerName} after terminal session:`, error);
|
|
292
|
+
}
|
|
293
|
+
finally {
|
|
294
|
+
releaseLease();
|
|
295
|
+
}
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
terminalSessionCount(taskId) {
|
|
299
|
+
return this.terminalHolds.get(taskId) ?? 0;
|
|
300
|
+
}
|
|
230
301
|
beginShutdown() {
|
|
231
302
|
this.shuttingDown = true;
|
|
232
303
|
if (this.recoveryTimer) {
|
|
@@ -323,8 +394,39 @@ export class WorkRuntimeService {
|
|
|
323
394
|
this.assertTaskIsActive(task);
|
|
324
395
|
}
|
|
325
396
|
}
|
|
397
|
+
async ensureWorkNetwork(task) {
|
|
398
|
+
if (!task.networkEnabled)
|
|
399
|
+
return;
|
|
400
|
+
const inspect = await this.docker([
|
|
401
|
+
'network',
|
|
402
|
+
'inspect',
|
|
403
|
+
'--format',
|
|
404
|
+
'{{index .Labels "ai.libre-webui.managed"}} {{index .Options "com.docker.network.bridge.enable_icc"}}',
|
|
405
|
+
config.networkName,
|
|
406
|
+
], { acceptFailure: true });
|
|
407
|
+
if (inspect.exitCode === 0) {
|
|
408
|
+
const [managed, icc] = inspect.stdout.trim().split(' ');
|
|
409
|
+
if (managed !== 'true' || icc !== 'false') {
|
|
410
|
+
throw new WorkRuntimeError(`Docker network "${config.networkName}" exists but is not the managed Work sandbox network (label ai.libre-webui.managed=true with inter-container communication disabled). Remove it or point WORK_NETWORK_NAME at an unused name.`, 503, 'WORK_NETWORK_CONFLICT');
|
|
411
|
+
}
|
|
412
|
+
return;
|
|
413
|
+
}
|
|
414
|
+
const created = await this.docker([
|
|
415
|
+
'network',
|
|
416
|
+
'create',
|
|
417
|
+
'--label',
|
|
418
|
+
'ai.libre-webui.managed=true',
|
|
419
|
+
'--opt',
|
|
420
|
+
'com.docker.network.bridge.enable_icc=false',
|
|
421
|
+
config.networkName,
|
|
422
|
+
], { acceptFailure: true });
|
|
423
|
+
if (created.exitCode !== 0 && !/already exists/i.test(created.stderr)) {
|
|
424
|
+
throw new WorkRuntimeError(`Could not create the Work sandbox network "${config.networkName}": ${created.stderr.trim()}`, 503, 'WORK_NETWORK_UNAVAILABLE');
|
|
425
|
+
}
|
|
426
|
+
}
|
|
326
427
|
async ensureContainer(task) {
|
|
327
428
|
this.assertRuntimeLease(task);
|
|
429
|
+
await this.ensureWorkNetwork(task);
|
|
328
430
|
if (await this.containerExists(task.containerName)) {
|
|
329
431
|
await this.assertManagedContainer(task);
|
|
330
432
|
if (!(await this.containerMatchesTaskPolicy(task))) {
|
|
@@ -539,6 +641,10 @@ export class WorkRuntimeService {
|
|
|
539
641
|
async stopContainerIfIdleWithLock(task) {
|
|
540
642
|
if (this.activeCommands.has(task.id))
|
|
541
643
|
return;
|
|
644
|
+
// An attached terminal session owns the running container exactly like a
|
|
645
|
+
// ready preview does.
|
|
646
|
+
if ((this.terminalHolds.get(task.id) ?? 0) > 0)
|
|
647
|
+
return;
|
|
542
648
|
try {
|
|
543
649
|
if ((await this.previewProcessCheckWithLock(task)) === 'ready' &&
|
|
544
650
|
this.previewLeaseReleases.has(task.id)) {
|
|
@@ -600,6 +706,59 @@ export class WorkRuntimeService {
|
|
|
600
706
|
};
|
|
601
707
|
});
|
|
602
708
|
}
|
|
709
|
+
/**
|
|
710
|
+
* Delete a workspace file, symlink, or directory. Directories require an
|
|
711
|
+
* explicit recursive flag, and the workspace root is never deletable. Runs
|
|
712
|
+
* through the helper container, so it also works while a preview holds the
|
|
713
|
+
* task container.
|
|
714
|
+
*/
|
|
715
|
+
async deletePath(task, requestedPath, recursive = false) {
|
|
716
|
+
const workspacePath = validateWorkspacePath(requestedPath, false);
|
|
717
|
+
return this.withWorkspaceHelperContainer(task, async () => {
|
|
718
|
+
const result = await this.exec(task, [
|
|
719
|
+
'node',
|
|
720
|
+
'-e',
|
|
721
|
+
DELETE_PATH_SCRIPT,
|
|
722
|
+
'--',
|
|
723
|
+
workspacePath,
|
|
724
|
+
recursive ? 'recursive' : '',
|
|
725
|
+
], { maxOutputChars: 10000, acceptFailure: true });
|
|
726
|
+
if (result.exitCode === 21) {
|
|
727
|
+
throw new WorkRuntimeError(`No file or directory exists at ${workspacePath}.`, 404, 'WORK_FILE_NOT_FOUND');
|
|
728
|
+
}
|
|
729
|
+
if (result.exitCode === 22) {
|
|
730
|
+
throw new WorkRuntimeError(`${workspacePath} is a directory. Pass recursive: true to delete it with its contents.`, 409, 'WORK_DELETE_REQUIRES_RECURSIVE');
|
|
731
|
+
}
|
|
732
|
+
if (result.exitCode !== 0) {
|
|
733
|
+
throw new WorkRuntimeError(result.stderr.trim() || 'Could not delete the workspace path.', 503, 'WORK_FILE_DELETE_FAILED');
|
|
734
|
+
}
|
|
735
|
+
const payload = parseJsonOutput(result.stdout);
|
|
736
|
+
return { path: workspacePath, type: payload.type };
|
|
737
|
+
});
|
|
738
|
+
}
|
|
739
|
+
/**
|
|
740
|
+
* Move or rename a workspace file or directory. Destination parents are
|
|
741
|
+
* created inside the workspace, an existing destination is never
|
|
742
|
+
* overwritten, and like deletePath this works while a preview is running.
|
|
743
|
+
*/
|
|
744
|
+
async movePath(task, requestedFrom, requestedTo) {
|
|
745
|
+
const fromPath = validateWorkspacePath(requestedFrom, false);
|
|
746
|
+
const toPath = validateWorkspacePath(requestedTo, false);
|
|
747
|
+
return this.withWorkspaceHelperContainer(task, async () => {
|
|
748
|
+
const result = await this.exec(task, ['node', '-e', MOVE_PATH_SCRIPT, '--', fromPath, toPath], { maxOutputChars: 10000, acceptFailure: true });
|
|
749
|
+
if (result.exitCode === 21) {
|
|
750
|
+
throw new WorkRuntimeError(`No file or directory exists at ${fromPath}.`, 404, 'WORK_FILE_NOT_FOUND');
|
|
751
|
+
}
|
|
752
|
+
if (result.exitCode === 24) {
|
|
753
|
+
throw new WorkRuntimeError(`${toPath} already exists. Delete it first or choose another destination.`, 409, 'WORK_DESTINATION_EXISTS');
|
|
754
|
+
}
|
|
755
|
+
if (result.exitCode !== 0) {
|
|
756
|
+
throw new WorkRuntimeError(result.stderr.trim() || 'Could not move the workspace path.', 503, 'WORK_FILE_MOVE_FAILED');
|
|
757
|
+
}
|
|
758
|
+
parseJsonOutput(result.stdout);
|
|
759
|
+
return { from: fromPath, to: toPath };
|
|
760
|
+
});
|
|
761
|
+
}
|
|
603
762
|
async searchFiles(task, query, requestedPath = '.') {
|
|
604
763
|
const workspacePath = validateWorkspacePath(requestedPath);
|
|
605
764
|
if (!query.trim() || query.length > 500) {
|
|
@@ -1093,7 +1252,7 @@ export class WorkRuntimeService {
|
|
|
1093
1252
|
? inspected.Mounts.map(objectRecord)
|
|
1094
1253
|
: [];
|
|
1095
1254
|
const workspaceMount = mounts.find(mount => mount.Destination === '/workspace');
|
|
1096
|
-
const expectedNetwork = task.networkEnabled ?
|
|
1255
|
+
const expectedNetwork = task.networkEnabled ? config.networkName : 'none';
|
|
1097
1256
|
const portBindings = objectRecord(hostConfig.PortBindings);
|
|
1098
1257
|
const previewBindings = Array.isArray(portBindings[`${config.previewPort}/tcp`])
|
|
1099
1258
|
? portBindings[`${config.previewPort}/tcp`].map(objectRecord)
|
|
@@ -1118,6 +1277,7 @@ export class WorkRuntimeService {
|
|
|
1118
1277
|
securityOpt.includes('no-new-privileges') &&
|
|
1119
1278
|
Number(hostConfig.PidsLimit) === config.pidsLimit &&
|
|
1120
1279
|
Number(hostConfig.Memory) > 0 &&
|
|
1280
|
+
Number(hostConfig.MemorySwap) === Number(hostConfig.Memory) &&
|
|
1121
1281
|
Number(hostConfig.NanoCpus) > 0 &&
|
|
1122
1282
|
hostConfig.NetworkMode === expectedNetwork &&
|
|
1123
1283
|
portPolicyMatches &&
|
|
@@ -1274,15 +1434,25 @@ export function buildWorkContainerRunArgs(task, image = config.image) {
|
|
|
1274
1434
|
String(config.pidsLimit),
|
|
1275
1435
|
'--memory',
|
|
1276
1436
|
config.memoryLimit,
|
|
1437
|
+
// Same value as --memory: the memory cap cannot be sidestepped via swap.
|
|
1438
|
+
'--memory-swap',
|
|
1439
|
+
config.memoryLimit,
|
|
1277
1440
|
'--cpus',
|
|
1278
1441
|
config.cpuLimit,
|
|
1279
1442
|
'--network',
|
|
1280
|
-
task.networkEnabled ?
|
|
1443
|
+
task.networkEnabled ? config.networkName : 'none',
|
|
1281
1444
|
];
|
|
1282
1445
|
if (task.networkEnabled) {
|
|
1283
1446
|
args.push('--publish', `${config.previewBind}::${config.previewPort}`);
|
|
1447
|
+
for (const server of config.dnsServers) {
|
|
1448
|
+
args.push('--dns', server);
|
|
1449
|
+
}
|
|
1284
1450
|
}
|
|
1285
|
-
args.push('--mount',
|
|
1451
|
+
args.push('--mount', task.hostPath
|
|
1452
|
+
? // Host-folder workspaces are opt-in per deployment and validated
|
|
1453
|
+
// against an allowlist before ever reaching this point.
|
|
1454
|
+
`type=bind,src=${task.hostPath},dst=/workspace`
|
|
1455
|
+
: `type=volume,src=${task.volumeName},dst=/workspace,volume-nocopy`, image, 'tail', '-f', '/dev/null');
|
|
1286
1456
|
return args;
|
|
1287
1457
|
}
|
|
1288
1458
|
export function validateWorkspacePath(input, allowRoot = true) {
|
|
@@ -1443,6 +1613,21 @@ function positiveInteger(value, fallback) {
|
|
|
1443
1613
|
const parsed = Number(value);
|
|
1444
1614
|
return Number.isInteger(parsed) && parsed > 0 ? parsed : fallback;
|
|
1445
1615
|
}
|
|
1616
|
+
export function parseDnsServers(value) {
|
|
1617
|
+
if (!value)
|
|
1618
|
+
return [];
|
|
1619
|
+
return value
|
|
1620
|
+
.split(',')
|
|
1621
|
+
.map(server => server.trim())
|
|
1622
|
+
.filter(server => {
|
|
1623
|
+
if (!server)
|
|
1624
|
+
return false;
|
|
1625
|
+
if (/^[0-9a-fA-F:.]+$/.test(server))
|
|
1626
|
+
return true;
|
|
1627
|
+
logger.warn(`Ignoring WORK_RUNTIME_DNS entry "${server}": not an IPv4/IPv6 address.`);
|
|
1628
|
+
return false;
|
|
1629
|
+
});
|
|
1630
|
+
}
|
|
1446
1631
|
function objectRecord(value) {
|
|
1447
1632
|
return value && typeof value === 'object'
|
|
1448
1633
|
? value
|
|
@@ -1878,6 +2063,64 @@ process.stdin.on('end', () => {
|
|
|
1878
2063
|
console.log(JSON.stringify({size:stat.size, updatedAt:stat.mtimeMs}));
|
|
1879
2064
|
});
|
|
1880
2065
|
`;
|
|
2066
|
+
const DELETE_PATH_SCRIPT = `${COMMON_PATH_GUARD}
|
|
2067
|
+
if (target === rootReal) throw new Error('Refusing to delete the workspace root');
|
|
2068
|
+
const parentReal = fs.realpathSync(path.dirname(target));
|
|
2069
|
+
if (!inside(parentReal)) throw new Error('Path escapes workspace');
|
|
2070
|
+
const safeTarget = path.join(parentReal, path.basename(target));
|
|
2071
|
+
let stat;
|
|
2072
|
+
try { stat = fs.lstatSync(safeTarget); } catch { process.exit(21); }
|
|
2073
|
+
const recursive = process.argv[2] === 'recursive';
|
|
2074
|
+
let type;
|
|
2075
|
+
if (stat.isSymbolicLink()) {
|
|
2076
|
+
type = 'symlink';
|
|
2077
|
+
fs.unlinkSync(safeTarget);
|
|
2078
|
+
} else if (stat.isDirectory()) {
|
|
2079
|
+
if (!recursive) process.exit(22);
|
|
2080
|
+
type = 'directory';
|
|
2081
|
+
fs.rmSync(safeTarget, {recursive: true});
|
|
2082
|
+
} else {
|
|
2083
|
+
type = 'file';
|
|
2084
|
+
fs.unlinkSync(safeTarget);
|
|
2085
|
+
}
|
|
2086
|
+
process.stdout.write(JSON.stringify({type}));
|
|
2087
|
+
`;
|
|
2088
|
+
const MOVE_PATH_SCRIPT = `${COMMON_PATH_GUARD}
|
|
2089
|
+
const destRel = process.argv[2] || '';
|
|
2090
|
+
if (!destRel) throw new Error('Destination path is required');
|
|
2091
|
+
const destTarget = path.resolve(root, destRel);
|
|
2092
|
+
if (!inside(destTarget)) throw new Error('Path escapes workspace');
|
|
2093
|
+
if (target === rootReal || destTarget === rootReal) {
|
|
2094
|
+
throw new Error('Refusing to move the workspace root');
|
|
2095
|
+
}
|
|
2096
|
+
const sourceParentReal = fs.realpathSync(path.dirname(target));
|
|
2097
|
+
if (!inside(sourceParentReal)) throw new Error('Path escapes workspace');
|
|
2098
|
+
const safeSource = path.join(sourceParentReal, path.basename(target));
|
|
2099
|
+
let sourceStat;
|
|
2100
|
+
try { sourceStat = fs.lstatSync(safeSource); } catch { process.exit(21); }
|
|
2101
|
+
const destParent = path.dirname(destTarget);
|
|
2102
|
+
const destParts = path.relative(root, destParent).split(path.sep).filter(Boolean);
|
|
2103
|
+
let destParentReal = rootReal;
|
|
2104
|
+
for (const part of destParts) {
|
|
2105
|
+
const next = path.join(destParentReal, part);
|
|
2106
|
+
if (!fs.existsSync(next)) fs.mkdirSync(next, {mode:0o755});
|
|
2107
|
+
if (fs.lstatSync(next).isSymbolicLink()) throw new Error('Refusing to traverse symlink');
|
|
2108
|
+
destParentReal = fs.realpathSync(next);
|
|
2109
|
+
if (!inside(destParentReal) || !fs.statSync(destParentReal).isDirectory()) {
|
|
2110
|
+
throw new Error('Path escapes workspace');
|
|
2111
|
+
}
|
|
2112
|
+
}
|
|
2113
|
+
const safeDest = path.join(destParentReal, path.basename(destTarget));
|
|
2114
|
+
let destTaken = false;
|
|
2115
|
+
try { fs.lstatSync(safeDest); destTaken = true; } catch {}
|
|
2116
|
+
if (destTaken) process.exit(24);
|
|
2117
|
+
if (safeSource === safeDest) throw new Error('Source and destination are the same path');
|
|
2118
|
+
if (sourceStat.isDirectory() && safeDest.startsWith(safeSource + path.sep)) {
|
|
2119
|
+
throw new Error('Cannot move a directory inside itself');
|
|
2120
|
+
}
|
|
2121
|
+
fs.renameSync(safeSource, safeDest);
|
|
2122
|
+
process.stdout.write(JSON.stringify({moved: true}));
|
|
2123
|
+
`;
|
|
1881
2124
|
const SEARCH_FILES_SCRIPT = `${COMMON_PATH_GUARD}
|
|
1882
2125
|
const query = String(process.argv[2] || '').toLowerCase();
|
|
1883
2126
|
const targetReal = fs.realpathSync(target);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workRuntimeService.js","sourceRoot":"","sources":["../../src/services/workRuntimeService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workRuntimeService.js","sourceRoot":"","sources":["../../src/services/workRuntimeService.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@ export declare const WORK_MESSAGE_PAGE_SIZE = 200;
|
|
|
3
3
|
export declare const WORK_MESSAGE_MAX_BYTES = 100000;
|
|
4
4
|
export declare const WORK_MESSAGE_METADATA_MAX_BYTES = 100000;
|
|
5
5
|
export declare const WORK_ADMISSION_DEFAULTS: {
|
|
6
|
-
readonly maxActiveRuntimesGlobal:
|
|
7
|
-
readonly maxActiveRuntimesPerUser:
|
|
6
|
+
readonly maxActiveRuntimesGlobal: 3;
|
|
7
|
+
readonly maxActiveRuntimesPerUser: 2;
|
|
8
8
|
readonly maxTasksGlobal: 500;
|
|
9
9
|
readonly maxTasksPerUser: 100;
|
|
10
10
|
};
|
|
@@ -12,7 +12,7 @@ export declare class WorkTaskService {
|
|
|
12
12
|
private retiringUsers;
|
|
13
13
|
private retiringTasks;
|
|
14
14
|
private networkPolicyChanges;
|
|
15
|
-
createTaskWithRun(userId: string, message: string, model: string, networkEnabled: boolean, provider?: WorkProviderSelection): WorkTaskDetail;
|
|
15
|
+
createTaskWithRun(userId: string, message: string, model: string, networkEnabled: boolean, provider?: WorkProviderSelection, hostPath?: string): WorkTaskDetail;
|
|
16
16
|
createRun(taskId: string, userId: string, message: string, model?: string, provider?: WorkProviderSelection): WorkTaskDetail;
|
|
17
17
|
listTasks(userId: string): WorkTaskSummary[];
|
|
18
18
|
listTaskRecords(userId: string): WorkTaskRecord[];
|