@dzhechkov/harness-core 0.3.131 → 0.3.133

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.
package/dist/usage.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC/B,MAAM,2BAA2B,GAAG,CAAC,CAAC;AACtC,MAAM,2BAA2B,GAAG,WAAW,CAAC;AAChD,8FAA8F;AAC9F,MAAM,cAAc,GAAG,OAAO,CAAC;AAE/B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AA0FjF,MAAM,cAAc,GAA2B;IAC7C,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AAElF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvF,CAAC;AAED,SAAS,MAAM,CAAC,GAAW,EAAE,GAAW;IACtC,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,0BAA0B,CAAC,MAAyB;IAC3D,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACxI,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAc;IACnD,MAAM,CAAC,GAAG,4DAA4D,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpF,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/F,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IACpE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,MAAc;IAC3D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,SAAS,GAAG,IAAI,IAAI,CACxB,GAAG,CAAC,WAAW,EAAE,EACjB,GAAG,CAAC,QAAQ,EAAE,EACd,GAAG,CAAC,OAAO,EAAE,EACb,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,MAAM,EACb,CAAC,EACD,CAAC,CACF,CAAC;IACF,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACzE,IAAI,SAAS,CAAC,OAAO,EAAE,GAAG,KAAK;QAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5E,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IACjC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;AAC1E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,UAAkB;IACnE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,KAAK,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;IAChC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC;IAC1D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,GAAG,OAAO,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,GAAY;IACpD,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAC5B,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACxC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACtC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC1C,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACxC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,GAAY;IACvD,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,OAAQ,mBAAyC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAwB,CAAC,CAAC,CAAC,IAAI,CAAC;AACrG,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB;IACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACxD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IACzE,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAY,CAAC;QAClG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAE5B,MAAM,GAAG,GAAuB,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,oBAAoB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAChE,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACvE,IAAI,YAAY,KAAK,SAAS;YAAE,GAAG,CAAC,iBAAiB,GAAG,YAAY,CAAC;QACrE,IAAI,WAAW,KAAK,SAAS;YAAE,GAAG,CAAC,gBAAgB,GAAG,WAAW,CAAC;QAClE,IAAI,iBAAiB,KAAK,SAAS;YAAE,GAAG,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAE/E,MAAM,MAAM,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC;QACtC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,MAAM;gBAAE,GAAG,CAAC,iBAAiB,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,CAAC,yBAAyB,CAAC,CAAC;QAC7C,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,MAAM,WAAW,GAA8C,EAAE,CAAC;YAClE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,MAAM,KAAK,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;gBAChD,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAC1C,IAAI,KAAK,IAAI,KAAK,KAAK,SAAS;oBAAE,WAAW,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;YAC/D,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,GAAG,CAAC,uBAAuB,GAAG,WAAW,CAAC;QACrF,CAAC;QAED,IAAI,OAAO,CAAC,CAAC,cAAc,CAAC,KAAK,QAAQ;YAAE,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC;QAChF,IAAI,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,QAAQ;YAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAUD;;;GAGG;AACH,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,GAAG,GAA6C,EAAE,CAAC;IACzD,IAAI,IAAc,CAAC;IACnB,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,GAAG,CAAC;QAClC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9B,IAAI,KAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE;gBAAE,SAAS;YAChC,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,SAAS;YACpC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC;gBACH,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,IAAY,EAAE,UAAkB,EAAE,IAAc,EAAE,IAAiB;IACzF,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAChC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAAE,SAAS,CAAC,oCAAoC;QAChF,IAAI,GAcH,CAAC;QACF,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,CAAC,mCAAmC;QAC/C,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC;QACjC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QACrE,MAAM,EAAE,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,SAAS;QAC5B,IAAI,EAAE,GAAG,UAAU;YAAE,SAAS;QAC9B,MAAM,CAAC,GAAG,CAAC,CAAU,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1F,MAAM,MAAM,GACV,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;YACrB,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC;YACpC,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC;YAChC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACzB,IAAI,MAAM,IAAI,CAAC;YAAE,SAAS;QAC1B,8EAA8E;QAC9E,MAAM,EAAE,GAAG,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC;QAC7B,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,UAAoB,EACpB,KAAa,EACb,UAAkB;IAElB,MAAM,KAAK,GAAG,oBAAoB,CAAC,UAAU,CAAC,IAAI,2BAA2B,CAAC;IAC9E,MAAM,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;IAChC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;IACpB,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;IAClB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,EAAE,GAAG,KAAK;YAAE,SAAS;QAC3B,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1C,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;YAClB,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;YAChC,MAAM,GAAG,CAAC,CAAC;QACb,CAAC;QACD,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC;QACnB,IAAI,KAAK,IAAI,UAAU,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;YAC5C,WAAW,GAAG,UAAU,CAAC;YACzB,SAAS,GAAG,QAAQ,CAAC;YACrB,YAAY,GAAG,MAAM,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AACnF,CAAC;AAED,SAAS,GAAG,CAAC,MAAc,EAAE,KAAc;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5F,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAAkD;IAElD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,GAAG,GAAsC,EAAE,CAAC;IAClD,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,WAAmB,EAAE,GAAY;IAC5D,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAC1E,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,2BAA2B,CAAC;IAClF,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,IAAI,2BAA2B,CAAC;IAC7E,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC1D,kGAAkG;IAClG,6FAA6F;IAC7F,MAAM,iBAAiB,GAAG,KAAK,GAAG,CAAC,GAAG,iBAAiB,GAAG,OAAO,CAAC;IAClE,MAAM,gBAAgB,GAAG,YAAY,EAAE,WAAW,IAAI,KAAK,CAAC;IAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,GAAG,cAAc,CAAC;IAElF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,mBAAmB,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACxD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,uFAAuF;YACvF,IAAI,CAAC,CAAC,OAAO,GAAG,UAAU;gBAAE,SAAS;YACrC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4EAA4E;IAC9E,CAAC;IAED,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,mBAAmB,GAA8C,EAAE,CAAC;IAC1E,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,EAAE,GAAG,YAAY,CAAC,WAAW,IAAI,CAAC,CAAC,EAAE,IAAI,YAAY,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE,GAAG,KAAK;gBAAE,SAAS;YACjG,YAAY,IAAI,CAAC,CAAC,MAAM,CAAC;YACzB,IAAI,CAAC,CAAC,KAAK;gBAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAC7F,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAEhE,MAAM,WAAW,GAAG,qBAAqB,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAC1E,IAAI,aAAgF,CAAC;IACrF,IAAI,SAAS,GAAG,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC3D,IAAI,kBAAgD,CAAC;IACrD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,aAAa,GAAG,EAAE,CAAC;QACnB,SAAS,GAAG,IAAI,CAAC;QACjB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACpC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;YACjD,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC;gBACtE,SAAS,GAAG,QAAQ,CAAC;gBACrB,kBAAkB,GAAG,KAAK,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,aAAa,EAAE,KAAK,CAAC,MAAM;QAC3B,YAAY;QACZ,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC;QACvD,SAAS;QACT,eAAe,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;QAC5F,cAAc,EAAE,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;QAC9F,SAAS,EAAE,IAAI;QACf,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,mBAAmB;QACnB,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,gBAAgB,EAAE,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE;QAC/F,eAAe,EAAE,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE;KACjG,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,KAAc,EAAE,OAAiB;IAChE,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACrH,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,gCAAgC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,qBAAqB,CAAC,IAQ9B;IACC,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACpE,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO;IACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,4CAA4C,CAAC,CAAC;QAC7E,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,4CAA4C,CAAC,CAAC;QAC7E,OAAO;IACT,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAChB,GAAG,EAAE,IAAI,CAAC,KAAK;QACf,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;QAC3B,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,WAAW;KACjB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAsB,EACtB,MAAmB,EACnB,KAA4B;IAE5B,MAAM,KAAK,GAAuB;QAChC,GAAG,MAAM;QACT,GAAG,CAAC,MAAM,CAAC,uBAAuB,KAAK,SAAS;YAC9C,CAAC,CAAC,EAAE,uBAAuB,EAAE,EAAE,GAAG,MAAM,CAAC,uBAAuB,EAAE,EAAE;YACpE,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAA6B,EAAE,CAAC;IAE7C,IAAI,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;QAChC,qBAAqB,CAAC;YACpB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,OAAO,CAAC,aAAa;YAC7B,MAAM,EAAE,KAAK,CAAC,UAAU;YACxB,MAAM,EAAE,MAAM,CAAC,iBAAiB;YAChC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;gBACb,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAClC,CAAC;YACD,OAAO;YACP,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;QAC/B,qBAAqB,CAAC;YACpB,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,OAAO,CAAC,YAAY;YAC5B,MAAM,EAAE,KAAK,CAAC,SAAS;YACvB,MAAM,EAAE,MAAM,CAAC,gBAAgB;YAC/B,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;gBACb,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;YACjC,CAAC;YACD,OAAO;YACP,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,MAAM,KAAK,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,yBAAyB,CAAC,CAAC;gBACpD,SAAS;YACX,CAAC;YACD,qBAAqB,CAAC;gBACpB,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC/C,MAAM;gBACN,MAAM,EAAE,MAAM,CAAC,uBAAuB,EAAE,CAAC,KAAK,CAAC;gBAC/C,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;oBACb,IAAI,KAAK,CAAC,uBAAuB,KAAK,SAAS;wBAAE,KAAK,CAAC,uBAAuB,GAAG,EAAE,CAAC;oBACpF,KAAK,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;gBAC/C,CAAC;gBACD,OAAO;gBACP,OAAO;aACR,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACxC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dzhechkov/harness-core",
3
- "version": "0.3.131",
3
+ "version": "0.3.133",
4
4
  "description": "Shared harness logic - skill loading, additive apply, and the init/sync/verify/doctor operations.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -33,12 +33,12 @@
