frontend-harness 0.7.10 → 0.8.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 (68) hide show
  1. package/README.md +17 -10
  2. package/dist/cli/index.js +368 -65
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/runtime/builtin-skills.js +1 -1
  5. package/dist/runtime/clean.js +1 -0
  6. package/dist/runtime/clean.js.map +1 -1
  7. package/dist/runtime/command-taxonomy.js +6 -1
  8. package/dist/runtime/command-taxonomy.js.map +1 -1
  9. package/dist/runtime/context.d.ts +33 -2
  10. package/dist/runtime/context.js +63 -8
  11. package/dist/runtime/context.js.map +1 -1
  12. package/dist/runtime/evidence.d.ts +27 -0
  13. package/dist/runtime/evidence.js +240 -12
  14. package/dist/runtime/evidence.js.map +1 -1
  15. package/dist/runtime/ingest.d.ts +38 -0
  16. package/dist/runtime/ingest.js +157 -0
  17. package/dist/runtime/ingest.js.map +1 -0
  18. package/dist/runtime/knowledge/constants.js +1 -0
  19. package/dist/runtime/knowledge/constants.js.map +1 -1
  20. package/dist/runtime/knowledge/core.d.ts +7 -1
  21. package/dist/runtime/knowledge/core.js +329 -24
  22. package/dist/runtime/knowledge/core.js.map +1 -1
  23. package/dist/runtime/knowledge/types.d.ts +70 -1
  24. package/dist/runtime/knowledge.d.ts +2 -2
  25. package/dist/runtime/knowledge.js +1 -1
  26. package/dist/runtime/knowledge.js.map +1 -1
  27. package/dist/runtime/plan/guidance.d.ts +1 -1
  28. package/dist/runtime/plan/guidance.js +88 -25
  29. package/dist/runtime/plan/guidance.js.map +1 -1
  30. package/dist/runtime/plan/workflow.d.ts +1 -0
  31. package/dist/runtime/plan/workflow.js +32 -1
  32. package/dist/runtime/plan/workflow.js.map +1 -1
  33. package/dist/runtime/plan.d.ts +13 -0
  34. package/dist/runtime/plan.js +132 -79
  35. package/dist/runtime/plan.js.map +1 -1
  36. package/dist/runtime/policy-provenance.d.ts +17 -1
  37. package/dist/runtime/policy-provenance.js +42 -12
  38. package/dist/runtime/policy-provenance.js.map +1 -1
  39. package/dist/runtime/protocol-init.js +12 -7
  40. package/dist/runtime/protocol-init.js.map +1 -1
  41. package/dist/runtime/repair-packet.js +86 -4
  42. package/dist/runtime/repair-packet.js.map +1 -1
  43. package/dist/runtime/skills.d.ts +9 -0
  44. package/dist/runtime/skills.js +13 -0
  45. package/dist/runtime/skills.js.map +1 -1
  46. package/dist/runtime/state-explain.js +39 -7
  47. package/dist/runtime/state-explain.js.map +1 -1
  48. package/dist/runtime/state.js +36 -2
  49. package/dist/runtime/state.js.map +1 -1
  50. package/dist/runtime/task-context.d.ts +122 -0
  51. package/dist/runtime/task-context.js +1322 -0
  52. package/dist/runtime/task-context.js.map +1 -0
  53. package/dist/runtime/task-signals.d.ts +1 -0
  54. package/dist/runtime/task-signals.js +1 -1
  55. package/dist/runtime/task-signals.js.map +1 -1
  56. package/dist/runtime/ui-restoration.d.ts +3 -3
  57. package/dist/runtime/ui-restoration.js +3 -3
  58. package/dist/runtime/ui-restoration.js.map +1 -1
  59. package/dist/runtime/ui-source.d.ts +6 -0
  60. package/dist/runtime/ui-source.js +66 -0
  61. package/dist/runtime/ui-source.js.map +1 -0
  62. package/dist/runtime/verify.js +65 -25
  63. package/dist/runtime/verify.js.map +1 -1
  64. package/dist/schemas/types.d.ts +75 -2
  65. package/dist/schemas/validation.js +42 -7
  66. package/dist/schemas/validation.js.map +1 -1
  67. package/docs/DIRECTION.md +13 -11
  68. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"guidance.js","sourceRoot":"","sources":["../../../src/runtime/plan/guidance.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,UAAU,sBAAsB;IACpC,OAAO;QACL;YACE,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,cAAc;YACtB,WAAW,EAAE,QAAQ,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,mBAAmB,CAAC,iBAAiB,EAAE,aAAa,CAAC,kBAAkB;YAC/I,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;SAChB;QACD;YACE,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,YAAY;YACpB,WAAW,EAAE,sEAAsE;YACnF,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;SAChB;QACD;YACE,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,gBAAgB;YACxB,WAAW,EAAE,wFAAwF;YACrG,OAAO,EAAE,oBAAoB,CAAC,6CAA6C,CAAC;YAC5E,SAAS,EAAE,eAAe;SAC3B;QACD;YACE,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,kJAAkJ;YAC/J,OAAO,EAAE,oBAAoB,CAAC,gCAAgC,CAAC;YAC/D,SAAS,EAAE,yBAAyB;SACrC;QACD;YACE,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,yBAAyB;YACjC,WAAW,EAAE,+CAA+C,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC,4JAA4J;YACpQ,OAAO,EAAE,oBAAoB,CAAC,uCAAuC,CAAC;YACtE,SAAS,EAAE,6CAA6C;SACzD;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,IAAuB,EACvB,UAA2B,EAC3B,KAAsB,EACtB,iBAA0C,EAC1C,IAAc;IAEd,IAAI,IAAI,CAAC,gBAAgB,EAAE,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACxD,OAAO,8BAA8B,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO;;;;YAIG,IAAI,CAAC,MAAM;WACZ,IAAI,CAAC,KAAK;;;;UAIX,IAAI,CAAC,gBAAgB,EAAE,IAAI,IAAI,SAAS;aACrC,IAAI,CAAC,gBAAgB,EAAE,OAAO,IAAI,8BAA8B;eAC9D,CAAC,IAAI,CAAC,gBAAgB,EAAE,wBAAwB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;wBACxD,CAAC,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAIjF,oBAAoB,CAAC,IAAI,CAAC;;;;cAId,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM;aAC1E,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM;gBACpE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM;cAC/E,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM;;;;EAInE,iBAAiB,CAAC,IAAI,CAAC;;;;EAIvB,uBAAuB,CAAC,IAAI,CAAC;;;;EAI7B,iBAAiB,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAI7D,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAIhH,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CACzC,CAAC;AACF,CAAC;AAED,SAAS,8BAA8B,CACrC,IAAuB,EACvB,UAA2B,EAC3B,KAAsB,EACtB,iBAA0C,EAC1C,IAAc;IAEd,OAAO;;;;YAIG,IAAI,CAAC,MAAM;WACZ,IAAI,CAAC,KAAK;;;;;EAKnB,YAAY,CAAC,IAAI,CAAC;;;;sBAIE,sBAAsB,CAAC,KAAK,CAAC;2BACxB,0BAA0B,CAAC,KAAK,CAAC;;EAE1D,uBAAuB,CAAC,KAAK,CAAC;;;;;EAK9B,uBAAuB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;;;EAIhD,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAIhH,iBAAiB,CAAC,IAAI,CAAC;;;;EAIvB,iBAAiB,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;IAI3D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM;CAC1D,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,IAAuB;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ;QAC9B,CAAC,CAAC,gBAAgB,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG;QAC/I,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,KAAK,GAAG;QACZ,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI;QAC1C,QAAQ;QACR,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,qBAAqB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI;KAC1E,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;AAC7D,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAsB;IACpD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACxF,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACxD,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAsB;IACxD,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAChE,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAsB;IACrD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC;IACnF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,QAAQ,CAAC,GAAG,CAAC,mDAAmD,CAAC,EAAE,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,2lBAA2lB,CAAC,CAAC;IAC1mB,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,oMAAoM,CAAC,CAAC;QACjN,KAAK,CAAC,IAAI,CAAC,irBAAirB,CAAC,CAAC;QAC9rB,KAAK,CAAC,IAAI,CAAC,iYAAiY,CAAC,CAAC;QAC9Y,KAAK,CAAC,IAAI,CAAC,0UAA0U,CAAC,CAAC;QACvV,KAAK,CAAC,IAAI,CAAC,kKAAkK,CAAC,CAAC;QAC/K,KAAK,CAAC,IAAI,CAAC,wWAAwW,CAAC,CAAC;IACvX,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,mdAAmd,CAAC,CAAC;IACle,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,4IAA4I,CAAC,CAAC;IAC3J,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAuB,EAAE,UAAiC,EAAE;IAC3F,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC;IACzC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,kDAAkD,CAAC;IAC5D,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO;gBACxB,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE;gBAClC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,KAAK,cAAc,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9H,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,UAAU,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,KAAK,MAAM,aAAa,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC;YAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,KAAK,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,qBAAqB,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAuB;IAChD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,gBAAgB,EAAE,WAAW,IAAI,EAAE,CAAC;IAC5E,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QACnC,OAAO,KAAK,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAuB;IACnD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,IAAI,EAAE,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,qCAAqC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/E,MAAM,QAAQ,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5F,OAAO,GAAG,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,WAAW,KAAK,CAAC,IAAI,gBAAgB,SAAS,uBAAuB,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC/J,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,2BAA2B,CAAC,IAA2B;IAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,GAAG,OAAO,GAAG,SAAS,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAmB;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,EAAE,MAAM;QAChD,CAAC,CAAC,uBAAuB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC/D,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,IAAI,kBAAkB,WAAW,gBAAgB,YAAY,oBAAoB,aAAa,4BAA4B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC;AACtN,CAAC"}
