@effect-app/infra 1.47.3 → 1.49.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.
Files changed (76) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/_cjs/RequestContext.cjs +4 -4
  3. package/_cjs/RequestContext.cjs.map +1 -1
  4. package/_cjs/api/routing.cjs +2 -3
  5. package/_cjs/api/routing.cjs.map +1 -1
  6. package/_cjs/api/routing2.cjs +4 -5
  7. package/_cjs/api/routing2.cjs.map +1 -1
  8. package/_cjs/api/routing3.cjs +2 -3
  9. package/_cjs/api/routing3.cjs.map +1 -1
  10. package/_cjs/api/setupRequest.cjs +2 -2
  11. package/_cjs/api/setupRequest.cjs.map +1 -1
  12. package/_cjs/logger/shared.cjs +2 -2
  13. package/_cjs/logger/shared.cjs.map +1 -1
  14. package/_cjs/services/Operations.cjs +2 -2
  15. package/_cjs/services/Operations.cjs.map +1 -1
  16. package/_cjs/services/RepositoryBase.cjs +3 -3
  17. package/_cjs/services/RepositoryBase.cjs.map +1 -1
  18. package/_cjs/services/Store/Memory.cjs +2 -2
  19. package/_cjs/services/Store/Memory.cjs.map +1 -1
  20. package/_cjs/test/arbs.cjs +2 -2
  21. package/_cjs/test/arbs.cjs.map +1 -1
  22. package/_cjs/test.cjs +3 -3
  23. package/_cjs/test.cjs.map +1 -1
  24. package/dist/RequestContext.d.ts +3 -3
  25. package/dist/RequestContext.d.ts.map +1 -1
  26. package/dist/RequestContext.js +2 -2
  27. package/dist/api/routing.d.ts +1 -2
  28. package/dist/api/routing.d.ts.map +1 -1
  29. package/dist/api/routing.js +4 -5
  30. package/dist/api/routing2.d.ts.map +1 -1
  31. package/dist/api/routing2.js +6 -7
  32. package/dist/api/routing3.d.ts.map +1 -1
  33. package/dist/api/routing3.js +4 -5
  34. package/dist/api/setupRequest.d.ts +1 -1
  35. package/dist/api/setupRequest.d.ts.map +1 -1
  36. package/dist/api/setupRequest.js +2 -2
  37. package/dist/logger/shared.js +2 -2
  38. package/dist/services/Emailer/service.d.ts +1 -1
  39. package/dist/services/Emailer/service.d.ts.map +1 -1
  40. package/dist/services/Operations.d.ts +4 -4
  41. package/dist/services/Operations.d.ts.map +1 -1
  42. package/dist/services/Operations.js +2 -2
  43. package/dist/services/QueueMaker/SQLQueue.d.ts +1 -1
  44. package/dist/services/Repository/ext.d.ts +11 -11
  45. package/dist/services/RepositoryBase.d.ts +8 -8
  46. package/dist/services/RepositoryBase.d.ts.map +1 -1
  47. package/dist/services/RepositoryBase.js +3 -3
  48. package/dist/services/Store/Memory.d.ts +1 -1
  49. package/dist/services/Store/Memory.d.ts.map +1 -1
  50. package/dist/services/Store/Memory.js +2 -2
  51. package/dist/services/query/dsl.d.ts +1 -1
  52. package/dist/services/query/dsl.d.ts.map +1 -1
  53. package/dist/test/arbs.d.ts +1 -1
  54. package/dist/test/arbs.d.ts.map +1 -1
  55. package/dist/test/arbs.js +2 -2
  56. package/dist/test.d.ts.map +1 -1
  57. package/dist/test.js +2 -2
  58. package/package.json +13 -15
  59. package/src/RequestContext.ts +1 -1
  60. package/src/api/routing.ts +3 -4
  61. package/src/api/routing2.ts +19 -6
  62. package/src/api/routing3.ts +17 -4
  63. package/src/api/setupRequest.ts +1 -1
  64. package/src/logger/shared.ts +1 -1
  65. package/src/services/Emailer/service.ts +1 -1
  66. package/src/services/Operations.ts +1 -1
  67. package/src/services/RepositoryBase.ts +3 -3
  68. package/src/services/Store/Memory.ts +1 -1
  69. package/src/services/query/dsl.ts +1 -1
  70. package/src/test/arbs.ts +1 -1
  71. package/src/test.ts +2 -2
  72. package/tsconfig.src.json +0 -3
  73. package/vitest.config.ts.timestamp-1711656440838-19c636fe320df.mjs +0 -0
  74. package/vitest.config.ts.timestamp-1711724061890-6ecedb0a07fdd.mjs +0 -0
  75. package/vitest.config.ts.timestamp-1711743489537-da8d9e5f66c9f.mjs +0 -0
  76. package/vitest.config.ts.timestamp-1711744615239-dcf257a844e01.mjs +0 -37
