@econ-v1/ports 7.6.100 → 7.6.103

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.
@@ -24,12 +24,16 @@ export type StageAssetCandidate = {
24
24
  readonly manifestSha256: string;
25
25
  readonly version: string;
26
26
  };
27
+ /**
28
+ * `prioritize(appName)` moves that app's queued candidate download ahead of the others, because someone is opening the stage. Optional: an adapter without a queue has nothing to reorder.
29
+ */
27
30
  export type VerifiedStageAssetPort = {
28
31
  prepareCandidate(entry: StageCatalogEntry, catalogRevision: string): Promise<StageAssetCandidate>;
29
32
  validateCandidate(candidate: StageAssetCandidate, manifest: StageManifest): Promise<void>;
30
33
  discardCandidate(candidate: StageAssetCandidate): Promise<void>;
31
34
  deleteUnreferenced(keepAssetRevisions: readonly string[]): Promise<void>;
32
35
  reclaimNonessential(): Promise<boolean>;
36
+ prioritize?(appName: string): void;
33
37
  };
34
38
  export type OfflineStorageEstimatePort = {
35
39
  estimate(): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"offline-readiness.d.ts","sourceRoot":"","sources":["../src/offline-readiness.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"offline-readiness.d.ts","sourceRoot":"","sources":["../src/offline-readiness.js"],"names":[],"mappings":"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"}
@@ -94,9 +94,16 @@ export type OfflineReadinessResetPort = {
94
94
  * reset control, evicted, or otherwise — and the browser then fires no further `install`, which
95
95
  * is the only path that fills it. Without an on-demand repair the shell has no offline layer for
96
96
  * the rest of that registration's life and the user's only exit is clearing all site data.
97
+ *
98
+ * `awaitControl(timeoutMs)` resolves `true` once a worker controls the page, or `false` when
99
+ * none has within `timeoutMs`. A brand-new browser opens the shell while its worker is still
100
+ * installing (it downloads and hashes the whole shell first), so a stage opened in that window
101
+ * fails only because control has not arrived yet; waiting for it is the cure, not a cache reset.
102
+ * Optional: a composition without it keeps the immediate cache-reset card.
97
103
  */
98
104
  export type ShellWorkerControlPort = {
99
105
  isControlled(): boolean;
106
+ awaitControl?(timeoutMs: number): Promise<boolean>;
100
107
  activateWaitingUpdate(): Promise<boolean>;
101
108
  repairCache(): Promise<ShellRepairReport | undefined>;
102
109
  };
@@ -1 +1 @@
1
- {"version":3,"file":"shell-cache-reset.d.ts","sourceRoot":"","sources":["../src/shell-cache-reset.js"],"names":[],"mappings":"8BACc,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS;+BACpE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;gCACxC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;kCAC1E;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,gBAAgB,CAAC;IAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE,QAAQ,GAAG,YAAY,GAAG,kBAAkB,GAAG,eAAe,GAAG,YAAY,GAAG,YAAY,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE;;;;kCAE7Q;IAAE,KAAK,IAAI,IAAI,CAAC;IAAC,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CAAE;;;;;;;;;;;;;;;;;wCAgBlK;IAAE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAsD1B;IACR,YAAY,IAAI,OAAO,CAAC;IACxB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,WAAW,IAAI,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;CACvD;;;;gCAIS;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE"}
1
+ {"version":3,"file":"shell-cache-reset.d.ts","sourceRoot":"","sources":["../src/shell-cache-reset.js"],"names":[],"mappings":"8BACc,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS;+BACpE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;gCACxC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;kCAC1E;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,gBAAgB,CAAC;IAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE,QAAQ,GAAG,YAAY,GAAG,kBAAkB,GAAG,eAAe,GAAG,YAAY,GAAG,YAAY,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE;;;;kCAE7Q;IAAE,KAAK,IAAI,IAAI,CAAC;IAAC,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CAAE;;;;;;;;;;;;;;;;;wCAgBlK;IAAE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCA4D1B;IACR,YAAY,IAAI,OAAO,CAAC;IACxB,YAAY,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,WAAW,IAAI,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;CACvD;;;;gCAIS;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@econ-v1/ports",
3
- "version": "7.6.100",
3
+ "version": "7.6.103",
4
4
  "description": "Platform-neutral ports for Node client applications",
5
5
  "license": "MIT OR Apache-2.0",
6
6
  "author": "Node contributors",
@@ -10,7 +10,8 @@
10
10
  /** @typedef {"asset-fetch-failed" | "asset-integrity-failed" | "node-unreachable" | "projection-seed-failed" | "schema-incompatible" | "quota-exceeded" | "identity-mismatch" | "active-resource-corrupt" | "active-resource-evicted"} OfflineReadinessFailureCode */
11
11
  /** @typedef {{ readonly appName: string, readonly activeManifestSha256?: string, readonly candidateManifestSha256?: string, readonly failureCode?: OfflineReadinessFailureCode, readonly savedAt?: string, readonly state: OfflineStageState, readonly updatedAt: string }} OfflineStageReadiness */
12
12
  /** @typedef {{ readonly assetRevision: string, readonly appName: string, readonly entryUrl: string, readonly manifestSha256: string, readonly version: string }} StageAssetCandidate */
13
- /** @typedef {{ prepareCandidate(entry: StageCatalogEntry, catalogRevision: string): Promise<StageAssetCandidate>, validateCandidate(candidate: StageAssetCandidate, manifest: StageManifest): Promise<void>, discardCandidate(candidate: StageAssetCandidate): Promise<void>, deleteUnreferenced(keepAssetRevisions: readonly string[]): Promise<void>, reclaimNonessential(): Promise<boolean> }} VerifiedStageAssetPort */
13
+ /** `prioritize(appName)` moves that app's queued candidate download ahead of the others, because someone is opening the stage. Optional: an adapter without a queue has nothing to reorder.
14
+ * @typedef {{ prepareCandidate(entry: StageCatalogEntry, catalogRevision: string): Promise<StageAssetCandidate>, validateCandidate(candidate: StageAssetCandidate, manifest: StageManifest): Promise<void>, discardCandidate(candidate: StageAssetCandidate): Promise<void>, deleteUnreferenced(keepAssetRevisions: readonly string[]): Promise<void>, reclaimNonessential(): Promise<boolean>, prioritize?(appName: string): void }} VerifiedStageAssetPort */
14
15
  /** @typedef {{ estimate(): Promise<{ readonly quota?: number, readonly usage?: number }> }} OfflineStorageEstimatePort */
15
16
 
16
17
  /** @typedef {{ readonly appName: string, readonly candidateManifestSha256: string, readonly sourceRevision: string, readonly state: "caching-assets" | "update-available", readonly updatedAt: string }} OfflineStagePreparationRecord */
@@ -74,8 +74,15 @@
74
74
  * is the only path that fills it. Without an on-demand repair the shell has no offline layer for
75
75
  * the rest of that registration's life and the user's only exit is clearing all site data.
76
76
  *
77
+ * `awaitControl(timeoutMs)` resolves `true` once a worker controls the page, or `false` when
78
+ * none has within `timeoutMs`. A brand-new browser opens the shell while its worker is still
79
+ * installing (it downloads and hashes the whole shell first), so a stage opened in that window
80
+ * fails only because control has not arrived yet; waiting for it is the cure, not a cache reset.
81
+ * Optional: a composition without it keeps the immediate cache-reset card.
82
+ *
77
83
  * @typedef {{
78
84
  * isControlled(): boolean,
85
+ * awaitControl?(timeoutMs: number): Promise<boolean>,
79
86
  * activateWaitingUpdate(): Promise<boolean>,
80
87
  * repairCache(): Promise<ShellRepairReport | undefined>,
81
88
  * }} ShellWorkerControlPort