@osolmaz/pi-workflows 0.15.0 → 0.15.2

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":"state.js","sourceRoot":"","sources":["../../src/host/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAkB,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAsEnD,MAAM,OAAO,cAAc;IAChB,KAAK,CAAgB;IACb,SAAS,CAAU;IAEpC,YAAY,YAAoB,EAAE,OAAO,GAAkD,EAAE;QAC3F,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC;QAC7C,IAAI,CAAC,KAAK;YACR,OAAO,CAAC,KAAK;gBACb,IAAI,aAAa,CAAC;oBAChB,QAAQ,EAAE,YAAY;oBACtB,IAAI,EAAE,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY;iBAC7D,CAAC,CAAC;IACP,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;IAED,WAAW,CAAC,OAMX;QACC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACtC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;gBACrF,MAAM,IAAI,KAAK,CAAC,+CAA+C,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YAClF,CAAC;YACD,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;YAChC,MAAM,SAAS,GAAG,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;iBAClC,OAAO,CACN;;;qGAG2F,CAC5F;iBACA,GAAG,CACF,KAAK,EACL,OAAO,CAAC,MAAM,EACd,SAAS,CAAC,KAAK,CAAC,EAChB,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,oBAAoB,EAC5B,GAAG,EACH,GAAG,EACH,SAAS,EACT,OAAO,CAAC,KAAK,EACb,GAAG,CACJ,CAAC;YACJ,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAC7F,OAAO;gBACL,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK;gBACL,KAAK;gBACL,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;gBAClD,SAAS;aACV,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,KAAgB,EAAE,OAAe,EAAE,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE;QACnE,cAAc,CAAC,OAAO,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;YACjC,MAAM,SAAS,GAAG,GAAG,GAAG,OAAO,CAAC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;iBAClC,OAAO,CACN;;2EAEiE,CAClE;iBACA,GAAG,CACF,GAAG,EACH,SAAS,EACT,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,MAAM,EACZ,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EACtB,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,oBAAoB,EAC1B,GAAG,CACJ,CAAC;YACJ,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC3E,OAAO,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,KAAgB,EAAE,IAAI,GAAW,IAAI,CAAC,GAAG,EAAE;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAC3B,GAAG,EAAE,CACH,IAAI,CAAC,KAAK,CAAC,UAAU;aAClB,OAAO,CACN;;;;0DAI8C,CAC/C;aACA,GAAG,CACF,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,MAAM,EACZ,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EACtB,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,oBAAoB,CAC3B,CAAC,OAAO,KAAK,CAAC,CACpB,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,OAAO;YACL,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;YAC9C,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;YAC7B,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC;YACjC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;YAC7B,IAAI,EAAE,GAAG,CAAC,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,IAAI,GAAG,CAAC,SAAS,GAAG,GAAG;SAC3E,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,OAAoB;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;aAC9B,OAAO,CACN;;iDAEyC,CAC1C;aACA,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAChE,OAAO,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE,4CAA4C,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IAED,cAAc,CACZ,OAAoB,EACpB,SAAiB,EACjB,SAA2D;QAE3D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,QAAQ,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAC1F,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;iBACrC,OAAO,CACN;;;0EAGgE,CACjE;iBACA,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACjD,IAAI,sBAAsB,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;oBACvE,OAAO,gBAAgB,CACrB,OAAO,CAAC,SAAS,EACjB,iDAAiD,CAClD,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBACvE,OAAO,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;YAC1E,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAiB;gBAC7B,MAAM,EAAE,+BAA+B;gBACvC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,GAAG,MAAM;aACV,CAAC;YACF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,WAAW,GACf,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACpF,MAAM,SAAS,GACb,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAChF,IAAI,CAAC,KAAK,CAAC,UAAU;iBAClB,OAAO,CACN;;;;4DAIkD,CACnD;iBACA,GAAG,CACF,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,cAAc,EACtB,kBAAkB,CAAC,OAAO,CAAC,EAC3B,OAAO,CAAC,KAAK,IAAI,IAAI,EACrB,QAAQ,CAAC,QAAQ,IAAI,IAAI,EACzB,QAAQ,CAAC,OAAO,EAChB,WAAW,EACX,SAAS,EACT,SAAS,EACT,GAAG,EACH,GAAG,CACJ,CAAC;YACJ,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,QAA8B,EAAE,SAAiB;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;YAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACrD,IAAI,CAAC,KAAK,CAAC,UAAU;iBAClB,OAAO,CACN;;;mDAGyC,CAC1C;iBACA,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,WAAmB,EAAE,GAAW,EAAE,oBAA4B;QAChF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;aAClC,OAAO,CACN;wEACgE,CACjE;aACA,GAAG,CAAC,GAAG,EAAE,oBAAoB,EAAE,WAAW,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,WAAW,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,eAAe,CAAC,WAAmB;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;aAClC,OAAO,CACN;wDACgD,CACjD;aACA,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACzB,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,WAAW,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,YAAY,CAAC,OAMZ;QACC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;YAC1B,MAAM,cAAc,GAClB,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACxF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;iBAClC,OAAO,CACN;;iFAEuE,CACxE;iBACA,GAAG,CACF,OAAO,CAAC,OAAO,EACf,GAAG,EACH,OAAO,CAAC,QAAQ,IAAI,IAAI,EACxB,OAAO,CAAC,MAAM,IAAI,IAAI,EACtB,cAAc,EACd,OAAO,CAAC,WAAW,CACpB,CAAC;YACJ,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,OAAsB;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;aAC9B,OAAO,CACN;;wEAEgE,CACjE;aACA,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACtE,OAAO;gBACL,MAAM,EAAE,iCAAiC;gBACzC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO,EAAE,UAAU;gBACnB,KAAK,EAAE,mDAAmD;aAC3D,CAAC;QACJ,CAAC;QACD,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACnE,CAAC;IAED,mBAAmB,CAAC,OAAsB,EAAE,QAAwB;QAClE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,QAAQ,CAAC;YAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,UAAU,GACd,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAClF,MAAM,SAAS,GACb,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAChF,IAAI,CAAC,KAAK,CAAC,UAAU;iBAClB,OAAO,CACN;;;6CAGmC,CACpC;iBACA,GAAG,CACF,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,SAAS,EACjB,wBAAwB,CAAC,OAAO,CAAC,EACjC,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,QAAQ,IAAI,IAAI,EACzB,UAAU,EACV,SAAS,EACT,GAAG,CACJ,CAAC;YACJ,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wBAAwB,CAAC,OAOxB;QACC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,IACE,QAAQ,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;oBAChC,QAAQ,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS;oBACxC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,EACpE,CAAC;oBACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBACzE,CAAC;gBACD,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;oBAClE,IAAI,CAAC,KAAK,CAAC,UAAU;yBAClB,OAAO,CACN;;;;;mFAKqE,CACtE;yBACA,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;oBAC/B,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC3D,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC/D,IAAI,CAAC,KAAK,CAAC,UAAU;iBAClB,OAAO,CACN;;;2DAGiD,CAClD;iBACA,GAAG,CACF,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,IAAI,EACZ,YAAY,EACZ,GAAG,EACH,GAAG,CACJ,CAAC;YACJ,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,SAAiB;QAC9B,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,mBAAmB,CAAC,KAAa;QAS/B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;aAC9B,OAAO,CACN;;;;;;4CAMoC,CACrC;aACA,GAAG,CAAC,KAAK,CAAC,CAAC;QACd,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QACrD,OAAO;YACL,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;SAC9C,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,KAAa;QASjC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;aAC9B,OAAO,CACN;;;;;;;8CAOsC,CACvC;aACA,GAAG,CAAC,KAAK,CAAC,CAAC;QACd,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QACrD,OAAO;YACL,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;SAC9C,CAAC;IACJ,CAAC;IAED,2BAA2B;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU;aACzB,OAAO,CACN;;;;;;;gDAOwC,CACzC;aACA,GAAG,EAAE;aACL,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,wBAAwB,CAAC,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU;aACzB,OAAO,CACN;;;;;;;;+CAQuC,CACxC;aACA,GAAG,CAAC,GAAG,CAAC;aACR,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,mBAAmB,CAAC,KAAa;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;aAC9B,OAAO,CACN;;;;;;;sDAO8C,CAC/C;aACA,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1B,OAAO,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;IAED,qBAAqB,CACnB,SAAiB,EACjB,YAAoB;QAEpB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;aAC9B,OAAO,CACN;;;iFAGyE,CAC1E;aACA,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAChC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QAClD,OAAO;YACL,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;YAC7C,OAAO,EAAE,GAAG,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;YAC/E,WAAW,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE;SACrD,CAAC;IACJ,CAAC;IAED,2BAA2B,CAAC,OAK3B;QACC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;YACvF,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;YACnE,IAAI,UAAU,EAAE,OAAO,KAAK,eAAe;gBAAE,OAAO,UAAU,CAAC;YAC/D,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;gBACpE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAClE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,KAAK,CAAC,UAAU;iBAClB,OAAO,CACN;iFACuE,CACxE;iBACA,GAAG,CACF,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAC1C,WAAW,EACX,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,YAAY,CACrB,CAAC;YACJ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;qBAClC,OAAO,CACN;;;;2FAI+E,CAChF;qBACA,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC5E,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACxF,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;YACpF,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YACvF,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B,CAAC,KAAa,EAAE,SAAiB,EAAE,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE;QACnF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;aAClC,OAAO,CACN;;0EAEkE,CACnE;aACA,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC,OAAO,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,uBAAuB,CAAC,SAAiB;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU;aACzB,OAAO,CACN;;yCAEiC,CAClC;aACA,GAAG,CAAC,SAAS,CAAC;aACd,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACf,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAC3E,CAAC;IACN,CAAC;IAED,4BAA4B,CAAC,OAK5B;QACC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;aAClC,OAAO,CACN;;;;;;;aAOK,CACN;aACA,GAAG,CACF,OAAO,CAAC,WAAW,EACnB,GAAG,GAAG,OAAO,CAAC,OAAO,EACrB,GAAG,EACH,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,gBAAgB,EACxB,OAAO,CAAC,WAAW,EACnB,GAAG,CACJ,CAAC;QACJ,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC9F,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED,wBAAwB,CAAC,OAIxB;QACC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;aAClC,OAAO,CACN;;;;4FAIoF,CACrF;aACA,GAAG,CACF,OAAO,CAAC,cAAc,EACtB,GAAG,EACH,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,gBAAgB,EACxB,OAAO,CAAC,cAAc,CACvB,CAAC;QACJ,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED,iBAAiB,CAAC,OAQjB;QAKC,OAAO,IAAI,CAAC,2BAA2B,CAAC;YACtC,GAAG,OAAO;YACV,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;YACnD,MAAM,EAAE,OAAO,CAAC,QAAQ;SACzB,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B,CAAC,OAO1B;QAKC,OAAO,IAAI,CAAC,2BAA2B,CAAC;YACtC,GAAG,OAAO;YACV,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;IACL,CAAC;IAEO,2BAA2B,CAAC,OASnC;QAKC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;iBACnC,OAAO,CACN;;qFAE2E,CAC5E;iBACA,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YAClD,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACzF,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC9C,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACtE,CAAC;gBACD,OAAO;oBACL,WAAW,EAAE,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,SAAS,CAAC;oBAC9D,OAAO,EAAE,SAAS;oBAClB,OAAO,EACL,QAAQ,CAAC,WAAW,KAAK,IAAI;wBAC3B,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE;wBACvE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;iBAChD,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;qBACjC,OAAO,CACN;qEACyD,CAC1D;qBACA,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC1B,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAClE,IACE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,gBAAgB;gBAC7C,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EACnD,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC3D,CAAC;YACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAClE,MAAM,WAAW,GACf,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAClF,IAAI,CAAC,KAAK,CAAC,UAAU;iBAClB,OAAO,CACN;;;6CAGmC,CACpC;iBACA,GAAG,CACF,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,gBAAgB,EACxB,gBAAgB,EAChB,OAAO,CAAC,OAAO,EACf,WAAW,EACX,GAAG,CACJ,CAAC;YACJ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,CAAC,UAAU;qBAClB,OAAO,CACN;;;;2FAI+E,CAChF;qBACA,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACtF,CAAC;YACD,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,SAAS,CAAC;gBAC9D,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI;oBAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;iBACnC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,OAAO;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;aAC9B,OAAO,CACN;;;+CAGuC,CACxC;aACA,GAAG,EAAE,CAAC;QACT,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC3E,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,eAAe,CAAC,SAAiB,EAAE,GAAe;QACxD,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5F,MAAM,KAAK,GACT,GAAG,CAAC,SAAS,KAAK,IAAI;YACpB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnE,OAAO;YACL,MAAM,EAAE,+BAA+B;YACvC,SAAS;YACT,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC5D,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YAC7C,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;SAC1C,CAAC;IACJ,CAAC;IAEO,kBAAkB,CAAC,SAAiB;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;aAC9B,OAAO,CACN;;;;;wDAKgD,CACjD;aACA,GAAG,CAAC,SAAS,CAAC,CAAC;QAClB,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QACpD,OAAO;YACL,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC;YAC/C,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,0BAA0B,EAAE,GAAG,CAAC,0BAA0B;YAC1D,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;YAC9C,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;YAChD,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;YAChD,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;YAC7B,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;SAChC,CAAC;IACJ,CAAC;IAEO,yBAAyB,CAAC,SAAiB;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,SAAS,EAAE,CAAC,CAAC;QAC1F,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED,SAAS,gBAAgB,CAAC,SAAiB,EAAE,KAAa;IACxD,OAAO,EAAE,MAAM,EAAE,+BAA+B,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AAC5F,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,GAAG,CAAC,KAAoB;IAC/B,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AAC/D,CAAC;AA4ED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC;QAC5B,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9D,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC;QACrD,cAAc,CAAC,KAAK,CAAC,oBAAoB,CAAC;QAC1C,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC;QAC/B,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC;QACjC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAChC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACzC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9B,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAClE,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,YAAY,CAAC,KAAK,CAAC;QACnB,OAAQ,KAAiC,CAAC,SAAS,KAAK,QAAQ,CACjE,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC;AAChE,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC;AAC5D,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACzC,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAiB,CAAC;QAClF,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9B,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAChE,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACtC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CACnC,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CACjC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACtC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;QAClC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CACnE,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC;AACnE,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACtC,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ;QACxC,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAiB,CAAC;QACnF,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;QAClC,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CACtC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ;QACzC,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAc,CAAC;QACjE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;QACnC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAgB,CAAC;QAClF,cAAc,CAAC,KAAK,CAAC,0BAA0B,CAAC;QAChD,cAAc,CAAC,KAAK,CAAC,oBAAoB,CAAC;QAC1C,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC;QAC/B,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CACjC,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAsB;IACtD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAoB,EACpB,SAAiB,EACjB,GAAqB;IAErB,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACpF,MAAM,KAAK,GACT,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/F,OAAO;QACL,MAAM,EAAE,iCAAiC;QACzC,SAAS;QACT,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC5D,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AACrD,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AACrD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/host/state.ts"],"names":[],"mappings":"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"}
@@ -316,7 +316,9 @@ Agent and assistant-message steps for an interactive run execute in the origin P
316
316
 
