@honua/app-platform 0.1.12 → 0.1.13
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/columnar/apache-arrow.d.ts +17 -0
- package/columnar/apache-arrow.d.ts.map +1 -0
- package/columnar/apache-arrow.js +1036 -0
- package/columnar/batch-cache-conformance.d.ts +66 -0
- package/columnar/batch-cache-conformance.d.ts.map +1 -0
- package/columnar/batch-cache-conformance.js +317 -0
- package/columnar/batch-cache-indexeddb.d.ts +31 -0
- package/columnar/batch-cache-indexeddb.d.ts.map +1 -0
- package/columnar/batch-cache-indexeddb.js +148 -0
- package/columnar/batch-cache.d.ts +298 -0
- package/columnar/batch-cache.d.ts.map +1 -0
- package/columnar/batch-cache.js +757 -0
- package/columnar/geoarrow-aggregate.d.ts +178 -0
- package/columnar/geoarrow-aggregate.d.ts.map +1 -0
- package/columnar/geoarrow-aggregate.js +976 -0
- package/columnar/geoarrow-patch.d.ts +382 -0
- package/columnar/geoarrow-patch.d.ts.map +1 -0
- package/columnar/geoarrow-patch.js +1656 -0
- package/columnar/geoarrow-reproject.d.ts +22 -0
- package/columnar/geoarrow-reproject.d.ts.map +1 -0
- package/columnar/geoarrow-reproject.js +119 -0
- package/columnar/geoarrow-serialization.d.ts +68 -0
- package/columnar/geoarrow-serialization.d.ts.map +1 -0
- package/columnar/geoarrow-serialization.js +331 -0
- package/columnar/geoarrow-types.d.ts +271 -0
- package/columnar/geoarrow-types.d.ts.map +1 -0
- package/columnar/geoarrow-types.js +15 -0
- package/columnar/geoarrow.d.ts +52 -0
- package/columnar/geoarrow.d.ts.map +1 -0
- package/columnar/geoarrow.js +1469 -0
- package/columnar/index.d.ts +43 -0
- package/columnar/index.d.ts.map +1 -0
- package/columnar/index.js +29 -0
- package/columnar/operators.d.ts +70 -0
- package/columnar/operators.d.ts.map +1 -0
- package/columnar/operators.js +307 -0
- package/columnar/result.d.ts +369 -0
- package/columnar/result.d.ts.map +1 -0
- package/columnar/result.js +815 -0
- package/columnar/telemetry.d.ts +152 -0
- package/columnar/telemetry.d.ts.map +1 -0
- package/columnar/telemetry.js +265 -0
- package/columnar/transfer.d.ts +28 -0
- package/columnar/transfer.d.ts.map +1 -0
- package/columnar/transfer.js +669 -0
- package/columnar/types.d.ts +175 -0
- package/columnar/types.d.ts.map +1 -0
- package/columnar/types.js +22 -0
- package/columnar/worker.d.ts +157 -0
- package/columnar/worker.d.ts.map +1 -0
- package/columnar/worker.js +1059 -0
- package/contract/pmtiles.d.ts +6 -5
- package/contract/pmtiles.d.ts.map +1 -1
- package/contract/pmtiles.js +30 -5
- package/controls/catalog.d.ts.map +1 -1
- package/controls/catalog.js +110 -0
- package/controls/index.d.ts +1 -1
- package/controls/index.js +1 -1
- package/controls/types.d.ts +1 -1
- package/controls/types.js +1 -1
- package/core/client.d.ts.map +1 -1
- package/core/client.js +87 -19
- package/core/deprecation-notice.d.ts +28 -0
- package/core/deprecation-notice.d.ts.map +1 -0
- package/core/deprecation-notice.js +22 -0
- package/core/esri-geojson.d.ts.map +1 -1
- package/core/esri-geojson.js +10 -6
- package/core/optional-grpc-peer.d.ts +15 -0
- package/core/optional-grpc-peer.d.ts.map +1 -0
- package/core/optional-grpc-peer.js +60 -0
- package/esri-compat/basemap-gallery.d.ts +2 -0
- package/esri-compat/basemap-gallery.d.ts.map +1 -1
- package/esri-compat/basemap-gallery.js +12 -0
- package/esri-compat/basemap.d.ts +4 -0
- package/esri-compat/basemap.d.ts.map +1 -1
- package/esri-compat/basemap.js +70 -0
- package/esri-compat/bookmarks.d.ts +2 -0
- package/esri-compat/bookmarks.d.ts.map +1 -1
- package/esri-compat/bookmarks.js +12 -0
- package/esri-compat/controls.d.ts +18 -0
- package/esri-compat/controls.d.ts.map +1 -1
- package/esri-compat/controls.js +120 -57
- package/esri-compat/directions.d.ts +4 -0
- package/esri-compat/directions.d.ts.map +1 -1
- package/esri-compat/directions.js +30 -20
- package/esri-compat/editor.d.ts +4 -0
- package/esri-compat/editor.d.ts.map +1 -1
- package/esri-compat/editor.js +16 -0
- package/esri-compat/esri-config.d.ts +2 -1
- package/esri-compat/esri-config.d.ts.map +1 -1
- package/esri-compat/feature-effect.d.ts +23 -0
- package/esri-compat/feature-effect.d.ts.map +1 -0
- package/esri-compat/feature-effect.js +12 -0
- package/esri-compat/feature-form.d.ts +6 -0
- package/esri-compat/feature-form.d.ts.map +1 -1
- package/esri-compat/feature-form.js +63 -0
- package/esri-compat/feature-layer.d.ts +21 -2
- package/esri-compat/feature-layer.d.ts.map +1 -1
- package/esri-compat/feature-layer.js +172 -1
- package/esri-compat/feature-table.d.ts +5 -0
- package/esri-compat/feature-table.d.ts.map +1 -1
- package/esri-compat/feature-table.js +23 -0
- package/esri-compat/identity-manager.d.ts +1 -1
- package/esri-compat/identity-manager.js +1 -1
- package/esri-compat/legend.d.ts +2 -0
- package/esri-compat/legend.d.ts.map +1 -1
- package/esri-compat/legend.js +98 -0
- package/esri-compat/locator.d.ts +1 -1
- package/esri-compat/locator.js +1 -1
- package/esri-compat/map-view-mount.d.ts +1 -0
- package/esri-compat/map-view-mount.d.ts.map +1 -1
- package/esri-compat/map-view-mount.js +46 -25
- package/esri-compat/map-view.d.ts +13 -0
- package/esri-compat/map-view.d.ts.map +1 -1
- package/esri-compat/map-view.js +94 -8
- package/esri-compat/map.d.ts +5 -1
- package/esri-compat/map.d.ts.map +1 -1
- package/esri-compat/map.js +10 -0
- package/esri-compat/measurement.d.ts +2 -0
- package/esri-compat/measurement.d.ts.map +1 -1
- package/esri-compat/measurement.js +14 -0
- package/esri-compat/point.d.ts +7 -0
- package/esri-compat/point.d.ts.map +1 -1
- package/esri-compat/point.js +33 -3
- package/esri-compat/popup.d.ts +2 -0
- package/esri-compat/popup.d.ts.map +1 -1
- package/esri-compat/popup.js +12 -0
- package/esri-compat/portal.d.ts +1 -1
- package/esri-compat/portal.js +1 -1
- package/esri-compat/print.d.ts +3 -0
- package/esri-compat/print.d.ts.map +1 -1
- package/esri-compat/print.js +15 -0
- package/esri-compat/search.d.ts +4 -0
- package/esri-compat/search.d.ts.map +1 -1
- package/esri-compat/search.js +25 -28
- package/esri-compat/sketch.d.ts +2 -0
- package/esri-compat/sketch.d.ts.map +1 -1
- package/esri-compat/sketch.js +12 -0
- package/esri-compat/widget-host.d.ts +46 -17
- package/esri-compat/widget-host.d.ts.map +1 -1
- package/esri-compat/widget-host.js +84 -20
- package/esri-compat/widget-shell-hosts.d.ts +61 -0
- package/esri-compat/widget-shell-hosts.d.ts.map +1 -0
- package/esri-compat/widget-shell-hosts.js +76 -0
- package/kernel/renderer.d.ts +82 -0
- package/kernel/renderer.js +1 -0
- package/offline/conflict-resolution.d.ts +183 -0
- package/offline/conflict-resolution.d.ts.map +1 -0
- package/offline/conflict-resolution.js +286 -0
- package/offline/credential-screen.d.ts +34 -0
- package/offline/credential-screen.d.ts.map +1 -0
- package/offline/credential-screen.js +78 -0
- package/offline/digest.d.ts +15 -0
- package/offline/digest.d.ts.map +1 -0
- package/offline/digest.js +58 -0
- package/offline/edit-queue.d.ts +403 -0
- package/offline/edit-queue.d.ts.map +1 -0
- package/offline/edit-queue.js +1807 -0
- package/offline/edit-replay.d.ts +116 -0
- package/offline/edit-replay.d.ts.map +1 -0
- package/offline/edit-replay.js +392 -0
- package/offline/fetch-handler.d.ts +12 -0
- package/offline/fetch-handler.d.ts.map +1 -0
- package/offline/fetch-handler.js +65 -0
- package/offline/index.d.ts +52 -0
- package/offline/index.d.ts.map +1 -0
- package/offline/index.js +34 -0
- package/offline/indexeddb.d.ts +135 -0
- package/offline/indexeddb.d.ts.map +1 -0
- package/offline/indexeddb.js +888 -0
- package/offline/memory-store.d.ts +17 -0
- package/offline/memory-store.d.ts.map +1 -0
- package/offline/memory-store.js +183 -0
- package/offline/quota.d.ts +161 -0
- package/offline/quota.d.ts.map +1 -0
- package/offline/quota.js +370 -0
- package/offline/read-gate.d.ts +175 -0
- package/offline/read-gate.d.ts.map +1 -0
- package/offline/read-gate.js +252 -0
- package/offline/read-resource.d.ts +99 -0
- package/offline/read-resource.d.ts.map +1 -0
- package/offline/read-resource.js +156 -0
- package/offline/read.d.ts +50 -0
- package/offline/read.d.ts.map +1 -0
- package/offline/read.js +65 -0
- package/offline/region.d.ts +29 -0
- package/offline/region.d.ts.map +1 -0
- package/offline/region.js +1007 -0
- package/offline/replay-conflict.d.ts +183 -0
- package/offline/replay-conflict.d.ts.map +1 -0
- package/offline/replay-conflict.js +482 -0
- package/offline/selection.d.ts +140 -0
- package/offline/selection.d.ts.map +1 -0
- package/offline/selection.js +391 -0
- package/offline/snapshot.d.ts +132 -0
- package/offline/snapshot.d.ts.map +1 -0
- package/offline/snapshot.js +312 -0
- package/offline/status.d.ts +136 -0
- package/offline/status.d.ts.map +1 -0
- package/offline/status.js +479 -0
- package/offline/store-conformance.d.ts +48 -0
- package/offline/store-conformance.d.ts.map +1 -0
- package/offline/store-conformance.js +233 -0
- package/offline/tile-protocol.d.ts +81 -0
- package/offline/tile-protocol.d.ts.map +1 -0
- package/offline/tile-protocol.js +119 -0
- package/offline/types.d.ts +349 -0
- package/offline/types.d.ts.map +1 -0
- package/offline/types.js +75 -0
- package/package.json +14 -2
- package/scene-workspace/index.d.ts +2 -2
- package/scene-workspace/index.d.ts.map +1 -1
- package/scene-workspace/index.js +1 -1
- package/scene-workspace/scene-discovery.d.ts +111 -91
- package/scene-workspace/scene-discovery.d.ts.map +1 -1
- package/scene-workspace/scene-discovery.js +340 -92
- package/scene-workspace/scene-view.d.ts +6 -6
- package/scene-workspace/scene-view.d.ts.map +1 -1
- package/scene-workspace/scene-view.js +32 -6
- package/web-components/elements.d.ts +34 -0
- package/web-components/elements.d.ts.map +1 -1
- package/web-components/elements.js +82 -8
- package/web-components/index.d.ts +2 -0
- package/web-components/index.d.ts.map +1 -1
- package/web-components/index.js +3 -1
- package/web-components/map-chrome.d.ts +103 -0
- package/web-components/map-chrome.d.ts.map +1 -0
- package/web-components/map-chrome.js +325 -0
- package/web-components/widget-shell.d.ts +68 -0
- package/web-components/widget-shell.d.ts.map +1 -0
- package/web-components/widget-shell.js +224 -0
- package/widget-capabilities.d.ts +67 -0
- package/widget-capabilities.js +152 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/offline/index.ts"],"names":[],"mappings":"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"}
|
package/offline/index.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Storage-neutral contracts for bounded, downloadable offline regions.
|
|
3
|
+
*
|
|
4
|
+
* This experimental entrypoint provides an IndexedDB adapter for browser
|
|
5
|
+
* persistence and a storage-backed fetch handler for service-worker or fetch
|
|
6
|
+
* integrations. Applications inject request matching, resource loading, and
|
|
7
|
+
* network policy; the SDK owns deterministic manifest identity, credential
|
|
8
|
+
* projection, cache diagnostics, quota admission against the origin's real
|
|
9
|
+
* storage estimate, integrity checks, cancellation, progress semantics, durable
|
|
10
|
+
* edit-queue state, and the composed local-first status that names one honest
|
|
11
|
+
* state across cached reads and undelivered writes. Applications still own
|
|
12
|
+
* connectivity policy, persistence requests, and edit replay transport binding.
|
|
13
|
+
*
|
|
14
|
+
* @experimental
|
|
15
|
+
*/
|
|
16
|
+
export { createOfflineRegionDiagnostic, createOfflineRegionManifest, downloadOfflineRegion, planOfflineRegionAdmission, verifyOfflineRegionManifest, } from "./region.js";
|
|
17
|
+
export { canonicalizeOfflineRegionQuery, compareOfflineRegionBounds, isWgs84LonLatCrs, normalizeOfflineRegionTileKey, OFFLINE_REGION_DEFAULT_TILE_MATRIX_SET, OFFLINE_REGION_MAX_TILE_ZOOM, OFFLINE_REGION_PROTOCOL, offlineRegionAssetSelector, offlineRegionAuthorizationScopeDigest, offlineRegionMetadataSelector, offlineRegionQueryFingerprint, offlineRegionResourceId, offlineRegionTileEnvelope, offlineRegionTileSelector, } from "./selection.js";
|
|
18
|
+
export { createOfflineRegionFeatureBatch, createOfflineRegionSnapshotLoader, decodeOfflineRegionFeatureBatch, DEFAULT_OFFLINE_REGION_SNAPSHOT_MAX_CONTENTS, encodeOfflineRegionFeatureBatch, HONUA_OFFLINE_FEATURE_BATCH_KIND, HONUA_OFFLINE_FEATURE_BATCH_VERSION, HONUA_OFFLINE_REGION_SNAPSHOT_KIND, HONUA_OFFLINE_REGION_SNAPSHOT_VERSION, planOfflineRegionSnapshot, } from "./snapshot.js";
|
|
19
|
+
export { createOfflineRegionQueryPlanCache, DEFAULT_OFFLINE_REGION_READ_STALE_AFTER_MS, HONUA_OFFLINE_REGION_READ_KIND, HONUA_OFFLINE_REGION_READ_VERSION, } from "./read-gate.js";
|
|
20
|
+
export { readOfflineRegionQuery } from "./read.js";
|
|
21
|
+
export { readOfflineRegionAsset, readOfflineRegionMetadata, readOfflineRegionResource, readOfflineRegionTile, resolveOfflineRegionResourceId, } from "./read-resource.js";
|
|
22
|
+
export { buildOfflineRegionTileUrlTemplate, createOfflineRegionTileProtocol, OFFLINE_REGION_TILE_SCHEME, parseOfflineRegionTileUrl, registerOfflineRegionTileProtocol, } from "./tile-protocol.js";
|
|
23
|
+
export { createMemoryOfflineRegionStore, MemoryOfflineRegionStore } from "./memory-store.js";
|
|
24
|
+
export { HONUA_OFFLINE_REGION_STORE_CONFORMANCE_KIND, HONUA_OFFLINE_REGION_STORE_CONFORMANCE_VERSION, OFFLINE_REGION_STORE_CONFORMANCE_CASES, runOfflineRegionStoreConformance, } from "./store-conformance.js";
|
|
25
|
+
export { applyOfflineRegionSchemaMigration, createIndexedDbOfflineRegionStore, HONUA_OFFLINE_REGION_SCHEMA_VERSION, HONUA_OFFLINE_REGION_STORE_RECOVERY_KIND, HONUA_OFFLINE_REGION_STORE_RECOVERY_VERSION, IndexedDbOfflineRegionStore, OFFLINE_REGION_SCHEMA_MIGRATIONS, planOfflineRegionSchemaMigration, readableOfflineRegionSchemaVersions, } from "./indexeddb.js";
|
|
26
|
+
export { DEFAULT_OFFLINE_STORAGE_HEADROOM_RATIO, DEFAULT_OFFLINE_STORAGE_MIN_RESERVE_BYTES, HONUA_OFFLINE_STORAGE_BUDGET_KIND, HONUA_OFFLINE_STORAGE_BUDGET_VERSION, HONUA_OFFLINE_STORAGE_PERSISTENCE_KIND, HONUA_OFFLINE_STORAGE_PERSISTENCE_VERSION, isStorageQuotaPressureError, probeOfflineStorageBudget, requestOfflinePersistentStorage, } from "./quota.js";
|
|
27
|
+
export { createOfflineRegionFetchHandler } from "./fetch-handler.js";
|
|
28
|
+
export { createIndexedDbOfflineEditQueue, createMemoryOfflineEditQueue, IndexedDbOfflineEditQueue, MemoryOfflineEditQueue, } from "./edit-queue.js";
|
|
29
|
+
export { HONUA_OFFLINE_EDIT_REPLAY_VERSION, replayOfflineEditPass } from "./edit-replay.js";
|
|
30
|
+
export { classifyOfflineReplayConflictPolicy, HONUA_OFFLINE_CONFLICT_RESOLUTION_KIND, HONUA_OFFLINE_CONFLICT_RESOLUTION_VERSION, HonuaOfflineConflictAdjudicationError, isHonuaOfflineConflictAdjudicationError, OFFLINE_REPLAY_CONFLICT_POLICIES, recordOfflineConflictResolution, } from "./conflict-resolution.js";
|
|
31
|
+
export { HONUA_OFFLINE_REPLAY_SYNC_CONFLICT_KIND, HONUA_OFFLINE_REPLAY_SYNC_CONFLICT_VERSION, OFFLINE_REPLAY_SYNC_CONFLICT_FIELD_MAP, projectOfflineReplaySyncConflict, } from "./replay-conflict.js";
|
|
32
|
+
export { createLocalFirstStatus, DEFAULT_LOCAL_FIRST_MAX_EDITS, DEFAULT_LOCAL_FIRST_MAX_LISTED_EDIT_IDS, DEFAULT_LOCAL_FIRST_MAX_REGIONS, HONUA_LOCAL_FIRST_STATUS_KIND, HONUA_LOCAL_FIRST_STATUS_VERSION, } from "./status.js";
|
|
33
|
+
export { DEFAULT_OFFLINE_EDIT_QUEUE_MAX_AUDIT_EVENTS, DEFAULT_OFFLINE_EDIT_QUEUE_MAX_DEPENDENCIES, DEFAULT_OFFLINE_EDIT_QUEUE_MAX_EDITS, DEFAULT_OFFLINE_EDIT_QUEUE_MAX_PAYLOAD_BYTES, DEFAULT_OFFLINE_EDIT_QUEUE_MAX_RECOVERY_BYTES, DEFAULT_OFFLINE_EDIT_QUEUE_MAX_RECOVERY_RECORDS, HONUA_OFFLINE_EDIT_QUEUE_RECOVERY_KIND, HONUA_OFFLINE_EDIT_QUEUE_RECOVERY_VERSION, HONUA_OFFLINE_EDIT_QUEUE_VERSION, HonuaOfflineEditQueueError, inspectStoredOfflineEdit, inspectStoredOfflineEditMetadata, inspectStoredOfflineEditTombstone, MAX_OFFLINE_EDIT_LEASE_DURATION_MS, planOfflineEditQueueRecovery, } from "./edit-queue.js";
|
|
34
|
+
export { DEFAULT_OFFLINE_REGION_MAX_ATTRIBUTIONS, DEFAULT_OFFLINE_REGION_MAX_LOGICAL_BYTES, DEFAULT_OFFLINE_REGION_MAX_METADATA_ENTRIES, DEFAULT_OFFLINE_REGION_MAX_RESOURCES, DEFAULT_OFFLINE_REGION_MAX_STRING_BYTES, HONUA_OFFLINE_REGION_DIAGNOSTIC_KIND, HONUA_OFFLINE_REGION_DIAGNOSTIC_VERSION, HONUA_OFFLINE_REGION_KIND, HONUA_OFFLINE_REGION_VERSION, HonuaOfflineRegionError, } from "./types.js";
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { HonuaOfflineRegionError, type OfflineRegionCacheAdmin, type OfflineRegionCacheInventory, type OfflineRegionResourceRead, type OfflineRegionStore, type OfflineRegionWriteTransaction } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Persisted record-layout version written into {@link SCHEMA_STORE} and, since
|
|
4
|
+
* issue #1046, read back on every open.
|
|
5
|
+
*
|
|
6
|
+
* It is not the IndexedDB database version. The database version governs object
|
|
7
|
+
* stores and indexes; this one governs the shape of the values inside them, and
|
|
8
|
+
* it is the input to the forward migration ladder below.
|
|
9
|
+
*/
|
|
10
|
+
export declare const HONUA_OFFLINE_REGION_SCHEMA_VERSION: 3;
|
|
11
|
+
/**
|
|
12
|
+
* One ordered step of the persisted region-record ladder.
|
|
13
|
+
*
|
|
14
|
+
* A step is a pure structural rewrite of one stored record. It receives only
|
|
15
|
+
* the record — never a caller's options, never the store — so a migration can
|
|
16
|
+
* neither widen a bound nor reach the network, and it must return a record
|
|
17
|
+
* carrying `toVersion`'s layout.
|
|
18
|
+
*/
|
|
19
|
+
export interface OfflineRegionSchemaMigrationV1 {
|
|
20
|
+
readonly fromVersion: number;
|
|
21
|
+
readonly toVersion: number;
|
|
22
|
+
readonly migrate: (record: Readonly<Record<string, unknown>>) => Record<string, unknown>;
|
|
23
|
+
}
|
|
24
|
+
/** Why a stored schema version cannot be carried to this build's layout. */
|
|
25
|
+
export type OfflineRegionSchemaMigrationRefusal = "unknown-version" | "future-version" | "unreachable-version";
|
|
26
|
+
export type OfflineRegionSchemaMigrationPlanV1 = {
|
|
27
|
+
readonly applicable: true;
|
|
28
|
+
/** `from->to` labels, oldest first; empty when the store is already current. */
|
|
29
|
+
readonly steps: readonly string[];
|
|
30
|
+
readonly migrations: readonly OfflineRegionSchemaMigrationV1[];
|
|
31
|
+
} | {
|
|
32
|
+
readonly applicable: false;
|
|
33
|
+
readonly reason: OfflineRegionSchemaMigrationRefusal;
|
|
34
|
+
readonly detail: string;
|
|
35
|
+
};
|
|
36
|
+
/** Stable discriminator and version for region-store recovery reports. */
|
|
37
|
+
export declare const HONUA_OFFLINE_REGION_STORE_RECOVERY_KIND: "honua.offline-region-store-recovery";
|
|
38
|
+
export declare const HONUA_OFFLINE_REGION_STORE_RECOVERY_VERSION: 1;
|
|
39
|
+
/**
|
|
40
|
+
* Payload-free account of one store open.
|
|
41
|
+
*
|
|
42
|
+
* Corrupt-record discards and schema-version refusals are separate counts on
|
|
43
|
+
* purpose: the first is damage this build can prove and repair, the second is a
|
|
44
|
+
* layout it declines to guess at. Conflating them is how an application learns
|
|
45
|
+
* its expensive cached bytes are gone only by noticing they are missing.
|
|
46
|
+
*/
|
|
47
|
+
export interface OfflineRegionStoreRecoveryV1 {
|
|
48
|
+
readonly kind: typeof HONUA_OFFLINE_REGION_STORE_RECOVERY_KIND;
|
|
49
|
+
readonly version: typeof HONUA_OFFLINE_REGION_STORE_RECOVERY_VERSION;
|
|
50
|
+
readonly outcome: "ready" | "unreadable";
|
|
51
|
+
readonly storedSchemaVersion: number;
|
|
52
|
+
readonly expectedSchemaVersion: number;
|
|
53
|
+
readonly appliedMigrations: readonly string[];
|
|
54
|
+
readonly migratedRegions: number;
|
|
55
|
+
/** Records this build proved unusable and removed. */
|
|
56
|
+
readonly discardedCorruptRecords: number;
|
|
57
|
+
/** Regions left untouched because their schema version has no migration path. */
|
|
58
|
+
readonly unsupportedRegions: number;
|
|
59
|
+
/** Present only when `outcome` is `unreadable`. */
|
|
60
|
+
readonly error?: HonuaOfflineRegionError;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Ordered forward migration ladder for persisted region records, oldest first.
|
|
64
|
+
*
|
|
65
|
+
* Schema 2 and schema 3 describe the same `RegionRecord` layout — database
|
|
66
|
+
* version 3 changed only the staging rows, which
|
|
67
|
+
* {@link migrateLegacyStaging} already backfills — so this step is deliberately
|
|
68
|
+
* the identity on region records. It exists because the machinery has to be
|
|
69
|
+
* real and exercised before the first layout change, not written under the
|
|
70
|
+
* pressure of one: the ladder, its bounds, its identity invariants, and its
|
|
71
|
+
* fail-closed refusal are all proven by a step that provably changes nothing.
|
|
72
|
+
*/
|
|
73
|
+
export declare const OFFLINE_REGION_SCHEMA_MIGRATIONS: readonly OfflineRegionSchemaMigrationV1[];
|
|
74
|
+
export interface IndexedDbOfflineRegionStoreOptions {
|
|
75
|
+
/** Defaults to `honua-offline-regions`. Names are origin-scoped by IndexedDB. */
|
|
76
|
+
readonly name?: string;
|
|
77
|
+
/** Injectable for browser tests and hosts with an alternate IndexedDB factory. */
|
|
78
|
+
readonly indexedDB?: IDBFactory;
|
|
79
|
+
/** Maximum age of abandoned staged resources before a new store reclaims them. */
|
|
80
|
+
readonly stagingMaxAgeMs?: number;
|
|
81
|
+
/** Ladder applied to persisted region records on open. Defaults to {@link OFFLINE_REGION_SCHEMA_MIGRATIONS}. */
|
|
82
|
+
readonly migrations?: readonly OfflineRegionSchemaMigrationV1[];
|
|
83
|
+
/** Receives the schema and recovery outcome of every open. Must not throw. */
|
|
84
|
+
readonly onRecovery?: (report: OfflineRegionStoreRecoveryV1) => void;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Persistent browser store for the storage-neutral downloadable-region contract.
|
|
88
|
+
*
|
|
89
|
+
* Each commit uses one read/write IndexedDB transaction over inventory, region
|
|
90
|
+
* metadata, and resource bytes. The inventory revision is checked inside that
|
|
91
|
+
* transaction, so two concurrent downloads cannot both commit an admission plan
|
|
92
|
+
* calculated from the same inventory. Credentials and request URLs are never
|
|
93
|
+
* introduced by this adapter; callers provide only the already-normalized
|
|
94
|
+
* manifest and resource bytes.
|
|
95
|
+
*
|
|
96
|
+
* That is enforced rather than assumed. `beginWrite`, `write`, and `commit` are
|
|
97
|
+
* public exports, so each re-screens the identities it is about to persist and
|
|
98
|
+
* `commit` re-checks the whole manifest. A caller that bypasses
|
|
99
|
+
* `downloadOfflineRegion` cannot persist a credential-bearing endpoint, region
|
|
100
|
+
* id, or resource id.
|
|
101
|
+
*/
|
|
102
|
+
export declare class IndexedDbOfflineRegionStore implements OfflineRegionStore, OfflineRegionCacheAdmin {
|
|
103
|
+
#private;
|
|
104
|
+
constructor(options?: IndexedDbOfflineRegionStoreOptions);
|
|
105
|
+
inventory(): Promise<OfflineRegionCacheInventory>;
|
|
106
|
+
readResource(regionId: string, resourceId: string): Promise<OfflineRegionResourceRead | undefined>;
|
|
107
|
+
removeRegion(regionId: string): Promise<boolean>;
|
|
108
|
+
setRegionPinned(regionId: string, pinned: boolean): Promise<boolean>;
|
|
109
|
+
pruneExpired(now?: Date): Promise<readonly string[]>;
|
|
110
|
+
beginWrite(regionId: string): Promise<OfflineRegionWriteTransaction>;
|
|
111
|
+
}
|
|
112
|
+
export declare function createIndexedDbOfflineRegionStore(options?: IndexedDbOfflineRegionStoreOptions): IndexedDbOfflineRegionStore;
|
|
113
|
+
/**
|
|
114
|
+
* Resolve the ordered steps that carry `version` forward to `targetVersion`.
|
|
115
|
+
*
|
|
116
|
+
* Exported because a host needs to answer "can this store still be read?"
|
|
117
|
+
* without opening it, and because the unreachable case — a ladder whose chain
|
|
118
|
+
* dead-ends before the target — has to be provable rather than assumed. The
|
|
119
|
+
* walk is bounded and cycle-safe: at most {@link MAX_SCHEMA_MIGRATION_STEPS}
|
|
120
|
+
* steps, and no version is visited twice.
|
|
121
|
+
*/
|
|
122
|
+
export declare function planOfflineRegionSchemaMigration(version: unknown, migrations?: readonly OfflineRegionSchemaMigrationV1[], targetVersion?: number): OfflineRegionSchemaMigrationPlanV1;
|
|
123
|
+
/** Report which persisted schema versions this build can still read. */
|
|
124
|
+
export declare function readableOfflineRegionSchemaVersions(migrations?: readonly OfflineRegionSchemaMigrationV1[]): readonly number[];
|
|
125
|
+
/**
|
|
126
|
+
* Carry one persisted region record through an ordered chain of steps.
|
|
127
|
+
*
|
|
128
|
+
* Each step sees only a frozen copy of the record — never the store, never a
|
|
129
|
+
* caller's options — and its output is checked before the next step runs, so a
|
|
130
|
+
* migration that rewrites an identity fails the record instead of quietly
|
|
131
|
+
* repartitioning it. Exported so a host can rehearse a ladder against a record
|
|
132
|
+
* without an IndexedDB transaction.
|
|
133
|
+
*/
|
|
134
|
+
export declare function applyOfflineRegionSchemaMigration(record: Readonly<Record<string, unknown>>, steps: readonly OfflineRegionSchemaMigrationV1[]): Record<string, unknown>;
|
|
135
|
+
//# sourceMappingURL=indexeddb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexeddb.d.ts","sourceRoot":"","sources":["../../../src/offline/indexeddb.ts"],"names":[],"mappings":"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"}
|