@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,317 +0,0 @@
1
- /**
2
- * CapabilityKeyRegistry - Tracks keys and their capabilities for automatic key selection.
3
- *
4
- * The registry maintains mappings between:
5
- * - Keys and their associated delegations
6
- * - Capabilities (resource/action pairs) and the keys that can exercise them
7
- *
8
- * This enables automatic key selection when performing operations, choosing
9
- * the most appropriate key based on priority and validity.
10
- *
11
- * @packageDocumentation
12
- */
13
- import type { Result, ServiceError } from "@tinycloud/sdk-services";
14
- import type { KeyInfo, CapabilityEntry, Delegation, IngestOptions } from "../delegations/types";
15
- /**
16
- * Error codes specific to CapabilityKeyRegistry operations.
17
- */
18
- export declare const CapabilityKeyRegistryErrorCodes: {
19
- /** Key not found in registry */
20
- readonly KEY_NOT_FOUND: "KEY_NOT_FOUND";
21
- /** No key available for the requested capability */
22
- readonly NO_CAPABLE_KEY: "NO_CAPABLE_KEY";
23
- /** Delegation has expired */
24
- readonly DELEGATION_EXPIRED: "DELEGATION_EXPIRED";
25
- /** Delegation has been revoked */
26
- readonly DELEGATION_REVOKED: "DELEGATION_REVOKED";
27
- /** Invalid delegation data */
28
- readonly INVALID_DELEGATION: "INVALID_DELEGATION";
29
- /** Key already registered */
30
- readonly KEY_EXISTS: "KEY_EXISTS";
31
- };
32
- export type CapabilityKeyRegistryErrorCode = (typeof CapabilityKeyRegistryErrorCodes)[keyof typeof CapabilityKeyRegistryErrorCodes];
33
- /**
34
- * Stored delegation with chain information.
35
- */
36
- export interface StoredDelegationChain {
37
- /** The delegation itself */
38
- delegation: Delegation;
39
- /** Parent delegation CID if this is a sub-delegation */
40
- parentCid?: string;
41
- /** Key ID used to sign/exercise this delegation */
42
- keyId: string;
43
- /** When this was stored */
44
- storedAt: Date;
45
- }
46
- /**
47
- * Interface for the CapabilityKeyRegistry.
48
- *
49
- * Tracks keys and their capabilities for automatic key selection.
50
- */
51
- export interface ICapabilityKeyRegistry {
52
- /**
53
- * Register a key with its associated delegations.
54
- *
55
- * @param key - Key information
56
- * @param delegations - Delegations granted to this key
57
- */
58
- registerKey(key: KeyInfo, delegations: Delegation[]): void;
59
- /**
60
- * Remove a key and all its associated delegations.
61
- *
62
- * @param keyId - The key ID to remove
63
- */
64
- removeKey(keyId: string): void;
65
- /**
66
- * Get a key that can exercise the specified capability.
67
- *
68
- * Uses the key selection algorithm:
69
- * 1. Filter keys that have the required capability
70
- * 2. Check delegation validity (not expired, not revoked)
71
- * 3. Sort by priority (session=0, main=1, ingested=2)
72
- * 4. Return highest priority valid key
73
- *
74
- * @param resource - Resource URI (e.g., "tinycloud://space-id/kv/my-data")
75
- * @param action - Action to perform (e.g., "tinycloud.kv/get")
76
- * @returns The best matching key, or null if none available
77
- */
78
- getKeyForCapability(resource: string, action: string): KeyInfo | null;
79
- /**
80
- * Get all registered capabilities.
81
- *
82
- * @returns All capability entries in the registry
83
- */
84
- getAllCapabilities(): CapabilityEntry[];
85
- /**
86
- * Get all delegations for a specific key.
87
- *
88
- * @param keyId - The key ID
89
- * @returns Array of delegations for this key
90
- */
91
- getDelegationsForKey(keyId: string): Delegation[];
92
- /**
93
- * Ingest a key and delegation from an external source (e.g., sharing link).
94
- *
95
- * @param key - Key information to ingest
96
- * @param delegation - Delegation to associate with the key
97
- * @param options - Ingestion options
98
- */
99
- ingestKey(key: KeyInfo, delegation: Delegation, options?: IngestOptions): void;
100
- /**
101
- * Check if a delegation is currently valid.
102
- *
103
- * @param delegation - The delegation to check
104
- * @returns true if valid, false if expired or revoked
105
- */
106
- isDelegationValid(delegation: Delegation): boolean;
107
- /**
108
- * Get a key by its ID.
109
- *
110
- * @param keyId - The key ID
111
- * @returns The key info, or undefined if not found
112
- */
113
- getKey(keyId: string): KeyInfo | undefined;
114
- /**
115
- * Get all registered keys.
116
- *
117
- * @returns Array of all registered keys
118
- */
119
- getAllKeys(): KeyInfo[];
120
- /**
121
- * Clear all registered keys and delegations.
122
- */
123
- clear(): void;
124
- /**
125
- * Revoke a delegation by CID.
126
- *
127
- * @param cid - The delegation CID to revoke
128
- * @returns Result indicating success or failure
129
- */
130
- revokeDelegation(cid: string): Result<void, ServiceError>;
131
- /**
132
- * Find capabilities that match a resource path pattern.
133
- *
134
- * @param resourcePattern - Resource pattern (supports wildcards)
135
- * @param action - Optional action filter
136
- * @returns Matching capability entries
137
- */
138
- findCapabilities(resourcePattern: string, action?: string): CapabilityEntry[];
139
- }
140
- /**
141
- * CapabilityKeyRegistry - Tracks keys and their capabilities for automatic key selection.
142
- *
143
- * @example
144
- * ```typescript
145
- * const registry = new CapabilityKeyRegistry();
146
- *
147
- * // Register a session key with its delegations
148
- * registry.registerKey(sessionKey, [rootDelegation]);
149
- *
150
- * // Get the best key for an operation
151
- * const key = registry.getKeyForCapability(
152
- * "tinycloud://my-space/kv/data",
153
- * "tinycloud.kv/get"
154
- * );
155
- *
156
- * if (key) {
157
- * // Use this key for the operation
158
- * console.log("Using key:", key.id);
159
- * }
160
- * ```
161
- */
162
- export declare class CapabilityKeyRegistry implements ICapabilityKeyRegistry {
163
- /**
164
- * Registry of all keys indexed by ID.
165
- */
166
- private keys;
167
- /**
168
- * Delegation storage.
169
- */
170
- private store;
171
- /**
172
- * Register a key with its associated delegations.
173
- *
174
- * @param key - Key information
175
- * @param delegations - Delegations granted to this key
176
- */
177
- registerKey(key: KeyInfo, delegations: Delegation[]): void;
178
- /**
179
- * Remove a key and all its associated delegations.
180
- *
181
- * @param keyId - The key ID to remove
182
- */
183
- removeKey(keyId: string): void;
184
- /**
185
- * Get a key that can exercise the specified capability.
186
- *
187
- * Key selection algorithm:
188
- * 1. Filter keys that have the required capability
189
- * 2. Check delegation validity (not expired, not revoked)
190
- * 3. Sort by priority (session=0, main=1, ingested=2)
191
- * 4. Return highest priority valid key
192
- *
193
- * @param resource - Resource URI
194
- * @param action - Action to perform
195
- * @returns The best matching key, or null if none available
196
- */
197
- getKeyForCapability(resource: string, action: string): KeyInfo | null;
198
- /**
199
- * Get all registered capabilities.
200
- *
201
- * @returns All capability entries in the registry
202
- */
203
- getAllCapabilities(): CapabilityEntry[];
204
- /**
205
- * Get all delegations for a specific key.
206
- *
207
- * @param keyId - The key ID
208
- * @returns Array of delegations for this key
209
- */
210
- getDelegationsForKey(keyId: string): Delegation[];
211
- /**
212
- * Ingest a key and delegation from an external source.
213
- *
214
- * @param key - Key information to ingest
215
- * @param delegation - Delegation to associate with the key
216
- * @param options - Ingestion options
217
- */
218
- ingestKey(key: KeyInfo, delegation: Delegation, options?: IngestOptions): void;
219
- /**
220
- * Check if a delegation is currently valid.
221
- *
222
- * @param delegation - The delegation to check
223
- * @returns true if valid, false if expired or revoked
224
- */
225
- isDelegationValid(delegation: Delegation): boolean;
226
- /**
227
- * Get a key by its ID.
228
- *
229
- * @param keyId - The key ID
230
- * @returns The key info, or undefined if not found
231
- */
232
- getKey(keyId: string): KeyInfo | undefined;
233
- /**
234
- * Get all registered keys.
235
- *
236
- * @returns Array of all registered keys
237
- */
238
- getAllKeys(): KeyInfo[];
239
- /**
240
- * Clear all registered keys and delegations.
241
- */
242
- clear(): void;
243
- /**
244
- * Revoke a delegation by CID.
245
- *
246
- * @param cid - The delegation CID to revoke
247
- * @returns Result indicating success or failure
248
- */
249
- revokeDelegation(cid: string): Result<void, ServiceError>;
250
- /**
251
- * Find capabilities that match a resource path pattern.
252
- *
253
- * @param resourcePattern - Resource pattern (supports wildcards)
254
- * @param action - Optional action filter
255
- * @returns Matching capability entries
256
- */
257
- findCapabilities(resourcePattern: string, action?: string): CapabilityEntry[];
258
- /**
259
- * Add a delegation to the store.
260
- *
261
- * @param key - The key associated with this delegation
262
- * @param delegation - The delegation to add
263
- */
264
- private addDelegation;
265
- /**
266
- * Create a capability key for indexing.
267
- *
268
- * @param resource - Resource path
269
- * @param action - Action
270
- * @returns Combined key string
271
- */
272
- private makeCapabilityKey;
273
- /**
274
- * Find capability entries that match a resource and action.
275
- *
276
- * @param resource - Resource to match
277
- * @param action - Action to match
278
- * @returns Matching entries
279
- */
280
- private findMatchingEntries;
281
- /**
282
- * Check if an action pattern matches a specific action.
283
- *
284
- * @param pattern - Action pattern (may include wildcard like "tinycloud.kv/*")
285
- * @param action - Specific action to check
286
- * @returns true if pattern matches action
287
- */
288
- private actionMatches;
289
- /**
290
- * Check if a resource matches a pattern.
291
- *
292
- * Patterns support:
293
- * - Exact match: "/kv/data" matches "/kv/data"
294
- * - Wildcard suffix: "/kv/*" matches "/kv/anything"
295
- * - Double wildcard: "/kv/**" matches "/kv/any/nested/path"
296
- *
297
- * @param resource - The specific resource being accessed
298
- * @param pattern - The pattern from the delegation
299
- * @returns true if resource matches pattern
300
- */
301
- private resourceMatchesPattern;
302
- /**
303
- * Check if a specific resource matches a resource pattern for searching.
304
- *
305
- * @param entryResource - The resource from a capability entry
306
- * @param searchPattern - The pattern to search for
307
- * @returns true if entry resource matches search pattern
308
- */
309
- private matchesResourcePattern;
310
- }
311
- /**
312
- * Create a new CapabilityKeyRegistry instance.
313
- *
314
- * @returns A new registry instance
315
- */
316
- export declare function createCapabilityKeyRegistry(): ICapabilityKeyRegistry;
317
- //# sourceMappingURL=CapabilityKeyRegistry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CapabilityKeyRegistry.d.ts","sourceRoot":"","sources":["../../src/authorization/CapabilityKeyRegistry.ts"],"names":[],"mappings":"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"}