@band-app/server 0.6.0 → 0.7.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 (166) hide show
  1. package/dist/client/assets/{DockviewTerminalContainer-Cz9WlWdH.js → DockviewTerminalContainer-D5LSr-9J.js} +2 -2
  2. package/dist/client/assets/{TerminalPanel-CFXq1WFm.js → TerminalPanel-BbdfGSW4.js} +1 -1
  3. package/dist/client/assets/{_basePickBy-BlSII9jq.js → _basePickBy-BziZv3q9.js} +1 -1
  4. package/dist/client/assets/{_baseUniq-LspNqeMx.js → _baseUniq-GojtfIPH.js} +1 -1
  5. package/dist/client/assets/{arc-BHqnoTLh.js → arc-igGjjsLf.js} +1 -1
  6. package/dist/client/assets/{architectureDiagram-VXUJARFQ-DCIibmHk.js → architectureDiagram-VXUJARFQ-B5bcMjKF.js} +1 -1
  7. package/dist/client/assets/{blockDiagram-VD42YOAC-Dyw6cz7i.js → blockDiagram-VD42YOAC-BPk_-z7Q.js} +1 -1
  8. package/dist/client/assets/{c4Diagram-YG6GDRKO-CBhD8_Hh.js → c4Diagram-YG6GDRKO-rNvGlTMC.js} +1 -1
  9. package/dist/client/assets/channel-Ck8E_oOc.js +1 -0
  10. package/dist/client/assets/{chunk-4BX2VUAB-BfoIiC3c.js → chunk-4BX2VUAB-DfJHc-Yj.js} +1 -1
  11. package/dist/client/assets/{chunk-55IACEB6-MseixGRc.js → chunk-55IACEB6-lcxPT111.js} +1 -1
  12. package/dist/client/assets/{chunk-B4BG7PRW-kNN7PAII.js → chunk-B4BG7PRW-BNbHxfCm.js} +1 -1
  13. package/dist/client/assets/{chunk-DI55MBZ5-CfSoI0vz.js → chunk-DI55MBZ5-DMhMapdV.js} +1 -1
  14. package/dist/client/assets/{chunk-FMBD7UC4-F6mPv_S0.js → chunk-FMBD7UC4-CTPuBKXM.js} +1 -1
  15. package/dist/client/assets/{chunk-QN33PNHL-BYvpvAhN.js → chunk-QN33PNHL-DWCLrzVK.js} +1 -1
  16. package/dist/client/assets/{chunk-QZHKN3VN-CAQ7z_Ie.js → chunk-QZHKN3VN-B-2muY12.js} +1 -1
  17. package/dist/client/assets/{chunk-TZMSLE5B-C-XQ_CRy.js → chunk-TZMSLE5B-CYwHRJAm.js} +1 -1
  18. package/dist/client/assets/classDiagram-2ON5EDUG-C6Q6Gof1.js +1 -0
  19. package/dist/client/assets/classDiagram-v2-WZHVMYZB-C6Q6Gof1.js +1 -0
  20. package/dist/client/assets/clone-eBd5Zk6t.js +1 -0
  21. package/dist/client/assets/{cose-bilkent-S5V4N54A-ngzXR_kx.js → cose-bilkent-S5V4N54A-BhG4Bwqg.js} +1 -1
  22. package/dist/client/assets/{dagre-6UL2VRFP-BbAzSMAb.js → dagre-6UL2VRFP-BNwV9AQU.js} +1 -1
  23. package/dist/client/assets/{diagram-PSM6KHXK-D1y4JtW0.js → diagram-PSM6KHXK-BECLhoiz.js} +1 -1
  24. package/dist/client/assets/{diagram-QEK2KX5R-BG_iQN5l.js → diagram-QEK2KX5R-DKeTOb2O.js} +1 -1
  25. package/dist/client/assets/{diagram-S2PKOQOG-CNtjaaSX.js → diagram-S2PKOQOG-MlQ3aWgO.js} +1 -1
  26. package/dist/client/assets/{erDiagram-Q2GNP2WA-Bo66PPvm.js → erDiagram-Q2GNP2WA-CdFxFJL2.js} +1 -1
  27. package/dist/client/assets/{flowDiagram-NV44I4VS-Exg4ftcx.js → flowDiagram-NV44I4VS-Cx_Py0Y6.js} +1 -1
  28. package/dist/client/assets/{ganttDiagram-JELNMOA3-D6zmdAtV.js → ganttDiagram-JELNMOA3-Ibl6Ok1u.js} +1 -1
  29. package/dist/client/assets/{gitGraphDiagram-V2S2FVAM-Cu6NAnrE.js → gitGraphDiagram-V2S2FVAM-CCOKgIVW.js} +1 -1
  30. package/dist/client/assets/{graph-WQ-pCgIF.js → graph-CNVRXmMC.js} +1 -1
  31. package/dist/client/assets/{highlighted-body-B3W2YXNL-DwzNwzXb.js → highlighted-body-B3W2YXNL-BtGVJGbm.js} +1 -1
  32. package/dist/client/assets/{index-DijU73Gl.js → index-B193FOic.js} +1 -1
  33. package/dist/client/assets/{index-CZ3BA0Cx.js → index-B6ba6lp-.js} +1 -1
  34. package/dist/client/assets/{index-tEjp_PJF.js → index-BPIJMneu.js} +1 -1
  35. package/dist/client/assets/{index-DDT5MV0f.js → index-BYQ5aCti.js} +1 -1
  36. package/dist/client/assets/{index-BCYiMfLp.js → index-Bc-azzme.js} +1 -1
  37. package/dist/client/assets/{index-BBPUst2I.js → index-BgM7IKgV.js} +1 -1
  38. package/dist/client/assets/{index-Bk2XF8BE.js → index-BgWr8ZLw.js} +1 -1
  39. package/dist/client/assets/{index-DSACz9Bz.js → index-Bh5VGFBs.js} +1 -1
  40. package/dist/client/assets/{index-plFoXjgS.js → index-CCO3k6ms.js} +1 -1
  41. package/dist/client/assets/{index-DrmwayhT.js → index-CJw9xTFD.js} +1 -1
  42. package/dist/client/assets/{index-CrvLihp0.js → index-ClqNiqIT.js} +1 -1
  43. package/dist/client/assets/{index-Bp5eP514.js → index-D559Z80V.js} +1 -1
  44. package/dist/client/assets/{index-Bq_xY4Ph.js → index-DJJSB6kr.js} +1 -1
  45. package/dist/client/assets/{index-D4GE4Sw0.js → index-HP2pymIn.js} +1 -1
  46. package/dist/client/assets/{index-B_Cl_jLZ.js → index-TLij_dqY.js} +1 -1
  47. package/dist/client/assets/{index-DcZkOXX6.js → index-eUzKORIX.js} +1 -1
  48. package/dist/client/assets/{index-PbwTEF33.js → index-kPQu0v_r.js} +1 -1
  49. package/dist/client/assets/{index-DIETCrpj.js → index-pW_vp4Sz.js} +1 -1
  50. package/dist/client/assets/{infoDiagram-HS3SLOUP-CgP-ZkOl.js → infoDiagram-HS3SLOUP-D08GDLLW.js} +1 -1
  51. package/dist/client/assets/{journeyDiagram-XKPGCS4Q-BQA_b_yg.js → journeyDiagram-XKPGCS4Q-CXn3mxfD.js} +1 -1
  52. package/dist/client/assets/{kanban-definition-3W4ZIXB7-DPOkqRAd.js → kanban-definition-3W4ZIXB7-CcSZuyDt.js} +1 -1
  53. package/dist/client/assets/{layout-DeyOgqC6.js → layout-2wgfgK0z.js} +1 -1
  54. package/dist/client/assets/{linear-DGKC-_dh.js → linear-QIcNPfxd.js} +1 -1
  55. package/dist/client/assets/{main-BreB9CwG.js → main-BHzKkPch.js} +206 -206
  56. package/dist/client/assets/main-DJFWkBOi.css +1 -0
  57. package/dist/client/assets/{mindmap-definition-VGOIOE7T-D33s8vQk.js → mindmap-definition-VGOIOE7T-DpStnB2O.js} +1 -1
  58. package/dist/client/assets/{pieDiagram-ADFJNKIX-DkcUUXhA.js → pieDiagram-ADFJNKIX-rzFZOwDj.js} +1 -1
  59. package/dist/client/assets/{quadrantDiagram-AYHSOK5B-Db6ej3fP.js → quadrantDiagram-AYHSOK5B-3xBYeAWj.js} +1 -1
  60. package/dist/client/assets/{requirementDiagram-UZGBJVZJ-CRoYkr69.js → requirementDiagram-UZGBJVZJ-BJ7G5rvH.js} +1 -1
  61. package/dist/client/assets/{sankeyDiagram-TZEHDZUN-C5kJHH1U.js → sankeyDiagram-TZEHDZUN-wW85Osfk.js} +1 -1
  62. package/dist/client/assets/{sequenceDiagram-WL72ISMW-Bjl7tEqi.js → sequenceDiagram-WL72ISMW-CpHr7-Ie.js} +1 -1
  63. package/dist/client/assets/{stateDiagram-FKZM4ZOC-BOHkzYsN.js → stateDiagram-FKZM4ZOC-EPEfW1fW.js} +1 -1
  64. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-D7pTZGXc.js +1 -0
  65. package/dist/client/assets/{timeline-definition-IT6M3QCI-BRYv8Zo9.js → timeline-definition-IT6M3QCI-DfZZ7ocE.js} +1 -1
  66. package/dist/client/assets/{treemap-GDKQZRPO-CreIyeFj.js → treemap-GDKQZRPO-BstahH9t.js} +1 -1
  67. package/dist/client/assets/{useSessionListContext-B45AkDTo.js → useSessionListContext-BrRFiQ2U.js} +1 -1
  68. package/dist/client/assets/{workspace._workspaceId-DDqIo28l.js → workspace._workspaceId-Dtznmnt6.js} +1 -1
  69. package/dist/client/assets/{workspace._workspaceId.changes-tNj-aYnb.js → workspace._workspaceId.changes-Bny5FowN.js} +1 -1
  70. package/dist/client/assets/workspace._workspaceId.code-C4UWUUUj.js +1 -0
  71. package/dist/client/assets/{workspace._workspaceId.code._-CZQLyXwR.js → workspace._workspaceId.code._-BkkagAVv.js} +1 -1
  72. package/dist/client/assets/{workspace._workspaceId.code.index-BZ26pRQu.js → workspace._workspaceId.code.index-yWgRm_ie.js} +1 -1
  73. package/dist/client/assets/{workspace._workspaceId.index-D_hEywpO.js → workspace._workspaceId.index-LYKG8Zjm.js} +1 -1
  74. package/dist/client/assets/{workspace._workspaceId.terminal-D_kBTm-z.js → workspace._workspaceId.terminal-mv3brILY.js} +2 -2
  75. package/dist/client/assets/{xychartDiagram-PRI3JC2R-Cn2h5HVO.js → xychartDiagram-PRI3JC2R-DbiHDzrr.js} +1 -1
  76. package/dist/server/assets/{DockviewTerminalContainer-DSwflA0D.js → DockviewTerminalContainer-Db_wkLqm.js} +2 -2
  77. package/dist/server/assets/{TerminalPanel-D2eWHeSY.js → TerminalPanel-ClczaJzh.js} +1 -1
  78. package/dist/server/assets/{_basePickBy-C6PzK77c.js → _basePickBy-DJvmB1bR.js} +2 -2
  79. package/dist/server/assets/{_baseUniq-DiQVR768.js → _baseUniq-CUkuvdrd.js} +1 -1
  80. package/dist/server/assets/{_tanstack-start-manifest_v-CsSFK95L.js → _tanstack-start-manifest_v-BrA63W9v.js} +1 -1
  81. package/dist/server/assets/{arc-gx_AD1U3.js → arc-D7tpRkEi.js} +1 -1
  82. package/dist/server/assets/{architecture-7HQA4BMR-BGd5uu6b.js → architecture-7HQA4BMR-B4QVCJf2.js} +6 -6
  83. package/dist/server/assets/{architectureDiagram-VXUJARFQ-C_xYzE4-.js → architectureDiagram-VXUJARFQ-D9kGXK5k.js} +6 -6
  84. package/dist/server/assets/{blockDiagram-VD42YOAC-DpPRXIow.js → blockDiagram-VD42YOAC-D4qioj7T.js} +6 -6
  85. package/dist/server/assets/{c4Diagram-YG6GDRKO-CAy_xf6J.js → c4Diagram-YG6GDRKO-BPZ4vpZS.js} +2 -2
  86. package/dist/server/assets/{channel-6B-t4Soa.js → channel-g17XXuP8.js} +1 -1
  87. package/dist/server/assets/{chunk-4BX2VUAB-B42FHAWg.js → chunk-4BX2VUAB-KOOKfARG.js} +1 -1
  88. package/dist/server/assets/{chunk-55IACEB6-MqdTOSaC.js → chunk-55IACEB6-Nx5TLULR.js} +1 -1
  89. package/dist/server/assets/{chunk-B4BG7PRW-CTB3bXV5.js → chunk-B4BG7PRW-DLoBFDoW.js} +4 -4
  90. package/dist/server/assets/{chunk-DI55MBZ5-BQenTOqK.js → chunk-DI55MBZ5-Di0RSJbS.js} +3 -3
  91. package/dist/server/assets/{chunk-FMBD7UC4-BZoha8Qg.js → chunk-FMBD7UC4-B772z4UT.js} +1 -1
  92. package/dist/server/assets/{chunk-QN33PNHL-qKkMgf6f.js → chunk-QN33PNHL-DrPmTiI4.js} +1 -1
  93. package/dist/server/assets/{chunk-QZHKN3VN-VrtEAJzx.js → chunk-QZHKN3VN-Cg5-DxrE.js} +1 -1
  94. package/dist/server/assets/{chunk-TZMSLE5B-DSYbndjw.js → chunk-TZMSLE5B-C-BexoZY.js} +1 -1
  95. package/dist/server/assets/{classDiagram-v2-WZHVMYZB-i_tSGvo3.js → classDiagram-2ON5EDUG-DCAJOcrY.js} +5 -5
  96. package/dist/server/assets/{classDiagram-2ON5EDUG-i_tSGvo3.js → classDiagram-v2-WZHVMYZB-DCAJOcrY.js} +5 -5
  97. package/dist/server/assets/{clone-Cxt50u0y.js → clone-MoYPVXz9.js} +1 -1
  98. package/dist/server/assets/{cose-bilkent-S5V4N54A-CxYiUQkd.js → cose-bilkent-S5V4N54A-CLRnyAoe.js} +1 -1
  99. package/dist/server/assets/{dagre-6UL2VRFP-Df3ty00_.js → dagre-6UL2VRFP-h35DYUhj.js} +6 -6
  100. package/dist/server/assets/{diagram-PSM6KHXK-Cfylqj1t.js → diagram-PSM6KHXK-Dl-1wWBO.js} +7 -7
  101. package/dist/server/assets/{diagram-QEK2KX5R-BOdeY2WM.js → diagram-QEK2KX5R-CT_9GKHb.js} +6 -6
  102. package/dist/server/assets/{diagram-S2PKOQOG-DjK_qPmk.js → diagram-S2PKOQOG-C-Wz6wgo.js} +6 -6
  103. package/dist/server/assets/{erDiagram-Q2GNP2WA-CDZKFxtV.js → erDiagram-Q2GNP2WA-CK577Mto.js} +4 -4
  104. package/dist/server/assets/{flowDiagram-NV44I4VS-BkuGyDjs.js → flowDiagram-NV44I4VS-FGtxEFhp.js} +5 -5
  105. package/dist/server/assets/{ganttDiagram-JELNMOA3-BivmZcb7.js → ganttDiagram-JELNMOA3-DAUHIdRM.js} +2 -2
  106. package/dist/server/assets/{gitGraph-G5XIXVHT-CC7wmTrx.js → gitGraph-G5XIXVHT-D-ECs7Lv.js} +6 -6
  107. package/dist/server/assets/{gitGraphDiagram-V2S2FVAM-CQIdCHfs.js → gitGraphDiagram-V2S2FVAM-BoBut3cj.js} +7 -7
  108. package/dist/server/assets/{graph-C8gb_m5f.js → graph-Dyxu_4DG.js} +2 -2
  109. package/dist/server/assets/{highlighted-body-B3W2YXNL-DrUth0S5.js → highlighted-body-B3W2YXNL-CQiQABMj.js} +1 -1
  110. package/dist/server/assets/{index-CCjk4zsA.js → index-B81vrGna.js} +2 -2
  111. package/dist/server/assets/{index-BjGAzo0D.js → index-BEMoQBv1.js} +3 -3
  112. package/dist/server/assets/{index-DOYPjTos.js → index-BEXzKtXX.js} +2 -2
  113. package/dist/server/assets/{index-DKxaFXTI.js → index-BOB72PF1.js} +2 -2
  114. package/dist/server/assets/{index-F50ZRwue.js → index-BVBNSmFm.js} +2 -2
  115. package/dist/server/assets/{index-Bmsr-fBO.js → index-Bdg-nkIi.js} +2 -2
  116. package/dist/server/assets/{index-CcD8oUXa.js → index-BewnJmdp.js} +2 -2
  117. package/dist/server/assets/{index-CmrSb5ez.js → index-C6elbWmN.js} +1 -1
  118. package/dist/server/assets/{index-Dn5q9HW4.js → index-CXKXKZfF.js} +1 -1
  119. package/dist/server/assets/{index-C4P3mulg.js → index-CYDdV_jY.js} +5 -5
  120. package/dist/server/assets/{index-qd9Me3nB.js → index-C_g8VSbE.js} +2 -2
  121. package/dist/server/assets/{index-CitKRHQd.js → index-CcXBjIgw.js} +3 -3
  122. package/dist/server/assets/{index-BnH9YiLC.js → index-DYKc3CTl.js} +2 -2
  123. package/dist/server/assets/{index-BmO8Ehgw.js → index-THiRUHDP.js} +4 -4
  124. package/dist/server/assets/{index-CKHwQloa.js → index-j7NzRTu6.js} +2 -2
  125. package/dist/server/assets/{index-DhHjumm2.js → index-xhWv6ALB.js} +5 -5
  126. package/dist/server/assets/{index-C5Oqi8tP.js → index-yeAPCrVk.js} +2 -2
  127. package/dist/server/assets/{index-CT4xIbKa.js → index-z5OKgRXY.js} +2 -2
  128. package/dist/server/assets/{info-VBDWY6EO-DyGhnNke.js → info-VBDWY6EO-xfLiLDin.js} +6 -6
  129. package/dist/server/assets/{infoDiagram-HS3SLOUP-Ba9kta0e.js → infoDiagram-HS3SLOUP-BUHq7o0p.js} +5 -5
  130. package/dist/server/assets/{journeyDiagram-XKPGCS4Q-DpIqL8B7.js → journeyDiagram-XKPGCS4Q-ueRNPiAY.js} +4 -4
  131. package/dist/server/assets/{kanban-definition-3W4ZIXB7-DX4-cLBH.js → kanban-definition-3W4ZIXB7-BaoHjyB8.js} +2 -2
  132. package/dist/server/assets/{layout-C_dXxi6_.js → layout-DTRCkx2y.js} +4 -4
  133. package/dist/server/assets/{linear-BEU5iS3c.js → linear-CEd9jvaW.js} +1 -1
  134. package/dist/server/assets/{mermaid-3ZIDBTTL-dDSIn_hx.js → mermaid-3ZIDBTTL-Bocx3zr_.js} +1 -1
  135. package/dist/server/assets/{mermaid-parser.core-BTu6on9w.js → mermaid-parser.core-CnuB2ez_.js} +11 -11
  136. package/dist/server/assets/{mindmap-definition-VGOIOE7T-EvNNmlYT.js → mindmap-definition-VGOIOE7T-ARN2t0ze.js} +3 -3
  137. package/dist/server/assets/{packet-DYOGHKS2-BSKBycIf.js → packet-DYOGHKS2-Cfvmxib_.js} +6 -6
  138. package/dist/server/assets/{pie-VRWISCQL-BjrUlgyt.js → pie-VRWISCQL-DLhUIQek.js} +6 -6
  139. package/dist/server/assets/{pieDiagram-ADFJNKIX-YhPnTxVL.js → pieDiagram-ADFJNKIX-DbZhADgA.js} +7 -7
  140. package/dist/server/assets/{quadrantDiagram-AYHSOK5B-C_QHaemj.js → quadrantDiagram-AYHSOK5B-DKkuOf1X.js} +2 -2
  141. package/dist/server/assets/{radar-ZZBFDIW7-CO0WzTp4.js → radar-ZZBFDIW7-DDKCbnI9.js} +6 -6
  142. package/dist/server/assets/{requirementDiagram-UZGBJVZJ-BSt0bNXX.js → requirementDiagram-UZGBJVZJ-l0bNxwXy.js} +3 -3
  143. package/dist/server/assets/{router-Ccw5_Sy3.js → router-BsFHVXz9.js} +369 -187
  144. package/dist/server/assets/{sankeyDiagram-TZEHDZUN-C7SL1Bn9.js → sankeyDiagram-TZEHDZUN-Czmu-ri0.js} +1 -1
  145. package/dist/server/assets/{sequenceDiagram-WL72ISMW-DdfWdBp2.js → sequenceDiagram-WL72ISMW-TIqdB3wK.js} +3 -3
  146. package/dist/server/assets/{stateDiagram-FKZM4ZOC-BD7Oj-hn.js → stateDiagram-FKZM4ZOC-DJf6ARFZ.js} +8 -8
  147. package/dist/server/assets/{stateDiagram-v2-4FDKWEC3-e4PXqg0B.js → stateDiagram-v2-4FDKWEC3-BCWbXNlV.js} +4 -4
  148. package/dist/server/assets/{timeline-definition-IT6M3QCI-f7G2avSH.js → timeline-definition-IT6M3QCI-Dsbsa9tI.js} +2 -2
  149. package/dist/server/assets/{treemap-GDKQZRPO-CndQ71as.js → treemap-GDKQZRPO-DQd5eI_l.js} +6 -6
  150. package/dist/server/assets/{workspace._workspaceId-CR4TOS5A.js → workspace._workspaceId-BzntZkG8.js} +1 -1
  151. package/dist/server/assets/{workspace._workspaceId.changes-B7PK-I72.js → workspace._workspaceId.changes-DlHr6JjN.js} +1 -1
  152. package/dist/server/assets/{workspace._workspaceId.code._-CA9dP_-G.js → workspace._workspaceId.code._-C0plkbYn.js} +1 -1
  153. package/dist/server/assets/{workspace._workspaceId.code.index-CLRAQ6Pf.js → workspace._workspaceId.code.index-BEOcVHwT.js} +1 -1
  154. package/dist/server/assets/{workspace._workspaceId.index-alkhfxK3.js → workspace._workspaceId.index-BZTlk3td.js} +1 -1
  155. package/dist/server/assets/{workspace._workspaceId.terminal-BvpiNe_s.js → workspace._workspaceId.terminal-DrOsp1dy.js} +2 -2
  156. package/dist/server/assets/{xychartDiagram-PRI3JC2R-CAkP7cKw.js → xychartDiagram-PRI3JC2R-Di_FnHiX.js} +2 -2
  157. package/dist/server/server.js +2 -2
  158. package/dist/start-server.mjs +179 -54
  159. package/package.json +5 -5
  160. package/dist/client/assets/channel-DyVBSQNn.js +0 -1
  161. package/dist/client/assets/classDiagram-2ON5EDUG-B-cHSWlO.js +0 -1
  162. package/dist/client/assets/classDiagram-v2-WZHVMYZB-B-cHSWlO.js +0 -1
  163. package/dist/client/assets/clone-DTHJUKz4.js +0 -1
  164. package/dist/client/assets/main-D081MUyS.css +0 -1
  165. package/dist/client/assets/stateDiagram-v2-4FDKWEC3--yckNXlZ.js +0 -1
  166. package/dist/client/assets/workspace._workspaceId.code-dlq2gsqz.js +0 -1
