botmux 3.5.0 → 3.5.2

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 (147) hide show
  1. package/dist/adapters/backend/sandbox.d.ts +99 -279
  2. package/dist/adapters/backend/sandbox.d.ts.map +1 -1
  3. package/dist/adapters/backend/sandbox.js +424 -826
  4. package/dist/adapters/backend/sandbox.js.map +1 -1
  5. package/dist/adapters/cli/codex.d.ts.map +1 -1
  6. package/dist/adapters/cli/codex.js +4 -0
  7. package/dist/adapters/cli/codex.js.map +1 -1
  8. package/dist/adapters/cli/fs-policy.d.ts +244 -0
  9. package/dist/adapters/cli/fs-policy.d.ts.map +1 -0
  10. package/dist/adapters/cli/fs-policy.js +539 -0
  11. package/dist/adapters/cli/fs-policy.js.map +1 -0
  12. package/dist/adapters/cli/read-isolation.d.ts +14 -200
  13. package/dist/adapters/cli/read-isolation.d.ts.map +1 -1
  14. package/dist/adapters/cli/read-isolation.js +18 -477
  15. package/dist/adapters/cli/read-isolation.js.map +1 -1
  16. package/dist/bot-registry.d.ts +26 -23
  17. package/dist/bot-registry.d.ts.map +1 -1
  18. package/dist/bot-registry.js +16 -0
  19. package/dist/bot-registry.js.map +1 -1
  20. package/dist/cli.d.ts.map +1 -1
  21. package/dist/cli.js +25 -18
  22. package/dist/cli.js.map +1 -1
  23. package/dist/core/command-handler.d.ts.map +1 -1
  24. package/dist/core/command-handler.js +16 -58
  25. package/dist/core/command-handler.js.map +1 -1
  26. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  27. package/dist/core/dashboard-ipc-server.js +26 -27
  28. package/dist/core/dashboard-ipc-server.js.map +1 -1
  29. package/dist/core/passthrough-commands.d.ts.map +1 -1
  30. package/dist/core/passthrough-commands.js +1 -1
  31. package/dist/core/passthrough-commands.js.map +1 -1
  32. package/dist/core/plugins/mcp/gateway-installer.d.ts.map +1 -1
  33. package/dist/core/plugins/mcp/gateway-installer.js +14 -2
  34. package/dist/core/plugins/mcp/gateway-installer.js.map +1 -1
  35. package/dist/core/session-manager.d.ts.map +1 -1
  36. package/dist/core/session-manager.js +90 -60
  37. package/dist/core/session-manager.js.map +1 -1
  38. package/dist/core/worker-pool.d.ts +24 -0
  39. package/dist/core/worker-pool.d.ts.map +1 -1
  40. package/dist/core/worker-pool.js +50 -6
  41. package/dist/core/worker-pool.js.map +1 -1
  42. package/dist/daemon.d.ts.map +1 -1
  43. package/dist/daemon.js +6 -0
  44. package/dist/daemon.js.map +1 -1
  45. package/dist/dashboard/bot-payload.d.ts +5 -0
  46. package/dist/dashboard/bot-payload.d.ts.map +1 -1
  47. package/dist/dashboard/bot-payload.js +7 -0
  48. package/dist/dashboard/bot-payload.js.map +1 -1
  49. package/dist/dashboard/web/bot-defaults-page.d.ts +16 -0
  50. package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
  51. package/dist/dashboard/web/bot-defaults-page.js +225 -6
  52. package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
  53. package/dist/dashboard/web/bot-defaults.d.ts +7 -0
  54. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  55. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  56. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  57. package/dist/dashboard/web/i18n.js +38 -22
  58. package/dist/dashboard/web/i18n.js.map +1 -1
  59. package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
  60. package/dist/dashboard/web/sessions-page.js +1 -44
  61. package/dist/dashboard/web/sessions-page.js.map +1 -1
  62. package/dist/dashboard-web/app.js +1 -1
  63. package/dist/dashboard-web/chunks/bot-defaults-page-AUKV7P4L.js +10 -0
  64. package/dist/dashboard-web/chunks/{chunk-QCPPKCX3.js → chunk-KPQAUX7V.js} +1 -1
  65. package/dist/dashboard-web/chunks/{chunk-WXPMNEYV.js → chunk-NRL6CVAS.js} +1 -1
  66. package/dist/dashboard-web/chunks/{chunk-EJDYUINZ.js → chunk-R7IAKAYX.js} +1 -1
  67. package/dist/dashboard-web/chunks/{chunk-H7P5UV4W.js → chunk-X2L65IOM.js} +6 -6
  68. package/dist/dashboard-web/chunks/{connectors-page-IR54AOAI.js → connectors-page-HDQFEXZI.js} +1 -1
  69. package/dist/dashboard-web/chunks/{groups-page-3P4TLUMF.js → groups-page-6DKXBYOM.js} +1 -1
  70. package/dist/dashboard-web/chunks/{insights-page-TDCZV56A.js → insights-page-NWARTJ6J.js} +1 -1
  71. package/dist/dashboard-web/chunks/{monitor-room-QWCWL3SX.js → monitor-room-AGX3XRJX.js} +1 -1
  72. package/dist/dashboard-web/chunks/{monitoring-page-IOWFSNVC.js → monitoring-page-GGGIWN4C.js} +1 -1
  73. package/dist/dashboard-web/chunks/{office-page-5AUPEHZP.js → office-page-6SIVKSK3.js} +1 -1
  74. package/dist/dashboard-web/chunks/{overview-page-QJMI6NLW.js → overview-page-FVR3NKAF.js} +1 -1
  75. package/dist/dashboard-web/chunks/{roles-page-WJVB52ET.js → roles-page-WE2YB7KN.js} +1 -1
  76. package/dist/dashboard-web/chunks/{schedules-page-RVRWHP4V.js → schedules-page-TB3I24XN.js} +1 -1
  77. package/dist/dashboard-web/chunks/sessions-page-KOOOASIL.js +2 -0
  78. package/dist/dashboard-web/chunks/{settings-page-TNZEPC7V.js → settings-page-IEBR7TGN.js} +1 -1
  79. package/dist/dashboard-web/chunks/{skills-page-7YT5TIX5.js → skills-page-3QAT2IWD.js} +1 -1
  80. package/dist/dashboard-web/chunks/{team-federation-page-NJZKTU7A.js → team-federation-page-K4VVAVAK.js} +1 -1
  81. package/dist/dashboard-web/chunks/{v3-page-NQ73UA2Q.js → v3-page-V6IOJR2B.js} +1 -1
  82. package/dist/dashboard-web/chunks/{whiteboards-page-DSM3MDMN.js → whiteboards-page-V6CGKRNX.js} +1 -1
  83. package/dist/dashboard-web/style.css +20 -3
  84. package/dist/dashboard.js +86 -1
  85. package/dist/dashboard.js.map +1 -1
  86. package/dist/global-config.d.ts.map +1 -1
  87. package/dist/global-config.js +4 -1
  88. package/dist/global-config.js.map +1 -1
  89. package/dist/i18n/en.d.ts.map +1 -1
  90. package/dist/i18n/en.js +1 -19
  91. package/dist/i18n/en.js.map +1 -1
  92. package/dist/i18n/zh.d.ts.map +1 -1
  93. package/dist/i18n/zh.js +1 -19
  94. package/dist/i18n/zh.js.map +1 -1
  95. package/dist/im/lark/card-builder.d.ts +0 -13
  96. package/dist/im/lark/card-builder.d.ts.map +1 -1
  97. package/dist/im/lark/card-builder.js +0 -34
  98. package/dist/im/lark/card-builder.js.map +1 -1
  99. package/dist/im/lark/card-handler.d.ts.map +1 -1
  100. package/dist/im/lark/card-handler.js +1 -30
  101. package/dist/im/lark/card-handler.js.map +1 -1
  102. package/dist/im/lark/client.d.ts +36 -0
  103. package/dist/im/lark/client.d.ts.map +1 -1
  104. package/dist/im/lark/client.js +80 -0
  105. package/dist/im/lark/client.js.map +1 -1
  106. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  107. package/dist/im/lark/event-dispatcher.js +28 -3
  108. package/dist/im/lark/event-dispatcher.js.map +1 -1
  109. package/dist/services/sandbox-migration.d.ts +14 -0
  110. package/dist/services/sandbox-migration.d.ts.map +1 -0
  111. package/dist/services/sandbox-migration.js +85 -0
  112. package/dist/services/sandbox-migration.js.map +1 -0
  113. package/dist/services/sandbox-store.d.ts +28 -0
  114. package/dist/services/sandbox-store.d.ts.map +1 -1
  115. package/dist/services/sandbox-store.js +82 -0
  116. package/dist/services/sandbox-store.js.map +1 -1
  117. package/dist/types.d.ts +13 -1
  118. package/dist/types.d.ts.map +1 -1
  119. package/dist/utils/child-env.d.ts +2 -2
  120. package/dist/utils/child-env.d.ts.map +1 -1
  121. package/dist/utils/child-env.js +14 -0
  122. package/dist/utils/child-env.js.map +1 -1
  123. package/dist/worker.js +417 -498
  124. package/dist/worker.js.map +1 -1
  125. package/dist/workflows/events/payloads.d.ts +56 -0
  126. package/dist/workflows/events/payloads.d.ts.map +1 -1
  127. package/dist/workflows/events/payloads.js +9 -0
  128. package/dist/workflows/events/payloads.js.map +1 -1
  129. package/dist/workflows/events/schema.d.ts +86 -0
  130. package/dist/workflows/events/schema.d.ts.map +1 -1
  131. package/dist/workflows/shared/sandbox-policy.d.ts +10 -1
  132. package/dist/workflows/shared/sandbox-policy.d.ts.map +1 -1
  133. package/dist/workflows/shared/sandbox-policy.js +12 -0
  134. package/dist/workflows/shared/sandbox-policy.js.map +1 -1
  135. package/dist/workflows/v3/bot-resolve.d.ts.map +1 -1
  136. package/dist/workflows/v3/bot-resolve.js +36 -0
  137. package/dist/workflows/v3/bot-resolve.js.map +1 -1
  138. package/dist/workflows/v3/contract.d.ts +8 -0
  139. package/dist/workflows/v3/contract.d.ts.map +1 -1
  140. package/dist/workflows/v3/contract.js.map +1 -1
  141. package/package.json +1 -1
  142. package/dist/dashboard-web/chunks/bot-defaults-page-O376WSER.js +0 -5
  143. package/dist/dashboard-web/chunks/sessions-page-KWLGBX6G.js +0 -3
  144. package/dist/services/sandbox-land.d.ts +0 -45
  145. package/dist/services/sandbox-land.d.ts.map +0 -1
  146. package/dist/services/sandbox-land.js +0 -394
  147. package/dist/services/sandbox-land.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sessions-page.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/sessions-page.tsx"],"names":[],"mappings":"AAsBA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAiFrE,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAoV9E,wBAAgB,cAAc,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAyE/H;AA2mBD,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IAC1C,MAAM,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IAClC,SAAS,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,SAAS,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACjE,MAAM,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC/E,OAAO,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAChE,CAAC;AASF,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,GAAG,CAAC,OAAO,CA2ExE;AAy+DD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CAElE"}
