@sensigo/realm-cli 0.22.0 → 0.24.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/dist/commands/export.d.ts +44 -4
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +58 -4
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/gc.d.ts +50 -0
- package/dist/commands/gc.d.ts.map +1 -1
- package/dist/commands/gc.js +215 -35
- package/dist/commands/gc.js.map +1 -1
- package/dist/commands/purge.d.ts +23 -6
- package/dist/commands/purge.d.ts.map +1 -1
- package/dist/commands/purge.js +56 -19
- package/dist/commands/purge.js.map +1 -1
- package/dist/commands/register.d.ts +9 -2
- package/dist/commands/register.d.ts.map +1 -1
- package/dist/commands/register.js +41 -9
- package/dist/commands/register.js.map +1 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +81 -21
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js +17 -3
- package/dist/commands/watch.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/loader-warnings.d.ts +15 -0
- package/dist/lib/loader-warnings.d.ts.map +1 -0
- package/dist/lib/loader-warnings.js +33 -0
- package/dist/lib/loader-warnings.js.map +1 -0
- package/package.json +4 -4
package/dist/commands/gc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gc.js","sourceRoot":"","sources":["../../src/commands/gc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gc.js","sourceRoot":"","sources":["../../src/commands/gc.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,oFAAoF;AACpF,EAAE;AACF,uEAAuE;AACvE,yFAAyF;AACzF,iGAAiG;AACjG,iGAAiG;AACjG,+FAA+F;AAC/F,6FAA6F;AAC7F,0FAA0F;AAC1F,uFAAuF;AACvF,EAAE;AACF,gGAAgG;AAChG,oGAAoG;AACpG,mGAAmG;AACnG,iGAAiG;AACjG,iBAAiB;AACjB,EAAE;AACF,wEAAwE;AACxE,2FAA2F;AAC3F,4FAA4F;AAC5F,mGAAmG;AACnG,+FAA+F;AAC/F,mGAAmG;AACnG,mGAAmG;AACnG,mGAAmG;AACnG,uFAAuF;AACvF,EAAE;AACF,mGAAmG;AACnG,iGAAiG;AACjG,+BAA+B;AAC/B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD;;;;;;;;;;GAUG;AACH,MAAM,QAAQ,GAAG,SAAS,CAAC;AAE3B,2FAA2F;AAC3F,SAAS,oBAAoB,CAAC,WAAmB,EAAE,OAAe;IAChE,IAAI,WAAW,GAAG,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,aAAa,CACrB,iDAAiD,WAAW,2BAA2B;YACrF,GAAG,OAAO,wCAAwC,EACpD;YACE,IAAI,EAAE,yBAAyB;YAC/B,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,eAAe;YAC5B,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE;SAC5C,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAsBD;;;;;;;;;GASG;AACH,KAAK,UAAU,kBAAkB,CAAC,OAAe;IAC/C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAc,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAEtF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAc,CAAC,CAAC;IACvE,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1F,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAe,EACf,OAA4B;IAE5B,oBAAoB,CAAC,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAE3D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IACtC,MAAM,cAAc,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEzD,MAAM,MAAM,GAAuB,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAChF,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC;QACT,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,qCAAqC;YACvE,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxF,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE;YAAE,SAAS,CAAC,iDAAiD;QAEtF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjB,IAAI;gBACJ,KAAK,EAAE,kFAAkF;aAC1F,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACnD,IAAI,KAAK,GAAG,CAAC;YAAE,SAAS,CAAC,+CAA+C;QACxE,IAAI,KAAK,IAAI,OAAO,CAAC,WAAW;YAAE,SAAS,CAAC,oDAAoD;QAEhG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,oCAAoC;YACtE,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAkBD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAuC,EACvC,UAA+B,EAC/B,OAA4B;IAE5B,oBAAoB,CAAC,OAAO,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;IAEhE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IAEtC,MAAM,UAAU,GAAqB,EAAE,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,MAAM,GAA8B,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACvF,MAAM,MAAM,GAAqB,EAAE,CAAC;IAEpC,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/C,IAAI,KAAK,GAAG,CAAC;YAAE,SAAS,CAAC,+CAA+C;QACxE,IAAI,KAAK,IAAI,OAAO,CAAC,WAAW;YAAE,SAAS,CAAC,iDAAiD;QAE7F,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC7D,IAAI,CAAC;YACH,yFAAyF;YACzF,uDAAuD;YACvD,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;0FAC0F;AAC1F,KAAK,UAAU,aAAa,CAAC,KAAwB;IACnD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACpB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3B,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;QAC3E,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC9B,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1D,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAChD,CAAC;AAED;;;6BAG6B;AAC7B,MAAM,iBAAiB,GACrB,8FAA8F;IAC9F,0CAA0C,CAAC;AAE7C;;;;;;;;GAQG;AACH,SAAS,aAAa,CACpB,MAA0B,EAC1B,YAAoB,EACpB,MAAe,EACf,cAAqD,EACrD,kBAAsC;IAEtC,MAAM,eAAe,GACnB,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IAE/F,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CACT,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,2CAA2C,WAAW,CAAC,YAAY,CAAC,YAAY,CACxG,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,+CAA+C,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,UAAU,MAAM,CAAC,MAAM,CAAC,MAAM,2BAA2B,WAAW,CAAC,YAAY,CAAC,WAAW;YAC3F,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,kBAAkB,MAAM,CAAC,MAAM,CAAC,MAAM,UAAU,CAChF,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;IAED,gDAAgD;IAChD,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CACX,+DAA+D,kBAAkB,EAAE,CACpF,CAAC;IACJ,CAAC;SAAM,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,wBAAwB,GAC5B,cAAc,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAClC,cAAc,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;YACxC,cAAc,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;QAErC,IAAI,wBAAwB,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAC7E,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CACT,KAAK,cAAc,CAAC,MAAM,CAAC,MAAM,iDAAiD,CACnF,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,cAAc,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;YACtF,IAAI,cAAc,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3C,OAAO,CAAC,GAAG,CACT,IAAI,cAAc,CAAC,YAAY,CAAC,MAAM,+CAA+C,CACtF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CACT,YAAY,cAAc,CAAC,MAAM,CAAC,MAAM,kCAAkC;gBACxE,GAAG,cAAc,CAAC,YAAY,CAAC,MAAM,kBAAkB,cAAc,CAAC,MAAM,CAAC,MAAM,UAAU,CAChG,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,cAAc,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QACxF,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,iBAAiB,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;;;kFAIkF;AAClF,MAAM,UAAU,UAAU,CACxB,UAA8B,EAC9B,cAAqD,EACrD,kBAAsC;IAEtC,MAAM,UAAU,GACd,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAC5B,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;QACxC,kBAAkB,KAAK,SAAS,CAAC;IACnC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;KACvC,WAAW,CACV,yGAAyG,CAC1G;KACA,cAAc,CACb,yBAAyB,EACzB,qEAAqE,CACtE;KACA,MAAM,CAAC,SAAS,EAAE,sEAAsE,CAAC;KACzF,MAAM,CAAC,KAAK,EAAE,IAA4C,EAAE,EAAE;IAC7D,IAAI,WAAmB,CAAC;IACxB,IAAI,CAAC;QACH,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO;IACT,CAAC;IAED,wFAAwF;IACxF,yFAAyF;IACzF,uBAAuB;IACvB,IAAI,WAAW,GAAG,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CACX,0CAA0C,IAAI,CAAC,SAAS,+BAA+B;YACrF,+CAA+C,CAClD,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO;IACT,CAAC;IAED,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC7E,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC;IACrC,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,qBAAqB,GAA2B,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IAC7F,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,IAAI,CAAC;QACH,qFAAqF;QACrF,uFAAuF;QACvF,oFAAoF;QACpF,0FAA0F;QAC1F,0FAA0F;QAC1F,iCAAiC;QACjC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAChF,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAElD,0FAA0F;QAC1F,0FAA0F;QAC1F,0FAA0F;QAC1F,8EAA8E;QAC9E,IAAI,eAAsD,CAAC;QAC3D,IAAI,kBAAsC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC/C,eAAe,GAAG,MAAM,oBAAoB,CAAC,qBAAqB,EAAE,UAAU,EAAE;gBAC9E,WAAW;gBACX,MAAM,EAAE,IAAI;gBACZ,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kBAAkB,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACxB,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC;YACzE,IAAI,UAAU,CAAC,OAAO,EAAE,eAAe,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAEhF,IAAI,cAAqD,CAAC;QAC1D,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,wFAAwF;YACxF,uFAAuF;YACvF,qFAAqF;YACrF,mEAAmE;YACnE,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC/C,cAAc,GAAG,MAAM,oBAAoB,CAAC,qBAAqB,EAAE,UAAU,EAAE;oBAC7E,WAAW;oBACX,MAAM,EAAE,KAAK;oBACb,GAAG;iBACJ,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,kBAAkB,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACxE,IAAI,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
|
package/dist/commands/purge.d.ts
CHANGED
|
@@ -53,6 +53,16 @@ export interface PurgeRunsResult {
|
|
|
53
53
|
purged: string[];
|
|
54
54
|
/** Populated only when `dryRun` is false: a concurrent/prior purge had already removed it — never a failure. */
|
|
55
55
|
already_purged: string[];
|
|
56
|
+
/**
|
|
57
|
+
* Populated only when `dryRun` is false (issue #184): the run could not be deleted right now
|
|
58
|
+
* because another writer holds its lock (`ELOCKED`), or because it is no longer terminal (a
|
|
59
|
+
* concurrent `realm resume` raced the purge) — `STATE_RUN_BUSY` from the anchor store. NEVER a
|
|
60
|
+
* failure: a live writer self-heals, and a stale lock is eventually stolen.
|
|
61
|
+
*/
|
|
62
|
+
blocked: Array<{
|
|
63
|
+
runId: string;
|
|
64
|
+
reason: string;
|
|
65
|
+
}>;
|
|
56
66
|
/** Populated only when `dryRun` is false: deletion genuinely failed. */
|
|
57
67
|
failed: Array<{
|
|
58
68
|
runId: string;
|
|
@@ -71,13 +81,20 @@ export interface PurgeRunsOptions {
|
|
|
71
81
|
}
|
|
72
82
|
/**
|
|
73
83
|
* Selects eligible run(s) (single `runId` or a batch aged past `olderThan`), reports bytes and
|
|
74
|
-
* resumability, and — when `dryRun` is false — deletes them
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
84
|
+
* resumability, and — when `dryRun` is false — deletes them. Deletion is anchor-structural (issue
|
|
85
|
+
* #184): every `artifactStores` entry (non-anchor stores only) must succeed BEFORE
|
|
86
|
+
* `anchorStore.deleteAllForRun` — the `JsonFileStore` run file — is ever called, and only on
|
|
87
|
+
* total success. Any throw before that point leaves the anchor (and therefore the run) intact —
|
|
88
|
+
* the crash-anchor property is now structural (guaranteed by this function's control flow), not
|
|
89
|
+
* merely positional (an array-ordering convention a future edit could silently break — see
|
|
90
|
+
* `purge-guard.test.ts`'s ANCHOR checks for the source-text half of this guarantee).
|
|
91
|
+
*
|
|
92
|
+
* Continue-on-error across the batch: a `STATE_RUN_NOT_FOUND` hit while deleting (a concurrent
|
|
93
|
+
* purge already removed it) is bucketed as `already_purged`; a `STATE_RUN_BUSY` hit (another
|
|
94
|
+
* writer holds the lock, or the run was resumed since selection — issue #184) is bucketed as
|
|
95
|
+
* `blocked`; neither is ever a `failed`.
|
|
79
96
|
*/
|
|
80
|
-
export declare function purgeRuns(options: PurgeRunsOptions,
|
|
97
|
+
export declare function purgeRuns(options: PurgeRunsOptions, anchorStore: Pick<RunStore, 'get' | 'list'> & PerRunArtifactStore & {
|
|
81
98
|
readonly runsDirPath: string;
|
|
82
99
|
}, artifactStores: PerRunArtifactStore[]): Promise<PurgeRunsResult>;
|
|
83
100
|
export declare const purgeCommand: Command;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"purge.d.ts","sourceRoot":"","sources":["../../src/commands/purge.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAS/E,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC5D;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,SAAS,EACd,IAAI,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,GACtC,gBAAgB,CAiClB;AA+BD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,SAAS,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,wFAAwF;IACxF,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,0EAA0E;IAC1E,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,oEAAoE;IACpE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,gHAAgH;IAChH,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,wEAAwE;IACxE,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,uFAAuF;IACvF,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,0FAA0F;IAC1F,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B;AAED
|
|
1
|
+
{"version":3,"file":"purge.d.ts","sourceRoot":"","sources":["../../src/commands/purge.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAS/E,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC5D;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,SAAS,EACd,IAAI,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,GACtC,gBAAgB,CAiClB;AA+BD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,SAAS,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,wFAAwF;IACxF,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,0EAA0E;IAC1E,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,oEAAoE;IACpE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,gHAAgH;IAChH,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;;;OAKG;IACH,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,wEAAwE;IACxE,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,uFAAuF;IACvF,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,0FAA0F;IAC1F,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,GAAG,MAAM,CAAC,GACzC,mBAAmB,GAAG;IAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EACxD,cAAc,EAAE,mBAAmB,EAAE,GACpC,OAAO,CAAC,eAAe,CAAC,CAuG1B;AAoFD,eAAO,MAAM,YAAY,SAoEtB,CAAC"}
|
package/dist/commands/purge.js
CHANGED
|
@@ -92,20 +92,27 @@ async function statMatchedBytes(runsDir, runId, dirEntries) {
|
|
|
92
92
|
}
|
|
93
93
|
/**
|
|
94
94
|
* Selects eligible run(s) (single `runId` or a batch aged past `olderThan`), reports bytes and
|
|
95
|
-
* resumability, and — when `dryRun` is false — deletes them
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
95
|
+
* resumability, and — when `dryRun` is false — deletes them. Deletion is anchor-structural (issue
|
|
96
|
+
* #184): every `artifactStores` entry (non-anchor stores only) must succeed BEFORE
|
|
97
|
+
* `anchorStore.deleteAllForRun` — the `JsonFileStore` run file — is ever called, and only on
|
|
98
|
+
* total success. Any throw before that point leaves the anchor (and therefore the run) intact —
|
|
99
|
+
* the crash-anchor property is now structural (guaranteed by this function's control flow), not
|
|
100
|
+
* merely positional (an array-ordering convention a future edit could silently break — see
|
|
101
|
+
* `purge-guard.test.ts`'s ANCHOR checks for the source-text half of this guarantee).
|
|
102
|
+
*
|
|
103
|
+
* Continue-on-error across the batch: a `STATE_RUN_NOT_FOUND` hit while deleting (a concurrent
|
|
104
|
+
* purge already removed it) is bucketed as `already_purged`; a `STATE_RUN_BUSY` hit (another
|
|
105
|
+
* writer holds the lock, or the run was resumed since selection — issue #184) is bucketed as
|
|
106
|
+
* `blocked`; neither is ever a `failed`.
|
|
100
107
|
*/
|
|
101
|
-
export async function purgeRuns(options,
|
|
108
|
+
export async function purgeRuns(options, anchorStore, artifactStores) {
|
|
102
109
|
const dryRun = options.dryRun ?? true;
|
|
103
110
|
const now = new Date();
|
|
104
|
-
const runsDir =
|
|
111
|
+
const runsDir = anchorStore.runsDirPath;
|
|
105
112
|
const candidates = [];
|
|
106
113
|
const skipped = [];
|
|
107
114
|
if (options.runId !== undefined) {
|
|
108
|
-
const run = await
|
|
115
|
+
const run = await anchorStore.get(options.runId);
|
|
109
116
|
// explicit: true — the operator named this exact run, so a claim_unknown_age claim is an
|
|
110
117
|
// eligible override, never a healthy one (issue #107 correction).
|
|
111
118
|
const verdict = isPurgeEligible(run, { explicit: true, now });
|
|
@@ -118,7 +125,7 @@ export async function purgeRuns(options, runStore, artifactStores) {
|
|
|
118
125
|
}
|
|
119
126
|
else {
|
|
120
127
|
const thresholdMs = options.olderThan !== undefined ? parseDuration(options.olderThan) : 0;
|
|
121
|
-
const all = await
|
|
128
|
+
const all = await anchorStore.list(options.workflow);
|
|
122
129
|
for (const run of all) {
|
|
123
130
|
// explicit: false — a batch/cron sweep cannot prove an indeterminate-age claim's runner is
|
|
124
131
|
// dead, so claim_unknown_age is refused here (skipped+warned below), not overridden.
|
|
@@ -157,7 +164,14 @@ export async function purgeRuns(options, runStore, artifactStores) {
|
|
|
157
164
|
overriddenClaimStep,
|
|
158
165
|
});
|
|
159
166
|
}
|
|
160
|
-
const result = {
|
|
167
|
+
const result = {
|
|
168
|
+
selected,
|
|
169
|
+
skipped,
|
|
170
|
+
purged: [],
|
|
171
|
+
already_purged: [],
|
|
172
|
+
blocked: [],
|
|
173
|
+
failed: [],
|
|
174
|
+
};
|
|
161
175
|
if (dryRun)
|
|
162
176
|
return result;
|
|
163
177
|
for (const { run } of selected) {
|
|
@@ -165,16 +179,27 @@ export async function purgeRuns(options, runStore, artifactStores) {
|
|
|
165
179
|
// Re-check the run still exists immediately before deleting — closes the window against a
|
|
166
180
|
// concurrent purge that already removed it between selection and here. A STATE_RUN_NOT_FOUND
|
|
167
181
|
// surfacing here means "already gone," which the catch below routes to already_purged.
|
|
168
|
-
await
|
|
182
|
+
await anchorStore.get(run.id);
|
|
169
183
|
for (const store of artifactStores) {
|
|
170
184
|
await store.deleteAllForRun(run.id, dirEntries);
|
|
171
185
|
}
|
|
186
|
+
// The anchor LAST, and only on total success (issue #184) — structural crash-anchor: any
|
|
187
|
+
// throw above (from a non-anchor artifact store) never reaches this line, so the run file
|
|
188
|
+
// is guaranteed intact for re-enumeration on the next pass.
|
|
189
|
+
await anchorStore.deleteAllForRun(run.id, dirEntries);
|
|
172
190
|
result.purged.push(run.id);
|
|
173
191
|
}
|
|
174
192
|
catch (err) {
|
|
175
193
|
if (err instanceof WorkflowError && err.code === 'STATE_RUN_NOT_FOUND') {
|
|
176
194
|
result.already_purged.push(run.id);
|
|
177
195
|
}
|
|
196
|
+
else if (err instanceof WorkflowError && err.code === 'STATE_RUN_BUSY') {
|
|
197
|
+
const reason = err.details['reason'];
|
|
198
|
+
result.blocked.push({
|
|
199
|
+
runId: run.id,
|
|
200
|
+
reason: typeof reason === 'string' ? reason : err.message,
|
|
201
|
+
});
|
|
202
|
+
}
|
|
178
203
|
else {
|
|
179
204
|
result.failed.push({
|
|
180
205
|
runId: run.id,
|
|
@@ -213,12 +238,14 @@ function printPurgeReport(result, dryRun) {
|
|
|
213
238
|
console.log('No eligible runs found to purge.');
|
|
214
239
|
return;
|
|
215
240
|
}
|
|
216
|
-
const totalBytes = result.selected.reduce((sum, c) => sum + c.bytes, 0);
|
|
217
241
|
const resumableCount = result.selected.filter((c) => c.resumable).length;
|
|
218
242
|
const resumableLine = `${resumableCount} of ${result.selected.length} selected run(s) ` +
|
|
219
243
|
`${dryRun ? 'are' : 'were'} resumable via 'realm resume' — ` +
|
|
220
244
|
`purging ${dryRun ? 'would destroy' : 'has destroyed'} that path ${dryRun ? 'permanently' : 'for them'}.`;
|
|
221
245
|
if (dryRun) {
|
|
246
|
+
// Dry-run's "to free" total is a PROJECTION over every selected candidate — nothing has been
|
|
247
|
+
// purged yet, so the full selected total is the correct (and only sensible) figure here.
|
|
248
|
+
const totalBytes = result.selected.reduce((sum, c) => sum + c.bytes, 0);
|
|
222
249
|
console.log(`${result.selected.length} run(s) WOULD be purged (${formatBytes(totalBytes)} to free):`);
|
|
223
250
|
for (const c of result.selected) {
|
|
224
251
|
const override = c.overriddenClaimStep !== undefined
|
|
@@ -229,13 +256,23 @@ function printPurgeReport(result, dryRun) {
|
|
|
229
256
|
console.log(`\n${resumableLine}\nRe-run with --force to actually delete.`);
|
|
230
257
|
return;
|
|
231
258
|
}
|
|
232
|
-
|
|
233
|
-
|
|
259
|
+
// issue #184: sum bytes over ACTUALLY-PURGED runs only — `selected` also includes candidates
|
|
260
|
+
// that ended up already_purged/blocked/failed, whose bytes were never actually freed. Summing
|
|
261
|
+
// over `selected` here would over-report "freed" bytes for anything but a 100%-successful batch.
|
|
262
|
+
const purgedIds = new Set(result.purged);
|
|
263
|
+
const freedBytes = result.selected
|
|
264
|
+
.filter((c) => purgedIds.has(c.run.id))
|
|
265
|
+
.reduce((sum, c) => sum + c.bytes, 0);
|
|
266
|
+
console.log(`Purged ${result.purged.length}/${result.selected.length} run(s) (${formatBytes(freedBytes)} freed). ` +
|
|
267
|
+
`${result.already_purged.length} already gone, ${result.blocked.length} blocked, ${result.failed.length} failed.`);
|
|
234
268
|
for (const c of result.selected) {
|
|
235
269
|
if (c.overriddenClaimStep !== undefined) {
|
|
236
270
|
console.log(` ⚠ ${c.run.id}: ${overriddenClaimPhrase(c.overriddenClaimStep, false)}`);
|
|
237
271
|
}
|
|
238
272
|
}
|
|
273
|
+
for (const b of result.blocked) {
|
|
274
|
+
console.error(` ⚠ ${b.runId}: ${b.reason}`);
|
|
275
|
+
}
|
|
239
276
|
for (const f of result.failed) {
|
|
240
277
|
console.error(` ✗ ${f.runId}: ${f.error}`);
|
|
241
278
|
}
|
|
@@ -266,14 +303,14 @@ export const purgeCommand = new Command('purge')
|
|
|
266
303
|
const runsDir = runStore.runsDirPath;
|
|
267
304
|
const failedAttemptStore = new FailedAttemptStore(runsDir);
|
|
268
305
|
const traceBufferStore = new JsonTraceBufferStore(runsDir);
|
|
269
|
-
//
|
|
270
|
-
//
|
|
271
|
-
//
|
|
272
|
-
//
|
|
306
|
+
// The crash-anchor is now STRUCTURAL, not positional (issue #184): runStore (JsonFileStore)
|
|
307
|
+
// is passed to purgeRuns as the separate anchorStore argument, and purgeRuns's own control
|
|
308
|
+
// flow guarantees it is only ever deleted after every entry below has succeeded — it is
|
|
309
|
+
// deliberately ABSENT from this array. purge-guard.test.ts's ANCHOR check asserts this
|
|
310
|
+
// absence via source-text; do not re-add it here.
|
|
273
311
|
const artifactStores = [
|
|
274
312
|
traceBufferStore, // JsonTraceBufferStore
|
|
275
313
|
failedAttemptStore, // FailedAttemptStore
|
|
276
|
-
runStore, // JsonFileStore — LAST: crash-anchor (issue #107)
|
|
277
314
|
];
|
|
278
315
|
const dryRun = opts.force !== true;
|
|
279
316
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"purge.js","sourceRoot":"","sources":["../../src/commands/purge.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,EAAE;AACF,4FAA4F;AAC5F,mGAAmG;AACnG,+FAA+F;AAC/F,+FAA+F;AAC/F,2FAA2F;AAC3F,EAAE;AACF,mGAAmG;AACnG,oGAAoG;AACpG,+FAA+F;AAC/F,qGAAqG;AACrG,sGAAsG;AACtG,qFAAqF;AACrF,iGAAiG;AACjG,iGAAiG;AACjG,qEAAqE;AACrE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,eAAe,CAC7B,GAAc,EACd,IAAuC;IAEvC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;IACjF,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAElD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAC/D,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,MAAM,EACJ,gDAAgD,YAAY,CAAC,IAAI,IAAI;gBACrE,cAAc,YAAY,CAAC,QAAQ,2CAA2C;SACjF,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,mBAAmB,CAAC,CAAC;IAC5E,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO;gBACL,QAAQ,EAAE,KAAK;gBACf,MAAM,EACJ,mDAAmD,eAAe,CAAC,IAAI,IAAI;oBAC3E,0FAA0F;oBAC1F,wBAAwB,GAAG,CAAC,EAAE,mCAAmC;aACpE,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;IACvE,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,gBAAgB,CAC7B,OAAe,EACf,KAAa,EACb,UAA6B;IAE7B,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1C,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,iEAAiE;QACnE,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAsCD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAyB,EACzB,QAA2E,EAC3E,cAAqC;IAErC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC;IAErC,MAAM,UAAU,GAAwE,EAAE,CAAC;IAC3F,MAAM,OAAO,GAA6C,EAAE,CAAC;IAE7D,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,yFAAyF;QACzF,kEAAkE;QAClE,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9D,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClD,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,2FAA2F;YAC3F,qFAAqF;YACrF,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACtB,wFAAwF;gBACxF,sFAAsF;gBACtF,oBAAoB;gBACpB,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACvC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC1D,CAAC;gBACD,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YAClE,IAAI,MAAM,GAAG,WAAW;gBAAE,SAAS;YACnC,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,gGAAgG;IAChG,qFAAqF;IACrF,IAAI,UAAoB,CAAC;IACzB,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,UAAU,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,KAAK,MAAM,EAAE,GAAG,EAAE,mBAAmB,EAAE,IAAI,UAAU,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAClE,QAAQ,CAAC,IAAI,CAAC;YACZ,GAAG;YACH,KAAK;YACL,SAAS,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;YAC9C,mBAAmB;SACpB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAoB,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAClG,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,0FAA0F;YAC1F,6FAA6F;YAC7F,uFAAuF;YACvF,MAAM,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3B,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACnC,MAAM,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAClD,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,aAAa,IAAI,GAAG,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBACvE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBACjB,KAAK,EAAE,GAAG,CAAC,EAAE;oBACb,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC9B,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1D,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAChD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,IAAY,EAAE,MAAe;IAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/C,OAAO,CACL,GAAG,IAAI,gDAAgD,IAAI,qCAAqC;QAChG,mFAAmF,CACpF,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,SAAS,gBAAgB,CAAC,MAAuB,EAAE,MAAe;IAChE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IACzE,MAAM,aAAa,GACjB,GAAG,cAAc,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,mBAAmB;QACjE,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,kCAAkC;QAC5D,WAAW,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,cAAc,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC;IAE5G,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CACT,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,4BAA4B,WAAW,CAAC,UAAU,CAAC,YAAY,CACzF,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,QAAQ,GACZ,CAAC,CAAC,mBAAmB,KAAK,SAAS;gBACjC,CAAC,CAAC,MAAM,qBAAqB,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,CAAC,EAAE;gBAC5D,CAAC,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,aAAa,2CAA2C,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CACT,UAAU,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY,WAAW,CAAC,UAAU,CAAC,WAAW;QACpG,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,kBAAkB,MAAM,CAAC,MAAM,CAAC,MAAM,UAAU,CAClF,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,qBAAqB,CAAC,CAAC,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KAC7C,WAAW,CACV,wGAAwG,CACzG;KACA,QAAQ,CAAC,UAAU,EAAE,qEAAqE,CAAC;KAC3F,MAAM,CAAC,SAAS,EAAE,0EAA0E,CAAC;KAC7F,MAAM,CACL,yBAAyB,EACzB,kFAAkF,CACnF;KACA,MAAM,CAAC,iBAAiB,EAAE,wDAAwD,CAAC;KACnF,MAAM,CACL,KAAK,EACH,KAAyB,EACzB,IAAgE,EAChE,EAAE;IACF,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACxD,OAAO,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACxD,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC7E,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC;IACrC,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC3D,8FAA8F;IAC9F,uFAAuF;IACvF,sFAAsF;IACtF,wDAAwD;IACxD,MAAM,cAAc,GAA0B;QAC5C,gBAAgB,EAAE,uBAAuB;QACzC,kBAAkB,EAAE,qBAAqB;QACzC,QAAQ,EAAE,kDAAkD;KAC7D,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAC5B,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,EACrE,QAAQ,EACR,cAAc,CACf,CAAC;QAEF,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,uFAAuF;YACvF,mDAAmD;YACnD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,cAAc,CAAC;YAC3D,OAAO,CAAC,KAAK,CAAC,sBAAsB,KAAK,MAAM,MAAM,GAAG,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"purge.js","sourceRoot":"","sources":["../../src/commands/purge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
-
import type { WorkflowDefinition } from '@sensigo/realm';
|
|
2
|
+
import type { WorkflowDefinition, LoaderWarning } from '@sensigo/realm';
|
|
3
3
|
/**
|
|
4
4
|
* Loads and validates a workflow for registration. Extension-declaring workflows get the
|
|
5
5
|
* full extension load + config_schema two-pass; extension-free workflows are untouched.
|
|
6
|
+
* Returns the definition alongside every accumulated LoaderWarning (issue #169) — pass-1's
|
|
7
|
+
* structural warnings plus the sentinel-credential warnings, if any. Prints NOTHING itself;
|
|
8
|
+
* both callers (register's action, watch's registerFile) decide how to surface/act on warnings
|
|
9
|
+
* (register supports `--strict` + the dormant #170 reject; watch just prints and continues).
|
|
6
10
|
* @throws on any validation or extension-load failure — nothing is persisted on throw.
|
|
7
11
|
*/
|
|
8
|
-
export declare function loadWorkflowForRegistration(filePath: string): Promise<
|
|
12
|
+
export declare function loadWorkflowForRegistration(filePath: string): Promise<{
|
|
13
|
+
definition: WorkflowDefinition;
|
|
14
|
+
warnings: LoaderWarning[];
|
|
15
|
+
}>;
|
|
9
16
|
export declare const registerCommand: Command;
|
|
10
17
|
/** @internal Exported for testing only. */
|
|
11
18
|
export declare function lintWorkflowContext(definition: WorkflowDefinition): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/commands/register.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/commands/register.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAkBxE;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,UAAU,EAAE,kBAAkB,CAAC;IAAC,QAAQ,EAAE,aAAa,EAAE,CAAA;CAAE,CAAC,CA2BxE;AAED,eAAO,MAAM,eAAe,SAqDxB,CAAC;AAEL,2CAA2C;AAC3C,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM,EAAE,CA4B5E"}
|
|
@@ -4,16 +4,30 @@
|
|
|
4
4
|
// against the resolved adapters' config_schema (two-pass) BEFORE anything is persisted.
|
|
5
5
|
import { Command } from 'commander';
|
|
6
6
|
import { join } from 'node:path';
|
|
7
|
-
import {
|
|
7
|
+
import { loadWorkflowFromFileWithDiagnostics, JsonWorkflowStore, resolveSeverity, } from '@sensigo/realm';
|
|
8
8
|
import { loadProjectExtensions, } from '../extensions/load-project-extensions.js';
|
|
9
9
|
import { ManifestSecretsError } from '../extensions/manifest-secrets.js';
|
|
10
|
+
import { printLoaderWarnings, rejectOnErrorSeverity, failsStrict } from '../lib/loader-warnings.js';
|
|
11
|
+
/** Wraps loadProjectExtensions' sentinel-credential warnings as LoaderWarning (issue #169). */
|
|
12
|
+
function wrapSentinelWarnings(sentinelWarnings) {
|
|
13
|
+
return (sentinelWarnings ?? []).map((message) => ({
|
|
14
|
+
code: 'EXTENSION_SENTINEL',
|
|
15
|
+
severity: resolveSeverity('EXTENSION_SENTINEL'),
|
|
16
|
+
scope: 'workflow',
|
|
17
|
+
message: `⚠ ${message}`,
|
|
18
|
+
}));
|
|
19
|
+
}
|
|
10
20
|
/**
|
|
11
21
|
* Loads and validates a workflow for registration. Extension-declaring workflows get the
|
|
12
22
|
* full extension load + config_schema two-pass; extension-free workflows are untouched.
|
|
23
|
+
* Returns the definition alongside every accumulated LoaderWarning (issue #169) — pass-1's
|
|
24
|
+
* structural warnings plus the sentinel-credential warnings, if any. Prints NOTHING itself;
|
|
25
|
+
* both callers (register's action, watch's registerFile) decide how to surface/act on warnings
|
|
26
|
+
* (register supports `--strict` + the dormant #170 reject; watch just prints and continues).
|
|
13
27
|
* @throws on any validation or extension-load failure — nothing is persisted on throw.
|
|
14
28
|
*/
|
|
15
29
|
export async function loadWorkflowForRegistration(filePath) {
|
|
16
|
-
const definition =
|
|
30
|
+
const { definition, warnings: pass1Warnings } = loadWorkflowFromFileWithDiagnostics(filePath);
|
|
17
31
|
// Full module load + duck validation + manifest construction + config_schema two-pass
|
|
18
32
|
// BEFORE persisting. Secret sources may be unavailable at provisioning time: degrade to
|
|
19
33
|
// SENTINEL construction with a loud WARN (never silent, never a registration blocker);
|
|
@@ -29,24 +43,42 @@ export async function loadWorkflowForRegistration(filePath) {
|
|
|
29
43
|
console.warn('⚠ Registering with SENTINEL credentials — execution paths still require real secret resolution.');
|
|
30
44
|
loaded = await loadProjectExtensions(definition, { secretMode: 'sentinel' });
|
|
31
45
|
}
|
|
32
|
-
for (const warning of loaded.sentinelWarnings ?? [])
|
|
33
|
-
console.warn(`⚠ ${warning}`);
|
|
34
46
|
// Two-pass: re-validate with the resolved registry so step config is checked against
|
|
35
|
-
// each adapter's config_schema before the definition is persisted.
|
|
36
|
-
|
|
37
|
-
|
|
47
|
+
// each adapter's config_schema before the definition is persisted. Its warnings are proven
|
|
48
|
+
// identical to pass-1's (same content, registry only adds config_schema checks) — discarded
|
|
49
|
+
// here to avoid double-counting the same unknown key twice.
|
|
50
|
+
loadWorkflowFromFileWithDiagnostics(filePath, loaded.registry);
|
|
51
|
+
return {
|
|
52
|
+
definition,
|
|
53
|
+
warnings: [...pass1Warnings, ...wrapSentinelWarnings(loaded.sentinelWarnings)],
|
|
54
|
+
};
|
|
38
55
|
}
|
|
39
56
|
export const registerCommand = new Command('register')
|
|
40
57
|
.argument('<path>', 'Path to workflow directory or workflow.yaml file')
|
|
58
|
+
.option('--strict', 'Exit non-zero and refuse to register if any loader warning is present (issue #169)')
|
|
41
59
|
.description('Register a workflow definition')
|
|
42
|
-
.action(async (inputPath) => {
|
|
60
|
+
.action(async (inputPath, opts) => {
|
|
43
61
|
const filePath = inputPath.endsWith('.yaml') || inputPath.endsWith('.yml')
|
|
44
62
|
? inputPath
|
|
45
63
|
: join(inputPath, 'workflow.yaml');
|
|
46
64
|
try {
|
|
47
|
-
const definition = await loadWorkflowForRegistration(filePath);
|
|
65
|
+
const { definition, warnings } = await loadWorkflowForRegistration(filePath);
|
|
66
|
+
// Dormant issue #170 boundary-reject: inert today (DEFAULT_POLICY has no 'error' entries).
|
|
67
|
+
if (rejectOnErrorSeverity(warnings)) {
|
|
68
|
+
printLoaderWarnings(warnings);
|
|
69
|
+
console.error(`Error: '${definition.id}' has a warning escalated to an error by policy — refusing to register.`);
|
|
70
|
+
process.exit(1);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (opts.strict && failsStrict(warnings)) {
|
|
74
|
+
printLoaderWarnings(warnings);
|
|
75
|
+
console.error(`Error: '${definition.id}' v${definition.version} has ${warnings.length} warning(s); refusing to register due to --strict`);
|
|
76
|
+
process.exit(1);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
48
79
|
const store = new JsonWorkflowStore();
|
|
49
80
|
await store.register(definition);
|
|
81
|
+
printLoaderWarnings(warnings);
|
|
50
82
|
const contextWarnings = lintWorkflowContext(definition);
|
|
51
83
|
for (const warning of contextWarnings) {
|
|
52
84
|
console.warn(`⚠ ${warning}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/commands/register.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,0FAA0F;AAC1F,4FAA4F;AAC5F,wFAAwF;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/commands/register.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoHpC,eAAO,MAAM,eAAe,SAiGxB,CAAC"}
|
|
@@ -9,36 +9,75 @@ import { Command } from 'commander';
|
|
|
9
9
|
import { dirname, join, resolve } from 'node:path';
|
|
10
10
|
import { readFileSync } from 'node:fs';
|
|
11
11
|
import { load } from 'js-yaml';
|
|
12
|
-
import {
|
|
12
|
+
import { loadWorkflowFromStringWithDiagnostics, loadWorkflowFromFileWithDiagnostics, findTrustRoot, WorkflowError, shouldEnforceTimeout, DEFAULT_EXECUTION_TIMEOUT_SECONDS, resolveSeverity, } from '@sensigo/realm';
|
|
13
13
|
import { loadProjectExtensions, checkForOrphanedManifests, } from '../extensions/load-project-extensions.js';
|
|
14
|
+
import { printLoaderWarnings, rejectOnErrorSeverity, failsStrict } from '../lib/loader-warnings.js';
|
|
14
15
|
/**
|
|
15
16
|
* Advisory (issue A3, never rejects): an auto step declaring `retry:` but no `timeout_seconds`
|
|
16
17
|
* has EVERY attempt bounded by the generous DEFAULT_EXECUTION_TIMEOUT_SECONDS default — a hung
|
|
17
|
-
* attempt can take up to that long before the retry loop even considers the next one.
|
|
18
|
-
*
|
|
18
|
+
* attempt can take up to that long before the retry loop even considers the next one. Returns one
|
|
19
|
+
* RETRY_NO_TIMEOUT LoaderWarning per such step (issue #169: folded into the validate accumulator
|
|
20
|
+
* — printed via printLoaderWarnings alongside every other warning — instead of printed directly,
|
|
21
|
+
* so `--strict` and the dormant boundary-reject can see it too).
|
|
19
22
|
*/
|
|
20
|
-
function
|
|
23
|
+
function findRetryWithoutExplicitTimeout(definition) {
|
|
24
|
+
const warnings = [];
|
|
21
25
|
for (const [stepName, step] of Object.entries(definition.steps)) {
|
|
22
26
|
if (shouldEnforceTimeout(step) &&
|
|
23
27
|
step.retry !== undefined &&
|
|
24
28
|
step.timeout_seconds === undefined) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
29
|
+
warnings.push({
|
|
30
|
+
code: 'RETRY_NO_TIMEOUT',
|
|
31
|
+
severity: resolveSeverity('RETRY_NO_TIMEOUT'),
|
|
32
|
+
scope: 'step',
|
|
33
|
+
step: stepName,
|
|
34
|
+
message: `⚠ Step '${stepName}': declares 'retry' but no 'timeout_seconds' — each attempt is ` +
|
|
35
|
+
`bounded by the default execution timeout (${DEFAULT_EXECUTION_TIMEOUT_SECONDS}s). ` +
|
|
36
|
+
`Consider an explicit 'timeout_seconds' if attempts should fail faster.`,
|
|
37
|
+
});
|
|
28
38
|
}
|
|
29
39
|
}
|
|
40
|
+
return warnings;
|
|
41
|
+
}
|
|
42
|
+
/** Wraps loadProjectExtensions' sentinel-credential warnings as LoaderWarning (issue #169). */
|
|
43
|
+
function wrapSentinelWarnings(sentinelWarnings) {
|
|
44
|
+
return (sentinelWarnings ?? []).map((message) => ({
|
|
45
|
+
code: 'EXTENSION_SENTINEL',
|
|
46
|
+
severity: resolveSeverity('EXTENSION_SENTINEL'),
|
|
47
|
+
scope: 'workflow',
|
|
48
|
+
message: `⚠ ${message}`,
|
|
49
|
+
}));
|
|
30
50
|
}
|
|
31
51
|
/**
|
|
32
|
-
* The single success
|
|
33
|
-
*
|
|
34
|
-
*
|
|
52
|
+
* The single success-path printer BOTH validation branches (extension-free and file-based)
|
|
53
|
+
* share: prints every accumulated warning, then the summary line. Under `--strict`, a non-empty
|
|
54
|
+
* accumulator turns the summary line into a failing one and returns true (the caller exits 1);
|
|
55
|
+
* otherwise the summary line — and, when present, the description line existing tests assert on
|
|
56
|
+
* — print exactly as before and this returns false.
|
|
35
57
|
*/
|
|
36
|
-
function
|
|
37
|
-
|
|
38
|
-
|
|
58
|
+
function printValidationOutcome(definition, warnings, strict) {
|
|
59
|
+
printLoaderWarnings(warnings);
|
|
60
|
+
const base = `Valid: ${definition.id} v${definition.version} (${Object.keys(definition.steps).length} steps)`;
|
|
61
|
+
if (strict && failsStrict(warnings)) {
|
|
62
|
+
console.log(`${base} — ${warnings.length} warning(s); failing due to --strict`);
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
console.log(base);
|
|
39
66
|
if (definition.description !== undefined) {
|
|
40
67
|
console.log(` ${definition.description}`);
|
|
41
68
|
}
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* The dormant issue #170 boundary-reject: inert today (DEFAULT_POLICY has no 'error' entries),
|
|
73
|
+
* but once #170 flips UNKNOWN_WORKFLOW_KEY/UNKNOWN_STEP_KEY, this refuses those workflows here.
|
|
74
|
+
*/
|
|
75
|
+
function rejectIfPolicyEscalates(warnings) {
|
|
76
|
+
if (!rejectOnErrorSeverity(warnings))
|
|
77
|
+
return false;
|
|
78
|
+
printLoaderWarnings(warnings);
|
|
79
|
+
console.error(`Invalid: ${warnings.length} warning(s) present, and at least one is escalated to an error by policy.`);
|
|
80
|
+
return true;
|
|
42
81
|
}
|
|
43
82
|
/** Pre-scan: does the YAML carry a top-level `extensions` key? (Parse errors → false; the
|
|
44
83
|
* real loader below reports them with its existing error surface.) */
|
|
@@ -57,11 +96,13 @@ function hasTopLevelExtensions(content) {
|
|
|
57
96
|
export const validateCommand = new Command('validate')
|
|
58
97
|
.argument('<path>', 'Path to workflow directory or workflow.yaml file')
|
|
59
98
|
.option('--extensions-module <path>', "Extensions module that REPLACES the workflow's declared 'extensions' modules (repair/override)")
|
|
99
|
+
.option('--strict', 'Exit non-zero if any loader warning is present (unknown keys, retry-without-timeout, sentinel credentials — issue #169)')
|
|
60
100
|
.description('Validate a workflow YAML file')
|
|
61
101
|
.action(async (inputPath, opts) => {
|
|
62
102
|
const filePath = inputPath.endsWith('.yaml') || inputPath.endsWith('.yml')
|
|
63
103
|
? inputPath
|
|
64
104
|
: join(inputPath, 'workflow.yaml');
|
|
105
|
+
const strict = opts.strict === true;
|
|
65
106
|
let content;
|
|
66
107
|
try {
|
|
67
108
|
content = readFileSync(filePath, 'utf8');
|
|
@@ -81,10 +122,16 @@ export const validateCommand = new Command('validate')
|
|
|
81
122
|
// WorkflowError, which the catch below renders as `Invalid:` + exit(1). resolve()
|
|
82
123
|
// before dirname so a relative `workflow.yaml` doesn't collapse the walk to '.'.
|
|
83
124
|
try {
|
|
84
|
-
const definition =
|
|
125
|
+
const { definition, warnings: loaderWarnings } = loadWorkflowFromStringWithDiagnostics(content);
|
|
85
126
|
const workflowDir = dirname(resolve(filePath));
|
|
86
127
|
checkForOrphanedManifests(workflowDir, findTrustRoot(workflowDir));
|
|
87
|
-
|
|
128
|
+
const accumulated = [...loaderWarnings, ...findRetryWithoutExplicitTimeout(definition)];
|
|
129
|
+
if (rejectIfPolicyEscalates(accumulated)) {
|
|
130
|
+
process.exit(1);
|
|
131
|
+
}
|
|
132
|
+
if (printValidationOutcome(definition, accumulated, strict)) {
|
|
133
|
+
process.exit(1);
|
|
134
|
+
}
|
|
88
135
|
}
|
|
89
136
|
catch (err) {
|
|
90
137
|
if (err instanceof WorkflowError) {
|
|
@@ -98,21 +145,34 @@ export const validateCommand = new Command('validate')
|
|
|
98
145
|
// Extensions declared (or an override supplied): file-based two-pass validation.
|
|
99
146
|
try {
|
|
100
147
|
// Pass 1: structural validation + extension resolution metadata (source_dir/trust_root).
|
|
101
|
-
|
|
148
|
+
// The universal, registry-independent structural load — its warnings are what we count.
|
|
149
|
+
const { definition, warnings: pass1Warnings } = loadWorkflowFromFileWithDiagnostics(filePath);
|
|
102
150
|
const { registry, manifest, sentinelWarnings } = await loadProjectExtensions(definition, {
|
|
103
151
|
...(opts.extensionsModule !== undefined ? { overrideModule: opts.extensionsModule } : {}),
|
|
104
152
|
secretMode: 'sentinel',
|
|
105
153
|
});
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
//
|
|
109
|
-
|
|
110
|
-
|
|
154
|
+
// Pass 2: step config validated against each resolved adapter's config_schema. Same
|
|
155
|
+
// content as pass 1, registry only adds config_schema checks — its warnings are proven
|
|
156
|
+
// identical to pass 1's, so they are deliberately discarded here (not collected) to avoid
|
|
157
|
+
// double-counting the same unknown key twice.
|
|
158
|
+
loadWorkflowFromFileWithDiagnostics(filePath, registry);
|
|
159
|
+
const accumulated = [
|
|
160
|
+
...pass1Warnings,
|
|
161
|
+
...findRetryWithoutExplicitTimeout(definition),
|
|
162
|
+
...wrapSentinelWarnings(sentinelWarnings),
|
|
163
|
+
];
|
|
164
|
+
if (rejectIfPolicyEscalates(accumulated)) {
|
|
165
|
+
process.exit(1);
|
|
166
|
+
}
|
|
167
|
+
const strictFailed = printValidationOutcome(definition, accumulated, strict);
|
|
111
168
|
if (manifest.modules.length > 0) {
|
|
112
169
|
console.log(`Extensions: ${manifest.modules.map((m) => m.declared).join(', ')} ` +
|
|
113
170
|
`(adapters: ${manifest.adapters.length}, handlers: ${manifest.handlers.length}, ` +
|
|
114
171
|
`processors: ${manifest.processors.length})`);
|
|
115
172
|
}
|
|
173
|
+
if (strictFailed) {
|
|
174
|
+
process.exit(1);
|
|
175
|
+
}
|
|
116
176
|
}
|
|
117
177
|
catch (err) {
|
|
118
178
|
console.error(`Invalid: ${err instanceof Error ? err.message : String(err)}`);
|