@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.
Files changed (166) hide show
  1. package/LICENSE.md +320 -0
  2. package/dist/TinyCloud.d.ts +206 -0
  3. package/dist/TinyCloud.d.ts.map +1 -0
  4. package/dist/TinyCloud.js +244 -0
  5. package/dist/TinyCloud.js.map +1 -0
  6. package/dist/TinyCloud.schema.d.ts +173 -0
  7. package/dist/TinyCloud.schema.d.ts.map +1 -0
  8. package/dist/TinyCloud.schema.js +136 -0
  9. package/dist/TinyCloud.schema.js.map +1 -0
  10. package/dist/TinyCloud.schema.test.d.ts +5 -0
  11. package/dist/TinyCloud.schema.test.d.ts.map +1 -0
  12. package/dist/TinyCloud.schema.test.js +286 -0
  13. package/dist/TinyCloud.schema.test.js.map +1 -0
  14. package/dist/authorization/CapabilityKeyRegistry.d.ts +317 -0
  15. package/dist/authorization/CapabilityKeyRegistry.d.ts.map +1 -0
  16. package/dist/authorization/CapabilityKeyRegistry.js +509 -0
  17. package/dist/authorization/CapabilityKeyRegistry.js.map +1 -0
  18. package/dist/authorization/authorization.schema.d.ts +233 -0
  19. package/dist/authorization/authorization.schema.d.ts.map +1 -0
  20. package/dist/authorization/authorization.schema.js +220 -0
  21. package/dist/authorization/authorization.schema.js.map +1 -0
  22. package/dist/authorization/authorization.schema.test.d.ts +5 -0
  23. package/dist/authorization/authorization.schema.test.d.ts.map +1 -0
  24. package/dist/authorization/authorization.schema.test.js +618 -0
  25. package/dist/authorization/authorization.schema.test.js.map +1 -0
  26. package/dist/authorization/index.d.ts +38 -0
  27. package/dist/authorization/index.d.ts.map +1 -0
  28. package/dist/authorization/index.js +52 -0
  29. package/dist/authorization/index.js.map +1 -0
  30. package/dist/authorization/spaceCreation.d.ts +96 -0
  31. package/dist/authorization/spaceCreation.d.ts.map +1 -0
  32. package/dist/authorization/spaceCreation.js +35 -0
  33. package/dist/authorization/spaceCreation.js.map +1 -0
  34. package/dist/authorization/spaceCreation.schema.d.ts +67 -0
  35. package/dist/authorization/spaceCreation.schema.d.ts.map +1 -0
  36. package/dist/authorization/spaceCreation.schema.js +95 -0
  37. package/dist/authorization/spaceCreation.schema.js.map +1 -0
  38. package/dist/authorization/spaceCreation.schema.test.d.ts +5 -0
  39. package/dist/authorization/spaceCreation.schema.test.d.ts.map +1 -0
  40. package/dist/authorization/spaceCreation.schema.test.js +168 -0
  41. package/dist/authorization/spaceCreation.schema.test.js.map +1 -0
  42. package/dist/authorization/strategies.d.ts +134 -0
  43. package/dist/authorization/strategies.d.ts.map +1 -0
  44. package/dist/authorization/strategies.js +15 -0
  45. package/dist/authorization/strategies.js.map +1 -0
  46. package/dist/authorization/strategies.schema.d.ts +185 -0
  47. package/dist/authorization/strategies.schema.d.ts.map +1 -0
  48. package/dist/authorization/strategies.schema.js +147 -0
  49. package/dist/authorization/strategies.schema.js.map +1 -0
  50. package/dist/authorization/strategies.schema.test.d.ts +5 -0
  51. package/dist/authorization/strategies.schema.test.d.ts.map +1 -0
  52. package/dist/authorization/strategies.schema.test.js +253 -0
  53. package/dist/authorization/strategies.schema.test.js.map +1 -0
  54. package/dist/delegations/DelegationManager.d.ts +164 -0
  55. package/dist/delegations/DelegationManager.d.ts.map +1 -0
  56. package/dist/delegations/DelegationManager.js +428 -0
  57. package/dist/delegations/DelegationManager.js.map +1 -0
  58. package/dist/delegations/SharingService.d.ts +279 -0
  59. package/dist/delegations/SharingService.d.ts.map +1 -0
  60. package/dist/delegations/SharingService.js +558 -0
  61. package/dist/delegations/SharingService.js.map +1 -0
  62. package/dist/delegations/SharingService.schema.d.ts +401 -0
  63. package/dist/delegations/SharingService.schema.d.ts.map +1 -0
  64. package/dist/delegations/SharingService.schema.js +211 -0
  65. package/dist/delegations/SharingService.schema.js.map +1 -0
  66. package/dist/delegations/index.d.ts +38 -0
  67. package/dist/delegations/index.d.ts.map +1 -0
  68. package/dist/delegations/index.js +42 -0
  69. package/dist/delegations/index.js.map +1 -0
  70. package/dist/delegations/types.d.ts +13 -0
  71. package/dist/delegations/types.d.ts.map +1 -0
  72. package/dist/delegations/types.js +42 -0
  73. package/dist/delegations/types.js.map +1 -0
  74. package/dist/delegations/types.schema.d.ts +1641 -0
  75. package/dist/delegations/types.schema.d.ts.map +1 -0
  76. package/dist/delegations/types.schema.js +535 -0
  77. package/dist/delegations/types.schema.js.map +1 -0
  78. package/dist/delegations/types.schema.test.d.ts +5 -0
  79. package/dist/delegations/types.schema.test.d.ts.map +1 -0
  80. package/dist/delegations/types.schema.test.js +627 -0
  81. package/dist/delegations/types.schema.test.js.map +1 -0
  82. package/dist/index.d.ts +22 -0
  83. package/dist/index.d.ts.map +1 -0
  84. package/dist/index.js +52 -0
  85. package/dist/index.js.map +1 -0
  86. package/dist/json-schema.d.ts +327 -0
  87. package/dist/json-schema.d.ts.map +1 -0
  88. package/dist/json-schema.js +703 -0
  89. package/dist/json-schema.js.map +1 -0
  90. package/dist/json-schema.test.d.ts +7 -0
  91. package/dist/json-schema.test.d.ts.map +1 -0
  92. package/dist/json-schema.test.js +365 -0
  93. package/dist/json-schema.test.js.map +1 -0
  94. package/dist/signer.d.ts +28 -0
  95. package/dist/signer.d.ts.map +1 -0
  96. package/dist/signer.js +2 -0
  97. package/dist/signer.js.map +1 -0
  98. package/dist/space.d.ts +53 -0
  99. package/dist/space.d.ts.map +1 -0
  100. package/dist/space.js +67 -0
  101. package/dist/space.js.map +1 -0
  102. package/dist/space.schema.d.ts +65 -0
  103. package/dist/space.schema.d.ts.map +1 -0
  104. package/dist/space.schema.js +65 -0
  105. package/dist/space.schema.js.map +1 -0
  106. package/dist/space.schema.test.d.ts +5 -0
  107. package/dist/space.schema.test.d.ts.map +1 -0
  108. package/dist/space.schema.test.js +148 -0
  109. package/dist/space.schema.test.js.map +1 -0
  110. package/dist/spaces/Space.d.ts +175 -0
  111. package/dist/spaces/Space.d.ts.map +1 -0
  112. package/dist/spaces/Space.js +84 -0
  113. package/dist/spaces/Space.js.map +1 -0
  114. package/dist/spaces/SpaceService.d.ts +271 -0
  115. package/dist/spaces/SpaceService.d.ts.map +1 -0
  116. package/dist/spaces/SpaceService.js +715 -0
  117. package/dist/spaces/SpaceService.js.map +1 -0
  118. package/dist/spaces/index.d.ts +11 -0
  119. package/dist/spaces/index.d.ts.map +1 -0
  120. package/dist/spaces/index.js +20 -0
  121. package/dist/spaces/index.js.map +1 -0
  122. package/dist/spaces/spaces.schema.d.ts +421 -0
  123. package/dist/spaces/spaces.schema.d.ts.map +1 -0
  124. package/dist/spaces/spaces.schema.js +342 -0
  125. package/dist/spaces/spaces.schema.js.map +1 -0
  126. package/dist/spaces/spaces.schema.test.d.ts +5 -0
  127. package/dist/spaces/spaces.schema.test.d.ts.map +1 -0
  128. package/dist/spaces/spaces.schema.test.js +471 -0
  129. package/dist/spaces/spaces.schema.test.js.map +1 -0
  130. package/dist/storage.d.ts +47 -0
  131. package/dist/storage.d.ts.map +1 -0
  132. package/dist/storage.js +14 -0
  133. package/dist/storage.js.map +1 -0
  134. package/dist/storage.schema.d.ts +277 -0
  135. package/dist/storage.schema.d.ts.map +1 -0
  136. package/dist/storage.schema.js +185 -0
  137. package/dist/storage.schema.js.map +1 -0
  138. package/dist/storage.schema.test.d.ts +5 -0
  139. package/dist/storage.schema.test.d.ts.map +1 -0
  140. package/dist/storage.schema.test.js +346 -0
  141. package/dist/storage.schema.test.js.map +1 -0
  142. package/dist/userAuthorization.d.ts +99 -0
  143. package/dist/userAuthorization.d.ts.map +1 -0
  144. package/dist/userAuthorization.js +3 -0
  145. package/dist/userAuthorization.js.map +1 -0
  146. package/dist/userAuthorization.schema.d.ts +259 -0
  147. package/dist/userAuthorization.schema.d.ts.map +1 -0
  148. package/dist/userAuthorization.schema.js +175 -0
  149. package/dist/userAuthorization.schema.js.map +1 -0
  150. package/dist/userAuthorization.schema.test.d.ts +5 -0
  151. package/dist/userAuthorization.schema.test.d.ts.map +1 -0
  152. package/dist/userAuthorization.schema.test.js +356 -0
  153. package/dist/userAuthorization.schema.test.js.map +1 -0
  154. package/dist/version.d.ts +30 -0
  155. package/dist/version.d.ts.map +1 -0
  156. package/dist/version.js +54 -0
  157. package/dist/version.js.map +1 -0
  158. package/dist/wasm-validation.d.ts +287 -0
  159. package/dist/wasm-validation.d.ts.map +1 -0
  160. package/dist/wasm-validation.js +219 -0
  161. package/dist/wasm-validation.js.map +1 -0
  162. package/dist/wasm-validation.test.d.ts +5 -0
  163. package/dist/wasm-validation.test.d.ts.map +1 -0
  164. package/dist/wasm-validation.test.js +233 -0
  165. package/dist/wasm-validation.test.js.map +1 -0
  166. package/package.json +40 -0
