@tinycloud/sdk-core 2.0.0 → 2.0.2-beta.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 (188) hide show
  1. package/dist/index.cjs +3816 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +3867 -0
  4. package/dist/index.d.ts +3861 -21
  5. package/dist/index.js +3767 -61
  6. package/dist/index.js.map +1 -1
  7. package/package.json +6 -5
  8. package/dist/TinyCloud.d.ts +0 -271
  9. package/dist/TinyCloud.d.ts.map +0 -1
  10. package/dist/TinyCloud.js +0 -458
  11. package/dist/TinyCloud.js.map +0 -1
  12. package/dist/TinyCloud.schema.d.ts +0 -173
  13. package/dist/TinyCloud.schema.d.ts.map +0 -1
  14. package/dist/TinyCloud.schema.js +0 -136
  15. package/dist/TinyCloud.schema.js.map +0 -1
  16. package/dist/TinyCloud.schema.test.d.ts +0 -5
  17. package/dist/TinyCloud.schema.test.d.ts.map +0 -1
  18. package/dist/TinyCloud.schema.test.js +0 -286
  19. package/dist/TinyCloud.schema.test.js.map +0 -1
  20. package/dist/authorization/CapabilityKeyRegistry.d.ts +0 -317
  21. package/dist/authorization/CapabilityKeyRegistry.d.ts.map +0 -1
  22. package/dist/authorization/CapabilityKeyRegistry.js +0 -509
  23. package/dist/authorization/CapabilityKeyRegistry.js.map +0 -1
  24. package/dist/authorization/authorization.schema.d.ts +0 -233
  25. package/dist/authorization/authorization.schema.d.ts.map +0 -1
  26. package/dist/authorization/authorization.schema.js +0 -220
  27. package/dist/authorization/authorization.schema.js.map +0 -1
  28. package/dist/authorization/authorization.schema.test.d.ts +0 -5
  29. package/dist/authorization/authorization.schema.test.d.ts.map +0 -1
  30. package/dist/authorization/authorization.schema.test.js +0 -618
  31. package/dist/authorization/authorization.schema.test.js.map +0 -1
  32. package/dist/authorization/index.d.ts +0 -38
  33. package/dist/authorization/index.d.ts.map +0 -1
  34. package/dist/authorization/index.js +0 -52
  35. package/dist/authorization/index.js.map +0 -1
  36. package/dist/authorization/spaceCreation.d.ts +0 -96
  37. package/dist/authorization/spaceCreation.d.ts.map +0 -1
  38. package/dist/authorization/spaceCreation.js +0 -35
  39. package/dist/authorization/spaceCreation.js.map +0 -1
  40. package/dist/authorization/spaceCreation.schema.d.ts +0 -67
  41. package/dist/authorization/spaceCreation.schema.d.ts.map +0 -1
  42. package/dist/authorization/spaceCreation.schema.js +0 -95
  43. package/dist/authorization/spaceCreation.schema.js.map +0 -1
  44. package/dist/authorization/spaceCreation.schema.test.d.ts +0 -5
  45. package/dist/authorization/spaceCreation.schema.test.d.ts.map +0 -1
  46. package/dist/authorization/spaceCreation.schema.test.js +0 -168
  47. package/dist/authorization/spaceCreation.schema.test.js.map +0 -1
  48. package/dist/authorization/strategies.d.ts +0 -134
  49. package/dist/authorization/strategies.d.ts.map +0 -1
  50. package/dist/authorization/strategies.js +0 -15
  51. package/dist/authorization/strategies.js.map +0 -1
  52. package/dist/authorization/strategies.schema.d.ts +0 -185
  53. package/dist/authorization/strategies.schema.d.ts.map +0 -1
  54. package/dist/authorization/strategies.schema.js +0 -147
  55. package/dist/authorization/strategies.schema.js.map +0 -1
  56. package/dist/authorization/strategies.schema.test.d.ts +0 -5
  57. package/dist/authorization/strategies.schema.test.d.ts.map +0 -1
  58. package/dist/authorization/strategies.schema.test.js +0 -253
  59. package/dist/authorization/strategies.schema.test.js.map +0 -1
  60. package/dist/client-types.d.ts +0 -128
  61. package/dist/client-types.d.ts.map +0 -1
  62. package/dist/client-types.js +0 -40
  63. package/dist/client-types.js.map +0 -1
  64. package/dist/delegations/DelegationManager.d.ts +0 -164
  65. package/dist/delegations/DelegationManager.d.ts.map +0 -1
  66. package/dist/delegations/DelegationManager.js +0 -428
  67. package/dist/delegations/DelegationManager.js.map +0 -1
  68. package/dist/delegations/SharingService.d.ts +0 -341
  69. package/dist/delegations/SharingService.d.ts.map +0 -1
  70. package/dist/delegations/SharingService.js +0 -722
  71. package/dist/delegations/SharingService.js.map +0 -1
  72. package/dist/delegations/SharingService.schema.d.ts +0 -409
  73. package/dist/delegations/SharingService.schema.d.ts.map +0 -1
  74. package/dist/delegations/SharingService.schema.js +0 -222
  75. package/dist/delegations/SharingService.schema.js.map +0 -1
  76. package/dist/delegations/index.d.ts +0 -38
  77. package/dist/delegations/index.d.ts.map +0 -1
  78. package/dist/delegations/index.js +0 -42
  79. package/dist/delegations/index.js.map +0 -1
  80. package/dist/delegations/types.d.ts +0 -13
  81. package/dist/delegations/types.d.ts.map +0 -1
  82. package/dist/delegations/types.js +0 -42
  83. package/dist/delegations/types.js.map +0 -1
  84. package/dist/delegations/types.schema.d.ts +0 -1773
  85. package/dist/delegations/types.schema.d.ts.map +0 -1
  86. package/dist/delegations/types.schema.js +0 -535
  87. package/dist/delegations/types.schema.js.map +0 -1
  88. package/dist/delegations/types.schema.test.d.ts +0 -5
  89. package/dist/delegations/types.schema.test.d.ts.map +0 -1
  90. package/dist/delegations/types.schema.test.js +0 -627
  91. package/dist/delegations/types.schema.test.js.map +0 -1
  92. package/dist/ens.d.ts +0 -17
  93. package/dist/ens.d.ts.map +0 -1
  94. package/dist/ens.js +0 -10
  95. package/dist/ens.js.map +0 -1
  96. package/dist/index.d.ts.map +0 -1
  97. package/dist/json-schema.d.ts +0 -327
  98. package/dist/json-schema.d.ts.map +0 -1
  99. package/dist/json-schema.js +0 -703
  100. package/dist/json-schema.js.map +0 -1
  101. package/dist/json-schema.test.d.ts +0 -7
  102. package/dist/json-schema.test.d.ts.map +0 -1
  103. package/dist/json-schema.test.js +0 -365
  104. package/dist/json-schema.test.js.map +0 -1
  105. package/dist/notifications.d.ts +0 -33
  106. package/dist/notifications.d.ts.map +0 -1
  107. package/dist/notifications.js +0 -15
  108. package/dist/notifications.js.map +0 -1
  109. package/dist/signer.d.ts +0 -28
  110. package/dist/signer.d.ts.map +0 -1
  111. package/dist/signer.js +0 -2
  112. package/dist/signer.js.map +0 -1
  113. package/dist/space.d.ts +0 -57
  114. package/dist/space.d.ts.map +0 -1
  115. package/dist/space.js +0 -87
  116. package/dist/space.js.map +0 -1
  117. package/dist/space.schema.d.ts +0 -65
  118. package/dist/space.schema.d.ts.map +0 -1
  119. package/dist/space.schema.js +0 -65
  120. package/dist/space.schema.js.map +0 -1
  121. package/dist/space.schema.test.d.ts +0 -5
  122. package/dist/space.schema.test.d.ts.map +0 -1
  123. package/dist/space.schema.test.js +0 -148
  124. package/dist/space.schema.test.js.map +0 -1
  125. package/dist/space.test.d.ts +0 -5
  126. package/dist/space.test.d.ts.map +0 -1
  127. package/dist/space.test.js +0 -87
  128. package/dist/space.test.js.map +0 -1
  129. package/dist/spaces/Space.d.ts +0 -175
  130. package/dist/spaces/Space.d.ts.map +0 -1
  131. package/dist/spaces/Space.js +0 -84
  132. package/dist/spaces/Space.js.map +0 -1
  133. package/dist/spaces/SpaceService.d.ts +0 -291
  134. package/dist/spaces/SpaceService.d.ts.map +0 -1
  135. package/dist/spaces/SpaceService.js +0 -740
  136. package/dist/spaces/SpaceService.js.map +0 -1
  137. package/dist/spaces/index.d.ts +0 -11
  138. package/dist/spaces/index.d.ts.map +0 -1
  139. package/dist/spaces/index.js +0 -22
  140. package/dist/spaces/index.js.map +0 -1
  141. package/dist/spaces/spaces.schema.d.ts +0 -421
  142. package/dist/spaces/spaces.schema.d.ts.map +0 -1
  143. package/dist/spaces/spaces.schema.js +0 -342
  144. package/dist/spaces/spaces.schema.js.map +0 -1
  145. package/dist/spaces/spaces.schema.test.d.ts +0 -5
  146. package/dist/spaces/spaces.schema.test.d.ts.map +0 -1
  147. package/dist/spaces/spaces.schema.test.js +0 -471
  148. package/dist/spaces/spaces.schema.test.js.map +0 -1
  149. package/dist/storage.d.ts +0 -47
  150. package/dist/storage.d.ts.map +0 -1
  151. package/dist/storage.js +0 -14
  152. package/dist/storage.js.map +0 -1
  153. package/dist/storage.schema.d.ts +0 -291
  154. package/dist/storage.schema.d.ts.map +0 -1
  155. package/dist/storage.schema.js +0 -189
  156. package/dist/storage.schema.js.map +0 -1
  157. package/dist/storage.schema.test.d.ts +0 -5
  158. package/dist/storage.schema.test.d.ts.map +0 -1
  159. package/dist/storage.schema.test.js +0 -346
  160. package/dist/storage.schema.test.js.map +0 -1
  161. package/dist/userAuthorization.d.ts +0 -117
  162. package/dist/userAuthorization.d.ts.map +0 -1
  163. package/dist/userAuthorization.js +0 -3
  164. package/dist/userAuthorization.js.map +0 -1
  165. package/dist/userAuthorization.schema.d.ts +0 -260
  166. package/dist/userAuthorization.schema.d.ts.map +0 -1
  167. package/dist/userAuthorization.schema.js +0 -169
  168. package/dist/userAuthorization.schema.js.map +0 -1
  169. package/dist/userAuthorization.schema.test.d.ts +0 -5
  170. package/dist/userAuthorization.schema.test.d.ts.map +0 -1
  171. package/dist/userAuthorization.schema.test.js +0 -356
  172. package/dist/userAuthorization.schema.test.js.map +0 -1
  173. package/dist/version.d.ts +0 -32
  174. package/dist/version.d.ts.map +0 -1
  175. package/dist/version.js +0 -59
  176. package/dist/version.js.map +0 -1
  177. package/dist/wasm-validation.d.ts +0 -291
  178. package/dist/wasm-validation.d.ts.map +0 -1
  179. package/dist/wasm-validation.js +0 -221
  180. package/dist/wasm-validation.js.map +0 -1
  181. package/dist/wasm-validation.test.d.ts +0 -5
  182. package/dist/wasm-validation.test.d.ts.map +0 -1
  183. package/dist/wasm-validation.test.js +0 -233
  184. package/dist/wasm-validation.test.js.map +0 -1
  185. package/dist/wasm.d.ts +0 -66
  186. package/dist/wasm.d.ts.map +0 -1
  187. package/dist/wasm.js +0 -10
  188. package/dist/wasm.js.map +0 -1
