@shivaedev/platform 0.6.0 → 0.7.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 (204) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +371 -112
  3. package/dist/errors/rejectedField.d.ts +7 -0
  4. package/dist/errors/rejectedField.d.ts.map +1 -0
  5. package/dist/errors/{rejected-field.js → rejectedField.js} +4 -2
  6. package/dist/errors/rejectedField.js.map +1 -0
  7. package/dist/errors/taxonomy.d.ts +10 -0
  8. package/dist/errors/taxonomy.d.ts.map +1 -1
  9. package/dist/errors/taxonomy.js +4 -0
  10. package/dist/errors/taxonomy.js.map +1 -1
  11. package/dist/rpc/identity.d.ts.map +1 -1
  12. package/dist/rpc/identity.js.map +1 -1
  13. package/dist/rpc/middleware.d.ts +1 -1
  14. package/dist/rpc/middleware.d.ts.map +1 -1
  15. package/dist/rpc/middleware.js +1 -1
  16. package/dist/rpc/middleware.js.map +1 -1
  17. package/dist/server/appHost.d.ts +61 -0
  18. package/dist/server/appHost.d.ts.map +1 -0
  19. package/dist/server/appHost.js +14 -0
  20. package/dist/server/appHost.js.map +1 -0
  21. package/dist/server/appHostHttp.d.ts +11 -0
  22. package/dist/server/appHostHttp.d.ts.map +1 -0
  23. package/dist/server/appHostHttp.js +51 -0
  24. package/dist/server/appHostHttp.js.map +1 -0
  25. package/dist/{better-auth → server/better-auth}/adapter.d.ts +1 -1
  26. package/dist/server/better-auth/adapter.d.ts.map +1 -0
  27. package/dist/{better-auth → server/better-auth}/adapter.js +26 -14
  28. package/dist/server/better-auth/adapter.js.map +1 -0
  29. package/dist/{better-auth → server/better-auth}/relation.d.ts +15 -15
  30. package/dist/server/better-auth/relation.d.ts.map +1 -0
  31. package/dist/{better-auth → server/better-auth}/relation.js +2 -2
  32. package/dist/server/better-auth/relation.js.map +1 -0
  33. package/dist/server/better-auth/rowAdapter.d.ts +8 -0
  34. package/dist/server/better-auth/rowAdapter.d.ts.map +1 -0
  35. package/dist/server/better-auth/rowAdapter.js +52 -0
  36. package/dist/server/better-auth/rowAdapter.js.map +1 -0
  37. package/dist/{better-auth → server/better-auth}/where.d.ts +1 -1
  38. package/dist/server/better-auth/where.d.ts.map +1 -0
  39. package/dist/{better-auth → server/better-auth}/where.js +22 -18
  40. package/dist/server/better-auth/where.js.map +1 -0
  41. package/dist/server/boundedRpcRequest.d.ts +3 -0
  42. package/dist/server/boundedRpcRequest.d.ts.map +1 -0
  43. package/dist/server/boundedRpcRequest.js +41 -0
  44. package/dist/server/boundedRpcRequest.js.map +1 -0
  45. package/dist/server/databaseLayer.d.ts +6 -0
  46. package/dist/server/databaseLayer.d.ts.map +1 -0
  47. package/dist/server/databaseLayer.js +29 -0
  48. package/dist/server/databaseLayer.js.map +1 -0
  49. package/dist/server/hostOptions.d.ts +28 -0
  50. package/dist/server/hostOptions.d.ts.map +1 -0
  51. package/dist/server/hostOptions.js +2 -0
  52. package/dist/server/hostOptions.js.map +1 -0
  53. package/dist/{node-http/subscription-signal.d.ts → server/node-http/subscriptionSignal.d.ts} +2 -2
  54. package/dist/server/node-http/subscriptionSignal.d.ts.map +1 -0
  55. package/dist/{node-http/subscription-signal.js → server/node-http/subscriptionSignal.js} +20 -13
  56. package/dist/server/node-http/subscriptionSignal.js.map +1 -0
  57. package/dist/server/rpc-server/adapters/betterAuthSessions.d.ts +4 -0
  58. package/dist/server/rpc-server/adapters/betterAuthSessions.d.ts.map +1 -0
  59. package/dist/server/rpc-server/adapters/betterAuthSessions.js +14 -0
  60. package/dist/server/rpc-server/adapters/betterAuthSessions.js.map +1 -0
  61. package/dist/server/rpc-server/boundary.d.ts +9 -0
  62. package/dist/server/rpc-server/boundary.d.ts.map +1 -0
  63. package/dist/server/rpc-server/boundary.js +18 -0
  64. package/dist/server/rpc-server/boundary.js.map +1 -0
  65. package/dist/server/rpc-server/local.d.ts +7 -0
  66. package/dist/server/rpc-server/local.d.ts.map +1 -0
  67. package/dist/server/rpc-server/local.js +70 -0
  68. package/dist/server/rpc-server/local.js.map +1 -0
  69. package/dist/{rpc-server → server/rpc-server}/origin.d.ts +3 -3
  70. package/dist/server/rpc-server/origin.d.ts.map +1 -0
  71. package/dist/server/rpc-server/origin.js +16 -0
  72. package/dist/server/rpc-server/origin.js.map +1 -0
  73. package/dist/server/rpc-server/redact.d.ts +3 -0
  74. package/dist/server/rpc-server/redact.d.ts.map +1 -0
  75. package/dist/{rpc-server → server/rpc-server}/redact.js +9 -7
  76. package/dist/server/rpc-server/redact.js.map +1 -0
  77. package/dist/server/rpc-server/redactCause.d.ts +6 -0
  78. package/dist/server/rpc-server/redactCause.d.ts.map +1 -0
  79. package/dist/server/rpc-server/redactCause.js +36 -0
  80. package/dist/server/rpc-server/redactCause.js.map +1 -0
  81. package/dist/server/rpc-server/sensitive.d.ts +5 -0
  82. package/dist/server/rpc-server/sensitive.d.ts.map +1 -0
  83. package/dist/{rpc-server → server/rpc-server}/sensitive.js +21 -17
  84. package/dist/server/rpc-server/sensitive.js.map +1 -0
  85. package/dist/server/rpc-server/session.d.ts +21 -0
  86. package/dist/server/rpc-server/session.d.ts.map +1 -0
  87. package/dist/server/rpc-server/session.js +37 -0
  88. package/dist/server/rpc-server/session.js.map +1 -0
  89. package/dist/{rpc-server → server/rpc-server}/tracing.d.ts +1 -1
  90. package/dist/server/rpc-server/tracing.d.ts.map +1 -0
  91. package/dist/server/rpc-server/tracing.js +42 -0
  92. package/dist/server/rpc-server/tracing.js.map +1 -0
  93. package/dist/server/rpc-server/transportHeaders.d.ts +4 -0
  94. package/dist/server/rpc-server/transportHeaders.d.ts.map +1 -0
  95. package/dist/server/rpc-server/transportHeaders.js +6 -0
  96. package/dist/server/rpc-server/transportHeaders.js.map +1 -0
  97. package/dist/server/rpc-server/trustedProxy.d.ts +6 -0
  98. package/dist/server/rpc-server/trustedProxy.d.ts.map +1 -0
  99. package/dist/server/rpc-server/trustedProxy.js +35 -0
  100. package/dist/server/rpc-server/trustedProxy.js.map +1 -0
  101. package/dist/server/runtime/makePlatform.d.ts +4 -0
  102. package/dist/server/runtime/makePlatform.d.ts.map +1 -0
  103. package/dist/{runtime/make.js → server/runtime/makePlatform.js} +11 -9
  104. package/dist/server/runtime/makePlatform.js.map +1 -0
  105. package/dist/server/runtime/types.d.ts +19 -0
  106. package/dist/server/runtime/types.d.ts.map +1 -0
  107. package/dist/{runtime → server/runtime}/types.js.map +1 -1
  108. package/dist/server/testing/makePlatformIt.d.ts +8 -0
  109. package/dist/server/testing/makePlatformIt.d.ts.map +1 -0
  110. package/dist/{testing/vitest.js → server/testing/makePlatformIt.js} +7 -3
  111. package/dist/server/testing/makePlatformIt.js.map +1 -0
  112. package/dist/server/testing/types.d.ts +28 -0
  113. package/dist/server/testing/types.d.ts.map +1 -0
  114. package/dist/{testing → server/testing}/types.js.map +1 -1
  115. package/docs/north-star.md +36 -0
  116. package/docs/roadmap.md +30 -0
  117. package/package.json +333 -32
  118. package/src/errors/{rejected-field.ts → rejectedField.ts} +3 -6
  119. package/src/errors/taxonomy.ts +2 -8
  120. package/src/rpc/identity.ts +0 -4
  121. package/src/rpc/middleware.ts +19 -10
  122. package/src/server/appHost.ts +130 -0
  123. package/src/server/appHostHttp.ts +101 -0
  124. package/src/{better-auth → server/better-auth}/adapter.ts +26 -30
  125. package/src/{better-auth → server/better-auth}/relation.ts +17 -19
  126. package/src/{better-auth/row-adapter.ts → server/better-auth/rowAdapter.ts} +19 -21
  127. package/src/{better-auth → server/better-auth}/where.ts +22 -32
  128. package/src/server/boundedRpcRequest.ts +47 -0
  129. package/src/server/databaseLayer.ts +36 -0
  130. package/src/server/hostOptions.ts +25 -0
  131. package/src/{node-http/subscription-signal.ts → server/node-http/subscriptionSignal.ts} +19 -22
  132. package/src/{rpc-server/adapters/better-auth-sessions.ts → server/rpc-server/adapters/betterAuthSessions.ts} +10 -11
  133. package/src/server/rpc-server/boundary.ts +26 -0
  134. package/src/server/rpc-server/local.ts +72 -0
  135. package/src/{rpc-server → server/rpc-server}/origin.ts +11 -14
  136. package/src/{rpc-server → server/rpc-server}/redact.ts +9 -11
  137. package/src/server/rpc-server/redactCause.ts +40 -0
  138. package/src/{rpc-server → server/rpc-server}/sensitive.ts +17 -22
  139. package/src/{rpc-server → server/rpc-server}/session.ts +23 -24
  140. package/src/{rpc-server → server/rpc-server}/tracing.ts +16 -19
  141. package/src/{rpc-server/transport.ts → server/rpc-server/transportHeaders.ts} +4 -4
  142. package/src/server/rpc-server/trustedProxy.ts +36 -0
  143. package/src/{runtime/make.ts → server/runtime/makePlatform.ts} +19 -27
  144. package/src/server/runtime/types.ts +24 -0
  145. package/src/{testing/vitest.ts → server/testing/makePlatformIt.ts} +27 -23
  146. package/src/server/testing/types.ts +38 -0
  147. package/dist/better-auth/adapter.d.ts.map +0 -1
  148. package/dist/better-auth/adapter.js.map +0 -1
  149. package/dist/better-auth/relation.d.ts.map +0 -1
  150. package/dist/better-auth/relation.js.map +0 -1
  151. package/dist/better-auth/row-adapter.d.ts +0 -8
  152. package/dist/better-auth/row-adapter.d.ts.map +0 -1
  153. package/dist/better-auth/row-adapter.js +0 -46
  154. package/dist/better-auth/row-adapter.js.map +0 -1
  155. package/dist/better-auth/where.d.ts.map +0 -1
  156. package/dist/better-auth/where.js.map +0 -1
  157. package/dist/errors/rejected-field.d.ts +0 -7
  158. package/dist/errors/rejected-field.d.ts.map +0 -1
  159. package/dist/errors/rejected-field.js.map +0 -1
  160. package/dist/node-http/subscription-signal.d.ts.map +0 -1
  161. package/dist/node-http/subscription-signal.js.map +0 -1
  162. package/dist/rpc-server/adapters/better-auth-sessions.d.ts +0 -4
  163. package/dist/rpc-server/adapters/better-auth-sessions.d.ts.map +0 -1
  164. package/dist/rpc-server/adapters/better-auth-sessions.js +0 -11
  165. package/dist/rpc-server/adapters/better-auth-sessions.js.map +0 -1
  166. package/dist/rpc-server/origin.d.ts.map +0 -1
  167. package/dist/rpc-server/origin.js +0 -12
  168. package/dist/rpc-server/origin.js.map +0 -1
  169. package/dist/rpc-server/redact-cause.d.ts +0 -6
  170. package/dist/rpc-server/redact-cause.d.ts.map +0 -1
  171. package/dist/rpc-server/redact-cause.js +0 -28
  172. package/dist/rpc-server/redact-cause.js.map +0 -1
  173. package/dist/rpc-server/redact.d.ts +0 -3
  174. package/dist/rpc-server/redact.d.ts.map +0 -1
  175. package/dist/rpc-server/redact.js.map +0 -1
  176. package/dist/rpc-server/sensitive.d.ts +0 -5
  177. package/dist/rpc-server/sensitive.d.ts.map +0 -1
  178. package/dist/rpc-server/sensitive.js.map +0 -1
  179. package/dist/rpc-server/session.d.ts +0 -21
  180. package/dist/rpc-server/session.d.ts.map +0 -1
  181. package/dist/rpc-server/session.js +0 -31
  182. package/dist/rpc-server/session.js.map +0 -1
  183. package/dist/rpc-server/tracing.d.ts.map +0 -1
  184. package/dist/rpc-server/tracing.js +0 -34
  185. package/dist/rpc-server/tracing.js.map +0 -1
  186. package/dist/rpc-server/transport.d.ts +0 -4
  187. package/dist/rpc-server/transport.d.ts.map +0 -1
  188. package/dist/rpc-server/transport.js +0 -4
  189. package/dist/rpc-server/transport.js.map +0 -1
  190. package/dist/runtime/make.d.ts +0 -4
  191. package/dist/runtime/make.d.ts.map +0 -1
  192. package/dist/runtime/make.js.map +0 -1
  193. package/dist/runtime/types.d.ts +0 -19
  194. package/dist/runtime/types.d.ts.map +0 -1
  195. package/dist/testing/types.d.ts +0 -28
  196. package/dist/testing/types.d.ts.map +0 -1
  197. package/dist/testing/vitest.d.ts +0 -8
  198. package/dist/testing/vitest.d.ts.map +0 -1
  199. package/dist/testing/vitest.js.map +0 -1
  200. package/src/rpc-server/redact-cause.ts +0 -41
  201. package/src/runtime/types.ts +0 -24
  202. package/src/testing/types.ts +0 -43
  203. /package/dist/{runtime → server/runtime}/types.js +0 -0
  204. /package/dist/{testing → server/testing}/types.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rejectedField.js","sourceRoot":"","sources":["../../src/errors/rejectedField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKxC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AACtG,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AACpD,MAAM,UAAU,aAAa,CAAC,KAAc;IAC3C,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AAChF,CAAC"}