33
33
  "@dzhechkov/adapter-opencode": "^0.2.0",
34
34
  "yaml": "^2.0.0",
35
35
  "@dzhechkov/adapter-agents-md": "0.1.1",
36
- "@dzhechkov/adapter-copilot": "0.1.1",
37
- "@dzhechkov/adapter-windsurf": "0.1.1",
38
36
  "@dzhechkov/adapter-cursor": "0.1.1",
39
37
  "@dzhechkov/adapter-gemini": "0.1.1",
40
- "@dzhechkov/memory": "0.2.9",
41
- "@dzhechkov/core": "0.2.14"
38
+ "@dzhechkov/adapter-windsurf": "0.1.1",
39
+ "@dzhechkov/adapter-copilot": "0.1.1",
40
+ "@dzhechkov/core": "0.2.14",
41
+ "@dzhechkov/memory": "0.2.9"
42
42
  },
43
43
  "peerDependenciesMeta": {
44
44
  "@ruvector/rvf": {
package/sbom.json CHANGED
@@ -25,7 +25,7 @@
25
25
  "hashes": [
26
26
  {
27
27
  "alg": "SHA-256",
28
- "content": "c2aead6a4abbb122c071a72951923c16dfdd8a34bc10a7bde5efa54916566ccb"
28
+ "content": "2f41094d669265f886f225786222c9f14e875339020de0f1de99a7f654b51041"
29
29
  }
30
30
  ]
31
31
  },
@@ -1145,7 +1145,7 @@
1145
1145
  "hashes": [
1146
1146
  {
1147
1147
  "alg": "SHA-256",
1148
- "content": "a6937548fd6d035508ce373f0c136b60465a75e8b149be7e5544f1db6b43c52b"
1148
+ "content": "4ba4f80508fd7d959c49a88eb7995effe1807b891518d6089e4dec50ac2fd1f2"
1149
1149
  }
1150
1150
  ]
1151
1151
  },
