@pipelex/sdk 0.48.0 → 0.48.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 +1 -1
- package/dist/artifacts.d.ts +4 -3
- package/dist/artifacts.js +20 -14
- package/dist/artifacts.js.map +1 -1
- package/dist/cli/script.d.ts +1 -1
- package/dist/client.d.ts +6 -4
- package/dist/client.js +12 -5
- package/dist/client.js.map +1 -1
- package/dist/codegen-check.d.ts +2 -3
- package/dist/codegen-check.js +2 -3
- package/dist/codegen-check.js.map +1 -1
- package/dist/hooks/bundle-gather.d.ts +29 -10
- package/dist/hooks/bundle-gather.js +91 -14
- package/dist/hooks/bundle-gather.js.map +1 -1
- package/dist/hooks/check-core.d.ts +70 -6
- package/dist/hooks/check-core.js +188 -29
- package/dist/hooks/check-core.js.map +1 -1
- package/dist/hooks/claude-mthds-check.d.ts +12 -0
- package/dist/hooks/claude-mthds-check.js +12 -0
- package/dist/hooks/claude-mthds-check.js.map +1 -1
- package/dist/hooks/secret-guard.d.ts +38 -0
- package/dist/hooks/secret-guard.js +134 -0
- package/dist/hooks/secret-guard.js.map +1 -0
- package/dist/hooks/validate-stage.d.ts +5 -3
- package/dist/hooks/validate-stage.js +16 -7
- package/dist/hooks/validate-stage.js.map +1 -1
- package/dist/method-trees.d.ts +19 -8
- package/dist/method-trees.js +37 -11
- package/dist/method-trees.js.map +1 -1
- package/dist/node-host/node.d.ts +33 -0
- package/dist/node-host/node.js +27 -0
- package/dist/node-host/node.js.map +1 -0
- package/dist/node-host/unavailable.d.ts +8 -0
- package/dist/node-host/unavailable.js +8 -0
- package/dist/node-host/unavailable.js.map +1 -0
- package/dist/node-host.d.ts +53 -0
- package/dist/node-host.js +72 -0
- package/dist/node-host.js.map +1 -0
- package/dist/upload.d.ts +4 -9
- package/dist/upload.js +13 -16
- package/dist/upload.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/docs/architecture.md +29 -5
- package/docs/crate-routes.md +1 -1
- package/docs/hook-bundle.md +27 -1
- package/docs/input-preparation.md +2 -2
- package/docs/method-trees.md +2 -2
- package/package.json +7 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-core.js","sourceRoot":"","sources":["../../src/hooks/check-core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check-core.js","sourceRoot":"","sources":["../../src/hooks/check-core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAqB,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAsDjE,SAAS,eAAe,CAAC,SAAiB;IACxC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,+DAA+D;IAC9E,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAI,MAA0D,EAAE,UAAU;QACtF,EAAE,SAAS,CAAC;IACd,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAwCD,+FAA+F;AAC/F,MAAM,YAAY,GAAG,IAAI,CAAC;AAE1B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,wBAAwB,CAAC,SAAiB,EAAE,UAAkB;IAC5E,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAIhC,CAAC;IACT,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,KAAK,MAAM,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;IAC5C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAClD,CAAC;IACD,MAAM,UAAU,GACd,OAAO,MAAM,EAAE,GAAG,KAAK,QAAQ,IAAI,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;IAE1F,IAAI,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,WAAW,GAA6C,GAAG,EAAE,CAAC,UAAU,CAAC;IAC7E,IAAI,WAAW,GAAuC,GAAG,EAAE,CAAC,IAAI,CAAC;IACjE,IAAI,YAAY,GAAG,CAAC,OAAqB,EAAY,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3E,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACrD,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;YACzB,WAAW,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAU,CAAC,CACnF,CAAC;YACF,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YACrF,WAAW,GAAG,CAAC,OAAO,EAAE,EAAE;gBACxB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;gBAC3C,OAAO,SAAS,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,CAAC,CAAC;YACF,WAAW,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,IAAI,KAAK,QAAQ,CAAC;YACtE,YAAY,GAAG,CAAC,OAAO,EAAE,EAAE,CACzB,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,OAAqB,EAAU,EAAE;QAC5D,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACjF,CAAC,CAAC;IACF,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,IAAI,CAAC,GAAG;gBACd,SAAS,EAAE,IAAI,CAAC,IAAI;gBACpB,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC;gBAC3C,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,OAAO,EAAE,CAAC,SAAS;oBACjB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;wBAC9D,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,WAAW;aAClB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAA4B,EAC5B,QAAyC;IAEzC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC1C,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,SAAS,GACb,OAAO,KAAK,IAAI;YAChB,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI;gBACtB,MAAM,CAAC,UAAU,CAAC,IAAI,CACpB,CAAC,UAAU,EAAE,EAAE,CACb,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC;oBACtC,CAAC,MAAM,CAAC,OAAO,KAAK,WAAW,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAC7E,CAAC,CAAC;QACP,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;aAAM,IACL,MAAM,CAAC,OAAO,KAAK,SAAS;YAC5B,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC;YACjC,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;YAC5C,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EACrC,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,UAA6B;IAC9E,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,IAAI,EAAE,CAAC;YACP,IAAI,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+FAA+F;AAC/F,SAAS,aAAa,CAAC,UAA6B;IAClD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;AAChF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAwB;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,IAAI,GACR,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,EAAE,CAAC;IAC3F,MAAM,OAAO,GACX,KAAK,CAAC,MAAM,KAAK,CAAC;QAChB,CAAC,CAAC,iCAAiC,IAAI,+CAA+C;YACpF,uFAAuF;YACvF,mCAAmC;QACrC,CAAC,CAAC,iCAAiC,IAAI,gDAAgD;YACrF,iFAAiF;YACjF,iDAAiD,CAAC;IACxD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;AACzD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,SAAiB;IAEjB,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAKhC,CAAC;IACT,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,UAAU,GAAG;QACjB,MAAM,CAAC,WAAW,EAAE,IAAI;QACxB,MAAM,CAAC,WAAW,EAAE,IAAI;QACxB,MAAM,CAAC,UAAU,EAAE,SAAS;QAC5B,MAAM,CAAC,UAAU,EAAE,IAAI;KACxB,CAAC;IACF,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAC9B,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAClF,CAAC;IACF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AACpF,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,QAAuB;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IACtE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;YAClC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IAClD,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC1E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACtE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACrC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IACtD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAED,iGAAiG;AACjG,SAAS,SAAS,CAAC,KAAwB;IACzC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED,mDAAmD;AACnD,SAAS,OAAO,CAAC,QAAgC;IAC/C,OAAO;QACL,GAAG,IAAI,GAAG,CACR,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CACtF;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,IAAI,IAAI,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC;IAC/C,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,mBAAmB,OAAO,iBAAiB,CAAC;AACvF,CAAC;AAED,8FAA8F;AAC9F,SAAS,SAAS,CAAC,IAAY,EAAE,MAAc;IAC7C,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,mBAAmB,OAAO,iBAAiB,CAAC;IAChF,6FAA6F;IAC7F,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,+FAA+F;AAC/F,MAAM,WAAW,GAAG,IAAI,CAAC;AAEzB;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,OAA+C;IACzE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACzE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;IAC7D,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC;AACvF,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,UAAsB;IAClD,MAAM,QAAQ,GAAG;QACf,UAAU,CAAC,QAAQ;QACnB,UAAU,CAAC,KAAK,IAAI,QAAQ,UAAU,CAAC,KAAK,CAAC,UAAU,SAAS,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE;KAC7F,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,OAAO,MAAM,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,KAAK,UAAU,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;AACtF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,IAAe;IAC/D,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IACD,MAAM,KAAK,GAAG;QACZ,wBAAwB,QAAQ,GAAG;QACnC,EAAE;QACF,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC;KAC9C,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,iFAAiF;AACjF,SAAS,yBAAyB,CAAC,IAAyB;IAC1D,MAAM,QAAQ,GAAG;QACf,IAAI,CAAC,SAAS,IAAI,QAAQ,IAAI,CAAC,SAAS,EAAE;QAC1C,IAAI,CAAC,YAAY,IAAI,WAAW,IAAI,CAAC,YAAY,EAAE;QACnD,IAAI,CAAC,UAAU,IAAI,SAAS,IAAI,CAAC,UAAU,EAAE;QAC7C,IAAI,CAAC,MAAM,IAAI,UAAU,IAAI,CAAC,MAAM,EAAE;KACvC;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,MAAM,IAAI,CAAC,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,OAAO,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACpG,CAAC;AAED,gEAAgE;AAChE,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,gGAAgG;AAChG,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;AAEpD,4FAA4F;AAC5F,MAAM,aAAa,GAAqC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAElG;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CACxB,kBAAkB,EAClB,CAAC,SAAS,EAAE,EAAE,CACZ,aAAa,CAAC,SAAS,CAAC,IAAI,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAC9F,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACvF,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IACzC,MAAM,MAAM,GACV,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QACrB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QACnB,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACvE,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC;AAC5E,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,QAAiC;IACtD,MAAM,KAAK,GAAG,QAAQ;SACnB,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC;SACzB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,GAAG,eAAe,CAAC;IAC/C,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,SAAS,IAAI,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9F,CAAC;AAED,kEAAkE;AAClE,MAAM,8BAA8B,GAClC,2FAA2F;IAC3F,8FAA8F;IAC9F,YAAY,CAAC;AAEf,2FAA2F;AAC3F,MAAM,WAAW,GACf,6FAA6F;IAC7F,uEAAuE,CAAC;AAE1E;;;;;GAKG;AACH,SAAS,YAAY,CAAC,QAAiC;IACrD,OAAO;QACL,0FAA0F;YACxF,uDAAuD;QACzD,GAAG,aAAa,CAAC,QAAQ,CAAC;QAC1B,EAAE;QACF,4FAA4F;YAC1F,yDAAyD;YACzD,8BAA8B;YAC9B,wCAAwC,WAAW,wCAAwC;YAC3F,mCAAmC;KACtC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAY,EAAE,QAAiC;IAClE,OAAO;QACL,kDAAkD,QAAQ,CAAC,IAAI,CAAC,iCAAiC;YAC/F,sFAAsF;YACtF,mBAAmB;QACrB,GAAG,aAAa,CAAC,QAAQ,CAAC;QAC1B,EAAE;QACF,8BAA8B;YAC5B,0FAA0F;YAC1F,6DAA6D,WAAW,GAAG;KAC9E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,QAAuB;IAC3E,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxB,KAAK,aAAa;YAChB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC1B,KAAK,SAAS;YACZ,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACvD,CAAC;QACJ,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,MAAM,KAAK,GACT,QAAQ,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;gBACnC,CAAC,CAAC,qGAAqG;oBACrG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;oBACrC,yFAAyF;gBAC3F,CAAC,CAAC,EAAE,CAAC;YACT,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC1B,CAAC;YACD,wFAAwF;YACxF,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC;gBACrB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC5C,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,MAAc,CAAC;YACnB,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBAC9B,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG;oBACZ,yBAAyB,QAAQ,GAAG;oBACpC,EAAE;oBACF,QAAQ,CAAC,OAAO,IAAI,oBAAoB;iBACzC,CAAC;gBACF,IAAI,QAAQ,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACf,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBAC1E,CAAC;gBACD,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACjC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE;gBACrE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,OAAoB,EAAE,WAAyB,QAAQ;IACnF,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,MAAM;YACT,OAAO,EAAE,CAAC;QACZ,KAAK,OAAO;YACV,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YACnF,CAAC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QACpF,KAAK,SAAS;YACZ,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,OAAO,CACL,IAAI,CAAC,SAAS,CAAC;oBACb,QAAQ,EAAE,OAAO;oBACjB,oBAAoB,EAAE,EAAE,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE;iBACnE,CAAC,GAAG,IAAI,CACV,CAAC;YACJ,CAAC;YACD,OAAO,CACL,IAAI,CAAC,SAAS,CAAC;gBACb,kBAAkB,EAAE;oBAClB,aAAa,EAAE,aAAa;oBAC5B,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC;iBACxC;aACF,CAAC,GAAG,IAAI,CACV,CAAC;IACN,CAAC;AACH,CAAC"}
|
|
@@ -35,6 +35,18 @@
|
|
|
35
35
|
* upload) → the local lint/format verdicts already applied; the validate
|
|
36
36
|
* stage passes silently (`validate-stage.ts`)
|
|
37
37
|
*
|
|
38
|
+
* Secrets stay home: with a `PIPELEX_API_KEY` set, before any request, every
|
|
39
|
+
* file of the method's tree is read and screened by the workshop's rule, as
|
|
40
|
+
* `secret-guard.ts` refines it; with none, nothing of the tree is read or sent.
|
|
41
|
+
* A file that looks like a secret is left out, never sent and never quoted.
|
|
42
|
+
* When the validation then returns a verdict, a note after the verdict's text
|
|
43
|
+
* names each such file and why; when it returns none (a network error, a
|
|
44
|
+
* non-2xx, the deadline), the stage passes silently as above and no note is
|
|
45
|
+
* shown. One that is a bundle or the manifest, which every validation reads,
|
|
46
|
+
* keeps the whole tree home, and a non-blocking note names the files instead
|
|
47
|
+
* of a verdict (`bundle-gather.ts`). The notes of several files of one tree
|
|
48
|
+
* are named once, each path a Markdown code span that no name can break out of.
|
|
49
|
+
*
|
|
38
50
|
* The hook always exits 0; a block/deny is expressed on stdout, never via the
|
|
39
51
|
* exit code.
|
|
40
52
|
*/
|
|
@@ -35,6 +35,18 @@
|
|
|
35
35
|
* upload) → the local lint/format verdicts already applied; the validate
|
|
36
36
|
* stage passes silently (`validate-stage.ts`)
|
|
37
37
|
*
|
|
38
|
+
* Secrets stay home: with a `PIPELEX_API_KEY` set, before any request, every
|
|
39
|
+
* file of the method's tree is read and screened by the workshop's rule, as
|
|
40
|
+
* `secret-guard.ts` refines it; with none, nothing of the tree is read or sent.
|
|
41
|
+
* A file that looks like a secret is left out, never sent and never quoted.
|
|
42
|
+
* When the validation then returns a verdict, a note after the verdict's text
|
|
43
|
+
* names each such file and why; when it returns none (a network error, a
|
|
44
|
+
* non-2xx, the deadline), the stage passes silently as above and no note is
|
|
45
|
+
* shown. One that is a bundle or the manifest, which every validation reads,
|
|
46
|
+
* keeps the whole tree home, and a non-blocking note names the files instead
|
|
47
|
+
* of a verdict (`bundle-gather.ts`). The notes of several files of one tree
|
|
48
|
+
* are named once, each path a Markdown code span that no name can break out of.
|
|
49
|
+
*
|
|
38
50
|
* The hook always exits 0; a block/deny is expressed on stdout, never via the
|
|
39
51
|
* exit code.
|
|
40
52
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-mthds-check.js","sourceRoot":"","sources":["../../src/hooks/claude-mthds-check.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"claude-mthds-check.js","sourceRoot":"","sources":["../../src/hooks/claude-mthds-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The hook's secret guard: before the validate stage sends a method's tree, it finds each file
|
|
3
|
+
* whose NAME is a known secret file, or whose TEXT holds a well-known key format, in whatever
|
|
4
|
+
* encoding the file is written, so that file never leaves the machine.
|
|
5
|
+
*
|
|
6
|
+
* The rule is the workshop's, pipelex-mcp's `src/capabilities/secret-guard.ts`, with the
|
|
7
|
+
* refinements this copy is ahead on until the workshop takes them up (L-261022-b4770f): an SSH key
|
|
8
|
+
* is found by its default name only when the name is exactly that, and a PEM private key block
|
|
9
|
+
* only when a key's body follows its header. Every other rule is the workshop's, and changes with
|
|
10
|
+
* it. The membership rule already keeps the commonest secret files out by construction,
|
|
11
|
+
* since `.env`, `.ssh/`, `.aws/` and every other dotfile start with a dot. What it cannot keep
|
|
12
|
+
* out is a key file under an ordinary name, or a key pasted into an ordinary file, a Python
|
|
13
|
+
* module being the usual home of one, which is why the guard reads text and not names alone.
|
|
14
|
+
* It is a tripwire for the well-known shapes, never a promise that a tree holds no secret: a
|
|
15
|
+
* password in prose, a scanned contract or a payslip goes through it.
|
|
16
|
+
*
|
|
17
|
+
* A finding names the file and what matched, and **never the matched text**, since the hook's
|
|
18
|
+
* output is shown to a model and may be logged.
|
|
19
|
+
*
|
|
20
|
+
* Pure: it reads the bytes it is handed and nothing else.
|
|
21
|
+
*/
|
|
22
|
+
/** One file the guard finds, and why, in words that quote nothing of the file. */
|
|
23
|
+
export interface SecretFinding {
|
|
24
|
+
/** The file's tree path. */
|
|
25
|
+
path: string;
|
|
26
|
+
/** What it is, or what it holds: "it holds a private key block (PEM)". */
|
|
27
|
+
reason: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The files of a tree the guard finds, in the order given. A file whose name is a secret file's
|
|
31
|
+
* is found on the name alone, unless its rule's `unless` says its bytes are something else; every
|
|
32
|
+
* other file, text in any encoding or binary, is searched for every key format in the texts
|
|
33
|
+
* {@link searchableTexts} reads from its bytes.
|
|
34
|
+
*/
|
|
35
|
+
export declare function secretFindings(files: Iterable<{
|
|
36
|
+
path: string;
|
|
37
|
+
bytes: Uint8Array;
|
|
38
|
+
}>): SecretFinding[];
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The hook's secret guard: before the validate stage sends a method's tree, it finds each file
|
|
3
|
+
* whose NAME is a known secret file, or whose TEXT holds a well-known key format, in whatever
|
|
4
|
+
* encoding the file is written, so that file never leaves the machine.
|
|
5
|
+
*
|
|
6
|
+
* The rule is the workshop's, pipelex-mcp's `src/capabilities/secret-guard.ts`, with the
|
|
7
|
+
* refinements this copy is ahead on until the workshop takes them up (L-261022-b4770f): an SSH key
|
|
8
|
+
* is found by its default name only when the name is exactly that, and a PEM private key block
|
|
9
|
+
* only when a key's body follows its header. Every other rule is the workshop's, and changes with
|
|
10
|
+
* it. The membership rule already keeps the commonest secret files out by construction,
|
|
11
|
+
* since `.env`, `.ssh/`, `.aws/` and every other dotfile start with a dot. What it cannot keep
|
|
12
|
+
* out is a key file under an ordinary name, or a key pasted into an ordinary file, a Python
|
|
13
|
+
* module being the usual home of one, which is why the guard reads text and not names alone.
|
|
14
|
+
* It is a tripwire for the well-known shapes, never a promise that a tree holds no secret: a
|
|
15
|
+
* password in prose, a scanned contract or a payslip goes through it.
|
|
16
|
+
*
|
|
17
|
+
* A finding names the file and what matched, and **never the matched text**, since the hook's
|
|
18
|
+
* output is shown to a model and may be logged.
|
|
19
|
+
*
|
|
20
|
+
* Pure: it reads the bytes it is handed and nothing else.
|
|
21
|
+
*/
|
|
22
|
+
/** Whether the bytes open with a zip archive's local file header, `PK\x03\x04`. */
|
|
23
|
+
function isZipArchive(bytes) {
|
|
24
|
+
return bytes[0] === 0x50 && bytes[1] === 0x4b && bytes[2] === 0x03 && bytes[3] === 0x04;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Secret file names, matched on the last segment of a tree path, ignoring case: key and
|
|
28
|
+
* certificate stores, SSH private keys under their default names, and the credential exports of
|
|
29
|
+
* the cloud consoles. A rule with `unless` lets a file of that name go when its bytes show it is
|
|
30
|
+
* something else.
|
|
31
|
+
*
|
|
32
|
+
* `.pem` is no name rule: a `.pem` file is as often a certificate, which is public, and a private
|
|
33
|
+
* key in one is a PEM block, which the text search finds. A `.key` file is a Keynote deck as
|
|
34
|
+
* often as a key, and a deck is a zip archive, so only a `.key` file that is no zip is found by
|
|
35
|
+
* name, which still catches a DER key, binary and holding no PEM block.
|
|
36
|
+
*
|
|
37
|
+
* An SSH key's default name is matched whole, with the `_sk` of a hardware-backed key, so its
|
|
38
|
+
* `.pub` half, which is public, and a file merely starting with the name, such as
|
|
39
|
+
* `id_rsa_utils.py`, go. Nothing is lost: every SSH private key is PEM-armoured, which the text
|
|
40
|
+
* search finds under any name.
|
|
41
|
+
*/
|
|
42
|
+
const SECRET_NAMES = [
|
|
43
|
+
{
|
|
44
|
+
pattern: /\.key$/i,
|
|
45
|
+
reason: "a key file (.key), and is no zip archive as a Keynote deck is",
|
|
46
|
+
unless: isZipArchive,
|
|
47
|
+
},
|
|
48
|
+
{ pattern: /\.(p12|pfx|jks|keystore)$/i, reason: "a certificate or key store" },
|
|
49
|
+
{ pattern: /\.ppk$/i, reason: "a PuTTY private key" },
|
|
50
|
+
{ pattern: /\.kdbx$/i, reason: "a KeePass password database" },
|
|
51
|
+
{
|
|
52
|
+
pattern: /^id_(?:rsa|dsa|ecdsa|ed25519)(?:_sk)?$/i,
|
|
53
|
+
reason: "an SSH key under its default name",
|
|
54
|
+
},
|
|
55
|
+
{ pattern: /^credentials(\.json)?$/i, reason: "a credentials file" },
|
|
56
|
+
{ pattern: /^client_secret.*\.json$/i, reason: "an OAuth client secret export" },
|
|
57
|
+
];
|
|
58
|
+
/**
|
|
59
|
+
* Well-known key formats, matched in a file's text. Each is a prefix a provider puts on its keys
|
|
60
|
+
* so that scanners can find them, with enough of the key's body after it that prose mentioning
|
|
61
|
+
* the prefix does not match.
|
|
62
|
+
*
|
|
63
|
+
* A PEM private key block is its header followed by a run of Base64 as long as a key's body
|
|
64
|
+
* lines, where a key's body sits: directly on the header's line, as in a key flattened onto one
|
|
65
|
+
* line, or at the start of a line within a short span after the header, the line break written as
|
|
66
|
+
* a real one or as the `\n` of a key escaped into JSON, its indentation allowed, the span holding
|
|
67
|
+
* the `Proc-Type` and `DEK-Info` headers of an encrypted legacy key. A header named in prose, such
|
|
68
|
+
* as a prompt telling a model what a key looks like, has no such run there, even when a long path
|
|
69
|
+
* or link follows it in the sentence, so it goes.
|
|
70
|
+
*/
|
|
71
|
+
const KEY_FORMATS = [
|
|
72
|
+
{
|
|
73
|
+
pattern: /-----BEGIN (?:[A-Z0-9]+ )*PRIVATE KEY(?: BLOCK)?-----(?:[ \t]*|[\s\S]{0,200}?(?:\n|\\n)[ \t]*)[A-Za-z0-9+/]{40,}/,
|
|
74
|
+
reason: "a private key block (PEM)",
|
|
75
|
+
},
|
|
76
|
+
{ pattern: /\b(?:AKIA|ASIA)[0-9A-Z]{16}\b/, reason: "an AWS access key id" },
|
|
77
|
+
{ pattern: /\bgh[pousr]_[A-Za-z0-9]{36,}\b/, reason: "a GitHub token" },
|
|
78
|
+
{ pattern: /\bgithub_pat_[A-Za-z0-9_]{22,}/, reason: "a GitHub fine-grained token" },
|
|
79
|
+
{ pattern: /\bglpat-[A-Za-z0-9_-]{20,}/, reason: "a GitLab token" },
|
|
80
|
+
{ pattern: /\bxox[abprs]-[A-Za-z0-9-]{10,}/, reason: "a Slack token" },
|
|
81
|
+
{ pattern: /\b(?:sk|rk)_live_[A-Za-z0-9]{16,}/, reason: "a Stripe live key" },
|
|
82
|
+
{ pattern: /\bAIza[0-9A-Za-z_-]{35}/, reason: "a Google API key" },
|
|
83
|
+
{ pattern: /\bsk-ant-[A-Za-z0-9_-]{20,}/, reason: "an Anthropic API key" },
|
|
84
|
+
{
|
|
85
|
+
pattern: /\bsk-(?:proj|svcacct|admin)-[A-Za-z0-9_-]{20,}/,
|
|
86
|
+
reason: "an OpenAI API key",
|
|
87
|
+
},
|
|
88
|
+
{ pattern: /\bsk-[A-Za-z0-9]{32,}\b/, reason: "an OpenAI-style secret key" },
|
|
89
|
+
{ pattern: /\bhf_[A-Za-z0-9]{30,}\b/, reason: "a Hugging Face token" },
|
|
90
|
+
{ pattern: /\bnpm_[A-Za-z0-9]{36}\b/, reason: "an npm token" },
|
|
91
|
+
{ pattern: /\bplx_sk_[A-Za-z0-9_-]{16,}/, reason: "a Pipelex API key" },
|
|
92
|
+
];
|
|
93
|
+
/**
|
|
94
|
+
* Bytes read one character per byte. The WHATWG `latin1` decoder is windows-1252, which maps
|
|
95
|
+
* every byte to exactly one character and every ASCII byte to itself, and every key format is
|
|
96
|
+
* ASCII matched with ASCII word boundaries, so it finds what Node's Latin-1 decoding, the
|
|
97
|
+
* workshop's, finds, without reaching for `Buffer`.
|
|
98
|
+
*/
|
|
99
|
+
const ONE_CHARACTER_PER_BYTE = new TextDecoder("latin1");
|
|
100
|
+
/**
|
|
101
|
+
* The texts a file's bytes are searched in. Every key format is ASCII, so the bytes are read one
|
|
102
|
+
* character per byte, which keeps every ASCII run of them whatever the file's encoding: UTF-8,
|
|
103
|
+
* Latin-1, cp1252, or a binary file with a key inside it. A file holding NUL bytes is searched
|
|
104
|
+
* once more with them removed, which is how an ASCII key reads in UTF-16, with or without its
|
|
105
|
+
* byte order mark, and in UTF-32.
|
|
106
|
+
*/
|
|
107
|
+
function searchableTexts(bytes) {
|
|
108
|
+
const text = ONE_CHARACTER_PER_BYTE.decode(bytes);
|
|
109
|
+
return text.includes("\0") ? [text, text.replaceAll("\0", "")] : [text];
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* The files of a tree the guard finds, in the order given. A file whose name is a secret file's
|
|
113
|
+
* is found on the name alone, unless its rule's `unless` says its bytes are something else; every
|
|
114
|
+
* other file, text in any encoding or binary, is searched for every key format in the texts
|
|
115
|
+
* {@link searchableTexts} reads from its bytes.
|
|
116
|
+
*/
|
|
117
|
+
export function secretFindings(files) {
|
|
118
|
+
const findings = [];
|
|
119
|
+
for (const file of files) {
|
|
120
|
+
const name = file.path.slice(file.path.lastIndexOf("/") + 1);
|
|
121
|
+
const byName = SECRET_NAMES.find((rule) => rule.pattern.test(name) && rule.unless?.(file.bytes) !== true);
|
|
122
|
+
if (byName !== undefined) {
|
|
123
|
+
findings.push({ path: file.path, reason: `it is named like ${byName.reason}` });
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
const texts = searchableTexts(file.bytes);
|
|
127
|
+
const held = KEY_FORMATS.filter((format) => texts.some((text) => format.pattern.test(text))).map((format) => format.reason);
|
|
128
|
+
if (held.length > 0) {
|
|
129
|
+
findings.push({ path: file.path, reason: `it holds ${[...new Set(held)].join(" and ")}` });
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return findings;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=secret-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-guard.js","sourceRoot":"","sources":["../../src/hooks/secret-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,8 +20,10 @@ export interface ValidateStageOptions {
|
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* Run the networked validate stage on `filePath`. Every no-verdict condition maps to
|
|
23
|
-
* `unavailable` — no API key, a tree the gatherer
|
|
24
|
-
* of the client — so a machine consumer branches on the structured verdict, never on
|
|
25
|
-
* and the lint and format verdicts the hook already applied stand.
|
|
23
|
+
* `unavailable` — no API key, a tree the gatherer cannot list whole, the deadline running out, any
|
|
24
|
+
* failure of the client — so a machine consumer branches on the structured verdict, never on
|
|
25
|
+
* transport, and the lint and format verdicts the hook already applied stand. A bundle or the
|
|
26
|
+
* manifest that looks like a secret is `refused`, with nothing sent, and a verdict names the files
|
|
27
|
+
* of the tree the gatherer kept home as `withheld`.
|
|
26
28
|
*/
|
|
27
29
|
export declare function runValidateStage(filePath: string, options?: ValidateStageOptions): Promise<ValidateStage>;
|
|
@@ -13,9 +13,11 @@ import { createHookClient } from "./validate-client.js";
|
|
|
13
13
|
export const VALIDATE_TIMEOUT_MS = 10_000;
|
|
14
14
|
/**
|
|
15
15
|
* Run the networked validate stage on `filePath`. Every no-verdict condition maps to
|
|
16
|
-
* `unavailable` — no API key, a tree the gatherer
|
|
17
|
-
* of the client — so a machine consumer branches on the structured verdict, never on
|
|
18
|
-
* and the lint and format verdicts the hook already applied stand.
|
|
16
|
+
* `unavailable` — no API key, a tree the gatherer cannot list whole, the deadline running out, any
|
|
17
|
+
* failure of the client — so a machine consumer branches on the structured verdict, never on
|
|
18
|
+
* transport, and the lint and format verdicts the hook already applied stand. A bundle or the
|
|
19
|
+
* manifest that looks like a secret is `refused`, with nothing sent, and a verdict names the files
|
|
20
|
+
* of the tree the gatherer kept home as `withheld`.
|
|
19
21
|
*/
|
|
20
22
|
export async function runValidateStage(filePath, options = {}) {
|
|
21
23
|
if (options.client === undefined && !process.env.PIPELEX_API_KEY) {
|
|
@@ -25,11 +27,16 @@ export async function runValidateStage(filePath, options = {}) {
|
|
|
25
27
|
// validation makes, each stopped in flight once it fires, so nothing keeps running after the
|
|
26
28
|
// hook has given up on it.
|
|
27
29
|
const deadline = AbortSignal.timeout(options.timeoutMs ?? VALIDATE_TIMEOUT_MS);
|
|
28
|
-
const gathered = await gatherMethodTree(filePath);
|
|
29
|
-
if (!gathered.ok) {
|
|
30
|
-
return { status: "unavailable" };
|
|
31
|
-
}
|
|
32
30
|
try {
|
|
31
|
+
// Inside the try: a gather that throws fails this stage open, as any other no-verdict
|
|
32
|
+
// condition does, rather than rejecting the hook and losing the other files' outcomes.
|
|
33
|
+
const gathered = await gatherMethodTree(filePath);
|
|
34
|
+
if (!gathered.ok) {
|
|
35
|
+
return gathered.reason === "secret"
|
|
36
|
+
? { status: "refused", root: gathered.root, withheld: gathered.withheld }
|
|
37
|
+
: { status: "unavailable" };
|
|
38
|
+
}
|
|
39
|
+
const withheld = gathered.withheld;
|
|
33
40
|
const client = options.client ?? createHookClient();
|
|
34
41
|
const result = await client.validate({ tree: gathered.tree }, true, { signal: deadline });
|
|
35
42
|
if (result.is_valid === true) {
|
|
@@ -38,6 +45,7 @@ export async function runValidateStage(filePath, options = {}) {
|
|
|
38
45
|
pendingSignatures: Array.isArray(result.pending_signatures)
|
|
39
46
|
? result.pending_signatures
|
|
40
47
|
: [],
|
|
48
|
+
withheld,
|
|
41
49
|
};
|
|
42
50
|
}
|
|
43
51
|
if (result.is_valid === false) {
|
|
@@ -46,6 +54,7 @@ export async function runValidateStage(filePath, options = {}) {
|
|
|
46
54
|
message: result.message,
|
|
47
55
|
validationErrors: Array.isArray(result.validation_errors) ? result.validation_errors : [],
|
|
48
56
|
renderedMarkdown: result.rendered_markdown,
|
|
57
|
+
withheld,
|
|
49
58
|
};
|
|
50
59
|
}
|
|
51
60
|
return { status: "unavailable" }; // no discriminant — no verdict
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-stage.js","sourceRoot":"","sources":["../../src/hooks/validate-stage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAU1C
|
|
1
|
+
{"version":3,"file":"validate-stage.js","sourceRoot":"","sources":["../../src/hooks/validate-stage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAU1C;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,UAAgC,EAAE;IAElC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QACjE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACnC,CAAC;IACD,qFAAqF;IACrF,6FAA6F;IAC7F,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,mBAAmB,CAAC,CAAC;IAC/E,IAAI,CAAC;QACH,sFAAsF;QACtF,uFAAuF;QACvF,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ;gBACjC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;gBACzE,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QAChC,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1F,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC;oBACzD,CAAC,CAAC,MAAM,CAAC,kBAAkB;oBAC3B,CAAC,CAAC,EAAE;gBACN,QAAQ;aACT,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;gBACzF,gBAAgB,EAAE,MAAM,CAAC,iBAAiB;gBAC1C,QAAQ;aACT,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,+BAA+B;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACnC,CAAC;AACH,CAAC"}
|
package/dist/method-trees.d.ts
CHANGED
|
@@ -7,16 +7,18 @@
|
|
|
7
7
|
*
|
|
8
8
|
* The wire types (`MethodTreeSource`, `BlobRef`, `MissingBlob` and the rest) are the standard's,
|
|
9
9
|
* imported from `mthds/protocol`. A directory is listed by `mthds`'s `listMethodTree`, the
|
|
10
|
-
* standard's lister with its membership rule, which
|
|
11
|
-
* directory is given, so the SDK's static
|
|
12
|
-
* inline and by hash follows `mthds`'s
|
|
13
|
-
*
|
|
14
|
-
*
|
|
10
|
+
* standard's lister with its membership rule, which the Node host (`node-host.ts`) loads when a
|
|
11
|
+
* directory is given, so the SDK's graph, static and dynamic, keeps no Node built-in for a bundler
|
|
12
|
+
* building for the browser to follow. The choice between inline and by hash follows `mthds`'s
|
|
13
|
+
* `MthdsApiClient` rule exactly, but its helpers are not exported on a subpath free of Node
|
|
14
|
+
* built-ins, so this module carries its own copy of them: the same threshold, the same weighing of
|
|
15
|
+
* the inline map, the same text-or-Base64 choice per file.
|
|
15
16
|
* SHA-256 is Web Crypto's, and Base64 is written here. Only `writeMethodTreeTo` and
|
|
16
|
-
* `listDirectoryTree` need Node, which each
|
|
17
|
+
* `listDirectoryTree` need Node, which each gets from the Node host when called.
|
|
17
18
|
*/
|
|
18
19
|
import type { BlobRef, FileEntry, MethodFiles, MethodTreeSource, MethodTreeSourceFile, MissingBlob } from "mthds/protocol";
|
|
19
20
|
import { RequestArgumentError, type MethodFileTransferCode } from "./errors.js";
|
|
21
|
+
import { type TreeLister } from "./node-host.js";
|
|
20
22
|
import type { SavedMethodFile } from "./product-models.js";
|
|
21
23
|
/**
|
|
22
24
|
* A method's tree, given in exactly one of four forms. Every route that takes a method's tree
|
|
@@ -251,11 +253,19 @@ export interface ListedMethodTree extends MethodTreeSource {
|
|
|
251
253
|
/** The absolute path of the root, or `null` for the one-file tree of a `.mthds` file alone. */
|
|
252
254
|
readonly root: string | null;
|
|
253
255
|
}
|
|
256
|
+
/**
|
|
257
|
+
* The `mthds` package's tree lister, to list `directory` for `call`, loaded through the Node host;
|
|
258
|
+
* where the host could not be had, outside Node or inside it, a `RequestArgumentError` naming
|
|
259
|
+
* `call` and saying why. The client asks for it before the version handshake of a call given a
|
|
260
|
+
* `directory`, so that refusal comes before any request.
|
|
261
|
+
*/
|
|
262
|
+
export declare function treeListerFor(directory: string, call: string): Promise<TreeLister>;
|
|
254
263
|
/**
|
|
255
264
|
* The tree of the method directory `directory`, listed by the `mthds` package's `listMethodTree`
|
|
256
265
|
* under the MTHDS standard's membership rule and Manifest Discovery, stopping at the first of
|
|
257
266
|
* `limits` it breaches, before any file is hashed. A run's inputs file is never in it. Node only:
|
|
258
|
-
* `mthds`'s root entry, which reads the file system, is loaded by this call
|
|
267
|
+
* `mthds`'s root entry, which reads the file system, is loaded through the Node host by this call
|
|
268
|
+
* alone, and where the host could not be had the call is refused as `treeListerFor` refuses it.
|
|
259
269
|
*
|
|
260
270
|
* Throws `RequestArgumentError` naming `call` when the directory cannot be listed as a tree, the
|
|
261
271
|
* `mthds` package's `MethodTreeError` as its `cause` with its `code` (`not_found`,
|
|
@@ -310,7 +320,8 @@ export declare function uploadBlob(blob: MissingBlob, bytes: Uint8Array, options
|
|
|
310
320
|
export declare function methodFileTransferCodeOfStatus(status: number): MethodFileTransferCode;
|
|
311
321
|
/**
|
|
312
322
|
* Write a saved tree to disk, each file of `files` at its tree path under `destination`; see
|
|
313
|
-
* `PipelexApiClient.writeMethodTree`. Node only: the file system
|
|
323
|
+
* `PipelexApiClient.writeMethodTree`. Node only: the file system comes from the Node host when it
|
|
324
|
+
* runs, and outside Node the call is refused with `RequestArgumentError` before any download.
|
|
314
325
|
*/
|
|
315
326
|
export declare function writeMethodTreeTo(files: readonly SavedMethodFile[], destination: string, options: {
|
|
316
327
|
timeoutMs: number;
|
package/dist/method-trees.js
CHANGED
|
@@ -7,17 +7,19 @@
|
|
|
7
7
|
*
|
|
8
8
|
* The wire types (`MethodTreeSource`, `BlobRef`, `MissingBlob` and the rest) are the standard's,
|
|
9
9
|
* imported from `mthds/protocol`. A directory is listed by `mthds`'s `listMethodTree`, the
|
|
10
|
-
* standard's lister with its membership rule, which
|
|
11
|
-
* directory is given, so the SDK's static
|
|
12
|
-
* inline and by hash follows `mthds`'s
|
|
13
|
-
*
|
|
14
|
-
*
|
|
10
|
+
* standard's lister with its membership rule, which the Node host (`node-host.ts`) loads when a
|
|
11
|
+
* directory is given, so the SDK's graph, static and dynamic, keeps no Node built-in for a bundler
|
|
12
|
+
* building for the browser to follow. The choice between inline and by hash follows `mthds`'s
|
|
13
|
+
* `MthdsApiClient` rule exactly, but its helpers are not exported on a subpath free of Node
|
|
14
|
+
* built-ins, so this module carries its own copy of them: the same threshold, the same weighing of
|
|
15
|
+
* the inline map, the same text-or-Base64 choice per file.
|
|
15
16
|
* SHA-256 is Web Crypto's, and Base64 is written here. Only `writeMethodTreeTo` and
|
|
16
|
-
* `listDirectoryTree` need Node, which each
|
|
17
|
+
* `listDirectoryTree` need Node, which each gets from the Node host when called.
|
|
17
18
|
*/
|
|
18
19
|
import { parseJsonBody, readProblemBody } from "mthds/protocol";
|
|
19
20
|
import { fallbackVerdict } from "./error-verdicts.js";
|
|
20
21
|
import { MethodFileTransferError, RequestArgumentError, } from "./errors.js";
|
|
22
|
+
import { absenceCause, loadNodeHost } from "./node-host.js";
|
|
21
23
|
import { throwIfAborted } from "./runs.js";
|
|
22
24
|
/**
|
|
23
25
|
* What keeps `value` from being a listed tree as far as the client reads one before any request,
|
|
@@ -349,11 +351,28 @@ export async function contentsTreeSource(contents, call, sending) {
|
|
|
349
351
|
},
|
|
350
352
|
};
|
|
351
353
|
}
|
|
354
|
+
/**
|
|
355
|
+
* The `mthds` package's tree lister, to list `directory` for `call`, loaded through the Node host;
|
|
356
|
+
* where the host could not be had, outside Node or inside it, a `RequestArgumentError` naming
|
|
357
|
+
* `call` and saying why. The client asks for it before the version handshake of a call given a
|
|
358
|
+
* `directory`, so that refusal comes before any request.
|
|
359
|
+
*/
|
|
360
|
+
export async function treeListerFor(directory, call) {
|
|
361
|
+
const loaded = await loadNodeHost();
|
|
362
|
+
if (loaded.host === null) {
|
|
363
|
+
throw new RequestArgumentError(loaded.reason === null
|
|
364
|
+
? `${call}() got a directory, which only Node can list. In the browser or an edge ` +
|
|
365
|
+
"runtime, give the method's tree as contents, tree or files instead."
|
|
366
|
+
: `${call}() cannot list the directory '${directory}': ${loaded.reason}`, absenceCause(loaded));
|
|
367
|
+
}
|
|
368
|
+
return loaded.host.loadTreeLister();
|
|
369
|
+
}
|
|
352
370
|
/**
|
|
353
371
|
* The tree of the method directory `directory`, listed by the `mthds` package's `listMethodTree`
|
|
354
372
|
* under the MTHDS standard's membership rule and Manifest Discovery, stopping at the first of
|
|
355
373
|
* `limits` it breaches, before any file is hashed. A run's inputs file is never in it. Node only:
|
|
356
|
-
* `mthds`'s root entry, which reads the file system, is loaded by this call
|
|
374
|
+
* `mthds`'s root entry, which reads the file system, is loaded through the Node host by this call
|
|
375
|
+
* alone, and where the host could not be had the call is refused as `treeListerFor` refuses it.
|
|
357
376
|
*
|
|
358
377
|
* Throws `RequestArgumentError` naming `call` when the directory cannot be listed as a tree, the
|
|
359
378
|
* `mthds` package's `MethodTreeError` as its `cause` with its `code` (`not_found`,
|
|
@@ -361,7 +380,7 @@ export async function contentsTreeSource(contents, call, sending) {
|
|
|
361
380
|
* symbolic link or a special file in the tree, a tree past one of `limits`, a tree holding no file.
|
|
362
381
|
*/
|
|
363
382
|
export async function listDirectoryTree(directory, limits, call) {
|
|
364
|
-
const { listMethodTree, MethodTreeError } = await
|
|
383
|
+
const { listMethodTree, MethodTreeError } = await treeListerFor(directory, call);
|
|
365
384
|
try {
|
|
366
385
|
return await listMethodTree(directory, { limits });
|
|
367
386
|
}
|
|
@@ -510,12 +529,19 @@ export function methodFileTransferCodeOfStatus(status) {
|
|
|
510
529
|
}
|
|
511
530
|
/**
|
|
512
531
|
* Write a saved tree to disk, each file of `files` at its tree path under `destination`; see
|
|
513
|
-
* `PipelexApiClient.writeMethodTree`. Node only: the file system
|
|
532
|
+
* `PipelexApiClient.writeMethodTree`. Node only: the file system comes from the Node host when it
|
|
533
|
+
* runs, and outside Node the call is refused with `RequestArgumentError` before any download.
|
|
514
534
|
*/
|
|
515
535
|
export async function writeMethodTreeTo(files, destination, options) {
|
|
516
536
|
refuseUnwritableListing(files);
|
|
517
|
-
const
|
|
518
|
-
|
|
537
|
+
const loaded = await loadNodeHost();
|
|
538
|
+
if (loaded.host === null) {
|
|
539
|
+
throw new RequestArgumentError(loaded.reason === null
|
|
540
|
+
? "writeMethodTree() writes to a file system, which only Node has. In the browser or an " +
|
|
541
|
+
"edge runtime, download each file of the listing from its url instead."
|
|
542
|
+
: `writeMethodTree() cannot write to the file system: ${loaded.reason}`, { verdict: { errorDomain: "config", retryable: false }, ...absenceCause(loaded) });
|
|
543
|
+
}
|
|
544
|
+
const { fs, path } = loaded.host;
|
|
519
545
|
const target = path.resolve(destination);
|
|
520
546
|
await refuseOccupiedDestination(fs, target);
|
|
521
547
|
const parent = path.dirname(target);
|