317
317
  The worker commits the node's resolved wall-clock deadline before it proposes `interaction.requested`. The host commits the request, changes the node attempt to waiting, parks the queue row, releases the claim, and acknowledges the worker. The worker then exits. The host continues to enforce the durable deadline while no worker exists. If the deadline passes, one control claim atomically closes the stale request and schedules a supervised timeout-resume child. The child preserves the same attempt and deadline, records `timed_out`, and follows any `$result.outcome` edge. A run with no timeout recovery edge becomes terminal and releases its session reservation. Restart recovery starts this timeout path before it schedules other work.
318
318
 
319
- The extension finds pending requests during `session_start`, after `agent_settled`, and once per second while the session is open. It claims one request presentation, sends the step message through documented Pi APIs, and exposes the normal `workflow` tool contract.
319
+ The extension finds pending requests during `session_start`, after `agent_settled`, and once per second while the session is open. One shared session-delivery coordinator handles step prompts, protected decisions, notifications, and terminal presentation turns. It waits until Pi is idle and has no pending messages before it claims new work. Because the host claim is asynchronous, it checks those conditions again immediately before the synchronous call to the documented `pi.sendMessage()` API. An unused claim expires and is never sent later. After a claim, the coordinator records the delivery ID in memory before it sends. Polling only checks for delivery evidence while that ID remains queued; it cannot send the message again.
320
+
321
+ The host grants one live presentation claim. The current presenter cannot claim the same request again before that claim expires. When the matching custom message appears in the active Pi branch, the coordinator records its public session entry ID through the host and clears the local queued state. If Pi becomes idle without exposing a matching entry after the confirmation interval, the coordinator reports the delivery as ambiguous and keeps it blocked. It does not infer success or retry. The normal `workflow` tool contract then submits updates and results.
320
322
 