package/dist/test/arbs.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // Do not import to frontend
2
- import { FastCheck } from "@effect/schema";
3
2
  import { faker } from "@faker-js/faker";
4
3
  import { setFaker } from "effect-app/faker";
4
+ import * as FastCheck from "effect/FastCheck";
5
5
  import { Random } from "fast-check";
6
6
  import * as rand from "pure-rand";
7
7
  const rnd = new Random(rand.congruential32(5));
@@ -18,4 +18,4 @@ export function generate(arb) {
18
18
  export function generateFromArbitrary(arb) {
19
19
  return generate(arb(FastCheck));
20
20
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L2FyYnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEJBQTRCO0FBRTVCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRTNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDbkMsT0FBTyxLQUFLLElBQUksTUFBTSxXQUFXLENBQUE7QUFFakMsTUFBTSxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBRTlDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUVmOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBSSxHQUEyQjtJQUNyRCxPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0FBQ3JDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBSSxHQUF1QjtJQUM5RCxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtBQUNqQyxDQUFDIn0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L2FyYnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEJBQTRCO0FBRTVCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFFM0MsT0FBTyxLQUFLLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ25DLE9BQU8sS0FBSyxJQUFJLE1BQU0sV0FBVyxDQUFBO0FBRWpDLE1BQU0sR0FBRyxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUU5QyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7QUFFZjs7R0FFRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQUksR0FBMkI7SUFDckQsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQTtBQUNyQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQUksR0FBdUI7SUFDOUQsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7QUFDakMsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,CAAC,EAAE,MAAM,YAAY,CAAA;AAwBzC;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;CAAE,kBAEzF,OAAO,CAAC,CAAC,CAAC,MAI/B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG;IAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;CAAE,kBAI3F,OAAO,CAAC,CAAC,CAAC,MAK/B,CAAA;AAED,cAAc,gBAAgB,CAAA"}
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,CAAC,EAAE,MAAM,YAAY,CAAA;AAyBzC;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;CAAE,kBAEzF,OAAO,CAAC,CAAC,CAAC,MAI/B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG;IAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;CAAE,kBAI3F,OAAO,CAAC,CAAC,CAAC,MAK/B,CAAA;AAED,cAAc,gBAAgB,CAAA"}
package/dist/test.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Arbitrary } from "@effect/schema";
1
+ import { Arbitrary } from "effect";
2
2
  import { Predicate, S } from "effect-app";
3
3
  import { copy } from "effect-app/utils";
4
4
  import { generate } from "./test/arbs.js";
@@ -44,4 +44,4 @@ export const createRandomInstanceI = (s) => {
44
44
  };
45
45
  };
