@effect-app/infra 2.32.2 → 2.34.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 (168) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/package.json +174 -632
  3. package/_cjs/CUPS.cjs +0 -120
  4. package/_cjs/CUPS.cjs.map +0 -1
  5. package/_cjs/Emailer/Sendgrid.cjs +0 -109
  6. package/_cjs/Emailer/Sendgrid.cjs.map +0 -1
  7. package/_cjs/Emailer/fake.cjs +0 -17
  8. package/_cjs/Emailer/fake.cjs.map +0 -1
  9. package/_cjs/Emailer/service.cjs +0 -12
  10. package/_cjs/Emailer/service.cjs.map +0 -1
  11. package/_cjs/Emailer.cjs +0 -17
  12. package/_cjs/Emailer.cjs.map +0 -1
  13. package/_cjs/MainFiberSet.cjs +0 -61
  14. package/_cjs/MainFiberSet.cjs.map +0 -1
  15. package/_cjs/Model/Repository/ext.cjs +0 -68
  16. package/_cjs/Model/Repository/ext.cjs.map +0 -1
  17. package/_cjs/Model/Repository/internal/internal.cjs +0 -245
  18. package/_cjs/Model/Repository/internal/internal.cjs.map +0 -1
  19. package/_cjs/Model/Repository/legacy.cjs +0 -6
  20. package/_cjs/Model/Repository/legacy.cjs.map +0 -1
  21. package/_cjs/Model/Repository/makeRepo.cjs +0 -34
  22. package/_cjs/Model/Repository/makeRepo.cjs.map +0 -1
  23. package/_cjs/Model/Repository/service.cjs +0 -6
  24. package/_cjs/Model/Repository/service.cjs.map +0 -1
  25. package/_cjs/Model/Repository.cjs +0 -52
  26. package/_cjs/Model/Repository.cjs.map +0 -1
  27. package/_cjs/Model/dsl.cjs +0 -54
  28. package/_cjs/Model/dsl.cjs.map +0 -1
  29. package/_cjs/Model/filter/filterApi.cjs +0 -6
  30. package/_cjs/Model/filter/filterApi.cjs.map +0 -1
  31. package/_cjs/Model/filter/types/errors.cjs +0 -6
  32. package/_cjs/Model/filter/types/errors.cjs.map +0 -1
  33. package/_cjs/Model/filter/types/fields.cjs +0 -6
  34. package/_cjs/Model/filter/types/fields.cjs.map +0 -1
  35. package/_cjs/Model/filter/types/path/common.cjs +0 -6
  36. package/_cjs/Model/filter/types/path/common.cjs.map +0 -1
  37. package/_cjs/Model/filter/types/path/eager.cjs +0 -37
  38. package/_cjs/Model/filter/types/path/eager.cjs.map +0 -1
  39. package/_cjs/Model/filter/types/path/index.cjs +0 -6
  40. package/_cjs/Model/filter/types/path/index.cjs.map +0 -1
  41. package/_cjs/Model/filter/types/utils.cjs +0 -6
  42. package/_cjs/Model/filter/types/utils.cjs.map +0 -1
  43. package/_cjs/Model/filter/types/validator.cjs +0 -6
  44. package/_cjs/Model/filter/types/validator.cjs.map +0 -1
  45. package/_cjs/Model/filter/types.cjs +0 -50
  46. package/_cjs/Model/filter/types.cjs.map +0 -1
  47. package/_cjs/Model/query/dsl.cjs +0 -133
  48. package/_cjs/Model/query/dsl.cjs.map +0 -1
  49. package/_cjs/Model/query/new-kid-interpreter.cjs +0 -162
  50. package/_cjs/Model/query/new-kid-interpreter.cjs.map +0 -1
  51. package/_cjs/Model/query.cjs +0 -28
  52. package/_cjs/Model/query.cjs.map +0 -1
  53. package/_cjs/Model.cjs +0 -34
  54. package/_cjs/Model.cjs.map +0 -1
  55. package/_cjs/Operations.cjs +0 -105
  56. package/_cjs/Operations.cjs.map +0 -1
  57. package/_cjs/OperationsRepo.cjs +0 -21
  58. package/_cjs/OperationsRepo.cjs.map +0 -1
  59. package/_cjs/QueueMaker/SQLQueue.cjs +0 -149
  60. package/_cjs/QueueMaker/SQLQueue.cjs.map +0 -1
  61. package/_cjs/QueueMaker/errors.cjs +0 -29
  62. package/_cjs/QueueMaker/errors.cjs.map +0 -1
  63. package/_cjs/QueueMaker/memQueue.cjs +0 -90
  64. package/_cjs/QueueMaker/memQueue.cjs.map +0 -1
  65. package/_cjs/QueueMaker/sbqueue.cjs +0 -107
  66. package/_cjs/QueueMaker/sbqueue.cjs.map +0 -1
  67. package/_cjs/QueueMaker/service.cjs +0 -10
  68. package/_cjs/QueueMaker/service.cjs.map +0 -1
  69. package/_cjs/RequestContext.cjs +0 -54
  70. package/_cjs/RequestContext.cjs.map +0 -1
  71. package/_cjs/RequestFiberSet.cjs +0 -85
  72. package/_cjs/RequestFiberSet.cjs.map +0 -1
  73. package/_cjs/Store/ContextMapContainer.cjs +0 -19
  74. package/_cjs/Store/ContextMapContainer.cjs.map +0 -1
  75. package/_cjs/Store/Cosmos/query.cjs +0 -170
  76. package/_cjs/Store/Cosmos/query.cjs.map +0 -1
  77. package/_cjs/Store/Cosmos.cjs +0 -302
  78. package/_cjs/Store/Cosmos.cjs.map +0 -1
  79. package/_cjs/Store/Disk.cjs +0 -118
  80. package/_cjs/Store/Disk.cjs.map +0 -1
  81. package/_cjs/Store/Memory.cjs +0 -174
  82. package/_cjs/Store/Memory.cjs.map +0 -1
  83. package/_cjs/Store/codeFilter.cjs +0 -128
  84. package/_cjs/Store/codeFilter.cjs.map +0 -1
  85. package/_cjs/Store/index.cjs +0 -46
  86. package/_cjs/Store/index.cjs.map +0 -1
  87. package/_cjs/Store/service.cjs +0 -73
  88. package/_cjs/Store/service.cjs.map +0 -1
  89. package/_cjs/Store/utils.cjs +0 -70
  90. package/_cjs/Store/utils.cjs.map +0 -1
  91. package/_cjs/Store.cjs +0 -17
  92. package/_cjs/Store.cjs.map +0 -1
  93. package/_cjs/adapters/SQL/Model.cjs +0 -501
  94. package/_cjs/adapters/SQL/Model.cjs.map +0 -1
  95. package/_cjs/adapters/SQL.cjs +0 -11
  96. package/_cjs/adapters/SQL.cjs.map +0 -1
  97. package/_cjs/adapters/ServiceBus.cjs +0 -76
  98. package/_cjs/adapters/ServiceBus.cjs.map +0 -1
  99. package/_cjs/adapters/cosmos-client.cjs +0 -18
  100. package/_cjs/adapters/cosmos-client.cjs.map +0 -1
  101. package/_cjs/adapters/index.cjs +0 -6
  102. package/_cjs/adapters/index.cjs.map +0 -1
  103. package/_cjs/adapters/logger.cjs +0 -9
  104. package/_cjs/adapters/logger.cjs.map +0 -1
  105. package/_cjs/adapters/memQueue.cjs +0 -27
  106. package/_cjs/adapters/memQueue.cjs.map +0 -1
  107. package/_cjs/adapters/mongo-client.cjs +0 -20
  108. package/_cjs/adapters/mongo-client.cjs.map +0 -1
  109. package/_cjs/adapters/redis-client.cjs +0 -83
  110. package/_cjs/adapters/redis-client.cjs.map +0 -1
  111. package/_cjs/api/codec.cjs +0 -13
  112. package/_cjs/api/codec.cjs.map +0 -1
  113. package/_cjs/api/internal/RequestContextMiddleware.cjs +0 -41
  114. package/_cjs/api/internal/RequestContextMiddleware.cjs.map +0 -1
  115. package/_cjs/api/internal/auth.cjs +0 -58
  116. package/_cjs/api/internal/auth.cjs.map +0 -1
  117. package/_cjs/api/internal/events.cjs +0 -34
  118. package/_cjs/api/internal/events.cjs.map +0 -1
  119. package/_cjs/api/internal/health.cjs +0 -13
  120. package/_cjs/api/internal/health.cjs.map +0 -1
  121. package/_cjs/api/internal/middlewares.cjs +0 -197
  122. package/_cjs/api/internal/middlewares.cjs.map +0 -1
  123. package/_cjs/api/middlewares.cjs +0 -115
  124. package/_cjs/api/middlewares.cjs.map +0 -1
  125. package/_cjs/api/reportError.cjs +0 -29
  126. package/_cjs/api/reportError.cjs.map +0 -1
  127. package/_cjs/api/routing/DynamicMiddleware.cjs +0 -19
  128. package/_cjs/api/routing/DynamicMiddleware.cjs.map +0 -1
  129. package/_cjs/api/routing/schema/jwt.cjs +0 -21
  130. package/_cjs/api/routing/schema/jwt.cjs.map +0 -1
  131. package/_cjs/api/routing/utils.cjs +0 -53
  132. package/_cjs/api/routing/utils.cjs.map +0 -1
  133. package/_cjs/api/routing.cjs +0 -228
  134. package/_cjs/api/routing.cjs.map +0 -1
  135. package/_cjs/api/routing.legacy.cjs +0 -191
  136. package/_cjs/api/routing.legacy.cjs.map +0 -1
  137. package/_cjs/api/routing.legacy2.cjs +0 -210
  138. package/_cjs/api/routing.legacy2.cjs.map +0 -1
  139. package/_cjs/api/routing.legacy3.cjs +0 -214
  140. package/_cjs/api/routing.legacy3.cjs.map +0 -1
  141. package/_cjs/api/setupRequest.cjs +0 -58
  142. package/_cjs/api/setupRequest.cjs.map +0 -1
  143. package/_cjs/api/util.cjs +0 -17
  144. package/_cjs/api/util.cjs.map +0 -1
  145. package/_cjs/arbs.cjs +0 -25
  146. package/_cjs/arbs.cjs.map +0 -1
  147. package/_cjs/errorReporter.cjs +0 -74
  148. package/_cjs/errorReporter.cjs.map +0 -1
  149. package/_cjs/errors.cjs +0 -17
  150. package/_cjs/errors.cjs.map +0 -1
  151. package/_cjs/fileUtil.cjs +0 -48
  152. package/_cjs/fileUtil.cjs.map +0 -1
  153. package/_cjs/index.cjs +0 -11
  154. package/_cjs/index.cjs.map +0 -1
  155. package/_cjs/logger/jsonLogger.cjs +0 -43
  156. package/_cjs/logger/jsonLogger.cjs.map +0 -1
  157. package/_cjs/logger/logFmtLogger.cjs +0 -25
  158. package/_cjs/logger/logFmtLogger.cjs.map +0 -1
  159. package/_cjs/logger/shared.cjs +0 -30
  160. package/_cjs/logger/shared.cjs.map +0 -1
  161. package/_cjs/logger.cjs +0 -9
  162. package/_cjs/logger.cjs.map +0 -1
  163. package/_cjs/rateLimit.cjs +0 -76
  164. package/_cjs/rateLimit.cjs.map +0 -1
  165. package/_cjs/test.cjs +0 -77
  166. package/_cjs/test.cjs.map +0 -1
  167. package/_cjs/vitest.cjs +0 -28
  168. package/_cjs/vitest.cjs.map +0 -1