321
323
  A tool update or submission goes to the host. It includes the exact request, node, attempt, expected revision, and tool-call idempotency key. The host first checks this transport contract and records a provisional `validating` submission. It then schedules a supervised workflow child. Only that child loads workflow code and runs the node's `validate` function. The child reports `interaction.accepted` or `interaction.rejected` to the host. The host settles the request only after acceptance. A rejected payload leaves the same request pending and returns the stored actionable error to the model. If the child stops before it reports a result, the host rejects the provisional submission and leaves the request ready for a corrected retry.
322
324
 
@@ -324,9 +326,9 @@ An ordinary checkpoint accepts the model-facing `answer` action and starts a con
324
326
 
325
327
  The session keeps normal Pi entries for prompts, tools, and replies. Pi Workflows stores the public session entry ID used for presentation adoption. It does not edit the Pi session file or schema.
326
328
 
327
- One session presents one workflow interaction at a time. Other requests remain ordered by creation time. A restart or reload can present an unresolved request again, but exact session-entry adoption prevents a second visible message when the first presentation was already recorded.
329
+ One session delivers one host-owned message at a time. Other requests remain ordered by creation time. A reload or restart clears only the process-local queued state. The new extension instance scans the active Pi branch first, adopts an existing entry, and sends only when no matching entry exists and a new claim is available. It never retries only because a poll interval or claim lease elapsed.
328
330
 
