@tinycloud/sdk-core 1.0.1 → 1.2.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.
@@ -1,5 +1,5 @@
1
1
  import { IUserAuthorization, ClientSession, Extension } from "./userAuthorization";
2
- import { IService, IServiceContext, IKVService, InvokeFunction, FetchFunction, RetryPolicy, ServiceConstructor } from "@tinycloud/sdk-services";
2
+ import { IService, IServiceContext, IKVService, ISQLService, InvokeFunction, FetchFunction, RetryPolicy, ServiceConstructor, Result, ServiceError } from "@tinycloud/sdk-services";
3
3
  /**
4
4
  * Configuration for the TinyCloud SDK.
5
5
  */
@@ -143,6 +143,11 @@ export declare class TinyCloud {
143
143
  * @throws Error if services are not initialized
144
144
  */
145
145
  get kv(): IKVService;
146
+ /**
147
+ * Get the SQL service.
148
+ * @throws Error if services are not initialized
149
+ */
150
+ get sql(): ISQLService;
146
151
  /**
147
152
  * Notify services of session change.
148
153
  * Called internally after sign-in and sign-out.
@@ -202,5 +207,55 @@ export declare class TinyCloud {
202
207
  * @param message - Message to sign
203
208
  */
204
209
  signMessage(message: string): Promise<string>;
210
+ /**
211
+ * Cached public KV service instance.
212
+ */
213
+ private _publicKV?;
214
+ /**
215
+ * Construct the deterministic public space ID for a given address and chain ID.
216
+ *
217
+ * @param address - Ethereum address (0x-prefixed)
218
+ * @param chainId - Chain ID (e.g., 1 for mainnet)
219
+ * @returns The public space ID
220
+ */
221
+ static makePublicSpaceId(address: string, chainId: number): string;
222
+ /**
223
+ * Ensure the user's public space exists.
224
+ * Creates it via spaces.create('public') if it doesn't.
225
+ * Called automatically by modules that need to publish data.
226
+ *
227
+ * Requires the user to be signed in and services to be initialized.
228
+ */
229
+ ensurePublicSpace(): Promise<Result<void, ServiceError>>;
230
+ /**
231
+ * Get a KVService scoped to the user's own public space.
232
+ * Writes require authentication (owner/delegate).
233
+ *
234
+ * @throws Error if not signed in or services not initialized
235
+ */
236
+ get publicKV(): IKVService;
237
+ /**
238
+ * Read from any user's public space (unauthenticated).
239
+ * Uses the public REST endpoint — no session needed.
240
+ *
241
+ * @param host - TinyCloud server URL (e.g., "https://node.tinycloud.xyz")
242
+ * @param spaceId - Full public space ID
243
+ * @param key - Key to read
244
+ * @param fetchFn - Optional custom fetch function
245
+ * @returns The data at the key
246
+ */
247
+ static readPublicSpace<T = unknown>(host: string, spaceId: string, key: string, fetchFn?: FetchFunction): Promise<Result<T, ServiceError>>;
248
+ /**
249
+ * Read from any user's public space by address (unauthenticated).
250
+ * Convenience method that constructs the space ID from address and chain ID.
251
+ *
252
+ * @param host - TinyCloud server URL
253
+ * @param address - Ethereum address (0x-prefixed)
254
+ * @param chainId - Chain ID (e.g., 1 for mainnet)
255
+ * @param key - Key to read
256
+ * @param fetchFn - Optional custom fetch function
257
+ * @returns The data at the key
258
+ */
259
+ static readPublicKey<T = unknown>(host: string, address: string, chainId: number, key: string, fetchFn?: FetchFunction): Promise<Result<T, ServiceError>>;
205
260
  }
