@band-app/server 0.21.0 → 0.21.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{DockviewBrowserContainer-_omnSiyJ.js → DockviewBrowserContainer-6vGRAPMq.js} +1 -1
- package/dist/client/assets/{DockviewTerminalContainer-DAn_WCfx.js → DockviewTerminalContainer-COlPnAN7.js} +2 -2
- package/dist/client/assets/{TerminalPanel-CNPsPif8.js → TerminalPanel-DNBLPQEb.js} +3 -3
- package/dist/client/assets/{_basePickBy-DtyMrmhl.js → _basePickBy-D17RbSpA.js} +1 -1
- package/dist/client/assets/{_baseUniq-BJUkdL_v.js → _baseUniq-9xolxnuZ.js} +1 -1
- package/dist/client/assets/{arc-yAV3EAnY.js → arc-CrFKrBMt.js} +1 -1
- package/dist/client/assets/{architectureDiagram-VXUJARFQ-B3FpBxQF.js → architectureDiagram-VXUJARFQ-Ke3p_Mqb.js} +1 -1
- package/dist/client/assets/{blockDiagram-VD42YOAC-3LlBLqQC.js → blockDiagram-VD42YOAC-TqBKFyqZ.js} +1 -1
- package/dist/client/assets/{c4Diagram-YG6GDRKO-Be5RpvjZ.js → c4Diagram-YG6GDRKO-BEH8KTZ4.js} +1 -1
- package/dist/client/assets/channel-Cx_aQUiM.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-CISDQxrq.js → chunk-4BX2VUAB-CtLV-I7X.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-BfU__3ET.js → chunk-55IACEB6-DNYJbC9p.js} +1 -1
- package/dist/client/assets/{chunk-B4BG7PRW-D4iHXw8l.js → chunk-B4BG7PRW-C9SV78wP.js} +1 -1
- package/dist/client/assets/{chunk-DI55MBZ5-BAdhjTka.js → chunk-DI55MBZ5-BA6YDHhu.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-Zwu4-L0P.js → chunk-FMBD7UC4-xclQ8Cf4.js} +1 -1
- package/dist/client/assets/{chunk-QN33PNHL-DxMovsgL.js → chunk-QN33PNHL-CbKttxM9.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-vrDNXKJS.js → chunk-QZHKN3VN-Bx8-ojjW.js} +1 -1
- package/dist/client/assets/{chunk-TZMSLE5B-CX92zDel.js → chunk-TZMSLE5B-C2ws4lNY.js} +1 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-CDZ4gS0y.js +1 -0
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-CDZ4gS0y.js +1 -0
- package/dist/client/assets/clone-CNiiW5Ay.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-GNlGGpMz.js → cose-bilkent-S5V4N54A-CvTq6GKB.js} +1 -1
- package/dist/client/assets/{dagre-6UL2VRFP-p1fgRXjW.js → dagre-6UL2VRFP-CvAkVLYR.js} +1 -1
- package/dist/client/assets/{diagram-PSM6KHXK-CYtWPBH-.js → diagram-PSM6KHXK-CjqPnfjV.js} +1 -1
- package/dist/client/assets/{diagram-QEK2KX5R-Cgd-_Ub3.js → diagram-QEK2KX5R-CAbD5at_.js} +1 -1
- package/dist/client/assets/{diagram-S2PKOQOG-DAs62NY3.js → diagram-S2PKOQOG-npaoXBaA.js} +1 -1
- package/dist/client/assets/{erDiagram-Q2GNP2WA-DBI_1PZQ.js → erDiagram-Q2GNP2WA-B7Ii4ixk.js} +1 -1
- package/dist/client/assets/{flowDiagram-NV44I4VS-C8JqBNNX.js → flowDiagram-NV44I4VS-CWJlEjhJ.js} +1 -1
- package/dist/client/assets/{ganttDiagram-JELNMOA3-B_NTSbsU.js → ganttDiagram-JELNMOA3-DpzdgJxa.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-V2S2FVAM-CSgrclqJ.js → gitGraphDiagram-V2S2FVAM-6unjAycz.js} +1 -1
- package/dist/client/assets/{graph-CnuI3kx8.js → graph-VXOljtS_.js} +1 -1
- package/dist/client/assets/{highlighted-body-B3W2YXNL-B0miGNm_.js → highlighted-body-B3W2YXNL-Dr38PYps.js} +1 -1
- package/dist/client/assets/{index-DXAzUetQ.js → index-0smwvcI5.js} +1 -1
- package/dist/client/assets/{index-W_8A45Ak.js → index-1bfqbPx4.js} +1 -1
- package/dist/client/assets/{index-Bz2VMYkX.js → index-B-If-Bxk.js} +1 -1
- package/dist/client/assets/{index-C4-1pvZ7.js → index-B5eNC7JU.js} +1 -1
- package/dist/client/assets/{index-BArE6nAN.js → index-BH6O4VK4.js} +1 -1
- package/dist/client/assets/{index-BmMzlQLK.js → index-BeL8lEkE.js} +1 -1
- package/dist/client/assets/{index-BWouWVU0.js → index-C5S6lhjM.js} +1 -1
- package/dist/client/assets/{index-BOAi4k9G.js → index-C8JM5Fw6.js} +1 -1
- package/dist/client/assets/{index-nNmyPk2g.js → index-CDZv1r4Q.js} +1 -1
- package/dist/client/assets/{index-B6S69IUm.js → index-CN_mH_uK.js} +1 -1
- package/dist/client/assets/{index-7yDQgH1f.js → index-Cyigja8G.js} +1 -1
- package/dist/client/assets/{index-DtIW2F6f.js → index-D7HqwOng.js} +1 -1
- package/dist/client/assets/{index-UiJjSfLA.js → index-Dt4yFYKg.js} +1 -1
- package/dist/client/assets/{index-DYeExVW-.js → index-GAorhXcd.js} +1 -1
- package/dist/client/assets/{index-DSgvPpOw.js → index-Gsci2MjP.js} +1 -1
- package/dist/client/assets/{index-CtkaVda1.js → index-WAvNcNBw.js} +1 -1
- package/dist/client/assets/{index-CmyTYJul.js → index-sO-gKrgS.js} +1 -1
- package/dist/client/assets/{index-D88tU2rQ.js → index-vsxjm_hQ.js} +1 -1
- package/dist/client/assets/{infoDiagram-HS3SLOUP-CsK1yEhl.js → infoDiagram-HS3SLOUP-CSXE28ng.js} +1 -1
- package/dist/client/assets/{journeyDiagram-XKPGCS4Q-7ztemwUy.js → journeyDiagram-XKPGCS4Q-C22Q_X0X.js} +1 -1
- package/dist/client/assets/{kanban-definition-3W4ZIXB7-Cre8PAMX.js → kanban-definition-3W4ZIXB7-DY-wTFE4.js} +1 -1
- package/dist/client/assets/{layout-BM0hAxpp.js → layout-Dc5Px3_i.js} +1 -1
- package/dist/client/assets/{main-p2Lo-pWV.js → main-3W4_bdX9.js} +176 -176
- package/dist/client/assets/{mindmap-definition-VGOIOE7T-BjEgocYT.js → mindmap-definition-VGOIOE7T-DjlIeb28.js} +1 -1
- package/dist/client/assets/{pieDiagram-ADFJNKIX-C4RjN3hy.js → pieDiagram-ADFJNKIX-CAYazJeR.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-AYHSOK5B-NEf3JRFz.js → quadrantDiagram-AYHSOK5B-DqOUuCMa.js} +1 -1
- package/dist/client/assets/{requirementDiagram-UZGBJVZJ-BeRnY69a.js → requirementDiagram-UZGBJVZJ-ga9OYiX3.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-TZEHDZUN-DVODsg78.js → sankeyDiagram-TZEHDZUN-DT4gli4B.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-WL72ISMW-D6joy57s.js → sequenceDiagram-WL72ISMW-DaZ5nFau.js} +1 -1
- package/dist/client/assets/{square-terminal-DHH8tUx5.js → square-terminal-DH5KC33k.js} +1 -1
- package/dist/client/assets/{stateDiagram-FKZM4ZOC-DsFp4qia.js → stateDiagram-FKZM4ZOC-CKKdKiLu.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-CSXqjPLc.js +1 -0
- package/dist/client/assets/{timeline-definition-IT6M3QCI-0xcgjNhV.js → timeline-definition-IT6M3QCI-BwdepkjX.js} +1 -1
- package/dist/client/assets/{treemap-GDKQZRPO-BWb88BcP.js → treemap-GDKQZRPO-CHiLww4s.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId-BGYd2hI-.js → workspace._workspaceId-D1BWy1Ur.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId-jOqDoJcM.js → workspace._workspaceId-Quiswnjw.js} +2 -2
- package/dist/client/assets/{xychartDiagram-PRI3JC2R--tkhYHwZ.js → xychartDiagram-PRI3JC2R-DawkS0Sm.js} +1 -1
- package/dist/server/assets/{DockviewBrowserContainer-bdNwZbjc.js → DockviewBrowserContainer-SjtAFOaO.js} +1 -1
- package/dist/server/assets/{DockviewTerminalContainer-B1Nw8LXB.js → DockviewTerminalContainer-D6-3suIN.js} +3 -3
- package/dist/server/assets/{TerminalPanel-Badqj0m0.js → TerminalPanel-DA2GjlrE.js} +4 -1
- package/dist/server/assets/{_basePickBy-D8ok8_jI.js → _basePickBy-mQwpcWuA.js} +2 -2
- package/dist/server/assets/{_baseUniq--LQjrjoo.js → _baseUniq-BqTMAIfp.js} +1 -1
- package/dist/server/assets/{_tanstack-start-manifest_v-CIcSNV55.js → _tanstack-start-manifest_v-PthNKGfG.js} +1 -1
- package/dist/server/assets/{arc-UlCdTTPZ.js → arc-CfotX0XO.js} +1 -1
- package/dist/server/assets/{architecture-7HQA4BMR-g585WmZs.js → architecture-7HQA4BMR-w7SRxWR3.js} +6 -6
- package/dist/server/assets/{architectureDiagram-VXUJARFQ-kdf4spX4.js → architectureDiagram-VXUJARFQ-DJFhyyCh.js} +6 -6
- package/dist/server/assets/{blockDiagram-VD42YOAC-XJWMoZPI.js → blockDiagram-VD42YOAC-6rxJggh1.js} +6 -6
- package/dist/server/assets/{c4Diagram-YG6GDRKO-BULLTo2O.js → c4Diagram-YG6GDRKO-D3y86IYm.js} +2 -2
- package/dist/server/assets/{channel-N781S9-q.js → channel-BvsPpLae.js} +1 -1
- package/dist/server/assets/{chunk-4BX2VUAB-D4MPtIqQ.js → chunk-4BX2VUAB-BhVS4SR2.js} +1 -1
- package/dist/server/assets/{chunk-55IACEB6-BsRaN4wq.js → chunk-55IACEB6-DKZQfAUk.js} +1 -1
- package/dist/server/assets/{chunk-B4BG7PRW-kuOFZXeP.js → chunk-B4BG7PRW-CTFHJOgm.js} +4 -4
- package/dist/server/assets/{chunk-DI55MBZ5-ccubr48T.js → chunk-DI55MBZ5-D4oMyPFU.js} +3 -3
- package/dist/server/assets/{chunk-FMBD7UC4-BNEgTZts.js → chunk-FMBD7UC4-C--TorDk.js} +1 -1
- package/dist/server/assets/{chunk-QN33PNHL-gAa-_mPg.js → chunk-QN33PNHL-Bq5t-J27.js} +1 -1
- package/dist/server/assets/{chunk-QZHKN3VN-qid0EAJk.js → chunk-QZHKN3VN-D9QKIA24.js} +1 -1
- package/dist/server/assets/{chunk-TZMSLE5B-BAwrhrCM.js → chunk-TZMSLE5B-DsPVSWvD.js} +1 -1
- package/dist/server/assets/{classDiagram-v2-WZHVMYZB-D48G1fOA.js → classDiagram-2ON5EDUG-BDvFA_gY.js} +5 -5
- package/dist/server/assets/{classDiagram-2ON5EDUG-D48G1fOA.js → classDiagram-v2-WZHVMYZB-BDvFA_gY.js} +5 -5
- package/dist/server/assets/{clone-g6aLZKbC.js → clone-CCgsMGyI.js} +1 -1
- package/dist/server/assets/{cose-bilkent-S5V4N54A-GH832JBk.js → cose-bilkent-S5V4N54A-6FhE7VMC.js} +1 -1
- package/dist/server/assets/{dagre-6UL2VRFP-DCM_EeeJ.js → dagre-6UL2VRFP-B2XCzgyl.js} +6 -6
- package/dist/server/assets/{diagram-PSM6KHXK-Wsb4GT24.js → diagram-PSM6KHXK-C3a4H4k4.js} +7 -7
- package/dist/server/assets/{diagram-QEK2KX5R--ln7zI47.js → diagram-QEK2KX5R-Cr2uQFcl.js} +6 -6
- package/dist/server/assets/{diagram-S2PKOQOG-nDhXR9ui.js → diagram-S2PKOQOG-B02qDgDh.js} +6 -6
- package/dist/server/assets/{erDiagram-Q2GNP2WA-CMa2Pz-v.js → erDiagram-Q2GNP2WA-COfTfgT3.js} +4 -4
- package/dist/server/assets/{flowDiagram-NV44I4VS-4gEGHH9W.js → flowDiagram-NV44I4VS-DMHyjH0P.js} +5 -5
- package/dist/server/assets/{ganttDiagram-JELNMOA3-BOS7aF_7.js → ganttDiagram-JELNMOA3-tZWVaeIh.js} +1 -1
- package/dist/server/assets/{gitGraph-G5XIXVHT-DPzSD5yq.js → gitGraph-G5XIXVHT-CZ_Z3kfk.js} +6 -6
- package/dist/server/assets/{gitGraphDiagram-V2S2FVAM-CKZ8qTSA.js → gitGraphDiagram-V2S2FVAM-BE9qq2Q5.js} +7 -7
- package/dist/server/assets/{graph-CdCcTp1P.js → graph-BzW4XaDV.js} +2 -2
- package/dist/server/assets/{highlighted-body-B3W2YXNL-Dmr6rOWq.js → highlighted-body-B3W2YXNL-D0yX7NC8.js} +1 -1
- package/dist/server/assets/{index-joSkjgFP.js → index-BHpOY7Dw.js} +5 -5
- package/dist/server/assets/{index-D7vNc-qo.js → index-BNF8mJRP.js} +2 -2
- package/dist/server/assets/{index-Bvxb7XFW.js → index-BXnk_LSs.js} +1 -1
- package/dist/server/assets/{index-Ddp0lHMA.js → index-BddxWcBo.js} +4 -4
- package/dist/server/assets/{index-DAc69z6c.js → index-BhGU4xre.js} +2 -2
- package/dist/server/assets/{index-BQy_SzGG.js → index-BjZusA5s.js} +2 -2
- package/dist/server/assets/{index-BXNtERIJ.js → index-BkVmoV0_.js} +2 -2
- package/dist/server/assets/{index-DtlVc4yR.js → index-CEEnohTX.js} +2 -2
- package/dist/server/assets/{index-CZpP5Q96.js → index-CSJXca8g.js} +2 -2
- package/dist/server/assets/{index-DBfcn5gX.js → index-D3IdMBz4.js} +2 -2
- package/dist/server/assets/{index-DTBi6jO_.js → index-DHC4nyMa.js} +5 -5
- package/dist/server/assets/{index-3AJisjJ-.js → index-DLYVbCsD.js} +2 -2
- package/dist/server/assets/{index-C4WwCpyx.js → index-DSjoHOQR.js} +2 -2
- package/dist/server/assets/{index-VEnlzI7K.js → index-DXdGHSqq.js} +3 -3
- package/dist/server/assets/{index-gQzM4HJi.js → index-Dgiv8n6K.js} +2 -2
- package/dist/server/assets/{index-DinEbWse.js → index-DrE9X1gh.js} +3 -3
- package/dist/server/assets/{index-Dm8dBBAU.js → index-GYPGaDq3.js} +2 -2
- package/dist/server/assets/{index-DzVgMYHM.js → index-WDxgib-p.js} +1 -1
- package/dist/server/assets/{info-VBDWY6EO-BZp8zZQH.js → info-VBDWY6EO-DaBZazBe.js} +6 -6
- package/dist/server/assets/{infoDiagram-HS3SLOUP-CLZPZZt4.js → infoDiagram-HS3SLOUP-Bu1EpnUn.js} +5 -5
- package/dist/server/assets/{journeyDiagram-XKPGCS4Q-DqIllasj.js → journeyDiagram-XKPGCS4Q-C2IfyEys.js} +4 -4
- package/dist/server/assets/{kanban-definition-3W4ZIXB7-B3yTD6nz.js → kanban-definition-3W4ZIXB7-Dmos0qrE.js} +2 -2
- package/dist/server/assets/{layout-DbYj2Jh8.js → layout-B_sWGtIR.js} +4 -4
- package/dist/server/assets/{mermaid-3ZIDBTTL-Bf-b4R3F.js → mermaid-3ZIDBTTL-BW1cNMu3.js} +1 -1
- package/dist/server/assets/{mermaid-parser.core-BPo5KaJR.js → mermaid-parser.core-C0KGu9_Y.js} +11 -11
- package/dist/server/assets/{mindmap-definition-VGOIOE7T-BsUTGWbP.js → mindmap-definition-VGOIOE7T-C_mzYt-R.js} +3 -3
- package/dist/server/assets/{packet-DYOGHKS2-BNRq6Npr.js → packet-DYOGHKS2-DYttG_nQ.js} +6 -6
- package/dist/server/assets/{pie-VRWISCQL-Dbo7CqNc.js → pie-VRWISCQL-BuhC4M0x.js} +6 -6
- package/dist/server/assets/{pieDiagram-ADFJNKIX-BSiV1fdc.js → pieDiagram-ADFJNKIX-DexUC2dZ.js} +7 -7
- package/dist/server/assets/{quadrantDiagram-AYHSOK5B-DzkaSCma.js → quadrantDiagram-AYHSOK5B-I-ZcwW4o.js} +1 -1
- package/dist/server/assets/{radar-ZZBFDIW7-C5pSAtKi.js → radar-ZZBFDIW7-CotKU5eu.js} +6 -6
- package/dist/server/assets/{requirementDiagram-UZGBJVZJ--OE8EeQy.js → requirementDiagram-UZGBJVZJ-Ea8SMq7y.js} +3 -3
- package/dist/server/assets/{router-D6HwaUre.js → router-Cp26PX4S.js} +143 -59
- package/dist/server/assets/{sankeyDiagram-TZEHDZUN--_Lp6TNE.js → sankeyDiagram-TZEHDZUN-qAb9c_VI.js} +1 -1
- package/dist/server/assets/{sequenceDiagram-WL72ISMW-Cnkewzyp.js → sequenceDiagram-WL72ISMW-DhHw376S.js} +3 -3
- package/dist/server/assets/{square-terminal-D02AASv1.js → square-terminal-urq6IDN2.js} +1 -1
- package/dist/server/assets/{stateDiagram-FKZM4ZOC-Rrf6wgHM.js → stateDiagram-FKZM4ZOC-AZXk6dET.js} +8 -8
- package/dist/server/assets/{stateDiagram-v2-4FDKWEC3-CLZxE5q1.js → stateDiagram-v2-4FDKWEC3-C8Sgtsj6.js} +4 -4
- package/dist/server/assets/{timeline-definition-IT6M3QCI-CXfT4jgF.js → timeline-definition-IT6M3QCI-D34GNHxa.js} +2 -2
- package/dist/server/assets/{treemap-GDKQZRPO-CLL_lvY2.js → treemap-GDKQZRPO-CfD3pUzb.js} +6 -6
- package/dist/server/assets/{workspace._workspaceId-DXxXFkGR.js → workspace._workspaceId-CweIY_H0.js} +3 -3
- package/dist/server/assets/{workspace._workspaceId-CwFiKcq0.js → workspace._workspaceId-D87t1HVW.js} +1 -1
- package/dist/server/assets/{xychartDiagram-PRI3JC2R-DPZMWcNA.js → xychartDiagram-PRI3JC2R-CWxcKTdW.js} +1 -1
- package/dist/server/server.js +2 -2
- package/dist/start-server.mjs +61 -257
- package/package.json +4 -4
- package/dist/client/assets/channel-DbN6Vg7w.js +0 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-BegLJbQe.js +0 -1
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-BegLJbQe.js +0 -1
- package/dist/client/assets/clone-Cl7gVEL3.js +0 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-Dgk5Hjv7.js +0 -1
|
@@ -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-
|
|
3
|
-
import { _ as __name, a6 as setConfig2, U as getConfig2, V as select, W as log, a1 as distExports, Y as configureSvgSize, Z as assignWithDepth_default, a3 as common_default, S as setAccTitle, J as setAccDescription, aa as setDiagramTitle, O as getAccTitle, M as getAccDescription, ab as getDiagramTitle, ac as load, ad as JSON_SCHEMA, ag as clear, a0 as sanitizeText, a9 as utils_default, aN as hasKatex, aO as calculateMathMLDimensions, aP as parseFontSize, aQ as ZERO_WIDTH_SPACE, aR as getUrl, aS as renderKatexSanitized, ap as getConfig } from "./router-
|
|
4
|
-
import { I as ImperativeState } from "./chunk-QZHKN3VN-
|
|
2
|
+
import { a as drawBackgroundRect, b as getTextObj, g as getNoteRect, d as drawRect, c as drawEmbeddedImage, e as drawImage } from "./chunk-TZMSLE5B-DsPVSWvD.js";
|
|
3
|
+
import { _ as __name, a6 as setConfig2, U as getConfig2, V as select, W as log, a1 as distExports, Y as configureSvgSize, Z as assignWithDepth_default, a3 as common_default, S as setAccTitle, J as setAccDescription, aa as setDiagramTitle, O as getAccTitle, M as getAccDescription, ab as getDiagramTitle, ac as load, ad as JSON_SCHEMA, ag as clear, a0 as sanitizeText, a9 as utils_default, aN as hasKatex, aO as calculateMathMLDimensions, aP as parseFontSize, aQ as ZERO_WIDTH_SPACE, aR as getUrl, aS as renderKatexSanitized, ap as getConfig } from "./router-Cp26PX4S.js";
|
|
4
|
+
import { I as ImperativeState } from "./chunk-QZHKN3VN-D9QKIA24.js";
|
|
5
5
|
import "../server.js";
|
|
6
6
|
import "node:async_hooks";
|
|
7
7
|
import "node:stream";
|
package/dist/server/assets/{stateDiagram-FKZM4ZOC-Rrf6wgHM.js → stateDiagram-FKZM4ZOC-AZXk6dET.js}
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { s as styles_default, a as stateDiagram_default, S as StateDB } from "./chunk-DI55MBZ5-
|
|
2
|
-
import { _ as __name, U as getConfig2, V as select, W as log, Y as configureSvgSize, a3 as common_default, aM as line, aU as curveBasis, aR as getUrl, a9 as utils_default } from "./router-
|
|
3
|
-
import { G as Graph } from "./graph-
|
|
4
|
-
import { l as layout } from "./layout-
|
|
5
|
-
import "./chunk-55IACEB6-
|
|
6
|
-
import "./chunk-QN33PNHL-
|
|
1
|
+
import { s as styles_default, a as stateDiagram_default, S as StateDB } from "./chunk-DI55MBZ5-D4oMyPFU.js";
|
|
2
|
+
import { _ as __name, U as getConfig2, V as select, W as log, Y as configureSvgSize, a3 as common_default, aM as line, aU as curveBasis, aR as getUrl, a9 as utils_default } from "./router-Cp26PX4S.js";
|
|
3
|
+
import { G as Graph } from "./graph-BzW4XaDV.js";
|
|
4
|
+
import { l as layout } from "./layout-B_sWGtIR.js";
|
|
5
|
+
import "./chunk-55IACEB6-DKZQfAUk.js";
|
|
6
|
+
import "./chunk-QN33PNHL-Bq5t-J27.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
|
|
19
|
-
import "./_basePickBy-
|
|
18
|
+
import "./_baseUniq-BqTMAIfp.js";
|
|
19
|
+
import "./_basePickBy-mQwpcWuA.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-
|
|
2
|
-
import { _ as __name } from "./router-
|
|
3
|
-
import "./chunk-55IACEB6-
|
|
4
|
-
import "./chunk-QN33PNHL-
|
|
1
|
+
import { s as styles_default, b as stateRenderer_v3_unified_default, a as stateDiagram_default, S as StateDB } from "./chunk-DI55MBZ5-D4oMyPFU.js";
|
|
2
|
+
import { _ as __name } from "./router-Cp26PX4S.js";
|
|
3
|
+
import "./chunk-55IACEB6-DKZQfAUk.js";
|
|
4
|
+
import "./chunk-QN33PNHL-Bq5t-J27.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, U as getConfig2, W as log, V as select, aW as setupGraphViewbox, aX as isDark, aY as lighten, aZ as darken, al as __export, a_ as commonDb_exports, ag as clear } from "./router-
|
|
2
|
-
import { d as d3arc } from "./arc-
|
|
1
|
+
import { _ as __name, U as getConfig2, W as log, V as select, aW as setupGraphViewbox, aX as isDark, aY as lighten, aZ as darken, al as __export, a_ as commonDb_exports, ag as clear } from "./router-Cp26PX4S.js";
|
|
2
|
+
import { d as d3arc } from "./arc-CfotX0XO.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-
|
|
2
|
-
import { T } from "./mermaid-parser.core-
|
|
3
|
-
import "./router-
|
|
1
|
+
import { h as createTreemapServices } from "./mermaid-parser.core-C0KGu9_Y.js";
|
|
2
|
+
import { T } from "./mermaid-parser.core-C0KGu9_Y.js";
|
|
3
|
+
import "./router-Cp26PX4S.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
|
|
16
|
-
import "./_basePickBy-
|
|
17
|
-
import "./clone-
|
|
15
|
+
import "./_baseUniq-BqTMAIfp.js";
|
|
16
|
+
import "./_basePickBy-mQwpcWuA.js";
|
|
17
|
+
import "./clone-CCgsMGyI.js";
|
|
18
18
|
import "path";
|
|
19
19
|
import "os";
|
|
20
20
|
import "net";
|
package/dist/server/assets/{workspace._workspaceId-DXxXFkGR.js → workspace._workspaceId-CweIY_H0.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports, r as reactExports } from "../server.js";
|
|
2
|
-
import { bN as MessageSquare, bS as GitCompare, bT as FolderOpen, R as Route, bO as useIsDesktop, bU as useDashboardStore, bR as isDesktop, bV as useNavigate, p as trpc, bW as DesktopDragRegion, bX as ArrowLeft, bY as ChevronsUpDown, bZ as DiffView, b_ as CodeBrowserView, b$ as QuickOpenDialog, c0 as SearchFilesDialog, c1 as WorkspacePickerDialog, c2 as useDiffTarget, c3 as useSettingsQuery, c4 as agentTypeSupportsSessionListing, c5 as ChatView } from "./router-
|
|
3
|
-
import { S as SquareTerminal } from "./square-terminal-
|
|
2
|
+
import { bN as MessageSquare, bS as GitCompare, bT as FolderOpen, R as Route, bO as useIsDesktop, bU as useDashboardStore, bR as isDesktop, bV as useNavigate, p as trpc, bW as DesktopDragRegion, bX as ArrowLeft, bY as ChevronsUpDown, bZ as DiffView, b_ as CodeBrowserView, b$ as QuickOpenDialog, c0 as SearchFilesDialog, c1 as WorkspacePickerDialog, c2 as useDiffTarget, c3 as useSettingsQuery, c4 as agentTypeSupportsSessionListing, c5 as ChatView } from "./router-Cp26PX4S.js";
|
|
3
|
+
import { S as SquareTerminal } from "./square-terminal-urq6IDN2.js";
|
|
4
4
|
import "node:async_hooks";
|
|
5
5
|
import "node:stream";
|
|
6
6
|
import "util";
|
|
@@ -56,7 +56,7 @@ const SessionListContext = reactExports.createContext({
|
|
|
56
56
|
function useSessionListContext() {
|
|
57
57
|
return reactExports.useContext(SessionListContext);
|
|
58
58
|
}
|
|
59
|
-
const DockviewTerminalContainer = reactExports.lazy(() => import("./DockviewTerminalContainer-
|
|
59
|
+
const DockviewTerminalContainer = reactExports.lazy(() => import("./DockviewTerminalContainer-D6-3suIN.js").then((m) => ({
|
|
60
60
|
default: m.DockviewTerminalContainer
|
|
61
61
|
})));
|
|
62
62
|
function useAppHeight() {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
2
|
-
import { J as setAccDescription, M as getAccDescription, ab as getDiagramTitle, aa as setDiagramTitle, O as getAccTitle, S as setAccTitle, _ as __name, W as log, ar as selectSvgElement, Y as configureSvgSize, ag as clear, ap as getConfig, a0 as sanitizeText, an as cleanAndMerge, ao as defaultConfig_default, aJ as getThemeVariables3, aK as band, aL as computeDimensionOfText, aI as linear, aM as line } from "./router-
|
|
2
|
+
import { J as setAccDescription, M as getAccDescription, ab as getDiagramTitle, aa as setDiagramTitle, O as getAccTitle, S as setAccTitle, _ as __name, W as log, ar as selectSvgElement, Y as configureSvgSize, ag as clear, ap as getConfig, a0 as sanitizeText, an as cleanAndMerge, ao as defaultConfig_default, aJ as getThemeVariables3, aK as band, aL as computeDimensionOfText, aI as linear, aM as line } from "./router-Cp26PX4S.js";
|
|
3
3
|
import "../server.js";
|
|
4
4
|
import "node:async_hooks";
|
|
5
5
|
import "node:stream";
|
package/dist/server/server.js
CHANGED
|
@@ -19381,7 +19381,7 @@ function getResponse() {
|
|
|
19381
19381
|
return event.res;
|
|
19382
19382
|
}
|
|
19383
19383
|
async function getStartManifest(matchedRoutes) {
|
|
19384
|
-
const { tsrStartManifest } = await import("./assets/_tanstack-start-manifest_v-
|
|
19384
|
+
const { tsrStartManifest } = await import("./assets/_tanstack-start-manifest_v-PthNKGfG.js");
|
|
19385
19385
|
const startManifest = tsrStartManifest();
|
|
19386
19386
|
const rootRoute = startManifest.routes[rootRouteId] = startManifest.routes[rootRouteId] || {};
|
|
19387
19387
|
rootRoute.assets = rootRoute.assets || [];
|
|
@@ -19957,7 +19957,7 @@ let entriesPromise;
|
|
|
19957
19957
|
let baseManifestPromise;
|
|
19958
19958
|
let cachedFinalManifestPromise;
|
|
19959
19959
|
async function loadEntries() {
|
|
19960
|
-
const routerEntry = await import("./assets/router-
|
|
19960
|
+
const routerEntry = await import("./assets/router-Cp26PX4S.js").then((n2) => n2.dJ);
|
|
19961
19961
|
const startEntry = await import("./assets/start-HYkvq4Ni.js");
|
|
19962
19962
|
return { startEntry, routerEntry };
|
|
19963
19963
|
}
|
package/dist/start-server.mjs
CHANGED
|
@@ -29871,7 +29871,8 @@ function* mapClaudeCodeEvent(message, state) {
|
|
|
29871
29871
|
toolCallId,
|
|
29872
29872
|
toolName,
|
|
29873
29873
|
displayTitle: formatToolTitle(toolName, input),
|
|
29874
|
-
input
|
|
29874
|
+
input,
|
|
29875
|
+
interactive: INTERACTIVE_TOOLS.has(toolName)
|
|
29875
29876
|
};
|
|
29876
29877
|
processedUpTo = i2 + 1;
|
|
29877
29878
|
} else {
|
|
@@ -29953,10 +29954,10 @@ function* mapClaudeCodeEvent(message, state) {
|
|
|
29953
29954
|
function mapClaudeCodeHookStatus(payload) {
|
|
29954
29955
|
const hookEvent = typeof payload.hook_event_name === "string" ? payload.hook_event_name : "";
|
|
29955
29956
|
const toolName = typeof payload.tool_name === "string" ? payload.tool_name : "";
|
|
29956
|
-
if (hookEvent === "Stop"
|
|
29957
|
+
if (hookEvent === "Stop") {
|
|
29957
29958
|
return "needs_attention";
|
|
29958
29959
|
}
|
|
29959
|
-
if (hookEvent === "PreToolUse"
|
|
29960
|
+
if ((hookEvent === "PreToolUse" || hookEvent === "PermissionRequest") && INTERACTIVE_TOOLS.has(toolName)) {
|
|
29960
29961
|
return "needs_attention";
|
|
29961
29962
|
}
|
|
29962
29963
|
return "working";
|
|
@@ -29978,7 +29979,7 @@ function discoverClaudeSkills(workspaceDir) {
|
|
|
29978
29979
|
}
|
|
29979
29980
|
return Array.from(skillMap.values()).sort((a6, b10) => a6.name.localeCompare(b10.name));
|
|
29980
29981
|
}
|
|
29981
|
-
var log2, SESSION_TAIL_BYTES, cumulativeUsageBySession, MAX_CUMULATIVE_SESSIONS, ClaudeCodeAdapter, CLAUDE_CODE_DEFAULT_BINARY;
|
|
29982
|
+
var log2, INTERACTIVE_TOOLS, SESSION_TAIL_BYTES, cumulativeUsageBySession, MAX_CUMULATIVE_SESSIONS, ClaudeCodeAdapter, CLAUDE_CODE_DEFAULT_BINARY;
|
|
29982
29983
|
var init_claude_code = __esm({
|
|
29983
29984
|
"../../packages/coding-agent/src/adapters/claude-code.ts"() {
|
|
29984
29985
|
init_sdk();
|
|
@@ -29987,6 +29988,7 @@ var init_claude_code = __esm({
|
|
|
29987
29988
|
init_pricing();
|
|
29988
29989
|
init_skills();
|
|
29989
29990
|
log2 = createLogger("coding-agent:claude-code");
|
|
29991
|
+
INTERACTIVE_TOOLS = /* @__PURE__ */ new Set(["AskUserQuestion", "ExitPlanMode"]);
|
|
29990
29992
|
SESSION_TAIL_BYTES = 64 * 1024;
|
|
29991
29993
|
cumulativeUsageBySession = /* @__PURE__ */ new Map();
|
|
29992
29994
|
MAX_CUMULATIVE_SESSIONS = 500;
|
|
@@ -30034,7 +30036,6 @@ var init_claude_code = __esm({
|
|
|
30034
30036
|
},
|
|
30035
30037
|
"runSession starting"
|
|
30036
30038
|
);
|
|
30037
|
-
const INTERACTIVE_TOOLS = /* @__PURE__ */ new Set(["AskUserQuestion", "ExitPlanMode"]);
|
|
30038
30039
|
const canUseTool = async (toolName, input, options3) => {
|
|
30039
30040
|
if (!INTERACTIVE_TOOLS.has(toolName) || !this.onUserInputNeeded) {
|
|
30040
30041
|
return { behavior: "allow", updatedInput: input };
|
|
@@ -89697,7 +89698,7 @@ var require_dist5 = __commonJS({
|
|
|
89697
89698
|
});
|
|
89698
89699
|
|
|
89699
89700
|
// start-server.ts
|
|
89700
|
-
import { appendFileSync as appendFileSync2, createReadStream as createReadStream3, mkdirSync as
|
|
89701
|
+
import { appendFileSync as appendFileSync2, createReadStream as createReadStream3, mkdirSync as mkdirSync8, readFileSync as readFileSync9, statSync as statSync10 } from "node:fs";
|
|
89701
89702
|
import { createServer } from "node:http";
|
|
89702
89703
|
import { basename as basename3, join as join32, resolve as resolve11, sep as sep8 } from "node:path";
|
|
89703
89704
|
|
|
@@ -93897,46 +93898,9 @@ async function mapHookPayloadToStatus(agentType, payload) {
|
|
|
93897
93898
|
// ../../packages/coding-agent/src/install-skills.ts
|
|
93898
93899
|
import { homedir as homedir5 } from "node:os";
|
|
93899
93900
|
import { join as join8 } from "node:path";
|
|
93900
|
-
async function getInstallSkillsDir(type, home = homedir5()) {
|
|
93901
|
-
switch (type) {
|
|
93902
|
-
case "claude-code": {
|
|
93903
|
-
const { getClaudeCodeInstallSkillsDir: getClaudeCodeInstallSkillsDir2 } = await Promise.resolve().then(() => (init_claude_code(), claude_code_exports));
|
|
93904
|
-
return getClaudeCodeInstallSkillsDir2(home);
|
|
93905
|
-
}
|
|
93906
|
-
case "codex": {
|
|
93907
|
-
const { getCodexInstallSkillsDir: getCodexInstallSkillsDir2 } = await Promise.resolve().then(() => (init_codex(), codex_exports));
|
|
93908
|
-
return getCodexInstallSkillsDir2(home);
|
|
93909
|
-
}
|
|
93910
|
-
case "gemini-cli": {
|
|
93911
|
-
const { getGeminiCliInstallSkillsDir: getGeminiCliInstallSkillsDir2 } = await Promise.resolve().then(() => (init_gemini_cli(), gemini_cli_exports));
|
|
93912
|
-
return getGeminiCliInstallSkillsDir2(home);
|
|
93913
|
-
}
|
|
93914
|
-
case "opencode": {
|
|
93915
|
-
const { getOpenCodeInstallSkillsDir: getOpenCodeInstallSkillsDir2 } = await Promise.resolve().then(() => (init_opencode(), opencode_exports));
|
|
93916
|
-
return getOpenCodeInstallSkillsDir2(home);
|
|
93917
|
-
}
|
|
93918
|
-
default:
|
|
93919
|
-
return null;
|
|
93920
|
-
}
|
|
93921
|
-
}
|
|
93922
93901
|
function getSharedSkillsDir(home = homedir5()) {
|
|
93923
93902
|
return join8(home, ".agents", "skills");
|
|
93924
93903
|
}
|
|
93925
|
-
var SUPPORTED_AGENT_TYPES = ["claude-code", "codex", "gemini-cli", "opencode"];
|
|
93926
|
-
function getAgentConfigDir(type, home = homedir5()) {
|
|
93927
|
-
switch (type) {
|
|
93928
|
-
case "claude-code":
|
|
93929
|
-
return join8(home, ".claude");
|
|
93930
|
-
case "codex":
|
|
93931
|
-
return process.env.CODEX_HOME || join8(home, ".codex");
|
|
93932
|
-
case "gemini-cli":
|
|
93933
|
-
return join8(home, ".gemini");
|
|
93934
|
-
case "opencode":
|
|
93935
|
-
return join8(home, ".config", "opencode");
|
|
93936
|
-
default:
|
|
93937
|
-
return null;
|
|
93938
|
-
}
|
|
93939
|
-
}
|
|
93940
93904
|
|
|
93941
93905
|
// ../../packages/coding-agent/src/index.ts
|
|
93942
93906
|
init_pricing();
|
|
@@ -124169,7 +124133,6 @@ async function runTask(chatId, task) {
|
|
|
124169
124133
|
emit({ kind: "update", status: working });
|
|
124170
124134
|
const sharedDir = join21(bandHome(), "shared", task.workspaceId);
|
|
124171
124135
|
mkdirSync6(sharedDir, { recursive: true });
|
|
124172
|
-
const INTERACTIVE_TOOLS = /* @__PURE__ */ new Set(["AskUserQuestion", "ExitPlanMode"]);
|
|
124173
124136
|
let textPartId = "";
|
|
124174
124137
|
let textStarted = false;
|
|
124175
124138
|
let finished = false;
|
|
@@ -124259,7 +124222,7 @@ async function runTask(chatId, task) {
|
|
|
124259
124222
|
case "tool-use": {
|
|
124260
124223
|
endText();
|
|
124261
124224
|
announcedToolCalls.add(event.toolCallId);
|
|
124262
|
-
if (!
|
|
124225
|
+
if (!event.interactive) {
|
|
124263
124226
|
broadcast(chatId, {
|
|
124264
124227
|
type: "tool-input-available",
|
|
124265
124228
|
toolCallId: event.toolCallId,
|
|
@@ -137213,14 +137176,14 @@ import { platform as platform2 } from "node:os";
|
|
|
137213
137176
|
import { dirname as dirname4, join as join23, resolve as resolve5 } from "node:path";
|
|
137214
137177
|
var SYMLINK_PATH = "/usr/local/bin/band";
|
|
137215
137178
|
function findCliBinaryAt(opts) {
|
|
137216
|
-
const { cwd, dirname:
|
|
137179
|
+
const { cwd, dirname: dirname8 } = opts;
|
|
137217
137180
|
const appsStrategies = [
|
|
137218
137181
|
// cwd = apps/web/ (Vite dev and production server)
|
|
137219
137182
|
resolve5(cwd, ".."),
|
|
137220
137183
|
// cwd = project root (fallback)
|
|
137221
137184
|
resolve5(cwd, "apps"),
|
|
137222
137185
|
// From this source file in dev (apps/web/src/server/services/ → apps/)
|
|
137223
|
-
resolve5(
|
|
137186
|
+
resolve5(dirname8, "..", "..", "..", ".."),
|
|
137224
137187
|
// From bundled `dist/` file (<Resources>/web/dist/ → <Resources>/) only
|
|
137225
137188
|
// — in dev mode this resolves to `apps/web/src/`, which has no
|
|
137226
137189
|
// `cli/target/<profile>/band` and is harmless; the four-level walk
|
|
@@ -137228,7 +137191,7 @@ function findCliBinaryAt(opts) {
|
|
|
137228
137191
|
// layout under <Resources>/cli/ would still resolve. Today's Electron
|
|
137229
137192
|
// bundle ships the binary under `binaries/` (handled by Strategy B),
|
|
137230
137193
|
// so this strategy never hits in production either.
|
|
137231
|
-
resolve5(
|
|
137194
|
+
resolve5(dirname8, "..", "..", "..")
|
|
137232
137195
|
];
|
|
137233
137196
|
for (const appsDir of appsStrategies) {
|
|
137234
137197
|
for (const profile of ["release", "debug"]) {
|
|
@@ -137246,7 +137209,7 @@ function findCliBinaryAt(opts) {
|
|
|
137246
137209
|
resolve5(cwd, "..", "binaries", exe),
|
|
137247
137210
|
// From the bundled dist file (<Resources>/web/dist/start-server.mjs)
|
|
137248
137211
|
// → <Resources>/binaries/band
|
|
137249
|
-
resolve5(
|
|
137212
|
+
resolve5(dirname8, "..", "..", "binaries", exe)
|
|
137250
137213
|
];
|
|
137251
137214
|
for (const p6 of electronCandidates) {
|
|
137252
137215
|
try {
|
|
@@ -143028,21 +142991,9 @@ init_src();
|
|
|
143028
142991
|
|
|
143029
142992
|
// src/server/services/cli-skills-service.ts
|
|
143030
142993
|
import { execFile as execFile10 } from "node:child_process";
|
|
143031
|
-
import {
|
|
143032
|
-
|
|
143033
|
-
|
|
143034
|
-
mkdirSync as mkdirSync8,
|
|
143035
|
-
mkdtempSync,
|
|
143036
|
-
readFileSync as readFileSync9,
|
|
143037
|
-
readlinkSync as readlinkSync2,
|
|
143038
|
-
realpathSync as realpathSync7,
|
|
143039
|
-
rmSync as rmSync2,
|
|
143040
|
-
statSync as statSync9,
|
|
143041
|
-
symlinkSync as symlinkSync3,
|
|
143042
|
-
writeFileSync as writeFileSync4
|
|
143043
|
-
} from "node:fs";
|
|
143044
|
-
import { homedir as homedir9, tmpdir as tmpdir2 } from "node:os";
|
|
143045
|
-
import { dirname as dirname8, join as join31 } from "node:path";
|
|
142994
|
+
import { statSync as statSync9 } from "node:fs";
|
|
142995
|
+
import { homedir as homedir9 } from "node:os";
|
|
142996
|
+
import { join as join31 } from "node:path";
|
|
143046
142997
|
var BAND_SKILL_NAMES = [
|
|
143047
142998
|
"band",
|
|
143048
142999
|
"band-chat",
|
|
@@ -143052,26 +143003,6 @@ var BAND_SKILL_NAMES = [
|
|
|
143052
143003
|
"band-loop"
|
|
143053
143004
|
];
|
|
143054
143005
|
var SKILL_FILE = "SKILL.md";
|
|
143055
|
-
async function resolveSkillTargets(home = homedir9()) {
|
|
143056
|
-
const seen = /* @__PURE__ */ new Set();
|
|
143057
|
-
const out = [];
|
|
143058
|
-
for (const type of SUPPORTED_AGENT_TYPES) {
|
|
143059
|
-
const configDir = getAgentConfigDir(type, home);
|
|
143060
|
-
if (!configDir) continue;
|
|
143061
|
-
try {
|
|
143062
|
-
const stat5 = statSync9(configDir);
|
|
143063
|
-
if (!stat5.isDirectory()) continue;
|
|
143064
|
-
} catch {
|
|
143065
|
-
continue;
|
|
143066
|
-
}
|
|
143067
|
-
const skillsDir = await getInstallSkillsDir(type, home);
|
|
143068
|
-
if (!skillsDir) continue;
|
|
143069
|
-
if (seen.has(skillsDir)) continue;
|
|
143070
|
-
seen.add(skillsDir);
|
|
143071
|
-
out.push({ agentType: type, skillsDir });
|
|
143072
|
-
}
|
|
143073
|
-
return out;
|
|
143074
|
-
}
|
|
143075
143006
|
async function findBandBinary() {
|
|
143076
143007
|
try {
|
|
143077
143008
|
const stat5 = statSync9("/usr/local/bin/band");
|
|
@@ -143082,19 +143013,19 @@ async function findBandBinary() {
|
|
|
143082
143013
|
if (onPath) return onPath;
|
|
143083
143014
|
return findCliBinary();
|
|
143084
143015
|
}
|
|
143085
|
-
async function
|
|
143086
|
-
|
|
143016
|
+
async function runBandSkillsInstall(bandPath, home) {
|
|
143017
|
+
return new Promise((resolve12, reject) => {
|
|
143087
143018
|
execFile10(
|
|
143088
143019
|
bandPath,
|
|
143089
|
-
["
|
|
143020
|
+
["--output", "json", "skills", "install", "--home", home],
|
|
143090
143021
|
{ timeout: 3e4 },
|
|
143091
|
-
(err,
|
|
143022
|
+
(err, stdout, stderr) => {
|
|
143092
143023
|
if (err) {
|
|
143093
143024
|
const detail = stderr?.toString().trim();
|
|
143094
143025
|
reject(new Error(detail ? `${err.message}: ${detail}` : err.message));
|
|
143095
143026
|
return;
|
|
143096
143027
|
}
|
|
143097
|
-
resolve12();
|
|
143028
|
+
resolve12(stdout.toString());
|
|
143098
143029
|
}
|
|
143099
143030
|
);
|
|
143100
143031
|
});
|
|
@@ -143111,185 +143042,58 @@ async function installSkills(opts = {}) {
|
|
|
143111
143042
|
};
|
|
143112
143043
|
const home = opts.home ?? homedir9();
|
|
143113
143044
|
const sharedDir = getSharedSkillsDir(home);
|
|
143114
|
-
const
|
|
143045
|
+
const markAllSkipped = () => {
|
|
143046
|
+
for (const name3 of BAND_SKILL_NAMES) {
|
|
143047
|
+
result.skipped.push(join31(sharedDir, name3, SKILL_FILE));
|
|
143048
|
+
}
|
|
143049
|
+
};
|
|
143115
143050
|
const bandPath = await findBandBinary();
|
|
143116
143051
|
if (!bandPath) {
|
|
143117
143052
|
opts.log?.warn(
|
|
143118
143053
|
"Skipping CLI skills sync \u2014 band binary not found (no symlink, not on PATH, no bundled sidecar)"
|
|
143119
143054
|
);
|
|
143120
|
-
|
|
143121
|
-
result.skipped.push(join31(sharedDir, name3, SKILL_FILE));
|
|
143122
|
-
}
|
|
143055
|
+
markAllSkipped();
|
|
143123
143056
|
return result;
|
|
143124
143057
|
}
|
|
143125
|
-
|
|
143058
|
+
let raw;
|
|
143126
143059
|
try {
|
|
143127
|
-
await
|
|
143128
|
-
|
|
143129
|
-
|
|
143130
|
-
|
|
143131
|
-
|
|
143132
|
-
|
|
143133
|
-
|
|
143134
|
-
|
|
143135
|
-
}
|
|
143136
|
-
const sourceContent = readFileSync9(sourcePath);
|
|
143137
|
-
let existingContent = null;
|
|
143138
|
-
try {
|
|
143139
|
-
existingContent = readFileSync9(destPath);
|
|
143140
|
-
} catch (err) {
|
|
143141
|
-
const code = err.code;
|
|
143142
|
-
if (code !== "ENOENT") {
|
|
143143
|
-
opts.log?.warn(
|
|
143144
|
-
"Failed to read existing shared skill at %s: %s \u2014 overwriting",
|
|
143145
|
-
destPath,
|
|
143146
|
-
err instanceof Error ? err.message : String(err)
|
|
143147
|
-
);
|
|
143148
|
-
}
|
|
143149
|
-
}
|
|
143150
|
-
if (existingContent?.equals(sourceContent)) {
|
|
143151
|
-
result.unchanged.push(destPath);
|
|
143152
|
-
continue;
|
|
143153
|
-
}
|
|
143154
|
-
mkdirSync8(dirname8(destPath), { recursive: true });
|
|
143155
|
-
writeFileSync4(destPath, sourceContent);
|
|
143156
|
-
if (existingContent) {
|
|
143157
|
-
result.updated.push(destPath);
|
|
143158
|
-
opts.log?.info(
|
|
143159
|
-
"Updated %s skill at %s (content differed \u2014 local edits, if any, were overwritten)",
|
|
143160
|
-
name3,
|
|
143161
|
-
destPath
|
|
143162
|
-
);
|
|
143163
|
-
} else {
|
|
143164
|
-
result.written.push(destPath);
|
|
143165
|
-
opts.log?.info("Installed %s skill at %s", name3, destPath);
|
|
143166
|
-
}
|
|
143167
|
-
}
|
|
143168
|
-
if (targets.length === 0) {
|
|
143169
|
-
opts.log?.info(
|
|
143170
|
-
"No supported coding agents detected on host \u2014 skills installed to %s but no agent symlinks created",
|
|
143171
|
-
sharedDir
|
|
143172
|
-
);
|
|
143173
|
-
return result;
|
|
143174
|
-
}
|
|
143175
|
-
for (const target of targets) {
|
|
143176
|
-
for (const name3 of BAND_SKILL_NAMES) {
|
|
143177
|
-
const shared2 = join31(sharedDir, name3);
|
|
143178
|
-
const link2 = join31(target.skillsDir, name3);
|
|
143179
|
-
if (!existsSync14(shared2)) {
|
|
143180
|
-
result.skipped.push(link2);
|
|
143181
|
-
continue;
|
|
143182
|
-
}
|
|
143183
|
-
const outcome = ensureSymlink({ link: link2, target: shared2, log: opts.log });
|
|
143184
|
-
switch (outcome.kind) {
|
|
143185
|
-
case "created":
|
|
143186
|
-
result.linked.push(link2);
|
|
143187
|
-
opts.log?.info("Linked %s skills/%s \u2192 %s", target.agentType, name3, shared2);
|
|
143188
|
-
break;
|
|
143189
|
-
case "already":
|
|
143190
|
-
result.alreadyLinked.push(link2);
|
|
143191
|
-
break;
|
|
143192
|
-
case "conflict":
|
|
143193
|
-
result.conflicts.push(`${link2}: ${outcome.reason}`);
|
|
143194
|
-
opts.log?.warn(
|
|
143195
|
-
"Skill symlink conflict at %s \u2014 %s (leaving as-is; remove it manually to re-link)",
|
|
143196
|
-
link2,
|
|
143197
|
-
outcome.reason
|
|
143198
|
-
);
|
|
143199
|
-
break;
|
|
143200
|
-
}
|
|
143201
|
-
}
|
|
143202
|
-
}
|
|
143203
|
-
} finally {
|
|
143204
|
-
try {
|
|
143205
|
-
rmSync2(stagingDir, { recursive: true, force: true });
|
|
143206
|
-
} catch {
|
|
143207
|
-
}
|
|
143060
|
+
raw = await runBandSkillsInstall(bandPath, home);
|
|
143061
|
+
} catch (err) {
|
|
143062
|
+
opts.log?.warn(
|
|
143063
|
+
"Skipping CLI skills sync \u2014 `band skills install` failed: %s",
|
|
143064
|
+
err instanceof Error ? err.message : String(err)
|
|
143065
|
+
);
|
|
143066
|
+
markAllSkipped();
|
|
143067
|
+
return result;
|
|
143208
143068
|
}
|
|
143209
|
-
|
|
143210
|
-
}
|
|
143211
|
-
function ensureSymlink(args) {
|
|
143212
|
-
return ensureSymlinkInner(args, false);
|
|
143213
|
-
}
|
|
143214
|
-
function ensureSymlinkInner(args, retried) {
|
|
143215
|
-
const { link: link2, target } = args;
|
|
143216
|
-
mkdirSync8(dirname8(link2), { recursive: true });
|
|
143217
|
-
let existing = null;
|
|
143069
|
+
let parsed;
|
|
143218
143070
|
try {
|
|
143219
|
-
|
|
143071
|
+
parsed = JSON.parse(raw);
|
|
143220
143072
|
} catch (err) {
|
|
143221
|
-
|
|
143222
|
-
|
|
143223
|
-
|
|
143224
|
-
|
|
143225
|
-
|
|
143226
|
-
|
|
143227
|
-
}
|
|
143228
|
-
}
|
|
143229
|
-
if (existing === null) {
|
|
143230
|
-
try {
|
|
143231
|
-
symlinkSync3(target, link2, "dir");
|
|
143232
|
-
return { kind: "created" };
|
|
143233
|
-
} catch (err) {
|
|
143234
|
-
if (err.code === "EEXIST") {
|
|
143235
|
-
if (retried) {
|
|
143236
|
-
return {
|
|
143237
|
-
kind: "conflict",
|
|
143238
|
-
reason: "EEXIST after retry \u2014 filesystem state is inconsistent"
|
|
143239
|
-
};
|
|
143240
|
-
}
|
|
143241
|
-
return ensureSymlinkInner(args, true);
|
|
143242
|
-
}
|
|
143243
|
-
return {
|
|
143244
|
-
kind: "conflict",
|
|
143245
|
-
reason: `failed to create symlink: ${err instanceof Error ? err.message : String(err)}`
|
|
143246
|
-
};
|
|
143247
|
-
}
|
|
143248
|
-
}
|
|
143249
|
-
if (existing.isSymbolicLink()) {
|
|
143250
|
-
let pointsAt;
|
|
143251
|
-
try {
|
|
143252
|
-
pointsAt = realpathSync7(link2);
|
|
143253
|
-
} catch (err) {
|
|
143254
|
-
return {
|
|
143255
|
-
kind: "conflict",
|
|
143256
|
-
reason: `existing symlink is broken (${err instanceof Error ? err.message : String(err)})`
|
|
143257
|
-
};
|
|
143258
|
-
}
|
|
143259
|
-
let targetReal;
|
|
143260
|
-
try {
|
|
143261
|
-
targetReal = realpathSync7(target);
|
|
143262
|
-
} catch (err) {
|
|
143263
|
-
return {
|
|
143264
|
-
kind: "conflict",
|
|
143265
|
-
reason: `target unreadable (${err instanceof Error ? err.message : String(err)})`
|
|
143266
|
-
};
|
|
143267
|
-
}
|
|
143268
|
-
if (pointsAt === targetReal) {
|
|
143269
|
-
return { kind: "already" };
|
|
143270
|
-
}
|
|
143271
|
-
return {
|
|
143272
|
-
kind: "conflict",
|
|
143273
|
-
reason: `symlink points to ${readlinkSafe(link2)} (expected ${target})`
|
|
143274
|
-
};
|
|
143275
|
-
}
|
|
143276
|
-
if (existing.isDirectory()) {
|
|
143277
|
-
return {
|
|
143278
|
-
kind: "conflict",
|
|
143279
|
-
reason: "path is a real directory (not a symlink)"
|
|
143280
|
-
};
|
|
143073
|
+
opts.log?.warn(
|
|
143074
|
+
"Skipping CLI skills sync \u2014 `band skills install` returned invalid JSON: %s",
|
|
143075
|
+
err instanceof Error ? err.message : String(err)
|
|
143076
|
+
);
|
|
143077
|
+
markAllSkipped();
|
|
143078
|
+
return result;
|
|
143281
143079
|
}
|
|
143282
|
-
|
|
143283
|
-
|
|
143284
|
-
|
|
143285
|
-
|
|
143286
|
-
|
|
143287
|
-
|
|
143288
|
-
|
|
143289
|
-
|
|
143290
|
-
|
|
143291
|
-
|
|
143080
|
+
result.written = parsed.shared?.written ?? [];
|
|
143081
|
+
result.updated = parsed.shared?.updated ?? [];
|
|
143082
|
+
result.unchanged = parsed.shared?.unchanged ?? [];
|
|
143083
|
+
result.linked = parsed.symlinks?.linked ?? [];
|
|
143084
|
+
result.alreadyLinked = parsed.symlinks?.alreadyLinked ?? [];
|
|
143085
|
+
result.conflicts = (parsed.symlinks?.conflicts ?? []).map((c2) => `${c2.path}: ${c2.reason}`);
|
|
143086
|
+
for (const path3 of result.written) opts.log?.info("Installed skill at %s", path3);
|
|
143087
|
+
for (const path3 of result.updated) {
|
|
143088
|
+
opts.log?.info("Updated skill at %s (content differed \u2014 shipped version reinstalled)", path3);
|
|
143089
|
+
}
|
|
143090
|
+
for (const conflict of result.conflicts) {
|
|
143091
|
+
opts.log?.warn(
|
|
143092
|
+
"Skill symlink conflict \u2014 %s (left as-is; remove it manually to re-link)",
|
|
143093
|
+
conflict
|
|
143094
|
+
);
|
|
143292
143095
|
}
|
|
143096
|
+
return result;
|
|
143293
143097
|
}
|
|
143294
143098
|
|
|
143295
143099
|
// src/server/services/setup-service.ts
|
|
@@ -143460,7 +143264,7 @@ var setupService = new SetupService();
|
|
|
143460
143264
|
// start-server.ts
|
|
143461
143265
|
function logCrash(message) {
|
|
143462
143266
|
try {
|
|
143463
|
-
|
|
143267
|
+
mkdirSync8(bandHome(), { recursive: true });
|
|
143464
143268
|
appendFileSync2(join32(bandHome(), "server.log"), message, "utf-8");
|
|
143465
143269
|
} catch {
|
|
143466
143270
|
}
|
|
@@ -143527,7 +143331,7 @@ function getOpenApiSpec() {
|
|
|
143527
143331
|
doc2.servers = [{ url: "/trpc" }];
|
|
143528
143332
|
return JSON.stringify(doc2, null, 2);
|
|
143529
143333
|
}
|
|
143530
|
-
const openApiDoc = JSON.parse(
|
|
143334
|
+
const openApiDoc = JSON.parse(readFileSync9(join32(SERVER_ROOT, "openapi.json"), "utf-8"));
|
|
143531
143335
|
openApiDoc.servers = [{ url: "/trpc" }];
|
|
143532
143336
|
return JSON.stringify(openApiDoc, null, 2);
|
|
143533
143337
|
})().catch((err) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@band-app/server",
|
|
3
|
-
"version": "0.21.
|
|
3
|
+
"version": "0.21.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"band-server": "./bin/band-server.mjs"
|
|
@@ -117,9 +117,9 @@
|
|
|
117
117
|
"ws": "^8.18.0",
|
|
118
118
|
"zod": "^3.25.67",
|
|
119
119
|
"zustand": "^5.0.0",
|
|
120
|
-
"@band-app/coding-agent": "^0.21.
|
|
121
|
-
"@band-app/
|
|
122
|
-
"@band-app/
|
|
120
|
+
"@band-app/coding-agent": "^0.21.2",
|
|
121
|
+
"@band-app/ui": "^0.21.2",
|
|
122
|
+
"@band-app/logger": "^0.21.2"
|
|
123
123
|
},
|
|
124
124
|
"scripts": {
|
|
125
125
|
"dev": "NODE_ENV=development tsx watch start-server.ts",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{am as n,an as o}from"./main-p2Lo-pWV.js";const t=(a,r)=>n.lang.round(o.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-D4iHXw8l.js";import{W as i}from"./main-p2Lo-pWV.js";import"./chunk-FMBD7UC4-Zwu4-L0P.js";import"./chunk-55IACEB6-BfU__3ET.js";import"./chunk-QN33PNHL-DxMovsgL.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-D4iHXw8l.js";import{W as i}from"./main-p2Lo-pWV.js";import"./chunk-FMBD7UC4-Zwu4-L0P.js";import"./chunk-55IACEB6-BfU__3ET.js";import"./chunk-QN33PNHL-DxMovsgL.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};
|