1
+ {"version":3,"file":"sessions-page.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/sessions-page.tsx"],"names":[],"mappings":"AAsBA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAiFrE,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAoV9E,wBAAgB,cAAc,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAyE/H;AA2mBD,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IAC1C,MAAM,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IAClC,SAAS,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,SAAS,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACjE,MAAM,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC/E,OAAO,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAChE,CAAC;AASF,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,GAAG,CAAC,OAAO,CA2ExE;AAk7DD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CAElE"}
@@ -580,49 +580,6 @@ function TerminalModal(props) {
580
580
  return (_jsx("dialog", { id: "term-modal", className: "term-modal", ref: dialogRef, onClose: props.onClose, onClick: event => { if (event.target === event.currentTarget)
581
581
  props.onClose(); }, children: props.state && row ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: "term-modal-head", children: [_jsxs("span", { className: "term-modal-title", children: [_jsx("span", { dangerouslySetInnerHTML: rawHtml(botAvatarHtml({ name: botDisplayName(row), larkAppId: row.larkAppId, size: 'sm' })) }), _jsxs("span", { className: "term-modal-title-copy", children: [_jsxs("span", { className: "term-modal-title-main", children: [_jsx(TerminalNameEditor, { row: row, onRename: props.onRename }), _jsx(StatusBadge, { status: row.status })] }), _jsxs("span", { className: "term-modal-subtitle", children: [_jsx("span", { children: botDisplayName(row) }), _jsx("span", { children: rowCli }), rowRepo !== '-' ? _jsx("span", { title: row.workingDir ?? '', children: rowRepo }) : null] })] })] }), _jsxs("span", { className: "term-modal-actions", children: [row.feishuChatLink ? (_jsx("a", { className: "card-act", href: row.feishuChatLink, target: "_blank", rel: "noopener", title: t('sessions.kanban.openFeishu'), "aria-label": t('sessions.kanban.openFeishu'), dangerouslySetInnerHTML: rawHtml(ICON.feishu) })) : null, _jsx("a", { id: "term-modal-tab", className: "card-act", href: url, target: "_blank", rel: "noopener", title: t('sessions.kanban.openTab'), "aria-label": t('sessions.kanban.openTab'), dangerouslySetInnerHTML: rawHtml(ICON.terminal) }), _jsx(IconActionButton, { id: "term-modal-close", icon: ICON.close, label: t('sessions.dismiss'), onClick: props.onClose })] })] }), _jsx("div", { className: "term-modal-body", children: _jsx("div", { className: "term-modal-frame-shell", children: props.state.loading ? _jsx(LoadingState, { label: t('sessions.kanban.terminalLoading'), className: "term-modal-loading", compact: true }) : (_jsx("iframe", { className: "term-modal-frame", src: url, allow: "clipboard-read; clipboard-write" })) }) })] })) : null }));