@@ -1,5 +1,5 @@
1
1
  var _a, _b, _c;
2
- import { a6 as setDiagramTitle, a7 as getDiagramTitle, F as setAccDescription, G as getAccDescription, J as setAccTitle, H as getAccTitle, _ as __name, M as getConfig2, ad as defaultConfig2, O as select, aP as setupGraphViewbox, ac as clear, $ as common_default } from "./router-Ccw5_Sy3.js";
2
+ import { a6 as setDiagramTitle, a7 as getDiagramTitle, F as setAccDescription, G as getAccDescription, J as setAccTitle, H as getAccTitle, _ as __name, M as getConfig2, ad as defaultConfig2, O as select, aP as setupGraphViewbox, ac as clear, $ as common_default } from "./router-BsFHVXz9.js";
3
3
  import { o as ordinal } from "./ordinal-CxptdPJm.js";
4
4
  import "../server.js";
5
5
  import "node:async_hooks";
@@ -1,7 +1,7 @@
1
1
  var _a;
2
- import { a as drawBackgroundRect, b as getTextObj, g as getNoteRect, d as drawRect, c as drawEmbeddedImage, e as drawImage } from "./chunk-TZMSLE5B-DSYbndjw.js";
3
- import { _ as __name, a2 as setConfig2, M as getConfig2, O as select, S as log, Y as distExports, U as configureSvgSize, V as assignWithDepth_default, $ as common_default, J as setAccTitle, F as setAccDescription, a6 as setDiagramTitle, H as getAccTitle, G as getAccDescription, a7 as getDiagramTitle, a8 as load, a9 as JSON_SCHEMA, ac as clear, X as sanitizeText, a5 as utils_default, aF as hasKatex, aG as calculateMathMLDimensions, aH as parseFontSize, aI as ZERO_WIDTH_SPACE, aJ as getUrl, aK as renderKatexSanitized, al as getConfig } from "./router-Ccw5_Sy3.js";
4
- import { I as ImperativeState } from "./chunk-QZHKN3VN-VrtEAJzx.js";
2
+ import { a as drawBackgroundRect, b as getTextObj, g as getNoteRect, d as drawRect, c as drawEmbeddedImage, e as drawImage } from "./chunk-TZMSLE5B-C-BexoZY.js";
3
+ import { _ as __name, a2 as setConfig2, M as getConfig2, O as select, S as log, Y as distExports, U as configureSvgSize, V as assignWithDepth_default, $ as common_default, J as setAccTitle, F as setAccDescription, a6 as setDiagramTitle, H as getAccTitle, G as getAccDescription, a7 as getDiagramTitle, a8 as load, a9 as JSON_SCHEMA, ac as clear, X as sanitizeText, a5 as utils_default, aF as hasKatex, aG as calculateMathMLDimensions, aH as parseFontSize, aI as ZERO_WIDTH_SPACE, aJ as getUrl, aK as renderKatexSanitized, al as getConfig } from "./router-BsFHVXz9.js";
4
+ import { I as ImperativeState } from "./chunk-QZHKN3VN-Cg5-DxrE.js";
5
5
  import "../server.js";