46
46
  export * from "./test/arbs.js";
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUN6QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXpDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFVLEVBQThCLEVBQUUsQ0FDckUsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUE7QUFFckQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUF1QixFQUFFLEVBQUU7SUFDM0MsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNoQyw4REFBOEQ7SUFDOUQsTUFBTSxHQUFHLEdBQXdCLEVBQUUsQ0FBQTtJQUNuQyxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUN6QixJQUFJLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDL0IsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQTtZQUNyQixNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsSUFBSSxLQUFLLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQTtZQUN6RyxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDL0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFlBQVksRUFBRSxDQUFBO1lBQzNCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFBO0FBQ1osQ0FBQyxDQUFBO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUF5QixDQUFrRCxFQUFFLEVBQUU7SUFDakgsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN2QyxPQUFPLENBQUMsU0FBc0IsRUFBRSxFQUFFO1FBQ2hDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFBO1FBQ2pELE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDM0MsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFzQixDQUFzRCxFQUFFLEVBQUU7SUFDbkgsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN2QyxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzlCLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDOUIsT0FBTyxDQUFDLFNBQXNCLEVBQUUsRUFBRTtRQUNoQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQTtRQUNqRCxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ3hCLE9BQU8sTUFBTSxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxTQUFTLEVBQUUsQ0FBQyxDQUFBO0lBQy9DLENBQUMsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELGNBQWMsZ0JBQWdCLENBQUEifQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDbEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDekMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRXZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUV6QyxNQUFNLG1CQUFtQixHQUFHLENBQUMsQ0FBVSxFQUE4QixFQUFFLENBQ3JFLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO0FBRXJELE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBdUIsRUFBRSxFQUFFO0lBQzNDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDaEMsOERBQThEO0lBQzlELE1BQU0sR0FBRyxHQUF3QixFQUFFLENBQUE7SUFDbkMsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN2QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDekIsSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQy9CLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUE7WUFDckIsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLElBQUksS0FBSyw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUE7WUFDekcsSUFBSSxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQy9CLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxZQUFZLEVBQUUsQ0FBQTtZQUMzQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQTtBQUNaLENBQUMsQ0FBQTtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBeUIsQ0FBa0QsRUFBRSxFQUFFO0lBQ2pILE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDdkMsT0FBTyxDQUFDLFNBQXNCLEVBQUUsRUFBRTtRQUNoQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQTtRQUNqRCxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzNDLENBQUMsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBc0IsQ0FBc0QsRUFBRSxFQUFFO0lBQ25ILE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDdkMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUM5QixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzlCLE9BQU8sQ0FBQyxTQUFzQixFQUFFLEVBQUU7UUFDaEMsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUE7UUFDakQsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPLENBQUMsQ0FBQTtRQUN4QixPQUFPLE1BQU0sQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUMvQyxDQUFDLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxjQUFjLGdCQUFnQixDQUFBIn0=
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@effect-app/infra",
3
- "version": "1.47.3",
3
+ "version": "1.49.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
7
7
  "@azure/cosmos": "^4.1.1",
8
8
  "@azure/service-bus": "^7.9.5",
9
- "@effect/rpc": "^0.43.5",
10
- "@effect/rpc-http": "^0.41.5",
9
+ "@effect/rpc": "^0.44.2",
10
+ "@effect/rpc-http": "^0.42.2",
11
11
  "express-oauth2-jwt-bearer": "^1.6.0",
12
12
  "@faker-js/faker": "^8.4.1",
13
13
  "@sendgrid/helpers": "^8.0.0",
@@ -20,34 +20,32 @@
20
20
  "proper-lockfile": "^4.1.2",
21
21
  "pure-rand": "6.1.0",
22
22
  "redlock": "^4.2.0",
23
- "@effect-app/core": "1.17.1",
24
- "@effect-app/infra-adapters": "1.21.0",
25
- "@effect-app/schema": "1.19.1",
26
- "effect-app": "1.30.5"
23
+ "effect-app": "1.32.0",
24
+ "@effect-app/infra-adapters": "1.23.0",
25
+ "@effect-app/core": "1.19.0"
27
26
  },
28
27
  "devDependencies": {
29
28
  "@babel/cli": "^7.25.7",
30
- "@sentry/node": "^8.34.0",
29
+ "@sentry/node": "^8.35.0",
31
30
  "@types/express": "^5.0.0",
32
- "@types/node": "~22.7.7",
31
+ "@types/node": "~22.7.8",
33
32
  "@types/proper-lockfile": "^4.1.4",
34
33
  "@types/redis": "^2.8.32",
35
34
  "@types/redlock": "^4.0.7",
36
35
  "express": "^4.21.1",
37
36
  "jwks-rsa": "2.1.4",
38
37
  "jwt-decode": "^4.0.0",
39
- "mongodb": "6.9.0",
38
+ "mongodb": "6.10.0",
40
39
  "redis": "^3.1.2",
41
40
  "typescript": "^5.6.3",
42
41
  "vitest": "^2.1.3"
43
42
  },
