@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.
Files changed (49) hide show
  1. package/README.md +1 -1
  2. package/dist/artifacts.d.ts +4 -3
  3. package/dist/artifacts.js +20 -14
  4. package/dist/artifacts.js.map +1 -1
  5. package/dist/cli/script.d.ts +1 -1
  6. package/dist/client.d.ts +6 -4
  7. package/dist/client.js +12 -5
  8. package/dist/client.js.map +1 -1
  9. package/dist/codegen-check.d.ts +2 -3
  10. package/dist/codegen-check.js +2 -3
  11. package/dist/codegen-check.js.map +1 -1
  12. package/dist/hooks/bundle-gather.d.ts +29 -10
  13. package/dist/hooks/bundle-gather.js +91 -14
  14. package/dist/hooks/bundle-gather.js.map +1 -1
  15. package/dist/hooks/check-core.d.ts +70 -6
  16. package/dist/hooks/check-core.js +188 -29
  17. package/dist/hooks/check-core.js.map +1 -1
  18. package/dist/hooks/claude-mthds-check.d.ts +12 -0
  19. package/dist/hooks/claude-mthds-check.js +12 -0
  20. package/dist/hooks/claude-mthds-check.js.map +1 -1
  21. package/dist/hooks/secret-guard.d.ts +38 -0
  22. package/dist/hooks/secret-guard.js +134 -0
  23. package/dist/hooks/secret-guard.js.map +1 -0
  24. package/dist/hooks/validate-stage.d.ts +5 -3
  25. package/dist/hooks/validate-stage.js +16 -7
  26. package/dist/hooks/validate-stage.js.map +1 -1
  27. package/dist/method-trees.d.ts +19 -8
  28. package/dist/method-trees.js +37 -11
  29. package/dist/method-trees.js.map +1 -1
  30. package/dist/node-host/node.d.ts +33 -0
  31. package/dist/node-host/node.js +27 -0
  32. package/dist/node-host/node.js.map +1 -0
  33. package/dist/node-host/unavailable.d.ts +8 -0
  34. package/dist/node-host/unavailable.js +8 -0
  35. package/dist/node-host/unavailable.js.map +1 -0
  36. package/dist/node-host.d.ts +53 -0
  37. package/dist/node-host.js +72 -0
  38. package/dist/node-host.js.map +1 -0
  39. package/dist/upload.d.ts +4 -9
  40. package/dist/upload.js +13 -16
  41. package/dist/upload.js.map +1 -1
  42. package/dist/version.d.ts +1 -1
  43. package/dist/version.js +1 -1
  44. package/docs/architecture.md +29 -5
  45. package/docs/crate-routes.md +1 -1
  46. package/docs/hook-bundle.md +27 -1
  47. package/docs/input-preparation.md +2 -2
  48. package/docs/method-trees.md +2 -2
  49. 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":"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"}
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":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAUH,mFAAmF;AACnF,SAAS,YAAY,CAAC,KAAiB;IACrC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAC1F,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,YAAY,GAIZ;IACJ;QACE,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,+DAA+D;QACvE,MAAM,EAAE,YAAY;KACrB;IACD,EAAE,OAAO,EAAE,4BAA4B,EAAE,MAAM,EAAE,4BAA4B,EAAE;IAC/E,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,qBAAqB,EAAE;IACrD,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,6BAA6B,EAAE;IAC9D;QACE,OAAO,EAAE,yCAAyC;QAClD,MAAM,EAAE,mCAAmC;KAC5C;IACD,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,EAAE,oBAAoB,EAAE;IACpE,EAAE,OAAO,EAAE,0BAA0B,EAAE,MAAM,EAAE,+BAA+B,EAAE;CACjF,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,GAAmD;IAClE;QACE,OAAO,EACL,kHAAkH;QACpH,MAAM,EAAE,2BAA2B;KACpC;IACD,EAAE,OAAO,EAAE,+BAA+B,EAAE,MAAM,EAAE,sBAAsB,EAAE;IAC5E,EAAE,OAAO,EAAE,gCAAgC,EAAE,MAAM,EAAE,gBAAgB,EAAE;IACvE,EAAE,OAAO,EAAE,gCAAgC,EAAE,MAAM,EAAE,6BAA6B,EAAE;IACpF,EAAE,OAAO,EAAE,4BAA4B,EAAE,MAAM,EAAE,gBAAgB,EAAE;IACnE,EAAE,OAAO,EAAE,gCAAgC,EAAE,MAAM,EAAE,eAAe,EAAE;IACtE,EAAE,OAAO,EAAE,mCAAmC,EAAE,MAAM,EAAE,mBAAmB,EAAE;IAC7E,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,EAAE,kBAAkB,EAAE;IAClE,EAAE,OAAO,EAAE,6BAA6B,EAAE,MAAM,EAAE,sBAAsB,EAAE;IAC1E;QACE,OAAO,EAAE,gDAAgD;QACzD,MAAM,EAAE,mBAAmB;KAC5B;IACD,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,EAAE,4BAA4B,EAAE;IAC5E,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,EAAE,sBAAsB,EAAE;IACtE,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,EAAE,cAAc,EAAE;IAC9D,EAAE,OAAO,EAAE,6BAA6B,EAAE,MAAM,EAAE,mBAAmB,EAAE;CACxE,CAAC;AAEF;;;;;GAKG;AACH,MAAM,sBAAsB,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;AAEzD;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,KAAiB;IACxC,MAAM,IAAI,GAAG,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAoD;IAEpD,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAC9B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CACxE,CAAC;QACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,oBAAoB,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAChF,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CACzC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAChD,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -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 refuses, the deadline running out, any failure
24
- * of the client — so a machine consumer branches on the structured verdict, never on transport,
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 refuses, the deadline running out, any failure
17
- * of the client — so a machine consumer branches on the structured verdict, never on transport,
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;;;;;GAKG;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,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACnC,CAAC;IACD,IAAI,CAAC;QACH,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;aACP,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;aAC3C,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"}
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"}
@@ -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 this module loads by a dynamic import when a
11
- * directory is given, so the SDK's static import graph keeps no Node built-in. The choice between
12
- * inline and by hash follows `mthds`'s `MthdsApiClient` rule exactly, but its helpers are not
13
- * exported on a subpath free of Node built-ins, so this module carries its own copy of them: the
14
- * same threshold, the same weighing of the inline map, the same text-or-Base64 choice per file.
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 loads when called.
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 alone.
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 modules are loaded when it runs.
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;
@@ -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 this module loads by a dynamic import when a
11
- * directory is given, so the SDK's static import graph keeps no Node built-in. The choice between
12
- * inline and by hash follows `mthds`'s `MthdsApiClient` rule exactly, but its helpers are not
13
- * exported on a subpath free of Node built-ins, so this module carries its own copy of them: the
14
- * same threshold, the same weighing of the inline map, the same text-or-Base64 choice per file.
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 loads when called.
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 alone.
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 import("mthds");
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 modules are loaded when it runs.
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 fs = await import("node:fs/promises");
518
- const path = await import("node:path");
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);