dorkos 0.122.0 → 0.123.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 (300) hide show
  1. package/dist/bin/cli.js +154 -40
  2. package/dist/browser/native/package-manifest.json +1 -1
  3. package/dist/browser/source-manifest.json +1 -1
  4. package/dist/client/assets/{AboutPage-ClN3P9B8.js → AboutPage-BmtoPqP9.js} +1 -1
  5. package/dist/client/assets/{ActivityErrorState-B2lq1pyE.js → ActivityErrorState-CEzdFJiR.js} +1 -1
  6. package/dist/client/assets/{ActivityPage-htTkSy18.js → ActivityPage-mFYgTr3e.js} +1 -1
  7. package/dist/client/assets/{ActivityRow-BqV0B1T0.js → ActivityRow-Bkc0kkim.js} +1 -1
  8. package/dist/client/assets/{AdapterIcon-DlkN0YJo.js → AdapterIcon-DVgTrgnM.js} +1 -1
  9. package/dist/client/assets/{AdapterSetupWizard-RyNPjSmU.js → AdapterSetupWizard-I03EluU5.js} +1 -1
  10. package/dist/client/assets/{AgentOptionRow-DSievGfL.js → AgentOptionRow-DI1TzLaR.js} +1 -1
  11. package/dist/client/assets/{AgentPicker-BCtWrhsA.js → AgentPicker-CBYeBzjf.js} +1 -1
  12. package/dist/client/assets/{AgentRequestCard-BHIHWNRz.js → AgentRequestCard-DQ6GYoeE.js} +3 -3
  13. package/dist/client/assets/{AppearancePage-B2eduuT0.js → AppearancePage-62xIPNPn.js} +1 -1
  14. package/dist/client/assets/{ApplyToOverridesDialog-C7G2t3X2.js → ApplyToOverridesDialog-CrqkeHQb.js} +1 -1
  15. package/dist/client/assets/{AttentionSignalRow-_8thTHYX.js → AttentionSignalRow-Coe5pYX6.js} +1 -1
  16. package/dist/client/assets/{BaseTanStackRouterDevtoolsPanel-B-iktbLX-WpZU5xiO.js → BaseTanStackRouterDevtoolsPanel-B-iktbLX-D07cg75s.js} +1 -1
  17. package/dist/client/assets/{BindingDialog-BAwbHFq3.js → BindingDialog-DVyxVXZM.js} +1 -1
  18. package/dist/client/assets/{BlintzCanvas-BEtRmEbL.js → BlintzCanvas-BmfkiUQJ.js} +3 -3
  19. package/dist/client/assets/{CanvasCsvContent--6i2ETyZ.js → CanvasCsvContent-CRTr-AI7.js} +1 -1
  20. package/dist/client/assets/{CanvasFileContent-C86nyLbI.js → CanvasFileContent-rOmY1s3T.js} +2 -2
  21. package/dist/client/assets/{CanvasModel3dContent-wYHHAovt.js → CanvasModel3dContent-D7oRT6ey.js} +2 -2
  22. package/dist/client/assets/{ChatAppsOff-2Wvch1rr.js → ChatAppsOff-BmuOTq83.js} +1 -1
  23. package/dist/client/assets/{CodeMirrorDiff-s1TWguZ8.js → CodeMirrorDiff-DidSWwYJ.js} +1 -1
  24. package/dist/client/assets/{CodeMirrorEditor-1ndoTbcZ.js → CodeMirrorEditor-BUAWGbRo.js} +1 -1
  25. package/dist/client/assets/{CommitmentList-BK97ndab.js → CommitmentList-uK4CKaz0.js} +1 -1
  26. package/dist/client/assets/{CommitmentsPage-_nd37gVX.js → CommitmentsPage-BWITH1r2.js} +1 -1
  27. package/dist/client/assets/{ComputerResourceView-C2Broer4.js → ComputerResourceView-adgF_EZU.js} +1 -1
  28. package/dist/client/assets/{ComputerViewer-DgG7t2KZ.js → ComputerViewer-D87LhxwL.js} +1 -1
  29. package/dist/client/assets/{ConnectionAccessLists-Pbo2lft8.js → ConnectionAccessLists-BFEFqcSZ.js} +1 -1
  30. package/dist/client/assets/{ConnectionsPage-Dm2d9owX.js → ConnectionsPage-Cd_cLoSY.js} +1 -1
  31. package/dist/client/assets/{ConventionPage-BUltejHJ.js → ConventionPage-BSztD-gU.js} +1 -1
  32. package/dist/client/assets/{ExtensionPageRoute-DAomCiMw.js → ExtensionPageRoute-BSge6XRv.js} +1 -1
  33. package/dist/client/assets/{FloatingTanStackRouterDevtools-CqogiFob-5fT29ZEV.js → FloatingTanStackRouterDevtools-CqogiFob-TO2CUPG0.js} +1 -1
  34. package/dist/client/assets/HandlePage-BKiqymRF.js +1 -0
  35. package/dist/client/assets/{HeartbeatPage-BW0X4YAL.js → HeartbeatPage-DIJzdOhj.js} +1 -1
  36. package/dist/client/assets/{KeyEntry-ClqAj0dS.js → KeyEntry-DJnzW3Mu.js} +1 -1
  37. package/dist/client/assets/{LexicalField-CbswpPQ7.js → LexicalField-BxzNvIjJ.js} +1 -1
  38. package/dist/client/assets/{ManagesPage-Daqs8hys.js → ManagesPage-BQj8KbYA.js} +1 -1
  39. package/dist/client/assets/{Marketplace-BNMIm8g_.js → Marketplace-CIG5_a_H.js} +1 -1
  40. package/dist/client/assets/{MarketplaceSourcesView-B4WpzVpr.js → MarketplaceSourcesView-16HKvFK-.js} +1 -1
  41. package/dist/client/assets/{McpAppFrame-Dbg_Ni39.js → McpAppFrame-5xlga1jD.js} +1 -1
  42. package/dist/client/assets/{McpSigninBody-ZmmY1BZ4.js → McpSigninBody-COIHpHq_.js} +1 -1
  43. package/dist/client/assets/{Model3dViewer-DT8x0h7T.js → Model3dViewer-CQ0sA_kr.js} +1 -1
  44. package/dist/client/assets/NamePage-D7W6VMYd.js +1 -0
  45. package/dist/client/assets/{NewDirectMessageMenu-BbehZd6I.js → NewDirectMessageMenu-D092y0K9.js} +1 -1
  46. package/dist/client/assets/{NotificationsPage-B9zEN26O.js → NotificationsPage-CskOPdhh.js} +1 -1
  47. package/dist/client/assets/{OpenMeshSwitch-D-AYDXjH.js → OpenMeshSwitch-BHRm328L.js} +1 -1
  48. package/dist/client/assets/{OperatorIdentityForm-BdAqzVEG.js → OperatorIdentityForm-C3op6BIC.js} +1 -1
  49. package/dist/client/assets/{PermissionHistory-IOgLQ7qN.js → PermissionHistory-CKebTVkq.js} +1 -1
  50. package/dist/client/assets/{PermissionsPage-CKfDf5Pj.js → PermissionsPage-XuPOSYll.js} +1 -1
  51. package/dist/client/assets/{PersonalityPopover-CHPTuHIH.js → PersonalityPopover-BrZjxakx.js} +1 -1
  52. package/dist/client/assets/PhotoPage-Ch1at4A6.js +1 -0
  53. package/dist/client/assets/{PreviewRefusedNotice-BuVUhjq3.js → PreviewRefusedNotice-BANdpT9O.js} +1 -1
  54. package/dist/client/assets/{ProfileFields-DimHNpR4.js → ProfileFields-Dp68ebW9.js} +1 -1
  55. package/dist/client/assets/{ProfilePanelContainer-FRZ5Px2L.js → ProfilePanelContainer-BKwGdI90.js} +1 -1
  56. package/dist/client/assets/{ProfileRolePicker-UWhM5yuR.js → ProfileRolePicker-ClOdfLda.js} +1 -1
  57. package/dist/client/assets/{PromptSuggestionChips-DQaDSd7Y.js → PromptSuggestionChips-zcW4UJ_O.js} +1 -1
  58. package/dist/client/assets/{ReportsToPopover-BOuCM8il.js → ReportsToPopover-BwDVGqFg.js} +1 -1
  59. package/dist/client/assets/{RoomSurface-Dhv-LkWz.js → RoomSurface-CSKIvyHH.js} +3 -3
  60. package/dist/client/assets/{RoomsPage-glKYJBpq.js → RoomsPage-CAvrRbPk.js} +1 -1
  61. package/dist/client/assets/{RunsOnPopover-BvxoHUeo.js → RunsOnPopover-CQ4t9EZ-.js} +1 -1
  62. package/dist/client/assets/{RuntimeConnectFlow-CgB_X5wo.js → RuntimeConnectFlow--fVpIf0B.js} +1 -1
  63. package/dist/client/assets/{RuntimeSetupDialog-r1Ss_YQW.js → RuntimeSetupDialog-COpyPrqL.js} +1 -1
  64. package/dist/client/assets/SeenDevices-BPw3UgjX.js +19 -0
  65. package/dist/client/assets/{SessionsPage-CFLDx-aF.js → SessionsPage-FDyYzuXs.js} +1 -1
  66. package/dist/client/assets/{SettingsDialog-BT5rYJUm.js → SettingsDialog-Bdws5dbS.js} +4 -4
  67. package/dist/client/assets/{SkillsPage-CUQZ4I_r.js → SkillsPage-PLXEY0LB.js} +1 -1
  68. package/dist/client/assets/{TaskDialogWrapper-DWpxyxBb.js → TaskDialogWrapper-CTcW70s8.js} +1 -1
  69. package/dist/client/assets/{TasksEmptyState-B4TjUm8G.js → TasksEmptyState-8RZxhRh6.js} +1 -1
  70. package/dist/client/assets/{TasksPage-D_vFBDA1.js → TasksPage-C-EtQXKb.js} +1 -1
  71. package/dist/client/assets/{TeamComputerEntry-EQ1fjMRb.js → TeamComputerEntry-qx_19Htj.js} +1 -1
  72. package/dist/client/assets/{ToolsPage-CyNXCe2l.js → ToolsPage-D5-fx1EA.js} +1 -1
  73. package/dist/client/assets/{TopologyGraph-DsPEpDjt.js → TopologyGraph-1wtG1BE9.js} +1 -1
  74. package/dist/client/assets/{TourHost-D1z2mH5S.js → TourHost-C664E8OY.js} +1 -1
  75. package/dist/client/assets/{UnlinkDialog-q-6B4Ftt.js → UnlinkDialog-Di1oBFA_.js} +1 -1
  76. package/dist/client/assets/{WidgetErrorCard-BYMiUiAf.js → WidgetErrorCard-BfgGzyqg.js} +1 -1
  77. package/dist/client/assets/_shell-BLTSXXDw.js +80 -0
  78. package/dist/client/assets/{_shell._home-D-8JcUYq.js → _shell._home-Hz78BY6-.js} +1 -1
  79. package/dist/client/assets/{_shell._home.activity-xJKxWbtL.js → _shell._home.activity-BxvI0gkw.js} +1 -1
  80. package/dist/client/assets/{_shell._home.index-C74gh1aE.js → _shell._home.index-Cqq81f3P.js} +1 -1
  81. package/dist/client/assets/{_shell._home.tasks-Bh8jwRYJ.js → _shell._home.tasks-Cth56CwC.js} +1 -1
  82. package/dist/client/assets/{_shell._home.workspaces-BKkUl6wW.js → _shell._home.workspaces-DkoOJSWz.js} +1 -1
  83. package/dist/client/assets/{_shell.channels-B2A1G9n8.js → _shell.channels-D_GQU4RB.js} +3 -3
  84. package/dist/client/assets/{_shell.connections-eDlPXmuG.js → _shell.connections-DZrlxs4G.js} +1 -1
  85. package/dist/client/assets/{_shell.feedback-requests-Cdbl3oKj.js → _shell.feedback-requests-BTxHdsfb.js} +1 -1
  86. package/dist/client/assets/_shell.marketplace-CZxkAmFz.js +1 -0
  87. package/dist/client/assets/_shell.marketplace_.sources-Q0BTQIuE.js +1 -0
  88. package/dist/client/assets/{_shell.session-BNeYm91q.js → _shell.session-DvGL0DoX.js} +27 -27
  89. package/dist/client/assets/{_shell.team-Consxq97.js → _shell.team-ZxGwa39m.js} +3 -3
  90. package/dist/client/assets/_shell.x._extensionId-B6Tm5KuT.js +1 -0
  91. package/dist/client/assets/_shell.x._extensionId_._-B6Tm5KuT.js +1 -0
  92. package/dist/client/assets/{abnfDiagram-WEYOIA3C-DXTlLd8s.js → abnfDiagram-WEYOIA3C-CzqPVMdw.js} +1 -1
  93. package/dist/client/assets/{access-copy-B1SlOYEi.js → access-copy-Dj09Xk4b.js} +1 -1
  94. package/dist/client/assets/{arc-B3IW5TXq.js → arc-Bgy7ExYl.js} +1 -1
  95. package/dist/client/assets/{architectureDiagram-ZHVYKT53-Bx-4szWe.js → architectureDiagram-ZHVYKT53-DYfb2p9r.js} +1 -1
  96. package/dist/client/assets/{banner-RKoWGrEp.js → banner-dlsHTWSf.js} +1 -1
  97. package/dist/client/assets/{blockDiagram-RJAE7QA3-D_B3EDQ1.js → blockDiagram-RJAE7QA3-BkOzLL8s.js} +1 -1
  98. package/dist/client/assets/{c4Diagram-XDPPPE54-CSBl4ROD.js → c4Diagram-XDPPPE54-CsZm4qpD.js} +1 -1
  99. package/dist/client/assets/{card-DTMhLU7B.js → card-Dj6ZfRgu.js} +1 -1
  100. package/dist/client/assets/channel-CGffcDRq.js +1 -0
  101. package/dist/client/assets/{chunk-2E7WHVMD-QSgLcVHQ.js → chunk-2E7WHVMD-GA96Jfps.js} +1 -1
  102. package/dist/client/assets/{chunk-2Q5K7J3B-CAEYyBSj.js → chunk-2Q5K7J3B-CW2i0IkT.js} +1 -1
  103. package/dist/client/assets/{chunk-4EMNKR2T-CQ_90aiz.js → chunk-4EMNKR2T-BwFvnPZg.js} +1 -1
  104. package/dist/client/assets/{chunk-55XCU76K-jsUyUA3N.js → chunk-55XCU76K-MOezzAAB.js} +1 -1
  105. package/dist/client/assets/{chunk-5VM5RSS4-JHkf15PA.js → chunk-5VM5RSS4-woru6zOC.js} +1 -1
  106. package/dist/client/assets/{chunk-JWPE2WC7-BT-3krv8.js → chunk-JWPE2WC7-CUrKlP2M.js} +1 -1
  107. package/dist/client/assets/{chunk-VQ5W62QI-CJP11I5o.js → chunk-VQ5W62QI-CqZ2cdEu.js} +1 -1
  108. package/dist/client/assets/{chunk-XXDRQBXY-BpqBecnj.js → chunk-XXDRQBXY-ByAcvWaE.js} +1 -1
  109. package/dist/client/assets/{chunk-ZCHMQSOR-BLb4KcT4.js → chunk-ZCHMQSOR-3nkba9kj.js} +2 -2
  110. package/dist/client/assets/{classDiagram-v2-4MYWR3UA-DwLyYGkw.js → classDiagram-v2-4MYWR3UA-B-zZKAmI.js} +1 -1
  111. package/dist/client/assets/{command-DDSiiJlP.js → command-BAOEURY7.js} +1 -1
  112. package/dist/client/assets/{cose-bilkent-JH36ORCC-CxYTET88.js → cose-bilkent-JH36ORCC-sCKxRv1H.js} +1 -1
  113. package/dist/client/assets/{cpu--56q_Ey0.js → cpu-TtYQqONc.js} +1 -1
  114. package/dist/client/assets/{cynefin-EF2NZ3EQ-9fHLZRHz.js → cynefin-EF2NZ3EQ-CXzvL5Cg.js} +1 -1
  115. package/dist/client/assets/{cynefinDiagram-WF24UDRP-DpfQecff.js → cynefinDiagram-WF24UDRP-C0wjhu9X.js} +1 -1
  116. package/dist/client/assets/{dagre-NK4GIZVX-DuV6buEQ.js → dagre-NK4GIZVX-Doi2IPkY.js} +1 -1
  117. package/dist/client/assets/{diagram-CBK3MWTC-B-A9Sx5n.js → diagram-CBK3MWTC-11TVuPel.js} +1 -1
  118. package/dist/client/assets/{diagram-I5XIIV2D-Ds5Hq9aV.js → diagram-I5XIIV2D-CJq7fHFM.js} +1 -1
  119. package/dist/client/assets/{diagram-ODIL2UCW-UUfSjM-R.js → diagram-ODIL2UCW-2Ae6unuU.js} +1 -1
  120. package/dist/client/assets/{diagram-PFBEJUXE-CUzSSYf9.js → diagram-PFBEJUXE-BXza6_iz.js} +1 -1
  121. package/dist/client/assets/{diagram-RJA3I4VV-Cgp6U3q1.js → diagram-RJA3I4VV-Z0i3uBW9.js} +1 -1
  122. package/dist/client/assets/{diagram-TYUNFSNR-BxVgzMNE.js → diagram-TYUNFSNR-Dq_-g1oP.js} +1 -1
  123. package/dist/client/assets/{ebnfDiagram-V4P3TTPT-BgDiHzoi.js → ebnfDiagram-V4P3TTPT-vxzIvg-W.js} +1 -1
  124. package/dist/client/assets/{elk-QONTBCTQ-BCCN6mFs.js → elk-QONTBCTQ-BBIXXtg_.js} +1 -1
  125. package/dist/client/assets/{empty-state-BsA3jcrO.js → empty-state-kISAAp0z.js} +1 -1
  126. package/dist/client/assets/{erDiagram-KYQIGQAA-5RkmUbLz.js → erDiagram-KYQIGQAA-Bk2MeLBx.js} +1 -1
  127. package/dist/client/assets/{execution-config-CRkSeCj7.js → execution-config-DYFe-VNC.js} +1 -1
  128. package/dist/client/assets/{file-Bg_qGvWR.js → file-DEt4KgZG.js} +1 -1
  129. package/dist/client/assets/{file-exclamation-point-BWsLZQVN.js → file-exclamation-point-QqXJhXD9.js} +1 -1
  130. package/dist/client/assets/{file-text-DQThCdY3.js → file-text-CRw31ZWd.js} +1 -1
  131. package/dist/client/assets/{find-latest-widget-fence-DFpYPIlS.js → find-latest-widget-fence-B3aaiBNI.js} +1 -1
  132. package/dist/client/assets/{flowDiagram-IUGLLWBU-C2FFT_4u.js → flowDiagram-IUGLLWBU-B53m4r8u.js} +1 -1
  133. package/dist/client/assets/{form-DjMe15QR.js → form-Bjhk9zOn.js} +1 -1
  134. package/dist/client/assets/{format-cron-Bo3D4N9C.js → format-cron-9tmNIcgl.js} +1 -1
  135. package/dist/client/assets/{ganttDiagram-R7GPNTJY-BHG-HNDj.js → ganttDiagram-R7GPNTJY-CS6TN3R1.js} +1 -1
  136. package/dist/client/assets/{git-branch-CJ1NlVLY.js → git-branch-DWerghmw.js} +1 -1
  137. package/dist/client/assets/{gitGraphDiagram-PDYL7XHY-D4bvs6_J.js → gitGraphDiagram-PDYL7XHY-D096ZtqE.js} +1 -1
  138. package/dist/client/assets/{graph-D8MBmHRU.js → graph-DQpTuPmX.js} +1 -1
  139. package/dist/client/assets/{heart-Beze5rli.js → heart-CRkjVW7-.js} +1 -1
  140. package/dist/client/assets/{highlighted-body-KPVGNVTW-B-za1R0D.js → highlighted-body-KPVGNVTW-DoVCXOMU.js} +1 -1
  141. package/dist/client/assets/{image-lightbox-a4gqhNXS.js → image-lightbox-BXzbN27o.js} +1 -1
  142. package/dist/client/assets/{image-off-dQCXn9D_.js → image-off-VyMBVwgK.js} +1 -1
  143. package/dist/client/assets/{index--vwACals.js → index-1qv8ldHx.js} +1 -1
  144. package/dist/client/assets/{index-BTVsyrd0.js → index-2EaVZrJe.js} +1 -1
  145. package/dist/client/assets/{index-DBdO-_iL.js → index-8-iQ6PnT.js} +179 -174
  146. package/dist/client/assets/{index-Ckv0K82u.js → index-B2rBVMNl.js} +1 -1
  147. package/dist/client/assets/{index-Bk6YahnN.js → index-BBcAekWE.js} +1 -1
  148. package/dist/client/assets/index-BFitbVs4.js +1 -0
  149. package/dist/client/assets/{index-DqD-Sg0W.js → index-BLkXoquZ.js} +1 -1
  150. package/dist/client/assets/{index-Ds-LCBb6.js → index-BcFMs7lK.js} +1 -1
  151. package/dist/client/assets/{index-BTfwunle.js → index-BiFJIg4n.js} +1 -1
  152. package/dist/client/assets/{index-C9qjJR0B.js → index-BpjEclkM.js} +1 -1
  153. package/dist/client/assets/{index-hKY0860x.js → index-C24HfJir.js} +1 -1
  154. package/dist/client/assets/{index-D_KBdkA4.js → index-C3sW6rkN.js} +1 -1
  155. package/dist/client/assets/{index-CGVRWEpN.js → index-C6Fo2htT.js} +1 -1
  156. package/dist/client/assets/{index-BqwfU5a7.js → index-C6udJCgz.js} +1 -1
  157. package/dist/client/assets/{index-D4mYlxG0.js → index-CDuYKaGY.js} +1 -1
  158. package/dist/client/assets/{index-yDf4EVDy.js → index-CEVwhauU.js} +1 -1
  159. package/dist/client/assets/index-CI84yP-g.js +1 -0
  160. package/dist/client/assets/{index-vNaWkS8Y.js → index-COMRALJO.js} +1 -1
  161. package/dist/client/assets/{index-dnaC3n0i.js → index-CiVeycsn.js} +5 -5
  162. package/dist/client/assets/{index-DfSOcv9s.js → index-Cs3WB8yn.js} +1 -1
  163. package/dist/client/assets/{index-DFN-GU8r.js → index-Csr_C1sk.js} +1 -1
  164. package/dist/client/assets/{index-CU-gekzq.js → index-Ctqe81qr.js} +1 -1
  165. package/dist/client/assets/{index-DnfhvN3q.js → index-CvhR1oZB.js} +1 -1
  166. package/dist/client/assets/{index-CodC2rG4.js → index-CyGRWyhV.js} +1 -1
  167. package/dist/client/assets/{index-CocSe_I3.js → index-Czm6C7FZ.js} +3 -3
  168. package/dist/client/assets/{index-vieeLeZH.js → index-D5zUdnZM.js} +1 -1
  169. package/dist/client/assets/{index-BMhblg3s.js → index-DBo2XfNv.js} +1 -1
  170. package/dist/client/assets/{index-BJv8b9cZ.js → index-DKWpwwxo.js} +1 -1
  171. package/dist/client/assets/{index-CMlVfxJv.js → index-DN2sTT2U.js} +1 -1
  172. package/dist/client/assets/{index-B3ybVnXe.js → index-DNzk9m1D.js} +6 -6
  173. package/dist/client/assets/{index-CrflCTqO.css → index-DUZrTFYD.css} +1 -1
  174. package/dist/client/assets/{index-DLdpa3d4.js → index-DX_2Mxwv.js} +1 -1
  175. package/dist/client/assets/{index-CAGOE4EU.js → index-Dgrk2udV.js} +1 -1
  176. package/dist/client/assets/{index-Dbt6ttQb.js → index-DgyhdQnI.js} +1 -1
  177. package/dist/client/assets/{index-DpX_xwGs.js → index-DmFNztTX.js} +1 -1
  178. package/dist/client/assets/{index-B3VKw60l.js → index-TnoaFCrj.js} +1 -1
  179. package/dist/client/assets/{index-CxWJDJW7.js → index-_emDKzsu.js} +1 -1
  180. package/dist/client/assets/{index-BPa0ZczY.js → index-b9p_y2Ql.js} +1 -1
  181. package/dist/client/assets/{index-BMktWriw.js → index-gIQ7FrL9.js} +1 -1
  182. package/dist/client/assets/{index-CDm1XkU1.js → index-igLqtuoO.js} +1 -1
  183. package/dist/client/assets/{index-CPxcbKL6.js → index-n3-zWcH-.js} +2 -2
  184. package/dist/client/assets/{index-DNlhbCX_.js → index-rCvQat0D.js} +1 -1
  185. package/dist/client/assets/{index-C38pc-JE.js → index-setKr4xl.js} +1 -1
  186. package/dist/client/assets/{index-BaocSCDH.js → index-t3eRSGcT.js} +1 -1
  187. package/dist/client/assets/{index.esm-Ruqz-OsH.js → index.esm-bLeQzVWT.js} +1 -1
  188. package/dist/client/assets/{infoDiagram-MVDRKAX5-CmDlX3lx.js → infoDiagram-MVDRKAX5-nN_N76Fn.js} +1 -1
  189. package/dist/client/assets/{inline-code-plzdKGm9.js → inline-code-D9bLKHjY.js} +1 -1
  190. package/dist/client/assets/{ishikawaDiagram-HPEHV2GE-DZFRAvrx.js → ishikawaDiagram-HPEHV2GE-CiLFbWXd.js} +1 -1
  191. package/dist/client/assets/{journeyDiagram-BOSHW7O7-B140KXYu.js → journeyDiagram-BOSHW7O7-Dn3yOv96.js} +1 -1
  192. package/dist/client/assets/{kanban-definition-FNSA4HC5-QCZgRJic.js → kanban-definition-FNSA4HC5-JxiBdBQC.js} +1 -1
  193. package/dist/client/assets/{layers-Br3LALac.js → layers-DTnLoRvE.js} +1 -1
  194. package/dist/client/assets/{lightbulb-CeJgUDoT.js → lightbulb-CRKLr5q3.js} +1 -1
  195. package/dist/client/assets/{link-2-BXcZwTAC.js → link-2-hgHg-lyw.js} +1 -1
  196. package/dist/client/assets/{list-runtime-types-CqKIrt9D.js → list-runtime-types-Bb33QiMC.js} +1 -1
  197. package/dist/client/assets/{markdown-content-BKbjOTI2.js → markdown-content-D0FpU2cz.js} +1 -1
  198. package/dist/client/assets/{mention-pill-B-FgNE6o.js → mention-pill-uuaUvwSW.js} +1 -1
  199. package/dist/client/assets/{mermaid.core-Br9hJ7FR.js → mermaid.core-x3Hh6iut.js} +4 -4
  200. package/dist/client/assets/{message-square-off-Co0W--np.js → message-square-off-B8N6YF9R.js} +1 -1
  201. package/dist/client/assets/{mindmap-definition-6OY57UG3-BxjSZAec.js → mindmap-definition-6OY57UG3-D0SEv5Re.js} +1 -1
  202. package/dist/client/assets/{more-details-BsdCkGTg.js → more-details-CadxnGyH.js} +1 -1
  203. package/dist/client/assets/{owner-notice-BxltHzJH.js → owner-notice-CJHyha58.js} +1 -1
  204. package/dist/client/assets/{package-DPgmy9lP.js → package-B8G7jQm-.js} +1 -1
  205. package/dist/client/assets/{page-container-HokGbFg_.js → page-container-Bb-_N7lw.js} +1 -1
  206. package/dist/client/assets/{paperclip-BDnApT-_.js → paperclip-BDeYGKqh.js} +1 -1
  207. package/dist/client/assets/{path-input-C22n3ghr.js → path-input-BIfexEKz.js} +1 -1
  208. package/dist/client/assets/{pegDiagram-ECIUJNBX-utA2pUiu.js → pegDiagram-ECIUJNBX-7ivMd0-b.js} +1 -1
  209. package/dist/client/assets/{pieDiagram-GNMPY74T-DjEry_VP.js → pieDiagram-GNMPY74T-DGDkbFvu.js} +1 -1
  210. package/dist/client/assets/{plug-tLTAmXis.js → plug-wP1d6OUX.js} +1 -1
  211. package/dist/client/assets/{primer-trigger-CfVHNFbe.js → primer-trigger-CEli_z4n.js} +1 -1
  212. package/dist/client/assets/{profile-errors-Dvm4O6MR.js → profile-errors-C1qSJkiG.js} +1 -1
  213. package/dist/client/assets/{progress-BduTwXMX.js → progress-DmUieXLn.js} +1 -1
  214. package/dist/client/assets/{quadrantDiagram-D57K4MC3-DO9NgnEq.js → quadrantDiagram-D57K4MC3-AFQRVSsK.js} +1 -1
  215. package/dist/client/assets/{query-error-state-puwJHnzi.js → query-error-state--8AnWSSn.js} +1 -1
  216. package/dist/client/assets/{radio-DR4E05zZ.js → radio-mkA-Sqe0.js} +1 -1
  217. package/dist/client/assets/{railroadDiagram-Y72NRBL7-BTilAS9p.js → railroadDiagram-Y72NRBL7-3QBa2d3j.js} +1 -1
  218. package/dist/client/assets/registry-Bnd-HFt3.js +1 -0
  219. package/dist/client/assets/{relay-trace-schemas-DwqIIDB9.js → relay-trace-schemas-fScydQ3A.js} +1 -1
  220. package/dist/client/assets/{requirementDiagram-EQYSW5RA-C6rzY7GK.js → requirementDiagram-EQYSW5RA-BVBqcASy.js} +1 -1
  221. package/dist/client/assets/{room-files-source-Duo4oiqX.js → room-files-source-BhkPUTiP.js} +1 -1
  222. package/dist/client/assets/{rotate-ccw-clock-RJuoRE3k.js → rotate-ccw-clock-DiuTseKz.js} +1 -1
  223. package/dist/client/assets/{rotate-cw-C0EpbK5k.js → rotate-cw-DvoxWwSx.js} +1 -1
  224. package/dist/client/assets/{sankeyDiagram-SY24JHO5-BqpJRY1t.js → sankeyDiagram-SY24JHO5-DFjfOD38.js} +1 -1
  225. package/dist/client/assets/{scroll-area-07T90PR6.js → scroll-area-DYyyRqW_.js} +1 -1
  226. package/dist/client/assets/{search-x-DQabogEL.js → search-x-CA-FzEqZ.js} +1 -1
  227. package/dist/client/assets/{sequenceDiagram-BLEHNHQU-BHfzZpFt.js → sequenceDiagram-BLEHNHQU-Cr9LzoSF.js} +1 -1
  228. package/dist/client/assets/{shield-check-DbbCy17l.js → shield-check-CpUB_Ju1.js} +1 -1
  229. package/dist/client/assets/{shield-x-Cuo1GTv4.js → shield-x-B0W_7qwR.js} +1 -1
  230. package/dist/client/assets/{signed-in-CFtA8gTK.js → signed-in-X2utDqQS.js} +1 -1
  231. package/dist/client/assets/{sizeCapture-INFHLROL-U0MO-4ua.js → sizeCapture-INFHLROL-Do_jfNyT.js} +1 -1
  232. package/dist/client/assets/{soul-file-wKTqbR0Y.js → soul-file-DgfhKQIK.js} +1 -1
  233. package/dist/client/assets/{stateDiagram-v2-A6IESKWZ-fzo1sDsX.js → stateDiagram-v2-A6IESKWZ-BCi9yk_0.js} +1 -1
  234. package/dist/client/assets/{swimlanes-B3ENRKFQ-B7QcCUBU.js → swimlanes-B3ENRKFQ-3SSAw2av.js} +1 -1
  235. package/dist/client/assets/swimlanesDiagram-AYQRV4AK-jpZCGfva.js +8 -0
  236. package/dist/client/assets/{table-BjHA85BX.js → table-DvU_oS4E.js} +1 -1
  237. package/dist/client/assets/{terminal-qfxxVZaa.js → terminal-Dw2QZ7Dh.js} +1 -1
  238. package/dist/client/assets/{timeline-definition-JXYKGLGB-okVlmef4.js → timeline-definition-JXYKGLGB-DTLPXTMA.js} +1 -1
  239. package/dist/client/assets/{trust-posture-BmW0KVP6.js → trust-posture-2MR0ap9o.js} +1 -1
  240. package/dist/client/assets/{unplug-BYKBdSMl.js → unplug-CAVOLB2R.js} +1 -1
  241. package/dist/client/assets/{unverified-catalog-notice-CQHA4Cst.js → unverified-catalog-notice-u4ikVg8J.js} +1 -1
  242. package/dist/client/assets/{use-adapter-catalog-rB4qQQ5D.js → use-adapter-catalog-BQKfRxXC.js} +1 -1
  243. package/dist/client/assets/{use-bindings-DiFC7kWg.js → use-bindings-BV6HA0MD.js} +1 -1
  244. package/dist/client/assets/{use-composer-prefs-DHY5vJ0l.js → use-composer-prefs-DCSzOnEO.js} +1 -1
  245. package/dist/client/assets/{use-connector-management-CoinXIID.js → use-connector-management-fr1tx-GZ.js} +1 -1
  246. package/dist/client/assets/{use-deep-link-scroll-Cm8BRFAE.js → use-deep-link-scroll-v02TbidQ.js} +1 -1
  247. package/dist/client/assets/{use-delete-binding-FtM6qPfF.js → use-delete-binding-CnziYpXo.js} +1 -1
  248. package/dist/client/assets/{use-dev-links-TQFCV3vk.js → use-dev-links-k4YWFO1v.js} +1 -1
  249. package/dist/client/assets/{use-external-adapter-catalog-Lx8LZDAa.js → use-external-adapter-catalog-DoGUfa2F.js} +1 -1
  250. package/dist/client/assets/{use-full-activity-feed-CmcBAvUM.js → use-full-activity-feed-CQNxgxnw.js} +1 -1
  251. package/dist/client/assets/use-is-below-desktop-DR8FEbRW.js +1 -0
  252. package/dist/client/assets/use-is-hub-BmpgFnFp.js +1 -0
  253. package/dist/client/assets/{use-jump-back-in-V8G_6fYj.js → use-jump-back-in-BuO6A0P7.js} +1 -1
  254. package/dist/client/assets/{use-local-browser-CbS4typW.js → use-local-browser-BNzN5O1P.js} +1 -1
  255. package/dist/client/assets/{use-mesh-topology-DZ1qMT3J.js → use-mesh-topology-CpIDE8lD.js} +1 -1
  256. package/dist/client/assets/{use-mounted-ref-DUbNzP-m.js → use-mounted-ref-BAO3qunF.js} +1 -1
  257. package/dist/client/assets/{use-notification-prefs-BAsICJ96.js → use-notification-prefs-CtqeH5Pk.js} +1 -1
  258. package/dist/client/assets/{use-panel-tab-placements-ymrpuL_s.js → use-panel-tab-placements-DFobGBRm.js} +1 -1
  259. package/dist/client/assets/use-pending-read-Do0_vZ2I.js +1 -0
  260. package/dist/client/assets/{use-personality-commit-rJOmDgC2.js → use-personality-commit-BvqCwzAC.js} +1 -1
  261. package/dist/client/assets/{use-promo-activation-BKeBloMI.js → use-promo-activation-Dz5cYm-X.js} +1 -1
  262. package/dist/client/assets/{use-promo-dismissals-Cio8QMjL.js → use-promo-dismissals-CuOsnqnZ.js} +1 -1
  263. package/dist/client/assets/{use-pulse-freshness-DZkMVbSM.js → use-pulse-freshness-qcTH6PM7.js} +1 -1
  264. package/dist/client/assets/{use-relay-config-CbZQKFhZ.js → use-relay-config-1mAMDNbc.js} +1 -1
  265. package/dist/client/assets/{use-room-follow-claim-DbJIsuWz.js → use-room-follow-claim-CCGhsyH3.js} +1 -1
  266. package/dist/client/assets/{use-roving-tab-list-B4nZ7trj.js → use-roving-tab-list-Bsg2dfUx.js} +1 -1
  267. package/dist/client/assets/{use-session-canvas-sAwc2L1A.js → use-session-canvas-awPngMKg.js} +3 -3
  268. package/dist/client/assets/{use-session-diagnostics-0gcI762B.js → use-session-diagnostics-D5g8Mc52.js} +2 -2
  269. package/dist/client/assets/{use-unclaimed-chats-BWIqOrvs.js → use-unclaimed-chats-Db_wuzt0.js} +1 -1
  270. package/dist/client/assets/use-update-config-DwtH_H9Z.js +1 -0
  271. package/dist/client/assets/{useMutationState-C9Q5lRej.js → useMutationState-BvwBDXKc.js} +1 -1
  272. package/dist/client/assets/{usecaseDiagram-WPOLBNNX-CMjVaeX9.js → usecaseDiagram-WPOLBNNX-1zKygEKR.js} +1 -1
  273. package/dist/client/assets/{vennDiagram-Q3Y3IDCW-BajZBf0H.js → vennDiagram-Q3Y3IDCW-BR2EbgGY.js} +1 -1
  274. package/dist/client/assets/{wardleyDiagram-IVAIDKWA-BN4xF6JT.js → wardleyDiagram-IVAIDKWA-D0OwouJc.js} +1 -1
  275. package/dist/client/assets/{xychartDiagram-4URNHDU4-Cy0Z9a28.js → xychartDiagram-4URNHDU4-BM-7_FQQ.js} +1 -1
  276. package/dist/client/index.html +2 -2
  277. package/dist/drizzle/20261018123612_session_route.sql +1 -0
  278. package/dist/drizzle/meta/20261018123612_snapshot.json +14027 -0
  279. package/dist/drizzle/meta/_journal.json +7 -0
  280. package/dist/server/index.js +4676 -3619
  281. package/dist/server/index.js.map +2 -2
  282. package/package.json +5 -5
  283. package/dist/client/assets/HandlePage-BoBFGnUB.js +0 -1
  284. package/dist/client/assets/NamePage-bC_9FOtD.js +0 -1
  285. package/dist/client/assets/PhotoPage-BOe3xwyN.js +0 -1
  286. package/dist/client/assets/PresetPicker-BcKF2ds8.js +0 -19
  287. package/dist/client/assets/_shell-scIpUrVY.js +0 -80
  288. package/dist/client/assets/_shell.marketplace-FHQpZxgB.js +0 -1
  289. package/dist/client/assets/_shell.marketplace_.sources-DXv90Z-v.js +0 -1
  290. package/dist/client/assets/_shell.x._extensionId-DirEl_qN.js +0 -1
  291. package/dist/client/assets/_shell.x._extensionId_._-DirEl_qN.js +0 -1
  292. package/dist/client/assets/channel-BlEJg4XA.js +0 -1
  293. package/dist/client/assets/index-BydIKjk5.js +0 -1
  294. package/dist/client/assets/index-D18FqQKB.js +0 -1
  295. package/dist/client/assets/registry-B3Ss4ItQ.js +0 -1
  296. package/dist/client/assets/swimlanesDiagram-AYQRV4AK-CgZZnzbW.js +0 -8
  297. package/dist/client/assets/use-is-below-desktop-BB9kHnYm.js +0 -1
  298. package/dist/client/assets/use-is-hub-ab4UGRdN.js +0 -1
  299. package/dist/client/assets/use-pending-read-BkCvAuX4.js +0 -1
  300. package/dist/client/assets/use-update-config-DTL7WyZV.js +0 -1
