@ai-dossier/cli 0.20.1 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +129 -18
- package/dist/commands/runstate.d.ts +11 -1
- package/dist/commands/runstate.d.ts.map +1 -1
- package/dist/commands/runstate.js +346 -7
- package/dist/commands/runstate.js.map +1 -1
- package/dist/commands/sched.d.ts.map +1 -1
- package/dist/commands/sched.js +28 -1
- package/dist/commands/sched.js.map +1 -1
- package/dist/runstate.d.ts +114 -1
- package/dist/runstate.d.ts.map +1 -1
- package/dist/runstate.js +210 -8
- package/dist/runstate.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sched.js","sourceRoot":"","sources":["../../src/commands/sched.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sched.js","sourceRoot":"","sources":["../../src/commands/sched.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;AAqRH,gDAGC;AA8aD,oDAaC;AAjtBD,sDAAyB;AAEzB,6CAgC2B;AAE3B,0CAAwC;AACxC,8BAAwD;AACxD,wCAA6C;AAC7C,wDAA8E;AAC9E,oCAAuC;AA4BvC,SAAS,SAAS,CAAC,GAAuB;IACxC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACvD,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAClC,IAAA,cAAI,EAAC,CAAC,yCAAyC,GAAG,GAAG,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,SAAS,CAAC,GAAuB;IACxC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACrD,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACzD,IAAA,cAAI,EAAC,CAAC,kDAAkD,GAAG,GAAG,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,uFAAuF;AACvF,SAAS,SAAS,CAAC,GAAW,EAAE,IAAY;IAC1C,IAAI,CAAC;QACH,OAAO,IAAA,qCAAmB,EAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAA,cAAI,EAAC,CAAC,KAAK,IAAI,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,IAAkB;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAA,0BAAkB,EAAC,mBAAW,CAAC,CAAC;IAChE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3C,OAAO,CAAC,KAAK,CACX,8IAA8I,CAC/I,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,kBAAU,CAAC,IAAA,qBAAa,EAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;AACpE,CAAC;AAED,iFAAiF;AACjF,SAAS,gBAAgB,CAAC,GAAY;IACpC,IACE,GAAG,YAAY,yBAAiB;QAChC,GAAG,YAAY,wBAAgB;QAC/B,GAAG,YAAY,oBAAY;QAC3B,GAAG,YAAY,8BAAsB;QACrC,GAAG,YAAY,0BAAkB,EACjC,CAAC;QACD,IAAA,cAAI,EAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,MAAM,GAAG,CAAC;AACZ,CAAC;AAED,0EAA0E;AAC1E,gFAAgF;AAEhF,SAAS,YAAY,CAAC,MAAoB;IACxC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9F,KAAK,CAAC,IAAI,CACR,cAAc,MAAM,CAAC,OAAO,MAAM,KAAK,YAAY,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,OAAO,CAChG,CAAC;IACF,IAAI,MAAM,CAAC,eAAe,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC;QACnD,wEAAwE;QACxE,uEAAuE;QACvE,sEAAsE;QACtE,uEAAuE;QACvE,+DAA+D;QAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM;YACzB,CAAC,CAAC,sCAAsC;YACxC,CAAC,CAAC,iDAAiD,CAAC;QACtD,KAAK,CAAC,IAAI,CACR,sBAAsB,MAAM,CAAC,eAAe,CAAC,mBAAmB,gDAAgD,MAAM,CAAC,eAAe,CAAC,iBAAiB,KAAK,KAAK,EAAE,CACrK,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1B,KAAK,CAAC,IAAI,CACR,IAAA,mBAAW,EACT,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,EACrE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,KAAK,EAAE;QACb,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,KAAK,IAAI,GAAG;QACd,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG;QAC9D,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG;QACxD,CAAC,CAAC,OAAO,IAAI,GAAG;KACjB,CAAC,CACH,CACF,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe;YACrC,CAAC,CAAC,eAAe,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;YACvD,CAAC,CAAC,gBAAgB,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,qCAAqC,QAAQ,MAAM,CAAC,CAAC;QAChE,KAAK,CAAC,IAAI,CACR,MAAM,CAAC,MAAM;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,YAAY,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;aACzE,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1B,KAAK,CAAC,IAAI,CACR,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QACvB,CAAC,CAAC,6BAA6B;QAC/B,CAAC,CAAC,IAAA,mBAAW,EACT;YACE,MAAM;YACN,QAAQ;YACR,MAAM;YACN,KAAK;YACL,MAAM;YACN,OAAO;YACP,eAAe;YACf,YAAY;YACZ,wEAAwE;YACxE,2EAA2E;YAC3E,2EAA2E;YAC3E,KAAK;YACL,QAAQ;SACT,EACD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACtB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACZ,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,IAAI,IAAI,GAAG;YACb,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG;YACpC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,KAAK,IAAI,GAAG;YACd,CAAC,CAAC,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG;YACpE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;YACpB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG;YAC/B,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG;SACvD,CAAC,CACH,CACN,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,CACR,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QACzB,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,IAAA,mBAAW,EACT,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAChD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACxB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG;YACpE,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG;SAC3E,CAAC,CACH,CACN,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,CACR,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QACvB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACjF,CAAC,CAAC,QAAQ,CACb,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CACR,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QACtB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9E,CAAC,CAAC,QAAQ,CACb,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAChF,SAAS,YAAY,CAAC,GAAW,EAAE,MAAc,IAAI,CAAC,GAAG,EAAE;IACzD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IACnC,OAAO,IAAA,oBAAS,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,+CAA+C;AAE/C;;;;;;;;;;;;;;;;;;;;GAoBG;AACU,QAAA,iBAAiB,GAAG;IAC/B,kBAAkB;IAClB,qBAAqB;IACrB,MAAM;IACN,YAAY;CACJ,CAAC;AAEX,iFAAiF;AACjF,SAAgB,kBAAkB,CAAC,MAAyB;IAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9D,OAAO,yBAAiB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC;AAC/E,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,qBAAqB,CAAC,MAAsB,EAAE,IAAa;IAClE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC/C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvC,OAAO,CAAC,KAAK,CACX,WAAW,KAAK,CAAC,KAAK,sEAAsE,KAAK,CAAC,KAAK,YAAY,CACpH,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,IAAA,mBAAc,EAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;gBACzD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CACX,KAAK,MAAM,CAAC,KAAK,kBAAkB,KAAK,CAAC,KAAK,uCAAuC,CACtF,CAAC;oBACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACzB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QAC3C,IAAI,GAAG;YAAE,KAAK,CAAC,aAAa,GAAG,GAAG,CAAC;IACrC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,4FAA4F;AAC5F,SAAS,kBAAkB,CAAC,KAAiB,EAAE,OAAuB,EAAE,MAAgB;IACtF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACxD,MAAM,OAAO,GAAG,IAAI,eAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,MAAM,CACZ,IAAA,iBAAS,EAAC,eAAe,EAAE,SAAS,KAAK,CAAC,KAAK,EAAE,EAAE;YACjD,MAAM,EAAE,IAAA,wBAAgB,EAAC,KAAK,CAAC,aAAuB,CAAC;SACxD,CAAC,CACH,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,MAAM,CACZ,IAAA,iBAAS,EAAC,oBAAoB,EAAE,SAAS,KAAK,EAAE,EAAE;YAChD,MAAM,EAAE,wCAAwC;SACjD,CAAC,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,6DAA6D;AAC7D,SAAS,aAAa,CACpB,IAAoB,EACpB,OAAe,EACf,MAAsB,EACtB,OAAuB,EACvB,MAAgB,EAChB,UAAkB;IAElB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC;YACb,OAAO;YACP,QAAQ,EAAE,MAAM,CAAC,MAAM;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;YACtC,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACxC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,KAAK,EAAE,KAAK,CAAC,aAAa;aAC3B,CAAC,CAAC;YACH,kBAAkB,EAAE,MAAM;YAC1B,WAAW,EAAE,UAAU;SACxB,CAAC,CACH,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GACX,OAAO,CAAC,MAAM,GAAG,CAAC;QAChB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,YAAY,OAAO,CAAC,MAAM,mBAAmB;QAChF,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,SAAS,CAAC;IAChC,OAAO,CAAC,GAAG,CACT,cAAc,MAAM,CAAC,MAAM,iBAAiB,OAAO,KAAK,OAAO,kBAAkB,UAAU,GAAG,CAC/F,CAAC;AACJ,CAAC;AAED,sBAAsB;AAEtB,SAAS,yBAAyB,CAAC,GAAY;IAC7C,GAAG;SACA,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,iFAAiF,CAAC;SAC9F,MAAM,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;SAC1F,MAAM,CAAC,eAAe,EAAE,4CAA4C,EAAE,MAAM,CAAC;SAC7E,MAAM,CAAC,cAAc,EAAE,mCAAmC,CAAC;SAC3D,MAAM,CAAC,kBAAkB,EAAE,2DAA2D,CAAC;SACvF,MAAM,CAAC,eAAe,EAAE,iDAAiD,EAAE,KAAK,CAAC;SACjF,MAAM,CAAC,wBAAwB,EAAE,0CAA0C,CAAC;SAC5E,MAAM,CAAC,kBAAkB,EAAE,6DAA6D,CAAC;SACzF,MAAM,CACL,qBAAqB,EACrB,wIAAwI,CACzI;SACA,MAAM,CAAC,QAAQ,EAAE,2BAA2B,CAAC;SAC7C,MAAM,CAAC,CAAC,IAAoB,EAAE,EAAE;QAC/B,IAAA,oBAAe,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAE9C,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,IAAI,eAAe,GAAkB,IAAI,CAAC;QAC1C,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,GAAW,CAAC;YAChB,IAAI,CAAC;gBACH,GAAG,GAAG,iBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAA,cAAI,EAAC,CAAC,wBAAwB,IAAI,CAAC,YAAY,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACjF,CAAC;YACD,IAAI,MAAe,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAA,cAAI,EAAC,CAAC,+BAAgC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAClE,CAAC;YACD,IACE,MAAM;gBACN,OAAO,MAAM,KAAK,QAAQ;gBAC1B,OAAQ,MAAgC,CAAC,OAAO,KAAK,QAAQ,EAC7D,CAAC;gBACD,eAAe,GAAI,MAA8B,CAAC,OAAO,CAAC;YAC5D,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,qBAAa,EAAC,MAAM,CAAC,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAA,cAAI,EAAC,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,IAAI,eAAe,KAAK,IAAI,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;YAC5D,OAAO,CAAC,KAAK,CACX,wCAAwC,eAAe,0BAA0B,OAAO,GAAG,CAC5F,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACrD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,IAAA,cAAI,EAAC,CAAC,uDAAuD,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,qCAAmB,EAAE,CAAC;YACxC,IAAA,cAAI,EAAC;gBACH,kBAAkB,MAAM,CAAC,MAAM,mEAAmE,qCAAmB,0DAA0D,qCAAmB,GAAG;aACtM,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAExD,IAAI,UAAkB,CAAC;QACvB,IAAI,CAAC;YACH,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE;gBACpC,MAAM,IAAI,GAAG,IAAA,sBAAc,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC3C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACtD,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC9D,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3C,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAY;IAC5C,GAAG;SACA,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,2DAA2D,CAAC;SACxE,MAAM,CAAC,kBAAkB,EAAE,6DAA6D,CAAC;SACzF,MAAM,CAAC,QAAQ,EAAE,2BAA2B,CAAC;SAC7C,MAAM,CAAC,CAAC,IAAkB,EAAE,EAAE;QAC7B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,yBAAiB,EAAC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;YAC5E,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,6BAA6B,CAAC,GAAY,EAAE,KAAc;IACjE,GAAG;SACA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;SACnC,WAAW,CACV,KAAK;QACH,CAAC,CAAC,4DAA4D;QAC9D,CAAC,CAAC,oCAAoC,CACzC;SACA,MAAM,CAAC,kBAAkB,EAAE,6DAA6D,CAAC;SACzF,MAAM,CAAC,QAAQ,EAAE,2BAA2B,CAAC;SAC7C,MAAM,CAAC,CAAC,IAAkB,EAAE,EAAE;QAC7B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACxC,KAAK,EAAE,IAAA,iBAAS,EAAC,KAAK,EAAE,KAAK,CAAC;gBAC9B,MAAM,EAAE,KAAK;aACd,CAAC,CAAC,CAAC;YACJ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAY;IAC7C,GAAG;SACA,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,iFAAiF,CAAC;SAC9F,MAAM,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;SACrD,MAAM,CAAC,cAAc,EAAE,sBAAsB,CAAC;SAC9C,MAAM,CAAC,iBAAiB,EAAE,8BAA8B,CAAC;SACzD,MAAM,CAAC,kBAAkB,EAAE,6DAA6D,CAAC;SACzF,MAAM,CAAC,QAAQ,EAAE,2BAA2B,CAAC;SAC7C,MAAM,CAAC,CAAC,IAAoB,EAAE,EAAE;QAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,IAAA,cAAI,EAAC,CAAC,sDAAsD,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC;QAC1C,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE;oBACtC,MAAM,CAAC,GAAG,IAAA,oBAAY,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;oBAC7C,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;gBACrD,CAAC,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;gBACvF,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,cAAc,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE;oBACxC,MAAM,CAAC,GAAG,IAAA,oBAAY,EAAC,KAAK,EAAE,IAAI,CAAC,KAAe,EAAE,MAAM,CAAC,CAAC;oBAC5D,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAChD,CAAC,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC9E,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CACT,qBAAqB,IAAI,CAAC,KAAK,cAAc,QAAQ,CAAC,MAAM,0BAA0B,CACvF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAY;IAC3C,GAAG;SACA,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CACV,gMAAgM,CACjM;SACA,MAAM,CACL,sBAAsB,EACtB,iDAAiD,EACjD,MAAM,CAAC,QAAQ,CAChB;SACA,MAAM,CAAC,QAAQ,EAAE,0DAA0D,CAAC;SAC5E,MAAM,CAAC,kBAAkB,EAAE,6DAA6D,CAAC;SACzF,MAAM,CAAC,QAAQ,EAAE,6BAA6B,CAAC;SAC/C,MAAM,CAAC,KAAK,EAAE,IAAkB,EAAE,EAAE;QACnC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,MAAmB,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QAED,6DAA6D;QAC7D,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAC3D,IAAA,cAAI,EAAC,CAAC,iDAAiD,CAAC,CAAC,CAAC;YAC5D,CAAC;YACD,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC;QACtE,CAAC;QAED,qEAAqE;QACrE,qEAAqE;QACrE,uDAAuD;QACvD,MAAM,eAAe,GACnB,MAAM,CAAC,QAAQ,EAAE,OAAO;YACxB,CAAC,IAAA,mBAAS,EAAC,MAAM,EAAE,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,iCAAyB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACxF,MAAM,YAAY,GAAG,eAAe;YAClC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE;YAC3E,CAAC,CAAC,MAAM,CAAC;QAEX,MAAM,IAAI,GAAe;YACvB,KAAK;YACL,OAAO,EAAE,IAAI,eAAO,CAAC,KAAK,CAAC,GAAG,CAAC;YAC/B,WAAW,EAAE,IAAA,6BAAqB,EAAC,SAAS,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;YACzE,SAAS,EAAE,IAAA,uBAAe,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACzC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;YACrB,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;YACtB,YAAY,EAAE,IAAA,oBAAY,EAAC,2BAAmB,EAAE;gBAC9C,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sBAAsB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,OAAO,IAAI,CACzE;aACJ,CAAC;YACF,2EAA2E;YAC3E,yEAAyE;YACzE,gFAAgF;YAChF,yEAAyE;YACzE,MAAM,EAAE,IAAA,2BAAmB,EACzB,IAAA,oBAAY,EAAC,wBAAgB,EAAE;gBAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,mBAAmB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,OAAO,IAAI,CACtE;aACJ,CAAC,EACF,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAC3B;SACF,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,MAAkB,EAAU,EAAE;YAC9C,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClF,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/E,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClE,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9E,IAAI,MAAM,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC;gBACvC,KAAK,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9E,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChE,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpE,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxE,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,aAAa,oCAAoC,CAAC,CAAC;YAC1E,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3E,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxF,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/D,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/E,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;QAChE,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,MAAkB,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,GAAG,IAAA,YAAI,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,kEAAkE;gBAClE,oEAAoE;gBACpE,kBAAkB;gBAClB,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACtB,IAAA,cAAI,EAAC,CAAC,sBAAuB,GAAa,CAAC,IAAI,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACjF,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,MAAM,OAAO,WAAW,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,YAAY,CAAC,qBAAqB,IAAI,qCAA6B,CAAC,GAAG,IAAI,CAAC;QAC9F,OAAO,CAAC,GAAG,CACT,kCAAkC,OAAO,gBAAgB,QAAQ,oBAAoB,CACtF,CAAC;QACF,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,IAAI,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,QAAQ,GAAG,IAAI,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,MAAM,IAAA,eAAO,EACX,IAAI,EACJ,YAAY,EACZ,GAAG,EAAE,CAAC,QAAQ,EACd,CAAC,MAAM,EAAE,EAAE;YACT,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;;gBAC9E,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;QAChF,CAAC,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAgB;IACnD,MAAM,QAAQ,GAAG,OAAO;SACrB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CACV,8FAA8F,CAC/F,CAAC;IAEJ,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACpC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACnC,6BAA6B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9C,6BAA6B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/C,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACpC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC"}
|
package/dist/runstate.d.ts
CHANGED
|
@@ -36,8 +36,18 @@ export type KnownPhase = Phase | ClassifyPhase | BatchPhase;
|
|
|
36
36
|
export declare const ALL_PHASES: readonly KnownPhase[];
|
|
37
37
|
/** The one mode value that marks a slot-cycle trail; shared by the grammar and resume. */
|
|
38
38
|
export declare const SLOT_MODE = "slot";
|
|
39
|
+
/**
|
|
40
|
+
* The fence status (#504) — the takeover record the stall-recovery ladder writes BEFORE
|
|
41
|
+
* the replacement agent starts.
|
|
42
|
+
*
|
|
43
|
+
* A `superseded` milestone says "generation N now owns this run"; every earlier
|
|
44
|
+
* generation is fenced out of the trail. It is universally valid — a takeover can happen
|
|
45
|
+
* at any phase — so it is deliberately absent from every {@link PhaseSpec.statuses} and
|
|
46
|
+
* allowed by {@link statusAllowed} instead of being listed thirteen times.
|
|
47
|
+
*/
|
|
48
|
+
export declare const FENCE_STATUS: "superseded";
|
|
39
49
|
/** Milestone statuses. */
|
|
40
|
-
export declare const STATUSES: readonly ["done", "partial", "blocked", "awaiting-merge"];
|
|
50
|
+
export declare const STATUSES: readonly ["done", "partial", "blocked", "awaiting-merge", "superseded"];
|
|
41
51
|
export type Status = (typeof STATUSES)[number];
|
|
42
52
|
/**
|
|
43
53
|
* Keys whose values are paths and must therefore be absolute — the dossier rule is
|
|
@@ -59,6 +69,15 @@ export interface PhaseSpec {
|
|
|
59
69
|
}
|
|
60
70
|
/** Keys required whenever a phase reports `status=blocked`. */
|
|
61
71
|
export declare const BLOCKED_REQUIRED: readonly ["reason"];
|
|
72
|
+
/**
|
|
73
|
+
* Keys required on a {@link FENCE_STATUS} milestone, for every phase.
|
|
74
|
+
*
|
|
75
|
+
* `gen` is what actually fences — the escalation ladder deliberately REUSES the run id
|
|
76
|
+
* across a redispatch (gate-issue Step 1.5 reads the trail's `run=` back), so a run id
|
|
77
|
+
* alone cannot tell the takeover apart from the run it replaced. `takeover` names who
|
|
78
|
+
* took over, so a fenced agent's abort message can say what superseded it.
|
|
79
|
+
*/
|
|
80
|
+
export declare const FENCE_REQUIRED: readonly ["gen", "takeover"];
|
|
62
81
|
/**
|
|
63
82
|
* Caps that keep a milestone postable. GitHub rejects an issue comment over 65536
|
|
64
83
|
* characters with an opaque 422, and `execFileSync` hits E2BIG well before that on some
|
|
@@ -112,6 +131,25 @@ interface KeyValueRule {
|
|
|
112
131
|
test: (value: string) => boolean;
|
|
113
132
|
expects: string;
|
|
114
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* `takeover`: a label naming what took the run over (#504) — a run id, a slot id, an
|
|
136
|
+
* agent name. Loose on purpose (the ladder has no single naming scheme) but still a
|
|
137
|
+
* single flag-safe token, since it is read back out of a comment and shown to an agent.
|
|
138
|
+
*/
|
|
139
|
+
export declare const TAKEOVER_RE: RegExp;
|
|
140
|
+
/**
|
|
141
|
+
* A `takeover=` label read OFF the trail, made safe to display.
|
|
142
|
+
*
|
|
143
|
+
* `TAKEOVER_RE` is enforced when a milestone is WRITTEN, but a milestone is an issue
|
|
144
|
+
* comment: anyone who can comment can author one, and the tolerant reader
|
|
145
|
+
* ({@link parseMilestone}) does not split non-header lines on whitespace, so a
|
|
146
|
+
* hand-posted `takeover=` can carry spaces, ANSI escapes, and anything else short of a
|
|
147
|
+
* newline. That string is printed into output an LLM agent with commit rights is
|
|
148
|
+
* instructed to read and act on, and into an operator's terminal. So a label that does
|
|
149
|
+
* not match the write-path grammar is DROPPED rather than quoted — the same discipline
|
|
150
|
+
* as `gh.ts`'s `snippet`/`isSafeArg` and `dispatch.ts`'s prompt flattening.
|
|
151
|
+
*/
|
|
152
|
+
export declare function safeLabel(raw: string | undefined): string;
|
|
115
153
|
export declare const KEY_VALUE_RULES: Record<string, KeyValueRule>;
|
|
116
154
|
/**
|
|
117
155
|
* The phase that follows `phase`, for the milestone's `next=` line.
|
|
@@ -129,6 +167,17 @@ export declare const KEY_VALUE_RULES: Record<string, KeyValueRule>;
|
|
|
129
167
|
* batch-ship → batch-report → done.
|
|
130
168
|
*/
|
|
131
169
|
export declare function defaultNext(phase: KnownPhase, status: Status): KnownPhase | 'done';
|
|
170
|
+
/**
|
|
171
|
+
* Every status `phase` may report, including the universally-valid fence status (#504).
|
|
172
|
+
*
|
|
173
|
+
* One definition, so the predicate below and the error message in
|
|
174
|
+
* {@link validateMilestone} can never disagree about the rule — a diagnostic that lists
|
|
175
|
+
* a status the validator rejects (or omits one it accepts) is the hardest kind of bug to
|
|
176
|
+
* notice, because the code is right and only the explanation is wrong.
|
|
177
|
+
*/
|
|
178
|
+
export declare function allowedStatuses(phase: KnownPhase): readonly Status[];
|
|
179
|
+
/** Whether `phase` may report `status` — the fence status is valid on every phase (#504). */
|
|
180
|
+
export declare function statusAllowed(phase: KnownPhase, status: Status): boolean;
|
|
132
181
|
/** The keys `phase` must carry when reporting `status`. */
|
|
133
182
|
export declare function requiredKeys(phase: KnownPhase, status: Status): readonly string[];
|
|
134
183
|
export interface MilestoneInput {
|
|
@@ -183,6 +232,64 @@ export declare function parseMilestone(body: string): ParsedMilestone | null;
|
|
|
183
232
|
export declare function parseMilestones(bodies: string[]): ParsedMilestone[];
|
|
184
233
|
/** Mint a fresh run id: `r-<issue>-<4 hex>`. */
|
|
185
234
|
export declare function mintRunId(issue: number | string): string;
|
|
235
|
+
/**
|
|
236
|
+
* The generation of a run that has never been fenced, and the generation a caller that
|
|
237
|
+
* knows nothing about fencing implicitly posts at.
|
|
238
|
+
*
|
|
239
|
+
* Zero is deliberately the default rather than an error: an agent running an older
|
|
240
|
+
* dossier — or the zombie this whole mechanism exists to stop — passes no generation at
|
|
241
|
+
* all, so it lands at 0 and is fenced out the moment generation 1 exists. Nothing has to
|
|
242
|
+
* be upgraded for the fence to take effect on the runs that matter.
|
|
243
|
+
*/
|
|
244
|
+
export declare const DEFAULT_GENERATION = 0;
|
|
245
|
+
/**
|
|
246
|
+
* Ceiling on a run generation.
|
|
247
|
+
*
|
|
248
|
+
* The ladder caps recoveries at two per run, so a real generation is a single digit;
|
|
249
|
+
* anything near this ceiling is forged or corrupt. The cap exists because generations
|
|
250
|
+
* are arithmetic on network data: without it a fence claiming `gen=9007199254740991`
|
|
251
|
+
* makes the NEXT generation unrepresentable, and every downstream parse of it fails —
|
|
252
|
+
* which would disable fencing on that issue permanently.
|
|
253
|
+
*/
|
|
254
|
+
export declare const MAX_GENERATION = 1000;
|
|
255
|
+
/**
|
|
256
|
+
* The `gen=` of a milestone, or null when it does not carry a usable one.
|
|
257
|
+
*
|
|
258
|
+
* Null rather than {@link DEFAULT_GENERATION}: a milestone whose `gen=` is missing,
|
|
259
|
+
* unparseable, or past {@link MAX_GENERATION} is MALFORMED, and reading a malformed
|
|
260
|
+
* fence as "generation 0" would silently downgrade it to "never fenced" — the one answer
|
|
261
|
+
* that must never be inferred from bad data.
|
|
262
|
+
*/
|
|
263
|
+
export declare function generationOf(milestone: ParsedMilestone): number | null;
|
|
264
|
+
/** Read a generation off a flag or a comment value; null when it is not one. */
|
|
265
|
+
export declare function parseGeneration(raw: string): number | null;
|
|
266
|
+
/**
|
|
267
|
+
* The highest-generation fence on `run`'s trail, or null when the run was never fenced.
|
|
268
|
+
*
|
|
269
|
+
* Scanned by highest generation rather than by position because milestones are only
|
|
270
|
+
* append-ordered, not generation-ordered: a zombie can post AFTER the fence that
|
|
271
|
+
* superseded it, and taking the last fence by position would then read back the older
|
|
272
|
+
* one and un-fence the trail.
|
|
273
|
+
*/
|
|
274
|
+
export declare function latestFence(milestones: readonly ParsedMilestone[], run: string): ParsedMilestone | null;
|
|
275
|
+
/** The generation that currently owns `run` — 0 when it was never fenced. */
|
|
276
|
+
export declare function fenceGeneration(milestones: readonly ParsedMilestone[], run: string): number;
|
|
277
|
+
/**
|
|
278
|
+
* Whether a run at `gen` has been superseded: some fence installed a HIGHER generation.
|
|
279
|
+
*
|
|
280
|
+
* Equal generations are live — the takeover posts at exactly the generation its own
|
|
281
|
+
* fence installed, so `>` (not `>=`) is what lets the replacement work while every
|
|
282
|
+
* earlier generation is locked out.
|
|
283
|
+
*/
|
|
284
|
+
export declare function isFenced(milestones: readonly ParsedMilestone[], run: string, gen: number): boolean;
|
|
285
|
+
/**
|
|
286
|
+
* The generation the next fence on `run` should install, or null at {@link MAX_GENERATION}.
|
|
287
|
+
*
|
|
288
|
+
* Null rather than an unbounded increment: emitting a generation nobody can parse back
|
|
289
|
+
* would break the fence for every later reader, so refusing to fence — loudly — is the
|
|
290
|
+
* safer end of that trade.
|
|
291
|
+
*/
|
|
292
|
+
export declare function nextFenceGeneration(milestones: readonly ParsedMilestone[], run: string): number | null;
|
|
186
293
|
/**
|
|
187
294
|
* The world-facing checks the resume table needs. Injected so {@link computeResume}
|
|
188
295
|
* stays pure and testable — the command layer supplies the `git`/`gh`/`fs` versions.
|
|
@@ -242,6 +349,12 @@ export interface ResumeResult {
|
|
|
242
349
|
slot_trail?: boolean;
|
|
243
350
|
/** Human-readable note, e.g. "already complete". */
|
|
244
351
|
note?: string;
|
|
352
|
+
/**
|
|
353
|
+
* The generation that owns this run (#504) — 0 for a run that was never fenced. A
|
|
354
|
+
* resuming agent passes it to `runstate post --gen`; posting below it is rejected,
|
|
355
|
+
* which is what stops a superseded run from extending the trail.
|
|
356
|
+
*/
|
|
357
|
+
generation: number;
|
|
245
358
|
/**
|
|
246
359
|
* Whether the `worktree=` path carried in `resume_context` exists on this machine —
|
|
247
360
|
* `n/a` when no milestone recorded one. Bonus signal only: it never changes
|
package/dist/runstate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runstate.d.ts","sourceRoot":"","sources":["../src/runstate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,qFAAqF;AACrF,eAAO,MAAM,eAAe,yBAAyB,CAAC;AAEtD,2CAA2C;AAC3C,eAAO,MAAM,MAAM,6EAA8E,CAAC;AAClG,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,MAAM,MAAM,aAAa,GAAG,OAAO,cAAc,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,YAAY,0FAMf,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,6FAA6F;AAC7F,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,aAAa,GAAG,UAAU,CAAC;AAE5D,uFAAuF;AACvF,eAAO,MAAM,UAAU,EAAE,SAAS,UAAU,EAAiD,CAAC;AAE9F,0FAA0F;AAC1F,eAAO,MAAM,SAAS,SAAS,CAAC;AAEhC,0BAA0B;AAC1B,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"runstate.d.ts","sourceRoot":"","sources":["../src/runstate.ts"],"names":[],"mappings":"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"}
|
package/dist/runstate.js
CHANGED
|
@@ -12,13 +12,16 @@
|
|
|
12
12
|
* be unit tested without touching `gh`, the network, or the filesystem.
|
|
13
13
|
*/
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.KEY_VALUE_RULES = exports.NEXT_VALUES = exports.RESUME_LOOP_CAP = exports.BATCH_SPECS = exports.CLASSIFY_SPEC = exports.PHASE_SPECS = exports.MAX_BODY_LENGTH = exports.MAX_VALUE_LENGTH = exports.BLOCKED_REQUIRED = exports.PATH_KEYS = exports.STATUSES = exports.SLOT_MODE = exports.ALL_PHASES = exports.BATCH_PHASES = exports.CLASSIFY_PHASE = exports.PHASES = exports.RUNSTATE_MARKER = void 0;
|
|
15
|
+
exports.MAX_GENERATION = exports.DEFAULT_GENERATION = exports.KEY_VALUE_RULES = exports.TAKEOVER_RE = exports.NEXT_VALUES = exports.RESUME_LOOP_CAP = exports.BATCH_SPECS = exports.CLASSIFY_SPEC = exports.PHASE_SPECS = exports.MAX_BODY_LENGTH = exports.MAX_VALUE_LENGTH = exports.FENCE_REQUIRED = exports.BLOCKED_REQUIRED = exports.PATH_KEYS = exports.STATUSES = exports.FENCE_STATUS = exports.SLOT_MODE = exports.ALL_PHASES = exports.BATCH_PHASES = exports.CLASSIFY_PHASE = exports.PHASES = exports.RUNSTATE_MARKER = void 0;
|
|
16
16
|
exports.isAcKey = isAcKey;
|
|
17
17
|
exports.isPhase = isPhase;
|
|
18
18
|
exports.isKnownPhase = isKnownPhase;
|
|
19
19
|
exports.isBatchPhase = isBatchPhase;
|
|
20
20
|
exports.isStatus = isStatus;
|
|
21
|
+
exports.safeLabel = safeLabel;
|
|
21
22
|
exports.defaultNext = defaultNext;
|
|
23
|
+
exports.allowedStatuses = allowedStatuses;
|
|
24
|
+
exports.statusAllowed = statusAllowed;
|
|
22
25
|
exports.requiredKeys = requiredKeys;
|
|
23
26
|
exports.validateMilestone = validateMilestone;
|
|
24
27
|
exports.nowStamp = nowStamp;
|
|
@@ -27,6 +30,12 @@ exports.splitPair = splitPair;
|
|
|
27
30
|
exports.parseMilestone = parseMilestone;
|
|
28
31
|
exports.parseMilestones = parseMilestones;
|
|
29
32
|
exports.mintRunId = mintRunId;
|
|
33
|
+
exports.generationOf = generationOf;
|
|
34
|
+
exports.parseGeneration = parseGeneration;
|
|
35
|
+
exports.latestFence = latestFence;
|
|
36
|
+
exports.fenceGeneration = fenceGeneration;
|
|
37
|
+
exports.isFenced = isFenced;
|
|
38
|
+
exports.nextFenceGeneration = nextFenceGeneration;
|
|
30
39
|
exports.hitLoopCap = hitLoopCap;
|
|
31
40
|
exports.computeResume = computeResume;
|
|
32
41
|
const node_crypto_1 = require("node:crypto");
|
|
@@ -57,8 +66,18 @@ exports.BATCH_PHASES = [
|
|
|
57
66
|
exports.ALL_PHASES = [exports.CLASSIFY_PHASE, ...exports.PHASES, ...exports.BATCH_PHASES];
|
|
58
67
|
/** The one mode value that marks a slot-cycle trail; shared by the grammar and resume. */
|
|
59
68
|
exports.SLOT_MODE = 'slot';
|
|
69
|
+
/**
|
|
70
|
+
* The fence status (#504) — the takeover record the stall-recovery ladder writes BEFORE
|
|
71
|
+
* the replacement agent starts.
|
|
72
|
+
*
|
|
73
|
+
* A `superseded` milestone says "generation N now owns this run"; every earlier
|
|
74
|
+
* generation is fenced out of the trail. It is universally valid — a takeover can happen
|
|
75
|
+
* at any phase — so it is deliberately absent from every {@link PhaseSpec.statuses} and
|
|
76
|
+
* allowed by {@link statusAllowed} instead of being listed thirteen times.
|
|
77
|
+
*/
|
|
78
|
+
exports.FENCE_STATUS = 'superseded';
|
|
60
79
|
/** Milestone statuses. */
|
|
61
|
-
exports.STATUSES = ['done', 'partial', 'blocked', 'awaiting-merge'];
|
|
80
|
+
exports.STATUSES = ['done', 'partial', 'blocked', 'awaiting-merge', exports.FENCE_STATUS];
|
|
62
81
|
/**
|
|
63
82
|
* Keys whose values are paths and must therefore be absolute — the dossier rule is
|
|
64
83
|
* "paths are absolute", and a relative worktree path makes a resume unresolvable from
|
|
@@ -67,6 +86,15 @@ exports.STATUSES = ['done', 'partial', 'blocked', 'awaiting-merge'];
|
|
|
67
86
|
exports.PATH_KEYS = ['worktree', 'planning'];
|
|
68
87
|
/** Keys required whenever a phase reports `status=blocked`. */
|
|
69
88
|
exports.BLOCKED_REQUIRED = ['reason'];
|
|
89
|
+
/**
|
|
90
|
+
* Keys required on a {@link FENCE_STATUS} milestone, for every phase.
|
|
91
|
+
*
|
|
92
|
+
* `gen` is what actually fences — the escalation ladder deliberately REUSES the run id
|
|
93
|
+
* across a redispatch (gate-issue Step 1.5 reads the trail's `run=` back), so a run id
|
|
94
|
+
* alone cannot tell the takeover apart from the run it replaced. `takeover` names who
|
|
95
|
+
* took over, so a fenced agent's abort message can say what superseded it.
|
|
96
|
+
*/
|
|
97
|
+
exports.FENCE_REQUIRED = ['gen', 'takeover'];
|
|
70
98
|
/**
|
|
71
99
|
* Caps that keep a milestone postable. GitHub rejects an issue comment over 65536
|
|
72
100
|
* characters with an opaque 422, and `execFileSync` hits E2BIG well before that on some
|
|
@@ -198,6 +226,31 @@ const AREA_SLUGS_RE = /^[a-z0-9][a-z0-9-]*(?:,[a-z0-9][a-z0-9-]*)*$/;
|
|
|
198
226
|
const DEPS_RE = /^(?:none|\d+(?:,\d+)*)$/;
|
|
199
227
|
/** `batch`: a batch id slug — no spaces, slashes, or `#`. */
|
|
200
228
|
const BATCH_ID_RE = /^[A-Za-z0-9][A-Za-z0-9._-]*$/;
|
|
229
|
+
/**
|
|
230
|
+
* `takeover`: a label naming what took the run over (#504) — a run id, a slot id, an
|
|
231
|
+
* agent name. Loose on purpose (the ladder has no single naming scheme) but still a
|
|
232
|
+
* single flag-safe token, since it is read back out of a comment and shown to an agent.
|
|
233
|
+
*/
|
|
234
|
+
exports.TAKEOVER_RE = /^[A-Za-z0-9][A-Za-z0-9._:@/-]*$/;
|
|
235
|
+
/** Longest label echoed back out of a comment; a forged one is not a budget. */
|
|
236
|
+
const MAX_LABEL_LENGTH = 120;
|
|
237
|
+
/**
|
|
238
|
+
* A `takeover=` label read OFF the trail, made safe to display.
|
|
239
|
+
*
|
|
240
|
+
* `TAKEOVER_RE` is enforced when a milestone is WRITTEN, but a milestone is an issue
|
|
241
|
+
* comment: anyone who can comment can author one, and the tolerant reader
|
|
242
|
+
* ({@link parseMilestone}) does not split non-header lines on whitespace, so a
|
|
243
|
+
* hand-posted `takeover=` can carry spaces, ANSI escapes, and anything else short of a
|
|
244
|
+
* newline. That string is printed into output an LLM agent with commit rights is
|
|
245
|
+
* instructed to read and act on, and into an operator's terminal. So a label that does
|
|
246
|
+
* not match the write-path grammar is DROPPED rather than quoted — the same discipline
|
|
247
|
+
* as `gh.ts`'s `snippet`/`isSafeArg` and `dispatch.ts`'s prompt flattening.
|
|
248
|
+
*/
|
|
249
|
+
function safeLabel(raw) {
|
|
250
|
+
return raw !== undefined && raw.length <= MAX_LABEL_LENGTH && exports.TAKEOVER_RE.test(raw)
|
|
251
|
+
? raw
|
|
252
|
+
: 'unknown';
|
|
253
|
+
}
|
|
201
254
|
/** One rule per enum-valued key; the message lists the closed set verbatim. */
|
|
202
255
|
function enumRule(values) {
|
|
203
256
|
return {
|
|
@@ -233,6 +286,14 @@ exports.KEY_VALUE_RULES = {
|
|
|
233
286
|
test: (v) => BATCH_ID_RE.test(v),
|
|
234
287
|
expects: "expected a batch id slug (letters, digits, '.', '_', '-'), e.g. b-2026-08-29-01",
|
|
235
288
|
},
|
|
289
|
+
gen: {
|
|
290
|
+
test: (v) => NON_NEGATIVE_INT_RE.test(v),
|
|
291
|
+
expects: 'expected a non-negative integer run generation, e.g. 1 (mint one with: runstate fence)',
|
|
292
|
+
},
|
|
293
|
+
takeover: {
|
|
294
|
+
test: (v) => exports.TAKEOVER_RE.test(v),
|
|
295
|
+
expects: 'expected a single token naming what took the run over, e.g. slot-2 or r-504-fc02',
|
|
296
|
+
},
|
|
236
297
|
};
|
|
237
298
|
/** The batch line's successor order, for `defaultNext`. */
|
|
238
299
|
const BATCH_NEXT = {
|
|
@@ -260,6 +321,11 @@ const BATCH_NEXT = {
|
|
|
260
321
|
function defaultNext(phase, status) {
|
|
261
322
|
if (status === 'blocked')
|
|
262
323
|
return 'done';
|
|
324
|
+
// A fence hands the SAME phase to the takeover, so the trail still points at work to
|
|
325
|
+
// be done — that is what makes a fence whose takeover died resumable rather than
|
|
326
|
+
// terminal (#504). `classify` is exempt only because it is not a `next=` value.
|
|
327
|
+
if (status === exports.FENCE_STATUS)
|
|
328
|
+
return phase === exports.CLASSIFY_PHASE ? 'done' : phase;
|
|
263
329
|
if (status === 'awaiting-merge' || status === 'partial')
|
|
264
330
|
return phase;
|
|
265
331
|
if (phase === exports.CLASSIFY_PHASE)
|
|
@@ -269,8 +335,25 @@ function defaultNext(phase, status) {
|
|
|
269
335
|
const idx = exports.PHASES.indexOf(phase);
|
|
270
336
|
return idx === exports.PHASES.length - 1 ? 'done' : exports.PHASES[idx + 1];
|
|
271
337
|
}
|
|
338
|
+
/**
|
|
339
|
+
* Every status `phase` may report, including the universally-valid fence status (#504).
|
|
340
|
+
*
|
|
341
|
+
* One definition, so the predicate below and the error message in
|
|
342
|
+
* {@link validateMilestone} can never disagree about the rule — a diagnostic that lists
|
|
343
|
+
* a status the validator rejects (or omits one it accepts) is the hardest kind of bug to
|
|
344
|
+
* notice, because the code is right and only the explanation is wrong.
|
|
345
|
+
*/
|
|
346
|
+
function allowedStatuses(phase) {
|
|
347
|
+
return [...ALL_PHASE_SPECS[phase].statuses, exports.FENCE_STATUS];
|
|
348
|
+
}
|
|
349
|
+
/** Whether `phase` may report `status` — the fence status is valid on every phase (#504). */
|
|
350
|
+
function statusAllowed(phase, status) {
|
|
351
|
+
return allowedStatuses(phase).includes(status);
|
|
352
|
+
}
|
|
272
353
|
/** The keys `phase` must carry when reporting `status`. */
|
|
273
354
|
function requiredKeys(phase, status) {
|
|
355
|
+
if (status === exports.FENCE_STATUS)
|
|
356
|
+
return exports.FENCE_REQUIRED;
|
|
274
357
|
const spec = ALL_PHASE_SPECS[phase];
|
|
275
358
|
const base = spec.required[status] ?? [];
|
|
276
359
|
return status === 'blocked' ? [...base, ...exports.BLOCKED_REQUIRED] : base;
|
|
@@ -328,11 +411,11 @@ function validateMilestone(input) {
|
|
|
328
411
|
if (!isStatus(status)) {
|
|
329
412
|
errors.push(`Unknown status '${status}' — expected one of: ${exports.STATUSES.join(', ')}`);
|
|
330
413
|
}
|
|
331
|
-
else if (isKnownPhase(phase)) {
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
}
|
|
414
|
+
else if (isKnownPhase(phase) && !statusAllowed(phase, status)) {
|
|
415
|
+
// The message lists the phase's OWN statuses and mentions the fence separately: an
|
|
416
|
+
// author who mistyped a status must not read `superseded` as an ordinary choice and
|
|
417
|
+
// hand-post a fence, bypassing the generation arithmetic `runstate fence` owns.
|
|
418
|
+
errors.push(`Status '${status}' is not valid for phase '${phase}' — expected one of: ${ALL_PHASE_SPECS[phase].statuses.join(', ')} ('${exports.FENCE_STATUS}' is valid on every phase, but is written by 'runstate fence', never by hand)`);
|
|
336
419
|
}
|
|
337
420
|
if (!RUN_ID_RE.test(run)) {
|
|
338
421
|
errors.push(`Invalid run id '${run}' — expected r-<issue>-<hex>, e.g. r-440-ab56 (mint one with: ai-dossier runstate mint --issue <n>)`);
|
|
@@ -355,7 +438,7 @@ function validateMilestone(input) {
|
|
|
355
438
|
if (problem)
|
|
356
439
|
errors.push(problem);
|
|
357
440
|
}
|
|
358
|
-
if (isKnownPhase(phase) && isStatus(status) &&
|
|
441
|
+
if (isKnownPhase(phase) && isStatus(status) && statusAllowed(phase, status)) {
|
|
359
442
|
const missing = requiredKeys(phase, status).filter((k) => !seen.has(k));
|
|
360
443
|
if (missing.length > 0) {
|
|
361
444
|
errors.push(`Phase '${phase}' with status '${status}' requires ${missing.map((k) => `${k}=`).join(' ')} — add with --kv ${missing.map((k) => `${k}=<value>`).join(' --kv ')}`);
|
|
@@ -449,6 +532,107 @@ function parseMilestones(bodies) {
|
|
|
449
532
|
function mintRunId(issue) {
|
|
450
533
|
return `r-${issue}-${(0, node_crypto_1.randomBytes)(RUN_ID_RANDOM_BYTES).toString('hex')}`;
|
|
451
534
|
}
|
|
535
|
+
// --- Fencing (#504) ---
|
|
536
|
+
/**
|
|
537
|
+
* The generation of a run that has never been fenced, and the generation a caller that
|
|
538
|
+
* knows nothing about fencing implicitly posts at.
|
|
539
|
+
*
|
|
540
|
+
* Zero is deliberately the default rather than an error: an agent running an older
|
|
541
|
+
* dossier — or the zombie this whole mechanism exists to stop — passes no generation at
|
|
542
|
+
* all, so it lands at 0 and is fenced out the moment generation 1 exists. Nothing has to
|
|
543
|
+
* be upgraded for the fence to take effect on the runs that matter.
|
|
544
|
+
*/
|
|
545
|
+
exports.DEFAULT_GENERATION = 0;
|
|
546
|
+
/**
|
|
547
|
+
* Ceiling on a run generation.
|
|
548
|
+
*
|
|
549
|
+
* The ladder caps recoveries at two per run, so a real generation is a single digit;
|
|
550
|
+
* anything near this ceiling is forged or corrupt. The cap exists because generations
|
|
551
|
+
* are arithmetic on network data: without it a fence claiming `gen=9007199254740991`
|
|
552
|
+
* makes the NEXT generation unrepresentable, and every downstream parse of it fails —
|
|
553
|
+
* which would disable fencing on that issue permanently.
|
|
554
|
+
*/
|
|
555
|
+
exports.MAX_GENERATION = 1000;
|
|
556
|
+
/**
|
|
557
|
+
* The `gen=` of a milestone, or null when it does not carry a usable one.
|
|
558
|
+
*
|
|
559
|
+
* Null rather than {@link DEFAULT_GENERATION}: a milestone whose `gen=` is missing,
|
|
560
|
+
* unparseable, or past {@link MAX_GENERATION} is MALFORMED, and reading a malformed
|
|
561
|
+
* fence as "generation 0" would silently downgrade it to "never fenced" — the one answer
|
|
562
|
+
* that must never be inferred from bad data.
|
|
563
|
+
*/
|
|
564
|
+
function generationOf(milestone) {
|
|
565
|
+
const raw = milestone.keys.gen;
|
|
566
|
+
if (raw === undefined)
|
|
567
|
+
return null;
|
|
568
|
+
const parsed = parseGeneration(raw);
|
|
569
|
+
return parsed === null || parsed > exports.MAX_GENERATION ? null : parsed;
|
|
570
|
+
}
|
|
571
|
+
/** Read a generation off a flag or a comment value; null when it is not one. */
|
|
572
|
+
function parseGeneration(raw) {
|
|
573
|
+
if (!NON_NEGATIVE_INT_RE.test(raw))
|
|
574
|
+
return null;
|
|
575
|
+
const parsed = Number.parseInt(raw, 10);
|
|
576
|
+
return Number.isSafeInteger(parsed) ? parsed : null;
|
|
577
|
+
}
|
|
578
|
+
/**
|
|
579
|
+
* The highest-generation fence on `run`'s trail, or null when the run was never fenced.
|
|
580
|
+
*
|
|
581
|
+
* Scanned by highest generation rather than by position because milestones are only
|
|
582
|
+
* append-ordered, not generation-ordered: a zombie can post AFTER the fence that
|
|
583
|
+
* superseded it, and taking the last fence by position would then read back the older
|
|
584
|
+
* one and un-fence the trail.
|
|
585
|
+
*/
|
|
586
|
+
function latestFence(milestones, run) {
|
|
587
|
+
if (run === '')
|
|
588
|
+
return null;
|
|
589
|
+
let best = null;
|
|
590
|
+
let bestGen = -1;
|
|
591
|
+
for (const milestone of milestones) {
|
|
592
|
+
if (milestone.status !== exports.FENCE_STATUS || milestone.run !== run)
|
|
593
|
+
continue;
|
|
594
|
+
// A malformed fence is SKIPPED, never counted as generation 0: `FENCE_REQUIRED`
|
|
595
|
+
// mandates a well-formed `gen=` on the write path, so one without it did not come
|
|
596
|
+
// from `runstate fence`, and treating it as generation 0 would let it mask a real
|
|
597
|
+
// fence behind it.
|
|
598
|
+
const gen = generationOf(milestone);
|
|
599
|
+
if (gen === null)
|
|
600
|
+
continue;
|
|
601
|
+
if (gen > bestGen) {
|
|
602
|
+
bestGen = gen;
|
|
603
|
+
best = milestone;
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
return best;
|
|
607
|
+
}
|
|
608
|
+
/** The generation that currently owns `run` — 0 when it was never fenced. */
|
|
609
|
+
function fenceGeneration(milestones, run) {
|
|
610
|
+
const fence = latestFence(milestones, run);
|
|
611
|
+
// `latestFence` already skipped every fence without a usable generation, so the
|
|
612
|
+
// fallback here only covers "no fence at all".
|
|
613
|
+
return fence === null ? exports.DEFAULT_GENERATION : (generationOf(fence) ?? exports.DEFAULT_GENERATION);
|
|
614
|
+
}
|
|
615
|
+
/**
|
|
616
|
+
* Whether a run at `gen` has been superseded: some fence installed a HIGHER generation.
|
|
617
|
+
*
|
|
618
|
+
* Equal generations are live — the takeover posts at exactly the generation its own
|
|
619
|
+
* fence installed, so `>` (not `>=`) is what lets the replacement work while every
|
|
620
|
+
* earlier generation is locked out.
|
|
621
|
+
*/
|
|
622
|
+
function isFenced(milestones, run, gen) {
|
|
623
|
+
return fenceGeneration(milestones, run) > gen;
|
|
624
|
+
}
|
|
625
|
+
/**
|
|
626
|
+
* The generation the next fence on `run` should install, or null at {@link MAX_GENERATION}.
|
|
627
|
+
*
|
|
628
|
+
* Null rather than an unbounded increment: emitting a generation nobody can parse back
|
|
629
|
+
* would break the fence for every later reader, so refusing to fence — loudly — is the
|
|
630
|
+
* safer end of that trade.
|
|
631
|
+
*/
|
|
632
|
+
function nextFenceGeneration(milestones, run) {
|
|
633
|
+
const next = fenceGeneration(milestones, run) + 1;
|
|
634
|
+
return next > exports.MAX_GENERATION ? null : next;
|
|
635
|
+
}
|
|
452
636
|
/**
|
|
453
637
|
* True when the last {@link RESUME_LOOP_CAP} milestones are all `blocked` on the same
|
|
454
638
|
* phase — the run is retrying the same wall and needs a human, not another resume.
|
|
@@ -571,6 +755,7 @@ function computeResume(milestones, probe) {
|
|
|
571
755
|
resume_context: {},
|
|
572
756
|
last: null,
|
|
573
757
|
local_worktree: 'n/a',
|
|
758
|
+
generation: exports.DEFAULT_GENERATION,
|
|
574
759
|
};
|
|
575
760
|
}
|
|
576
761
|
const context = {};
|
|
@@ -585,6 +770,7 @@ function computeResume(milestones, probe) {
|
|
|
585
770
|
resume_context: context,
|
|
586
771
|
last,
|
|
587
772
|
local_worktree,
|
|
773
|
+
generation: fenceGeneration(milestones, last.run),
|
|
588
774
|
};
|
|
589
775
|
if (hitLoopCap(milestones)) {
|
|
590
776
|
return { ...base, resume_from: last.phase, hard_block: 'resume-loop' };
|
|
@@ -593,6 +779,22 @@ function computeResume(milestones, probe) {
|
|
|
593
779
|
if (fresh) {
|
|
594
780
|
return { ...base, resume_from: 'none', ...fresh };
|
|
595
781
|
}
|
|
782
|
+
// A fence is the last thing on the trail: the takeover was announced but has not
|
|
783
|
+
// posted yet (#504). It may never post — the takeover can die too — so this is a
|
|
784
|
+
// resumable state, at the fenced phase and at the generation the fence installed,
|
|
785
|
+
// rather than a terminal one or an unknown status falling through to a fresh entry.
|
|
786
|
+
if (last.status === exports.FENCE_STATUS) {
|
|
787
|
+
return {
|
|
788
|
+
...base,
|
|
789
|
+
resume_from: last.phase || 'none',
|
|
790
|
+
// Deliberately NOT "resume as that generation": `post` accepts an equal
|
|
791
|
+
// generation, so telling every reader to adopt the takeover's number would invite
|
|
792
|
+
// a second writer alongside a takeover that is alive and working — the exact race
|
|
793
|
+
// this mechanism exists to prevent. Only a resumer that installs its own fence has
|
|
794
|
+
// established that it, and not the takeover, owns the run.
|
|
795
|
+
note: `fenced by '${safeLabel(last.keys.takeover)}' at generation ${base.generation} — if you are not that takeover, run 'ai-dossier runstate fence' to install generation ${base.generation + 1} before posting`,
|
|
796
|
+
};
|
|
797
|
+
}
|
|
596
798
|
// Any blocked milestone resumes at that same phase.
|
|
597
799
|
if (last.status === 'blocked') {
|
|
598
800
|
return { ...base, resume_from: last.phase || 'none' };
|