@@ -1155,7 +1155,7 @@
1155
1155
  "hashes": [
1156
1156
  {
1157
1157
  "alg": "SHA-256",
1158
- "content": "7bbb363c76565b49196f0ad4b56c60c0bee6dd0436d9049e07a60d07052cd184"
1158
+ "content": "a6f6d044e09f7678305296491ab43dabf454eec798d4b3bfcd167220f6fd3d96"
1159
1159
  }
1160
1160
  ]
1161
1161
  },
@@ -1165,7 +1165,7 @@
1165
1165
  "hashes": [
1166
1166
  {
1167
1167
  "alg": "SHA-256",
1168
- "content": "a6418e4d2602460d525c96e5b907e3ec3385967dc2702a04871e7757a694efe1"
1168
+ "content": "0a8cd9f2fe6ff4d3a9c5bf7a342e8480eb0a221a0755a118d6788297cbeccded"
1169
1169
  }
1170
1170
  ]
1171
1171
  },
@@ -2095,7 +2095,7 @@
2095
2095
  "hashes": [
2096
2096
  {
2097
2097
  "alg": "SHA-256",
2098
- "content": "5d783a0c8a66f0b8d2033bdd7c9411afce7d7fe0ecb9954740fc0bceff5284cb"
2098
+ "content": "a9f77e152e70c489ce40bf1b7a0af370cea73afc95bafc5b5c9811547d7226e1"
2099
2099
  }
2100
2100
  ]
2101
2101
  },
@@ -2105,7 +2105,7 @@
2105
2105
  "hashes": [
2106
2106
  {
2107
2107
  "alg": "SHA-256",
2108
- "content": "c33fdd67b0bcebd29603a3cae1e1cf42d6c623a14b1d739d344f8bddc1b4018b"
2108
+ "content": "bd00b8f67335044425ac434e95caf0ed9406e64085bbc65acbdbde559e774034"
2109
2109
  }
2110
2110
  ]
2111
2111
  },
@@ -2115,7 +2115,7 @@
2115
2115
  "hashes": [
2116
2116
  {
2117
2117
  "alg": "SHA-256",
2118
- "content": "997859dd8031a42dc38254b0de1ae955ceed44045eeb0361da1be5a173884098"
2118
+ "content": "0bd0815ff7d1b8e0ee4165b3f1849751755eb3d373a8cee65f39ccb101d6fd47"
2119
2119
  }
2120
2120
  ]
2121
2121
  },
@@ -2125,7 +2125,7 @@
2125
2125
  "hashes": [
2126
2126
  {
2127
2127
  "alg": "SHA-256",
2128
- "content": "5de16efcefd4fe13d6ddc0e5f009b218baffa86e8d9335323ec12cef7dc0cad2"
2128
+ "content": "1faf215390d865a315a05995ffc111c7776f14889dc5b2dc4cae1bc47aded0fd"
2129
2129
  }
2130
2130
  ]
2131
2131
  },
@@ -2335,7 +2335,7 @@
2335
2335
  "hashes": [
2336
2336
  {
2337
2337
  "alg": "SHA-256",
2338
- "content": "c6fc01e0f6b3ed75e75007949c55603774f2e289d2449bab4fd519e637ab3c43"
2338
+ "content": "9dc875d545dbe3fb6fcd35fd0bbe85a0b44e605361c0f6ae8b883e91f3ea97e0"
2339
2339
  }
2340
2340
  ]
2341
2341
  },
@@ -2345,7 +2345,7 @@
2345
2345
  "hashes": [
2346
2346
  {
2347
2347
  "alg": "SHA-256",
2348
- "content": "6567ceb91f0d6b0fd06571e02329afe87ddfe789757810afecb843d6cb00393c"
2348
+ "content": "398863280426f933afb7f962cb5ee51f71dc42188df364cb33f4ee07d09f7c68"
2349
2349
  }
2350
2350
  ]
2351
2351
  },