44
43
  "peerDependencies": {
45
44
  "express": "^4.21.1",
46
- "@effect/platform": "^0.68.6",
47
- "@effect/schema": "^0.75.5",
48
- "@effect/sql": "^0.17.0",
49
- "@effect/vitest": "^0.12.1",
50
- "effect": "^3.9.2"
45
+ "@effect/platform": "^0.69.2",
46
+ "@effect/sql": "^0.18.3",
47
+ "@effect/vitest": "^0.13.0",
48
+ "effect": "^3.10.0"
51
49
  },
52
50
  "typesVersions": {
53
51
  "*": {
@@ -1,4 +1,4 @@
1
- import { NonEmptyString255 } from "@effect-app/schema"
1
+ import { NonEmptyString255 } from "@effect-app/core/Schema"
2
2
  import { FiberRef, S } from "effect-app"
3
3
  import { UserProfileId } from "effect-app/ids"
4
4
 
@@ -10,8 +10,7 @@ import { pretty, typedKeysOf } from "@effect-app/core/utils"
10
10
  import type { Compute } from "@effect-app/core/utils"
11
11
  import type * as HttpApp from "@effect/platform/HttpApp"
12
12
  import { Rpc, RpcRouter } from "@effect/rpc"
13
- import { Serializable } from "@effect/schema"
14
- import { Cause, Chunk, Context, Effect, FiberRef, Predicate, S, Stream } from "effect-app"
13
+ import { Cause, Chunk, Context, Effect, FiberRef, Predicate, S, Schema, Stream } from "effect-app"
15
14
  import type { GetEffectContext, RPCContextMap } from "effect-app/client/req"
16
15
  import type { HttpServerError } from "effect-app/http"
17
16
  import { HttpRouter, HttpServerRequest, HttpServerResponse } from "effect-app/http"
@@ -306,10 +305,10 @@ export const makeRouter = <Context, CTXMap extends Record<string, RPCContextMap.
306
305
  handler._tag === "raw"
307
306
  ? class extends (req as any) {
308
307
  static success = S.encodedSchema(req.success)
309
- get [Serializable.symbol]() {
308
+ get [Schema.symbolSerializable]() {
310
309
  return this.constructor
311
310
  }
312
- get [Serializable.symbolResult]() {
311
+ get [Schema.symbolWithResult]() {
313
312
  return {
314
313
  failure: req.failure,
315
314
  success: S.encodedSchema(req.success)
@@ -10,9 +10,22 @@ import { pretty, typedKeysOf, typedValuesOf } from "@effect-app/core/utils"
10
10
  import type { Compute } from "@effect-app/core/utils"
11
11
  import type * as HttpApp from "@effect/platform/HttpApp"
12
12
  import { Rpc, RpcRouter } from "@effect/rpc"
13
- import { Serializable } from "@effect/schema"
14
13
  import type { NonEmptyArray } from "effect-app"
15
- import { Cause, Chunk, Context, Effect, FiberRef, flow, Layer, Predicate, S, Scope, Stream, Tracer } from "effect-app"
14
+ import {
15
+ Cause,
16
+ Chunk,
17
+ Context,
18
+ Effect,
19
+ FiberRef,
20
+ flow,
21
+ Layer,
22
+ Predicate,
23
+ S,
24
+ Schema,
25
+ Scope,
26
+ Stream,
27
+ Tracer
28
+ } from "effect-app"
16
29
  import type { GetEffectContext, RPCContextMap } from "effect-app/client/req"
17
30
  import type { HttpServerError } from "effect-app/http"
18
31
  import { HttpMiddleware, HttpRouter, HttpServerRequest, HttpServerResponse } from "effect-app/http"
@@ -323,10 +336,10 @@ export const makeRouter = <Context, CTXMap extends Record<string, RPCContextMap.
323
336
  handler._tag === "raw"
324
337
  ? class extends (req as any) {
325
338
  static success = S.encodedSchema(req.success)
326
- get [Serializable.symbol]() {
339
+ get [Schema.symbolSerializable]() {
327
340
  return this.constructor
328
341
  }
329
- get [Serializable.symbolResult]() {
342
+ get [Schema.symbolWithResult]() {
330
343
  return {
331
344
  failure: req.failure,
332
345
  success: S.encodedSchema(req.success)
@@ -494,10 +507,10 @@ export const makeRouter = <Context, CTXMap extends Record<string, RPCContextMap.
494
507
  handler._tag === "raw"
495
508
  ? class extends (req as any) {
496
509
  static success = S.encodedSchema(req.success)
497
- get [Serializable.symbol]() {
510
+ get [Schema.symbolSerializable]() {
498
511
  return this.constructor
499
512
  }
500
- get [Serializable.symbolResult]() {
513
+ get [Schema.symbolWithResult]() {
501
514
  return {
502
515
  failure: req.failure,
503
516
  success: S.encodedSchema(req.success)
@@ -8,9 +8,22 @@ TODO: uninteruptible commands! was for All except GET.
8
8
  import { pretty, typedKeysOf, typedValuesOf } from "@effect-app/core/utils"
9
9
  import type * as HttpApp from "@effect/platform/HttpApp"
10
10
  import { Rpc, RpcRouter } from "@effect/rpc"
11
- import { Serializable } from "@effect/schema"
12
11
  import type { NonEmptyArray } from "effect-app"
13
- import { Cause, Chunk, Context, Effect, FiberRef, flow, Layer, Predicate, S, Scope, Stream, Tracer } from "effect-app"
12
+ import {
13
+ Cause,
14
+ Chunk,
15
+ Context,
16
+ Effect,
17
+ FiberRef,
18
+ flow,
19
+ Layer,
20
+ Predicate,
21
+ S,
22
+ Schema,
23
+ Scope,
24
+ Stream,
25
+ Tracer
26
+ } from "effect-app"
14
27
  import type { GetEffectContext, RPCContextMap } from "effect-app/client/req"
15
28
  import type { HttpServerError } from "effect-app/http"
16
29
  import { HttpMiddleware, HttpRouter, HttpServerRequest, HttpServerResponse } from "effect-app/http"
@@ -317,10 +330,10 @@ export const makeRouter = <Context, CTXMap extends Record<string, RPCContextMap.
317
330
  handler._tag === "raw"
318
331
  ? class extends (req as any) {
319
332
  static success = S.encodedSchema(req.success)
320
- get [Serializable.symbol]() {
333
+ get [Schema.symbolSerializable]() {
321
334
  return this.constructor
322
335
  }
323
- get [Serializable.symbolResult]() {
336
+ get [Schema.symbolWithResult]() {
324
337
  return {
325
338
  failure: req.failure,
326
339
  success: S.encodedSchema(req.success)
@@ -1,4 +1,4 @@
1
- import { NonEmptyString255 } from "@effect-app/schema"
1
+ import { NonEmptyString255 } from "@effect-app/core/Schema"
2
2
  import type { Tracer } from "effect-app"
3
3
  import { Effect, FiberRef, Layer } from "effect-app"
4
4
  import { LocaleRef, RequestContext, spanAttributes } from "../RequestContext.js"
@@ -1,4 +1,4 @@
1
- import { NonEmptyString255 } from "@effect-app/schema"
1
+ import { NonEmptyString255 } from "@effect-app/core/Schema"
2
2
  import { Context, FiberRef, Option, Tracer } from "effect-app"
3
3
  import * as FiberRefs from "effect/FiberRefs"
4
4
  import { LocaleRef, RequestContext } from "../RequestContext.js"
@@ -1,4 +1,4 @@
1
- import type { Email, NonEmptyString255 } from "@effect-app/schema"
1
+ import type { Email, NonEmptyString255 } from "@effect-app/core/Schema"
2
2
  import type { MailContent, MailData } from "@sendgrid/helpers/classes/mail.js"
3
3
  import type { ResponseError } from "@sendgrid/mail"
4
4
  import type sgMail from "@sendgrid/mail"
@@ -1,7 +1,7 @@
1
1
  import { annotateLogscoped } from "@effect-app/core/Effect"
2
2
  import { dual, pipe } from "@effect-app/core/Function"
3
3
  import { reportError } from "@effect-app/infra/errorReporter"
4
- import { NonEmptyString2k } from "@effect-app/schema"
4
+ import { NonEmptyString2k } from "@effect-app/core/Schema"
5
5
  import { subHours } from "date-fns"
6
6
  import type { Fiber } from "effect-app"
7
7
  import { Cause, Context, copy, Duration, Effect, Exit, Layer, Option, S, Schedule } from "effect-app"
@@ -4,7 +4,7 @@
4
4
  /* eslint-disable @typescript-eslint/no-unsafe-assignment */
5
5
  /* eslint-disable @typescript-eslint/no-explicit-any */
6
6
 
7
- // import type { ParserEnv } from "@effect-app/schema/custom/Parser"
7
+ // import type { ParserEnv } from "@effect-app/core/Schema/custom/Parser"
8
8
  import {
9
9
  AnyPureDSL,
10
10
  byIdAndSaveWithPure,
@@ -21,8 +21,8 @@ import type {} from "effect/Equal"
21
21
  import type {} from "effect/Hash"
22
22
  import { toNonEmptyArray } from "@effect-app/core/Array"
23
23
  import { flatMapOption } from "@effect-app/core/Effect"
24
- import type { ParseResult, Schema } from "@effect-app/schema"
25
- import { NonNegativeInt } from "@effect-app/schema"
24
+ import type { ParseResult, Schema } from "@effect-app/core/Schema"
25
+ import { NonNegativeInt } from "@effect-app/core/Schema"
26
26
  import type { NonEmptyArray, NonEmptyReadonlyArray } from "effect-app"
27
27
  import {
28
28
  Array,
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
 
3
- import { NonEmptyString255 } from "@effect-app/schema"
3
+ import { NonEmptyString255 } from "@effect-app/core/Schema"
4
4
  import { Array, Effect, FiberRef, flow, Option, Order, pipe, Ref, Struct } from "effect-app"
5
5
  import type { NonEmptyReadonlyArray } from "effect-app"
6
6
  import { get } from "effect-app/utils"
@@ -4,7 +4,7 @@
4
4
  import type { FieldValues } from "@effect-app/infra/filter/types"
5
5
  import type { FieldPath, FieldPathValue } from "@effect-app/infra/filter/types/path/eager"
6
6
  import type { Ops } from "@effect-app/infra/services/Store/filterApi/query"
7
- import type { NonNegativeInt } from "@effect-app/schema"
7
+ import type { NonNegativeInt } from "@effect-app/core/Schema"
8
8
  import type { Option, Pipeable, S } from "effect-app"
9
9
  import { Data, flow } from "effect-app"
10
10
  import type { Covariant } from "effect/Types"
package/src/test/arbs.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  // Do not import to frontend
2
2
 
3
- import { FastCheck } from "@effect/schema"
4
3
  import { faker } from "@faker-js/faker"
5
4
  import { setFaker } from "effect-app/faker"
6
5
  import type { A } from "effect-app/schema"
6
+ import * as FastCheck from "effect/FastCheck"
7
7
  import { Random } from "fast-check"
8
8
  import * as rand from "pure-rand"
9
9
 
package/src/test.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { Arbitrary } from "@effect/schema"
2
- import type { PropertySignature } from "@effect/schema/Schema"
1
+ import { Arbitrary } from "effect"
3
2
  import { Predicate, S } from "effect-app"
4
3
  import { copy } from "effect-app/utils"
4
+ import type { PropertySignature } from "effect/Schema"
5
5
  import { generate } from "./test/arbs.js"
6
6
 
7
7
  const isPropertySignature = (u: unknown): u is PropertySignature.All =>
package/tsconfig.src.json CHANGED
@@ -37,9 +37,6 @@
37
37
  {
38
38
  "path": "../infra-adapters"
39
39
  },
40
- {
41
- "path": "../schema"
42
- },
43
40
  {
44
41
  "path": "../core"
45
42
  },
@@ -1,37 +0,0 @@
1
- // packages/infra/vitest.config.ts
2
- import { defineConfig } from "file:///Users/patrickroza/pj/effect-app/libs/node_modules/.pnpm/vite@5.2.6_@types+node@20.11.30/node_modules/vite/dist/node/index.js";
3
-
4
- // vite.config.base.ts
5
- import path from "path";
6
- import fs from "fs";
7
- var __vite_injected_original_dirname = "/Users/patrickroza/pj/effect-app/libs";
8
- function makeConfig(dirName) {
9
- const prefix = path.resolve(__vite_injected_original_dirname, "packages");
10
- const packages = fs.readdirSync(prefix).map((f) => prefix + "/" + f).filter((f) => fs.lstatSync(f).isDirectory());
11
- const cfg = {
12
- // eslint-disable-next-line @typescript-eslint/no-var-requires
13
- //plugins: [autoImport],
14
- test: {
15
- include: ["./test/**/*.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
16
- reporters: "verbose",
17
- globals: true
18
- },
19
- resolve: {
20
- alias: packages.reduce((acc, cur) => {
21
- acc[JSON.parse(fs.readFileSync(cur + "/package.json", "utf-8")).name] = path.resolve(cur, cur.endsWith("core") ? "dist" : "src");
22
- return acc;
23
- }, {})
24
- // "@effect-app/core/Prelude": path.join(__dirname, "packages/core/src/Prelude.code.ts")
25
- }
26
- };
27
- console.log(cfg);
28
- return cfg;
29
- }
30
-
31
- // packages/infra/vitest.config.ts
32
- var __vite_injected_original_dirname2 = "/Users/patrickroza/pj/effect-app/libs/packages/infra";
33
- var vitest_config_default = defineConfig(makeConfig(__vite_injected_original_dirname2));
34
- export {
35
- vitest_config_default as default
36
- };
37
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsicGFja2FnZXMvaW5mcmEvdml0ZXN0LmNvbmZpZy50cyIsICJ2aXRlLmNvbmZpZy5iYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL1VzZXJzL3BhdHJpY2tyb3phL3BqL2VmZmVjdC1hcHAvbGlicy9wYWNrYWdlcy9pbmZyYVwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiL1VzZXJzL3BhdHJpY2tyb3phL3BqL2VmZmVjdC1hcHAvbGlicy9wYWNrYWdlcy9pbmZyYS92aXRlc3QuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvaW5mcmEvdml0ZXN0LmNvbmZpZy50c1wiOy8vLyA8cmVmZXJlbmNlIHR5cGVzPVwidml0ZXN0XCIgLz5cbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJ2aXRlXCJcbmltcG9ydCBtYWtlQ29uZmlnIGZyb20gXCIuLi8uLi92aXRlLmNvbmZpZy5iYXNlXCJcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKG1ha2VDb25maWcoX19kaXJuYW1lKSlcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL1VzZXJzL3BhdHJpY2tyb3phL3BqL2VmZmVjdC1hcHAvbGlic1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiL1VzZXJzL3BhdHJpY2tyb3phL3BqL2VmZmVjdC1hcHAvbGlicy92aXRlLmNvbmZpZy5iYXNlLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvdml0ZS5jb25maWcuYmFzZS50c1wiOy8vLyA8cmVmZXJlbmNlIHR5cGVzPVwidml0ZXN0XCIgLz5cbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcbmltcG9ydCBmcyBmcm9tIFwiZnNcIlxuaW1wb3J0IEF1dG9JbXBvcnQgZnJvbSBcInVucGx1Z2luLWF1dG8taW1wb3J0L3ZpdGVcIlxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcInZpdGVzdC9jb25maWdcIlxuXG4vLyBjb25zdCBhdXRvSW1wb3J0ID0gQXV0b0ltcG9ydCh7XG4vLyAgIGR0czogXCIuL3Rlc3QvYXV0by1pbXBvcnRzLmQudHNcIixcbi8vICAgLy8gaW5jbHVkZTogW1xuLy8gICAvLyAgIC9cXC50ZXN0XFwuW3RqXXN4PyQvIC8vIC50cywgLnRzeCwgLmpzLCAuanN4XG4vLyAgIC8vIF0sXG4vLyAgIGltcG9ydHM6IFtcbi8vICAgICBcInZpdGVzdFwiXG4vLyAgIF1cbi8vIH0pXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1ha2VDb25maWcoZGlyTmFtZT86IHN0cmluZykge1xuICBjb25zdCBwcmVmaXggPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCBcInBhY2thZ2VzXCIpXG4gIGNvbnN0IHBhY2thZ2VzID0gZnMucmVhZGRpclN5bmMocHJlZml4KS5tYXAoZiA9PiBwcmVmaXggKyBcIi9cIiArIGYpLmZpbHRlcihmID0+IGZzLmxzdGF0U3luYyhmKS5pc0RpcmVjdG9yeSgpIClcbiAgY29uc3QgY2ZnID0ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzXG4gICAgLy9wbHVnaW5zOiBbYXV0b0ltcG9ydF0sXG4gICAgdGVzdDoge1xuICAgICAgaW5jbHVkZTogIFtcIi4vdGVzdC8qKi8qLnRlc3Que2pzLG1qcyxjanMsdHMsbXRzLGN0cyxqc3gsdHN4fVwiXSxcbiAgICAgIHJlcG9ydGVyczogXCJ2ZXJib3NlXCIsXG4gICAgICBnbG9iYWxzOiB0cnVlXG4gICAgfSxcbiAgICByZXNvbHZlOiB7XG4gICAgICBhbGlhczogcGFja2FnZXMucmVkdWNlKChhY2MsIGN1cikgPT4geyAvLyB3b3JrYXJvdW5kIGZvciAvUHJlbHVkZSBpc3N1ZVxuICAgICAgYWNjW0pTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKGN1ciArIFwiL3BhY2thZ2UuanNvblwiLCBcInV0Zi04XCIpKS5uYW1lXSA9IHBhdGgucmVzb2x2ZShjdXIsIGN1ci5lbmRzV2l0aChcImNvcmVcIikgPyBcImRpc3RcIiA6IFwic3JjXCIpXG4gICAgICByZXR1cm4gYWNjXG4gICAgfSwgeyB9KSAvLyBcIkBlZmZlY3QtYXBwL2NvcmUvUHJlbHVkZVwiOiBwYXRoLmpvaW4oX19kaXJuYW1lLCBcInBhY2thZ2VzL2NvcmUvc3JjL1ByZWx1ZGUuY29kZS50c1wiKVxuICB9XG4gIH1cbiAgY29uc29sZS5sb2coY2ZnKVxuICByZXR1cm4gY2ZnXG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQ0EsU0FBUyxvQkFBb0I7OztBQ0E3QixPQUFPLFVBQVU7QUFDakIsT0FBTyxRQUFRO0FBRmYsSUFBTSxtQ0FBbUM7QUFnQjFCLFNBQVIsV0FBNEIsU0FBa0I7QUFDbkQsUUFBTSxTQUFTLEtBQUssUUFBUSxrQ0FBVyxVQUFVO0FBQ2pELFFBQU0sV0FBVyxHQUFHLFlBQVksTUFBTSxFQUFFLElBQUksT0FBSyxTQUFTLE1BQU0sQ0FBQyxFQUFFLE9BQU8sT0FBSyxHQUFHLFVBQVUsQ0FBQyxFQUFFLFlBQVksQ0FBRTtBQUM3RyxRQUFNLE1BQU07QUFBQTtBQUFBO0FBQUEsSUFHVixNQUFNO0FBQUEsTUFDSixTQUFVLENBQUMsa0RBQWtEO0FBQUEsTUFDN0QsV0FBVztBQUFBLE1BQ1gsU0FBUztBQUFBLElBQ1g7QUFBQSxJQUNBLFNBQVM7QUFBQSxNQUNQLE9BQU8sU0FBUyxPQUFPLENBQUMsS0FBSyxRQUFRO0FBQ3JDLFlBQUksS0FBSyxNQUFNLEdBQUcsYUFBYSxNQUFNLGlCQUFpQixPQUFPLENBQUMsRUFBRSxJQUFJLElBQUksS0FBSyxRQUFRLEtBQUssSUFBSSxTQUFTLE1BQU0sSUFBSSxTQUFTLEtBQUs7QUFDL0gsZUFBTztBQUFBLE1BQ1QsR0FBRyxDQUFFLENBQUM7QUFBQTtBQUFBLElBQ1I7QUFBQSxFQUNBO0FBQ0EsVUFBUSxJQUFJLEdBQUc7QUFDZixTQUFPO0FBQ1Q7OztBRHBDQSxJQUFNQSxvQ0FBbUM7QUFJekMsSUFBTyx3QkFBUSxhQUFhLFdBQVdDLGlDQUFTLENBQUM7IiwKICAibmFtZXMiOiBbIl9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lIiwgIl9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lIl0KfQo=