@akon-labs/nexus-cli 0.1.7 → 0.1.8

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensions/subagent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAExF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAe,CAAC;AACvD,MAAM,CAAC,MAAM,0BAA0B,GAAG,iCAAiC,CAAC;AAC5E,MAAM,CAAC,MAAM,2BAA2B,GAAG,kCAAkC,CAAC;AAC9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,+BAA+B,CAAC;AACxE,MAAM,CAAC,MAAM,uBAAuB,GAAG,8BAA8B,CAAC;AACtE,MAAM,CAAC,MAAM,gCAAgC,GAAG,uCAAuC,CAAC;AACxF,MAAM,CAAC,MAAM,kCAAkC,GAAG,yCAAyC,CAAC;AAC5F,MAAM,CAAC,MAAM,4BAA4B,GAAG,sBAAsB,CAAC;AACnE,MAAM,CAAC,MAAM,2BAA2B,GAAG,wBAAwB,CAAC;AACpE,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAC5D,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC;AAChE,MAAM,CAAC,MAAM,wBAAwB,GAAG,2BAA2B,CAAC;AACpE,MAAM,CAAC,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAC5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAC5D,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AACtC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AACzD,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,GAAG,IAAI,CAAC;AACpD,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,GAAG,IAAI,CAAC;AACrD,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,GAAG,IAAI,CAAC;AAElD,MAAM,uBAAuB,GAAG,MAAM,CAAC;AACvC,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAC3C,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACrC,MAAM,6BAA6B,GAAG,CAAC,CAAC;AAExC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IACjC,MAAM;IACN,MAAM;IACN,MAAM;IACN,IAAI;IACJ,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,yBAAyB;IACzB,iBAAiB;IACjB,qBAAqB;IACrB,YAAY;IACZ,WAAW;CACX,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACrC,MAAM;IACN,MAAM;IACN,MAAM;IACN,IAAI;IACJ,MAAM;IACN,OAAO;IACP,MAAM;IACN,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,yBAAyB;IACzB,iBAAiB;IACjB,qBAAqB;CACZ,CAAC;AAEX,MAAM,oBAAoB,GAAG;;;;;;;8BAOC,CAAC;AAiF/B,SAAS,QAAQ,CAAC,KAAc,EAAoC;IACnE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AAAA,CACnD;AAED,SAAS,sBAAsB,CAAC,KAAc,EAAiC;IAC9E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IACtG,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO;SACxB,MAAM,CAAC,QAAQ,CAAC;SAChB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;SACvE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAc,CAAC;SAClC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO;QACN,IAAI;QACJ,GAAG,CAAC,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjF,CAAC;AAAA,CACF;AAED,MAAM,UAAU,oBAAoB,CACnC,IAAY,EACZ,kBAAqC,EACrC,aAAgC,EACvB;IACT,MAAM,QAAQ,GAAG,CAAC,UAAU,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC3C,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,yBAAyB,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9G,CAAC;IACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,oBAAoB,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAAA,CAC7B;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAY,EAAE,UAAkB,EAAY;IACpF,OAAO;QACN,QAAQ;QACR,MAAM;QACN,IAAI;QACJ,cAAc;QACd,SAAS;QACT,GAAG,gBAAgB,IAAI,aAAa,EAAE;QACtC,SAAS;QACT,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC;QAChC,iBAAiB;QACjB,GAAG,uBAAuB,WAAW;QACrC,wBAAwB;QACxB,UAAU;QACV,IAAI;KACJ,CAAC;AAAA,CACF;AAED,SAAS,kBAAkB,CAAC,IAAc,EAAuC;IAChF,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,kBAAkB,GAAG,aAAa,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;IACtE,IAAI,aAAa,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1E,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACtE,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/D,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/D,OAAO,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;AAAA,CAC3F;AAED,KAAK,UAAU,iBAAiB,GAA+C;IAC9E,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC7C,MAAM,qBAAqB,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;QACjD,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,oBAAoB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAAA,CAC/F,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAAA,CACzB;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,GAAW,EAAyC;IACxF,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,GAAG;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAChF,MAAM,MAAM,GAAG,wBAAwB,CAAC;IACxC,IAAI,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACrF,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,MAAM,EAAE,EAAE,MAAM,CAAC,GAAG,GAAG;QAAE,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpG,OAAO,EAAE,KAAK,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAAA,CAC3D;AAED,MAAM,UAAU,6BAA6B,CAC5C,MAAsB,EACtB,OAAO,GAAqD,EAAE,EACvC;IACvB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC7C,OAAO;QACN,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE;YAChC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC/C,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;gBAAE,UAAU,CAAC,KAAK,EAAE,CAAC;;gBAC3C,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACxE,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,SAAS,IAAI,uBAAuB,CAAC,CAAC;YACnG,IAAI,CAAC;gBACJ,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE;oBAClF,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACR,cAAc,EAAE,kBAAkB;wBAClC,MAAM,EAAE,kBAAkB;wBAC1B,aAAa,EAAE,UAAU,MAAM,CAAC,KAAK,EAAE;wBACvC,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,KAAK;wBAC9B,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,SAAS;wBACtC,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC,aAAa;wBAC/C,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC,eAAe;wBACnD,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC,MAAM;wBACtC,CAAC,oBAAoB,CAAC,EAAE,QAAQ;wBAChC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzF,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACpE;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC9E,MAAM,EAAE,UAAU,CAAC,MAAM;iBACzB,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAClB,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC;oBAC9C,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBACrD,CAAC;gBACD,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC5C,IACC,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACf,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;oBAC9B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;oBAClB,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ;oBAClC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;oBACtB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAC3C,CAAC;oBACF,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBAC1D,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;YACzD,CAAC;oBAAS,CAAC;gBACV,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACvD,CAAC;QAAA,CACD;KACD,CAAC;AAAA,CACF;AAED,MAAM,UAAU,wBAAwB,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG,EAAW;IACvF,OAAO,GAAG,CAAC,0BAA0B,CAAC,KAAK,GAAG,CAAC;AAAA,CAC/C;AAED,oFAAoF;AACpF,MAAM,UAAU,oBAAoB,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG,EAA6B;IACrG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACrD,MAAM,SAAS,GAAG,GAAG,CAAC,2BAA2B,CAAC,EAAE,IAAI,EAAE,CAAC;IAC3D,MAAM,MAAM,GAAG,GAAG,CAAC,wBAAwB,CAAC,EAAE,IAAI,EAAE,CAAC;IACrD,MAAM,KAAK,GAAG,GAAG,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,CAAC;IACnD,MAAM,aAAa,GAAG,GAAG,CAAC,gCAAgC,CAAC,EAAE,IAAI,EAAE,CAAC;IACpE,MAAM,eAAe,GAAG,GAAG,CAAC,kCAAkC,CAAC,EAAE,IAAI,EAAE,CAAC;IACxE,OAAO,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACxC,OAAO,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACrC,OAAO,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACpC,OAAO,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC7C,OAAO,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAC/C,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,IAAI,CAAC,eAAe;QAAE,OAAO,SAAS,CAAC;IAC5F,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AAAA,CACpE;AAED,SAAS,eAAe,CAAC,GAAuB,EAAE,MAAsB,EAAQ;IAC/E,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO;IAC9B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAClC,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzE,OAAO;IACR,CAAC;IACD,IAAI,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACR,sDAAsD;IACvD,CAAC;AAAA,CACD;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAA+B,EAAkC;IACzG,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACnG,MAAM,IAAI,GAAG,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7D,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,cAAyF,CAAC;IAC9F,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YACvD,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE;gBACxD,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,QAAQ,EAAE,IAAI;gBACd,GAAG,EAAE;oBACJ,GAAG,OAAO,CAAC,GAAG;oBACd,CAAC,0BAA0B,CAAC,EAAE,GAAG;oBACjC,CAAC,2BAA2B,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,SAAS;oBAC9D,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM;oBACxD,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK;oBACtD,CAAC,gCAAgC,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,aAAa;oBACvE,CAAC,kCAAkC,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,eAAe;iBAC3E;gBACD,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gBACjC,WAAW,EAAE,IAAI;aACjB,CAAC,CAAC;YACH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,cAA0C,CAAC;YAE/C,MAAM,MAAM,GAAG,CAAC,IAAY,EAAQ,EAAE,CAAC;gBACtC,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,CAAC,YAAY,CAAC,CAAC;gBAC3B,YAAY,CAAC,cAAc,CAAC,CAAC;gBAC7B,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBAC3D,OAAO,CAAC,IAAI,CAAC,CAAC;YAAA,CACd,CAAC;YAEF,MAAM,IAAI,GAAG,CAAC,MAA4D,EAAQ,EAAE,CAAC;gBACpF,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,cAAc,GAAG,MAAM,CAAC;gBACxB,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBACtC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;oBACjC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;wBAAE,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;oBACxE,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAA,CACV,EAAE,IAAI,CAAC,CAAC;YAAA,CACT,CAAC;YAEF,MAAM,YAAY,GAAG,GAAS,EAAE,CAAC;gBAChC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBAClB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAC;oBACnE,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE;iBACrC,CAAC,CAAC;YAAA,CACH,CAAC;YAEF,MAAM,WAAW,GAAG,CAAC,IAAY,EAAQ,EAAE,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBAAE,OAAO;gBACzB,IAAI,MAAe,CAAC;gBACpB,IAAI,CAAC;oBACJ,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACR,OAAO;gBACR,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa;oBAAE,OAAO;gBAC/D,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACxD,IAAI,CAAC,QAAQ;oBAAE,OAAO;gBACtB,KAAK,IAAI,CAAC,CAAC;gBACX,IAAI,QAAQ,CAAC,IAAI;oBAAE,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC1C,IAAI,QAAQ,CAAC,UAAU,KAAK,OAAO,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS;oBAAE,eAAe,GAAG,IAAI,CAAC;gBACjG,YAAY,EAAE,CAAC;gBACf,IAAI,KAAK,IAAI,mBAAmB;oBAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAAA,CACrD,CAAC;YAEF,MAAM,YAAY,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,YAAY,GAAG,UAAU,CAC9B,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,IAAI,2BAA2B,CAAC,EAAE,2BAA2B,CAAC,CACxG,CAAC;YACF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE,CAAC;gBACnD,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,UAAU,GAAG,yBAAyB,EAAE,CAAC;oBAC5C,eAAe,GAAG,IAAI,CAAC;oBACvB,IAAI,CAAC,aAAa,CAAC,CAAC;oBACpB,OAAO;gBACR,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC3B,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAC;oBACnE,MAAM,GAAG,EAAE,CAAC;oBACZ,eAAe,GAAG,IAAI,CAAC;oBACvB,OAAO;gBACR,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAC3B,KAAK,MAAM,IAAI,IAAI,KAAK;oBAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YAAA,CAC5C,CAAC,CAAC;YACH,4EAA4E;YAC5E,wEAAwE;YACxE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACzC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC3B,IAAI,MAAM,CAAC,IAAI,EAAE;oBAAE,WAAW,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAAA,CACzC,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;gBAAE,YAAY,EAAE,CAAC;;gBACvC,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAAA,CAC7E,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,cAAc,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC/F,OAAO;YACN,MAAM;YACN,KAAK;YACL,QAAQ;YACR,MAAM,EAAE,aAAa,CAAC,KAAK;YAC3B,eAAe,EAAE,aAAa,CAAC,SAAS;SACxC,CAAC;IACH,CAAC;YAAS,CAAC;QACV,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;AAAA,CACD;AAED,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,uDAAuD,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAC9G,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACjG,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;CAC5F,CAAC,CAAC;AAEH,SAAS,aAAa,CAAC,MAA6B,EAAU;IAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,wCAAwC,CAAC;IAChF,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,0CAA0C,MAAM,EAAE,CAAC;IAC7F,OAAO,8CAA8C,MAAM,CAAC,MAAM,0BAA0B,MAAM,EAAE,CAAC;AAAA,CACrG;AAED,6EAA6E;AAC7E,MAAM,UAAU,wBAAwB,CAAC,EAAgB,EAAE,UAAgC,EAAQ;IAClG,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;IAC1G,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAC/B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,EACvD,2BAA2B,CAC3B,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,IAAI,aAAiC,CAAC;IACtC,IAAI,mBAAuC,CAAC;IAC5C,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,EAAE,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;QACtC,eAAe,GAAG,CAAC,CAAC;QACpB,mBAAmB,GAAG,CAAC,CAAC;QACxB,OAAO;YACN,YAAY,EAAE,GAAG,KAAK,CAAC,YAAY,qSAAqS;SACxU,CAAC;IAAA,CACF,CAAC,CAAC;IACH,EAAE,CAAC,EAAE,CAAC,yBAAyB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,wBAAwB,EAAE;YAAE,OAAO;QAClE,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAC/B,aAAa,KAAK,SAAS,CAAC;QAC5B,mBAAmB,GAAG,SAAS,CAAC;QAChC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;QACrC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;QAC7C,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAC,GAAG,aAAa,CAAC;QACtD,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC;IAAA,CAC7C,CAAC,CAAC;IACH,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,wBAAwB,EAAE,IAAI,KAAK,CAAC,QAAQ,KAAK,uBAAuB,EAAE,CAAC;YACzG,OAAO;QACR,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,OAAO;gBACN,KAAK,EAAE,IAAI;gBACX,MAAM,EACL,4HAA4H;aAC7H,CAAC;QACH,CAAC;QACD,IAAI,mBAAmB,IAAI,0BAA0B,EAAE,CAAC;YACvD,OAAO;gBACN,KAAK,EAAE,IAAI;gBACX,MAAM,EACL,uGAAuG;aACxG,CAAC;QACH,CAAC;QACD,mBAAmB,IAAI,CAAC,CAAC;IAAA,CACzB,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,CAAC;QACf,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,MAAM;QACb,WAAW,EACV,yJAAyJ;QAC1J,gBAAgB,EAAE;YACjB,wIAAwI;YACxI,kHAAkH;SAClH;QACD,UAAU,EAAE,sBAAsB;QAClC,aAAa,EAAE,YAAY;QAC3B,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE;YACzD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO;oBACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oDAAoD,EAAE,CAAC;oBACvF,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAA8B;iBACnE,CAAC;YACH,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAC7B,OAAO;oBACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,4CAA4C,EAAE,CAAC;oBAC/E,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAA8B;iBACnE,CAAC;YACH,CAAC;YACD,IAAI,aAAa,IAAI,6BAA6B,IAAI,eAAe,IAAI,uBAAuB,EAAE,CAAC;gBAClG,OAAO;oBACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yDAAyD,EAAE,CAAC;oBAC5F,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAA8B;iBACnE,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAsB;gBAClC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,EAAE;gBACnD,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE;gBACzC,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,MAAM;aACN,CAAC;YACF,IACC,MAAM,CAAC,UAAU,CAChB,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,aAAa,CAAC,EACrF,MAAM,CACN,GAAG,YAAY,EACf,CAAC;gBACF,OAAO;oBACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mDAAmD,EAAE,CAAC;oBACtF,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAA8B;iBACnE,CAAC;YACH,CAAC;YAED,aAAa,IAAI,CAAC,CAAC;YACnB,eAAe,IAAI,CAAC,CAAC;YACrB,IAAI,CAAC;gBACJ,MAAM,YAAY,GAAG,UAAU,EAAE,CAAC;gBAClC,aAAa,KAAK,UAAU,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;oBACvC,GAAG,OAAO;oBACV,aAAa,EAAE;wBACd,SAAS,EAAE,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE;wBAC5C,MAAM,EAAE,YAAY;wBACpB,KAAK;wBACL,aAAa;wBACb,eAAe,EAAE,mBAAmB,IAAI,aAAa;qBACrD;oBACD,SAAS,EAAE,eAAe;oBAC1B,QAAQ;iBACR,CAAC,CAAC;gBACH,OAAO;oBACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxD,OAAO,EAAE;wBACR,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,eAAe,EAAE,MAAM,CAAC,eAAe;qBACX;iBAC7B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO;oBACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sCAAsC,EAAE,CAAC;oBACzE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAA8B;iBACnE,CAAC;YACH,CAAC;oBAAS,CAAC;gBACV,aAAa,IAAI,CAAC,CAAC;YACpB,CAAC;QAAA,CACD;QACD,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE;YACxB,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,YAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAAA,CACrE;QACD,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;YACrC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAwC,CAAC;YAChE,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS;gBAAE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,YAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACxF,IAAI,OAAO,EAAE,MAAM,KAAK,WAAW;gBAAE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAClG,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAAA,CACjE;KACD,CAAC,CAAC;AAAA,CACH;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACzC,EAAgB,EAChB,aAA4B,EAC5B,UAA4C,EACrC;IACP,EAAE,CAAC,EAAE,CAAC,yBAAyB,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO;QACR,CAAC;QAED,2EAA2E;QAC3E,yEAAyE;QACzE,6CAA6C;QAC7C,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAC/B,KAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC,GAAG,oBAAoB,CAAC;QACnE,KAAK,CAAC,OAAO,CAAC,2BAA2B,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC;QAClE,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC;QACjE,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC;QACnD,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;QAC7C,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC;QACpE,KAAK,CAAC,OAAO,CAAC,wBAAwB,CAAC,GAAG,aAAa,CAAC,eAAe,CAAC;QACxE,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC;QAC3D,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,QAAQ,CAAC;QAC/C,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC;YAChD,GAAG,aAAa;YAChB,SAAS;YACT,MAAM,EAAE,GAAG,CAAC,MAAM;SAClB,CAAC,CAAC;QACH,KAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;IAAA,CAC1D,CAAC,CAAC;AAAA,CACH;AAED,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAAgB,EAAQ;IACtE,MAAM,QAAQ,GAAG,wBAAwB,EAAE,CAAC;IAC5C,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAC;IAC7C,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;IACvC,MAAM,iBAAiB,GAAkB;QACxC,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE,aAAa;QACrB,KAAK,EAAE,aAAa;QACpB,aAAa,EAAE,aAAa;QAC5B,eAAe,EAAE,aAAa;KAC9B,CAAC;IACF,0BAA0B,CACzB,EAAE,EACF,aAAa,IAAI,iBAAiB,EAClC,aAAa,IAAI,MAAM,CAAC,CAAC,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAC3E,CAAC;AAAA,CACF","sourcesContent":["/**\n * Internal delegated-worker runtime.\n *\n * This file deliberately does not register a user-facing tool by default. The\n * authenticated Hub policy must advertise delegation before the GitNexus\n * extension calls registerDelegateTaskTool(). The CLI owns process isolation\n * and streaming UX; the Hub owns one-time worker authorization and routing.\n */\n\nimport { execFile, spawn } from \"node:child_process\";\nimport { randomUUID } from \"node:crypto\";\nimport * as fs from \"node:fs\";\nimport * as os from \"node:os\";\nimport * as path from \"node:path\";\nimport type { AgentToolResult } from \"@earendil-works/pi-agent-core\";\nimport { Text } from \"@earendil-works/pi-tui\";\nimport { Type } from \"typebox\";\nimport { AUTO_MODEL_ID, AUTO_PROVIDER_ID, isAutoModel } from \"../../core/auto-model.ts\";\nimport type { ExtensionAPI } from \"../../core/extensions/types.ts\";\nimport { withFileMutationQueue } from \"../../core/tools/index.ts\";\nimport type { GitNexusConfig } from \"../gitnexus/config.ts\";\nimport { resolveGitNexusConfig } from \"../gitnexus/config.ts\";\nimport { hubApiBase } from \"../gitnexus/device-auth.ts\";\n\nexport const DELEGATE_TASK_TOOL_NAME = \"delegate_task\";\nexport const INTERNAL_WORKER_MARKER_ENV = \"NEXUS_INTERNAL_DELEGATED_WORKER\";\nexport const INTERNAL_WORKER_SESSION_ENV = \"NEXUS_INTERNAL_WORKER_SESSION_ID\";\nexport const INTERNAL_WORKER_TASK_ENV = \"NEXUS_INTERNAL_WORKER_TASK_ID\";\nexport const INTERNAL_WORKER_RUN_ENV = \"NEXUS_INTERNAL_WORKER_RUN_ID\";\nexport const INTERNAL_WORKER_ROOT_REQUEST_ENV = \"NEXUS_INTERNAL_WORKER_ROOT_REQUEST_ID\";\nexport const INTERNAL_WORKER_PARENT_REQUEST_ENV = \"NEXUS_INTERNAL_WORKER_PARENT_REQUEST_ID\";\nexport const INTERNAL_WORKER_GRANT_HEADER = \"x-nexus-worker-grant\";\nexport const INTERNAL_WORKER_TASK_HEADER = \"x-nexus-worker-task-id\";\nexport const SESSION_AFFINITY_HEADER = \"x-session-affinity\";\nexport const RUN_ID_HEADER = \"x-nexus-run-id\";\nexport const REQUEST_ID_HEADER = \"x-nexus-request-id\";\nexport const ROOT_REQUEST_ID_HEADER = \"x-nexus-root-request-id\";\nexport const PARENT_REQUEST_ID_HEADER = \"x-nexus-parent-request-id\";\nexport const DELEGATION_ID_HEADER = \"x-nexus-delegation-id\";\nexport const REQUEST_SCOPE_HEADER = \"x-nexus-request-scope\";\nexport const MAX_DELEGATED_TURNS = 12;\nexport const MAX_DELEGATIONS_PER_RUN = 3;\nexport const DELEGATED_WORKER_TIMEOUT_MS = 5 * 60 * 1000;\nexport const DELEGATED_OUTPUT_CAP_BYTES = 32 * 1024;\nexport const DELEGATED_EVENT_CAP_BYTES = 1024 * 1024;\nexport const MAX_DELEGATED_TASK_BYTES = 32 * 1024;\n\nconst WORKER_GRANT_TIMEOUT_MS = 10_000;\nconst INVALID_WORKER_GRANT = \"unavailable\";\nconst MAX_ROOT_REVIEW_TOOL_CALLS = 8;\nconst MAX_PARALLEL_MUTATING_WORKERS = 1;\n\nconst ROOT_REVIEW_TOOLS = new Set([\n\t\"read\",\n\t\"grep\",\n\t\"find\",\n\t\"ls\",\n\t\"gitnexus_query\",\n\t\"gitnexus_context\",\n\t\"gitnexus_impact\",\n\t\"gitnexus_detect_changes\",\n\t\"gitnexus_cypher\",\n\t\"gitnexus_list_repos\",\n\t\"web_search\",\n\t\"web_fetch\",\n]);\n\nexport const DELEGATED_WORKER_TOOLS = [\n\t\"read\",\n\t\"grep\",\n\t\"find\",\n\t\"ls\",\n\t\"bash\",\n\t\"write\",\n\t\"edit\",\n\t\"gitnexus_query\",\n\t\"gitnexus_context\",\n\t\"gitnexus_impact\",\n\t\"gitnexus_detect_changes\",\n\t\"gitnexus_cypher\",\n\t\"gitnexus_list_repos\",\n] as const;\n\nconst WORKER_SYSTEM_PROMPT = `You are an internal implementation worker for Nexus Agent.\n\nComplete only the narrowly delegated task. Inspect the repository before editing, follow its local instructions, and verify the changed behavior. Do not delegate work or broaden scope. Do not discuss model names, providers, routing, credits, or internal architecture.\n\nFinish with a concise report containing:\n- changes made\n- verification run and results\n- blockers or remaining risks`;\n\nexport type DelegationStatus =\n\t| \"running\"\n\t| \"completed\"\n\t| \"failed\"\n\t| \"aborted\"\n\t| \"timeout\"\n\t| \"turn_limit\"\n\t| \"event_limit\";\n\nexport interface DelegationDetails {\n\tstatus: DelegationStatus;\n\tturns: number;\n\texitCode?: number;\n\toutputTruncated?: boolean;\n}\n\nexport interface WorkerGrant {\n\t/** Opaque, short-lived grant minted by the Hub for one worker completion. */\n\ttoken: string;\n\texpiresAt: string;\n}\n\nexport interface DelegationCapability {\n\tenabled: true;\n\tversion: 1;\n\tmaxParallel: number;\n\tmaxTaskBytes: number;\n\tworkerTimeoutMs: number;\n}\n\nexport interface WorkerGrantRequest {\n\tsessionId: string;\n\ttaskId: string;\n\trunId: string;\n\trootRequestId: string;\n\tparentRequestId: string;\n\trequestId: string;\n\tsignal: AbortSignal | undefined;\n}\n\nexport interface DelegationController {\n\tcreateWorkerGrant(request: WorkerGrantRequest): Promise<WorkerGrant>;\n}\n\nexport interface DelegationRequest {\n\ttask: string;\n\tacceptanceCriteria: string[];\n\trelevantPaths: string[];\n\tcwd: string;\n\tsignal: AbortSignal | undefined;\n}\n\nexport interface WorkerContext {\n\tsessionId: string;\n\ttaskId: string;\n\trunId: string;\n\trootRequestId: string;\n\tparentRequestId: string;\n}\n\nexport interface DelegatedWorkerOptions extends DelegationRequest {\n\tworkerContext: WorkerContext;\n\ttimeoutMs?: number;\n\tonUpdate?: (result: AgentToolResult<DelegationDetails>) => void;\n}\n\nexport interface DelegatedWorkerResult {\n\tstatus: Exclude<DelegationStatus, \"running\">;\n\tturns: number;\n\texitCode: number;\n\toutput: string;\n\toutputTruncated: boolean;\n}\n\ninterface AssistantSnapshot {\n\ttext: string;\n\tstopReason?: string;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n\treturn typeof value === \"object\" && value !== null;\n}\n\nfunction parseAssistantSnapshot(value: unknown): AssistantSnapshot | undefined {\n\tif (!isRecord(value) || value.role !== \"assistant\" || !Array.isArray(value.content)) return undefined;\n\tconst text = value.content\n\t\t.filter(isRecord)\n\t\t.filter((part) => part.type === \"text\" && typeof part.text === \"string\")\n\t\t.map((part) => part.text as string)\n\t\t.join(\"\\n\");\n\treturn {\n\t\ttext,\n\t\t...(typeof value.stopReason === \"string\" ? { stopReason: value.stopReason } : {}),\n\t};\n}\n\nexport function composeDelegatedTask(\n\ttask: string,\n\tacceptanceCriteria: readonly string[],\n\trelevantPaths: readonly string[],\n): string {\n\tconst sections = [`Task:\\n${task.trim()}`];\n\tif (acceptanceCriteria.length > 0) {\n\t\tsections.push(`Acceptance criteria:\\n${acceptanceCriteria.map((criterion) => `- ${criterion}`).join(\"\\n\")}`);\n\t}\n\tif (relevantPaths.length > 0) {\n\t\tsections.push(`Relevant paths:\\n${relevantPaths.map((filePath) => `- ${filePath}`).join(\"\\n\")}`);\n\t}\n\treturn sections.join(\"\\n\\n\");\n}\n\nexport function buildDelegatedWorkerArgs(task: string, promptPath: string): string[] {\n\treturn [\n\t\t\"--mode\",\n\t\t\"json\",\n\t\t\"-p\",\n\t\t\"--no-session\",\n\t\t\"--model\",\n\t\t`${AUTO_PROVIDER_ID}/${AUTO_MODEL_ID}`,\n\t\t\"--tools\",\n\t\tDELEGATED_WORKER_TOOLS.join(\",\"),\n\t\t\"--exclude-tools\",\n\t\t`${DELEGATE_TASK_TOOL_NAME},subagent`,\n\t\t\"--append-system-prompt\",\n\t\tpromptPath,\n\t\ttask,\n\t];\n}\n\nfunction getNexusInvocation(args: string[]): { command: string; args: string[] } {\n\tconst currentScript = process.argv[1];\n\tconst isBunVirtualScript = currentScript?.startsWith(\"/$bunfs/root/\");\n\tif (currentScript && !isBunVirtualScript && fs.existsSync(currentScript)) {\n\t\treturn { command: process.execPath, args: [currentScript, ...args] };\n\t}\n\n\tconst execName = path.basename(process.execPath).toLowerCase();\n\tconst isGenericRuntime = /^(node|bun)(\\.exe)?$/.test(execName);\n\treturn isGenericRuntime ? { command: \"nexus\", args } : { command: process.execPath, args };\n}\n\nasync function writeWorkerPrompt(): Promise<{ dir: string; filePath: string }> {\n\tconst dir = await fs.promises.mkdtemp(path.join(os.tmpdir(), \"nexus-worker-\"));\n\tconst filePath = path.join(dir, \"system.md\");\n\tawait withFileMutationQueue(filePath, async () => {\n\t\tawait fs.promises.writeFile(filePath, WORKER_SYSTEM_PROMPT, { encoding: \"utf8\", mode: 0o600 });\n\t});\n\treturn { dir, filePath };\n}\n\nfunction truncateUtf8(value: string, cap: number): { value: string; truncated: boolean } {\n\tif (Buffer.byteLength(value, \"utf8\") <= cap) return { value, truncated: false };\n\tconst suffix = \"\\n\\n[Report truncated]\";\n\tlet truncated = value.slice(0, Math.max(0, cap - Buffer.byteLength(suffix, \"utf8\")));\n\twhile (Buffer.byteLength(`${truncated}${suffix}`, \"utf8\") > cap) truncated = truncated.slice(0, -1);\n\treturn { value: `${truncated}${suffix}`, truncated: true };\n}\n\nexport function createHubDelegationController(\n\tconfig: GitNexusConfig,\n\toptions: { fetchImpl?: typeof fetch; timeoutMs?: number } = {},\n): DelegationController {\n\tconst fetchImpl = options.fetchImpl ?? fetch;\n\treturn {\n\t\tasync createWorkerGrant(request) {\n\t\t\tconst controller = new AbortController();\n\t\t\tconst onAbort = (): void => controller.abort();\n\t\t\tif (request.signal?.aborted) controller.abort();\n\t\t\telse request.signal?.addEventListener(\"abort\", onAbort, { once: true });\n\t\t\tconst timeout = setTimeout(() => controller.abort(), options.timeoutMs ?? WORKER_GRANT_TIMEOUT_MS);\n\t\t\ttry {\n\t\t\t\tconst response = await fetchImpl(`${hubApiBase(config.hubUrl)}/llm/worker-grants`, {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t\"content-type\": \"application/json\",\n\t\t\t\t\t\taccept: \"application/json\",\n\t\t\t\t\t\tauthorization: `Bearer ${config.token}`,\n\t\t\t\t\t\t[RUN_ID_HEADER]: request.runId,\n\t\t\t\t\t\t[REQUEST_ID_HEADER]: request.requestId,\n\t\t\t\t\t\t[ROOT_REQUEST_ID_HEADER]: request.rootRequestId,\n\t\t\t\t\t\t[PARENT_REQUEST_ID_HEADER]: request.parentRequestId,\n\t\t\t\t\t\t[DELEGATION_ID_HEADER]: request.taskId,\n\t\t\t\t\t\t[REQUEST_SCOPE_HEADER]: \"worker\",\n\t\t\t\t\t\t...(config.deviceFingerprint ? { \"x-device-fingerprint\": config.deviceFingerprint } : {}),\n\t\t\t\t\t\t...(config.deviceName ? { \"x-device-name\": config.deviceName } : {}),\n\t\t\t\t\t},\n\t\t\t\t\tbody: JSON.stringify({ sessionId: request.sessionId, taskId: request.taskId }),\n\t\t\t\t\tsignal: controller.signal,\n\t\t\t\t});\n\t\t\t\tif (!response.ok) {\n\t\t\t\t\tawait response.body?.cancel().catch(() => {});\n\t\t\t\t\tthrow new Error(\"Worker authorization unavailable\");\n\t\t\t\t}\n\t\t\t\tconst body: unknown = await response.json();\n\t\t\t\tif (\n\t\t\t\t\t!isRecord(body) ||\n\t\t\t\t\ttypeof body.grant !== \"string\" ||\n\t\t\t\t\t!body.grant.trim() ||\n\t\t\t\t\ttypeof body.expiresAt !== \"string\" ||\n\t\t\t\t\t!body.expiresAt.trim() ||\n\t\t\t\t\t!Number.isFinite(Date.parse(body.expiresAt))\n\t\t\t\t) {\n\t\t\t\t\tthrow new Error(\"Invalid worker authorization response\");\n\t\t\t\t}\n\t\t\t\treturn { token: body.grant, expiresAt: body.expiresAt };\n\t\t\t} finally {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\trequest.signal?.removeEventListener(\"abort\", onAbort);\n\t\t\t}\n\t\t},\n\t};\n}\n\nexport function isDelegatedWorkerProcess(env: NodeJS.ProcessEnv = process.env): boolean {\n\treturn env[INTERNAL_WORKER_MARKER_ENV] === \"1\";\n}\n\n/** Capture task routing once, then remove it before worker tools can inherit it. */\nexport function consumeWorkerContext(env: NodeJS.ProcessEnv = process.env): WorkerContext | undefined {\n\tif (!isDelegatedWorkerProcess(env)) return undefined;\n\tconst sessionId = env[INTERNAL_WORKER_SESSION_ENV]?.trim();\n\tconst taskId = env[INTERNAL_WORKER_TASK_ENV]?.trim();\n\tconst runId = env[INTERNAL_WORKER_RUN_ENV]?.trim();\n\tconst rootRequestId = env[INTERNAL_WORKER_ROOT_REQUEST_ENV]?.trim();\n\tconst parentRequestId = env[INTERNAL_WORKER_PARENT_REQUEST_ENV]?.trim();\n\tdelete env[INTERNAL_WORKER_SESSION_ENV];\n\tdelete env[INTERNAL_WORKER_TASK_ENV];\n\tdelete env[INTERNAL_WORKER_RUN_ENV];\n\tdelete env[INTERNAL_WORKER_ROOT_REQUEST_ENV];\n\tdelete env[INTERNAL_WORKER_PARENT_REQUEST_ENV];\n\tif (!sessionId || !taskId || !runId || !rootRequestId || !parentRequestId) return undefined;\n\treturn { sessionId, taskId, runId, rootRequestId, parentRequestId };\n}\n\nfunction killProcessTree(pid: number | undefined, signal: NodeJS.Signals): void {\n\tif (pid === undefined) return;\n\tif (process.platform === \"win32\") {\n\t\texecFile(\"taskkill\", [\"/T\", \"/F\", \"/PID\", String(pid)], () => undefined);\n\t\treturn;\n\t}\n\ttry {\n\t\tprocess.kill(-pid, signal);\n\t} catch {\n\t\t// The detached process group may already have exited.\n\t}\n}\n\nexport async function runDelegatedWorker(options: DelegatedWorkerOptions): Promise<DelegatedWorkerResult> {\n\tconst prompt = await writeWorkerPrompt();\n\tconst task = composeDelegatedTask(options.task, options.acceptanceCriteria, options.relevantPaths);\n\tconst args = buildDelegatedWorkerArgs(task, prompt.filePath);\n\tlet output = \"\";\n\tlet turns = 0;\n\tlet terminalStatus: Exclude<DelegationStatus, \"running\" | \"completed\" | \"failed\"> | undefined;\n\tlet assistantFailed = false;\n\tlet eventBytes = 0;\n\n\ttry {\n\t\tconst exitCode = await new Promise<number>((resolve) => {\n\t\t\tconst invocation = getNexusInvocation(args);\n\t\t\tconst child = spawn(invocation.command, invocation.args, {\n\t\t\t\tcwd: options.cwd,\n\t\t\t\tdetached: true,\n\t\t\t\tenv: {\n\t\t\t\t\t...process.env,\n\t\t\t\t\t[INTERNAL_WORKER_MARKER_ENV]: \"1\",\n\t\t\t\t\t[INTERNAL_WORKER_SESSION_ENV]: options.workerContext.sessionId,\n\t\t\t\t\t[INTERNAL_WORKER_TASK_ENV]: options.workerContext.taskId,\n\t\t\t\t\t[INTERNAL_WORKER_RUN_ENV]: options.workerContext.runId,\n\t\t\t\t\t[INTERNAL_WORKER_ROOT_REQUEST_ENV]: options.workerContext.rootRequestId,\n\t\t\t\t\t[INTERNAL_WORKER_PARENT_REQUEST_ENV]: options.workerContext.parentRequestId,\n\t\t\t\t},\n\t\t\t\tshell: false,\n\t\t\t\tstdio: [\"ignore\", \"pipe\", \"pipe\"],\n\t\t\t\twindowsHide: true,\n\t\t\t});\n\t\t\tlet buffer = \"\";\n\t\t\tlet settled = false;\n\t\t\tlet stopped = false;\n\t\t\tlet forceKillTimer: NodeJS.Timeout | undefined;\n\n\t\t\tconst finish = (code: number): void => {\n\t\t\t\tif (settled) return;\n\t\t\t\tsettled = true;\n\t\t\t\tclearTimeout(timeoutTimer);\n\t\t\t\tclearTimeout(forceKillTimer);\n\t\t\t\toptions.signal?.removeEventListener(\"abort\", abortHandler);\n\t\t\t\tresolve(code);\n\t\t\t};\n\n\t\t\tconst stop = (status: \"aborted\" | \"timeout\" | \"turn_limit\" | \"event_limit\"): void => {\n\t\t\t\tif (stopped) return;\n\t\t\t\tstopped = true;\n\t\t\t\tterminalStatus = status;\n\t\t\t\tkillProcessTree(child.pid, \"SIGTERM\");\n\t\t\t\tforceKillTimer = setTimeout(() => {\n\t\t\t\t\tif (process.platform !== \"win32\") killProcessTree(child.pid, \"SIGKILL\");\n\t\t\t\t\tfinish(1);\n\t\t\t\t}, 5000);\n\t\t\t};\n\n\t\t\tconst emitProgress = (): void => {\n\t\t\t\toptions.onUpdate?.({\n\t\t\t\t\tcontent: [{ type: \"text\", text: \"Delegated work is in progress.\" }],\n\t\t\t\t\tdetails: { status: \"running\", turns },\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tconst processLine = (line: string): void => {\n\t\t\t\tif (!line.trim()) return;\n\t\t\t\tlet parsed: unknown;\n\t\t\t\ttry {\n\t\t\t\t\tparsed = JSON.parse(line);\n\t\t\t\t} catch {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!isRecord(parsed) || parsed.type !== \"message_end\") return;\n\t\t\t\tconst snapshot = parseAssistantSnapshot(parsed.message);\n\t\t\t\tif (!snapshot) return;\n\t\t\t\tturns += 1;\n\t\t\t\tif (snapshot.text) output = snapshot.text;\n\t\t\t\tif (snapshot.stopReason === \"error\" || snapshot.stopReason === \"aborted\") assistantFailed = true;\n\t\t\t\temitProgress();\n\t\t\t\tif (turns >= MAX_DELEGATED_TURNS) stop(\"turn_limit\");\n\t\t\t};\n\n\t\t\tconst abortHandler = (): void => stop(\"aborted\");\n\t\t\tconst timeoutTimer = setTimeout(\n\t\t\t\t() => stop(\"timeout\"),\n\t\t\t\tMath.min(Math.max(1_000, options.timeoutMs ?? DELEGATED_WORKER_TIMEOUT_MS), DELEGATED_WORKER_TIMEOUT_MS),\n\t\t\t);\n\t\t\tchild.stdout.on(\"data\", (chunk: Buffer | string) => {\n\t\t\t\teventBytes += Buffer.byteLength(chunk);\n\t\t\t\tif (eventBytes > DELEGATED_EVENT_CAP_BYTES) {\n\t\t\t\t\tassistantFailed = true;\n\t\t\t\t\tstop(\"event_limit\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tbuffer += chunk.toString();\n\t\t\t\tif (Buffer.byteLength(buffer, \"utf8\") > DELEGATED_EVENT_CAP_BYTES) {\n\t\t\t\t\tbuffer = \"\";\n\t\t\t\t\tassistantFailed = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst lines = buffer.split(\"\\n\");\n\t\t\t\tbuffer = lines.pop() ?? \"\";\n\t\t\t\tfor (const line of lines) processLine(line);\n\t\t\t});\n\t\t\t// Consume stderr so a noisy child cannot block. Raw provider/process output\n\t\t\t// is intentionally not retained or exposed to the orchestrator or user.\n\t\t\tchild.stderr.on(\"data\", () => undefined);\n\t\t\tchild.on(\"close\", (code) => {\n\t\t\t\tif (buffer.trim()) processLine(buffer);\n\t\t\t\tfinish(code ?? (terminalStatus ? 1 : 0));\n\t\t\t});\n\t\t\tchild.on(\"error\", () => finish(1));\n\t\t\tif (options.signal?.aborted) abortHandler();\n\t\t\telse options.signal?.addEventListener(\"abort\", abortHandler, { once: true });\n\t\t});\n\n\t\tconst limitedOutput = truncateUtf8(output, DELEGATED_OUTPUT_CAP_BYTES);\n\t\tconst status = terminalStatus ?? (exitCode === 0 && !assistantFailed ? \"completed\" : \"failed\");\n\t\treturn {\n\t\t\tstatus,\n\t\t\tturns,\n\t\t\texitCode,\n\t\t\toutput: limitedOutput.value,\n\t\t\toutputTruncated: limitedOutput.truncated,\n\t\t};\n\t} finally {\n\t\tawait fs.promises.rm(prompt.dir, { recursive: true, force: true });\n\t}\n}\n\nconst DelegateTaskParameters = Type.Object({\n\ttask: Type.String({ description: \"A narrow implementation task with explicit boundaries\", maxLength: 32_768 }),\n\tacceptanceCriteria: Type.Optional(Type.Array(Type.String({ maxLength: 2000 }), { maxItems: 10 })),\n\trelevantPaths: Type.Optional(Type.Array(Type.String({ maxLength: 1000 }), { maxItems: 20 })),\n});\n\nfunction resultContent(result: DelegatedWorkerResult): string {\n\tconst report = result.output.trim() || \"No implementation report was returned.\";\n\tif (result.status === \"completed\") return `Delegated implementation completed.\\n\\n${report}`;\n\treturn `Delegated implementation did not complete (${result.status}).\\n\\nPartial report:\\n${report}`;\n}\n\n/** Register the tool only after the Hub explicitly advertises delegation. */\nexport function registerDelegateTaskTool(pi: ExtensionAPI, capability: DelegationCapability): void {\n\tconst maxTaskBytes = Math.min(Math.max(1, Math.floor(capability.maxTaskBytes)), MAX_DELEGATED_TASK_BYTES);\n\tconst workerTimeoutMs = Math.min(\n\t\tMath.max(1_000, Math.floor(capability.workerTimeoutMs)),\n\t\tDELEGATED_WORKER_TIMEOUT_MS,\n\t);\n\tconst runId = randomUUID();\n\tlet rootRequestId: string | undefined;\n\tlet latestRootRequestId: string | undefined;\n\tlet activeWorkers = 0;\n\tlet invocationCount = 0;\n\tlet rootReviewToolCalls = 0;\n\tpi.on(\"before_agent_start\", (event) => {\n\t\tinvocationCount = 0;\n\t\trootReviewToolCalls = 0;\n\t\treturn {\n\t\t\tsystemPrompt: `${event.systemPrompt}\\n\\nImplementation policy: perform implementation, mutation, shell, and repeated tool loops through delegate_task. Keep this parent conversation focused on planning and final review. Use only bounded read-only tools to inspect worker changes, verify graph impact, and reach the final answer.`,\n\t\t};\n\t});\n\tpi.on(\"before_provider_headers\", (event, ctx) => {\n\t\tif (!isAutoModel(ctx.model) || isDelegatedWorkerProcess()) return;\n\t\tconst requestId = randomUUID();\n\t\trootRequestId ??= requestId;\n\t\tlatestRootRequestId = requestId;\n\t\tevent.headers[RUN_ID_HEADER] = runId;\n\t\tevent.headers[REQUEST_ID_HEADER] = requestId;\n\t\tevent.headers[ROOT_REQUEST_ID_HEADER] = rootRequestId;\n\t\tevent.headers[REQUEST_SCOPE_HEADER] = \"root\";\n\t});\n\tpi.on(\"tool_call\", (event, ctx) => {\n\t\tif (!isAutoModel(ctx.model) || isDelegatedWorkerProcess() || event.toolName === DELEGATE_TASK_TOOL_NAME) {\n\t\t\treturn;\n\t\t}\n\t\tif (!ROOT_REVIEW_TOOLS.has(event.toolName)) {\n\t\t\treturn {\n\t\t\t\tblock: true,\n\t\t\t\treason:\n\t\t\t\t\t\"This parent run is review-only. Use delegate_task for implementation, mutation, shell commands, tests, or other execution.\",\n\t\t\t};\n\t\t}\n\t\tif (rootReviewToolCalls >= MAX_ROOT_REVIEW_TOOL_CALLS) {\n\t\t\treturn {\n\t\t\t\tblock: true,\n\t\t\t\treason:\n\t\t\t\t\t\"The bounded parent review budget is exhausted. Delegate further investigation or finalize the review.\",\n\t\t\t};\n\t\t}\n\t\trootReviewToolCalls += 1;\n\t});\n\n\tpi.registerTool({\n\t\tname: DELEGATE_TASK_TOOL_NAME,\n\t\tlabel: \"Work\",\n\t\tdescription:\n\t\t\t\"Delegate one narrow implementation task to an isolated internal worker. Keep planning, user communication, and final verification in this conversation.\",\n\t\tpromptGuidelines: [\n\t\t\t\"Use delegate_task for bounded implementation, mutation, command execution, tests, and repeated tool work after you have formed a plan.\",\n\t\t\t\"You remain responsible for reviewing the returned report, verifying the result, and communicating with the user.\",\n\t\t],\n\t\tparameters: DelegateTaskParameters,\n\t\texecutionMode: \"sequential\",\n\t\tasync execute(_toolCallId, params, signal, onUpdate, ctx) {\n\t\t\tif (!isAutoModel(ctx.model)) {\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: \"Delegated work is unavailable for the active mode.\" }],\n\t\t\t\t\tdetails: { status: \"failed\", turns: 0 } satisfies DelegationDetails,\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (!ctx.isProjectTrusted()) {\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: \"Delegated work requires a trusted project.\" }],\n\t\t\t\t\tdetails: { status: \"failed\", turns: 0 } satisfies DelegationDetails,\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (activeWorkers >= MAX_PARALLEL_MUTATING_WORKERS || invocationCount >= MAX_DELEGATIONS_PER_RUN) {\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: \"Delegated work is temporarily unavailable for this run.\" }],\n\t\t\t\t\tdetails: { status: \"failed\", turns: 0 } satisfies DelegationDetails,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst request: DelegationRequest = {\n\t\t\t\ttask: params.task,\n\t\t\t\tacceptanceCriteria: params.acceptanceCriteria ?? [],\n\t\t\t\trelevantPaths: params.relevantPaths ?? [],\n\t\t\t\tcwd: ctx.cwd,\n\t\t\t\tsignal,\n\t\t\t};\n\t\t\tif (\n\t\t\t\tBuffer.byteLength(\n\t\t\t\t\tcomposeDelegatedTask(request.task, request.acceptanceCriteria, request.relevantPaths),\n\t\t\t\t\t\"utf8\",\n\t\t\t\t) > maxTaskBytes\n\t\t\t) {\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: \"Delegated work is too large for one bounded task.\" }],\n\t\t\t\t\tdetails: { status: \"failed\", turns: 0 } satisfies DelegationDetails,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tactiveWorkers += 1;\n\t\t\tinvocationCount += 1;\n\t\t\ttry {\n\t\t\t\tconst delegationId = randomUUID();\n\t\t\t\trootRequestId ??= randomUUID();\n\t\t\t\tconst result = await runDelegatedWorker({\n\t\t\t\t\t...request,\n\t\t\t\t\tworkerContext: {\n\t\t\t\t\t\tsessionId: ctx.sessionManager.getSessionId(),\n\t\t\t\t\t\ttaskId: delegationId,\n\t\t\t\t\t\trunId,\n\t\t\t\t\t\trootRequestId,\n\t\t\t\t\t\tparentRequestId: latestRootRequestId ?? rootRequestId,\n\t\t\t\t\t},\n\t\t\t\t\ttimeoutMs: workerTimeoutMs,\n\t\t\t\t\tonUpdate,\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: resultContent(result) }],\n\t\t\t\t\tdetails: {\n\t\t\t\t\t\tstatus: result.status,\n\t\t\t\t\t\tturns: result.turns,\n\t\t\t\t\t\texitCode: result.exitCode,\n\t\t\t\t\t\toutputTruncated: result.outputTruncated,\n\t\t\t\t\t} satisfies DelegationDetails,\n\t\t\t\t};\n\t\t\t} catch {\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: \"Delegated work could not be started.\" }],\n\t\t\t\t\tdetails: { status: \"failed\", turns: 0 } satisfies DelegationDetails,\n\t\t\t\t};\n\t\t\t} finally {\n\t\t\t\tactiveWorkers -= 1;\n\t\t\t}\n\t\t},\n\t\trenderCall(_args, theme) {\n\t\t\treturn new Text(theme.fg(\"toolTitle\", theme.bold(\"Working…\")), 0, 0);\n\t\t},\n\t\trenderResult(result, _options, theme) {\n\t\t\tconst details = result.details as DelegationDetails | undefined;\n\t\t\tif (details?.status === \"running\") return new Text(theme.fg(\"muted\", \"Working…\"), 0, 0);\n\t\t\tif (details?.status === \"completed\") return new Text(theme.fg(\"success\", \"Work completed\"), 0, 0);\n\t\t\treturn new Text(theme.fg(\"error\", \"Work needs attention\"), 0, 0);\n\t\t},\n\t});\n}\n\n/**\n * Install a fail-closed header hook for one worker task. A fresh one-time grant\n * is minted for each model turn; no grant is inherited by worker tools.\n */\nexport function registerWorkerGrantHeaders(\n\tpi: ExtensionAPI,\n\tworkerContext: WorkerContext,\n\tcontroller: DelegationController | undefined,\n): void {\n\tpi.on(\"before_provider_headers\", async (event, ctx) => {\n\t\tif (!isAutoModel(ctx.model)) {\n\t\t\tctx.abort();\n\t\t\treturn;\n\t\t}\n\n\t\t// Set an invalid sentinel first. Extension handler errors are reported and\n\t\t// swallowed by the runner, so this prevents a mint failure from silently\n\t\t// falling back to an ungranted root request.\n\t\tconst requestId = randomUUID();\n\t\tevent.headers[INTERNAL_WORKER_GRANT_HEADER] = INVALID_WORKER_GRANT;\n\t\tevent.headers[INTERNAL_WORKER_TASK_HEADER] = workerContext.taskId;\n\t\tevent.headers[SESSION_AFFINITY_HEADER] = workerContext.sessionId;\n\t\tevent.headers[RUN_ID_HEADER] = workerContext.runId;\n\t\tevent.headers[REQUEST_ID_HEADER] = requestId;\n\t\tevent.headers[ROOT_REQUEST_ID_HEADER] = workerContext.rootRequestId;\n\t\tevent.headers[PARENT_REQUEST_ID_HEADER] = workerContext.parentRequestId;\n\t\tevent.headers[DELEGATION_ID_HEADER] = workerContext.taskId;\n\t\tevent.headers[REQUEST_SCOPE_HEADER] = \"worker\";\n\t\tif (!controller) return;\n\n\t\tconst grant = await controller.createWorkerGrant({\n\t\t\t...workerContext,\n\t\t\trequestId,\n\t\t\tsignal: ctx.signal,\n\t\t});\n\t\tevent.headers[INTERNAL_WORKER_GRANT_HEADER] = grant.token;\n\t});\n}\n\nexport default function delegatedWorkerRuntime(pi: ExtensionAPI): void {\n\tconst isWorker = isDelegatedWorkerProcess();\n\tconst workerContext = consumeWorkerContext();\n\tif (!isWorker) return;\n\tconst config = resolveGitNexusConfig();\n\tconst failClosedContext: WorkerContext = {\n\t\tsessionId: \"unavailable\",\n\t\ttaskId: \"unavailable\",\n\t\trunId: \"unavailable\",\n\t\trootRequestId: \"unavailable\",\n\t\tparentRequestId: \"unavailable\",\n\t};\n\tregisterWorkerGrantHeaders(\n\t\tpi,\n\t\tworkerContext ?? failClosedContext,\n\t\tworkerContext && config ? createHubDelegationController(config) : undefined,\n\t);\n}\n"]}