dsh-data-quality 0.1.2 → 0.2.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 (96) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.es.md +8 -2
  3. package/README.hi.md +8 -2
  4. package/README.md +22 -9
  5. package/README.pt.md +8 -2
  6. package/README.zh.md +8 -2
  7. package/cordis.patch.yml +11 -0
  8. package/lib/index.js +1411 -145
  9. package/lib/types/config.d.ts +12 -0
  10. package/lib/types/config.d.ts.map +1 -1
  11. package/lib/types/config.js +35 -0
  12. package/lib/types/config.js.map +1 -1
  13. package/lib/types/contract.d.ts +83 -0
  14. package/lib/types/contract.d.ts.map +1 -0
  15. package/lib/types/contract.js +144 -0
  16. package/lib/types/contract.js.map +1 -0
  17. package/lib/types/dataset.d.ts +50 -3
  18. package/lib/types/dataset.d.ts.map +1 -1
  19. package/lib/types/dataset.js +76 -21
  20. package/lib/types/dataset.js.map +1 -1
  21. package/lib/types/events.d.ts +2 -0
  22. package/lib/types/events.d.ts.map +1 -1
  23. package/lib/types/events.js.map +1 -1
  24. package/lib/types/index.d.ts +11 -8
  25. package/lib/types/index.d.ts.map +1 -1
  26. package/lib/types/index.js +15 -6
  27. package/lib/types/index.js.map +1 -1
  28. package/lib/types/presets.d.ts +28 -0
  29. package/lib/types/presets.d.ts.map +1 -0
  30. package/lib/types/presets.js +134 -0
  31. package/lib/types/presets.js.map +1 -0
  32. package/lib/types/profile.d.ts +38 -1
  33. package/lib/types/profile.d.ts.map +1 -1
  34. package/lib/types/profile.js +64 -10
  35. package/lib/types/profile.js.map +1 -1
  36. package/lib/types/provider-local.d.ts +7 -1
  37. package/lib/types/provider-local.d.ts.map +1 -1
  38. package/lib/types/provider-local.js +78 -4
  39. package/lib/types/provider-local.js.map +1 -1
  40. package/lib/types/scorecard.d.ts +50 -0
  41. package/lib/types/scorecard.d.ts.map +1 -0
  42. package/lib/types/scorecard.js +186 -0
  43. package/lib/types/scorecard.js.map +1 -0
  44. package/lib/types/service.d.ts +32 -2
  45. package/lib/types/service.d.ts.map +1 -1
  46. package/lib/types/service.js.map +1 -1
  47. package/lib/types/store.d.ts +21 -1
  48. package/lib/types/store.d.ts.map +1 -1
  49. package/lib/types/store.js +13 -1
  50. package/lib/types/store.js.map +1 -1
  51. package/lib/types/tools/clean.d.ts.map +1 -1
  52. package/lib/types/tools/clean.js +76 -1
  53. package/lib/types/tools/clean.js.map +1 -1
  54. package/lib/types/tools/profile-report-schema.d.ts +315 -0
  55. package/lib/types/tools/profile-report-schema.d.ts.map +1 -0
  56. package/lib/types/tools/profile-report-schema.js +95 -0
  57. package/lib/types/tools/profile-report-schema.js.map +1 -0
  58. package/lib/types/tools/profile.d.ts.map +1 -1
  59. package/lib/types/tools/profile.js +6 -53
  60. package/lib/types/tools/profile.js.map +1 -1
  61. package/lib/types/tools/report.d.ts +14 -0
  62. package/lib/types/tools/report.d.ts.map +1 -0
  63. package/lib/types/tools/report.js +86 -0
  64. package/lib/types/tools/report.js.map +1 -0
  65. package/lib/types/tools/shared.d.ts.map +1 -1
  66. package/lib/types/tools/shared.js +22 -2
  67. package/lib/types/tools/shared.js.map +1 -1
  68. package/lib/types/tools/verify.d.ts.map +1 -1
  69. package/lib/types/tools/verify.js +36 -1
  70. package/lib/types/tools/verify.js.map +1 -1
  71. package/lib/types/verify.d.ts +49 -3
  72. package/lib/types/verify.d.ts.map +1 -1
  73. package/lib/types/verify.js +111 -4
  74. package/lib/types/verify.js.map +1 -1
  75. package/lib/types/version.d.ts +1 -1
  76. package/lib/types/version.js +1 -1
  77. package/package.json +1 -1
  78. package/src/config.ts +52 -0
  79. package/src/contract.ts +190 -0
  80. package/src/dataset.ts +101 -21
  81. package/src/events.ts +2 -0
  82. package/src/index.ts +25 -8
  83. package/src/presets.ts +146 -0
  84. package/src/profile.ts +101 -11
  85. package/src/provider-local.ts +83 -5
  86. package/src/scorecard.ts +244 -0
  87. package/src/service.ts +34 -2
  88. package/src/store.ts +28 -2
  89. package/src/tools/clean.ts +76 -1
  90. package/src/tools/profile-report-schema.ts +97 -0
  91. package/src/tools/profile.ts +8 -56
  92. package/src/tools/report.ts +108 -0
  93. package/src/tools/shared.ts +21 -2
  94. package/src/tools/verify.ts +40 -2
  95. package/src/verify.ts +151 -5
  96. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/profile.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAwB,MAAM,cAAc,CAAA;AAqDjI,yEAAyE;AACzE,SAAS,MAAM,CAAC,KAAa;IAC3B,OAAO,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;AACrC,CAAC;AAED,oEAAoE;AACpE,SAAS,QAAQ,CAAC,MAAyB,EAAE,CAAS;IACpD,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAW,CAAA;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAW,CAAA;IACpC,OAAO,KAAK,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAA;AAChD,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,cAAc,CAAC,MAAyB;IACtD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IACzC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAChD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAA;IACzD,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAClC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;IACrB,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;IAChC,MAAM,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;IACjC,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,QAAQ,IAAI,KAAK,GAAG,SAAS,CAAC,CAAC,MAAM,CAAA;IACvG,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAW,CAAC;QAChC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAW,CAAC;QAChD,IAAI,EAAE,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;QAChB,QAAQ;KACT,CAAA;AACH,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,kBAAkB,CAAC,KAAY,EAAE,MAAoB;IACnE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAChD,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC;YAAE,cAAc,CAAC,MAAM,CAAC,CAAA;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAA;QAC9E,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,UAAU,IAAI,CAAC,CAAA;QACjB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACf,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,8CAA8C;AAC9C,SAAS,aAAa,CAAC,IAAoB,EAAE,MAAc,EAAE,MAAoB;IAC/E,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,MAAM,aAAa,GAAa,EAAE,CAAA;IAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;IAClC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC7C,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1C,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC;YAAE,cAAc,CAAC,MAAM,CAAC,CAAA;QAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;QACxB,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,CAAA;YACZ,SAAQ;QACV,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACnE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAClB,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACvD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QAClC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,CAAA;YACZ,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC3B,SAAQ;QACV,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAClC,KAAK,IAAI,CAAC,CAAA;YACV,SAAQ;QACV,CAAC;QACD,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACrC,QAAQ,IAAI,CAAC,CAAA;YACb,SAAQ;QACV,CAAC;QACD,OAAO,IAAI,CAAC,CAAA;IACd,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,CAAA;IACrC,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,YAA0B,CAAA;IAC9B,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,YAAY,GAAG,OAAO,CAAA;IACxB,CAAC;SAAM,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QAC/B,YAAY,GAAG,QAAQ,CAAA;IACzB,CAAC;SAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QAC7B,YAAY,GAAG,MAAM,CAAA;IACvB,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,YAAY,GAAG,SAAS,CAAA;IAC1B,CAAC;SAAM,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QAC/B,YAAY,GAAG,QAAQ,CAAA;IACzB,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,OAAO,CAAA;QACtB,MAAM,KAAK,GAAG;YACZ,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,UAAU,CAAC,CAAC,CAAC,SAAS;YAC9C,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS;YACvC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,UAAU,CAAC,CAAC,CAAC,SAAS;YAChD,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;QACtC,KAAK,CAAC,IAAI,CAAC,qBAAqB,OAAO,oBAAoB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChF,CAAC;IAED,MAAM,OAAO,GAAkB;QAC7B,IAAI,EAAE,MAAM;QACZ,YAAY;QACZ,OAAO;QACP,WAAW,EAAE,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAClE,MAAM,EAAE,QAAQ,CAAC,IAAI;QACrB,KAAK;KACN,CAAA;IACD,MAAM,OAAO,GAAG,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACrF,MAAM,SAAS,GACb,CAAC,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,SAAS,CAAC,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,IAAI,EAAE;QACnG,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;aACvB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACvE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC,SAAS,CAAA;IACf,OAAO;QACL,GAAG,OAAO;QACV,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClD,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAY,EACZ,OAAgH;IAEhH,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACnG,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9F,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAC/D,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;QAC3B,OAAO,EAAE,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM;QAC9C,YAAY,EAAE,QAAQ,CAAC,MAAM;QAC7B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;QACjC,aAAa;QACb,OAAO;QACP,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAA;AACH,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,iBAAiB,CAAC,MAAqB;IACrD,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,QAAQ,WAAW,MAAM,CAAC,WAAW,UAAU;QAChG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,8CAA8C,MAAM,CAAC,YAAY,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACpG,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAA;IACnF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,YAAY,EAAE,CAAC,CAAA;QACxD,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAC3G,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QACrC,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CACR,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS,MAAM,CAAC,OAAO,CAAC,GAAG,YAAY,MAAM,CAAC,OAAO,CAAC,MAAM,SAAS,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS,MAAM,CAAC,OAAO,CAAC,GAAG,UAAU,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;gBACxK,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,QAAQ,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CACnF,CAAA;QACH,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACpH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;QAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACrC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/profile.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import type { Context } from '@deepseek-ai/cordis';
