@ai-dossier/cli 0.58.0 → 0.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"capability.js","sourceRoot":"","sources":["../src/capability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capability.js","sourceRoot":"","sources":["../src/capability.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;;;;AAyEH,gDAGC;AAuFD,wDAoBC;AAGD,0DAmCC;AAuJD,sCA0CC;AAoCD,gCAEC;AAGD,8CAIC;AAQD,oDAgBC;AAGD,sCAmFC;AAvjBD,2DAA+C;AAC/C,sDAAyB;AACzB,0DAA6B;AAC7B,+BAA0C;AAC1C,uCAA4C;AAE5C,oFAAoF;AACvE,QAAA,cAAc,GAAG,qBAAqB,CAAC;AACpD,+DAA+D;AAClD,QAAA,aAAa,GAAG,eAAe,CAAC;AAU7C,4DAA4D;AAC/C,QAAA,qBAAqB,GAAsC;IACtE,EAAE,EAAE,CAAC;IACL,aAAa,EAAE,CAAC;IAChB,mBAAmB,EAAE,CAAC;IACtB,wBAAwB,EAAE,CAAC;CAC5B,CAAC;AAEF,8EAA8E;AAC9E,kEAAkE;AAClE,MAAM,yBAAyB,GAAG,GAAG,CAAC;AACtC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AACzC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC,6FAA6F;AAC7F,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC,qFAAqF;AACrF,MAAM,0BAA0B,GAAG,CAAC,GAAG,MAAM,CAAC;AAE9C;;;;GAIG;AACU,QAAA,yBAAyB,GAAG,IAAI,CAAC;AAE9C;;;;;;;;GAQG;AACI,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAU,EAAE,CAC9D,2BAA2B,SAAS,IAAI,CAAC;AAD9B,QAAA,kBAAkB,sBACY;AAE3C,6RAA6R;AAChR,QAAA,2BAA2B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5D,oFAAoF;AACvE,QAAA,qBAAqB,GAAG,2BAA2B,CAAC;AAEjE;;;;;;GAMG;AACH,SAAgB,kBAAkB;IAChC,MAAM,EAAE,CAAC,6BAAqB,CAAC,EAAE,aAAa,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAC5E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,4EAA4E;AAC5E,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAU,CAAC;AAGpE,MAAM,wBAAwB,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxE,MAAM,eAAe,GAAG,IAAI,MAAM,CAChC,2BAA2B,CAAC,GAAG,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAC3G,CAAC;AAEF,MAAM,YAAY,GAAoD;IACpE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;IACnB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC;IACjB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;IACnB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC;IACjB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC;IACnB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC;CACrB,CAAC;AAiDF,8DAA8D;AAC9D,MAAa,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AALD,4CAKC;AAED,MAAM,gBAAgB,GAAG,6CAA6C,CAAC;AAEvE,+EAA+E;AAC/E,kCAAkC;AAClC,+EAA+E;AAE/E;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,GAAW;IAChD,MAAM,YAAY,GAAG,mBAAI,CAAC,OAAO,CAAC,GAAG,EAAE,sBAAc,EAAE,qBAAa,CAAC,CAAC;IACtE,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAC1C,CAAC;IACD,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,iBAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,gBAAgB,CAAC,GAAG,YAAY,kBAAmB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,gBAAgB,EAAE,CAAC;YACpC,MAAM,IAAI,gBAAgB,CAAC,GAAG,YAAY,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,gEAAgE;AAChE,SAAgB,uBAAuB,CAAC,IAAY;IAClD,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAA,YAAS,EAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,gBAAgB,CAAC,mBAAoB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,IAAI,GAAG,GAA8B,CAAC;IAC5C,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,gBAAgB,CACxB,gCAAgC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAC5E,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,IAAI,gBAAgB,CAAC,mDAAmD,CAAC,CAAC;IAClF,CAAC;IACD,IACE,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ;QACrC,IAAI,CAAC,YAAY,KAAK,IAAI;QAC1B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAChC,CAAC;QACD,MAAM,IAAI,gBAAgB,CAAC,iDAAiD,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,YAAY,GAAoC,EAAE,CAAC;IACzD,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1D,YAAY,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,oBAAoB,CAAC,EAAU,EAAE,GAAY;IACpD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,gBAAgB,CACxB,kBAAkB,EAAE,gEAAgE,CACrF,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,sCAAsC,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,KAAK,GAAG,GAA8B,CAAC;IAE7C,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrE,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,yCAAyC,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,SAAS,GAAwB,QAAQ,CAAC;IAC9C,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACjE,MAAM,IAAI,gBAAgB,CACxB,eAAe,EAAE,mDAAmD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAC/F,CAAC;QACJ,CAAC;QACD,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAC9B,CAAC;IAED,IAAI,WAA+B,CAAC;IACpC,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,iCAAiC,CAAC,CAAC;QACjF,CAAC;QACD,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IAClC,CAAC;IAED,IAAI,SAA6B,CAAC;IAClC,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACnC,IACE,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;YACpC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;YAClC,KAAK,CAAC,UAAU,IAAI,CAAC,EACrB,CAAC;YACD,MAAM,IAAI,gBAAgB,CACxB,eAAe,EAAE,yDAAyD,CAC3E,CAAC;QACJ,CAAC;QACD,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC;IAC/B,CAAC;IAED,IAAI,aAAiC,CAAC;IACtC,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACxC,IACE,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ;YACzC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC;YACvC,KAAK,CAAC,eAAe,GAAG,CAAC,EACzB,CAAC;YACD,MAAM,IAAI,gBAAgB,CACxB,eAAe,EAAE,kEAAkE,CACpF,CAAC;QACJ,CAAC;QACD,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC;IACxC,CAAC;IAED,IAAI,YAAiC,CAAC;IACtC,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAC7C,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,wCAAwC,CAAC,CAAC;QACxF,CAAC;QACD,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC;IACrC,CAAC;IAED,IAAI,WAA+C,CAAC;IACpD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,yCAAyC,CAAC,CAAC;QACzF,CAAC;QACD,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS;QACT,WAAW;QACX,WAAW;QACX,SAAS;QACT,aAAa;QACb,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EAAU,EAAE,KAAa,EAAE,GAAY;IAC9D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,gBAAgB,CACxB,eAAe,EAAE,iBAAiB,KAAK,GAAG,CAAC,iEAAiE,CAC7G,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,gBAAgB,CACxB,eAAe,EAAE,iBAAiB,KAAK,GAAG,CAAC,0DAA0D,CACtG,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,KAAK,GAAI,GAA+B,CAAC,IAAI,CAAC,CAAC;IAErD,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACrD,MAAM,IAAI,gBAAgB,CACxB,eAAe,EAAE,iBAAiB,KAAK,GAAG,CAAC,sCAAsC,CAClF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAChD,CAAC;IACD,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,gBAAgB,CACxB,eAAe,EAAE,iBAAiB,KAAK,GAAG,CAAC,8DAA8D,CAC1G,CAAC;QACJ,CAAC;QACD,OAAO,qBAAqB,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,IAAI,gBAAgB,CACxB,eAAe,EAAE,iBAAiB,KAAK,GAAG,CAAC,yBAAyB,IAAI,0CAA0C,CACnH,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,EAAU,EAAE,KAAa,EAAE,KAAa;IACrE,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,gBAAgB,CACxB,eAAe,EAAE,iBAAiB,KAAK,GAAG,CAAC,sEAAsE,wBAAwB,GAAG,CAC7I,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACd,EAAE,EAAE,KAAK,CAAC,CAAC,CAAkB;QAC7B,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KACzB,CAAC;AACJ,CAAC;AAWD,+DAA+D;AAC/D,SAAgB,aAAa,CAAC,KAA2B,EAAE,GAAW;IACpE,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,mBAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,iBAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAClC,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,KAAK,CAAC,MAAM,aAAa,EAAE,CAAC;IAC3E,CAAC;IAED,2EAA2E;IAC3E,+BAA+B;IAC/B,MAAM,GAAG,GAAG,IAAA,8BAAS,EAAC,GAAG,KAAK,CAAC,IAAI,YAAY,EAAE;QAC/C,KAAK,EAAE,IAAI;QACX,GAAG;QACH,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,gBAAgB;QACzB,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,kBAAkB,EAAE;KAC1B,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;IACxD,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,kBAAkB,KAAK,CAAC,IAAI,sBAAsB,GAAG,CAAC,KAAK,EAAE,OAAO,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,GAAG;SACxG,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,sCAAsC,KAAK,CAAC,IAAI,oBAAoB;SAC7E,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,IAAA,yBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,iBAAiB,KAAK,CAAC,IAAI,IAAI,MAAM,qBAAqB,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE;SAC1G,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAClC,CAAC;AA+BD;;;;GAIG;AACH,SAAgB,UAAU,CAAC,GAAW;IACpC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC3C,CAAC;AAED,gFAAgF;AAChF,SAAgB,iBAAiB,CAAC,IAAY,EAAE,QAAgB;IAC9D,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,GAAG,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAClC,EAAU,EACV,IAAc,EACd,GAAW,EACX,YAAoB,iCAAyB;IAE7C,IAAI,QAA4B,CAAC;IACjC,IAAI,CAAC;QACH,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,gBAAgB,EAAE,CAAC;YACpC,OAAO,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,qBAAqB,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,OAAO,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;AAC3D,CAAC;AAED,4DAA4D;AAC5D,SAAgB,aAAa,CAC3B,QAA4B,EAC5B,EAAU,EACV,IAAc,EACd,GAAW,EACX,YAAoB,iCAAyB;IAE7C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAExC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,OAAO,EAAE,wBAAwB;YACjC,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,CAAC;YACd,MAAM,EAAE,QAAQ,CAAC,IAAI;gBACnB,CAAC,CAAC,eAAe,EAAE,eAAe,QAAQ,CAAC,IAAI,EAAE;gBACjD,CAAC,CAAC,6BAA6B,sBAAc,IAAI,qBAAa,EAAE;SACnE,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO;YACL,OAAO,EAAE,wBAAwB;YACjC,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,CAAC;YACd,MAAM,EAAE,eAAe,EAAE,sDAAsD;SAChF,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,MAAM,CACX,EAAE,EACF,KAAK,CAAC,OAAO,EACb,uBAAuB,MAAM,CAAC,MAAM,mBAAmB,EACvD,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CACnB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,0BAA0B,CAAC;IAChE,qEAAqE;IACrE,uEAAuE;IACvE,kEAAkE;IAClE,0EAA0E;IAC1E,yEAAyE;IACzE,mEAAmE;IACnE,0EAA0E;IAC1E,2EAA2E;IAC3E,uCAAuC;IACvC,MAAM,GAAG,GAAG,IAAA,8BAAS,EAAC,WAAW,EAAE;QACjC,KAAK,EAAE,IAAI;QACX,GAAG;QACH,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,mCAA2B;QACtC,GAAG,EAAE,kBAAkB,EAAE;KAC1B,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,GAAG,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;IACtC,MAAM,UAAU,GAAG,mBAAmB,CACpC,GAAG,EACH,EAAE,EACF,WAAW,EACX,UAAU,EACV,GAAG,EACH,SAAS,EACT,KAAK,CAAC,aAAa,IAAI,CAAC,CACzB,CAAC;IACF,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAChC,UAAU,CAAC,WAAW,GAAG,iBAAiB,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,yGAAyG;AACzG,SAAS,mBAAmB,CAC1B,GAAiC,EACjC,EAAU,EACV,WAAmB,EACnB,UAAkB,EAClB,GAAW,EACX,SAAiB,EACjB,aAAa,GAAG,CAAC;IAEjB,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,MAAM,IAAI,GAAI,GAAG,CAAC,KAA+B,CAAC,IAAI,CAAC;QACvD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,IAAA,0BAAkB,EAAC,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,OAAO,MAAM,CACX,EAAE,EACF,WAAW,EACX,4BAA4B,GAAG,CAAC,KAAK,CAAC,OAAO,UAAU,GAAG,IAAI,IAAI,EAAE,EACpE,UAAU,CACX,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,4BAA4B,EAAE,CAAC;QAChD,OAAO,MAAM,CACX,EAAE,EACF,WAAW,EACX,2BAA2B,4BAA4B,GAAG,EAC1D,UAAU,CACX,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,yBAAyB,EAAE,CAAC;QAC7C,OAAO,MAAM,CACX,EAAE,EACF,WAAW,EACX,gCAAgC,yBAAyB,GAAG,EAC5D,UAAU,CACX,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACxB,kFAAkF;QAClF,OAAO;YACL,OAAO,EAAE,mBAAmB;YAC5B,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,WAAW,EAAE,UAAU;YACvB,MAAM,EAAE,mCAAmC,GAAG,CAAC,MAAM,EAAE;SACxD,CAAC;IACJ,CAAC;IACD,sDAAsD;IACtD,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,sBAAsB,EAAE,CAAC;QAC/D,OAAO;YACL,OAAO,EAAE,mBAAmB;YAC5B,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,GAAG,CAAC,MAAM;YACrB,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,UAAU;YACvB,MAAM,EAAE,8BAA8B,GAAG,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAM,GAAG,sBAAsB,GAAG;SAC7G,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,UAAU;YACvB,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;IACD,uEAAuE;IACvE,0EAA0E;IAC1E,wEAAwE;IACxE,eAAe;IACf,IAAI,aAAa,GAAG,CAAC,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;QACpD,OAAO;YACL,OAAO,EAAE,mBAAmB;YAC5B,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,GAAG,CAAC,MAAM;YACrB,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,UAAU;YACvB,MAAM,EAAE,UAAU,GAAG,CAAC,MAAM,UAAU,UAAU,8BAA8B,aAAa,mDAAmD;SAC/I,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,aAAa;QACtB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,GAAG,CAAC,MAAM;QACrB,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,UAAU;QACvB,MAAM,EAAE,IAAI;KACb,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CACb,EAAU,EACV,OAAsB,EACtB,MAAc,EACd,UAAkB,EAClB,SAAmD;IAEnD,OAAO;QACL,OAAO,EAAE,mBAAmB;QAC5B,UAAU,EAAE,EAAE;QACd,OAAO;QACP,SAAS,EAAE,SAAS,EAAE,SAAS,IAAI,IAAI;QACvC,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,IAAI;QACjC,WAAW,EAAE,UAAU;QACvB,MAAM;KACP,CAAC;AACJ,CAAC"}
@@ -6,7 +6,10 @@
6
6
  *
7
7
  * `cap run` owns its exit codes (the four-way outcome contract):
8
8
  * 0 ok · 1 task-failed · 2 automation-broken · 3 capability-unavailable
9
- * The JSON envelope is the LAST stdout line — machine consumers read that line.
9
+ * The JSON envelope (marked `"cap_envelope": 1`) is the LAST stdout line, and —
10
+ * when `--envelope-file <path>` or `DOSSIER_CAP_ENVELOPE_FILE` names a file —
11
+ * is also written there before exit: the dedicated channel machine consumers
12
+ * read (#811), immune to anything else that lands on stdout.
10
13
  */
11
14
  import type { Command } from 'commander';
12
15
  export declare function registerCapCommand(program: Command): void;
@@ -1 +1 @@
1
- {"version":3,"file":"cap.d.ts","sourceRoot":"","sources":["../../src/commands/cap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsDzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwFzD"}
1
+ {"version":3,"file":"cap.d.ts","sourceRoot":"","sources":["../../src/commands/cap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2EzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmHzD"}
@@ -7,14 +7,37 @@
7
7
  *
8
8
  * `cap run` owns its exit codes (the four-way outcome contract):
9
9
  * 0 ok · 1 task-failed · 2 automation-broken · 3 capability-unavailable
10
- * The JSON envelope is the LAST stdout line — machine consumers read that line.
10
+ * The JSON envelope (marked `"cap_envelope": 1`) is the LAST stdout line, and —
11
+ * when `--envelope-file <path>` or `DOSSIER_CAP_ENVELOPE_FILE` names a file —
12
+ * is also written there before exit: the dedicated channel machine consumers
13
+ * read (#811), immune to anything else that lands on stdout.
11
14
  */
12
15
  Object.defineProperty(exports, "__esModule", { value: true });
13
16
  exports.registerCapCommand = registerCapCommand;
17
+ const cap_envelope_1 = require("../cap-envelope");
14
18
  const cap_log_1 = require("../cap-log");
15
19
  const capability_1 = require("../capability");
16
20
  const helpers_1 = require("../helpers");
17
21
  const table_1 = require("../table");
22
+ /**
23
+ * Resolve once everything written to `stream` so far has been handed to the
24
+ * OS (#811). `process.exit()` right after a large write to a PIPE discards
25
+ * whatever libuv still has queued — a 20 MB re-emitted capability output
26
+ * arrived as 146 KB with no envelope, exit 0. A zero-length write's callback
27
+ * fires only after every earlier queued write completes.
28
+ */
29
+ function drain(stream) {
30
+ if (stream.writableLength === 0)
31
+ return Promise.resolve();
32
+ return new Promise((resolve) => {
33
+ try {
34
+ stream.write('', () => resolve());
35
+ }
36
+ catch {
37
+ resolve();
38
+ }
39
+ });
40
+ }
18
41
  function loadOrFail() {
19
42
  try {
20
43
  return (0, capability_1.loadCapabilityManifest)(process.cwd());
@@ -34,6 +57,7 @@ function loadOrFail() {
34
57
  */
35
58
  function envelope(result) {
36
59
  return JSON.stringify({
60
+ [cap_envelope_1.CAP_ENVELOPE_MARKER]: 1,
37
61
  capability: result.capability,
38
62
  outcome: result.outcome,
39
63
  command: result.command,
@@ -88,29 +112,52 @@ function registerCapCommand(program) {
88
112
  .description('Execute one capability; extra args after -- are shell-quoted and appended to the command. ' +
89
113
  'Exit codes: 0 ok, 1 task-failed, 2 automation-broken, 3 capability-unavailable')
90
114
  .option('--tail-bytes <n>', `Bytes of combined stdout+stderr to capture on a non-ok outcome (default ${capability_1.DEFAULT_OUTPUT_TAIL_BYTES})`)
115
+ .option('--envelope-file <path>', `Also write the JSON envelope to <path> before exiting — a channel machine consumers read instead of stdout's last line (default: $${cap_envelope_1.CAP_ENVELOPE_FILE_ENV})`)
91
116
  .allowUnknownOption(true)
92
- .action((id, args, opts) => {
117
+ .action(async (id, args, opts) => {
93
118
  const cwd = process.cwd();
94
119
  const tailBytes = opts.tailBytes ? Number(opts.tailBytes) : capability_1.DEFAULT_OUTPUT_TAIL_BYTES;
95
120
  if (!Number.isFinite(tailBytes) || tailBytes < 0) {
96
121
  (0, helpers_1.fail)([`--tail-bytes must be a non-negative number, got '${opts.tailBytes}'`]);
97
122
  }
98
123
  const result = (0, capability_1.runCapabilityFromCwd)(id, args, cwd, tailBytes);
99
- (0, cap_log_1.appendCapLog)({
100
- timestamp: new Date().toISOString(),
101
- capability: result.capability,
102
- outcome: result.outcome,
103
- exit_code: result.exit_code,
104
- duration_ms: result.duration_ms,
105
- reason: result.reason,
106
- signal: result.signal,
107
- cwd,
108
- ...(result.output_tail !== undefined ? { output_tail: result.output_tail } : {}),
109
- });
124
+ // The verdict channel is written FIRST: nothing after this point (the
125
+ // telemetry append, stdout) may prevent a consumer from reading it.
126
+ const json = envelope(result);
127
+ const envelopeFile = opts.envelopeFile ?? process.env[cap_envelope_1.CAP_ENVELOPE_FILE_ENV];
128
+ if (envelopeFile) {
129
+ try {
130
+ (0, cap_envelope_1.writeCapEnvelopeFile)(envelopeFile, json);
131
+ }
132
+ catch (err) {
133
+ // The stdout envelope below is still the fallback channel; never
134
+ // let a bad path change the capability's own outcome.
135
+ process.stderr.write(`cap run: could not write envelope file ${envelopeFile}: ${err.message}\n`);
136
+ }
137
+ }
138
+ try {
139
+ (0, cap_log_1.appendCapLog)({
140
+ timestamp: new Date().toISOString(),
141
+ capability: result.capability,
142
+ outcome: result.outcome,
143
+ exit_code: result.exit_code,
144
+ duration_ms: result.duration_ms,
145
+ reason: result.reason,
146
+ signal: result.signal,
147
+ cwd,
148
+ ...(result.output_tail !== undefined ? { output_tail: result.output_tail } : {}),
149
+ });
150
+ }
151
+ catch (err) {
152
+ // Telemetry must never suppress the verdict (disk full, ~/.dossier unwritable).
153
+ process.stderr.write(`cap run: could not append caps.jsonl: ${err.message}\n`);
154
+ }
110
155
  // Leading newline: a child whose last write had no trailing newline must
111
- // not end up on the same line as the envelope — the envelope is the
112
- // machine-readable LAST stdout line, so it has to stand alone.
113
- console.log(`\n${envelope(result)}`);
156
+ // not end up on the same line as the envelope — the stdout envelope is
157
+ // the last line, the fallback channel for consumers without
158
+ // --envelope-file, so it has to stand alone.
159
+ console.log(`\n${json}`);
160
+ await Promise.all([drain(process.stdout), drain(process.stderr)]);
114
161
  process.exit(capability_1.CAPABILITY_EXIT_CODES[result.outcome]);
115
162
  });
116
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cap.js","sourceRoot":"","sources":["../../src/commands/cap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cap.js","sourceRoot":"","sources":["../../src/commands/cap.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AA6EH,gDAmHC;AA7LD,kDAAmG;AACnG,wCAA0C;AAC1C,8CAUuB;AACvB,wCAAkC;AAClC,oCAAuC;AAWvC;;;;;;GAMG;AACH,SAAS,KAAK,CAAC,MAA0B;IACvC,IAAI,MAAM,CAAC,cAAc,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC1D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,OAAO,IAAA,mCAAsB,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,6BAAgB,EAAE,CAAC;YACpC,IAAA,cAAI,EAAC,CAAC,mCAAmC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,MAAoB;IACpC,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,CAAC,kCAAmB,CAAC,EAAE,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjF,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAAgB;IACjD,MAAM,GAAG,GAAG,OAAO;SAChB,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CACV,0FAA0F,2BAAc,IAAI,0BAAa,GAAG,CAC7H,CAAC;IAEJ,GAAG;SACA,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CACV,mFAAmF,CACpF;SACA,MAAM,CAAC,QAAQ,EAAE,oCAAoC,CAAC;SACtD,MAAM,CAAC,CAAC,IAAiB,EAAE,EAAE;QAC5B,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;QAE9B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC;gBACb,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;oBACxE,EAAE;oBACF,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;iBACvC,CAAC,CAAC;aACJ,CAAC,CACH,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CACT,2BAA2B,2BAAc,IAAI,0BAAa,0BAA0B,CACrF,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YACtE,EAAE;YACF,KAAK,CAAC,SAAS;YACf,KAAK,CAAC,OAAO;YACb,KAAK,CAAC,WAAW,IAAI,GAAG;SACzB,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,CAAC,IAAI,4BAA4B,CAAC,CAAC;YAC9E,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,iBAAiB,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,IAAA,mBAAW,EAAC,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CACV,4FAA4F;QAC1F,gFAAgF,CACnF;SACA,MAAM,CACL,kBAAkB,EAClB,2EAA2E,sCAAyB,GAAG,CACxG;SACA,MAAM,CACL,wBAAwB,EACxB,qIAAqI,oCAAqB,GAAG,CAC9J;SACA,kBAAkB,CAAC,IAAI,CAAC;SACxB,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAc,EAAE,IAAgB,EAAE,EAAE;QAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,sCAAyB,CAAC;QACtF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YACjD,IAAA,cAAI,EAAC,CAAC,oDAAoD,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,iCAAoB,EAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAE9D,sEAAsE;QACtE,oEAAoE;QACpE,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,oCAAqB,CAAC,CAAC;QAC7E,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,IAAA,mCAAoB,EAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,iEAAiE;gBACjE,sDAAsD;gBACtD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0CAA0C,YAAY,KAAM,GAAa,CAAC,OAAO,IAAI,CACtF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,IAAA,sBAAY,EAAC;gBACX,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,GAAG;gBACH,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gFAAgF;YAChF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yCAA0C,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;QAC5F,CAAC;QAED,yEAAyE;QACzE,uEAAuE;QACvE,4DAA4D;QAC5D,6CAA6C;QAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACzB,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,kCAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -12,18 +12,18 @@ import type { CapabilityGateResult } from '@ai-dossier/sched';
12
12
  import type { Command } from 'commander';
13
13
  /**
14
14
  * Batch-worktree `ai-dossier cap run <id>` runner for the per-member
15
- * incremental gate (#523 AC2). `spawnSync` (not the plain `ExecFn`, which
16
- * throws away stdout on a non-zero exit) because `cap run`'s `task-failed`
17
- * outcome — a legitimately failing test/typecheck — IS exit code 1, and the
18
- * JSON envelope naming which of the four outcomes it was is the LAST stdout
19
- * line either way (docs/reference/capabilities.md). Reuses the aggregate
20
- * suite's timeout budget (`BATCH_SUITE_TIMEOUT_MS`) — both are batch-worktree
21
- * subprocess calls with no reason to disagree on how long is too long.
15
+ * incremental gate (#523 AC2). `cap run`'s `task-failed` outcome — a
16
+ * legitimately failing test/typecheck — IS exit code 1, so the verdict comes
17
+ * from the JSON envelope naming which of the four outcomes it was, read via
18
+ * `spawnCapRun` (cli/src/cap-envelope.ts, #811): the dedicated envelope file
19
+ * first, then a bottom-up stdout scan for the `cap_envelope` marker — and
20
+ * only when the envelope's outcome agrees with `cap run`'s exit code. Reuses
21
+ * the aggregate suite's timeout budget (`BATCH_SUITE_TIMEOUT_MS`) — both are
22
+ * batch-worktree subprocess calls with no reason to disagree on how long is
23
+ * too long.
22
24
  *
23
- * `output_tail` (#583 AC1/AC3) rides on the same envelope `cap run` already
24
- * prints — this function's own `spawnSync` call already captures the whole
25
- * subprocess's stdout (no `stdio: 'inherit'` here), so no extra plumbing is
26
- * needed beyond reading the field off the parsed envelope.
25
+ * `output_tail` (#583 AC1/AC3) rides on the same envelope; when it is absent
26
+ * the fallback is `spawnCapRun`'s captured stdout+stderr.
27
27
  */
28
28
  export declare function createBatchCapabilityRunner(opts?: {
29
29
  /** Overridable so tests can exercise the ETIMEDOUT branch cheaply (mirrors `createBatchSuiteRunner`). */
@@ -1 +1 @@
1
- {"version":3,"file":"sched.d.ts","sourceRoot":"","sources":["../../src/commands/sched.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAKV,oBAAoB,EAIrB,MAAM,mBAAmB,CAAC;AA+D3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkCzC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,CAAC,EAAE;IACjD,yGAAyG;IACzG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,oBAAoB,CAiEnE;AAw3DD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgB3D"}
1
+ {"version":3,"file":"sched.d.ts","sourceRoot":"","sources":["../../src/commands/sched.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAKV,oBAAoB,EAIrB,MAAM,mBAAmB,CAAC;AA+D3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmCzC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,CAAC,EAAE;IACjD,yGAAyG;IACzG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,oBAAoB,CA4DnE;AAw3DD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgB3D"}
@@ -54,6 +54,7 @@ const path = __importStar(require("node:path"));
54
54
  const sched_1 = require("@ai-dossier/sched");
55
55
  const worktree_pool_1 = require("@ai-dossier/worktree-pool");
56
56
  const batch_suite_runner_1 = require("../batch-suite-runner");
57
+ const cap_envelope_1 = require("../cap-envelope");
57
58
  const capability_1 = require("../capability");
58
59
  const cost_format_1 = require("../cost-format");
59
60
  const dispatch_detect_1 = require("../dispatch-detect");
@@ -70,28 +71,27 @@ const sched_run_stats_1 = require("../sched-run-stats");
70
71
  const table_1 = require("../table");
71
72
  /**
72
73
  * Batch-worktree `ai-dossier cap run <id>` runner for the per-member
73
- * incremental gate (#523 AC2). `spawnSync` (not the plain `ExecFn`, which
74
- * throws away stdout on a non-zero exit) because `cap run`'s `task-failed`
75
- * outcome — a legitimately failing test/typecheck — IS exit code 1, and the
76
- * JSON envelope naming which of the four outcomes it was is the LAST stdout
77
- * line either way (docs/reference/capabilities.md). Reuses the aggregate
78
- * suite's timeout budget (`BATCH_SUITE_TIMEOUT_MS`) — both are batch-worktree
79
- * subprocess calls with no reason to disagree on how long is too long.
74
+ * incremental gate (#523 AC2). `cap run`'s `task-failed` outcome — a
75
+ * legitimately failing test/typecheck — IS exit code 1, so the verdict comes
76
+ * from the JSON envelope naming which of the four outcomes it was, read via
77
+ * `spawnCapRun` (cli/src/cap-envelope.ts, #811): the dedicated envelope file
78
+ * first, then a bottom-up stdout scan for the `cap_envelope` marker — and
79
+ * only when the envelope's outcome agrees with `cap run`'s exit code. Reuses
80
+ * the aggregate suite's timeout budget (`BATCH_SUITE_TIMEOUT_MS`) — both are
81
+ * batch-worktree subprocess calls with no reason to disagree on how long is
82
+ * too long.
80
83
  *
81
- * `output_tail` (#583 AC1/AC3) rides on the same envelope `cap run` already
82
- * prints — this function's own `spawnSync` call already captures the whole
83
- * subprocess's stdout (no `stdio: 'inherit'` here), so no extra plumbing is
84
- * needed beyond reading the field off the parsed envelope.
84
+ * `output_tail` (#583 AC1/AC3) rides on the same envelope; when it is absent
85
+ * the fallback is `spawnCapRun`'s captured stdout+stderr.
85
86
  */
86
87
  function createBatchCapabilityRunner(opts) {
87
88
  const timeoutMs = opts?.timeoutMs ?? batch_suite_runner_1.BATCH_SUITE_TIMEOUT_MS;
88
89
  return (worktree, capabilityId) => {
89
- const result = (0, node_child_process_1.spawnSync)('ai-dossier', ['cap', 'run', capabilityId], {
90
- cwd: worktree,
91
- encoding: 'utf-8',
92
- timeout: timeoutMs,
93
- });
94
- if (result.error) {
90
+ const run = (0, cap_envelope_1.spawnCapRun)(capabilityId, worktree, { timeoutMs });
91
+ const result = run.spawned;
92
+ // Captured subprocess output — the evidence fallback on every path below.
93
+ const captured = `${result.stdout ?? ''}${result.stderr ?? ''}`;
94
+ if (result.error && !run.exitedWithVerdict) {
95
95
  // #681: this runner's OWN timeout (spawnSync's, `BATCH_SUITE_TIMEOUT_MS`)
96
96
  // must be distinguishable from a genuine machinery failure — before, it
97
97
  // collapsed into the evidence-free `{outcome: 'automation-broken'}`
@@ -99,47 +99,50 @@ function createBatchCapabilityRunner(opts) {
99
99
  // `command timed out after <N>ms` reason `cli/src/capability.ts`'s
100
100
  // `classifySpawnResult` emits for its ETIMEDOUT, so the gate's
101
101
  // `isGateTimeout` classifier sees both timeout layers identically.
102
- // Any OTHER spawn error keeps the evidence-free `automation-broken` —
103
- // a genuine machinery failure, which still blocks (#583/#585).
104
- if (result.error.code === 'ETIMEDOUT') {
102
+ // Any OTHER spawn error is a genuine machinery failure, which still
103
+ // blocks (#583/#585) — with its code as the reason.
104
+ const code = result.error.code;
105
+ if (code === 'ETIMEDOUT') {
105
106
  return {
106
107
  outcome: 'automation-broken',
107
108
  reason: (0, capability_1.timeoutReasonSpent)(timeoutMs),
108
- outputTail: `${result.stdout ?? ''}${result.stderr ?? ''}` || null,
109
+ outputTail: captured || null,
109
110
  };
110
111
  }
111
- return { outcome: 'automation-broken' };
112
- }
113
- const lastLine = (result.stdout ?? '').trim().split('\n').pop() ?? '';
114
- try {
115
- const envelope = JSON.parse(lastLine);
116
- const outcome = envelope.outcome;
117
- // Fall back to the subprocess's own capture when the envelope omits
118
- // `output_tail` (a capability build predating #583, or a non-string
119
- // field). Passing `null` through would read as "nobody tried to capture
120
- // output" to `hasEarnedFailureEvidence`, which trusts the exit code in
121
- // that case — silently buying back the pre-#594 evict-on-any-
122
- // `task-failed` behaviour on the exact path #594 closes.
123
- const captured = `${result.stdout ?? ''}${result.stderr ?? ''}`;
124
- const outputTail = typeof envelope.output_tail === 'string' ? envelope.output_tail : captured || null;
125
- // `reason` (#583 review) is the only explanation available when no
126
- // subprocess ran at all — `capability-unavailable`, or `automation-broken`
127
- // from a failed assumption probe — since `output_tail` is unset there.
128
- const reason = typeof envelope.reason === 'string' ? envelope.reason : null;
129
- // `duration_ms` (#681) rides to `member_gates` — the gate's cost per
130
- // member, the raw material for per-change-shape savings reporting.
131
- const durationMs = typeof envelope.duration_ms === 'number' ? envelope.duration_ms : null;
132
- if (outcome === 'ok' ||
133
- outcome === 'task-failed' ||
134
- outcome === 'automation-broken' ||
135
- outcome === 'capability-unavailable') {
136
- return { outcome, outputTail, reason, durationMs };
137
- }
138
- return { outcome: 'automation-broken' };
112
+ return {
113
+ outcome: 'automation-broken',
114
+ reason: `cap run ${capabilityId} spawn error ${code ?? result.error.message}`,
115
+ outputTail: captured || null,
116
+ };
139
117
  }
140
- catch {
141
- return { outcome: 'automation-broken' };
118
+ if (run.envelope === null) {
119
+ return {
120
+ outcome: 'automation-broken',
121
+ reason: `cap run ${capabilityId} exited ${result.status ?? 'unknown'} (signal ${result.signal ?? 'none'}) with no trusted envelope — ${run.diagnostics}`,
122
+ outputTail: captured || null,
123
+ durationMs: null,
124
+ };
142
125
  }
126
+ const fields = (0, cap_envelope_1.envelopeFields)(run.envelope);
127
+ // Fall back to the subprocess's own capture when the envelope omits
128
+ // `output_tail` (a capability build predating #583, or a non-string
129
+ // field). Passing `null` through would read as "nobody tried to capture
130
+ // output" to `hasEarnedFailureEvidence`, which trusts the exit code in
131
+ // that case — silently buying back the pre-#594 evict-on-any-
132
+ // `task-failed` behaviour on the exact path #594 closes.
133
+ const outputTail = fields.outputTail ?? (captured || null);
134
+ // `reason` (#583 review) is the only explanation available when no
135
+ // subprocess ran at all — `capability-unavailable`, or `automation-broken`
136
+ // from a failed assumption probe — since `output_tail` is unset there.
137
+ // `duration_ms` (#681) rides to `member_gates` — the gate's cost per
138
+ // member, the raw material for per-change-shape savings reporting.
139
+ // `spawnCapRun` only returns an envelope with a valid outcome.
140
+ return {
141
+ outcome: fields.outcome ?? 'automation-broken',
142
+ outputTail,
143
+ reason: fields.reason,
144
+ durationMs: fields.durationMs,
145
+ };
143
146
  };
144
147
  }
145
148
  function parseMode(raw) {