@ai-setting/roy-plugin-task-show 0.6.12 → 0.8.4

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":"task-detail-mermaid.js","sourceRoot":"","sources":["../src/task-detail-mermaid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAsBH,MAAM,CAAC,MAAM,YAAY,GAA8B;IACrD,WAAW,EAAE;QACX,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,2BAA2B;KACzC;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,kBAAkB;KAChC;IACD,MAAM,EAAE;QACN,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,+BAA+B;KAC7C;IACD,eAAe,EAAE;QACf,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,wBAAwB;KACtC;IACD,aAAa,EAAE;QACb,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,8BAA8B;KAC5C;IACD,cAAc,EAAE;QACd,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,0BAA0B;KACxC;IACD,cAAc,EAAE;QACd,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,eAAe;KAC7B;IACD,eAAe,EAAE;QACf,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,eAAe;KAC7B;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,kBAAkB;KAChC;IACD,eAAe,EAAE;QACf,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,eAAe;KAC7B;CACF,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,YAAY;IACZ,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,WAAW;IACxB,UAAU,EAAE,WAAW;IACvB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,WAAW;IACnB,aAAa,EAAE,WAAW;IAC1B,aAAa,EAAE,WAAW;IAC1B,aAAa,EAAE,WAAW;IAC1B,iBAAiB;IACjB,gBAAgB,EAAE,gBAAgB;IAClC,gBAAgB,EAAE,gBAAgB;IAClC,eAAe,EAAE,gBAAgB;IACjC,UAAU,EAAE,gBAAgB;IAC5B,aAAa,EAAE,gBAAgB;IAC/B,YAAY,EAAE,gBAAgB;IAC9B,oBAAoB,EAAE,gBAAgB;IACtC,OAAO;IACP,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,MAAM;IAClB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,MAAM;IACrB,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE,MAAM;IACjB,gBAAgB;IAChB,KAAK,EAAE,eAAe;IACtB,eAAe,EAAE,eAAe;IAChC,eAAe,EAAE,eAAe;IAChC,cAAc,EAAE,eAAe;IAC/B,QAAQ,EAAE,eAAe;IACzB,WAAW,EAAE,eAAe;IAC5B,wBAAwB,EAAE,eAAe;IACzC,oBAAoB,EAAE,eAAe;IACrC,oBAAoB,EAAE,eAAe;IACrC,WAAW,EAAE,eAAe;IAC5B,cAAc;IACd,aAAa,EAAE,aAAa;IAC5B,aAAa,EAAE,aAAa;IAC5B,YAAY,EAAE,aAAa;IAC3B,aAAa,EAAE,aAAa;IAC5B,QAAQ,EAAE,aAAa;IACvB,IAAI,EAAE,aAAa;IACnB,eAAe;IACf,cAAc,EAAE,cAAc;IAC9B,cAAc,EAAE,cAAc;IAC9B,YAAY,EAAE,cAAc;IAC5B,SAAS,EAAE,cAAc;IACzB,cAAc,EAAE,cAAc;IAC9B,KAAK,EAAE,cAAc;IACrB,UAAU,EAAE,cAAc;IAC1B,OAAO,EAAE,cAAc;IACvB,eAAe;IACf,cAAc,EAAE,cAAc;IAC9B,cAAc,EAAE,cAAc;IAC9B,aAAa,EAAE,cAAc;IAC7B,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,cAAc;IACtB,cAAc,EAAE,cAAc;IAC9B,gBAAgB;IAChB,eAAe,EAAE,eAAe;IAChC,eAAe,EAAE,eAAe;IAChC,aAAa,EAAE,eAAe;IAC9B,OAAO,EAAE,eAAe;IACxB,eAAe,EAAE,eAAe;IAChC,gBAAgB,EAAE,eAAe;IACjC,iBAAiB;IACjB,gBAAgB,EAAE,gBAAgB;IAClC,gBAAgB,EAAE,gBAAgB;IAClC,eAAe,EAAE,gBAAgB;IACjC,SAAS,EAAE,gBAAgB;IAC3B,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,gBAAgB;IACxB,QAAQ,EAAE,gBAAgB;IAC1B,gBAAgB;IAChB,eAAe,EAAE,eAAe;IAChC,eAAe,EAAE,eAAe;IAChC,cAAc,EAAE,eAAe;IAC/B,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,eAAe;IACvB,WAAW,EAAE,eAAe;CAC7B,CAAC;AAEF;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,GAAW;IACpC,OAAO,GAAG;SACP,WAAW,EAAE;SACb,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,4BAA4B,EAAE,GAAG,CAAC;SAC1C,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,kEAAkE;IAClE,gEAAgE;IAChE,kEAAkE;IAClE,kBAAkB;IAClB,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,0GAA0G,CAAC,CAAC;IAClI,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;IAClB,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,yDAAyD;IACzD,6BAA6B;IAC7B,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;QACnG,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,uDAAuD;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,wCAAwC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,IAAI,OAAO,EAAE,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,IAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,aAAa,CAAC,IAAI,CAAC;QAAE,OAAO,aAAa,CAAC,IAAI,CAAE,CAAC;IACrD,+CAA+C;IAC/C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7C,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,IAAI;YAAE,OAAO,aAAa,CAAC,GAAG,CAAE,CAAC;IAClE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAG;IAC1B,UAAU;IACV,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,YAAY;IACZ,UAAU;IACV,kBAAkB;IAClB,kBAAkB;IAClB,SAAS;IACT,UAAU;IACV,eAAe;IACf,eAAe;IACf,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,QAAQ;IACR,kBAAkB;IAClB,UAAU;IACV,WAAW;IACX,WAAW;IACX,MAAM;IACN,eAAe;IACf,eAAe;IACf,MAAM;IACN,MAAM;IACN,aAAa;IACb,aAAa;IACb,cAAc;IACd,QAAQ;IACR,UAAU;IACV,kBAAkB;IAClB,mBAAmB;IACnB,OAAO;IACP,OAAO;CACR,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,IAAI,CAAC,GAAG,KAAK,CAAC;IACd,gEAAgE;IAChE,iEAAiE;IACjE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACf,8DAA8D;IAC9D,2CAA2C;IAC3C,mDAAmD;IACnD,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC;YACzD,KAAK,GAAG,GAAG,CAAC;QACd,CAAC;IACH,CAAC;IACD,2DAA2D;IAC3D,0DAA0D;IAC1D,0CAA0C;IAC1C,sDAAsD;IACtD,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/C,KAAK,MAAM,MAAM,IAAI,mBAAmB,EAAE,CAAC;QACzC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;YACvC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC;gBACzD,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,4DAA4D;IAC5D,gEAAgE;IAChE,oBAAoB;IACpB,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACrD,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,IAAI,IAAI,IAAI,SAAS,CAAC,KAAK,GAAG,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC;QAC9G,KAAK,GAAG,SAAS,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,KAAK,GAAG,CAAC;QAAE,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACzC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,aAAa,CAC3B,EAAoD;IAEpD,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,CAAC,EAAE,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE5D,2DAA2D;IAC3D,6DAA6D;IAC7D,iDAAiD;IACjD,qBAAqB;IACrB,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAE,CAAC;YACpC,OAAO,GAAG,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;QACjF,CAAC;QACD,yDAAyD;QACzD,+DAA+D;QAC/D,+BAA+B;QAC/B,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,YAAY,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;IAC9C,CAAC;IAED,8DAA8D;IAC9D,qDAAqD;IACrD,oEAAoE;IACpE,kEAAkE;IAClE,sDAAsD;IACtD,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAE,CAAC;YACnC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,6DAA6D;IAC7D,6DAA6D;IAC7D,gEAAgE;IAChE,+DAA+D;IAC/D,sCAAsC;IACtC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACxF,MAAM,mBAAmB,GAA4B;QACnD,CAAC,WAAW,EAAE,WAAW,CAAC;QAC1B,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;QACpC,CAAC,UAAU,EAAE,gBAAgB,CAAC;QAC9B,CAAC,MAAM,EAAE,MAAM,CAAC;QAChB,CAAC,IAAI,EAAE,MAAM,CAAC;QACd,CAAC,OAAO,EAAE,MAAM,CAAC;QACjB,CAAC,KAAK,EAAE,eAAe,CAAC;QACxB,CAAC,eAAe,EAAE,eAAe,CAAC;QAClC,CAAC,QAAQ,EAAE,aAAa,CAAC;QACzB,CAAC,aAAa,EAAE,aAAa,CAAC;QAC9B,CAAC,aAAa,EAAE,aAAa,CAAC;QAC9B,CAAC,SAAS,EAAE,cAAc,CAAC;QAC3B,CAAC,cAAc,EAAE,cAAc,CAAC;QAChC,CAAC,OAAO,EAAE,cAAc,CAAC;QACzB,CAAC,QAAQ,EAAE,cAAc,CAAC;QAC1B,CAAC,MAAM,EAAE,cAAc,CAAC;QACxB,CAAC,eAAe,EAAE,eAAe,CAAC;QAClC,CAAC,eAAe,EAAE,eAAe,CAAC;QAClC,CAAC,OAAO,EAAE,eAAe,CAAC;QAC1B,CAAC,SAAS,EAAE,gBAAgB,CAAC;QAC7B,CAAC,MAAM,EAAE,gBAAgB,CAAC;QAC1B,CAAC,IAAI,EAAE,gBAAgB,CAAC;QACxB,CAAC,IAAI,EAAE,gBAAgB,CAAC;QACxB,CAAC,IAAI,EAAE,eAAe,CAAC;QACvB,CAAC,IAAI,EAAE,eAAe,CAAC;KACxB,CAAC;IACF,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,mBAAmB,EAAE,CAAC;QACpD,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAE,CAAC;YACpC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,sCAAsC;IACtC,MAAM,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,MAAM,SAAS,EAAE,CAAC;IAC3B,CAAC;IAED,wDAAwD;IACxD,OAAO,MAAM,kBAAkB,CAAC,aAAa,IAAI,IAAI,CAAC,EAAE,CAAC;AAC3D,CAAC;AAKD,yEAAyE;AACzE,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,gCAAgC;IAChC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;AACjD,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,QAAQ,CAAC,QAAgB;IACvC,OAAO,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;AAClD,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAC1C,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC;AACvC,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;AA8BnC;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAA6B,EAC7B,SAA2B;IAE3B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3B,YAAY,EAAE,CAAC,CAAC,QAAQ;YACxB,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,UAAmB;SAC5B,CAAC,CAAC,CAAC;IACN,CAAC;IAED,6EAA6E;IAC7E,kEAAkE;IAClE,sCAAsC;IACtC,MAAM,SAAS,GAAG,CAAC,GAAG,UAAU,CAAC;SAC9B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;SACrD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAE/B,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACzB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,UAAmB,EAAE,CAAC;QACrF,CAAC;QACD,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC,EAAE,EAAE,CAAC;YACnC,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,UAAmB,EAAE,CAAC;QACrF,CAAC;QACD,IAAI,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,EAAE,EAAE,CAAC;YACvD,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,WAAoB,EAAE,CAAC;QACtF,CAAC;QACD,iEAAiE;QACjE,IAAI,KAAK,GAA2B,IAAI,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,SAAS;gBAAE,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;;gBACjC,MAAM;QACb,CAAC;QACD,OAAO;YACL,YAAY,EAAE,CAAC,CAAC,QAAQ;YACxB,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;YACzC,MAAM,EAAE,OAAgB;SACzB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;0DAE0D;AAC1D,SAAS,YAAY,CAAC,CAAS;IAC7B,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACjB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,IAAyC;IACrE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG;QACX,WAAW;QACX,UAAU;QACV,MAAM;QACN,aAAa;QACb,KAAK;QACL,UAAU;QACV,MAAM;KACP,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,CAAC,GAAI,IAAgC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,8DAA8D;YAC9D,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,kBAAkB,CAAC,CAAS;IAC1C,OAAO,CAAC;SACL,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC;SAC1B,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,yBAAyB,CACvC,IAAmC;IAEnC,MAAM,EACJ,MAAM,EACN,UAAU,EACV,SAAS,EACT,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,KAAK,GACjB,GAAG,IAAI,CAAC;IAET,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,WAAW,MAAM,oBAAoB,CAAC,CAAC;IAEjE,gBAAgB;IAChB,MAAM,WAAW,GAAG,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAqC;QACtD,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;KAChB,CAAC;IACF,MAAM,SAAS,GAAqC,EAAE,CAAC;IACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC;QACxB,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;YACjD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;gBAAE,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YAC3D,SAAS,CAAC,CAAC,CAAC,UAAU,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACnC,aAAa,CAAC,UAAU,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,WAAW,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,IAAI,aAAa,CAAC,UAAU,CAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,cAAc,aAAa,cAAc,CAAC,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,aAAa,CAAC,UAAU,CAAE,EAAE,CAAC;YAC3C,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC;YACpC,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,iEAAiE;YACjE,mEAAmE;YACnE,6DAA6D;YAC7D,+DAA+D;YAC/D,kEAAkE;YAClE,4DAA4D;YAC5D,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;QAClE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,QAAQ,aAAa,EAAE,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,yEAAyE;QACzE,2DAA2D;IAC7D,CAAC;IAED,0EAA0E;IAC1E,6BAA6B;IAC7B,MAAM,SAAS,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1E,IAAI,IAAI,GAAkB,IAAI,CAAC;IAC/B,IAAI,aAAa,CAAC,UAAU,CAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,IAAI,GAAG,aAAa,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,UAAU,CAAC;IACpB,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QACnC,wDAAwD;QACxD,8DAA8D;QAC9D,iEAAiE;QACjE,mEAAmE;QACnE,yDAAyD;QACzD,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,4BAA4B,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAClC,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC;gBACpC,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,QAAQ,GAAG,EAAE,CAAC,CAAC;QACnC,IAAI,GAAG,GAAG,CAAC;IACb,CAAC;IAED,sBAAsB;IACtB,IAAI,aAAa,CAAC,WAAW,CAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,cAAc,cAAc,eAAe,CAAC,CAAC;QACxD,KAAK,MAAM,CAAC,IAAI,aAAa,CAAC,WAAW,CAAE,EAAE,CAAC;YAC5C,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC;YACpC,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;QAClE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,QAAQ,cAAc,EAAE,CAAC,CAAC;QAC9C,IAAI,GAAG,cAAc,CAAC;IACxB,CAAC;IAED,YAAY;IACZ,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,KAAK,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACzE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,QAAQ,QAAQ,EAAE,CAAC,CAAC;IAExC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,kDAAkD;AAClD,SAAS,aAAa,CAAC,CAAiB;IACtC,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACrC,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC3D,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC9C,OAAO,GAAG,IAAI,eAAe,MAAM,MAAM,CAAC,CAAC,UAAU,YAAY,CAAC;AACpE,CAAC;AAED,6CAA6C;AAC7C,SAAS,cAAc,CAAC,KAAe,EAAE,CAAiB,EAAE,EAAU;IACpE,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"task-operations-html.d.ts","sourceRoot":"","sources":["../src/task-operations-html.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,kDAAkD;AAClD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,sBAAsB,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iEAAiE;AACjE,wBAAgB,WAAW,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,GAAG,MAAM,CAezE;AAED,iDAAiD;AACjD,wBAAgB,WAAW,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,GAAG,MAAM,CAqBzE;AAED,kEAAkE;AAClE,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAKxC;AA6ED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAqC3E"}
1
+ {"version":3,"file":"task-operations-html.d.ts","sourceRoot":"","sources":["../src/task-operations-html.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,kDAAkD;AAClD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,sBAAsB,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iEAAiE;AACjE,wBAAgB,WAAW,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,GAAG,MAAM,CAezE;AAED,iDAAiD;AACjD,wBAAgB,WAAW,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,GAAG,MAAM,CAqBzE;AAED,kEAAkE;AAClE,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAKxC;AAoGD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAqC3E"}
@@ -79,13 +79,41 @@ function dedupeById(ops) {
79
79
  }
80
80
  return out;
81
81
  }