582
582
  }
583
- function LandPanel(props) {
584
- const [state, setState] = useState(null);
585
- useEffect(() => setState(null), [props.row.sessionId]);
586
- const load = async () => {
587
- setState({ loading: true });
588
- try {
589
- const r = await fetch(`/api/sessions/${encodeURIComponent(props.row.sessionId)}/sandbox-diff`);
590
- const d = await r.json().catch(() => ({}));
591
- if (!d.ok) {
592
- setState({ loading: false, message: _jsxs("p", { children: [t('sessions.landUnavailable'), ": ", String(d.error ?? r.status)] }) });
593
- return;
594
- }
595
- if (d.empty) {
596
- setState({ loading: false, message: _jsx("p", { children: t('sessions.landEmpty') }) });
597
- return;
598
- }
599
- const full = String(d.patch ?? '');
600
- setState({
601
- loading: false,
602
- diff: d,
603
- patch: full.slice(0, 20000) + (full.length > 20000 ? '\n...(truncated)' : ''),
604
- });
605
- }
606
- catch (e) {
607
- setState({ loading: false, message: _jsxs("p", { children: [t('sessions.landUnavailable'), ": ", String(e)] }) });
608
- }
609
- };
610
- const apply = async () => {
611
- const rr = await fetch(`/api/sessions/${encodeURIComponent(props.row.sessionId)}/sandbox-land/apply`, { method: 'POST' });
612
- const res = await rr.json().catch(() => ({}));
613
- setState({
614
- loading: false,
615
- message: res.ok
616
- ? _jsxs("p", { children: [t('sessions.landApplied'), ": ", res.files, " files (+", res.insertions, "/-", res.deletions, ") \u2192 ", _jsx("code", { children: String(res.workingDir ?? '') })] })
617
- : _jsxs("p", { children: [t('sessions.landFailed'), ": ", String(res.error ?? rr.status)] }),
618
- });
619
- };
620
- const discard = async () => {
621
- await fetch(`/api/sessions/${encodeURIComponent(props.row.sessionId)}/sandbox-land/discard`, { method: 'POST' });
622
- setState({ loading: false, message: _jsx("p", { children: t('sessions.landDiscarded') }) });
623
- };
624
- return (_jsxs(_Fragment, { children: [_jsx("button", { id: "land-btn", type: "button", disabled: state?.loading, onClick: () => void load(), children: t('sessions.land') }), _jsxs("div", { id: "land-area", children: [state?.loading ? _jsx(LoadingState, { label: t('sessions.landLoading'), compact: true }) : null, state?.message, state?.diff && state.patch !== undefined ? (_jsxs(_Fragment, { children: [_jsxs("p", { children: [_jsx("b", { children: state.diff.files }), " files (+", state.diff.insertions, "/-", state.diff.deletions, ") \u2192 ", _jsx("code", { children: String(state.diff.workingDir ?? '') })] }), _jsx("pre", { style: { maxHeight: 320, overflow: 'auto', whiteSpace: 'pre-wrap' }, children: state.patch }), _jsxs("div", { className: "actions", children: [_jsx("button", { id: "land-apply", type: "button", className: "primary", onClick: () => void apply(), children: t('sessions.landApply') }), _jsx("button", { id: "land-discard", type: "button", className: "contrast", onClick: () => void discard(), children: t('sessions.landDiscard') })] })] })) : null] })] }));
625
- }
626
583
  function InsightReport(props) {
627
584
  const rep = props.report;
628
585
  if (!rep || rep.status !== 'ok') {
@@ -682,7 +639,7 @@ function Drawer(props) {
682
639
  props.onClose(); }, children: t('sessions.restart') })) : null, row.status !== 'closed' ? (_jsx("button", { id: "lock-btn", type: "button", onClick: event => void props.setSessionLocked(row, !row.locked, event.currentTarget), children: lockActionLabel(row) })) : null, row.queued && row.status !== 'closed' ? (_jsx("button", { id: "start-btn", type: "button", className: "primary", onClick: async (event) => { if (await props.startSession(row, event.currentTarget))
683
640
  props.onClose(); }, children: t('sessions.create.start') })) : null, row.status === 'closed' ? (_jsx("button", { id: "resume-btn", type: "button", className: "primary", onClick: async (event) => { if (await props.resumeSession(row, event.currentTarget))
684
641
  props.onClose(); }, children: t('sessions.resume') })) : null, row.status !== 'closed' ? (_jsx("button", { id: "close-btn", type: "button", className: "contrast", onClick: async (event) => { if (await props.closeSession(row, event.currentTarget))
685
- props.onClose(); }, children: t('sessions.close') })) : null, _jsx(LandPanel, { row: row }), _jsx(InsightPanel, { row: row })] })] })) : null }));
642
+ props.onClose(); }, children: t('sessions.close') })) : null, _jsx(InsightPanel, { row: row })] })] })) : null }));
686
643
  }
687
644
  function CreateSessionDialog(props) {
688
645
  const state = props.state;