@voidhash/mimic-effect 0.0.9 → 1.0.0-beta.2

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 (227) hide show
  1. package/.turbo/turbo-build.log +136 -90
  2. package/README.md +385 -0
  3. package/dist/ColdStorage.cjs +60 -0
  4. package/dist/ColdStorage.d.cts +53 -0
  5. package/dist/ColdStorage.d.cts.map +1 -0
  6. package/dist/ColdStorage.d.mts +53 -0
  7. package/dist/ColdStorage.d.mts.map +1 -0
  8. package/dist/ColdStorage.mjs +60 -0
  9. package/dist/ColdStorage.mjs.map +1 -0
  10. package/dist/DocumentManager.cjs +263 -82
  11. package/dist/DocumentManager.d.cts +44 -22
  12. package/dist/DocumentManager.d.cts.map +1 -1
  13. package/dist/DocumentManager.d.mts +44 -22
  14. package/dist/DocumentManager.d.mts.map +1 -1
  15. package/dist/DocumentManager.mjs +259 -67
  16. package/dist/DocumentManager.mjs.map +1 -1
  17. package/dist/Errors.cjs +54 -0
  18. package/dist/Errors.d.cts +96 -0
  19. package/dist/Errors.d.cts.map +1 -0
  20. package/dist/Errors.d.mts +96 -0
  21. package/dist/Errors.d.mts.map +1 -0
  22. package/dist/Errors.mjs +48 -0
  23. package/dist/Errors.mjs.map +1 -0
  24. package/dist/HotStorage.cjs +100 -0
  25. package/dist/HotStorage.d.cts +70 -0
  26. package/dist/HotStorage.d.cts.map +1 -0
  27. package/dist/HotStorage.d.mts +70 -0
  28. package/dist/HotStorage.d.mts.map +1 -0
  29. package/dist/HotStorage.mjs +100 -0
  30. package/dist/HotStorage.mjs.map +1 -0
  31. package/dist/Metrics.cjs +143 -0
  32. package/dist/Metrics.d.cts +31 -0
  33. package/dist/Metrics.d.cts.map +1 -0
  34. package/dist/Metrics.d.mts +31 -0
  35. package/dist/Metrics.d.mts.map +1 -0
  36. package/dist/Metrics.mjs +126 -0
  37. package/dist/Metrics.mjs.map +1 -0
  38. package/dist/MimicAuthService.cjs +61 -45
  39. package/dist/MimicAuthService.d.cts +61 -48
  40. package/dist/MimicAuthService.d.cts.map +1 -1
  41. package/dist/MimicAuthService.d.mts +61 -48
  42. package/dist/MimicAuthService.d.mts.map +1 -1
  43. package/dist/MimicAuthService.mjs +60 -36
  44. package/dist/MimicAuthService.mjs.map +1 -1
  45. package/dist/MimicClusterServerEngine.cjs +521 -0
  46. package/dist/MimicClusterServerEngine.d.cts +17 -0
  47. package/dist/MimicClusterServerEngine.d.cts.map +1 -0
  48. package/dist/MimicClusterServerEngine.d.mts +17 -0
  49. package/dist/MimicClusterServerEngine.d.mts.map +1 -0
  50. package/dist/MimicClusterServerEngine.mjs +523 -0
  51. package/dist/MimicClusterServerEngine.mjs.map +1 -0
  52. package/dist/MimicServer.cjs +205 -96
  53. package/dist/MimicServer.d.cts +9 -110
  54. package/dist/MimicServer.d.cts.map +1 -1
  55. package/dist/MimicServer.d.mts +9 -110
  56. package/dist/MimicServer.d.mts.map +1 -1
  57. package/dist/MimicServer.mjs +206 -90
  58. package/dist/MimicServer.mjs.map +1 -1
  59. package/dist/MimicServerEngine.cjs +97 -0
  60. package/dist/MimicServerEngine.d.cts +78 -0
  61. package/dist/MimicServerEngine.d.cts.map +1 -0
  62. package/dist/MimicServerEngine.d.mts +78 -0
  63. package/dist/MimicServerEngine.d.mts.map +1 -0
  64. package/dist/MimicServerEngine.mjs +97 -0
  65. package/dist/MimicServerEngine.mjs.map +1 -0
  66. package/dist/PresenceManager.cjs +75 -91
  67. package/dist/PresenceManager.d.cts +17 -66
  68. package/dist/PresenceManager.d.cts.map +1 -1
  69. package/dist/PresenceManager.d.mts +17 -66
  70. package/dist/PresenceManager.d.mts.map +1 -1
  71. package/dist/PresenceManager.mjs +74 -78
  72. package/dist/PresenceManager.mjs.map +1 -1
  73. package/dist/Protocol.cjs +146 -0
  74. package/dist/Protocol.d.cts +203 -0
  75. package/dist/Protocol.d.cts.map +1 -0
  76. package/dist/Protocol.d.mts +203 -0
  77. package/dist/Protocol.d.mts.map +1 -0
  78. package/dist/Protocol.mjs +132 -0
  79. package/dist/Protocol.mjs.map +1 -0
  80. package/dist/Types.d.cts +172 -0
  81. package/dist/Types.d.cts.map +1 -0
  82. package/dist/Types.d.mts +172 -0
  83. package/dist/Types.d.mts.map +1 -0
  84. package/dist/_virtual/rolldown_runtime.cjs +1 -25
  85. package/dist/_virtual/rolldown_runtime.mjs +4 -1
  86. package/dist/index.cjs +37 -75
  87. package/dist/index.d.cts +13 -12
  88. package/dist/index.d.mts +13 -12
  89. package/dist/index.mjs +12 -12
  90. package/dist/testing/ColdStorageTestSuite.cjs +508 -0
  91. package/dist/testing/ColdStorageTestSuite.d.cts +36 -0
  92. package/dist/testing/ColdStorageTestSuite.d.cts.map +1 -0
  93. package/dist/testing/ColdStorageTestSuite.d.mts +36 -0
  94. package/dist/testing/ColdStorageTestSuite.d.mts.map +1 -0
  95. package/dist/testing/ColdStorageTestSuite.mjs +508 -0
  96. package/dist/testing/ColdStorageTestSuite.mjs.map +1 -0
  97. package/dist/testing/FailingStorage.cjs +135 -0
  98. package/dist/testing/FailingStorage.d.cts +43 -0
  99. package/dist/testing/FailingStorage.d.cts.map +1 -0
  100. package/dist/testing/FailingStorage.d.mts +43 -0
  101. package/dist/testing/FailingStorage.d.mts.map +1 -0
  102. package/dist/testing/FailingStorage.mjs +136 -0
  103. package/dist/testing/FailingStorage.mjs.map +1 -0
  104. package/dist/testing/HotStorageTestSuite.cjs +585 -0
  105. package/dist/testing/HotStorageTestSuite.d.cts +40 -0
  106. package/dist/testing/HotStorageTestSuite.d.cts.map +1 -0
  107. package/dist/testing/HotStorageTestSuite.d.mts +40 -0
  108. package/dist/testing/HotStorageTestSuite.d.mts.map +1 -0
  109. package/dist/testing/HotStorageTestSuite.mjs +585 -0
  110. package/dist/testing/HotStorageTestSuite.mjs.map +1 -0
  111. package/dist/testing/StorageIntegrationTestSuite.cjs +349 -0
  112. package/dist/testing/StorageIntegrationTestSuite.d.cts +35 -0
  113. package/dist/testing/StorageIntegrationTestSuite.d.cts.map +1 -0
  114. package/dist/testing/StorageIntegrationTestSuite.d.mts +35 -0
  115. package/dist/testing/StorageIntegrationTestSuite.d.mts.map +1 -0
  116. package/dist/testing/StorageIntegrationTestSuite.mjs +349 -0
  117. package/dist/testing/StorageIntegrationTestSuite.mjs.map +1 -0
  118. package/dist/testing/assertions.cjs +114 -0
  119. package/dist/testing/assertions.mjs +109 -0
  120. package/dist/testing/assertions.mjs.map +1 -0
  121. package/dist/testing/index.cjs +14 -0
  122. package/dist/testing/index.d.cts +6 -0
  123. package/dist/testing/index.d.mts +6 -0
  124. package/dist/testing/index.mjs +7 -0
  125. package/dist/testing/types.cjs +15 -0
  126. package/dist/testing/types.d.cts +90 -0
  127. package/dist/testing/types.d.cts.map +1 -0
  128. package/dist/testing/types.d.mts +90 -0
  129. package/dist/testing/types.d.mts.map +1 -0
  130. package/dist/testing/types.mjs +16 -0
  131. package/dist/testing/types.mjs.map +1 -0
  132. package/package.json +18 -3
  133. package/src/ColdStorage.ts +136 -0
  134. package/src/DocumentManager.ts +550 -190
  135. package/src/Errors.ts +114 -0
  136. package/src/HotStorage.ts +239 -0
  137. package/src/Metrics.ts +187 -0
  138. package/src/MimicAuthService.ts +126 -64
  139. package/src/MimicClusterServerEngine.ts +946 -0
  140. package/src/MimicServer.ts +448 -195
  141. package/src/MimicServerEngine.ts +276 -0
  142. package/src/PresenceManager.ts +169 -240
  143. package/src/Protocol.ts +350 -0
  144. package/src/Types.ts +231 -0
  145. package/src/index.ts +57 -23
  146. package/src/testing/ColdStorageTestSuite.ts +589 -0
  147. package/src/testing/FailingStorage.ts +286 -0
  148. package/src/testing/HotStorageTestSuite.ts +762 -0
  149. package/src/testing/StorageIntegrationTestSuite.ts +504 -0
  150. package/src/testing/assertions.ts +181 -0
  151. package/src/testing/index.ts +83 -0
  152. package/src/testing/types.ts +100 -0
  153. package/tests/ColdStorage.test.ts +24 -0
  154. package/tests/DocumentManager.test.ts +158 -287
  155. package/tests/HotStorage.test.ts +24 -0
  156. package/tests/MimicAuthService.test.ts +102 -134
  157. package/tests/MimicClusterServerEngine.test.ts +587 -0
  158. package/tests/MimicServer.test.ts +90 -226
  159. package/tests/MimicServerEngine.test.ts +521 -0
  160. package/tests/PresenceManager.test.ts +22 -63
  161. package/tests/Protocol.test.ts +190 -0
  162. package/tests/StorageIntegration.test.ts +259 -0
  163. package/tsconfig.json +1 -1
  164. package/tsdown.config.ts +1 -1
  165. package/dist/DocumentProtocol.cjs +0 -94
  166. package/dist/DocumentProtocol.d.cts +0 -113
  167. package/dist/DocumentProtocol.d.cts.map +0 -1
  168. package/dist/DocumentProtocol.d.mts +0 -113
  169. package/dist/DocumentProtocol.d.mts.map +0 -1
  170. package/dist/DocumentProtocol.mjs +0 -89
  171. package/dist/DocumentProtocol.mjs.map +0 -1
  172. package/dist/MimicConfig.cjs +0 -60
  173. package/dist/MimicConfig.d.cts +0 -141
  174. package/dist/MimicConfig.d.cts.map +0 -1
  175. package/dist/MimicConfig.d.mts +0 -141
  176. package/dist/MimicConfig.d.mts.map +0 -1
  177. package/dist/MimicConfig.mjs +0 -50
  178. package/dist/MimicConfig.mjs.map +0 -1
  179. package/dist/MimicDataStorage.cjs +0 -83
  180. package/dist/MimicDataStorage.d.cts +0 -113
  181. package/dist/MimicDataStorage.d.cts.map +0 -1
  182. package/dist/MimicDataStorage.d.mts +0 -113
  183. package/dist/MimicDataStorage.d.mts.map +0 -1
  184. package/dist/MimicDataStorage.mjs +0 -74
  185. package/dist/MimicDataStorage.mjs.map +0 -1
  186. package/dist/WebSocketHandler.cjs +0 -365
  187. package/dist/WebSocketHandler.d.cts +0 -34
  188. package/dist/WebSocketHandler.d.cts.map +0 -1
  189. package/dist/WebSocketHandler.d.mts +0 -34
  190. package/dist/WebSocketHandler.d.mts.map +0 -1
  191. package/dist/WebSocketHandler.mjs +0 -355
  192. package/dist/WebSocketHandler.mjs.map +0 -1
  193. package/dist/auth/NoAuth.cjs +0 -43
  194. package/dist/auth/NoAuth.d.cts +0 -22
  195. package/dist/auth/NoAuth.d.cts.map +0 -1
  196. package/dist/auth/NoAuth.d.mts +0 -22
  197. package/dist/auth/NoAuth.d.mts.map +0 -1
  198. package/dist/auth/NoAuth.mjs +0 -36
  199. package/dist/auth/NoAuth.mjs.map +0 -1
  200. package/dist/errors.cjs +0 -74
  201. package/dist/errors.d.cts +0 -89
  202. package/dist/errors.d.cts.map +0 -1
  203. package/dist/errors.d.mts +0 -89
  204. package/dist/errors.d.mts.map +0 -1
  205. package/dist/errors.mjs +0 -67
  206. package/dist/errors.mjs.map +0 -1
  207. package/dist/storage/InMemoryDataStorage.cjs +0 -57
  208. package/dist/storage/InMemoryDataStorage.d.cts +0 -19
  209. package/dist/storage/InMemoryDataStorage.d.cts.map +0 -1
  210. package/dist/storage/InMemoryDataStorage.d.mts +0 -19
  211. package/dist/storage/InMemoryDataStorage.d.mts.map +0 -1
  212. package/dist/storage/InMemoryDataStorage.mjs +0 -48
  213. package/dist/storage/InMemoryDataStorage.mjs.map +0 -1
  214. package/src/DocumentProtocol.ts +0 -112
  215. package/src/MimicConfig.ts +0 -211
  216. package/src/MimicDataStorage.ts +0 -157
  217. package/src/WebSocketHandler.ts +0 -735
  218. package/src/auth/NoAuth.ts +0 -46
  219. package/src/errors.ts +0 -113
  220. package/src/storage/InMemoryDataStorage.ts +0 -66
  221. package/tests/DocumentProtocol.test.ts +0 -113
  222. package/tests/InMemoryDataStorage.test.ts +0 -190
  223. package/tests/MimicConfig.test.ts +0 -290
  224. package/tests/MimicDataStorage.test.ts +0 -190
  225. package/tests/NoAuth.test.ts +0 -94
  226. package/tests/WebSocketHandler.test.ts +0 -321
  227. package/tests/errors.test.ts +0 -77