@@ -1,346 +0,0 @@
1
- /**
2
- * Tests for storage.schema.ts Zod schemas.
3
- */
4
- import { describe, expect, it } from "bun:test";
5
- import { PersistedSessionDataSchema, PersistedTinyCloudSessionSchema, TinyCloudSessionSchema, EnsDataSchema, validatePersistedSessionData, validateTinyCloudSession, validatePersistedTinyCloudSession, } from "./storage.schema";
6
- // =============================================================================
7
- // Test Fixtures
8
- // =============================================================================
9
- const validAddress = "0x1234567890123456789012345678901234567890";
10
- const validTimestamp = "2026-02-01T12:00:00.000Z";
11
- const validPersistedTinyCloudSession = {
12
- delegationHeader: { Authorization: "Bearer token123" },
13
- delegationCid: "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
14
- spaceId: "space123",
15
- verificationMethod: "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK#z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
16
- };
17
- const validPersistedSessionData = {
18
- address: validAddress,
19
- chainId: 1,
20
- sessionKey: '{"kty":"EC","crv":"P-256"}',
21
- siwe: "example.com wants you to sign in...",
22
- signature: "0xabcdef1234567890",
23
- tinycloudSession: validPersistedTinyCloudSession,
24
- expiresAt: validTimestamp,
25
- createdAt: validTimestamp,
26
- version: "1.0.0",
27
- ens: {
28
- domain: "example.eth",
29
- avatarUrl: "https://example.com/avatar.png",
30
- },
31
- };
32
- const validTinyCloudSession = {
33
- address: validAddress,
34
- chainId: 1,
35
- sessionKey: "session-key-id",
36
- spaceId: "space123",
37
- delegationCid: "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
38
- delegationHeader: { Authorization: "Bearer token123" },
39
- verificationMethod: "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK#z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
40
- jwk: { kty: "EC", crv: "P-256" },
41
- siwe: "example.com wants you to sign in...",
42
- signature: "0xabcdef1234567890",
43
- };
44
- // =============================================================================
45
- // EnsDataSchema Tests
46
- // =============================================================================
47
- describe("EnsDataSchema", () => {
48
- it("accepts valid ENS data with all fields", () => {
49
- const result = EnsDataSchema.safeParse({
50
- domain: "example.eth",
51
- avatarUrl: "https://example.com/avatar.png",
52
- });
53
- expect(result.success).toBe(true);
54
- });
55
- it("accepts ENS data with null values", () => {
56
- const result = EnsDataSchema.safeParse({
57
- domain: null,
58
- avatarUrl: null,
59
- });
60
- expect(result.success).toBe(true);
61
- });
62
- it("accepts empty object", () => {
63
- const result = EnsDataSchema.safeParse({});
64
- expect(result.success).toBe(true);
65
- });
66
- it("accepts ENS data with only domain", () => {
67
- const result = EnsDataSchema.safeParse({
68
- domain: "vitalik.eth",
69
- });
70
- expect(result.success).toBe(true);
71
- });
72
- });
73
- // =============================================================================
74
- // PersistedTinyCloudSessionSchema Tests
75
- // =============================================================================
76
- describe("PersistedTinyCloudSessionSchema", () => {
77
- it("accepts valid persisted TinyCloud session", () => {
78
- const result = PersistedTinyCloudSessionSchema.safeParse(validPersistedTinyCloudSession);
79
- expect(result.success).toBe(true);
80
- });
81
- it("rejects missing delegationHeader", () => {
82
- const data = { ...validPersistedTinyCloudSession };
83
- delete data.delegationHeader;
84
- const result = PersistedTinyCloudSessionSchema.safeParse(data);
85
- expect(result.success).toBe(false);
86
- });
87
- it("rejects missing spaceId", () => {
88
- const data = { ...validPersistedTinyCloudSession };
89
- delete data.spaceId;
90
- const result = PersistedTinyCloudSessionSchema.safeParse(data);
91
- expect(result.success).toBe(false);
92
- });
93
- it("rejects invalid delegationHeader structure", () => {
94
- const data = {
95
- ...validPersistedTinyCloudSession,
96
- delegationHeader: { InvalidKey: "value" },
97
- };
98
- const result = PersistedTinyCloudSessionSchema.safeParse(data);
99
- expect(result.success).toBe(false);
100
- });
101
- });
102
- // =============================================================================
103
- // PersistedSessionDataSchema Tests
104
- // =============================================================================
105
- describe("PersistedSessionDataSchema", () => {
106
- it("accepts valid persisted session data", () => {
107
- const result = PersistedSessionDataSchema.safeParse(validPersistedSessionData);
108
- expect(result.success).toBe(true);
109
- if (result.success) {
110
- expect(result.data.address).toBe(validAddress);
111
- expect(result.data.chainId).toBe(1);
112
- }
113
- });
114
- it("accepts session data without optional tinycloudSession", () => {
115
- const data = { ...validPersistedSessionData };
116
- delete data.tinycloudSession;
117
- const result = PersistedSessionDataSchema.safeParse(data);
118
- expect(result.success).toBe(true);
119
- });
120
- it("accepts session data without optional ens", () => {
121
- const data = { ...validPersistedSessionData };
122
- delete data.ens;
123
- const result = PersistedSessionDataSchema.safeParse(data);
124
- expect(result.success).toBe(true);
125
- });
126
- describe("address validation", () => {
127
- it("rejects address without 0x prefix", () => {
128
- const data = {
129
- ...validPersistedSessionData,
130
- address: "1234567890123456789012345678901234567890",
131
- };
132
- const result = PersistedSessionDataSchema.safeParse(data);
133
- expect(result.success).toBe(false);
134
- if (!result.success) {
135
- expect(result.error.issues[0].message).toContain("Invalid Ethereum address");
136
- }
137
- });
138
- it("rejects address with wrong length", () => {
139
- const data = {
140
- ...validPersistedSessionData,
141
- address: "0x123456789",
142
- };
143
- const result = PersistedSessionDataSchema.safeParse(data);
144
- expect(result.success).toBe(false);
145
- });
146
- it("rejects address with invalid characters", () => {
147
- const data = {
148
- ...validPersistedSessionData,
149
- address: "0xGGGG567890123456789012345678901234567890",
150
- };
151
- const result = PersistedSessionDataSchema.safeParse(data);
152
- expect(result.success).toBe(false);
153
- });
154
- it("accepts lowercase address", () => {
155
- const data = {
156
- ...validPersistedSessionData,
157
- address: "0xabcdef7890123456789012345678901234567890",
158
- };
159
- const result = PersistedSessionDataSchema.safeParse(data);
160
- expect(result.success).toBe(true);
161
- });
162
- it("accepts checksummed address", () => {
163
- const data = {
164
- ...validPersistedSessionData,
165
- address: "0xAbCdEf7890123456789012345678901234567890",
166
- };
167
- const result = PersistedSessionDataSchema.safeParse(data);
168
- expect(result.success).toBe(true);
169
- });
170
- });
171
- describe("chainId validation", () => {
172
- it("rejects negative chainId", () => {
173
- const data = {
174
- ...validPersistedSessionData,
175
- chainId: -1,
176
- };
177
- const result = PersistedSessionDataSchema.safeParse(data);
178
- expect(result.success).toBe(false);
179
- });
180
- it("rejects zero chainId", () => {
181
- const data = {
182
- ...validPersistedSessionData,
183
- chainId: 0,
184
- };
185
- const result = PersistedSessionDataSchema.safeParse(data);
186
- expect(result.success).toBe(false);
187
- });
188
- it("rejects floating point chainId", () => {
189
- const data = {
190
- ...validPersistedSessionData,
191
- chainId: 1.5,
192
- };
193
- const result = PersistedSessionDataSchema.safeParse(data);
194
- expect(result.success).toBe(false);
195
- });
196
- it("accepts common chain IDs", () => {
197
- const chainIds = [1, 5, 10, 137, 42161, 8453];
198
- for (const chainId of chainIds) {
199
- const data = { ...validPersistedSessionData, chainId };
200
- const result = PersistedSessionDataSchema.safeParse(data);
201
- expect(result.success).toBe(true);
202
- }
203
- });
204
- });
205
- describe("timestamp validation", () => {
206
- it("rejects invalid expiresAt timestamp", () => {
207
- const data = {
208
- ...validPersistedSessionData,
209
- expiresAt: "not-a-date",
210
- };
211
- const result = PersistedSessionDataSchema.safeParse(data);
212
- expect(result.success).toBe(false);
213
- });
214
- it("rejects invalid createdAt timestamp", () => {
215
- const data = {
216
- ...validPersistedSessionData,
217
- createdAt: "2026/02/01",
218
- };
219
- const result = PersistedSessionDataSchema.safeParse(data);
220
- expect(result.success).toBe(false);
221
- });
222
- it("accepts various ISO 8601 formats", () => {
223
- const timestamps = [
224
- "2026-02-01T00:00:00Z",
225
- "2026-02-01T12:30:45.123Z",
226
- "2026-02-01T12:30:45+00:00",
227
- "2026-02-01T12:30:45-05:00",
228
- ];
229
- for (const timestamp of timestamps) {
230
- const data = {
231
- ...validPersistedSessionData,
232
- expiresAt: timestamp,
233
- createdAt: timestamp,
234
- };
235
- const result = PersistedSessionDataSchema.safeParse(data);
236
- expect(result.success).toBe(true);
237
- }
238
- });
239
- });
240
- it("rejects empty object", () => {
241
- const result = PersistedSessionDataSchema.safeParse({});
242
- expect(result.success).toBe(false);
243
- });
244
- it("rejects null", () => {
245
- const result = PersistedSessionDataSchema.safeParse(null);
246
- expect(result.success).toBe(false);
247
- });
248
- it("rejects undefined", () => {
249
- const result = PersistedSessionDataSchema.safeParse(undefined);
250
- expect(result.success).toBe(false);
251
- });
252
- });
253
- // =============================================================================
254
- // TinyCloudSessionSchema Tests
255
- // =============================================================================
256
- describe("TinyCloudSessionSchema", () => {
257
- it("accepts valid TinyCloud session", () => {
258
- const result = TinyCloudSessionSchema.safeParse(validTinyCloudSession);
259
- expect(result.success).toBe(true);
260
- if (result.success) {
261
- expect(result.data.spaceId).toBe("space123");
262
- }
263
- });
264
- it("rejects missing spaceId", () => {
265
- const data = { ...validTinyCloudSession };
266
- delete data.spaceId;
267
- const result = TinyCloudSessionSchema.safeParse(data);
268
- expect(result.success).toBe(false);
269
- });
270
- it("rejects missing jwk", () => {
271
- const data = { ...validTinyCloudSession };
272
- delete data.jwk;
273
- const result = TinyCloudSessionSchema.safeParse(data);
274
- expect(result.success).toBe(false);
275
- });
276
- it("accepts jwk with various structures", () => {
277
- const jwks = [
278
- { kty: "EC", crv: "P-256" },
279
- { kty: "OKP", crv: "Ed25519", x: "abc" },
280
- { kty: "RSA", n: "...", e: "AQAB" },
281
- ];
282
- for (const jwk of jwks) {
283
- const data = { ...validTinyCloudSession, jwk };
284
- const result = TinyCloudSessionSchema.safeParse(data);
285
- expect(result.success).toBe(true);
286
- }
287
- });
288
- });
289
- // =============================================================================
290
- // Validation Function Tests
291
- // =============================================================================
292
- describe("validatePersistedSessionData", () => {
293
- it("returns ok result for valid data", () => {
294
- const result = validatePersistedSessionData(validPersistedSessionData);
295
- expect(result.ok).toBe(true);
296
- if (result.ok) {
297
- expect(result.data.address).toBe(validAddress);
298
- }
299
- });
300
- it("returns error result for invalid data", () => {
301
- const result = validatePersistedSessionData({});
302
- expect(result.ok).toBe(false);
303
- if (!result.ok) {
304
- expect(result.error.code).toBe("VALIDATION_ERROR");
305
- expect(result.error.service).toBe("session");
306
- expect(result.error.meta?.issues).toBeDefined();
307
- }
308
- });
309
- it("returns error with validation issues for invalid address", () => {
310
- const result = validatePersistedSessionData({
311
- ...validPersistedSessionData,
312
- address: "invalid",
313
- });
314
- expect(result.ok).toBe(false);
315
- if (!result.ok) {
316
- expect(result.error.meta?.issues).toContainEqual(expect.objectContaining({ path: ["address"] }));
317
- }
318
- });
319
- });
320
- describe("validateTinyCloudSession", () => {
321
- it("returns ok result for valid data", () => {
322
- const result = validateTinyCloudSession(validTinyCloudSession);
323
- expect(result.ok).toBe(true);
324
- });
325
- it("returns error result for invalid data", () => {
326
- const result = validateTinyCloudSession({});
327
- expect(result.ok).toBe(false);
328
- if (!result.ok) {
329
- expect(result.error.code).toBe("VALIDATION_ERROR");
330
- }
331
- });
332
- });
333
- describe("validatePersistedTinyCloudSession", () => {
334
- it("returns ok result for valid data", () => {
335
- const result = validatePersistedTinyCloudSession(validPersistedTinyCloudSession);
336
- expect(result.ok).toBe(true);
337
- });
338
- it("returns error result for invalid data", () => {
339
- const result = validatePersistedTinyCloudSession({});
340
- expect(result.ok).toBe(false);
341
- if (!result.ok) {
342
- expect(result.error.code).toBe("VALIDATION_ERROR");
343
- }
344
- });
345
- });
346
- //# sourceMappingURL=storage.schema.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.schema.test.js","sourceRoot":"","sources":["../src/storage.schema.test.ts"],"names":[],"mappings":"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"}
@@ -1,117 +0,0 @@
1
- import { ISigner } from "./signer";
2
- import { ISessionStorage } from "./storage";
3
- import { SignStrategy, ISpaceCreationHandler } from "./authorization";
4
- export { ClientSession, EnsData, SiweConfig, SiweMessage } from "./client-types";
5
- import type { ClientSession, SiweConfig } from "./client-types";
6
- /**
7
- * Interface for an extension to TCW.
8
- * This is the platform-agnostic subset — browser-coupled extensions
9
- * (IConnected, ConfigOverrides, ExtraFields) live in web-sdk/providers.
10
- */
11
- export interface Extension {
12
- /** [recap] Capability namespace. */
13
- namespace?: string;
14
- /** [recap] Default delegated actions in capability namespace. */
15
- defaultActions?(): Promise<string[]>;
16
- /** [recap] Delegated actions by target in capability namespace. */
17
- targetedActions?(): Promise<{
18
- [target: string]: string[];
19
- }>;
20
- /** [recap] Extra metadata to help validate the capability. */
21
- extraFields?(): Promise<Record<string, unknown>>;
22
- /** Hook to run after TCW has signed in. */
23
- afterSignIn?(session: ClientSession): Promise<void>;
24
- }
25
- /**
26
- * Partial SIWE message for overrides.
27
- */
28
- export interface PartialSiweMessage extends Partial<SiweConfig> {
29
- address?: string;
30
- chainId?: number;
31
- uri?: string;
32
- version?: string;
33
- }
34
- /**
35
- * Platform-agnostic user authorization interface.
36
- *
37
- * This interface defines how users authenticate and manage sessions.
38
- * Implementations differ by platform:
39
- * - WebUserAuthorization: Browser with wallet popups
40
- * - NodeUserAuthorization: Node.js with configurable sign strategies
41
- */
42
- export interface IUserAuthorization {
43
- /**
44
- * The current active session, if signed in.
45
- */
46
- session?: ClientSession;
47
- /**
48
- * Add an extension to the authorization flow.
49
- * Extensions can add capabilities and lifecycle hooks.
50
- */
51
- extend(extension: Extension): void;
52
- /**
53
- * Sign in and create a new session.
54
- * This will prompt for wallet signature (browser) or use configured strategy (node).
55
- * @returns The new session
56
- */
57
- signIn(): Promise<ClientSession>;
58
- /**
59
- * Sign out and clear the current session.
60
- */
61
- signOut(): Promise<void>;
62
- /**
63
- * Get the current wallet/signer address.
64
- * @returns Address or undefined if not connected
65
- */
66
- address(): string | undefined;
67
- /**
68
- * Get the current chain ID.
69
- * @returns Chain ID or undefined if not connected
70
- */
71
- chainId(): number | undefined;
72
- /**
73
- * Sign a message with the connected wallet/signer.
74
- * @param message - Message to sign
75
- * @returns Signature hex string
76
- */
77
- signMessage(message: string): Promise<string>;
78
- /**
79
- * Get the current space ID.
80
- * @returns Space ID or undefined if not available
81
- */
82
- getSpaceId?(): string | undefined;
83
- /**
84
- * Ensure the user's space exists on the TinyCloud server.
85
- * Creates the space if it doesn't exist (when autoCreateSpace is true).
86
- * This is called automatically during sign-in but can be invoked manually.
87
- */
88
- ensureSpaceExists?(): Promise<void>;
89
- }
90
- /**
91
- * Configuration for creating a UserAuthorization instance.
92
- */
93
- export interface UserAuthorizationConfig {
94
- /** The signer to use for signing */
95
- signer: ISigner;
96
- /** Session storage implementation */
97
- sessionStorage?: ISessionStorage;
98
- /** Default SIWE configuration */
99
- siweConfig?: SiweConfig;
100
- /** Domain for SIWE messages */
101
- domain?: string;
102
- /** Extensions to apply */
103
- extensions?: Extension[];
104
- /** Strategy for handling sign requests (default: auto-sign for node, callback for web) */
105
- signStrategy?: SignStrategy;
106
- /** Handler for space creation confirmation (default: AutoApproveSpaceCreationHandler) */
107
- spaceCreationHandler?: ISpaceCreationHandler;
108
- /** Whether to automatically create space if it doesn't exist */
109
- autoCreateSpace?: boolean;
110
- /** Space name prefix (default: "default") */
111
- spacePrefix?: string;
112
- /** TinyCloud host URLs */
113
- tinycloudHosts?: string[];
114
- /** Session expiration in milliseconds */
115
- sessionExpirationMs?: number;
116
- }
117
- //# sourceMappingURL=userAuthorization.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"userAuthorization.d.ts","sourceRoot":"","sources":["../src/userAuthorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,eAAe,EAAwB,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGtE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEjF,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEhE;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,cAAc,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,mEAAmE;IACnE,eAAe,CAAC,IAAI,OAAO,CAAC;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAC5D,8DAA8D;IAC9D,WAAW,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD,2CAA2C;IAC3C,WAAW,CAAC,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,OAAO,CAAC,UAAU,CAAC;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAEnC;;;;OAIG;IACH,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAEjC;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;;OAGG;IACH,OAAO,IAAI,MAAM,GAAG,SAAS,CAAC;IAE9B;;;OAGG;IACH,OAAO,IAAI,MAAM,GAAG,SAAS,CAAC;IAE9B;;;;OAIG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9C;;;OAGG;IACH,UAAU,CAAC,IAAI,MAAM,GAAG,SAAS,CAAC;IAElC;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,oCAAoC;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,qCAAqC;IACrC,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,iCAAiC;IACjC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IAGzB,0FAA0F;IAC1F,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,yFAAyF;IACzF,oBAAoB,CAAC,EAAE,qBAAqB,CAAC;IAC7C,gEAAgE;IAChE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,yCAAyC;IACzC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B"}
@@ -1,3 +0,0 @@
1
- // Re-export platform-agnostic types from client-types (canonical definitions)
2
- export { SiweMessage } from "./client-types";
3
- //# sourceMappingURL=userAuthorization.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"userAuthorization.js","sourceRoot":"","sources":["../src/userAuthorization.ts"],"names":[],"mappings":"AAIA,8EAA8E;AAC9E,OAAO,EAAsC,WAAW,EAAE,MAAM,gBAAgB,CAAC"}