@@ -41,5 +41,15 @@ declare const AuthUnavailable_base: Schema.Class<AuthUnavailable, Schema.TaggedS
41
41
  }>, import("effect/Cause").YieldableError>;
42
42
  export declare class AuthUnavailable extends AuthUnavailable_base {
43
43
  }
44
+ declare const InternalServerError_base: Schema.Class<InternalServerError, Schema.TaggedStruct<"InternalServerError", {
45
+ message: Schema.String;
46
+ }>, import("effect/Cause").YieldableError>;
47
+ export declare class InternalServerError extends InternalServerError_base {
48
+ }
49
+ declare const ServiceUnavailable_base: Schema.Class<ServiceUnavailable, Schema.TaggedStruct<"ServiceUnavailable", {
50
+ message: Schema.String;
51
+ }>, import("effect/Cause").YieldableError>;
52
+ export declare class ServiceUnavailable extends ServiceUnavailable_base {
53
+ }
44
54
  export {};
45
55
  //# sourceMappingURL=taxonomy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"taxonomy.d.ts","sourceRoot":"","sources":["../../src/errors/taxonomy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;;;;AAKhC,qBAAa,QAAS,SAAQ,aAAqD;CAAG;;;;AAEtF,qBAAa,YAAa,SAAQ,iBAA6D;CAAG;;;;AAElG,qBAAa,SAAU,SAAQ,cAAuD;CAAG;;;;;AAEzF,qBAAa,UAAW,SAAQ,eAAwD;CAAG;;;;;AAE3F,qBAAa,QAAS,SAAQ,aAAoD;CAAG;;;;AAErF,qBAAa,kBAAmB,SAAQ,uBAAyE;CAAG;;;;AAEpH,qBAAa,eAAgB,SAAQ,oBAAmE;CAAG;;;;AAE3G,qBAAa,eAAgB,SAAQ,oBAAmE;CAAG"}
