botmux 3.3.0 → 3.4.1

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 (159) hide show
  1. package/dist/adapters/backend/sandbox.d.ts +47 -0
  2. package/dist/adapters/backend/sandbox.d.ts.map +1 -1
  3. package/dist/adapters/backend/sandbox.js +137 -0
  4. package/dist/adapters/backend/sandbox.js.map +1 -1
  5. package/dist/adapters/cli/read-isolation.d.ts +72 -3
  6. package/dist/adapters/cli/read-isolation.d.ts.map +1 -1
  7. package/dist/adapters/cli/read-isolation.js +143 -6
  8. package/dist/adapters/cli/read-isolation.js.map +1 -1
  9. package/dist/adapters/cli/registry.d.ts.map +1 -1
  10. package/dist/adapters/cli/registry.js +8 -2
  11. package/dist/adapters/cli/registry.js.map +1 -1
  12. package/dist/cli/create-group-resolver.d.ts +19 -0
  13. package/dist/cli/create-group-resolver.d.ts.map +1 -1
  14. package/dist/cli/create-group-resolver.js +30 -0
  15. package/dist/cli/create-group-resolver.js.map +1 -1
  16. package/dist/cli/pm2-command.d.ts.map +1 -1
  17. package/dist/cli/pm2-command.js +6 -0
  18. package/dist/cli/pm2-command.js.map +1 -1
  19. package/dist/cli.d.ts.map +1 -1
  20. package/dist/cli.js +36 -1
  21. package/dist/cli.js.map +1 -1
  22. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  23. package/dist/core/dashboard-ipc-server.js +21 -0
  24. package/dist/core/dashboard-ipc-server.js.map +1 -1
  25. package/dist/core/device-isolation-activation.d.ts +56 -0
  26. package/dist/core/device-isolation-activation.d.ts.map +1 -0
  27. package/dist/core/device-isolation-activation.js +110 -0
  28. package/dist/core/device-isolation-activation.js.map +1 -0
  29. package/dist/core/device-isolation-daemon.d.ts +84 -0
  30. package/dist/core/device-isolation-daemon.d.ts.map +1 -0
  31. package/dist/core/device-isolation-daemon.js +591 -0
  32. package/dist/core/device-isolation-daemon.js.map +1 -0
  33. package/dist/core/types.d.ts +9 -0
  34. package/dist/core/types.d.ts.map +1 -1
  35. package/dist/core/types.js.map +1 -1
  36. package/dist/core/worker-pool.d.ts.map +1 -1
  37. package/dist/core/worker-pool.js +35 -0
  38. package/dist/core/worker-pool.js.map +1 -1
  39. package/dist/daemon.d.ts.map +1 -1
  40. package/dist/daemon.js +5 -0
  41. package/dist/daemon.js.map +1 -1
  42. package/dist/desktop/main/auto-start.d.ts +2 -0
  43. package/dist/desktop/main/auto-start.d.ts.map +1 -1
  44. package/dist/desktop/main/auto-start.js +10 -6
  45. package/dist/desktop/main/auto-start.js.map +1 -1
  46. package/dist/desktop/main/bundled-runtime.d.ts +12 -0
  47. package/dist/desktop/main/bundled-runtime.d.ts.map +1 -0
  48. package/dist/desktop/main/bundled-runtime.js +30 -0
  49. package/dist/desktop/main/bundled-runtime.js.map +1 -0
  50. package/dist/desktop/main/device-status.d.ts +15 -0
  51. package/dist/desktop/main/device-status.d.ts.map +1 -0
  52. package/dist/desktop/main/device-status.js +94 -0
  53. package/dist/desktop/main/device-status.js.map +1 -0
  54. package/dist/desktop/main/external-runtime.d.ts +9 -0
  55. package/dist/desktop/main/external-runtime.d.ts.map +1 -1
  56. package/dist/desktop/main/external-runtime.js +88 -18
  57. package/dist/desktop/main/external-runtime.js.map +1 -1
  58. package/dist/desktop/main/ipc.d.ts.map +1 -1
  59. package/dist/desktop/main/ipc.js +1 -0
  60. package/dist/desktop/main/ipc.js.map +1 -1
  61. package/dist/desktop/main/node-command.d.ts +21 -0
  62. package/dist/desktop/main/node-command.d.ts.map +1 -1
  63. package/dist/desktop/main/node-command.js +41 -0
  64. package/dist/desktop/main/node-command.js.map +1 -1
  65. package/dist/desktop/main/pm2-apps.d.ts +4 -2
  66. package/dist/desktop/main/pm2-apps.d.ts.map +1 -1
  67. package/dist/desktop/main/pm2-apps.js +11 -3
  68. package/dist/desktop/main/pm2-apps.js.map +1 -1
  69. package/dist/desktop/main/runtime-service.d.ts +21 -5
  70. package/dist/desktop/main/runtime-service.d.ts.map +1 -1
  71. package/dist/desktop/main/runtime-service.js +94 -10
  72. package/dist/desktop/main/runtime-service.js.map +1 -1
  73. package/dist/desktop/main/runtime-source.d.ts +2 -0
  74. package/dist/desktop/main/runtime-source.d.ts.map +1 -1
  75. package/dist/desktop/main/runtime-source.js +12 -6
  76. package/dist/desktop/main/runtime-source.js.map +1 -1
  77. package/dist/desktop/main/tray.d.ts +1 -0
  78. package/dist/desktop/main/tray.d.ts.map +1 -1
  79. package/dist/desktop/main/tray.js +3 -3
  80. package/dist/desktop/main/tray.js.map +1 -1
  81. package/dist/desktop/main.js +28 -8
  82. package/dist/desktop/main.js.map +1 -1
  83. package/dist/desktop/preload.js +3 -0
  84. package/dist/desktop/preload.js.map +1 -1
  85. package/dist/desktop/renderer/app.d.ts +2 -1
  86. package/dist/desktop/renderer/app.d.ts.map +1 -1
  87. package/dist/desktop/renderer/app.js +6 -1
  88. package/dist/desktop/renderer/app.js.map +1 -1
  89. package/dist/desktop/renderer/runtime-state.d.ts.map +1 -1
  90. package/dist/desktop/renderer/runtime-state.js +2 -0
  91. package/dist/desktop/renderer/runtime-state.js.map +1 -1
  92. package/dist/desktop/shared/shell-path-probes.d.ts +24 -0
  93. package/dist/desktop/shared/shell-path-probes.d.ts.map +1 -0
  94. package/dist/desktop/shared/shell-path-probes.js +38 -0
  95. package/dist/desktop/shared/shell-path-probes.js.map +1 -0
  96. package/dist/desktop/shared/types.d.ts +21 -1
  97. package/dist/desktop/shared/types.d.ts.map +1 -1
  98. package/dist/desktop/smoke.d.ts +1 -0
  99. package/dist/desktop/smoke.d.ts.map +1 -1
  100. package/dist/desktop/smoke.js +20 -5
  101. package/dist/desktop/smoke.js.map +1 -1
  102. package/dist/platform/bind.d.ts +4 -1
  103. package/dist/platform/bind.d.ts.map +1 -1
  104. package/dist/platform/bind.js +10 -1
  105. package/dist/platform/bind.js.map +1 -1
  106. package/dist/platform/binding.d.ts.map +1 -1
  107. package/dist/platform/binding.js +15 -9
  108. package/dist/platform/binding.js.map +1 -1
  109. package/dist/platform/device-command.d.ts +35 -0
  110. package/dist/platform/device-command.d.ts.map +1 -0
  111. package/dist/platform/device-command.js +187 -0
  112. package/dist/platform/device-command.js.map +1 -0
  113. package/dist/platform/device-enroll.d.ts +156 -0
  114. package/dist/platform/device-enroll.d.ts.map +1 -0
  115. package/dist/platform/device-enroll.js +781 -0
  116. package/dist/platform/device-enroll.js.map +1 -0
  117. package/dist/platform/device-isolation-activation-client.d.ts +28 -0
  118. package/dist/platform/device-isolation-activation-client.d.ts.map +1 -0
  119. package/dist/platform/device-isolation-activation-client.js +279 -0
  120. package/dist/platform/device-isolation-activation-client.js.map +1 -0
  121. package/dist/platform/device-isolation.d.ts +35 -0
  122. package/dist/platform/device-isolation.d.ts.map +1 -0
  123. package/dist/platform/device-isolation.js +90 -0
  124. package/dist/platform/device-isolation.js.map +1 -0
  125. package/dist/platform/device-paths.d.ts +9 -0
  126. package/dist/platform/device-paths.d.ts.map +1 -0
  127. package/dist/platform/device-paths.js +14 -0
  128. package/dist/platform/device-paths.js.map +1 -0
  129. package/dist/platform/device.d.ts +77 -0
  130. package/dist/platform/device.d.ts.map +1 -0
  131. package/dist/platform/device.js +212 -0
  132. package/dist/platform/device.js.map +1 -0
  133. package/dist/platform/host-command-context.d.ts +15 -0
  134. package/dist/platform/host-command-context.d.ts.map +1 -0
  135. package/dist/platform/host-command-context.js +26 -0
  136. package/dist/platform/host-command-context.js.map +1 -0
  137. package/dist/platform/secure-host-file.d.ts +12 -0
  138. package/dist/platform/secure-host-file.d.ts.map +1 -0
  139. package/dist/platform/secure-host-file.js +182 -0
  140. package/dist/platform/secure-host-file.js.map +1 -0
  141. package/dist/services/group-creator.d.ts +8 -0
  142. package/dist/services/group-creator.d.ts.map +1 -1
  143. package/dist/services/group-creator.js +42 -0
  144. package/dist/services/group-creator.js.map +1 -1
  145. package/dist/types.d.ts +9 -0
  146. package/dist/types.d.ts.map +1 -1
  147. package/dist/utils/atomic-write.d.ts +13 -0
  148. package/dist/utils/atomic-write.d.ts.map +1 -1
  149. package/dist/utils/atomic-write.js +89 -9
  150. package/dist/utils/atomic-write.js.map +1 -1
  151. package/dist/utils/input-gate.d.ts +41 -0
  152. package/dist/utils/input-gate.d.ts.map +1 -1
  153. package/dist/utils/input-gate.js +41 -0
  154. package/dist/utils/input-gate.js.map +1 -1
  155. package/dist/worker.js +328 -22
  156. package/dist/worker.js.map +1 -1
  157. package/dist/workflows/events/payloads.d.ts +4 -4
  158. package/dist/workflows/events/schema.d.ts +16 -16
  159. package/package.json +6 -3
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-ipc-server.d.ts","sourceRoot":"","sources":["../../src/core/dashboard-ipc-server.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAe,MAAM,WAAW,CAAC;AAiGjG,MAAM,MAAM,gBAAgB,GACxB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD,wBAAgB,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAE/F;AAID,MAAM,MAAM,gBAAgB,GACxB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAEnG;AACD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EAIpB,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAC;AAU7B,OAAO,KAAK,EAAiC,cAAc,EAAE,yBAAyB,EAAW,MAAM,aAAa,CAAC;AAKrH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,MAAM,MAAM,OAAO,GAAG,CACpB,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAe1B,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAErE;AAED,0FAA0F;AAC1F,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAM7E;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAGhF;AAED,wBAAsB,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,CAKhF;AAaD,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAgC;AAM7F;;;wBAGwB;AACxB,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAS/D;AAyED,YAAY,EAAE,UAAU,EAAE,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAC;AAMtD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAA0B;AAKxE,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAA0B;AAq6BxE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CACxB;AAyrDD,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb;;;+EAG2E;IAC3E,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,OAAO,CAAC,eAAe,CAAC,CAmD3B"}
1
+ {"version":3,"file":"dashboard-ipc-server.d.ts","sourceRoot":"","sources":["../../src/core/dashboard-ipc-server.ts"],"names":[],"mappings":"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"}
@@ -105,6 +105,7 @@ import { requestAgentSessionRename } from './session-rename.js';
105
105
  import { sessionAnchorId } from './types.js';
