@objectstack/cli 7.5.0 → 7.7.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/compile.d.ts.map +1 -1
- package/dist/commands/compile.js +22 -0
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/dev.d.ts +1 -10
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +36 -78
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/plugin/build.d.ts +15 -0
- package/dist/commands/plugin/build.d.ts.map +1 -0
- package/dist/commands/plugin/build.js +199 -0
- package/dist/commands/plugin/build.js.map +1 -0
- package/dist/commands/plugin/publish.d.ts +26 -0
- package/dist/commands/plugin/publish.d.ts.map +1 -0
- package/dist/commands/plugin/publish.js +211 -0
- package/dist/commands/plugin/publish.js.map +1 -0
- package/dist/commands/plugin/sign.d.ts +15 -0
- package/dist/commands/plugin/sign.d.ts.map +1 -0
- package/dist/commands/plugin/sign.js +102 -0
- package/dist/commands/plugin/sign.js.map +1 -0
- package/dist/commands/serve.d.ts +2 -0
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +193 -25
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/start.d.ts +1 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +6 -1
- package/dist/commands/start.js.map +1 -1
- package/dist/utils/format.d.ts +9 -0
- package/dist/utils/format.d.ts.map +1 -1
- package/dist/utils/format.js +6 -0
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/log-level.d.ts +20 -0
- package/dist/utils/log-level.d.ts.map +1 -0
- package/dist/utils/log-level.js +46 -0
- package/dist/utils/log-level.js.map +1 -0
- package/dist/utils/osplugin.d.ts +44 -0
- package/dist/utils/osplugin.d.ts.map +1 -0
- package/dist/utils/osplugin.js +151 -0
- package/dist/utils/osplugin.js.map +1 -0
- package/dist/utils/validate-expressions.d.ts +13 -0
- package/dist/utils/validate-expressions.d.ts.map +1 -0
- package/dist/utils/validate-expressions.js +101 -0
- package/dist/utils/validate-expressions.js.map +1 -0
- package/dist/utils/validate-expressions.test.d.ts +2 -0
- package/dist/utils/validate-expressions.test.d.ts.map +1 -0
- package/dist/utils/validate-expressions.test.js +65 -0
- package/dist/utils/validate-expressions.test.js.map +1 -0
- package/package.json +43 -45
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAEzE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,MAAM,CAAU,WAAW,GAAG,mIAAmI,CAAC;IAElK,MAAM,CAAU,QAAQ,GAAG;QACzB,yBAAyB;QACzB,iDAAiD;QACjD,uDAAuD;QACvD,iFAAiF;QACjF,wDAAwD;QACxD,wEAAwE;QACxE,+FAA+F;QAC/F,iCAAiC;KAClC,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,SAAS;QACT,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,mDAAmD,EAAE,CAAC;QACpG,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC;YAChB,WAAW,EAAE,4FAA4F;YACzG,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAEzE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,MAAM,CAAU,WAAW,GAAG,mIAAmI,CAAC;IAElK,MAAM,CAAU,QAAQ,GAAG;QACzB,yBAAyB;QACzB,iDAAiD;QACjD,uDAAuD;QACvD,iFAAiF;QACjF,wDAAwD;QACxD,wEAAwE;QACxE,+FAA+F;QAC/F,iCAAiC;KAClC,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,SAAS;QACT,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,mDAAmD,EAAE,CAAC;QACpG,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC;YAChB,WAAW,EAAE,4FAA4F;YACzG,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,iDAAiD,EAAE,CAAC;QACrG,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,WAAW,EAAE,wJAAwJ;YACrK,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;SAC/D,CAAC;QAEF,yDAAyD;QACzD,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,yJAAyJ;SACvK,CAAC;QAEF,kBAAkB;QAClB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;YACrB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,kQAAkQ;SAChR,CAAC;QAEF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,WAAW,EAAE,6IAA6I;YAC1J,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,IAAI;SACd,CAAC;QAEF,mBAAmB;QACnB,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC;YAC7B,WAAW,EAAE,0EAA0E;SACxF,CAAC;QAEF,UAAU;QACV,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;YACrB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,sKAAsK;SACpL,CAAC;QACF,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC;YAC9B,WAAW,EAAE,uHAAuH;YACpI,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;SAC9D,CAAC;QACF,qBAAqB,EAAE,KAAK,CAAC,MAAM,CAAC;YAClC,WAAW,EAAE,iGAAiG;SAC/G,CAAC;QAEF,iBAAiB;QACjB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;YAC1B,WAAW,EAAE,sIAAsI;SACpJ,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE1C,uEAAuE;QACvE,uEAAuE;QACvE,oEAAoE;QACpE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM;YACnD,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,YAAY,CAAC,CAAC;QAC3C,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpD,WAAW,CAAC,aAAa,CAAC,CAAC;QAE3B,kEAAkE;QAClE,mEAAmE;QACnE,iEAAiE;QACjE,yEAAyE;QACzE,+CAA+C;QAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;QACrE,MAAM,gBAAgB,GAAG,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAE1D,mEAAmE;QACnE,kEAAkE;QAClE,yCAAyC;QACzC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,UAAU,CAAC,mCAAmC,OAAO,KAAK,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,kEAAkE;QAClE,qEAAqE;QACrE,gDAAgD;QAChD,EAAE;QACF,kEAAkE;QAClE,6DAA6D;QAC7D,8DAA8D;QAC9D,+CAA+C;QAC/C,IAAI,cAAc,GAAG,qBAAqB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEpE,MAAM,iBAAiB,GAAG,gBAAgB;eACrC,CAAC,KAAK,CAAC,QAAQ;eACf,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB;eAC7B,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC;QAExC,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;YAC9D,SAAS,CAAC,4DAA4D,CAAC,CAAC;YACxE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,aAAa,GAAG,SAAS,CAC7B,OAAO,CAAC,QAAQ,EAChB,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,EAC5C,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CACvC,CAAC;YACF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,UAAU,CAAC,8DAA8D,CAAC,CAAC;gBAC3E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,6EAA6E,CAAC,CAAC,CAAC;gBAC3G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,cAAc,GAAG;gBACf,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;aACxC,CAAC;QACJ,CAAC;QAED,mEAAmE;QACnE,qGAAqG;QACrG,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ;eAC7B,sBAAsB,CAAC,iBAAiB,EAAE,cAAc,CAAC;eACzD,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,CAAC;QAE5D,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC;eACxC,OAAO,CAAC,GAAG,CAAC,iBAAiB;eAC7B,WAAW,CAAC;QAEjB,mEAAmE;QACnE,uEAAuE;QACvE,oDAAoD;QACpD,EAAE;QACF,mEAAmE;QACnE,gEAAgE;QAChE,kDAAkD;QAClD,4DAA4D;QAC5D,sBAAsB;QACtB,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC;eAClC,sBAAsB,CAAC,gBAAgB,EAAE,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;eAC/E,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAErC,mEAAmE;QACnE,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC,IAAI,uBAAuB,EAAE,IAAI,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/B,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,UAAU,EAAE,gEAAgE,EAAE,IAAI,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;QACrD,OAAO,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;QAC5C,sEAAsE;QACtE,sEAAsE;QACtE,mEAAmE;QACnE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,IAAI,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC;QACnF,IAAI,KAAK,CAAC,EAAE;YAAE,OAAO,CAAC,SAAS,EAAE,oBAAoB,UAAU,YAAY,EAAE,KAAK,CAAC,CAAC;QAEpF,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAEhC,mEAAmE;QACnE,qEAAqE;QACrE,wDAAwD;QACxD,MAAM,QAAQ,GAAsB;YAClC,GAAG,OAAO,CAAC,GAAG;YACd,OAAO,EAAE,OAAO;YAChB,iBAAiB,EAAE,aAAa;YAChC,eAAe,EAAE,WAAW;YAC5B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjG,WAAW,EAAE,UAAU;YACvB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC;SACzF,CAAC;QACF,sEAAsE;QACtE,yEAAyE;QACzE,IAAI,CAAC,QAAQ,CAAC,QAAQ;YAAE,QAAQ,CAAC,QAAQ,GAAG,YAAY,CAAC;QAEzD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,KAAK,CACjB,OAAO,CAAC,QAAQ,EAChB;YACE,OAAO;YACP,OAAO;YACP,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAC7B,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,EACD,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,CACpC,CAAC;QACF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;;AAGH,SAAS,WAAW,CAClB,SAA6B,EAC7B,IAAgD;IAEhD,MAAM,GAAG,GAAG,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IAC7C,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3F,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,iEAAiE;IACjE,mEAAmE;IACnE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;AACpD,CAAC;AASD,SAAS,qBAAqB,CAAC,SAA6B,EAAE,OAAe;IAC3E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,sCAAsC;IACtC,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QACpF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,8DAA8D;YAC9D,iDAAiD;YACjD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;QACzD,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACzD,CAAC;IAED,8BAA8B;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACvC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACzD,CAAC;IAED,sCAAsC;IACtC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;IAChE,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,CAAC;IAC3E,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;IACrE,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IACzD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,OAAe;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5D,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE;YAAE,OAAO,QAAQ,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;IAC5D,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/utils/format.d.ts
CHANGED
|
@@ -51,6 +51,15 @@ export interface ServerReadyOptions {
|
|
|
51
51
|
databaseUrl?: string;
|
|
52
52
|
/** Whether the SecurityPlugin was wired in multi-tenant mode (default true). */
|
|
53
53
|
multiTenant?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Credentials of the dev admin seeded on an empty DB this boot (dev only).
|
|
56
|
+
* When present, the banner surfaces them so backend debugging never has to
|
|
57
|
+
* guess the login. Absent when nothing was seeded.
|
|
58
|
+
*/
|
|
59
|
+
seededAdmin?: {
|
|
60
|
+
email: string;
|
|
61
|
+
password: string;
|
|
62
|
+
};
|
|
54
63
|
}
|
|
55
64
|
export declare function printServerReady(opts: ServerReadyOptions): void;
|
|
56
65
|
export declare function printMetadataStats(stats: MetadataStats): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAGpC,eAAO,MAAM,QAAQ,gBAAgB,CAAC;AACtC,eAAO,MAAM,SAAS,OAAO,CAAC;AAI9B,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,QAM1C;AAID,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,QAGxC;AAID,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,QAGzE;AAID,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,QAEvC;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,QAEvC;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,QAErC;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,QAEpC;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,QAEpC;AAID,wBAAgB,WAAW;;;EAM1B;AAID,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,QAwC9C;AAID,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,GAAG,GAAG,aAAa,CAuC/D;AAID,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,WAAW,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAGpC,eAAO,MAAM,QAAQ,gBAAgB,CAAC;AACtC,eAAO,MAAM,SAAS,OAAO,CAAC;AAI9B,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,QAM1C;AAID,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,QAGxC;AAID,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,QAGzE;AAID,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,QAEvC;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,QAEvC;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,QAErC;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,QAEpC;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,QAEpC;AAID,wBAAgB,WAAW;;;EAM1B;AAID,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,QAwC9C;AAID,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,GAAG,GAAG,aAAa,CAuC/D;AAID,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,QAkCxD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,QAuDtD"}
|
package/dist/utils/format.js
CHANGED
|
@@ -130,6 +130,12 @@ export function printServerReady(opts) {
|
|
|
130
130
|
if (opts.uiEnabled && opts.consolePath) {
|
|
131
131
|
console.log(chalk.cyan(' ➜') + chalk.bold(' Console: ') + chalk.cyan(base + opts.consolePath + '/'));
|
|
132
132
|
}
|
|
133
|
+
if (opts.seededAdmin) {
|
|
134
|
+
console.log('');
|
|
135
|
+
console.log(chalk.green(' 🔑') + chalk.bold(' Dev admin: ') +
|
|
136
|
+
chalk.bold.green(`${opts.seededAdmin.email} / ${opts.seededAdmin.password}`));
|
|
137
|
+
console.log(chalk.dim(' seeded on empty DB · dev only — do not use in production'));
|
|
138
|
+
}
|
|
133
139
|
console.log('');
|
|
134
140
|
console.log(chalk.dim(` Config: ${opts.configFile}`));
|
|
135
141
|
console.log(chalk.dim(` Mode: ${opts.isDev ? 'development' : 'production'}`));
|
package/dist/utils/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const LOG_LEVELS: readonly ["debug", "info", "warn", "error", "fatal", "silent"];
|
|
2
|
+
export type CliLogLevel = (typeof LOG_LEVELS)[number];
|
|
3
|
+
/** Default kernel logger level when nothing is configured. */
|
|
4
|
+
export declare const DEFAULT_LOG_LEVEL: CliLogLevel;
|
|
5
|
+
/**
|
|
6
|
+
* Resolve the kernel logger level from CLI flags and an explicit env value.
|
|
7
|
+
* Unknown / malformed levels fall back to {@link DEFAULT_LOG_LEVEL} rather
|
|
8
|
+
* than throwing, so a typo never crashes the server boot.
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveLogLevel(opts: {
|
|
11
|
+
verbose?: boolean;
|
|
12
|
+
flag?: string;
|
|
13
|
+
envLevel?: string;
|
|
14
|
+
}): CliLogLevel;
|
|
15
|
+
/**
|
|
16
|
+
* Read `$OS_LOG_LEVEL` (preferred) / `$LOG_LEVEL` (legacy) from the
|
|
17
|
+
* environment, emitting the standard deprecation warning for the legacy name.
|
|
18
|
+
*/
|
|
19
|
+
export declare function readLogLevelEnv(): string | undefined;
|
|
20
|
+
//# sourceMappingURL=log-level.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-level.d.ts","sourceRoot":"","sources":["../../src/utils/log-level.ts"],"names":[],"mappings":"AA0BA,eAAO,MAAM,UAAU,gEAAiE,CAAC;AACzF,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtD,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,EAAE,WAAoB,CAAC;AAErD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,WAAW,CAId;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,SAAS,CAEpD"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.
|
|
2
|
+
import { readEnvWithDeprecation } from '@objectstack/types';
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Kernel logger level resolution (shared by `serve`, and forwarded by
|
|
5
|
+
// `start` / `dev`).
|
|
6
|
+
//
|
|
7
|
+
// `serve` used to hard-pin the kernel logger to `silent` so the CLI could own
|
|
8
|
+
// a clean startup banner. That silenced every runtime fault plugins surface
|
|
9
|
+
// through `logger.warn` / `logger.error` — most importantly the record-change
|
|
10
|
+
// trigger's flow-execution-failure warnings and the automation engine's
|
|
11
|
+
// internal errors — making a faulting flow fail completely silently and
|
|
12
|
+
// defeating ADR-0032's "fail loudly" promise (see #1533).
|
|
13
|
+
//
|
|
14
|
+
// The level is resolved from (in precedence order):
|
|
15
|
+
// 1. `--verbose` → `debug`
|
|
16
|
+
// 2. `--log-level <level>` → explicit level
|
|
17
|
+
// 3. `$OS_LOG_LEVEL` / `$LOG_LEVEL`
|
|
18
|
+
// 4. default → `warn`
|
|
19
|
+
//
|
|
20
|
+
// The default is `warn` rather than `silent`: warnings + errors reach the
|
|
21
|
+
// operator out of the box while the boot-quiet window in `serve` still
|
|
22
|
+
// suppresses the noisier info-level startup chatter. Pass `--log-level silent`
|
|
23
|
+
// (or `OS_LOG_LEVEL=silent`) to restore the fully-quiet behavior.
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
export const LOG_LEVELS = ['debug', 'info', 'warn', 'error', 'fatal', 'silent'];
|
|
26
|
+
/** Default kernel logger level when nothing is configured. */
|
|
27
|
+
export const DEFAULT_LOG_LEVEL = 'warn';
|
|
28
|
+
/**
|
|
29
|
+
* Resolve the kernel logger level from CLI flags and an explicit env value.
|
|
30
|
+
* Unknown / malformed levels fall back to {@link DEFAULT_LOG_LEVEL} rather
|
|
31
|
+
* than throwing, so a typo never crashes the server boot.
|
|
32
|
+
*/
|
|
33
|
+
export function resolveLogLevel(opts) {
|
|
34
|
+
if (opts.verbose)
|
|
35
|
+
return 'debug';
|
|
36
|
+
const raw = (opts.flag ?? opts.envLevel ?? DEFAULT_LOG_LEVEL).toLowerCase().trim();
|
|
37
|
+
return LOG_LEVELS.includes(raw) ? raw : DEFAULT_LOG_LEVEL;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Read `$OS_LOG_LEVEL` (preferred) / `$LOG_LEVEL` (legacy) from the
|
|
41
|
+
* environment, emitting the standard deprecation warning for the legacy name.
|
|
42
|
+
*/
|
|
43
|
+
export function readLogLevelEnv() {
|
|
44
|
+
return readEnvWithDeprecation('OS_LOG_LEVEL', 'LOG_LEVEL');
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=log-level.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-level.js","sourceRoot":"","sources":["../../src/utils/log-level.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAEzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,8EAA8E;AAC9E,sEAAsE;AACtE,oBAAoB;AACpB,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,8EAA8E;AAC9E,wEAAwE;AACxE,wEAAwE;AACxE,0DAA0D;AAC1D,EAAE;AACF,oDAAoD;AACpD,wCAAwC;AACxC,+CAA+C;AAC/C,sCAAsC;AACtC,uCAAuC;AACvC,EAAE;AACF,0EAA0E;AAC1E,uEAAuE;AACvE,+EAA+E;AAC/E,kEAAkE;AAClE,8EAA8E;AAC9E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAGzF,8DAA8D;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAgB,MAAM,CAAC;AAErD;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAI/B;IACC,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC;IACjC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IACnF,OAAQ,UAAgC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAmB,CAAC,CAAC,CAAC,iBAAiB,CAAC;AACpG,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,sBAAsB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/** A single file destined for the archive. `path` is POSIX, archive-relative. */
|
|
2
|
+
export interface ArchiveFile {
|
|
3
|
+
path: string;
|
|
4
|
+
data: Uint8Array;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Subresource-Integrity-style digest of `bytes`: `sha256-<base64>`.
|
|
8
|
+
* This is the canonical per-file integrity string written into the
|
|
9
|
+
* compiled manifest's `integrity` map and re-verified by the runtime.
|
|
10
|
+
*/
|
|
11
|
+
export declare function sriDigest(bytes: Uint8Array): string;
|
|
12
|
+
/** Plain hex sha256 of bytes (used for the whole-artifact checksum). */
|
|
13
|
+
export declare function sha256Hex(bytes: Uint8Array): string;
|
|
14
|
+
/**
|
|
15
|
+
* Build the per-file `integrity` map (archive-relative POSIX path →
|
|
16
|
+
* `sha256-<base64>`) for the given files. The compiled manifest itself
|
|
17
|
+
* (`objectstack.plugin.json`) and the `SIGNATURE` are excluded — the
|
|
18
|
+
* manifest can't hash itself (it embeds the map) and the signature signs
|
|
19
|
+
* the manifest.
|
|
20
|
+
*/
|
|
21
|
+
export declare function computeIntegrity(files: ArchiveFile[]): Record<string, string>;
|
|
22
|
+
export declare const MANIFEST_FILENAME = "objectstack.plugin.json";
|
|
23
|
+
export declare const SIGNATURE_FILENAME = "SIGNATURE";
|
|
24
|
+
export declare const OSPLUGIN_EXT = ".osplugin";
|
|
25
|
+
/**
|
|
26
|
+
* Serialize `files` into an uncompressed ustar buffer. Entries are emitted
|
|
27
|
+
* in sorted path order for reproducibility, terminated by two zero blocks.
|
|
28
|
+
*/
|
|
29
|
+
export declare function createTar(files: ArchiveFile[]): Buffer;
|
|
30
|
+
/** ustar + gzip → the `.osplugin` blob bytes. */
|
|
31
|
+
export declare function createTarGz(files: ArchiveFile[]): Buffer;
|
|
32
|
+
/**
|
|
33
|
+
* Parse a ustar buffer back into its files — the inverse of {@link createTar}.
|
|
34
|
+
* Reads regular-file entries only; stops at the end-of-archive zero block.
|
|
35
|
+
*/
|
|
36
|
+
export declare function readTar(buf: Uint8Array): ArchiveFile[];
|
|
37
|
+
/** gunzip + untar an `.osplugin` blob into its files. */
|
|
38
|
+
export declare function readTarGz(blob: Uint8Array): ArchiveFile[];
|
|
39
|
+
/**
|
|
40
|
+
* Extract + parse the compiled `objectstack.plugin.json` from an `.osplugin`
|
|
41
|
+
* blob. Throws if the manifest is absent or not valid JSON.
|
|
42
|
+
*/
|
|
43
|
+
export declare function readOspluginManifest(blob: Uint8Array): Record<string, unknown>;
|
|
44
|
+
//# sourceMappingURL=osplugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"osplugin.d.ts","sourceRoot":"","sources":["../../src/utils/osplugin.ts"],"names":[],"mappings":"AAiCA,iFAAiF;AACjF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEnD;AAED,wEAAwE;AACxE,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQ7E;AAED,eAAO,MAAM,iBAAiB,4BAA4B,CAAC;AAC3D,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAC9C,eAAO,MAAM,YAAY,cAAc,CAAC;AAwCxC;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAYtD;AAED,iDAAiD;AACjD,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,WAAW,EAAE,CAYtD;AAED,yDAAyD;AACzD,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,EAAE,CAEzD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAI9E"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.
|
|
2
|
+
/**
|
|
3
|
+
* `.osplugin` packaging primitives (ADR-0025 §3.1 / §3.2, framework F2).
|
|
4
|
+
*
|
|
5
|
+
* A `.osplugin` is a gzipped tar (ustar) of:
|
|
6
|
+
*
|
|
7
|
+
* objectstack.plugin.json ← compiled manifest (with `integrity`)
|
|
8
|
+
* dist/** ← bundled, @objectstack/*-externalized code
|
|
9
|
+
* assets/** ← optional static assets
|
|
10
|
+
* package.json ← only for `packaging: manifest-deps`
|
|
11
|
+
* pnpm-lock.yaml ← only for `packaging: manifest-deps`
|
|
12
|
+
* SIGNATURE ← detached publisher signature (placeholder
|
|
13
|
+
* until `os plugin sign`; ADR §3.4)
|
|
14
|
+
*
|
|
15
|
+
* The control plane (cloud) stores this blob opaquely and re-verifies the
|
|
16
|
+
* per-file `integrity` at install/load time when the runtime unpacks it
|
|
17
|
+
* (ADR §3.5 step 5). This module owns the two contracts the runtime and
|
|
18
|
+
* cloud must agree on byte-for-byte:
|
|
19
|
+
*
|
|
20
|
+
* 1. The integrity digest STRING FORMAT — Subresource-Integrity style
|
|
21
|
+
* `sha256-<base64>` (matches ADR-0025 §3.2's example). See
|
|
22
|
+
* {@link sriDigest}.
|
|
23
|
+
* 2. The archive being a standards-compliant ustar+gzip so any tar
|
|
24
|
+
* reader (node-tar, GNU tar) can unpack it. See {@link createTarGz}.
|
|
25
|
+
*
|
|
26
|
+
* Everything here is pure (no oclif / filesystem) so it can be unit-tested
|
|
27
|
+
* and reused by `os plugin sign` / `publish`.
|
|
28
|
+
*/
|
|
29
|
+
import { createHash } from 'node:crypto';
|
|
30
|
+
import { gzipSync, gunzipSync } from 'node:zlib';
|
|
31
|
+
/**
|
|
32
|
+
* Subresource-Integrity-style digest of `bytes`: `sha256-<base64>`.
|
|
33
|
+
* This is the canonical per-file integrity string written into the
|
|
34
|
+
* compiled manifest's `integrity` map and re-verified by the runtime.
|
|
35
|
+
*/
|
|
36
|
+
export function sriDigest(bytes) {
|
|
37
|
+
return 'sha256-' + createHash('sha256').update(bytes).digest('base64');
|
|
38
|
+
}
|
|
39
|
+
/** Plain hex sha256 of bytes (used for the whole-artifact checksum). */
|
|
40
|
+
export function sha256Hex(bytes) {
|
|
41
|
+
return createHash('sha256').update(bytes).digest('hex');
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Build the per-file `integrity` map (archive-relative POSIX path →
|
|
45
|
+
* `sha256-<base64>`) for the given files. The compiled manifest itself
|
|
46
|
+
* (`objectstack.plugin.json`) and the `SIGNATURE` are excluded — the
|
|
47
|
+
* manifest can't hash itself (it embeds the map) and the signature signs
|
|
48
|
+
* the manifest.
|
|
49
|
+
*/
|
|
50
|
+
export function computeIntegrity(files) {
|
|
51
|
+
const out = {};
|
|
52
|
+
for (const f of files) {
|
|
53
|
+
if (f.path === MANIFEST_FILENAME || f.path === SIGNATURE_FILENAME)
|
|
54
|
+
continue;
|
|
55
|
+
out[f.path] = sriDigest(f.data);
|
|
56
|
+
}
|
|
57
|
+
// Deterministic key order for reproducible manifests.
|
|
58
|
+
return Object.fromEntries(Object.entries(out).sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)));
|
|
59
|
+
}
|
|
60
|
+
export const MANIFEST_FILENAME = 'objectstack.plugin.json';
|
|
61
|
+
export const SIGNATURE_FILENAME = 'SIGNATURE';
|
|
62
|
+
export const OSPLUGIN_EXT = '.osplugin';
|
|
63
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
64
|
+
// ustar writer (POSIX tar). Files only — directory entries are implicit
|
|
65
|
+
// from path prefixes (node-tar / GNU tar create them on extract). mtime is
|
|
66
|
+
// pinned to 0 so identical inputs produce byte-identical archives.
|
|
67
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
68
|
+
const BLOCK = 512;
|
|
69
|
+
function writeOctal(buf, value, offset, len) {
|
|
70
|
+
// `len - 1` octal digits, zero-padded, then a NUL terminator.
|
|
71
|
+
const s = value.toString(8).padStart(len - 1, '0') + '\0';
|
|
72
|
+
buf.write(s, offset, len, 'ascii');
|
|
73
|
+
}
|
|
74
|
+
function tarHeader(file) {
|
|
75
|
+
if (Buffer.byteLength(file.path, 'utf8') > 100) {
|
|
76
|
+
throw new Error(`osplugin: archive path too long for ustar (>100 bytes): ${file.path}`);
|
|
77
|
+
}
|
|
78
|
+
const h = Buffer.alloc(BLOCK, 0);
|
|
79
|
+
h.write(file.path, 0, 100, 'utf8'); // name
|
|
80
|
+
writeOctal(h, 0o644, 100, 8); // mode
|
|
81
|
+
writeOctal(h, 0, 108, 8); // uid
|
|
82
|
+
writeOctal(h, 0, 116, 8); // gid
|
|
83
|
+
writeOctal(h, file.data.byteLength, 124, 12); // size
|
|
84
|
+
writeOctal(h, 0, 136, 12); // mtime (pinned → reproducible)
|
|
85
|
+
h.write(' ', 148, 8, 'ascii'); // chksum field = spaces while summing
|
|
86
|
+
h.write('0', 156, 1, 'ascii'); // typeflag: regular file
|
|
87
|
+
h.write('ustar\0', 257, 6, 'ascii'); // magic
|
|
88
|
+
h.write('00', 263, 2, 'ascii'); // version
|
|
89
|
+
// Header checksum: unsigned sum of all 512 bytes (chksum field as spaces),
|
|
90
|
+
// written as 6 octal digits + NUL + space.
|
|
91
|
+
let sum = 0;
|
|
92
|
+
for (let i = 0; i < BLOCK; i++)
|
|
93
|
+
sum += h[i];
|
|
94
|
+
h.write(sum.toString(8).padStart(6, '0') + '\0 ', 148, 8, 'ascii');
|
|
95
|
+
return h;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Serialize `files` into an uncompressed ustar buffer. Entries are emitted
|
|
99
|
+
* in sorted path order for reproducibility, terminated by two zero blocks.
|
|
100
|
+
*/
|
|
101
|
+
export function createTar(files) {
|
|
102
|
+
const sorted = [...files].sort((a, b) => (a.path < b.path ? -1 : a.path > b.path ? 1 : 0));
|
|
103
|
+
const chunks = [];
|
|
104
|
+
for (const f of sorted) {
|
|
105
|
+
chunks.push(tarHeader(f));
|
|
106
|
+
const data = Buffer.from(f.data);
|
|
107
|
+
chunks.push(data);
|
|
108
|
+
const pad = (BLOCK - (data.byteLength % BLOCK)) % BLOCK;
|
|
109
|
+
if (pad)
|
|
110
|
+
chunks.push(Buffer.alloc(pad, 0));
|
|
111
|
+
}
|
|
112
|
+
chunks.push(Buffer.alloc(BLOCK * 2, 0)); // end-of-archive
|
|
113
|
+
return Buffer.concat(chunks);
|
|
114
|
+
}
|
|
115
|
+
/** ustar + gzip → the `.osplugin` blob bytes. */
|
|
116
|
+
export function createTarGz(files) {
|
|
117
|
+
return gzipSync(createTar(files), { level: 9 });
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Parse a ustar buffer back into its files — the inverse of {@link createTar}.
|
|
121
|
+
* Reads regular-file entries only; stops at the end-of-archive zero block.
|
|
122
|
+
*/
|
|
123
|
+
export function readTar(buf) {
|
|
124
|
+
const b = Buffer.from(buf);
|
|
125
|
+
const files = [];
|
|
126
|
+
let off = 0;
|
|
127
|
+
while (off + BLOCK <= b.length) {
|
|
128
|
+
const name = b.toString('utf8', off, off + 100).replace(/\0.*$/s, '');
|
|
129
|
+
if (!name)
|
|
130
|
+
break; // zero block → end of archive
|
|
131
|
+
const size = parseInt(b.toString('ascii', off + 124, off + 136).replace(/\0.*$/s, '').trim(), 8) || 0;
|
|
132
|
+
files.push({ path: name, data: new Uint8Array(b.subarray(off + BLOCK, off + BLOCK + size)) });
|
|
133
|
+
off += BLOCK + Math.ceil(size / BLOCK) * BLOCK;
|
|
134
|
+
}
|
|
135
|
+
return files;
|
|
136
|
+
}
|
|
137
|
+
/** gunzip + untar an `.osplugin` blob into its files. */
|
|
138
|
+
export function readTarGz(blob) {
|
|
139
|
+
return readTar(gunzipSync(Buffer.from(blob)));
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Extract + parse the compiled `objectstack.plugin.json` from an `.osplugin`
|
|
143
|
+
* blob. Throws if the manifest is absent or not valid JSON.
|
|
144
|
+
*/
|
|
145
|
+
export function readOspluginManifest(blob) {
|
|
146
|
+
const entry = readTarGz(blob).find((f) => f.path === MANIFEST_FILENAME);
|
|
147
|
+
if (!entry)
|
|
148
|
+
throw new Error(`${MANIFEST_FILENAME} not found in artifact`);
|
|
149
|
+
return JSON.parse(Buffer.from(entry.data).toString('utf8'));
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=osplugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"osplugin.js","sourceRoot":"","sources":["../../src/utils/osplugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface ExprIssue {
|
|
2
|
+
where: string;
|
|
3
|
+
message: string;
|
|
4
|
+
source: string;
|
|
5
|
+
}
|
|
6
|
+
type AnyRec = Record<string, unknown>;
|
|
7
|
+
/**
|
|
8
|
+
* Validate every predicate in the stack. Returns the list of issues (empty =
|
|
9
|
+
* clean). Caller decides how to surface / whether to fail the build.
|
|
10
|
+
*/
|
|
11
|
+
export declare function validateStackExpressions(stack: AnyRec): ExprIssue[];
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=validate-expressions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-expressions.d.ts","sourceRoot":"","sources":["../../src/utils/validate-expressions.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA0BtC;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,CA2DnE"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.
|
|
2
|
+
/**
|
|
3
|
+
* Build-time expression validation (ADR-0032 §Decision 1a + 1b).
|
|
4
|
+
*
|
|
5
|
+
* Runs at `objectstack compile`, where the whole normalized stack is in hand —
|
|
6
|
+
* so flow conditions can be checked against the *resolved* object schema
|
|
7
|
+
* (field existence) in addition to CEL syntax. Uses the one shared validator
|
|
8
|
+
* from `@objectstack/formula`, so the verdict matches `registerFlow` and the
|
|
9
|
+
* agent `validate_expression` tool exactly.
|
|
10
|
+
*
|
|
11
|
+
* Scope (v1): flow predicates (start/decision `config.condition` + edge
|
|
12
|
+
* `condition`) and object validation-rule / formula predicates. Each error is
|
|
13
|
+
* located (flow/object + node/edge/field) with a corrective message.
|
|
14
|
+
*/
|
|
15
|
+
import { validateExpression } from '@objectstack/formula';
|
|
16
|
+
/** Coerce an `objects` collection (array or name-keyed map) to an array. */
|
|
17
|
+
function asArray(v) {
|
|
18
|
+
if (Array.isArray(v))
|
|
19
|
+
return v;
|
|
20
|
+
if (v && typeof v === 'object') {
|
|
21
|
+
return Object.entries(v).map(([name, def]) => ({ name, ...def }));
|
|
22
|
+
}
|
|
23
|
+
return [];
|
|
24
|
+
}
|
|
25
|
+
/** object name → set of its field names, for schema-aware field checks. */
|
|
26
|
+
function buildFieldIndex(objects) {
|
|
27
|
+
const idx = new Map();
|
|
28
|
+
for (const obj of objects) {
|
|
29
|
+
const name = typeof obj.name === 'string' ? obj.name : undefined;
|
|
30
|
+
if (!name)
|
|
31
|
+
continue;
|
|
32
|
+
const fields = obj.fields;
|
|
33
|
+
let names = [];
|
|
34
|
+
if (Array.isArray(fields))
|
|
35
|
+
names = fields.map(f => f.name).filter((n) => typeof n === 'string');
|
|
36
|
+
else if (fields && typeof fields === 'object')
|
|
37
|
+
names = Object.keys(fields);
|
|
38
|
+
idx.set(name, names);
|
|
39
|
+
}
|
|
40
|
+
return idx;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Validate every predicate in the stack. Returns the list of issues (empty =
|
|
44
|
+
* clean). Caller decides how to surface / whether to fail the build.
|
|
45
|
+
*/
|
|
46
|
+
export function validateStackExpressions(stack) {
|
|
47
|
+
const issues = [];
|
|
48
|
+
const objects = asArray(stack.objects);
|
|
49
|
+
const fieldIndex = buildFieldIndex(objects);
|
|
50
|
+
const check = (where, raw, objectName) => {
|
|
51
|
+
if (raw == null)
|
|
52
|
+
return;
|
|
53
|
+
const fields = objectName ? fieldIndex.get(objectName) : undefined;
|
|
54
|
+
const res = validateExpression('predicate', raw, objectName ? { objectName, fields } : undefined);
|
|
55
|
+
for (const e of res.errors)
|
|
56
|
+
issues.push({ where, message: e.message, source: e.source });
|
|
57
|
+
};
|
|
58
|
+
// ── Flows ──────────────────────────────────────────────────────────
|
|
59
|
+
for (const flow of asArray(stack.flows)) {
|
|
60
|
+
const flowName = typeof flow.name === 'string' ? flow.name : '(unnamed flow)';
|
|
61
|
+
const nodes = Array.isArray(flow.nodes) ? flow.nodes : [];
|
|
62
|
+
const edges = Array.isArray(flow.edges) ? flow.edges : [];
|
|
63
|
+
// The record-change target object — `record.*` refs resolve against it.
|
|
64
|
+
const startNode = nodes.find(n => n.type === 'start');
|
|
65
|
+
const startCfg = (startNode?.config ?? {});
|
|
66
|
+
const objectName = typeof startCfg.objectName === 'string' ? startCfg.objectName : undefined;
|
|
67
|
+
for (const node of nodes) {
|
|
68
|
+
const cfg = (node.config ?? {});
|
|
69
|
+
check(`flow '${flowName}' · node '${node.id}' (${node.type}) condition`, cfg.condition, objectName);
|
|
70
|
+
}
|
|
71
|
+
for (const edge of edges) {
|
|
72
|
+
check(`flow '${flowName}' · edge '${edge.id}' (${edge.source}→${edge.target}) condition`, edge.condition, objectName);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
// ── Object validation-rule + formula predicates ────────────────────
|
|
76
|
+
for (const obj of objects) {
|
|
77
|
+
const objectName = typeof obj.name === 'string' ? obj.name : undefined;
|
|
78
|
+
const validations = obj.validations ?? obj.validationRules;
|
|
79
|
+
for (const rule of asArray(validations)) {
|
|
80
|
+
const where = `object '${objectName}' · validation '${rule.name ?? '?'}'`;
|
|
81
|
+
// Common predicate keys across rule shapes.
|
|
82
|
+
check(where, rule.expression ?? rule.predicate ?? rule.condition ?? rule.formula, objectName);
|
|
83
|
+
}
|
|
84
|
+
// Field-level formulas (computed fields) reference the same object.
|
|
85
|
+
const fields = obj.fields;
|
|
86
|
+
const fieldList = Array.isArray(fields)
|
|
87
|
+
? fields
|
|
88
|
+
: (fields && typeof fields === 'object' ? Object.values(fields) : []);
|
|
89
|
+
for (const f of fieldList) {
|
|
90
|
+
if (f && typeof f === 'object' && f.formula) {
|
|
91
|
+
// formulas are `value` role (any return type), still CEL.
|
|
92
|
+
const res = validateExpression('value', f.formula, objectName ? { objectName, fields: fieldIndex.get(objectName) } : undefined);
|
|
93
|
+
for (const e of res.errors) {
|
|
94
|
+
issues.push({ where: `object '${objectName}' · field '${f.name ?? '?'}' formula`, message: e.message, source: e.source });
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return issues;
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=validate-expressions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-expressions.js","sourceRoot":"","sources":["../../src/utils/validate-expressions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-expressions.test.d.ts","sourceRoot":"","sources":["../../src/utils/validate-expressions.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { validateStackExpressions } from './validate-expressions.js';
|
|
3
|
+
describe('validateStackExpressions (ADR-0032 build-time)', () => {
|
|
4
|
+
const objects = [
|
|
5
|
+
{ name: 'crm_lead', fields: { rating: { type: 'number' }, status: { type: 'text' } } },
|
|
6
|
+
];
|
|
7
|
+
it('passes a clean stack', () => {
|
|
8
|
+
const issues = validateStackExpressions({
|
|
9
|
+
objects,
|
|
10
|
+
flows: [{
|
|
11
|
+
name: 'lead_flow',
|
|
12
|
+
nodes: [
|
|
13
|
+
{ id: 'start', type: 'start', config: { objectName: 'crm_lead' } },
|
|
14
|
+
{ id: 'check', type: 'decision', config: { condition: 'record.rating >= 4' } },
|
|
15
|
+
],
|
|
16
|
+
edges: [{ id: 'e1', source: 'check', target: 'end', condition: 'record.rating < 4' }],
|
|
17
|
+
}],
|
|
18
|
+
});
|
|
19
|
+
expect(issues).toHaveLength(0);
|
|
20
|
+
});
|
|
21
|
+
it('flags a brace-in-CEL condition with location + corrective message', () => {
|
|
22
|
+
const issues = validateStackExpressions({
|
|
23
|
+
objects,
|
|
24
|
+
flows: [{
|
|
25
|
+
name: 'lead_flow',
|
|
26
|
+
nodes: [
|
|
27
|
+
{ id: 'start', type: 'start', config: { objectName: 'crm_lead' } },
|
|
28
|
+
{ id: 'check', type: 'decision', config: { condition: '{record.rating} >= 4' } },
|
|
29
|
+
],
|
|
30
|
+
edges: [],
|
|
31
|
+
}],
|
|
32
|
+
});
|
|
33
|
+
expect(issues).toHaveLength(1);
|
|
34
|
+
expect(issues[0].where).toContain("flow 'lead_flow'");
|
|
35
|
+
expect(issues[0].where).toContain("node 'check'");
|
|
36
|
+
expect(issues[0].message).toMatch(/map literal|bare reference/);
|
|
37
|
+
expect(issues[0].source).toBe('{record.rating} >= 4');
|
|
38
|
+
});
|
|
39
|
+
it('flags an unknown record field against the resolved schema (did-you-mean)', () => {
|
|
40
|
+
const issues = validateStackExpressions({
|
|
41
|
+
objects,
|
|
42
|
+
flows: [{
|
|
43
|
+
name: 'lead_flow',
|
|
44
|
+
nodes: [
|
|
45
|
+
{ id: 'start', type: 'start', config: { objectName: 'crm_lead' } },
|
|
46
|
+
{ id: 'check', type: 'decision', config: { condition: 'record.raitng >= 4' } },
|
|
47
|
+
],
|
|
48
|
+
edges: [],
|
|
49
|
+
}],
|
|
50
|
+
});
|
|
51
|
+
expect(issues).toHaveLength(1);
|
|
52
|
+
expect(issues[0].message).toMatch(/unknown field `raitng`/);
|
|
53
|
+
expect(issues[0].message).toMatch(/did you mean `rating`/);
|
|
54
|
+
});
|
|
55
|
+
it('validates object validation-rule predicates too', () => {
|
|
56
|
+
const issues = validateStackExpressions({
|
|
57
|
+
objects: [
|
|
58
|
+
{ name: 'crm_lead', fields: { rating: {} }, validations: [{ name: 'r1', expression: '{record.rating} > 0' }] },
|
|
59
|
+
],
|
|
60
|
+
});
|
|
61
|
+
expect(issues).toHaveLength(1);
|
|
62
|
+
expect(issues[0].where).toContain("validation 'r1'");
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
//# sourceMappingURL=validate-expressions.test.js.map
|