@elaraai/e3-core 0.0.1-beta.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/LICENSE.md +50 -0
- package/README.md +76 -0
- package/dist/src/dataflow.d.ts +96 -0
- package/dist/src/dataflow.d.ts.map +1 -0
- package/dist/src/dataflow.js +433 -0
- package/dist/src/dataflow.js.map +1 -0
- package/dist/src/errors.d.ts +87 -0
- package/dist/src/errors.d.ts.map +1 -0
- package/dist/src/errors.js +178 -0
- package/dist/src/errors.js.map +1 -0
- package/dist/src/executions.d.ts +163 -0
- package/dist/src/executions.d.ts.map +1 -0
- package/dist/src/executions.js +535 -0
- package/dist/src/executions.js.map +1 -0
- package/dist/src/formats.d.ts +38 -0
- package/dist/src/formats.d.ts.map +1 -0
- package/dist/src/formats.js +115 -0
- package/dist/src/formats.js.map +1 -0
- package/dist/src/gc.d.ts +54 -0
- package/dist/src/gc.d.ts.map +1 -0
- package/dist/src/gc.js +232 -0
- package/dist/src/gc.js.map +1 -0
- package/dist/src/index.d.ts +23 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +68 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/objects.d.ts +62 -0
- package/dist/src/objects.d.ts.map +1 -0
- package/dist/src/objects.js +245 -0
- package/dist/src/objects.js.map +1 -0
- package/dist/src/packages.d.ts +85 -0
- package/dist/src/packages.d.ts.map +1 -0
- package/dist/src/packages.js +355 -0
- package/dist/src/packages.js.map +1 -0
- package/dist/src/repository.d.ts +38 -0
- package/dist/src/repository.d.ts.map +1 -0
- package/dist/src/repository.js +103 -0
- package/dist/src/repository.js.map +1 -0
- package/dist/src/tasks.d.ts +63 -0
- package/dist/src/tasks.d.ts.map +1 -0
- package/dist/src/tasks.js +145 -0
- package/dist/src/tasks.js.map +1 -0
- package/dist/src/test-helpers.d.ts +44 -0
- package/dist/src/test-helpers.d.ts.map +1 -0
- package/dist/src/test-helpers.js +141 -0
- package/dist/src/test-helpers.js.map +1 -0
- package/dist/src/trees.d.ts +156 -0
- package/dist/src/trees.d.ts.map +1 -0
- package/dist/src/trees.js +607 -0
- package/dist/src/trees.js.map +1 -0
- package/dist/src/workspaces.d.ts +116 -0
- package/dist/src/workspaces.d.ts.map +1 -0
- package/dist/src/workspaces.js +356 -0
- package/dist/src/workspaces.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataflow.js","sourceRoot":"","sources":["../../src/dataflow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,YAAY,GAGb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,UAAU,GAEX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,OAAO,EACP,sBAAsB,EACtB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAkF7B,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAAC,QAAgB,EAAE,EAAU;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IACpE,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,sBAAsB,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,OAAO,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC;IACpD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,gFAAgF;AAChF,4BAA4B;AAC5B,gFAAgF;AAEhF;;;;;;;GAOG;AACH,KAAK,UAAU,oBAAoB,CACjC,QAAgB,EAChB,EAAU;IAMV,2CAA2C;IAC3C,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAErD,uCAAuC;IACvC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAEnD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC9C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,2BAA2B;IAE3E,wDAAwD;IACxD,MAAM,WAAW,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IACpD,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEhD,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAE1C,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE;YACtB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,IAAI;YACJ,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,eAAe,EAAE,CAAC,EAAE,yBAAyB;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,gEAAgE;IAChE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAuB,CAAC;IACtD,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QACxC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,0DAA0D;IAC1D,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;QACzC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAEpD,IAAI,YAAY,EAAE,CAAC;gBACjB,+CAA+C;gBAC/C,yDAAyD;gBACzD,yDAAyD;gBACzD,2CAA2C;gBAC3C,cAAc,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC;YACD,wEAAwE;iBACnE,CAAC;gBACJ,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;gBAC3E,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;oBAC7B,8DAA8D;oBAC9D,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;AACrD,CAAC;AAED,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,EAAU,EACV,UAA2B,EAAE;IAE7B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;IAE7C,IAAI,SAAgC,CAAC;IACrC,IAAI,cAAwC,CAAC;IAE7C,IAAI,CAAC;QACH,yBAAyB;QACzB,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACvD,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAC5B,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,0BAA0B;QAC1B,IAAI,GAAG,YAAY,OAAO;YAAE,MAAM,GAAG,CAAC;QACtC,yBAAyB;QACzB,MAAM,IAAI,aAAa,CAAC,qCAAqC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3G,CAAC;IAED,4BAA4B;IAC5B,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM;QACtC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC,CAAC,IAAI,CAAC;IAET,kBAAkB;IAClB,IAAI,iBAAiB,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,wBAAwB;IACxB,MAAM,OAAO,GAA0B,EAAE,CAAC;IAC1C,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,oDAAoD;IACpD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,yEAAyE;IACzE,+BAA+B;IAC/B,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1D,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,oEAAoE;IACpE,KAAK,UAAU,eAAe,CAAC,QAAgB;QAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QAEtC,8BAA8B;QAC9B,MAAM,kBAAkB,GAAa,EAAE,CAAC;QACxC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;YACjF,IAAI,OAAO,KAAK,OAAO,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACzC,sCAAsC;gBACtC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,uDAAuD;QACvD,MAAM,MAAM,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC9C,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE/E,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;YAC9B,yCAAyC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,6DAA6D;QAC7D,4DAA4D;QAC5D,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACrG,IAAI,OAAO,KAAK,OAAO,IAAI,YAAY,KAAK,gBAAgB,EAAE,CAAC;YAC7D,mEAAmE;YACnE,0CAA0C;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,wBAAwB;IACxB,KAAK,UAAU,WAAW,CAAC,QAAgB;QACzC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QACtC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEjC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC;QAEhC,sBAAsB;QACtB,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;YACjF,IAAI,OAAO,KAAK,OAAO,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACzC,4EAA4E;gBAC5E,OAAO;oBACL,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,KAAK;oBACb,KAAK,EAAE,OAAO;oBACd,KAAK,EAAE,YAAY,YAAY,CAAC,SAAS,CAAC,8BAA8B,OAAO,GAAG;oBAClF,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa;iBACrC,CAAC;YACJ,CAAC;YACD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAED,mBAAmB;QACnB,MAAM,WAAW,GAAmB;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,QAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YACpF,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,QAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SACrF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAEhF,oBAAoB;QACpB,MAAM,UAAU,GAAwB;YACtC,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa;SACrC,CAAC;QAEF,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC7B,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC;QAC/C,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,SAAS,CAAC;YACnD,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC;QAC/C,CAAC;QAED,mDAAmD;QACnD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACpD,MAAM,yBAAyB,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACpF,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,2CAA2C;IAC3C,SAAS,gBAAgB,CAAC,QAAgB;QACxC,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAC7D,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;YACjC,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,SAAS;YAEhE,oCAAoC;YACpC,IAAI,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,SAAS;YAEnE,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;YACxC,OAAO,CAAC,eAAe,EAAE,CAAC;YAE1B,IAAI,OAAO,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,SAAS,cAAc,CAAC,QAAgB;QACtC,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAC7D,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;YACjC,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,SAAS;YAEhE,oCAAoC;YACpC,IAAI,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,SAAS;YAEnE,mBAAmB;YACnB,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACvB,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAC;YACH,OAAO,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAC;YAEH,cAAc,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEzD,KAAK,UAAU,YAAY;QACzB,OAAO,IAAI,EAAE,CAAC;YACZ,sBAAsB;YACtB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC1D,MAAM;YACR,CAAC;YAED,qDAAqD;YACrD,OAAO,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,GAAG,WAAW,EAAE,CAAC;gBAClF,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,EAAG,CAAC;gBAErC,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAAE,SAAS;gBAElE,+DAA+D;gBAC/D,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;gBACzD,IAAI,gBAAgB,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBAChD,mDAAmD;oBACnD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACxB,MAAM,EAAE,CAAC;oBACT,MAAM,MAAM,GAAwB;wBAClC,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,IAAI;wBACZ,KAAK,EAAE,SAAS;wBAChB,QAAQ,EAAE,CAAC;qBACZ,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACrB,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC;oBACjC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;oBAC3B,SAAS;gBACX,CAAC;gBAED,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAEzB,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;oBAC1B,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;wBAE3C,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBAC5B,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBACxB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACrB,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC;wBAEjC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;4BAC/B,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gCAClB,MAAM,EAAE,CAAC;4BACX,CAAC;iCAAM,CAAC;gCACN,QAAQ,EAAE,CAAC;4BACb,CAAC;4BACD,gBAAgB,CAAC,QAAQ,CAAC,CAAC;wBAC7B,CAAC;6BAAM,CAAC;4BACN,MAAM,EAAE,CAAC;4BACT,UAAU,GAAG,IAAI,CAAC;4BAClB,cAAc,CAAC,QAAQ,CAAC,CAAC;wBAC3B,CAAC;oBACH,CAAC;4BAAS,CAAC;wBACT,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC,CAAC,EAAE,CAAC;gBAEL,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;YAED,iEAAiE;YACjE,IAAI,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,gFAAgF;gBAChF,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,YAAY,EAAE,CAAC;IAErB,+BAA+B;IAC/B,IAAI,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,UAAU;QACpB,QAAQ;QACR,MAAM;QACN,MAAM;QACN,OAAO;QACP,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;KACjC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,EAAU;IAUV,IAAI,SAAgC,CAAC;IACrC,IAAI,YAAiC,CAAC;IAEtC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACvD,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAC5B,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,OAAO;YAAE,MAAM,GAAG,CAAC;QACtC,MAAM,IAAI,aAAa,CAAC,qCAAqC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3G,CAAC;IAED,MAAM,KAAK,GAMN,EAAE,CAAC;IAER,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;QACzC,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACpD,IAAI,YAAY,EAAE,CAAC;gBACjB,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC;YACzC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;YACrC,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Domain error types for e3-core.
|
|
7
|
+
*
|
|
8
|
+
* All e3 errors extend E3Error, allowing callers to catch all domain errors
|
|
9
|
+
* with `if (err instanceof E3Error)` or specific errors with their class.
|
|
10
|
+
*/
|
|
11
|
+
import type { TaskExecutionResult } from './dataflow.js';
|
|
12
|
+
/** Base class for all e3 errors */
|
|
13
|
+
export declare class E3Error extends Error {
|
|
14
|
+
constructor(message: string);
|
|
15
|
+
}
|
|
16
|
+
export declare class RepositoryNotFoundError extends E3Error {
|
|
17
|
+
readonly path: string;
|
|
18
|
+
constructor(path: string);
|
|
19
|
+
}
|
|
20
|
+
export declare class WorkspaceNotFoundError extends E3Error {
|
|
21
|
+
readonly workspace: string;
|
|
22
|
+
constructor(workspace: string);
|
|
23
|
+
}
|
|
24
|
+
export declare class WorkspaceNotDeployedError extends E3Error {
|
|
25
|
+
readonly workspace: string;
|
|
26
|
+
constructor(workspace: string);
|
|
27
|
+
}
|
|
28
|
+
export declare class WorkspaceExistsError extends E3Error {
|
|
29
|
+
readonly workspace: string;
|
|
30
|
+
constructor(workspace: string);
|
|
31
|
+
}
|
|
32
|
+
export declare class PackageNotFoundError extends E3Error {
|
|
33
|
+
readonly packageName: string;
|
|
34
|
+
readonly version?: string | undefined;
|
|
35
|
+
constructor(packageName: string, version?: string | undefined);
|
|
36
|
+
}
|
|
37
|
+
export declare class PackageInvalidError extends E3Error {
|
|
38
|
+
readonly reason: string;
|
|
39
|
+
constructor(reason: string);
|
|
40
|
+
}
|
|
41
|
+
export declare class PackageExistsError extends E3Error {
|
|
42
|
+
readonly packageName: string;
|
|
43
|
+
readonly version: string;
|
|
44
|
+
constructor(packageName: string, version: string);
|
|
45
|
+
}
|
|
46
|
+
export declare class DatasetNotFoundError extends E3Error {
|
|
47
|
+
readonly workspace: string;
|
|
48
|
+
readonly path: string;
|
|
49
|
+
constructor(workspace: string, path: string);
|
|
50
|
+
}
|
|
51
|
+
export declare class TaskNotFoundError extends E3Error {
|
|
52
|
+
readonly task: string;
|
|
53
|
+
constructor(task: string);
|
|
54
|
+
}
|
|
55
|
+
export declare class ObjectNotFoundError extends E3Error {
|
|
56
|
+
readonly hash: string;
|
|
57
|
+
constructor(hash: string);
|
|
58
|
+
}
|
|
59
|
+
export declare class ObjectCorruptError extends E3Error {
|
|
60
|
+
readonly hash: string;
|
|
61
|
+
readonly reason: string;
|
|
62
|
+
constructor(hash: string, reason: string);
|
|
63
|
+
}
|
|
64
|
+
export declare class ExecutionCorruptError extends E3Error {
|
|
65
|
+
readonly taskHash: string;
|
|
66
|
+
readonly inputsHash: string;
|
|
67
|
+
readonly cause: Error;
|
|
68
|
+
constructor(taskHash: string, inputsHash: string, cause: Error);
|
|
69
|
+
}
|
|
70
|
+
export declare class DataflowError extends E3Error {
|
|
71
|
+
readonly taskResults?: TaskExecutionResult[] | undefined;
|
|
72
|
+
readonly cause?: Error | undefined;
|
|
73
|
+
constructor(message: string, taskResults?: TaskExecutionResult[] | undefined, cause?: Error | undefined);
|
|
74
|
+
}
|
|
75
|
+
export declare class PermissionDeniedError extends E3Error {
|
|
76
|
+
readonly path: string;
|
|
77
|
+
constructor(path: string);
|
|
78
|
+
}
|
|
79
|
+
/** Check if error is ENOENT (file not found) */
|
|
80
|
+
export declare function isNotFoundError(err: unknown): boolean;
|
|
81
|
+
/** Check if error is EACCES (permission denied) */
|
|
82
|
+
export declare function isPermissionError(err: unknown): boolean;
|
|
83
|
+
/** Check if error is EEXIST (already exists) */
|
|
84
|
+
export declare function isExistsError(err: unknown): boolean;
|
|
85
|
+
/** Wrap unknown errors with context */
|
|
86
|
+
export declare function wrapError(err: unknown, message: string): E3Error;
|
|
87
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAMzD,mCAAmC;AACnC,qBAAa,OAAQ,SAAQ,KAAK;gBACpB,OAAO,EAAE,MAAM;CAI5B;AAMD,qBAAa,uBAAwB,SAAQ,OAAO;aACtB,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM;CAGzC;AAMD,qBAAa,sBAAuB,SAAQ,OAAO;aACrB,SAAS,EAAE,MAAM;gBAAjB,SAAS,EAAE,MAAM;CAG9C;AAED,qBAAa,yBAA0B,SAAQ,OAAO;aACxB,SAAS,EAAE,MAAM;gBAAjB,SAAS,EAAE,MAAM;CAG9C;AAED,qBAAa,oBAAqB,SAAQ,OAAO;aACnB,SAAS,EAAE,MAAM;gBAAjB,SAAS,EAAE,MAAM;CAG9C;AAMD,qBAAa,oBAAqB,SAAQ,OAAO;aAE7B,WAAW,EAAE,MAAM;aACnB,OAAO,CAAC,EAAE,MAAM;gBADhB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,YAAA;CAQnC;AAED,qBAAa,mBAAoB,SAAQ,OAAO;aAClB,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;CAG3C;AAED,qBAAa,kBAAmB,SAAQ,OAAO;aAE3B,WAAW,EAAE,MAAM;aACnB,OAAO,EAAE,MAAM;gBADf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM;CAIlC;AAMD,qBAAa,oBAAqB,SAAQ,OAAO;aAE7B,SAAS,EAAE,MAAM;aACjB,IAAI,EAAE,MAAM;gBADZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM;CAI/B;AAMD,qBAAa,iBAAkB,SAAQ,OAAO;aAChB,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM;CAGzC;AAMD,qBAAa,mBAAoB,SAAQ,OAAO;aAClB,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM;CAGzC;AAED,qBAAa,kBAAmB,SAAQ,OAAO;aAE3B,IAAI,EAAE,MAAM;aACZ,MAAM,EAAE,MAAM;gBADd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM;CAIjC;AAMD,qBAAa,qBAAsB,SAAQ,OAAO;aAE9B,QAAQ,EAAE,MAAM;aAChB,UAAU,EAAE,MAAM;aAClB,KAAK,EAAE,KAAK;gBAFZ,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,KAAK;CAM/B;AAMD,qBAAa,aAAc,SAAQ,OAAO;aAGtB,WAAW,CAAC,EAAE,mBAAmB,EAAE;aACnC,KAAK,CAAC,EAAE,KAAK;gBAF7B,OAAO,EAAE,MAAM,EACC,WAAW,CAAC,EAAE,mBAAmB,EAAE,YAAA,EACnC,KAAK,CAAC,EAAE,KAAK,YAAA;CAIhC;AAMD,qBAAa,qBAAsB,SAAQ,OAAO;aACpB,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM;CAGzC;AAMD,gDAAgD;AAChD,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAIrD;AAED,mDAAmD;AACnD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAIvD;AAED,gDAAgD;AAChD,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAInD;AAED,uCAAuC;AACvC,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAIhE"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
// =============================================================================
|
|
6
|
+
// Base Error
|
|
7
|
+
// =============================================================================
|
|
8
|
+
/** Base class for all e3 errors */
|
|
9
|
+
export class E3Error extends Error {
|
|
10
|
+
constructor(message) {
|
|
11
|
+
super(message);
|
|
12
|
+
this.name = this.constructor.name;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
// =============================================================================
|
|
16
|
+
// Repository Errors
|
|
17
|
+
// =============================================================================
|
|
18
|
+
export class RepositoryNotFoundError extends E3Error {
|
|
19
|
+
path;
|
|
20
|
+
constructor(path) {
|
|
21
|
+
super(`Repository not found at '${path}'`);
|
|
22
|
+
this.path = path;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
// =============================================================================
|
|
26
|
+
// Workspace Errors
|
|
27
|
+
// =============================================================================
|
|
28
|
+
export class WorkspaceNotFoundError extends E3Error {
|
|
29
|
+
workspace;
|
|
30
|
+
constructor(workspace) {
|
|
31
|
+
super(`Workspace '${workspace}' does not exist`);
|
|
32
|
+
this.workspace = workspace;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export class WorkspaceNotDeployedError extends E3Error {
|
|
36
|
+
workspace;
|
|
37
|
+
constructor(workspace) {
|
|
38
|
+
super(`Workspace '${workspace}' has no package deployed`);
|
|
39
|
+
this.workspace = workspace;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export class WorkspaceExistsError extends E3Error {
|
|
43
|
+
workspace;
|
|
44
|
+
constructor(workspace) {
|
|
45
|
+
super(`Workspace '${workspace}' already exists`);
|
|
46
|
+
this.workspace = workspace;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
// =============================================================================
|
|
50
|
+
// Package Errors
|
|
51
|
+
// =============================================================================
|
|
52
|
+
export class PackageNotFoundError extends E3Error {
|
|
53
|
+
packageName;
|
|
54
|
+
version;
|
|
55
|
+
constructor(packageName, version) {
|
|
56
|
+
super(version
|
|
57
|
+
? `Package '${packageName}@${version}' not found`
|
|
58
|
+
: `Package '${packageName}' not found`);
|
|
59
|
+
this.packageName = packageName;
|
|
60
|
+
this.version = version;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
export class PackageInvalidError extends E3Error {
|
|
64
|
+
reason;
|
|
65
|
+
constructor(reason) {
|
|
66
|
+
super(`Invalid package: ${reason}`);
|
|
67
|
+
this.reason = reason;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
export class PackageExistsError extends E3Error {
|
|
71
|
+
packageName;
|
|
72
|
+
version;
|
|
73
|
+
constructor(packageName, version) {
|
|
74
|
+
super(`Package '${packageName}@${version}' already exists`);
|
|
75
|
+
this.packageName = packageName;
|
|
76
|
+
this.version = version;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// =============================================================================
|
|
80
|
+
// Dataset Errors
|
|
81
|
+
// =============================================================================
|
|
82
|
+
export class DatasetNotFoundError extends E3Error {
|
|
83
|
+
workspace;
|
|
84
|
+
path;
|
|
85
|
+
constructor(workspace, path) {
|
|
86
|
+
super(`Dataset '${path}' not found in workspace '${workspace}'`);
|
|
87
|
+
this.workspace = workspace;
|
|
88
|
+
this.path = path;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
// =============================================================================
|
|
92
|
+
// Task Errors
|
|
93
|
+
// =============================================================================
|
|
94
|
+
export class TaskNotFoundError extends E3Error {
|
|
95
|
+
task;
|
|
96
|
+
constructor(task) {
|
|
97
|
+
super(`Task '${task}' not found`);
|
|
98
|
+
this.task = task;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// =============================================================================
|
|
102
|
+
// Object Errors
|
|
103
|
+
// =============================================================================
|
|
104
|
+
export class ObjectNotFoundError extends E3Error {
|
|
105
|
+
hash;
|
|
106
|
+
constructor(hash) {
|
|
107
|
+
super(`Object '${hash.slice(0, 8)}...' not found`);
|
|
108
|
+
this.hash = hash;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
export class ObjectCorruptError extends E3Error {
|
|
112
|
+
hash;
|
|
113
|
+
reason;
|
|
114
|
+
constructor(hash, reason) {
|
|
115
|
+
super(`Object ${hash.slice(0, 8)}... is corrupt: ${reason}`);
|
|
116
|
+
this.hash = hash;
|
|
117
|
+
this.reason = reason;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// =============================================================================
|
|
121
|
+
// Execution Errors
|
|
122
|
+
// =============================================================================
|
|
123
|
+
export class ExecutionCorruptError extends E3Error {
|
|
124
|
+
taskHash;
|
|
125
|
+
inputsHash;
|
|
126
|
+
cause;
|
|
127
|
+
constructor(taskHash, inputsHash, cause) {
|
|
128
|
+
super(`Execution ${taskHash.slice(0, 8)}.../${inputsHash.slice(0, 8)}... is corrupt: ${cause.message}`);
|
|
129
|
+
this.taskHash = taskHash;
|
|
130
|
+
this.inputsHash = inputsHash;
|
|
131
|
+
this.cause = cause;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
// =============================================================================
|
|
135
|
+
// Dataflow Errors
|
|
136
|
+
// =============================================================================
|
|
137
|
+
export class DataflowError extends E3Error {
|
|
138
|
+
taskResults;
|
|
139
|
+
cause;
|
|
140
|
+
constructor(message, taskResults, cause) {
|
|
141
|
+
super(cause ? `${message}: ${cause.message}` : message);
|
|
142
|
+
this.taskResults = taskResults;
|
|
143
|
+
this.cause = cause;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// =============================================================================
|
|
147
|
+
// Generic Errors
|
|
148
|
+
// =============================================================================
|
|
149
|
+
export class PermissionDeniedError extends E3Error {
|
|
150
|
+
path;
|
|
151
|
+
constructor(path) {
|
|
152
|
+
super(`Permission denied: '${path}'`);
|
|
153
|
+
this.path = path;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
// =============================================================================
|
|
157
|
+
// Helper Functions
|
|
158
|
+
// =============================================================================
|
|
159
|
+
/** Check if error is ENOENT (file not found) */
|
|
160
|
+
export function isNotFoundError(err) {
|
|
161
|
+
return (err instanceof Error && err.code === 'ENOENT');
|
|
162
|
+
}
|
|
163
|
+
/** Check if error is EACCES (permission denied) */
|
|
164
|
+
export function isPermissionError(err) {
|
|
165
|
+
return (err instanceof Error && err.code === 'EACCES');
|
|
166
|
+
}
|
|
167
|
+
/** Check if error is EEXIST (already exists) */
|
|
168
|
+
export function isExistsError(err) {
|
|
169
|
+
return (err instanceof Error && err.code === 'EEXIST');
|
|
170
|
+
}
|
|
171
|
+
/** Wrap unknown errors with context */
|
|
172
|
+
export function wrapError(err, message) {
|
|
173
|
+
if (err instanceof E3Error)
|
|
174
|
+
return err;
|
|
175
|
+
const cause = err instanceof Error ? err.message : String(err);
|
|
176
|
+
return new E3Error(`${message}: ${cause}`);
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF,mCAAmC;AACnC,MAAM,OAAO,OAAQ,SAAQ,KAAK;IAChC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;CACF;AAED,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,MAAM,OAAO,uBAAwB,SAAQ,OAAO;IACtB;IAA5B,YAA4B,IAAY;QACtC,KAAK,CAAC,4BAA4B,IAAI,GAAG,CAAC,CAAC;QADjB,SAAI,GAAJ,IAAI,CAAQ;IAExC,CAAC;CACF;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,MAAM,OAAO,sBAAuB,SAAQ,OAAO;IACrB;IAA5B,YAA4B,SAAiB;QAC3C,KAAK,CAAC,cAAc,SAAS,kBAAkB,CAAC,CAAC;QADvB,cAAS,GAAT,SAAS,CAAQ;IAE7C,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,OAAO;IACxB;IAA5B,YAA4B,SAAiB;QAC3C,KAAK,CAAC,cAAc,SAAS,2BAA2B,CAAC,CAAC;QADhC,cAAS,GAAT,SAAS,CAAQ;IAE7C,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,OAAO;IACnB;IAA5B,YAA4B,SAAiB;QAC3C,KAAK,CAAC,cAAc,SAAS,kBAAkB,CAAC,CAAC;QADvB,cAAS,GAAT,SAAS,CAAQ;IAE7C,CAAC;CACF;AAED,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,MAAM,OAAO,oBAAqB,SAAQ,OAAO;IAE7B;IACA;IAFlB,YACkB,WAAmB,EACnB,OAAgB;QAEhC,KAAK,CACH,OAAO;YACL,CAAC,CAAC,YAAY,WAAW,IAAI,OAAO,aAAa;YACjD,CAAC,CAAC,YAAY,WAAW,aAAa,CACzC,CAAC;QAPc,gBAAW,GAAX,WAAW,CAAQ;QACnB,YAAO,GAAP,OAAO,CAAS;IAOlC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,OAAO;IAClB;IAA5B,YAA4B,MAAc;QACxC,KAAK,CAAC,oBAAoB,MAAM,EAAE,CAAC,CAAC;QADV,WAAM,GAAN,MAAM,CAAQ;IAE1C,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,OAAO;IAE3B;IACA;IAFlB,YACkB,WAAmB,EACnB,OAAe;QAE/B,KAAK,CAAC,YAAY,WAAW,IAAI,OAAO,kBAAkB,CAAC,CAAC;QAH5C,gBAAW,GAAX,WAAW,CAAQ;QACnB,YAAO,GAAP,OAAO,CAAQ;IAGjC,CAAC;CACF;AAED,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,MAAM,OAAO,oBAAqB,SAAQ,OAAO;IAE7B;IACA;IAFlB,YACkB,SAAiB,EACjB,IAAY;QAE5B,KAAK,CAAC,YAAY,IAAI,6BAA6B,SAAS,GAAG,CAAC,CAAC;QAHjD,cAAS,GAAT,SAAS,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAAQ;IAG9B,CAAC;CACF;AAED,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF,MAAM,OAAO,iBAAkB,SAAQ,OAAO;IAChB;IAA5B,YAA4B,IAAY;QACtC,KAAK,CAAC,SAAS,IAAI,aAAa,CAAC,CAAC;QADR,SAAI,GAAJ,IAAI,CAAQ;IAExC,CAAC;CACF;AAED,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,MAAM,OAAO,mBAAoB,SAAQ,OAAO;IAClB;IAA5B,YAA4B,IAAY;QACtC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC;QADzB,SAAI,GAAJ,IAAI,CAAQ;IAExC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,OAAO;IAE3B;IACA;IAFlB,YACkB,IAAY,EACZ,MAAc;QAE9B,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;QAH7C,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAQ;IAGhC,CAAC;CACF;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,MAAM,OAAO,qBAAsB,SAAQ,OAAO;IAE9B;IACA;IACA;IAHlB,YACkB,QAAgB,EAChB,UAAkB,EAClB,KAAY;QAE5B,KAAK,CACH,aAAa,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,mBAAmB,KAAK,CAAC,OAAO,EAAE,CACjG,CAAC;QANc,aAAQ,GAAR,QAAQ,CAAQ;QAChB,eAAU,GAAV,UAAU,CAAQ;QAClB,UAAK,GAAL,KAAK,CAAO;IAK9B,CAAC;CACF;AAED,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF,MAAM,OAAO,aAAc,SAAQ,OAAO;IAGtB;IACA;IAHlB,YACE,OAAe,EACC,WAAmC,EACnC,KAAa;QAE7B,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAHxC,gBAAW,GAAX,WAAW,CAAwB;QACnC,UAAK,GAAL,KAAK,CAAQ;IAG/B,CAAC;CACF;AAED,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,MAAM,OAAO,qBAAsB,SAAQ,OAAO;IACpB;IAA5B,YAA4B,IAAY;QACtC,KAAK,CAAC,uBAAuB,IAAI,GAAG,CAAC,CAAC;QADZ,SAAI,GAAJ,IAAI,CAAQ;IAExC,CAAC;CACF;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,gDAAgD;AAChD,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,OAAO,CACL,GAAG,YAAY,KAAK,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,CACzE,CAAC;AACJ,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,OAAO,CACL,GAAG,YAAY,KAAK,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,CACzE,CAAC;AACJ,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,OAAO,CACL,GAAG,YAAY,KAAK,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,CACzE,CAAC;AACJ,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,SAAS,CAAC,GAAY,EAAE,OAAe;IACrD,IAAI,GAAG,YAAY,OAAO;QAAE,OAAO,GAAG,CAAC;IACvC,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/D,OAAO,IAAI,OAAO,CAAC,GAAG,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
import { type ExecutionStatus } from '@elaraai/e3-types';
|
|
6
|
+
/**
|
|
7
|
+
* Compute the combined hash of input hashes.
|
|
8
|
+
*
|
|
9
|
+
* Used to create a unique identifier for an execution based on its inputs.
|
|
10
|
+
* The order of inputs matters - different orderings produce different hashes.
|
|
11
|
+
*
|
|
12
|
+
* @param inputHashes - Array of input dataset hashes
|
|
13
|
+
* @returns Combined SHA256 hash
|
|
14
|
+
*/
|
|
15
|
+
export declare function inputsHash(inputHashes: string[]): string;
|
|
16
|
+
/**
|
|
17
|
+
* Get the filesystem path for an execution directory.
|
|
18
|
+
*
|
|
19
|
+
* @param repoPath - Path to .e3 repository
|
|
20
|
+
* @param taskHash - Hash of the task object
|
|
21
|
+
* @param inHash - Combined hash of input hashes
|
|
22
|
+
* @returns Path to execution directory: executions/<taskHash>/<inputsHash>/
|
|
23
|
+
*/
|
|
24
|
+
export declare function executionPath(repoPath: string, taskHash: string, inHash: string): string;
|
|
25
|
+
/**
|
|
26
|
+
* Get execution status.
|
|
27
|
+
*
|
|
28
|
+
* @param repoPath - Path to .e3 repository
|
|
29
|
+
* @param taskHash - Hash of the task object
|
|
30
|
+
* @param inHash - Combined hash of input hashes
|
|
31
|
+
* @returns ExecutionStatus or null if execution doesn't exist
|
|
32
|
+
* @throws {ExecutionCorruptError} If status file exists but cannot be decoded
|
|
33
|
+
*/
|
|
34
|
+
export declare function executionGet(repoPath: string, taskHash: string, inHash: string): Promise<ExecutionStatus | null>;
|
|
35
|
+
/**
|
|
36
|
+
* Get output hash for a completed execution.
|
|
37
|
+
*
|
|
38
|
+
* @param repoPath - Path to .e3 repository
|
|
39
|
+
* @param taskHash - Hash of the task object
|
|
40
|
+
* @param inHash - Combined hash of input hashes
|
|
41
|
+
* @returns Output hash or null if not complete or failed
|
|
42
|
+
*/
|
|
43
|
+
export declare function executionGetOutput(repoPath: string, taskHash: string, inHash: string): Promise<string | null>;
|
|
44
|
+
/**
|
|
45
|
+
* List all input hashes that have executions for a given task.
|
|
46
|
+
*
|
|
47
|
+
* @param repoPath - Path to .e3 repository
|
|
48
|
+
* @param taskHash - Hash of the task object
|
|
49
|
+
* @returns Array of input hashes
|
|
50
|
+
*/
|
|
51
|
+
export declare function executionListForTask(repoPath: string, taskHash: string): Promise<string[]>;
|
|
52
|
+
/**
|
|
53
|
+
* List all executions in the repository.
|
|
54
|
+
*
|
|
55
|
+
* @param repoPath - Path to .e3 repository
|
|
56
|
+
* @returns Array of { taskHash, inputsHash } objects
|
|
57
|
+
*/
|
|
58
|
+
export declare function executionList(repoPath: string): Promise<Array<{
|
|
59
|
+
taskHash: string;
|
|
60
|
+
inputsHash: string;
|
|
61
|
+
}>>;
|
|
62
|
+
/**
|
|
63
|
+
* Options for reading execution logs
|
|
64
|
+
*/
|
|
65
|
+
export interface LogReadOptions {
|
|
66
|
+
/** Byte offset to start reading from (default: 0) */
|
|
67
|
+
offset?: number;
|
|
68
|
+
/** Maximum bytes to read (default: 64KB) */
|
|
69
|
+
limit?: number;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Result of reading a log chunk
|
|
73
|
+
*/
|
|
74
|
+
export interface LogChunk {
|
|
75
|
+
/** Log content (UTF-8) */
|
|
76
|
+
data: string;
|
|
77
|
+
/** Byte offset of this chunk */
|
|
78
|
+
offset: number;
|
|
79
|
+
/** Bytes in this chunk */
|
|
80
|
+
size: number;
|
|
81
|
+
/** Total log file size (for pagination) */
|
|
82
|
+
totalSize: number;
|
|
83
|
+
/** True if this is the end of the file */
|
|
84
|
+
complete: boolean;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Read execution logs with pagination support.
|
|
88
|
+
*
|
|
89
|
+
* @param repoPath - Path to .e3 repository
|
|
90
|
+
* @param taskHash - Hash of the task object
|
|
91
|
+
* @param inHash - Combined hash of input hashes
|
|
92
|
+
* @param stream - Which log stream to read ('stdout' or 'stderr')
|
|
93
|
+
* @param options - Pagination options
|
|
94
|
+
* @returns Log chunk with data and metadata
|
|
95
|
+
*/
|
|
96
|
+
export declare function executionReadLog(repoPath: string, taskHash: string, inHash: string, stream: 'stdout' | 'stderr', options?: LogReadOptions): Promise<LogChunk>;
|
|
97
|
+
/**
|
|
98
|
+
* Evaluate command IR to get exec args.
|
|
99
|
+
*
|
|
100
|
+
* The IR is an East function: (inputs: Array<String>, output: String) -> Array<String>
|
|
101
|
+
*
|
|
102
|
+
* @param repoPath - Path to .e3 repository
|
|
103
|
+
* @param commandIrHash - Hash of the IR object
|
|
104
|
+
* @param inputPaths - Paths to staged input files
|
|
105
|
+
* @param outputPath - Path where output should be written
|
|
106
|
+
* @returns Array of strings to exec
|
|
107
|
+
*/
|
|
108
|
+
export declare function evaluateCommandIr(repoPath: string, commandIrHash: string, inputPaths: string[], outputPath: string): Promise<string[]>;
|
|
109
|
+
/**
|
|
110
|
+
* Check if a process is still alive based on stored identification
|
|
111
|
+
*/
|
|
112
|
+
export declare function isProcessAlive(pid: number, pidStartTime: number, bootId: string): Promise<boolean>;
|
|
113
|
+
/**
|
|
114
|
+
* Options for task execution
|
|
115
|
+
*/
|
|
116
|
+
export interface ExecuteOptions {
|
|
117
|
+
/** Re-run even if cached (default: false) */
|
|
118
|
+
force?: boolean;
|
|
119
|
+
/** Timeout in milliseconds (default: none) */
|
|
120
|
+
timeout?: number;
|
|
121
|
+
/** Stream stdout callback */
|
|
122
|
+
onStdout?: (data: string) => void;
|
|
123
|
+
/** Stream stderr callback */
|
|
124
|
+
onStderr?: (data: string) => void;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Result of task execution
|
|
128
|
+
*/
|
|
129
|
+
export interface ExecutionResult {
|
|
130
|
+
/** Combined inputs hash (identifies this execution) */
|
|
131
|
+
inputsHash: string;
|
|
132
|
+
/** True if result was from cache */
|
|
133
|
+
cached: boolean;
|
|
134
|
+
/** Final state */
|
|
135
|
+
state: 'success' | 'failed' | 'error';
|
|
136
|
+
/** Output dataset hash (null on failure) */
|
|
137
|
+
outputHash: string | null;
|
|
138
|
+
/** Process exit code (null if not applicable) */
|
|
139
|
+
exitCode: number | null;
|
|
140
|
+
/** Execution time in ms (0 if cached) */
|
|
141
|
+
duration: number;
|
|
142
|
+
/** Error message on failure */
|
|
143
|
+
error: string | null;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Execute a single task.
|
|
147
|
+
*
|
|
148
|
+
* This is the core execution primitive. It:
|
|
149
|
+
* 1. Computes the execution identity from task + inputs
|
|
150
|
+
* 2. Checks cache (unless force=true)
|
|
151
|
+
* 3. Marshals inputs to a scratch directory
|
|
152
|
+
* 4. Evaluates command IR to get exec args
|
|
153
|
+
* 5. Runs the command
|
|
154
|
+
* 6. Stores the output and updates status
|
|
155
|
+
*
|
|
156
|
+
* @param repoPath - Path to .e3 repository
|
|
157
|
+
* @param taskHash - Hash of the task object
|
|
158
|
+
* @param inputHashes - Array of input dataset hashes
|
|
159
|
+
* @param options - Execution options
|
|
160
|
+
* @returns Execution result
|
|
161
|
+
*/
|
|
162
|
+
export declare function taskExecute(repoPath: string, taskHash: string, inputHashes: string[], options?: ExecuteOptions): Promise<ExecutionResult>;
|
|
163
|
+
//# sourceMappingURL=executions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executions.d.ts","sourceRoot":"","sources":["../../src/executions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAmBH,OAAO,EAEL,KAAK,eAAe,EAGrB,MAAM,mBAAmB,CAAC;AAQ3B;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAGxD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,MAAM,CAER;AAMD;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAoBjC;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAaxB;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,EAAE,CAAC,CAUnB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CA0B1D;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAC3B,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,QAAQ,CAAC,CAqCnB;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CA6BnB;AAsCD;;GAEG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAWlB;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB;IAClB,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IACtC,4CAA4C;IAC5C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iDAAiD;IACjD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,eAAe,CAAC,CAsL1B"}
|