@@ -1,115 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {
7
- accessLog: true,
8
- uuidLogAnnotation: true,
9
- endpointCallsMetric: true,
10
- errorLog: true,
11
- basicAuth: true,
12
- cors: true
13
- };
14
- exports.uuidLogAnnotation = exports.errorLog = exports.endpointCallsMetric = exports.cors = exports.basicAuth = exports.accessLog = void 0;
15
- var internal = _interopRequireWildcard(require("./internal/middlewares.cjs"));
16
- var _auth = require("./internal/auth.cjs");
17
- Object.keys(_auth).forEach(function (key) {
18
- if (key === "default" || key === "__esModule") return;
19
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
20
- if (key in exports && exports[key] === _auth[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function () {
24
- return _auth[key];
25
- }
26
- });
27
- });
28
- var _events = require("./internal/events.cjs");
29
- Object.keys(_events).forEach(function (key) {
30
- if (key === "default" || key === "__esModule") return;
31
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
32
- if (key in exports && exports[key] === _events[key]) return;
33
- Object.defineProperty(exports, key, {
34
- enumerable: true,
35
- get: function () {
36
- return _events[key];
37
- }
38
- });
39
- });
40
- var _health = require("./internal/health.cjs");
41
- Object.keys(_health).forEach(function (key) {
42
- if (key === "default" || key === "__esModule") return;
43
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
44
- if (key in exports && exports[key] === _health[key]) return;
45
- Object.defineProperty(exports, key, {
46
- enumerable: true,
47
- get: function () {
48
- return _health[key];
49
- }
50
- });
51
- });
52
- var _RequestContextMiddleware = require("./internal/RequestContextMiddleware.cjs");
53
- Object.keys(_RequestContextMiddleware).forEach(function (key) {
54
- if (key === "default" || key === "__esModule") return;
55
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
56
- if (key in exports && exports[key] === _RequestContextMiddleware[key]) return;
57
- Object.defineProperty(exports, key, {
58
- enumerable: true,
59
- get: function () {
60
- return _RequestContextMiddleware[key];
61
- }
62
- });
63
- });
64
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
65
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
66
- /**
67
- * Add access logs for handled requests. The log runs before each request.
68
- * Optionally configure log level using the first argument. The default log level
69
- * is `Debug`.
70
- *
71
- * @category logging
72
- * @since 1.0.0
73
- */
74
- const accessLog = exports.accessLog = internal.accessLog;
75
- /**
76
- * Annotate request logs using generated UUID. The default annotation key is `requestId`.
77
- * The annotation key is configurable using the first argument.
78
- *
79
- * Note that in order to apply the annotation also for access logging, you should
80
- * make sure the `accessLog` middleware is plugged after the `uuidLogAnnotation`.
81
- *
82
- * @category logging
83
- * @since 1.0.0
84
- */
85
- const uuidLogAnnotation = exports.uuidLogAnnotation = internal.uuidLogAnnotation;
86
- /**
87
- * Measure how many times each endpoint was called in a
88
- * `server.endpoint_calls` counter metrics.
89
- *
90
- * @category metrics
91
- * @since 1.0.0
92
- */
93
- const endpointCallsMetric = exports.endpointCallsMetric = internal.endpointCallsMetric;
94
- /**
95
- * Logs out a handler failure.
96
- *
97
- * @category logging
98
- * @since 1.0.0
99
- */
100
- const errorLog = exports.errorLog = internal.errorLog;
101
- /**
102
- * Basic auth middleware.
103
- *
104
- * @category authorization
105
- * @since 1.0.0
106
- */
107
- const basicAuth = exports.basicAuth = internal.basicAuth;
108
- /**
109
- * Basic auth middleware.
110
- *
111
- * @category authorization
112
- * @since 1.0.0
113
- */
114
- const cors = exports.cors = internal.cors;
115
- //# sourceMappingURL=middlewares.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middlewares.cjs","names":["internal","_interopRequireWildcard","require","_auth","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_events","_health","_RequestContextMiddleware","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","accessLog","uuidLogAnnotation","endpointCallsMetric","errorLog","basicAuth","cors"],"sources":["../../src/api/middlewares.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,29 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.reportUnknownRequestError = exports.reportRequestError = void 0;
7
- var _effectApp = require("effect-app");
8
- var _errorReporter = require("../errorReporter.cjs");
9
- // const onExitReportError = (name: string, unknownOnly?: boolean) => {
10
- // const report = reportError(name)
11
- // const log = logError(name)
12
- // return <A, E, R>(self: Effect<A, E, R>) =>
13
- // Effect.onExit(self, (exit) =>
14
- // Exit.isFailure(exit)
15
- // ? unknownOnly
16
- // ? Cause.isInterruptedOnly(exit.cause) || Cause.isDie(exit.cause)
17
- // ? report(exit.cause)
18
- // : log(exit.cause)
19
- // : report(exit.cause)
20
- // : Effect.void)
21
- // }
22
- const tapErrorCause = (name, unknownOnly) => {
23
- const report = (0, _errorReporter.reportError)(name);
24
- const log = (0, _errorReporter.logError)(name);
25
- return self => _effectApp.Effect.tapErrorCause(self, cause => unknownOnly ? _effectApp.Cause.isFailure(cause) ? log(cause) : report(cause) : report(cause));
26
- };
27
- const reportRequestError = exports.reportRequestError = tapErrorCause("request");
28
- const reportUnknownRequestError = exports.reportUnknownRequestError = tapErrorCause("request", true);
29
- //# sourceMappingURL=reportError.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reportError.cjs","names":["_effectApp","require","_errorReporter","tapErrorCause","name","unknownOnly","report","reportError","log","logError","self","Effect","cause","Cause","isFailure","reportRequestError","exports","reportUnknownRequestError"],"sources":["../../src/api/reportError.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,aAAa,GAAGA,CAACC,IAAY,EAAEC,WAAqB,KAAI;EAC5D,MAAMC,MAAM,GAAG,IAAAC,0BAAW,EAACH,IAAI,CAAC;EAChC,MAAMI,GAAG,GAAG,IAAAC,uBAAQ,EAACL,IAAI,CAAC;EAC1B,OAAiBM,IAAqB,IACpCC,iBAAM,CAACR,aAAa,CAACO,IAAI,EAAGE,KAAK,IAC/BP,WAAW,GACPQ,gBAAK,CAACC,SAAS,CAACF,KAAK,CAAC,GACpBJ,GAAG,CAACI,KAAK,CAAC,GACVN,MAAM,CAACM,KAAK,CAAC,GACfN,MAAM,CAACM,KAAK,CAAC,CAAC;AACxB,CAAC;AACM,MAAMG,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAGZ,aAAa,CAAC,SAAS,CAAC;AACnD,MAAMc,yBAAyB,GAAAD,OAAA,CAAAC,yBAAA,GAAGd,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC","ignoreList":[]}
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.makeRpc = void 0;
7
- var _rpc = require("@effect/rpc");
8
- var _effectApp = require("effect-app");
9
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
10
- /* eslint-disable @typescript-eslint/no-unsafe-return */
11
- /* eslint-disable @typescript-eslint/no-explicit-any */
12
-
13
- const makeRpc = middleware => middleware.execute.pipe(_effectApp.Effect.map(execute => ({
14
- effect: (schema, handler, moduleName) => {
15
- return _rpc.Rpc.effect(schema, execute(schema, handler, moduleName));
16
- }
17
- })));
18
- exports.makeRpc = makeRpc;
19
- //# sourceMappingURL=DynamicMiddleware.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DynamicMiddleware.cjs","names":["_rpc","require","_effectApp","makeRpc","middleware","execute","pipe","Effect","map","effect","schema","handler","moduleName","Rpc","exports"],"sources":["../../../src/api/routing/DynamicMiddleware.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,IAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AALA;AACA;AACA;;AAyCO,MAAME,OAAO,GAMlBC,UAAkD,IAElDA,UAAU,CAACC,OAAO,CAACC,IAAI,CAACC,iBAAM,CAACC,GAAG,CAAEH,OAAO,KAAM;EAC/CI,MAAM,EAAEA,CACNC,MAAqC,EACrCC,OAMC,EACDC,UAAmB,KACjB;IACF,OAAOC,QAAG,CAACJ,MAAM,CACfC,MAAM,EACNL,OAAO,CAACK,MAAM,EAAEC,OAAO,EAAEC,UAAU,CAAC,CACrC;EACH;CACD,CAAC,CAAC,CAAC;AAAAE,OAAA,CAAAX,OAAA,GAAAA,OAAA","ignoreList":[]}
@@ -1,21 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.parseJwt = void 0;
7
- var S = _interopRequireWildcard(require("effect-app/Schema"));
8
- var _jwtDecode = require("jwt-decode");
9
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
12
- /* eslint-disable @typescript-eslint/no-explicit-any */
13
-
14
- const parseJwt = (schema, options) => S.transformToOrFail(S.String, S.Unknown, (s, __, ast) => S.ParseResult.try({
15
- try: () => (0, _jwtDecode.jwtDecode)(s, options),
16
- catch: e => new S.ParseResult.Type(ast, s, e?.message)
17
- })).pipe(S.compose(schema, {
18
- strict: false
19
- }));
20
- exports.parseJwt = parseJwt;
21
- //# sourceMappingURL=jwt.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jwt.cjs","names":["S","_interopRequireWildcard","require","_jwtDecode","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","parseJwt","schema","options","transformToOrFail","String","Unknown","s","__","ast","ParseResult","try","jwtDecode","catch","Type","message","pipe","compose","strict","exports"],"sources":["../../../../src/api/routing/schema/jwt.ts"],"sourcesContent":[null],"mappings":";;;;;;AAEA,IAAAA,CAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAA6D,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAH7D;AACA;;AAIO,MAAMW,QAAQ,GAAGA,CACtBC,MAAyB,EACzBC,OAA0B,KAE1B1B,CAAC,CACE2B,iBAAiB,CAChB3B,CAAC,CAAC4B,MAAM,EACR5B,CAAC,CAAC6B,OAAO,EACT,CAACC,CAAC,EAAEC,EAAE,EAAEC,GAAG,KACThC,CAAC,CAACiC,WAAW,CAACC,GAAG,CAAC;EAChBA,GAAG,EAAEA,CAAA,KAAM,IAAAC,oBAAS,EAACL,CAAC,EAAEJ,OAAO,CAAC;EAChCU,KAAK,EAAG/B,CAAM,IAAK,IAAIL,CAAC,CAACiC,WAAW,CAACI,IAAI,CAACL,GAAG,EAAEF,CAAC,EAAEzB,CAAC,EAAEiC,OAAO;CAC7D,CAAC,CACL,CACAC,IAAI,CAACvC,CAAC,CAACwC,OAAO,CAACf,MAAM,EAAE;EAAEgB,MAAM,EAAE;AAAK,CAAE,CAAC,CAAC;AAAAC,OAAA,CAAAlB,QAAA,GAAAA,QAAA","ignoreList":[]}
@@ -1,53 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.determineMethod = void 0;
7
- var _effectApp = require("effect-app");
8
- const get = ["Get", "Index", "List", "All", "Find", "Search"];
9
- const del = ["Delete", "Remove", "Destroy"];
10
- const patch = ["Patch", "Update", "Edit"];
11
- const astAssignableToString = ast => {
12
- if (ast._tag === "StringKeyword") return true;
13
- if (ast._tag === "Union" && ast.types.every(astAssignableToString)) {
14
- return true;
15
- }
16
- if (ast._tag === "Refinement" || ast._tag === "Transformation") {
17
- return astAssignableToString(ast.from);
18
- }
19
- return false;
20
- };
21
- const onlyStringsAst = ast => {
22
- if (ast._tag === "Union") return ast.types.every(onlyStringsAst);
23
- if (ast._tag !== "TypeLiteral") return false;
24
- return ast.propertySignatures.every(_ => astAssignableToString(_.type));
25
- };
26
- const onlyStrings = schema => {
27
- if ("fields" in schema && schema.fields) return onlyStringsAst(_effectApp.S.Struct(schema.fields).ast); // only one level..
28
- return onlyStringsAst(schema.ast);
29
- };
30
- const determineMethod = (actionName, schema) => {
31
- if (get.some(_ => actionName.startsWith(_))) {
32
- return {
33
- _tag: "query",
34
- method: onlyStrings(schema) ? "GET" : "POST"
35
- };
36
- }
37
- if (del.some(_ => actionName.startsWith(_))) {
38
- return {
39
- _tag: "command",
40
- method: onlyStrings(schema) ? "DELETE" : "POST"
41
- };
42
- }
43
- if (patch.some(_ => actionName.startsWith(_))) return {
44
- _tag: "command",
45
- method: "PATCH"
46
- };
47
- return {
48
- _tag: "command",
49
- method: "POST"
50
- };
51
- };
52
- exports.determineMethod = determineMethod;
53
- //# sourceMappingURL=utils.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.cjs","names":["_effectApp","require","get","del","patch","astAssignableToString","ast","_tag","types","every","from","onlyStringsAst","propertySignatures","_","type","onlyStrings","schema","fields","S","Struct","determineMethod","actionName","some","startsWith","method","exports"],"sources":["../../../src/api/routing/utils.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAGA,MAAMC,GAAG,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC;AAC7D,MAAMC,GAAG,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;AAC3C,MAAMC,KAAK,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;AAEzC,MAAMC,qBAAqB,GAAIC,GAAY,IAAa;EACtD,IAAIA,GAAG,CAACC,IAAI,KAAK,eAAe,EAAE,OAAO,IAAI;EAC7C,IAAID,GAAG,CAACC,IAAI,KAAK,OAAO,IAAID,GAAG,CAACE,KAAK,CAACC,KAAK,CAACJ,qBAAqB,CAAC,EAAE;IAClE,OAAO,IAAI;EACb;EACA,IAAIC,GAAG,CAACC,IAAI,KAAK,YAAY,IAAID,GAAG,CAACC,IAAI,KAAK,gBAAgB,EAAE;IAC9D,OAAOF,qBAAqB,CAACC,GAAG,CAACI,IAAI,CAAC;EACxC;EAEA,OAAO,KAAK;AACd,CAAC;AAED,MAAMC,cAAc,GAAIL,GAAY,IAAa;EAC/C,IAAIA,GAAG,CAACC,IAAI,KAAK,OAAO,EAAE,OAAOD,GAAG,CAACE,KAAK,CAACC,KAAK,CAACE,cAAc,CAAC;EAChE,IAAIL,GAAG,CAACC,IAAI,KAAK,aAAa,EAAE,OAAO,KAAK;EAC5C,OAAOD,GAAG,CAACM,kBAAkB,CAACH,KAAK,CAAEI,CAAC,IAAKR,qBAAqB,CAACQ,CAAC,CAACC,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED,MAAMC,WAAW,GAAIC,MAA8D,IAAa;EAC9F,IAAI,QAAQ,IAAIA,MAAM,IAAIA,MAAM,CAACC,MAAM,EAAE,OAAON,cAAc,CAACO,YAAC,CAACC,MAAM,CAACH,MAAM,CAACC,MAAM,CAAC,CAACX,GAAG,CAAC,EAAC;EAC5F,OAAOK,cAAc,CAACK,MAAM,CAACV,GAAG,CAAC;AACnC,CAAC;AAEM,MAAMc,eAAe,GAAGA,CAACC,UAAkB,EAAEL,MAA6B,KAAI;EACnF,IAAId,GAAG,CAACoB,IAAI,CAAET,CAAC,IAAKQ,UAAU,CAACE,UAAU,CAACV,CAAC,CAAC,CAAC,EAAE;IAC7C,OAAO;MAAEN,IAAI,EAAE,OAAO;MAAEiB,MAAM,EAAET,WAAW,CAACC,MAAM,CAAC,GAAG,KAAc,GAAG;IAAM,CAAW;EAC1F;EACA,IAAIb,GAAG,CAACmB,IAAI,CAAET,CAAC,IAAKQ,UAAU,CAACE,UAAU,CAACV,CAAC,CAAC,CAAC,EAAE;IAC7C,OAAO;MAAEN,IAAI,EAAE,SAAS;MAAEiB,MAAM,EAAET,WAAW,CAACC,MAAM,CAAC,GAAG,QAAQ,GAAG;IAAM,CAAW;EACtF;EACA,IAAIZ,KAAK,CAACkB,IAAI,CAAET,CAAC,IAAKQ,UAAU,CAACE,UAAU,CAACV,CAAC,CAAC,CAAC,EAAE,OAAO;IAAEN,IAAI,EAAE,SAAS;IAAEiB,MAAM,EAAE;EAAO,CAAW;EACrG,OAAO;IAAEjB,IAAI,EAAE,SAAS;IAAEiB,MAAM,EAAE;EAAM,CAAW;AACrD,CAAC;AAAAC,OAAA,CAAAL,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -1,228 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.toHttpApp = exports.makeRouter = exports.makeMiddleware = exports.RpcHeadersFromHttpHeaders = exports.RouterSymbol = exports.RequestCacheLayers = void 0;
7
- var _rpc = require("@effect/rpc");
8
- var _effectApp = require("effect-app");
9
- var _http = require("effect-app/http");
10
- var _utils = require("effect-app/utils");
11
- var _errorReporter = require("../errorReporter.cjs");
12
- var _logger = require("../logger.cjs");
13
- var _DynamicMiddleware = require("./routing/DynamicMiddleware.cjs");
14
- var _utils2 = require("./routing/utils.cjs");
15
- const logRequestError = (0, _errorReporter.logError)("Request");
16
- const reportRequestError = (0, _errorReporter.reportError)("Request");
17
- const optimisticConcurrencySchedule = _effectApp.Schedule.once.pipe(_effectApp.Schedule.intersect(_effectApp.Schedule.recurWhile(a => a?._tag === "OptimisticConcurrencyException")));
18
- /**
19
- * Plain jane JSON version
20
- * @deprecated use HttpRpcRouterNoStream.toHttpApp once support options
21
- */
22
- const toHttpApp = (self, options) => {
23
- const handler = _rpc.RpcRouter.toHandler(self, options);
24
- return _effectApp.Effect.withFiberRuntime(fiber => {
25
- const context = fiber.getFiberRef(_effectApp.FiberRef.currentContext);
26
- const request = _effectApp.Context.unsafeGet(context, _http.HttpServerRequest.HttpServerRequest);
27
- return _effectApp.Effect.flatMap(request.json, _ => handler(_).pipe(_effectApp.Stream.provideContext(context), _effectApp.Stream.runCollect, _effectApp.Effect.map(_ => _effectApp.Chunk.toReadonlyArray(_)), _effectApp.Effect.andThen(_ => {
28
- let status = 200;
29
- for (const r of _.flat()) {
30
- if (typeof r === "number") continue;
31
- const results = _effectApp.Array.isArray(r) ? r : [r];
32
- if (results.some(_ => _._tag === "Failure" && _.cause._tag === "Die")) {
33
- status = 500;
34
- break;
35
- }
36
- if (results.some(_ => _._tag === "Failure" && _.cause._tag === "Fail")) {
37
- status = 422; // 418
38
- break;
39
- }
40
- }
41
- return _http.HttpServerResponse.json(_, {
42
- status
43
- });
44
- }), _effectApp.Effect.orDie, _effectApp.Effect.tapDefect((0, _errorReporter.reportError)("RPCHttpApp"))));
45
- });
46
- };
47
- exports.toHttpApp = toHttpApp;
48
- const RouterSymbol = exports.RouterSymbol = Symbol();
49
- // export interface RouteMatcher<
50
- // Filtered extends Record<string, any>,
51
- // CTXMap extends Record<string, any>,
52
- // Rsc extends Filtered
53
- // > extends RouteMatcherInt<Filtered, CTXMap, Rsc> {}
54
- const makeMiddleware = content => content;
55
- exports.makeMiddleware = makeMiddleware;
56
- const makeRouter = (middleware, devMode) => {
57
- function matchFor(rsc) {
58
- const meta = rsc.meta;
59
- const filtered = (0, _utils.typedKeysOf)(rsc).reduce((acc, cur) => {
60
- if (_effectApp.Predicate.isObject(rsc[cur]) && rsc[cur]["success"]) {
61
- acc[cur] = rsc[cur];
62
- }
63
- return acc;
64
- }, {});
65
- const items = (0, _utils.typedKeysOf)(filtered).reduce((prev, cur) => {
66
- ;
67
- prev[cur] = Object.assign(fnOrEffect => {
68
- const stack = new Error().stack?.split("\n").slice(2).join("\n");
69
- return _effectApp.Effect.isEffect(fnOrEffect) ? class {
70
- static request = rsc[cur];
71
- static stack = stack;
72
- static _tag = "d";
73
- static handler = () => fnOrEffect;
74
- } : class {
75
- static request = rsc[cur];
76
- static stack = stack;
77
- static _tag = "d";
78
- static handler = fnOrEffect;
79
- };
80
- }, {
81
- success: rsc[cur].success,
82
- successRaw: _effectApp.S.encodedSchema(rsc[cur].success),
83
- failure: rsc[cur].failure,
84
- raw:
85
- // "Raw" variations are for when you don't want to decode just to encode it again on the response
86
- // e.g for direct projection from DB
87
- // but more importantly, to skip Effectful decoders, like to resolve relationships from the database or remote client.
88
- fnOrEffect => {
89
- const stack = new Error().stack?.split("\n").slice(2).join("\n");
90
- return _effectApp.Effect.isEffect(fnOrEffect) ? class {
91
- static request = rsc[cur];
92
- static stack = stack;
93
- static _tag = "raw";
94
- static handler = () => fnOrEffect;
95
- } : class {
96
- static request = rsc[cur];
97
- static stack = stack;
98
- static _tag = "raw";
99
- static handler = (req, ctx) => fnOrEffect(req, {
100
- ...ctx,
101
- Response: rsc[cur].success
102
- });
103
- };
104
- }
105
- });
106
- return prev;
107
- }, {});
108
- const f = (layers, make) => {
109
- const r = class Router extends _http.HttpRouter.Tag(`${meta.moduleName}Router`)() {};
110
- const layer = r.use(router => _effectApp.Effect.gen(function* () {
111
- const controllers = yield* make;
112
- const rpc = yield* (0, _DynamicMiddleware.makeRpc)(middleware);
113
- // return make.pipe(Effect.map((c) => controllers(c, layers)))
114
- const mapped = (0, _utils.typedKeysOf)(filtered).reduce((acc, cur) => {
115
- const handler = controllers[cur];
116
- const req = rsc[cur];
117
- const method = (0, _utils2.determineMethod)(String(cur), req);
118
- const isCommand = method._tag === "command";
119
- const handle = isCommand ? req => _effectApp.Effect.retry(handler.handler(req), optimisticConcurrencySchedule) : req => _effectApp.Effect.interruptible(handler.handler(req));
120
- acc[cur] = rpc.effect(handler._tag === "raw" ? class extends req {
121
- static success = _effectApp.S.encodedSchema(req.success);
122
- get [_effectApp.Schema.symbolSerializable]() {
123
- return this.constructor;
124
- }
125
- get [_effectApp.Schema.symbolWithResult]() {
126
- return {
127
- failure: req.failure,
128
- success: _effectApp.S.encodedSchema(req.success)
129
- };
130
- }
131
- } : req, req =>
132
- // TODO: render more data... similar to console?
133
- _effectApp.Effect.annotateCurrentSpan("requestInput", Object.entries(req).reduce((prev, [key, value]) => {
134
- prev[key] = key === "password" ? "<redacted>" : typeof value === "string" || typeof value === "number" || typeof value === "boolean" ? typeof value === "string" && value.length > 256 ? value.substring(0, 253) + "..." : value : _effectApp.Array.isArray(value) ? `Array[${value.length}]` : value === null || value === undefined ? `${value}` : typeof value === "object" && value ? `Object[${Object.keys(value).length}]` : typeof value;
135
- return prev;
136
- }, {})).pipe(
137
- // can't use andThen due to some being a function and effect
138
- _effectApp.Effect.zipRight(handle(req)), _effectApp.Effect.tapErrorCause(cause => _effectApp.Cause.isFailure(cause) ? logRequestError(cause) : _effectApp.Effect.void), _effectApp.Effect.tapDefect(cause => _effectApp.Effect.all([reportRequestError(cause, {
139
- action: `${meta.moduleName}.${req._tag}`
140
- }), _rpc.Rpc.currentHeaders.pipe(_effectApp.Effect.andThen(headers => {
141
- return _logger.InfraLogger.logError("Finished request", cause).pipe(_effectApp.Effect.annotateLogs({
142
- action: `${meta.moduleName}.${req._tag}`,
143
- req: (0, _utils.pretty)(req),
144
- headers: (0, _utils.pretty)(headers)
145
- // resHeaders: pretty(
146
- // Object
147
- // .entries(headers)
148
- // .reduce((prev, [key, value]) => {
149
- // prev[key] = value && typeof value === "string" ? snipString(value) : value
150
- // return prev
151
- // }, {} as Record<string, any>)
152
- // )
153
- }));
154
- }))])), devMode ? _ => _ : _effectApp.Effect.catchAllDefect(() => _effectApp.Effect.die("Internal Server Error")), _effectApp.Effect.withSpan("Request." + meta.moduleName + "." + req._tag, {
155
- captureStackTrace: () => handler.stack
156
- })), meta.moduleName); // TODO
157
- return acc;
158
- }, {});
159
- const rpcRouter = _rpc.RpcRouter.make(...Object.values(mapped));
160
- const httpApp = toHttpApp(rpcRouter, {
161
- spanPrefix: rsc.meta.moduleName + "."
162
- });
163
- yield* router.post("/", httpApp, {
164
- uninterruptible: true
165
- });
166
- }));
167
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
168
- const routes = layer.pipe(_effectApp.Layer.provideMerge(r.Live), layers && _effectApp.Array.isNonEmptyReadonlyArray(layers) ? _effectApp.Layer.provide(layers) : _ => _,
169
- // TODO: only provide to the middleware?
170
- middleware.dependencies ? _effectApp.Layer.provide(middleware.dependencies) : _ => _);
171
- // Effect.Effect<HttpRouter.HttpRouter<unknown, HttpRouter.HttpRouter.DefaultServices>, never, UserRouter>
172
- return {
173
- moduleName: meta.moduleName,
174
- Router: r,
175
- routes
176
- };
177
- };
178
- const effect = m => f(m.dependencies, m.effect);
179
- const total = Object.keys(filtered).length;
180
- const router = {
181
- accum: {},
182
- add(a) {
183
- ;
184
- this.accum[a.request._tag] = a;
185
- this[a.request._tag] = a;
186
- if (Object.keys(this.accum).length === total) return this.accum;
187
- return this;
188
- }
189
- };
190
- const router3 = obj => (0, _utils.typedKeysOf)(obj).reduce((acc, cur) => {
191
- acc[cur] = "raw" in obj[cur] ? items[cur].raw(obj[cur].raw) : items[cur](obj[cur]);
192
- return acc;
193
- }, {});
194
- return Object.assign(effect, items, {
195
- router,
196
- router3
197
- });
198
- }
199
- function matchAll(handlers, requestLayer) {
200
- const routers = (0, _utils.typedValuesOf)(handlers);
201
- const rootRouter = class extends _http.HttpRouter.Tag("RootRouter")() {};
202
- const r = rootRouter.use(router => _effectApp.Effect.gen(function* () {
203
- for (const route of routers) {
204
- yield* router.mount("/rpc/" + route.moduleName, yield* route.Router.router.pipe(_effectApp.Effect.map(_http.HttpRouter.use((0, _effectApp.flow)(_effectApp.Effect.provide(requestLayer))))));
205
- }
206
- })).pipe(_effectApp.Layer.provide(routers.map(r => r.routes).flat()));
207
- return {
208
- layer: r,
209
- Router: rootRouter
210
- };
211
- }
212
- return {
213
- matchAll,
214
- matchFor: rsc => matchFor(rsc).router3,
215
- Router: matchFor
216
- };
217
- };
218
- exports.makeRouter = makeRouter;
219
- const RequestCacheLayers = exports.RequestCacheLayers = _effectApp.Layer.mergeAll(_effectApp.Layer.setRequestCache(_effectApp.Request.makeCache({
220
- capacity: 500,
221
- timeToLive: _effectApp.Duration.hours(8)
222
- })), _effectApp.Layer.setRequestCaching(true), _effectApp.Layer.setRequestBatching(true));
223
- const RpcHeadersFromHttpHeaders = exports.RpcHeadersFromHttpHeaders = _effectApp.Effect.gen(function* () {
224
- const httpReq = yield* _http.HttpServerRequest.HttpServerRequest;
225
- // TODO: only pass Authentication etc, or move headers to actual Rpc Headers
226
- yield* _effectApp.FiberRef.update(_rpc.Rpc.currentHeaders, headers => _http.HttpHeaders.merge(httpReq.headers, headers));
227
- }).pipe(_effectApp.Layer.effectDiscard);
228
- //# sourceMappingURL=routing.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"routing.cjs","names":["_rpc","require","_effectApp","_http","_utils","_errorReporter","_logger","_DynamicMiddleware","_utils2","logRequestError","logError","reportRequestError","reportError","optimisticConcurrencySchedule","Schedule","once","pipe","intersect","recurWhile","a","_tag","toHttpApp","self","options","handler","RpcRouter","toHandler","Effect","withFiberRuntime","fiber","context","getFiberRef","FiberRef","currentContext","request","Context","unsafeGet","HttpServerRequest","flatMap","json","_","Stream","provideContext","runCollect","map","Chunk","toReadonlyArray","andThen","status","r","flat","results","Array","isArray","some","cause","HttpServerResponse","orDie","tapDefect","exports","RouterSymbol","Symbol","makeMiddleware","content","makeRouter","middleware","devMode","matchFor","rsc","meta","filtered","typedKeysOf","reduce","acc","cur","Predicate","isObject","items","prev","Object","assign","fnOrEffect","stack","Error","split","slice","join","isEffect","success","successRaw","S","encodedSchema","failure","raw","req","ctx","Response","f","layers","make","Router","HttpRouter","Tag","moduleName","layer","use","router","gen","controllers","rpc","makeRpc","mapped","method","determineMethod","String","isCommand","handle","retry","interruptible","effect","Schema","symbolSerializable","constructor","symbolWithResult","annotateCurrentSpan","entries","key","value","length","substring","undefined","keys","zipRight","tapErrorCause","Cause","isFailure","void","all","action","Rpc","currentHeaders","headers","InfraLogger","annotateLogs","pretty","catchAllDefect","die","withSpan","captureStackTrace","rpcRouter","values","httpApp","spanPrefix","post","uninterruptible","routes","Layer","provideMerge","Live","isNonEmptyReadonlyArray","provide","dependencies","m","total","accum","add","router3","obj","matchAll","handlers","requestLayer","routers","typedValuesOf","rootRouter","route","mount","flow","RequestCacheLayers","mergeAll","setRequestCache","Request","makeCache","capacity","timeToLive","Duration","hours","setRequestCaching","setRequestBatching","RpcHeadersFromHttpHeaders","httpReq","update","HttpHeaders","merge","effectDiscard"],"sources":["../../src/api/routing.ts"],"sourcesContent":[null],"mappings":";;;;;;AAKA,IAAAA,IAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAmBA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAEA,IAAAM,kBAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AAEA,MAAMQ,eAAe,GAAG,IAAAC,uBAAQ,EAAC,SAAS,CAAC;AAC3C,MAAMC,kBAAkB,GAAG,IAAAC,0BAAW,EAAC,SAAS,CAAC;AAEjD,MAAMC,6BAA6B,GAAGC,mBAAQ,CAACC,IAAI,CAACC,IAAI,CACtDF,mBAAQ,CAACG,SAAS,CAACH,mBAAQ,CAACI,UAAU,CAAOC,CAAC,IAAKA,CAAC,EAAEC,IAAI,KAAK,gCAAgC,CAAC,CAAC,CAClG;AAeD;;;;AAIO,MAAMC,SAAS,GAAGA,CAA0CC,IAAO,EAAEC,OAE3E,KAGG;EACF,MAAMC,OAAO,GAAGC,cAAS,CAACC,SAAS,CAACJ,IAAI,EAAEC,OAAO,CAAC;EAClD,OAAOI,iBAAM,CAACC,gBAAgB,CAAEC,KAAK,IAAI;IACvC,MAAMC,OAAO,GAAGD,KAAK,CAACE,WAAW,CAACC,mBAAQ,CAACC,cAAc,CAAC;IAC1D,MAAMC,OAAO,GAAGC,kBAAO,CAACC,SAAS,CAACN,OAAO,EAAEO,uBAAiB,CAACA,iBAAiB,CAAC;IAC/E,OAAOV,iBAAM,CAACW,OAAO,CACnBJ,OAAO,CAACK,IAAI,EACXC,CAAC,IACAhB,OAAO,CAACgB,CAAC,CAAC,CAACxB,IAAI,CACbyB,iBAAM,CAACC,cAAc,CAACZ,OAAO,CAAC,EAC9BW,iBAAM,CAACE,UAAU,EACjBhB,iBAAM,CAACiB,GAAG,CAAEJ,CAAC,IAAKK,gBAAK,CAACC,eAAe,CAACN,CAAC,CAAC,CAAC,EAC3Cb,iBAAM,CAACoB,OAAO,CAAEP,CAAC,IAAI;MACnB,IAAIQ,MAAM,GAAG,GAAG;MAChB,KAAK,MAAMC,CAAC,IAAIT,CAAC,CAACU,IAAI,EAAE,EAAE;QACxB,IAAI,OAAOD,CAAC,KAAK,QAAQ,EAAE;QAC3B,MAAME,OAAO,GAAGC,gBAAK,CAACC,OAAO,CAACJ,CAAC,CAAC,GAAGA,CAAC,GAAG,CAACA,CAAC,CAAC;QAC1C,IAAIE,OAAO,CAACG,IAAI,CAAEd,CAA+B,IAAKA,CAAC,CAACpB,IAAI,KAAK,SAAS,IAAIoB,CAAC,CAACe,KAAK,CAACnC,IAAI,KAAK,KAAK,CAAC,EAAE;UACrG4B,MAAM,GAAG,GAAG;UACZ;QACF;QACA,IAAIG,OAAO,CAACG,IAAI,CAAEd,CAA+B,IAAKA,CAAC,CAACpB,IAAI,KAAK,SAAS,IAAIoB,CAAC,CAACe,KAAK,CAACnC,IAAI,KAAK,MAAM,CAAC,EAAE;UACtG4B,MAAM,GAAG,GAAG,EAAC;UACb;QACF;MACF;MACA,OAAOQ,wBAAkB,CAACjB,IAAI,CAACC,CAAC,EAAE;QAAEQ;MAAM,CAAE,CAAC;IAC/C,CAAC,CAAC,EACFrB,iBAAM,CAAC8B,KAAK,EACZ9B,iBAAM,CAAC+B,SAAS,CAAC,IAAA9C,0BAAW,EAAC,YAAY,CAAC,CAAC,CAC5C,CACJ;EACH,CAAC,CAAC;AACJ,CAAC;AAAA+C,OAAA,CAAAtC,SAAA,GAAAA,SAAA;AA0EM,MAAMuC,YAAY,GAAAD,OAAA,CAAAC,YAAA,GAAGC,MAAM,EAAE;AA6EpC;AACA;AACA;AACA;AACA;AAEO,MAAMC,cAAc,GAKzBC,OAAiD,IAA+CA,OAAO;AAAAJ,OAAA,CAAAG,cAAA,GAAAA,cAAA;AAElG,MAAME,UAAU,GAAGA,CAMxBC,UAAoD,EACpDC,OAAgB,KACd;EACF,SAASC,QAAQA,CAIfC,GAA+C;IAE/C,MAAMC,IAAI,GAAGD,GAAG,CAACC,IAAI;IAErB,MAAMC,QAAQ,GAAG,IAAAC,kBAAW,EAACH,GAAG,CAAC,CAACI,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAI;MACpD,IAAIC,oBAAS,CAACC,QAAQ,CAACR,GAAG,CAACM,GAAG,CAAC,CAAC,IAAIN,GAAG,CAACM,GAAG,CAAC,CAAC,SAAS,CAAC,EAAE;QACvDD,GAAG,CAACC,GAAqB,CAAC,GAAGN,GAAG,CAACM,GAAG,CAAC;MACvC;MACA,OAAOD,GAAG;IACZ,CAAC,EAAE,EAAc,CAAC;IAElB,MAAMI,KAAK,GAAG,IAAAN,kBAAW,EAACD,QAAQ,CAAC,CAACE,MAAM,CACxC,CAACM,IAAI,EAAEJ,GAAG,KAAI;MACZ;MAAEI,IAAY,CAACJ,GAAG,CAAC,GAAGK,MAAM,CAACC,MAAM,CAAEC,UAAe,IAAI;QACtD,MAAMC,KAAK,GAAG,IAAIC,KAAK,EAAE,CAACD,KAAK,EAAEE,KAAK,CAAC,IAAI,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;QAChE,OAAO3D,iBAAM,CAAC4D,QAAQ,CAACN,UAAU,CAAC,GAC9B;UACA,OAAO/C,OAAO,GAAGkC,GAAG,CAACM,GAAG,CAAC;UACzB,OAAOQ,KAAK,GAAGA,KAAK;UACpB,OAAO9D,IAAI,GAAG,GAAG;UACjB,OAAOI,OAAO,GAAGA,CAAA,KAAMyD,UAAU;SAClC,GACC;UACA,OAAO/C,OAAO,GAAGkC,GAAG,CAACM,GAAG,CAAC;UACzB,OAAOQ,KAAK,GAAGA,KAAK;UACpB,OAAO9D,IAAI,GAAG,GAAG;UACjB,OAAOI,OAAO,GAAGyD,UAAU;SAC5B;MACL,CAAC,EAAE;QACDO,OAAO,EAAEpB,GAAG,CAACM,GAAG,CAAC,CAACc,OAAO;QACzBC,UAAU,EAAEC,YAAC,CAACC,aAAa,CAACvB,GAAG,CAACM,GAAG,CAAC,CAACc,OAAO,CAAC;QAC7CI,OAAO,EAAExB,GAAG,CAACM,GAAG,CAAC,CAACkB,OAAO;QACzBC,GAAG;QAAE;QACH;QACA;QACCZ,UAAe,IAAI;UAClB,MAAMC,KAAK,GAAG,IAAIC,KAAK,EAAE,CAACD,KAAK,EAAEE,KAAK,CAAC,IAAI,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;UAChE,OAAO3D,iBAAM,CAAC4D,QAAQ,CAACN,UAAU,CAAC,GAC9B;YACA,OAAO/C,OAAO,GAAGkC,GAAG,CAACM,GAAG,CAAC;YACzB,OAAOQ,KAAK,GAAGA,KAAK;YACpB,OAAO9D,IAAI,GAAG,KAAK;YACnB,OAAOI,OAAO,GAAGA,CAAA,KAAMyD,UAAU;WAClC,GACC;YACA,OAAO/C,OAAO,GAAGkC,GAAG,CAACM,GAAG,CAAC;YACzB,OAAOQ,KAAK,GAAGA,KAAK;YACpB,OAAO9D,IAAI,GAAG,KAAK;YACnB,OAAOI,OAAO,GAAGA,CAACsE,GAAQ,EAAEC,GAAQ,KAAKd,UAAU,CAACa,GAAG,EAAE;cAAE,GAAGC,GAAG;cAAEC,QAAQ,EAAE5B,GAAG,CAACM,GAAG,CAAC,CAACc;YAAO,CAAE,CAAC;WACjG;QACL;OACH,CAAC;MACF,OAAOV,IAAI;IACb,CAAC,EACD,EAAwC,CACzC;IAoBD,MAAMmB,CAAC,GAAGA,CASRC,MAAe,EACfC,IAA6B,KAC3B;MAKF,MAAMlD,CAAC,GAWF,MAAMmD,MAAO,SAAQC,gBAAU,CAACC,GAAG,CAAC,GAAGjC,IAAI,CAACkC,UAAU,QAAQ,CAAC,EAAU,GAAW;MAEzF,MAAMC,KAAK,GAAGvD,CAAC,CAACwD,GAAG,CAAEC,MAAM,IACzB/E,iBAAM,CAACgF,GAAG,CAAC,aAAS;QAClB,MAAMC,WAAW,GAAG,OAAOT,IAAI;QAC/B,MAAMU,GAAG,GAAG,OAAO,IAAAC,0BAAO,EAAC7C,UAAU,CAAC;QAEtC;QACA,MAAM8C,MAAM,GAAG,IAAAxC,kBAAW,EAACD,QAAQ,CAAC,CAACE,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAI;UACvD,MAAMlD,OAAO,GAAGoF,WAAW,CAAClC,GAA+B,CAAC;UAC5D,MAAMoB,GAAG,GAAG1B,GAAG,CAACM,GAAG,CAAC;UAEpB,MAAMsC,MAAM,GAAG,IAAAC,uBAAe,EAACC,MAAM,CAACxC,GAAG,CAAC,EAAEoB,GAAG,CAAC;UAChD,MAAMqB,SAAS,GAAGH,MAAM,CAAC5F,IAAI,KAAK,SAAS;UAE3C,MAAMgG,MAAM,GAAGD,SAAS,GACnBrB,GAAQ,IAAKnE,iBAAM,CAAC0F,KAAK,CAAC7F,OAAO,CAACA,OAAO,CAACsE,GAAG,CAAQ,EAAEjF,6BAA6B,CAAC,GACrFiF,GAAQ,IAAKnE,iBAAM,CAAC2F,aAAa,CAAC9F,OAAO,CAACA,OAAO,CAACsE,GAAG,CAAQ,CAAC;UAEnErB,GAAG,CAACC,GAAG,CAAC,GAAGmC,GAAG,CAACU,MAAM,CACnB/F,OAAO,CAACJ,IAAI,KAAK,KAAK,GAClB,cAAe0E,GAAW;YAC1B,OAAON,OAAO,GAAGE,YAAC,CAACC,aAAa,CAACG,GAAG,CAACN,OAAO,CAAC;YAC7C,KAAKgC,iBAAM,CAACC,kBAAkB,IAAC;cAC7B,OAAO,IAAI,CAACC,WAAW;YACzB;YACA,KAAKF,iBAAM,CAACG,gBAAgB,IAAC;cAC3B,OAAO;gBACL/B,OAAO,EAAEE,GAAG,CAACF,OAAO;gBACpBJ,OAAO,EAAEE,YAAC,CAACC,aAAa,CAACG,GAAG,CAACN,OAAO;eACrC;YACH;WACM,GACNM,GAAG,EACNA,GAAG;UACF;UACAnE,iBAAM,CACHiG,mBAAmB,CAClB,cAAc,EACd7C,MAAM,CAAC8C,OAAO,CAAC/B,GAAG,CAAC,CAACtB,MAAM,CAAC,CAACM,IAAI,EAAE,CAACgD,GAAG,EAAEC,KAAK,CAAoB,KAAI;YACnEjD,IAAI,CAACgD,GAAG,CAAC,GAAGA,GAAG,KAAK,UAAU,GAC1B,YAAY,GACZ,OAAOC,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,SAAS,GACpF,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACC,MAAM,GAAG,GAAG,GAC5CD,KAAK,CAACE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,GAChCF,KAAK,GACP3E,gBAAK,CAACC,OAAO,CAAC0E,KAAK,CAAC,GACpB,SAASA,KAAK,CAACC,MAAM,GAAG,GACxBD,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKG,SAAS,GACrC,GAAGH,KAAK,EAAE,GACV,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,GAClC,UAAUhD,MAAM,CAACoD,IAAI,CAACJ,KAAK,CAAC,CAACC,MAAM,GAAG,GACtC,OAAOD,KAAK;YAChB,OAAOjD,IAAI;UACb,CAAC,EAAE,EAA+C,CAAC,CACpD,CACA9D,IAAI;UACH;UACAW,iBAAM,CAACyG,QAAQ,CAAChB,MAAM,CAACtB,GAAG,CAAC,CAAC,EAC5BnE,iBAAM,CAAC0G,aAAa,CAAE9E,KAAK,IAAK+E,gBAAK,CAACC,SAAS,CAAChF,KAAK,CAAC,GAAG9C,eAAe,CAAC8C,KAAK,CAAC,GAAG5B,iBAAM,CAAC6G,IAAI,CAAC,EAC9F7G,iBAAM,CAAC+B,SAAS,CAAEH,KAAK,IACrB5B,iBAAM,CACH8G,GAAG,CAAC,CACH9H,kBAAkB,CAAC4C,KAAK,EAAE;YACxBmF,MAAM,EAAE,GAAGrE,IAAI,CAACkC,UAAU,IAAIT,GAAG,CAAC1E,IAAI;WACvC,CAAC,EACFuH,QAAG,CAACC,cAAc,CAAC5H,IAAI,CAACW,iBAAM,CAACoB,OAAO,CAAE8F,OAAO,IAAI;YACjD,OAAOC,mBAAW,CACfpI,QAAQ,CAAC,kBAAkB,EAAE6C,KAAK,CAAC,CACnCvC,IAAI,CAACW,iBAAM,CAACoH,YAAY,CAAC;cACxBL,MAAM,EAAE,GAAGrE,IAAI,CAACkC,UAAU,IAAIT,GAAG,CAAC1E,IAAI,EAAE;cACxC0E,GAAG,EAAE,IAAAkD,aAAM,EAAClD,GAAG,CAAC;cAChB+C,OAAO,EAAE,IAAAG,aAAM,EAACH,OAAO;cACvB;cACA;cACA;cACA;cACA;cACA;cACA;cACA;aACD,CAAC,CAAC;UACP,CAAC,CAAC,CAAC,CACJ,CAAC,CACL,EACD3E,OAAO,GAAI1B,CAAC,IAAKA,CAAC,GAAGb,iBAAM,CAACsH,cAAc,CAAC,MAAMtH,iBAAM,CAACuH,GAAG,CAAC,uBAAuB,CAAC,CAAC,EACrFvH,iBAAM,CAACwH,QAAQ,CAAC,UAAU,GAAG9E,IAAI,CAACkC,UAAU,GAAG,GAAG,GAAGT,GAAG,CAAC1E,IAAI,EAAE;YAC7DgI,iBAAiB,EAAEA,CAAA,KAAM5H,OAAO,CAAC0D;WAClC,CAAC,CACH,EACLb,IAAI,CAACkC,UAAU,CAChB,EAAC;UACF,OAAO9B,GAAG;QACZ,CAAC,EAAE,EAAS,CAKX;QAED,MAAM4E,SAAS,GAAG5H,cAAS,CAAC0E,IAAI,CAAC,GAAGpB,MAAM,CAACuE,MAAM,CAACvC,MAAM,CAAQ,CAG/D;QACD,MAAMwC,OAAO,GAAGlI,SAAS,CAACgI,SAAS,EAAE;UACnCG,UAAU,EAAEpF,GAAG,CACZC,IAAI,CACJkC,UAAU,GAAG;SACjB,CAAC;QACF,OAAOG,MAAM,CACV+C,IAAI,CACH,GAAG,EACHF,OAAc,EACd;UAAEG,eAAe,EAAE;QAAI,CAAE,CAC1B;MACL,CAAC,CAAC,CACH;MAED;MACA,MAAMC,MAAM,GAAGnD,KAAK,CAACxF,IAAI,CACvB4I,gBAAK,CAACC,YAAY,CAAC5G,CAAC,CAAC6G,IAAI,CAAC,EAC1B5D,MAAM,IAAI9C,gBAAK,CAAC2G,uBAAuB,CAAC7D,MAAM,CAAC,GAAG0D,gBAAK,CAACI,OAAO,CAAC9D,MAAa,CAAQ,GAAI1D,CAAC,IAAKA,CAAC;MAChG;MACAyB,UAAU,CAACgG,YAAY,GAAGL,gBAAK,CAACI,OAAO,CAAC/F,UAAU,CAACgG,YAAmB,CAAC,GAAIzH,CAAC,IAAKA,CAAC,CASnF;MAED;MAEA,OAAO;QACL+D,UAAU,EAAElC,IAAI,CAACkC,UAAU;QAC3BH,MAAM,EAAEnD,CAAC;QACT0G;OACD;IACH,CAAC;IAED,MAAMpC,MAAM,GA6NN2C,CAAmD,IAAKjE,CAAC,CAACiE,CAAC,CAACD,YAAY,EAAEC,CAAC,CAAC3C,MAAM,CAAS;IAEjG,MAAM4C,KAAK,GAAGpF,MAAM,CAACoD,IAAI,CAAC7D,QAAQ,CAAC,CAAC0D,MAAM;IAC1C,MAAMtB,MAAM,GAAwC;MAClD0D,KAAK,EAAE,EAAE;MACTC,GAAGA,CAAClJ,CAAM;QACR;QAAE,IAAI,CAACiJ,KAAa,CAACjJ,CAAC,CAACe,OAAO,CAACd,IAAI,CAAC,GAAGD,CAAC;QACtC,IAAY,CAACA,CAAC,CAACe,OAAO,CAACd,IAAI,CAAC,GAAGD,CAAC;QAClC,IAAI4D,MAAM,CAACoD,IAAI,CAAC,IAAI,CAACiC,KAAK,CAAC,CAACpC,MAAM,KAAKmC,KAAK,EAAE,OAAO,IAAI,CAACC,KAAY;QACtE,OAAO,IAAW;MACpB;KACD;IAwCD,MAAME,OAAO,GAoCRC,GAAgC,IACnC,IAAAhG,kBAAW,EAACgG,GAAG,CAAC,CAAC/F,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAI;MACnCD,GAAG,CAACC,GAAG,CAAC,GAAG,KAAK,IAAI6F,GAAG,CAAC7F,GAAG,CAAC,GAAGG,KAAK,CAACH,GAAG,CAAC,CAACmB,GAAG,CAAC0E,GAAG,CAAC7F,GAAG,CAAC,CAACmB,GAAG,CAAC,GAAGhB,KAAK,CAACH,GAAG,CAAC,CAAC6F,GAAG,CAAC7F,GAAG,CAAC,CAAC;MAClF,OAAOD,GAAG;IACZ,CAAC,EAAE,EAAS,CAAC;IAEf,OAAOM,MAAM,CAACC,MAAM,CAACuC,MAAM,EAAE1C,KAAK,EAAE;MAAE6B,MAAM;MAAE4D;IAAO,CAAE,CAAC;EAC1D;EAYA,SAASE,QAAQA,CACfC,QAAW,EACXC,YAAkC;IAElC,MAAMC,OAAO,GAAG,IAAAC,oBAAa,EAACH,QAAQ,CAAC;IAEvC,MAAMI,UAAU,GAAG,cAAcxE,gBAAU,CAACC,GAAG,CAAC,YAAY,CAAC,EAI1D,GAAG;IAEN,MAAMrD,CAAC,GAAG4H,UAAU,CACjBpE,GAAG,CAAEC,MAAM,IACV/E,iBAAM,CAACgF,GAAG,CAAC,aAAS;MAClB,KAAK,MAAMmE,KAAK,IAAIH,OAAO,EAAE;QAC3B,OAAOjE,MAAM,CAACqE,KAAK,CAChB,OAAO,GAAGD,KAAK,CAACvE,UAAU,EAC3B,OAAOuE,KAAK,CACT1E,MAAM,CACNM,MAAM,CACN1F,IAAI,CAACW,iBAAM,CAACiB,GAAG,CAACyD,gBAAU,CAACI,GAAG,CAAC,IAAAuE,eAAI,EAACrJ,iBAAM,CAACqI,OAAO,CAACU,YAAY,CAAC,CAAC,CAAC,CAAC,CAAQ,CAC/E;MACH;IACF,CAAC,CAAC,CACH,CACA1J,IAAI,CAAC4I,gBAAK,CAACI,OAAO,CAACW,OAAO,CAAC/H,GAAG,CAAEK,CAAC,IAAKA,CAAC,CAAC0G,MAAM,CAAC,CAACzG,IAAI,EAA+C,CAAC,CAAC;IAExG,OAAO;MACLsD,KAAK,EAAEvD,CAIN;MACDmD,MAAM,EAAEyE;KAMT;EACH;EAEA,OAAO;IACLL,QAAQ;IACRrG,QAAQ,EAINC,GAA+C,IAC5CD,QAAQ,CAACC,GAAG,CAAC,CAACkG,OAAO;IAC1BlE,MAAM,EAAEjC;GACT;AACH,CAAC;AAAAR,OAAA,CAAAK,UAAA,GAAAA,UAAA;AAsBM,MAAMiH,kBAAkB,GAAAtH,OAAA,CAAAsH,kBAAA,GAAGrB,gBAAK,CAACsB,QAAQ,CAC9CtB,gBAAK,CAACuB,eAAe,CACnBC,kBAAO,CAACC,SAAS,CAAC;EAAEC,QAAQ,EAAE,GAAG;EAAEC,UAAU,EAAEC,mBAAQ,CAACC,KAAK,CAAC,CAAC;AAAC,CAAE,CAAC,CACpE,EACD7B,gBAAK,CAAC8B,iBAAiB,CAAC,IAAI,CAAC,EAC7B9B,gBAAK,CAAC+B,kBAAkB,CAAC,IAAI,CAAC,CAC/B;AAEM,MAAMC,yBAAyB,GAAAjI,OAAA,CAAAiI,yBAAA,GAAGjK,iBAAM,CAC5CgF,GAAG,CAAC,aAAS;EACZ,MAAMkF,OAAO,GAAG,OAAOxJ,uBAAiB,CAACA,iBAAiB;EAC1D;EACA,OAAOL,mBAAQ,CAAC8J,MAAM,CACpBnD,QAAG,CAACC,cAAc,EACjBC,OAAO,IAAKkD,iBAAW,CAACC,KAAK,CAACH,OAAO,CAAChD,OAAO,EAAEA,OAAO,CAAC,CACzD;AACH,CAAC,CAAC,CACD7H,IAAI,CAAC4I,gBAAK,CAACqC,aAAa,CAAC","ignoreList":[]}