206
261
  //# sourceMappingURL=TinyCloud.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TinyCloud.d.ts","sourceRoot":"","sources":["../src/TinyCloud.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,SAAS,EACV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,QAAQ,EACR,eAAe,EACf,UAAU,EAGV,cAAc,EACd,aAAa,EACb,WAAW,EAEX,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAEjC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,CAAC;IAIrB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;;OAGG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAE9C;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEzD;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,SAAS;IACpB;;;OAGG;IACH,SAAgB,iBAAiB,EAAE,kBAAkB,CAAC;IAEtD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAkB;IAEhC;;OAEG;IACH,OAAO,CAAC,UAAU,CAAmB;IAIrC;;OAEG;IACH,OAAO,CAAC,eAAe,CAAC,CAAiB;IAEzC;;OAEG;IACH,OAAO,CAAC,SAAS,CAAoC;IAErD;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAAkB;IAE9C;;;;;OAKG;gBACS,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,eAAe;IAO3E;;;;;;;OAOG;IACI,kBAAkB,CACvB,MAAM,CAAC,EAAE,cAAc,EACvB,KAAK,CAAC,EAAE,MAAM,EAAE,EAChB,OAAO,CAAC,EAAE,aAAa,GACtB,IAAI;IA4CP;;;OAGG;IACH,IAAW,cAAc,IAAI,eAAe,CAO3C;IAED;;;;;OAKG;IACI,UAAU,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIlE;;;OAGG;IACH,IAAW,EAAE,IAAI,UAAU,CAY1B;IAED;;;;;OAKG;IACH,OAAO,CAAC,6BAA6B;IAMrC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAM9B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAkBxB;;;OAGG;IACI,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAKzC;;;OAGG;IACI,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAMrD;;OAEG;IACH,IAAW,OAAO,IAAI,aAAa,GAAG,SAAS,CAE9C;IAED;;OAEG;IACH,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED;;;;OAIG;IACU,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC;IAU7C;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrC;;OAEG;IACI,OAAO,IAAI,MAAM,GAAG,SAAS;IAIpC;;OAEG;IACI,OAAO,IAAI,MAAM,GAAG,SAAS;IAIpC;;;OAGG;IACU,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAI3D"}