6
6
  import "node:async_hooks";
7
7
  import "node:stream";
@@ -1,9 +1,9 @@
1
- import { s as styles_default, a as stateDiagram_default, S as StateDB } from "./chunk-DI55MBZ5-BQenTOqK.js";
2
- import { _ as __name, M as getConfig2, O as select, S as log, U as configureSvgSize, $ as common_default, aM as line, aN as curveBasis, aJ as getUrl, a5 as utils_default } from "./router-Ccw5_Sy3.js";
3
- import { G as Graph } from "./graph-C8gb_m5f.js";
4
- import { l as layout } from "./layout-C_dXxi6_.js";
5
- import "./chunk-55IACEB6-MqdTOSaC.js";
6
- import "./chunk-QN33PNHL-qKkMgf6f.js";
1
+ import { s as styles_default, a as stateDiagram_default, S as StateDB } from "./chunk-DI55MBZ5-Di0RSJbS.js";
2
+ import { _ as __name, M as getConfig2, O as select, S as log, U as configureSvgSize, $ as common_default, aM as line, aN as curveBasis, aJ as getUrl, a5 as utils_default } from "./router-BsFHVXz9.js";
3
+ import { G as Graph } from "./graph-Dyxu_4DG.js";
4
+ import { l as layout } from "./layout-DTRCkx2y.js";
5
+ import "./chunk-55IACEB6-Nx5TLULR.js";
6
+ import "./chunk-QN33PNHL-DrPmTiI4.js";
7
7
  import "../server.js";
