strikethroo 4.0.0 → 4.1.1
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 +16 -2
- package/dist/__tests__/fixtures/blueprint-trailing-summary.d.ts +14 -0
- package/dist/__tests__/fixtures/blueprint-trailing-summary.d.ts.map +1 -0
- package/dist/__tests__/fixtures/blueprint-trailing-summary.js +54 -0
- package/dist/__tests__/fixtures/blueprint-trailing-summary.js.map +1 -0
- package/dist/cli.js +23 -1
- package/dist/cli.js.map +1 -1
- package/dist/conflict-detector.d.ts +28 -12
- package/dist/conflict-detector.d.ts.map +1 -1
- package/dist/conflict-detector.js +45 -53
- package/dist/conflict-detector.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/index.d.ts.map +1 -1
- package/dist/index.js +97 -86
- package/dist/index.js.map +1 -1
- package/dist/metadata.d.ts +12 -1
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +76 -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/prompts.d.ts +6 -0
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +47 -3
- package/dist/prompts.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/derivation.d.ts +17 -19
- package/dist/serve/derivation.d.ts.map +1 -1
- package/dist/serve/derivation.js +43 -82
- package/dist/serve/derivation.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 +11 -17
- package/dist/serve/workspace-model.d.ts.map +1 -1
- package/dist/serve/workspace-model.js +84 -83
- package/dist/serve/workspace-model.js.map +1 -1
- package/dist/skill-scripts/shared/blueprint-parse.d.ts +16 -0
- package/dist/skill-scripts/shared/blueprint-parse.d.ts.map +1 -0
- package/dist/skill-scripts/shared/blueprint-parse.js +66 -0
- package/dist/skill-scripts/shared/blueprint-parse.js.map +1 -0
- package/dist/skill-scripts/shared/root.d.ts +6 -0
- package/dist/skill-scripts/shared/root.d.ts.map +1 -1
- package/dist/skill-scripts/shared/root.js +10 -4
- package/dist/skill-scripts/shared/root.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/validation/graph-checks.d.ts +6 -14
- package/dist/validation/graph-checks.d.ts.map +1 -1
- package/dist/validation/graph-checks.js +8 -15
- package/dist/validation/graph-checks.js.map +1 -1
- package/dist/validation/metadata-gate.d.ts +2 -6
- package/dist/validation/metadata-gate.d.ts.map +1 -1
- package/dist/validation/metadata-gate.js +17 -6
- package/dist/validation/metadata-gate.js.map +1 -1
- package/dist/validation/strict-pass.d.ts.map +1 -1
- package/dist/validation/strict-pass.js +50 -6
- package/dist/validation/strict-pass.js.map +1 -1
- package/dist-web/assets/abnfDiagram-VCTEODGH-CY8QEBrj.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-drIky86B.js +1 -0
- package/dist-web/assets/architectureDiagram-5GKGNRK7-YZUSf-Fx.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-ByyeaYP7.js +129 -0
- package/dist-web/assets/brainfuck-D5EjA2JK.js +1 -0
- package/dist-web/assets/c4Diagram-7LVT6UL2-YSA0IA7A.js +38 -0
- package/dist-web/assets/channel-DEeX8XvW.js +1 -0
- package/dist-web/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
- package/dist-web/assets/chunk-4HAMMTFA-8VzDhfwy.js +62 -0
- package/dist-web/assets/{chunk-FMBD7UC4-zW3dYoIJ.js → chunk-5VM5RSS4-ZNzvKenW.js} +2 -2
- package/dist-web/assets/chunk-75Z2AOVW-D3fZto5-.js +2 -0
- package/dist-web/assets/chunk-DU6HZSFF-vtUmBAxv.js +125 -0
- package/dist-web/assets/chunk-F27PBJKO-BMcZVmbf.js +1 -0
- package/dist-web/assets/chunk-FOHPRMQF-DzxwRta7.js +161 -0
- package/dist-web/assets/chunk-GMAD6QVW-C5gwfNkR.js +72 -0
- package/dist-web/assets/chunk-GVQU2GXP-CqFZMp6I.js +1 -0
- package/dist-web/assets/chunk-IMKFNOWR-CJDfPbiX.js +231 -0
- package/dist-web/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
- package/dist-web/assets/chunk-L3NEJ4N5-CHeJ2XSW.js +1 -0
- package/dist-web/assets/chunk-OSK3NFVY-CXOClbf5.js +10 -0
- package/dist-web/assets/chunk-P2QGCYS3-C9Wc2Z2I.js +1 -0
- package/dist-web/assets/chunk-POPQ4Y6H-CfiiGKfO.js +1 -0
- package/dist-web/assets/chunk-PWAF6VOD-CtZ4gx65.js +1 -0
- package/dist-web/assets/chunk-SHT3W25Y-C50-QCrR.js +168 -0
- package/dist-web/assets/chunk-SVP7TREG-EIHQbPfX.js +88 -0
- package/dist-web/assets/chunk-TICWLB2K-DOB5NZ4R.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-H5H_txsg.js +1 -0
- package/dist-web/assets/classDiagram-v2-VYDZK3BY-H5H_txsg.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-mR6pfDSH.js +1 -0
- package/dist-web/assets/cynefinDiagram-5FMLGOSQ-6-2oQdEg.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-Cm1zvIWj.js +4 -0
- package/dist-web/assets/defaultLocale-BFoDCU3G.js +1 -0
- package/dist-web/assets/diagram-S7CK7UJ4-D6mECnyP.js +30 -0
- package/dist-web/assets/diagram-UQ7AKVKN-CzmXABVS.js +41 -0
- package/dist-web/assets/diagram-VSXAHHWV-CpEauecU.js +3 -0
- package/dist-web/assets/diagram-VX7I27RA-CXPYrCgX.js +24 -0
- package/dist-web/assets/diagram-Z3DM3KII-RcMIMVWZ.js +24 -0
- package/dist-web/assets/diff-ChtP43wD.js +1 -0
- package/dist-web/assets/dist--eYrBgi0.js +2 -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-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-MZpZ_VnU.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-BcZ7Ctxy.js +99 -0
- package/dist-web/assets/erlang-BV0c4Hdn.js +1 -0
- package/dist-web/assets/esm-CQW0DO89.js +2 -0
- package/dist-web/assets/eventmodeling-NTZA5JFV-BwLlQZcI.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-DGqUYaRC.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-CcJ72sCU.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-BheSjO6S.js +1 -0
- package/dist-web/assets/gitGraphDiagram-WWUBYQGX-Qv13SyYh.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-D0npIBvI.css +2 -0
- package/dist-web/assets/index-DsQxKERJ.js +103 -0
- package/dist-web/assets/info-A6RAGUB7-BemnwZ_B.js +1 -0
- package/dist-web/assets/infoDiagram-27XIBGKW-otpjj8PV.js +2 -0
- package/dist-web/assets/init-C-OQMol4.js +1 -0
- package/dist-web/assets/ishikawaDiagram-5VMMS53U-BuZBZkYN.js +70 -0
- package/dist-web/assets/javascript-Bu8mWwtz.js +1 -0
- package/dist-web/assets/journeyDiagram-3NMN7TZE-D-uflaQS.js +139 -0
- package/dist-web/assets/julia-CQfgDRfP.js +1 -0
- package/dist-web/assets/kanban-definition-UXKFOSKX-BI643rxH.js +89 -0
- package/dist-web/assets/katex-ZlcWpGUi.js +257 -0
- package/dist-web/assets/line-fay7lQM4.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-CI9Bt8lf.js +7 -0
- package/dist-web/assets/mermaid.core-CpvTzp9Q.js +44 -0
- package/dist-web/assets/mindmap-definition-YA3MSWOX-Dw-DFKfU.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-CsBrScsn.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-BVal7Apj.js +1 -0
- package/dist-web/assets/perl-BkSkiI9m.js +1 -0
- package/dist-web/assets/pie-WAS4IAKB-DZFMDceO.js +1 -0
- package/dist-web/assets/pieDiagram-E7YTZNPT-B3QEKixf.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-CRgAf_p-.js +7 -0
- package/dist-web/assets/r-CxDmU1I4.js +1 -0
- package/dist-web/assets/radar-RG4KPBEZ-BkOoPAbJ.js +1 -0
- package/dist-web/assets/railroad-74A4TZTK-BgIna4sT.js +1 -0
- package/dist-web/assets/railroad-abnf-HS5TGJTU-CVlFeN1b.js +1 -0
- package/dist-web/assets/railroad-ebnf-LZEXJU2U-DCEa0WVT.js +1 -0
- package/dist-web/assets/railroad-peg-WCYAUIDC-BHX1T-4x.js +1 -0
- package/dist-web/assets/railroadDiagram-O6MQD6OU-BZwRaQM3.js +1 -0
- package/dist-web/assets/requirementDiagram-BXWQKSXE-BN3nmFpY.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-DBhFOKcq.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-CBc9y9xq.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-BDdsXTTr.js +1 -0
- package/dist-web/assets/stateDiagram-v2-MP3YSRHH-C04o4SeT.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-1QXV5L5H.js +1 -0
- package/dist-web/assets/swimlanesDiagram-VR7AAH4N-CQ46EU90.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-D9CdAGEV.js +120 -0
- package/dist-web/assets/toml-BPTmHmyx.js +1 -0
- package/dist-web/assets/treeView-Q6P3EWNA-CxKfpZsz.js +1 -0
- package/dist-web/assets/treemap-WGGIJYW6-Bg5-PJ6G.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-DIlZEQm_.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-DCKFxH5V.js +1 -0
- package/dist-web/assets/wardleyDiagram-VM6X3IG4-D8O8WtAP.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-Dz9bYgtE.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 +34 -26
- package/templates/strikethroo/config/config.yaml +2 -2
- package/templates/strikethroo/config/templates/TASK_TEMPLATE.md +1 -1
- package/dist-web/assets/apl-B4CMkyY2.js +0 -1
- package/dist-web/assets/arc-DA6tr0lU.js +0 -1
- package/dist-web/assets/architectureDiagram-3BPJPVTR-BEH2YihV.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-jgUyFGxx.js +0 -132
- package/dist-web/assets/brainfuck-C4LP7Hcl.js +0 -1
- package/dist-web/assets/c4Diagram-AAUBKEIU-Do-n7I5O.js +0 -10
- package/dist-web/assets/channel-DJ33z8Wx.js +0 -1
- package/dist-web/assets/chunk-2J33WTMH-CgMvCn22.js +0 -1
- package/dist-web/assets/chunk-4BX2VUAB-FO8RQkkL.js +0 -1
- package/dist-web/assets/chunk-55IACEB6-DL_6pZjw.js +0 -1
- package/dist-web/assets/chunk-727SXJPM-DW7J3hiD.js +0 -206
- package/dist-web/assets/chunk-AQP2D5EJ-TPWnvFSC.js +0 -231
- package/dist-web/assets/chunk-ND2GUHAM-D0Nmkz3P.js +0 -1
- package/dist-web/assets/chunk-QZHKN3VN-BxgxRNWB.js +0 -1
- package/dist-web/assets/classDiagram-4FO5ZUOK--tqQjy0s.js +0 -1
- package/dist-web/assets/classDiagram-v2-Q7XG4LA2--tqQjy0s.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-ysHXC5GT.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-G_XIk8Dj.js +0 -4
- package/dist-web/assets/defaultLocale-CrowFXzY.js +0 -1
- package/dist-web/assets/diagram-2AECGRRQ-7HG2PLhr.js +0 -43
- package/dist-web/assets/diagram-5GNKFQAL-BdS1bF_R.js +0 -10
- package/dist-web/assets/diagram-KO2AKTUF-AFaiXGZQ.js +0 -3
- package/dist-web/assets/diagram-LMA3HP47-CTWrauj7.js +0 -24
- package/dist-web/assets/diagram-OG6HWLK6-BmBckGLa.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-C0B2cXE-.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-CZ70tn_Q.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-h7O-Xh-D.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-BDZixURw.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-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-BwFIiA6J.js +0 -2
- 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-CRL66wiY.js +0 -169
- 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-aX67gnlS.js +0 -2
- 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-yjEPVwyN.js +0 -1
- package/dist-web/assets/infoDiagram-5YYISTIA-CKXHxMh_.js +0 -2
- package/dist-web/assets/init-Gi6I4Gst.js +0 -1
- package/dist-web/assets/ishikawaDiagram-YF4QCWOH-DGancylI.js +0 -70
- package/dist-web/assets/javascript-qCveANmP.js +0 -1
- package/dist-web/assets/journeyDiagram-JHISSGLW-DifvKy-w.js +0 -139
- package/dist-web/assets/julia-DuME0IfC.js +0 -1
- package/dist-web/assets/kanban-definition-UN3LZRKU-ByC-4YyY.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-Cm0Y2OWD.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-DBlLt9sa.js +0 -307
- package/dist-web/assets/mindmap-definition-RKZ34NQL-tkThiQWd.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-BXGBVjcj.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-DnF0iEBo.js +0 -7
- package/dist-web/assets/r-DUYO_cvP.js +0 -1
- package/dist-web/assets/requirementDiagram-4Y6WPE33-BooGjmPb.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-7le5uaC7.js +0 -40
- package/dist-web/assets/scheme-C41bIUwD.js +0 -1
- package/dist-web/assets/sequenceDiagram-3UESZ5HK-B9GCKMDd.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-CO2qL8R6.js +0 -1
- package/dist-web/assets/stateDiagram-v2-BHNVJYJU-DUkgqBTd.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-FLzWM85F.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-Dt6p6Ib1.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-D6k_B5It.js +0 -173
- package/dist-web/assets/wardleyDiagram-YWT4CUSO-jT3ItNLi.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-CpM6UhUO.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,13 +157,27 @@ 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
|
|
163
177
|
npx strikethroo validate
|
|
164
178
|
```
|
|
165
179
|
|
|
166
|
-
Reads your workspace and reports internal inconsistencies -- missing or malformed plan and task frontmatter, dependencies pointing at tasks that do not exist, dependency cycles, blueprint phases and task files that disagree, duplicate ids. It only reads: nothing is written or fixed for you. Every finding is an error, so the command exits non-zero as soon as it reports one, which makes it usable as a CI step. Add `--json` for a machine-readable report on stdout, or `--workspace <path>` to point it at a workspace other than the one discovered from the current directory.
|
|
180
|
+
Reads your workspace and reports internal inconsistencies -- missing or malformed plan and task frontmatter, dependencies pointing at tasks that do not exist, dependency cycles, blueprint phases and task files that disagree, duplicate ids. It only reads: nothing is written or fixed for you. Every finding is an error, so the command exits non-zero as soon as it reports one, which makes it usable as a CI step. Add `--json` for a machine-readable report on stdout, or `--workspace <path>` to point it at a workspace other than the one discovered from the current directory. A workspace without `CODE_REVIEW.md`, `schemas/self-review-v2.xsd`, or `templates/UPDATE_NOTICE_TEMPLATE.md` is valid and produces no finding for them, while a missing required file is reported. `init` and `update` restore any shipped file you deleted.
|
|
167
181
|
|
|
168
182
|
| Plans board | Plan detail page | Archive |
|
|
169
183
|
|-------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------|
|
|
@@ -173,7 +187,7 @@ Reads your workspace and reports internal inconsistencies -- missing or malforme
|
|
|
173
187
|
|
|
174
188
|
After blueprint execution, an optional automated code review gate runs once when a second harness is discovered. The reviewer critiques the cumulative diff against the plan's requirements and emits findings validated against a schema. The gate reports; it does not decide -- there are no severity or confidence floors, and nothing is applied automatically. You read the findings and choose what to act on.
|
|
175
189
|
|
|
176
|
-
**To disable:**
|
|
190
|
+
**To disable:** Empty `.ai/strikethroo/config/hooks/CODE_REVIEW.md`. The gate skips cleanly with a note in the execution summary. A deleted file is restored by the next `init` or `update`.
|
|
177
191
|
|
|
178
192
|
**Important:** A green review gate is not a correctness guarantee. The gate reduces exposure to the same class of error a human PR approval reduces, and leaves the same class of error behind. See [Customization](https://strikethroo.canpicasoft.com/customization.html) for limitations and configuration.
|
|
179
193
|
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One plan body shared by the viewer, validator, and readiness-bundle suites.
|
|
3
|
+
*
|
|
4
|
+
* The blueprint carries two phases plus the template's `### Post-phase Actions`
|
|
5
|
+
* and `### Execution Summary` subsections. `TRAILING_EXECUTION_SUMMARY` is the
|
|
6
|
+
* `## Execution Summary` section `st-execute-blueprint` appends after a run;
|
|
7
|
+
* its bullets name an existing task (01) and a nonexistent one (04). Every
|
|
8
|
+
* consumer must read the same phases with or without that trailing section.
|
|
9
|
+
*/
|
|
10
|
+
export declare const BLUEPRINT_SECTION = "\n## Execution Blueprint\n\n**Validation Gates:**\n- Reference: `/config/hooks/POST_PHASE.md`\n\n### Phase 1: Foundations\n**Parallel Tasks:**\n- Task 01: First\n- Task 02: Second\n\n### Phase 2: Follow-through\n**Parallel Tasks:**\n- Task 03: Third (depends on: 01, 02)\n\n### Post-phase Actions\n\nRun the validation gates after each phase.\n\n### Execution Summary\n- Total Phases: 2\n- Total Tasks: 3\n";
|
|
11
|
+
export declare const TRAILING_EXECUTION_SUMMARY = "\n## Execution Summary\n\n**Status**: Completed Successfully\n**Completed Date**: 2026-10-07\n\n### Results\n- Task 03: shipped the follow-through\n- Task 04: deferred to a later plan\n\n### Noteworthy Events\n- Task 01 needed a second attempt.\n\n### Necessary follow-ups\n- None.\n";
|
|
12
|
+
/** Phase membership the blueprint section alone declares. */
|
|
13
|
+
export declare const EXPECTED_PHASE_TASK_IDS: number[][];
|
|
14
|
+
//# sourceMappingURL=blueprint-trailing-summary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blueprint-trailing-summary.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/blueprint-trailing-summary.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,iBAAiB,2ZAsB7B,CAAC;AAEF,eAAO,MAAM,0BAA0B,gSAetC,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,uBAAuB,EAAE,MAAM,EAAE,EAAkB,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* One plan body shared by the viewer, validator, and readiness-bundle suites.
|
|
4
|
+
*
|
|
5
|
+
* The blueprint carries two phases plus the template's `### Post-phase Actions`
|
|
6
|
+
* and `### Execution Summary` subsections. `TRAILING_EXECUTION_SUMMARY` is the
|
|
7
|
+
* `## Execution Summary` section `st-execute-blueprint` appends after a run;
|
|
8
|
+
* its bullets name an existing task (01) and a nonexistent one (04). Every
|
|
9
|
+
* consumer must read the same phases with or without that trailing section.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.EXPECTED_PHASE_TASK_IDS = exports.TRAILING_EXECUTION_SUMMARY = exports.BLUEPRINT_SECTION = void 0;
|
|
13
|
+
exports.BLUEPRINT_SECTION = `
|
|
14
|
+
## Execution Blueprint
|
|
15
|
+
|
|
16
|
+
**Validation Gates:**
|
|
17
|
+
- Reference: \`/config/hooks/POST_PHASE.md\`
|
|
18
|
+
|
|
19
|
+
### Phase 1: Foundations
|
|
20
|
+
**Parallel Tasks:**
|
|
21
|
+
- Task 01: First
|
|
22
|
+
- Task 02: Second
|
|
23
|
+
|
|
24
|
+
### Phase 2: Follow-through
|
|
25
|
+
**Parallel Tasks:**
|
|
26
|
+
- Task 03: Third (depends on: 01, 02)
|
|
27
|
+
|
|
28
|
+
### Post-phase Actions
|
|
29
|
+
|
|
30
|
+
Run the validation gates after each phase.
|
|
31
|
+
|
|
32
|
+
### Execution Summary
|
|
33
|
+
- Total Phases: 2
|
|
34
|
+
- Total Tasks: 3
|
|
35
|
+
`;
|
|
36
|
+
exports.TRAILING_EXECUTION_SUMMARY = `
|
|
37
|
+
## Execution Summary
|
|
38
|
+
|
|
39
|
+
**Status**: Completed Successfully
|
|
40
|
+
**Completed Date**: 2026-10-07
|
|
41
|
+
|
|
42
|
+
### Results
|
|
43
|
+
- Task 03: shipped the follow-through
|
|
44
|
+
- Task 04: deferred to a later plan
|
|
45
|
+
|
|
46
|
+
### Noteworthy Events
|
|
47
|
+
- Task 01 needed a second attempt.
|
|
48
|
+
|
|
49
|
+
### Necessary follow-ups
|
|
50
|
+
- None.
|
|
51
|
+
`;
|
|
52
|
+
/** Phase membership the blueprint section alone declares. */
|
|
53
|
+
exports.EXPECTED_PHASE_TASK_IDS = [[1, 2], [3]];
|
|
54
|
+
//# sourceMappingURL=blueprint-trailing-summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blueprint-trailing-summary.js","sourceRoot":"","sources":["../../../src/__tests__/fixtures/blueprint-trailing-summary.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEU,QAAA,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;CAsBhC,CAAC;AAEW,QAAA,0BAA0B,GAAG;;;;;;;;;;;;;;;CAezC,CAAC;AAEF,6DAA6D;AAChD,QAAA,uBAAuB,GAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -6,16 +6,25 @@
|
|
|
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");
|
|
14
19
|
const export_profile_1 = require("./export-profile");
|
|
15
20
|
const workspace_1 = require("./validation/workspace");
|
|
16
21
|
const update_1 = require("./update");
|
|
22
|
+
const metadata_1 = require("./metadata");
|
|
17
23
|
const program = new commander_1.Command();
|
|
18
|
-
program
|
|
24
|
+
program
|
|
25
|
+
.name('strikethroo')
|
|
26
|
+
.version((0, metadata_1.getPackageVersion)())
|
|
27
|
+
.description('AI-powered task management CLI tool');
|
|
19
28
|
program
|
|
20
29
|
.command('init')
|
|
21
30
|
.description('Initialize a new Strikethroo project')
|
|
@@ -77,11 +86,16 @@ exportCommand
|
|
|
77
86
|
program
|
|
78
87
|
.command('serve')
|
|
79
88
|
.description('Serve the workspace as a local web app (static SPA, JSON API, SSE change stream)')
|
|
89
|
+
.option('--host <ip>', 'IP address to bind (0.0.0.0 or :: for all interfaces)', '127.0.0.1')
|
|
80
90
|
.option('--port <n>', 'port to bind', '4317')
|
|
81
91
|
.option('--no-open', 'do not open the browser on start')
|
|
82
92
|
.option('--workspace <path>', 'override workspace root discovery')
|
|
83
93
|
.action(async (opts) => {
|
|
84
94
|
try {
|
|
95
|
+
if ((0, net_1.isIP)(opts.host) === 0) {
|
|
96
|
+
console.error(`Invalid --host "${opts.host}": use an IP address such as 127.0.0.1, 0.0.0.0, or ::.`);
|
|
97
|
+
process.exit(1);
|
|
98
|
+
}
|
|
85
99
|
const resolved = (0, root_1.resolveWorkspaceRoot)({ workspace: opts.workspace });
|
|
86
100
|
if ((0, root_1.isResolveError)(resolved)) {
|
|
87
101
|
console.error(resolved.error);
|
|
@@ -89,11 +103,19 @@ program
|
|
|
89
103
|
}
|
|
90
104
|
const handle = await (0, server_1.startServer)({
|
|
91
105
|
root: resolved.root,
|
|
106
|
+
host: opts.host,
|
|
92
107
|
port: Number(opts.port),
|
|
93
108
|
open: opts.open,
|
|
94
109
|
assetsDir: (0, server_1.defaultAssetsDir)(),
|
|
95
110
|
});
|
|
96
111
|
console.log(`Serving ${handle.url}`);
|
|
112
|
+
if (handle.exposed) {
|
|
113
|
+
console.error(chalk_1.default.yellow.bold('\nWarning: the viewer is reachable from the network.\n') +
|
|
114
|
+
chalk_1.default.yellow('Anyone who can reach this address and port can read the workspace and edit its\n' +
|
|
115
|
+
'hooks, templates, and config.yaml, which agents run with their permissions.\n' +
|
|
116
|
+
'Use it only on a trusted network, such as a VM host-only bridge.\n' +
|
|
117
|
+
`Reachable at: ${handle.reachableUrls.join(', ')}\n`));
|
|
118
|
+
}
|
|
97
119
|
}
|
|
98
120
|
catch (error) {
|
|
99
121
|
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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"}
|
|
@@ -4,21 +4,37 @@
|
|
|
4
4
|
* This file handles detection of user-modified files during init command
|
|
5
5
|
* by comparing current file hashes against stored baseline hashes
|
|
6
6
|
*/
|
|
7
|
-
import { FileConflict
|
|
7
|
+
import { FileConflict } from './types';
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
9
|
+
* List every file under `<rootDir>/config/`, relative to `rootDir`, sorted.
|
|
10
|
+
*
|
|
11
|
+
* Shared by conflict detection and the refresh pass in `src/index.ts` so both
|
|
12
|
+
* walk the same incoming paths in the same order.
|
|
13
|
+
*
|
|
14
|
+
* @param rootDir - Workspace or template root holding a `config/` tree
|
|
15
|
+
*/
|
|
16
|
+
export declare function getConfigFiles(rootDir: string): Promise<string[]>;
|
|
17
|
+
/**
|
|
18
|
+
* `FileConflict.originalHash` for a destination with no recorded baseline.
|
|
19
|
+
*
|
|
20
|
+
* The prompt keys its wording on it: such a file is reported as untracked,
|
|
21
|
+
* never as modified since a baseline Strikethroo does not have.
|
|
14
22
|
*/
|
|
15
|
-
export declare
|
|
23
|
+
export declare const NO_RECORDED_BASELINE = "";
|
|
16
24
|
/**
|
|
17
|
-
*
|
|
25
|
+
* Detect the incoming paths that need a decision before they are written.
|
|
26
|
+
*
|
|
27
|
+
* A destination is compared against its recorded baseline, not against the
|
|
28
|
+
* incoming file: the question is whether the user changed it. A destination
|
|
29
|
+
* with no recorded hash has nothing to compare against, so it conflicts
|
|
30
|
+
* whenever it differs from the incoming file and carries
|
|
31
|
+
* `NO_RECORDED_BASELINE`. A destination byte-identical to the incoming file is
|
|
32
|
+
* never a conflict, tracked or not; writing it would change nothing.
|
|
33
|
+
*
|
|
18
34
|
* @param destDir - Destination directory (.ai/strikethroo)
|
|
19
|
-
* @param
|
|
20
|
-
* @param
|
|
21
|
-
*
|
|
35
|
+
* @param templateDir - Source template directory from package
|
|
36
|
+
* @param baseline - Recorded hashes by relative path; `{}` when no metadata
|
|
37
|
+
* can be trusted, which makes every existing destination untracked
|
|
22
38
|
*/
|
|
23
|
-
export declare function
|
|
39
|
+
export declare function detectConflicts(destDir: string, templateDir: string, baseline: Record<string, string>): Promise<FileConflict[]>;
|
|
24
40
|
//# sourceMappingURL=conflict-detector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conflict-detector.d.ts","sourceRoot":"","sources":["../src/conflict-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"conflict-detector.d.ts","sourceRoot":"","sources":["../src/conflict-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAwBvE;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,YAAY,EAAE,CAAC,CAyBzB"}
|
|
@@ -39,18 +39,22 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
39
39
|
};
|
|
40
40
|
})();
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.NO_RECORDED_BASELINE = void 0;
|
|
43
|
+
exports.getConfigFiles = getConfigFiles;
|
|
42
44
|
exports.detectConflicts = detectConflicts;
|
|
43
|
-
exports.isFileDeleted = isFileDeleted;
|
|
44
45
|
const fs = __importStar(require("fs-extra"));
|
|
45
46
|
const path = __importStar(require("path"));
|
|
46
47
|
const metadata_1 = require("./metadata");
|
|
47
48
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
49
|
+
* List every file under `<rootDir>/config/`, relative to `rootDir`, sorted.
|
|
50
|
+
*
|
|
51
|
+
* Shared by conflict detection and the refresh pass in `src/index.ts` so both
|
|
52
|
+
* walk the same incoming paths in the same order.
|
|
53
|
+
*
|
|
54
|
+
* @param rootDir - Workspace or template root holding a `config/` tree
|
|
51
55
|
*/
|
|
52
|
-
async function getConfigFiles(
|
|
53
|
-
const configDir = path.join(
|
|
56
|
+
async function getConfigFiles(rootDir) {
|
|
57
|
+
const configDir = path.join(rootDir, 'config');
|
|
54
58
|
const files = [];
|
|
55
59
|
async function walkDir(dir, relativeTo) {
|
|
56
60
|
const entries = await fs.readdir(dir, { withFileTypes: true });
|
|
@@ -66,65 +70,53 @@ async function getConfigFiles(destDir) {
|
|
|
66
70
|
}
|
|
67
71
|
}
|
|
68
72
|
if (await fs.pathExists(configDir)) {
|
|
69
|
-
await walkDir(configDir,
|
|
73
|
+
await walkDir(configDir, rootDir);
|
|
70
74
|
}
|
|
71
|
-
return files;
|
|
75
|
+
return files.sort();
|
|
72
76
|
}
|
|
73
77
|
/**
|
|
74
|
-
*
|
|
78
|
+
* `FileConflict.originalHash` for a destination with no recorded baseline.
|
|
79
|
+
*
|
|
80
|
+
* The prompt keys its wording on it: such a file is reported as untracked,
|
|
81
|
+
* never as modified since a baseline Strikethroo does not have.
|
|
82
|
+
*/
|
|
83
|
+
exports.NO_RECORDED_BASELINE = '';
|
|
84
|
+
/**
|
|
85
|
+
* Detect the incoming paths that need a decision before they are written.
|
|
86
|
+
*
|
|
87
|
+
* A destination is compared against its recorded baseline, not against the
|
|
88
|
+
* incoming file: the question is whether the user changed it. A destination
|
|
89
|
+
* with no recorded hash has nothing to compare against, so it conflicts
|
|
90
|
+
* whenever it differs from the incoming file and carries
|
|
91
|
+
* `NO_RECORDED_BASELINE`. A destination byte-identical to the incoming file is
|
|
92
|
+
* never a conflict, tracked or not; writing it would change nothing.
|
|
93
|
+
*
|
|
75
94
|
* @param destDir - Destination directory (.ai/strikethroo)
|
|
76
95
|
* @param templateDir - Source template directory from package
|
|
77
|
-
* @param
|
|
78
|
-
*
|
|
96
|
+
* @param baseline - Recorded hashes by relative path; `{}` when no metadata
|
|
97
|
+
* can be trusted, which makes every existing destination untracked
|
|
79
98
|
*/
|
|
80
|
-
async function detectConflicts(destDir, templateDir,
|
|
99
|
+
async function detectConflicts(destDir, templateDir, baseline) {
|
|
81
100
|
const conflicts = [];
|
|
82
|
-
const
|
|
83
|
-
for (const relativePath of configFiles) {
|
|
101
|
+
for (const relativePath of await getConfigFiles(templateDir)) {
|
|
84
102
|
const userFilePath = path.join(destDir, relativePath);
|
|
85
103
|
const newFilePath = path.join(templateDir, relativePath);
|
|
86
|
-
|
|
87
|
-
const userFileExists = await fs.pathExists(userFilePath);
|
|
88
|
-
if (!userFileExists) {
|
|
89
|
-
// File doesn't exist in user's directory, no conflict (new file)
|
|
90
|
-
continue;
|
|
91
|
-
}
|
|
92
|
-
// Get original hash from metadata
|
|
93
|
-
const originalHash = metadata.files[relativePath];
|
|
94
|
-
if (!originalHash) {
|
|
95
|
-
// File wasn't tracked in metadata (new file in this version), no conflict
|
|
104
|
+
if (!(await fs.pathExists(userFilePath)))
|
|
96
105
|
continue;
|
|
97
|
-
}
|
|
98
|
-
// Calculate current hash of user's file
|
|
99
106
|
const currentHash = await (0, metadata_1.calculateFileHash)(userFilePath);
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
});
|
|
113
|
-
}
|
|
107
|
+
if (currentHash === (await (0, metadata_1.calculateFileHash)(newFilePath)))
|
|
108
|
+
continue;
|
|
109
|
+
const originalHash = baseline[relativePath];
|
|
110
|
+
if (originalHash !== undefined && currentHash === originalHash)
|
|
111
|
+
continue;
|
|
112
|
+
conflicts.push({
|
|
113
|
+
relativePath,
|
|
114
|
+
userFileContent: await fs.readFile(userFilePath, 'utf-8'),
|
|
115
|
+
newFileContent: await fs.readFile(newFilePath, 'utf-8'),
|
|
116
|
+
originalHash: originalHash ?? exports.NO_RECORDED_BASELINE,
|
|
117
|
+
currentHash,
|
|
118
|
+
});
|
|
114
119
|
}
|
|
115
120
|
return conflicts;
|
|
116
121
|
}
|
|
117
|
-
/**
|
|
118
|
-
* Check if a file has been deleted by the user
|
|
119
|
-
* @param destDir - Destination directory (.ai/strikethroo)
|
|
120
|
-
* @param relativePath - Relative path from destDir
|
|
121
|
-
* @param metadata - Previously stored metadata
|
|
122
|
-
* @returns true if file existed in metadata but is now deleted
|
|
123
|
-
*/
|
|
124
|
-
function isFileDeleted(destDir, relativePath, metadata) {
|
|
125
|
-
const filePath = path.join(destDir, relativePath);
|
|
126
|
-
const existsInMetadata = relativePath in metadata.files;
|
|
127
|
-
const existsOnDisk = fs.pathExistsSync(filePath);
|
|
128
|
-
return existsInMetadata && !existsOnDisk;
|
|
129
|
-
}
|
|
130
122
|
//# sourceMappingURL=conflict-detector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conflict-detector.js","sourceRoot":"","sources":["../src/conflict-detector.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"conflict-detector.js","sourceRoot":"","sources":["../src/conflict-detector.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeH,wCAwBC;AAyBD,0CA6BC;AA3FD,6CAA+B;AAC/B,2CAA6B;AAE7B,yCAA+C;AAE/C;;;;;;;GAOG;AACI,KAAK,UAAU,cAAc,CAAC,OAAe;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,UAAkB;QACpD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAEzD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACtC,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,MAAM,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACU,QAAA,oBAAoB,GAAG,EAAE,CAAC;AAEvC;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,WAAmB,EACnB,QAAgC;IAEhC,MAAM,SAAS,GAAmB,EAAE,CAAC;IAErC,KAAK,MAAM,YAAY,IAAI,MAAM,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAEzD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAAE,SAAS;QAEnD,MAAM,WAAW,GAAG,MAAM,IAAA,4BAAiB,EAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,WAAW,KAAK,CAAC,MAAM,IAAA,4BAAiB,EAAC,WAAW,CAAC,CAAC;YAAE,SAAS;QAErE,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAI,YAAY,KAAK,SAAS,IAAI,WAAW,KAAK,YAAY;YAAE,SAAS;QAEzE,SAAS,CAAC,IAAI,CAAC;YACb,YAAY;YACZ,eAAe,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;YACzD,cAAc,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;YACvD,YAAY,EAAE,YAAY,IAAI,4BAAoB;YAClD,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
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/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,WAAW,EAAE,aAAa,EAA6C,MAAM,SAAS,CAAC;AA6FhG;;;;;;;;GAQG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAwIvE;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,WAAW,EAAE,aAAa,EAA6C,MAAM,SAAS,CAAC;AA6FhG;;;;;;;;GAQG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAwIvE;AA2RD;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGtE;AAyBD,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACzF,YAAY,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC"}
|