strikethroo 3.25.0 → 4.1.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/README.md +14 -0
- package/dist/cli.js +18 -0
- package/dist/cli.js.map +1 -1
- package/dist/export-profile.d.ts +6 -0
- package/dist/export-profile.d.ts.map +1 -1
- package/dist/export-profile.js +46 -4
- package/dist/export-profile.js.map +1 -1
- package/dist/metadata.d.ts +11 -1
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +75 -11
- package/dist/metadata.js.map +1 -1
- package/dist/profiles.d.ts.map +1 -1
- package/dist/profiles.js +52 -7
- package/dist/profiles.js.map +1 -1
- package/dist/serve/config-write.d.ts +6 -3
- package/dist/serve/config-write.d.ts.map +1 -1
- package/dist/serve/config-write.js +20 -21
- package/dist/serve/config-write.js.map +1 -1
- package/dist/serve/events.d.ts +37 -8
- package/dist/serve/events.d.ts.map +1 -1
- package/dist/serve/events.js +114 -28
- package/dist/serve/events.js.map +1 -1
- package/dist/serve/self-review.d.ts +37 -7
- package/dist/serve/self-review.d.ts.map +1 -1
- package/dist/serve/self-review.js +93 -33
- package/dist/serve/self-review.js.map +1 -1
- package/dist/serve/server.d.ts +107 -0
- package/dist/serve/server.d.ts.map +1 -1
- package/dist/serve/server.js +502 -135
- package/dist/serve/server.js.map +1 -1
- package/dist/serve/workspace-model.d.ts.map +1 -1
- package/dist/serve/workspace-model.js +36 -34
- package/dist/serve/workspace-model.js.map +1 -1
- package/dist/skill-scripts/shared/safe-fs.d.ts +89 -0
- package/dist/skill-scripts/shared/safe-fs.d.ts.map +1 -0
- package/dist/skill-scripts/shared/safe-fs.js +324 -0
- package/dist/skill-scripts/shared/safe-fs.js.map +1 -0
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +13 -1
- package/dist/types.js.map +1 -1
- package/dist/update.d.ts.map +1 -1
- package/dist/update.js +15 -1
- package/dist/update.js.map +1 -1
- package/dist-web/assets/abnfDiagram-VCTEODGH-BCoAyQ8y.js +1 -0
- package/dist-web/assets/apl-gfMMiTNf.js +1 -0
- package/dist-web/assets/arc-Pry-7G1_.js +1 -0
- package/dist-web/assets/architecture-7GRP2DOG-C2Oj1AcH.js +1 -0
- package/dist-web/assets/architectureDiagram-5GKGNRK7-BbYvyste.js +36 -0
- package/dist-web/assets/array-BifhSqXX.js +1 -0
- package/dist-web/assets/asciiarmor-C_eisQCp.js +1 -0
- package/dist-web/assets/asn1-DCl_8MCW.js +1 -0
- package/dist-web/assets/asterisk-BEn0Cwpx.js +1 -0
- package/dist-web/assets/blockDiagram-I7D4REHJ-CGYIKoI0.js +129 -0
- package/dist-web/assets/brainfuck-D5EjA2JK.js +1 -0
- package/dist-web/assets/c4Diagram-7LVT6UL2-Cpat9Q1R.js +38 -0
- package/dist-web/assets/channel-Da0Eg5hZ.js +1 -0
- package/dist-web/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
- package/dist-web/assets/chunk-4HAMMTFA-D1PXshWJ.js +62 -0
- package/dist-web/assets/{chunk-FMBD7UC4-BxPfAX5i.js → chunk-5VM5RSS4-ZNzvKenW.js} +2 -2
- package/dist-web/assets/chunk-75Z2AOVW-C19f30iG.js +2 -0
- package/dist-web/assets/chunk-DU6HZSFF-CV-KOPc1.js +125 -0
- package/dist-web/assets/chunk-F27PBJKO-DMfX40T1.js +1 -0
- package/dist-web/assets/chunk-FOHPRMQF-DzxwRta7.js +161 -0
- package/dist-web/assets/chunk-GMAD6QVW-Nd9kACgc.js +72 -0
- package/dist-web/assets/chunk-GVQU2GXP-3G8ojGFe.js +1 -0
- package/dist-web/assets/chunk-IMKFNOWR-CmhGyHNd.js +231 -0
- package/dist-web/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
- package/dist-web/assets/chunk-L3NEJ4N5-Dsa1ER8Q.js +1 -0
- package/dist-web/assets/chunk-OSK3NFVY-ObCj9P3B.js +10 -0
- package/dist-web/assets/chunk-P2QGCYS3-CfNHqVGX.js +1 -0
- package/dist-web/assets/chunk-POPQ4Y6H-Cg5tk8by.js +1 -0
- package/dist-web/assets/chunk-PWAF6VOD-e6XMS-JR.js +1 -0
- package/dist-web/assets/chunk-SHT3W25Y-B1M0HI76.js +168 -0
- package/dist-web/assets/chunk-SVP7TREG-XLNHY4Z2.js +88 -0
- package/dist-web/assets/chunk-TICWLB2K-Bpm0S7rI.js +206 -0
- package/dist-web/assets/chunk-XXDRQBXY-DqAYeljN.js +1 -0
- package/dist-web/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
- package/dist-web/assets/classDiagram-ZZMXUADV-CZI086hK.js +1 -0
- package/dist-web/assets/classDiagram-v2-VYDZK3BY-CZI086hK.js +1 -0
- package/dist-web/assets/clike-D_6L3tnO.js +1 -0
- package/dist-web/assets/clojure-BflJGmDX.js +1 -0
- package/dist-web/assets/cmake-84nbDH0I.js +1 -0
- package/dist-web/assets/cobol-DHLQUbN7.js +1 -0
- package/dist-web/assets/coffeescript-De_zI4J0.js +1 -0
- package/dist-web/assets/commonlisp-DgAKBe0r.js +1 -0
- package/dist-web/assets/cose-bilkent-JH36ORCC-BEpcWcmK.js +1 -0
- package/dist-web/assets/crystal-Bsdphhtm.js +1 -0
- package/dist-web/assets/css-CnaYoQib.js +1 -0
- package/dist-web/assets/cynefin-OW5HDTMX-B5ohibc7.js +1 -0
- package/dist-web/assets/cynefinDiagram-5FMLGOSQ-C1202n-x.js +62 -0
- package/dist-web/assets/cypher-p9eYesGn.js +1 -0
- package/dist-web/assets/cytoscape.esm-Yq6u8L66.js +321 -0
- package/dist-web/assets/d-DWkQyNnU.js +1 -0
- package/dist-web/assets/dagre-C-rnJpZF.js +1 -0
- package/dist-web/assets/dagre-GXQ25YYZ-CQlKKJXg.js +4 -0
- package/dist-web/assets/defaultLocale-BFoDCU3G.js +1 -0
- package/dist-web/assets/diagram-S7CK7UJ4-DRf7iTH9.js +30 -0
- package/dist-web/assets/diagram-UQ7AKVKN-CxSX3b2_.js +41 -0
- package/dist-web/assets/diagram-VSXAHHWV-D9vrB5je.js +3 -0
- package/dist-web/assets/diagram-VX7I27RA-DTOqcpBV.js +24 -0
- package/dist-web/assets/diagram-Z3DM3KII-mlhRA4lR.js +24 -0
- package/dist-web/assets/diff-ChtP43wD.js +1 -0
- package/dist-web/assets/dist-B-O4eZD_.js +1 -0
- package/dist-web/assets/dist-B27L6oW0.js +1 -0
- package/dist-web/assets/dist-BKXbBuAc.js +1 -0
- package/dist-web/assets/dist-BPcC0hnc.js +9 -0
- package/dist-web/assets/dist-BgwxV8e_.js +1 -0
- package/dist-web/assets/dist-BlG40nRw.js +1 -0
- package/dist-web/assets/dist-Bqc6e86z.js +1 -0
- package/dist-web/assets/dist-BsvASXHG.js +1 -0
- package/dist-web/assets/dist-C15GN054.js +1 -0
- package/dist-web/assets/dist-C4QRmcTO.js +1 -0
- package/dist-web/assets/dist-C4lZy0XG.js +6 -0
- package/dist-web/assets/dist-CFLbFzpB.js +23 -0
- package/dist-web/assets/dist-CP6AUVtv.js +1 -0
- package/dist-web/assets/dist-CpYnHHz6.js +1 -0
- package/dist-web/assets/dist-DHnGmK79.js +1 -0
- package/dist-web/assets/dist-DYmIHv0n.js +13 -0
- package/dist-web/assets/dist-DauRO0RO.js +1 -0
- package/dist-web/assets/dist-Day7i26p.js +1 -0
- package/dist-web/assets/dist-Do_t70vA.js +1 -0
- package/dist-web/assets/dist-DqTG_rhR.js +2 -0
- package/dist-web/assets/dist-G8nWWSie.js +11 -0
- package/dist-web/assets/dist-QfYLz_N1.js +1 -0
- package/dist-web/assets/dist-TZhb2tj2.js +1 -0
- package/dist-web/assets/dist-Wr2Wo_KE.js +1 -0
- package/dist-web/assets/dist-kYRo7Db1.js +1 -0
- package/dist-web/assets/dist-kfqV1Lu-.js +2 -0
- package/dist-web/assets/dist-v5Q1xZ2K.js +1 -0
- package/dist-web/assets/dockerfile-DJkHQgkl.js +1 -0
- package/dist-web/assets/dtd-DTF72YNO.js +1 -0
- package/dist-web/assets/dylan-BCDoL_-p.js +1 -0
- package/dist-web/assets/ebnf-D4c0_ac3.js +1 -0
- package/dist-web/assets/ebnfDiagram-PWID7BFC-BhB_RJPM.js +1 -0
- package/dist-web/assets/ecl-BVIeWmwY.js +1 -0
- package/dist-web/assets/eiffel-BEjRio4Q.js +1 -0
- package/dist-web/assets/elm-Cshzl8qu.js +1 -0
- package/dist-web/assets/erDiagram-RLTQ6QDP-0wE1kPYz.js +99 -0
- package/dist-web/assets/erlang-BV0c4Hdn.js +1 -0
- package/dist-web/assets/esm-COEoxUhE.js +2 -0
- package/dist-web/assets/eventmodeling-NTZA5JFV-DzkXb9nA.js +1 -0
- package/dist-web/assets/factor-LKH5gN8L.js +1 -0
- package/dist-web/assets/fcl-ClOhbFR7.js +1 -0
- package/dist-web/assets/flowDiagram-HODETNUW-cgl8ipSt.js +1 -0
- package/dist-web/assets/forth-D6RzAl64.js +1 -0
- package/dist-web/assets/fortran-Bt6PBEDR.js +1 -0
- package/dist-web/assets/ganttDiagram-EL5Y4UJY-BsvlpHPt.js +292 -0
- package/dist-web/assets/gas-BHEdbvp9.js +1 -0
- package/dist-web/assets/gherkin-oBAE_ms0.js +1 -0
- package/dist-web/assets/gitGraph-4MIJSDKK-Dm82FCqy.js +1 -0
- package/dist-web/assets/gitGraphDiagram-WWUBYQGX-OPit_3vA.js +106 -0
- package/dist-web/assets/graphlib-DS17s2tU.js +1 -0
- package/dist-web/assets/groovy-CUpZ7dEl.js +1 -0
- package/dist-web/assets/haskell-BRsoo5mP.js +1 -0
- package/dist-web/assets/haxe-DjVOVvNP.js +1 -0
- package/dist-web/assets/http-CLVgA2GD.js +1 -0
- package/dist-web/assets/idl-BUZw3wgd.js +1 -0
- package/dist-web/assets/index-6XzOqB6r.js +103 -0
- package/dist-web/assets/index-CgIHUWsX.css +2 -0
- package/dist-web/assets/info-A6RAGUB7-8sl1XQWq.js +1 -0
- package/dist-web/assets/infoDiagram-27XIBGKW-DIpdnB7L.js +2 -0
- package/dist-web/assets/init-C-OQMol4.js +1 -0
- package/dist-web/assets/ishikawaDiagram-5VMMS53U-DpoLDWpF.js +70 -0
- package/dist-web/assets/javascript-Bu8mWwtz.js +1 -0
- package/dist-web/assets/journeyDiagram-3NMN7TZE-BAEbJ33U.js +139 -0
- package/dist-web/assets/julia-CQfgDRfP.js +1 -0
- package/dist-web/assets/kanban-definition-UXKFOSKX-CqzyUA0g.js +89 -0
- package/dist-web/assets/katex-ZlcWpGUi.js +257 -0
- package/dist-web/assets/line-CQRHrtV_.js +1 -0
- package/dist-web/assets/linear-SzVmGSw4.js +1 -0
- package/dist-web/assets/livescript-BXxG0Yva.js +1 -0
- package/dist-web/assets/lua-DPCEkfD_.js +1 -0
- package/dist-web/assets/mathematica-u8YMmbU0.js +1 -0
- package/dist-web/assets/mbox-BEMVcqjs.js +1 -0
- package/dist-web/assets/mermaid-parser.core-XlEvAPi2.js +7 -0
- package/dist-web/assets/mermaid.core-CvFTFi5O.js +44 -0
- package/dist-web/assets/mindmap-definition-YA3MSWOX-Ch0vW4Mc.js +96 -0
- package/dist-web/assets/{mirc-CjQqDB4T.js → mirc-C9zpzAZU.js} +1 -1
- package/dist-web/assets/mllike-B45xgp2S.js +1 -0
- package/dist-web/assets/modelica-CqHI_q-D.js +1 -0
- package/dist-web/assets/mscgen-qgSLujhx.js +1 -0
- package/dist-web/assets/mumps-BSzj6Xyz.js +1 -0
- package/dist-web/assets/{nginx-DdIZxoE0.js → nginx-8H7HVH4w.js} +1 -1
- package/dist-web/assets/nsis-CfSuhXs5.js +1 -0
- package/dist-web/assets/ntriples-B9h1VB_g.js +1 -0
- package/dist-web/assets/octave-D2Q8cUp1.js +1 -0
- package/dist-web/assets/ordinal-BDEzSJ7C.js +1 -0
- package/dist-web/assets/oz-BwTct_5T.js +1 -0
- package/dist-web/assets/packet-AYTQ26CC-lk-QU-qZ.js +1 -0
- package/dist-web/assets/pascal-Dp_KdFgX.js +1 -0
- package/dist-web/assets/path-fybaL0A-.js +1 -0
- package/dist-web/assets/pegDiagram-XKGWAZYB-Cgf4CYg-.js +1 -0
- package/dist-web/assets/perl-BkSkiI9m.js +1 -0
- package/dist-web/assets/pie-WAS4IAKB-dWyVjg9O.js +1 -0
- package/dist-web/assets/pieDiagram-E7YTZNPT-BDZxWO8n.js +39 -0
- package/dist-web/assets/pig-AF4Hwhju.js +1 -0
- package/dist-web/assets/powershell-BcIto6Sf.js +1 -0
- package/dist-web/assets/properties-C357ku5U.js +1 -0
- package/dist-web/assets/protobuf-D1ij_kNL.js +1 -0
- package/dist-web/assets/pug-3K-JMW4g.js +1 -0
- package/dist-web/assets/puppet-BZyAS7I4.js +1 -0
- package/dist-web/assets/python-B_1Jd8HM.js +1 -0
- package/dist-web/assets/q-B9NhS7L_.js +1 -0
- package/dist-web/assets/quadrantDiagram-AXDQQJYC-DCu9cx1_.js +7 -0
- package/dist-web/assets/r-CxDmU1I4.js +1 -0
- package/dist-web/assets/radar-RG4KPBEZ-CphwvESj.js +1 -0
- package/dist-web/assets/railroad-74A4TZTK-COTrvtXu.js +1 -0
- package/dist-web/assets/railroad-abnf-HS5TGJTU-CYfpugMj.js +1 -0
- package/dist-web/assets/railroad-ebnf-LZEXJU2U--Ui_4jm6.js +1 -0
- package/dist-web/assets/railroad-peg-WCYAUIDC-DzcveMan.js +1 -0
- package/dist-web/assets/railroadDiagram-O6MQD6OU-S9ZI1Adi.js +1 -0
- package/dist-web/assets/requirementDiagram-BXWQKSXE-a_3FElqS.js +84 -0
- package/dist-web/assets/rolldown-runtime-hePW80VL.js +1 -0
- package/dist-web/assets/rough.esm-Dy-Kn_BL.js +1 -0
- package/dist-web/assets/rpm-gpDK5sbt.js +1 -0
- package/dist-web/assets/ruby-BjXV7-Qa.js +1 -0
- package/dist-web/assets/sankeyDiagram-P5KCCOFB-D-i6r8wy.js +40 -0
- package/dist-web/assets/{sas-B4kiWyti.js → sas-C2OyD2Y6.js} +1 -1
- package/dist-web/assets/scheme-D9qYN0V5.js +1 -0
- package/dist-web/assets/sequenceDiagram-WJ2MYXX4-D8hA2m0U.js +162 -0
- package/dist-web/assets/shell-DwuoZtxw.js +1 -0
- package/dist-web/assets/sieve-tLWDfEkZ.js +1 -0
- package/dist-web/assets/simple-mode-DXiLM1-G.js +1 -0
- package/dist-web/assets/sizeCapture-INFHLROL-3uHXrFqA.js +1 -0
- package/dist-web/assets/smalltalk-BLp5-jwC.js +1 -0
- package/dist-web/assets/solr-B78wSQJQ.js +1 -0
- package/dist-web/assets/sparql-Dz-mlCAC.js +1 -0
- package/dist-web/assets/spreadsheet-CTIncYxj.js +1 -0
- package/dist-web/assets/sql-DuQMFDvy.js +1 -0
- package/dist-web/assets/src-B6xuSHsQ.js +1 -0
- package/dist-web/assets/stateDiagram-D77RDMKH-C14W-8zT.js +1 -0
- package/dist-web/assets/stateDiagram-v2-MP3YSRHH-Dhuhsub3.js +1 -0
- package/dist-web/assets/stex-DNzd62Q_.js +1 -0
- package/dist-web/assets/stylus-BOVgKnng.js +1 -0
- package/dist-web/assets/swift-DKB6_1j6.js +1 -0
- package/dist-web/assets/swimlanes-42K2YHIH-FMv8YLkC.js +1 -0
- package/dist-web/assets/swimlanesDiagram-VR7AAH4N-O94a9jW3.js +8 -0
- package/dist-web/assets/tcl-BGfruO1u.js +1 -0
- package/dist-web/assets/textile-C4jVoHG1.js +1 -0
- package/dist-web/assets/tiddlywiki-VlUiK86J.js +1 -0
- package/dist-web/assets/tiki-AK6FwT8q.js +1 -0
- package/dist-web/assets/timeline-definition-24CTP7MA-DmBN45fY.js +120 -0
- package/dist-web/assets/toml-BPTmHmyx.js +1 -0
- package/dist-web/assets/treeView-Q6P3EWNA-C5-PUnPN.js +1 -0
- package/dist-web/assets/treemap-WGGIJYW6-C_veVYMi.js +1 -0
- package/dist-web/assets/troff-C2dAgh7P.js +1 -0
- package/dist-web/assets/ttcn-PPSTk1ow.js +1 -0
- package/dist-web/assets/ttcn-cfg-2b4Gb5sE.js +1 -0
- package/dist-web/assets/turtle-Cx3rYX2g.js +1 -0
- package/dist-web/assets/vb-BthdM_4N.js +1 -0
- package/dist-web/assets/vbscript-D9f6rSsU.js +1 -0
- package/dist-web/assets/velocity-CqftRsjg.js +1 -0
- package/dist-web/assets/vennDiagram-4TSXK5OY-CiWHjSVc.js +34 -0
- package/dist-web/assets/verilog-CjI9Y6RI.js +1 -0
- package/dist-web/assets/vhdl-kS471soi.js +1 -0
- package/dist-web/assets/wardley-WFR3VGLG-FOCO1NlU.js +1 -0
- package/dist-web/assets/wardleyDiagram-VM6X3IG4-Da3kkvxV.js +78 -0
- package/dist-web/assets/webidl-D5jiJvOU.js +1 -0
- package/dist-web/assets/xquery-BKJx4mf9.js +1 -0
- package/dist-web/assets/xychartDiagram-S5SC5T6Z-DPxie1fH.js +7 -0
- package/dist-web/assets/yacas-CXXgtw0p.js +1 -0
- package/dist-web/assets/z80-Co3PbHdE.js +1 -0
- package/dist-web/index.html +6 -18
- package/dist-web/theme-guard.js +21 -0
- package/package.json +29 -24
- package/templates/strikethroo/config/config.yaml +7 -4
- package/dist-web/assets/apl-B4CMkyY2.js +0 -1
- package/dist-web/assets/arc-D8anvcX-.js +0 -1
- package/dist-web/assets/architectureDiagram-3BPJPVTR-CGfqArN_.js +0 -36
- package/dist-web/assets/asciiarmor-Df11BRmG.js +0 -1
- package/dist-web/assets/asn1-EdZsLKOL.js +0 -1
- package/dist-web/assets/asterisk-B-8jnY81.js +0 -1
- package/dist-web/assets/blockDiagram-GPEHLZMM-CHzLIPZe.js +0 -132
- package/dist-web/assets/brainfuck-C4LP7Hcl.js +0 -1
- package/dist-web/assets/c4Diagram-AAUBKEIU-9rRidvsm.js +0 -10
- package/dist-web/assets/channel-DgcCmM1I.js +0 -1
- package/dist-web/assets/chunk-2J33WTMH-C39TKr_M.js +0 -1
- package/dist-web/assets/chunk-4BX2VUAB-C2djuG3T.js +0 -1
- package/dist-web/assets/chunk-55IACEB6-DWqTM520.js +0 -1
- package/dist-web/assets/chunk-727SXJPM-rovNVJJP.js +0 -206
- package/dist-web/assets/chunk-AQP2D5EJ-CHH1etIO.js +0 -231
- package/dist-web/assets/chunk-ND2GUHAM-C8MhIE2B.js +0 -1
- package/dist-web/assets/chunk-QZHKN3VN-63gK6NbV.js +0 -1
- package/dist-web/assets/classDiagram-4FO5ZUOK-C0z0eFyi.js +0 -1
- package/dist-web/assets/classDiagram-v2-Q7XG4LA2-C0z0eFyi.js +0 -1
- package/dist-web/assets/clike-B9uivgTg.js +0 -1
- package/dist-web/assets/clojure-BMjYHr_A.js +0 -1
- package/dist-web/assets/cmake-BQqOBYOt.js +0 -1
- package/dist-web/assets/cobol-CWcv1MsR.js +0 -1
- package/dist-web/assets/coffeescript-S37ZYGWr.js +0 -1
- package/dist-web/assets/commonlisp-DBKNyK5s.js +0 -1
- package/dist-web/assets/cose-bilkent-S5V4N54A-COtPU2p7.js +0 -1
- package/dist-web/assets/crystal-SjHAIU92.js +0 -1
- package/dist-web/assets/css-BnMrqG3P.js +0 -1
- package/dist-web/assets/cypher-C_CwsFkJ.js +0 -1
- package/dist-web/assets/cytoscape.esm-BHYC38rz.js +0 -331
- package/dist-web/assets/d-pRatUO7H.js +0 -1
- package/dist-web/assets/dagre-BM42HDAG-Av_BDeN2.js +0 -4
- package/dist-web/assets/defaultLocale-CrowFXzY.js +0 -1
- package/dist-web/assets/diagram-2AECGRRQ-TPYX18Ua.js +0 -43
- package/dist-web/assets/diagram-5GNKFQAL-DtQI3PSq.js +0 -10
- package/dist-web/assets/diagram-KO2AKTUF-DNXbi8Vg.js +0 -3
- package/dist-web/assets/diagram-LMA3HP47-Bl0b9O4C.js +0 -24
- package/dist-web/assets/diagram-OG6HWLK6-DboL6tB3.js +0 -24
- package/dist-web/assets/diff-DbItnlRl.js +0 -1
- package/dist-web/assets/dockerfile-BKs6k2Af.js +0 -1
- package/dist-web/assets/dtd-DF_7sFjM.js +0 -1
- package/dist-web/assets/dylan-DwRh75JA.js +0 -1
- package/dist-web/assets/ebnf-CDyGwa7X.js +0 -1
- package/dist-web/assets/ecl-Cabwm37j.js +0 -1
- package/dist-web/assets/eiffel-CnydiIhH.js +0 -1
- package/dist-web/assets/elm-vLlmbW-K.js +0 -1
- package/dist-web/assets/erDiagram-TEJ5UH35-BbYxGrzg.js +0 -85
- package/dist-web/assets/erlang-BNw1qcRV.js +0 -1
- package/dist-web/assets/factor-kuTfRLto.js +0 -1
- package/dist-web/assets/fcl-Kvtd6kyn.js +0 -1
- package/dist-web/assets/flowDiagram-I6XJVG4X-bgw4_MAe.js +0 -162
- package/dist-web/assets/forth-Ffai-XNe.js +0 -1
- package/dist-web/assets/fortran-DYz_wnZ1.js +0 -1
- package/dist-web/assets/ganttDiagram-6RSMTGT7-D_LznzPz.js +0 -292
- package/dist-web/assets/gas-Bneqetm1.js +0 -1
- package/dist-web/assets/gherkin-heZmZLOM.js +0 -1
- package/dist-web/assets/gitGraphDiagram-PVQCEYII-DIsJhn0o.js +0 -106
- package/dist-web/assets/graph-Dqkl27Ch.js +0 -1
- package/dist-web/assets/groovy-D9Dt4D0W.js +0 -1
- package/dist-web/assets/haskell-BWDZoCOh.js +0 -1
- package/dist-web/assets/haxe-H-WmDvRZ.js +0 -1
- package/dist-web/assets/http-DBlCnlav.js +0 -1
- package/dist-web/assets/idl-BEugSyMb.js +0 -1
- package/dist-web/assets/index-B-KlYMEI.js +0 -1
- package/dist-web/assets/index-B0a4C4Lb.js +0 -1
- package/dist-web/assets/index-B90tvIxG.js +0 -3
- package/dist-web/assets/index-BLXIwDvb.js +0 -1
- package/dist-web/assets/index-BdEHUYQj.js +0 -169
- package/dist-web/assets/index-BjZYUODU.js +0 -1
- package/dist-web/assets/index-BmsczLPZ.js +0 -1
- package/dist-web/assets/index-BpU7RpGz.js +0 -1
- package/dist-web/assets/index-C53NKwQ5.js +0 -1
- package/dist-web/assets/index-C73riuQN.js +0 -1
- package/dist-web/assets/index-C9RcHSPW.js +0 -1
- package/dist-web/assets/index-CEBV-m_B.js +0 -1
- package/dist-web/assets/index-CG1O2Vjg.js +0 -1
- package/dist-web/assets/index-CQ8MJGW7.js +0 -2
- package/dist-web/assets/index-CddJufqj.js +0 -1
- package/dist-web/assets/index-CrzBaw1K.css +0 -1
- package/dist-web/assets/index-CuBsNWzH.js +0 -13
- package/dist-web/assets/index-CuCAyRTw.js +0 -7
- package/dist-web/assets/index-CuUh3dvS.js +0 -1
- package/dist-web/assets/index-CwPWc9jQ.js +0 -1
- package/dist-web/assets/index-DHBbud_j.js +0 -1
- package/dist-web/assets/index-LLaxWDbg.js +0 -1
- package/dist-web/assets/index-XOpAvr0E.js +0 -13
- package/dist-web/assets/index-lkaAPBmM.js +0 -6
- package/dist-web/assets/index-pUkuW0EP.js +0 -1
- package/dist-web/assets/index-sbfqG9cy.js +0 -1
- package/dist-web/assets/index-udFbjSlZ.js +0 -2
- package/dist-web/assets/index-uwcaE2d7.js +0 -2
- package/dist-web/assets/index-yjEPVwyN.js +0 -1
- package/dist-web/assets/infoDiagram-5YYISTIA-DUEtO7Ix.js +0 -2
- package/dist-web/assets/init-Gi6I4Gst.js +0 -1
- package/dist-web/assets/ishikawaDiagram-YF4QCWOH-Ctv84Jbw.js +0 -70
- package/dist-web/assets/javascript-qCveANmP.js +0 -1
- package/dist-web/assets/journeyDiagram-JHISSGLW-DILNkNlL.js +0 -139
- package/dist-web/assets/julia-DuME0IfC.js +0 -1
- package/dist-web/assets/kanban-definition-UN3LZRKU-BO7sq2cF.js +0 -89
- package/dist-web/assets/katex-C5jXJg4s.js +0 -257
- package/dist-web/assets/layout-DO9UvE1P.js +0 -1
- package/dist-web/assets/linear-DOC1-cx3.js +0 -1
- package/dist-web/assets/livescript-BwQOo05w.js +0 -1
- package/dist-web/assets/lua-VAEuO923.js +0 -1
- package/dist-web/assets/mathematica-DTrFuWx2.js +0 -1
- package/dist-web/assets/mbox-CNhZ1qSd.js +0 -1
- package/dist-web/assets/mermaid.core-DqgK5FaN.js +0 -307
- package/dist-web/assets/mindmap-definition-RKZ34NQL-BnOJs-M5.js +0 -96
- package/dist-web/assets/mllike-CXdrOF99.js +0 -1
- package/dist-web/assets/modelica-Dc1JOy9r.js +0 -1
- package/dist-web/assets/mscgen-BA5vi2Kp.js +0 -1
- package/dist-web/assets/mumps-BT43cFF4.js +0 -1
- package/dist-web/assets/nsis-LdVXkNf5.js +0 -1
- package/dist-web/assets/ntriples-BfvgReVJ.js +0 -1
- package/dist-web/assets/octave-Ck1zUtKM.js +0 -1
- package/dist-web/assets/ordinal-Cboi1Yqb.js +0 -1
- package/dist-web/assets/oz-BzwKVEFT.js +0 -1
- package/dist-web/assets/pascal--L3eBynH.js +0 -1
- package/dist-web/assets/perl-CdXCOZ3F.js +0 -1
- package/dist-web/assets/pieDiagram-4H26LBE5-CscOm59p.js +0 -30
- package/dist-web/assets/pig-CevX1Tat.js +0 -1
- package/dist-web/assets/powershell-CFHJl5sT.js +0 -1
- package/dist-web/assets/properties-C78fOPTZ.js +0 -1
- package/dist-web/assets/protobuf-ChK-085T.js +0 -1
- package/dist-web/assets/pug-DukmZTjD.js +0 -1
- package/dist-web/assets/puppet-DMA9R1ak.js +0 -1
- package/dist-web/assets/python-BuPzkPfP.js +0 -1
- package/dist-web/assets/q-pXgVlZs6.js +0 -1
- package/dist-web/assets/quadrantDiagram-W4KKPZXB-IVu2Npzf.js +0 -7
- package/dist-web/assets/r-DUYO_cvP.js +0 -1
- package/dist-web/assets/requirementDiagram-4Y6WPE33-BbDNPPBQ.js +0 -84
- package/dist-web/assets/rpm-CTu-6PCP.js +0 -1
- package/dist-web/assets/ruby-B2Rjki9n.js +0 -1
- package/dist-web/assets/sankeyDiagram-5OEKKPKP-DcjXnlMj.js +0 -40
- package/dist-web/assets/scheme-C41bIUwD.js +0 -1
- package/dist-web/assets/sequenceDiagram-3UESZ5HK-B_Jw3NhT.js +0 -162
- package/dist-web/assets/shell-CjFT_Tl9.js +0 -1
- package/dist-web/assets/sieve-C3Gn_uJK.js +0 -1
- package/dist-web/assets/simple-mode-GW_nhZxv.js +0 -1
- package/dist-web/assets/smalltalk-CnHTOXQT.js +0 -1
- package/dist-web/assets/solr-DehyRSwq.js +0 -1
- package/dist-web/assets/sparql-DkYu6x3z.js +0 -1
- package/dist-web/assets/spreadsheet-BCZA_wO0.js +0 -1
- package/dist-web/assets/sql-D0XecflT.js +0 -1
- package/dist-web/assets/stateDiagram-AJRCARHV-CyQirMnx.js +0 -1
- package/dist-web/assets/stateDiagram-v2-BHNVJYJU-o71gojBr.js +0 -1
- package/dist-web/assets/stex-C3f8Ysf7.js +0 -1
- package/dist-web/assets/stylus-B533Al4x.js +0 -1
- package/dist-web/assets/swift-BzpIVaGY.js +0 -1
- package/dist-web/assets/tcl-DVfN8rqt.js +0 -1
- package/dist-web/assets/textile-CnDTJFAw.js +0 -1
- package/dist-web/assets/tiddlywiki-DO-Gjzrf.js +0 -1
- package/dist-web/assets/tiki-DGYXhP31.js +0 -1
- package/dist-web/assets/timeline-definition-PNZ67QCA-0X5ctUMy.js +0 -120
- package/dist-web/assets/toml-Bm5Em-hy.js +0 -1
- package/dist-web/assets/troff-wAsdV37c.js +0 -1
- package/dist-web/assets/ttcn-CfJYG6tj.js +0 -1
- package/dist-web/assets/ttcn-cfg-B9xdYoR4.js +0 -1
- package/dist-web/assets/turtle-B1tBg_DP.js +0 -1
- package/dist-web/assets/vb-CmGdzxic.js +0 -1
- package/dist-web/assets/vbscript-BuJXcnF6.js +0 -1
- package/dist-web/assets/velocity-D8B20fx6.js +0 -1
- package/dist-web/assets/vennDiagram-CIIHVFJN-BbO0uHQQ.js +0 -34
- package/dist-web/assets/verilog-C6RDOZhf.js +0 -1
- package/dist-web/assets/vhdl-lSbBsy5d.js +0 -1
- package/dist-web/assets/wardley-L42UT6IY-maQQ80J4.js +0 -173
- package/dist-web/assets/wardleyDiagram-YWT4CUSO-BIswUO4D.js +0 -78
- package/dist-web/assets/webidl-ZXfAyPTL.js +0 -1
- package/dist-web/assets/xquery-CQfU5ijd.js +0 -1
- package/dist-web/assets/xychartDiagram-2RQKCTM6-DUBe_cWp.js +0 -7
- package/dist-web/assets/yacas-BJ4BC0dw.js +0 -1
- package/dist-web/assets/z80-Hz9HOZM7.js +0 -1
package/README.md
CHANGED
|
@@ -157,6 +157,20 @@ npx strikethroo serve
|
|
|
157
157
|
|
|
158
158
|
This will open a web page that will help you navigate your plans and their tasks, present or archived.
|
|
159
159
|
|
|
160
|
+
By default the viewer listens only on `127.0.0.1:4317`, so it is reachable from the same machine and nowhere else. Two flags change where it listens:
|
|
161
|
+
|
|
162
|
+
| Flag | Default | Purpose |
|
|
163
|
+
|------|---------|---------|
|
|
164
|
+
| `--host <ip>` | `127.0.0.1` | IP address to bind. Use `0.0.0.0` (or `::` for IPv6 too) to reach the viewer from another machine, for example from your workstation when Strikethroo runs in a headless VM. Only IP addresses are accepted. |
|
|
165
|
+
| `--port <n>` | `4317` | Port to bind. |
|
|
166
|
+
|
|
167
|
+
```shell
|
|
168
|
+
# Inside the VM: listen on every interface and skip opening a browser
|
|
169
|
+
npx strikethroo serve --host 0.0.0.0 --no-open
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Then browse to the VM's IP address, for example `http://192.168.122.10:4317`; `serve` prints every address it answers on. Hostnames such as `myvm.local` are refused, so use the IP address. **Binding a network address gives anyone who can reach that port full access to the workspace**, including editing the hooks and configuration your agents run with, and `serve` prints a warning when you do it. Use it only on a network you trust, such as a VM's host-only or NAT network. If you can SSH into the machine, a tunnel (`ssh -L 4317:127.0.0.1:4317 <vm>`) keeps the default loopback bind. See the [CLI reference](https://strikethroo.canpicasoft.com/cli-reference.html#reaching-the-viewer-from-another-machine) for details.
|
|
173
|
+
|
|
160
174
|
## Check the workspace
|
|
161
175
|
|
|
162
176
|
```shell
|
package/dist/cli.js
CHANGED
|
@@ -6,8 +6,13 @@
|
|
|
6
6
|
* This file contains the main CLI setup using Commander.js
|
|
7
7
|
* Handles command-line argument parsing and routing to appropriate handlers
|
|
8
8
|
*/
|
|
9
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
10
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
11
|
+
};
|
|
9
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
13
|
const commander_1 = require("commander");
|
|
14
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
15
|
+
const net_1 = require("net");
|
|
11
16
|
const index_1 = require("./index");
|
|
12
17
|
const root_1 = require("./serve/root");
|
|
13
18
|
const server_1 = require("./serve/server");
|
|
@@ -77,11 +82,16 @@ exportCommand
|
|
|
77
82
|
program
|
|
78
83
|
.command('serve')
|
|
79
84
|
.description('Serve the workspace as a local web app (static SPA, JSON API, SSE change stream)')
|
|
85
|
+
.option('--host <ip>', 'IP address to bind (0.0.0.0 or :: for all interfaces)', '127.0.0.1')
|
|
80
86
|
.option('--port <n>', 'port to bind', '4317')
|
|
81
87
|
.option('--no-open', 'do not open the browser on start')
|
|
82
88
|
.option('--workspace <path>', 'override workspace root discovery')
|
|
83
89
|
.action(async (opts) => {
|
|
84
90
|
try {
|
|
91
|
+
if ((0, net_1.isIP)(opts.host) === 0) {
|
|
92
|
+
console.error(`Invalid --host "${opts.host}": use an IP address such as 127.0.0.1, 0.0.0.0, or ::.`);
|
|
93
|
+
process.exit(1);
|
|
94
|
+
}
|
|
85
95
|
const resolved = (0, root_1.resolveWorkspaceRoot)({ workspace: opts.workspace });
|
|
86
96
|
if ((0, root_1.isResolveError)(resolved)) {
|
|
87
97
|
console.error(resolved.error);
|
|
@@ -89,11 +99,19 @@ program
|
|
|
89
99
|
}
|
|
90
100
|
const handle = await (0, server_1.startServer)({
|
|
91
101
|
root: resolved.root,
|
|
102
|
+
host: opts.host,
|
|
92
103
|
port: Number(opts.port),
|
|
93
104
|
open: opts.open,
|
|
94
105
|
assetsDir: (0, server_1.defaultAssetsDir)(),
|
|
95
106
|
});
|
|
96
107
|
console.log(`Serving ${handle.url}`);
|
|
108
|
+
if (handle.exposed) {
|
|
109
|
+
console.error(chalk_1.default.yellow.bold('\nWarning: the viewer is reachable from the network.\n') +
|
|
110
|
+
chalk_1.default.yellow('Anyone who can reach this address and port can read the workspace and edit its\n' +
|
|
111
|
+
'hooks, templates, and config.yaml, which agents run with their permissions.\n' +
|
|
112
|
+
'Use it only on a trusted network, such as a VM host-only bridge.\n' +
|
|
113
|
+
`Reachable at: ${handle.reachableUrls.join(', ')}\n`));
|
|
114
|
+
}
|
|
97
115
|
}
|
|
98
116
|
catch (error) {
|
|
99
117
|
console.error(`Failed to start serve: ${error instanceof Error ? error.message : String(error)}`);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AACA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/export-profile.d.ts
CHANGED
|
@@ -12,6 +12,12 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import { CommandResult } from './types';
|
|
14
14
|
import { ProfileManifest } from './profiles';
|
|
15
|
+
/**
|
|
16
|
+
* Printed after every successful export. The package is a verbatim copy of
|
|
17
|
+
* local configuration; nothing is detected or redacted, so the user has to
|
|
18
|
+
* read it before handing it to anyone.
|
|
19
|
+
*/
|
|
20
|
+
export declare const EXPORT_SHARING_NOTICE: string;
|
|
15
21
|
/**
|
|
16
22
|
* Manifest fields collected from the user; `schema_version` is stamped by the
|
|
17
23
|
* export itself
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-profile.d.ts","sourceRoot":"","sources":["../src/export-profile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,EAAE,aAAa,EAAgB,MAAM,SAAS,CAAC;AACtD,OAAO,EACL,eAAe,EAIhB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"export-profile.d.ts","sourceRoot":"","sources":["../src/export-profile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,EAAE,aAAa,EAAgB,MAAM,SAAS,CAAC;AACtD,OAAO,EACL,eAAe,EAIhB,MAAM,YAAY,CAAC;AAMpB;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,QAG6B,CAAC;AAQhE;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAWD;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAsEzF"}
|
package/dist/export-profile.js
CHANGED
|
@@ -48,6 +48,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
48
48
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
49
49
|
};
|
|
50
50
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
|
+
exports.EXPORT_SHARING_NOTICE = void 0;
|
|
51
52
|
exports.exportProfile = exportProfile;
|
|
52
53
|
const fs = __importStar(require("fs-extra"));
|
|
53
54
|
const path = __importStar(require("path"));
|
|
@@ -59,6 +60,14 @@ const profiles_1 = require("./profiles");
|
|
|
59
60
|
const root_1 = require("./serve/root");
|
|
60
61
|
const TERM_WIDTH = 80;
|
|
61
62
|
const DIVIDER = '─'.repeat(TERM_WIDTH);
|
|
63
|
+
/**
|
|
64
|
+
* Printed after every successful export. The package is a verbatim copy of
|
|
65
|
+
* local configuration; nothing is detected or redacted, so the user has to
|
|
66
|
+
* read it before handing it to anyone.
|
|
67
|
+
*/
|
|
68
|
+
exports.EXPORT_SHARING_NOTICE = ' Review the package before sharing it. It contains config/config.yaml and the\n' +
|
|
69
|
+
' hooks, templates, and shared files verbatim, including machine-local paths and\n' +
|
|
70
|
+
' harness CLI arguments. Nothing is detected or redacted.\n';
|
|
62
71
|
/**
|
|
63
72
|
* Kebab-case: lowercase alphanumeric segments separated by single hyphens.
|
|
64
73
|
* Mirrors the manifest contract enforced by `validateProfilePackage`.
|
|
@@ -94,6 +103,9 @@ async function exportProfile(options) {
|
|
|
94
103
|
throw new types_1.ProfileError(`Cannot export a strikethroo profile: workspace has no config/ directory ` +
|
|
95
104
|
`(expected ${workspaceConfigDir}). Re-run \`npx strikethroo init\` to restore it.`);
|
|
96
105
|
}
|
|
106
|
+
// A package must carry its own copies: refuse links before prompting or
|
|
107
|
+
// touching the destination.
|
|
108
|
+
await assertNoSymbolicLinks(workspaceConfigDir);
|
|
97
109
|
const destination = path.resolve(options.destinationDirectory);
|
|
98
110
|
await assertDestinationUsable(destination);
|
|
99
111
|
console.log(chalk_1.default.bold.white('\nStrikethroo Profile Export'));
|
|
@@ -114,6 +126,7 @@ async function exportProfile(options) {
|
|
|
114
126
|
await (0, profiles_1.validateProfilePackage)(destination);
|
|
115
127
|
console.log(` ${chalk_1.default.green('✓')} Validated package against the profile contract`);
|
|
116
128
|
console.log(`\n${chalk_1.default.green('✓')} strikethroo profile '${manifest.name}' exported to ${destination}\n`);
|
|
129
|
+
console.log(chalk_1.default.yellow(exports.EXPORT_SHARING_NOTICE));
|
|
117
130
|
console.log(chalk_1.default.gray(' Publish it by pushing the folder to a git host, or import it directly with\n' +
|
|
118
131
|
` \`npx strikethroo init --harnesses <list> --profile ${destination}\`.\n`));
|
|
119
132
|
return {
|
|
@@ -166,12 +179,41 @@ async function assertDestinationUsable(destination) {
|
|
|
166
179
|
*/
|
|
167
180
|
async function copyConfigSurface(sourceConfigDir, destConfigDir) {
|
|
168
181
|
await fs.copy(sourceConfigDir, destConfigDir, {
|
|
169
|
-
filter: src =>
|
|
170
|
-
const rel = path.relative(sourceConfigDir, src);
|
|
171
|
-
return rel !== 'schemas' && !rel.startsWith(`schemas${path.sep}`);
|
|
172
|
-
},
|
|
182
|
+
filter: src => !isExcludedFromExport(path.relative(sourceConfigDir, src)),
|
|
173
183
|
});
|
|
174
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* Whether a `config/`-relative path is the CLI-owned `schemas/` subtree
|
|
187
|
+
* @param rel - Path relative to the workspace `config/` directory
|
|
188
|
+
*/
|
|
189
|
+
function isExcludedFromExport(rel) {
|
|
190
|
+
return rel === 'schemas' || rel.startsWith(`schemas${path.sep}`);
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Refuse to package a `config/` tree that contains a symbolic link anywhere
|
|
194
|
+
* in its exported surface. The walk uses directory entry types (lstat
|
|
195
|
+
* semantics), so a link is seen as a link rather than as its target.
|
|
196
|
+
*
|
|
197
|
+
* @param configDir - Workspace `config/` directory
|
|
198
|
+
*/
|
|
199
|
+
async function assertNoSymbolicLinks(configDir) {
|
|
200
|
+
const walk = async (dir) => {
|
|
201
|
+
for (const entry of await fs.readdir(dir, { withFileTypes: true })) {
|
|
202
|
+
const fullPath = path.join(dir, entry.name);
|
|
203
|
+
const rel = path.relative(configDir, fullPath);
|
|
204
|
+
if (isExcludedFromExport(rel))
|
|
205
|
+
continue;
|
|
206
|
+
if (entry.isSymbolicLink()) {
|
|
207
|
+
throw new types_1.ProfileError(`Cannot export a strikethroo profile: config/${rel} is a symbolic link. A package ` +
|
|
208
|
+
`must carry its own copies of every file, so replace the link with a regular ` +
|
|
209
|
+
`file or directory (or remove it) and re-run the export.`);
|
|
210
|
+
}
|
|
211
|
+
if (entry.isDirectory())
|
|
212
|
+
await walk(fullPath);
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
await walk(configDir);
|
|
216
|
+
}
|
|
175
217
|
/**
|
|
176
218
|
* Assemble the manifest, stamping the schema version and omitting empty
|
|
177
219
|
* optional fields so the emitted YAML stays minimal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-profile.js","sourceRoot":"","sources":["../src/export-profile.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG
|
|
1
|
+
{"version":3,"file":"export-profile.js","sourceRoot":"","sources":["../src/export-profile.ts"],"names":[],"mappings":"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"}
|
package/dist/metadata.d.ts
CHANGED
|
@@ -23,13 +23,23 @@ export declare function calculateFileHash(filePath: string): Promise<string>;
|
|
|
23
23
|
/**
|
|
24
24
|
* Load metadata from .init-metadata.json file
|
|
25
25
|
* @param metadataPath - Absolute path to metadata file
|
|
26
|
-
* @returns InitMetadata object or null
|
|
26
|
+
* @returns InitMetadata object, or null when the file is absent or its JSON is
|
|
27
|
+
* not usable metadata (first-time init)
|
|
28
|
+
* @throws FileSystemError when the file or a workspace parent is a symbolic
|
|
29
|
+
* link or otherwise not a regular entry; this is never treated as first-time
|
|
30
|
+
* init, so a link cannot bypass conflict protection
|
|
27
31
|
*/
|
|
28
32
|
export declare function loadMetadata(metadataPath: string): Promise<InitMetadata | null>;
|
|
29
33
|
/**
|
|
30
34
|
* Save metadata to .init-metadata.json file
|
|
35
|
+
*
|
|
36
|
+
* Writes atomically through the containment helper with the workspace
|
|
37
|
+
* directory as the root: an exclusive random temp file renamed over the
|
|
38
|
+
* target, never through a link.
|
|
39
|
+
*
|
|
31
40
|
* @param metadataPath - Absolute path to metadata file
|
|
32
41
|
* @param metadata - InitMetadata object to save
|
|
42
|
+
* @throws FileSystemError when the path is a link or the write is refused
|
|
33
43
|
*/
|
|
34
44
|
export declare function saveMetadata(metadataPath: string, metadata: InitMetadata): Promise<void>;
|
|
35
45
|
/**
|
package/dist/metadata.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;AAGxD;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CASzE;AAsDD;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CA2BrF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAa9F;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAK1C"}
|
package/dist/metadata.js
CHANGED
|
@@ -47,6 +47,8 @@ exports.getPackageVersion = getPackageVersion;
|
|
|
47
47
|
const crypto = __importStar(require("crypto"));
|
|
48
48
|
const fs = __importStar(require("fs-extra"));
|
|
49
49
|
const path = __importStar(require("path"));
|
|
50
|
+
const types_1 = require("./types");
|
|
51
|
+
const safe_fs_1 = require("./skill-scripts/shared/safe-fs");
|
|
50
52
|
/**
|
|
51
53
|
* Current workspace schema version baked into this CLI build.
|
|
52
54
|
*
|
|
@@ -70,19 +72,71 @@ async function calculateFileHash(filePath) {
|
|
|
70
72
|
stream.on('error', err => reject(err));
|
|
71
73
|
});
|
|
72
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Refuse a metadata path whose file, or either parent below the project
|
|
77
|
+
* (`.ai/strikethroo` and `.ai`), is a symbolic link.
|
|
78
|
+
*
|
|
79
|
+
* The containment helper canonicalizes its root, so a link at or above the
|
|
80
|
+
* root would be followed silently; those two parents are checked here. The
|
|
81
|
+
* check runs before any read or write so a linked workspace fails before a
|
|
82
|
+
* single template is copied through it. Missing entries are fine: they are
|
|
83
|
+
* what a first-time init looks like.
|
|
84
|
+
*/
|
|
85
|
+
async function assertMetadataPathUnlinked(metadataPath) {
|
|
86
|
+
const workspaceDir = path.dirname(metadataPath);
|
|
87
|
+
const candidates = [
|
|
88
|
+
[path.dirname(workspaceDir), 'directory'],
|
|
89
|
+
[workspaceDir, 'directory'],
|
|
90
|
+
[metadataPath, 'file'],
|
|
91
|
+
];
|
|
92
|
+
for (const [candidate, kind] of candidates) {
|
|
93
|
+
let stats;
|
|
94
|
+
try {
|
|
95
|
+
stats = await fs.lstat(candidate);
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
const code = error.code;
|
|
99
|
+
if (code === 'ENOENT' || code === 'ENOTDIR')
|
|
100
|
+
return;
|
|
101
|
+
throw new types_1.FileSystemError(`Cannot inspect ${candidate}: ${error instanceof Error ? error.message : String(error)}`);
|
|
102
|
+
}
|
|
103
|
+
if (stats.isSymbolicLink()) {
|
|
104
|
+
throw new types_1.FileSystemError(`${candidate} is a symbolic link. Strikethroo reads and writes workspace metadata only ` +
|
|
105
|
+
`through regular directories and files, so a link here cannot be trusted. Replace the ` +
|
|
106
|
+
`symbolic link with a regular ${kind} (or remove it) and re-run the command.`);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
function describeRefusal(metadataPath, refusal) {
|
|
111
|
+
switch (refusal.error) {
|
|
112
|
+
case 'symlink':
|
|
113
|
+
return (`${metadataPath} is a symbolic link. Replace it with a regular file (or remove it) ` +
|
|
114
|
+
`and re-run the command.`);
|
|
115
|
+
case 'not-a-file':
|
|
116
|
+
return `${metadataPath} is not a regular file. Remove it and re-run the command.`;
|
|
117
|
+
default:
|
|
118
|
+
return `Cannot access ${metadataPath}: ${refusal.message}`;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
73
121
|
/**
|
|
74
122
|
* Load metadata from .init-metadata.json file
|
|
75
123
|
* @param metadataPath - Absolute path to metadata file
|
|
76
|
-
* @returns InitMetadata object or null
|
|
124
|
+
* @returns InitMetadata object, or null when the file is absent or its JSON is
|
|
125
|
+
* not usable metadata (first-time init)
|
|
126
|
+
* @throws FileSystemError when the file or a workspace parent is a symbolic
|
|
127
|
+
* link or otherwise not a regular entry; this is never treated as first-time
|
|
128
|
+
* init, so a link cannot bypass conflict protection
|
|
77
129
|
*/
|
|
78
130
|
async function loadMetadata(metadataPath) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
131
|
+
await assertMetadataPathUnlinked(metadataPath);
|
|
132
|
+
const read = (0, safe_fs_1.readContainedFile)(path.dirname(metadataPath), path.basename(metadataPath));
|
|
133
|
+
if ('error' in read) {
|
|
134
|
+
if (read.error === 'not-found')
|
|
82
135
|
return null;
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
136
|
+
throw new types_1.FileSystemError(describeRefusal(metadataPath, read));
|
|
137
|
+
}
|
|
138
|
+
try {
|
|
139
|
+
const metadata = JSON.parse(read.content);
|
|
86
140
|
// Validate metadata structure
|
|
87
141
|
if (!metadata.version || !metadata.timestamp || !metadata.files) {
|
|
88
142
|
return null;
|
|
@@ -94,19 +148,29 @@ async function loadMetadata(metadataPath) {
|
|
|
94
148
|
return metadata;
|
|
95
149
|
}
|
|
96
150
|
catch {
|
|
97
|
-
//
|
|
98
|
-
// This treats the situation as first-time init
|
|
151
|
+
// Corrupted or invalid JSON is treated as first-time init
|
|
99
152
|
return null;
|
|
100
153
|
}
|
|
101
154
|
}
|
|
102
155
|
/**
|
|
103
156
|
* Save metadata to .init-metadata.json file
|
|
157
|
+
*
|
|
158
|
+
* Writes atomically through the containment helper with the workspace
|
|
159
|
+
* directory as the root: an exclusive random temp file renamed over the
|
|
160
|
+
* target, never through a link.
|
|
161
|
+
*
|
|
104
162
|
* @param metadataPath - Absolute path to metadata file
|
|
105
163
|
* @param metadata - InitMetadata object to save
|
|
164
|
+
* @throws FileSystemError when the path is a link or the write is refused
|
|
106
165
|
*/
|
|
107
166
|
async function saveMetadata(metadataPath, metadata) {
|
|
108
|
-
await
|
|
109
|
-
|
|
167
|
+
await assertMetadataPathUnlinked(metadataPath);
|
|
168
|
+
const workspaceDir = path.dirname(metadataPath);
|
|
169
|
+
await fs.ensureDir(workspaceDir);
|
|
170
|
+
const written = await (0, safe_fs_1.writeFileAtomic)(workspaceDir, path.basename(metadataPath), JSON.stringify(metadata, null, 2));
|
|
171
|
+
if ('error' in written) {
|
|
172
|
+
throw new types_1.FileSystemError(describeRefusal(metadataPath, written));
|
|
173
|
+
}
|
|
110
174
|
}
|
|
111
175
|
/**
|
|
112
176
|
* Get the current package version from package.json
|
package/dist/metadata.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"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"}
|
package/dist/profiles.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAYH;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAChC;;OAEG;IACH,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiBD;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAIzF;AAaD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC;IACtB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,EAAE,eAAe,CAAC;IAC1B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,
|
|
1
|
+
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAYH;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAChC;;OAEG;IACH,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiBD;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAIzF;AAaD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC;IACtB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,EAAE,eAAe,CAAC;IAC1B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAuCxF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,MAAM,EACpB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,qBAAqB,CAAC,CAsBhC"}
|
package/dist/profiles.js
CHANGED
|
@@ -139,6 +139,13 @@ async function resolveProfileSource(value) {
|
|
|
139
139
|
}
|
|
140
140
|
return { kind: 'local', location: localPath };
|
|
141
141
|
}
|
|
142
|
+
// Anything else reaches `git clone` as an argument, so refuse values git
|
|
143
|
+
// would read as an option even though the clone passes `--` as well.
|
|
144
|
+
if (value.startsWith('-')) {
|
|
145
|
+
throw new types_1.ProfileError(`Profile source must not start with "-": '${value}' is not an existing directory and ` +
|
|
146
|
+
`would be handed to git as an option. Use a package folder path, a <user>/<repo> ` +
|
|
147
|
+
`GitHub shorthand, or a git URL.`);
|
|
148
|
+
}
|
|
142
149
|
if (GITHUB_SHORTHAND_PATTERN.test(value)) {
|
|
143
150
|
return { kind: 'git', location: `https://github.com/${value}.git` };
|
|
144
151
|
}
|
|
@@ -197,8 +204,9 @@ async function cloneRemoteProfile(url, tempDirs) {
|
|
|
197
204
|
const cloneDir = await makeTempDir();
|
|
198
205
|
tempDirs.push(cloneDir);
|
|
199
206
|
try {
|
|
200
|
-
// git clones into an existing empty directory without complaint.
|
|
201
|
-
|
|
207
|
+
// git clones into an existing empty directory without complaint. `--`
|
|
208
|
+
// ends option parsing so the source can never be read as a git option.
|
|
209
|
+
await execFileAsync('git', ['clone', '--depth', '1', '--', url, cloneDir]);
|
|
202
210
|
}
|
|
203
211
|
catch (error) {
|
|
204
212
|
if (isEnoentError(error)) {
|
|
@@ -279,8 +287,22 @@ function isEnoentError(error) {
|
|
|
279
287
|
*/
|
|
280
288
|
async function readManifest(profileDir) {
|
|
281
289
|
const manifestPath = path.join(profileDir, 'profile.yaml');
|
|
282
|
-
|
|
283
|
-
|
|
290
|
+
let manifestStat;
|
|
291
|
+
try {
|
|
292
|
+
manifestStat = await fs.lstat(manifestPath);
|
|
293
|
+
}
|
|
294
|
+
catch (error) {
|
|
295
|
+
if (isEnoentError(error)) {
|
|
296
|
+
throw new types_1.ProfileError(`Profile manifest not found: expected profile.yaml at the package root (${profileDir})`);
|
|
297
|
+
}
|
|
298
|
+
throw new types_1.ProfileError(`Failed to read profile.yaml in ${profileDir}: ${formatCause(error)}`, error);
|
|
299
|
+
}
|
|
300
|
+
if (manifestStat.isSymbolicLink()) {
|
|
301
|
+
throw new types_1.ProfileError(`Profile package entry profile.yaml is a symbolic link (${manifestPath}). ` +
|
|
302
|
+
`Replace it with a regular file; a package must carry its own manifest.`);
|
|
303
|
+
}
|
|
304
|
+
if (!manifestStat.isFile()) {
|
|
305
|
+
throw new types_1.ProfileError(`Profile package entry profile.yaml must be a regular file (${manifestPath})`);
|
|
284
306
|
}
|
|
285
307
|
let rawContent;
|
|
286
308
|
try {
|
|
@@ -443,16 +465,27 @@ function validateRequirementList(data, field) {
|
|
|
443
465
|
*/
|
|
444
466
|
async function validateConfigSurface(profileDir) {
|
|
445
467
|
const configDir = path.join(profileDir, 'config');
|
|
446
|
-
|
|
447
|
-
|
|
468
|
+
let configStat;
|
|
469
|
+
try {
|
|
470
|
+
configStat = await fs.lstat(configDir);
|
|
471
|
+
}
|
|
472
|
+
catch (error) {
|
|
473
|
+
if (isEnoentError(error)) {
|
|
474
|
+
throw new types_1.ProfileError(`Profile package is missing its config/ directory: expected ${configDir}`);
|
|
475
|
+
}
|
|
476
|
+
throw new types_1.ProfileError(`Failed to inspect profile package config/ at ${configDir}: ${formatCause(error)}`, error);
|
|
477
|
+
}
|
|
478
|
+
if (configStat.isSymbolicLink()) {
|
|
479
|
+
throw new types_1.ProfileError(`Profile package entry config/ is a symbolic link (${configDir}). Replace it with a ` +
|
|
480
|
+
`regular directory; a package must carry its own copies of every file.`);
|
|
448
481
|
}
|
|
449
|
-
const configStat = await fs.stat(configDir);
|
|
450
482
|
if (!configStat.isDirectory()) {
|
|
451
483
|
throw new types_1.ProfileError(`Profile package config/ must be a directory: ${configDir}`);
|
|
452
484
|
}
|
|
453
485
|
const rootEntries = await readEntries(configDir);
|
|
454
486
|
for (const entry of rootEntries) {
|
|
455
487
|
rejectUnsafeSegment(entry.name, entry.name);
|
|
488
|
+
rejectSymbolicLink(entry, entry.name);
|
|
456
489
|
if (entry.isFile()) {
|
|
457
490
|
if (!ALLOWED_CONFIG_ROOT_FILES.includes(entry.name)) {
|
|
458
491
|
throw new types_1.ProfileError(`Profile package contains a file outside the allowed config surface: ` +
|
|
@@ -484,6 +517,7 @@ async function validateMarkdownOnlyDir(dirPath, relDir) {
|
|
|
484
517
|
for (const entry of entries) {
|
|
485
518
|
const relPath = `${relDir}/${entry.name}`;
|
|
486
519
|
rejectUnsafeSegment(entry.name, relPath);
|
|
520
|
+
rejectSymbolicLink(entry, relPath);
|
|
487
521
|
if (entry.isDirectory()) {
|
|
488
522
|
throw new types_1.ProfileError(`Profile package contains a nested directory outside the allowed config surface: ` +
|
|
489
523
|
`config/${relPath}/ (config/${relDir}/ may only contain .md files)`);
|
|
@@ -507,6 +541,17 @@ async function readEntries(dirPath) {
|
|
|
507
541
|
throw new types_1.ProfileError(`Failed to read profile package directory ${dirPath}: ${formatCause(error)}`, error);
|
|
508
542
|
}
|
|
509
543
|
}
|
|
544
|
+
/**
|
|
545
|
+
* Reject a symbolic link anywhere in the config surface, naming the entry
|
|
546
|
+
* @param entry - Directory entry read with file types
|
|
547
|
+
* @param relPath - Path relative to `config/` for error reporting
|
|
548
|
+
*/
|
|
549
|
+
function rejectSymbolicLink(entry, relPath) {
|
|
550
|
+
if (entry.isSymbolicLink()) {
|
|
551
|
+
throw new types_1.ProfileError(`Profile package entry config/${relPath} is a symbolic link. Replace it with a regular ` +
|
|
552
|
+
`file or directory; a package must carry its own copies of every file.`);
|
|
553
|
+
}
|
|
554
|
+
}
|
|
510
555
|
/**
|
|
511
556
|
* Reject dotfile, traversal, and separator-bearing entry names
|
|
512
557
|
* @param segment - Single directory entry name
|
package/dist/profiles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,9 +14,12 @@
|
|
|
14
14
|
* to the workspace's structured configuration file `config/config.yaml` (the
|
|
15
15
|
* file behind the Customize section's Config form). In every case the target
|
|
16
16
|
* file must ALREADY exist (this never creates a new file). When the guards
|
|
17
|
-
* pass it overwrites the file content verbatim
|
|
18
|
-
*
|
|
19
|
-
*
|
|
17
|
+
* pass it overwrites the file content verbatim through the shared containment
|
|
18
|
+
* helper, so a symlinked file or directory anywhere below the workspace root
|
|
19
|
+
* (or a non-regular file at the target) is refused as `not-found` rather than
|
|
20
|
+
* followed. It never deletes or renames the target itself. Expected guard
|
|
21
|
+
* failures are returned as a typed result, not thrown; only an unexpected
|
|
22
|
+
* filesystem error surfaces as `fs-error`. Node built-ins only.
|
|
20
23
|
*/
|
|
21
24
|
/**
|
|
22
25
|
* Outcome of a {@link writeConfigFile} call. A discriminated union mirroring the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-write.d.ts","sourceRoot":"","sources":["../../src/serve/config-write.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config-write.d.ts","sourceRoot":"","sources":["../../src/serve/config-write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAKH;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IACE,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU,CAAC;IACjE,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAKN;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAC1B,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,IAAI,MAAM,EACV,SAAS,MAAM,KACd,OAAO,CAAC,iBAAiB,CAyC3B,CAAC"}
|