package/dist/bin/cli.js CHANGED
@@ -22178,15 +22178,26 @@ var init_runtime_settings = __esm({
22178
22178
  * agent is the same executable with the same permissions and the same
22179
22179
  * per-dispatch boundary check, held open for longer — nothing about what
22180
22180
  * it may DO changes. The real cost is memory, and the bounds on it live
22181
- * in code rather than under this setting: at most twelve stay warm, about
22182
- * 1 GB each worst case, and the idle reaper closes the rest.
22181
+ * in `maxWarmProcesses` below, and the idle
22182
+ * reaper closes the rest.
22183
22183
  *
22184
22184
  * Read when a chat's agent starts, so a chat already under way keeps
22185
22185
  * the way it started until its process is replaced. That is what lets
22186
22186
  * one machine run chats both ways at the same time and compare them on
22187
22187
  * the same work (spec `persistent-session-runtime` §P3).
22188
22188
  */
22189
- persistentSession: external_exports.boolean().default(true)
22189
+ persistentSession: external_exports.boolean().default(true),
22190
+ /**
22191
+ * The most chats whose agent may be running at once on this machine
22192
+ * (DOR-3012). `null`, the default, sizes it to the machine's memory: one per
22193
+ * 2 GB, at least 12 and at most 32. A number pins it.
22194
+ *
22195
+ * A chat past the limit is never refused outright: the least recently used
22196
+ * idle agent is closed to make room, and when every one is mid-turn the chat
22197
+ * waits for one to finish. Read when an agent starts, so a change applies to
22198
+ * the next one.
22199
+ */
22200
+ maxWarmProcesses: external_exports.number().int().min(1).max(128).nullable().default(null)
22190
22201
  });
