frontend-harness 0.7.8 → 0.7.10

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 (65) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +3 -0
  3. package/dist/cli/index.js +26 -2
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/runtime/clean.js +24 -3
  6. package/dist/runtime/clean.js.map +1 -1
  7. package/dist/runtime/context.js +49 -5
  8. package/dist/runtime/context.js.map +1 -1
  9. package/dist/runtime/evidence.js +63 -8
  10. package/dist/runtime/evidence.js.map +1 -1
  11. package/dist/runtime/graph.js +11 -4
  12. package/dist/runtime/graph.js.map +1 -1
  13. package/dist/runtime/knowledge/constants.d.ts +9 -0
  14. package/dist/runtime/knowledge/constants.js +24 -0
  15. package/dist/runtime/knowledge/constants.js.map +1 -0
  16. package/dist/runtime/knowledge/core.d.ts +19 -0
  17. package/dist/runtime/knowledge/core.js +1264 -0
  18. package/dist/runtime/knowledge/core.js.map +1 -0
  19. package/dist/runtime/knowledge/types.d.ts +172 -0
  20. package/dist/runtime/knowledge/types.js +2 -0
  21. package/dist/runtime/knowledge/types.js.map +1 -0
  22. package/dist/runtime/knowledge.d.ts +2 -188
  23. package/dist/runtime/knowledge.js +1 -1126
  24. package/dist/runtime/knowledge.js.map +1 -1
  25. package/dist/runtime/plan/component-resolver.js +17 -6
  26. package/dist/runtime/plan/component-resolver.js.map +1 -1
  27. package/dist/runtime/plan/proposal.js +9 -0
  28. package/dist/runtime/plan/proposal.js.map +1 -1
  29. package/dist/runtime/plan.js +6 -4
  30. package/dist/runtime/plan.js.map +1 -1
  31. package/dist/runtime/policy-provenance.js +43 -5
  32. package/dist/runtime/policy-provenance.js.map +1 -1
  33. package/dist/runtime/project-discovery.js +32 -17
  34. package/dist/runtime/project-discovery.js.map +1 -1
  35. package/dist/runtime/project-paths.js +7 -1
  36. package/dist/runtime/project-paths.js.map +1 -1
  37. package/dist/runtime/protocol-init.js +105 -19
  38. package/dist/runtime/protocol-init.js.map +1 -1
  39. package/dist/runtime/repair-decision.js +76 -16
  40. package/dist/runtime/repair-decision.js.map +1 -1
  41. package/dist/runtime/repair-packet.js +55 -16
  42. package/dist/runtime/repair-packet.js.map +1 -1
  43. package/dist/runtime/scaffold/vue-template.js +1 -1
  44. package/dist/runtime/scaffold/vue-template.js.map +1 -1
  45. package/dist/runtime/scaffold.js +44 -8
  46. package/dist/runtime/scaffold.js.map +1 -1
  47. package/dist/runtime/skills.js +120 -18
  48. package/dist/runtime/skills.js.map +1 -1
  49. package/dist/runtime/state.js +49 -8
  50. package/dist/runtime/state.js.map +1 -1
  51. package/dist/runtime/units.js +11 -4
  52. package/dist/runtime/units.js.map +1 -1
  53. package/dist/runtime/verification-commands.js +95 -21
  54. package/dist/runtime/verification-commands.js.map +1 -1
  55. package/dist/runtime/verify.js +64 -18
  56. package/dist/runtime/verify.js.map +1 -1
  57. package/dist/runtime/visual-compare.js +104 -12
  58. package/dist/runtime/visual-compare.js.map +1 -1
  59. package/dist/schemas/validation.js +222 -6
  60. package/dist/schemas/validation.js.map +1 -1
  61. package/dist/storage/json.d.ts +9 -1
  62. package/dist/storage/json.js +106 -8
  63. package/dist/storage/json.js.map +1 -1
  64. package/docs/RELEASE.md +5 -1
  65. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"visual-compare.js","sourceRoot":"","sources":["../../src/runtime/visual-compare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,mCAAmC,EAAE,MAAM,oBAAoB,CAAC;AA4CzE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACrE,MAAM,0BAA0B,GAAG;IACjC,sHAAsH;IACtH,6HAA6H;IAC7H,iKAAiK;CAClK,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,WAAmB,EAAE,KAAyB;IACnF,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;IAC7F,MAAM,IAAI,GAAG,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;IACrF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3G,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IACxC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACrF,MAAM,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACrF,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IACrE,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpE,IAAI,aAAa,IAAI,CAAC,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC;IAC7D,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,cAAc,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;YACvE,MAAM,cAAc,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;YACvE,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAC7F,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YACvC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,aAAa,IAAI,CAAC,CAAC;YACrB,CAAC;YACD,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YACxD,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5D,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3C,SAAS,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC;YAC5B,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9B,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9B,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IACjF,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,CAAC;IAC9C,MAAM,iBAAiB,GAAG,UAAU,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAwB;QAClC,MAAM,EAAE,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;QAChD,KAAK;QACL,SAAS;QACT,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,WAAW,EAAE,WAAW,CAAC,KAAK;QAC9B,YAAY,EAAE,WAAW,CAAC,MAAM;QAChC,aAAa;QACb,cAAc;QACd,SAAS;QACT,UAAU;QACV,aAAa;QACb,YAAY,EAAE,MAAM,CAAC,CAAC,aAAa,GAAG,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvD,eAAe;QACf,QAAQ,EAAE,IAAI,CAAC,YAAY;QAC3B,UAAU,EAAE,MAAM,EAAE,YAAY,IAAI,IAAI;QACxC,cAAc,EAAE;YACd,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC;YACnC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC;YACnC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;SAChC;QACD,cAAc,EAAE,iCAAiC;QACjD,iBAAiB,EAAE,4CAA4C,MAAM,CAAC,YAAY,aAAa,MAAM,CAAC,YAAY,WAAW,IAAI,CAAC,YAAY,EAAE;QAChJ,WAAW,EAAE,0BAA0B;KACxC,CAAC;IACF,IAAI,MAAM,EAAE,CAAC;QACX,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,IAAgB,EAAE,UAAkB,EAAE,KAAiB,EAAE,WAAmB;IACjG,IAAI,UAAU,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO;QACL,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC/D,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,WAAmB,EAAE,KAAyB,EAAE,KAAa;IACxF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,mCAAmC,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,QAAQ,GAAG,mCAAmC,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAChF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAClF,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,oBAAoB,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,WAAmB,EAAE,KAAyB,EAAE,KAAa;IACtF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,mCAAmC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,mCAAmC,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,SAAS,CAAC,MAAc,EAAE,KAAa;IAC9C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,yBAAyB,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IACnB,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;IAClB,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IACnB,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,OAAO,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QAC9D,MAAM,IAAI,EAAE,GAAG,MAAM,CAAC;QACtB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC9B,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3B,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5B,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,yDAAyD,CAAC,CAAC;IACzG,CAAC;IACD,MAAM,QAAQ,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;IAChD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,QAAQ,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACtC,SAAS,IAAI,CAAC,CAAC;QACf,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC;QAC3D,SAAS,IAAI,QAAQ,CAAC;QACtB,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC;YAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACxE,CAAC;QACD,QAAQ,GAAG,OAAO,CAAC;IACrB,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,WAAW,CAAC,GAAe,EAAE,QAAoB,EAAE,aAAqB,EAAE,MAAc;IAC/F,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,EAAE,GAAG,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,KAAK,IAAI,aAAa,IAAI,KAAK,GAAG,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/H,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,CAAC;gBACJ,MAAM;YACR,KAAK,CAAC;gBACJ,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;gBACrC,MAAM;YACR,KAAK,CAAC;gBACJ,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;gBACnC,MAAM;YACR,KAAK,CAAC;gBACJ,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;gBAC5D,MAAM;YACR,KAAK,CAAC;gBACJ,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;gBACxD,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,MAAkB,EAAE,KAAa;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,MAAc,EAAE,IAAgB;IACpE,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC;IAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QACpC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,aAAa;QACb,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;YAC3B,GAAG,MAAM,CAAC,KAAK,CAAC;YAChB,GAAG,MAAM,CAAC,MAAM,CAAC;YACjB,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;SACF,CAAC,CAAC;QACH,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAClC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAY;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,UAAU;QACV,IAAI;QACJ,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9D,CAAC,CAAC;AACL,CAAC;AAED,SAAS,MAAM,CAAC,KAAa;IAC3B,OAAO,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,KAAK,CAAC,IAAY,EAAE,EAAU,EAAE,MAAc;IACrD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC;IACpC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC;IACnD,IAAI,YAAY,IAAI,UAAU,IAAI,YAAY,IAAI,cAAc,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,UAAU,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACpD,CAAC;AAED,SAAS,KAAK,CAAC,MAAc;IAC3B,IAAI,GAAG,GAAG,UAAU,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,GAAG,IAAI,IAAI,CAAC;QACZ,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACpC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB;IAClC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"visual-compare.js","sourceRoot":"","sources":["../../src/runtime/visual-compare.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,42 @@ const executionUnitKeys = new Set(["id", "file", "task", "verification", "verifi
30
30
  const changeBaselineKeys = new Set(["source", "entries", "capturedAt"]);
31
31
  const changeBaselineEntryKeys = new Set(["path", "status", "signature"]);
32
32
  const verificationStateKeys = new Set(["status", "latestResultPath"]);
33
+ const frontendWorkflowKinds = new Set([
34
+ "ui_implementation",
35
+ "prd_knowledge",
36
+ "api_integration",
37
+ "frontend_test",
38
+ "bug_fix",
39
+ "frontend_review",
40
+ "requirement_change",
41
+ "documentation",
42
+ "maintenance"
43
+ ]);
44
+ const workflowStageKinds = new Set([...frontendWorkflowKinds, "design_restoration"]);
45
+ const frontendWorkflowKeys = new Set(["kind", "summary", "requiredKnowledgeActions", "implementationConstraints", "verificationFocus"]);
46
+ const workflowPlanKeys = new Set(["primary", "stages"]);
47
+ const workflowStageKeys = new Set(["id", "kind", "title", "dependsOn", "requiredEvidence", "guidance"]);
48
+ const taskInputsKeys = new Set(["prd", "uiSource", "agentProposal"]);
49
+ const uiSourceKeys = new Set(["kind", "value", "provider"]);
50
+ const uiSourceKinds = new Set(["design_url", "visual_artifact", "generated_markup", "design_artifact"]);
51
+ const uiSourceProviders = new Set(["pixso", "figma", "mastergo", "lanhu", "local"]);
52
+ const policyProvenanceKeys = new Set(["selectedSkills", "skillPaths", "skillRoutes", "knowledgeReferences", "knowledgeSha256", "selectionReason"]);
53
+ const skillRouteKeys = new Set(["name", "path", "score", "source", "reasons"]);
54
+ const agentProposalKeys = new Set([
55
+ "summary",
56
+ "artifactPath",
57
+ "contractVersion",
58
+ "intentSuggestion",
59
+ "constraintHints",
60
+ "componentHints",
61
+ "planningEvidence"
62
+ ]);
63
+ const agentComponentHintKeys = new Set(["name", "responsibility"]);
64
+ const planningEvidenceKeys = new Set(["workflowCandidates", "targetCandidates", "verificationCandidates", "ambiguities"]);
65
+ const workflowCandidateKeys = new Set(["kind", "confidence", "reasons"]);
66
+ const targetCandidateKeys = new Set(["path", "role", "confidence"]);
67
+ const verificationCandidateKeys = new Set(["kind", "reason"]);
68
+ const ambiguityKeys = new Set(["question", "severity"]);
33
69
  export function isHarnessState(value) {
34
70
  if (!isRecord(value)) {
35
71
  return false;
@@ -45,13 +81,13 @@ export function isHarnessState(value) {
45
81
  && Array.isArray(value["units"])
46
82
  && value["units"].every(isValidExecutionUnit)
47
83
  && Array.isArray(value["changedFiles"])
48
- && value["changedFiles"].every(isNonEmptyString)
84
+ && value["changedFiles"].every(isValidStateProjectPath)
49
85
  && isValidChangeBaseline(value["changeBaseline"])
50
86
  && isRecord(verification)
51
87
  && hasOnlyKeys(verification, verificationStateKeys)
52
88
  && typeof verification["status"] === "string"
53
89
  && verificationStatuses.has(verification["status"])
54
- && (verification["latestResultPath"] === null || isNonEmptyString(verification["latestResultPath"]))
90
+ && (verification["latestResultPath"] === null || isValidHarnessArtifactPath(verification["latestResultPath"]))
55
91
  && Array.isArray(value["errors"])
56
92
  && value["errors"].every(isNonEmptyString)
57
93
  && typeof value["retryCount"] === "number"
@@ -67,13 +103,19 @@ function isValidTaskUnderstanding(value) {
67
103
  && isNonEmptyString(value["intent"])
68
104
  && isNonEmptyString(value["scope"])
69
105
  && Array.isArray(value["constraints"])
70
- && value["constraints"].every(isNonEmptyString);
106
+ && value["constraints"].every(isNonEmptyString)
107
+ && (value["frontendWorkflow"] === undefined || isValidFrontendWorkflow(value["frontendWorkflow"]))
108
+ && (value["workflowPlan"] === undefined || isValidWorkflowPlan(value["workflowPlan"]))
109
+ && (value["inputs"] === undefined || isValidTaskInputs(value["inputs"]))
110
+ && (value["reasoningMode"] === undefined || value["reasoningMode"] === "deterministic" || value["reasoningMode"] === "agent_assisted")
111
+ && (value["policyProvenance"] === undefined || isValidPolicyProvenance(value["policyProvenance"]))
112
+ && (value["agentProposal"] === undefined || isValidAgentProposalSummary(value["agentProposal"]));
71
113
  }
72
114
  function isValidComponentItem(value) {
73
115
  return isRecord(value)
74
116
  && hasOnlyKeys(value, componentItemKeys)
75
117
  && isNonEmptyString(value["name"])
76
- && isNonEmptyString(value["file"])
118
+ && isValidStateProjectPath(value["file"])
77
119
  && isNonEmptyString(value["responsibility"])
78
120
  && typeof value["status"] === "string"
79
121
  && ["new", "existing", "unknown"].includes(value["status"]);
@@ -82,7 +124,7 @@ function isValidExecutionUnit(value) {
82
124
  return isRecord(value)
83
125
  && hasOnlyKeys(value, executionUnitKeys)
84
126
  && isNonEmptyString(value["id"])
85
- && isNonEmptyString(value["file"])
127
+ && isValidStateProjectPath(value["file"])
86
128
  && isNonEmptyString(value["task"])
87
129
  && Array.isArray(value["verification"])
88
130
  && value["verification"].every(isNonEmptyString)
@@ -105,10 +147,184 @@ function isValidChangeBaseline(value) {
105
147
  function isValidChangeBaselineEntry(value) {
106
148
  return isRecord(value)
107
149
  && hasOnlyKeys(value, changeBaselineEntryKeys)
108
- && isNonEmptyString(value["path"])
150
+ && isValidStateProjectPath(value["path"])
109
151
  && isNonEmptyString(value["status"])
110
152
  && isNonEmptyString(value["signature"]);
111
153
  }
154
+ function isValidFrontendWorkflow(value) {
155
+ return isRecord(value)
156
+ && hasOnlyKeys(value, frontendWorkflowKeys)
157
+ && typeof value["kind"] === "string"
158
+ && frontendWorkflowKinds.has(value["kind"])
159
+ && isNonEmptyString(value["summary"])
160
+ && isStringArray(value["requiredKnowledgeActions"])
161
+ && isStringArray(value["implementationConstraints"])
162
+ && isStringArray(value["verificationFocus"]);
163
+ }
164
+ function isValidWorkflowPlan(value) {
165
+ return isRecord(value)
166
+ && hasOnlyKeys(value, workflowPlanKeys)
167
+ && typeof value["primary"] === "string"
168
+ && frontendWorkflowKinds.has(value["primary"])
169
+ && Array.isArray(value["stages"])
170
+ && value["stages"].every(isValidWorkflowStage);
171
+ }
172
+ function isValidWorkflowStage(value) {
173
+ return isRecord(value)
174
+ && hasOnlyKeys(value, workflowStageKeys)
175
+ && isNonEmptyString(value["id"])
176
+ && typeof value["kind"] === "string"
177
+ && workflowStageKinds.has(value["kind"])
178
+ && isNonEmptyString(value["title"])
179
+ && isStringArray(value["dependsOn"])
180
+ && isStringArray(value["requiredEvidence"])
181
+ && isStringArray(value["guidance"]);
182
+ }
183
+ function isValidTaskInputs(value) {
184
+ return isRecord(value)
185
+ && hasOnlyKeys(value, taskInputsKeys)
186
+ && (value["prd"] === undefined || isNonEmptyString(value["prd"]))
187
+ && (value["agentProposal"] === undefined || isNonEmptyString(value["agentProposal"]))
188
+ && (value["uiSource"] === undefined || isValidUiSource(value["uiSource"]));
189
+ }
190
+ function isValidUiSource(value) {
191
+ return isRecord(value)
192
+ && hasOnlyKeys(value, uiSourceKeys)
193
+ && typeof value["kind"] === "string"
194
+ && uiSourceKinds.has(value["kind"])
195
+ && isNonEmptyString(value["value"])
196
+ && (value["provider"] === undefined || (typeof value["provider"] === "string" && uiSourceProviders.has(value["provider"])));
197
+ }
198
+ function isValidPolicyProvenance(value) {
199
+ return isRecord(value)
200
+ && hasOnlyKeys(value, policyProvenanceKeys)
201
+ && isStringArray(value["selectedSkills"])
202
+ && isStringArray(value["skillPaths"])
203
+ && Array.isArray(value["skillRoutes"])
204
+ && value["skillRoutes"].every(isValidSkillRoute)
205
+ && isStringArray(value["knowledgeReferences"])
206
+ && isStringRecord(value["knowledgeSha256"])
207
+ && isNonEmptyString(value["selectionReason"]);
208
+ }
209
+ function isValidSkillRoute(value) {
210
+ return isRecord(value)
211
+ && hasOnlyKeys(value, skillRouteKeys)
212
+ && isNonEmptyString(value["name"])
213
+ && isNonEmptyString(value["path"])
214
+ && typeof value["score"] === "number"
215
+ && Number.isFinite(value["score"])
216
+ && value["score"] >= 0
217
+ && value["score"] <= 1
218
+ && (value["source"] === "metadata" || value["source"] === "workflow")
219
+ && isStringArray(value["reasons"]);
220
+ }
221
+ function isValidAgentProposalSummary(value) {
222
+ return isRecord(value)
223
+ && hasOnlyKeys(value, agentProposalKeys)
224
+ && (value["summary"] === undefined || value["summary"] === null || isNonEmptyString(value["summary"]))
225
+ && (value["artifactPath"] === undefined || value["artifactPath"] === null || isNonEmptyString(value["artifactPath"]))
226
+ && (value["contractVersion"] === undefined || value["contractVersion"] === null || value["contractVersion"] === 1)
227
+ && (value["intentSuggestion"] === undefined || value["intentSuggestion"] === null || isNonEmptyString(value["intentSuggestion"]))
228
+ && (value["constraintHints"] === undefined || isStringArray(value["constraintHints"]))
229
+ && (value["componentHints"] === undefined || (Array.isArray(value["componentHints"]) && value["componentHints"].every(isValidAgentComponentHint)))
230
+ && (value["planningEvidence"] === undefined || isValidPlanningEvidence(value["planningEvidence"]));
231
+ }
232
+ function isValidAgentComponentHint(value) {
233
+ return isRecord(value)
234
+ && hasOnlyKeys(value, agentComponentHintKeys)
235
+ && (value["name"] === undefined || isNonEmptyString(value["name"]))
236
+ && (value["responsibility"] === undefined || isNonEmptyString(value["responsibility"]));
237
+ }
238
+ function isValidPlanningEvidence(value) {
239
+ return isRecord(value)
240
+ && hasOnlyKeys(value, planningEvidenceKeys)
241
+ && (value["workflowCandidates"] === undefined || (Array.isArray(value["workflowCandidates"]) && value["workflowCandidates"].every(isValidWorkflowCandidate)))
242
+ && (value["targetCandidates"] === undefined || (Array.isArray(value["targetCandidates"]) && value["targetCandidates"].every(isValidTargetCandidate)))
243
+ && (value["verificationCandidates"] === undefined || (Array.isArray(value["verificationCandidates"]) && value["verificationCandidates"].every(isValidVerificationCandidate)))
244
+ && (value["ambiguities"] === undefined || (Array.isArray(value["ambiguities"]) && value["ambiguities"].every(isValidAmbiguity)));
245
+ }
246
+ function isValidWorkflowCandidate(value) {
247
+ return isRecord(value)
248
+ && hasOnlyKeys(value, workflowCandidateKeys)
249
+ && typeof value["kind"] === "string"
250
+ && frontendWorkflowKinds.has(value["kind"])
251
+ && isProbability(value["confidence"])
252
+ && isStringArray(value["reasons"]);
253
+ }
254
+ function isValidTargetCandidate(value) {
255
+ return isRecord(value)
256
+ && hasOnlyKeys(value, targetCandidateKeys)
257
+ && isNonEmptyString(value["path"])
258
+ && isNonEmptyString(value["role"])
259
+ && isProbability(value["confidence"]);
260
+ }
261
+ function isValidVerificationCandidate(value) {
262
+ return isRecord(value)
263
+ && hasOnlyKeys(value, verificationCandidateKeys)
264
+ && isNonEmptyString(value["kind"])
265
+ && isNonEmptyString(value["reason"]);
266
+ }
267
+ function isValidAmbiguity(value) {
268
+ return isRecord(value)
269
+ && hasOnlyKeys(value, ambiguityKeys)
270
+ && isNonEmptyString(value["question"])
271
+ && (value["severity"] === "low" || value["severity"] === "medium" || value["severity"] === "high");
272
+ }
273
+ function isProbability(value) {
274
+ return typeof value === "number" && Number.isFinite(value) && value >= 0 && value <= 1;
275
+ }
276
+ function isStringArray(value) {
277
+ return Array.isArray(value) && value.every(isNonEmptyString);
278
+ }
279
+ function isStringRecord(value) {
280
+ return isRecord(value) && Object.values(value).every(isNonEmptyString);
281
+ }
282
+ function isValidStateProjectPath(value) {
283
+ if (!isNonEmptyString(value)) {
284
+ return false;
285
+ }
286
+ if (value.includes("\0") || value.includes("\\") || /^[A-Za-z]:/.test(value) || value.startsWith("/")) {
287
+ return false;
288
+ }
289
+ const normalized = normalizePosixPath(value);
290
+ if (normalized === "." || normalized === ".." || normalized.startsWith("../") || normalized.endsWith("/")) {
291
+ return false;
292
+ }
293
+ return !normalized.startsWith(".frontend-harness/")
294
+ || normalized === ".frontend-harness/knowledge"
295
+ || normalized.startsWith(".frontend-harness/knowledge/");
296
+ }
297
+ function isValidHarnessArtifactPath(value) {
298
+ if (!isNonEmptyString(value)) {
299
+ return false;
300
+ }
301
+ if (value.includes("\0") || value.includes("\\") || /^[A-Za-z]:/.test(value) || value.startsWith("/")) {
302
+ return false;
303
+ }
304
+ const normalized = normalizePosixPath(value);
305
+ return normalized !== "."
306
+ && normalized !== ".."
307
+ && !normalized.startsWith("../")
308
+ && !normalized.endsWith("/")
309
+ && normalized.startsWith(".frontend-harness/");
310
+ }
311
+ function normalizePosixPath(value) {
312
+ const parts = [];
313
+ for (const part of value.split("/")) {
314
+ if (!part || part === ".") {
315
+ continue;
316
+ }
317
+ if (part === "..") {
318
+ if (parts.length === 0) {
319
+ return `../${parts.join("/")}`;
320
+ }
321
+ parts.pop();
322
+ continue;
323
+ }
324
+ parts.push(part);
325
+ }
326
+ return parts.join("/") || ".";
327
+ }
112
328
  function isNonEmptyString(value) {
113
329
  return typeof value === "string" && Boolean(value.trim());
114
330
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/schemas/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/schemas/validation.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,13 @@
1
1
  export declare function ensureDir(dir: string): void;
2
2
  export declare function writeJson(filePath: string, value: unknown): void;
3
3
  export declare function writeJsonExclusive(filePath: string, value: unknown): void;
4
- export declare function readJson<T>(filePath: string): T | null;
4
+ export declare function readJson<T>(filePath: string, options?: {
5
+ maxBytes?: number;
6
+ label?: string;
7
+ }): T | null;
5
8
  export declare function writeText(filePath: string, value: string): void;
9
+ export declare function writeBuffer(filePath: string, value: Uint8Array): void;
10
+ export declare function chmodFileWithoutSymlink(filePath: string, mode: number): void;
11
+ export declare function assertSafeWriteTarget(filePath: string): void;
12
+ export declare function isRegularFileWithoutSymlink(filePath: string): boolean;
13
+ export declare function isDirectoryWithoutSymlink(dirPath: string): boolean;
@@ -1,24 +1,122 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  export function ensureDir(dir) {
4
- fs.mkdirSync(dir, { recursive: true });
4
+ ensureDirectoryWithoutSymlinks(dir);
5
5
  }
6
6
  export function writeJson(filePath, value) {
7
- ensureDir(path.dirname(filePath));
8
- fs.writeFileSync(filePath, `${JSON.stringify(value, null, 2)}\n`, "utf8");
7
+ writeTextAtomic(filePath, `${JSON.stringify(value, null, 2)}\n`);
9
8
  }
10
9
  export function writeJsonExclusive(filePath, value) {
11
- ensureDir(path.dirname(filePath));
10
+ assertSafeWriteTarget(filePath);
12
11
  fs.writeFileSync(filePath, `${JSON.stringify(value, null, 2)}\n`, { encoding: "utf8", flag: "wx" });
13
12
  }
14
- export function readJson(filePath) {
15
- if (!fs.existsSync(filePath)) {
13
+ export function readJson(filePath, options = {}) {
14
+ if (!isRegularFileWithoutSymlink(filePath)) {
16
15
  return null;
17
16
  }
17
+ if (options.maxBytes !== undefined) {
18
+ const stat = fs.statSync(filePath);
19
+ if (stat.size > options.maxBytes) {
20
+ throw new Error(`${options.label ?? path.basename(filePath)} exceeds ${options.maxBytes} bytes.`);
21
+ }
22
+ }
18
23
  return JSON.parse(fs.readFileSync(filePath, "utf8"));
19
24
  }
20
25
  export function writeText(filePath, value) {
21
- ensureDir(path.dirname(filePath));
22
- fs.writeFileSync(filePath, value, "utf8");
26
+ writeTextAtomic(filePath, value);
27
+ }
28
+ export function writeBuffer(filePath, value) {
29
+ writeFileAtomic(filePath, value);
30
+ }
31
+ export function chmodFileWithoutSymlink(filePath, mode) {
32
+ const noFollow = fs.constants.O_NOFOLLOW ?? 0;
33
+ const fd = fs.openSync(filePath, fs.constants.O_RDONLY | noFollow);
34
+ try {
35
+ const stat = fs.fstatSync(fd);
36
+ if (!stat.isFile()) {
37
+ throw new Error(`Mode target must be a file: ${filePath}`);
38
+ }
39
+ fs.fchmodSync(fd, mode);
40
+ }
41
+ finally {
42
+ fs.closeSync(fd);
43
+ }
44
+ }
45
+ function writeTextAtomic(filePath, value) {
46
+ writeFileAtomic(filePath, value);
47
+ }
48
+ function writeFileAtomic(filePath, value) {
49
+ assertSafeWriteTarget(filePath);
50
+ const tempPath = `${filePath}.tmp-${process.pid}-${Date.now()}-${Math.random().toString(16).slice(2)}`;
51
+ try {
52
+ fs.writeFileSync(tempPath, value, typeof value === "string" ? { encoding: "utf8", flag: "wx" } : { flag: "wx" });
53
+ fs.renameSync(tempPath, filePath);
54
+ }
55
+ catch (error) {
56
+ fs.rmSync(tempPath, { force: true });
57
+ throw error;
58
+ }
59
+ }
60
+ export function assertSafeWriteTarget(filePath) {
61
+ ensureDirectoryWithoutSymlinks(path.dirname(filePath));
62
+ const existing = fs.lstatSync(filePath, { throwIfNoEntry: false });
63
+ if (existing?.isSymbolicLink()) {
64
+ throw new Error(`Refusing to write through symlink: ${filePath}`);
65
+ }
66
+ if (existing && !existing.isFile()) {
67
+ throw new Error(`Write target must be a file: ${filePath}`);
68
+ }
69
+ }
70
+ function ensureDirectoryWithoutSymlinks(dir) {
71
+ const resolved = path.resolve(dir);
72
+ const parsed = path.parse(resolved);
73
+ const parts = path.relative(parsed.root, resolved).split(path.sep).filter(Boolean);
74
+ let current = parsed.root;
75
+ for (const part of parts) {
76
+ current = path.join(current, part);
77
+ const stat = fs.lstatSync(current, { throwIfNoEntry: false });
78
+ if (!stat) {
79
+ fs.mkdirSync(current);
80
+ continue;
81
+ }
82
+ if (stat.isSymbolicLink()) {
83
+ throw new Error(`Refusing to use symlinked directory: ${current}`);
84
+ }
85
+ if (!stat.isDirectory()) {
86
+ throw new Error(`Path component must be a directory: ${current}`);
87
+ }
88
+ }
89
+ }
90
+ export function isRegularFileWithoutSymlink(filePath) {
91
+ return pathHasTypeWithoutSymlink(filePath, (stat) => stat.isFile());
92
+ }
93
+ export function isDirectoryWithoutSymlink(dirPath) {
94
+ return pathHasTypeWithoutSymlink(dirPath, (stat) => stat.isDirectory());
95
+ }
96
+ function pathHasTypeWithoutSymlink(filePath, acceptsFinalStat) {
97
+ const resolved = path.resolve(filePath);
98
+ const parsed = path.parse(resolved);
99
+ const parts = path.relative(parsed.root, resolved).split(path.sep).filter(Boolean);
100
+ let current = parsed.root;
101
+ for (const [index, part] of parts.entries()) {
102
+ current = path.join(current, part);
103
+ let stat;
104
+ try {
105
+ stat = fs.lstatSync(current, { throwIfNoEntry: false });
106
+ }
107
+ catch {
108
+ return false;
109
+ }
110
+ if (index === parts.length - 1 && (!stat || !acceptsFinalStat(stat))) {
111
+ return false;
112
+ }
113
+ if (!stat || stat.isSymbolicLink()) {
114
+ return false;
115
+ }
116
+ if (index < parts.length - 1 && !stat.isDirectory()) {
117
+ return false;
118
+ }
119
+ }
120
+ return parts.length > 0;
23
121
  }
24
122
  //# sourceMappingURL=json.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/storage/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,KAAc;IACxD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,KAAc;IACjE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACtG,CAAC;AAED,MAAM,UAAU,QAAQ,CAAI,QAAgB;IAC1C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAM,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,KAAa;IACvD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/storage/json.ts"],"names":[],"mappings":"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"}
package/docs/RELEASE.md CHANGED
@@ -28,6 +28,7 @@ The temporary npm cache avoids local global-cache permission issues on machines
28
28
  Confirm the dry-run output includes only intended public artifacts, normally:
29
29
 
30
30
  - `dist/**`
31
+ - `templates/scaffold/**`
31
32
  - `README.md`
32
33
  - `CHANGELOG.md`
33
34
  - `docs/DIRECTION.md`
@@ -75,11 +76,14 @@ npm publish --access public
75
76
  Then create a git commit and tag if they were not already created:
76
77
 
77
78
  ```bash
78
- git add package.json package-lock.json CHANGELOG.md docs/RELEASE.md
79
+ git status --short
80
+ git add package.json package-lock.json CHANGELOG.md README.md docs/RELEASE.md docs/DIRECTION.md src tests templates
79
81
  git commit -m "Release v<version>"
80
82
  git tag v<version>
81
83
  ```
82
84
 
85
+ Adjust the `git add` paths to the actual release diff; do not include unrelated local review notes or generated runtime artifacts.
86
+
83
87
  Push the commit and tag:
84
88
 
85
89
  ```bash
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "frontend-harness",
3
- "version": "0.7.8",
3
+ "version": "0.7.10",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist",