@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
package/dist/space.js DELETED
@@ -1,87 +0,0 @@
1
- /**
2
- * Shared space utilities for TinyCloud.
3
- *
4
- * These functions are platform-agnostic and can be used by both
5
- * web-sdk and node-sdk for space hosting and session activation.
6
- */
7
- /**
8
- * Fetch the peer ID from TinyCloud server for space hosting.
9
- *
10
- * The peer ID identifies the TinyCloud server instance that will host the space.
11
- *
12
- * @param host - TinyCloud server URL (e.g., "https://node.tinycloud.xyz")
13
- * @param spaceId - The space ID to host
14
- * @returns The peer ID string
15
- * @throws Error if the request fails
16
- */
17
- export async function fetchPeerId(host, spaceId) {
18
- const res = await fetch(`${host}/peer/generate/${encodeURIComponent(spaceId)}`);
19
- if (!res.ok) {
20
- const error = await res.text().catch(() => res.statusText);
21
- throw new Error(`Failed to get peer ID: ${res.status} - ${error}`);
22
- }
23
- return res.text();
24
- }
25
- /**
26
- * Submit a space hosting delegation to TinyCloud server.
27
- *
28
- * This registers a new space with the server, allowing the user
29
- * to store data in it.
30
- *
31
- * @param host - TinyCloud server URL
32
- * @param headers - Delegation headers (from siweToDelegationHeaders)
33
- * @returns Result indicating success/failure
34
- */
35
- export async function submitHostDelegation(host, headers) {
36
- const res = await fetch(`${host}/delegate`, {
37
- method: "POST",
38
- headers,
39
- });
40
- return {
41
- success: res.ok,
42
- status: res.status,
43
- error: res.ok ? undefined : await res.text().catch(() => res.statusText),
44
- };
45
- }
46
- /**
47
- * Activate a session with TinyCloud server.
48
- *
49
- * This submits the session delegation to the server, enabling the session
50
- * key to perform operations on behalf of the user.
51
- *
52
- * @param host - TinyCloud server URL
53
- * @param delegationHeader - Session delegation header (from session.delegationHeader)
54
- * @returns Result indicating success/failure (404 means space doesn't exist)
55
- */
56
- export async function activateSessionWithHost(host, delegationHeader) {
57
- const res = await fetch(`${host}/delegate`, {
58
- method: "POST",
59
- headers: delegationHeader,
60
- });
61
- if (res.ok) {
62
- try {
63
- const body = await res.json();
64
- return {
65
- success: true,
66
- status: res.status,
67
- activated: body.activated ?? [],
68
- skipped: body.skipped ?? [],
69
- };
70
- }
71
- catch {
72
- // Fallback for older servers that return plain text CID
73
- return {
74
- success: true,
75
- status: res.status,
76
- activated: [],
77
- skipped: [],
78
- };
79
- }
80
- }
81
- return {
82
- success: false,
83
- status: res.status,
84
- error: await res.text().catch(() => res.statusText),
85
- };
86
- }
87
- //# sourceMappingURL=space.js.map
package/dist/space.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"space.js","sourceRoot":"","sources":["../src/space.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAY,EACZ,OAAe;IAEf,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,GAAG,IAAI,kBAAkB,kBAAkB,CAAC,OAAO,CAAC,EAAE,CACvD,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,MAAM,MAAM,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;AACpB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAY,EACZ,OAA+B;IAE/B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,WAAW,EAAE;QAC1C,MAAM,EAAE,MAAM;QACd,OAAO;KACR,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,EAAE;QACf,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC;KACzE,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAAY,EACZ,gBAA2C;IAE3C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,WAAW,EAAE;QAC1C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,gBAAgB;KAC1B,CAAC,CAAC;IAEH,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAkD,CAAC;YAC9E,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;aAC5B,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;YACxD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,SAAS,EAAE,EAAE;gBACb,OAAO,EAAE,EAAE;aACZ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,KAAK,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC;KACpD,CAAC;AACJ,CAAC"}
@@ -1,65 +0,0 @@
1
- /**
2
- * Zod schemas for space hosting and session activation types.
3
- *
4
- * These schemas provide runtime validation for space hosting operations.
5
- * Types are derived from schemas using z.infer<>.
6
- *
7
- * @packageDocumentation
8
- */
9
- import { z } from "zod";
10
- import type { Result, ServiceError } from "@tinycloud/sdk-services";
11
- /**
12
- * Validation error type for schema validation failures.
13
- */
14
- export interface ValidationError extends ServiceError {
15
- code: "VALIDATION_ERROR";
16
- meta?: {
17
- issues: z.ZodIssue[];
18
- path?: string;
19
- };
20
- }
21
- /**
22
- * Result of a space hosting or session activation attempt.
23
- *
24
- * This schema represents the response from space hosting and session
25
- * activation operations with TinyCloud servers.
26
- */
27
- export declare const SpaceHostResultSchema: z.ZodObject<{
28
- /** Whether the operation succeeded (2xx status) */
29
- success: z.ZodBoolean;
30
- /** HTTP status code */
31
- status: z.ZodNumber;
32
- /** Error message if failed */
33
- error: z.ZodOptional<z.ZodString>;
34
- }, "strip", z.ZodTypeAny, {
35
- status: number;
36
- success: boolean;
37
- error?: string | undefined;
38
- }, {
39
- status: number;
40
- success: boolean;
41
- error?: string | undefined;
42
- }>;
43
- export type SpaceHostResult = z.infer<typeof SpaceHostResultSchema>;
44
- /**
45
- * Validate a SpaceHostResult object against the schema.
46
- *
47
- * @param data - Unknown data to validate
48
- * @returns Result with validated data or validation error
49
- *
50
- * @example
51
- * ```typescript
52
- * const result = validateSpaceHostResult(response);
53
- * if (result.ok) {
54
- * if (result.data.success) {
55
- * console.log("Space hosted successfully");
56
- * } else {
57
- * console.error("Failed:", result.data.error);
58
- * }
59
- * } else {
60
- * console.error("Validation failed:", result.error.message);
61
- * }
62
- * ```
63
- */
64
- export declare function validateSpaceHostResult(data: unknown): Result<SpaceHostResult, ValidationError>;
65
- //# sourceMappingURL=space.schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"space.schema.d.ts","sourceRoot":"","sources":["../src/space.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;AAMpE;;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;AAMD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;IAChC,mDAAmD;;IAEnD,uBAAuB;;IAEvB,8BAA8B;;;;;;;;;;EAE9B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAMpE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,OAAO,GACZ,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,CAc1C"}
@@ -1,65 +0,0 @@
1
- /**
2
- * Zod schemas for space hosting and session activation types.
3
- *
4
- * These schemas provide runtime validation for space hosting operations.
5
- * Types are derived from schemas using z.infer<>.
6
- *
7
- * @packageDocumentation
8
- */
9
- import { z } from "zod";
10
- // =============================================================================
11
- // SpaceHostResult Schema
12
- // =============================================================================
13
- /**
14
- * Result of a space hosting or session activation attempt.
15
- *
16
- * This schema represents the response from space hosting and session
17
- * activation operations with TinyCloud servers.
18
- */
19
- export const SpaceHostResultSchema = z.object({
20
- /** Whether the operation succeeded (2xx status) */
21
- success: z.boolean(),
22
- /** HTTP status code */
23
- status: z.number().int(),
24
- /** Error message if failed */
25
- error: z.string().optional(),
26
- });
27
- // =============================================================================
28
- // Validation Helpers
29
- // =============================================================================
30
- /**
31
- * Validate a SpaceHostResult object against the schema.
32
- *
33
- * @param data - Unknown data to validate
34
- * @returns Result with validated data or validation error
35
- *
36
- * @example
37
- * ```typescript
38
- * const result = validateSpaceHostResult(response);
39
- * if (result.ok) {
40
- * if (result.data.success) {
41
- * console.log("Space hosted successfully");
42
- * } else {
43
- * console.error("Failed:", result.data.error);
44
- * }
45
- * } else {
46
- * console.error("Validation failed:", result.error.message);
47
- * }
48
- * ```
49
- */
50
- export function validateSpaceHostResult(data) {
51
- const result = SpaceHostResultSchema.safeParse(data);
52
- if (!result.success) {
53
- return {
54
- ok: false,
55
- error: {
56
- code: "VALIDATION_ERROR",
57
- message: result.error.message,
58
- service: "space",
59
- meta: { issues: result.error.issues },
60
- },
61
- };
62
- }
63
- return { ok: true, data: result.data };
64
- }
65
- //# sourceMappingURL=space.schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"space.schema.js","sourceRoot":"","sources":["../src/space.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkBxB,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,mDAAmD;IACnD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,uBAAuB;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACxB,8BAA8B;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAIH,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAa;IAEb,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;gBAC7B,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;aACtC;SACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AACzC,CAAC"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Tests for space.schema.ts Zod schemas.
3
- */
4
- export {};
5
- //# sourceMappingURL=space.schema.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"space.schema.test.d.ts","sourceRoot":"","sources":["../src/space.schema.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,148 +0,0 @@
1
- /**
2
- * Tests for space.schema.ts Zod schemas.
3
- */
4
- import { describe, expect, it } from "bun:test";
5
- import { SpaceHostResultSchema, validateSpaceHostResult, } from "./space.schema";
6
- // =============================================================================
7
- // Test Fixtures
8
- // =============================================================================
9
- const validSuccessResult = {
10
- success: true,
11
- status: 200,
12
- };
13
- const validFailureResult = {
14
- success: false,
15
- status: 404,
16
- error: "Space not found",
17
- };
18
- // =============================================================================
19
- // SpaceHostResultSchema Tests
20
- // =============================================================================
21
- describe("SpaceHostResultSchema", () => {
22
- describe("valid inputs", () => {
23
- it("accepts successful result without error", () => {
24
- const result = SpaceHostResultSchema.safeParse(validSuccessResult);
25
- expect(result.success).toBe(true);
26
- if (result.success) {
27
- expect(result.data.success).toBe(true);
28
- expect(result.data.status).toBe(200);
29
- expect(result.data.error).toBeUndefined();
30
- }
31
- });
32
- it("accepts failure result with error message", () => {
33
- const result = SpaceHostResultSchema.safeParse(validFailureResult);
34
- expect(result.success).toBe(true);
35
- if (result.success) {
36
- expect(result.data.success).toBe(false);
37
- expect(result.data.status).toBe(404);
38
- expect(result.data.error).toBe("Space not found");
39
- }
40
- });
41
- it("accepts result with empty error string", () => {
42
- const data = {
43
- success: false,
44
- status: 500,
45
- error: "",
46
- };
47
- const result = SpaceHostResultSchema.safeParse(data);
48
- expect(result.success).toBe(true);
49
- });
50
- it("accepts various HTTP status codes", () => {
51
- const statusCodes = [200, 201, 204, 400, 401, 403, 404, 409, 500, 502, 503];
52
- for (const status of statusCodes) {
53
- const data = { success: status < 400, status };
54
- const result = SpaceHostResultSchema.safeParse(data);
55
- expect(result.success).toBe(true);
56
- }
57
- });
58
- });
59
- describe("invalid inputs", () => {
60
- it("rejects missing success field", () => {
61
- const data = { status: 200 };
62
- const result = SpaceHostResultSchema.safeParse(data);
63
- expect(result.success).toBe(false);
64
- });
65
- it("rejects missing status field", () => {
66
- const data = { success: true };
67
- const result = SpaceHostResultSchema.safeParse(data);
68
- expect(result.success).toBe(false);
69
- });
70
- it("rejects non-boolean success", () => {
71
- const data = { success: "true", status: 200 };
72
- const result = SpaceHostResultSchema.safeParse(data);
73
- expect(result.success).toBe(false);
74
- });
75
- it("rejects non-number status", () => {
76
- const data = { success: true, status: "200" };
77
- const result = SpaceHostResultSchema.safeParse(data);
78
- expect(result.success).toBe(false);
79
- });
80
- it("rejects floating point status", () => {
81
- const data = { success: true, status: 200.5 };
82
- const result = SpaceHostResultSchema.safeParse(data);
83
- expect(result.success).toBe(false);
84
- });
85
- it("rejects non-string error", () => {
86
- const data = { success: false, status: 500, error: 123 };
87
- const result = SpaceHostResultSchema.safeParse(data);
88
- expect(result.success).toBe(false);
89
- });
90
- it("rejects null", () => {
91
- const result = SpaceHostResultSchema.safeParse(null);
92
- expect(result.success).toBe(false);
93
- });
94
- it("rejects undefined", () => {
95
- const result = SpaceHostResultSchema.safeParse(undefined);
96
- expect(result.success).toBe(false);
97
- });
98
- it("rejects empty object", () => {
99
- const result = SpaceHostResultSchema.safeParse({});
100
- expect(result.success).toBe(false);
101
- });
102
- });
103
- });
104
- // =============================================================================
105
- // Validation Function Tests
106
- // =============================================================================
107
- describe("validateSpaceHostResult", () => {
108
- it("returns ok result for valid success data", () => {
109
- const result = validateSpaceHostResult(validSuccessResult);
110
- expect(result.ok).toBe(true);
111
- if (result.ok) {
112
- expect(result.data.success).toBe(true);
113
- expect(result.data.status).toBe(200);
114
- }
115
- });
116
- it("returns ok result for valid failure data", () => {
117
- const result = validateSpaceHostResult(validFailureResult);
118
- expect(result.ok).toBe(true);
119
- if (result.ok) {
120
- expect(result.data.success).toBe(false);
121
- expect(result.data.error).toBe("Space not found");
122
- }
123
- });
124
- it("returns error result for invalid data", () => {
125
- const result = validateSpaceHostResult({});
126
- expect(result.ok).toBe(false);
127
- if (!result.ok) {
128
- expect(result.error.code).toBe("VALIDATION_ERROR");
129
- expect(result.error.service).toBe("space");
130
- expect(result.error.meta?.issues).toBeDefined();
131
- }
132
- });
133
- it("returns error with validation issues for missing success", () => {
134
- const result = validateSpaceHostResult({ status: 200 });
135
- expect(result.ok).toBe(false);
136
- if (!result.ok) {
137
- expect(result.error.meta?.issues).toContainEqual(expect.objectContaining({ path: ["success"] }));
138
- }
139
- });
140
- it("returns error with validation issues for invalid status type", () => {
141
- const result = validateSpaceHostResult({ success: true, status: "200" });
142
- expect(result.ok).toBe(false);
143
- if (!result.ok) {
144
- expect(result.error.meta?.issues).toContainEqual(expect.objectContaining({ path: ["status"] }));
145
- }
146
- });
147
- });
148
- //# sourceMappingURL=space.schema.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"space.schema.test.js","sourceRoot":"","sources":["../src/space.schema.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Tests for activateSessionWithHost in space.ts.
3
- */
4
- export {};
5
- //# sourceMappingURL=space.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"space.test.d.ts","sourceRoot":"","sources":["../src/space.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,87 +0,0 @@
1
- /**
2
- * Tests for activateSessionWithHost in space.ts.
3
- */
4
- import { describe, expect, it, mock, beforeEach } from "bun:test";
5
- import { activateSessionWithHost } from "./space";
6
- // =============================================================================
7
- // Test Helpers
8
- // =============================================================================
9
- const TEST_HOST = "https://node.tinycloud.xyz";
10
- const TEST_DELEGATION_HEADER = { Authorization: "Bearer ucan-delegation-token" };
11
- function mockFetchResponse(body, init) {
12
- return new Response(typeof body === "string" ? body : JSON.stringify(body), init);
13
- }
14
- // =============================================================================
15
- // activateSessionWithHost Tests
16
- // =============================================================================
17
- describe("activateSessionWithHost", () => {
18
- beforeEach(() => {
19
- // Reset fetch mock before each test
20
- globalThis.fetch = mock();
21
- });
22
- it("returns success with activated/skipped arrays on JSON response", async () => {
23
- const responseBody = {
24
- activated: ["space-1", "space-2"],
25
- skipped: ["space-3"],
26
- };
27
- globalThis.fetch.mockResolvedValueOnce(mockFetchResponse(responseBody, { status: 200 }));
28
- const result = await activateSessionWithHost(TEST_HOST, TEST_DELEGATION_HEADER);
29
- expect(result.success).toBe(true);
30
- expect(result.status).toBe(200);
31
- expect(result.activated).toEqual(["space-1", "space-2"]);
32
- expect(result.skipped).toEqual(["space-3"]);
33
- });
34
- it("falls back gracefully for old servers returning non-JSON body", async () => {
35
- globalThis.fetch.mockResolvedValueOnce(mockFetchResponse("bafy2bzacea...", { status: 200 }));
36
- const result = await activateSessionWithHost(TEST_HOST, TEST_DELEGATION_HEADER);
37
- expect(result.success).toBe(true);
38
- expect(result.status).toBe(200);
39
- expect(result.activated).toEqual([]);
40
- expect(result.skipped).toEqual([]);
41
- });
42
- it("returns failure on 404 response", async () => {
43
- globalThis.fetch.mockResolvedValueOnce(mockFetchResponse("Space not found", { status: 404 }));
44
- const result = await activateSessionWithHost(TEST_HOST, TEST_DELEGATION_HEADER);
45
- expect(result.success).toBe(false);
46
- expect(result.status).toBe(404);
47
- expect(result.error).toBe("Space not found");
48
- });
49
- it("returns failure on 500 response", async () => {
50
- globalThis.fetch.mockResolvedValueOnce(mockFetchResponse("Internal server error", { status: 500 }));
51
- const result = await activateSessionWithHost(TEST_HOST, TEST_DELEGATION_HEADER);
52
- expect(result.success).toBe(false);
53
- expect(result.status).toBe(500);
54
- expect(result.error).toBe("Internal server error");
55
- });
56
- it("falls back to statusText when body read fails on error response", async () => {
57
- const response = new Response(null, { status: 502, statusText: "Bad Gateway" });
58
- // Override text() to reject — use defineProperty since text is read-only
59
- Object.defineProperty(response, "text", {
60
- value: () => Promise.reject(new Error("body stream already read")),
61
- });
62
- globalThis.fetch.mockResolvedValueOnce(response);
63
- const result = await activateSessionWithHost(TEST_HOST, TEST_DELEGATION_HEADER);
64
- expect(result.success).toBe(false);
65
- expect(result.status).toBe(502);
66
- expect(result.error).toBe("Bad Gateway");
67
- });
68
- it("sends POST to {host}/delegate with delegation header", async () => {
69
- globalThis.fetch.mockResolvedValueOnce(mockFetchResponse({ activated: [], skipped: [] }, { status: 200 }));
70
- await activateSessionWithHost(TEST_HOST, TEST_DELEGATION_HEADER);
71
- expect(globalThis.fetch).toHaveBeenCalledTimes(1);
72
- expect(globalThis.fetch).toHaveBeenCalledWith(`${TEST_HOST}/delegate`, {
73
- method: "POST",
74
- headers: TEST_DELEGATION_HEADER,
75
- });
76
- });
77
- it("composes correct URL with localhost host", async () => {
78
- const localhostHost = "http://localhost:8000";
79
- globalThis.fetch.mockResolvedValueOnce(mockFetchResponse({ activated: [], skipped: [] }, { status: 200 }));
80
- await activateSessionWithHost(localhostHost, TEST_DELEGATION_HEADER);
81
- expect(globalThis.fetch).toHaveBeenCalledWith("http://localhost:8000/delegate", {
82
- method: "POST",
83
- headers: TEST_DELEGATION_HEADER,
84
- });
85
- });
86
- });
87
- //# sourceMappingURL=space.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"space.test.js","sourceRoot":"","sources":["../src/space.test.ts"],"names":[],"mappings":"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"}