1
+ {"version":3,"file":"taxonomy.d.ts","sourceRoot":"","sources":["../../src/errors/taxonomy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;;;;AAIhC,qBAAa,QAAS,SAAQ,aAAqD;CAAG;;;;AACtF,qBAAa,YAAa,SAAQ,iBAA6D;CAAG;;;;AAClG,qBAAa,SAAU,SAAQ,cAAuD;CAAG;;;;;AACzF,qBAAa,UAAW,SAAQ,eAAwD;CAAG;;;;;AAC3F,qBAAa,QAAS,SAAQ,aAAoD;CAAG;;;;AACrF,qBAAa,kBAAmB,SAAQ,uBAAyE;CAAG;;;;AACpH,qBAAa,eAAgB,SAAQ,oBAAmE;CAAG;;;;AAC3G,qBAAa,eAAgB,SAAQ,oBAAmE;CAAG;;;;AAC3G,qBAAa,mBAAoB,SAAQ,wBAA2E;CAAG;;;;AACvH,qBAAa,kBAAmB,SAAQ,uBAAyE;CAAG"}
@@ -17,4 +17,8 @@ export class TooManyRequests extends Schema.TaggedError()("TooManyRequests", des
17
17
  }
18
18
  export class AuthUnavailable extends Schema.TaggedError()("AuthUnavailable", described) {
19
19
  }
20
+ export class InternalServerError extends Schema.TaggedError()("InternalServerError", described) {
21
+ }
22
+ export class ServiceUnavailable extends Schema.TaggedError()("ServiceUnavailable", described) {
23
+ }
20
24
  //# sourceMappingURL=taxonomy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taxonomy.js","sourceRoot":"","sources":["../../src/errors/taxonomy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AAC7C,MAAM,QAAQ,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AAEtF,MAAM,OAAO,QAAS,SAAQ,MAAM,CAAC,WAAW,EAAY,CAAC,UAAU,EAAE,SAAS,CAAC;CAAG;AAEtF,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC,WAAW,EAAgB,CAAC,cAAc,EAAE,SAAS,CAAC;CAAG;AAElG,MAAM,OAAO,SAAU,SAAQ,MAAM,CAAC,WAAW,EAAa,CAAC,WAAW,EAAE,SAAS,CAAC;CAAG;AAEzF,MAAM,OAAO,UAAW,SAAQ,MAAM,CAAC,WAAW,EAAc,CAAC,YAAY,EAAE,QAAQ,CAAC;CAAG;AAE3F,MAAM,OAAO,QAAS,SAAQ,MAAM,CAAC,WAAW,EAAY,CAAC,UAAU,EAAE,QAAQ,CAAC;CAAG;AAErF,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAAC,oBAAoB,EAAE,SAAS,CAAC;CAAG;AAEpH,MAAM,OAAO,eAAgB,SAAQ,MAAM,CAAC,WAAW,EAAmB,CAAC,iBAAiB,EAAE,SAAS,CAAC;CAAG;AAE3G,MAAM,OAAO,eAAgB,SAAQ,MAAM,CAAC,WAAW,EAAmB,CAAC,iBAAiB,EAAE,SAAS,CAAC;CAAG"}
1
+ {"version":3,"file":"taxonomy.js","sourceRoot":"","sources":["../../src/errors/taxonomy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AAC7C,MAAM,QAAQ,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AACtF,MAAM,OAAO,QAAS,SAAQ,MAAM,CAAC,WAAW,EAAY,CAAC,UAAU,EAAE,SAAS,CAAC;CAAG;AACtF,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC,WAAW,EAAgB,CAAC,cAAc,EAAE,SAAS,CAAC;CAAG;AAClG,MAAM,OAAO,SAAU,SAAQ,MAAM,CAAC,WAAW,EAAa,CAAC,WAAW,EAAE,SAAS,CAAC;CAAG;AACzF,MAAM,OAAO,UAAW,SAAQ,MAAM,CAAC,WAAW,EAAc,CAAC,YAAY,EAAE,QAAQ,CAAC;CAAG;AAC3F,MAAM,OAAO,QAAS,SAAQ,MAAM,CAAC,WAAW,EAAY,CAAC,UAAU,EAAE,QAAQ,CAAC;CAAG;AACrF,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAAC,oBAAoB,EAAE,SAAS,CAAC;CAAG;AACpH,MAAM,OAAO,eAAgB,SAAQ,MAAM,CAAC,WAAW,EAAmB,CAAC,iBAAiB,EAAE,SAAS,CAAC;CAAG;AAC3G,MAAM,OAAO,eAAgB,SAAQ,MAAM,CAAC,WAAW,EAAmB,CAAC,iBAAiB,EAAE,SAAS,CAAC;CAAG;AAC3G,MAAM,OAAO,mBAAoB,SAAQ,MAAM,CAAC,WAAW,EAAuB,CAAC,qBAAqB,EAAE,SAAS,CAAC;CAAG;AACvH,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAAC,oBAAoB,EAAE,SAAS,CAAC;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/rpc/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;;AAE9C,qBAAa,SAAU,SAAQ,cAAyE;CAAG;AAE3G,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACpB;;AAED,qBAAa,QAAS,SAAQ,aAA8E;CAAG;;AAE/G,qBAAa,gBAAiB,SAAQ,qBAA6G;CAAG"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/rpc/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;;AAC9C,qBAAa,SAAU,SAAQ,cAAyE;CAAG;AAC3G,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACpB;;AACD,qBAAa,QAAS,SAAQ,aAA8E;CAAG;;AAC/G,qBAAa,gBAAiB,SAAQ,qBAA6G;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/rpc/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,QAAQ,CAAC;AAE9C,MAAM,OAAO,SAAU,SAAQ,OAAO,CAAC,OAAO,EAAqB,CAAC,mCAAmC,CAAC;CAAG;AAM3G,MAAM,OAAO,QAAS,SAAQ,OAAO,CAAC,OAAO,EAA2B,CAAC,kCAAkC,CAAC;CAAG;AAE/G,MAAM,OAAO,gBAAiB,SAAQ,OAAO,CAAC,OAAO,EAAkD,CAAC,0CAA0C,CAAC;CAAG"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/rpc/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,QAAQ,CAAC;AAC9C,MAAM,OAAO,SAAU,SAAQ,OAAO,CAAC,OAAO,EAAqB,CAAC,mCAAmC,CAAC;CAAG;AAI3G,MAAM,OAAO,QAAS,SAAQ,OAAO,CAAC,OAAO,EAA2B,CAAC,kCAAkC,CAAC;CAAG;AAC/G,MAAM,OAAO,gBAAiB,SAAQ,OAAO,CAAC,OAAO,EAAkD,CAAC,0CAA0C,CAAC;CAAG"}
@@ -1,5 +1,5 @@
1
1
  import { Schema } from "effect";
2
- import { RpcMiddleware } from "effect/unstable/rpc";
2
+ import { RpcMiddleware } from "effect/rpc";
3
3
  import { AuthUnavailable, Forbidden, Unauthorized } from "#errors/taxonomy.ts";
4
4
  import type { Identity, OptionalIdentity, RequestId } from "./identity.ts";
5
5
  declare const RequestTracing_base: RpcMiddleware.ServiceClass<RequestTracing, "@shivaedev/platform/rpc/RequestTracing", RequestId, Schema.Never, never, never, false>;
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/rpc/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;;AAE3E,qBAAa,cAAe,SAAQ,mBAA0G;CAAG;;AAEjJ,qBAAa,aAAc,SAAQ,kBAEjC;CAAG;;AAEL,qBAAa,kBAAmB,SAAQ,uBAGvC;CAAG"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/rpc/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;;AAC3E,qBAAa,cAAe,SAAQ,mBAKS;CAAG;;AAChD,qBAAa,aAAc,SAAQ,kBAOjC;CAAG;;AACL,qBAAa,kBAAmB,SAAQ,uBAKgE;CAAG"}
@@ -1,5 +1,5 @@
1
1
  import { Schema } from "effect";
2
- import { RpcMiddleware } from "effect/unstable/rpc";
2
+ import { RpcMiddleware } from "effect/rpc";
3
3
  import { AuthUnavailable, Forbidden, Unauthorized } from "#errors/taxonomy.ts";
4
4
  export class RequestTracing extends RpcMiddleware.Service()("@shivaedev/platform/rpc/RequestTracing") {
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/rpc/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAG/E,MAAM,OAAO,cAAe,SAAQ,aAAa,CAAC,OAAO,EAA2C,CAAC,wCAAwC,CAAC;CAAG;AAEjJ,MAAM,OAAO,aAAc,SAAQ,aAAa,CAAC,OAAO,EAAyC,CAAC,uCAAuC,EAAE;IAC1I,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;CAC/D,CAAC;CAAG;AAEL,MAAM,OAAO,kBAAmB,SAAQ,aAAa,CAAC,OAAO,EAAsD,CAClH,4CAA4C,EAC5C,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,EAAE,CACrD;CAAG"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/rpc/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE/E,MAAM,OAAO,cAAe,SAAQ,aAAa,CAAC,OAAO,EAKtD,CAAC,wCAAwC,CAAC;CAAG;AAChD,MAAM,OAAO,aAAc,SAAQ,aAAa,CAAC,OAAO,EAKrD,CAAC,uCAAuC,EAAE;IAC5C,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;CAC/D,CAAC;CAAG;AACL,MAAM,OAAO,kBAAmB,SAAQ,aAAa,CAAC,OAAO,EAK1D,CAAC,4CAA4C,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;CAAG"}
@@ -0,0 +1,61 @@
1
+ import { Context, type Duration, type Effect, type Redacted } from "effect";
2
+ import type { Rpc } from "effect/rpc";
3
+ import type { Migrator } from "effect/sql";
4
+ import type { PostgresChangesOptions } from "@shivaedev/effect-sql/postgresChanges.ts";
5
+ import type { SessionPolicy, SessionShape } from "#rpc-server/session.ts";
6
+ import { appHostHttp, migratedHost } from "./appHostHttp.ts";
7
+ import type { HostOptions, HostPolicy } from "./hostOptions.ts";
8
+ declare const AppChanges_base: Context.ServiceClass<AppChanges, "@shivaedev/platform/AppChanges", {
9
+ resync: Effect.Effect<void, never, never>;
10
+ stream: (keys: readonly import("@shivaedev/effect-contract/keys.ts").Key[]) => import("effect/Stream").Stream<{
11
+ readonly _tag: "Changed";
12
+ readonly keys: readonly ({
13
+ readonly _tag: "List";
14
+ readonly collection: string;
15
+ } | {
16
+ readonly _tag: "Item";
17
+ readonly collection: string;
18
+ readonly id: string | number;
19
+ })[];
20
+ } | {
21
+ readonly _tag: "Resync";
22
+ }, never, never>;
23
+ }>;
24
+ export declare class AppChanges extends AppChanges_base {
25
+ }
26
+ export interface AppDatabaseOptions<R = never> {
27
+ readonly config?: {
28
+ readonly databaseUrl?: Redacted.Redacted<string>;
29
+ readonly applicationName?: string;
30
+ readonly maxConnections?: number;
31
+ readonly changes?: Omit<PostgresChangesOptions, "client" | "resync">;
32
+ };
33
+ readonly migrations: {
34
+ readonly loader: Migrator.Loader<R>;
35
+ readonly table?: string;
36
+ readonly lockTimeout?: Duration.Input;
37
+ };
38
+ }
39
+ export declare function appDatabase<R>(options: AppDatabaseOptions<R>): import("effect/Layer").Layer<AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient, import("effect/Config").ConfigError | Migrator.MigrationError | import("effect/sql/SqlError").SqlError, Exclude<Exclude<R, import("effect/Scope").Scope>, import("@effect/sql-pg/PgClient").PgClient | import("effect/sql/SqlClient").SqlClient>>;
40
+ export interface AppHostOptions<TRpcs extends Rpc.Any, THandlers, THandlerError, THandlerRequirements, TServices, TServiceError, TServiceRequirements, TMigrations, TSession extends SessionShape> extends HostOptions<TRpcs, THandlers, THandlerError, THandlerRequirements, TServices, TServiceError, TServiceRequirements> {
41
+ readonly migrations: AppDatabaseOptions<TMigrations>["migrations"];
42
+ readonly policy?: undefined;
43
+ readonly sessions: SessionPolicy<TSession>;
44
+ }
45
+ export type AppLocalHostOptions<TRpcs extends Rpc.Any, THandlers, THandlerError, THandlerRequirements, TServices, TServiceError, TServiceRequirements, TMigrations> = HostOptions<TRpcs, THandlers, THandlerError, THandlerRequirements, TServices, TServiceError, TServiceRequirements> & {
46
+ readonly migrations: AppDatabaseOptions<TMigrations>["migrations"];
47
+ readonly policy: "loopback";
48
+ readonly sessions?: never;
49
+ };
50
+ export type AppHttpHostOptions<TRpcs extends Rpc.Any, THandlers, THandlerError, THandlerRequirements, TServices, TServiceError, TServiceRequirements, TSession extends SessionShape> = HostOptions<TRpcs, THandlers, THandlerError, THandlerRequirements, TServices, TServiceError, TServiceRequirements> & HostPolicy<TSession> & {
51
+ readonly migrations?: undefined;
52
+ };
53
+ export declare function appHost<TRpcs extends Rpc.Any, THandlers, THandlerError, THandlerRequirements, TServices, TServiceError, TServiceRequirements, TMigrations, TSession extends SessionShape>(options: AppHostOptions<TRpcs, THandlers, THandlerError, THandlerRequirements, TServices, TServiceError, TServiceRequirements, TMigrations, TSession> | AppLocalHostOptions<TRpcs, THandlers, THandlerError, THandlerRequirements, TServices, TServiceError, TServiceRequirements, TMigrations>): ReturnType<typeof migratedHost<TRpcs, THandlers, THandlerError, THandlerRequirements, TServices, TServiceError, TServiceRequirements, TMigrations, TSession>>;
54
+ export declare function appHost<TRpcs extends Rpc.Any, THandlers, THandlerError, THandlerRequirements, TServices, TServiceError, TServiceRequirements>(options: HostOptions<TRpcs, THandlers, THandlerError, THandlerRequirements, TServices, TServiceError, TServiceRequirements> & {
55
+ readonly policy: "loopback";
56
+ readonly sessions?: never;
57
+ readonly migrations?: undefined;
58
+ }): ReturnType<typeof appHostHttp<TRpcs, THandlers, THandlerError, THandlerRequirements, TServices, TServiceError, TServiceRequirements, SessionShape>>;
59
+ export declare function appHost<TRpcs extends Rpc.Any, THandlers, THandlerError, THandlerRequirements, TServices, TServiceError, TServiceRequirements, TSession extends SessionShape>(options: AppHttpHostOptions<TRpcs, THandlers, THandlerError, THandlerRequirements, TServices, TServiceError, TServiceRequirements, TSession>): ReturnType<typeof appHostHttp<TRpcs, THandlers, THandlerError, THandlerRequirements, TServices, TServiceError, TServiceRequirements, TSession>>;
60
+ export {};
61
+ //# sourceMappingURL=appHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appHost.d.ts","sourceRoot":"","sources":["../../src/server/appHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC5E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;;;;;;;;;;;;;;;;;AAEhE,qBAAa,UAAW,SAAQ,eAAsG;CAAG;AACzI,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,KAAK;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE;QACjB,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;QAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC;KACrE,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE;QACpB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC;KACtC,CAAC;CACF;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,0aAE5D;AAED,MAAM,WAAW,cAAc,CAC9B,KAAK,SAAS,GAAG,CAAC,GAAG,EACrB,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,QAAQ,SAAS,YAAY,CAC5B,SAAQ,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,CAAC;IAC3H,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;CAC3C;AAED,MAAM,MAAM,mBAAmB,CAC9B,KAAK,SAAS,GAAG,CAAC,GAAG,EACrB,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,WAAW,IACR,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,CAAC,GAAG;IACxH,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC;IACnE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC7B,KAAK,SAAS,GAAG,CAAC,GAAG,EACrB,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,QAAQ,SAAS,YAAY,IAC1B,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,CAAC,GACrH,UAAU,CAAC,QAAQ,CAAC,GAAG;IAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAE5D,wBAAgB,OAAO,CACtB,KAAK,SAAS,GAAG,CAAC,GAAG,EACrB,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,QAAQ,SAAS,YAAY,EAE7B,OAAO,EACJ,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,CAAC,GAC5I,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,CAAC,GACxI,UAAU,CACZ,OAAO,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,CAAC,CACjJ,CAAC;AACF,wBAAgB,OAAO,CAAC,KAAK,SAAS,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAC5I,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,CAAC,GAAG;IAC7H,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;CAChC,GACC,UAAU,CACZ,OAAO,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,YAAY,CAAC,CACvI,CAAC;AACF,wBAAgB,OAAO,CACtB,KAAK,SAAS,GAAG,CAAC,GAAG,EACrB,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,QAAQ,SAAS,YAAY,EAE7B,OAAO,EAAE,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,CAAC,GAC1I,UAAU,CAAC,OAAO,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { Context } from "effect";
2
+ import { appHostHttp, migratedHost } from "./appHostHttp.js";
3
+ import { databaseLayer } from "./databaseLayer.js";
4
+ export class AppChanges extends Context.Service()("@shivaedev/platform/AppChanges") {
5
+ }
6
+ export function appDatabase(options) {
7
+ return databaseLayer(options, AppChanges);
8
+ }
9
+ export function appHost(options) {
10
+ return options.migrations === undefined
11
+ ? appHostHttp(options)
12
+ : migratedHost({ ...options, migrations: options.migrations }, appDatabase({ ...options, migrations: options.migrations }));
13
+ }
14
+ //# sourceMappingURL=appHost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appHost.js","sourceRoot":"","sources":["../../src/server/appHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA6C,MAAM,QAAQ,CAAC;AAM5E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,MAAM,OAAO,UAAW,SAAQ,OAAO,CAAC,OAAO,EAAqD,CAAC,gCAAgC,CAAC;CAAG;AAezI,MAAM,UAAU,WAAW,CAAI,OAA8B;IAC5D,OAAO,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAC3C,CAAC;AAmFD,MAAM,UAAU,OAAO,CAWtB,OAGsI;IAEtI,OAAO,OAAO,CAAC,UAAU,KAAK,SAAS;QACtC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;QACtB,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,WAAW,CAAC,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAC9H,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { NodeServices } from "@effect/platform-node";
2
+ import { Config, Layer } from "effect";
3
+ import { HttpRouter } from "effect/http";
4
+ import { type Rpc, RpcSerialization } from "effect/rpc";
5
+ import { type SessionShape } from "#rpc-server/session.ts";
6
+ import type { AppHostOptions, AppLocalHostOptions } from "./appHost.ts";
7
+ import type { databaseLayer } from "./databaseLayer.ts";
8
+ import type { HostOptions, HostPolicy } from "./hostOptions.ts";
9
+ export declare function appHostHttp<TRpcs extends Rpc.Any, THandlers, THandlerError, THandlerRequirements, TServices, TServiceError, TServiceRequirements, TSession extends SessionShape>(options: HostOptions<TRpcs, THandlers, THandlerError, THandlerRequirements, TServices, TServiceError, TServiceRequirements> & HostPolicy<TSession>): Layer.Layer<TServices | import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices, TServiceError | Config.ConfigError | import("effect/PlatformError").PlatformError | import("effect/http/HttpServerError").ServeError | HttpRouter.Request.Without<THandlerError>, Exclude<Exclude<TServiceRequirements, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<import("effect/FileSystem").FileSystem, TServices>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<import("effect/http/HttpPlatform").HttpPlatform, TServices>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<import("effect/http/HttpServer").HttpServer, TServices>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<import("effect/Path").Path, TServices>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Only<"GlobalRequires", Exclude<THandlerRequirements, RpcSerialization.RpcSerialization>>, HttpRouter.GlobalProvided>, HttpRouter.HttpRouter>, TServices>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Only<"GlobalRequires", Exclude<Exclude<HttpRouter.HttpRouter, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.GlobalProvided>, HttpRouter.HttpRouter>, TServices>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Only<"GlobalRequires", Exclude<Exclude<RpcSerialization.RpcSerialization, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.GlobalProvided>, HttpRouter.HttpRouter>, TServices>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Only<"GlobalRequires", Exclude<Exclude<Exclude<Rpc.ServicesServer<TRpcs>, import("effect/Scope").Scope>, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.GlobalProvided>, HttpRouter.HttpRouter>, TServices>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Only<"GlobalRequires", Exclude<Exclude<Exclude<Rpc.ToHandler<TRpcs>, import("effect/Scope").Scope>, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.GlobalProvided>, HttpRouter.HttpRouter>, TServices>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Only<"Requires", Exclude<THandlerRequirements, RpcSerialization.RpcSerialization>>, HttpRouter.GlobalProvided>, HttpRouter.HttpRouter>, TServices>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Only<"Requires", Exclude<Exclude<HttpRouter.HttpRouter, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.GlobalProvided>, HttpRouter.HttpRouter>, TServices>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Only<"Requires", Exclude<Exclude<RpcSerialization.RpcSerialization, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.GlobalProvided>, HttpRouter.HttpRouter>, TServices>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Only<"Requires", Exclude<Exclude<Exclude<Rpc.ServicesServer<TRpcs>, import("effect/Scope").Scope>, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.GlobalProvided>, HttpRouter.HttpRouter>, TServices>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Only<"Requires", Exclude<Exclude<Exclude<Rpc.ToHandler<TRpcs>, import("effect/Scope").Scope>, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.GlobalProvided>, HttpRouter.HttpRouter>, TServices>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Without<Exclude<THandlerRequirements, RpcSerialization.RpcSerialization>>, HttpRouter.HttpRouter>, TServices>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Without<Exclude<Exclude<HttpRouter.HttpRouter, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.HttpRouter>, TServices>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Without<Exclude<Exclude<RpcSerialization.RpcSerialization, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.HttpRouter>, TServices>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Without<Exclude<Exclude<Exclude<Rpc.ServicesServer<TRpcs>, import("effect/Scope").Scope>, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.HttpRouter>, TServices>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Without<Exclude<Exclude<Exclude<Rpc.ToHandler<TRpcs>, import("effect/Scope").Scope>, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.HttpRouter>, TServices>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices>>;
10
+ export declare function migratedHost<TRpcs extends Rpc.Any, THandlers, THandlerError, THandlerRequirements, TServices, TServiceError, TServiceRequirements, TMigrations, TSession extends SessionShape>(options: AppHostOptions<TRpcs, THandlers, THandlerError, THandlerRequirements, TServices, TServiceError, TServiceRequirements, TMigrations, TSession> | AppLocalHostOptions<TRpcs, THandlers, THandlerError, THandlerRequirements, TServices, TServiceError, TServiceRequirements, TMigrations>, database: ReturnType<typeof databaseLayer<TMigrations>>): Layer.Layer<TServices | import("./appHost.ts").AppChanges | import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient | NodeServices.NodeServices, TServiceError | Config.ConfigError | import("effect/sql/Migrator").MigrationError | import("effect/PlatformError").PlatformError | import("effect/http/HttpServerError").ServeError | import("effect/sql/SqlError").SqlError | HttpRouter.Request.Without<THandlerError>, Exclude<Exclude<Exclude<TServiceRequirements, import("./appHost.ts").AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<import("effect/FileSystem").FileSystem, TServices | import("./appHost.ts").AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<import("effect/http/HttpPlatform").HttpPlatform, TServices | import("./appHost.ts").AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<import("effect/http/HttpServer").HttpServer, TServices | import("./appHost.ts").AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<import("effect/Path").Path, TServices | import("./appHost.ts").AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<TMigrations, import("effect/Scope").Scope>, import("@effect/sql-pg/PgClient").PgClient | import("effect/sql/SqlClient").SqlClient>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Only<"GlobalRequires", Exclude<THandlerRequirements, RpcSerialization.RpcSerialization>>, HttpRouter.GlobalProvided>, HttpRouter.HttpRouter>, TServices | import("./appHost.ts").AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Only<"GlobalRequires", Exclude<Exclude<HttpRouter.HttpRouter, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.GlobalProvided>, HttpRouter.HttpRouter>, TServices | import("./appHost.ts").AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Only<"GlobalRequires", Exclude<Exclude<RpcSerialization.RpcSerialization, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.GlobalProvided>, HttpRouter.HttpRouter>, TServices | import("./appHost.ts").AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Only<"GlobalRequires", Exclude<Exclude<Exclude<Rpc.ServicesServer<TRpcs>, import("effect/Scope").Scope>, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.GlobalProvided>, HttpRouter.HttpRouter>, TServices | import("./appHost.ts").AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Only<"GlobalRequires", Exclude<Exclude<Exclude<Rpc.ToHandler<TRpcs>, import("effect/Scope").Scope>, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.GlobalProvided>, HttpRouter.HttpRouter>, TServices | import("./appHost.ts").AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Only<"Requires", Exclude<THandlerRequirements, RpcSerialization.RpcSerialization>>, HttpRouter.GlobalProvided>, HttpRouter.HttpRouter>, TServices | import("./appHost.ts").AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Only<"Requires", Exclude<Exclude<HttpRouter.HttpRouter, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.GlobalProvided>, HttpRouter.HttpRouter>, TServices | import("./appHost.ts").AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Only<"Requires", Exclude<Exclude<RpcSerialization.RpcSerialization, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.GlobalProvided>, HttpRouter.HttpRouter>, TServices | import("./appHost.ts").AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Only<"Requires", Exclude<Exclude<Exclude<Rpc.ServicesServer<TRpcs>, import("effect/Scope").Scope>, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.GlobalProvided>, HttpRouter.HttpRouter>, TServices | import("./appHost.ts").AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Only<"Requires", Exclude<Exclude<Exclude<Rpc.ToHandler<TRpcs>, import("effect/Scope").Scope>, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.GlobalProvided>, HttpRouter.HttpRouter>, TServices | import("./appHost.ts").AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Without<Exclude<THandlerRequirements, RpcSerialization.RpcSerialization>>, HttpRouter.HttpRouter>, TServices | import("./appHost.ts").AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Without<Exclude<Exclude<HttpRouter.HttpRouter, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.HttpRouter>, TServices | import("./appHost.ts").AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Without<Exclude<Exclude<RpcSerialization.RpcSerialization, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.HttpRouter>, TServices | import("./appHost.ts").AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Without<Exclude<Exclude<Exclude<Rpc.ServicesServer<TRpcs>, import("effect/Scope").Scope>, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.HttpRouter>, TServices | import("./appHost.ts").AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices> | Exclude<Exclude<Exclude<Exclude<HttpRouter.Request.Without<Exclude<Exclude<Exclude<Rpc.ToHandler<TRpcs>, import("effect/Scope").Scope>, THandlers | import("../rpc/middleware.ts").RequestTracing>, RpcSerialization.RpcSerialization>>, HttpRouter.HttpRouter>, TServices | import("./appHost.ts").AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient>, import("effect/http/Etag").Generator | import("effect/http/HttpPlatform").HttpPlatform | import("effect/http/HttpServer").HttpServer | NodeServices.NodeServices>, NodeServices.NodeServices>>;
11
+ //# sourceMappingURL=appHostHttp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appHostHttp.d.ts","sourceRoot":"","sources":["../../src/server/appHostHttp.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAY,MAAM,EAAU,KAAK,EAAkB,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAuB,UAAU,EAAuC,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,KAAK,GAAG,EAAE,gBAAgB,EAAa,MAAM,YAAY,CAAC;AAEnE,OAAO,EAA+C,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGxG,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAChE,wBAAgB,WAAW,CAC1B,KAAK,SAAS,GAAG,CAAC,GAAG,EACrB,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,QAAQ,SAAS,YAAY,EAE7B,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,u3QA0DlJ;AAED,wBAAgB,YAAY,CAC3B,KAAK,SAAS,GAAG,CAAC,GAAG,EACrB,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,QAAQ,SAAS,YAAY,EAE7B,OAAO,EACJ,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,CAAC,GAC5I,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,CAAC,EAC1I,QAAQ,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,WAAW,CAAC,CAAC,26YAGvD"}
@@ -0,0 +1,51 @@
1
+ import { createServer } from "node:http";
2
+ import { NodeHttpServer, NodeServices } from "@effect/platform-node";
3
+ import { ByteSize, Config, Effect, Layer, Option, Schema } from "effect";
4
+ import { HttpIncomingMessage, HttpRouter, HttpServerRequest, HttpStaticServer } from "effect/http";
5
+ import { RpcSerialization, RpcServer } from "effect/rpc";
6
+ import { localRpcGuard } from "#rpc-server/local.ts";
7
+ import { authenticatedLayer, maybeAuthenticatedLayer } from "#rpc-server/session.ts";
8
+ import { requestTracingLayer } from "#rpc-server/tracing.ts";
9
+ import { TrustedProxy } from "#rpc-server/trustedProxy.ts";
10
+ import { boundedRpcRequest } from "./boundedRpcRequest.js";
11
+ export function appHostHttp(options) {
12
+ return Layer.unwrap(Effect.gen(function* () {
13
+ const maxBodySize = options.config?.maxBodySize ?? (yield* Config.Int("MAX_BODY_SIZE").pipe(Config.withDefault(1024 * 1024)));
14
+ const bodySize = yield* Schema.decodeUnknownEffect(Schema.Int.check(Schema.isGreaterThanOrEqualTo(0)))(maxBodySize).pipe(Effect.mapError((cause) => new Config.ConfigError(cause)));
15
+ const trustedProxy = options.policy === "loopback"
16
+ ? undefined
17
+ : (options.config?.trustedProxy ?? Option.getOrUndefined(yield* Config.String("TRUSTED_PROXY").pipe(Config.option)));
18
+ if (trustedProxy !== undefined) {
19
+ yield* Schema.decodeUnknownEffect(TrustedProxy)(trustedProxy).pipe(Effect.mapError((cause) => new Config.ConfigError(cause)));
20
+ }
21
+ const middleware = options.policy === "loopback"
22
+ ? requestTracingLayer()
23
+ : Layer.mergeAll(authenticatedLayer(options.sessions), maybeAuthenticatedLayer(options.sessions), requestTracingLayer());
24
+ const routes = HttpRouter.use((router) => Effect.gen(function* () {
25
+ const wire = yield* RpcSerialization.RpcSerialization;
26
+ const handler = yield* RpcServer.toHttpEffect(options.group);
27
+ const guarded = localRpcGuard(handler, trustedProxy);
28
+ yield* router.add("POST", options.rpcPath ?? "/rpc", (request) => guarded.pipe(Effect.provideService(HttpIncomingMessage.MaxBodySize, ByteSize.bytes(bodySize)), Effect.provideService(HttpServerRequest.HttpServerRequest, boundedRpcRequest(request)), Effect.provideService(RpcSerialization.RpcSerialization, wire)));
29
+ })).pipe(Layer.provide(Layer.merge(options.handlers, middleware)), Layer.provide(RpcSerialization.layerNdjson));
30
+ const assets = options.assets === undefined
31
+ ? Layer.empty
32
+ : HttpStaticServer.layer(typeof options.assets === "string" ? { root: options.assets } : options.assets);
33
+ const application = options.services;
34
+ const server = Layer.unwrap(Effect.gen(function* () {
35
+ const port = options.config?.port ?? (yield* Config.Int("PORT").pipe(Config.withDefault(3000)));
36
+ const host = options.config?.host ?? (yield* Config.String("HOST").pipe(Config.withDefault("127.0.0.1")));
37
+ return NodeHttpServer.layer(createServer, {
38
+ host,
39
+ port,
40
+ ...(options.config?.disablePreemptiveShutdown === undefined
41
+ ? {}
42
+ : { disablePreemptiveShutdown: options.config.disablePreemptiveShutdown }),
43
+ });
44
+ }));
45
+ return HttpRouter.serve(Layer.mergeAll(routes, assets, options.routes ?? Layer.empty), { disableLogger: true }).pipe(Layer.provideMerge(application), Layer.provideMerge(server), Layer.provide(NodeServices.layer));
46
+ }));
47
+ }
48
+ export function migratedHost(options, database) {
49
+ return appHostHttp({ ...options, services: options.services.pipe(Layer.provideMerge(database)) });
50
+ }
51
+ //# sourceMappingURL=appHostHttp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appHostHttp.js","sourceRoot":"","sources":["../../src/server/appHostHttp.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,5 @@ export interface EffectPrismaAdapterOptions {
6
6
  readonly modelName?: (model: string) => string;
7
7
  readonly usePlural?: boolean;
8
8
  }
