@ai-dossier/cli 0.9.1 → 0.10.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":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,gDAgaC;AAzbD,2DAA+C;AAC/C,sDAAyB;AACzB,sDAAyB;AACzB,0DAA6B;AAC7B,2CAAgF;AAEhF,sDAM2B;AAC3B,kDAAoC;AACpC,wCAMoB;AACpB,sDAA4D;AAC5D,wDAAsD;AACtD,wCAA0C;AAE1C,SAAgB,kBAAkB,CAAC,OAAgB;IACjD,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CACV,mGAAmG,CACpG;SACA,QAAQ,CAAC,QAAQ,EAAE,4CAA4C,CAAC;SAChE,MAAM,CAAC,cAAc,EAAE,gCAAgC,CAAC;SACxD,MAAM,CAAC,YAAY,EAAE,mDAAmD,CAAC;SACzE,MAAM,CAAC,gBAAgB,EAAE,gDAAgD,CAAC;SAC1E,MAAM,CACL,gBAAgB,EAChB,sEAAsE,EACtE,UAAU,CACX;SACA,MAAM,CACL,0BAA0B,EAC1B,wEAAwE,CACzE;SACA,MAAM,CACL,wBAAwB,EACxB,6FAA6F,CAC9F;SACA,MAAM,CAAC,WAAW,EAAE,6BAA6B,CAAC;SAClD,MAAM,CAAC,SAAS,EAAE,oBAAoB,CAAC;SACvC,MAAM,CAAC,aAAa,EAAE,4BAA4B,CAAC;SACnD,MAAM,CAAC,SAAS,EAAE,uCAAuC,CAAC;SAC1D,MAAM,CAAC,QAAQ,EAAE,6BAA6B,CAAC;SAC/C,MAAM,CACL,qBAAqB,EACrB,uGAAuG,CACxG;SACA,MAAM,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;SACnE,MAAM,CAAC,mBAAmB,EAAE,yCAAyC,CAAC;SACtE,MAAM,CACL,KAAK,EACH,IAAY,EACZ,OAeC,EACD,EAAE;QACF,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,CAAC,KAAK,IAAI,iBAAE,CAAC,UAAU,CAAC,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC;QACnF,MAAM,GAAG,GAAG,QAAQ;YAClB,CAAC,CAAC,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YAChD,CAAC,CAAC,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAEjD,MAAM,UAAU,GAAG;YACjB,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,SAAS;YAC1B,MAAM,EAAE,OAAiD;YACzD,QAAQ,EAAE,SAA+B;YACzC,gBAAgB,EAAE,SAKL;SACd,CAAC;QAEF,uDAAuD;QACvD,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3B,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,GAAG,IAAA,kCAAgB,EAAC,IAAI,CAAC,CAAC;YAE5D,0EAA0E;YAC1E,0EAA0E;YAC1E,IAAI,eAAe,GAAkB,aAAa,CAAC;YACnD,IAAI,gBAAoC,CAAC;YACzC,kFAAkF;YAClF,IAAI,gBAAgB,GAAgC,QAAQ,CAAC;YAE7D,iFAAiF;YACjF,iEAAiE;YACjE,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,IAAI,aAAiC,CAAC;gBACtC,IAAI,CAAC;oBACH,aAAa,GAAG,IAAA,kCAAiB,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACpD,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACtB,OAAO,CAAC,KAAK,CAAC,OAAQ,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;oBACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,IAAA,qCAAoB,EAAC,WAAW,EAAE;wBACvD,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI;wBACpC,aAAa;qBACd,CAAC,CAAC;oBACH,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC;oBACnC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC;oBACrC,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACrC,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACtB,OAAO,CAAC,KAAK,CAAC,OAAQ,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;oBACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,MAAM,WAAW,GAAG,IAAA,kCAAiB,EAAC,WAAW,EAAE,eAAyB,CAAC,CAAC;YAC9E,MAAM,iBAAiB,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,iBAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAExF,UAAU,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YAE/C,IAAI,iBAAiB,EAAE,CAAC;gBACtB,YAAY,GAAG,WAAW,CAAC;gBAC3B,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC;gBAC5B,UAAU,CAAC,eAAe,GAAG,eAAyB,CAAC;gBACvD,UAAU,CAAC,QAAQ,GAAG,gBAAgB,CAAC;gBACvC,uDAAuD;gBACvD,qFAAqF;gBACrF,4EAA4E;gBAC5E,mFAAmF;gBACnF,gDAAgD;gBAChD,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,IAAI,gBAAgB,KAAK,aAAa,EAAE,CAAC;oBACvC,MAAM,GAAG,2DAA2D,CAAC;gBACvE,CAAC;qBAAM,IAAI,gBAAgB,KAAK,OAAO,EAAE,CAAC;oBACxC,MAAM,GAAG,mEAAmE,CAAC;gBAC/E,CAAC;qBAAM,IAAI,gBAAgB,KAAK,UAAU,EAAE,CAAC;oBAC3C,MAAM,GAAG,2CAA2C,CAAC;gBACvD,CAAC;gBACD,GAAG,CAAC,oBAAoB,WAAW,IAAI,eAAe,GAAG,MAAM,IAAI,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,IAAA,wCAAuB,EACrE,WAAW,EACX,eAAe,CAChB,CAAC;oBACF,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,IAAA,oCAA0B,EAAC,IAAI,EAAE,aAAa,CAAC,CAAC;wBAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,CAAC;oBAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;wBACnB,IAAA,mCAAkB,EAChB,WAAW,EACX,eAAyB,EACzB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,SAAS,EAChB,EAAE,YAAY,EAAE,IAAI,EAAE,CACvB,CAAC;wBACF,YAAY,GAAG,WAAW,CAAC;wBAC3B,oFAAoF;wBACpF,qDAAqD;wBACrD,IAAI,gBAAgB,KAAK,OAAO,EAAE,CAAC;4BACjC,GAAG,CACD,0BAA0B,WAAW,IAAI,eAAe,wCAAwC,CACjG,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACN,GAAG,CAAC,eAAe,WAAW,IAAI,eAAe,IAAI,CAAC,CAAC;wBACzD,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,MAAM,OAAO,GAAG,mBAAI,CAAC,IAAI,CAAC,iBAAE,CAAC,MAAM,EAAE,EAAE,WAAW,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;wBACtE,iBAAE,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;wBAClD,YAAY,GAAG,OAAO,CAAC;wBACvB,GAAG,CAAC,eAAe,WAAW,IAAI,eAAe,iBAAiB,CAAC,CAAC;oBACtE,CAAC;oBACD,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC;oBAC/B,UAAU,CAAC,eAAe,GAAG,eAAyB,CAAC;oBACvD,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;gBACzC,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACtB,MAAM,CAAC,GAAG,GAA+C,CAAC;oBAC1D,IAAI,CAAC,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;wBACzB,OAAO,CAAC,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;wBACxC,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;oBACnE,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;oBACvD,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,IAAI,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9E,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC;gBACH,YAAY,GAAG,IAAA,+BAAqB,EAAC,YAAY,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,2BAA4B,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;gBACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,wEAAwE;QACxE,8BAA8B;QAC9B,IAAI,cAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,cAAc,GAAG,iBAAE,CAAC,YAAY,CAAC,mBAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,+BAAgC,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,YAAY,GAAG,iBAAE,CAAC,WAAW,CAAC,mBAAI,CAAC,IAAI,CAAC,iBAAE,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;QAC5E,MAAM,aAAa,GAAG,mBAAI,CAAC,IAAI,CAAC,YAAY,EAAE,mBAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3E,iBAAE,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,YAAY,GAAG,aAAa,CAAC;QAE7B,wBAAwB;QACxB,IAAI,CAAC;YACH,IAAI,EAAE,GAA8B,IAAI,CAAC;YAEzC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAA,0BAAmB,EAAC,cAAc,CAAC,CAAC;gBACnD,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,8CAA+C,GAAa,CAAC,OAAO,IAAI,CACzE,CAAC;YACJ,CAAC;YAED,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtD,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBAC3B,IAAI,EAAE,CAAC,KAAK;oBAAE,GAAG,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;gBAChD,IAAI,EAAE,CAAC,OAAO;oBAAE,GAAG,CAAC,kBAAkB,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;gBACpD,IAAI,EAAE,CAAC,UAAU;oBAAE,GAAG,CAAC,kBAAkB,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC1D,IAAI,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBACnC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,WAAW,CAAW,CAAC;oBACvD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;oBACnE,GAAG,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;gBACnC,CAAC;gBACD,GAAG,CAAC,EAAE,CAAC,CAAC;YACV,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,4CAA6C,GAAa,CAAC,OAAO,IAAI,CACvE,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;YACtE,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;YAE/E,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,IAAK,MAAM,CAAC,SAAS,CAAC,YAAY,CAAwB,IAAI,MAAM,CAAC;YAClF,IAAA,sBAAY,EAAC;gBACX,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,OAAO,EAAE,IAAI;gBACb,gBAAgB,EAAE,UAAU,CAAC,eAAe;gBAC5C,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,iBAAiB,EAAE,UAAU,CAAC,gBAAgB;gBAC9C,YAAY,EAAE,aAAa;gBAC3B,GAAG,EAAE,SAAS;gBACd,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,SAAS,IAAI,iBAAE,CAAC,QAAQ,EAAE,EAAE;gBACzD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;gBAClB,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YAEH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACrC,iBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAC7B,iBAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAe,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAE5D,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,IAAK,MAAM,CAAC,SAAS,CAAC,YAAY,CAAwB,IAAI,MAAM,CAAC;QAElF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACxD,IAAA,sBAAY,EAAC;gBACX,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,OAAO,EAAE,IAAI;gBACb,gBAAgB,EAAE,UAAU,CAAC,eAAe;gBAC5C,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,iBAAiB,EAAE,UAAU,CAAC,gBAAgB;gBAC9C,YAAY,EAAE,QAAQ;gBACtB,GAAG,EAAE,SAAS;gBACd,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,SAAS,IAAI,iBAAE,CAAC,QAAQ,EAAE,EAAE;gBACzD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;gBAClB,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YACH,iBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAC7B,iBAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAA,sBAAY,EAAC;YACX,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,IAAI;YACb,gBAAgB,EAAE,UAAU,CAAC,eAAe;YAC5C,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,iBAAiB,EAAE,UAAU,CAAC,gBAAgB;YAC9C,YAAY,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;YAC1D,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,SAAS,IAAI,iBAAE,CAAC,QAAQ,EAAE,EAAE;YACzD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,iBAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAEzD,IACE,CAAC,OAAO,CAAC,QAAQ;YACjB,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC,EAC1E,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qIAAqI,CACtI,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,YAAY,EAAE,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;YAEpC,MAAM,QAAQ,GAAG,IAAA,mBAAS,EAAC,SAAmB,EAAE,IAAI,CAAC,CAAC;YACtD,MAAM,WAAW,GAAG;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,YAAY,EAAE,OAAO,CAAC,YAAY;aACnC,CAAC;YACF,MAAM,UAAU,GAAG,QAAQ;gBACzB,CAAC,CAAC,IAAA,yBAAe,EAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC;gBACxE,CAAC,CAAC,IAAI,CAAC;YACT,OAAO,CAAC,GAAG,CACT,eACE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,oCACxC,IAAI,CACL,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAC7D,iBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAC7B,iBAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,IAAI,CAAC;gBACH,iBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,iDAAiD,MAAM,CAAE,GAAa,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,CAC3F,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,CAAC;gBACH,iBAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gDAAgD,MAAM,CAAE,GAAa,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,CAC1F,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QAEzC,MAAM,QAAQ,GAAG,IAAA,mBAAS,EAAC,SAAmB,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,gBAAgB,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,yBAAe,EAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC3E,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,IAAI,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YAC9C,gBAAgB,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,IAAA,8BAAS,EAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE;gBACxD,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBACpE,KAAK,EAAE,UAAU,CAAC,KAAK;aACxB,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACpC,gBAAgB,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAE,KAA6B,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,gBAAgB,EAAE,CAAC;IACrB,CAAC,CACF,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `ai-dossier runstate` — post, read, and verify `runstate:v1` milestones.
3
+ *
4
+ * Issue-workflow dossiers used to ask agents to hand-reproduce a markdown heredoc after
5
+ * every phase. These subcommands make the milestone a command instead of a template, so
6
+ * the format, the timestamp, and the per-phase required keys are enforced rather than
7
+ * hoped for.
8
+ */
9
+ import type { Command } from 'commander';
10
+ /** Registers the `runstate` command tree (post, last, verify, mint). */
11
+ export declare function registerRunstateCommand(program: Command): void;
12
+ //# sourceMappingURL=runstate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runstate.d.ts","sourceRoot":"","sources":["../../src/commands/runstate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAksBzC,wEAAwE;AACxE,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAS9D"}
@@ -0,0 +1,572 @@
1
+ "use strict";
2
+ /**
3
+ * `ai-dossier runstate` — post, read, and verify `runstate:v1` milestones.
4
+ *
5
+ * Issue-workflow dossiers used to ask agents to hand-reproduce a markdown heredoc after
6
+ * every phase. These subcommands make the milestone a command instead of a template, so
7
+ * the format, the timestamp, and the per-phase required keys are enforced rather than
8
+ * hoped for.
9
+ */
10
+ var __importDefault = (this && this.__importDefault) || function (mod) {
11
+ return (mod && mod.__esModule) ? mod : { "default": mod };
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.registerRunstateCommand = registerRunstateCommand;
15
+ const node_child_process_1 = require("node:child_process");
16
+ const node_fs_1 = __importDefault(require("node:fs"));
17
+ const runstate_1 = require("../runstate");
18
+ /**
19
+ * Fail on stderr and exit 1, so a calling dossier can detect it.
20
+ *
21
+ * Each entry is one problem. An entry may span lines: the first gets the ❌, the rest are
22
+ * indented under it, which is how a cause line and its "Fix:" line stay visibly one item.
23
+ */
24
+ function fail(lines) {
25
+ for (const line of lines) {
26
+ const [first, ...rest] = line.split('\n');
27
+ console.error(`❌ ${first}`);
28
+ for (const cont of rest)
29
+ console.error(` ${cont}`);
30
+ }
31
+ process.exit(1);
32
+ }
33
+ /**
34
+ * Run a command, keeping WHY it failed.
35
+ *
36
+ * The whole point of this subcommand is that agents were silently getting things wrong,
37
+ * so a discarded stderr is the one thing we cannot afford: "gh is not installed", "gh is
38
+ * not logged in", and "issue 440 does not exist" need three different fixes and are
39
+ * indistinguishable without it.
40
+ */
41
+ function exec(file, args) {
42
+ try {
43
+ const stdout = (0, node_child_process_1.execFileSync)(file, args, {
44
+ encoding: 'utf8',
45
+ stdio: ['ignore', 'pipe', 'pipe'],
46
+ });
47
+ return { ok: true, stdout: String(stdout).trim() };
48
+ }
49
+ catch (err) {
50
+ const e = err;
51
+ const stderr = String(e?.stderr ?? '').trim() || String(e?.message ?? '').trim();
52
+ return {
53
+ ok: false,
54
+ error: {
55
+ notFound: e?.code === 'ENOENT',
56
+ status: typeof e?.status === 'number' ? e.status : null,
57
+ stderr,
58
+ },
59
+ };
60
+ }
61
+ }
62
+ /** Characters of command output kept in a top-level failure message. */
63
+ const SNIPPET_LENGTH = 300;
64
+ /** Characters kept in a `verify` warning, which is one line among several. */
65
+ const WARNING_SNIPPET_LENGTH = 120;
66
+ /** Collapse output to one bounded line so a huge or binary payload stays readable. */
67
+ function snippet(text, max = SNIPPET_LENGTH) {
68
+ const oneLine = text.replace(/\s+/g, ' ').trim();
69
+ if (oneLine === '')
70
+ return '(no output)';
71
+ return oneLine.length > max
72
+ ? `${oneLine.slice(0, max)}… (${oneLine.length} characters total)`
73
+ : oneLine;
74
+ }
75
+ const GH_FAILURE_CASES = [
76
+ {
77
+ match: [
78
+ 'gh auth login',
79
+ 'not logged',
80
+ 'authentication',
81
+ 'unauthorized',
82
+ 'http 401',
83
+ 'bad credentials',
84
+ ],
85
+ cause: () => 'gh is not authenticated.',
86
+ fix: `Fix: run 'gh auth login', confirm with 'gh auth status', then re-run.`,
87
+ },
88
+ {
89
+ match: ['could not resolve to', 'not found', 'http 404'],
90
+ cause: (where) => `GitHub could not find it in ${where}.`,
91
+ fix: `Fix: check the number is right and that the repository is the one you mean — pass --repo <owner/name> when running outside it.`,
92
+ },
93
+ {
94
+ match: ['http 403', 'permission', 'write access', 'forbidden'],
95
+ cause: (where) => `GitHub refused the request — the authenticated account lacks access to ${where}.`,
96
+ fix: `Fix: check the account and its scopes with 'gh auth status'; posting a milestone needs write access to the repository.`,
97
+ },
98
+ {
99
+ match: ['dial tcp', 'no such host', 'timeout', 'connection refused', 'network is unreachable'],
100
+ cause: () => 'gh could not reach GitHub.',
101
+ fix: `Fix: check network/proxy access to github.com and re-run; this is transient, so a retry is usually enough.`,
102
+ },
103
+ ];
104
+ /**
105
+ * `JSON.parse` for a `gh --json` payload: `null` instead of a throw, and the caller's
106
+ * declared shape instead of `any`. Every gh call here reads a `--json` payload, so all
107
+ * three call sites need the same "gh exited 0 but printed something that is not JSON"
108
+ * branch — they differ only in what they say about it. Fields stay `unknown` because gh's
109
+ * output is remote data — {@link asString} narrows each one at the point of use.
110
+ */
111
+ function parseGhJson(raw) {
112
+ try {
113
+ return JSON.parse(raw);
114
+ }
115
+ catch {
116
+ return null;
117
+ }
118
+ }
119
+ /** A JSON field as a string, or `fallback` when gh omitted it or sent another type. */
120
+ function asString(value, fallback = '') {
121
+ return typeof value === 'string' ? value : fallback;
122
+ }
123
+ /**
124
+ * Turn a failed `gh` invocation into a message that names the cause and the fix.
125
+ *
126
+ * `action` is what we were trying to do, e.g. "Could not read issue #440".
127
+ */
128
+ function ghFailure(action, err, repo) {
129
+ if (err.notFound) {
130
+ return [
131
+ `${action}: 'gh' is not installed, or is not on PATH.`,
132
+ `Fix: install the GitHub CLI (https://cli.github.com), then re-run. Check with: gh --version`,
133
+ ].join('\n');
134
+ }
135
+ const hint = err.stderr.toLowerCase();
136
+ const where = repo ? `--repo ${repo}` : 'the current repository (no --repo was passed)';
137
+ const matched = GH_FAILURE_CASES.find((c) => c.match.some((needle) => hint.includes(needle)));
138
+ const cause = matched
139
+ ? `${action}: ${matched.cause(where)}`
140
+ : `${action}: gh exited ${err.status === null ? 'abnormally' : `with status ${err.status}`}.`;
141
+ const fix = matched?.fix ?? `Fix: run the same gh command by hand to see the full error.`;
142
+ return [cause, fix, `gh said: ${snippet(err.stderr)}`].join('\n');
143
+ }
144
+ /** Reject a non-numeric `--issue` here rather than letting gh (or `mint`) fail obscurely. */
145
+ function requireIssueNumber(issue) {
146
+ if (!(0, runstate_1.isIssueNumber)(issue)) {
147
+ fail([
148
+ `Invalid --issue '${issue}' — expected a positive GitHub issue number.\nFix: pass the number only, e.g. --issue 440 (not a URL, a '#', or a branch name).`,
149
+ ]);
150
+ }
151
+ }
152
+ /**
153
+ * The `--issue`/`--repo` checks every issue-targeting subcommand runs before it starts.
154
+ * Kept together so a new subcommand cannot pick up one guard and miss the other.
155
+ */
156
+ function requireIssueTarget(options) {
157
+ requireIssueNumber(options.issue);
158
+ requireRepoSlug(options.repo);
159
+ }
160
+ /** `--repo owner/name` appended to a gh invocation when the caller supplied one. */
161
+ function repoArgs(repo) {
162
+ return repo ? ['--repo', repo] : [];
163
+ }
164
+ /** `owner/name`, or `host/owner/name` for a GitHub Enterprise host. */
165
+ const REPO_SLUG_RE = /^(?:[A-Za-z0-9][A-Za-z0-9.-]*\/)?[A-Za-z0-9][A-Za-z0-9._-]*\/[A-Za-z0-9][A-Za-z0-9._-]*$/;
166
+ /** Reject a `--repo` that is not a repository slug before handing it to gh. */
167
+ function requireRepoSlug(repo) {
168
+ if (repo === undefined)
169
+ return;
170
+ if (!REPO_SLUG_RE.test(repo)) {
171
+ fail([
172
+ `Invalid --repo '${repo}' — expected owner/name.\nFix: pass the slug only, e.g. --repo imboard-ai/ai-dossier (not a URL, and not a shell expansion).`,
173
+ ]);
174
+ }
175
+ }
176
+ /** Whether `value` carries a control character, which has no place in a milestone value. */
177
+ function hasControlChar(value) {
178
+ for (let i = 0; i < value.length; i += 1) {
179
+ const code = value.charCodeAt(i);
180
+ if (code < 0x20 || code === 0x7f)
181
+ return true;
182
+ }
183
+ return false;
184
+ }
185
+ /**
186
+ * Whether a value read back OUT of a milestone comment may be passed to `git`/`gh`.
187
+ *
188
+ * These values are attacker-reachable: anyone who can comment on the issue can post a
189
+ * `<!-- runstate:v1 -->` body, so `branch=`, `worktree=` and `pr=` arrive from the network
190
+ * rather than from the caller. Every invocation here is `execFileSync` with an argument
191
+ * array and no shell, so there is no command injection — but a value that begins with `-`
192
+ * is still read as a FLAG rather than as data. `gh` (cobra) parses flags interspersed with
193
+ * positionals, so `pr=--repo=someone/else` or `pr=--web` would silently retarget, or add a
194
+ * side effect to, a subcommand documented as strictly read-only.
195
+ */
196
+ function isSafeArg(value) {
197
+ return value !== '' && !value.startsWith('-') && !/\s/.test(value) && !hasControlChar(value);
198
+ }
199
+ /**
200
+ * Paths are only ever passed in value position (`git -C <path>`) or to `fs.statSync`, so
201
+ * they cannot be mistaken for a flag — but the protocol requires them absolute, and a
202
+ * relative path from a forged comment would resolve against whatever directory the agent
203
+ * happens to be in.
204
+ */
205
+ function isSafePath(value) {
206
+ return value.startsWith('/') && !hasControlChar(value);
207
+ }
208
+ /** Parse `--kv k=v` occurrences into ordered pairs. */
209
+ function parseKvPairs(raw) {
210
+ const pairs = [];
211
+ const errors = [];
212
+ for (const item of raw) {
213
+ const kv = (0, runstate_1.splitPair)(item);
214
+ if (!kv) {
215
+ errors.push(`Malformed --kv '${item}' — expected key=value, e.g. --kv base_branch=main`);
216
+ continue;
217
+ }
218
+ pairs.push(kv);
219
+ }
220
+ return { pairs, errors };
221
+ }
222
+ /** Fetch every runstate milestone on an issue, oldest first. */
223
+ function fetchMilestones(issue, repo) {
224
+ const res = exec('gh', ['issue', 'view', issue, '--json', 'comments', ...repoArgs(repo)]);
225
+ if (!res.ok) {
226
+ fail([ghFailure(`Could not read issue #${issue}`, res.error, repo)]);
227
+ }
228
+ const parsed = parseGhJson(res.stdout);
229
+ if (parsed === null) {
230
+ return fail([
231
+ [
232
+ `Could not read issue #${issue}: gh exited 0 but did not print JSON.`,
233
+ `Expected a {"comments":[…]} object from: gh issue view ${issue} --json comments${repo ? ` --repo ${repo}` : ''}`,
234
+ `Fix: run that command by hand — a gh older than 2.0 (no --json), or an interactive prompt landing on stdout, both look like this.`,
235
+ `gh printed: ${snippet(res.stdout)}`,
236
+ ].join('\n'),
237
+ ]);
238
+ }
239
+ // A milestone-less issue and a shape we cannot read must not look the same: the first
240
+ // means "fresh run", the second means the tool is broken, and silently returning [] for
241
+ // both would make a resume start over and destroy work.
242
+ if (!Array.isArray(parsed?.comments)) {
243
+ return fail([
244
+ [
245
+ `Could not read issue #${issue}: gh's JSON has no "comments" array.`,
246
+ `Fix: confirm your gh supports 'gh issue view <n> --json comments' (gh --version); if it does, re-run — this is not an issue with no comments, it is an unreadable response.`,
247
+ `gh printed: ${snippet(res.stdout)}`,
248
+ ].join('\n'),
249
+ ]);
250
+ }
251
+ const bodies = parsed.comments.map((c) => typeof c?.body === 'string' ? c.body : '');
252
+ return (0, runstate_1.parseMilestones)(bodies);
253
+ }
254
+ /** `git ls-remote --exit-code` exits 2 for "no such ref" — an answer, not a fault. */
255
+ const GIT_NO_MATCHING_REF = 2;
256
+ /** The `state` value `gh issue view --json state` reports for a closed issue. */
257
+ const GH_STATE_CLOSED = 'CLOSED';
258
+ /**
259
+ * What `verify` does when a probe cannot answer. Each is shared by the "the command
260
+ * failed" and "the value was unusable" paths of the same probe, so the consequence a
261
+ * reader is told stays the same however the check fell over.
262
+ */
263
+ const TREATED_MISSING = 'treating it as missing';
264
+ const IMPLEMENT_UNVERIFIED = 'treating the implement milestone as unverified';
265
+ const SHIP_UNVERIFIED = `resuming at 'ship' rather than assuming it merged`;
266
+ const RUN_INCOMPLETE = 'treating the run as not yet complete';
267
+ /**
268
+ * The warning for a probe whose command failed: one place for the format, so a new probe
269
+ * supplies only `subject` (what could not be read) and `consequence` (what verify does
270
+ * instead).
271
+ */
272
+ function probeFailure(tool, subject, err, consequence) {
273
+ return `could not ${subject} (${tool} exited ${err.status ?? 'abnormally'}: ${snippet(err.stderr, WARNING_SNIPPET_LENGTH)}) — ${consequence}`;
274
+ }
275
+ /** The warning for a gh call that exited 0 but did not print JSON. */
276
+ function nonJsonFailure(subject, stdout, consequence) {
277
+ return `gh returned non-JSON for ${subject} (${snippet(stdout, WARNING_SNIPPET_LENGTH)}) — ${consequence}`;
278
+ }
279
+ function probeBranchOnRemote(branch, warn) {
280
+ if (!isSafeArg(branch)) {
281
+ warn(`milestone branch '${branch}' is not a usable branch name — refusing to pass it to git, and ${TREATED_MISSING}`);
282
+ return false;
283
+ }
284
+ const res = exec('git', ['ls-remote', '--exit-code', 'origin', branch]);
285
+ if (res.ok)
286
+ return true;
287
+ if (res.error.notFound) {
288
+ warn(`git is not installed or not on PATH — could not confirm branch '${branch}'`);
289
+ }
290
+ else if (res.error.status !== GIT_NO_MATCHING_REF) {
291
+ // `--exit-code` reports 2 for "no such ref", which is a real answer, not a fault.
292
+ warn(probeFailure('git', `reach 'origin' to confirm branch '${branch}'`, res.error, TREATED_MISSING));
293
+ }
294
+ return false;
295
+ }
296
+ /**
297
+ * Backs both `dirExists` and `fileExists`, which differ only in the milestone key the
298
+ * path came from (`label`) and the kind of entry they expect.
299
+ */
300
+ function probePathExists(path, label, kind, warn) {
301
+ if (!isSafePath(path)) {
302
+ warn(`milestone ${label} '${path}' is not an absolute path — ${TREATED_MISSING}`);
303
+ return false;
304
+ }
305
+ try {
306
+ const stat = node_fs_1.default.statSync(path);
307
+ return kind === 'directory' ? stat.isDirectory() : stat.isFile();
308
+ }
309
+ catch {
310
+ return false;
311
+ }
312
+ }
313
+ function probeHeadOf(worktree, warn) {
314
+ if (!isSafePath(worktree)) {
315
+ warn(`milestone worktree '${worktree}' is not an absolute path — refusing to run git in it, and ${IMPLEMENT_UNVERIFIED}`);
316
+ return null;
317
+ }
318
+ const res = exec('git', ['-C', worktree, 'rev-parse', '--short', 'HEAD']);
319
+ if (res.ok)
320
+ return res.stdout;
321
+ // The worktree directory already passed dirExists, so a failure here is surprising.
322
+ warn(probeFailure('git', `read HEAD in '${worktree}'`, res.error, IMPLEMENT_UNVERIFIED));
323
+ return null;
324
+ }
325
+ function probePrState(pr, repo, warn) {
326
+ if (!isSafeArg(pr)) {
327
+ warn(`milestone pr '${pr}' is not a usable PR reference — refusing to pass it to gh, and ${SHIP_UNVERIFIED}`);
328
+ return null;
329
+ }
330
+ const res = exec('gh', [
331
+ 'pr',
332
+ 'view',
333
+ pr,
334
+ '--json',
335
+ 'state,mergedAt,mergeable',
336
+ ...repoArgs(repo),
337
+ ]);
338
+ if (!res.ok) {
339
+ warn(probeFailure('gh', `read PR ${pr}`, res.error, SHIP_UNVERIFIED));
340
+ return null;
341
+ }
342
+ const data = parseGhJson(res.stdout);
343
+ if (data === null) {
344
+ warn(nonJsonFailure(`PR ${pr}`, res.stdout, SHIP_UNVERIFIED));
345
+ return null;
346
+ }
347
+ return {
348
+ state: asString(data.state),
349
+ mergedAt: typeof data.mergedAt === 'string' ? data.mergedAt : null,
350
+ mergeable: asString(data.mergeable),
351
+ };
352
+ }
353
+ function probeIssueClosed(issue, repo, warn) {
354
+ const res = exec('gh', ['issue', 'view', issue, '--json', 'state', ...repoArgs(repo)]);
355
+ if (!res.ok) {
356
+ warn(probeFailure('gh', `read the state of issue #${issue}`, res.error, RUN_INCOMPLETE));
357
+ return false;
358
+ }
359
+ const data = parseGhJson(res.stdout);
360
+ if (data === null) {
361
+ warn(nonJsonFailure(`the state of issue #${issue}`, res.stdout, RUN_INCOMPLETE));
362
+ return false;
363
+ }
364
+ return asString(data.state) === GH_STATE_CLOSED;
365
+ }
366
+ /**
367
+ * The real-world probe backing `runstate verify`. All reads — never needs push access.
368
+ *
369
+ * A probe that cannot answer degrades to "not verified", which is the safe direction (the
370
+ * run redoes a phase rather than skipping one). But silently redoing a phase is expensive,
371
+ * so every degradation appends to `warnings` and `verify` reports them.
372
+ */
373
+ function makeProbe(issue, repo, warnings = []) {
374
+ const warn = (line) => {
375
+ if (!warnings.includes(line))
376
+ warnings.push(line);
377
+ };
378
+ return {
379
+ branchOnRemote: (branch) => probeBranchOnRemote(branch, warn),
380
+ dirExists: (path) => probePathExists(path, 'worktree', 'directory', warn),
381
+ fileExists: (path) => probePathExists(path, 'planning path', 'file', warn),
382
+ headOf: (worktree) => probeHeadOf(worktree, warn),
383
+ prState: (pr) => probePrState(pr, repo, warn),
384
+ issueClosed: () => probeIssueClosed(issue, repo, warn),
385
+ };
386
+ }
387
+ /** `--dry-run`: show the exact body that would have been posted, and post nothing. */
388
+ function printDryRun(body, json) {
389
+ if (json) {
390
+ console.log(JSON.stringify({ posted: false, dryRun: true, body }, null, 2));
391
+ }
392
+ else {
393
+ process.stdout.write(body);
394
+ }
395
+ }
396
+ /** Comment the built body onto the issue and report where it landed. */
397
+ function postMilestone(body, options) {
398
+ const res = exec('gh', [
399
+ 'issue',
400
+ 'comment',
401
+ options.issue,
402
+ '--body',
403
+ body,
404
+ ...repoArgs(options.repo),
405
+ ]);
406
+ if (!res.ok) {
407
+ fail([
408
+ ghFailure(`Failed to post the ${options.phase}/${options.status} milestone to issue #${options.issue}`, res.error, options.repo),
409
+ // The milestone is the only durable record of the phase, so hand back the body it
410
+ // could not post: re-running the phase is far more expensive than a retry.
411
+ `The milestone was NOT posted. Retry, or post it by hand:\ngh issue comment ${options.issue}${options.repo ? ` --repo ${options.repo}` : ''} --body ${JSON.stringify(body)}`,
412
+ ]);
413
+ }
414
+ if (options.json) {
415
+ console.log(JSON.stringify({ posted: true, url: res.stdout, body }, null, 2));
416
+ }
417
+ else {
418
+ console.log(`✅ ${options.phase} ${options.status} → ${res.stdout}`);
419
+ }
420
+ }
421
+ /**
422
+ * `post` refuses an over-long body itself: GitHub answers a too-large comment with an
423
+ * opaque 422, and `execFileSync` can hit E2BIG even earlier, so without this the failure
424
+ * arrives as "gh exited abnormally" with no mention of size.
425
+ */
426
+ function requirePostableBody(body, pairs) {
427
+ if (body.length <= runstate_1.MAX_BODY_LENGTH)
428
+ return;
429
+ const biggest = [...pairs].sort((a, b) => b[1].length - a[1].length)[0];
430
+ fail([
431
+ [
432
+ `Milestone is ${body.length} characters — GitHub rejects an issue comment over ${runstate_1.MAX_BODY_LENGTH}.`,
433
+ biggest
434
+ ? `Largest key: ${biggest[0]}= at ${biggest[1].length} characters.`
435
+ : `No --kv pairs to trim.`,
436
+ `Fix: replace the long value with a count or a path to the full text — a milestone is an index, not a report.`,
437
+ ].join('\n'),
438
+ ]);
439
+ }
440
+ /** `runstate post` — validate a milestone, then comment it onto the issue. */
441
+ function registerPostSubcommand(cmd) {
442
+ cmd
443
+ .command('post')
444
+ .description('Build and post a runstate milestone comment (validates before posting)')
445
+ .requiredOption('--issue <number>', 'GitHub issue number')
446
+ .requiredOption('--phase <phase>', 'gate, setup, plan, implement, review, ship, or report')
447
+ .requiredOption('--status <status>', 'done, partial, blocked, or awaiting-merge')
448
+ .requiredOption('--run <id>', 'Run id minted by the gate phase (r-<issue>-<hex>)')
449
+ .option('--kv <key=value...>', 'Phase-specific key=value pair (repeatable)')
450
+ .option('--next <phase>', 'Override the computed next= value')
451
+ .option('--repo <owner/name>', 'Target repository (defaults to the current one)')
452
+ .option('--dry-run', 'Print the comment body without posting it')
453
+ .option('--json', 'Output the result as JSON')
454
+ .action((options) => {
455
+ requireIssueTarget(options);
456
+ const { pairs, errors: kvErrors } = parseKvPairs(options.kv ?? []);
457
+ const input = {
458
+ phase: options.phase,
459
+ status: options.status,
460
+ run: options.run,
461
+ keys: pairs,
462
+ next: options.next,
463
+ };
464
+ const errors = [...kvErrors, ...(0, runstate_1.validateMilestone)(input)];
465
+ if (errors.length > 0)
466
+ fail(errors);
467
+ const body = (0, runstate_1.buildMilestone)(input);
468
+ requirePostableBody(body, pairs);
469
+ if (options.dryRun) {
470
+ printDryRun(body, options.json);
471
+ return;
472
+ }
473
+ postMilestone(body, options);
474
+ });
475
+ }
476
+ /** `runstate last` — print the most recent milestone on an issue. */
477
+ function registerLastSubcommand(cmd) {
478
+ cmd
479
+ .command('last')
480
+ .description('Print the most recent runstate milestone on an issue (read-only)')
481
+ .requiredOption('--issue <number>', 'GitHub issue number')
482
+ .option('--repo <owner/name>', 'Target repository (defaults to the current one)')
483
+ .option('--json', 'Output the parsed milestone as JSON')
484
+ .action((options) => {
485
+ requireIssueTarget(options);
486
+ const milestones = fetchMilestones(options.issue, options.repo);
487
+ if (milestones.length === 0) {
488
+ if (options.json) {
489
+ console.log(JSON.stringify(null));
490
+ }
491
+ else {
492
+ console.log(`No runstate milestones on issue #${options.issue}.`);
493
+ }
494
+ return;
495
+ }
496
+ const last = milestones[milestones.length - 1];
497
+ if (options.json) {
498
+ console.log(JSON.stringify({ phase: last.phase, status: last.status, run: last.run, at: last.at, ...last.keys }, null, 2));
499
+ return;
500
+ }
501
+ for (const [key, value] of Object.entries(last.keys)) {
502
+ console.log(`${key}=${value}`);
503
+ }
504
+ });
505
+ }
506
+ /** `runstate verify` — re-check a run's claims and report where it should resume. */
507
+ function registerVerifySubcommand(cmd) {
508
+ cmd
509
+ .command('verify')
510
+ .description("Run the gate's resume verification and print resume_from (read-only)")
511
+ .requiredOption('--issue <number>', 'GitHub issue number')
512
+ .option('--repo <owner/name>', 'Target repository (defaults to the current one)')
513
+ .option('--json', 'Output the result as JSON')
514
+ .action((options) => {
515
+ requireIssueTarget(options);
516
+ const milestones = fetchMilestones(options.issue, options.repo);
517
+ const warnings = [];
518
+ const result = (0, runstate_1.computeResume)(milestones, makeProbe(options.issue, options.repo, warnings));
519
+ if (options.json) {
520
+ console.log(JSON.stringify({
521
+ resume_from: result.resume_from,
522
+ run_id: result.run_id,
523
+ verified: result.verified,
524
+ resume_context: result.resume_context,
525
+ ...(result.hard_block ? { hard_block: result.hard_block } : {}),
526
+ ...(result.note ? { note: result.note } : {}),
527
+ ...(warnings.length > 0 ? { warnings } : {}),
528
+ }, null, 2));
529
+ }
530
+ else {
531
+ console.log(`resume_from=${result.resume_from}`);
532
+ console.log(`run_id=${result.run_id ?? 'none'}`);
533
+ console.log(`verified=${result.verified.length > 0 ? result.verified.join(',') : 'none'}`);
534
+ if (result.hard_block)
535
+ console.log(`hard_block=${result.hard_block}`);
536
+ if (result.note)
537
+ console.log(`note=${result.note}`);
538
+ console.log(`resume_context=${JSON.stringify(result.resume_context)}`);
539
+ }
540
+ // On stderr so stdout stays parseable. `verify` still exits 0: an unanswerable
541
+ // probe is a degraded read, not a failure — but the reader must be told that
542
+ // `resume_from` is conservative BECAUSE a check could not run, not because the
543
+ // work is genuinely missing.
544
+ for (const warning of warnings) {
545
+ console.error(`⚠️ verify could not check everything: ${warning}`);
546
+ }
547
+ });
548
+ }
549
+ /** `runstate mint` — print a fresh run id. */
550
+ function registerMintSubcommand(cmd) {
551
+ cmd
552
+ .command('mint')
553
+ .description('Print a fresh run id for an issue (r-<issue>-<hex>)')
554
+ .requiredOption('--issue <number>', 'GitHub issue number')
555
+ .action((options) => {
556
+ // Without this, `mint --issue not-a-number` happily prints `r-not-a-number-ab56`
557
+ // and the mistake only surfaces one phase later as "Invalid run id" from `post`.
558
+ requireIssueNumber(options.issue);
559
+ console.log((0, runstate_1.mintRunId)(options.issue));
560
+ });
561
+ }
562
+ /** Registers the `runstate` command tree (post, last, verify, mint). */
563
+ function registerRunstateCommand(program) {
564
+ const runstateCmd = program
565
+ .command('runstate')
566
+ .description('Post, read, and verify runstate:v1 workflow milestones on a GitHub issue');
567
+ registerPostSubcommand(runstateCmd);
568
+ registerLastSubcommand(runstateCmd);
569
+ registerVerifySubcommand(runstateCmd);
570
+ registerMintSubcommand(runstateCmd);
571
+ }
572
+ //# sourceMappingURL=runstate.js.map