@tinycloudlabs/sdk-core 1.0.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.
- package/LICENSE.md +320 -0
- package/dist/TinyCloud.d.ts +206 -0
- package/dist/TinyCloud.d.ts.map +1 -0
- package/dist/TinyCloud.js +244 -0
- package/dist/TinyCloud.js.map +1 -0
- package/dist/TinyCloud.schema.d.ts +173 -0
- package/dist/TinyCloud.schema.d.ts.map +1 -0
- package/dist/TinyCloud.schema.js +136 -0
- package/dist/TinyCloud.schema.js.map +1 -0
- package/dist/TinyCloud.schema.test.d.ts +5 -0
- package/dist/TinyCloud.schema.test.d.ts.map +1 -0
- package/dist/TinyCloud.schema.test.js +286 -0
- package/dist/TinyCloud.schema.test.js.map +1 -0
- package/dist/authorization/CapabilityKeyRegistry.d.ts +317 -0
- package/dist/authorization/CapabilityKeyRegistry.d.ts.map +1 -0
- package/dist/authorization/CapabilityKeyRegistry.js +509 -0
- package/dist/authorization/CapabilityKeyRegistry.js.map +1 -0
- package/dist/authorization/authorization.schema.d.ts +233 -0
- package/dist/authorization/authorization.schema.d.ts.map +1 -0
- package/dist/authorization/authorization.schema.js +220 -0
- package/dist/authorization/authorization.schema.js.map +1 -0
- package/dist/authorization/authorization.schema.test.d.ts +5 -0
- package/dist/authorization/authorization.schema.test.d.ts.map +1 -0
- package/dist/authorization/authorization.schema.test.js +618 -0
- package/dist/authorization/authorization.schema.test.js.map +1 -0
- package/dist/authorization/index.d.ts +38 -0
- package/dist/authorization/index.d.ts.map +1 -0
- package/dist/authorization/index.js +52 -0
- package/dist/authorization/index.js.map +1 -0
- package/dist/authorization/spaceCreation.d.ts +96 -0
- package/dist/authorization/spaceCreation.d.ts.map +1 -0
- package/dist/authorization/spaceCreation.js +35 -0
- package/dist/authorization/spaceCreation.js.map +1 -0
- package/dist/authorization/spaceCreation.schema.d.ts +67 -0
- package/dist/authorization/spaceCreation.schema.d.ts.map +1 -0
- package/dist/authorization/spaceCreation.schema.js +95 -0
- package/dist/authorization/spaceCreation.schema.js.map +1 -0
- package/dist/authorization/spaceCreation.schema.test.d.ts +5 -0
- package/dist/authorization/spaceCreation.schema.test.d.ts.map +1 -0
- package/dist/authorization/spaceCreation.schema.test.js +168 -0
- package/dist/authorization/spaceCreation.schema.test.js.map +1 -0
- package/dist/authorization/strategies.d.ts +134 -0
- package/dist/authorization/strategies.d.ts.map +1 -0
- package/dist/authorization/strategies.js +15 -0
- package/dist/authorization/strategies.js.map +1 -0
- package/dist/authorization/strategies.schema.d.ts +185 -0
- package/dist/authorization/strategies.schema.d.ts.map +1 -0
- package/dist/authorization/strategies.schema.js +147 -0
- package/dist/authorization/strategies.schema.js.map +1 -0
- package/dist/authorization/strategies.schema.test.d.ts +5 -0
- package/dist/authorization/strategies.schema.test.d.ts.map +1 -0
- package/dist/authorization/strategies.schema.test.js +253 -0
- package/dist/authorization/strategies.schema.test.js.map +1 -0
- package/dist/delegations/DelegationManager.d.ts +164 -0
- package/dist/delegations/DelegationManager.d.ts.map +1 -0
- package/dist/delegations/DelegationManager.js +428 -0
- package/dist/delegations/DelegationManager.js.map +1 -0
- package/dist/delegations/SharingService.d.ts +279 -0
- package/dist/delegations/SharingService.d.ts.map +1 -0
- package/dist/delegations/SharingService.js +558 -0
- package/dist/delegations/SharingService.js.map +1 -0
- package/dist/delegations/SharingService.schema.d.ts +401 -0
- package/dist/delegations/SharingService.schema.d.ts.map +1 -0
- package/dist/delegations/SharingService.schema.js +211 -0
- package/dist/delegations/SharingService.schema.js.map +1 -0
- package/dist/delegations/index.d.ts +38 -0
- package/dist/delegations/index.d.ts.map +1 -0
- package/dist/delegations/index.js +42 -0
- package/dist/delegations/index.js.map +1 -0
- package/dist/delegations/types.d.ts +13 -0
- package/dist/delegations/types.d.ts.map +1 -0
- package/dist/delegations/types.js +42 -0
- package/dist/delegations/types.js.map +1 -0
- package/dist/delegations/types.schema.d.ts +1641 -0
- package/dist/delegations/types.schema.d.ts.map +1 -0
- package/dist/delegations/types.schema.js +535 -0
- package/dist/delegations/types.schema.js.map +1 -0
- package/dist/delegations/types.schema.test.d.ts +5 -0
- package/dist/delegations/types.schema.test.d.ts.map +1 -0
- package/dist/delegations/types.schema.test.js +627 -0
- package/dist/delegations/types.schema.test.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +52 -0
- package/dist/index.js.map +1 -0
- package/dist/json-schema.d.ts +327 -0
- package/dist/json-schema.d.ts.map +1 -0
- package/dist/json-schema.js +703 -0
- package/dist/json-schema.js.map +1 -0
- package/dist/json-schema.test.d.ts +7 -0
- package/dist/json-schema.test.d.ts.map +1 -0
- package/dist/json-schema.test.js +365 -0
- package/dist/json-schema.test.js.map +1 -0
- package/dist/signer.d.ts +28 -0
- package/dist/signer.d.ts.map +1 -0
- package/dist/signer.js +2 -0
- package/dist/signer.js.map +1 -0
- package/dist/space.d.ts +53 -0
- package/dist/space.d.ts.map +1 -0
- package/dist/space.js +67 -0
- package/dist/space.js.map +1 -0
- package/dist/space.schema.d.ts +65 -0
- package/dist/space.schema.d.ts.map +1 -0
- package/dist/space.schema.js +65 -0
- package/dist/space.schema.js.map +1 -0
- package/dist/space.schema.test.d.ts +5 -0
- package/dist/space.schema.test.d.ts.map +1 -0
- package/dist/space.schema.test.js +148 -0
- package/dist/space.schema.test.js.map +1 -0
- package/dist/spaces/Space.d.ts +175 -0
- package/dist/spaces/Space.d.ts.map +1 -0
- package/dist/spaces/Space.js +84 -0
- package/dist/spaces/Space.js.map +1 -0
- package/dist/spaces/SpaceService.d.ts +271 -0
- package/dist/spaces/SpaceService.d.ts.map +1 -0
- package/dist/spaces/SpaceService.js +715 -0
- package/dist/spaces/SpaceService.js.map +1 -0
- package/dist/spaces/index.d.ts +11 -0
- package/dist/spaces/index.d.ts.map +1 -0
- package/dist/spaces/index.js +20 -0
- package/dist/spaces/index.js.map +1 -0
- package/dist/spaces/spaces.schema.d.ts +421 -0
- package/dist/spaces/spaces.schema.d.ts.map +1 -0
- package/dist/spaces/spaces.schema.js +342 -0
- package/dist/spaces/spaces.schema.js.map +1 -0
- package/dist/spaces/spaces.schema.test.d.ts +5 -0
- package/dist/spaces/spaces.schema.test.d.ts.map +1 -0
- package/dist/spaces/spaces.schema.test.js +471 -0
- package/dist/spaces/spaces.schema.test.js.map +1 -0
- package/dist/storage.d.ts +47 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +14 -0
- package/dist/storage.js.map +1 -0
- package/dist/storage.schema.d.ts +277 -0
- package/dist/storage.schema.d.ts.map +1 -0
- package/dist/storage.schema.js +185 -0
- package/dist/storage.schema.js.map +1 -0
- package/dist/storage.schema.test.d.ts +5 -0
- package/dist/storage.schema.test.d.ts.map +1 -0
- package/dist/storage.schema.test.js +346 -0
- package/dist/storage.schema.test.js.map +1 -0
- package/dist/userAuthorization.d.ts +99 -0
- package/dist/userAuthorization.d.ts.map +1 -0
- package/dist/userAuthorization.js +3 -0
- package/dist/userAuthorization.js.map +1 -0
- package/dist/userAuthorization.schema.d.ts +259 -0
- package/dist/userAuthorization.schema.d.ts.map +1 -0
- package/dist/userAuthorization.schema.js +175 -0
- package/dist/userAuthorization.schema.js.map +1 -0
- package/dist/userAuthorization.schema.test.d.ts +5 -0
- package/dist/userAuthorization.schema.test.d.ts.map +1 -0
- package/dist/userAuthorization.schema.test.js +356 -0
- package/dist/userAuthorization.schema.test.js.map +1 -0
- package/dist/version.d.ts +30 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +54 -0
- package/dist/version.js.map +1 -0
- package/dist/wasm-validation.d.ts +287 -0
- package/dist/wasm-validation.d.ts.map +1 -0
- package/dist/wasm-validation.js +219 -0
- package/dist/wasm-validation.js.map +1 -0
- package/dist/wasm-validation.test.d.ts +5 -0
- package/dist/wasm-validation.test.d.ts.map +1 -0
- package/dist/wasm-validation.test.js +233 -0
- package/dist/wasm-validation.test.js.map +1 -0
- package/package.json +40 -0
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod schemas for Space and SpaceService configuration types.
|
|
3
|
+
*
|
|
4
|
+
* These schemas provide runtime validation for space management types.
|
|
5
|
+
* Types are derived from schemas using z.infer<>.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
import { z } from "zod";
|
|
10
|
+
import { CreateDelegationParamsSchema } from "../delegations/types.schema.js";
|
|
11
|
+
// =============================================================================
|
|
12
|
+
// SpaceConfig Schema
|
|
13
|
+
// =============================================================================
|
|
14
|
+
/**
|
|
15
|
+
* Configuration for creating a Space object.
|
|
16
|
+
*
|
|
17
|
+
* Contains the space identifier, name, and factory functions for creating
|
|
18
|
+
* space-scoped services.
|
|
19
|
+
*/
|
|
20
|
+
export const SpaceConfigSchema = z.object({
|
|
21
|
+
/** The space identifier (full URI) */
|
|
22
|
+
id: z.string(),
|
|
23
|
+
/** The short name of the space */
|
|
24
|
+
name: z.string(),
|
|
25
|
+
/** Factory function to create a space-scoped KV service */
|
|
26
|
+
createKV: z.function(),
|
|
27
|
+
/** Factory function to create space-scoped delegations */
|
|
28
|
+
createDelegations: z.function(),
|
|
29
|
+
/** Factory function to create space-scoped sharing */
|
|
30
|
+
createSharing: z.function(),
|
|
31
|
+
/** Function to get space info */
|
|
32
|
+
getInfo: z.function(),
|
|
33
|
+
});
|
|
34
|
+
// =============================================================================
|
|
35
|
+
// SpaceServiceConfig Schema
|
|
36
|
+
// =============================================================================
|
|
37
|
+
/**
|
|
38
|
+
* Configuration for SpaceService.
|
|
39
|
+
*
|
|
40
|
+
* Contains all the dependencies needed for the SpaceService to manage
|
|
41
|
+
* spaces, including hosts, session, and factory functions.
|
|
42
|
+
*/
|
|
43
|
+
export const SpaceServiceConfigSchema = z.object({
|
|
44
|
+
/** TinyCloud host URLs */
|
|
45
|
+
hosts: z.array(z.string()),
|
|
46
|
+
/** Active session for authentication */
|
|
47
|
+
session: z.unknown(),
|
|
48
|
+
/** Platform-specific invoke function */
|
|
49
|
+
invoke: z.function(),
|
|
50
|
+
/** Optional custom fetch implementation */
|
|
51
|
+
fetch: z.function().optional(),
|
|
52
|
+
/** Optional capability key registry for delegated space discovery */
|
|
53
|
+
capabilityRegistry: z.unknown().optional(),
|
|
54
|
+
/** Factory function to create a space-scoped KV service */
|
|
55
|
+
createKVService: z.function().optional(),
|
|
56
|
+
/** User's PKH DID (derived from address or provided explicitly) */
|
|
57
|
+
userDid: z.string().optional(),
|
|
58
|
+
/** Optional SharingService for v2 sharing links (client-side) */
|
|
59
|
+
sharingService: z.unknown().optional(),
|
|
60
|
+
/** Factory function to create delegations using SIWE-based flow */
|
|
61
|
+
createDelegation: z.function().optional(),
|
|
62
|
+
});
|
|
63
|
+
// =============================================================================
|
|
64
|
+
// SpaceDelegationParams Schema
|
|
65
|
+
// =============================================================================
|
|
66
|
+
/**
|
|
67
|
+
* Parameters for creating a space-scoped delegation.
|
|
68
|
+
*
|
|
69
|
+
* Extends CreateDelegationParams with the spaceId field.
|
|
70
|
+
*/
|
|
71
|
+
export const SpaceDelegationParamsSchema = CreateDelegationParamsSchema.extend({
|
|
72
|
+
/** The space ID to create the delegation for */
|
|
73
|
+
spaceId: z.string(),
|
|
74
|
+
});
|
|
75
|
+
// =============================================================================
|
|
76
|
+
// Validation Helpers
|
|
77
|
+
// =============================================================================
|
|
78
|
+
/**
|
|
79
|
+
* Validate a SpaceConfig object against the schema.
|
|
80
|
+
*
|
|
81
|
+
* @param data - Unknown data to validate
|
|
82
|
+
* @returns Result with validated data or validation error
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```typescript
|
|
86
|
+
* const result = validateSpaceConfig(config);
|
|
87
|
+
* if (result.ok) {
|
|
88
|
+
* const space = new Space(result.data);
|
|
89
|
+
* } else {
|
|
90
|
+
* console.error("Invalid config:", result.error.message);
|
|
91
|
+
* }
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
export function validateSpaceConfig(data) {
|
|
95
|
+
const result = SpaceConfigSchema.safeParse(data);
|
|
96
|
+
if (!result.success) {
|
|
97
|
+
return {
|
|
98
|
+
ok: false,
|
|
99
|
+
error: {
|
|
100
|
+
code: "VALIDATION_ERROR",
|
|
101
|
+
message: result.error.message,
|
|
102
|
+
service: "space",
|
|
103
|
+
meta: { issues: result.error.issues },
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
return { ok: true, data: result.data };
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Validate a SpaceServiceConfig object against the schema.
|
|
111
|
+
*
|
|
112
|
+
* @param data - Unknown data to validate
|
|
113
|
+
* @returns Result with validated data or validation error
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```typescript
|
|
117
|
+
* const result = validateSpaceServiceConfig(config);
|
|
118
|
+
* if (result.ok) {
|
|
119
|
+
* const service = new SpaceService(result.data);
|
|
120
|
+
* } else {
|
|
121
|
+
* console.error("Invalid config:", result.error.message);
|
|
122
|
+
* }
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
export function validateSpaceServiceConfig(data) {
|
|
126
|
+
const result = SpaceServiceConfigSchema.safeParse(data);
|
|
127
|
+
if (!result.success) {
|
|
128
|
+
return {
|
|
129
|
+
ok: false,
|
|
130
|
+
error: {
|
|
131
|
+
code: "VALIDATION_ERROR",
|
|
132
|
+
message: result.error.message,
|
|
133
|
+
service: "space",
|
|
134
|
+
meta: { issues: result.error.issues },
|
|
135
|
+
},
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
return { ok: true, data: result.data };
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Validate a SpaceDelegationParams object against the schema.
|
|
142
|
+
*
|
|
143
|
+
* @param data - Unknown data to validate
|
|
144
|
+
* @returns Result with validated data or validation error
|
|
145
|
+
*
|
|
146
|
+
* @example
|
|
147
|
+
* ```typescript
|
|
148
|
+
* const result = validateSpaceDelegationParams(params);
|
|
149
|
+
* if (result.ok) {
|
|
150
|
+
* await createDelegation(result.data);
|
|
151
|
+
* } else {
|
|
152
|
+
* console.error("Invalid params:", result.error.message);
|
|
153
|
+
* }
|
|
154
|
+
* ```
|
|
155
|
+
*/
|
|
156
|
+
export function validateSpaceDelegationParams(data) {
|
|
157
|
+
const result = SpaceDelegationParamsSchema.safeParse(data);
|
|
158
|
+
if (!result.success) {
|
|
159
|
+
return {
|
|
160
|
+
ok: false,
|
|
161
|
+
error: {
|
|
162
|
+
code: "VALIDATION_ERROR",
|
|
163
|
+
message: result.error.message,
|
|
164
|
+
service: "space",
|
|
165
|
+
meta: { issues: result.error.issues },
|
|
166
|
+
},
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
return { ok: true, data: result.data };
|
|
170
|
+
}
|
|
171
|
+
// =============================================================================
|
|
172
|
+
// Server Response Schemas
|
|
173
|
+
// =============================================================================
|
|
174
|
+
/**
|
|
175
|
+
* Server's DelegationInfo structure (from capabilities/read response).
|
|
176
|
+
* This schema validates the shape of delegation data received from the server.
|
|
177
|
+
*/
|
|
178
|
+
export const ServerDelegationInfoSchema = z.object({
|
|
179
|
+
/** DID of the delegator */
|
|
180
|
+
delegator: z.string(),
|
|
181
|
+
/** DID of the delegate */
|
|
182
|
+
delegate: z.string(),
|
|
183
|
+
/** Parent delegation CIDs - accepts string or byte array format from server */
|
|
184
|
+
parents: z.array(z.union([z.string(), z.array(z.number())])),
|
|
185
|
+
/** Expiration time (ISO8601 string) */
|
|
186
|
+
expiry: z.string().optional(),
|
|
187
|
+
/** Not-before time (ISO8601 string) */
|
|
188
|
+
not_before: z.string().optional(),
|
|
189
|
+
/** Issued-at time (ISO8601 string) */
|
|
190
|
+
issued_at: z.string().optional(),
|
|
191
|
+
/** Capabilities granted by this delegation */
|
|
192
|
+
capabilities: z.array(z.object({
|
|
193
|
+
resource: z.string(),
|
|
194
|
+
ability: z.string(),
|
|
195
|
+
})),
|
|
196
|
+
});
|
|
197
|
+
/**
|
|
198
|
+
* Server response for capabilities/read endpoint.
|
|
199
|
+
* Returns a record mapping CID -> DelegationInfo.
|
|
200
|
+
*/
|
|
201
|
+
export const ServerDelegationsResponseSchema = z.record(z.string(), ServerDelegationInfoSchema);
|
|
202
|
+
/**
|
|
203
|
+
* Server response for space/list endpoint.
|
|
204
|
+
* Returns an array of owned space info.
|
|
205
|
+
*/
|
|
206
|
+
export const ServerOwnedSpaceSchema = z.object({
|
|
207
|
+
/** Space identifier */
|
|
208
|
+
id: z.string(),
|
|
209
|
+
/** Space name (optional, can be derived from id) */
|
|
210
|
+
name: z.string().optional(),
|
|
211
|
+
/** Owner DID */
|
|
212
|
+
owner: z.string(),
|
|
213
|
+
/** Creation timestamp */
|
|
214
|
+
createdAt: z.string().optional(),
|
|
215
|
+
});
|
|
216
|
+
export const ServerOwnedSpacesResponseSchema = z.array(ServerOwnedSpaceSchema);
|
|
217
|
+
/**
|
|
218
|
+
* Server response for space/create endpoint.
|
|
219
|
+
*/
|
|
220
|
+
export const ServerCreateSpaceResponseSchema = z.object({
|
|
221
|
+
/** Space identifier */
|
|
222
|
+
id: z.string(),
|
|
223
|
+
/** Space name */
|
|
224
|
+
name: z.string(),
|
|
225
|
+
/** Owner DID */
|
|
226
|
+
owner: z.string(),
|
|
227
|
+
/** Creation timestamp */
|
|
228
|
+
createdAt: z.string().optional(),
|
|
229
|
+
});
|
|
230
|
+
/**
|
|
231
|
+
* Server response for space/info endpoint.
|
|
232
|
+
*/
|
|
233
|
+
export const ServerSpaceInfoResponseSchema = z.object({
|
|
234
|
+
/** Space identifier */
|
|
235
|
+
id: z.string(),
|
|
236
|
+
/** Space name (optional) */
|
|
237
|
+
name: z.string().optional(),
|
|
238
|
+
/** Owner DID */
|
|
239
|
+
owner: z.string(),
|
|
240
|
+
/** Ownership type */
|
|
241
|
+
type: z.enum(["owned", "delegated"]).optional(),
|
|
242
|
+
/** Permissions the user has in this space */
|
|
243
|
+
permissions: z.array(z.string()).optional(),
|
|
244
|
+
/** Expiration for delegated access */
|
|
245
|
+
expiresAt: z.string().optional(),
|
|
246
|
+
});
|
|
247
|
+
// =============================================================================
|
|
248
|
+
// Server Response Validation Helpers
|
|
249
|
+
// =============================================================================
|
|
250
|
+
/**
|
|
251
|
+
* Validate server delegations response (capabilities/read).
|
|
252
|
+
*
|
|
253
|
+
* @param data - Unknown data from server
|
|
254
|
+
* @returns Result with validated data or validation error
|
|
255
|
+
*/
|
|
256
|
+
export function validateServerDelegationsResponse(data) {
|
|
257
|
+
// Handle null/undefined as empty response
|
|
258
|
+
if (data === null || data === undefined) {
|
|
259
|
+
return { ok: true, data: {} };
|
|
260
|
+
}
|
|
261
|
+
// Handle array format (legacy compatibility) - return as-is, validation happens elsewhere
|
|
262
|
+
if (Array.isArray(data)) {
|
|
263
|
+
return { ok: true, data: {} };
|
|
264
|
+
}
|
|
265
|
+
const result = ServerDelegationsResponseSchema.safeParse(data);
|
|
266
|
+
if (!result.success) {
|
|
267
|
+
return {
|
|
268
|
+
ok: false,
|
|
269
|
+
error: {
|
|
270
|
+
code: "VALIDATION_ERROR",
|
|
271
|
+
message: `Invalid server delegations response: ${result.error.message}`,
|
|
272
|
+
service: "space",
|
|
273
|
+
meta: { issues: result.error.issues },
|
|
274
|
+
},
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
return { ok: true, data: result.data };
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Validate server owned spaces response (space/list).
|
|
281
|
+
*
|
|
282
|
+
* @param data - Unknown data from server
|
|
283
|
+
* @returns Result with validated data or validation error
|
|
284
|
+
*/
|
|
285
|
+
export function validateServerOwnedSpacesResponse(data) {
|
|
286
|
+
const result = ServerOwnedSpacesResponseSchema.safeParse(data);
|
|
287
|
+
if (!result.success) {
|
|
288
|
+
return {
|
|
289
|
+
ok: false,
|
|
290
|
+
error: {
|
|
291
|
+
code: "VALIDATION_ERROR",
|
|
292
|
+
message: `Invalid server owned spaces response: ${result.error.message}`,
|
|
293
|
+
service: "space",
|
|
294
|
+
meta: { issues: result.error.issues },
|
|
295
|
+
},
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
return { ok: true, data: result.data };
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Validate server create space response (space/create).
|
|
302
|
+
*
|
|
303
|
+
* @param data - Unknown data from server
|
|
304
|
+
* @returns Result with validated data or validation error
|
|
305
|
+
*/
|
|
306
|
+
export function validateServerCreateSpaceResponse(data) {
|
|
307
|
+
const result = ServerCreateSpaceResponseSchema.safeParse(data);
|
|
308
|
+
if (!result.success) {
|
|
309
|
+
return {
|
|
310
|
+
ok: false,
|
|
311
|
+
error: {
|
|
312
|
+
code: "VALIDATION_ERROR",
|
|
313
|
+
message: `Invalid server create space response: ${result.error.message}`,
|
|
314
|
+
service: "space",
|
|
315
|
+
meta: { issues: result.error.issues },
|
|
316
|
+
},
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
return { ok: true, data: result.data };
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Validate server space info response (space/info).
|
|
323
|
+
*
|
|
324
|
+
* @param data - Unknown data from server
|
|
325
|
+
* @returns Result with validated data or validation error
|
|
326
|
+
*/
|
|
327
|
+
export function validateServerSpaceInfoResponse(data) {
|
|
328
|
+
const result = ServerSpaceInfoResponseSchema.safeParse(data);
|
|
329
|
+
if (!result.success) {
|
|
330
|
+
return {
|
|
331
|
+
ok: false,
|
|
332
|
+
error: {
|
|
333
|
+
code: "VALIDATION_ERROR",
|
|
334
|
+
message: `Invalid server space info response: ${result.error.message}`,
|
|
335
|
+
service: "space",
|
|
336
|
+
meta: { issues: result.error.issues },
|
|
337
|
+
},
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
return { ok: true, data: result.data };
|
|
341
|
+
}
|
|
342
|
+
//# sourceMappingURL=spaces.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spaces.schema.js","sourceRoot":"","sources":["../../src/spaces/spaces.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spaces.schema.test.d.ts","sourceRoot":"","sources":["../../src/spaces/spaces.schema.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|