1
+ {"version":3,"file":"TinyCloud.d.ts","sourceRoot":"","sources":["../src/TinyCloud.ts"],"names":[],"mappings":"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"}
package/dist/TinyCloud.js CHANGED
@@ -1,4 +1,5 @@
1
- import { ServiceContext, KVService, } from "@tinycloud/sdk-services";
1
+ import { ServiceContext, KVService, SQLService, ok, err, serviceError, ErrorCodes, } from "@tinycloud/sdk-services";
2
+ import { makePublicSpaceId } from "./spaces/SpaceService";
2
3
  /**
3
4
  * TinyCloud SDK - Unified entry point for web and node.
4
5
  *
@@ -85,6 +86,7 @@ export class TinyCloud {
85
86
  // Register default services (can be overridden via config.services)
86
87
  const serviceConstructors = {
87
88
  kv: KVService,
89
+ sql: SQLService,
88
90
  ...this.config.services,
89
91
  };
90
92
  // Create and register services
@@ -131,6 +133,21 @@ export class TinyCloud {
131
133
  }
132
134
  return service;
133
135
  }
136
+ /**
137
+ * Get the SQL service.
138
+ * @throws Error if services are not initialized
139
+ */
140
+ get sql() {
141
+ if (!this._servicesInitialized) {
142
+ throw new Error("Services not initialized. Call initializeServices() first, " +
143
+ "or use TinyCloudWeb/TinyCloudNode which handles this automatically.");
144
+ }
145
+ const service = this._services.get("sql");
146
+ if (!service) {
147
+ throw new Error("SQL service is not registered.");
148
+ }
149
+ return service;
150
+ }
134
151
  /**
135
152
  * Notify services of session change.
136
153
  * Called internally after sign-in and sign-out.
@@ -218,6 +235,8 @@ export class TinyCloud {
218
235
  // Abort all pending operations before sign-out
219
236
  this.abortServiceOperations();
220
237
  await this.userAuthorization.signOut();
238
+ // Clear cached public KV service
239
+ this._publicKV = undefined;
221
240
  // Clear session from services
222
241
  this.notifyServicesOfSessionChange(null);
223
242
  }
@@ -240,5 +259,169 @@ export class TinyCloud {
240
259
  async signMessage(message) {
241
260
  return this.userAuthorization.signMessage(message);
242
261
  }
262
+ /**
263
+ * Construct the deterministic public space ID for a given address and chain ID.
264
+ *
265
+ * @param address - Ethereum address (0x-prefixed)
266
+ * @param chainId - Chain ID (e.g., 1 for mainnet)
267
+ * @returns The public space ID
268
+ */
269
+ static makePublicSpaceId(address, chainId) {
270
+ return makePublicSpaceId(address, chainId);
271
+ }
272
+ /**
273
+ * Ensure the user's public space exists.
274
+ * Creates it via spaces.create('public') if it doesn't.
275
+ * Called automatically by modules that need to publish data.
276
+ *
277
+ * Requires the user to be signed in and services to be initialized.
278
+ */
279
+ async ensurePublicSpace() {
280
+ const address = this.address();
281
+ const chainId = this.chainId();
282
+ if (!address || !chainId) {
283
+ return err(serviceError(ErrorCodes.AUTH_REQUIRED, "Must be signed in to ensure public space", "public-space"));
284
+ }
285
+ if (!this._serviceContext) {
286
+ return err(serviceError(ErrorCodes.AUTH_REQUIRED, "Services not initialized. Call initializeServices() or signIn() first.", "public-space"));
287
+ }
288
+ const spaceId = makePublicSpaceId(address, chainId);
289
+ // Check if it already exists via invoke
290
+ try {
291
+ const session = this._serviceContext.session;
292
+ if (!session) {
293
+ return err(serviceError(ErrorCodes.AUTH_REQUIRED, "No active session", "public-space"));
294
+ }
295
+ const headers = this._serviceContext.invoke(session, "space", spaceId, "tinycloud.space/info");
296
+ const response = await this._serviceContext.fetch(`${this._serviceContext.hosts[0]}/invoke`, { method: "POST", headers, body: JSON.stringify({ spaceId }) });
297
+ if (response.ok) {
298
+ return ok(undefined);
299
+ }
300
+ if (response.status === 404) {
301
+ // Space doesn't exist — create it
302
+ const createHeaders = this._serviceContext.invoke(session, "space", "public", "tinycloud.space/create");
303
+ const createResponse = await this._serviceContext.fetch(`${this._serviceContext.hosts[0]}/invoke`, {
304
+ method: "POST",
305
+ headers: createHeaders,
306
+ body: JSON.stringify({ name: "public" }),
307
+ });
308
+ if (!createResponse.ok) {
309
+ // 409 means it already exists — that's fine
310
+ if (createResponse.status === 409) {
311
+ return ok(undefined);
312
+ }
313
+ const errorText = await createResponse.text();
314
+ return err(serviceError(ErrorCodes.NETWORK_ERROR, `Failed to create public space: ${createResponse.status} - ${errorText}`, "public-space"));
315
+ }
316
+ return ok(undefined);
317
+ }
318
+ // Other error from info check
319
+ const errorText = await response.text();
320
+ return err(serviceError(ErrorCodes.NETWORK_ERROR, `Failed to check public space: ${response.status} - ${errorText}`, "public-space"));
321
+ }
322
+ catch (error) {
323
+ return err(serviceError(ErrorCodes.NETWORK_ERROR, `Network error ensuring public space: ${String(error)}`, "public-space", { cause: error instanceof Error ? error : undefined }));
324
+ }
325
+ }
326
+ /**
327
+ * Get a KVService scoped to the user's own public space.
328
+ * Writes require authentication (owner/delegate).
329
+ *
330
+ * @throws Error if not signed in or services not initialized
331
+ */
332
+ get publicKV() {
333
+ if (!this._servicesInitialized || !this._serviceContext) {
334
+ throw new Error("Services not initialized. Call initializeServices() first, " +
335
+ "or use TinyCloudWeb/TinyCloudNode which handles this automatically.");
336
+ }
337
+ const address = this.address();
338
+ const chainId = this.chainId();
339
+ if (!address || !chainId) {
340
+ throw new Error("Must be signed in to access publicKV.");
341
+ }
342
+ // Return cached instance if available
343
+ if (this._publicKV) {
344
+ return this._publicKV;
345
+ }
346
+ const publicSpaceId = makePublicSpaceId(address, chainId);
347
+ const session = this._serviceContext.session;
348
+ if (!session) {
349
+ throw new Error("No active session. Sign in first.");
350
+ }
351
+ // Create a KV service with a context that targets the public space
352
+ const publicKV = new KVService({ prefix: "" });
353
+ const publicContext = new ServiceContext({
354
+ invoke: this._serviceContext.invoke,
355
+ fetch: this._serviceContext.fetch,
356
+ hosts: this._serviceContext.hosts,
357
+ retryPolicy: this.config.retryPolicy,
358
+ });
359
+ publicContext.setSession({
360
+ ...session,
361
+ spaceId: publicSpaceId,
362
+ });
363
+ publicKV.initialize(publicContext);
364
+ this._publicKV = publicKV;
365
+ return this._publicKV;
366
+ }
367
+ /**
368
+ * Read from any user's public space (unauthenticated).
369
+ * Uses the public REST endpoint — no session needed.
370
+ *
371
+ * @param host - TinyCloud server URL (e.g., "https://node.tinycloud.xyz")
372
+ * @param spaceId - Full public space ID
373
+ * @param key - Key to read
374
+ * @param fetchFn - Optional custom fetch function
375
+ * @returns The data at the key
376
+ */
377
+ static async readPublicSpace(host, spaceId, key, fetchFn) {
378
+ const doFetch = fetchFn ?? globalThis.fetch.bind(globalThis);
379
+ const encodedKey = key.split('/').map(encodeURIComponent).join('/');
380
+ const url = `${host}/public/${encodeURIComponent(spaceId)}/kv/${encodedKey}`;
381
+ try {
382
+ const response = await doFetch(url, { method: "GET" });
383
+ if (!response.ok) {
384
+ if (response.status === 404) {
385
+ return err(serviceError(ErrorCodes.NOT_FOUND, `Key not found: ${key} in space ${spaceId}`, "public-space"));
386
+ }
387
+ const errorText = await response.text();
388
+ return err(serviceError(ErrorCodes.NETWORK_ERROR, `Failed to read public space: ${response.status} - ${errorText}`, "public-space", { meta: { status: response.status } }));
389
+ }
390
+ const contentType = response.headers.get("content-type");
391
+ let data;
392
+ if (contentType?.includes("application/json")) {
393
+ data = (await response.json());
394
+ }
395
+ else {
396
+ const text = await response.text();
397
+ // Try parsing as JSON, fall back to raw text
398
+ try {
399
+ data = JSON.parse(text);
400
+ }
401
+ catch {
402
+ data = text;
403
+ }
404
+ }
405
+ return ok(data);
406
+ }
407
+ catch (error) {
408
+ return err(serviceError(ErrorCodes.NETWORK_ERROR, `Network error reading public space: ${String(error)}`, "public-space", { cause: error instanceof Error ? error : undefined }));
409
+ }
410
+ }
411
+ /**
412
+ * Read from any user's public space by address (unauthenticated).
413
+ * Convenience method that constructs the space ID from address and chain ID.
414
+ *
415
+ * @param host - TinyCloud server URL
416
+ * @param address - Ethereum address (0x-prefixed)
417
+ * @param chainId - Chain ID (e.g., 1 for mainnet)
418
+ * @param key - Key to read
419
+ * @param fetchFn - Optional custom fetch function
420
+ * @returns The data at the key
421
+ */
422
+ static async readPublicKey(host, address, chainId, key, fetchFn) {
423
+ const spaceId = makePublicSpaceId(address, chainId);
424
+ return TinyCloud.readPublicSpace(host, spaceId, key, fetchFn);
425
+ }
243
426
  }