329
- Notify nodes enqueue passive messages in the existing `notifications` outbox. The extension claims a message through the host, adopts an existing session entry after a crash, and marks delivery through the host. A completed run with a root `presentationPrompt` creates an ineligible `turn_intent` before the terminal commit. The same terminal transaction makes that intent eligible. The extension claims it, starts one normal Pi turn, and records the public session entry ID. No completion turn starts before the completed state is durable.
331
+ Notify nodes enqueue passive messages in the existing `notifications` outbox. The shared coordinator claims a message through the host, adopts an existing session entry after a crash, and marks delivery through the host. A completed run with a root `presentationPrompt` creates an ineligible `turn_intent` before the terminal commit. The same terminal transaction makes that intent eligible. The coordinator claims it, starts one normal Pi turn while Pi is idle, and records the public session entry ID. No completion turn starts before the completed state is durable.
330
332
 
331
333
  ## Detached execution
332
334
 
@@ -446,6 +448,7 @@ The implementation conforms when:
446
448
  - an expired running row can be resumed or cancelled safely;
447
449
  - duplicate commands and submissions return stored receipts;
448
450
  - an interactive request appears once in the origin session and survives reload;
451
+ - a busy Pi session held longer than both delivery leases does not queue duplicate messages or model turns;
449
452
  - effects are deduplicated or marked ambiguous;
450
453
  - the extension and host run no workflow or controller code in their own event loops;
451
454
  - the production package contains no embedded execution fallback;
@@ -36,7 +36,6 @@ pi.sendMessage(
36
36
  },
37
37
  {
38
38
  triggerTurn: true,
39
- deliverAs: streaming ? "steer" : "followUp",
40
39
  },
41
40
  );