22191
22202
  DoeInferenceConfigSchema = external_exports.object({
22192
22203
  source: external_exports.enum(["api-key", "local", "dorkos-credits"]),
@@ -22284,7 +22295,8 @@ var init_runtime_settings = __esm({
22284
22295
  // carry this value — the per-field one on `ClaudeCodeSettingsSchema`,
22285
22296
  // this one, and the `runtimes` literal below — and all three have to
22286
22297
  // agree or the shallow defaults-merge lands somebody on the old value.
22287
- persistentSession: true
22298
+ persistentSession: true,
22299
+ maxWarmProcesses: null
22288
22300
  })),
22289
22301
  doe: DoeRuntimeSettingsSchema,
22290
22302
  opencode: external_exports.object({
@@ -22377,7 +22389,8 @@ var init_runtime_settings = __esm({
22377
22389
  defaultModel: null,
22378
22390
  defaultEffort: null,
22379
22391
  defaultTrustStop: null,
22380
- persistentSession: true
22392
+ persistentSession: true,
22393
+ maxWarmProcesses: null
22381
22394
  },
22382
22395
  opencode: {
22383
22396
  enabled: true,
@@ -26760,7 +26773,7 @@ import path2 from "path";
26760
26773
  import { fileURLToPath } from "url";
26761
26774
  function resolveVersion() {
26762
26775
  if (env2.DORKOS_VERSION_OVERRIDE) return env2.DORKOS_VERSION_OVERRIDE;
26763
- if (true) return "0.122.0";
26776
+ if (true) return "0.123.0";
26764
26777
  const pkgPath = path2.join(path2.dirname(fileURLToPath(import.meta.url)), "../../package.json");
26765
26778
  return JSON.parse(readFileSync(pkgPath, "utf-8")).version;
26766
26779
  }
@@ -40752,6 +40765,12 @@ function seedLanAccess(store) {
40752
40765
  if ("lanAccess" in server2) return;
40753
40766
  store.set("server", { ...server2, lanAccess: false });
40754
40767
  }
40768
+ function seedMaxWarmProcesses(store) {
40769
+ const claudeCode = store.get("runtimes.claudeCode");
40770
+ if (claudeCode === null || typeof claudeCode !== "object" || Array.isArray(claudeCode)) return;
40771
+ if ("maxWarmProcesses" in claudeCode) return;
40772
+ store.set("runtimes.claudeCode", { ...claudeCode, maxWarmProcesses: null });
40773
+ }
40755
40774
  function raiseEngagedWindowDefaults(store) {
40756
40775
  if (store.get("rooms") === void 0) return;
40757
40776
  const minutes = store.get("rooms.engagedWindowMinutes");
@@ -41450,7 +41469,14 @@ var init_config_migrations = __esm({
41450
41469
  enabled: sessionRelay.enabled === true
41451
41470
  });
41452
41471
  }
41453
- }
41472
+ },
41473
+ // v0.122.0 is the newest release, so this opens 0.123.0. Frozen from merge;
41474
+ // anything further opens `'0.124.0'`.
41475
+ //
41476
+ // Writes `runtimes.claudeCode.maxWarmProcesses: null` where the stored
41477
+ // section lacks it, and touches nothing else (DOR-3012). See
41478
+ // `seedMaxWarmProcesses`.
41479
+ "0.123.0": seedMaxWarmProcesses
41454
41480
  };
41455
41481
  }
41456
41482
  });