@@ -2355,7 +2355,7 @@
2355
2355
  "hashes": [
2356
2356
  {
2357
2357
  "alg": "SHA-256",
2358
- "content": "fd3fe47b0dd1231517ef3fd6aa01e584aae05ac6aee76bb585e465a920a8b1ba"
2358
+ "content": "6e7be0ee532ac474926d8a557c8f160ec1d689262930116ee08a326115f9648d"
2359
2359
  }
2360
2360
  ]
2361
2361
  },
@@ -2365,7 +2365,7 @@
2365
2365
  "hashes": [
2366
2366
  {
2367
2367
  "alg": "SHA-256",
2368
- "content": "26e36700300a0e2cc7276dc966f225b69238cbc2759e2a518fd621042c70486d"
2368
+ "content": "3c5b965649ba792514532aefee4a48f3b47b37b3bc764ddc294fce0fb9a36d80"
2369
2369
  }
2370
2370
  ]
2371
2371
  },
@@ -2455,7 +2455,7 @@
2455
2455
  "hashes": [
2456
2456
  {
2457
2457
  "alg": "SHA-256",
2458
- "content": "fed3e8ccedb0ebdbf75029dec7ae2a4b47868781fc934dd0efd459fc24f7dc00"
2458
+ "content": "bbcbf919e286fe4c10925c3f6ba302c7495a13358eff4d00dbea67960820aeb5"
2459
2459
  }
2460
2460
  ]
2461
2461
  },
@@ -2735,7 +2735,7 @@
2735
2735
  "hashes": [
2736
2736
  {
2737
2737
  "alg": "SHA-256",
2738
- "content": "1dff89ef198d676cc9bfa2285c4d0b83d2eb9003957460914c1ad9a472f8c957"
2738
+ "content": "78143fffb04e9ed2f428847966084fbec503e2cd0286664767acc34c7cc3af48"
2739
2739
  }
2740
2740
  ]
2741
2741
  },
@@ -2965,7 +2965,7 @@
2965
2965
  "hashes": [
2966
2966
  {
2967
2967
  "alg": "SHA-256",
2968
- "content": "552295d4e087c6732b28630a34ed0bdc007cd5f3be7971110b55e42bef0736e0"
2968
+ "content": "fe9e9c87cd4051a294b8a7d249deb6acd61fea31e60be5ca2dd4d688ec624a69"
2969
2969
  }
2970
2970
  ]
2971
2971
  },
@@ -3025,7 +3025,7 @@
3025
3025
  "hashes": [
3026
3026
  {
3027
3027
  "alg": "SHA-256",
3028
- "content": "676b97f4b903eb58d443e8f85ee1faf1920200abfe72840bc20b81915c8850c3"
3028
+ "content": "e2b01c71101c2cdfa076a26148e1c26b37d28204ac33b561d98e89cdc30d238f"
3029
3029
  }
3030
3030
  ]
3031
3031
  },
@@ -3705,7 +3705,7 @@
3705
3705
  "hashes": [
3706
3706
  {
3707
3707
  "alg": "SHA-256",
3708
- "content": "5791d1f0abf7facecfe1477a5313fc7fca69df4c47332b2be3cd4798bca8b7a0"
3708
+ "content": "b344c0b58ec7d475e88f56fb59de661005d1148fb75c632add83fc94102a22ba"
3709
3709
  }
3710
3710
  ]
3711
3711
  },
@@ -3735,7 +3735,7 @@
3735
3735
  "hashes": [
3736
3736
  {
3737
3737
  "alg": "SHA-256",
3738
- "content": "49236c2db2b68fae08c4dcf21229c02f43603448cf4a941d616a0a26e8d24d46"
3738
+ "content": "3159f518ee1cad89a8ed4f996361d1584188811232f7aa8f03af4985b072cda7"
3739
3739
  }
3740
3740
  ]
3741
3741
  },
package/src/operations.ts CHANGED
@@ -646,11 +646,20 @@ export async function runDoctor(options: { projectRoot: string }): Promise<Docto
646
646
  const { parse: parseYaml } = await import('yaml');
647
647
  const content = readFileSync(configPath, 'utf-8');
648
648
  const parsed = parseYaml(content);
649
- const hasProject = typeof parsed?.project === 'string';
649
+ // agentic-qe v3 writes `project:` as a MAPPING (name/root/type); older configs used a plain
650
+ // string. The check accepted only the string form, so a perfectly valid v3 config reported
651
+ // "missing project field" — the check was wrong about the real shape, not the config.
652
+ const rawProject: unknown = parsed?.project;
653
+ const projectName =
654
+ typeof rawProject === 'string'
655
+ ? rawProject
656
+ : rawProject && typeof rawProject === 'object' && typeof (rawProject as { name?: unknown }).name === 'string'
657
+ ? (rawProject as { name: string }).name
658
+ : null;
650
659
  checks.push({
651
660
  name: 'aqe config valid',
652
- ok: hasProject,
653
- detail: hasProject ? `project: ${parsed.project}` : 'missing project field',
661
+ ok: projectName !== null,
662
+ detail: projectName !== null ? `project: ${projectName}` : 'missing project field (expected a name string or a {name} mapping)',
654
663
  });
