@fraction12/deepclean 0.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/LICENSE +21 -0
  3. package/README.md +171 -0
  4. package/dist/args.d.ts +9 -0
  5. package/dist/args.js +105 -0
  6. package/dist/args.js.map +1 -0
  7. package/dist/candidates.d.ts +6 -0
  8. package/dist/candidates.js +319 -0
  9. package/dist/candidates.js.map +1 -0
  10. package/dist/cli.d.ts +2 -0
  11. package/dist/cli.js +521 -0
  12. package/dist/cli.js.map +1 -0
  13. package/dist/clusters.d.ts +7 -0
  14. package/dist/clusters.js +399 -0
  15. package/dist/clusters.js.map +1 -0
  16. package/dist/defaults.d.ts +5 -0
  17. package/dist/defaults.js +130 -0
  18. package/dist/defaults.js.map +1 -0
  19. package/dist/discovery.d.ts +10 -0
  20. package/dist/discovery.js +48 -0
  21. package/dist/discovery.js.map +1 -0
  22. package/dist/evidence.d.ts +16 -0
  23. package/dist/evidence.js +853 -0
  24. package/dist/evidence.js.map +1 -0
  25. package/dist/ids.d.ts +4 -0
  26. package/dist/ids.js +16 -0
  27. package/dist/ids.js.map +1 -0
  28. package/dist/json.d.ts +3 -0
  29. package/dist/json.js +12 -0
  30. package/dist/json.js.map +1 -0
  31. package/dist/plans.d.ts +3 -0
  32. package/dist/plans.js +171 -0
  33. package/dist/plans.js.map +1 -0
  34. package/dist/reporting.d.ts +13 -0
  35. package/dist/reporting.js +227 -0
  36. package/dist/reporting.js.map +1 -0
  37. package/dist/reviewers.d.ts +22 -0
  38. package/dist/reviewers.js +461 -0
  39. package/dist/reviewers.js.map +1 -0
  40. package/dist/state.d.ts +41 -0
  41. package/dist/state.js +211 -0
  42. package/dist/state.js.map +1 -0
  43. package/dist/synthesis.d.ts +17 -0
  44. package/dist/synthesis.js +396 -0
  45. package/dist/synthesis.js.map +1 -0
  46. package/dist/types.d.ts +389 -0
  47. package/dist/types.js +236 -0
  48. package/dist/types.js.map +1 -0
  49. package/dist/verification.d.ts +11 -0
  50. package/dist/verification.js +111 -0
  51. package/dist/verification.js.map +1 -0
  52. package/docs/privacy-and-trust.md +33 -0
  53. package/docs/public-readiness.md +19 -0
  54. package/docs/reviewer-references.md +33 -0
  55. package/docs/troubleshooting.md +80 -0
  56. package/package.json +55 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candidates.js","sourceRoot":"","sources":["../src/candidates.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,GACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,gBAAgB,EAA4B,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EACL,aAAa,GAId,MAAM,YAAY,CAAC;AAIpB,MAAM,aAAa,GAAG;IACpB,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;CACG,CAAC;AAEX,MAAM,UAAU,sBAAsB,CACpC,KAAa,EACb,QAA0B,EAC1B,SAAiB,EACjB,IAAoB,EACpB,mBAAyC;IAEzC,MAAM,cAAc,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAsB,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEjD,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;QACpC,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC;YAC1E,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QACzG,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3B,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACrC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,OAAO,oBAAoB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,UAA6B;IAC1D,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC5E,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,MAAM,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,eAAe,CAAC;QACzB,CAAC;QACD,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAClE,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,MAAM,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACtF,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,eAAe,CAAC;QACzB,CAAC;QACD,OAAO,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,0BAA0B,CACjC,QAAwB,EACxB,UAA+B,EAC/B,cAAmC,EACnC,IAAoB;IAEpB,MAAM,SAAS,GAAG,uBAAuB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/D,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC;QACjF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,uBAAuB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QACrC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY,EAAE,IAAoB;IACjE,MAAM,UAAU,GAAG,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,mBAAmB;YACtB,OAAO,EAAE,CAAC;QACZ,KAAK,oBAAoB;YACvB,OAAO,EAAE,CAAC;QACZ,KAAK,gBAAgB;YACnB,OAAO,EAAE,CAAC;QACZ,KAAK,YAAY;YACf,OAAO,EAAE,CAAC;QACZ,KAAK,UAAU;YACb,OAAO,EAAE,CAAC;QACZ,KAAK,eAAe;YAClB,OAAO,EAAE,CAAC;QACZ,KAAK,yBAAyB;YAC5B,OAAO,EAAE,CAAC;QACZ;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY,EAAE,IAAoB;IACjE,MAAM,UAAU,GAAG,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,mBAAmB;YACtB,OAAO,CAAC,CAAC;QACX,KAAK,oBAAoB,CAAC;QAC1B,KAAK,gBAAgB,CAAC;QACtB,KAAK,YAAY,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,CAAC,CAAC;QACX;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,UAA6B;IAChE,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3C,GAAG,SAAS;QACZ,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC;KACvB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAwB,EACxB,KAAa,EACb,SAAiB,EACjB,KAAa,EACb,mBAAyC;IAEzC,MAAM,YAAY,GAAG,gBAAgB,CAAC,mBAAmB,IAAI;QAC3D,eAAe,EAAE,CAAC,UAAU,EAAE,mBAAmB,CAAC;QAClD,cAAc,EAAE,CAAC,UAAU,EAAE,mBAAmB,CAAC;QACjD,gBAAgB,EAAE,CAAC,UAAU,EAAE,mBAAmB,CAAC;QACnD,aAAa,EAAE,CAAC,UAAU,EAAE,mBAAmB,CAAC;KACjD,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG;QACX,aAAa;QACb,UAAU,EAAE,WAAoB;QAChC,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC;QACtB,KAAK;QACL,MAAM,EAAE,MAAe;QACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,UAAU,EAAE;YACV,MAAM,EAAE,gBAAyB;SAClC;QACD,SAAS;QACT,SAAS,EAAE,SAAS;KACrB,CAAC;IAEF,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,mBAAmB,CAAC;QACzB,KAAK,oBAAoB;YACvB,OAAO;gBACL,GAAG,IAAI;gBACP,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,QAAQ,EAAE,aAAa;gBACvB,QAAQ,EAAE,QAAQ,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBACtD,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;gBAChE,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,UAAU;gBAChB,YAAY,EAAE,kHAAkH;gBAChI,eAAe,EAAE,+HAA+H;gBAChJ,kBAAkB,EAAE,oJAAoJ;gBACxK,YAAY;aACb,CAAC;QACJ,KAAK,eAAe;YAClB,OAAO;gBACL,GAAG,IAAI;gBACP,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,QAAQ,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBACtD,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;gBAChE,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,UAAU;gBAChB,YAAY,EAAE,qJAAqJ;gBACnK,eAAe,EAAE,+GAA+G;gBAChI,kBAAkB,EAAE,yIAAyI;gBAC7J,YAAY;aACb,CAAC;QACJ,KAAK,oBAAoB;YACvB,OAAO;gBACL,GAAG,IAAI;gBACP,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,QAAQ,EAAE,cAAc;gBACxB,QAAQ,EAAE,QAAQ,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBACtD,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,MAAM,EAAE,eAAe;gBACvB,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,eAAe;gBACrB,YAAY,EAAE,oHAAoH;gBAClI,eAAe,EAAE,8HAA8H;gBAC/I,kBAAkB,EAAE,iIAAiI;gBACrJ,YAAY;aACb,CAAC;QACJ,KAAK,YAAY,CAAC;QAClB,KAAK,gBAAgB;YACnB,OAAO;gBACL,GAAG,IAAI;gBACP,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,QAAQ,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBACtD,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,QAAQ,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;gBAC3D,IAAI,EAAE,UAAU;gBAChB,YAAY,EAAE,gHAAgH;gBAC9H,eAAe,EAAE,8HAA8H;gBAC/I,kBAAkB,EAAE,wHAAwH;gBAC5I,YAAY;aACb,CAAC;QACJ,KAAK,UAAU;YACb,OAAO;gBACL,GAAG,IAAI;gBACP,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,QAAQ,EAAE,aAAa;gBACvB,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE,mGAAmG;gBACjH,eAAe,EAAE,uGAAuG;gBACxH,kBAAkB,EAAE,sIAAsI;gBAC1J,YAAY;aACb,CAAC;QACJ,KAAK,eAAe;YAClB,OAAO;gBACL,GAAG,IAAI;gBACP,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,QAAQ,EAAE,cAAc;gBACxB,QAAQ,EAAE,QAAQ,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBACtD,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,eAAe;gBACrB,YAAY,EAAE,4FAA4F;gBAC1G,eAAe,EAAE,yGAAyG;gBAC1H,kBAAkB,EAAE,wHAAwH;gBAC5I,YAAY;aACb,CAAC;QACJ,KAAK,yBAAyB;YAC5B,OAAO;gBACL,GAAG,IAAI;gBACP,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,UAAU;gBAChB,YAAY,EAAE,mHAAmH;gBACjI,eAAe,EAAE,mIAAmI;gBACpJ,kBAAkB,EAAE,uHAAuH;gBAC3I,YAAY;aACb,CAAC;QACJ;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,CAAiB,EAAE,CAAiB;IAC3D,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxE,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACtF,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,OAAO,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,mBAAmB;YACtB,OAAO,EAAE,CAAC;QACZ,KAAK,oBAAoB;YACvB,OAAO,EAAE,CAAC;QACZ,KAAK,gBAAgB;YACnB,OAAO,EAAE,CAAC;QACZ,KAAK,YAAY;YACf,OAAO,EAAE,CAAC;QACZ,KAAK,eAAe;YAClB,OAAO,EAAE,CAAC;QACZ,KAAK,UAAU;YACb,OAAO,EAAE,CAAC;QACZ,KAAK,yBAAyB;YAC5B,OAAO,EAAE,CAAC;QACZ;YACE,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,UAAyC;IAChE,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,CAAC,CAAC;QACX,KAAK,QAAQ;YACX,OAAO,CAAC,CAAC;QACX,KAAK,KAAK;YACR,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,MAAiC;IACpD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,eAAe;YAClB,OAAO,CAAC,CAAC;QACX,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC;QACX,KAAK,OAAO;YACV,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,SAA0B;IACjD,OAAO,SAAS,CAAC,UAAU,CAAC,MAAM,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,cAAc,CAAC,SAA0B;IAChD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IACpD,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export declare function main(argv: string[], cwd?: string): Promise<number>;