@@ -41549,6 +41575,7 @@ __export(config_manager_exports, {
41549
41575
  seedIdentityPromptDismissedDefault: () => seedIdentityPromptDismissedDefault,
41550
41576
  seedLanAccess: () => seedLanAccess,
41551
41577
  seedMaxConcurrentTurnsPerAgent: () => seedMaxConcurrentTurnsPerAgent,
41578
+ seedMaxWarmProcesses: () => seedMaxWarmProcesses,
41552
41579
  seedMemoryProviderDefault: () => seedMemoryProviderDefault,
41553
41580
  seedPermissionPresetFromDoor: () => seedPermissionPresetFromDoor,
41554
41581
  seedRoomCanvasOps: () => seedRoomCanvasOps,
@@ -49413,6 +49440,7 @@ function parseSkillFile(filePath, content, schema3, options) {
49413
49440
  }
49414
49441
  var init_parser = __esm({
49415
49442
  "../skills/src/parser.ts"() {
49443
+ "use strict";
49416
49444
  init_constants7();
49417
49445
  init_frontmatter();
49418
49446
  }
@@ -52386,6 +52414,7 @@ function foldLegacyPermissionFields(raw) {
52386
52414
  var AgentRuntimeSchema, AgentHealthStatusSchema, ResponseModeSchema, AgentBehaviorSchema, McpServerAuthKindSchema, McpServerTransportSchema, ManagedMcpServerSchema, McpServerAuthStatusSchema, McpClientOriginSchema, ManagedMcpServerViewSchema, TraitsSchema, ConventionsSchema, AgentModelSchema, AgentEffortSchema, AgentWorkspaceBindingSchema, WORKSPACE_BINDING_OPENAPI, UNREADABLE_BINDING_FALLBACK, AgentManifestSchema2, LEGACY_GROUP_AREAS, AgentManifestFileSchema, AgentPathEntrySchema, AgentHintsSchema, DiscoveryCandidateSchema, DenialRecordSchema, AGENT_PAUSED_CODE, AGENT_PAUSE_REASON_MAX, AgentPauseSchema, AgentPauseListSchema, AgentPauseRequestSchema, AgentPauseResultSchema, TopologyAgentSchema, NamespaceInfoSchema, OPEN_MESH_NAMESPACE, CrossNamespaceRuleSchema, TopologyViewSchema, DiscoverRequestSchema, RegisterAgentRequestSchema, DenyRequestSchema, UpdateAgentRequestSchema, UpdateAgentConventionsSchema, WILDCARD_NAMESPACE_BOTH_SIDES_MESSAGE, UpdateAccessRuleRequestSchema, ResolveAgentsRequestSchema, ResolveAgentsResponseSchema, CreateAgentOptionsSchema, CreateAgentRequestSchema, AgentListQuerySchema, AgentHealthSchema, MeshStatusSchema, MeshInspectSchema, MeshLifecycleEventSchema, HeartbeatRequestSchema, ScanProgressSchema;
52387
52415
  var init_mesh_schemas = __esm({
52388
52416
  "../shared/src/mesh-schemas.ts"() {
52417
+ "use strict";
52389
52418
  init_zod();
52390
52419
  init_zod_openapi();
52391
52420
  init_validation();
@@ -53006,6 +53035,7 @@ var init_direct_notes_context = __esm({
53006
53035
  var GitStatusDataSchema, EnvDataSchema, RelayContextDataSchema, RoomContextOriginSchema, RoomContextAuthorSchema, RoomContextMemberSchema, RoomContextEntrySchema, RoomContextAcknowledgmentSchema, MainMovedSchema, WorktreeRefreshOutcomeSchema, RoomContextFilesSchema, RoomContextDataSchema, SeedContextDataSchema, StagedContextDataSchema, AccountsAccessDataSchema, ContextWarningDataSchema, ApprovalVerdictDataSchema, AdditionalContextEntrySchema, AdditionalContextSchema, ClientContextSchema;
53007
53036
  var init_additional_context = __esm({
53008
53037
  "../shared/src/additional-context.ts"() {
53038
+ "use strict";
53009
53039
  init_zod();
53010
53040
  init_canvas_channel_schemas();
53011
53041
  init_mesh_schemas();
@@ -54085,6 +54115,7 @@ function isSafeSigninUrl(value) {
54085
54115
  var PermissionModeSchema, PermissionModeIdSchema, PermissionStopSchema2, SessionTaskStatusSchema, StreamEventTypeSchema, QuestionOptionSchema, QuestionItemSchema, EffortLevelSchema, SessionOriginSchema, SessionLifecycleSchema, LimitPlanSchema, LimitStateSchema, SessionLimitSchema, ContinueAccountOptionSchema, ContinueOptionsResponseSchema, ContinueSessionRequestSchema, ContinueSessionResponseSchema, WaitForResetRequestSchema, LimitPlanResponseSchema, TrackerItemRefSchema, SessionStartedBySchema, SessionSchema, SessionUpdateResponseSchema, SessionSettingsSchema, StoredSessionSettingsResponseSchema, UpdateSessionRequestSchema, ForkSessionRequestSchema, ReloadPluginsResultSchema, SEED_CONTEXT_MAX_LENGTH, MessageDispositionSchema, DispositionDowngradeReasonSchema, MessageDeliveryOutcomeSchema, InterruptOutcomeSchema, InterruptReasonSchema, InterruptReceiptSchema, QueuedWaitingOnSchema, QueuedMessageSchema, SendMessageRequestSchema, SendMessageResponseSchema, SessionTriggerResponseSchema, SessionQueueResponseSchema, QueueMoveTargetSchema, UpdateQueuedMessageRequestSchema, UpdateQueuedMessageResponseSchema, DENY_REASON_MAX_LENGTH, ApprovalRequestSchema, BatchApprovalRequestSchema, SubmitAnswersRequestSchema, UI_ACTION_ID_MAX_LENGTH, UI_ACTION_TITLE_MAX_LENGTH, UI_ACTION_PAYLOAD_MAX_LENGTH, UiActionRequestSchema, McpAppPermissionSchema, McpAppResourceRequestSchema, McpAppResourceResponseSchema, ElicitationModeSchema, ElicitationActionSchema, SubmitElicitationRequestSchema, ListSessionsQuerySchema, SessionListWarningSchema, SessionListResponseSchema, RecentSessionsQuerySchema, RecentSessionsResponseSchema, SessionDailyCountsQuerySchema, SessionDailyCountsResponseSchema, CommandsQuerySchema, TextDeltaSchema, ThinkingDeltaSchema, ToolCallStatusSchema, McpAppRefSchema, ToolCallEventSchema, ToolProgressEventSchema, AlwaysAllowScopeSchema, ApprovalEventSchema, QuestionPromptEventSchema, PendingInteractionDTOSchema, ErrorCategorySchema, ErrorEventSchema, ApiRetryEventSchema, DoneEventSchema, TerminalReasonSchema, UsageStateSchema, UsageStatusSchema, SessionStatusEventSchema, ContextUsageCategorySchema, ContextUsageSchema, TaskItemSchema, TaskUpdateEventSchema, RelayReceiptEventSchema, MessageDeliveredEventSchema, RelayMessageEventSchema, BackgroundTaskTypeSchema, BackgroundTaskStatusSchema, BackgroundTaskStartedEventSchema, BackgroundTaskProgressEventSchema, BackgroundTaskDoneEventSchema, SubagentTextDeltaEventSchema, SystemStatusEventSchema, OperationKindSchema, OperationStateSchema, OperationProgressEventShapeSchema, OperationProgressEventSchema, MemoryEntrySchema, MemoryRecallEventSchema, agentCompactionShape, CompactBoundaryEventSchema, sessionImageShape, SessionImageEventSchema, deniedAgentShape, PermissionDeniedEventSchema, ModelSubstitutedEventSchema, PromptSuggestionEventSchema, HookStartedEventSchema, HookProgressEventSchema, HookResponseEventSchema, SdkSessionStateSchema, SessionStateChangedEventSchema, ElicitationPromptEventSchema, ElicitationCompleteEventSchema, InteractionCancelledEventSchema, CapabilityApprovalRequiredEventSchema, CapabilityApprovalResolvedEventSchema, SigninUrlSchema, MCP_SIGNIN_OUTCOMES, McpSigninOutcomeSchema, McpSigninRequiredEventSchema, McpSigninResolvedEventSchema, StreamEventSchema, TextPartSchema, HookStatusSchema, HookPartSchema, ToolApprovalOutcomeSchema, QuestionOutcomeSchema, ToolCallPartSchema, BackgroundTaskPartSchema, ThinkingPartSchema, ErrorPartSchema, ElicitationPartSchema, CapabilityApprovalPartSchema, McpSigninPartSchema, MemoryRecallPartSchema, PermissionDeniedPartSchema, ModelSubstitutedPartSchema, CompactBoundaryPartSchema, ImagePartSchema, MessagePartSchema, MessageTypeSchema, HistoryToolCallSchema, CompactMetadataSchema, HistoryMessageSchema, HistoryReadSchema, CommandEntrySchema, CommandRegistrySchema, FileListQuerySchema, RawFileQuerySchema, FileListResponseSchema, FileEntrySchema, FileTreeQuerySchema, FileTreeResponseSchema, FileContentQuerySchema, FileContentResponseSchema, CreateEntryRequestSchema, CreateEntryResponseSchema, DeleteEntryQuerySchema, RenameEntryRequestSchema, CopyEntryRequestSchema, RevealEntryRequestSchema, DiffBaselineOriginSchema, DiffBaselineQuerySchema, DiffBaselineResponseSchema, AdvanceDiffBaselineRequestSchema, DiffPendingQuerySchema, DiffPendingResponseSchema, DiffBaselineRawQuerySchema, RevertDiffBaselineRequestSchema, FileMutationResponseSchema, WorkbenchSignRequestSchema, WorkbenchSignResponseSchema, WorkbenchProbeRequestSchema, WorkbenchProbeResponseSchema, BrowseDirectoryQuerySchema, DirectoryEntrySchema, BrowseDirectoryResponseSchema, TunnelStatusSchema, LanAccessStatusSchema, RemoteAccessStateSchema, RemoteAccessAvailabilitySchema, RemoteAccessEnrolmentSchema, RemoteAccessReportSchema, HealthResponseSchema, ExecutionDefaultsSchema, ExperimentStateSchema, ServerConfigSchema2, ModelTierSchema, ModelOptionSchema, SubagentInfoSchema, GitStatusResponseSchema, GitStatusErrorSchema, ErrorResponseSchema, SessionLockedErrorSchema, TaskStatusSchema, SettableTaskStatusSchema, TaskNameSchema, TaskRunStatusSchema, TaskRunTriggerSchema, TaskSchema, TaskRunSchema, CancelTaskRunResponseSchema, TaskTemplateSchema, TASK_DURATION_PATTERN, TASK_DURATION_MAX, TASK_DESCRIPTION_MAX, CreateTaskRequestSchema, SIDEBAR_TAB_ID_PATTERN, ShapeLiveLayoutCaptureSchema, ForkShapeRequestSchema, UpdateTaskRequestSchema, ListTaskRunsQuerySchema, ConfigPatchRequestSchema, ConfigPatchResponseSchema, UploadResultSchema, UploadResponseSchema, UploadProgressSchema, CanvasMediaSrcSchema, UiCanvasContentSchema, UiPanelIdSchema, UiToastLevelSchema, CELEBRATION_KINDS, CELEBRATION_KIND_SYNONYMS, CelebrationKindSchema, UiCommandTargetSchema, UiCommandSchema, UiCommandEventSchema, UiStateSchema, UiStateReportDocumentSchema, UiStateReportSchema, DevtoolsConsoleLevelSchema, DEVTOOLS_ARGS_MAX_CHARS, DevtoolsConsoleEntrySchema, DevtoolsNetworkEntrySchema, DEVTOOLS_CONSOLE_BATCH_MAX, DEVTOOLS_NETWORK_BATCH_MAX, DEVTOOLS_SCREENSHOT_MAX_CHARS, DevtoolsScreenshotResultSchema, DevtoolsIngestSchema, BrowserTargetSchema, BrowserActCommandSchema, BrowserPageSummarySchema, DEVTOOLS_OUTLINE_MAX_CHARS, DevtoolsActionResultSchema, DevtoolsRecordingUploadSchema, KeepAwakeUnsupportedReasonSchema, KeepAwakeStatusSchema;
54086
54116
  var init_schemas4 = __esm({
54087
54117
  "../shared/src/schemas.ts"() {
54118
+ "use strict";
54088
54119
  init_canvas_channel_schemas();
54089
54120
  init_zod();
54090
54121
  init_zod_openapi();
@@ -123821,6 +123852,11 @@ var init_auth = __esm({
123821
123852
  updatedAt: integer2("updated_at", { mode: "timestamp_ms" }).$onUpdate(() => /* @__PURE__ */ new Date()).notNull(),
123822
123853
  ipAddress: text("ip_address"),
123823
123854
  userAgent: text("user_agent"),
123855
+ // The way the sign-in that made this session came in: 'local', 'wifi',
123856
+ // 'tunnel', 'managed', 'network' or 'hub'. A session works only on that
123857
+ // route (DOR-2969). Null for a session made before it was recorded, which
123858
+ // works only on this computer.
123859
+ route: text("route"),
123824
123860
  userId: text("user_id").notNull().references(() => user.id, { onDelete: "cascade" }),
123825
123861
  // A sign-in on a shared or public computer (A4, DOR-2936): the cookie ends
123826
123862
  // with the browser, the session cannot outlive a working day, and the app
@@ -126245,7 +126281,8 @@ var init_notifications = __esm({
126245
126281
  "community.owner-replacement",
126246
126282
  "heartbeat.credits-offer",
126247
126283
  "connector.destructive_pending",
126248
- "connector.destructive_executed"
126284
+ "connector.destructive_executed",
126285
+ "web.new_device"
126249
126286
  ]
126250
126287
  }).notNull(),
126251
126288
  /** How loud this was allowed to be. Copied from the registry at write time. */
@@ -128912,6 +128949,18 @@ var init_setup_code_gate = __esm({
128912
128949
  }
128913
128950
  });
128914
128951
 
128952
+ // ../../apps/server/src/services/core/auth/sessions/session-route.ts
128953
+ var WIFI_SESSION_MAX_SECONDS;
128954
+ var init_session_route = __esm({
128955
+ "../../apps/server/src/services/core/auth/sessions/session-route.ts"() {
128956
+ "use strict";
128957
+ init_request_classifier();
128958
+ init_server_role();
128959
+ init_registration_policy();
128960
+ WIFI_SESSION_MAX_SECONDS = 7 * 24 * 60 * 60;
128961
+ }
128962
+ });
128963
+
128915
128964
  // ../../apps/server/src/services/core/auth/cookie-security.ts
128916
128965
  var AUTH_COOKIES_SECURE;
128917
128966
  var init_cookie_security = __esm({
@@ -128923,7 +128972,7 @@ var init_cookie_security = __esm({
128923
128972
  });
128924
128973
 
128925
128974
  // ../shared/src/session-relay.ts
128926
- var SESSION_RELAY_MAX_FRAME_LENGTH, SESSION_RELAY_MAX_MESSAGE_LENGTH, SESSION_RELAY_MAX_CHATS, SESSION_RELAY_IDLE_CLOSE_MS, VersionSchema, RelayVersionRangeSchema, AdvertisedFeaturesSchema, RequestIdSchema, StreamIdSchema, SessionIdSchema, AgentIdSchema, ToolCallIdSchema, ResumeCursorSchema, base64url3, ChatsListRequestSchema, SessionStreamRequestSchema, SessionSendRequestSchema, SessionInterruptRequestSchema, ApprovalDecisionSchema, InteractionChallengeRequestSchema, RelayApprovalProofSchema, InteractionAnswerSchema, InteractionRespondRequestSchema, RelayRequestSchema, RelayChatSummarySchema, RelayResultBodySchemas, RelayErrorSchema, exactBase64url, RelayEphemeralKeySchema, RelaySignatureSchema, RelayNonceSchema, RelayPinnedHubKeySchema, RelayHelloFrameSchema, RelayHandshakeAnswerSchema, RelaySealedFrameSchema, HeartbeatFrameSchema, RelayWebFrameSchema, RelayStreamFrameSchema, RelayComputerFrameSchema, RelayFinishFrameSchema;
128975
+ var SESSION_RELAY_MAX_FRAME_LENGTH, SESSION_RELAY_MAX_MESSAGE_LENGTH, SESSION_RELAY_MAX_CHATS, SESSION_RELAY_IDLE_CLOSE_MS, VersionSchema, RelayVersionRangeSchema, AdvertisedFeaturesSchema, RequestIdSchema, StreamIdSchema, SessionIdSchema, AgentIdSchema, ToolCallIdSchema, ResumeCursorSchema, NO_CONTROL, INVISIBLE, RelayDisplayNameSchema, RelayDeviceSchema, base64url3, ChatsListRequestSchema, SessionStreamRequestSchema, SessionSendRequestSchema, SessionInterruptRequestSchema, ApprovalDecisionSchema, InteractionChallengeRequestSchema, RelayApprovalProofSchema, InteractionAnswerSchema, InteractionRespondRequestSchema, RelayRequestSchema, RelayChatSummarySchema, RelayResultBodySchemas, RelayErrorSchema, exactBase64url, RelayEphemeralKeySchema, RelaySignatureSchema, RelayNonceSchema, RelayPinnedHubKeySchema, RelayHelloFrameSchema, RelayHandshakeAnswerSchema, RelaySealedFrameSchema, HeartbeatFrameSchema, RelayWebFrameSchema, RelayStreamFrameSchema, RelayComputerFrameSchema, RelayFinishFrameSchema;
128927
128976
  var init_session_relay = __esm({
128928
128977
  "../shared/src/session-relay.ts"() {
128929
128978
  "use strict";
@@ -128942,6 +128991,13 @@ var init_session_relay = __esm({
128942
128991
  AgentIdSchema = external_exports.string().regex(/^[0-9A-HJKMNP-TV-Z]{26}$/);
128943
128992
  ToolCallIdSchema = external_exports.string().min(1).max(256).regex(/^[\w.:-]+$/);
128944
128993
  ResumeCursorSchema = external_exports.string().max(256).regex(/^[0-9a-f-]+-\d+-g\d+-\d+$/);
128994
+ NO_CONTROL = /^[^\u0000-\u001f\u007f]*$/;
128995
+ INVISIBLE = /[\p{Cf}\u2028\u2029]/u;
128996
+ RelayDisplayNameSchema = external_exports.string().min(1).max(64).regex(NO_CONTROL).refine((name2) => name2.trim() === name2, "no leading or trailing whitespace").refine((name2) => !INVISIBLE.test(name2), "no invisible characters");
128997
+ RelayDeviceSchema = external_exports.strictObject({
128998
+ id: external_exports.string().min(8).max(64).regex(/^[A-Za-z0-9_-]+$/),
128999
+ label: RelayDisplayNameSchema
129000
+ });
128945
129001
  base64url3 = (max2) => external_exports.string().min(1).max(max2).regex(/^[A-Za-z0-9_-]+$/);
128946
129002
  ChatsListRequestSchema = external_exports.strictObject({
128947
129003
  op: external_exports.literal("chats.list"),
@@ -129084,7 +129140,13 @@ var init_session_relay = __esm({
129084
129140
  * `stream.frame`s and one `stream.end`, which carries the refusal if it never
129085
129141
  * opened.
129086
129142
  */
129087
- external_exports.strictObject({ type: external_exports.literal("request"), id: RequestIdSchema, request: RelayRequestSchema }),
129143
+ external_exports.strictObject({
129144
+ type: external_exports.literal("request"),
129145
+ id: RequestIdSchema,
129146
+ request: RelayRequestSchema,
129147
+ /** The browser that asked; sent only to a computer that advertised `request.device`. */
129148
+ device: RelayDeviceSchema.optional()
129149
+ }),
129088
129150
  external_exports.strictObject({ type: external_exports.literal("stream.close"), streamId: StreamIdSchema }),
129089
129151
  /**
129090
129152
  * How many viewers have a chat of this computer open right now. At 0, and
@@ -129132,7 +129194,7 @@ var init_session_relay = __esm({
129132
129194
  });
129133
129195
 
129134
129196
  // ../shared/src/session-relay-link.ts
129135
- var RELAY_LINK_CODE_TTL_MS, RelayLinkComputerIdSchema, Sha256Base64urlSchema, NO_CONTROL, INVISIBLE, RelayLinkComputerNameSchema, RelayLinkRequestSchema, RelayLinkResponseSchema, HubComputerSummarySchema, HubComputerListSchema, HubLinkCodeSchema, SessionRelayLevelSchema, SessionRelayStatusSchema, StepUpPasswordSchema, SessionRelayLinkBodySchema, SessionRelayLevelBodySchema, SessionRelayResumeBodySchema, SessionRelayLinkRefusalSchema;
129197
+ var RELAY_LINK_CODE_TTL_MS, RelayLinkComputerIdSchema, Sha256Base64urlSchema, NO_CONTROL2, RelayLinkComputerNameSchema, RelayLinkRequestSchema, RelayLinkResponseSchema, HubComputerSummarySchema, HubComputerListSchema, HubLinkCodeSchema, SessionRelayLevelSchema, SessionRelayStatusSchema, StepUpPasswordSchema, SessionRelayLinkBodySchema, SessionRelayLevelBodySchema, SessionRelayResumeBodySchema, SessionRelayLinkRefusalSchema, SessionRelayDeviceSchema, SessionRelayPresenceSchema, SessionRelayDeviceListSchema;
129136
129198
  var init_session_relay_link = __esm({
129137
129199
  "../shared/src/session-relay-link.ts"() {
129138
129200
  init_zod();
@@ -129140,9 +129202,8 @@ var init_session_relay_link = __esm({
129140
129202
  RELAY_LINK_CODE_TTL_MS = 10 * 60 * 1e3;
129141
129203
  RelayLinkComputerIdSchema = external_exports.string().min(1).max(64).regex(/^[\w.:-]+$/);
129142
129204
  Sha256Base64urlSchema = external_exports.string().length(43).regex(/^[A-Za-z0-9_-]+$/);
129143
- NO_CONTROL = /^[^\u0000-\u001f\u007f]*$/;
129144
- INVISIBLE = /[\p{Cf}\u2028\u2029]/u;
129145
- RelayLinkComputerNameSchema = external_exports.string().min(1).max(64).regex(NO_CONTROL).refine((name2) => name2.trim() === name2, "no leading or trailing whitespace").refine((name2) => !INVISIBLE.test(name2), "no invisible characters");
129205
+ NO_CONTROL2 = /^[^\u0000-\u001f\u007f]*$/;
129206
+ RelayLinkComputerNameSchema = RelayDisplayNameSchema;
129146
129207
  RelayLinkRequestSchema = external_exports.strictObject({
129147
129208
  v: external_exports.literal(1),
129148
129209
  /** The code part of the link code, as the owner pasted it. */
@@ -129160,9 +129221,9 @@ var init_session_relay_link = __esm({
129160
129221
  /** The hub's Ed25519 public key, raw 32 bytes base64url. Pin this one. */
129161
129222
  hubKey: RelayPinnedHubKeySchema,
129162
129223
  /** The hub owner's account id at `issuer`. */
129163
- ownerAccountId: external_exports.string().min(1).max(128).regex(NO_CONTROL).optional(),
129224
+ ownerAccountId: external_exports.string().min(1).max(128).regex(NO_CONTROL2).optional(),
129164
129225
  /** The issuer that account id belongs to. */
129165
- issuer: external_exports.string().min(1).max(512).startsWith("https://").regex(NO_CONTROL).optional(),
129226
+ issuer: external_exports.string().min(1).max(512).startsWith("https://").regex(NO_CONTROL2).optional(),
129166
129227
  signature: RelaySignatureSchema
129167
129228
  });
129168
129229
  HubComputerSummarySchema = external_exports.object({
@@ -129233,6 +129294,23 @@ var init_session_relay_link = __esm({
129233
129294
  /** This computer is linked to a DorkOS account that could not be read just now. */
129234
129295
  "account-unreadable"
129235
129296
  ]);
129297
+ SessionRelayDeviceSchema = external_exports.object({
129298
+ label: external_exports.string(),
129299
+ /** When this computer first saw it (ISO 8601). */
129300
+ firstSeenAt: external_exports.string(),
129301
+ /** When it last asked this computer for something (ISO 8601). */
129302
+ lastSeenAt: external_exports.string()
129303
+ });
129304
+ SessionRelayPresenceSchema = external_exports.object({
129305
+ active: external_exports.boolean(),
129306
+ /** When it became active (ISO 8601); absent while not active. */
129307
+ since: external_exports.string().optional(),
129308
+ /** The browsers seen since then, most recent first; empty while not active. */
129309
+ devices: external_exports.array(SessionRelayDeviceSchema)
129310
+ });
129311
+ SessionRelayDeviceListSchema = external_exports.object({
129312
+ devices: external_exports.array(SessionRelayDeviceSchema)
129313
+ });
129236
129314
  }
129237
129315
  });
129238
129316
 
@@ -129247,6 +129325,7 @@ var init_session_gate = __esm({
129247
129325
  init_server_role();
129248
129326
  init_public_computer();
129249
129327
  init_session_relay_link();
129328
+ init_session_route();
129250
129329
  }
129251
129330
  });
129252
129331
 
@@ -129288,6 +129367,7 @@ var init_auth2 = __esm({
129288
129367
  init_server_role();
129289
129368
  init_seed_legacy_mcp_key();
129290
129369
  init_setup_code_gate();
129370
+ init_session_route();
129291
129371
  init_setup_code();
129292
129372
  init_cookie_security();
129293
129373
  init_session_gate();
@@ -129336,7 +129416,6 @@ function defuseSystemTags(text3, tagNames) {
129336
129416
  var IDENTITY_MAX_LENGTH, INVISIBLE_FORMAT, CONTROL_CHARS, PATTERN_CACHE;
129337
129417
  var init_untrusted_text = __esm({
129338
129418
  "../shared/src/untrusted-text.ts"() {
129339
- "use strict";
129340
129419
  IDENTITY_MAX_LENGTH = 80;
129341
129420
  INVISIBLE_FORMAT = /[\u00ad\u200b-\u200f\u202a-\u202e\u2060-\u2064\ufeff\ufff9-\ufffb]/g;
129342
129421
  CONTROL_CHARS = /[\u0000-\u001f\u007f-\u009f]/g;
@@ -129745,6 +129824,9 @@ var init_config_disclosure = __esm({
129745
129824
  // work runs on this machine, names no credential and no person, and an agent
129746
129825
  // that can see it can say why a session behaves the way it does.
129747
129826
  "runtimes.claudeCode.persistentSession": "expose",
129827
+ // How many agents may run at once here (DOR-3012). A number about this
129828
+ // machine, naming no credential and no person.
129829
+ "runtimes.claudeCode.maxWarmProcesses": "expose",
129748
129830
  "runtimes.opencode.defaultModel": "expose",
129749
129831
  "runtimes.codex.defaultModel": "expose",
129750
129832
  "runtimes.codex.defaultEffort": "expose",
@@ -130502,6 +130584,9 @@ var init_config_write_policy = __esm({
130502
130584
  // what makes the verdict cheap: refusing the agent takes nothing away from the
130503
130585
  // person, who was never going to reach for a config door to begin with.
130504
130586
  "runtimes.claudeCode.persistentSession": "operator-only",
130587
+ // How many agents may run at once (DOR-3012): memory on this machine, so the
130588
+ // person sets it, like `scheduler.maxConcurrentRuns`.
130589
+ "runtimes.claudeCode.maxWarmProcesses": "operator-only",
130505
130590
  "runtimes.opencode.defaultModel": "agent-writable",
130506
130591
  "runtimes.codex.defaultModel": "agent-writable",
130507
130592
  "runtimes.codex.defaultEffort": "agent-writable",
@@ -130808,6 +130893,9 @@ var init_config_write_policy = __esm({
130808
130893
  // and the wipe floor says an agent may not widen it back (DOR-1505).
130809
130894
  "uploads.allowedTypes",
130810
130895
  "runtimes.claudeCode.persistentSession",
130896
+ // How many agents may run at once: a person who lowered it to save memory
130897
+ // must not have an agent raise it back (DOR-3012).
130898
+ "runtimes.claudeCode.maxWarmProcesses",
130811
130899
  "scheduler.maxConcurrentRuns",
130812
130900
  // Whether the computer stays awake for the work, and whether it is woken
130813
130901
  // for it: battery, and whether the machine is on while nobody is there.
@@ -131193,21 +131281,45 @@ var init_constants9 = __esm({
131193
131281
  */
131194
131282
  WARM_IDLE_MS: 5 * 60 * 1e3,
131195
131283
  /**
131196
- * How many sessions may hold a subprocess at once (spec §4.4).
131284
+ * The fewest sessions that may hold a subprocess at once when the ceiling is
131285
+ * sized automatically (spec §4.4; DOR-3012).
131197
131286
  *
131198
- * This counts PROCESSES; `MAX_SESSIONS` (50) counts session RECORDS, and the
131199
- * two are deliberately different numbers. Fifty concurrent CLI subprocesses
131200
- * plus their MCP children on a laptop is not a shape to ship, so warmth stops
131201
- * at twelve while records stay at fifty — which keeps `ensureSession`'s throw
131202
- * the genuinely exceptional path it is today.
131287
+ * The ceiling counts PROCESSES; `MAX_SESSIONS` (50) counts session RECORDS,
131288
+ * and the two are deliberately different numbers. It is set by
131289
+ * `runtimes.claudeCode.maxWarmProcesses`, and left unset it is sized to the
131290
+ * machine: one process per {@link SESSIONS.WARM_SESSION_RAM_GB} of memory,
131291
+ * never fewer than this and never more than
131292
+ * {@link SESSIONS.MAX_WARM_SESSIONS_AUTO}. Twelve was the fixed ceiling until
131293
+ * DOR-3012, and a machine with 48 GB filled it with 5.5 GB in use.
131203
131294
  *
131204
- * It is also **not** a refusal ceiling in the way `MAX_SESSIONS` is. Warmth is
131205
- * a cache, so the thirteenth warm session does not fail: the least recently
131206
- * used warm process is reaped to make room for it, and only a host where
131207
- * nothing is reclaimable — every process mid-turn or parked on a person — is
131208
- * refused.
131295
+ * It is **not** a refusal ceiling in the way `MAX_SESSIONS` is. Warmth is a
131296
+ * cache, so a launch past it reclaims the least recently used warm process,
131297
+ * and when nothing is reclaimable — every process mid-turn or parked on a
131298
+ * person — it waits for one to come free ({@link SESSIONS.WARM_SLOT_WAIT_MS}).
131299
+ */
131300
+ MIN_WARM_SESSIONS: 12,
131301
+ /** The most an automatically sized warm ceiling allows; see {@link SESSIONS.MIN_WARM_SESSIONS}. */
131302
+ MAX_WARM_SESSIONS_AUTO: 32,
131303
+ /**
131304
+ * Memory an automatically sized ceiling budgets per warm process, in GB. A
131305
+ * busy claude-code process measured about 0.5 GB on 2026-10-18; four times
131306
+ * that leaves room for its MCP children and for everything else on the
131307
+ * machine.
131209
131308
  */
131210
- MAX_WARM_SESSIONS: 12,
131309
+ WARM_SESSION_RAM_GB: 2,
131310
+ /**
131311
+ * How long a turn waits for a warm slot when every process is busy, before it
131312
+ * is refused in plain words (DOR-3012).
131313
+ *
131314
+ * Long on purpose: a full ceiling is the busiest moment a room has, and a
131315
+ * late answer beats a failed one. Every busy process frees its slot when its
131316
+ * turn ends, so a wait this long means every agent sat on one turn for most
131317
+ * of an hour. Kept under the room's default late-reply ceiling (60 min) so the
131318
+ * room hears the reason rather than giving up first. The turn says it is
131319
+ * waiting on a beat (`SLOT_WAIT_BEAT_MS`), which keeps the stall guard from
131320
+ * mistaking the wait for a stalled turn.
131321
+ */
131322
+ WARM_SLOT_WAIT_MS: 45 * 60 * 1e3,
131211
131323
  /**
131212
131324
  * How long a warm process must be CONTINUOUSLY quiet before its busy spell is
131213
131325
  * over (spec `warm-process-lifecycle` D1).
@@ -131229,7 +131341,7 @@ var init_constants9 = __esm({
131229
131341
  * The same four hours, and the same reasoning, as
131230
131342
  * {@link SESSIONS.INTERACTION_PARK_CEILING_MS}: a hold with no bound is a
131231
131343
  * resource leak with a story attached, and twelve processes pinned by helpers
131232
- * that will never finish fill `MAX_WARM_SESSIONS` exactly as twelve parked
131344
+ * that will never finish fill the warm ceiling exactly as a ceiling's worth of parked
131233
131345
  * ones do. Deliberately a SEPARATE constant from the person-wait ceiling even
131234
131346
  * though both are four hours: one bounds how long DorkOS waits for a person,
131235
131347
  * the other how long it waits for an agent, and a future change to either
@@ -151626,6 +151738,7 @@ function writeGlobalSharing(harnesses, reason, now3 = /* @__PURE__ */ new Date()
151626
151738
  var NOTHING_SHARED;
151627
151739
  var init_global_scope = __esm({
151628
151740
  "../../apps/server/src/services/harness/global-scope.ts"() {
151741
+ "use strict";
151629
151742
  init_src5();
151630
151743
  init_config_schema();
151631
151744
  init_boundary();
@@ -170597,6 +170710,7 @@ var init_connection_copy = __esm({
170597
170710
  var CONNECTOR_OPERATION_SELECTION_LIMIT, CONNECTOR_AUTHENTICATION_FLOW_TTL_MS, CONNECTOR_EVENT_REVIEW_SCOPE_LIMIT, ConnectorJsonValueSchema, ConnectorJsonObjectSchema, ConnectorProviderInstanceIdSchema, ConnectionIdSchema, ConnectorExternalAccountRefSchema, ConnectorProviderModeSchema, ConnectorProviderHealthSchema, ConnectorGrantReconciliationStatusSchema, ConnectorOperationClassificationSchema, ConnectorAccessLevelSchema, ConnectorRetryPolicySchema, ConnectorOperationRevisionSchema, ConnectorOperationPageSchema, ConnectorCapabilityAvailabilitySchema, ConnectorUnsupportedResultSchema, ConnectorProviderCapabilitySetSchema, ConnectorToolkitVersionResultSchema, ConnectorProviderExecuteResultSchema, ConnectorAuthenticationFlowSchema, ConnectorExecutionTargetSchema, ConnectorProgramExecutionRequestSchema, ConnectorExecutionPublicResultSchema, ConnectorExecutionResponseSchema, ConnectionReadinessStateSchema, ConnectionReadinessReasonSchema, ConnectionFixActionSchema, ConnectionFixSchema, ConnectionReadinessSchema, AccessibleConnectorConnectionSchema, AccessibleConnectorOperationSchema, ConnectorAccessibleConnectionsResponseSchema, ConnectorAccessibleOperationsResponseSchema, ConnectorUsageItemSchema, ConnectorUsagePageSchema, ConnectorReconciliationPreviewRequestSchema, ConnectorReconciliationGrantSelectionSchema, ConnectorReconciliationEveryAgentSelectionSchema, ConnectorReconciliationEveryAgentStateSchema, ConnectorEveryAgentRevokeResponseSchema, ConnectorReconciliationAgentSchema, ConnectorReconciliationCandidateSchema, ConnectorReconciliationPreviewSchema, ConnectorReconciliationApplyRequestSchema, ConnectorReconciliationApplyResponseSchema, ReviewActionBaseSchema, ConnectionTargetSchema, ConnectorRequestAccessSchema, ConnectorReviewActionSchema, ConnectorAgentConnectionRequestInputSchema, ConnectorAgentRequestBaseSchema, ConnectorRequestNotGrantedSchema, ConnectorAgentRequestStatusSchema, ConnectorAgentRequestItemSchema, ConnectorAgentRequestListResponseSchema, ConnectorManagementConnectActionSchema, ConnectorManagementAppliedActionSchema, ConnectorManagementReviewActionSchema, ConnectorManagementReviewCreateRequestSchema, ConnectorManagementReviewOutcomeSchema, ConnectorManagementReviewOperationContextSchema, ConnectorManagementReviewConnectionContextSchema, ConnectorManagementReviewAgentContextSchema, ConnectorManagementReviewContextSchema, ManagementReviewItemBaseShape, ConnectorPendingManagementReviewItemSchema, ConnectorResolvingManagementReviewItemSchema, ConnectorExpiredManagementReviewItemSchema, ConnectorDeniedManagementReviewItemSchema, ConnectorApprovedAppliedManagementReviewItemSchema, ConnectorApprovedConnectManagementReviewItemSchema, ConnectorApprovedUnknownManagementReviewItemSchema, ConnectorManagementReviewItemSchema, ProgramReviewStatusBaseShape, ConnectorProgramReviewStatusSchema, ConnectorManagementReviewDecisionSchema, ConnectorManagementReviewDecisionResultSchema;
170598
170711
  var init_connector_schemas = __esm({
170599
170712
  "../connector-providers/src/connector-schemas.ts"() {
170713
+ "use strict";
170600
170714
  init_zod();
170601
170715
  init_connection_copy();
170602
170716
  CONNECTOR_OPERATION_SELECTION_LIMIT = 1e5;
@@ -176722,7 +176836,7 @@ if (process.argv[2] === "community") {
176722
176836
  );
176723
176837
  Object.assign(childEnv, credentialEnv.pickCommunityCredentialEnv(rawProcessEnv));
176724
176838
  const exitCode = await dispatcher.runCommunityDispatcher(process.argv.slice(3), {
176725
- cliVersion: "0.122.0",
176839
+ cliVersion: "0.123.0",
176726
176840
  dorkHome: DORK_HOME,
176727
176841
  processEnv: childEnv,
176728
176842
  parseRelease: (bytes) => releaseContract.parseCompatibleCommunityReleaseManifest(
@@ -176740,7 +176854,7 @@ if (process.argv[2] === "community") {
176740
176854
  process.exit(1);
176741
176855
  }
176742
176856
  }
176743
- var cliErrorReporter = initCliErrorReporting({ dorkHome: DORK_HOME, version: "0.122.0" });
176857
+ var cliErrorReporter = initCliErrorReporting({ dorkHome: DORK_HOME, version: "0.123.0" });
176744
176858
  var uninstallCliErrorHandlers = cliErrorReporter ? installCliErrorHandlers(cliErrorReporter) : void 0;
176745
176859
  if (process.argv[2] === "doctor") {
176746
176860
  process.env.DORK_HOME = DORK_HOME;
@@ -176750,7 +176864,7 @@ if (process.argv[2] === "doctor") {
176750
176864
  if (process.argv[2] === "feedback") {
176751
176865
  process.env.DORK_HOME = DORK_HOME;
176752
176866
  const { runFeedback: runFeedback2 } = await Promise.resolve().then(() => (init_feedback2(), feedback_exports));
176753
- process.exit(await runFeedback2(DORK_HOME, "0.122.0", process.argv.slice(3)));
176867
+ process.exit(await runFeedback2(DORK_HOME, "0.123.0", process.argv.slice(3)));
176754
176868
  }
176755
176869
  if (process.argv[2] === "auth") {
176756
176870
  process.env.DORK_HOME = DORK_HOME;
@@ -176849,7 +176963,7 @@ if (process.argv[2] === "agent" || process.argv[2] === "task" || process.argv[2]
176849
176963
  }
176850
176964
  }
176851
176965
  const { runVersionDispatcher: runVersionDispatcher2 } = await Promise.resolve().then(() => (init_version5(), version_exports));
176852
- process.exit(await runVersionDispatcher2("0.122.0", DORK_HOME, subArgs));
176966
+ process.exit(await runVersionDispatcher2("0.123.0", DORK_HOME, subArgs));
176853
176967
  }
176854
176968
  var { values, positionals } = parseCliArgs();
176855
176969
  if (positionals[0] && !knownCommands.has(positionals[0])) {
@@ -176943,14 +177057,14 @@ Examples:
176943
177057
  process.exit(0);
176944
177058
  }
176945
177059
  if (values.version) {
176946
- console.log("0.122.0");
177060
+ console.log("0.123.0");
176947
177061
  process.exit(0);
176948
177062
  }
176949
177063
  if (values["post-install-check"]) {
176950
177064
  const claudeFound = checkClaude();
176951
177065
  const coreExtensionsFound = checkCoreExtensions();
176952
177066
  const extensionsCompile = await checkExtensionCompilation();
176953
- console.log(`dorkos ${"0.122.0"}`);
177067
+ console.log(`dorkos ${"0.123.0"}`);
176954
177068
  if (!coreExtensionsFound) {
176955
177069
  console.log("Installation incomplete \u2014 bundled core extensions are missing.");
176956
177070
  }
@@ -177098,7 +177212,7 @@ if (fs39.existsSync(envPath)) {
177098
177212
  }
177099
177213
  uninstallCliErrorHandlers?.();
177100
177214
  process.env.DORKOS_CLI_ENTRYPOINT = fileURLToPath7(import.meta.url);
177101
- process.env.DORKOS_CLI_VERSION = "0.122.0";
177215
+ process.env.DORKOS_CLI_VERSION = "0.123.0";
177102
177216
  var server;
177103
177217
  try {
177104
177218
  server = await import("../server/index.js");
@@ -177123,7 +177237,7 @@ var ansiReset = "\x1B[0m";
177123
177237
  console.log("");
177124
177238
  console.log(`${purple}${logo}${ansiReset}`);
177125
177239
  console.log("");
177126
- console.log(` DorkOS v${"0.122.0"}`);
177240
+ console.log(` DorkOS v${"0.123.0"}`);
177127
177241
  console.log(` Local: ${link(localUrl, localUrl)}`);
177128
177242
  var nets = networkInterfaces();
177129
177243
  var networkUrl = null;
@@ -177149,9 +177263,9 @@ if (shouldOpenBrowser && process.stdin.isTTY) {
177149
177263
  const openCmd = process.platform === "darwin" ? "open" : process.platform === "win32" ? "start" : "xdg-open";
177150
177264
  exec(`${openCmd} ${localUrl}`);
177151
177265
  }
177152
- checkForUpdate("0.122.0").then((latestVersion) => {
177266
+ checkForUpdate("0.123.0").then((latestVersion) => {
177153
177267
  if (latestVersion) {
177154
- const msg = `Update available: ${"0.122.0"} \u2192 ${latestVersion}`;
177268
+ const msg = `Update available: ${"0.123.0"} \u2192 ${latestVersion}`;
177155
177269
  const cmd = "Run npm install -g dorkos@latest to update";
177156
177270
  const width = Math.max(msg.length, cmd.length) + 6;
177157
177271
  const pad2 = (s2) => `\u2502 ${s2}${" ".repeat(width - s2.length - 6)} \u2502`;
@@ -1 +1 @@
1
- {"version":1,"controllerSHA256":"fffcb86512aeca5e40caa8b1eaa8b2962d6304ba42044c02ad477e4b396b9385","nativeManifestSHA256":"19fb0607902e9c30bc693f3a8f7e80601f6ccfd090ffa412a5a38614e6eb7c00","platform":"darwin","arch":"arm64","availability":"available","workers":[{"name":"darwin-journal-worker.mjs","sha256":"739958b3515b48dda8cf40366aa6e34cf65366662c96dba1c951f38bc2f97603","bytes":88486},{"name":"darwin-supervisor-worker.mjs","sha256":"83b9b1e6d8969f5f909b43ebcf2d3ae6830601908bd2e4e4b2747d9ee7e55b77","bytes":74686}]}
1
+ {"version":1,"controllerSHA256":"9319124b611319ba2df2f8912d1d1f653b5368925332e74e0001e1b04ab36f3d","nativeManifestSHA256":"19fb0607902e9c30bc693f3a8f7e80601f6ccfd090ffa412a5a38614e6eb7c00","platform":"darwin","arch":"arm64","availability":"available","workers":[{"name":"darwin-journal-worker.mjs","sha256":"739958b3515b48dda8cf40366aa6e34cf65366662c96dba1c951f38bc2f97603","bytes":88486},{"name":"darwin-supervisor-worker.mjs","sha256":"83b9b1e6d8969f5f909b43ebcf2d3ae6830601908bd2e4e4b2747d9ee7e55b77","bytes":74686}]}
@@ -1 +1 @@
1
- {"schemaVersion":1,"controllerSHA256":"fffcb86512aeca5e40caa8b1eaa8b2962d6304ba42044c02ad477e4b396b9385","verifierSHA256":"5cb8f248a264a0602757ad2c0971c1b1e84bcf3185a2b8d706230d2cfac0703c"}
1
+ {"schemaVersion":1,"controllerSHA256":"9319124b611319ba2df2f8912d1d1f653b5368925332e74e0001e1b04ab36f3d","verifierSHA256":"5cb8f248a264a0602757ad2c0971c1b1e84bcf3185a2b8d706230d2cfac0703c"}
@@ -1 +1 @@
1
- import{b as N,d as v,j as e,e as w,r as d,X as C,I as k,B as D,f as S}from"./index-DBdO-_iL.js";function j({children:i}){return e.jsx("div",{className:"text-muted-foreground text-3xs font-medium tracking-wider uppercase",children:i})}function A({agent:i,onUpdate:t}){const[a,l]=d.useState(!1),[o,u]=d.useState(""),n=i.capabilities??[];function c(){const s=o.trim();s&&!n.includes(s)&&t({capabilities:[...n,s]}),u(""),l(!1)}return e.jsxs("div",{className:"space-y-1",children:[e.jsx(j,{children:"Capabilities"}),e.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[n.map(s=>e.jsxs("span",{className:"bg-accent text-accent-foreground inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-xs",children:[s,e.jsx("button",{type:"button",onClick:()=>t({capabilities:n.filter(p=>p!==s)}),className:"hover:text-destructive transition-colors","aria-label":`Remove capability ${s}`,children:e.jsx(C,{"aria-hidden":!0,className:"size-3"})})]},s)),a?e.jsx(k,{autoFocus:!0,value:o,onChange:s=>u(s.target.value),onBlur:c,onKeyDown:s=>{s.key==="Enter"&&c(),s.key==="Escape"&&l(!1)},className:"h-6 w-28 text-xs",placeholder:"Capability name","aria-label":"New capability"}):e.jsxs(D,{type:"button",variant:"ghost",size:"sm",onClick:()=>l(!0),className:"text-muted-foreground hover:text-foreground h-auto gap-0.5 px-1 py-0 text-xs",children:[e.jsx(S,{"aria-hidden":!0,className:"size-3"})," Add"]})]})]})}function b({label:i,value:t,placeholder:a,multiline:l,testId:o,onCommit:u}){const[n,c]=d.useState(t),[s,p]=d.useState(t),[m,f]=d.useState(null);s!==t&&(p(t),c(t));function x(){const r=n.trim();if(r===t.trim())return;const g=u(r);if(typeof g!="string")return f(null);c(t),f(g)}const h="border-input bg-background placeholder:text-muted-foreground focus-visible:ring-ring w-full rounded-md border px-3 py-2 text-sm focus-visible:ring-2 focus-visible:outline-none",y=m?e.jsx("p",{role:"status",className:"text-destructive text-xs",children:m}):null;return e.jsxs("div",{className:"space-y-1",children:[e.jsx(j,{children:i}),l?e.jsx("textarea",{value:n,rows:4,"data-testid":o,"aria-label":i,placeholder:a,onChange:r=>{f(null),c(r.target.value)},onBlur:x,onKeyDown:r=>{r.key==="Enter"&&!r.shiftKey&&(r.preventDefault(),x())},className:h}):e.jsx("input",{value:n,"data-testid":o,"aria-label":i,placeholder:a,onChange:r=>{f(null),c(r.target.value)},onBlur:x,onKeyDown:r=>{r.key==="Enter"&&x()},className:h}),y]})}function R({member:i,roster:t}){const{agent:a,isPending:l,update:o}=N(i),u=v(i,t)==="managed";return l?e.jsx(w,{className:"h-16 w-full"}):!u||!a?e.jsx(E,{member:i,agent:a}):e.jsxs("div",{className:"flex flex-col gap-4","data-slot":"profile-about",children:[e.jsx(b,{label:"Name",value:a.displayName??a.name,placeholder:"What you call this agent",testId:"agent-name-field",onCommit:n=>{if(!n)return"A name can’t be empty, so the old one was kept.";o({displayName:n})}}),e.jsx(b,{multiline:!0,label:"Description",value:a.description??"",placeholder:"What is this agent for?",testId:"agent-description-field",onCommit:n=>o({description:n})}),e.jsx(A,{agent:a,onUpdate:o})]})}function E({member:i,agent:t}){var l;const a=(l=t==null?void 0:t.description)==null?void 0:l.trim();return a?e.jsx("p",{className:"text-sm leading-relaxed whitespace-pre-wrap",children:a}):e.jsxs("p",{className:"text-muted-foreground text-sm",children:[i.displayName," has no description yet."]})}export{R as AboutPage};
1
+ import{b as N,d as v,j as e,e as w,r as d,X as C,I as k,B as D,f as S}from"./index-8-iQ6PnT.js";function j({children:i}){return e.jsx("div",{className:"text-muted-foreground text-3xs font-medium tracking-wider uppercase",children:i})}function A({agent:i,onUpdate:t}){const[a,l]=d.useState(!1),[o,u]=d.useState(""),n=i.capabilities??[];function c(){const s=o.trim();s&&!n.includes(s)&&t({capabilities:[...n,s]}),u(""),l(!1)}return e.jsxs("div",{className:"space-y-1",children:[e.jsx(j,{children:"Capabilities"}),e.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[n.map(s=>e.jsxs("span",{className:"bg-accent text-accent-foreground inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-xs",children:[s,e.jsx("button",{type:"button",onClick:()=>t({capabilities:n.filter(p=>p!==s)}),className:"hover:text-destructive transition-colors","aria-label":`Remove capability ${s}`,children:e.jsx(C,{"aria-hidden":!0,className:"size-3"})})]},s)),a?e.jsx(k,{autoFocus:!0,value:o,onChange:s=>u(s.target.value),onBlur:c,onKeyDown:s=>{s.key==="Enter"&&c(),s.key==="Escape"&&l(!1)},className:"h-6 w-28 text-xs",placeholder:"Capability name","aria-label":"New capability"}):e.jsxs(D,{type:"button",variant:"ghost",size:"sm",onClick:()=>l(!0),className:"text-muted-foreground hover:text-foreground h-auto gap-0.5 px-1 py-0 text-xs",children:[e.jsx(S,{"aria-hidden":!0,className:"size-3"})," Add"]})]})]})}function b({label:i,value:t,placeholder:a,multiline:l,testId:o,onCommit:u}){const[n,c]=d.useState(t),[s,p]=d.useState(t),[m,f]=d.useState(null);s!==t&&(p(t),c(t));function x(){const r=n.trim();if(r===t.trim())return;const g=u(r);if(typeof g!="string")return f(null);c(t),f(g)}const h="border-input bg-background placeholder:text-muted-foreground focus-visible:ring-ring w-full rounded-md border px-3 py-2 text-sm focus-visible:ring-2 focus-visible:outline-none",y=m?e.jsx("p",{role:"status",className:"text-destructive text-xs",children:m}):null;return e.jsxs("div",{className:"space-y-1",children:[e.jsx(j,{children:i}),l?e.jsx("textarea",{value:n,rows:4,"data-testid":o,"aria-label":i,placeholder:a,onChange:r=>{f(null),c(r.target.value)},onBlur:x,onKeyDown:r=>{r.key==="Enter"&&!r.shiftKey&&(r.preventDefault(),x())},className:h}):e.jsx("input",{value:n,"data-testid":o,"aria-label":i,placeholder:a,onChange:r=>{f(null),c(r.target.value)},onBlur:x,onKeyDown:r=>{r.key==="Enter"&&x()},className:h}),y]})}function R({member:i,roster:t}){const{agent:a,isPending:l,update:o}=N(i),u=v(i,t)==="managed";return l?e.jsx(w,{className:"h-16 w-full"}):!u||!a?e.jsx(E,{member:i,agent:a}):e.jsxs("div",{className:"flex flex-col gap-4","data-slot":"profile-about",children:[e.jsx(b,{label:"Name",value:a.displayName??a.name,placeholder:"What you call this agent",testId:"agent-name-field",onCommit:n=>{if(!n)return"A name can’t be empty, so the old one was kept.";o({displayName:n})}}),e.jsx(b,{multiline:!0,label:"Description",value:a.description??"",placeholder:"What is this agent for?",testId:"agent-description-field",onCommit:n=>o({description:n})}),e.jsx(A,{agent:a,onUpdate:o})]})}function E({member:i,agent:t}){var l;const a=(l=t==null?void 0:t.description)==null?void 0:l.trim();return a?e.jsx("p",{className:"text-sm leading-relaxed whitespace-pre-wrap",children:a}):e.jsxs("p",{className:"text-muted-foreground text-sm",children:[i.displayName," has no description yet."]})}export{R as AboutPage};
@@ -1 +1 @@
1
- import{ep as x,a1 as o,av as u,eq as f,j as a,G as c,a0 as p,B as y}from"./index-DBdO-_iL.js";const g=["Today","Yesterday","This week","Earlier"];function A(e,s){const t=new Map;for(const r of e){const n=h(new Date(r.occurredAt),s),i=t.get(n)??[];i.push(r),t.set(n,i)}return g.filter(r=>t.has(r)).map(r=>({label:r,items:t.get(r)}))}function h(e,s){const t=new Date(s);t.setHours(0,0,0,0);const r=new Date(t);r.setDate(r.getDate()-1);const n=new Date(t);return n.setDate(n.getDate()-n.getDay()),e>=t?"Today":e>=r?"Yesterday":e>=n?"This week":"Earlier"}const T={person:"user",external:"user",agent:"agent",system:"system"};function k(e){return e.source.sessionId?x({session:e.source.sessionId}):null}function v(e){return{id:e.id,occurredAt:e.at,actorType:T[e.actor.kind],actorLabel:e.actor.name,summary:e.summary,linkPath:k(e)}}const d=["audit"],l=50;function m(e){return e.pages.flatMap(s=>s.events.map(v))}function E(e={}){const s=o();return u({queryKey:[...d,"list",e],queryFn:({pageParam:t})=>s.listAuditEvents({...e,limit:l,beforeSeq:t}),initialPageParam:void 0,getNextPageParam:t=>t.nextBeforeSeq,select:m,staleTime:3e4,refetchOnWindowFocus:!0})}function P(e){const s=o();return u({queryKey:[...d,"timeline",e],queryFn:e===null?f:({pageParam:t})=>s.getAccountTimeline(e,{limit:l,beforeSeq:t}),initialPageParam:void 0,getNextPageParam:t=>t.nextBeforeSeq,select:m,staleTime:3e4,refetchOnWindowFocus:!0})}function j({label:e,className:s}){return a.jsx("div",{"data-slot":"activity-group-header",className:c("sticky top-0 z-10 -mx-4 px-4 py-2 sm:-mx-6 sm:px-6","bg-background/95 backdrop-blur-sm",s),children:a.jsx("h3",{className:"text-muted-foreground text-xs font-medium tracking-wider uppercase",children:e})})}function D({onRetry:e,className:s}){return a.jsxs("div",{"data-slot":"activity-error-state",className:c("flex flex-col items-center justify-center gap-3 py-16 text-center",s),children:[a.jsx("div",{className:"bg-destructive/10 rounded-xl p-3",children:a.jsx(p,{className:"text-destructive size-6","aria-hidden":"true"})}),a.jsxs("div",{className:"space-y-1",children:[a.jsx("p",{className:"text-foreground text-sm font-medium",children:"Couldn’t load your activity"}),a.jsx("p",{className:"text-muted-foreground max-w-xs text-xs",children:"The DorkOS server didn’t answer. Check that it’s running."})]}),a.jsx(y,{variant:"outline",size:"sm",onClick:e,children:"Retry"})]})}export{D as A,j as a,E as b,A as g,P as u};
1
+ import{ep as x,a1 as o,av as u,eq as f,j as a,G as c,a0 as p,B as y}from"./index-8-iQ6PnT.js";const g=["Today","Yesterday","This week","Earlier"];function A(e,s){const t=new Map;for(const r of e){const n=h(new Date(r.occurredAt),s),i=t.get(n)??[];i.push(r),t.set(n,i)}return g.filter(r=>t.has(r)).map(r=>({label:r,items:t.get(r)}))}function h(e,s){const t=new Date(s);t.setHours(0,0,0,0);const r=new Date(t);r.setDate(r.getDate()-1);const n=new Date(t);return n.setDate(n.getDate()-n.getDay()),e>=t?"Today":e>=r?"Yesterday":e>=n?"This week":"Earlier"}const T={person:"user",external:"user",agent:"agent",system:"system"};function k(e){return e.source.sessionId?x({session:e.source.sessionId}):null}function v(e){return{id:e.id,occurredAt:e.at,actorType:T[e.actor.kind],actorLabel:e.actor.name,summary:e.summary,linkPath:k(e)}}const d=["audit"],l=50;function m(e){return e.pages.flatMap(s=>s.events.map(v))}function E(e={}){const s=o();return u({queryKey:[...d,"list",e],queryFn:({pageParam:t})=>s.listAuditEvents({...e,limit:l,beforeSeq:t}),initialPageParam:void 0,getNextPageParam:t=>t.nextBeforeSeq,select:m,staleTime:3e4,refetchOnWindowFocus:!0})}function P(e){const s=o();return u({queryKey:[...d,"timeline",e],queryFn:e===null?f:({pageParam:t})=>s.getAccountTimeline(e,{limit:l,beforeSeq:t}),initialPageParam:void 0,getNextPageParam:t=>t.nextBeforeSeq,select:m,staleTime:3e4,refetchOnWindowFocus:!0})}function j({label:e,className:s}){return a.jsx("div",{"data-slot":"activity-group-header",className:c("sticky top-0 z-10 -mx-4 px-4 py-2 sm:-mx-6 sm:px-6","bg-background/95 backdrop-blur-sm",s),children:a.jsx("h3",{className:"text-muted-foreground text-xs font-medium tracking-wider uppercase",children:e})})}function D({onRetry:e,className:s}){return a.jsxs("div",{"data-slot":"activity-error-state",className:c("flex flex-col items-center justify-center gap-3 py-16 text-center",s),children:[a.jsx("div",{className:"bg-destructive/10 rounded-xl p-3",children:a.jsx(p,{className:"text-destructive size-6","aria-hidden":"true"})}),a.jsxs("div",{className:"space-y-1",children:[a.jsx("p",{className:"text-foreground text-sm font-medium",children:"Couldn’t load your activity"}),a.jsx("p",{className:"text-muted-foreground max-w-xs text-xs",children:"The DorkOS server didn’t answer. Check that it’s running."})]}),a.jsx(y,{variant:"outline",size:"sm",onClick:e,children:"Retry"})]})}export{D as A,j as a,E as b,A as g,P as u};
@@ -1 +1 @@
1
- import{r as c,j as e,e as d,A as u,B as j,x as v}from"./index-DBdO-_iL.js";import{E as g}from"./empty-state-BsA3jcrO.js";import{T as N,a as A}from"./table-BjHA85BX.js";import{u as b,g as w,A as E,a as T}from"./ActivityErrorState-B2lq1pyE.js";import{A as B}from"./ActivityRow-BqV0B1T0.js";function I({member:i}){var n;const r=((n=i.agent)==null?void 0:n.manifestId)??null,{data:l,isLoading:x,isError:m,refetch:p,isFetchingNextPage:o,hasNextPage:h,fetchNextPage:f}=b(r),s=c.useMemo(()=>l??[],[l]),y=c.useMemo(()=>w(s,new Date),[s]);return r===null?e.jsx("div",{className:"min-h-0 flex-1 px-4 py-3","data-slot":"profile-activity",children:e.jsx("p",{className:"text-muted-foreground text-xs",children:"Activity is kept per agent."})}):x?e.jsxs("div",{className:"min-h-0 flex-1 space-y-2 px-4 py-3","data-slot":"profile-activity","aria-busy":"true",children:[e.jsx(d,{className:"h-3 w-16"}),Array.from({length:5}).map((t,a)=>e.jsx(d,{className:"h-4 w-full"},a))]}):m&&s.length===0?e.jsx("div",{className:"min-h-0 flex-1 px-2","data-slot":"profile-activity",children:e.jsx(E,{onRetry:()=>void p()})}):s.length===0?e.jsx("div",{className:"min-h-0 flex-1 px-4 py-8","data-slot":"profile-activity",children:e.jsx(g,{icon:u,headline:"Nothing on record yet",description:`What ${i.displayName} does shows up here.`})}):e.jsxs("div",{className:"min-h-0 flex-1 px-2 py-2","data-slot":"profile-activity",children:[y.map(t=>e.jsxs("section",{children:[e.jsx(T,{label:t.label}),e.jsx(N,{children:e.jsx(A,{children:t.items.map(a=>e.jsx(B,{item:a,compact:!0},a.id))})})]},t.label)),h&&e.jsx("div",{className:"flex justify-center py-3",children:e.jsxs(j,{variant:"outline",size:"sm",onClick:()=>void f(),disabled:o,className:"gap-2",children:[o&&e.jsx(v,{size:"xs"}),"Load 50 more"]})})]})}export{I as ActivityPage};
1
+ import{r as c,j as e,e as d,A as u,B as j,x as v}from"./index-8-iQ6PnT.js";import{E as g}from"./empty-state-kISAAp0z.js";import{T as N,a as A}from"./table-DvU_oS4E.js";import{u as b,g as w,A as E,a as T}from"./ActivityErrorState-CEzdFJiR.js";import{A as B}from"./ActivityRow-Bkc0kkim.js";function I({member:i}){var n;const r=((n=i.agent)==null?void 0:n.manifestId)??null,{data:l,isLoading:x,isError:m,refetch:p,isFetchingNextPage:o,hasNextPage:h,fetchNextPage:f}=b(r),s=c.useMemo(()=>l??[],[l]),y=c.useMemo(()=>w(s,new Date),[s]);return r===null?e.jsx("div",{className:"min-h-0 flex-1 px-4 py-3","data-slot":"profile-activity",children:e.jsx("p",{className:"text-muted-foreground text-xs",children:"Activity is kept per agent."})}):x?e.jsxs("div",{className:"min-h-0 flex-1 space-y-2 px-4 py-3","data-slot":"profile-activity","aria-busy":"true",children:[e.jsx(d,{className:"h-3 w-16"}),Array.from({length:5}).map((t,a)=>e.jsx(d,{className:"h-4 w-full"},a))]}):m&&s.length===0?e.jsx("div",{className:"min-h-0 flex-1 px-2","data-slot":"profile-activity",children:e.jsx(E,{onRetry:()=>void p()})}):s.length===0?e.jsx("div",{className:"min-h-0 flex-1 px-4 py-8","data-slot":"profile-activity",children:e.jsx(g,{icon:u,headline:"Nothing on record yet",description:`What ${i.displayName} does shows up here.`})}):e.jsxs("div",{className:"min-h-0 flex-1 px-2 py-2","data-slot":"profile-activity",children:[y.map(t=>e.jsxs("section",{children:[e.jsx(T,{label:t.label}),e.jsx(N,{children:e.jsx(A,{children:t.items.map(a=>e.jsx(B,{item:a,compact:!0},a.id))})})]},t.label)),h&&e.jsx("div",{className:"flex justify-center py-3",children:e.jsxs(j,{variant:"outline",size:"sm",onClick:()=>void f(),disabled:o,className:"gap-2",children:[o&&e.jsx(v,{size:"xs"}),"Load 50 more"]})})]})}export{I as ActivityPage};
@@ -1 +1 @@
1
- import{b7 as d,d3 as x,j as e,_ as u,G as l,c4 as m,d4 as g,B as h}from"./index-DBdO-_iL.js";import{b as f,c}from"./table-BjHA85BX.js";const k={tasks:{text:"text-purple-500",bg:"bg-purple-500/10",label:"Schedules"},relay:{text:"text-teal-500",bg:"bg-teal-500/10",label:"Messages"},agent:{text:"text-indigo-500",bg:"bg-indigo-500/10",label:"Agent"},config:{text:"text-amber-500",bg:"bg-amber-500/10",label:"Settings"},system:{text:"text-neutral-500",bg:"bg-neutral-500/10",label:"System"},permissions:{text:"text-sky-500",bg:"bg-sky-500/10",label:"Permissions"}},p={user:{text:"text-muted-foreground"},agent:{text:"text-foreground"},system:{icon:x,text:"text-neutral-500"},tasks:{icon:d,text:"text-purple-500"}};function b({actorType:s,actorLabel:r,agentColor:a,className:n}){const i=p[s],t=i.icon;return s==="user"?e.jsx(u,{shape:"pill",variant:"outline",className:l("text-muted-foreground",n),children:r}):s==="agent"?e.jsxs("span",{"data-slot":"actor-badge",className:l("inline-flex items-center gap-1.5 text-xs font-medium",i.text,n),children:[e.jsx("span",{className:"size-2 shrink-0 rounded-full",style:a?{backgroundColor:a}:void 0,"aria-hidden":!0}),e.jsx("span",{className:"truncate",children:r})]}):e.jsxs("span",{"data-slot":"actor-badge",className:l("inline-flex items-center gap-1 text-xs font-medium",i.text,n),children:[t&&e.jsx(t,{className:"size-3 shrink-0","aria-hidden":!0}),e.jsx("span",{children:r})]})}function y(s,r=new Date){const a=new Date(s),n=new Date(r);n.setHours(0,0,0,0);const i=new Date(n);i.setDate(i.getDate()-1);const t=new Date(n);t.setDate(t.getDate()-t.getDay());const o=a.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0});return a>=n?o:a>=i?`Yesterday ${o}`:a>=t?`${a.toLocaleDateString("en-US",{weekday:"long"})} ${o}`:a.toLocaleDateString("en-US",{month:"short",day:"numeric"})}function v({item:s,compact:r=!1,className:a}){const n=m(),i=y(s.occurredAt),t=s.linkPath?g(s.linkPath):null;return e.jsxs(f,{"data-slot":"activity-row","data-activity-row":t?"":void 0,tabIndex:t?0:void 0,onKeyDown:t?o=>{o.key==="Enter"&&n({href:t,replace:!1})}:void 0,className:l(t?"focus-visible:ring-ring focus-visible:ring-2 focus-visible:outline-none":"hover:bg-transparent",a),children:[!r&&e.jsxs(e.Fragment,{children:[e.jsx(c,{className:"w-28 py-1.5 pr-0 pl-2 max-sm:hidden",children:e.jsx("span",{className:"text-muted-foreground text-xs tabular-nums",children:i})}),e.jsx(c,{className:"w-24 py-1.5 pr-0 max-sm:hidden",children:e.jsx(b,{actorType:s.actorType,actorLabel:s.actorLabel})})]}),e.jsx(c,{className:l("max-w-0 py-1.5",r?"pl-2":"max-sm:pl-2"),children:e.jsxs("span",{className:"text-foreground/80 block truncate text-sm",children:[e.jsx("span",{className:l("text-muted-foreground mr-1 text-xs font-medium",!r&&"sm:hidden"),children:s.actorLabel}),s.summary]})}),e.jsx(c,{className:l("py-1.5 pr-2 text-right",r?"w-10":"w-16 max-sm:w-10"),children:t&&e.jsx(h,{variant:"ghost",size:"sm",className:"h-6 min-h-[44px] px-2 text-xs sm:min-h-0",onClick:()=>n({href:t,replace:!1}),children:"Open →"})})]})}export{v as A,k as C};
1
+ import{b7 as d,d3 as x,j as e,_ as u,G as l,c4 as m,d4 as g,B as h}from"./index-8-iQ6PnT.js";import{b as f,c}from"./table-DvU_oS4E.js";const k={tasks:{text:"text-purple-500",bg:"bg-purple-500/10",label:"Schedules"},relay:{text:"text-teal-500",bg:"bg-teal-500/10",label:"Messages"},agent:{text:"text-indigo-500",bg:"bg-indigo-500/10",label:"Agent"},config:{text:"text-amber-500",bg:"bg-amber-500/10",label:"Settings"},system:{text:"text-neutral-500",bg:"bg-neutral-500/10",label:"System"},permissions:{text:"text-sky-500",bg:"bg-sky-500/10",label:"Permissions"}},p={user:{text:"text-muted-foreground"},agent:{text:"text-foreground"},system:{icon:x,text:"text-neutral-500"},tasks:{icon:d,text:"text-purple-500"}};function b({actorType:s,actorLabel:r,agentColor:a,className:n}){const i=p[s],t=i.icon;return s==="user"?e.jsx(u,{shape:"pill",variant:"outline",className:l("text-muted-foreground",n),children:r}):s==="agent"?e.jsxs("span",{"data-slot":"actor-badge",className:l("inline-flex items-center gap-1.5 text-xs font-medium",i.text,n),children:[e.jsx("span",{className:"size-2 shrink-0 rounded-full",style:a?{backgroundColor:a}:void 0,"aria-hidden":!0}),e.jsx("span",{className:"truncate",children:r})]}):e.jsxs("span",{"data-slot":"actor-badge",className:l("inline-flex items-center gap-1 text-xs font-medium",i.text,n),children:[t&&e.jsx(t,{className:"size-3 shrink-0","aria-hidden":!0}),e.jsx("span",{children:r})]})}function y(s,r=new Date){const a=new Date(s),n=new Date(r);n.setHours(0,0,0,0);const i=new Date(n);i.setDate(i.getDate()-1);const t=new Date(n);t.setDate(t.getDate()-t.getDay());const o=a.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0});return a>=n?o:a>=i?`Yesterday ${o}`:a>=t?`${a.toLocaleDateString("en-US",{weekday:"long"})} ${o}`:a.toLocaleDateString("en-US",{month:"short",day:"numeric"})}function v({item:s,compact:r=!1,className:a}){const n=m(),i=y(s.occurredAt),t=s.linkPath?g(s.linkPath):null;return e.jsxs(f,{"data-slot":"activity-row","data-activity-row":t?"":void 0,tabIndex:t?0:void 0,onKeyDown:t?o=>{o.key==="Enter"&&n({href:t,replace:!1})}:void 0,className:l(t?"focus-visible:ring-ring focus-visible:ring-2 focus-visible:outline-none":"hover:bg-transparent",a),children:[!r&&e.jsxs(e.Fragment,{children:[e.jsx(c,{className:"w-28 py-1.5 pr-0 pl-2 max-sm:hidden",children:e.jsx("span",{className:"text-muted-foreground text-xs tabular-nums",children:i})}),e.jsx(c,{className:"w-24 py-1.5 pr-0 max-sm:hidden",children:e.jsx(b,{actorType:s.actorType,actorLabel:s.actorLabel})})]}),e.jsx(c,{className:l("max-w-0 py-1.5",r?"pl-2":"max-sm:pl-2"),children:e.jsxs("span",{className:"text-foreground/80 block truncate text-sm",children:[e.jsx("span",{className:l("text-muted-foreground mr-1 text-xs font-medium",!r&&"sm:hidden"),children:s.actorLabel}),s.summary]})}),e.jsx(c,{className:l("py-1.5 pr-2 text-right",r?"w-10":"w-16 max-sm:w-10"),children:t&&e.jsx(h,{variant:"ghost",size:"sm",className:"h-6 min-h-[44px] px-2 text-xs sm:min-h-0",onClick:()=>n({href:t,replace:!1}),children:"Open →"})})]})}export{v as A,k as C};
@@ -1 +1 @@
1
- import{bD as n,bE as r,j as c,bF as s,aS as A}from"./index-DBdO-_iL.js";const g={connected:n.success,disconnected:n.neutral,error:n.error,starting:`${n.warning} ${r}`,stopping:`${n.warning} ${r}`,reconnecting:`${n.warning} ${r}`},E={connected:"Connected",disconnected:"Ready",error:"Error",starting:"Connecting…",stopping:"Stopping…",reconnecting:"Reconnecting…"};function S({iconId:i,adapterType:a,size:t=16,className:o}){const e=s[i??""]??s[a??""];return e?c.jsx(e,{size:t,className:o}):c.jsx(A,{className:o,style:{width:t,height:t}})}export{S as A,g as a,E as b};
1
+ import{bD as n,bE as r,j as c,bF as s,aS as A}from"./index-8-iQ6PnT.js";const g={connected:n.success,disconnected:n.neutral,error:n.error,starting:`${n.warning} ${r}`,stopping:`${n.warning} ${r}`,reconnecting:`${n.warning} ${r}`},E={connected:"Connected",disconnected:"Ready",error:"Error",starting:"Connecting…",stopping:"Stopping…",reconnecting:"Reconnecting…"};function S({iconId:i,adapterType:a,size:t=16,className:o}){const e=s[i??""]??s[a??""];return e?c.jsx(e,{size:t,className:o}):c.jsx(A,{className:o,style:{width:t,height:t}})}export{S as A,g as a,E as b};