82
- /** Render a single node. */
82
+ /** Render a single node.
83
+ *
84
+ * v0.8.0+ always renders the description + process description blocks
85
+ * inline (no longer collapsed inside a `<details>`). This is the user
86
+ * contract: `description` is the "what happened" and `processDescription`
87
+ * is the "how we got there" — both should be visible at a glance. The
88
+ * legacy `<details>` fallback is kept as a safety net for very long
89
+ * descriptions (> 600 chars) so the panel does not explode vertically.
90
+ */
83
91
  function renderNode(op) {
84
92
  const label = statusLabel(op.milestoneType);
85
93
  const klass = statusClass(op.milestoneType);
86
94
  const ts = fmtTs(op.timestamp);
87
95
  const title = op.title || label;
88
- const hasDesc = !!(op.description || op.processDescription);
96
+ // Per-field rendering. Empty string still gets a placeholder so the
97
+ // visual rhythm of the panel stays consistent (every op has the same
98
+ // two-block layout: status desc + process desc).
99
+ const descHtml = op.description
100
+ ? `<div class="op-desc">${esc(op.description)}</div>`
101
+ : `<div class="op-desc op-desc-empty">(无状态描述)</div>`;
102
+ const procHtml = op.processDescription
103
+ ? `<div class="op-proc-body">${esc(op.processDescription)}</div>`
104
+ : `<div class="op-proc-body op-proc-empty">(未填写)</div>`;
105
+ // Long description fallback: wrap the always-visible blocks in a
106
+ // <details> if either field is huge, so the page stays compact.
107
+ const long = (op.description?.length ?? 0) + (op.processDescription?.length ?? 0) > 600;
108
+ const blocks = `
109
+ <div class="op-desc-block">
110
+ <div class="op-block-label">📋 状态描述</div>
111
+ ${descHtml}
112
+ </div>
113
+ <div class="op-proc-block">
114
+ <div class="op-proc-label">⚙️ 过程描述</div>
115
+ ${procHtml}
116
+ </div>`;
89
117
  return `
90
118
  <li class="op-node ${klass}" data-op-id="${op.id}" data-sequence="${op.sequence}">
91
119
  <div class="op-bullet" aria-hidden="true"></div>
@@ -96,12 +124,7 @@ function renderNode(op) {
96
124
  <span class="op-title">${esc(title)}</span>
97
125
  <span class="op-time" title="${esc(op.timestamp)}">${esc(ts)}</span>
98
126
  </div>
99
- ${hasDesc
100
- ? `<details class="op-details"><summary>Details</summary>
101
- <div class="op-desc">${esc(op.description)}</div>
102
- ${op.processDescription ? `<div class="op-proc"><span class="op-proc-label">process</span> ${esc(op.processDescription)}</div>` : ""}
103
- </details>`
104
- : ""}
127
+ ${long ? `<details class="op-details"><summary>Details (long)</summary>${blocks}</details>` : blocks}
105
128
  </div>
106
129
  </li>`;
107
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"task-operations-html.js","sourceRoot":"","sources":["../src/task-operations-html.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-operations-html.js","sourceRoot":"","sources":["../src/task-operations-html.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @fileoverview TTL cache for parsed `roy-agent tasks tree` envelopes.
3
+ *
4
+ * Mirrors `operations-cache.ts`:
5
+ * 1. Don't spawn the host CLI on every page request.
6
+ * 2. Coalesce concurrent requests for the same filter combination.
7
+ * 3. Return past-TTL data while a background refresh runs (for live
8
+ * UIs that want to display something fast).
9
+ *
10
+ * Cache keys are derived from the `TasksTreeFilter` object via a stable
11
+ * JSON.stringify so functionally-equal filters (e.g. `{ status: undefined,
12
+ * priority: "high" }` vs `{ priority: "high" }`) hit the same entry.
13
+ */
14
+ import type { TasksTreeEnvelope, TasksTreeFilter, TasksTreeSource } from "./cli-tasks-tree-adapter.js";
15
+ type SourceFn = (filter: TasksTreeFilter) => Promise<TasksTreeEnvelope>;
16
+ export interface TasksTreeCacheOptions {
17
+ source: SourceFn | TasksTreeSource;
18
+ /** Time-to-live in milliseconds. Default 5000. */
19
+ ttlMs?: number;
20
+ /** Optional: clock for tests. */
21
+ now?: () => number;
22
+ }
23
+ export declare class TasksTreeCache {
24
+ private readonly entries;
25
+ private readonly ttlMs;
26
+ private readonly source;
27
+ private readonly now;
28
+ constructor(opts: TasksTreeCacheOptions);
29
+ /**
30
+ * Fetch (or read from cache). Concurrent calls for the same filter
31
+ * coalesce. `allowStale: true` returns the cached value past TTL but
32
+ * triggers a background refresh.
33
+ */
34
+ get(filter: TasksTreeFilter, opts?: {
35
+ allowStale?: boolean;
36
+ }): Promise<TasksTreeEnvelope>;
37
+ /** Drop every entry. */
38
+ clear(): void;
39
+ /** Number of cached entries (test introspection). */
40
+ size(): number;
41
+ private refresh;
42
+ }
43
+ export {};
44
+ //# sourceMappingURL=tasks-tree-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks-tree-cache.d.ts","sourceRoot":"","sources":["../src/tasks-tree-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EAChB,MAAM,6BAA6B,CAAC;AAErC,KAAK,QAAQ,GAAG,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAQxE,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,QAAQ,GAAG,eAAe,CAAC;IACnC,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;gBAEvB,IAAI,EAAE,qBAAqB;IAavC;;;;OAIG;IACG,GAAG,CACP,MAAM,EAAE,eAAe,EACvB,IAAI,GAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAO,GAClC,OAAO,CAAC,iBAAiB,CAAC;IAyC7B,wBAAwB;IACxB,KAAK,IAAI,IAAI;IAIb,qDAAqD;IACrD,IAAI,IAAI,MAAM;YAIA,OAAO;CActB"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * @fileoverview TTL cache for parsed `roy-agent tasks tree` envelopes.
3
+ *
4
+ * Mirrors `operations-cache.ts`:
5
+ * 1. Don't spawn the host CLI on every page request.
6
+ * 2. Coalesce concurrent requests for the same filter combination.
7
+ * 3. Return past-TTL data while a background refresh runs (for live
8
+ * UIs that want to display something fast).
9
+ *
10
+ * Cache keys are derived from the `TasksTreeFilter` object via a stable
11
+ * JSON.stringify so functionally-equal filters (e.g. `{ status: undefined,
12
+ * priority: "high" }` vs `{ priority: "high" }`) hit the same entry.
13
+ */
14
+ export class TasksTreeCache {
15
+ entries = new Map();
16
+ ttlMs;
17
+ source;
18
+ now;
19
+ constructor(opts) {
20
+ this.ttlMs = opts.ttlMs ?? 5000;
21
+ this.now = opts.now ?? (() => Date.now());
22
+ const src = opts.source;
23
+ if (typeof src === "function") {
24
+ this.source = src;
25
+ }
26
+ else if (src && typeof src.getTasksTree === "function") {
27
+ this.source = (f) => src.getTasksTree(f);
28
+ }
29
+ else {
30
+ throw new TypeError("TasksTreeCache: source must be a function or { getTasksTree }");
31
+ }
32
+ }
33
+ /**
34
+ * Fetch (or read from cache). Concurrent calls for the same filter
35
+ * coalesce. `allowStale: true` returns the cached value past TTL but
36
+ * triggers a background refresh.
37
+ */
38
+ async get(filter, opts = {}) {
39
+ const key = cacheKey(filter);
40
+ const existing = this.entries.get(key);
41
+ const now = this.now();
42
+ if (existing && existing.fetchedAtMs > 0 && now - existing.fetchedAtMs < this.ttlMs) {
43
+ existing.envelope.stale = false;
44
+ return existing.envelope;
45
+ }
46
+ if (existing && existing.fetchedAtMs > 0 && opts.allowStale) {
47
+ existing.envelope.stale = true;
48
+ if (!existing.inflight) {
49
+ existing.inflight = this.refresh(filter).finally(() => {
50
+ existing.inflight = undefined;
51
+ });
52
+ existing.inflight.catch(() => { });
53
+ }
54
+ return existing.envelope;
55
+ }
56
+ if (existing?.inflight) {
57
+ return existing.inflight;
58
+ }
59
+ const entry = existing ?? {
60
+ envelope: {
61
+ total: 0,
62
+ rootCount: 0,
63
+ tree: [],
64
+ fetchedAt: new Date(now).toISOString(),
65
+ stale: false,
66
+ },
67
+ fetchedAtMs: 0,
68
+ };
69
+ entry.inflight = this.refresh(filter).finally(() => {
70
+ entry.inflight = undefined;
71
+ });
72
+ this.entries.set(key, entry);
73
+ return entry.inflight;
74
+ }
75
+ /** Drop every entry. */
76
+ clear() {
77
+ this.entries.clear();
78
+ }
79
+ /** Number of cached entries (test introspection). */
80
+ size() {
81
+ return this.entries.size;
82
+ }
83
+ async refresh(filter) {
84
+ const envelope = await this.source(filter);
85
+ const now = this.now();
86
+ const cached = {
87
+ ...envelope,
88
+ fetchedAt: new Date(now).toISOString(),
89
+ stale: false,
90
+ };
91
+ this.entries.set(cacheKey(filter), {
92
+ envelope: cached,
93
+ fetchedAtMs: now,
94
+ });
95
+ return cached;
96
+ }
97
+ }
98
+ /**
99
+ * Stable key for a filter combination. Sorting the keys makes equivalent
100
+ * filters collide on the same entry. `undefined` values are dropped.
101
+ */
102
+ function cacheKey(filter) {
103
+ const keys = Object.keys(filter)
104
+ .filter((k) => filter[k] !== undefined)
105
+ .sort();
106
+ const normalized = {};
107
+ for (const k of keys)
108
+ normalized[k] = filter[k];
109
+ return JSON.stringify(normalized);
110
+ }
111
+ //# sourceMappingURL=tasks-tree-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks-tree-cache.js","sourceRoot":"","sources":["../src/tasks-tree-cache.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-setting/roy-plugin-task-show",
3
- "version": "0.6.12",
3
+ "version": "0.8.4",
4
4
  "description": "roy-agent plugin: visualize task solving process via tool call flow on a local web service",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -39,9 +39,13 @@
39
39
  "dependencies": {},
40
40
  "devDependencies": {
41
41
  "@types/bun": "latest",
42
+ "@types/jsdom": "^28.0.3",
42
43
  "@types/node": "^20.0.0",
44
+ "dompurify": "^3.4.12",
43
45
  "happy-dom": "^20.11.1",
44
- "playwright": "^1.61.1",
46
+ "jsdom": "^29.1.1",
47
+ "mermaid": "10.9.1",
48
+ "playwright": "^1.62.0",
45
49
  "typescript": "^5.4.0"
46
50
  },
47
51
  "peerDependencies": {
package/plugin.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@ai-setting/roy-plugin-task-show",
3
- "version": "0.6.12",
3
+ "version": "0.8.4",
4
4
  "type": "tool-plugin",
5
- "description": "Visualize the tool call chain of a task on a local web service with real-time SSE updates. v0.5.0+: page refreshes stream over GET /api/events (Server-Sent Events). Subscribes to tool:before.execute, tool:after.execute, task:before.create, task:after.create, task:after.complete (preferred, 2026-07-10+), and task:after.update (legacy fallback). v0.6.11: Mermaid re-rendering is delegated to a self-contained controller (public/mermaid-renderer.js) that prevents the SVG→raw-source regression on async updates and surfaces recoverable .mermaid-error states. v0.6.12: Task lifecycle pipeline (operations timeline) server now emits data-task-id on the pipeline section; client preserves it on swap, so the page actually fetches /api/tasks/<id>/operations and renders the 7-op timeline (previously silently bailed).",
5
+ "description": "Visualize the tool call chain of a task on a local web service with real-time SSE updates. v0.5.0+: page refreshes stream over GET /api/events (Server-Sent Events). Subscribes to tool:before.execute, tool:after.execute, task:before.create, task:after.create, task:after.complete (preferred, 2026-07-10+), and task:after.update (legacy fallback). v0.6.11: Mermaid re-rendering is delegated to a self-contained controller (public/mermaid-renderer.js) that prevents the SVG→raw-source regression on async updates and surfaces recoverable .mermaid-error states. v0.6.12: Task lifecycle pipeline (operations timeline) server now emits data-task-id on the pipeline section; client preserves it on swap, so the page actually fetches /api/tasks/<id>/operations and renders the 7-op timeline (previously silently bailed). v0.7.0: Home page redesigned as a hierarchical task tree (driven by `roy-agent tasks tree --json`); new /api/tasks/tree endpoint with status / priority / type / root-id filters, expand/collapse UI, search, and live 30s polling. v0.8.0: per-task page Mermaid area now renders the hierarchical 'Task lifecycle + tools' view — each operation record owns a subgraph that nests its tool calls, with click callbacks (`window.__toolClick`) that scroll-into-view + highlight + auto-expand the matching row in the tool-call table below. Operation record descriptions (`description` + `processDescription`) are now always rendered inline (no `<details>` collapse) so the user sees the lifecycle state at a glance; a fallback `<details>` kicks in only for descriptions longer than 600 chars. v0.8.1: hotfix for two pre-existing bugs in v0.8.0 (browser smoke test surfaced after merge). (a) Mermaid click directives were emitted as `click t1 __toolClick(1)` (missing `call` keyword) — Mermaid 10's parser rejects this with `got 'PS'`. Fixed to `click t1 call __toolClick(1)` (the v10 grammar requires `call` to invoke a callback with arguments). (b) `buildMermaidSource` lived inside the `attachTaskPageTimeline` IIFE but was also called from a listener in the `attachToolClickBridge` IIFE — sibling IIFEs cannot see each other's locals, so the listener threw `ReferenceError: buildMermaidSource is not defined` and the Mermaid diagram silently failed to re-render after `task-show:lifecycle-ops-loaded`. Fixed by hoisting the function (and its three helpers) to script top-level so both IIFEs can see it via the script-wide closure; the function is also exposed on `window.buildMermaidSource` for tests + tooling. v0.8.3: tree-display fix (Task #2426). The home page used to look like a flat list of root tasks because `autoExpandFirstLevels(..., 2)` only opened the first 2 levels — 30/47 roots were leaf nodes and the remaining 17 collapsed to one level so grandchildren were never visible. Default expand depth is now 3 (root + child + grandchild + great-grandchild are visible on first paint), the summary line now shows per-depth count pills (root / child / grandchild / great-grandchild / level-N), each `tree-row` carries a `data-depth` attribute so CSS can paint coloured left rails per level, and the duplicated 'Live tool-call sessions (legacy view)' panel that made the page look like both a flat table AND a tree is now hidden behind `#legacy-sessions[hidden]` (kept for future debug-toggle restoration).",
6
6
  "main": "dist/index.js",
7
7
  "hooks": [
8
8
  {