8
8
  import "node:async_hooks";
9
9
  import "node:stream";
@@ -15,8 +15,8 @@ import "node:stream/web";
15
15
  import "node:process";
16
16
  import "node:path";
17
17
  import "node:url";
18
- import "./_baseUniq-DiQVR768.js";
19
- import "./_basePickBy-C6PzK77c.js";
18
+ import "./_baseUniq-CUkuvdrd.js";
19
+ import "./_basePickBy-DJvmB1bR.js";
20
20
  var drawStartState = /* @__PURE__ */ __name((g) => g.append("circle").attr("class", "start-state").attr("r", getConfig2().state.sizeUnit).attr("cx", getConfig2().state.padding + getConfig2().state.sizeUnit).attr("cy", getConfig2().state.padding + getConfig2().state.sizeUnit), "drawStartState");
21
21
  var drawDivider = /* @__PURE__ */ __name((g) => g.append("line").style("stroke", "grey").style("stroke-dasharray", "3").attr("x1", getConfig2().state.textHeight).attr("class", "divider").attr("x2", getConfig2().state.textHeight * 2).attr("y1", 0).attr("y2", 0), "drawDivider");
22
22
  var drawSimpleState = /* @__PURE__ */ __name((g, stateDef) => {
@@ -1,7 +1,7 @@
1
- import { s as styles_default, b as stateRenderer_v3_unified_default, a as stateDiagram_default, S as StateDB } from "./chunk-DI55MBZ5-BQenTOqK.js";
2
- import { _ as __name } from "./router-Ccw5_Sy3.js";
3
- import "./chunk-55IACEB6-MqdTOSaC.js";
4
- import "./chunk-QN33PNHL-qKkMgf6f.js";
1
+ import { s as styles_default, b as stateRenderer_v3_unified_default, a as stateDiagram_default, S as StateDB } from "./chunk-DI55MBZ5-Di0RSJbS.js";
2
+ import { _ as __name } from "./router-BsFHVXz9.js";
3
+ import "./chunk-55IACEB6-Nx5TLULR.js";
4
+ import "./chunk-QN33PNHL-DrPmTiI4.js";
5
5
  import "../server.js";
6
6
  import "node:async_hooks";
7
7
  import "node:stream";
@@ -1,5 +1,5 @@
1
- import { _ as __name, M as getConfig2, S as log, O as select, aP as setupGraphViewbox, aQ as isDark, aR as lighten, aS as darken, ah as __export, aT as commonDb_exports, ac as clear } from "./router-Ccw5_Sy3.js";
2
- import { d as d3arc } from "./arc-gx_AD1U3.js";
1
+ import { _ as __name, M as getConfig2, S as log, O as select, aP as setupGraphViewbox, aQ as isDark, aR as lighten, aS as darken, ah as __export, aT as commonDb_exports, ac as clear } from "./router-BsFHVXz9.js";
2
+ import { d as d3arc } from "./arc-D7tpRkEi.js";
3
3
  import "../server.js";
4
4
  import "node:async_hooks";
5
5
  import "node:stream";
@@ -1,6 +1,6 @@
1
- import { h as createTreemapServices } from "./mermaid-parser.core-BTu6on9w.js";
2
- import { T } from "./mermaid-parser.core-BTu6on9w.js";
3
- import "./router-Ccw5_Sy3.js";
1
+ import { h as createTreemapServices } from "./mermaid-parser.core-CnuB2ez_.js";
2
+ import { T } from "./mermaid-parser.core-CnuB2ez_.js";
3
+ import "./router-BsFHVXz9.js";
4
4
  import "../server.js";
5
5
  import "node:async_hooks";
6
6
  import "node:stream";
@@ -12,9 +12,9 @@ import "node:stream/web";
12
12
  import "node:process";
13
13
  import "node:path";
14
14
  import "node:url";
15
- import "./_baseUniq-DiQVR768.js";
16
- import "./_basePickBy-C6PzK77c.js";
17
- import "./clone-Cxt50u0y.js";
15
+ import "./_baseUniq-CUkuvdrd.js";
16
+ import "./_basePickBy-DJvmB1bR.js";
17
+ import "./clone-MoYPVXz9.js";
18
18
  import "path";
19
19
  import "os";
20
20
  import "net";
@@ -1,5 +1,5 @@
1
1
  import { j as jsxRuntimeExports, r as reactExports, u as useRouterState, O as Outlet } from "../server.js";
2
- import { b3 as MessageSquare, b4 as GitCompare, b5 as FolderOpen, b6 as Route, u as useIsDesktop, b7 as useDashboardStore, i as isDesktop, f as useNavigate, t as trpc, b8 as DesktopDragRegion, b9 as ArrowLeft, ba as QuickOpenDialog } from "./router-Ccw5_Sy3.js";
2
+ import { b3 as MessageSquare, b4 as GitCompare, b5 as FolderOpen, b6 as Route, u as useIsDesktop, b7 as useDashboardStore, i as isDesktop, f as useNavigate, t as trpc, b8 as DesktopDragRegion, b9 as ArrowLeft, ba as QuickOpenDialog } from "./router-BsFHVXz9.js";
3
3
  import { S as SessionListContext, A as AgentSwitcherContext } from "./useSessionListContext-D_vX6E2e.js";
4
4
  import "node:async_hooks";
5
5
  import "node:stream";
@@ -1,5 +1,5 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../server.js";
2
- import { e as Route, f as useNavigate, g as useDiffStatsContext, h as useFindInFileContext, D as DiffView } from "./router-Ccw5_Sy3.js";
2
+ import { e as Route, f as useNavigate, g as useDiffStatsContext, h as useFindInFileContext, D as DiffView } from "./router-BsFHVXz9.js";
3
3
  import "node:async_hooks";
4
4
  import "node:stream";
5
5
  import "util";
@@ -1,5 +1,5 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../server.js";
2
- import { l as Route, f as useNavigate, h as useFindInFileContext, k as CodeBrowserView } from "./router-Ccw5_Sy3.js";
2
+ import { l as Route, f as useNavigate, h as useFindInFileContext, k as CodeBrowserView } from "./router-BsFHVXz9.js";
3
3
  import "node:async_hooks";
4
4
  import "node:stream";
5
5
  import "util";
@@ -1,5 +1,5 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../server.js";
2
- import { j as Route, f as useNavigate, h as useFindInFileContext, k as CodeBrowserView } from "./router-Ccw5_Sy3.js";
2
+ import { j as Route, f as useNavigate, h as useFindInFileContext, k as CodeBrowserView } from "./router-BsFHVXz9.js";
3
3
  import "node:async_hooks";
4
4
  import "node:stream";
5
5
  import "util";
@@ -1,5 +1,5 @@
1
1
  import { j as jsxRuntimeExports, r as reactExports } from "../server.js";
2
- import { R as Route, u as useIsDesktop, a as Navigate, i as isDesktop, b as useSettingsQuery, t as trpc, c as agentTypeSupportsSessionListing, C as ChatView } from "./router-Ccw5_Sy3.js";
2
+ import { R as Route, u as useIsDesktop, a as Navigate, i as isDesktop, b as useSettingsQuery, t as trpc, c as agentTypeSupportsSessionListing, C as ChatView } from "./router-BsFHVXz9.js";
3
3
  import { u as useSessionListContext, a as useAgentSwitcherContext } from "./useSessionListContext-D_vX6E2e.js";
4
4
  import "node:async_hooks";
5
5
  import "node:stream";
@@ -1,5 +1,5 @@
1
1
  import { j as jsxRuntimeExports, r as reactExports } from "../server.js";
2
- import { d as Route } from "./router-Ccw5_Sy3.js";
2
+ import { d as Route } from "./router-BsFHVXz9.js";
3
3
  import "node:async_hooks";
4
4
  import "node:stream";
5
5
  import "util";
@@ -10,7 +10,7 @@ import "node:stream/web";
10
10
  import "node:process";
11
11
  import "node:path";
12
12
  import "node:url";
13
- const DockviewTerminalContainer = reactExports.lazy(() => import("./DockviewTerminalContainer-DSwflA0D.js").then((m) => ({
13
+ const DockviewTerminalContainer = reactExports.lazy(() => import("./DockviewTerminalContainer-Db_wkLqm.js").then((m) => ({
14
14
  default: m.DockviewTerminalContainer
15
15
  })));
16
16
  function WorkspaceTerminal() {
@@ -1,8 +1,8 @@
1
1
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
2
- import { F as setAccDescription, G as getAccDescription, a7 as getDiagramTitle, a6 as setDiagramTitle, H as getAccTitle, J as setAccTitle, _ as __name, S as log, an as selectSvgElement, U as configureSvgSize, ac as clear, al as getConfig, X as sanitizeText, aj as cleanAndMerge, ak as defaultConfig_default, aE as getThemeVariables3, c2 as computeDimensionOfText, aM as line } from "./router-Ccw5_Sy3.js";
2
+ import { F as setAccDescription, G as getAccDescription, a7 as getDiagramTitle, a6 as setDiagramTitle, H as getAccTitle, J as setAccTitle, _ as __name, S as log, an as selectSvgElement, U as configureSvgSize, ac as clear, al as getConfig, X as sanitizeText, aj as cleanAndMerge, ak as defaultConfig_default, aE as getThemeVariables3, c2 as computeDimensionOfText, aM as line } from "./router-BsFHVXz9.js";
3
3
  import { i as initRange } from "./init-ZxktEp_H.js";
4
4
  import { o as ordinal } from "./ordinal-CxptdPJm.js";
5
- import { l as linear } from "./linear-BEU5iS3c.js";
5
+ import { l as linear } from "./linear-CEd9jvaW.js";
6
6
  import "../server.js";
7
7
  import "node:async_hooks";
8
8
  import "node:stream";
@@ -19380,7 +19380,7 @@ function getResponse() {
19380
19380
  return event.res;
19381
19381
  }
19382
19382
  async function getStartManifest(matchedRoutes) {
19383
- const { tsrStartManifest } = await import("./assets/_tanstack-start-manifest_v-CsSFK95L.js");
19383
+ const { tsrStartManifest } = await import("./assets/_tanstack-start-manifest_v-BrA63W9v.js");
19384
19384
  const startManifest = tsrStartManifest();
19385
19385
  const rootRoute = startManifest.routes[rootRouteId] = startManifest.routes[rootRouteId] || {};
19386
19386
  rootRoute.assets = rootRoute.assets || [];
@@ -19956,7 +19956,7 @@ let entriesPromise;
19956
19956
  let baseManifestPromise;
19957
19957
  let cachedFinalManifestPromise;
19958
19958
  async function loadEntries() {
19959
- const routerEntry = await import("./assets/router-Ccw5_Sy3.js").then((n2) => n2.c$);
19959
+ const routerEntry = await import("./assets/router-BsFHVXz9.js").then((n2) => n2.c$);
19960
19960
  const startEntry = await import("./assets/start-HYkvq4Ni.js");
19961
19961
  return { startEntry, routerEntry };
19962
19962
  }
@@ -131518,6 +131518,7 @@ function getOrCreateDefaultChat(workspaceId) {
131518
131518
  }
131519
131519
 
131520
131520
  // src/lib/queued-message-store.ts
131521
+ import { randomUUID } from "node:crypto";
131521
131522
  var QUEUED_KEY = Symbol.for("band.queued-messages");
131522
131523
  var LISTENERS_KEY = Symbol.for("band.queued-messages.listeners");
131523
131524
  var g10 = globalThis;
@@ -131526,7 +131527,7 @@ if (!g10[LISTENERS_KEY]) g10[LISTENERS_KEY] = /* @__PURE__ */ new Set();
131526
131527
  var store = g10[QUEUED_KEY];
131527
131528
  var queueListeners = g10[LISTENERS_KEY];
131528
131529
  function notify(chatId) {
131529
- const messages = [...store.get(chatId) ?? []];
131530
+ const messages = (store.get(chatId) ?? []).map(cloneMessage);
131530
131531
  for (const listener of queueListeners) {
131531
131532
  try {
131532
131533
  listener(chatId, messages);
@@ -131534,31 +131535,49 @@ function notify(chatId) {
131534
131535
  }
131535
131536
  }
131536
131537
  }
131538
+ function cloneMessage(msg) {
131539
+ return {
131540
+ id: msg.id,
131541
+ text: msg.text,
131542
+ files: msg.files ? msg.files.map((f10) => ({ ...f10 })) : void 0
131543
+ };
131544
+ }
131537
131545
  function subscribeQueue(listener) {
131538
131546
  queueListeners.add(listener);
131539
131547
  return () => {
131540
131548
  queueListeners.delete(listener);
131541
131549
  };
131542
131550
  }
131543
- function pushQueuedMessage(chatId, text4) {
131551
+ function pushQueuedMessage(chatId, input) {
131552
+ const message = {
131553
+ id: randomUUID(),
131554
+ text: input.text,
131555
+ files: input.files && input.files.length > 0 ? input.files.map((f10) => ({ ...f10 })) : void 0
131556
+ };
131544
131557
  const msgs = store.get(chatId);
131545
131558
  if (msgs) {
131546
- msgs.push(text4);
131559
+ msgs.push(message);
131547
131560
  } else {
131548
- store.set(chatId, [text4]);
131561
+ store.set(chatId, [message]);
131549
131562
  }
131550
131563
  notify(chatId);
131564
+ return cloneMessage(message);
131551
131565
  }
131552
- function setQueuedMessages(chatId, texts) {
131553
- if (texts.length === 0) {
131566
+ function setQueuedMessages(chatId, messages) {
131567
+ if (messages.length === 0) {
131554
131568
  store.delete(chatId);
131555
131569
  } else {
131556
- store.set(chatId, [...texts]);
131570
+ const stored = messages.map((m11) => ({
131571
+ id: m11.id ?? randomUUID(),
131572
+ text: m11.text,
131573
+ files: m11.files && m11.files.length > 0 ? m11.files.map((f10) => ({ ...f10 })) : void 0
131574
+ }));
131575
+ store.set(chatId, stored);
131557
131576
  }
131558
131577
  notify(chatId);
131559
131578
  }
131560
131579
  function getQueuedMessages(chatId) {
131561
- return store.get(chatId) ?? [];
131580
+ return (store.get(chatId) ?? []).map(cloneMessage);
131562
131581
  }
131563
131582
  function shiftQueuedMessage(chatId) {
131564
131583
  const msgs = store.get(chatId);
@@ -131566,12 +131585,21 @@ function shiftQueuedMessage(chatId) {
131566
131585
  const first = msgs.shift();
131567
131586
  if (msgs.length === 0) store.delete(chatId);
131568
131587
  notify(chatId);
131569
- return first;
131588
+ return cloneMessage(first);
131589
+ }
131590
+ function updateQueuedMessage(chatId, id, text4) {
131591
+ const msgs = store.get(chatId);
131592
+ if (!msgs) return false;
131593
+ const idx = msgs.findIndex((m11) => m11.id === id);
131594
+ if (idx === -1) return false;
131595
+ msgs[idx] = { ...msgs[idx], text: text4 };
131596
+ notify(chatId);
131597
+ return true;
131570
131598
  }
131571
- function removeQueuedMessage(chatId, text4) {
131599
+ function removeQueuedMessage(chatId, id) {
131572
131600
  const msgs = store.get(chatId);
131573
131601
  if (!msgs) return false;
131574
- const idx = msgs.indexOf(text4);
131602
+ const idx = msgs.findIndex((m11) => m11.id === id);
131575
131603
  if (idx === -1) return false;
131576
131604
  msgs.splice(idx, 1);
131577
131605
  if (msgs.length === 0) store.delete(chatId);
@@ -131586,7 +131614,7 @@ function clearQueuedMessages(chatId) {
131586
131614
  // src/lib/task-runner.ts
131587
131615
  init_src();
131588
131616
  import { mkdirSync as mkdirSync4, readdirSync as readdirSync6 } from "node:fs";
131589
- import { join as join15 } from "node:path";
131617
+ import { join as join16 } from "node:path";
131590
131618
 
131591
131619
  // src/lib/mime-types.ts
131592
131620
  import { extname } from "node:path";
@@ -131751,6 +131779,38 @@ function rowToRecord(row) {
131751
131779
  };
131752
131780
  }
131753
131781
 
131782
+ // src/lib/upload-utils.ts
131783
+ import { mkdir, writeFile } from "node:fs/promises";
131784
+ import { join as join15 } from "node:path";
131785
+ async function saveUploadedFilesDetailed(fileParts) {
131786
+ const uploadDir = join15(bandHome(), "uploads");
131787
+ await mkdir(uploadDir, { recursive: true });
131788
+ const baseTimestamp = Date.now();
131789
+ const saved = [];
131790
+ for (let i2 = 0; i2 < fileParts.length; i2++) {
131791
+ const part = fileParts[i2];
131792
+ const dataUrlMatch = part.url.match(/^data:[^;]+;base64,(.+)$/);
131793
+ if (!dataUrlMatch) continue;
131794
+ const buffer = Buffer.from(dataUrlMatch[1], "base64");
131795
+ const filename = part.filename || `file-${baseTimestamp}`;
131796
+ const safeOriginal = filename.replace(/[^a-zA-Z0-9._-]/g, "_");
131797
+ const storedName = `${baseTimestamp}-${i2}-${safeOriginal}`;
131798
+ const filePath = join15(uploadDir, storedName);
131799
+ await writeFile(filePath, buffer);
131800
+ saved.push({
131801
+ path: filePath,
131802
+ storedName,
131803
+ mediaType: part.mediaType,
131804
+ originalName: part.filename
131805
+ });
131806
+ }
131807
+ return saved;
131808
+ }
131809
+ async function saveUploadedFiles(fileParts) {
131810
+ const saved = await saveUploadedFilesDetailed(fileParts);
131811
+ return saved.map((f10) => f10.path);
131812
+ }
131813
+
131754
131814
  // src/lib/workspace.ts
131755
131815
  function resolveWorkspace(workspaceId) {
131756
131816
  const state2 = loadState();
@@ -131865,6 +131925,7 @@ function submitTask(options2) {
131865
131925
  prompt,
131866
131926
  sessionId,
131867
131927
  agentPrompt,
131928
+ displayFiles,
131868
131929
  maxTurns,
131869
131930
  mode,
131870
131931
  model,
@@ -131889,6 +131950,7 @@ function submitTask(options2) {
131889
131950
  prompt,
131890
131951
  taskRecordId,
131891
131952
  agentPrompt: agentPrompt ?? prompt,
131953
+ displayFiles: displayFiles && displayFiles.length > 0 ? displayFiles : void 0,
131892
131954
  maxTurns,
131893
131955
  mode,
131894
131956
  model,
@@ -131987,7 +132049,7 @@ async function runTask(chatId, task) {
131987
132049
  updateChatStatus(chatId, "running");
131988
132050
  const working = upsertWorkspaceStatus(task.workspaceId, { status: "working" });
131989
132051
  emit({ kind: "update", status: working });
131990
- const sharedDir = join15(bandHome(), "shared", task.workspaceId);
132052
+ const sharedDir = join16(bandHome(), "shared", task.workspaceId);
131991
132053
  mkdirSync4(sharedDir, { recursive: true });
131992
132054
  const INTERACTIVE_TOOLS = /* @__PURE__ */ new Set(["AskUserQuestion", "ExitPlanMode"]);
131993
132055
  let textPartId = "";
@@ -132044,7 +132106,10 @@ async function runTask(chatId, task) {
132044
132106
  });
132045
132107
  broadcast(chatId, {
132046
132108
  type: "user-message",
132047
- text: task.prompt
132109
+ text: task.prompt,
132110
+ ...task.displayFiles && task.displayFiles.length > 0 && {
132111
+ files: task.displayFiles
132112
+ }
132048
132113
  });
132049
132114
  break;
132050
132115
  }
@@ -132264,14 +132329,35 @@ async function runTask(chatId, task) {
132264
132329
  const queued = shiftQueuedMessage(chatId);
132265
132330
  if (queued) {
132266
132331
  try {
132332
+ let agentPrompt;
132333
+ let displayFiles;
132334
+ if (queued.files && queued.files.length > 0) {
132335
+ const saved = await saveUploadedFilesDetailed(queued.files);
132336
+ if (saved.length > 0) {
132337
+ const fileList = saved.map((s6) => `- ${s6.path}`).join("\n");
132338
+ agentPrompt = `I'm sharing these files with you:
132339
+ ${fileList}
132340
+
132341
+ ${queued.text}`;
132342
+ displayFiles = saved.map((s6) => ({
132343
+ mediaType: s6.mediaType,
132344
+ url: `/api/uploads/${s6.storedName}`,
132345
+ filename: s6.originalName
132346
+ }));
132347
+ }
132348
+ }
132267
132349
  broadcast(chatId, {
132268
132350
  type: "data-prompt",
132269
- data: { text: queued }
132351
+ data: {
132352
+ text: queued.text,
132353
+ ...displayFiles && displayFiles.length > 0 && { files: displayFiles }
132354
+ }
132270
132355
  });
132271
132356
  submitTask({
132272
132357
  workspaceId: task.workspaceId,
132273
132358
  chatId,
132274
- prompt: queued,
132359
+ prompt: queued.text,
132360
+ agentPrompt,
132275
132361
  sessionId: task.sessionId
132276
132362
  });
132277
132363
  autoStarted = true;
@@ -132375,27 +132461,6 @@ function getSessionEventsAfter(sessionId, afterEventId) {
132375
132461
  return buf.events.filter((e2) => (e2.eventId ?? 0) > afterEventId).map((c2) => chunkToRecord(sessionId, c2));
132376
132462
  }
132377
132463
 
132378
- // src/lib/upload-utils.ts
132379
- import { mkdir, writeFile } from "node:fs/promises";
132380
- import { join as join16 } from "node:path";
132381
- async function saveUploadedFiles(fileParts) {
132382
- const uploadDir = join16(bandHome(), "uploads");
132383
- await mkdir(uploadDir, { recursive: true });
132384
- const savedPaths = [];
132385
- for (const part of fileParts) {
132386
- const dataUrlMatch = part.url.match(/^data:[^;]+;base64,(.+)$/);
132387
- if (!dataUrlMatch) continue;
132388
- const buffer = Buffer.from(dataUrlMatch[1], "base64");
132389
- const timestamp2 = Date.now();
132390
- const filename = part.filename || `file-${timestamp2}`;
132391
- const safeName = `${timestamp2}-${filename.replace(/[^a-zA-Z0-9._-]/g, "_")}`;
132392
- const filePath = join16(uploadDir, safeName);
132393
- await writeFile(filePath, buffer);
132394
- savedPaths.push(filePath);
132395
- }
132396
- return savedPaths;
132397
- }
132398
-
132399
132464
  // src/api/task-stream.ts
132400
132465
  var log12 = createLogger("task-stream");
132401
132466
  var INTERNAL_CHUNK_TYPES = /* @__PURE__ */ new Set(["user-message"]);
@@ -132532,14 +132597,20 @@ async function handlePost(req, res, chatId) {
132532
132597
  createChat(workspaceId, { id: chatId, name: "Chat", agent: codingAgentId });
132533
132598
  }
132534
132599
  let agentPrompt;
132600
+ let displayFiles;
132535
132601
  if (files && files.length > 0) {
132536
- const savedPaths = await saveUploadedFiles(files);
132537
- if (savedPaths.length > 0) {
132538
- const fileList = savedPaths.map((p6) => `- ${p6}`).join("\n");
132602
+ const saved = await saveUploadedFilesDetailed(files);
132603
+ if (saved.length > 0) {
132604
+ const fileList = saved.map((s6) => `- ${s6.path}`).join("\n");
132539
132605
  agentPrompt = `I'm sharing these files with you:
132540
132606
  ${fileList}
132541
132607
 
132542
132608
  ${prompt}`;
132609
+ displayFiles = saved.map((s6) => ({
132610
+ mediaType: s6.mediaType,
132611
+ url: `/api/uploads/${s6.storedName}`,
132612
+ filename: s6.originalName
132613
+ }));
132543
132614
  }
132544
132615
  }
132545
132616
  try {
@@ -132549,6 +132620,7 @@ ${prompt}`;
132549
132620
  prompt,
132550
132621
  sessionId,
132551
132622
  agentPrompt,
132623
+ displayFiles,
132552
132624
  maxTurns,
132553
132625
  mode,
132554
132626
  model,
@@ -141580,7 +141652,7 @@ function createContext7() {
141580
141652
 
141581
141653
  // src/trpc/router.ts
141582
141654
  import { execFile as execFile5, execFileSync as execFileSync2 } from "node:child_process";
141583
- import { randomUUID } from "node:crypto";
141655
+ import { randomUUID as randomUUID2 } from "node:crypto";
141584
141656
  import { existsSync as existsSync7, mkdirSync as mkdirSync7, unlinkSync as unlinkSync3 } from "node:fs";
141585
141657
  import { readdir as readdir2, readFile as readFile2, rm, stat as stat4, writeFile as writeFile2 } from "node:fs/promises";
141586
141658
  import { basename, extname as extname2, join as join22, resolve as resolve6 } from "node:path";
@@ -141904,10 +141976,22 @@ function convertEventsToUIMessages(events) {
141904
141976
  case "user-message": {
141905
141977
  flushText();
141906
141978
  currentAssistant = null;
141979
+ const userParts = [{ type: "text", text: chunk.text }];
141980
+ const userFiles = chunk.files;
141981
+ if (Array.isArray(userFiles)) {
141982
+ for (const f10 of userFiles) {
141983
+ userParts.push({
141984
+ type: "file",
141985
+ mediaType: f10.mediaType,
141986
+ url: f10.url,
141987
+ ...f10.filename && { filename: f10.filename }
141988
+ });
141989
+ }
141990
+ }
141907
141991
  messages.push({
141908
141992
  id: crypto.randomUUID(),
141909
141993
  role: "user",
141910
- parts: [{ type: "text", text: chunk.text }]
141994
+ parts: userParts
141911
141995
  });
141912
141996
  break;
141913
141997
  }
@@ -141915,10 +141999,21 @@ function convertEventsToUIMessages(events) {
141915
141999
  flushText();
141916
142000
  currentAssistant = null;
141917
142001
  const data = chunk.data;
142002
+ const promptParts = [{ type: "text", text: data.text }];
142003
+ if (Array.isArray(data.files)) {
142004
+ for (const f10 of data.files) {
142005
+ promptParts.push({
142006
+ type: "file",
142007
+ mediaType: f10.mediaType,
142008
+ url: f10.url,
142009
+ ...f10.filename && { filename: f10.filename }
142010
+ });
142011
+ }
142012
+ }
141918
142013
  messages.push({
141919
142014
  id: crypto.randomUUID(),
141920
142015
  role: "user",
141921
- parts: [{ type: "text", text: data.text }]
142016
+ parts: promptParts
141922
142017
  });
141923
142018
  break;
141924
142019
  }
@@ -143879,37 +143974,67 @@ var browsersRouter = t2.router({
143879
143974
  return { ok: true };
143880
143975
  })
143881
143976
  });
143977
+ var queuedFileSchema = external_exports2.object({
143978
+ mediaType: external_exports2.string(),
143979
+ url: external_exports2.string(),
143980
+ filename: external_exports2.string().optional()
143981
+ });
143882
143982
  var queueRouter = t2.router({
143883
- push: publicProcedure.input(external_exports2.object({ workspaceId: external_exports2.string(), chatId: external_exports2.string().optional(), text: external_exports2.string() })).mutation(({ input }) => {
143983
+ push: publicProcedure.input(
143984
+ external_exports2.object({
143985
+ workspaceId: external_exports2.string(),
143986
+ chatId: external_exports2.string().optional(),
143987
+ text: external_exports2.string(),
143988
+ files: external_exports2.array(queuedFileSchema).optional()
143989
+ })
143990
+ ).mutation(({ input }) => {
143884
143991
  const chatId = input.chatId ?? getOrCreateDefaultChat(input.workspaceId).id;
143885
- pushQueuedMessage(chatId, input.text);
143886
- return { ok: true, messages: getQueuedMessages(chatId) };
143992
+ const message = pushQueuedMessage(chatId, { text: input.text, files: input.files });
143993
+ return { ok: true, message, messages: getQueuedMessages(chatId) };
143887
143994
  }),
143888
143995
  set: publicProcedure.input(
143889
143996
  external_exports2.object({
143890
143997
  workspaceId: external_exports2.string(),
143891
143998
  chatId: external_exports2.string().optional(),
143892
- messages: external_exports2.array(external_exports2.string())
143999
+ messages: external_exports2.array(
144000
+ external_exports2.object({
144001
+ id: external_exports2.string().optional(),
144002
+ text: external_exports2.string(),
144003
+ files: external_exports2.array(queuedFileSchema).optional()
144004
+ })
144005
+ )
143893
144006
  })
143894
144007
  ).mutation(({ input }) => {
143895
144008
  const chatId = input.chatId ?? getOrCreateDefaultChat(input.workspaceId).id;
143896
144009
  setQueuedMessages(chatId, input.messages);
143897
- return { ok: true };
144010
+ return { ok: true, messages: getQueuedMessages(chatId) };
143898
144011
  }),
143899
144012
  get: publicProcedure.input(external_exports2.object({ workspaceId: external_exports2.string(), chatId: external_exports2.string().optional() })).query(({ input }) => {
143900
144013
  const chatId = input.chatId ?? getOrCreateDefaultChat(input.workspaceId).id;
143901
144014
  const messages = getQueuedMessages(chatId);
143902
144015
  return { messages };
143903
144016
  }),
143904
- remove: publicProcedure.input(external_exports2.object({ workspaceId: external_exports2.string(), chatId: external_exports2.string().optional(), text: external_exports2.string() })).mutation(({ input }) => {
144017
+ remove: publicProcedure.input(external_exports2.object({ workspaceId: external_exports2.string(), chatId: external_exports2.string().optional(), id: external_exports2.string() })).mutation(({ input }) => {
143905
144018
  const chatId = input.chatId ?? getOrCreateDefaultChat(input.workspaceId).id;
143906
- removeQueuedMessage(chatId, input.text);
143907
- return { ok: true, messages: getQueuedMessages(chatId) };
144019
+ const removed = removeQueuedMessage(chatId, input.id);
144020
+ return { ok: true, removed, messages: getQueuedMessages(chatId) };
144021
+ }),
144022
+ update: publicProcedure.input(
144023
+ external_exports2.object({
144024
+ workspaceId: external_exports2.string(),
144025
+ chatId: external_exports2.string().optional(),
144026
+ id: external_exports2.string(),
144027
+ text: external_exports2.string()
144028
+ })
144029
+ ).mutation(({ input }) => {
144030
+ const chatId = input.chatId ?? getOrCreateDefaultChat(input.workspaceId).id;
144031
+ const updated = updateQueuedMessage(chatId, input.id, input.text);
144032
+ return { ok: true, updated, messages: getQueuedMessages(chatId) };
143908
144033
  }),
143909
144034
  shift: publicProcedure.input(external_exports2.object({ workspaceId: external_exports2.string(), chatId: external_exports2.string().optional() })).mutation(({ input }) => {
143910
144035
  const chatId = input.chatId ?? getOrCreateDefaultChat(input.workspaceId).id;
143911
- const text4 = shiftQueuedMessage(chatId);
143912
- return { text: text4 };
144036
+ const message = shiftQueuedMessage(chatId);
144037
+ return { message };
143913
144038
  }),
143914
144039
  clear: publicProcedure.input(external_exports2.object({ workspaceId: external_exports2.string(), chatId: external_exports2.string().optional() })).mutation(({ input }) => {
143915
144040
  const chatId = input.chatId ?? getOrCreateDefaultChat(input.workspaceId).id;
@@ -143968,7 +144093,7 @@ var terminalRouter = t2.router({
143968
144093
  env: external_exports2.record(external_exports2.string()).optional()
143969
144094
  })
143970
144095
  ).mutation(async ({ input }) => {
143971
- const terminalId = input.id ?? randomUUID();
144096
+ const terminalId = input.id ?? randomUUID2();
143972
144097
  const session = await spawnTerminal(input.workspaceId, terminalId, {
143973
144098
  command: input.command,
143974
144099
  cwd: input.cwd,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@band-app/server",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "band-server": "./bin/band-server.mjs"
@@ -80,10 +80,10 @@
80
80
  "vitest": "^4.0.18",
81
81
  "ws": "^8.18.0",
82
82
  "zod": "^3.25.67",
83
- "@band-app/dashboard-core": "^0.6.0",
84
- "@band-app/ui": "^0.6.0",
85
- "@band-app/logger": "^0.6.0",
86
- "@band-app/coding-agent": "^0.6.0"
83
+ "@band-app/coding-agent": "^0.7.0",
84
+ "@band-app/logger": "^0.7.0",
85
+ "@band-app/ui": "^0.7.0",
86
+ "@band-app/dashboard-core": "^0.7.0"
87
87
  },
88
88
  "scripts": {
89
89
  "dev": "vite dev --port 3456 --host 0.0.0.0",
@@ -1 +0,0 @@
1
- import{ai as o,aj as n}from"./main-BreB9CwG.js";const t=(a,r)=>o.lang.round(n.parse(a)[r]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-B4BG7PRW-kNN7PAII.js";import{S as i}from"./main-BreB9CwG.js";import"./chunk-FMBD7UC4-F6mPv_S0.js";import"./chunk-55IACEB6-MseixGRc.js";import"./chunk-QN33PNHL-BYvpvAhN.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-B4BG7PRW-kNN7PAII.js";import{S as i}from"./main-BreB9CwG.js";import"./chunk-FMBD7UC4-F6mPv_S0.js";import"./chunk-55IACEB6-MseixGRc.js";import"./chunk-QN33PNHL-BYvpvAhN.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1 +0,0 @@
1
- import{b as r}from"./_baseUniq-LspNqeMx.js";var e=4;function a(o){return r(o,e)}export{a as c};