@glance-apps/sync 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.0.2] - 2026-05-22
11
+
12
+ ### Added
13
+
14
+ - `getSessionKey()` export — returns the cached non-extractable `CryptoKey` for reuse by sibling packages (e.g., `@glance-apps/intents` encryption helpers).
15
+
10
16
  ## [1.0.1] - 2026-05-18
11
17
 
12
18
  ### Fixed
package/README.md CHANGED
@@ -147,6 +147,7 @@ Pass `encryptionEnabled: true` in the sync config object stored via `engine.setC
147
147
  | `isEncryptedEnvelope(value)` | Type guard — returns `true` if the value looks like an `EncryptedEnvelope`. |
148
148
  | `setSyncPassphrase(p)` / `getSyncPassphrase()` | Store/retrieve the passphrase in session memory (not persisted). |
149
149
  | `hasEncryptionReady()` | Returns `true` if the session key is loaded. |
150
+ | `getSessionKey()` | Returns the cached non-extractable `CryptoKey`, or `null` if no key is loaded — intended for sibling packages (e.g., `@glance-apps/intents`) that need to reuse the same key. |
150
151
 
151
152
  ### Transport & providers
152
153
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glance-apps/sync",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
package/src/crypto.js CHANGED
@@ -17,6 +17,7 @@ let _sessionSalt = null; // Uint8Array | null — the salt used to derive
17
17
  export function setSyncPassphrase(p) { _sessionPassphrase = p; }
18
18
  export function getSyncPassphrase() { return _sessionPassphrase; }
19
19
  export function hasEncryptionReady() { return _sessionKey !== null; }
20
+ export function getSessionKey() { return _sessionKey; }
20
21
 
21
22
  // ---------------------------------------------------------------------------
22
23
  // IndexedDB key store
package/src/index.js CHANGED
@@ -16,6 +16,7 @@ export {
16
16
  getSyncPassphrase,
17
17
  clearEncryptionKey,
18
18
  hasEncryptionReady,
19
+ getSessionKey,
19
20
  isEncryptedEnvelope,
20
21
  initSessionKey,
21
22
  } from './crypto.js';
package/types/index.d.ts CHANGED
@@ -155,6 +155,7 @@ export function clearEncryptionKey(config: CryptoConfig): Promise<void>;
155
155
  export function setSyncPassphrase(passphrase: string | null): void;
156
156
  export function getSyncPassphrase(): string | null;
157
157
  export function hasEncryptionReady(): boolean;
158
+ export function getSessionKey(): CryptoKey | null;
158
159
  export function encryptData<T>(data: T, config?: CryptoConfig): Promise<EncryptedEnvelope>;
159
160
  export function decryptData<T = unknown>(envelope: EncryptedEnvelope, config?: CryptoConfig): Promise<T>;
160
161
  export function isEncryptedEnvelope(value: unknown): value is EncryptedEnvelope;