42
41
  ```
@@ -47,11 +46,19 @@ pi.sendMessage(
47
46
 
48
47
  `kind` distinguishes the first delivery from a reminder or a resume that must repeat the instructions. An ordinary resume that can continue without another prompt does not create a message.
49
48
 
49
+ ## Session delivery
50
+
51
+ One shared coordinator delivers step prompts, protected decisions, notifications, and final workflow results. It does not claim or send a new message while Pi is busy or another message is pending. It checks these conditions again after the asynchronous host claim and immediately before the synchronous send. If Pi became busy, the unused claim expires and is never sent later. Before it calls `pi.sendMessage()`, the coordinator records the stable delivery ID in a process-local queued map. The one-second poll can then look for the matching session entry, but it cannot send that ID again.
52
+
53
+ The coordinator clears the queued ID only after it observes the custom message in the active branch and saves the public Pi session entry ID through the workflow host. If Pi becomes idle but does not expose that entry after the confirmation interval, the coordinator reports an ambiguous delivery and keeps it blocked. Reload and restart recovery first search the branch for that stable ID. An existing entry is adopted. A new message is sent only when no entry exists and the host grants a new claim.
54
+
55
+ The host does not grant another live presentation claim to the same extension client. Claim expiry permits recovery by a new claimant; it is not permission for the current process to resend a queued message.
56
+
50
57
  ## Engine boundary
51
58
 
52
59
  The workflow engine remains independent of Pi. It continues to produce an `AgentStepRequest` with a complete prompt and structured contract.
53
60
 
54
- The request carries optional presentation data for the run title and node status detail. The conversation executor passes the prompt, contract, presentation data, delivery kind, and streaming state to the Pi extension. The RPC executor handles submitted steps. An assistant-message step parks for the origin Pi session; a detached run with no origin session fails before prompting.
61
+ The request carries optional presentation data for the run title and node status detail. The workflow host stores the prompt, contract, presentation data, and delivery kind for the origin Pi extension. The RPC executor handles submitted steps. An assistant-message step parks for the origin Pi session; a detached run with no origin session fails before prompting.
55
62
 
56
63
  One pure formatter remains responsible for the model prompt used by both executors. Interactive delivery must not shorten, summarize, or rebuild the model prompt from display fields.
57
64
 
@@ -100,7 +107,7 @@ Workflow notifications keep the separate custom type `pi-workflows-notification`
100
107
 
101
108
  Agent-step messages use `triggerTurn: true` because they ask the model to work. Notifications use `triggerTurn: false` because they report state to the user without asking for an assistant response.
102
109
 
103
- The two message types must not share delivery code that can accidentally change this behavior.
110
+ The two message types use the same delivery coordinator but keep separate send policies. The coordinator never changes whether a message starts a model turn.
104
111
 
105
112
  ## Session and persistence impact
106
113
 
@@ -123,7 +130,7 @@ The workflow package adds `assistantMessage()` as an `expectedOutput` value for
123
130
  Tests verify:
124
131
 
125
132
  - interactive and RPC executors give the model the same complete prompt
126
- - one step message starts one model turn
133
+ - one step message starts one model turn, even when Pi stays busy longer than the poll interval and delivery claim lease
127
134
  - collapsed rendering does not show the full prompt
128
135
  - expanded rendering shows the full prompt, settings scope and change number, allowed paths, and exact contract ids
129
136
  - long and missing display fields render safely
package/herdr-plugin.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  id = "osolmaz.pi-workflows"
2
2
  name = "pi-workflows"
3
- version = "0.15.0"
3
+ version = "0.15.2"
4
4
  min_herdr_version = "0.7.0"
5
5
  description = "Open the active pi-workflows run in piw from a managed Herdr pane."
6
6
  platforms = ["linux", "macos"]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osolmaz/pi-workflows",
3
- "version": "0.15.0",
3
+ "version": "0.15.2",
4
4
  "description": "Workflow and controller runtime with a live terminal viewer for the pi coding agent",
5
5
  "keywords": [
6
6
  "pi-package"
@@ -13,6 +13,7 @@ import { discoverWorkflows } from "../workflows/loader.js";
13
13
  import { createRunId, WorkflowRunStore } from "../workflows/store.js";
14
14
  import type { AgentStepContract, HumanDecisionResponse } from "../workflows/types.js";
15
15
  import { parseControllerArgs, type ParsedControllerArgs } from "./controller-command.js";
16
+ import { SessionDeliveryCoordinator, type ClaimedSessionDelivery } from "./session-delivery.js";
16
17
  import {
17
18
  recoverAssistantStep,
18
19
  registerWorkflowAgentStepMessageRenderer,
@@ -131,6 +132,7 @@ export default function piWorkflows(pi: ExtensionAPI): void {
131
132
  let pollTimer: ReturnType<typeof setInterval> | null = null;
132
133
  let presentationTail = Promise.resolve();
133
134
  let toolTail = Promise.resolve();
135
+ const sessionDelivery = new SessionDeliveryCoordinator();
134
136
 
135
137
  const presentInOrder = async (ctx: ExtensionContext): Promise<void> => {
136
138
  const prior = presentationTail;
@@ -140,11 +142,11 @@ export default function piWorkflows(pi: ExtensionAPI): void {
140
142
  });
141
143
  await prior;
142
144
  try {
143
- await presentPendingInteraction(pi, client, ctx);
144
- await deliverPendingNotification(pi, client, ctx);
145
- if (pendingInteractionForSession(ctx.sessionManager.getSessionId()) === undefined) {
146
- await presentPendingTurn(pi, client, ctx);
147
- }
145
+ await sessionDelivery.synchronize(ctx, [
146
+ () => claimPendingInteractionDelivery(pi, client, ctx),
147
+ () => claimPendingNotificationDelivery(pi, client, ctx),
148
+ () => claimPendingTurnDelivery(pi, client, ctx),
149
+ ]);
148
150
  } finally {
149
151
  release?.();
150
152
  }
@@ -291,6 +293,7 @@ export default function piWorkflows(pi: ExtensionAPI): void {
291
293
 
292
294
  pi.on("session_shutdown", async () => {
293
295
  sessionContext = null;
296
+ sessionDelivery.clear();
294
297
  if (pollTimer !== null) clearInterval(pollTimer);
295
298
  pollTimer = null;
296
299
  });
@@ -514,94 +517,95 @@ async function executeControllerCommand(
514
517
  };
515
518
  }
516
519
 
517
- async function presentPendingInteraction(
520
+ async function claimPendingInteractionDelivery(
518
521
  pi: ExtensionAPI,
519
522
  client: WorkflowHostClient,
520
523
  ctx: ExtensionContext,
521
- ): Promise<void> {
524
+ ): Promise<ClaimedSessionDelivery | undefined> {
522
525
  const interaction = pendingInteractionForSession(ctx.sessionManager.getSessionId());
523
- if (interaction === undefined) return;
524
- const entries = ctx.sessionManager.getBranch();
525
- const existing = entries.find((entry) => interactionRequestId(entry) === interaction.requestId);
526
- if (existing !== undefined) {
527
- const entryId = entryIdentifier(existing);
528
- if (entryId !== undefined && interaction.presentationSessionEntryId !== entryId) {
526
+ if (interaction === undefined || interaction.presentationSessionEntryId !== null)
527
+ return undefined;
528
+
529
+ const findSessionEntryId = (entries: readonly unknown[]): string | undefined =>
530
+ entryIdentifier(entries.find((entry) => interactionRequestId(entry) === interaction.requestId));
531
+ const existingEntryId = findSessionEntryId(ctx.sessionManager.getBranch());
532
+ let presentationRevision = interaction.revision;
533
+ if (existingEntryId === undefined) {
534
+ const claim = await requestAccepted(client, {
535
+ operation: "interaction.update",
536
+ requestId: `claim-presentation-${interaction.requestId}-${interaction.revision}-${client.clientId}`,
537
+ idempotencyKey: `claim-presentation-${interaction.requestId}-${interaction.revision}-${client.clientId}`,
538
+ runId: interaction.runId,
539
+ expectedRevision: interaction.revision,
540
+ payload: { requestId: interaction.requestId, claimPresentation: true },
541
+ });
542
+ if (claim.revision === undefined) throw new Error("Presentation claim has no revision");
543
+ presentationRevision = claim.revision;
544
+ }
545
+
546
+ const contract = interactionContract(interaction);
547
+ return {
548
+ deliveryId: `interaction:${interaction.requestId}`,
549
+ findSessionEntryId,
550
+ send: () => {
551
+ if (interaction.kind === "decision") {
552
+ pi.sendMessage(
553
+ {
554
+ customType: WORKFLOW_INTERACTION_MESSAGE_TYPE,
555
+ content: decisionPrompt(contract),
556
+ display: true,
557
+ details: {
558
+ requestId: interaction.requestId,
559
+ runId: interaction.runId,
560
+ kind: "decision",
561
+ },
562
+ },
563
+ { triggerTurn: false },
564
+ );
565
+ return;
566
+ }
567
+ const agent = agentContract(interaction);
568
+ if (agent === undefined) throw new Error("Stored workflow agent contract is invalid");
569
+ const details: WorkflowAgentStepMessageDetails & { requestId: string } = {
570
+ schema: WORKFLOW_AGENT_STEP_MESSAGE_SCHEMA,
571
+ kind: "step",
572
+ contract: agent,
573
+ requestId: interaction.requestId,
574
+ ...(isRecord(contract.presentation)
575
+ ? { presentation: contract.presentation as never }
576
+ : {}),
577
+ };
578
+ pi.sendMessage(
579
+ {
580
+ customType: WORKFLOW_AGENT_STEP_MESSAGE_TYPE,
581
+ content:
582
+ typeof contract.prompt === "string" ? contract.prompt : "Continue the workflow step.",
583
+ display: true,
584
+ details,
585
+ },
586
+ { triggerTurn: true },
587
+ );
588
+ },
589
+ settle: async (sessionEntryId) => {
529
590
  await requestAccepted(client, {
530
591
  operation: "interaction.update",
531
- requestId: `present-${interaction.requestId}-${entryId}`,
532
- idempotencyKey: `present-${interaction.requestId}-${entryId}`,
592
+ requestId: `present-${interaction.requestId}-${sessionEntryId}`,
593
+ idempotencyKey: `present-${interaction.requestId}-${sessionEntryId}`,
533
594
  runId: interaction.runId,
534
- expectedRevision: interaction.revision,
535
- payload: { requestId: interaction.requestId, sessionEntryId: entryId },
595
+ expectedRevision: presentationRevision,
596
+ payload: { requestId: interaction.requestId, sessionEntryId },
536
597
  });
537
- }
538
- return;
539
- }
540
- if (interaction.presentationSessionEntryId !== null) return;
541
- const claim = await requestAccepted(client, {
542
- operation: "interaction.update",
543
- requestId: `claim-presentation-${interaction.requestId}-${interaction.revision}-${client.clientId}`,
544
- idempotencyKey: `claim-presentation-${interaction.requestId}-${interaction.revision}-${client.clientId}`,
545
- runId: interaction.runId,
546
- expectedRevision: interaction.revision,
547
- payload: { requestId: interaction.requestId, claimPresentation: true },
548
- });
549
- if (claim.revision === undefined) throw new Error("Presentation claim has no revision");
550
- const presentationRevision = claim.revision;
551
- const contract = interactionContract(interaction);
552
- if (interaction.kind === "decision") {
553
- pi.sendMessage(
554
- {
555
- customType: WORKFLOW_INTERACTION_MESSAGE_TYPE,
556
- content: decisionPrompt(contract),
557
- display: true,
558
- details: { requestId: interaction.requestId, runId: interaction.runId, kind: "decision" },
559
- },
560
- { triggerTurn: false },
561
- );
562
- } else {
563
- const agent = agentContract(interaction);
564
- if (agent === undefined) throw new Error("Stored workflow agent contract is invalid");
565
- const details: WorkflowAgentStepMessageDetails & { requestId: string } = {
566
- schema: WORKFLOW_AGENT_STEP_MESSAGE_SCHEMA,
567
- kind: "step",
568
- contract: agent,
569
- requestId: interaction.requestId,
570
- ...(isRecord(contract.presentation) ? { presentation: contract.presentation as never } : {}),
571
- };
572
- pi.sendMessage(
573
- {
574
- customType: WORKFLOW_AGENT_STEP_MESSAGE_TYPE,
575
- content:
576
- typeof contract.prompt === "string" ? contract.prompt : "Continue the workflow step.",
577
- display: true,
578
- details,
579
- },
580
- { triggerTurn: true, deliverAs: "followUp" },
581
- );
582
- }
583
- const inserted = ctx.sessionManager
584
- .getBranch()
585
- .find((entry) => interactionRequestId(entry) === interaction.requestId);
586
- const entryId = entryIdentifier(inserted);
587
- if (entryId === undefined) return;
588
- await requestAccepted(client, {
589
- operation: "interaction.update",
590
- requestId: `present-${interaction.requestId}-${entryId}`,
591
- idempotencyKey: `present-${interaction.requestId}-${entryId}`,
592
- runId: interaction.runId,
593
- expectedRevision: presentationRevision,
594
- payload: { requestId: interaction.requestId, sessionEntryId: entryId },
595
- });
598
+ },
599
+ };
596
600
  }
597
601
 
598
- async function deliverPendingNotification(
602
+ async function claimPendingNotificationDelivery(
599
603
  pi: ExtensionAPI,
600
604
  client: WorkflowHostClient,
601
605
  ctx: ExtensionContext,
602
- ): Promise<void> {
606
+ ): Promise<ClaimedSessionDelivery | undefined> {
603
607
  const sessionId = ctx.sessionManager.getSessionId();
604
- if (!hasClaimableNotification(sessionId)) return;
608
+ if (!hasClaimableNotification(sessionId)) return undefined;
605
609
  const claimRequestId = randomUUID();
606
610
  const claimed = await requestAccepted(client, {
607
611
  operation: "notification.claim",
@@ -611,57 +615,58 @@ async function deliverPendingNotification(
611
615
  });
612
616
  const receipt = isRecord(claimed.receipt) ? claimed.receipt : undefined;
613
617
  const notification = isRecord(receipt?.notification) ? receipt.notification : undefined;
614
- if (notification === undefined) return;
618
+ if (notification === undefined) return undefined;
615
619
  const claimId = requireText(receipt?.claimId, "notification claimId");
616
620
  const notificationId = requireText(notification.notificationId, "notificationId");
617
- const branch = ctx.sessionManager.getBranch();
618
- let entry = branch.find(
619
- (candidate) =>
620
- customMessageDetail(candidate, WORKFLOW_NOTIFICATION_MESSAGE_TYPE, "notificationId") ===
621
- notificationId,
622
- );
623
- if (entry === undefined) {
624
- pi.sendMessage(
625
- {
626
- customType: WORKFLOW_NOTIFICATION_MESSAGE_TYPE,
627
- content: requireText(notification.content, "notification content"),
628
- display: true,
629
- details: {
630
- notificationId,
631
- runId: requireText(notification.runId, "notification runId"),
632
- kind: notification.kind,
621
+ return {
622
+ deliveryId: `notification:${notificationId}`,
623
+ findSessionEntryId: (entries) =>
624
+ entryIdentifier(
625
+ entries.find(
626
+ (entry) =>
627
+ customMessageDetail(entry, WORKFLOW_NOTIFICATION_MESSAGE_TYPE, "notificationId") ===
628
+ notificationId,
629
+ ),
630
+ ),
631
+ send: () => {
632
+ pi.sendMessage(
633
+ {
634
+ customType: WORKFLOW_NOTIFICATION_MESSAGE_TYPE,
635
+ content: requireText(notification.content, "notification content"),
636
+ display: true,
637
+ details: {
638
+ notificationId,
639
+ runId: requireText(notification.runId, "notification runId"),
640
+ kind: notification.kind,
641
+ },
633
642
  },
634
- },
635
- { triggerTurn: false },
636
- );
637
- entry = ctx.sessionManager
638
- .getBranch()
639
- .find(
640
- (candidate) =>
641
- customMessageDetail(candidate, WORKFLOW_NOTIFICATION_MESSAGE_TYPE, "notificationId") ===
642
- notificationId,
643
+ { triggerTurn: false },
643
644
  );
644
- }
645
- if (entry === undefined) return;
646
- await requestAccepted(client, {
647
- operation: "notification.deliver",
648
- requestId: `notification-deliver-${notificationId}-${claimId}`,
649
- idempotencyKey: `notification-deliver-${notificationId}-${claimId}`,
650
- payload: {
651
- notificationId,
652
- targetSessionId: sessionId,
653
- claimId,
654
645
  },
655
- });
646
+ settle: async () => {
647
+ await requestAccepted(client, {
648
+ operation: "notification.deliver",
649
+ requestId: `notification-deliver-${notificationId}-${claimId}`,
650
+ idempotencyKey: `notification-deliver-${notificationId}-${claimId}`,
651
+ payload: {
652
+ notificationId,
653
+ targetSessionId: sessionId,
654
+ claimId,
655
+ },
656
+ });
657
+ },
658
+ };
656
659
  }
657
660
 
658
- async function presentPendingTurn(
661
+ async function claimPendingTurnDelivery(
659
662
  pi: ExtensionAPI,
660
663
  client: WorkflowHostClient,
661
664
  ctx: ExtensionContext,
662
- ): Promise<void> {
665
+ ): Promise<ClaimedSessionDelivery | undefined> {
663
666
  const sessionId = ctx.sessionManager.getSessionId();
664
- if (!hasClaimableTurn(sessionId)) return;
667
+ if (pendingInteractionForSession(sessionId) !== undefined || !hasClaimableTurn(sessionId)) {
668
+ return undefined;
669
+ }
665
670
  const claimRequestId = randomUUID();
666
671
  const claimed = await requestAccepted(client, {
667
672
  operation: "turn.claim",
@@ -671,49 +676,46 @@ async function presentPendingTurn(
671
676
  });
672
677
  const receipt = isRecord(claimed.receipt) ? claimed.receipt : undefined;
673
678
  const turn = isRecord(receipt?.turn) ? receipt.turn : undefined;
674
- if (turn === undefined) return;
679
+ if (turn === undefined) return undefined;
675
680
  const claimId = requireText(receipt?.claimId, "turn claimId");
676
681
  const intentId = requireText(turn.intentId, "turn intentId");
677
682
  const runId = requireText(turn.runId, "turn runId");
678
683
  const state = terminalRunState(runId);
679
- if (state === undefined) return;
680
- let entry = ctx.sessionManager
681
- .getBranch()
682
- .find(
683
- (candidate) =>
684
- customMessageDetail(candidate, WORKFLOW_PRESENTATION_MESSAGE_TYPE, "intentId") === intentId,
685
- );
686
- if (entry === undefined) {
687
- pi.sendMessage(
688
- {
689
- customType: WORKFLOW_PRESENTATION_MESSAGE_TYPE,
690
- content: presentationMessage(turn, state),
691
- display: false,
692
- details: { intentId, runId },
693
- },
694
- { triggerTurn: true, deliverAs: "followUp" },
695
- );
696
- entry = ctx.sessionManager
697
- .getBranch()
698
- .find(
699
- (candidate) =>
700
- customMessageDetail(candidate, WORKFLOW_PRESENTATION_MESSAGE_TYPE, "intentId") ===
701
- intentId,
684
+ if (state === undefined) return undefined;
685
+ return {
686
+ deliveryId: `turn:${intentId}`,
687
+ findSessionEntryId: (entries) =>
688
+ entryIdentifier(
689
+ entries.find(
690
+ (entry) =>
691
+ customMessageDetail(entry, WORKFLOW_PRESENTATION_MESSAGE_TYPE, "intentId") === intentId,
692
+ ),
693
+ ),
694
+ send: () => {
695
+ pi.sendMessage(
696
+ {
697
+ customType: WORKFLOW_PRESENTATION_MESSAGE_TYPE,
698
+ content: presentationMessage(turn, state),
699
+ display: false,
700
+ details: { intentId, runId },
701
+ },
702
+ { triggerTurn: true },
702
703
  );
703
- }
704
- const messageId = entryIdentifier(entry);
705
- if (messageId === undefined) return;
706
- await requestAccepted(client, {
707
- operation: "turn.resolve",
708
- requestId: `turn-resolve-${intentId}-${messageId}`,
709
- idempotencyKey: `turn-resolve-${intentId}-${messageId}`,
710
- payload: {
711
- intentId,
712
- targetSessionId: sessionId,
713
- claimId,
714
- messageId,
715
704
  },
716
- });
705
+ settle: async (sessionEntryId) => {
706
+ await requestAccepted(client, {
707
+ operation: "turn.resolve",
708
+ requestId: `turn-resolve-${intentId}-${sessionEntryId}`,
709
+ idempotencyKey: `turn-resolve-${intentId}-${sessionEntryId}`,
710
+ payload: {
711
+ intentId,
712
+ targetSessionId: sessionId,
713
+ claimId,
714
+ messageId: sessionEntryId,
715
+ },
716
+ });
717
+ },
718
+ };
717
719
  }
718
720
 
719
721
  async function submitVisibleAssistantResponse(