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.
Files changed (160) hide show
  1. package/README.md +232 -154
  2. package/backend/dist/db.d.ts.map +1 -1
  3. package/backend/dist/db.js +5 -0
  4. package/backend/dist/db.js.map +1 -1
  5. package/backend/dist/index.d.ts.map +1 -1
  6. package/backend/dist/index.js +2 -0
  7. package/backend/dist/index.js.map +1 -1
  8. package/backend/dist/routes/agentCli.d.ts +3 -0
  9. package/backend/dist/routes/agentCli.d.ts.map +1 -0
  10. package/backend/dist/routes/agentCli.js +33 -0
  11. package/backend/dist/routes/agentCli.js.map +1 -0
  12. package/backend/dist/routes/chat.d.ts.map +1 -1
  13. package/backend/dist/routes/chat.js +27 -0
  14. package/backend/dist/routes/chat.js.map +1 -1
  15. package/backend/dist/routes/work.d.ts.map +1 -1
  16. package/backend/dist/routes/work.js +23 -2
  17. package/backend/dist/routes/work.js.map +1 -1
  18. package/backend/dist/services/agentCliService.d.ts +30 -0
  19. package/backend/dist/services/agentCliService.d.ts.map +1 -0
  20. package/backend/dist/services/agentCliService.js +328 -0
  21. package/backend/dist/services/agentCliService.js.map +1 -0
  22. package/backend/dist/services/chatGenerationService.d.ts.map +1 -1
  23. package/backend/dist/services/chatGenerationService.js +19 -1
  24. package/backend/dist/services/chatGenerationService.js.map +1 -1
  25. package/backend/dist/services/workAgentGuidance.js +1 -1
  26. package/backend/dist/services/workAgentGuidance.js.map +1 -1
  27. package/backend/dist/services/workAgentService.d.ts.map +1 -1
  28. package/backend/dist/services/workAgentService.js +37 -0
  29. package/backend/dist/services/workAgentService.js.map +1 -1
  30. package/backend/dist/services/workHostWorkspaceService.d.ts +22 -0
  31. package/backend/dist/services/workHostWorkspaceService.d.ts.map +1 -0
  32. package/backend/dist/services/workHostWorkspaceService.js +136 -0
  33. package/backend/dist/services/workHostWorkspaceService.js.map +1 -0
  34. package/backend/dist/services/workRuntimeService.d.ts +43 -2
  35. package/backend/dist/services/workRuntimeService.d.ts.map +1 -1
  36. package/backend/dist/services/workRuntimeService.js +249 -6
  37. package/backend/dist/services/workRuntimeService.js.map +1 -1
  38. package/backend/dist/services/workTaskService.d.ts +3 -3
  39. package/backend/dist/services/workTaskService.d.ts.map +1 -1
  40. package/backend/dist/services/workTaskService.js +10 -6
  41. package/backend/dist/services/workTaskService.js.map +1 -1
  42. package/backend/dist/services/workTerminalService.d.ts +46 -0
  43. package/backend/dist/services/workTerminalService.d.ts.map +1 -0
  44. package/backend/dist/services/workTerminalService.js +241 -0
  45. package/backend/dist/services/workTerminalService.js.map +1 -0
  46. package/backend/dist/types/index.d.ts +1 -1
  47. package/backend/dist/types/index.d.ts.map +1 -1
  48. package/backend/dist/types/work.d.ts +22 -0
  49. package/backend/dist/types/work.d.ts.map +1 -1
  50. package/backend/dist/utils/chatProviderSelection.d.ts.map +1 -1
  51. package/backend/dist/utils/chatProviderSelection.js +7 -5
  52. package/backend/dist/utils/chatProviderSelection.js.map +1 -1
  53. package/backend/dist/websocketServer.d.ts.map +1 -1
  54. package/backend/dist/websocketServer.js +51 -14
  55. package/backend/dist/websocketServer.js.map +1 -1
  56. package/backend/dist/workTerminalServer.d.ts +17 -0
  57. package/backend/dist/workTerminalServer.d.ts.map +1 -0
  58. package/backend/dist/workTerminalServer.js +224 -0
  59. package/backend/dist/workTerminalServer.js.map +1 -0
  60. package/backend/package.json +1 -1
  61. package/frontend/dist/assets/index-BqI0kezz.css +1 -0
  62. package/frontend/dist/assets/index-CRC6g6bL.js +3 -0
  63. package/frontend/dist/assets/xterm-CmMoOwwu.css +1 -0
  64. package/frontend/dist/index.html +8 -6
  65. package/frontend/dist/js/ArtifactContainer-Cdy-973y.js +1 -0
  66. package/frontend/dist/js/{ArtifactDemoPage-CWDhGWrz.js → ArtifactDemoPage-B4qsvUnF.js} +1 -1
  67. package/frontend/dist/js/ArtifactSlideOutPanel-CmKgQ4eD.js +1 -0
  68. package/frontend/dist/js/{Button-DBk-AREB.js → Button-CRwzOaDZ.js} +1 -1
  69. package/frontend/dist/js/ChatPage-CYT69oBR.js +16 -0
  70. package/frontend/dist/js/FirstTimeSetup-C8LdLP5J.js +1 -0
  71. package/frontend/dist/js/GalleryPage-Bm89pnS8.js +1 -0
  72. package/frontend/dist/js/HomePage-CeCYnMUG.js +1 -0
  73. package/frontend/dist/js/{LibreClawPage-CHEfny1k.js → LibreClawPage-DGMEV6dm.js} +1 -1
  74. package/frontend/dist/js/{ModelManagerModals-DltRprHU.js → ModelManagerModals-DMoEav1l.js} +1 -1
  75. package/frontend/dist/js/ModelSelector-DXPdGdQ_.js +1 -0
  76. package/frontend/dist/js/ModelsPage-D-FIy2x-.js +2 -0
  77. package/frontend/dist/js/PersonasPage-CIrEVFo5.js +13 -0
  78. package/frontend/dist/js/RichMessageContent-BJ49VN9j.js +3 -0
  79. package/frontend/dist/js/SettingsModal-CxtOXPY7.js +1 -0
  80. package/frontend/dist/js/UserManagementPage-BfyYGGFQ.js +1 -0
  81. package/frontend/dist/js/WorkPage-C7bW6Hxx.js +4 -0
  82. package/frontend/dist/js/addon-fit-Cj0_dfHF.js +1 -0
  83. package/frontend/dist/js/api-DCD41-l9.js +19 -0
  84. package/frontend/dist/js/appStore-Bw-8Exsx.js +2 -0
  85. package/frontend/dist/js/ar-BAHlIvy0.js +2 -0
  86. package/frontend/dist/js/authStore-mOYH_AXI.js +4 -0
  87. package/frontend/dist/js/bn-BxquDVbd.js +2 -0
  88. package/frontend/dist/js/{cs-6UKhKj0A.js → cs-C4DoKzRm.js} +2 -2
  89. package/frontend/dist/js/da-CFslpGTw.js +2 -0
  90. package/frontend/dist/js/de-ChudoRh2.js +2 -0
  91. package/frontend/dist/js/es-B36fefE-.js +2 -0
  92. package/frontend/dist/js/{estree-BRklD62a.js → estree-0vwU39qX.js} +1 -1
  93. package/frontend/dist/js/fr-BSVeTM5W.js +2 -0
  94. package/frontend/dist/js/hi-BGoFbl5V.js +2 -0
  95. package/frontend/dist/js/{html-BgGIAGmn.js → html-CApr2Bvi.js} +1 -1
  96. package/frontend/dist/js/id-BfYs2p_j.js +2 -0
  97. package/frontend/dist/js/{is-BWSbAIoq.js → is-DZ1MS-5A.js} +2 -2
  98. package/frontend/dist/js/it-CXtrPCG1.js +2 -0
  99. package/frontend/dist/js/ja-FPJ_NK_y.js +2 -0
  100. package/frontend/dist/js/ko-DVwD4ZZF.js +2 -0
  101. package/frontend/dist/js/{markdown-CM2nBJJi.js → markdown-C78Qc6xu.js} +1 -1
  102. package/frontend/dist/js/ms-PKPP0RX3.js +2 -0
  103. package/frontend/dist/js/nl-DWM5HJZ8.js +2 -0
  104. package/frontend/dist/js/pl-B9va8Tuf.js +2 -0
  105. package/frontend/dist/js/pt-P0IQi-Zr.js +2 -0
  106. package/frontend/dist/js/ru-Ca2bxYnc.js +2 -0
  107. package/frontend/dist/js/{standalone-CUBo-NGt.js → standalone-DmLfI4Qj.js} +1 -1
  108. package/frontend/dist/js/sv-DI4RDwyZ.js +2 -0
  109. package/frontend/dist/js/th-DN0bDS9d.js +2 -0
  110. package/frontend/dist/js/tr-ChqMv5Q4.js +2 -0
  111. package/frontend/dist/js/{typescript-Dcy9qxSB.js → typescript-Bcq62agC.js} +1 -1
  112. package/frontend/dist/js/{ui-vendor-CAFEDSaO.js → ui-vendor-DohPFHDW.js} +1 -1
  113. package/frontend/dist/js/uk-Cr51h_XQ.js +2 -0
  114. package/frontend/dist/js/useBaseQuery-BAOlhjar.js +1 -0
  115. package/frontend/dist/js/useQuery-CcRqxveh.js +1 -0
  116. package/frontend/dist/js/utils-DmZD5uA3.js +1 -0
  117. package/frontend/dist/js/{vi-82JkwFsQ.js → vi-D4OhoVMH.js} +2 -2
  118. package/frontend/dist/js/work-DVgm81bJ.js +1 -0
  119. package/frontend/dist/js/xterm-DKl1QLiw.js +7 -0
  120. package/frontend/dist/js/zh-Bvau7hlR.js +2 -0
  121. package/package.json +3 -3
  122. package/frontend/dist/assets/index-BVgyQN3z.js +0 -5
  123. package/frontend/dist/assets/index-Dme2Ozol.css +0 -1
  124. package/frontend/dist/js/ArtifactContainer-CbMAYwvr.js +0 -1
  125. package/frontend/dist/js/ArtifactSlideOutPanel-CzUpDM59.js +0 -1
  126. package/frontend/dist/js/ChatPage-D0fdzy7a.js +0 -16
  127. package/frontend/dist/js/FirstTimeSetup-CfnOmy9w.js +0 -1
  128. package/frontend/dist/js/GalleryPage-CMkCur9v.js +0 -1
  129. package/frontend/dist/js/ModelSelector-COnlNsVM.js +0 -1
  130. package/frontend/dist/js/ModelsPage-nxheiYJp.js +0 -2
  131. package/frontend/dist/js/PersonasPage-C2pqDsWA.js +0 -13
  132. package/frontend/dist/js/RichMessageContent-Cz9y-bgl.js +0 -3
  133. package/frontend/dist/js/SettingsModal-B6Se68Hd.js +0 -1
  134. package/frontend/dist/js/UserManagementPage-DQeL-Twp.js +0 -1
  135. package/frontend/dist/js/WorkPage-AcZMp8OB.js +0 -2
  136. package/frontend/dist/js/api-Fi-lJlfu.js +0 -19
  137. package/frontend/dist/js/ar-KceI0PfT.js +0 -2
  138. package/frontend/dist/js/bn-DsKo2dzS.js +0 -2
  139. package/frontend/dist/js/da-CJgZ3YuL.js +0 -2
  140. package/frontend/dist/js/de-BZAmOuCT.js +0 -2
  141. package/frontend/dist/js/es-CD4u7no9.js +0 -2
  142. package/frontend/dist/js/fr-Cou2jOS3.js +0 -2
  143. package/frontend/dist/js/hi-ZxkbNCyB.js +0 -2
  144. package/frontend/dist/js/id-DT9CqaWQ.js +0 -2
  145. package/frontend/dist/js/it-CdNoTXm3.js +0 -2
  146. package/frontend/dist/js/ja-CIuQg0xv.js +0 -2
  147. package/frontend/dist/js/ko-BWRUjDOH.js +0 -2
  148. package/frontend/dist/js/ms-gJstIj2a.js +0 -2
  149. package/frontend/dist/js/nl-CydjVNUw.js +0 -2
  150. package/frontend/dist/js/pl-DPN9mAa5.js +0 -2
  151. package/frontend/dist/js/pt-MRXGqIjQ.js +0 -2
  152. package/frontend/dist/js/ru-CvQ9GkJF.js +0 -2
  153. package/frontend/dist/js/sv-BxS2fvhU.js +0 -2
  154. package/frontend/dist/js/th-DMxyn6e4.js +0 -2
  155. package/frontend/dist/js/tr-BTPldUaA.js +0 -2
  156. package/frontend/dist/js/uk-BGxZOKgp.js +0 -2
  157. package/frontend/dist/js/useBaseQuery-CFTidwqz.js +0 -1
  158. package/frontend/dist/js/useQuery-UsSBfWzs.js +0 -1
  159. package/frontend/dist/js/utils-pTFqSV8c.js +0 -1
  160. 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: 2,
38
- maxActiveRuntimesPerUser: 1,
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: 1,
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 ? 'bridge' : 'none';
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 ? 'bridge' : 'none',
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', `type=volume,src=${task.volumeName},dst=/workspace,volume-nocopy`, image, 'tail', '-f', '/dev/null');
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: 2;
7
- readonly maxActiveRuntimesPerUser: 1;
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[];