sdd-mcp-server 1.5.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,7 +19,7 @@ import { TemplateService } from "../../application/services/TemplateService.js";
19
19
  import { QualityService } from "../../application/services/QualityService.js";
20
20
  import { SteeringDocumentService } from "../../application/services/SteeringDocumentService.js";
21
21
  import { CodebaseAnalysisService } from "../../application/services/CodebaseAnalysisService.js";
22
- import { RequirementsClarificationService, } from "../../application/services/RequirementsClarificationService.js";
22
+ import { RequirementsClarificationService } from "../../application/services/RequirementsClarificationService.js";
23
23
  import { WorkflowPhase } from "../../domain/types.js";
24
24
  import { ensureStaticSteeringDocuments } from "../../application/services/staticSteering.js";
25
25
  let SDDToolAdapter = class SDDToolAdapter {
@@ -1 +1 @@
1
- {"version":3,"file":"SDDToolAdapter.js","sourceRoot":"","sources":["../../../src/adapters/cli/SDDToolAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SDDToolAdapter.js","sourceRoot":"","sources":["../../../src/adapters/cli/SDDToolAdapter.ts"],"names":[],"mappings":"AAAA,4DAA4D;;;;;;;;;;;;;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uDAAuD,CAAC;AAChG,OAAO,EAAE,uBAAuB,EAAE,MAAM,uDAAuD,CAAC;AAChG,OAAO,EAAE,gCAAgC,EAAE,MAAM,gEAAgE,CAAC;AAElH,OAAO,EAAE,aAAa,EAAwB,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAStF,IAAM,cAAc,GAApB,MAAM,cAAc;IAGN;IAEA;IAEA;IAEA;IAEA;IAEA;IAEA;IAC0B;IAf7C,YAEmB,cAA8B,EAE9B,eAAgC,EAEhC,eAAgC,EAEhC,cAA8B,EAE9B,eAAwC,EAExC,uBAAgD,EAEhD,oBAAsD,EAC5B,MAAkB;QAb5C,mBAAc,GAAd,cAAc,CAAgB;QAE9B,oBAAe,GAAf,eAAe,CAAiB;QAEhC,oBAAe,GAAf,eAAe,CAAiB;QAEhC,mBAAc,GAAd,cAAc,CAAgB;QAE9B,oBAAe,GAAf,eAAe,CAAyB;QAExC,4BAAuB,GAAvB,uBAAuB,CAAyB;QAEhD,yBAAoB,GAApB,oBAAoB,CAAkC;QAC5B,WAAM,GAAN,MAAM,CAAY;IAC5D,CAAC;IAEJ,WAAW;QACT,OAAO;YACL;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,WAAW,EACT,0EAA0E;oBAC5E,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,uCAAuC;6BACrD;4BACD,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,qBAAqB;6BACnC;4BACD,oBAAoB,EAAE;gCACpB,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,kDAAkD;gCAC/D,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6BACzC;yBACF;wBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;qBAC1B;iBACF;gBACD,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC3C;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE;oBACJ,IAAI,EAAE,YAAY;oBAClB,WAAW,EACT,2DAA2D;oBAC7D,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE;4BACxD,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,kCAAkC;6BAChD;yBACF;qBACF;iBACF;gBACD,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC7C;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE;oBACJ,IAAI,EAAE,kBAAkB;oBACxB,WAAW,EAAE,2BAA2B;oBACxC,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;yBAC7D;wBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;qBAC1B;iBACF;gBACD,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC5C;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE;oBACJ,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,8BAA8B;oBAC3C,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;yBAC7D;wBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;qBAC1B;iBACF;gBACD,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;aACtC;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,WAAW,EAAE,yBAAyB;oBACtC,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;yBAC7D;wBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;qBAC1B;iBACF;gBACD,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;aACrC;YACD;gBACE,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE;oBACJ,IAAI,EAAE,mBAAmB;oBACzB,WAAW,EAAE,2CAA2C;oBACxD,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE;4BACxD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;yBAClE;wBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;qBACnB;iBACF;gBACD,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC5C;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE;oBACJ,IAAI,EAAE,cAAc;oBACpB,WAAW,EACT,iEAAiE;oBACnE,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,UAAU,EAAE;gCACV,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gCAC1B,WAAW,EACT,oDAAoD;6BACvD;yBACF;qBACF;iBACF;gBACD,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;aACxC;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE;oBACJ,IAAI,EAAE,qBAAqB;oBAC3B,WAAW,EACT,2DAA2D;oBAC7D,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,QAAQ,EAAE;gCACR,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,2CAA2C;6BACzD;4BACD,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,+CAA+C;6BAC7D;4BACD,aAAa,EAAE;gCACb,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC;gCACzC,WAAW,EAAE,+CAA+C;6BAC7D;4BACD,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,wCAAwC;6BACtD;yBACF;wBACD,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,eAAe,CAAC;qBACjD;iBACF;gBACD,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC9C;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,IAA6B;QAE7B,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,EAAE,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC;QAErE,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAElC,0CAA0C;QAC1C,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAC/D,WAAqB,EACrB,WAAW,CACZ,CAAC;YAEF,sDAAsD;YACtD,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBAClD,OAAO,IAAI,CAAC,4BAA4B,CACtC,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,QAAS,CACjB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,IAAI,mBAAmB,GAAG,WAAqB,CAAC;QAChD,IAAI,oBAAoB,IAAI,OAAO,oBAAoB,KAAK,QAAQ,EAAE,CAAC;YACrE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAC/D,WAAqB,EACrB,WAAW,CACZ,CAAC;YAEF,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAC1D,MAAM,CAAC,SAAS,EAChB,oBAA4C,CAC7C,CAAC;gBAEF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CACb,6BAA6B,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrE,CAAC;gBACJ,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,CAC9D,WAAqB,EACrB,MAAM,CAAC,SAAS,EAChB,oBAA4C,CAC7C,CAAC;gBAEF,mBAAmB,GAAG,QAAQ,CAAC,QAAQ,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CACrD,WAAW,EACX,WAAW,EACX,IAAI,CACL,CAAC;QAEF,6BAA6B;QAC7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzE,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CACzC,OAAO,EACP,WAAW,EACX,WAAW,CACZ,CAAC;QAEF,uCAAuC;QACvC,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAEzC,MAAM,iBAAiB,GAAG,oBAAoB;YAC5C,CAAC,CAAC,6GAA6G;YAC/G,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO,YAAY,WAAW,2CAA2C,OAAO,CAAC,EAAE,qBAAqB,mBAAmB,GAAG,iBAAiB,EAAE,CAAC;IACpJ,CAAC;IAEO,4BAA4B,CAClC,SAAgB,EAChB,QAAa;QAEb,IAAI,MAAM,GAAG,0CAA0C,CAAC;QACxD,MAAM;YACJ,uFAAuF,CAAC;QAC1F,MAAM,IAAI,sBAAsB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,gCAAgC,CAAC;QAClG,MAAM,IAAI,wCAAwC,CAAC;QAEnD,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,WAAW,KAAK,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;YACpF,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,gBAAgB,CAAC;gBAC3B,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC5B,MAAM,IAAI,QAAQ,EAAE,IAAI,CAAC;gBAC3B,CAAC;YACH,CAAC;YACD,MAAM,IAAI,mBAAmB,CAAC,CAAC,EAAE,QAAQ,CAAC;YAC1C,WAAW,EAAE,CAAC;QAChB,CAAC;QAED,MAAM,IAAI,kCAAkC,CAAC;QAC7C,MAAM;YACJ,oFAAoF,CAAC;QAEvF,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,IAA6B;QAE7B,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAExC,IAAI,OAAO,CAAC;QACZ,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC;aAAM,IAAI,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC1D,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,+BAA+B,CAAC;QACzC,CAAC;QAED,IAAI,MAAM,GAAG,YAAY,OAAO,CAAC,IAAI,IAAI,CAAC;QAC1C,MAAM,IAAI,kBAAkB,MAAM,CAAC,YAAY,IAAI,CAAC;QACpD,MAAM,IAAI,eAAe,MAAM,CAAC,SAAS,IAAI,UAAU,IAAI,CAAC;QAC5D,MAAM,IAAI,iBAAiB,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAEjE,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,aAAa,CAAC;YACxB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,OAAO,IAAI,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,IAA6B;QAE7B,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAE3B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,gDAAgD;QAChD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,CACnE,SAAS,EACT,aAAa,CAAC,YAAY,CAC3B,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,iCAAiC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,iCAAiC;QACjC,MAAM,OAAO,GACX,MAAM,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CACzC,OAAO,EACP,iBAAiB,EACjB,OAAO,CACR,CAAC;QAEF,2CAA2C;QAC3C,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAC1C,SAAS,EACT,aAAa,CAAC,YAAY,CAC3B,CAAC;QACF,MAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,cAAc,EAAE;YACxE,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QAEH,OAAO,gDAAgD,OAAO,CAAC,IAAI,GAAG,CAAC;IACzE,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAA6B;QACtD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAE3B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,0CAA0C;QAC1C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,CACnE,SAAS,EACT,aAAa,CAAC,MAAM,CACrB,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,2BAA2B,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,2BAA2B;QAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC3E,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAE3E,2CAA2C;QAC3C,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAC1C,SAAS,EACT,aAAa,CAAC,MAAM,CACrB,CAAC;QACF,MAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,QAAQ,EAAE;YAClE,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QAEH,OAAO,0CAA0C,OAAO,CAAC,IAAI,GAAG,CAAC;IACnE,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,IAA6B;QACrD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAE3B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,yCAAyC;QACzC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,CACnE,SAAS,EACT,aAAa,CAAC,KAAK,CACpB,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,0BAA0B,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,0BAA0B;QAC1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC1E,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAE1E,2CAA2C;QAC3C,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAC1C,SAAS,EACT,aAAa,CAAC,KAAK,CACpB,CAAC;QACF,MAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,OAAO,EAAE;YACjE,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QAEH,OAAO,yCAAyC,OAAO,CAAC,IAAI,GAAG,CAAC;IAClE,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,IAA6B;QAE7B,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC;QAE/C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC;YAC3D,IAAI;YACJ,QAAQ,EAAE,QAAkB;SAC7B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAA6B;QACxD,MAAM,EAAE,UAAU,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QACvC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAElC,IAAI,CAAC;YACH,sBAAsB;YACtB,MAAM,QAAQ,GACZ,MAAM,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAElE,wDAAwD;YACxD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YACpE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAC9D,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;YAExE,4BAA4B;YAC5B,MAAM,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,WAAW,EAAE;gBAC7D,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAgB;gBACtB,IAAI,EAAE,QAAe;gBACrB,OAAO,EAAE,cAAc;aACxB,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,WAAW,EAAE;gBAC7D,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAkB;gBACxB,IAAI,EAAE,QAAe;gBACrB,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,WAAW,EAAE;gBAC7D,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,WAAkB;gBACxB,IAAI,EAAE,QAAe;gBACrB,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAC;YAEH,uDAAuD;YACvD,MAAM,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC;YAEtD,uCAAuC;YACvC,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAEzC,qCAAqC;YACrC,IAAI,WAAW,GAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBAC3D,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/B,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;oBAC5D,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gBAAgB;YAClB,CAAC;YAED,OAAO;;eAEE,WAAW,CAAC,IAAI,IAAI,SAAS;YAChC,UAAU;;;;;;;;sBAQA,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,YAAY,EAAE,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC,MAAM;kBACvF,WAAW,CAAC,IAAI,IAAI,SAAS;;;2HAG4E,CAAC;QACxH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,uCAAuC,EACvC,KAAc,CACf,CAAC;YACF,MAAM,IAAI,KAAK,CACb,0CAA2C,KAAe,CAAC,OAAO,EAAE,CACrE,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,IAA6B;QAE7B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7D,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAElC,IACE,OAAO,QAAQ,KAAK,QAAQ;YAC5B,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,aAAa,KAAK,QAAQ,EACjC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,KAAK;;;;;;;;;;;;;QAatB,aAAa,GACf,WAAW;YACT,CAAC,CAAC;WACC,WAAW,EAAE;YAChB,CAAC,CAAC,EACN;;gBAEY,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;CACvC,CAAC;QAEE,MAAM,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,WAAW,EAAE;YAC7D,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAe;YACrB,IAAI,EAAE,aAAa,CAAC,WAAW,EAAS;YACxC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,WAAqB,CAAC,CAAC,CAAC,CAAC,EAAE;YACpD,OAAO;SACR,CAAC,CAAC;QAEH,OAAO,6BAA6B,QAAQ,+BAA+B,aAAa,kBAAkB,CAAC;IAC7G,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,QAAa;QACjD,4CAA4C;QAC5C,IAAI,WAAW,GAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;YAC7D,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC5D,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gBAAgB;QAClB,CAAC;QAED,OAAO;;;EAGT,WAAW,CAAC,WAAW,IAAI,0BAA0B;;;EAGrD,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC;aAC1C,GAAG,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC;aACxC,IAAI,CAAC,IAAI,CAAC;;;EAGX,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC;;;EAGvC,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,QAAQ,CAAC;;;EAGpD,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;IACxC,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,QAAa;QAC9C,4CAA4C;QAC5C,IAAI,WAAW,GAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;YAC7D,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC5D,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gBAAgB;QAClB,CAAC;QAED,OAAO;;;EAGT,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,QAAQ,CAAC;;;aAGlC,WAAW,CAAC,OAAO,EAAE,IAAI,IAAI,SAAS;;;;EAIjD,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC;;;EAGxC,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC;;;EAG3C,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,EAAE,CAAC;IAC7C,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,QAAa;QACnD,OAAO;;;EAGT,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC;;;EAGzC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC;;;EAGxC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC;;;EAGzC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;IAClC,CAAC;IAEO,eAAe,CAAC,WAAgB,EAAE,QAAa;QACrD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,gCAAgC;QAChC,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI;gBAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACjE,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK;gBAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC7D,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK;gBACtD,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACtC,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI;gBAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5D,IAAI,WAAW,CAAC,OAAO,CAAC,SAAS;gBAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpE,CAAC;QAED,qCAAqC;QACrC,MAAM,IAAI,GAAG;YACX,GAAG,WAAW,CAAC,YAAY;YAC3B,GAAG,WAAW,CAAC,eAAe;SAC/B,CAAC;QACF,IAAI,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE,GAAG;YAC7C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9B,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,OAAO;YAC3C,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACtC,IAAI,IAAI,EAAE,UAAU;YAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC1D,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,MAAM;YAC3C,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChC,IAAI,IAAI,EAAE,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAE5D,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC;YACxB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC;IAC3C,CAAC;IAEO,qBAAqB,CAAC,WAAgB;QAC5C,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;YACzB,OAAO,gCAAgC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QACtF,CAAC;QACD,OAAO,+DAA+D,CAAC;IACzE,CAAC;IAEO,wBAAwB,CAAC,WAAgB,EAAE,QAAa;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAE7D,OAAO,QAAQ;aACZ,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,qCAAqC,CAAC;aACrE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAEO,mBAAmB,CAAC,WAAgB;QAC1C,IAAI,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,OAAO,mEAAmE,CAAC;QAC7E,CAAC;QACD,IAAI,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,OAAO,4CAA4C,CAAC;QACtD,CAAC;QACD,OAAO,kDAAkD,CAAC;IAC5D,CAAC;IAEO,iBAAiB,CAAC,WAAgB,EAAE,QAAa;QACvD,MAAM,IAAI,GAAG;YACX,GAAG,WAAW,CAAC,YAAY;YAC3B,GAAG,WAAW,CAAC,eAAe;SAC/B,CAAC;QAEF,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,IAAI,EAAE,UAAU;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/C,IAAI,IAAI,EAAE,IAAI,IAAI,WAAW,CAAC,OAAO,EAAE,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,IAAI,EAAE,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAI,IAAI,EAAE,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,IAAI,EAAE,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEpC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAClB,CAAC,CAAC,gCAAgC,CAAC;IACvC,CAAC;IAEO,sBAAsB,CAAC,WAAgB;QAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;QAEnE,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,IAAI,+BAA+B,CAAC;YACxC,IAAI,IAAI,UAAU;iBACf,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;iBACZ,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;iBAChC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,IAAI,kCAAkC,CAAC;YAC3C,IAAI,IAAI,WAAW;iBAChB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;iBACZ,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;iBAChC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,IAAI,6BAA6B,CAAC;IAC/C,CAAC;IAEO,4BAA4B,CAAC,QAAa;QAChD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,qDAAqD;QACrD,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACnE,MAAM,WAAW,GAAG,KAAK;iBACtB,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;iBACzC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEjC,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC7B,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAC5C,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC;gBACnE,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC3C,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC/D,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,2BAA2B;QAC7B,CAAC;QAED,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC;YACxB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1C,CAAC,CAAC,0BAA0B,CAAC;IACjC,CAAC;IAEO,wBAAwB,CAAC,WAAgB;QAC/C,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,IAAI,WAAW,CAAC,OAAO,EAAE,IAAI;YAAE,SAAS,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC1E,IAAI,WAAW,CAAC,OAAO,EAAE,SAAS;YAChC,SAAS,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAClD,IAAI,WAAW,CAAC,OAAO,EAAE,IAAI;YAAE,SAAS,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAEvE,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC;YACzB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3C,CAAC,CAAC,mCAAmC,CAAC;IAC1C,CAAC;IAEO,0BAA0B,CAAC,QAAa;QAC9C,iDAAiD;QACjD,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACnE,MAAM,WAAW,GAAG,KAAK;iBACtB,MAAM,CACL,CAAC,IAAS,EAAE,EAAE,CACZ,IAAI,CAAC,WAAW,EAAE;gBAClB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAC1B,IAAI,CAAC,IAAI,KAAK,cAAc,CAC/B;iBACA,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC;iBACrC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,OAAO,WAAW,IAAI,oCAAoC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,oCAAoC,CAAC;QAC9C,CAAC;IACH,CAAC;IAEO,yBAAyB,CAAC,QAAa;QAC7C,OAAO;;;qCAG0B,CAAC;IACpC,CAAC;IAEO,0BAA0B,CAAC,QAAa;QAC9C,OAAO;;;mCAGwB,CAAC;IAClC,CAAC;IAEO,gBAAgB,CAAC,QAAa;QACpC,uCAAuC;QACvC,IAAI,WAAW,GAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;YAC7D,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC5D,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gBAAgB;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;QAE1C,IAAI,QAAQ,GAAG,2BAA2B,CAAC;QAC3C,IAAI,OAAO,CAAC,GAAG;YACb,QAAQ,IAAI,gDAAgD,CAAC;QAC/D,IAAI,OAAO,CAAC,KAAK;YACf,QAAQ,IAAI,8CAA8C,CAAC;QAC7D,IAAI,OAAO,CAAC,IAAI;YAAE,QAAQ,IAAI,kCAAkC,CAAC;QACjE,IAAI,OAAO,CAAC,IAAI;YAAE,QAAQ,IAAI,2CAA2C,CAAC;QAE1E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,6BAA6B,CACzC,WAAmB;QAEnB,MAAM,6BAA6B,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACzE,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,WAAmB;QAChD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAElC,iEAAiE;QACjE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,2CAA2C;YAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACvD,IAAI,aAAa,GAAG,EAAE,CAAC;YAEvB,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,iDAAiD;gBACjD,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAC1D,aAAa,GAAG,aAAa;qBAC1B,OAAO,CACN,wCAAwC,EACxC,oCAAoC,CACrC;qBACA,OAAO,CAAC,cAAc,EAAE,UAAU,CAAC;qBACnC,OAAO,CAAC,cAAc,EAAE,UAAU,CAAC;qBACnC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC;qBAC9B,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,wDAAwD;gBACxD,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA6ER,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;CACvC,CAAC;YACI,CAAC;YAED,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;CACF,CAAA;AAl/BY,cAAc;IAD1B,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IAE5B,WAAA,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAE7B,WAAA,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAE7B,WAAA,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IAE5B,WAAA,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAErC,WAAA,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAErC,WAAA,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;IAE9C,WAAA,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;qCAbQ,cAAc;QAEb,eAAe;QAEf,eAAe;QAEhB,cAAc;QAEb,uBAAuB;QAEf,uBAAuB;QAE1B,gCAAgC;GAf9D,cAAc,CAk/B1B"}
@@ -1,8 +1,5 @@
1
- import { FileSystemPort, LoggerPort } from '../../domain/ports.js';
2
- import { ClarificationQuestion, EnrichedProjectDescription, ClarificationResult } from '../../domain/types.js';
3
- export interface ClarificationAnswers {
4
- [questionId: string]: string;
5
- }
1
+ import { FileSystemPort, LoggerPort } from "../../domain/ports.js";
2
+ import { ClarificationQuestion, EnrichedProjectDescription, ClarificationResult, ClarificationAnswers, AnswerValidationResult } from "../../domain/types.js";
6
3
  export declare class RequirementsClarificationService {
7
4
  private readonly fileSystem;
8
5
  private readonly logger;
@@ -14,10 +11,7 @@ export declare class RequirementsClarificationService {
14
11
  /**
15
12
  * Validates and processes clarification answers
16
13
  */
17
- validateAnswers(questions: ClarificationQuestion[], answers: ClarificationAnswers): {
18
- valid: boolean;
19
- missingRequired: string[];
20
- };
14
+ validateAnswers(questions: ClarificationQuestion[], answers: ClarificationAnswers): AnswerValidationResult;
21
15
  /**
22
16
  * Synthesizes an enriched project description from original + answers
23
17
  */
@@ -10,10 +10,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
- import { injectable, inject } from 'inversify';
14
- import { v4 as uuidv4 } from 'uuid';
15
- import { TYPES } from '../../infrastructure/di/types.js';
16
- import { QuestionCategory } from '../../domain/types.js';
13
+ import { injectable, inject } from "inversify";
14
+ import { v4 as uuidv4 } from "uuid";
15
+ import { TYPES } from "../../infrastructure/di/types.js";
16
+ import { QuestionCategory, } from "../../domain/types.js";
17
+ import { QUALITY_SCORE_WEIGHTS, ANSWER_VALIDATION, PATTERN_DETECTION, AMBIGUOUS_TERMS, } from "./clarification-constants.js";
17
18
  let RequirementsClarificationService = class RequirementsClarificationService {
18
19
  fileSystem;
19
20
  logger;
@@ -26,23 +27,23 @@ let RequirementsClarificationService = class RequirementsClarificationService {
26
27
  */
27
28
  async analyzeDescription(description, projectPath) {
28
29
  const correlationId = uuidv4();
29
- this.logger.info('Analyzing project description for clarification needs', {
30
+ this.logger.info("Analyzing project description for clarification needs", {
30
31
  correlationId,
31
- descriptionLength: description.length
32
+ descriptionLength: description.length,
32
33
  });
33
34
  // Load existing steering docs for context
34
35
  const steeringContext = await this.loadSteeringContext(projectPath);
35
36
  // Perform analysis
36
37
  const analysis = this.performAnalysis(description, steeringContext);
37
- this.logger.debug('Description analysis completed', {
38
+ this.logger.debug("Description analysis completed", {
38
39
  correlationId,
39
40
  qualityScore: analysis.qualityScore,
40
- needsClarification: analysis.needsClarification
41
+ needsClarification: analysis.needsClarification,
41
42
  });
42
43
  if (!analysis.needsClarification) {
43
44
  return {
44
45
  needsClarification: false,
45
- analysis
46
+ analysis,
46
47
  };
47
48
  }
48
49
  // Generate clarification questions
@@ -50,7 +51,7 @@ let RequirementsClarificationService = class RequirementsClarificationService {
50
51
  return {
51
52
  needsClarification: true,
52
53
  questions,
53
- analysis
54
+ analysis,
54
55
  };
55
56
  }
56
57
  /**
@@ -58,14 +59,36 @@ let RequirementsClarificationService = class RequirementsClarificationService {
58
59
  */
59
60
  validateAnswers(questions, answers) {
60
61
  const missingRequired = [];
62
+ const tooShort = [];
63
+ const containsInvalidContent = [];
61
64
  for (const question of questions) {
62
- if (question.required && !answers[question.id]) {
65
+ const answer = answers[question.id]?.trim() || "";
66
+ // Check for missing required answers
67
+ if (question.required && !answer) {
63
68
  missingRequired.push(question.question);
69
+ continue;
70
+ }
71
+ // Check for too-short answers
72
+ if (answer && answer.length < ANSWER_VALIDATION.MIN_ANSWER_LENGTH) {
73
+ tooShort.push({
74
+ question: question.question,
75
+ minLength: ANSWER_VALIDATION.MIN_ANSWER_LENGTH,
76
+ currentLength: answer.length,
77
+ });
78
+ }
79
+ // Check for potentially malicious content
80
+ if (answer && ANSWER_VALIDATION.INVALID_CONTENT_PATTERN.test(answer)) {
81
+ containsInvalidContent.push(question.question);
64
82
  }
65
83
  }
84
+ const valid = missingRequired.length === 0 &&
85
+ tooShort.length === 0 &&
86
+ containsInvalidContent.length === 0;
66
87
  return {
67
- valid: missingRequired.length === 0,
68
- missingRequired
88
+ valid,
89
+ missingRequired,
90
+ tooShort,
91
+ containsInvalidContent,
69
92
  };
70
93
  }
71
94
  /**
@@ -73,9 +96,9 @@ let RequirementsClarificationService = class RequirementsClarificationService {
73
96
  */
74
97
  synthesizeDescription(originalDescription, questions, answers) {
75
98
  const correlationId = uuidv4();
76
- this.logger.info('Synthesizing enriched project description', {
99
+ this.logger.info("Synthesizing enriched project description", {
77
100
  correlationId,
78
- questionCount: questions.length
101
+ questionCount: questions.length,
79
102
  });
80
103
  // Extract answers by category
81
104
  const why = this.extractAnswersByCategory(questions, answers, QuestionCategory.WHY);
@@ -90,7 +113,7 @@ let RequirementsClarificationService = class RequirementsClarificationService {
90
113
  who,
91
114
  what,
92
115
  how,
93
- successCriteria
116
+ successCriteria,
94
117
  });
95
118
  return {
96
119
  original: originalDescription,
@@ -99,7 +122,7 @@ let RequirementsClarificationService = class RequirementsClarificationService {
99
122
  what,
100
123
  how: how || undefined,
101
124
  successCriteria,
102
- enriched
125
+ enriched,
103
126
  };
104
127
  }
105
128
  /**
@@ -111,22 +134,22 @@ let RequirementsClarificationService = class RequirementsClarificationService {
111
134
  // Check for WHY (business justification, problem statement)
112
135
  const hasWhy = this.detectWhy(description);
113
136
  if (!hasWhy && !steeringContext.hasProductContext) {
114
- missingElements.push('Business justification or problem statement (WHY)');
137
+ missingElements.push("Business justification or problem statement (WHY)");
115
138
  }
116
139
  // Check for WHO (target users)
117
140
  const hasWho = this.detectWho(description);
118
141
  if (!hasWho && !steeringContext.hasTargetUsers) {
119
- missingElements.push('Target users or personas (WHO)');
142
+ missingElements.push("Target users or personas (WHO)");
120
143
  }
121
144
  // Check for WHAT (core features, scope)
122
145
  const hasWhat = this.detectWhat(description);
123
146
  if (!hasWhat) {
124
- missingElements.push('Core features or scope definition (WHAT)');
147
+ missingElements.push("Core features or scope definition (WHAT)");
125
148
  }
126
149
  // Check for success criteria
127
150
  const hasSuccessCriteria = this.detectSuccessCriteria(description);
128
151
  if (!hasSuccessCriteria) {
129
- missingElements.push('Success criteria or metrics');
152
+ missingElements.push("Success criteria or metrics");
130
153
  }
131
154
  // Detect ambiguous terms
132
155
  ambiguousTerms.push(...this.detectAmbiguousTerms(description));
@@ -137,10 +160,11 @@ let RequirementsClarificationService = class RequirementsClarificationService {
137
160
  hasWhat,
138
161
  hasSuccessCriteria,
139
162
  ambiguousTermCount: ambiguousTerms.length,
140
- descriptionLength: description.length
163
+ descriptionLength: description.length,
141
164
  });
142
- // Need clarification if score < 70 or missing critical elements
143
- const needsClarification = qualityScore < 70 || missingElements.length > 0;
165
+ // Need clarification if score below threshold or missing critical elements
166
+ const needsClarification = qualityScore < QUALITY_SCORE_WEIGHTS.MIN_ACCEPTABLE_SCORE ||
167
+ missingElements.length > 0;
144
168
  return {
145
169
  qualityScore,
146
170
  missingElements,
@@ -149,7 +173,7 @@ let RequirementsClarificationService = class RequirementsClarificationService {
149
173
  hasWhy,
150
174
  hasWho,
151
175
  hasWhat,
152
- hasSuccessCriteria
176
+ hasSuccessCriteria,
153
177
  };
154
178
  }
155
179
  /**
@@ -160,111 +184,112 @@ let RequirementsClarificationService = class RequirementsClarificationService {
160
184
  // WHY questions - always high priority
161
185
  if (!analysis.hasWhy && !steeringContext.hasProductContext) {
162
186
  questions.push({
163
- id: uuidv4(),
187
+ id: "why_problem",
164
188
  category: QuestionCategory.WHY,
165
- question: 'What business problem does this project solve? Why is it needed?',
166
- why: 'Understanding the business justification ensures we build the right solution',
189
+ question: "What business problem does this project solve? Why is it needed?",
190
+ why: "Understanding the business justification ensures we build the right solution",
167
191
  examples: [
168
- 'Our customer support team spends 5 hours/day on repetitive inquiries',
169
- 'Users are abandoning checkout because the process takes too long',
170
- 'Developers waste time searching for undocumented APIs'
192
+ "Our customer support team spends 5 hours/day on repetitive inquiries",
193
+ "Users are abandoning checkout because the process takes too long",
194
+ "Developers waste time searching for undocumented APIs",
171
195
  ],
172
- required: true
196
+ required: true,
173
197
  });
174
198
  questions.push({
175
- id: uuidv4(),
199
+ id: "why_value",
176
200
  category: QuestionCategory.WHY,
177
- question: 'What value does this project provide to users or the business?',
178
- why: 'Clarifying value proposition helps prioritize features and measure success',
201
+ question: "What value does this project provide to users or the business?",
202
+ why: "Clarifying value proposition helps prioritize features and measure success",
179
203
  examples: [
180
- 'Reduce support ticket volume by 40%',
181
- 'Increase conversion rate by improving checkout speed',
182
- 'Save developers 2 hours/week with better documentation'
204
+ "Reduce support ticket volume by 40%",
205
+ "Increase conversion rate by improving checkout speed",
206
+ "Save developers 2 hours/week with better documentation",
183
207
  ],
184
- required: true
208
+ required: true,
185
209
  });
186
210
  }
187
211
  // WHO questions
188
212
  if (!analysis.hasWho && !steeringContext.hasTargetUsers) {
189
213
  questions.push({
190
- id: uuidv4(),
214
+ id: "who_users",
191
215
  category: QuestionCategory.WHO,
192
- question: 'Who are the primary users of this project?',
193
- why: 'Knowing the target users shapes UX, features, and technical decisions',
216
+ question: "Who are the primary users of this project?",
217
+ why: "Knowing the target users shapes UX, features, and technical decisions",
194
218
  examples: [
195
- 'Customer support agents using ticketing systems',
196
- 'E-commerce shoppers on mobile devices',
197
- 'Backend developers integrating APIs'
219
+ "Customer support agents using ticketing systems",
220
+ "E-commerce shoppers on mobile devices",
221
+ "Backend developers integrating APIs",
198
222
  ],
199
- required: true
223
+ required: true,
200
224
  });
201
225
  }
202
226
  // WHAT questions
203
227
  if (!analysis.hasWhat) {
204
228
  questions.push({
205
- id: uuidv4(),
229
+ id: "what_mvp_features",
206
230
  category: QuestionCategory.WHAT,
207
- question: 'What are the 3-5 core features for the MVP?',
208
- why: 'Defining MVP scope prevents scope creep and ensures focused delivery',
231
+ question: "What are the 3-5 core features for the MVP?",
232
+ why: "Defining MVP scope prevents scope creep and ensures focused delivery",
209
233
  examples: [
210
- 'Auto-response system, ticket categorization, analytics dashboard',
211
- 'Product search, cart management, payment integration',
212
- 'API explorer, code examples, interactive documentation'
234
+ "Auto-response system, ticket categorization, analytics dashboard",
235
+ "Product search, cart management, payment integration",
236
+ "API explorer, code examples, interactive documentation",
213
237
  ],
214
- required: true
238
+ required: true,
215
239
  });
216
240
  questions.push({
217
- id: uuidv4(),
241
+ id: "what_out_of_scope",
218
242
  category: QuestionCategory.WHAT,
219
- question: 'What is explicitly OUT OF SCOPE for this project?',
220
- why: 'Boundary definition prevents feature creep and manages expectations',
243
+ question: "What is explicitly OUT OF SCOPE for this project?",
244
+ why: "Boundary definition prevents feature creep and manages expectations",
221
245
  examples: [
222
- 'Admin panel (future phase)',
223
- 'Mobile app (web only for MVP)',
224
- 'Multi-language support (English only initially)'
246
+ "Admin panel (future phase)",
247
+ "Mobile app (web only for MVP)",
248
+ "Multi-language support (English only initially)",
225
249
  ],
226
- required: false
250
+ required: false,
227
251
  });
228
252
  }
229
253
  // SUCCESS questions
230
254
  if (!analysis.hasSuccessCriteria) {
231
255
  questions.push({
232
- id: uuidv4(),
256
+ id: "success_metrics",
233
257
  category: QuestionCategory.SUCCESS,
234
- question: 'How will you measure if this project is successful?',
235
- why: 'Quantifiable metrics enable objective evaluation and iteration',
258
+ question: "How will you measure if this project is successful?",
259
+ why: "Quantifiable metrics enable objective evaluation and iteration",
236
260
  examples: [
237
- 'Support ticket volume reduced by 30% within 3 months',
238
- 'Page load time under 2 seconds, conversion rate > 3%',
239
- 'API documentation rated 4.5/5 stars by developers'
261
+ "Support ticket volume reduced by 30% within 3 months",
262
+ "Page load time under 2 seconds, conversion rate > 3%",
263
+ "API documentation rated 4.5/5 stars by developers",
240
264
  ],
241
- required: true
265
+ required: true,
242
266
  });
243
267
  }
244
268
  // HOW questions (technical approach) - only if no tech steering
245
269
  if (!steeringContext.hasTechContext) {
246
270
  questions.push({
247
- id: uuidv4(),
271
+ id: "how_tech_constraints",
248
272
  category: QuestionCategory.HOW,
249
- question: 'Are there any technical constraints or preferences? (language, platform, existing systems)',
250
- why: 'Technical constraints shape architecture and technology choices',
273
+ question: "Are there any technical constraints or preferences? (language, platform, existing systems)",
274
+ why: "Technical constraints shape architecture and technology choices",
251
275
  examples: [
252
- 'Must integrate with existing Salesforce CRM',
253
- 'TypeScript + React preferred, hosted on AWS',
254
- 'Python-based, needs to run on-premise'
276
+ "Must integrate with existing Salesforce CRM",
277
+ "TypeScript + React preferred, hosted on AWS",
278
+ "Python-based, needs to run on-premise",
255
279
  ],
256
- required: false
280
+ required: false,
257
281
  });
258
282
  }
259
283
  // Ambiguity clarification
260
- for (const ambiguous of analysis.ambiguousTerms.slice(0, 3)) {
284
+ for (let i = 0; i < Math.min(analysis.ambiguousTerms.length, 3); i++) {
285
+ const ambiguous = analysis.ambiguousTerms[i];
261
286
  questions.push({
262
- id: uuidv4(),
287
+ id: `ambiguity_${i + 1}`,
263
288
  category: QuestionCategory.WHAT,
264
289
  question: `You mentioned "${ambiguous.term}". ${ambiguous.suggestion}`,
265
- why: 'Removing ambiguity ensures shared understanding',
290
+ why: "Removing ambiguity ensures shared understanding",
266
291
  examples: ambiguous.context ? [ambiguous.context] : undefined,
267
- required: false
292
+ required: false,
268
293
  });
269
294
  }
270
295
  return questions;
@@ -273,150 +298,88 @@ let RequirementsClarificationService = class RequirementsClarificationService {
273
298
  * Load steering documents for context
274
299
  */
275
300
  async loadSteeringContext(projectPath) {
276
- if (!projectPath) {
277
- return {
278
- hasProductContext: false,
279
- hasTargetUsers: false,
280
- hasTechContext: false
281
- };
282
- }
283
- const context = {
301
+ const defaultContext = {
284
302
  hasProductContext: false,
285
303
  hasTargetUsers: false,
286
- hasTechContext: false
304
+ hasTechContext: false,
287
305
  };
306
+ if (!projectPath) {
307
+ return defaultContext;
308
+ }
288
309
  try {
310
+ const context = { ...defaultContext };
289
311
  // Check product.md
290
- const productPath = `${projectPath}/.kiro/steering/product.md`;
291
- if (await this.fileSystem.exists(productPath)) {
292
- const productContent = await this.fileSystem.readFile(productPath);
293
- context.hasProductContext = productContent.length > 200; // Has substantial content
294
- context.hasTargetUsers = /target\s+users|user\s+persona/i.test(productContent);
312
+ try {
313
+ const productPath = `${projectPath}/.kiro/steering/product.md`;
314
+ if (await this.fileSystem.exists(productPath)) {
315
+ const productContent = await this.fileSystem.readFile(productPath);
316
+ context.hasProductContext =
317
+ productContent.length >
318
+ QUALITY_SCORE_WEIGHTS.MIN_STEERING_CONTENT_LENGTH;
319
+ context.hasTargetUsers =
320
+ PATTERN_DETECTION.TARGET_USERS_PATTERN.test(productContent);
321
+ }
322
+ }
323
+ catch (error) {
324
+ this.logger.debug("Failed to load product.md", {
325
+ error: error.message,
326
+ });
295
327
  }
296
328
  // Check tech.md
297
- const techPath = `${projectPath}/.kiro/steering/tech.md`;
298
- if (await this.fileSystem.exists(techPath)) {
299
- const techContent = await this.fileSystem.readFile(techPath);
300
- context.hasTechContext = techContent.length > 200;
329
+ try {
330
+ const techPath = `${projectPath}/.kiro/steering/tech.md`;
331
+ if (await this.fileSystem.exists(techPath)) {
332
+ const techContent = await this.fileSystem.readFile(techPath);
333
+ context.hasTechContext =
334
+ techContent.length >
335
+ QUALITY_SCORE_WEIGHTS.MIN_STEERING_CONTENT_LENGTH;
336
+ }
337
+ }
338
+ catch (error) {
339
+ this.logger.debug("Failed to load tech.md", {
340
+ error: error.message,
341
+ });
301
342
  }
343
+ return context;
302
344
  }
303
345
  catch (error) {
304
- this.logger.warn('Failed to load steering context', {
305
- error: error.message
346
+ this.logger.warn("Failed to load steering context, using defaults", {
347
+ error: error.message,
348
+ projectPath,
306
349
  });
350
+ return defaultContext;
307
351
  }
308
- return context;
309
352
  }
310
353
  /**
311
354
  * Detects if description contains WHY (business justification)
312
355
  */
313
356
  detectWhy(description) {
314
- const whyPatterns = [
315
- /\bproblem\b/i,
316
- /\bsolve[sd]?\b/i,
317
- /\bchallenge\b/i,
318
- /\bpain\s+point/i,
319
- /\bissue\b/i,
320
- /\bwhy\b/i,
321
- /\bbecause\b/i,
322
- /\benables?\b/i,
323
- /\bvalue\s+proposition/i,
324
- /\bbenefit/i,
325
- /\bjustification/i,
326
- /\bgoal\b/i,
327
- /\bobjective\b/i,
328
- /\bpurpose\b/i
329
- ];
330
- return whyPatterns.some(pattern => pattern.test(description));
357
+ return PATTERN_DETECTION.WHY_PATTERNS.some((pattern) => pattern.test(description));
331
358
  }
332
359
  /**
333
360
  * Detects if description contains WHO (target users)
334
361
  */
335
362
  detectWho(description) {
336
- const whoPatterns = [
337
- /\buser[s]?\b/i,
338
- /\bcustomer[s]?\b/i,
339
- /\btarget\s+(audience|users?|customers?)/i,
340
- /\bpersona[s]?\b/i,
341
- /\bstakeholder[s]?\b/i,
342
- /\b(developer|designer|admin|manager)[s]?\b/i,
343
- /\bfor\s+(teams?|companies|individuals)/i
344
- ];
345
- return whoPatterns.some(pattern => pattern.test(description));
363
+ return PATTERN_DETECTION.WHO_PATTERNS.some((pattern) => pattern.test(description));
346
364
  }
347
365
  /**
348
366
  * Detects if description contains WHAT (features, scope)
349
367
  */
350
368
  detectWhat(description) {
351
- const whatPatterns = [
352
- /\bfeature[s]?\b/i,
353
- /\bfunctionality\b/i,
354
- /\bcapabilit(y|ies)/i,
355
- /\bprovides?\b/i,
356
- /\binclude[s]?\b/i,
357
- /\bsupport[s]?\b/i,
358
- /\ballow[s]?\b/i,
359
- /\benable[s]?\b/i,
360
- /\bMVP\b/i,
361
- /\bscope\b/i
362
- ];
363
- return whatPatterns.some(pattern => pattern.test(description));
369
+ return PATTERN_DETECTION.WHAT_PATTERNS.some((pattern) => pattern.test(description));
364
370
  }
365
371
  /**
366
372
  * Detects if description contains success criteria
367
373
  */
368
374
  detectSuccessCriteria(description) {
369
- const successPatterns = [
370
- /\bmetric[s]?\b/i,
371
- /\bKPI[s]?\b/i,
372
- /\bmeasure[sd]?\b/i,
373
- /\bsuccess\s+(criteria|metric)/i,
374
- /\b\d+%/,
375
- /\bperformance\s+target/i,
376
- /\bgoal[s]?\b.*\d+/i
377
- ];
378
- return successPatterns.some(pattern => pattern.test(description));
375
+ return PATTERN_DETECTION.SUCCESS_PATTERNS.some((pattern) => pattern.test(description));
379
376
  }
380
377
  /**
381
378
  * Detects ambiguous terms that need clarification
382
379
  */
383
380
  detectAmbiguousTerms(description) {
384
381
  const ambiguousTerms = [];
385
- const ambiguityMap = [
386
- {
387
- pattern: /\bfast\b/gi,
388
- suggestion: 'Can you specify a target response time? (e.g., "< 200ms API response", "page loads in 2s")'
389
- },
390
- {
391
- pattern: /\bscalable\b/gi,
392
- suggestion: 'What scale do you need to support? (e.g., "1000 concurrent users", "100k requests/hour")'
393
- },
394
- {
395
- pattern: /\buser[- ]friendly\b/gi,
396
- suggestion: 'What makes it user-friendly? (e.g., "3-click checkout", "mobile-responsive", "keyboard shortcuts")'
397
- },
398
- {
399
- pattern: /\beasy\s+to\s+use\b/gi,
400
- suggestion: 'What does easy mean for your users? (e.g., "no training required", "5-minute onboarding", "intuitive navigation")'
401
- },
402
- {
403
- pattern: /\bhigh\s+quality\b/gi,
404
- suggestion: 'How do you define quality? (e.g., "zero critical bugs in production", "90% test coverage", "< 5% error rate")'
405
- },
406
- {
407
- pattern: /\breliable\b/gi,
408
- suggestion: 'What reliability level do you need? (e.g., "99.9% uptime", "zero data loss", "automatic failover")'
409
- },
410
- {
411
- pattern: /\bsecure\b/gi,
412
- suggestion: 'What security requirements apply? (e.g., "SOC 2 compliant", "end-to-end encryption", "OAuth 2.0")'
413
- },
414
- {
415
- pattern: /\bmodern\b/gi,
416
- suggestion: 'What technologies or approaches are you considering? (e.g., "React + TypeScript", "microservices", "serverless")'
417
- }
418
- ];
419
- for (const { pattern, suggestion } of ambiguityMap) {
382
+ for (const { pattern, suggestion } of AMBIGUOUS_TERMS) {
420
383
  const matches = description.match(pattern);
421
384
  if (matches) {
422
385
  for (const match of matches) {
@@ -424,7 +387,7 @@ let RequirementsClarificationService = class RequirementsClarificationService {
424
387
  ambiguousTerms.push({
425
388
  term: match,
426
389
  context,
427
- suggestion
390
+ suggestion,
428
391
  });
429
392
  }
430
393
  }
@@ -437,49 +400,49 @@ let RequirementsClarificationService = class RequirementsClarificationService {
437
400
  extractContext(text, term) {
438
401
  const index = text.toLowerCase().indexOf(term.toLowerCase());
439
402
  if (index === -1)
440
- return '';
403
+ return "";
441
404
  const start = Math.max(0, index - 30);
442
405
  const end = Math.min(text.length, index + term.length + 30);
443
- return '...' + text.slice(start, end).trim() + '...';
406
+ return "..." + text.slice(start, end).trim() + "...";
444
407
  }
445
408
  /**
446
409
  * Calculates quality score based on completeness and clarity
447
410
  */
448
411
  calculateQualityScore(metrics) {
449
412
  let score = 0;
450
- // WHY is most important (30 points)
413
+ // WHY is most important
451
414
  if (metrics.hasWhy)
452
- score += 30;
453
- // WHO is critical (20 points)
415
+ score += QUALITY_SCORE_WEIGHTS.HAS_WHY;
416
+ // WHO is critical
454
417
  if (metrics.hasWho)
455
- score += 20;
456
- // WHAT is essential (20 points)
418
+ score += QUALITY_SCORE_WEIGHTS.HAS_WHO;
419
+ // WHAT is essential
457
420
  if (metrics.hasWhat)
458
- score += 20;
459
- // Success criteria (15 points)
421
+ score += QUALITY_SCORE_WEIGHTS.HAS_WHAT;
422
+ // Success criteria
460
423
  if (metrics.hasSuccessCriteria)
461
- score += 15;
462
- // Penalize ambiguous terms (up to -15 points)
463
- const ambiguityPenalty = Math.min(15, metrics.ambiguousTermCount * 5);
424
+ score += QUALITY_SCORE_WEIGHTS.HAS_SUCCESS;
425
+ // Penalize ambiguous terms
426
+ const ambiguityPenalty = Math.min(QUALITY_SCORE_WEIGHTS.MAX_AMBIGUITY_PENALTY, metrics.ambiguousTermCount * QUALITY_SCORE_WEIGHTS.AMBIGUITY_PENALTY);
464
427
  score -= ambiguityPenalty;
465
- // Length bonus (up to 15 points) - adequate detail
466
- if (metrics.descriptionLength > 100)
467
- score += 5;
468
- if (metrics.descriptionLength > 300)
469
- score += 5;
470
- if (metrics.descriptionLength > 500)
471
- score += 5;
428
+ // Length bonus - adequate detail
429
+ if (metrics.descriptionLength > QUALITY_SCORE_WEIGHTS.LENGTH_BONUS_THRESHOLD_1)
430
+ score += QUALITY_SCORE_WEIGHTS.LENGTH_BONUS_POINTS;
431
+ if (metrics.descriptionLength > QUALITY_SCORE_WEIGHTS.LENGTH_BONUS_THRESHOLD_2)
432
+ score += QUALITY_SCORE_WEIGHTS.LENGTH_BONUS_POINTS;
433
+ if (metrics.descriptionLength > QUALITY_SCORE_WEIGHTS.LENGTH_BONUS_THRESHOLD_3)
434
+ score += QUALITY_SCORE_WEIGHTS.LENGTH_BONUS_POINTS;
472
435
  return Math.max(0, Math.min(100, score));
473
436
  }
474
437
  /**
475
438
  * Extracts answers for a specific category
476
439
  */
477
440
  extractAnswersByCategory(questions, answers, category) {
478
- const categoryQuestions = questions.filter(q => q.category === category);
441
+ const categoryQuestions = questions.filter((q) => q.category === category);
479
442
  const categoryAnswers = categoryQuestions
480
- .map(q => answers[q.id])
481
- .filter(a => a && a.trim().length > 0);
482
- return categoryAnswers.join(' ');
443
+ .map((q) => answers[q.id])
444
+ .filter((a) => a && a.trim().length > 0);
445
+ return categoryAnswers.join(" ");
483
446
  }
484
447
  /**
485
448
  * Builds the enriched description from all components
@@ -510,7 +473,7 @@ let RequirementsClarificationService = class RequirementsClarificationService {
510
473
  if (components.successCriteria) {
511
474
  parts.push(`## Success Criteria\n${components.successCriteria}`);
512
475
  }
513
- return parts.join('\n\n');
476
+ return parts.join("\n\n");
514
477
  }
515
478
  };
516
479
  RequirementsClarificationService = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"RequirementsClarificationService.js","sourceRoot":"","sources":["../../../src/application/services/RequirementsClarificationService.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAEzD,OAAO,EAKL,gBAAgB,EAEjB,MAAM,uBAAuB,CAAC;AAOxB,IAAM,gCAAgC,GAAtC,MAAM,gCAAgC;IAEM;IACJ;IAF7C,YACiD,UAA0B,EAC9B,MAAkB;QADd,eAAU,GAAV,UAAU,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAY;IAC5D,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,kBAAkB,CACtB,WAAmB,EACnB,WAAoB;QAEpB,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC;QAE/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uDAAuD,EAAE;YACxE,aAAa;YACb,iBAAiB,EAAE,WAAW,CAAC,MAAM;SACtC,CAAC,CAAC;QAEH,0CAA0C;QAC1C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAEpE,mBAAmB;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAEpE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE;YAClD,aAAa;YACb,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;SAChD,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YACjC,OAAO;gBACL,kBAAkB,EAAE,KAAK;gBACzB,QAAQ;aACT,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAEpE,OAAO;YACL,kBAAkB,EAAE,IAAI;YACxB,SAAS;YACT,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe,CACb,SAAkC,EAClC,OAA6B;QAE7B,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC/C,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,OAAO;YACL,KAAK,EAAE,eAAe,CAAC,MAAM,KAAK,CAAC;YACnC,eAAe;SAChB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,qBAAqB,CACnB,mBAA2B,EAC3B,SAAkC,EAClC,OAA6B;QAE7B,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC;QAE/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE;YAC5D,aAAa;YACb,aAAa,EAAE,SAAS,CAAC,MAAM;SAChC,CAAC,CAAC;QAEH,8BAA8B;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACpF,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACpF,MAAM,IAAI,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACtF,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACpF,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEpG,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC;YAC7C,QAAQ,EAAE,mBAAmB;YAC7B,GAAG;YACH,GAAG;YACH,IAAI;YACJ,GAAG;YACH,eAAe;SAChB,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ,EAAE,mBAAmB;YAC7B,GAAG;YACH,GAAG;YACH,IAAI;YACJ,GAAG,EAAE,GAAG,IAAI,SAAS;YACrB,eAAe;YACf,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,eAAe,CACrB,WAAmB,EACnB,eAAgC;QAEhC,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,MAAM,cAAc,GAAoB,EAAE,CAAC;QAE3C,4DAA4D;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;YAClD,eAAe,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QAC5E,CAAC;QAED,+BAA+B;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;YAC/C,eAAe,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QACzD,CAAC;QAED,wCAAwC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,eAAe,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACnE,CAAC;QAED,6BAA6B;QAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACnE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,eAAe,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACtD,CAAC;QAED,yBAAyB;QACzB,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC;QAE/D,kCAAkC;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC;YAC9C,MAAM;YACN,MAAM;YACN,OAAO;YACP,kBAAkB;YAClB,kBAAkB,EAAE,cAAc,CAAC,MAAM;YACzC,iBAAiB,EAAE,WAAW,CAAC,MAAM;SACtC,CAAC,CAAC;QAEH,gEAAgE;QAChE,MAAM,kBAAkB,GAAG,YAAY,GAAG,EAAE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QAE3E,OAAO;YACL,YAAY;YACZ,eAAe;YACf,cAAc;YACd,kBAAkB;YAClB,MAAM;YACN,MAAM;YACN,OAAO;YACP,kBAAkB;SACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,iBAAiB,CACvB,QAA+B,EAC/B,eAAgC;QAEhC,MAAM,SAAS,GAA4B,EAAE,CAAC;QAE9C,uCAAuC;QACvC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;YAC3D,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,MAAM,EAAE;gBACZ,QAAQ,EAAE,gBAAgB,CAAC,GAAG;gBAC9B,QAAQ,EAAE,kEAAkE;gBAC5E,GAAG,EAAE,8EAA8E;gBACnF,QAAQ,EAAE;oBACR,sEAAsE;oBACtE,kEAAkE;oBAClE,uDAAuD;iBACxD;gBACD,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,MAAM,EAAE;gBACZ,QAAQ,EAAE,gBAAgB,CAAC,GAAG;gBAC9B,QAAQ,EAAE,gEAAgE;gBAC1E,GAAG,EAAE,4EAA4E;gBACjF,QAAQ,EAAE;oBACR,qCAAqC;oBACrC,sDAAsD;oBACtD,wDAAwD;iBACzD;gBACD,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QACL,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;YACxD,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,MAAM,EAAE;gBACZ,QAAQ,EAAE,gBAAgB,CAAC,GAAG;gBAC9B,QAAQ,EAAE,4CAA4C;gBACtD,GAAG,EAAE,uEAAuE;gBAC5E,QAAQ,EAAE;oBACR,iDAAiD;oBACjD,uCAAuC;oBACvC,qCAAqC;iBACtC;gBACD,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QACL,CAAC;QAED,iBAAiB;QACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,MAAM,EAAE;gBACZ,QAAQ,EAAE,gBAAgB,CAAC,IAAI;gBAC/B,QAAQ,EAAE,6CAA6C;gBACvD,GAAG,EAAE,sEAAsE;gBAC3E,QAAQ,EAAE;oBACR,kEAAkE;oBAClE,sDAAsD;oBACtD,wDAAwD;iBACzD;gBACD,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,MAAM,EAAE;gBACZ,QAAQ,EAAE,gBAAgB,CAAC,IAAI;gBAC/B,QAAQ,EAAE,mDAAmD;gBAC7D,GAAG,EAAE,qEAAqE;gBAC1E,QAAQ,EAAE;oBACR,4BAA4B;oBAC5B,+BAA+B;oBAC/B,iDAAiD;iBAClD;gBACD,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;QACL,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YACjC,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,MAAM,EAAE;gBACZ,QAAQ,EAAE,gBAAgB,CAAC,OAAO;gBAClC,QAAQ,EAAE,qDAAqD;gBAC/D,GAAG,EAAE,gEAAgE;gBACrE,QAAQ,EAAE;oBACR,sDAAsD;oBACtD,sDAAsD;oBACtD,mDAAmD;iBACpD;gBACD,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QACL,CAAC;QAED,gEAAgE;QAChE,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;YACpC,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,MAAM,EAAE;gBACZ,QAAQ,EAAE,gBAAgB,CAAC,GAAG;gBAC9B,QAAQ,EAAE,4FAA4F;gBACtG,GAAG,EAAE,iEAAiE;gBACtE,QAAQ,EAAE;oBACR,6CAA6C;oBAC7C,6CAA6C;oBAC7C,uCAAuC;iBACxC;gBACD,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;QACL,CAAC;QAED,0BAA0B;QAC1B,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC5D,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,MAAM,EAAE;gBACZ,QAAQ,EAAE,gBAAgB,CAAC,IAAI;gBAC/B,QAAQ,EAAE,kBAAkB,SAAS,CAAC,IAAI,MAAM,SAAS,CAAC,UAAU,EAAE;gBACtE,GAAG,EAAE,iDAAiD;gBACtD,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC7D,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAAC,WAAoB;QACpD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;gBACL,iBAAiB,EAAE,KAAK;gBACxB,cAAc,EAAE,KAAK;gBACrB,cAAc,EAAE,KAAK;aACtB,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAoB;YAC/B,iBAAiB,EAAE,KAAK;YACxB,cAAc,EAAE,KAAK;YACrB,cAAc,EAAE,KAAK;SACtB,CAAC;QAEF,IAAI,CAAC;YACH,mBAAmB;YACnB,MAAM,WAAW,GAAG,GAAG,WAAW,4BAA4B,CAAC;YAC/D,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACnE,OAAO,CAAC,iBAAiB,GAAG,cAAc,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,0BAA0B;gBACnF,OAAO,CAAC,cAAc,GAAG,gCAAgC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACjF,CAAC;YAED,gBAAgB;YAChB,MAAM,QAAQ,GAAG,GAAG,WAAW,yBAAyB,CAAC;YACzD,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC7D,OAAO,CAAC,cAAc,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG,CAAC;YACpD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE;gBAClD,KAAK,EAAG,KAAe,CAAC,OAAO;aAChC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,WAAmB;QACnC,MAAM,WAAW,GAAG;YAClB,cAAc;YACd,iBAAiB;YACjB,gBAAgB;YAChB,iBAAiB;YACjB,YAAY;YACZ,UAAU;YACV,cAAc;YACd,eAAe;YACf,wBAAwB;YACxB,YAAY;YACZ,kBAAkB;YAClB,WAAW;YACX,gBAAgB;YAChB,cAAc;SACf,CAAC;QAEF,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,WAAmB;QACnC,MAAM,WAAW,GAAG;YAClB,eAAe;YACf,mBAAmB;YACnB,0CAA0C;YAC1C,kBAAkB;YAClB,sBAAsB;YACtB,6CAA6C;YAC7C,yCAAyC;SAC1C,CAAC;QAEF,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,WAAmB;QACpC,MAAM,YAAY,GAAG;YACnB,kBAAkB;YAClB,oBAAoB;YACpB,qBAAqB;YACrB,gBAAgB;YAChB,kBAAkB;YAClB,kBAAkB;YAClB,gBAAgB;YAChB,iBAAiB;YACjB,UAAU;YACV,YAAY;SACb,CAAC;QAEF,OAAO,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,WAAmB;QAC/C,MAAM,eAAe,GAAG;YACtB,iBAAiB;YACjB,cAAc;YACd,mBAAmB;YACnB,gCAAgC;YAChC,QAAQ;YACR,yBAAyB;YACzB,oBAAoB;SACrB,CAAC;QAEF,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,WAAmB;QAC9C,MAAM,cAAc,GAAoB,EAAE,CAAC;QAE3C,MAAM,YAAY,GAAG;YACnB;gBACE,OAAO,EAAE,YAAY;gBACrB,UAAU,EAAE,4FAA4F;aACzG;YACD;gBACE,OAAO,EAAE,gBAAgB;gBACzB,UAAU,EAAE,0FAA0F;aACvG;YACD;gBACE,OAAO,EAAE,wBAAwB;gBACjC,UAAU,EAAE,oGAAoG;aACjH;YACD;gBACE,OAAO,EAAE,uBAAuB;gBAChC,UAAU,EAAE,mHAAmH;aAChI;YACD;gBACE,OAAO,EAAE,sBAAsB;gBAC/B,UAAU,EAAE,+GAA+G;aAC5H;YACD;gBACE,OAAO,EAAE,gBAAgB;gBACzB,UAAU,EAAE,oGAAoG;aACjH;YACD;gBACE,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,mGAAmG;aAChH;YACD;gBACE,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,kHAAkH;aAC/H;SACF,CAAC;QAEF,KAAK,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,YAAY,EAAE,CAAC;YACnD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,OAAO,EAAE,CAAC;gBACZ,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;oBACxD,cAAc,CAAC,IAAI,CAAC;wBAClB,IAAI,EAAE,KAAK;wBACX,OAAO;wBACP,UAAU;qBACX,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,IAAY,EAAE,IAAY;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7D,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAE5B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAE5D,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,OAO7B;QACC,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,oCAAoC;QACpC,IAAI,OAAO,CAAC,MAAM;YAAE,KAAK,IAAI,EAAE,CAAC;QAEhC,8BAA8B;QAC9B,IAAI,OAAO,CAAC,MAAM;YAAE,KAAK,IAAI,EAAE,CAAC;QAEhC,gCAAgC;QAChC,IAAI,OAAO,CAAC,OAAO;YAAE,KAAK,IAAI,EAAE,CAAC;QAEjC,+BAA+B;QAC/B,IAAI,OAAO,CAAC,kBAAkB;YAAE,KAAK,IAAI,EAAE,CAAC;QAE5C,8CAA8C;QAC9C,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC;QACtE,KAAK,IAAI,gBAAgB,CAAC;QAE1B,mDAAmD;QACnD,IAAI,OAAO,CAAC,iBAAiB,GAAG,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;QAChD,IAAI,OAAO,CAAC,iBAAiB,GAAG,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;QAChD,IAAI,OAAO,CAAC,iBAAiB,GAAG,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACK,wBAAwB,CAC9B,SAAkC,EAClC,OAA6B,EAC7B,QAA0B;QAE1B,MAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QACzE,MAAM,eAAe,GAAG,iBAAiB;aACtC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACvB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEzC,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,UAOhC;QACC,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,wCAAwC;QACxC,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,4BAA4B,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,UAAU;QACV,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,oCAAoC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,UAAU;QACV,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,0BAA0B,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,WAAW;QACX,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,4BAA4B,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,qBAAqB;QACrB,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,gCAAgC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,uBAAuB;QACvB,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,wBAAwB,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF,CAAA;AAllBY,gCAAgC;IAD5C,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IAC5B,WAAA,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;;GAHhB,gCAAgC,CAklB5C"}
1
+ {"version":3,"file":"RequirementsClarificationService.js","sourceRoot":"","sources":["../../../src/application/services/RequirementsClarificationService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Constants for Requirements Clarification Service
3
+ * Extracted from inline magic numbers to improve maintainability
4
+ */
5
+ export declare const QUALITY_SCORE_WEIGHTS: {
6
+ readonly HAS_WHY: 30;
7
+ readonly HAS_WHO: 20;
8
+ readonly HAS_WHAT: 20;
9
+ readonly HAS_SUCCESS: 15;
10
+ readonly AMBIGUITY_PENALTY: 5;
11
+ readonly MAX_AMBIGUITY_PENALTY: 15;
12
+ readonly LENGTH_BONUS_THRESHOLD_1: 100;
13
+ readonly LENGTH_BONUS_THRESHOLD_2: 300;
14
+ readonly LENGTH_BONUS_THRESHOLD_3: 500;
15
+ readonly LENGTH_BONUS_POINTS: 5;
16
+ readonly MIN_ACCEPTABLE_SCORE: 70;
17
+ readonly MIN_STEERING_CONTENT_LENGTH: 200;
18
+ };
19
+ export declare const ANSWER_VALIDATION: {
20
+ readonly MIN_ANSWER_LENGTH: 10;
21
+ readonly INVALID_CONTENT_PATTERN: RegExp;
22
+ };
23
+ export declare const PATTERN_DETECTION: {
24
+ readonly WHY_PATTERNS: readonly [RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp];
25
+ readonly WHO_PATTERNS: readonly [RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp];
26
+ readonly WHAT_PATTERNS: readonly [RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp];
27
+ readonly SUCCESS_PATTERNS: readonly [RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp];
28
+ readonly TARGET_USERS_PATTERN: RegExp;
29
+ };
30
+ export declare const AMBIGUOUS_TERMS: readonly [{
31
+ readonly pattern: RegExp;
32
+ readonly suggestion: "Can you specify a target response time? (e.g., \"< 200ms API response\", \"page loads in 2s\")";
33
+ }, {
34
+ readonly pattern: RegExp;
35
+ readonly suggestion: "What scale do you need to support? (e.g., \"1000 concurrent users\", \"100k requests/hour\")";
36
+ }, {
37
+ readonly pattern: RegExp;
38
+ readonly suggestion: "What makes it user-friendly? (e.g., \"3-click checkout\", \"mobile-responsive\", \"keyboard shortcuts\")";
39
+ }, {
40
+ readonly pattern: RegExp;
41
+ readonly suggestion: "What does easy mean for your users? (e.g., \"no training required\", \"5-minute onboarding\", \"intuitive navigation\")";
42
+ }, {
43
+ readonly pattern: RegExp;
44
+ readonly suggestion: "How do you define quality? (e.g., \"zero critical bugs in production\", \"90% test coverage\", \"< 5% error rate\")";
45
+ }, {
46
+ readonly pattern: RegExp;
47
+ readonly suggestion: "What reliability level do you need? (e.g., \"99.9% uptime\", \"zero data loss\", \"automatic failover\")";
48
+ }, {
49
+ readonly pattern: RegExp;
50
+ readonly suggestion: "What security requirements apply? (e.g., \"SOC 2 compliant\", \"end-to-end encryption\", \"OAuth 2.0\")";
51
+ }, {
52
+ readonly pattern: RegExp;
53
+ readonly suggestion: "What technologies or approaches are you considering? (e.g., \"React + TypeScript\", \"microservices\", \"serverless\")";
54
+ }];
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Constants for Requirements Clarification Service
3
+ * Extracted from inline magic numbers to improve maintainability
4
+ */
5
+ export const QUALITY_SCORE_WEIGHTS = {
6
+ HAS_WHY: 30, // Business justification - Most critical
7
+ HAS_WHO: 20, // Target users - Essential
8
+ HAS_WHAT: 20, // Feature scope - Essential
9
+ HAS_SUCCESS: 15, // Success criteria - Important
10
+ AMBIGUITY_PENALTY: 5,
11
+ MAX_AMBIGUITY_PENALTY: 15,
12
+ LENGTH_BONUS_THRESHOLD_1: 100,
13
+ LENGTH_BONUS_THRESHOLD_2: 300,
14
+ LENGTH_BONUS_THRESHOLD_3: 500,
15
+ LENGTH_BONUS_POINTS: 5,
16
+ MIN_ACCEPTABLE_SCORE: 70,
17
+ MIN_STEERING_CONTENT_LENGTH: 200,
18
+ };
19
+ export const ANSWER_VALIDATION = {
20
+ MIN_ANSWER_LENGTH: 10,
21
+ INVALID_CONTENT_PATTERN: /<script|javascript:|onerror=/i,
22
+ };
23
+ export const PATTERN_DETECTION = {
24
+ WHY_PATTERNS: [
25
+ /\bproblem\b/i,
26
+ /\bsolve[sd]?\b/i,
27
+ /\bchallenge\b/i,
28
+ /\bpain\s+point/i,
29
+ /\bissue\b/i,
30
+ /\bwhy\b/i,
31
+ /\bbecause\b/i,
32
+ /\benables?\b/i,
33
+ /\bvalue\s+proposition/i,
34
+ /\bbenefit/i,
35
+ /\bjustification/i,
36
+ /\bgoal\b/i,
37
+ /\bobjective\b/i,
38
+ /\bpurpose\b/i,
39
+ ],
40
+ WHO_PATTERNS: [
41
+ /\buser[s]?\b/i,
42
+ /\bcustomer[s]?\b/i,
43
+ /\btarget\s+(audience|users?|customers?)/i,
44
+ /\bpersona[s]?\b/i,
45
+ /\bstakeholder[s]?\b/i,
46
+ /\b(developer|designer|admin|manager)[s]?\b/i,
47
+ /\bfor\s+(teams?|companies|individuals)/i,
48
+ ],
49
+ WHAT_PATTERNS: [
50
+ /\bfeature[s]?\b/i,
51
+ /\bfunctionality\b/i,
52
+ /\bcapabilit(y|ies)/i,
53
+ /\bprovides?\b/i,
54
+ /\binclude[s]?\b/i,
55
+ /\bsupport[s]?\b/i,
56
+ /\ballow[s]?\b/i,
57
+ /\benable[s]?\b/i,
58
+ /\bMVP\b/i,
59
+ /\bscope\b/i,
60
+ ],
61
+ SUCCESS_PATTERNS: [
62
+ /\bmetric[s]?\b/i,
63
+ /\bKPI[s]?\b/i,
64
+ /\bmeasure[sd]?\b/i,
65
+ /\bsuccess\s+(criteria|metric)/i,
66
+ /\b\d+%/,
67
+ /\bperformance\s+target/i,
68
+ /\bgoal[s]?\b.*\d+/i,
69
+ ],
70
+ TARGET_USERS_PATTERN: /target\s+users|user\s+persona/i,
71
+ };
72
+ export const AMBIGUOUS_TERMS = [
73
+ {
74
+ pattern: /\bfast\b/gi,
75
+ suggestion: 'Can you specify a target response time? (e.g., "< 200ms API response", "page loads in 2s")',
76
+ },
77
+ {
78
+ pattern: /\bscalable\b/gi,
79
+ suggestion: 'What scale do you need to support? (e.g., "1000 concurrent users", "100k requests/hour")',
80
+ },
81
+ {
82
+ pattern: /\buser[- ]friendly\b/gi,
83
+ suggestion: 'What makes it user-friendly? (e.g., "3-click checkout", "mobile-responsive", "keyboard shortcuts")',
84
+ },
85
+ {
86
+ pattern: /\beasy\s+to\s+use\b/gi,
87
+ suggestion: 'What does easy mean for your users? (e.g., "no training required", "5-minute onboarding", "intuitive navigation")',
88
+ },
89
+ {
90
+ pattern: /\bhigh\s+quality\b/gi,
91
+ suggestion: 'How do you define quality? (e.g., "zero critical bugs in production", "90% test coverage", "< 5% error rate")',
92
+ },
93
+ {
94
+ pattern: /\breliable\b/gi,
95
+ suggestion: 'What reliability level do you need? (e.g., "99.9% uptime", "zero data loss", "automatic failover")',
96
+ },
97
+ {
98
+ pattern: /\bsecure\b/gi,
99
+ suggestion: 'What security requirements apply? (e.g., "SOC 2 compliant", "end-to-end encryption", "OAuth 2.0")',
100
+ },
101
+ {
102
+ pattern: /\bmodern\b/gi,
103
+ suggestion: 'What technologies or approaches are you considering? (e.g., "React + TypeScript", "microservices", "serverless")',
104
+ },
105
+ ];
106
+ //# sourceMappingURL=clarification-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clarification-constants.js","sourceRoot":"","sources":["../../../src/application/services/clarification-constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,OAAO,EAAE,EAAE,EAAE,yCAAyC;IACtD,OAAO,EAAE,EAAE,EAAE,2BAA2B;IACxC,QAAQ,EAAE,EAAE,EAAE,4BAA4B;IAC1C,WAAW,EAAE,EAAE,EAAE,+BAA+B;IAChD,iBAAiB,EAAE,CAAC;IACpB,qBAAqB,EAAE,EAAE;IACzB,wBAAwB,EAAE,GAAG;IAC7B,wBAAwB,EAAE,GAAG;IAC7B,wBAAwB,EAAE,GAAG;IAC7B,mBAAmB,EAAE,CAAC;IACtB,oBAAoB,EAAE,EAAE;IACxB,2BAA2B,EAAE,GAAG;CACxB,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,iBAAiB,EAAE,EAAE;IACrB,uBAAuB,EAAE,+BAA+B;CAChD,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,YAAY,EAAE;QACZ,cAAc;QACd,iBAAiB;QACjB,gBAAgB;QAChB,iBAAiB;QACjB,YAAY;QACZ,UAAU;QACV,cAAc;QACd,eAAe;QACf,wBAAwB;QACxB,YAAY;QACZ,kBAAkB;QAClB,WAAW;QACX,gBAAgB;QAChB,cAAc;KACf;IACD,YAAY,EAAE;QACZ,eAAe;QACf,mBAAmB;QACnB,0CAA0C;QAC1C,kBAAkB;QAClB,sBAAsB;QACtB,6CAA6C;QAC7C,yCAAyC;KAC1C;IACD,aAAa,EAAE;QACb,kBAAkB;QAClB,oBAAoB;QACpB,qBAAqB;QACrB,gBAAgB;QAChB,kBAAkB;QAClB,kBAAkB;QAClB,gBAAgB;QAChB,iBAAiB;QACjB,UAAU;QACV,YAAY;KACb;IACD,gBAAgB,EAAE;QAChB,iBAAiB;QACjB,cAAc;QACd,mBAAmB;QACnB,gCAAgC;QAChC,QAAQ;QACR,yBAAyB;QACzB,oBAAoB;KACrB;IACD,oBAAoB,EAAE,gCAAgC;CAC9C,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B;QACE,OAAO,EAAE,YAAY;QACrB,UAAU,EACR,4FAA4F;KAC/F;IACD;QACE,OAAO,EAAE,gBAAgB;QACzB,UAAU,EACR,0FAA0F;KAC7F;IACD;QACE,OAAO,EAAE,wBAAwB;QACjC,UAAU,EACR,oGAAoG;KACvG;IACD;QACE,OAAO,EAAE,uBAAuB;QAChC,UAAU,EACR,mHAAmH;KACtH;IACD;QACE,OAAO,EAAE,sBAAsB;QAC/B,UAAU,EACR,+GAA+G;KAClH;IACD;QACE,OAAO,EAAE,gBAAgB;QACzB,UAAU,EACR,oGAAoG;KACvG;IACD;QACE,OAAO,EAAE,cAAc;QACvB,UAAU,EACR,mGAAmG;KACtG;IACD;QACE,OAAO,EAAE,cAAc;QACvB,UAAU,EACR,kHAAkH;KACrH;CACO,CAAC"}
@@ -160,3 +160,14 @@ export interface ClarificationResult {
160
160
  readonly analysis?: ClarificationAnalysis;
161
161
  readonly enrichedDescription?: EnrichedProjectDescription;
162
162
  }
163
+ export type ClarificationAnswers = Record<string, string>;
164
+ export interface AnswerValidationResult {
165
+ readonly valid: boolean;
166
+ readonly missingRequired: string[];
167
+ readonly tooShort: Array<{
168
+ question: string;
169
+ minLength: number;
170
+ currentLength: number;
171
+ }>;
172
+ readonly containsInvalidContent: string[];
173
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sdd-mcp-server",
3
- "version": "1.5.0",
3
+ "version": "1.5.1",
4
4
  "description": "MCP server for spec-driven development workflows across AI-agent CLIs and IDEs",
5
5
  "main": "dist/index.js",
6
6
  "bin": {