244
427
  //# sourceMappingURL=TinyCloud.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TinyCloud.js","sourceRoot":"","sources":["../src/TinyCloud.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TinyCloud.js","sourceRoot":"","sources":["../src/TinyCloud.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,cAAc,EAId,SAAS,EAET,UAAU,EAQV,EAAE,EACF,GAAG,EACH,YAAY,EAEZ,UAAU,GACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AA8D1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,OAAO,SAAS;IAkCpB;;;;;OAKG;IACH,YAAY,iBAAqC,EAAE,MAAwB;QA5B3E;;WAEG;QACK,eAAU,GAAgB,EAAE,CAAC;QASrC;;WAEG;QACK,cAAS,GAA0B,IAAI,GAAG,EAAE,CAAC;QAErD;;WAEG;QACK,yBAAoB,GAAY,KAAK,CAAC;QAS5C,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,6BAA6B;IAE7B;;;;;;;OAOG;IACI,kBAAkB,CACvB,MAAuB,EACvB,KAAgB,EAChB,OAAuB;QAEvB,MAAM,eAAe,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACrD,MAAM,cAAc,GAAG,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAElD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,sDAAsD;gBACpD,uDAAuD,CAC1D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CACb,6CAA6C;gBAC3C,wDAAwD,CAC3D,CAAC;QACJ,CAAC;QAED,yBAAyB;QACzB,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC;YACxC,MAAM,EAAE,eAAe;YACvB,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;YACxE,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;SACrC,CAAC,CAAC;QAEH,oEAAoE;QACpE,MAAM,mBAAmB,GAAuC;YAC9D,EAAE,EAAE,SAAS;YACb,GAAG,EAAE,UAAU;YACf,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ;SACxB,CAAC;QAEF,+BAA+B;QAC/B,KAAK,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACvE,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC,CAAC;YAChD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACzC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,CAAC;IAED;;;OAGG;IACH,IAAW,cAAc;QACvB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACI,UAAU,CAAqB,IAAY;QAChD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAkB,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,IAAW,EAAE;QACX,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,6DAA6D;gBAC3D,qEAAqE,CACxE,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAA2B,CAAC;QACnE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,IAAW,GAAG;QACZ,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,6DAA6D;gBAC3D,qEAAqE,CACxE,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAA4B,CAAC;QACrE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACK,6BAA6B,CAAC,OAA8B;QAClE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,sBAAsB;QAC5B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,gBAAgB,CACtB,aAAwC;QAExC,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAEhC,gDAAgD;QAChD,MAAM,SAAS,GAAI,aAAqB,CAAC,gBAAgB,CAAC;QAC1D,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAE5B,OAAO;YACL,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;YAC5C,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;YAChD,GAAG,EAAE,SAAS,CAAC,GAAG;SACnB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,SAAoB;QAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACI,kBAAkB,CAAC,SAAiB;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IACpE,CAAC;IAED,iEAAiE;IAEjE;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,IAAW,UAAU;QACnB,OAAO,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM;QACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAEtD,qCAAqC;QACrC,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,6BAA6B,CAAC,cAAc,CAAC,CAAC;QAEnD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,OAAO;QAClB,+CAA+C;QAC/C,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAEvC,iCAAiC;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,8BAA8B;QAC9B,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACI,OAAO;QACZ,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACI,OAAO;QACZ,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,WAAW,CAAC,OAAe;QACtC,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IASD;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAe,EAAE,OAAe;QACvD,OAAO,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,iBAAiB;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,GAAG,CACR,YAAY,CACV,UAAU,CAAC,aAAa,EACxB,0CAA0C,EAC1C,cAAc,CACf,CACF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,GAAG,CACR,YAAY,CACV,UAAU,CAAC,aAAa,EACxB,wEAAwE,EACxE,cAAc,CACf,CACF,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEpD,wCAAwC;QACxC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;YAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,CACR,YAAY,CACV,UAAU,CAAC,aAAa,EACxB,mBAAmB,EACnB,cAAc,CACf,CACF,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CACzC,OAAO,EACP,OAAO,EACP,OAAO,EACP,sBAAsB,CACvB,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAC/C,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACzC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAC/D,CAAC;YAEF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;YACvB,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,kCAAkC;gBAClC,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAC/C,OAAO,EACP,OAAO,EACP,QAAQ,EACR,wBAAwB,CACzB,CAAC;gBAEF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CACrD,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACzC;oBACE,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,aAAa;oBACtB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;iBACzC,CACF,CAAC;gBAEF,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;oBACvB,4CAA4C;oBAC5C,IAAI,cAAc,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;wBAClC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;oBACvB,CAAC;oBACD,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;oBAC9C,OAAO,GAAG,CACR,YAAY,CACV,UAAU,CAAC,aAAa,EACxB,kCAAkC,cAAc,CAAC,MAAM,MAAM,SAAS,EAAE,EACxE,cAAc,CACf,CACF,CAAC;gBACJ,CAAC;gBAED,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;YACvB,CAAC;YAED,8BAA8B;YAC9B,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,OAAO,GAAG,CACR,YAAY,CACV,UAAU,CAAC,aAAa,EACxB,iCAAiC,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,EACjE,cAAc,CACf,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,CACR,YAAY,CACV,UAAU,CAAC,aAAa,EACxB,wCAAwC,MAAM,CAAC,KAAK,CAAC,EAAE,EACvD,cAAc,EACd,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CACtD,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,IAAW,QAAQ;QACjB,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CACb,6DAA6D;gBAC3D,qEAAqE,CACxE,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,sCAAsC;QACtC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;QAED,MAAM,aAAa,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,mEAAmE;QACnE,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,IAAI,cAAc,CAAC;YACvC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;YACnC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK;YACjC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK;YACjC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;SACrC,CAAC,CAAC;QACH,aAAa,CAAC,UAAU,CAAC;YACvB,GAAG,OAAO;YACV,OAAO,EAAE,aAAa;SACvB,CAAC,CAAC;QACH,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAEnC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,eAAe,CAC1B,IAAY,EACZ,OAAe,EACf,GAAW,EACX,OAAuB;QAEvB,MAAM,OAAO,GAAG,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,GAAG,IAAI,WAAW,kBAAkB,CAAC,OAAO,CAAC,OAAO,UAAU,EAAE,CAAC;QAE7E,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAEvD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC5B,OAAO,GAAG,CACR,YAAY,CACV,UAAU,CAAC,SAAS,EACpB,kBAAkB,GAAG,aAAa,OAAO,EAAE,EAC3C,cAAc,CACf,CACF,CAAC;gBACJ,CAAC;gBACD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,OAAO,GAAG,CACR,YAAY,CACV,UAAU,CAAC,aAAa,EACxB,gCAAgC,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,EAChE,cAAc,EACd,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,CACtC,CACF,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACzD,IAAI,IAAO,CAAC;YACZ,IAAI,WAAW,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC9C,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,6CAA6C;gBAC7C,IAAI,CAAC;oBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;gBAC/B,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,GAAG,IAAoB,CAAC;gBAC9B,CAAC;YACH,CAAC;YAED,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,CACR,YAAY,CACV,UAAU,CAAC,aAAa,EACxB,uCAAuC,MAAM,CAAC,KAAK,CAAC,EAAE,EACtD,cAAc,EACd,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CACtD,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,KAAK,CAAC,aAAa,CACxB,IAAY,EACZ,OAAe,EACf,OAAe,EACf,GAAW,EACX,OAAuB;QAEvB,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,OAAO,SAAS,CAAC,eAAe,CAAI,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;CAEF"}