9
- export declare function effectPrismaAdapter<Database extends AnyDatabase, Services, BuildError>(databaseTag: Database, runtime: PlatformRuntime<Services, BuildError>, adapterOptions?: EffectPrismaAdapterOptions): DBAdapterInstance;
9
+ export declare function effectPrismaAdapter<TDatabase extends AnyDatabase, TServices, TBuildError>(databaseTag: TDatabase, runtime: PlatformRuntime<TServices, TBuildError>, adapterOptions?: EffectPrismaAdapterOptions): DBAdapterInstance;
10
10
  //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/server/better-auth/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC7B;AAuBD,wBAAgB,mBAAmB,CAAC,SAAS,SAAS,WAAW,EAAE,SAAS,EAAE,WAAW,EACxF,WAAW,EAAE,SAAS,EACtB,OAAO,EAAE,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,EAChD,cAAc,CAAC,EAAE,0BAA0B,GACzC,iBAAiB,CAAC"}
@@ -1,28 +1,40 @@
1
1
  import { createAdapterFactory } from "better-auth/adapters";
2
2
  import { Effect } from "effect";
3
3
  import { refineRelation } from "./relation.js";
4
- import { makeRowAdapter } from "./row-adapter.js";
5
- const isFunction = (value, key) => ((typeof value === "object" && value !== null) || typeof value === "function") && typeof Reflect.get(value, key) === "function";
6
- const isDynamicDatabase = (value) => isFunction(value, "transaction");
7
- const isDynamicRelation = (value) => isFunction(value, "where") && isFunction(value, "select");
8
- const modelRelation = (database, model) => {
4
+ import { makeRowAdapter } from "./rowAdapter.js";
5
+ function isFunction(value, key) {
6
+ return ((typeof value === "object" && value !== null) || typeof value === "function") && typeof Reflect.get(value, key) === "function";
7
+ }
8
+ function isDynamicDatabase(value) {
9
+ return isFunction(value, "transaction");
10
+ }
11
+ function isDynamicRelation(value) {
12
+ return isFunction(value, "where") && isFunction(value, "select");
13
+ }
14
+ function modelRelation(database, model) {
9
15
  const relation = Reflect.get(database, model);
10
16
  if (!isDynamicRelation(relation)) {
11
17
  throw new TypeError(`Unknown database model: ${model}`);
12
18
  }
13
19
  return relation;
14
- };
15
- const defaultModelName = (model) => (model.length === 0 ? model : `${model[0]?.toUpperCase()}${model.slice(1)}`);
20
+ }
21
+ function defaultModelName(model) {
22
+ return model.length === 0 ? model : `${model[0]?.toUpperCase()}${model.slice(1)}`;
23
+ }
16
24
  export function effectPrismaAdapter(databaseTag, runtime, adapterOptions = {}) {
17
25
  return (authOptions) => {
18
26
  const mapModelName = adapterOptions.modelName ?? defaultModelName;
19
27
  const databaseEffect = Effect.flatMap(databaseTag, (database) => isDynamicDatabase(database) ? Effect.succeed(database) : Effect.die(new TypeError("The database service has no transaction")));
20
- const run = (operation) => runtime.runPromise(Effect.flatMap(databaseEffect, operation));
28
+ function run(operation) {
29
+ return runtime.runPromise(Effect.flatMap(databaseEffect, operation));
30
+ }
21
31
  const query = (model, refinement, use) => run((database) => use(refineRelation(modelRelation(database, mapModelName(model)), refinement)));
22
- const inTransaction = (callback) => Effect.flatMap(Effect.context(), (services) => Effect.tryPromise({
23
- catch: (error) => error,
24
- try: () => runtime.runWithServices(services, callback),
25
- }));
32
+ function inTransaction(callback) {
33
+ return Effect.flatMap(Effect.context(), (services) => Effect.tryPromise({
34
+ catch: (error) => error,
35
+ try: () => runtime.runWithServices(services, callback),
36
+ }));
37
+ }
26
38
  let factory;
27
39
  factory = createAdapterFactory({
28
40
  adapter: makeRowAdapter(query, adapterOptions.usePlural ?? false),
@@ -33,9 +45,9 @@ export function effectPrismaAdapter(databaseTag, runtime, adapterOptions = {}) {
33
45
  supportsArrays: true,
34
46
  supportsBooleans: true,
35
47
  supportsDates: true,
36
- supportsJSON: true,
48
+ "supportsJSON": true,
37
49
  supportsNumericIds: true,
38
- supportsUUIDs: true,
50
+ "supportsUUIDs": true,
39
51
  transaction: (callback) => run((database) => database.transaction(inTransaction(() => callback(factory(authOptions))))),
40
52
  },
41
53
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/server/better-auth/adapter.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,20 @@
1
1
  import type { Effect, Option } from "effect";
2
2
  import { type CleanedWhere, type DynamicField, type Expression } from "./where.ts";
3
- export interface DynamicRelation<Requirements> extends Effect.Effect<readonly Record<string, unknown>[], unknown, Requirements> {
4
- count: () => Effect.Effect<number, unknown, Requirements>;
5
- create: (data: Record<string, unknown>) => Effect.Effect<Record<string, unknown>, unknown, Requirements>;
6
- delete: () => Effect.Effect<Record<string, unknown> | null, unknown, Requirements>;
7
- deleteAll: () => Effect.Effect<readonly Record<string, unknown>[], unknown, Requirements>;
8
- first: () => Effect.Effect<Option.Option<Record<string, unknown>>, unknown, Requirements>;
9
- orderBy: (ordering: (fields: Record<string, DynamicField>) => unknown) => DynamicRelation<Requirements>;
10
- select: (...fields: readonly string[]) => DynamicRelation<Requirements>;
11
- skip: (count: number) => DynamicRelation<Requirements>;
12
- take: (count: number) => DynamicRelation<Requirements>;
13
- update: (data: Record<string, unknown>) => Effect.Effect<Record<string, unknown> | null, unknown, Requirements>;
14
- updateAll: (data: Record<string, unknown>) => Effect.Effect<readonly Record<string, unknown>[], unknown, Requirements>;
15
- where: (predicate: (fields: Record<string, DynamicField>) => Expression) => DynamicRelation<Requirements>;
3
+ export interface DynamicRelation<TRequirements> extends Effect.Effect<readonly Record<string, unknown>[], unknown, TRequirements> {
4
+ count: () => Effect.Effect<number, unknown, TRequirements>;
5
+ create: (data: Record<string, unknown>) => Effect.Effect<Record<string, unknown>, unknown, TRequirements>;
6
+ delete: () => Effect.Effect<Record<string, unknown> | null, unknown, TRequirements>;
7
+ deleteAll: () => Effect.Effect<readonly Record<string, unknown>[], unknown, TRequirements>;
8
+ first: () => Effect.Effect<Option.Option<Record<string, unknown>>, unknown, TRequirements>;
9
+ orderBy: (ordering: (fields: Record<string, DynamicField>) => unknown) => DynamicRelation<TRequirements>;
10
+ select: (...fields: readonly string[]) => DynamicRelation<TRequirements>;
11
+ skip: (count: number) => DynamicRelation<TRequirements>;
12
+ take: (count: number) => DynamicRelation<TRequirements>;
13
+ update: (data: Record<string, unknown>) => Effect.Effect<Record<string, unknown> | null, unknown, TRequirements>;
14
+ updateAll: (data: Record<string, unknown>) => Effect.Effect<readonly Record<string, unknown>[], unknown, TRequirements>;
15
+ where: (predicate: (fields: Record<string, DynamicField>) => Expression) => DynamicRelation<TRequirements>;
16
16
  }
17
- export declare const refineRelation: <Requirements>(relation: DynamicRelation<Requirements>, options: {
17
+ export declare function refineRelation<TRequirements>(relation: DynamicRelation<TRequirements>, options: {
18
18
  readonly where?: readonly CleanedWhere[] | undefined;
19
19
  readonly select?: readonly string[] | undefined;
20
20
  readonly limit?: number | undefined;
@@ -23,5 +23,5 @@ export declare const refineRelation: <Requirements>(relation: DynamicRelation<Re
23
23
  readonly direction: "asc" | "desc";
24
24
  readonly field: string;
25
25
  } | undefined;
26
- }) => DynamicRelation<Requirements>;
26
+ }): DynamicRelation<TRequirements>;
27
27
  //# sourceMappingURL=relation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../../src/server/better-auth/relation.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { all } from "@prisma-next/sql-orm-client";
2
2
  import { whereExpression } from "./where.js";
3
- export const refineRelation = (relation, options) => {
3
+ export function refineRelation(relation, options) {
4
4
  let refined = relation;
5
5
  if (options.where !== undefined) {
6
6
  refined = refined.where((fields) => {
@@ -27,5 +27,5 @@ export const refineRelation = (relation, options) => {
27
27
  refined = refined.select(...options.select);
28
28
  }
29
29
  return refined;
30
- };
30
+ }
31
31
  //# sourceMappingURL=relation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation.js","sourceRoot":"","sources":["../../../src/server/better-auth/relation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAElD,OAAO,EAAyD,eAAe,EAAE,MAAM,YAAY,CAAC;AAepG,MAAM,UAAU,cAAc,CAC7B,QAAwC,EACxC,OAWC;IAED,IAAI,OAAO,GAAG,QAAQ,CAAC;IACvB,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;YAClC,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAChE,OAAO,UAAU,IAAI,GAAG,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACpC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,SAAS,CAAC,2BAA2B,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO,OAAO,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC1E,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/D,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { AdapterFactoryCustomizeAdapterCreator } from "better-auth/adapters";
2
+ import { Effect } from "effect";
3
+ import type { DynamicRelation, refineRelation } from "./relation.ts";
4
+ type Refinement = Parameters<typeof refineRelation>[1];
5
+ export type RelationQuery = <TValue>(model: string, refinement: Refinement, use: (relation: DynamicRelation<unknown>) => Effect.Effect<TValue, unknown, unknown>) => Promise<TValue>;
6
+ export declare function makeRowAdapter(query: RelationQuery, usePlural: boolean): AdapterFactoryCustomizeAdapterCreator;
7
+ export {};
8
+ //# sourceMappingURL=rowAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rowAdapter.d.ts","sourceRoot":"","sources":["../../../src/server/better-auth/rowAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qCAAqC,EAAiB,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAOrE,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAOvD,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAClC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,KAChF,OAAO,CAAC,MAAM,CAAC,CAAC;AAcrB,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,GAAG,qCAAqC,CA0C9G"}
@@ -0,0 +1,52 @@
1
+ import { Effect, Option } from "effect";
2
+ function rowTyped(adapter) {
3
+ return adapter;
4
+ }
5
+ function rejectJoin(join) {
6
+ if (join !== undefined) {
7
+ throw new TypeError("The Effect Prisma Better Auth adapter does not support experimental native joins");
8
+ }
9
+ }
10
+ function namesId(condition) {
11
+ return condition.connector !== "OR" && condition.field === "id" && condition.operator === "eq";
12
+ }
13
+ export function makeRowAdapter(query, usePlural) {
14
+ return ({ debugLog, getFieldAttributes }) => {
15
+ function isUnique(model, condition) {
16
+ return (condition.connector !== "OR"
17
+ && condition.operator === "eq"
18
+ && condition.mode !== "insensitive"
19
+ && (condition.field === "id" || getFieldAttributes({ field: condition.field, model }).unique === true));
20
+ }
21
+ return rowTyped({
22
+ count: ({ model, where }) => query(model, { where }, (relation) => relation.count()),
23
+ create: ({ data, model, select }) => {
24
+ debugLog("create", { model });
25
+ return query(model, { select }, (relation) => relation.create(data));
26
+ },
27
+ delete: ({ model, where }) => {
28
+ const byId = where.some(namesId);
29
+ return query(model, { where }, (relation) => (byId ? Effect.asVoid(relation.delete()) : Effect.asVoid(relation.deleteAll())));
30
+ },
31
+ deleteMany: ({ model, where }) => query(model, { where }, (relation) => Effect.map(relation.deleteAll(), (rows) => rows.length)),
32
+ findMany: ({ join, limit, model, offset, select, sortBy, where }) => {
33
+ rejectJoin(join);
34
+ return query(model, { limit, offset, select, sortBy, where }, (relation) => relation);
35
+ },
36
+ findOne: ({ join, model, select, where }) => {
37
+ rejectJoin(join);
38
+ return query(model, { select, where }, (relation) => Effect.map(relation.first(), Option.getOrNull));
39
+ },
40
+ options: { usePlural },
41
+ update: ({ model, update, where }) => {
42
+ if (where.length === 0) {
43
+ return Promise.resolve(null);
44
+ }
45
+ const unique = where.some((condition) => isUnique(model, condition));
46
+ return query(model, { where }, (relation) => unique ? relation.update(update) : Effect.map(relation.updateAll(update), (rows) => rows[0] ?? null));
47
+ },
48
+ updateMany: ({ model, update, where }) => query(model, { where }, (relation) => Effect.map(relation.updateAll(update), (rows) => rows.length)),
49
+ });
50
+ };
51
+ }
52
+ //# sourceMappingURL=rowAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rowAdapter.js","sourceRoot":"","sources":["../../../src/server/better-auth/rowAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAsBxC,SAAS,QAAQ,CAAC,OAAgB;IACjC,OAAO,OAAO,CAAC;AAChB,CAAC;AACD,SAAS,UAAU,CAAC,IAAa;IAChC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,SAAS,CAAC,kFAAkF,CAAC,CAAC;IACzG,CAAC;AACF,CAAC;AACD,SAAS,OAAO,CAAC,SAAuB;IACvC,OAAO,SAAS,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,KAAK,KAAK,IAAI,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC;AAChG,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,KAAoB,EAAE,SAAkB;IACtE,OAAO,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,EAAE;QAC3C,SAAS,QAAQ,CAAC,KAAa,EAAE,SAAuB;YACvD,OAAO,CACN,SAAS,CAAC,SAAS,KAAK,IAAI;mBACzB,SAAS,CAAC,QAAQ,KAAK,IAAI;mBAC3B,SAAS,CAAC,IAAI,KAAK,aAAa;mBAChC,CAAC,SAAS,CAAC,KAAK,KAAK,IAAI,IAAI,kBAAkB,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CACtG,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;YACf,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpF,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;gBACnC,QAAQ,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9B,OAAO,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACjC,OAAO,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/H,CAAC;YACD,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChI,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;gBACnE,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjB,OAAO,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;YACvF,CAAC;YACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC3C,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjB,OAAO,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YACtG,CAAC;YACD,OAAO,EAAE,EAAE,SAAS,EAAE;YACtB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;gBACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC9B,CAAC;gBACD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;gBACrE,OAAO,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC3C,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CACpG,CAAC;YACH,CAAC;YACD,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC9I,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC"}
@@ -18,5 +18,5 @@ export interface DynamicField {
18
18
  neq: (value: unknown) => Expression;
19
19
  notIn: (value: readonly unknown[]) => Expression;
20
20
  }
21
- export declare const whereExpression: (fields: Record<string, DynamicField>, where: readonly CleanedWhere[]) => Expression | undefined;
21
+ export declare function whereExpression(fields: Record<string, DynamicField>, where: readonly CleanedWhere[]): Expression | undefined;
22
22
  //# sourceMappingURL=where.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"where.d.ts","sourceRoot":"","sources":["../../../src/server/better-auth/where.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,GAAG,EAAW,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3C,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AACxD,MAAM,WAAW,YAAY;IAC5B,GAAG,EAAE,MAAM,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,OAAO,CAAC;IACpB,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,CAAC;IACnC,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,CAAC;IACnC,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,CAAC;IACpC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC;IACtC,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,KAAK,UAAU,CAAC;IAC9C,SAAS,EAAE,MAAM,UAAU,CAAC;IAC5B,MAAM,EAAE,MAAM,UAAU,CAAC;IACzB,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC;IACpC,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,CAAC;IACnC,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,CAAC;IACpC,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,CAAC;IACpC,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,KAAK,UAAU,CAAC;CACjD;AAkFD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,UAAU,GAAG,SAAS,CAqB5H"}