@effect-app/infra 0.233.3 → 0.233.4

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @effect-app/infra
2
2
 
3
+ ## 0.233.4
4
+
5
+ ### Patch Changes
6
+
7
+ - 4b4e40a: fix: recording updated requestcontext attributes
8
+
3
9
  ## 0.233.3
4
10
 
5
11
  ### Patch Changes
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.logfmtLogger = exports.logFmt = void 0;
7
7
  var _effectApp = require("effect-app");
8
+ var _RequestContextContainer = require("src/services/RequestContextContainer.js");
8
9
  var _shared = require("./shared.cjs");
9
10
  const logfmtLogger = exports.logfmtLogger = _effectApp.Logger.make(_ => {
10
11
  let {
@@ -13,16 +14,7 @@ const logfmtLogger = exports.logfmtLogger = _effectApp.Logger.make(_ => {
13
14
  const c = (0, _shared.getRequestContext)(_.context);
14
15
  const requestContext = _effectApp.Option.getOrUndefined(c);
15
16
  if (requestContext && requestContext.name !== "_root_") {
16
- annotations = _effectApp.HashMap.make(...[...annotations, ...Object.entries({
17
- "request.root.id": requestContext.rootId,
18
- "request.id": requestContext.id,
19
- "request.name": requestContext.name,
20
- "request.namespace": requestContext.namespace,
21
- "request.locale": requestContext.locale,
22
- ...(requestContext.userProfile?.sub ? {
23
- "request.user.sub": requestContext.userProfile.sub
24
- } : {})
25
- })]);
17
+ annotations = _effectApp.HashMap.make(...[...annotations, ...Object.entries((0, _RequestContextContainer.spanAttributes)(requestContext))]);
26
18
  }
27
19
  const formatted = _effectApp.Logger.logfmtLogger.log({
28
20
  ..._,
@@ -1 +1 @@
1
- {"version":3,"file":"logFmtLogger.cjs","names":["_effectApp","require","_shared","logfmtLogger","exports","Logger","make","_","annotations","c","getRequestContext","context","requestContext","Option","getOrUndefined","name","HashMap","Object","entries","rootId","id","namespace","locale","userProfile","sub","formatted","log","globalThis","console","logFmt","replace","defaultLogger"],"sources":["../../src/logger/logFmtLogger.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEO,MAAME,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAGE,iBAAM,CAACC,IAAI,CACpCC,CAAC,IAAI;EACJ,IAAI;IAAEC;EAAW,CAAE,GAAGD,CAAC;EACvB,MAAME,CAAC,GAAG,IAAAC,yBAAiB,EAACH,CAAC,CAACI,OAAO,CAAC;EACtC,MAAMC,cAAc,GAAGC,iBAAM,CAACC,cAAc,CAACL,CAAC,CAAC;EAC/C,IAAIG,cAAc,IAAIA,cAAc,CAACG,IAAI,KAAK,QAAQ,EAAE;IACtDP,WAAW,GAAGQ,kBAAO,CAACV,IAAI,CAAC,GAAG,CAC5B,GAAGE,WAAW,EACd,GAAGS,MAAM,CAACC,OAAO,CAAC;MAChB,iBAAiB,EAAEN,cAAc,CAACO,MAAM;MACxC,YAAY,EAAEP,cAAc,CAACQ,EAAE;MAC/B,cAAc,EAAER,cAAc,CAACG,IAAI;MACnC,mBAAmB,EAAEH,cAAc,CAACS,SAAS;MAC7C,gBAAgB,EAAET,cAAc,CAACU,MAAM;MACvC,IAAIV,cAAc,CAACW,WAAW,EAAEC,GAAG,GAAG;QAAE,kBAAkB,EAAEZ,cAAc,CAACW,WAAW,CAACC;MAAG,CAAE,GAAG,EAAE;KAClG,CAAC,CACH,CAAC;EACJ;EACA,MAAMC,SAAS,GAAGpB,iBAAM,CAACF,YAAY,CAACuB,GAAG,CAAC;IAAE,GAAGnB,CAAC;IAAEC;EAAW,CAAE,CAAC;EAChEmB,UAAU,CAACC,OAAO,CAACF,GAAG,CAACD,SAAS,CAAC;AACnC,CAAC,CACF;AAEM,MAAMI,MAAM,GAAAzB,OAAA,CAAAyB,MAAA,GAAGxB,iBAAM,CAACyB,OAAO,CAACzB,iBAAM,CAAC0B,aAAa,EAAE5B,YAAY,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"logFmtLogger.cjs","names":["_effectApp","require","_RequestContextContainer","_shared","logfmtLogger","exports","Logger","make","_","annotations","c","getRequestContext","context","requestContext","Option","getOrUndefined","name","HashMap","Object","entries","spanAttributes","formatted","log","globalThis","console","logFmt","replace","defaultLogger"],"sources":["../../src/logger/logFmtLogger.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,wBAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEO,MAAMG,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAGE,iBAAM,CAACC,IAAI,CACpCC,CAAC,IAAI;EACJ,IAAI;IAAEC;EAAW,CAAE,GAAGD,CAAC;EACvB,MAAME,CAAC,GAAG,IAAAC,yBAAiB,EAACH,CAAC,CAACI,OAAO,CAAC;EACtC,MAAMC,cAAc,GAAGC,iBAAM,CAACC,cAAc,CAACL,CAAC,CAAC;EAC/C,IAAIG,cAAc,IAAIA,cAAc,CAACG,IAAI,KAAK,QAAQ,EAAE;IACtDP,WAAW,GAAGQ,kBAAO,CAACV,IAAI,CAAC,GAAG,CAC5B,GAAGE,WAAW,EACd,GAAGS,MAAM,CAACC,OAAO,CAAC,IAAAC,uCAAc,EAACP,cAAc,CAAC,CAAC,CAClD,CAAC;EACJ;EACA,MAAMQ,SAAS,GAAGf,iBAAM,CAACF,YAAY,CAACkB,GAAG,CAAC;IAAE,GAAGd,CAAC;IAAEC;EAAW,CAAE,CAAC;EAChEc,UAAU,CAACC,OAAO,CAACF,GAAG,CAACD,SAAS,CAAC;AACnC,CAAC,CACF;AAEM,MAAMI,MAAM,GAAApB,OAAA,CAAAoB,MAAA,GAAGnB,iBAAM,CAACoB,OAAO,CAACpB,iBAAM,CAACqB,aAAa,EAAEvB,YAAY,CAAC","ignoreList":[]}
@@ -26,7 +26,7 @@ class RequestContextContainer extends _effectApp.Context.TagId("effect-app/Reque
26
26
  locale: "en"
27
27
  })), _effectApp.FiberRef.make).pipe(_effectApp.Effect.map(ref => RequestContextContainer.of({
28
28
  requestContext: _effectApp.FiberRef.get(ref),
29
- update: f => _effectApp.Effect.tap(_effectApp.FiberRef.getAndUpdate(ref, f), rc => _effectApp.Effect.annotateCurrentSpan(spanAttributes(rc))),
29
+ update: f => _effectApp.Effect.tap(_effectApp.FiberRef.updateAndGet(ref, f), rc => _effectApp.Effect.annotateCurrentSpan(spanAttributes(rc))),
30
30
  start: a => _effectApp.Effect.zipRight(_effectApp.FiberRef.set(ref, a), (0, _Memory.restoreFromRequestContext)(a))
31
31
  })), _effectApp.Layer.scoped(this));
32
32
  }
@@ -38,6 +38,7 @@ const RCTag = exports.RCTag = _effectApp.Context.GenericTag("@services/RCTag");
38
38
  */
39
39
  const spanAttributes = ctx => ({
40
40
  "request.id": ctx.id,
41
+ "request.root.id": ctx.rootId,
41
42
  "request.name": ctx.name,
42
43
  "request.locale": ctx.locale,
43
44
  "request.namespace": ctx.namespace,
@@ -1 +1 @@
1
- {"version":3,"file":"RequestContextContainer.cjs","names":["_schema","require","_effectApp","_ids","_RequestContext","_Memory","RequestContextContainer","Context","TagId","get","Effect","flatMap","_","requestContext","getOption","contextWith","Option","isSome","map","value","some","sync","none","live","andThen","RequestContext","name","NonEmptyString255","rootId","RequestId","locale","FiberRef","make","pipe","ref","of","update","f","tap","getAndUpdate","rc","annotateCurrentSpan","spanAttributes","start","a","zipRight","set","restoreFromRequestContext","Layer","scoped","exports","RCTag","GenericTag","ctx","id","namespace","userProfile","sub","roles","undefined"],"sources":["../../src/services/RequestContextContainer.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEA;;;;AAIM,MAAgBK,uBACpB,SAAQC,kBAAO,CAACC,KAAK,CAAC,oCAAoC,CAAC,EAIvD;EAEJ,WAAWC,GAAGA,CAAA;IACZ,OAAOC,iBAAM,CAACC,OAAO,CAACL,uBAAuB,EAAGM,CAAC,IAAKA,CAAC,CAACC,cAAc,CAAC;EACzE;EACA,WAAWC,SAASA,CAAA;IAClB,OAAOJ,iBAAM,CAACC,OAAO,CACnBD,iBAAM,CACHK,WAAW,CAAEH,CAAiB,IAAKL,kBAAO,CAACO,SAAS,CAACF,CAAC,EAAEN,uBAAuB,CAAC,CAAC,EACnFO,cAAc,IACbG,iBAAM,CAACC,MAAM,CAACJ,cAAc,CAAC,GACzBH,iBAAM,CAACQ,GAAG,CAACL,cAAc,CAACM,KAAK,CAACN,cAAc,EAAEG,iBAAM,CAACI,IAAI,CAAC,GAC5DV,iBAAM,CAACW,IAAI,CAAC,MAAML,iBAAM,CAACM,IAAI,EAAE,CAAC,CACvC;EACH;EACA,OAAgBC,IAAI,GAAGb,iBAAM,CAC1Bc,OAAO,CACNd,iBAAM,CACHW,IAAI,CAAC,MACJ,IAAII,8BAAc,CAAC;IAAEC,IAAI,EAAE,IAAAC,yBAAiB,EAAC,QAAQ,CAAC;IAAEC,MAAM,EAAE,IAAAC,cAAS,EAAC,QAAQ,CAAC;IAAEC,MAAM,EAAE;EAAI,CAAE,CAAC,CACrG,EACHC,mBAAQ,CAACC,IAAoB,CAC9B,CACAC,IAAI,CACHvB,iBAAM,CAACQ,GAAG,CAAEgB,GAAG,IACb5B,uBAAuB,CAAC6B,EAAE,CAAC;IACzBtB,cAAc,EAAEkB,mBAAQ,CAACtB,GAAG,CAACyB,GAAG,CAAC;IACjCE,MAAM,EAAGC,CAAwC,IAC/C3B,iBAAM,CAAC4B,GAAG,CAACP,mBAAQ,CAACQ,YAAY,CAACL,GAAG,EAAEG,CAAC,CAAC,EAAGG,EAAE,IAAK9B,iBAAM,CAAC+B,mBAAmB,CAACC,cAAc,CAACF,EAAE,CAAC,CAAC,CAAC;IACnGG,KAAK,EAAGC,CAAiB,IAAKlC,iBAAM,CAACmC,QAAQ,CAACd,mBAAQ,CAACe,GAAG,CAACZ,GAAG,EAAEU,CAAC,CAAC,EAAE,IAAAG,iCAAyB,EAACH,CAAC,CAAC;GACjG,CAAC,CACH,EACDI,gBAAK,CAACC,MAAM,CAAC,IAAI,CAAC,CACnB;;AAGL;AAAAC,OAAA,CAAA5C,uBAAA,GAAAA,uBAAA;AACO,MAAM6C,KAAK,GAAAD,OAAA,CAAAC,KAAA,GAAG5C,kBAAO,CAAC6C,UAAU,CAAiB,iBAAiB,CAAC;AAE1E;;;AAGO,MAAMV,cAAc,GAAIW,GAAmB,KAAM;EACtD,YAAY,EAAEA,GAAG,CAACC,EAAE;EACpB,cAAc,EAAED,GAAG,CAAC3B,IAAI;EACxB,gBAAgB,EAAE2B,GAAG,CAACvB,MAAM;EAC5B,mBAAmB,EAAEuB,GAAG,CAACE,SAAS;EAClC,IAAIF,GAAG,CAACG,WAAW,EAAEC,GAAG,GACpB;IACA,kBAAkB,EAAEJ,GAAG,CACpBG,WAAW,CACXC,GAAG;IACN,oBAAoB,EAAE,OAAO,IAAIJ,GAAG,CAC/BG,WAAW,GACZH,GAAG,CAACG,WAAW,CAACE,KAAK,GACrBC;GACL,GACC,EAAE;CACP,CAAC;AAAAT,OAAA,CAAAR,cAAA,GAAAA,cAAA","ignoreList":[]}
1
+ {"version":3,"file":"RequestContextContainer.cjs","names":["_schema","require","_effectApp","_ids","_RequestContext","_Memory","RequestContextContainer","Context","TagId","get","Effect","flatMap","_","requestContext","getOption","contextWith","Option","isSome","map","value","some","sync","none","live","andThen","RequestContext","name","NonEmptyString255","rootId","RequestId","locale","FiberRef","make","pipe","ref","of","update","f","tap","updateAndGet","rc","annotateCurrentSpan","spanAttributes","start","a","zipRight","set","restoreFromRequestContext","Layer","scoped","exports","RCTag","GenericTag","ctx","id","namespace","userProfile","sub","roles","undefined"],"sources":["../../src/services/RequestContextContainer.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEA;;;;AAIM,MAAgBK,uBACpB,SAAQC,kBAAO,CAACC,KAAK,CAAC,oCAAoC,CAAC,EAIvD;EAEJ,WAAWC,GAAGA,CAAA;IACZ,OAAOC,iBAAM,CAACC,OAAO,CAACL,uBAAuB,EAAGM,CAAC,IAAKA,CAAC,CAACC,cAAc,CAAC;EACzE;EACA,WAAWC,SAASA,CAAA;IAClB,OAAOJ,iBAAM,CAACC,OAAO,CACnBD,iBAAM,CACHK,WAAW,CAAEH,CAAiB,IAAKL,kBAAO,CAACO,SAAS,CAACF,CAAC,EAAEN,uBAAuB,CAAC,CAAC,EACnFO,cAAc,IACbG,iBAAM,CAACC,MAAM,CAACJ,cAAc,CAAC,GACzBH,iBAAM,CAACQ,GAAG,CAACL,cAAc,CAACM,KAAK,CAACN,cAAc,EAAEG,iBAAM,CAACI,IAAI,CAAC,GAC5DV,iBAAM,CAACW,IAAI,CAAC,MAAML,iBAAM,CAACM,IAAI,EAAE,CAAC,CACvC;EACH;EACA,OAAgBC,IAAI,GAAGb,iBAAM,CAC1Bc,OAAO,CACNd,iBAAM,CACHW,IAAI,CAAC,MACJ,IAAII,8BAAc,CAAC;IAAEC,IAAI,EAAE,IAAAC,yBAAiB,EAAC,QAAQ,CAAC;IAAEC,MAAM,EAAE,IAAAC,cAAS,EAAC,QAAQ,CAAC;IAAEC,MAAM,EAAE;EAAI,CAAE,CAAC,CACrG,EACHC,mBAAQ,CAACC,IAAoB,CAC9B,CACAC,IAAI,CACHvB,iBAAM,CAACQ,GAAG,CAAEgB,GAAG,IACb5B,uBAAuB,CAAC6B,EAAE,CAAC;IACzBtB,cAAc,EAAEkB,mBAAQ,CAACtB,GAAG,CAACyB,GAAG,CAAC;IACjCE,MAAM,EAAGC,CAAwC,IAC/C3B,iBAAM,CAAC4B,GAAG,CAACP,mBAAQ,CAACQ,YAAY,CAACL,GAAG,EAAEG,CAAC,CAAC,EAAGG,EAAE,IAAK9B,iBAAM,CAAC+B,mBAAmB,CAACC,cAAc,CAACF,EAAE,CAAC,CAAC,CAAC;IACnGG,KAAK,EAAGC,CAAiB,IAAKlC,iBAAM,CAACmC,QAAQ,CAACd,mBAAQ,CAACe,GAAG,CAACZ,GAAG,EAAEU,CAAC,CAAC,EAAE,IAAAG,iCAAyB,EAACH,CAAC,CAAC;GACjG,CAAC,CACH,EACDI,gBAAK,CAACC,MAAM,CAAC,IAAI,CAAC,CACnB;;AAGL;AAAAC,OAAA,CAAA5C,uBAAA,GAAAA,uBAAA;AACO,MAAM6C,KAAK,GAAAD,OAAA,CAAAC,KAAA,GAAG5C,kBAAO,CAAC6C,UAAU,CAAiB,iBAAiB,CAAC;AAE1E;;;AAGO,MAAMV,cAAc,GAAIW,GAAmB,KAAM;EACtD,YAAY,EAAEA,GAAG,CAACC,EAAE;EACpB,iBAAiB,EAAED,GAAG,CAACzB,MAAM;EAC7B,cAAc,EAAEyB,GAAG,CAAC3B,IAAI;EACxB,gBAAgB,EAAE2B,GAAG,CAACvB,MAAM;EAC5B,mBAAmB,EAAEuB,GAAG,CAACE,SAAS;EAClC,IAAIF,GAAG,CAACG,WAAW,EAAEC,GAAG,GACpB;IACA,kBAAkB,EAAEJ,GAAG,CACpBG,WAAW,CACXC,GAAG;IACN,oBAAoB,EAAE,OAAO,IAAIJ,GAAG,CAC/BG,WAAW,GACZH,GAAG,CAACG,WAAW,CAACE,KAAK,GACrBC;GACL,GACC,EAAE;CACP,CAAC;AAAAT,OAAA,CAAAR,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"logFmtLogger.d.ts","sourceRoot":"","sources":["../../src/logger/logFmtLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAU,MAAM,YAAY,CAAA;AAGpD,eAAO,MAAM,YAAY,8BAqBxB,CAAA;AAED,eAAO,MAAM,MAAM,mDAAqD,CAAA"}
1
+ {"version":3,"file":"logFmtLogger.d.ts","sourceRoot":"","sources":["../../src/logger/logFmtLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAU,MAAM,YAAY,CAAA;AAIpD,eAAO,MAAM,YAAY,8BAcxB,CAAA;AAED,eAAO,MAAM,MAAM,mDAAqD,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { HashMap, Logger, Option } from "effect-app";
2
+ import { spanAttributes } from "src/services/RequestContextContainer.js";
2
3
  import { getRequestContext } from "./shared.js";
3
4
  export const logfmtLogger = Logger.make((_) => {
4
5
  let { annotations } = _;
@@ -7,18 +8,11 @@ export const logfmtLogger = Logger.make((_) => {
7
8
  if (requestContext && requestContext.name !== "_root_") {
8
9
  annotations = HashMap.make(...[
9
10
  ...annotations,
10
- ...Object.entries({
11
- "request.root.id": requestContext.rootId,
12
- "request.id": requestContext.id,
13
- "request.name": requestContext.name,
14
- "request.namespace": requestContext.namespace,
15
- "request.locale": requestContext.locale,
16
- ...(requestContext.userProfile?.sub ? { "request.user.sub": requestContext.userProfile.sub } : {})
17
- })
11
+ ...Object.entries(spanAttributes(requestContext))
18
12
  ]);
19
13
  }
20
14
  const formatted = Logger.logfmtLogger.log({ ..._, annotations });
21
15
  globalThis.console.log(formatted);
22
16
  });
23
17
  export const logFmt = Logger.replace(Logger.defaultLogger, logfmtLogger);
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nRm10TG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ2dlci9sb2dGbXRMb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUUvQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDckMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNKLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDdkIsTUFBTSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3RDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDL0MsSUFBSSxjQUFjLElBQUksY0FBYyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN2RCxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHO1lBQzVCLEdBQUcsV0FBVztZQUNkLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztnQkFDaEIsaUJBQWlCLEVBQUUsY0FBYyxDQUFDLE1BQU07Z0JBQ3hDLFlBQVksRUFBRSxjQUFjLENBQUMsRUFBRTtnQkFDL0IsY0FBYyxFQUFFLGNBQWMsQ0FBQyxJQUFJO2dCQUNuQyxtQkFBbUIsRUFBRSxjQUFjLENBQUMsU0FBUztnQkFDN0MsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLE1BQU07Z0JBQ3ZDLEdBQUcsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDbkcsQ0FBQztTQUNILENBQUMsQ0FBQTtJQUNKLENBQUM7SUFDRCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUE7SUFDaEUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUE7QUFDbkMsQ0FBQyxDQUNGLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFBIn0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nRm10TG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ2dlci9sb2dGbXRMb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFL0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQ3JDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDSixJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQ3ZCLE1BQU0sQ0FBQyxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN0QyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQy9DLElBQUksY0FBYyxJQUFJLGNBQWMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDdkQsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRztZQUM1QixHQUFHLFdBQVc7WUFDZCxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ2xELENBQUMsQ0FBQTtJQUNKLENBQUM7SUFDRCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUE7SUFDaEUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUE7QUFDbkMsQ0FBQyxDQUNGLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFBIn0=
@@ -46,7 +46,7 @@ declare const Operations_base: (abstract new (service: {
46
46
  all: Effect.Effect<Operation[], never, never>;
47
47
  find: (id: StringId) => Effect.Effect<Option.Option<Operation>, never, never>;
48
48
  update: (id: StringId, progress: OperationProgress) => Effect.Effect<void, never, never>;
49
- }) => X) => X extends Effect<infer A_3, infer E_5, infer R_5> ? Effect<A_3, E_5, R_5 | Operations> : Effect<X, never, Operations>;
49
+ }) => X) => X extends Effect<infer A_3, infer E_5, infer R_5> ? Effect<A_3, E_5, Operations | R_5> : Effect<X, never, Operations>;
50
50
  };
51
51
  export declare class Operations extends Operations_base {
52
52
  private static readonly CleanupLive;
@@ -12,7 +12,7 @@ export declare function makeServiceBusQueue<Evt extends {
12
12
  id: StringId;
13
13
  _tag: string;
14
14
  }, EvtE, DrainEvtE>(_queueName: string, queueDrainName: string, schema: S.Schema<Evt, EvtE>, drainSchema: S.Schema<DrainEvt, DrainEvtE>): Effect.Effect<{
15
- drain: <DrainE, DrainR>(handleEvent: (ks: DrainEvt) => Effect<void, DrainE, DrainR>, sessionId?: string) => Effect.Effect<never, never, import("effect/Scope").Scope | RequestContextContainer | import("../Store/ContextMapContainer.js").ContextMapContainer | Exclude<Exclude<Exclude<Exclude<DrainR, Tracer.ParentSpan>, never>, Tracer.ParentSpan>, {
15
+ drain: <DrainE, DrainR>(handleEvent: (ks: DrainEvt) => Effect<void, DrainE, DrainR>, sessionId?: string) => Effect.Effect<never, never, RequestContextContainer | import("effect/Scope").Scope | import("../Store/ContextMapContainer.js").ContextMapContainer | Exclude<Exclude<Exclude<Exclude<DrainR, Tracer.ParentSpan>, never>, Tracer.ParentSpan>, {
16
16
  make: Effect<import("@azure/service-bus").ServiceBusReceiver, never, import("effect/Scope").Scope>;
17
17
  makeSession: (sessionId: string) => Effect<import("@azure/service-bus").ServiceBusReceiver, never, import("effect/Scope").Scope>;
18
18
  }>>;
@@ -26,7 +26,7 @@ declare const RequestContextContainer_base: (abstract new (service: {
26
26
  requestContext: Effect<RequestContext>;
27
27
  update: (f: (rc: RequestContext) => RequestContext) => Effect<RequestContext>;
28
28
  start: (f: RequestContext) => Effect<void>;
29
- }) => X) => X extends Effect<infer A_3, infer E_4, infer R_4> ? Effect<A_3, E_4, R_4 | RequestContextContainer> : Effect<X, never, RequestContextContainer>;
29
+ }) => X) => X extends Effect<infer A_3, infer E_4, infer R_4> ? Effect<A_3, E_4, RequestContextContainer | R_4> : Effect<X, never, RequestContextContainer>;
30
30
  };
31
31
  /**
32
32
  * @tsplus type RequestContextContainer
@@ -46,6 +46,7 @@ export declare const spanAttributes: (ctx: RequestContext) => {
46
46
  "request.user.sub"?: string & import("effect-app/ids").UserProfileIdBrand;
47
47
  "request.user.roles"?: unknown;
48
48
  "request.id": NonEmptyString255;
49
+ "request.root.id": NonEmptyString255;
49
50
  "request.name": string & import("@effect-app/schema").NonEmptyString255Brand;
50
51
  "request.locale": "en" | "de";
51
52
  "request.namespace": (string & import("@effect-app/schema").NonEmptyString255Brand) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"RequestContextContainer.d.ts","sourceRoot":"","sources":["../../src/services/RequestContextContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAY,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAErE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;;oBASjC,OAAO,cAAc,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK,cAAc,KAAK,OAAO,cAAc,CAAC;WACtE,CAAC,CAAC,EAAE,cAAc,KAAK,OAAO,IAAI,CAAC;;oBAF1B,OAAO,cAAc,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK,cAAc,KAAK,OAAO,cAAc,CAAC;WACtE,CAAC,CAAC,EAAE,cAAc,KAAK,OAAO,IAAI,CAAC;;oBAF1B,OAAO,cAAc,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK,cAAc,KAAK,OAAO,cAAc,CAAC;WACtE,CAAC,CAAC,EAAE,cAAc,KAAK,OAAO,IAAI,CAAC;;;;;;;qBADzB,cAAc,KAAK,cAAc;;;;wBADlC,OAAO,cAAc,CAAC;gBAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK,cAAc,KAAK,OAAO,cAAc,CAAC;eACtE,CAAC,CAAC,EAAE,cAAc,KAAK,OAAO,IAAI,CAAC;;;AAR9C;;;GAGG;AACH,8BAAsB,uBACpB,SAAQ,4BAIJ;IAEJ,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,cAAc,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAEvE;IACD,MAAM,KAAK,SAAS,+DASnB;IACD,MAAM,CAAC,QAAQ,CAAC,IAAI,qDAkBjB;CACJ;AAED,4CAA4C;AAC5C,eAAO,MAAM,KAAK,6CAAwD,CAAA;AAE1E;;GAEG;AACH,eAAO,MAAM,cAAc,QAAS,cAAc;;;;;;;CAgBhD,CAAA"}
1
+ {"version":3,"file":"RequestContextContainer.d.ts","sourceRoot":"","sources":["../../src/services/RequestContextContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAY,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAErE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;;oBASjC,OAAO,cAAc,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK,cAAc,KAAK,OAAO,cAAc,CAAC;WACtE,CAAC,CAAC,EAAE,cAAc,KAAK,OAAO,IAAI,CAAC;;oBAF1B,OAAO,cAAc,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK,cAAc,KAAK,OAAO,cAAc,CAAC;WACtE,CAAC,CAAC,EAAE,cAAc,KAAK,OAAO,IAAI,CAAC;;oBAF1B,OAAO,cAAc,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK,cAAc,KAAK,OAAO,cAAc,CAAC;WACtE,CAAC,CAAC,EAAE,cAAc,KAAK,OAAO,IAAI,CAAC;;;;;;;qBADzB,cAAc,KAAK,cAAc;;;;wBADlC,OAAO,cAAc,CAAC;gBAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK,cAAc,KAAK,OAAO,cAAc,CAAC;eACtE,CAAC,CAAC,EAAE,cAAc,KAAK,OAAO,IAAI,CAAC;;;AAR9C;;;GAGG;AACH,8BAAsB,uBACpB,SAAQ,4BAIJ;IAEJ,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,cAAc,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAEvE;IACD,MAAM,KAAK,SAAS,+DASnB;IACD,MAAM,CAAC,QAAQ,CAAC,IAAI,qDAkBjB;CACJ;AAED,4CAA4C;AAC5C,eAAO,MAAM,KAAK,6CAAwD,CAAA;AAE1E;;GAEG;AACH,eAAO,MAAM,cAAc,QAAS,cAAc;;;;;;;;CAiBhD,CAAA"}
@@ -22,7 +22,7 @@ export class RequestContextContainer extends Context.TagId("effect-app/RequestCo
22
22
  .sync(() => new RequestContext({ name: NonEmptyString255("_root_"), rootId: RequestId("_root_"), locale: "en" })), (FiberRef.make))
23
23
  .pipe(Effect.map((ref) => RequestContextContainer.of({
24
24
  requestContext: FiberRef.get(ref),
25
- update: (f) => Effect.tap(FiberRef.getAndUpdate(ref, f), (rc) => Effect.annotateCurrentSpan(spanAttributes(rc))),
25
+ update: (f) => Effect.tap(FiberRef.updateAndGet(ref, f), (rc) => Effect.annotateCurrentSpan(spanAttributes(rc))),
26
26
  start: (a) => Effect.zipRight(FiberRef.set(ref, a), restoreFromRequestContext(a))
27
27
  })), Layer.scoped(this));
28
28
  }
@@ -33,6 +33,7 @@ export const RCTag = Context.GenericTag("@services/RCTag");
33
33
  */
34
34
  export const spanAttributes = (ctx) => ({
35
35
  "request.id": ctx.id,
36
+ "request.root.id": ctx.rootId,
36
37
  "request.name": ctx.name,
37
38
  "request.locale": ctx.locale,
38
39
  "request.namespace": ctx.namespace,
@@ -48,4 +49,4 @@ export const spanAttributes = (ctx) => ({
48
49
  }
49
50
  : {})
50
51
  });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdENvbnRleHRDb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvUmVxdWVzdENvbnRleHRDb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUU3RDs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLHVCQUNwQixTQUFRLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0NBQW9DLENBQUMsRUFJdkQ7SUFFSixNQUFNLEtBQUssR0FBRztRQUNaLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ3pFLENBQUM7SUFDRCxNQUFNLEtBQUssU0FBUztRQUNsQixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQ25CLE1BQU07YUFDSCxXQUFXLENBQUMsQ0FBQyxDQUFpQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDLEVBQ3BGLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FDakIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUM7WUFDM0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQztZQUM5RCxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FDdkMsQ0FBQTtJQUNILENBQUM7SUFDRCxNQUFNLENBQVUsSUFBSSxHQUFHLE1BQU07U0FDMUIsT0FBTyxDQUNOLE1BQU07U0FDSCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQ1QsSUFBSSxjQUFjLENBQUMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FDckcsRUFDSCxDQUFBLFFBQVEsQ0FBQyxJQUFvQixDQUFBLENBQzlCO1NBQ0EsSUFBSSxDQUNILE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNqQix1QkFBdUIsQ0FBQyxFQUFFLENBQUM7UUFDekIsY0FBYyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1FBQ2pDLE1BQU0sRUFBRSxDQUFDLENBQXdDLEVBQUUsRUFBRSxDQUNuRCxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkcsS0FBSyxFQUFFLENBQUMsQ0FBaUIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNsRyxDQUFDLENBQ0gsRUFDRCxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUNuQixDQUFBOztBQUdMLDRDQUE0QztBQUM1QyxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBaUIsaUJBQWlCLENBQUMsQ0FBQTtBQUUxRTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEQsWUFBWSxFQUFFLEdBQUcsQ0FBQyxFQUFFO0lBQ3BCLGNBQWMsRUFBRSxHQUFHLENBQUMsSUFBSTtJQUN4QixnQkFBZ0IsRUFBRSxHQUFHLENBQUMsTUFBTTtJQUM1QixtQkFBbUIsRUFBRSxHQUFHLENBQUMsU0FBUztJQUNsQyxHQUFHLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxHQUFHO1FBQ3RCLENBQUMsQ0FBQztZQUNBLGtCQUFrQixFQUFFLEdBQUc7aUJBQ3BCLFdBQVc7aUJBQ1gsR0FBRztZQUNOLG9CQUFvQixFQUFFLE9BQU8sSUFBSSxHQUFHO2lCQUMvQixXQUFXO2dCQUNkLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEtBQUs7Z0JBQ3ZCLENBQUMsQ0FBQyxTQUFTO1NBQ2Q7UUFDRCxDQUFDLENBQUMsRUFBRSxDQUFDO0NBQ1IsQ0FBQyxDQUFBIn0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdENvbnRleHRDb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvUmVxdWVzdENvbnRleHRDb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUU3RDs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLHVCQUNwQixTQUFRLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0NBQW9DLENBQUMsRUFJdkQ7SUFFSixNQUFNLEtBQUssR0FBRztRQUNaLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ3pFLENBQUM7SUFDRCxNQUFNLEtBQUssU0FBUztRQUNsQixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQ25CLE1BQU07YUFDSCxXQUFXLENBQUMsQ0FBQyxDQUFpQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDLEVBQ3BGLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FDakIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUM7WUFDM0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQztZQUM5RCxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FDdkMsQ0FBQTtJQUNILENBQUM7SUFDRCxNQUFNLENBQVUsSUFBSSxHQUFHLE1BQU07U0FDMUIsT0FBTyxDQUNOLE1BQU07U0FDSCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQ1QsSUFBSSxjQUFjLENBQUMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FDckcsRUFDSCxDQUFBLFFBQVEsQ0FBQyxJQUFvQixDQUFBLENBQzlCO1NBQ0EsSUFBSSxDQUNILE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNqQix1QkFBdUIsQ0FBQyxFQUFFLENBQUM7UUFDekIsY0FBYyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1FBQ2pDLE1BQU0sRUFBRSxDQUFDLENBQXdDLEVBQUUsRUFBRSxDQUNuRCxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkcsS0FBSyxFQUFFLENBQUMsQ0FBaUIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNsRyxDQUFDLENBQ0gsRUFDRCxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUNuQixDQUFBOztBQUdMLDRDQUE0QztBQUM1QyxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBaUIsaUJBQWlCLENBQUMsQ0FBQTtBQUUxRTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEQsWUFBWSxFQUFFLEdBQUcsQ0FBQyxFQUFFO0lBQ3BCLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxNQUFNO0lBQzdCLGNBQWMsRUFBRSxHQUFHLENBQUMsSUFBSTtJQUN4QixnQkFBZ0IsRUFBRSxHQUFHLENBQUMsTUFBTTtJQUM1QixtQkFBbUIsRUFBRSxHQUFHLENBQUMsU0FBUztJQUNsQyxHQUFHLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxHQUFHO1FBQ3RCLENBQUMsQ0FBQztZQUNBLGtCQUFrQixFQUFFLEdBQUc7aUJBQ3BCLFdBQVc7aUJBQ1gsR0FBRztZQUNOLG9CQUFvQixFQUFFLE9BQU8sSUFBSSxHQUFHO2lCQUMvQixXQUFXO2dCQUNkLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEtBQUs7Z0JBQ3ZCLENBQUMsQ0FBQyxTQUFTO1NBQ2Q7UUFDRCxDQUFDLENBQUMsRUFBRSxDQUFDO0NBQ1IsQ0FBQyxDQUFBIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/infra",
3
- "version": "0.233.3",
3
+ "version": "0.233.4",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -19,9 +19,9 @@
19
19
  "pure-rand": "6.1.0",
20
20
  "redlock": "^4.2.0",
21
21
  "@effect-app/core": "0.169.0",
22
- "effect-app": "0.201.3",
23
22
  "@effect-app/infra-adapters": "0.154.0",
24
- "@effect-app/schema": "0.220.3"
23
+ "@effect-app/schema": "0.220.3",
24
+ "effect-app": "0.201.3"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@babel/cli": "^7.24.1",
@@ -1,4 +1,5 @@
1
1
  import { HashMap, Logger, Option } from "effect-app"
2
+ import { spanAttributes } from "src/services/RequestContextContainer.js"
2
3
  import { getRequestContext } from "./shared.js"
3
4
 
4
5
  export const logfmtLogger = Logger.make<unknown, void>(
@@ -9,14 +10,7 @@ export const logfmtLogger = Logger.make<unknown, void>(
9
10
  if (requestContext && requestContext.name !== "_root_") {
10
11
  annotations = HashMap.make(...[
11
12
  ...annotations,
12
- ...Object.entries({
13
- "request.root.id": requestContext.rootId,
14
- "request.id": requestContext.id,
15
- "request.name": requestContext.name,
16
- "request.namespace": requestContext.namespace,
17
- "request.locale": requestContext.locale,
18
- ...(requestContext.userProfile?.sub ? { "request.user.sub": requestContext.userProfile.sub } : {})
19
- })
13
+ ...Object.entries(spanAttributes(requestContext))
20
14
  ])
21
15
  }
22
16
  const formatted = Logger.logfmtLogger.log({ ..._, annotations })
@@ -41,7 +41,7 @@ export abstract class RequestContextContainer
41
41
  RequestContextContainer.of({
42
42
  requestContext: FiberRef.get(ref),
43
43
  update: (f: (a: RequestContext) => RequestContext) =>
44
- Effect.tap(FiberRef.getAndUpdate(ref, f), (rc) => Effect.annotateCurrentSpan(spanAttributes(rc))),
44
+ Effect.tap(FiberRef.updateAndGet(ref, f), (rc) => Effect.annotateCurrentSpan(spanAttributes(rc))),
45
45
  start: (a: RequestContext) => Effect.zipRight(FiberRef.set(ref, a), restoreFromRequestContext(a))
46
46
  })
47
47
  ),
@@ -57,6 +57,7 @@ export const RCTag = Context.GenericTag<RequestContext>("@services/RCTag")
57
57
  */
58
58
  export const spanAttributes = (ctx: RequestContext) => ({
59
59
  "request.id": ctx.id,
60
+ "request.root.id": ctx.rootId,
60
61
  "request.name": ctx.name,
61
62
  "request.locale": ctx.locale,
62
63
  "request.namespace": ctx.namespace,