655
664
  } catch (error) {
656
665
  checks.push({
@@ -14,7 +14,7 @@
14
14
  * FAIL-CLOSED: anything that prevents an honest observation yields `inconclusive`, never `pass`.
15
15
  */
16
16
 
17
- import { existsSync, lstatSync, readdirSync, realpathSync, statSync } from 'node:fs';
17
+ import { existsSync, lstatSync, readFileSync, readdirSync, realpathSync, statSync } from 'node:fs';
18
18
  import { basename, isAbsolute, join, resolve } from 'node:path';
19
19
 
20
20
  // ── Layer 1: static layout scan ─────────────────────────────────────
@@ -55,7 +55,17 @@ export interface StaticScan {
55
55
  * it did not register and that is a failure (QE4 #1 — without this, making the container advisory
56
56
  * re-opened the vacuous pass and the gate stopped catching health-advisor 1.2.0).
57
57
  */
58
- readonly containers: readonly { readonly dir: string; readonly candidates: readonly string[] }[];
58
+ readonly containers: readonly {
59
+ readonly dir: string;
60
+ /** Absolute path of the container — matched against `init.plugins[].path` (QE5 #1). */
61
+ readonly path: string;
62
+ /** The name the container's OWN manifest declares (may differ from the dir name — QE5 #1b). */
63
+ readonly manifestName: string | null;
64
+ /** Skill names it would provide: discovered on disk AND declared by the manifest (QE5 #4). */
65
+ readonly candidates: readonly string[];
66
+ /** True when the dir ALSO has a depth-1 SKILL.md — a single-skill plugin (QE5 #2). */
67
+ readonly alsoBare: boolean;
68
+ }[];
59
69
  /**
60
70
  * Set when the scan could not complete (unreadable dir, `.claude/skills` is a file, …). A failed
61
71
  * scan must NOT read as "a clean empty project" — the classifier turns this into `inconclusive`
@@ -64,7 +74,10 @@ export interface StaticScan {
64
74
  readonly scanError?: string;
65
75
  }
66
76
 
67
- const MAX_BURIED_DEPTH = 4; // enough to catch extended/<name>/SKILL.md without walking the world
77
+ // Bounded on purpose: deep enough for every real layout seen (extended/<name>/, skills/<name>/,
78
+ // base/<dep>/), shallow enough not to walk a whole tree. A SKILL.md below this bound is not seen —
79
+ // a stated limit, not a silent one (QE6 #9).
80
+ const MAX_BURIED_DEPTH = 6;
68
81
 
69
82
  function findBuriedSkillMd(dir: string, depth: number, acc: string[], errors: string[]): void {
70
83
  if (depth > MAX_BURIED_DEPTH) return;
@@ -98,6 +111,28 @@ function hasPluginManifest(dir: string): boolean {
98
111
  return existsSync(join(dir, '.claude-plugin', 'plugin.json'));
99
112
  }
100
113
 
114
+ /**
115
+ * Read a container's own `.claude-plugin/plugin.json`: the name it DECLARES and the skill paths it
116
+ * declares. A manifest may point at a custom path deeper than the on-disk walk, which otherwise left
117
+ * the container with zero candidates and restored a vacuous PASS (QE5 #4).
118
+ */
119
+ function readContainerManifest(dir: string): { name: string | null; declared: string[] } {
120
+ try {
121
+ const raw = readFileSync(join(dir, '.claude-plugin', 'plugin.json'), 'utf8');
122
+ const obj = JSON.parse(raw) as Record<string, unknown>;
123
+ const name = typeof obj.name === 'string' && obj.name ? obj.name : null;
124
+ const declared = Array.isArray(obj.skills)
125
+ ? obj.skills
126
+ .filter((x): x is string => typeof x === 'string')
127
+ .map((rel) => basename(rel.replace(/\/+$/, '')))
128
+ .filter(Boolean)
129
+ : [];
130
+ return { name, declared };
131
+ } catch {
132
+ return { name: null, declared: [] }; // unreadable/!JSON: the manifest's INTENT still counts
133
+ }
134
+ }
135
+
101
136
  /**
102
137
  * Does this directory look like it was INTENDED as a skill? A dir with no markdown at all is
103
138
  * ordinary content (`scripts/`, `bin/`, `templates/`) — calling it a failed skill is a false FAIL
@@ -230,7 +265,13 @@ export function scanSkillsLayout(projectDir: string): StaticScan {
230
265
  const registrable: string[] = [];
231
266
  const findings: SkillLayoutFinding[] = [];
232
267
  const advisories: SkillLayoutFinding[] = [];
233
- const containers: { dir: string; candidates: string[] }[] = [];
268
+ const containers: {
269
+ dir: string;
270
+ path: string;
271
+ manifestName: string | null;
272
+ candidates: string[];
273
+ alsoBare: boolean;
274
+ }[] = [];
234
275
  const scanErrors: string[] = [];
235
276
 
236
277
  let entries: string[] = [];
@@ -261,9 +302,17 @@ export function scanSkillsLayout(projectDir: string): StaticScan {
261
302
  scanErrors.push(`cannot stat ${dir}: ${error instanceof Error ? error.message : String(error)}`);
262
303
  continue;
263
304
  }
305
+ // A `SKILL.md` sitting directly in `.claude/skills/` registers nothing, whether it is a FILE or
306
+ // a DIRECTORY — the directory form previously slipped into the ordinary branch (QE6 #6).
307
+ if (name === 'SKILL.md') {
308
+ findings.push({
309
+ dir: '.',
310
+ kind: 'no-skill-md',
311
+ detail: 'SKILL.md sits directly in .claude/skills/ — a skill must live in its own directory to register',
312
+ });
313
+ continue;
314
+ }
264
315
  if (!isDir) {
265
- // A SKILL.md dropped directly into .claude/skills/ registers nothing — it is a real defect,
266
- // not something to skip silently (QE #4).
267
316
  if (name === 'SKILL.md') {
268
317
  findings.push({
269
318
  dir: '.',
@@ -275,15 +324,20 @@ export function scanSkillsLayout(projectDir: string): StaticScan {
275
324
  }
276
325
 
277
326
  const registers = hasSkillFile(dir);
278
- // A manifest-backed CONTAINER (`<dir>/.claude-plugin/plugin.json`) is a plugin-shaped layout.
327
+ // A manifest makes this a plugin CONTAINER even when it ALSO has a depth-1 SKILL.md — that is a
328
+ // single-skill plugin, whose skills are namespaced, so expecting the bare name false-FAILs (QE5 #2).
279
329
  // It did not register in measured practice, but the class may be supported under workspace
280
330
  // trust — so the WHOLE container is advisory. Emitting the generic `no-skill-md` /
281
331
  // `buried-skill-md` findings for it killed the layout anyway, which was the over-claim (QE4 #1).
282
- const isPluginContainer = !registers && hasPluginManifest(dir);
332
+ const isPluginContainer = hasPluginManifest(dir);
283
333
  const bucket = isPluginContainer ? advisories : findings;
284
334
 
285
- if (registers) {
335
+ if (registers && !isPluginContainer) {
286
336
  registrable.push(name);
337
+ } else if (registers && isPluginContainer) {
338
+ // A single-skill plugin: it has a depth-1 SKILL.md AND a manifest, so it registers NAMESPACED.
339
+ // Expecting the bare directory name here was a false FAIL (QE5 #2); the container check below
340
+ // accepts either form.
287
341
  } else {
288
342
  // A dir with no markdown was never meant to be a skill — advisory, not a failure (QE5 #7).
289
343
  const intended = looksLikeSkillDir(dir);
@@ -303,11 +357,26 @@ export function scanSkillsLayout(projectDir: string): StaticScan {
303
357
  // Only a report when the dir registers NOTHING: a dir with its own depth-1 SKILL.md registers
304
358
  // fine and a stray manifest beside it is inert, not a blocker (Codex QE #8).
305
359
  if (isPluginContainer) {
306
- // What would this container provide? The dir name of every nested SKILL.md.
360
+ // What would this container provide? Names found on disk UNION names its manifest declares —
361
+ // a manifest may point at a custom path deeper than the walk, which previously left the
362
+ // container with zero candidates and let it slip through (QE5 #4).
307
363
  const inner: string[] = [];
308
364
  findBuriedSkillMd(dir, 1, inner, scanErrors);
309
- const candidates = [...new Set(inner.map((f) => basename(join(f, '..'))))];
310
- containers.push({ dir: name, candidates });
365
+ const manifest = readContainerManifest(dir);
366
+ const candidates = [
367
+ ...new Set([
368
+ ...inner.map((f) => basename(join(f, '..'))),
369
+ ...manifest.declared,
370
+ ...(registers ? [manifest.name ?? name] : []), // the single-skill plugin's own skill (QE5 #2)
371
+ ]),
372
+ ];
373
+ containers.push({
374
+ dir: name,
375
+ path: dir,
376
+ manifestName: manifest.name,
377
+ candidates,
378
+ alsoBare: registers,
379
+ });
311
380
  advisories.push({
312
381
  dir: name,
313
382
  kind: 'plugin-manifest-trap',
@@ -321,6 +390,20 @@ export function scanSkillsLayout(projectDir: string): StaticScan {
321
390
  // register may legitimately bundle nested SKILL.md files as its own resources — health-advisor
322
391
  // 1.2.1 co-locates its base deps under the master exactly so they do NOT register. Only a dir
323
392
  // that registers NOTHING while hiding SKILL.md files inside is the 1.2.0 defect shape.
393
+ if (registers && !isPluginContainer) {
394
+ const nested: string[] = [];
395
+ findBuriedSkillMd(dir, 1, nested, scanErrors);
396
+ if (nested.length > 0) {
397
+ advisories.push({
398
+ dir: name,
399
+ kind: 'buried-skill-md',
400
+ detail:
401
+ `${name}/ bundles ${nested.length} nested SKILL.md file(s) as resources — they do NOT register ` +
402
+ `(correct for co-located dependencies; a real skill placed there would be invisible)`,
403
+ });
404
+ }
405
+ }
406
+
324
407
  if (!registers) {
325
408
  const buried: string[] = [];
326
409
  findBuriedSkillMd(dir, 1, buried, scanErrors);
@@ -351,12 +434,18 @@ export function scanSkillsLayout(projectDir: string): StaticScan {
351
434
  export interface InitPlugin {
352
435
  readonly name: string;
353
436
  readonly version?: string;
437
+ /** Where the plugin was loaded FROM — the only identity that cannot be spoofed by a name (QE5 #1). */
438
+ readonly path?: string;
439
+ /** e.g. `telegram@claude-plugins-official`, `health-advisor@skills-dir`. */
440
+ readonly source?: string;
354
441
  }
355
442
 
356
443
  export interface InitFacts {
357
444
  /** Registered skill names. `null` means the key was ABSENT (schema drift) — never "none". */
358
445
  readonly skills: readonly string[] | null;
359
446
  readonly plugins: readonly InitPlugin[];
447
+ /** False when the `plugins` key was absent or not an array — unreadable, not empty (QE6 #7). */
448
+ readonly pluginsReadable: boolean;
360
449
  /** The project the session actually read — the built-in control. */
361
450
  readonly cwd: string | null;
362
451
  readonly clientVersion: string | null;
@@ -420,19 +509,28 @@ function parseStream(streamText: string): StreamParse {
420
509
  : null;
421
510
 
422
511
  const rawPlugins = obj.plugins;
512
+ // An ABSENT or non-array `plugins` key is unreadable schema, not proof that nothing loaded —
513
+ // with containers present that difference decides FAIL vs INCONCLUSIVE (QE6 #7).
514
+ const pluginsReadable = Array.isArray(rawPlugins);
423
515
  const plugins: InitPlugin[] = Array.isArray(rawPlugins)
424
516
  ? rawPlugins
425
517
  .filter((p): p is Record<string, unknown> => !!p && typeof p === 'object')
426
518
  .map((p) => {
427
519
  const name = typeof p.name === 'string' ? p.name : '(unnamed)';
428
- // exactOptionalPropertyTypes: omit `version` rather than set it to undefined.
429
- return typeof p.version === 'string' ? { name, version: p.version } : { name };
520
+ // exactOptionalPropertyTypes: omit a field rather than set it to undefined.
521
+ return {
522
+ name,
523
+ ...(typeof p.version === 'string' ? { version: p.version } : {}),
524
+ ...(typeof p.path === 'string' ? { path: p.path } : {}),
525
+ ...(typeof p.source === 'string' ? { source: p.source } : {}),
526
+ };
430
527
  })
431
528
  : [];
432
529
 
433
530
  found.push({
434
531
  skills,
435
532
  plugins,
533
+ pluginsReadable,
436
534
  // An empty or relative cwd testifies to nothing — `resolve("")` silently becomes the caller's
437
535
  // own cwd and can forge a match (Codex QE #6). Only an absolute path counts as evidence.
438
536
  cwd: typeof obj.cwd === 'string' && obj.cwd !== '' && isAbsolute(obj.cwd) ? obj.cwd : null,
@@ -516,6 +614,11 @@ export function verifyRegistration(evidence: RegistrationEvidence, options: Skil
516
614
  if (!evidence.scan || !evidence.probe || !evidence.provenance || typeof evidence.projectDir !== 'string') {
517
615
  return bad('incomplete evidence (scan, probe, provenance and projectDir are all required)');
518
616
  }
617
+ // …and the scan must be SHAPED like a scan: a partial object crashed on `layout.length` (QE6 #8).
618
+ const sc = evidence.scan as Partial<StaticScan>;
619
+ if (!Array.isArray(sc.findings) || !Array.isArray(sc.registrable) || !Array.isArray(sc.advisories) || !Array.isArray(sc.containers)) {
620
+ return bad('malformed scan (findings, registrable, advisories and containers must all be arrays)');
621
+ }
519
622
  const { projectDir, scan, probe, provenance } = evidence;
520
623
  // The contract is CANONICAL identity: a lexical `resolve` alone reports a symlinked project as a
521
624
  // different one and turns a correct registration into `inconclusive` (QE4 #3).
@@ -561,6 +664,15 @@ export function verifyRegistration(evidence: RegistrationEvidence, options: Skil
561
664
  }
562
665
  if (scan.scanError !== undefined) return fail('inconclusive', `layout scan failed: ${scan.scanError}`);
563
666
 
667
+ // 1b. A load-blocking layout finding is DETERMINISTIC evidence — it needs no session at all.
668
+ // Evaluating it only after the probe meant a definite failure degraded to `inconclusive`
669
+ // whenever `claude` was missing (Codex QE5 #5).
670
+ if (layout.length > 0) {
671
+ return fail('fail', `${layout.length} layout problem(s) can never register — proven from the layout alone`, {
672
+ missing: [],
673
+ });
674
+ }
675
+
564
676
  // 2. The probe must have produced a stream.
565
677
  if (!probe.ok) return fail('inconclusive', `probe failed: ${probe.error}`);
566
678
 
@@ -634,17 +746,58 @@ export function verifyRegistration(evidence: RegistrationEvidence, options: Skil
634
746
  };
635
747
  }
636
748
 
637
- // 6b. A plugin-shaped container is forgiven ONLY if the SESSION says that plugin loaded.
638
- // Matching on skill NAMES was wrong: one incidental collision with an unrelated plugin's skill
639
- // (e.g. `deep-research`) forgave the whole container, and the gate PASSED the broken
640
- // health-advisor 1.2.0 (MEASURED reproducer: `dz skills-verify` against that published
641
- // install). `init.plugins` names what actually loaded, so ask that instead.
642
- const loadedPlugins = new Set(facts.plugins.map((p) => p.name));
643
- // Only the LOADED-PLUGIN list counts. A namespaced-name fallback (`<dir>:<skill>` present in the
644
- // listing) was still name-based evidence — the very class that made the gate pass a broken install
645
- // and `init.plugins` already covers every legitimate case.
646
- const deadContainers = scan.containers.filter((c) => c.candidates.length > 0 && !loadedPlugins.has(c.dir));
647
- if (deadContainers.length > 0) {
749
+ // 6b. A plugin-shaped container must be ATTRIBUTED, then its skills must actually be listed.
750
+ //
751
+ // Identity is `path`/`source`, never the display name: matching by name both passed a broken
752
+ // container that shared a name with an unrelated marketplace plugin AND failed a correct
753
+ // container whose directory name differs from the name its manifest declares (Codex QE5 #1).
754
+ // And a loaded plugin is not proof its skills registered — a misconfigured skill can be absent
755
+ // from the authoritative listing while the plugin itself loads fine (QE5 #3).
756
+ if (scan.containers.length > 0 && !facts.pluginsReadable) {
757
+ return fail('inconclusive', 'the init event carried no readable `plugins` list a container cannot be attributed', {
758
+ ...common,
759
+ missing,
760
+ });
761
+ }
762
+
763
+ const containerProblems: string[] = [];
764
+ const verifiedContainers: string[] = [];
765
+ for (const c of scan.containers) {
766
+ const loaded = facts.plugins.find((p) => {
767
+ if (typeof p.path === 'string' && p.path) {
768
+ try {
769
+ if (resolvePath(p.path) === resolvePath(c.path)) return true; // strongest: same directory
770
+ } catch {
771
+ /* an unresolvable path is simply not a match */
772
+ }
773
+ }
774
+ // A skills-directory plugin reports `<declared-name>@skills-dir`; fall back to that, then to
775
+ // the declared name itself. The container's DIRECTORY name is never used as identity.
776
+ if (c.manifestName) {
777
+ if (p.source === `${c.manifestName}@skills-dir`) return true;
778
+ if (p.name === c.manifestName && (p.source ?? '').endsWith('@skills-dir')) return true;
779
+ }
780
+ return false;
781
+ });
782
+
783
+ if (!loaded) {
784
+ containerProblems.push(
785
+ `${c.dir}/ declares a plugin${c.manifestName ? ` (${c.manifestName})` : ''} that did not load — ` +
786
+ `${c.candidates.length} skill(s) inside would register nowhere`,
787
+ );
788
+ continue;
789
+ }
790
+ // It loaded. We deliberately DO NOT verify its individual skills here.
791
+ //
792
+ // Doing so requires reproducing Claude Code's command-name resolution: a plugin skill's
793
+ // frontmatter `name` replaces the final command segment, and a manifest's `skills` field may be a
794
+ // string or point at a directory of children. That contract is undocumented-to-us and moving, and
795
+ // six review rounds showed every attempt to model it produced a NEW false verdict. A narrow
796
+ // promise kept exactly beats a broad promise kept unreliably — so the gate reports the gap
797
+ // instead of guessing (see the advisory below and the README).
798
+ verifiedContainers.push(`${c.dir}/ → plugin "${loaded.name}" loaded`);
799
+ }
800
+ if (containerProblems.length > 0) {
648
801
  return {
649
802
  expected,
650
803
  layout,
@@ -652,11 +805,7 @@ export function verifyRegistration(evidence: RegistrationEvidence, options: Skil
652
805
  ...common,
653
806
  missing,
654
807
  verdict: 'fail',
655
- reason:
656
- `${deadContainers.length} plugin-shaped container(s) did not load — ` +
657
- deadContainers
658
- .map((c) => `${c.dir}/ (${c.candidates.length} skill(s) inside, but no such plugin in the session)`)
659
- .join('; '),
808
+ reason: `${containerProblems.length} plugin container problem(s) — ${containerProblems.join('; ')}`,
660
809
  };
661
810
  }
662
811
 
@@ -676,11 +825,18 @@ export function verifyRegistration(evidence: RegistrationEvidence, options: Skil
676
825
  );
677
826
  }
678
827
 
828
+ const containerAdvisories: SkillLayoutFinding[] = verifiedContainers.map((v) => ({
829
+ dir: v.split('/')[0] ?? v,
830
+ kind: 'plugin-manifest-trap' as const,
831
+ detail: `${v} — its individual skills are NOT verified: a plugin skill's command name depends on frontmatter this gate does not model`,
832
+ }));
833
+ const allAdvisories = [...scan.advisories, ...containerAdvisories];
834
+
679
835
  if (missing.length > 0) {
680
836
  return {
681
837
  expected,
682
838
  layout,
683
- advisories: scan.advisories,
839
+ advisories: allAdvisories,
684
840
  ...common,
685
841
  missing,
686
842
  verdict: 'fail',
@@ -691,7 +847,7 @@ export function verifyRegistration(evidence: RegistrationEvidence, options: Skil
691
847
  return {
692
848
  expected,
693
849
  layout,
694
- advisories: scan.advisories,
850
+ advisories: allAdvisories,
695
851
  ...common,
696
852
  missing: [],
697
853
  verdict: 'pass',