package/dist/cli.js ADDED
@@ -0,0 +1,521 @@
1
+ #!/usr/bin/env node
2
+ import { realpathSync } from "node:fs";
3
+ import { readFile } from "node:fs/promises";
4
+ import path from "node:path";
5
+ import { fileURLToPath } from "node:url";
6
+ import { parseArgs, flagBoolean, flagString } from "./args.js";
7
+ import { candidatesFromEvidence, rankCandidates, reassignCandidateIds } from "./candidates.js";
8
+ import { buildClusters, unclusteredCandidateIds } from "./clusters.js";
9
+ import { discoverSourceFiles } from "./discovery.js";
10
+ import { runEvidenceAdapters } from "./evidence.js";
11
+ import { fail, ok } from "./json.js";
12
+ import { buildCandidatePlan, buildClusterPlan } from "./plans.js";
13
+ import { buildHandoff, buildReportRecord, renderMarkdownReport, renderMarkdownReportWithClusters, } from "./reporting.js";
14
+ import { ensureState, latestRunId, readLatestCandidates, readLatestClusters, readLatestEvidence, resolveStatePaths, updateLatestCandidates, writeCandidates, writeClusters, writeEvidence, writeHandoff, writePlan, writeReport, writeRun, writeTriage, } from "./state.js";
15
+ import { candidateStatuses, schemaVersion, } from "./types.js";
16
+ import { timestampId } from "./ids.js";
17
+ import { synthesizeWithCodex } from "./synthesis.js";
18
+ import { inferVerificationProfile } from "./verification.js";
19
+ const commands = [
20
+ "init",
21
+ "scan",
22
+ "report",
23
+ "next",
24
+ "show",
25
+ "cluster",
26
+ "plan",
27
+ "triage",
28
+ "handoff",
29
+ "export",
30
+ ];
31
+ function printHelp() {
32
+ console.log(`deepclean: agent-first cleanup reports for working-but-sloppy codebases
33
+
34
+ Usage:
35
+ deepclean <command> [args] [flags]
36
+
37
+ Commands:
38
+ init Create or validate .deepclean state
39
+ scan Collect local evidence and generate candidates
40
+ --synthesize Run local Codex synthesis over evidence
41
+ --allow-source-in-model Include source samples in Codex prompt
42
+ --model <model> Override Codex model for synthesis
43
+ report Write and print a ranked report
44
+ next Show the highest-priority open candidate
45
+ show <candidate-or-theme> Show one candidate or cleanup theme with evidence
46
+ cluster [theme-id] Group related candidates into cleanup themes
47
+ plan <candidate-or-theme> Generate an agent-ready cleanup plan
48
+ triage <candidate-id> Update candidate status with --status and --note
49
+ handoff <candidate-id> Generate an agent-ready handoff packet
50
+ export <candidate-id> Alias for handoff
51
+
52
+ Global flags:
53
+ --json Emit JSON envelope
54
+ --plain Avoid styled output
55
+ --no-input Never prompt
56
+ --root <path> Target repository root
57
+ --state-dir <path> State directory, defaults to .deepclean
58
+ --config <path> Config file, defaults to .deepclean/config.json
59
+ --quiet Suppress human success output
60
+ --debug Include stack traces for unexpected errors
61
+ -h, --help Show help
62
+ --version Show version`);
63
+ }
64
+ export async function main(argv, cwd = process.cwd()) {
65
+ const parsed = parseArgs(argv);
66
+ const command = parsed.command;
67
+ const json = flagBoolean(parsed.flags, "json");
68
+ const quiet = flagBoolean(parsed.flags, "quiet");
69
+ const debug = flagBoolean(parsed.flags, "debug");
70
+ if (!command && flagBoolean(parsed.flags, "version")) {
71
+ console.log(await packageVersion());
72
+ return 0;
73
+ }
74
+ if (!command || command === "-h" || command === "--help" || flagBoolean(parsed.flags, "help") || flagBoolean(parsed.flags, "h")) {
75
+ printHelp();
76
+ return 0;
77
+ }
78
+ if (command === "--version" || command === "version") {
79
+ console.log(await packageVersion());
80
+ return 0;
81
+ }
82
+ if (!commands.includes(command)) {
83
+ emit(json, fail(command, "unknown_command", `Unknown command: ${command}`));
84
+ return 2;
85
+ }
86
+ const paths = resolveStatePaths({
87
+ cwd,
88
+ root: flagString(parsed.flags, "root"),
89
+ stateDir: flagString(parsed.flags, "state-dir"),
90
+ config: flagString(parsed.flags, "config"),
91
+ });
92
+ const context = { cwd, parsed, paths, json, quiet };
93
+ try {
94
+ switch (command) {
95
+ case "init":
96
+ return await initCommand(context);
97
+ case "scan":
98
+ return await scanCommand(context);
99
+ case "report":
100
+ return await reportCommand(context);
101
+ case "next":
102
+ return await nextCommand(context);
103
+ case "show":
104
+ return await showCommand(context);
105
+ case "cluster":
106
+ return await clusterCommand(context);
107
+ case "plan":
108
+ return await planCommand(context);
109
+ case "triage":
110
+ return await triageCommand(context);
111
+ case "handoff":
112
+ case "export":
113
+ return await handoffCommand(context);
114
+ }
115
+ emit(json, fail(command, "unknown_command", `Unknown command: ${command}`));
116
+ return 2;
117
+ }
118
+ catch (error) {
119
+ const message = error instanceof Error ? error.message : String(error);
120
+ emit(json, fail(command, "command_failed", debug && error instanceof Error && error.stack ? error.stack : message));
121
+ return 1;
122
+ }
123
+ }
124
+ async function initCommand(context) {
125
+ const config = await ensureState(context.paths);
126
+ const data = {
127
+ root: context.paths.root,
128
+ stateDir: context.paths.stateDir,
129
+ configPath: context.paths.configPath,
130
+ config,
131
+ };
132
+ emit(context.json, ok("init", data));
133
+ if (!context.json && !context.quiet) {
134
+ console.log(`Initialized Deepclean state at ${path.relative(context.paths.root, context.paths.stateDir) || context.paths.stateDir}`);
135
+ }
136
+ return 0;
137
+ }
138
+ async function scanCommand(context) {
139
+ const startedAt = new Date().toISOString();
140
+ const runId = timestampId("run");
141
+ const config = await ensureState(context.paths);
142
+ const verificationProfile = await inferVerificationProfile(context.paths.root);
143
+ const files = await discoverSourceFiles(context.paths.root, config.exclude);
144
+ const adapterResult = await runEvidenceAdapters(config.enabledAdapters, {
145
+ root: context.paths.root,
146
+ runId,
147
+ createdAt: startedAt,
148
+ files,
149
+ config,
150
+ });
151
+ const completedAt = new Date().toISOString();
152
+ const localCandidates = candidatesFromEvidence(runId, adapterResult.evidence, completedAt, config.candidateCaps, verificationProfile);
153
+ const synthesisRequested = flagBoolean(context.parsed.flags, "synthesize")
154
+ || config.reviewSynthesis.enabled;
155
+ const synthesisResult = synthesisRequested
156
+ ? await synthesizeWithCodex({
157
+ root: context.paths.root,
158
+ runId,
159
+ createdAt: completedAt,
160
+ evidence: adapterResult.evidence,
161
+ config,
162
+ existingCandidates: localCandidates,
163
+ includeSource: flagBoolean(context.parsed.flags, "allow-source-in-model")
164
+ || config.privacy.allowSourceInModel,
165
+ model: flagString(context.parsed.flags, "model"),
166
+ verificationProfile,
167
+ })
168
+ : { candidates: [], diagnostics: [] };
169
+ const diagnostics = [...adapterResult.diagnostics, ...synthesisResult.diagnostics];
170
+ const candidates = reassignCandidateIds(rankCandidates([
171
+ ...localCandidates,
172
+ ...synthesisResult.candidates,
173
+ ]));
174
+ const clusters = buildClusters(runId, candidates, adapterResult.evidence, completedAt, config.clusters);
175
+ await writeEvidence(context.paths, runId, adapterResult.evidence);
176
+ await writeCandidates(context.paths, runId, candidates);
177
+ await writeClusters(context.paths, runId, clusters);
178
+ await writeRun(context.paths, {
179
+ schemaVersion,
180
+ recordType: "run",
181
+ id: runId,
182
+ command: "scan",
183
+ root: context.paths.root,
184
+ startedAt,
185
+ completedAt,
186
+ evidenceCount: adapterResult.evidence.length,
187
+ candidateCount: candidates.length,
188
+ clusterCount: clusters.length,
189
+ synthesis: {
190
+ requested: synthesisRequested,
191
+ provider: synthesisRequested ? "codex" : undefined,
192
+ candidateCount: synthesisResult.candidates.length,
193
+ },
194
+ diagnostics,
195
+ });
196
+ const data = {
197
+ runId,
198
+ root: context.paths.root,
199
+ sourceFileCount: files.length,
200
+ evidenceCount: adapterResult.evidence.length,
201
+ candidateCount: candidates.length,
202
+ clusterCount: clusters.length,
203
+ synthesis: {
204
+ requested: synthesisRequested,
205
+ candidateCount: synthesisResult.candidates.length,
206
+ },
207
+ candidates,
208
+ clusters,
209
+ };
210
+ emit(context.json, ok("scan", data, diagnostics));
211
+ if (!context.json && !context.quiet) {
212
+ const synthesisText = synthesisRequested
213
+ ? `, ${synthesisResult.candidates.length} synthesized`
214
+ : "";
215
+ console.log(`Scan complete: ${adapterResult.evidence.length} evidence records, ${candidates.length} candidates, ${clusters.length} clusters${synthesisText}`);
216
+ printCandidateSummary(candidates);
217
+ }
218
+ return 0;
219
+ }
220
+ async function reportCommand(context) {
221
+ const { candidates, evidence, runId } = await latestState(context.paths);
222
+ const config = await ensureState(context.paths);
223
+ const ranked = rankCandidates(candidates);
224
+ const clusters = buildClusters(runId, ranked, evidence, new Date().toISOString(), config.clusters);
225
+ await writeClusters(context.paths, runId, clusters);
226
+ const report = buildReportRecord(runId, ranked, clusters);
227
+ const markdown = clusters.length > 0
228
+ ? renderMarkdownReportWithClusters(ranked, clusters)
229
+ : renderMarkdownReport(ranked);
230
+ const paths = await writeReport(context.paths, report, markdown);
231
+ emit(context.json, ok("report", {
232
+ report,
233
+ paths,
234
+ reportPath: paths.markdownPath,
235
+ markdownPath: paths.markdownPath,
236
+ jsonPath: paths.jsonPath,
237
+ candidates: ranked,
238
+ clusters,
239
+ evidenceCount: evidence.length,
240
+ }));
241
+ if (!context.json && !context.quiet) {
242
+ console.log(markdown.trimEnd());
243
+ console.log("");
244
+ console.log(`Report written to ${path.relative(context.paths.root, paths.markdownPath)}`);
245
+ }
246
+ return 0;
247
+ }
248
+ async function nextCommand(context) {
249
+ const candidates = rankCandidates(await readLatestCandidates(context.paths));
250
+ const candidate = candidates.find((item) => item.status === "open");
251
+ emit(context.json, ok("next", { candidate: candidate ?? null }));
252
+ if (!context.json && !context.quiet) {
253
+ if (!candidate) {
254
+ console.log("No open candidates.");
255
+ }
256
+ else {
257
+ printCandidate(candidate);
258
+ }
259
+ }
260
+ return 0;
261
+ }
262
+ async function showCommand(context) {
263
+ const id = requireCandidateId(context);
264
+ const { candidates, evidence, clusters, runId } = await latestState(context.paths);
265
+ const config = await ensureState(context.paths);
266
+ const availableClusters = clusters.length > 0 ? clusters : buildClusters(runId, candidates, evidence, new Date().toISOString(), config.clusters);
267
+ const cluster = availableClusters.find((item) => item.id === id);
268
+ if (cluster) {
269
+ const clusterCandidates = candidates.filter((item) => cluster.candidateIds.includes(item.id));
270
+ const supportingEvidence = evidenceForIds(evidence, cluster.evidenceIds);
271
+ emit(context.json, ok("show", { cluster, candidates: clusterCandidates, evidence: supportingEvidence }));
272
+ if (!context.json && !context.quiet) {
273
+ printCluster(cluster);
274
+ for (const candidate of clusterCandidates) {
275
+ console.log(` candidate ${candidate.id}: ${candidate.title}`);
276
+ }
277
+ }
278
+ return 0;
279
+ }
280
+ const candidate = candidates.find((item) => item.id === id);
281
+ if (!candidate) {
282
+ emit(context.json, fail("show", "candidate_not_found", `Candidate not found: ${id}`));
283
+ return 1;
284
+ }
285
+ const supportingEvidence = evidenceForIds(evidence, candidate.evidenceIds);
286
+ emit(context.json, ok("show", { candidate, evidence: supportingEvidence }));
287
+ if (!context.json && !context.quiet) {
288
+ printCandidate(candidate);
289
+ for (const record of supportingEvidence) {
290
+ console.log(` evidence ${record.id}: ${record.summary}`);
291
+ }
292
+ }
293
+ return 0;
294
+ }
295
+ async function clusterCommand(context) {
296
+ const id = context.parsed.positional[0];
297
+ const { candidates, evidence, runId } = await latestState(context.paths);
298
+ const config = await ensureState(context.paths);
299
+ const ranked = rankCandidates(candidates);
300
+ const clusters = buildClusters(runId, ranked, evidence, new Date().toISOString(), config.clusters);
301
+ const clustersPath = await writeClusters(context.paths, runId, clusters);
302
+ if (id) {
303
+ const cluster = clusters.find((item) => item.id === id);
304
+ if (!cluster) {
305
+ emit(context.json, fail("cluster", "theme_not_found", `Theme not found: ${id}`));
306
+ return 1;
307
+ }
308
+ const clusterCandidates = ranked.filter((item) => cluster.candidateIds.includes(item.id));
309
+ const supportingEvidence = evidence.filter((item) => cluster.evidenceIds.includes(item.id));
310
+ emit(context.json, ok("cluster", { cluster, candidates: clusterCandidates, evidence: supportingEvidence, path: clustersPath }));
311
+ if (!context.json && !context.quiet) {
312
+ printCluster(cluster);
313
+ for (const candidate of clusterCandidates) {
314
+ console.log(` ${candidate.id} ${candidate.title}`);
315
+ }
316
+ }
317
+ return 0;
318
+ }
319
+ const unclustered = unclusteredCandidateIds(ranked, clusters);
320
+ emit(context.json, ok("cluster", { clusters, unclusteredCandidateIds: unclustered, path: clustersPath }));
321
+ if (!context.json && !context.quiet) {
322
+ if (clusters.length === 0) {
323
+ console.log("No related cleanup themes found.");
324
+ }
325
+ else {
326
+ for (const cluster of clusters) {
327
+ printCluster(cluster);
328
+ }
329
+ if (unclustered.length > 0) {
330
+ console.log(`Candidates outside cleanup themes: ${unclustered.join(", ")}`);
331
+ }
332
+ }
333
+ }
334
+ return 0;
335
+ }
336
+ async function planCommand(context) {
337
+ const id = requireCandidateId(context);
338
+ const { candidates, evidence, clusters, runId } = await latestState(context.paths);
339
+ const config = await ensureState(context.paths);
340
+ const availableClusters = clusters.length > 0 ? clusters : buildClusters(runId, candidates, evidence, new Date().toISOString(), config.clusters);
341
+ if (clusters.length === 0 && availableClusters.length > 0) {
342
+ await writeClusters(context.paths, runId, availableClusters);
343
+ }
344
+ const cluster = availableClusters.find((item) => item.id === id);
345
+ if (cluster) {
346
+ if (cluster.actionability === "too-broad") {
347
+ emit(context.json, fail("plan", "theme_too_broad", `${cluster.id} is too broad for an agent-ready plan. Split or triage the theme first.`));
348
+ return 2;
349
+ }
350
+ const clusterCandidates = candidates.filter((item) => cluster.candidateIds.includes(item.id));
351
+ const supportingEvidence = evidenceForIds(evidence, cluster.evidenceIds);
352
+ const plan = buildClusterPlan(runId, cluster, clusterCandidates, supportingEvidence);
353
+ const planPath = await writePlan(context.paths, plan);
354
+ emit(context.json, ok("plan", { plan, path: planPath, planPath, cluster, candidates: clusterCandidates, evidence: supportingEvidence }));
355
+ if (!context.json && !context.quiet) {
356
+ console.log(plan.content);
357
+ console.log("");
358
+ console.log(`Plan written to ${path.relative(context.paths.root, planPath)}`);
359
+ }
360
+ return 0;
361
+ }
362
+ const candidate = candidates.find((item) => item.id === id);
363
+ if (!candidate) {
364
+ emit(context.json, fail("plan", "target_not_found", `Candidate or theme not found: ${id}`));
365
+ return 1;
366
+ }
367
+ const supportingEvidence = evidenceForIds(evidence, candidate.evidenceIds);
368
+ const plan = buildCandidatePlan(runId, candidate, supportingEvidence);
369
+ const planPath = await writePlan(context.paths, plan);
370
+ emit(context.json, ok("plan", { plan, path: planPath, planPath, candidate, evidence: supportingEvidence }));
371
+ if (!context.json && !context.quiet) {
372
+ console.log(plan.content);
373
+ console.log("");
374
+ console.log(`Plan written to ${path.relative(context.paths.root, planPath)}`);
375
+ }
376
+ return 0;
377
+ }
378
+ async function triageCommand(context) {
379
+ const id = requireCandidateId(context);
380
+ const status = flagString(context.parsed.flags, "status");
381
+ const note = flagString(context.parsed.flags, "note");
382
+ if (!status || !candidateStatuses.includes(status)) {
383
+ emit(context.json, fail("triage", "invalid_status", `--status is required and must be one of: ${candidateStatuses.join(", ")}`));
384
+ return 2;
385
+ }
386
+ if (status !== "open" && (!note || note.trim().length === 0)) {
387
+ emit(context.json, fail("triage", "note_required", "--note is required when setting a non-open status"));
388
+ return 2;
389
+ }
390
+ const candidates = await readLatestCandidates(context.paths);
391
+ const index = candidates.findIndex((item) => item.id === id);
392
+ if (index < 0) {
393
+ emit(context.json, fail("triage", "candidate_not_found", `Candidate not found: ${id}`));
394
+ return 1;
395
+ }
396
+ const existing = candidates[index];
397
+ if (!existing) {
398
+ emit(context.json, fail("triage", "candidate_not_found", `Candidate not found: ${id}`));
399
+ return 1;
400
+ }
401
+ const now = new Date().toISOString();
402
+ const updated = {
403
+ ...existing,
404
+ status: status,
405
+ updatedAt: now,
406
+ };
407
+ candidates[index] = updated;
408
+ await updateLatestCandidates(context.paths, candidates);
409
+ const triage = {
410
+ schemaVersion,
411
+ recordType: "triage",
412
+ id: timestampId("triage"),
413
+ candidateId: id,
414
+ fromStatus: existing.status,
415
+ toStatus: updated.status,
416
+ note: note ?? "",
417
+ createdAt: now,
418
+ };
419
+ await writeTriage(context.paths, triage);
420
+ emit(context.json, ok("triage", { candidate: updated, triage }));
421
+ if (!context.json && !context.quiet) {
422
+ console.log(`${id}: ${existing.status} -> ${updated.status}`);
423
+ }
424
+ return 0;
425
+ }
426
+ async function handoffCommand(context) {
427
+ const id = requireCandidateId(context);
428
+ const format = flagString(context.parsed.flags, "format") ?? "codex";
429
+ const { candidates, evidence } = await latestState(context.paths);
430
+ const candidate = candidates.find((item) => item.id === id);
431
+ if (!candidate) {
432
+ emit(context.json, fail("handoff", "candidate_not_found", `Candidate not found: ${id}`));
433
+ return 1;
434
+ }
435
+ const supportingEvidence = evidenceForIds(evidence, candidate.evidenceIds);
436
+ const handoff = buildHandoff(candidate, supportingEvidence, format);
437
+ const handoffPath = await writeHandoff(context.paths, handoff);
438
+ emit(context.json, ok("handoff", { handoff, path: handoffPath }));
439
+ if (!context.json && !context.quiet) {
440
+ console.log(handoff.content);
441
+ console.log("");
442
+ console.log(`Handoff written to ${path.relative(context.paths.root, handoffPath)}`);
443
+ }
444
+ return 0;
445
+ }
446
+ async function latestState(paths) {
447
+ const runId = await latestRunId(paths);
448
+ if (!runId) {
449
+ throw new Error("No scan run found. Run `deepclean scan` first.");
450
+ }
451
+ const [candidates, clusters, evidence] = await Promise.all([
452
+ readLatestCandidates(paths),
453
+ readLatestClusters(paths),
454
+ readLatestEvidence(paths),
455
+ ]);
456
+ return { runId, candidates, clusters, evidence };
457
+ }
458
+ function requireCandidateId(context) {
459
+ const id = context.parsed.positional[0];
460
+ if (!id) {
461
+ throw new Error("Candidate ID is required");
462
+ }
463
+ return id;
464
+ }
465
+ function emit(json, value) {
466
+ if (json) {
467
+ console.log(JSON.stringify(value, null, 2));
468
+ }
469
+ }
470
+ function printCandidateSummary(candidates) {
471
+ for (const candidate of candidates.slice(0, 10)) {
472
+ console.log(`${candidate.priority} ${candidate.id} ${candidate.title}`);
473
+ }
474
+ if (candidates.length > 10) {
475
+ console.log(`... ${candidates.length - 10} more`);
476
+ }
477
+ }
478
+ function printCandidate(candidate) {
479
+ console.log(`${candidate.priority} ${candidate.id} ${candidate.title}`);
480
+ console.log(` category: ${candidate.category}`);
481
+ console.log(` status: ${candidate.status}`);
482
+ console.log(` confidence: ${candidate.confidence}`);
483
+ console.log(` impact: ${candidate.impact}`);
484
+ console.log(` effort: ${candidate.effort}`);
485
+ console.log(` risk: ${candidate.risk}`);
486
+ console.log(` files: ${candidate.files.map((file) => file.path).join(", ") || "n/a"}`);
487
+ console.log(` suggested: ${candidate.suggestedDirection}`);
488
+ }
489
+ function printCluster(cluster) {
490
+ console.log(`${cluster.priority} ${cluster.id} ${cluster.title}`);
491
+ console.log(` candidates: ${cluster.candidateIds.join(", ")}`);
492
+ console.log(` category: ${cluster.category}`);
493
+ console.log(` confidence: ${cluster.confidence}`);
494
+ console.log(` impact: ${cluster.impact}`);
495
+ console.log(` actionability: ${cluster.actionability ?? "bounded"}`);
496
+ console.log(` files: ${cluster.files.map((file) => file.path).join(", ") || "n/a"}`);
497
+ for (const warning of cluster.warnings ?? []) {
498
+ console.log(` warning: ${warning}`);
499
+ }
500
+ console.log(` suggested: ${cluster.suggestedDirection}`);
501
+ }
502
+ function evidenceForIds(evidence, ids) {
503
+ const wanted = new Set(ids);
504
+ return evidence.filter((item) => wanted.has(item.id));
505
+ }
506
+ async function packageVersion() {
507
+ try {
508
+ const packagePath = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..", "package.json");
509
+ const packageJson = JSON.parse(await readFile(packagePath, "utf8"));
510
+ return typeof packageJson.version === "string" ? packageJson.version : "0.0.0";
511
+ }
512
+ catch {
513
+ return "0.0.0";
514
+ }
515
+ }
516
+ const entryPath = process.argv[1] ? realpathSync(process.argv[1]) : undefined;
517
+ const modulePath = realpathSync(fileURLToPath(import.meta.url));
518
+ if (entryPath === modulePath) {
519
+ process.exitCode = await main(process.argv.slice(2));
520
+ }
521
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type CandidateRecord, type ClusterRecord, type EvidenceRecord } from "./types.js";
2
+ export declare function buildClusters(runId: string, candidates: CandidateRecord[], evidence: EvidenceRecord[], createdAt?: string, options?: {
3
+ maxCandidates?: number;
4
+ maxFiles?: number;
5
+ splitBroad?: boolean;
6
+ }): ClusterRecord[];
7
+ export declare function unclusteredCandidateIds(candidates: CandidateRecord[], clusters: ClusterRecord[]): string[];