@tinycloud/sdk-core 2.0.1 → 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,291 +0,0 @@
1
- /**
2
- * Zod schemas for session persistence types.
3
- *
4
- * This is the source of truth for session-related types. TypeScript types
5
- * are derived from these schemas using z.infer<>.
6
- *
7
- * @packageDocumentation
8
- */
9
- import { z } from "zod";
10
- import type { Result, ServiceError } from "@tinycloud/sdk-services";
11
- /**
12
- * Schema for ENS data associated with a session.
13
- */
14
- export declare const EnsDataSchema: z.ZodObject<{
15
- /** ENS name/domain. */
16
- domain: z.ZodOptional<z.ZodNullable<z.ZodString>>;
17
- /** ENS avatar URL. */
18
- avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
19
- }, "strip", z.ZodTypeAny, {
20
- domain?: string | null | undefined;
21
- avatarUrl?: string | null | undefined;
22
- }, {
23
- domain?: string | null | undefined;
24
- avatarUrl?: string | null | undefined;
25
- }>;
26
- export type EnsData = z.infer<typeof EnsDataSchema>;
27
- /**
28
- * Schema for TinyCloud-specific session data that's persisted.
29
- */
30
- export declare const PersistedTinyCloudSessionSchema: z.ZodObject<{
31
- /** The delegation header containing the UCAN */
32
- delegationHeader: z.ZodObject<{
33
- Authorization: z.ZodString;
34
- }, "strip", z.ZodTypeAny, {
35
- Authorization: string;
36
- }, {
37
- Authorization: string;
38
- }>;
39
- /** The delegation CID */
40
- delegationCid: z.ZodString;
41
- /** The space ID for this session */
42
- spaceId: z.ZodString;
43
- /** Additional spaces included in this session's capabilities. Key is logical name, value is full spaceId URI */
44
- spaces: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
45
- /** The verification method DID */
46
- verificationMethod: z.ZodString;
47
- }, "strip", z.ZodTypeAny, {
48
- spaceId: string;
49
- delegationHeader: {
50
- Authorization: string;
51
- };
52
- delegationCid: string;
53
- verificationMethod: string;
54
- spaces?: Record<string, string> | undefined;
55
- }, {
56
- spaceId: string;
57
- delegationHeader: {
58
- Authorization: string;
59
- };
60
- delegationCid: string;
61
- verificationMethod: string;
62
- spaces?: Record<string, string> | undefined;
63
- }>;
64
- export type PersistedTinyCloudSession = z.infer<typeof PersistedTinyCloudSessionSchema>;
65
- /**
66
- * Schema for full persisted session data.
67
- *
68
- * Contains all data needed to restore a session without re-authentication.
69
- */
70
- export declare const PersistedSessionDataSchema: z.ZodObject<{
71
- /** User's Ethereum address */
72
- address: z.ZodString;
73
- /** EIP-155 Chain ID */
74
- chainId: z.ZodNumber;
75
- /** Session key in JWK format (stringified) */
76
- sessionKey: z.ZodString;
77
- /** The signed SIWE message */
78
- siwe: z.ZodString;
79
- /** User's signature of the SIWE message */
80
- signature: z.ZodString;
81
- /** TinyCloud delegation data if available */
82
- tinycloudSession: z.ZodOptional<z.ZodObject<{
83
- /** The delegation header containing the UCAN */
84
- delegationHeader: z.ZodObject<{
85
- Authorization: z.ZodString;
86
- }, "strip", z.ZodTypeAny, {
87
- Authorization: string;
88
- }, {
89
- Authorization: string;
90
- }>;
91
- /** The delegation CID */
92
- delegationCid: z.ZodString;
93
- /** The space ID for this session */
94
- spaceId: z.ZodString;
95
- /** Additional spaces included in this session's capabilities. Key is logical name, value is full spaceId URI */
96
- spaces: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
97
- /** The verification method DID */
98
- verificationMethod: z.ZodString;
99
- }, "strip", z.ZodTypeAny, {
100
- spaceId: string;
101
- delegationHeader: {
102
- Authorization: string;
103
- };
104
- delegationCid: string;
105
- verificationMethod: string;
106
- spaces?: Record<string, string> | undefined;
107
- }, {
108
- spaceId: string;
109
- delegationHeader: {
110
- Authorization: string;
111
- };
112
- delegationCid: string;
113
- verificationMethod: string;
114
- spaces?: Record<string, string> | undefined;
115
- }>>;
116
- /** Session expiration timestamp (ISO 8601 with timezone offset) */
117
- expiresAt: z.ZodString;
118
- /** Session creation timestamp (ISO 8601 with timezone offset) */
119
- createdAt: z.ZodString;
120
- /** Schema version for migrations */
121
- version: z.ZodString;
122
- /** Optional ENS data */
123
- ens: z.ZodOptional<z.ZodObject<{
124
- /** ENS name/domain. */
125
- domain: z.ZodOptional<z.ZodNullable<z.ZodString>>;
126
- /** ENS avatar URL. */
127
- avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
128
- }, "strip", z.ZodTypeAny, {
129
- domain?: string | null | undefined;
130
- avatarUrl?: string | null | undefined;
131
- }, {
132
- domain?: string | null | undefined;
133
- avatarUrl?: string | null | undefined;
134
- }>>;
135
- }, "strip", z.ZodTypeAny, {
136
- createdAt: string;
137
- expiresAt: string;
138
- siwe: string;
139
- signature: string;
140
- version: string;
141
- address: string;
142
- chainId: number;
143
- sessionKey: string;
144
- tinycloudSession?: {
145
- spaceId: string;
146
- delegationHeader: {
147
- Authorization: string;
148
- };
149
- delegationCid: string;
150
- verificationMethod: string;
151
- spaces?: Record<string, string> | undefined;
152
- } | undefined;
153
- ens?: {
154
- domain?: string | null | undefined;
155
- avatarUrl?: string | null | undefined;
156
- } | undefined;
157
- }, {
158
- createdAt: string;
159
- expiresAt: string;
160
- siwe: string;
161
- signature: string;
162
- version: string;
163
- address: string;
164
- chainId: number;
165
- sessionKey: string;
166
- tinycloudSession?: {
167
- spaceId: string;
168
- delegationHeader: {
169
- Authorization: string;
170
- };
171
- delegationCid: string;
172
- verificationMethod: string;
173
- spaces?: Record<string, string> | undefined;
174
- } | undefined;
175
- ens?: {
176
- domain?: string | null | undefined;
177
- avatarUrl?: string | null | undefined;
178
- } | undefined;
179
- }>;
180
- export type PersistedSessionData = z.infer<typeof PersistedSessionDataSchema>;
181
- /**
182
- * Schema for full TinyCloud session with delegation data.
183
- *
184
- * This is the runtime session type used for making invocations and delegations.
185
- */
186
- export declare const TinyCloudSessionSchema: z.ZodObject<{
187
- /** User's Ethereum address */
188
- address: z.ZodString;
189
- /** EIP-155 Chain ID */
190
- chainId: z.ZodNumber;
191
- /** Session key ID */
192
- sessionKey: z.ZodString;
193
- /** The space ID for this session */
194
- spaceId: z.ZodString;
195
- /** Additional spaces included in this session's capabilities. Key is logical name, value is full spaceId URI */
196
- spaces: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
197
- /** The delegation CID */
198
- delegationCid: z.ZodString;
199
- /** The delegation header for API calls */
200
- delegationHeader: z.ZodObject<{
201
- Authorization: z.ZodString;
202
- }, "strip", z.ZodTypeAny, {
203
- Authorization: string;
204
- }, {
205
- Authorization: string;
206
- }>;
207
- /** The verification method DID */
208
- verificationMethod: z.ZodString;
209
- /** The session key JWK (required for invoke operations) */
210
- jwk: z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>;
211
- /** The signed SIWE message */
212
- siwe: z.ZodString;
213
- /** User's signature of the SIWE message */
214
- signature: z.ZodString;
215
- }, "strip", z.ZodTypeAny, {
216
- jwk: {} & {
217
- [k: string]: unknown;
218
- };
219
- spaceId: string;
220
- siwe: string;
221
- signature: string;
222
- delegationHeader: {
223
- Authorization: string;
224
- };
225
- delegationCid: string;
226
- verificationMethod: string;
227
- address: string;
228
- chainId: number;
229
- sessionKey: string;
230
- spaces?: Record<string, string> | undefined;
231
- }, {
232
- jwk: {} & {
233
- [k: string]: unknown;
234
- };
235
- spaceId: string;
236
- siwe: string;
237
- signature: string;
238
- delegationHeader: {
239
- Authorization: string;
240
- };
241
- delegationCid: string;
242
- verificationMethod: string;
243
- address: string;
244
- chainId: number;
245
- sessionKey: string;
246
- spaces?: Record<string, string> | undefined;
247
- }>;
248
- export type TinyCloudSession = z.infer<typeof TinyCloudSessionSchema>;
249
- /**
250
- * Validation error type for schema validation failures.
251
- */
252
- export interface ValidationError extends ServiceError {
253
- code: "VALIDATION_ERROR";
254
- meta?: {
255
- issues: z.ZodIssue[];
256
- path?: string;
257
- };
258
- }
259
- /**
260
- * Validate persisted session data against the schema.
261
- *
262
- * @param data - Unknown data to validate
263
- * @returns Result with validated data or validation error
264
- *
265
- * @example
266
- * ```typescript
267
- * const result = validatePersistedSessionData(JSON.parse(rawData));
268
- * if (result.ok) {
269
- * // result.data is typed as PersistedSessionData
270
- * console.log(result.data.address);
271
- * } else {
272
- * console.error(result.error.message);
273
- * }
274
- * ```
275
- */
276
- export declare function validatePersistedSessionData(data: unknown): Result<PersistedSessionData, ValidationError>;
277
- /**
278
- * Validate TinyCloud session against the schema.
279
- *
280
- * @param data - Unknown data to validate
281
- * @returns Result with validated data or validation error
282
- */
283
- export declare function validateTinyCloudSession(data: unknown): Result<TinyCloudSession, ValidationError>;
284
- /**
285
- * Validate persisted TinyCloud session against the schema.
286
- *
287
- * @param data - Unknown data to validate
288
- * @returns Result with validated data or validation error
289
- */
290
- export declare function validatePersistedTinyCloudSession(data: unknown): Result<PersistedTinyCloudSession, ValidationError>;
291
- //# sourceMappingURL=storage.schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.schema.d.ts","sourceRoot":"","sources":["../src/storage.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAepE;;GAEG;AACH,eAAO,MAAM,aAAa;IACxB,uBAAuB;;IAEvB,sBAAsB;;;;;;;;EAEtB,CAAC;AAEH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAMpD;;GAEG;AACH,eAAO,MAAM,+BAA+B;IAC1C,gDAAgD;;;;;;;;IAIhD,yBAAyB;;IAEzB,oCAAoC;;IAEpC,gHAAgH;;IAEhH,kCAAkC;;;;;;;;;;;;;;;;;;EAElC,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B;IACrC,8BAA8B;;IAI9B,uBAAuB;;IAEvB,8CAA8C;;IAE9C,8BAA8B;;IAE9B,2CAA2C;;IAE3C,6CAA6C;;QAxC7C,gDAAgD;;;;;;;;QAIhD,yBAAyB;;QAEzB,oCAAoC;;QAEpC,gHAAgH;;QAEhH,kCAAkC;;;;;;;;;;;;;;;;;;;IAgClC,mEAAmE;;IAEnE,iEAAiE;;IAEjE,oCAAoC;;IAEpC,wBAAwB;;QAhExB,uBAAuB;;QAEvB,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgEtB,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAM9E;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;IACjC,8BAA8B;;IAE9B,uBAAuB;;IAEvB,qBAAqB;;IAErB,oCAAoC;;IAEpC,gHAAgH;;IAEhH,yBAAyB;;IAEzB,0CAA0C;;;;;;;;IAI1C,kCAAkC;;IAElC,2DAA2D;;IAE3D,8BAA8B;;IAE9B,2CAA2C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE3C,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAMtE;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,OAAO,GACZ,MAAM,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAc/C;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,OAAO,GACZ,MAAM,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAc3C;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,OAAO,GACZ,MAAM,CAAC,yBAAyB,EAAE,eAAe,CAAC,CAcpD"}
@@ -1,189 +0,0 @@
1
- /**
2
- * Zod schemas for session persistence types.
3
- *
4
- * This is the source of truth for session-related types. TypeScript types
5
- * are derived from these schemas using z.infer<>.
6
- *
7
- * @packageDocumentation
8
- */
9
- import { z } from "zod";
10
- // =============================================================================
11
- // Shared Patterns
12
- // =============================================================================
13
- /**
14
- * Ethereum address pattern (checksummed or lowercase).
15
- */
16
- const ethereumAddressPattern = /^0x[a-fA-F0-9]{40}$/;
17
- // =============================================================================
18
- // ENS Data Schema
19
- // =============================================================================
20
- /**
21
- * Schema for ENS data associated with a session.
22
- */
23
- export const EnsDataSchema = z.object({
24
- /** ENS name/domain. */
25
- domain: z.string().nullable().optional(),
26
- /** ENS avatar URL. */
27
- avatarUrl: z.string().nullable().optional(),
28
- });
29
- // =============================================================================
30
- // Persisted TinyCloud Session Schema
31
- // =============================================================================
32
- /**
33
- * Schema for TinyCloud-specific session data that's persisted.
34
- */
35
- export const PersistedTinyCloudSessionSchema = z.object({
36
- /** The delegation header containing the UCAN */
37
- delegationHeader: z.object({
38
- Authorization: z.string(),
39
- }),
40
- /** The delegation CID */
41
- delegationCid: z.string(),
42
- /** The space ID for this session */
43
- spaceId: z.string(),
44
- /** Additional spaces included in this session's capabilities. Key is logical name, value is full spaceId URI */
45
- spaces: z.record(z.string(), z.string()).optional(),
46
- /** The verification method DID */
47
- verificationMethod: z.string(),
48
- });
49
- // =============================================================================
50
- // Persisted Session Data Schema
51
- // =============================================================================
52
- /**
53
- * Schema for full persisted session data.
54
- *
55
- * Contains all data needed to restore a session without re-authentication.
56
- */
57
- export const PersistedSessionDataSchema = z.object({
58
- /** User's Ethereum address */
59
- address: z
60
- .string()
61
- .regex(ethereumAddressPattern, "Invalid Ethereum address"),
62
- /** EIP-155 Chain ID */
63
- chainId: z.number().int().positive(),
64
- /** Session key in JWK format (stringified) */
65
- sessionKey: z.string(),
66
- /** The signed SIWE message */
67
- siwe: z.string(),
68
- /** User's signature of the SIWE message */
69
- signature: z.string(),
70
- /** TinyCloud delegation data if available */
71
- tinycloudSession: PersistedTinyCloudSessionSchema.optional(),
72
- /** Session expiration timestamp (ISO 8601 with timezone offset) */
73
- expiresAt: z.string().datetime({ offset: true }),
74
- /** Session creation timestamp (ISO 8601 with timezone offset) */
75
- createdAt: z.string().datetime({ offset: true }),
76
- /** Schema version for migrations */
77
- version: z.string(),
78
- /** Optional ENS data */
79
- ens: EnsDataSchema.optional(),
80
- });
81
- // =============================================================================
82
- // TinyCloud Session Schema (Runtime)
83
- // =============================================================================
84
- /**
85
- * Schema for full TinyCloud session with delegation data.
86
- *
87
- * This is the runtime session type used for making invocations and delegations.
88
- */
89
- export const TinyCloudSessionSchema = z.object({
90
- /** User's Ethereum address */
91
- address: z.string().regex(ethereumAddressPattern, "Invalid Ethereum address"),
92
- /** EIP-155 Chain ID */
93
- chainId: z.number().int().positive(),
94
- /** Session key ID */
95
- sessionKey: z.string(),
96
- /** The space ID for this session */
97
- spaceId: z.string(),
98
- /** Additional spaces included in this session's capabilities. Key is logical name, value is full spaceId URI */
99
- spaces: z.record(z.string(), z.string()).optional(),
100
- /** The delegation CID */
101
- delegationCid: z.string(),
102
- /** The delegation header for API calls */
103
- delegationHeader: z.object({
104
- Authorization: z.string(),
105
- }),
106
- /** The verification method DID */
107
- verificationMethod: z.string(),
108
- /** The session key JWK (required for invoke operations) */
109
- jwk: z.object({}).passthrough(),
110
- /** The signed SIWE message */
111
- siwe: z.string(),
112
- /** User's signature of the SIWE message */
113
- signature: z.string(),
114
- });
115
- /**
116
- * Validate persisted session data against the schema.
117
- *
118
- * @param data - Unknown data to validate
119
- * @returns Result with validated data or validation error
120
- *
121
- * @example
122
- * ```typescript
123
- * const result = validatePersistedSessionData(JSON.parse(rawData));
124
- * if (result.ok) {
125
- * // result.data is typed as PersistedSessionData
126
- * console.log(result.data.address);
127
- * } else {
128
- * console.error(result.error.message);
129
- * }
130
- * ```
131
- */
132
- export function validatePersistedSessionData(data) {
133
- const result = PersistedSessionDataSchema.safeParse(data);
134
- if (!result.success) {
135
- return {
136
- ok: false,
137
- error: {
138
- code: "VALIDATION_ERROR",
139
- message: result.error.message,
140
- service: "session",
141
- meta: { issues: result.error.issues },
142
- },
143
- };
144
- }
145
- return { ok: true, data: result.data };
146
- }
147
- /**
148
- * Validate TinyCloud session against the schema.
149
- *
150
- * @param data - Unknown data to validate
151
- * @returns Result with validated data or validation error
152
- */
153
- export function validateTinyCloudSession(data) {
154
- const result = TinyCloudSessionSchema.safeParse(data);
155
- if (!result.success) {
156
- return {
157
- ok: false,
158
- error: {
159
- code: "VALIDATION_ERROR",
160
- message: result.error.message,
161
- service: "session",
162
- meta: { issues: result.error.issues },
163
- },
164
- };
165
- }
166
- return { ok: true, data: result.data };
167
- }
168
- /**
169
- * Validate persisted TinyCloud session against the schema.
170
- *
171
- * @param data - Unknown data to validate
172
- * @returns Result with validated data or validation error
173
- */
174
- export function validatePersistedTinyCloudSession(data) {
175
- const result = PersistedTinyCloudSessionSchema.safeParse(data);
176
- if (!result.success) {
177
- return {
178
- ok: false,
179
- error: {
180
- code: "VALIDATION_ERROR",
181
- message: result.error.message,
182
- service: "session",
183
- meta: { issues: result.error.issues },
184
- },
185
- };
186
- }
187
- return { ok: true, data: result.data };
188
- }
189
- //# sourceMappingURL=storage.schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.schema.js","sourceRoot":"","sources":["../src/storage.schema.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Tests for storage.schema.ts Zod schemas.
3
- */
4
- export {};
5
- //# sourceMappingURL=storage.schema.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.schema.test.d.ts","sourceRoot":"","sources":["../src/storage.schema.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}