@@ -123,9 +123,40 @@ export interface SharingServiceConfig {
123
123
  pathPrefix?: string;
124
124
  /**
125
125
  * Session expiry time.
126
- * When set, sharing link expiry is clamped to not exceed this value.
126
+ * When set, sharing link expiry is clamped to not exceed this value
127
+ * unless onRootDelegationNeeded is provided and returns a new delegation.
127
128
  */
128
129
  sessionExpiry?: Date;
130
+ /**
131
+ * Callback to create a DIRECT delegation from the root (wallet) to a share key.
132
+ * This bypasses the session delegation chain, allowing share links with
133
+ * expiry longer than the current session.
134
+ *
135
+ * When provided and share expiry > session expiry:
136
+ * 1. SharingService creates the ephemeral share key
137
+ * 2. This callback is invoked with the share key DID
138
+ * 3. The callback signs a direct PKH -> share key delegation with the wallet
139
+ * 4. The returned delegation is used for the share link
140
+ *
141
+ * This is the CORRECT solution for long-lived share links because:
142
+ * - It creates a fresh delegation chain: PKH -> share key
143
+ * - Not constrained by session expiry (no sub-delegation from session key)
144
+ *
145
+ * @param params - Parameters for creating the root delegation
146
+ * @returns The delegation from wallet to share key, or undefined to fall back to session extension
147
+ */
148
+ onRootDelegationNeeded?: (params: {
149
+ /** DID of the share key to delegate to */
150
+ shareKeyDID: string;
151
+ /** Space ID */
152
+ spaceId: string;
153
+ /** Path to grant access to */
154
+ path: string;
155
+ /** Actions to grant */
156
+ actions: string[];
157
+ /** Requested expiry time */
158
+ requestedExpiry: Date;
159
+ }) => Promise<Delegation | undefined>;
129
160
  }