@@ -0,0 +1,253 @@
1
+ /**
2
+ * Tests for SignStrategy schemas.
3
+ */
4
+ import { describe, it, expect } from "bun:test";
5
+ import { SignRequestSchema, SignResponseSchema, SignRequestTypeSchema, AutoSignStrategySchema, AutoRejectStrategySchema, CallbackStrategySchema, EventEmitterStrategySchema, SignStrategySchema, validateSignStrategy, validateSignRequest, validateSignResponse, } from "./strategies.schema";
6
+ describe("SignRequestTypeSchema", () => {
7
+ it("should accept valid sign request types", () => {
8
+ expect(SignRequestTypeSchema.safeParse("siwe").success).toBe(true);
9
+ expect(SignRequestTypeSchema.safeParse("message").success).toBe(true);
10
+ });
11
+ it("should reject invalid sign request types", () => {
12
+ expect(SignRequestTypeSchema.safeParse("invalid").success).toBe(false);
13
+ expect(SignRequestTypeSchema.safeParse("").success).toBe(false);
14
+ expect(SignRequestTypeSchema.safeParse(123).success).toBe(false);
15
+ });
16
+ });
17
+ describe("SignRequestSchema", () => {
18
+ const validRequest = {
19
+ address: "0x1234567890123456789012345678901234567890",
20
+ chainId: 1,
21
+ message: "Sign this message",
22
+ type: "siwe",
23
+ };
24
+ it("should accept valid sign request", () => {
25
+ const result = SignRequestSchema.safeParse(validRequest);
26
+ expect(result.success).toBe(true);
27
+ });
28
+ it("should accept message type", () => {
29
+ const result = SignRequestSchema.safeParse({
30
+ ...validRequest,
31
+ type: "message",
32
+ });
33
+ expect(result.success).toBe(true);
34
+ });
35
+ it("should reject missing address", () => {
36
+ const { address, ...rest } = validRequest;
37
+ expect(SignRequestSchema.safeParse(rest).success).toBe(false);
38
+ });
39
+ it("should reject missing chainId", () => {
40
+ const { chainId, ...rest } = validRequest;
41
+ expect(SignRequestSchema.safeParse(rest).success).toBe(false);
42
+ });
43
+ it("should reject missing message", () => {
44
+ const { message, ...rest } = validRequest;
45
+ expect(SignRequestSchema.safeParse(rest).success).toBe(false);
46
+ });
47
+ it("should reject missing type", () => {
48
+ const { type, ...rest } = validRequest;
49
+ expect(SignRequestSchema.safeParse(rest).success).toBe(false);
50
+ });
51
+ it("should reject invalid type", () => {
52
+ const result = SignRequestSchema.safeParse({
53
+ ...validRequest,
54
+ type: "invalid",
55
+ });
56
+ expect(result.success).toBe(false);
57
+ });
58
+ });
59
+ describe("SignResponseSchema", () => {
60
+ it("should accept approved response with signature", () => {
61
+ const result = SignResponseSchema.safeParse({
62
+ approved: true,
63
+ signature: "0xabcdef",
64
+ });
65
+ expect(result.success).toBe(true);
66
+ });
67
+ it("should accept rejected response with reason", () => {
68
+ const result = SignResponseSchema.safeParse({
69
+ approved: false,
70
+ reason: "User cancelled",
71
+ });
72
+ expect(result.success).toBe(true);
73
+ });
74
+ it("should accept minimal response", () => {
75
+ const result = SignResponseSchema.safeParse({
76
+ approved: true,
77
+ });
78
+ expect(result.success).toBe(true);
79
+ });
80
+ it("should reject missing approved field", () => {
81
+ const result = SignResponseSchema.safeParse({
82
+ signature: "0xabcdef",
83
+ });
84
+ expect(result.success).toBe(false);
85
+ });
86
+ });
87
+ describe("AutoSignStrategySchema", () => {
88
+ it("should accept valid auto-sign strategy", () => {
89
+ const result = AutoSignStrategySchema.safeParse({ type: "auto-sign" });
90
+ expect(result.success).toBe(true);
91
+ });
92
+ it("should reject wrong type", () => {
93
+ const result = AutoSignStrategySchema.safeParse({ type: "auto-reject" });
94
+ expect(result.success).toBe(false);
95
+ });
96
+ it("should reject missing type", () => {
97
+ const result = AutoSignStrategySchema.safeParse({});
98
+ expect(result.success).toBe(false);
99
+ });
100
+ });
101
+ describe("AutoRejectStrategySchema", () => {
102
+ it("should accept valid auto-reject strategy", () => {
103
+ const result = AutoRejectStrategySchema.safeParse({ type: "auto-reject" });
104
+ expect(result.success).toBe(true);
105
+ });
106
+ it("should reject wrong type", () => {
107
+ const result = AutoRejectStrategySchema.safeParse({ type: "auto-sign" });
108
+ expect(result.success).toBe(false);
109
+ });
110
+ });
111
+ describe("CallbackStrategySchema", () => {
112
+ it("should accept valid callback strategy", () => {
113
+ const handler = async () => ({ approved: true, signature: "0x123" });
114
+ const result = CallbackStrategySchema.safeParse({
115
+ type: "callback",
116
+ handler,
117
+ });
118
+ expect(result.success).toBe(true);
119
+ });
120
+ it("should reject non-function handler", () => {
121
+ const result = CallbackStrategySchema.safeParse({
122
+ type: "callback",
123
+ handler: "not a function",
124
+ });
125
+ expect(result.success).toBe(false);
126
+ });
127
+ it("should reject missing handler", () => {
128
+ const result = CallbackStrategySchema.safeParse({
129
+ type: "callback",
130
+ });
131
+ expect(result.success).toBe(false);
132
+ });
133
+ });
134
+ describe("EventEmitterStrategySchema", () => {
135
+ it("should accept valid event emitter strategy", () => {
136
+ const emitter = new EventTarget();
137
+ const result = EventEmitterStrategySchema.safeParse({
138
+ type: "event-emitter",
139
+ emitter,
140
+ });
141
+ expect(result.success).toBe(true);
142
+ });
143
+ it("should accept with optional timeout", () => {
144
+ const emitter = new EventTarget();
145
+ const result = EventEmitterStrategySchema.safeParse({
146
+ type: "event-emitter",
147
+ emitter,
148
+ timeout: 30000,
149
+ });
150
+ expect(result.success).toBe(true);
151
+ });
152
+ it("should reject non-EventTarget emitter", () => {
153
+ const result = EventEmitterStrategySchema.safeParse({
154
+ type: "event-emitter",
155
+ emitter: "not an event target",
156
+ });
157
+ expect(result.success).toBe(false);
158
+ });
159
+ it("should reject missing emitter", () => {
160
+ const result = EventEmitterStrategySchema.safeParse({
161
+ type: "event-emitter",
162
+ });
163
+ expect(result.success).toBe(false);
164
+ });
165
+ });
166
+ describe("SignStrategySchema", () => {
167
+ it("should accept auto-sign strategy", () => {
168
+ const result = SignStrategySchema.safeParse({ type: "auto-sign" });
169
+ expect(result.success).toBe(true);
170
+ if (result.success) {
171
+ expect(result.data.type).toBe("auto-sign");
172
+ }
173
+ });
174
+ it("should accept auto-reject strategy", () => {
175
+ const result = SignStrategySchema.safeParse({ type: "auto-reject" });
176
+ expect(result.success).toBe(true);
177
+ if (result.success) {
178
+ expect(result.data.type).toBe("auto-reject");
179
+ }
180
+ });
181
+ it("should accept callback strategy", () => {
182
+ const handler = async () => ({ approved: true });
183
+ const result = SignStrategySchema.safeParse({ type: "callback", handler });
184
+ expect(result.success).toBe(true);
185
+ if (result.success) {
186
+ expect(result.data.type).toBe("callback");
187
+ }
188
+ });
189
+ it("should accept event-emitter strategy", () => {
190
+ const emitter = new EventTarget();
191
+ const result = SignStrategySchema.safeParse({
192
+ type: "event-emitter",
193
+ emitter,
194
+ });
195
+ expect(result.success).toBe(true);
196
+ if (result.success) {
197
+ expect(result.data.type).toBe("event-emitter");
198
+ }
199
+ });
200
+ it("should reject unknown strategy type", () => {
201
+ const result = SignStrategySchema.safeParse({ type: "unknown" });
202
+ expect(result.success).toBe(false);
203
+ });
204
+ });
205
+ describe("validateSignStrategy", () => {
206
+ it("should return ok result for valid strategy", () => {
207
+ const result = validateSignStrategy({ type: "auto-sign" });
208
+ expect(result.ok).toBe(true);
209
+ if (result.ok) {
210
+ expect(result.data.type).toBe("auto-sign");
211
+ }
212
+ });
213
+ it("should return error result for invalid strategy", () => {
214
+ const result = validateSignStrategy({ type: "invalid" });
215
+ expect(result.ok).toBe(false);
216
+ if (!result.ok) {
217
+ expect(result.error.code).toBe("VALIDATION_ERROR");
218
+ expect(result.error.service).toBe("authorization");
219
+ }
220
+ });
221
+ });
222
+ describe("validateSignRequest", () => {
223
+ it("should return ok result for valid request", () => {
224
+ const result = validateSignRequest({
225
+ address: "0x1234567890123456789012345678901234567890",
226
+ chainId: 1,
227
+ message: "Test",
228
+ type: "siwe",
229
+ });
230
+ expect(result.ok).toBe(true);
231
+ });
232
+ it("should return error result for invalid request", () => {
233
+ const result = validateSignRequest({});
234
+ expect(result.ok).toBe(false);
235
+ if (!result.ok) {
236
+ expect(result.error.code).toBe("VALIDATION_ERROR");
237
+ }
238
+ });
239
+ });
240
+ describe("validateSignResponse", () => {
241
+ it("should return ok result for valid response", () => {
242
+ const result = validateSignResponse({ approved: true });
243
+ expect(result.ok).toBe(true);
244
+ });
245
+ it("should return error result for invalid response", () => {
246
+ const result = validateSignResponse({});
247
+ expect(result.ok).toBe(false);
248
+ if (!result.ok) {
249
+ expect(result.error.code).toBe("VALIDATION_ERROR");
250
+ }
251
+ });
252
+ });
253
+ //# sourceMappingURL=strategies.schema.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategies.schema.test.js","sourceRoot":"","sources":["../../src/authorization/strategies.schema.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * DelegationManager - Handles delegation CRUD operations.
3
+ *
4
+ * This class manages the creation, revocation, listing, and querying
5
+ * of delegations within TinyCloud. It extracts and improves upon the
6
+ * delegation functionality previously in ITinyCloudStorage.
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ import type { ServiceSession } from "@tinycloudlabs/sdk-services";
11
+ import { Result, Delegation, CreateDelegationParams, DelegationChain, DelegationManagerConfig } from "./types";
12
+ /**
13
+ * DelegationManager handles all delegation-related operations.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * import { DelegationManager } from "@tinycloudlabs/sdk-core/delegations";
18
+ *
19
+ * const delegations = new DelegationManager({
20
+ * hosts: ["https://node.tinycloud.xyz"],
21
+ * session,
22
+ * invoke,
23
+ * });
24
+ *
25
+ * // Create a delegation
26
+ * const result = await delegations.create({
27
+ * delegateDID: "did:pkh:eip155:1:0x...",
28
+ * path: "shared/",
29
+ * actions: ["tinycloud.kv/get", "tinycloud.kv/list"],
30
+ * expiry: new Date(Date.now() + 24 * 60 * 60 * 1000), // 24 hours
31
+ * });
32
+ *
33
+ * if (result.ok) {
34
+ * console.log("Created delegation:", result.data.cid);
35
+ * }
36
+ * ```
37
+ */
38
+ export declare class DelegationManager {
39
+ private hosts;
40
+ private session;
41
+ private invoke;
42
+ private fetchFn;
43
+ /**
44
+ * Creates a new DelegationManager instance.
45
+ *
46
+ * @param config - Configuration including hosts, session, and invoke function
47
+ */
48
+ constructor(config: DelegationManagerConfig);
49
+ /**
50
+ * Updates the session (e.g., after re-authentication).
51
+ *
52
+ * @param session - New session to use for operations
53
+ */
54
+ updateSession(session: ServiceSession): void;
55
+ /**
56
+ * Gets the primary host URL.
57
+ */
58
+ private get host();
59
+ /**
60
+ * Executes an invoke operation against the delegation API.
61
+ */
62
+ private invokeOperation;
63
+ /**
64
+ * Creates a new delegation.
65
+ *
66
+ * Delegates specific permissions to another DID for a given path.
67
+ * The delegatee can then use these permissions to access resources
68
+ * within the specified scope.
69
+ *
70
+ * @param params - Parameters for the delegation
71
+ * @returns Result containing the created Delegation or an error
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * const result = await manager.create({
76
+ * delegateDID: bob.did,
77
+ * path: "documents/shared/",
78
+ * actions: ["tinycloud.kv/get", "tinycloud.kv/put"],
79
+ * expiry: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000), // 7 days
80
+ * });
81
+ * ```
82
+ */
83
+ create(params: CreateDelegationParams): Promise<Result<Delegation>>;
84
+ /**
85
+ * Revokes an existing delegation.
86
+ *
87
+ * Once revoked, the delegation can no longer be used to access resources.
88
+ * This also invalidates any sub-delegations derived from this delegation.
89
+ *
90
+ * @param cid - The CID of the delegation to revoke
91
+ * @returns Result indicating success or an error
92
+ *
93
+ * @example
94
+ * ```typescript
95
+ * const result = await manager.revoke("bafy...");
96
+ * if (result.ok) {
97
+ * console.log("Delegation revoked successfully");
98
+ * }
99
+ * ```
100
+ */
101
+ revoke(cid: string): Promise<Result<void>>;
102
+ /**
103
+ * Lists all delegations for the current session's space.
104
+ *
105
+ * Returns both delegations created by the current user (as delegator)
106
+ * and delegations granted to the current user (as delegatee).
107
+ *
108
+ * @returns Result containing an array of Delegations or an error
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * const result = await manager.list();
113
+ * if (result.ok) {
114
+ * for (const delegation of result.data) {
115
+ * console.log(`${delegation.cid}: ${delegation.path} -> ${delegation.delegateDID}`);
116
+ * }
117
+ * }
118
+ * ```
119
+ */
120
+ list(): Promise<Result<Delegation[]>>;
121
+ /**
122
+ * Gets the full delegation chain for a given delegation.
123
+ *
124
+ * Returns the chain of delegations from the root (original delegator)
125
+ * to the specified delegation, including all intermediate sub-delegations.
126
+ *
127
+ * @param cid - The CID of the delegation to get the chain for
128
+ * @returns Result containing the DelegationChain or an error
129
+ *
130
+ * @example
131
+ * ```typescript
132
+ * const result = await manager.getChain("bafy...");
133
+ * if (result.ok) {
134
+ * console.log("Chain length:", result.data.length);
135
+ * for (const delegation of result.data) {
136
+ * console.log(`- ${delegation.delegatorDID} -> ${delegation.delegateDID}`);
137
+ * }
138
+ * }
139
+ * ```
140
+ */
141
+ getChain(cid: string): Promise<Result<DelegationChain>>;
142
+ /**
143
+ * Checks if the current session has permission for a given path and action.
144
+ *
145
+ * This can be used to verify permissions before attempting an operation,
146
+ * or to implement custom access control logic.
147
+ *
148
+ * @param path - The resource path to check
149
+ * @param action - The action to check (e.g., "tinycloud.kv/get")
150
+ * @returns Result containing a boolean indicating permission or an error
151
+ *
152
+ * @example
153
+ * ```typescript
154
+ * const result = await manager.checkPermission("documents/private/", "tinycloud.kv/put");
155
+ * if (result.ok && result.data) {
156
+ * console.log("Permission granted");
157
+ * } else {
158
+ * console.log("Permission denied");
159
+ * }
160
+ * ```
161
+ */
162
+ checkPermission(path: string, action: string): Promise<Result<boolean>>;
163
+ }
164
+ //# sourceMappingURL=DelegationManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DelegationManager.d.ts","sourceRoot":"","sources":["../../src/delegations/DelegationManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAIV,cAAc,EACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,MAAM,EAGN,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,uBAAuB,EAExB,MAAM,SAAS,CAAC;AA+BjB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,OAAO,CAAgB;IAE/B;;;;OAIG;gBACS,MAAM,EAAE,uBAAuB;IAO3C;;;;OAIG;IACI,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAInD;;OAEG;IACH,OAAO,KAAK,IAAI,GAEf;IAED;;OAEG;YACW,eAAe;IAc7B;;;;;;;;;;;;;;;;;;;OAmBG;IACG,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAkGzE;;;;;;;;;;;;;;;;OAgBG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAmEhD;;;;;;;;;;;;;;;;;OAiBG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAoE3C;;;;;;;;;;;;;;;;;;;OAmBG;IACG,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAiG7D;;;;;;;;;;;;;;;;;;;OAmBG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;CAuE9E"}