@flighthq/storage 0.5.1-next.1069.554a2ac → 0.5.1-next.1197.6a425ce

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/README.md CHANGED
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/storage`. The `@flig
13
13
  This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
14
14
 
15
15
  - [Flight project](https://github.com/flighthq/flight)
16
- - [Source for @flighthq/storage@0.5.1-next.1069.554a2ac](https://github.com/flighthq/flight/tree/554a2acc3fecf189b89b0729308ff890a15c21cc/packages/storage)
17
- - [License](https://github.com/flighthq/flight/blob/554a2acc3fecf189b89b0729308ff890a15c21cc/LICENSE.md)
16
+ - [Source for @flighthq/storage@0.5.1-next.1197.6a425ce](https://github.com/flighthq/flight/tree/6a425ce64e6d501dac8218fe625e73d58da88639/packages/storage)
17
+ - [License](https://github.com/flighthq/flight/blob/6a425ce64e6d501dac8218fe625e73d58da88639/LICENSE.md)
package/dist/storage.d.ts CHANGED
@@ -1,39 +1,39 @@
1
- import type { EntityConstruction, HasStorageChange, HasStorageLocal, StorageBooleanOrResult, StorageBooleanResult, StorageByteSizeResult, StorageClearNamespaceResult, StorageClearResult, StorageEntriesResult, StorageGetItemResult, StorageItemCountResult, StorageItemOrResult, StorageItemsResult, StorageJsonOrResult, StorageJsonResult, StorageJsonWriteResult, StorageKeysResult, StorageMigration, StorageMigrationResult, StorageNamespace, StorageNumberOrResult, StorageNumberResult, StoragePresenceResult, StorageRemoveItemResult, StorageRemoveItemsResult, StorageSetItemResult, StorageSetItemsResult, StorageSignals } from '@flighthq/types/contract';
2
- export declare function attachStorage(host: HasStorageChange, signals: StorageSignals): boolean;
3
- export declare function clearStorage(host: HasStorageLocal, signals?: StorageSignals | null): StorageClearResult;
4
- export declare function clearStorageNamespace(host: HasStorageLocal, namespace: Readonly<StorageNamespace>, signals?: StorageSignals | null): StorageClearNamespaceResult;
1
+ import type { EntityConstruction, HostStorageChangeProvider, HostStorageProvider, StorageBooleanOrResult, StorageBooleanResult, StorageByteSizeResult, StorageClearNamespaceResult, StorageClearResult, StorageEntriesResult, StorageGetItemResult, StorageItemCountResult, StorageItemOrResult, StorageItemsResult, StorageJsonOrResult, StorageJsonResult, StorageJsonWriteResult, StorageKeysResult, StorageMigration, StorageMigrationResult, StorageNamespace, StorageNumberOrResult, StorageNumberResult, StoragePresenceResult, StorageRemoveItemResult, StorageRemoveItemsResult, StorageSetItemResult, StorageSetItemsResult, StorageSignals } from '@flighthq/types/contract';
2
+ export declare function attachStorage(hostStorageChange: Readonly<HostStorageChangeProvider>, signals: StorageSignals): boolean;
3
+ export declare function clearStorage(hostStorage: Readonly<HostStorageProvider>, signals?: StorageSignals | null): StorageClearResult;
4
+ export declare function clearStorageNamespace(hostStorage: Readonly<HostStorageProvider>, namespace: Readonly<StorageNamespace>, signals?: StorageSignals | null): StorageClearNamespaceResult;
5
5
  export declare function createStorageSignals(): StorageSignals;
6
- export declare function destroyStorage(host: HasStorageChange): void;
6
+ export declare function destroyStorage(hostStorageChange: Readonly<HostStorageChangeProvider>): void;
7
7
  export declare function detachStorage(signals: StorageSignals): void;
8
8
  export declare function disposeStorage(signals: StorageSignals): void;
9
- export declare function getNamespacedStorageByteSize(host: HasStorageLocal, namespace: Readonly<StorageNamespace>): StorageByteSizeResult;
10
- export declare function getNamespacedStorageEntries(host: HasStorageLocal, namespace: Readonly<StorageNamespace>): StorageEntriesResult;
11
- export declare function getNamespacedStorageItem(host: HasStorageLocal, namespace: Readonly<StorageNamespace>, key: string): StorageGetItemResult;
12
- export declare function getNamespacedStorageItemPresence(host: HasStorageLocal, namespace: Readonly<StorageNamespace>, key: string): StoragePresenceResult;
13
- export declare function getNamespacedStorageKeys(host: HasStorageLocal, namespace: Readonly<StorageNamespace>): StorageKeysResult;
14
- export declare function getStorageBoolean(host: HasStorageLocal, key: string): StorageBooleanResult;
15
- export declare function getStorageBooleanOr(host: HasStorageLocal, key: string, fallback: boolean): StorageBooleanOrResult;
16
- export declare function getStorageByteSize(host: HasStorageLocal): StorageByteSizeResult;
17
- export declare function getStorageEntries(host: HasStorageLocal): StorageEntriesResult;
18
- export declare function getStorageItem(host: HasStorageLocal, key: string): StorageGetItemResult;
19
- export declare function getStorageItemCount(host: HasStorageLocal): StorageItemCountResult;
20
- export declare function getStorageItemOr(host: HasStorageLocal, key: string, fallback: string): StorageItemOrResult;
21
- export declare function getStorageItemPresence(host: HasStorageLocal, key: string): StoragePresenceResult;
22
- export declare function getStorageItems(host: HasStorageLocal, keys: readonly string[]): StorageItemsResult;
23
- export declare function getStorageJSON<Value>(host: HasStorageLocal, key: string): StorageJsonResult<Value>;
24
- export declare function getStorageJSONOr<Value>(host: HasStorageLocal, key: string, fallback: Value): StorageJsonOrResult<Value>;
25
- export declare function getStorageKeys(host: HasStorageLocal): StorageKeysResult;
26
- export declare function getStorageNumber(host: HasStorageLocal, key: string): StorageNumberResult;
27
- export declare function getStorageNumberOr(host: HasStorageLocal, key: string, fallback: number): StorageNumberOrResult;
9
+ export declare function getNamespacedStorageByteSize(hostStorage: Readonly<HostStorageProvider>, namespace: Readonly<StorageNamespace>): StorageByteSizeResult;
10
+ export declare function getNamespacedStorageEntries(hostStorage: Readonly<HostStorageProvider>, namespace: Readonly<StorageNamespace>): StorageEntriesResult;
11
+ export declare function getNamespacedStorageItem(hostStorage: Readonly<HostStorageProvider>, namespace: Readonly<StorageNamespace>, key: string): StorageGetItemResult;
12
+ export declare function getNamespacedStorageItemPresence(hostStorage: Readonly<HostStorageProvider>, namespace: Readonly<StorageNamespace>, key: string): StoragePresenceResult;
13
+ export declare function getNamespacedStorageKeys(hostStorage: Readonly<HostStorageProvider>, namespace: Readonly<StorageNamespace>): StorageKeysResult;
14
+ export declare function getStorageBoolean(hostStorage: Readonly<HostStorageProvider>, key: string): StorageBooleanResult;
15
+ export declare function getStorageBooleanOr(hostStorage: Readonly<HostStorageProvider>, key: string, fallback: boolean): StorageBooleanOrResult;
16
+ export declare function getStorageByteSize(hostStorage: Readonly<HostStorageProvider>): StorageByteSizeResult;
17
+ export declare function getStorageEntries(hostStorage: Readonly<HostStorageProvider>): StorageEntriesResult;
18
+ export declare function getStorageItem(hostStorage: Readonly<HostStorageProvider>, key: string): StorageGetItemResult;
19
+ export declare function getStorageItemCount(hostStorage: Readonly<HostStorageProvider>): StorageItemCountResult;
20
+ export declare function getStorageItemOr(hostStorage: Readonly<HostStorageProvider>, key: string, fallback: string): StorageItemOrResult;
21
+ export declare function getStorageItemPresence(hostStorage: Readonly<HostStorageProvider>, key: string): StoragePresenceResult;
22
+ export declare function getStorageItems(hostStorage: Readonly<HostStorageProvider>, keys: readonly string[]): StorageItemsResult;
23
+ export declare function getStorageJSON<Value>(hostStorage: Readonly<HostStorageProvider>, key: string): StorageJsonResult<Value>;
24
+ export declare function getStorageJSONOr<Value>(hostStorage: Readonly<HostStorageProvider>, key: string, fallback: Value): StorageJsonOrResult<Value>;
25
+ export declare function getStorageKeys(hostStorage: Readonly<HostStorageProvider>): StorageKeysResult;
26
+ export declare function getStorageNumber(hostStorage: Readonly<HostStorageProvider>, key: string): StorageNumberResult;
27
+ export declare function getStorageNumberOr(hostStorage: Readonly<HostStorageProvider>, key: string, fallback: number): StorageNumberOrResult;
28
28
  export declare function initializeStorageSignals(out: EntityConstruction<StorageSignals>): void;
29
- export declare function migrateStorage(host: HasStorageLocal, namespace: Readonly<StorageNamespace> | null, migrations: readonly Readonly<StorageMigration>[], signals?: StorageSignals | null): StorageMigrationResult;
30
- export declare function removeNamespacedStorageItem(host: HasStorageLocal, namespace: Readonly<StorageNamespace>, key: string, signals?: StorageSignals | null): StorageRemoveItemResult;
31
- export declare function removeStorageItem(host: HasStorageLocal, key: string, signals?: StorageSignals | null): StorageRemoveItemResult;
32
- export declare function removeStorageItems(host: HasStorageLocal, keys: readonly string[], signals?: StorageSignals | null): StorageRemoveItemsResult;
33
- export declare function setNamespacedStorageItem(host: HasStorageLocal, namespace: Readonly<StorageNamespace>, key: string, value: string, signals?: StorageSignals | null): StorageSetItemResult;
34
- export declare function setStorageBoolean(host: HasStorageLocal, key: string, value: boolean, signals?: StorageSignals | null): StorageSetItemResult;
35
- export declare function setStorageItem(host: HasStorageLocal, key: string, value: string, signals?: StorageSignals | null): StorageSetItemResult;
36
- export declare function setStorageItems(host: HasStorageLocal, record: Readonly<Record<string, string>>, signals?: StorageSignals | null): StorageSetItemsResult;
37
- export declare function setStorageJSON<Value>(host: HasStorageLocal, key: string, value: Value, signals?: StorageSignals | null): StorageJsonWriteResult;
38
- export declare function setStorageNumber(host: HasStorageLocal, key: string, value: number, signals?: StorageSignals | null): StorageSetItemResult;
29
+ export declare function migrateStorage(hostStorage: Readonly<HostStorageProvider>, namespace: Readonly<StorageNamespace> | null, migrations: readonly Readonly<StorageMigration>[], signals?: StorageSignals | null): StorageMigrationResult;
30
+ export declare function removeNamespacedStorageItem(hostStorage: Readonly<HostStorageProvider>, namespace: Readonly<StorageNamespace>, key: string, signals?: StorageSignals | null): StorageRemoveItemResult;
31
+ export declare function removeStorageItem(hostStorage: Readonly<HostStorageProvider>, key: string, signals?: StorageSignals | null): StorageRemoveItemResult;
32
+ export declare function removeStorageItems(hostStorage: Readonly<HostStorageProvider>, keys: readonly string[], signals?: StorageSignals | null): StorageRemoveItemsResult;
33
+ export declare function setNamespacedStorageItem(hostStorage: Readonly<HostStorageProvider>, namespace: Readonly<StorageNamespace>, key: string, value: string, signals?: StorageSignals | null): StorageSetItemResult;
34
+ export declare function setStorageBoolean(hostStorage: Readonly<HostStorageProvider>, key: string, value: boolean, signals?: StorageSignals | null): StorageSetItemResult;
35
+ export declare function setStorageItem(hostStorage: Readonly<HostStorageProvider>, key: string, value: string, signals?: StorageSignals | null): StorageSetItemResult;
36
+ export declare function setStorageItems(hostStorage: Readonly<HostStorageProvider>, record: Readonly<Record<string, string>>, signals?: StorageSignals | null): StorageSetItemsResult;
37
+ export declare function setStorageJSON<Value>(hostStorage: Readonly<HostStorageProvider>, key: string, value: Value, signals?: StorageSignals | null): StorageJsonWriteResult;
38
+ export declare function setStorageNumber(hostStorage: Readonly<HostStorageProvider>, key: string, value: number, signals?: StorageSignals | null): StorageSetItemResult;
39
39
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
package/dist/storage.js CHANGED
@@ -1,26 +1,26 @@
1
1
  import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
2
  import { clearSignal, createSignal, emitSignal, hasSignalSlots } from '@flighthq/signals/contract';
3
3
  // Starts raw provider change delivery into the caller-owned signal entity. Re-attaching first consumes
4
- // the exact unsubscribe returned by the prior provider, so a different Host can never redirect teardown.
4
+ // the exact unsubscribe returned by the prior provider, so a different provider can never redirect teardown.
5
5
  // Returns false when the provider cannot establish a real subscription.
6
- export function attachStorage(host, signals) {
6
+ export function attachStorage(hostStorageChange, signals) {
7
7
  detachStorage(signals);
8
- const unsubscribe = host.storage.change.subscribe((change) => emitSignal(signals.onChange, change));
8
+ const unsubscribe = hostStorageChange.subscribe((change) => emitSignal(signals.onChange, change));
9
9
  if (unsubscribe === null)
10
10
  return false;
11
11
  _subscriptions.set(signals, unsubscribe);
12
12
  return true;
13
13
  }
14
- export function clearStorage(host, signals = null) {
15
- const result = host.storage.local.clear();
14
+ export function clearStorage(hostStorage, signals = null) {
15
+ const result = hostStorage.clear();
16
16
  if (result.reason === 'ok' && storageSignalsActive(signals)) {
17
17
  emitSignal(signals.onChange, { key: null, newValue: null, oldValue: null });
18
18
  }
19
19
  return result;
20
20
  }
21
- export function clearStorageNamespace(host, namespace, signals = null) {
21
+ export function clearStorageNamespace(hostStorage, namespace, signals = null) {
22
22
  const prefix = namespace.prefix + '.';
23
- const backend = host.storage.local;
23
+ const backend = hostStorage;
24
24
  const keys = backend.keys();
25
25
  if (keys.reason !== 'ok')
26
26
  return { completed: 0, failedKey: null, reason: keys.reason };
@@ -40,10 +40,10 @@ export function createStorageSignals() {
40
40
  initializeStorageSignals(out);
41
41
  return finishEntity(out);
42
42
  }
43
- // Terminal teardown of the Host's raw change provider. Per-entity detach is separate because one
43
+ // Terminal teardown of the supplied raw-change provider. Per-entity detach is separate because one
44
44
  // provider can fan out to more than one StorageSignals entity.
45
- export function destroyStorage(host) {
46
- host.storage.change.destroy();
45
+ export function destroyStorage(hostStorageChange) {
46
+ hostStorageChange.destroy();
47
47
  }
48
48
  export function detachStorage(signals) {
49
49
  const unsubscribe = _subscriptions.get(signals);
@@ -56,12 +56,12 @@ export function disposeStorage(signals) {
56
56
  detachStorage(signals);
57
57
  clearSignal(signals.onChange);
58
58
  }
59
- export function getNamespacedStorageByteSize(host, namespace) {
60
- return getStorageByteSizeForPrefix(host.storage.local, namespace.prefix + '.');
59
+ export function getNamespacedStorageByteSize(hostStorage, namespace) {
60
+ return getStorageByteSizeForPrefix(hostStorage, namespace.prefix + '.');
61
61
  }
62
- export function getNamespacedStorageEntries(host, namespace) {
62
+ export function getNamespacedStorageEntries(hostStorage, namespace) {
63
63
  const prefix = namespace.prefix + '.';
64
- const result = getStorageEntriesForPrefix(host.storage.local, prefix);
64
+ const result = getStorageEntriesForPrefix(hostStorage, prefix);
65
65
  if (result.reason !== 'ok')
66
66
  return result;
67
67
  return {
@@ -70,15 +70,15 @@ export function getNamespacedStorageEntries(host, namespace) {
70
70
  value: result.value.map(([key, value]) => [key.slice(prefix.length), value]),
71
71
  };
72
72
  }
73
- export function getNamespacedStorageItem(host, namespace, key) {
74
- return host.storage.local.getItem(namespacedKey(namespace, key));
73
+ export function getNamespacedStorageItem(hostStorage, namespace, key) {
74
+ return hostStorage.getItem(namespacedKey(namespace, key));
75
75
  }
76
- export function getNamespacedStorageItemPresence(host, namespace, key) {
77
- return getStorageItemPresence(host, namespacedKey(namespace, key));
76
+ export function getNamespacedStorageItemPresence(hostStorage, namespace, key) {
77
+ return getStorageItemPresence(hostStorage, namespacedKey(namespace, key));
78
78
  }
79
- export function getNamespacedStorageKeys(host, namespace) {
79
+ export function getNamespacedStorageKeys(hostStorage, namespace) {
80
80
  const prefix = namespace.prefix + '.';
81
- const result = host.storage.local.keys();
81
+ const result = hostStorage.keys();
82
82
  if (result.reason !== 'ok')
83
83
  return result;
84
84
  return {
@@ -86,8 +86,8 @@ export function getNamespacedStorageKeys(host, namespace) {
86
86
  value: result.value.filter((key) => key.startsWith(prefix)).map((key) => key.slice(prefix.length)),
87
87
  };
88
88
  }
89
- export function getStorageBoolean(host, key) {
90
- const raw = host.storage.local.getItem(key);
89
+ export function getStorageBoolean(hostStorage, key) {
90
+ const raw = hostStorage.getItem(key);
91
91
  if (raw.reason !== 'ok')
92
92
  return raw;
93
93
  if (raw.value === null)
@@ -98,8 +98,8 @@ export function getStorageBoolean(host, key) {
98
98
  return { reason: 'ok', value: false };
99
99
  return { reason: 'parse-failed', value: null };
100
100
  }
101
- export function getStorageBooleanOr(host, key, fallback) {
102
- const raw = host.storage.local.getItem(key);
101
+ export function getStorageBooleanOr(hostStorage, key, fallback) {
102
+ const raw = hostStorage.getItem(key);
103
103
  if (raw.reason !== 'ok')
104
104
  return raw;
105
105
  if (raw.value === null)
@@ -110,45 +110,45 @@ export function getStorageBooleanOr(host, key, fallback) {
110
110
  return { reason: 'ok', value: false };
111
111
  return { reason: 'parse-failed', value: fallback };
112
112
  }
113
- export function getStorageByteSize(host) {
114
- return getStorageByteSizeForPrefix(host.storage.local, null);
113
+ export function getStorageByteSize(hostStorage) {
114
+ return getStorageByteSizeForPrefix(hostStorage, null);
115
115
  }
116
- export function getStorageEntries(host) {
117
- return getStorageEntriesForPrefix(host.storage.local, null);
116
+ export function getStorageEntries(hostStorage) {
117
+ return getStorageEntriesForPrefix(hostStorage, null);
118
118
  }
119
- export function getStorageItem(host, key) {
120
- return host.storage.local.getItem(key);
119
+ export function getStorageItem(hostStorage, key) {
120
+ return hostStorage.getItem(key);
121
121
  }
122
- export function getStorageItemCount(host) {
123
- const result = host.storage.local.keys();
122
+ export function getStorageItemCount(hostStorage) {
123
+ const result = hostStorage.keys();
124
124
  if (result.reason !== 'ok')
125
125
  return result;
126
126
  return { reason: 'ok', value: result.value.length };
127
127
  }
128
- export function getStorageItemOr(host, key, fallback) {
129
- const result = host.storage.local.getItem(key);
128
+ export function getStorageItemOr(hostStorage, key, fallback) {
129
+ const result = hostStorage.getItem(key);
130
130
  if (result.reason !== 'ok')
131
131
  return result;
132
132
  return { reason: 'ok', value: result.value ?? fallback };
133
133
  }
134
- export function getStorageItemPresence(host, key) {
135
- const result = host.storage.local.getItem(key);
134
+ export function getStorageItemPresence(hostStorage, key) {
135
+ const result = hostStorage.getItem(key);
136
136
  if (result.reason !== 'ok')
137
137
  return result;
138
138
  return { reason: 'ok', value: result.value !== null };
139
139
  }
140
- export function getStorageItems(host, keys) {
140
+ export function getStorageItems(hostStorage, keys) {
141
141
  const out = [];
142
142
  for (const key of keys) {
143
- const result = host.storage.local.getItem(key);
143
+ const result = hostStorage.getItem(key);
144
144
  if (result.reason !== 'ok')
145
145
  return { failedKey: key, reason: result.reason, value: null };
146
146
  out.push(result.value);
147
147
  }
148
148
  return { failedKey: null, reason: 'ok', value: out };
149
149
  }
150
- export function getStorageJSON(host, key) {
151
- const raw = host.storage.local.getItem(key);
150
+ export function getStorageJSON(hostStorage, key) {
151
+ const raw = hostStorage.getItem(key);
152
152
  if (raw.reason !== 'ok')
153
153
  return raw;
154
154
  if (raw.value === null)
@@ -160,8 +160,8 @@ export function getStorageJSON(host, key) {
160
160
  return { reason: 'parse-failed', value: null };
161
161
  }
162
162
  }
163
- export function getStorageJSONOr(host, key, fallback) {
164
- const raw = host.storage.local.getItem(key);
163
+ export function getStorageJSONOr(hostStorage, key, fallback) {
164
+ const raw = hostStorage.getItem(key);
165
165
  if (raw.reason !== 'ok')
166
166
  return raw;
167
167
  if (raw.value === null)
@@ -173,11 +173,11 @@ export function getStorageJSONOr(host, key, fallback) {
173
173
  return { reason: 'parse-failed', value: fallback };
174
174
  }
175
175
  }
176
- export function getStorageKeys(host) {
177
- return host.storage.local.keys();
176
+ export function getStorageKeys(hostStorage) {
177
+ return hostStorage.keys();
178
178
  }
179
- export function getStorageNumber(host, key) {
180
- const raw = host.storage.local.getItem(key);
179
+ export function getStorageNumber(hostStorage, key) {
180
+ const raw = hostStorage.getItem(key);
181
181
  if (raw.reason !== 'ok')
182
182
  return raw;
183
183
  if (raw.value === null)
@@ -185,8 +185,8 @@ export function getStorageNumber(host, key) {
185
185
  const value = Number(raw.value);
186
186
  return Number.isFinite(value) ? { reason: 'ok', value } : { reason: 'parse-failed', value: null };
187
187
  }
188
- export function getStorageNumberOr(host, key, fallback) {
189
- const raw = host.storage.local.getItem(key);
188
+ export function getStorageNumberOr(hostStorage, key, fallback) {
189
+ const raw = hostStorage.getItem(key);
190
190
  if (raw.reason !== 'ok')
191
191
  return raw;
192
192
  if (raw.value === null)
@@ -200,10 +200,10 @@ export function initializeStorageSignals(out) {
200
200
  // Validates the complete plan before reading or mutating storage. Every successful callback is followed
201
201
  // immediately by its own checkpoint. A checkpoint failure leaves callback effects visible and causes that
202
202
  // version to replay next time, so callbacks must be idempotent; exceptions propagate and nothing rolls back.
203
- export function migrateStorage(host, namespace, migrations, signals = null) {
203
+ export function migrateStorage(hostStorage, namespace, migrations, signals = null) {
204
204
  const sorted = validateStorageMigrations(migrations);
205
205
  const versionKey = namespace === null ? '__flight_storage_version' : namespacedKey(namespace, '__flight_storage_version');
206
- const storedVersion = host.storage.local.getItem(versionKey);
206
+ const storedVersion = hostStorage.getItem(versionKey);
207
207
  if (storedVersion.reason !== 'ok') {
208
208
  return { failedVersion: null, reason: storedVersion.reason, stage: 'read-version', version: null };
209
209
  }
@@ -220,7 +220,7 @@ export function migrateStorage(host, namespace, migrations, signals = null) {
220
220
  if (migration.version <= initialCheckpoint)
221
221
  continue;
222
222
  migration.migrate(namespace?.prefix ?? null);
223
- const stored = setStorageItemOnBackend(host.storage.local, versionKey, String(migration.version), signals);
223
+ const stored = setStorageItemOnBackend(hostStorage, versionKey, String(migration.version), signals);
224
224
  if (stored.reason !== 'ok') {
225
225
  return {
226
226
  failedVersion: migration.version,
@@ -233,42 +233,42 @@ export function migrateStorage(host, namespace, migrations, signals = null) {
233
233
  }
234
234
  return { failedVersion: null, reason: 'ok', stage: null, version: checkpoint };
235
235
  }
236
- export function removeNamespacedStorageItem(host, namespace, key, signals = null) {
237
- return removeStorageItemFromBackend(host.storage.local, namespacedKey(namespace, key), signals);
236
+ export function removeNamespacedStorageItem(hostStorage, namespace, key, signals = null) {
237
+ return removeStorageItemFromBackend(hostStorage, namespacedKey(namespace, key), signals);
238
238
  }
239
- export function removeStorageItem(host, key, signals = null) {
240
- return removeStorageItemFromBackend(host.storage.local, key, signals);
239
+ export function removeStorageItem(hostStorage, key, signals = null) {
240
+ return removeStorageItemFromBackend(hostStorage, key, signals);
241
241
  }
242
- export function removeStorageItems(host, keys, signals = null) {
242
+ export function removeStorageItems(hostStorage, keys, signals = null) {
243
243
  let completed = 0;
244
244
  for (const key of keys) {
245
- const result = removeStorageItemFromBackend(host.storage.local, key, signals);
245
+ const result = removeStorageItemFromBackend(hostStorage, key, signals);
246
246
  if (result.reason !== 'ok')
247
247
  return { completed, failedKey: key, reason: result.reason };
248
248
  completed++;
249
249
  }
250
250
  return { completed, failedKey: null, reason: 'ok' };
251
251
  }
252
- export function setNamespacedStorageItem(host, namespace, key, value, signals = null) {
253
- return setStorageItemOnBackend(host.storage.local, namespacedKey(namespace, key), value, signals);
252
+ export function setNamespacedStorageItem(hostStorage, namespace, key, value, signals = null) {
253
+ return setStorageItemOnBackend(hostStorage, namespacedKey(namespace, key), value, signals);
254
254
  }
255
- export function setStorageBoolean(host, key, value, signals = null) {
256
- return setStorageItemOnBackend(host.storage.local, key, value ? 'true' : 'false', signals);
255
+ export function setStorageBoolean(hostStorage, key, value, signals = null) {
256
+ return setStorageItemOnBackend(hostStorage, key, value ? 'true' : 'false', signals);
257
257
  }
258
- export function setStorageItem(host, key, value, signals = null) {
259
- return setStorageItemOnBackend(host.storage.local, key, value, signals);
258
+ export function setStorageItem(hostStorage, key, value, signals = null) {
259
+ return setStorageItemOnBackend(hostStorage, key, value, signals);
260
260
  }
261
- export function setStorageItems(host, record, signals = null) {
261
+ export function setStorageItems(hostStorage, record, signals = null) {
262
262
  let completed = 0;
263
263
  for (const key of Object.keys(record)) {
264
- const result = setStorageItemOnBackend(host.storage.local, key, record[key], signals);
264
+ const result = setStorageItemOnBackend(hostStorage, key, record[key], signals);
265
265
  if (result.reason !== 'ok')
266
266
  return { completed, failedKey: key, reason: result.reason };
267
267
  completed++;
268
268
  }
269
269
  return { completed, failedKey: null, reason: 'ok' };
270
270
  }
271
- export function setStorageJSON(host, key, value, signals = null) {
271
+ export function setStorageJSON(hostStorage, key, value, signals = null) {
272
272
  let raw;
273
273
  try {
274
274
  raw = JSON.stringify(value);
@@ -278,12 +278,12 @@ export function setStorageJSON(host, key, value, signals = null) {
278
278
  }
279
279
  if (raw === undefined)
280
280
  return { reason: 'serialization-failed' };
281
- return setStorageItemOnBackend(host.storage.local, key, raw, signals);
281
+ return setStorageItemOnBackend(hostStorage, key, raw, signals);
282
282
  }
283
- export function setStorageNumber(host, key, value, signals = null) {
283
+ export function setStorageNumber(hostStorage, key, value, signals = null) {
284
284
  if (!Number.isFinite(value))
285
285
  throw new RangeError('setStorageNumber value must be finite');
286
- return setStorageItemOnBackend(host.storage.local, key, String(value), signals);
286
+ return setStorageItemOnBackend(hostStorage, key, String(value), signals);
287
287
  }
288
288
  function getStorageByteSizeForPrefix(backend, prefix) {
289
289
  const keys = backend.keys();
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { HasStoragePersistenceQuery, HasStoragePersistenceRequest, StoragePersistenceResult } from '@flighthq/types/contract';
2
- export declare function getStoragePersistence(host: HasStoragePersistenceQuery): Promise<StoragePersistenceResult>;
3
- export declare function requestStoragePersistence(host: HasStoragePersistenceRequest): Promise<StoragePersistenceResult>;
1
+ import type { HostStoragePersistenceQueryProvider, HostStoragePersistenceRequestProvider, StoragePersistenceResult } from '@flighthq/types/contract';
2
+ export declare function getStoragePersistence(hostStoragePersistenceQuery: Readonly<HostStoragePersistenceQueryProvider>): Promise<StoragePersistenceResult>;
3
+ export declare function requestStoragePersistence(hostStoragePersistenceRequest: Readonly<HostStoragePersistenceRequestProvider>): Promise<StoragePersistenceResult>;
4
4
  //# sourceMappingURL=storagePersistence.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storagePersistence.d.ts","sourceRoot":"","sources":["../src/storagePersistence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,0BAA0B,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAGzG;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,4BAA4B,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAG/G"}
1
+ {"version":3,"file":"storagePersistence.d.ts","sourceRoot":"","sources":["../src/storagePersistence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mCAAmC,EACnC,qCAAqC,EACrC,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,qBAAqB,CACnC,2BAA2B,EAAE,QAAQ,CAAC,mCAAmC,CAAC,GACzE,OAAO,CAAC,wBAAwB,CAAC,CAGnC;AAED,wBAAgB,yBAAyB,CACvC,6BAA6B,EAAE,QAAQ,CAAC,qCAAqC,CAAC,GAC7E,OAAO,CAAC,wBAAwB,CAAC,CAGnC"}
@@ -1,9 +1,9 @@
1
- export function getStoragePersistence(host) {
2
- const backend = host.storage.persistenceQuery;
1
+ export function getStoragePersistence(hostStoragePersistenceQuery) {
2
+ const backend = hostStoragePersistenceQuery;
3
3
  return backend.getPersistence();
4
4
  }
5
- export function requestStoragePersistence(host) {
6
- const backend = host.storage.persistenceRequest;
5
+ export function requestStoragePersistence(hostStoragePersistenceRequest) {
6
+ const backend = hostStoragePersistenceRequest;
7
7
  return backend.requestPersistence();
8
8
  }
9
9
  //# sourceMappingURL=storagePersistence.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storagePersistence.js","sourceRoot":"","sources":["../src/storagePersistence.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,qBAAqB,CAAC,IAAgC;IACpE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAC9C,OAAO,OAAO,CAAC,cAAc,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAkC;IAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAChD,OAAO,OAAO,CAAC,kBAAkB,EAAE,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"storagePersistence.js","sourceRoot":"","sources":["../src/storagePersistence.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,qBAAqB,CACnC,2BAA0E;IAE1E,MAAM,OAAO,GAAG,2BAA2B,CAAC;IAC5C,OAAO,OAAO,CAAC,cAAc,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,6BAA8E;IAE9E,MAAM,OAAO,GAAG,6BAA6B,CAAC;IAC9C,OAAO,OAAO,CAAC,kBAAkB,EAAE,CAAC;AACtC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/storage",
3
- "version": "0.5.1-next.1069.554a2ac",
3
+ "version": "0.5.1-next.1197.6a425ce",
4
4
  "author": "Joshua Granick and other contributors",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,9 +38,9 @@
38
38
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@flighthq/entity": "0.5.1-next.1069.554a2ac",
42
- "@flighthq/signals": "0.5.1-next.1069.554a2ac",
43
- "@flighthq/types": "0.5.1-next.1069.554a2ac"
41
+ "@flighthq/entity": "0.5.1-next.1197.6a425ce",
42
+ "@flighthq/signals": "0.5.1-next.1197.6a425ce",
43
+ "@flighthq/types": "0.5.1-next.1197.6a425ce"
44
44
  },
45
45
  "devDependencies": {
46
46
  "typescript": "^5.3.0"
@@ -2,11 +2,9 @@ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
2
  import { connectSignal } from '@flighthq/signals/contract';
3
3
  import type {
4
4
  EntityRuntimeKey,
5
- HasStorageChange,
6
- HasStorageLocal,
7
- StorageBackend,
5
+ HostStorageChangeProvider,
6
+ HostStorageProvider,
8
7
  StorageChange,
9
- StorageChangeBackend,
10
8
  StorageClearFailureReason,
11
9
  StorageGetItemFailureReason,
12
10
  StorageRemoveItemFailureReason,
@@ -54,7 +52,7 @@ import {
54
52
  setStorageNumber,
55
53
  } from './storage';
56
54
 
57
- interface MemoryStorageBackend extends StorageBackend {
55
+ interface MemoryStorageBackend extends HostStorageProvider {
58
56
  readonly data: Record<string, string>;
59
57
  getCalls: number;
60
58
  readonly getFailures: Map<string, StorageGetItemFailureReason>;
@@ -108,11 +106,13 @@ function memoryBackend(initial: Readonly<Record<string, string>> = {}): MemorySt
108
106
  return finishEntity(out);
109
107
  }
110
108
 
111
- function localHost(backend: StorageBackend): HasStorageLocal {
109
+ function localHost(backend: HostStorageProvider): { readonly storage: { readonly local: HostStorageProvider } } {
112
110
  return { storage: { local: backend } };
113
111
  }
114
112
 
115
- function changeHost(backend: StorageChangeBackend): HasStorageChange {
113
+ function changeHost(backend: HostStorageChangeProvider): {
114
+ readonly storage: { readonly change: HostStorageChangeProvider };
115
+ } {
116
116
  return { storage: { change: backend } };
117
117
  }
118
118
 
@@ -121,7 +121,7 @@ describe('attachStorage', () => {
121
121
  const released: string[] = [];
122
122
  const captured: { listener?: (change: Readonly<StorageChange>) => void } = {};
123
123
  const a = (() => {
124
- const out = allocateEntity<StorageChangeBackend>();
124
+ const out = allocateEntity<HostStorageChangeProvider>();
125
125
  out.destroy = () => {};
126
126
  out.subscribe = (listener: (change: Readonly<StorageChange>) => void) => {
127
127
  captured.listener = listener;
@@ -130,7 +130,7 @@ describe('attachStorage', () => {
130
130
  return finishEntity(out);
131
131
  })();
132
132
  const b = (() => {
133
- const out = allocateEntity<StorageChangeBackend>();
133
+ const out = allocateEntity<HostStorageChangeProvider>();
134
134
  out.destroy = () => {};
135
135
  out.subscribe = () => {
136
136
  return () => released.push('b');
@@ -141,21 +141,21 @@ describe('attachStorage', () => {
141
141
  const changes: StorageChange[] = [];
142
142
  connectSignal(signals.onChange, (change) => changes.push({ ...change }));
143
143
 
144
- expect(attachStorage(changeHost(a), signals)).toBe(true);
144
+ expect(attachStorage(changeHost(a).storage.change, signals)).toBe(true);
145
145
  captured.listener?.({ key: 'a', newValue: '1', oldValue: null });
146
146
  expect(changes).toEqual([{ key: 'a', newValue: '1', oldValue: null }]);
147
- expect(attachStorage(changeHost(b), signals)).toBe(true);
147
+ expect(attachStorage(changeHost(b).storage.change, signals)).toBe(true);
148
148
  expect(released).toEqual(['a']);
149
149
  detachStorage(signals);
150
150
  expect(released).toEqual(['a', 'b']);
151
151
  });
152
152
 
153
153
  it('returns false and retains no cleanup when acquisition fails', () => {
154
- const provider = allocateEntity<StorageChangeBackend>();
154
+ const provider = allocateEntity<HostStorageChangeProvider>();
155
155
  provider.destroy = () => {};
156
156
  provider.subscribe = () => null;
157
157
  const signals = createStorageSignals();
158
- expect(attachStorage(changeHost(finishEntity(provider)), signals)).toBe(false);
158
+ expect(attachStorage(changeHost(finishEntity(provider)).storage.change, signals)).toBe(false);
159
159
  expect(() => detachStorage(signals)).not.toThrow();
160
160
  });
161
161
  });
@@ -168,10 +168,10 @@ describe('clearStorage', () => {
168
168
  const changes: StorageChange[] = [];
169
169
  connectSignal(signals.onChange, (change) => changes.push({ ...change }));
170
170
  backend.clearFailure = 'security-denied';
171
- expect(clearStorage(host, signals)).toEqual({ reason: 'security-denied' });
171
+ expect(clearStorage(host.storage.local, signals)).toEqual({ reason: 'security-denied' });
172
172
  expect(changes).toEqual([]);
173
173
  backend.clearFailure = null;
174
- expect(clearStorage(host, signals)).toEqual({ reason: 'ok' });
174
+ expect(clearStorage(host.storage.local, signals)).toEqual({ reason: 'ok' });
175
175
  expect(changes).toEqual([{ key: null, newValue: null, oldValue: null }]);
176
176
  });
177
177
  });
@@ -180,7 +180,7 @@ describe('clearStorageNamespace', () => {
180
180
  it('removes matching keys, stops on failure, and exposes completed world state', () => {
181
181
  const backend = memoryBackend({ 'ns.a': '1', 'ns.b': '2', other: '3' });
182
182
  backend.removeFailures.set('ns.b', 'remove-failed');
183
- expect(clearStorageNamespace(localHost(backend), { prefix: 'ns' })).toEqual({
183
+ expect(clearStorageNamespace(localHost(backend).storage.local, { prefix: 'ns' })).toEqual({
184
184
  completed: 1,
185
185
  failedKey: 'ns.b',
186
186
  reason: 'remove-failed',
@@ -191,7 +191,7 @@ describe('clearStorageNamespace', () => {
191
191
  it('returns no partial state when key enumeration fails', () => {
192
192
  const backend = memoryBackend({ 'ns.a': '1' });
193
193
  backend.keysFailure = 'security-denied';
194
- expect(clearStorageNamespace(localHost(backend), { prefix: 'ns' })).toEqual({
194
+ expect(clearStorageNamespace(localHost(backend).storage.local, { prefix: 'ns' })).toEqual({
195
195
  completed: 0,
196
196
  failedKey: null,
197
197
  reason: 'security-denied',
@@ -210,10 +210,10 @@ describe('createStorageSignals', () => {
210
210
  describe('destroyStorage', () => {
211
211
  it('runs the explicit change-provider teardown', () => {
212
212
  let destroyed = 0;
213
- const provider = allocateEntity<StorageChangeBackend>();
213
+ const provider = allocateEntity<HostStorageChangeProvider>();
214
214
  provider.destroy = () => destroyed++;
215
215
  provider.subscribe = () => null;
216
- destroyStorage(changeHost(finishEntity(provider)));
216
+ destroyStorage(changeHost(finishEntity(provider)).storage.change);
217
217
  expect(destroyed).toBe(1);
218
218
  });
219
219
  });
@@ -221,11 +221,11 @@ describe('destroyStorage', () => {
221
221
  describe('detachStorage', () => {
222
222
  it('is idempotent', () => {
223
223
  let released = 0;
224
- const provider = allocateEntity<StorageChangeBackend>();
224
+ const provider = allocateEntity<HostStorageChangeProvider>();
225
225
  provider.destroy = () => {};
226
226
  provider.subscribe = () => () => released++;
227
227
  const signals = createStorageSignals();
228
- attachStorage(changeHost(finishEntity(provider)), signals);
228
+ attachStorage(changeHost(finishEntity(provider)).storage.change, signals);
229
229
  detachStorage(signals);
230
230
  detachStorage(signals);
231
231
  expect(released).toBe(1);
@@ -246,7 +246,7 @@ describe('disposeStorage', () => {
246
246
  describe('getNamespacedStorageByteSize', () => {
247
247
  it('computes byte size from raw prefixed keys', () => {
248
248
  const host = localHost(memoryBackend({ 'n.a': 'xy', other: 'ignored' }));
249
- expect(getNamespacedStorageByteSize(host, { prefix: 'n' })).toEqual({
249
+ expect(getNamespacedStorageByteSize(host.storage.local, { prefix: 'n' })).toEqual({
250
250
  failedKey: null,
251
251
  reason: 'ok',
252
252
  value: ('n.a'.length + 'xy'.length) * 2,
@@ -258,7 +258,7 @@ describe('getNamespacedStorageEntries', () => {
258
258
  it('filters entries and strips the namespace prefix', () => {
259
259
  const host = localHost(memoryBackend({ 'app.a': '1', 'app.b': '2', other: '3' }));
260
260
  const namespace = { prefix: 'app' };
261
- expect(getNamespacedStorageEntries(host, namespace)).toEqual({
261
+ expect(getNamespacedStorageEntries(host.storage.local, namespace)).toEqual({
262
262
  failedKey: null,
263
263
  reason: 'ok',
264
264
  value: [
@@ -273,7 +273,7 @@ describe('getNamespacedStorageItem', () => {
273
273
  it('reads the prefixed key', () => {
274
274
  const host = localHost(memoryBackend({ 'app.a': '1' }));
275
275
  const namespace = { prefix: 'app' };
276
- expect(getNamespacedStorageItem(host, namespace, 'a')).toEqual({ reason: 'ok', value: '1' });
276
+ expect(getNamespacedStorageItem(host.storage.local, namespace, 'a')).toEqual({ reason: 'ok', value: '1' });
277
277
  });
278
278
  });
279
279
 
@@ -281,7 +281,10 @@ describe('getNamespacedStorageItemPresence', () => {
281
281
  it('reports a missing prefixed key', () => {
282
282
  const host = localHost(memoryBackend());
283
283
  const namespace = { prefix: 'app' };
284
- expect(getNamespacedStorageItemPresence(host, namespace, 'missing')).toEqual({ reason: 'ok', value: false });
284
+ expect(getNamespacedStorageItemPresence(host.storage.local, namespace, 'missing')).toEqual({
285
+ reason: 'ok',
286
+ value: false,
287
+ });
285
288
  });
286
289
  });
287
290
 
@@ -289,7 +292,7 @@ describe('getNamespacedStorageKeys', () => {
289
292
  it('filters keys and strips the namespace prefix', () => {
290
293
  const host = localHost(memoryBackend({ 'app.a': '1', 'app.b': '2', other: '3' }));
291
294
  const namespace = { prefix: 'app' };
292
- expect(getNamespacedStorageKeys(host, namespace)).toEqual({ reason: 'ok', value: ['a', 'b'] });
295
+ expect(getNamespacedStorageKeys(host.storage.local, namespace)).toEqual({ reason: 'ok', value: ['a', 'b'] });
293
296
  });
294
297
  });
295
298
 
@@ -297,10 +300,10 @@ describe('getStorageBoolean', () => {
297
300
  it('distinguishes miss, values, and parse failure', () => {
298
301
  const backend = memoryBackend({ bad: 'yes', false: 'false', true: 'true' });
299
302
  const host = localHost(backend);
300
- expect(getStorageBoolean(host, 'true')).toEqual({ reason: 'ok', value: true });
301
- expect(getStorageBoolean(host, 'false')).toEqual({ reason: 'ok', value: false });
302
- expect(getStorageBoolean(host, 'missing')).toEqual({ reason: 'ok', value: null });
303
- expect(getStorageBoolean(host, 'bad')).toEqual({ reason: 'parse-failed', value: null });
303
+ expect(getStorageBoolean(host.storage.local, 'true')).toEqual({ reason: 'ok', value: true });
304
+ expect(getStorageBoolean(host.storage.local, 'false')).toEqual({ reason: 'ok', value: false });
305
+ expect(getStorageBoolean(host.storage.local, 'missing')).toEqual({ reason: 'ok', value: null });
306
+ expect(getStorageBoolean(host.storage.local, 'bad')).toEqual({ reason: 'parse-failed', value: null });
304
307
  });
305
308
  });
306
309
 
@@ -308,21 +311,25 @@ describe('getStorageBooleanOr', () => {
308
311
  it('retains fallback decode and provider failure reasons', () => {
309
312
  const backend = memoryBackend({ bad: 'yes' });
310
313
  const host = localHost(backend);
311
- expect(getStorageBooleanOr(host, 'bad', true)).toEqual({ reason: 'parse-failed', value: true });
314
+ expect(getStorageBooleanOr(host.storage.local, 'bad', true)).toEqual({ reason: 'parse-failed', value: true });
312
315
  backend.getFailures.set('denied', 'security-denied');
313
- expect(getStorageBooleanOr(host, 'denied', true)).toEqual({ reason: 'security-denied', value: null });
316
+ expect(getStorageBooleanOr(host.storage.local, 'denied', true)).toEqual({ reason: 'security-denied', value: null });
314
317
  });
315
318
  });
316
319
 
317
320
  describe('getStorageByteSize', () => {
318
321
  it('returns empty success separately from keys and value failures', () => {
319
322
  const empty = memoryBackend();
320
- expect(getStorageByteSize(localHost(empty))).toEqual({ failedKey: null, reason: 'ok', value: 0 });
323
+ expect(getStorageByteSize(localHost(empty).storage.local)).toEqual({ failedKey: null, reason: 'ok', value: 0 });
321
324
  empty.keysFailure = 'read-failed';
322
- expect(getStorageByteSize(localHost(empty))).toEqual({ failedKey: null, reason: 'read-failed', value: null });
325
+ expect(getStorageByteSize(localHost(empty).storage.local)).toEqual({
326
+ failedKey: null,
327
+ reason: 'read-failed',
328
+ value: null,
329
+ });
323
330
  const failedValue = memoryBackend({ a: '1' });
324
331
  failedValue.getFailures.set('a', 'security-denied');
325
- expect(getStorageByteSize(localHost(failedValue))).toEqual({
332
+ expect(getStorageByteSize(localHost(failedValue).storage.local)).toEqual({
326
333
  failedKey: 'a',
327
334
  reason: 'security-denied',
328
335
  value: null,
@@ -334,7 +341,7 @@ describe('getStorageEntries', () => {
334
341
  it('returns no partial payload after the first failed value read', () => {
335
342
  const backend = memoryBackend({ a: '1', b: '2' });
336
343
  backend.getFailures.set('b', 'read-failed');
337
- expect(getStorageEntries(localHost(backend))).toEqual({
344
+ expect(getStorageEntries(localHost(backend).storage.local)).toEqual({
338
345
  failedKey: 'b',
339
346
  reason: 'read-failed',
340
347
  value: null,
@@ -346,8 +353,8 @@ describe('getStorageItem', () => {
346
353
  it('distinguishes missing, empty, and failed reads', () => {
347
354
  const backend = memoryBackend({ empty: '' });
348
355
  const host = localHost(backend);
349
- expect(getStorageItem(host, 'missing')).toEqual({ reason: 'ok', value: null });
350
- expect(getStorageItem(host, 'empty')).toEqual({ reason: 'ok', value: '' });
356
+ expect(getStorageItem(host.storage.local, 'missing')).toEqual({ reason: 'ok', value: null });
357
+ expect(getStorageItem(host.storage.local, 'empty')).toEqual({ reason: 'ok', value: '' });
351
358
  });
352
359
  });
353
360
 
@@ -355,9 +362,9 @@ describe('getStorageItemCount', () => {
355
362
  it('distinguishes an empty store from failed enumeration', () => {
356
363
  const backend = memoryBackend();
357
364
  const host = localHost(backend);
358
- expect(getStorageItemCount(host)).toEqual({ reason: 'ok', value: 0 });
365
+ expect(getStorageItemCount(host.storage.local)).toEqual({ reason: 'ok', value: 0 });
359
366
  backend.keysFailure = 'runtime-unavailable';
360
- expect(getStorageItemCount(host)).toEqual({ reason: 'runtime-unavailable', value: null });
367
+ expect(getStorageItemCount(host.storage.local)).toEqual({ reason: 'runtime-unavailable', value: null });
361
368
  });
362
369
  });
363
370
 
@@ -365,10 +372,13 @@ describe('getStorageItemOr', () => {
365
372
  it('does not hide failure behind fallback', () => {
366
373
  const backend = memoryBackend({ empty: '' });
367
374
  const host = localHost(backend);
368
- expect(getStorageItemOr(host, 'missing', 'fallback')).toEqual({ reason: 'ok', value: 'fallback' });
369
- expect(getStorageItemOr(host, 'empty', 'fallback')).toEqual({ reason: 'ok', value: '' });
375
+ expect(getStorageItemOr(host.storage.local, 'missing', 'fallback')).toEqual({ reason: 'ok', value: 'fallback' });
376
+ expect(getStorageItemOr(host.storage.local, 'empty', 'fallback')).toEqual({ reason: 'ok', value: '' });
370
377
  backend.getFailures.set('denied', 'security-denied');
371
- expect(getStorageItemOr(host, 'denied', 'fallback')).toEqual({ reason: 'security-denied', value: null });
378
+ expect(getStorageItemOr(host.storage.local, 'denied', 'fallback')).toEqual({
379
+ reason: 'security-denied',
380
+ value: null,
381
+ });
372
382
  });
373
383
  });
374
384
 
@@ -376,7 +386,10 @@ describe('getStorageItemPresence', () => {
376
386
  it('returns null payload on provider failure instead of false', () => {
377
387
  const backend = memoryBackend();
378
388
  backend.getFailures.set('key', 'read-failed');
379
- expect(getStorageItemPresence(localHost(backend), 'key')).toEqual({ reason: 'read-failed', value: null });
389
+ expect(getStorageItemPresence(localHost(backend).storage.local, 'key')).toEqual({
390
+ reason: 'read-failed',
391
+ value: null,
392
+ });
380
393
  });
381
394
  });
382
395
 
@@ -384,7 +397,7 @@ describe('getStorageItems', () => {
384
397
  it('stops on first failure and returns no partial array', () => {
385
398
  const backend = memoryBackend({ a: '1', c: '3' });
386
399
  backend.getFailures.set('b', 'read-failed');
387
- expect(getStorageItems(localHost(backend), ['a', 'b', 'c'])).toEqual({
400
+ expect(getStorageItems(localHost(backend).storage.local, ['a', 'b', 'c'])).toEqual({
388
401
  failedKey: 'b',
389
402
  reason: 'read-failed',
390
403
  value: null,
@@ -397,18 +410,18 @@ describe('getStorageJSON', () => {
397
410
  it('keeps miss and stored null ordinary while identifying malformed input', () => {
398
411
  const backend = memoryBackend({ bad: '{', null: 'null', value: '{"x":1}' });
399
412
  const host = localHost(backend);
400
- expect(getStorageJSON<{ x: number }>(host, 'value')).toEqual({ reason: 'ok', value: { x: 1 } });
401
- expect(getStorageJSON(host, 'missing')).toEqual({ reason: 'ok', value: null });
402
- expect(getStorageJSON(host, 'null')).toEqual({ reason: 'ok', value: null });
403
- expect(getStorageJSON(host, 'bad')).toEqual({ reason: 'parse-failed', value: null });
413
+ expect(getStorageJSON<{ x: number }>(host.storage.local, 'value')).toEqual({ reason: 'ok', value: { x: 1 } });
414
+ expect(getStorageJSON(host.storage.local, 'missing')).toEqual({ reason: 'ok', value: null });
415
+ expect(getStorageJSON(host.storage.local, 'null')).toEqual({ reason: 'ok', value: null });
416
+ expect(getStorageJSON(host.storage.local, 'bad')).toEqual({ reason: 'parse-failed', value: null });
404
417
  });
405
418
  });
406
419
 
407
420
  describe('getStorageJSONOr', () => {
408
421
  it('returns fallback with the parse reason but preserves a stored null', () => {
409
422
  const host = localHost(memoryBackend({ bad: '{', null: 'null' }));
410
- expect(getStorageJSONOr(host, 'bad', { x: 2 })).toEqual({ reason: 'parse-failed', value: { x: 2 } });
411
- expect(getStorageJSONOr(host, 'null', { x: 2 })).toEqual({ reason: 'ok', value: null });
423
+ expect(getStorageJSONOr(host.storage.local, 'bad', { x: 2 })).toEqual({ reason: 'parse-failed', value: { x: 2 } });
424
+ expect(getStorageJSONOr(host.storage.local, 'null', { x: 2 })).toEqual({ reason: 'ok', value: null });
412
425
  });
413
426
  });
414
427
 
@@ -416,25 +429,25 @@ describe('getStorageKeys', () => {
416
429
  it('distinguishes successful empty keys from a failed query', () => {
417
430
  const backend = memoryBackend();
418
431
  const host = localHost(backend);
419
- expect(getStorageKeys(host)).toEqual({ reason: 'ok', value: [] });
432
+ expect(getStorageKeys(host.storage.local)).toEqual({ reason: 'ok', value: [] });
420
433
  backend.keysFailure = 'runtime-unavailable';
421
- expect(getStorageKeys(host)).toEqual({ reason: 'runtime-unavailable', value: null });
434
+ expect(getStorageKeys(host.storage.local)).toEqual({ reason: 'runtime-unavailable', value: null });
422
435
  });
423
436
  });
424
437
 
425
438
  describe('getStorageNumber', () => {
426
439
  it('reports nonfinite stored values as parse failures', () => {
427
440
  const host = localHost(memoryBackend({ bad: 'Infinity', number: '2.5' }));
428
- expect(getStorageNumber(host, 'number')).toEqual({ reason: 'ok', value: 2.5 });
429
- expect(getStorageNumber(host, 'missing')).toEqual({ reason: 'ok', value: null });
430
- expect(getStorageNumber(host, 'bad')).toEqual({ reason: 'parse-failed', value: null });
441
+ expect(getStorageNumber(host.storage.local, 'number')).toEqual({ reason: 'ok', value: 2.5 });
442
+ expect(getStorageNumber(host.storage.local, 'missing')).toEqual({ reason: 'ok', value: null });
443
+ expect(getStorageNumber(host.storage.local, 'bad')).toEqual({ reason: 'parse-failed', value: null });
431
444
  });
432
445
  });
433
446
 
434
447
  describe('getStorageNumberOr', () => {
435
448
  it('retains the fallback parse reason', () => {
436
449
  const host = localHost(memoryBackend({ bad: 'Infinity' }));
437
- expect(getStorageNumberOr(host, 'bad', 7)).toEqual({ reason: 'parse-failed', value: 7 });
450
+ expect(getStorageNumberOr(host.storage.local, 'bad', 7)).toEqual({ reason: 'parse-failed', value: 7 });
438
451
  });
439
452
  });
440
453
 
@@ -447,10 +460,12 @@ describe('initializeStorageSignals', () => {
447
460
  describe('migrateStorage', () => {
448
461
  it('validates the entire plan before reading storage', () => {
449
462
  const backend = memoryBackend();
450
- expect(() => migrateStorage(localHost(backend), null, [{ migrate() {}, version: 0 }])).toThrow(RangeError);
463
+ expect(() => migrateStorage(localHost(backend).storage.local, null, [{ migrate() {}, version: 0 }])).toThrow(
464
+ RangeError,
465
+ );
451
466
  expect(backend.getCalls).toBe(0);
452
467
  expect(() =>
453
- migrateStorage(localHost(backend), null, [
468
+ migrateStorage(localHost(backend).storage.local, null, [
454
469
  { migrate() {}, version: 1 },
455
470
  { migrate() {}, version: 1 },
456
471
  ]),
@@ -460,7 +475,9 @@ describe('migrateStorage', () => {
460
475
  it('runs zero callbacks after provider read failure or invalid stored version', () => {
461
476
  const backend = memoryBackend({ __flight_storage_version: 'not-a-version' });
462
477
  let callbacks = 0;
463
- expect(migrateStorage(localHost(backend), null, [{ migrate: () => callbacks++, version: 1 }])).toEqual({
478
+ expect(
479
+ migrateStorage(localHost(backend).storage.local, null, [{ migrate: () => callbacks++, version: 1 }]),
480
+ ).toEqual({
464
481
  failedVersion: null,
465
482
  reason: 'version-parse-failed',
466
483
  stage: 'read-version',
@@ -468,7 +485,9 @@ describe('migrateStorage', () => {
468
485
  });
469
486
  expect(callbacks).toBe(0);
470
487
  backend.getFailures.set('__flight_storage_version', 'security-denied');
471
- expect(migrateStorage(localHost(backend), null, [{ migrate: () => callbacks++, version: 1 }])).toEqual({
488
+ expect(
489
+ migrateStorage(localHost(backend).storage.local, null, [{ migrate: () => callbacks++, version: 1 }]),
490
+ ).toEqual({
472
491
  failedVersion: null,
473
492
  reason: 'security-denied',
474
493
  stage: 'read-version',
@@ -480,7 +499,7 @@ describe('migrateStorage', () => {
480
499
  it('checkpoints after every callback in sorted order', () => {
481
500
  const backend = memoryBackend();
482
501
  const seen: string[] = [];
483
- const result = migrateStorage(localHost(backend), null, [
502
+ const result = migrateStorage(localHost(backend).storage.local, null, [
484
503
  {
485
504
  migrate() {
486
505
  seen.push(`two:${backend.data.__flight_storage_version}`);
@@ -507,7 +526,7 @@ describe('migrateStorage', () => {
507
526
  { migrate() {}, version: 1 },
508
527
  { migrate: () => versionTwoCalls++, version: 2 },
509
528
  ];
510
- expect(migrateStorage(localHost(backend), null, migrations)).toEqual({
529
+ expect(migrateStorage(localHost(backend).storage.local, null, migrations)).toEqual({
511
530
  failedVersion: 2,
512
531
  reason: 'write-failed',
513
532
  stage: 'checkpoint',
@@ -515,14 +534,14 @@ describe('migrateStorage', () => {
515
534
  });
516
535
  expect(versionTwoCalls).toBe(1);
517
536
  backend.setItem = original;
518
- expect(migrateStorage(localHost(backend), null, migrations).reason).toBe('ok');
537
+ expect(migrateStorage(localHost(backend).storage.local, null, migrations).reason).toBe('ok');
519
538
  expect(versionTwoCalls).toBe(2);
520
539
  });
521
540
 
522
541
  it('propagates callback exceptions without rolling back prior checkpoints', () => {
523
542
  const backend = memoryBackend();
524
543
  expect(() =>
525
- migrateStorage(localHost(backend), null, [
544
+ migrateStorage(localHost(backend).storage.local, null, [
526
545
  { migrate() {}, version: 1 },
527
546
  {
528
547
  migrate: () => {
@@ -543,7 +562,7 @@ describe('removeNamespacedStorageItem', () => {
543
562
  const signals = createStorageSignals();
544
563
  const changes: StorageChange[] = [];
545
564
  connectSignal(signals.onChange, (change) => changes.push({ ...change }));
546
- expect(removeNamespacedStorageItem(host, { prefix: 'ns' }, 'a', signals)).toEqual({ reason: 'ok' });
565
+ expect(removeNamespacedStorageItem(host.storage.local, { prefix: 'ns' }, 'a', signals)).toEqual({ reason: 'ok' });
547
566
  expect(changes).toEqual([{ key: 'ns.a', newValue: null, oldValue: '1' }]);
548
567
  });
549
568
  });
@@ -554,7 +573,7 @@ describe('removeStorageItem', () => {
554
573
  const signals = createStorageSignals();
555
574
  const changes: StorageChange[] = [];
556
575
  connectSignal(signals.onChange, (change) => changes.push({ ...change }));
557
- expect(removeStorageItem(localHost(backend), 'missing', signals)).toEqual({ reason: 'ok' });
576
+ expect(removeStorageItem(localHost(backend).storage.local, 'missing', signals)).toEqual({ reason: 'ok' });
558
577
  expect(changes).toEqual([]);
559
578
  });
560
579
  });
@@ -563,7 +582,7 @@ describe('removeStorageItems', () => {
563
582
  it('stops at the first failure and reports completed removals', () => {
564
583
  const backend = memoryBackend({ a: '1', b: '2', c: '3' });
565
584
  backend.removeFailures.set('b', 'security-denied');
566
- expect(removeStorageItems(localHost(backend), ['a', 'b', 'c'])).toEqual({
585
+ expect(removeStorageItems(localHost(backend).storage.local, ['a', 'b', 'c'])).toEqual({
567
586
  completed: 1,
568
587
  failedKey: 'b',
569
588
  reason: 'security-denied',
@@ -576,7 +595,7 @@ describe('setNamespacedStorageItem', () => {
576
595
  it('prefixes namespaced keys', () => {
577
596
  const backend = memoryBackend();
578
597
  const host = localHost(backend);
579
- expect(setNamespacedStorageItem(host, { prefix: 'app' }, 'key', 'value')).toEqual({ reason: 'ok' });
598
+ expect(setNamespacedStorageItem(host.storage.local, { prefix: 'app' }, 'key', 'value')).toEqual({ reason: 'ok' });
580
599
  expect(backend.data).toEqual({ 'app.key': 'value' });
581
600
  });
582
601
  });
@@ -585,7 +604,7 @@ describe('setStorageBoolean', () => {
585
604
  it('serializes booleans', () => {
586
605
  const backend = memoryBackend();
587
606
  const host = localHost(backend);
588
- expect(setStorageBoolean(host, 'flag', true)).toEqual({ reason: 'ok' });
607
+ expect(setStorageBoolean(host.storage.local, 'flag', true)).toEqual({ reason: 'ok' });
589
608
  expect(backend.data).toEqual({ flag: 'true' });
590
609
  });
591
610
  });
@@ -595,15 +614,15 @@ describe('setStorageItem', () => {
595
614
  const backend = memoryBackend({ key: 'old' });
596
615
  const host = localHost(backend);
597
616
  const signals = createStorageSignals();
598
- expect(setStorageItem(host, 'key', 'unobserved', signals)).toEqual({ reason: 'ok' });
617
+ expect(setStorageItem(host.storage.local, 'key', 'unobserved', signals)).toEqual({ reason: 'ok' });
599
618
  expect(backend.getCalls).toBe(0);
600
619
  const changes: StorageChange[] = [];
601
620
  connectSignal(signals.onChange, (change) => changes.push({ ...change }));
602
621
  backend.setFailures.set('key', 'quota-exceeded');
603
- expect(setStorageItem(host, 'key', 'failed', signals)).toEqual({ reason: 'quota-exceeded' });
622
+ expect(setStorageItem(host.storage.local, 'key', 'failed', signals)).toEqual({ reason: 'quota-exceeded' });
604
623
  expect(changes).toEqual([]);
605
624
  backend.setFailures.delete('key');
606
- expect(setStorageItem(host, 'key', 'new', signals)).toEqual({ reason: 'ok' });
625
+ expect(setStorageItem(host.storage.local, 'key', 'new', signals)).toEqual({ reason: 'ok' });
607
626
  expect(changes).toEqual([{ key: 'key', newValue: 'new', oldValue: 'unobserved' }]);
608
627
  });
609
628
  });
@@ -612,7 +631,7 @@ describe('setStorageItems', () => {
612
631
  it('stops after a failed write and exposes completed world state', () => {
613
632
  const backend = memoryBackend();
614
633
  backend.setFailures.set('b', 'quota-exceeded');
615
- expect(setStorageItems(localHost(backend), { a: '1', b: '2', c: '3' })).toEqual({
634
+ expect(setStorageItems(localHost(backend).storage.local, { a: '1', b: '2', c: '3' })).toEqual({
616
635
  completed: 1,
617
636
  failedKey: 'b',
618
637
  reason: 'quota-exceeded',
@@ -627,9 +646,9 @@ describe('setStorageJSON', () => {
627
646
  const host = localHost(backend);
628
647
  const cyclic: { self?: unknown } = {};
629
648
  cyclic.self = cyclic;
630
- expect(setStorageJSON(host, 'cyclic', cyclic)).toEqual({ reason: 'serialization-failed' });
631
- expect(setStorageJSON(host, 'undefined', undefined)).toEqual({ reason: 'serialization-failed' });
632
- expect(setStorageJSON(host, 'value', { x: 1 })).toEqual({ reason: 'ok' });
649
+ expect(setStorageJSON(host.storage.local, 'cyclic', cyclic)).toEqual({ reason: 'serialization-failed' });
650
+ expect(setStorageJSON(host.storage.local, 'undefined', undefined)).toEqual({ reason: 'serialization-failed' });
651
+ expect(setStorageJSON(host.storage.local, 'value', { x: 1 })).toEqual({ reason: 'ok' });
633
652
  expect(backend.data.value).toBe('{"x":1}');
634
653
  });
635
654
  });
@@ -637,9 +656,9 @@ describe('setStorageNumber', () => {
637
656
  it('stores finite values and throws RangeError for programmer misuse', () => {
638
657
  const backend = memoryBackend();
639
658
  const host = localHost(backend);
640
- expect(setStorageNumber(host, 'number', 2.5)).toEqual({ reason: 'ok' });
659
+ expect(setStorageNumber(host.storage.local, 'number', 2.5)).toEqual({ reason: 'ok' });
641
660
  expect(backend.data.number).toBe('2.5');
642
- expect(() => setStorageNumber(host, 'nan', Number.NaN)).toThrow(RangeError);
643
- expect(() => setStorageNumber(host, 'infinity', Infinity)).toThrow(RangeError);
661
+ expect(() => setStorageNumber(host.storage.local, 'nan', Number.NaN)).toThrow(RangeError);
662
+ expect(() => setStorageNumber(host.storage.local, 'infinity', Infinity)).toThrow(RangeError);
644
663
  });
645
664
  });
@@ -1,9 +1,7 @@
1
1
  import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
2
  import type {
3
- HasStoragePersistenceQuery,
4
- HasStoragePersistenceRequest,
5
- StoragePersistenceQueryBackend,
6
- StoragePersistenceRequestBackend,
3
+ HostStoragePersistenceQueryProvider,
4
+ HostStoragePersistenceRequestProvider,
7
5
  StoragePersistenceResult,
8
6
  } from '@flighthq/types/contract';
9
7
  import { describe, expect, it, vi } from 'vitest';
@@ -26,7 +24,7 @@ describe('getStoragePersistence', () => {
26
24
  })(),
27
25
  );
28
26
 
29
- await expect(getStoragePersistence(host)).resolves.toEqual(result);
27
+ await expect(getStoragePersistence(host.storage.persistenceQuery)).resolves.toEqual(result);
30
28
  expect(getPersistence).toHaveBeenCalledOnce();
31
29
  });
32
30
 
@@ -47,8 +45,8 @@ describe('getStoragePersistence', () => {
47
45
  })();
48
46
  let reads = 0;
49
47
  const storage = { persistenceRequest: request } as {
50
- persistenceQuery: StoragePersistenceQueryBackend;
51
- persistenceRequest: StoragePersistenceRequestBackend;
48
+ persistenceQuery: HostStoragePersistenceQueryProvider;
49
+ persistenceRequest: HostStoragePersistenceRequestProvider;
52
50
  };
53
51
  Object.defineProperty(storage, 'persistenceQuery', {
54
52
  get() {
@@ -57,7 +55,7 @@ describe('getStoragePersistence', () => {
57
55
  },
58
56
  });
59
57
 
60
- await expect(getStoragePersistence({ storage })).resolves.toEqual({
58
+ await expect(getStoragePersistence({ storage }.storage.persistenceQuery)).resolves.toEqual({
61
59
  outcome: 'persistent',
62
60
  permissionState: 'granted',
63
61
  });
@@ -82,7 +80,7 @@ describe('requestStoragePersistence', () => {
82
80
  })(),
83
81
  );
84
82
 
85
- await expect(requestStoragePersistence(host)).resolves.toEqual(result);
83
+ await expect(requestStoragePersistence(host.storage.persistenceRequest)).resolves.toEqual(result);
86
84
  expect(requestPersistence).toHaveBeenCalledOnce();
87
85
  });
88
86
 
@@ -103,8 +101,8 @@ describe('requestStoragePersistence', () => {
103
101
  })();
104
102
  let reads = 0;
105
103
  const storage = { persistenceQuery: query } as {
106
- persistenceQuery: StoragePersistenceQueryBackend;
107
- persistenceRequest: StoragePersistenceRequestBackend;
104
+ persistenceQuery: HostStoragePersistenceQueryProvider;
105
+ persistenceRequest: HostStoragePersistenceRequestProvider;
108
106
  };
109
107
  Object.defineProperty(storage, 'persistenceRequest', {
110
108
  get() {
@@ -113,7 +111,7 @@ describe('requestStoragePersistence', () => {
113
111
  },
114
112
  });
115
113
 
116
- await expect(requestStoragePersistence({ storage })).resolves.toEqual({
114
+ await expect(requestStoragePersistence({ storage }.storage.persistenceRequest)).resolves.toEqual({
117
115
  outcome: 'best-effort',
118
116
  permissionState: null,
119
117
  });
@@ -122,10 +120,14 @@ describe('requestStoragePersistence', () => {
122
120
  });
123
121
  });
124
122
 
125
- function queryHost(backend: StoragePersistenceQueryBackend): HasStoragePersistenceQuery {
123
+ function queryHost(backend: HostStoragePersistenceQueryProvider): {
124
+ readonly storage: { readonly persistenceQuery: HostStoragePersistenceQueryProvider };
125
+ } {
126
126
  return { storage: { persistenceQuery: backend } };
127
127
  }
128
128
 
129
- function requestHost(backend: StoragePersistenceRequestBackend): HasStoragePersistenceRequest {
129
+ function requestHost(backend: HostStoragePersistenceRequestProvider): {
130
+ readonly storage: { readonly persistenceRequest: HostStoragePersistenceRequestProvider };
131
+ } {
130
132
  return { storage: { persistenceRequest: backend } };
131
133
  }