9
9
  import type { ResolvedConfig } from './config.js';
10
- import { type ReportStore } from './store.js';
10
+ import { type ReportRecord, type ReportStore, type StoredReport } from './store.js';
11
11
  import { DataQualityService, type CitationCheckRequest, type CitationCheckResult, type CleanRequest, type CleanRunReport, type ProfileRequest, type VerifyRequest } from './service.js';
12
12
  import type { ProfileReport } from './profile.js';
13
13
  import type { VerifyReport } from './verify.js';
@@ -43,11 +43,17 @@ export declare class LocalDataQualityService extends DataQualityService {
43
43
  rules?: number;
44
44
  failedRules?: number;
45
45
  passed?: boolean;
46
+ expectations?: number;
47
+ failedExpectations?: number;
46
48
  }): void;
47
49
  /** @inheritdoc DataQualityService.profileDataset */
48
50
  profileDataset(request: ProfileRequest): Promise<ProfileReport>;
49
51
  /** @inheritdoc DataQualityService.cleanDataset */
50
52
  cleanDataset(request: CleanRequest): Promise<CleanRunReport>;
53
+ /** @inheritdoc DataQualityService.getReport */
54
+ getReport(key: string): Promise<StoredReport>;
55
+ /** @inheritdoc DataQualityService.listReports */
56
+ listReports(kind: ReportRecord['kind']): Promise<StoredReport[]>;
51
57
  /** @inheritdoc DataQualityService.verifyDataset */