106
106
  import { attachSkillPolicy, detachSkillPolicy } from './skills/im-command.js';
107
107
  import { readSkillRegistry } from '../services/skill-registry-store.js';
108
+ import { commitDeviceIsolationActivation, DEVICE_ISOLATION_COMMIT_PATH, DEVICE_ISOLATION_PREPARE_PATH, DEVICE_ISOLATION_RELEASE_PATH, logDeviceIsolationActivationError, prepareDeviceIsolationActivation, releaseDeviceIsolationActivation, } from './device-isolation-daemon.js';
108
109
  const routes = [];
109
110
  /** Requests that crossed the server-wide trusted-host gate. The legacy
110
111
  * write-link handlers consult this marker so they do not verify (and consume)
@@ -241,6 +242,26 @@ export function setBotName(name) { setRowsBotName(name); }
241
242
  // endpoints below which proxy calls into groups-store on this bot's behalf.
242
243
  let cachedLarkAppId = '';
243
244
  export function setLarkAppId(id) { cachedLarkAppId = id; }
245
+ async function handleDeviceIsolationActivationRoute(req, res, handler) {
246
+ // Keep this explicit even though production enables the server-wide gate:
247
+ // unit-test/dev servers must not accidentally turn this authority-bearing
248
+ // transition into a bare-loopback endpoint.
249
+ if (!ipcHmacAuthorized(req)) {
250
+ return jsonRes(res, 401, { ok: false, error: 'unauthorized' });
251
+ }
252
+ try {
253
+ const body = await readJsonBody(req);
254
+ const result = await handler(body);
255
+ jsonRes(res, result.status, result.body);
256
+ }
257
+ catch (error) {
258
+ logDeviceIsolationActivationError(error);
259
+ jsonRes(res, 503, { ok: false, error: 'activation_unavailable' });
260
+ }
261
+ }
262
+ ipcRoute('POST', DEVICE_ISOLATION_PREPARE_PATH, (req, res) => handleDeviceIsolationActivationRoute(req, res, prepareDeviceIsolationActivation));
263
+ ipcRoute('POST', DEVICE_ISOLATION_COMMIT_PATH, (req, res) => handleDeviceIsolationActivationRoute(req, res, commitDeviceIsolationActivation));
264
+ ipcRoute('POST', DEVICE_ISOLATION_RELEASE_PATH, (req, res) => handleDeviceIsolationActivationRoute(req, res, releaseDeviceIsolationActivation));
244
265
  ipcRoute('GET', '/api/sessions', (_req, res) => {
245
266
  // Active first (live state), closed appended (historical)
246
267
  const active = listActiveSessions().map(composeRowFromActive);