130
161
  /**
131
162
  * Interface for the SharingService.
@@ -205,6 +236,7 @@ export declare class SharingService implements ISharingService {
205
236
  private createDelegationWasmFn?;
206
237
  private pathPrefix;
207
238
  private sessionExpiry?;
239
+ private onRootDelegationNeeded?;
208
240
  /**
209
241
  * Creates a new SharingService instance.
210
242
  */
@@ -221,7 +253,7 @@ export declare class SharingService implements ISharingService {
221
253
  * Updates the service configuration.
222
254
  * Used to add full capabilities (session, delegationManager, createDelegation, createDelegationWasm) after signIn.
223
255
  */
224
- updateConfig(config: Partial<Pick<SharingServiceConfig, "session" | "delegationManager" | "createDelegation" | "createDelegationWasm" | "sessionExpiry">>): void;
256
+ updateConfig(config: Partial<Pick<SharingServiceConfig, "session" | "delegationManager" | "createDelegation" | "createDelegationWasm" | "sessionExpiry" | "onRootDelegationNeeded">>): void;
225
257
  /**
226
258
  * Generate a sharing link with an embedded private key.
227
259
  *
@@ -233,6 +265,36 @@ export declare class SharingService implements ISharingService {
233
265
  * 5. Return link string
234
266
  */
235
267
  generate(params: GenerateShareParams): Promise<Result<ShareLink, DelegationError>>;
268
+ /**
269
+ * Check if any key in the registry can satisfy the delegation request.
270
+ * A key can satisfy if it has a delegation that:
271
+ * 1. Covers the required path (exact match or parent path)
272
+ * 2. Has all required actions
273
+ * 3. Has sufficient expiry (delegation.expiry >= requestedExpiry)
274
+ * 4. Allows sub-delegation
275
+ * @internal
276
+ */
277
+ private findSuitableKeyForDelegation;
278
+ /**
279
+ * Check if a delegation path matches/covers the requested path.
280
+ * A delegation path covers the request if:
281
+ * - It's an exact match
282
+ * - It's a parent path (e.g., delegation for "" covers "foo/bar")
283
+ * - It uses wildcards that match
284
+ * @internal
285
+ */
286
+ private pathMatches;
287
+ /**
288
+ * Handle fallback to session extension when root delegation is not available.
289
+ * @internal
290
+ */
291
+ private handleSessionExtensionFallback;
292
+ /**
293
+ * Create a delegation from the current session to a share key.
294
+ * This is the fallback path when root delegation is not available.
295
+ * @internal
296
+ */
297
+ private createSessionDelegation;
236
298
  /**
237
299
  * Receive and activate a sharing link.
238
300
  *
@@ -1 +1 @@
1
- {"version":3,"file":"SharingService.d.ts","sourceRoot":"","sources":["../../src/delegations/SharingService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SharingService.d.ts","sourceRoot":"","sources":["../../src/delegations/SharingService.ts"],"names":[],"mappings":"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"}