ihsm 0.0.26 → 0.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +105 -113
- package/lib/cjs/index.d.ts +8 -1394
- package/lib/cjs/index.js +65 -764
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/internal/console-instrumentation.d.ts +34 -0
- package/lib/cjs/internal/console-instrumentation.js +71 -0
- package/lib/cjs/internal/console-instrumentation.js.map +1 -0
- package/lib/cjs/internal/identity.d.ts +16 -0
- package/lib/cjs/internal/identity.js +170 -0
- package/lib/cjs/internal/identity.js.map +1 -0
- package/lib/cjs/internal/instrumentation.d.ts +47 -0
- package/lib/cjs/internal/instrumentation.js +201 -0
- package/lib/cjs/internal/instrumentation.js.map +1 -0
- package/lib/cjs/internal/runtime.d.ts +376 -0
- package/lib/cjs/internal/runtime.js +2530 -0
- package/lib/cjs/internal/runtime.js.map +1 -0
- package/lib/cjs/internal/types.d.ts +515 -0
- package/lib/cjs/internal/types.js +9 -0
- package/lib/cjs/internal/types.js.map +1 -0
- package/lib/cjs/test-only.d.ts +5 -0
- package/lib/cjs/test-only.js +21 -0
- package/lib/cjs/test-only.js.map +1 -0
- package/lib/cjs/testing.d.ts +120 -88
- package/lib/cjs/testing.js +126 -38
- package/lib/cjs/testing.js.map +1 -1
- package/lib/cjs/transition-routines.d.ts +3 -0
- package/lib/cjs/transition-routines.js +11 -0
- package/lib/cjs/transition-routines.js.map +1 -0
- package/lib/cjs/types.d.ts +5 -0
- package/lib/cjs/{internal/defs.private.js → types.js} +1 -1
- package/lib/cjs/types.js.map +1 -0
- package/lib/esm/index.d.ts +8 -1394
- package/lib/esm/index.js +5 -742
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/internal/console-instrumentation.d.ts +34 -0
- package/lib/esm/internal/console-instrumentation.js +68 -0
- package/lib/esm/internal/console-instrumentation.js.map +1 -0
- package/lib/esm/internal/identity.d.ts +16 -0
- package/lib/esm/internal/identity.js +159 -0
- package/lib/esm/internal/identity.js.map +1 -0
- package/lib/esm/internal/instrumentation.d.ts +47 -0
- package/lib/esm/internal/instrumentation.js +178 -0
- package/lib/esm/internal/instrumentation.js.map +1 -0
- package/lib/esm/internal/runtime.d.ts +376 -0
- package/lib/esm/internal/runtime.js +2462 -0
- package/lib/esm/internal/runtime.js.map +1 -0
- package/lib/esm/internal/types.d.ts +515 -0
- package/lib/esm/internal/types.js +6 -0
- package/lib/esm/internal/types.js.map +1 -0
- package/lib/esm/test-only.d.ts +5 -0
- package/lib/esm/test-only.js +15 -0
- package/lib/esm/test-only.js.map +1 -0
- package/lib/esm/testing.d.ts +120 -88
- package/lib/esm/testing.js +125 -38
- package/lib/esm/testing.js.map +1 -1
- package/lib/esm/transition-routines.d.ts +3 -0
- package/lib/esm/transition-routines.js +3 -0
- package/lib/esm/transition-routines.js.map +1 -0
- package/lib/esm/types.d.ts +5 -0
- package/lib/esm/types.js +2 -0
- package/lib/esm/types.js.map +1 -0
- package/package.json +22 -4
- package/lib/cjs/internal/defs.private.d.ts +0 -41
- package/lib/cjs/internal/defs.private.js.map +0 -1
- package/lib/cjs/internal/dispatch.debug.d.ts +0 -4
- package/lib/cjs/internal/dispatch.debug.js +0 -332
- package/lib/cjs/internal/dispatch.debug.js.map +0 -1
- package/lib/cjs/internal/dispatch.production.d.ts +0 -6
- package/lib/cjs/internal/dispatch.production.js +0 -241
- package/lib/cjs/internal/dispatch.production.js.map +0 -1
- package/lib/cjs/internal/dispatch.trace.d.ts +0 -4
- package/lib/cjs/internal/dispatch.trace.js +0 -418
- package/lib/cjs/internal/dispatch.trace.js.map +0 -1
- package/lib/cjs/internal/hsm.d.ts +0 -60
- package/lib/cjs/internal/hsm.js +0 -215
- package/lib/cjs/internal/hsm.js.map +0 -1
- package/lib/cjs/internal/lookup.d.ts +0 -15
- package/lib/cjs/internal/lookup.js +0 -32
- package/lib/cjs/internal/lookup.js.map +0 -1
- package/lib/cjs/internal/utils.d.ts +0 -26
- package/lib/cjs/internal/utils.js +0 -63
- package/lib/cjs/internal/utils.js.map +0 -1
- package/lib/esm/internal/defs.private.d.ts +0 -41
- package/lib/esm/internal/defs.private.js +0 -2
- package/lib/esm/internal/defs.private.js.map +0 -1
- package/lib/esm/internal/dispatch.debug.d.ts +0 -4
- package/lib/esm/internal/dispatch.debug.js +0 -328
- package/lib/esm/internal/dispatch.debug.js.map +0 -1
- package/lib/esm/internal/dispatch.production.d.ts +0 -6
- package/lib/esm/internal/dispatch.production.js +0 -237
- package/lib/esm/internal/dispatch.production.js.map +0 -1
- package/lib/esm/internal/dispatch.trace.d.ts +0 -4
- package/lib/esm/internal/dispatch.trace.js +0 -414
- package/lib/esm/internal/dispatch.trace.js.map +0 -1
- package/lib/esm/internal/hsm.d.ts +0 -60
- package/lib/esm/internal/hsm.js +0 -211
- package/lib/esm/internal/hsm.js.map +0 -1
- package/lib/esm/internal/lookup.d.ts +0 -15
- package/lib/esm/internal/lookup.js +0 -29
- package/lib/esm/internal/lookup.js.map +0 -1
- package/lib/esm/internal/utils.d.ts +0 -26
- package/lib/esm/internal/utils.js +0 -52
- package/lib/esm/internal/utils.js.map +0 -1
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AA26CA,oCAeC;AAyBD,0CAEC;AA6BD,gDAMC;AAqBD,oEAKC;AAgDD,0BAEC;AAuJD,8BAIC;AA9tDD,wCAA2C;AAC3C,4CAAyH;AA2EzH,6JAA6J;AAE7J;;;;;;;GAOG;AACH,IAAY,UAgBX;AAhBD,WAAY,UAAU;IACrB;;;OAGG;IACH,uDAAU,CAAA;IACV;;;OAGG;IACH,6CAAK,CAAA;IACL;;;OAGG;IACH,6DAAa,CAAA;AACd,CAAC,EAhBW,UAAU,0BAAV,UAAU,QAgBrB;AA8rBD;;;;;;;;;;;;;;GAcG;AACH,MAAsB,QAAQ;IAO7B;;;;OAIG;IACH,KAAK,CAAmE;IAExE,iCAAiC;IACjC,GAAG;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,IAAI,CAA6C,SAAqD,EAAE,GAAG,OAAoD;QAC9J,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,4GAA4G,CAAC,CAAC;QAC/H,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC;IACxC,CAAC;CACD;AArCD,4BAqCC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAa,IAAc,SAAQ,QAAW;IACrC,SAAS,GAAG,CAAC,CAAC;IACL,eAAe,GAAG,IAAI,GAAG,EAA8C,CAAC;IACxE,gBAAgB,GAAG,IAAI,GAAG,EAA+C,CAAC;IAE3F;;;;OAIG;IACH,UAAU,CAAC,QAAoB,EAAE,MAAe;QAC/C,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;QAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CACnC,GAAG,EAAE;YACJ,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChC,QAAQ,EAAE,CAAC;QACZ,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CACxB,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACrC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,kGAAkG;IAClG,YAAY,CAAC,EAA2B;QACvC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO;QACR,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1B,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAChC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,QAAoB,EAAE,MAAe;QAChD,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;QAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,mGAAmG;IACnG,aAAa,CAAC,EAA2B;QACxC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO;QACR,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1B,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAED,uCAAuC;IACvC,MAAM;QACL,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;IAED,6CAA6C;IAC7C,YAAY;QACX,MAAM,MAAM,GAAG,UAAU,CAAC,MAA4C,CAAC;QACvE,OAAO,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IAC3C,CAAC;IAED,2CAA2C;IAC3C,UAAU;QACT,OAAO,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IACvC,CAAC;IAED,gDAAgD;IAChD,eAAe,CAA4B,KAAQ;QAClD,kGAAkG;QAClG,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,KAAc,CAAC,CAAC;QAClD,OAAO,KAAK,CAAC;IACd,CAAC;CACD;AAjFD,oBAiFC;AAmJD;;;;;;;;;;GAUG;AACH,MAAsB,QAAQ;IAC7B,4EAA4E;IACnE,GAAG,CAAW;IACvB,8FAA8F;IACrF,GAAG,CAAwD;IAUpE;QACC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC/D,CAAC;IACD;;;;;;;OAOG;IACH,IAAI,IAAI;QACP,OAAQ,IAAI,CAAC,GAAiC,CAAC,IAAI,CAAC;IACrD,CAAC;IACD,uCAAuC;IACvC,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;IAC3B,CAAC;IACD,0CAA0C;IAC1C,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;IAC9B,CAAC;IACD,yCAAyC;IACzC,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;IAC7B,CAAC;IACD,sCAAsC;IACtC,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC1B,CAAC;IACD,8CAA8C;IAC9C,IAAI,gBAAgB;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAClC,CAAC;IACD,0CAA0C;IAC1C,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;IAC9B,CAAC;IACD,yCAAyC;IACzC,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;IAC7B,CAAC;IACD,wCAAwC;IACxC,IAAI,UAAU,CAAC,KAAiB;QAC/B,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;IAC7B,CAAC;IACD,wCAAwC;IACxC,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;IAC5B,CAAC;IACD,0CAA0C;IAC1C,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;IAC9B,CAAC;IACD,yCAAyC;IACzC,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;IAC7B,CAAC;IACD,yCAAyC;IACzC,IAAI,WAAW,CAAC,KAAK;QACpB,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,mDAAmD;IACnD,IAAI,qBAAqB;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACvC,CAAC;IACD,mDAAmD;IACnD,IAAI,qBAAqB,CAAC,KAAK;QAC9B,IAAI,CAAC,GAAG,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACxC,CAAC;IACD,mCAAmC;IACnC,UAAU,CAAC,SAAoE;QAC9E,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IACD,kCAAkC;IAClC,SAAS;QACR,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;IACtB,CAAC;IACD,8BAA8B;IAC9B,KAAK,CAAC,MAAc;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IACD,4BAA4B;IAC5B,IAAI,CAA+D,SAAuE,EAAE,GAAG,YAA2E;QACzN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,YAAY,CAAC,CAAC;IAC3C,CAAC;IACD,qCAAqC;IACrC,YAAY,CAA+D,MAAc,EAAE,SAAuE,EAAE,GAAG,YAA2E;QACjP,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,CAAC;IAC3D,CAAC;IACD,gCAAgC;IAChC,OAAO,CAA+D,SAAuE,EAAE,GAAG,YAA2E;QAC5N,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,YAAY,CAAC,CAAC;IAC9C,CAAC;IAED,qCAAqC;IACrC,MAAM,KAA0B,CAAC;IAEjC,sCAAsC;IACtC,OAAO,KAA0B,CAAC;IAElC,sCAAsC;IACtC,OAAO,CAA+D,KAA6E;QAClJ,MAAM,KAAK,CAAC;IACb,CAAC;IAED,0CAA0C;IAC1C,WAAW,CAA+D,KAAoF;QAC7J,MAAM,KAAK,CAAC;IACb,CAAC;CACD;AA7HD,4BA6HC;AAED;;;;;;;GAOG;AACH,MAAsB,QAAmD,SAAQ,KAAK;IACrF,yEAAyE;IACzE,IAAI,CAAS;IACb,sEAAsE;IACtE,YAAY,CAAS;IACrB,0EAA0E;IAC1E,SAAS,CAAS;IAClB,oEAAoE;IACpE,OAAO,CAAU;IACjB,kFAAkF;IAClF,KAAK,CAAS;IAEd,YAAsB,IAAY,EAAE,GAA6B,EAAE,OAAe,EAAE,KAAa;QAChG,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,gBAAgB,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;CACD;AApBD,4BAoBC;AAED;;;;;;;;GAQG;AACH,MAAsB,YAAyF,SAAQ,QAA2B;IACjJ,uEAAuE;IACvE,SAAS,CAAmC;IAC5C,yEAAyE;IACzE,YAAY,CAAoC;IAEhD,YAAsB,SAAiB,EAAE,GAA6B,EAAE,OAAe,EAAE,KAAa;QACrG,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAA6C,CAAC;QACnE,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,YAAiD,CAAC;IAC3E,CAAC;CACD;AAXD,oCAWC;AAED;;;;GAIG;AACH,MAAa,eAA4F,SAAQ,YAA0C;IAYlJ;IACA;IACA;IACA;IAdR;;;;;;;OAOG;IACH,YACC,GAA6B,EAC7B,KAAY,EACL,eAAuB,EACvB,cAAoC,EACpC,aAAqB,EACrB,WAAmB;QAE1B,KAAK,CAAC,iBAAiB,EAAE,GAAG,EAAE,GAAG,eAAe,IAAI,cAAc,mDAAmD,aAAa,OAAO,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;QALxJ,oBAAe,GAAf,eAAe,CAAQ;QACvB,mBAAc,GAAd,cAAc,CAAsB;QACpC,kBAAa,GAAb,aAAa,CAAQ;QACrB,gBAAW,GAAX,WAAW,CAAQ;IAG3B,CAAC;CACD;AAnBD,0CAmBC;AAED;;;;GAIG;AACH,MAAa,iBAA8F,SAAQ,YAA0C;IAC5J;;;OAGG;IACH,YAAY,GAA6B,EAAE,KAAY;QACtD,KAAK,CAAC,mBAAmB,EAAE,GAAG,EAAE,sDAAsD,GAAG,CAAC,SAAS,aAAa,GAAG,CAAC,gBAAgB,EAAE,EAAE,KAAK,CAAC,CAAC;IAChJ,CAAC;CACD;AARD,8CAQC;AAED;;;;GAIG;AACH,MAAa,mBAAgG,SAAQ,YAA0C;IAC9J,qEAAqE;IACrE,YAAY,GAA6B;QACxC,KAAK,CAAC,qBAAqB,EAAE,GAAG,EAAE,UAAU,GAAG,CAAC,SAAS,2BAA2B,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC7G,CAAC;CACD;AALD,kDAKC;AAED;;;;GAIG;AACH,MAAa,iBAA4D,SAAQ,KAAK;IACrF,mFAAmF;IACnF,eAAe,CAAS;IAExB,wFAAwF;IACxF,YAAY,WAA0C;QACrD,KAAK,CAAC,UAAU,IAAA,oBAAY,EAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,WAA4C,CAAC,6CAA6C,CAAC,CAAC;QACtK,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,IAAA,oBAAY,EAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CACD;AAVD,8CAUC;AAED;;;;GAIG;AACH,MAAa,UAAuF,SAAQ,YAA0C;IACrJ;;;OAGG;IACH,YAAY,GAA6B,EAAE,KAAY;QACtD,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,wBAAwB,IAAA,kBAAU,EAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC9E,CAAC;CACD;AARD,gCAQC;AAED;;;;GAIG;AACH,MAAa,mBAA8D,SAAQ,QAA2B;IAQrG;IAPR;;;;OAIG;IACH,YACC,GAA6B,EACtB,WAA0C,EACjD,KAAY;QAEZ,KAAK,CAAC,qBAAqB,EAAE,GAAG,EAAE,SAAS,IAAA,oBAAY,EAAC,WAAW,CAAC,eAAe,IAAA,kBAAU,EAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAH9H,gBAAW,GAAX,WAAW,CAA+B;IAIlD,CAAC;CACD;AAbD,kDAaC;AAED;;;;;;;GAOG;AACH,MAAa,eAA0D,SAAQ,QAA2B;CAAG;AAA7G,0CAA6G;AAE7G,IAAA,uBAAuB,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC9C,IAAA,uBAAuB,EAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,YAAY,CAA2C,WAA0C;IAChH,MAAM,mBAAmB,GAAG,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC;IACrF,IAAI,IAAA,uBAAe,EAAC,mBAAmB,CAAC;QAAE,MAAM,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACnF,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,iBAAiB,EAAE;QACrD,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,KAAK;KACjB,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,mBAAmB,EAAE,eAAe,EAAE;QAC3D,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,KAAK;KACjB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAgB,eAAe,CAA2C,KAAoC,EAAE,IAAY;IAC3H,IAAA,uBAAuB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,kBAAkB,CAAC,OAAgC;IAClE,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,IAAA,uBAAuB,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5C,CAAC;IACF,CAAC;AACF,CAAC;AAED,iGAAiG;AACjG,SAAS,YAAY,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,SAAS,GAAI,KAAkB,CAAC,SAAS,CAAC;IAChD,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAC3G,CAAC;AAED,gBAAgB;AAChB,MAAM,kBAAkB;IACvB,KAAK,CAA2C,GAAkC,EAAE,OAAY;QAC/F,IAAI,OAAO,OAAO,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,gBAAgB,KAAK,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;IACF,CAAC;CACD;AAED,iGAAiG;AACjG,SAAgB,4BAA4B,CAA2C,GAA4B,EAAE,GAAU;IAC9H,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC;IAC/B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,uCAAuC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC;IAC1G,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACvB,MAAM,GAAG,CAAC;AACX,CAAC;AAED,gBAAgB;AACH,QAAA,kBAAkB,GAAgB,IAAI,kBAAkB,EAAE,CAAC;AACxE,MAAM,iBAAiB,GAAG,UAAU,CAAC,KAAK,CAAC;AAC3C,gBAAgB;AACH,QAAA,iBAAiB,GAAG,IAAI,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,SAAgB,OAAO,CAA2C,QAAuC,EAAE,GAAY,EAAE,aAAsB,yBAAiB,EAAE,aAAyB,iBAAiB,EAAE,cAA2B,0BAAkB,EAAE,wBAAkE,4BAA4B,EAAE,IAAoC;IAChY,OAAO,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;AACrG,CAAC;AAED,wHAAwH;AACxH,SAAS,WAAW,CAA2C,QAAuC,EAAE,GAAY,EAAE,UAAmB,EAAE,UAAsB,EAAE,WAAwB,EAAE,qBAA+D,EAAE,IAAoC;IACjS,MAAM,QAAQ,GAAgC;QAC7C,GAAG,EAAE,SAAyD;QAC9D,GAAG,EAAE,GAAG;KACR,CAAC;IACF,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IACpD,QAAQ,CAAC,GAAG,GAAG,IAAI,eAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,qBAAqB,EAAE,UAAU,CAAC,CAAC;IAC7G,+EAA+E;IAC/E,4FAA4F;IAC5F,0FAA0F;IAC1F,MAAM,SAAS,GAAkC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;IACpE,SAAS,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC;IAC/B,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC;IAC7B,OAAO,QAAQ,CAAC,GAAG,CAAC;AACrB,CAAC;AAwCD;;;;;;;;;;;GAWG;AACH,SAAS,aAAa,CAAyC,GAAwC;IACtG,MAAM,KAAK,GAA2B;QACrC,IAAI,GAAG;YACN,OAAO,GAAG,CAAC,GAAG,CAAC;QAChB,CAAC;QACD,IAAI,YAAY;YACf,OAAO,GAAG,CAAC,YAAsD,CAAC;QACnE,CAAC;QACD,IAAI,gBAAgB;YACnB,OAAO,GAAG,CAAC,gBAAgB,CAAC;QAC7B,CAAC;QACD,IAAI,QAAQ;YACX,OAAO,GAAG,CAAC,QAAkD,CAAC;QAC/D,CAAC;QACD,IAAI,YAAY;YACf,OAAO,GAAG,CAAC,YAAY,CAAC;QACzB,CAAC;QACD,IAAI,WAAW;YACd,OAAO,GAAG,CAAC,WAAW,CAAC;QACxB,CAAC;QACD,IAAI,WAAW;YACd,OAAO,GAAG,CAAC,WAAW,CAAC;QACxB,CAAC;QACD,IAAI,SAAS;YACZ,OAAO,GAAG,CAAC,SAAS,CAAC;QACtB,CAAC;QACD,IAAI,YAAY;YACf,OAAO,GAAG,CAAC,YAAY,CAAC;QACzB,CAAC;QACD,IAAI,UAAU;YACb,OAAO,GAAG,CAAC,UAAU,CAAC;QACvB,CAAC;QACD,IAAI,UAAU,CAAC,KAAiB;YAC/B,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,CAAC;QACD,IAAI,WAAW;YACd,OAAO,GAAG,CAAC,WAAW,CAAC;QACxB,CAAC;QACD,IAAI,WAAW,CAAC,MAAmB;YAClC,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,CAAC;QACD,IAAI,qBAAqB;YACxB,OAAO,GAAG,CAAC,qBAA0E,CAAC;QACvF,CAAC;QACD,IAAI,qBAAqB,CAAC,EAA0C;YACnE,GAAG,CAAC,qBAAqB,GAAG,EAAsE,CAAC;QACpG,CAAC;QACD,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmC;QAC1D,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmC;QAC1D,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACxB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAsC;KACnE,CAAC;IACF,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,SAAS,CAAmH,QAAgD,EAAE,GAAY,EAAE,IAAO,EAAE,UAAmD,EAAE,EAAE,GAAG,cAAkG;IAChX,MAAM,EAAE,UAAU,GAAG,yBAAiB,EAAE,UAAU,GAAG,iBAAiB,EAAE,WAAW,GAAG,0BAAkB,EAAE,qBAAqB,GAAG,4BAA4B,EAAE,GAAG,OAAO,CAAC;IAC3K,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE,IAAkE,CAAC,CAAC;IACvK,OAAO,aAAa,CAAkB,GAAqD,CAAC,CAAC;AAC9F,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA;;;;GAIG;AACH,8CAoD4B;AAnD3B,qGAAA,UAAU,OAAA;AACV,kGAAA,OAAO,OAAA;AACP,uGAAA,YAAY,OAAA;AACZ,qGAAA,UAAU,OAAA;AACV,0GAAA,eAAe,OAAA;AACf,0GAAA,eAAe,OAAA;AACf,2GAAA,gBAAgB,OAAA;AAChB,0GAAA,eAAe,OAAA;AACf,uGAAA,YAAY,OAAA;AACZ,+FAAA,IAAI,OAAA;AACJ,yGAAA,cAAc,OAAA;AACd,mGAAA,QAAQ,OAAA;AACR,mGAAA,QAAQ,OAAA;AACR,uGAAA,YAAY,OAAA;AACZ,0GAAA,eAAe,OAAA;AACf,4GAAA,iBAAiB,OAAA;AACjB,8GAAA,mBAAmB,OAAA;AACnB,4GAAA,iBAAiB,OAAA;AACjB,qGAAA,UAAU,OAAA;AACV,8GAAA,mBAAmB,OAAA;AACnB,0GAAA,eAAe,OAAA;AACf,uGAAA,YAAY,OAAA;AACZ,6GAAA,kBAAkB,OAAA;AAClB,iHAAA,sBAAsB,OAAA;AACtB,wGAAA,aAAa,OAAA;AACb,6GAAA,kBAAkB,OAAA;AAClB,2GAAA,gBAAgB,OAAA;AAChB,gHAAA,qBAAqB,OAAA;AACrB,+GAAA,oBAAoB,OAAA;AACpB,gHAAA,qBAAqB,OAAA;AACrB,mHAAA,wBAAwB,OAAA;AACxB,iHAAA,sBAAsB,OAAA;AACtB,+GAAA,oBAAoB,OAAA;AACpB,oHAAA,yBAAyB,OAAA;AACzB,2GAAA,gBAAgB,OAAA;AAChB,+GAAA,oBAAoB,OAAA;AACpB,2GAAA,gBAAgB,OAAA;AAChB,iHAAA,sBAAsB,OAAA;AACtB,6GAAA,kBAAkB,OAAA;AAClB,6GAAA,kBAAkB,OAAA;AAClB,4GAAA,iBAAiB,OAAA;AACjB,uHAAA,4BAA4B,OAAA;AAC5B,oGAAA,SAAS,OAAA;AACT,wGAAA,aAAa,OAAA;AACb,yGAAA,cAAc,OAAA;AACd,0GAAA,eAAe,OAAA;AACf,sGAAA,WAAW,OAAA;AACX,2GAAA,gBAAgB,OAAA;AAChB,qGAAA,UAAU,OAAA;AACV,0GAAA,eAAe,OAAA;AACf,4GAAA,iBAAiB,OAAA;AAElB,8EAAkF;AAAzE,uIAAA,4BAA4B,OAAA;AACrC,8DAAmG;AAA1F,oHAAA,iBAAiB,OAAA;AAAE,kHAAA,eAAe,OAAA;AAAE,oHAAA,iBAAiB,OAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Basic console signal output — a zero-dependency {@link Instrumentation} for development.
|
|
3
|
+
*
|
|
4
|
+
* `ihsm` itself has no OpenTelemetry dependency: observability is driven entirely by the optional
|
|
5
|
+
* {@link Instrumentation} callback surface passed to `makeActor(..., { instrumentation })`. This
|
|
6
|
+
* built-in implementation prints those signals to the console so users who do not want OTEL still
|
|
7
|
+
* get out-of-the-box visibility. The richer OpenTelemetry bridge lives in the separate
|
|
8
|
+
* `@ihsm/otel` package and consumes the very same callbacks.
|
|
9
|
+
*/
|
|
10
|
+
import type { Instrumentation } from './types';
|
|
11
|
+
export interface ConsoleInstrumentationOptions {
|
|
12
|
+
/** Sink for each formatted line. Defaults to `console.log`. */
|
|
13
|
+
readonly write?: (line: string) => void;
|
|
14
|
+
/** Prefix prepended to every line. Defaults to `'ihsm'`. */
|
|
15
|
+
readonly prefix?: string;
|
|
16
|
+
/** Emit microstep begin/end and enqueue signals (verbose). Defaults to `true`. */
|
|
17
|
+
readonly microsteps?: boolean;
|
|
18
|
+
/** Emit `hsm.log.*` records. Defaults to `true`. */
|
|
19
|
+
readonly logs?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Build a dependency-free {@link Instrumentation} that prints actor signals to the console.
|
|
23
|
+
*
|
|
24
|
+
* Register it globally so tracing stays a cross-cutting concern — actor construction takes no
|
|
25
|
+
* tracing argument and every actor spawned afterwards is traced.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* import { createConsoleInstrumentation, registerCollector, makeActor, Port } from 'ihsm';
|
|
30
|
+
* registerCollector(createConsoleInstrumentation());
|
|
31
|
+
* const actor = makeActor(Top, ctx, new Port(), { initialize: true });
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function createConsoleInstrumentation(options?: ConsoleInstrumentationOptions): Instrumentation;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Basic console signal output — a zero-dependency {@link Instrumentation} for development.
|
|
4
|
+
*
|
|
5
|
+
* `ihsm` itself has no OpenTelemetry dependency: observability is driven entirely by the optional
|
|
6
|
+
* {@link Instrumentation} callback surface passed to `makeActor(..., { instrumentation })`. This
|
|
7
|
+
* built-in implementation prints those signals to the console so users who do not want OTEL still
|
|
8
|
+
* get out-of-the-box visibility. The richer OpenTelemetry bridge lives in the separate
|
|
9
|
+
* `@ihsm/otel` package and consumes the very same callbacks.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.createConsoleInstrumentation = createConsoleInstrumentation;
|
|
13
|
+
function shortUuid(uuid) {
|
|
14
|
+
return uuid.length >= 8 ? uuid.slice(0, 8) : uuid;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Build a dependency-free {@link Instrumentation} that prints actor signals to the console.
|
|
18
|
+
*
|
|
19
|
+
* Register it globally so tracing stays a cross-cutting concern — actor construction takes no
|
|
20
|
+
* tracing argument and every actor spawned afterwards is traced.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* import { createConsoleInstrumentation, registerCollector, makeActor, Port } from 'ihsm';
|
|
25
|
+
* registerCollector(createConsoleInstrumentation());
|
|
26
|
+
* const actor = makeActor(Top, ctx, new Port(), { initialize: true });
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
function createConsoleInstrumentation(options = {}) {
|
|
30
|
+
const write = options.write ?? ((line) => console.log(line));
|
|
31
|
+
const prefix = options.prefix ?? 'ihsm';
|
|
32
|
+
const microsteps = options.microsteps ?? true;
|
|
33
|
+
const logs = options.logs ?? true;
|
|
34
|
+
const emit = (msg, actor = '') => write(actor.length > 0 ? `[${prefix}] ${actor} ${msg}` : `[${prefix}] ${msg}`);
|
|
35
|
+
const instrumentation = {
|
|
36
|
+
onActorCreated(id) {
|
|
37
|
+
emit(`+ actor ${id.path} (${id.kind})`, shortUuid(id.uuid));
|
|
38
|
+
},
|
|
39
|
+
onActorDisposed(id) {
|
|
40
|
+
emit(`- actor ${id.path}`, shortUuid(id.uuid));
|
|
41
|
+
},
|
|
42
|
+
onMacrostepBegin(info) {
|
|
43
|
+
emit(`\u25b6 macrostep ${info.id} ${info.triggerKind}:${info.trigger} @${info.startState}`, shortUuid(info.actor.uuid));
|
|
44
|
+
},
|
|
45
|
+
onMacrostepEnd(info) {
|
|
46
|
+
emit(`\u25a0 macrostep ${info.id} \u2192 ${info.endState} (${info.steps} step(s), ${info.outcome})`);
|
|
47
|
+
},
|
|
48
|
+
onError(info) {
|
|
49
|
+
emit(`\u2716 ${info.phase} ${info.errorClass}: ${info.error.message}${info.recovered ? ' (recovered)' : ''}`);
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
if (microsteps) {
|
|
53
|
+
instrumentation.onMicrostepBegin = (info) => {
|
|
54
|
+
emit(` \u00b7 #${info.seq} ${info.event} [${info.bucket}/${info.queue}] @${info.fromState}`);
|
|
55
|
+
};
|
|
56
|
+
instrumentation.onMicrostepEnd = (info) => {
|
|
57
|
+
emit(` \u00b7 #${info.seq} \u2192 ${info.toState}${info.transitioned ? ' (transition)' : ''} ${info.outcome}`);
|
|
58
|
+
};
|
|
59
|
+
instrumentation.onEnqueue = (info) => {
|
|
60
|
+
emit(` \u21b3 enqueue ${info.event} [${info.queue}]${info.delayMs !== undefined ? ` +${info.delayMs}ms` : ''}`);
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
if (logs) {
|
|
64
|
+
instrumentation.onLog = (record) => {
|
|
65
|
+
const attrs = record.attributes !== undefined && Object.keys(record.attributes).length > 0 ? ` ${JSON.stringify(record.attributes)}` : '';
|
|
66
|
+
emit(` [${record.severity}] ${record.body}${attrs}`);
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
return instrumentation;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=console-instrumentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-instrumentation.js","sourceRoot":"","sources":["../../../src/internal/console-instrumentation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** Deterministic actor identity (CORE-A) — UUIDv5 over `(runNamespace, path)` with zero npm deps. */
|
|
2
|
+
import type { ActorIdentity, EmbodimentKind } from './types';
|
|
3
|
+
/** Fixed ihsm namespace for run-scoped UUID derivation. */
|
|
4
|
+
export declare const IHSM_IDENTITY_NAMESPACE = "a3f2c8e1-4b9d-4e7a-9c1f-2d6e8b0a4f3c";
|
|
5
|
+
/** Set the run seed for deterministic actor UUIDs (DST harness). */
|
|
6
|
+
export declare function configureRunSeed(seed: string): void;
|
|
7
|
+
/** Current run seed. */
|
|
8
|
+
export declare function getRunSeed(): string;
|
|
9
|
+
/** Lazily computed `uuidv5(IHSM_IDENTITY_NAMESPACE, runSeed)`. */
|
|
10
|
+
export declare function getRunNamespace(): string;
|
|
11
|
+
export declare function actorNameFromTopState(topStateName: string): string;
|
|
12
|
+
export declare function mintActorIdentity(kind: EmbodimentKind, path: string, parentUuid?: string): ActorIdentity;
|
|
13
|
+
export declare function rootActorPath(topStateName: string): string;
|
|
14
|
+
export declare function childActorPath(parentPath: string, childTopName: string, spawnIndex: number): string;
|
|
15
|
+
/** Minimal SHA-1 for browser-side identity minting (sync). @internal exported for test hooks. */
|
|
16
|
+
export declare function sha1Pure(data: Uint8Array): Uint8Array;
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/** Deterministic actor identity (CORE-A) — UUIDv5 over `(runNamespace, path)` with zero npm deps. */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.IHSM_IDENTITY_NAMESPACE = void 0;
|
|
5
|
+
exports.configureRunSeed = configureRunSeed;
|
|
6
|
+
exports.getRunSeed = getRunSeed;
|
|
7
|
+
exports.getRunNamespace = getRunNamespace;
|
|
8
|
+
exports.actorNameFromTopState = actorNameFromTopState;
|
|
9
|
+
exports.mintActorIdentity = mintActorIdentity;
|
|
10
|
+
exports.rootActorPath = rootActorPath;
|
|
11
|
+
exports.childActorPath = childActorPath;
|
|
12
|
+
exports.sha1Pure = sha1Pure;
|
|
13
|
+
/** Fixed ihsm namespace for run-scoped UUID derivation. */
|
|
14
|
+
exports.IHSM_IDENTITY_NAMESPACE = 'a3f2c8e1-4b9d-4e7a-9c1f-2d6e8b0a4f3c';
|
|
15
|
+
let runSeed = defaultRunSeed();
|
|
16
|
+
let runNamespace;
|
|
17
|
+
function defaultRunSeed() {
|
|
18
|
+
if (typeof process !== 'undefined' && typeof process.env?.IHSM_RUN_SEED === 'string' && process.env.IHSM_RUN_SEED.length > 0) {
|
|
19
|
+
return process.env.IHSM_RUN_SEED;
|
|
20
|
+
}
|
|
21
|
+
return globalThis.crypto.randomUUID();
|
|
22
|
+
}
|
|
23
|
+
/** Set the run seed for deterministic actor UUIDs (DST harness). */
|
|
24
|
+
function configureRunSeed(seed) {
|
|
25
|
+
runSeed = seed;
|
|
26
|
+
runNamespace = undefined;
|
|
27
|
+
}
|
|
28
|
+
/** Current run seed. */
|
|
29
|
+
function getRunSeed() {
|
|
30
|
+
return runSeed;
|
|
31
|
+
}
|
|
32
|
+
/** Lazily computed `uuidv5(IHSM_IDENTITY_NAMESPACE, runSeed)`. */
|
|
33
|
+
function getRunNamespace() {
|
|
34
|
+
if (runNamespace === undefined) {
|
|
35
|
+
runNamespace = uuidV5(runSeed, exports.IHSM_IDENTITY_NAMESPACE);
|
|
36
|
+
}
|
|
37
|
+
return runNamespace;
|
|
38
|
+
}
|
|
39
|
+
function actorNameFromTopState(topStateName) {
|
|
40
|
+
return topStateName.endsWith('Top') ? topStateName.slice(0, -3) : topStateName;
|
|
41
|
+
}
|
|
42
|
+
function mintActorIdentity(kind, path, parentUuid) {
|
|
43
|
+
const identity = {
|
|
44
|
+
uuid: uuidV5(path, getRunNamespace()),
|
|
45
|
+
name: path
|
|
46
|
+
.split('/')
|
|
47
|
+
.pop()
|
|
48
|
+
?.replace(/\[\d+\]$/, '') ?? path,
|
|
49
|
+
path,
|
|
50
|
+
kind,
|
|
51
|
+
};
|
|
52
|
+
if (parentUuid !== undefined) {
|
|
53
|
+
return { ...identity, parentUuid };
|
|
54
|
+
}
|
|
55
|
+
return identity;
|
|
56
|
+
}
|
|
57
|
+
function rootActorPath(topStateName) {
|
|
58
|
+
return actorNameFromTopState(topStateName);
|
|
59
|
+
}
|
|
60
|
+
function childActorPath(parentPath, childTopName, spawnIndex) {
|
|
61
|
+
const childName = actorNameFromTopState(childTopName);
|
|
62
|
+
return `${parentPath}/${childName}[${spawnIndex}]`;
|
|
63
|
+
}
|
|
64
|
+
function uuidV5(name, namespaceUuid) {
|
|
65
|
+
const namespaceBytes = parseUuidToBytes(namespaceUuid);
|
|
66
|
+
const nameBytes = new TextEncoder().encode(name);
|
|
67
|
+
const payload = new Uint8Array(namespaceBytes.length + nameBytes.length);
|
|
68
|
+
payload.set(namespaceBytes, 0);
|
|
69
|
+
payload.set(nameBytes, namespaceBytes.length);
|
|
70
|
+
const hash = sha1Sync(payload);
|
|
71
|
+
hash[6] = (hash[6] & 0x0f) | 0x50;
|
|
72
|
+
hash[8] = (hash[8] & 0x3f) | 0x80;
|
|
73
|
+
return formatUuid(hash.subarray(0, 16));
|
|
74
|
+
}
|
|
75
|
+
function parseUuidToBytes(uuid) {
|
|
76
|
+
const hex = uuid.replace(/-/g, '');
|
|
77
|
+
const out = new Uint8Array(16);
|
|
78
|
+
for (let i = 0; i < 16; ++i) {
|
|
79
|
+
out[i] = Number.parseInt(hex.slice(i * 2, i * 2 + 2), 16);
|
|
80
|
+
}
|
|
81
|
+
return out;
|
|
82
|
+
}
|
|
83
|
+
function formatUuid(bytes) {
|
|
84
|
+
const hex = [...bytes].map(b => b.toString(16).padStart(2, '0')).join('');
|
|
85
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
86
|
+
}
|
|
87
|
+
function sha1Sync(data) {
|
|
88
|
+
if (typeof process !== 'undefined' && process.versions?.node !== undefined) {
|
|
89
|
+
try {
|
|
90
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
91
|
+
const crypto = require('node:crypto');
|
|
92
|
+
return new Uint8Array(crypto.createHash('sha1').update(data).digest());
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
/* fall through */
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return sha1Pure(data);
|
|
99
|
+
}
|
|
100
|
+
/** Minimal SHA-1 for browser-side identity minting (sync). @internal exported for test hooks. */
|
|
101
|
+
function sha1Pure(data) {
|
|
102
|
+
const w = new Array(80).fill(0);
|
|
103
|
+
let h0 = 0x67452301;
|
|
104
|
+
let h1 = 0xefcdab89;
|
|
105
|
+
let h2 = 0x98badcfe;
|
|
106
|
+
let h3 = 0x10325476;
|
|
107
|
+
let h4 = 0xc3d2e1f0;
|
|
108
|
+
const ml = data.length * 8;
|
|
109
|
+
const withLen = new Uint8Array(((data.length + 9 + 63) >> 6) << 6);
|
|
110
|
+
withLen.set(data);
|
|
111
|
+
withLen[data.length] = 0x80;
|
|
112
|
+
const view = new DataView(withLen.buffer);
|
|
113
|
+
view.setUint32(withLen.length - 4, ml >>> 0, false);
|
|
114
|
+
for (let offset = 0; offset < withLen.length; offset += 64) {
|
|
115
|
+
for (let i = 0; i < 16; ++i) {
|
|
116
|
+
w[i] = view.getUint32(offset + i * 4, false);
|
|
117
|
+
}
|
|
118
|
+
for (let i = 16; i < 80; ++i) {
|
|
119
|
+
w[i] = rotl(w[i - 3] ^ w[i - 8] ^ w[i - 14] ^ w[i - 16], 1);
|
|
120
|
+
}
|
|
121
|
+
let a = h0;
|
|
122
|
+
let b = h1;
|
|
123
|
+
let c = h2;
|
|
124
|
+
let d = h3;
|
|
125
|
+
let e = h4;
|
|
126
|
+
for (let i = 0; i < 80; ++i) {
|
|
127
|
+
let f;
|
|
128
|
+
let k;
|
|
129
|
+
if (i < 20) {
|
|
130
|
+
f = (b & c) | (~b & d);
|
|
131
|
+
k = 0x5a827999;
|
|
132
|
+
}
|
|
133
|
+
else if (i < 40) {
|
|
134
|
+
f = b ^ c ^ d;
|
|
135
|
+
k = 0x6ed9eba1;
|
|
136
|
+
}
|
|
137
|
+
else if (i < 60) {
|
|
138
|
+
f = (b & c) | (b & d) | (c & d);
|
|
139
|
+
k = 0x8f1bbcdc;
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
f = b ^ c ^ d;
|
|
143
|
+
k = 0xca62c1d6;
|
|
144
|
+
}
|
|
145
|
+
const temp = (rotl(a, 5) + f + e + k + w[i]) >>> 0;
|
|
146
|
+
e = d;
|
|
147
|
+
d = c;
|
|
148
|
+
c = rotl(b, 30);
|
|
149
|
+
b = a;
|
|
150
|
+
a = temp;
|
|
151
|
+
}
|
|
152
|
+
h0 = (h0 + a) >>> 0;
|
|
153
|
+
h1 = (h1 + b) >>> 0;
|
|
154
|
+
h2 = (h2 + c) >>> 0;
|
|
155
|
+
h3 = (h3 + d) >>> 0;
|
|
156
|
+
h4 = (h4 + e) >>> 0;
|
|
157
|
+
}
|
|
158
|
+
const out = new Uint8Array(20);
|
|
159
|
+
const outView = new DataView(out.buffer);
|
|
160
|
+
outView.setUint32(0, h0, false);
|
|
161
|
+
outView.setUint32(4, h1, false);
|
|
162
|
+
outView.setUint32(8, h2, false);
|
|
163
|
+
outView.setUint32(12, h3, false);
|
|
164
|
+
outView.setUint32(16, h4, false);
|
|
165
|
+
return out;
|
|
166
|
+
}
|
|
167
|
+
function rotl(x, n) {
|
|
168
|
+
return ((x << n) | (x >>> (32 - n))) >>> 0;
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/internal/identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/** Instrumentation helpers — non-throwing observer guard and task metadata (CORE-B). */
|
|
2
|
+
import type { CauseRef, DispatchError, EnqueueInfo, Instrumentation, LogRecord, MacrostepBegin, MacrostepEnd, MicrostepBegin, MicrostepEnd, NotificationQueue, OutboundCallBegin, OutboundCallEnd, PortCallBegin, PortCallEnd, SpawnInfo } from './types';
|
|
3
|
+
import type { Task } from './types';
|
|
4
|
+
export declare const kTaskMeta: unique symbol;
|
|
5
|
+
export interface TaskMeta {
|
|
6
|
+
readonly event?: string;
|
|
7
|
+
readonly queue?: NotificationQueue;
|
|
8
|
+
readonly internal?: boolean;
|
|
9
|
+
readonly triggerKind?: MacrostepBegin['triggerKind'];
|
|
10
|
+
cause?: CauseRef;
|
|
11
|
+
/** For deferred/timer enqueues — the scheduled delay, surfaced on the timer span link. */
|
|
12
|
+
readonly delayMs?: number;
|
|
13
|
+
/** Microstep correlation, stamped at task begin so begin/end pair correctly across nested priority drains. */
|
|
14
|
+
seq?: number;
|
|
15
|
+
/** Leaf state captured at task begin — pairs with `seq` for a correct `transitioned` at task end. */
|
|
16
|
+
fromState?: string;
|
|
17
|
+
}
|
|
18
|
+
export type InstrumentedTask = Task & {
|
|
19
|
+
[kTaskMeta]?: TaskMeta;
|
|
20
|
+
};
|
|
21
|
+
export declare function setTaskMeta(task: Task, meta: TaskMeta): void;
|
|
22
|
+
export declare function getTaskMeta(task: Task): TaskMeta | undefined;
|
|
23
|
+
export declare function invokeInstrumentation(fn: () => void): void;
|
|
24
|
+
export declare function notifyActorCreated(instrumentation: Instrumentation | undefined, id: MacrostepBegin['actor']): void;
|
|
25
|
+
export declare function notifyMacrostepBegin(instrumentation: Instrumentation | undefined, info: MacrostepBegin): void;
|
|
26
|
+
export declare function notifyMacrostepEnd(instrumentation: Instrumentation | undefined, info: MacrostepEnd): void;
|
|
27
|
+
export declare function notifyActorSpawned(instrumentation: Instrumentation | undefined, info: SpawnInfo): void;
|
|
28
|
+
export declare function notifyMicrostepBegin(instrumentation: Instrumentation | undefined, info: MicrostepBegin): void;
|
|
29
|
+
export declare function notifyMicrostepEnd(instrumentation: Instrumentation | undefined, info: MicrostepEnd): void;
|
|
30
|
+
export declare function notifyEnqueue(instrumentation: Instrumentation | undefined, info: EnqueueInfo): void;
|
|
31
|
+
export declare function notifyPortCallBegin(instrumentation: Instrumentation | undefined, info: PortCallBegin): void;
|
|
32
|
+
export declare function notifyPortCallEnd(instrumentation: Instrumentation | undefined, info: PortCallEnd): void;
|
|
33
|
+
export declare function notifyOutboundCallBegin(instrumentation: Instrumentation | undefined, info: OutboundCallBegin): void;
|
|
34
|
+
export declare function notifyOutboundCallEnd(instrumentation: Instrumentation | undefined, info: OutboundCallEnd): void;
|
|
35
|
+
export declare function notifyError(instrumentation: Instrumentation | undefined, info: DispatchError): void;
|
|
36
|
+
export declare function notifyLog(instrumentation: Instrumentation | undefined, record: LogRecord): void;
|
|
37
|
+
/**
|
|
38
|
+
* Register a tracing collector globally. Every actor spawned while it is registered reports to it.
|
|
39
|
+
* Returns an idempotent unregister function. Multiple collectors fan out in registration order.
|
|
40
|
+
*/
|
|
41
|
+
export declare function registerCollector(collector: Instrumentation): () => void;
|
|
42
|
+
/** Remove every registered collector (primarily for test isolation). */
|
|
43
|
+
export declare function clearCollectors(): void;
|
|
44
|
+
/** The composed instrumentation an actor adopts at spawn — `undefined` when no collector is registered. */
|
|
45
|
+
export declare function getActiveInstrumentation(): Instrumentation | undefined;
|
|
46
|
+
/** Number of currently-registered collectors (diagnostics/tests). */
|
|
47
|
+
export declare function getCollectorCount(): number;
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/** Instrumentation helpers — non-throwing observer guard and task metadata (CORE-B). */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.kTaskMeta = void 0;
|
|
5
|
+
exports.setTaskMeta = setTaskMeta;
|
|
6
|
+
exports.getTaskMeta = getTaskMeta;
|
|
7
|
+
exports.invokeInstrumentation = invokeInstrumentation;
|
|
8
|
+
exports.notifyActorCreated = notifyActorCreated;
|
|
9
|
+
exports.notifyMacrostepBegin = notifyMacrostepBegin;
|
|
10
|
+
exports.notifyMacrostepEnd = notifyMacrostepEnd;
|
|
11
|
+
exports.notifyActorSpawned = notifyActorSpawned;
|
|
12
|
+
exports.notifyMicrostepBegin = notifyMicrostepBegin;
|
|
13
|
+
exports.notifyMicrostepEnd = notifyMicrostepEnd;
|
|
14
|
+
exports.notifyEnqueue = notifyEnqueue;
|
|
15
|
+
exports.notifyPortCallBegin = notifyPortCallBegin;
|
|
16
|
+
exports.notifyPortCallEnd = notifyPortCallEnd;
|
|
17
|
+
exports.notifyOutboundCallBegin = notifyOutboundCallBegin;
|
|
18
|
+
exports.notifyOutboundCallEnd = notifyOutboundCallEnd;
|
|
19
|
+
exports.notifyError = notifyError;
|
|
20
|
+
exports.notifyLog = notifyLog;
|
|
21
|
+
exports.registerCollector = registerCollector;
|
|
22
|
+
exports.clearCollectors = clearCollectors;
|
|
23
|
+
exports.getActiveInstrumentation = getActiveInstrumentation;
|
|
24
|
+
exports.getCollectorCount = getCollectorCount;
|
|
25
|
+
exports.kTaskMeta = Symbol('ihsm.taskMeta');
|
|
26
|
+
function setTaskMeta(task, meta) {
|
|
27
|
+
task[exports.kTaskMeta] = meta;
|
|
28
|
+
}
|
|
29
|
+
function getTaskMeta(task) {
|
|
30
|
+
return task[exports.kTaskMeta];
|
|
31
|
+
}
|
|
32
|
+
function invokeInstrumentation(fn) {
|
|
33
|
+
try {
|
|
34
|
+
fn();
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
/* observer must never escape */
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function notifyActorCreated(instrumentation, id) {
|
|
41
|
+
if (instrumentation?.onActorCreated === undefined)
|
|
42
|
+
return;
|
|
43
|
+
invokeInstrumentation(() => instrumentation.onActorCreated(id));
|
|
44
|
+
}
|
|
45
|
+
function notifyMacrostepBegin(instrumentation, info) {
|
|
46
|
+
if (instrumentation?.onMacrostepBegin === undefined)
|
|
47
|
+
return;
|
|
48
|
+
invokeInstrumentation(() => instrumentation.onMacrostepBegin(info));
|
|
49
|
+
}
|
|
50
|
+
function notifyMacrostepEnd(instrumentation, info) {
|
|
51
|
+
if (instrumentation?.onMacrostepEnd === undefined)
|
|
52
|
+
return;
|
|
53
|
+
invokeInstrumentation(() => instrumentation.onMacrostepEnd(info));
|
|
54
|
+
}
|
|
55
|
+
function notifyActorSpawned(instrumentation, info) {
|
|
56
|
+
if (instrumentation?.onActorSpawned === undefined)
|
|
57
|
+
return;
|
|
58
|
+
invokeInstrumentation(() => instrumentation.onActorSpawned(info));
|
|
59
|
+
}
|
|
60
|
+
function notifyMicrostepBegin(instrumentation, info) {
|
|
61
|
+
if (instrumentation?.onMicrostepBegin === undefined)
|
|
62
|
+
return;
|
|
63
|
+
invokeInstrumentation(() => instrumentation.onMicrostepBegin(info));
|
|
64
|
+
}
|
|
65
|
+
function notifyMicrostepEnd(instrumentation, info) {
|
|
66
|
+
if (instrumentation?.onMicrostepEnd === undefined)
|
|
67
|
+
return;
|
|
68
|
+
invokeInstrumentation(() => instrumentation.onMicrostepEnd(info));
|
|
69
|
+
}
|
|
70
|
+
function notifyEnqueue(instrumentation, info) {
|
|
71
|
+
if (instrumentation?.onEnqueue === undefined)
|
|
72
|
+
return;
|
|
73
|
+
invokeInstrumentation(() => instrumentation.onEnqueue(info));
|
|
74
|
+
}
|
|
75
|
+
function notifyPortCallBegin(instrumentation, info) {
|
|
76
|
+
if (instrumentation?.onPortCallBegin === undefined)
|
|
77
|
+
return;
|
|
78
|
+
invokeInstrumentation(() => instrumentation.onPortCallBegin(info));
|
|
79
|
+
}
|
|
80
|
+
function notifyPortCallEnd(instrumentation, info) {
|
|
81
|
+
if (instrumentation?.onPortCallEnd === undefined)
|
|
82
|
+
return;
|
|
83
|
+
invokeInstrumentation(() => instrumentation.onPortCallEnd(info));
|
|
84
|
+
}
|
|
85
|
+
function notifyOutboundCallBegin(instrumentation, info) {
|
|
86
|
+
if (instrumentation?.onOutboundCallBegin === undefined)
|
|
87
|
+
return;
|
|
88
|
+
invokeInstrumentation(() => instrumentation.onOutboundCallBegin(info));
|
|
89
|
+
}
|
|
90
|
+
function notifyOutboundCallEnd(instrumentation, info) {
|
|
91
|
+
if (instrumentation?.onOutboundCallEnd === undefined)
|
|
92
|
+
return;
|
|
93
|
+
invokeInstrumentation(() => instrumentation.onOutboundCallEnd(info));
|
|
94
|
+
}
|
|
95
|
+
function notifyError(instrumentation, info) {
|
|
96
|
+
if (instrumentation?.onError === undefined)
|
|
97
|
+
return;
|
|
98
|
+
invokeInstrumentation(() => instrumentation.onError(info));
|
|
99
|
+
}
|
|
100
|
+
function notifyLog(instrumentation, record) {
|
|
101
|
+
if (instrumentation?.onLog === undefined)
|
|
102
|
+
return;
|
|
103
|
+
invokeInstrumentation(() => instrumentation.onLog(record));
|
|
104
|
+
}
|
|
105
|
+
//#region global collector registry (cross-cutting tracing — CORE-B)
|
|
106
|
+
/**
|
|
107
|
+
* Tracing is a **globally enforced protocol**, not a per-actor parameter: a process registers one or
|
|
108
|
+
* more collectors once, and every actor created afterwards reports to them automatically — actor
|
|
109
|
+
* construction and handler code stay free of any tracing argument.
|
|
110
|
+
*
|
|
111
|
+
* Actors snapshot the active instrumentation at spawn: a collector registered before an actor is
|
|
112
|
+
* created observes it, the dispatch-context/ALS cost is only paid by actors spawned while a collector
|
|
113
|
+
* is active, and later register/unregister calls do not retroactively change already-spawned actors.
|
|
114
|
+
* A parent and the children it spawns while the same set is registered share one collector instance,
|
|
115
|
+
* which is what makes cross-actor span links work.
|
|
116
|
+
*/
|
|
117
|
+
const collectors = [];
|
|
118
|
+
let aggregator;
|
|
119
|
+
/** Invoke `call` against every collector in order, each isolated so one throw never starves the rest. */
|
|
120
|
+
function each(list, call) {
|
|
121
|
+
for (const c of list)
|
|
122
|
+
invokeInstrumentation(() => call(c));
|
|
123
|
+
}
|
|
124
|
+
function buildTransitionFanout(list) {
|
|
125
|
+
const tracers = list.map(c => c.transition).filter((t) => t !== undefined);
|
|
126
|
+
if (tracers.length === 0)
|
|
127
|
+
return undefined;
|
|
128
|
+
const run = (call) => {
|
|
129
|
+
for (const t of tracers)
|
|
130
|
+
invokeInstrumentation(() => call(t));
|
|
131
|
+
};
|
|
132
|
+
return {
|
|
133
|
+
traceTransitionStart: (from, to) => run(t => t.traceTransitionStart?.(from, to)),
|
|
134
|
+
traceInitializeStart: state => run(t => t.traceInitializeStart?.(state)),
|
|
135
|
+
traceInitializeDone: final => run(t => t.traceInitializeDone?.(final)),
|
|
136
|
+
traceHookStart: (state, hook) => run(t => t.traceHookStart?.(state, hook)),
|
|
137
|
+
traceHookDone: (state, hook) => run(t => t.traceHookDone?.(state, hook)),
|
|
138
|
+
traceHookSkipped: (state, hook) => run(t => t.traceHookSkipped?.(state, hook)),
|
|
139
|
+
traceHookError: (state, hook, cause) => run(t => t.traceHookError?.(state, hook, cause)),
|
|
140
|
+
traceTransitionDone: final => run(t => t.traceTransitionDone?.(final)),
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
/** Compose N collectors into one `Instrumentation` that fans every callback out to each, in order. */
|
|
144
|
+
function buildAggregator(list) {
|
|
145
|
+
const agg = {
|
|
146
|
+
onActorCreated: id => each(list, c => c.onActorCreated?.(id)),
|
|
147
|
+
onActorSpawned: info => each(list, c => c.onActorSpawned?.(info)),
|
|
148
|
+
onActorDisposed: id => each(list, c => c.onActorDisposed?.(id)),
|
|
149
|
+
onMacrostepBegin: info => each(list, c => c.onMacrostepBegin?.(info)),
|
|
150
|
+
onMacrostepEnd: info => each(list, c => c.onMacrostepEnd?.(info)),
|
|
151
|
+
onMicrostepBegin: info => each(list, c => c.onMicrostepBegin?.(info)),
|
|
152
|
+
onMicrostepEnd: info => each(list, c => c.onMicrostepEnd?.(info)),
|
|
153
|
+
onPortCallBegin: info => each(list, c => c.onPortCallBegin?.(info)),
|
|
154
|
+
onPortCallEnd: info => each(list, c => c.onPortCallEnd?.(info)),
|
|
155
|
+
onOutboundCallBegin: info => each(list, c => c.onOutboundCallBegin?.(info)),
|
|
156
|
+
onOutboundCallEnd: info => each(list, c => c.onOutboundCallEnd?.(info)),
|
|
157
|
+
onEnqueue: info => each(list, c => c.onEnqueue?.(info)),
|
|
158
|
+
onError: info => each(list, c => c.onError?.(info)),
|
|
159
|
+
onLog: record => each(list, c => c.onLog?.(record)),
|
|
160
|
+
};
|
|
161
|
+
const transition = buildTransitionFanout(list);
|
|
162
|
+
if (transition !== undefined)
|
|
163
|
+
agg.transition = transition;
|
|
164
|
+
return agg;
|
|
165
|
+
}
|
|
166
|
+
function rebuildAggregator() {
|
|
167
|
+
aggregator = collectors.length === 0 ? undefined : collectors.length === 1 ? collectors[0] : buildAggregator(collectors.slice());
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Register a tracing collector globally. Every actor spawned while it is registered reports to it.
|
|
171
|
+
* Returns an idempotent unregister function. Multiple collectors fan out in registration order.
|
|
172
|
+
*/
|
|
173
|
+
function registerCollector(collector) {
|
|
174
|
+
collectors.push(collector);
|
|
175
|
+
rebuildAggregator();
|
|
176
|
+
let removed = false;
|
|
177
|
+
return () => {
|
|
178
|
+
if (removed)
|
|
179
|
+
return;
|
|
180
|
+
removed = true;
|
|
181
|
+
const i = collectors.indexOf(collector);
|
|
182
|
+
if (i >= 0)
|
|
183
|
+
collectors.splice(i, 1);
|
|
184
|
+
rebuildAggregator();
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
/** Remove every registered collector (primarily for test isolation). */
|
|
188
|
+
function clearCollectors() {
|
|
189
|
+
collectors.length = 0;
|
|
190
|
+
aggregator = undefined;
|
|
191
|
+
}
|
|
192
|
+
/** The composed instrumentation an actor adopts at spawn — `undefined` when no collector is registered. */
|
|
193
|
+
function getActiveInstrumentation() {
|
|
194
|
+
return aggregator;
|
|
195
|
+
}
|
|
196
|
+
/** Number of currently-registered collectors (diagnostics/tests). */
|
|
197
|
+
function getCollectorCount() {
|
|
198
|
+
return collectors.length;
|
|
199
|
+
}
|
|
200
|
+
//#endregion
|
|
201
|
+
//# sourceMappingURL=instrumentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../../src/internal/instrumentation.ts"],"names":[],"mappings":"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"}
|