@telorun/kernel 0.82.1 → 0.84.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/controllers/module/import-controller.d.ts.map +1 -1
- package/dist/controllers/module/import-controller.js +237 -12
- package/dist/controllers/module/import-controller.js.map +1 -1
- package/dist/controllers/module/shared-libraries.d.ts +83 -0
- package/dist/controllers/module/shared-libraries.d.ts.map +1 -0
- package/dist/controllers/module/shared-libraries.js +110 -0
- package/dist/controllers/module/shared-libraries.js.map +1 -0
- package/dist/controllers/resource-definition/resource-definition-controller.d.ts +3 -0
- package/dist/controllers/resource-definition/resource-definition-controller.d.ts.map +1 -1
- package/dist/controllers/resource-definition/resource-definition-controller.js +8 -1
- package/dist/controllers/resource-definition/resource-definition-controller.js.map +1 -1
- package/dist/controllers/resource-definition/resource-template-controller.d.ts.map +1 -1
- package/dist/controllers/resource-definition/resource-template-controller.js +104 -30
- package/dist/controllers/resource-definition/resource-template-controller.js.map +1 -1
- package/dist/evaluation-context.d.ts +82 -0
- package/dist/evaluation-context.d.ts.map +1 -1
- package/dist/evaluation-context.js +200 -5
- package/dist/evaluation-context.js.map +1 -1
- package/dist/instance-sensitive-paths.d.ts +61 -0
- package/dist/instance-sensitive-paths.d.ts.map +1 -0
- package/dist/instance-sensitive-paths.js +116 -0
- package/dist/instance-sensitive-paths.js.map +1 -0
- package/dist/invocation-contract-binding.d.ts +3 -0
- package/dist/invocation-contract-binding.d.ts.map +1 -1
- package/dist/invocation-contract-binding.js +9 -1
- package/dist/invocation-contract-binding.js.map +1 -1
- package/dist/kernel.d.ts.map +1 -1
- package/dist/kernel.js +25 -0
- package/dist/kernel.js.map +1 -1
- package/dist/module-context.d.ts +5 -0
- package/dist/module-context.d.ts.map +1 -1
- package/dist/module-context.js +5 -0
- package/dist/module-context.js.map +1 -1
- package/package.json +4 -4
- package/src/controllers/module/import-controller.ts +324 -13
- package/src/controllers/module/shared-libraries.ts +180 -0
- package/src/controllers/resource-definition/resource-definition-controller.ts +14 -0
- package/src/controllers/resource-definition/resource-template-controller.ts +129 -29
- package/src/evaluation-context.ts +216 -7
- package/src/instance-sensitive-paths.ts +123 -0
- package/src/invocation-contract-binding.ts +12 -0
- package/src/kernel.ts +29 -1
- package/src/module-context.ts +6 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-context.js","sourceRoot":"","sources":["../src/module-context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"module-context.js","sourceRoot":"","sources":["../src/module-context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,cAAc,EAEd,YAAY,GACb,MAAM,cAAc,CAAC;AActB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,SAAS,mBAAmB,CAAC,OAAgC;IAC3D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;oCAGoC;AACpC,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,CACL,CAAC,CAAC,KAAK;QACP,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAQ,KAA2B,CAAC,GAAG,KAAK,UAAU,CACvD,CAAC;AACJ,CAAC;AAED;;uEAEuE;AACvE,SAAS,aAAa,CAAC,KAAc;IACnC,MAAM,IAAI,GAAG,IAAI,OAAO,EAAU,CAAC;IACnC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACzC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO,YAAY,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,aAAc,SAAQ,iBAAiB;IAgGxC;IA/FF,UAAU,CAA0B;IACpC,QAAQ,CAA0B;IAClC,UAAU,CAA0B;IAC5C;;kDAE8C;IACtC,MAAM,GAA4B,EAAE,CAAC;IAC7C;;;oEAGgE;IACxD,OAAO,GAA4B,EAAE,CAAC;IAE9C,gEAAgE;IAC/C,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE3D;;;;;;oFAMgF;IAC/D,aAAa,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEhE;;;;;;yEAMqE;IACpD,cAAc,GAAG,IAAI,GAAG,EAYtC,CAAC;IAEJ;;;;mFAI+E;IAC9D,eAAe,GAAG,IAAI,GAAG,EAGvC,CAAC;IAEJ;;;iFAG6E;IAC5D,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE3D;;qFAEiF;IAChE,qBAAqB,GAAG,IAAI,GAAG,EAAkD,CAAC;IAEnG;;;;;;OAMG;IACK,iBAAiB,CAA+B;IAExD;;;;;;;;;;;OAWG;IACK,cAAc,CAA0B;IAEhD,YACE,MAAc,EACd,YAAqC,EAAE,EACvC,UAAmC,EAAE,EACrC,YAAqC,EAAE,EAC/B,UAAwB,EAAE,EAClC,iBAAkC,KAAK,IAAI,EAAE,CAAC,IAAI,EAClD,IAAe;QAEf,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QAJ3C,YAAO,GAAP,OAAO,CAAmB;QAKlC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,YAAY,CAAC,IAA6B;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,QAAQ,CAAC,KAA8B;QACrC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,iBAAiB,CAAC,QAAiC;QACjD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;QACxB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,UAAU,CAAC,IAAkB;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,UAAU,CAAC,OAAgC;QACzC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,KAA8B;QACtD,IAAI,CAAC,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;QACxD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,mBAAmB,CAAC,MAAoC;QACtD,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;IAClC,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,gBAAgB,CAAC,MAA+B;QAC9C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;IAC/B,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEkB,qBAAqB,CAAC,IAAY,EAAE,IAA6B;QAClF,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;OAMG;IACM,KAAK,CAAC,eAAe,CAAC,IAAY;QACzC,MAAM,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO;QAC7C,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACjD,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,MAAM,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,cAAc,CAAC,KAAa,EAAE,YAAoB,EAAE,KAAyB;QAC3E,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,gBAAgB,CAAC,KAAa;QAC5B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACH,oBAAoB,CAAC,KAAa,EAAE,YAAoB;QACtD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC9C,CAAC;IAED;;;oDAGgD;IAChD,qBAAqB,CACnB,KAAa,EACb,KAAe,EACf,QAMa;QAEb,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtE,CAAC;IAED;;oDAEgD;IAChD,iBAAiB,CACf,IAAY;QAEZ,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,mFAAmF;IACnF,WAAW,CAAC,IAAY;QACtB,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IAC5C,CAAC;IAED,yFAAyF;IACzF,yBAAyB,CAAC,KAAa,EAAE,OAA+C;QACtF,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,gGAAgG;IAChG,eAAe,CAAC,MAAc;QAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;4FAOwF;IACxF,gBAAgB,CACd,OAAwD,EACxD,WAA4D,EAC5D,UAAkB;QAElB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACxB,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC1C,qFAAqF;gBACrF,uFAAuF;gBACvF,wEAAwE;gBACxE,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACnD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,IAAI,YAAY,CACpB,sBAAsB,EACtB,YAAY,UAAU,iBAAiB,KAAK,CAAC,KAAK,IAAI,IAAI,2BAA2B;wBACnF,YAAY,KAAK,CAAC,KAAK,uDAAuD;wBAC9E,4BAA4B,CAC/B,CAAC;gBACJ,CAAC;gBACD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,YAAY,CACpB,sBAAsB,EACtB,YAAY,UAAU,iBAAiB,KAAK,CAAC,KAAK,IAAI,IAAI,sBAAsB;wBAC9E,YAAY,KAAK,CAAC,KAAK,gCAAgC,IAAI,IAAI,CAClE,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACzC,SAAS;YACX,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC9C,IAAI,CAAC,IAAI;oBAAE,OAAO,SAAS,CAAC;gBAC5B,oFAAoF;gBACpF,6EAA6E;gBAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAc,CAAC;gBAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;oBACtC,CAAC,CAAC,GAAG,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAClD,CAAC,CAAC,OAAO,CAAC;gBACZ,kEAAkE;gBAClE,wEAAwE;gBACxE,sEAAsE;gBACtE,wDAAwD;gBACxD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpE,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,YAAY,CACpB,sBAAsB,EACtB,YAAY,UAAU,sBAAsB,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,oBAAoB;wBAC/E,mBAAmB,CAAC,CAAC,KAAK,uDAAuD;wBACjF,wBAAwB,CAC3B,CAAC;gBACJ,CAAC;gBACD,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,IAAI,YAAY,CACpB,sBAAsB,EACtB,YAAY,UAAU,sBAAsB,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,sBAAsB;wBACjF,YAAY,CAAC,CAAC,KAAK,4BAA4B,CAAC,CAAC,IAAI,IAAI,CAC5D,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC1C,SAAS;YACX,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED;;2FAEuF;IAC9E,uBAAuB,CAAC,KAAa,EAAE,IAAY;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QACvD,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC;IAC5C,CAAC;IAED;oEACgE;IACvD,uBAAuB,CAAC,KAAa,EAAE,IAAY;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QACvD,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC;IAC5C,CAAC;IAED;;0FAEsF;IACtF,kBAAkB,CAAC,KAAa,EAAE,IAAY;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QACvD,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,sEAAsE;YACtE,qEAAqE;YACrE,0EAA0E;YAC1E,qEAAqE;YACrE,gBAAgB;YAChB,EAAE;YACF,wEAAwE;YACxE,uEAAuE;YACvE,mCAAmC;YACnC,yEAAyE;YACzE,wEAAwE;YACxE,0EAA0E;YAC1E,wCAAwC;YACxC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;oBACjC,MAAM,IAAI,YAAY,CACpB,uBAAuB,EACvB,oBAAoB,IAAI,0EAA0E,CACnG,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,YAAY,CACpB,wBAAwB,EACxB,aAAa,IAAI,sFAAsF;oBACrG,6GAA6G;oBAC7G,kBAAkB,IAAI,qCAAqC,CAC9D,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CACb,aAAa,IAAI,uDAAuD,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxH,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,EAAE,QAAQ,CAAC;IACzB,CAAC;IAED,YAAY,CACV,IAAY;QAEZ,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,OAAQ,QAAgB,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,qCAAqC,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,QAAsC,CAAC;IAChD,CAAC;IAED;;;;;;;;OAQG;IACH,WAAW,CAAC,IAAY;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,oDAAoD,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;YACtB,OAAO,GAAG,EAAE,CAAC;gBACX,IAAI,GAAG,YAAY,aAAa;oBAAE,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC/D,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;YACnB,CAAC;YACD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;YACpE,MAAM,IAAI,KAAK,CACb,SAAS,IAAI,qCAAqC,MAAM,qBAAqB,KAAK,EAAE,CACrF,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CACb,SAAS,MAAM,gCAAgC,UAAU,mBAAmB,MAAM,MAAM;gBACtF,mBAAmB,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/C,CAAC;QACJ,CAAC;QACD,0FAA0F;QAC1F,wFAAwF;QACxF,2FAA2F;QAC3F,uFAAuF;QACvF,6FAA6F;QAC7F,2DAA2D;QAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QACpE,IAAI,UAAU,IAAI,UAAU,KAAK,GAAG,UAAU,IAAI,MAAM,EAAE;YAAE,OAAO,UAAU,CAAC;QAC9E,OAAO,GAAG,UAAU,IAAI,MAAM,EAAE,CAAC;IACnC,CAAC;IAED;;;4DAGwD;IAC/C,YAAY,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAE1D,eAAe,CAAC,IAAY;QAC7C,6EAA6E;QAC7E,6EAA6E;QAC7E,uEAAuE;QACvE,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEkB,cAAc;QAC/B,8EAA8E;QAC9E,MAAM,OAAO,GAA4B,EAAE,CAAC;QAC5C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;QACxE,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,MAAM,EAAE,IAAI,CAAC,OAAO;SACrB,CAAC;IACJ,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,QAAQ,GAAG;YACd,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,MAAM,EAAE,IAAI,CAAC,OAAO;SACrB,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAEQ,KAAK,CAAC,MAAM,CACnB,IAAY,EACZ,IAAY,EACZ,MAAe,EACf,GAAmB;QAEnB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3D,oEAAoE;QACpE,yEAAyE;QACzE,oCAAoC;QACpC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEQ,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,GAAmB;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,mBAAmB,IAAI,sDAAsD,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7H,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,gCAAgC,CAAC,CAAC;QAC3E,CAAC;QACD,4EAA4E;QAC5E,qEAAqE;QACrE,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAmB,EAAE,OAAgB;QACpD,0EAA0E;QAC1E,6EAA6E;QAC7E,8EAA8E;QAC9E,yEAAyE;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,wEAAwE;QACxE,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,MAAM,QAAQ,GAAG,OAAO,IAAI,aAAa,CAAC;QAC1C,MAAM,OAAO,GAAG,CACd,KAAsB,EACtB,OAAkD,EAClD,EAAE,CACF,IAAI,CAAC,YAAY,CACf,kBAAkB,EAClB,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,KAAK,EACL,KAAK,EACL,OAAO,EACP,KAAK,KAAK,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CACjE,CAAC;QACJ,MAAM,SAAS,GACb,OAAO,IAAI,GAAG;YACZ,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE;gBACjB,YAAY,EAAE,SAAS;gBACvB,kBAAkB,EAAE,SAAS;gBAC7B,OAAO,EAAE,UAAU;aACpB,CAAC;YACJ,CAAC,CAAC,GAAG,CAAC;QAEV,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAsB;YACjC,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC;YAChE,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC;YAC1E,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAC/C,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC;YAC9D,uBAAuB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC;SACpF,CAAC;QACF,uEAAuE;QACvE,8EAA8E;QAC9E,6EAA6E;QAC7E,mEAAmE;QACnE,MAAM,mBAAmB,GAAG,KAAK,EAAE,IAAsB,EAAE,IAAY,EAAE,IAAY,EAAE,EAAE,CACvF,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAEhD,IAAI,OAAO;YAAE,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;YAC3E,IAAI,OAAO;gBAAE,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,SAAS,GAAI,GAA0B,EAAE,IAAI,KAAK,sBAAsB,CAAC;gBAC/E,MAAM,IAAI,CAAC,IAAI,CACb,GAAG,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,EAAE,EACzD,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CACnD,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,OAA0B,EAC1B,KAA8B,EAC9B,mBAA0F,EAC1F,GAAmB;QAEnB,4EAA4E;QAC5E,wEAAwE;QACxE,MAAM,IAAI,GAAG,CAAC,IAAsB,EAAE,YAAoB,EAAE,EAAE;YAC5D,MAAM,EAAE,GAAG,cAAc,CAAC,IAAc,CAAC,CAAC;YAC1C,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,YAAY,EAAE,CAAC;QAClE,CAAC,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC;YAChC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC5B,SAAS;YACX,CAAC;YACD,yEAAyE;YACzE,0EAA0E;YAC1E,uEAAuE;YACvE,uEAAuE;YACvE,wEAAwE;YACxE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,QAAQ,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACrF,yEAAyE;gBACzE,qEAAqE;gBACrE,0EAA0E;gBAC1E,wEAAwE;gBACxE,oDAAoD;gBACpD,iFAAiF;gBACjF,gFAAgF;gBAChF,uEAAuE;gBACvE,MAAM,IAAI,GAAe;oBACvB,GAAI,MAA6B;oBACjC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE;oBACjC,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC;gBACF,uEAAuE;gBACvE,sDAAsD;gBACtD,MAAM,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClE,SAAS;YACX,CAAC;YACD,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;gBAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;oBACzE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAc,CAAC;oBAClC,iEAAiE;oBACjE,6BAA6B;oBAC7B,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;wBACrC,MAAM,mBAAmB,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;oBACnD,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,GACL,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;4BAC5B,CAAC,CAAE,GAAwC;4BAC3C,CAAC,CAAC,SAAS,CAAC;wBAChB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;4BAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;4BAC3D,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;gCAC5C,MAAM,IAAI,KAAK,CACb,gBAAgB,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,uCAAuC,CACzE,CAAC;4BACJ,CAAC;4BACD,MAAM,mBAAmB,CAAC,IAAI,EAAE,cAAc,CAAC,IAAc,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;wBACtF,CAAC;6BAAM,CAAC;4BACN,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;wBAC/D,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,SAAS;YACX,CAAC;YACD,8DAA8D;YAC9D,0EAA0E;YAC1E,uEAAuE;YACvE,2EAA2E;YAC3E,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;gBACxC,MAAM,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;gBACpD,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,MAA6C,CAAC;YAC3D,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7F,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;oBAC5C,MAAM,IAAI,KAAK,CACb,gBAAgB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,uCAAuC,CAC/E,CAAC;gBACJ,CAAC;gBACD,MAAM,mBAAmB,CAAC,IAAI,EAAE,cAAc,CAAC,IAAc,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvF,SAAS;YACX,CAAC;YACD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC/B,SAAS;YACX,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,KAAK,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@telorun/kernel",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.84.0",
|
|
4
4
|
"description": "Telo Runtime - A lightweight, polyglot execution host.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"telo",
|
|
@@ -61,9 +61,9 @@
|
|
|
61
61
|
"dependencies": {
|
|
62
62
|
"@marcbachmann/cel-js": "^7.6.1",
|
|
63
63
|
"@sinclair/typebox": "^0.34.48",
|
|
64
|
-
"@telorun/analyzer": "0.
|
|
64
|
+
"@telorun/analyzer": "0.68.0",
|
|
65
65
|
"@telorun/glob": "0.2.0",
|
|
66
|
-
"@telorun/templating": "0.
|
|
66
|
+
"@telorun/templating": "0.18.0",
|
|
67
67
|
"ajv": "^8.17.1",
|
|
68
68
|
"ajv-formats": "^3.0.1",
|
|
69
69
|
"packageurl-js": "^2.0.1",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"@types/tar-stream": "^3.1.3",
|
|
76
76
|
"typescript": "^5.0.0",
|
|
77
77
|
"vitest": "^2.1.8",
|
|
78
|
-
"@telorun/sdk": "0.
|
|
78
|
+
"@telorun/sdk": "0.83.0"
|
|
79
79
|
},
|
|
80
80
|
"optionalDependencies": {
|
|
81
81
|
"esbuild": "^0.25.12"
|
|
@@ -1,11 +1,30 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import {
|
|
2
|
+
AnalysisRegistry,
|
|
3
|
+
DiagnosticSeverity,
|
|
4
|
+
authoredModuleMetadata,
|
|
5
|
+
foldIntegrity,
|
|
6
|
+
isInjectedDeclaration,
|
|
7
|
+
parseExportEntry,
|
|
8
|
+
readLibraryLifecycle,
|
|
9
|
+
readResourceInputs,
|
|
10
|
+
readSuppliedResources,
|
|
11
|
+
StaticAnalyzer,
|
|
12
|
+
} from "@telorun/analyzer";
|
|
13
|
+
import type { ParsedExportEntry } from "@telorun/analyzer";
|
|
14
|
+
import type { ResourceInstance, ResourceManifest } from "@telorun/sdk";
|
|
15
|
+
import { RuntimeError, TEARDOWN_LAST } from "@telorun/sdk";
|
|
4
16
|
import { publishedPropsOf } from "../../evaluation-context.js";
|
|
5
17
|
import type { BuiltinControllerContext } from "../../internal-context.js";
|
|
6
18
|
import { buildScopeConfig, type LoggingManifestBlock } from "../../logging/kernel-logging.js";
|
|
7
19
|
import { ModuleContext } from "../../module-context.js";
|
|
8
20
|
import { isDefaultPolicy, normalizeRuntime } from "../../runtime-registry.js";
|
|
21
|
+
import {
|
|
22
|
+
assertNoSharedOverride,
|
|
23
|
+
assertSharedInputsAgree,
|
|
24
|
+
rootContextOf,
|
|
25
|
+
sharedLibraries,
|
|
26
|
+
type SharedLibrary,
|
|
27
|
+
} from "./shared-libraries.js";
|
|
9
28
|
|
|
10
29
|
export async function create(
|
|
11
30
|
resource: any,
|
|
@@ -13,6 +32,15 @@ export async function create(
|
|
|
13
32
|
): Promise<ResourceInstance> {
|
|
14
33
|
const alias = resource.metadata.name as string;
|
|
15
34
|
|
|
35
|
+
// Resolve the instances this import hands DOWN to the target library's
|
|
36
|
+
// declared `resources:` inputs BEFORE any loading happens. A borrowed
|
|
37
|
+
// instance that is registered but not yet initialized is a DEFERRAL, not a
|
|
38
|
+
// failure — raised as `ERR_LOCAL_REF_PENDING` so the multi-pass loop retries
|
|
39
|
+
// and the init-failure classifier reads it as derived rather than as a root
|
|
40
|
+
// cause. Resolving first is what keeps a deferral cheap: a fetch, a parse and
|
|
41
|
+
// a full analysis pass would otherwise be redone on every pass.
|
|
42
|
+
const borrowed = resolveBorrowedResources(resource, ctx);
|
|
43
|
+
|
|
16
44
|
const rawSource: string = resource.module ?? resource.source;
|
|
17
45
|
// A directly-authored Telo.Import may carry integrity as a sibling field;
|
|
18
46
|
// fold it into the ref as a `#sha256-...` fragment (the desugared inline
|
|
@@ -39,6 +67,16 @@ export async function create(
|
|
|
39
67
|
// `isImportValidatedAtLoad` silently miss.
|
|
40
68
|
const resolvedUrl = ctx.resolveImportUrl(base, moduleSource);
|
|
41
69
|
|
|
70
|
+
// A `lifecycle: shared` library is instantiated ONCE per application. Only a
|
|
71
|
+
// shared library is ever registered, so the registry HIT is itself the answer
|
|
72
|
+
// to "is this one shared" — which is what makes a second import of it cost no
|
|
73
|
+
// fetch, no parse and no analysis pass at all.
|
|
74
|
+
const registry = sharedLibraries(ctx.moduleContext);
|
|
75
|
+
const alreadyShared = registry.get(resolvedUrl);
|
|
76
|
+
if (alreadyShared) {
|
|
77
|
+
return borrowSharedLibrary(alreadyShared, alias, resource, borrowed, ctx);
|
|
78
|
+
}
|
|
79
|
+
|
|
42
80
|
// The analysis-flattened graph (follows Telo.Import chains, includes forwarded
|
|
43
81
|
// sub-import exports) serves two purposes here: validating the imported subtree,
|
|
44
82
|
// and populating a CHILD-SCOPED analysis registry whose top-level alias scope is
|
|
@@ -114,6 +152,8 @@ export async function create(
|
|
|
114
152
|
// Validate required inputs before injecting.
|
|
115
153
|
validateRequiredInputs(moduleManifest.variables ?? {}, resource.variables ?? {}, "variables");
|
|
116
154
|
validateRequiredInputs(moduleManifest.secrets ?? {}, resource.secrets ?? {}, "secrets");
|
|
155
|
+
const declaredInputs = readResourceInputs(moduleManifest);
|
|
156
|
+
validateResourceInputs(declaredInputs, borrowed, targetModule);
|
|
117
157
|
|
|
118
158
|
// Evaluate the import's variables/secrets ONCE against the IMPORTER's config
|
|
119
159
|
// scope, instead of baking the raw compiled-value objects verbatim. Resolution
|
|
@@ -173,7 +213,19 @@ export async function create(
|
|
|
173
213
|
authoredModuleMetadata(moduleManifest.metadata as Record<string, unknown> | undefined),
|
|
174
214
|
);
|
|
175
215
|
|
|
176
|
-
|
|
216
|
+
// A singleton is spawned under the ROOT, never under whichever import reached
|
|
217
|
+
// it first: otherwise tearing that importer down would close a library two
|
|
218
|
+
// others still hold, and which importer that is depends on init order. It is
|
|
219
|
+
// pinned last in the root's cascade so a borrower's own inverses still find it
|
|
220
|
+
// alive — the context-level form of `TEARDOWN_LAST`.
|
|
221
|
+
const isShared = readLibraryLifecycle(moduleManifest) === "shared";
|
|
222
|
+
if (isShared) {
|
|
223
|
+
assertNoSharedOverride(resource, alias, targetModule);
|
|
224
|
+
childCtx.teardownPriority = TEARDOWN_LAST;
|
|
225
|
+
}
|
|
226
|
+
const child = isShared
|
|
227
|
+
? rootContextOf(ctx.moduleContext).spawnChild(childCtx)
|
|
228
|
+
: ctx.moduleContext.spawnChild(childCtx);
|
|
177
229
|
|
|
178
230
|
// A library references its own kinds via `Self.<Kind>` (e.g. when it declares an
|
|
179
231
|
// instance to export). Register `Self` → the library's own module in the child context
|
|
@@ -209,7 +261,14 @@ export async function create(
|
|
|
209
261
|
const parentScope =
|
|
210
262
|
(ctx.moduleContext as unknown as ModuleContext).getLoggingConfig?.() ??
|
|
211
263
|
ctx.kernelLoggingRootScope();
|
|
212
|
-
|
|
264
|
+
// A singleton's scope is the LIBRARY's own name: it sits under the root rather
|
|
265
|
+
// than under an importer, and naming it after whichever import was created
|
|
266
|
+
// first would make a log line's scope depend on init order.
|
|
267
|
+
const scopePath = isShared
|
|
268
|
+
? targetModule
|
|
269
|
+
: parentScope.scope
|
|
270
|
+
? `${parentScope.scope}.${alias}`
|
|
271
|
+
: alias;
|
|
213
272
|
const importLogging = resource.logging
|
|
214
273
|
? (ctx.expandValue(resource.logging, {}) as LoggingManifestBlock)
|
|
215
274
|
: undefined;
|
|
@@ -220,7 +279,43 @@ export async function create(
|
|
|
220
279
|
secretValues: child.secretValues,
|
|
221
280
|
});
|
|
222
281
|
|
|
282
|
+
// A borrowed instance is bound under the library's own name for it BEFORE its
|
|
283
|
+
// resources are registered, so `!ref connection` and `resources.connection`
|
|
284
|
+
// resolve exactly as a locally declared resource does — and so a library
|
|
285
|
+
// declaring a resource that collides with an input name fails as the
|
|
286
|
+
// duplicate it is.
|
|
287
|
+
//
|
|
288
|
+
// An EFFECT on the create frame, not bare statements: binding a borrowed
|
|
289
|
+
// instance registers a publication mirror on the OWNER, and an import whose
|
|
290
|
+
// `init()` fails is discarded and re-created on the next pass. Left
|
|
291
|
+
// unregistered, each pass would append another mirror for the same pair and
|
|
292
|
+
// keep the abandoned child context reachable from the live owner.
|
|
293
|
+
if (borrowed.size > 0) {
|
|
294
|
+
await ctx
|
|
295
|
+
.effect(`borrowed resources ${alias}`, async () => {
|
|
296
|
+
const inverses = [...borrowed].map(([name, entry]) =>
|
|
297
|
+
childCtx.adoptBorrowedResource(
|
|
298
|
+
name,
|
|
299
|
+
entry.manifest,
|
|
300
|
+
entry.instance,
|
|
301
|
+
ctx.moduleContext as unknown as ModuleContext,
|
|
302
|
+
),
|
|
303
|
+
);
|
|
304
|
+
return {
|
|
305
|
+
result: undefined,
|
|
306
|
+
inverse: () => {
|
|
307
|
+
for (const undo of inverses) undo?.();
|
|
308
|
+
},
|
|
309
|
+
};
|
|
310
|
+
})
|
|
311
|
+
.perform();
|
|
312
|
+
}
|
|
313
|
+
|
|
223
314
|
for (const manifest of manifests) {
|
|
315
|
+
// The kind-only stand-ins the loader synthesizes behind a `resources:` entry
|
|
316
|
+
// are a DECLARATION for the analyzer, never an instantiation: the instance
|
|
317
|
+
// is the importer's, already bound above.
|
|
318
|
+
if (isInjectedDeclaration(manifest)) continue;
|
|
224
319
|
child.registerManifest(manifest);
|
|
225
320
|
}
|
|
226
321
|
|
|
@@ -297,6 +392,48 @@ export async function create(
|
|
|
297
392
|
);
|
|
298
393
|
}
|
|
299
394
|
}
|
|
395
|
+
/** Build this library's resources and its export tables — the work an
|
|
396
|
+
* `init()` performs, hoisted so a SINGLETON can carry it on its registry
|
|
397
|
+
* entry rather than in one import's closure. Whichever import's `init()`
|
|
398
|
+
* runs first calls it; every other awaits the same promise. */
|
|
399
|
+
const buildLibrary = async (): Promise<void> => {
|
|
400
|
+
// Publish each borrowed reading into the child's `resources` scope before
|
|
401
|
+
// anything reads it: a library resource's compile-eval fields are expanded
|
|
402
|
+
// at CREATE time, inside `initializeResources` below.
|
|
403
|
+
for (const name of borrowed.keys()) await childCtx.publishSnapshot(name);
|
|
404
|
+
await child.initializeResources();
|
|
405
|
+
// Build this import's flattened export tables now that its own imports are
|
|
406
|
+
// registered (leaves-first), so a re-export (`!ref Alias.name` /
|
|
407
|
+
// `Alias.Kind`) copies the source import's terminal getter / canonical kind
|
|
408
|
+
// by reference — O(1) resolution at any depth.
|
|
409
|
+
childCtx.buildExportTable(exportEntries, kindEntries, targetModule);
|
|
410
|
+
};
|
|
411
|
+
|
|
412
|
+
// The singleton, registered before any alias so a second import created in
|
|
413
|
+
// the same pass finds it. `initialized` is filled by whichever import's
|
|
414
|
+
// `init()` runs first — which is NOT necessarily the one that registered it,
|
|
415
|
+
// so the builder travels with the entry.
|
|
416
|
+
const entry: SharedLibrary | undefined = isShared
|
|
417
|
+
? {
|
|
418
|
+
build: buildLibrary,
|
|
419
|
+
url: resolvedUrl,
|
|
420
|
+
module: targetModule,
|
|
421
|
+
owner: alias,
|
|
422
|
+
context: childCtx,
|
|
423
|
+
child,
|
|
424
|
+
variables: importVariables,
|
|
425
|
+
secrets: importSecrets,
|
|
426
|
+
resources: new Map([...borrowed].map(([name, b]) => [name, b.instance])),
|
|
427
|
+
declaredVariables: (moduleManifest.variables ?? {}) as Record<string, any>,
|
|
428
|
+
declaredSecrets: (moduleManifest.secrets ?? {}) as Record<string, any>,
|
|
429
|
+
exportEntries,
|
|
430
|
+
kindEntries,
|
|
431
|
+
exportedResourceNames,
|
|
432
|
+
exportedKindSuffixes,
|
|
433
|
+
}
|
|
434
|
+
: undefined;
|
|
435
|
+
if (entry) registry.set(resolvedUrl, entry);
|
|
436
|
+
|
|
300
437
|
// The alias registrations are an EFFECT on the create frame, not bare calls:
|
|
301
438
|
// an import whose `init()` fails is discarded and re-created on the next pass,
|
|
302
439
|
// so an alias left registered would be re-registered against a module context
|
|
@@ -329,8 +466,10 @@ export async function create(
|
|
|
329
466
|
inverse: () => {
|
|
330
467
|
(ctx.moduleContext as ModuleContext).unregisterImport(alias);
|
|
331
468
|
// The child context goes with the alias: it was spawned for this
|
|
332
|
-
// import and nothing else can reach it once the alias is gone.
|
|
333
|
-
|
|
469
|
+
// import and nothing else can reach it once the alias is gone. A
|
|
470
|
+
// SINGLETON is the exception — the root owns it and other imports may
|
|
471
|
+
// still hold it, so only the alias is given up.
|
|
472
|
+
if (!isShared) ctx.moduleContext.detachChild(child);
|
|
334
473
|
},
|
|
335
474
|
};
|
|
336
475
|
})
|
|
@@ -368,17 +507,104 @@ export async function create(
|
|
|
368
507
|
// than an init/teardown pair the kernel had to trust were inverses.
|
|
369
508
|
init: (importCtx) =>
|
|
370
509
|
importCtx.effect("library resources", async () => {
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
510
|
+
if (entry) {
|
|
511
|
+
// Memoized on the ENTRY, so whichever import's `init()` runs first
|
|
512
|
+
// does the work and every other awaits the same promise. It is not
|
|
513
|
+
// necessarily the import that registered it: a root import registers
|
|
514
|
+
// the singleton during the create sub-phase, while a nested import
|
|
515
|
+
// inside another library borrows it during that library's init — and
|
|
516
|
+
// the nested one's `init()` can then run first.
|
|
517
|
+
await (entry.initialized ??= entry.build());
|
|
518
|
+
// No inverse: the ROOT owns a singleton, and an import that gave it up
|
|
519
|
+
// would close a library its siblings still hold.
|
|
520
|
+
return { result: undefined };
|
|
521
|
+
}
|
|
522
|
+
await buildLibrary();
|
|
377
523
|
return { result: undefined, inverse: () => child.teardownResources() };
|
|
378
524
|
}),
|
|
379
525
|
};
|
|
380
526
|
}
|
|
381
527
|
|
|
528
|
+
/**
|
|
529
|
+
* A second (or third) import of a library already instantiated as a singleton.
|
|
530
|
+
*
|
|
531
|
+
* Nothing is fetched, parsed or analyzed: the registry hit means the library is
|
|
532
|
+
* built and shared, so this import only has to agree with it and register its
|
|
533
|
+
* own alias. What it must NOT do is re-register the manifests, re-initialize the
|
|
534
|
+
* resources, or claim any part of the teardown.
|
|
535
|
+
*/
|
|
536
|
+
function borrowSharedLibrary(
|
|
537
|
+
entry: SharedLibrary,
|
|
538
|
+
alias: string,
|
|
539
|
+
resource: any,
|
|
540
|
+
borrowed: Map<string, BorrowedResource>,
|
|
541
|
+
ctx: BuiltinControllerContext,
|
|
542
|
+
): ResourceInstance {
|
|
543
|
+
assertNoSharedOverride(resource, alias, entry.module);
|
|
544
|
+
const importVariables = applyDefaults(
|
|
545
|
+
(ctx.expandValue(resource.variables, {}) as Record<string, unknown>) ?? {},
|
|
546
|
+
entry.declaredVariables,
|
|
547
|
+
);
|
|
548
|
+
const importSecrets = applyDefaults(
|
|
549
|
+
(ctx.expandValue(resource.secrets, {}) as Record<string, unknown>) ?? {},
|
|
550
|
+
entry.declaredSecrets,
|
|
551
|
+
);
|
|
552
|
+
validateRequiredInputs(entry.declaredVariables, importVariables, "variables");
|
|
553
|
+
validateRequiredInputs(entry.declaredSecrets, importSecrets, "secrets");
|
|
554
|
+
assertSharedInputsAgree(entry, alias, importVariables, importSecrets, borrowed);
|
|
555
|
+
|
|
556
|
+
const childCtx = entry.context;
|
|
557
|
+
const exportedResourceNames = [...entry.exportedResourceNames];
|
|
558
|
+
|
|
559
|
+
return {
|
|
560
|
+
snapshot: async () => {
|
|
561
|
+
const exported: Record<string, unknown> = {};
|
|
562
|
+
for (const name of exportedResourceNames) {
|
|
563
|
+
const target = childCtx.getExported(name);
|
|
564
|
+
if (target?.instance) {
|
|
565
|
+
exported[name] = await publishedPropsOf(
|
|
566
|
+
target.kind,
|
|
567
|
+
name,
|
|
568
|
+
target.instance,
|
|
569
|
+
childCtx.getDefinition,
|
|
570
|
+
);
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
return { variables: importVariables, secrets: importSecrets, ...exported };
|
|
574
|
+
},
|
|
575
|
+
init: (importCtx) =>
|
|
576
|
+
importCtx
|
|
577
|
+
.effect(`import alias ${alias}`, async () => {
|
|
578
|
+
ctx.registerModuleImport(
|
|
579
|
+
alias,
|
|
580
|
+
entry.module,
|
|
581
|
+
entry.exportedKindSuffixes ? [...entry.exportedKindSuffixes] : undefined,
|
|
582
|
+
);
|
|
583
|
+
(ctx.moduleContext as ModuleContext).registerImportedScope(
|
|
584
|
+
alias,
|
|
585
|
+
exportedResourceNames,
|
|
586
|
+
(name) => childCtx.getTerminalExport(name),
|
|
587
|
+
);
|
|
588
|
+
(ctx.moduleContext as ModuleContext).registerImportedKindScope(alias, (suffix) =>
|
|
589
|
+
childCtx.getExportedKind(suffix),
|
|
590
|
+
);
|
|
591
|
+
return {
|
|
592
|
+
result: undefined,
|
|
593
|
+
// Only the alias: the root owns the library and the imports that
|
|
594
|
+
// instantiated it are still holding it.
|
|
595
|
+
inverse: () => (ctx.moduleContext as ModuleContext).unregisterImport(alias),
|
|
596
|
+
};
|
|
597
|
+
})
|
|
598
|
+
// The singleton may not be built yet — this import's `init()` can run
|
|
599
|
+
// before the one that registered it. Start it if nobody has; otherwise
|
|
600
|
+
// await the one promise everybody shares.
|
|
601
|
+
.effect("shared library", async () => {
|
|
602
|
+
await (entry.initialized ??= entry.build());
|
|
603
|
+
return { result: undefined };
|
|
604
|
+
}),
|
|
605
|
+
};
|
|
606
|
+
}
|
|
607
|
+
|
|
382
608
|
/**
|
|
383
609
|
* Fill in library-declared `default:` values for any input the importer left
|
|
384
610
|
* unset. Mirrors the root Application's env defaulting: a provided value (incl.
|
|
@@ -412,3 +638,88 @@ function validateRequiredInputs(
|
|
|
412
638
|
}
|
|
413
639
|
}
|
|
414
640
|
|
|
641
|
+
|
|
642
|
+
/** One instance handed down to a library's declared `resources:` input, with the
|
|
643
|
+
* manifest it was DECLARED with — the declaration is what a projected contract
|
|
644
|
+
* and a `status:` reading are resolved against, so it travels with the
|
|
645
|
+
* instance rather than being re-derived on the far side. */
|
|
646
|
+
interface BorrowedResource {
|
|
647
|
+
manifest: ResourceManifest;
|
|
648
|
+
instance: ResourceInstance;
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
/**
|
|
652
|
+
* Resolve every `resources:` entry this import supplies to a live instance, in
|
|
653
|
+
* the IMPORTER's scope.
|
|
654
|
+
*
|
|
655
|
+
* A name that is registered here but not yet initialized defers
|
|
656
|
+
* (`ERR_LOCAL_REF_PENDING`); one that names nothing at all is a hard
|
|
657
|
+
* `ERR_REF_UNRESOLVED`, since no later pass will produce it. The two are kept
|
|
658
|
+
* apart because the init-failure classifier reads the first as derived — the
|
|
659
|
+
* import never ran — and the second as the root cause it is.
|
|
660
|
+
*/
|
|
661
|
+
function resolveBorrowedResources(
|
|
662
|
+
resource: any,
|
|
663
|
+
ctx: BuiltinControllerContext,
|
|
664
|
+
): Map<string, BorrowedResource> {
|
|
665
|
+
const out = new Map<string, BorrowedResource>();
|
|
666
|
+
const alias = resource.metadata.name as string;
|
|
667
|
+
for (const [name, value] of Object.entries(readSuppliedResources(resource))) {
|
|
668
|
+
const ref = value as { name?: unknown; alias?: unknown } | undefined;
|
|
669
|
+
const targetName = typeof ref?.name === "string" ? ref.name : undefined;
|
|
670
|
+
if (!targetName) {
|
|
671
|
+
throw new RuntimeError(
|
|
672
|
+
"ERR_REF_UNRESOLVED",
|
|
673
|
+
`Import '${alias}': resource input '${name}' must be a '!ref' to a resource this module declares.`,
|
|
674
|
+
);
|
|
675
|
+
}
|
|
676
|
+
const targetAlias = typeof ref?.alias === "string" ? ref.alias : undefined;
|
|
677
|
+
const instance =
|
|
678
|
+
targetAlias && targetAlias !== "Self"
|
|
679
|
+
? ctx.moduleContext.resolveImportedInstance(targetAlias, targetName)
|
|
680
|
+
: ctx.moduleContext.getInstance?.(targetName);
|
|
681
|
+
if (!instance) {
|
|
682
|
+
const label = targetAlias ? `${targetAlias}.${targetName}` : targetName;
|
|
683
|
+
throw new RuntimeError(
|
|
684
|
+
targetAlias && targetAlias !== "Self"
|
|
685
|
+
? "ERR_CROSS_MODULE_REF_PENDING"
|
|
686
|
+
: "ERR_LOCAL_REF_PENDING",
|
|
687
|
+
`Import '${alias}': resource input '${name}' → '${label}' is not available yet ` +
|
|
688
|
+
`(deferring to a later init pass).`,
|
|
689
|
+
);
|
|
690
|
+
}
|
|
691
|
+
const manifest =
|
|
692
|
+
ctx.moduleContext.resolveDeclaredManifest?.(targetName, targetAlias) ??
|
|
693
|
+
({ kind: (ref as { kind?: string }).kind ?? "", metadata: { name: targetName } } as ResourceManifest);
|
|
694
|
+
out.set(name, { manifest, instance });
|
|
695
|
+
}
|
|
696
|
+
return out;
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
/** The runtime half of `validate-resource-inputs`: a library reached through a
|
|
700
|
+
* programmatic load never passed `telo check`, so the boundary is enforced
|
|
701
|
+
* here too. Kind acceptance is deliberately NOT re-tested — that is a static
|
|
702
|
+
* question about declarations, and the kernel holds instances. */
|
|
703
|
+
function validateResourceInputs(
|
|
704
|
+
declared: ReadonlyArray<{ name: string; kind: string }>,
|
|
705
|
+
supplied: ReadonlyMap<string, BorrowedResource>,
|
|
706
|
+
targetModule: string,
|
|
707
|
+
): void {
|
|
708
|
+
for (const entry of declared) {
|
|
709
|
+
if (supplied.has(entry.name)) continue;
|
|
710
|
+
throw new RuntimeError(
|
|
711
|
+
"ERR_MANIFEST_VALIDATION_FAILED",
|
|
712
|
+
`Required resource input "${entry.name}" (kind '${entry.kind}') not provided for import of ` +
|
|
713
|
+
`module '${targetModule}'.`,
|
|
714
|
+
);
|
|
715
|
+
}
|
|
716
|
+
const names = new Set(declared.map((d) => d.name));
|
|
717
|
+
for (const name of supplied.keys()) {
|
|
718
|
+
if (names.has(name)) continue;
|
|
719
|
+
throw new RuntimeError(
|
|
720
|
+
"ERR_MANIFEST_VALIDATION_FAILED",
|
|
721
|
+
`Resource input "${name}" is not declared by module '${targetModule}'. Declared inputs: ` +
|
|
722
|
+
`${declared.map((d) => d.name).join(", ") || "(none)"}.`,
|
|
723
|
+
);
|
|
724
|
+
}
|
|
725
|
+
}
|