1
+ {"version":3,"file":"guidance.js","sourceRoot":"","sources":["../../../src/runtime/plan/guidance.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { AgentPlanningDecision, FrontendWorkflowKind, FrontendWorkflowPolicy, WorkflowPlan, UiSourceReference } from "../../schemas/types.js";
2
2
  export interface WorkflowInputSignals {
3
3
  prd?: string;
4
+ apiSource?: string;
4
5
  uiSource?: UiSourceReference;
5
6
  }
6
7
  export declare function inferTaskIntent(scope: string, workflowKind: FrontendWorkflowKind): string;
@@ -30,7 +30,13 @@ export function inferFrontendWorkflow(scope, input, proposal) {
30
30
  const systemKind = selectSystemWorkflowKind(signals);
31
31
  const evidenceKind = selectEvidenceWorkflowKind(systemKind, proposal?.planningEvidence);
32
32
  const kind = evidenceKind ?? systemKind;
33
- return workflowPolicy(kind, { hasPrdSource: signals.hasPrdSource, hasUiSource: signals.hasDesignSourceSignal });
33
+ return workflowPolicy(kind, {
34
+ hasPrdSource: signals.hasPrdSource,
35
+ hasUiSource: signals.hasDesignSourceSignal,
36
+ hasExplicitPrdSource: Boolean(input.prd),
37
+ hasExplicitApiSource: Boolean(input.apiSource),
38
+ hasExplicitUiSource: Boolean(input.uiSource)
39
+ });
34
40
  }
35
41
  export function inferWorkflowPlan(primary, scope, input, proposal) {
36
42
  const signals = detectTaskSignals(scope, input);
@@ -256,9 +262,11 @@ function selectEvidenceWorkflowKind(systemKind, evidence) {
256
262
  return null;
257
263
  }
258
264
  function workflowPolicy(kind, inputSignals) {
265
+ const loopMode = workflowLoopMode(kind, inputSignals);
259
266
  const policies = {
260
267
  ui_implementation: {
261
268
  kind,
269
+ loopMode,
262
270
  summary: "Implement or adapt frontend UI while preserving project semantics, component boundaries, and validation evidence.",
263
271
  requiredKnowledgeActions: [
264
272
  ...(inputSignals.hasPrdSource
@@ -284,6 +292,7 @@ function workflowPolicy(kind, inputSignals) {
284
292
  },
285
293
  prd_knowledge: {
286
294
  kind,
295
+ loopMode,
287
296
  summary: "Convert PRD or requirement material into durable project knowledge before implementation.",
288
297
  requiredKnowledgeActions: [
289
298
  "Promote stable product concepts, terminology, permissions, workflows, and acceptance rules into .frontend-harness/knowledge/.",
@@ -297,6 +306,7 @@ function workflowPolicy(kind, inputSignals) {
297
306
  },
298
307
  api_integration: {
299
308
  kind,
309
+ loopMode,
300
310
  summary: "Integrate frontend behavior with API contracts using project knowledge plus Swagger/API evidence.",
301
311
  requiredKnowledgeActions: [
302
312
  "Reference relevant domain knowledge before mapping request parameters, DTOs, and response states.",
@@ -310,6 +320,7 @@ function workflowPolicy(kind, inputSignals) {
310
320
  },
311
321
  frontend_test: {
312
322
  kind,
323
+ loopMode,
313
324
  summary: "Add or update frontend E2E/integration coverage for user-visible behavior.",
314
325
  requiredKnowledgeActions: [
315
326
  "Use project knowledge to choose behavior-level assertions instead of implementation-detail assertions.",
@@ -323,6 +334,7 @@ function workflowPolicy(kind, inputSignals) {
323
334
  },
324
335
  bug_fix: {
325
336
  kind,
337
+ loopMode,
326
338
  summary: "Fix a frontend bug with evidence, minimal scope, and regression coverage proportional to risk.",
327
339
  requiredKnowledgeActions: [
328
340
  "Check project knowledge for intended behavior before changing code.",
@@ -336,6 +348,7 @@ function workflowPolicy(kind, inputSignals) {
336
348
  },
337
349
  frontend_review: {
338
350
  kind,
351
+ loopMode,
339
352
  summary: "Review frontend project changes or project health before handoff, with findings grounded in code and validation evidence.",
340
353
  requiredKnowledgeActions: [
341
354
  "Check project-local skills and knowledge before judging conventions.",
@@ -349,6 +362,7 @@ function workflowPolicy(kind, inputSignals) {
349
362
  },
350
363
  requirement_change: {
351
364
  kind,
365
+ loopMode,
352
366
  summary: "Apply requirement changes and keep implementation, tests, and knowledge synchronized.",
353
367
  requiredKnowledgeActions: [
354
368
  "Update project knowledge for changed product rules before or alongside code changes.",
@@ -362,6 +376,7 @@ function workflowPolicy(kind, inputSignals) {
362
376
  },
363
377
  documentation: {
364
378
  kind,
379
+ loopMode,
365
380
  summary: "Update project documentation or agent protocol text without inventing implementation files.",
366
381
  requiredKnowledgeActions: [
367
382
  "Keep documentation aligned with current product behavior and protocol boundaries."
@@ -374,6 +389,7 @@ function workflowPolicy(kind, inputSignals) {
374
389
  },
375
390
  maintenance: {
376
391
  kind,
392
+ loopMode,
377
393
  summary: "Maintain project tooling, runtime, CLI, configuration, or planning behavior.",
378
394
  requiredKnowledgeActions: [
379
395
  "Record durable product or protocol behavior changes when they affect future agent work."
@@ -387,4 +403,19 @@ function workflowPolicy(kind, inputSignals) {
387
403
  };
388
404
  return policies[kind];
389
405
  }
406
+ function workflowLoopMode(kind, inputSignals) {
407
+ if (kind === "ui_implementation" || kind === "prd_knowledge") {
408
+ return "full";
409
+ }
410
+ if (inputSignals.hasExplicitPrdSource || inputSignals.hasExplicitUiSource) {
411
+ return "full";
412
+ }
413
+ if (kind === "api_integration" && inputSignals.hasExplicitApiSource) {
414
+ return "full";
415
+ }
416
+ if (inputSignals.hasUiSource) {
417
+ return "full";
418
+ }
419
+ return "lightweight";
420
+ }
390
421
  //# sourceMappingURL=workflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/runtime/plan/workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/runtime/plan/workflow.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { AgentProposalCheckResult, ComponentItem, ExecutionGuidanceStep, Ex
2
2
  export interface PlanInput {
3
3
  taskText: string;
4
4
  prd?: string;
5
+ apiSource?: string;
5
6
  uiSource?: string;
6
7
  agentProposal?: string;
7
8
  }
@@ -13,7 +14,19 @@ export interface PlanOutput {
13
14
  componentGraphPath: string;
14
15
  guidancePath: string;
15
16
  statePath: string;
17
+ limits: {
18
+ guidance: {
19
+ components: PlanOutputLimit;
20
+ units: PlanOutputLimit;
21
+ };
22
+ };
16
23
  meta: PlanMeta;
17
24
  }
25
+ interface PlanOutputLimit {
26
+ selected: number;
27
+ total: number;
28
+ omitted: number;
29
+ }
18
30
  export declare function createPlan(projectRoot: string, input: PlanInput): PlanOutput;
19
31
  export declare function checkAgentPlanningProposal(projectRoot: string, file: string | undefined): AgentProposalCheckResult;
32
+ export {};
@@ -8,11 +8,26 @@ import { resolveProjectRelativePath } from "./project-paths.js";
8
8
  import { buildPolicyProvenance } from "./policy-provenance.js";
9
9
  import { discoverVerificationCommands } from "./verification-commands.js";
10
10
  import { UI_RESTORATION_VERIFICATION_FOCUS } from "./ui-restoration.js";
11
+ import { discoverKnowledgeCards } from "./knowledge.js";
11
12
  import { inferPlanComponents, resolveComponentSource, resolvePlanComponents } from "./plan/component-resolver.js";
12
13
  import { buildExecutionGuidance, renderGuidance } from "./plan/guidance.js";
13
14
  import { readAgentPlanningProposal } from "./plan/proposal.js";
14
15
  import { inferFrontendWorkflow, inferTaskIntent, inferWorkflowPlan, verificationForWorkflow } from "./plan/workflow.js";
15
16
  import { unitIdFromName } from "./common/naming.js";
17
+ import { externalDesignReference, inferLocalUiSourceKind, unsupportedDesignSourceUrlMessage } from "./ui-source.js";
18
+ import { listIngestRecords } from "./ingest.js";
19
+ const PROPOSAL_LIMITS = {
20
+ constraintHints: 10,
21
+ componentHints: 10,
22
+ workflowCandidates: 10,
23
+ targetCandidates: 20,
24
+ verificationCandidates: 20,
25
+ ambiguities: 20
26
+ };
27
+ const GUIDANCE_LIMITS = {
28
+ components: 10,
29
+ units: 10
30
+ };
16
31
  export function createPlan(projectRoot, input) {
17
32
  if (!input.taskText.trim()) {
18
33
  throw new Error("plan requires a task");
@@ -24,7 +39,7 @@ export function createPlan(projectRoot, input) {
24
39
  const components = resolved.components;
25
40
  const units = buildExecutionUnits(projectRoot, components, task, proposal);
26
41
  const componentGraph = buildComponentGraph(components, units);
27
- const executionGuidance = buildExecutionGuidance();
42
+ const executionGuidance = buildExecutionGuidance(task.frontendWorkflow?.loopMode ?? "full");
28
43
  const guidance = renderGuidance(task, components, units, executionGuidance, resolved.meta);
29
44
  const output = {
30
45
  task,
@@ -34,6 +49,12 @@ export function createPlan(projectRoot, input) {
34
49
  componentGraphPath: relativeHarnessPath("component-graph", "latest.json"),
35
50
  guidancePath: relativeHarnessPath("guidance", "latest.md"),
36
51
  statePath: relativeHarnessPath("state.json"),
52
+ limits: {
53
+ guidance: {
54
+ components: planOutputLimit(components.length, GUIDANCE_LIMITS.components),
55
+ units: planOutputLimit(units.length, GUIDANCE_LIMITS.units)
56
+ }
57
+ },
37
58
  meta: resolved.meta
38
59
  };
39
60
  writeJson(harnessPath(projectRoot, "plans", "latest.json"), output);
@@ -59,6 +80,7 @@ export function checkAgentPlanningProposal(projectRoot, file) {
59
80
  artifactPath: relativePath,
60
81
  contractVersion: proposal.contractVersion ?? null,
61
82
  proposal,
83
+ limits: proposalCheckLimits(proposal),
62
84
  errors: []
63
85
  };
64
86
  }
@@ -68,15 +90,44 @@ export function checkAgentPlanningProposal(projectRoot, file) {
68
90
  artifactPath,
69
91
  contractVersion: null,
70
92
  proposal: null,
93
+ limits: proposalCheckLimits(null),
71
94
  errors: [error instanceof Error ? error.message : String(error)]
72
95
  };
73
96
  }
74
97
  }
98
+ function proposalCheckLimits(proposal) {
99
+ return {
100
+ constraintHints: proposalFieldLimit(proposal?.constraintHints?.length ?? 0, PROPOSAL_LIMITS.constraintHints),
101
+ componentHints: proposalFieldLimit(proposal?.componentHints?.length ?? 0, PROPOSAL_LIMITS.componentHints),
102
+ workflowCandidates: proposalFieldLimit(proposal?.planningEvidence?.workflowCandidates?.length ?? 0, PROPOSAL_LIMITS.workflowCandidates),
103
+ targetCandidates: proposalFieldLimit(proposal?.planningEvidence?.targetCandidates?.length ?? 0, PROPOSAL_LIMITS.targetCandidates),
104
+ verificationCandidates: proposalFieldLimit(proposal?.planningEvidence?.verificationCandidates?.length ?? 0, PROPOSAL_LIMITS.verificationCandidates),
105
+ ambiguities: proposalFieldLimit(proposal?.planningEvidence?.ambiguities?.length ?? 0, PROPOSAL_LIMITS.ambiguities)
106
+ };
107
+ }
108
+ function proposalFieldLimit(total, max) {
109
+ const selected = Math.min(total, max);
110
+ return {
111
+ selected,
112
+ total,
113
+ omitted: Math.max(0, total - selected),
114
+ max
115
+ };
116
+ }
117
+ function planOutputLimit(total, max) {
118
+ const selected = Math.min(total, max);
119
+ return {
120
+ selected,
121
+ total,
122
+ omitted: Math.max(0, total - selected)
123
+ };
124
+ }
75
125
  function normalizePlanInput(projectRoot, input) {
76
126
  const inferredPrd = input.prd ? undefined : inferReferencedPrdFile(projectRoot, input.taskText);
77
127
  return {
78
128
  taskText: input.taskText,
79
129
  ...optionalString("prd", validateReferencedFile(projectRoot, input.prd ?? inferredPrd, "PRD")),
130
+ ...optionalString("apiSource", normalizeApiSourceReference(projectRoot, input.apiSource)),
80
131
  ...(input.uiSource ? { uiSource: normalizeUiSourceReference(projectRoot, input.uiSource) } : {}),
81
132
  ...optionalString("agentProposal", validateReferencedFile(projectRoot, input.agentProposal, "agent proposal"))
82
133
  };
@@ -155,6 +206,19 @@ function normalizeUiSourceReference(projectRoot, source) {
155
206
  value
156
207
  };
157
208
  }
209
+ function normalizeApiSourceReference(projectRoot, source) {
210
+ if (!source) {
211
+ return undefined;
212
+ }
213
+ const value = source.trim();
214
+ if (!value) {
215
+ throw new Error("API source cannot be empty.");
216
+ }
217
+ if (/^https?:\/\//i.test(value)) {
218
+ return value;
219
+ }
220
+ return validateReferencedFile(projectRoot, value, "API source");
221
+ }
158
222
  function validateReferencedFile(projectRoot, file, label) {
159
223
  if (!file) {
160
224
  return undefined;
@@ -163,7 +227,7 @@ function validateReferencedFile(projectRoot, file, label) {
163
227
  if (externalDesignReference(file)) {
164
228
  return file.trim();
165
229
  }
166
- throw new Error(`${label} URL must be a supported design source URL from Pixso, Figma, MasterGo, Lanhu, localhost, or 127.0.0.1.`);
230
+ throw new Error(unsupportedDesignSourceUrlMessage(label));
167
231
  }
168
232
  const { relativePath, fullPath } = resolveProjectRelativePath(projectRoot, file, `${label} file`);
169
233
  if (!isRegularFileWithoutSymlink(fullPath)) {
@@ -171,56 +235,6 @@ function validateReferencedFile(projectRoot, file, label) {
171
235
  }
172
236
  return relativePath;
173
237
  }
174
- function externalDesignReference(value) {
175
- let url;
176
- try {
177
- url = new URL(value.trim());
178
- }
179
- catch {
180
- return null;
181
- }
182
- if (url.protocol !== "http:" && url.protocol !== "https:") {
183
- return null;
184
- }
185
- const hostname = url.hostname.toLowerCase();
186
- const provider = uiSourceProviderForHost(hostname);
187
- return provider ? {
188
- kind: "design_url",
189
- value: value.trim(),
190
- provider
191
- } : null;
192
- }
193
- function isHostOrSubdomain(hostname, domain) {
194
- return hostname === domain || hostname.endsWith(`.${domain}`);
195
- }
196
- function uiSourceProviderForHost(hostname) {
197
- if (hostname === "localhost" || hostname === "127.0.0.1") {
198
- return "local";
199
- }
200
- if (isHostOrSubdomain(hostname, "pixso.cn")) {
201
- return "pixso";
202
- }
203
- if (isHostOrSubdomain(hostname, "figma.com")) {
204
- return "figma";
205
- }
206
- if (isHostOrSubdomain(hostname, "mastergo.com")) {
207
- return "mastergo";
208
- }
209
- if (isHostOrSubdomain(hostname, "lanhuapp.com")) {
210
- return "lanhu";
211
- }
212
- return null;
213
- }
214
- function inferLocalUiSourceKind(value) {
215
- const extension = path.extname(value).toLowerCase();
216
- if ([".png", ".jpg", ".jpeg", ".webp", ".avif", ".gif"].includes(extension)) {
217
- return "visual_artifact";
218
- }
219
- if ([".html", ".htm"].includes(extension)) {
220
- return "generated_markup";
221
- }
222
- return "design_artifact";
223
- }
224
238
  function understandTask(projectRoot, input, proposal) {
225
239
  const text = input.taskText.trim();
226
240
  const scope = text;
@@ -232,7 +246,9 @@ function understandTask(projectRoot, input, proposal) {
232
246
  intent,
233
247
  scope,
234
248
  constraints: [
235
- "Use the agent-invoked harness loop.",
249
+ frontendWorkflow.loopMode === "full"
250
+ ? "Use the agent-invoked full harness loop because this task benefits from managed context, evidence, or traceability."
251
+ : "Use lightweight project guidance; reserve the full harness loop for explicit source material, evidence, or traceability needs.",
236
252
  "CLI owns project facts and verification.",
237
253
  "System owns final planning decisions; agent proposals are bounded inputs resolved through policy.",
238
254
  ...frontendWorkflow.implementationConstraints,
@@ -240,15 +256,33 @@ function understandTask(projectRoot, input, proposal) {
240
256
  ],
241
257
  frontendWorkflow,
242
258
  workflowPlan,
243
- policyProvenance: buildPolicyProvenance(projectRoot, scope, frontendWorkflow.kind),
259
+ policyProvenance: buildPolicyProvenance(projectRoot, scope, frontendWorkflow.kind, {
260
+ sourceReferences: planPolicySourceReferences(projectRoot, input)
261
+ }),
244
262
  inputs: {
245
263
  ...(input.prd ? { prd: input.prd } : {}),
264
+ ...(input.apiSource ? { apiSource: input.apiSource } : {}),
246
265
  ...(input.uiSource ? { uiSource: input.uiSource } : {}),
247
266
  ...(input.agentProposal ? { agentProposal: input.agentProposal } : {})
248
267
  },
249
268
  ...buildAgentPlanningMetadata(input.agentProposal, proposal)
250
269
  };
251
270
  }
271
+ function planPolicySourceReferences(projectRoot, input) {
272
+ const directSources = [input.prd, input.apiSource, input.uiSource?.value]
273
+ .filter((source) => Boolean(source));
274
+ if (directSources.length === 0) {
275
+ return [];
276
+ }
277
+ const ingestRecords = listIngestRecords(projectRoot, undefined, { limit: "all" }).records;
278
+ const ingestRefs = ingestRecords
279
+ .filter((record) => directSources.some((source) => sameSourceReference(record.source.value, source)))
280
+ .map((record) => record.ingestRef);
281
+ return [...new Set([...directSources, ...ingestRefs])];
282
+ }
283
+ function sameSourceReference(left, right) {
284
+ return left.replace(/\\/g, "/").toLowerCase() === right.replace(/\\/g, "/").toLowerCase();
285
+ }
252
286
  function buildAgentPlanningMetadata(proposalPath, proposal) {
253
287
  if (!proposalPath) {
254
288
  return {
@@ -264,7 +298,8 @@ function buildAgentPlanningMetadata(proposalPath, proposal) {
264
298
  intentSuggestion: proposal?.intentSuggestion ?? null,
265
299
  ...(proposal?.constraintHints ? { constraintHints: proposal.constraintHints } : {}),
266
300
  ...(proposal?.componentHints ? { componentHints: proposal.componentHints } : {}),
267
- ...(proposal?.planningEvidence ? { planningEvidence: proposal.planningEvidence } : {})
301
+ ...(proposal?.planningEvidence ? { planningEvidence: proposal.planningEvidence } : {}),
302
+ limits: proposalCheckLimits(proposal)
268
303
  }
269
304
  };
270
305
  }
@@ -377,7 +412,7 @@ function describePlanningEvidence(evidence) {
377
412
  }
378
413
  function buildExecutionUnits(projectRoot, components, task, proposal) {
379
414
  const verification = resolveVerificationFocus(projectRoot, task, proposal);
380
- const verificationEvidence = resolveVerificationEvidence(task, proposal);
415
+ const verificationEvidence = resolveVerificationEvidence(projectRoot, task, proposal);
381
416
  const units = components.map((component) => toUnit(component, task, verification, verificationEvidence));
382
417
  const pageComponents = components.filter((component) => component.orchestrationRole === "page");
383
418
  const pageUnits = pageComponents.length
@@ -425,32 +460,50 @@ function resolveVerificationFocus(projectRoot, task, proposal) {
425
460
  .slice(0, 10);
426
461
  return [...new Set([...base, ...evidence])];
427
462
  }
428
- function resolveVerificationEvidence(task, proposal) {
463
+ function resolveVerificationEvidence(projectRoot, task, proposal) {
429
464
  const hasUiImplementationStage = task.frontendWorkflow?.kind === "ui_implementation"
430
465
  || Boolean(task.workflowPlan?.stages.some((stage) => stage.kind === "ui_implementation"));
431
- if (!hasUiImplementationStage) {
432
- return [];
466
+ const hasExplicitApiSource = Boolean(task.inputs?.apiSource);
467
+ const hasApiIntegrationStage = task.frontendWorkflow?.kind === "api_integration"
468
+ || Boolean(task.workflowPlan?.stages.some((stage) => stage.kind === "api_integration"));
469
+ const evidenceFocus = [];
470
+ if (hasApiIntegrationStage && (hasExplicitApiSource || hasSelectedApiContractKnowledge(projectRoot, task))) {
471
+ evidenceFocus.push("API contract mapping", "integration test or API mock");
433
472
  }
434
- const needsVisualEvidence = Boolean(task.inputs?.uiSource) || mentionsSelectedDesignSource(task.scope);
435
- const evidenceFocus = UI_RESTORATION_VERIFICATION_FOCUS
436
- .filter((focus) => focus !== "typecheck")
437
- .filter((focus) => focus !== "visual restoration when design source is provided" || needsVisualEvidence)
438
- .filter((focus) => focus !== "design source evidence" || needsVisualEvidence)
439
- .filter((focus) => focus !== "semantic component mapping" || needsVisualEvidence)
440
- .filter((focus) => focus !== "visual baseline" || needsVisualEvidence);
441
- const proposed = (proposal?.planningEvidence?.verificationCandidates ?? [])
442
- .map((candidate) => normalizeVerificationFocus(candidate.kind))
443
- .filter((candidate) => candidate && UI_RESTORATION_VERIFICATION_FOCUS.includes(candidate))
444
- .filter((candidate) => {
445
- if (needsVisualEvidence) {
446
- return true;
447
- }
448
- return candidate !== "design source evidence"
449
- && candidate !== "semantic component mapping"
450
- && candidate !== "visual baseline"
451
- && candidate !== "visual restoration when design source is provided";
452
- });
453
- return [...new Set([...evidenceFocus, ...proposed])];
473
+ if (hasUiImplementationStage) {
474
+ const needsVisualEvidence = Boolean(task.inputs?.uiSource) || mentionsSelectedDesignSource(task.scope);
475
+ evidenceFocus.push(...UI_RESTORATION_VERIFICATION_FOCUS
476
+ .filter((focus) => focus !== "typecheck")
477
+ .filter((focus) => focus !== "visual restoration when design source is provided" || needsVisualEvidence)
478
+ .filter((focus) => focus !== "design source evidence" || needsVisualEvidence)
479
+ .filter((focus) => focus !== "semantic component mapping" || needsVisualEvidence)
480
+ .filter((focus) => focus !== "visual baseline" || needsVisualEvidence));
481
+ }
482
+ const proposedUiEvidence = hasUiImplementationStage
483
+ ? (proposal?.planningEvidence?.verificationCandidates ?? [])
484
+ .map((candidate) => normalizeVerificationFocus(candidate.kind))
485
+ .filter((candidate) => candidate && UI_RESTORATION_VERIFICATION_FOCUS.includes(candidate))
486
+ .filter((candidate) => {
487
+ const needsVisualEvidence = Boolean(task.inputs?.uiSource) || mentionsSelectedDesignSource(task.scope);
488
+ if (needsVisualEvidence) {
489
+ return true;
490
+ }
491
+ return candidate !== "design source evidence"
492
+ && candidate !== "semantic component mapping"
493
+ && candidate !== "visual baseline"
494
+ && candidate !== "visual restoration when design source is provided";
495
+ })
496
+ : [];
497
+ return [...new Set([...evidenceFocus, ...proposedUiEvidence])];
498
+ }
499
+ function hasSelectedApiContractKnowledge(projectRoot, task) {
500
+ const selectedReferences = new Set(task.policyProvenance?.knowledgeReferences ?? []);
501
+ if (!selectedReferences.size) {
502
+ return false;
503
+ }
504
+ return discoverKnowledgeCards(projectRoot).some((card) => card.status === "active"
505
+ && card.type === "api_contract"
506
+ && selectedReferences.has(card.path));
454
507
  }
455
508
  function mentionsSelectedDesignSource(scope) {
456
509
  const normalized = scope.toLowerCase();