52
58
  verifyDataset(request: VerifyRequest): Promise<VerifyReport>;
53
59
  /** @inheritdoc DataQualityService.verifyCitations */
@@ -1 +1 @@
1
- {"version":3,"file":"provider-local.d.ts","sourceRoot":"","sources":["../../src/provider-local.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAMjD,OAAO,EAAkC,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7E,OAAO,EACL,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAEvD,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IACxC,kFAAkF;IAClF,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAA;CAC3B;AAED;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,kBAAkB;IAC7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IAEnC;;;;OAIG;gBACS,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY;IAMpE,6EAA6E;IAC7E,WAAW,IAAI,MAAM;IAIrB,0EAA0E;YAC5D,OAAO;IASrB,uEAAuE;IACvE,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAUxO,oDAAoD;IACrC,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAe9E,kDAAkD;IACnC,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;IAgD3E,mDAAmD;IACpC,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAqB3E,qDAAqD;IACtC,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAoB5F"}
1
+ {"version":3,"file":"provider-local.d.ts","sourceRoot":"","sources":["../../src/provider-local.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAOjD,OAAO,EAAiC,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAA;AAGlH,OAAO,EACL,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAEvD,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IACxC,kFAAkF;IAClF,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAA;CAC3B;AAED;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,kBAAkB;IAC7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IAEnC;;;;OAIG;gBACS,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY;IAMpE,6EAA6E;IAC7E,WAAW,IAAI,MAAM;IAIrB,0EAA0E;YAC5D,OAAO;IASrB,uEAAuE;IACvE,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAU5R,oDAAoD;IACrC,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAmB9E,kDAAkD;IACnC,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;IA0F3E,+CAA+C;IAChC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAe5D,iDAAiD;IAClC,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAQ/E,mDAAmD;IACpC,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IA0B3E,qDAAqD;IACtC,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAoB5F"}
@@ -9,10 +9,12 @@ import { mkdir, writeFile } from 'node:fs/promises';
9
9
  import path from 'node:path';
10
10
  import { loadDocument, loadTable, resolveWorkspacePath, throwIfAborted } from "./dataset.js";
11
11
  import { applyCleanRules, serializeDelimited } from "./clean.js";
12
+ import { computeCleanContract, computeCleanProfileDiff } from "./contract.js";
12
13
  import { profileTable } from "./profile.js";
13
14
  import { checkCitations, verifyTable } from "./verify.js";
14
15
  import { appendDataQualityEvent } from "./events.js";
15
- import { reportKeyOf } from "./store.js";
16
+ import { isValidReportKey, reportKeyOf } from "./store.js";
17
+ import { resolveIndustryPreset } from "./presets.js";
16
18
  import { truncateRow } from "./present.js";
17
19
  import { DataQualityService, } from "./service.js";
18
20
  /**
@@ -62,11 +64,15 @@ export class LocalDataQualityService extends DataQualityService {
62
64
  throwIfAborted(request.signal);
63
65
  const absolute = resolveWorkspacePath(request.workspace, request.dataset, this.config);
64
66
  const table = await loadTable(absolute, this.config, request.signal);
67
+ const declaredSchema = request.industryPreset === undefined ? undefined : resolveIndustryPreset(request.industryPreset).columns;
65
68
  const report = profileTable(table, {
66
69
  dataset: request.dataset,
67
70
  sample: request.sample,
68
71
  generatedAt: this.deps.now(),
69
72
  signal: request.signal,
73
+ duplicateSampleLimit: this.config.evidenceRowLimit,
74
+ declaredSchema,
75
+ scorecardWeights: this.config.scorecardWeights,
70
76
  });
71
77
  const reportKey = await this.persist('profile', request.dataset, report);
72
78
  this.emitEvent(request.session, 'profile', request.dataset, reportKey, { rows: report.rowCount, columns: report.columnCount });
@@ -75,11 +81,12 @@ export class LocalDataQualityService extends DataQualityService {
75
81
  /** @inheritdoc DataQualityService.cleanDataset */
76
82
  async cleanDataset(request) {
77
83
  throwIfAborted(request.signal);
84
+ const dryRun = request.dryRun === true;
78
85
  const absolute = resolveWorkspacePath(request.workspace, request.dataset, this.config);
79
86
  const table = await loadTable(absolute, this.config, request.signal);
80
87
  const result = applyCleanRules(table, request.rules, { signal: request.signal });
81
88
  let writtenPath;
82
- if (request.outputPath !== undefined) {
89
+ if (!dryRun && request.outputPath !== undefined) {
83
90
  const outputAbsolute = resolveWorkspacePath(request.workspace, request.outputPath, this.config);
84
91
  if (outputAbsolute === absolute) {
85
92
  throw new Error(`outputPath ${JSON.stringify(request.outputPath)} would overwrite the input dataset; choose a different path`);
@@ -96,27 +103,89 @@ export class LocalDataQualityService extends DataQualityService {
96
103
  writtenPath = request.outputPath;
97
104
  }
98
105
  const generatedAt = this.deps.now();
106
+ // The contract summary is part of the model-visible canonical value, so it
107
+ // must also be part of the durable report (model-visible ⟺ logged).
108
+ const contract = computeCleanContract(result, request.rules, { signal: request.signal });
109
+ const outputTable = {
110
+ columns: result.columns,
111
+ rows: result.rows,
112
+ ...(table.encoding !== undefined ? { encoding: table.encoding } : {}),
113
+ };
114
+ // The before/after profile diff preview is the expected diff in a dry run
115
+ // and the durable audit artifact (separate `clean-diff` record) otherwise.
116
+ const diff = computeCleanProfileDiff(table, outputTable, {
117
+ dataset: request.dataset,
118
+ generatedAt,
119
+ scorecardWeights: this.config.scorecardWeights,
120
+ signal: request.signal,
121
+ });
122
+ // The preview is part of the model-visible canonical value, so it must
123
+ // also be part of the durable report: otherwise the clean result's preview
124
+ // could not be reconstructed from the session log (model-visible ⟺ logged).
125
+ const preview = { columns: result.columns, rows: result.rows.slice(0, this.config.evidenceRowLimit).map((row) => truncateRow(row)) };
126
+ if (dryRun) {
127
+ this.emitEvent(request.session, 'clean', request.dataset, undefined, { rows: result.outputRows, columns: result.columns.length, rules: result.logs.length });
128
+ return {
129
+ dataset: request.dataset,
130
+ inputRows: result.inputRows,
131
+ outputRows: result.outputRows,
132
+ dryRun: true,
133
+ logs: result.logs,
134
+ contract,
135
+ preview,
136
+ diffPreview: diff,
137
+ generatedAt,
138
+ };
139
+ }
99
140
  const reportKey = await this.persist('clean', request.dataset, {
100
141
  dataset: request.dataset,
101
142
  inputRows: result.inputRows,
102
143
  outputRows: result.outputRows,
144
+ dryRun: false,
103
145
  logs: result.logs,
146
+ contract,
147
+ preview,
104
148
  ...(writtenPath !== undefined ? { outputPath: writtenPath } : {}),
105
149
  generatedAt,
106
150
  });
151
+ await this.persist('clean-diff', request.dataset, diff);
107
152
  this.emitEvent(request.session, 'clean', request.dataset, reportKey, { rows: result.outputRows, columns: result.columns.length, rules: result.logs.length });
108
- const previewRows = result.rows.slice(0, this.config.evidenceRowLimit).map((row) => truncateRow(row));
109
153
  return {
110
154
  dataset: request.dataset,
111
155
  inputRows: result.inputRows,
112
156
  outputRows: result.outputRows,
157
+ dryRun: false,
113
158
  logs: result.logs,
114
- preview: { columns: result.columns, rows: previewRows },
159
+ contract,
160
+ preview,
115
161
  ...(writtenPath !== undefined ? { outputPath: writtenPath } : {}),
116
162
  ...(reportKey !== undefined ? { reportKey } : {}),
117
163
  generatedAt,
118
164
  };
119
165
  }
166
+ /** @inheritdoc DataQualityService.getReport */
167
+ async getReport(key) {
168
+ if (!isValidReportKey(key)) {
169
+ throw new Error(`invalid reportKey ${JSON.stringify(key)}: expected the deterministic <timestamp>-<kind>-<fingerprint> format`);
170
+ }
171
+ const store = this.deps.store;
172
+ if (store === undefined) {
173
+ throw new Error('report storage is disabled (storeReports is false); no persisted reports to read');
174
+ }
175
+ const record = store.get(key);
176
+ if (record === undefined) {
177
+ throw new Error(`no persisted report found for reportKey ${JSON.stringify(key)}`);
178
+ }
179
+ return { key, ...record };
180
+ }
181
+ /** @inheritdoc DataQualityService.listReports */
182
+ async listReports(kind) {
183
+ const store = this.deps.store;
184
+ if (store === undefined) {
185
+ throw new Error('report storage is disabled (storeReports is false); no persisted reports to read');
186
+ }
187
+ return store.list(kind);
188
+ }
120
189
  /** @inheritdoc DataQualityService.verifyDataset */
121
190
  async verifyDataset(request) {
122
191
  throwIfAborted(request.signal);
@@ -126,15 +195,20 @@ export class LocalDataQualityService extends DataQualityService {
126
195
  evidenceRowLimit: this.config.evidenceRowLimit,
127
196
  now: this.deps.now,
128
197
  signal: request.signal,
198
+ expectations: request.expectations,
199
+ defaultTolerance: this.config.defaultTolerance,
129
200
  });
130
201
  const report = { dataset: request.dataset, ...outcome };
131
202
  const failedRules = report.rules.filter((rule) => !rule.passed).length;
203
+ const failedExpectations = report.expectations.filter((expectation) => !expectation.passed).length;
132
204
  const reportKey = await this.persist('verify', request.dataset, report);
133
205
  this.emitEvent(request.session, 'verify', request.dataset, reportKey, {
134
206
  rows: report.rowCount,
135
207
  rules: report.rules.length,
136
208
  failedRules,
137
209
  passed: report.passed,
210
+ expectations: report.expectations.length,
211
+ failedExpectations,
138
212
  });
139
213
  return { ...report, ...(reportKey !== undefined ? { reportKey } : {}) };
140
214
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider-local.js","sourceRoot":"","sources":["../../src/provider-local.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-local.js","sourceRoot":"","sources":["../../src/provider-local.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * DAMA-style six-dimension quality scorecard over a parsed {@link Table}.
3
+ * Pure and deterministic: every rate derives from one full-table pass, the
4
+ * only clock is the injected `now`, and no dimension fabricates a score it
5
+ * cannot defend — `accuracy` stays `null` (undetermined) without a declared
6
+ * schema and `timeliness` stays `null` without date cells.
7
+ * @module dsh-data-quality/scorecard
8
+ */
9
+ import { type Table } from './dataset.js';
10
+ import type { InferredType } from './profile.js';
11
+ /** The six scorecard dimension ids, in report order. */
12
+ export type ScorecardDimensionName = 'completeness' | 'uniqueness' | 'validity' | 'consistency' | 'timeliness' | 'accuracy';
13
+ /** One scorecard dimension: a 0..1 rate, or `null` when it cannot be determined. */
14
+ export interface ScorecardDimension {
15
+ readonly name: ScorecardDimensionName;
16
+ /** Rate in [0, 1] rounded to 6 significant digits; `null` = cannot be determined (never fabricated). */
17
+ readonly score: number | null;
18
+ /** Human-readable definition and verdict. */
19
+ readonly note: string;
20
+ }
21
+ /** The six-dimension quality scorecard (also the profile report's `scorecard` field). */
22
+ export interface DataQualityScorecard {
23
+ readonly dimensions: ScorecardDimension[];
24
+ /** Unweighted mean of the determinable (non-null) dimension scores; `null` when none are determinable. */
25
+ readonly overall: number | null;
26
+ /** Weighted mean over the determinable dimensions; `null` when none are determinable or all their weights are 0. */
27
+ readonly weightedOverall: number | null;
28
+ }
29
+ /**
30
+ * Compute the six-dimension scorecard over a full table:
31
+ * - `completeness` — non-empty cell rate.
32
+ * - `uniqueness` — unique full-row content rate (`1 - duplicateRows / rowCount`).
33
+ * - `validity` — present cells conforming to their column's inferred type.
34
+ * - `consistency` — present cells in their column's dominant format (a date
35
+ * column's unified `YYYY-MM-DD` vs `YYYY/MM/DD` vs datetime ratio).
36
+ * - `timeliness` — date cells not future-dated relative to the injected `now`.
37
+ * - `accuracy` — declared-schema agreement (limited definition); `null`
38
+ * (undetermined) without a declared schema — never fabricated.
39
+ * @param table - the parsed dataset (full table, not the sampled cards).
40
+ * @param options - injected clock, duplicate-row count, optional declared schema, optional weights, abort signal.
41
+ * @returns the scorecard.
42
+ */
43
+ export declare function computeScorecard(table: Table, options: {
44
+ now: number;
45
+ duplicateRows: number;
46
+ declaredSchema?: Readonly<Record<string, InferredType>> | undefined;
47
+ weights?: Readonly<Record<ScorecardDimensionName, number>> | undefined;
48
+ signal?: AbortSignal | undefined;
49
+ }): DataQualityScorecard;
50
+ //# sourceMappingURL=scorecard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scorecard.d.ts","sourceRoot":"","sources":["../../src/scorecard.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAwE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAA;AAC/G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,wDAAwD;AACxD,MAAM,MAAM,sBAAsB,GAAG,cAAc,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,UAAU,CAAA;AAE3H,oFAAoF;AACpF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAA;IACrC,wGAAwG;IACxG,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,yFAAyF;AACzF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,EAAE,CAAA;IACzC,0GAA0G;IAC1G,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,oHAAoH;IACpH,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CACxC;AA2CD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE;IACP,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,GAAG,SAAS,CAAA;IACnE,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAA;IACtE,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CACjC,GACA,oBAAoB,CA+FtB"}
@@ -0,0 +1,186 @@
1
+ /**
2
+ * DAMA-style six-dimension quality scorecard over a parsed {@link Table}.
3
+ * Pure and deterministic: every rate derives from one full-table pass, the
4
+ * only clock is the injected `now`, and no dimension fabricates a score it
5
+ * cannot defend — `accuracy` stays `null` (undetermined) without a declared
6
+ * schema and `timeliness` stays `null` without date cells.
7
+ * @module dsh-data-quality/scorecard
8
+ */
9
+ import { isMissing, parseBoolean, parseDateCell, parseNumeric, throwIfAborted } from "./dataset.js";
10
+ /** Round to 6 significant digits (mirrors the profile report's rounding). */
11
+ function round6(value) {
12
+ return Number(value.toPrecision(6));
13
+ }
14
+ /** Increment a format-label counter. */
15
+ function bump(formats, tag) {
16
+ formats.set(tag, (formats.get(tag) ?? 0) + 1);
17
+ }
18
+ /** Inferred column type from the full-table class counts (mirrors `profileColumn`). */
19
+ function inferType(stats) {
20
+ if (stats.present === 0)
21
+ return 'empty';
22
+ if (stats.number === stats.present)
23
+ return 'number';
24
+ if (stats.date === stats.present)
25
+ return 'date';
26
+ if (stats.boolean === stats.present)
27
+ return 'boolean';
28
+ if (stats.string === stats.present)
29
+ return 'string';
30
+ return 'mixed';
31
+ }
32
+ /** Format the `value / total` ratio as a plain `note` fragment. */
33
+ function ratioNote(numerator, denominator) {
34
+ return `${numerator}/${denominator}`;
35
+ }
36
+ /** Build one determinable dimension with its ratio note. */
37
+ function dimension(name, score, numerator, denominator) {
38
+ return { name, score, note: ratioNote(numerator, denominator) };
39
+ }
40
+ /**
41
+ * Compute the six-dimension scorecard over a full table:
42
+ * - `completeness` — non-empty cell rate.
43
+ * - `uniqueness` — unique full-row content rate (`1 - duplicateRows / rowCount`).
44
+ * - `validity` — present cells conforming to their column's inferred type.
45
+ * - `consistency` — present cells in their column's dominant format (a date
46
+ * column's unified `YYYY-MM-DD` vs `YYYY/MM/DD` vs datetime ratio).
47
+ * - `timeliness` — date cells not future-dated relative to the injected `now`.
48
+ * - `accuracy` — declared-schema agreement (limited definition); `null`
49
+ * (undetermined) without a declared schema — never fabricated.
50
+ * @param table - the parsed dataset (full table, not the sampled cards).
51
+ * @param options - injected clock, duplicate-row count, optional declared schema, optional weights, abort signal.
52
+ * @returns the scorecard.
53
+ */
54
+ export function computeScorecard(table, options) {
55
+ throwIfAborted(options.signal);
56
+ const stats = new Map();
57
+ for (const column of table.columns) {
58
+ stats.set(column, { present: 0, number: 0, date: 0, boolean: 0, string: 0, formats: new Map() });
59
+ }
60
+ let missingCells = 0;
61
+ let dateCells = 0;
62
+ let futureDateCells = 0;
63
+ for (const [index, row] of table.rows.entries()) {
64
+ if (index % 1024 === 0)
65
+ throwIfAborted(options.signal);
66
+ for (const column of table.columns) {
67
+ const cell = row[column];
68
+ const columnStats = stats.get(column);
69
+ if (isMissing(cell)) {
70
+ missingCells += 1;
71
+ continue;
72
+ }
73
+ columnStats.present += 1;
74
+ const numeric = parseNumeric(cell);
75
+ if (numeric !== undefined) {
76
+ columnStats.number += 1;
77
+ bump(columnStats.formats, 'number');
78
+ continue;
79
+ }
80
+ const date = parseDateCell(cell);
81
+ if (date !== undefined) {
82
+ columnStats.date += 1;
83
+ bump(columnStats.formats, date.format);
84
+ dateCells += 1;
85
+ if (date.epoch > options.now)
86
+ futureDateCells += 1;
87
+ continue;
88
+ }
89
+ if (parseBoolean(cell) !== undefined) {
90
+ columnStats.boolean += 1;
91
+ bump(columnStats.formats, 'boolean');
92
+ continue;
93
+ }
94
+ columnStats.string += 1;
95
+ bump(columnStats.formats, typeof cell === 'string' ? 'string' : 'json');
96
+ }
97
+ }
98
+ const totalCells = table.rows.length * table.columns.length;
99
+ let presentCells = 0;
100
+ let invalidCells = 0;
101
+ let consistentCells = 0;
102
+ for (const [, columnStats] of stats) {
103
+ presentCells += columnStats.present;
104
+ // Validity = conformance to the column's dominant TYPE class; consistency
105
+ // below measures dominant FORMAT (so a date column with mixed YYYY-MM-DD /
106
+ // YYYY/MM/DD formats stays valid but inconsistent).
107
+ const dominantClass = Math.max(columnStats.number, columnStats.date, columnStats.boolean, columnStats.string);
108
+ invalidCells += columnStats.present - dominantClass;
109
+ if (columnStats.present === 0)
110
+ continue;
111
+ let dominant = 0;
112
+ for (const count of columnStats.formats.values()) {
113
+ if (count > dominant)
114
+ dominant = count;
115
+ }
116
+ consistentCells += dominant;
117
+ }
118
+ const completeness = totalCells === 0
119
+ ? { name: 'completeness', score: null, note: 'undetermined: no cells' }
120
+ : dimension('completeness', round6(1 - missingCells / totalCells), presentCells, totalCells);
121
+ const uniqueness = table.rows.length === 0
122
+ ? { name: 'uniqueness', score: null, note: 'undetermined: no rows' }
123
+ : dimension('uniqueness', round6(1 - options.duplicateRows / table.rows.length), table.rows.length - options.duplicateRows, table.rows.length);
124
+ const validity = presentCells === 0
125
+ ? { name: 'validity', score: null, note: 'undetermined: no present cells' }
126
+ : dimension('validity', round6(1 - invalidCells / presentCells), presentCells - invalidCells, presentCells);
127
+ const consistency = presentCells === 0
128
+ ? { name: 'consistency', score: null, note: 'undetermined: no present cells' }
129
+ : dimension('consistency', round6(consistentCells / presentCells), consistentCells, presentCells);
130
+ const timeliness = dateCells === 0
131
+ ? { name: 'timeliness', score: null, note: 'undetermined: no date cells' }
132
+ : dimension('timeliness', round6(1 - futureDateCells / dateCells), dateCells - futureDateCells, dateCells);
133
+ const accuracy = computeAccuracy(stats, table, options.declaredSchema);
134
+ const dimensions = [completeness, uniqueness, validity, consistency, timeliness, accuracy];
135
+ const scores = dimensions.map((entry) => entry.score).filter((score) => score !== null);
136
+ const overall = scores.length === 0 ? null : round6(scores.reduce((sum, score) => sum + score, 0) / scores.length);
137
+ const weightedOverall = computeWeightedOverall(dimensions, options.weights);
138
+ return { dimensions, overall, weightedOverall };
139
+ }
140
+ /** Weighted mean over determinable dimensions (weights default to 1; validated non-negative by config). */
141
+ function computeWeightedOverall(dimensions, weights) {
142
+ let weightedSum = 0;
143
+ let weightTotal = 0;
144
+ for (const entry of dimensions) {
145
+ if (entry.score === null)
146
+ continue;
147
+ const weight = weights?.[entry.name] ?? 1;
148
+ weightedSum += weight * entry.score;
149
+ weightTotal += weight;
150
+ }
151
+ return weightTotal === 0 ? null : round6(weightedSum / weightTotal);
152
+ }
153
+ /**
154
+ * Limited `accuracy` definition: agreement between the full-table inferred
155
+ * type of each declared column and the declared type. Without a declared
156
+ * schema (or an external truth source) the dimension is `null` (undetermined)
157
+ * — accuracy is never fabricated.
158
+ */
159
+ function computeAccuracy(stats, table, declaredSchema) {
160
+ if (declaredSchema === undefined || Object.keys(declaredSchema).length === 0) {
161
+ return { name: 'accuracy', score: null, note: 'undetermined: no declared schema or external truth to compare against; accuracy is never fabricated' };
162
+ }
163
+ let checked = 0;
164
+ let matched = 0;
165
+ const mismatches = [];
166
+ for (const column of table.columns) {
167
+ const declared = declaredSchema[column];
168
+ if (declared === undefined)
169
+ continue;
170
+ checked += 1;
171
+ const inferred = inferType(stats.get(column));
172
+ if (inferred === declared)
173
+ matched += 1;
174
+ else
175
+ mismatches.push(`${column}: declared ${declared}, inferred ${inferred}`);
176
+ }
177
+ if (checked === 0) {
178
+ return { name: 'accuracy', score: null, note: 'undetermined: declared schema covers none of the dataset columns' };
179
+ }
180
+ return {
181
+ name: 'accuracy',
182
+ score: round6(matched / checked),
183
+ note: `${matched}/${checked} columns match their declared type` + (mismatches.length > 0 ? `; mismatches: ${mismatches.join(', ')}` : ''),
184
+ };
185
+ }
186
+ //# sourceMappingURL=scorecard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scorecard.js","sourceRoot":"","sources":["../../src/scorecard.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,10 @@
10
10
  import { Service, type Context } from '@deepseek-ai/cordis';
11
11
  import type { JsonValue, Session } from '@deepseek-ai/dsh-session';
12
12
  import type { CleanRule, CleanRuleLog } from './clean.js';
13
+ import type { CleanContractSummary, CleanProfileDiff } from './contract.js';
13
14
  import type { ProfileReport } from './profile.js';
14
- import type { VerifyReport, VerifyRule } from './verify.js';
15
+ import type { VerifyExpectation, VerifyReport, VerifyRule } from './verify.js';
16
+ import type { ReportRecord, StoredReport } from './store.js';
15
17
  export interface CitationCheckRequest {
16
18
  /** Workspace-relative path of the source dataset snapshot (CSV/JSON). */
17
19
  dataset: string;
@@ -43,6 +45,8 @@ export interface ProfileRequest {
43
45
  readonly dataset: string;
44
46
  /** Optional deterministic systematic sample size for column cards. */
45
47
  readonly sample?: number | undefined;
48
+ /** Optional industry preset id; its expected columns feed the scorecard's declared schema. */
49
+ readonly industryPreset?: string | undefined;
46
50
  /** Absolute workspace root the dataset resolves inside. */
47
51
  readonly workspace: string;
48
52
  /** Calling session (receives the `data-quality/profile` event), when any. */
@@ -58,6 +62,8 @@ export interface CleanRequest {
58
62
  readonly rules: readonly CleanRule[];
59
63
  /** Workspace-relative output path; omitted = no disk write, preview only. */
60
64
  readonly outputPath?: string | undefined;
65
+ /** Dry run: no file written, no report persisted; returns the plan + expected contract/diff preview. */
66
+ readonly dryRun?: boolean | undefined;
61
67
  /** Absolute workspace root the dataset resolves inside. */
62
68
  readonly workspace: string;
63
69
  /** Calling session (receives the `data-quality/clean` event), when any. */
@@ -71,6 +77,8 @@ export interface VerifyRequest {
71
77
  readonly dataset: string;
72
78
  /** Non-empty declarative verification rule list. */
73
79
  readonly rules: readonly VerifyRule[];
80
+ /** Optional metric expectations to reconcile (rowCount/columnSum/columnMean/uniqueCount/nullCount). */
81
+ readonly expectations?: readonly VerifyExpectation[] | undefined;
74
82
  /** Absolute workspace root the dataset resolves inside. */
75
83
  readonly workspace: string;
76
84
  /** Calling session (receives the `data-quality/verify` event), when any. */
@@ -83,12 +91,18 @@ export interface CleanRunReport {
83
91
  readonly dataset: string;
84
92
  readonly inputRows: number;
85
93
  readonly outputRows: number;
94
+ /** Whether this was a dry run (no file written, no report persisted). */
95
+ readonly dryRun: boolean;
86
96
  readonly logs: CleanRuleLog[];
97
+ /** Pre-delivery contract validation summary (dedupe/uniqueness/non-null/type/decision regressions). */
98
+ readonly contract: CleanContractSummary;
87
99
  /** First `evidenceRowLimit` cleaned rows for inspection (display-truncated). */
88
100
  readonly preview: {
89
101
  readonly columns: string[];
90
102
  readonly rows: Array<Record<string, JsonValue>>;
91
103
  };
104
+ /** Expected before/after profile diff preview; present only for dry runs. */
105
+ readonly diffPreview?: CleanProfileDiff;
92
106
  /** Workspace-relative output path when the run wrote a file. */
93
107
  readonly outputPath?: string;
94
108
  /** Storage-domain key of the persisted report, when persistence is on. */
@@ -146,6 +160,20 @@ export declare abstract class DataQualityService extends Service {
146
160
  * @returns the verify report.
147
161
  */
148
162
  abstract verifyDataset(request: VerifyRequest): Promise<VerifyReport>;
163
+ /**
164
+ * Read one persisted report by its storage key. The key is validated
165
+ * against the deterministic report-key format (path-safe) and a missing
166
+ * record fails loud.
167
+ * @param key - the storage report key.
168
+ * @returns the stored report (with its key).
169
+ */
170
+ abstract getReport(key: string): Promise<StoredReport>;
171
+ /**
172
+ * List every persisted report of one kind, ordered by key (chronological).
173
+ * @param kind - the report kind.
174
+ * @returns the stored reports (empty when none match).
175
+ */
176
+ abstract listReports(kind: ReportRecord['kind']): Promise<StoredReport[]>;
149
177
  }
150
178
  declare module '@deepseek-ai/cordis' {
151
179
  interface Context {
@@ -155,6 +183,8 @@ declare module '@deepseek-ai/cordis' {
155
183
  }
156
184
  /** Re-exports so consumers pull the whole seam vocabulary from one module. */
157
185
  export type { CleanResult, CleanRule, CleanRuleLog } from './clean.js';
186
+ export type { CleanContractSummary, CleanProfileDiff } from './contract.js';
158
187
  export type { ProfileReport } from './profile.js';
159
- export type { VerifyReport, VerifyRule } from './verify.js';
188
+ export type { VerifyReport, VerifyRule, VerifyExpectation, VerifyExpectationResult, VerifyMetric } from './verify.js';
189
+ export type { ReportRecord, StoredReport } from './store.js';
160
190
  //# sourceMappingURL=service.d.ts.map