package/dist/errors.d.cts DELETED
@@ -1,89 +0,0 @@
1
- import * as effect_Types2 from "effect/Types";
2
- import * as effect_Cause2 from "effect/Cause";
3
-
4
- //#region src/errors.d.ts
5
- declare const DocumentTypeNotFoundError_base: new <A extends Record<string, any> = {}>(args: effect_Types2.Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }) => effect_Cause2.YieldableError & {
6
- readonly _tag: "DocumentTypeNotFoundError";
7
- } & Readonly<A>;
8
- /**
9
- * Error when a document type is not found in the schema registry.
10
- */
11
- declare class DocumentTypeNotFoundError extends DocumentTypeNotFoundError_base<{
12
- readonly documentType: string;
13
- }> {
14
- get message(): string;
15
- }
16
- declare const DocumentNotFoundError_base: new <A extends Record<string, any> = {}>(args: effect_Types2.Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }) => effect_Cause2.YieldableError & {
17
- readonly _tag: "DocumentNotFoundError";
18
- } & Readonly<A>;
19
- /**
20
- * Error when a document is not found.
21
- */
22
- declare class DocumentNotFoundError extends DocumentNotFoundError_base<{
23
- readonly documentId: string;
24
- }> {
25
- get message(): string;
26
- }
27
- declare const AuthenticationError_base: new <A extends Record<string, any> = {}>(args: effect_Types2.Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }) => effect_Cause2.YieldableError & {
28
- readonly _tag: "AuthenticationError";
29
- } & Readonly<A>;
30
- /**
31
- * Error when authentication fails.
32
- */
33
- declare class AuthenticationError extends AuthenticationError_base<{
34
- readonly reason: string;
35
- }> {
36
- get message(): string;
37
- }
38
- declare const TransactionRejectedError_base: new <A extends Record<string, any> = {}>(args: effect_Types2.Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }) => effect_Cause2.YieldableError & {
39
- readonly _tag: "TransactionRejectedError";
40
- } & Readonly<A>;
41
- /**
42
- * Error when a transaction is rejected.
43
- */
44
- declare class TransactionRejectedError extends TransactionRejectedError_base<{
45
- readonly transactionId: string;
46
- readonly reason: string;
47
- }> {
48
- get message(): string;
49
- }
50
- declare const MessageParseError_base: new <A extends Record<string, any> = {}>(args: effect_Types2.Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }) => effect_Cause2.YieldableError & {
51
- readonly _tag: "MessageParseError";
52
- } & Readonly<A>;
53
- /**
54
- * Error when parsing a client message fails.
55
- */
56
- declare class MessageParseError extends MessageParseError_base<{
57
- readonly cause: unknown;
58
- }> {
59
- get message(): string;
60
- }
61
- declare const InvalidConnectionError_base: new <A extends Record<string, any> = {}>(args: effect_Types2.Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }) => effect_Cause2.YieldableError & {
62
- readonly _tag: "InvalidConnectionError";
63
- } & Readonly<A>;
64
- /**
65
- * Error when the WebSocket connection is invalid.
66
- */
67
- declare class InvalidConnectionError extends InvalidConnectionError_base<{
68
- readonly reason: string;
69
- }> {
70
- get message(): string;
71
- }
72
- declare const MissingDocumentIdError_base: new <A extends Record<string, any> = {}>(args: effect_Types2.Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }) => effect_Cause2.YieldableError & {
73
- readonly _tag: "MissingDocumentIdError";
74
- } & Readonly<A>;
75
- /**
76
- * Error when the document ID is missing from the URL path.
77
- */
78
- declare class MissingDocumentIdError extends MissingDocumentIdError_base<{
79
- readonly path?: string;
80
- }> {
81
- get message(): string;
82
- }
83
- /**
84
- * Union of all Mimic server errors.
85
- */
86
- type MimicServerError = DocumentTypeNotFoundError | DocumentNotFoundError | AuthenticationError | TransactionRejectedError | MessageParseError | InvalidConnectionError | MissingDocumentIdError;
87
- //#endregion
88
- export { AuthenticationError, DocumentNotFoundError, DocumentTypeNotFoundError, InvalidConnectionError, MessageParseError, MimicServerError, MissingDocumentIdError, TransactionRejectedError };
89
- //# sourceMappingURL=errors.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.cts","names":[],"sources":["../src/errors.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;cAaa,yBAAA,SAAkC;;;;;cAQ9C;;;;;;AARY,cAaA,qBAAA,SAA8B,0BAbI,CAAA;EAQ9C,SAAA,UAAA,EAAA,MAAA;;;;cAaA;;;;;;cAKY,mBAAA,SAA4B;;;EAb5B,IAAA,OAAA,CAAA,CAAA,EAAA,MAAA;AAQZ;cAaA;;;;;;cAKY,wBAAA,SAAiC;;;;;;AAb9C,cAsBC,sBAtBgC,EAAQ,IAAA,CAAA,gBAAA,CAAA,MAAA,EAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,IAAA,sBAAA,EAAA,EAAA,CAAA,CAAA,CAAA,SAAA,IAAA,GAAA,IAAA,GAAA,iBAAA,OAAA,KAAA,SAAA,MAAA,GAAA,KAAA,IAAA,IAAA,EAAA,CAAA,EAAA,EAAA,kCAAA;EAQxC,SAAA,IAAA,EAAA,mBAAA;;;;;cAmBY,iBAAA,SAA0B;;;;;cAMtC;;;AApBD;AASC;;cAgBY,sBAAA,SAA+B;;;;;cAQ3C;;;;;;AAnBY,cAwBA,sBAAA,SAA+B,2BAxBL,CAAA;EAMtC,SAAA,IAAA,CAAA,EAAA,MAAA;;;;;;;KAiCW,gBAAA,GACR,4BACA,wBACA,sBACA,2BACA,oBACA,yBACA"}
package/dist/errors.d.mts DELETED
@@ -1,89 +0,0 @@
1
- import * as effect_Types0 from "effect/Types";
2
- import * as effect_Cause0 from "effect/Cause";
3
-
4
- //#region src/errors.d.ts
5
- declare const DocumentTypeNotFoundError_base: new <A extends Record<string, any> = {}>(args: effect_Types0.Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }) => effect_Cause0.YieldableError & {
6
- readonly _tag: "DocumentTypeNotFoundError";
7
- } & Readonly<A>;
8
- /**
9
- * Error when a document type is not found in the schema registry.
10
- */
11
- declare class DocumentTypeNotFoundError extends DocumentTypeNotFoundError_base<{
12
- readonly documentType: string;
13
- }> {
14
- get message(): string;
15
- }
16
- declare const DocumentNotFoundError_base: new <A extends Record<string, any> = {}>(args: effect_Types0.Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }) => effect_Cause0.YieldableError & {
17
- readonly _tag: "DocumentNotFoundError";
18
- } & Readonly<A>;
19
- /**
20
- * Error when a document is not found.
21
- */
22
- declare class DocumentNotFoundError extends DocumentNotFoundError_base<{
23
- readonly documentId: string;
24
- }> {
25
- get message(): string;
26
- }
27
- declare const AuthenticationError_base: new <A extends Record<string, any> = {}>(args: effect_Types0.Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }) => effect_Cause0.YieldableError & {
28
- readonly _tag: "AuthenticationError";
29
- } & Readonly<A>;
30
- /**
31
- * Error when authentication fails.
32
- */
33
- declare class AuthenticationError extends AuthenticationError_base<{
34
- readonly reason: string;
35
- }> {
36
- get message(): string;
37
- }
38
- declare const TransactionRejectedError_base: new <A extends Record<string, any> = {}>(args: effect_Types0.Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }) => effect_Cause0.YieldableError & {
39
- readonly _tag: "TransactionRejectedError";
40
- } & Readonly<A>;
41
- /**
42
- * Error when a transaction is rejected.
43
- */
44
- declare class TransactionRejectedError extends TransactionRejectedError_base<{
45
- readonly transactionId: string;
46
- readonly reason: string;
47
- }> {
48
- get message(): string;
49
- }
50
- declare const MessageParseError_base: new <A extends Record<string, any> = {}>(args: effect_Types0.Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }) => effect_Cause0.YieldableError & {
51
- readonly _tag: "MessageParseError";
52
- } & Readonly<A>;
53
- /**
54
- * Error when parsing a client message fails.
55
- */
56
- declare class MessageParseError extends MessageParseError_base<{
57
- readonly cause: unknown;
58
- }> {
59
- get message(): string;
60
- }
61
- declare const InvalidConnectionError_base: new <A extends Record<string, any> = {}>(args: effect_Types0.Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }) => effect_Cause0.YieldableError & {
62
- readonly _tag: "InvalidConnectionError";
63
- } & Readonly<A>;
64
- /**
65
- * Error when the WebSocket connection is invalid.
66
- */
67
- declare class InvalidConnectionError extends InvalidConnectionError_base<{
68
- readonly reason: string;
69
- }> {
70
- get message(): string;
71
- }
72
- declare const MissingDocumentIdError_base: new <A extends Record<string, any> = {}>(args: effect_Types0.Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }) => effect_Cause0.YieldableError & {
73
- readonly _tag: "MissingDocumentIdError";
74
- } & Readonly<A>;
75
- /**
76
- * Error when the document ID is missing from the URL path.
77
- */
78
- declare class MissingDocumentIdError extends MissingDocumentIdError_base<{
79
- readonly path?: string;
80
- }> {
81
- get message(): string;
82
- }
83
- /**
84
- * Union of all Mimic server errors.
85
- */
86
- type MimicServerError = DocumentTypeNotFoundError | DocumentNotFoundError | AuthenticationError | TransactionRejectedError | MessageParseError | InvalidConnectionError | MissingDocumentIdError;
87
- //#endregion
88
- export { AuthenticationError, DocumentNotFoundError, DocumentTypeNotFoundError, InvalidConnectionError, MessageParseError, MimicServerError, MissingDocumentIdError, TransactionRejectedError };
89
- //# sourceMappingURL=errors.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.mts","names":[],"sources":["../src/errors.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;cAaa,yBAAA,SAAkC;;;;;cAQ9C;;;;;;AARY,cAaA,qBAAA,SAA8B,0BAbI,CAAA;EAQ9C,SAAA,UAAA,EAAA,MAAA;;;;cAaA;;;;;;cAKY,mBAAA,SAA4B;;;EAb5B,IAAA,OAAA,CAAA,CAAA,EAAA,MAAA;AAQZ;cAaA;;;;;;cAKY,wBAAA,SAAiC;;;;;;AAb9C,cAsBC,sBAtBgC,EAAQ,IAAA,CAAA,gBAAA,CAAA,MAAA,EAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,IAAA,sBAAA,EAAA,EAAA,CAAA,CAAA,CAAA,SAAA,IAAA,GAAA,IAAA,GAAA,iBAAA,OAAA,KAAA,SAAA,MAAA,GAAA,KAAA,IAAA,IAAA,EAAA,CAAA,EAAA,EAAA,kCAAA;EAQxC,SAAA,IAAA,EAAA,mBAAA;;;;;cAmBY,iBAAA,SAA0B;;;;;cAMtC;;;AApBD;AASC;;cAgBY,sBAAA,SAA+B;;;;;cAQ3C;;;;;;AAnBY,cAwBA,sBAAA,SAA+B,2BAxBL,CAAA;EAMtC,SAAA,IAAA,CAAA,EAAA,MAAA;;;;;;;KAiCW,gBAAA,GACR,4BACA,wBACA,sBACA,2BACA,oBACA,yBACA"}
package/dist/errors.mjs DELETED
@@ -1,67 +0,0 @@
1
- import * as Data from "effect/Data";
2
-
3
- //#region src/errors.ts
4
- /**
5
- * @since 0.0.1
6
- * Error types for the Mimic server.
7
- */
8
- /**
9
- * Error when a document type is not found in the schema registry.
10
- */
11
- var DocumentTypeNotFoundError = class extends Data.TaggedError("DocumentTypeNotFoundError") {
12
- get message() {
13
- return `Document type not found: ${this.documentType}`;
14
- }
15
- };
16
- /**
17
- * Error when a document is not found.
18
- */
19
- var DocumentNotFoundError = class extends Data.TaggedError("DocumentNotFoundError") {
20
- get message() {
21
- return `Document not found: ${this.documentId}`;
22
- }
23
- };
24
- /**
25
- * Error when authentication fails.
26
- */
27
- var AuthenticationError = class extends Data.TaggedError("AuthenticationError") {
28
- get message() {
29
- return `Authentication failed: ${this.reason}`;
30
- }
31
- };
32
- /**
33
- * Error when a transaction is rejected.
34
- */
35
- var TransactionRejectedError = class extends Data.TaggedError("TransactionRejectedError") {
36
- get message() {
37
- return `Transaction ${this.transactionId} rejected: ${this.reason}`;
38
- }
39
- };
40
- /**
41
- * Error when parsing a client message fails.
42
- */
43
- var MessageParseError = class extends Data.TaggedError("MessageParseError") {
44
- get message() {
45
- return `Failed to parse message: ${String(this.cause)}`;
46
- }
47
- };
48
- /**
49
- * Error when the WebSocket connection is invalid.
50
- */
51
- var InvalidConnectionError = class extends Data.TaggedError("InvalidConnectionError") {
52
- get message() {
53
- return `Invalid connection: ${this.reason}`;
54
- }
55
- };
56
- /**
57
- * Error when the document ID is missing from the URL path.
58
- */
59
- var MissingDocumentIdError = class extends Data.TaggedError("MissingDocumentIdError") {
60
- get message() {
61
- return this.path ? `Document ID is required in the URL path: ${this.path}` : "Document ID is required in the URL path";
62
- }
63
- };
64
-
65
- //#endregion
66
- export { AuthenticationError, DocumentNotFoundError, DocumentTypeNotFoundError, InvalidConnectionError, MessageParseError, MissingDocumentIdError, TransactionRejectedError };
67
- //# sourceMappingURL=errors.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.mjs","names":[],"sources":["../src/errors.ts"],"sourcesContent":["/**\n * @since 0.0.1\n * Error types for the Mimic server.\n */\nimport * as Data from \"effect/Data\";\n\n// =============================================================================\n// Error Types\n// =============================================================================\n\n/**\n * Error when a document type is not found in the schema registry.\n */\nexport class DocumentTypeNotFoundError extends Data.TaggedError(\n \"DocumentTypeNotFoundError\"\n)<{\n readonly documentType: string;\n}> {\n override get message(): string {\n return `Document type not found: ${this.documentType}`;\n }\n}\n\n/**\n * Error when a document is not found.\n */\nexport class DocumentNotFoundError extends Data.TaggedError(\n \"DocumentNotFoundError\"\n)<{\n readonly documentId: string;\n}> {\n override get message(): string {\n return `Document not found: ${this.documentId}`;\n }\n}\n\n/**\n * Error when authentication fails.\n */\nexport class AuthenticationError extends Data.TaggedError(\n \"AuthenticationError\"\n)<{\n readonly reason: string;\n}> {\n override get message(): string {\n return `Authentication failed: ${this.reason}`;\n }\n}\n\n/**\n * Error when a transaction is rejected.\n */\nexport class TransactionRejectedError extends Data.TaggedError(\n \"TransactionRejectedError\"\n)<{\n readonly transactionId: string;\n readonly reason: string;\n}> {\n override get message(): string {\n return `Transaction ${this.transactionId} rejected: ${this.reason}`;\n }\n}\n\n/**\n * Error when parsing a client message fails.\n */\nexport class MessageParseError extends Data.TaggedError(\"MessageParseError\")<{\n readonly cause: unknown;\n}> {\n override get message(): string {\n return `Failed to parse message: ${String(this.cause)}`;\n }\n}\n\n/**\n * Error when the WebSocket connection is invalid.\n */\nexport class InvalidConnectionError extends Data.TaggedError(\n \"InvalidConnectionError\"\n)<{\n readonly reason: string;\n}> {\n override get message(): string {\n return `Invalid connection: ${this.reason}`;\n }\n}\n\n/**\n * Error when the document ID is missing from the URL path.\n */\nexport class MissingDocumentIdError extends Data.TaggedError(\n \"MissingDocumentIdError\"\n)<{\n readonly path?: string;\n}> {\n override get message(): string {\n return this.path \n ? `Document ID is required in the URL path: ${this.path}`\n : \"Document ID is required in the URL path\";\n }\n}\n\n/**\n * Union of all Mimic server errors.\n */\nexport type MimicServerError =\n | DocumentTypeNotFoundError\n | DocumentNotFoundError\n | AuthenticationError\n | TransactionRejectedError\n | MessageParseError\n | InvalidConnectionError\n | MissingDocumentIdError;\n"],"mappings":";;;;;;;;;;AAaA,IAAa,4BAAb,cAA+C,KAAK,YAClD,4BACD,CAEE;CACD,IAAa,UAAkB;AAC7B,SAAO,4BAA4B,KAAK;;;;;;AAO5C,IAAa,wBAAb,cAA2C,KAAK,YAC9C,wBACD,CAEE;CACD,IAAa,UAAkB;AAC7B,SAAO,uBAAuB,KAAK;;;;;;AAOvC,IAAa,sBAAb,cAAyC,KAAK,YAC5C,sBACD,CAEE;CACD,IAAa,UAAkB;AAC7B,SAAO,0BAA0B,KAAK;;;;;;AAO1C,IAAa,2BAAb,cAA8C,KAAK,YACjD,2BACD,CAGE;CACD,IAAa,UAAkB;AAC7B,SAAO,eAAe,KAAK,cAAc,aAAa,KAAK;;;;;;AAO/D,IAAa,oBAAb,cAAuC,KAAK,YAAY,oBAAoB,CAEzE;CACD,IAAa,UAAkB;AAC7B,SAAO,4BAA4B,OAAO,KAAK,MAAM;;;;;;AAOzD,IAAa,yBAAb,cAA4C,KAAK,YAC/C,yBACD,CAEE;CACD,IAAa,UAAkB;AAC7B,SAAO,uBAAuB,KAAK;;;;;;AAOvC,IAAa,yBAAb,cAA4C,KAAK,YAC/C,yBACD,CAEE;CACD,IAAa,UAAkB;AAC7B,SAAO,KAAK,OACR,4CAA4C,KAAK,SACjD"}
@@ -1,57 +0,0 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require_MimicDataStorage = require('../MimicDataStorage.cjs');
3
- let effect_Effect = require("effect/Effect");
4
- effect_Effect = require_rolldown_runtime.__toESM(effect_Effect);
5
- let effect_Layer = require("effect/Layer");
6
- effect_Layer = require_rolldown_runtime.__toESM(effect_Layer);
7
- let effect_Ref = require("effect/Ref");
8
- effect_Ref = require_rolldown_runtime.__toESM(effect_Ref);
9
- let effect_HashMap = require("effect/HashMap");
10
- effect_HashMap = require_rolldown_runtime.__toESM(effect_HashMap);
11
-
12
- //#region src/storage/InMemoryDataStorage.ts
13
- /**
14
- * @since 0.0.1
15
- * In-memory data storage implementation for Mimic documents.
16
- * Provides ephemeral storage - data is lost when the server restarts.
17
- */
18
- var InMemoryDataStorage_exports = /* @__PURE__ */ require_rolldown_runtime.__export({
19
- layer: () => layer,
20
- layerDefault: () => layerDefault
21
- });
22
- /**
23
- * Create an in-memory storage service.
24
- * Uses a HashMap to store documents in memory.
25
- */
26
- const makeInMemoryStorage = effect_Effect.gen(function* () {
27
- const store = yield* effect_Ref.make(effect_HashMap.empty());
28
- return {
29
- load: (documentId) => effect_Effect.gen(function* () {
30
- const current = yield* effect_Ref.get(store);
31
- const result = effect_HashMap.get(current, documentId);
32
- return result._tag === "Some" ? result.value : void 0;
33
- }),
34
- save: (documentId, state) => effect_Ref.update(store, (map) => effect_HashMap.set(map, documentId, state)),
35
- delete: (documentId) => effect_Ref.update(store, (map) => effect_HashMap.remove(map, documentId)),
36
- onLoad: (state) => effect_Effect.succeed(state),
37
- onSave: (state) => effect_Effect.succeed(state)
38
- };
39
- });
40
- /**
41
- * Layer that provides in-memory data storage.
42
- * This is the default storage implementation - ephemeral and non-persistent.
43
- */
44
- const layer = effect_Layer.effect(require_MimicDataStorage.MimicDataStorageTag, makeInMemoryStorage);
45
- /**
46
- * Default layer alias for convenience.
47
- */
48
- const layerDefault = layer;
49
-
50
- //#endregion
51
- Object.defineProperty(exports, 'InMemoryDataStorage_exports', {
52
- enumerable: true,
53
- get: function () {
54
- return InMemoryDataStorage_exports;
55
- }
56
- });
57
- exports.layerDefault = layerDefault;
@@ -1,19 +0,0 @@
1
- import { MimicDataStorageTag } from "../MimicDataStorage.cjs";
2
- import * as Layer from "effect/Layer";
3
-
4
- //#region src/storage/InMemoryDataStorage.d.ts
5
- declare namespace InMemoryDataStorage_d_exports {
6
- export { layer, layerDefault };
7
- }
8
- /**
9
- * Layer that provides in-memory data storage.
10
- * This is the default storage implementation - ephemeral and non-persistent.
11
- */
12
- declare const layer: Layer.Layer<MimicDataStorageTag>;
13
- /**
14
- * Default layer alias for convenience.
15
- */
16
- declare const layerDefault: Layer.Layer<MimicDataStorageTag, never, never>;
17
- //#endregion
18
- export { InMemoryDataStorage_d_exports };
19
- //# sourceMappingURL=InMemoryDataStorage.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InMemoryDataStorage.d.cts","names":[],"sources":["../../src/storage/InMemoryDataStorage.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;cAyDa,OAAO,KAAA,CAAM,MAAM;;;AAAhC;AAQa,cAAA,YAAY,EAAA,KAAA,CAAA,KAAA,CAAA,mBAAA,EAAA,KAAA,EAAA,KAAA,CAAA"}
@@ -1,19 +0,0 @@
1
- import { MimicDataStorageTag } from "../MimicDataStorage.mjs";
2
- import * as Layer from "effect/Layer";
3
-
4
- //#region src/storage/InMemoryDataStorage.d.ts
5
- declare namespace InMemoryDataStorage_d_exports {
6
- export { layer, layerDefault };
7
- }
8
- /**
9
- * Layer that provides in-memory data storage.
10
- * This is the default storage implementation - ephemeral and non-persistent.
11
- */
12
- declare const layer: Layer.Layer<MimicDataStorageTag>;
13
- /**
14
- * Default layer alias for convenience.
15
- */
16
- declare const layerDefault: Layer.Layer<MimicDataStorageTag, never, never>;
17
- //#endregion
18
- export { InMemoryDataStorage_d_exports };
19
- //# sourceMappingURL=InMemoryDataStorage.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InMemoryDataStorage.d.mts","names":[],"sources":["../../src/storage/InMemoryDataStorage.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;cAyDa,OAAO,KAAA,CAAM,MAAM;;;AAAhC;AAQa,cAAA,YAAY,EAAA,KAAA,CAAA,KAAA,CAAA,mBAAA,EAAA,KAAA,EAAA,KAAA,CAAA"}
@@ -1,48 +0,0 @@
1
- import { __export } from "../_virtual/rolldown_runtime.mjs";
2
- import { MimicDataStorageTag } from "../MimicDataStorage.mjs";
3
- import * as Effect from "effect/Effect";
4
- import * as Layer from "effect/Layer";
5
- import * as Ref from "effect/Ref";
6
- import * as HashMap from "effect/HashMap";
7
-
8
- //#region src/storage/InMemoryDataStorage.ts
9
- /**
10
- * @since 0.0.1
11
- * In-memory data storage implementation for Mimic documents.
12
- * Provides ephemeral storage - data is lost when the server restarts.
13
- */
14
- var InMemoryDataStorage_exports = /* @__PURE__ */ __export({
15
- layer: () => layer,
16
- layerDefault: () => layerDefault
17
- });
18
- /**
19
- * Create an in-memory storage service.
20
- * Uses a HashMap to store documents in memory.
21
- */
22
- const makeInMemoryStorage = Effect.gen(function* () {
23
- const store = yield* Ref.make(HashMap.empty());
24
- return {
25
- load: (documentId) => Effect.gen(function* () {
26
- const current = yield* Ref.get(store);
27
- const result = HashMap.get(current, documentId);
28
- return result._tag === "Some" ? result.value : void 0;
29
- }),
30
- save: (documentId, state) => Ref.update(store, (map) => HashMap.set(map, documentId, state)),
31
- delete: (documentId) => Ref.update(store, (map) => HashMap.remove(map, documentId)),
32
- onLoad: (state) => Effect.succeed(state),
33
- onSave: (state) => Effect.succeed(state)
34
- };
35
- });
36
- /**
37
- * Layer that provides in-memory data storage.
38
- * This is the default storage implementation - ephemeral and non-persistent.
39
- */
40
- const layer = Layer.effect(MimicDataStorageTag, makeInMemoryStorage);
41
- /**
42
- * Default layer alias for convenience.
43
- */
44
- const layerDefault = layer;
45
-
46
- //#endregion
47
- export { InMemoryDataStorage_exports, layerDefault };
48
- //# sourceMappingURL=InMemoryDataStorage.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InMemoryDataStorage.mjs","names":["layer: Layer.Layer<MimicDataStorageTag>"],"sources":["../../src/storage/InMemoryDataStorage.ts"],"sourcesContent":["/**\n * @since 0.0.1\n * In-memory data storage implementation for Mimic documents.\n * Provides ephemeral storage - data is lost when the server restarts.\n */\nimport * as Effect from \"effect/Effect\";\nimport * as Layer from \"effect/Layer\";\nimport * as Ref from \"effect/Ref\";\nimport * as HashMap from \"effect/HashMap\";\n\nimport {\n MimicDataStorageTag,\n type MimicDataStorage,\n} from \"../MimicDataStorage.js\";\n\n// =============================================================================\n// In-Memory Storage Implementation\n// =============================================================================\n\n/**\n * Create an in-memory storage service.\n * Uses a HashMap to store documents in memory.\n */\nconst makeInMemoryStorage = Effect.gen(function* () {\n // Create a mutable reference to a HashMap for storing documents\n const store = yield* Ref.make(HashMap.empty<string, unknown>());\n\n const storage: MimicDataStorage = {\n load: (documentId: string) =>\n Effect.gen(function* () {\n const current = yield* Ref.get(store);\n const result = HashMap.get(current, documentId);\n return result._tag === \"Some\" ? result.value : undefined;\n }),\n\n save: (documentId: string, state: unknown) =>\n Ref.update(store, (map) => HashMap.set(map, documentId, state)),\n\n delete: (documentId: string) =>\n Ref.update(store, (map) => HashMap.remove(map, documentId)),\n\n onLoad: (state: unknown) => Effect.succeed(state),\n\n onSave: (state: unknown) => Effect.succeed(state),\n };\n\n return storage;\n});\n\n// =============================================================================\n// Layer\n// =============================================================================\n\n/**\n * Layer that provides in-memory data storage.\n * This is the default storage implementation - ephemeral and non-persistent.\n */\nexport const layer: Layer.Layer<MimicDataStorageTag> = Layer.effect(\n MimicDataStorageTag,\n makeInMemoryStorage\n);\n\n/**\n * Default layer alias for convenience.\n */\nexport const layerDefault = layer;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAuBA,MAAM,sBAAsB,OAAO,IAAI,aAAa;CAElD,MAAM,QAAQ,OAAO,IAAI,KAAK,QAAQ,OAAwB,CAAC;AAqB/D,QAnBkC;EAChC,OAAO,eACL,OAAO,IAAI,aAAa;GACtB,MAAM,UAAU,OAAO,IAAI,IAAI,MAAM;GACrC,MAAM,SAAS,QAAQ,IAAI,SAAS,WAAW;AAC/C,UAAO,OAAO,SAAS,SAAS,OAAO,QAAQ;IAC/C;EAEJ,OAAO,YAAoB,UACzB,IAAI,OAAO,QAAQ,QAAQ,QAAQ,IAAI,KAAK,YAAY,MAAM,CAAC;EAEjE,SAAS,eACP,IAAI,OAAO,QAAQ,QAAQ,QAAQ,OAAO,KAAK,WAAW,CAAC;EAE7D,SAAS,UAAmB,OAAO,QAAQ,MAAM;EAEjD,SAAS,UAAmB,OAAO,QAAQ,MAAM;EAClD;EAGD;;;;;AAUF,MAAaA,QAA0C,MAAM,OAC3D,qBACA,oBACD;;;;AAKD,MAAa,eAAe"}
@@ -1,112 +0,0 @@
1
- /**
2
- * @since 0.0.1
3
- * Protocol and schema definitions for document communication.
4
- */
5
- import * as Schema from "effect/Schema";
6
-
7
- // =============================================================================
8
- // Schema Definitions
9
- // =============================================================================
10
-
11
- /**
12
- * Schema for a transaction operation.
13
- */
14
- export const OperationSchema = Schema.Struct({
15
- kind: Schema.String,
16
- path: Schema.Unknown, // OperationPath is complex, treat as unknown
17
- payload: Schema.Unknown,
18
- });
19
-
20
- /**
21
- * Schema for a transaction.
22
- */
23
- export const TransactionSchema = Schema.Struct({
24
- id: Schema.String,
25
- ops: Schema.Array(OperationSchema),
26
- timestamp: Schema.Number,
27
- });
28
-
29
- export type Transaction = Schema.Schema.Type<typeof TransactionSchema>;
30
-
31
- /**
32
- * Schema for a server message that broadcasts a committed transaction.
33
- */
34
- export const TransactionMessageSchema = Schema.Struct({
35
- type: Schema.Literal("transaction"),
36
- transaction: TransactionSchema,
37
- version: Schema.Number,
38
- });
39
-
40
- export type TransactionMessage = Schema.Schema.Type<typeof TransactionMessageSchema>;
41
-
42
- /**
43
- * Schema for a server message containing a snapshot.
44
- */
45
- export const SnapshotMessageSchema = Schema.Struct({
46
- type: Schema.Literal("snapshot"),
47
- state: Schema.Unknown,
48
- version: Schema.Number,
49
- });
50
-
51
- export type SnapshotMessage = Schema.Schema.Type<typeof SnapshotMessageSchema>;
52
-
53
- /**
54
- * Schema for a server error message.
55
- */
56
- export const ErrorMessageSchema = Schema.Struct({
57
- type: Schema.Literal("error"),
58
- transactionId: Schema.String,
59
- reason: Schema.String,
60
- });
61
-
62
- export type ErrorMessage = Schema.Schema.Type<typeof ErrorMessageSchema>;
63
-
64
- /**
65
- * Schema for a pong message.
66
- */
67
- export const PongMessageSchema = Schema.Struct({
68
- type: Schema.Literal("pong"),
69
- });
70
-
71
- export type PongMessage = Schema.Schema.Type<typeof PongMessageSchema>;
72
-
73
- /**
74
- * Schema for authentication result message.
75
- */
76
- export const AuthResultMessageSchema = Schema.Struct({
77
- type: Schema.Literal("auth_result"),
78
- success: Schema.Boolean,
79
- error: Schema.optional(Schema.String),
80
- });
81
-
82
- export type AuthResultMessage = Schema.Schema.Type<typeof AuthResultMessageSchema>;
83
-
84
- /**
85
- * Union of all server broadcast messages.
86
- */
87
- export const ServerBroadcastSchema = Schema.Union(
88
- TransactionMessageSchema,
89
- ErrorMessageSchema
90
- );
91
-
92
- export type ServerBroadcast = Schema.Schema.Type<typeof ServerBroadcastSchema>;
93
-
94
- // =============================================================================
95
- // Submit Result
96
- // =============================================================================
97
-
98
- /**
99
- * Result of submitting a transaction.
100
- */
101
- export const SubmitResultSchema = Schema.Union(
102
- Schema.Struct({
103
- success: Schema.Literal(true),
104
- version: Schema.Number,
105
- }),
106
- Schema.Struct({
107
- success: Schema.Literal(false),
108
- reason: Schema.String,
109
- })
110
- );
111
-
112
- export type SubmitResult = Schema.Schema.Type<typeof SubmitResultSchema>;