@band-app/server 0.13.1 → 0.15.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.
- package/dist/client/assets/{DockviewTerminalContainer-DY9YDc8o.js → DockviewTerminalContainer-DJBIrF63.js} +2 -2
- package/dist/client/assets/{TerminalPanel-TQGgFc5g.js → TerminalPanel-CJRwWyR3.js} +1 -1
- package/dist/client/assets/{_basePickBy-CvS-VtsR.js → _basePickBy-Dc0lZvrW.js} +1 -1
- package/dist/client/assets/{_baseUniq-DFCKF5vj.js → _baseUniq-Cf73kSyg.js} +1 -1
- package/dist/client/assets/{arc-BatjPjaN.js → arc-CwSM8pE7.js} +1 -1
- package/dist/client/assets/{architectureDiagram-VXUJARFQ-Cnb8SKvZ.js → architectureDiagram-VXUJARFQ-CH39Gb3A.js} +1 -1
- package/dist/client/assets/{blockDiagram-VD42YOAC-B6-qvfYN.js → blockDiagram-VD42YOAC-DDxgl1uo.js} +1 -1
- package/dist/client/assets/{c4Diagram-YG6GDRKO-DAjB1VyY.js → c4Diagram-YG6GDRKO-BfEjKk-g.js} +1 -1
- package/dist/client/assets/channel-CXGOk1aw.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-vjmc3quM.js → chunk-4BX2VUAB-m8XoXk_H.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-DDZjRfYY.js → chunk-55IACEB6-CtGE4lZU.js} +1 -1
- package/dist/client/assets/{chunk-B4BG7PRW-CKceWukV.js → chunk-B4BG7PRW-e8RHFxfZ.js} +1 -1
- package/dist/client/assets/{chunk-DI55MBZ5-CRnRm2L0.js → chunk-DI55MBZ5-6OH7qKMA.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-Cogf-yAQ.js → chunk-FMBD7UC4-OC-xaPXK.js} +1 -1
- package/dist/client/assets/{chunk-QN33PNHL-D72Zq7QV.js → chunk-QN33PNHL-OAk8wo3f.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-HUKu5hjd.js → chunk-QZHKN3VN-BQaX9Wrw.js} +1 -1
- package/dist/client/assets/{chunk-TZMSLE5B-I8YlhesW.js → chunk-TZMSLE5B-BB9WpJAf.js} +1 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-CN-WyCFd.js +1 -0
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-CN-WyCFd.js +1 -0
- package/dist/client/assets/clone-BLJrTeWA.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-CEay61-1.js → cose-bilkent-S5V4N54A-C9h_X8Kk.js} +1 -1
- package/dist/client/assets/{dagre-6UL2VRFP-BcAohjbk.js → dagre-6UL2VRFP-DqYC11ua.js} +1 -1
- package/dist/client/assets/{diagram-PSM6KHXK-DdrIOdqS.js → diagram-PSM6KHXK-CI1DRC6A.js} +1 -1
- package/dist/client/assets/{diagram-QEK2KX5R-Bn79GyS6.js → diagram-QEK2KX5R-fCfXFf0Y.js} +1 -1
- package/dist/client/assets/{diagram-S2PKOQOG-g66OM_Vs.js → diagram-S2PKOQOG-ShkC9z2o.js} +1 -1
- package/dist/client/assets/{erDiagram-Q2GNP2WA-BD0geyEq.js → erDiagram-Q2GNP2WA-CaIQw3Ar.js} +1 -1
- package/dist/client/assets/{flowDiagram-NV44I4VS-B2LLnQ89.js → flowDiagram-NV44I4VS-CBTayrED.js} +1 -1
- package/dist/client/assets/{ganttDiagram-JELNMOA3-DsMjiqCd.js → ganttDiagram-JELNMOA3-BXX1Htdo.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-V2S2FVAM-BXAPNFr2.js → gitGraphDiagram-V2S2FVAM-Dwzg4ngG.js} +1 -1
- package/dist/client/assets/{graph-CWoXix-C.js → graph-CiXo3Prx.js} +1 -1
- package/dist/client/assets/{highlighted-body-B3W2YXNL-DAdM8cs5.js → highlighted-body-B3W2YXNL-7aLtgz8i.js} +1 -1
- package/dist/client/assets/{index-B-RxFKXA.js → index-BCNUajNr.js} +1 -1
- package/dist/client/assets/{index-Bu7btU1P.js → index-BMWcJGJE.js} +1 -1
- package/dist/client/assets/{index-W_gE5gc5.js → index-C1zwysWn.js} +1 -1
- package/dist/client/assets/{index-6eC517Nz.js → index-CO6I2abN.js} +1 -1
- package/dist/client/assets/{index-GgiGfqqJ.js → index-CR-ehys5.js} +1 -1
- package/dist/client/assets/{index-D4Gbu0g1.js → index-CVm5Qdu2.js} +1 -1
- package/dist/client/assets/{index-iloqZ__Z.js → index-CfYqVQ5p.js} +1 -1
- package/dist/client/assets/{index-BSQYe-ie.js → index-Cg6YccFW.js} +1 -1
- package/dist/client/assets/{index-Dkltc6JL.js → index-DQmzIoYb.js} +1 -1
- package/dist/client/assets/{index-U42qt8_H.js → index-DRtcpY-M.js} +1 -1
- package/dist/client/assets/{index-DeUgVu9X.js → index-DZu_2Bx_.js} +1 -1
- package/dist/client/assets/{index-B_aLrZ9l.js → index-De1kIhJh.js} +1 -1
- package/dist/client/assets/{index-DgRC8NQ1.js → index-Di4toQJ5.js} +1 -1
- package/dist/client/assets/{index-C8jQlbkH.js → index-DmilV26W.js} +1 -1
- package/dist/client/assets/{index-D-NVfOaX.js → index-Du9yJkB_.js} +1 -1
- package/dist/client/assets/{index-BcC597Ty.js → index-DypgdPcb.js} +1 -1
- package/dist/client/assets/{index-B9fPtAFu.js → index-Gs7HImF7.js} +1 -1
- package/dist/client/assets/{index-HueLRLHI.js → index-eX1Ljh4a.js} +1 -1
- package/dist/client/assets/{infoDiagram-HS3SLOUP-DwKN27-C.js → infoDiagram-HS3SLOUP-CWD1TyOW.js} +1 -1
- package/dist/client/assets/{journeyDiagram-XKPGCS4Q-BAhwB5gg.js → journeyDiagram-XKPGCS4Q-DhxNYqmd.js} +1 -1
- package/dist/client/assets/{kanban-definition-3W4ZIXB7-OI1AHf6B.js → kanban-definition-3W4ZIXB7-CnS4C6i0.js} +1 -1
- package/dist/client/assets/{layout-CC7J3tBc.js → layout-CSID7t17.js} +1 -1
- package/dist/client/assets/{linear-CVYb-eZl.js → linear-DoyBnBXg.js} +1 -1
- package/dist/client/assets/main-DYrDxnSM.css +1 -0
- package/dist/client/assets/main-DqsO5O95.js +993 -0
- package/dist/client/assets/{mindmap-definition-VGOIOE7T-BPKIWA4L.js → mindmap-definition-VGOIOE7T-DInqVMnG.js} +1 -1
- package/dist/client/assets/{pieDiagram-ADFJNKIX-DeHQukcp.js → pieDiagram-ADFJNKIX-9NXrhDdT.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-AYHSOK5B-DIA0izdW.js → quadrantDiagram-AYHSOK5B-C9V_pdwH.js} +1 -1
- package/dist/client/assets/{requirementDiagram-UZGBJVZJ-DsiZI-w_.js → requirementDiagram-UZGBJVZJ-D7InXBsj.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-TZEHDZUN-B3Rxgvvo.js → sankeyDiagram-TZEHDZUN-wucasjR9.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-WL72ISMW-CdnagSZH.js → sequenceDiagram-WL72ISMW-z8y3Dw_f.js} +1 -1
- package/dist/client/assets/{square-terminal-BA_DN1Fj.js → square-terminal-BGmf1D-6.js} +1 -1
- package/dist/client/assets/{stateDiagram-FKZM4ZOC-C9HYyYWO.js → stateDiagram-FKZM4ZOC-UgwHItEV.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-B0Y2fSqT.js +1 -0
- package/dist/client/assets/{timeline-definition-IT6M3QCI-BQXhdJ4l.js → timeline-definition-IT6M3QCI-BFRCSYLj.js} +1 -1
- package/dist/client/assets/{treemap-GDKQZRPO-DbtL6I-E.js → treemap-GDKQZRPO-aQmWnuZQ.js} +1 -1
- package/dist/client/assets/{useSessionListContext-BDhxj2sp.js → useSessionListContext-HoR6j8FY.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId-DrdBQ3ad.js → workspace._workspaceId-DGCQw9gi.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId.changes-CV01j_RF.js → workspace._workspaceId.changes-DBE9NcLH.js} +1 -1
- package/dist/client/assets/workspace._workspaceId.code-Cc2uBW1l.js +1 -0
- package/dist/client/assets/{workspace._workspaceId.code._-4eyD4Vu7.js → workspace._workspaceId.code._-CsnvG2rj.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId.code.index-BazGXzJC.js → workspace._workspaceId.code.index-BdfNmZpz.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId.index-CpmZsM_r.js → workspace._workspaceId.index-C7NyedGf.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId.terminal-Sx7Ov6J4.js → workspace._workspaceId.terminal-C5ph2UWn.js} +2 -2
- package/dist/client/assets/{xychartDiagram-PRI3JC2R-B9LSl0HQ.js → xychartDiagram-PRI3JC2R-DElSdzdM.js} +1 -1
- package/dist/server/assets/{DockviewTerminalContainer-DVzWSMti.js → DockviewTerminalContainer-Btn06b30.js} +3 -3
- package/dist/server/assets/{TerminalPanel-BlWVFHNT.js → TerminalPanel-DiuUhPK5.js} +1 -1
- package/dist/server/assets/{_basePickBy-CTVBF0Kh.js → _basePickBy-D5WFbUhD.js} +2 -2
- package/dist/server/assets/{_baseUniq-BF3qFyKL.js → _baseUniq-DFZeWlPn.js} +1 -1
- package/dist/server/assets/{_tanstack-start-manifest_v-sqmMCsD8.js → _tanstack-start-manifest_v-UCApGYfd.js} +1 -1
- package/dist/server/assets/{arc-CKzdlSDJ.js → arc-B1QmYB3V.js} +1 -1
- package/dist/server/assets/{architecture-7HQA4BMR-C4KC3q3z.js → architecture-7HQA4BMR-SXElPY6g.js} +6 -6
- package/dist/server/assets/{architectureDiagram-VXUJARFQ-ARkeTUdc.js → architectureDiagram-VXUJARFQ-H4ZI6Opr.js} +6 -6
- package/dist/server/assets/{blockDiagram-VD42YOAC-lsOOO08K.js → blockDiagram-VD42YOAC-UhTmqpkK.js} +6 -6
- package/dist/server/assets/{c4Diagram-YG6GDRKO-CrZA0PWP.js → c4Diagram-YG6GDRKO-BcLh1QQl.js} +2 -2
- package/dist/server/assets/{channel-Dd6dv_cn.js → channel-DVtl256s.js} +1 -1
- package/dist/server/assets/{chunk-4BX2VUAB-CfcFinva.js → chunk-4BX2VUAB-BYUElNcW.js} +1 -1
- package/dist/server/assets/{chunk-55IACEB6-C_zn3X68.js → chunk-55IACEB6-CQXVz3Ix.js} +1 -1
- package/dist/server/assets/{chunk-B4BG7PRW-WqOdzIwb.js → chunk-B4BG7PRW-xbFaXlOL.js} +4 -4
- package/dist/server/assets/{chunk-DI55MBZ5-BazpEGnL.js → chunk-DI55MBZ5-BWUyQjGD.js} +3 -3
- package/dist/server/assets/{chunk-FMBD7UC4-abFXQK9X.js → chunk-FMBD7UC4-tuJ9minw.js} +1 -1
- package/dist/server/assets/{chunk-QN33PNHL-mQORkMwR.js → chunk-QN33PNHL-B9p522HA.js} +1 -1
- package/dist/server/assets/{chunk-QZHKN3VN-W_mObo75.js → chunk-QZHKN3VN-C6GPdMrh.js} +1 -1
- package/dist/server/assets/{chunk-TZMSLE5B-f9JxfLrS.js → chunk-TZMSLE5B-6Ng3t3Od.js} +1 -1
- package/dist/server/assets/{classDiagram-v2-WZHVMYZB-D9B26ZaP.js → classDiagram-2ON5EDUG-BvOdRP7s.js} +5 -5
- package/dist/server/assets/{classDiagram-2ON5EDUG-D9B26ZaP.js → classDiagram-v2-WZHVMYZB-BvOdRP7s.js} +5 -5
- package/dist/server/assets/{clone-dm3Dgnj4.js → clone-CuDKCzEN.js} +1 -1
- package/dist/server/assets/{cose-bilkent-S5V4N54A-FP17KwdC.js → cose-bilkent-S5V4N54A-BhU6LMhN.js} +1 -1
- package/dist/server/assets/{dagre-6UL2VRFP-D3G7rpV5.js → dagre-6UL2VRFP-CH-VbyTI.js} +6 -6
- package/dist/server/assets/{diagram-PSM6KHXK-CblBgzmP.js → diagram-PSM6KHXK-BE0vVJdc.js} +7 -7
- package/dist/server/assets/{diagram-QEK2KX5R-GC4Djt9A.js → diagram-QEK2KX5R-rlYyF51_.js} +6 -6
- package/dist/server/assets/{diagram-S2PKOQOG-5B6KDW-y.js → diagram-S2PKOQOG-CsrxbKjr.js} +6 -6
- package/dist/server/assets/{erDiagram-Q2GNP2WA-Be8xw8rI.js → erDiagram-Q2GNP2WA-DeBKeqCX.js} +4 -4
- package/dist/server/assets/{flowDiagram-NV44I4VS-jzmSul5A.js → flowDiagram-NV44I4VS-hg6b4dSR.js} +5 -5
- package/dist/server/assets/{ganttDiagram-JELNMOA3-DWzYYJJD.js → ganttDiagram-JELNMOA3-oy5gzveG.js} +2 -2
- package/dist/server/assets/{gitGraph-G5XIXVHT-DBh_B9aL.js → gitGraph-G5XIXVHT-DyKGpXFt.js} +6 -6
- package/dist/server/assets/{gitGraphDiagram-V2S2FVAM-DtVbt-rt.js → gitGraphDiagram-V2S2FVAM-CN8rFh7o.js} +7 -7
- package/dist/server/assets/{graph-DX5yyy2e.js → graph-CdsnxBHP.js} +2 -2
- package/dist/server/assets/{highlighted-body-B3W2YXNL-jVL8aR3Z.js → highlighted-body-B3W2YXNL-D6ahbJdi.js} +1 -1
- package/dist/server/assets/{index-BjR3sOAq.js → index-7k2BqwZv.js} +2 -2
- package/dist/server/assets/{index-CeFUhbU-.js → index-B9hFfb3C.js} +2 -2
- package/dist/server/assets/{index-B5nFl_AI.js → index-BJorH749.js} +2 -2
- package/dist/server/assets/{index-BirnOPeb.js → index-BT8sxrq0.js} +2 -2
- package/dist/server/assets/{index-x1PcD09R.js → index-BhJN38EV.js} +2 -2
- package/dist/server/assets/{index-CBiZXyl4.js → index-BzYp7sVL.js} +1 -1
- package/dist/server/assets/{index-BsKQIZIq.js → index-C9H7VUtp.js} +2 -2
- package/dist/server/assets/{index-BoxcvdZf.js → index-CaRM9svU.js} +4 -4
- package/dist/server/assets/{index-BhOjaygO.js → index-CchdHjwq.js} +2 -2
- package/dist/server/assets/{index-CJFioIPI.js → index-Crgd09US.js} +2 -2
- package/dist/server/assets/{index-CD24s2ge.js → index-CsnrxvSd.js} +3 -3
- package/dist/server/assets/{index-BAdVYDyw.js → index-D2P0pxCr.js} +2 -2
- package/dist/server/assets/{index-DiZw5Slc.js → index-DBbuiN2t.js} +3 -3
- package/dist/server/assets/{index-icISvAHb.js → index-DIv5BUol.js} +2 -2
- package/dist/server/assets/{index-fJ18TF5w.js → index-Dp5TbN68.js} +5 -5
- package/dist/server/assets/{index-DHKWIWry.js → index-DsLZMKNC.js} +5 -5
- package/dist/server/assets/{index-DYzy4J8Y.js → index-XaoY6ovr.js} +2 -2
- package/dist/server/assets/{index-CVpPQcdL.js → index-aOrOBCQS.js} +1 -1
- package/dist/server/assets/{info-VBDWY6EO-CgGw-KWo.js → info-VBDWY6EO-HckNvgz-.js} +6 -6
- package/dist/server/assets/{infoDiagram-HS3SLOUP-Bm300kuC.js → infoDiagram-HS3SLOUP-P_hugt8D.js} +5 -5
- package/dist/server/assets/{journeyDiagram-XKPGCS4Q-i8WJyl2v.js → journeyDiagram-XKPGCS4Q-lQfkL_-i.js} +4 -4
- package/dist/server/assets/{kanban-definition-3W4ZIXB7-BxqtaaIr.js → kanban-definition-3W4ZIXB7-CFh-YdaO.js} +2 -2
- package/dist/server/assets/{layout-C81zgoUj.js → layout-Ce1d_Ibk.js} +4 -4
- package/dist/server/assets/{linear-dyZZUN6P.js → linear-CuiUQTrq.js} +1 -1
- package/dist/server/assets/{mermaid-3ZIDBTTL-bTD72h2_.js → mermaid-3ZIDBTTL-C7xGj9Xg.js} +1 -1
- package/dist/server/assets/{mermaid-parser.core-BpodyVoJ.js → mermaid-parser.core-BOlp9l_E.js} +11 -11
- package/dist/server/assets/{mindmap-definition-VGOIOE7T-CGVjAsWC.js → mindmap-definition-VGOIOE7T-Byc-qFo2.js} +3 -3
- package/dist/server/assets/{packet-DYOGHKS2-BeHd7ss_.js → packet-DYOGHKS2-BiRLh9CC.js} +6 -6
- package/dist/server/assets/{pie-VRWISCQL-CtMn8fFZ.js → pie-VRWISCQL-hgf7Lgm4.js} +6 -6
- package/dist/server/assets/{pieDiagram-ADFJNKIX-CS0mGgZR.js → pieDiagram-ADFJNKIX-YXV3ET4_.js} +7 -7
- package/dist/server/assets/{quadrantDiagram-AYHSOK5B-C0QMIITK.js → quadrantDiagram-AYHSOK5B-r_peNHCA.js} +2 -2
- package/dist/server/assets/{radar-ZZBFDIW7-DIYuMHay.js → radar-ZZBFDIW7-CGIDKJlK.js} +6 -6
- package/dist/server/assets/{requirementDiagram-UZGBJVZJ-Cu_xdr4s.js → requirementDiagram-UZGBJVZJ-aI3jQPLf.js} +3 -3
- package/dist/server/assets/{router-emaiBwQ1.js → router-BNIoB7QX.js} +76862 -75665
- package/dist/server/assets/{sankeyDiagram-TZEHDZUN-sK1eHAYK.js → sankeyDiagram-TZEHDZUN-B1Sb9Zvd.js} +1 -1
- package/dist/server/assets/{sequenceDiagram-WL72ISMW-BxdrIxsT.js → sequenceDiagram-WL72ISMW-DrJxigNy.js} +3 -3
- package/dist/server/assets/{square-terminal-DaamWbdC.js → square-terminal-DWTC1p8r.js} +1 -1
- package/dist/server/assets/{stateDiagram-FKZM4ZOC-YKAev_OI.js → stateDiagram-FKZM4ZOC-Dnsp85zH.js} +8 -8
- package/dist/server/assets/{stateDiagram-v2-4FDKWEC3-WXMNfM85.js → stateDiagram-v2-4FDKWEC3-C6x8SVRv.js} +4 -4
- package/dist/server/assets/{timeline-definition-IT6M3QCI-DrdVpYke.js → timeline-definition-IT6M3QCI-DSIrepaO.js} +2 -2
- package/dist/server/assets/{treemap-GDKQZRPO-DZHSpt06.js → treemap-GDKQZRPO-C9hefMmZ.js} +6 -6
- package/dist/server/assets/{workspace._workspaceId-KpmCwO8V.js → workspace._workspaceId-BY5hpCRH.js} +2 -2
- package/dist/server/assets/{workspace._workspaceId.changes-DF6oupkK.js → workspace._workspaceId.changes-CiekaeTG.js} +1 -1
- package/dist/server/assets/{workspace._workspaceId.code._-fbsbn7Pa.js → workspace._workspaceId.code._-Bi-RxK7c.js} +1 -1
- package/dist/server/assets/{workspace._workspaceId.code.index-D2dHFGQr.js → workspace._workspaceId.code.index-DRR8qo6z.js} +1 -1
- package/dist/server/assets/{workspace._workspaceId.index-DpLhp52B.js → workspace._workspaceId.index-BRFgw3FA.js} +1 -1
- package/dist/server/assets/{workspace._workspaceId.terminal-Dk3GXgkq.js → workspace._workspaceId.terminal-BhyASMi7.js} +2 -2
- package/dist/server/assets/{xychartDiagram-PRI3JC2R-BXCdvcf7.js → xychartDiagram-PRI3JC2R-0ftH7hFg.js} +2 -2
- package/dist/server/server.js +2 -2
- package/dist/start-server.mjs +461 -170
- package/package.json +6 -5
- package/dist/client/assets/channel-DSgmIANq.js +0 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-D57JPCVZ.js +0 -1
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-D57JPCVZ.js +0 -1
- package/dist/client/assets/clone-DAQJfloD.js +0 -1
- package/dist/client/assets/main-4FaYQ5DQ.css +0 -1
- package/dist/client/assets/main-CYVBBY3m.js +0 -993
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-Jpp4ZnR3.js +0 -1
- package/dist/client/assets/workspace._workspaceId.code-Di11hnHW.js +0 -1
package/dist/start-server.mjs
CHANGED
|
@@ -3181,7 +3181,7 @@ var require_stream = __commonJS({
|
|
|
3181
3181
|
};
|
|
3182
3182
|
duplex._final = function(callback) {
|
|
3183
3183
|
if (ws.readyState === ws.CONNECTING) {
|
|
3184
|
-
ws.once("open", function
|
|
3184
|
+
ws.once("open", function open3() {
|
|
3185
3185
|
duplex._final(callback);
|
|
3186
3186
|
});
|
|
3187
3187
|
return;
|
|
@@ -3202,7 +3202,7 @@ var require_stream = __commonJS({
|
|
|
3202
3202
|
};
|
|
3203
3203
|
duplex._write = function(chunk, encoding, callback) {
|
|
3204
3204
|
if (ws.readyState === ws.CONNECTING) {
|
|
3205
|
-
ws.once("open", function
|
|
3205
|
+
ws.once("open", function open3() {
|
|
3206
3206
|
duplex._write(chunk, encoding, callback);
|
|
3207
3207
|
});
|
|
3208
3208
|
return;
|
|
@@ -5648,7 +5648,7 @@ var require_thread_stream = __commonJS({
|
|
|
5648
5648
|
var { version: version2 } = require_package();
|
|
5649
5649
|
var { EventEmitter } = __require("events");
|
|
5650
5650
|
var { Worker } = __require("worker_threads");
|
|
5651
|
-
var { join:
|
|
5651
|
+
var { join: join25 } = __require("path");
|
|
5652
5652
|
var { pathToFileURL } = __require("url");
|
|
5653
5653
|
var { wait } = require_wait();
|
|
5654
5654
|
var {
|
|
@@ -5684,7 +5684,7 @@ var require_thread_stream = __commonJS({
|
|
|
5684
5684
|
function createWorker(stream, opts) {
|
|
5685
5685
|
const { filename, workerData } = opts;
|
|
5686
5686
|
const bundlerOverrides = "__bundlerPathsOverrides" in globalThis ? globalThis.__bundlerPathsOverrides : {};
|
|
5687
|
-
const toExecute = bundlerOverrides["thread-stream-worker"] ||
|
|
5687
|
+
const toExecute = bundlerOverrides["thread-stream-worker"] || join25(__dirname, "lib", "worker.js");
|
|
5688
5688
|
const worker = new Worker(toExecute, {
|
|
5689
5689
|
...opts.workerOpts,
|
|
5690
5690
|
trackUnmanagedFds: false,
|
|
@@ -6070,7 +6070,7 @@ var require_transport = __commonJS({
|
|
|
6070
6070
|
"use strict";
|
|
6071
6071
|
var { createRequire: createRequire2 } = __require("module");
|
|
6072
6072
|
var getCallers = require_caller();
|
|
6073
|
-
var { join:
|
|
6073
|
+
var { join: join25, isAbsolute: isAbsolute3, sep: sep3 } = __require("node:path");
|
|
6074
6074
|
var sleep2 = require_atomic_sleep();
|
|
6075
6075
|
var onExit = require_on_exit_leak_free();
|
|
6076
6076
|
var ThreadStream = require_thread_stream();
|
|
@@ -6133,7 +6133,7 @@ var require_transport = __commonJS({
|
|
|
6133
6133
|
throw new Error("only one of target or targets can be specified");
|
|
6134
6134
|
}
|
|
6135
6135
|
if (targets) {
|
|
6136
|
-
target = bundlerOverrides["pino-worker"] ||
|
|
6136
|
+
target = bundlerOverrides["pino-worker"] || join25(__dirname, "worker.js");
|
|
6137
6137
|
options2.targets = targets.filter((dest) => dest.target).map((dest) => {
|
|
6138
6138
|
return {
|
|
6139
6139
|
...dest,
|
|
@@ -6151,7 +6151,7 @@ var require_transport = __commonJS({
|
|
|
6151
6151
|
});
|
|
6152
6152
|
});
|
|
6153
6153
|
} else if (pipeline) {
|
|
6154
|
-
target = bundlerOverrides["pino-worker"] ||
|
|
6154
|
+
target = bundlerOverrides["pino-worker"] || join25(__dirname, "worker.js");
|
|
6155
6155
|
options2.pipelines = [pipeline.map((dest) => {
|
|
6156
6156
|
return {
|
|
6157
6157
|
...dest,
|
|
@@ -6169,11 +6169,11 @@ var require_transport = __commonJS({
|
|
|
6169
6169
|
return buildStream(fixTarget(target), options2, worker, sync);
|
|
6170
6170
|
function fixTarget(origin) {
|
|
6171
6171
|
origin = bundlerOverrides[origin] || origin;
|
|
6172
|
-
if (
|
|
6172
|
+
if (isAbsolute3(origin) || origin.indexOf("file://") === 0) {
|
|
6173
6173
|
return origin;
|
|
6174
6174
|
}
|
|
6175
6175
|
if (origin === "pino/file") {
|
|
6176
|
-
return
|
|
6176
|
+
return join25(__dirname, "..", "file.js");
|
|
6177
6177
|
}
|
|
6178
6178
|
let fixTarget2;
|
|
6179
6179
|
for (const filePath of callers) {
|
|
@@ -6501,11 +6501,11 @@ var require_tools = __commonJS({
|
|
|
6501
6501
|
}
|
|
6502
6502
|
}
|
|
6503
6503
|
}
|
|
6504
|
-
function buildFormatters(level, bindings,
|
|
6504
|
+
function buildFormatters(level, bindings, log27) {
|
|
6505
6505
|
return {
|
|
6506
6506
|
level,
|
|
6507
6507
|
bindings,
|
|
6508
|
-
log:
|
|
6508
|
+
log: log27
|
|
6509
6509
|
};
|
|
6510
6510
|
}
|
|
6511
6511
|
function normalizeDestFileDescriptor(destination) {
|
|
@@ -6888,11 +6888,11 @@ var require_proto = __commonJS({
|
|
|
6888
6888
|
}
|
|
6889
6889
|
} else instance[serializersSym] = serializers;
|
|
6890
6890
|
if (options2.hasOwnProperty("formatters")) {
|
|
6891
|
-
const { level, bindings: chindings, log:
|
|
6891
|
+
const { level, bindings: chindings, log: log27 } = options2.formatters;
|
|
6892
6892
|
instance[formattersSym] = buildFormatters(
|
|
6893
6893
|
level || formatters.level,
|
|
6894
6894
|
chindings || resetChildingsFormatter,
|
|
6895
|
-
|
|
6895
|
+
log27 || formatters.log
|
|
6896
6896
|
);
|
|
6897
6897
|
} else {
|
|
6898
6898
|
instance[formattersSym] = buildFormatters(
|
|
@@ -7162,7 +7162,7 @@ var require_safe_stable_stringify = __commonJS({
|
|
|
7162
7162
|
return circularValue;
|
|
7163
7163
|
}
|
|
7164
7164
|
let res = "";
|
|
7165
|
-
let
|
|
7165
|
+
let join25 = ",";
|
|
7166
7166
|
const originalIndentation = indentation;
|
|
7167
7167
|
if (Array.isArray(value)) {
|
|
7168
7168
|
if (value.length === 0) {
|
|
@@ -7176,7 +7176,7 @@ var require_safe_stable_stringify = __commonJS({
|
|
|
7176
7176
|
indentation += spacer;
|
|
7177
7177
|
res += `
|
|
7178
7178
|
${indentation}`;
|
|
7179
|
-
|
|
7179
|
+
join25 = `,
|
|
7180
7180
|
${indentation}`;
|
|
7181
7181
|
}
|
|
7182
7182
|
const maximumValuesToStringify = Math.min(value.length, maximumBreadth);
|
|
@@ -7184,13 +7184,13 @@ ${indentation}`;
|
|
|
7184
7184
|
for (; i2 < maximumValuesToStringify - 1; i2++) {
|
|
7185
7185
|
const tmp2 = stringifyFnReplacer(String(i2), value, stack, replacer, spacer, indentation);
|
|
7186
7186
|
res += tmp2 !== void 0 ? tmp2 : "null";
|
|
7187
|
-
res +=
|
|
7187
|
+
res += join25;
|
|
7188
7188
|
}
|
|
7189
7189
|
const tmp = stringifyFnReplacer(String(i2), value, stack, replacer, spacer, indentation);
|
|
7190
7190
|
res += tmp !== void 0 ? tmp : "null";
|
|
7191
7191
|
if (value.length - 1 > maximumBreadth) {
|
|
7192
7192
|
const removedKeys = value.length - maximumBreadth - 1;
|
|
7193
|
-
res += `${
|
|
7193
|
+
res += `${join25}"... ${getItemCount(removedKeys)} not stringified"`;
|
|
7194
7194
|
}
|
|
7195
7195
|
if (spacer !== "") {
|
|
7196
7196
|
res += `
|
|
@@ -7211,7 +7211,7 @@ ${originalIndentation}`;
|
|
|
7211
7211
|
let separator = "";
|
|
7212
7212
|
if (spacer !== "") {
|
|
7213
7213
|
indentation += spacer;
|
|
7214
|
-
|
|
7214
|
+
join25 = `,
|
|
7215
7215
|
${indentation}`;
|
|
7216
7216
|
whitespace = " ";
|
|
7217
7217
|
}
|
|
@@ -7225,13 +7225,13 @@ ${indentation}`;
|
|
|
7225
7225
|
const tmp = stringifyFnReplacer(key2, value, stack, replacer, spacer, indentation);
|
|
7226
7226
|
if (tmp !== void 0) {
|
|
7227
7227
|
res += `${separator}${strEscape(key2)}:${whitespace}${tmp}`;
|
|
7228
|
-
separator =
|
|
7228
|
+
separator = join25;
|
|
7229
7229
|
}
|
|
7230
7230
|
}
|
|
7231
7231
|
if (keyLength > maximumBreadth) {
|
|
7232
7232
|
const removedKeys = keyLength - maximumBreadth;
|
|
7233
7233
|
res += `${separator}"...":${whitespace}"${getItemCount(removedKeys)} not stringified"`;
|
|
7234
|
-
separator =
|
|
7234
|
+
separator = join25;
|
|
7235
7235
|
}
|
|
7236
7236
|
if (spacer !== "" && separator.length > 1) {
|
|
7237
7237
|
res = `
|
|
@@ -7272,7 +7272,7 @@ ${originalIndentation}`;
|
|
|
7272
7272
|
}
|
|
7273
7273
|
const originalIndentation = indentation;
|
|
7274
7274
|
let res = "";
|
|
7275
|
-
let
|
|
7275
|
+
let join25 = ",";
|
|
7276
7276
|
if (Array.isArray(value)) {
|
|
7277
7277
|
if (value.length === 0) {
|
|
7278
7278
|
return "[]";
|
|
@@ -7285,7 +7285,7 @@ ${originalIndentation}`;
|
|
|
7285
7285
|
indentation += spacer;
|
|
7286
7286
|
res += `
|
|
7287
7287
|
${indentation}`;
|
|
7288
|
-
|
|
7288
|
+
join25 = `,
|
|
7289
7289
|
${indentation}`;
|
|
7290
7290
|
}
|
|
7291
7291
|
const maximumValuesToStringify = Math.min(value.length, maximumBreadth);
|
|
@@ -7293,13 +7293,13 @@ ${indentation}`;
|
|
|
7293
7293
|
for (; i2 < maximumValuesToStringify - 1; i2++) {
|
|
7294
7294
|
const tmp2 = stringifyArrayReplacer(String(i2), value[i2], stack, replacer, spacer, indentation);
|
|
7295
7295
|
res += tmp2 !== void 0 ? tmp2 : "null";
|
|
7296
|
-
res +=
|
|
7296
|
+
res += join25;
|
|
7297
7297
|
}
|
|
7298
7298
|
const tmp = stringifyArrayReplacer(String(i2), value[i2], stack, replacer, spacer, indentation);
|
|
7299
7299
|
res += tmp !== void 0 ? tmp : "null";
|
|
7300
7300
|
if (value.length - 1 > maximumBreadth) {
|
|
7301
7301
|
const removedKeys = value.length - maximumBreadth - 1;
|
|
7302
|
-
res += `${
|
|
7302
|
+
res += `${join25}"... ${getItemCount(removedKeys)} not stringified"`;
|
|
7303
7303
|
}
|
|
7304
7304
|
if (spacer !== "") {
|
|
7305
7305
|
res += `
|
|
@@ -7312,7 +7312,7 @@ ${originalIndentation}`;
|
|
|
7312
7312
|
let whitespace = "";
|
|
7313
7313
|
if (spacer !== "") {
|
|
7314
7314
|
indentation += spacer;
|
|
7315
|
-
|
|
7315
|
+
join25 = `,
|
|
7316
7316
|
${indentation}`;
|
|
7317
7317
|
whitespace = " ";
|
|
7318
7318
|
}
|
|
@@ -7321,7 +7321,7 @@ ${indentation}`;
|
|
|
7321
7321
|
const tmp = stringifyArrayReplacer(key2, value[key2], stack, replacer, spacer, indentation);
|
|
7322
7322
|
if (tmp !== void 0) {
|
|
7323
7323
|
res += `${separator}${strEscape(key2)}:${whitespace}${tmp}`;
|
|
7324
|
-
separator =
|
|
7324
|
+
separator = join25;
|
|
7325
7325
|
}
|
|
7326
7326
|
}
|
|
7327
7327
|
if (spacer !== "" && separator.length > 1) {
|
|
@@ -7379,20 +7379,20 @@ ${originalIndentation}`;
|
|
|
7379
7379
|
indentation += spacer;
|
|
7380
7380
|
let res2 = `
|
|
7381
7381
|
${indentation}`;
|
|
7382
|
-
const
|
|
7382
|
+
const join26 = `,
|
|
7383
7383
|
${indentation}`;
|
|
7384
7384
|
const maximumValuesToStringify = Math.min(value.length, maximumBreadth);
|
|
7385
7385
|
let i2 = 0;
|
|
7386
7386
|
for (; i2 < maximumValuesToStringify - 1; i2++) {
|
|
7387
7387
|
const tmp2 = stringifyIndent(String(i2), value[i2], stack, spacer, indentation);
|
|
7388
7388
|
res2 += tmp2 !== void 0 ? tmp2 : "null";
|
|
7389
|
-
res2 +=
|
|
7389
|
+
res2 += join26;
|
|
7390
7390
|
}
|
|
7391
7391
|
const tmp = stringifyIndent(String(i2), value[i2], stack, spacer, indentation);
|
|
7392
7392
|
res2 += tmp !== void 0 ? tmp : "null";
|
|
7393
7393
|
if (value.length - 1 > maximumBreadth) {
|
|
7394
7394
|
const removedKeys = value.length - maximumBreadth - 1;
|
|
7395
|
-
res2 += `${
|
|
7395
|
+
res2 += `${join26}"... ${getItemCount(removedKeys)} not stringified"`;
|
|
7396
7396
|
}
|
|
7397
7397
|
res2 += `
|
|
7398
7398
|
${originalIndentation}`;
|
|
@@ -7408,16 +7408,16 @@ ${originalIndentation}`;
|
|
|
7408
7408
|
return '"[Object]"';
|
|
7409
7409
|
}
|
|
7410
7410
|
indentation += spacer;
|
|
7411
|
-
const
|
|
7411
|
+
const join25 = `,
|
|
7412
7412
|
${indentation}`;
|
|
7413
7413
|
let res = "";
|
|
7414
7414
|
let separator = "";
|
|
7415
7415
|
let maximumPropertiesToStringify = Math.min(keyLength, maximumBreadth);
|
|
7416
7416
|
if (isTypedArrayWithEntries(value)) {
|
|
7417
|
-
res += stringifyTypedArray(value,
|
|
7417
|
+
res += stringifyTypedArray(value, join25, maximumBreadth);
|
|
7418
7418
|
keys = keys.slice(value.length);
|
|
7419
7419
|
maximumPropertiesToStringify -= value.length;
|
|
7420
|
-
separator =
|
|
7420
|
+
separator = join25;
|
|
7421
7421
|
}
|
|
7422
7422
|
if (deterministic) {
|
|
7423
7423
|
keys = sort(keys, comparator);
|
|
@@ -7428,13 +7428,13 @@ ${indentation}`;
|
|
|
7428
7428
|
const tmp = stringifyIndent(key2, value[key2], stack, spacer, indentation);
|
|
7429
7429
|
if (tmp !== void 0) {
|
|
7430
7430
|
res += `${separator}${strEscape(key2)}: ${tmp}`;
|
|
7431
|
-
separator =
|
|
7431
|
+
separator = join25;
|
|
7432
7432
|
}
|
|
7433
7433
|
}
|
|
7434
7434
|
if (keyLength > maximumBreadth) {
|
|
7435
7435
|
const removedKeys = keyLength - maximumBreadth;
|
|
7436
7436
|
res += `${separator}"...": "${getItemCount(removedKeys)} not stringified"`;
|
|
7437
|
-
separator =
|
|
7437
|
+
separator = join25;
|
|
7438
7438
|
}
|
|
7439
7439
|
if (separator !== "") {
|
|
7440
7440
|
res = `
|
|
@@ -61593,14 +61593,14 @@ function composeSets(setA, setB, mkSet = false) {
|
|
|
61593
61593
|
let sections = [];
|
|
61594
61594
|
let insert2 = mkSet ? [] : null;
|
|
61595
61595
|
let a6 = new SectionIter(setA), b10 = new SectionIter(setB);
|
|
61596
|
-
for (let
|
|
61596
|
+
for (let open3 = false; ; ) {
|
|
61597
61597
|
if (a6.done && b10.done) {
|
|
61598
61598
|
return insert2 ? ChangeSet.createSet(sections, insert2) : ChangeDesc.create(sections);
|
|
61599
61599
|
} else if (a6.ins == 0) {
|
|
61600
|
-
addSection(sections, a6.len, 0,
|
|
61600
|
+
addSection(sections, a6.len, 0, open3);
|
|
61601
61601
|
a6.next();
|
|
61602
61602
|
} else if (b10.len == 0 && !b10.done) {
|
|
61603
|
-
addSection(sections, 0, b10.ins,
|
|
61603
|
+
addSection(sections, 0, b10.ins, open3);
|
|
61604
61604
|
if (insert2)
|
|
61605
61605
|
addInsert(insert2, sections, b10.text);
|
|
61606
61606
|
b10.next();
|
|
@@ -61610,19 +61610,19 @@ function composeSets(setA, setB, mkSet = false) {
|
|
|
61610
61610
|
let len = Math.min(a6.len2, b10.len), sectionLen = sections.length;
|
|
61611
61611
|
if (a6.ins == -1) {
|
|
61612
61612
|
let insB = b10.ins == -1 ? -1 : b10.off ? 0 : b10.ins;
|
|
61613
|
-
addSection(sections, len, insB,
|
|
61613
|
+
addSection(sections, len, insB, open3);
|
|
61614
61614
|
if (insert2 && insB)
|
|
61615
61615
|
addInsert(insert2, sections, b10.text);
|
|
61616
61616
|
} else if (b10.ins == -1) {
|
|
61617
|
-
addSection(sections, a6.off ? 0 : a6.len, len,
|
|
61617
|
+
addSection(sections, a6.off ? 0 : a6.len, len, open3);
|
|
61618
61618
|
if (insert2)
|
|
61619
61619
|
addInsert(insert2, sections, a6.textBit(len));
|
|
61620
61620
|
} else {
|
|
61621
|
-
addSection(sections, a6.off ? 0 : a6.len, b10.off ? 0 : b10.ins,
|
|
61621
|
+
addSection(sections, a6.off ? 0 : a6.len, b10.off ? 0 : b10.ins, open3);
|
|
61622
61622
|
if (insert2 && !b10.off)
|
|
61623
61623
|
addInsert(insert2, sections, b10.text);
|
|
61624
61624
|
}
|
|
61625
|
-
|
|
61625
|
+
open3 = (a6.ins > len || b10.ins >= 0 && b10.len > len) && (open3 || sections.length > sectionLen);
|
|
61626
61626
|
a6.forward2(len);
|
|
61627
61627
|
b10.forward(len);
|
|
61628
61628
|
}
|
|
@@ -62188,9 +62188,9 @@ var init_dist3 = __esm({
|
|
|
62188
62188
|
line2++;
|
|
62189
62189
|
}
|
|
62190
62190
|
}
|
|
62191
|
-
decompose(from, to, target,
|
|
62191
|
+
decompose(from, to, target, open3) {
|
|
62192
62192
|
let text4 = from <= 0 && to >= this.length ? this : new _TextLeaf(sliceText(this.text, from, to), Math.min(to, this.length) - Math.max(0, from));
|
|
62193
|
-
if (
|
|
62193
|
+
if (open3 & 1) {
|
|
62194
62194
|
let prev = target.pop();
|
|
62195
62195
|
let joined = appendText(text4.text, prev.text.slice(), 0, text4.length);
|
|
62196
62196
|
if (joined.length <= 32) {
|
|
@@ -62267,11 +62267,11 @@ var init_dist3 = __esm({
|
|
|
62267
62267
|
line2 = endLine + 1;
|
|
62268
62268
|
}
|
|
62269
62269
|
}
|
|
62270
|
-
decompose(from, to, target,
|
|
62270
|
+
decompose(from, to, target, open3) {
|
|
62271
62271
|
for (let i2 = 0, pos = 0; pos <= to && i2 < this.children.length; i2++) {
|
|
62272
62272
|
let child = this.children[i2], end = pos + child.length;
|
|
62273
62273
|
if (from <= end && to >= pos) {
|
|
62274
|
-
let childOpen =
|
|
62274
|
+
let childOpen = open3 & ((pos <= from ? 1 : 0) | (end >= to ? 2 : 0));
|
|
62275
62275
|
if (pos >= from && end <= to && !childOpen)
|
|
62276
62276
|
target.push(child);
|
|
62277
62277
|
else
|
|
@@ -64744,10 +64744,10 @@ var init_dist3 = __esm({
|
|
|
64744
64744
|
return active.reverse();
|
|
64745
64745
|
}
|
|
64746
64746
|
openEnd(to) {
|
|
64747
|
-
let
|
|
64747
|
+
let open3 = 0;
|
|
64748
64748
|
for (let i2 = this.activeTo.length - 1; i2 >= 0 && this.activeTo[i2] > to; i2--)
|
|
64749
|
-
|
|
64750
|
-
return
|
|
64749
|
+
open3++;
|
|
64750
|
+
return open3;
|
|
64751
64751
|
}
|
|
64752
64752
|
};
|
|
64753
64753
|
}
|
|
@@ -65731,14 +65731,14 @@ function getIsolatedRanges(view, line2) {
|
|
|
65731
65731
|
RangeSet.spans(sets, line2.from, line2.to, {
|
|
65732
65732
|
point() {
|
|
65733
65733
|
},
|
|
65734
|
-
span(fromDoc, toDoc, active,
|
|
65734
|
+
span(fromDoc, toDoc, active, open3) {
|
|
65735
65735
|
let from = fromDoc - line2.from, to = toDoc - line2.from;
|
|
65736
65736
|
let level = result;
|
|
65737
|
-
for (let i2 = active.length - 1; i2 >= 0; i2--,
|
|
65737
|
+
for (let i2 = active.length - 1; i2 >= 0; i2--, open3--) {
|
|
65738
65738
|
let direction = active[i2].spec.bidiIsolate, update;
|
|
65739
65739
|
if (direction == null)
|
|
65740
65740
|
direction = autoDirection(line2.text, from, to);
|
|
65741
|
-
if (
|
|
65741
|
+
if (open3 > 0 && level.length && (update = level[level.length - 1]).to == from && update.direction == direction) {
|
|
65742
65742
|
update.to = to;
|
|
65743
65743
|
level = update.inner;
|
|
65744
65744
|
} else {
|
|
@@ -86574,11 +86574,11 @@ var require_core = __commonJS({
|
|
|
86574
86574
|
Ajv2.ValidationError = validation_error_1.default;
|
|
86575
86575
|
Ajv2.MissingRefError = ref_error_1.default;
|
|
86576
86576
|
exports.default = Ajv2;
|
|
86577
|
-
function checkOptions(checkOpts, options2, msg,
|
|
86577
|
+
function checkOptions(checkOpts, options2, msg, log27 = "error") {
|
|
86578
86578
|
for (const key in checkOpts) {
|
|
86579
86579
|
const opt = key;
|
|
86580
86580
|
if (opt in options2)
|
|
86581
|
-
this.logger[
|
|
86581
|
+
this.logger[log27](`${msg}: option ${key}. ${checkOpts[opt]}`);
|
|
86582
86582
|
}
|
|
86583
86583
|
}
|
|
86584
86584
|
function getSchEnv(keyRef) {
|
|
@@ -89062,7 +89062,7 @@ var require_dist5 = __commonJS({
|
|
|
89062
89062
|
// start-server.ts
|
|
89063
89063
|
import { appendFileSync as appendFileSync2, createReadStream as createReadStream3, mkdirSync as mkdirSync8, readFileSync as readFileSync9, statSync as statSync7 } from "node:fs";
|
|
89064
89064
|
import { createServer } from "node:http";
|
|
89065
|
-
import { basename as
|
|
89065
|
+
import { basename as basename3, join as join24, resolve as resolve7 } from "node:path";
|
|
89066
89066
|
|
|
89067
89067
|
// ../../node_modules/.pnpm/@trpc+server@11.12.0_typescript@5.9.3/node_modules/@trpc/server/dist/codes-DagpWZLc.mjs
|
|
89068
89068
|
function mergeWithoutOverrides(obj1, ...objs) {
|
|
@@ -109498,7 +109498,7 @@ var Dialog = (props) => {
|
|
|
109498
109498
|
} = props;
|
|
109499
109499
|
const triggerRef = React18.useRef(null);
|
|
109500
109500
|
const contentRef = React18.useRef(null);
|
|
109501
|
-
const [
|
|
109501
|
+
const [open3, setOpen] = useControllableState({
|
|
109502
109502
|
prop: openProp,
|
|
109503
109503
|
defaultProp: defaultOpen ?? false,
|
|
109504
109504
|
onChange: onOpenChange,
|
|
@@ -109513,7 +109513,7 @@ var Dialog = (props) => {
|
|
|
109513
109513
|
contentId: useId(),
|
|
109514
109514
|
titleId: useId(),
|
|
109515
109515
|
descriptionId: useId(),
|
|
109516
|
-
open:
|
|
109516
|
+
open: open3,
|
|
109517
109517
|
onOpenChange: setOpen,
|
|
109518
109518
|
onOpenToggle: React18.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
|
|
109519
109519
|
modal,
|
|
@@ -109741,8 +109741,8 @@ var DialogClose = React18.forwardRef(
|
|
|
109741
109741
|
}
|
|
109742
109742
|
);
|
|
109743
109743
|
DialogClose.displayName = CLOSE_NAME;
|
|
109744
|
-
function getState(
|
|
109745
|
-
return
|
|
109744
|
+
function getState(open3) {
|
|
109745
|
+
return open3 ? "open" : "closed";
|
|
109746
109746
|
}
|
|
109747
109747
|
var TITLE_WARNING_NAME = "DialogTitleWarning";
|
|
109748
109748
|
var [WarningProvider, useWarningContext] = createContext2(TITLE_WARNING_NAME, {
|
|
@@ -111574,7 +111574,7 @@ function useFloating(options2) {
|
|
|
111574
111574
|
} = {},
|
|
111575
111575
|
transform: transform2 = true,
|
|
111576
111576
|
whileElementsMounted,
|
|
111577
|
-
open:
|
|
111577
|
+
open: open3
|
|
111578
111578
|
} = options2;
|
|
111579
111579
|
const [data, setData] = React20.useState({
|
|
111580
111580
|
x: 0,
|
|
@@ -111610,7 +111610,7 @@ function useFloating(options2) {
|
|
|
111610
111610
|
const hasWhileElementsMounted = whileElementsMounted != null;
|
|
111611
111611
|
const whileElementsMountedRef = useLatestRef(whileElementsMounted);
|
|
111612
111612
|
const platformRef = useLatestRef(platform3);
|
|
111613
|
-
const openRef = useLatestRef(
|
|
111613
|
+
const openRef = useLatestRef(open3);
|
|
111614
111614
|
const update = React20.useCallback(() => {
|
|
111615
111615
|
if (!referenceRef.current || !floatingRef.current) {
|
|
111616
111616
|
return;
|
|
@@ -111641,14 +111641,14 @@ function useFloating(options2) {
|
|
|
111641
111641
|
});
|
|
111642
111642
|
}, [latestMiddleware, placement, strategy, platformRef, openRef]);
|
|
111643
111643
|
index(() => {
|
|
111644
|
-
if (
|
|
111644
|
+
if (open3 === false && dataRef.current.isPositioned) {
|
|
111645
111645
|
dataRef.current.isPositioned = false;
|
|
111646
111646
|
setData((data2) => ({
|
|
111647
111647
|
...data2,
|
|
111648
111648
|
isPositioned: false
|
|
111649
111649
|
}));
|
|
111650
111650
|
}
|
|
111651
|
-
}, [
|
|
111651
|
+
}, [open3]);
|
|
111652
111652
|
const isMountedRef = React20.useRef(false);
|
|
111653
111653
|
index(() => {
|
|
111654
111654
|
isMountedRef.current = true;
|
|
@@ -112332,7 +112332,7 @@ var useRovingFocusGroupScope = createRovingFocusGroupScope();
|
|
|
112332
112332
|
var [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);
|
|
112333
112333
|
var [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);
|
|
112334
112334
|
var Menu = (props) => {
|
|
112335
|
-
const { __scopeMenu, open:
|
|
112335
|
+
const { __scopeMenu, open: open3 = false, children, dir, onOpenChange, modal = true } = props;
|
|
112336
112336
|
const popperScope = usePopperScope(__scopeMenu);
|
|
112337
112337
|
const [content2, setContent] = React27.useState(null);
|
|
112338
112338
|
const isUsingKeyboardRef = React27.useRef(false);
|
|
@@ -112356,7 +112356,7 @@ var Menu = (props) => {
|
|
|
112356
112356
|
MenuProvider,
|
|
112357
112357
|
{
|
|
112358
112358
|
scope: __scopeMenu,
|
|
112359
|
-
open:
|
|
112359
|
+
open: open3,
|
|
112360
112360
|
onOpenChange: handleOpenChange,
|
|
112361
112361
|
content: content2,
|
|
112362
112362
|
onContentChange: setContent,
|
|
@@ -112866,7 +112866,7 @@ MenuArrow.displayName = ARROW_NAME2;
|
|
|
112866
112866
|
var SUB_NAME = "MenuSub";
|
|
112867
112867
|
var [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);
|
|
112868
112868
|
var MenuSub = (props) => {
|
|
112869
|
-
const { __scopeMenu, children, open:
|
|
112869
|
+
const { __scopeMenu, children, open: open3 = false, onOpenChange } = props;
|
|
112870
112870
|
const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);
|
|
112871
112871
|
const popperScope = usePopperScope(__scopeMenu);
|
|
112872
112872
|
const [trigger, setTrigger] = React27.useState(null);
|
|
@@ -112880,7 +112880,7 @@ var MenuSub = (props) => {
|
|
|
112880
112880
|
MenuProvider,
|
|
112881
112881
|
{
|
|
112882
112882
|
scope: __scopeMenu,
|
|
112883
|
-
open:
|
|
112883
|
+
open: open3,
|
|
112884
112884
|
onOpenChange: handleOpenChange,
|
|
112885
112885
|
content: content2,
|
|
112886
112886
|
onContentChange: setContent,
|
|
@@ -113048,8 +113048,8 @@ var MenuSubContent = React27.forwardRef(
|
|
|
113048
113048
|
}
|
|
113049
113049
|
);
|
|
113050
113050
|
MenuSubContent.displayName = SUB_CONTENT_NAME;
|
|
113051
|
-
function getOpenState(
|
|
113052
|
-
return
|
|
113051
|
+
function getOpenState(open3) {
|
|
113052
|
+
return open3 ? "open" : "closed";
|
|
113053
113053
|
}
|
|
113054
113054
|
function isIndeterminate(checked) {
|
|
113055
113055
|
return checked === "indeterminate";
|
|
@@ -113130,7 +113130,7 @@ var useMenuScope = createMenuScope();
|
|
|
113130
113130
|
var [ContextMenuProvider, useContextMenuContext] = createContextMenuContext(CONTEXT_MENU_NAME);
|
|
113131
113131
|
var ContextMenu = (props) => {
|
|
113132
113132
|
const { __scopeContextMenu, children, onOpenChange, dir, modal = true } = props;
|
|
113133
|
-
const [
|
|
113133
|
+
const [open3, setOpen] = React28.useState(false);
|
|
113134
113134
|
const menuScope = useMenuScope(__scopeContextMenu);
|
|
113135
113135
|
const handleOpenChangeProp = useCallbackRef(onOpenChange);
|
|
113136
113136
|
const handleOpenChange = React28.useCallback(
|
|
@@ -113144,7 +113144,7 @@ var ContextMenu = (props) => {
|
|
|
113144
113144
|
ContextMenuProvider,
|
|
113145
113145
|
{
|
|
113146
113146
|
scope: __scopeContextMenu,
|
|
113147
|
-
open:
|
|
113147
|
+
open: open3,
|
|
113148
113148
|
onOpenChange: handleOpenChange,
|
|
113149
113149
|
modal,
|
|
113150
113150
|
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
@@ -113152,7 +113152,7 @@ var ContextMenu = (props) => {
|
|
|
113152
113152
|
{
|
|
113153
113153
|
...menuScope,
|
|
113154
113154
|
dir,
|
|
113155
|
-
open:
|
|
113155
|
+
open: open3,
|
|
113156
113156
|
onOpenChange: handleOpenChange,
|
|
113157
113157
|
modal,
|
|
113158
113158
|
children
|
|
@@ -113339,13 +113339,13 @@ var SUB_NAME2 = "ContextMenuSub";
|
|
|
113339
113339
|
var ContextMenuSub = (props) => {
|
|
113340
113340
|
const { __scopeContextMenu, children, onOpenChange, open: openProp, defaultOpen } = props;
|
|
113341
113341
|
const menuScope = useMenuScope(__scopeContextMenu);
|
|
113342
|
-
const [
|
|
113342
|
+
const [open3, setOpen] = useControllableState({
|
|
113343
113343
|
prop: openProp,
|
|
113344
113344
|
defaultProp: defaultOpen ?? false,
|
|
113345
113345
|
onChange: onOpenChange,
|
|
113346
113346
|
caller: SUB_NAME2
|
|
113347
113347
|
});
|
|
113348
|
-
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Sub, { ...menuScope, open:
|
|
113348
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Sub, { ...menuScope, open: open3, onOpenChange: setOpen, children });
|
|
113349
113349
|
};
|
|
113350
113350
|
ContextMenuSub.displayName = SUB_NAME2;
|
|
113351
113351
|
var SUB_TRIGGER_NAME2 = "ContextMenuSubTrigger";
|
|
@@ -113489,7 +113489,7 @@ var Tooltip = (props) => {
|
|
|
113489
113489
|
const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;
|
|
113490
113490
|
const delayDuration = delayDurationProp ?? providerContext.delayDuration;
|
|
113491
113491
|
const wasOpenDelayedRef = React29.useRef(false);
|
|
113492
|
-
const [
|
|
113492
|
+
const [open3, setOpen] = useControllableState({
|
|
113493
113493
|
prop: openProp,
|
|
113494
113494
|
defaultProp: defaultOpen ?? false,
|
|
113495
113495
|
onChange: (open22) => {
|
|
@@ -113504,8 +113504,8 @@ var Tooltip = (props) => {
|
|
|
113504
113504
|
caller: TOOLTIP_NAME
|
|
113505
113505
|
});
|
|
113506
113506
|
const stateAttribute = React29.useMemo(() => {
|
|
113507
|
-
return
|
|
113508
|
-
}, [
|
|
113507
|
+
return open3 ? wasOpenDelayedRef.current ? "delayed-open" : "instant-open" : "closed";
|
|
113508
|
+
}, [open3]);
|
|
113509
113509
|
const handleOpen = React29.useCallback(() => {
|
|
113510
113510
|
window.clearTimeout(openTimerRef.current);
|
|
113511
113511
|
openTimerRef.current = 0;
|
|
@@ -113538,7 +113538,7 @@ var Tooltip = (props) => {
|
|
|
113538
113538
|
{
|
|
113539
113539
|
scope: __scopeTooltip,
|
|
113540
113540
|
contentId,
|
|
113541
|
-
open:
|
|
113541
|
+
open: open3,
|
|
113542
113542
|
stateAttribute,
|
|
113543
113543
|
trigger,
|
|
113544
113544
|
onTriggerChange: setTrigger,
|
|
@@ -120411,6 +120411,58 @@ var import_react25 = __toESM(require_react(), 1);
|
|
|
120411
120411
|
// ../../packages/dashboard-core/src/hooks/use-search.ts
|
|
120412
120412
|
var import_react26 = __toESM(require_react(), 1);
|
|
120413
120413
|
|
|
120414
|
+
// ../../packages/dashboard-core/src/lib/language-map.ts
|
|
120415
|
+
var SUPPORTED_LANGUAGES = [
|
|
120416
|
+
{ id: "plaintext", label: "Plain Text" },
|
|
120417
|
+
{ id: "bash", label: "Bash / Shell" },
|
|
120418
|
+
{ id: "c", label: "C" },
|
|
120419
|
+
{ id: "clojure", label: "Clojure" },
|
|
120420
|
+
{ id: "cpp", label: "C++" },
|
|
120421
|
+
{ id: "csharp", label: "C#" },
|
|
120422
|
+
{ id: "css", label: "CSS" },
|
|
120423
|
+
{ id: "dart", label: "Dart" },
|
|
120424
|
+
{ id: "diff", label: "Diff" },
|
|
120425
|
+
{ id: "dockerfile", label: "Dockerfile" },
|
|
120426
|
+
{ id: "elixir", label: "Elixir" },
|
|
120427
|
+
{ id: "erlang", label: "Erlang" },
|
|
120428
|
+
{ id: "go", label: "Go" },
|
|
120429
|
+
{ id: "graphql", label: "GraphQL" },
|
|
120430
|
+
{ id: "haskell", label: "Haskell" },
|
|
120431
|
+
{ id: "hcl", label: "HCL / Terraform" },
|
|
120432
|
+
{ id: "html", label: "HTML" },
|
|
120433
|
+
{ id: "ini", label: "INI" },
|
|
120434
|
+
{ id: "java", label: "Java" },
|
|
120435
|
+
{ id: "javascript", label: "JavaScript" },
|
|
120436
|
+
{ id: "json", label: "JSON" },
|
|
120437
|
+
{ id: "jsonc", label: "JSON with Comments" },
|
|
120438
|
+
{ id: "jsx", label: "JavaScript (JSX)" },
|
|
120439
|
+
{ id: "kotlin", label: "Kotlin" },
|
|
120440
|
+
{ id: "less", label: "Less" },
|
|
120441
|
+
{ id: "lua", label: "Lua" },
|
|
120442
|
+
{ id: "makefile", label: "Makefile" },
|
|
120443
|
+
{ id: "markdown", label: "Markdown" },
|
|
120444
|
+
{ id: "mdx", label: "MDX" },
|
|
120445
|
+
{ id: "php", label: "PHP" },
|
|
120446
|
+
{ id: "powershell", label: "PowerShell" },
|
|
120447
|
+
{ id: "python", label: "Python" },
|
|
120448
|
+
{ id: "r", label: "R" },
|
|
120449
|
+
{ id: "ruby", label: "Ruby" },
|
|
120450
|
+
{ id: "rust", label: "Rust" },
|
|
120451
|
+
{ id: "sass", label: "Sass" },
|
|
120452
|
+
{ id: "scala", label: "Scala" },
|
|
120453
|
+
{ id: "scss", label: "SCSS" },
|
|
120454
|
+
{ id: "sql", label: "SQL" },
|
|
120455
|
+
{ id: "svelte", label: "Svelte" },
|
|
120456
|
+
{ id: "swift", label: "Swift" },
|
|
120457
|
+
{ id: "toml", label: "TOML" },
|
|
120458
|
+
{ id: "typescript", label: "TypeScript" },
|
|
120459
|
+
{ id: "tsx", label: "TypeScript (TSX)" },
|
|
120460
|
+
{ id: "vue", label: "Vue" },
|
|
120461
|
+
{ id: "xml", label: "XML" },
|
|
120462
|
+
{ id: "yaml", label: "YAML" }
|
|
120463
|
+
];
|
|
120464
|
+
var LANGUAGE_LABEL_BY_ID = new Map(SUPPORTED_LANGUAGES.map((l) => [l.id, l.label]));
|
|
120465
|
+
|
|
120414
120466
|
// ../../packages/dashboard-core/src/components/ChangesFileTree.tsx
|
|
120415
120467
|
var import_react28 = __toESM(require_react(), 1);
|
|
120416
120468
|
|
|
@@ -120555,13 +120607,13 @@ var filenameIconMap = {
|
|
|
120555
120607
|
};
|
|
120556
120608
|
function getFileIcon(filename) {
|
|
120557
120609
|
const lower = filename.toLowerCase();
|
|
120558
|
-
const
|
|
120559
|
-
if (filenameIconMap[
|
|
120560
|
-
return filenameIconMap[
|
|
120610
|
+
const basename4 = lower.split("/").pop() ?? lower;
|
|
120611
|
+
if (filenameIconMap[basename4]) {
|
|
120612
|
+
return filenameIconMap[basename4];
|
|
120561
120613
|
}
|
|
120562
|
-
const dotIndex =
|
|
120614
|
+
const dotIndex = basename4.lastIndexOf(".");
|
|
120563
120615
|
if (dotIndex !== -1) {
|
|
120564
|
-
const ext =
|
|
120616
|
+
const ext = basename4.slice(dotIndex + 1);
|
|
120565
120617
|
if (extensionIconMap[ext]) {
|
|
120566
120618
|
return extensionIconMap[ext];
|
|
120567
120619
|
}
|
|
@@ -121007,8 +121059,8 @@ function TreeNode2({
|
|
|
121007
121059
|
) : /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
|
|
121008
121060
|
ContextMenu2,
|
|
121009
121061
|
{
|
|
121010
|
-
onOpenChange: (
|
|
121011
|
-
if (
|
|
121062
|
+
onOpenChange: (open3) => {
|
|
121063
|
+
if (open3) onSelectRow(entryPath, isDir ? "directory" : "file");
|
|
121012
121064
|
},
|
|
121013
121065
|
children: [
|
|
121014
121066
|
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ContextMenuTrigger2, { asChild: true, children: button }),
|
|
@@ -121635,8 +121687,8 @@ var FileBrowser = (0, import_react31.forwardRef)(function FileBrowser2({
|
|
|
121635
121687
|
/* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
|
|
121636
121688
|
ContextMenu2,
|
|
121637
121689
|
{
|
|
121638
|
-
onOpenChange: (
|
|
121639
|
-
if (
|
|
121690
|
+
onOpenChange: (open3) => {
|
|
121691
|
+
if (open3) clearTreeSelection();
|
|
121640
121692
|
},
|
|
121641
121693
|
children: [
|
|
121642
121694
|
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ContextMenuTrigger2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "min-h-0 flex-1 overflow-y-auto py-1 pl-px", children: [
|
|
@@ -121728,8 +121780,8 @@ var FileBrowser = (0, import_react31.forwardRef)(function FileBrowser2({
|
|
|
121728
121780
|
Dialog2,
|
|
121729
121781
|
{
|
|
121730
121782
|
open: pendingDelete !== null,
|
|
121731
|
-
onOpenChange: (
|
|
121732
|
-
if (!
|
|
121783
|
+
onOpenChange: (open3) => {
|
|
121784
|
+
if (!open3) cancelDelete();
|
|
121733
121785
|
},
|
|
121734
121786
|
children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(DialogContent2, { className: "sm:max-w-[425px]", onClick: (e2) => e2.stopPropagation(), children: [
|
|
121735
121787
|
/* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(DialogHeader, { children: [
|
|
@@ -121776,35 +121828,39 @@ var FileBrowser = (0, import_react31.forwardRef)(function FileBrowser2({
|
|
|
121776
121828
|
});
|
|
121777
121829
|
|
|
121778
121830
|
// ../../packages/dashboard-core/src/components/FileViewer.tsx
|
|
121779
|
-
var
|
|
121831
|
+
var import_react34 = __toESM(require_react(), 1);
|
|
121780
121832
|
|
|
121781
121833
|
// ../../packages/dashboard-core/src/components/ImagePreview.tsx
|
|
121782
121834
|
var import_react32 = __toESM(require_react(), 1);
|
|
121783
121835
|
var import_jsx_runtime68 = __toESM(require_jsx_runtime(), 1);
|
|
121784
121836
|
|
|
121785
|
-
// ../../packages/dashboard-core/src/components/
|
|
121837
|
+
// ../../packages/dashboard-core/src/components/LanguagePickerDialog.tsx
|
|
121838
|
+
var import_react33 = __toESM(require_react(), 1);
|
|
121786
121839
|
var import_jsx_runtime69 = __toESM(require_jsx_runtime(), 1);
|
|
121787
121840
|
|
|
121788
|
-
// ../../packages/dashboard-core/src/components/
|
|
121841
|
+
// ../../packages/dashboard-core/src/components/PdfPreview.tsx
|
|
121789
121842
|
var import_jsx_runtime70 = __toESM(require_jsx_runtime(), 1);
|
|
121790
121843
|
|
|
121791
|
-
// ../../packages/dashboard-core/src/components/
|
|
121792
|
-
var import_react34 = __toESM(require_react(), 1);
|
|
121844
|
+
// ../../packages/dashboard-core/src/components/FileViewer.tsx
|
|
121793
121845
|
var import_jsx_runtime71 = __toESM(require_jsx_runtime(), 1);
|
|
121794
121846
|
|
|
121795
|
-
// ../../packages/dashboard-core/src/components/
|
|
121847
|
+
// ../../packages/dashboard-core/src/components/QuickOpenDialog.tsx
|
|
121796
121848
|
var import_react35 = __toESM(require_react(), 1);
|
|
121797
121849
|
var import_jsx_runtime72 = __toESM(require_jsx_runtime(), 1);
|
|
121798
121850
|
|
|
121799
|
-
// ../../packages/dashboard-core/src/components/
|
|
121851
|
+
// ../../packages/dashboard-core/src/components/SearchFilesDialog.tsx
|
|
121800
121852
|
var import_react36 = __toESM(require_react(), 1);
|
|
121801
121853
|
var import_jsx_runtime73 = __toESM(require_jsx_runtime(), 1);
|
|
121802
121854
|
|
|
121803
|
-
// ../../packages/dashboard-core/src/components/
|
|
121855
|
+
// ../../packages/dashboard-core/src/components/WorkspacePickerDialog.tsx
|
|
121856
|
+
var import_react37 = __toESM(require_react(), 1);
|
|
121804
121857
|
var import_jsx_runtime74 = __toESM(require_jsx_runtime(), 1);
|
|
121805
121858
|
|
|
121859
|
+
// ../../packages/dashboard-core/src/components/WorkspaceTabNav.tsx
|
|
121860
|
+
var import_jsx_runtime75 = __toESM(require_jsx_runtime(), 1);
|
|
121861
|
+
|
|
121806
121862
|
// ../../packages/dashboard-core/src/hooks/use-editor-history.ts
|
|
121807
|
-
var
|
|
121863
|
+
var import_react38 = __toESM(require_react(), 1);
|
|
121808
121864
|
|
|
121809
121865
|
// ../../node_modules/.pnpm/marked@15.0.12/node_modules/marked/lib/marked.esm.js
|
|
121810
121866
|
function _getDefaults() {
|
|
@@ -124604,7 +124660,7 @@ function sql(strings, ...params) {
|
|
|
124604
124660
|
return new SQL([new StringChunk(str)]);
|
|
124605
124661
|
}
|
|
124606
124662
|
_sql.raw = raw;
|
|
124607
|
-
function
|
|
124663
|
+
function join25(chunks, separator) {
|
|
124608
124664
|
const result = [];
|
|
124609
124665
|
for (const [i2, chunk] of chunks.entries()) {
|
|
124610
124666
|
if (i2 > 0 && separator !== void 0) result.push(separator);
|
|
@@ -124612,7 +124668,7 @@ function sql(strings, ...params) {
|
|
|
124612
124668
|
}
|
|
124613
124669
|
return new SQL(result);
|
|
124614
124670
|
}
|
|
124615
|
-
_sql.join =
|
|
124671
|
+
_sql.join = join25;
|
|
124616
124672
|
function identifier(value) {
|
|
124617
124673
|
return new Name(value);
|
|
124618
124674
|
}
|
|
@@ -129114,7 +129170,7 @@ var SQLiteSelectQueryBuilderBase = class extends TypedQueryBuilder {
|
|
|
129114
129170
|
const baseTableName = this.tableName;
|
|
129115
129171
|
const tableName = getTableLikeName(table);
|
|
129116
129172
|
for (const item of extractUsedTable(table)) this.usedTables.add(item);
|
|
129117
|
-
if (typeof tableName === "string" && this.config.joins?.some((
|
|
129173
|
+
if (typeof tableName === "string" && this.config.joins?.some((join25) => join25.alias === tableName)) throw new Error(`Alias "${tableName}" is already used in this query`);
|
|
129118
129174
|
if (!this.isPartialSelect) {
|
|
129119
129175
|
if (Object.keys(this.joinsNotNullableMap).length === 1 && typeof baseTableName === "string") this.config.fields = { [baseTableName]: this.config.fields };
|
|
129120
129176
|
if (typeof tableName === "string" && !is(table, SQL)) {
|
|
@@ -130322,7 +130378,7 @@ var SQLiteDialect = class {
|
|
|
130322
130378
|
if (!joins2) return;
|
|
130323
130379
|
const withEntries = Object.entries(joins2).filter(([_4, v4]) => v4);
|
|
130324
130380
|
if (!withEntries.length) return;
|
|
130325
|
-
return sql.join(withEntries.map(([k4,
|
|
130381
|
+
return sql.join(withEntries.map(([k4, join25]) => {
|
|
130326
130382
|
const relation = tableConfig.relations[k4];
|
|
130327
130383
|
const isSingle2 = is(relation, One);
|
|
130328
130384
|
const targetTable = aliasedTable(relation.targetTable, `d${currentDepth + 1}`);
|
|
@@ -130333,7 +130389,7 @@ var SQLiteDialect = class {
|
|
|
130333
130389
|
table: targetTable,
|
|
130334
130390
|
mode: isSingle2 ? "first" : "many",
|
|
130335
130391
|
schema,
|
|
130336
|
-
queryConfig:
|
|
130392
|
+
queryConfig: join25,
|
|
130337
130393
|
tableConfig: schema[relation.targetTableName],
|
|
130338
130394
|
relationWhere: filter2,
|
|
130339
130395
|
isNested: true,
|
|
@@ -130347,7 +130403,7 @@ var SQLiteDialect = class {
|
|
|
130347
130403
|
key: k4,
|
|
130348
130404
|
selection: innerQuery.selection,
|
|
130349
130405
|
isArray: !isSingle2,
|
|
130350
|
-
isOptional: (relation.optional ?? false) ||
|
|
130406
|
+
isOptional: (relation.optional ?? false) || join25 !== true && !!join25.where
|
|
130351
130407
|
});
|
|
130352
130408
|
const jsonColumns = sql.join(innerQuery.selection.map((s6) => {
|
|
130353
130409
|
return sql`${sql.raw(this.escapeString(s6.key))}, ${s6.selection ? sql`${jsonb2}(${sql.identifier(s6.key)})` : sql.identifier(s6.key)}`;
|
|
@@ -130816,7 +130872,7 @@ var SQLiteUpdateBase = class extends QueryPromise {
|
|
|
130816
130872
|
createJoin(joinType) {
|
|
130817
130873
|
return ((table, on) => {
|
|
130818
130874
|
const tableName = getTableLikeName(table);
|
|
130819
|
-
if (typeof tableName === "string" && this.config.joins.some((
|
|
130875
|
+
if (typeof tableName === "string" && this.config.joins.some((join25) => join25.alias === tableName)) throw new Error(`Alias "${tableName}" is already used in this query`);
|
|
130820
130876
|
if (typeof on === "function") {
|
|
130821
130877
|
const from = this.config.from ? is(table, SQLiteTable) ? table[Table.Symbol.Columns] : is(table, Subquery) ? table._.selectedFields : is(table, SQLiteViewBase) ? table[ViewBaseConfig].selectedFields : void 0 : void 0;
|
|
130822
130878
|
on = on(new Proxy(this.config.table[Table.Symbol.Columns], new SelectionProxyHandler({
|
|
@@ -135961,14 +136017,14 @@ import { platform as platform2 } from "node:os";
|
|
|
135961
136017
|
import { dirname as dirname3, join as join18, resolve as resolve5 } from "node:path";
|
|
135962
136018
|
var SYMLINK_PATH = "/usr/local/bin/band";
|
|
135963
136019
|
function findCliBinaryAt(opts) {
|
|
135964
|
-
const { cwd, dirname:
|
|
136020
|
+
const { cwd, dirname: dirname8 } = opts;
|
|
135965
136021
|
const appsStrategies = [
|
|
135966
136022
|
// cwd = apps/web/ (Vite dev and production server)
|
|
135967
136023
|
resolve5(cwd, ".."),
|
|
135968
136024
|
// cwd = project root (fallback)
|
|
135969
136025
|
resolve5(cwd, "apps"),
|
|
135970
136026
|
// From this source file (apps/web/src/lib/ → apps/)
|
|
135971
|
-
resolve5(
|
|
136027
|
+
resolve5(dirname8, "..", "..", "..")
|
|
135972
136028
|
];
|
|
135973
136029
|
for (const appsDir of appsStrategies) {
|
|
135974
136030
|
for (const profile of ["release", "debug"]) {
|
|
@@ -135986,7 +136042,7 @@ function findCliBinaryAt(opts) {
|
|
|
135986
136042
|
resolve5(cwd, "..", "binaries", exe),
|
|
135987
136043
|
// From the bundled dist file (<Resources>/web/dist/start-server.mjs)
|
|
135988
136044
|
// → <Resources>/binaries/band
|
|
135989
|
-
resolve5(
|
|
136045
|
+
resolve5(dirname8, "..", "..", "binaries", exe)
|
|
135990
136046
|
];
|
|
135991
136047
|
for (const p6 of electronCandidates) {
|
|
135992
136048
|
try {
|
|
@@ -143947,9 +144003,9 @@ function createContext8() {
|
|
|
143947
144003
|
// src/trpc/router.ts
|
|
143948
144004
|
import { execFile as execFile5, execFileSync as execFileSync2, spawn as spawn8 } from "node:child_process";
|
|
143949
144005
|
import { randomUUID as randomUUID2 } from "node:crypto";
|
|
143950
|
-
import { existsSync as
|
|
143951
|
-
import { cp, mkdir as mkdir2, readdir as readdir2, readFile as readFile2, rename, rm, stat as stat4, writeFile as writeFile2 } from "node:fs/promises";
|
|
143952
|
-
import { basename, dirname as
|
|
144006
|
+
import { existsSync as existsSync8, constants as fsConstants, mkdirSync as mkdirSync7, unlinkSync as unlinkSync3 } from "node:fs";
|
|
144007
|
+
import { cp, mkdir as mkdir2, open as open2, readdir as readdir2, readFile as readFile2, rename, rm, stat as stat4, writeFile as writeFile2 } from "node:fs/promises";
|
|
144008
|
+
import { basename as basename2, dirname as dirname7, extname as extname2, isAbsolute as isAbsolute2, join as join23, resolve as resolve6, sep as sep2 } from "node:path";
|
|
143953
144009
|
import { promisify } from "node:util";
|
|
143954
144010
|
init_src();
|
|
143955
144011
|
import { rgPath } from "@vscode/ripgrep";
|
|
@@ -144427,6 +144483,103 @@ function subscribeToFileChanges(workspaceId, listener) {
|
|
|
144427
144483
|
};
|
|
144428
144484
|
}
|
|
144429
144485
|
|
|
144486
|
+
// src/lib/formatter.ts
|
|
144487
|
+
init_src();
|
|
144488
|
+
import { existsSync as existsSync7, realpathSync as realpathSync4 } from "node:fs";
|
|
144489
|
+
import { basename, dirname as dirname6, isAbsolute, join as join22, resolve as resolvePath } from "node:path";
|
|
144490
|
+
import prettier from "prettier";
|
|
144491
|
+
var log24 = createLogger("formatter");
|
|
144492
|
+
var FormatterError = class extends Error {
|
|
144493
|
+
code;
|
|
144494
|
+
detail;
|
|
144495
|
+
constructor(code, message, detail) {
|
|
144496
|
+
super(message);
|
|
144497
|
+
this.name = "FormatterError";
|
|
144498
|
+
this.code = code;
|
|
144499
|
+
this.detail = detail;
|
|
144500
|
+
}
|
|
144501
|
+
};
|
|
144502
|
+
async function formatFile(worktreePath, filePath, content2, options2 = {}) {
|
|
144503
|
+
const absFile = isAbsolute(filePath) ? filePath : resolvePath(worktreePath, filePath);
|
|
144504
|
+
if (!isInsideWorktree(absFile, worktreePath)) {
|
|
144505
|
+
throw new FormatterError(
|
|
144506
|
+
"FILE_NOT_IN_WORKTREE",
|
|
144507
|
+
`File ${absFile} is outside the worktree ${worktreePath}`
|
|
144508
|
+
);
|
|
144509
|
+
}
|
|
144510
|
+
const start = Date.now();
|
|
144511
|
+
prettier.clearConfigCache();
|
|
144512
|
+
const ignorePath = resolvePath(worktreePath, ".prettierignore");
|
|
144513
|
+
const info = await prettier.getFileInfo(absFile, {
|
|
144514
|
+
resolveConfig: true,
|
|
144515
|
+
ignorePath: existsSync7(ignorePath) ? ignorePath : void 0
|
|
144516
|
+
});
|
|
144517
|
+
if (info.ignored) {
|
|
144518
|
+
return {
|
|
144519
|
+
skipped: true,
|
|
144520
|
+
file: absFile,
|
|
144521
|
+
reason: `Ignored by .prettierignore`,
|
|
144522
|
+
durationMs: Date.now() - start
|
|
144523
|
+
};
|
|
144524
|
+
}
|
|
144525
|
+
if (info.inferredParser === null) {
|
|
144526
|
+
return {
|
|
144527
|
+
skipped: true,
|
|
144528
|
+
file: absFile,
|
|
144529
|
+
reason: `Prettier has no parser for ${absFile}`,
|
|
144530
|
+
durationMs: Date.now() - start
|
|
144531
|
+
};
|
|
144532
|
+
}
|
|
144533
|
+
const config2 = options2.configOverride !== void 0 ? options2.configOverride : await prettier.resolveConfig(absFile);
|
|
144534
|
+
let formatted;
|
|
144535
|
+
try {
|
|
144536
|
+
formatted = await prettier.format(content2, {
|
|
144537
|
+
...config2 ?? {},
|
|
144538
|
+
filepath: absFile
|
|
144539
|
+
});
|
|
144540
|
+
} catch (err) {
|
|
144541
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
144542
|
+
throw new FormatterError("PRETTIER_FAILED", message);
|
|
144543
|
+
}
|
|
144544
|
+
const changed = formatted !== content2;
|
|
144545
|
+
if (changed) {
|
|
144546
|
+
log24.info(
|
|
144547
|
+
"Formatted %s with parser=%s (%d bytes in)",
|
|
144548
|
+
absFile,
|
|
144549
|
+
info.inferredParser,
|
|
144550
|
+
content2.length
|
|
144551
|
+
);
|
|
144552
|
+
}
|
|
144553
|
+
return {
|
|
144554
|
+
skipped: false,
|
|
144555
|
+
file: absFile,
|
|
144556
|
+
parser: info.inferredParser,
|
|
144557
|
+
formatted,
|
|
144558
|
+
changed,
|
|
144559
|
+
durationMs: Date.now() - start
|
|
144560
|
+
};
|
|
144561
|
+
}
|
|
144562
|
+
function isInsideWorktree(absFile, worktreePath) {
|
|
144563
|
+
let realFile;
|
|
144564
|
+
try {
|
|
144565
|
+
realFile = realpathSync4(absFile);
|
|
144566
|
+
} catch {
|
|
144567
|
+
try {
|
|
144568
|
+
realFile = join22(realpathSync4(dirname6(absFile)), basename(absFile));
|
|
144569
|
+
} catch {
|
|
144570
|
+
realFile = absFile;
|
|
144571
|
+
}
|
|
144572
|
+
}
|
|
144573
|
+
let realWorktree;
|
|
144574
|
+
try {
|
|
144575
|
+
realWorktree = realpathSync4(worktreePath);
|
|
144576
|
+
} catch {
|
|
144577
|
+
realWorktree = worktreePath;
|
|
144578
|
+
}
|
|
144579
|
+
const normalized = realWorktree.endsWith("/") ? realWorktree : `${realWorktree}/`;
|
|
144580
|
+
return realFile === realWorktree || realFile.startsWith(normalized);
|
|
144581
|
+
}
|
|
144582
|
+
|
|
144430
144583
|
// src/lib/fuzzy-score.ts
|
|
144431
144584
|
var SCORE_MATCH = 1;
|
|
144432
144585
|
var BONUS_CONSECUTIVE = 8;
|
|
@@ -144529,7 +144682,7 @@ function fuzzyScore(query, filePath) {
|
|
|
144529
144682
|
// src/lib/terminal-config.ts
|
|
144530
144683
|
init_src();
|
|
144531
144684
|
init_zod();
|
|
144532
|
-
var
|
|
144685
|
+
var log25 = createLogger("terminal-config");
|
|
144533
144686
|
var TerminalPaneConfigSchema = external_exports2.object({
|
|
144534
144687
|
name: external_exports2.string().optional(),
|
|
144535
144688
|
command: external_exports2.string().optional(),
|
|
@@ -144560,7 +144713,7 @@ function loadWorkspaceTerminalConfig(worktreePath, projectPath) {
|
|
|
144560
144713
|
if (!terminalBlock) return null;
|
|
144561
144714
|
const result = WorkspaceTerminalConfigSchema.safeParse(terminalBlock);
|
|
144562
144715
|
if (!result.success) {
|
|
144563
|
-
|
|
144716
|
+
log25.warn(
|
|
144564
144717
|
"Invalid workspace.terminal config: %s",
|
|
144565
144718
|
result.error.issues.map((i2) => `${i2.path.join(".")}: ${i2.message}`).join("; ")
|
|
144566
144719
|
);
|
|
@@ -144571,7 +144724,7 @@ function loadWorkspaceTerminalConfig(worktreePath, projectPath) {
|
|
|
144571
144724
|
|
|
144572
144725
|
// src/trpc/router.ts
|
|
144573
144726
|
var execFileAsync = promisify(execFile5);
|
|
144574
|
-
var
|
|
144727
|
+
var log26 = createLogger("trpc");
|
|
144575
144728
|
var t2 = initTRPC.context().create();
|
|
144576
144729
|
var publicProcedure = t2.procedure;
|
|
144577
144730
|
var projectsRouter = t2.router({
|
|
@@ -144616,7 +144769,7 @@ var projectsRouter = t2.router({
|
|
|
144616
144769
|
}),
|
|
144617
144770
|
checkPath: publicProcedure.input(external_exports2.object({ path: external_exports2.string() })).query(({ input }) => {
|
|
144618
144771
|
const resolvedPath = resolve6(input.path);
|
|
144619
|
-
const isGitRepo =
|
|
144772
|
+
const isGitRepo = existsSync8(join23(resolvedPath, ".git"));
|
|
144620
144773
|
return { isGitRepo };
|
|
144621
144774
|
}),
|
|
144622
144775
|
gitInit: publicProcedure.input(external_exports2.object({ path: external_exports2.string() })).mutation(async ({ input }) => {
|
|
@@ -144625,7 +144778,7 @@ var projectsRouter = t2.router({
|
|
|
144625
144778
|
}),
|
|
144626
144779
|
add: publicProcedure.input(external_exports2.object({ path: external_exports2.string(), label: external_exports2.string().optional() })).mutation(async ({ input }) => {
|
|
144627
144780
|
const state2 = loadState();
|
|
144628
|
-
const name24 =
|
|
144781
|
+
const name24 = basename2(input.path);
|
|
144629
144782
|
if (state2.projects.some((p6) => p6.name === name24)) {
|
|
144630
144783
|
throw new Error(`Project "${name24}" already registered`);
|
|
144631
144784
|
}
|
|
@@ -144725,8 +144878,8 @@ var workspacesRouter = t2.router({
|
|
|
144725
144878
|
return { ok: true, path: existing.path };
|
|
144726
144879
|
}
|
|
144727
144880
|
const wtDir = worktreesDir();
|
|
144728
|
-
const worktreePath =
|
|
144729
|
-
mkdirSync7(
|
|
144881
|
+
const worktreePath = join23(wtDir, input.project, input.branch);
|
|
144882
|
+
mkdirSync7(join23(wtDir, input.project), { recursive: true });
|
|
144730
144883
|
const { command, env } = gitCmd();
|
|
144731
144884
|
const args = ["worktree", "add"];
|
|
144732
144885
|
if (input.base) {
|
|
@@ -144790,7 +144943,7 @@ var workspacesRouter = t2.router({
|
|
|
144790
144943
|
saveState(state2);
|
|
144791
144944
|
const workspaceId = toWorkspaceId(input.project, input.branch);
|
|
144792
144945
|
try {
|
|
144793
|
-
unlinkSync3(
|
|
144946
|
+
unlinkSync3(join23(bandHome(), "workspace-prompts", `${workspaceId}.json`));
|
|
144794
144947
|
} catch {
|
|
144795
144948
|
}
|
|
144796
144949
|
deleteWorkspaceStatus(workspaceId);
|
|
@@ -144807,13 +144960,13 @@ var workspacesRouter = t2.router({
|
|
|
144807
144960
|
try {
|
|
144808
144961
|
const deletedTasks = deleteWorkspaceTasks(workspaceId);
|
|
144809
144962
|
if (deletedTasks > 0) {
|
|
144810
|
-
|
|
144963
|
+
log26.info(
|
|
144811
144964
|
{ workspaceId, count: deletedTasks },
|
|
144812
144965
|
"deleted workspace tasks on removal"
|
|
144813
144966
|
);
|
|
144814
144967
|
}
|
|
144815
144968
|
} catch (err) {
|
|
144816
|
-
|
|
144969
|
+
log26.error({ workspaceId, err }, "failed to delete workspace tasks on removal");
|
|
144817
144970
|
}
|
|
144818
144971
|
emit({ kind: "remove", workspaceId });
|
|
144819
144972
|
const projPath = proj.path;
|
|
@@ -144831,7 +144984,7 @@ var workspacesRouter = t2.router({
|
|
|
144831
144984
|
timeout: 6e4
|
|
144832
144985
|
});
|
|
144833
144986
|
} catch (err) {
|
|
144834
|
-
|
|
144987
|
+
log26.warn({ err, workspaceId }, "teardown script failed");
|
|
144835
144988
|
}
|
|
144836
144989
|
}
|
|
144837
144990
|
try {
|
|
@@ -144849,7 +145002,7 @@ var workspacesRouter = t2.router({
|
|
|
144849
145002
|
encoding: "utf-8"
|
|
144850
145003
|
});
|
|
144851
145004
|
} catch (err) {
|
|
144852
|
-
|
|
145005
|
+
log26.warn({ err, workspaceId }, "git worktree prune failed");
|
|
144853
145006
|
}
|
|
144854
145007
|
}
|
|
144855
145008
|
try {
|
|
@@ -144861,7 +145014,7 @@ var workspacesRouter = t2.router({
|
|
|
144861
145014
|
} catch {
|
|
144862
145015
|
}
|
|
144863
145016
|
})().catch((err) => {
|
|
144864
|
-
|
|
145017
|
+
log26.error({ err, workspaceId }, "background workspace cleanup failed");
|
|
144865
145018
|
});
|
|
144866
145019
|
});
|
|
144867
145020
|
return { ok: true };
|
|
@@ -144919,8 +145072,8 @@ var workspacesRouter = t2.router({
|
|
|
144919
145072
|
return { ok: true };
|
|
144920
145073
|
}),
|
|
144921
145074
|
runScript: publicProcedure.input(external_exports2.object({ path: external_exports2.string(), scriptType: external_exports2.string() })).mutation(({ input }) => {
|
|
144922
|
-
const scriptPath =
|
|
144923
|
-
if (!
|
|
145075
|
+
const scriptPath = join23(input.path, ".band", input.scriptType);
|
|
145076
|
+
if (!existsSync8(scriptPath)) {
|
|
144924
145077
|
throw new Error(`Script "${input.scriptType}" not found`);
|
|
144925
145078
|
}
|
|
144926
145079
|
return new Promise((resolve8, reject) => {
|
|
@@ -145057,7 +145210,7 @@ function parseFileStatuses(nameStatusOutput) {
|
|
|
145057
145210
|
}
|
|
145058
145211
|
async function readUntrackedFileLines(cwd, file2) {
|
|
145059
145212
|
try {
|
|
145060
|
-
const content2 = await readFile2(
|
|
145213
|
+
const content2 = await readFile2(join23(cwd, file2), "utf-8");
|
|
145061
145214
|
const lines = content2.split("\n");
|
|
145062
145215
|
if (lines.length > 0 && lines[lines.length - 1] === "") {
|
|
145063
145216
|
lines.pop();
|
|
@@ -145074,6 +145227,54 @@ var workspaceRouter = t2.router({
|
|
|
145074
145227
|
const config2 = loadWorkspaceTerminalConfig(workspace.worktree.path, workspace.project.path);
|
|
145075
145228
|
return { config: config2 };
|
|
145076
145229
|
}),
|
|
145230
|
+
/**
|
|
145231
|
+
* Format the supplied `content` using Prettier as if it were the file at
|
|
145232
|
+
* `filePath` inside `workspaceId`. The procedure is pure — it does not
|
|
145233
|
+
* read or write the file on disk. The client passes in the live editor
|
|
145234
|
+
* buffer and applies the returned `formatted` string back to the editor.
|
|
145235
|
+
* Persistence is the caller's responsibility via `workspace.saveFile`.
|
|
145236
|
+
*
|
|
145237
|
+
* Returns `{ skipped: true, reason }` when Prettier has no parser for
|
|
145238
|
+
* the file's extension (or it's covered by `.prettierignore`). Editors
|
|
145239
|
+
* fire this off Cmd+Alt+F without checking the file type first, so a
|
|
145240
|
+
* soft skip is the right outcome for unsupported files rather than a
|
|
145241
|
+
* surfaced error.
|
|
145242
|
+
*
|
|
145243
|
+
* Auth: enforced at the transport layer (the `band_token` cookie gates
|
|
145244
|
+
* the WebSocket upgrade and HTTP requests in start-server.ts) — same
|
|
145245
|
+
* pattern as the rest of `workspaceRouter`.
|
|
145246
|
+
*/
|
|
145247
|
+
formatFile: publicProcedure.input(
|
|
145248
|
+
external_exports2.object({
|
|
145249
|
+
workspaceId: external_exports2.string(),
|
|
145250
|
+
filePath: external_exports2.string().min(1),
|
|
145251
|
+
// 1 MB ceiling — covers every realistic source file (the largest
|
|
145252
|
+
// human-authored .ts in the world is well under 500 KB) and stops a
|
|
145253
|
+
// pathological caller from blocking the event loop with a multi-MB
|
|
145254
|
+
// string while Prettier churns on it.
|
|
145255
|
+
content: external_exports2.string().max(1e6)
|
|
145256
|
+
})
|
|
145257
|
+
).mutation(async ({ input }) => {
|
|
145258
|
+
const workspace = resolveWorkspace(input.workspaceId);
|
|
145259
|
+
if (!workspace) {
|
|
145260
|
+
throw new TRPCError({
|
|
145261
|
+
code: "NOT_FOUND",
|
|
145262
|
+
message: `Workspace ${input.workspaceId} not found`
|
|
145263
|
+
});
|
|
145264
|
+
}
|
|
145265
|
+
try {
|
|
145266
|
+
return await formatFile(workspace.worktree.path, input.filePath, input.content);
|
|
145267
|
+
} catch (err) {
|
|
145268
|
+
if (err instanceof FormatterError) {
|
|
145269
|
+
throw new TRPCError({
|
|
145270
|
+
code: "BAD_REQUEST",
|
|
145271
|
+
message: err.message,
|
|
145272
|
+
cause: err
|
|
145273
|
+
});
|
|
145274
|
+
}
|
|
145275
|
+
throw err;
|
|
145276
|
+
}
|
|
145277
|
+
}),
|
|
145077
145278
|
/**
|
|
145078
145279
|
* Subscribe to external file-system changes inside a single workspace.
|
|
145079
145280
|
* The watcher is started on demand for that workspace and torn down when
|
|
@@ -145146,7 +145347,7 @@ var workspaceRouter = t2.router({
|
|
|
145146
145347
|
);
|
|
145147
145348
|
branches = output.trim().split("\n").map((b10) => b10.trim()).filter(Boolean);
|
|
145148
145349
|
} catch (err) {
|
|
145149
|
-
|
|
145350
|
+
log26.error(
|
|
145150
145351
|
`listBranches: for-each-ref failed for ${cwd}: ${err instanceof Error ? err.message : err}`
|
|
145151
145352
|
);
|
|
145152
145353
|
}
|
|
@@ -145283,7 +145484,7 @@ var workspaceRouter = t2.router({
|
|
|
145283
145484
|
const untrackedFiles = untrackedOutput.trim().split("\n").filter(Boolean);
|
|
145284
145485
|
if (untrackedFiles.includes(input.filePath)) {
|
|
145285
145486
|
try {
|
|
145286
|
-
const content2 = await readFile2(
|
|
145487
|
+
const content2 = await readFile2(join23(cwd, input.filePath), "utf-8");
|
|
145287
145488
|
const lines = content2.split("\n");
|
|
145288
145489
|
if (lines.length > 0 && lines[lines.length - 1] === "") {
|
|
145289
145490
|
lines.pop();
|
|
@@ -145328,7 +145529,7 @@ var workspaceRouter = t2.router({
|
|
|
145328
145529
|
const untrackedOutput = await execGit(["ls-files", "--others", "--exclude-standard"], cwd);
|
|
145329
145530
|
const untrackedFiles = untrackedOutput.trim().split("\n").filter(Boolean);
|
|
145330
145531
|
if (untrackedFiles.includes(filePath)) {
|
|
145331
|
-
await rm(
|
|
145532
|
+
await rm(join23(cwd, filePath), { force: true });
|
|
145332
145533
|
return { ok: true };
|
|
145333
145534
|
}
|
|
145334
145535
|
const { mergeBase: ref } = await resolveDiffContext(
|
|
@@ -145491,7 +145692,7 @@ var workspaceRouter = t2.router({
|
|
|
145491
145692
|
throw new Error("Workspace not found");
|
|
145492
145693
|
}
|
|
145493
145694
|
const root = workspace.worktree.path;
|
|
145494
|
-
const target = resolve6(
|
|
145695
|
+
const target = resolve6(join23(root, input.path));
|
|
145495
145696
|
if (!target.startsWith(root)) {
|
|
145496
145697
|
throw new Error("Invalid path");
|
|
145497
145698
|
}
|
|
@@ -145514,7 +145715,7 @@ var workspaceRouter = t2.router({
|
|
|
145514
145715
|
throw new Error("Path is required");
|
|
145515
145716
|
}
|
|
145516
145717
|
const root = workspace.worktree.path;
|
|
145517
|
-
const target = resolve6(
|
|
145718
|
+
const target = resolve6(join23(root, input.path));
|
|
145518
145719
|
if (!target.startsWith(root)) {
|
|
145519
145720
|
throw new Error("Invalid path");
|
|
145520
145721
|
}
|
|
@@ -145548,7 +145749,7 @@ var workspaceRouter = t2.router({
|
|
|
145548
145749
|
throw new Error("Workspace not found");
|
|
145549
145750
|
}
|
|
145550
145751
|
const root = workspace.worktree.path;
|
|
145551
|
-
const target = resolve6(
|
|
145752
|
+
const target = resolve6(join23(root, input.path));
|
|
145552
145753
|
if (!target.startsWith(root)) {
|
|
145553
145754
|
throw new Error("Invalid path");
|
|
145554
145755
|
}
|
|
@@ -145571,15 +145772,15 @@ var workspaceRouter = t2.router({
|
|
|
145571
145772
|
throw new Error("Workspace not found");
|
|
145572
145773
|
}
|
|
145573
145774
|
const root = workspace.worktree.path;
|
|
145574
|
-
const target = resolve6(
|
|
145775
|
+
const target = resolve6(join23(root, input.path));
|
|
145575
145776
|
if (!target.startsWith(root) || target === root) {
|
|
145576
145777
|
throw new Error("Invalid path");
|
|
145577
145778
|
}
|
|
145578
|
-
if (
|
|
145779
|
+
if (existsSync8(target)) {
|
|
145579
145780
|
throw new Error("A file or directory already exists at this path");
|
|
145580
145781
|
}
|
|
145581
|
-
const parent =
|
|
145582
|
-
if (!
|
|
145782
|
+
const parent = dirname7(target);
|
|
145783
|
+
if (!existsSync8(parent)) {
|
|
145583
145784
|
throw new Error("Parent directory does not exist");
|
|
145584
145785
|
}
|
|
145585
145786
|
const parentStat = await stat4(parent);
|
|
@@ -145600,15 +145801,15 @@ var workspaceRouter = t2.router({
|
|
|
145600
145801
|
throw new Error("Workspace not found");
|
|
145601
145802
|
}
|
|
145602
145803
|
const root = workspace.worktree.path;
|
|
145603
|
-
const target = resolve6(
|
|
145804
|
+
const target = resolve6(join23(root, input.path));
|
|
145604
145805
|
if (!target.startsWith(root) || target === root) {
|
|
145605
145806
|
throw new Error("Invalid path");
|
|
145606
145807
|
}
|
|
145607
|
-
if (
|
|
145808
|
+
if (existsSync8(target)) {
|
|
145608
145809
|
throw new Error("A file or directory already exists at this path");
|
|
145609
145810
|
}
|
|
145610
|
-
const parent =
|
|
145611
|
-
if (!
|
|
145811
|
+
const parent = dirname7(target);
|
|
145812
|
+
if (!existsSync8(parent)) {
|
|
145612
145813
|
throw new Error("Parent directory does not exist");
|
|
145613
145814
|
}
|
|
145614
145815
|
const parentStat = await stat4(parent);
|
|
@@ -145629,7 +145830,7 @@ var workspaceRouter = t2.router({
|
|
|
145629
145830
|
throw new Error("Workspace not found");
|
|
145630
145831
|
}
|
|
145631
145832
|
const root = workspace.worktree.path;
|
|
145632
|
-
const target = resolve6(
|
|
145833
|
+
const target = resolve6(join23(root, input.path));
|
|
145633
145834
|
if (!target.startsWith(root) || target === root) {
|
|
145634
145835
|
throw new Error("Invalid path");
|
|
145635
145836
|
}
|
|
@@ -145661,8 +145862,8 @@ var workspaceRouter = t2.router({
|
|
|
145661
145862
|
throw new Error("Workspace not found");
|
|
145662
145863
|
}
|
|
145663
145864
|
const root = workspace.worktree.path;
|
|
145664
|
-
const fromTarget = resolve6(
|
|
145665
|
-
const toTarget = resolve6(
|
|
145865
|
+
const fromTarget = resolve6(join23(root, input.fromPath));
|
|
145866
|
+
const toTarget = resolve6(join23(root, input.toPath));
|
|
145666
145867
|
if (!fromTarget.startsWith(root) || fromTarget === root) {
|
|
145667
145868
|
throw new Error("Invalid source path");
|
|
145668
145869
|
}
|
|
@@ -145683,11 +145884,11 @@ var workspaceRouter = t2.router({
|
|
|
145683
145884
|
} catch {
|
|
145684
145885
|
throw new Error("Source path does not exist");
|
|
145685
145886
|
}
|
|
145686
|
-
if (
|
|
145887
|
+
if (existsSync8(toTarget)) {
|
|
145687
145888
|
throw new Error("A file or directory already exists at the destination");
|
|
145688
145889
|
}
|
|
145689
|
-
const toParent =
|
|
145690
|
-
if (!
|
|
145890
|
+
const toParent = dirname7(toTarget);
|
|
145891
|
+
if (!existsSync8(toParent)) {
|
|
145691
145892
|
throw new Error("Destination parent directory does not exist");
|
|
145692
145893
|
}
|
|
145693
145894
|
const toParentStat = await stat4(toParent);
|
|
@@ -145712,8 +145913,8 @@ var workspaceRouter = t2.router({
|
|
|
145712
145913
|
throw new Error("Workspace not found");
|
|
145713
145914
|
}
|
|
145714
145915
|
const root = workspace.worktree.path;
|
|
145715
|
-
const fromTarget = resolve6(
|
|
145716
|
-
const toTarget = resolve6(
|
|
145916
|
+
const fromTarget = resolve6(join23(root, input.fromPath));
|
|
145917
|
+
const toTarget = resolve6(join23(root, input.toPath));
|
|
145717
145918
|
if (!fromTarget.startsWith(root) || fromTarget === root) {
|
|
145718
145919
|
throw new Error("Invalid source path");
|
|
145719
145920
|
}
|
|
@@ -145737,11 +145938,11 @@ var workspaceRouter = t2.router({
|
|
|
145737
145938
|
if (entryStat.isDirectory() && toTarget.startsWith(fromTarget + sep2)) {
|
|
145738
145939
|
throw new Error("Cannot copy a directory into itself");
|
|
145739
145940
|
}
|
|
145740
|
-
if (
|
|
145941
|
+
if (existsSync8(toTarget)) {
|
|
145741
145942
|
throw new Error("A file or directory already exists at the destination");
|
|
145742
145943
|
}
|
|
145743
|
-
const toParent =
|
|
145744
|
-
if (!
|
|
145944
|
+
const toParent = dirname7(toTarget);
|
|
145945
|
+
if (!existsSync8(toParent)) {
|
|
145745
145946
|
throw new Error("Destination parent directory does not exist");
|
|
145746
145947
|
}
|
|
145747
145948
|
const toParentStat = await stat4(toParent);
|
|
@@ -145900,26 +146101,115 @@ var workspaceRouter = t2.router({
|
|
|
145900
146101
|
return { ok: true };
|
|
145901
146102
|
})
|
|
145902
146103
|
});
|
|
146104
|
+
function mapFsError(err) {
|
|
146105
|
+
const code = err.code;
|
|
146106
|
+
if (code === "ENOENT") return new Error("File not found");
|
|
146107
|
+
if (code === "ELOOP") return new Error("Symbolic links are not allowed");
|
|
146108
|
+
if (code === "EACCES" || code === "EPERM") return new Error("Permission denied");
|
|
146109
|
+
if (code === "EISDIR") return new Error("Cannot operate on a directory");
|
|
146110
|
+
return err;
|
|
146111
|
+
}
|
|
146112
|
+
var hostRouter = t2.router({
|
|
146113
|
+
readFile: publicProcedure.input(external_exports2.object({ absolutePath: external_exports2.string().min(1) })).query(async ({ input }) => {
|
|
146114
|
+
const target = input.absolutePath;
|
|
146115
|
+
if (!isAbsolute2(target)) {
|
|
146116
|
+
throw new Error("Absolute path required");
|
|
146117
|
+
}
|
|
146118
|
+
let fh;
|
|
146119
|
+
try {
|
|
146120
|
+
fh = await open2(target, fsConstants.O_RDONLY | fsConstants.O_NOFOLLOW);
|
|
146121
|
+
} catch (err) {
|
|
146122
|
+
throw mapFsError(err);
|
|
146123
|
+
}
|
|
146124
|
+
try {
|
|
146125
|
+
const stats = await fh.stat();
|
|
146126
|
+
if (stats.isDirectory()) {
|
|
146127
|
+
throw new Error("Cannot operate on a directory");
|
|
146128
|
+
}
|
|
146129
|
+
if (!stats.isFile()) {
|
|
146130
|
+
throw new Error("Not a regular file");
|
|
146131
|
+
}
|
|
146132
|
+
const size4 = stats.size;
|
|
146133
|
+
if (size4 > MAX_FILE_SIZE) {
|
|
146134
|
+
return { tooLarge: true, size: size4 };
|
|
146135
|
+
}
|
|
146136
|
+
const sampleLen = Math.min(8192, size4);
|
|
146137
|
+
const sample = Buffer.alloc(sampleLen);
|
|
146138
|
+
if (sampleLen > 0) {
|
|
146139
|
+
await fh.read(sample, 0, sampleLen, 0);
|
|
146140
|
+
if (sample.includes(0)) {
|
|
146141
|
+
return { binary: true, size: size4 };
|
|
146142
|
+
}
|
|
146143
|
+
}
|
|
146144
|
+
const buffer = await fh.readFile();
|
|
146145
|
+
const ext = extname2(target).toLowerCase();
|
|
146146
|
+
const language2 = LANG_MAP[ext];
|
|
146147
|
+
return {
|
|
146148
|
+
content: buffer.toString("utf-8"),
|
|
146149
|
+
size: size4,
|
|
146150
|
+
language: language2
|
|
146151
|
+
};
|
|
146152
|
+
} finally {
|
|
146153
|
+
await fh.close();
|
|
146154
|
+
}
|
|
146155
|
+
}),
|
|
146156
|
+
saveFile: publicProcedure.input(
|
|
146157
|
+
external_exports2.object({
|
|
146158
|
+
absolutePath: external_exports2.string().min(1),
|
|
146159
|
+
// Match the read-side cap so a misbehaving client can't fill
|
|
146160
|
+
// disk via the save endpoint while the read endpoint refuses
|
|
146161
|
+
// anything that wide.
|
|
146162
|
+
content: external_exports2.string().max(MAX_FILE_SIZE)
|
|
146163
|
+
})
|
|
146164
|
+
).mutation(async ({ input }) => {
|
|
146165
|
+
const target = input.absolutePath;
|
|
146166
|
+
if (!isAbsolute2(target)) {
|
|
146167
|
+
throw new Error("Absolute path required");
|
|
146168
|
+
}
|
|
146169
|
+
let fh;
|
|
146170
|
+
try {
|
|
146171
|
+
fh = await open2(
|
|
146172
|
+
target,
|
|
146173
|
+
fsConstants.O_WRONLY | fsConstants.O_TRUNC | fsConstants.O_NOFOLLOW
|
|
146174
|
+
);
|
|
146175
|
+
} catch (err) {
|
|
146176
|
+
throw mapFsError(err);
|
|
146177
|
+
}
|
|
146178
|
+
try {
|
|
146179
|
+
const stats = await fh.stat();
|
|
146180
|
+
if (stats.isDirectory()) {
|
|
146181
|
+
throw new Error("Cannot operate on a directory");
|
|
146182
|
+
}
|
|
146183
|
+
if (!stats.isFile()) {
|
|
146184
|
+
throw new Error("Not a regular file");
|
|
146185
|
+
}
|
|
146186
|
+
await fh.writeFile(input.content, "utf-8");
|
|
146187
|
+
} finally {
|
|
146188
|
+
await fh.close();
|
|
146189
|
+
}
|
|
146190
|
+
return { ok: true };
|
|
146191
|
+
})
|
|
146192
|
+
});
|
|
145903
146193
|
var tunnelRouter = t2.router({
|
|
145904
146194
|
status: publicProcedure.query(() => {
|
|
145905
146195
|
return getTunnelStatus();
|
|
145906
146196
|
}),
|
|
145907
146197
|
start: publicProcedure.input(external_exports2.object({}).optional()).mutation(async () => {
|
|
145908
|
-
|
|
146198
|
+
log26.debug("tunnel.start called");
|
|
145909
146199
|
const port2 = parseInt(process.env.BAND_PORT || "3456", 10);
|
|
145910
|
-
|
|
146200
|
+
log26.debug("tunnel.start: port=%d", port2);
|
|
145911
146201
|
try {
|
|
145912
146202
|
await startTunnel({ port: port2 });
|
|
145913
146203
|
} catch (err) {
|
|
145914
|
-
|
|
146204
|
+
log26.debug({ err }, "tunnel.start: startTunnel failed");
|
|
145915
146205
|
return { ok: true, url: null };
|
|
145916
146206
|
}
|
|
145917
146207
|
const status = getTunnelStatus();
|
|
145918
|
-
|
|
146208
|
+
log26.debug({ status }, "tunnel.start: after startTunnel");
|
|
145919
146209
|
if (status.url) {
|
|
145920
146210
|
return { ok: true, url: status.url };
|
|
145921
146211
|
}
|
|
145922
|
-
|
|
146212
|
+
log26.debug("tunnel.start: no URL available");
|
|
145923
146213
|
return { ok: true, url: null };
|
|
145924
146214
|
}),
|
|
145925
146215
|
stop: publicProcedure.mutation(async () => {
|
|
@@ -146245,15 +146535,15 @@ async function loadJsonlPage(opts) {
|
|
|
146245
146535
|
}
|
|
146246
146536
|
var servicesRouter = t2.router({
|
|
146247
146537
|
health: publicProcedure.query(() => {
|
|
146248
|
-
|
|
146538
|
+
log26.debug("services.health called");
|
|
146249
146539
|
const tunnel = getTunnelStatus();
|
|
146250
|
-
|
|
146540
|
+
log26.debug({ tunnel }, "services.health: tunnel status");
|
|
146251
146541
|
const result = {
|
|
146252
146542
|
webserver: true,
|
|
146253
146543
|
tunnel: tunnel.running,
|
|
146254
146544
|
tunnel_url: tunnel.url
|
|
146255
146545
|
};
|
|
146256
|
-
|
|
146546
|
+
log26.debug({ result }, "services.health result");
|
|
146257
146547
|
return result;
|
|
146258
146548
|
}),
|
|
146259
146549
|
// Activity level controls how often the branch-status poller fires.
|
|
@@ -146647,7 +146937,7 @@ var chatsRouter = t2.router({
|
|
|
146647
146937
|
summary = info?.summary;
|
|
146648
146938
|
lastModified = info?.lastModified;
|
|
146649
146939
|
} catch (err) {
|
|
146650
|
-
|
|
146940
|
+
log26.warn(
|
|
146651
146941
|
{ chatId: input.chatId, sessionId: input.sessionId, err },
|
|
146652
146942
|
"setActiveSession: getSessionInfo failed"
|
|
146653
146943
|
);
|
|
@@ -146767,7 +147057,7 @@ var browserHostRouter = t2.router({
|
|
|
146767
147057
|
// can confirm in the server log that the bridge component actually
|
|
146768
147058
|
// executed. Drop once the experiment is stable.
|
|
146769
147059
|
ping: publicProcedure.input(external_exports2.object({ where: external_exports2.string() })).mutation(({ input }) => {
|
|
146770
|
-
|
|
147060
|
+
log26.info("browserHost.ping from %s", input.where);
|
|
146771
147061
|
return { ok: true };
|
|
146772
147062
|
}),
|
|
146773
147063
|
ensureView: publicProcedure.subscription(async function* (opts) {
|
|
@@ -147099,6 +147389,7 @@ var appRouter = t2.router({
|
|
|
147099
147389
|
hooks: hooksRouter,
|
|
147100
147390
|
cli: cliRouter,
|
|
147101
147391
|
workspace: workspaceRouter,
|
|
147392
|
+
host: hostRouter,
|
|
147102
147393
|
tunnel: tunnelRouter,
|
|
147103
147394
|
prereqs: prereqsRouter,
|
|
147104
147395
|
tasks: tasksRouter,
|
|
@@ -147232,7 +147523,7 @@ function getScalarHtml(specUrl) {
|
|
|
147232
147523
|
function logCrash(message) {
|
|
147233
147524
|
try {
|
|
147234
147525
|
mkdirSync8(bandHome(), { recursive: true });
|
|
147235
|
-
appendFileSync2(
|
|
147526
|
+
appendFileSync2(join24(bandHome(), "server.log"), message, "utf-8");
|
|
147236
147527
|
} catch {
|
|
147237
147528
|
}
|
|
147238
147529
|
}
|
|
@@ -147257,7 +147548,7 @@ ${error40.stack || error40.message}
|
|
|
147257
147548
|
`);
|
|
147258
147549
|
process.exit(1);
|
|
147259
147550
|
});
|
|
147260
|
-
var clientDir =
|
|
147551
|
+
var clientDir = join24(import.meta.dirname, "client");
|
|
147261
147552
|
var port = parseInt(process.env.PORT || "3456", 10);
|
|
147262
147553
|
delete process.env.PORT;
|
|
147263
147554
|
process.env.BAND_PORT = String(port);
|
|
@@ -147269,18 +147560,18 @@ var assets = build_default(clientDir, {
|
|
|
147269
147560
|
gzip: true,
|
|
147270
147561
|
etag: true
|
|
147271
147562
|
});
|
|
147272
|
-
var openApiDoc = JSON.parse(readFileSync9(
|
|
147563
|
+
var openApiDoc = JSON.parse(readFileSync9(join24(import.meta.dirname, "openapi.json"), "utf-8"));
|
|
147273
147564
|
openApiDoc.servers = [{ url: "/trpc" }];
|
|
147274
147565
|
var openApiSpec = JSON.stringify(openApiDoc, null, 2);
|
|
147275
147566
|
var scalarHtml = getScalarHtml("/api/openapi.json");
|
|
147276
147567
|
function serveStaticFile(res, root, subdir, rawFilename) {
|
|
147277
|
-
const filename =
|
|
147568
|
+
const filename = basename3(decodeURIComponent(rawFilename));
|
|
147278
147569
|
if (!filename || filename.includes("..")) {
|
|
147279
147570
|
res.writeHead(400);
|
|
147280
147571
|
res.end("Bad request");
|
|
147281
147572
|
return;
|
|
147282
147573
|
}
|
|
147283
|
-
const filePath =
|
|
147574
|
+
const filePath = join24(root, subdir, filename);
|
|
147284
147575
|
try {
|
|
147285
147576
|
const fileStat = statSync7(filePath);
|
|
147286
147577
|
const contentType = mimeTypeFromFilename(filename);
|
|
@@ -147303,7 +147594,7 @@ function serveWorkspaceFile(res, workspaceId, rawPath) {
|
|
|
147303
147594
|
return;
|
|
147304
147595
|
}
|
|
147305
147596
|
const root = workspace.worktree.path;
|
|
147306
|
-
const target = resolve7(
|
|
147597
|
+
const target = resolve7(join24(root, rawPath));
|
|
147307
147598
|
if (!target.startsWith(`${root}/`) && target !== root) {
|
|
147308
147599
|
res.writeHead(400);
|
|
147309
147600
|
res.end("Bad request");
|
|
@@ -147311,7 +147602,7 @@ function serveWorkspaceFile(res, workspaceId, rawPath) {
|
|
|
147311
147602
|
}
|
|
147312
147603
|
try {
|
|
147313
147604
|
const fileStat = statSync7(target);
|
|
147314
|
-
const contentType = mimeTypeFromFilename(
|
|
147605
|
+
const contentType = mimeTypeFromFilename(basename3(target));
|
|
147315
147606
|
res.writeHead(200, {
|
|
147316
147607
|
"Content-Type": contentType,
|
|
147317
147608
|
"Content-Length": fileStat.size.toString(),
|
|
@@ -147350,13 +147641,13 @@ async function main() {
|
|
|
147350
147641
|
res.end("Bad request");
|
|
147351
147642
|
return;
|
|
147352
147643
|
}
|
|
147353
|
-
const partition =
|
|
147644
|
+
const partition = basename3(decodeURIComponent(rest.slice(0, slashIdx)));
|
|
147354
147645
|
if (!partition || partition === ".." || partition === ".") {
|
|
147355
147646
|
res.writeHead(400);
|
|
147356
147647
|
res.end("Bad request");
|
|
147357
147648
|
return;
|
|
147358
147649
|
}
|
|
147359
|
-
serveStaticFile(res, bandHome(),
|
|
147650
|
+
serveStaticFile(res, bandHome(), join24("shared", partition), rest.slice(slashIdx + 1));
|
|
147360
147651
|
return;
|
|
147361
147652
|
}
|
|
147362
147653
|
if (req.url?.startsWith("/api/workspace-file/")) {
|